Printing system and control method
Patent Information
- Application Number
- JP2025058660
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2026-10-14
Smart Images

Figure 2026165980000001_ABST
Abstract
Description
Technical Field
[0001] The present specification relates to a technique for controlling printing.
Background Art
[0002] Printing systems including a server and a printer are in use. The server provides jobs such as printing to the printer. The printer executes the jobs received from the server. Patent Document 1 discloses the following technique. When a predetermined time elapses after the power of a multi-function printer (MFP) is turned on, the MFP transmits a job information request to a management server and receives a response thereto. Patent Document 2 discloses the following technique. When the image forming apparatus enters an online state upon power-on, the image forming apparatus acquires reservation information from the management server in order to check for the presence or absence of a reserved job.
Related Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of the Invention
Problem to be Solved by the Invention
[0004] In addition to print jobs, the printer can execute maintenance jobs for printer maintenance, such as restarting and firmware updating. As such, there is room for improvement in terms of executing both print jobs and maintenance jobs.
[0005] The present specification discloses a technique for executing print jobs and maintenance jobs.
Means for Solving the Problem
[0006] The technologies disclosed herein can be implemented as follows:
[0007] [Item 1] A printing system including a server and a printer, comprising: a first storage area for storing maintenance jobs for a printer having printing capabilities, provided on the server; a second storage area for storing print jobs for the printer; a detection unit for detecting a connection between the printer and the server; and a job execution unit for executing jobs after detecting the connection between the printer and the server, provided on the printer, wherein in a first specific case the printer is unable to perform the printing function, the first storage area stores a first maintenance job, and the second storage area stores a print job, the first maintenance job is executed by the job execution unit, and the print job is executed by the job execution unit after the first maintenance job; and in a second specific case the printer is able to perform the printing function, the first storage area stores a second maintenance job, and the second storage area stores the print job, the print job is executed by the job execution unit, and the second maintenance job is executed by the job execution unit after the print job.
[0008] With this configuration, in the first specific case, the first maintenance job runs before the print job, thus reducing the likelihood of print job malfunctions. In the second specific case, the print job runs before the second maintenance job, thus reducing the likelihood of print job delays.
[0009] Furthermore, the technologies disclosed herein can be implemented in various forms, for example, as a method for controlling printing, a server for controlling printing, a printing system including a server and a printer, a computer program for implementing the functions of such methods or apparatus, a recording medium (e.g., a non-temporary recording medium) on which such computer programs are recorded, and so on. [Brief explanation of the drawing]
[0010] [Figure 1] This is a block diagram illustrating an example of a network system. [Figure 2] This is a sequence diagram illustrating an example of job processing. [Figure 3] (A) shows an example of a Type 1 maintenance job MA. (B) shows an example of a Type 2 maintenance job MB. (C) and (D) are diagrams showing examples of multiple jobs. [Figure 4] This is a sequence diagram representing a second embodiment of the job processing. [Figure 5] This is a sequence diagram representing a second embodiment of the job processing. [Figure 6] This is a sequence diagram representing a second embodiment of the job processing. [Figure 7] This is a sequence diagram representing a third embodiment of job processing. [Figure 8] This is a sequence diagram representing a third embodiment of job processing. [Figure 9] This is a sequence diagram representing the fourth embodiment of job processing. [Figure 10] This is a sequence diagram representing the fifth embodiment of job processing. [Figure 11] This is a sequence diagram representing the sixth embodiment of job processing. [Modes for carrying out the invention]
[0011] A. First Example: A1. Equipment configuration: Figure 1 is a block diagram representing an embodiment of a network system. This network system 1000N includes a printer 100, a remote maintenance server 300, and a remote print server 500. These devices 100, 300, and 500 are connected to network NT. Network NT may include the so-called Internet. Network NT may also include the so-called local area network.
[0012] The remote maintenance server 300 provides a remote maintenance service. The remote maintenance service causes a printer such as the printer 100 to execute a maintenance job in accordance with an instruction from maintenance support. The maintenance job may include various processes for printer maintenance, as will be described later. The maintenance support is an organization that supports this service, and is operated by a maintenance operator that provides the remote maintenance service. The maintenance support includes one or more workers. As will be described later, a worker inputs a registration instruction for a maintenance job to the remote maintenance server 300.
[0013] The remote maintenance server 300 is managed by a maintenance operator. The maintenance operator may be various types of operators. The maintenance operator may be, for example, a manufacturer of the printer 100, or another operator entrusted by the manufacturer. Hereinafter, the remote maintenance server 300 is also simply referred to as the maintenance server 300.
[0014] The remote print server 500 provides a remote print service. The remote print service causes a printer such as the printer 100 to execute a print job in accordance with an instruction from a user terminal device such as a smartphone or a personal computer. The remote print server 500 is managed by a print service operator that provides the remote print service. The print service operator may be various types of operators. The print service operator may be, for example, a manufacturer of the printer 100, or another operator different from the manufacturer. The print service operator may be the same as the maintenance operator, or may be another operator different from the maintenance operator. Hereinafter, the remote print server 500 is also simply referred to as the print server 500.
[0015] Next, the configurations of the respective apparatuses 100, 300, and 500 will be described. The printer 100 includes a processor 110, a storage device 115, a display unit 140, an operation unit 150, a print execution unit 160, a read execution unit 170, and a communication interface 180. These elements are connected to one another via a bus (not illustrated). The storage device 115 includes a volatile storage device 120 and a non-volatile storage device 130.
[0016] The processor 110 is an apparatus configured to perform data processing, and is, for example, a Central Processing Unit (CPU) or a System on a Chip (SoC). The volatile storage device 120 is, for example, a Dynamic Random Access Memory (DRAM), and the non-volatile storage device 130 is, for example, a flash memory. The non-volatile storage device 130 includes storage areas A1A, A1B, and A1C. The storage area A1A stores data of firmware FW. The storage area A1B stores data of a device identifier DID1. The storage area A1C stores data of a job list D10.
[0017] The firmware FW is a program for controlling the printer 100. The data of the firmware FW is stored in the non-volatile storage device 130 by the manufacturer of the printer 100 at the time of manufacturing the printer 100. Note that the firmware FW may be downloaded from a server (not illustrated).
[0018] The device identifier DID1 is an identifier of the printer 100 that is used by a remote maintenance service and a remote print service. Although illustration is omitted, the device identifier DID1 is assigned to the printer 100 through processing for subscribing to these services.
[0019] The job list D10 is a list of jobs to be executed by the printer 100. The processor 110 executes the jobs represented by the job list D10 one by one.
[0020] The display unit 140 is a device configured to display images, such as a liquid crystal display or an organic EL display. The operation unit 150 is a device configured to receive user input, such as buttons, levers, or a touch panel superimposed on the display unit 140. The display unit 140 and the operation unit 150 may form a so-called touchscreen. The user can input various requests and instructions to the printer 100 by operating the operation unit 150. The display unit 140 may display, for example, operational elements such as buttons and sliders, and these displayed elements may be operated through the operation unit 150.
[0021] The print execution unit 160 is a device equipped with a printing function. In this embodiment, the print execution unit 160 prints an image onto a sheet such as paper. The print execution unit 160 may be, for example, an electrophotographic print execution unit or an inkjet print execution unit. An electrophotographic print execution unit may be, for example, a so-called laser print execution unit. The print execution unit 160 may be configured to use multiple types of colorants, such as cyan, magenta, yellow, and black. Alternatively, the print execution unit 160 may be configured to use only one type of colorant, such as black. The processor 110 of the printer 100 executes a print job by causing the print execution unit 160 to perform printing according to the print job. That is, the processor 110 executes a print job by controlling the print execution unit 160 according to the print job. For example, the processor 110 supplies instructions to the print execution unit 160 for printing an image according to the print job. The print execution unit 160 prints the image according to the instructions.
[0022] The printing execution unit 160 uses various consumables, such as cartridges containing colorants like ink and toner, and a photosensitive drum. The printing execution unit 160 is configured to accommodate the installation of consumables 160C. The printing execution unit 160 includes a sensor 160S that detects the installed consumables 160C. The processor 110 uses the signal from the sensor 160S to detect when the consumables 160C need to be replaced.
[0023] In this embodiment, the sensor 160S is capable of identifying individual consumables 160C. For example, a consumable 160C includes a storage device that stores identifier data, and the sensor 160S may read the identifier data from the storage device. The processor 110 may detect a change in the identifier as a replacement of the consumable 160C.
[0024] The reading unit 170 is a device that optically reads objects such as documents. The reading unit 170 is equipped with an optical sensor (not shown). By optically reading the object, the reading unit 170 generates scan data of a scanned image representing the read object. A printer that includes a reading unit is also called a multifunction printer.
[0025] The communication interface 180 is an interface for communicating with other devices. The communication interface 180 includes, for example, one or more of the following: a USB interface, a wired LAN interface, and an IEEE 802.11 wireless interface. In this embodiment, the communication interface 180 is connected to the network NT.
[0026] In this embodiment, servers 300 and 500 are cloud servers using cloud services. That is, servers 300 and 500 are virtual servers provided by a cloud service provider that manages physical servers. The administrators of servers 300 and 500 respectively start operating servers 300 and 500 by uploading programs PG3 and PG5, described later, to the cloud.
[0027] In this embodiment, servers 300 and 500 have similar hardware configurations. The hardware configurations of servers 300 and 500 are described below. Note that one or more of the multiple hardware elements of servers 300 and 500 may be virtual hardware that forms a virtual server. Also, one or more of the multiple hardware elements of servers 300 and 500 may be physical hardware elements.
[0028] Servers 300 and 500 include processors 310 and 510, storage devices 315 and 515, and communication interfaces 380 and 580. In each server 300 and 500, these elements are connected to each other via a bus (not shown). Storage devices 315 and 515 include volatile storage devices 320 and 520 and non-volatile storage devices 330 and 530, respectively.
[0029] Processors 310, 510 are devices configured to perform data processing, such as CPUs or SoCs. Volatile storage devices 320, 520 are, for example, DRAMs, and non-volatile storage devices 330, 530 are, for example, flash memory or hard disk drives. Communication interfaces 380, 580 are interfaces for communicating with other devices. Communication interfaces 380, 580 include, for example, one or more of the following: wired LAN interfaces, IEEE 802.11 wireless interfaces. In this embodiment, communication interfaces 380, 580 are connected to network NT.
[0030] The non-volatile storage device 330 of the maintenance server 300 includes storage areas A3A and A3B. Storage area A3A stores data for program PG3. Storage area A3B stores data for maintenance database D3. Program PG3 is configured to perform processing for remote maintenance services.
[0031] Maintenance database D3 shows the correspondence between the device identifier DID, the maintenance job list ML, and the printer status ST.
[0032] The device identifier DID is the printer identifier. The maintenance job list ML is a list of maintenance jobs to be sent to the printer. The total number of jobs represented by the maintenance job list ML can be zero, one, two, or more. The status ST represents the printer status. In this embodiment, the status ST indicates one of "IDLE", "BUSY", or "ERROR". Details of the maintenance database D3 will be described later.
[0033] The non-volatile storage device 530 of the print server 500 includes storage areas A5A and A5B. Storage area A5A stores data for program PG5. Storage area A5B stores data for print database D5. Program PG5 is configured to perform processing for remote printing services.
[0034] The print database D5 represents the correspondence between the device identifier DID and the print job list PL. The device identifier DID is the printer identifier. The print job list PL is a list of print jobs to be sent to the printer. The total number of jobs represented by the print job list PL can be zero, one, two, or more.
[0035] The processor 510 of the print server 500 registers a print job in the print database D5 in response to a print request from a terminal device such as a smartphone or personal computer. The print request includes data representing the printer's device identifier DID and the image to be printed. The processor 510 adds data representing a print job that prints the image indicated by the print request to the print job list PL, which is associated with the device identifier DID indicated by the print request.
[0036] A2. Job processing: Figure 2 is a sequence diagram illustrating an example of job processing. Job processing is the process of causing the printer 100 in Figure 1 to execute a job. The sequence diagram in Figure 2 shows an example of processing starting from a state where the printer 100 is powered off. The processor 110 of the printer 100 executes processing according to the firmware FW. The processor 310 of the maintenance server 300 executes processing according to program PG3. Hereafter, the processor 110 of the printer 100 will also be referred to as the printer processor 110. The processor 310 of the maintenance server 300 will also be referred to as the maintenance processor 310.
[0037] In S113, the maintenance support worker inputs instructions for registering a maintenance job to the maintenance server 300. Various jobs for maintaining the printer 100 can be registered as maintenance jobs. In this embodiment, the registerable maintenance jobs include two types of maintenance jobs: Type 1 maintenance jobs and Type 2 maintenance jobs.
[0038] Figure 3(A) shows an example of a Type 1 maintenance job MA. A Type 1 maintenance job MA is a job that facilitates the recovery of the printing function of printer 100. In this embodiment, a Type 1 maintenance job MA includes a restart job MA1 and a colorant life extension job MA2.
[0039] The printing function of the printer 100's print execution unit 160 may become unusable due to various reasons. For example, if the printer 100 is used for a long time, its operation may become unstable, and the printing function may become unusable. In this case, restarting the printer 100 may make the printing function usable again. Restart job MA1 is a job to restart the printer 100.
[0040] Furthermore, in this embodiment, the firmware FW is configured so that the operating mode of the printer 100 can be selected from a plurality of modes, including a normal mode and a life extension mode. In normal mode, if the remaining amount of colorants such as ink and toner falls below a predetermined remaining amount threshold, the printer processor 110 does not perform printing. In other words, the printer 100 is unable to perform printing. This is because printing in a state of insufficient colorants can cause malfunctions. For example, if the type of print execution unit 160 is an inkjet type, air may enter the ink flow path. If the type of print execution unit 160 is an electrophotographic type, insufficient toner may be supplied to the photoreceptor, potentially degrading the quality of the photoreceptor.
[0041] In this embodiment, when the remaining amount of colorant is at the remaining amount threshold, it is assumed that there is more than zero amount of colorant remaining in the print execution unit 160. In normal mode, even if there is more than zero amount of colorant remaining in the print execution unit 160, the printer processor 110 controls the printer 100 so that it cannot perform printing if the remaining amount of colorant is below the remaining amount threshold. This state is an example of a state in which the printer 100 is unable to perform the printing function. In reality, even if the remaining amount of colorant is below the remaining amount threshold, the colorant remaining in the print execution unit 160 can be used for printing. The life extension mode is a mode that allows printing using such colorant. The colorant life extension job MA2 includes the process of setting the operating mode of the printer 100 to life extension mode. By executing the colorant life extension job MA2, the printing function becomes executable.
[0042] Furthermore, when a new colorant is supplied to the print execution unit 160, such as when the colorant cartridge is replaced, the printer processor 110 will set the operating mode to normal mode. In addition, to reduce the possibility of the colorant running out due to printing in life extension mode, the colorant life extension job MA2 may include a process to return the operating mode to normal mode when the amount of printing in life extension mode exceeds a predetermined upper limit. The amount of printing may be expressed, for example, by the amount of colorant used or the number of pages printed.
[0043] There are various methods for obtaining the remaining amount of colorants. For example, the printing execution unit 160 may be equipped with a sensor for measuring the remaining amount of colorants. The printer processor 110 may obtain the remaining amount using the signal from the sensor. Alternatively, the printer processor 110 may calculate the cumulative usage amount of each colorant since the cartridge was replaced, based on the image data for printing. The printer processor 110 may calculate the remaining amount of each colorant by subtracting the cumulative usage amount from the initial value of the remaining amount of colorant in the cartridge.
[0044] Figure 3(B) shows an example of a Type 2 maintenance job MB. A Type 2 maintenance job MB is a job that performs processing independent of facilitating the recovery of the printer 100's printing function. In other words, a Type 2 maintenance job MB is executed for a purpose different from the recovery of the printing function. In this embodiment, a Type 2 maintenance job MB includes a firmware update job MB1 and a replacement count reset job MB2.
[0045] Firmware update job MB1 is a job to update the firmware FW of printer 100. Firmware FW is updated for various purposes, such as adding new functions or resolving vulnerabilities. In this embodiment, a firmware server (not shown) provides the new firmware. Firmware update job MB1 includes the process of obtaining new firmware data from the firmware server and the process of updating the firmware using the obtained data.
[0046] The replacement count reset job MB2 is a job that resets the replacement count for consumables in the print execution unit 160. In this embodiment, it is assumed that the user of the printer 100 is subscribed to a consumables delivery service as a service for using the printer 100. The delivery service is a service that delivers new consumables after the consumables have been replaced. The consumables delivered may be various consumables used by the print execution unit 160, such as colorant cartridges and photosensitive drums. When the printer processor 110 detects that consumable 160C needs to be replaced, it adds 1 to the replacement count of consumable 160C. The replacement count is the number of times consumable 160C has been replaced. The printer processor 110 notifies a delivery server (not shown) of the replacement count. The delivery company providing the delivery service delivers new consumables to the user in accordance with the increase in the replacement count notified to the delivery server.
[0047] The printer processor 110 may not be able to detect the replacement of consumable 160C. For example, if consumable 160C is replaced while the printer 100 is powered off, the printer processor 110 may not be able to detect the replacement of consumable 160C. In this case, printing is possible, but the new consumable 160C will not be shipped. The replacement count reset job MB2 includes the process of resetting the replacement count using a signal from the sensor 160S and the process of notifying the delivery server of the replacement count. By executing the replacement count reset job MB2, the printer processor 110 can detect the replacement of consumable 160C and notify the delivery server of the replacement count. The delivery server can then execute the process of shipping the new consumable.
[0048] Furthermore, the replacement count reset job MB2 may be available if the user is subscribed to the consumables delivery service. The colorant life extension job MA2 in Figure 3(A) may be available if the user is subscribed to the colorant delivery service.
[0049] In S113 of Figure 2, as explained below, the maintenance support worker enters a maintenance job registration instruction into the maintenance server 300 in response to a request from the printer personnel.
[0050] Printer 100 may become unstable, rendering its printing function unusable. In this case, the user of printer 100 may notify maintenance support of the printer's malfunction. In S113, in response to this notification, the operator inputs a command to register a restart job MA1 into the maintenance server 300.
[0051] If the remaining amount of colorant in printer 100 falls below the remaining amount threshold, the printing function of printer 100 becomes unusable. In this case, the user of printer 100 may request maintenance support to continue printing. In S113, in response to this request, the operator inputs a registration instruction for colorant life extension job MA2 to the maintenance server 300.
[0052] The developer of the firmware (FW) for printer 100 may create new firmware. When new firmware is released, the developer may request the maintenance support to update the firmware. In S113, in response to this request, the operator inputs a registration instruction for firmware update job MB1 to the maintenance server 300. The developer of the firmware (FW) may be any type of company. For example, the developer may be the manufacturer of printer 100, or another company commissioned by the manufacturer.
[0053] The delivery company monitors the replacement count for each of the multiple printers. If the replacement count does not increase for a long period of time, it is possible that the printer is not properly detecting the need to replace consumables. In this case, the delivery company may request maintenance support to reset the replacement count for the corresponding printer. In S113, in response to this request, the operator enters instructions to register replacement count reset job MB2 into the maintenance server 300.
[0054] There may be various methods for notifying maintenance support of requests or other matters. Maintenance support may receive notifications, for example, via a web page, email, or telephone.
[0055] The instruction to register a maintenance job includes data representing the information identifying the maintenance job to be registered, and the device identifier DID.
[0056] There may be various methods for inputting registration instructions. For example, the maintenance processor 310 may obtain registration instructions via a web page, email, or Application Programming Interface (API).
[0057] In S116, the maintenance processor 310 registers the maintenance job in the maintenance database D3 in Figure 1, in accordance with the registration instruction in S113. The maintenance processor 310 adds data representing the maintenance job indicated by the registration instruction to the maintenance job list ML, which is associated with the device identifier DID indicated by the registration instruction. The status ST is not updated.
[0058] The registration process S110, including S113 and S116, is executed upon request from the printer's personnel. If the printer 100's printing function is unavailable, a Type 1 maintenance job MA may be registered in the maintenance job list ML. If the printer 100's printing function is available, a Type 2 maintenance job MB may be registered in the maintenance job list ML.
[0059] In S120, the user of printer 100 turns on the printer 100. The printer processor 110 starts controlling printer 100 according to the firmware FW.
[0060] In S125, the printer processor 110 performs connection processing with the maintenance server 300. The connection processing may be various processes to establish a connection between the printer 100 and the maintenance server 300. In this embodiment, the printer processor 110 sends data of the device identifier DID1 to the maintenance server 300. The maintenance processor 310 uses the device identifier DID1 to establish a connection with the printer 100.
[0061] Further authentication data (not shown) may be used to establish the connection. For example, the printer processor 110 sends the device identifier DID1 data and the pre-prepared authentication data (not shown) to the maintenance server 300. The maintenance processor 310 uses the device identifier DID1 and the authentication data to establish a connection with the printer 100.
[0062] In step S125, the printer processor 110 may send data representing the status of the printer 100 to the maintenance server 300. The maintenance processor 310 may set the status ST associated with the printer 100 in the maintenance database D3 in Figure 1 to the status represented by the received data. The same applies to other embodiments described later.
[0063] Hereafter, we will assume that the connection between printer 100 and maintenance server 300 is successful. Upon successful connection, the printer processor 110 and maintenance processor 310 will detect the connection.
[0064] Although not shown in the diagram, if the connection fails in S125, that is, if the connection between the printer 100 and the maintenance server 300 is not detected, the printer processor 110 controls the printer 100 offline. The printer processor 110 periodically executes the connection process in S125. If the connection is successful, the printer processor 110 proceeds to S150. The frequency of the connection process may vary. For example, the connection process may be performed once every 10 minutes, once every hour, or once every day. The same applies to other embodiments described later.
[0065] In response to the detection of the connection in S125, the printer processor 110 requests a maintenance job from the maintenance server 300 in S150. This request includes data representing the device identifier DID1 of the printer 100.
[0066] In S153, the maintenance processor 310 refers to the maintenance database D3 in Figure 1. The maintenance processor 310 refers to the maintenance job list ML associated with the device identifier DID indicated by the request in S150. The maintenance processor 310 sends data representing the maintenance jobs included in the maintenance job list ML to the printer 100. The printer processor 110 adds data representing the target maintenance job, which is the maintenance job represented by the received data, to the job list D10.
[0067] The type of maintenance job to be performed varies depending on the status of printer 100. If the printer 100's printing function is operational, the maintenance jobs to be performed may include the Type 2 maintenance job MB shown in Figure 3(B). If the printer 100's printing function is not operational, the maintenance jobs to be performed may include the Type 1 maintenance job MA shown in Figure 3(A).
[0068] The total number of maintenance jobs included in the maintenance job list ML can be any number greater than or equal to zero. If the total number of maintenance jobs is zero, in S153, the maintenance processor 310 sends data to the printer 100 indicating that the total number of maintenance jobs is zero. In this case, the printer processor 110 does not add any jobs to the job list D10.
[0069] The maintenance processor 310 sends data representing a maintenance job to the printer 100 and then performs a first deletion process to delete the maintenance job from the maintenance database D3. The conditions for performing the first deletion process can be various. For example, in S153, the maintenance processor 310 may perform the first deletion process upon completion of sending data representing a maintenance job. Although not shown in the diagram, a printer such as the printer 100 may send a completion notification to the maintenance server 300 upon completion of the maintenance job. The maintenance processor 310 may perform the first deletion process upon receiving the completion notification.
[0070] In S160, the printer processor 110 analyzes the priority of the maintenance jobs included in the job list D10. In this embodiment, the first type maintenance job MA in Figure 3(A) has a higher priority than the print jobs. The second type maintenance job MB in Figure 3(B) has a lower priority than the print jobs.
[0071] In S170, the printer processor 110 executes the process of acquiring a print job. There may be various methods for acquiring a print job. In this embodiment, the printer processor 110 sends a print job request to the print server 500 shown in Figure 1. The print job request includes data representing the device identifier DID1 of the printer 100. The processor 510 of the print server 500 refers to the print database D5 in response to the print job request. The processor 510 refers to the print job list PL associated with the device identifier DID indicated by the print job request. The processor 510 sends data representing the print jobs included in the print job list PL to the printer 100. The printer processor 110 adds the data representing the print jobs represented by the received data to the job list D10.
[0072] The total number of print jobs included in the print job list PL can be any number greater than or equal to zero. A user may turn on the printer 100 after sending a print request to the print server 500 from a terminal device (not shown). In this case, the total number of print jobs is one or more. Alternatively, a user may turn on the printer 100 in advance for printing. In this case, the total number of print jobs may be zero.
[0073] If the total number of print jobs is zero, in S170, the processor 510 of the print server 500 sends data to the printer 100 indicating that the total number of print jobs is zero. In this case, the printer processor 110 does not add any jobs to the job list D10.
[0074] The processor 510 of the print server 500 sends data representing a print job to the printer 100, and then performs a second deletion process to delete the print job from the print database D5. The conditions for performing the second deletion process can be various. For example, the processor 510 may perform the second deletion process upon completion of sending the data representing the print job. Also, a printer such as the printer 100 may send a completion notification to the print server 500 upon completion of the print job. The processor 510 may perform the second deletion process upon receiving the completion notification.
[0075] Note that print jobs may be entered into the printer 100 without going through the print server 500. For example, a terminal device (not shown) capable of communicating with the printer 100 may send data representing a print job to the printer 100 according to the user's instructions. The printer processor 110 adds the data representing the print job, as represented by the received data, to the job list D10. Such additions of print jobs can be performed at various timings.
[0076] In S180, the printer processor 110 sorts jobs in order of priority. Figures 3(C) and 3(D) show examples of multiple jobs. Figure 3(C) shows C1 in the first case. In the first case, C1, the printing function cannot be executed. The job list D10 has print job P1, first-class maintenance job MA, and print job P2 registered.
[0077] In this embodiment, each job is assigned the date and time it was issued. When multiple print jobs are processed, the printer processor 110 executes the print jobs in chronological order.
[0078] The left side of Figure 3(C) shows the jobs arranged in chronological order. This order is assumed to be jobs P1, MA, and P2. The right side of Figure 3(C) shows the jobs arranged in order of priority. The priority of the Type 1 maintenance job MA is higher than that of the print jobs. Therefore, the priority order is jobs MA, P1, and P2.
[0079] Figure 3(D) shows the second case C2. In the second case C2, the printing function is executable. The job list D10 has print job P1, second maintenance job MB, and print job P2 registered.
[0080] The left side of Figure 3(D) shows the jobs arranged in chronological order. This order is assumed to be jobs P1, MB, and P2. The right side of Figure 3(D) shows the jobs arranged in order of priority. The priority of maintenance job MB (Type 2) is lower than that of print jobs. Therefore, the priority order is jobs P1, P2, and MB.
[0081] In step S185 of Figure 2, the printer processor 110 determines whether there is one or more jobs remaining in job list D10. If the total number of jobs in job list D10 is zero (S185: No), the printer processor 110 terminates the job processing shown in Figure 2.
[0082] If there is one or more jobs remaining in job list D10 (S185: Yes), in S190, the printer processor 110 selects the highest priority job from job list D10. In S195, the printer processor 110 executes the selected job. The printer processor 110 then removes the data of the completed job from job list D10.
[0083] In the first case shown in Figure 3(C), C1, the printer processor 110 executes a first-type maintenance job MA. This allows the printing function of the print execution unit 160 to be restored. In the second case shown in Figure 3(D), C2, the printer processor 110 executes a print job P1. This allows the user to obtain a printed document.
[0084] After S195 in Figure 2, the printer processor 110 proceeds to S185. The printer processor 110 repeats S190 and S195 until the total number of jobs in job list D10 becomes zero. In this way, the printer processor 110 executes the jobs in order of priority.
[0085] In the first case shown in Figure 3(C), the printer processor 110 executes jobs MA, P1, and P2 in that order in C1. In the second case shown in Figure 3(D), the printer processor 110 executes jobs P1, P2, and MB in that order in C2.
[0086] After the job processing shown in Figure 2 is completed, the printer processor 110 may periodically perform the S170-S195 processing for print jobs. This allows the printer processor 110 to execute the print jobs provided to the printer 100. The frequency of the S170-S195 processing may vary. For example, this frequency may be once every 30 seconds, once every minute, or once every 5 minutes.
[0087] Furthermore, after the completion of the job processing shown in Figure 2, the printer processor 110 may periodically perform the S150-S195 processes for maintenance jobs and print jobs. This allows the printer processor 110 to execute the maintenance jobs and print jobs provided to the printer 100. The frequency of the S150-S195 processes may vary. For example, this frequency may be once every minute, once every five minutes, or once every hour.
[0088] As described above, in this embodiment, the network system 1000N in Figure 1 includes a printing system 1000 which includes a printer 100, a maintenance server 300, and a print server 500.
[0089] The printing system 1000 is equipped with a storage area A3B located on the maintenance server 300. Storage area A3B stores data from the maintenance database D3. As explained in S116 of Figure 2, the data in the maintenance database D3 may include data representing maintenance jobs. Thus, storage area A3B is an example of a first storage area for storing maintenance jobs. Hereafter, storage area A3B will also be referred to as the first storage area A3B.
[0090] The printing system 1000 is equipped with a storage area A5B of the print server 500. Storage area A5B stores data from the print database D5. As explained in S170 of Figure 2, the data in the print database D5 may include data representing print jobs. Thus, storage area A5B is an example of a second storage area for storing print jobs. Hereafter, storage area A5B will also be referred to as the second storage area A5B.
[0091] The printing system 1000 performs the following process. In step S125 of Figure 2, the printer processor 110 detects the connection between the printer 100 and the maintenance server 300. The printer processor 110 executing step S125 is an example of a detection unit that detects this connection.
[0092] After detecting the connection in S125, the printer processor 110 executes the job in S180-S195. The printer processor 110 that performs the processing in S180-S195 is an example of a job execution unit that executes the job.
[0093] Figure 3(C) shows an example of jobs executed when the printer 100 is unable to perform printing functions. In the example in Figure 3(C), jobs MA, P1, and P2 are executed in this order by the printer processor 110. As explained in S153 of Figure 2 and in Figure 3(C), the first type maintenance job MA is obtained from the maintenance server 300. That is, the first storage area A3B of the maintenance server 300 stores the first type maintenance job MA. As explained in S170 of Figure 2 and in Figure 3(C), print jobs P1 and P2 are obtained from the print server 500. That is, the second storage area A5B of the print server 500 stores the print job P1. Thus, the first case C1 in Figure 3(C) is when the printer 100 is unable to perform printing functions, the first storage area A3B stores the first type maintenance job MA, and the second storage area A5B stores the print job P1. Such a first case C1 is an example of a first specific case in which the printer is unable to perform printing functions, the first storage area stores the first maintenance job, and the second storage area stores the print job. The first type maintenance job MA is an example of the first maintenance job. As shown in Figure 3(C), the first type maintenance job MA is executed by the printer processor 110. After the first type maintenance job MA, the print job P1 is executed by the printer processor 110.
[0094] Figure 3(D) shows an example of jobs executed when the printer 100 is capable of performing printing functions. In the example in Figure 3(D), jobs P1, P2, and MB are executed in this order by the printer processor 110. As explained in S153 of Figure 2 and in Figure 3(C), the second type maintenance job MB is obtained from the maintenance server 300. That is, the first storage area A3B of the maintenance server 300 stores the second type maintenance job MB. As explained in S170 of Figure 2 and in Figure 3(C), print jobs P1 and P2 are obtained from the print server 500. That is, the second storage area A5B of the print server 500 stores the print job P1. Thus, the second case C2 in Figure 3(D) is when the printer 100 is capable of performing printing functions, the first storage area A3B stores the second type maintenance job MB, and the second storage area A5B stores the print job P1. Such a second case C2 is an example of a second specific case in which the printer is capable of performing printing functions, the first storage area stores the second maintenance job, and the second storage area stores the print job. The second type maintenance job MB is an example of the second maintenance job. As shown in Figure 3(D), the print job P1 is executed by the printer processor 110. After the print job P1, the second type maintenance job MB is executed by the printer processor 110.
[0095] In this configuration, after detecting the connection between the printer 100 and the maintenance server 300 at S125 in Figure 2, the printer processor 110 executes jobs in S180-S195. In the first case C1, shown in Figure 3(C), which is an example of the first specific case, the printer 100 is unable to perform printing functions, and the first type maintenance job MA is executed before the print job P1. Therefore, the possibility of a malfunction in the print job P1 is reduced. In the second case C2, shown in Figure 3(D), which is an example of the second specific case, the printer 100 is able to perform printing functions, and the print job P1 is executed before the second type maintenance job MB. Therefore, the possibility of a delay in the execution of the print job P1 is reduced. In this way, maintenance jobs MA and MB are executed in the appropriate order relative to the print job P1.
[0096] In the second case, C2, the printer processor 110 executes a second type maintenance job MB. This ensures that the printer 100 is properly maintained.
[0097] Furthermore, in this embodiment, as explained in Figure 3(A), the first type maintenance job MA is a maintenance job that facilitates the recovery of the printer's printing function. In the first case C1 shown in Figure 3(C), which is an example of a first specific case, the first type maintenance job MA is executed before the print job P1. Therefore, the possibility of a malfunction in the print job P1 is appropriately reduced.
[0098] As explained in Figure 3(B), the Type 2 maintenance job MB is a maintenance job that performs processing independent of facilitating the recovery of the printer's printing function. In the second specific case, Case C2 in Figure 3(D), the print job P1 is executed before the Type 2 maintenance job MB. Therefore, the possibility of delays in the execution of print job P1 is appropriately reduced.
[0099] In this embodiment, the printer processor 110 of the printer 100 detects the connection between the printer 100 and the maintenance server 300 at S125 in Figure 2. Thus, the printer 100 is equipped with a detection unit that detects this connection.
[0100] In the first case C1 described in Figure 3(C), the printer processor 110 executes the first type maintenance job MA after detecting the connection in S125. After the first type maintenance job MA, the printer processor 110 executes the print job P1.
[0101] In the second case C2 described in Figure 3(D), the printer processor 110 executes print job P1 after detecting the connection in S125. After print job P1, the printer processor 110 executes the second type maintenance job MB.
[0102] In this configuration, in the first case C1, the printer processor 110 executes the first maintenance job MA before the print job P1. Therefore, the printer processor 110 can appropriately reduce the possibility of a malfunction in the print job P1. In the second case C2, the printer processor 110 executes the print job P1 before the second maintenance job MB. Therefore, the printer processor 110 can appropriately reduce the possibility of a delay in the execution of the print job P1.
[0103] In this embodiment, the printer processor 110, in response to the detection of a connection in S125 of Figure 2, acquires a maintenance job stored in the first storage area A3B from the maintenance server 300 in S150 and S153. In the first case C1 described in Figure 3(C), the acquired maintenance job is a first-type maintenance job MA. In the second case C2 described in Figure 3(D), the acquired maintenance job is a second-type maintenance job MB.
[0104] As explained in Figure 3(C), in the first case C1, where the maintenance job acquired in S150 and S153 in Figure 2 is a first-type maintenance job MA, the printer processor 110 executes the first-type maintenance job MA. After the first-type maintenance job MA, the printer processor 110 executes the print job P1.
[0105] As explained in Figure 3(D), in the second case C2, where the maintenance job acquired in S150 and S153 in Figure 2 is a Type 2 maintenance job MB, the printer processor 110 executes print job P1. After print job P1, the printer processor 110 executes Type 2 maintenance job MB.
[0106] In this configuration, the printer processor 110 executes maintenance jobs and print jobs in the appropriate order according to the maintenance jobs obtained from the maintenance server 300. Therefore, in the first case C1, the printer processor 110 can appropriately reduce the possibility of a malfunction in print job P1. In the second case C2, the printer processor 110 can appropriately reduce the possibility of a delay in the execution of print job P1.
[0107] The printer processor 110 determines the execution order of print jobs and maintenance jobs in S180 of Figure 2, depending on the type of maintenance job acquired in S150 and S153. In this embodiment, the printer processor 110 determines the execution order according to the priority pre-associated with the job type. There may be various other methods for determining the execution order. For example, a first-type maintenance job MA may be associated with a date and time earlier than the date and time when a print job is possible. A second-type maintenance job MB may be associated with a date and time later than the date and time when a print job is possible. The printer processor 110 may set the execution order of multiple jobs in the order of the dates and times associated with the jobs.
[0108] B. Second example: Figures 4-6 are sequence diagrams representing a second embodiment of job processing. Figure 5 shows the processing that follows Figure 4, and Figure 6 shows the processing that follows Figure 5. Unlike the embodiment in Figure 2, the printer processor 110 controls the processing according to the state of the printer 100. The sequence diagrams in Figures 4-6, like the sequence diagram in Figure 2, show an example of processing that starts from a state where the printer 100 is powered off.
[0109] The processes S113, S116, S120, and S125 in Figure 4 are the same as the processes S113, S116, S120, and S125 in Figure 2.
[0110] In S130, the printer processor 110 obtains the status of the printer 100. In this embodiment, the status of the printer 100 is one of "IDLE", "BUSY", or "ERROR". "IDLE" indicates that the printer 100 is capable of performing the printing function and is not currently printing. "BUSY" indicates that the printer 100 is capable of performing the printing function and is currently printing. "ERROR" indicates that the printer is not capable of performing the printing function.
[0111] There are various methods for obtaining the status of the printer 100. The printer processor 110 may obtain the status of the printer 100 using the control status of the print execution unit 160 by the printer processor 110. For example, the printer processor 110 does not perform printing if the remaining amount of colorant is below a threshold. In this case, the printer processor 110 may determine that the status of the printer 100 is "ERROR". The print execution unit 160 may also be configured to output data representing the status of the print execution unit 160. The output data may indicate one of "IDLE", "BUSY", or "ERROR". The printer processor 110 may obtain the status of the printer 100 using data from the print execution unit 160.
[0112] In S140, the printer processor 110 determines whether the status of the printer 100 is "ERROR".
[0113] If the status of printer 100 is "ERROR" (S140: Yes), in S210, the printer processor 110 requests a maintenance job from the maintenance server 300. The process in S210 is performed in the same way as the process in S150 in Figure 2.
[0114] In S213, the maintenance processor 310 sends data representing the maintenance job to the printer 100. The printer processor 110 adds the data representing the maintenance job, as indicated by the received data, to the job list D10. The process in S213 is performed in the same way as the process in S153 in Figure 2.
[0115] Note that S210 and S213 are executed when the status of printer 100 is "ERROR". Therefore, the maintenance job acquired in S213 may include the first type maintenance job MA shown in Figure 3(A).
[0116] In S216, the printer processor 110 executes the maintenance jobs acquired in S213 if one or more maintenance jobs are acquired. This allows the printing function of the print execution unit 160 to be restored. After S216, the printer processor 110 proceeds to S130.
[0117] If the error is not resolved in the next S140 (S140: Yes), steps S210-S216 are repeated. This allows the printing function of the print execution unit 160 to be restored.
[0118] If the status of printer 100 is different from "ERROR" (S140: No), in S220 in Figure 5, the printer processor 110 executes the process of acquiring a print job. The process in S220 is performed in the same way as the process in S170 in Figure 2.
[0119] In S225, the printer processor 110 updates the job list D10. In this embodiment, the printer processor 110 sorts the jobs in order of priority, similar to S180 in Figure 2.
[0120] In S230, the printer processor 110 determines whether job list D10 contains print jobs. If job list D10 contains print jobs (S230: Yes), in S235, the printer processor 110 executes the print jobs contained in job list D10 in order of priority. After S235, the printer processor 110 proceeds to S130 in Figure 4.
[0121] In S230 in Figure 5, if the job list D10 does not contain any print jobs (S230: No), then in S250 in Figure 6, the printer processor 110 requests a maintenance job from the maintenance server 300. The process in S250 is performed in the same way as the process in S150 in Figure 2.
[0122] In S253, the maintenance processor 310 sends data representing the maintenance job to the printer 100. The printer processor 110 adds the data representing the maintenance job, as indicated by the received data, to the job list D10. The process in S253 is performed in the same way as the process in S153 in Figure 2.
[0123] Note that S250 and S253 are executed when the status of printer 100 is different from "ERROR" (Figure 4: S140: No). Therefore, the maintenance job acquired in S253 may include the Type 2 maintenance job MB shown in Figure 3(B).
[0124] In S256, the printer processor 110 executes the maintenance jobs acquired in S253 if one or more maintenance jobs were acquired in S253. After S256, the printer processor 110 proceeds to S130 in Figure 4.
[0125] As described above, after the printer 100 is powered on in S120 of Figure 4, the printer processor 110 controls processing according to the status of the printer 100. If the status of the printer 100 is "ERROR," that is, if the printer 100 is unable to perform printing functions, the judgment result in S140 after detecting the connection in S125 of Figure 4 is Yes. In this case, the printer processor 110 may execute the first type maintenance job MA in S210-S216. This may restore the printing function of the print execution unit 160. If the printing function is restored (S140: Yes), the printer processor 110 may execute a print job in S235 of Figure 5. For example, as in the first case C1 of Figure 3(C), the first storage area A3B may store the first type maintenance job MA, and the second storage area A5B may store print jobs P1 and P2. In this case, the printer processor 110 executes jobs MA, P1, and P2 in this order.
[0126] If the status of printer 100 is different from "ERROR," that is, if printer 100 is capable of performing printing functions, the judgment result in S140 after detecting the connection in S125 in Figure 4 is No. In this case, the printer processor 110 can execute a print job in S235 in Figure 5. Executing the print job reduces the total number of unprocessed print jobs to zero. In this case (Figure 5: S230: No), the printer processor 110 can execute a second type maintenance job MB in S250-S256 in Figure 6. For example, as in the second case C2 in Figure 3(D), the first storage area A3B may store the second type maintenance job MB, and the second storage area A5B may store print jobs P1 and P2. In this case, the printer processor 110 executes jobs P1, P2, and MB in that order.
[0127] As described above, in this embodiment, the printing system 1000 in Figure 1 performs the following processes. In step S125 in Figure 4, the printer processor 110 detects the connection between the printer 100 and the maintenance server 300. The printer processor 110 executing S125 is an example of a detection unit that detects this connection.
[0128] After detecting the connection in S125, the printer processor 110 executes the job in S216 in Figure 4, S235 in Figure 5, and S256 in Figure 6. The printer processor 110 executing S216, S235, and S256 is an example of a job execution unit that executes the job.
[0129] Case C1 in Figure 3(C) is, as described above, an example of the first specific case. In this first case C1, the printer 100 is unable to perform the printing function. In this embodiment, as described above, jobs MA, P1, and P2 are executed in this order by the printer processor 110, similar to the first embodiment. Therefore, the possibility of a malfunction in print job P1 is reduced.
[0130] Case C2 in Figure 3(D) is an example of the second specific case, as described above. In this second case C2, the printer 100 is capable of performing the printing function. In this embodiment, as described above, jobs P1, P2, and MB are executed in this order by the printer processor 110, similar to the first embodiment. Therefore, the possibility of delays in the execution of print job P1 is reduced.
[0131] In this way, maintenance jobs MA and MB are executed in the appropriate order relative to print job P1.
[0132] Furthermore, in this embodiment, maintenance jobs MA and MB, as described in Figures 3(A) and 3(B), can be used as maintenance jobs. In the first case shown in Figure 3(C), the first type maintenance job MA is executed in C1 before the print job P1, so the possibility of a malfunction in the print job P1 is appropriately reduced. In the second case shown in Figure 3(D), the print job P1 is executed in C2 before the second type maintenance job MB, so the possibility of a delay in the execution of the print job P1 is appropriately reduced.
[0133] In this embodiment, the printer processor 110 of the printer 100 detects the connection between the printer 100 and the maintenance server 300 at S125 in Figure 2. In the first case C1 described in Figure 3(C), the printer processor 110 executes the first type maintenance job MA after detecting the connection at S125, and then executes the print job P1 after the first type maintenance job MA. Therefore, the printer processor 110 can appropriately reduce the possibility of a malfunction in the print job P1. In the second case C2 described in Figure 3(D), the printer processor 110 executes the print job P1 after detecting the connection at S125, and then executes the second type maintenance job MB after the print job P1. Therefore, the printer processor 110 can appropriately reduce the possibility of a delay in the execution of the print job P1.
[0134] In this embodiment, the printer processor 110 performs the following processing. In the first case C1 in Figure 3(C), after detecting the connection in S125 in Figure 4, the judgment result in S140 is Yes. In S210-S213, the printer processor 110 obtains a first-class maintenance job MA from the maintenance server 300. After obtaining the first-class maintenance job MA, the printer processor 110 executes the first-class maintenance job MA in S216. After executing the first-class maintenance job MA, the judgment result in S140 becomes No. After the first-class maintenance job MA, in S235 in Figure 5, the printer processor 110 executes print job P1. Therefore, the printer processor 110 can appropriately reduce the possibility of a malfunction in print job P1.
[0135] In the second case C2 of Figure 3(D), after the connection is detected at S125 in Figure 4, the judgment result at S140 is No. The printer processor 110 executes print job P1 at S235 in Figure 5. After the execution of print job P1, the printer processor 110 obtains a Type 2 maintenance job MB from the maintenance server 300 at S250-S253 in Figure 6. After obtaining the Type 2 maintenance job MB, the printer processor 110 executes the Type 2 maintenance job MB at S256. Therefore, the printer processor 110 can appropriately reduce the possibility of delays in the execution of print job P1.
[0136] With this configuration, the printer processor 110 can execute maintenance jobs MA and MB in the appropriate order relative to print job P1.
[0137] As explained in S140 of Figure 4, the printer processor 110 determines the order of acquiring and executing maintenance jobs and executing print jobs according to the status of the printer 100. For example, in the first case C1 of Figure 3(C), the status of the printer 100 indicates that the printer 100 is unable to perform printing functions (S140: Yes). In this case, the printer processor 110 acquires the first type maintenance job MA (S210-S213), executes the acquired first type maintenance job MA (S216), and executes print jobs P1 and P2 (S235) in this order. In the second case C2 of Figure 3(D), the status of the printer 100 indicates that the printer 100 is able to perform printing functions (S140: No). In this case, the printer processor 110 executes print jobs P1 and P2 (S235), acquires a Type 2 maintenance job MB (S250-S253), and executes the acquired Type 2 maintenance job MB (S256) in this order.
[0138] C. Third embodiment: Figures 7 and 8 are sequence diagrams representing a third embodiment of job processing. Figure 8 shows the continuation of the processing shown in Figure 7. Unlike the embodiment in Figure 2 and the embodiments in Figures 4-6, the maintenance processor 310 selects a maintenance job to be sent to the printer 100 depending on the state of the printer 100. The sequence diagrams in Figures 7 and 8, like the sequence diagram in Figure 2, show an example of processing that starts from a state where the printer 100 is powered off.
[0139] The processes S113, S116, S120, and S125 in Figure 7 are the same as the processes S113, S116, S120, and S125 in Figure 2.
[0140] After the connection is detected in S125, the job selection process S300 is repeated periodically. The job selection process S300 includes multiple steps from S310 in Figure 7 to S376 in Figure 8.
[0141] In step S310 of Figure 7, the printer processor 110 obtains the status of the printer 100. The process in S310 is performed in the same way as the process in S130 of Figure 4.
[0142] In S315, the printer processor 110 determines whether the status of the printer 100 is "ERROR".
[0143] If the status of printer 100 is different from "ERROR" (S315: No), in S320, the printer processor 110 executes the process of acquiring the print job. The process in S320 is performed in the same way as the process in S220 in Figure 5.
[0144] In S325, the printer processor 110 starts the acquired print jobs if the total number of acquired print jobs is 1 or more. If the total number of print jobs is 2 or more, the printer processor 110 executes the multiple print jobs in order of priority.
[0145] In S330, the printer processor 110 obtains the status of the printer 100. The processing in S330 is the same as the processing in S310. If the printer 100 is capable of performing the printing function, the status of the printer 100 is "IDLE" or "BUSY". If the print job started in S325 has completed, the status is "IDLE". If the print job started in S325 has not completed, the status is "BUSY". If the printer 100 is not capable of performing the printing function, the status of the printer 100 is "ERROR". After S330, the printer processor 110 proceeds to S340 in Figure 8.
[0146] In S315 of Figure 7, if the status of printer 100 is "ERROR" (S315: Yes), the printer processor 110 skips S320-S330 and proceeds to S340 in Figure 8.
[0147] In S340, the printer processor 110 notifies the maintenance server 300 of the status of the printer 100. This notification includes data representing the device identifier DID1 of the printer 100 and status data DS representing the status of the printer 100.
[0148] In S345, the maintenance processor 310 updates the maintenance database D3 in Figure 1. The printer processor 110 sets the state ST, which is associated with the device identifier DID indicated by the notification in S340, to the state indicated by the state data DS in S340.
[0149] In S350, the printer processor 110 requests a maintenance job from the maintenance server 300. The processing in S350 is carried out in the same way as the processing in S150 in Figure 2.
[0150] In S360, the maintenance processor 310 selects the maintenance job to send according to the printer status ST. Specifically, the maintenance processor 310 obtains the status ST and the maintenance job list ML, which are associated with the device identifier DID indicated by the request in S350, from the maintenance database D3 in Figure 1. The maintenance processor 310 selects the maintenance job to send from the maintenance jobs included in the maintenance job list ML according to the status ST.
[0151] Figure 8 shows an example of the job selection process in S360. When the status ST is "IDLE", in S363, the maintenance processor 310 selects all maintenance jobs included in the maintenance job list ML, regardless of the type of maintenance job. When the status ST is "IDLE", the printer 100 is capable of performing printing functions. Therefore, the selected maintenance jobs may include a type 2 maintenance job MB.
[0152] If the status ST is "BUSY", in S365, the maintenance processor 310 will not select a maintenance job, regardless of the type of maintenance job.
[0153] If the status ST is "ERROR", in S367, the maintenance processor 310 selects a first-class maintenance job MA from the maintenance jobs included in the maintenance job list ML.
[0154] In S373, the maintenance processor 310 sends data representing the maintenance jobs selected in S360 to the printer 100. The total number of maintenance jobs to be sent can be any number greater than or equal to zero. If the total number of maintenance jobs is zero, the maintenance processor 310 sends data indicating that the total number of maintenance jobs is zero to the printer 100.
[0155] The maintenance processor 310 sends data representing a maintenance job to the printer 100, and then performs a deletion process to remove that maintenance job from the maintenance database D3. This deletion process is performed in the same manner as the first deletion process described in S153 of Figure 2.
[0156] In S376, the printer processor 110 executes maintenance jobs if one or more maintenance jobs are obtained in S373. If the status of printer 100 is "IDLE", a type 2 maintenance job MB may be executed. This ensures that printer 100 is properly maintained. If the status of printer 100 is "BUSY", no maintenance job is sent in S373. Therefore, the possibility of delays in print job execution is reduced. If the status of printer 100 is "ERROR", a type 1 maintenance job MA may be executed. This allows the printing function of the print execution unit 160 to be restored.
[0157] After S376, the printer processor 110 periodically initiates the selection job processing S300, specifically S310 in Figure 7. That is, the selection job processing S300 is repeated periodically. In this way, the printer processor 110 executes various jobs.
[0158] The frequency of the selected job processing S300 may vary. For example, this frequency may be once every 30 seconds, once every minute, or once every 5 minutes.
[0159] As described above, after the printer 100 is powered on at S120 in Figure 7, the printer processor 110 obtains maintenance jobs from the maintenance server 300. The maintenance processor 310 controls the maintenance jobs to be performed by the printer 100 according to the status ST of the printer 100.
[0160] If the status of printer 100 is "ERROR," that is, if printer 100 is unable to perform printing functions, the judgment result in S315 after connection detection in S125 in Figure 7 is Yes. In this case, the printer processor 110 proceeds to S340 in Figure 8 without executing a print job. In S360, since the status ST of printer 100 is "ERROR," the maintenance processor 310 selects the first type maintenance job MA (S367). In S376, the printer processor 110 executes the first type maintenance job MA. This can restore the printing function of the print execution unit 160. In this case, the judgment result in S315 in Figure 7 for the next job selection process S300 is Yes. In S325, the printer processor 110 executes a print job. For example, as in the first case C1 in Figure 3(C), the first storage area A3B may store the first type maintenance job MA, and the second storage area A5B may store print jobs P1 and P2. In this case, the printer processor 110 executes jobs MA, P1, and P2 in that order.
[0161] If the printer 100's status is different from "ERROR," that is, if the printer 100 is capable of performing the printing function, the judgment result in S315 after detecting the connection in S125 in Figure 7 is No. In this case, the printer processor 110 executes the print job in S325. Until the print job is completed, the printer 100's status is "BUSY." In this case, the maintenance job is not selected in S360 in Figure 8 (S365), and the job selection process S300 is repeated. After the print job is completed, the printer 100's status is "IDLE." In S360 in Figure 8, the maintenance processor 310 may select the second type maintenance job MB (S363). In S376, the printer processor 110 may execute the second type maintenance job MB. For example, as in the second case C2 in Figure 3(D), the first storage area A3B may store the second type maintenance job MB, and the second storage area A5B may store the print jobs P1 and P2. In this case, the printer processor 110 executes jobs P1, P2, and MB in that order.
[0162] As described above, in this embodiment, the printing system 1000 in Figure 1 performs the following processes. In step S125 in Figure 7, the printer processor 110 detects the connection between the printer 100 and the maintenance server 300. The printer processor 110 executing S125 is an example of a detection unit that detects this connection.
[0163] After detecting the connection in S125, the printer processor 110 executes the job in S325 in Figure 7 and S376 in Figure 8. The printer processor 110 executing S325 and S376 is an example of a job execution unit that executes the job.
[0164] Case C1 in Figure 3(C) is, as described above, an example of a first specific case. In this first case C1, the printer 100 is unable to perform the printing function. In this embodiment, as described above, jobs MA, P1, and P2 are executed in this order by the printer processor 110, similar to the embodiments described above. Therefore, the possibility of a malfunction in print job P1 is reduced.
[0165] Case C2 in Figure 3(D) is, as described above, an example of a second specific case. In this second case C2, the printer 100 is capable of performing the printing function. In this embodiment, as described above, jobs P1, P2, and MB are executed in this order by the printer processor 110, similar to the embodiments described above. Therefore, the possibility of delays in the execution of print job P1 is reduced.
[0166] In this way, maintenance jobs MA and MB are executed in the appropriate order relative to print job P1.
[0167] In this embodiment, the printer processor 110 of the printer 100 performs the following processing. At S125 in Figure 7, the printer processor 110 detects the connection between the printer 100 and the maintenance server 300. In response to this detection of the connection, the printer processor 110 starts the selection job processing S300. At S340 in Figure 8 of the selection job processing S300, the printer processor 110 sends status data DS, which represents the status of the printer, to the maintenance server 300. After sending the status data DS, at S350, the printer processor 110 sends a job request, which is a request for a maintenance job stored in the first storage area A3B, to the maintenance server 300.
[0168] The maintenance processor 310 of the maintenance server 300 performs the following process. In S373 of Figure 8, the maintenance processor 310 sends maintenance job data to the printer 100 in response to the job request in S350. In the first case C1 described in Figure 3(C), the status data DS in S340 shows "ERROR". In this case, in S360, the maintenance processor 310 selects the first type maintenance job MA (S367). In S373, the maintenance processor 310 sends the data for the first type maintenance job MA to the printer 100. The status data DS showing "ERROR" indicates that the printer 100 is unable to perform printing functions.
[0169] If the status data DS in S340 indicates "BUSY", then in S360, the maintenance processor 310 does not select a maintenance job (S365). In S373, the maintenance processor 310 does not send maintenance job data to the printer 100. The status data DS indicating "BUSY" indicates that the printer is capable of performing print functions and that the printer is currently performing print.
[0170] If the status data DS in S340 indicates "IDLE", in S360 the maintenance processor 310 selects a maintenance job included in the maintenance job list ML (S363). If the maintenance job list ML includes a type 2 maintenance job MB, that is, if the type 2 maintenance job MB is stored in the first storage area A3B, the maintenance processor 310 selects the type 2 maintenance job MB. In S373, the maintenance processor 310 sends the data for the type 2 maintenance job MB to the printer 100. The status data DS indicating "IDLE" indicates that the printer 100 is capable of performing printing functions and that the printer 100 is not currently performing printing.
[0171] Thus, in S360 and S373, the maintenance processor 310 of the maintenance server 300 sends a maintenance job selected using the status ST represented by the status data DS to the printer 100. In this way, the maintenance processor 310 controls the job to be executed by the printer processor 110. The maintenance processor 310 executing S360 and S373 is an example of a job control unit that controls the job to be executed by the printer processor 110.
[0172] With this configuration, as explained with reference to Figures 3(C) and 3(D), the printer processor 110 can execute maintenance jobs MA and MB in the appropriate order relative to print job P1.
[0173] D. Fourth embodiment: Figure 9 is a sequence diagram representing a fourth embodiment of job processing. The difference from the sequence diagram in Figure 2 is that S127D is added between S125 and S150. In this embodiment, at S125, the maintenance processor 310 detects the connection between the printer 100 and the maintenance server 300. The maintenance processor 310 that detects the connection at S125 is an example of a detection unit that detects connections.
[0174] In response to detecting a connection in S125, the maintenance processor 310 sends a processing notification to the printer 100 in S127D. The processing notification indicates that processing using the maintenance server 300 is available. In response to the processing notification in S127D, the printer processor 110 proceeds to S150. The processing following S150 is the same as the processing following S150 in Figure 2. This embodiment can provide the same various advantages as the embodiment in Figure 2.
[0175] If no processing notification is received, the printer processor 110 controls the printer 100 offline. The printer processor 110 may periodically perform the connection process of S125. If a processing notification is received, the printer processor 110 may proceed to S150.
[0176] The processing notification in S127D may indicate that one or more maintenance jobs associated with the device identifier DID used in S125 are stored in the first storage area A3B. That is, the maintenance processor 310 sends a processing notification in S127D to the printer 100 if the corresponding maintenance job list ML contains one or more maintenance jobs. If the total number of maintenance jobs included in the corresponding maintenance job list ML is zero, the maintenance processor 310 does not send a processing notification. In this way, the printer 100 and the maintenance server 300 may proceed with processing for the execution of maintenance jobs if maintenance jobs for the printer 100 are stored in the first storage area A3B.
[0177] E. Fifth Example: Figure 10 is a sequence diagram representing a fifth embodiment of job processing. The difference from the sequence diagrams in Figures 4-6 is that S127E is added between S125 and S130. In this embodiment, at S125, the maintenance processor 310 detects the connection between the printer 100 and the maintenance server 300. The maintenance processor 310 that detects the connection at S125 is an example of a detection unit that detects connections.
[0178] In response to the detection of the connection in S125, the maintenance processor 310 sends a processing notification to the printer 100 in S127E. The processing notification in S127E is the same as the processing notification in S127D in Figure 9. In response to the processing notification in S127E, the printer processor 110 proceeds to S130. The processing following S130 is the same as the processing following S130 in Figures 4-6. This embodiment can provide the same various advantages as those provided by the embodiment in Figures 4-6.
[0179] If no processing notification is received, the printer processor 110 controls the printer 100 offline. The printer processor 110 may periodically perform the connection process of S125. If a processing notification is received, the printer processor 110 may proceed to S130.
[0180] The maintenance processor 310 may send the processing notification S127E if one or more maintenance jobs associated with the device identifier DID used in S125 are stored in the first storage area A3B. If the total number of maintenance jobs included in the corresponding maintenance job list ML is zero, the maintenance processor 310 does not need to send the processing notification.
[0181] F. Sixth Example: Figure 11 is a sequence diagram representing the sixth embodiment of job processing. The difference from the sequence diagrams in Figures 7-8 is that S127F is added between S125 and S310. In this embodiment, at S125, the maintenance processor 310 detects the connection between the printer 100 and the maintenance server 300. The maintenance processor 310 that detects the connection at S125 is an example of a detection unit that detects connections.
[0182] In response to the detection of the connection in S125, the maintenance processor 310 sends a status request to the printer 100 in S127F. In response to the status request, the printer processor 110 starts the selection job process S300. The selection job process S300 is the same as the selection job process S300 in Figures 7-8. In S340 of Figure 8, which is included in the selection job process S300, the printer processor 110 notifies the maintenance server 300 of the status of the printer 100. This embodiment can provide the same various advantages as those provided by the embodiment in Figures 7-8.
[0183] If no status request is received, the printer processor 110 controls the printer 100 offline. The printer processor 110 may periodically perform the connection process S125. If a status request is received, the printer processor 110 may start the selected job process S300.
[0184] Alternatively, instead of S127F, the maintenance processor 310 may send a processing notification to the printer 100 in response to the detection of a connection in S125. The process of sending the processing notification may be the same as the processes of S127D and S127E in Figures 9 and 10. Here, the maintenance processor 310 may send a processing notification to the printer 100 if one or more maintenance jobs associated with the device identifier DID used in S125 are stored in the first storage area A3B. The printer processor 110 may start the selected job processing S300 in response to the receipt of the processing notification. If the total number of maintenance jobs included in the corresponding maintenance job list ML is zero, the maintenance processor 310 does not need to send a processing notification. If no processing notification has been received, the printer processor 110 may control the printer 100 offline. The printer processor 110 may periodically execute the connection processing of S125.
[0185] G. Seventh Example: In each of the above embodiments, the print job acquisition process may be executed at various timings. The print job acquisition process may be executed before the connection process with the maintenance server 300. For example, the printer processor 110 may execute the print job acquisition process before the connection process with the maintenance server 300 in response to the printer 100 being powered on. Alternatively, the user of the printer 100 may input a print job to the printer 100 using a terminal device (not shown) after powering on the printer 100 and before the connection process with the maintenance server 300.
[0186] Thus, in each of the above embodiments, at the time of detecting the connection between the printer 100 and the maintenance server 300, the job list D10 of the printer 100 may include print jobs. After detecting this connection, the printer processor 110 may use the print jobs included in the job list D10 to perform the job processing of each embodiment.
[0187] As shown above, the printing system 1000 in Figure 1 includes a storage area A1C of the printer 100. Storage area A1C stores the data of the job list D10. The data of the job list D10 may include data representing print jobs. Storage area A1C is an example of a second storage area for storing print jobs. Thus, the second storage area for storing print jobs may include the storage area A5B of the print server 500 and the storage area A1C of the printer 100.
[0188] In each of the above embodiments, the print server 500 may be omitted. In this case, the storage area A1C of the printer 100 may be referred to as the second storage area. Alternatively, the printer 100 and the maintenance server 300 may form a printing system 1000.
[0189] H. Variant: (1) The first maintenance job, which is executed before the print job, is not limited to jobs MA1 and MA2 as described in Figure 3(A), but may be any job that facilitates the recovery of the printer's printing function. For example, the first maintenance job may be a job that stops and restarts the power supply to the print execution unit 160. This job resets the operation of the print execution unit 160, so that the printing function can be executed.
[0190] The first maintenance job may be a variety of jobs for maintaining the printer, not limited to jobs that facilitate the recovery of the printer's printing function. For example, if the type of printing unit is inkjet, the printing unit includes multiple nozzles for ejecting ink droplets. The first maintenance job may include a flushing process that ejects ink droplets from multiple nozzles. Flushing can clear nozzle blockages. If the first maintenance job, which includes a flushing process, is executed before the print job, the possibility of defects such as poor ink dot recording in the print job is reduced. Such a first maintenance job may have a higher priority than the print job, similar to the first maintenance job MA.
[0191] (2) The second maintenance job, which is executed after the print job, is not limited to jobs MB1 and MB2 as described in Figure 3(B), but may be any job that performs processing independent of facilitating the recovery of the printer's printing function. Furthermore, the second maintenance job is not limited to jobs that perform processing independent of facilitating the recovery of the printer's printing function, but may be any job that maintains the printer. For example, the second maintenance job may include the process of printing a test pattern to check the operation of the print execution unit. The user can recognize the status of the printer by observing the printed test pattern.
[0192] (3) In the first specific case, the state in which the printer is unable to perform the printing function may be a state caused by a malfunction of the printer, or alternatively, a state caused by the control of the printer. In the first specific case, the state in which the printer is unable to perform the printing function may be various states in which the printer is unable to perform printing when a user inputs a print command to the printer.
[0193] (4) The job processing that causes the printer to execute a job is not limited to the processing of each embodiment and each modified example described above, but may be various other processes. For example, the device identifier used for the remote printing service may be different from the device identifier DID used for the remote maintenance service. In addition, the user of the printer 100, the firmware developer FW, or the consumables delivery company may input instructions for registering a maintenance job to the maintenance server 300.
[0194] In either case, it is preferable that the job processing is configured such that, in a first specific case, print jobs are executed after the first maintenance job, and in a second specific case, the second maintenance job is executed after the print job. Here, one or both of the printer, such as printer 100, and the server, such as maintenance server 300, may control the execution order, which is the order in which maintenance jobs and print jobs are executed. For example, in the embodiment of Figure 2, printer 100 controls the execution order. In the embodiments of Figures 4-6, printer 100 controls the execution order. In the embodiments of Figures 7-8, printer 100 and maintenance server 300 cooperate to control the execution order. Alternatively, maintenance server 300 may control the execution order. For example, maintenance processor 310 may instruct printer 100 on the execution order according to the state ST of printer 100.
[0195] (5) The printer configuration is not limited to the printer 100 in Figure 1, but may be any configuration that includes printing functionality. For example, the reading execution unit 170 may be omitted.
[0196] (6) In each of the above embodiments and modifications, a plurality of devices that can communicate with each other via a network such as a computer may each share a portion of the data processing function of the maintenance server 300, and together provide the data processing function. A system comprising these devices forms the maintenance server.
[0197] In each of the above embodiments and modifications, some of the configurations implemented by hardware may be replaced with software, and conversely, some or all of the configurations implemented by software may be replaced with hardware. For example, the processing performed by the printer 100 may be performed by a dedicated hardware circuit such as an Application Specific Integrated Circuit (ASIC).
[0198] Furthermore, if some or all of the functions of this disclosure are implemented by a computer program, that program may be provided in the form of a computer-readable non-temporary recording medium. The program may be used while stored on the same or a different computer-readable recording medium as at the time of provision. "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 hard disk drives.
[0199] The above embodiments and modifications can be combined as appropriate. Furthermore, the above embodiments and modifications are provided to facilitate understanding of this disclosure and do not limit the present invention. The present invention can be modified and improved without departing from its spirit, and equivalents thereof are included. [Explanation of Symbols]
[0200] 100…Printer, 110…Printer processor, 140…Display unit, 150…Operation unit, 160…Print execution unit, 160C…Consumables, 160S…Sensor, 170…Reading execution unit, FW…Firmware, 300…Remote maintenance server (maintenance server), 310…Maintenance processor, 500…Remote print server (print server), 510…Processor, PG3, PG5…Program, 115, 315, 515…Storage device, 120, 320, 520…Volatile storage device, 130, 330, 530…Non-volatile storage device, 180, 380, 580…Communication interface, 10 00…Printing system, 1000N…Network system, NT…Network, A1A, A1B, A1C, A3A, A3B, A5A, A5B…Storage area, D10…Job list, D3…Maintenance database, ML…Maintenance job list, MA…Type 1 maintenance job, MA1…Restart job, MA2…Colorant life extension job, MB…Type 2 maintenance job, MB1…Firmware update job, MB2…Replacement count reset job, D5…Printing database, PL…Printing job list, P1, P2…Printing job, DID, DID1…Device identifier, DS…Status data
Claims
1. A printing system including a server and a printer, A first storage area for storing maintenance jobs for a printer with printing capabilities, the first storage area provided on a server, A second storage area for storing print jobs for the aforementioned printer, A detection unit that detects the connection between the printer and the server, A job execution unit that executes a job after detecting the connection between the printer and the server, the job execution unit being provided in the printer, Equipped with, In a first specific case where the printer is unable to perform the printing function, the first storage area stores the first maintenance job, and the second storage area stores the print job, The first maintenance job is executed by the job execution unit, The print job is executed by the job execution unit after the first maintenance job. In a second specific case where the printer is capable of performing the printing function, the first storage area stores the second maintenance job, and the second storage area stores the print job, The print job is executed by the job execution unit, The second maintenance job is executed by the job execution unit after the print job. Printing system.
2. A printing system according to claim 1, The first maintenance job is a maintenance job that facilitates the recovery of the printer's printing function, The second maintenance job is a maintenance job that performs processing independent of facilitating the recovery of the printer's printing function. Printing system.
3. A printing system according to claim 1 or 2, The printer includes the detection unit, The aforementioned job execution unit, In the first specific case described above, After detecting the connection between the printer and the server, the first maintenance job is executed. After the first maintenance job, the print job is executed. In the second specific case described above, After detecting the connection between the printer and the server, the print job is executed. After the print job, the second maintenance job is executed. Printing system.
4. A printing system according to claim 3, The job execution unit, in response to the detection of the connection between the printer and the server, retrieves a maintenance job stored in the first storage area from the server. In the first specific case described above, the maintenance job to be acquired is the first maintenance job, In the second specific case described above, the acquired maintenance job is the second maintenance job, The aforementioned job execution unit, In the first specific case where the acquired maintenance job is the first maintenance job, The first maintenance job is executed, After the first maintenance job, the print job is executed. In the second specific case where the acquired maintenance job is the second maintenance job, Execute the aforementioned print job, The second maintenance job is executed after the print job. Printing system.
5. A printing system according to claim 3, In the first specific case, the job execution unit shall After detecting the connection between the printer and the server, the first maintenance job is obtained from the server. After obtaining the first maintenance job, execute the first maintenance job. After the first maintenance job, the print job is executed. In the second specific case, the job execution unit shall After detecting the connection between the printer and the server, the print job is executed. After the execution of the print job, the second maintenance job is obtained from the server. After obtaining the second maintenance job, execute the second maintenance job. Printing system.
6. A printing system according to claim 1 or 2, The printer includes the detection unit, The server includes a job control unit that controls jobs executed by the job execution unit, The aforementioned job execution unit, In response to the detection of the connection between the printer and the server, status data representing the status of the printer is transmitted to the server. After transmitting the status data, a job request, which is a maintenance job request stored in the first storage area, is sent to the server. The job control unit, In the first specific case, where the status data indicates that the printer is unable to perform the printing function, the data for the first maintenance job is sent to the printer in response to the job request. If the status data indicates that the printer is capable of performing the printing function and that the printer is currently printing, then, in response to the job request, the maintenance job data will not be sent to the printer. If the status data indicates that the printer is capable of performing the printing function and that the printer is not currently printing, and a second maintenance job is stored in the first storage area, then, in response to the job request, the data of the second maintenance job is sent to the printer. Printing system.
7. A printing system according to claim 1 or 2, The printer includes the second storage area, Printing system.
8. A method for controlling printing, A step of detecting the connection between a printer equipped with printing capabilities and a server equipped with a first storage area for storing maintenance jobs for the printer, After detecting the connection between the printer and the server, the printer executes the job; Equipped with, The step of executing the job using the printer is: In a first specific case where the printer is unable to perform the printing function, and the first storage area stores the first maintenance job and the second storage area stores the print job, The first maintenance job is executed by the printer, A step of executing a print job by the printer after the first maintenance job, Includes, In a second specific case where the printer is capable of performing the printing function, the first storage area stores the second maintenance job, and the second storage area stores the print job, The process of executing the print job using the printer, The steps include: executing the second maintenance job by the printer after the print job; including, Control method.
Citation Information
Patent Citations
Processing unit, processing method, and program
JP2017132167A
Job reservation system and job reservation method
JP2017182640A