Health indicators associated with cloud services

The health monitoring utility in cloud environments addresses the challenge of service health management by generating indexes that consider functional impacts, facilitating proactive issue identification and optimized resource allocation.

JP2026520288APending Publication Date: 2026-06-23ORACLE INT CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
ORACLE INT CORP
Filing Date
2024-04-29
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Existing cloud environments lack effective methods for monitoring and managing the health of services, which can lead to operational issues and inefficiencies in resource allocation and utilization.

Method used

A health monitoring utility that generates health indexes for services based on service functions, considering the impact on both the service itself and downstream functions, and provides a visual representation through a service health interface.

Benefits of technology

Enables proactive identification of operational problems, optimized resource allocation, and quick response to potential issues by providing insights into system health and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026520288000001_ABST
    Figure 2026520288000001_ABST
Patent Text Reader

Abstract

Techniques for monitoring the health of a system's services are disclosed. The system determines that a detection alert is associated with a service function, and that the service function is associated with a service in a cloud environment. The system calculates a service health index based on detection alerts that are associated with at least a service function. The system also generates a visual representation of the health index for display on the service health interface.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Claims of interest, related applications, references This application claims the interests of U.S. Provisional Patent Application No. 63 / 462,875, “SYSTEM AND METHOD FOR PROVIDING DEDICATED CLOUD ENVIRONMENTS FOR USE WITH A CLOUD COMPUTING INFRASTRUCTURE,” filed on 28 April 2023, and U.S. Provisional Patent Application No. 63 / 503,143, “TECHNIQUES FOR VALIDATING AND TRACKING REGION BUILD SKILLS,” filed on 18 May 2023, which are incorporated herein by reference. This application also claims the interests of U.S. Patent Application No. 18 / 647,735, “HEALTH METRICS ASSOCIATED WITH CLOUD SERVICES,” filed on 26 April 2024, which are incorporated herein by reference.

[0002] U.S. Patent Application No. 18 / 647,893, "MANAGING RESOURCE CONSTRAINTS IN A CLOUD ENVIRONMENT", filed on April 26, 2024, U.S. Patent Application No. 18 / 647,971, "RESPONDING TO TRIGGER EVENTS THAT THREATEN AN OPERABILITY OF A CLOUD INFRASTRUCTURE", filed on April 26, 2024, U.S. Patent Application No. 18 / 498,964, "SKILLS SERVICE CONFIGURED TO MANAGE ASPECTS OF A BUILDING A DATA CENTER", filed on October 31, 2023, U.S. Patent Application No. 18 / 520,103, "TRACKING DATA CENTER BUILD DEPENDENCIES WITH CAPABILITIES AND SKILLS", filed on November 27, 2023, and U.S. Patent Application No. 18 / 537,902, "TRACKING DATA CENTER BUILD HEALTH", filed on December 13, 2023 are hereby incorporated by reference herein.

[0003] Here, the applicant hereby withdraws any disclaimer of claim scope in the parent application or during the prosecution thereof, and reports to the United States Patent and Trademark Office that the claim scope in the present application may be broader than any claim in the parent application.

[0004] TECHNICAL FIELD The present disclosure relates to cloud environments. In particular, the present disclosure relates to the assignment of health indicators for services in cloud environments. BACKGROUND ART

[0005] Background The use of cloud computing environments provides access to a wide range of complementary cloud-based components, such as software applications or services, enabling organizations or enterprise customers to operate their respective applications and services in a highly available hosted environment. The benefits for organizations migrating their application and service needs to the cloud include reduced costs and complexity associated with designing, building, operating, and maintaining their own on-premises data centers, software application frameworks, or other information technology infrastructure.

[0006] Organizations using cloud environments can monitor the operation and performance of their cloud environments using a variety of technologies. By monitoring the operation and performance of the cloud environment, cloud operators can gain insights into system health, detect operational problems, optimize resource allocation or utilization, and respond quickly to potential issues.

[0007] The methods described in this section are pursued, but not necessarily methods that have been conceived or pursued in the past. Therefore, unless otherwise specified, any method described in this section shall not be assumed to be eligible as prior art simply because it is included in this section.

[0008] The embodiments are shown as examples and are not limitations of the figures in the accompanying drawings. It should be noted that a reference to “an or one” embodiment in this disclosure does not necessarily refer to the same embodiment, but rather to at least one. [Brief explanation of the drawing]

[0009] [Figure 1] This figure shows a system for providing a cloud infrastructure environment according to one embodiment. [Figure 2]This figure shows a method, according to one embodiment, of providing cloud-based applications, services, or services by using a cloud infrastructure environment. [Figure 3] This figure shows an exemplary cloud infrastructure architecture according to one embodiment. [Figure 4] This figure shows another exemplary cloud infrastructure architecture according to one embodiment. [Figure 5] This figure shows another exemplary cloud infrastructure architecture according to one embodiment. [Figure 6] This figure shows another exemplary cloud infrastructure architecture according to one embodiment. [Figure 7] This figure shows a method, according to one embodiment, in which a system may provide a dedicated or private label cloud environment for use by tenants or customers of a cloud infrastructure environment. [Figure 8] This figure further illustrates the use of a private label cloud realm by a tenant or customer of a cloud infrastructure environment, according to one embodiment. [Figure 9] This figure further illustrates the use of a private label cloud realm by a tenant or customer of a cloud infrastructure environment, according to one embodiment. [Figure 10] This figure shows a system for providing access to software products or services in cloud computing or other computing environments, according to one embodiment. [Figure 11A] This figure shows the features of a system including a health monitoring utility according to one or more embodiments. [Figure 11B] This figure shows the features of a system including a health monitoring utility according to one or more embodiments. [Figure 11C] This figure shows other features of a system including a health monitoring utility according to one or more embodiments. [Figure 12A]This figure shows an exemplary mapping of warning parameters for service functions and service functions for services, according to one or more embodiments. [Figure 12B] This figure shows an exemplary dependency graph, including dependencies between service functions, according to one or more embodiments. [Figure 12C] This figure shows an exemplary dependency graph, including dependencies between service functions, according to one or more embodiments. [Figure 13A] This figure shows an exemplary set of actions for monitoring the health of a system's services according to one or more embodiments. [Figure 13B] This figure shows an exemplary set of actions for monitoring the health of a system's services according to one or more embodiments. [Figure 13C] This figure shows an exemplary set of actions for monitoring the health of a system's services according to one or more embodiments. [Figure 14A] This figure shows exemplary health indicators for monitoring the health of a system's services according to one or more embodiments. [Figure 14B] This figure shows exemplary health indicators for monitoring the health of a system's services according to one or more embodiments. [Figure 14C] This figure shows exemplary health indicators for monitoring the health of a system's services according to one or more embodiments. [Figure 14D] This figure shows exemplary health indicators for monitoring the health of a system's services according to one or more embodiments. [Figure 14E] This figure shows exemplary health indicators for monitoring the health of a system's services according to one or more embodiments. [Figure 15A] This figure shows another exemplary health indicator for monitoring the health of a system's services, according to one or more embodiments. [Figure 15B]A diagram showing another exemplary health indicator for monitoring the health of a system's service according to one or more embodiments. [Figure 16A] A diagram showing an exemplary service health interface for monitoring the health of a system's service according to one or more embodiments. [Figure 16B] A diagram showing an exemplary service health interface for monitoring the health of a system's service according to one or more embodiments. [Figure 16C] A diagram showing an exemplary service health interface for monitoring the health of a system's service according to one or more embodiments. **DETAILED DESCRIPTION OF THE INVENTION**

[0010] Detailed Description In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding. However, one or more embodiments may be practiced without these specific details. Features described in one embodiment may be combined with features described in different embodiments. In some instances, well-known structures and devices are described in block diagram form in order not to obscure the present disclosure needlessly. 1. General Overview 2. Exemplary Cloud Environment 3. System Architecture for Service Health Monitoring 4. Exemplary Operations for Generating Health Indicators 5. Exemplary Health Indicators 6. Exemplary Service Health Interfaces 7. Others - Extensions

[0011] 1. General Overview

[0012] One or more embodiments include a health monitoring utility that generates a health index for a service based on alert data corresponding to service functions mapped to the service. The health index indicates whether the service is healthy or unhealthy based on whether the service functions of the service are healthy or unhealthy. By generating health indexes based on specific service functions of the service, these health indexes reflect the extent to which specific service functions affect the health of the service. The health index also indicates whether the service is healthy or unhealthy based on the impact of the service functions of the service on downstream service functions. By generating health indexes based on the impact of a particular service on downstream services, these health indexes reflect not only the health of the service itself, but also the extent to which specific service functions affect the health of other services.

[0013] One or more embodiments determine the health of a service based on a mapping between a service and one or more service functions of a set of services associated with a detection alert. In one example, a health monitoring utility determines that a detection alert is associated with a service function, and that the service function is associated with a service in a cloud environment. The health monitoring utility calculates a service health index based on the detection alerts associated with at least one service function. The health monitoring utility also generates a visual representation including the health index for display on a service health interface associated with the health monitoring utility.

[0014] As an addition or alternative to the above, one or more embodiments determine the health of a service based on the impact of the service's service functions on downstream service functions. In one example, the health monitoring utility determines impact weights on a first service function based on a set of downstream service functions on which the first service function of the service depends. The health monitoring utility then calculates a weighted health index for the service by applying the impact weights to the service health index. The health monitoring utility generates a visual representation of the weighted health index that is displayed in the service health interface. As an addition or alternative to this, the health monitoring utility may determine the health of a service based on the impact of upstream service functions on the service's service functions.

[0015] Health metrics may be based on the impact of detection alerts on service functions, services, and / or the cloud environment. Alternatively, health metrics may be based on user-defined ratings for each service function and / or service. For example, a health monitoring utility may determine a health metric for a particular service that represents the health status of that service based on the status of one or more service functions of that service. Alternatively, a health monitoring utility may determine a health metric for a particular service that represents the impact of upstream services and / or service functions on which that service depends. Alternatively, a health monitoring utility may determine a health metric for a particular service that represents the impact of that service on one or more downstream service functions and / or services on which that service depends. For example, health metrics may be determined for multiple services, and multiple services may be ranked and displayed according to their rank. Ranking may be based on the impact of detection alerts and / or user-defined ratings. Cloud operators may use rankings to identify specific services to focus on for operational tasks such as troubleshooting alarms or performing system maintenance.

[0016] In one example, a cloud infrastructure provider deploys one or more instances of a health monitoring utility to the cloud environment. Alternatively, the cloud infrastructure provider may deploy one or more instances of a service health interface to the cloud environment. In one example, instances of the health monitoring utility and / or service health interface are deployed for a specific partition of the cloud environment, such as a realm, region, or tenancy. One or more cloud operators may monitor the operation and performance of the cloud environment by accessing and utilizing the health monitoring utility. The health monitoring utility may provide insights into system health and / or identify operational problems. Alternatively, cloud operators may use the health monitoring utility to optimize resource allocation or utilization and / or respond quickly to potential problems. In one example, if the partition is a realm, the cloud operator of the realm uses the health monitoring utility to monitor the operation and performance of the realm. In another example, if the partition is a region, the cloud operator of the region uses the health monitoring utility to monitor the operation and performance of the region. In one example, the partition is a tenancy, and the tenancy's cloud operator uses a health monitoring utility to monitor the tenancy's operation and performance. In another example, the partition is a dedicated or PLC tenancy provisioned to a private label cloud (PLC) operator, such as a customer, acting as a reseller. After deploying the health monitoring utility, the cloud infrastructure provider may communicate the partition's operation to the PLC operator or customer.

[0017] This summary may not include one or more embodiments listed in this specification and / or in the claims.

[0018] 2. Exemplary Cloud Environment

[0019] One or more embodiments provide functionality associated with a cloud environment, including a PLC environment. The cloud environment may be used, for example, by a customer or tenant of a cloud infrastructure provider or reseller to access software products, services, or other cloud services.

[0020] The use of cloud computing or cloud infrastructure environments provides access to a wide range of complementary cloud-based components, such as software applications or services, enabling organizations or enterprise customers to operate their respective applications and services in a highly available hosted environment. Benefits of organizations migrating their application and service needs to a cloud infrastructure environment include reduced costs and complexity associated with designing, building, operating, and maintaining their own on-premises data centers, software application frameworks, or other information technology infrastructure. Organizations utilizing cloud environments can use a variety of operational tools to monitor the operation and performance of their cloud environment.

[0021] Cloud infrastructure environment

[0022] Figures 1 and 2 show a system for providing a cloud infrastructure environment according to one embodiment.

[0023] According to one embodiment, the components and processes shown in Figure 1 may be provided as software or program code executable by a computer system or other type of processing device (e.g., a cloud computing system), as will be described separately herein with respect to various embodiments.

[0024] The illustrated examples are provided to illustrate computing environments that may be used by cloud infrastructure tenants to provide a dedicated or private-label cloud environment used for accessing subscription-based software products, services, or other services associated with the cloud infrastructure environment. According to other embodiments, various components, processes, and features described herein may be used in other types of cloud computing environments.

[0025] As shown in Figure 1, according to one embodiment, the cloud infrastructure environment 100 may operate on a cloud computing infrastructure 102 that includes hardware (e.g., processors, memory), software resources, and other application programming interfaces (APIs) that provide access to shared cloud resources via one or more cloud interfaces 104 or one or more load balancers A106, B108. The cloud interface 102 includes user interfaces and APIs provided by the cloud service provider for interacting with its cloud services. This includes tools and platforms that enable users and administrators to manage, configure, and monitor cloud resources and services. The cloud interface 102 may include a console, such as a web-based user interface, that provides a visual way to interact with and manage cloud resources. Through this console, users can create, configure, and monitor cloud services such as compute instances, databases, storage, and networking components. The cloud interface 102 may also include a command-line interface for users who prefer to work with the cloud infrastructure using command-line tools. In one embodiment, the CLI enables the scripting and automation of cloud management tasks.

[0026] According to one embodiment, load balancers A106 and B108 are services that distribute incoming network traffic across multiple servers, instances, or other resources to prevent excessive demand load on a single resource. By uniformly distributing requests across resources, the load balancers enhance the responsiveness and availability of resources such as applications, websites, or databases. Load balancers A106 and B108 may be public load balancers accessible from the internet and used to distribute external traffic, or they may be private load balancers used within a virtual cloud network (VCN) and not accessible from the public internet (making them ideal for distributing internal traffic). In one embodiment, load balancers A106 and B108 are designed for high availability and fault tolerance and are implemented in a redundant configuration spanning multiple availability domains or fault domains.

[0027] According to one embodiment, the cloud infrastructure environment supports the use of availability domains such as availability domain A180 and availability domain B182, enabling customers to create and access cloud networks 184, 186, and to run cloud instances A192, B194. In one embodiment, availability domains A180 and availability domain B182 may represent data centers or a set of data centers located within a region. These availability domains may be isolated from each other, meaning they cannot share the same physical infrastructure, such as power or cooling systems. This design provides a high degree of fault independence and robustness. In one embodiment, fault domains may provide additional protection and resilience within a single availability domain by grouping hardware and infrastructure within availability domains that are isolated from other fault domains. This isolation may relate to electricity, cooling, and other potential sources of failure.

[0028] In one embodiment, a tenancy (a container of resources used by a tenant) may be created for each cloud tenant / customer (e.g., tenants A142, B144), which provides a secure, isolated partition within the cloud infrastructure environment, allowing customers to create, organize, and manage their respective cloud resources. Cloud tenants / customers can access each of their respective cloud instances by accessing availability domains and cloud networks. Because tenancies are isolated from other tenancies, each customer's data and resources are secure and inaccessible to others. Within a tenancy, customers can create, manage, and organize a wide range of cloud resources, including compute instances, storage volumes, and networks. Identity and Access Management (IAM) services also enable the management of users, groups, and policies within the tenancy. Through IAM, customers can manage who can access each resource and what actions each can take. Tenancies are also the level at which billing and subscription management are handled. Usage and costs associated with resources within a tenancy are tracked and billed collectively under that tenancy. Each tenancy may be associated with specific service limits and allocations for various resources. These limits can be used to assist with capacity management and facilitate resource distribution among tenants.

[0029] According to one embodiment, a computing device such as a client device 120 having device hardware 122 (for example, a processor and memory) and a graphical user interface 126 can generate or update cloud services by a user such as an administrator communicating with a cloud infrastructure environment via a network such as a wide area network, a local area network, or the internet.

[0030] According to one embodiment, the cloud infrastructure environment provides access to shared cloud resources 140, for example, via a compute resource layer 150, a network resource layer 160, and / or a storage resource layer 170. Customers can meet their compute and application requirements by launching cloud instances as needed. After the customer provisions and launches the cloud instances, client devices such as client device 120 can access the provisioned cloud instances.

[0031] In one embodiment, compute resources 150 may include resources such as a bare metal cloud instance 152, a virtual machine 154, a graphics processing unit (GPU) compute cloud instance 156, and / or a container 158. A bare metal instance represents a physical server with dedicated hardware that is entirely allocated to a single tenant. A bare metal instance provides direct access to the server's processor, memory, storage, and other hardware resources. A virtual machine (VM) is a software emulation of a physical computer that runs applications such as operating systems and physical computers. A VM enables the operation of multiple operating systems on a single physical machine or across multiple machines. A hypervisor layer exists between the hardware and the virtual machine to allocate physical resources (CPU, memory, and storage, etc.) to each VM. In one embodiment, a GPU compute cloud instance provides a GPU in addition to conventional CPU resources. These instances are designed for tasks requiring significant parallel processing capabilities and are ideal for applications such as machine learning, scientific computing, 3D rendering, and video processing. In one embodiment, container 158 uses a virtualization method that enables virtualization of the operating system by running multiple isolated applications on a single control host. Each container is lightweight and efficient because it shares the host system's kernel while operating in an isolated user space.

[0032] The use of compute resource 150 components allows applications to be deployed and run as in an on-premises data center by provisioning and managing bare metal compute cloud instances or cloud instances as needed. For example, according to one embodiment, the cloud infrastructure environment can provide control of physical host (bare metal) machines in the compute resource layer that operate directly as compute cloud instances on bare metal servers without a hypervisor.

[0033] Furthermore, according to one embodiment, the cloud infrastructure environment can provide control over virtual machines in the compute resource layer, which can be launched, for example, from an image, and the type and amount of resources available to the virtual machine cloud instance can be determined, for example, based on the image from which the virtual machine was launched.

[0034] According to one embodiment, the network resource layer may include multiple network-related resources such as a virtual cloud network (VCN) 162, a load balancer 164, edge services 166, and / or connectivity services 168. In one embodiment, the virtual cloud network (VCN) is a customizable private network in a cloud environment. The VCN provides a virtual version of a traditional network and includes subnets, route tables, and gateways. This allows users to configure their own cloud-based network architecture according to their respective requirements. In one embodiment, the edge services 166 include services and technologies designed to bring computing, data storage, and networking capabilities closer to where they are needed. The edge services 166 may be used to optimize traffic, reduce latency, or provide other benefits.

