IP Library Granted Patent US 8,300,545
Granted Patent B2
US 8,300,545 · App. 12/480,089 · Granted Oct 30, 2012

Application service level mediation and method of using same

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 8,300,545
App. No.
12/480,089
Granted
Oct 30, 2012
Kind
B2
Abstract

A method and apparatus for using an application layer demarcation point are described. In one embodiment, the method comprises monitoring end-to-end performance of a network application at an application demarcation point in a network, and mediating between provider infrastructure and customer infrastructure based on results of monitoring.

Claims (65)

1. A method comprising:

monitoring, at a network device located at a demarcation point in a network, performance of a network application relative to a first network latency condition between a first transmission control protocol (TCP) host on a first side and the demarcation point and a second network latency condition between a second TCP host on a second side and the demarcation point; and

wherein the first network latency condition is determined by recording the arrival time, at the demarcation point, of packets transmitted by the second TCP host to the first TCP host; recording the arrival time, at the demarcation point, of respective acknowledgement packets corresponding to the packets transmitted by the second TCP host; and computing the difference between the arrival times of the packets and corresponding acknowledgement packets;

wherein the second network latency condition is determined by recording the arrival time, at the demarcation point, of packets transmitted by the first TCP host to the second TCP host; recording the arrival time, at the demarcation point, of respective acknowledgement packets corresponding to the packets transmitted by the first TCP host; computing the difference between the arrival times of the packets and corresponding acknowledgement packets; and

wherein the first and second network latency conditions are expressed as congestion index values, the method further comprising: comparing congestion index values over time.

2. The method of claim 1 further comprising

recording, at the demarcation point, the sequence number of each of the packets transmitted by the first and second TCP hosts; and

comparing the sequence numbers of the packets to sequence numbers in received acknowledgement packets to match the packets transmitted by the first and second TCP hosts to corresponding ones of the acknowledgement packets.

3. The method defined in claim 1 wherein monitoring performance of the network application further comprises measuring end-to-end performance of the network application with respect to the network.

4. The method defined in claim 1 , wherein the demarcation point is located between a customer network and a provider network, and wherein monitoring performance of the network application comprises measuring congestion on the customer network and the provider network at the demarcation point between the customer network and the provider network.

5. The method defined in claim 1 further comprising identifying a problem on the first side or the second side of the demarcation point based on a ratio of the congestion index on the first side versus the congestion index on the second side of the demarcation point being different.

6. The method defined in claim 1 further comprising identifying a problem on the first side or the second side of the demarcation point based on a change in a ratio of the congestion index on the first side versus the congestion index on second side.

7. The method defined in claim 1 further comprising identifying a problem on the first side or the second side of the demarcation point based on a same amount of change occurring in the congestion index values on the first side and second side of the demarcation point.

8. A method, comprising:

monitoring, at a network device located at a demarcation point in a network, performance of a network application relative to a first network latency condition between a first transmission control protocol (TCP) host on a first side and the demarcation point and a second network latency condition between a second TCP host on a second side and the demarcation point;

wherein the first network latency condition is determined by recording the arrival time, at the demarcation point, of packets transmitted by the second TCP host to the first TCP host; recording the arrival time, at the demarcation point, of respective acknowledgement packets corresponding to the packets transmitted by the second TCP host; and computing the difference between the arrival times of the packets and corresponding acknowledgement packets;

wherein the second network latency condition is determined by recording the arrival time, at the demarcation point, of packets transmitted by the first TCP host to the second TCP host; recording the arrival time, at the demarcation point, of respective acknowledgement packets corresponding to the packets transmitted by the first TCP host; computing the difference between the arrival times of the packets and corresponding acknowledgement packets;

computing congestion index values based on the first and second latency conditions;

detecting variances in the congestion index over time between different types of traffic; and

identifying a problem on either the first side or the second side of the demarcation point based on detected variances in the congestion index.

9. A method comprising:

determining, at a network device located at a demarcation point in a network, a first latency condition between a first set of hosts in the network and the demarcation point and a second latency condition between the demarcation point and a second set of hosts in the network, wherein each of the hosts in the first and second sets are operative to transmit data packets and acknowledge received data packets;

wherein determining the first network latency condition comprises:

recording the arrival time, at the network device, of data packets transmitted by a first host of the second set of hosts to a second host of the first set of hosts;

recording the arrival time, at the network device, of respective acknowledgement packets transmitted by the second host corresponding to the data packets transmitted by the first host; and

computing a difference between the arrival times of the data packets and corresponding acknowledgement packets; and

wherein determining the second network latency condition comprises:

recording the arrival time, at the network device, of data packets transmitted by the second host of the first set of hosts to the first host of the second set of hosts;

