Printing servers, printing systems and storage media

By generating reprint data and location data through the print server, the problem of printing interruption caused by printer errors is solved and appropriate printing recovery is achieved in the event of an error.

CN113741827BActive Publication Date: 2025-09-26BROTHER KOGYO KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110606255.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-29
Filing Date
2021-05-27
Publication Date
2025-09-26
Estimated Expiration
2041-05-27

AI Technical Summary

Technical Problem

Conventional technology cannot properly print when a printer error occurs, resulting in interruption of print data and missing pages.

Method used

The print server generates reprint data and position data, and ensures that the printer can print properly based on the error notification and the cancellation notification, including generating second print data for reprinting and sending second position data to resume printing.

Benefits of technology

When a printer error occurs, printing can be effectively restored to prevent interruption of printing data and loss of pages, ensuring the continuity of printing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113741827B_ABST
    Figure CN113741827B_ABST
Patent Text Reader

Abstract

The present invention provides a print server, system, and computer program for performing appropriate printing when a printer error occurs. The print server includes a first print data generator, a first location data transmitter, a first print data transmitter, an error notification receiver, a second print data generator, an error cancellation notification receiver, a second location data transmitter, and a second print data transmitter. Upon receiving the error notification, the print server generates second print data for reprinting using the error page print number. Upon receiving the error cancellation notification, the print server transmits second location data indicating the location of the second print data on the network to the first printer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a print server that sends print data to a printer. Background Art

[0002] Patent Document 1 discloses a printer that automatically resumes printing from an appropriate position when resuming printing after recovering from a fault. When creating print data, the printer's control unit includes a control code at a predetermined position in the print data. This control code indicates the position at which printing should resume after recovering from the fault, i.e., the recovery start position. When resuming printing after recovering from the fault, the control unit, based on the control code, resumes printing from the recovery start position closest to the fault location before the fault occurred.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 07-232460

[0006] Technical problem to be solved by the invention

[0007] However, a system using a printer and a print server is used. Various configurations can be adopted for such a system. Under such circumstances, there is still room for improvement in ensuring proper printing when a printer error occurs. Summary of the Invention

[0008] The present invention discloses a technology for performing appropriate printing when a printer error occurs.

[0009] Technical means for solving technical problems

[0010] The technology disclosed in the present invention can be realized as the following application examples.

[0011] [Application Example 1] A printing server comprises: a first printing data generating unit, which generates first printing data; a first position data sending unit, which sends first position data to a first printer, wherein the first position data is position data indicating the position of the first printing data on a network; a first printing data sending unit, which sends the first printing data to the first printer according to a first data request from the first printer, wherein the first data request is a request for data to be represented by the first position data; an error notification receiving unit, which receives an error notification, wherein the error notification indicates that an error has occurred in the first printer and requires interruption of printing based on the first printing data, and the error notification indicates a first error page printing number, wherein the first error page printing number is a number indicating a printing sequence number of the page where the error occurred; a second printing data generating unit, which generates second printing data for reprinting using the first error page printing number in response to receiving the error notification; an error elimination notification receiving unit, which receives an error elimination notification indicating that the error has been eliminated; a second position data sending unit, which sends second position data to the first printer in response to receiving the error elimination notification, the second position data being position data indicating the position of the second printing data on the network; and a second printing data sending unit, which sends the second printing data to the first printer in response to a second data request from the first printer, the second data request being a request for data represented by the second position data.

[0012] According to this structure, the printing server uses the error page printing number to generate second printing data for reprinting based on the error notification received, and the printing server sends second location data to the first printer based on the error elimination notification received. The second location data is location data indicating the location of the second printing data on the network. Therefore, if an error occurs in the printer, the printing server can enable the first printer to perform appropriate printing.

[0013] [Application Example 2] A printing system including a print server and a first printer, wherein the print server includes: a first print data generating unit that generates first print data; and a first position data sending unit that sends first position data to the first printer, the first position data being position data indicating the position of the first print data on a network; the first printer includes a first data request sending unit that sends a first data request to the print server, the first data request being a request for data indicated by the first position data; the print server includes a first print data sending unit that sends the first print data to the first printer in response to the first data request from the first printer; the first printer includes an error notification sending unit that, when an error occurs in the first printer requiring interruption of printing based on the first print data, sends an error notification to the print server, the error notification indicating that the error has occurred in the first printer and indicating a first error page print number, the first error page print number being a number indicating the printing order of the page in which the error has occurred; The server includes an error notification receiving unit that receives the error notification; and a second print data generating unit that generates second print data for reprinting using the first error page print number in response to receiving the error notification. The first printer includes an error cancellation notification sending unit that, when the error has been cancelled, sends an error cancellation notification to the print server indicating that the error has been cancelled. The print server includes an error cancellation notification receiving unit that receives the error cancellation notification; and a second location data sending unit that, in response to receiving the error cancellation notification, sends second location data indicating the location of the second print data on the network to the first printer. The first printer includes a second data request sending unit that sends a second data request to the print server for the data indicated by the second location data. The print server includes a second print data sending unit that sends the second print data to the first printer in response to the second data request from the first printer.

[0014] With this configuration, the printing system including the print server and the first printer can perform appropriate printing even when an error occurs.

[0015] [Application Example 3] The printing system described in Application Example 2 further includes a second printer, and the printing server includes: a third printing data generating unit, which generates third printing data; and a third position data sending unit, which sends third position data to the second printer, and the third position data is position data indicating the position of the third printing data on the network. The second printer includes a third data request sending unit, which sends a third data request to the printing server, and the third data request is a request for first object partial data, and the first object partial data is at least a part of the unprinted part of the data represented by the third position data. The printing server includes a third printing data sending unit, and the third printing data sending unit sends a third data request based on the third position data from the second printer. The data request sends the first object portion data in the third printing data to the second printer, and the second printer includes: an object portion determination unit, which uses the page where the error occurred to determine the second object portion data as the object portion data to be requested next when an error occurs in the second printer that requires interruption of printing based on the first object portion data; and a fourth data request sending unit, which sends a fourth data request to the printing server, and the fourth data request is a request for the second object portion data in the third printing data. The printing server includes a fourth print data sending unit, which sends the second object portion data in the third printing data to the second printer according to the fourth data request from the second printer.

[0016] With this configuration, the print server can use the portion of the third print data requested by the second printer as data to be transmitted.

[0017] In addition, the technology disclosed in the present invention can be implemented in various ways, for example, as a printing method, a printing device, a printing system, a computer program for implementing the functions of these methods or devices, a storage medium storing the computer program (for example, a non-temporary storage medium), etc. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 It is a block diagram showing the structure of the system 1000.

[0019] Figure 2 (A)-(C) are explanatory diagrams of Tables T41, T42, and T51.

[0020] Figure 3 This is a sequence diagram showing an embodiment of the process of the print service.

[0021] Figure 4 This is a sequence diagram showing an embodiment of the process of the print service.

[0022] Figure 5 It is an explanatory diagram showing an example of a printed matter represented by the print data PD1 and PD2.

[0023] Figure 6 This is a sequence diagram showing another embodiment of the printing service process.

[0024] Figure 7 This is a sequence diagram showing another embodiment of the printing service process.

[0025] Figure 8 This is an explanatory diagram showing an example of the relationship between the third print data PD3, the target partial data PDP, and pages.

[0026] Figure 9 This is a flowchart showing another embodiment of the process of the print service.

[0027] Figure 10 It is an explanatory diagram showing an example of a printed matter represented by the print data PD1 and PD2. DETAILED DESCRIPTION

[0028] A. First embodiment:

[0029] A-1. Structure of System 1000:

[0030] Figure 1 This is a block diagram showing the configuration of system 1000. System 1000 includes: multifunction peripherals 100A and 100B, a terminal device 200, a print server 400, and a management server 500. The print server 400 and the management server 500 are connected to the Internet IT. The print server 400 can communicate with the management server 500 via the Internet IT. The multifunction peripherals 100A and 100B and the terminal device 200 are connected to a local area network LN. The local area network LN is connected to the Internet IT. The multifunction peripherals 100A and 100B and the terminal device 200 can communicate with the servers 400 and 500 via the local area network LN and the Internet IT.

[0031] Print server 400 and management server 500 provide printing services to client devices such as terminal device 200. Print services are services that enable printers such as multifunction devices 100A and 100B to print images via a network such as the Internet IT. In this embodiment, the print service enables the printer to print an image represented by image data contained in an email sent from the client device. Such a printing service is also called email printing. In addition, in this embodiment, management server 500 functions as an XMPP (Extensible Messaging and Presence Protocol) server. Management server 500 establishes an XMPP session with the printer. When an XMPP session is established between management server 500 and the printer, management server 500 can send data to the printer through the firewall of the network to which the printer belongs (for example, the local area network LN). Servers 400 and 500 collaborate to provide printing services. Such print server 400 and management server 500 are installed on the Internet IT by the manufacturer of the printer (here, the multifunction devices 100A and 100B).

