The present invention relates to an image forming apparatus communicable with a server, a method, and a non-transitory computer-readable storage medium storing a program.
An image forming apparatus having a network function transmits device information and the use history of a user to a management server, thereby implementing various services such as failure analysis and an accounting system.
For example, there is a service in which a management server manages a consumable such as ink and the consumable is automatically delivered when the remaining amount becomes small. Furthermore, in recent years, flat-rate services for which neither the initial investment cost nor the maintenance cost is incurred by lending a device main body and a consumable to a user who contracts a subscription service have become popular.
In such contract-type flat-rate service, an image forming apparatus communicates with a management server to acquire, from the management server, information concerning the service such as the contract status of the service, and controls the image forming apparatus in accordance with the information. For example, before service authentication for confirming that the contract-type flat-rate service is contracted is completed, the use of the image forming apparatus is restricted. Japanese Patent Laid-Open No. 2022-32194 describes an arrangement in which after registering user information and information concerning a printing apparatus, a server notifies a host terminal that a contract for using a flat-rate service is complete.
In an arrangement in which an image forming apparatus acquires information concerning a service from a server, it is necessary to quickly acquire the information and suppress the access load on the server.
The present invention provides, in an arrangement in which an image forming apparatus acquires information concerning a service from a server, the image forming apparatus for quickly acquiring the information and suppressing the access load on the server, a method, and a non-transitory computer-readable storage medium storing a program.
The present invention in one aspect provides an image forming apparatus comprising: at least one memory and at least one processor which function as: a request unit configured to request, of a server, information concerning a first service and a second service which are executable by the image forming apparatus; and a control unit configured to control the request to the server in a case where the request to the server by the request unit is repeated, wherein the control unit controls the request to the server so that the request to the server is made at a frequency determined based on information indicating a contract state concerning the first service executable by the image forming apparatus.
According to the present invention, in an arrangement in which an image forming apparatus acquires information concerning a service from a server, it is possible to quickly acquire the information and suppress the access load on the server.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Hereinafter, embodiments will be described in detail with reference to the attached drawings. Note, the following embodiments are not intended to limit the scope of the claimed invention. Multiple features are described in the embodiments, but limitation is not made an invention that requires all such features, and multiple such features may be combined as appropriate. Furthermore, in the attached drawings, the same reference numerals are given to the same or similar configurations, and redundant description thereof is omitted.
The respective apparatuses shown in
The network connection unit 105 has an arrangement corresponding to a network medium, and implements communication with an external apparatus on a network. The network connection unit 105 can be connected to the external apparatus via a network, or can directly be connected to the external apparatus by a cable or the like. For example, the network connection unit 105 is connected to the external apparatus via a USB cable or a network. The image forming apparatus 100 can communicate with the device management server 200 and the service management server 300 via the network 400 by the network connection unit 105.
The display unit 106 is formed by, for example, a liquid crystal display (LCD) or the like, and can display characters, a graphic, an index (indicator), and the like. The display unit 106 is not limited to the liquid crystal display, and can be formed using an LED or another display. Examples of information displayed on the display unit 106 are setting information of the image forming apparatus 100 and information (a remaining ink amount) concerning ink stored in each ink tank. Note that the display unit 106 is controlled by the CPU 101. An operation unit 107 includes hard keys and switches for accepting various user operations. The display unit 106 may be configured to function as an operation unit for performing an input operation and the like, like a touch panel.
A reading unit 108 optically reads a document set on a document table (not shown), and converts it into electronic data. Furthermore, the reading unit 108 can transmit, to an external apparatus via the network 400, image data obtained by converting the electronic data into a designated file format, and store the image data in a memory area such as a hard disk (not shown). Furthermore, in a case where a copy function is implemented, the reading unit 108 reads a document placed on the document table to generate image data, and the generated image data is transferred to a print unit 109. The print unit 109 prints an image on a print medium such as a print sheet based on the image data. In the image forming apparatus 100, a scan function is implemented by the reading unit 108 and a print function is implemented by the print unit 109.
The print unit 109 is supplied with ink from an ink tank unit 110, and performs print processing on the print medium. For example, the print unit 109 prints an image on a print medium by an inkjet printing method based on the image data read by the reading unit 108 or the like. Note that the printing method of the print unit 109 is not limited to the inkjet printing method, and may be another printing method such as an electrophotographic printing method. Therefore, ink is used as an example of the consumable in this embodiment but toner may be used.
The ink tank unit 110 includes an ink injection port, and stores ink when ink is injected from an ink bottle. Note that as another arrangement, printing may be executable by attaching, as the ink tank unit 110, an ink cartridge filled with ink and supplying ink of the ink cartridge to the print unit 109. For example, the image forming apparatus 100 includes a carriage that can move the print unit 109 in a scanning direction with respect to the print medium. In this case, the carriage attached with the ink cartridge also forms the ink tank unit 110 according to this embodiment.
A waste ink tank unit 111 stores waste ink generated when the print unit 109 performs print processing using ink supplied from the ink tank unit 110. The waste ink indicates ink used not for discharge onto the print medium but for ink suction before discharging ink onto the print medium to stabilize ink discharge. Status information representing the remaining capacity of the waste ink tank unit 111 is obtained by calculating a remaining storable capacity based on the waste ink amount used by the print unit 109 outside the print medium and the capacity of the waste ink tank unit 111. At this time, it may be configured to correct the calculation result of the remaining capacity by mounting, on the waste ink tank unit 111, a sensor that detects the waste ink amount. It may also be configured to calculate the remaining storable capacity of the waste ink tank unit 111 only based on the detection result of the sensor.
A sheet cassette unit 112 stores a print medium to be supplied to the print unit 109. This embodiment will describe a sheet as an example of the print medium. The print unit 109 prints on a supplied sheet. Sheet information such as the remaining number of sheets in the sheet cassette unit 112 is calculated based on the number of sheets supplied to the print unit 109 and the number of sheets stored in the sheet cassette unit 112. Note that by mounting a sensor that detects the number of sheets stored in the sheet cassette unit 112, the calculation result of the remaining number of sheets may be corrected. The remaining number of sheets may be detected only based on the detection result of the sensor. The respective units of the image forming apparatus 100 are connected to each other via a bus 113, and can transmit/receive data to/from each other.
The image forming apparatus 100 is not limited to the arrangement shown in
Note that the device management server 200 and the service management server 300 are not limited to the arrangements shown in
A sequence from a service contract of a main body-inclusive flat-rate service to service authentication of the image forming apparatus 100 will be described next with reference to
After the user 500 makes the service contract, the service management server 300 performs, in S502, service registration processing of linking the user information and the printer 100 as a registration target in the device management server 200. After the completion of the service registration processing, the printer 100 registered in S502 is delivered to the user 500 in S503. Note that at this time, the service management server 300 has recognized the linkage of service contract information and identification information of the printer 100 such as a product serial number.
In S504, upon receiving the printer 100, the user 500 unpacks the printer 100, and starts initial installation. In S505, the printer 100 executes initial installation processing in accordance with an operation of the user 500. In the initial installation processing, initial setting including network setting for connection to the Internet is performed. Upon completion of the connection to the network by the initial setting, the printer 100 sends, in S506, a device registration request to the device management server 200 together with the identification information of the printer 100. In S507, upon receiving the device registration request, the device management server 200 performs device registration processing based on the identification information received from the printer 100. Note that at this time, the device management server 200 does not recognize the service contract information linked with the identification information of the printer 100.
In S508, upon completion of the registration processing, the device management server 200 returns a registration result to the printer 100, and also sends a device registration completion notification to the service management server 300. At this time, the identification information of the printer 100 is transmitted to the service management server 300 together with the device registration completion notification. The device registration completion notification to the service management server 300 may be sent to a plurality of service management servers 300 for the respective services. In S509, the service management server 300 notifies the device management server 200 of the linked service contract information based on the identification information of the printer 100 which has been received together with the device registration completion notification from the device management server 200. At this time, the device management server 200 recognizes the service contract information linked with the identification information of the printer 100.
In this embodiment, the service contract information is used for activation at the time of initial setting of the apparatus. Therefore, the service contract information includes information for determining that the service contract has been concluded. The device management server 200 holds, in itself, the service contract information notified from the service management server 300.
In S510, if the printer 100 requests to acquire the service contract information, the device management server 200 transmits the held service contract information to the printer 100 by, for example, an HTTP response. Note that the request, from the printer 100, to acquire the contract information is a request to collectively acquire the contract states of the plurality of services, and is not a request issued for each service. That is, in this embodiment, the request to acquire the contract information is a request to collectively acquire pieces of contract information concerning the above-described main body-inclusive flat-rate service, consumable flat-rate service, and mileage service. Upon receiving the service contract information in response to the request in S510, the printer 100 stores the service contract information in the printer 100 and also reflects control corresponding to the service contract information on the subsequent operation of the printer 100 in S511. For example, if the printer 100 confirms, based on the contract information of the main body-inclusive flat-rate service among the acquired pieces of contract information of the plurality of services, that the service has been contracted, the printer 100 cancels the restrictions of the printer functions associated with the service, which have been restricted, and allows the user to use the printer functions. As an example, this embodiment will describe the case of the main body-inclusive flat-rate service in which the printer 100 is provided on the premise that the user 500 has contracted the service. Before the service contract information is received based on the request in S510 to confirm that the service has been contracted, all the basic functions of the printer 100 such as the print function, the scan function, and the copy function are restricted. On the other hand, after S511, these functions can be used by the user 500.
A sequence in a case where acquisition of the service contract information fails will be described next with reference to
Unlike
In step S1201, the CPU 101 determines whether a response to the request to acquire the service contract information is received. If it is determined that no response is received, the CPU 101 determines, in step S1202, whether a predetermined time elapses. The predetermined time is a time determined based on a predetermined response time when an HTTP response is received in response to an HTTP request, and is a time sufficiently shorter than an interval at which the request to acquire the contract information is repeated. If it is determined that the predetermined time has not elapsed, the processes from step S1201 are repeated. On the other hand, if it is determined that the predetermined time has elapsed, the CPU 101 determines, in step S1205, that the request to acquire the service contract information has failed, and re-requests to acquire the service contract information as the processing in S512. At this time, the frequency of the re-request is controlled in accordance with the service type, as will be described later. As described above, if the request to acquire the service contract information is sent in S510 and no service contract information is received even after the predetermined time elapses because of a communication delay or the like, the re-request is made to acquire the service contract information.
If it is determined in step S1201 that a response to the request to acquire the service contract information is received, the CPU 101 acquires, in step S1203, information of the received response. Then, in step S1204, the CPU 101 determines, based on the information of the received response, whether to re-request to acquire the service contract information. For example, in the case of the main body-inclusive flat-rate service, the determination processing is performed based on whether the information of the received response indicates an “uncontracted” status. As will be described later, the printer 100 holds, in the nonvolatile memory 104, state information indicating the service state (service status) of the service contract information of each service. This state information can appropriately be updated. For example, if the user 500 makes a service contract in S501, the printer 100 delivered to the user 500 holds information of “service authentication waiting state” in advance. In this state, the service contract information normally received from the device management server 200 never indicates “uncontracted”. That is, if the information of “contracted” is acquired in step S1203, it is understood that the device management server 200 has not received the service contract information notification from the service management server 300. Therefore, in this case, it is determined that the request to acquire the service contract information has failed, and in step S1205, the CPU 101 re-requests to acquire the service contract information as the processing in S512. At this time, the frequency of the re-request is controlled in accordance with the service type, as will be described later. Alternatively, the determination processing in step S1204 may be performed based on the service state of the printer 100 and the received service contract information. More specifically, if the service state of the printer 100 is “service authentication waiting state”, and the received service contract information indicates “uncontracted”, it is determined to make a re-request.
On the other hand, if it is determined not to re-request to acquire the service contract information because the information of the response received in step S1204 does not indicate “uncontracted”, the processing shown in
The re-request to acquire the service contract information in S512 is a request to collectively acquire the contract states of the plurality of services, similar to S510, and is not issued for each service. If the re-request is made to acquire the service contract information in S512, and the service contract information is successfully acquired, the printer 100 cancels, in S513, for example, the restrictions of the functions linked with the service, as control corresponding to the service contract information. As described above, according to this embodiment, if it is determined in S510 that the request to acquire the service contract information has failed, the re-request can be made to acquire the service contract information in S512. Furthermore, in this embodiment, the frequency of the re-request to acquire the service contract information in S512 is changed in accordance with the service type for which the contract information needs to be re-acquired.
The re-request to acquire the service contract information in S512 will further be described next with reference to
The printer 100 can be set in a plurality of service states concerning the service contract, as shown in
The service uncontracted state of S601 indicates a state in which the user 500 has not made a service contract in S501. This is the state of the printer 100 in a case where the service management server 300 has not accepted a service contract in S501 of
If the device management server 200 is notified of the service contract information from the service management server 300, and then the printer 100 acquires the service contract information from the device management server 200, the printer 100 recognizes that the service contract has been made. In this case, the printer 100 transitions from the service authentication waiting state of S602 to the service start state of S603. After transitioning to the service start state, with respect to the main body-inclusive flat-rate service, the restrictions of the functions linked with the service are canceled and the service is started in the printer 100. This corresponds to the state of the printer 100 after S511 of
With respect to a service for which the user optionally makes a service contract, like the consumable flat-rate service and the mileage service, the printer 100 starts from the uncontracted state when the user obtains the printer 100. If the user 500 makes a service contract, the printer 100 transitions to the service authentication waiting state of S602. On the other hand, in the case of a service based on a service contract, like the main body-inclusive flat-rate service shown in
Control of the frequency of the re-request to acquire the service contract information in accordance with a service type will be described next with reference to
In this embodiment, the CPU 101 controls the frequency of the re-request to acquire the service contract information based on the information shown in
As described above, in the case of service A based on a service contract, if the user makes a service contract in S501, the printer 100 starts from the service authentication waiting state, as described above. For example, when the device registration request is transmitted to the device management server 200 in S506 of
As described above, the state in which the service functions are restricted can quickly be canceled by re-requesting, at a high frequency, to acquire the service contract information.
On the other hand, assume that the user 500 contracts service B, a request to acquire the service contract information is transmitted to the device management server 200 by the same processing as in S510, and acquisition of the contract information fails to execute step S1205 of
As described above, by relatively reducing the frequency of the re-request to acquire the service contract information, it is possible to suppress the access load caused by many printers on the market accessing the device management server 200 at a high frequency.
As described above, according to this embodiment, the frequency of the re-request to acquire the service contract information is controlled in accordance with the characteristic of the service for which it is necessary to re-acquire the contract information. With this arrangement, it is possible to suppress the access load caused by many printers on the market accessing the device management server 200 at a high frequency. With respect to a service provided based on a service contract, if a request to acquire service contract information fails, it is possible to quickly cancel the restrictions of the functions of the printer 100 in accordance with the characteristic of the service by making a re-request at a high frequency.
The second embodiment will be described below concerning points different from the first embodiment. The first embodiment has explained the arrangement in which a re-request is made to acquire the service contract information in S512 of
A sequence when the user 500 changes the contract contents of a service in the service start state of a printer 100 will be described below with reference to
The form of the main body-inclusive flat-rate service in which the printer 100 is lent to the user 500 based on a service contract already made in S501 is assumed here. Then, the service is provided with a purchase option as an optional contract. The user 500 can purchase the lent printer 100 by executing the purchase option. By executing the purchase option, the restrictions of functions, a use method, and the like in a case where the printer 100 is lent are canceled. For example, by canceling the restrictions, the restriction of the use in an offline environment and the restriction of replacement with a consumable that can be purchased on the market are canceled. This embodiment assumes a case in which the user 500 executes the purchase option in S802.
Based on the fact that the user 500 changes the service contents in S802, the service management server 300 executes, in S803, contract change processing (update processing) of the service registered with respect to the user 500. Note that at this time, the device management server 200 does not recognize that the service contract information linked with the printer 100 has been updated.
Then, in S804, the service management server 300 notifies the device management server 200 of the updated service contract information. The device management server 200 holds the service contract information notified from the service management server 300 in the device management server 200. The device management server 200 recognizes that the service contract information linked with the printer 100 has been updated.
Then, when the printer 100 requests to acquire the service contract information by polling in S805, the device management server 200 notifies the printer 100 of the held updated service contract information by, for example, an HTTP response. Similar to the first embodiment, the request (polling) to acquire the service contract information is a request to collectively acquire the contract states of a plurality of services, and is not issued for each service.
Upon receiving the updated service contract information from the device management server 200, the printer 100 stores the updated service contract information in a nonvolatile memory 104 in S806. Then, control corresponding to the updated service contract information is reflected on the subsequent operation of the printer 100. In this example, after S806, the restriction of the use in the offline environment and the restriction of replacement with a consumable that can be purchased on the market, which have been set as restrictions in a case where the printer 100 has been lent, are canceled.
In addition, by shortening the polling interval of the request to acquire the service contract information in S801 or S805, the updated service contract information can quickly be reflected on the operation of the printer 100. However, if many printers on the market execute polling at a high frequency, the access load on the device management server 200 becomes heavy. Therefore, in this embodiment, the polling frequency of the request to acquire the service contract information in S801 or S805 is controlled in accordance with a target service type. As a result, it is possible to quickly reflect the updated service contract information on the operation of the printer 100 and to suppress the access load on the device management server 200.
The request (polling) to acquire the service contract information in S801 or S805 will further be described next with reference to
In this embodiment, the printer 100 can be set in a plurality of service states concerning a service contract, as shown in
If the user 500 cancels the service on the service management server 300 in the service start state of S903, or service provision is stopped due to violation of service use, the printer 100 transitions to the cancel/stop state of S904. In the cancel/stop state, the user 500 cannot receive provision of the service, and the functions of the printer 100 are restricted in a case where the printer 100 is lent based on the service contract. If a service contract is made again on the service management server 300 in the cancel/stop state of S904, the printer 100 transitions from the cancel/stop state of S904 to the service authentication waiting state of S902.
On the other hand, if, in the service start state of S903 or the cancel/stop state of S904, the user 500 changes the contract contents of the service on the service management server 300, in this example, the user executes the purchase option, the printer 100 transitions to the purchased state of S905. In the purchased state, the lending restrictions of the printer 100 is canceled, and it is possible to use the printer 100 as the printer 100 owned by the user in the offline environment and to replace the consumable with a consumable that can be purchased on the market.
Control of the polling frequency of the request to acquire the service contract information in accordance with a service type will be described next with reference to
On the other hand, service B is a service for which the user can arbitrarily select whether to make a service contract, like the consumable flat-rate service or the mileage service, and the functions of the printer 100 are not restricted in accordance with the service state including the service uncontracted state. Since the printer 100 is owned by the user, there is no purchase option for service B, and thus there is no purchased state.
The service authentication waiting state of service A in
After the printer 100 transitions to the service start state, the CPU 101 executes, at an interval of 1 min, polling of the request to acquire the service contract information to monitor the change of service contract information. More specifically, if the CPU 101 determines that the service state of service A of the printer 100 is “service start state”, the CPU 101 executes polling at an interval of 1 min. After the printer 100 transitions to the cancel/stop state, the CPU 101 executes, at, for example, an interval of 1 min, polling of the request to acquire the service contract information to monitor the change of service contract information. Note that the above polling interval is merely an example, and is not limited to the above-described time interval.
As described above, by executing, at a high frequency, polling of the request to acquire the service contract information after transitioning to the service start state, it is possible to quickly cancel the state in which the service functions are restricted, when, for example, the purchase option is executed.
After the printer 100 transitions to the purchased state, the CPU 101 does not periodically request to acquire the service contract information, and requests to acquire the service contract information at a timing when the user 500 operates the printer 100 next. That is, control is performed to reduce the frequency of the request to acquire the service contract information, as compared with the cases of other service states.
As described above, by relatively reducing the frequency of the re-request to acquire the service contract information, it is possible to suppress the access load caused by many printers on the market accessing the device management server 200 at a high frequency.
The uncontracted state and the service authentication waiting state of service B in
Then, after the printer 100 transitions to the service start state, the CPU 101 does not periodically request to acquire the service contract information, and requests to acquire the service contract information at a timing when the user 500 operates the printer 100 next. Even after the printer 100 transitions to the cancel/stop state, the CPU 101 does not periodically request to acquire the service contract information, and requests to acquire the service contract information at a timing when the user 500 operates the printer 100 next. That is, control is performed to reduce the frequency of the request to acquire the service contract information, as compared with the case of service A.
As described above, by relatively reducing the frequency of the re-request to acquire the service contract information, it is possible to suppress the access load caused by many printers on the market accessing the device management server 200 at a high frequency.
As described above, according to this embodiment, the frequency of the request to acquire the service contract information is controlled in accordance with the characteristic of the service. With this arrangement, it is possible to suppress the access load caused by many printers on the market accessing the device management server 200 at a high frequency. Furthermore, since the change of the service contract information such as execution of the purchase option is monitored at a short polling interval, that is, at a high frequency, it is possible to quickly cancel the restrictions of the printer functions in accordance with the characteristic of the service.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2023-008952, filed Jan. 24, 2023, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2023-008952 | Jan 2023 | JP | national |