IP Library Granted Patent US 11,658,902
Granted Patent B2
US 11,658,902 · App. 17/239,277 · Granted May 23, 2023

Session monitoring using metrics of session establishment

Inventors: Michael Baj (Bedford, MA); Patrick J. MeLampy (Dunstable, MA); Ryan Koss (Merrimack, NH); Kaushik Adesh Agrawal (Chelmsford, MA); Abilash Menon (Boxborough, MA); Michael John Adams (Roslindale, MA); Sarah V. Jaffer (Billerica, MA)
Assignee: Juniper Networks, Inc.
H04L45/302H04L45/123H04L45/24H04L45/38H04L45/566H04L63/166
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 11,658,902
App. No.
17/239,277
Granted
May 23, 2023
Kind
B2
Abstract

A first router generates session establishment metrics for use in network path selection. For example, a plurality of routers connect a client device to a network service instance hosted by a server. A first router is connected to the network service instance via first and second paths. The first router receives session performance requirements for a session between the client device and the network service instance. The first router forwards, along the first path, network traffic for the session by modifying a first packet of the session to include a session identifier for the session. The first router determines that session establishment metrics for the session do not satisfy the session performance requirements. In response, the first router forwards, along the second path, the network traffic for the session by modifying a second packet of the session to include the session identifier for the session.

Claims (86)

1. A method comprising:

receiving, by a first router of a plurality of routers of a network connecting a client device to a network service instance hosted by a server, one or more session performance requirements for establishment of a session between the client device and the network service instance, the session comprising a forward packet flow and a reverse packet flow, wherein the first router is connected to the network service instance via a first path on the network and a second path on the network, the second path being different from the first path;

forwarding, by the first router and along the first path, network traffic for the session between the client device and the network service instance, the forwarding including modifying a first packet of at least one of the forward packet flow and the reverse packet flow of the session to include:

a header comprising a source address of the first router and a destination address of a second router of the plurality of routers along the first path; and

a portion of metadata specifying a session identifier for the session;

monitoring, by the first router, one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow for establishment of the session to derive one or more metrics related to the establishment of the session;

determining, by the first router, that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session; and

in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, forwarding, by the first router and along the second path, the network traffic for the session between the client device and the network service instance, the forwarding including modifying a second packet of at least one of the forward packet flow and the reverse packet flow of the session to include:

a header comprising a source address of the first router and a destination address of a third router of the plurality of routers along the second path; and

the portion of metadata specifying the session identifier for the session.

2. The method of claim 1 , wherein the one or more metrics related to the establishment of the session comprise one or more of:

a time to establish the session;

a number of session time-outs prior to establishment of the session;

a number of failures to establish the session due to an unreachable destination error;

a number of sessions closed before establishment of a Transmission Control Protocol (TCP) session; or

a number of sessions closed before establishment of a Transport Layer Security (TLS) session.

3. The method of claim 1 , wherein monitoring the one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow of the session to derive the one or more metrics related to the establishment of the session comprises:

monitoring the one or more session establishment messages to determine a state of the session;

determining, based on the state of the session, whether the session has established; and

generating, based on the determination of whether the session has established, the one or more metrics related to the establishment of the session.

4. The method of claim 1 , wherein the session comprises one of:

a Transmission Control Protocol (TCP) session;

a Transport Layer Security (TLS) session;

a User Datagram Protocol (UDP) session; or

an Internet Control Message Protocol (ICMP) session.

5. The method of claim 1 , wherein the one or more session performance requirements for establishment of the session comprise one or more Service-level Agreement (SLA) requirements for the session.

6. The method of claim 1 , wherein determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session comprise determining, based on the one or more metrics related to the establishment of the session, that a latency of the network traffic for the session exceeds the one or more session performance requirements for establishment of the session.

7. The method of claim 1 , wherein determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session comprises determining, based on the one or more metrics related to the establishment of the session, an occurrence of blackholing of network traffic for the session.

8. The method of claim 1 ,

wherein forwarding, by the first router and along the first path, the network traffic for the session comprises forwarding, by the first router, via a first interface of the first router, and along the first path, the network traffic for the session, and

wherein forwarding, by the first router and along the second path, the network traffic for the session comprises forwarding, by the first router, via a second interface of the first router different from the first interface, and along the second path, the network traffic for the session.

9. The method of claim 8 , further comprising:

receiving, by the first router, one or more session performance requirements for establishment of a second session between the client device and a second network service instance, the second session comprising a second forward packet flow and a second reverse packet flow, wherein the first router is connected to the second network service instance via the first path and the second path;

forwarding, by the first router, via the first interface of the first router, and along the first path, network traffic for the second session between the client device and the second network service instance, the forwarding including modifying a third packet of at least one of the second forward packet flow and the second reverse packet flow of the second session to include:

a header comprising the source address of the first router and the destination address of the second router of the plurality of routers along the first path; and

a portion of metadata specifying a second session identifier for the second session;

monitoring, by the first router, one or more second session establishment messages carried by second packets of the second forward packet flow and the second reverse packet flow for establishment of the second session to derive one or more metrics related to the establishment of the second session; and

determining, by the first router, that the one or more metrics related to the establishment of the second session satisfy the one or more session performance requirements for establishment of the second session,

wherein forwarding, by the first router, via the second interface of the first router, and along the second path, the network traffic for the session comprises switching, by the first router, from forwarding, via the first interface of the first router and along the first path, the network traffic for the session to forwarding, via the second interface of the first router and along the second path, the network traffic for the session without interrupting forwarding, by the first router, via the first interface of the first router, and along the first path, network traffic for the second session.

