Adaptive Job Scheduling via Package Splitting and Thread Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional time management systems face challenges such as data inconsistency, unpredictable run times, unfair resource distribution, inability to track progress, and inefficient recovery from crashes due to manual configuration of complex job scheduling tasks across different fiscal and calendar years, laws, and varying company or country-specific requirements.
Innovation Solution
A server computer determines a priority queue for jobs based on account types, splits tasks into packages, and allocates threads for execution, ensuring data consistency, predictable run times, fair resource distribution, and efficient recovery by using adaptive job scheduling methods that account for complexity scores and estimated times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If manual configuration of job scheduling tasks is used, then flexibility in configuring complex time management rules is achieved, but data inconsistency and unpredictable run times occur
Solution Approach 1:
The system performs self-service through automatic job scheduling where the server computer autonomously determines priorities, splits tasks into packages, allocates threads, and executes jobs without manual configuration. This eliminates human error and ensures data consistency while maintaining the ability to handle complex time management rules through programmed business logic.
Solution Approach 2:
The system changes parameters by dynamically adjusting the number of threads and package sizes based on job complexity and resource availability. The server computer calculates target groups, splits them into packages with varying sizes, and determines optimal thread counts, transforming the rigid manual configuration approach into a flexible automated system that maintains reliability.
2Adaptability or versatility
If manual configuration of job scheduling tasks is used, then complex time management rules can be configured, but unpredictable run times result
Solution Approach 1:
The system performs preliminary action by pre-calculating target groups and splitting them into packages before execution. The server computer determines priorities, calculates target groups based on account types, and prepares package structures in advance, enabling predictable run times while maintaining the ability to handle complex time management rules through pre-programmed business logic.
Solution Approach 2:
The system implements feedback mechanisms by monitoring job execution progress and adjusting resource allocation dynamically. The server computer tracks package completion, manages thread utilization, and adapts to execution conditions, ensuring predictable run times while maintaining flexibility for complex rules through continuous feedback-driven adjustments.
3Adaptability or versatility
If manual configuration of job scheduling tasks is used, then customization for different companies and countries is achieved, but unfair distribution of data center resources occurs
Solution Approach 1:
The system achieves universality by implementing a multi-functional server computer that can handle diverse time management rules for different companies and countries through a single automated platform. The server computer universally applies the same job scheduling methodology across all entities, ensuring fair resource distribution while maintaining customization capabilities through configurable business logic for various account types and rules.
Solution Approach 2:
The system implements dynamics by enabling the server computer to dynamically adjust resource allocation based on real-time conditions. The automated job scheduling system flexibly distributes data center resources across different entities, adapting thread counts and package sizes to match workload demands, thereby achieving both customization for diverse entities and fair resource distribution simultaneously.
4Adaptability or versatility
If manual configuration of job scheduling tasks is used, then specific company requirements can be met, but inability to track progress of tasks occurs
Solution Approach 1:
The system implements comprehensive feedback mechanisms that automatically track and report task progress. The server computer monitors job execution, package completion status, and thread utilization, providing real-time visibility into task progress. This automated feedback system maintains the ability to meet specific company requirements while eliminating the inability to track progress that plagues manual configuration approaches.
5Adaptability or versatility
If manual configuration of job scheduling tasks is used, then complex time management procedures can be implemented, but inability to recover efficiently from crashes occurs
Solution Approach 1:
The system applies segmentation by dividing complex time management procedures into discrete, manageable packages that can be independently executed and recovered. The server computer splits target groups into smaller packages, allowing selective re-execution of failed packages without requiring recovery of entire complex procedures. This segmented approach maintains the ability to implement complex procedures while dramatically improving ease of repair and crash recovery efficiency.
Data Source
AI summary
Systems and methods are presented for determining, by a server computer, at a predetermined time, a plurality of jobs to be run, determining, by the server computer, a priority queue for the jobs based on an account type associated with each job of the plurality of jobs, and for each account type, in an order according to the priority queue, calculating a target group for each account type based on the number of tasks for each job associated with the account type, splitting the target group for each account type into a plurality of packages wherein the size of each of the packages is based on the account type and a complexity of rules associated with the account type, determining a number of threads for executing the plurality of packages for each account type based on a number of the plurality of packages, and wherein for each of the plurality of packages, business logic associated with the package is executed by one of the number of threads and notification is provided indicating that execution of the package is complete.