[0032] The print server 400 includes a CPU 410 , a storage device 415 , and a communication interface 480 . These components are interconnected via a bus. The storage device 415 includes a volatile storage device 420 and a nonvolatile storage device 430 .

[0033] The communication interface 480 is an interface for communicating with other devices (for example, a wired LAN interface, a wireless interface of IEEE802.11) and is connected to the Internet IT in this embodiment.

[0034] CPU 410, also known as a processor, is an example of a data processing device that performs data processing. Volatile storage device 420 is, for example, a DRAM, and non-volatile storage device 430 is, for example, a flash memory. Non-volatile storage device 430 stores program PG4, device table T41, and task table T42. CPU 410 executes the process for providing the print service by executing program PG4. CPU 410 temporarily stores various intermediate data used in executing program PG4 in storage device 415 (e.g., volatile storage device 420 or non-volatile storage device 430). Details of the processes executed by CPU 410 and tables T41 and T42 will be described later.

[0035] The management server 500 includes a CPU 510 , a storage device 515 , and a communication interface 580 . These components are interconnected via a bus. The storage device 515 includes a volatile storage device 520 and a non-volatile storage device 530 .

[0036] The communication interface 580 is an interface for communicating with other devices (for example, a wired LAN interface, a wireless interface of IEEE802.11) and is connected to the Internet IT in this embodiment.

[0037] CPU 510 is an example of a data processing device. Volatile storage device 520 is, for example, a DRAM, and non-volatile storage device 530 is, for example, a flash memory. Non-volatile storage device 530 stores program PG5 and management table T51. CPU 510 executes program PG5 to perform processing for providing print services. CPU 510 temporarily stores various intermediate data used in executing program PG5 in storage device 515 (e.g., volatile storage device 520 or non-volatile storage device 530). Details of the processing performed by CPU 510 and management table T51 will be described later.

[0038] The first and second MFPs 100A, 100B are different models. However, the MFPs 100A and 100B have the same structure. Hereinafter, when the MFPs 100A and 100B are not distinguished, the English letters at the end of the symbols are omitted and the MFPs are simply referred to as the MFP 100.

[0039] The multifunction peripheral 100 includes a CPU 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 components are interconnected via a bus. The storage device 115 includes a volatile storage device 120 and a nonvolatile storage device 130 .

[0040] The display unit 140 is a device that displays images and is, for example, a liquid crystal display. The operation unit 150 is a device that receives user operations and includes, for example, a touch panel superimposed on the display unit 140. The user can input various instructions to the multifunction peripheral 100 by operating the operation unit 150.

[0041] The print execution unit 160 is a device that prints an image onto paper (an example of a print medium) using a printing material using a predetermined method (e.g., a laser method or an inkjet method). The read execution unit 170 optically reads an object such as a document using a photoelectric conversion element such as a CCD or CMOS, and generates scan data representing the read image (referred to as a "scanned image").

[0042] The communication interface 180 is an interface for communicating with other devices (for example, a wired LAN interface, a wireless interface of IEEE802.11) and is connected to a local area network LN in this embodiment.

[0043] CPU 110 is an example of a data processing device. Volatile storage device 120 is, for example, a DRAM, and non-volatile storage device 130 is, for example, a flash memory. Non-volatile storage device 130 stores program PG1 and device information D1. CPU 110 performs various processes by executing program PG1. CPU 110 temporarily stores various intermediate data used in executing program PG1 in storage device 115 (for example, volatile storage device 120 or non-volatile storage device 130). Details of the processes executed by CPU 110 and device information D1 will be described later. In addition, in this embodiment, program PG1 and device information D1 are pre-stored in non-volatile storage device 130 as firmware by the manufacturer of multifunction peripheral 100.

[0044] Terminal device 200 is a device (e.g., a smartphone, tablet, etc.) used to utilize print services. Terminal device 200 includes a CPU 210, a storage device 215, a display unit 240, an operating unit 250, and a communication interface 280. These components are interconnected via a bus. Storage device 215 includes a volatile storage device 220 and a nonvolatile storage device 230.

[0045] The display unit 240 is a device that displays images, such as a liquid crystal display. The operation unit 250 is a device that receives user operations, such as a touch panel superimposed on the display unit 240. The user can input various instructions to the terminal device 200 by operating the operation unit 250.

[0046] The communication interface 280 is an interface for communicating with other devices (for example, a wired LAN interface, a wireless interface of IEEE802.11) and is connected to a local area network LN in this embodiment.

[0047] CPU 210 is an example of a data processing device. The volatile storage device 220 is, for example, a DRAM, and the non-volatile storage device 230 is, for example, a flash memory. The non-volatile storage device 230 stores the program PG2. CPU 210 executes various processes for utilizing the printing service by executing program PG2. CPU 210 temporarily stores various intermediate data utilized in the execution of program PG2 in a storage device (for example, the volatile storage device 220 or the non-volatile storage device 230). Details of the processes executed by CPU 210 will be described later. In addition, in this embodiment, program PG2 is an application program provided by a server not shown in the figure. Alternatively, program PG2 may also be provided by a portable storage medium such as a memory card.

[0048] Figure 2 (A)- Figure 2 (C) is an explanatory diagram of tables T41, T42, and T51. Equipment table T41 ( Figure 2(A)) is a table for registering information related to printers. The device table T41 stores a plurality of information including the printer identifier UID, the management identifier MID, and the email address MA in association with each other. The printer identifier UID is information for identifying each printer. In this embodiment, the printer identifier UID is included in the device information D1 ( Figure 1 ). The following settings are as follows: the printer identifier UID of the first multifunction machine 100A is "u01", and the printer identifier UID of the second multifunction machine 100B is "u02". The management identifier MID is an identifier corresponding to the printer identifier UID, and is determined by the management server 500. The email address MA is an email address used for email printing, and is determined by the printing server 400. In this embodiment, the email address MA is expressed using the "local part" before the "@" and the "domain name" after the "@", such as "mail@example.com". In the above example, the local part is "mail" and the domain name is "example.com". In addition, Figure 2 The first information I1 in (A) indicates information associated with the first multifunction peripheral 100A, and the second information I2 indicates information associated with the second multifunction peripheral 100B.

[0049] Task table T42( Figure 2 (B)) is a table for managing printing tasks. The task table T42 associates and stores a plurality of information including a printer identifier UID, a management identifier MID, a task identifier JID, a file name FN, and a URL (Uniform Resource Locator). The task identifier JID is information for identifying a printing task. The file name FN is the file name of the image data used for printing. The URL is an example of location data for accessing printing data. Hereinafter, the URL representing the printing data is referred to as the location data URL. In this embodiment, the location data URL is represented by a "protocol" before ":", a "host name" followed by " / / ", and a "path" followed by the "host name", such as "http: / / example.com / pdir / data1". In the above example, the protocol is "http", the host name is "example.com", and the path is " / pdir / data1". The path can include the file name of the printing data in the printing server 400. The protocol can be other protocols such as "https", "ftps", "sftp", etc. The information JID, IMD, and URL are determined by the printing server 400. In addition, Figure 2The third information I3 in (B) indicates a print job for the first multifunction peripheral 100A. The fourth information I4 indicates a reprint job generated when a printing error occurs based on the third information I3 (details will be described later). The fifth information I5 indicates a print job used in the second embodiment described later.

[0050] Management table T51( Figure 2 (C)) is a table for managing printers. The management table T51 stores a plurality of information including the printer identifier UID, the management identifier MID, the model information MD, and the access token ATK in association with each other. The model information MD is information indicating the model of each printer. In this embodiment, the model information MD is included in the device information D1 ( Figure 1 ). In the following, it is assumed that the model information MD of the first multifunction device 100A is "MD1" and the model information MD of the second multifunction device 100B is "MD2". The access token ATK is information for establishing an XMPP session and is determined by the management server 500. Figure 2 The sixth information I6 in (C) indicates information associated with the first multifunction peripheral 100A, and the seventh information I7 indicates information associated with the second multifunction peripheral 100B.

[0051] A-2. Printing process:

[0052] A-2-1. Establishment of a session:

[0053] Figure 3 、 Figure 4 This is a sequence diagram showing an embodiment of the process of the print service. Figure 3 、 Figure 4 An example of processing when the first multifunction peripheral 100A is used for printing is shown. Figure 3 The diagram shows the processes performed between the terminal device 200 , the first multifunction peripheral 100A, the print server 400 , and the management server 500 .

