Multicore printer definition language processing

US9792537B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9792537-B2
Application numberUS-201514674368-A
CountryUS
Kind codeB2
Filing dateMar 31, 2015
Priority dateMar 31, 2015
Publication dateOct 17, 2017
Grant dateOct 17, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

  • G06K15/181Primary

    Receiving print data characterized by its formatting, e.g. particular page description languages · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9792537B2 cover?
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 se…
Who is the assignee on this patent?
Kyocera Document Solutions Inc
What technology area does this patent fall under?
Primary CPC classification G06K15/181. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 17 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).