DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
The following title is suggested:
AUTOMATED MANAGEMENT OF PARALLEL PRINTING TO A PLURALITY OF IMAGE FORMING APPARATUSES BASED ON PRINT JOB INFORMATION AND IMAGE FORMING APPARATUS INFORMATION.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1-3, 7-9, 12-14, 17, 19 and 20 is/are rejected under 35 U.S.C. 102(a1 and/or a2) as being anticipated by Ciocarlie (US Pub 2015/0244890).
Re claim 1: Ciocarlie discloses an image forming apparatus connected to a network and configured to manage parallel printing of a print job, said image forming apparatus including a processor that is programmed to perform the steps of:
retrieving a request to print the print job (e.g. the jobs are considered as a request to print documents at a printer, which is taught in ¶ [20].);
[0020] FIG. 1 is a block diagram of a print shop architecture 100 in an exemplary embodiment. Print shop architecture 100 receives incoming print jobs from one or more customers, processes the print data for these received jobs, and generates printed output. For example, print shop architecture 100 may be utilized to print books, magazines, credit card statements, etc. Print shop architecture 100 has been enhanced to group printers into pools, and to present each printer pool as a virtual printer. Print shop architecture 100 splits multi-copy print jobs that are received at a virtual printer for a printer pool. Specifically, a multi-copy print job is split into child jobs that each request a subset of the total number of requested copies, and the child jobs may be distributed across the printers in the pool. This means that the copies for an incoming job can be printed quickly and efficiently across multiple printers at once.
determining a network availability of one or more other image forming apparatuses connected to the network (e.g. the system determines if a printer is available from a pool of printers connected to the network, which is taught in ¶ [33] and [57].);
[0033] Because the virtual printer represents a printer pool, controller 124 determines that the print job is directed to multiple printers at once. Therefore, in step 206, controller 124 identifies which printers from the pool are available for printing the received job. In one embodiment, controller 124 compares settings for the print job to capabilities of each printer in the pool in order to determine which printers are capable of handling the print job.
[0057] Input/output or I/O devices 1006 (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled either directly or through intervening I/O controllers. Network adapter interfaces 1008 may also be integrated with the system to enable processing system 1000 to become coupled to other data processing systems or storage devices through intervening private or public networks. Modems, cable modems, IBM Channel attachments, SCSI, Fibre Channel, and Ethernet cards are just a few of the currently available types of network or host interface adapters. Display device interface 1010 may be integrated with the system to interface to one or more display devices, such as printing systems and screens for presentation of data generated by processor 1002.
generating a workplan for distributing the print job across a plurality of image forming apparatuses based on (1) print job information, including one or more of: the number of pages, the storage size, and a speed requirement assigned to the print job, and (2) image forming apparatus information, including one or more of: respective loads on, print speeds of, specific capabilities of, and failure rates of the plurality of image forming apparatuses (e.g. the print server determines a plan to distribute child jobs to one or more printers based on the number pages within the print job, the size of the job that can fit within the printer queue, the speed of the printer, the capabilities of the printers and the queue size of the printer, which is taught in ¶ [31]-[36] and [40]. In addition, if the queue of a printer is empty, this has no load and the job can be sent to this printer based on having no load, which is taught in ¶ [49].);
[0031] In step 202, interface 122 presents a pool of multiple physical printers as a virtual printer. Thus, the pool is treated by clients 110 as a single physical printer, even though the virtual printer represents an entire group of physical printers. In one embodiment, interface 122 presents each virtual printer as a separate Internet Protocol (IP) port. To client 110, each port appears to represent a single physical printer. In this manner, when a user desires to print via an entire pool of printers, there is no need for the user to manually split the print job. Instead, the user may select the virtual printer for the printer pool, and allow print server 120 to determine how to distribute copies of the print job among the printers of the pool.
[0032] In step 204, interface 122 receives a multi-copy print job directed to the virtual printer. In one embodiment, the print job may comprise Portable Document Format (PDF) print data, as well as a Job Definition Format (JDF) job ticket. The job ticket may request a number of copies for the print job/data, a type and orientation of print media, a preferred amount of DPI for the print job, etc.
[0033] Because the virtual printer represents a printer pool, controller 124 determines that the print job is directed to multiple printers at once. Therefore, in step 206, controller 124 identifies which printers from the pool are available for printing the received job. In one embodiment, controller 124 compares settings for the print job to capabilities of each printer in the pool in order to determine which printers are capable of handling the print job.
[0034] In step 208, controller 124 splits the print job into multiple child jobs. Splitting the print job into child jobs may comprise generating multiple new independent child jobs. For example, each child job may be created with a copy of print data from the original print job, as well as a modified job ticket that requests a smaller number of copies than the total number of copies requested for the originally received job.
[0035] Controller 124 may distribute the child jobs across any suitable number of printers in the pool that are available for printing the child jobs. Furthermore, controller 124 may decide a number of copies to send to each of the available printers based on the speed and queue size of the printers. For example, controller 124 may compare an estimated completion time for a single copy against a completion time for multiple copies at a single printer, and these completion times may also be compared to those of other printers. Based on such information, the child jobs may be distributed across the printers of pool 140 in order to optimize an expected completion time for the group of child jobs.
[0036] In step 210, controller 124 queues the child jobs at the available printers (e.g., by queuing one child job at each available printer). Each child job requests at least one copy, and the sum of the requested copies for the child jobs equals the number of copies originally indicated by the print job received in step 202. By adding the child jobs to the existing queues for the printers, the child jobs are sent out for printing without disrupting other printing operations at print server 120.
[0040] In another embodiment, controller 124 refrains from splitting a received print job into child jobs unless the received print job requests more than a threshold number of copies or pages (e.g., as defined by a user via a printer pool object or virtual printer). Such a process may be desirable when there is little or no time benefit to splitting the job across the entire printer pool.
[0049] FIG. 6 is a block diagram 600 illustrating child jobs 610 and 620, which are sent to individual printers of printer Pool 2 in an exemplary embodiment. In this example, the controller of print server 320 reviews the printer object for each available printer (A, D) to determine a printing speed of each printer. The controller further reviews a queue stored at print server 320 for each available printer. In this example, the queues are empty, and the printing speeds of the printers are different. Because printer D has four times the speed of printer A, the controller assigns four times the number of copies to printer D than to printer A.
dividing, according to the workplan, the print job into a plurality of constituent print jobs, each of which is to be printed by one of the plurality of image forming apparatuses (e.g. the copies of the print job are divided and distributed to the printers based on the different factors associated with the job and printers, which is taught in ¶ [20], [31]-[36], [40] and [49] above.); and
transmitting one of the plurality of constituent print jobs to one of the plurality of image forming apparatuses to be printed thereby (e.g. the system discloses the print server transmits the print job to a printer for output, which is taught in [20], [31]-[36], [40] and [49] above.).
Re claim 2: Ciocarlie discloses the image forming apparatus of claim 1, wherein the steps further include: printing another one of the plurality of constituent print jobs (e.g. the system discloses distributing a child job to another printer, which is taught in ¶ [20] above.).
Re claim 3: Ciocarlie discloses the image forming apparatus of claim 1, wherein the steps further include: transmitting another one of the plurality of constituent print jobs to another one of the plurality of image forming apparatuses to be printed thereby (e.g. the system discloses multiple printers that can receive a second or third copy of a job to another printer, which is taught in [20], [31]-[36], [40] and [49] above.).
Re claim 7: Ciocarlie discloses the image forming apparatus of claim 1, wherein the steps further include: determining to generate the workplan based on one of: the number of pages of the print job being greater than a threshold, the storage size of the print job being greater than a threshold, and the speed requirement assigned to the print job being greater than a threshold (e.g. the system takes into consideration of the number of pages greater than a threshold, the speed of the printer or the queue size able to accommodate the job if empty, which is taught in ¶ [31]-[36], [40] and [49] above.).
Re claim 8: Ciocarlie discloses the image forming apparatus of claim 1, wherein the one of the plurality of constituent print jobs includes more pages than another one of the plurality of constituent print jobs (e.g. the system can assign one copy to a printer while another printer can have multiple copies of the same job assigned, which is taught in ¶ [49] above.), and the steps further include:
assigning, in the workplan, the one of the plurality of constituent print jobs to the one of the plurality of image forming apparatuses based on the one of the plurality of image forming apparatuses having a smaller load than another one of the plurality of image forming apparatuses (e.g. the system assigns a job to a printer with an empty queue of jobs than the printer with jobs in the queue. This is considered as having a smaller load than the printer with jobs in the queue being printed. This is taught in ¶ [31]-[36], [40] and [49] above.); and
assigning, in the workplan, the other one of the plurality of constituent print jobs to the other one of the plurality of image forming apparatuses (e.g. another copy of the job can be assigned to other printers in the pool that can process the print job for output, which is taught in [20], [31]-[36], [40] and [49] above.).
Re claim 9: Ciocarlie discloses the image forming apparatus of claim 1, wherein the one of the plurality of constituent print jobs includes more pages than another one of the plurality of constituent print jobs (e.g. the system can assign one copy to a printer while another printer can have multiple copies of the same job assigned, which is taught in ¶ [49] above.), and the steps further include:
assigning, in the workplan, the one of the plurality of constituent print jobs to the one of the plurality of image forming apparatuses based on the one of the plurality of image forming apparatuses having a higher print speed than another one of the plurality of image forming apparatuses (e.g. the system determines a printer with a higher print speed than another printer. The printer with the higher print speed is assigned one or more jobs to perform the print output, which is taught in ¶ [31]-[36], [40] and [49] above.); and
assigning, in the workplan, the other one of the plurality of constituent print jobs to the other one of the plurality of image forming apparatuses (e.g. the other job that is not passed to the higher speed printer is sent to another printer, which is taught in ¶ [31]-[36], [40] and [49] above.).
Re claim 12: Ciocarlie discloses a parallel printing management method for an image forming apparatus connected to a network, to manage parallel printing of a print job, the parallel printing management method comprising:
retrieving a request to print the print job (e.g. the jobs are considered as a request to print documents at a printer, which is taught in ¶ [20] above.);
determining a network availability of one or more other image forming apparatuses connected to the network (e.g. the system determines if a printer is available from a pool of printers connected to the network, which is taught in ¶ [33] and [57] above.);
generating a workplan for distributing the print job across a plurality of image forming apparatuses based on (1) print job information, including one or more of: the number of pages, the storage size, and a speed requirement assigned to the print job, and (2) image forming apparatus information, including one or more of: respective loads on, print speeds of, specific capabilities of, and failure rates of the plurality of image forming apparatuses (e.g. the print server determines a plan to distribute child jobs to one or more printers based on the number pages within the print job, the size of the job that can fit within the printer queue, the speed of the printer, the capabilities of the printers and the queue size of the printer, which is taught in ¶ [31]-[36] and [40] above. In addition, if the queue of a printer is empty, this has no load and the job can be sent to this printer based on having no load, which is taught in ¶ [49] above.);
dividing, according to the workplan, the print job into a plurality of constituent print jobs, each of which is to be printed by one of the plurality of image forming apparatuses (e.g. the copies of the print job are divided and distributed to the printers based on the different factors associated with the job and printers, which is taught in ¶ [20], [31]-[36], [40] and [49] above.); and
transmitting one of the plurality of constituent print jobs to one of the plurality of image forming apparatuses to be printed thereby (e.g. the system discloses the print server transmits the print job to a printer for output, which is taught in [20], [31]-[36], [40] and [49] above.).
Re claim 13: Ciocarlie discloses the parallel printing management method of claim 12, further comprising: printing another one of the plurality of constituent print jobs (e.g. the system discloses distributing a child job to another printer, which is taught in ¶ [20] above.).
Re claim 14: Ciocarlie discloses the parallel printing management method of claim 12, further comprising: transmitting another one of the plurality of constituent print jobs to another one of the plurality of image forming apparatuses to be printed thereby (e.g. the system discloses multiple printers that can receive a second or third copy of a job to another printer, which is taught in [20], [31]-[36], [40] and [49] above.).
Re claim 17: Ciocarlie discloses a non-transitory computer-readable medium comprising instructions that are executable in an image forming apparatus connected to a network, wherein the instructions when executed cause the image forming apparatus to carry out a parallel printing management method to manage parallel printing of a print job, and wherein the parallel printing management method comprises:
retrieving a request to print the print job (e.g. the jobs are considered as a request to print documents at a printer, which is taught in ¶ [20] above.);
determining a network availability of one or more other image forming apparatuses connected to the network (e.g. the system determines if a printer is available from a pool of printers connected to the network, which is taught in ¶ [33] and [57] above.);
generating a workplan for distributing the print job across a plurality of image forming apparatuses based on (1) print job information, including one or more of: the number of pages, the storage size, and a speed requirement assigned to the print job, and (2) image forming apparatus information, including one or more of: respective loads on, print speeds of, specific capabilities of, and failure rates of the plurality of image forming apparatuses (e.g. the print server determines a plan to distribute child jobs to one or more printers based on the number pages within the print job, the size of the job that can fit within the printer queue, the speed of the printer, the capabilities of the printers and the queue size of the printer, which is taught in ¶ [31]-[36] and [40] above. In addition, if the queue of a printer is empty, this has no load and the job can be sent to this printer based on having no load, which is taught in ¶ [49] above.);
dividing, according to the workplan, the print job into a plurality of constituent print jobs, each of which is to be printed by one of the plurality of image forming apparatuses (e.g. the copies of the print job are divided and distributed to the printers based on the different factors associated with the job and printers, which is taught in ¶ [20], [31]-[36], [40] and [49] above.); and
transmitting one of the plurality of constituent print jobs to one of the plurality of image forming apparatuses to be printed thereby (e.g. the system discloses the print server transmits the print job to a printer for output, which is taught in [20], [31]-[36], [40] and [49] above.).
Re claim 19: Ciocarlie discloses the non-transitory computer-readable medium of claim 17, wherein the parallel printing management method further comprises:
determining to generate the workplan based on one of: the number of pages of the print job being greater than a threshold, the storage size of the print job being greater than a threshold, and the speed requirement assigned to the print job being greater than a threshold (e.g. the system takes into consideration of the number of pages greater than a threshold, the speed of the printer or the queue size able to accommodate the job if empty, which is taught in ¶ [31]-[36], [40] and [49] above.).
Re claim 20: Ciocarlie discloses the non-transitory computer-readable medium of claim 17, wherein the one of the plurality of constituent print jobs includes more pages than another one of the plurality of constituent print jobs (e.g. the system can assign one copy to a printer while another printer can have multiple copies of the same job assigned, which is taught in ¶ [49] above.), and the parallel printing management method further comprises:
assigning, in the workplan, the one of the plurality of constituent print jobs to the one of the plurality of image forming apparatuses based on the one of the plurality of image forming apparatuses having a smaller load than another one of the plurality of image forming apparatuses (e.g. the system assigns a job to a printer with an empty queue of jobs than the printer with jobs in the queue. This is considered as having a smaller load than the printer with jobs in the queue being printed. This is taught in ¶ [31]-[36], [40] and [49] above.); and
assigning, in the workplan, the other one of the plurality of constituent print jobs to the other one of the plurality of image forming apparatuses (e.g. another copy of the job can be assigned to other printers in the pool that can process the print job for output, which is taught in [20], [31]-[36], [40] and [49] above.).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 4 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ciocarlie in view of Caliendo (US Pub 2021/0064303).
Re claim 4: However, Ciocarlie fails to specifically teach the features of the image forming apparatus of claim 1, wherein the steps further include: generating the workplan with an artificial neural network (ANN) by inputting the print job information and the image forming apparatus information into the ANN, wherein the ANN generates one or more outputs indicating the workplan by performing operations in and between layers of the ANN based on inputs of the print job information and the image forming apparatus information.
However, this is well known in the art as evidenced by Caliendo. Similar to the primary reference, Caliendo discloses using AI to determine where to route a job (same field of endeavor or reasonably pertinent to the problem).
Caliendo discloses wherein the steps further include: generating the workplan with an artificial neural network (ANN) by inputting the print job information and the image forming apparatus information into the ANN, wherein the ANN generates one or more outputs indicating the workplan by performing operations in and between layers of the ANN based on inputs of the print job information and the image forming apparatus information (e.g. the MFP can include a machine learning model that includes the input of the print job information along with the printer media settings, which is considered as MFP information. The machine learning model takes these inputs and can make a decision as to whether or not a job can be performed by the printer. If the printer determines that a job cannot be performed, the printer can send a workplan to the client to re-route the print job to another printer. This is taught in ¶ [121]-[124], [126]
and [127].).
[0121] As an example, a printer system may be a “smart” printer system that utilized one or more machine learning (e.g., artificial intelligence) techniques to determine what type of medium or media are loaded therein. A smart printer system may utilize one or more types of inspection circuitry to provide measurements where such measurements may be repeated numerous times responsive to processing stacks of sheets for numerous print jobs. For example, consider a printer system that processes a box of 10 reams of 20 lb sheets of paper with 500 sheets per ream. Such a printer system would collect approximately 5,000 measurements or sets of measurements, which can provide for training (e.g., learning, statistics, etc.). In such an example, a portion of the sheets may be utilized for testing, which may further hone weights of a machine learning model. As an example, 5,000 sheets may be available at a cost of approximately $60, which may be sacrificed for purposes of training a machine learning model of a printer system such that the printer system can utilize the trained machine model to make determinations down the road as to one or more types of media loaded in the printer system. As an example, a machine learning model may be trained using data from a plurality of printer systems where the trained machine learning model may be distributed to individual printer systems for use.
[0122] As an example, a specialized stack of medium may be utilized for training a machine learning model of a printer system and/or for building a database (e.g., look-up-table, etc.) in a printer system. For example, consider a training stack with three or more types of media where each is included in different portions of the training stack and optionally in instances of combinations (e.g., XYXZYX, etc.) to understand how one or more measurements may vary depending on the type of media and/or stacking order. As an example, a training stack can include printer paper, glossy photograph quality paper, pre-printed forms and labels. Such a training stack may include more than 10 sheets, more than 20 sheets, more than 30 sheets, etc. As an example, consider a training stack with 100 sheets or more. As an example, a training stack may be loaded and processed by a printer system periodically such that the printer system is up-to-date with respect to wear of components, changes in media, etc. As an example, a method can include processing a training stack to train a printer system and then operating the printer system in a manner that can determine that a match does not exist between a print job to be printed on a transportable medium and a characterized transportable medium loaded in the printer system. In such an example, the characterized transportable medium can be characterized at least in part via one or more trained models (e.g., functions, neural networks, vector machines, look-up-tables, databases, etc.).
[0123] As an example, a printer system can include machine learning to generate a trained machine model that can be utilized with respect to forms. For example, a printer system can include one or more types of sensors that can inspect media where the media may be matched to one or more aspects of a print job. For example, consider a print job being sent only once, which may indicate that a match existed between the print job and a loaded medium. In contrast, where a print job prints on an incorrect medium, the print job may be resent after a delay, which may be a delay that involves loading a proper medium. In such an example, the printer system can include circuitry to detect an action taken with respect to a tray (e.g., pullout tray, feeder, etc.) and retransmission of a print job. As to determining whether a print job is the same, an analysis may indicate that the print job is the same (resent), while it may have a new ID. For example, an analysis that determines a same size, same information as to commands, the same source, etc. As an example, a printer system can include a machine learning model that can be trained using such information as to actions being taken at the printer system whereby a trained machine model can determine whether a print job and loaded media match (or not).
[0124] As an example, a machine model can be a neural network, which may include multiple inputs and one or more outputs. In such an example, the machine model may be a machine learning model that can be trained using experiences from one or more printer systems as to media and/or print jobs. As an example, training may be centralized and/or distributed. For example, training may be particular to a particular printer system and/or training may be general as to a number of different printer systems (e.g., in a network, standalone, etc.).
[0126] As an example, a print job can be a file or set of files that specify what is to be printed. As an example, a print job may be identified by a unique number, and may be assigned to a particular destination, such as an address of a printer system on a network. As an example, a print job may include one or more options specified such as medium/media size, number of copies, priority, etc. As an example, print jobs may be transmitted to a print server, for example, prior to being directed to a printing destination (e.g., a particular printer system or printer systems). As an example, a printer system may include local storage that can be utilized to process and queue print jobs prior to executing one or more of the print jobs. As an example, a printer system may include circuitry that can determine that a print job is not suitable for local printing and that communicates the print job to a print server, to the device that generated the print job, to another printer system, etc., in an effort to cause proper execution of the print job.
[0127] In the example of FIG. 7, the device 711 may communicate a print job to the printer system 702 via the one or more networks 705. In response, the printer system 702 can determine whether a medium loaded for printing is appropriate for the print job. Where the medium loaded is not appropriate, the printer system 702 may take one or more actions such as issuing one or more signals, which may be local to cause action by the printer system 702 and/or which may be to one or more remote devices, systems, etc. For example, a signal may be a notification to the device 711 to send the print job elsewhere, which may come with a recommendation such as “printer system 702 has the proper medium loaded”. As to a local action, consider a signal that instructions the printer system 701 to purge the loaded medium and to utilize a loaded medium that is next in line (e.g., a subsequent member of a stack). As an example, where a print server is utilized, the signal may be directed to the print server to take one or more actions, such as re-routing the print job and, for example, sending a notification to the device 711 such as “your print job has been re-routed to the printer system 703 in room XYZ”. In such an example, the notification may include a reason for the re-routing (e.g., “media at printer system 701 is not appropriate for your print job”).
Therefore, in view of Caliendo, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of wherein the steps further include: generating the workplan with an artificial neural network (ANN) by inputting the print job information and the image forming apparatus information into the ANN, wherein the ANN generates one or more outputs indicating the workplan by performing operations in and between layers of the ANN based on inputs of the print job information and the image forming apparatus information, incorporated in the device of Ciocarlie, in order to utilize machine learning to determine a plan to distribute a job, which aids in proper execution of a print job by improving the printer’s ability to characterize media (as stated in Caliendo ¶ [126] and [132]).
Re claim 15: However, Ciocarlie fails to specifically teach the features of the parallel printing management method of claim 12, further comprising: generating the workplan with an artificial neural network (ANN) by inputting the print job information and the image forming apparatus information into the ANN, wherein the ANN generates one or more outputs indicating the workplan by performing operations in and between layers of the ANN based on inputs of the print job information and the image forming apparatus information.
However, this is well known in the art as evidenced by Caliendo. Similar to the primary reference, Caliendo discloses using AI to determine where to route a job (same field of endeavor or reasonably pertinent to the problem).
Caliendo discloses further comprising: generating the workplan with an artificial neural network (ANN) by inputting the print job information and the image forming apparatus information into the ANN, wherein the ANN generates one or more outputs indicating the workplan by performing operations in and between layers of the ANN based on inputs of the print job information and the image forming apparatus information (e.g. the MFP can include a machine learning model that includes the input of the print job information along with the printer media settings, which is considered as MFP information. The machine learning model takes these inputs and can make a decision as to whether or not a job can be performed by the printer. If the printer determines that a job cannot be performed, the printer can send a workplan to the client to re-route the print job to another printer. This is taught in ¶ [121]-[124], [126]
and [127] above.).
Therefore, in view of Caliendo, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of further comprising: generating the workplan with an artificial neural network (ANN) by inputting the print job information and the image forming apparatus information into the ANN, wherein the ANN generates one or more outputs indicating the workplan by performing operations in and between layers of the ANN based on inputs of the print job information and the image forming apparatus information, incorporated in the device of Ciocarlie, in order to utilize machine learning to determine a plan to distribute a job, which aids in proper execution of a print job by improving the printer’s ability to characterize media (as stated in Caliendo ¶ [126] and [132]).
Claim(s) 5, 10 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ciocarlie in view of Ferlitsch (US Pub 2004/0190042).
Re claim 5: Ciocarlie discloses the image forming apparatus of claim 1, wherein the steps further include:
the dividing of the print job and the transmitting of the one of the plurality of constituent print jobs (e.g. the copies of the print job are divided and distributed to the printers based on the different factors associated with the job and printers, which is taught in ¶ [20], [31]-[36], [40] and [49] above.).
However, Ciocarlie fails to specifically teach the features of displaying an option to use parallel printing on a touch screen, and then performing the following steps in response to detecting a selection of parallel printing made via the touch screen: the dividing of the print job.
However, this is well known in the art as evidenced by Ferlitsch. Similar to the primary reference, Ferlitsch discloses splitting a job among printers (same field of endeavor or reasonably pertinent to the problem).
Ferlitsch discloses displaying an option to use parallel printing on a touch screen, and then performing the following steps in response to detecting a selection of parallel printing made via the touch screen: the dividing of the print job (e.g. figure 10 shows am option that a job splitting option that splits a job in order to send the jobs to a plurality of printers to perform parallel printing. This is taught in ¶ [09] and [108].).
[0009] Another technique provides a hardware based cluster solution that is external to the printer. The solution includes a server computing device and a proprietary controller that provides RIP and copy splitting capabilities. Print jobs in a PDL format (non-RIP), such as Postcript and PCT, are sent to the RIP server. The RIP server has sufficient resources to RIP the print job at a rate equal to or faster that the printing speed of the printer. The RIP server can also be configured to divide the number of copies in a multiple-copy print job and send the RIP output to multiple printers in parallel for copy splitting. While the use of this RIP server allows printers to copy split a print job, RIP sheets once, and print at engine speed, causing this technique to be preferred over others, the versatility of the technique can still be limited.
[0108] In an alternate embodiment, the dialog for selecting cluster options may be presented by an application, background process, print processor, spooler, print assistant (i.e., any component not otherwise part of the print subsystem that is inserted into the printing process) or be pre-specified. FIG. 10 provides a representative example thereof.
Therefore, in view of Ferlitsch, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of displaying an option to use parallel printing on a touch screen, and then performing the following steps in response to detecting a selection of parallel printing made via the touch screen: the dividing of the print job, incorporated in the device of Ciocarlie, in order to allow for a displayed option to split a job among printers, which can improve versatility of the system (as stated in Ferlitsch ¶ [11]-14]).
Re claim 10: Ciocarlie discloses the image forming apparatus of claim 1, wherein the one of the plurality of constituent print jobs includes a specific requirement, which is one of color printing and duplex printing, wherein another one of the plurality of constituent print jobs does not include the specific requirement (e.g. print jobs can contain an indication of color printing while another job can contain monochrome printing for the output, which is taught in ¶ [46]-[49] and illustrated in figure 4.), and
[0046] Some of the information in memory describes one or more virtual printers 410. The virtual printers are visible to clients of print server 320, and as shown in FIG. 4, the virtual printers for Pool 1 and Pool 2 each correspond with multiple physical printers. Other information in memory describes one or more printer objects. Printer objects indicate the capabilities and/or contact information for a given physical printer within the print shop. For example, object 422 represents the capabilities of printer A, object 424 represents the capabilities of printer B, object 426 represents the capabilities of printer C, and object 428 represents the capabilities of printer D. Other capabilities may also be described by the print object, including whether a physical printer is punch capable or staple cable, what type of media is present in the input trays for a physical printer, etc.
[0047] Within FIG. 4, each virtual printer is linked in memory with one or more printer objects. For example, each virtual printer may include one or more pointers to individual printer objects, and may reference printer objects by name, memory address, etc.
[0048] Assume, for this example, that a client transmits a print job to print server 320, and that the print job is transmitted to the virtual printer for Pool 2. FIG. 5 is a block diagram 500 illustrating a print job 510 sent to the virtual printer for printer Pool 2 in an exemplary embodiment. Print job 510 includes Portable Document Format (PDF) print data 512, as well as a Job Definition Format (JDF) job ticket 514. Job ticket 514 indicates that fifty copies of print data 512 should be printed, and further indicates that print data 512 should be printed in color at 1200 DPI. Based on this information, a controller of print server 320 determines that printers A and D are available/eligible to print the job, while printer C is not. Thus, the controller of print server 320 decides to generate two child jobs (one for each available printer).
[0049] FIG. 6 is a block diagram 600 illustrating child jobs 610 and 620, which are sent to individual printers of printer Pool 2 in an exemplary embodiment. In this example, the controller of print server 320 reviews the printer object for each available printer (A, D) to determine a printing speed of each printer. The controller further reviews a queue stored at print server 320 for each available printer. In this example, the queues are empty, and the printing speeds of the printers are different. Because printer D has four times the speed of printer A, the controller assigns four times the number of copies to printer D than to printer A.
wherein the steps further include:
assigning, in the workplan, the one of the plurality of constituent print jobs to the one of the plurality of image forming apparatuses based on the one of the plurality of image forming apparatuses having a specific capability for performing the specific requirement (e.g. the invention discloses a printer receives the job that is assigned a color print job that can meet the conditions of printing in color. This is taught in ¶ [46]-[49] above.).
However, Ciocarlie fails to specifically teach the features of assigning, in the workplan, the other one of the plurality of constituent print jobs to another one of the plurality of image forming apparatuses that does not have the specific capability.
However, this is well known in the art as evidenced by Ferlitsch. Similar to the primary reference, Ferlitsch discloses splitting a job among printers (same field of endeavor or reasonably pertinent to the problem).
Ferlitsch discloses assigning, in the workplan, the other one of the plurality of constituent print jobs to another one of the plurality of image forming apparatuses that does not have the specific capability (e.g. the system discloses assigning a print job to a parent printer that does not contain the capability of the print job. However, the lead printer assigns the print job to an alternative printer with capabilities to perform the job, which is taught in ¶ [73]-[75].).
[0073] In another embodiment relates to the lead printing device is in an error or offline state. When a print job has been sent to a lead printing device that is in an error (e.g., paper jam) or offline state (e.g., set to offline on front panel), the lead printing device checks the status of the alternate printing devices (step 106). The lead printing device may then redirect the print job to an alternate printing device (step 116) under various conditions, such as to (i) an alternate printing device that is in a non-error/offline state, or (ii) an alternate printing device that is in a warning state (e.g., low toner),
[0074] Another embodiment relates to capabilities matching. When a print job has been sent to a lead printing device that does not have one or more capabilities required for rendering the print job (e.g., duplex, stapling), the lead printing device checks the capabilities of the alternate printing devices (step 106). The lead printing device may then redirect the print job (step 116) to an alternate printing device under various conditions, such as to (i) an alternate printing device that has capabilities required for the print job and wherein the entire print job is restarted, or (ii) an alternate printing device that has capabilities required for print job and wherein the unprinted portion of the print job is restarted.
[0075] Another embodiment relates to job failure. When a print job has been sent to a lead printing device that fails to complete the printing of the print job, such as when a paper jam occurs during the printing of the job, the lead printing device checks the status of the alternate devices (step 106). The lead printing device may then redirect all or part of the print job to an alternate printing device under various conditions, such as to an alternate printing device that is in a non-error/offline state.
Therefore, in view of Ferlitsch, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of assigning, in the workplan, the other one of the plurality of constituent print jobs to another one of the plurality of image forming apparatuses that does not have the specific capability, incorporated in the device of Ciocarlie, in order to allow for a displayed option to split a job among printers, which can improve versatility of the system (as stated in Ferlitsch ¶ [11]-14]).
Re claim 16. Ciocarlie discloses the parallel printing management method of claim 12, further comprising:
the dividing of the print job and the transmitting of the one of the plurality of constituent print jobs (e.g. the copies of the print job are divided and distributed to the printers based on the different factors associated with the job and printers, which is taught in ¶ [20], [31]-[36], [40] and [49] above.).
However, Ciocarlie fails to specifically teach the features of displaying an option to use parallel printing on a touch screen of the image forming apparatus, and then performing the following steps in response to detecting a selection of parallel printing made via the touch screen: the dividing of the print job.
However, this is well known in the art as evidenced by Ferlitsch. Similar to the primary reference, Ferlitsch discloses splitting a job among printers (same field of endeavor or reasonably pertinent to the problem).
Ferlitsch discloses displaying an option to use parallel printing on a touch screen of the image forming apparatus, and then performing the following steps in response to detecting a selection of parallel printing made via the touch screen: the dividing of the print job (e.g. figure 10 shows am option that a job splitting option that splits a job in order to send the jobs to a plurality of printers to perform parallel printing. This is taught in ¶ [09] and [108] above.).
Therefore, in view of Ferlitsch, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of displaying an option to use parallel printing on a touch screen of the image forming apparatus, and then performing the following steps in response to detecting a selection of parallel printing made via the touch screen: the dividing of the print job, incorporated in the device of Ciocarlie, in order to allow for a displayed option to split a job among printers, which can improve versatility of the system (as stated in Ferlitsch ¶ [11]-14]).
Claim(s) 6 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ciocarlie in view of Shima (US Pub 2004/0158654).
Re claim 6: However, Ciocarlie fails to specifically teach the features of the image forming apparatus of claim 1, wherein the steps further include: determining at least a subset of the image forming apparatus information by transmitting application programming interface (API) requests to one or more of the plurality of image forming apparatuses and then receiving the at least a subset of the image forming apparatus information from the one or more of the plurality of image forming apparatuses.
However, this is well known in the art as evidenced by Shima. Similar to the primary reference, Shima discloses a printer that sends jobs to other printers (same field of endeavor or reasonably pertinent to the problem).
Shima discloses wherein the steps further include: determining at least a subset of the image forming apparatus information by transmitting application programming interface (API) requests to one or more of the plurality of image forming apparatuses and then receiving the at least a subset of the image forming apparatus information from the one or more of the plurality of image forming apparatuses (e.g. the parent printer is used to transmit a request to child printers to perform the print job. The child printers send information about being a distribution destination back to the parent printer. This is taught in ¶ [151], [152] and [155].).
[0151] For convenience of explanation, the printer PRT1 that has received the print job from the client is referred to as `parent` or `root`. The printers PRT2 and PRT3 that have received distribution of the print job from the parent printer are referred to as `child`. The printers PRT4 through PRT6 that have received distribution of the print job from the child printer are referred to as `grandchild`. In the case of hierarchical distribution of the print job, it is required to avoid overlap distribution of a print job to the printer that has already received a distributed print job, for example, reverse distribution from the child to the parent as shown by an arrow Ra in FIG. 11 or redistribution between the children as shown by an arrow Rb. The procedure of the fourth embodiment adopts the technique discussed below to avoid such overlap distribution.
[0152] FIG. 12 shows a method of avoiding overlap distribution of print jobs. Each printer has the function of notifying a printer on the upper hierarchy of one or multiple printers that execute the received print job (hereafter referred to as `notice of distribution destination`). The printer on the upper hierarchy represents the printer that has sent the received print job. A parent printer that has originally received the print job from the client does not give the notice of distribution destination.
[0155] Successive transmission of the notice of destination distribution from the printer on the lowest hierarchy to the root enables the parent printer PRT1 to be informed of all the printers that have received distributions of the print job. The printer PRT1 creates a list of distribution destinations, based on the received information. As shown in FIG. 12, the list of distribution destinations may include information regarding the parent-child relation. Each printer receives a report on the number of printed copies from its direct child.
Therefore, in view of Shima, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of wherein the steps further include: determining at least a subset of the image forming apparatus information by transmitting application programming interface (API) requests to one or more of the plurality of image forming apparatuses and then receiving the at least a subset of the image forming apparatus information from the one or more of the plurality of image forming apparatuses, incorporated in the device of Ciocarlie, in order to determine the child printers that aid in printing with the parent printer, which can provide equal distribution of copies to shorten overall printing time (as stated in Shima ¶ [38]).
Re claim 18: However, Ciocarlie fails to specifically teach the features of the non-transitory computer-readable medium of claim 17, wherein the parallel printing management method further comprises: determining at least a subset of the image forming apparatus information by transmitting application programming interface (API) requests to one or more of the plurality of image forming apparatuses and then receiving the at least a subset of the image forming apparatus information from the one or more of the plurality of image forming apparatuses.
However, this is well known in the art as evidenced by Shima. Similar to the primary reference, Shima discloses a printer that sends jobs to other printers (same field of endeavor or reasonably pertinent to the problem).
Shima discloses wherein the parallel printing management method further comprises: determining at least a subset of the image forming apparatus information by transmitting application programming interface (API) requests to one or more of the plurality of image forming apparatuses and then receiving the at least a subset of the image forming apparatus information from the one or more of the plurality of image forming apparatuses (e.g. the parent printer is used to transmit a request to child printers to perform the print job. The child printers send information about being a distribution destination back to the parent printer. This is taught in ¶ [151], [152] and [155] above.).
Therefore, in view of Shima, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of wherein the parallel printing management method further comprises: determining at least a subset of the image forming apparatus information by transmitting application programming interface (API) requests to one or more of the plurality of image forming apparatuses and then receiving the at least a subset of the image forming apparatus information from the one or more of the plurality of image forming apparatuses, incorporated in the device of Ciocarlie, in order to determine the child printers that aid in printing with the parent printer, which can provide equal distribution of copies to shorten overall printing time (as stated in Shima ¶ [38]).
Claim(s) 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ciocarlie in view of Zhang (CN Pub 106446534 (Pub date: 2/22/2017)).
Re claim 11: However, Ciocarlie fails to specifically teach the features of the image forming apparatus of claim 1, wherein the steps further include: determining not to assign any of the plurality of constituent print jobs to one of the image forming apparatuses connected to the network based on the one of the image forming apparatuses connected to the network having a failure rate that is greater than a threshold.
However, this is well known in the art as evidenced by Zhang. Similar to the primary reference, Zhang discloses print priority in the system (same field of endeavor or reasonably pertinent to the problem).
Zhang discloses wherein the steps further include: determining not to assign any of the plurality of constituent print jobs to one of the image forming apparatuses connected to the network based on the one of the image forming apparatuses connected to the network having a failure rate that is greater than a threshold (e.g. the system determines if a failure rate reaches a preset failure threshold. If the printer reaches a failure threshold, this printer is blocked from being a destination for distribution of the print job. This is taught in ¶ [43]-[45].).
[0043] In the embodiment of the invention, the network printer keep task monitoring state, receiving the printing task, the ordering of the previous task is printed out.
[0044] Furthermore, the electrocardiogram printing management device is determined by the network printer print the diagnosed electrocardiogram examination report, also can firstly doing network connection judging, it is judged that network printer determined in step 103 whether the network connection is normal, if so, then transmitting the diagnosed electrocardiogram examination report of task to the printer, if not, then initiating a reconnection instruction after the execution of the network printer, again judging the network connection. judging by the network operation can ensure that the network printer determined in step 103 is the normal connection state can normally receive the printing task, the connected operation can avoid the signal interference or network disconnection due to noise and interference, it can automatically resume the connection state of the network printer, the print task for maintaining work burden.
[0045] Further, the determining step 103 determines that the network printer network connection is abnormal, can further judge whether the network connection failure times reaches the preset failure threshold, if the network connection failure times does not reach the failure threshold. continuing all task aiming at the network printer to the reconnection operation; if the network connection failure times reaches the failure threshold, then the network printer (is convenient for distinguishing, subsequent to the network printer is described as the network printer A) of the task list according to the task order. orderly distributing to the other network printer less current printing task, and the subsequent stop distribution print job to the network printer A (such as stopping the network printer A is determined as the network printer to be used), is further capable of sending alarm information to a network administrator to inform the network administrator of network printer A communication failure. by setting the failure threshold value, can be screened out because of network problems and interrupts the network printer, and other network printer of the off state of the temporary short-term recovery, after selecting the print task can be newly allocated, allocation mechanism following task quantity comparison principle, are assigned to the current task amount is small, which can effectively solve the problem that the network is disconnected and the print job accumulation and delay printing. In addition, timely sending the alarm information to the network administrator, can feedback the problem in time, so that the network administrator can timely maintenance to the network printer and improve working efficiency.
Therefore, in view of Zhang, it would have been obvious to one of ordinary skill before the effective filing date of the claimed invention was made to have the feature of wherein the steps further include: determining not to assign any of the plurality of constituent print jobs to one of the image forming apparatuses connected to the network based on the one of the image forming apparatuses connected to the network having a failure rate that is greater than a threshold, incorporated in the device of Ciocarlie, in order to stop distribution to a printer based on a failure rate, which can aid in timely maintenance of the printer and improve working efficiency (as stated in Zhang ¶ [45]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Owen discloses splitting a job among printers.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHAD S DICKERSON whose telephone number is (571)270-1351. The examiner can normally be reached Monday-Friday 10AM-6PM EST..
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Abderrahim Merouan can be reached at 571-270-5254. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/CHAD DICKERSON/ Primary Examiner, Art Unit 2683