IP Library Granted Patent US 8,072,630
Granted Patent B2
US 8,072,630 · App. 11/382,531 · Granted Dec 6, 2011

Integration of job control and synchronization with printer controller data exchanges

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 8,072,630
App. No.
11/382,531
Granted
Dec 6, 2011
Kind
B2
Abstract

Methods and systems for synchronization and control of multiple processes in a printer controller using headers associated with data and exchanged among the processes of the printer controller. A first feature hereof provides a method for job control and synchronization among a plurality of processes operable in a printer controller. The method includes associating a job control header with all print data exchanged between the plurality of processes of the printer controller. The method then includes synchronizing operation of the plurality of processes in accordance with information in the job control header. The headers may be exchanged in conjunction with print data moving through the multiple processes and may be generated and exchanged for synchronization and control independent of any print data. Synchronization events may include beginning and/or end of processing for a job, a page, a document, a page description language, etc.

Claims (61)

1. A method for job control and synchronization among a plurality of processes operable in a printer controller, the method comprising:

creating, in a first process of the plurality of processes operating within the print controller, a first job control header including synchronization information associated with a portion of print data;

transmitting the first job control header and the associated portion of the print data from the first process to a second process of the plurality of processes operating within the print controller;

creating in the second process, a second job control header including synchronization information associated with the portion of print data;

transmitting the second job control header devoid of print data from the second process to the first process; and

synchronizing processing of the portion of the print data between the first process and the second process based on detection and signaling of an event indicated in the synchronization information of the first job control header.

2. The method of claim 1 wherein the step of synchronizing further comprises:

detecting, in the second process, occurrence of an event indicated in the synchronization information as related to the first process; and

applying a signal from the second process to the first process indicating occurrence of the detected event.

3. The method of claim 1 further comprising:

creating, in the first process, a first job control header devoid of print data and including synchronization information related to the first process, and transmitting the first job control header devoid of print data from the first process to the second process, wherein the step of synchronizing further comprises: receiving, in the second process, the first job control header devoid of print data; and synchronizing operation of the first process and the second process in accordance with the synchronization information.

4. The method of claim 3 wherein the step of synchronizing further comprises:

detecting, in the second process, occurrence of an event indicated in the synchronization information as related to the first process; and applying a signal from the second process to the first process indicating occurrence of the detected event.

5. The method of claim 1 wherein the step of synchronizing further comprises:

detecting in the first process an occurrence of the event; and signaling the second process the occurrence of the event.

6. The method of claim 5 wherein the event comprises at least one event selected from the group consisting of:

beginning of processing of print data for a print job; end of processing of print data for a print job; beginning of processing of print data for a document; end of processing of print data for a document; beginning of processing of print data for a page description language; and end of processing of print data for a page description language.

7. A method operable in a printer controller, the method comprising:

receiving print data within a first process of a plurality of processes operating within the print controller;

generating in the first process a first job control header including synchronization and control information associated with the received print data;

forwarding the print data with the first job control header from the first process to a second process of the plurality of processes operating within the print controller;

generating in the second process, a second job control header including synchronization information associated with the portion of print data;

forwarding the second job control header devoid of print data from the second process to the first process; and

synchronizing processing of the portion of the print data between the first process and the second process based on detection and signaling of an event indicated in the synchronization information of the first job control header.

8. The method of claim 7 wherein the step of synchronizing further comprises:

detecting, in the second process, an event indicated in the first job control header as related to operation of the first process; and signaling occurrence of the detected event to the first process.

9. The method of clam 8 wherein the step of detecting further comprises:

detecting an event comprising at least one event selected from the group consisting of:

beginning of processing of print data for a print job;

end of processing of print data for a print job;

beginning of processing of print data for a document;

end of processing of print data for a document;

beginning of processing of print data for a page description language; and

end of processing of print data for a page description language.

10. The method of claim 8 wherein the step of detecting further comprises:

detecting an event comprising a request to release a previously spooled print job, and

wherein the step of signaling further comprises:

providing the previously spooled print job to the first process.

11. The method of claim 7 wherein the step of synchronization further comprises:

returning a signal from the second process to the first process indicating detection of an event indicated in the synchronization and control information as related to the first process.

12. A computer program product operable in a printer controller comprising a non-transitory computer readable medium embodying a computer readable program, wherein the computer readable program when executed on a printer controller causes the printer controller to perform the steps of:

receiving print data within a first process of a plurality of processes operating within the print controller;

generating in the first process a first job control header including synchronization and control information associated with the received print data;

forwarding the print data with the first job control header from the first process to a second process of the plurality of processes operating within the print controller;

generating in the second process, a second job control header including synchronization information associated with the portion of print data;

forwarding the second job control header devoid of print data from the second process to the first process; and

synchronizing processing of the portion of the print data between the first process and the second process based on detection and signaling of an event indicated in the synchronization information of the first job control header.

13. The computer program product of claim 12 wherein the step of synchronizing further comprises:

detecting, in the second process, an event indicated in the first job control header as related to operation of the first process; and signaling occurrence of the detected event to the first process.

14. The computer program product of clam 13 wherein the step of detecting further comprises:

detecting an event comprising at least one event selected from the group consisting of:

beginning of processing of print data for a print job;

end of processing of print data for a print job;

beginning of processing of print data for a document;

end of processing of print data for a document;

beginning of processing of print data for a page description language; and

end of processing of print data for a page description language.

15. The computer program product of claim 13 wherein the step of detecting further comprises:

detecting an event comprising a request to release a previously spooled print job, and wherein the step of signaling further comprises: providing the previously spooled print job to the first process.

16. The computer program product of claim 12 wherein the step of synchronization further comprises:

returning a signal from the second process to the first process indicating detection of an event indicated in the synchronization and control information as related to the first process.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED ON REEL 037593 FRAME 0641. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME TO AN ASSIGNMENT. Recorded Feb 22, 2016
From: RICOH PRODUCTION PRINT
To: RICOH COMPANY, LTD.
Reel/Frame 037868/0632 →
CHANGE OF NAME Recorded Jan 26, 2016
From: RICOH PRODUCTION PRINT
To: RICOH COMPANY, LTD.
Reel/Frame 037593/0641 →
CHANGE OF NAME Recorded Jan 26, 2016
From: INFORPRINT SOLUTIONS COMPANY, LLC
To: RICOH PRODUCTION PRINT SOLUTIONS LLC
Reel/Frame 037593/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2007
From: INTERNATIONAL BUSINESS MACHINES CORPORATION, A NEW YORK CORPORATION; IBM PRINTING SYSTEMS, INC., A DELAWARE CORPORATION
To: INFOPRINT SOLUTIONS COMPANY, LLC, A DELAWARE CORPORATION
Reel/Frame 019649/0875 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2006
From: CARNEY, DENNIS M.; HREN, ALLAN A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 017634/0680 →