IP Library Granted Patent US 7,546,367
Granted Patent B2
US 7,546,367 · App. 10/758,327 · Granted Jun 9, 2009

Methods and systems for managing network traffic by multiple constraints

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,546,367
App. No.
10/758,327
Granted
Jun 9, 2009
Kind
B2
Abstract

Methods and systems for managing network traffic by multiple constraints are provided. A received network packet is assigned to multiple queues where each queue is associated with a different constraint. A network packet traverses the queues once it satisfies the constraint associated with that queue. Once the network packet has traversed all its assigned queues the network packet is forwarded to its destination. Also, network activity, associated with higher priority applications which are not managed, is detected. When such activity is detected, additional constraints are added to the network packet as it traverses its assigned queues.

Claims (51)

1. A method to manage network traffic by multiple constraints, the method implemented in a computer-readable storage medium and adapted to process on a hardware device and comprising:

identifying constraints associated with a network packet;

assigning the network packet to a plurality of queues;

forwarding the network packet to a first one of the queues; and

releasing the network packet to each successive queue as a number of the constraints is satisfied, wherein each distinct one of the constraints is associated with a particular one of the queues and each distinct one of the constraints is used to control exiting of the network packet through each queue to which it is associated an on to a next one of the remaining queues, and wherein each queue has local priorities for that particular queue that permit the network packet and other packets within that particular queue to be reordered within that particular queue in response to the local priorities for that particular queue;

adding a new constraint for managing the network packet while the network activity remains at a higher priority thereby slowing traversal of the network packet through a queue path associated with the queues;

listening applications that listen for activity of the higher priority applications associated with the configuration policies and notify the traffic manager when activity is detected to thereby slow the progression of the network packets through the queue path in view of the higher priority applications.

2. The method of claim 1 further comprising linking each of the queues together based on the constraints.

3. The method of claim 2 wherein the linking further includes forming a hierarchical queue path for the network packet to pass through based on the linking of each of the queues.

4. The method of claim 1 further comprising delaying the releasing of the network packet to each of the successive queues until desired periods of time have elapsed, wherein each queue includes its own desired period of time.

5. The method of claim 1 further comprising delaying the releasing of the network packet from a last queue until a desired global period of time has elapsed.

6. The method of claim 1 wherein the identifying the constraints further includes representing constraints as at least one of bandwidth limits, time limits, and resource limits associated with the network packet and each constraint is assigned to a specific one of the queues.

7. The method of claim 1 wherein the releasing further includes releasing the network packet as more than one copy and in parallel to more than one of the successive queues as a number of the constraints are satisfied for a number of the queues.

8. The method of claim 1 wherein the processing is implemented in at least one of a sender, a receiver, and a proxy acting as both the sender and the receiver.

9. The method of claim 1 wherein the processing is implemented in a receiver and the receiver sends an acknowledgment to a sender of the network packet after the network packet has passed through all of the queues.

10. A method to manage network traffic by multiple constraints, the method implemented in a computer-readable storage medium and adapted to process on a hardware device and comprising:

managing a network packet by multiple constraints, wherein each constraint is associated and assigned to a different queue that the network packet traverses through before being released over the network and each distinct one of the constraints is used to control exiting of the network packet from a particular queue having the network packet to a next queue;

detecting network activity not being managed;

identifying the network activity as being associated with a higher priority application; and

wherein each queue has local priorities for that particular queue that permit the network packet and other packets within that particular queue to be reordered within that particular queue in response to the local priorities for that particular queue; and

adding a new constraint for managing the network packet while the network activity remains at a higher priority thereby slowing traversal of the network packet through a queue path associated with the queues; and

listening applications that listen for activity of the higher priority applications associated with the configuration policies and notify the traffic manager when activity is detected to thereby slow the progression of the network packets through the queue path in view of the higher priority applications.

11. The method of claim 10 wherein the detecting further includes receiving notice of the network activity from a listening application which provides an identity for the higher priority application.

12. The method of claim 11 further comprising receiving a specific activity from the listening application that identifies operations being performed by the higher priority application.

13. The method of claim 10 further comprising removing the new constraint for managing the network packet when the network activity idles and a configurable period of time has elapsed where no activity is detected.

14. The method of claim 10 wherein adding the new constraint further includes reducing bandwidth used for managing the network packet.

