Monitoring health status of large cloud computing systems

CN116802614BActive Publication Date: 2026-08-07INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2022-02-08
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

在这样的复杂状态跟踪系统中涉及的开销以及所需的数据分析伴随数据的复杂性可变得显著,并且(a)对于观察到的基础设施部件和(b)对于从大量收集的数据中提取一些含义所需的中央分析服务而言存在附加负担

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116802614B_ABST
    Figure CN116802614B_ABST
Patent Text Reader

Abstract

A method, computer program product, and system for monitoring a health state of a computing system are disclosed. The method includes one or more processors deploying a respective monitoring prediction agent in each of a plurality of worker nodes of a computing system. The method further includes determining, by the respective monitoring prediction agent for each of the plurality of worker nodes, a single binary health state value by comparing a time-dependent function of performance metric data values of the respective worker node to an upper threshold and a lower threshold. The method further includes receiving the binary health state value and respective identity information from each of the plurality of worker nodes. The method further includes generating a data set indicative of a health state of the computing system by feeding the received respective identity information to a hash function of a counting Bloom filter.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] This invention relates generally to the field of computer system analysis, and more specifically to monitoring the health status of computing systems.

[0002] Monitoring IT (Information Technology) infrastructure components has always been an independent IT discipline. With its help, components of the IT landscape within an enterprise and cloud computing environment can be managed effectively, remotely, and continuously. Furthermore, potential bottlenecks can be detected earlier to prevent unexpected downtime of individual components of the IT infrastructure.

[0003] Monitoring as a Service (MaaS) is one of many cloud delivery models under Anything as a Service (XaaS). Monitoring as a Service is a framework that facilitates the deployment of monitoring capabilities for various services and applications within a cloud computing environment. The most common application of MaaS is online status monitoring of IT components, which continuously tracks certain states of applications, networks, systems, instances, or any element that can be deployed within a cloud computing environment. A pair of products are currently available, collecting large amounts of status data from IT components over time and in different aspects. Typically, this status data is collected in a central location and analyzed in multiple different aspects. The overhead involved in such a complex status tracking system, along with the complexity of the accompanying data analysis, can become significant, and there are additional burdens on (a) the observed infrastructure components and (b) the central analytics services required to extract some meaning from the large amounts of collected data.

[0004] And this is for at least one good reason: outages in cloud computing systems typically have direct customer impact: services are usually unavailable for short periods (seconds or minutes) based on events. These events can be anything, such as network outages and the unavailability of adjacent services (e.g., databases, messaging systems, etc.). Summary of the Invention

[0005] This invention discloses a method, computer program product, and system for monitoring the health status of a computing system. The method includes deploying a corresponding monitoring and prediction agent in each of a plurality of worker nodes of the computing system by one or more processors. The method further includes the one or more processors determining a single binary health status value for each of the plurality of worker nodes via the corresponding monitoring and prediction agent. The method of determining the corresponding single binary health status value also includes the one or more processors comparing a time-dependent function of the performance metric data value of the corresponding worker node with predefined configurable upper and lower thresholds. The method further includes the one or more processors receiving the binary health status value and corresponding identity information from each of the plurality of worker nodes. The method further includes the one or more processors generating a dataset indicating the health status of the computing system by feeding the received identity information of each of the plurality of worker nodes into a hash function of a count Bloom filter. Attached Figure Description

[0006] It should be noted that embodiments of the invention are described with reference to different subject matter. Specifically, some embodiments are described with reference to method-type claims, while other embodiments are described with reference to apparatus-type claims. However, those skilled in the art will deduce from the above and below that, unless otherwise indicated, any combination of features relating to different subject matter (specifically, features of method-type claims and features of apparatus-type claims) is also considered to be disclosed in this document, except for any combination of features belonging to one type of subject matter.

[0007] The aspects defined above and other aspects of the invention will be apparent from the examples of the embodiments described below, and will be explained with reference to these examples, but the invention is not limited thereto. Preferred embodiments of the invention will be described by way of example only and with reference to the following drawings.

[0008] Figure 1 A block diagram illustrating an embodiment of a method for monitoring the health status of a computing system comprising multiple worker nodes according to an embodiment of the present invention is shown.

[0009] Figure 2 A block diagram illustrating an embodiment of an architecture having components supporting the proposed concept according to an embodiment of the present invention is shown.

[0010] Figure 3 A block diagram depicts an embodiment of a counting Bloom filter according to an embodiment of the present invention.

[0011] Figure 4 An embodiment of the functionality of a monitoring and prediction agent according to an embodiment of the present invention is described.

[0012] Figure 5 A flowchart depicting a closer implementation of an embodiment of the general method according to an embodiment of the present invention is provided.

[0013] Figure 6 A flowchart depicting a more recent implementation of the predictive aspects of the proposed concept according to embodiments of the present invention.

[0014] Figure 7 A block diagram depicts an embodiment of a creative computing infrastructure monitoring system according to an embodiment of the present invention.

[0015] Figure 8 The invention describes embodiments including Figure 7 An embodiment of at least a portion of the computing system of the computing infrastructure monitoring system.

[0016] Figure 9 An embodiment of a cloud computing infrastructure according to an embodiment of the present invention is described. Detailed Implementation

[0017] In the context of this specification, the following conventions, terms and / or expressions may be used.

[0018] The term "health status" or health status value can represent a numerical indication that a complex system (such as a worker node or computing system, or multiple worker nodes of multiple computing systems) is functioning well. In various implementations, the term "health condition" or health condition value can represent a state of "failure-prone" or "all systems operating smoothly".

[0019] The term "computing system" can refer to a hardware computing system, multiple such systems, a cluster, a cloud computing center, and / or one or more virtual machines or computing containers (e.g., Docker containers). A computing system can also be a network or storage system or an equivalent system. Furthermore, according to various embodiments of the invention, other peripheral units can be described as computing systems within the context of the proposed concepts.

