System, method and apparatus for reducing blockage losses on information distribution networks
First Claim
1. A method for transmitting packets over first and second channels, comprising the steps of:
- marking an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets;
generating a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets;
transmitting the marked stream of packets over the first channel; and
transmitting the plurality of FEC packets over the second channel;
wherein the marking is performed by an FEC encoder.
4 Assignments
0 Petitions
Accused Products
Abstract
System, apparatus and method are provided for transmitting and receiving packets over first and second channels. An FEC encoder generates forward error correction (FEC) packets corresponding to an original stream of packets. A packet transmitter transmits the original stream of packets over the first channel and transmits the FEC packets over the second channel. A packet receiver receives a stream of packets over the first channel, and receives the FEC packets corresponding to the stream of packets over the second channel. An FEC decoder uses information stored in the FEC packets to determine a correspondence between the FEC packets and the stream of packets, and recovers one or more lost packets of the stream of packets using the FEC packets.
77 Citations
55 Claims
-
1. A method for transmitting packets over first and second channels, comprising the steps of:
-
marking an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets; generating a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; transmitting the marked stream of packets over the first channel; and transmitting the plurality of FEC packets over the second channel;
wherein the marking is performed by an FEC encoder. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for transmitting packets over first and second channels, comprising the steps of:
-
marking an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets; generating a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; transmitting a first portion of the marked stream of packets over the first channel and a second portion of the marked stream of packets over the second channel; and transmitting a first portion of the plurality of FEC packets over the first channel and the remainder of the FEC packets over the second channel;
wherein the marking is performed by an FEC encoder.
-
-
8. A method for receiving packets from first and second channels, comprising the steps of:
-
receiving a marked stream of packets having a marking over the first channel, wherein the marking includes at least one of (1) identification information stored in a header field of the corresponding packet of the marked stream of packets, (2) a corresponding packet structure having identification information stored in its header field wrapped around a corresponding packet of an original stream of packets, and (3) marking information stored in a user defined field in the corresponding packet of the original stream of packets; receiving a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets over the second channel; and recovering one or more lost packets of the marked stream of packets using the plurality of FEC packets;
wherein the marking is performed by an FEC encoder. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method for receiving packets from first and second channels, comprising the steps of:
-
receiving a stream of marked packets having a marking over the first channel, wherein the marking includes at least one of (1) identification information stored in a header field of the corresponding packet of the stream of marked packets, (2) a corresponding packet structure having identification information stored in its header field wrapped around a corresponding packet of an original stream of packets, and (3) marking information stored in a user defined field in the corresponding packet of the original stream of packets; receiving a plurality of FEC packets over the second channel; extracting a time window for each packet of the marked stream of packets from a corresponding one of the plurality of FEC packets; discarding the corresponding one of the FEC packets if the time window has expired; and recovering one or more lost packets of the stream of marked packets using the plurality of FEC packets, thereby substantially reconstructing an original stream of packets;
wherein the marking is performed by an FEC encoder. - View Dependent Claims (15, 16, 17)
-
-
18. A transmitter for transmitting packets over first and second channels, comprising:
-
an FEC encoder operable to; mark an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets, and generate a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; and a packet transmitter operable to transmit the marked stream of packets over the first channel and to transmit the plurality of FEC packets over the second channel. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A transmitter for transmitting packets over first and second channels, comprising
an FEC encoder operable to: -
mark an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets, and generate a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; a packet transmitter operable to transmit a first portion of the marked stream of packets over the first channel and a second portion of the marked stream of packets over the second channel, and to transmit a first portion of the plurality of FEC packets over the first channel and the remainder of the FEC packets over the second channel.
-
-
25. A receiver for receiving packets from first and second channels, comprising:
-
a packet receiver operable to receive a marked stream of packets having a marking over the first channel, wherein the marking includes at least one of (1) identification information stored in a header field of the corresponding packet of the marked stream of packets, (2) a corresponding packet structure having identification information stored in its header field wrapped around the corresponding packet of the original stream of packets, and (3) marking information stored in a user defined field in the corresponding packet of the original stream of packets, and to receive a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets over the second channel; and an FEC decoder operable to recover one or more lost packets of the marked stream of packets using the plurality of FEC packets;
wherein the marking is performed by an FEC encoder. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A receiver for receiving packets from first and second channels, comprising:
-
a packet receiver operable to; receive a stream of marked packets having a marking over the first channel, wherein the marking includes at least one of (1) identification information stored in a header field of the corresponding packet of the marked stream of packets, (2) a corresponding packet structure having identification information stored in its header field wrapped around a corresponding packet of an original stream of packets, and (3) marking information stored in a user defined field in the corresponding packet of the original stream of packets, and receive a plurality of FEC packets over the second channel; and an FEC decoder operable to extract a time window for each packet of the marked stream of packets from a corresponding one of the plurality of FEC packets, to discard the corresponding one of the FEC packet if the time window has expired, and to recover one or more lost packets of the stream of marked packets using the plurality of FEC packets, thereby substantially reconstructing an original stream of packets;
wherein the marking is performed by an FEC encoder. - View Dependent Claims (32, 33, 34)
-
-
35. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to transmit packets over first and second channels, said control logic comprising:
-
first computer readable program code means for causing the computer to mark an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets; second computer readable program code means for causing the computer to generate a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; third computer readable program code means for causing the computer to transmit the marked stream of packets over the first channel; and fourth computer readable program code means for causing the computer to transmit the plurality of FEC packets over the second channel. - View Dependent Claims (36, 37)
-
-
38. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to transmit packets over first and second channels, said control logic comprising:
-
first computer readable program code means for causing the computer to mark an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets; second computer readable program code means for causing the computer to generate a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; third computer readable program code means for causing the computer to transmit a first portion of the marked stream of packets over the first channel and a second portion of the marked stream of packets over the second channel; and fourth computer readable program code means for causing the computer to transmit a first portion of the plurality of FEC packets over the first channel and the remainder of the FEC packets over the second channel.
-
-
39. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to receive packets from first and second channels, said control logic comprising:
-
first computer readable program code means for causing the computer to receive a marked stream of packets having a marking over the first channel, wherein the marking includes at least one of (1) identification information stored in a header field of the corresponding packet of the marked stream of packets, (2) a corresponding packet structure having identification information stored in its header field wrapped around a corresponding packet of an original stream of packets, and (3) marking information stored in a user defined field in the corresponding packet of the original stream of packets; second computer readable program code means for causing the computer to receive a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets over the second channel; and third computer readable program code means for causing the computer to recover one or more lost packets of the marked stream of packets using the plurality of FEC packets. - View Dependent Claims (40, 41, 42, 43)
-
-
44. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to receive packets from first and second channels, said control logic comprising:
-
first computer readable program code means for causing the computer to receive a stream of marked packets having a marking over the first channel, wherein the marking includes at least one of (1) identification information stored in a header field of the corresponding packet of the marked stream of packets, (2) a corresponding packet structure having identification information stored in its header field wrapped around a corresponding packet of an original stream of packets, and (3) marking information stored in a user defined field in the corresponding packet of the original stream of packets; second computer readable program code means for causing the computer to receive a plurality of FEC packets over the second channel; third computer readable program code means for causing the computer to extract a time window for each packet of the marked stream of packets from a corresponding one of the plurality of FEC packets; fourth computer readable program code means for causing the computer to discard the corresponding one of the FEC packet if the time window has expired; and fifth computer readable program code means for causing the computer to recover one or more lost packets of the stream of marked packets using the plurality of FEC packets, thereby substantially reconstructing an original stream of packets.
-
-
45. A system for transmitting and receiving packets over first and second channels, comprising:
-
an FEC encoder operable to mark an original stream of packets to; generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets, and generate a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; a packet transmitter operable to transmit the marked stream of packets over the first channel and to transmit the plurality of FEC packets over the second channel; a packet receiver operable to receive the marked stream of packets over the first channel, wherein each packet of the marked stream of packets contains a marking, and to receive the plurality of FEC packets corresponding to the marked stream of packets over the second channel; and an FEC decoder operable to recover one or more lost packets of the marked stream of packets using the plurality of FEC packets. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A system for transmitting and receiving packets over first and second channels, comprising:
-
an FEC encoder operable to; mark an original stream of packets to generate a marked stream of packets, wherein the marking is performed by at least one of (1) storing identification information in header fields of the marked stream of packets correspondingly, (2) wrapping each packet of the original stream of packets within a corresponding packet structure having identification information stored in its header fields correspondingly, and (3) storing marking information in user defined fields in the original stream of packets, and generate a plurality of forward error correction (FEC) packets corresponding to the marked stream of packets; a packet transmitter operable to transmit a first portion of the marked stream of packets over the first channel and a second portion of the marked stream of packets over the second channel, and to transmit a first portion of the plurality of FEC packets over the first channel and the remainder of the FEC packets over the second channel; a packet receiver operable to receive the first portion of the marked stream of packets and the first portion of the plurality of FEC packets over the first channel and the second portion of the marked stream of packets and the remainder of the FEC packets over the second channel; and an FEC decoder operable to recover one or more lost packets of the first and second portions of the marked stream of packets using the first portion of the plurality of FEC packets and the remainder of the FEC packets.
-
Specification