PDF Print Job Segmentation for Memory Overflow Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Production printers face memory overflow issues when processing large PDF print jobs, as they cannot initiate printing until the entire file is stored in memory, leading to failures and delays.

Innovation Solution

A print server dynamically splits PDF print jobs into independent segments based on the average memory footprint of logical pages, allowing each segment to be processed independently by the printer, thereby preventing memory overflow and optimizing printing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire PDF file is stored in memory before printing, then the printer can process the job, but memory overflow occurs for large files

Engineering Contradiction:
Improveprinting success rateVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides a large PDF print job into multiple smaller segments based on the printer's memory capacity. Each segment is processed independently through rasterization and printing, allowing the system to handle files larger than available memory. The segmentation is performed by analyzing the PDF structure and creating separate print data sets that fit within memory constraints.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the entire PDF file is loaded into memory, then printing can be initiated, but processing time increases due to memory constraints

Engineering Contradiction:
Improveprinting speedVSAvoidjob completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By segmenting the print job into smaller chunks that fit within memory, the system can process and print each segment as it is prepared, rather than waiting for the entire file to be loaded. This enables overlapping of processing and printing operations, reducing total job completion time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of the PDF file to determine optimal segment boundaries and estimates memory requirements before actual printing begins. This allows for efficient segmentation that maximizes memory utilization while ensuring each segment can be processed independently.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If segment size is fixed, then processing is simplified, but segments may not be optimized for different printer capabilities

Engineering Contradiction:
Improveprinter-specific optimizationVSAvoidsegmentation control
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic segment size adjustment based on the specific printer's memory capacity and processing capabilities. The system queries printer attributes and automatically adjusts segment parameters to optimize performance for each device, rather than using a fixed segment size for all printers.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes segmentation parameters such as segment size, page range, and memory allocation based on the target printer's characteristics. This allows the same PDF file to be optimally segmented for different printer models with varying memory and processing capabilities.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10678488B2Dynamic splitting of portable document format print jobs
Publication Date: 2020.06.09 RICOH CO LTD
  • US10678488B2 patent drawing
  • US10678488B2 patent drawing
  • US10678488B2 patent drawing

AI summary

Systems and methods are provided for dynamically splitting print jobs to reduce the time taken to start printing those jobs, allowing those jobs to be printed on a wider range of printers more efficiently. One embodiment includes a print server with an interface that is able to receive a Portable Document Format (PDF) print job. The print server also includes a job controller that divides the PDF print job into segments. Dividing the PDF print job includes determining a segment size comprising a number of the logical pages to include in each segment, based on the memory footprint for the logical pages. Dividing the PDF print job also includes generating multiple segments, populating each of the segments with logical pages from the PDF print job based on the segment size, and populating each of the segments with a page tree. The job controller transmits the segments to a printer.