Forward packet recovery
First Claim
1. A method for providing ordered data packets to a processor, the method comprising:
- receiving a plurality of data packets, each comprising an order identifier;
placing at least one out-of-order data packet of the plurality of data packets in one of a plurality of priority queues, the priority queue being selected based on the order identifier of the received out-of-order data packet, the priority queues having a capability to receive data packets in non-sequential order;
receiving one or more correction packets corresponding to two or more of the plurality of data packets;
detecting one or more missing data packets or corrupted data packets of the plurality of data packets;
correcting the one or more missing data packets or corrupted data packets of the plurality of data packets;
providing the one or more corrected data packets to the processor;
determining if a time-out period has elapsed, the time-out period based in part on an interval length based on previously received sequential packets; and
providing the at least one out-of-order data packet in the priority queue to the processor if the time-out period has elapsed, the queued data packets to be accessed by the processor in order from the plurality of priority queues according to the order identifiers of the data packets.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for providing ordered data packets to a processor is provided. The method comprises receiving a plurality of data packets, each comprising an order identifier. At least one out-of-order data packet of the plurality of data packets is placed in a priority queue. One or more correction packets are received. One or more missing data packets or corrupted data packets of the plurality of data packets are detected based on the one or more correction packets. The one or more missing data packets or corrupted data packets of the plurality of data packets are corrected based on the one or more correction packets. The one or more corrected data packets are provided to the processor. The at least one out-of-order data packet in the priority queue is provided to the processor.
-
Citations
18 Claims
-
1. A method for providing ordered data packets to a processor, the method comprising:
-
receiving a plurality of data packets, each comprising an order identifier; placing at least one out-of-order data packet of the plurality of data packets in one of a plurality of priority queues, the priority queue being selected based on the order identifier of the received out-of-order data packet, the priority queues having a capability to receive data packets in non-sequential order; receiving one or more correction packets corresponding to two or more of the plurality of data packets; detecting one or more missing data packets or corrupted data packets of the plurality of data packets; correcting the one or more missing data packets or corrupted data packets of the plurality of data packets; providing the one or more corrected data packets to the processor; determining if a time-out period has elapsed, the time-out period based in part on an interval length based on previously received sequential packets; and providing the at least one out-of-order data packet in the priority queue to the processor if the time-out period has elapsed, the queued data packets to be accessed by the processor in order from the plurality of priority queues according to the order identifiers of the data packets. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for providing ordered data packets to a processor, the system comprising:
-
a receiving module configured to receive a plurality of data packets and one or more correction packets, each data packet comprising an order identifier and each correction packet corresponding to two or more of the plurality of data packets; a data correction module configured to detect one or more missing data packets or corrupted data packets of the plurality of data packets based on the one or more correction packets and correct the one or more missing data packets or corrupted data packets of the plurality of data packets based on the one or more correction packets; and an ordering module configured to place at least one out-of-order data packet of the plurality of data packets in one of a plurality of priority queues, the priority queue being selected based on the order identifier of the received out-of-order data packet, the priority queues having a capability to receive data packets in non-sequential order provide the one or more corrected data packets to the processor, determine if a time-out period has elapsed, the time-out period based in part on an interval length based on previously received sequential packets, and provide the at least one out-of-order data packet in the priority queue to the processor if the time-out period has elapsed, the queued data packets to be accessed by the processor in order from the plurality of priority queues according to the order identifiers of the data packets. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable medium having embodied thereon instructions executable by a processor for performing a method for providing ordered data packets to a processor, the method comprising:
-
receiving a plurality of data packets, each comprising an order identifier; placing at least one out-of-order data packet of the plurality of data packets in one of a plurality of priority queues, the priority queue being selected based on the order identifier of the received out-of-order data packet, the priority queues having a capability to receive data packets in non-sequential order; receiving one or more correction packets corresponding to two or more of the plurality of data packets; detecting one or more missing data packets or corrupted data packets of the plurality of data packets based on the one or more correction packets; correcting the one or more missing data packets or corrupted data packets of the plurality of data packets based on the one or more correction packets; providing the one or more corrected data packets to the processor; determining if a time-out period has elapsed, the time-out period based in part on an interval length based on previously received sequential packets; and providing the at least one out-of-order data packet in the priority queue to the processor if the time-out period has elapsed, the queued data packets to be accessed by the processor in order from the plurality of priority queues according to the order identifiers of the data packets. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification