18152391. PROACTIVE RESOURCE PROVISIONING IN LARGE-SCALE CLOUD SERVICE WITH INTELLIGENT POOLING simplified abstract (MICROSOFT TECHNOLOGY LICENSING, LLC)

From WikiPatents
Jump to navigation Jump to search

PROACTIVE RESOURCE PROVISIONING IN LARGE-SCALE CLOUD SERVICE WITH INTELLIGENT POOLING

Organization Name

MICROSOFT TECHNOLOGY LICENSING, LLC

Inventor(s)

Yiwen Zhu of Bellevue WA (US)

Alex Yeo of Redmond WA (US)

Harsha Nihanth Nagulapalli of Redmond WA (US)

Sumeet Khushalani of Kenmore WA (US)

Arijit Tarafdar of Sammamish WA (US)

Subramaniam Venkatraman Krishnan of Santa Clara CA (US)

Deepak Ravikumar of West Lafayette IN (US)

Andrew Francis Fogarty of New York NY (US)

Steve D. Suh of Woodinville WA (US)

Yoonjae Park of Redmond WA (US)

Niharika Dutta of Redmond WA (US)

Santhosh Kumar Ravindran of Redmond WA (US)

PROACTIVE RESOURCE PROVISIONING IN LARGE-SCALE CLOUD SERVICE WITH INTELLIGENT POOLING - A simplified explanation of the abstract

This abstract first appeared for US patent application 18152391 titled 'PROACTIVE RESOURCE PROVISIONING IN LARGE-SCALE CLOUD SERVICE WITH INTELLIGENT POOLING

The present application pertains to a network, apparatus, and method for allocating clusters of computing nodes for programming jobs. The network comprises multiple datacenters with configurable computing resources to create nodes for executing programming jobs on a cluster.

  • Provision a live pool with clusters, each containing nodes imaged with configurations for parallel execution of programming jobs.
  • Receive user requests for programming job execution.
  • Allocate available clusters from the live pool to users for programming jobs.
  • Evict clusters from the live pool.
  • Provision new clusters to maintain the required number within the live pool.
  • Optimize the number of clusters using linear programming and machine learning.
      1. Key Features and Innovation:

- Allocation of clusters of computing nodes for programming jobs. - Use of live pool with pre-configured clusters for efficient job execution. - Dynamic provisioning and eviction of clusters based on demand. - Optimization of cluster numbers using advanced algorithms.

      1. Potential Applications:

This technology can be applied in cloud computing environments, datacenters, and distributed computing systems for efficient job allocation and execution.

      1. Problems Solved:

- Efficient allocation of computing resources for programming jobs. - Dynamic scaling of clusters based on demand. - Optimization of cluster numbers for cost-effective resource utilization.

      1. Benefits:

- Improved resource utilization. - Faster job execution. - Cost optimization in computing environments.

      1. Commercial Applications:

Title: "Dynamic Cluster Allocation Technology for Efficient Job Execution" This technology can be utilized in cloud service providers, software development companies, and research institutions to optimize resource allocation and improve job execution efficiency.

      1. Prior Art:

Further research can be conducted in the field of cluster allocation algorithms and resource management in distributed computing systems.

      1. Frequently Updated Research:

Stay updated on advancements in cluster allocation algorithms, machine learning for resource optimization, and cloud computing technologies for efficient job execution.

        1. Questions about Dynamic Cluster Allocation Technology:

1. How does this technology improve resource utilization in computing environments? 2. What are the potential applications of this technology in cloud computing systems?


Original Abstract Submitted

The present application relates to a network, apparatus, and method for allocating clusters of computing nodes for programming jobs. A network includes a plurality of datacenters including computing resources configurable to instantiate nodes for executing programming jobs on a cluster. The computing resources at one of the datacenters are configured to: provision a live pool including a number of clusters, each cluster in the live pool including a plurality of nodes imaged with a configuration for executing the programming jobs in parallel on the cluster; receive a request from a user to execute a programming job; allocate a cluster from the live pool to the user for the programming job when the cluster is available; evict the cluster from the live pool; and provision a new cluster within the live pool to meet the number of clusters. The number of clusters may be optimized based on linear programming and machine-learning.