IP Library › Granted Patent US 12,613,738
Granted Patent B2
US 12,613,738 · App. 17/721,964 · Granted Apr 28, 2026

Method and system for dynamic selection of policy priorities for provisioning an application in a distributed multi-tiered computing environment

Inventors: William Jeffery White (Plano, TX); Said Tabet (Austin, TX)
Assignee: Dell Products L.P.
G06F9/4881
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 12,613,738
App. No.
17/721,964
Filed
Apr 15, 2022
Granted
Apr 28, 2026
Kind
B2
Art Unit
2196
USPC
718/103
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 request from a user, and the request is associated with scheduling an application in the DMC environment; and in response to obtaining the request: identifying application tasks associated with the request; obtaining application deployment information based on a manifest included in the request; identifying target domains for the application tasks based on the application deployment information; obtaining workload information associated with the target domains; selecting priorities for scheduling policies for the target domains based on the application deployment information and the workload information; generating scheduling packages based on the scheduling policy priorities for each target domain; and providing the scheduling packages to local controllers of the target domains, wherein the local controllers schedule the application tasks using the scheduling packages.

Claims (120)

1 . A method for managing a distributed multi-tiered computing (DMC) environment, comprising:

obtaining, by a global controller, a request from a user through an application service layer of a first computing device,

wherein the request is associated with scheduling an application task to a domain of the DMC environment and comprises authentication information associated with the user,

wherein the user generates the request using a graphical user interface (GUI) of the application service layer, wherein the request comprises a manifest,

wherein the domain hosts a local controller,

wherein the authentication information specifies a first identifier of the user, a second identifier of an organization, a security credential of the user, and an encryption key,

wherein, based on the authentication information, authenticity of the request is verified using the global controller,

wherein the first computing device and the global controller are operatively connected to each other over a wide area network;

in response to verifying the authenticity of the request:

identifying application tasks associated with the request using the manifest;

obtaining application deployment information using the manifest,

wherein the application deployment information specifies a target input latency of the manifest, the first identifier, a user preference, and a target response latency of the application task;

receiving capability information associated with the domain from the local controller,

wherein the capability information is stored to a physical graph database of the local controller;

identifying the domain for the application tasks based on the application deployment information and the capability information;

obtaining workload information associated with the domain, wherein the workload information specifies a quantity of active scheduling tasks, a backlog of the application tasks, and a second quantity of local controller scheduler instances associated with the local controller;

selecting priorities for scheduling policies for the domain based on the application deployment information and the workload information and the user preferences on scheduling polices, wherein selecting the priorities for the scheduling policies for the domain, comprises:

making a first determination to not select a makespan minimization priority for the scheduling policies for the domain based on the application deployment information including the user preference and the workload information because a threshold value for the backlog and the second quantity of local controller scheduler instances is reached due to a high workload on the domain and makespan minimization is a computationally intensive scheduling policy;

generating scheduling packages based on selected priorities for the scheduling policies for the domain;

providing the scheduling packages to the local controller; and

scheduling, by the local controller, a high priority application task of the application tasks to a second computing device of the domain using the scheduling packages and an endpoint controller of the domain, wherein the second computing device executes the high priority application task.

2 . The method of claim 1 , wherein the local controller of the domain is configured to schedule the application tasks within the domain based on the scheduling policy priorities specified by the scheduling packages.

3 . The method of claim 1 , wherein selected priorities for the scheduling policies comprise at least two of:

a scheduling efficiency policy;

a resource utilization policy; and

a resource cost policy.

4 . The method of claim 1 , wherein selecting priorities for scheduling policies for the domain based on the application deployment information and the workload information further comprises:

making a second determination to include a scheduling efficiency policy;

in response to the second determination:

assigning a first priority to the scheduling efficiency policy;

making a third determination to include a resource utilization policy;

in response to the third determination:

assigning a second priority to the resource utilization policy;

making a fourth determination to include a resource cost policy; and

in response to the fourth determination:

assigning a third priority to the resource cost policy.

5 . The method of claim 1 , wherein the domain is one of a plurality of DMC domains.

6 . The method of claim 5 , 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.

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 request from a user through an application service layer of a first computing device,

wherein the request is associated with scheduling an application task to a domain of the DMC environment and comprises authentication information associated with the user,

wherein the user generates the request using a graphical user interface (GUI) of the application service layer, wherein the request comprises a manifest,

wherein the domain hosts a local controller,

wherein the authentication information specifies a first identifier of the user, a second identifier of an organization, a security credential of the user, and an encryption key,