recording the arrival time, at the network device, of respective acknowledgement packets transmitted by the first host corresponding to the data packets transmitted by the second host; and

computing a difference between the arrival times of the data packets and corresponding acknowledgement packets; and

ignoring duplicate data packets and acknowledgement packets transmitted by the first and second hosts.

10. The method of claim 9 further comprising

recording, at the network device, sequence numbers of each of the data packets transmitted by the first and second hosts; and

comparing the sequence numbers of the data packets to sequence numbers in received acknowledgement packets to match the data packets transmitted by the first and second hosts to corresponding ones of the acknowledgement packets.

11. A method comprising:

determining, at a network device located at a demarcation point in a network, a first latency condition between a first set of hosts in the network and the demarcation point and a second latency condition between the demarcation point and a second set of hosts in the network, wherein each of the hosts in the first and second sets are operative to transmit data packets and acknowledge received data packets;

wherein determining the first network latency condition comprises:

recording the arrival time, at the network device, of data packets transmitted by a first host of the second set of hosts to a second host of the first set of hosts;

recording the arrival time, at the network device, of respective acknowledgement packets transmitted by the second host corresponding to the data packets transmitted by the first host; and

computing a difference between the arrival times of the data packets and corresponding acknowledgement packets;

wherein determining the second network latency condition comprises:

recording the arrival time, at the network device, of data packets transmitted by the second host of the first set of hosts to the first host of the second set of hosts;

recording the arrival time, at the network device, of respective acknowledgement packets transmitted by the first host corresponding to the data packets transmitted by the second host; and

computing a difference between the arrival times of the data packets and corresponding acknowledgement packets

recording, at the network device, sequence numbers of each of the data packets transmitted by the first and second hosts;

comparing the sequence numbers of the data packets to sequence numbers in received acknowledgement packets to match the data packets transmitted by the first and second hosts to corresponding ones of the acknowledgement packets; and

ignoring data packets having sequence numbers lower than sequence numbers of previously received data packets.

12. The method of claim 11 further comprising

ignoring duplicate data packets and acknowledgement packets transmitted by the first and second hosts.

13. The method of claim 11 further comprising

ignoring acknowledgement packets having sequence numbers lower than sequence numbers of previously received acknowledgement packets.

14. A network device for use at a demarcation point in a network, the network device comprising:

a measurement engine operative to maintain information indicative of delays associated with one or more network applications occurring in the network, wherein the delays are based on at least a first delay between a first set of hosts on a first side and the demarcation point and a second delay between a second set of hosts on a second side and the demarcation point, the first set of hosts comprising a first host and the second set of hosts comprising a second host;

a memory coupled to the measurement engine to store the information indicative of the delays occurring in the network; and

one or more code modules stored in a computer readable storage medium comprising instructions operative to cause the network device to:

determine the first delay by recording in the memory the arrival time, at the demarcation point, of packets transmitted by the second host to the first host;

recording in the memory the arrival time, at the demarcation point, of respective acknowledgement packets corresponding to the packets transmitted by the second host; and computing the difference between the arrival times of the packets and corresponding acknowledgement packets; and

determine the second delay by recording in the memory the arrival time, at the demarcation point, of packets transmitted by the first host to the second host; recording in the memory the arrival time, at the demarcation point, of respective acknowledgement packets corresponding to the packets transmitted by the first host; computing the difference between the arrival times of the packets and corresponding acknowledgement packets;

wherein the one or more code modules further comprise instructions operative to cause the network device to ignore duplicate packets and acknowledgement packets transmitted by the first and second hosts.

15. The network device of claim 14 wherein the one or more code modules further comprise instructions operative to cause the network device to

record, at the network device, sequence numbers of each of the packets transmitted by the first and second hosts; and

compare the sequence numbers of the packets to sequence numbers in received acknowledgement packets to match the packets transmitted by the first and second hosts to corresponding ones of the acknowledgement packets.

16. The network device of claim 15 wherein the one or more code modules further comprise instructions operative to cause the network device to ignore packets having sequence numbers lower than sequence numbers of previously received packets.

17. The network device of claim 15 wherein the one or more code modules further comprise instructions operative to cause the network device to ignore acknowledgement packets having sequence numbers lower than sequence numbers of previously received acknowledgement packets.

18. The network device of claim 16 wherein the one or more code modules further comprise instructions operative to cause the network device to ignore acknowledgement packets having sequence numbers lower than sequence numbers of previously received acknowledgement packets.

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 Jun 8, 2009
From: KRAUTKREMER, TODD; RIDDLE, GUY; PURVY, BOB
To: PACKETEER, INC.
Reel/Frame 022792/0341 →