# US 12,184,521 B2 · Framework for providing health status data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,184,521 B2
- Document ID: US12184521B2
- Status: Granted
- Kind: B2
- Application number: 18/195,854
- Filed: 2023-05-10
- Published: 2024-08-29
- Granted: 2024-12-31
- Earliest claimed: 2023-02-23
- Assignees: VMware, Inc.
- Applicants: VMware LLC
- Inventors: Babu Singarayan; Vijay Talati; Ranganathan Rajagopalan
- Web page: https://patentgrep.com/patent/US12184521B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 61/3015: Name registration, generation or assignment
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 43/06: Generation of reports
- H04L 43/0817: by checking functioning
- G06F 9/451: Execution arrangements for user interfaces
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Some embodiments provide a method for a health monitoring service that monitors a system with a set of services executing across a set of one or more datacenters. For each of multiple services monitored by the health monitoring service, the method (1) contacts an API exposed by the service to provide health monitoring data for the service and (2) receives health monitoring data for the service that provides, for each of multiple aspects of the service, (i) a status and (ii) an explanation for the status in a uniform format used by the APIs of each of the services. At least two different services provide health monitoring data in the uniform format for different groups of aspects of the services.

## Claims

### Claim 1

For a health monitoring service that monitors a system comprising a set of services executing across a set of one or more datacenters, a method comprising:
for each of a plurality of services monitored by the health monitoring service:
contacting an API exposed by the service to provide health monitoring data for the service; and
receiving health monitoring data for the service that provides, for each of a plurality of aspects of the service, (i) a status and (ii) an explanation for the status in a uniform format used by the APIs of each of the services of the plurality of services,
wherein at least two different services provide health monitoring data in the uniform format for different pluralities of aspects of the services, the health monitoring data being collected and stored by a common service at a health data store.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the system is a multi-tenant network management system that executes in a public cloud to manage a plurality of groups of datacenters for a plurality of different tenants; and
the health monitoring service monitors the health of a set of multi-tenant services that are each accessed by the plurality of different tenants.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the system is a multi-tenant network management system that executes in a public cloud to manage a plurality of groups of datacenters for a plurality of different tenants; and
the health monitoring service monitors the health of a plurality of services belonging to a particular service instance that performs network management operations for a particular group of datacenters for a particular tenant of the network management system.

### Claim 4 (depends on 3)

The method of claim 3, wherein:
different health monitoring services of the multi-tenant network management system monitor different pluralities of services of different service instances that manage groups of datacenters for different tenants; and
all of the services of the different pluralities of services provide health monitoring data to their respective health monitoring services using the same uniform format.

### Claim 5 (depends on 3)

The method of claim 3, wherein:
the system is deployed within a Kubernetes cluster;
the services are microservices assigned to a single namespace of the Kubernetes cluster; and
the health monitoring service is also assigned to the same namespace.

### Claim 6 (depends on 1)

The method of claim 1, wherein the status for each aspect of each service is a Boolean variable specifying whether the respective aspect is operational and the explanation for each aspect of each service is a string variable specifying additional information describing the status of the service.

### Claim 7 (depends on 6)

The method of claim 6, wherein when the status for a particular aspect specifies that the particular aspect is operational, the explanation for the particular aspect provides text indicating that the particular aspect is operational.

### Claim 8 (depends on 6)

The method of claim 6, wherein when the status for a particular aspect of the service specifies that the particular aspect is not operational, the explanation for the particular aspect indicates a reason that the aspect is not operational.

### Claim 9 (depends on 8)

The method of claim 8, wherein the explanation for the particular aspect is based on matching a set of criteria relating to the particular aspect of the service.

### Claim 10 (depends on 1)

The method of claim 1, wherein the plurality of aspects of the service comprises a set of modules that execute within the service, wherein the status for each module specifies whether the module is currently executing properly.

### Claim 11 (depends on 1)

The method of claim 1, wherein the plurality of aspects of the service comprises an initialization component, wherein the status for the initialization component specifies whether the service was initialized successfully.

### Claim 12 (depends on 1)

The method of claim 1, wherein the plurality of aspects of the service comprises a set of connections to other services, wherein the status for each connection specifies whether the connection to the other service is currently up.

### Claim 13 (depends on 12)

The method of claim 12, wherein the other services comprise at least one of (i) other services of the plurality of services monitored by the health monitoring service and (ii) external services.

### Claim 14 (depends on 1)

The method of claim 1, wherein:
the plurality of aspects of the service comprises a set of static aspects and a set of runtime aspects;
the set of static aspects comprises a set of aspects that become operational at initialization of the service; and
the set of runtime aspects comprises a set of aspects of the service that operate as the service executes.

### Claim 15

A non-transitory machine-readable medium storing a health monitoring service program that monitors a system comprising a set of services executing across a set of one or more datacenters, the program comprising sets of instructions for:
for each of a plurality of services monitored by the health monitoring service:
contacting an API exposed by the service to provide health monitoring data for the service; and
receiving health monitoring data for the service that provides, for each of a plurality of aspects of the service, (i) a status and (ii) an explanation for the status in a uniform format used by the APIs of each of the services of the plurality of services,
wherein at least two different services provide health monitoring data in the uniform format for different pluralities of aspects of the services, the health monitoring data being collected and stored by a common service at a health data store.

### Claim 16 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the system is a multi-tenant network management system that executes in a public cloud to manage a plurality of groups of datacenters for a plurality of different tenants; and
the health monitoring service monitors the health of a set of multi-tenant services that are each accessed by the plurality of different tenants.

### Claim 17 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the system is a multi-tenant network management system that executes in a public cloud to manage a plurality of groups of datacenters for a plurality of different tenants; and
the health monitoring service monitors the health of a plurality of services belonging to a particular service instance that performs network management operations for a particular group of datacenters for a particular tenant of the network management system.

### Claim 18 (depends on 17)

The non-transitory machine-readable medium of claim 17, wherein:
different health monitoring services of the multi-tenant network management system monitor different pluralities of services of different service instances that manage groups of datacenters for different tenants; and
all of the services of the different pluralities of services provide health monitoring data to their respective health monitoring services using the same uniform format.

### Claim 19 (depends on 17)

The non-transitory machine-readable medium of claim 17, wherein:
the system is deployed within a Kubernetes cluster;
the services are microservices assigned to a single namespace of the Kubernetes cluster; and
the health monitoring service is also assigned to the same namespace.

### Claim 20 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the status for each aspect of each service is a Boolean variable specifying whether the respective aspect is operational and the explanation for each aspect of each service is a string variable specifying additional information describing the status of the service.

### Claim 21 (depends on 20)

The non-transitory machine-readable medium of claim 20, wherein:
when the status for a particular aspect of the service specifies that the particular aspect is not operational, the explanation for the particular aspect indicates a reason that the aspect is not operational; and
the explanation for the particular aspect is based on matching a set of criteria relating to the particular aspect of the service.

### Claim 22 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the plurality of aspects of the service comprises a set of modules that execute within the service, wherein the status for each module specifies whether the module is currently executing properly.

### Claim 23 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the plurality of aspects of the service comprises an initialization component, wherein the status for the initialization component specifies whether the service was initialized successfully.

### Claim 24 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the plurality of aspects of the service comprises a set of connections to other services, wherein the status for each connection specifies whether the connection to the other service is currently up.

### Claim 25 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the plurality of aspects of the service comprises a set of static aspects and a set of runtime aspects;
the set of static aspects comprises a set of aspects that become operational at initialization of the service; and
the set of runtime aspects comprises a set of aspects of the service that operate as the service executes.