[0054] In S110 , CPU 110 of multifunction device 100A establishes a communication session with management server 500 . In this embodiment, an XMPP session is established. The XMPP session may be established by any method. In this embodiment, the establishment method is as follows.

[0055] The CPU 110 of the multifunction peripheral 100A transmits a login request to the print server 400 in response to a user instruction. The login request includes data indicating the printer identifier u01 of the multifunction peripheral 100A ( Figure 2(A)). In response to the login request, CPU 410 of print server 400 generates an email address MA1 for email printing using multifunction peripheral 100A. Furthermore, CPU 410 requests management server 500 for a management identifier MID. CPU 510 of management server 500 generates a new management identifier m01 and transmits data representing management identifier m01 to print server 400. CPU 410 of print server 400 registers first information I1, including printer identifier u01, management identifier m01, and email address MA1, in device table T41.

[0056] Furthermore, the CPU 410 of the print server 400 requests the management server 500 for a PIN (Personal Identification Number) associated with the management identifier m01. The CPU 510 of the management server 500 generates a new PIN and stores data representing the generated PIN in the storage device 515 (e.g., the volatile storage device 520) in association with the management identifier m01. Furthermore, the CPU 510 transmits the data representing the generated PIN to the print server 400. The CPU 410 of the print server 400 transmits the data representing the PIN to the first multifunction peripheral 100A. The CPU 110 of the first multifunction peripheral 100A transmits a session establishment request to the management server 500. The establishment request includes data representing the printer identifier u01 and model information MD1 of the first multifunction peripheral 100A, as well as data representing the PIN. If the PIN from the first multifunction peripheral 100A matches the PIN already generated by the management server 500, the CPU 510 of the management server 500 determines that the authentication of the establishment request has been successful and proceeds with the process. If the PIN included in the establishment request is different from the already generated PIN, CPU 510 ends the process without establishing the XMPP session.

[0057] The CPU 510 of the management server 500 generates a new access token ATK1 ( Figure 2 (C)). Then, sixth information I6, including printer identifier u01, management identifier m01, model information MD1, and access token ATK1, is registered in management table T51. CPU 510 then transmits data representing access token ATK1 to first multifunction peripheral 100A. CPU 110 of first multifunction peripheral 100A uses access token ATK1 to establish an XMPP session with management server 500. First multifunction peripheral 100A maintains the XMPP session between first multifunction peripheral 100A and management server 500 until power to first multifunction peripheral 100A is turned off. Once the session between the printer and management server 500 is established, email printing is possible.

[0058] Furthermore, the CPU 110 of the first multifunction peripheral 100A requests information from the device table T41 from the print server 400. This request includes data indicating the printer identifier u01 of the first multifunction peripheral 100A. The CPU 410 of the print server 400 determines the information (including the email address MA1) corresponding to the printer identifier u01 from the device table T41. The CPU 410 transmits the data indicating the determined information to the first multifunction peripheral 100A. The CPU 110 of the first multifunction peripheral 100A provides the user with information for email printing (including the email address MA1) in accordance with the user's instructions. For example, the CPU 110 displays the email address MA1 on the display unit 140. Alternatively, the CPU 110 may transmit information for email printing to the terminal device 200.

[0059] Alternatively, the XMPP session may be replaced with another structure for transmitting data from the management server 500 to the printer. For example, a session based on HTTPS (Hypertext Transfer Protocol Secure) may be established between the management server 500 and the printer.

[0060] A-2-2. Mail printing:

[0061] In S120( Figure 3 ), the user inputs an instruction for email printing to the terminal device 200. The instruction includes the designation of the printer and the designation of image data corresponding to the image to be printed. Here, it is assumed that the user specifies the first multifunction peripheral 100A. In accordance with the user's instruction, the CPU 210 of the terminal device 200 sends an email EM to the email address MA1 corresponding to the first multifunction peripheral 100A to the print server 400. The email EM includes image data IND corresponding to the image to be printed (the image data IND is also referred to as input data IND). Such an email EM represents a printing instruction. The CPU 410 of the print server 400 stores the received input data IND in the storage device 415 (for example, the non-volatile storage device 430).

