IP Library Granted Patent US 12,143,284
Granted Patent B1
US 12,143,284 · App. 18/228,696 · Granted Nov 12, 2024

Health check as a service

Inventors: Gaurav Jindal (Pune, IN); Neeraj Mantri (Pune, IN); Aditya Vikram Mukherjee (San Jose, CA)
Assignee: VMware LLC
H04L43/067H04L41/082H04L41/0895H04L43/022H04L43/12H04L41/50
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 12,143,284
App. No.
18/228,696
Granted
Nov 12, 2024
Kind
B1
Abstract

Example methods and systems for health check as a service are described. One example may involve a computer system receiving a request to perform a health check for a network environment that includes a set of multiple flows. The computer system may select a subset that includes (a) a first flow between a first pair of endpoints and (b) a second flow between a second pair of endpoints. The health check may be initiated for the first flow and the second flow by generating and sending (a) a first instruction to cause injection of a first health check packet, and (b) a second instruction to cause injection of a second health check packet. The computer system may determine health status information associated with the subset based on (a) first observation information triggered by the first health check packet, and (b) second observation information triggered by the second health check packet.

Claims (62)

1. A method, comprising:

receiving, at a computer system and from a requesting entity separate from the computer system, a request to perform a health check for a network environment associated with a set of multiple flows;

obtaining, with the computer system and from a network analytics engine, flow information associated with a set of multiple flows;

selecting, with the computer system and from the set of multiple flows, a subset for the health check, wherein the subset includes (a) a first flow between a first endpoint comprising a first virtualized computing instance (VCI) and a second endpoint and (b) a second flow between a third endpoint comprising a second VCI and a fourth endpoint;

initiating, with the computer system, the health check for the subset by generating and sending (a) a first instruction to a first management entity to instruct a first host to inject first health check packet for forwarding between the first pair of endpoints of the first flow, and (b) a second instruction to the first management entity or a second management entity to instruct a second host to inject a second health check packet for forwarding between the second pair of endpoints of the second wherein each of the first management entity and the second management entity is a management plane entity or a control plane entity, the first endpoint executes on the first host, and the third endpoint executes on the second host;

receiving, at the computer system, first report information, generated by a first observation point on a data path between the first endpoint and the second endpoint and triggered by the first health check packet, and second report information, generated by a second observation point or the first observation point on a data path between the third endpoint and the fourth endpoint and triggered by the second health check packet; and

determining, at the computer system and based at least in part on the first report information and the second report information, health status information associated with the subset.

2. The method of claim 1 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows according to an on-time prioritization rule to determine whether the first flow or the second flow is frequently used, actively used or recently used within a predetermined time frame.

3. The method of claim 1 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows according to a confidence level rule to determine whether a confidence level associated with the first flow or the second flow exceeds a threshold.

4. The method of claim 1 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows to determine whether the first flow or the second flow is a substantially critical flow based on one or more firewall rules.

5. The method of claim 1 , wherein the method further comprises:

based on the health status information indicating that the first flow or the second flow is associated with an unhealthy status, generating and sending a notification to a site recovery engineering (SRE) entity to initiate one or more remediation actions.

6. The method of claim 1 , wherein initiating the health check comprises:

initiating the health check after completion of a particular phase of a software deployment that includes multiple phases, wherein the request is received from a software deployment coordinator.

7. The method of claim 1 , wherein initiating the health check comprises:

processing the flow information associated with the set of multiple flows to identify multiple groups in the network environment; and

initiating the health check to determine health status information associated with the subset that is associated with a particular group from the multiple groups.

8. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a computer system, cause the computer system to perform operations comprising:

receiving, at the computer system and from a requesting entity separate from the computer system, a request to perform a health check for a network environment associated with a set of multiple flows;

obtaining, with the computer system and from a network analytics engine, flow information associated with a set of multiple flows;

selecting, with the computer system and from the set of multiple flows, a subset for the health check, wherein the subset includes (a) a first flow between a first endpoint comprising a first virtualized computing instance (VCI) and a second endpoint and (b) a second flow between a third endpoint comprising a second VCI and a fourth endpoint;

initiating, with the computer system, the health check for the subset by generating and sending (a) a first instruction to a first management entity to instruct a first host to inject first health check packet for forwarding between the first pair of endpoints of the first flow, and (b) a second instruction to the first management entity or a second management entity to instruct a second host to inject a second health check packet for forwarding between the second pair of endpoints of the second wherein each of the first management entity and the second management entity is a management plane entity or a control plane entity, the first endpoint executes on the first host, and the third endpoint executes on the second host;

