IP Library Granted Patent US 7,010,611
Granted Patent B1
US 7,010,611 · App. 09/612,635 · Granted Mar 7, 2006

Bandwidth management system with multiple processing engines

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,010,611
App. No.
09/612,635
Granted
Mar 7, 2006
Kind
B1
Abstract

A method of managing bandwidth including receiving packets on an input port, classifying the packets in a classification engine, processing the packets in a processing engine, queuing the packets in a queuing engine, and scheduling the packets on an output port.

Claims (82)

1. A computer-implemented method of managing bandwidth comprising:

receiving packets on an input port;

classifying received packets in a classification engine;

processing the classified packets in a processing system according to their classifications,

including selecting processing from a group consisting of at least two of

session bandwidth packet processing,

rate shaping packet processing,

admission control packet processing, and

type of service (TOS) packet processing; and

queuing packets in a queuing engine.

2. The computer-implemented method of claim 1 wherein the packets comprise network packets.

3. The computer-implemented method of claim 2 wherein the network packets comprise traffic types.

4. The computer-implement method of claim 3 wherein the traffic types comprise wide area network (WAN) traffic destined for a local area network (LAN).

5. The computer-implemented method of claim 3 wherein the traffic types comprise local area network (LAN) traffic destined for a wide area network (WAN).

6. The computer-implemented method of claim 1 wherein classifying comprises:

generating hash values based on components of the network packets; and

determining corresponding classes for the hash values.

7. The computer-implemented method of claim 6 wherein the components comprise 5-tuples.

8. The computer-implemented method of claim 7 wherein the 5-tuples comprise destination addresses, destination ports, source addresses, source ports and protocol numbers.

9. The computer-implemented method of claim 1 wherein processing comprises rate shaping packet processing.

10. The computer-implemented method of claim 9 wherein rate-shaping processing comprises:

determining whether class borrowing is enabled for the class assigned to the packet;

determining an advertised window size for a class that has class borrowing disabled by the algorithm:

C=B /( n )( D )

where C is the capacity of the class, B is the class bandwidth, n is the number of currently active connections and D is an estimate of round trip time of the connection; and

determining an advertised window size for a class that has class borrowing enabled by the algorithm:

C=B ′/( n )( D )

where B′ is the maximum of class bandwidth and burst bandwidth.

11. The computer-implemented method of claim 1 wherein processing comprises session bandwidth packet processing.

12. The computer-implemented method of claim 11 wherein session bandwidth packet processing comprises:

generating a new class for the packet class if a packet class specifies a guaranteed minimum bandwidth;

assigning the new class the guaranteed minimum bandwidth; and

generating a 5-tuple filter for the new class.

13. The computer-implemented method of claim 12 wherein the 5-tuple filter comprises a destination address of the packet, a destination port of the packet, a source address of the packet, a source port and a protocol of the packet.

14. The computer-implemented method of claim 1 wherein processing comprises admission control packet processing.

15. The computer-implemented method of claim 14 wherein admission control packet processing comprises session:

receiving a connection;

determining a class for the connection;

determining whether there is sufficient bandwidth for the class to guarantee a minimum bandwidth;

determining an admission directive from the class; and

processing the packets in the connection in response to the admission directive.

16. The computer-implemented method of claim 15 wherein the admission directive is squeeze.

17. The computer-implemented claim of 16 wherein processing comprises reclassifying the packet to a default class.

18. The computer-implemented method of claim 15 wherein the admission directive is drop.

19. The computer-implemented claim of 18 wherein processing comprises dropping the connection.

20. The computer-implemented method of claim 15 wherein the admission directive is deny.

21. The computer-implemented claim of 20 wherein processing comprises generating a reset packet.

22. The computer-implemented method of claim 1 wherein processing comprises type of service (TOS) packet processing.

23. The computer-implemented method of claim 22 wherein TOS packet processing comprises changing TOS values to match underlying application.

24. The computer-implemented method of claim 1 wherein processing comprises:

session bandwidth packet processing;

rate shaping packet processing;

admission control packet processing; and

type of service (TOS) packet processing.

25. The computer-implemented method of claim 1 wherein queuing comprises placing processed packets in queues according to classes.

26. The computer-implemented method of claim 1 further comprising receiving parameters from a policy manager.

27. The computer-implemented method of claim 26 wherein the parameters comprise a class bandwidth and a class priority.

28. The computer-implemented method of claim 1 further comprising:

queuing the processed packets in a queuing engine; and

scheduling the queued packets on an output port.

29. The computer-implemented method of claim 1 wherein processing the classified packets includes selecting processing from a group consisting of

session bandwidth packet processing,

rate shaping packet processing

admission control packet processing, and

type of service (TOS) packet processing.

30. A bandwidth management system comprising:

an input port, the input port connected to a classification engine;

a processing engine, the processing engine connected to the classification engine,

wherein the processing engine comprises at least two of

a session bandwidth engine,

a rate-shaping engine,

an admission control engine, and

a type of service (TOS) processing engine; and

a queuing engine connected to the processing engine and to an output port.

31. The bandwidth management system of claim 30 wherein the processing engine comprises:

session bandwidth engine;

a rate-shaping engine;

an admission control engine; and

type of service (TOS) processing engine.

32. The bandwidth management system of claim 30 further comprising a policy manager connected to the processing and queuing engine.

33. The bandwidth management system of claim 32 wherein the policy manager is an input device providing parameters.

34. The bandwidth management system of claim 33 wherein the parameters comprise a class bandwidth and class priority.

Assignments (15)
SECURITY INTEREST Recorded Sep 3, 2022
From: BARRACUDA NETWORKS, INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 061377/0208 →
SECURITY INTEREST Recorded Sep 3, 2022
From: BARRACUDA NETWORKS, INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 061377/0231 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN IP RECORDED AT R/F 045327/0877 Recorded Aug 16, 2022
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 061179/0602 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN IP RECORDED AT R/F 054260/0746 Recorded Aug 16, 2022
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 061521/0086 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 30, 2020
From: BARRAUDA NETWORKS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 054260/0746 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT R/F 045327/0934 Recorded Apr 15, 2019
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 048895/0841 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 14, 2018
From: BARRACUDA NETWORKS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045327/0877 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 14, 2018
From: BARRACUDA NETWORKS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045327/0934 →
RELEASE OF SECURITY INTEREST Recorded Jan 8, 2018
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: BARRACUDA NETWORKS, INC.
Reel/Frame 045027/0870 →
SECURITY INTEREST Recorded Oct 12, 2012
From: BARRACUDA NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 029218/0107 →
RELEASE Recorded May 30, 2012
From: SILICON VALLEY BANK
To: SITARA NETWORKS, INC.
Reel/Frame 028318/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2009
From: CONVERGED ACCESS, INC.
To: BARRACUDA NETWORKS, INC.
Reel/Frame 022151/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2006
From: WIRYAMAN, SANTA; ROMRELL, DAVID
To: CONVERGED ACCESS, INC.
Reel/Frame 017286/0938 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2005
From: SITARA NETWORKS, INC.
To: CONVERGED ACCESS, INC.
Reel/Frame 016871/0727 →
SECURITY INTEREST Recorded Jan 9, 2002
From: SITARA NETWORKS, INC.
To: SILICON VALLEY BANK DBA: SILICON VALLEY EAST
Reel/Frame 012435/0391 →