[0062] In S130, the CPU 410 of the print server 400 refers to the device table T41 ( Figure 2 (A)) determines the management identifier m01 associated with the mail address MA1 of the e-mail EM. The CPU 410 requests the management server 500 for the model information MD associated with the management identifier m01. In S140, the CPU 510 of the management server 500 refers to the management table T51 ( Figure 2(C) The model information MD1 associated with the management identifier m01 is identified. The CPU 510 transmits data indicating the identified model information MD1 to the print server 400 .

[0063] At S210, the CPU 410 of the print server 400 uses the input data IND to generate print data PD1 (hereinafter, the print data PD1 is also referred to as first print data PD1) that matches the model information MD1. The print data PD1 has a data format that can be interpreted by the printer associated with the model information MD1. The CPU 410 stores the generated first print data PD1 in a storage device (in this embodiment, the non-volatile storage device 430).

[0064] In S215, the CPU 410 sets the task table T42 ( Figure 2 (B)) stores job information. This job information is information related to the print job using the print data PD1. Here, Figure 2 The third information I3 of (B) is stored in S215. In S215, the CPU 410 generates a new task identifier J01. In addition, the CPU 410 determines URL1, which is a URL indicating the location of the print data PD1 on the network. Hereinafter, the determined URL1 will also be referred to as the first location URL1. The first location URL1 indicates the location of the first print data PD1 on the non-volatile storage device 430. Furthermore, the CPU 410 stores the task information I3 including the printer identifier u01, the management identifier m01, the task identifier J01, the file name FN1, and the URL1 in the task table T42. In addition, the file name FN1 is the file name of the input data IND. In addition, the printer identifier u01 and the management identifier m01 are associated with the email address MA1 through the device table T41 ( Figure 2 (A)

[0065] In S220, the CPU 410 of the print server 400 submits information related to the print job to the management server 500. Specifically, the CPU 410 sends data representing the printer identifier u01 and data representing URL1 to the management server 500. In S225, the CPU 510 of the management server 500 uses an XMPP session to send data representing URL1 to the first multifunction peripheral 100A associated with the printer identifier u01. In this way, the data representing URL1 is sent from the print server 400 to the first multifunction peripheral 100A via the management server 500. Therefore, it can be said that in S220, the print server 400 sends the data representing URL1 to the first multifunction peripheral 100A. Furthermore, in S230, the CPU 510 of the management server 500 notifies the print server 400 that the print job submission has been completed.

[0066] In S335, the CPU 110 of the first multifunction peripheral 100A requests print data from the print server 400. This request includes data representing URL1. In this embodiment, the CPU 110 requests the print data represented by URL1. In S340, the CPU 410 of the print server 400 sends the requested print data PD1 to the first multifunction peripheral 100A. The CPU 110 of the first multifunction peripheral 100A stores the received first print data PD1 in the storage device 115 (for example, the non-volatile storage device 130). In S345, the CPU 110 of the first multifunction peripheral 100A controls the print execution unit 160 according to the received print data PD1, thereby causing the print execution unit 160 to print an image corresponding to the print data PD1. In S350, the CPU 110 determines whether an error has occurred that requires interruption of printing based on the print data PD1. An example of such an error is a paper jam. If printing based on the print data PD1 is completed without any error (S350: No), the mail printing process is terminated (furthermore, Figure 3 If an error occurs during printing (S350: Yes), the CPU 110 proceeds to S415 ( Figure 4 ) transfer.

[0067] Figure 4 The figure shows an example of processing when an error occurs. The figure shows each process between the first multifunction peripheral 100A, the print server 400, and the management server 500.

[0068] In S415, the CPU 110 of the first multifunction peripheral 100A determines the error page printing number PN1 (hereinafter, "error page printing number PN1" will be referred to simply as "error number PN1"), which is the page printing number where the error occurred. Here, the page printing number indicates the order of printing. Usually, the page printing number is the same as the page number assigned to the page in the printed matter. In addition, the printing data can be configured to print multiple pages of the printed matter in sequence starting from the last page (such printing is also called reverse printing). In this case, the order of the page printing numbers can be opposite to the order of the page numbers assigned to the pages in the printed matter. In addition, when generating the printing data, the CPU 410 of the printing server 400 can also decide whether to adopt reverse printing based on the model information MD.

[0069] In S420, the CPU 110 of the first multifunction peripheral 100A sends an error notification to the management server 500. The error notification includes data indicating that an error has occurred in the first multifunction peripheral 100A and data indicating an error number PN1. In S425, the CPU 510 of the management server 500 sends an error notification to the print server 400. This error notification also includes data indicating that an error has occurred and data indicating an error number PN1. In this way, the error notification is sent from the first multifunction peripheral 100A to the print server 400 via the management server 500. Therefore, it can be said that in S420, the first multifunction peripheral 100A sends an error notification to the print server 400. In addition, the error notification may also further include data indicating information that specifies the print job (for example, the first location URL1).

[0070] At S430, the CPU 410 of the print server 400 generates print data PD2 for reprinting (hereinafter, the print data PD2 is also referred to as the second print data PD2) using the input data IND. The CPU 410 then stores the generated second print data PD2 in a predetermined storage device (in this embodiment, the non-volatile storage device 430). The second print data PD2 represents the printed product starting from the page with error number PN1.

[0071] Figure 5 1 is an explanatory diagram showing an example of a printed matter represented by the print data PD1 and PD2. The upper portion of the diagram shows a printed matter represented by the first print data PD1. Figure 5 In the example, the first printing data PD1 represents six pages from the first page P1 to the sixth page P6. The printing order is the order of the first page P1 to the sixth page P6. Here, it is assumed that an error occurs in the middle of printing the third page P3. In this case, the printing of the first page P1 and the second page P2 is completed properly, and the printing stops in the middle of the third page P3. The error number PN1 is 3. The printed matter represented by the second printing data PD2 is shown in the lower part of the figure. The second printing data PD2 represents a printed matter consisting of pages after the error number PN1. In Figure 5 In the example, the second print data PD2 represents four pages from the third page P3 to the last sixth page P6.

[0072] In S435( Figure 4 ), the CPU 410 of the print server 400 deletes the information of the print job corresponding to the error from the job table T42. In this embodiment, the job table T42 ( Figure 2 (B) The third information I3 is deleted. Here, the CPU 410 deletes the first print data PD1 from the storage device 415 .

[0073] In S440, the CPU 410 of the print server 400 sends a cancel instruction to the management server 500 for the print job. The cancel instruction includes data identifying the printer to be processed (e.g., printer identifier u01). In S445, the CPU 510 of the management server 500 sends the cancel instruction to the first multifunction peripheral 100A, which is the printer to be processed. In this way, the cancel instruction is sent from the print server 400 to the first multifunction peripheral 100A via the management server 500. Therefore, it can be said that in S440, the print server 400 sends the cancel instruction to the first multifunction peripheral 100A.

[0074] At S450, CPU 110 of first multifunction peripheral 100A cancels the currently executing print job in response to the cancel instruction. Consequently, printing based on first print data PD1 is canceled. Thus, the cancel instructions at S440 and S445 are instructions for canceling printing based on first print data PD1. Furthermore, in this embodiment, CPU 110 deletes first print data PD1 from storage device 115.

[0075] In S455, the error of the first multifunction peripheral 100A is resolved. The error can be resolved by the user. For example, the user can resolve the error by removing the jammed paper from the first multifunction peripheral 100A. Alternatively, the first multifunction peripheral 100A may be equipped with a device for resolving the error. For example, the first multifunction peripheral 100A may be equipped with a device for removing the jammed paper.

[0076] In addition, since the print job is canceled in S450, the CPU 110 does not perform printing based on the first print data PD1 after the error is resolved. Figure 5 In the example of , even when the error is resolved, the CPU 110 does not print the fourth to sixth pages P4 to P6 based on the first print data PD1 .

[0077] In S460( Figure 4 ), the CPU 110 of the first multifunction peripheral 100A transmits an error cancellation notification to the management server 500 based on the error cancellation. At S465, the CPU 510 of the management server 500 transmits the error cancellation notification to the print server 400. In this manner, the error cancellation notification is transmitted from the first multifunction peripheral 100A to the print server 400 via the management server 500. Therefore, it can be said that at S460, the first multifunction peripheral 100A transmits the error cancellation notification to the print server 400.

[0078] In S515, the CPU 410 of the print server 400 stores the job information related to the print job using the second print data PD2 in the job table T42 ( Figure 2 (B)). Figure 2The fourth information I4 in (B) is an example of the job information stored in S515. The processing of S515 is the same as that of S215 (except that the second print data PD2 is used instead of the first print data PD1). Figure 3 ). CPU 410 generates a new job identifier J02 and specifies URL2, which is the URL indicating the location of the second print data PD2. Hereinafter, the specified URL2 will also be referred to as the second location URL2. CPU 410 stores job information I4, including printer identifier u01, management identifier m01, job identifier J02, file name FN1, and URL2, in job table T42. Furthermore, input data IND is common between the original print job and the reprint job. Therefore, the file name FN1 of the reprint job information I4 is the same as the file name FN1 of the original job information I3.

[0079] S520, S525, S530( Figure 4 ) are the same as those in the example above except that the task information I4 for reprinting is used instead of the original task information I3. Figure 3 The steps S220, S225, and S230 are the same as those in S520. In S520, the CPU 410 of the print server 400 submits information related to the print job for reprinting (including data indicating the second location URL2) to the management server 500. In S525, the CPU 510 of the management server 500 sends data indicating the URL2 for reprinting to the first multifunction peripheral 100A. The data indicating the URL2 is sent from the print server 400 to the first multifunction peripheral 100A via the management server 500. Therefore, it can be said that in S520, the print server 400 sends the data indicating the URL2 to the first multifunction peripheral 100A. In addition, in S530, the CPU 510 of the management server 500 notifies the print server 400 that the submission of the printing has been completed.

[0080] S535, S540, and S545 are the same as those in the preceding example except that the URL2 and the second print data PD2 for reprinting are used instead of the original URL1 and the first print data PD1. Figure 3 The steps S335, S340 and S345 of the first multifunction peripheral 100A are the same. In S535, the CPU 110 of the first multifunction peripheral 100A requests the second print data PD2 represented by URL2. In S540, the CPU 410 of the print server 400 sends the requested second print data PD2 to the first multifunction peripheral 100A. In S545, the CPU 110 of the first multifunction peripheral 100A controls the print execution unit 160 based on the received second print data PD2, thereby causing the print execution unit 160 to print the image corresponding to the second print data PD2. Figure 5In this example, four pages, from the third page P3 to the sixth page P6, are printed based on the second print data PD2. Thus, if an error such as a paper jam occurs during the printing of the third page P3, the third page P3 is reprinted based on the second print data PD2, thereby preventing page loss due to errors.

[0081] After the printing based on the second print data PD2 starts, the CPU 110 sends Figure 3 If no error requiring interruption of printing occurs and printing based on the second print data PD2 is completed (S350: No), the mail printing process (furthermore, Figure 3 If an error occurs during printing (S350: Yes), CPU 110 proceeds to S415 ( Figure 4 ) is transferred. In addition, the current printing task is canceled and a new printing task for reprinting is processed. In addition, when printing is completed, the CPU 110 of the first multifunction machine 100A can send a completion notification indicating that printing is completed to the printing server 400 or the management server 500. Then, the CPU 410 of the printing server 400 can delete the information related to the printing task from the storage device 415 based on the completion notification. For example, the CPU 410 deletes the input data IND and the printing data from the storage device 415. In addition, the CPU 410 deletes the input data IND and the printing data from the task table T42 ( Figure 2 (B)) Delete the information of the completed printing task.

[0082] The above describes the processing when the first multifunction peripheral 100A is used. In this embodiment, the same processing is performed when the second multifunction peripheral 100B is used.

[0083] Above, if used Figure 3 、 Figure 4 As described, the print server 400 executes the following processing.

[0084] ( S210 ) Generate first printing data PD1 .

[0085] ( S220 ) The first location data indicating the first location URL1 of the first print data PD1 on the network is transmitted to the first multifunction peripheral 100A.

[0086] ( S340 ) The first print data PD1 is transmitted to the first multifunction peripheral 100A in response to the first data request for the data indicated by the first location data ( URL1 ) from the first multifunction peripheral 100A.

[0087] ( S425 ) An error notification indicating that an error has occurred in the first multifunction peripheral 100A and that printing based on the first print data PD1 needs to be interrupted, and an error number PN1 indicating the print order of the page in which the error occurred are received.

[0088] (S430) In response to the receipt of the error notification, the second print data PD2 for reprinting is generated using the error number PN1.

[0089] (S465) An error elimination notification indicating that the error has been eliminated is received.

[0090] (S520) In response to receiving the error resolution notification, second location data indicating a second location URL2 of the second print data PD2 on the network is transmitted to the server.

[0091] ( S540 ) The second print data PD2 is transmitted to the first multifunction peripheral 100A in response to the second data request from the first multifunction peripheral 100A, the second data request being a request for the data indicated by the second location data ( URL2 ).

[0092] In this manner, upon receiving the error notification, the print server 400 uses the error number PN1 to generate the second print data PD2 for reprinting. Furthermore, upon receiving the error resolution notification, the print server 400 transmits second location data indicating the second location URL2 of the second print data PD2 on the network to the first multifunction peripheral 100A. Therefore, if an error occurs in the first multifunction peripheral 100A, the print server 400 can cause the first multifunction peripheral 100A to perform appropriate printing.

[0093] In addition, the print server 400 performs the following operations in S440 ( Figure 4 ), upon receipt of the error notification, a cancel instruction is sent to the first multifunction peripheral 100A to cancel printing based on the first print data PD1. This prevents printing of pages in the print order following error number PN1 based on the first print data PD1 after the error is resolved.

[0094] In this embodiment, the second print data PD2 includes data of the page with error number PN1. The first multifunction peripheral 100A can print the page with error number PN1 based on the second print data PD2. This prevents missing pages due to errors.

[0095] In this embodiment, the second print data PD2 indicates the pages following the error number PN1. Therefore, the first multifunction peripheral 100A can print the pages following the error number PN1 based on the second print data PD2.

[0096] In addition, if you use Figure 4 As described, the print server 400 performs the following processing. (S430) Upon receiving an error notification, the print server 400 generates second print data PD2 and stores the second print data PD2 in a storage area (in this embodiment, the nonvolatile storage device 430). (S440) Upon receiving an error notification, the print server 400 issues a cancel instruction.

[0097] ( S520 ) When the error resolution notification is received, second position data indicating the second position URL2 of the second print data PD2 in the storage area (in this embodiment, the nonvolatile storage device 430 ) is transmitted.

[0098] Thus, when printing based on the first print data PD1 is canceled, the print server 400 can appropriately perform processing for printing using the second print data PD2. The cancellation instruction may be sent (S440) before starting to generate the second print data PD2 (S430).

[0099] In addition, if you use Figure 1 As described, the print server 400 is connected to the first multifunction peripheral 100A via the Internet IT. The print server 400 can communicate with the management server 500 and the terminal device 200, and the management server 500 can communicate with the first multifunction peripheral 100A. In response to a print instruction (in this embodiment, an email EM) from the terminal device 200, the print server 400 transmits first location data indicating a first location URL1 to the first multifunction peripheral 100A via the management server 500. In this way, the print server 400 can appropriately transmit the first location data to the first multifunction peripheral 100A via the management server 500. Even if, for example, the first multifunction peripheral 100A is protected by a network firewall, the print server 400 can still transmit data to the first multifunction peripheral 100A via the management server 500.

[0100] In addition, if you use Figure 3 、 Figure 4 As described above, the first multifunction peripheral 100A executes the following processing.

[0101] ( S335 ) A first data request for the first print data PD1 indicated by the first location data ( URL1 ) is transmitted to the print server 400 .

[0102] (S420) When an error occurs in the first multifunction peripheral 100A that requires interruption of printing based on the first print data PD1 (S350: Yes), an error notification is sent to the print server 400, which indicates that an error has occurred in the first multifunction peripheral 100A, as well as an error number PN1, which is a number indicating the printing order of the pages where the error occurred.

[0103] (S460) If the error has been resolved, an error resolution notification indicating that the error has been resolved is transmitted to the print server.

[0104] ( S535 ) A second data request for the second print data PD2 indicated by the second location data ( URL2 ) is transmitted to the print server 400 .

[0105] The system 1000 includes the first multifunction peripheral 100A. Furthermore, as described above, the system 1000 includes the print server 400 that executes the processes S210, S220, S340, S425, S430, S465, S520, and S540. Therefore, even if an error occurs in the first multifunction peripheral 100A, the system 1000 can perform appropriate printing. For example, if the second print data PD2 represents one or more images including a page with error number PN1, the system 1000 can appropriately print the page with error number PN1.

[0106] B. Second embodiment:

[0107] Figure 6 、 Figure 7 This is a sequence diagram showing another embodiment of the print service process. Figure 7 Indicates next Figure 6 With Figure 3 、 Figure 4 The difference between the embodiments is that the method of sending print data by the print server 400 is different. Figure 3 S335, S340 and Figure 4 In S535 and S540, the print server 400 receives the data request indicating the URL and transmits the entire print data specified by the URL (hereinafter, this transmission method is referred to as the first transmission method). Figure 6 、 Figure 7 In the embodiment of FIG. 5 , the print server 400 receives a request for an arbitrary portion of the print data and transmits the requested portion of the print data (hereinafter, this transmission method is referred to as a second transmission method).

[0108] In this embodiment, similar to the first embodiment, the printing service is performed using Figure 1System 1000. Print server 400 is capable of executing both the first and second transmission methods. Print server 400 transmits print data according to the transmission method selected by the printer. If the print server is capable of executing both the first and second transmission methods, second multifunction peripheral 100B requests the second transmission method. Figure 6 、 Figure 7 An example of processing when the second multifunction peripheral 100B is used for printing is shown. Figure 6 、 Figure 7 The following table shows the processes between the terminal device 200, the second multifunction peripheral 100B, the print server 400, and the management server 500. Hereinafter, the elements of the second multifunction peripheral 100B are referred to using the same reference numerals as the corresponding elements of the first multifunction peripheral 100A. For example, the CPU of the second multifunction peripheral 100B is referred to as CPU 110.

[0109] In S110a, the second multifunction device 100B establishes an XMPP session with the management server 500. The processing of S110a is the same as Figure 3 The S110 handles the same. Figure 2 (A) second information I2 and Figure 2 The seventh information I7 in (C) is an example of information associated with the second multifunction peripheral 100B stored in S110a. The printer identifier UID is "u02," the management identifier MID is "m02," the email address MA is "MA2," the model information MD is "MD2," and the access token ATK is "ATK2."

[0110] In S120a( Figure 6 ), the terminal device 200 sends an e-mail EMa to the print server 400. S120a and Figure 3 The only difference between S120 and S120 is that in S120a, the user does not specify the first multifunction machine 100A but specifies the second multifunction machine 100B. Figure 3 The only difference between the e-mail EM is that the destination of the e-mail EMa is not the mail address MA1 but the mail address MA2 for the second multifunction peripheral 100B.

[0111] The processing of S130a to S215a is respectively Figure 3The processes of S130 to S215 are performed similarly. In S130a, the CPU 410 of the print server 400 identifies the management identifier m02 associated with the email address MA2 and requests the model information MD associated with the management identifier m02 from the management server 500. In S140a, the CPU 510 of the management server 500 transmits data representing the model information MD2 associated with the management identifier m02 to the print server 400. In S210a, the CPU 410 of the print server 400 generates print data PD3 (hereinafter, the print data PD3 will also be referred to as the third print data PD3) that conforms to the model information MD2. The CPU 410 stores the generated third print data PD3 in a storage device (in this embodiment, the non-volatile storage device 430).

[0112] In S215a, the CPU 410 stores the job information related to the print job using the third print data PD3 in the job table T42 ( Figure 2 (B)). Figure 2 The fifth information I5 in (B) is an example of information stored in S215a. The CPU 410 generates a new job identifier J03 and identifies URL3, which is the URL indicating the location of the third print data PD3. Hereinafter, the identified URL3 will also be referred to as the third location URL3. The CPU 410 stores the job information I5, which includes the printer identifier u02, the management identifier m02, the job identifier J03, the file name FN2, and URL3, in the job table T42. The file name FN2 is the file name of the input data (here, the input data IND).

[0113] In S220a( Figure 6 ), the CPU 410 of the print server 400 submits information related to the print job to the management server 500. In this embodiment, the CPU 410 transmits data indicating the printer identifier u02 and the URL 3 to the management server 500, as well as data indicating function information FI. The function information FI indicates the transmission methods available to the print server 400. In this embodiment, the function information FI indicates that both the first and second transmission methods are available.

[0114] In S225a( Figure 7 ), the CPU 510 of the management server 500 uses the XMPP session to send data indicating URL3 and data indicating function information FI to the second multifunction peripheral 100B associated with the printer identifier u02. In this way, the data indicating URL3 is sent from the print server 400 to the second multifunction peripheral 100B via the management server 500. Therefore, it can be said that in S220a ( Figure 6), the print server 400 transmits data indicating URL 3 to the second multifunction peripheral 100B. In addition, in S230, the CPU 510 of the management server 500 notifies the print server 400 that the request for printing has been completed.

[0115] In S610, the CPU 110 of the second multifunction peripheral 100B refers to the function information FI to determine whether the second transmission method can be used. If the second transmission method cannot be used (S610: No), the CPU 110 returns to S335 ( Figure 3 ) transfer. Then, with Figure 3 、 Figure 4 The mail printing process is performed in the same manner as in the embodiment.

[0116] In this embodiment, the second transmission method can be used (S610: Yes). In this case, CPU 110 acquires the entire third print data PD3 by repeatedly requesting portions of the third print data PD3. CPU 110 acquires the third print data PD3 piece by piece, starting from the beginning. At S615, CPU 110 of second multifunction peripheral 100B determines portion identification information 50. Portion identification information 50 indicates target portion data, which is the portion of the print data to be acquired through the next data request. At least a portion of the unprinted portion of the third print data PD3 is used as the target portion data.

[0117] The form of the partial identification information 50 can be any form. In the present embodiment, the partial identification information 50 is composed of an offset OFS and a length LEN. The offset OFS indicates the starting position of the object partial data within the print data, and the length LEN indicates the data length of the object partial data. The units of the offset OFS and the length LEN are, for example, bytes. In the present embodiment, the CPU 110 sets the length LEN to a predetermined value. In addition, the CPU 110 sets the offset OFS to the position of the portion of the unacquired portion of the print data that is closest to the beginning of the print data. For example, the offset OFS for the first data request is set to "1 (i.e., the beginning of the print data)". The offset OFS for the second data request is set to "1+LEN". In addition, the length LEN can be a variable value. For example, the CPU 110 can adjust the length LEN based on other parameters (e.g., the size of the third print data PD3).

[0118] At S620, CPU 110 requests the target partial data from print server 400. This request includes data indicating URL 3 and data indicating portion identification information 50 (in this embodiment, offset OFS and length LEN). At S625, CPU 410 of print server 400 transmits the target partial data PDP, identified by portion identification information 50, within the third print data PD3 identified by URL 3 to second multifunction peripheral 100B. CPU 110 of second multifunction peripheral 100B stores the received target partial data PDP in storage device 115 (e.g., nonvolatile storage device 130).

[0119] In S630 , the CPU 110 of the second multifunction peripheral 100B controls the print execution unit 160 based on the received target partial data PDP, thereby causing the print execution unit 160 to print an image corresponding to the target partial data PDP.

[0120] In S635, CPU 110 determines whether an error has occurred that requires interrupting printing based on the target partial data PDP. If no error has occurred and printing based on the target partial data PDP is complete (S635: No), CPU 110 determines in S655 whether printing of the entire third print data PD3 is complete. The determination method in S655 may be arbitrary. For example, end data indicating the end of the print data may be provided at the end of the third print data PD3. If end data is detected from the printed target partial data PDP, CPU 110 can determine that printing of the entire third print data PD3 is complete. Alternatively, CPU 110 may inquire of the print server 400 about the data size of the third print data PD3. If the total size of one or more printed target partial data PDPs (excluding duplicates) is the same as the data size of the third print data PD3, CPU 110 can determine that printing of the entire third print data PD3 is complete.

[0121] If the entire printing of the third print data PD3 has been completed (S655: Yes), the mail printing process (further, Figure 6 、 Figure 7 Furthermore, when printing is complete, the CPU 110 of the second multifunction peripheral 100B may send a completion notification to the print server 400 or the management server 500 indicating that printing has been completed. The CPU 410 of the print server 400 may then delete information related to the print job from the storage device 415 in response to the completion notification.

[0122] If an unprocessed portion still remains in the third print data PD3 ( S655 : NO), the CPU 110 of the second multifunction peripheral 100B proceeds to S615 and executes processing for the next target partial data PDP.

[0123] Figure 8 This diagram illustrates an example of the relationship between the third print data PD3, the target partial data PDP, and pages. In the diagram, the third print data PD3 is represented by a rectangle. The left end of the rectangle indicates the beginning, and the right end indicates the end. As shown in the diagram, within the third print data PD3, the data for pages 1 through 6, P6, are arranged sequentially from the beginning to the end of the third print data PD3. The start positions DSP1 through DSP6 indicate the start positions of the data for pages 1 through 6, P6, respectively. The end positions DEP1 through DEP6 indicate the end positions of the data for pages 1 through 6, P6, respectively.

[0124] In the figure, it is shown that the data request ( Figure 7 :S620) obtains multiple object partial data PDP1-PDP4. The number after "PDP" in the symbol represents the order in which the object partial data PDP is obtained. The first object partial data PDP1 is the data obtained according to the first data request, and the second object partial data PDP2 is the data obtained according to the second data request. Figure 8 In this example, the first target partial data PDP1 represents the portion from the beginning to the middle of the first page P1. The second target partial data PDP2 represents the portion from the middle of the first page P1 to the middle of the second page P2. Here, it is assumed that an error Err occurs during the printing of the second page P2 based on the second target partial data PDP2.

[0125] If an error occurs that requires interruption of printing ( Figure 7 : S635: Yes), in S640, the error of the second multifunction device 100B is eliminated. Figure 4 The S455 is carried out in the same manner.

[0126] In S645( Figure 7 ), the CPU 110 of the second multifunction peripheral 100B determines the start position DSP of the data of the page where the error occurred. Figure 8 When the error Err occurs in printing the second page P2, the CPU 110 uses the second start position DSP2 of the second page P2. The CPU 110 can identify the start position DSP of the data of the page where the error occurred by analyzing the acquired target partial data.

[0127] In S650( Figure 7), the CPU 110 determines the portion determination information 50. In this embodiment, the offset OFS is determined to be the start position DSP determined in S645. Figure 8 In the example of , the offset OFS is determined to be the second start position DSP2. In addition, the CPU 110 determines the length LEN (in this embodiment, the length LEN is determined to be a predetermined value).

[0128] After S650, the CPU 110 proceeds to S620. Then, the target partial data PDP is acquired based on the new portion identification information 50 (S620, S625) and printed based on the target partial data PDP (S630). Figure 8 In the example of FIG, an error Err occurs in the printing of the second page P2 based on the second target partial data PDP2. After the occurrence of the error Err, in S650 ( Figure 7 ), the offset OFS is determined to be the second starting position DSP2. Therefore, the third target partial data PDP3 acquired by the third data request starts from the beginning of the second page P2 (in addition, Figure 8 In the example, the third target partial data PDP3 represents the portion from the beginning to the middle of the second page P2). Thereafter, until printing is completed, the CPU 110 repeats the acquisition of the target partial data PDP (S620, S625) and the printing based on the target partial data PDP (S630). Figure 8 In this example, the fourth target partial data PDP4 represents the remaining portion of the second page P2 and a portion of the third page P3. The second page P2 is printed based on the target partial data PDP3 and PDP4. In this way, if an error such as a paper jam occurs during the printing of the second page P2, the second page P2 can be reprinted based on one or more target partial data PDPs including the third target partial data PDP3, thereby preventing page loss due to errors. Alternatively, the third target partial data PDP3 can represent the entire second page P2.

[0129] The above describes the process when the second multifunction peripheral 100B is used. Even if the print server can use both the first and second transmission methods, the first multifunction peripheral 100A requests the first transmission method. For example, when S225a ( Figure 7 ), when receiving the location data (URL) from the management server 500, the CPU 110 of the first multifunction peripheral 100A may send a request to S335 ( Figure 3 ) transfer.

[0130] As described above, in this embodiment, the print server 400 can use a second sending method different from the first sending method in addition to the first sending method. Figure 4), the print server 400 transmits the print data to the first multifunction peripheral 100A using the first transmission method. Figure 3 ) is also the same. In addition, in S625 ( Figure 7 ), the print server 400 transmits print data to the second multifunction peripheral 100B using the second transmission method. In this way, the print server 400 can transmit print data to the first multifunction peripheral 100A and the second multifunction peripheral 100B using different transmission methods.

[0131] The second sending method is a method of sending a requested arbitrary portion of the print data. Figure 7 ), the print server 400 transmits the portion of the third print data PD3 requested by the second multifunction peripheral 100B to the second multifunction peripheral 100B. Therefore, the print server 400 can utilize the portion of the third print data PD3 requested by the second multifunction peripheral 100B as the data to be transmitted. Even if an error occurs during printing, the generation of print data for reprinting can be omitted.

[0132] In addition, if you use Figure 6 、 Figure 7 As described, the print server 400 and the second multifunction peripheral 100B execute the following processing.

[0133] ( S210 a ) The print server 400 generates third print data PD3 .

[0134] ( S220 a ) The print server 400 transmits third location data indicating the third location URL3 of the third print data PD3 on the network to the second multifunction peripheral 100B.

[0135] (S620) The second multifunction peripheral 100B transmits a third data request to the print server 400. The third data request is a request for the target partial data PDP2, which is at least a portion of the unprinted portion of the third print data PD3 indicated by the third location data (URL3).

[0136] ( S625 ) The print server 400 transmits the target partial data PDP2 in the third print data PD3 to the second multifunction peripheral 100B in response to the third data request from the second multifunction peripheral 100B.

[0137] (S645, S650) When an error occurs in the second multifunction peripheral 100B that requires interruption of printing based on the target partial data PDP2, the second multifunction peripheral 100B uses the page where the error occurred to identify the target partial data PDP3 that is to be requested next.

[0138] ( S620 ) The second multifunction peripheral 100B transmits a fourth data request to the print server 400 . The fourth data request is a request for the target partial data ( PDP3 ) in the third print data PD3 .

[0139] ( S625 ) The print server 400 transmits the target partial data PDP3 in the third print data PD3 to the second multifunction peripheral 100B in response to the fourth data request from the second multifunction peripheral 100B.

[0140] In this way, the print server 400 can use the portion of the third print data PD3 requested by the second multifunction peripheral 100B as data to be transmitted. Even if an error occurs during printing, generation of print data for reprinting can be omitted.

[0141] Furthermore, if a printing error occurs, the second multifunction peripheral 100B uses the portion of the third print data PD3 starting from the data position corresponding to the beginning of the page where the error occurred as the target partial data to be requested next. Figure 8 In the example, the third target partial data PDP3 is used, and the third target partial data PDP3 starts from the second start position DSP2 of the second page P2. Therefore, the second multifunction peripheral 100B can properly print the page where the error occurred.

[0142] C. Third embodiment:

[0143] Figure 9 1 is a flowchart showing another embodiment of the process of printing service. In this embodiment, Figure 9 The processing of S426 to S428 shown is inserted into Figure 4 In this embodiment, the printing service is used to Figure 1 System 1000. Here, it is assumed that the printing mode of the first multifunction peripheral 100A can be selected from "single-sided printing" and "double-sided printing". "Single-sided printing" is a printing method that prints an image only on one side of a paper. "Double-sided printing" is a printing method that prints an image on both one side and the opposite side of a paper. The print execution unit 160 of the first multifunction peripheral 100A is configured to be able to execute "single-sided printing" and "double-sided printing". Figure 3 In S120, the user selects a print mode. The CPU 210 of the terminal device 200 sends an e-mail EM containing data indicating the selected print mode to the print server 400. Figure 4), the CPU 410 of the print server 400 generates print data suitable for the print mode. The print data includes data indicating whether to print by "single-sided printing" or "double-sided printing". In the event of an error, the CPU 410 executes Figure 9 The first page of the print data for reprinting is adjusted according to the print mode.

[0144] At S426, CPU 410 determines whether the first print data PD1 is data for duplex printing. In this embodiment, when the print mode is "duplex printing," CPU 410 determines that the first print data PD1 is data for duplex printing. Alternatively, the determination method may be any other method. For example, CPU 410 may analyze the first print data PD1 to determine whether the first print data PD1 is data for duplex printing.

[0145] If the first print data PD1 is data for single-sided printing ( S426 : NO), the CPU 410 proceeds to S430 . The processing in this case is the same as that of the first embodiment.

[0146] If the first print data PD1 is for duplex printing (S426: YES), then in S427, the CPU 410 determines whether the error number PN1 is an even number. If the error number PN1 is an even number (S427: YES), in S428, the CPU 410 decrements 1 from the error number PN1 and then proceeds to S430.

[0147] Figure 10 This is an explanatory diagram showing an example of a printed matter represented by print data PD1 and PD2. Here, the print mode is set to "double-sided printing". In the upper part of the figure, a printed matter represented by the first print data PD1 is shown. The first print data PD1 represents six pages from the first page P1 to the sixth page P6. The first page P1 is printed on the front of the first paper SH1, and the second page P2 is printed on the back of the same first paper SH1. The third page P3 is printed on the front of the second paper SH2, and the fourth page P4 is printed on the back of the same second paper SH2. Similarly, it is assumed that the fifth page P5 and the sixth page P6 are printed on the same paper. Here, it is assumed that an error occurs in the middle of printing the fourth page P4. In this case, the second paper SH2 is defective. In order to eliminate the error, the second paper SH2 can be removed. In addition, in S425 ( Figure 9 ) is "4". In S427, CPU 410 determines that error number PN1 is an even number (S427: Yes), and in S428, CPU 410 subtracts 1 from error number PN1. The adjusted error number PN1 is "3". In this case, in S430 ( Figure 4), the CPU 410 generates second print data PD2 representing the printed material starting from the third page P3 based on the adjusted error number PN1 (=3).

[0148] exist Figure 10 The lower part of shows the printed matter represented by the second printing data PD2. The second printing data PD2 represents the printed matter consisting of the pages following the error number PN1 after the adjustment. Figure 10 In the example of , the second printing data PD2 represents four pages from the third page P3 to the last sixth page P6. Figure 4 In S545, the first multifunction peripheral 100A prints based on the second print data PD2. Figure 10 As shown, the third page P3 is printed on the front of a new third sheet of paper SH3, and the fourth page P4 is printed on the back of the same third sheet of paper SH3. The fifth page P5 is printed on the front of the fourth sheet of paper SH4, and the sixth page P6 is printed on the back of the same fourth sheet of paper SH4. This maintains the proper combination of pages on the front and back of a sheet of paper. If error number PN1 is not adjusted, the second print data PD2 indicates a print starting with the fourth page P4. In this case, the fourth page P4 and the fifth page P5 are printed on the same sheet of paper. This combination of pages is unintended. In this embodiment, such unintended combinations are suppressed.

[0149] If the error number PN1 notified in S425 is an odd number (S427: No), the CPU 410 does not adjust the error number PN1 and moves to S430. For example, if the error number PN1 is "3", in S430 ( Figure 4 ), the CPU 410 generates second print data PD2 representing the printed material starting from the third page P3 based on the error number PN1 (=3). In this case, the proper combination of the front and back pages of a sheet of paper is also maintained.

[0150] As described above, in this embodiment, the print server 400 executes the following processing to generate the print data PD2 for reprinting.

[0151] ( S426 , S427 ) When the first print data PD1 is data for double-sided printing, it is determined whether the error page print number PN1 is an even number.

[0152] ( S428 , S430 ) When the error page print number PN1 is an even number, the second print data PD2 is generated. The second print data PD2 indicates the printed matter starting from the page in the print order immediately before the error page print number PN1 .

[0153] Thus, the print server 400 can prevent an erroneous combination of the front page and the back page from being printed on the same print medium.

[0154] also, Figure 9 The processing can also be applied to Figure 6 、 Figure 7 Example of .

[0155] D. Modification:

[0156] (1) Errors that require interruption of printing are not limited to paper jams, but may include various other errors such as insufficient printing material.

[0157] (2) The print data for reprinting used when an error occurs may be various data prepared using the error number PN1. For example, Figure 4 In this embodiment, the second print data PD2 for reprinting generated in S430 preferably represents at least the page with error number PN1. This prevents missing pages with error number PN1. Furthermore, the second print data PD2 preferably represents the page with error number PN1 and all unprinted pages. In other words, the second print data PD2 preferably represents all pages with page print numbers subsequent to error number PN1. This allows for proper printing even in the event of an error.

[0158] In addition, Figure 7 In this embodiment, after the error is corrected, at least one or more target partial data PDPs representing the page with error number PN1 are preferably used for printing. This prevents the page with error number PN1 from being lost. Furthermore, after the error is corrected, at least one or more target partial data PDPs representing the page with error number PN1 and all unprinted pages are preferably used for printing. This allows for proper printing even in the event of an error.

[0159] (3) Printing process is not limited to Figure 3 、 Figure 4 Processing, Figure 6 、 Figure 7 The processing and Figure 9 The processing can be other processing. For example, Figure 3 、 Figure 4 In the embodiment of the present invention, when an error occurs, the CPU 110 of the first multifunction peripheral 100A can cancel printing even without an external cancellation instruction. In this case, even when the error has been eliminated, it is preferable that the CPU 110 of the first multifunction peripheral 100A sends an error elimination notification ( Figure 4 : S460) Thus, after the error is resolved, the print server 400 can provide the second print data PD2 to the first multifunction peripheral 100A.

[0160] In addition, Figure 6 、 Figure 7 In the embodiment of the present invention, the printing mode of the second multifunction machine 100B can be selected from "single-sided printing" and "double-sided printing". Figure 7 ), the CPU 110 of the second multifunction peripheral 100B may adjust the portion identification information 50 according to the printing mode. For example, when the page print number of the page where the error occurred is an even number, the CPU 110 may determine the offset OFS to be the start position DSP of the page in the printing sequence immediately preceding the page where the error occurred. Figure 10 Similarly to the embodiment, the print server 400 can prevent an erroneous combination of a front page and a back page from being printed on the same print medium. If the page print number of the page where the error occurred is an odd number, the CPU 110 can determine the offset OFS as the start position DSP of the page where the error occurred.

