IP Library Granted Patent US 7,496,661
Granted Patent B1
US 7,496,661 · App. 10/812,198 · Granted Feb 24, 2009

Adaptive, application-aware selection of differentiated network services

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,496,661
App. No.
10/812,198
Granted
Feb 24, 2009
Kind
B1
Abstract

Methods, apparatuses and systems that dynamically adjust the selection of differentiated network services for selected classes of traffic in response to changing network conditions or application performance levels. In one implementation, the present invention allows for a differentiated network services scheme that adapts to existing network conditions and, in one implementation, selects higher, generally more expensive classes of differentiated network service for certain data flows when the performance of selected applications degrades below a threshold level. The present invention, in one implementation, allows for bandwidth cost savings without sacrificing application performance.

Claims (59)

1. In a network environment including a computer network operable to provide differentiated services to data flows based on tags or other identifiers associated with the packets in the data flows, wherein the differentiated services comprise a first service level and a second service level; a method comprising:

monitoring the performance of a network application involving the transfer of packets between a first set of hosts and a second set of hosts over the computer network; and

conditionally designating the packets for a selected service level supported by the computer network based on the monitored performance of the network application.

2. The method of claim 1 wherein the monitoring step comprises monitoring the response times between at least one host in the first set and at least one host in the second set.

3. The method of claim 2 wherein the monitoring the response times step comprises

recording, at a network device disposed between a first set of hosts and a second set of hosts, the arrival time of the packets associated with the network application;

computing, based on the recorded packet arrival times, one or more parameters characterizing the response time between at least one host in the first set and at least one host in the second set.

4. The method of claim 1 wherein designating the packets comprises marking the packets with a predetermined differentiated service policy.

5. The method of claim 1 wherein designating the packets comprises adding labels to the packets.

6. The method of claim 5 wherein the computer network is an MPLS network, and wherein the labels are MPLS tags.

7. The method of claim 1 wherein designating the packets comprises adding tags to the packets.

8. The method of claim 7 wherein the computer network is a diffserv network, and wherein the tags are diffserv tags.

9. The method of claim 1 wherein the monitoring step comprises monitoring the packet exchange (PET) time observed over the computer network.

10. The method of claim 1 wherein the monitoring step comprises measuring the network delay attributable to the differentiated services computer network.

11. The method of claim 1 further comprising monitoring usage of the service levels supported by the computer network; and wherein the conditional selecting step is further conditioned on the monitored usage of a given service level not exceeding a predetermined threshold level.

12. The method of claim 1 further comprising monitoring usage of the service levels supported by the computer network relative to a budget; and wherein the conditional selecting step is further conditioned on the monitored usage not exceeding the budget.

13. In a network environment including a computer network implementing a plurality of label-switched paths, a method comprising:

marking, by default, packets associated with a network application for transfer over a first label-switched path of the computer network;

monitoring the performance of the network application involving the transfer of packets between a first set of hosts and a second set of hosts over the computer network; and

conditionally marking packets associated with the network application for transfer over a second label switched path in response to a degradation in performance of the network application.

14. The method of claim 13 wherein the first label-switched path is a least cost path.

15. The method of claim 14 wherein the second label-switched path provides a guaranteed minimum quality of service.

16. The method of claim 13 further comprising

monitoring the performance, relative to at least one network application, of the first label-switched path of the computer network; and

resuming the marking of packets associated with the network application for transfer over the first label-switched path when the performance of the first label-switched path crosses a threshold level.

17. The method of claim 13 wherein the monitoring step comprises monitoring the response times, relative to the network application, between at least one host in the first set and at least one host in the second set.

18. The method of claim 17 wherein the monitoring the response times step comprises

recording, at a network device disposed between a first set of hosts and a second set of hosts, the arrival time of the packets associated with the network application;

computing, based on the recorded packet arrival times, one or more parameters characterizing the response time between at least one host in the first set and at least one host in the second set.

19. The method of claim 13 wherein the computer network is an MPLS network, and wherein the marking step comprises applying MPLS tags designating selected label-switched paths.

20. The method of claim 13 wherein the monitoring step comprises monitoring the packet exchange (PET) time observed over the computer network.

21. The method of claim 13 wherein the monitoring step comprises measuring the network delay attributable to the differentiated services computer network.

22. In a computer network environment comprising a computer supporting a plurality network service classes, and interconnecting a first set of hosts and a second set of hosts, a method comprising

classifying data flows transmitted between the first set of hosts and the second set of hosts into one or more traffic classes;

designating the data flows for a default service level supported by the computer network based on the identified traffic class;

monitoring the performance of selected traffic classes; and

upgrading the service class applied to a first traffic class in the selected traffic classes upon detection of a degradation in performance of the first traffic class.

23. The method of claim 22 further comprising

monitoring the performance of the default service level supported by the computer network; and

resuming the marking of packets associated with the network application for transfer over the default service level when the performance of the default service level crosses a threshold level.

24. The method of claim 22 wherein monitoring the performance of selected traffic classes comprises monitoring the packet exchange (PET) time observed over the computer network.

25. The method of claim 22 wherein monitoring the performance of selected traffic classes comprises measuring the network delay attributable to the differentiated services computer network.

26. An apparatus facilitating the management of network traffic transmitted over a differentiated services network, comprising

a packet processor operative to

detect data flows in network traffic traversing a communications path, the data flows each comprising at least one packet;

parse at least one packet associated with a data flow into a flow specification,

a traffic classification database operative to

store at least one traffic class including a traffic class identifier and at least one attribute defining the traffic class;

compare attributes stored in association with traffic class identifiers to attributes of a data flow to match a traffic class that corresponds to the data flow;

an application performance monitoring module operative to

monitor the performance of at least one traffic class by maintaining at least one measurement parameter characterizing the transfer of packets between a first set of hosts and a second set of hosts over the computer network; and

conditionally designate at least one monitored traffic class for a selected service level supported by the differentiated services network based on the monitored performance of the traffic class; and

a traffic policy module operative to mark data flows with the at least one traffic class for the selected service level across the differentiated services network designated by the application performance monitoring module.

27. The apparatus of claim 26 wherein the traffic classification database is further operative to store a default service level in association with at least one traffic class; wherein the traffic policy module is operative to mark data flows corresponding to a given traffic class with the corresponding service level in the traffic classification database; and wherein the application performance monitoring module is operative to upgrade the service level applied to a traffic class by associating an upgraded service level identifier to the traffic class in the traffic classification database.

28. The apparatus of claim 26 wherein the packet processor is further operative to

parse at least one packet associated with the flow into a flow specification, wherein said flow specification contains at least one instance of any one of the following: a protocol family designation, a direction of packet flow designation, a protocol type designation, a pair of hosts, a pair of ports, a pointer to a MIME type a pointer to an application-specific attribute.

29. The apparatus of claim 28 wherein the traffic classification database is operative to

match the flow specification to a plurality of traffic classes, each of the traffic classes defined by one or more matching attributes; and thereupon,

having found a matching traffic class in the matching step, associate said flow specification with a traffic class from the plurality of traffic classes.

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 Mar 29, 2004
From: MORFORD, MICHAEL ROBERT; PURVY, ROBERT E.
To: PACKETEER, INC.
Reel/Frame 015160/0607 →