IP Library Granted Patent US 7,779,144
Granted Patent B2
US 7,779,144 · App. 12/032,571 · Granted Aug 17, 2010

System and method for dynamically controlling aggregate and individual packet flow characteristics within a compressed logical data tunnel

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,779,144
App. No.
12/032,571
Granted
Aug 17, 2010
Kind
B2
Abstract

A system and method for dynamically controlling aggregate and individual packet flow characteristics within a compressed logical data tunnel. A logical data tunnel is formed and includes one or more packet flows. Each packet flow includes individual packets having a shared destination address. Bandwidth allocated to control an aggregated flow of packets routed through the logical data tunnel. A transfer rate is assigned to control each packet flow transiting within the logical data tunnel.

Claims (78)

1. An apparatus for managing packet flow through a logical data tunnel formed between partnered traffic managers, comprising:

one or more network interfaces;

a memory including:

an outside queue for buffering outgoing packets destined to a partnered traffic manager via a logical data tunnel comprising one or more packet flows transiting to the partnered traffic manager; and

an inside queue for buffering received incoming packets from the partnered traffic manager via the logical data tunnel;

a processor; and

computer-executable program code stored in the memory and executable by the processor, the computer-executable program code comprising:

a traffic manager module comprising computer-executable instructions operative, when executed, to cause the processor to form a logical, network layer data tunnel with a remote tunnel partner, to transmit one or more packet flows via the logical, network layer data tunnel;

a classifier module comprising computer-executable instructions operative, when executed, to cause the processor to classify packet flows to determine respective service types, wherein each service type maps to an aggregate bandwidth flow allocation and a compression index value;

a compression module comprising computer-executable instructions operative, when executed, to cause the processor to compress individual packets of the one or more packet flows;

apply a compression algorithm to the individual packets based on the compression index value associated with the individual packets; and

compare the sizes of the compressed individual packets to corresponding uncompressed packets to maintain an aggregate compression predictor value;

a transmit module comprising computer-executable instructions operative, when executed, to cause the processor to schedule packets for transmission based on the aggregate bandwidth flow allocations of respective packet flows and the aggregate compression predictor value; and

transmit individual packets compressed by the compression module over the logical, network layer data tunnel.

2. An apparatus according to claim 1 , further comprising:

traffic manager logic forming the logical data tunnel to the partnered traffic manager by grouping the one or more packet flows based on destination address.

3. An apparatus according to claim 2 , further comprising:

a tunnel discovery module comprising computer-executable instructions operative, when executed, to cause the processor to probe a network to discover each partnered traffic manager.

4. An apparatus according to claim 2 , further comprising:

a bi-directional logical data tunnel formed with the partnered traffic manager by combining the logical data tunnel to the partnered traffic manager and a further logical data tunnel from the partnered traffic manager.

5. An apparatus according to claim 1 , further comprising:

a prioritization module comprising computer-executable instructions operative, when executed, to cause the processor to prioritize each packet flow within the aggregated packet flows by bandwidth requirements.

6. An apparatus according to claim 1 , further comprising:

a reevaluation module comprising computer-executable instructions operative, when executed, to cause the processor to reevaluate the packet rate of each packet flow following data compression.

7. An apparatus according to claim 1 , further comprising:

a flow index assignment description table assigning a service type to each packet flow; and

a service compression configuration table mapping the service type to a data compression function.

8. An apparatus according to claim 7 , further comprising:

a service table designating a compression function for one service type; and

traffic manager logic applying the designated compression function on a per-flow basis.

9. An apparatus according to claim 8 , further comprising:

a compression index associated with the designated compression function incremented for each successive packet flow to which the designated compression function is applied.

10. An apparatus according to claim 7 , further comprising:

a service table designating a compression function for one service type; and

traffic manager logic applying the designated compression function on a per-service basis.

11. An apparatus according to claim 10 , further comprising:

a compression index associated with the designated compression function shared for each successive packet flow to which the designated compression function is applied.

12. A method for managing packet flow through a logical data tunnel formed between partnered traffic managers, comprising:

forming a logical, network layer data tunnel with a remote tunnel partner;

sending outgoing packets to a partnered traffic manager at the remote tunnel partner via a the logical data tunnel comprising one or more packet flows transiting to the partnered traffic manager, comprising:

classifying the one or more packet flows to determine respective service types, wherein each service type maps to an aggregate bandwidth flow allocation and a compression index value;

compressing individual packets of the one or more packet flows;

applying a compression algorithm to the individual packets based on the compression index value associated with the individual packets; and

comparing the sizes of the compressed individual packets to corresponding uncompressed packets to maintain an aggregate compression predictor value;

limiting bandwidth allocated to the packet flows in the logical data tunnel by analyzing aggregated packet flows;

scheduling packets for transmission based on the aggregate bandwidth flow allocations of respective packet flows and the aggregate compression predictor value;

transmitting individual packets compressed by the compression module over the logical, network layer data tunnel; and

receiving incoming packets from the partnered traffic manager via the logical data tunnel.

13. A method according to claim 12 , further comprising:

forming the logical data tunnel to the partnered traffic manager by grouping the one or more packet flows based on destination address.

14. A method according to claim 13 , further comprising:

probing a network to discover each partnered traffic manager.

15. A method according to claim 13 , further comprising:

forming a bi-directional logical data tunnel with the partnered traffic manager by combining the logical data tunnel to the partnered traffic manager and a further logical data tunnel from the partnered traffic manager.

16. A method according to claim 12 , further comprising:

prioritizing each packet flow within the aggregated packet flows by bandwidth requirements.

17. A method according to claim 12 , further comprising:

reevaluating the packet rate of each packet flow following data compression.

18. A method according to claim 12 , further comprising:

assigning a service type to each packet flow; and

mapping the service type to a data compression function.

19. A method according to claim 18 , further comprising:

designating a compression function for one service type; and

applying the designated compression function on a per-flow basis.

20. A method according to claim 19 , further comprising:

incrementing a compression index associated with the designated compression function for each successive packet flow to which the designated compression function is applied.

21. A method according to claim 18 , further comprising:

designating a compression function for one service type; and

applying the designated compression function on a per-service basis.

22. A method according to claim 21 , further comprising:

sharing a compression index associated with the designated compression function for each successive packet flow to which the designated compression function is applied.

23. A method according to claim 18 , further comprising:

designating a compression function for a plurality of service types; and

applying the designated compression function on a shared service basis.

24. A method according to claim 23 , further comprising:

sharing a compression index associated with the designated compression function for each successive packet flow to which the designated compression function is applied.

25. A method according to claim 18 , further comprising:

applying network policies to each data compression function assignment.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2011
From: PACKETEER, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 027307/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2008
From: QUINN, MICHAEL J.; LAIER, MARY
To: PACKETEER, INC.
Reel/Frame 021270/0188 →