Batch Processing System Job Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Batch processing systems face inefficiencies when handling a large number of jobs with varying resource requirements, leading to bottlenecks and increased waiting times, especially when processing diverse data files of different sizes.

Innovation Solution

A system with multiple processing elements that assign jobs based on estimated processing time, allowing each element to handle jobs within specific time ranges, thereby balancing resource usage and prioritizing smaller jobs for quicker processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single processing element is used, then resource monopolization by large jobs occurs, but system simplicity is maintained

Engineering Contradiction:
Improveprocessing fairnessVSAvoidsystem structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments processing elements into multiple groups, where each group specializes in processing jobs within a specific size range. This segmentation prevents any single processing element from being monopolized by large jobs, as each group handles a defined subset of job sizes, thereby improving processing fairness while maintaining manageable system complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically assigns jobs to processing element groups based on job size characteristics. By evaluating each job's size and routing it to the appropriate group, the system adapts to varying job requirements in real-time, ensuring fair resource distribution without requiring a static, overly complex architecture.

Inventive Principle:
Principle #15Dynamics

2Reliability

If parallel processing elements are used, then resource distribution is improved, but processing time per element increases

Engineering Contradiction:
Improveresource distributionVSAvoidprocessing time per job
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

Each processing element group is configured with specific characteristics optimized for its designated job size range. Smaller groups handle quick, small jobs efficiently, while larger groups handle comprehensive processing of bigger jobs. This local optimization ensures that each group processes its assigned jobs in minimal time, improving overall resource distribution without sacrificing processing speed for any specific job category.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of processing time by matching job size with appropriately scaled processing element groups. By adjusting which group handles which job based on size parameters, the system ensures that processing time remains optimized across different job types, preventing both underutilization and excessive processing delays.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If parallel processing elements are used, then total throughput increases, but waiting time for individual jobs increases

Engineering Contradiction:
Improvetotal throughputVSAvoidwaiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the job queue into multiple size-based groups that are processed concurrently by dedicated processing element groups. This segmentation allows small jobs to be processed immediately by smaller groups without waiting for large jobs to complete, thereby reducing individual waiting times while maintaining high total throughput through parallel processing of multiple job categories.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary classification of jobs by size before processing, assigning each job to its appropriate processing element group in advance. This preliminary action prevents jobs from waiting in a single queue behind larger jobs, as they are pre-routed to groups where they can be processed promptly, reducing waiting time while preserving overall system throughput.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If jobs are processed in sequence, then resource allocation is simple, but processing efficiency decreases

Engineering Contradiction:
Improveresource allocation mechanismVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically allocates resources by continuously evaluating job size and routing to appropriate processing element groups. This dynamic allocation mechanism, while more complex than static sequential processing, enables parallel processing that dramatically improves productivity. The system adapts resource allocation in real-time based on job characteristics, achieving high processing efficiency without requiring overly complex manual management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements self-service resource allocation where processing elements automatically select and process jobs from their assigned size groups without external intervention. This self-service mechanism simplifies resource allocation management while enabling efficient parallel processing, as each group independently manages its own job queue based on its processing capabilities and current workload.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2338112B1Batch processing system
Publication Date: 2015.10.14 ORACLE INT CORP
  • EP2338112B1 patent drawingFigure 1
  • EP2338112B1 patent drawingFigure 2
  • EP2338112B1 patent drawingFigure 3

AI summary

A system for processing a batch of jobs is provided. The system comprises a plurality of processing elements that are characterised in that each processing element is configured to sequentially process jobs with an estimated process time within a respective allotted range of values. The jobs may comprise packets of data within a data processing system. The system is particularly useful for processing data corresponding to translated text in a text translation system.