[0035] In one embodiment, the storage resource layer may include several resources, such as a data / block volume 172, file storage 174, object storage 176, and / or local storage 178. The data / block volume 172 provides unformatted block-level storage that can be used to generate a file system that hosts a database or for other purposes that require unformatted storage. In one embodiment, the file storage 174 provides a file system and can also provide a shared file system that can be accessed simultaneously by multiple instances using a standard file storage protocol. The object storage 176 manages data as objects in a storage bucket. An object may have certain attributes and may include data, metadata, and a unique identifier. The local storage 178 represents a storage device that is physically attached to the host computer.

[0036] As shown in Figure 2, according to one embodiment, the cloud infrastructure environment may include a wide range of complementary cloud-based components, such as cloud infrastructure applications and services 200, enabling organizations or enterprise customers to operate their respective applications and services in a highly available host environment.

[0037] According to one embodiment, a self-contained cloud region may be provided as a fully dedicated (e.g., OCI) region within an organization's data center, providing data center operators with the agility, scalability, and cost-effectiveness of, for example, an OCI (Oracle Cloud Infrastructure) public cloud, while maintaining complete control over data and applications to meet security, regulatory, or data residency requirements.

[0038] For example, according to one embodiment, such an environment may include racks physically and logically managed by a cloud infrastructure provider (e.g., Oracle), customer racks, access for cloud operators for configuration and hardware support, power and cooling for the customer's data center, customer floor space, areas for customer data center personnel, and physical access cages.

[0039] In one embodiment, a dedicated region provides tenants / customers with the same set of Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) products or services (e.g., ERP, Financial, HCM, and SCM) available in the public cloud region of a cloud infrastructure provider (e.g., Oracle). Customers can seamlessly lift and shift legacy workloads by using the cloud infrastructure provider's services (e.g., bare metal compute, VMs, and GPUs), database services (e.g., Oracle Autonomous Database), or container-based services (e.g., Oracle Container Engine for Kubernetes).

[0040] According to one embodiment, the cloud infrastructure environment may operate according to an Infrastructure as a Service (IaaS) model that enables the provision of virtualized computing resources over a public network (e.g., the Internet).

[0041] In the IaaS model, a cloud infrastructure provider can host infrastructure components (e.g., servers, storage devices, network nodes (e.g., hardware), deployment software, platform virtualization (e.g., hypervisor layer)). Additionally, the cloud infrastructure provider may offer a variety of services associated with these infrastructure components (examples include billing software, monitoring software, logging software, load balancing software, or clustering software). Because these services can be policy-driven, IaaS users can maintain application availability and performance by implementing policies that promote load balancing.

[0042] In one embodiment, an IaaS customer can access resources and services through a wide area network (WAN), such as the internet, and use the infrastructure provider's services to install other elements of their application stack. For example, a user can log in to the IaaS platform and create virtual machines (VMs), install operating systems (OS) on each VM, deploy middleware such as databases, create storage buckets for workloads and backups, and install enterprise software on those VMs. The customer can then use the provider's services to perform various functions, such as distributing network traffic, troubleshooting application problems, monitoring performance, or managing disaster recovery.

[0043] In one embodiment, the cloud infrastructure provider may, but does not have to be, a third-party service specializing in providing IaaS (e.g., granting, leasing, or selling). Alternatively, an entity could deploy a private cloud and become its own infrastructure service provider.

[0044] In one embodiment, IaaS deployment is the process of placing a new application or a new version of an application on a prepared application server, etc. It may also include the process of preparing the server (e.g., installing libraries or daemons). This is often managed by the cloud infrastructure provider under the hypervisor layer (e.g., servers, storage, network hardware, and virtualization). Therefore, the customer may be responsible for handling (OS), middleware, and / or application deployment (e.g., on self-service virtual machines that can be spun up on demand).

[0045] In one embodiment, IaaS provisioning may represent acquiring the computers or virtual hosts to be used, and further, installing the necessary libraries or services for them. In most cases, deployment does not include provisioning, and provisioning may need to be performed first.

[0046] According to one embodiment, the challenges of IaaS provisioning include, firstly, the provisioning of an initial set of infrastructure before anything is operational. Secondly, after all provisioning is complete, the challenge of developing the existing infrastructure (e.g., adding new services, modifying services, removing services, etc.). In some cases, these two challenges can be addressed by enabling the declarative definition of infrastructure configuration. In other words, the infrastructure (e.g., required components and the manner in which those components interact) can be defined by one or more configuration files. Thus, the overall topology of the infrastructure (e.g., resource dependencies and the manner in which each resource acts as a whole) can be described declaratively. In some cases, once the topology is defined, a workflow can be generated to form and / or manage the various components described in the configuration files.

[0047] In one embodiment, a cloud infrastructure can have many interconnected elements. For example, there may be one or more virtual private clouds (VPCs), also known as core networks (e.g., potential on-demand pools of configurable and / or shared computing resources). In some examples, there may also be one or more inbound / outbound traffic group rules that provision the way inbound and / or outbound network traffic is configured, as well as one or more virtual machines (VMs). Other infrastructure elements such as load balancers and databases may also be provisioned. The infrastructure can evolve gradually as there is a demand for and / or addition of more infrastructure elements.

[0048] According to one embodiment, the adoption of sequential deployment technology can enable the deployment of infrastructure code across various virtual computing environments. Furthermore, the described technology can enable infrastructure management within these environments. In some examples, a service team may write code that is desirable to be deployed to one or more (but often many) different generation environments (e.g., across various geographical locations). However, in some examples, the infrastructure to which the code is deployed requires provisioning. In some cases, provisioning can be performed manually, using provisioning tools to provision resources, and / or using deployment tools to deploy code after the infrastructure has been provisioned.

[0049] Figure 3 shows an exemplary cloud infrastructure architecture according to one embodiment.

[0050] As shown in Figure 3, according to one embodiment, the service operator 202 may be connected to a secure host tenancy 204 which may include a virtual cloud network (VCN) 206 and a secure host subnet 208.

[0051] In some cases, a service operator may use one or more client computing devices, which may be portable handheld devices (e.g., telephones, computing tablets, personal digital assistive devices (PDAs)) or wearable devices (e.g., head-mounted displays) capable of running software such as Microsoft Windows and / or a variety of mobile operating systems such as iOS and Android, and capable of using the Internet, email, short message service (SMS), or other communication protocols. Alternatively, a general-purpose personal computer (PC) may be a client computing device, such as a PC and / or laptop computer running various versions of the Microsoft Windows®, Apple Macintosh®, and / or Linux® operating systems. A workstation computer may also be a client computing device running any of the various commercially available UNIX® or UNIX-like operating systems, such as, but not limited to, various GNU / Linux operating systems such as Chrome OS. As an addition or alternative, a client computing device may be any other electronic device, such as a thin client computer that can communicate over a network with access to the VCN and / or the Internet, an internet-enabled gaming system (e.g., a Microsoft Xbox game console), and / or a personal messaging device.

[0052] According to one embodiment, the VCN may comprise an LPG 210 that can be connected to the SSH VCN 212 via a local peering gateway (LPG) included in the Secure Shell (SSH) VCN 212. The SSH VCN may comprise an SSH subnet 214, and the SSH VCN may be connected to the control plane VCN via an LPG included in the control plane VCN 216. The SSH VCN may also be connected to the data plane VCN 218 via an LPG. The control plane VCN and the data plane VCN may be included in a service tenancy 219 that is owned and / or operated by a cloud infrastructure provider.

[0053] According to one embodiment, the control plane VCN may comprise a control plane buffer zone (DMZ) layer 220 that functions as a perimeter network (e.g., part of the corporate network between the corporate intranet and the external network). DMZ-based servers have limited liability and can help contain potential breaches. The DMZ layer may also comprise a control plane application layer 224 that may include one or more load balancer (LB) subnets 222, an application subnet 226, and a control plane data layer 228 that may include a database (DB) subnet 230 (e.g., a front-end DB subnet and / or a back-end DB subnet). The LB subnets included in the control plane DMZ layer may be connected to application subnets included in the control plane application layer and an internet gateway 234 that may be included in the control plane VCN. The application subnets may be connected to DB subnets, a service gateway 236, and a network address translation (NAT) gateway 238 included in the control plane data layer. The control plane VCN may comprise a service gateway and a NAT gateway.

[0054] According to one embodiment, the control plane VCN may comprise a data plane mirror application layer 240 which may include application subnets. The application subnets included in the data plane mirror application layer may comprise virtual network interface controllers (VNICs) capable of running compute instances. The compute instances may communicate-couple the application subnets of the data plane mirror application layer to the application subnets that may be included in the data plane application layer.

[0055] According to one embodiment, a data plane VCN may comprise a data plane application layer, a data plane DMZ layer, and a data plane data layer. The data plane DMZ layer may comprise an LB subnet that can be connected to the application subnet of the data plane application layer and the internet gateway of the data plane VCN. The application subnet may be connected to the service gateway and the NAT gateway of the data plane VCN. The data plane data layer may comprise a DB subnet that can be connected to the application subnet of the data plane application layer.

[0056] According to one embodiment, the internet gateways of the control plane VCN and the data plane VCN can be connected to a metadata management service 252 which can be connected to the public internet 254. The public internet can be connected to the NAT gateways of the control plane VCN and the data plane VCN. The service gateways of the control plane VCN and the data plane VCN can be connected to a cloud service 256.

[0057] According to one embodiment, a service gateway of a control plane VCN or a data plane VCN can make application programming interface (API) calls to a cloud service without using the public internet. API calls from the service gateway to the cloud service can be unidirectional. The service gateway can make API calls to the cloud service, and the cloud service can send the requested data to the service gateway. Generally, the cloud service does not need to initiate the API call to the service gateway.

[0058] According to one embodiment, a secure host tenancy may be directly connected to or otherwise isolated from a service tenancy. The secure host subnet can communicate with an SSH subnet via an LPG that can enable two-way communication through a system that is otherwise isolated. By connecting the secure host subnet to the SSH subnet, the secure host subnet becomes accessible to other entities within the service tenancy.

[0059] According to one embodiment, the control plane VCN may enable users of a service tenancy to configure or provision desired resources. Desired resources provisioned in the control plane VCN may be deployed or used in the data plane VCN. In some examples, the control plane VCN can be isolated from the data plane VCN, and the data plane mirror application layer of the control plane VCN can communicate with the data plane application layer of the data plane VCN via VNICs that may be included in the data plane mirror application layer and the data plane application layer.

[0060] According to one embodiment, a user of the system, i.e., a customer, can make a request (e.g., create, read, update, or erase an action (CRUD)) over the public internet, and the public internet can send the request to a metadata management service. The metadata management service can send the request to the control plane VCN through an internet gateway. The request may be received by an LB subnet included in the control plane DMZ layer. The LB subnet may determine that the request is valid, and in response to this determination, the LB subnet can send the request to an application subnet included in the control plane application layer. If the request is validated and a call to the public internet is required, the call to the public internet may be sent to a NAT gateway capable of making calls to the internet. The metadata to be stored in the request may be stored in a DB subnet.

[0061] According to one embodiment, the data plane mirror application layer can facilitate direct communication between the control plane VCN and the data plane VCN. For example, it is desirable that configuration changes, updates, or other preferred modifications be applied to resources contained in the data plane VCN. The control plane VCN can perform configuration changes, updates, or other preferred modifications to resources by communicating directly with the resources contained in the data plane VCN via the VNIC.

[0062] According to one embodiment, the control plane VCN and the data plane VCN may be included in the service tenancy. In this case, the system user, i.e., the customer, does not have to own either the control plane VCN or the data plane VCN, or does not have either of them running. Alternatively, the cloud infrastructure provider may own both the control plane VCN and the data plane VCN, or have both running, or both may be included in the service tenancy. This embodiment can enable network isolation that can prevent interaction between the user, i.e., the customer, and other users, i.e., other customers' resources. Furthermore, this embodiment can enable private storage of databases by the system user, i.e., the customer, without having to rely on the public internet, which may not have the desired level of threat prevention for storage.

[0063] According to one embodiment, the LB subnet included in the control plane VCN can be configured to receive signals from the service gateway. In this embodiment, the control plane VCN and the data plane VCN may be configured to be invoked by the cloud infrastructure provider's customers without calling the public internet. The cloud infrastructure provider's customers may desire this embodiment because the databases they use can be stored in a service tenancy that is controlled by the cloud infrastructure provider and isolated from the public internet.

[0064] Figure 4 shows another exemplary cloud infrastructure architecture according to one embodiment.

[0065] As shown in Figure 4, according to one embodiment, the data plane VCN may be included in the customer tenancy 221. In this case, the cloud infrastructure provider may provide a control plane VCN for each customer, or the cloud infrastructure provider may configure a unique compute instance included in the service tenancy for each customer. Each compute instance may enable communication between the control plane VCN included in the service tenancy and the data plane VCN included in the customer tenancy. The compute instance may enable the deployment or use of resources provisioned in the control plane VCN included in the service tenancy in the data plane VCN included in the customer tenancy.

[0066] According to one embodiment, a customer of a cloud infrastructure provider may have a database managed and operated within the customer tenancy. In this example, the control plane VCN may comprise a data plane mirror application layer that may include application subnets. The data plane mirror application layer may reside in the data plane VCN, but does not have to reside in the data plane VCN. That is, the data plane mirror application layer may be accessible to the customer tenancy, but does not have to reside in the data plane VCN, nor does it have to be owned or operated by the customer. The data plane mirror application layer may be configured to make calls to the data plane VCN, but may not be configured to make calls to any entities included in the control plane VCN. The customer may want to deploy or use resources in the data plane VCN that are provisioned in the control plane VCN, and the data plane mirror application layer may facilitate the deployment or other use of the resources desired by the customer.

[0067] According to one embodiment, a customer of a cloud infrastructure provider can apply filters to a data plane VCN. In this embodiment, the customer can determine what the data plane VCN can access, and may also restrict the data plane VCN's access to the public internet. The cloud infrastructure provider may not be able to apply filters or control the data plane VCN's access to any external network or database. The application of filters and controls by the customer to the data plane VCN included in the customer tenancy may help isolate the data plane VCN from other customers and the public internet.

[0068] According to one embodiment, a cloud service can access services that do not exist on the public internet, a control plane VCN, or a data plane VCN through a call from a service gateway. The connection between the cloud service and the control plane VCN or data plane VCN does not have to be continuous. The cloud service may reside on different networks owned or operated by the cloud infrastructure provider. The cloud service may be configured to receive calls from a service gateway and may be configured not to receive calls from the public internet. Some cloud services may be isolated from other cloud services, and a control plane VCN may be isolated from cloud services that cannot be in the same region as the control plane VCN.

[0069] For example, according to one embodiment, the control plane VCN may be located in "Region 1," and the cloud service "Deployment 1" may be located in both Region 1 and "Region 2." If a call to Deployment 1 is made by a service gateway included in the control plane VCN located in Region 1, the call may be sent to Deployment 1 in Region 1. In this example, the control plane VCN or Deployment 1 in Region 1 does not have to be communication-coupled to Deployment 1 in Region 2, nor does it have to communicate with Deployment 1 in Region 2.

[0070] Figure 5 shows another exemplary cloud infrastructure architecture according to one embodiment.

[0071] As shown in Figure 5, according to one embodiment, the trusted application subnet 260 can be connected to a service gateway included in the data plane VCN, a NAT gateway included in the data plane VCN, and a DB subnet included in the data plane data layer. The untrusted application subnet 264 can be connected to a service gateway included in the data plane VCN and a DB subnet included in the data plane data layer. The data plane data layer may include a DB subnet that can be connected to a service gateway included in the data plane VCN.

[0072] According to one embodiment, a non-trusted application subnet may comprise one or more primary VNICs (1) to (N) that can be connected to tenant virtual machines (VMs). Each tenant VM may be connected to each of the application subnets 267 (1) to (N) that may be included in each of the container output VCNs 268 (1) to (N) that may be included in each of the customer tenancies 270 (1) to (N). Each secondary VNIC can facilitate communication between the non-trusted application subnet included in the data plane VCN and the application subnet included in the container output VCN. Each container output VCN may comprise a NAT gateway that can be connected to the public internet.

[0073] According to one embodiment, the public internet can be connected to a NAT gateway included in the control plane VCN and the data plane VCN. The service gateway included in the control plane VCN and the data plane VCN can be connected to a cloud service.

[0074] According to one embodiment, a data plane VCN can be integrated with a customer tenancy. This integration may be useful or desirable for a cloud infrastructure provider's customer when additional support may be required when executing code. For example, the customer may provide code to be executed, which may be destructive, communicate with other customer resources, or have undesirable effects.

[0075] According to one embodiment, a customer of a cloud infrastructure provider may grant temporary network access to the cloud infrastructure provider and request functionality to be granted to the data plane application layer. The code that performs this functionality may run on a VM and may not be configured to run elsewhere on the data plane VCN. Each VM may be connected to one customer tenancy. Each container (1) to (N) contained within a VM may be configured to run code. In this case, a double isolation may exist (for example, the container running the code may be contained in a VM that is at least in a non-trusted application subnet), which may help prevent damage to the cloud infrastructure provider's network or the networks of other customers by erroneous or undesirable code. The containers may be communication-coupled to the customer tenancy and may be configured to send or receive data to or from the customer tenancy. The containers may be configured not to send or receive data to or from any other entity in the data plane VCN. Upon completion of code execution, the cloud infrastructure provider may destroy the containers.

[0076] In one embodiment, a trusted application subnet may execute code owned or operated by the cloud infrastructure provider. In this embodiment, the trusted application subnet may be connected to a DB subnet and may be configured to perform CRUD operations in the DB subnet. A non-trusted application subnet may be connected to a DB subnet and may be configured to perform read operations in the DB subnet. Containers contained within each customer's VM and capable of executing code from the customer do not need to be connected to a DB subnet.

[0077] In one embodiment, the control plane VCN and the data plane VCN do not have to be directly connected, nor do they have to have direct communication with each other. However, indirect communication is possible, and an LPG (Landing Platform) that facilitates communication between the control plane VCN and the data plane VCN may be established by the cloud infrastructure provider. In another example, the control plane VCN or the data plane VCN can make calls to cloud services via a service gateway. For example, a call from the control plane VCN to a cloud service may include a request for a service that can communicate with the data plane VCN.

[0078] Figure 6 shows another exemplary cloud infrastructure architecture according to one embodiment.

[0079] As shown in Figure 6, according to one embodiment, a trusted application subnet can be connected to a service gateway included in the data plane VCN, a NAT gateway included in the data plane VCN, and a DB subnet included in the data plane data layer. A non-trusted application subnet can be connected to a service gateway included in the data plane VCN and a DB subnet included in the data plane data layer. The data plane data layer may include a DB subnet that can be connected to a service gateway included in the data plane VCN.

[0080] According to one embodiment, a non-trusted application subnet may have a primary VNIC that can be connected to tenant virtual machines (VMs) residing within the non-trusted application subnet. Each tenant VM is capable of executing code in each container and can be connected to an application subnet that may be included in the data plane application layer, which may be included in the container output VCN 280. Secondary VNICs 282(1) to (N) can each facilitate communication between the non-trusted application subnet included in the data plane VCN and the application subnet included in the container output VCN. The container output VCN may have a NAT gateway that can be connected to the public internet.