[0161] In addition, Figure 6 、 Figure 7 In this embodiment, print server 400 can determine whether to use the second sending method. For example, CPU 410 of print server 400 can inquire with the printer whether it can send a data request suitable for the second sending method. If the printer can send a data request suitable for the second sending method, it will accept the data request suitable for the second sending method. If the printer cannot send a data request suitable for the second sending method, it will accept the data request suitable for the first sending method. Alternatively, CPU 410 of print server 400 can send print data to the printer using a sending method pre-assigned to the printer's model information MD.

[0162] (4) Instead of using email, any other method may be used to send a print instruction including image data to the print server 400. For example, the print server 400 may provide an API (Application Programming Interface) for receiving print instructions. The terminal device 200 may use this API to send the print instruction.

[0163] (5) The method of acquiring print data from the print server 400 can use any other method instead of the method using the URL. For example, the print server 400 can provide an API for sending print data. The printer can use this API to acquire the print data.

[0164] (6) The structure of the printer for printing may be replaced with various other structures of the multifunction device 100 ( Figure 1) structure. For example, the reading execution unit 170 can be omitted. That is, the printer can be a single-function printing device. In addition, the printing medium used for printing is not limited to paper, and can be various sheets such as resin sheets.

[0165] (7) The structure of the printing server can be replaced by various other structures Figure 1 For example, a plurality of devices (e.g., computers) that can communicate with each other via a network may provide the functions of the print server 400 as a whole. In this case, a system having these plurality of devices corresponds to the print server. For example, a first device may generate print data, and a second device may send the print data. In addition, the structure of the management server may be replaced by various other structures. Figure 1 The management server 500 may be configured as a single server. For example, multiple devices (e.g., computers) that can communicate with each other via a network may collectively provide the functions of the management server 500. In this case, the system comprising these multiple devices corresponds to the management server. Alternatively, a single server device may provide both the functions of the print server 400 and the functions of the management server 500. In this case, communication between the print server 400 and the management server 500 is omitted.

