SYSTEM AND METHOD FOR ACHIEVING ACCELERATED THROUGHPUT
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for transporting data between two endpoints over an encoded channel are disclosed. Data transmission units (data units) from the source network are received at an encoding component logically located between the endpoints. These first data units are subdivided into second data units and are transmitted to the destination network over the transport network. Also transmitted are encoded or extra second data units that allow the original first data units to be recreated even if some of the second data units are lost. These encoded second data units may be merely copies of the second data units transmitted, parity second data units, or second data units which have been encoded using erasure correcting coding. At the receiving endpoint, the second data units are received and are used to recreate the original first data units.
-
Citations
64 Claims
-
1-28. -28. (canceled)
-
29. A method of accelerating data communications over an unreliable network;
- comprising;
providing encoding components associated with each of two endpoints to a communication; establishing an encoded channel between the encoding components for a communication session between the endpoints; intercepting one data packet related to the communication at one of the encoding components; segmenting and packaging said data packet to provide two or more encoded data segments for transmission to the other of the encoding components; transmitting the encoded data segments and at least one extra encoded segment to the other of the encoding components over the encoded channel; decoding and reassembling the data packet at the other of the encoding components based on the received encoded data segments; and transmitting the reassembled data packet from the other of the encoding components to its respective endpoint.
- comprising;
-
49. A method of setting an encoding rate for encoding data for accelerated data communication across an unreliable network between two endpoints each respectively associated with an encoding component;
- comprising;
establishing an encoded channel for each of a plurality of communication sessions; monitoring a loss metric for each communication session; determining an average loss metric in accordance with the loss metrics of each communication session; communicating a loss metric of a given communication session and the average loss metric to a given endpoint to permit the given endpoint to adjust its encoding rate.
- comprising;
-
52. A method for encoding a communication session to provide accelerated data communications, comprising:
-
providing encoding components at a client and at a server; detecting, at the encoding components, a message destined to a default port; parsing the message to determine a session identification for the message; detecting a reply to the message at the encoding components; parsing the reply to determine communication ports allocated for use in respect of the communication session; inspecting data packets to determine their originating and destination ports; for each data packet having originating and destination ports that match the allocated communication ports, segmenting and marking each data packet to provide encoded data segments for transmission to the client; and decoding and reassembling the data packet, based on the received encoded data segments at the encoding component associated with the client.
-
-
62. A method of accelerating data communications over an unreliable network;
- comprising;
providing encoding components associated with each of two endpoints to a communication; establishing an encoded channel between the encoding components for a communication session between the endpoints; intercepting a data packet related to the communication at one of the encoding components; segmenting and packaging each data packet individually to provide a predetermined number of encoded data segments for transmission to the other of the encoding components; transmitting the encoded data segments and a predetermined number of extra encoded segment to the other of the encoding components over the encoded channel; decoding and reassembling the data packet at the other of the encoding components based on the received encoded data segments; and transmitting the reassembled data packet from the other of the encoding components to its respective endpoint.
- comprising;
-
64. A system for accelerating data communications;
- comprising;
two encoding components associated with each of two endpoints to a communication; an encoded channel established between the encoding components for a communication session between the endpoints; wherein a sequence of data packets related to the communication is provided at one of the encoding components; each one of said data packets being segmented and packaged to provide a predetermined number of encoded data segments for transmission to the other of the encoding components; each of said encoded data segments being transmitted with a predetermined number of extra encoded segments to the other of the encoding components over the encoded channel; each of said data packet being reassembled based on the corresponding received encoded data segments and said extra encoded data segment; and each of said data packet being transmitted from the other of the encoding components to its respective endpoint.
- comprising;
Specification