Server system and information processing program

The server system addresses the challenge of updating printing information by using a communication and control unit to ensure updated printable amounts are reflected on the printer after reconnection, enhancing synchronization.

JP7784062B2Active Publication Date: 2025-12-11BROTHER KOGYO KK
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022039657
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-14
Publication Date
2025-12-11
Estimated Expiration
2042-03-14

AI Technical Summary

Technical Problem

Existing systems face difficulties in reflecting updated printing information, such as the number of printable sheets, from a server to a printer effectively.

Method used

A server system with a communication unit, control unit, and memory unit that performs storage, reconnection determination, and instruction sending processes to ensure updated printable amounts are reflected on the printer after a connection is reestablished.

Benefits of technology

Ensures that updated printing information is quickly reflected on the printer when a connection is reestablished, maintaining synchronization between the server and printer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007784062000001
    Figure 0007784062000001
  • Figure 0007784062000002
    Figure 0007784062000002
  • Figure 0007784062000003
    Figure 0007784062000003
Patent Text Reader

Abstract

To reflect, on a printer, the details of update of information on printing performed in a server.SOLUTION: A processor 510 of a service server 500 and a processor 610 a connection server 600 each store a cumulative charge count D51 indicating the number of sheets on which a printer 100 can print images or the amount of coloring materials in association with the printer 100 in S220, in response to a request for adding the cumulative charge count D51 of the printer 100 acquired from a terminal device 200, determine if the server is re-connected to the printer 100 in S415 after the connection with the printer 100 is cut off, determine if the cumulative charge count D51 stored in association with the printer 100 is reflected on the printer 100 in S310 when determining that the server is re-connected, and when determining that the cumulative charge count is not reflected on the printer 100, transmit an instruction to reflect the stored cumulative charge count D51 to the printer 100 in S320, S325.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a server system connected to a printer and an information processing program used in the server system. [Background technology]

[0002] Conventionally, as described in Patent Document 1, for example, in a service in which a user using a printer pays a fee according to the content of printing, a technology is known in which a server stores the amount of printing permission purchased in advance by the user and allows the printer to print within the range of the stored amount of printing permission. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2021-18621 Summary of the Invention [Problem to be solved by the invention]

[0004] In the technology described in Patent Document 1, when data indicating information related to printing, such as the number of printable sheets, is updated on the server, it is not easy to reflect the updated content on the printer side, and there is room for improvement.

[0005] An object of the present invention is to provide a server system and an information processing program that can, when information related to printing is updated in a server, reflect the updated information in a printer. [Means for solving the problem]

[0006] In order to achieve the above object, the present invention provides a server system comprising a communication unit connectable to an external device and a printer, respectively, a control unit, and a memory unit, wherein the control unit executes the following steps in response to a request for an increase in the printable amount of the printer obtained from the external device via the communication unit: a storage process for storing in the memory unit, in association with the printer, the printable amount that is the printable amount of the printer and indicates the amount of sheet or coloring material on which an image can be printed by the printer; a reconnection determination process for determining whether the printer has been reconnected via the communication unit after the connection with the printer has been disconnected via the communication unit; a reflection determination process for determining whether the printable amount stored in association with the printer in the memory unit has been reflected in the printer, if the reconnection determination process determines that the printer has been reconnected; and an instruction sending process for sending to the printer an instruction to reflect the stored printable amount, if the reflection determination process determines that the printable amount has not been reflected in the printer.

[0007] The server system of the present invention is connected to an external device and a printer via a communication unit. When an external device requests an increase in the printable amount of the printer, the control unit executes a storage process to store the requested printable amount in the storage unit in association with the printer. Here, it is possible that communication with the printer via the communication unit is interrupted for some reason, resulting in the connection being severed without the user's knowledge. The present invention addresses such situations by determining in a reconnection determination process whether the printer has been reconnected via the communication unit after the printer was disconnected. If the printer has been reconnected, a further determination is made in a reflection determination process whether the printable amount stored in the storage unit in association with the printer has been reflected on the printer, as described above. If the printable amount has not been reflected on the printer, an instruction transmission process sends an instruction to reflect the stored printable amount to the printer. According to the present invention, when the printer is reconnected to the server system, the printable amount that has been updated on the server system side but not yet reflected on the printer side can be quickly reflected. [Effects of the Invention]

[0008] According to the present invention, when information relating to printing is updated in the server, the updated content can be reflected in the printer. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a system configuration diagram illustrating an example of an entire print management system including a server system according to an embodiment of the present invention. [Figure 2] 2A to 2C are explanatory diagrams showing examples of the contents of control data, user data, service data, and connection data, respectively. [Figure 3] FIG. 10 is a sequence diagram illustrating an example of a printing process. [Figure 4] FIG. 10 is a sequence diagram illustrating an example of a process for purchasing the number of printable sheets. [Figure 5] FIG. 10 is a sequence diagram illustrating an example of a process for reflecting the cumulative number of charges. [Figure 6] FIG. 10 is a sequence diagram showing another example of the process of reflecting the cumulative charged number. [Figure 7] FIG. 10 is a sequence diagram illustrating an example of a reconnection process. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0011] <System configuration> 1 shows an example of a print management system 1000 including a server system according to this embodiment. The print management system 1000 includes a printer 100, a terminal device 200, a service server 500, a connection server 600, and a payment server 700. The terminal device 200 is an example of an external device. The service server 500 and the connection server 600 are examples of a server system.

[0012] In this embodiment, the service server 500 and the connection server 600 are provided by a print service provider. The payment server 700 is provided by a payment service provider. The print service provider provides the printer 100 to a user who has applied for a print service. The service server 500 assigns the number of printable sheets to the printer 100. The service server 500 is an example of a second server. The printer 100 allows the user to print the number of printable sheets.

[0013] A user can purchase a printable number for a fee. When a printable number is purchased, the service server 500 grants the printable number updated by the purchase to the printer 100. The payment server 700 processes the payment for the purchase of the printable number.

[0014] The connection server 600 establishes a constant connection with the printer 100. Any method may be used to maintain the constant connection. For example, the connection server 600 and the printer 100 establish a communication session for the constant connection according to the Extensible Messaging and Presence Protocol (XMPP). The connection server 600 is an example of a first server.

