Automated Test Job Scheduling with Preference Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software testing in large development centers faces challenges in scheduling test tasks efficiently, leading to underutilization of resources and disruption of the software development cycle due to manual scheduling methods, which are prone to low-quality schedules and premature termination of test phases.

Innovation Solution

An automated system and method for scheduling user jobs on computing resources, which receives data on resource availability and task specifications, assigns tasks to computing resources and time slots, and applies local improvements to optimize scheduling while considering user preferences and constraints, ensuring fairness in preference distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual scheduling methods are used, then scheduling simplicity is maintained, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvescheduling simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system enables automated self-scheduling of test tasks by computing resources. The scheduler automatically assigns tasks to available computing resources based on resource availability, task requirements, and optimization criteria, eliminating the need for manual intervention while maximizing resource utilization efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical scheduling operations with an automated computational scheduling system. The system uses algorithms to automatically allocate computing resources to test tasks, substituting human manual scheduling with an intelligent automated mechanism that optimizes resource utilization.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If automated scheduling is implemented, then resource utilization efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling system is divided into distinct modular components: resource management module, task assignment module, optimization module, and preference handling module. Each module performs a specific function, making the complex scheduling system manageable, maintainable, and scalable while achieving high resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduling system is designed as a universal platform that can handle multiple types of computing resources, various task types, different optimization criteria, and diverse user preferences simultaneously. This multi-functional design allows the system to address complex scheduling needs through a single integrated solution.

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

3Adaptability or versatility

If user preferences are prioritized, then preference satisfaction is improved, but scheduling flexibility deteriorates

Engineering Contradiction:
Improvepreference satisfactionVSAvoidscheduling flexibility
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system handles user preferences by introducing preference weights and satisfaction parameters into the optimization function. By adjusting these parameters, the system can dynamically balance between satisfying user preferences and maintaining scheduling flexibility, allowing optimal solutions to be found based on different priority levels.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements preference satisfaction to the greatest extent possible without completely rigidly enforcing all preferences. When full preference satisfaction would severely compromise scheduling flexibility, the system selectively satisfies preferences while maintaining overall schedule feasibility and resource utilization efficiency.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If computing resources are partitioned into sub-units, then resource allocation precision is improved, but management complexity increases

Engineering Contradiction:
Improveresource allocation precisionVSAvoidresource management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Computing resources are divided into smaller partitionable sub-units that can be independently allocated to different tasks. This segmentation enables precise allocation of computing capacity, allowing the system to assign specific sub-units to tasks based on exact resource requirements while maintaining granular control over resource distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduling system acts as an intermediary layer between physical computing resources and task requirements. It manages the complexity of partitioned resources by abstracting sub-unit allocation decisions, handling the intricate details of resource subdivision and reassignment while presenting a simplified interface for task scheduling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8392926B2Scheduling heterogeneous partitioned resources with sharing constraints
Publication Date: 2013.03.05 UTOPUS INSIGHTS INC
  • US8392926B2 patent drawing
  • US8392926B2 patent drawing
  • US8392926B2 patent drawing

AI summary

A system and method that provides an automated solution to obtaining quality scheduling for users of computing resources. The system, implemented in an enterprise software test center, collects information from test-shop personnel about test machine features and availability, test jobs, and tester preferences and constraints. The system reformulates this testing information as a system of constraints. An optimizing scheduling engine computes efficient schedules whereby all the jobs are feasibly scheduled while satisfying the users' time preferences to the greatest extent possible. The method and system achieves fairness: if all preferences can not be meet, it is attempted to evenly distribute violations of preferences across the users. The test scheduling is generated according to a first application of a greedy algorithm that finds an initial feasible assignment of jobs. The second is a local search algorithm that improves the initial greedy solution.