[0020] The term "worker node" can refer to a virtual or physical computing system or a portion thereof. Worker nodes are adapted to execute program code. Therefore, virtual machines or stateless computing containers can also be represented as worker nodes. Worker nodes can be deployed in large cloud computing centers, such as those with 10,000, 100,000, or even more nodes.

[0021] The term "monitoring and prediction agent" can refer to a function within a worker node that has the ability to determine the binary health status value of a worker node. In an exemplary implementation, "monitoring and prediction agent" can refer to the memory usage of a worker node.

[0022] The term "single binary health status value" can represent either logic "0" or logic "1". In an exemplary implementation, logic "0" can represent "no problem detected" and logic "1" can represent "potential problem may exist" in the corresponding working node.

[0023] For example, the term "time-dependent function" in this document can refer to a PID (proportional-integral-derivative) filter that uses, for example, a given setpoint that can consume memory and the actual determined amount of memory usage, thereby reflecting short-term historical memory consumption values. Therefore, memory consumption can also be implemented using an example of other resources of the worker node.

[0024] The term "performance metric value" can refer to a real numerical data value and can represent a specific resource consumption of a computing system with more computational processes. An example could be the percentage of memory consumed relative to the total available memory. Other performance metrics values ​​can relate to network usage, processor usage, or computer power usage.

[0025] The term "upper threshold" can refer to a numerical value (e.g., a percentage value) that is uploaded to the monitoring and prediction agent at initialization time, and the performance metric data value can be compared to this value. Therefore, two percentage values ​​can be compared. If the performance metric data value exceeds the upper threshold, a logical "1" can be generated as the binary health status value for the corresponding worker node. The term "lower threshold" can refer to the corresponding threshold when compared to the upper threshold.

[0026] The term "health management agent" can refer to a central controller or system that controls various aspects of the invention at the location of the CBF (Count Bloom Filter) for determining the health status of multiple worker nodes. Typically, but not necessarily, the health monitoring agent can be remotely deployed to the worker nodes and can also be part of a MaaS solution.

[0027] For example, the term "identity information" can refer to an address label and the corresponding network (e.g., a worker node). However, portions of a network address can also be used as identity information. Examples include the complete address of a virtual machine portion, the address of the associated hardware system, the cluster address, or the region address.

[0028] The term "hash function" can refer to any function that can be used to map data of arbitrary size (e.g., address data) to values ​​of a fixed size. The value returned by a hash function (e.g., an index pointer to an index field of an array of data) is called a hash value, hash code, digest, or simply a hash.

[0029] The term "Count Bloom Filter" (CBF) can be used to describe a generalized data structure for a Bloom filter that tests whether the count of a given element is less than a given threshold for a given sequence of elements. As a generalized form of a Bloom filter, false positive matches are possible, but false negatives are not—in other words, the query returns "may be greater than or equal to the threshold" or "explicitly less than the threshold." Here, a hash function maps incoming data (e.g., address data) to counters that are part of a Bloom filter dataset or array of data.

[0030] The term “dataset” can refer to an array of fields (e.g., integer values) in an array, where logical “1” values ​​increase or decrease based on received binary health values.

[0031] The term "time series" can refer to data values ​​in a comparable data structure that are persistently stored to generate time-related datasets for further analysis.

[0032] In this context, the term 'cloud computing' can be interpreted as a model that allows convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Remote multi-tenant computing environments can be implemented as cloud computing data centers. The cloud model promotes availability and consists of at least five basic characteristics, three service models, and four deployment models.

[0033] The basic characteristics of cloud computing include:

[0034] (i) On-demand self-service. Consumers can unilaterally and automatically provide computing power, such as server time and network storage, when needed, without having to interact with each service provider.

[0035] (ii) Wide network access. Capabilities are available through networks and accessed via standard mechanisms that facilitate the use of heterogeneous thin client platforms or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0036] (iii) Resource Pooling: A vendor's computing resources are pooled to serve multiple consumers using a multi-tenant model with varying physical and virtual resources, dynamically allocated and reallocated based on consumer demand. There is a sense of location independence because customers typically do not have control or knowledge of the exact location of the resources provided, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center). Examples of resources include storage, processing power, memory, network bandwidth, and virtual machines.

[0037] (iv) Rapid Flexibility: The ability to provide capacity quickly and flexibly, automatically scaling down and up rapidly in some cases to scale up rapidly. For consumers, the capacity available for supply often appears unlimited and can be purchased in any quantity at any time.

[0038] (v) Measurement services. Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the providers and consumers of the services being utilized.

[0039] The service models used in cloud computing include:

[0040] (i) Cloud Software as a Service (SaaS). The capability offered to consumers is the ability to use applications running on the provider's cloud infrastructure. Applications can be accessed from different client devices through thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application capabilities, with possible exceptions such as limited user-specific application configuration settings.

[0041] (ii) Platform as a Service (PaaS). This provides consumers with the ability to deploy consumer-created or acquired applications, built using programming languages ​​and tools supported by the provider, onto cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they do have control over the deployed applications and, if applicable, the configuration of the managed environment.

[0042] (iii) Cloud Infrastructure as a Service (IaaS). The capabilities offered to consumers are processing, storage, networking, and other basic computing resources that enable consumers to deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but rather have control over the operating system, storage, deployed applications, and potentially limited control over selected networking components (e.g., host firewalls).

[0043] Deployment models for cloud computing include:

[0044] (i) Private cloud. The cloud infrastructure is operated by only one organization. It can be managed by the organization or a third party, and it can exist on-site or off-site.

[0045] (ii) Community Cloud. A cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., missions, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.

[0046] (iii) Public cloud. Cloud infrastructure is available to the general public or large industrial groups and is owned by organizations that sell cloud services.

[0047] (iv) Hybrid cloud. Cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be ported (e.g., cloud bursting for load balancing between clouds).

