IP Library Granted Patent US 7,230,923
Granted Patent B2
US 7,230,923 · App. 10/096,442 · Granted Jun 12, 2007

Time based packet scheduling and sorting system

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,230,923
App. No.
10/096,442
Granted
Jun 12, 2007
Kind
B2
Abstract

Methods and systems for controlling scheduling in a packet switching node in a network are provided which enable the scheduling of packets from different sources in an earliest deadline first order. The packets are assigned timestamp deadlines and placed in input queues. The timestamps are determined according to maximum delay or minimum throughput quality of service requirements specified for the packets. The packets are scheduled in the earliest deadline first order in an output packet store. The packet closest to its timestamp deadline is selected from the output packet store by using an index.

Claims (42)

1. A method of scheduling packets of digital data from multiple sources, the method comprising:

buffering packets into one of a plurality of input queues in order of arrival;

storing the buffered packets in an output packet store in an earliest deadline first order, the output packet store comprising a plurality of slots, each packet having a timestamp, wherein the output packet store is a sparse output packet store; and

locating packets for transmission by finding stored packets in the output packet store having the timestamp closest to a transmission deadline by using an index,

wherein the index includes a plurality of lookup tables, a lowest level lookup table having a same number of entries as a number of the slots of the output packet store and each higher level lookup table having fewer number of entries, each entry of a higher level lookup table corresponding to a number of adjacent entries in the lookup table below.

2. The method of claim 1 wherein the packets of digital data from individual sources are buffered in separate input queues.

3. The method of claim 2 wherein storing the buffered packets is performed in a round robin fashion.

4. The method of claim 2 wherein storing the buffered packets is performed in a weighted round robin fashion.

5. The method of claim 2 further comprising assigning timestamps to the packets of digital data prior to buffering the packets in input queues and wherein storing the buffered packets in earliest deadline first order is based on the assigned timestamps.

6. The method of claim 5 wherein the assigned timestamp is based on one of a maximum allowable delay and a minimum throughput requirement for packets generated by a source that generated the packet with the assigned timestamp.

7. A method of scheduling packets of digital data from multiple sources, the method comprising:

assigning timestamps to incoming packets from a source, the timestamps being based on one of a maximum allowable delay and a minimum throughput requirement for packets from the source;

allocating incoming packets to input queues;

removing packets from a head of each of the input queues;

storing the removed packets in an earliest deadline first order in a sparse output packet store; and

choosing a packet from the packets stored in the output packet store that has a timestamp closest to a current time as a packet to be transmitted,

wherein choosing the packet comprises using an index, and

wherein the index includes a plurality of lookup tables, a lowest level lookup table having a same number of entries as a number of slots of the output packet store and each higher level lookup table having fewer number of entries, each entry of a higher level lookup table corresponding to a number of adjacent entries in the lookup table below, such that time taken to choose the packet does not depend on location of the packet within the output packet store.

8. The method of claim 7 wherein allocating incoming packets the incoming packets from different sources are allocated to separate input queues.

9. The method of claim 8 wherein removing packets starting from the head of each of the input queues is performed in a round robin fashion.

10. The method of claim 8 wherein removing packets starting from the head of each of the input queues is performed in a weighted round robin fashion.

11. A device for scheduling packets of digital data from multiple sources, the device comprising:

a plurality of input queues buffering packets;

an output packet store comprising a plurality of slots adapted to store packets from the input queues, wherein the output packet store is a sparse output packet store;

a control unit; and

a memory having an index;

wherein the control unit stores packets buffered in the input queues in earliest deadline first order in the plurality of slots of the output packet store,

wherein the index comprises information that enables the packet closest to its transmission deadline in the output packet store to be located in a time that is substantially independent of a location of the packet in the output packet store, and

wherein the index further comprises a plurality of lookup tables, a lowest level lookup table having a same number of entries as a number of the slots of the output packet store and each higher level lookup table having fewer number of entries, each entry of a higher level lookup table corresponding to a number of adjacent entries in the lookup table below, such that time taken to choose the packet does not depend on location of the packet within the output packet store.

12. The device of claim 11 wherein the control unit assigns a timestamp to each packet prior to the packets being buffered in the plurality of input queues, the timestamp being determined according to one of a maximum allowable delay and a minimum throughput requirement.

13. A system for scheduling packets of digital data from multiple sources, the system comprising:

a plurality of nodes;

a plurality of communication links coupling together the plurality of nodes;

a plurality of schedulers, each scheduler comprising:

a plurality of input queues buffering the packets from different sources in separate input queues;

an output packet store comprising a plurality of slots adapted to store the packets from the input queues, wherein the output packet store is a sparse output packet store; and

control hardware,

