Printer
US-2015347877-A1 · Dec 3, 2015 · US
US9792537B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9792537-B2 |
| Application number | US-201514674368-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 31, 2015 |
| Priority date | Mar 31, 2015 |
| Publication date | Oct 17, 2017 |
| Grant date | Oct 17, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The disclosure is directed towards a system and method for using a multicore processor to process a printer definition language (PDL). The system improves efficiency by supporting parallel processing of many commonly used PDLs, while also supporting serial processing of many legacy PDLs. When processing a PDL, the system relies on several stages, including a parsing stage, a printer drawings services stage, and a graphic services stage, which includes order generation. The system provides flexibility by permitting function calls of common PDLs to be either asynchronous requests or blocking synchronous requests. Because legacy PDLs are executed serially, legacy PDL requests are considered to be blocking synchronous requests. The system provides a level of abstraction at the PDL level by allowing multiple requests to be combined into a compound asynchronous request. The system also improves accuracy by notifying the original caller of a request about an error during error handling.
Opening claim text (preview).
The invention claimed is: 1. A method comprising: processing, at a first processing core of a multicore processor, a first portion of a printer definition language (PDL) during a first PDL processing stage, wherein the first PDL processing stage comprises a parsing stage; generating, at the first processing core, one or more printer drawing services requests from the first portion of the PDL for a second PDL processing stage, wherein the second PDL processing stage comprises a printer drawing services stage; when a second processing core of the multicore processor is busy, adding the one or more printer drawing services requests to a dedicated second PDL processing stage queue; when the second processing core of the multicore processor is available, processing, at the second processing core of the multicore processor, the one or more printer drawing services requests from the first portion of the PDL for the second PDL processing stage during the second PDL processing stage; after the second processing core of the multicore processor processes at least a processed portion of the one or more printer drawing services requests from the first portion of the PDL for a second PDL processing stage, removing the processed portion of the one or more printer drawing services requests from the first portion of the PDL for the second PDL processing stage from the dedicated second PDL processing stage queue; processing, at the first processing core, a second portion of the PDL during the first PDL processing stage when the first PDL processing stage is available; and controlling a printing device based on the processed portions of the PDL. 2. The method of claim 1 further comprising: processing, at the first processing core, the second portion of the PDL during the first PDL processing stage after the first PDL processing stage of the first portion of the PDL is complete; and generating one or more printer drawing services requests from the second portion of the PDL for a second PDL processing stage. 3. The method of claim 2 , wherein the first PDL processing stage of the second portion of the PDL executes at the first processing core concurrently with the second PDL processing stage of the first portion of the PDL. 4. The method of claim 3 further comprising: generating one or more graphics services requests from the first portion of the PDL for a third PDL processing stage, wherein the third PDL processing stage comprises a graphics services stage; processing, at a third processing core of the multicore processor, the one or more graphics services requests from the first portion of the PDL for the third PDL processing stage during the third PDL processing stage; and processing, at the second processing core, the one or more printer drawing services requests from the second portion of the PDL for the second PDL processing stage during the second PDL processing stage after the second PDL processing stage for the first portion of the PDL is complete. 5. The method of claim 4 further comprising: adding the one or more graphics services requests from the first portion of the PDL for the third PDL processing stage to a dedicated third PDL processing stage queue; adding the one or more printer drawing services requests from the second portion of the PDL for the second PDL processing stage to the dedicated second PDL processing stage queue; removing at least a portion of the one or more graphics services requests from the first portion of the PDL for the third PDL processing stage from the dedicated third PDL processing stage queue when the third PDL processing stage is available; and removing at least a portion of the one or more printer drawing services requests from the second portion of the PDL for the second PDL processing stage from the dedicated second PDL processing stage queue when the second PDL processing stage is available. 6. The method of claim 5 , wherein the PDL is the only active PDL during the first, second, and third PDL processing stages. 7. The method of claim 6 further comprising: completing all PDL processing stages of the active PDL at the first, second, and third processing cores; upon completion of the PDL processing stages of the no longer active PDL, receiving a second PDL, wherein the second PDL is active; executing the first PDL processing stage for the second PDL; upon completion of the first PDL processing stage, executing the second PDL processing stage for the second PDL; and upon completion of the second PDL processing stage, executing the third PDL processing stage for the second PDL.
involving parallel processing in the same printing apparatus · CPC title
Handling exceptions, e.g. faults (computer driven error handling and recovery for a printer G06F3/1234) · CPC title
Receiving print data characterized by its formatting, e.g. particular page description languages · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.