[0048] It can be noted that cloud software fully leverages the cloud paradigm by focusing on service-oriented architecture, statefulness (with exceptions), loose coupling, modularity, and semantic interoperability. This is particularly suitable for worker nodes deployed on computing systems in cloud computing centers.

[0049] The proposed computer implementation method for monitoring the health status of a computing system comprising multiple worker nodes offers several advantages, contributions, and technical benefits.

[0050] Embodiments of the present invention recognize that while recovery or high-availability systems are typically in place within enterprise-grade IT infrastructure, users may experience outages of a single microservice or multiple microservices. From a cloud provider's perspective, this is necessary to prevent such outages as much as possible and with as little effort as possible. However, for this objective, currently available monitoring services and systems may be too complex and may represent a real burden on existing IT infrastructure and its operators. Specifically, in environments where 10,000 or even 100,000 services must be monitored, embodiments of the present invention recognize the need for more sophisticated, manageable, and highly automated MaaS technologies.

[0051] Compared to traditional monitoring and system management systems, embodiments of the present invention can operate to reduce the health status of worker nodes to a single binary health status value (essentially "0" or "1"), requiring as little information as possible and incurring no overhead. As discussed above, traditional monitoring systems collect a wide variety of lifespan power metrics from computing systems or potentially from running services. Therefore, the overhead involved regarding the memory consumption required on or within the worker nodes and the analysis system, the bandwidth required to transfer all these parameter values ​​from the worker nodes to the central analysis system, and the computing power required on the central analysis system can be reduced to a bare minimum of one bit. Thus, by limiting the health status of worker nodes to a single critical data point, the collection of hundreds or even thousands or more data points per second by traditional monitoring systems can be avoided. This data point, or the performance metric value, can be the memory consumption of a specific worker node (e.g., a computer system), virtual machine, hypervisor, or program execution container, etc.

[0052] Therefore, embodiments of the present invention are operable to significantly reduce the amount of data, thereby enabling each worker node to be thin and lightweight. Furthermore, computation and response times can be significantly reduced. Consequently, the proposed concept is particularly applicable to large and very large cloud computing systems with tens of thousands of services running on hardware computing platforms.

[0053] Furthermore, the monitoring and prediction agent associated with a worker node can not only compare selected performance metric data values ​​(e.g., memory consumption) with a fixed upper limit, but also determine memory consumption over a (short) historical period and reflect the evolution of the worker node's memory consumption with its single binary health status value.

[0054] Then, the comparison with the upper and lower thresholds (both configurable) checks not only for the most dangerous memory consumption values ​​but also for suspicious lower thresholds that could indicate something might be wrong for the observed service, since, for example, the indicated memory consumption might still be small for the authorized process software and its buffers and caches. So even in this case, excessively low memory consumption could be an indication of minor functionality issues in the corresponding service within the worker node.

[0055] The use of Count Bloom Filters (CBFs) can also represent an interesting concept within the context of proposed methods for monitoring the health of computing systems. The central concept of CBFs is the decoupling of data in the filter's data array from the corresponding sources (i.e., worker nodes). Thus, a monitoring service operator might be able to inform which specific service in the observed services might be problematic, but could also say that a set of worker nodes might exceed a certain threshold or might indicate an anomalous trend in computing power consumption. Therefore, from a security and data privacy perspective, the proposed concept can also be highly rated because it does not capture any detailed data.

[0056] Furthermore, various embodiments of the invention can extend the concept of CBF by not only adding events to specific identifiers of worker nodes, but also reducing counters in the filter data array if no problem is reported from a worker node. Additionally, an indication of potentially faulty compute nodes (e.g., attributable to overload) can be obtained by summing across the contents of all filter array cells (e.g., by summing across all CBF cells and dividing by the number of cache functions).

[0057] In addition to the worker node's own ID, the worker node's identifier may also include cluster or region ID information. Therefore, the health status of the cluster and region can be monitored independently of the health status of the worker node itself.

[0058] Therefore, although embodiments of the present invention can operate to transmit only one bit of health status information over a network, embodiments of the present invention offer the advantage of predicting the condition of unplanned and potentially hazardous computer systems, clusters, and entire regions within a cloud computing system. Consequently, embodiments of the present invention can migrate workloads from one computing system to another, from one region to another, or from one cluster to another. Tasks can be performed by relevant system management tools. Therefore, embodiments of the present invention can be well integrated into lightweight yet powerful MaaS solutions for monitoring even very large computing devices with 10,000 or even 100,000 worker nodes.

[0059] In the following sections, additional embodiments applicable to the method and related systems will be described in more detail.

[0060] According to an example embodiment, the performance metric data value may relate to or be the memory usage of a corresponding worker node, which can represent a characteristic performance metric indicating how the worker node performs its tasks. Given upper and lower boundaries, the health status of a worker node can be characterized by this single binary value. In particular, because the monitoring and prediction agent also has access to recent memory usage (e.g., in time series form), it is possible for the agent to also predict the expected development of memory usage in the near future. This function can be performed by a PID (proportional, integral, derivative) filter, and the result can also be compared with predefined upper and lower thresholds. Therefore, excessively low memory usage may indicate a potential problem within the worker node in the same way as excessively high memory usage. Thus, according to a high-level embodiment, determining a single binary health status value via a time-related function may include using a PID filter as part of a monitoring and prediction agent for determining predicted memory usage.

[0061] Furthermore, instead of memory usage, various embodiments of the present invention may utilize other parameter values, such as network bandwidth used, total storage capacity required, I / O (input / output) rate, CPU usage, internal bus usage, and / or other corresponding percentage values.

[0062] According to another embodiment of the method, the dataset can be stored as an array of predefined length (e.g., a length with a predefined time period) (e.g., as integer values), where a portion of the identity information can be used as input to a hash function. Therefore, the output value of the hash function can be an index value used to address data fields in the array, and if the received corresponding single binary health status value is logic "1", the corresponding value of each of the addressed data fields in the dataset can be incremented (e.g., incremented by 1). Other increment values ​​are also possible.