[0081] According to one embodiment, the Internet gateway included in the control plane VCN and the data plane VCN can be connected to a metadata management service that can be connected to the public internet. The public internet can be connected to the NAT gateway included in the control plane VCN and the data plane VCN. The service gateway included in the control plane VCN and the data plane VCN can be connected to a cloud service.

[0082] According to one embodiment, the pattern shown in Figure 6 can be considered an exception to the pattern shown in Figure 5 and is considered desirable for customers when the cloud infrastructure provider cannot communicate directly with the customer (for example, in an unconnected region). Each container contained in a VM for each customer is accessible to the customer in real time. The container may be configured to make calls to each of the secondary VNICs contained in the application subnet of the data plane application layer, which may be contained in the container output VCN. The secondary VNIC can send the calls to a NAT gateway, which may send the calls to the public internet. In this example, the containers accessible to the customer in real time can be isolated from the control plane VCN, as well as from other entities contained in the data plane VCN. The containers can also be isolated from the resources of other customers.

[0083] In other examples, a customer can use a container to invoke a cloud service. In this example, a customer can execute code in a container that requests a service from the cloud service. The container can send this request to a secondary VNIC, the secondary VNIC can send the request to a NAT gateway, and the NAT gateway can send the request to the public internet. The public internet can be used to send the request to an LB subnet included in the control plane VCN via an internet gateway. In response to a determination that the request is valid, the LB subnet can send the request to an application subnet, and the application subnet can send the request to the cloud service via a service gateway.

[0084] Naturally, the IaaS architecture shown in the above drawings may have components other than those shown. Furthermore, the embodiments shown in the drawings are merely examples of cloud infrastructure systems that may encompass one embodiment of this disclosure. In some other embodiments, the IaaS system may have more or fewer components than shown, may combine two or more components, or may have different configurations or arrangements of components.

[0085] In one embodiment, the IaaS system described herein may include a set of applications, middleware, and database services delivered to the customer in a self-service, subscription-based, elastically scalable, reliable, highly available, and secure manner.

[0086] Private label cloud environment

[0087] According to one embodiment, the use of a cloud infrastructure environment can provide a dedicated cloud environment as one or more private-label cloud environments used by tenants of the cloud infrastructure environment when accessing subscription-based software products, services, or other services associated with the cloud infrastructure environment.

[0088] Figure 7 illustrates, according to one embodiment, how a system may provide a dedicated or private label cloud environment for use by tenants or customers of a cloud infrastructure environment.

[0089] As shown in Figure 7, according to one embodiment, a cloud infrastructure provider (e.g., OCI) can supply one or more PLC environments to a PLC operator 320 (e.g., an OCI customer acting as a reseller). The PLC operator / reseller can then customize and expand the private label cloud used by (each) customer 330 for accessing subscription-based software products, services, or other services associated with the cloud infrastructure environment.

[0090] For illustrative purposes, examples of subscription-based products, services, or other services include various Oracle Cloud Infrastructure software products, Oracle Fusion Applications products, or other products or services that enable customers to register for the use of these products or services.

[0091] Figure 8 further illustrates the use of a private label cloud realm by a tenant or customer of a cloud infrastructure environment, according to one embodiment.

[0092] As shown in Figure 8, according to one embodiment, the system may include cloud subscription services or components such as the Oracle Cloud Subscriptions (OCS) service or component that exposes one or more subscription management APIs or other components used in PLC Realm 400 to generate orders used to initiate a workflow for integrating new customers or generating subscriptions and organizing billing and pricing services.

[0093] According to one embodiment, when a PLC operator or their respective customers request a PLC environment, the system generates a PLC realm for use in one or more provider-owned tenancies. A realm is a logical set of one or more cloud regions that are isolated from each other, ensuring that customer content does not cross realm boundaries into regions outside of that realm. Each realm is accessed separately. PLC operators access cloud resources and services through cloud tenancies. A cloud tenancy is a secure, isolated partition of the cloud infrastructure environment and exists in only one realm. Within this tenancy, operators can access services and deploy workloads across all regions within that realm, if policies permit.

[0094] According to one embodiment, the first step of this process is to generate an operator tenancy for the PLC operator before the realm and associated regions are transferred for subsequent management. The PLC operator then becomes the administrator of this tenancy and can view and manage everything that happens within the realm (each customer account for cloud resources and their use by those customers).

[0095] Generally, once a realm is transferred to or provided to a PLC operator, the cloud infrastructure provider cannot access the data within the operator tenancy unless the operator grants that cloud infrastructure provider permission (for example, permission to troubleshoot potential problems).

[0096] According to one embodiment, the PLC operator can then generate additional internal tenancies intended for internal use (e.g., evaluating the end customer experience, providing sales demo tenancies, or operating a database for internal use). The operator can also generate one or more customer tenancies where the end customer is the administrator. Cloud infrastructure usage metrics (e.g., compute usage, storage usage, and usage of each infrastructure resource) can, through integration by the operator, reflect both operator and customer usage. Cloud infrastructure usage may be reported to the cloud infrastructure provider.

[0097] According to one embodiment, a user interface or console may be provided that allows the PLC operator to manage their customer accounts and customer-provided services. Furthermore, a cloud infrastructure provider may use a cloud infrastructure tenancy (e.g., a Fusion Applications tenancy) to install any required infrastructure services used by the operator and their respective customers.

[0098] Figure 9 further illustrates the use of a private label cloud realm by a tenant or customer of a cloud infrastructure environment, according to one embodiment.

[0099] As shown in Figure 9, according to one embodiment, a cloud subscription service or component exposes one or more subscription management APIs or other components for generating orders used to initiate a workflow that integrates new customers or generates subscriptions and organizes billing and pricing services.

[0100] Furthermore, according to one embodiment, the system may include a billing service or component that operates on a subscription and preferred billing account or logical container used to generate customer invoices.

[0101] Furthermore, according to one embodiment, the system may include a subscription pricing service (SPS) or component that operates on a product catalog defining products available for purchase by customers. The subscription pricing service may also be used to provide price lists (e.g., rate cards) owned by the pricing service.

[0102] In one embodiment, products may be selected from a product hub to support the sales process used to generate subscriptions in the PLC realm. Once an order is generated, a subscription is created in the cloud subscription service, which later manages the lifecycle of the subscription and provisions any necessary provisioning in downstream services. The SPS component then manages the pricing and usage patterns used in billing PLC operators for final costs or in billing their respective customers. Usage events are forwarded to the billing service or component, and invoices are generated according to the subscription's billing preferences and pushed to the account receivables component.

[0103] In one embodiment, services provided within a realm report their usage to a metering service or component, but such usage is not associated with a price. For example, by applying a rate card, the valuation process determines the cost of each specific event, determines the unit and cost of the subscription, associates the cost with the record, and then forwards it to the billing service or component.

[0104] As further shown in Figure 9, according to one embodiment, a PLC operator may control multiple realms A, B. For example, an operator operating in multiple countries may want to operate a completely isolated data center for the United States and a separate completely isolated data center for Europe, for example, to meet governance or regulatory requirements. According to one embodiment, usage associated with these multiple realms can be aggregated and used for billing the operator.

[0105] The various system examples described above are provided to illustrate computing environments that may be used by cloud infrastructure tenants to provide a dedicated or private-label cloud environment used for accessing subscription-based software products, services, or other services associated with the cloud infrastructure environment. According to other embodiments, various components, processes, and features described herein may be used in other types of cloud computing environments.

[0106] Private Label Cloud Subscription

[0107] Figure 10 shows a system, according to one embodiment, for providing access to software products or services in cloud computing or other computing environments.

[0108] As shown in Figure 10, according to one embodiment, the system may be provided as a cloud computing or other computing environment that supports the use of subscription-based products, services, or other services, but in some embodiments herein, it will be referred to as a platform.

[0109] Examples of subscription-based products, services, or other services as described above include various Oracle Cloud Infrastructure software products, Oracle Fusion Applications products, or other products or services that enable customers to register to use these products or services.

[0110] According to one embodiment, a subscription may include artifacts such as products, commits, billing models, and status. The cloud subscription service may expose one or more subscription management APIs or other components for generating orders used to initiate workflows that integrate new customers or generate subscriptions to create a proper footprint in billing and pricing services, as described separately below.

[0111] According to one embodiment, a billing service or component operates on subscription and preference billing accounts or logical containers used to generate invoices. Each billing account generates one or more invoices per billing cycle. The billing service includes a first pipeline that accepts usage and costs from the metering service or component. Usage may be accepted through a REST API or another interface. The billing service writes usage to a database which may serve as the basis for calculating or aggregating balances by the billing service or other services. The billing service may also include a second pipeline responsible for retrieving aggregated usage and commits and calculating charges across one or more billing intervals.

[0112] In one embodiment, a subscription pricing service (SPS) or component operates on a product catalog that defines the products available to the customer for purchase. The product catalog forms the framework of the price list (i.e., rate cards) owned by the pricing service. The rate cards are modeled as pricing rules on publicly available prices. The pricing service maintains a single price list for each product, and new product prices may be added as well as existing prices may be changed. The price list has a full history, and the latest version is the current rate card. Some contracts may require taking a snapshot of the rate card, so the pricing service handles this by recording the time the customer's rate card was generated and then querying the price list for that time.

[0113] According to one embodiment, the SPS or pricing service is responsible for providing information on products, global price lists, end-customer subscription-specific price lists, and discounts. For example, according to one embodiment, the SPS can synchronize product information from a product hub (e.g., Oracle Fusion Product Hub) and global price lists from a pricing hub (e.g., Oracle Fusion Pricing Hub).

[0114] According to one embodiment, the cloud subscription service operates as an upstream service that receives new order requests from, for example, an Oracle Fusion Order Management environment. The cloud subscription service can provide subscription information to the SPS service. Based on subscription details such as estimated time, configuration, and subscription type (Commitment, PayG), the SPS determines the effective base price (rate card) of the subscription. The cloud subscription service can also send subscription discounts received from, for example, Oracle Fusion Order Management, which the SPS stores as a pricing rule entity.

[0115] According to one embodiment, the SPS service operates as a background process managing a rate card service or component responsible for generating rate cards for new subscriptions and updating them when new price changes occur. The SPS service can expose APIs to access rate cards and pricing rules. By utilizing these APIs, the instrumentation inline rating engine can obtain subscription-specific rate cards and pricing rules and use this data for cost calculations.

[0116] According to one embodiment, additional SPS components may include, for example, a Pricing / Product Hub OIC (Oracle Integration Cloud) integration component, which enables PLC operator entities providing subscription-based products, services, or other services within the environment to manage product and pricing lists, such as those provided by Oracle Fusion Product Hub and Oracle Fusion Pricing Hub, respectively.

[0117] For example, according to the embodiment described above, the SPS OIC product integration flow can listen for generation / update events in the product hub and make calls to the SPS product API. Similarly, the SPS OIC pricing integration flow can pull new price list generation from the pricing hub and make calls to the SPS pricing API.

[0118] Furthermore, according to one embodiment, the system may comprise an SPS core module that provides an API for managing and accessing pricing entities. Pricing can be accessed by internal services such as an inline rating engine.

[0119] Furthermore, according to one embodiment, the system may include a rate card management component. The SPS service maintains a single base price for a product over a given period of time. However, the product price for a subscription is determined by the base price at the estimated configuration time and the subscription's price list change policy attribute. The SPS service uses these properties to internally maintain the prices used for subscriptions. Such price lists are grouped in rate cards. The rate card manager can generate and maintain rate cards, as well as listen for price list changes and update existing rate cards with new prices. It can also listen for new subscriptions and assign rate cards based on subscription properties.

[0120] Furthermore, according to one embodiment, the system may include a rule decoding engine. The SPS service is responsible for managing subscription pricing rules (including discounts offered to end customers). Eligibility for pricing rules may be based on product attributes, such as discount groups, product categories, or specific SKUs. The SPS needs to internally identify a list of products to which these rules apply. To achieve this, the rule decoding engine can compile pricing rules in a format that an inline rating engine can consume for cost calculation. This compilation process may be triggered when a product or pricing rule is generated / updated.

[0121] As illustrated in Figure 10, according to one embodiment, in 441, product and pricing information managed, for example, in Fusion Applications, is sent to the SPS component. In 442, the order is sent to the Cloud Subscription Service component, generating a subscription, rate card, and billing account. In 443, pricing configuration and pricing rules are sent to the SPS for the new order. In 444, the use of the Cloud Subscription Service sets up a billing account in the billing service or component. In 445, the Cloud Subscription Service issues an event to the Cloud Infrastructure Streaming component. In 446, the billing data is sent to the Account Receivable component, generating an invoice. In 447, the Cloud Subscription Service consumes collection and subscription lifecycle (RASL) events from Cloud Infrastructure Streaming. In 448, the Activation Service reads the event stream of the Cloud Subscription Service. In 449, the customer obtains activation data from the portal. In 450, the Tenancy Lifecycle Service provisions the tenancy as part of subscription activation. In 451, the tenancy lifecycle service generates an account footprint during account provisioning. In 452, the tenancy lifecycle service configures a limit template during account provisioning. In 453, the account component acts as a downstream RASL client handling legacy reuse. In 454, aggregated costs and usage are sent to the billing service or component. In 455, an organization can create child tenancies using the tenancy lifecycle service. In 456, the metering service or component obtains subscription mapping data. In 457, the subscription service obtains organization data for subscription mapping.In step 458, RASL reads the event stream of the cloud subscription service. In step 459, the subscription service reads the event stream of the cloud subscription service, and in step 460, the measurement service or component obtains rate card data per subscription, which is then used in billing the PLC operator for the final cost or in billing each customer.

[0122] The above examples are provided to illustrate computing environments that may be used by cloud infrastructure tenants to provide a dedicated or private-label cloud environment used for accessing subscription-based software products, services, or other services associated with the cloud infrastructure environment. According to other embodiments, various components, processes, and features described herein may be used in other types of cloud computing environments.

[0123] 3. System Architecture for Service Health Monitoring

[0124] Figures 11A to 11C show a system 1100 that includes features for monitoring the health of a service and / or service function, according to one or more embodiments. In one or more embodiments, system 1100 represents hardware and / or software configured to perform the operations described herein. Examples of operations are described later with reference to Figures 13A to 13C. In addition to the features described with reference to Figures 11A to 11C, system 1100 may include one or more features described in Section 2, “Dedicated or Private Label Cloud Environments.”

[0125] In one or more embodiments, the components of system 1100 may be more or less than those described with reference to Figures 11A to 11C. The components described with reference to Figures 11A to 11C may be local or remote to each other. The components described with reference to Figures 11A to 11C may be implemented in software and / or hardware. The components of system 1100 may be distributed across multiple applications and / or machines. Alternatively, multiple components may be combined into a single application and / or machine. Furthermore, an operation described for one component may be performed by another component as an alternative.

[0126] System 1100 comprises a virtual cloud network 1102. Multiple partitions 1104, such as partitions 1104a and 1104n, are deployed on the virtual cloud network 1102. Partitions 1104 represent logically or physically isolated portions of the virtual cloud network 1102. In one example, partition 1104 includes tenant partitions, or tenancy partitions, that isolate portions of the virtual cloud network 1102 between different entities, i.e., tenants, such as PLC operators or customers. As an addition or alternative, partition 1104 may include service partitions that isolate different services or workloads. As an addition or alternative, partition 1104 may include geographical partitions that isolate portions of the virtual cloud network 1102 corresponding to specific geographical areas. As an addition or alternative, partition 1104 may include network partitions that isolate the virtual cloud network 1102 into separate segments or subnets.

[0127] A. Exemplary Services and Service Functions

[0128] With respect to partition 1104a, as shown in Figure 11A, partition 1104 includes a plurality of services 1106, each of which includes a plurality of service functions 1108. Partition 1104 also includes a health monitoring utility for monitoring the health of the services 1106 and / or service functions 1108 of partition 1104. In one example, partition 1104a includes services 1106a, 1106c, 1106e, and 1106n. Service 1106a includes service functions 1108a and 1108b. Service 1106c includes service functions 1108c and 1108d. Service 1106e includes service functions 1108e and 1108f. Service 1106n includes service functions 1108n and 1108x.

[0129] In one example, the health monitoring utility 1110 determines the health of service 1106 based on the health of service function 1108 of service 1106. As shown in Figure 11A, the health monitoring utility 1110 determines the health of service 1106a based on the health of service functions 1108a and 1108b. As an addition or alternative, the health monitoring utility 1110 determines the health of service 1106c based on the health of service functions 1108c and 1108d. As an addition or alternative, the health monitoring utility 1110 determines the health of service 1106e based on the health of service functions 1108e and 1108f. As an addition or alternative, the health monitoring utility 1110 determines the health of service 1106n based on the health of service functions 1108n and 1108x.

[0130] In one example, the health monitoring utility 1110 determines the health of service 1106 based on the impact that one or more service functions 1108 of service 1106 have on other service functions 1108 located downstream. As shown in Figure 11A, service function 1108e of service 1106e is located downstream of service function 1108a of service 1106a. Service function 1108e depends on service function 1108a. In one example, the functionality of service function 1108e depends on the functionality of service function 1108a. Also, service function 1108n of service 1106n is located downstream of service function 1108a of service 1106a. Service function 1108n depends on service function 1108a. In one example, the functionality of service function 1108n depends on the functionality of service function 1108a. The functionality of service function 1108a may include generating one or more outputs that service function 1108e and / or service function 1108n can use as inputs. As an addition or alternative, the functionality of service function 1108a may include performing one or more operations that directly or indirectly affect service function 1108e and / or service function 1108n. As an addition or alternative, service function 1108e and / or service function 1108n may be placed after service function 1108a with respect to data flow or a set of operations. The health monitoring utility 1110 may determine the health of service 1106a based at least in part on (a) the effect that service function 1108a has on service function 1108e and / or (b) the effect that service function 1108a has on service function 1108n. The effect that service function 1108a has on service function 1108e may be a result of a dependency between service function 1108a and service function 1108e. The effect that service function 1108a has on service function 1108n may be a result of the dependency relationship between service function 1108a and service function 1108n.

[0131] As further shown in Figure 11A, the service function 1108f of service 1106e is located downstream of the service function 1108c of service 1106c, and the service function 1108x of service 1106n is located downstream of the service function 1108f of service 1106e. Service function 1108f depends on service function 1108c. In one example, the functionality of service function 1108f depends on the functionality of service function 1108c. The functionality of service function 1108c may include generating one or more outputs that service function 1108f uses as input, and / or performing one or more operations that directly or indirectly affect service function 1108f. As an addition or alternative, service function 1108f may be located after service function 1108c with respect to data flow or a set of operations. Also, service function 1108x depends on service function 1108f. In one example, the functionality of service function 1108x depends on the functionality of service function 1108f. The functionality of service function 1108f may include generating one or more outputs that service function 1108x uses as input, and / or performing one or more operations that directly or indirectly affect service function 1108x. As an addition or alternative, service function 1108x may be placed after service function 1108f with respect to data flow or a set of operations. Also, service function 1108x indirectly depends on service function 1108c. Service function 1108c indirectly affects service function 1108x. The health monitoring utility 1110 may determine the health of service 1106c based at least in part on the impact that service function 1108c has on service function 1108f and / or service function 1108x. As an addition or alternative, the health monitoring utility 1110 may determine the health of service 1106c and / or service 1106f based at least in part on the impact that service function 1108f has on service function 1108x.

