US2012281704A1PendingUtilityA1

Methods and apparatus for isochronous data delivery within a network

44
Assignee: BUTTERWORTH ASHLEY IPriority: May 2, 2011Filed: May 2, 2011Published: Nov 8, 2012
Est. expiryMay 2, 2031(~4.8 yrs left)· nominal 20-yr term from priority
H04L 47/564H04L 47/521H04L 49/9068H04L 47/568H04L 45/10H04J 3/16
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and apparatus for efficiently servicing isochronous streams (such as media data streams) associated with a network. In one embodiment, an Isochronous Cycle Manager (ICM), receives multiple independent streams of packets that include isochronous packets arriving according to different time bases (e.g., where each stream has a different time base). The packets are sorted by the ICM into a buffering mechanism according to their required presentation time. Additionally the ICM calculates a launch time for each packet. The NIC transmits the packets from the queue according to an access scheme, such as a time division multiplexed (TDM) scheme where each of a plurality of cycles is subdivided into time slots. During appropriate time slots, the NIC transmits the packets in chronological order, as read out of the buffering mechanism.

Claims

exact text as granted — not AI-modified
1 . A method of managing a plurality of isochronous processes, the method comprising:
 receiving multiple isochronous data streams, each isochronous data stream comprising a plurality of isochronous data packets, each packet having a presentation time associated therewith;   sorting each isochronous data packet according to the presentation time;   calculating a launch time for each isochronous data packet of the multiple isochronous data streams; and   transmitting the isochronous data packets according to the launch time.   
     
     
         2 . The method of  claim 1 , additionally comprising:
 receiving asynchronous data packets; and   transmitting the asynchronous data packets.   
     
     
         3 . The method of  claim 2 , additionally comprising sorting the asynchronous data packets with the isochronous data packets. 
     
     
         4 . The method of  claim 2 , wherein a first portion of transmission bandwidth is reserved for isochronous data packets, and a second portion of transmission bandwidth is reserved for asynchronous data packets. 
     
     
         5 . The method of  claim 1 , wherein the act of sorting comprises storing the isochronous data packets in a ring buffer according to presentation time. 
     
     
         6 . The method of  claim 1 , wherein at least one of the multiple isochronous data streams comprises video data. 
     
     
         7 . The method of  claim 6 , wherein at least one of the multiple isochronous data streams comprises audio data. 
     
     
         8 . The method of  claim 1 , wherein at least one of the multiple isochronous data streams has a time base that differs from a master time base. 
     
     
         9 . The method of  claim 8 , wherein the act of calculating comprises adjusting the launch time of the isochronous data packets according to the master time base. 
     
     
         10 . A method of reconstructing a plurality of isochronous processes, the method comprising:
 receiving one or more unreserved time slots of packet data, the one or more unreserved time slots comprising a plurality of packets transmitted in chronological order, at least one of the plurality of packets having a presentation time associated therewith;   extracting the at least one packet; and   presenting the at least one packet at the associated presentation time.   
     
     
         11 . The method of  claim 10 , wherein the at least one packet comprises an isochronous data packet. 
     
     
         12 . The method of  claim 10 , where at least one other packet of the plurality of packets comprises an asynchronous data packet. 
     
     
         13 . The method of  claim 10 , wherein only a subset of the plurality of packets have a presentation time associated therewith. 
     
     
         14 . The method of  claim 13 , additionally comprising storing the subset of the plurality of packets in order of arrival into a First-In-First-Out buffer. 
     
     
         15 . The method of  claim 10 , wherein the at least one packet comprises video data. 
     
     
         16 . The method of  claim 10 , wherein the at least one packet comprises one or more subpackets of data. 
     
     
         17 . The method of  claim 16 , wherein the one or more subpackets of data comprise a video subpacket and an audio subpacket. 
     
     
         18 . A network interface apparatus, comprising:
 a transmission queue configured to transmit a plurality of slots of data at a designated time;   a data interface configured to receive a plurality of isochronous data streams, the plurality of isochronous data streams comprising one or more different time references;   a network interface clock, the network interface clock configured to generate a designated time reference; and   at least one controller configured to:
 extract one or more data packets from the plurality of isochronous data streams; 
 sort the one or more data packets based at least in part on a presentation time; 
 calculate a launch time for each of the one or more data packets; and 
 transmit the slots of data at the calculated launch time. 
   
     
     
         19 . The network interface apparatus of  claim 18 , wherein the determined launch time is based at least in part on a difference between the one or more different time references and the designated time reference. 
     
     
         20 . The network interface apparatus of  claim 18 , additionally comprising assigning the sorted one or more data packets to a slot of data. 
     
     
         21 . A method of processing isochronous data streams, the method comprising:
 receiving multiple isochronous data streams, each isochronous data stream comprising a plurality of isochronous data packets;   determining a sorting criterion for the multiple isochronous data streams;   sorting at least a portion of the isochronous data packets in each stream according to the determined sorting criterion to produce a sorted order of data packets; and   transmitting the isochronous data packets according to the sorted order.   
     
     
         22 . The method of  claim 21 , additionally comprising:
 receiving asynchronous data packets;   sorting the asynchronous data packets with the isochronous data packets according to at least one of (i) the sorting criterion; and/or (ii) a second sorting criterion, to produce a sorted order of asynchronous packets; and   transmitting the sorted order of asynchronous data packets.   
     
     
         23 . The method of  claim 21 , wherein the sorting criterion is at least temporally based. 
     
     
         24 . The method of  claim 21 , wherein the sorting criterion is based at least in part on a priority. 
     
     
         25 . The method of  claim 21 , wherein at least one of the multiple isochronous data streams comprises both video and audio data.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.