[0063] As a result, and according to another embodiment, if the received corresponding single binary health status value is logic "0", embodiments of the invention can operate to reduce the corresponding value of each of the addressed data fields in the dataset (e.g., reduce by one). Thus, the count Bloom filter can reach its full potential.

[0064] Additionally, it can be mentioned that this part of the identity information can relate to the corresponding hardware node, or compute node rack, or node or rack cluster, or region. Furthermore, the complete identity information (i.e., the complete network address) can also be used as input to the corresponding hash function.

[0065] According to an advantageous embodiment, the sum of the values ​​of the data fields in the array indicates the health status of the computing system. For this purpose, all values ​​of all region fields can be summed. An additional aspect may also be provided: resetting the data region fields after a predefined time interval. Therefore, normalization to "zero" can be performed periodically to accommodate general conditions of change across the entire system, which includes multiple worker nodes.

[0066] Furthermore, after each initialization, each worker node may send a "1" shortly after the initialization time and a logical "0" after the workload computation process has increased and run. Communication from the worker nodes is operable to reset the corresponding fields in the data array, which can be used as indicators of the successful initialization of the corresponding computation process (one or more) in the worker node.

[0067] According to an example embodiment, the method may further include storing health status values ​​(e.g., the state of CBF) in persistent storage, thereby generating historical data for the computing system to load. The storage of health status (e.g., a copy of the CBF value) may be periodically stored, or fine-tuning of the health status management system may be allowed if one or more predefined thresholds for the health status values ​​are exceeded or exceeded.

[0068] According to another example embodiment, the method may further include determining (e.g., predicting using a trend calculation engine) exceptional calculated system load values ​​based on historical data of calculated system load at future specific points in time. This set of system load values ​​and protection values ​​(e.g., representing the state of a larger set of working nodes) can help operators or subsequent workload control systems determine pre-cautionary actions to predict system overload.

[0069] Therefore, and according to another example embodiment, the method may further include initiating a recommended infrastructure or workload management action when an exceptional computing system load value exceeds a predefined computing system load value. Such a recommended infrastructure or workload management action may include redeploying a portion of the computing system's worker nodes to another, less busy hardware node. Furthermore, other corrective actions may be indicated, which may be particularly dependent on the given use case.

[0070] According to another embodiment of the method, a worker node can be selected from a group consisting of physical computing nodes, multiple physical nodes, virtual machines, multiple virtual machines, computing containers (e.g., Docker containers), multiple computing containers, computing processes, and multiple computing processes. Furthermore, the proposed concept can also support other objects to be monitored.

[0071] According to an additional embodiment, the method may further include receiving a configurable upper threshold and a configurable lower threshold during the startup of the monitoring prediction agent. In some embodiments, only individual worker nodes within a worker node or group of worker nodes may receive the upper and lower thresholds. Therefore, it is not required that all worker nodes have the same values.

[0072] A detailed description of the accompanying drawings is given below. All instructions in the drawings are schematic. First, a block diagram of an embodiment of a computer implementation of the method of the present invention for monitoring the health status of a computing system comprising multiple worker nodes is given. Subsequently, other embodiments and examples of a computing infrastructure monitoring system for monitoring the health status of a computing system comprising multiple worker nodes will be described.

