IP Library Granted Patent US 6,967,951
Granted Patent B2
US 6,967,951 · App. 10/044,244 · Granted Nov 22, 2005

System for reordering sequenced based packets in a switching network

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 6,967,951
App. No.
10/044,244
Granted
Nov 22, 2005
Kind
B2
Abstract

System for reordering sequenced based packets in a switching network. The system includes a plurality of source processors that transmit the packets to a destination processor via multiple communication fabrics. The source processors and the destination processor are synchronized together. Time stamp logic at each source processor operates to include a time stamp parameter with each of the packets transmitted from the source processors. The system also includes a plurality of memory queues located at the destination processor. An Enqueue processor operates to store a memory pointer and an associated time stamp parameter for each of the packets received at the destination processor in a selected memory queue. A Dequeue processor determines a selected memory pointer associated with a selected time stamp parameter and operates to process the selected memory pointer to access a selected packet for output in a reordered packet stream.

Claims (27)

1. A system for reordering data packets in a packet switch network, wherein a plurality of source processors transmit the data packets to a destination processor via multiple communication fabrics, and wherein the source processors and the destination processor are synchronized, the system comprising:

time stamp logic at each source processor that operates to include a time stamp parameter with each of the data packets transmitted from the source processors;

a plurality of memory queues located at the destination processor;

an Enqueue processor coupled to the plurality of memory queues and located at the destination processor, wherein the Enqueue processor operates to store a memory pointer and an associated time stamp parameter for each of the data packets received at the destination processor in a selected memory queue; and

a Dequeue processor coupled to the plurality of memory queues and operable to access the plurality of memory queues to determine a selected memory pointer associated with a selected time stamp parameter, and wherein the Dequeue processor operates to process the selected memory pointer to access a selected data packet for output in a reordered packet stream.

2. The system of claim 1 , wherein the source processors and the destination processor are synchronized to an external synchronization signal.

3. The system of claim 1 , wherein the plurality of memory queues are associated with the multiple communication fabrics, wherein there is at least one memory queue per communication fabric.

4. The system of claim 1 , wherein the Enqueue processor is operable to store each of the data packets received at the destination processor in a memory at a location defined by the memory pointer.

5. The system of claim 1 , wherein each of the plurality of memory queues is a first-in-first-out memory that includes a queue output, and wherein the Dequeue processor accesses the queue outputs to determine the selected memory pointer associated with the selected time stamp parameter.

6. The system of claim 5 , wherein the selected time stamp parameter is the earliest time stamp parameter at the queue outputs.

7. The system of claim 1 , wherein the Dequeue processor waits a selected delay period defined by the difference between the current time and the selected time stamp parameter before accessing the selected received data packet.

8. The system of claim 1 , wherein the source processors add a priority level indicator to each of the transmitted data packets, wherein the priority level indicator is chosen from selected priority levels.

9. The system of claim 8 , wherein the plurality of memory queues are associated with the multiple communication fabrics and the selected priority levels, and wherein the total number of the memory queues is equal to the number of communication fabrics times the number of selected priority levels.

10. The system of claim 9 , wherein the Dequeue processor is operable to determine the earliest time stamp parameter at the queue outputs associated with the highest priority level.

11. A method for reordering data packets in a packet switch network, wherein a plurality of source processors transmit the data packets to a destination processor via multiple communication fabrics, and wherein the source processors and the destination processor are synchronized, the method comprising steps of:

including a time stamp parameter with each of the data packets before they are transmitted from the source processors;

defining a plurality of memory queues located at the destination processor;

storing a memory pointer and a time stamp parameter associated with each of the data packets received at the destination processor in a selected one of the memory queues; and

determining, from the plurality of memory queues, a selected memory pointer associated with a selected time stamp parameter; and

processing the selected memory pointer to access a selected data packet for output in a reordered packet stream.

12. The method of claim 11 , further comprising a step of waiting for a selected time period determined by a difference between a current time and the selected time stamp parameter before performing the step of processing.

13. The method of claim 11 , further comprising a step of including a priority value with each of the data packets before they are transmitted by the source processors.

14. The method of claim 13 , wherein the step of determining is a step of determining, from a portion of the plurality of memory queues, the selected memory pointer associated with the selected time stamp parameter, wherein the portion of the plurality of memory queues is associated with a selected priority value.

15. The method of claim 11 , wherein the step of defining comprises a step of defining the plurality of memory queues so that there are as many memory queues as there are network fabrics.

16. The method of claim 11 , wherein the step of including further comprises a step of including a priority level indicator with each of the data packets before they are transmitted from the source processors, wherein the priority level indicator is chosen from selected priority levels.

17. The method of claim 16 , wherein the step of defining comprises a step of defining the plurality of memory queues so that the total number of memory queues is equal to the number of communication fabrics times the number of selected priority levels.

18. The method of claim 11 , wherein the step of determining is a step of determining, from the plurality of memory queues, a selected memory pointer associated with a selected time stamp parameter, wherein the selected time stamp parameter is the earliest time stamp parameter.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 056981 FRAME: 0631. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 16, 2022
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 059907/0563 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 054443 FRAME: 0958. ASSIGNOR(S) HEREBY CONFIRMS THE LICENSE. Recorded Feb 4, 2021
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 056981/0631 →
LICENSE Recorded Nov 5, 2020
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED SOLUTIONS, INC.
Reel/Frame 054443/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2020
From: INTELLECTUAL VENTURES ASSETS 135 LLC
To: COMMWORKS SOLUTIONS, LLC
Reel/Frame 051463/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2019
From: MINERAL LASSEN LLC
To: INTELLECTUAL VENTURES ASSETS 135 LLC
Reel/Frame 050886/0611 →
MERGER Recorded Nov 12, 2015
From: BUNSON BELL, LIMITED LIABILITY COMPANY
To: MINERAL LASSEN LLC
Reel/Frame 037027/0735 →