[0015] The connection server 600 and the printer 100 maintain a constant connection by performing periodic KeepAlive communication. Communication between the printer 100 and the service server 500 is performed via the connection server 600. These devices 100, 200, 500, 600, and 700 are connected to a network NT. The network NT may include the so-called Internet. The network NT may also include a so-called local network.

[0016] <Printer> The printer 100 has a processor 110, a storage device 115, a display unit 140, an operation unit 150, a print execution unit 160, and a communication interface 180. These elements are connected to one another via a bus. The storage device 115 includes a volatile storage device 120 and a non-volatile storage device 130. The processor 110 is a device that performs data processing, such as a CPU. The volatile storage device 120 is, for example, a DRAM, and the non-volatile storage device 130 is, for example, a flash memory.

[0017] The display unit 140 is a device that displays images, such as a liquid crystal display, an organic EL display, or an LED display. The operation unit 150 is a device that receives user operations, such as a button, a lever, or a touch panel overlaid on the display unit 140. The communication interface 180 is an interface for communicating with other devices. For example, the communication interface 180 includes one or more of a USB interface, a wired LAN interface, and an IEEE802.11 wireless interface. In this embodiment, the communication interface 180 is connected to a network NT.

[0018] The print execution unit 160 is a device that prints an image on a sheet such as paper using a coloring material in a predetermined method, such as a laser method or an inkjet method. The coloring material is, for example, toner, ink, or the like.

[0019] The nonvolatile storage device 130 stores a program PG1 and control data 131. The program PG1 is stored in advance in the nonvolatile storage device 130 as firmware by the manufacturer of the printer 100. The processor 110 executes the program PG1 to perform various processes, which will be described later. The control data 131 will be described in detail later.

[0020] <Terminal Device 200> The terminal device 200 has a processor 210, a storage device 215, a display unit 240, an operation unit 250, and a communication interface 280. These elements are connected to each other via a bus. The storage device 215 includes a volatile storage device 220 and a non-volatile storage device 230. The processor 210 is a device that performs data processing, such as a CPU. The volatile storage device 220 is, for example, a DRAM, and the non-volatile storage device 230 is, for example, a flash memory.

[0021] The display unit 240 is a device that displays images, such as a liquid crystal display, an organic EL display, or an LED display. The operation unit 250 is a device that receives user operations, such as a button, a lever, or a touch panel overlaid on the display unit 240. The communication interface 280 is an interface for communicating with other devices. For example, the communication interface 280 includes one or more of a USB interface, a wired LAN interface, and an IEEE802.11 wireless interface. In this embodiment, the communication interface 280 is connected to a network NT.

[0022] The non-volatile storage device 230 stores a program PG2 and account data 231. Although not shown, an operating system runs on the terminal device 200. The operating system is, for example, ANDROID (registered trademark), iOS (registered trademark), etc. Various applications can run on the operating system. The program PG2 is an application program that runs on the operating system. Alternatively, the program PG2 may be an application program that runs on another application. Such a program is also called a mini program. The program PG2 is downloaded to the terminal device 200 from a server (not shown). Alternatively, the program PG2 may be provided stored on a portable storage device, such as a CD-ROM or USB flash drive. The processor 210 executes the program PG2 to perform various processes, which will be described later. Details of the account data 231 will be described later.

[0023] <server> The servers 500, 600, and 700 each include a processor 510, 610, or 710, a storage device 515, 615, or 715, and a communication interface 580, 680, or 780. These elements are connected to one another via a bus. The processors 510 and 610 are examples of a control unit and also examples of a calculation unit. The communication interfaces 580 and 680 are examples of a communication unit. The storage devices 515, 615, and 715 respectively include volatile storage devices 520, 620, and 720, and nonvolatile storage devices 530, 630, and 730. The volatile storage devices 520 and 620 and the nonvolatile storage devices 530 and 630 are examples of storage units.

[0024] The processors 510, 610, and 710 are devices that perform data processing, such as a CPU. The volatile storage devices 520, 620, and 720 are, for example, DRAM, and the nonvolatile storage devices 530, 630, and 730 are, for example, flash memory. The communication interfaces 580, 680, and 780 are interfaces for communicating with other devices. For example, each of the communication interfaces 580, 680, and 780 includes one or more of a USB interface, a wired LAN interface, and an IEEE 802.11 wireless interface. In this embodiment, the communication interfaces 580, 680, and 780 are each connected to a network NT.

[0025] The nonvolatile storage devices 530, 630, 730 pre-store programs PG5, PG6, PG7 for operating the corresponding servers 500, 600, 700, respectively. The processors 510, 610, 710 execute various processes, which will be described later with reference to Figures 3 to 7, in accordance with the programs PG5, PG6, PG7. PG5 and PG6 associated with the servers 500, 600 are examples of information processing programs.

[0026] The nonvolatile storage device 530 of the service server 500 further stores user data 531, service data 532, and history data 533. The nonvolatile storage device 630 of the connection server 600 further stores connection data 631. The nonvolatile storage device 730 of the payment server 700 further stores payment data 731. Details of these data will be described later.

[0027] Although not shown, a server operating system runs on the servers 500, 600, and 700. The programs PG5, PG6, and PG7 may be application programs that run on the operating system. Alternatively, the programs PG5, PG6, and PG7 may be programs embedded in the operating system.

[0028] <Control data> An example of the control data 131 stored in the nonvolatile storage device 130 of the printer 100 shown in FIG. 1 is shown in FIG. 2(A). The control data 131 indicates a cumulative charge number D11 and a cumulative print number D12. Hereinafter, the cumulative charge number D11 will also be simply referred to as the cumulative charge number D11. Also, the cumulative print number D12 will also be simply referred to as the cumulative print number D12.

[0029] The cumulative charge number D11 is the cumulative value of the number of printable sheets granted to the printer 100. The charge number indicates the number of printable sheets granted to the printer 100. The cumulative number of printed sheets D12 is the cumulative value of the number of sheets printed by the printer 100.

[0030] As will be described in detail later, the processor 110 of the printer 100 updates the cumulative charge count D11 in response to instructions from the service server 500, and updates the cumulative print count D12 in response to printing execution. The printer 100 is requested to print various numbers of sheets NP (NP is an integer greater than or equal to 1). The processor 110 executes printing when "NP+D12" is less than or equal to "D11".

