Search

US-12625733-B2 - Dynamic decentralized resources manager

US12625733B2US 12625733 B2US12625733 B2US 12625733B2US-12625733-B2

Abstract

A computer implemented method is provided. A number of processor units identify a number of candidate applications for processing requests based on types of application programming interface for each application. The number of processor units validate metadata related to status of applications for each application in the number of candidate applications. The number of processor units select a subgroup of applications from the number of candidate applications to process requests based on the validated metadata.

Inventors

  • Abhishek Jain
  • Vivek Venkatanarasaiah
  • Gandhi Sivakumar

Assignees

  • INTERNATIONAL BUSINESS MACHINES CORPORATION

Dates

Publication Date
20260512
Application Date
20230919

Claims (18)

  1. 1 . A computer implemented method executed by a number of processing units, the computer implemented method comprising: sending a plurality of requests to each candidate application of a plurality of candidate applications; receiving, from each candidate application, metadata representing a status of each candidate application for processing each request in response to the sending; sending, concurrently with the receiving, the plurality of requests to a principal database, wherein: the principal database contains data to process the plurality of requests, a relationship exists between the metadata and the data contained in the principal database, and a confidence score for each candidate application is based on the relationship and each request received by the plurality of candidate applications; and processing, by a subgroup of candidate applications of the plurality of candidate applications, the plurality of requests based on the metadata, types of application programming interfaces for the plurality of candidate applications, and the confidence scores for the plurality of candidate applications.
  2. 2 . The computer implemented method of claim 1 , wherein a ranked list of the subgroup of candidate applications is based on a number of correctly processed requests for each candidate application in the subgroup of candidate applications.
  3. 3 . The computer implemented method of claim 2 , wherein an updated ranked list of the subgroup of candidate applications is based on the number of correctly processed requests for each candidate application in the subgroup of candidate applications.
  4. 4 . The computer implemented method of claim 2 , further comprising: receiving a request to retrieve information, wherein a top candidate application from the ranked list of the subgroup of candidate applications ranked from top to bottom retrieves the information based on context of the request; and returning, using the top candidate application, the information.
  5. 5 . The computer implemented method of claim 4 , wherein a next candidate application from the ranked list of the subgroup of candidate applications ranked from the top to the bottom processes the requests in response to the top candidate application being non-responsive.
  6. 6 . The computer implemented method of claim 1 , wherein the metadata is received from a current source of truth.
  7. 7 . A computer system comprising: a number of processor units, wherein the number of processor units executes program instructions to: send a plurality of requests to each candidate application of a plurality of candidate applications; receive, from each candidate application, metadata representing a status of each candidate application for processing each request in response to the sending; send, concurrently with the receiving, the plurality of requests to a principal database, wherein: the principal database contains data to process the plurality of requests, a relationship exists between the metadata and the data contained in the principal database, and a confidence score for each candidate application is based on the relationship and each request received by the plurality of candidate applications; and process, by a subgroup of candidate applications of the plurality of candidate applications, the plurality of requests based on the metadata, types of application programming interfaces for the plurality of candidate applications, and the confidence scores for the plurality of candidate applications.
  8. 8 . The computer system of claim 7 , wherein a ranked list of the subgroup of candidate applications is based on a number of correctly processed requests for each candidate application in the subgroup of candidate applications.
  9. 9 . The computer system of claim 8 , wherein an updated ranked list of the subgroup of candidate applications is based on the number of correctly processed requests for each candidate application in the subgroup of candidate applications.
  10. 10 . The computer system of claim 8 , wherein the number of processor units further executes program instructions to: receive a request to retrieve information, wherein a top candidate application from the ranked list of the subgroup of candidate applications ranked from top to bottom retrieves the information based on context of the request; and return, using the top candidate application, the information.
  11. 11 . The computer system of claim 10 , wherein a next candidate application from the ranked list of the subgroup of candidate applications ranked from the top to the bottom processes the requests in response to the top candidate application being non-responsive.
  12. 12 . The computer system of claim 7 , wherein the metadata is received from a current source of truth.
  13. 13 . A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer system to cause the computer system to: send a plurality of requests to each candidate application of a plurality of candidate applications; receive, from each candidate application, metadata representing a status of each candidate application for processing each request in response to the sending; send, concurrently with the receiving, the plurality of requests to a principal database, wherein: the principal database contains data to process the plurality of requests, a relationship exists between the metadata and the data contained in the principal database, and a confidence score for each candidate application is based on the relationship and each request received by the plurality of candidate applications; and process, by a subgroup of candidate applications of the plurality of candidate applications, the plurality of requests based on the metadata, types of application programming interfaces for the plurality of candidate applications, and the confidence scores for the plurality of candidate applications.
  14. 14 . The computer program product of claim 13 , wherein a ranked list of the subgroup of candidate applications is based on a number of correctly processed requests for each candidate application in the subgroup of candidate applications.
  15. 15 . The computer program product of claim 14 , wherein an updated ranked list of the subgroup of candidate applications is based on the number of correctly processed requests for each candidate application in the subgroup of candidate applications.
  16. 16 . The computer program product of claim 14 , wherein the program instructions executable by the computer system further cause the computer system to: receive a request to retrieve information, wherein a top candidate application from the ranked list of the subgroup of candidate applications ranked from top to bottom retrieves the information based on context of the request; and return, using the top candidate application, the information.
  17. 17 . The computer program product of claim 16 , wherein a next candidate application from the ranked list of the subgroup of candidate applications ranked from the top to the bottom processes the requests in response to the top candidate application being non-responsive.
  18. 18 . The computer program product of claim 13 , wherein the metadata is received from a current source of truth.