[0166] In the above embodiments, a part of the structure implemented by hardware can be replaced by software, and conversely, a part or all of the structure implemented by software can be replaced by hardware. For example, a dedicated hardware circuit can be used to implement Figure 3 S210 has the function of generating printing data.

[0167] In addition, when a part or all of the functions of the present invention are implemented by a computer program, the program can be provided in the form of a storage medium (e.g., a non-transitory storage medium) that can be read by a computer. The program can be used while stored in the same or different storage medium (computer-readable storage medium) as when it was provided. "Computer-readable storage medium" is not limited to portable storage media such as memory cards and CD-ROMs, but can also include internal storage devices in the computer such as various ROMs and external storage devices connected to the computer such as hard disk drives.

[0168] The present invention has been described above based on the embodiments and modifications, but the embodiments of the invention described above are for easy understanding of the present invention and do not limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and equivalents thereof are also included in the present invention.

Claims

1. A printing server, characterized in that: have: a first printing data generating unit configured to generate first printing data; a first position data transmitting unit configured to transmit first position data indicating a position of the first print data on a network to the first printer; a first print data transmitting unit configured to transmit the first print data to the first printer in response to a first data request from the first printer, the first data request being a request for the data indicated by the first position data; an error notification receiving unit configured to receive an error notification indicating that an error has occurred in the first printer, requiring interruption of printing based on the first print data, and indicating a first error page print number, the first error page print number being a number indicating a print order of a page in which the error has occurred; a second print data generating unit configured to generate second print data for reprinting using the first error page print number in response to receipt of the error notification; an error cancellation notification receiving unit configured to receive an error cancellation notification indicating that the error has been cancelled; a second position data transmitting unit configured to transmit second position data indicating a position of the second print data on the network to the first printer in response to receipt of the error resolution notification; as well as A second print data transmitting unit transmits the second print data to the first printer in response to a second data request from the first printer, the second data request being a request for the data indicated by the second position data.