[0132] In one example, the health monitoring utility 1110 determines the health of service 1106 based on the influence that one or more upstream service functions 1108 have on one or more service functions of service 1106. As shown in Figure 11A, service function 1108a of service 1106a is located upstream of service function 1108e of service 1106e and service function 1108n of service 1106n. Service function 1108a influences service function 1108e as a result of a dependency between service function 1108a and service function 1108e. As an addition or alternative, service function 1108a influences service function 1108n as a result of a dependency between service function 1108a and service function 1108n. The health monitoring utility 1110 may determine the health of service 1106e based at least in part on the influence that service function 1108a has on service function 1108e. As an addition or alternative, the health monitoring utility 1110 may determine the health of service 1106n based at least in part on the impact that service function 1108a has on service function 1108n.

[0133] As further shown in Figure 11A, the service function 1108f of service 1106e is located upstream of the service function 1108x of service 1106n, and the service function 1108c of service 1106c is located upstream of the service function 1108f. The service function 1108f affects the service function 1108x as a result of the dependency between the service function 1108f and the service function 1108x. The service function 1108c affects the service function 1108f as a result of the dependency between the service function 1108c and the service function 1108f. The health monitoring utility 1110 may determine the health of service 1106e based at least in part on the influence that the service function 1108c has on the service function 1108f. As an addition or alternative, the health monitoring utility 1110 may determine the health of service 1106n based at least in part on the impact that service function 1108f and / or service 1106c have on service function 1108x.

[0134] As used herein, the term “downstream” means, with respect to the placement of the first service function downstream of the second service function, at least one of the following: (a) the first service function is located after the second service function with respect to a data flow or set of operations; (b) the first service function depends on the functionality of the second function, such as the output of the second service function that the first service function uses as input; or (c) the operation is performed by the second service function that directly or indirectly affects the first service function.

[0135] As used herein, the term “upstream” means, with respect to the placement of the first service function upstream of the second service function, at least one of the following: (a) the first service function is located ahead of the second service function in terms of a data flow or set of operations; (b) the first service function has functionality on which the second function depends, such as an output of the first service function that the second service function uses as input; or (c) an operation is performed by the first service function that directly or indirectly affects the second service function.

[0136] As used herein, the terms “dependent” or “dependency” mean, based on the premise that a first service function depends on a second service function or has a dependency on a second service function, at least one of the following: (a) the first service function is located after the second service function in terms of a data flow or set of operations; (b) the first service function depends on the functionality of the second function, such as the output of the second service function that the first service function uses as input; or (c) the operation is performed by the second service function that directly or indirectly affects the first service function. In one example, a downstream service function depends on an upstream service function.

[0137] As used herein, the term “service” refers to a modular, self-contained functional unit deployed in a cloud infrastructure. A service may encapsulate a specific set of functionalities, utilities, or tasks. A service may include functional units ranging from simple standalone applications or utilities to complex distributed systems containing multiple interconnected components. A service may include clearly defined interfaces for interaction with other services, service functions, or operator device interfaces.

[0138] In one example, a service may include compute instances, virtual machines, containers, or storage systems. Additional or alternative services may include applications, programs, utilities, resources, platforms, infrastructure as a service (IaaS), platform as a service (PaaS), software as a service (SaaS), database as a service (DBaaS), container organization services, serverless computing services, storage services, content delivery network (CDN) services, identity and access management (IAM) services, networking services, machine learning or AI services, big data or analytics services, Internet of Things (IoT) services, blockchain services, monitoring or logging services, customized services, or customer-specific services.

[0139] IaaS may include one or more virtual machines, compute instances, or cloud servers. PaaS may include one or more application hosting, application services, or cloud-native application platforms. SaaS may include one or more email and product suites, office applications, or collaboration tools. DBaaS may include one or more managed databases, database services, or database platforms. Container organization services may include one or more container organization platforms or cluster management services. Serverless computing services may include one or more Functions as a Service (FaaS) or serverless computing architectures. Storage services may include one or more object storage, block storage, or file storage. CDN services may include one or more content delivery services, content caching services, streaming and media delivery services, or content automation services. IAM services may include one or more authentication or authorization services, identity management services, or federated identity services. Networking services may include one or more VPC services or software-defined networking (SDN) services. Machine learning services may include one or more machine learning platforms, model training services, automated model selection or configuration services, AI integration services, model monitoring or management services, or deep learning services. Big data or analytics services may include one or more data warehouse services, analytics platforms, or data lake services. IoT services may include one or more IoT platforms, device management services, or edge computing services.Blockchain services may include one or more of the following: blockchain platform, distributed ledger service, smart contract service, security or encryption service, or tokenization service. Monitoring or logging services may include one or more of the following: monitoring service, logging service, or application performance monitoring service.

[0140] As used herein, the term “service feature” refers to the function, functionality, capability, characteristic, parameter, or aspect of a service. A service feature may contribute to the operation, output, state, or quality of a service. A service feature may relate to the build time and / or execution time of a service. In one example, a service can be considered a service feature of one or more other services.

[0141] For example, service functions related to service build time include one or more of the following: dependency management, build automation, code compilation, code quality, unit testing, artifact generation, configuration management, sequential integration, code packaging, dependency scanning, documentation generation, code obfuscation, versioning, tagging, or build time optimization.

[0142] In addition to or as an alternative to the above, service functions related to service execution time include one or more of the following: deployment functions, authentication functions, authorization security functions, encryption functions, compliance functions, content delivery functions, content caching functions, logging functions, auditing functions, disaster recovery functions, scalability functions, virtualization functions, automation functions, machine learning integration functions, reliability functions, availability functions, fault tolerance functions, data redundancy functions, response time functions, throughput capacity functions, data encryption functions, performance monitoring functions, performance optimization functions, resource utilization functions, load balancing functions, or patch management functions.

[0143] As an addition or alternative to the above, service features related to both service execution time and build time include one or more of the following: resource management features, error handling and logging features, dynamic configuration features, thread management features, session management features, caching features, connection pooling features, or adaptive security features.

[0144] B. Exemplary Monitoring Sources

[0145] Referring to Figure 11B, further exemplary data sources used by the health monitoring utility 1110 for monitoring the health of services and / or service functions are described. Figure 11B shows the functionality of system 1100 comprising a virtual cloud network 1102, within which partition 1104 is deployed. Partition 1104 contains one or more services 1106 and corresponding service functions 1108. As an example, Figure 11B shows services 1106a and 1106c, as well as service functions 1108a and 1108b of service 1106a, and service functions 1108c and 1108d of service 1106c. Furthermore, system 1100 as described with reference to Figure 11B may include one or more additional components, functions, or functionalities as described with reference to Figure 11A.

[0146] As shown in Figure 11B, partition 1104 includes a health monitoring utility 1110. The health monitoring utility receives health data from multiple data sources. In one example, partition 1104 includes a telemetry service 1112 that provides health data to the health monitoring utility 1110. As an addition or alternative, partition 1104 may include a messaging service 1114 that provides health data to the health monitoring utility 1110. The telemetry service 1112 and the messaging service 1114 may represent alternative, redundant, or backup sources of health data. In one example, the telemetry service 1112 provides health data based on alerts, and the messaging service 1114 provides health data based on datagrams. In one example, the health data from the telemetry service 1112 is relatively more detailed than the health data from the messaging service 1114. In one example, the health monitoring utility 1110 uses the telemetry service 1112 as the primary source of health data and the messaging service 1114 as the backup source of health data. The health monitoring utility 1110 uses the health data from the telemetry service 1112 under normal operating conditions, and can failover to the messaging service 1114 in the event of a disruption or error in the health data from the telemetry service 1112.

[0147] ii. Telemetry Services

[0148] The telemetry service 1112 collects health data from various components of the cloud infrastructure, including components associated with partition 1104 and / or components of the virtual cloud network 1102 located outside partition 1104. The telemetry service 1112 may collect health data from the various components in real time. As an addition or alternative, the telemetry service 1112 may extract data from historical records or logs associated with the various components. The telemetry service 1112 may also generate and / or maintain logs, events, or traces associated with the various components. Furthermore, the telemetry service 1112 may track the execution flow of various actions, such as function calls, I / O operations, or errors.

[0149] In one example, partition 1104 includes multiple monitored components 1116, such as monitored component 1116a and monitored component 1116n. Telemetry service 1112 collects health data associated with multiple monitored components 1116, such as monitored component 1116a and monitored component 1116n. Monitored component 1116 includes one or more services 1106 and / or one or more service functions 1108 of service 1106. For example, monitored component 1116 may include compute instances, virtual machines, containers, or storage systems. As an addition or alternative, monitored component 1116 may include aspects of cloud infrastructure, such as aspects that affect the operation of service 1106 and / or service functions 1108. For example, monitored component 1116 may include routers, switches, load balancers, firewalls, and other network devices. The monitored component 1116 may provide health data that is directly or indirectly associated with service 1106 and / or one or more service functions 1108. Examples of health data directly associated with service 1106 and / or service function 1108 include monitoring data related to the operation of service 1106 and / or service function 1108, such as function calls, I / O operations, or errors. Examples of health data indirectly associated with service 1106 and / or service function 1108 include monitoring data related to load balancers that show the input network traffic and / or utilization of service 1106 and / or service function 1108.

[0150] As shown in Figure 11B, partition 1104 includes multiple monitored warning modules 1118, such as warning module 1118a and warning module 1118n. Each warning module 1118 is associated with a monitored component 1116. Health data includes warning data associated with the warning modules 1118. As shown in Figure 11B, warning module 1118a is associated with monitored component 1116a, and warning module 1118n is associated with monitored component 1116n. Warning modules 1118 may represent part of monitored component 1116, part of telemetry service 1112, or separate components.

[0151] The warning module 1118 monitors various parameters of the corresponding monitored component 1116. The warning module 1118 may generate one or more warning parameters corresponding to various parameters of the monitored component 1116. A warning parameter may include a label that identifies the monitored component 1116 associated with the warning parameter, and a status indicator that indicates the status of the warning parameter. The status of the warning parameter may indicate whether the warning is disabled or enabled. In addition to or alternative to this, the status of the warning parameter may indicate the operational status of the monitored component 1116. Warning data includes warning status information associated with the warning parameter. The warning status information associated with the warning parameter may include the status of the warning parameter and / or indicators of changes in the status of the warning parameter.

[0152] The various parameters of the monitored component 1116 that the warning module 1118 monitors may include one or more of the following: events, states, log entries, metrics, thresholds, algorithms, or patterns. Events monitored by the warning module 1118 may include provisioning events, deprovisioning events, resource allocation, resource deallocation, start events, stop events, configuration settings, configuration changes, compliance validations, security protocol events, security vulnerability events, updates, or user actions. States monitored by the warning module 1118 may include operational states such as running, stopped, operating, paused, error, initialization, terminated, pending, or updated. In addition to or alternative to this, states monitored by the warning module 1118 may include custom states specific to the behavior of a particular monitored component 1116. Log entries monitored by the warning module 1118 may include entries associated with events or states of various components. As an addition or alternative, the log entries monitored by the warning module 1118 may include one or more of the following: system messages, time-series records, debugging information, audit trails, compliance records, security records, or user behavior. The metrics monitored by the warning module 1118 may include one or more of the following: CPU usage, memory usage, network traffic, disk I / O, response time, or error rate. The metrics monitored by the warning module 1118 may include predetermined limits or triggers associated with the parameters of the corresponding monitored component 1116. The algorithms monitored by the warning module 116 may include calculations based on one or more parameters of the monitored component 1116. The patterns monitored by the warning module 1118 may include trends, correlations, or anomalies associated with one or more parameters of the monitored component 1116.

[0153] The health monitoring utility 1110 calculates health indicators for service 1106 and / or service function 1108 based on health data from the monitored component 1116 corresponding to service 1106 and / or service function 1108. Exemplary functions and features of the health monitoring utility are described separately later with reference to Figure 11C. Exemplary health indicators are described separately later with reference to Figures 14A-14E, 15A, and 15B.

[0154] ii. Messaging service

[0155] Referring further to Figure 11B, the messaging service 1114 may generate health data, including messages such as datagrams indicating the status or availability of a particular monitored component 1116. The health monitoring utility 1110 may access messages from the messaging service 1114 simultaneously with health data from the telemetry service, or in the event of a failover condition associated with the telemetry service 1112. The health monitoring utility 1110 may perform a failover to the messaging service 1114 for one or more monitored components 1116, for example, in association with a failover condition of a particular monitored component 1116. In one example, the failover condition may include the failure of one or more warning modules 1118. If the failover condition may include the failure of one or more warning modules 1118, the health monitoring utility 1110 may return to using messages from the messaging service 1114 to calculate health indicators corresponding to the one or more warning modules 1118 associated with the failover condition. As an addition or alternative, the failover condition may represent a failure of the telemetry service 1112. If the failover condition represents a failure of the telemetry service 1112, the health monitoring utility 1110 may revert to using messages from the messaging service 1114 to calculate health indicators for, for example, one or more of the warning modules 1118.

[0156] Messages from messaging service 1114 may represent a lower level of detail or granularity than health data from telemetry service 1112. For example, messages from messaging service 1114 may include a binary representation of the health or unhealthy state of each monitored component 1116. For example, the health monitoring utility 1110 may calculate a health index for the monitored component 1116 based on the namespace and criterion representation corresponding to the monitored component.

[0157] For example, the health monitoring utility 1110 may verify, for instance, that the telemetry service 1112 is functioning properly by monitoring the telemetry service 1112 based on messages from the messaging service 1114. As an addition or alternative, the health monitoring utility 1110 may calculate a health index for the monitored component 1116 based on a combination of health data from the telemetry service 1112 and the messaging service 1114.

[0158] C. Exemplary Health Monitoring Utility

[0159] Referring to Figure 11C, an exemplary health monitoring utility 1110 according to one or more embodiments is further described. Figure 11C shows the functionality of a system 1100 comprising a virtual cloud network 1102, to which a partition 1104 is deployed. Partition 1104 includes one or more services 1106 and corresponding service functions 1108. As an example, Figure 11C shows services 1106a and 1106c, as well as service functions 1108a and 1108b of service 1106a and service functions 1108c and 1108d of service 1106c. The system 1100 described with reference to Figure 11C may also include one or more additional components, functions, or functionalities described with reference to Figure 11A and / or Figure 11B.

[0160] As shown in Figure 11C, partition 1104 includes a health monitoring utility 1110, a data corpus 1120, and an operator device interface 1122. The health monitoring utility 1110 uses the datasets stored in the data corpus 1120 to generate health indicators associated with service 1106 and / or service function 1108. The datasets stored in the data corpus 1120 may be generated based on input from the operator device interface 1122. The data corpus 1120 may also store health data obtained from telemetry service 1112 and / or messaging service 1114 (Figure 11B). An exemplary data corpus 1120 is described separately with reference to Figures 12A-12C.

[0161] The health monitoring utility 1110 may comprise one or more of the following: a mapping module 1124, a weighting module 1126, a data creation module 1128, an index calculation module 1130, or a response module 1132. The health monitoring utility also comprises a service health interface 1134. An exemplary service health interface 1134 is described separately with reference to Figures 16A to 16C.

[0162] In one example, a system 1100 including one or more components of the health monitoring utility 1110 is deployed to the virtual cloud network 1102 simultaneously with or after the deployment of partition 1104 to the virtual cloud network 1102. In one example, after a first entity deploys partition 1104 and system 1100 including one or more components of the health monitoring utility 1110, it communicates the operation of partition 1104 to a second entity. In one example, the first entity is a cloud infrastructure provider, and the second entity is a PLC operator or customer. The second entity utilizes the health monitoring utility 1110 in relation to the operation of partition 1104. In one example, the second entity accesses the service health interface 1134 of the health monitoring utility 1110 to monitor the health of, for example, one or more services running in partition 1104. In one example, the first and second entities are identifiable based on the ID resource of the cloud environment. A set of identity resources in a cloud environment may include a first identity domain corresponding to a first entity and a second identity domain corresponding to a second entity. Partition 1104, where the health monitoring utility 1110 is deployed, is accessible according to the second identity domain corresponding to the second entity.

[0163] i. Exemplary Mapping Module

[0164] In one example, the mapping module 1124 generates mappings associated with service 1106, service function 1108, and / or warning parameters. The mappings may indicate warning parameters corresponding to service function 1108 and / or service functions corresponding to service 1106. The mappings may define relationships, dependencies, and / or communication channels between warning parameters and service function 1108 and / or between service function 1108 and service 1106. In one example, the mappings are generated based on input from the operator via the operator device interface 1122. As an addition or alternative, the mapping module 1124 may include one or more mapping utilities that generate mappings between warning parameters and service function 1108 and / or between service function 1108 and service 1106. One or more mapping utilities may include a service discovery utility, a configuration management utility, an organization platform, or an event-driven architecture utility. In one example, the mapping module 1124 uses one or more mapping utilities to dynamically update the mapping between warning parameters and service functions 1108 and / or between service functions 1108 and service 1106. The mapping may be dynamically updated when various services 1106 and / or service functions 1108 are provisioned and / or deprovisioned in partition 1104. An example mapping is described separately with reference to Figure 12A.

[0165] In one example, the mapping module 1124 generates a dependency graph showing the dependencies between services 1106 and / or service functions 1108. In one example, the dependency graph may include multiple dependencies between various service functions 1108. As an addition or alternative, the dependency graph may include multiple dependencies between various services 1106. In one example, the dependency graph is generated based on input from the operator via the operator device interface 1122. As an addition or alternative, the mapping module 1124 may include one or more dependency graph utilities that generate the dependency graph between service functions 1108 and / or services 1106. One or more dependency graph utilities may include a service discovery utility, a configuration management utility, an organization platform, or an event-driven architecture utility. In one example, the mapping module 1124 uses one or more dependency graph utilities to dynamically update the dependency graph. The dependency graph may be dynamically updated when various services 1106 and / or service functions 1108 are provisioned and / or deprovisioned in partition 1104. Examples of dependency graphs are described separately in Figures 12B and 12C.

[0166] ii. Exemplary weighting module

[0167] The weighting module 1126 assigns weights to various weighted items. Weighted items may include services 1106, service functions 1108, and / or warning parameters. Additionally or alternatively, weighted items may include mappings, dependencies, and / or nodes. The weights assigned to weighted items may represent the degree of importance, significance, value, or effect of the weighted item in a given context. Relatively large weights may indicate that the weighted item has relatively higher importance, significance, value, or effect. Relatively small weights may indicate that the weighted item has relatively lower importance, significance, value, or effect. The weights assigned to weighted items may be stored in the data corpus 1120. For example, the weights are stored in association with mapping and / or dependency graphs stored in the data corpus 1120.

[0168] In one example, the weights assigned to a weighted item (e.g., service 1106, service function 1108, or warning parameter) may represent the importance or value of the weighted item to one or more components or operations of the cloud environment. The weights assigned to service function 1108 of service 1106 may represent the importance or value of service function 1108 to service 1106. The weights assigned to service 1106 may represent the importance or value of service 1106 to one or more operational modes of the cloud environment. As an addition or alternative, the weights assigned to service 1106 may represent the importance or value of service 1106 to one or more business activities that depend on service 1106.