10. The method of claim 1 , further comprising excluding, by the first router, the first path from a session load balancer of the first router in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session,

wherein the session load balancer is configured to load balance customer traffic associated with the network service across a plurality of paths, the plurality of paths including the second path.

11. A first router of a plurality of routers of a network, the first router comprising:

processing circuitry; and

a memory operably coupled to the processing circuitry and comprising instructions configured to cause the processing circuitry to:

receive one or more session performance requirements for establishment of a session between a client device and a network service instance hosted by a server, the session comprising a forward packet flow and a reverse packet flow, wherein the first router is connected to the network service instance via a first path on the network and a second path on the network, the second path being different from the first path, and wherein the network connects the client device to the network service instance;

forward, along the first path, network traffic for the session between the client device and the network service instance, the forwarding including modifying a first packet of at least one of the forward packet flow and the reverse packet flow of the session to include:

a header comprising a source address of the first router and a destination address of a second router of the plurality of routers along the first path; and

a portion of metadata specifying a session identifier for the session;

monitor one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow for establishment of the session to derive one or more metrics related to the establishment of the session;

determine that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session; and

in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, forward, along the second path, the network traffic for the session between the client device and the network service instance, the forwarding including modifying a second packet of at least one of the forward packet flow and the reverse packet flow of the session to include:

a header comprising a source address of the first router and a destination address of a third router of the plurality of routers along the second path; and

the portion of metadata specifying the session identifier for the session.

12. The system of claim 11 , wherein the one or more metrics related to the establishment of the session comprise one or more of:

a time to establish the session;

a number of session time-outs prior to establishment of the session;

a number of failures to establish the session due to an unreachable destination error;

a number of sessions closed before establishment of a Transmission Control Protocol (TCP) session; or

a number of sessions closed before establishment of a Transport Layer Security (TLS) session.

13. The system of claim 11 , wherein to monitor the one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow of the session to derive the one or more metrics related to the establishment of the session, the processing circuitry is configured to:

monitor the one or more session establishment messages to determine a state of the session;

determine, based on the state of the session, whether the session has established; and

generate, based on the determination of whether the session has established, the one or more metrics related to the establishment of the session.

14. The system of claim 11 , wherein the session comprises one of:

a Transmission Control Protocol (TCP) session;

a Transport Layer Security (TLS) session;

a User Datagram Protocol (UDP) session; or

an Internet Control Message Protocol (ICMP) session.

15. The system of claim 11 , wherein the one or more session performance requirements for establishment of the session comprise one or more Service-level Agreement (SLA) requirements for the session.

16. The system of claim 11 , wherein to determine that the one or more metrics related to the establishment do not satisfy the one or more session performance requirements for establishment of the session, the processing circuitry is configured to determine, based on the one or more metrics related to the establishment of the session, that a latency of the network traffic for the session exceeds the one or more session performance requirements for establishment of the session.

17. The system of claim 11 , wherein to determine that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, the processing circuitry is configured to determine, based on the one or more metrics related to the establishment of the session, an occurrence of blackholing of network traffic for the session.

18. The system of claim 11 ,

wherein to forward, along the first path, the network traffic for the session, the processing circuitry is configured to forward, via a first interface of the first router, and along the first path, the network traffic for the session, and

wherein to forward, along the second path, the network traffic for the session, the processing circuitry is configured to forward, via a second interface of the first router different from the first interface, and along the second path, the network traffic for the session.

19. The system of claim 11 , wherein the processing circuitry is further configured to exclude the first path from a session load balancer of the first router in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session,

wherein the session load balancer is configured to load balance customer traffic associated with the network service across a plurality of paths, the plurality of paths including the second path.

20. A non-transitory, computer-readable medium comprising instructions that, when executed, are configured to cause processing circuitry of a first router of a plurality of routers of a network to:

receive one or more session performance requirements for establishment of a session between a client device and a network service instance hosted by a server, the session comprising a forward packet flow and a reverse packet flow, wherein the first router is connected to the network service instance via a first path on the network and a second path on the network, the second path being different from the first path, and wherein the network connects the client device to the network service instance;

forward, along the first path, network traffic for the session between the client device and the network service instance, the forwarding including modifying a first packet of at least one of the forward packet flow and the reverse packet flow of the session to include:

a header comprising a source address of the first router and a destination address of a second router of the plurality of routers along the first path; and

a portion of metadata specifying a session identifier for the session;

monitor one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow for establishment of the session to derive one or more metrics related to the establishment of the session;

determine that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session; and

in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, forward, along the second path, the network traffic for the session between the client device and the network service instance, the forwarding including modifying a second packet of at least one of the forward packet flow and the reverse packet flow of the session to include:

a header comprising a source address of the first router and a destination address of a third router of the plurality of routers along the second path; and

the portion of metadata specifying the session identifier for the session.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: JAFFER, SARAH V.
To: JUNIPER NETWORKS, INC.
Reel/Frame 056159/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2021
From: BAJ, MICHAEL; MELAMPY, PATRICK J.; KOSS, RYAN; AGRAWAL, KAUSHIK ADESH; MENON, ABILASH; ADAMS, MICHAEL JOHN
To: JUNIPER NETWORKS, INC.
Reel/Frame 056026/0594 →
Continuity (2)
Provisional Application 63014477 · Apr 23, 2020
Related Publication 20210336875A1 · Oct 28, 2021
Cited By (1)
US 12,574,315