15. The method of claim 10 wherein adding the new constraint further includes enforcing a reduction in bandwidth for managing the network packet if the network activity is impacted by managing the network packet.

16. The method of claim 10 wherein in adding the new constraint further includes reducing bandwidth for managing the network packet by a configurable percentage based on a priority level associated with the higher priority application.

17. A system to manage network traffic by multiple constraints, and implemented in a computer-readable storage medium and adapted to process on a hardware device and comprising:

a plurality of queues each associated with a separate constraint, wherein each distinct constraint is associated to a particular one of the queues and each distinctive constraint controls exiting of network packets through that distinctive constraint's queue, and wherein each queue has local priorities for that particular queue that permit the network packets within that particular queue to be reordered within that particular queue in response to the local priorities for that particular queue; and

a queue manager that assembles sets of the queues into hierarchies for received network packets based on identities associated with the network packets, and wherein the packets traverse the hierarchies after satisfying the constraints of the queues and once traversed the network packets are forward to their destinations; and

adding a new constraint for managing the network packet while the network activity remains at a higher priority thereby slowing traversal of the network packet through a queue path associated with the queues; and

listening applications that listen for activity of the higher priority applications associated with the configuration policies and notify the traffic manager when activity is detected to thereby slow the progression of the network packets through the queue path in view of the higher priority applications.

18. The system of claim 17 wherein the system is implemented in at least one of a receiver, a sender, and a proxy acting as both the sender and the receiver.

19. The system of claim 17 wherein a number of the network packets traverse their respective hierarchies as multiple copies and in parallel to one another and once a first copy completely traverses its respective hierarchy the remaining copies are removed from their respective hierarchies.

20. The system of claim 17 wherein a number of the network packets serially traverse their respective hierarchies.

21. The system of claim 17 wherein the queue manager assembles the hierarchies by linking selective queues together and wherein each link represents a traversal within one of the hierarchies.

22. The system of claim 21 wherein each link is associated with a priority.

23. A system to manage network traffic by multiple constraints and implemented in a computer-readable storage medium and adapted to process on one or more hardware devices, comprising:

a traffic manager that manages network packets by multiple constraints, wherein each constraint is assigned to a particular queue and each distinct constraint controls exiting of the network packets through that distinct constraint's queue to a next queue within queue path that the network packets traverse;

configuration policies that identify higher priority applications that generate network traffic which is not controlled by the traffic manager, wherein the configuration policies include actions for the traffic manager to take when the higher priority applications are active; and

wherein each queue has local priorities for that particular queue that permit the network packet and other packets within that particular queue to be reordered within that particular queue in response to the local priorities for that particular queue; and

adding a new constraint for managing the network packet while the network activity remains at a higher priority thereby slowing traversal of the network packet through a queue path associated with the queues; and

listening applications that listen for activity of the higher priority applications associated with the configuration policies and notify the traffic manager when activity is detected to thereby slow the progression of the network packets through the queue path in view of the higher priority applications.

24. The system of claim 23 wherein each of the listening applications is assigned to listen for the activity on a defined network port.

25. The system of claim 23 wherein each of the listening applications is associated with a specific network interface media.

26. The system of claim 23 wherein a number of the listening applications detect specific types of operations being performed by the applications.

27. The system of claim 23 wherein a number of the listening applications detect when activity of the higher priority applications becomes idle and notifies the traffic manager to suspend any actions that were being enforced while the higher priority applications remain idle.

28. The system of claim 23 wherein a number of the listening applications do not notify the traffic manager when activity is detected if the activity is not impacted by the traffic manager's management of the network packets.

29. The system of claim 23 wherein a number of the actions instruct the traffic manager to reduce bandwidth allocation for the network packets by a percentage.

30. The system of claim 23 wherein a number of the listening applications detect when a number of the higher priority applications exit processing and notify the traffic manager to suspend any actions being enforced.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2011
From: NOVELL, INC.
To: CPTN HOLDINGS, LLC
Reel/Frame 027169/0200 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2011
From: CPTN HOLDINGS LLC
To: EMC CORPORATON
Reel/Frame 027016/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2004
From: MAHDAVI, JAMSHID
To: NOVELL, INC.
Reel/Frame 014905/0338 →