IP Library Granted Patent US 12,293,222
Granted Patent B2
US 12,293,222 · App. 17/721,987 · Granted May 6, 2025

Method and system for performing domain level scheduling of 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,293,222
App. No.
17/721,987
Granted
May 6, 2025
Kind
B2
Abstract

Techniques described herein relate to a method for managing a distributed multi-tiered computing (DMC) environment. The method includes identifying, by a local controller associated with an DMC domain, a domain scheduling event associated with a scheduling job; and in response to identifying the domain scheduling event: identifying a candidate list of devices of the DMC domain to schedule tasks associated with the scheduling job based on a location and service level objectives; refining the candidate list of devices based on device configuration requirements, device management requirements, and security requirements to generate a final candidate list; scheduling tasks to devices using the final candidate list; generating scheduling assignments and provisioning command packages based on the scheduled tasks; providing the scheduling assignments and the provision command packages to the devices; and updating a graph based on the scheduling assignments.

Claims (70)

1. A method for performing domain level scheduling in a distributed multi-tiered computing (DMC) environment, comprising:

identifying, by a local controller associated with a DMC domain, a domain scheduling event associated with a scheduling job; and

in response to identifying the domain scheduling event:

performing, using a scheduling package associated with the scheduling job, constraint matching;

identifying, from devices in the DMC domain, a candidate list of devices of the DMC domain to schedule tasks associated with the scheduling job based on locations of the devices in the DMC domain, the constraint matching, and service level objectives;

refining the candidate list of devices based on device configuration requirements, device management requirements, and security requirements to generate a final candidate list;

sending, by the local controller, a verification request to at least one endpoint controller associated with at least one device in the final candidate list;

confirming, using the at least one endpoint controller, data information, wherein the data information is included in the scheduling package;

scheduling tasks to the at least one device in the final candidate list;

generating scheduling assignments and provisioning command packages based on the scheduled tasks;

providing the scheduling assignments and the provision command packages to the at least one device in the final candidate list; and

updating a graph based on the scheduling assignments.

2. The method of claim 1 , wherein the tasks, location, and service level objectives are specified by the scheduling package associated with the scheduling job.

3. The method of claim 2 , wherein the scheduling package is obtained from a global controller.

4. The method of claim 2 , wherein the candidate list is identified using the scheduling package and the graph.

5. The method of claim 1 , wherein the graph specifies all scheduling assignments associated with the DMC domain.

6. The method of claim 1 , wherein the DMC domain comprises one selected from a group consisting of:

an edge domain;

a core domain; and

a cloud domain.

7. The method of claim 6 , wherein:

the edge domain comprises an edge domain device set;

the core domain comprises a core domain device set; and

the cloud domain comprises a cloud domain device set.

8. 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:

identifying, by a local controller associated with a DMC domain, a domain scheduling event associated with a scheduling job; and

in response to identifying the domain scheduling event:

performing, using a scheduling package associated with the scheduling job, constraint matching;

identifying, from devices in the DMC domain, a candidate list of devices of the DMC domain to schedule tasks associated with the scheduling job based on locations of the devices in the DMC domain, the constraint matching, and service level objectives;

refining the candidate list of devices based on device configuration requirements, device management requirements, and security requirements to generate a final candidate list;

sending, by the local controller, a verification request to at least one endpoint controller associated with at least one device in the final candidate list;

confirming, using the at least one endpoint controller, data information, wherein the data information is included in the scheduling package;

scheduling tasks to the at least one device in the final candidate list;

generating scheduling assignments and provisioning command packages based on the scheduled tasks;

providing the scheduling assignments and the provision command packages to the at least one device in the final candidate list; and

updating a graph based on the scheduling assignments.

9. The non-transitory computer readable medium of claim 8 , wherein the tasks, location, and service level objectives are specified by the scheduling package associated with the scheduling job.

10. The non-transitory computer readable medium of claim 9 , wherein the scheduling package is obtained from a global controller.

11. The non-transitory computer readable medium of claim 9 , wherein the candidate list is identified using the scheduling package and the graph.

12. The non-transitory computer readable medium of claim 8 , wherein the graph specifies all scheduling assignments associated with the DMC domain.

13. The non-transitory computer readable medium of claim 8 , wherein the DMC domain comprises one selected from a group consisting of:

an edge domain;

a core domain; and

a cloud domain.

14. The non-transitory computer readable medium of claim 13 , wherein:

the edge domain comprises an edge domain device set;

the core domain comprises a core domain device set; and

the cloud domain comprises a cloud domain device set.

15. A system for managing a distributed multi-tiered computing (DMC) environment, the system comprising:

a DMC environment; and

a local controller associated with a DMC domain of the DMC environment, comprising a processor and memory, and configured to:

identify, by a local controller associated with a DMC domain, a domain scheduling event associated with a scheduling job; and

in response to identifying the domain scheduling event:

perform, using a scheduling package associated with the scheduling job, constraint matching;

