IP Library Granted Patent US 8,644,326
Granted Patent B2
US 8,644,326 · App. 12/410,704 · Granted Feb 4, 2014

Queue processing method

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 8,644,326
App. No.
12/410,704
Granted
Feb 4, 2014
Kind
B2
Abstract

A method of processing data packets, each data packet being associated with one of a plurality of entities. The method comprises storing a data packet associated with a respective one of said plurality of entities in a buffer, storing state parameter data associated with said stored data packet, the state parameter data being based upon a value of a state parameter associated with said respective one of said plurality of entities, and processing a data packet in said buffer based upon said associated state parameter data.

Claims (58)

1. A method of processing data packets in a switching device comprising a plurality of ingress and egress ports, each port being arranged to store a respective state parameter for each unique ingress flow passing through said port, each ingress flow being associated with one of a plurality of entities, the switching device being arranged to switch data packets received at one of said ports to another one of said ports, each data packet being associated with one of said plurality of entities, each of said entities being distinct from said switching device, the method comprising:

receiving a first data packet at a first one of said ports, the first data packet being associated with a first one of said entities;

storing said received first data packet in a buffer at the switching device;

storing first state parameter data associated with said first data packet at the switching device, the first state parameter data being based upon a value of a state parameter stored at the first port and associated with said first entity; and

processing said first data packet in said buffer based upon said first associated state parameter data and said state parameter stored at the first port;

receiving a second data packet at a second one of said plurality of ports, the data packet being associated with said first one of said entities;

storing said received second data packet in a buffer at the switching device;

storing second state parameter data associated with said second data packet at the switching device, the second state parameter data being based upon a value of a state parameter stored at the second port and associated with said first entity; and

processing said second data packet in said buffer based upon said second associated state parameter data and said state parameter stored at the second port;

wherein each state parameter is updateable in response to at least one event associated with an entity associated with said unique ingress flow, the state parameter data indicating an operational state of said entity.

2. A method according to claim 1 , wherein said processing said first data packet comprises:

processing the first state parameter data associated with said first data packet with reference to a current value of the first state parameter associated with said first entity.

3. A method according to claim 2 , wherein if said processing indicates a first relationship between said first state parameter data associated with first data packet and the current value of said first state parameter associated with said first entity the method further comprises:

transmitting said first data packet to at least one destination associated with the first data packet.

4. A method according to claim 3 , wherein said first relationship is equality.

5. A method according to claim 2 , wherein if said processing indicates a second relationship between said first state parameter data associated with said first data packet and the current value of said first state parameter associated with the first entity the method further comprises:

discarding said first data packet.

6. A method according to claim 1 , wherein said buffer is a queue.

7. A method according to claim 6 , wherein said queue is a first-in, first-out queue.

8. A method according to claim 1 , wherein a state parameter associated with an entity is updated in response to at least one event associated with said entity.

9. A method according to claim 8 , wherein said event is a reset.

10. A method according to claim 1 wherein said state parameter is a counter.

11. A method according to claim 1 , wherein said first entity is a source of said first data packet.

12. A method according to claim 1 , wherein said first entity is a destination of said first data packet.

13. A method according to claim 1 , wherein said first entity is a computing device.

14. A method according to claim 1 wherein said first entity is a computer program running on a computing device.

15. A method according to claim 1 wherein said first state parameter data is stored in said buffer.

16. A method according to claim 15 wherein said first state parameter data is stored in said buffer alongside said first data packet.

17. A method of storing data packets in a buffer of a switching device, the switching device comprising a plurality of ingress and egress ports, each port being arranged to store a respective state parameter for each unique ingress flow passing through said port, each ingress flow being associated with one of a plurality of entities, the switching device being arranged to switch a data packet received at one of said ports to another one of said ports, each data packet being associated with one of said plurality of entities, each of said entities being distinct from said switching device, the method comprising:

receiving at a first port a first data packet associated with a first one of said plurality of entities;

determining a value of first updateable state parameter stored at said first port and associated with said first one of said plurality of entities, the first state parameter comprising an indicator of the operational state of said first one of said plurality of entities;

storing said first data packet in a first buffer of the switching device;

storing first state parameter data at the switching device based upon said determined value of said first state parameter;

receiving at a second port different to said first port a second data packet, the second data packet being associated with said first one of said plurality of entities;

determining a value of a second updateable state parameter stored at said second port and associated with said first one of said plurality of entities, the second state parameter comprising an indicator of the operational state of said first one of said plurality of entities;

storing said second data packet in a second buffer at the switching device; and

storing second state parameter at the switching device based upon said determined value of said second state parameter.

18. A method according to claim 17 , wherein said queue is a first-in, first-out queue.

19. A method according to claim 17 , wherein said first state parameter is a counter.

20. A method according to claim 17 , wherein said first entity is a source of said first data packet.

21. A method according to claim 17 , wherein said first entity is a destination of said first data packet.

22. A method according to claim 17 , wherein said first state parameter data is stored in said buffer.

23. A method according to claim 22 , wherein said first state parameter data is stored in said buffer alongside said first data packet.

24. Apparatus for processing data packets, the apparatus comprising;

a memory storing processor readable instructions; and

a processor configured to read and execute instructions stored in said memory;

wherein said processor readable instructions comprise instructions controlling the processor to carry out a method according to claim 1 .

25. A non-transitory carrier medium carrying a computer program comprising instructions controlling the computer to carry out a method according to claim 1 .

26. A switching device for switching data packets, each data packet being associated with one of a plurality of entities, each of said entities being distinct from said switching device, the switching device comprising:

a first port adapted to receive a first data packet associated with a first one of said plurality of entities and a second port adapted to receive a second data packet associated with said first one of said plurality of entities, each port being arranged to store a respective state parameter for each unique ingress flow passing through said port, each ingress flow being associated with one of said plurality of entities;

a memory adapted to store said received data packets associated with said first one of a plurality of entities in a buffer;

a memory storing first state parameter data associated with said stored first data packet and second state parameter data associated with said stored second data packet, the first state parameter data being based upon a value of an updateable state parameter stored at the first port and associated with said first one of said plurality of entities, the second state parameter data being based upon a value of an updatable state parameter stored at the second port and associated with said first one of said plurality of entities, the first and second state parameter data comprising an indicator of the operational state of said first one of said plurality of entities; and

a processor processing said first data packet in said buffer based upon said first state parameter data and processing said second data packet in said buffer based upon said second state parameter data.

27. Apparatus according to claim 26 , wherein said buffer is a queue.

28. Apparatus according to claim 26 wherein said processor is configured to:

select a data packet for processing; and

process the state parameter data associated with said selected data packet with reference to a current value of the state parameter associated with said respective entity.

29. Apparatus according to claim 26 , wherein the apparatus is a switching device.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
RELEASE OF SECURITY INTEREST Recorded May 18, 2012
From: KREOS CAPITAL III (LUXEMBOURG) S.A.R.L
To: MICRON TECHNOLOGY, INC
Reel/Frame 028233/0608 →