Method for allocating data packet transmission among multiple links of a network, and network device and computer program product implementing the method
First Claim
1. A method for distributing packets of a data stream in a network having at least two network links, each link connecting a source device to a destination device, the method comprising:
- assigning one of said links as a primary link and another of said links as a backup link;
transmitting data stream packets from the source device to the destination device on the primary link using a first set of communications protocols associated with said primary network link;
transmitting a signal from the source device to the destination device on each link and receiving at the source device a return signal from the destination device on each link; and
if the roundtrip time for said signal and return signal on the primary link (RTT-PL) is greater than the roundtrip time for said signal and return signal on the backup link (RTT-BL), thentransmitting a portion of the data stream packets from the source device to the destination device on the backup link using a second set of communications protocols associated with said backup network link, said second set of protocols being different from said first set of protocols.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for intelligently distributing packets of a data stream to multiple links of a network for simultaneous transmission via the multiple links, and for periodically re-allocating the distribution, achieves higher network throughput. The method has particular application for streaming audio-video traffic on a home local area network that has a source device, like a media server PC, and a destination device, like a digital TV. One of the links is assigned as the primary link (PL), and another link is assigned as a backup link (BL). Periodically a signal is sent from the source device over each link to the destination device and the round-trip travel time (RTT) for the signal and response for each link is measured. The RTT for a link is a good measure of the current end-to-end link status and generally will change during the time that the data stream is being transmitted as a result of certain events, such as traffic load and interference. The RTT on the PL (RTT-PL) and the RTT on the BL (RTT-BL) are used to adjust the allocation of packets simultaneously transmitted on the links.
-
Citations
18 Claims
-
1. A method for distributing packets of a data stream in a network having at least two network links, each link connecting a source device to a destination device, the method comprising:
-
assigning one of said links as a primary link and another of said links as a backup link; transmitting data stream packets from the source device to the destination device on the primary link using a first set of communications protocols associated with said primary network link; transmitting a signal from the source device to the destination device on each link and receiving at the source device a return signal from the destination device on each link; and if the roundtrip time for said signal and return signal on the primary link (RTT-PL) is greater than the roundtrip time for said signal and return signal on the backup link (RTT-BL), then transmitting a portion of the data stream packets from the source device to the destination device on the backup link using a second set of communications protocols associated with said backup network link, said second set of protocols being different from said first set of protocols. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A source device capable of transmitting an audio-video (AV) data stream of data packets on a network when the source device is connected to a network that includes a destination device capable of receiving an AV data stream, the source device comprising:
-
first adapter electronics for interfacing with a wireless network link; second adapter electronics for interfacing with a wired network link; a processor; memory accessible by the processor; and computer program instructions in the memory and readable by the processor for performing processor-implemented steps when the source device is connected to a destination device via said wireless link and to said destination device via said wired link independent of said wireless link, the steps comprising; (a) assigning one of said links as a primary link (PL) and the other of said links as a backup link (BL); (b) transmitting all of the packets of the AV data stream from the source device via the adapter electronics interfaced with the PL; (c) periodically transmitting a signal to the destination device via each link and receiving at the source device a return signal from the destination device via each link; (d) periodically measuring the roundtrip time for said signal and return signal on the PL (RTT-PL) and the roundtrip time for said signal and return signal on the BL link (RTT-BL); (e) if RTT-PL is greater than RTT-BL after a periodic measurement, decreasing the number of packets transmitted from the source device via the adapter electronics interfaced with the PL and increasing the number of packets transmitted from the source device via the adapter electronics interfaced with the BL; and (f) if RTT-PL is less than RTT-BL after a periodic measurement, decreasing the number of packets transmitted from the source device via the adapter electronics interfaced with the BL and increasing the number of packets transmitted from the source device via the adapter electronics interfaced with the PL. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer program product for implementing a method of transmitting packets of an audio-video (AV) data stream from a source device to a destination device on a network across at least two network links, each link having unique communication protocols, wherein the method is capable of being performed by a computer incorporated in the source device, the computer program product comprising a non-transitory computer-readable medium having computer-executable instructions recorded thereon for implementing the method, the computer-executable instructions comprising:
-
(a) identifying the links connecting the source device and destination device; (a) assigning one of said links as a primary link (PL) and another of said links as a backup link (BL); (b) causing transmission of all of the packets of the AV data stream from the source device via the PL using the protocols associated with the PL; (c) periodically causing transmission of a signal to the destination device via each link and receipt of a return signal from the destination device via each link; (d) periodically measuring the roundtrip time for said signal and return signal on the PL (RTT-PL) and the roundtrip time for said signal and return signal on the BL link (RTT-BL); (e) if RTT-PL is greater than RTT-BL after a periodic measurement, decreasing the number of packets to be transmitted from the source device via the PL and increasing the number of packets to be transmitted from the source device via the BL using the protocols associated with the BL; and (f) if RTT-PL is less than RTT-BL after a periodic measurement, decreasing the number of packets to be transmitted from the source device via the BL using the protocols associated with the BL and increasing the number of packets to be transmitted from the source device via the PL using the protocols associated with the PL. - View Dependent Claims (16, 17, 18)
-
Specification