[0031] <user data> Fig. 2(B) shows the user data 531 stored in the nonvolatile storage device 530 of the service server 500 shown in Fig. 1. The user data 531 indicates the correspondence between the user identifier UID and the printer identifier PID. The user identifier UID is an identifier of a user who uses a printer, for example, the printer 100. The printer identifier PID is an identifier of a printer, for example, the printer 100. The correspondence between the user identifier UID and the printer identifier PID is registered in the user data 531 when the user applies to the print service provider. Details will be described later, but management of the number of printable sheets (e.g., purchases) is performed in association with the user identifier UID.

[0032] <Service Data> Fig. 2(C) shows the service data 532 stored in the nonvolatile storage device 530 of the service server 500 shown in Fig. 1. The service data 532 indicates a cumulative charge count D51, a reflected cumulative charge count D52, a cumulative charge addition timestamp D53, a cumulative charge reflection timestamp D54, and a cumulative print count D55. Hereinafter, the cumulative charge number D51 will also be simply referred to as the cumulative charge number D51. The cumulative charge number D51 is an example of a first cumulative value and also an example of a printable amount. The reflected cumulative charge number D52 will also be simply referred to as the reflected cumulative charge number D52. The reflected cumulative charge number D52 is an example of a second cumulative value. The cumulative print number D55 will also be simply referred to as the cumulative print number D55.

[0033] An information set DS including five pieces of information D51-D55 indicates an information set associated with one printer identifier PID. Service data 532 indicates multiple information sets DS for multiple printer identifiers PID.

[0034] The cumulative charge number D51 is a cumulative value of the charge number, and increases with the purchase of the printable number of sheets. As will be described in detail later, the processor 510 of the service server 500 updates the cumulative charge number D51 in accordance with the purchase of the printable number of sheets. In accordance with the update of the cumulative charge number D51, the processor 510 sends an update instruction for the cumulative charge number D11 shown in FIG. 2A to the printer 100. The processor 110 of the printer 100 updates the cumulative charge number D11 to the same value as the cumulative charge number D51.

[0035] The reflected cumulative charge number D52 is the cumulative charge number that has been reflected in the cumulative charge number D11 of the control data 131 of the printer 100 shown in FIG. 2(A). As will be described in detail later, the processor 110 of the printer 100 notifies the service server 500 of the result of updating the cumulative charge number D11. If the notification indicates that the update was successful, the processor 510 of the service server 500 updates the reflected cumulative charge number D52 to the same value as the cumulative charge number D11. In other words, D52 = D11 = D51. If the update of the cumulative charge number D11 of the printer 100 has not been completed, the reflected cumulative charge number D52 may differ from the cumulative charge number D51.

[0036] The cumulative charge addition timestamp D53 indicates the date and time when the cumulative charge number D51 was updated. The cumulative charge reflection timestamp D54 indicates the date and time when the reflected cumulative charge number D52 was updated. The processor 510 can obtain the current date and time by referencing a timer (not shown) provided in the service server 500.

[0037] The cumulative number of prints D55 is the cumulative value of the number of sheets printed by the printer 100. As will be described in detail later, the processor 110 of the printer 100 requests the service server 500 to update the cumulative number of prints D55 in response to the execution of printing. In response to the request, the processor 510 of the service server 500 updates the cumulative number of prints D55 to the same value as the cumulative number of prints D12.

[0038] <Connection data> 2(D) shows the connection data 631 stored in the non-volatile storage device 630 of the connection server 600 shown in FIG. 1. The connection data 631 indicates the correspondence between the printer identifier PID and the online flag value "0" or "1." Details of the online flag will be described later, but it is a flag that is set to "1" if the printer 100 and the connection server 600 are in an online state, and "0" if the printer 100 and the connection server 600 are in an offline state. The online flag is an example of a status indicator.

[0039] <Printing process> A sequence diagram showing an example of printing processing is shown in Fig. 3. Fig. 3 shows an example of processing when printer 100 executes printing. At the top of the diagram, an example of pre-printing service data 532 and control data 131 is shown. In this example, D51 = D52 = D11 = 1000, and D55 = D12 = 943.

[0040] In S110, the printer 100 receives a print request from, for example, the terminal device 200. The device that sends the print request is not limited to the terminal device 200, but may be any device that can communicate with the printer 100. For example, if the communication interface 180 of the printer 100 includes a USB interface, the device that sends the print request may be an external device, such as a personal computer, that is connected to the USB interface by wire. If the communication interface 180 includes an IEEE802.11 wireless interface, the device that sends the print request may be an external device wirelessly connected to the wireless interface, such as a smartphone or a tablet computer. The printer 100 may also receive a print request from the service server 500. The service server 500 may send a print request to the printer 100 in response to an instruction from a user's terminal device, such as the terminal device 200.

[0041] A print request may include various data. In this embodiment, the print request includes image data of the image to be printed (referred to as target image data). The data format of the target image data may be any data format. For example, the target image data may be bitmap data such as JPG (Joint Photographic Expert Group) or PNG (Portable Network Graphics), or image data written in a page description language such as PDF (Portable Document Format) or XPS (XML Paper Specification). Hereinafter, the target image data will be assumed to represent NP images to be printed on NP sheets (NP: an integer greater than or equal to 1). The number NP will be referred to as the number of sheets to be printed NP.

[0042] In S115, the processor 110 refers to the control data 131 shown in FIG. 2(A) and acquires the cumulative charge number D11 and the cumulative print number D12.

[0043] In S120, the processor 110 determines whether the sum of the cumulative print number D12 and the number of print sheets NP is less than or equal to the cumulative charge number D11. D11 < D12 + NP indicates that the cumulative print number D12 exceeds the cumulative charge number D11 by printing NP sheets. In this case (S120: No), the processor 110 ends the process without executing printing. The processor 110 may execute a process of notifying the user that printing has not been performed. For example, the processor 110 may display information indicating a shortage of the cumulative charge number D11 on the display unit 140.

[0044] When D12 + NP is less than or equal to D11 (S120: Yes), in S125, the processor 110 causes the print execution unit 160 to execute printing of NP sheets using the target image data. For example, the processor 110 generates print data using the target image data. The processor 110 supplies the print data to the print execution unit 160. The print execution unit 160 executes printing according to the print data. The data format of the print data may be any data format suitable for the print execution unit 160. Instead of this, the processor 110 may supply the target image data to the print execution unit 160. That is, the print execution unit 160 may be configured to print an image using the target image data.