wherein each input queue of the plurality of input queues is assigned quality of service parameters, the quality of service parameters comprising one of a maximum delay and a minimum throughput requirement,

wherein the control hardware assigns a timestamp to each packet of the buffered packets according to the assigned quality of service parameters and places the packets in the output packet store based on the assigned timestamps,

wherein each scheduler schedules the packets from at least one of the plurality of nodes on at least one of the plurality of communication links, and,

wherein each of the plurality of schedulers includes a memory having an index including a plurality of lookup tables, a lowest level lookup table having a same number of entries as a number of the slots of the output packet store and each higher level lookup table having fewer number of entries, each entry of a higher level lookup table corresponding to a number of adjacent entries in the lookup table below.

14. The system of claim 13 wherein the index is used to locate packets in the output packet store.

Assignments (18)
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.), INC.; MICROSEMI FREQUENCY AND TIME CORPORATION; MICROSEMI COMMUNICATIONS, INC.; MICROSEMI SOC CORP.; MICROSEMI CORP. - POWER PRODUCTS GROUP; MICROSEMI CORP. - RF INTEGRATED SOLUTIONS
Reel/Frame 046251/0391 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2017
From: MICROSEMI COMMUNICATIONS, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 042523/0577 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.) INC. (F/K/A LEGERITY, INC., ZARLINK SEMICONDUCTOR (V.N.) INC., CENTELLAX, INC., AND ZARLINK SEMICONDUCTOR (U.S.) INC.); MICROSEMI FREQUENCY AND TIME CORPORATION (F/K/A SYMMETRICON, INC.); MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION); MICROSEMI SOC CORP. (F/K/A ACTEL CORPORATION); MICROSEMI CORP. - POWER PRODUCTS GROUP (F/K/A ADVANCED POWER TECHNOLOGY INC.); MICROSEMI CORP. - RF INTEGRATED SOLUTIONS (F/K/A AML COMMUNICATIONS, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037691/0697 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2016
From: BANK OF AMERICA, N.A.
To: MICROSEMI CORPORATION; MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP, A DELAWARE CORPORATION; MICROSEMI SOC CORP., A CALIFORNIA CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.) INC., A DELAWARE CORPORATION; MICROSEMI FREQUENCY AND TIME CORPORATION, A DELAWARE CORPORATION; MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION), A DELAWARE CORPORATION; MICROSEMI CORP.-MEMORY AND STORAGE SOLUTIONS (F/K/A WHITE ELECTRONIC DESIGNS CORPORATION), AN INDIANA CORPORATION
Reel/Frame 037558/0711 →
MERGER AND CHANGE OF NAME Recorded May 13, 2015
From: VITESSE SEMICONDUCTOR CORPORATION; LLIU100 ACQUISITION CORP.
To: MICROSEMI COMMUNICATIONS, INC.
Reel/Frame 035651/0708 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Apr 29, 2015
From: MICROSEMI COMMUNICATIONS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035532/0925 →
RELEASE OF SECURITY INTEREST Recorded Apr 28, 2015
From: WHITEBOX VSC, LTD.
To: VITESSE SEMICONDUCTOR CORPORATION
Reel/Frame 035526/0090 →
RELEASE OF SECURITY INTEREST Recorded Nov 5, 2014
From: US BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VITESSE SEMICONDUCTOR CORPORATION
Reel/Frame 034176/0162 →
COLLATERAL ASSIGNMENT (INTELLECTUAL PROPERTY) Recorded Nov 5, 2009
From: VITESSE SEMICONDUCTOR CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 023471/0267 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2009
From: OBSIDIAN, LLC
To: VITESSE SEMICONDUCTOR CORPORATION; VLTESSE INTERNATIONAL, INC.; VITESSE MANUFACTURING & DEVELOPMENT CORPORATION; VITESSE SEMICONDUCTOR SALES CORPORATION
Reel/Frame 023438/0587 →
SECURITY AGREEMENT Recorded Oct 22, 2009
From: VITESSE SEMICONDUCTOR CORPORATION
To: WHITEBOX VSC, LTD.
Reel/Frame 023401/0813 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2009
From: OBSIDIAN, LLC
To: VITESSE SEMICONDUCTOR CORPORATION
Reel/Frame 023373/0053 →
SECURITY AGREEMENT Recorded Jun 29, 2006
From: VITESSE SEMICONDUCTOR CORPORATION
To: OBSIDIAN, LLC, AS COLLATERAL AGENT
Reel/Frame 017846/0847 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2002
From: ONVURAL, O. RAIF; O'CONNOR, ROBIN; VINIOTIS, IOANNIS
To: VITESSE SEMICONDUCTOR CORPORATION
Reel/Frame 012740/0507 →