Print control device, printing system, and program
The printing system dynamically adjusts the number and specifications of virtual data conversion servers based on print requests to optimize processing capacity, addressing inefficiencies in existing systems and ensuring stable, cost-effective printing services.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-25
- Publication Date
- 2026-04-07
AI Technical Summary
Existing printing systems face inefficiencies in processing capacity due to fixed numbers of data conversion servers, leading to underutilization or overutilization based on varying amounts of print job data.
A printing system with a print control unit that dynamically adjusts the number and specifications of virtual data conversion servers based on predetermined numbers related to print requests, using auto-scaling to allocate print jobs effectively.
The system ensures optimal processing capacity by preventing server overload or underutilization, reducing operational costs, and maintaining stable printing services by anticipating user demands.
Smart Images

Figure 0007841316000004 
Figure 0007841316000005 
Figure 0007841316000006
Abstract
Description
Technical Field
[0001] The present invention relates to a printing control apparatus, a printing system, and a program.
Background Art
[0002] A printing system that facilitates setting of a printer connected to a network is known (see Patent Document 1). In the printing system described in Patent Document 1, a printing control apparatus, a data conversion server that converts print job data into a data format printable by a printing apparatus, and the printing apparatus are connected via a network.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the printing system described in Patent Document 1, the number of data conversion servers is fixed, and the processing capacity decreases when there is a large amount of print job data. Further, in the printing system described in Patent Document 1, the processing capacity becomes excessive when there is a small amount of print job data.
Means for Solving the Problems
[0005] The present disclosure has been made to solve the above problems, and one aspect of the present disclosure is a change control unit that performs control to change the number or specifications of one or more virtual data conversion servers that convert data of a print job corresponding to a print request into data corresponding to a printing apparatus based on a predetermined number related to the print request issued from a terminal device, and an allocation control unit that performs control to allocate the print job to the one or more data conversion servers after the change, and a printing control apparatus comprising the same.
[0006] Furthermore, one aspect of this disclosure is a printing system comprising the above-described print control device and one or more data conversion servers.
[0007] Furthermore, one aspect of this disclosure is a program for causing a computer to perform a change control step that controls the number or specifications of one or more virtual data conversion servers that convert data of print jobs corresponding to print requests into data corresponding to a printing device, based on a predetermined number of print requests issued from a terminal device, and an assignment control step that controls the assignment of the print jobs to the one or more data conversion servers after the change. [Brief explanation of the drawing]
[0008] [Figure 1] This figure shows an example of the configuration of a printing system according to the first embodiment of this disclosure. [Figure 2] This is a schematic block diagram illustrating an example of how print jobs are stored in a queue according to the first embodiment of this disclosure. [Figure 3] This figure shows an example of the functional configuration of the print control unit according to the first embodiment of this disclosure. [Figure 4] This figure shows an example of a printing process according to the first embodiment of this disclosure. [Figure 5] This figure shows an example of auto-scaling processing by the print control unit according to the first embodiment of this disclosure. [Figure 6] This figure shows an example of auto-scaling processing when the number of print requests is used as the predetermined number according to the first embodiment of this disclosure. [Figure 7] This figure shows an example of auto-scaling processing when the number of queued print jobs is used as the predetermined number according to the first embodiment of this disclosure. [Figure 8] This figure shows an example of the configuration of the second print control unit according to the second embodiment of the present disclosure. [Figure 9]This figure shows an example of auto-scaling processing by the second print control unit according to the second embodiment of the present disclosure. [Figure 10] This figure shows an example of the functional configuration of the third print control unit according to the third embodiment of the present disclosure. [Figure 11] This figure shows an example of auto-scaling processing by the third print control unit according to the third embodiment of the present disclosure. [Modes for carrying out the invention]
[0009] The embodiments of this disclosure will be described in detail below with reference to the drawings. Figure 1 is a diagram showing an example of the configuration of the printing system 1 according to this embodiment. The printing system 1 comprises a group of terminal devices 2, a server for receiving print requests 3, a print control server 4, a group of data conversion servers 6, and a group of printing devices 7.
[0010] Data Conversion Server Group 6 consists of one or more virtual data conversion servers. In other words, Data Conversion Server Group 6 is a single server that functions as multiple servers by running multiple operating systems (OS) on it. The number of one or more virtual data conversion servers included in Data Conversion Server Group 6 is changeable. In the following explanation, the number of one or more virtual data conversion servers included in Data Conversion Server Group 6 is also referred to as the number of servers M1. The virtual data conversion servers included in Data Conversion Server Group 6 have similar functions to each other. Therefore, in the following explanation, the virtual data conversion servers included in Data Conversion Server Group 6 may be represented by Data Conversion Server 61.
[0011] Terminal device group 2 consists of one or more terminal devices. The one or more terminal devices included in terminal device group 2 have similar functions. Therefore, in the following explanation, terminal devices included in terminal device group 2 may be represented by terminal device 21.
[0012] The printing device group 7 is one or more printing devices. The one or more printing devices included in the printing device group 7 have the same functions as each other. Therefore, hereinafter, there may be cases where the printing devices included in the printing device group 7 are represented by the printing device 71 for explanation.
[0013] The terminal device group 2, the printing request reception server 3, the printing control server 4, the data conversion server group 6, and the printing device group 7 are connected to communicate with each other via a wireless network. The terminal device group 2 and the printing request reception server 3 communicate with each other via, for example, a mobile communication network. The printing request reception server 3, the printing control server 4, the data conversion server group 6, and the printing device group 7 communicate with each other via, for example, a wireless LAN (Local Area Network).
[0014] The terminal device 21 issues a printing request. The printing request is an instruction for causing the printing device 71 to execute printing. The printing request includes information on a document or image to be printed, printing setting information, and the like.
[0015] A document application and a printer driver are installed in the terminal device 21. The document application is a program having a function of creating a document or image and a function of issuing a printing request. The printer driver is a program for controlling the printing operation by the printing device 71.
[0016] The terminal device 21 is, for example, a smartphone. The terminal device 21 may be a personal computer (PC).
[0017] The printing request reception server 3 is a server that receives the printing request issued from the terminal device 21. The printing request reception server 3 generates a printing job corresponding to the received printing request. The printing request reception server 3 transmits the generated printing job to the printing control server 4.
[0018] The printing request reception server 3 manages the number of printing requests N1. The number of printing requests N1 is the number of printing requests issued from the terminal device 21 from the present time to a predetermined time before. The predetermined time is, for example, 10 minutes. The printing request reception server 3 immediately updates the number of printing requests N1.
[0019] The number of printing requests N1 corresponds to the processing load predicted for the data conversion server group 6 in the near future. Therefore, for example, before the processing is actually performed by the data conversion server group 6, based on the number of printing requests N1, the number of virtual data conversion servers included in the data conversion server group 6 can be increased. In the printing system 1, the above enhancement can be performed as the number of printing requests N1 changes over time.
[0020] The print control server 4 includes a queue for storing the print jobs received from the print request reception server 3. The print control server 4 sequentially transmits the print jobs stored in the queue to the data conversion server group 6 according to the operating status of the printer group 7.
[0021] FIG. 2 shows a state in which a print job is stored in the queue A1 provided in the print control server 4. In FIG. 2, four print jobs, the first print job B1, the second print job B2, the third print job B3, and the fourth print job B4, are stored in the queue A1. The first print job B1, the second print job B2, the third print job B3, and the fourth print job B4 are sequentially transmitted to the data conversion server group 6 in this order. The fifth print job B5 is a print job that will be stored in the queue A1 soon. In the following description, the fact that a print job is newly stored in the queue A1 is also referred to as adding the print job to the queue A1.
[0022] Returning to FIG. 1, the description of the configuration of the print control server 4 will be continued. The print control server 4 includes a print control unit 5. The print control unit 5 assigns print jobs accumulated in the queue to one of the data conversion servers included in the data conversion server group 6. The print control unit 5 also performs auto-scaling. Auto-scaling involves changing the number or specifications of virtual servers. In this embodiment, as an example, the print control unit 5 performs control to change the number of servers M1. In other words, the print control unit 5 changes the number of data conversion servers, which are virtual servers.
[0023] The print control unit 5 is, for example, provided as a program in the print control server 4. In other words, each function of the print control unit 5 is realized when the CPU in the print control server 4 reads the program from ROM (Read Only Memory) and executes the processing.
[0024] The data conversion server 61 converts the print job data received from the print control server 4 into data compatible with the printing device 71. The data conversion server 61 then transmits the converted data to the printing device 71.
[0025] The printing device 71 performs printing based on the data converted by the data conversion server 61.
[0026] In Figure 1, the configuration of the printing system 1 is described as an example in which the print request receiving server 3 and the print control server 4 are provided as separate servers, but the system is not limited to this. The printing system 1 may also be equipped with a single integrated server that combines the functions of both the print request receiving server 3 and the print control server 4, instead of the print request receiving server 3 and the print control server 4.
[0027] Figure 3 shows an example of the functional configuration of the print control unit 5 according to this embodiment. The print control unit 5 comprises an acquisition unit 50, a change control unit 51, and an assignment control unit 52.
[0028] The acquisition unit 50 acquires a predetermined number N0 related to print requests issued from the terminal device 21. The predetermined number N0 is, for example, the number of print requests N1 or the number of queued print jobs N2.
[0029] The change control unit 51 performs control to change the number of servers M1 based on a predetermined number N0.
[0030] The allocation control unit 52 controls the assignment of print jobs to one or more virtual data conversion servers included in the modified data conversion server group 6. The modified data conversion server group 6 is the data conversion server group 6 whose number of servers M1 has been changed by the change control unit 51.
[0031] Next, referring to Figures 4 to 7, the printing process, which is the process in which printing is performed in the printing system 1, will be described. In parallel with the printing process, auto-scaling is performed by the printing control unit 5. The printing process and auto-scaling by the printing control unit 5 are repeated while the printing system 1 is in operation.
[0032] Figure 4 shows an example of the printing process according to this embodiment. Step S10: Terminal device 21 issues a print request. The user of terminal device 21 performs an operation to instruct printing from the menu of the application installed on terminal device 21. Upon receiving this operation, terminal device 21 sends a print request corresponding to the print instruction to the print request receiving server 3. Subsequently, the print request receiving server 3 executes the process in step S20.
[0033] Step S20: The print request receiving server 3 receives a print request issued from the terminal device 21. The print request receiving server 3 generates a print job corresponding to the received print request. The print request receiving server 3 sends the generated print job to the print control server 4. Subsequently, the print control server 4 executes the process in step S30.
[0034] Step S30: The print control server 4 adds the print job received from the print request receiving server 3 to the queue. The print control server 4 also sequentially sends the print jobs stored in the queue to the data conversion server group 6, depending on the operating status of the printing device group 7. Subsequently, the data conversion server 61 executes the process in step S40.
[0035] Step S40: The data conversion server 61 converts the print job data received from the print control server 4 into data compatible with the printing device 71. Subsequently, the data conversion server 61 executes the process in step S50.
[0036] Step S50: The data conversion server 61 sends the converted data to the printing device 71. Subsequently, the printing device 71 performs the process of step S60.
[0037] Step S60: The printing device 71 performs printing based on the data converted by the data conversion server 61. With this, printing system 1 terminates the printing process.
[0038] Figure 5 shows an example of the auto-scaling process performed by the print control unit 5 according to this embodiment. Step S110: The acquisition unit 50 acquires a predetermined number N0 related to print requests issued from the terminal device 21. The acquisition unit 50 acquires a predetermined number N0 from the print request receiving server 3 or the print control server 4. Subsequently, the print control unit 5 executes the process of step S120.
[0039] Step S120: The change control unit 51 controls the number of servers M1 based on the acquired predetermined number N0. For example, if the predetermined number N0 is greater than or equal to a reference number, the change control unit 51 increases the number of servers M1. On the other hand, if the predetermined number N0 is less than a reference number, the change control unit 51 decreases the number of servers M1. Subsequently, the print control unit 5 executes the process of step S130.
[0040] Step S130: The allocation control unit 52 controls the allocation of print jobs to one or more virtual data conversion servers included in the modified data conversion server group 6. With this, the print control unit 5 terminates the auto-scaling process.
[0041] Next, referring to Figure 6, we will explain the case where the number of print requests N1 is used as the predetermined number N0. Figure 6 is a diagram showing an example of the auto-scaling process when the number of print requests N1 is used as the predetermined number N0 according to this embodiment. Note that the process in step S230 is the same as the process in step S130 in Figure 5, so the explanation will be omitted.
[0042] Step S210: The acquisition unit 50 acquires the print request count N1 from the print request receiving server 3. As described above, the print request count N1 is updated each time the print request receiving server 3 accepts a print request or each time the print request receiving server 3 sends a print job to the print control server 4. The print request count N1 that the acquisition unit 50 acquires from the print request receiving server 3 is the latest print request count N1. Subsequently, the print control unit 5 executes the process of step S220.
[0043] Step S220: The change control unit 51 controls the number of servers M1 based on the acquired number of print requests N1. Therefore, the change control unit 51 uses the number of print requests N1 as a predetermined number N0. For example, if the number of print requests N1 is greater than or equal to a reference number, the change control unit 51 increases the number of servers M1. On the other hand, if the number of print requests N1 is less than a reference number, the change control unit 51 decreases the number of servers M1. Subsequently, the print control unit 5 executes the process of step S230. With this, the print control unit 5 terminates the auto-scaling process when the number of print requests N1 is used as the predetermined number N0.
[0044] Next, referring to Figure 7, we will explain the case where the number of queue-stored print jobs N2 is used as the predetermined number N0. Figure 7 is a diagram showing an example of the auto-scaling process when the number of queue-stored print jobs N2 is used as the predetermined number N0 according to this embodiment. Note that the process in step S330 is the same as the process in step S130 in Figure 5, so the explanation will be omitted.
[0045] Step S310: The acquisition unit 50 acquires the queued print job count N2 from the print control server 4. The queued print job count N2 is updated each time a print job is added to the queue or each time a print job stored in the queue is sent to the data conversion server group 6. The queued print job count N2 acquired by the acquisition unit 50 from the print control server 4 is the latest queued print job count N2. Subsequently, the print control unit 5 executes the process of step S320.
[0046] Step S320: The change control unit 51 controls the number of servers M1 based on the acquired number of queued print jobs N2. The change control unit 51 uses the number of queued print jobs N2 as a predetermined number N0. For example, if the number of queued print jobs N2 is greater than or equal to a reference number, the change control unit 51 increases the number of servers M1. On the other hand, if the number of queued print jobs N2 is less than a reference number, the change control unit 51 decreases the number of servers M1. Subsequently, the print control unit 5 executes the process of step S330. With this, the print control unit 5 terminates the auto-scaling process when the number of queued print jobs N2 is used as the predetermined number N0.
[0047] A second embodiment of this disclosure will be described in detail below with reference to the drawings. In the first embodiment described above, the case in which the predetermined number N0 is the number of print requests N1 or the number of queued print jobs N2, that is, the case in which one number is used as the predetermined number N0. In this embodiment, the case in which the predetermined number N0 is the result of multiplying each of 1 or more numbers by a coefficient is used.
[0048] The printing system according to this embodiment is referred to as the second printing system 1a, and the printing control unit is referred to as the second printing control unit 5a. Comparing the second printing system 1a according to this embodiment with the printing system 1 according to the first embodiment, the second printing control unit 5a is different. Note that components identical to those in the first embodiment described above are denoted by the same reference numerals, and descriptions of identical components and operations may be omitted.
[0049] Figure 8 shows an example of the configuration of the second print control unit 5a according to this embodiment. The second print control unit 5a comprises an acquisition unit 50, a second modification control unit 51a, an assignment control unit 52, and a coefficient setting unit 53. Comparing the second print control unit 5a according to this embodiment with the print control unit 5 according to the first embodiment, the second modification control unit 51a and the coefficient setting unit 53 are different. Here, the functions of the acquisition unit 50 and the assignment control unit 52 are the same as in the first embodiment.
[0050] The coefficient setting unit 53 sets a coefficient C1 to multiply each of the 1 or more numbers used as the predetermined number N0. For example, the coefficient setting unit 53 sets a coefficient C1 to multiply both the number of print requests N1 and the number of queue-stored print jobs N2.
[0051] The second change control unit 51a uses the result of multiplying the number used as the predetermined number N0 by the coefficient C1 set by the coefficient setting unit 53. For example, as shown in equation (1), the second change control unit 51a uses the result of multiplying the number of print requests N1 by the coefficient C1 set by the coefficient setting unit 53 as the predetermined number N0.
[0052]
number
[0053] In equation (1), the letter "α" is a predetermined constant. The letter "α" represents an example of the coefficient C1 set by the coefficient setting unit 53.
[0054] Alternatively, for example, the second change control unit 51a may use the result of multiplying the number of queue-stored print jobs N2 by a coefficient C1 set by the coefficient setting unit 53 as a predetermined number N0, as shown in equation (2).
[0055]
number
[0056] In equation (2), the letter "β" is a predetermined constant. The letter "β" represents an example of the coefficient C1 set by the coefficient setting unit 53.
[0057] Furthermore, the second change control unit 51a may use both the number of print requests N1 and the number of queued print jobs N2 as the predetermined number N0. In that case, for example, as shown in equation (3), the second change control unit 51a uses the result of multiplying the number of print requests N1 and the number of queued print jobs N2 by a coefficient C1 set by the coefficient setting unit 53 as the predetermined number N0.
[0058]
number
[0059] In equation (3), the letters "α" and "β" are predetermined constants. The letters "α" and "β" represent examples of coefficients C1 set by the coefficient setting unit 53.
[0060] For example, the coefficient setting unit 53 sets the value of coefficient C1 indicated by the character "α" in equation (3) to 0.7 and the value of coefficient C1 indicated by the character "β" to 0.3. This setting corresponds to the second change control unit 51a changing the number of servers M1 by giving more weight to the number of print requests N1 than to the number of queued print jobs N2.
[0061] In another example, the coefficient setting unit 53 sets the value of coefficient C1 indicated by the character "α" in equation (3) to 1.0 and the value of coefficient C1 indicated by the character "β" to 1.9. This setting corresponds to the second change control unit 51a changing the number of servers M1 by giving more weight to the number of queued print jobs N2 than to the number of print requests N1. Since print jobs are already stored in the queue when the number of queued print jobs N2 is obtained, this setting allows the second change control unit 51a to change the number of servers M1 as quickly as possible in response to the congestion of print jobs.
[0062] Furthermore, while an example has been described in which the second modification control unit 51a uses the result of multiplying the number of print requests N1 and the number of queued print jobs N2 by the coefficient C1 set by the coefficient setting unit 53 as the predetermined number N0, it is not limited to this example. The second modification control unit 51a may use both the number of print requests N1 and the number of queued print jobs N2 as the predetermined number N0 without multiplying by the coefficient C1. For example, the second modification control unit 51a may use the result of adding the number of print requests N1 and the number of queued print jobs N2 as the predetermined number N0.
[0063] Figure 9 shows an example of the auto-scaling process performed by the second print control unit 5a according to this embodiment. Note that the process in step S440 is the same as the process in step S130 in Figure 5, so its explanation is omitted.
[0064] Step S410: The acquisition unit 50 acquires one or more numbers to be used as a predetermined number N0. The acquisition unit 50 acquires the number of print requests N1 from the print request receiving server 3 as one of the one or more numbers. The acquisition unit 50 acquires the number of queued stored print jobs N2 from the print control server 4 as another of the one or more numbers. Subsequently, the second print control unit 5a executes the process of step S420.
[0065] Step S420: The coefficient setting unit 53 sets a coefficient C1 to be multiplied by each of the 1 or more numbers used as the predetermined number N0. Subsequently, the second print control unit 5a executes the process of step S430.
[0066] Step S430: The second change control unit 51a controls the number of servers M1 based on the result of multiplying each of the 1 or more numbers used as the predetermined number N0 by a coefficient C1 set by the coefficient setting unit 53. As an example, the second change control unit 51a sets a predetermined constant as the coefficient C1, such as the letters "α" and "β" shown in equation (3) above. Subsequently, the second print control unit 5a executes the process of step S440.
[0067] In the second embodiment described above, an example was given where the coefficient C1 is a predetermined constant, but the invention is not limited to this. The coefficient C1 may be a function of a predetermined parameter. This parameter may be, for example, the number of print requests N1. This parameter may also be the number of queued print jobs N2. This parameter may be multiple. These multiple parameters may be, for example, the number of print requests N1 and the number of queued print jobs N2. This function may be, for example, a polynomial of the predetermined parameter. This polynomial may be, for example, a quadratic polynomial. If the coefficient C1 is a function of a predetermined parameter, the coefficient setting unit 53 sets the coefficient C1 as, for example, a function of the number of print requests N1. With this, the second print control unit 5a terminates the auto-scaling process.
[0068] A third embodiment of this disclosure will be described in detail below with reference to the drawings. In the second embodiment described above, we will explain the case in which the coefficient C1, which is multiplied by a number of 1 or more used as a predetermined number N0, is set according to the time period.
[0069] The printing system according to this embodiment is referred to as the third printing system 1b, and the printing control unit is referred to as the third printing control unit 5b. Comparing the third printing system 1b according to this embodiment with the second printing system 1a according to the second embodiment, the third printing control unit 5b is different. Note that components identical to those in the first and second embodiments described above are denoted by the same reference numerals, and descriptions of identical components and operations may be omitted.
[0070] Figure 10 shows an example of the functional configuration of the third print control unit 5b according to this embodiment. The third print control unit 5b comprises an acquisition unit 50, a second change control unit 51a, an assignment control unit 52, and a second coefficient setting unit 53b. Comparing the third print control unit 5b according to this embodiment with the second print control unit 5a according to the second embodiment, the second coefficient setting unit 53b is different. Here, the functions of the acquisition unit 50, the second change control unit 51a, and the assignment control unit 52 are the same as in the second embodiment.
[0071] The second coefficient setting unit 53b sets the coefficient C1 according to the time period. The time period is, for example, a time of day. If the time period is a time of day, it is distinguished, for example, as daytime and nighttime. In another example, the time period is, for example, a day of the week. If the time period is a day of the week, it is distinguished, for example, as weekdays and Saturdays and Sundays. In yet another example, the time period is a time of year when a particular event occurs. Such an event is, for example, summer vacation or year-end and New Year holidays.
[0072] Figure 11 shows an example of the auto-scaling process performed by the third print control unit 5b according to this embodiment. Note that the processes in steps S510, S530, and S540 are the same as the processes in steps S410, S430, and S440 in Figure 9, so their explanation is omitted.
[0073] The third print control unit 5b executes the process of step S520 after step S510. Step S520: The second coefficient setting unit 53b sets the coefficient C1 according to the time. The second coefficient setting unit 53b obtains time information from the storage unit. The time information is data that associates the time with the value to be set for coefficient C1. The third print control unit 5b sets the coefficient C1 according to the time based on the time information. The storage unit in which the time information is stored is provided in the third print control unit 5b, and this storage unit is not shown in Figure 10. Subsequently, the third print control unit 5b executes the process of step S540.
[0074] Here, we will explain the coefficient C1 that is set according to the time period, assuming that a predetermined number N0 is the number of print requests N1 and the number of queued print jobs N2. For example, the second coefficient setting unit 53b makes the coefficient C1 multiplied by the number of queue-stored print jobs N2 greater than the coefficient C1 multiplied by the number of print requests N1 when the period is a Saturday or Sunday. The second coefficient setting unit 53b makes the coefficient C1 multiplied by the number of print requests N1 greater than the coefficient C1 multiplied by the number of queue-stored print jobs N2 when the period is a weekday.
[0075] In another example, the second coefficient setting unit 53b, when the time is the summer vacation period, increases the coefficient C1 multiplied by the number of print requests N1 to be greater than the coefficient C1 multiplied by the number of queue-stored print jobs N2, such that the ratio of the coefficient C1 multiplied by the number of print requests N1 to the coefficient C1 multiplied by the number of queue-stored print jobs N2 is greater than a predetermined ratio. With this, the third print control unit 5b terminates the auto-scaling process.
[0076] In each of the embodiments described above, the change control unit 51 or the second change control unit 51a may use the size of the print job generated in response to the print request, or the size of the print job stored in the queue, as a predetermined number N0. Alternatively, the change control unit 51 or the second change control unit 51a may use both the size of the print job generated in response to the print request and the size of the print job stored in the queue as a predetermined number N0.
[0077] In the embodiments described above, an example was given in which the change control unit 51 or the second change control unit 51a controls the number of virtual data conversion servers included in the data conversion server group 6 based on a predetermined number N0, but it is not limited to this. The change control unit 51 or the second change control unit 51a may also control the specifications of virtual data conversion servers included in the data conversion server group 6 based on a predetermined number N0.
[0078] When the change control unit 51 or the second change control unit 51a performs control to change the specifications of one or more virtual data conversion servers included in the data conversion server group 6, the change control unit 51 or the second change control unit 51a may use the size of the print jobs generated in response to the print requests as a predetermined number N0 instead of the number of print requests N1. Also, the change control unit 51 or the second change control unit 51a may use the size of the print jobs stored in the queue as a predetermined number N0 instead of the number of queued print jobs N2.
[0079] Furthermore, the change control unit 51 or the second change control unit 51a may perform control to change both the number and specifications of one or more virtual data conversion servers included in the data conversion server group 6 based on a predetermined number N0.
[0080] In the embodiments described above, an example was given in which the print control unit 5, the second print control unit 5a, or the third print control unit 5b are provided as a program in the print control server 4, but the invention is not limited to this. The print control unit 5, the second print control unit 5a, or the third print control unit 5b may be provided as a print control device which is a server separate from the print control server 4.
[0081] As described above, each print control device according to the above embodiments comprises a change control unit and an assignment control unit 52. The change control unit controls the number or specifications of one or more virtual data conversion servers that convert print job data corresponding to print requests into data compatible with the printing device, based on a predetermined number N0 of print requests issued from the terminal device. The allocation control unit 52 controls the allocation of print jobs to one or more modified data conversion servers.
[0082] In the first embodiment described above, the print control unit 5 is an example of a print control device. The change control unit 51 is an example of a change control unit. In the second embodiment described above, the second print control unit 5a is an example of a print control device. In the third embodiment described above, the third print control unit 5b is an example of a print control device. In the second and third embodiments described above, the second change control unit 51a is an example of a change control unit. In each of the embodiments described above, any terminal device included in the terminal device group 2 is an example of a terminal device. In each of the embodiments described above, the data conversion server group 6 is an example of one or more data conversion servers.
[0083] With this configuration, the print control device according to each embodiment can change the number or specifications of one or more virtual data conversion servers based on a predetermined number N0 of print requests, thereby preventing an excess or deficiency in the processing capacity of the one or more data conversion servers. When there is a large amount of print job data, the print control device according to each embodiment can prevent a decrease in the processing capacity of the one or more data conversion servers. Furthermore, when there is a small amount of print job data, the print control device according to each embodiment can prevent the processing capacity of the one or more data conversion servers from becoming excessive.
[0084] In providing printing services via the internet, the number of users fluctuates significantly depending on factors such as the time of day and day of the week in the service area. Traditionally, to avoid interrupting the printing service, the server infrastructure was operated with a configuration that anticipated the maximum number of users. To ensure the stable operation of large-scale printing services, developing server expansion plans based on usage is a crucial task. It is necessary to continuously monitor trends in usage and take proactive measures such as strengthening the infrastructure and adding servers.
[0085] The print control device according to each embodiment aims to operate with an optimal server infrastructure configuration based on the number of users. The number of users refers to the number of print requests or the number of print jobs stored in the queue. This makes it possible for the print control device according to each embodiment to reduce server usage fees and ensure service usability.
[0086] Conventional technology monitored the CPU utilization of servers and automatically added servers when the CPU utilization exceeded a threshold, and automatically removed servers when the CPU utilization fell below that threshold. However, some programs running on servers may cause the CPU utilization to reach 100 percent as soon as the program starts running, in which case adding servers based on CPU utilization, as in conventional technology, was not appropriate.
[0087] As described above, in each embodiment of the print control device, the number or specifications of servers can be changed based on usage, such as the number of print requests or the number of print jobs stored in the queue. Therefore, unlike conventional technology that adds servers based on CPU utilization, servers can be added before there is an excess or deficiency in server processing capacity. In each embodiment of the print control device, if usage increases, the print service can be made to operate stably by adding servers. On the other hand, in each embodiment of the print control device, if usage decreases, the operating costs of the print system can be reduced by reducing the number of servers.
[0088] In each embodiment of the print control device, the change control unit uses the number of print requests as a predetermined number N0. This configuration allows the print control device according to each embodiment to change the number of data conversion servers based on usage forecasts. For example, the number of data conversion servers can be changed before print jobs are actually sent to the data conversion servers. Here, the number of print requests corresponds to the forecast of data conversion server usage.
[0089] In each embodiment of the print control device, the change control unit uses the number of print jobs stored in the queue as a predetermined number N0. This configuration allows the print control device according to each embodiment to change the number of data conversion servers based on usage data, thus enabling a more efficient change of the number of data conversion servers compared to cases where usage forecasts and actual usage differ due to canceled print requests, etc. Here, the number of print jobs stored in the queue corresponds to the actual usage data.
[0090] In each embodiment of the print control device, the change control unit uses both the number of print requests and the number of print jobs stored in the queue as a predetermined number N0. With this configuration, the print control device according to each embodiment can change the number of data conversion servers based on both usage forecasts and actual usage, thus allowing for a more efficient change of the number of data conversion servers compared to changing the number of data conversion servers based on either usage forecasts or actual usage.
[0091] The print control device according to the second or third embodiment described above includes a coefficient setting unit. The coefficient setting unit sets a coefficient C1 to be multiplied by each of the 1 or more numbers used as the predetermined number N0. The change control unit uses the result of multiplying each of the 1 or more predetermined numbers N0 by a coefficient C1 set by the coefficient setting unit. The coefficient setting unit 53 and the second coefficient setting unit 53b are examples of coefficient setting units. With this configuration, in the print control device according to the second or third embodiment described above, the number of data conversion servers can be changed based on the result of multiplying each of the one or more numbers used as the predetermined number N0 by a coefficient, thereby efficiently changing the number of data conversion servers while maintaining a balance between each of the one or more numbers used as the predetermined number N0.
[0092] In the print control device according to the third embodiment described above, the coefficient setting unit sets the coefficient C1 according to the timing.
[0093] With this configuration, the print control device according to the third embodiment described above can set a coefficient C1 according to the time period, and therefore can efficiently change the number of data conversion servers while balancing each of the 1 or more numbers used as a predetermined number N0 according to the time period.
[0094] Each printing system according to an embodiment comprises a print control device according to that embodiment and one or more virtual data conversion servers. The printing system 1 according to the first embodiment, the second printing system 1a according to the second embodiment, and the third printing system 1b according to the third embodiment described above are each examples of printing systems. With this configuration, the printing system according to each embodiment can change the number or specifications of one or more virtual data conversion servers based on a predetermined number N0 of print requests. Therefore, compared to not changing the number or specifications of the one or more data conversion servers, it is possible to suppress a decrease in the processing capacity of the one or more data conversion servers.
[0095] Furthermore, some parts of the print control device in the above-described embodiment, such as the change control unit and the assignment control unit, may be implemented using a computer. In that case, the program for implementing this control function may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be loaded into a computer system and executed. Here, "computer system" refers to a computer system built into the print control device, and includes hardware such as an OS and peripheral devices. Furthermore, "computer-readable recording medium" refers to portable media such as flexible disks, magneto-optical disks, ROMs, CD-ROMs, and storage devices such as hard disks built into a computer system. Moreover, "computer-readable recording medium" may also include those that dynamically hold programs for a short period of time, such as communication lines used when transmitting programs via networks such as the Internet or communication lines such as telephone lines, and those that hold programs for a certain period of time, such as volatile memory inside a computer system that acts as a server or client in such cases. Furthermore, the above-mentioned program may be for implementing some of the functions described above, and may also be able to implement the above-mentioned functions in combination with programs already recorded in the computer system. Furthermore, some or all of the print control device in the above-described embodiment may be implemented as an integrated circuit such as an LSI (Large Scale Integration). Each functional block of the print control device may be individually processorized, or some or all of them may be integrated into a single processor. In addition, the method of implementing the integrated circuit is not limited to LSIs; it may also be implemented using dedicated circuits or general-purpose processors. Furthermore, if advances in semiconductor technology lead to the emergence of integrated circuit implementation technologies that can replace LSIs, integrated circuits using such technologies may be used.
[0096] Although one embodiment of this disclosure has been described in detail above with reference to the drawings, the specific configuration is not limited to that described above, and various design changes can be made without departing from the gist of this disclosure. [Explanation of Symbols]
[0097] 1...Printing system, 5...Printing control unit, 51...Change control unit, 51a...Second change control unit, 52...Assignment control unit, N0...Determined number, 2...Terminal device group, 21...Terminal device, 7...Printing device group, 71...Printing device, 6...Data conversion server group, 61...Data conversion server
Claims
1. A change control unit that controls the number or specifications of one or more virtual data conversion servers that convert print job data corresponding to print requests into data compatible with a printing device, based on a predetermined number of print requests issued from a terminal device. An assignment control unit that controls the assignment of the print job to the one or more data conversion servers after the change, A coefficient setting unit sets a coefficient to multiply each of the one or more numbers used as the predetermined number, Equipped with, The modification control unit is a printing control device that uses the result of multiplying each of the one or more numbers by the coefficient set by the coefficient setting unit as the predetermined number.
2. The change control unit uses the number of print requests as the predetermined number. The print control device according to claim 1.
3. The change control unit uses the number of print jobs stored in the queue as the predetermined number. The print control device according to claim 1.
4. The change control unit uses both the number of print requests and the number of print jobs stored in the queue as the predetermined number. The print control device according to claim 1.
5. The coefficient setting unit sets the coefficient according to the timing. A printing control device according to any one of claims 1 to 4.
6. A print control device according to any one of claims 1 to 5, The aforementioned one or more data conversion servers, A printing system equipped with the following features.
7. On the computer, A change control step that controls the number or specifications of one or more virtual data conversion servers that convert print job data corresponding to print requests into data compatible with a printing device, based on a predetermined number of print requests issued from a terminal device. An assignment control step that controls the assignment of the print job to the one or more data conversion servers after the change, The coefficient setting step involves using the result of multiplying each of the above numbers (1 or more) by a coefficient as the predetermined number, A program to execute.
Citation Information
Patent Citations
Information processing system and program
JP2013200751A
Print control device, printing system, server device, and print control program
JP2014049004A
Print control system and program
JP2015179478A