identify, from devices in the DMC domain, a candidate list of devices of the DMC domain to schedule tasks associated with the scheduling job based on locations of the devices in the DM domain, the constraint matching, and service level objectives;

refine the candidate list of devices based on device configuration requirements, device management requirements, and security requirements to generate a final candidate list;

send, by the local controller, a verification request to at least one endpoint controller associated with at least one device in the final candidate list;

confirm, using the at least one endpoint controller, data information, wherein the data information is included in the scheduling package;

schedule tasks to the at least one device in the final candidate list;

generate scheduling assignments and provisioning command packages based on the scheduled tasks;

provide the scheduling assignments and the provision command packages to the at least one device in the final candidate list; and

update a graph based on the scheduling assignments.

16. The system of claim 15 , wherein the tasks, location, and service level objectives are specified by the scheduling package associated with the scheduling job.

17. The system of claim 16 , wherein the scheduling package is obtained from a global controller.

18. The system of claim 16 , wherein the candidate list is identified using the scheduling package and the graph.

19. The system of claim 15 , wherein the graph specifies all scheduling assignments associated with the DMC domain.

20. The system of claim 15 , wherein the DMC domain comprises one selected from a group consisting of:

an edge domain;

a core domain; and

a cloud domain.

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/0560 →
Continuity (1)
Related Publication 20230333881A1 · Oct 19, 2023
References Cited (49)
US 8056079B1 · Martin · 2011 [cited by applicant]
US 11089092B1 · Seibel · 2021 [cited by applicant]
US 20020016729A1 · Breitenbach · 2002 [cited by applicant]
US 20070283351A1 · Degenaro · 2007 [cited by examiner]
US 20120066759A1 · Chen · 2012 [cited by applicant]
US 20120179824A1 · Jackson · 2012 [cited by applicant]
US 20120284408A1 · Dutta · 2012 [cited by applicant]
US 20130346993A1 · Chen · 2013 [cited by examiner]
US 20160011912A1 · Rangaraju · 2016 [cited by applicant]
US 20160085587A1 · Dube · 2016 [cited by examiner]
US 20160212007A1 · Alatorre · 2016 [cited by examiner]
US 20170257257A1 · Dawes · 2017 [cited by applicant]
US 20170339070A1 · Chang · 2017 [cited by applicant]
US 20180159745A1 · Byers · 2018 [cited by applicant]
US 20180287902A1 · Chitalia · 2018 [cited by applicant]
US 20180349183A1 · Popovic · 2018 [cited by examiner]
US 20190324828A1 · Young · 2019 [cited by examiner]
US 20200021537A1 · Oliveira · 2020 [cited by applicant]
US 20200159573A1 · Dobrev · 2020 [cited by applicant]
US 20200192714A1 · Clow · 2020 [cited by applicant]
US 20200351337A1 · Calmon · 2020 [cited by applicant]
US 20200401452A1 · Piercey · 2020 [cited by applicant]
US 20210064492A1 · Myers · 2021 [cited by applicant]
US 20210294661A1 · Turner · 2021 [cited by applicant]
US 20220094690A1 · Tarkhanyan · 2022 [cited by applicant]
US 20220114033A1 · Arvinte · 2022 [cited by examiner]
US 20220116456A1 · Higuchi · 2022 [cited by applicant]
US 20220291952A1 · Milojicic · 2022 [cited by applicant]
US 20220318052A1 · Sivathanu · 2022 [cited by applicant]
US 20230096811A1 · Meghani · 2023 [cited by applicant]
US 20230168875A1 · Carter · 2023 [cited by applicant]
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, Florin Popa, Ioan Raicu Computer Science Department, Faculty of Automatic Control and Computers, University Politehnica of Bucharest, RomaniaDepartment of Computer Science (CS), Illinois Institu… [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 2… [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]
Yihui 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]
Abdulaziz Alhubaishy et al., The Best-Worst Method for Resource Allocation and Task Scheduling in Cloud Computing, 6 pages, Year: 2020. [cited by applicant]
Aref Abdullah et al., A reliable, TOPSIS-based multi-criteria, and hierarchical load balancing method for computational grid, 21 pages, Year: 2019. [cited by applicant]
Dang Minh Quan et al., On Architecture for SLA-aware Workflows in Grid Environments, 19 Pages, Year: 2005. [cited by applicant]
Dheeraj Rane et al., Cloud Brokering Architecture for Dynamic Placement of Virtual Machines, 8 pages, 2015. [cited by applicant]
Ivan Roderoa et al., Grid broker selection strategies using aggregated resource information, 14 pages, Year: 2009. [cited by applicant]
S. M. Jaybhaye et al., Heterogeneous Resource Provisioning for Workflow-Based Applications Using AHP in Cloud Computing, Chapter 41, 15 pages, Year : 2021. [cited by applicant]
Seyed Hossein Mortazavi Etc, Cloud Path: A Multi-Tier Cloud Computing Framework, Cloud Path: 13 pages, 2017. [cited by applicant]