Media flow method for transferring real-time data between asynchronous and synchronous networks
First Claim
Patent Images
1. A method for transmitting data between two systems, comprising the steps of:
- reading a time indication including reading a timestamp value from a predetermined field from received data packets that include a plurality of data samples each assigned to different predetermined channel;
checking a status value of each predetermined channel of the received data packet;
if the status value of the predetermined channel is active,generating a jitter buffer address from a jitter buffer size, the predetermined channel, and the time indication, calculating a jitter buffer offset value by multiplying the channel by a jitter buffer size andcopying the data sample of the predetermined channel from the received packet to the generated jitter buffer address; and
periodically reading a plurality of data samples from the jitter buffer corresponding to a predetermined sequence of channels and writing said plurality of data samples to at least one synchronous buffer wherein the jitter buffer is a circular buffer.
4 Assignments
0 Petitions
Accused Products
Abstract
A system for transmitting real-time data between an asynchronous network (104) and a synchronous network (106) is disclosed. A method (100) may include an ingress path (102) for transmitting data from an asynchronous system (104) to a synchronous system (106), and an egress path (108) for transmitting data from a synchronous system (106) to an asynchronous system (104). An ingress path (102) may include a packet receiver (110) and write to synchronous system (112) steps. An egress path (108) may include read from synchronous system (114), packetizer (116), and packet transmitter (118) steps.
83 Citations
25 Claims
-
1. A method for transmitting data between two systems, comprising the steps of:
-
reading a time indication including reading a timestamp value from a predetermined field from received data packets that include a plurality of data samples each assigned to different predetermined channel; checking a status value of each predetermined channel of the received data packet; if the status value of the predetermined channel is active, generating a jitter buffer address from a jitter buffer size, the predetermined channel, and the time indication, calculating a jitter buffer offset value by multiplying the channel by a jitter buffer size and copying the data sample of the predetermined channel from the received packet to the generated jitter buffer address; and periodically reading a plurality of data samples from the jitter buffer corresponding to a predetermined sequence of channels and writing said plurality of data samples to at least one synchronous buffer wherein the jitter buffer is a circular buffer. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for transmitting data between two systems, comprising the steps of:
-
receiving data from a first system that includes a plurality of data samples each assigned to a channel value corresponding to a predetermined time slot; reading a time indication associated with a first system; generating an offset value from the time indication; periodically, for each channel generating a packet buffer address from at least a buffer size value and the offset value, and for a valid data sample, writing the data assigned to the predetermined time slot to the packet buffer address; checking the status of a plurality of bins that each include a number of channel values; if a bin has a ready status organizing the data samples corresponding to the channel values of the bin into a sequential order, and reading the data samples for the channels of a bin according to the sequential order. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of transmitting multiple channel data between an asynchronous system and a synchronous system, comprising the steps of:
-
a) upon receiving a packet of data from the asynchronous system determining if the packet of data includes data samples for multiple channels, if a packet includes data samples for multiple channels determining a channel value for each data sample, and if the channel value is valid, storing the data sample for the channel according to at least the channel value and a time indication associated with the packet of data; b) periodically checking status values for a sequence of channels, and if a status value for a channel is valid, writing the stored data sample for the channel to at least one buffer according to at least the channel value; c) periodically storing out-going channel data samples from the synchronous system according to at least a local time indication; d) periodically checking the status of bins that represent collections of channels for out-going channels, and for bins having a ready status, queuing out-going channel data for the bin according to channel status information; and e) periodically transmitting queued out-going channel data. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification