Forward error correction for a data flow associated with a connectionless packet network service
AssigneeEmpire Technology Development LLC
InventorEzekiel Kruglick
Life of this patent
Estimating the term…
Abstract
Examples are disclosed for forwarding or receiving a data flow associated with a connectionless packet network service. In some examples the data flow may have been split into a plurality of data streams separately or jointly including forward error correction.
Drawings
Claims27
A method for forwarding a data flow associated with a connectionless packet network service, the method comprising:
- splitting the data flow into a plurality of data streams;
- encoding the plurality of data streams based at least upon each data stream of the plurality of data streams separately including forward error correction;
- respectively forwarding the encoded plurality of data streams via multiple routes to a destination;
- and
- reconstructing the data flow based on at least a portion of the encoded plurality of data streams prior to receiving and decoding all the encoded plurality of data streams,
- wherein the portion of the encoded plurality of data streams includes a given number of the encoded plurality of data streams, and
- wherein the given number is dynamically adjusted based at least upon a status for one or more networks utilized by the connectionless packet network service to forward the encoded plurality of data streams to the destination.
A method for receiving a data flow associated with a connectionless packet network service, the method comprising:
- receiving a portion of a plurality of encoded data streams, the plurality of encoded data streams split from the data flow and respectively forwarded via multiple routes, wherein the plurality of encoded data streams are encoded based at least upon each encoded data stream of the plurality of encoded data streams separately including forward error correction;
- decoding the portion of the plurality of encoded data streams;
- and
- recombining the decoded portion of the plurality of encoded data streams to reconstruct the data flow such that the data flow is reconstructed prior to receipt and decoding of all the encoded data streams of the plurality of encoded data streams,
- wherein the portion of the plurality of encoded data streams includes a given number of encoded data streams, and wherein the given connectionless packet network service receives the portion of the plurality of encoded data streams.
An apparatus for forwarding a data flow associated with a connectionless packet service, the apparatus comprising:
- a source stream manager having logic, the logic configured to:
- split the data flow into a plurality of data streams;
- encode the plurality of data streams based at least upon each data stream of the plurality of data streams separately including forward error correction;
- respectively forward the encoded plurality of data streams via multiple routes to a destination;
- and
- reconstruct the data flow based on at least a portion of the encoded plurality of data streams prior to receiving and decoding all the encoded plurality of data streams,
- wherein the portion of the encoded plurality of data streams includes a given number of the encoded plurality of data streams, and
- wherein the given number is dynamically adjusted based at least upon a status for one or more networks utilized by the connectionless packet network service to forward the encoded plurality of data streams to the destination.
A system for receiving a data flow associated with a connectionless packet network service, the system comprising:
- a memory configured to maintain an application;
- and
- a destination stream manager including logic configured to:
- receive a portion of a plurality of encoded data streams for the application,
- wherein the plurality of encoded data streams are split from the data flow,
- wherein the plurality of encoded data streams are respectively forwarded via multiple routes, and
- wherein the plurality of encoded data streams are encoded based at least upon each encoded data stream of the plurality of encoded data streams separately including forward error correction;
- decode the portion of the plurality of encoded data streams;
- and
- recombine the decoded portion of the plurality of encoded data streams to reconstruct the data flow such that the data flow is reconstructed prior to all the encoded data streams of the plurality of encoded data streams are received and decoded,
- wherein the portion of the plurality of encoded data streams includes a given number of encoded data streams, and
- wherein the given number is dynamically adjusted based at least upon a status for one or more networks utilized by the connectionless packet network service to receive the portion of the plurality of encoded data streams.
A non-transitory computer-readable medium that stores executable instructions that, when executed, cause one or more processors to perform operations comprising:
- receiving a data flow associated with a connectionless network service, which, when executed by logic, cause the logic to:
- receive a portion of a plurality of encoded data streams,
- wherein the plurality of encoded data streams are split from the data flow,
- wherein the plurality of encoded data streams are respectively forwarded via multiple routes, and
- wherein the plurality of encoded data streams are encoded based at least upon each encoded data stream of the plurality of encoded data streams separately including forward error correction;
- decode the portion of the plurality of encoded data streams;
- and
- recombine the decoded portion of the plurality of encoded data streams to reconstruct the data flow such that the data flow is reconstructed prior to all the encoded data streams of the plurality of encoded data streams are received and decoded,
- wherein the portion of the plurality of encoded data streams includes a given number of encoded data streams, the given number dynamically adjusted based at least upon a status for a network utilized by the connectionless packet network service to receive the portion of the plurality of encoded data streams.
Dependencies are inferred from the claim text.