SYSTEM AND METHOD FOR ACHIEVING ACCELERATED THROUGHPUT
First Claim
1. 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 the data packet to provide 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.
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
28 Claims
-
1. 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 the data packet to provide 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
- comprising;
-
21. 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 loss rates for each communication session; determining an average loss rate in accordance with the loss rates of each communication session; communicating a loss rate of a given communication session and the average loss rate to a given endpoint to permit the given endpoint to adjust its encoding rate. - View Dependent Claims (22, 23)
- comprising;
-
24. 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 the 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. - View Dependent Claims (25, 26, 27, 28)
-
Specification