Error correction and loss recovery of packets over a computer network
First Claim
1. In a transmitting computer system, a method for reliably transmitting a plurality of data packets from the transmitting computer system to a target computer system, the transmitting computer system and the target computer system coupled to each other via a computer network, wherein at least two of the plurality of data packets have different packet lengths, the method comprising:
- determining the length of a longest data packet of said plurality of data packets;
padding the remaining data packets with a suitable bit pattern, thereby generating a plurality of padded data packets at least equal in packet length to the longest data packet;
generating a parity packet from said plurality of padded data packets; and
transmitting the plurality of data packets and the parity packet to the target computer system.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of recovering a lost or corrupted data packet of a plurality of data packets transmitted by a transmitting computer system to a target computer system over an unreliable computer network. In one embodiment, the transmitting computer system generates parity information by padding the plurality of data packets to the length of the longest data packet with a suitable bit pattern. The parity information is then generated using a suitable algorithm, such as an exclusive OR (XOR) operation. The parity information and the packet lengths of the data packets are used to form the parity packet. The transmitting computer system then sends both the data packets and the parity packet to the target computer. If the target computer system detects a lost or corrupted data packet, the target computer attempts to reconstruct the lost or corrupted data packet. The received uncorrupted data packets are padded with the suitable bit pattern described above. Note that it is useful to pad up to the length of the lost data packet. The inverse operation of the parity generating algorithm is then applied to the padded data packets and the parity packet to reconstruct the lost or corrupted data packet.
-
Citations
33 Claims
-
1. In a transmitting computer system, a method for reliably transmitting a plurality of data packets from the transmitting computer system to a target computer system, the transmitting computer system and the target computer system coupled to each other via a computer network, wherein at least two of the plurality of data packets have different packet lengths, the method comprising:
-
determining the length of a longest data packet of said plurality of data packets; padding the remaining data packets with a suitable bit pattern, thereby generating a plurality of padded data packets at least equal in packet length to the longest data packet; generating a parity packet from said plurality of padded data packets; and transmitting the plurality of data packets and the parity packet to the target computer system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A transmitting computer system useful in association with a target computer system, said transmitting computer system coupled to said target computer system via a network, said transmitting computer system comprising:
-
a parity packet generator configured to determine the length of a longest data packet of said plurality of data packets, and configured to pad the remaining data packets with a suitable bit pattern, thereby generating a plurality of padded data packets at least equal in packet length to the longest data packet, thereby generating a parity packet from said plurality of padded data packets; and a packet transmitter configured to transmit the plurality of data packets and the parity packet to the target computer system. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. In a target computer system, a method for recovering a corrupted or lost data packet, wherein the corrupted or lost data packet is one of a plurality of data packets transmitted from a transmitting computer system to the target computer system, the transmitting computer system and the target computer system coupled to each other via a computer network, and wherein at least two of said plurality of data packets having different packet lengths, the method comprising:
-
receiving at least one data packet of said plurality of data packets; receiving a parity packet; padding the received at least one data packet with a suitable bit pattern upon detecting a lost or corrupted data packet of said plurality of data packets, the received at least one data packet padded to at least the length of the lost or corrupted data packet; and computing the lost or corrupted data packet from said padded at least one data packet and said parity packet upon detecting a lost or corrupted data packet of said plurality of data packets. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A target computer system useful in association with a transmitting computer system, said transmitting computer system coupled to said target computer system via a network, said target computer system comprising:
-
a packet receiver configured to receive at least one data packet of a plurality of data packets from said transmitting computer system, and configured to receive a parity packet, and wherein at least two of said plurality of data packets having different packet lengths; a packet loss detector configured to detect a lost or corrupted data packet of said plurality of data packets; and a packet reconstructor configured to pad the received at least one data packet with a suitable bit pattern, the received at least one data packet padded to at least the length of the lost or corrupted data packet, and configured to compute the lost or corrupted data packet from said padded at least one data packet and said parity packet. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A computer readable medium having computer-executable instructions comprising:
-
determining the length of a longest data packet of a plurality of data packets, wherein at least two of the plurality of data packets have different packet lengths; padding the remaining data packets with a suitable bit pattern, thereby generating a plurality of padded data packets at least equal in packet length to the longest data packet; generating a parity packet from said plurality of padded data packets; and transmitting the plurality of data packets and the parity packet. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A computer readable medium having computer-executable instructions comprising:
-
receiving at least one data packet of a plurality of data packets; receiving a parity packet; padding the received at least one data packet with a suitable bit pattern upon detecting a lost or corrupted data packet of said plurality of data packets, the received at least one data packet padded to at least the length of the lost or corrupted data packet; and computing the lost or corrupted data packet from said padded at least one data packet and said parity packet upon detecting a lost or corrupted data packet of said plurality of data packets. - View Dependent Claims (30, 31, 32, 33)
-
Specification