[0073] Figure 1 A block diagram depicts a preferred embodiment of a computer-implemented method 100 for monitoring the health of a computing system according to an embodiment of the present invention, the computing system typically configured as an element of a cloud computing center. In various embodiments, the computing system includes multiple worker nodes, which may be physical or logical units, virtual machines, computing containers, or hardware systems, etc. For illustrative purposes, Figure 1 The method 100 described in the text can be used in... Figure 2 The system shown (e.g., utilizing one or more components of architecture 200), Figure 4 (For example, embodiment 400, which utilizes aspects of the monitoring and prediction agent's functionality) Figure 7 (For example, one or more components of a block diagram of an embodiment of the computing infrastructure monitoring system 700 of the present invention) and Figure 8(For example, using one or more diagrams and system implementations depicted in computing system 800). In an example embodiment, one or more components of architecture 200 (such as health management agent 214) may perform the processing steps of method 100. Alternatively, the execution of method 100 is not limited to this implementation.

[0074] In step 102, method 100 includes deploying a corresponding monitoring and prediction agent in each of the plurality of worker nodes. In step 104, method 100 includes determining (e.g., by querying or calculating) a single binary health status value (e.g., "0" for "OK" and "1" for "something may be wrong") for each of the plurality of worker nodes by the corresponding monitoring and prediction agent using a time-related function of at least one performance metric data value of the corresponding worker node (e.g., the percentage of memory usage of each worker node). In step 106, method 100 compares the corresponding result with predefined configurable upper and lower thresholds.

[0075] Next, in step 108, method 100 includes receiving binary health status values ​​and corresponding identity information (e.g., IDs of worker nodes, clusters, regions, etc.) from each of a plurality of worker nodes at a health management agent that can be located remotely from the worker nodes. Then, in step 110, method 100 includes feeding the received identity information of each of the plurality of worker nodes at the health management agent into a hash function of a count Bloom filter to generate a dataset indicating the health status of the computing system. The dataset may be organized as an array of integer values.

[0076] Figure 2 A block diagram depicts an embodiment of an architecture 200 of components supporting the proposed concept according to an embodiment of the present invention. Each of a plurality of worker nodes (i.e., worker nodes 202, 204 to 206) includes a corresponding associated monitoring prediction agent (i.e., monitoring prediction agent 208, monitoring prediction agent 210, and monitoring prediction agent 212). Arrows between the various components may indicate common timing paths between the components. First, a management agent 214, which can be remotely executed on worker nodes 202, 204 to 206 in a central system management system or MaaS solution, initializes the worker nodes and sends an "initialize monitoring" action to the corresponding worker node. Each initialized worker node may receive different "default load" specifications between each worker node. Specifically, the health management agent may send upper and lower thresholds to the corresponding worker nodes.

[0077] Furthermore, a CBF (Count Bloom Filter) is initialized in the health management agent 214. Then, the worker node uses the corresponding monitoring and prediction agent to determine the binary health status value, specifically how logical "0" (meaning "OK") or logical "1" (meaning "potential problem") should be determined. This determination can be done periodically and / or cyclically or event-based. As described above (and also...) Figure 1 In the context of the received binary health status values ​​of worker nodes 202, 204 to 206, the CBF is updated. Additionally, a regular snapshot of the CBF data array can be stored at health status storage device 218 to generate a history of the computing system's health values.

[0078] Trend calculation agent 216 reads CBF values ​​and snapshots to determine predicted trends in the binary health status values ​​of multiple worker nodes and derives recommended corrective actions from the trends of the computing system (i.e., the worker nodes). Health management agent 214 can then instruct the system management system to implement corrective actions. For example, health management agent 214 may move a portion of the workload (i.e., a portion of the worker nodes) to another hardware environment, or move multiple worker nodes entirely to a more robust hardware support system (e.g., in another region). Other options include making more memory available in the computing system or adding additional resources to the computing system (e.g., through software-enabled additional resources). Instead of using the system management system to implement corrective actions, health management agent 214 can also implement corrective actions directly by instructing the worker nodes.

[0079] Figure 3 A block diagram depicts an embodiment of the counting Bloom filter 300. In the depicted example, h1 and h2 represent two different hash functions. In different embodiments, logical "1"s are received from worker nodes WN1 304, WN2 306, and WN3 308. A complete address (i.e., an identifier or identifier information) is used as input to hash functions h1 and h2. In another embodiment, a finely tuned set of hash functions can be deployed. The index values ​​generated by the finely tuned hash functions may be limited to the length of the data array 302.

[0080] As can be seen, addressing the second data field for the identifier of WN1 304 from the left results in a logical "1" in the data field of data array 302. The same applies to the fourth and sixth data fields of data array 302 for the identifier information of worker node WN2 306. In the seventh field of data array 302 (the second data field on the right), the data field stores a "2". This is because the index value generated by the hash function h2 of the identifier information of worker node WN1 304 and the index value generated by the hash function h2 of the identifier information of worker node WN3 308 both point to the same data field or index in data array 302.

[0081] The data fields in data array 302 can also be tagged with the categories for which hash functions generate index values. Typically, if a logical "1" is received along with corresponding identifier information (e.g., part or all of the address of the corresponding worker node), the value of a data field in data array 302 is incremented. Conversely, if a logical "0" is received, the counter on the data field of data array 302 is decremented. In the example implementation, the number of data fields in data array 302 is much larger than the eight fields shown here. Furthermore, the number of hash functions applied to each received identifier can also be much larger.

[0082] If data array 302 is initialized with "all zeros" (or cyclically reset), embodiments of the invention can produce a negative value f of more logic "0s" than a received logic "1". If one wants only positive counter values ​​in the data fields of data array 302, the initial values ​​of each counter should have positive starting values ​​(e.g., 512 or 1000 or similar values).

[0083] In another embodiment 350, nodes reporting status to the CBF are assigned to selected buckets in the data array 352 in an ordered and controlled manner, allowing nodes to be grouped based on categories such as expected actual load, cluster membership, security constraints, etc. The assignments can be adjusted at any time if assumptions or constraints that can be enforced by the operator change. Such an embodiment can allow a single CBF to be used for different characteristics of worker nodes. Alternatively, separate CBFs can be used for these different characteristics, allowing for even finer-grained analysis of the computational load of worker nodes. Here, worker nodes WN1 353, WN2 354 can relate to the same bucket / characteristic of worker nodes. Logical "1"s for the corresponding data fields in the data array 352 are only symbolically shown. WN3 356 creates its own category, while WN4 358 and WN5 360 create another category for other characteristics of the corresponding worker nodes.

[0084] If all values ​​in the dataset are summed (e.g., six for data array 302, six for dataset / data array 352), then an indication of the health status of the computing system hosting the worker nodes is given. Specifically, in the case of dataset 352 of CBF, only the selected set of data fields can be summed to analyze only the specific characteristics represented by the fields in the array / dataset.

[0085] Figure 4An embodiment 400 symbolically depicts aspects of the monitoring and prediction agent's operation. A setpoint (SP) value 402 and a measured time-dependent memory consumption MC(t) 404 are used as inputs to adder 408. The proportional component P, integral component I, and derivative component D of the PID filter determine a specific value for the memory consumption 406, which is then summed by adder 410 to output correction and prediction.

[0086] The corrected memory consumption value 406 is shown in Figure 412 in a time-dependent manner. The value between the upper threshold line 416 and the lower threshold line 414 produces a logic "0" for the binary health status value of the corresponding working node, where an excessively high corrected memory consumption value 406 (above the upper threshold line 416) or an excessively low corrected memory consumption value 406 (below the lower threshold line 414) produces a logic "1" as the binary health status value of the corresponding working node.

[0087] Figure 5 A flowchart illustrating an example implementation of embodiment 500, which is a general method according to an embodiment of the present invention, is provided for illustrative purposes. Figure 5 The embodiment 500 described herein can be used in Figure 2 The system shown (e.g., utilizing one or more components of architecture 200), Figure 4 (For example, embodiment 400, which utilizes aspects of the monitoring and prediction agent's functionality) Figure 7 (For example, one or more components of a block diagram of an embodiment of the computing infrastructure monitoring system 700 of the present invention) and Figure 8 (For example, using one or more diagrams and system implementations described in computing system 800). In an example embodiment, one or more components of architecture 200 (such as health management agent 214) may perform the processing steps of embodiment 500. In another example embodiment, one or more components of a block diagram of an embodiment of creative computing infrastructure monitoring system 700 may perform the processing steps of embodiment 500. Alternatively, the execution of embodiment 500 is not limited to this implementation.

[0088] First, in step 502, embodiment 500 initializes the monitoring agent. It should be noted that the illustrated flowchart also relates to the aforementioned architecture of the components involved in the proposed concept (comparison). Figure 2 Next, in step 504, embodiment 500 includes sending an "initialize monitoring" action, which is generated by the health management agent, wherein embodiment 500 may also initialize CBF (in step 506).

[0089] In the next loop step (step 508), embodiment 500 uses a monitoring and prediction agent to push health status values ​​to the network (e.g., to a health management agent). Then, embodiment 500 includes (in step 510) receiving the health status values. Consequently, in step 512, embodiment 500 updates the CBF. Furthermore, the state of the CBF can also be stored regularly, based on events, and / or optionally reset.

[0090] Then, in step 514, embodiment 500 includes reading CBF status and trend snapshots and adding new trend snapshots (in step 516). This reading forms the basis for determining (in step 518) corrective actions for all or a portion of the working nodes of the computing system and also recommending (in step 520) corrective actions for another system management system (not shown). In one embodiment, embodiment 500 also includes enabling the health monitoring agent to anonymously modify (in step 522) the infrastructure domain and potentially move workloads (i.e., working nodes) from one system to another.

[0091] Figure 6 A flowchart 600 depicts an example implementation of an embodiment of the predictive aspect of the proposed concept according to an embodiment of the present invention. For illustrative purposes, in Figure 6 The flowchart 600 described in the document can be found in Figure 2 The system shown (e.g., utilizing one or more components of architecture 200), Figure 4 (For example, embodiment 400, which utilizes aspects of the monitoring and prediction agent's functionality) Figure 7 (For example, one or more components of a block diagram of an embodiment of the computing infrastructure monitoring system 700 of the present invention) and Figure 8 (For example, using one or more diagrams and system implementations described in computing system 800). In an example embodiment, one or more components of architecture 200 (such as health management agent 214) may perform the processing steps of flowchart 600. In another example embodiment, one or more components of a block diagram of an embodiment of creative computing infrastructure monitoring system 700 may perform the processing steps of flowchart 600. Alternatively, the execution of flowchart 600 is not limited to this implementation.

[0092] In the depicted example, flowchart 600 begins (in step 602) with a trend calculation agent (comparison) Figure 2 Read the most recent CBF dataset and trend snapshot for the selected time frame. Then (in step 604), the trend calculation agent calculates the rate of increase or decrease in the number of agents reporting a critical state, i.e., a value >= greater than or equal to "1" in the trend snapshot.

[0093] In step 606, flowchart 600 includes using a trend calculation agent to compare the number of values ​​greater than or equal to "1" in the latest CBS dataset with system-defined concern and danger thresholds. If an embodiment of the invention determines that the danger threshold is exceeded, then in step 608, flowchart 600 uses the trend calculation agent to send an infrastructure deployment action to the health management agent. Conversely, in the concern zone, if the calculated rate increases, flowchart 600 uses the trend calculation agent to send a workload shift message to the health management agent (in step 610). Below the concern threshold, if the calculated rate decreases, flowchart 600 uses the trend calculation agent to send an infrastructure deactivation message to the health management system (in step 612).

[0094] Figure 7 A block diagram illustrating an embodiment of an inventive computing infrastructure monitoring system 700 according to an embodiment of the present invention is provided. System 700 is used to monitor the health status of a computing system comprising multiple worker nodes. System 700 includes at least a memory 704 communicatively coupled to a processor 702, wherein the memory stores a portion of program code that, when loaded onto and executed by the processor 702, enables the processor 702 to receive binary health status values ​​and corresponding identity information from each of the multiple worker nodes at a health management agent (specifically, via a receiver 706 as part of a health management system). Embodiments of the invention are operable to determine a single binary health status value for each of the multiple worker nodes (e.g., using a corresponding health status value generator 708) via a time-correlation function of the performance metric data values ​​of the respective worker node, through a corresponding monitoring prediction agent deployed in each of the multiple worker nodes, and compare the result with predefined configurable upper and lower thresholds specific to each worker node (e.g., via a comparison unit 710). Furthermore, the processor 702 is enabled to feed the identity information of each of the multiple working nodes received at the health management agent to the hash function of the count Bloom filter (or alternatively, to use a hash feed module, such as feed unit 712), thereby generating a dataset indicating the health status of the computing system (not shown).

[0095] It should be noted that receiver 706 and feed unit 712 may be part of a corresponding health management agent system, while health status value generator 708 and comparison unit 710 may be part of one of the working nodes (not shown). Different modules and units—specifically processor 702, memory 704, receiver 706, health status value generator 708, comparison unit 710, and feed unit 712—are electrically interconnected for exchanging electrical signals and / or data. This interconnection can be implemented using an internal system bus system 714 or alternatively, a network connection.

[0096] After turning Figure 8 Previously, attention should be paid to the implementation methods shown for cloud computing infrastructure. Figure 9 In this way, the proposed concept can be advantageously realized.

[0097] After turning Figure 8 Previously, the description Figure 9 , Figure 9 A cloud computing environment 900 in which at least a portion of the inventive concept can be deployed is depicted. A set of functional abstraction layers provided by the cloud computing environment is shown. It should be understood in advance that... Figure 9 The components, layers, and functions shown are illustrative only, and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided: Hardware and software layer 902 includes hardware and software components. Examples of hardware components include: mainframe 904; server 906; RISC (Reduced Instruction Set Computer) based server 908; blade server 910; storage device 912; network and network components 914. In some embodiments, software components include network application server software 916 and / or database software 918.

[0098] The virtualization layer 920 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 922; virtual storage devices 924; virtual networks 926, including virtual private networks; virtual applications and operating systems 928; and virtual clients 930. In one example, the management layer 932 can provide the functionality described below. Resource provisioning 934 provides dynamic procurement of computing resources and other resources for performing tasks within the cloud computing environment. Metering and pricing 936 provides cost tracking as resources are utilized within the cloud computing environment and bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, as well as protection for data and other resources. User portal 938 provides access to the cloud computing environment for consumers and system administrators. Service level management 940 provides cloud resource allocation and management to ensure that required service levels are met. Service level agreement (SLA) planning and fulfillment 942 provides pre-scheduling and procurement of cloud resources, anticipating future requirements for the cloud resources according to the SLA.

[0099] Workload layer 944 provides examples of functionality available for cloud computing environments. Examples of workloads and functionalities that can be provided from this layer include: mapping and navigation 946; software development and lifecycle management 948; virtual classroom education delivery 950; data analytics and processing 952; transaction processing 954; and a symbolic computing infrastructure monitoring system 956 (for comparison). Figure 7 700).

[0100] Embodiments of the present invention can be implemented with virtually any type of computer, regardless of whether the platform is suitable for storing and / or executing program code. Figure 8 As an example, a computing system 800 suitable for executing program code, health monitoring agents, and / or trend calculation agents related to the proposed method (e.g., as part of a working node) is described.

[0101] The computing system 800 is merely one example of a suitable computer system and is not intended to impose any limitation on the scope or functionality of the embodiments of the invention described herein, regardless of whether the computer system 800 is capable of implementing and / or performing any of the functions set forth above. In the computer system 800, there are components that can operate with many other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations suitable for use with the computer system / server 800 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices. The computer system / server 800 can be described in the general context of computer system executable instructions (such as program modules) executed by the computer system 800. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc., that perform a specific task or implement a specific abstract data type. The computer system / server 800 can be implemented in a distributed cloud computing environment, where tasks are performed by remote processing devices linked via a communication network. In a distributed cloud computing environment, program modules can reside on local and remote computer system storage media (including memory storage devices).

[0102] As shown in the figure, the computer system / server 800 is illustrated as a general-purpose computing device. Components of the computer system / server 800 may include, but are not limited to, one or more processors or processing units 802, system memory 804, and a bus 806 coupling the various system components, including system memory 804, to the processing unit 802. Bus 806 represents any one or more of several types of bus architectures, including memory buses or memory controllers, peripheral buses, accelerated graphics ports, and processor or local buses using any of a variety of bus architectures. By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses. The computer system / server 800 typically includes a variety of computer system readable media. Such media can be any available media accessible by the computer system / server 800, and includes volatile and non-volatile media, removable and non-removable media.

[0103] System memory 804 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 808 and / or cache memory 810. Computer system / server 800 may also include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 812 may be configured to read from and write to non-removable, non-volatile magnetic media (not shown, and generally referred to as 'hard disk drives'). Although not shown, it may be provided for reading from and writing to removable, non-volatile disks (e.g., 'floppy disks'), and for reading from or writing to removable, non-volatile optical discs such as CD-ROMs, DVD-ROMs, or other optical media. In such cases, each may be connected to bus 806 via one or more data media interfaces. As will be further described and depicted below, memory 804 may include at least one program product having a set (e.g., at least one) of program modules configured to perform embodiments of the invention.

[0104] A program / utility having a set (at least one) of program modules 816, along with an operating system, one or more applications, other program modules, and program data, may be stored in memory 804 in an exemplary, and not limited, manner. Each or some combination of the operating system, one or more applications, other program modules, and program data may include an implementation of a network environment. Program modules 816 typically perform the functions and / or methods of embodiments of the invention, as described herein.

[0105] The computer system / server 800 can also communicate with one or more external devices 818, such as a keyboard, pointing device, display 820, etc.; one or more devices that enable a user to interact with the computer system / server 800; and / or any device that enables the computer system / server 800 to communicate with one or more other computing devices (e.g., a network interface card, modem, etc.). Such communication may occur via input / output (I / O) interface 814. Furthermore, the computer system / server 800 may communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet), via network adapter 822. As depicted, network adapter 822 may communicate with other components of the computer system / server 800 via bus 806. It should be understood that, although not shown, other hardware and / or software components may be used in conjunction with the computer system / server 800. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems.

[0106] In addition, a computing infrastructure monitoring system 700 for monitoring the health status of a computing system comprising multiple worker nodes can be attached to bus 806. This attachment can be understood symbolically.

[0107] The programs described herein are identified on an application-by-application basis, for which they are implemented in specific embodiments of the invention. However, it should be understood that any particular procedural terminology used herein is for convenience only, and therefore the invention should not be limited to use only in any particular application identified and / or implied by such terminology.

[0108] This invention can be a system, method, and / or computer program product with any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (one or more media) having computer-readable program instructions thereon for causing a processor to execute aspects of the invention.

[0109] Computer-readable storage media can be tangible means for retaining and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital universal disk (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or protrusions in slots having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0110] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a suitable computing / processing device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network), or to an external computer or external storage device. The network may include copper cables, optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the suitable computing / processing device.

