Pointer-Based Data Field Access for Dynamic Document Printing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for generating page-oriented data for dynamic documents face a tradeoff between flexible pre-processing and fast, continuous printing, as they require significant memory allocation and data transfer between processing stages, which hampers performance and throughput in high-speed printing applications.
Innovation Solution
A computer system and method where a layout module is linked with data processing modules to load and process variable data by reference, reducing memory allocation and data transfer by only loading and processing specific data fields as needed, allowing flexible module configuration while minimizing memory usage and maintaining high-speed printing capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If variable data is loaded completely into local memory at each processing stage, then data processing flexibility is improved, but memory usage and data transfer overhead increase significantly
Solution Approach 1:
The patent extracts only the specific data fields needed by each processing module from the complete variable data set, rather than loading all data into memory. The data input module loads variable data record-by-record and field-by-field, and each processing module receives only its required fields through pointers, eliminating the need to hold entire data sets in memory at each stage.
Solution Approach 2:
The patent segments the variable data processing into discrete fields and records, loading and processing only the necessary portions. Data is divided into individual fields (e.g., address, invoice information) that can be independently accessed and processed by different modules without requiring complete data sets in memory simultaneously.
2Adaptability or versatility
If data is transferred between data store and local memory at each processing stage, then processing flexibility is improved, but processing speed and throughput decrease
Solution Approach 1:
The patent enables continuous data processing by maintaining data in local memory and using pointers to pass references between modules without repeated disk I/O operations. The data input module loads data once into memory, and subsequent processing modules access their required fields through pointer references, eliminating repeated data transfer cycles between data store and memory.
Solution Approach 2:
The patent uses pointer references instead of physical data copies between modules. When a processing module needs data, it receives a pointer to the data field in memory rather than creating additional copies or requiring repeated reads from the data store, thus maintaining flexibility while minimizing data transfer overhead.
3Adaptability or versatility
If local memory is allocated and de-allocated at each processing stage, then module independence is improved, but processing overhead and time increase
Solution Approach 1:
The patent creates a universal data structure in local memory that can be accessed by multiple processing modules simultaneously through pointers. Instead of each module requiring its own separate memory allocation, a single data structure serves all modules, eliminating repeated allocation and de-allocation cycles while maintaining module independence through pointer-based access control.
4Reliability
If complete variable data sets are processed at each stage, then data completeness is improved, but processing speed decreases due to handling unnecessary data
Solution Approach 1:
The patent applies local quality by having each processing module receive and process only the specific data fields relevant to its function. For example, a formatting module receives only address fields, while an invoice module receives only financial data fields. This selective processing maintains data completeness for each module's needs while eliminating the overhead of processing complete data sets across all modules.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
For generating from variable data page-oriented data for printing dynamic documents, a layout module (13) is linked in series with one or more data processing modules (121, 12) to a data input module (11). The data input module (11) loads (S3) a part of the variable data into local memory and passes it by reference through the data processing modules (121, 122) to the layout module (13). The data processing modules (121, 122) are configured to read (S8c, S13c, S13f) a data field from the variable data in the local memory only in cases where the data field is to be processed by the respective data processing module. The layout module (13) generates (S8) the page-oriented data output from unprocessed and pre-processed data fields, defined in each case by a respective pointer from the data processing modules. Thereby, allocation and de-allocation of local memory is reduced and performance improved.