[0045] In this way, printing is permitted when the number of print sheets NP is less than or equal to "D11 - D12". The difference (D11 - D12) between the cumulative charge number D11 and the cumulative print number D12 indicates the number of printable sheets.

[0046] In S130, processor 110 updates control data 131. Specifically, processor 110 adds the number of printed sheets NP to the cumulative number of printed sheets D12. For example, if the cumulative number of printed sheets D12 before the update is 943 and the number of printed sheets NP is 10, the cumulative number of printed sheets D12 after the update is 953 (=943+10).

[0047] In S135, the processor 110 sends an update request addressed to the service server 500 to the connection server 600. The update request includes data indicating the printer identifier PID associated with the printer 100 and data indicating the updated cumulative print count D12.

[0048] In S140, the processor 610 of the connection server 600 transmits the update request from the printer 100 to the service server 500.

[0049] In S145, the processor 510 of the service server 500 updates the service data 532 in response to the update request. In this embodiment, the processor 510 sets the cumulative print count D55 of the information set DS corresponding to the printer identifier PID indicated by the update request to the same value as the cumulative print count D12 indicated by the update request. For example, if D12=953, the cumulative print count D55 is set to 953. The processing of FIG. 3 then ends.

[0050] <Purchase process> FIG. 4 shows a sequence diagram illustrating an example of the process for purchasing printable sheets. In this embodiment, printable sheets can be purchased for each of multiple printers. Hereinafter, it is assumed that the printable sheets are purchased for printer 100. An example of pre-purchase service data 532 is shown at the top of the diagram. In this example, D51 = D52 = 1000.

[0051] In S210, the user operates the operation unit 250 of the terminal device 200 to input a purchase instruction indicating the number of prints to be purchased. In response to the purchase instruction, the processor 210 of the terminal device 200 sends a request to increase the number of prints to the service server 500. The request includes data indicating the user identifier UID, data indicating the printer identifier PID, and data indicating the number of prints to be purchased. In this specification, the number of prints requested to be increased, i.e., purchased for a fee, is referred to as the "number of prints to be purchased."

[0052] In this embodiment, the user identifier UID and printer identifier PID are input in advance into the terminal device 200 by the user. The account data 231 indicates the input information UID and PID. The processor 210 references the account data 231 to acquire the information UID and PID. Alternatively, the user may input a purchase instruction indicating information specifying one or both of the user identifier UID and printer identifier PID. Hereinafter, it is assumed that the printer identifier PID indicates the printer 100.

[0053] In S215, the processor 510 of the service server 500 executes a payment process for the additional request by communicating with the payment server 700. The payment process is performed based on the user identifier UID and the purchased quantity indicated in the additional request. Through the payment process, an amount equivalent to the purchased quantity is paid from the user corresponding to the user identifier UID to the printing service provider. The payment process may be various processes suitable for the payment server 700. For example, the processor 510 of the service server 500 sends a payment request including data indicating the user identifier UID and the amount equivalent to the purchased quantity to the payment server 700. The processor 710 of the payment server 700 executes a payment process in response to the payment request. The payment data 731 indicates information used in the payment process, such as the correspondence between the user identifier UID and a transfer account. The processor 510 of the service server 500 may proceed with the payment process in cooperation with the terminal device 200 in addition to the payment server 700.

[0054] In S220, the processor 510 of the service server 500 updates the information set DS associated with the printer identifier PID in the service data 532 shown in FIG. 2(C) and stores it in the non-volatile storage device 530. This process is an example of storage processing. Specifically, the processor 510 adds the number of purchases to the cumulative charge number D51. In the example of FIG. 4, the cumulative charge number D51 before the update is 1000, and the number of purchases is 100. In this case, the cumulative charge number D51 after the update is 1100 (=1000+100). The processor 510 also updates the cumulative charge addition timestamp D53 to the current date and time. Then, the purchase process ends.

[0055] In this way, the cumulative charge number D51 increases through the purchase process. The reflected cumulative charge number D52 is updated through the reflection process described below. After the purchase process, the cumulative charge number D51 differs from the reflected cumulative charge number D52 until the reflected cumulative charge number D52 is updated.

[0056] <Reflection process> 5 and 6 are sequence diagrams showing an example of the process of reflecting the cumulative number of charges.

[0057] <If the update is successful> First, an example of the reflection process when the cumulative number of charged coins is successfully reflected is shown in Figure 5. The upper part of the figure shows an example of the control data 131 before updating. Here, D11=1000.

[0058] In S310, the processor 510 of the service server 500 references the service data 532 shown in Fig. 2(C). As described in Fig. 2(C), the service data 532 indicates a plurality of information sets DS for a plurality of printer identifiers PID. Fig. 5 shows processing for one printer identifier PID, in this case the printer identifier PID of printer 100. Although not shown, the processor 510 executes the processing of Fig. 5 while identifying each printer using the plurality of printer identifiers PID. In S310, processor 510 determines whether cumulative charge number D51 is the same as reflected cumulative charge number D52. If D51=D52 (S310: Yes), processor 510 considers that the cumulative charge number has been reflected, and ends the reflection process of FIG. 5. Note that instead of determining whether D51=D52, it may be possible to determine whether the cumulative charge number has been reflected by determining whether D54 is a time later than D53. Note that when S310 is executed in the sequence of FIG. 7 described below, the process executed in S310 is an example of reflection determination processing.

[0059] If the cumulative charge number has not yet been reflected, that is, in the above example, if the cumulative charge number D51 differs from the reflected cumulative charge number D52 (S310: No), then in S320 the processor 510 sends an update instruction addressed to the printer 100 to the connection server 600. The update instruction includes data indicating the cumulative charge number D51 and data indicating the printer identifier PID of the destination printer 100. Hereinafter, it is assumed that D51=1100. Thereafter, in S325, the processor 610 of the connection server 600 transmits the update instruction received from the service server 500 to the printer 100. The connection data 631 indicates the correspondence between the printer identifier PID and information indicating the location on the network of the printer connected to the connection server 600 via a constant connection, such as an IP address. The processor 610 references the connection data 631 and transmits the update instruction to the printer associated with the printer identifier PID indicated in the update instruction. Note that when S320 and S325 are executed after the sequence of FIG. 7 described below, the processing executed in S320 and S325 is an example of instruction transmission processing.

