IP Library Granted Patent US 10,608,908
Granted Patent B2
US 10,608,908 · App. 15/256,520 · Granted Mar 31, 2020

On-demand connection ping

Inventors: Akshay Kumar Sreeramoju (Hyderabad, IN); Corentin Derbois (Palo Alto, CA); Madhusudhan Ravi (Palo Alto, CA); Gopakumar Pillai (Palo Alto, CA)
Assignee: Nicira, Inc.
H04L43/0811H04L43/10H04L69/16
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 10,608,908
App. No.
15/256,520
Granted
Mar 31, 2020
Kind
B2
Abstract

Techniques disclosed herein provide an approach for diagnosing problems in a network connection established between applications running on two endpoints. In one embodiment, upon identification of a potential issue in the network connection, a connection detector is triggered in one of the endpoints and requests a kernel of that endpoint to transmit an on-demand, non-invasive packet to the other endpoint. The connection detector then determines whether the application running on the other endpoint is available via the connection based on whether an acknowledgment packet is received from the other endpoint after the transmission of the non-invasive packet.

Claims (30)

1. A computer-implemented method of diagnosing problems in a network connection between a first application running on system software of a first endpoint and a second application running on system software of a second endpoint, the method comprising:

identifying, at the first endpoint, a potential connection issue in the network connection;

responsive to the identifying of the potential connection issue, requesting a kernel component of the system software of the first endpoint to transmit a non-invasive packet from the first endpoint to the second endpoint, wherein the non-invasive packet is an on-demand packet that the kernel component of the system software of the first endpoint is configured to transmit in response to an application or user request, wherein the non-invasive packet is transmitted in-band via the network connection, wherein the non-invasive packet includes a header but not a payload; and

determining whether the second application is available via the network connection based on whether a packet is received by the first endpoint from the second endpoint in response to the transmission of the non-invasive packet, wherein the non-invasive packet is processed by a kernel component of the system software of the second endpoint but not transmitted to the second application.

2. The method of claim 1 , wherein the network connection is a Transmission Control Protocol (TCP) connection, and wherein the non-invasive packet is a TCP keep-alive packet.

3. The method of claim 1 , wherein the request to transmit the on-demand non-invasive packet is made by a connection detector triggered in response to the identifying of the potential connection issue.

4. The method of claim 1 , wherein the request to transmit the on-demand non-invasive packet is made by a user interacting with a user interface in response to the identifying of the potential connection issue.

5. The method of claim 1 ,

wherein the network connection is established for a virtual machine live migration operation, and

wherein the potential connection issue is identified when the live migration operation does not make progress for a given amount of time.

6. The method of claim 1 , further comprising:

in response to determining the second application is not available, establishing a new network connection between the first application and the second application.

7. A non-transitory computer-readable storage medium containing a program which, when executed by one or more processors, performs operations for diagnosing problems in a network connection between a first application running on system software of a first endpoint and a second application running on system software of a second endpoint, the operations comprising:

identifying, at the first endpoint, a potential connection issue in the network connection;

responsive to the identifying of the potential connection issue, requesting a kernel component of the system software of the first endpoint to transmit a non-invasive packet from the first endpoint to the second endpoint, wherein the non-invasive packet is an on-demand packet that the kernel component of the system software of the first endpoint is configured to transmit in response to an application or user request, wherein the non-invasive packet is transmitted in-band via the network connection, wherein the non-invasive packet includes a header but not a payload; and

determining whether the second application is available via the network connection based on whether a packet is received by the first endpoint from the second endpoint in response to the transmission of the non-invasive packet, wherein the non-invasive packet is processed by a kernel component of the system software of the second endpoint but not transmitted to the second application.

8. The computer-readable storage medium of claim 7 , wherein the network connection is a Transmission Control Protocol (TCP) connection, and wherein the non-invasive packet is a TCP keep-alive packet.

9. The computer-readable storage medium of claim 7 , wherein the request to transmit the on-demand non-invasive packet is made by a connection detector triggered in response to the identifying of the potential connection issue.

10. The computer-readable storage medium of claim 7 ,

wherein the network connection is established for a virtual machine live migration operation, and

wherein the potential connection issue is identified when the live migration operation does not make progress for a given amount of time.

11. The computer-readable storage medium of claim 7 , the operations further comprising:

in response to determining the second application is not available, establishing a new network connection between the first application and the second application.

12. A first endpoint, comprising:

a processor; and

a memory, wherein the memory includes a program executable in the processor to perform operations for diagnosing problems in a network connection between a first application running on system software of the first endpoint and a second application running on system software of a second endpoint, the operations comprising:

identifying a potential connection issue in the network connection,

responsive to the identifying of the potential connection issue, requesting a kernel component of the system software of the first endpoint to transmit a non-invasive packet from the first endpoint to the second endpoint, wherein the non-invasive packet is an on-demand packet that the kernel component of the system software of the first endpoint is configured to transmit in response to an application or user request, wherein the non-invasive packet is transmitted in-band via the network connection, wherein the non-invasive packet includes a header but not a payload, and

determining whether the second application is available via the network connection based on whether a packet is received by the first endpoint from the second endpoint in response to the transmission of the non-invasive packet, wherein the non-invasive packet is processed by a kernel component of the system software of the second endpoint but not transmitted to the second application.

13. The first endpoint of claim 12 , wherein the request to transmit the on-demand non-invasive packet is made by a connection detector triggered in response to the identifying of the potential connection issue.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2016
From: SREERAMOJU, AKSHAY KUMAR; DERBOIS, CORENTIN; RAVI, MADHUSUDHAN; PILLAI, GOPAKUMAR
To: NICIRA, INC.
Reel/Frame 039626/0622 →
Priority Claims (1)
IN 201641004766 · Feb 10, 2016 · national
Continuity (1)
Related Publication 20170230262A1 · Aug 10, 2017