[0169] In one example, the weights assigned to a weighted item (e.g., service 1106, service function 1108, or warning parameter) may represent the effect or significance of the weighted item on one or more components or operations of the cloud environment. The weights assigned to a warning parameter may represent the effect or significance of the warning parameter on the service function 1108 mapped to the warning parameter. As an addition or alternative, the weights assigned to a service function 1108 of service 1106 may represent the effect or significance of the service function 1108 on one or more corresponding services 1106. As an addition or alternative, the weights assigned to a service function 1108 of service 1106 may represent the effect or significance of the service function 1108 on one or more downstream service functions 1108.

[0170] The weighting module 1126 may assign weights to various nodes, mappings, and / or dependencies. The weight assigned to a particular node may depend on one or more adjacent nodes. In one example, a warning parameter associated with a first service function 1108 and a second service function 1108 may have a first weight for the first service function 1108 and a second weight for the second service function 1108. The difference in weights between the first service function 1108 and the second service function 1108 may indicate that the warning parameter is more important, significant, valuable, or effective for the first service function 1108 than for the second service function 1108. In one example, a service function 1108 is mapped to a first warning parameter to which a first weight is assigned and a second warning parameter to which a second weight is assigned. Also, the first weight is greater than the second weight. A greater weight for the first parameter than for the second parameter indicates that the importance, significance, value, or effect of the first warning parameter to service function 1108 is higher than that of the second warning parameter to service function 1108.

[0171] In one example, service 1106 is mapped to a first service function 1108 to which a first weight is assigned and a second service function 1108 to which a second weight is assigned. The first weight is greater than the second weight. The fact that the first weight is greater than the second weight indicates that the importance, significance, value, or effect of the first service function 1108 to service 1106 is greater than the importance, significance, value, or effect of the second service function 1108 to service 1106. In one example, an upstream service function 1108 may have a first weight for a first downstream service function 1108 and a second weight for a second downstream service function 1108. The difference in weight between the first downstream service function 1108 and the second downstream service function 1108 may indicate that the upstream service function 1108 is more important, significant, valuable, or effective than the second downstream service function 1108. As an addition or alternative, the downstream service function 1108 may have a first weight for the first upstream service function 1108 and a second weight for the second upstream service function 1108. The difference in weight between the first upstream service function 1108 and the second upstream service function 1108 may indicate that the first upstream service function 1108 is more important, significant, valuable, or effective than the second upstream service function 1108.

[0172] In one example, the weights assigned to a weighted item (e.g., service 1106, service function 1108, or warning parameter) are generated based on input from the operator via the operator device interface 1122. Weighted items may include user-defined weights such as user-defined value, user-defined importance, user-defined significance, and / or user-defined effect. User-defined weights may differ across different partitions. In one example, different tenants, such as PLC operators or customers, may assign different user-defined weights to different services and / or different instances of services. Tenants may determine user-defined weights based on the context of the service, service function, cloud operation, or their business activities. In one example, weighted items may include user-defined business value. The user-defined business value of a weighted item may represent its importance, significance, value, or effect on the tenant's business or operations. The relative importance, significance, value, or effect of various weighted items may differ among tenants, for example, based on differences in business or operations among tenants and / or differences in priorities among tenants.

[0173] In one example, the weighting module 1126 may include one or more weighting utilities that generate weights for various weighted items. One or more weighting utilities may be configured to dynamically update the weights of the weighted items. The weighted items may be configured to be dynamically updated based on parameters of the cloud environment. In one example, the weighting module 1126 dynamically updates the weights of one or more weighted items based on one or more parameters of the type such as events, states, log entries, metrics, thresholds, algorithms, or patterns. In one example, the weighting module 1126 dynamically updates the weights of one or more weighted items based on the operational state and / or change in the operational state of one or more services 1106 and / or service functions 1108 corresponding to the weighted items. For example, the weighting module 1126 may dynamically update the weight of service function 1108 in response to service 1106 starting to use service function 1108 and / or service suspending or terminating service function 1108 use. The weighting module 1126 may detect transitions in service functions from a stopped or suspended operational state to an initialized or running operational state, or vice versa. The weighting module 1126 may assign a relatively small weight to service function 1108 when the operational state is stopped or suspended, for example, based on the unused nature of service function 1108 by service 1106. A relatively small weight may indicate that the importance, significance, value, or effect of service function 1108 when the operational state is stopped or suspended is relatively low. The weighting module 1126 may assign a relatively large weight to service function 1108 when the operational state is initialized or running, for example, based on the use of service function 1108 by service 1106. A relatively large weight may indicate that the importance, significance, value, or effect of service function 1108 when the operational state is initialized or running is relatively high.As another example, the weighting module 1126 may assign yet another weight to a service function depending on the decision of whether to transition from operational state initialization or execution to operational state error or update. The weighting module 1126 may detect transitions of service functions from operational state initialization or execution to operational state error or update, or vice versa. The difference in weights may represent the difference in importance, significance, value, or effect of the service between operational state initialization or execution and operational state error or update.

[0174] In one example, the weighting module 1126 may use a machine learning model 1136 to determine the weights of various weighted items. An example machine learning model 1136 will be described separately later. An example of weighting will be described separately with reference to Figures 14A to 14E, Figure 15A, and Figure 15B.

[0175] iii. Data creation module

[0176] The data creation module 1128 collects, processes, and / or generates health data (data associated with multiple monitored components 1116 (Figure 11B)) used in calculating health indicators. The health data includes warning data associated with the warning module 1118. The data creation module 1128 may also collect health data from the telemetry service 1112 and / or the messaging service 1114. The data creation module 1128 may also collect data from the data corpus 1120, including data related to mapping and / or dependency graphs stored in the data corpus 1120, and / or data such as weights associated with weighted items stored in the data corpus 1120. In one example, the data creation module 1128 generates additional health data based on the health data it has collected.

[0177] The data creation module 1128 transmits health data to the index calculation module 1130 for the calculation of health indicators. The data creation module 1128 also transmits data from the data corpus 1120 that the index calculation module 1130 will use to calculate the health indicators. For example, the data creation module 1128 may perform one or more data creation operations on the health data and / or data from the data corpus 1120 prior to transmission to the index calculation module 1130. These data creation operations may include one or more of the following: sorting, integrating, transforming, aggregating, decomposing, normalizing, or scaling.

[0178] The data creation module 1128 detects warnings corresponding to warning parameters based on the warning data associated with the warning parameters. In one example, the data creation module 1128 may detect warnings based on changes in the state of the warning parameters. If the data creation module 1128 determines a warning for a warning parameter, it determines the state corresponding to the state change based on the warning data. The data creation module 1128 may determine that the warning state has changed by comparing the current warning state with past warning states. In one example, if the warning state changes for a warning parameter, the data creation module 1128 generates a new warning state for the warning parameter and stores it in the data corpus 1120.

[0179] In one example, the data creation module 1128 determines the monitored component 1116 corresponding to a warning parameter based on a label that identifies the monitored component 1116 corresponding to the warning parameter. In another example, the data creation module 1128 may determine one or more service functions 1108 mapped to a warning parameter based on one or more mappings stored in the data corpus 1120. Alternatively, the data creation module 1128 may determine one or more services 1106 mapped to one or more service functions 1108, respectively, based on one or more mappings stored in the data corpus 1120. In another example, the data creation module 1128 may determine one or more additional service functions 1108 that have dependencies on the service functions 1108 mapped to the warning parameter. One or more additional service functions 1108 may include downstream service functions and / or upstream service functions. One or more additional service functions 1108 may be determined based on one or more dependency graphs stored in the data corpus 1120.

[0180] iv. Index Calculation Module

[0181] The metric calculation module 1130 calculates health indicators for various services 1106 and / or service functions 1108. The metric calculation module 1130 may also calculate health indicators based on health information data received from the data creation module 1128. In one example, the metric calculation module 1130 determines whether service function 1108 and / or service 1106 are healthy or unhealthy based on the health information data. In one example, the metric calculation module 1130 calculates a health indicator for service function 1108 based on the warning status of warning parameters mapped to service function 1108. As an addition or alternative, the metric calculation module 1130 calculates a health indicator for service 1106 based on the health indicator for service function 1108. As an addition or alternative, the metric calculation module 1130 calculates a health index for partition 1104 based on the health index of service 1106 of partition 1104. As an addition or alternative, the metric calculation module 1130 calculates a health index for virtual cloud network 1102 based on the health index of one or more partitions 1104. As an addition or alternative, the metric calculation module 1130 calculates a health index for a region based on the health index of one or more virtual cloud networks 1102 within the region.

[0182] In one example, the index calculation module 1130 determines that service function 1108 is healthy if the warning status mapped to service function 1108 indicates a healthy state. As an addition or alternative, the index calculation module 1130 determines that service function 1108 is unhealthy if the warning status mapped to service function 1108 indicates an unhealthy state. The index calculation module 1130 changes the health index of service function 1108 from a healthy state to an unhealthy state or from an unhealthy state to a healthy state in response to the change in the warning status mapped to service function 1108.

[0183] In one example, the index calculation module 1130 may determine that a particular service function 1108 is healthy based on a determination that one or more upstream service functions 1108 and / or one or more downstream service functions 1108 that share dependencies with that particular service function 1108 are healthy. As an addition or alternative, the index calculation module 1130 may determine that a particular service function 1108 is unhealthy based on a determination that one or more upstream service functions 1108 and / or one or more downstream service functions 1108 that share dependencies with that particular service function 1108 are unhealthy.

[0184] In one example, the index calculation module 1130 determines that service 1106 is healthy if one or more service functions 1108 of service 1106 each indicate a healthy state. In another example, the index calculation module 1130 determines that service 1106 is healthy if a threshold number of service functions 1108 of service 1106 each indicate a healthy state. In yet another example, service 1106 is healthy if all service functions 1108 of service 1106 are healthy. As an addition or alternative to this, the index calculation module 1130 determines that service 1106 is unhealthy if one or more service functions 1108 of service 1106 each indicate an unhealthy state. In yet another example, the index calculation module 1130 determines that service 1106 is unhealthy if a threshold number of service functions 1108 of service 1106 each indicate an unhealthy state. In one example, if any particular service function 1108 of service 1106 is unhealthy, then service 1106 is unhealthy. The index calculation module 1130 changes the health index of service 1106 from healthy to unhealthy or from unhealthy to healthy depending on the state change of one or more service functions 1108 of service 1106.

[0185] In one example, the index calculation module 1130 may determine that service 1106 is healthy based on a determination that one or more upstream service functions 1108 and / or one or more downstream service functions 1108 that share dependencies with service function 1108 of service 1106 are healthy. As an addition or alternative, the index calculation module 1130 may determine that service 1106 is unhealthy based on a determination that one or more upstream service functions 1108 and / or one or more downstream service functions 1108 that share dependencies with service function 1108 of service 1106 are unhealthy.

[0186] In one example, the metric calculation module 1130 calculates health scores for one or more services 1106 and / or one or more service functions 1108. The metric calculation module 1130 may calculate health scores based on warning parameters, service functions 1108, and / or weights assigned to service 1106. The health score for service function 1108 may represent an aggregate or composite of one or more weights assigned to warning parameters mapped to service function 1108. The health score for service function 1108 may reflect the weights assigned to service function 1108. The health score for service 1106 may represent an aggregate or composite of one or more health scores for service functions 1108 of service 1106.

[0187] In one example, the index calculation module 1130 calculates a health score for one or more services 1106 and / or one or more service functions 1108 based on downstream service functions 1108 that depend on a particular service. In one example, the health score of a particular service function 1108 may be determined based on downstream service functions 1108 that depend on that particular service function 1108. The health score of a particular service function 1108 may represent the degree of importance, significance, value, or effect of that particular service function 1108 on the downstream service functions 1108. In one example, the health score of service 1106 may represent the importance, significance, value, or effect that one or more service functions 1108 of service 1106 have on the downstream service functions 1108. In one example, the health score of a particular service function 1108 may be determined based on upstream service functions 1108 on which that particular service function 1108 depends. For example, the health score of a particular service function 1108 may represent the degree of importance, significance, value, or effect of one or more upstream service functions 1108 on that particular service function 1108. For example, the health score of service 1106 may represent the importance, significance, value, or effect that an upstream service function 1108 has on one or more service functions 1108 of service 1106.

[0188] v. Response Module

[0189] The response module 1132 determines an action or set of actions to be performed in response to the health indicators of service 1106 and / or service function 1108. For example, the response module 1132 initiates an action or set of actions for a health indicator if a threshold is met. For example, the response module 1132 may generate a visual representation including the health indicators for display on the service health interface 1134. As an addition or alternative, the response module 1132 may suspend the partition build status in response to the health indicators. As an addition or alternative, the response module 1132 may stop the execution of service 1106 and / or service function 1108 based on the health indicators. As an addition or alternative, the response module 1132 may extend the status of the service provisioning process based on the health indicators. As an addition or alternative, the response module 1132 may deprovision service 1106 based on the health indicators. As an addition or alternative, the response module 1132 may be configured to send messages to the cloud operator console and / or network address associated with the cloud operator.

[0190] In one example, the response module 1132 may determine whether to initiate a response to a health index based on whether the health index satisfies a threshold. As an addition or alternative, the response module 1132 may compare the health index with multiple thresholds, and a particular response may depend on a specific threshold that the health index satisfies. In one example, the multiple thresholds may represent an increase in severity level, and the corresponding response may represent an increase in responsiveness level.

[0191] vi. Service Health Interface

[0192] The service health interface 1134 generates and displays a visual representation of various health status information relating to various services 1106 and / or service functions 1108. This health status information may include health scores, health statuses, and / or rankings associated with the various services 1106 and / or service functions 1108. As an addition or alternative, the service health interface 1134 may generate and display a visual representation of mapping and / or dependency graphs associated with the various services 1106 and / or service functions 1108.

[0193] In one example, the services 1106 and / or service functions 1108 included for display by the service health interface 1134 are based on one or more user-defined criteria. These user-defined criteria may include thresholds for determining whether to include the services 1106 and / or service functions 1108 in the visual representation. The thresholds may correspond to health scores, health statuses, and / or rankings. Alternatively, the thresholds may correspond to timestamps of updates to health status information. The service health interface 1134 may include the services 1106 and / or service functions 1108 in the visual representation if the corresponding status information satisfies one or more thresholds. These thresholds may be based on the degree of importance, significance, value, or effectiveness of the services 1106 and / or service functions 1108.

[0194] For example, the service health interface 1134 may dynamically update thresholds to include a visual representation of service 1106 and / or service function 1108. The dynamic updates may be based on one or more parameters of the cloud environment, such as events, states, log entries, metrics, thresholds, algorithms, or patterns.

[0195] An example of a service health interface 1134 will be described separately later with reference to Figures 16A to 16C.

[0196] D. Exemplary Operator Device Interface

[0197] In one example, the operator device interface 1122 is or can be communicated with the health monitoring utility 1110. The operator device interface 1122 may include hardware and / or software configured to facilitate interaction between the operator and the health monitoring utility 1110 and / or other aspects of the system 1100. The operator device interface 1122 may provide and accept input through user interface elements. For example, the operator device interface 1122 may display output generated by the health monitoring utility 1110. As an addition or alternative, the operator device interface 1122 may be configured to accept input to the health monitoring utility 1110. Examples of interfaces include GUIs, command-line interfaces (CLIs), haptic interfaces, or voice command interfaces. Examples of user interface elements include checkboxes, radio buttons, drop-down lists, list boxes, buttons, toggles, text fields, date / time selectors, command lines, sliders, pages, or forms. One or more of these interfaces or interface elements may be utilized by the operator device interface 1122.

[0198] In one embodiment, different components of the operator device interface 1122 are defined in different languages. The behavior of user interface elements is defined in a dynamic programming language such as JavaScript. The content of user interface elements is defined in a markup language such as Hypertext Markup Language (HTML) or XML User Interface Language (XUL). The layout of user interface elements is defined in a stylesheet language such as Cascading Style Sheets (CSS). Alternatively, the operator device interface 1122 is defined in one or more other languages ​​such as Java, C, or C++.

[0199] In one example, the health monitoring utility 1110 may be implemented on one or more digital devices. The term “digital device” generally refers to any hardware device comprising a processor. A digital device may also refer to a physical device running an application or virtual machine. Examples of digital devices include computers, tablets, laptops, desktops, notebooks, servers, web servers, network policy servers, proxy servers, general-purpose machines, function-specific hardware devices, hardware routers, hardware switches, hardware firewalls, hardware network address converters (NATs), hardware load balancers, mainframes, televisions, content receivers, set-top boxes, printers, mobile phones, smartphones, personal digital assistive devices (PDAs), wireless receivers and / or transmitters, base stations, communication management devices, routers, switches, controllers, access points, and / or browser devices.

[0200] E. Exemplary Machine Learning Models

[0201] Referring to Figure 11C, in one example, the health monitoring utility 1110 may include and / or utilize at least one machine learning model 1136. As shown in Figure 11C, the machine learning model 1136 is located within partition 1104. As an addition or alternative, the machine learning model 1136 utilized by the health monitoring utility may be located elsewhere in the virtual cloud network 1102. The health monitoring utility 1110 may utilize the machine learning model 1136 to generate mappings between warning parameters and service functions 1108 and / or between service functions 1108 and service 1106. As an addition or alternative, the health monitoring utility 1110 may utilize the machine learning model 1136 to generate dependency graphs for service functions 1108 and / or service 1106. As an addition or alternative, the health monitoring utility 1110 may utilize a machine learning model 1136 to determine the weights of weighted items (e.g., warning parameters, service functions 1108, and / or service 1106). As an addition or alternative, the health monitoring utility 1110 may utilize a machine learning model 1136 to determine thresholds for selecting services 1106 and / or service functions 1108 to include in the visual representation for display on the service health interface 1134.

[0202] The machine learning algorithm 1138 may include one or more machine learning algorithms 1138, such as supervised and / or unsupervised algorithms. Various types of algorithms may be used, such as linear regression, logistic regression, linear discriminant analysis, classification and regression trees, naive Bayes, k-nearest neighbors, learning vector quantization, support vector machines, bagging, random forests, boosting, backpropagation, and / or clustering. As an addition to or alternative to the machine learning model 1136, the health monitoring utility 1110 may utilize one or more classical models. Classical models may include one or more classical statistical algorithms that rely on a set of assumptions about one or more of the underlying data, the data generation process, or the relationships between variables. Exemplary classical statistical algorithms include linear regression, logistic regression, ANOVA (analysis of variance), or hypothesis testing.

[0203] In one example, the machine learning algorithm 1138 can learn a target model f that optimally maps a set of input variables to output variables through iteration. In particular, the machine learning algorithm 1138 may be configured to generate and / or train a machine learning model 1136. The machine learning algorithm 1138 can learn a target model f that optimally maps a set of input variables to output variables by iterating using a set of training data. The training data used by the machine learning algorithm 1138 may be stored in the data corpus 1120. The training data may include a dataset and associated labels. The dataset may be associated with the input variables of the target model f. The associated labels may be associated with the output variables of the target model f. The training data may be updated, for example, based on feedback on the accuracy of the current target model f. The updated training data may be fed back to the machine learning algorithm 1138, which then updates the target model f.

