Print control device, printing system, and recording medium
By dynamically adjusting the number and specifications of data conversion servers through the printing control device, the problem of uneven resource utilization in the printing system is solved, enabling flexible adjustment of processing capacity and efficient use of resources, thus ensuring the stability and cost-effectiveness of printing services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SEIKO EPSON CORP
- Filing Date
- 2023-03-22
- Publication Date
- 2026-05-05
AI Technical Summary
In existing printing systems, the number of data conversion servers is fixed, which leads to a decrease in processing capacity when there is a lot of printing task data and an excess of processing capacity when there is little task data, resulting in uneven resource utilization.
By using the change control unit and allocation control unit of the printing control device, the number and specifications of the data conversion servers can be dynamically adjusted, and the data conversion servers can be flexibly allocated according to the number of printing requests and the number of printing tasks in the queue.
Effectively regulate the processing capacity of the data conversion server to avoid overcapacity or undercapacity, improve resource utilization efficiency, and ensure the stability and cost-effectiveness of printing services.
Smart Images

Figure CN116803700B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a printing control device, a printing system, and a program. Background Technology
[0002] A printing system is known that makes setting up a network-connected printer easier (see Patent Document 1). In the printing system described in Patent Document 1, a printing control device, a data conversion server that converts printing task data into a data format printable by the printing device, and the printing device are connected together via a network.
[0003] However, in the printing system described in Patent Document 1, the number of data conversion servers is fixed, which reduces processing capacity when there is a large amount of printing task data. Furthermore, in the printing system described in Patent Document 1, processing capacity becomes excessive when there is a small amount of printing task data.
[0004] Patent Document 1: Japanese Patent Application Publication No. 2014-49004 Summary of the Invention
[0005] This disclosure is an invention made to solve the aforementioned problems. One aspect of this disclosure is a printing control device comprising: a change control unit that controls the change of the number or specifications of one or more virtual data conversion servers that convert data of a printing task corresponding to the printing request to data corresponding to a printing device, based on a predetermined number of printing requests issued from a terminal device; and an allocation control unit that controls the allocation of the printing task to the one or more data conversion servers after the change.
[0006] In addition, one aspect of this disclosure is a printing system that includes the aforementioned printing control device and one or more data conversion servers.
[0007] Furthermore, one aspect of this disclosure is a program that causes a computer to perform the following steps: a change control step, which, based on a predetermined number of print requests issued from a terminal device, controls the change of the number or specifications of one or more data conversion servers that convert data of a print task corresponding to the print request to data corresponding to a printing device; and an allocation control step, which controls the allocation of the print task to the changed one or more data conversion servers. Attached Figure Description
[0008] Figure 1 This is a diagram illustrating an example of the structure of a printing system according to the first embodiment of this disclosure.
[0009] Figure 2 This is a schematic block diagram illustrating an example of a situation where printing tasks are stored in a queue according to the first embodiment of this disclosure.
[0010] Figure 3 This diagram illustrates an example of the functional structure of the printing control unit according to the first embodiment of this disclosure.
[0011] Figure 4 A diagram illustrating an example of the printing process involved in the first embodiment of this disclosure.
[0012] Figure 5 This diagram illustrates an example of the automatic scaling process implemented by the printing control unit according to the first embodiment of this disclosure.
[0013] Figure 6 A diagram illustrating an example of the automatic scaling process when using a print request quantity as a predetermined quantity in the first embodiment of this disclosure.
[0014] Figure 7 A diagram illustrating an example of an autoscaling process in the case of using a queue to store the number of print jobs as a predetermined quantity as per the first embodiment of this disclosure.
[0015] Figure 8 This diagram illustrates an example of the structure of the second printing control unit according to the second embodiment of this disclosure.
[0016] Figure 9 This diagram illustrates an example of the automatic scaling process implemented by the second printing control unit according to the second embodiment of this disclosure.
[0017] Figure 10 This diagram illustrates an example of the functional structure of the third printing control unit according to the third embodiment of this disclosure.
[0018] Figure 11 This diagram illustrates an example of the automatic scaling process implemented by the third printing control unit according to the third embodiment of this disclosure. Detailed Implementation
[0019] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Figure 1 This diagram illustrates an example of the structure of the printing system 1 according to this embodiment. The printing system 1 includes: a terminal device group 2, a printing request receiving server 3, a printing control server 4, a data conversion server group 6, and a printing apparatus group 7.
[0020] Data conversion server group 6 is a virtualized data conversion server or more. That is, data conversion server group 6 is a single server that functions as multiple servers by running multiple operating systems (OS) on a single server. The number of virtualized data conversion servers included in data conversion server group 6 can be changed. In the following description, the number of virtualized data conversion servers included in data conversion server group 6 will also be referred to as the number of servers M1. The virtualized data conversion servers included in data conversion server group 6 have the same functionality. Therefore, in the following description, there may be a case where data conversion server 61 represents the virtualized data conversion servers included in data conversion server group 6.
[0021] Terminal device group 2 comprises one or more terminal devices. The terminal devices included in terminal device group 2 have the same functions. Therefore, in the following description, terminal device 21 may be used to represent the terminal devices included in terminal device group 2.
[0022] The printing apparatus group 7 comprises one or more printing apparatuses. The one or more printing apparatuses included in the printing apparatus group 7 have the same function. Therefore, in the following description, there may be a situation where printing apparatus 71 is used to represent the printing apparatuses included in the printing apparatus group 7.
[0023] Terminal device group 2, print request receiving server 3, print control server 4, data conversion server group 6, and printing device group 7 are connected together in a manner that enables them to communicate with each other via a wireless network. Terminal device group 2 and print request receiving server 3 communicate, for example, via a mobile communication network. Print request receiving server 3, print control server 4, data conversion server group 6, and printing device group 7 communicate, for example, via a wireless LAN (Local Area Network).
[0024] Terminal device 21 issues a printing request. A printing request is a command used to instruct printing device 71 to perform printing. The printing request includes information such as the object file or image to be printed and printing settings.
[0025] The terminal device 21 is equipped with a document application and a printer driver. The document application is a program that has the functions of creating files or images and issuing print requests. The printer driver is a program that controls the printing actions performed by the printing device 71.
[0026] Terminal device 21 is, for example, a smartphone. Terminal device 21 can also be a personal computer (PC).
[0027] Print request receiving server 3 is a server that accepts print requests sent from terminal device 21. Print request receiving server 3 generates a print job corresponding to the received print request. Print request receiving server 3 sends the generated print job to print control server 4.
[0028] The print request receiving server 3 manages the print request quantity N1. The print request quantity N1 is the number of print requests sent from the terminal device 21 from the current time until a specified time, such as ten minutes. The print request receiving server 3 updates the print request quantity N1 in real time.
[0029] The number of print requests N1 corresponds to the processing load predicted for data conversion server group 6 in the near future. Therefore, before, for example, processing is actually implemented through data conversion server group 6, the number of virtual data conversion servers included in data conversion server group 6 can be increased based on the number of print requests N1. In printing system 1, the above-mentioned enhancement can be implemented according to the time-varying trend of the number of print requests N1.
[0030] The printing control server 4 has a queue for storing printing tasks received from the printing request receiving server 3. Based on the operating status of the printing apparatus group 7, the printing control server 4 sequentially sends the printing tasks stored in this queue to the data conversion server group 6.
[0031] exist Figure 2 The image shows the status of printing tasks stored in queue A1 of the printing control server 4. Figure 2 In this process, printing tasks B1, B2, B3, and B4 are stored in queue A1. These four tasks are then sent sequentially to data conversion server group 6. Printing task B5 is the fifth task, which will soon be stored in queue A1. Furthermore, in the following description, the process of newly storing a printing task in queue A1 is referred to as appending a printing task to queue A1.
[0032] return Figure 1 Continuing with the explanation of the structure of the printing control server 4.
[0033] Print control server 4 includes a print control unit 5. The print control unit 5 assigns print tasks accumulated in the queue to any one of the data conversion servers included in the data conversion server group 6. Furthermore, the print control unit 5 performs automatic scaling processing. Automatic scaling involves changing the number or specifications of virtual servers. In this embodiment, as an example, the print control unit 5 controls the change of the number of servers M1. That is, the print control unit 5 changes the number of data conversion servers that serve as virtual servers.
[0034] As an example, the printing control unit 5 is set as a program in the printing control server 4. That is, the various functional units of the printing control unit 5 are implemented by the CPU set in the printing control server 4 reading the program from the ROM (Read-Only Memory) and executing the process.
[0035] The data conversion server 61 converts the printing task data received from the printing control server 4 into data corresponding to the printing apparatus 71. The data conversion server 61 then sends the converted data to the printing apparatus 71.
[0036] The printing apparatus 71 performs printing based on data converted by the data conversion server 61.
[0037] In addition, although Figure 1 The illustrated structure of printing system 1 provides an example of a case where the print request receiving server 3 and the print control server 4 are separate servers, but it is not limited to this. In printing system 1, a single server that combines the functions of both the print request receiving server 3 and the print control server 4 can also be used instead of separate servers.
[0038] Figure 3 This diagram illustrates an example of the functional structure of the printing control unit 5 according to this embodiment. The printing control unit 5 includes: an acquisition unit 50, a change control unit 51, and an allocation control unit 52.
[0039] The acquisition unit 50 acquires a specified quantity N0 related to the printing requests issued from the terminal device 21. The specified quantity N0 is, for example, the number of printing requests N1, or the number of printing tasks stored in the queue N2.
[0040] The change control unit 51 implements control over changes to the number of servers M1 based on a specified number N0.
[0041] The allocation control unit 52 controls the allocation of printing tasks to one or more data conversion servers within the virtual entities included in the modified data conversion server group 6. The modified data conversion server group 6 refers to the data conversion server group 6 whose number of servers has been changed by the modification control unit 51 by M1.
[0042] Next, refer to Figures 4 to 7 The printing process performed in printing system 1 will be described. Automatic scaling implemented by printing control unit 5 is performed in parallel with this printing process. The printing process and the automatic scaling implemented by printing control unit 5 are repeatedly performed during the operation of printing system 1.
[0043] Figure 4 The figure below shows an example of the printing process involved in this embodiment.
[0044] Step S10: Terminal device 21 issues a printing request. The user of terminal device 21 performs an operation to instruct printing from the menu of an application installed on terminal device 21. Upon receiving this operation, terminal device 21 sends a printing request corresponding to the printing instruction to printing request receiving server 3.
[0045] Afterwards, the printing request accepting server 3 performs the processing of step S20.
[0046] Step S20: The print request receiving server 3 accepts the print request sent 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.
[0047] Afterwards, the printing control server 4 performs the processing in step S30.
[0048] Step S30: The printing control server 4 adds the printing tasks received from the printing request receiving server 3 to the queue. Furthermore, based on the operating status of the printing unit group 7, the printing control server 4 sequentially sends the printing tasks stored in the queue to the data conversion server group 6.
[0049] Then, the data conversion server 61 performs the processing in step S40.
[0050] Step S40: The data conversion server 61 converts the data of the printing task received from the printing control server 4 into data corresponding to the printing device 71.
[0051] Afterwards, the data conversion server 61 performs the processing in step S50.
[0052] Step S50: The data conversion server 61 sends the converted data to the printing device 71.
[0053] Then, the printing apparatus 71 performs the processing of step S60.
[0054] Step S60: The printing apparatus 71 performs printing based on the data converted by the data conversion server 61.
[0055] Using the above methods, printing system 1 completes the printing process.
[0056] Figure 5 The diagram illustrates an example of the automatic scaling process implemented by the printing control unit 5 according to this embodiment.
[0057] Step S110: The acquisition unit 50 acquires a predetermined quantity N0 related to the printing request sent from the terminal device 21s. The acquisition unit 50 acquires the predetermined quantity N0 from the printing request receiving server 3 or the printing control server 4.
[0058] Afterwards, the printing control unit 5 performs the processing in step S120.
[0059] Step S120: The change control unit 51 implements control to change the number of servers M1 based on the obtained predetermined number N0. For example, if the predetermined number N0 is greater than or equal to the baseline number, the change control unit 51 increases the number of servers M1. On the other hand, if the predetermined number N0 is less than the baseline number, the change control unit 51 decreases the number of servers M1.
[0060] Afterwards, the printing control unit 5 performs the processing in step S130.
[0061] Step S130: The allocation control unit 52 implements control to allocate printing tasks to one or more data conversion servers of the virtuality contained in the modified data conversion server group 6.
[0062] Using the above method, the printing control unit 5 ends the automatic scaling process.
[0063] Next, refer to Figure 6 This section explains the case where the print request quantity N1 is used as the specified quantity N0. Figure 6 This diagram illustrates an example of the automatic scaling process when a print request quantity N1 is used as the specified quantity N0 according to this embodiment. Furthermore, due to the processing in step S230... Figure 5 The processing of step S130 is the same, so the explanation is omitted.
[0064] Step S210: The acquisition unit 50 obtains the print request quantity N1 from the print request receiving server 3. As described above, the print request quantity N1 is updated each time the print request receiving server 3 receives a print request, or each time the print request receiving server 3 sends a print task to the print control server 4. The print request quantity N1 obtained by the acquisition unit 50 from the print request receiving server 3 refers to the latest print request quantity N1.
[0065] Afterwards, the printing control unit 5 performs the processing in step S220.
[0066] Step S220: The change control unit 51 implements control over changing the number of servers M1 based on the obtained number of print requests N1. Therefore, the change control unit 51 uses the number of print requests N1 as the predetermined number N0. For example, if the number of print requests N1 is greater than or equal to the baseline 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 the baseline number, the change control unit 51 decreases the number of servers M1.
[0067] Afterwards, the printing control unit 5 performs the processing in step S230.
[0068] In the above manner, the printing control unit 5 ends the automatic scaling process when the printing request quantity N1 is used as the specified quantity N0.
[0069] Next, refer to Figure 7 The following explains the case where a queue is used to store the number of printing tasks N2, which is a specified number N0. Figure 7 This diagram illustrates an example of the autoscaling process when a queue is used to store the number of printing jobs N2, which is a predetermined number N0 according to this embodiment. Furthermore, since the processing in step S330 is related to... Figure 5 The processing of step S130 is the same, so the explanation is omitted.
[0070] Step S310: The acquisition unit 50 obtains the number N2 of printing tasks stored in the queue from the printing control server 4. The number N2 of printing tasks stored in the queue is updated each time a printing task is added to the queue, or each time a printing task stored in the queue is sent to the data conversion server group 6. The number N2 of printing tasks stored in the queue obtained by the acquisition unit 50 from the printing control server 4 refers to the latest number N2 of printing tasks stored in the queue.
[0071] Afterwards, the printing control unit 5 performs the processing in step S320.
[0072] Step S320: The change control unit 51 implements control over changing the number of servers M1 based on the obtained number of queued printing tasks N2. The change control unit 51 uses the number of queued printing tasks N2 as a predetermined number N0. For example, if the number of queued printing tasks N2 is greater than or equal to the baseline number, the change control unit 51 increases the number of servers M1. On the other hand, if the number of queued printing tasks N2 is less than the baseline number, the change control unit 51 decreases the number of servers M1.
[0073] Afterwards, the printing control unit 5 performs the processing in step S330.
[0074] In the above manner, the printing control unit 5 ends the automatic scaling process when the number of printing tasks N2 is stored in a queue as a predetermined number N0.
[0075] Hereinafter, the second embodiment of the present disclosure will be described in detail with reference to the accompanying drawings.
[0076] In the first embodiment described above, the case where the number of print requests N1 or the number of print tasks stored in the queue N2 is used as the predetermined quantity N0, that is, the case where a single number is used as the predetermined quantity N0, is explained. In this embodiment, the case where the predetermined quantity N0 is used as the result of multiplying one or more numbers by coefficients is explained.
[0077] The printing system described in 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. If the second printing system 1a described in this embodiment is compared with the printing system 1 described in the first embodiment, the second printing control unit 5a is different.
[0078] In addition, there are cases where the same symbols are used for structures that are the same as those in the first embodiment described above, and the descriptions of the same structures and operations are omitted.
[0079] Figure 8 This diagram illustrates an example of the structure of the second printing control unit 5a according to this embodiment. The second printing control unit 5a includes: an acquisition unit 50, a second change control unit 51a, a distribution control unit 52, and a coefficient setting unit 53. Comparing the second printing control unit 5a according to this embodiment with the printing control unit 5a according to the first embodiment, the second change control unit 51a and the coefficient setting unit 53 are different. Here, the functions of the acquisition unit 50 and the distribution control unit 52 are the same as in the first embodiment.
[0080] The coefficient setting unit 53 sets the coefficient C1 for each of the more than one numbers used as a specified quantity N0. For example, the coefficient setting unit 53 sets the coefficient C1 for multiplying the print request quantity N1 and the queue storage print task quantity N2 respectively.
[0081] The second change control unit 51a uses the result of multiplying the number used as the specified quantity N0 by the coefficient C1 set by the coefficient setting unit 53 to obtain the specified quantity N0. For example, as shown in equation (1), the second change control unit 51a uses the result of multiplying the printing request quantity N1 by the coefficient C1 set by the coefficient setting unit 53 to obtain the specified quantity N0.
[0082] Mathematical formula 1:
[0083] (Specified quantity) = (Printing request quantity) × α…(1)
[0084] In equation (1), the letter “α” is a defined constant. The letter “α” represents an example of the coefficient C1 set by the coefficient setting unit 53.
[0085] For example, as shown in equation (2), the second change control unit 51a may also use the result of multiplying the number of printing tasks N2 stored in the queue by the coefficient C1 set by the coefficient setting unit 53 as the specified number N0.
[0086] Mathematical formula 2:
[0087] (Specified quantity) = (Number of printing tasks stored in the queue) × β…(2)
[0088] In equation (2), the letter “β” is a defined constant. The letter “β” represents an example of the coefficient C1 set by the coefficient setting unit 53.
[0089] Furthermore, the second change control unit 51a may also use both the number of print requests N1 and the number of print tasks stored in the queue N2 as the specified quantity N0. In this 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 print tasks stored in the queue N2 by the coefficient C1 set by the coefficient setting unit 53 as the specified quantity N0.
[0090] Mathematical formula 3:
[0091] (Specified quantity) = (Number of print requests) × α + (Number of print jobs stored in the queue) × β…(3)
[0092] In equation (3), the letters “α” and “β” are defined constants. The letters “α” and “β” represent examples of the coefficient C1 set by the coefficient setting unit 53.
[0093] For example, the coefficient setting unit 53 sets the value of coefficient C1, represented by the letter "α", in equation (3) to 0.7, and sets the value of coefficient C1, represented by the letter "β", to 0.3. This setting is equivalent to the second change control unit 51a changing the number of servers M1 in a way that focuses on the number of printing requests N1 compared to the number of printing tasks N2 stored in the queue.
[0094] In another example, the coefficient setting unit 53 sets the value of coefficient C1, represented by the letter "α" in equation (3), to 1.0, and sets the value of coefficient C1, represented by the letter "β", to 1.9. This setting is equivalent to the second change control unit 51a changing the number of servers M1 in a way that prioritizes the number of print jobs stored in the queue N2 over the number of print requests N1. Since print jobs are already stored in the queue when the number of print jobs stored in the queue N2 is obtained, this setting allows the second change control unit 51a to change the number of servers M1 as quickly as possible to address the congestion of print jobs.
[0095] Furthermore, while an example has been described where the second change control unit 51a uses the print request quantity N1 and the queued print task quantity N2 as the predetermined quantity N0, and multiplies the result by the coefficient C1 set by the coefficient setting unit 53, this is not a limitation. The second change control unit 51a may also use the print request quantity N1 and the queued print task quantity N2 as the predetermined quantity N0 without multiplying by the coefficient C1. For example, the second change control unit 51a may also use the result of adding the print request quantity N1 and the queued print task quantity N2 as the predetermined quantity N0.
[0096] Figure 9 This diagram illustrates an example of the automatic scaling process implemented by the second printing control unit 5a according to this embodiment. Furthermore, since the processing in step S440 is related to... Figure 5 The processing of step S130 is the same, so the explanation is omitted.
[0097] Step S410: The acquisition unit 50 acquires one or more numbers used as a predetermined quantity N0. The acquisition unit 50 acquires the print request quantity N1 from the print request receiving server 3 as one of the one or more numbers. The acquisition unit 50 acquires the queue storage print task quantity N2 from the print control server 4 as another of the one or more numbers.
[0098] Then, the second printing control unit 5a performs the processing of step S420.
[0099] Step S420: The coefficient setting unit 53 sets the coefficient C1 for each of the more than one numbers used as a specified quantity N0.
[0100] Then, the second printing control unit 5a performs the processing of step S430.
[0101] Step S430: The second change control unit 51a performs control by multiplying each of the more than one number used as the specified quantity N0 by the coefficient C1 set by the coefficient setting unit 53 to obtain the specified quantity N0, thereby controlling the change of the number of servers M1. As an example, the second change control unit 51a sets a specified constant as the coefficient C1, as shown by the letters "α" and "β" in the above equation (3).
[0102] Then, the second printing control unit 5a performs the processing of step S440.
[0103] Furthermore, although an example of a case where the coefficient C1 is a defined constant was described in the second embodiment above, it is not limited to this. The coefficient C1 can also be a function of a defined parameter. This parameter is, for example, the number of print requests N1. This parameter can also be the number of print jobs stored in the queue N2. This parameter can also be multiple. Multiple parameters can be, for example, the number of print requests N1 and the number of print jobs stored in the queue N2. The function is, for example, a polynomial of the defined parameter. A polynomial means, for example, a bivariate polynomial.
[0104] When the coefficient C1 is a function of a specified parameter, the coefficient setting unit 53 sets the coefficient C1 as a function of the number of print requests N1, for example.
[0105] Using the above method, the second printing control unit 5a ends the automatic scaling process.
[0106] Hereinafter, the third embodiment of the present disclosure will be described in detail with reference to the accompanying drawings.
[0107] The coefficient C1, which is multiplied by one or more numbers used as a predetermined quantity N0 in the second embodiment described above, is set according to the period.
[0108] The printing system described in 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. If the third printing system 1b described in this embodiment is compared with the second printing system 1a described in the second embodiment, the third printing control unit 5b is different.
[0109] In addition, there are cases where the same symbols are used for the same structures as in the first and second embodiments described above, and the descriptions of the same structures and operations are omitted.
[0110] Figure 10 This diagram illustrates an example of the functional structure of the third printing control unit 5b according to this embodiment. The third printing control unit 5b includes: an acquisition unit 50, a second change control unit 51a, an allocation control unit 52, and a second coefficient setting unit 53b. Comparing the third printing control unit 5b according to this embodiment with the second printing control unit 5a according to the second embodiment, the second coefficient setting unit 53b differs. Here, the functions of the acquisition unit 50, the second change control unit 51a, and the allocation control unit 52 are the same as in the second embodiment.
[0111] The second coefficient setting unit 53b sets the coefficient C1 according to the period. A period, for example, is a time segment within a day. When the period is a time segment within a day, it is distinguished, for example, by daytime and nighttime. Furthermore, in another example, a period, for example, is a day of the week. When the period is a day of the week, it is distinguished, for example, by weekdays, Saturdays, and Sundays. Furthermore, in another example, a period within a year is a time when a specific activity occurs. This activity refers to, for example, summer vacation or year-end / New Year vacation.
[0112] Figure 11 This diagram illustrates an example of the automatic scaling process performed by the third printing control unit 5b according to this embodiment. Furthermore, since the processing of steps S510, S530, and S540 is similar to... Figure 9 The processes of steps S410, S430, and S440 are the same, so the explanation is omitted.
[0113] The third printing control unit 5b performs the processing of step S520 after step S510.
[0114] Step S520: The second coefficient setting unit 53b sets the coefficient C1 according to the period. The second coefficient setting unit 53b obtains period information from the storage unit. The period information is data in which a correspondence is established between the period and the value set as coefficient C1. The third printing control unit 5b sets the coefficient C1 based on the period information and according to the period. In addition, a storage unit storing period information is provided in the third printing control unit 5b, and this storage unit... Figure 10 There is no illustration in the image.
[0115] Then, the third printing control unit 5b performs the processing of step S540.
[0116] Here, we will explain the case where the number of print requests N1 and the number of print tasks stored in the queue are used as a specified number N0, with the coefficient C1 set according to the period.
[0117] For example, when the period is Saturday or Sunday, the second coefficient setting unit 53b sets the coefficient C1 multiplied by the number of print jobs N2 stored in the queue to be greater than the coefficient C1 multiplied by the number of print requests N1. When the period is a weekday, the second coefficient setting unit 53b sets the coefficient C1 multiplied by the number of print requests N1 to be greater than the coefficient C1 multiplied by the number of print jobs N2 stored in the queue.
[0118] In another example, when the period is a summer vacation, the second coefficient setting unit 53b sets the coefficient C1 multiplied on the number of print requests N1 to be greater than the coefficient C1 multiplied on the number of print tasks stored in the queue, so that the ratio of the coefficient C1 multiplied on the number of print requests N1 to the coefficient C1 multiplied on the number of print tasks stored in the queue is greater than a predetermined ratio.
[0119] Using the above method, the third printing control unit 5b ends the automatic scaling process.
[0120] Furthermore, in the various embodiments described above, the change control unit 51 or the second change control unit 51a may use the size of the print job generated according to the print request, or the size of the print job stored in the queue, as the predetermined quantity N0. Additionally, the change control unit 51 or the second change control unit 51a may use both the size of the print job generated according to the print request and the size of the print job stored in the queue as the predetermined quantity N0.
[0121] Furthermore, although the above embodiments have described an example of controlling the change control unit 51 or the second change control unit 51a to change the number of one or more virtual data conversion servers included in the data conversion server group 6 based on a predetermined number N0, they are not limited thereto. The change control unit 51 or the second change control unit 51a may also control the change of the specifications of one or more virtual data conversion servers included in the data conversion server group 6 based on a predetermined number N0.
[0122] When the change control unit 51 or the second change control unit 51a controls the modification of the specifications of one or more data conversion servers included in the data conversion server group 6, the change control unit 51 or the second change control unit 51a may also use the size of the print job generated according to the print request instead of the print request quantity N1, as the specified quantity N0. Furthermore, the change control unit 51 or the second change control unit 51a may also use the size of the print jobs stored in the queue instead of the queue storage quantity N2, as the specified quantity N0.
[0123] In addition, the change control unit 51 or the second change control unit 51a can also implement control over 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.
[0124] Furthermore, although the above embodiments describe an example where the printing control unit 5, the second printing control unit 5a, or the third printing control unit 5b is installed as a program in the printing control server 4, this is not a limitation. The printing control unit 5, the second printing control unit 5a, or the third printing control unit 5b may also be installed as a server, i.e., a printing control device, separate from the printing control server 4.
[0125] As explained above, the printing control device according to the various embodiments described above includes a change control unit and a distribution control unit 52.
[0126] The change control department implements control as follows: based on a predetermined number N0 related to the printing request issued from the terminal device, it controls the change of the number or specifications of one or more virtual data conversion servers that convert the data of the printing task corresponding to the printing request to the data corresponding to the printing device.
[0127] The allocation control unit 52 implements control over the allocation of printing tasks to one or more data conversion servers after the change.
[0128] In the first embodiment described above, the printing control unit 5 is an example of a printing control device. The change control unit 51 is an example of a change control unit.
[0129] In the second embodiment described above, the second printing control unit 5a is an example of a printing control device. In the third embodiment described above, the third printing control unit 5b is an example of a printing control device. In both the second and third embodiments described above, the second change control unit 51a is an example of a change control unit.
[0130] In the above embodiments, any one of the terminal devices included in terminal device group 2 is an example of a terminal device. In the above embodiments, data conversion server group 6 is an example of one or more data conversion servers.
[0131] According to this structure, since the printing control device involved in each embodiment can change the number or specifications of more than one virtual data conversion server based on a predetermined number N0 related to the printing request, it is possible to suppress the occurrence of excessive or insufficient processing capacity of the more than one data conversion server. When there is a large amount of printing task data, the printing control device involved in each embodiment can suppress the reduction of the processing capacity of the more than one data conversion server. Furthermore, when there is a small amount of printing task data, the printing control device involved in each embodiment can suppress the situation where the processing capacity of the more than one data conversion server becomes excessive.
[0132] In the provision of printing services via the internet, the number of users can fluctuate significantly depending on factors such as time of day or day of the week in different regions. Previously, to prevent printing services from ceasing, server infrastructure was operated based on a structure assuming maximum usage. To ensure the stable operation of large-scale printing services, it is crucial to develop server expansion plans based on usage patterns. It is necessary to constantly monitor trends in increasing usage and implement planned infrastructure enhancements, server expansions, and other responses.
[0133] In the printing control apparatuses described in the various embodiments, the aim is to operate them with the most suitable server infrastructure structure corresponding to the usage volume. The usage volume refers to the number of printing requests or the number of printing tasks stored in the queue. Therefore, in the printing control apparatuses described in the various embodiments, it is possible to reduce server usage costs or ensure service usability.
[0134] In existing technologies, it's necessary to monitor server CPU utilization and automatically add servers when CPU utilization exceeds a threshold and automatically remove servers when CPU utilization falls below the threshold. However, depending on the programs running on the server, there are instances where CPU utilization reaches 100% at specific program execution times. In such cases, adding servers based on CPU utilization, as is the case with existing technologies, is inappropriate.
[0135] As described above, in the printing control apparatuses of the various embodiments, since the number or specifications of servers can be changed based on usage data such as the number of printing requests or the number of printing tasks stored in the queue, unlike the prior art which adds servers based on CPU utilization, server additions can be implemented before server processing capacity becomes excessive or insufficient. In the printing control apparatuses of the various embodiments, when usage increases, adding servers can ensure stable operation of the printing service. On the other hand, in the printing control apparatuses of the various embodiments, when usage decreases, reducing the number of servers can reduce the operating costs of the printing system.
[0136] In the printing control device according to various embodiments, the number of printing requests used by the change control unit is used as the specified number N0.
[0137] With this structure, since the printing control devices involved in each embodiment can change the number of data conversion servers based on usage predictions, the number of data conversion servers can be changed, for example, before any actual printing jobs are sent to the data conversion servers. Here, the number of printing requests corresponds to the prediction of the usage of the data conversion servers.
[0138] In the printing control device according to various embodiments, the change control unit uses the number of printing tasks stored in the queue as a specified number N0.
[0139] With this structure, since the printing control device involved in each embodiment can change the number of data conversion servers based on usage performance, the number of data conversion servers can be changed effectively compared to situations where usage predictions and actual usage performance differ due to events such as print request cancellations. Here, the number of print jobs stored in the queue corresponds to the usage performance.
[0140] In the printing control device according to various embodiments, the change control unit uses both the number of printing requests and the number of printing tasks stored in the queue as a predetermined number N0.
[0141] According to this structure, since the printing control device involved in each embodiment can change the number of data conversion servers based on both usage prediction and usage performance, the number of data conversion servers can be changed more effectively than the case where the number of data conversion servers is changed based on either usage prediction or usage performance.
[0142] The printing control device according to the second or third embodiment described above includes a coefficient setting unit.
[0143] The coefficient setting unit sets the coefficient C1 for each of the more than one numbers used as a specified quantity N0.
[0144] The change control unit uses the result of multiplying each of the more than one numbers by the coefficient C1 set by the coefficient setting unit to obtain the specified quantity N0.
[0145] The coefficient setting unit 53 and the second coefficient setting unit 53b are examples of coefficient setting units.
[0146] According to this structure, since the number of data conversion servers can be changed based on the result of multiplying each of the more than one number used as a predetermined number N0 by a coefficient in the printing control device described above, the number of data conversion servers can be changed effectively while achieving a balance of each of the more than one number used as a predetermined number N0.
[0147] In the printing control device according to the third embodiment described above, the coefficient setting unit sets the coefficient C1 according to the period.
[0148] According to this structure, since the printing control device involved in the third embodiment described above can set the coefficient C1 according to the period, it is possible to effectively change the number of data conversion servers while obtaining a balance of each of the more than one numbers used as a predetermined number N0 according to the period.
[0149] The printing system involved in each embodiment includes the printing control device involved in each embodiment and one or more virtual data conversion servers.
[0150] The printing system 1 of the first embodiment, the second printing system 1a of the second embodiment, and the third printing system 1b of the third embodiment described above are examples of printing systems.
[0151] According to this structure, since the printing system involved in each embodiment can change the number or specifications of more than one virtual data conversion server based on a specified number N0 related to the printing request, the reduction in the processing capacity of the more than one data conversion server can be suppressed compared with the case where the number or specifications of the more than one data conversion server are not changed.
[0152] Alternatively, a portion of the printing control device described in the above embodiments, such as the change control unit and the allocation control unit, can be implemented using a computer. In this case, the program for implementing the control function can be recorded on a computer-readable recording medium, and the program recorded on the recording medium can be read into the computer system and executed. Here, "computer system" refers to a computer system built into the printing control device, and includes hardware such as an operating system or peripheral devices. Furthermore, "computer-readable recording medium" refers to removable media such as floppy disks, magneto-optical disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into the computer system. More specifically, "computer-readable recording medium" refers to a component that dynamically retains a program for a short period, like a communication line used when sending a program via a network such as the Internet or a communication line such as a telephone line, and may also include a component that retains a program for a certain period, such as volatile memory within a computer system that acts as a server or client in this case. Furthermore, the aforementioned program can be either a program used to implement the aforementioned functions, or it can be a program that can be implemented by combining it with a program that records all of the aforementioned functions in the computer system.
[0153] Furthermore, the printing control device in the above embodiments can also be implemented as an integrated circuit such as LSI (Large Scale Integration). Each functional block of the printing control device can be processorized individually, or some or all can be integrated into a processor. Moreover, the method of integrated circuit implementation is not limited to LSI; it can also be implemented using dedicated circuits or general-purpose processors. Furthermore, in cases where advancements in semiconductor technology have led to the emergence of integrated circuit technologies that replace LSI, integrated circuits implemented using such technologies can also be implemented.
[0154] Although one embodiment of the present disclosure has been described in detail above with reference to the accompanying drawings, the specific structure is not limited to the structure described above, and various design changes can be made without departing from the spirit of the present disclosure.
[0155] Symbol Explanation
[0156] 1… Printing system; 5… Printing control unit; 51… Change control unit; 51a… Second change control unit; 52… Allocation control unit; N0… Specified quantity; 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 printing control device, comprising: The change control unit, based on a specified number of printing requests issued from the terminal device, controls the number or specifications of one or more data conversion servers that virtualize the conversion of data of the printing task corresponding to the printing request to data corresponding to the printing device. The allocation control unit implements control over the allocation of printing tasks to the modified one or more of the data conversion servers; The coefficient setting unit sets the coefficient to be multiplied for each of the more than one numbers used as the specified quantity. The virtuality of one or more data conversion servers refers to a single server that functions as multiple servers by enabling multiple operating systems to operate on it. The change control unit uses the result of multiplying each of the more than one numbers by the coefficient set by the coefficient setting unit as the predetermined quantity.
2. The printing control device as described in claim 1, wherein, The change control department uses the number of printing requests as the specified quantity.
3. The printing control device as described in claim 1, wherein, The change control unit uses the number of printing tasks stored in the queue as the specified number.
4. The printing control device as described in claim 1, wherein, The change control unit uses both the number of printing requests and the number of printing tasks stored in the queue as the specified quantity.
5. The printing control device as claimed in claim 1, wherein, The coefficient setting unit sets the coefficients according to the period.
6. A printing system comprising: The printing control device according to any one of claims 1 to 5; The one or more data conversion servers.
7. A recording medium having a program stored thereon that causes a computer to perform the following steps: The change control step, based on a specified number of print requests issued from the terminal device, implements control over the number or specifications of one or more data conversion servers that virtualize the conversion of data of the print task corresponding to the print request to data corresponding to the printing device. The allocation control step implements control over the allocation of the printing task to one or more of the modified data conversion servers; The coefficient setting step involves setting the coefficient to be multiplied by each of the more than one numbers used as the specified quantity. The virtuality of one or more data conversion servers refers to a single server that functions as multiple servers by enabling multiple operating systems to operate on it. In the change control step, the result of multiplying each of the more than one numbers by the coefficient set in the coefficient setting step is used as the specified quantity.
Citation Information
Patent Citations
Print control device, printing system, server device, and print control program
JP2014049004A
Cloud print service system and implementation method therefor
CN105242890A
Automatic capacity expanding and shrinking method and system
CN112671570A