Method for prevention of out-of-order delivery of data
First Claim
1. A method of sequencing the delivery of a series of packets of information from a router which has a first processor installation having a plurality of processor elements, to a second processor installation, and wherein delivery of said packets of information must be completed in the order in which said packets arrive at the first processor installation, comprising the steps of:
- forming a linked list of the packets of information in the order in which said packets of information are received at said first processor installation;
fragmenting each packet of information into successive fragments and processing each fragment at said first processor installation;
labeling the last fragment of each packet of information in each linked list with the sequence in which the packet was received and enqueuing the order marked for each last fragment in each linked list;
delivering each fragment of each packet as processed at said first processor installation on a given linked list, except the last fragment of each packet on said linked list to said second processor installation;
thereafter transmitting the final fragment of each packet after processing if, and only if, that fragment is at the head of the queue on said linked list, and removing that fragment from the queue when transmitted; and
reassembling each packet of information from said fragments at said second processor installation after all the fragments of said given packet of information are received at said second processor installation.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for sequencing delivery of information packets from a router having several processing elements to a receiving processing installation, wherein delivery of the packets must be completed in the order the packets arrive at the router. A linked list of packets is formed in the order they are received at the router, and each packet fragmented into successive fragments. Each fragment is processed at the router. The last fragment of each packet in each linked list is labeled with the sequence in which the packet was received, and enqueued in the order labeled for each last fragment on each linked list. Each fragment of each packet is delivered as processed, except the last fragment of each packet on its linked list to the receiving processor installation, and thereafter, transmitting the final fragment of each packet after processing only if that fragment is at the head of the queue.
-
Citations
3 Claims
-
1. A method of sequencing the delivery of a series of packets of information from a router which has a first processor installation having a plurality of processor elements, to a second processor installation, and wherein delivery of said packets of information must be completed in the order in which said packets arrive at the first processor installation, comprising the steps of:
-
forming a linked list of the packets of information in the order in which said packets of information are received at said first processor installation;
fragmenting each packet of information into successive fragments and processing each fragment at said first processor installation;
labeling the last fragment of each packet of information in each linked list with the sequence in which the packet was received and enqueuing the order marked for each last fragment in each linked list;
delivering each fragment of each packet as processed at said first processor installation on a given linked list, except the last fragment of each packet on said linked list to said second processor installation;
thereafter transmitting the final fragment of each packet after processing if, and only if, that fragment is at the head of the queue on said linked list, and removing that fragment from the queue when transmitted; and
reassembling each packet of information from said fragments at said second processor installation after all the fragments of said given packet of information are received at said second processor installation. - View Dependent Claims (2, 3)
-
Specification