Description

BACKGROUND The disclosure relates generally to an improved computer system and more specifically to a computer implemented method, apparatus, system, and computer program product for identifying applications for processing requests as sources of truth. Kubernetes environment is an open-source container orchestration environment for automating software deployment, software scaling, and software management. The Kubernetes environment includes a control plane and set of worker nodes. The control plane in Kubernetes environment is responsible for maintaining the status and health of all the resources in Kubernetes environment. As a result, the control plane can make decisions related to scheduling, scaling and more. The control plane in Kubernetes environment includes a number of components. The control plane includes controllers that continuously monitor the state of Kubernetes environment and work to maintain the state in line with desired threshold. Kubernetes environment also includes a key value database that is responsible for storing the state of the resources for Kubernetes environment. In this case, requests for deployment and scaling will be forwarded to the control plane so that the control plane can decide whether the requests can be processed based on available resources from the key value database. For example, when an external system makes a request to create or update a resource, the controllers are triggered so that the requested resources are created, scaled, or updated with available resources from the key value database to achieve the desired state for the Kubernetes environment. SUMMARY According to one illustrative embodiment, a computer implemented method for selecting applications for processing requests is provided. A number of processor units identify a number of candidate applications for processing requests based on types of application programming interfaces for each application in the number of applications. The number of processor units validate metadata related to status of applications for each application in the number of candidate applications. The number of processor units select a subgroup of applications from the number of candidate applications to process requests based on the validated metadata. According to other illustrative embodiments, a computer system and a computer program product for predicting the next frame are provided. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a computing environment in accordance with an illustrative embodiment; FIG. 2 is a block diagram of a resources management environment in accordance with an illustrative embodiment; FIG. 3 is a block diagram of a resources manager in accordance with an illustrative embodiment; FIG. 4 is a flowchart for selecting an application to process a request in a container orchestration environment in accordance with an illustrative embodiment; FIG. 5 is a flowchart of a process for identifying applications for processing requests in accordance with an illustrative embodiment; FIG. 6 is a flowchart of a process for selecting applications from a list for processing requests in accordance with an illustrative embodiment; FIG. 7 is a flowchart of a process for selecting applications for processing requests in accordance with an illustrative embodiment; FIG. 8 is a flowchart of a process for validating applications for processing requests in accordance with an illustrative embodiment; and FIG. 9 is a block diagram of a data processing system in accordance with an illustrative embodiment. DETAILED DESCRIPTION According to one illustrative embodiment, a computer implemented method for selecting applications for processing requests is provided. A number of processor units identifies a number of applications as candidate applications for processing requests based on types of application programming interfaces for each application in the number of applications. The number of processor units validates metadata related to status of applications for each application in the number of candidate applications. The number of processor units selects a subgroup of applications from the number of applications as applications to process requests based on the validated metadata. As a result, the illustrative embodiments provide a technical effect of selecting applications as alternative sources for processing requests based on types of Application Programming Interfaces exposed to the applications such that workload on principal database can be reduced. In the illustrative embodiments, the number of processor units further generates a ranked list of applications for processing requests based on the subgroup of applications. The subgroup of applications are ranked based on number of correctly processed requests for each application in the subgroup of applications. As a result, the illustrative embodiments provide a technical effect of prioritizing applications that have increased performance on processing requests. I