receiving, at the computer system, first report information, generated by a first observation point on a data path between the first endpoint and the second endpoint and triggered by the first health check packet, and second report information, generated by a second observation point or the first observation point on a data path between the third endpoint and the fourth endpoint and triggered by the second health check packet; and

determining, at the computer system and based at least in part on the first report information and the second report information, health status information associated with the subset.

9. The non-transitory computer-readable storage medium of claim 8 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows according to an on-time prioritization rule to determine whether the first flow or the second flow is frequently used, actively used or recently used within a predetermined time frame.

10. The non-transitory computer-readable storage medium of claim 8 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows according to a confidence level rule to determine whether a confidence level associated with the first flow or the second flow exceeds a threshold.

11. The non-transitory computer-readable storage medium of claim 8 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows to determine whether the first flow or the second flow is a substantially critical flow based on one or more firewall rules.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise:

based on the health status information indicating that the first flow or the second flow is associated with an unhealthy status, generating and sending a notification to a site recovery engineering (SRE) entity to initiate one or more remediation actions.

13. The non-transitory computer-readable storage medium of claim 8 , wherein initiating the health check comprises:

initiating the health check after completion of a particular phase of a software deployment that includes multiple phases, wherein the request is received from a software deployment coordinator.

14. The non-transitory computer-readable storage medium of claim 8 , wherein initiating the health check comprises:

processing the flow information associated with the set of multiple flows to identify multiple groups in the network environment; and

initiating the health check to determine health status information associated with the subset that is associated with a particular group from the multiple groups.

15. A computer system, comprising:

a processor; and

a non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by the processor, cause the computer system to perform operations comprising:

receiving, at the computer system and from a requesting entity separate from the computer system, a request to perform a health check for a network environment associated with a set of multiple flows;

obtaining, with the computer system and from a network analytics engine, flow information associated with a set of multiple flows;

selecting, with the computer system and from the set of multiple flows, a subset for the health check, wherein the subset includes (a) a first flow between a first endpoint comprising a first virtualized computing instance (VCI) and a second endpoint and (b) a second flow between a third endpoint comprising a second VCI and a fourth endpoint;

initiating, with the computer system, the health check for the subset by generating and sending (a) a first instruction to a first management entity to instruct a first host to inject first health check packet for forwarding between the first pair of endpoints of the first flow, and (b) a second instruction to the first management entity or a management second entity to instruct a second host to inject a second health check packet for forwarding between the second pair of endpoints of the second wherein each of the first management entity and the second management entity is a management plane entity or a control plane entity, the first endpoint executes on the first host, and the third endpoint executes on the second host;

receiving, at the computer system, first report information, generated by a first observation point on a data path between the first endpoint and the second endpoint and triggered by the first health check packet, and second report information, generated by a second observation point or the first observation point on a data path between the third endpoint and the fourth endpoint and triggered by the second health check packet; and

determining, at the computer system and based at least in part on the first report information and the second report information, health status information associated with the subset.

16. The computer system of claim 15 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows according to an on-time prioritization rule to determine whether the first flow or the second flow is frequently used, actively used or recently used within a predetermined time frame.

17. The computer system of claim 15 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows according to a confidence level rule to determine whether a confidence level associated with the first flow or the second flow exceeds a threshold.

18. The computer system of claim 15 , wherein selecting the subset comprises:

processing the flow information associated with the set of multiple flows to determine whether the first flow or the second flow is a substantially critical flow based on one or more firewall rules.

19. The computer system of claim 15 , wherein the operations further comprise:

based on the health status information indicating that the first flow or the second flow is associated with an unhealthy status, generating and sending a notification to a site recovery engineering (SRE) entity to initiate one or more remediation actions.

20. The computer system of claim 15 , wherein initiating the health check comprises:

initiating the health check after completion of a particular phase of a software deployment that includes multiple phases, wherein the request is received from a software deployment coordinator.

21. The computer system of claim 15 , wherein initiating the health check comprises:

processing the flow information associated with the set of multiple flows to identify multiple groups in the network environment; and

initiating the health check to determine health status information associated with the subset that is associated with a particular group from the multiple groups.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2023
From: JINDAL, GAURAV; MANTRI, NEERAJ; MUKHERJEE, ADITYA VIKRAM
To: VMWARE, INC.
Reel/Frame 064443/0954 →