Adaptive Job Scheduling via Package Splitting and Thread Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveflexibility in configuring time management rulesVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveability to configure complex rulesVSAvoidunpredictable run times
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvecustomization for different entitiesVSAvoidresource distribution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improveability to meet specific requirementsVSAvoidtask progress tracking
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improveability to implement complex proceduresVSAvoidrecovery from crashes
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10379897B2Adaptive job scheduling utilizing packaging and threads
Publication Date: 2019.08.13 SUCCESSFACTORS INC
  • US10379897B2 patent drawing
  • US10379897B2 patent drawing
  • US10379897B2 patent drawing

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.