[0204] The machine learning algorithm 1138 may generate a target model f that best fits the training data dataset to the labels of the training data. Alternatively, the machine learning algorithm 1138 may generate a target model f that, when applied to the training data dataset, determines the maximum number of results that match the labels of the training data. Furthermore, different target models may be generated based on different machine learning algorithms 1138 and / or different sets of training data.

[0205] In one example, as shown in Figure 11C, the health monitoring utility 1110 may include a model trainer 1140 that generates and / or trains a machine learning model 1136 using one or more machine learning algorithms 1138. In one example, the model trainer 1140 may obtain and / or generate feedback from one or more of the machine learning models 1136. The model trainer 1140 may train, update, and / or retrain one or more of the machine learning models 1136 based at least in part on this feedback. The feedback may correspond to one or more outputs of at least one machine learning model 1136. In one example, the model trainer 1140 may obtain multiple training datasets. The model trainer 1140 may train the machine learning model 1136 used by the health monitoring utility 1110 based at least in part on the multiple training datasets.

[0206] The training dataset may be stored in the data corpus 1120. In one example, the training data may include outputs from one or more of the machine learning models 1136. For example, iterative training and / or retraining of a machine learning model 1136 may be performed at least in part on outputs generated by one or more of the machine learning models 1136. The machine learning models 1136 may be iteratively improved over time by generating additional outputs from the analysis of additional datasets and iterative training or retraining based on these additional outputs.

[0207] In one example, the training data may include one or more initial supervised learning datasets. The model trainer 1140 may train the machine learning model 1136 based at least partially on one or more initial supervised learning datasets. In one example, the training data may include one or more subsequent supervised learning datasets. The model trainer 1140 may update or retrain the machine learning model 1136 based on one or more subsequent supervised learning datasets. One or more subsequent supervised learning datasets may be generated based at least partially on feedback corresponding to one or more outputs of the machine learning model 1136.

[0208] F. Exemplary Data Corpus

[0209] Figures 12A to 12C illustrate the features of an exemplary data corpus 1200. The data corpus 1200 described with reference to Figures 12A to 12C may be included in one or more embodiments described with reference to Figures 11A to 11C. As an addition or alternative, the data corpus 1200 described with reference to Figures 12A to 12C may include one or more features of the data corpus 1120 described with reference to Figures 11A to 11C.

[0210] i. Exemplary Mapping

[0211] As shown in Figure 12A, the data corpus 1200 includes multiple mappings 1202. These mappings include mapping relationships between warning parameters 1204 and service functions 1206. The mapping relationships between warning parameters 1204 and service functions 1206 identify a specific warning parameter 1204 associated with a particular service function 1206. As an addition or alternative, the multiple mappings 1202 also include mapping relationships between service functions 1206 and services 1208. The mapping relationships between service functions 1206 and services 1208 identify a specific service function 1206 of a particular service 1208.

[0212] In one example, the data corpus 1200 includes a mapping 1202 of specific warning parameters 1204 to specific service functions 1206 of a particular service 1208. For example, mapping 1202a maps warning parameter 1204a to service function 1206a of service 1208a. In another example, mapping 1202b maps warning parameter 1204b to service function 1206b of service 1208b. As an addition or alternative, the data corpus 1200 may include mappings 1202 that map specific service functions 1206 to several warning parameters 1204 associated with each of them. For example, mapping 1202c maps warning parameters 1204c and 1204d to service function 1206c of service 1208c. As an addition or alternative, the data corpus 1200 may include mappings 1202 that map a particular warning parameter 1204 to a plurality of service functions 1206 associated with each. For example, mapping 1202d maps the warning parameter 1204e to the service function 1206d of service 1208d. Mapping 1202d also maps the warning parameter 1204e to the service function 1206e of service 1208e. As an addition or alternative, the data corpus 1200 may include mappings 1202 that map a particular service 1208 to its plurality of service functions 1206. Mapping 1202 may also map the plurality of service functions 1206 of service 1208 to one or more warning parameters 1204. For example, mapping 1202e maps the warning parameter 1204f to the service function 1206f of service 1208f. Furthermore, mapping 1202e maps the warning parameter 1204g to the service function 1206g of service 1208f.

[0213] The mappings 1202 stored in the data corpus 1200 represent all relationships or subsets thereof between a warning parameter 1204 and a service function 1206 of a particular service 1208. Alternatively, the mappings 1202 stored in the data corpus 1200 represent all services 1208 or subsets thereof running in a partition. For example, the data corpus 1200 includes a specific set of mappings 1202 determined as a particular area of ​​interest for monitoring the health of a cloud environment. The data corpus 1200 may also include mappings 1202 defined by a user, such as a cloud operator. These user-defined mappings 1202 may correspond to a specific warning parameter 1204, service function 1206, and / or service 1208 that are of interest to the user. Alternatively, the data corpus 1200 may also include mappings 1202 automatically generated by a mapping utility. The mapping 1202 automatically generated by the mapping utility may correspond to specific warning parameters 1204, service functions 1206, and / or services 1208 that the mapping utility has determined may be of interest to users such as cloud operators.

[0214] i. Exemplary dependency graph

[0215] Referring to Figures 12B and 12C, the data corpus 1200 may include multiple dependency graphs that map functional dependencies between service functions. A dependency graph 1210 represents dependencies associated with one or more service functions 1206. In one example, the dependency graph may include a downstream dependency graph 1210 representing downstream dependencies 1212 of one or more service functions 1206. A downstream dependency 1212 of a particular service function 1206 indicates a downstream service function 1206 that depends on or is affected by one or more functions or behaviors of that particular service function 1206. As an addition or alternative, in one example, the dependency graph may include an upstream dependency graph 1214 representing upstream dependencies 1216 of one or more service functions 1206.

[0216] Figure 12B shows an exemplary downstream dependency graph 1210 of service function 1206h of service 1208h. The downstream dependency graph 1210 shown in Figure 12B represents the downstream dependencies 1212 of service function 1206h. Downstream dependencies 1212 identify service function 1206 of service 1208h that depend on or are affected by service function 1206h. As an example, downstream dependency graph 1210 includes a downstream dependency 1212a between service function 1206h and service function 1206i of service 1208i. Downstream dependency 1212a indicates that service function 1206i depends on or is affected by service function 1206h. As another example, downstream dependencies 1212b and 1212c indicate that both service function 1206k and service function 1206m of service 1208k depend on or are affected by service function 1206h, respectively.

[0217] A downstream dependency 1212 may include one or more downstream service functions 1206 that depend on or are affected by a particular service function 1206. For example, the downstream dependency graph 1210 includes a downstream dependency 1212d between service function 1206i of service 1208i and service function 1206n of service 1208j, and a downstream dependency 1212e between service function 1206i and service function 1206p. Downstream dependencies 1212a and 1212d together indicate that service function 1206n depends on or is affected by service function 1206h. Also, downstream dependencies 1212a and 1212e indicate that service function 1206p depends on or is affected by service function 1206h. Service function 1206n and / or service function 1206p may indirectly depend on service function 1206h through dependencies from service function 1206i, as indicated by downstream dependencies 1212d and 1212e, respectively. As another example, the downstream dependency 1212f between service function 1206k of service 1208k and service function 1206q of service 1208m indicates that service function 1206p depends on or is affected by service function 1206h. Service function 1206q may indirectly depend on service function 1206h through dependencies from service function 1206k, as indicated by downstream dependency 1212f.

[0218] Figure 12C shows an exemplary upstream dependency graph 1214 of service function 1206t of service 1208t. The upstream dependency graph 1214 shown in Figure 12C represents the upstream dependency 1216 of service function 1206t. The upstream dependency 1216 identifies the service functions 1206 that service function 1206t of service 1208t depends on or that affect service function 1206t. As an example, the upstream dependency graph 1214 includes an upstream dependency 1216a between service function 1206t and service function 1206u of service 1208u. The upstream dependency 1216a indicates that service function 1206t depends on or is affected by service function 1206u. As another example, the upstream dependency 1216b and upstream dependency 1216c indicate that service function 1206t depends on or is affected by service functions 1206v and 1206w of service 1208v, respectively.

[0219] An upstream dependency 1216 may include one or more upstream service functions 1206 that depend on or are affected by another upstream service function 1206. For example, the upstream dependency graph 1214 includes an upstream dependency 1216d between service function 1206u of service 1208u and service function 1206x of service 1208x, and an upstream dependency 1216e between service function 1206u and service function 1206y. Upstream dependencies 1216a and 1216d together indicate that service function 1206t depends on or is affected by service function 1206x. Also, upstream dependencies 1216a and 1216e indicate that service function 1206t depends on or is affected by service function 1206y. Service function 1206t may indirectly depend on or be affected by service functions 1206x and / or 1206y due to the upstream dependencies indicated by upstream dependencies 1216d and 1216e, respectively. As another example, the upstream dependency 1216f between service function 1206v of service 1208v and service function 1206z of service 1208z indicates that service function 1206t depends on or is affected by service function 1206z. Service function 1206t may indirectly depend on service function 1206z due to the upstream dependency 1216f.

[0220] The data corpus 1200 may include dependency graphs of all service functions 1206 or subsets thereof of a particular service 1208 running in a partition. Alternatively, the dependency graphs stored in the data corpus 1200 may represent all downstream dependencies 1212 and / or upstream dependencies 1216 or subsets thereof between various service functions 1206. For example, the data corpus 1200 may include a specific set of dependency graphs of a service function 1206 determined to be a particular interest for monitoring the health of a cloud environment. The data corpus 1200 may also include dependency graphs defined by a user, such as a cloud operator. These user-defined dependency graphs may correspond to specific service functions 1206 and / or services 1208 that are of interest to the user. Alternatively, the data corpus 1200 may also include dependency graphs automatically generated by a mapping utility. The dependency graph automatically generated by the mapping utility may correspond to specific service functions 1206 and / or services 1208 that the mapping utility has determined may be of interest to users such as cloud operators.

[0221] In one or more embodiments, the data corpus 1200 is any type of storage unit and / or device for storing data (e.g., a file system, database, table set, or any other storage mechanism). Furthermore, the data corpus 1200 may include multiple different storage units and / or devices. The multiple different storage units and / or devices may be of the same type or not, and may be located at the same physical site or not. Furthermore, the data corpus 1200 may be implemented on or run on the same computing system as the health monitoring utility 1110 (Figures 11A-11C). As an addition or alternative, the data corpus 1200 may be implemented on or run on a separate computing system from the health monitoring utility 1110 (Figures 11A-11C). The data corpus 1200 may be communicate-coupled to the health monitoring utility 1110 (Figures 11A-11C) via direct connection or a network. The information describing the data corpus 1200 may be implemented across any of the components of system 1100 (Figures 11A to 11C). However, this information is described by referring to the data corpus 1200 for clarity and explanatory purposes.

[0222] 4. Exemplary actions for generating health indicators

[0223] Referring to Figures 13A to 13C, exemplary operations 1300 relating to monitoring the health of the system's services in one or more embodiments are further described. One or more operations 1300 described with reference to Figures 13A to 13C may be modified, combined, reconfigured, or omitted. Therefore, the particular order of the operations 1300 described with reference to Figures 13A to 13C should not be construed as limiting the scope of one or more embodiments. In one example, operation 1300 may be performed by one or more components of the system described with reference to Figures 11A to 11C.

[0224] A. Determination of health indicators based on the service function of the service.

[0225] Referring to Figure 13A, the system may perform operation 1300 relating to the determination of health indicators based on the service functions of the service. As shown in Figure 13A, the system determines that a warning has been detected (operation 1302) and, in response to the determination that a warning has been detected, determines one or more service functions associated with the detected warning (operation 1304). In one example, the system detects a first warning and determines that the first warning is associated with a first service function based on a mapping between a first service function and a first detected warning. In one example, the system determines if there is another service function associated with the warning (operation 1306). The system may determine one or more service functions associated with the warning based on a mapping between warning parameters and service functions. The mapping may be stored in a data corpus and / or metadata associated with the service and / or service functions. In one example, in addition to the first service function, the system determines that a second service function is associated with the warning.

[0226] For each service function associated with a detection alert, the system determines the service corresponding to each service function (operation 1308). Once the service corresponding to the service function has been determined, the system calculates a health index for that service (operation 1310). The service health index is calculated based at least in part on the service function associated with the alert. The health index may represent the impact of the alert on at least one of the service functions, services, or cloud environments. In one example, the health index is calculated based at least in part on a user-defined assessment of the service function. The user-defined assessment of the service function may be stored in a data corpus and / or metadata associated with the service function. Exemplary health indices are described separately later with reference to Figures 14A–14E, 15A, 15B, and 16A–16C.

[0227] In one example, the system determines that a first service corresponds to a first service function and calculates a first health index for the first service. The first health index is calculated based on the first service function associated with the warning. In one example, the system determines if there is another service associated with another service function corresponding to a warning (operation 1312). The system may determine one or more services corresponding to one or more service functions associated with a warning based on a mapping between services and service functions. The mapping may be stored in a data corpus and / or metadata associated with services and / or service functions. In one example, in addition to the first service corresponding to the first service function, the system determines that a second service corresponds to a second function associated with a warning.

[0228] Once the system has calculated one or more health indicators for one or more services corresponding to one or more service functions associated with a warning, it generates a visual representation containing one or more health indicators for display in the service health interface (operation 1314). In one example, the system determines a relative ranking of service functions based at least in part on a comparison of the health indicators corresponding to each service function. The system may then display the ranking in the service health interface. An exemplary service health interface is described separately later with reference to Figures 16A-16C.

[0229] In one example, the system determines one or more service functions associated with a warning and / or the services corresponding to one or more service functions based on a mapping represented as key-value pairs. The system may identify service functions by searching for the key corresponding to the warning and retrieving one or more associated values ​​corresponding to each of the one or more service functions associated with the warning. The system may identify services corresponding to one or more service functions by traversing the mapping from specific values ​​associated with a particular service function to the corresponding services. For example, the mapping may be stored in a relational database and / or tables. As an addition or alternative, the system may search for the key corresponding to a service function and retrieve the associated value corresponding to the service. As an addition or alternative, the mapping may be stored in metadata associated with warning parameters, service functions, and / or services, and the system may determine the mapping elements by accessing the mapping from the metadata.

[0230] B. Determination of health indicators based on impact on downstream service functions

[0231] Referring to Figure 13B, the system may perform operation 1300, which relates to determining a health index based on the impact of a service function on other downstream service functions and / or services. As shown in Figure 13B, the system determines a health index for a service in a cloud environment (operation 1320). In one example, the health index is determined according to operation 1300, which is described with reference to Figure 13A. As described with reference to Figure 13B, the system may apply impact weights to the health index for the service based on the impact of one or more service functions of the service on one or more downstream service functions and / or services. As an addition or alternative, the system may apply impact weights to the health index for the service based on the impact of one or more upstream service functions of the service on one or more service functions of the service.

[0232] As shown in Figure 13B, the system determines the service function of a service (operation 1322). The system may determine the service function based on a mapping between services and service functions. The mapping may be stored in a data corpus and / or metadata associated with services and / or service functions.

[0233] For a specific service identified in operation 1322, the system determines one or more downstream service functions that depend on the service function (operation 1324). The system may determine the downstream service functions from a dependency graph corresponding to the service function. The dependency graph may map the functional dependencies between the service function and one or more downstream service functions. In one example, the data corpus includes foreign keys representing service functions corresponding to primary keys representing the dependency graph of service functions. The system may determine the foreign keys from the mapping between service functions and services. The system may determine one or more downstream service functions by traversing the dependency graph and reading values ​​corresponding to the downstream service functions. In one example, the system determines whether a service has additional service functions (operation 1326). If the system determines that a service has additional service functions, it returns to operation 1324 to determine one or more downstream service functions that depend on the additional service functions. The system may determine downstream service functions for one or more service functions of a service.

[0234] In operation 1324, once downstream service functions have been determined for one or more service functions of a service, the system determines the influence weights for the services. The influence weights are determined based on the downstream service functions that depend on the service functions of the service (operation 1328). The system may calculate the influence weights based on one or more service functions of a service. In one example, the influence weights are dependency weights as described later with reference to Figure 15A. In one example, the system determines the number of first downstream service functions and calculates the influence weights based on the number of downstream service functions. In one example, the system calculates multiple influence weights corresponding to each of the multiple service functions of a service. Also in one example, the system calculates the influence weights for a service based on multiple influence weights corresponding to multiple services. In one example, the system determines multiple downstream service functions that depend on the service functions of a service. To determine the multiple downstream service functions, the system accesses a dependency graph and determines a first dependency between a service function and a first downstream service function based on the dependency graph. The system also determines a second dependency between a service function and a second downstream service function based on the dependency graph.

[0235] The impact weights of a service may be calculated based on the number of downstream service functions affected by a particular service function of the service. Alternatively, the impact weights may be calculated based on one or more weights associated with each of the one or more downstream service functions affected by a particular service function. Alternatively, the impact weights may be calculated based on one or more weights associated with each of the one or more service functions of the service that affect one or more downstream service functions. The system may determine the weights associated with a service function based on a dependency graph corresponding to the service functions. Alternatively, the system may determine the weights associated with downstream service functions based on a dependency graph corresponding to the service functions. In one example, the dependency graph includes a mapping between service functions and their corresponding weights. The system may traverse the dependency graph to identify service functions and retrieve the weights corresponding to downstream service functions.

[0236] In one example, the influence weights corresponding to downstream service functions are user-defined values. The system may calculate service function weights based on user-defined values ​​for downstream service functions. As an addition or alternative, the influence weights for a service may be calculated based on user-defined values ​​for one or more service functions of the service. In one example, the influence weight represents a composite of the service function weights for one or more service functions of the service and the service function weights for the downstream service functions corresponding to each of the one or more service functions of the service.

[0237] Once the impact weights for a service are determined, the system calculates a weighted health index for the service by applying the impact weights to the health index (operation 1330). Once the impact weights for a service are determined, the system generates a visual representation including the weighted health index for display in the service health interface (operation 1332). In one example, the system determines a first impact weight corresponding to a first service function of a service and a second impact weight corresponding to a second service function of a service. Also in one example, the system calculates a weighted health index for the service based on the impact weights of the service determined based on the first impact weight corresponding to the first service function and the second impact weight corresponding to the second service function. In one example, the system determines the impact weights of multiple services running in a partition. In one example, the system determines the relative rankings of the services based at least in part on a comparison of the weighted health indexes. The system may display the rankings in the service health interface. Exemplary service health interfaces are described separately later with reference to Figures 16A-16C.

[0238] C. Changing health data sources according to failover status

