Micro-job Segmentation for CPU Time Slice Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tasking operating systems often experience performance issues due to resource contention, leading to processes hesitating or freezing as one process consumes excessive processor time, despite the appearance of concurrent execution through multi-threading and multi-tasking.

Innovation Solution

Dividing computer jobs into micro-jobs that execute within a quantum time slice, allowing for ongoing, imperceptible processing that utilizes resources minimally, thereby avoiding significant impact on other jobs and applications by scheduling based on resource availability and time intervals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-tasking scheduler schedules threads to run concurrently with small time increments (quanta), then the appearance of concurrent execution is achieved, but computer performance deteriorates and processes may freeze or hesitate

Engineering Contradiction:
Improveappearance of concurrent executionVSAvoidprocess performance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments a computer job into multiple micro-jobs, where each micro-job is a small unit of work that can be executed independently. This segmentation allows the system to maintain the appearance of concurrent execution while preventing any single process from consuming excessive processor time and causing freezes or hesitations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic execution of micro-jobs with controlled time intervals. By executing micro-jobs periodically rather than continuously, the system maintains resource utilization while ensuring that no single process dominates the processor, thus preventing performance degradation and process freezing.

Inventive Principle:
Principle #19Periodic action

2Productivity

If a process consumes excessive processor time to complete its task, then task completion is achieved, but other processes are impacted and system responsiveness deteriorates

Engineering Contradiction:
Improvetask completion efficiencyVSAvoidsystem responsiveness
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent divides the computer job into micro-jobs that are executed in small increments. This segmentation ensures that even if a process has a large task to complete, it does so in manageable portions that do not overwhelm the system, maintaining responsiveness for other processes while still achieving task completion.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables continuous execution of micro-jobs without interrupting the overall task flow. By maintaining continuous processing of small work units, the system achieves task completion efficiently while the incremental nature of micro-jobs prevents any single process from blocking others, thus preserving system responsiveness.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If threads are scheduled to execute as fast as possible based on priority, then high priority threads are served efficiently, but lower priority threads may be starved and overall system performance decreases

Engineering Contradiction:
Improvehigh priority thread execution speedVSAvoidthread scheduling fairness
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments thread execution into micro-jobs that are scheduled based on both priority and fairness considerations. By breaking down tasks into small units, the system can allocate execution time more evenly across different priority levels, preventing high priority threads from starving low priority threads while still ensuring efficient execution of critical tasks.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8056083B2Dividing a computer job into micro-jobs for execution
Publication Date: 2011.11.08 INVISITASKING LLC
  • US8056083B2 patent drawing
  • US8056083B2 patent drawing
  • US8056083B2 patent drawing

AI summary

Computer micro-jobs are disclosed. A computer job is divided into micro-jobs. In one embodiment, the micro-jobs have a size that allows a particular micro-job to complete within an allotted time for which the particular micro-job owns a resource used to execute the micro-job. In one embodiment, the allotted time is a quantum. In one embodiment, an entire computer job is divided into micro-jobs and the computer job is then executed micro-job by micro-job until the entire computer job is complete. Each of the micro-jobs may complete its execution within its quantum, in one embodiment. In one embodiment, the execution of the micro-jobs is allocated to times when needed resources comply with one or more idleness criteria. A software program executed with micro-jobs may be run at all times while the computer is powered up without impacting the performance of other software programs running on the same computer system.