[0060] In S330, in response to the update instruction, the processor 110 of the printer 100 updates the cumulative charge number D11 of the control data 131 to the same value as the cumulative charge number D51 indicated by the update instruction. In this example, the cumulative charge number D11 is updated from 1000 to 1100.

[0061] In S335, the processor 110 transmits an update result notification addressed to the service server 500 to the connection server 600. The update result notification includes data indicating the updated cumulative charge number D11. Hereinafter, the update result notification will also be simply referred to as a result notification. In S340, the processor 610 of the connection server 600 transmits the result notification received from the printer 100 to the service server 500. Note that when S335 and S340 are executed in the sequence of FIG. 7 described below, the result notifications transmitted in S335 and S340 are an example of a reflection completion notification.

[0062] In S350, the processor 510 of the service server 500 determines whether the cumulative charge number D51 has been successfully reflected in the control data 131 of the printer 100. In this embodiment, the processor 510 determines that the reflection has been successful when the service server 500 receives a result notification from the printer 100. The processing to be performed when it is determined that the reflection has not been successful will be described later.

[0063] If it is determined that the reflection was successful (S350: Yes), in S370, processor 510 updates the reflected cumulative charge number D52 to the same value as the cumulative charge number D11 indicated by the result notification. In the example of Fig. 5, the cumulative charge number D11 is 1100. In this case, the updated reflected cumulative charge number D52 is 1100. Processor 510 also updates the cumulative charge reflection timestamp D54 to the current date and time.

[0064] In S380, processor 510 transmits a reflection completion notification to terminal device 200. When S380 is executed in the sequence of Fig. 7 described below, the process executed in S380 is an example of a notification transmission process. Thereafter, in S385, the content of the reflection completion notification received in S380 is displayed on the terminal device 200. Then, the reflection processing in Fig. 5 ends.

[0065] Processor 510 of service server 500 executes the reflection process after S220 in the purchase process shown in Fig. 4, or after S430 in the reconnection process shown in Fig. 7, which will be described later. This allows processor 510 to reflect the cumulative charge number D51 in the cumulative charge number D11 of printer 100 in accordance with an increase in the cumulative charge number D51 due to the purchase process. Processor 510 executes the reflection process similarly for other printers.

[0066] <If reflection fails> Next, FIG. 6 shows an example of the update process when the update of the cumulative charge number fails. Update of the cumulative charge number D51 can fail for various reasons. For example, if the printer 100 is powered off, the printer 100 and the connection server 600 are offline, and the cumulative charge number D11 of the printer 100 is not updated. Also, if there is a problem with the network connecting the printer 100 and the connection server 600, the printer 100 and the connection server 600 are offline, and the printer 100 cannot receive an update instruction. S310, S320, and S325 in the figure are the same as S310, S320, and S325 in FIG. 5, respectively. However, in S325 in FIG. 6, it is assumed that the printer 100 cannot receive an update instruction from the connection server 600.

[0067] After sending the update instruction (S325), the processor 610 of the connection server 600 is unable to receive a result notification from the printer 100. In this case, the processor 610 may update the online flag associated with the printer identifier PID indicating the printer 100 in the connection data 631 stored in the non-volatile storage device 630 to 0. Then, in S345, the processor 610 sends an error notification to the service server 500. The error transmission condition for sending the error notification may be various conditions indicating that the update instruction has not been received by the printer 100. For example, the error transmission condition may be that the connection server 600 does not receive a result notification from the printer 100 before a predetermined first waiting time has elapsed after sending the update instruction.

[0068] In S350, the processor 510 of the service server 500 determines whether the update of the cumulative charge number D51 was successful. In this embodiment, if the service server 500 receives an error notification from the connection server 600, the processor 510 determines that the update was not successful. In this embodiment, the connection server 600 sends either a result notification from the printer (FIG. 5: S340) or an error notification (FIG. 6: S345) to the service server 500. Therefore, the condition for determining that the reflection was not successful is the same as when the service server 500 does not receive a result notification from the printer 100. The processor 510 may determine that the update was not successful if it does not receive a result notification from the printer 100 before a predetermined second waiting time has elapsed after sending the update instruction (S320). The condition that the service server 500 does not receive a result notification from the printer 100 is an example of a condition that indicates that the update instruction is not received by the printer 100.

[0069] If it is determined that the update was not successful (S350: No), in S510, the processor 510 sends an error notification to the terminal device 200. In S520, the processor 210 of the terminal device 200 displays error information indicating the error on the display unit 240. The error information may include, for example, a message indicating that the cumulative charge number D11 of the printer 100 has not been updated. A user who observes the error information may take action to resolve the error. Specifically, this may include, for example, switching the power state of the printer 100, restarting a network device connected to the printer 100, or the like.

[0070] The error notification (S510) may include data indicating various information such as the cause of the error, the cumulative charge number D51, the reflected cumulative charge number D52, etc. Then, in S520, the processor 210 may display on the display unit 140 the information indicated by the data included in the error notification.

[0071] After S510, in S530, processor 510 of service server 500 adds the update instruction to the retransmission target. For example, processor 510 stores update instruction data indicating the update instruction for the retransmission target in storage device 515, for example, non-volatile storage device 530. The update instruction data may include data indicating the cumulative charge number D51 and data indicating the printer identifier PID of the destination printer. Then, processor 510 ends the reflection process. In this embodiment, the processor 510 can execute the reflection process of Fig. 5 or 6 for each of the multiple printer identifiers PID. Therefore, multiple update instructions for multiple printers can be subject to retransmission. Note that the update instructions subject to retransmission are retransmitted by the retransmission process described below.

[0072] <Resend process> Although detailed illustration is omitted, the processor 510 of the service server 500 executes a retransmission process to retransmit the update instruction that was added to the retransmission targets in S530 of FIG. 6 to the printer. In this embodiment, the reflection process shown in FIG. 5 is executed in the process shown in FIG. 7 described below, and the update instruction is resent to the printer 100 (S320, S325), so the process and resend process of S530 described above do not necessarily have to be executed.

[0073] <Main parts of the embodiment> In the basic configuration and operation described above, the main part of this embodiment is the processing that is performed after the printer 100 and the connection server 600 go offline, as described above.