wherein, based on the authentication information, authenticity of the request is verified using the global controller,

wherein the first computing device and the global controller are operatively connected to each other over a wide area network;

in response to verifying the authenticity of the request:

identifying application tasks associated with the request using the manifest;

obtaining application deployment information using the manifest,

wherein the application deployment information specifies a target input latency of the manifest, the first identifier, a user preference, and a target response latency of the application task;

receiving capability information associated with the domain from the local controller,

wherein the capability information is stored to a physical graph database of the local controller;

identifying the domain for the application tasks based on the application deployment information and the capability information;

obtaining workload information associated with the domain, wherein the workload information specifies a quantity of active scheduling tasks, a backlog of the application tasks, and a second quantity of local controller scheduler instances associated with the local controller;

selecting priorities for scheduling policies for the domain based on the application deployment information and the workload information and the user preferences on scheduling polices, wherein selecting the priorities for the scheduling policies for the domain, comprises:

making a first determination to not select a makespan minimization priority for the scheduling policies for the domain based on the application deployment information including the user preference and the workload information because a threshold value for the backlog and the second quantity of local controller scheduler instances is reached due to a high workload on the domain and makespan minimization is a computationally intensive scheduling policy;

generating scheduling packages based on selected priorities for the scheduling policies for the domain; and

providing the scheduling packages to the local controller,

wherein the local controller schedules a high priority application task of the application tasks to a second computing device of the domain using the scheduling packages and an endpoint controller of the domain, wherein the second computing device executes the high priority application task.

8 . The non-transitory computer readable medium of claim 7 , wherein the local controller of the domain is configured to schedule the application tasks within the domain based on the scheduling policy priorities specified by the scheduling packages.

9 . The non-transitory computer readable medium of claim 7 , wherein the scheduling policies comprise at least two of:

a scheduling efficiency policy;

a resource utilization policy; and

a resource cost policy.

10 . The non-transitory computer readable medium of claim 7 , wherein selecting priorities for scheduling policies for the domain based on the application deployment information and the workload information further comprises:

making a second determination to include a scheduling efficiency policy;

in response to the second determination:

assigning a first priority to the scheduling efficiency policy;

making a third determination to include a resource utilization policy;

in response to the third determination:

assigning a second priority to the resource utilization policy;

making a fourth determination to include a resource cost policy; and

in response to the fourth determination:

assigning a third priority to the resource cost policy.

11 . The non-transitory computer readable medium of claim 7 , wherein the domain is one of a plurality of DMC domains.

12 . The non-transitory computer readable medium of claim 11 , 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.

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 request from a user through an application service layer of a first computing device,

wherein the request is associated with scheduling an application task to a domain of the DMC environment and comprises authentication information associated with the user,

wherein the user generates the request using a graphical user interface (GUI) of the application service layer, wherein the request comprises a manifest,

wherein the domain hosts a local controller,

wherein the authentication information specifies a first identifier of the user, a second identifier of an organization, a security credential of the user, and an encryption key,

wherein, based on the authentication information, authenticity of the request is verified using the global controller,

wherein the first computing device and the global controller are operatively connected to each other over a wide area network;

in response to verifying the authenticity of the request:

identify application tasks associated with the request using the manifest;

obtain application deployment information using the manifest, wherein the application deployment information specifies a target input latency of the manifest, the first identifier, a user preference, and a target response latency of the application task;

receive capability information associated with the domain from the local controller,

wherein the capability information is stored to a physical graph database of the local controller;

identify the domain for the application tasks based on the application deployment information and the capability information;

obtain workload information associated with the domain, wherein the workload information specifies a quantity of active scheduling tasks, a backlog of the application tasks, and a second quantity of local controller scheduler instances associated with the local controller;

select priorities for scheduling policies for the domain based on the application deployment information and the workload information and the user preferences on scheduling polices, wherein selecting the priorities for the scheduling policies for the domain, comprises:

make a first determination to not select a makespan minimization priority for the scheduling policies for the domain based on the application deployment information including the user preference and the workload information because a threshold value for the backlog and the second quantity of local controller scheduler instances is reached due to a high workload on the domain and makespan minimization is a computationally intensive scheduling policy;

generate scheduling packages based on selected priorities for the scheduling policies for the domain; and

provide the scheduling packages to the local controller,

wherein the local controller schedules a high priority application task of the application tasks to a second computing device of the domain using the scheduling packages and an endpoint controller of the domain, wherein the second computing device executes the high priority application task.

14 . The system of claim 13 , wherein the local controller of the domain is configured to schedule the application tasks within the domain based on the scheduling policy priorities specified by the scheduling packages.

