Stateful connectionless overlay protocol for information transfer across multiple datalinks
First Claim
1. A method for data communications for a communications entity, the method comprising:
- by the communications entity when the communications entity is an originating entity;
presenting information content for transmission to a destination entity in a data communications network that includes a plurality of subnetworks;
determining a plurality of paths to the destination entity, the plurality of paths located in at least two of the plurality of subnetworks;
estimating path transmission characteristics for the plurality of paths;
fragmenting the information content into a plurality of first data segments;
associating the plurality of first data segments with corresponding paths, of the plurality of paths, in at least two of the plurality of subnetworks based on the path transmission characteristics;
creating first headers for the plurality of first data segments, the first headers including lifetimes for the plurality of first data segments determined based on the path transmission characteristics;
transmitting the plurality of first data segments and the first headers simultaneously over the corresponding paths; and
by the communications entity when the communications entity is the destination entity;
receiving a plurality of second data segments and second headers from the plurality of paths;
determining whether all second data segments of a multiple data segment transmission have been received based on the received plurality of second data segments;
when all the second data segments are determined to have not been received;
determining whether remaining lifetimes of the second data segments are less than or equal to one-way transit delays of paths, among the plurality of paths, that correspond to the received plurality of second data segments, the remaining lifetimes corresponding to lifetimes for the plurality of second data segments, the lifetimes for the second data segments being included in the second headers and having been determined by an originating entity that transmitted the plurality of second data segments based on the path transmission characteristics for the plurality of paths;
when the remaining lifetimes are not less than or equal to the one-way transit delays, constructing the information content byinserting the second data segments in an ordered sequence,identifying missing segments of the multiple data segment transmission by path, among the plurality of paths, andwaiting for the missing segments so as to complete the ordered sequence; and
delivering the information content to a network transport layer at the destination entity based on the completion of the ordered sequence.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for data communications is provided. The method reduces the overall transmission time of the information to a destination by simultaneously sending different segments of the information over a plurality of data connections. The method comprises presenting information content for transmission to a destination entity, and simultaneously sending different segments of the information over a plurality of data link connections. All segments of the information are received from the plurality of data link connections at the destination entity, and the data segments are reconstructed back into the information content at the destination entity.
-
Citations
13 Claims
-
1. A method for data communications for a communications entity, the method comprising:
-
by the communications entity when the communications entity is an originating entity; presenting information content for transmission to a destination entity in a data communications network that includes a plurality of subnetworks; determining a plurality of paths to the destination entity, the plurality of paths located in at least two of the plurality of subnetworks; estimating path transmission characteristics for the plurality of paths; fragmenting the information content into a plurality of first data segments; associating the plurality of first data segments with corresponding paths, of the plurality of paths, in at least two of the plurality of subnetworks based on the path transmission characteristics; creating first headers for the plurality of first data segments, the first headers including lifetimes for the plurality of first data segments determined based on the path transmission characteristics; transmitting the plurality of first data segments and the first headers simultaneously over the corresponding paths; and by the communications entity when the communications entity is the destination entity; receiving a plurality of second data segments and second headers from the plurality of paths; determining whether all second data segments of a multiple data segment transmission have been received based on the received plurality of second data segments; when all the second data segments are determined to have not been received; determining whether remaining lifetimes of the second data segments are less than or equal to one-way transit delays of paths, among the plurality of paths, that correspond to the received plurality of second data segments, the remaining lifetimes corresponding to lifetimes for the plurality of second data segments, the lifetimes for the second data segments being included in the second headers and having been determined by an originating entity that transmitted the plurality of second data segments based on the path transmission characteristics for the plurality of paths; when the remaining lifetimes are not less than or equal to the one-way transit delays, constructing the information content by inserting the second data segments in an ordered sequence, identifying missing segments of the multiple data segment transmission by path, among the plurality of paths, and waiting for the missing segments so as to complete the ordered sequence; and delivering the information content to a network transport layer at the destination entity based on the completion of the ordered sequence. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for data communications, the system comprising:
-
a network entity including a plurality of data communication devices in operative communication using a plurality of subnetworks; at least one processor located in the network entity and operatively coupled to the plurality of data communication devices; a stateful connectionless overlay protocol that resides on a processor readable medium in the network entity, wherein the overlay protocol includes instructions executable by the at least one processor to perform a transmit process and a receive process for the plurality of data communication devices; wherein the transmit process comprises; receiving information from a network transport layer or higher network layer; determining a plurality of paths to a network destination peer, the plurality of paths located in at least two of the plurality of subnetworks; estimating path transmission characteristics for the plurality of paths; fragmenting the information into a plurality of first data segments for transmission over the plurality of paths; associating the plurality of first data segments with corresponding paths, of the plurality of paths, in at least two of the plurality of subnetworks based on the path transmission characteristics; creating first headers for the plurality of first data segments, the first headers including lifetimes for the plurality of first data segments determined based on the path transmission characteristics; and transmitting the plurality of first data segments and the first headers simultaneously over the corresponding paths; wherein the receive process comprises; receiving a second data segment from a data link; determining whether the second data segment is part of a multiple data segment transmission; storing the second data segment when the second data segment is determined to be a part of the multiple data segment transmission; and determining whether all second data segments and second headers of the multiple data segment transmission have been received; when all the second data segments are determined to have been received; constructing a full information content from the second data segments by inserting the received second data segments in an ordered sequence; and delivering the full information content to the network transport layer; when all the second data segments are determined to have not been received; determining whether remaining lifetimes of the second data segments are less than or equal to one-way transit delays of paths, among the plurality of paths, that correspond to the second data segments and determining whether there are any missing data segments, the remaining lifetimes corresponding to lifetimes for the second data segments, the lifetimes for the second data segments being included in the second headers and having been determined by an originating entity that transmitted the second data segments based on the path transmission characteristics for the plurality of paths; requesting retransmission of the missing second data segments, when the remaining lifetimes are less than or equal to the one-way transit delays and there are missing second data segments; and when the remaining lifetimes are not less than or equal to the one-way transit delays, constructing the full information content from the received second data segments by inserting the second data segments in the ordered sequence, identifying missing segments of the multiple data segment transmission by path, among the plurality of paths, and waiting for the missing segments so as to complete the ordered sequence. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
Specification