[0074] That is, as described above, in this print management system 1000, the connection server 600 is connected to the printer 100 via the communication interface 680 and the network NT. In this state, when the terminal device 200 makes a request to add the cumulative charge number D51 of the printer 100, in other words, when the above-mentioned number of purchases is made (S210 in FIG. 4), the number of purchases is added to the cumulative charge number D51 in the above-mentioned S220, and the cumulative charge number D51 after the addition is stored in association with the printer 100.

[0075] As already mentioned, there may be a situation where the constant connection between the connection server 600 and the printer 100 established as described above is interrupted for some reason and the connection is suddenly cut off. In this embodiment, a predetermined reconnection process is performed to deal with such a situation. Details of this reconnection process will be explained below with reference to the sequence diagram in FIG. 7.

[0076] 7, this flow is executed when the connection between the connection server 600 and the printer 100 has gone offline as described above. First, in S405, the connection of the printer 100 to the connection server 600 is re-established using the method described above. Note that in the offline state prior to this establishment, the connection server 600, which has identified the printer 100 as being offline, has set the online flag of the connection data 631 stored in the non-volatile storage device 630 to "0."

[0077] In response to this connection establishment, in S410, the printer 100 sends a notification to the connection server 600 requesting that the online status be updated. Specifically, this notification is, for example, a notification requesting that the value of the online flag be updated from "0" to "1." This notification is an example of an instruction to switch the status indicator.

[0078] In S415, the processor 610 of the connection server 600 recognizes that the printer 100 and the connection server 600 have been reconnected upon receiving the notification in S410, and updates the online flag associated with the printer identifier PID indicating the printer 100 in the connection data 631 stored in the nonvolatile storage device 630 from "0" to "1." The processing executed in S415 is an example of reconnection determination processing.

[0079] In S420, the processor 610 of the connection server 600 determines whether the reconnected printer 100 is using a service provided by the service server 500, in this example, the printing service described above. For example, the non-volatile storage device 630 of the connection server 600 associates a printer identifier PID with information indicating whether the printing service is being used, and the processor 610 determines whether the printing service is being used based on this information. The process executed in S420 is an example of a usage determination process. If the reconnected printer 100 is not using a service provided by the service server 500, the determination is No, and this flow ends. If the printer 100 is using a service provided by the service server 500, the determination is Yes, and the process proceeds to S425.

[0080] In S425, it is determined whether a predetermined time has elapsed since the printer 100 and the connection server 600 were reconnected and the online flag was updated from "0" to "1," as described above. In other words, in S425, it is determined whether the reconnected state has continued for the predetermined time and the reconnection has stabilized. The process executed in S425 is an example of a continuation determination process.

[0081] When the predetermined time has elapsed, a Yes determination is made in S425, and an online recovery notification including the printer identifier PID is sent from the connection server 600 to the service server 500 in S430.

[0082] After S430, the printer 100, the connection server 600, the service server 500, and the terminal device 200 execute the reflection process described above with reference to FIG. 5 or FIG.

[0083] In this case, in S310, the processor 510 of the service server 500 identifies the printer 100 based on the printer identifier PID included in the online recovery notification, and for the information set DS including the printer identifier PID identifying that printer 100, as described above, in S310, determines whether the cumulative charge number D51 is the same as the reflected cumulative charge number D52. Then, in S320 and S325, an update instruction is sent to update the reflected cumulative charge number D52. In response to this, in S330, the cumulative charge number D11 is updated to the same value as the cumulative charge number D51 indicated by the update instruction. Then, in S335 and S340, an update result notification is sent indicating that the update has been completed and successfully determined by the printer 100, and in S370, the service server 500 updates the reflected cumulative charge number D52 to the same value as the cumulative charge number D11. Thereafter, in S380, a reflection completion notice is sent from service server 500 to terminal device 200, and the contents thereof are displayed on terminal device 200 in S385.

[0084] <Effects of the embodiment> In this embodiment, a server system made up of a service server 500 and a connection server 600 is connected to the terminal device 200 and the printer 100 via communication interfaces 580, 680. When there is a request from the terminal device 200 to add the cumulative charge number D51 of the printer 100, the service server 500 executes S220, in which the requested cumulative charge number D51 is stored in the non-volatile storage device 530 in a form associated with the printer 100. If the communication connection with the printer 100 via the communication interfaces 580, 680 is disconnected, in this embodiment, in S415 it is determined whether or not the printer 100 has been reconnected. If the printer 100 has been reconnected, in S310 of Fig. 5, which is executed following Fig. 7, it is determined whether or not the cumulative charge number D51 stored in association with the printer 100 in the non-volatile storage device 530 as described above has been reflected in the printer 100. If the cumulative charge number D51 has not been reflected in the printer 100, in S320 and S325, an instruction to reflect the stored cumulative charge number D51 is sent to the printer 100.

[0085] According to this embodiment, when the printer 100 is reconnected to the server 500, 600, the cumulative charge number D51 that has been updated on the server 500 side but not reflected on the printer 100 side can be quickly reflected. Although the above description has been given using an example in which a server system is configured with two servers 500 and 600, the server system may also be configured with one server that has the functions of servers 500 and 600, or may be configured in such a way that the functions of servers 500 and 600 are appropriately shared among three or more servers.

[0086] Furthermore, in this embodiment in particular, if the printer 100 is reconnected to the server 500, 600 via the communication interface 580, 680 after being disconnected, a determination is made in S425 as to whether the connection state after the reconnection has continued for a predetermined time. If the predetermined time has continued, an instruction to reflect the accumulated charge number D51 is sent to the printer 100. According to this embodiment, the new accumulated charge number D51 to be reflected is notified to the printer 100 on the condition that the connection between the reconnected connection server 600 and the printer 100 is stable, thereby reducing the possibility of failure to reflect the accumulated charge number D51.

[0087] Furthermore, particularly in this embodiment, when the printer 100 reflects the cumulative charge number D51 in response to a reflection instruction from the server 500, 600 as described above, a result notification is sent from the printer 100 in S335, S340. When the result notification in S335, S340 is received by the service server 500, S380 is performed, and a completion notification is sent to the terminal device 200 via the communication interface 580, 680. According to this embodiment, the terminal device 200 that requested the addition of the cumulative charge number D51 is notified of the result of the reflection of that addition request on the printer 100 side, so that the user of the terminal device 200 can recognize that the requested cumulative charge number D51 has been reflected in the printer 100.