[0111] Computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and procedural programming languages ​​(such as the "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as a standalone software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)) or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute computer-readable program instructions by utilizing state information from the computer-readable program instructions to personalize the electronic circuitry in order to perform aspects of this invention.

[0112] The invention will now be described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0113] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, such that the computer-readable storage medium storing the instructions comprises an article of manufacture containing instructions that implement aspects of the functions / actions specified in one or more blocks of a flowchart and / or block diagram.

[0114] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce computer-implemented processing, such that the instructions that execute on the computer, other programmable apparatus, or other device perform the functions / actions specified in one or more blocks of a flowchart and / or block diagram.

[0115] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the figures. For example, two blocks shown consecutively may actually be completed as a single step, executed simultaneously, substantially simultaneously, or with partial or complete temporal overlap, or the blocks may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.

[0116] Various embodiments of the invention have been described for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the invention. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or technical improvements over those found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

[0117] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well. It should also be understood that when the terms “comprises” and / or “comprising” are used in this specification, they specify the presence of the stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or combinations thereof.

[0118] All means or steps in the following claims, plus corresponding structures, materials, actions, and equivalents of the functional elements, are intended to include any structure, material, or action for performing the said function in conjunction with other claimed elements as specifically claimed. The description of the invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the forms disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the invention. These embodiments were chosen and described in order to best explain the principles and practical application of the invention, and to enable others skilled in the art to understand different embodiments of the invention with different modifications, as suited to the particular intended use.

