IP Library Granted Patent US 7,848,253
Granted Patent B2
US 7,848,253 · App. 12/051,707 · Granted Dec 7, 2010

Method for scoring queued frames for selective transmission through a switch

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,848,253
App. No.
12/051,707
Granted
Dec 7, 2010
Kind
B2
Abstract

A method includes determining a priority of each of a plurality of frames, wherein the priority is a function of an initial value dependent on content of each said frame and one or more adjustment values independent of content of each said frame, and selecting the frame with the highest determined priority for transmission through the device prior to transmission of any other of the frames. A system includes a receiving port configured to receive frames and assign an initial priority to each frame, a queue configured to insert queue entries associated with received frames on the queue, each queue entry being inserted at a queue position based on the initial priority assigned to the queue entry, the queue further configured to reorder queue entries based on readjusted priorities of the queue entries; and a transmitter switch configured to transmit the frame having the highest priority before transmitting any other frame.

Claims (39)

1. A method of selectively transmitting frames through a device, the method comprising:

determining a priority of each said frame, wherein the priority is a function of an initial value dependent on content of each said frame and one or more adjustment values independent of content of each said frame; and

selecting the frame with the highest determined priority for transmission through the device prior to transmission of any other of the frames.

2. The method of claim 1 further comprising:

inserting each frame on a queue at a queue position based on the initial value; and

reordering frames on the queue based on adjustments to priorities of the frames.

3. The method of claim 1 wherein said determining a priority of each said frame comprises:

determining an initial score determined based on content of each said frame; and

adjusting the initial score with the one or more adjustment values, to generate an adjusted score representing the priority of each said frame.

4. The method of claim 1 , wherein the initial value comprises a quality of service assigned to each said frame.

5. The method of claim 4 , further comprising determining the quality of service assigned to each said frame based on a portion of content in each said frame.

6. The method of claim 5 , wherein determining the quality of service assigned to each said frame comprises:

comparing the portion of content of each said frame to each of a plurality of templates to identify one or more template matches;

defining one or more participation matches, wherein each participation match designates a combination of one or more template matches;

associating a quality of service with each of the one or more participation matches; and

assigning to each said frame the quality of service associated with the participation match corresponding to the one or more template matches identified for each said frame.

7. The method of claim 6 , further comprising assigning a default quality of service to any of the frames for which the one or more identified template matches do not correspond to one of the combinations of template matches.

8. The method of claim 1 , wherein the one or more adjustment values comprise a time value that is a function of the time that each said frame is stored on a queue.

9. The method of claim 8 , wherein the time value comprises a weighted function of the time that each said frame is stored on a queue.

10. The method of claim 1 , wherein the one or more adjustment values comprise a bandwidth allocation associated with a port that received each said frame.

11. A method for selectively transmitting a plurality of frames through a device, the method comprising:

determining a priority of each said frame, the priority being determined based on a combination of quality of service determined from content of each said frame and one or more other values determined independent of content of each said frame; and

selecting a frame having the highest determined priority for transmission through the device before transmission of any other of the frames.

12. The method of claim 11 , further comprising:

inserting each frame on a determined queue among a plurality of queues, wherein each frame is inserted at a queue position based on the quality of service of the frame; and

reordering frames on each queue based on adjustments to the priorities of the frames.

13. The method of claim 11 , further comprising:

receiving each said frame on one of a plurality of ports of the device;

in response to receiving each said frame, inserting an identifier of each said frame on a queue associated with the port that received each said frame, wherein inserting each said identifier on the queue comprises inserting each said identifier ahead of all other identifiers of frames on the queue having lesser quality of service and behind all other identifiers of frames on the queue having greater or equal quality of service; and

following passage of a selected time, for each said frame, combining said one or more other values with the quality of service of each said frame.

14. The method of claim 13 , wherein one of the one or more other values is dependent upon the time that each said frame has been on the queue.

15. A system for selectively transmitting frames through a device, the system comprising:

a receiving port configured to receive frames and assign an initial priority to each frame;

a queue configured to insert queue entries associated with received frames on the queue, each queue entry being inserted at a queue position based on the initial priority assigned to the queue entry, the queue further configured to reorder queue entries based on readjusted priorities of the queue entries; and

a transmitter configured to transmit the frame having the highest priority before transmitting any other frame.

16. The system of claim 15 wherein the initial priority of each frame is adjusted based on adjustment values independent of content of the frame.

17. The system of claim 15 , wherein the receiving port includes at least one comparator configured to compare selected content of each frame to a template.

18. The system of claim 17 , wherein the receiving port further includes a plurality of participation groups configured to determine whether each frame matches a specified combination of templates.

19. The system of claim 18 wherein the initial priority of each frame is set to a quality of service associated with a participation group matched by the frame.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2012
From: MCDATA CORPORATION
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 029486/0062 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2008
From: MITCHEM, W. JEFFREY; O'DONNELL, MICHAEL E.
To: MCDATA CORPORATION
Reel/Frame 021327/0972 →