[0088] Furthermore, particularly in this embodiment, the service server 500 stores two types of cumulative values ​​related to the cumulative charge number D51, namely, the cumulative charge number D51 based on an addition request acquired from the terminal device 200, and a reflected cumulative charge number D52 that has been reflected in the printer 100. During normal communication between the printer 100 and the servers 500, 600 in a connected state, when the above-mentioned addition request is made from the terminal device 200, the cumulative charge number D51 is counted up accordingly, and further, the requested cumulative charge number D51 is reflected in the printer 100, so that the reflected cumulative charge number D52 is also counted up. In this embodiment, in response to the above, if the cumulative charge number D51 stored in the non-volatile memory device 530 differs from the reflected cumulative charge number D52 in S310, it is determined that the cumulative charge number D51 has not been reflected in the printer 100. According to this embodiment, it is possible to smoothly and reliably determine whether the cumulative charge number D51 has been reflected in the printer 100.

[0089] In this embodiment, an online flag is set to indicate whether the printer 100 is in a connected state or a disconnected state with the connection server 600, and this online flag is held in the service server 500. Normally, when communication with the printer 100 is in a connected state, the online flag is F=1, which indicates a "connected status," and when communication with the printer 100 is in a disconnected state, the online flag becomes F=0, which indicates a "disconnected status." In this embodiment, in response to the above, the reconnected printer 100 sends an online status update notification to switch the online flag from F=0 to F=, and when the notification is received, it is determined in S415 that reconnection with the printer 100 has been made. According to this embodiment, it is possible to smoothly and reliably determine whether communication with the printer 100 that was once disconnected has been reconnected.

[0090] In particular, this embodiment is configured as a server system divided into two servers, a connection server 600 and a service server 500. The service server 500 plays a role in providing the above-mentioned services related to the cumulative charge number D51 for the printer 100, and specifically executes the above-mentioned S310, S320, S325, etc. The connection server 600 is connected to a plurality of service providing servers, including the service server 500, each capable of providing a different service, and is connected to a plurality of printers 100, including the printer 100 that is the object of management in this embodiment, and specifically executes the above-mentioned S415, S420, etc. For example, the plurality of printers, including the above-mentioned printer 100, connected to the connection server 600 include a printer that uses a service other than the above-mentioned service provided by the service server 500. The connection server 600 can appropriately switch the above-mentioned service providing server to which the plurality of printers are connected, for example, depending on the service used by each of the plurality of printers. In this embodiment, the roles can be divided between a connection server 600 that is connected to multiple printers and acts as a centralized contact point for those printers, and a service server 500 that is connected to the connection server 600 and can provide services related to the aforementioned cumulative charge number D51 in this embodiment to the printer 100. According to this embodiment, the processing can be divided and shared between the processing related to the management of each printer 100 by the connection server 600 and the processing related to the above-mentioned services by the service server 500, so the server load can be distributed compared to when all processing is performed by a single server.

[0091] <Other variations> The present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the spirit and technical concept of the present invention. Such modifications will be described below in order.

[0092] The processing executed by the service server 500 is not limited to the above processing, but may be various other processing. For example, the processor 510 may store data indicating various information indicating the number of pages that can be printed by the printer 100 in the memory device 515, such as the non-volatile memory device 530, rather than being limited to the combination of information D51, D52, and D55 in FIG. 2(C). 4 in memory device 515. Then, when the purchased number is reflected in, for example, cumulative charge number D11, processor 510 may delete the reflected data on the purchased number from memory device 515. Furthermore, processor 510 may store a combination of flag data indicating whether or not the data has been reflected and data indicating the number of purchased sheets in storage device 515. Then, in response to the number of purchased sheets being reflected in the cumulative charge number D11 of printer 100, processor 510 may change the flag for the reflected number of purchased sheets from "not reflected" to "reflected."

[0093] The processing executed by printer 100 is not limited to the above processing, and various other processing may be performed. For example, in the reflection processing of Fig. 5, processor 110 of printer 100 transmits an update result notification in response to the update instruction. Alternatively, processor 110 may transmit an update result notification to service server 500 separately from the response to the update instruction. Furthermore, the update result notification sent by the printer 100 preferably includes data related to the updated number of printable sheets, such as the updated cumulative charge count D11. However, the update result notification may be a notification indicating that the update has been completed, without including data related to the updated number of printable sheets. The data related to the updated printable number of sheets may be various data that can be used to calculate the updated printable number of sheets, such as the updated cumulative charged number D11 or the cumulative printed number D12.

[0094] 2A, the processor 110 may store, for example, in the non-volatile storage device 130, data indicating various information indicating the number of pages that can be printed by the printer 100. For example, the processor 110 may store control data indicating the number of pages that can be printed in the storage device 115, instead of the combination of the information D11 and D12. The processor 110 may update the control data in response to an update instruction from the service server 500.

[0095] In each of the above embodiments, the service server 500 manages the printer using the number of printable sheets, which is an example of the printer's available capacity. When the printer performs single-sided printing, the number of printable sheets is the same as the number of printable pages. When the printer performs double-sided printing, the number of printable sheets is half the number of printable pages. The service server 500 may manage the printer using other types of available capacity instead of the number of printable sheets. For example, the available capacity may indicate any parameter that changes depending on the printing of an image, such as the number of printable pages or the available amount of colorant, i.e., ink, toner, etc. In either case, the purchase process shown in FIG. 4 may be various processes that add the available capacity. The printer may allow printing within the available capacity.

[0096] 2B, multiple printers, i.e., multiple printer identifiers PID, may be associated with the user identifier UID. Furthermore, printers may be managed using a physical device that indicates the actual printer and a logical device associated with the physical device. For example, the printer identifier PID associated with the user identifier UID by the user data 531 shown in FIG. 2B may be the identifier of a logical device. The logical identifier may then be associated with a physical device identifier. An available capacity, for example, the number of printable pages, may be assigned to the logical device. When a printer is replaced due to a malfunction or other reason, the logical device may remain unchanged, but the identifier of the physical device associated with the logical device may be changed. The new printer may then inherit the available capacity assigned to the logical device.

