This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2022-133642 filed Aug. 24, 2022.
The present invention relates to an information processing apparatus, a non-transitory computer readable medium storing a program, and an information processing method.
JP2013-3995A discloses a method of determining sheet refilling timing for a printing device in a case where a plurality of printing devices are operated.
JP2013-3995A discloses a method of determining a recommended timing of sheet replenishment on the basis of a printing speed and an amount of remaining sheets. In one method, first, the printing speed and the amount of remaining sheets of all the printers are obtained. Next, for all the printers, a time T1 at which the sheet run-out occurs in at least one sheet refilling tray is obtained. Further, for at least one printer, a time T2 at which the sheet run-out occurs in all the sheet refilling trays is obtained. Then, in a case where T1<T2, T1 is determined as a recommended sheet replenishment time. Further, in a case where T2≤T1, a sheet run-out time that arrives earlier than T2 and the latest sheet run-out time is set as T3, and the recommended sheet replenishment time is determined. JP2013-3995A describes that sheet run-out in all the sheet refilling trays of a certain printer and interruption of the printing operation of the printer are avoided or suppressed using the method.
In a case where sheets of a printing device run out while a worker refills a paper to another printing device, the worker is unable to refill the sheets to the former printing device until the sheet refilling of the latter printing device is completed. For the reason, the sheeting of the latter printing device is delayed by an amount of waiting for the completion of the sheet refilling of the former printing device, and the non-operating time period of the latter printing device increases.
Aspects of non-limiting embodiments of the present disclosure relate to an information processing apparatus, a non-transitory computer readable medium storing a program, and an information processing method that prevent a situation in which sheet refilling of a printing device delays sheet refilling of another printing device.
Aspects of certain non-limiting embodiments of the present disclosure overcome the above disadvantages and/or other disadvantages not described above. However, aspects of the non-limiting embodiments are not required to overcome the disadvantages described above, and aspects of the non-limiting embodiments of the present disclosure may not overcome any of the disadvantages described above.
According to an aspect of the present disclosure, there is provided an information processing apparatus including a processor configured to: execute assignment of jobs to a plurality of printing devices such that sheet refilling timings of the plurality of printing devices are shifted from each other.
Exemplary embodiment(s) of the present invention will be described in detail based on the following figures, wherein:
Referring to
The printing control device 100 is connected to a plurality of printing devices 200, and executes printing by controlling the plurality of printing devices 200. The printing control device 100 assigns a printing job received from a user to any of the plurality of printing devices 200 and executes the printing job. The printing job is a unit of a printing processing executed by the printing device, and includes printing data in which an image of a document to be printed is described in a page description language or the like. Hereinafter, the printing job is simply referred to as a job.
Although not shown, each user is able to access the printing control device 100 from his/her terminal through a network such as a local area network. The user registers the job in the printing control device 100, for example, through the network.
The printing control device 100 includes a job reception module 102, a status sensing module 104, a job selection module 106, a status estimation module 108, and a printing device communication module 110.
The job reception module 102 receives registration of the job from the user. For example, the job reception module 102 receives the job from a computer operated by the user through the network such as the local area network. Further, the job reception module 102 may receive designation of a file of a job for printing target from a group of files stored in a storage medium (for example, an optical disk or a flash memory) input to the storage medium reading device included in the printing control device 100.
The status sensing module 104 senses a status of each printing device 200 through the printing device communication module 110. The status sensed by the status sensing module 104 is, for example, an amount of remaining sheets in the sheet refilling unit of the printing device 200.
The job selection module 106 selects the job to be executed by each printing device 200. The processing, which is performed by the job selection module 106, will be described in detail later.
The status estimation module 108 estimates by calculation how the status of each printing device 200 changes in accordance with the selection of the job assigned to each printing device 200 by the job selection module 106. For example, the status estimation module 108 calculates how the amount of remaining sheets in each printing device 200 changes in accordance with the job assigned by the job selection module 106.
The printing device communication module 110 performs data communication with each printing device 200 through, for example, the network. The printing device communication module 110 executes, for example, communication in a case where the status sensing module 104 senses a status of each printing device 200 or communication for passing the job data to each printing device 200 in accordance with assignment of a finally determined job.
Next, an example of a procedure of processing executed by the printing control device 100 will be described with reference to
In S12, the status sensing module 104 senses a current status of each printing device 200, for example, a current amount of remaining sheets.
Next, the job selection module 106 calculates an amount of used sheets for the job from the data of each job received in S10 (S14). The amount of used sheets for the job may be calculated on the basis of, for example, the number of pages of a document represented by the printing data of the job, an instruction for imposition in the printing attributes of the job, an instruction for the number of copies to be printed, and the like.
Further, the job selection module 106 calculates, for each printing device 200, a printing time period or a printing rate, assuming that the current printing device 200 performs printing of each job received in S10 (S16). Here, the printing rate is a number of printed sheets per unit time period (for example, one minute) in a case where the current printing device 200 performs printing of the job. In other words, the printing rate is the amount of used sheets per unit time period, that is, the sheet consumption rate. The printing rate is calculated by a known calculation method, on the basis of the printing attributes of the jobs (for example, color/monochrome distinction, types of sheets to be used, and presence or absence of special processing such as gloss processing), and information indicating performance of the printing device 200. The printing time period is a time period required for printing the job with the current printing device, and is calculated by, for example, dividing the amount of used sheets for the job by the above-mentioned printing rate.
The job selection module 106 stores values calculated in S14 and S16 as, for example, a table shown in
Next, the job selection module 106 assigns the job to each printing device 200 such that the sheet refilling timings of the plurality of printing devices 200 are shifted from each other on the basis of the printing rate or the printing time period for each job of each printing device 200 obtained in S16 (S18).
Here, the sheet refilling timing of the printing device 200 is defined as, for example, a time at which sheet refilling is performed on the printing device 200. The sheet refilling operation is executed in a case where the sheet run-out occurs in the printing device 200. Therefore, in the following description, the time of occurrence of sheet run-out is defined as the sheet refilling timing.
Further, “the sheet refilling timings of the plurality of printing devices 200 are shifted from each other” means that, for example, periods, during which the sheet refilling operations are performed in each of the plurality of printing devices 200, do not overlap each other. For example, it is assumed that a length of the time period required for the sheet refilling operation of each printing device 200 is the same constant length. The length of the time period is referred to as a “sheet refilling time period length”. In such a case, the period, during which the sheet refilling operation is performed in the printing device 200, is a period of the sheet refilling time period length starting from the time of occurrence of the sheet run-out in the printing device 200.
In the example, in order for the periods of the sheet refilling operations of the plurality of printing devices 200 not to overlap each other, the time of occurrence of the sheet run-out in the printing devices 200, that is, the interval between the sheet refilling timings may be equal to or greater than the sheet refilling time period length. Strictly speaking, in any two of the plurality of printing devices 200, the interval between the sheet refilling timings of the two printing devices 200 may be equal to or greater than the sheet refilling time period length. In addition, in an actual field, a certain amount of time period is required for a worker to move to the printing device 200 in which the sheet run-out occurs. Therefore, the sheet refilling time period length may be adjusted to a length including a movement time period of the worker.
In S18, the job selection module 106 calculates how the plurality of jobs received in S10 are assigned to the respective printing devices 200 such that the sheet refilling timings of the printing devices 200 are shifted from each other. Then, in a case where such an assignment method is found, the job is assigned to each printing device 200 in accordance with the assignment method.
An example of detailed processing in S18 of
Here, the assignment pattern of the jobs is a pattern indicating to which of the plurality of printing devices 200 each of the plurality of jobs is assigned. For example, in a case where four jobs a, b, c, and d are printed by two printing devices A and B, an example of the assignment pattern is that the jobs a and b are assigned to the printing device A and the jobs c and d are assigned to the printing device B.
In the example, the job selection module 106 randomly generates assignment pattern of jobs to the plurality of printing devices 200 (S20). That is, the assignment pattern is generated by randomly mapping the plurality of jobs received in S10 to the plurality of printing devices 200. At the time, the plurality of jobs for one printing device 200 may be mapped.
Next, the job selection module 106 calculates a sheet refilling timing of each printing device 200 in a case where it is assumed that the job is assigned in accordance with the assignment pattern generated in S20 by using the status estimation module 108 (S22). The calculation is performed, for each printing device 200, by using the amount of remaining sheets in the printing device 200 sensed in S12, the amount of used sheets for each job assigned to the printing device 200 in S20, and the printing rate or the printing time period of the printing device 200 for each job.
In the calculation, the status estimation module 108 estimates a change in the status in a case where the job is assigned to the printing device 200 in accordance with the assignment pattern. The processing of the estimation is, for example, as follows. That is, in the example, the status estimation module 108 determines, in the order of jobs assigned to the printing device 200, whether or not the amount of used sheets for the job is equal to or greater than the amount of remaining sheets in the printing device 200. In a case where the result of the determination is No, that is, in a case where the amount of used sheets is less than the amount of remaining sheets, the current time is updated to a time at the printing completion time point of the job by adding the printing time period of the printing device 200 for the job to the current time. At the time, by subtracting the amount of used sheets from the amount of remaining sheets, the value of the amount of remaining sheets is updated to a value at the printing completion time point of the job. Then, the above-mentioned determination is repeated for the next job. In a case where the result of the determination is No, the current time and the amount of remaining sheets are updated in the same manner as described above. The current time is a time at which the next job is started, and the amount of remaining sheets after the update is an amount of remaining sheets at that time.
In a case where the amount of used sheets for a certain job is equal to or greater than the amount of remaining sheets while such processing is repeated, the sheet run-out occurs while the printing device 200 is executing the job or at the end of the execution. In such a case, the job selection module 106 calculates a time period required to entirely use the amount of remaining sheets at the printing rate of the printing device 200 for the job. Then, the job selection module 106 obtains a time at which the sheet run-out occurs in the printing device 200 by adding the time period obtained by the calculation to the current time. The time is the sheet refilling timing of the printing device 200.
It should be noted that the calculation of the sheet refilling timing of each printing device 200 by the status estimation module 108 described above can also be regarded as a calculation to find the length of the time period required to entirely use the amount of remaining sheets in the printing device 200 by executing the assigned job for each printing device 200.
Next, the job selection module 106 determines whether or not the intervals between the sheet refilling timings of the respective printing devices 200 calculated in S22 are all equal to or greater than the predetermined threshold value (S24). The sheet refilling timing of the printing device 200 is obtained by adding the time period required for the printing device 200 to entirely use the amount of remaining sheets to a time of the printing start. Therefore, the determination in S24 is equivalent to determination as to whether or not the intervals between time periods required for the printing devices 200 to entirely use the amounts of remaining sheets are equal to or greater than the predetermined threshold value.
The threshold value used in S24 may be the above-mentioned sheet refilling time period length. Further, the threshold value may be set on the basis of the sheet refilling time period length, for example, by adding a predetermined value to the sheet refilling time period length. In a case where even one interval between the sheet refilling timings of the printing device 200 is less than the threshold value, the determination result in S24 is No. In a case where none of the intervals between the sheet refilling timings of the printing device 200 is less than the threshold value, the determination result in S24 or Yes is obtained.
In a case where the result of the determination in S24 is No, the job selection module 106 returns the processing to S20, randomly generates the assignment patterns of the jobs for the plurality of printing devices 200, and then repeats the processing of the steps after S22.
In a case where the determination result in S24 is Yes, the job selection module 106 actually transmits the job to each printing device 200 through the printing device communication module 110 in accordance with the assignment pattern in which the determination result in S24 is Yes (S26). Each printing device 200 executes the job received from the printing device communication module 110. Thereby, the printing result of the job is obtained.
By assigning the job to each printing device 200 in accordance with the procedure of
Next, yet another example of the processing procedure of S18 in
In general, in the procedure, first selection processing is first executed. In the first selection processing, the job selection module 106 selects, for each of the plurality of printing devices 200, the job to be assigned to the current printing device 200 in accordance with a predetermined assignment policy within a range in which the amount of remaining sheets in the current printing device 200 does not reach 0. After the first selection processing, the job selection module 106 selects the job to be assigned to each of the plurality of printing devices 200, among the jobs remaining without being assigned to any of the plurality of printing devices 200 in the first selection processing, such that the sheet refilling timings of the plurality of printing devices 200 are shifted from each other. Through the first selection processing and the subsequent selection, the assignment pattern of each job to each printing device 200 is obtained.
Here, the assignment policy is a policy for determining a job to be assigned to the printing device 200. For example, in the procedure shown as an example in
Hereinafter, the procedure of
In the procedure of
Next, the job selection module 106 selects the printing device 200 (hereinafter, referred to as the target printing device 200) as a target in the processing of S36 to S42 from the plurality of printing devices 200 (S34). Here, among the printing devices 200 that have not yet been selected, the first printing device 200 in the sorting order is selected as the target printing device 200.
Next, the job selection module 106 determines whether or not there is a job which entirely uses the amount of remaining sheets in the target printing device 200, that is, a job in which the amount of used sheets is equal to or greater than the amount of remaining sheets, among the jobs that have not yet been selected (S36). The determination is equivalent to determination as to whether or not the matrix for determination shown as an example in
As shown in
In a case where the determination result in S36 is affirmative (that is, Yes), the job selection module 106 updates the matrix for determination. That is, in such a case, there is one or more jobs with an amount of used sheets equal to or greater than the amount of remaining sheets of the target printing device 200. Therefore, for each of such jobs, the value is set in the cell in which the column of the job intersects with the row of the target printing device 200, in the matrix for determination. Then, the job selection module 106 advances the processing to S42. In a case where the determination result in S36 is negative (that is, No), the job selection module 106 advances the processing to S38.
In S38, the job selection module 106 selects the job to be assigned to the target printing device 200. Here, among the jobs that have not yet been selected, the job with the highest printing rate is selected.
Next, the job selection module 106 calculates an amount of remaining sheets in the target printing device 200 after printing in a case where it is assumed that the job selected in S38 is assigned to the target printing device 200 and executed (S40). The calculation is achieved by subtracting the amount of used sheets for the job from the amount of remaining sheets of the target printing device 200 immediately before execution of S40.
After S40, the job selection module 106 returns the processing to S36. In S36, it is determined whether or not there is a job which entirely uses the amount of remaining sheets calculated in S40, that is, a job in which the amount of used sheets is equal to or greater than the amount of remaining sheets, among the jobs that have not yet been selected.
In a case where the determination result in S36 is negative (that is, No), the job selection module 106 returns the processing to S38 and selects the next job to be assigned to the target printing device 200. Then, the processing of S40 and S36 is executed for the selected job.
In such a manner, the job selection module 106 repeats the processing of S36 to S40 until the determination result of S36 is affirmative (that is, Yes).
In a case where the determination result in S36 is Yes, the job selection module 106 generates a group job consisting of jobs selected in the repetition of the loop of S36 to S40, and assigns the group job to the target printing device 200. (S42). In S42, the job selection module 106 adds information indicating that the group job is assigned to the target printing device 200 to the data of the assignment pattern being created. The job determined in S36 to entirely use the amount of remaining sheets of the target printing device 200 is not the job selected in S38. Therefore, the job is not included in the group job assigned to the target printing device 200. The target printing device 200 does not cause sheet run-out even in a case of performing printing in accordance with all the jobs included in the group jobs, but causes sheet run-out in a case of further performing printing in accordance with any of the jobs for which it is determined that the amount of remaining sheets is entirely used in S36. As described above, the group job uses an amount of sheets that causes the target printing device 200 to reach a state immediately before the sheet run-out occurs.
After S42, the job selection module 106 determines whether or not the group jobs have been assigned to all the printing devices 200 (S44). In a case where the result of the determination is No, the job selection module 106 returns the processing to S34, selects a printing device 200 that has not been selected so far as a target printing device, and repeats the processing of S36 to S44.
At a time point at which the result of the determination in S44 is Yes, group jobs have been assigned to all the printing devices 200. Further, at the time point, the following information is held in the cell at the position where the row of the printing device 200 intersects with the column of the job of the matrix for determination (refer to
In a case where the result of the determination in S44 is Yes, the job selection module 106 calculates a printing time period of each group job assigned to each printing device 200 (S46). The printing time period of a group job is the total printing time period of each job included in the group job.
Then, the job selection module 106 obtains the job to be assigned to each printing device 200 from the jobs that do not belong to any of the group jobs (S48).
At a time point in which S48 is started, a corresponding group job has been assigned to each printing device 200. In S48, the job selection module 106 additionally assigns the job that does not belong to any group job to each printing device 200 such that the intervals between the sheet refilling timings of the printing devices 200 are all equal to or greater than the threshold value. The job additionally assigned to the printing device 200 in S48 may be selected from the jobs corresponding to the cells in which a value of the time period is set, among the cells in the row of the printing device 200 in the matrix for determination (refer to, for example,
In S48, the job selection module 106 randomly assigns, to each printing device 200, the job corresponding to the cell in which a value of the time period is set in the row of the printing device 200 on the matrix for determination. In the assignment, the same job is not repetitively assigned to the plurality of printing devices 200. The job selection module 106 calculates a sheet refilling timing of each printing device 200 in the case of the assignment in such a manner, and determines whether or not all the intervals between the sheet refilling timings are equal to or greater than the threshold value. In a case where the result of the determination is negative, that is, in a case where there is an interval between the sheet refilling timings of the printing devices 200 that is less than the threshold value, the job selection module 106 randomly reassigns the jobs to the printing devices 200. The reassignment is repeated until it is determined that the intervals between the sheet refilling timings are all equal to or greater than the threshold value. In a case where the result of the determination is affirmative, that is, in a case where all the results of the determination are equal to or greater than the threshold value, the job selection module 106 adopts the assignment of the job to each printing device 200 at that time.
Then, the job selection module 106 transmits, for each printing device 200, the job group belonging to the corresponding group job and the job additionally assigned in S48 to the printing device 200, and causes the printing device 200 to execute printing.
The processing flow of the procedure of
Thereafter, the procedure of
In the matrix for determination shown in
Since the determination result in S36 is Yes, in the next S42, a group job consisting of the job 1 selected for the printing device 1 so far is generated, and the group job 1 is assigned to the printing device 1. In the next S44, since the printing device 200 to which the assignment of the group jobs has not yet been assigned remains, the processing returns to S34.
In S34, it is assumed that the printing device 2 is selected as the target printing device in accordance with the sorting order. In S38, among the unselected jobs, the job 4 having the highest printing rate in the printing device 2 is selected. In S40, by subtracting the amount of used 300 sheets for the job 4 from the amount of remaining 500 sheets in the printing device 2 at the time point, the amount of remaining sheets in the printing device 2 after printing of the job 4 is calculated as 200 sheets. In S36, the jobs 2, 5, and 6 are found as jobs which entirely use a new amount of remaining 200 sheets in the printing device 2 from the jobs that have not been selected so far. At the printing rates 25, 15, and 15 for the jobs 2, 5, and 6 of the printing device 2, the time periods for entirely using the amounts of remaining 200 sheets are 8, 13.33, and 13.33 minutes, respectively. In S36, the matrix for determination is updated as shown in
In the matrix for determination shown in
Thereafter, since the determination result in S36 is Yes, in the next S42, a group job consisting of the job 4 selected for the printing device 2 so far is generated, and the group job is assigned to the printing device 2. In the next S44, since the printing device 200 to which the assignment of the group jobs has not yet been assigned remains, the processing returns to S34.
In S34, the printing device 3 is selected as the target printing device in accordance with the sorting order. In S38, among the unselected jobs, the job 3 having the highest printing rate in the printing device 3 is selected. In S40, by subtracting the amount of used 100 sheets for the job 3 from the amount of remaining 400 sheets in the printing device 3 at the time point, the amount of remaining sheets in the printing device 3 after printing of the job 3 is calculated as 300 sheets. In S36, the jobs 5 and 6 are found as jobs which entirely use a new amount of remaining 300 sheets in the printing device 3 from the jobs that have not been selected so far. At the printing rates 15 and 10 for the jobs 5 and 6 of the printing device 3, the time periods for entirely using the amounts of remaining 300 sheets are 20 and 30 minutes, respectively. In S36, the matrix for determination is updated as shown in
In the matrix for determination shown in
By the above-mentioned processing, group jobs are assigned to the three printing devices 1, 2, and 3, respectively. The matrix for determination at the time point is in the state shown in
Next, in S48, for example, by repeatedly trying to randomly assign the jobs 2, 5, and 6 to the printing devices 1, 2, and 3, assignment, by which the interval between the sheet refilling timings of the printing devices 1, 2, and 3 is equal to or greater than the threshold value, is searched for. For example, in a case where the jobs 2, 5, and 6 are assigned to the printing devices 1, 2, and 3 in this order, the total printing time periods of the printing devices 1, 2, and 3 are 15, 23.33, and 34 minutes, respectively. The total printing time period is obtained by adding a value of 5 minutes of the cell in which the printing device 1 in the matrix for determination (refer to
Next, still another example of the processing procedure of S18 of
In the example, the job selection module 106 executes the procedure shown as an example in
In the procedure of
Next, the job selection module 106 determines whether or not there is a job which entirely uses the amount of remaining sheets in the target printing device, among the jobs that have not yet been selected (S54). In a case where the result of the determination is Yes, the matrix for determination is updated.
In a case where the result of the determination in S54 is No, the job selection module 106 selects the job having the largest amount of amount of used sheets, among the jobs that have not been selected so far, as the job to be assigned to the target printing device 200 (S56).
Next, the job selection module 106 calculates an amount of remaining sheets in the target printing device 200 after printing in a case where it is assumed that the job selected in S56 is assigned to the target printing device 200 and executed (S58).
Next, the job selection module 106 determines whether or not there is a job which entirely uses the amount of remaining sheets calculated in S58, among the jobs that have not yet been selected (S54).
The job selection module 106 repeats the processing of S54 to S58 until the determination result of S54 is Yes.
In a case where the determination result in S54 is Yes, the job selection module 106 generates a group job consisting of jobs selected in the repetition of the loop of S54 to S58, and assigns the group job to the target printing device 200. (S60).
Next, the job selection module 106 determines whether or not the group jobs have been assigned to all the printing devices 200 (S62). In a case where the result of the determination is No, the job selection module 106 returns the processing to S52, selects a printing device 200 which has not been selected so far as a target printing device, and repeats the processing of S54 to S62.
In a case where the result of the determination in S62 is Yes, the job selection module 106 calculates a printing time period of each group job assigned to each printing device 200 (S64). Then, the job selection module 106 additionally assigns a job that does not belong to any of the group jobs to each printing device 200 such that the intervals between the sheet refilling timings of the printing devices 200 are all equal to or greater than the threshold value (S66). Then, the job selection module 106 transmits, for each printing device 200, the job group belonging to the corresponding group job and the job additionally assigned in S66 to the printing device 200, and causes the printing device 200 to execute printing.
The processing flow of the procedure of
The state of the matrix for determination at the time point of start of the procedure of
Thereafter, in S52 of the procedure of
Since the determination result in S54 is Yes, in the next S60, a group job consisting of the job 1 selected for the printing device 1 so far is generated, and the group job 1 is assigned to the printing device 1. In the next S62, since the printing device 200 to which the assignment of the group jobs has not yet been assigned remains, the processing returns to S52.
In S52, among the unselected printing devices 2 and 3, the printing device 2 having the maximum amount of remaining sheets is newly selected as the target printing device. In S56, among the unselected jobs 2 to 6, the job 6 having the largest amount of used sheets is selected. In S58, by subtracting the amount of used 400 sheets for the job 6 from the amount of remaining 500 sheets in the printing device 2 at the time point, the amount of remaining sheets in the printing device 2 after printing of the job 6 is calculated as 100 sheets. In S54, the jobs 2, 3, 4, and 5 are found as jobs which entirely use a new amount of remaining 100 sheets in the printing device 2 from the jobs that have not been selected so far. At the printing rates 25, 20, 30, and 15 for the jobs 2, 3, 4, and 5 of the printing device 2, the time periods for entirely using the amounts of remaining 100 sheets are 4, 5, 3.33, and 6.66 minutes, respectively. In S54, the matrix for determination is updated as shown in
Thereafter, since the determination result in S54 is Yes, in the next S60, a group job consisting of the job 6 selected for the printing device 2 so far is generated, and the group job is assigned to the printing device 2. In the next S62, since the printing device 200 to which the assignment of the group jobs has not yet been assigned remains, the processing returns to S52.
In S52, the only remaining printing device 3 is selected as the target printing device. In S56, among the unselected jobs 4 and 5, the jobs 4 having the largest amount of used sheets, the job 4 is selected in accordance with the above-mentioned sub-rule. In S58, by subtracting the amount of used 300 sheets for the job 4 from the amount of remaining 400 sheets in the printing device 3 at the time point, the amount of remaining sheets in the printing device 3 after printing of the job 4 is calculated as 100 sheets. In S54, the jobs 2, 3 and 5 are found as jobs which entirely use a new amount of remaining 100 sheets in the printing device 3 from the jobs that have not been selected so far. At the printing rates 20, 25, and 15 for the jobs 2, 3, and 5 of the printing device 3, the time periods for entirely using the amounts of remaining 100 sheets are 5, 4, 6.66 minutes, respectively. In S54, the matrix for determination is updated as shown in
At the time point, the determination result of S62 is Yes. In the next S64, the printing time periods of the group jobs respectively assigned to the printing devices 1, 2, and 3 are calculated. Since the group job assigned to the printing device 1 includes only the job 1, the printing time period is 10 minutes. Further, since the group job assigned to the printing device 2 includes only the job 6, the printing time period is 26.66 minutes. Since the group job assigned to the printing device 3 includes only the job 4, the printing time period is 15 minutes.
Next, in S66, by repeatedly trying to randomly assign the remaining jobs 2, 3, and 5 to the printing devices 1, 2, and 3, assignment, by which the interval between the sheet refilling timings of the printing devices 1, 2, and 3 is equal to or greater than the threshold value, is searched for. For example, in a case where the jobs 2, 3, and 5 are assigned to the printing devices 1, 2, and 3 in this order, the total printing time period of the printing devices 1, 2, and 3 is 15, 31.66, and 21.66 minutes, respectively. The total printing time period is obtained by adding a value of 5 minutes of the cell in which the printing device 1 in the matrix for determination (refer to
An example of a procedure of the processing of determining an assignment pattern of the jobs has been described above for some assignment policies.
The assignment policies described so far are merely exemplary. The printing control device 100 may use another assignment policy in the first selection processing. For example, the printing control device 100 may present a list of assignment policy options to a user and receive the user's selection from the list. The printing control device 100 executes the first selection processing in accordance with the selected assignment policy, and then assigns the job, which remains without being assigned to any of the printing devices 200 through the first selection processing, to any of the printing devices 200 such that the differences between the sheet refilling timings of the respective printing device 200 are equal to or greater than the threshold value.
Next, a first modification example will be described. In the modification example, the printing control device 100 acquires the information defining the sheet refilling order, and calculates an assignment pattern of the jobs such that the sheet refilling timing of each printing device 200 arrives at a corresponding position in the sheet refilling order.
The sheet refilling order is an order in which sheet refilling is performed on each printing device 200.
The information for defining the sheet refilling order is, for example, information indicating a content of an explicit specification of the sheet refilling order from the user. For example, the printing control device 100 may present a screen for displaying a list of the printing devices 200, and may receive designation of the printing order of each printing device 200 from the user on the screen. The screen may display, for example, a map showing an installation position of each printing device 200.
Further, the information defining the sheet refilling order may be the above-mentioned map itself. From a relationship between the positions of the respective printing devices 200 indicated by the map, the shortest pathway to be circulated in each printing device 200 can be calculated by a known algorithm. The printing control device 100 may calculate such a pathway from the map and use the order of arrangement of the printing devices 200 along the pathway as the sheet refilling order. Further, in a case where the map includes information on the position of the sheet storage place, the printing control device 100 may obtain the shortest pathway that goes around each printing device 200 with the sheet storage place as a starting point, and may determine the sheet refilling order in accordance with the pathway.
In the modification example, in S18 of the processing procedure of
Further, in the case of the procedure shown in
Further, in the procedures shown as examples in
S66, the remaining jobs may be assigned to the respective printing devices 200 such that the order of the sheet refilling timings of the respective printing devices 200 is the same as the above-mentioned refilling order.
Further, in the modification example, the printing control device 100 may display a map indicating a position of each printing device 200 to the user.
On a map screen 500 shown in
Further, on the map screen 500, one or two remaining sheet amount scales 504 are shown on the left side of the icon 502 of each of the printing devices 1 to 5. The remaining sheet amount scale 504 indicates an amount of remaining sheets in a sheet containing unit, and shows a percentage of the current amount of remaining sheets in a case where the total capacity of the sheet containing unit is 100% as a bar graph. The two remaining sheet amount scales 504 are shown for the printing devices 1 and 2, but indicate that the printing devices 1 and 2 each have two sheet containing units. In a case where the cursor is moved to the icon 502 of the printing device, sheet type information 506 indicating the type of sheet in each sheet containing unit of the printing device is displayed.
Further, on the map screen 500, the remaining time period 508 until occurrence of sheet run-out (that is, the sheet refilling timing) of each of the current printing devices is displayed in association with each icon 502 of the printing devices 1 to 5. The printing control device 100 calculates time periods required for the respective printing devices 1 to 5 to entirely use the amounts of remaining sheets in the current printing devices by the job groups assigned to the current printing devices in the procedures of
The map screen 500 may be displayed on a display device attached to the printing control device 100, or may be displayed on a screen of a personal computer (PC) of a user accessing the printing control device 100 through a network.
Next, a second modification example will be described. In the above exemplary embodiment, assignment of the jobs in a case where a plurality of jobs are input to the printing control device 100 has been described. On the other hand, the modification example is an example in which a single job with a large amount of used sheets is input to the printing control device 100.
Then, the printing control device 100 divides the job received in S10a into a plurality of jobs (S11). Here, the job is divided into, for example, a predetermined number of jobs. Alternatively, the job is divided into a plurality of jobs having a predetermined amount of used sheets or less. Further, the job may be divided such that the amount of used sheets is substantially equal, or the job may be divided such that the amount of used sheets varies in accordance with the predetermined pattern.
Thereafter, the printing control device 100 executes the processing of S12 to S18 in the same manner as in the procedure of
The second modification example described above is an example in a case where a single job with a large amount of used sheets is input. However, the same method is also applicable in a case where a job with a large amount of used sheets is included in a plurality of input jobs. In such a case, the printing control device 100 divides a job with a large amount of used sheets among the plurality of input jobs. The printing control device 100 assigns a job group including a job generated by the division and a job not divided to each printing device 200 in accordance with the procedure shown as an example in
Next, a third modification example will be described.
In the procedure of
Next, the printing control device 100 calculates a printing time period of each printing device 200 in accordance with the assignment pattern received in S70 (S72). The calculation may be performed in the same manner as the processing of S16 in the procedure of
Next, the printing control device 100 determines, using the calculation result of S72, whether or not the intervals between the sheet refilling timings of the respective printing devices 200 in a case of following the assignment pattern received in S70 are equal to or greater than the threshold value (S74). The intervals between the sheet refilling timings of the printing devices 200 are equal to the difference between the printing time periods of the printing devices 200 calculated in S72. Therefore, in S72, it is determined whether or not all the differences between the printing time periods are equal to or greater than the threshold value. In a case where the result of the determination is Yes, the printing control device 100 assigns the job to each printing device 200 in accordance with the assignment pattern received in S70, and causes each printing device 200 to execute printing (S76).
In a case where the determination result in S74 is No, the printing control device 100 displays a warning message, and then inquires to the user whether or not to intactly execute printing with the input assignment pattern (S78). For example, the warning message to be displayed may indicate that the time periods of the sheet refilling operations may overlap in the plurality of printing devices 200.
The printing control device 100 receives the response of the user to the inquiry in S78, and determines whether or not the response is “the printing is intactly executed with the input assignment pattern” (S80). In a case where the determination result in S80 is Yes, the printing control device assigns the job to each printing device 200 in accordance with the assignment pattern and causes printing to be executed (S76).
In a case where the determination result in S80 is No, the printing control device 100 assigns the job to each printing device 200 such that the sheet refilling timings of the plurality of printing devices 200 are shifted from each other on the basis of the printing rate or the printing time period for each job of each printing device 200 obtained in S72 (S18). The processing is the same as the processing of S18 in
As described above, in the modification example, in a case where the sheet refilling operations of the plurality of printing devices 200 may overlap with each other in the assignment pattern which is input by the user, the printing control device 100 calculates such assignment patterns that the sheet refilling operations of the printing device 200 do not overlap.
The exemplary embodiments and modification examples of the present invention have been described above. These exemplary embodiments and modification examples are merely exemplary, and various modification examples and improvements can be made within the scope of the present invention.
The printing control device 100 in the exemplary embodiment and the modification example described above is configured by using, for example, a general-purpose computer. For example, as shown as an example in
In the above-mentioned exemplary embodiments, the term “processor” refers to hardware in a broad sense. Examples of the processor include general processors (e.g., CPU: Central Processing Unit) and dedicated processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, and programmable logic device).
In the embodiments above, the term “processor” refers to hardware in a broad sense. Examples of the processor include general processors (e.g., CPU: Central Processing Unit) and dedicated processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, and programmable logic device).
In the embodiments above, the term “processor” is broad enough to encompass one processor or plural processors in collaboration which are located physically apart from each other but may work cooperatively. The order of operations of the processor is not limited to one described in the embodiments above, and may be changed.
Supplementary Note
(((1)))
An information processing apparatus comprising:
(((2)))
The information processing apparatus according to (((1))), wherein the processor is configured to:
(((3)))
The information processing apparatus according to (((1))), wherein the processor is configured to:
(((4)))
The information processing apparatus according to any one of (((1))) to (((3))), wherein the processor is configured to:
(((5)))
The information processing apparatus according to any one of (((1))) to (((4))), wherein the processor is configured to:
(((6)))
The information processing apparatus according to any one of (((1))) to (((5))), wherein the processor is configured to:
(((7)))
The information processing apparatus according to (((6))),
(((8)))
The information processing apparatus according to (((6))),
(((9)))
The information processing apparatus according to any one of (((1))) to (((8))), wherein the processor is configured to:
(((10)))
The information processing apparatus according to any one of (((1))) to (((9))), wherein the processor is configured to:
(((11)))
A program causing a computer to execute processing comprising:
The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2022-133642 | Aug 2022 | JP | national |