[0239] Referring to Figure 13C, the system may perform operation 1300 relating to the change of health data source in response to the failover state. The system may use health data from the first health data source to generate and display service health indicators and, in response to the determination of the failover state, make a change from the first health data source to the second health data source. Depending on the failover state, the system may use health data from the second health data source to generate and display service health indicators. In one example, the transition from the first health data source to the second health data source is automatic. In one example, the transition from the first health data source to the second health data source is not recognizable from the visual representation displayed in the service health interface. As an addition or alternative, the service health interface may include indicators of health data sources used to calculate various health indicators. As an addition or alternative, the service health interface may send user-accessible notifications when transitioning from a first health data source to a second health data source. For example, the system may make the acceptance of input indicating user approval for the transition from the first health data source to the second health data source a condition for the transition. For example, the transition from the first health data source to the second health data source may be conditional on user approval if, for example, the second health data source represents a lower level of detail or granularity than the first health data source.

[0240] In one example, the system calculates a first health metric for the service based on health data from a first health data source (operation 1340). The first health data source may include a telemetry service. The system generates a visual representation containing the first health metric for display in the service health interface (operation 1342). The system determines whether a failover condition associated with the first data source has been detected (operation 1344). If no failover condition has been detected, the system continues to display the first health metric in the visual representation in the service health interface. If a failover condition has been detected, the system updates the visual representation using a second health metric for the service calculated based on health data from a second health data source. In one example, the system calculates a first health index based on health data from a first health data source, and simultaneously calculates a second health index for the service based on health data from a second health data source (operation 1346). As an addition or alternative, the system may calculate a second health index based on health data from a second health data source in response to a determination that a failover condition has been detected (operation 1344). As an addition or alternative, in response to a determination that a failover condition has been detected, the system updates the visual representation using the second health index for display in the service health interface (operation 1348).

[0241] In one example, the system detects a failover condition in operation 1344 by monitoring one or more warning parameters corresponding to a first health data source. The failover condition may correspond to one or more warning parameters corresponding to each of the telemetry service and / or one or more monitored components monitored by the telemetry service. Additional or alternative to this, the failover condition may correspond to a messaging service. In one example, the system determines the failover condition based on error warnings corresponding to warning parameters. Additional or alternative to this, the system determines the failover condition based on a degradation condition associated with a warning parameter. For example, a degradation condition may represent a hardware failure, a software bug, a networking problem, or data corruption. A degradation condition may include one or more of the following: incomplete or missing warnings, delayed warnings, false warnings, inconsistent warning behavior, or reduced accuracy of warning data.

[0242] In one example, a failover state is based on the time elapsed since a state change that satisfies a threshold. This time represents the elapsed time since the latest state change of the warning parameter, and the threshold may represent the time when the state change is expected to occur. If this time satisfies the threshold, the state of the warning parameter is considered suspicious. The system may be configured to transition from a first health data source to a second health data source for all or some of the warning parameters. In one example, the system transitions from a first health data source to a second health data source for a specific warning parameter that indicates a failover state.

[0243] 5. Exemplary Health Indicators

[0244] Exemplary health indicators are further described here with reference to Figures 14A–14E, 15A, and 15B. In one example, a health indicator represents the impact of one or more warnings on at least one of the following: a service function associated with a warning, a service corresponding to a service function, or the cloud environment. As an addition or alternative, a health indicator may represent the impact of a particular service function on one or more downstream service functions and / or the impact of one or more upstream service functions on a particular service function. A health indicator may represent the sum, product, or combination of one or more input parameters used in the calculation of the health indicator. One or more input parameters may include functions, operators, variables, or constants. One or more input parameters may be associated with services, service functions, or warnings. One or more input parameters may include additional health indicators. As an addition or alternative, one or more input parameters may include weights, such as weights, applied to one or more additional health indicators. The examples described below with reference to Figures 14A-14E, 15A, and 15B are provided for clarity and shall not be construed as limiting the scope of any of the claims.

[0245] A. Health indicators based on alerts associated with the service's functionality.

[0246] As shown in Figures 14A to 14E, the system calculates a service health index 1400 based on the service functions of the service. The service health index represents the impact on the service health resulting from the alerts associated with the service functions of the service. The health index 1400 may, by weighting, represent the degree of importance, significance, value, or effect of a particular service function and / or alert.

[0247] Referring to Figure 14A, the health index 1400 includes a service health index 1402a that represents the health of service 1404a. The system calculates the service health index 1402a based on the service function 1406a of service 1404a. The service function 1406a is associated with a warning parameter 1408a. The service health index 1402a represents the impact of the service function 1406a on the health of service 1404a caused by the warning parameter 1408a. As shown in Figure 14A, the warning parameter 1408a has a warning state 1410a that indicates a warning status 1412a for the warning parameter 1408a. If the warning parameter 1408a is active, the warning state 1410a is (1). If the warning parameter 1408a is inactive, the warning state 1410a is (0). Warning status 1412a for warning parameter 1408a indicates that warning parameter 1408a is valid.

[0248] The system calculates a functional health index 1414a based on a warning parameter 1408a. The functional health index 1414a may be calculated based on a warning state 1410a and / or a warning status 1412a. In one example, the system calculates a functional health index 1414a based on a function weight 1416a corresponding to a service function 1406a. The function weight 1416a represents the degree of importance, significance, value, or effect of the service function 1406a on the health of service 1404a. As an addition or alternative, the system calculates a functional health index 1414a based on a warning weight 1418a corresponding to a warning parameter 1408a. The warning weight 1418a represents the degree of importance, significance, value, or effect of the warning parameter 1408a on the service function 1406a. In one example, the functional health index 1414a represents the sum, product, or combination of the functional weights 1416a and the warning weights 1418a. As an addition or alternative, the functional health index 1414a may represent the product of one or more functions, operators, variables, or constants associated with the service function 1406a and / or warning parameter 1408a.

[0249] In one example, service health index 1402a represents the sum, product, or combination of the functional health index 1414a of service 1404a and one or more additional functional health indices. As an addition or alternative, service health index 1402a may represent the product of one or more functions, operators, variables, or constants associated with service 1404a. In one example, functional health index 1414a has a value (2) representing the product of functional weight 1416a and warning weight 1418a (e.g., 2 × 1 = 2). In one example, service health index 1402a has a value (2) representing the product of functional health index 1414a and one or more additional functional health indices.

[0250] Referring to Figure 14B, the health index 1400 includes a service health index 1402b that represents the health of service 1404b. The system calculates the service health index 1402b based on the service function 1406b of service 1404b. The service function 1406b is associated with a warning parameter 1408b. The service health index 1402b represents the impact of the service function 1406b on the health of service 1404b caused by the warning parameter 1408b. As shown in Figure 14B, the warning parameter 1408b has a warning state 1410b that indicates the warning status 1412b of the warning parameter 1408b. If the warning parameter 1408b is active, the warning state 1410b is (1). If the warning parameter 1408b is inactive, the warning state 1410b is (0). Warning status 1412b for warning parameter 1408b indicates that warning parameter 1408b is valid.

[0251] The system calculates a functional health index 1414b based on the warning parameter 1408b. The functional health index 1414b may be calculated based on the warning state 1410b and / or warning status 1412b. In one example, the system calculates the functional health index 1414b based on the function weight 1416b corresponding to the service function 1406b. The function weight 1416b represents the degree of importance, significance, value, or effect of the service function 1406b on the health of the service 1404b. As an addition or alternative, the system calculates the functional health index 1414b based on the warning weight 1418b corresponding to the warning parameter 1408b. The warning weight 1418b represents the degree of importance, significance, value, or effect of the warning parameter 1408b on the service function 1406b. In one example, the functional health index 1414b represents the sum, product, or combination of the functional weights 1416b and the warning weights 1418b. As an addition or alternative, the functional health index 1414b may represent the product of one or more functions, operators, variables, or constants associated with the service function 1406b and / or warning parameter 1408b.

[0252] In one example, the service health index 1402b represents the sum, product, or combination of the functional health index 1414b of service 1404b and one or more additional functional health indices. As an addition or alternative, the service health index 1402b may represent the product of one or more functions, operators, variables, or constants associated with service 1404b. In one example, the functional health index 1414b has a value (3) representing the product of the functional weight 1416b and the warning weight 1418b (for example, 3 × 1 = 3). In one example, the service health index 1402b has a value (3) representing the product of the functional health index 1414b and one or more additional functional health indices.

[0253] Referring to Figure 14C, in one example, the system calculates a functional health index for a service function based on several warning parameters associated with the service function. The functional health index may represent the impact on the service function caused by each warning parameter. As an addition or alternative, the system may calculate a service health index for a service based on a service function associated with several warning parameters. As shown in Figure 14C, the system calculates a service health index 1402c based on the service function 1406c of service 1404c. Service function 1406c is associated with warning parameters 1408c and 1408d. The service health index 1402c represents the impact of service function 1406c on the health of service 1404c caused by warning parameters 1408c and / or 1408d.

[0254] As shown in Figure 14C, the warning parameter 1408c has a warning state 1410c that indicates the warning status 1412c of the warning parameter 1408c. If the warning parameter 1408c is valid, the warning state 1410c is (1). If the warning parameter 1408c is invalid, the warning state 1410c is (0). The warning status 1412c of the warning parameter 1408c indicates that the warning parameter 1408c is valid. Similarly, the warning parameter 1408d has a warning state 1410d that indicates the warning status 1412d of the warning parameter 1408d. If the warning parameter 1408d is valid, the warning state 1410d is (1). If the warning parameter 1408d is invalid, the warning state 1410d is (0). The warning status 1412d of the warning parameter 1408d indicates that the warning parameter 1408d is valid.

[0255] The system calculates a functional health index 1414c based on warning parameters 1408c and 1408d. The functional health index 1414c may also be calculated based on the warning state 1410c and / or warning status 1412c of warning parameter 1408a. As an addition or alternative, the functional health index 1414c may also be calculated based on the warning state 1410d and / or warning status 1412d of warning parameter 1408d. In one example, the system calculates a functional health index 1414c based on a function weight 1416c corresponding to a service function 1406c. The function weight 1416c represents the degree of importance, significance, value, or effect of the service function 1406c on the health of service 1404c. As an addition or alternative, the system calculates a functional health index 1414c based on warning weights 1418c corresponding to warning parameter 1408c and / or warning weights 1418d corresponding to warning parameter 1408d. Warning weights 1418c represent the degree of importance, significance, value, or effect of warning parameter 1408c on service function 1406c. Warning weights 1418d represent the degree of importance, significance, value, or effect of warning parameter 1408d on service function 1406c.

[0256] In one example, the functional health index 1414c represents the sum, product, or composite of the functional weights 1416c, warning weights 1418c, and warning weights 1418d. Alternatively, the functional health index 1414c may represent the product of one or more functions, operators, variables, or constants associated with the service function 1406c, warning parameter 1408c, and / or warning parameter 1408d. In one example, the service health index 1402c represents the sum, product, or composite of the functional health index 1414c of service 1404c and one or more additional functional health indices. Alternatively, the service health index 1402c may represent the product of one or more functions, operators, variables, or constants associated with service 1404c. In one example, the functional health index 1414c has a value (12) that represents a combination of the product of the warning weight 1418c and the functional weight 1416c and the product of the warning weight 1418d and the functional weight 1416c (for example, 3 × 3 + 3 × 1 = 12). In one example, the service health index 1402c has a value (12) that represents the sum of the functional health index 1414c of service 1404b and one or more additional service functions.

[0257] Referring to Figure 14D, in one example, the system calculates a service health index for a service based on the functional health indices of multiple service functions of the service associated with a specific warning parameter. As shown in Figure 14D, warning parameter 1408e is associated with service functions 1406d and 1406e of service 1404d. The system calculates a service health index 1402d based on service functions 1406d and 1406e of service 1404d. Warning parameter 1408e is associated with service functions 1406d and 1406e. The service health index 1402d represents the impact of service function 1406d on the health of service 1404d due to warning parameter 1408e. The service health index 1402d also represents the impact of service function 1406e on the health of service 1404d due to warning parameter 1408e.

[0258] The system calculates a functional health index 1414d based on a warning parameter 1408e. As shown in Figure 14D, a warning parameter 1408e has a warning state 1410e that indicates a warning status 1412e for that warning parameter 1408e. If the warning parameter 1408e is valid, the warning state 1410e is (1). If the warning parameter 1408e is invalid, the warning state 1410e is (0). The warning status 1412e for the warning parameter 1408e indicates that the warning parameter 1408e is valid. The functional health index 1414d may be calculated based on the warning state 1410e and / or the warning status 1412e. In one example, the system calculates the functional health index 1414d based on a function weight 1416d corresponding to a service function 1406d. The function weight 1416d represents the degree of importance, significance, value, or effect of service function 1406d on the health of service 1404d. Alternatively, the system calculates a function health index 1414d based on the warning weight 1418d corresponding to the warning parameter 1408e. The warning weight 1418d represents the degree of importance, significance, value, or effect of the warning parameter 1408e on service function 1406d. In one example, the function health index 1414d represents the sum, product, or composite of the function weight 1416d and the warning weight 1418d. Alternatively, the function health index 1414d may represent the product of one or more functions, operators, variables, or constants associated with service function 1406d and / or warning parameter 1408e.

[0259] The system calculates a functional health index 1414e based on the warning parameter 1408e. The functional health index 1414e may be calculated based on the warning state 1410e and / or warning status 1412e. In one example, the system calculates the functional health index 1414e based on the function weight 1416e corresponding to the service function 1406e. The function weight 1416e represents the degree of importance, significance, value, or effect of the service function 1406e on the health of the service 1404d. As an addition or alternative, the system calculates the functional health index 1414e based on the warning weight 1418e corresponding to the warning parameter 1408e. The warning weight 1418e represents the degree of importance, significance, value, or effect of the warning parameter 1408e on the service function 1406e. In one example, the functional health index 1414e represents the sum, product, or combination of the functional weights 1416e and the warning weights 1418e. As an addition or alternative, the functional health index 1414e may represent the product of one or more functions, operators, variables, or constants associated with the service function 1406e and / or warning parameter 1408e.

[0260] In one example, the service health index 1402d represents the sum, product, or composite of the functional health index 1414d and the functional health index 1414e. As an addition or alternative, the service health index 1402d may represent the product of one or more functions, operators, variables, or constants associated with the service 1404d. In one example, the functional health index 1414d has a value (2) representing the product of the functional weight 1416d and the warning weight 1418d (e.g., 2 × 1 = 2). In one example, the functional health index 1414e has a value (4) representing the product of the functional weight 1416e and the warning weight 1418e (e.g., 4 × 1 = 4). In one example, the service health index 1402d has a value (8) representing the product of the functional health index 1414d and the functional health index 1414e.

[0261] Referring to Figure 14E, in one example, the system calculates service health indicators for multiple services based on the functional health indicators of multiple service functions for each service associated with a specific warning parameter. As shown in Figure 14E, warning parameter 1408f is associated with service function 1406f of service 1404f. Also, warning parameter 1408f is associated with service function 1406g of service 1404g. The system calculates service health indicator 1402f based on service function 1406f of service 1404f. Service health indicator 1402f represents the impact of service function 1406f on the health of service 1404f due to warning parameter 1408f. The system also calculates service health indicator 1402g based on service function 1406g of service 1404g. The service health index 1402g represents the impact of service function 1406g on the health of service 1404g caused by warning parameter 1408f. As shown in Figure 14E, warning parameter 1408f has a warning state 1410f that indicates the warning status 1412f of warning parameter 1408f. If warning parameter 1408f is active, the warning state 1410f is (1). If warning parameter 1408f is inactive, the warning state 1410f is (0). The warning status 1412f of warning parameter 1408f indicates that warning parameter 1408f is active.

[0262] The system calculates a functional health index 1414f for service function 1406f based on the warning parameter 1408f. The system also calculates a service health index 1402f based on the functional health index 1414f. In one example, the system calculates the functional health index 1414f based on the function weight 1416f corresponding to service function 1406f. The function weight 1416f represents the degree of importance, significance, value, or effect of service function 1406f on the health of service 1404f. As an addition or alternative, the system calculates the functional health index 1414f based on the warning weight 1418f corresponding to the warning parameter 1408f. The warning weight 1418f represents the degree of importance, significance, value, or effect of warning parameter 1408f on service function 1406f. In one example, the functional health index 1414f represents the sum, product, or combination of the functional weights 1416f and the warning weights 1418f. As an addition or alternative, the functional health index 1414f may represent the product of one or more functions, operators, variables, or constants associated with the service function 1406f and / or warning parameter 1408f.

[0263] In one example, the service health index 1402f represents the sum, product, or combination of the functional health index 1414f of service 1404f and one or more additional functional health indices. As an addition or alternative, the service health index 1402f may represent the product of one or more functions, operators, variables, or constants associated with service 1404f. In one example, the functional health index 1414f has a value (6) representing the product of the functional weight 1416f and the warning weight 1418f (e.g., 6 × 1 = 6). In one example, the service health index 1402f has a value (6) representing the product of the functional health index 1414f and one or more additional functional health indices.

[0264] The system calculates a functional health index 1414g based on the warning parameter 1408f. The system also calculates a service health index 1402g based on the functional health index 1414g. The functional health index 1414g may be calculated based on warning conditions 1410f and / or warning status 1412f. In one example, the system calculates the functional health index 1414g based on a function weight 1416g corresponding to a service function 1406g. The function weight 1416g represents the degree of importance, significance, value, or effect of the service function 1406g on the health of the service 1404g. As an addition or alternative, the system calculates the functional health index 1414g based on a warning weight 1418g corresponding to the warning parameter 1408f. The warning weight 1418g represents the degree of importance, significance, value, or effect of the warning parameter 1408f on the service function 1406g. In one example, the function health index 1414g represents the sum, product, or composite of the function weight 1416g and the warning weight 1418g. As an addition or alternative, the function health index 1414g may represent the product of one or more functions, operators, variables, or constants associated with the service function 1406g and / or the warning parameter 1408f.

[0265] In one example, the service health index 1402g represents the sum, product, or combination of the functional health index 1414g of service 1404g and one or more additional functional health indices. As an addition or alternative, the service health index 1402g may represent the product of one or more functions, operators, variables, or constants associated with service 1404g. In one example, the functional health index 1414g has a value (1) representing the product of the functional weight 1416g and the warning weight 1418g (e.g., 1 × 1 = 1). In one example, the service health index 1402g has a value (1) representing the product of the functional health index 1414g and one or more additional functional health indices.

[0266] B. Health indicators based on impact on downstream service functions

[0267] Referring to Figure 15A, a health index 1500 based on the impact of service functions on downstream service functions is further described. The health index 1500 representing the impact of service functions on downstream service functions includes a weighted health index calculated based on the service health index. The weighted health index of a service may represent the degree of importance, significance, value, or effect that one or more service functions of a service have on one or more downstream services.

[0268] As shown in Figure 15A, the system calculates a service health index 1502a for service 1504a. The system also calculates a weighted health index 1506a for service 1504a based on the service health index 1502a. Service 1504a includes service functions 1508a and 1508b. In one example, a service function may affect one or more downstream service functions of one or more downstream services. Service function 1508a affects the downstream service function 1508c of service 1504c. Similarly, service function 1508a affects the downstream service function 1508d of service 1504d. In one example, a service function may affect multiple downstream service functions of a particular downstream service. Service function 1508b affects the downstream service functions 1508e and 1508f of service 1504c.