Claims

1. A computer-implemented method, comprising: The corresponding monitoring and prediction agents are deployed in each of the multiple working nodes of the computing system by one or more computer processors; One or more computer processors determine a single binary health status value for each of a plurality of worker nodes via a corresponding monitoring and prediction agent, wherein determining the corresponding single binary health status value further includes: One or more computer processors compare the time-dependent function of the performance metric data value of the corresponding working node with a predefined configurable upper threshold and a configurable lower threshold; One or more computer processors receive the binary health status value and corresponding identity information from each of the plurality of working nodes; and One or more computer processors generate a dataset indicating the health status of the computing system by feeding the identity information of each of the plurality of working nodes into a hash function of a count Bloom filter.

2. The method according to claim 1, wherein, The performance metric data value corresponds to the memory usage of the corresponding working node.

3. The method according to claim 2, wherein, Determining the single binary health status value also includes: The predicted memory usage is determined by one or more processors using a proportional-integral-derivative PID filter as part of the monitoring and prediction agent.

4. The method according to claim 1: in, The dataset is stored as an array of predefined length. In this process, a portion of the identity information is used as input to the hash function. The output value of the hash function is an index value used to address the data fields in the array, and In response to determining that the corresponding single binary health status value is logic "1", the corresponding value of each of the addressed data fields in the dataset is incremented.

