Methods and systems for distributing multimedia data over heterogeneous networks
First Claim
1. In a network system that includes a multimedia source and a multimedia sink, the multimedia source transmitting a stream of multimedia packets to the multimedia sink over a plurality of heterogeneous networks, the heterogeneous networks including a plurality of variable delay networks, a method of performing constant delay communication of the stream of multimedia packets from the multimedia source over the heterogeneous networks to the multimedia sink even though one or more of the variable delay networks do not themselves provide for a common reckoning of time in the variable delay network, the method comprising the following:
- establishing a common time reckoning in all of the variable delay networks that do not themselves provide for a common time reckoning;
emulating the plurality of variable delay networks as one or more constant delay networks using the specific common time reckonings present in the plurality of variable delay networks, wherein the heterogeneous networks as a whole emulates a constant delay network; and
transmitting a multimedia packet over the heterogeneous networks.
3 Assignments
0 Petitions
Accused Products
Abstract
Real-time communication of multimedia data over heterogeneous networks that may include constant delay networks, variable delay networks that have a common reckoning of time, and variable delay networks that do not have a common reckoning of time. If there are any variable delay networks in which there is no common reckoning of time in the heterogeneous networks, a common reckoning of time is established in each of those networks. Then, a constant delay network is emulated for each variable delay network using the specific common time reckoning present in each variable delay network.
154 Citations
19 Claims
-
1. In a network system that includes a multimedia source and a multimedia sink, the multimedia source transmitting a stream of multimedia packets to the multimedia sink over a plurality of heterogeneous networks, the heterogeneous networks including a plurality of variable delay networks, a method of performing constant delay communication of the stream of multimedia packets from the multimedia source over the heterogeneous networks to the multimedia sink even though one or more of the variable delay networks do not themselves provide for a common reckoning of time in the variable delay network, the method comprising the following:
-
establishing a common time reckoning in all of the variable delay networks that do not themselves provide for a common time reckoning;
emulating the plurality of variable delay networks as one or more constant delay networks using the specific common time reckonings present in the plurality of variable delay networks, wherein the heterogeneous networks as a whole emulates a constant delay network; and
transmitting a multimedia packet over the heterogeneous networks. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a variable delay network that includes a transmitter and a receiver, a transmitter application associated with the transmitter configured to transmit a stream of multimedia packets through a transmitter link layer controller, over the variable delay network, through a receiver link layer controller to a receiver application associated with the receiver, the transmitter link layer controller having an undedicated variable delay interface with the transmitter application, the transmitter link layer controller and the receiver link layer controller being substantially synchronized in accordance with a common network time base, a method of the transmitter link layer controller emulating a constant delay network over the variable delay network despite the undedicated variable delay interface, the method comprising the following:
-
receiving a first multimedia packet from the transmitter application, the first multimedia packet including a first transmitter application time stamp, which represents the relative time that the information in the first multimedia packet should be rendered by the receiver application in accordance with a transmitter application time base;
including in the first multimedia packet a first network time stamp, which represents the relative time that the information in the first multimedia packet should be rendered by the receiver application in accordance with the common network time base;
receiving data representing a frequency of the transmitter application time base;
receiving a second multimedia packet from the transmitter application, the second multimedia packet including a second transmitter application time stamp, which represents the relative time that the information in the second multimedia packet should be rendered by the receiver application in accordance with the transmitter application time base;
calculating a second network time stamp representing the relative time that the information in the second multimedia packet should be rendered by the receiver application in accordance with the common network time base, the calculation based on the first transmitter application time stamp, the second transmitter application time stamp, the frequency, and the first network time stamp;
including the second network time stamp in the second multimedia packet; and
dispatching the second multimedia packet to the receiver application. - View Dependent Claims (9, 10)
-
-
11. A computer program product for use in a variable delay network that includes a transmitter and a receiver, a transmitter application associated with the transmitter configured to transmit a stream of multimedia packets through a transmitter link layer controller, over the variable delay network, through a receiver link layer controller to a receiver application associated with the receiver, the transmitter link layer controller having an undedicated variable delay interface with the transmitter application, the transmitter link layer controller and the receiver link layer controller being substantially synchronized in accordance with a common network time base, the computer program product for implementing a method of the transmitter link layer controller emulating a constant delay network over the variable delay network despite the undedicated variable delay interface, the computer program product comprising computer-readable medium having stored thereon computer-executable instructions that, when executed by one or more processor, cause the transmitter link layer controller to perform the following:
-
detecting the receipt of a first multimedia packet from the transmitter application, the first multimedia packet including a first transmitter application time stamp, which represents the relative time that the information in the first multimedia packet should be rendered by the receiver application in accordance with a transmitter application time base;
including in the first multimedia packet a first network time stamp, which represents the relative time that the information in the first multimedia packet should be rendered by the receiver application in accordance with the common network time base;
detecting the receipt of data representing a frequency of the transmitter application time base;
detecting the receipt of a second multimedia packet from the transmitter application, the second multimedia packet including a second transmitter application time stamp, which represents the relative time that the information in the second multimedia packet should be rendered by the receiver application in accordance with the transmitter application time base;
calculating a second network time stamp representing the relative time that the information in the second multimedia packet should be rendered by the receiver application in accordance with the common network time base, the calculation based on the first transmitter application time stamp, the second transmitter application time stamp, the frequency, and the first network time stamp;
including the second network time stamp in the second multimedia packet; and
causing the second multimedia packet to be dispatched to the receiver application. - View Dependent Claims (12, 13, 14, 16, 18, 19)
-
-
15. In a variable delay network that includes a transmitter and a receiver, a transmitter application associated with the transmitter configured to transmit a stream of multimedia packets through a transmitter link layer controller, over the variable delay network, through a receiver link layer controller to a receiver application associated with the receiver, a method of the transmitter emulating a constant delay network over the variable delay network, the method comprising the following:
-
storing a transmitter application time base in a register;
periodically transmitting the transmitter application time base to one or more other devices in the variable delay network;
including a transmitter application time stamp in a multimedia packet, the transmitter application time stamp representing the relative time that the information in the multimedia packet should be rendered by the receiver application; and
dispatching the multimedia packet to the receiver application.
-
-
17. A computer program product for use in a variable delay network that includes a transmitter and a receiver, a transmitter application associated with the transmitter configured to transmit a stream of multimedia packets through a transmitter link layer controller, over the variable delay network, through a receiver link layer controller to a receiver application associated with the receiver, the computer program product for implementing a method of the transmitter emulating a constant delay network over the variable delay network, the computer program product comprising a computer readable medium having stored thereon computer-executable instructions for performing the following:
-
causing a transmitter application time base to be stored in a register;
periodically transmitting the transmitter application time base to one or more other devices in the variable delay network;
including a transmitter application time stamp in a multimedia packet, the transmitter application time stamp representing the relative time that the information in the multimedia packet should be rendered by the receiver application; and
causing the multimedia packet to be dispatched to the receiver application.
-
Specification