[0097] In each of the above embodiments, the service server 500 receives a request to increase the printer's available capacity and then sends an update instruction to the printer. The configuration of the server system that executes this process may be various other configurations instead of the configuration of the service server 500. For example, the service server 500 may establish a permanent connection with the printer instead of the connection server 600. In this case, the connection server 600 may be omitted. Alternatively, multiple devices that can communicate with each other via a network, such as computers, may share some of the processing functions of the server system and provide the functions of the server system as a whole. In this case, the system comprising these devices constitutes the server system.

[0098] In each of the above embodiments, a part of the configuration realized by hardware may be replaced by software, and conversely, a part or all of the configuration realized by software may be replaced by hardware. For example, the function of S220 in Fig. 4 may be realized by a dedicated hardware circuit.

[0099] Furthermore, when part or all of the functions of the present invention are realized by a computer program, the program can be provided in a form stored on a computer-readable recording medium, for example, a non-transitory recording medium. The program can be used while stored in a computer-readable recording medium, which may be the same as or different from the one provided. "Computer-readable recording medium" is not limited to portable recording media such as memory cards and CD-ROMs, but may also include internal storage devices within a computer, such as various ROMs, and external storage devices connected to a computer, such as a hard disk drive.

[0100] Furthermore, the sequence charts shown in Figures 3 to 7 do not limit the present invention to the procedures shown in the above flows, and steps may be added or deleted or the order may be changed within the scope that does not deviate from the spirit and technical idea of ​​the invention.

[0101] In addition to the above, the methods according to the above embodiments and modifications may be used in appropriate combination.

[0102] Although not specifically illustrated, the present invention can be implemented with various modifications within the scope of the invention. [Explanation of symbols]

[0103] 100 printers 200 Terminal device (an example of an external device) 500 Service Server (Example of a second server) 510 Processor (an example of a control unit or a calculation unit) 520 Volatile storage device (an example of a storage unit) 530 Non-volatile memory device (an example of a memory unit) 580 Communication Interface (Example of communication unit) 600 Connection Server (Example of the first server) 610 Processor (an example of a control unit or a calculation unit) 620 Volatile memory device (an example of a memory unit) 630 Non-volatile memory device (an example of a memory unit) 680 Communication Interface (Example of Communication Unit) D51 Accumulated Charge Count (First cumulative value, an example of printable amount) D52 Reflected cumulative charge count (example of second cumulative value) PG5 Program (an example of an information processing program) PG6 Program (an example of an information processing program)

Claims

1. A server system including a communication unit connectable to an external device and a printer, a control unit, and a storage unit, The control unit a storage process for storing in the storage unit a printable amount, which is a printable amount of the printer and indicates an amount of a sheet or an amount of a coloring material on which an image can be printed by the printer, in association with the printer in response to a request for adding a printable amount of the printer acquired from the external device via the communication unit; a reconnection determination process for determining whether or not the printer has been reconnected via the communication unit after the printer has been disconnected via the communication unit; a reflection determination process for determining whether the printable amount stored in the storage unit in association with the printer has been reflected in the printer when it is determined in the reconnection determination process that the printer has been reconnected; an instruction transmission process for transmitting an instruction to the printer to reflect the stored printable amount when it is determined in the reflection determination process that the printable amount has not been reflected in the printer; A server system that runs

2. The control unit further When it is determined in the reconnection determination process that the printer has been reconnected, a continuation determination process is executed to determine whether the connection with the reconnected printer has continued for a predetermined time period; When it is determined in the continuation determination process that the operation has continued for the predetermined time, the instruction transmission process transmits the reflection instruction. The server system according to claim 1 .

3. The control unit further a notification transmission process for transmitting a reflection completion notification to the external device via the communication unit when a reflection completion notification corresponding to the reflection instruction is received from the printer via the communication unit; 3. The server system according to claim 1, wherein the server system executes the following:

4. The storage unit a first cumulative value of the printable amount based on the additional request acquired from the external device via the communication unit, and a second cumulative value of the printable amount that has been reflected in the printer; The control unit, in the reflection determination process, If the first cumulative value and the second cumulative value stored in the storage unit are different, it is determined that the printable amount is not reflected in the printer.

4. The server system according to claim 1.

5. The control unit a status indicator indicating whether the printer is in a connected state or a disconnected state with respect to the communication unit; When an instruction to switch the status indicator is received from the printer, the reconnection determination process determines that the printer has been reconnected.

5. The server system according to claim 1.

6. The server system includes: a first server having a first control unit and connected to the printer; and a second server having a second control unit and connected to the first server to provide a service to the printer, The first control unit of the first server In the reconnection determination process, it is determined whether or not the printer has been reconnected; and a usage determination process for determining whether the printer is using the service when it is determined in the reconnection determination process that the printer has been reconnected. If it is determined in the usage determination process that the service is being used, notify the second server of the identification information of the printer and that the printer has been reconnected; The second control unit of the second server When the first control unit notifies the printer identification information and the fact that the printer has been reconnected, the printer corresponding to the identification information is identified, and in the reflection determination process, it is determined whether or not the identified printer has an unreflected printable amount; When it is determined that there is an unreflected printable amount, the instruction transmission process transmits the reflection instruction via the first server.

6. The server system according to claim 1.

7. A server system including a communication unit connectable to an external device and a printer, a calculation unit, and a storage unit, wherein the calculation unit a storage process for storing in the storage unit a printable amount that represents the printable amount of the printer and indicates the amount of sheet or coloring material on which an image can be printed by the printer, in association with the printer, in response to a request for additional printable amount of the printer acquired from the external device via the communication unit; a reconnection determination process for determining whether or not the printer has been reconnected via the communication unit after the printer has been disconnected via the communication unit; a reflection determination process for determining whether the printable amount stored in the storage unit in association with the printer has been reflected in the printer when it is determined in the reconnection determination process that the printer has been reconnected; an instruction transmission process for transmitting an instruction to the printer to reflect the stored printable amount when it is determined in the reflection determination process that the printable amount has not been reflected in the printer; An information processing program for executing the above.

Citation Information

Patent Citations

  • Peripheral device managing system

    JP2005088534A

  • Printer, print limitation management system, print control program, and recording medium recorded with print control program

    JP2005349704A

  • Information processor, information processing system, information processing method, and program

    JP2008040934A

  • Use amount limiting device, apparatus system, and program

    JP2013056515A

  • Printer and control method for printer

    JP2019081273A