2. The printing server according to claim 1, wherein: The printer further includes a cancel instruction sending unit configured to send a cancel instruction to the first printer in response to receipt of the error notification, the cancel instruction for canceling printing based on the first print data.

3. The printing server according to claim 2, wherein: When the error notification is received, the second print data generating unit generates the second print data and stores the second print data in a storage area. When the error notification is received, the cancellation instruction sending unit sends the cancellation instruction. Upon receiving the error resolution notification, the second position data transmitting unit transmits the second position data indicating the position of the second print data on the storage area.

4. The print server according to any one of claims 1 to 3, wherein: The second print data transmitting unit transmits the second print data according to a first transmitting method. The print server includes a third print data transmission unit that transmits print data to a second printer using a second transmission method different from the first transmission method.

5. The printing server according to claim 4, wherein: The second transmission method is a method of transmitting a requested arbitrary portion of the print data. The third print data transmission unit transmits a portion of the print data requested by the second printer to the second printer.

6. The printing server according to claim 1, wherein: When the first print data is data for double-sided printing, the second print data generating unit determines whether the first error page print number is an even number. When the first error page print number is an even number, the second print data generating unit generates the second print data representing a printed product starting from a page in the print order immediately preceding the first error page print number.

7. The printing server according to claim 1, wherein: The printing server is connected to the first printer via the Internet. The print server is capable of communicating with a management server and a terminal device, and the management server is capable of communicating with the first printer. The first position data transmitting unit transmits the first position data to the first printer via the management server in response to a print instruction from the terminal device.

