IP Library Granted Patent US 7,953,093
Granted Patent B2
US 7,953,093 · App. 10/229,732 · Granted May 31, 2011

TCP/IP reordering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,953,093
App. No.
10/229,732
Granted
May 31, 2011
Kind
B2
Abstract

A method for a receiver to perform processing of incoming data segments transmitted over a network by a transmitter in accordance with a transport protocol. The segments incorporate sequence values indicative of a transmission order of the segments. The method consists of receiving the data segments over the network in a reception order. Then, for each segment received in the reception order, the sequence values of the received segment and of the segments received earlier in the reception order are compared in order to assign the received segment a classification identity as an in-order or out-of-order segment. The method further includes writing the segments, in a writing order that is substantially identical to the reception order, to respective locations in an output buffer responsive to the classification identity of each segment, so that the segments in the output buffer are arranged in the transmission order.

Claims (29)

1. A method for processing incoming data segments, the method comprising:

receiving the data segments over a network in a reception order, wherein the data segments are transmitted in accordance with a transport protocol and wherein the segments incorporate sequence values indicative of a transmission order of the segments;

for each segment received in the reception order, comparing the sequence values of the received segment and of the segments received earlier in the reception order in order to assign the received segment a classification identity as an in-order or out-of-order segment; and

arranging the segments in the transmission order in an output buffer, by writing the segments to respective locations in the output buffer based on the classification identity of each segment, wherein comparing the sequence values of the received segment and of the segments received earlier in the reception order comprises generating a pre-determined mapping between received-segment classification identities, said received-segment classification identities comprising the classification identity, and expected sets of comparison results responsive to the sequence values.

2. The method according to claim 1 , wherein the pre-determined mapping comprises a one-to-one mapping.

3. A method for processing incoming data segments, the method comprising:

receiving the data segments over a network in a reception order, wherein the data segments are transmitted in accordance with a transport protocol and wherein the segments incorporate sequence values indicative of a transmission order of the segments;

for each segment received in the reception order, comparing the sequence values of the received segment and of the segments received earlier in the reception order in order to assign the received segment a classification identity as an in-order or out-of-order segment;

arranging the segments in the transmission order in an output buffer, by writing the segments to respective locations in the output buffer based on the classification identity of each segment, wherein the segments received earlier in the reception order comprise one or more out-of-order segments; and

generating a pre-determined mapping between the classification identity and an expected set of comparison results responsive to the sequence values.

4. A method for processing incoming data segments, the method comprising:

receiving the data segments over a network in a reception order, wherein the data segments are transmitted in accordance with a transport protocol and wherein the segments incorporate sequence values indicative of a transmission order of the segments;

for each segment received in the reception order, comparing the sequence values of the received segment and of the segments received earlier in the reception order in order to assign the received segment a classification identity as an in-order or out-of-order, wherein comparing the sequence values of the received segment and of the segments received earlier in the reception order comprises generating a pre-determined mapping between received-segment classification identities, said received-segment classification identities comprising the classification identity, and expected sets of comparison results responsive to the sequence values; and

arranging the segments in the transmission order in an output buffer, by writing the segments to respective locations in the output buffer based on the classification identity of each segment,

wherein the classification identity comprises instructions responsive to the sequence values of the received segment and of the segments received earlier in the reception order, and wherein writing the segments comprises implementing the instructions so as to correctly locate the received segment in the output buffer.

5. A system for processing incoming data segments, the system comprising:

at least one processor that enables receiving of the data segments over a network in a reception order, wherein the data segments are transmitted in accordance with a transport protocol and wherein the segments incorporate sequence values indicative of a transmission order of the segments;

said at least one processor enables comparing, for each segment received in the reception order, the sequence values of the received segment and of the segments received earlier in the reception order in order to assign the received segment a classification identity as an in-order or out-of-order segment; and

said at least one processor enables arranging the segments in the transmission order in an output buffer, by writing the segments to respective locations in the output buffer based on the classification identity of each segment,

wherein said at least one processor enables generation of a pre-determined mapping between received-segment classification identities, comprising the classification identity, and expected sets of comparison results responsive to the sequence values, and storing the mapping in the memory.

6. The system according to claim 5 , wherein the pre-determined mapping comprises a one-to-one mapping.

7. A system for processing incoming data segments, the system comprising:

at least one processor that enables receiving of the data segments over a network in a reception order, wherein the data segments are transmitted in accordance with a transport protocol and wherein the segments incorporate sequence values indicative of a transmission order of the segments;

said at least one processor enables comparing, for each segment received in the reception order, the sequence values of the received segment and of the segments received earlier in the reception order in order to assign the received segment a classification identity as an in-order or out-of-order segment; and

said at least one processor enables arranging the segments in the transmission order in an output buffer, by writing the segments to respective locations in the output buffer based on the classification identity of each segment, wherein the segments received earlier in the reception order comprise one or more out-of-order segments, and wherein the processor is to generate a pre-determined mapping between the classification identity and an expected set of comparison results responsive to the sequence values.

8. A system for processing incoming data segments, the system comprising:

at least one processor that enables receiving of the data segments over a network in a reception order, wherein the data segments are transmitted in accordance with a transport protocol and wherein the segments incorporate sequence values indicative of a transmission order of the segments;

said at least one processor enables comparing, for each segment received in the reception order, the sequence values of the received segment and of the segments received earlier in the reception order in order to assign the received segment a classification identity as an in-order or out-of-order, wherein comparing the sequence values of the received segment and of the segments received earlier in the reception order comprises generating a pre-determined mapping between received-segment classification identities, said received-segment classification identities comprising the classification identity, and expected sets of comparison results responsive to the sequence values; and

said at least one processor enables arranging the segments in the transmission order in an output buffer, by writing the segments to respective locations in the output buffer based on the classification identity of each segment, wherein the classification identity comprises instructions responsive to the sequence values of the received segment and of the segments received earlier in the reception order, and wherein writing the segments comprises implementing the instructions so as to correctly locate the received segment in the output buffer.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 47630 FRAME: 344. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0267 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 9/5/2018 PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0344 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0687 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
CHANGE OF NAME Recorded Apr 13, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017477/0524 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0650 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0554 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017780/0016 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0571 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0581 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0591 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0601 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0611 →
CHANGE OF NAME Recorded Apr 12, 2006
From: SILIQUENT TECHNOLOGIES, INC.
To: BROADCOM CORPORATION
Reel/Frame 017779/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2002
From: MIZRACHI, SHAY; SHALOM, RAFI; GRINFELD, RON
To: SILIQUENT TECHNOLOGIES INC.
Reel/Frame 013244/0971 →