Ex Parte Claiborne et alDownload PDFPatent Trial and Appeal BoardOct 31, 201311602616 (P.T.A.B. Oct. 31, 2013) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE __________ BEFORE THE PATENT TRIAL AND APPEAL BOARD __________ Ex parte STEVE CLAIBORNE and KRISTOFER E. METZ __________ Appeal 2011-009679 Application 11/602,616 Technology Center 2600 __________ Before TONI R. SCHEINER, LORA M. GREEN, and ULRIKE W. JENKS, Administrative Patent Judges. SCHEINER, Administrative Patent Judge. DECISION ON APPEAL This is an appeal1 under 35 U.S.C. § 134 from the final rejection of claims 1-23, directed to printing system, printer driver, and method of processing a print job. The claims have been rejected on the grounds of anticipation and obviousness. We have jurisdiction under 35 U.S.C. § 6(b). We affirm-in-part. 1 Appellants identify the Real Party-In-Interest as Hewlett-Packard Development Company, LP (App. Br. 2). Appeal 2011-009679 Application 11/602,616 2 STATEMENT OF THE CASE The Specification teaches that “most printing systems process a print job with a printer driver on a host computer that converts a file, representing the image to be printed, into a PDL [page description language] format for transmission to a printer” (Spec. ¶ 11). “The printer then completes the rendering of the print job including rasterizing the image data before printing the desired hardcopy document” (id.). Nevertheless, according to the Specification, “it is possible for more or all of the rendering of the print job to be performed on the host computer rather than by the printer” (id. at ¶12). “[I]n some cases, due to the nature of the print job, the rendering process is more efficient if performed on the host computer rather than by the printer. . . . Sometimes the rendering is most efficiently performed by the dedicated hardware and firmware of the printer” (id.). The present specification describes methods and systems that dynamically optimize printing by analyzing the printing system configuration and print job attributes to determine where rendering can be performed most efficiently and then performing the rendering of the image data at that optimal location or with that optimal part of the printing system. (Id. at ¶ 15.) Claims 1-23 are pending and on appeal. Representative claims 1, 3, 5, and 8 are reproduced below: 1. A printing system for processing a print job comprising; a host computer; and a printer in communication with said host computer; wherein said host computer comprises a printer driver that determines whether each print job unit can be more efficiently rendered on said host computer or on said printer and processes said print job accordingly. Appeal 2011-009679 Application 11/602,616 3 3. The system of claim 1, wherein said printer driver determines whether each print job unit can be more rapidly rendered on said host computer or on said printer. 5. The system of claim 1, wherein said printer driver determines whether said print job unit is more efficiently rendered on said host computer or on said printer based on at least one of (1) printer hardware configuration; (2) host computer hardware configuration; (3) a current application on said host computer; (4) content of the print job unit; (5) any applicable user input; (6) connection bandwidth between the host computer and printer; (7) whether the host computer and printer are connected directly or by a network and whether any part of the connection is wireless; and (8) whether the printer is shared by other host computers or is dedicated to said host. 8. A method of processing a print job comprising determining whether each step in rendering a print job unit of said print job can be more rapidly completed on a host computer or on a printer, and rendering said print job accordingly. The Examiner relies on the following evidence: Lee US 5,933,586 Aug. 3, 1999 Brown, III et al. US 5,960,166 Sept. 28, 1999 Kim US 6,373,586 B1 Apr. 16, 2002 Ferlitsch US 2004/0061892 A1 Apr. 1, 2004 In addition, the Examiner relies on paragraphs 2-4 of the Specification as “Applicant’s Admitted Prior Art” (hereinafter “AAPA”). The claims stand rejected as follows: I. Claims 1, 4, 5, 8-10, 13, 17, and 19 under 35 U.S.C. § 102(b) as anticipated by Lee (Ans. 3-6). II. Claim 3 under 35 U.S.C. § 103(a) as unpatentable over Lee and AAPA (Ans. 6-7). III. Claims 2, 7, 12, 18, and 23 under 35 U.S.C. § 103(a) as unpatentable over Lee and Ferlitsch (Ans. 7-9). Appeal 2011-009679 Application 11/602,616 4 IV. Claim 11 under 35 U.S.C. § 103(a) as unpatentable over Lee, AAPA, and Ferlitsch (Ans. 10-11). V. Claims 6, 15, 16, 21, and 22 under 35 U.S.C. § 103(a) as unpatentable over Lee and Kim (Ans. 11-12). VI. Claims 14 and 20 under 35 U.S.C. § 103(a) as unpatentable over Lee and Brown (Ans. 13-14). FINDINGS OF FACT The following findings of fact are supported by a preponderance of the evidence of record. 1. According to the Specification, [T]he process of “rendering” a print job comprises the various language or format conversions that are performed on a print job data set before that data is ready for use by the print engine and print engine controller that will produce the desired hardcopy document. Consequently, “rendering” includes converting an application file or other data into a PDL- formatted print job; converting the PDL data through any number of additional intermediate language or format conversions, for example a display list; and rasterizing the print job data. (Spec. ¶ 10.) 2. The Specification discloses a hybrid printer driver: [T]he hybrid printer driver (114) receives data representing the document to be printed, whether from an application file or other source. However, rather than simply converting the data into a PDL format, the hybrid printer driver (114) will execute an imaging algorithm (115). This imaging algorithm (115) will make a determination . . . whether the print job, or a portion thereof, is most efficiently rendered by the host (112) rather than the printer (110). (Spec. ¶ 34.) Appeal 2011-009679 Application 11/602,616 5 The hybrid printer driver (114) also includes a rendering function (116) that can be invoked to render parts or all of a print job if the host computer (112) can do so more efficiently than can the printer (110). The rendering function (116) can be programmed to handle different portions of the print job rendering process as best suits a particular application. For example, the rendering function (116) may be capable of rasterizing a print job, including converting the print job from a PDL format through any intermediate steps to a rasterized data set, for use directly by the print engine controller (104) of the printer (110). In other examples, the rendering function (116) may perform only one or some of the rendering steps traditionally performed by the printer (110), such as converting a PDL format print job into a display list, leaving rasterization to occur in the printer (110). (Spec. ¶36.) 3. In addition, the Specification discloses: [F]or any given print job, a page of a print job or a strip of a print job page, it may be more efficient to render the data with either the host computer’s resources or the printer's resources. Efficient in this context refers to rendering time, i.e., will the host computer’s resources or the printer’s resources be able to render the data in less time. Rendering time will be effected by two things: (1) processor operations (e.g. processor speed, memory access, calculations, data manipulation, etc.) and (2) memory availability, e.g., Random Access Memory (RAM). When memory is scarce, the rendering time of the page will be significantly increased. . . . The host typically has more powerful processors and almost always has orders of magnitude more memory. Consequently, the host may frequently be the more efficient system for rendering. However, this is not always so. Consequently, when a print job is to be printed (determination 200), the rendering of that print job can be optimized by the job, by the page or by the strip by determining whether the host or the printer can render that job, page or strip more efficiently, i.e., more rapidly. (Spec. ¶ 39 (emphasis added).) Appeal 2011-009679 Application 11/602,616 6 4. The Specification further discloses that: [P]rinting systems can experience significant performance degradation if an application utilizes unsupported or complex graphic primitives. . . . Other performance issues arise because of the memory requirements of the print job and/or the available memory on the printing device. Low memory conditions on the printing device can slow a print job significantly, so the Hybrid driver will analyze the memory requirements of the job and the [memory] available on the device and make rendering decisions based upon this analysis. Other applications simply generate poorly constructed graphics which result in inefficient rendering at the printer when the print job is transmitted. This situation has arisen, for example, with applications written for one platform that are then ported to another platform without full consideration of printing performance. Therefore, the resulting print job for a file originating with the ported application does not print efficiently. However, even some applications running on the platform for which they were written may still generate poorly constructed graphics that are difficult for a printer to render. (Spec. ¶¶ 13, 14 (emphasis added).) 5. According to the Specification: As used herein and in the appended claims, the term “print job unit” will be used to refer generically to a print job or a portion of a print job for which a determination is made whether rendering is more efficient on the host computer or the associated printer. As such, “print job unit” may refer to an entire print job, a page of a print job, a strip of a print job or other portion of a print job. (Spec. ¶ 40.) 6. Lee teaches that the time for transmitting data code from a host computer to a printer “will increase so much as the excessive quantity of the data code” (Lee, col. 5, ll. 6-8), and discloses a method of processing a print job which avoids “the problems of increasing the manufacturing cost and the Appeal 2011-009679 Application 11/602,616 7 data transmission time” when the amount of data code for the print job exceeds the memory storage capacity of the printer (id. at col. 5, ll. 9-11). 7. Lee’s method comprises [C]onverting printing data in a printer driver by converting printing data into a data code and comparing a quantity of the data code with the storage capacity of a memory prepared in a printer. If the quantity of the data code exceeds the storage capacity of the memory, then the data code is converted into bit map data that can be processed at a print engine of the printer. If the quantity of the data code does not exceed the storage capacity of the memory, then the data code is transmitted to the printer. If the quantity of the data code exceeds the storage capacity of the memory, then the bit map data is transmitted to the printer. (Lee, col. 2, ll. 45-55.) 8. Ferlitsch discloses a system for sharing rasterization tasks among several print system devices: The rasterization load can be balanced between the client and printer by, e.g., having the client rasterize every other page in the print job and send the print job to the printer in a mixed format, with some pages in raster format and some pages in PDL format. The printer rasterizes the remaining pages as it receives them in the print job, and thus the rasterization load is halved on both devices. The client and the printer rasterize the print job in what can be viewed as a serial or pipeline approach, where each touches a part of the print job as it passes through. Once the “pipeline” is filled, the efficiency of this approach is in all likelihood much better than the efficiency of a parallel scatter-gather approach, and requires fewer processing and storage resources to accomplish. (Ferlitsch ¶ 5.) Appeal 2011-009679 Application 11/602,616 8 ANTICIPATION I. Claim 1 The Examiner finds that Lee discloses a system for processing a print job comprising, in relevant part, a host computer, a printer driver on the host computer, and a printer (Ans. 3). The Examiner finds that Lee’s printer driver determines whether the printer has sufficient memory for the data code for a given print job; if so, the data code is transmitted to the printer for rendering, if not, the data code is converted to a bitmap (i.e., rendered) by the host computer, and the bitmap is transmitted to the printer instead (id. at 4). The Examiner further finds that “the reason . . . is to decrease the cost and data transmission time requirements, where the data transmission time requirement at least affects the efficiency of rendering of print data” (id.). Appellants contend that claim 1, which recites determining “whether each print job unit can be more efficiently rendered” on a host computer or on a printer, “must be understood as reciting a printing system in which a printer driver determines whether each portion of a print job can be rendered more quickly by the host computer or the printer and then processes the print job accordingly” (App. Br. 9-10). Appellants contend that: Rather than assessing efficiency, i.e., will the host computer’s resources or the printer’s resources be able to render the data in less time . . . . Lee merely teaches comparing total printer memory size to the quantity of data code in the print job. Rendering is thus driven, not by a consideration of efficiency or where the data can be rendered more quickly, but merely by whether the print job exceeds the size of the printer’s memory. There may well be cases where, even if the print job exceeds the size of the printer’s memory, the printer may still be the Appeal 2011-009679 Application 11/602,616 9 faster and more efficient device for rendering the print job in blocks matching the size of the printer's memory. (App. Br. 10.) We agree with Appellants that interpreting the claim language “more efficiently” as encompassing “more quickly” is consistent with the way the term “efficiently” is used in the Specification (see FFs 3, 4), although we note that the term is broader, as it also encompasses, e.g., elements of print quality (see FF4). Additionally, we note that claim 1 requires determining whether “each print job unit” (rather than “each portion of a print job”) can be more efficiently rendered on the host computer or the printer. Inasmuch as a “print job unit” can be the entire print job (FF5), we do not agree that the claim requires making a determination for “each portion of a print job.” (App. Br. 9.) In any case, we do not agree that interpreting “more efficiently” as encompassing “more quickly” distinguishes the printing system of claim 1 from Lee’s printing system. Lee teaches that the purpose of determining the printer’s memory capacity and rendering a print job on the host computer or the printer accordingly, is to decrease transmission time and cost (FF6). Even accepting for the sake of argument that there may be instances where memory capacity is not the only factor affecting printing time, Appellants’ Specification teaches that memory availability is a principle factor in printing speed (“When memory is scarce, the rendering time of the page will be significantly increased.” (Spec. ¶ 39; FF3).) Moreover, as discussed above, we do not agree with Appellants that speed is the only attribute of efficiency as that term is used in the Specification. Appeal 2011-009679 Application 11/602,616 10 Accordingly, the rejection of claim 1 as anticipated by Lee is affirmed, as is the rejection of claim 4, which was not separately argued (see 37 C.F.R. § 41.37 (c)(1)(vii)). Claims 5 and 13 We agree with Appellants that the Examiner has not established that Lee’s printer driver makes any determinations “based on any of the criteria listed” (App. Br. 15) in claims 5 and 13. Accordingly, the rejection of claims 5 and 13 as anticipated by Lee is reversed. Claims 8 and 17 Claims 8 and 17 require determining whether “each step in rendering a print job unit” of a print job can be more rapidly completed on a host computer or on a printer. The Examiner has rejected claims 8 and 17 “for reasons similar to Claim[] 1” (Ans. 4), and further finds that Lee, in the Abstract, “discloses that rendering comprises converting printing code to data code, i.e., a single step” (id. at 21). Appellants contend that Lee “does not teach or suggest that, for ‘each step in rendering a print job’ (claim 8), a determination is made as to where that rendering step is to be performed. Rather, Lee only teaches one comparison of whether a quantity of data code with the storage capacity of the printer memory” (App. Br. 12). Similarly, Appellants contend that Lee “does not teach or suggest a printer driver that, for ‘each step in rendering a print job unit’ (claim 17), makes a determination is made [sic] as to where that rendering step is to be performed” (id. at 13). Appellants have the better position here. Lee discloses at least two steps in rendering a print job: (1) converting printing data into a data code, Appeal 2011-009679 Application 11/602,616 11 and (2) converting data code into bitmap data (FF7). Whether the conversion of data code into bitmap code occurs on the host computer or the printer, it is still a step in rendering the print job. Accordingly, the rejection of claims 8 and 17 as anticipated by Lee is reversed, as is the rejection of claims 9, 10, and 19, which depend from claims 8 and 17. OBVIOUSNESS II. Claim 3 stands rejected as unpatentable over Lee and the AAPA. Claim 3 depends from claim 1, and requires determining whether “each print job unit can be more rapidly rendered” on a host computer or a printer. Appellants contend that “Lee merely teaches determining whether an entire print job exceeds the size of a printer’s memory” (App. Br. 15), and “there is no teaching or suggestion in Lee of dividing a print job into smaller units and then determining whether each such unit can be more rapidly rendered on a host computer or printer” (id.). Nevertheless, as discussed above, Lee is directed to reducing the transmission time of a print job. Moreover, a “print job unit” can be the entire print job (FF5). Therefore, we do not agree that claim 3 requires dividing a print job into smaller units and then determining whether each such unit can be more rapidly rendered on a host computer or printer. The rejection of claim 3 as unpatentable over Lee and AAPA is affirmed. Appeal 2011-009679 Application 11/602,616 12 III. Claims 2, 7, 12, 18, and 23 stand rejected as unpatentable over Lee and Ferlitsch. Claim 2 depends from claim 1 and requires determining whether a fraction of an entire print job can be rendered more efficiently on a host computer or a printer. The Examiner acknowledges that Lee does not disclose this limitation. Claim 12 depends from claim 8, which requires determining whether each step in rendering a print job unit can be more rapidly completed on a host computer or on a printer. Claim 18 depends from claim 17, and also requires determining whether “each step in rendering a print job unit” of a print job can be more rapidly completed on a host computer or on a printer. Claim 23 is an independent claim that also requires determining whether “each step in rendering a print job unit” of a print job can be more rapidly completed on a host computer or on a printer. As discussed above, Lee does not disclose this limitation. For all of these claims, the Examiner turns to Ferlitsch as disclosing a “load balancing technique” where the host computer and the printer split the task of rendering a print job, and concludes that it would have been obvious for one of ordinary skill in the art “to modify Lee, as taught by Ferlitsch to provide wherein said print job unit comprises . . . a fraction of an entire print job . . . to allow portions of a print job to be rendered by a host and other portions . . . to be rendered by a printer” (Ans. 7). However, we agree with Appellants that Ferlitsch does not remedy these deficiencies because Ferlitsch “never teaches or suggests determining, for each fraction of an entire print job, whether that fraction of the print job Appeal 2011-009679 Application 11/602,616 13 can be more efficiently rendered by the printer or the host computer” (App. Br. 17). That is, Ferlitsch’s apportioning of a rendering step to the computer or the printer is intentionally arbitrary, and not based on considerations of memory capacity, time or any other aspect of efficiency for an individual step. Claim 7, however, stands on a different footing. Claim 7 depends from claim 1 (which we have determined is anticipated by Lee) and merely requires that the “print job unit is partially rendered on said host computer and partially rendered on said printer.” Here, we agree with the Examiner that it would have been obvious for one of ordinary skill in the art to use Ferlitsch’s load-balancing technique in Lee’s system when the system has determined that a print job unit exceeds the memory capacity of the printer. Accordingly, the rejection of claims 2, 7, 12, 18, and 23 as unpatentable over Lee and Ferlitsch is affirmed with respect to claim 7, and reversed with respect to claims 2, 12, 18, and 23. IV. Claim 11 stands rejected as unpatentable over Lee, AAPA, and Ferlitsch. Claim 11 requires converting a print job unit to a display list format on a host computer and transmitting the print job unit to a printer in display list format . Since claim 11 depends from claim 8, it also requires determining whether each step in rendering the print job unit can be more rapidly completed on the host computer or the printer. The Examiner finds that “AAPA discloses that typical print job processing includes conversion to an intermediate format and then finally to Appeal 2011-009679 Application 11/602,616 14 a rasterized format” (Ans. 10), while Lee teaches “that rasterization can occur at the host PC side . . . [thus] intermediate display list generating should also have occurred on the host PC side” (id.), and concludes that it would have been obvious to “convert[] said print job unit to a display list format on said host computer and transmitting said print job unit in display list format to said printer in order to process the print job in the fastest and most resource conscious way possible” (id. at 10-11). However, as discussed above, Lee does not disclose making a determination for each step of the rendering process, and neither the AAPA nor Ferlitsch remedies this deficiency, regardless of whether various rendering steps can be accomplished on the host computer. Accordingly, we will reverse this rejection. V. Claims 6, 15, 16, 21, and 22 stand rejected as unpatentable over Lee and Kim. Claim 6 depends from claim 1 and further requires “an imaging algorithm . . . that determines where to render each print job unit” that “can be selectively activated or deactivated by a user operating said host computer.” Claims 15 and 16 depend directly or indirectly from claim 8 and further require determining whether each step in a rendering job is more efficiently completed on the host computer or the printer based on one or more specific parameters. Claims 21 and 22 depend directly or indirectly from the printer driver of claim 17 (discussed above), and also require determining whether each Appeal 2011-009679 Application 11/602,616 15 step in a rendering job is more efficiently completed on the host computer or the printer based on one or more specific parameters. The Examiner finds that Kim discloses “a printer driver setup screen for a user to set or de-set printer driver options and features related to printing speed” (Ans. 11, 12), and concludes that it would have been obvious to modify Lee to provide “an imaging algorithm of said printer driver that determines where to render each print job unit [that] can be selectively activated or deactivated by a user operating said host computer” as “it is typical for many printer drivers to provide such options” (id. at 11). In addition, the Examiner concludes that it would have been obvious “to provide that the determination is based on at least one of (1) a current application on said host computer; and (2) and any applicable user input” (id. at 12). We will reverse this rejection. As discussed above, Lee does not disclose making an efficiency determination for each step of the rendering process, and Kim’s disclosure of printer driver setup screen does not remedy the underlying deficiency of Lee. VI. Claims 14 and 20 stand rejected as unpatentable over Lee and Brown. Claims 14 and 20 depend from claims 13 and 17, respectively. As we have already determined that Lee does not disclose all the limitations of claims 13 and 17, and Brown does not remedy this underlying deficiency, we will reverse this rejection as well. Appeal 2011-009679 Application 11/602,616 16 SUMMARY I. The rejection of claims 1, 4, 5, 8-10, 13, 17, and 19 as anticipated by Lee is affirmed with respect to claims 1 and 4, and reversed with respect to claims 5, 8-10, 13, 17, and 19. II. The rejection of claim 3 as unpatentable over Lee and AAPA is affirmed. III. The rejection of claims 2, 7, 12, 18, and 23 as unpatentable over Lee and Ferlitsch is affirmed with respect to claim 7, and reversed with respect to claims 2, 12, 18, and 23. IV. The rejection of claim 11 as unpatentable over Lee, AAPA, and Ferlitsch is reversed. V. The rejection of claims 6, 15, 16, 21, and 22 as unpatentable over Lee and Kim is reversed. VI. The rejection of claims 14 and 20 as unpatentable over Lee and Brown is reversed. TIME PERIOD FOR RESPONSE No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a). AFFIRMED-IN-PART cdc Copy with citationCopy as parenthetical citation