15 . The system of claim 13 , wherein the scheduling policies comprise at least two of:

a scheduling efficiency policy;

a resource utilization policy; and

a resource cost policy.

16 . The system of claim 13 , wherein selecting priorities for scheduling policies for the domain based on the application deployment information and the workload information further comprises:

making a second determination to include a scheduling efficiency policy;

in response to the second determination:

assigning a first priority to the scheduling efficiency policy;

making a third determination to include a resource utilization policy;

in response to the third determination:

assigning a second priority to the resource utilization policy;

making a fourth determination to include a resource cost policy; and

in response to the fourth determination:

assigning a third priority to the resource cost policy.

17 . The system of claim 13 , wherein the domain is one of a plurality of DMC domains.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2022
From: WHITE, WILLIAM JEFFERY; TABET, SAID
To: DELL PRODUCTS L.P.
Reel/Frame 059700/0439 →
Continuity (1)
Related Publication 20230333880A1 · Oct 19, 2023
References Cited (68)
US 5408663A · Miller · 1995 [cited by applicant]
US 8056079B1 · Martin · 2011 [cited by applicant]
US 10120669B2 · Karagiannis · 2018 [cited by applicant]
US 10439957B1 · Krottapalli et al. · 2019 [cited by applicant]
US 10540202B1 · Smaldone et al. · 2020 [cited by applicant]
US 10693872B1 · Larson · 2020 [cited by examiner]
US 11089092B1 · Seibel · 2021 [cited by applicant]
US 20020016729A1 · Breitenbach · 2002 [cited by applicant]
US 20070283351A1 · Degenaro · 2007 [cited by applicant]
US 20090300637A1 · Ringseth · 2009 [cited by examiner]
US 20110154320A1 · Verma · 2011 [cited by applicant]
US 20120066759A1 · Chen · 2012 [cited by applicant]
US 20120179824A1 · Jackson · 2012 [cited by examiner]
US 20120284408A1 · Dutta · 2012 [cited by examiner]
US 20130167152A1 · Jeong · 2013 [cited by examiner]
US 20130346993A1 · Chen · 2013 [cited by applicant]
US 20140343999A1 · Kim · 2014 [cited by applicant]
US 20150222604A1 · Ylonen · 2015 [cited by applicant]
US 20160011912A1 · Rangaraju · 2016 [cited by applicant]
US 20160085587A1 · Dube · 2016 [cited by applicant]
US 20160212007A1 · Alatorre · 2016 [cited by applicant]
US 20170149681A1 · Chen et al. · 2017 [cited by applicant]
US 20170201550A1 · Benson · 2017 [cited by examiner]
US 20170257257A1 · Dawes · 2017 [cited by applicant]
US 20170339070A1 · Chang · 2017 [cited by examiner]
US 20180159745A1 · Byers · 2018 [cited by examiner]
US 20180287902A1 · Chitalia · 2018 [cited by applicant]
US 20180349183A1 · Popovic · 2018 [cited by applicant]
US 20190324828A1 · Young · 2019 [cited by applicant]
US 20200021537A1 · Oliveira · 2020 [cited by examiner]
US 20200159573A1 · Dobrev · 2020 [cited by applicant]
US 20200192714A1 · Clow · 2020 [cited by examiner]
US 20200351337A1 · Calmon · 2020 [cited by examiner]
US 20200401452A1 · Piercey · 2020 [cited by examiner]
US 20210064492A1 · Myers · 2021 [cited by applicant]
US 20210294661A1 · Turner · 2021 [cited by examiner]
US 20220094690A1 · Tarkhanyan · 2022 [cited by applicant]
US 20220114033A1 · Arvinte · 2022 [cited by applicant]
US 20220116456A1 · Higuchi · 2022 [cited by applicant]
US 20220171653A1 · Rj et al. · 2022 [cited by applicant]
US 20220291952A1 · Milojicic · 2022 [cited by examiner]
US 20220318052A1 · Sivathanu · 2022 [cited by examiner]
US 20230037293A1 · Hu · 2023 [cited by examiner]
US 20230096811A1 · Meghani · 2023 [cited by applicant]
US 20230168875A1 · Carter · 2023 [cited by applicant]
On Architecture for SLA-aware Workflows in Grid Environments Dang Minh Quan and Odej Kao (Year: 2005). [cited by examiner]
Heterogeneous Resource Provisioning for Workflow-Based Applications Using AHP in Cloud Computing S. M. Jaybhaye and V. Z. Attar International Conference on Communication and Computational Technologies, Algorithms for In… [cited by examiner]
The Best-Worst Method for Resource Allocation and Task Scheduling in Cloud Computing Abdulaziz Alhubaishy, Abdulmajeed Aljuhani (Year: 2020). [cited by examiner]
Grid broker selection strategies using aggregated resource information Ivan Roderoa, Francesc Guimb, Julita Corbalan, Liana Fongc, S. Masoud Sadjadi (Year: 2009). [cited by examiner]
CloudPath: A Multi-Tier Cloud Computing Framework Seyed Hossein Mortazavi, Mohammad Salehe, Carolina Simoes Gomes, Caleb Phillips, Eyal de Lara (Year: 2017). [cited by examiner]
A reliable, TOPSIS-based multi-criteria, and hierarchical load balancing method for computational grid Aref Abdullah, Hesham A. Ali, Amira Y. Haikal (Year: 2019). [cited by examiner]
An Overview of Service Placement Problem in Fog and Edge Computing Farah Aït Salaht and Frédéric Desprez, Adrien Lebre (Year: 2020). [cited by examiner]
An Architecture for QoS-Aware Fog Service Provisioning Elarbi Badidi and Awatif Ragmani (Year: 2020). [cited by examiner]
The Impact of Service Demand Variability on Resource Allocation Strategies in a Grid System Stylianos Zikos and Helen D. Karatza (Year: 2010). [cited by examiner]
GMBS: A new middleware service for making grids interoperable Attila Kertész, Péter Kacsuk (Year: 2009). [cited by examiner]
OCPDA: A novel approach towards detection of overloaded cloud providers in a federated environment Benay Kumar Ray, Oindrilla Ghosh, Srimoyee Bhattacherjee, Sarbani Roy and Sunirmal Khatua (Year: 2018). [cited by examiner]
Tong, Z., Deng, X., Chen, H et al. QL-HEFT: a novel machine learning scheduling scheme base on cloud computing environment. Neural Comput & Applic 32, 5553-5570 (2020). https://doi.org/10.1007/s00521-019-04118-8. [cited by applicant]
Alexandru Iulian Orhean [cited by applicant]
Basel Magableh, School of Computer Science, Dublin Institute of Technology, Technological University Dublin, Ireland. A Deep Recurrent Q Network towards Self-adapting Distributed Microservices architecture. arXiv:1901.0… [cited by applicant]
Debeer and Strobl BMC Bioinformatics. Conditional Permutation Importance Revisited. (2020) 21:307 https://doi.org/10.1186/s12859-020-03622-2. [cited by applicant]
Haoran Qiu, Subho S. Banerjee, Saurabh Jha, Zbigniew T. Kalbarczyk, and Ravishankar K. Iyer, University of Illinois at Urbana-Champaign. FIRM: An Intelligent Fine-grained Resource Management Framework for SLO-Oriented M… [cited by applicant]
Huang, Huang, Chen, Wang, IEEE: Simulated Annealing for Sequential Pattern Detection and Seismic Applications, Dec. 2014 doi.org/10.1109/JSTARS.2014.2344756. [cited by applicant]
Lin, Li, Liao, Franke, Capacity Optimization for Resource Pooling in Virtualized Data Centers with Composable Systems, DOI 10.1109/TPDS.2017.2757479 (2017). [cited by applicant]
Muhammad Tirmazi, Adam Barker, Nan Deng, Md E. Haque, Zhi-jing Gene Qin, Steven Hand, MorHarchol-Balter, and John Wilkes. 2020. Borg: the Next Generation. In Fifteenth European Conference on Computer Systems (EuroSys 20… [cited by applicant]
Oren Ben-Kiki et al. “YAML Aint Markup Language (YAML) version 1.2”; Revision 1.2.2 (Oct. 1, 2021); < https://yaml.org> 66 pages. [cited by applicant]
Stoica, INRA-Biometrie, Gregori, University Jaume I, Mateu, University Jaume I: Simulated Annealing and Object Point Processes: Tools for Analysis of Spatial Patterns, Jul. 2005. [cited by applicant]
Mhui Feng, Alibaba Group; Zhi Liu, Yunjian Zhao, Tatiana Jin, and Yidi Wu, The Chinese University of Hong Kong; Yang Zhang, Alibaba Group; James Cheng, The Chinese University of Hong Kong; Chao Li and Tao Guan, Alibaba … [cited by applicant]
Dheeraj Rane et al, Cloud Brokering Architecture for Dynamic Placement of Virtual Machines, 8 pages, 2015. [cited by applicant]