[0269] The system calculates dependency weights for service functions based on one or more downstream service functions that depend on the service function. In one example, the system determines dependency weights based on the number of downstream service functions. The system determines the number of downstream service functions and calculates dependency weights based on the number of downstream service functions. In one example, the dependency weight is the number of downstream service functions. In one example, the dependency weight represents the product of the number of downstream services and one or more functions, operators, variables, or constants. As an addition or alternative, the system determines dependency weights based on the function weights of one or more downstream service functions that depend on the service function. As an addition or alternative, the dependency weights for service functions may be calculated based on the function weights of the service functions. In one example, the system calculates the dependency weight 1510a for service function 1508a based on function weights 1512c and 1512d. Function weight 1512c corresponds to the downstream service function 1508c of service 1504c. Function weight 1512d corresponds to the downstream service function 1508d of service 1504d. In one example, the dependency weight 1510a of service function 1508a is also based on the function weight 1512a of service function 1508a. In one example, the dependency weight 1510a represents the sum, product, or composite of function weights 1512a, 1512c, and 1512d. As an addition or alternative, the dependency weight 1510a may represent the product of one or more functions, operators, variables, or constants associated with service function 1508a, downstream service function 1508c, and / or downstream service function 1508d. As shown in Figure 15A, the dependency weight 1510a has a value (8) that represents the product of function weights 1512c, 1512d, and 1512a (for example, 2 × 4 × 1 = 8).

[0270] In one example, the system calculates the dependency weight 1510b of service function 1508b based on function weights 1512e and 1512f. Function weight 1512e corresponds to the downstream service function 1508c of service 1504e. Function weight 1512f corresponds to the downstream service function 1508d of service 1504e. In one example, the dependency weight 1510b of service function 1508b is also based on the function weight 1512b of service function 1508b. In one example, the dependency weight 1510b represents the sum, product, or combination of function weights 1512b, 1512e, and 1512f. As an addition or alternative, the dependency weight 1510b may represent the product of one or more functions, operators, variables, or constants associated with service function 1508b, downstream service function 1508e, and / or downstream service function 1508f. As shown in Figure 15A, the dependency weight 1510b has a value (3) that represents the product of the function weights 1512e, 1512f, and 1512b (for example, 1 × 3 × 1 = 3).

[0271] In one example, the system calculates a weighted health index 1506a based on the dependency weights 1510a of service function 1508a and 1510b of service function 1508b. The weighted health index 1506a is also based on the service health index 1502a of service 1504a. In one example, the weighted health index 1506a represents the sum, product, or combination of the dependency weights 1510a, 1510b, and service health index 1502a. As shown in Figure 15A, the weighted health index 1506a has a value (55) representing a combination of the product of service health index 1502a and dependency weight 1510a and the product of service health index 1502a and dependency weight 1510b (for example, 8 × 5 + 3 × 5 = 55).

[0272] C. Health indicators based on the impact of upstream service functions

[0273] Referring to FIG. 15B, a soundness indicator 1500 based on the impact of upstream service functions on service functions is further described. The soundness indicator 1500 representing the impact of upstream service functions on service functions includes a weighted soundness indicator calculated based on the service soundness indicator. The weighted soundness indicator of the service may represent the degree of importance, significance, value, or effect that one or more upstream services have on the service functions of the service.

[0274] As shown in FIG. 15B, the system calculates the service soundness indicator 1502t of service 1504t. The system also calculates the weighted soundness indicator 1506t of service 1504t based on the service soundness indicator 1502t. Service 1504t includes service functions 1508t and 1508v. In one example, a service function may be affected by one or more upstream service functions of one or more upstream services. Service function 1508t is affected by the upstream service function 1508w of service 1504w. Service function 1508t is also affected by the upstream service function 1508x of service 1504x. In one example, a service function may be affected by multiple upstream service functions of a particular upstream service. Service function 1508v is affected by the upstream service functions 1508y and 1508z of service 1504z.

[0275] The system calculates dependency weights for service functions based on one or more upstream service functions on which the service function depends. In one example, the system determines dependency weights based on the number of upstream service functions. The system determines the number of upstream service functions and calculates dependency weights based on the number of upstream service functions. In one example, the dependency weight is the number of upstream service functions. In one example, the dependency weight represents the product of the number of upstream services and one or more functions, operators, variables, or constants. As an addition or alternative, the system determines dependency weights based on the function weights of one or more upstream service functions on which the service function depends. Alternatively, the dependency weights for service functions may be calculated based on the function weights of the service functions. In one example, the system calculates the dependency weight 1510t for service function 1508t based on function weights 1512w and 1512x. Function weight 1512w corresponds to the upstream service function 1508w of service 1504w. Function weight 1512x corresponds to the upstream service function 1508x of service 1504x. In one example, the dependency weight 1510t of service function 1508t is also based on the function weight 1512t of service function 1508t. In one example, the dependency weight 1510t represents the sum, product, or composite of function weights 1512t, 1512w, and 1512x. As an addition or alternative, the dependency weight 1510t may represent the product of one or more functions, operators, variables, or constants associated with service function 1508t, upstream service function 1508w, and / or upstream service function 1508x. As shown in Figure 15A, the dependency weight 1510t has a value (9) that represents the product of function weights 1512w, 1512x, and 1512t (for example, 3 × 3 × 1 = 9).

[0276] In one example, the system calculates the dependency weight 1510v of the service function 1508v based on the function weights 1512y and 1512z. The function weight 1512y corresponds to the upstream service function 1508y of the service 1504z. The function weight 1512z corresponds to the upstream service function 1508z of the service 1504z. In one example, the dependency weight 1510v of the service function 1508v is also based on the function weight 1512v of the service function 1508v. In one example, the dependency weight 1510v represents the sum, product, or combination of the function weight 1512v, the function weight 1512y, and the function weight 1512z. As an addition or alternative to this, the dependency weight 1510v may represent the product of one or more functions, operators, variables, or constants associated with the service function 1508v, the upstream service function 1508y, and / or the upstream service function 1508z. As shown in FIG. 15A, the dependency weight 1510v has a value (2) representing the product of the function weight 1512y, the function weight 1512z, and the function weight 1512v (e.g., 2×1×1 = 2).

[0277] In one example, the system calculates the weighted health indicator 1506t based on the dependency weight 1510t of the service function 1508t and the dependency weight 1510v of the service function 1508v. Also, the weighted health indicator 1506t is based on the service health indicator 1502t of the service 1504t. In one example, the weighted health indicator 1506t represents the sum, product, or combination of the dependency weight 1510t, the dependency weight 1510v, and the service health indicator 1502t. As shown in FIG. 15A, the weighted health indicator 1506t has a value (33) representing a combination of the product of the service health indicator 1502t and the dependency weight 1510t and the product of the service health indicator 1502t and the dependency weight 1510v (e.g., 3×9 + 3×2 = 33).

[0278] 6. Exemplary Service Health Interface

[0279] Figures 16A to 16C show exemplary service health interfaces according to one or more embodiments. These exemplary service health interfaces may be used to monitor the health of a system's services. The examples provided with reference to Figures 16A to 16C are for clarification purposes only. Components and / or operations described with reference to Figures 16A to 16C should be understood as examples of what may not be applicable to certain embodiments. Therefore, components and / or operations described with reference to Figures 16A to 16C should not be construed as limiting the scope of any of the claims.

[0280] Referring to Figure 16A, in one example, the service health interface 1600 displays a service health state 1602 for each of one or more services 1604 based on the service functionality of each service 1604. The service health state 1602 includes one or more health indicators 1606 for one or more services 1604. Each of the one or more health indicators 1606 indicates the health state of a particular service 1604 based on the service functionality of that particular service 1604. One or more health indicators 1606 may include a health score 1608 and / or health status 1610 for a particular service 1604. As an addition or alternative, one or more health indicators 1606 may include a ranking 1612. The system may rank the services 1604 based on the health score 1608 and / or health status 1610 for each service 1604. The service health interface 1600 may display service 1604 according to ranking 1612. The health score 1608 of service 1604 may correspond to a service health index for service 1604 calculated as described, for example, with reference to Figures 14A to 14E. As an addition or alternative, the health score 1608 of service 1604 may correspond to a weighted service health index for service 1604 calculated as described, for example, with reference to Figures 15A and 15B. The health status 1610 of service 1604 may represent a priority level assigned to service 1604 based on its health status. The system may determine the health status 1610 of service 1604 based on the health score 1608 and / or ranking 1612. As an addition or alternative, the system may determine the health status 1610 of service 1604 based on one or more thresholds 1614. The system may also compare the health score 1608 and / or ranking 1612 of service 1604 with a threshold 1614.Depending on whether the health score 1608 and / or ranking 1612 satisfy threshold 1614, the system assigns health status 1610 corresponding to threshold 1614 to service 1604.

[0281] As shown in Figure 16A, Service 1604 includes, among other services, Service A, Service B, Service C, Service D, Service E, and Service F. Services A, B, C, D, E, and F may correspond to Services 1404a, 1404b, 1404c, 1404d, 1404f, and 1404g, respectively, as described with reference to Figures 14A to 14E. As an addition or alternative, the health scores 1608 for Services A, B, C, D, E, and F may correspond to Service Health Indicators 1402a, 1402b, 1402c, 1402d, 1402f, and 1402g, respectively, as described with reference to Figures 14A to 14E. Service 1604 is assigned ranking 1612 according to its health score 1608 and is positioned according to ranking 1612. Service 1604 is assigned a health status based on a set of thresholds 1614.

[0282] In one example, as shown in Figure 16A, threshold 1614a corresponds to a health status 1610 labeled "Urgent". The system assigns the health status 1610 labeled "Urgent" to service 1604 that satisfies threshold 1614a. Threshold 1614a is a health score 1608 of 10 or higher. Service C has a health score 1608 of 12. Service C is assigned the health status 1610 labeled "Urgent". Threshold 1614b corresponds to a health status 1610 labeled "High". The system assigns the health status 1610 labeled "High" to service 1604 that satisfies threshold 1614b. Threshold 1614b is a health score 1608 of 5 or higher. Service D has a health score 1608 of 8. Service D is assigned a health status 1610 labeled "High". Service E has a health score of 6. Service E is assigned a health status 1610 labeled "High". Threshold 1614c corresponds to a health status 1610 labeled "Medium". The system assigns a health status 1610 labeled "Medium" to Service 1604 that satisfies threshold 1614c. Threshold 1614c is a health score of 5 or higher. Service B has a health score of 3. Service B is assigned a health status 1610 labeled "Medium". Service A has a health score of 2. Service A is assigned a health status 1610 labeled "Medium". Threshold 1614d corresponds to a health status 1610 labeled "Low". The system assigns a health status 1610 labeled "Low" to service 1604 that satisfies threshold 1614d. Threshold 1614d is a health score 1608 of 1 or greater. Service F has a health score 1608 of 1. Service F is assigned a health status 1610 labeled "Low". The system assigns a health status 1610 labeled "Healthy" to service 1604 that does not satisfy threshold 1614d.Service N has a health score of 0 (1608). Service N is assigned a health status of 1610, labeled as "Healthy".

[0283] Referring to Figure 16B, in one example, the service health interface 1600 indicates the downstream health status 1618 of each service 1604 based on the impact that the service function of each service 1604 has on one or more downstream services. As shown in Figure 16B, among several services 1604, service 1604 includes service A. Service A may correspond to service 1504a as described with reference to Figure 15A. As an addition or alternative, the health score 1608 of service A may correspond to the weighted health index 1506a as described with reference to Figure 15A. Service 1604 is assigned a ranking 1612 according to its health score 1608 and is positioned according to its ranking 1612. Service 1604 is assigned a health status based on a set of thresholds 1614. The downstream health status thresholds 1614 may differ from the service health status thresholds 1614 as described with reference to Figure 16A. In one example, as shown in Figure 16B, threshold 1614e corresponds to a health status 1610 labeled "Urgent," threshold 1614f corresponds to a health status 1610 labeled "High," threshold 1614g corresponds to a health status 1610 labeled "Medium," and threshold 1614h corresponds to a health status 1610 labeled "Low." The system assigns a health status 1610 labeled "Healthy" to services 1604 that do not satisfy threshold 1614h.

[0284] Referring to Figure 16C, in one example, the service health interface 1600 displays the upstream health status 1620 of each service 1604 based on the impact of one or more upstream services on the service functionality of each of the one or more services 1604. As shown in Figure 16C, among the many services 1604, service 1604 includes service B in particular. Service B may correspond to service 1504t as described with reference to Figure 15B. As an addition or alternative, the health score 1608 of service B may correspond to the weighted health index 1506t as described with reference to Figure 15B. Service 1604 is assigned a ranking 1612 according to its health score 1608 and is positioned according to its ranking 1612. Service 1604 is assigned a health status based on a set of thresholds 1614. The upstream health status threshold 1614 may differ from the service health status threshold 1614 described with reference to Figure 16A and / or the downstream health status threshold 1614 described with reference to Figure 16B. In one example, as shown in Figure 16C, threshold 1614i corresponds to a health status 1610 labeled "critical," threshold 1614j corresponds to a health status 1610 labeled "high," threshold 1614k corresponds to a health status 1610 labeled "medium," and threshold 1614m corresponds to a health status 1610 labeled "low." The system assigns a health status 1610 labeled "healthy" to services 1604 that do not satisfy threshold 1614m.

[0285] Referring further to Figures 16A to 16C, the system may determine responses such as actions or sets of actions to be performed in response to various health indicators 1606 displayed on the service health interface 1600. As an addition or alternative, the user may determine responses based on the health indicators 1606 displayed on the service health interface 1600. In one example, responses may be initiated for services based on priority. In one example, the system and / or the user determine priorities based on health indicators 1606. Priorities may be determined based on service health states 1602 (Figure 16A), downstream health states 1618 (Figure 16B), and / or upstream health states 1620 (Figure 16C). The priority of services may differ among service health states 1602 (Figure 16A), downstream health states 1618 (Figure 16B), and / or upstream health states 1620 (Figure 16C). In one example, service C has a health status 1610 labeled "Urgent" with respect to service health status 1602 (Figure 16A), service A has a health status 1610 labeled "Urgent" with respect to downstream health status 1618 (Figure 16B), and service B has a health status 1610 labeled "Urgent" with respect to upstream health status 1620 (Figure 16C).

[0286] For example, the system and / or user may determine priorities among responses to service health state 1602 (Figure 16A), downstream health state 1618 (Figure 16B), and / or upstream health state 1620 (Figure 16C). To respond to the health state of service 1604 based on each service function of service 1604, the system and / or user may prioritize service C. To respond to the health state of service 1604 based on its impact on downstream service functions, the system and / or user may prioritize service A. To respond to the health state of service 1604 based on its impact on upstream service functions, the system and / or user may prioritize service B.

[0287] As an addition to or alternative to the above, the system and / or user may determine priorities for responding to the health status of service 1604 based on a combined health status that represents a combination of health indicators 1606 corresponding to service health status 1602 (Figure 16A), downstream health status 1618 (Figure 16B), and / or upstream health status 1620 (Figure 16C). In one example, service A has a combined health score of 63 (e.g., 2+55+6=63), service B has a combined health score of 49 (e.g., 3+13+33=49), and service C has a combined health score of 57 (e.g., 12+38+7=57). The system and / or user may prioritize responding to the health status of service A based on a higher combined health score than service B and / or service C.

[0288] 7. Other - Extensions

[0289] Unless otherwise defined, all terms (including technical and scientific terms) shall have the meanings that are common and customary to those skilled in the art, and shall not be limited to any special or specific meanings unless explicitly defined herein.

[0290] This application may include references to certain trademarks. While the use of the trademark is permitted in this patent application, the proprietary nature of the trademark should be respected, and all efforts should be made to prevent its use in a manner that could adversely affect its validity.

[0291] Embodiments relate to a system having one or more devices comprising a hardware processor and configured to perform any of the operations described herein and / or enumerated in any of the following claims.

[0292] In one embodiment, one or more non-temporary computer-readable storage media include instructions, when executed by one or more hardware processors, that cause one of the operations described herein and / or enumerated in any of the claims to be performed.

[0293] In one embodiment, the method comprises operations described herein and / or enumerated in any of the claims, and is performed by at least one device having a hardware processor.

[0294] In one or more embodiments, any combination of the features and functions described herein may be used. The embodiments described above have been illustrated with reference to many specific details that may differ from one embodiment to another. Therefore, this specification and the drawings are intended to be illustrative and not limiting in any way. The sole and exclusive indicator of the scope of this disclosure, and what the applicants intend as the scope of this disclosure, is the verbatim and equivalent scope of a set of claims derived from this application, having the specific form from which such claims are derived, and encompassing any subsequent amendments.

Claims

1. It is a method, It is determined that the first detection warning is associated with the first service function, Determining that the first service function is associated with the first service in the cloud environment, Calculating a first health indicator of the first service based at least on the first detection alert associated with the first service function, This includes generating a visual representation that includes the first health indicator for display on the service health interface, The method is performed by at least one device including a hardware processor.

2. The second detection warning is determined to be associated with the second service function, Determining that the second service function is associated with the first service, The method according to claim 1, further comprising calculating the first health indicator of the first service based on the second detection alert associated with the second service function.

3. The first detection warning is detected from the first health data source, The aforementioned method, The second health indicator of the first service is calculated based on health data from a second health data source. To detect the failover conditions associated with the first health data source, The method according to claim 1, further comprising updating the visual representation using the second health indicator for display on the service health interface in response to the detection of the failover condition associated with the first health data source.

4. The second detection warning is determined to be associated with the second service function, Determining that the second service function is associated with the second service of the cloud environment, Calculating a second health indicator for the second service based at least on the second detection alert associated with the second service function, The ranking of the second service function relative to the first service function is determined, at least in part, based on a comparison of the second health indicator with respect to the first health indicator. The method according to claim 1, further comprising generating a second visual representation including the second health index and the ranking of the second service function relative to the first service function, for display on the service health interface.

5. The system further includes receiving user input, which includes a user-defined evaluation of the first service function, The method according to claim 1, wherein the first health index is calculated based on the user-defined evaluation.

6. The method according to claim 1, wherein calculating the first health indicator of the first service includes calculating a first health score representing the impact of the first detection alert on at least one of the first service function, the first service, or the cloud environment.

7. The method according to claim 6, wherein calculating the first health index of the first service further comprises assigning the first health index to the first service on at least in part that the first health score satisfies a first threshold corresponding to the first health index.

8. Determining that the first detection warning is associated with the first service function means Accessing a data corpus that includes mappings between warnings and service functions, Identifying the first detection warning in the data corpus, The method according to claim 1, further comprising identifying the first service function based on a mapping between the first detection warning and the first service function.

9. The first entity deploys the first partition, which includes the service health interface, to the cloud environment. The operation of the first partition is communicated to the second entity, The method according to claim 1, further comprising one or more users associated with the second entity accessing the service health interface.

10. The method according to claim 1, further comprising extending the status of a provisioning process associated with the first service in at least part in accordance with the first health indicator.

11. One or more non-temporary computer-readable media that, when executed by one or more hardware processors, stores instructions causing the operation described in any one of claims 1 to 10.

12. A device comprising at least one hardware processor, A system configured to perform the operation described in any one of claims 1 to 10.

13. A system comprising means for performing the operation described in any one of claims 1 to 10.