Image forming apparatus, and job managing method
Abstract
Problem to be solved.To provide a job managing method suitable for image forming process, and to provide an image forming apparatus for performing the method.
Solution.The image forming apparatus has a hardware resource to be used in an image forming process, and performs a job relating to image forming. The apparatus has job relevant information producing means for producing job relevant information which indicates a relationship between one job and the other job in every job, and job structure information producing means for producing job structure information for searching a job relating to an arbitrary job based on the job relevant information.
Copyright (C)2006,JPO&NCIPI
Term
Term ended
Projected expiry passed 2 March 2025, 1.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
32 claims: 2 independent, 30 dependent
- 1In an image forming apparatus that has hardware resources used in image forming processing and executes a job related to image forming, job-related information indicating the relationship between the one job and another job is generated for each job. An image forming apparatus having a means for generating job-related information to be generated and a means for creating job structure information for creating job structure information for searching a job related to an arbitrary job based on the job-related information. .. 画像形成処理で使用されるハードウェア資源を有し、画像形成に係るジョブを実行する画像形成装置において、 前記1つのジョブと他のジョブとの関連を示すジョブ関連情報を、前記ジョブごとに生成するジョブ関連情報生成手段と、 前記ジョブ関連情報に基づき、任意のジョブと関連のあるジョブを検索するためのジョブ構造情報を作成するジョブ構造情報作成手段と を有することを特徴とする画像形成装置。
- 17An image forming apparatus having hardware resources used in image forming processing and executing a job related to image forming, which is a job management method for managing the job and for creating job structure information of the job. A job management method comprising a job-related information generation stage for generating job-related information and a job structure information creation stage for creating job structure information based on the job-related information. 画像形成処理で使用されるハードウェア資源を有し、画像形成に係るジョブを実行する画像形成装置で、前記ジョブを管理するジョブ管理方法であって、 前記ジョブのジョブ構造情報を作成するためのジョブ関連情報を生成するジョブ関連情報生成段階と、 前記ジョブ関連情報に基づきジョブ構造情報を作成するジョブ構造情報作成段階と を有することを特徴とするジョブ管理方法。
Independent claims2
217 paragraphs, as filed
The present invention relates to a job management method for managing a job related to an image forming process, and an image forming apparatus for executing the method.
In recent years, an image forming apparatus in which the functions of each apparatus such as a facsimile, a printer, a copy, and a scanner are housed in one housing has become known. This image forming apparatus is provided with a display unit, a printing unit, an imaging unit, and the like in one housing, and four types of applications corresponding to facsimile, printer, copy, and scanner are provided, and the applications are switched to perform facsimile. , Printers, Copiers and Scanners.
Processing related to image formation such as output, change, and movement of such an image is executed in a processing unit called a job. For example, in the case of copying, the image forming apparatus performs a process of reading the original and a process of printing the read original, so that a document reading job and a printing job occur. As an example in which this job does not occur, there is a case where an operation of changing the setting of the image forming apparatus is performed. At this time, the image is not processed, so that the job does not occur.
This job may become a finer job in the process of processing. This will be described with reference to FIG. For example, when copying is performed, a "copy job" is first generated in the image forming apparatus. Then, two jobs, a "read job" and a "print job", are derived from this copy job. When a new job is derived from one job in this way, the former is called the "parent job" and the latter is called the "child job".
When expressed as a parent job and a child job, the image is that both exist at the same time, but in the past, when a child job is derived, the parent job disappears. In the above example, when the "read job" and the "print job" are derived, the "copy job" disappears. Therefore, in the past, derivation is an image in which a parent job is divided into child jobs.
In the copy job described above, the job was derived once, but depending on the process, the job may be derived multiple times. For example, suppose that when printing a document in which color pages and black and white pages are mixed as shown in FIG. 2, the color pages and black and white pages are printed by different processes.
First, a "print job" is generated by a request received from the user by the image forming apparatus. Then, a "color print job" and a "black and white print job" are derived from the print job. Furthermore, a "plotter job" is derived in units of the number of pages to be printed.
If you show how it is derived in this way, the job structure is as shown in Fig. 2. The job at the root of this job structure is the "root job" and the job at the end is the "end job". Called. In the case of FIG. 2, the core job is a print job and the terminal job is a plotter job. Conventionally, this core job disappears when it is processed by the spool.
Further, in job management in the prior art, each application (hereinafter, the application may be referred to as an application) has a queue for a core job, and manages the order in which jobs are processed. For example, as shown in FIG. 3, the printer application, which is an application for a printer, is a queue for the printer application core job, and manages the order like the core jobs A, B, and C loaded in the queue. ..
In addition, there is a dedicated queue for end jobs for hardware such as plotters, and the order of processing is managed by this. For example, as shown in Fig. 4, the service layer module that manages each application and terminal jobs is a plotter job queue, and manages the order like terminal jobs A, B, and C loaded in the queue. To do.
The module that manages jobs acquires job information by accessing those queues, and by passing that information to the application on the personal computer, the application can display the user interface as shown in Fig. 5. From this display, the user who manages the jobs can see the status of each job.
<p> As described above, conventionally, since the core job disappears when it is processed by the spool, it is not possible to determine which parent job the child job is derived from. Therefore, for example, an error occurred in a certain end job, but it was not possible to determine which request caused the error. Further, even if an attempt is made to cancel the core job generated for a certain request in the middle, there is a problem that the processing cannot be stopped because the derived child job cannot be stopped.</p><p> In this way, in the past, job management was inadequate, so it was not possible to acquire information about jobs and perform operations on jobs sufficiently.</p><p> In view of these problems, an object of the present invention is to provide a job management method suitable for image forming processing and an image forming apparatus for executing the method.</p>
<p> In order to solve the above problems, the present invention relates the one job to another in an image forming apparatus having hardware resources used in the image forming process and executing a job related to the image forming. Job-related information generation means for generating job-related information indicating the above for each job, and job structure information creation for creating job structure information for searching a job related to an arbitrary job based on the job-related information. It is characterized by having means.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of all jobs corresponding to the ancestors of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of a parent job of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of all jobs that are descendants of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of a child job of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that it has job information including the identification information and information about the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job information includes job operation permission information indicating whether or not the operation for the job is permitted.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job information includes job operation condition information indicating a condition under which the job can be operated.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for canceling the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for re-executing the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for interrupting the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for editing the job information.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for changing the device for executing the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job information is created for each job.</p><p> Further, in order to solve the above problems, the present invention is characterized by further having a storage management means for storing the job information and providing the job information corresponding to the identification information.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job structure information creating means creates the job structure information by acquiring the job information from the storage management means.</p><p> Further, in order to solve the above problems, the present invention is an image forming apparatus having hardware resources used in image forming processing and executing a job related to image forming, and is a job management method for managing the jobs. It is characterized by having a job-related information generation stage for generating job-related information for creating job structure information of the job and a job structure information creation stage for creating job structure information based on the job-related information. And.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of all jobs corresponding to the ancestors of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of a parent job of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of all jobs that are descendants of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job-related information includes identification information of a child job of the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that it has job information including the identification information and information about the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job information includes job operation permission information indicating whether or not the operation for the job is permitted.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job information includes job operation condition information indicating a condition under which the job can be operated.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for canceling the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for re-executing the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for interrupting the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for editing the job information.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the operation for the job is an operation for changing the device for executing the job.</p><p> Further, in order to solve the above problems, the present invention is characterized in that the job information is created for each job.</p><p> Further, in order to solve the above problems, the present invention is further characterized by having a storage management stage of storing the job information and providing job information corresponding to the identification information.</p><p> Further, in order to solve the above problems, the present invention is characterized in that, in the job structure information creation stage, the job structure information is created by acquiring the job information saved in the storage management stage. ..</p>
<p> As described above, the present invention can provide a job management method suitable for image forming processing and an image forming apparatus for executing the method.</p>
Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings. In the present embodiment, the outline of the process will be described first, and then the detailed description will be given. In addition, the image forming apparatus will be referred to as an MFP (Multi Function Printer).
First, the outline of the process will be described. Since the contents of the present embodiment occupy most of the contents related to the job, the operation for the job and the state of the job will be described first. Operations on jobs include "stop job", "interrupt job", "re-execute job", "edit job information", and "change device that executes job".
"Job cancellation" is an operation of canceling job execution. This "job cancellation" can be performed for a job whose job status is "running", "error occurring", "waiting", or "suspended". Abandoned jobs will no longer be executed.
"Job interruption" is an operation to temporarily stop the execution of a job. This "job interruption" can be performed for a job whose job status is "running" or "waiting".
"Job re-execution" is an operation of re-executing a job in the "error occurring" or "suspended" state. If another job is running at the time of re-execution and the re-executed job cannot be executed immediately, the status of that job is "waiting".
"Editing job information" is an operation of changing the conditions when executing a job. For example, an operation of changing the fax transmission destination to another destination corresponds to editing job information. Job information can be edited for jobs whose job status is "error occurring", "waiting", or "suspended".
"Changing the device that executes a job" is an operation that changes the device that executes a job. For example, if you have two MFPs and you want to print on another MFP instead of the one you are currently printing on, you can change the device that executes the job.
Next, the state of the job will be described. Job states include "running", "waiting", "error occurring", "suspended", "completed", and "cancelled".
"Running" is a state in which a job is being executed. "Waiting" is a state of waiting for a job to be executed. In this state, when the execution turn comes around, the job state becomes "running". "Error is occurring" is a state in which some error has occurred during job execution and the job cannot be executed. In this state, when the error is removed, the job is restarted and the job status is "Running".
The "suspended" state is a state in which job execution is temporarily stopped due to an operation from the user. "Completed" is a state in which the job is normally completed. "Cancel" is a state in which job execution is canceled by an operation from the user.
Next, the state transition of the job will be described with reference to FIG. FIG. 6 shows states and events, and this figure is a diagram showing state transitions due to these events. There are six events: job execution, job completion, re-execution, interruption, error occurrence, and cancellation. Of these, job execution, job completion, and error occurrence are internal events.
Basically, when the event is canceled, the job status changes to cancel 605 regardless of the job status, and the job is simply terminated. If the event is re-executed, the job status transitions to waiting 601 regardless of the job status.
Normally, the job status transitions from waiting 601 to running 602 to completed 603. When the status is waiting 601, the status transitions to running 602 by executing the job. When the event is interrupted, the state transitions to interrupted 604.
When the status is 602 during execution, the status transitions due to any of the interruption, error occurrence, and cancellation events. First, when the event is interrupted, the state transitions to suspended 604. When the event is an error, the state transitions to 606 during an error.
When the state is suspended 604, the state changes due to a re-execution or cancellation event. When the status is in error, the status changes due to a re-execution or cancellation event.
The job state transition is as described above. Next, job derivation will be described. FIG. 7 is a diagram showing child jobs derived from the core job. Further, as shown in FIG. 7, the information showing the relationship between jobs is called a job structure, and the information showing the job structure is called job structure information. This job structure information is expressed as a job structure table in the present embodiment, and the job structure table will be described in detail later.
In the prior art, since the core job disappears when it is processed by the spool, the parent-child relationship with the child job derived from the core job is not maintained. Therefore, in this embodiment, all jobs are held so as not to disappear until the processing of all the child jobs derived from them is completed.
For example, in FIG. 7, in the prior art, job A400 disappeared when jobs A-A401 and job A-B402 were derived. Therefore, the job structure shown in Fig. 7 was not known in the MFP. However, in this embodiment, the job A400 is retained until the child jobs A-A401 and A-B402 are processed. In addition, job A-A401 is retained until the child jobs AA-A403 and AA-B404 are processed. Further, job A-B402 is retained until job AB-A405 is processed. By doing so, the job structure shown in FIG. 7 can be constructed in the MFP.
Next, the job derivation pattern will be described. FIG. 8 is a diagram showing a pattern in which one job is derived from one job. FIG. 8 shows that one print job 411 is derived from one print job 410, and one plotter job 412 is derived from the print job 411.
Next, with reference to FIG. 9, a pattern in which a plurality of jobs are derived from one job will be described. In FIG. 9, one print job 416 is derived from one print job 415, and two jobs, a black-and-white print job 417 and a color print job 418, are derived from the print job 416. Furthermore, two plotter jobs 419 and 420 are derived from the black-and-white print job 417. In addition, plotter job 421 is derived from color print job 418.
Next, the job structure when a plurality of MFPs are linked will be described. Figure 10 shows the job structure when two MFPs work together. FIG. 10 shows the job structure 271 of the job executed by MFPA and the job structure 272 of the job executed by MFPB.
The job structure 271 includes a print job 259, which is a core job, a black-and-white print job 254, and plotter jobs 255 and 256. The job structure 272 includes a color print job 257 and a plotter job 258.
In this way, the black-and-white print job 254 derived from the print job 259 is assigned to the MFPA, and the color print job 257 derived in the same manner is assigned to the MFPB, so that the jobs can be shared.
Note that FIG. 10 shows a job ID for identifying the job. For job IDs of jobs belonging to job structures 271 and 272, the job ID is unique to the entire job ID.
This job ID has 6 bits, the upper 3 bits are the identification code of the MFP, and the lower 3 bits are unique values among the jobs in the MFP. In fact, in FIG. 10, the identification code of MFPA251 is "001" and the identification code of MFPB is "002". In addition, the lower 3 bits of the job ID belonging to each job structure are unique among the jobs in each MFP.
As described above, there are two patterns of job derivation: one in which one job is derived from one job and the other in which multiple jobs are derived from one job.
Next, the conditions under which the job is derived will be described. The conditions for deriving another job from one job include the case where another job is derived by delegating the process and the case where the other job is derived to manage the process separately.
First, the case where another job is derived by delegating the processing will be described with reference to FIG. Delegating processing means delegating part of the processing to another software in order for one software to perform its own job. This delegation derives the job.
FIG. 11 shows an example in which the read job 431 is derived by delegating a part of the processing of the copy job 430 to the read control module, and the print job 432 is derived by delegating to the print control module.
Next, with reference to FIG. 12, a case where another job is derived in order to divide and manage the process will be described. Dividing and managing processes means managing a part of a certain job separately from the job in one software. Jobs are derived from this division. In Fig. 12, an error occurred in a part of the processed print job 432, so that part was divided into job 434 different from normal jobs 433 and 435, and the status (running / error, etc.) is individually displayed. An example of management and operation (re-execution / cancellation, etc.) is shown.
Another example of job derivation by dividing the process will be described with reference to FIG. FIG. 13 shows an example in which the state of the fax transmission job 441 is managed and operated as the fax transmission jobs 442, 443, and 444 for each destination when the same document is faxed to a plurality of destinations.
The above is the explanation about job derivation. As shown in the description so far, the jobs in the present embodiment are print processing, plotter processing, black-and-white printing processing, color printing processing, reading processing, page-by-page printing processing, and fax transmission processing for each destination. .. However, these jobs are just an example list, and there are many other jobs. By managing these jobs as shown in the present embodiment, there are merits such as being able to charge for each job in addition to operations for the jobs such as canceling the jobs.
Next, how the software processes the job differs depending on the implementation method, so the implementation method will be described.
Here, four examples of implementation methods are shown: single-process / single-thread implementation, single-process / multi-thread implementation, multi-process / single-thread implementation, and multi-process / multi-thread implementation.
It also shows how to implement operations such as re-execution and cancellation in the user's job. Note that single process / multithread means that there is one process, but there are multiple threads among them. In addition, multi-process single thread means that there are multiple processes, but each process has only one thread.
Figure 14 shows the job structure of the jobs used in these examples. FIG. 14 shows that job B451 and job C452 are derived from job A450 and job D453 is derived from job C452 in the process of processing.
First, an example of job processing in the case of a single process and a single thread will be described with reference to FIG. FIG. 15 shows process A500 and thread A501. This software has only one process (process A500) and only the main thread of process A500 (thread A501). In this case, job A is executed in step S1601. Job B is executed in step S1602. Job C is executed in step S1603. Job D is executed in step S1601.
In this way, in the case of a single process / single thread as shown in FIG. 15, all jobs A to D are processed by thread A501.
Next, an example of job processing in the case of single process / multithread will be described with reference to FIG. FIG. 16 shows process A500, thread A501, thread B502, and thread C503.
In this case, in step S1701, thread A501, which is the main thread of process A500, executes job A. Thread A requests processing in step S1702 for job B, which is a subthread derived from this job A.
Then, in step S1703, thread B502 executes job B, and in step S1704, returns a response to thread A501. Further, the thread A501 requests the subthread thread C503 for processing in step S1705. Thread C503 executes job C in step S1706 and executes job D in step S1707. Thread C503 then returns a response to thread A in step S1708.
In this way, in the case of single process / multithread, thread A501 causes thread B502, which is a subthread, to execute job B, and thread C503, which is a subthread, executes job C. Furthermore, job D derived from job C is also executed by thread C503.
Next, an example in the case of multi-process single thread will be described with reference to FIG. FIG. 17 shows process A500, process B505, process C506, thread A501, thread B502, and thread C503.
In step S1801, thread A501 executes job A. In step S1802, thread A501 requests processing from thread B502 of process B505. Thread B502 executes job B in step S1803 and returns a response to thread A501 in step S1804.
Thread A501 requests processing from thread C503 of process C506 in step S1805. Thread C503 executes job C in step S1806, further executes job D in step S1807, and returns a response to thread A in step S1808.
In this way, in the case of multi-process single thread, job A is executed by thread A501, which is the main thread of process A500. Then, the thread A501 causes the thread B502, which is the main thread of the process B505, to execute the job B derived from the job A, and the thread C503, which is the main thread of the process C506, to execute the job C. Furthermore, thread A501 also causes thread C503 to execute job D derived from job C.
Next, an example in the case of multi-process and multi-thread will be described with reference to FIG. FIG. 18 shows process A500, process B505, thread A501, thread B502, thread C503, and thread D507.
In step S1901, thread A501 of process A500 executes job A. In step S1902, thread A501 requests processing from thread B502 in the same process A500. Thread B502 executes job B in step S1903 and returns a response to thread A501 in step S1904.
Thread A501 requests processing from thread C503 of process B505 in step S1905. Thread C503 executes job C in step S1906. In step S1907, thread C503 requests processing from thread D507 in the same process B505. Thread D507 executes job D in step S1908 and returns a response to thread C503 in step S1909. Thread C503 returns a response to thread A501 in step S1910.
In this way, in the case of multi-process and multi-thread, job A is processed by thread A501, which is the main thread of process A500. In addition, thread A501 causes thread B502, which is a subthread of process A500, to execute job B derived from job A. Further, the thread A501 causes the thread C503, which is the main thread of the process B505, to execute the job C derived from the job A, and the thread D507, which is the subthread of the process B505, to execute the job D derived from the job C.
The above is the implementation method of 4 examples. In addition to these implementation methods, an example in which job processing is operated according to a request from a user in an implementation method called multi-process / multi-thread will be described with reference to FIG. FIG. 19 shows process A500, process B505, process C506, thread A501, thread B502, thread C503, and thread E508.
Of these, process C is the process in which the request from the user is made. In step S2001, thread A501 of process A500 executes job A. In step S2002, thread A501 requests processing from thread B502 in the same process A500. Thread B502 executes job B in step S2003 and returns a response to thread A501 in step S2004.
Thread A501 requests processing from thread C503 of process B505 in step S2005. Thread C503 executes job C in step S2006.
At this time, in step S2007, thread E508 of process C506 requests thread C503 to cancel the process. Thread C503 executes job C abort processing in step S2008, and returns a response to thread A501 in step S2009.
In this way, in the case of an operation from a user, a process for accepting the operation (process C506) exists, receives a stop request from the user, and issues a stop request to the corresponding job.
Next, job information, which is information about each job, will be described with reference to FIG. As shown in FIG. 20, the job information has a job ID corresponding to the identification information, a document name, a job type, a status, an owner name, a creation date, and job-related information.
Of these, the job-related information makes it possible to construct the job structure of the job in the MFP, and this job-related information will be described in detail later. If it is possible to build a job structure, the parent-child relationship of the job can be known.
Of the above job information, the job ID identifies each job, such as "1" and "2", and is uniquely assigned to each job. In the following description, a job with a job ID of n may be simply referred to as a job n.
The document name indicates the name of the document to be printed, and is represented by, for example, a character string. The job type indicates what kind of processing job, such as "print" or "fax transmission". The "status" indicates the status of the job such as "running" or "error". The "owner name" indicates the name of the user who requested the execution of the job, such as "Suzuki" and "Sato". The "creation date" indicates the date and time when the job was created, such as "2004.02.17.12:15".
Another example of job information will be described with reference to FIG. The major difference between the job information shown in FIG. 21 and the job information shown in FIG. 20 is the two items of "permission information for job operation" and "conditions for operating the job".
These items are items for enabling job operation and job status viewing. Each job has a state such as being executed or an error is occurring, and the user can perform operations such as re-execution or cancellation for the job.
However, some jobs do not allow the user to operate, or allow operations only when certain conditions are met. When implementing a job in such a form, it is necessary to add attributes such as "job operation permission information" and "job operation permission information" to the job information as shown in FIG.
Of these, "permission information for job operations" will be described. The values that can be taken by this "permit information for job operation" include "permit", "disapproval", and "permit only when a condition occurs".
"Allow" means that an operation (re-execution / cancellation / interruption, etc.) corresponding to the state of the job can be performed in any case. "Don't allow" means that no operation can be performed on the job under any circumstances. Allow only when a condition occurs means that when the condition for operating a job shown in FIG. 21 is fulfilled, an operation that meets the condition can be performed. Specifically, the operation includes re-execution or cancellation in the event of an error.
Of these values, the job information shown in FIG. 22 indicates the job information in the case of not permitted. The "permission information for job operation" in this job information is "not permitted". Further, the job information shown in FIG. 23 shows the job information in the case of "permit only when the condition occurs". The "permission information for job operation" of this job information is "permitted only when a condition occurs", and it is shown that the "condition for operating a job" is "execution & error is occurring".
Note that the "conditions under which a job can be operated" can also be values of "error occurring", "executing or error occurring", "waiting or error occurring", and "executing or waiting & error occurring". .. "Error is occurring" is a condition that an error is occurring in the job. "Running or error occurring" is a condition that the job is running or the job is experiencing an error. "Waiting or error occurring" is a condition that the job is waiting or an error is occurring. "Running, waiting, or error is occurring" is one of the following conditions: the job is running, the job is waiting, and the job is in error.
Next, the job structure table created based on the job-related information will be described with reference to FIG. 24. The job structure table 100 is composed of IDs of a parent job and a child job. The "child job" indicates the job ID, and the "parent job" indicates the job ID of the parent job of the job having the job ID indicated by the child job. Therefore, a job for which a parent job is not entered is a core job because the job does not have a parent job.
Further, the job structures 101 and 102 represent the job structure table 100 as a job structure.
In the case of FIG. 24, it can be seen that job 1 and job 8 are core jobs. Further, since the ID of the parent job of the jobs 2 and 3 is shown as 1 in the job structure table 100, it can be seen that the jobs 2 and 3 are jobs derived from the job 1. Similarly, for other jobs, the job structure shown in FIG. 24 can be generated by each job ID shown in the job structure table 100.
In this way, the job structure table can be created by holding the job ID of the parent job of the job for each job. In addition, this job structure table allows the job structure to be displayed on the screen of a personal computer or the operation panel provided in the MFP.
The job structure table can also be expressed in XML as shown in FIG. The XML statement shown in FIG. 25 is the core job shown in FIG. 24 and is for generating the job structure 102 of the job derived from job 8.
From FIG. 25, it can be seen that job 8 has jobs 9, 10 and 11 as child jobs or grandchild jobs. Similarly, it can be seen that job 9 has job 8 as a parent job and jobs 10 and 11 as child jobs. Furthermore, it can be seen that jobs 10 and 11 both have job 9 as the parent job.
In this way, the job structure table can be expressed by an XML statement that nests job IDs.
The above is the outline of the process. Next, a detailed description of each process will be given. First, the job generated in the MFP will be described with reference to FIG. 26 by taking copy as an example. FIG. 26 shows a copy storage job 110, a read job 111, a print job 112, a storage job 113, and plotter jobs 114 and 115. The core job in this job structure is the copy storage job 110.
A copy storage job 110 is generated in response to a copy storage request, and a read job 111, a print job 112, and a storage job 113 are derived to realize the copy storage job 110. Plotter jobs 114 and 115 are further derived from the print job 112.
Next, the software block of the MFP will be described with reference to FIG. 27. The "app", "module", and "handler" described in FIG. 27 are collectively referred to as a program.
The software block shown in FIG. 27 is divided into three layers: an application layer 5, a service layer 7, and a handler layer 9. The application layer 5 includes programs such as a copy application 21, a printer application 20, and a fax application 22. The service layer 7 includes programs of the print control module 23, the fax control module 24, the read control module 25, and the job management module 26. The handler layer 9 includes a plotter handler 27, a fax unit handler 28, a scanner handler 29, and a memory management module 30 program.
The copy application 21, the printer application 20, and the fax application 22 of the application layer 5 are applications for copying, printing, and faxing, respectively.
Next, the module of the service layer 7 will be described. The print control module 23 is a module that controls the print process. The fax control module 24 is a module that controls fax processing. The read control module 25 is a module that controls the read process. The job management module 26 corresponding to the job structure information creating means is a module that creates a job structure table (job structure information) according to a request and passes it to the request source.
Next, the program of the handler layer 9 will be described. The program of the handler layer 9 is a handler such as a plotter or a scanner which is hardware.
The plotter handler 27 is a plotter handler. The fax unit handler 28 is a fax unit handler. The scanner handler 29 is a scanner handler. The memory management module 30 corresponding to the memory management means is a handler that manages the memory and the hard disk. In each of the programs described above, the program that generates a job by itself corresponds to the job-related information generation means.
Next, the hardware configuration diagram of the MFP will be described with reference to FIG. 28. The MFP includes a controller board 60, an operation panel 53, an FCU 68, an engine 71, a scanner 51, and a plotter 52. Further, the FCU68 has a G3 standard compliant unit 69 and a G4 standard compliant unit 70.
The controller board 60 includes CPU61, ASIC66, HDD65, local memory (MEM-C) 64, system memory (MEM-P) 63, north bridge (hereinafter referred to as NB) 62, and south bridge. It includes 73 (hereinafter referred to as SB) 73, NIC74 (Network Interface Card), USB device 75, IEEE1394 device 76, and Centronics device 77.
The operation panel 53 is connected to ASIC66 of the controller board 60. In addition, SB73, NIC74, USB device 75, IEEE1394 device 76, Centronics device 77, and NB62 are connected by a PCI bus.
The FCU68, the engine 71, the scanner 51, and the plotter 52 are connected to the ASIC66 of the controller board 60 by the PCI bus.
In the controller board 60, the local memory 64, HDD65, etc. are connected to the ASIC66, and the CPU61 and the ASIC66 are connected via the NB62 of the CPU chipset. By connecting the CPU 61 and the ASIC 66 via the NB62 in this way, it is possible to handle the case where the interface of the CPU 61 is not open to the public.
The ASIC66 and NB62 are not connected via the PCI bus, but are connected via the AGP (Accelerated Graphics Port) 67. In this way, in order to execute and control one or more processes that form the application layer 5 in Fig. 27, ASIC66 and NB62 are connected via AGP67 instead of the low-speed PCI bus to prevent performance degradation. ..
The CPU61 controls the entire MFP. The CPU 61 starts and executes the programs included in the application layer 5, the service layer 7, and the handler layer 9 as processes on the OS, respectively.
NB62 is a bridge for connecting CPU61, system memory 63, SB73 and ASIC66. The system memory 63 is a memory used as a drawing memory of the MFP. SB73 is a bridge for connecting NB62, PCI bus, and peripheral devices. The local memory 64 is a memory used as a copy image buffer and a code buffer.
ASIC66 is an IC for image processing applications that has hardware elements for image processing. The HDD65 is a storage for accumulating image data, document data, programs, font data, forms, and the like. Further, the operation panel 53 is an operation unit that receives an input operation from the user and displays the display for the user.
Next, the relationship between the above-mentioned software and the information exchanged between the software will be described with reference to FIGS. 29 and 30. FIG. 29 is a diagram showing a case where the job information is stored in the HDD 65, and FIG. 30 is a diagram showing a case where the job information is stored in the memory.
First, FIG. 29 will be described. FIG. 29 shows each program 130, the memory management module 30, the HDD 65, the job information 132, the job management module 26, the display application 32, and the dedicated queue 131.
Each program 130 is an application layer, a service layer, and a handler layer. Specifically, it is a program other than the job management module and the memory management module, and is a program that generates and processes a job. The display application 32 is a PC application to be displayed on a personal computer and an application for the operation panel described above. The job information 132 is the job information described with reference to FIG. 20, and is stored in the HDD 65 in the case of FIG. 29. The dedicated queue 131 is a dedicated queue in which each program stored in the memory space for each program manages jobs.
The memory space of each program refers to the memory area allocated to each program. Each module has its own queue here and manages the order of jobs to be processed.
Job information is provided from each program 130 to the memory management module 30. The memory management module 30 stores job information in the HDD 65. Further, the memory management module 30 provides job information to the job management module 26. The job management module 26 provides the display application 32 with a job structure table and job information. Each program 130 provides queue information to the job management module 26. In addition, each program 130 stores the job ID in the dedicated queue 131.
Next, FIG. 30 will be described. The same reference numerals as those described with reference to FIG. 29 will be omitted. The differences between FIGS. 30 and 29 are the queue 133 and the job information 132. The queue 133 and the job information 132 are stored in the memory space for each program as shown in FIG. Therefore, the queue 133 and the job information 132 are dedicated to each program.
Each program 130 stores the job ID and the job information in the queue 133 and the job information 132, respectively. In addition, each program 130 provides queue information and job information to the job management module 26. The job management module 26 provides the display application 32 with a job structure table and job information.
In the case of FIG. 30, the job information is stored not in the HDD but in the memory space managed by each program. Therefore, the job management module 62 acquires job information from each program having a job and creates a job structure table.
Next, job-related information will be described. As described above, this job-related information is necessary for creating the job structure table. There are several types of this job-related information, as long as a job structure table can be created. An example of seven types of job-related information and a sequence diagram showing processing at that time will be described below. The processes described in the sequence diagram are a job registration process when a print request is made and a process when a job is referenced.
The job information shown in each of them uses the structure described in FIG. 20 or 21 as an example. The job structure used in the following description is the job structure shown in FIG. 31. The job structure shown in FIG. 31 is a job structure of a job composed of jobs derived from job A. Further, in each sequence diagram, there is a description of "job generation", but the stage of generating this job corresponds to the stage of generating job-related information. Further, the stage of "creating a job list" corresponds to the stage of creating job structure information. The stage of "save job information" corresponds to the memory management stage.
A first example of job-related information will be described with reference to FIG. The job-related information shown in FIG. 32 is such that the child job has the job IDs of all ancestor jobs, such as from the job ID of the parent job of the child job to the job ID of the core job.
Specifically, the job information shown in FIG. 33 will be used for description. The job information shown in FIG. 33 is the job information of job 7 in FIG. 31.
FIG. 33 shows job information 150 and job-related information 151. The job information 150 is described with reference to FIG. The job-related information 151 has "job ID of the core job", "job ID of the second generation", and "job ID of the parent job" in the items, and the values are "1", "2", and "4", respectively. It has become.
In fact, the parent job of job 7 is job 4, the second generation job is job 2, and the core job is job 1.
In this way, if the child job has the job IDs of all the ancestor jobs and the mechanism for identifying the end job is constructed, the job management module only acquires the information of the end job. You can create a job structure table. In addition, each program of the application layer, the service layer, and the handler layer can create job-related information by simply adding the parent job ID to the job structure table of the parent job when the job is generated. As a mechanism for the job management module to identify a terminal job, there is a mechanism such as setting a flag in the job information to determine whether it is a terminal job.
The processing in the case of the first job-related information example described above will be described with reference to a sequence diagram. FIG. 34 shows the operation sequence at the time of job registration, and shows the processing performed between the user 160, the printer application 20, the print control module 23, the plotter handler 27, and the memory management module 30. .. This is almost the same in the operation sequence diagram at the time of subsequent job registration.
In step S101, the printer application 20 is notified of the print request by the user 160. The printer application 20 generates a job in step S102, and adds a job ID to the queue in step S103. In step S104, the printer application 20 saves the job information by notifying the memory management module of the job information.
In step S105, the printer app 20 gets the job ID from the queue. In step S107, the memory management module 30 notifies the printer application 20 of the job information. Step S108 is the execution of the processing of the printer application 20.
In step S109, the printer application 20 notifies the print control module 23 of the print processing request. At this time, the job-related information of the parent job and the job ID of the parent job are also notified. The print module 23 generates a job in step S110, and adds the job ID to the queue in step S111. Then, in step S112, the print control module 23 saves the job information. In the next step S113, the print control module 23 gets the job ID from the queue.
In step S114, the print control module 23 requests the memory management module 30 to acquire job information. The memory management module 30 notifies the print control module 23 of the job information in step S115.
Step S116 is the execution of the process of the print control module 23. In step S117, the print control module 23 notifies the plotter handler 27 of the plot request. At this time, the job-related information of the parent job and the parent job ID are also notified.
In step S118, the plotter handler 27 generates a job. In step S119, the plotter handler 27 adds the job ID to the queue and in step S120 saves the job information. In step S121, the plotter handler 27 gets the job ID from the queue. In step S122, the plotter handler 27 requests the memory management module 30 to acquire job information. In step S123, the memory management module 30 notifies the plotter handler 27 of the job information.
The plotter handler 27 executes the plot in step S124. The plotter handler 27 notifies the print control module 23 of the end of plotting in step S125. The print control module 23 notifies the printer application 20 of the end of printing in step S126. The printer application 20 notifies (displays) the end of printing to the user 160 in step S127.
Next, the operation sequence at the time of job reference will be described with reference to FIG. 35. FIG. 35 shows the processing performed between the user 160, the operation panel application 161, the job management module 26, the memory management module 30, and the printer application 20. This is almost the same in the operation sequence diagram at the time of subsequent job reference.
In step S201, the operation panel application 161 is notified of the job reference request by the user 160. In step S202, the operation panel application 161 notifies the job management module 26 of the job list request. The job management module 26 notifies the memory management module 30 of the search for the end job in step S203. In step S204, the memory management module 30 notifies the job management module 26 of the search result of the terminal job. In step S205, the job management module 26 requests the memory management module 30 to acquire the job information. In step S206, the memory management module 30 notifies the job management module 26 of the job information. The job management module 26 creates a job list in step S207.
In step S208, the job management module 26 notifies the operation panel application 161 of the job list. The operation panel application 161 notifies (displays) the job list to the user 160 in step S209. In step S210, the operation panel application 161 is requested by the user 160 for job information. In step S211 the operation panel application 161 requests the job management module 26 to acquire the job information. The job management module 26 requests the memory management module 30 to acquire job information in step S212. The memory management module 30 notifies the job management module 26 of the job information in step S213.
In step S214, the job management module 26 requests the printer application 20 to acquire the queue order. The printer application 20 notifies the job management module 26 of the queue order in step S215. The job management module 26 notifies the operation panel application 161 of the job information in step S216. In step S217, the operation panel application 161 notifies (displays) the job information to the user 160.
Next, a second example of job-related information will be described with reference to FIG. In the second example of job-related information, as shown in FIG. 36, the job-related information in the job information has only the job ID of the parent job.
Specifically, the job information shown in FIG. 37 will be used for description. The job information shown in FIG. 37 is the job information of job 7 in FIG. 31. The job-related information is only the "job ID of the parent job" in the item, and the value is "4".
In this way, if the job-related information is only the job ID of the parent job, the amount of job information information can be suppressed. In this case, a mechanism is required for the job management module to access all jobs.
The operation at the time of job registration in the case of the second job-related information example described above will be described with reference to the sequence diagram of FIG. 38. Since this sequence diagram is the same except for two steps among the steps in the sequence diagram shown in FIG. 34, the description other than the different steps will be omitted.
The different steps are step S109 and step S117 in FIG. 34, which correspond to steps S309 and S317 in FIG. 38, respectively.
In step S109, the job-related information of the parent job is notified, but in step S309, only the job ID of the parent job is notified. Similarly, in step S117, the job-related information of the parent job and the job ID of the parent job are notified, but in step S317, only the job ID of the parent job is notified.
The processing of each step is due to the job-related information becoming the job ID of the parent job.
Next, the operation sequence at the time of job reference will be described with reference to FIG. 39. In this sequence diagram, steps S201 and 202 of the sequence diagram shown in FIG. 35 correspond to steps S401 and 402, and steps S205 to S217 correspond to steps S404 to S415.
Therefore, the process shown in FIG. 39 is obtained by removing the processes of steps S203 and 204, which are the end job search processes, from the process of FIG. 35. This is because the job management module accesses all jobs, so there is no need to search for a specific job.
Next, a third example of job-related information will be described with reference to FIG. 40. The job-related information shown in FIG. 40 is that the job has job IDs of all descendant jobs.
Specifically, the job information shown in FIG. 41 will be used for description. FIG. 41 shows job information 167 and job-related information 168. As shown in job information 167, this job information is the job information of job 7 shown in FIG.
The job-related information 168 has "child job" and "parent job" as values. The job ID of the parent job of the job ID indicated by the child job is described in the column of the parent job.
In fact, the parent job of jobs 2 and 3 is job 1, the parent job of jobs 4 and 5 is job 2, the parent job of job 6 is job 3, and the parent job of job 7 is job 4. is there.
In this way, if the job-related information is the job ID of the offspring job, the job management module can create the job structure table simply by acquiring the job information of the core job. In this case, a mechanism is required in which the module that generated the job notifies all the modules that generated the ancestor job of the job ID. Furthermore, there is a need for a mechanism to search for the core job from the jobs in which the job management module is saved.
The operation at the time of job registration in the case of the third job-related information example described above will be described with reference to the sequence diagram of FIG. 42. Since the processing from step S101 to step S108 of the sequence diagram shown in FIG. 34 and the processing from step S501 to step S508 are the same in this sequence diagram, the description thereof will be omitted.
In step S509, the printer application 20 notifies the print control module 23 of the print processing request. At this time, the job-related information of the parent job and the job ID of the parent job are not notified. The print module 23 generates a job in step S510, and notifies the printer application 20 of the child job generation in step S511. In the next step S512, the printer app 20 adds the job ID to the queue. Then, in step S513, the print control module 23 saves the job information. In the next step S514, the print control module 23 gets the job ID from the queue.
In step S515, the print control module 23 requests the memory management module 30 to acquire job information. The memory management module 30 notifies the print control module 23 of the job information in step S516.
Step S517 is the execution of the process of the print control module 23. In step S518, the print control module 23 notifies the plotter handler 27 of the plot request. In step S519, the plotter handler 27 creates a job.
In step S520, the plotter handler 27 notifies the print control module 23 of the generation of the child job together with the job ID. In step S521, the print control module 23 notifies the printer application 20 of the generation of a descendant job. At this time, the parent job ID and the child job ID are also notified.
In step S522, the plotter handler 27 adds the job ID to the queue and in step S523 saves the job information. In step S524, the plotter handler 27 gets the job ID from the queue. In step S525, the plotter handler 27 requests the memory management module 30 to acquire job information. In step S526, the memory management module 30 notifies the plotter handler 27 of the job information.
The plotter handler 27 executes the plot in step S527. The plotter handler 27 notifies the print control module 23 of the end of plotting in step S528. The print control module 23 notifies the printer application 20 of the end of printing in step S529. The printer application 20 notifies (displays) the end of printing to the user 160 in step S530.
Next, the operation sequence at the time of job reference will be described with reference to FIG. 43. Since this sequence diagram is the same except for two steps among the steps in the sequence diagram shown in FIG. 35, the description other than the different steps will be omitted.
The different steps are step S203 and step S204 in FIG. 35, which correspond to step S603 and step S604 in FIG. 43, respectively. In the case of FIG. 35, the search target was the terminal job, but in FIG. 43, the search target is the core job.
Next, a fourth example of job-related information will be described with reference to FIG. 44. The job-related information shown in FIG. 44 is that the job has job IDs of all child jobs.
Specifically, the job information shown in FIG. 45 will be described. FIG. 45 shows job information 163 and job-related information 164. As shown in job information 163, this job information is the job information for job 1 shown in FIG.
In the job-related information 164, there are two "job IDs of child jobs" in the items, and the values are "2" and "3", respectively. In fact, the child jobs of job 1 are job 2 and job 3.
In this way, if the job-related information is only the job ID of the child job, the amount of job information information can be suppressed. In this case, a mechanism is required for the job management module to access all jobs.
The processing in the case of the fourth job-related information example described above will be described with reference to the sequence diagram of FIG. Note that the description of this sequence diagram will be omitted because the processing is the same except that the processing of step S521 of the sequence diagram shown in FIG. 42 is not performed. This is because the fourth job-related information does not require a descendant job, so that the process of step S521 of FIG. 42 notifying the generation of the descendant job becomes unnecessary.
Since the operation sequence at the time of job reference is the same as that in FIG. 39, the description thereof will be omitted.
Next, a fifth job-related information example in which the first and fourth job-related information are combined will be described with reference to FIG. 47. The job-related information shown in FIG. 47 consists of job IDs of all ancestors of the job and job IDs of all child jobs.
Specifically, the job information shown in FIG. 48 will be used for description. FIG. 48 shows job information 166 and job-related information 169. As shown in job information 166, this job information is the job information of job 4 shown in FIG.
In the job-related information 169, the items include "job ID of the core job", "job ID of the parent job", and "job ID of the child job", and the values are "1", "2", and "7", respectively. ". In fact, the core job of job 4 is job 1, the parent job is job 2, and the child job is job 7.
With such job-related information, the job management module can create a job structure table simply by acquiring the information of the end job. Further, since each program of the application layer, the service layer, and the handler layer only adds the parent job ID to the parent job-related information, it becomes easy to create the job-related information at the time of job generation. Furthermore, if there is no value in the job ID item of the child job, it is a terminal job, so it is possible to search for the terminal job by checking whether the job ID item of the child job has a value. In addition, the fact that the value is not entered means that the actual value is not entered, and it may be that the value often used in the design such as NULL or 0xffff is included. The module that generates the job needs to notify the module that generated the parent job of the job ID of the child job.
The operation at the time of job registration in the case of the fifth job-related information example described above will be described with reference to the sequence diagram of FIG. 49. Since this sequence diagram is partially different from the sequence diagram shown in FIG. 34, the different part will be described.
Step S809 corresponds to step SS109, but only job-related information for the parent job is notified. Further, after the job is generated in step S810, a process of notifying the printer application 20 of the generation of the child job is added in step S811.
Further, in the plot request in step S818, only the job-related information of the parent job is notified. Further, after the job is generated in step S819, the plotter handler 27 notifies the print control module 23 of the generation of the child job.
Since the operation sequence at the time of job reference is the same as that in FIG. 35, the description thereof will be omitted.
Next, a sixth example of job-related information, which is a combination of the second and third job-related information, will be described with reference to FIG. 50. The job-related information shown in FIG. 50 consists of the job ID of the parent job and the job ID of all descendant jobs.
Specifically, the job information shown in FIG. 51 will be used for description. FIG. 51 shows job information 170 and job-related information 171. As shown in job information 170, this job information is the job information for job 1 shown in FIG.
In job-related information 171, there are "child job" and "parent job" in the items. The job ID of the parent job of the job ID indicated by the child job is described in the column of the parent job.
In fact, since job 1 is the core job, there is no parent job, the parent jobs of jobs 2 and 3 are job 1, the parent jobs of jobs 4 and 5 are job 2, and the parent job of job 6 is job 6. It is job 3, and the parent job of job 7 is job 4.
With this sixth job-related information, a job structure table can be created simply by acquiring the information of the core job. Since the job-related information of the core job does not contain a value in the job ID item of the parent job, the core job can be determined.
The operation at the time of job registration in the case of the sixth job-related information example described above will be described with reference to the sequence diagram of FIG. 52. Since this sequence diagram is partially different from the sequence diagram shown in FIG. 34, the different part will be described.
Step S909 corresponds to step S109, but only the job ID of the parent job is notified. Further, after the job is generated in step S910, a process of notifying the printer application 20 of the generation of the child job is added in step S911. Further, step S918 corresponds to step S117, but only the job ID of the parent job is notified. Further, after the notification of the generation of the child job is given in step S920, the process of notifying the printer application 20 of the generation of the offspring job from the print control module 23 is added in step S921.
Since the operation sequence at the time of job reference is the same as that in FIG. 43, the description thereof will be omitted.
Next, a seventh example of job-related information collectively managed by the job management module 26 will be described with reference to FIG. 53.
The seventh job-related information example is generated by notifying the correspondence between the job ID of the child job derived from the job management module and the parent job ID when the child job is derived in the processing of each module. Will be done. The job management module 26 holds the correspondence of all jobs, and when the display application displays the job structure, the information is notified to the display application.
Figure 53 is a job of relationship diagram 172,173,174, printer A and the pre-20, a print control module 23, a job management module 26 is shown.
The relationship diagram 172 is a relationship diagram of the jobs generated by the printer application 20. The relationship diagram 173 is a relationship diagram of the jobs generated by the print control module 23. The relationship diagram 174 is a relationship diagram generated by the job management module 26 based on the relationship diagrams 172 and 173.
It can be seen that the relationship between the jobs shown in the relationship diagram 172 and the relationship between the jobs shown in the relationship diagram 173 are reflected in the relationship diagram 174. In this case, the job information does not have to have job-related information.
The operation at the time of job registration in the case of the seventh job-related information example described above will be described with reference to the sequence diagram of FIG. 54. Since this sequence diagram is partially different from the sequence diagram shown in FIG. 34, the different part will be described.
After the process in which the printer application 20 in step S1002 generates a job, the processes in step S1003 and step S1004 are added. The process of step S1003 is a notification of job generation from the printer application 20 to the job management module 26. At this time, the parent job ID and the child job ID are notified. Further, step S1004 is an update of the job structure table by the job management module 26.
Step S1011 corresponds to step S109, but only notifies the job ID of the parent job.
After the process in which the print control module 23 in step S1012 generates a job, the processes in step S1013 and step S1014 are added. The process of step S1013 is a notification of job generation from the print control module 23 to the job management module 26. At this time, the parent job ID and the child job ID are notified. Further, step S1014 is an update of the job structure table by the job management module 26.
Step S1021 corresponds to step S117, but only notifies the job ID of the parent job.
The process of step S1023 and the process of step S1024 are added after the process of generating the job by the plotter handler 27 of step S1022. The process of step S1023 is the notification of job generation from the plotter handler 27 to the job management module 26. At this time, the parent job ID and the child job ID are notified. Further, step S1024 is an update of the job structure table by the job management module 26.
Next, the operation sequence at the time of job reference will be described with reference to FIG. 55. FIG. 55 shows the processing performed between the user 160, the operation panel application 161, the job management module 26, the printer application 20, and the memory management module 30.
In step S1101, the operation panel application 161 is notified of the job reference request by the user 160. In step S1102, the operation panel application 161 notifies the job management module 26 of the job list request. In step S1103, the job management module 26 notifies the operation panel application 161 of the job list. The operation panel application 161 notifies (displays) the job list to the user 160 in step S1104. In step S1105, the operation panel application 161 is requested by the user 160 for job information. In step S1106, the operation panel application 161 requests the job management module 26 to acquire the job information.
In step S1107, the job management module 26 requests the memory management module 30 to acquire job information. The memory management module 30 notifies the job management module 26 of the job information in step S1108.
In step S1109, the job management module 26 requests the printer application 20 to acquire the queue order. The printer application 20 notifies the job management module 26 of the queue order in step S1110. The job management module 26 notifies the operation panel application 161 of the job information in step S1111. In step S1112, the operation panel application 161 notifies (displays) the job information to the user 160.
Next, the processing when the software configuration is the configuration described in FIG. 30 and the job-related information is the job-related information shown in FIG. 32 will be described. The configuration shown in FIG. 30 is a configuration in which job information is held by each application layer and service layer module in their own memory space. The operation sequence at the time of job registration in this configuration will be described with reference to FIG. 56.
FIG. 56 shows the processing performed between the user 160, the printer application 20, the print control module 23, and the plotter handler 27.
In step S1201, the printer application 20 is notified of the print request by the user 160. The printer application 20 generates a job in step S1202, and adds the job ID to the queue in step S1203. In step S1204, the printer application 20 acquires the job ID from the queue, and in step S1205, executes the process.
In step S1206, the printer application 20 notifies the print control module 23 of the print processing request. At this time, the job-related information of the parent job and the job ID of the parent job are also notified. The print module 23 generates a job in step S1207 and adds the job ID to the queue in step S1208. Then, the print control module 23 acquires the job ID from the queue in step S1209, and executes the process in step S1210.
In step S1211 the print control module 23 notifies the plotter handler 27 of the plot request. At this time, the job-related information of the parent job and the parent job ID are also notified.
In step S1212, the plotter handler 27 creates a job. In step S1213, the plotter handler 27 adds the job ID to the queue and gets the job ID from the queue in step S1214.
The plotter handler 27 executes the plot in step S1215. The plotter handler 27 notifies the print control module 23 of the end of plotting in step S1216. The print control module 23 notifies the printer application 20 of the end of printing in step S1217. The printer application 20 notifies (displays) the end of printing to the user 160 in step S1218.
Next, the operation sequence at the time of job reference will be described with reference to FIG. 57. FIG. 57 shows the processing performed between the user 160, the operation panel application 161, the job management module 26, the printer application 20, the print control module 23, and the plotter handler 27.
In step S1301, the operation panel application 161 is notified of the job reference request by the user 160. In step S1302, the operation panel application 161 notifies the job management module 26 of the job list request.
The job management module 26 requests the printer application 20 to acquire job information in step S1303. In step S1304, the printer application 20 notifies the job management module 26 of the job information.
The job management module 26 requests the print control module 23 to acquire job information in step S1305. In step S1306, the print control module 23 notifies the job management module 26 of the job information.
The job management module 26 requests the plotter handler 27 to acquire the job information in step S1307. In step S1308, the plotter handler 27 notifies the job management module 26 of the job information.
In step S1309, the job management module 26 creates a job list. In step S1310, the job management module 26 notifies the operation panel application 161 of the job list. The operation panel application 161 notifies (displays) the job list to the user 160 in step S1311.
In step S1312, the operation panel application 161 is requested by the user 160 for job information. In step S1313, the operation panel application 161 requests the job management module 26 to acquire the job information. The job management module 26 requests the printer application 20 to acquire the job information in step S1314. The printer application 20 notifies the job management module 26 of the job information in step S1315.
In step S1316, the job management module 26 requests the printer application 20 to acquire the queue order. The printer application 20 notifies the job management module 26 of the queue order in step S1317. The job management module 26 notifies the operation panel application 161 of the job information in step S1318. In step S1319, the operation panel application 161 notifies (displays) the job information to the user 160.
Next, with reference to FIG. 58, the processing when the job is canceled by the user will be described. In step S1401, the operation panel application 161 is notified by the user 160 that the job is cancelled. The operation panel application 161 notifies the job management module 26 of the cancellation of the job in step S1402. The job management module 26 notifies the printer application 20 of the cancellation of the print request in step S1403.
The printer application 20 requests the memory management module 30 to acquire job information in step S1404, and cancels the process in step S1405. The printer application 20 notifies the print control module 23 of the cancellation of the printing process in step S1406.
The print control module 23 requests the memory management module 30 to acquire job information in step S1407, and cancels the process in step S1408. The print control module 23 notifies the plotter handler 27 that the plot is stopped in step S1409. The plotter handler 27 requests the memory management module 30 to acquire the job information in step S1410, and cancels the process in step S1411.
Next, with reference to FIG. 59, the processing when the user requests the re-execution of the job will be described. In step S1501, the operation panel application 161 is notified by the user 160 that the job will be re-executed. The operation panel application 161 notifies the job management module 26 of the re-execution of the job in step S1502. The job management module 26 notifies the printer application 20 of the print re-request in step S1503. The printer application 20 requests the memory management module 30 to acquire job information in step S1504. The memory management module 30 notifies the printer application 20 of the job information in step S1505.
The printer application 20 saves the job information by changing the job information in step S1506 and notifying the memory management module 30 of the job information in step S1507. Step S1508 is the execution of the processing of the printer application 20.
The printer application 20 notifies the print control module 23 of the re-execution of the print process in step S1509. In step S1510, the print control module 23 requests the memory management module 30 to acquire job information. The memory management module 30 notifies the print control module 23 of the job information in step S1511. The print control module 23 changes the job information in step S1512, and notifies the memory management module 30 of the job information in step S1513 to save the job information. Step S1514 is the execution of the process of the print control module 23.
In step S1515, the print control module 23 notifies the plotter handler 27 of the plot re-execution. The plotter handler 27 requests the memory management module 30 to acquire the job information in step S1516. The memory management module 30 notifies the print control module 23 of the job information in step S1517. The print control module 23 changes the job information in step S1518, and notifies the memory management module 30 of the job information in step S1519 to save the job information. Step S1520 is the execution of the plotter.
The plotter handler 27 notifies the print control module 23 of the end of plotting in step S1521. The print control module 23 notifies the printer application 20 of the end of printing in step S1522. The printer application 20 notifies the operation panel application 161 of the end of printing in step S1523.
<figref num="1">It is a figure which shows the derivation of a job.</figref><figref num="2">It is a figure which shows the derivation of a job when printing a document in which pages are mixed.</figref><figref num="3">It is a figure which shows the job management in a printer application.</figref><figref num="4">It is a figure which shows the job management in the module of a service layer.</figref><figref num="5">It is a figure which shows the user interface.</figref><figref num="6">It is a state transition diagram of a job.</figref><figref num="7">It is a figure which shows the child job derived from the core job.</figref><figref num="8">It is a figure which shows the example when one job is derived from one job.</figref><figref num="9">It is a figure which shows the example when a plurality of jobs are derived from one job.</figref><figref num="10">It is a figure which shows the job structure in a plurality of MFPs.</figref><figref num="11">It is a figure which shows the example of the derivation of a job by delegation of processing.</figref><figref num="12">It is a figure which shows the example of the derivation of a job by the division of processing (the 1).</figref><figref num="13">It is a figure which shows the example of the derivation of a job by the division of processing (the 2).</figref><figref num="14">It is a figure which shows the derivation of a job.</figref><figref num="15">It is a figure which shows the implementation example in single process single thread.</figref><figref num="16">It is a figure which shows the implementation example in single process multithread.</figref><figref num="17">It is a figure which shows the implementation example in multi-process single-thread.</figref><figref num="18">It is a figure which shows the implementation example in multi-process and multi-thread.</figref><figref num="19">It is a figure which shows the implementation example of the operation to a job by a user.</figref><figref num="20">It is a figure which shows the job information (the 1).</figref><figref num="21">It is a figure which shows the job information (the 2).</figref><figref num="22">It is a figure which shows the example of permission information of a job operation.</figref><figref num="23">It is a figure which shows the example of the condition which can operate a job.</figref><figref num="24">It is a figure which shows the job structure table.</figref><figref num="25">It is a figure which shows the job structure table (XML).</figref><figref num="26">It is a figure which shows the job which occurs in the copy accumulation process.</figref><figref num="27">It is a software block diagram of MFP.</figref><figref num="28">It is a hardware block diagram of MFP.</figref><figref num="29">It is a figure (1) which shows the relationship of software.</figref><figref num="30">It is a figure (2) which shows the relationship of software.</figref><figref num="31">It is a figure which shows the job structure.</figref><figref num="32">It is a figure which shows the 1st example of job-related information.</figref><figref num="33">It is a figure which shows the job information in the 1st job-related information example.</figref><figref num="34">It is operation sequence diagram at the time of job registration in the 1st job-related information example.</figref><figref num="35">It is operation sequence diagram at the time of job reference in the 1st job-related information example.</figref><figref num="36">It is a figure which shows the 2nd job-related information example.</figref><figref num="37">It is a figure which shows the job information in the 2nd job-related information example.</figref><figref num="38">It is operation sequence diagram at the time of job registration in the 2nd job-related information example.</figref><figref num="39">It is operation sequence diagram at the time of job reference in the 2nd job-related information example.</figref><figref num="40">It is a figure which shows the 3rd job-related information example.</figref><figref num="41">It is a figure which shows the job information in the 3rd job-related information example.</figref><figref num="42">It is an operation sequence diagram at the time of job registration in the 3rd job-related information example.</figref><figref num="43">It is an operation sequence diagram at the time of job reference in the 3rd job-related information example.</figref><figref num="44">It is a figure which shows the 4th job-related information example.</figref><figref num="45">It is a figure which shows the job information in the 4th job-related information example.</figref><figref num="46">It is an operation sequence diagram at the time of job registration in the 4th job-related information example.</figref><figref num="47">It is a figure which shows the 5th job-related information example.</figref><figref num="48">It is a figure which shows the job information in the 5th job-related information example.</figref><figref num="49">It is operation sequence diagram at the time of job registration in the 5th job-related information example.</figref><figref num="50">It is a figure which shows the 6th job-related information example.</figref><figref num="51">It is a figure which shows the job information in the 6th job-related information example.</figref><figref num="52">It is operation sequence diagram at the time of job registration in the 6th job-related information example.</figref><figref num="53">It is a figure which shows the 7th job-related information example.</figref><figref num="54">It is operation sequence diagram at the time of job registration in the 7th job-related information example.</figref><figref num="55">It is operation sequence diagram at the time of job reference in 7th job-related information example.</figref><figref num="56">It is an operation sequence diagram at the time of job registration in the configuration shown in FIG.</figref><figref num="57">It is an operation sequence diagram at the time of job reference in the configuration shown in FIG.</figref><figref num="58">It is a sequence diagram which shows the process at the time of canceling a job.</figref><figref num="59">It is a sequence diagram which shows the process at the time of re-execution of a job.</figref>
Code description
5 Application layer 7 Service layer 9 Handler layer 20 Printer application 21 Copy application 22 FAX application 23 Print control module 24 FAX control module 25 Read control module 26 Job management module 27 Plotter handler 28 FAX unit handler 29 Scanner handler 30 Memory management module 51 Scanner 52 Scanner 53 Operation Panel 60 Controller Board 61 CPU 62 North Bridge (NB) 63 System Memory (MEM-P) 64 Local Memory (MEM-C) 65 Hard Disk Device (HDD) 66 ASIC 67 AGP (Accelerated Graphics Port) 68 Fax Control Unit (FCU) 69 G3 70 G4 71 Engine 73 South Bridge (SB) 74 NIC 75 USB Device 76 IEEE1394 Device 77 Centronics 103 FAX transmission job 104 FAX transmission job for each destination 110 Copy storage job 111 Read job 112 Print job 113 Storage job 114, 115 Plotter job 130 Each program 131 Dedicated queue 132, 150, 163, 166, 167, 170 Job information 133 Queue 151, 164, 168, 169, 171 Job related information 172, 173, 174 Relationship diagram 254, 417 Black and white print job 255, 256, 258 Plotter job 257, 418 Color print job 259 Print job 271, 272 Job structure 400 Job A 401 Job AA 402 Job AB 403 Job AAA 404 Job AAB 405 Job ABA 410,415 Print Job 411,416,432 Print Job 412, 419, 420, 421 Plotter Job 430 Copy Job 431 Read Job 433 Print jobs on pages 1 to 10 434 Print jobs on pages 11 435 Print jobs on pages 12 to 20 441 Fax send jobs 442, 443, 444 Fax send jobs for each destination 450 Job A 451 Job B 452 Job C 453 Job D 500 Process A 501 Thread A 502 Thread B 503 Thread C 505 Process B 506 Process C 507 Thread D 508 Thread E 601 Waiting 602 Running 603 Completed 604 Suspended 605 Canceled 606 Error occurred
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2008028719A | Cited by | Japan | Search report |
10 priority claims, no other members on record
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 2004064048 | Japan | A | |
| 2004064048 | Japan | – | |
| 2004064049 | Japan | A | |
| 2004064049 | Japan | – | |
| 2005057889 | Japan | A | |
| 2004200464048 | – | – | – |
| 2004200464049 | – | – | – |
| JP20040064048 | – | – | – |
| JP20040064049 | – | – | – |
| JP20050057889 | – | – | – |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Decision of refusalA02 | A02 | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Report on retrievalA977 | A977 | |
| Written request for application examinationA621 | A621 |
Numbers
- Publication
- 2005295514
- Publication, DOCDB
- 2005295514
- Publication, EPODOC
- JP2005295514
- Application
- 57889
- Application, DOCDB
- 2005057889
- Application, EPODOC
- JP20050057889
Titles3
- English
- IMAGE FORMING APPARATUS, AND JOB MANAGING METHOD
- Japanese
- 画像形成装置、ジョブ管理方法
- English
- Image forming device, job management method
Classification
- IPC, 4
- B41J29 38
- G03G21 00
- G06F3 12
- H04N1 00