Multi-threaded RIP Memory Recovery via Serial Mode Switch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management methods in multi-threaded raster image processors (RIPs) often fail to accurately estimate memory requirements, leading to memory deficiencies and subsequent task failures, which can result in reduced processing efficiency or output quality when recovering from such failures.

Innovation Solution

A method that switches from multi-threaded to single-threaded mode upon identifying failed tasks, allowing for data processing and storage of intermediate results to disk, enabling recovery without discarding intermediate results and maintaining output quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory management relies on complexity estimation of the input job, then memory allocation can be planned in advance, but the estimation is not always accurate and underestimation may result in some tasks failing due to lack of memory

Engineering Contradiction:
Improvetask execution reliabilityVSAvoidmemory requirement estimation accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system performs preliminary complexity estimation of the input job to allocate memory in advance, but also prepares contingency plans by identifying tasks that can be executed in serial mode if memory deficiencies occur, thus acting in advance to prevent complete system failure

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system cushions against potential memory estimation errors by maintaining the capability to switch to serial execution mode and by designing the architecture to handle memory deficiencies gracefully, preventing catastrophic failure even when estimation is inaccurate

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If the entire failed job is re-run in serial mode to recover from memory deficiency, then the probability of successful outcome increases, but processing efficiency is sacrificed by throwing away intermediate results and restarting processing

Engineering Contradiction:
Improvejob completion success rateVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the job into individual tasks that can be independently identified and managed. When memory deficiency occurs, only the failed tasks are re-executed rather than the entire job, allowing successful tasks to be preserved and skipped in the recovery process

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system selectively discards only the failed tasks for re-execution while recovering and preserving the intermediate results of successful tasks. This partial discarding approach maintains processing efficiency by avoiding redundant re-execution of successful portions

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If memory is reduced to accommodate failed tasks, then memory allocation failure is avoided, but the quality of the output raster is reduced by throwing away some details of output data

Engineering Contradiction:
Improvememory allocation successVSAvoidoutput raster quality
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The system extracts and isolates only the failed tasks that require additional memory, separating them from the successful tasks. This allows memory to be allocated specifically to the failed tasks without reducing the quality parameters of the overall output, as only necessary portions are re-processed

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If multiple rasterising tasks run in parallel to increase printing speeds, then productivity is improved, but higher peak memory usage is expected during job processing

Engineering Contradiction:
Improveprinting speedVSAvoidpeak memory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the execution mode between parallel and serial based on available memory and task requirements. When memory is sufficient, multiple tasks run in parallel to maximize speed; when memory is deficient, the system switches to serial execution for affected tasks, providing adaptive optimization

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11205242B2Memory error recovery for complex page RIP
Publication Date: 2021.12.21 CANON KK
  • US11205242B2 patent drawing
  • US11205242B2 patent drawing
  • US11205242B2 patent drawing

AI summary

A method of rendering pages in a graphics rendering system operating in a multi-threaded mode. A plurality of pages to be rendered is received in the graphics rendering system, each of the plurality of pages having associated producing tasks and consuming tasks. Upon identifying one or more failed consuming tasks from the associated consuming tasks, generation of further producing tasks are suspended. Data associated with the identified one or more failed consuming tasks are processed by switching from the multi-threaded mode to a single threaded mode using memory freed in response to completion of processing of one or more of the remaining plurality of consuming tasks. One or more of the plurality of pages associated with the processed data are rendered.