IP Library Granted Patent US 9,356,851
Granted Patent B2
US 9,356,851 · App. 13/649,231 · Granted May 31, 2016

Application service level mediation and method of using the 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 9,356,851
App. No.
13/649,231
Granted
May 31, 2016
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 (95)

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;

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

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

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 of 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 of 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. 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 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;

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

ignoring acknowledgement packets having sequence numbers not greater than the sequence number of the last acknowledgement packet received.

6. The method of claim 5 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.

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

a processor;

one or more non-transitory computer readable media;

a measurement engine comprising instructions included in the media, the instructions, when loaded and executed by the processor, are operative to cause the measurement engine 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;

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 the non-transitory computer readable storage medium comprising instructions, the instructions, when loaded and executed by the processor, are 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 a second host in the second set of hosts to a first host in the first set of hosts;

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;

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

compare 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

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

8. A non-transitory computer readable medium comprising instructions that, when executed on a processor, cause the processor to:

monitor, 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; and

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

9. The non-transitory computer readable medium of claim 8 , wherein the instructions further cause the processor to:

record, at the demarcation point, the sequence number of each of the packets transmitted by the first and second TCP 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 TCP hosts to corresponding ones of the acknowledgement packets.

10. The non-transitory computer readable medium of claim 8 , wherein monitoring performance of the network application further comprises measuring end-to-end performance of the network application with respect to the network.

11. The non-transitory computer readable medium of claim 8 , 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.

12. A non-transitory computer readable medium comprising instructions that, when executed on a processor, cause the processor to:

determine, 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 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;

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

ignore acknowledgement packets having sequence numbers not greater than the sequence number of the last acknowledgement packet received.

13. The medium of claim 12 , wherein the instructions further cause the processor to:

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

compare 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.

14. A system, comprising:

a processor;

a non-transitory computer-readable medium communicatively coupled to the processor and comprising instructions, the instructions, when loaded and executed by the processor, cause the processor to:

monitor, 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; and

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

15. The system of claim 14 , wherein the medium further includes instructions for causing the processor to:

record, at the demarcation point, the sequence number of each of the packets transmitted by the first and second TCP 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 TCP hosts to corresponding ones of the acknowledgement packets.

16. The system of claim 14 , wherein monitoring performance of the network application further comprises measuring end-to-end performance of the network application with respect to the network.

17. The system of claim 14 , 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.

Assignments (9)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2016
From: PACKETEER, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 038986/0719 →
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. 30521/0271 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0877 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2012
From: KRAUTKREMER, TODD; RIDDLE, GUY; PURVY, BOB
To: PACKETEER, INC.
Reel/Frame 029110/0966 →