Dynamic Worker Instance Scheduling in Distributed Cloud Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud computing systems face challenges in dynamically scheduling and managing tasks across an arbitrary number of servers in a distributed environment, especially when dealing with variable data loads and types.
Innovation Solution
A cloud computer system is designed with a controller instance that creates and manages worker instances across multiple computer devices. Each worker instance creates a unique message queue and communicates with a database to store its reference, allowing the controller to dynamically determine the number of worker instances needed and publish jobs to their respective queues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If static configuration is used to manage virtual machines, then system simplicity is maintained, but adaptability to variable data loads deteriorates
Solution Approach 1:
The patent implements dynamic task scheduling where the system automatically adjusts the number and allocation of worker instances based on real-time workload conditions. The task scheduler continuously monitors system state and dynamically creates or terminates worker instances, transforming the static configuration into a dynamic adaptive system that responds to variable data loads without requiring manual intervention.
Solution Approach 2:
The system employs self-service mechanisms where worker instances automatically register themselves with the task scheduler and begin executing tasks without manual configuration. The task scheduler autonomously manages the lifecycle of worker instances, allocating resources and distributing tasks based on current system conditions, enabling the system to adapt to changing loads through self-managed operations.
2Productivity
If arbitrary number of worker instances are created, then processing capacity is improved, but system management complexity increases
Solution Approach 1:
The patent implements feedback mechanisms where worker instances continuously report their status, workload completion, and system state to the task scheduler. The task scheduler uses this feedback information to make informed decisions about task allocation, worker instance creation or termination, and resource management, enabling efficient handling of arbitrary numbers of workers through data-driven automated control.
Solution Approach 2:
The task scheduler serves multiple functions simultaneously: it acts as a task queue, worker manager, resource allocator, and system coordinator. This multi-functional design consolidates various management responsibilities into a single centralized component, reducing overall system management complexity even when handling arbitrary numbers of worker instances with diverse tasks.
3Productivity
If manual task assignment is used, then control precision is maintained, but productivity deteriorates
Solution Approach 1:
The patent implements preliminary action by having worker instances pre-register themselves with the task scheduler before receiving tasks. The task scheduler maintains a ready pool of registered workers and can immediately assign tasks without waiting for manual allocation or worker availability checks, enabling automatic high-speed task distribution while maintaining operational simplicity through pre-established connections.
Data Source
AI summary
A cloud computer system is provided that includes a plurality of computer devices and a database. The plurality of computer devices execute a plurality of virtual machines, with one of the virtual machines serving as a controller node and the remainder serving as worker instances. The controller node is programmed to accept a request to initiate a distributed process that includes a plurality of data jobs, determine a number of worker instances to create across the plurality of computer devices, and cause the number of worker instances to be created on the plurality of computer devices. The worker instances are programmed to create a unique message queue for the corresponding worker instance, and store a reference for the unique message queue that was created for the corresponding worker to the database. The controller node retrieves the reference to the unique message queues and posts jobs to the message queues for execution by the worker instances.


