IP Library Granted Patent US 6,985,249
Granted Patent B2
US 6,985,249 · App. 09/888,755 · Granted Jan 10, 2006

Variable data printing with optimized cache

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,985,249
App. No.
09/888,755
Granted
Jan 10, 2006
Kind
B2
Abstract

A method for processing raw application data, which includes a plurality of occurrences of an object, receives a stream of the raw application data into a job inspector. The raw application data includes object raw data, which represents the object, and other raw data. The stream of the raw application data is scanned within the job inspector for identifying each of the occurrences of the object. The object raw data is transmitted to a cache manager. Data representing the object raw data is cached as a function of the object occurrences detected by the job inspector.

Claims (59)

1. A method for processing raw application data including a plurality of occurrences of an object, the method comprising:

receiving a stream of the raw application data, including object raw data, which represents the object, and other raw data, into a job inspector;

scanning the stream of the raw application data within the job inspector for identifying each of the occurrences of the object;

transmitting the object raw data to a cache manager; and

caching data representing the object raw data as a function of the object occurrences detected by the job inspector.

2. The method for processing raw application data as set forth in claim 1 , further including:

converting the object raw data into object raster data;

replacing each of the occurrences of the object raw data in the raw application data with an identifier associated with the object raster data; and

converting the raw application data into raster data, the identifiers within the raw application data being replaced with the object raster data.

3. The method for processing raw application data as set forth in claim 2 , wherein the transmitting and caching steps include:

identifying a location within the cache corresponding to the object raster data according to a hashing function.

4. The method for processing raw application data as set forth in claim 3 , wherein the caching step further includes:

if a size of the object raster data is greater than a size of the object raw data, transmitting both the object raster data and the object raw data into the cache.

5. The method for processing raw application data as set forth in claim 3 , further including:

performing the steps of receiving, scanning, transmitting, and caching in parallel.

6. The method for processing raw application data as set forth in claim 1 , wherein the caching step includes:

converting the object raw data into object raster data; and

transmitting the object raster data into a cache.

7. The method for processing raw application data as set forth in claim 1 , wherein the caching step includes:

identifying objects used in the most distant future.

8. The method for processing raw application data as set forth in claim 1 , wherein the caching step includes:

determining a frequency of usage of the object.

9. The method for processing raw application data as set forth in claim 1 , wherein the caching step includes:

evaluating a processing cost of the object.

10. The method for processing raw application data as set forth in claim 1 , wherein the caching step includes at least two of:

identifying objects used in the most distant future;

determining a frequency of usage of the object; and

evaluating a processing cost of the object.

11. A system for processing raw application data including a plurality of occurrences of an object, comprising:

a job inspector which receives a stream of the raw application data, including object raw data which represents the object, and other raw data, the job inspector scanning the stream of the raw application data for identifying each of the occurrences of the object;

a cache manager, which receives the object raw data from the job inspector; and

a cache for storing data representing the object raw data as a function of the object occurrences detected by the job inspector.

12. The system for processing raw application data as set forth in claim 11 , wherein the job inspector replaces each of the occurrences of the object raw data in the raw application data with an identifier associated with the object raster data, the system further including:

a raster image processing device for converting the raw application data into raster application data and, therefore, converting the object raw data into object raster data; and

an assembly component which replaces the identifiers within the raster application data with the object raster data as the raster image processing device converts the raw application data into the raster application data.

13. The system for processing raw application data as set forth in claim 11 , wherein:

the cache manager sends a control signal to a raster image processing device for causing the raster image processing device to convert the object raw data into object raster data; and

the cache manager transmits the object raster data into the cache.

14. The system for processing raw application data as set forth in claim 12 , wherein:

the assembly component retrieves the object raster data from the cache when replacing the identifiers; and

the cache manager identifies a location within the cache corresponding to the object raster data according to a hashing function.

15. The system for processing raw application data as set forth in claim 14 , wherein if a size of the object raster data is greater than a size of the object raw data, the cache manager transmits both the object raster data and the object raw data into the cache.

16. The system for processing raw application data as set forth in claim 14 , wherein the job inspector, the cache manager, the cache, and the assembly component operate in parallel.

17. The system for processing raw application data as set forth in claim 11 , wherein the cache manager deletes data in the cache according to a most distantly needed caching strategy.

18. A method for printing original data including variable and constant objects, the method comprising:

identifying the constant objects within the original data;

transmitting the original data associated with the variable objects to a storage device;

transmitting the original data associated with the constant objects to a cache manager;

for each of the constant objects:

if a cache is full, deleting previously cached data according to a most distantly needed caching strategy;

if the cache is not full, storing data representing the constant object into the cache; and

assembling final raster data from the variable objects in the storage device and the constant objects in the cache.

19. The method for printing data including variable and constant objects as set forth in claim 18 , further including:

replacing the constant objects in the original data with identifiers; and

storing the identifiers in the storage device.

20. The method for printing data including variable and constant objects as set forth in claim 19 , wherein the assembling step includes:

substituting the data representing the constant object, which is stored in the cache, for the identifiers.

21. The method for printing data including variable and constant objects as set forth in claim 18 , further including:

transmitting the final raster data to an output device.

Assignments (11)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Recorded May 18, 2023
From: CITIBANK, N.A., AS AGENT
To: XEROX CORPORATION
Reel/Frame 063694/0122 →
SECURITY INTEREST Recorded Nov 10, 2022
From: XEROX CORPORATION
To: CITIBANK, N.A., AS AGENT
Reel/Frame 062740/0214 →
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO BANK ONE, N.A.
To: XEROX CORPORATION
Reel/Frame 061388/0388 →
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO JPMORGAN CHASE BANK
To: XEROX CORPORATION
Reel/Frame 066728/0193 →
SECURITY AGREEMENT Recorded Oct 31, 2003
From: XEROX CORPORATION
To: JPMORGAN CHASE BANK, AS COLLATERAL AGENT
Reel/Frame 015134/0476 →
SECURITY AGREEMENT Recorded Jul 30, 2002
From: XEROX CORPORATION
To: BANK ONE, NA, AS ADMINISTRATIVE AGENT
Reel/Frame 013111/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2001
From: KLASSEN, R. VICTOR; ZECK, NORMAN W.
To: XEROX CORPORATION
Reel/Frame 011953/0475 →