8. A printing system comprising a print server and a first printer, wherein: The printing server comprises: a first print data generating unit that generates first print data; and a first position data transmitting unit configured to transmit first position data indicating a position of the first print data on a network to the first printer; The first printer includes a first data request sending unit that sends a first data request to the print server, the first data request being a request for data indicated by the first position data. The print server includes a first print data sending unit that sends the first print data to the first printer in response to the first data request from the first printer. The first printer includes an error notification sending unit. When an error occurs in the first printer and printing based on the first print data needs to be interrupted, the error notification sending unit sends an error notification to the print server. The error notification indicates that the error has occurred in the first printer and indicates a first error page print number. The first error page print number is a number indicating the printing order of the page where the error occurred. The printing server comprises: an error notification receiving unit configured to receive the error notification; as well as a second print data generating unit for generating second print data for reprinting using the first error page print number in response to receipt of the error notification; The first printer includes an error cancellation notification sending unit that sends an error cancellation notification to the print server when the error has been cancelled. The printing server comprises: an error cancellation notification receiving unit that receives the error cancellation notification; and a second position data transmitting unit configured to transmit second position data indicating a position of the second print data on the network to the first printer in response to receipt of the error resolution notification; The first printer includes a second data request sending unit that sends a second data request to the print server, the second data request being a request for data represented by the second position data. The print server includes a second print data transmission unit that transmits the second print data to the first printer in response to the second data request from the first printer.

9. The printing system according to claim 8, wherein: Also equipped with a second printer, The printing server comprises: a third print data generating unit that generates third print data; and a third position data transmitting unit configured to transmit third position data indicating a position of the third print data on the network to the second printer; The second printer includes a third data request sending unit that sends a third data request to the print server, the third data request being a request for unacquired first target partial data in the data represented by the third position data, the first target partial data being at least a portion of the portion that was not printed due to the unacquired portion. The print server includes a third print data sending unit that sends the first target partial data in the third print data to the second printer in response to the third data request from the second printer. The second printer includes: a target portion specifying unit that, when an error occurs in the second printer and requires interruption of printing based on the first target partial data, specifies second target partial data as target partial data to be requested next using the page where the error occurred; as well as a fourth data request sending unit configured to send a fourth data request to the print server, the fourth data request being a request for the second target partial data in the third print data; The print server includes a fourth print data transmission unit that transmits the second target partial data in the third print data to the second printer in response to the fourth data request from the second printer.

10. A storage medium capable of being read by a computer and storing a computer program for a print server, characterized in that: The computer program enables the computer to implement the following functions: a first printing data generating function for generating first printing data; a first position data sending function for sending first position data to a first printer, the first position data being position data indicating a position of the first print data on a network; a first print data sending function for sending the first print data to the first printer in response to a first data request from the first printer, the first data request being a request for data indicated by the first position data; an error notification receiving function for receiving an error notification indicating that an error has occurred in the first printer requiring interruption of printing based on the first print data, and the error notification indicating a first error page print number, the first error page print number being a number indicating the print order of the page in which the error has occurred; a second print data generating function for generating second print data for reprinting using the first error page print number in response to receipt of the error notification; an error cancellation notification receiving function for receiving an error cancellation notification indicating that the error has been cancelled; a second position data transmission function for transmitting second position data indicating a position of the second print data on the network to the first printer in response to receipt of the error resolution notification; as well as A second print data sending function is configured to send the second print data to the first printer in response to a second data request from the first printer, the second data request being a request for the data indicated by the second position data.

Citation Information

Patent Citations

  • Printer

    JP1995232460A

  • Print control apparatus, print control system, print apparatus and print control method

    CN101290560A

  • Printhead data error detection and response

    CN107077307A