# US 12,769,581 B2 · Method and system for provisioning applications in a distributed multi-tiered computing environment

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

- Number: US 12,769,581 B2
- Document ID: US12769581B2
- Status: Granted
- Kind: B2
- Application number: 17/722,066
- Filed: 2022-04-15
- Published: 2023-10-19
- Granted: 2026-10-20
- Earliest claimed: 2022-04-15
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: William Jeffery White; Said Tabet
- Web page: https://patentgrep.com/patent/US12769581B2

## CPC

- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5033: {considering data affinity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques described herein relate to a method for managing a distributed multi-tiered computing (DMC) environment. The method includes obtaining, by a global controller, a DMC environment management request from a user; and in response to obtaining the request: making a first determination that the DMC environment management request is a create request, and the create request is associated with provisioning an application in the DMC environment; in response to the first determination: generating scheduling packages associated with target domains of the DMC environment based on the create request; sending the scheduling packages to local controllers associated with the target domains; obtaining application information from the local controllers; and providing the application information to the user.

## Claims

### Claim 1

A method for managing a distributed multi-tiered computing (DMC) environment, comprising:
obtaining, by a global controller, a DMC environment management request from a user for application provisioning, wherein the DMC environment management request comprises a user identifier and a personal identification number (PIN); and
in response to obtaining the request:
authenticating the DMC environment management request, wherein authenticating comprises verifying the user associated with the request by comparing the user identifier and the PIN to a list of registered users and PINs included in the global controller;
making a first determination that the DMC environment management request is a create request by searching a manifest of the DMC environment management request for a request directive, wherein the create request is associated with provisioning an application in the DMC environment;
in response to the first determination:
identifying application tasks associated with the create request specified in the manifest, wherein the application tasks are associated with the application to be provisioned;
identifying target domains for the application tasks using the manifest and capability information associated with domains included in the DMC environment, wherein for each application task the global controller identifies a target domain that satisfies scheduling requirements in the manifest, and wherein the scheduling requirements comprise user specified domain types, hardware requirements, and geographical requirements;
selecting scheduling policies for the target domains based on the manifest, the scheduling requirements, current load information of local controllers of the target domains, and predictive load information of the local controllers of the target domains, wherein:
the scheduling policies comprise makespan minimization, scheduling efficiency, resource utilization, and resource cost,
the global controller selects and prioritizes the scheduling polices based on load information of the identified target domains, and
the makespan minimization is deprioritized as a scheduling policy due to local controllers associated with the target domains having higher loads caused by large quantity of the application tasks;
making a second determination, based on the scheduling policies, that target domains are available with available capacity to execute the application tasks based on capacity information of the target domains obtained from the local controllers;
generating scheduling packages associated with the target domain of the DMC environment based on the second determination, wherein the scheduling packages are one or more data structures that may be used by the local controller of an associated target domain to perform domain level scheduling services and include the scheduling requirements, and comprise a portion of the application tasks to be scheduled on the target domains and the scheduling policies;
sending the scheduling packages to local controllers associated with the target domains;
instantiating, by the local controllers, the application tasks within the target domains to support a workflow based on the scheduling policies, wherein instantiating the application task generates application information;
obtaining the application information from the local controllers; and
providing the application information to the user to allow the user to access the application.

### Claim 2 (depends on 1)

The method of claim 1, wherein the DMC environment comprises a plurality of DMC domains.

### Claim 3 (depends on 2)

The method of claim 2, wherein the target domains comprise a portion of the plurality of DMC domains.

### Claim 4 (depends on 2)

The method of claim 2, wherein each DMC domain included in the plurality of DMC domains comprises a local controller and a device set.

### Claim 5 (depends on 4)

The method of claim 4, wherein the plurality of DMC domains comprises:
edge domains, wherein an edge domain of the edge domains comprises an edge domain device set;
core domains, wherein a core domain of the core domain comprises a core domain device set; and
cloud domains, wherein a cloud domain of the cloud domains comprises a cloud domain device set.

### Claim 6 (depends on 5)

The method of claim 5, wherein the core domain device set comprises more computing resources than the edge domain device set, and wherein the cloud domain device set comprises more computing resources than the core domain device set.

### Claim 7

A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing a distributed multi-tiered computing (DMC) environment, comprising:
obtaining, by a global controller, a DMC environment management request from a user for application provisioning, wherein the DMC environment management request comprises a user identifier and a personal identification number (PIN); and
in response to obtaining the request:
authenticating the DMC environment management request, wherein authenticating comprises verifying the user associated with the request by comparing the user identifier and the PIN to a list of registered users and PINs included in the global controller;
making a first determination that the DMC environment management request is a create request by searching a manifest of the DMC environment management request for a request directive, wherein the create request is associated with provisioning an application in the DMC environment;
in response to the first determination:
identifying application tasks associated with the create request specified in the manifest, wherein the application tasks are associated with the application to be provisioned;
identifying target domains for the application tasks using the manifest and capability information associated with domains included in the DMC environment, wherein for each application task the global controller identifies a target domain that satisfies scheduling requirements in the manifest, and wherein the scheduling requirements comprise user specified domain types, hardware requirements, and geographical requirements;
selecting scheduling policies for the target domains based on the manifest, the scheduling requirements, current load information of local controllers of the target domains, and predictive load information of the local controllers of the target domains, wherein:
the scheduling policies comprise makespan minimization, scheduling efficiency, resource utilization, and resource cost,
the global controller selects and prioritizes the scheduling polices based on load information of the identified target domains, and
the makespan minimization is deprioritized as a scheduling policy due to local controllers associated with the target domains having higher loads caused by large quantity of the application tasks;
making a second determination, based on the scheduling policies, that target domains are available with available capacity to execute the application tasks based on capacity information of the target domains obtained from the local controllers;
generating scheduling packages associated with the target domain of the DMC environment based on the second determination, wherein the scheduling packages are one or more data structures that may be used by the local controller of an associated target domain to perform domain level scheduling services and include the scheduling requirements, and comprise a portion of the application tasks to be scheduled on the target domains and the scheduling policies;
sending the scheduling packages to local controllers associated with the target domains;
instantiating, by the local controllers, the application tasks within the target domains to support a workflow based on the scheduling policies, wherein instantiating the application task generates application information;
obtaining the application information from the local controllers; and
providing the application information to the user to allow the user to access the application.

### Claim 8 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the DMC environment comprises a plurality of DMC domains.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the target domains comprise a portion of the plurality of DMC domains.

### Claim 10 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein each DMC domain included in the plurality of DMC domains comprises a local controller and a device set.

### Claim 11 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the plurality of DMC domains comprises:
edge domains, wherein an edge domain of the edge domains comprises an edge domain device set;
core domains, wherein a core domain of the core domain comprises a core domain device set; and
cloud domains, wherein a cloud domain of the cloud domains comprises a cloud domain device set.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the core domain device set comprises more computing resources than the edge domain device set, and wherein the cloud domain device set comprises more computing resources than the core domain device set.

### Claim 13

A system for managing a distributed multi-tiered computing (DMC) environment, the system comprising:
a DMC environment; and
a global controller of the DMC environment, comprising a processor and memory, and configured to:
obtain a DMC environment management request from a user for application provisioning, wherein the DMC environment management request comprises a user identifier and a personal identification number (PIN); and
in response to obtaining the request:
authenticate the DMC environment management request, wherein authenticating comprises verifying the user associated with the request by comparing the user identifier and the PIN to a list of registered users and PINs included in the global controller;
make a first determination that the DMC environment management request is a create request by searching a manifest of the DMC environment management request for a request directive, wherein the create request is associated with provisioning an application in the DMC environment;
in response to the first determination:
identify application tasks associated with the create request specified in the manifest, wherein the application tasks are associated with the application to be provisioned;
identify target domains for the application tasks using the manifest and capability information associated with domains included in the DMC environment, wherein for each application task the global controller identifies a target domain that satisfies scheduling requirements in the manifest, and wherein the scheduling requirements comprise user specified domain types, hardware requirements, and geographical requirements;
select scheduling policies for the target domains based on the manifest, the scheduling requirements, current load information of local controllers of the target domains, and predictive load information of the local controllers of the target domains, wherein:
the scheduling policies comprise makespan minimization, scheduling efficiency, resource utilization, and resource cost,
the global controller selects and prioritizes the scheduling polices based on load information of the identified target domains, and
the makespan minimization is deprioritized as a scheduling policy due to local controllers associated with the target domains having higher loads caused by large quantity of the application tasks;
make a second determination, based on the scheduling policies, that target domains are available with available capacity to execute the application tasks based on capacity information of the target domains obtained from the local controllers;
generate scheduling packages associated with the target domain of the DMC environment based on the second determination, wherein the scheduling packages are one or more data structures that may be used by the local controller of an associated target domain to perform domain level scheduling services and include the scheduling requirements, and comprise a portion of the application tasks to be scheduled on the target domains and the scheduling policies;
send the scheduling packages to local controllers associated with the target domains;
instantiate, by the local controllers, the application tasks within the target domains to support a workflow based on the scheduling policies, wherein instantiating the application task generates application information;
obtain the application information from the local controllers; and
provide the application information to the user to allow the user to access the application.

### Claim 14 (depends on 13)

The system of claim 13, wherein the DMC environment comprises a plurality of DMC domains.

### Claim 15 (depends on 14)

The system of claim 14, wherein the target domains comprise a portion of the plurality of DMC domains.

### Claim 16 (depends on 14)

The system of claim 14, wherein each DMC domain included in the plurality of DMC domains comprises a local controller and a device set.

### Claim 17 (depends on 16)

The system of claim 16, wherein the plurality of DMC domains comprises:
edge domains, wherein an edge domain of the edge domains comprises an edge domain device set;
core domains, wherein a core domain of the core domain comprises a core domain device set; and
cloud domains, wherein a cloud domain of the cloud domains comprises a cloud domain device set.
