NETWORK STREAMING OF A SINGLE DATA STREAM SIMULTANEOUSLY OVER MULTIPLE PHYSICAL INTERFACES
First Claim
1. A method for sending a data stream from a sending endpoint to a receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces, the method comprising:
- determining an expected difference in arrival time between data packets sent concurrently over different ones of the multiple physical interfaces and received at the receiving endpoint;
sending a next available data packet of the series over a fastest one of the multiple physical interfaces, wherein the fastest one of the multiple physical interfaces is determined based on the determined expected difference in arrival time; and
extracting a data packet from further back in the series of data packets in accordance with the determined expected difference in arrival time, and sending the extracted data packet on a corresponding slower one of the multiple physical interfaces,wherein the next available data packet is sent from the sending endpoint nearly simultaneously as the extracted data packet is sent from the sending endpoint.
1 Assignment
0 Petitions
Accused Products
Abstract
Sending a data stream from a sending endpoint to a receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, is provided. The data stream is split into a series of data packets and sent over the multiple physical interfaces. A next available data packet of the series is sent over a fastest one of the multiple physical interfaces. A data packet from further back in the series is extracted in accordance with a determined expected difference in arrival time, and sent on a corresponding slower one of the multiple physical interfaces. The next available data packet is sent from the sending endpoint nearly simultaneously as the extracted data packet is sent from the sending endpoint.
100 Citations
29 Claims
-
1. A method for sending a data stream from a sending endpoint to a receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces, the method comprising:
-
determining an expected difference in arrival time between data packets sent concurrently over different ones of the multiple physical interfaces and received at the receiving endpoint; sending a next available data packet of the series over a fastest one of the multiple physical interfaces, wherein the fastest one of the multiple physical interfaces is determined based on the determined expected difference in arrival time; and extracting a data packet from further back in the series of data packets in accordance with the determined expected difference in arrival time, and sending the extracted data packet on a corresponding slower one of the multiple physical interfaces, wherein the next available data packet is sent from the sending endpoint nearly simultaneously as the extracted data packet is sent from the sending endpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for sending a data stream from a sending endpoint to a receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces, and wherein in said method the sending endpoint performs the steps of:
-
sending a next available data packet of the series over a fastest one of the multiple physical interfaces, wherein the fastest one of the multiple physical interfaces is determined based on a determined expected difference in arrival time; and extracting a data packet from further back in the series of data packets in accordance with the determined expected difference in arrival time, and sending the extracted data packet on a corresponding slower one of the multiple physical interfaces, wherein the next available data packet is sent from the sending endpoint nearly simultaneously as the extracted data packet is sent from the sending endpoint. - View Dependent Claims (25)
-
-
24. A method for sending a data stream from a sending endpoint to a receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces, and wherein in said method the receiving endpoint performs the steps of:
-
communicating a difference in arrival time between each of the sent data packets to the sending endpoint, wherein in response to the communication, the sending endpoint determines an expected difference in arrival time between data packets sent concurrently over different ones of the multiple physical interfaces and received at the receiving endpoint, and sends a next available data packet of the series over a fastest one of the multiple physical interfaces, the fastest one of the multiple physical interfaces being determined based on the determined expected difference in arrival time, extracts a data packet from further back in the series of data packets in accordance with the determined difference in arrival time, and sends the extracted data packet on a corresponding slower one of the multiple physical interfaces.
-
-
26. A sending endpoint comprising:
-
a computer-readable memory constructed to store computer-executable process steps; and a processor constructed to execute the computer-executable process steps stored in the memory; wherein the process steps stored in the memory cause the processor to send a data stream from the sending endpoint to a receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces, and wherein the process steps stored in the memory include computer-executable process steps to; send a next available data packet of the series over a fastest one of the multiple physical interfaces, wherein the fastest one of the multiple physical interfaces is determined based on a determined expected difference in arrival time; and extract a data packet from further back in the series of data packets in accordance with the determined expected difference in arrival time, and sending the extracted data packet on a corresponding slower one of the multiple physical interfaces, wherein the next available data packet is sent from the sending endpoint nearly simultaneously as the extracted data packet is sent from the sending endpoint.
-
-
27. A receiving endpoint comprising:
-
a computer-readable memory constructed to store computer-executable process steps; and a processor constructed to execute the computer-executable process steps stored in the memory; wherein the process steps stored in the memory cause the processor to receive a data stream sent from a sending endpoint to the receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces, and wherein the process steps stored in the memory include computer-executable process steps to; communicate a difference in arrival time between each of the sent data packets to the sending endpoint, wherein in response to the communication, the sending endpoint determines an expected difference in arrival time between data packets sent concurrently over different ones of the multiple physical interfaces and received at the receiving endpoint, and sends a next available data packet of the series over a fastest one of the multiple physical interfaces, the fastest one of the multiple physical interfaces being determined based on the determined expected difference in arrival time, extracts a data packet from further back in the series of data packets in accordance with the determined difference in arrival time, and sends the extracted data packet on a corresponding slower one of the multiple physical interfaces.
-
-
28. A computer-readable memory medium on which is stored computer-executable process steps for causing a processor to send a data stream from a sending endpoint to a receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces to said process steps comprising:
-
sending a next available data packet of the series over a fastest one of the multiple physical interfaces, wherein the fastest one of the multiple physical interfaces is determined based on a determined expected difference in arrival time; and extracting a data packet from further back in the series of data packets in accordance with the determined expected difference in arrival time, and sending the extracted data packet on a corresponding slower one of the multiple physical interfaces, wherein the next available data packet is sent from the sending endpoint nearly simultaneously as the extracted data packet is sent from the sending endpoint.
-
-
29. A computer-readable memory medium on which is stored computer-executable process steps for causing a processor to receive a data stream sent from a sending endpoint to the receiving endpoint, wherein both of the sending endpoint and the receiving endpoint each have multiple physical interfaces connecting the sending endpoint and the receiving endpoint to multiple networks, respectively, and the data stream is split into a series of data packets and sent over the multiple physical interfaces, said process steps comprising:
-
communicating a difference in arrival time between each of the sent data packets to the sending endpoint, wherein in response to the communication, the sending endpoint determines an expected difference in arrival lime between data packets sent concurrently over different ones of the multiple physical interfaces and received at the receiving endpoint, and sends a next available data packet of the series over a fastest one of the multiple physical interfaces, the fastest one of the multiple physical interfaces being determined based on the determined expected difference in arrival time, extracts a data packet from further back in the series of data packets in accordance with the determined difference in arrival time, and sends the extracted data packet on a corresponding slower one of the multiple physical interfaces.
-
Specification