IP Library Granted Patent US 12663974
Granted Patent B2
US 12663974 · App. 18/249,664 · Granted Jun 23, 2026

Application provisioning with active and available inventory

Inventors: Sree Nandan Atur (Newark, CA); Ravi Kumar Alluboyina (Santa Clara, CA); Prakash Vaghela (Pune, IN); Ayushi Nikhil Patani (Bangalore, IN); Dhaval Patel (Fremont, CA)
Assignee: Rakuten Symphony, Inc.
G06F8/61
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12663974
App. No.
18/249,664
Granted
Jun 23, 2026
Kind
B2
Abstract

A computer system pulls observability data (metrics, logs, events, alerts, inventory) for a plurality of components from remote servers, which may be part of a cloud computing platform. The components may be application instances, containers, storage volumes, pods, or other components. The computer system derives a utilization metric for each components and each of one or more types of computing resources: compute, memory, and storage. The utilization metrics are compared to available inventory of computing resources to obtain an active and available inventory (AAI). Components may be redeployed and allocated computing resources reduced based on the AAI. Components may be grouped in clusters and components may be consolidated to a reduced number of clusters based on the AAI. Applications may be provisioned and deployed on clusters in groups of different types (dot, triangle, line, graph) having different runtime requirements based on location, latency, hardware resources, and/or round robin assignment.

Claims (42)

1 . An apparatus comprising:

a computing device including one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code that, when executed by the one or more processing devices, causes the one or more processing devices to:

receive a specification for one or more application instances, the specification including both (a) one or more computing resource requirements and (b) one or more cluster runtime requirements; and

if no available clusters satisfy (a) and (b) for each application instance of the one or more application instances:

(c) determine that the specification defines a tolerance;

identify one or more clusters of one or more hosts in response to (c), the one or more clusters deviating from (a) and (b) as permitted by the tolerance; and

deploy the one or more application instances on the one or more hosts.

2 . The apparatus of claim 1 , wherein:

the one or more application instances comprise three or more application instances;

the one or more clusters include three or more clusters; and

the one or more cluster runtime requirements include a latency requirement for latency between each possible pair of clusters of the three or more clusters.

3 . The apparatus of claim 1 , wherein:

the one or more application instances comprise two or more application instances arranged in tiers;

the one or more clusters include two or more clusters; and

the one or more cluster runtime requirements include a cost function for at least one of the two or more clusters.

4 . The apparatus of claim 3 , wherein the cost function is a cost of hosting a most resource intensive of the two or more application instances.

5 . The apparatus of claim 4 , wherein the most resource intensive of the two or more application instances is a database application instance.

6 . The apparatus of claim 1 , wherein the one or more computing resource requirements include a processing power requirement.

7 . The apparatus of claim 1 , wherein the one or more computing resource requirements include a memory requirement.

8 . The apparatus of claim 1 , wherein the one or more computing resource requirements include a storage requirement.

9 . The apparatus of claim 1 , wherein the one or more cluster runtime requirements include a location requirement.

10 . The apparatus of claim 1 , wherein the one or more cluster runtime requirements include an availability requirement.

11 . The apparatus of claim 1 , wherein the specification defines one or more of:

a dot application instance;

triangle application instances; and

line application instances.

12 . The apparatus of claim 1 , wherein the one or more hosts are servers.

13 . The apparatus of claim 1 , wherein the one or more hosts are part of a cloud computing platform.

14 . A method comprising:

receiving, by a computer system, a specification for a plurality of application instances, the specification including both (a) one or more computing resource requirements and (b) one or more cluster runtime requirements;

dividing the plurality of application instances into two or more groups of two or more different types; and

for each group of the two or more groups:

determine that no available clusters satisfy (a) and (b) for each application instance of each group;

in response to determining that no available clusters satisfy (a) and (b) for each application instance of each group:

(c) determine that the specification defines a tolerance; and

identify one or more clusters of one or more hosts in response to (c), the one or more clusters deviating from the one or more computing resource requirements and the one or more cluster runtime requirements as permitted by the tolerance; and

deploying, by the computer system, one or more application instances of each group on the one or more hosts.

15 . The method of claim 14 , wherein the two or more different types include triangle application instances.

16 . The method of claim 14 , wherein the two or more different types include line application instances.

17 . The method of claim 14 , wherein the two or more different types include triangle application instances and line application instances.

18 . The method of claim 14 , wherein the one or more cluster runtime requirements include one or more first runtime requirements for a first type of the two or more different types and one or more second runtime requirements for a second type of the two or more different types, the one or more second runtime requirements being different from the one or more first runtime requirements.

19 . The method of claim 18 , wherein the one or more first runtime requirements include an inter-cluster latency requirement and the one or more second runtime requirements include a cost requirement.