5. The method according to claim 4, wherein, The sum of the values ​​of the data fields in the array represents the health status of the computing system.

6. The method according to claim 1, further comprising: The computing system loads historical data by one or more processors by storing the time series of the dataset of health status values ​​in persistent storage.

7. The method according to claim 6, further comprising: Exceptions to the computing system load are determined by one or more processors based on historical computing system load data at a specific future point in time.

8. The method according to claim 7, further comprising: In response to determining that the exceptional computing system load value exceeds a predefined computing system load value, one or more processors initiate recommended corrective infrastructure or workload management actions.

9. The method according to claim 1, wherein, Worker nodes can be selected from groups consisting of physical computing nodes, multiple physical nodes, virtual machines, multiple virtual machines, computing containers, multiple computing containers, computing processes, and multiple computing processes.

10. The method according to claim 1, further comprising: The configurable upper threshold and the configurable lower threshold are received by one or more processors during the startup of the monitoring and prediction agent.

11. A computer program product comprising program instructions, the program instructions including: The corresponding monitoring and prediction agent is deployed in the program instructions of each of the multiple working nodes of the computing system; The program instructions, provided by the corresponding monitoring and prediction agent, determine a single binary health status value for each of multiple worker nodes, wherein the program instructions for determining the corresponding single binary health status value further include: A program instruction that compares the time-dependent function of the performance metric data value of the corresponding working node with a predefined configurable upper threshold and a configurable lower threshold; Program instructions to receive the binary health status value and corresponding identity information from each of the plurality of working nodes; and Program instructions are used to generate a dataset indicating the health status of the computing system by feeding the identity information of each of the plurality of working nodes into the hash function of the count Bloom filter.

12. The computer program product according to claim 11, wherein, The performance metric data value corresponds to the memory usage of the corresponding working node.

13. The computer program product according to claim 12, wherein, The program instructions for determining the single binary health status value further include: The program instructions use a proportional-integral-derivative PID filter as part of the monitoring and prediction agent to determine the predicted memory usage.

14. A computer system, comprising: One or more computer processors; One or more computer-readable storage media; as well as Program instructions stored on the computer-readable storage medium for execution by at least one of the one or more processors, the program instructions comprising: The corresponding monitoring and prediction agent is deployed in the program instructions of each of the multiple working nodes of the computing system; The program instructions, provided by the corresponding monitoring and prediction agent, determine a single binary health status value for each of multiple worker nodes, wherein the program instructions for determining the corresponding single binary health status value further include: A program instruction that compares the time-dependent function of the performance metric data value of the corresponding working node with a predefined configurable upper threshold and a configurable lower threshold; Program instructions to receive the binary health status value and corresponding identity information from each of the plurality of working nodes; and Program instructions are used to generate a dataset indicating the health status of the computing system by feeding the identity information of each of the plurality of working nodes into the hash function of the count Bloom filter.

15. The computer system according to claim 14, wherein, The performance metric data value corresponds to the memory usage of the corresponding working node.

16. The computer system according to claim 15, wherein, The program instructions for determining the single binary health status value also include: The program instructions use a proportional-integral-derivative PID filter as part of the monitoring and prediction agent to determine the predicted memory usage.

17. The computer system of claim 14, further comprising program instructions stored on the computer-readable storage medium for execution by at least one of the one or more processors, for: Historical data is generated by storing the time series of the health status value dataset in a persistent storage device.

18. The computer system of claim 17, further comprising program instructions stored on the computer-readable storage medium for execution by at least one of the one or more processors, for: Exception computing system load values ​​are determined based on historical computing system load data at specific future points in time.

19. The computer system of claim 18, further comprising program instructions stored on the computer-readable storage medium for execution by at least one of the one or more processors, for: In response to determining that the exceptional computing system load value exceeds the predefined computing system load value, a recommended infrastructure correction or workload management action is initiated.

20. The computer system according to claim 14, wherein, Worker nodes can be selected from groups consisting of physical computing nodes, multiple physical nodes, virtual machines, multiple virtual machines, computing containers, multiple computing containers, computing processes, and multiple computing processes.

Citation Information

Patent Citations

  • Systems and methods for multi-analysis

    AU2013205132A1

  • Distributed type storage system having p2p function and method thereof

    CN101710901A