Communication device
The communication device addresses the challenge of data inclusion restrictions in cloud-server communication by using storage and output location information to access and output data separately, allowing for effective execution of processing instructions.
Patent Information
- Application Number
- JP2023185610
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-30
- Publication Date
- 2025-05-14
AI Technical Summary
Existing communication systems face limitations when sending instructions from a cloud server to communication devices, as they cannot include all necessary data for processing due to restrictions on large data or complex commands.
The communication device is designed to receive instructions from a cloud server that include storage location information, allowing it to access and acquire input data separately, and also include output location information for outputting data generated during processing.
This solution enables communication devices to execute processing instructions from cloud servers without data inclusion restrictions, facilitating the handling of large data or complex commands by separating input and output data operations.
Smart Images

Figure 2025074651000001_ABST
Abstract
Description
[Technical field]
[0001] The technical field disclosed in this specification relates to a communication device capable of executing processing in accordance with instructions from a cloud server. [Background technology]
[0002] There is known a system that remotely manages a communication device capable of executing a process according to an instruction from a cloud server. For example, Patent Document 1 discloses a configuration in which a monitoring device serving as a server collects information on an image forming device via a network and displays the collected information on a screen of a client PC connected to the monitoring device. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2012-48567 A Summary of the Invention [Problem to be solved by the invention]
[0004] When a cloud server sends instructions to a communication device to be managed and the communication device executes processing in accordance with those instructions, it is conceivable that there may be cases where the instruction or the response to that instruction cannot include all of the data required to execute the processing in accordance with those instructions. [Means for solving the problem]
[0005] A communications device made for the purpose of solving this problem is a communications device that is capable of executing processing in accordance with instructions received from a cloud server, wherein the instructions can include storage location information indicating a storage location in which input data required for the processing in accordance with the instructions is stored, and when the instructions received from the cloud server include the storage location information, the communications device is configured to access the storage location indicated in the storage location information, obtain the input data from the storage location, and execute the processing in accordance with the instructions received from the cloud server using the input data obtained from the storage location.
[0006] When an instruction from a cloud server includes storage location information indicating a storage location of input data, the communication device disclosed in this specification accesses the storage location to acquire the input data, and executes processing according to the instruction from the cloud server using the input data. In other words, even in a case where a communication from a cloud server to a communication device limits the transfer of large data or complex commands, for example, and the input data cannot be included in the instruction, the communication device can acquire the input data separately from the instruction. Therefore, when the communication device receives an instruction from a cloud server, the acquisition of input data is less likely to be limited by the communication.
[0007] A communication device made for the purpose of solving this problem is a communication device that is capable of executing processing in accordance with instructions received from a cloud server, wherein the instructions from the cloud server can include output location information indicating an output location of output data generated as a result of the processing in accordance with the instructions, and when the instructions received from the cloud server include the output location information, the communication device may be configured to execute the processing in accordance with the instructions received from the cloud server, access the output location indicated in the output location information, and output the output data generated as a result of the processing in accordance with the instructions to the output location.
[0008] When an instruction from a cloud server includes output location information indicating an output location of output data, the communication device disclosed in this specification accesses the output location and outputs the output data generated in accordance with the execution of a process according to the instruction. In other words, even in a case where the transfer of large data or complex commands is restricted and the output data cannot be included in the response to the instruction, the communication device can output the output data separately from the response. Therefore, when responding to an instruction received from a cloud server, the communication device is less likely to be restricted by communication regarding the output of the output data.
[0009] A program executed by the above-mentioned communication device, a computer-readable storage medium storing the program, a management system including the above-mentioned communication device, and a management method using the management system are also novel and useful. Effect of the Invention
[0010] The technology disclosed in this specification realizes a new technology for a communications device capable of executing processing in accordance with instructions from a cloud server, and for transferring data for executing the processing in accordance with the instructions between the communications device and the cloud server. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is an explanatory diagram showing an overview of a management system according to an embodiment of the present invention; [Diagram 2] FIG. 2 is an explanatory diagram showing a schematic configuration of each device included in the management system. [Diagram 3] FIG. 11 is a sequence diagram illustrating an example of a management procedure. [Figure 4] 13 is a flowchart showing a procedure for creating instruction information. [Diagram 5] 11 is a table showing the relationship between the type of instruction and input data and output data. [Figure 6] FIG. 11 is an explanatory diagram showing an example of instruction information for PJL command processing. [Figure 7]FIG. 13 is an explanatory diagram showing an example of instruction information for batch setting import / export. [Figure 8] 13 is a flowchart showing a procedure for an instruction execution process. [Figure 9] 13 is a flowchart showing a procedure of an instruction process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, an embodiment of a management system including a communication device will be described in detail with reference to the accompanying drawings. This specification discloses a management system for managing a multifunction peripheral (hereinafter, referred to as "MFP") having a printing function.
[0013] 1, the management system 100 of this embodiment is configured by combining a client-side device 200 provided in a client that uses an MFP, and a cloud-side device 300 provided on the cloud. The management system 100 is a system for a client-side administrator who uses the client-side device 200 to manage the MFP as a management target.
[0014] The client-side device 200 includes a plurality of MFPs 1 to be managed and a personal computer (hereinafter, referred to as a "client PC") 2 used by an administrator. Each MFP 1 is an example of a communication device and an example of a printer. The client PC 2 is disposed, for example, in the client's head office, and each MFP 1 is disposed in each of the client's branches. The client PC 2 may be disposed, for example, in the office of a system manager or the office of a vendor of the MFP 1. The client PC 2 is used for managing the MFP 1, and may be called, for example, a management PC. The client PC 2 is not limited to a PC, and may be a mobile terminal such as a smartphone or a tablet computer. The client-side device 200 may include a plurality of client PCs 2. A plurality of MFPs 1 may be disposed in each of the branches.
[0015] The multiple MFPs 1 may be the same model or different models. Each MFP 1 has its own unique identification information. An administrator who uses the client PC 2 can use the identification information of each MFP 1 to identify the MFP 1 to be managed.
[0016] 2, each client-side MFP 1 included in management system 100 includes a controller 10 including a CPU 11 and a memory 12. MFP 1 also includes a user interface (hereinafter referred to as “user IF”) 13, a communication interface (hereinafter referred to as “communication IF”) 14, a print engine 15, and a scanner 16, which are electrically connected to the controller 10.
[0017] The CPU 11 executes various processes according to the programs read from the memory 12 and based on the user's operation. As shown in Fig. 2, the memory 12 stores various programs including firmware 21 and an instruction processing program 22, a setting value group 23 including various setting values related to the operation of the MFP 1, and various data including a printer icon 24 indicating the MFP 1. The memory 12 is also used as a work area when various processes are executed. A buffer provided in the CPU 11 is also an example of the memory 12. The programs and data will be described in detail later.
[0018] An example of memory 12 is not limited to a ROM, RAM, HDD, etc. built into MFP 1, but may be a storage medium that is readable and writable by CPU 11. A computer-readable storage medium is a non-transitory medium. In addition to the above examples, non-transitory media also include recording media such as CD-ROM and DVD-ROM. A non-transitory medium is also a tangible medium. On the other hand, an electrical signal that carries a program downloaded from a server on the Internet is a computer-readable signal medium, which is a type of computer-readable medium, but is not included in non-transitory computer-readable storage media.
[0019] The user IF 13 includes hardware for displaying a screen for notifying the user of information and hardware for accepting operations by the user. The user IF 13 may include a touch panel having a screen display function and an operation acceptance function, or may include a combination of a display unit and an operation button.
[0020] The communication IF 14 includes hardware for communicating with an external device. The communication IF 14 includes a function compatible with communication standards such as Wi-Fi (registered trademark), Ethernet (registered trademark), and USB. The MFP 1 of this embodiment includes both a function capable of communicating using the MQTT protocol and a function capable of communicating using the HTTP protocol or the HTTPS protocol. Note that the HTTP protocol and the HTTPS protocol are both examples of protocols that conform to HTTP, and are different protocols from the MQTT protocol. In the following, the HTTP protocol and the HTTPS protocol will not be distinguished from each other, and will simply be referred to as the "HTTP protocol."
[0021] The print engine 15 includes a configuration for printing an image based on image data on a print medium such as a sheet. The print method of the print engine 15 is, for example, an electrophotographic method or an inkjet method. The scanner 16 includes a configuration for reading an image of an original document and acquiring image data.
[0022] The client PC 2 of the client-side device 200 includes a controller 41 including an operating system and a browser, a user IF 42, and a communication IF 43 capable of communication at least according to the HTTP protocol. The client PC 2 may or may not be able to directly communicate with the MFP 1.
[0023] 2, the cloud side device 300 includes, for example, a management server 3, a storage server 4, and a firmware server 5. The management server 3 is an example of a cloud server. Each server of the cloud side device 300 may be configured with a single device, or there may be a server configured with multiple devices, or there may be a device that includes the functions of multiple servers in one device.
[0024] Among the cloud side devices 300, at least the management server 3 and the firmware server 5 are prepared by the vendor of the MFP 1. The storage server 4 is, for example, a server provided by a third party that provides a storage service. The management system 100 can use the storage server 4 by making a request to the storage service as necessary.
[0025] The management server 3 is a device capable of communicating with each MFP 1 using the MQTT protocol via the broker 6. Each MFP 1 is set to communicate with the management server 3 using the MQTT protocol via the communication IF 14. The client PC 2 is capable of transmitting various instructions to the management server 3 using the HTTP protocol. The management server 3 includes a management program 301, and is capable of executing a process of creating instruction information to be transmitted to the MFP 1 based on various instructions received from the client PC 2. The process performed by the management program 301 will be described later.
[0026] The storage server 4 is a server capable of communicating with the management server 3 and the MFP 1 via the HTTP protocol, and is a device capable of storing various types of information. The firmware server 5 is a server capable of communicating with each MFP 1 via the HTTP protocol, and is a device capable of storing firmware 501 for various MFPs 1.
[0027] Next, a procedure for managing the MFP1 will be described. The following process basically indicates the process of the CPU 11 according to the instructions written in the program. That is, processes such as "judgment", "extraction", "selection", "calculation", "decision", "identification", "acquisition", "reception", and "control" in the following description represent the process of the CPU. The process by the CPU also includes hardware control using the API of the OS. In this specification, the description of the OS will be omitted to describe the operation of each program. That is, in the following description, a description to the effect that "program B controls hardware C" may also mean that "program B controls hardware C using the API of the OS". In addition, the process of the CPU according to the instructions written in the program may be described in abbreviated terms. For example, it may be described as "performed by the CPU". In addition, the process of the CPU according to the instructions written in the program may be described in abbreviated terms such as "performed by program A".
[0028] Note that "obtaining" is used as a concept that does not require a request. In other words, the process of receiving data without the CPU requesting it is also included in the concept of "the CPU obtaining data." In addition, "data" in this specification is represented as a bit string that can be read by a computer. Data with the same substantial meaning but different formats will be treated as the same data. The same applies to "information" in this specification. In addition, "requesting" and "instructing" are concepts that indicate outputting information indicating a request or information indicating an instruction to the other party. In addition, information indicating a request or information indicating an instruction will also be simply referred to as "request" and "instruction."
[0029] Furthermore, the process by a CPU to determine whether information A indicates event B is sometimes conceptually described as "determining, from information A, whether event B is present." The process by a CPU to determine whether information A indicates event B or event C is sometimes conceptually described as "determining, from information A, whether event B or event C is present."
[0030] The management procedure of the MFP 1 by the management system 100 will be described with reference to the sequence diagram of FIG. 3. Each MFP 1 that may be a management target performs initial setting in response to being started up (S101). Each MFP 1 has information indicating the management server 3 as a communication partner by the MQTT protocol in advance. In the initial setting, in order to communicate with the management server 3 by the MQTT protocol, the MFP 1 performs initial communication with the broker 6, and then transmits its own identification information and version information indicating the version of the firmware 21 in association with each other to the management server 3 (S102). This allows the management server 3 to know that the MFP 1 is in a state where it can receive instructions.
[0031] On the other hand, the administrator starts inputting instructions to be executed by the managed MFP 1 using the client PC 2 (S111). Specifically, the administrator starts a browser on the client PC 2, accesses the management server 3 by HTTP protocol (S112), obtains page data of an instruction input page, and displays the instruction input page on the user IF 42 (S113). The page data may be so-called Web page data.
[0032] On the displayed instruction input page, the administrator specifies the MFP 1 to be managed, and inputs (S115) an instruction indicating the process to be executed by the MFP 1. Processes that can be instructed to the MFP 1 include, for example, PJL (short for Printer Job Language) command processing, batch setting import, batch setting export, batch setting import / export, printer icon acquisition, and firmware update.
[0033] An instruction to process a PJL command is an instruction to have the MFP1 acquire a PJL file in which a PJL command is written, and have the MFP1 perform processing according to the PJL command. An instruction to process a PJL command is an example of a command execution instruction. A PJL command is an example of a command, and a PJL file is an example of command data and an example of PJL data. A PJL command written in a PJL file is, for example, a command to set a predetermined setting value in the MFP1, and a command to output a predetermined setting value currently set in the MFP1. An administrator can specify the created PJL file and input an instruction to execute processing according to the PJL command included in the PJL file on the instruction input page.
[0034] The three instructions, bulk setting import, bulk setting export, and bulk setting import / export, are instructions for inputting or outputting bulk setting information to the MFP 1. The bulk setting information is information that compiles setting values for multiple items that can be registered in the MFP 1. The bulk setting information is information that includes a bulk setting command written in JSON (short for JavaScript Object Notation) format, for example. Note that the bulk setting command is not limited to the JSON format, and may be written in, for example, HTML format or MIB (short for Management Information Base) format.
[0035] The MFP 1 can store a setting value group 23 (see FIG. 2) in the memory 12 based on, for example, batch setting information, and can operate based on the stored setting value group 23. The setting values included in the setting value group 23 include default setting values set for various items, such as setting values for multiple print setting items related to printing by the print engine 15, setting values for multiple read setting items related to reading of an original image by the scanner 16, etc. For example, when the MFP 1 receives an instruction for print settings via the user IF 13, it reads out the setting value group 23 and displays it on the user IF 13 as initial values for the print settings.
[0036] The batch setting import instruction is an instruction to input batch setting information into the MFP 1 and register it as a setting value group 23. The batch setting import instruction is an example of a batch setting import instruction. The batch setting export instruction is an instruction to output batch setting information based on the currently registered setting value group 23. The batch setting export instruction is an example of a setting value output instruction and an example of a batch setting export instruction. The batch setting import export instruction is an instruction to register the setting value group 23 based on the input batch setting information and then continuously output the batch setting information. The batch setting import export instruction is an example of a batch setting import export instruction.
[0037] The batch setting information input to the MFP1 in response to a batch setting import instruction or a batch setting import / export instruction is the same as the batch setting information output to the MFP1 in response to a batch setting export instruction or a batch setting import / export instruction. For example, the MFP1 can register the setting value group 23 based on the batch setting information by inputting the batch setting information output in response to a batch setting export instruction as is in response to a batch setting import instruction. The batch setting information input to the MFP1 in response to a batch setting import instruction is an example of batch setting data. The batch setting information output to the MFP1 in response to a batch setting export instruction is an example of batch output data.
[0038] The instruction to obtain a printer icon is an instruction to output a printer icon 24 (see FIG. 2) stored in memory 12 of MFP 1. Printer icon 24 is an example of icon data. The instruction to obtain a printer icon is an example of an icon output instruction. Note that printer icon 24 is information that is displayed on an instruction input page as information indicating each MFP 1, for example, when an administrator specifies an MFP 1 to be managed on the instruction input page. MFP 1 stores printer icon 24 indicating itself in memory 12 in advance.
[0039] The firmware update instruction is an instruction to cause the MFP 1 to update the firmware 21. The firmware update instruction is an example of a firmware update instruction. The firmware update instruction may include, for example, version information indicating the version of the firmware after the update. Alternatively, the firmware update instruction may simply be an instruction to update to the latest version of firmware stored in the firmware server 5. Each MFP 1 stores in advance in memory 12 information indicating the storage location of firmware 501 for its own device.
[0040] The client PC 2 transmits information indicating the administrator's operation received on the instruction input page to the management server 3 via the browser (S116). The management server 3 executes an instruction information creation process, which is a process for creating instruction information to be sent to the MFP 1 under management, based on the information received from the client PC 2 (S118). The information transmitted from the client PC 2 to the management server 3 may include, for example, information indicating the type of instruction to be sent to the MFP 1, input data to be sent to the MFP 1, or information indicating the storage location of the input data. The instruction information is information transmitted to the MFP 1 using the MQTT protocol in a procedure described below.
[0041] The MQTT protocol is a lightweight communication protocol that requires low power and is suitable for monitoring communication devices, but it is not possible to transmit large amounts of data due to limitations on the transmittable data size. Therefore, when the management server 3 or the MFP 1 transmits large information that may not be transmittable using the MQTT protocol, the management server 3 or the MFP 1 saves the large information to be transmitted in the storage server 4 and transmits the URL indicating the save destination in the instruction information using the MQTT protocol. In the following, information other than the instruction information transmitted from the management server 3 to the MFP 1 is referred to as "input data," and information transmitted from the MFP 1 to the management server 3 is referred to as "output data."
[0042] The procedure of the instruction information creation process of S118 will be described with reference to the flowchart of Fig. 4. The instruction information creation process is executed by the CPU of the management server 3 when the information received from the client PC 2 in S116 includes information requesting transmission of an instruction to the MFP 1.
[0043] First, the management server 3 acquires information indicating the type of instruction to be sent to the MFP 1 based on the information received from the client PC 2 (S201). Then, the management server 3 judges whether the instruction to be sent to the MFP 1 requires input data or output data according to the acquired type of instruction. Note that the relationship between the type of instruction and the presence or absence and content of input data or output data is, for example, as shown in FIG. 5.
[0044] Specifically, if the type of instruction is a PJL command process, the input data is a PJL file that describes the PJL command. A PJL command process is an example of an input-required instruction that requires input data. Also, if the type of instruction is a PJL command process, the PJL commands included in the PJL file include a response-required command that generates a response file and a non-response command that does not generate a response file depending on the command processing. For example, a PJL command that causes the MFP1 to set a specific setting value is a non-response command, and a PJL command that causes the MFP1 to output a specific setting value that is currently set is a response-required command.
[0045] The PJL file specified by the administrator is passed to the MFP1 as input data, as described below. The MFP1 can determine the type of PJL command specified by analyzing the PJL file, and generates a response file as necessary. In other words, PJL command processing may or may not have output data. PJL command processing is an example of an instruction requiring output, and may also be an example of an instruction requiring input / output, or an example of an instruction requiring no output.
[0046] On the other hand, the management server 3 does not analyze the PJL file. Therefore, the management server 3 does not know the type of PJL command contained in the PJL file, and cannot determine whether a response file will be generated. Therefore, when the type of instruction is PJL command processing, the management server 3 creates instruction information assuming that a response file will be generated. In other words, the management server 3 determines that the PJL command processing is an instruction that requires output data.
[0047] If the type of instruction is batch setting import, the input data is batch setting information and there is no output data. Bulk setting import is an example of an input-required instruction and an example of an output-unrequired instruction.
[0048] Also, if the type of instruction is batch setting export, there is no input data and the output data is batch setting information. Batch setting export is an example of an instruction that does not require input and an example of an instruction that requires output.
[0049] Furthermore, if the type of instruction is batch setting import / export, both the input data and the output data are batch setting information. Batch setting import / export is an example of an input-required instruction and an example of an output-required instruction. Batch setting import / export is an instruction that requires both input data and output data, and is also an example of an input / output-required instruction.
[0050] Also, if the type of instruction is to obtain a printer icon, there is no input data, and the output data is the printer icon 24. Obtaining a printer icon is an example of an instruction that does not require input, and is an example of an instruction that requires output.
[0051] Also, if the type of instruction is a firmware update, there is no input data or output data. A firmware update is an example of an instruction that does not require input and an example of an instruction that does not require output.
[0052] The management server 3 judges whether the type of the instruction acquired in S201 is an instruction that requires input data (S202). If it is judged that the instruction requires input data (S202: YES), the management server 3 requests the storage server 4 to secure a destination for saving the input data, and acquires a URL for uploading the input data (S203). Note that in this embodiment, since a third-party storage server 4 is used, the storage server 4 is asked to prepare a destination for saving the input data.
[0053] The storage server 4 passes a URL indicating an available storage location to the management server 3 based on a request from the management server 3. The management server 3 uploads the input data using the acquired URL (S204). The input data is, for example, a PJL file or batch setting information.
[0054] Furthermore, the management server 3 acquires a URL for downloading the input data uploaded in S204 by making a request to the storage server 4 (S205). Note that the URL acquired in S205 is information indicating the storage location where the input data was uploaded in S204, but the URL for downloading may be the same information as the URL for uploading, or may be different information. The URL for downloading is an example of storage location information.
[0055] After S205, or when it is determined that the input data is an unnecessary instruction (S202: NO), the management server 3 determines whether the instruction requires output data (S211). When it is determined that the output data is necessary (S211: YES), the management server 3 obtains a URL for uploading the output data by requesting the storage server 4 to secure a destination for saving the output data (S212). In this embodiment, the storage server 4 is asked to prepare a destination for saving the output data, just like the destination for saving the input data.
[0056] If the type of instruction is a PJL command process, the management server 3 executes S212 assuming that output data is required. The output data is, for example, a response file corresponding to the PJL command, batch setting information, and a printer icon. The URL for uploading the output data is an example of output location information. The location to which the output data is uploaded is an example of an output location.
[0057] After S212, or if it is determined that the instruction does not require output data (S211: NO), the management server 3 creates instruction information to be passed to the MFP 1 (S221). If the type of instruction requires input data, the instruction information includes the download URL acquired in S205 and an instruction to input the input data. If the type of instruction requires output data, the instruction information includes the upload URL acquired in S212 and an instruction to output the output data.
[0058] For example, when the type of instruction is a PJL command process, the management server 3 creates instruction information 50 including information indicating that the type of instruction is a PJL command process, a URL 51 for downloading a PJL file as input data, and a URL 52 for uploading a response file as output data, as shown in Fig. 6. Note that the instruction information 50 may further include data required for the PJL command process.
[0059] Also, for example, when the type of instruction is bulk setting import / export, the management server 3 creates instruction information 60 including information indicating that the type of instruction is bulk setting import / export, a URL 61 for downloading the bulk setting information as input data, and a URL 62 for uploading the bulk setting information as output data, as shown in FIG. 7.
[0060] In this way, the instruction information 50, 60 transmitted from the management server 3 to the MFP 1 using the MQTT protocol can include a URL indicating the storage location of the input data and a URL indicating the storage location of the output data, but does not include the input data itself. Therefore, the data size of the instruction information 50, 60 is small enough to be transmitted using the MQTT protocol.
[0061] Note that, when the type of instruction is a firmware update, neither input data nor output data is required, so the management server 3 creates instruction information that includes only information on the type of instruction and does not include information on the input data or output data. After S221, the management server 3 ends the instruction information creation process and returns to the management procedure shown in FIG.
[0062] Returning to the explanation of the management procedure in FIG. 3, the management server 3 has already performed initial communication with the broker 6 for communication by the MQTT protocol. After the instruction information creation process of S118, the management server 3 associates the created instruction information with information indicating the MFP 1 to be managed and information indicating the type of instruction, and transmits the associated information to the MFP 1 to be managed by the MQTT protocol (S121). As a result, the MFP 1 designated as the management target acquires the instruction information associated with the information indicating the type of instruction as information addressed to the MFP 1 itself. The instruction information transmitted from the management server 3 is an example of an instruction from a cloud server. The MFP 1 then executes instruction execution processing based on the received instruction information (S122).
[0063] When sending information from the management server 3 to the MFP 1 using the MQTT protocol, the management server 3 sends information specifying the MFP 1 to the broker 6 (see FIG. 2), and the broker 6 holds that information. Each MFP 1 inquires of the broker 6 whether there is any information addressed to it, and if there is, it can obtain that information from the broker 6.
[0064] The procedure of the instruction execution process of S122 will be described with reference to the flowchart of Fig. 8. The instruction execution process is executed by the CPU 11 of the MFP 1 based on the instruction processing program 22 (see Fig. 2) when instruction information is received.
[0065] First, the CPU 11 initializes each unit to start processing (S301). For example, the CPU 11 prepares various flags in the memory 12 for storing the progress of processing, and clears response information that is information to be notified to the management server 3 later. The response information includes success / failure information indicating whether the execution of the instructed processing was successful or not, and output presence / absence information indicating whether output data is available or not.
[0066] Then, the CPU 11 determines the type of instruction associated with the received instruction information (S311). Specifically, the CPU 11 determines whether the type of instruction associated with the instruction information is a type that requires output data. Examples of the type of instruction that requires output data include PJL command processing, batch setting export, batch setting import export, and printer icon acquisition.
[0067] If the type of instruction is any of PJL command processing, batch setting export, batch setting import export, and printer icon acquisition, it is determined that the instruction is of a type that requires output data (S311: YES), and the CPU 11 determines whether the instruction information includes an upload URL indicating the output data (S312). For example, the instruction information 50 shown in FIG. 6 includes the URL 52 of the output data.
[0068] On the other hand, if the type of instruction is either batch setting import or firmware update, CPU 11 determines that the type of instruction does not require output data (S311: NO). If the answer is NO in S311, or if the URL for uploading output data is included (S312: YES), CPU 11 further determines the type of instruction associated with the received instruction information (S315). Specifically, CPU 11 determines whether the type of instruction requires input data. Examples of instructions that require input data include PJL command processing, batch setting import, and batch setting import export.
[0069] If the type of instruction is any of PJL command processing, batch setting import, and batch setting import / export, it is determined that the instruction is of a type that requires input data (S315: YES), and CPU 11 determines whether the instruction information includes a download URL indicating the input data (S316). For example, instruction information 50 shown in FIG. 6 includes URL 51 of the input data.
[0070] If it is determined that the instruction is of a type that requires input data and includes a URL for downloading the input data (S316: YES), the CPU 11 downloads the input data from the storage location of the storage server 4 indicated by the URL using the HTTP protocol (S317). In this way, the CPU 11 obtains the input data.
[0071] The communication protocol for downloading the input data may be any protocol different from the MQTT protocol that has no limit on the data size that can be communicated or has a larger allowable data size than the MQTT protocol. For example, the MFP1 receives instruction information using the MQTT protocol and obtains input data using the HTTP protocol. This makes it possible to send instructions that require input data to the MFP1 even in a system that uses the MQTT protocol.
[0072] For example, if the type of instruction is PJL command processing, CPU 11 acquires a PJL file as input data. That is, MFP 1 of this embodiment can acquire a PJL file that can include one or more PJL commands as input data, in addition to the instruction received from management server 3. Also, if the type of instruction is batch setting import or batch setting import / export, CPU 11 can acquire batch setting information as input data.
[0073] On the other hand, if the type of instruction is either batch setting export or firmware update, the CPU 11 determines that the instruction is of a type that does not require input data (S315: NO). After S317, or if it is determined in S315 that the instruction is not of a type that requires input data (S315: NO), the CPU 11 executes the instruction process in accordance with the received instruction (S321). If the instruction requires input data, the CPU 11 executes the process using the downloaded input data. If the instruction does not require input data, the CPU 11 can execute the process in accordance with instruction information that does not include a download URL.
[0074] The procedure of the instruction processing of S321 will be described with reference to the flowchart of Fig. 9. In the instruction processing, the CPU 11 first determines whether the type of the received instruction is PJL command processing (S411), printer icon acquisition (S421), batch setting export (S431), batch setting import export (S441), batch setting import (S451), or firmware update (S461).
[0075] If it is determined that the type of instruction is a PJL command process (S411: YES), CPU 11 acquires the PJL command (S412) and executes processing according to the command (S413). Specifically, CPU 11 analyzes the downloaded PJL file and extracts the PJL command. If the acquired command is a command indicating setting a setting value, CPU 11 sets the setting value to the specified item. If the acquired command is a command indicating acquisition of a setting value, CPU 11 acquires the setting value of the specified item. Note that if the PJL file contains multiple commands, CPU 11 acquires the multiple commands in order and basically executes them in the order in which they were acquired.
[0076] Then, CPU 11 determines whether all commands have been successfully processed (S414). If it is determined that the processing was successful (S414: YES), CPU 11 determines whether there is data to be output (S415). If the only command included in the PJL file is a command indicating the setting of a setting value, there is no data to be output. If the PJL file includes a command indicating the acquisition of a setting value, there is data to be output. If there is data to be output, CPU 11 acquires the setting value that is instructed to be acquired by the PJL command, and sets it as the data to be output.
[0077] If it is determined that there is no data to be output (S415: NO), the CPU 11 stores the success of the process (S475) and stores that there is no output (S476). On the other hand, if it is determined that there is data to be output (S415: YES), the CPU 11 stores the success of the process (S471) and stores that there is output (S472). Note that the CPU 11 prepares flags for storing information indicating the success or failure of the process and information indicating the presence or absence of output, and operates the flags in the process of S475 etc.
[0078] In this way, the MFP 1 is likely to be able to acquire a PJL file as input data in addition to the instruction information received from the management server 3, and can execute processing according to the PJL commands contained in the PJL file. Therefore, even in cases where a relatively large PJL file that includes multiple commands needs to be passed to the MFP 1, a management system 100 that is less subject to restrictions is constructed.
[0079] Furthermore, if it is determined that the type of instruction is to obtain a printer icon (S421: YES), the CPU 11 reads and obtains the printer icon 24 stored in the memory 12 (S422). Then, the CPU 11 determines whether the process of S422 was successful (S423). If it is determined that the process was successful (S423: YES), the CPU 11 stores the success of the process and that there was output (S471, S472). In this case, the data to be output is the printer icon 24.
[0080] Furthermore, when it is determined that the type of the instruction is batch setting export (S431: YES), the CPU 11 reads out the setting value group 23 stored in the memory 12 (S432), and generates batch setting information based on the read setting value group 23 (S433). Then, the CPU 11 determines whether the processing of S432 and S433 was successful (S434). When it is determined that the processing was successful (S434: YES), the CPU 11 stores the success of the processing and the presence of output (S471, S472). In this case, the data to be output is the batch setting information. Note that the instruction for batch setting export may include information specifying the setting value items to be output, and in this case, the CPU 11 may collect the setting values of the items specified in the instruction for batch setting export from the setting value group 23 and output them together.
[0081] Furthermore, when it is determined that the type of instruction is batch setting import / export (S441: YES), the CPU 11 registers the setting value group 23 based on the batch setting information included in the input data (S442). The CPU 11 overwrites the setting value group indicated in the batch setting information included in the downloaded input data onto the setting value group 23 stored in the memory 12, thereby registering the setting value group indicated by the batch setting information included in the input data in the MFP 1. As described above, the batch setting information is information including setting values for a plurality of items related to printing.
[0082] In this way, MFP 1 is highly likely to be able to acquire batch setting information as input data in addition to the instruction information received from management server 3, and can register setting value group 23 based on the batch setting information. Therefore, even in a case where batch setting information of a relatively large size in which multiple setting values are written needs to be passed to MFP 1, management system 100 that is less subject to restrictions can be constructed.
[0083] Thereafter, the CPU 11 reads out the set value group 23 stored in the memory 12 (S432) and generates batch setting information (S433). The CPU 11 then determines whether or not each of the processes of S442, S432, and S433 was successful (S434). If it is determined that the processes were successful (S434: YES), the CPU 11 stores the success of the processes and the presence of output (S471, S472). In this case, the data to be output is the batch setting information.
[0084] It is to be noted that the input data when the type of the instruction is batch setting import / export may well contain batch setting information including only the setting values of some of the items in the setting value group 23, rather than all of the items in the setting value group 23. When the batch setting information included in the input data is information indicating the setting values of some of the items in the setting value group 23, the CPU 11 registers in the MFP 1 only the setting values indicated in the batch setting information included in the input data in S442, and does not change the setting values of the items not indicated in the batch setting information. Then, in S432 to S433, the CPU 11 may read out from the setting value group 23 only the setting value items indicated in the batch setting information included in the input data to generate the batch setting information. Alternatively, in S432 to S433, the CPU 11 may read out all the setting values included in the setting value group 23, regardless of whether they are included in the batch setting information included in the input data, to generate the batch setting information.
[0085] Furthermore, if it is determined that the type of instruction is batch setting import (S451: YES), CPU 11 registers the setting value group 23 based on the batch setting information included in the input data (S452). Then, CPU 11 determines whether the process of S452 was successful (S453). If it is determined that it was successful (S453: YES), CPU 11 stores the success of the process and no output (S475, S476). If the input data includes batch setting information including setting values of only some items of the setting value group 23, CPU 11 need only register in MFP 1 only the setting values indicated in the batch setting information included in the input data.
[0086] As described above, the batch setting information acquired by the batch setting import instruction and the batch setting information output by the batch setting export instruction are in the same format. The output data is information that the administrator will check in a later procedure. For example, when the administrator compares the batch setting information acquired by the MFP1 by the batch setting import instruction and the batch setting information output by the batch setting export instruction, it is easy to grasp the difference in the setting values if they are in the same format. Therefore, the batch setting information is highly convenient.
[0087] Furthermore, if it is determined that the type of instruction is a firmware update (S461: YES), the CPU 11 accesses the firmware server 5 (see FIG. 2) and checks whether an update file exists (S462). The CPU 11 determines, for example, whether the firmware server 5 contains firmware 501 that is newer than the version of its own firmware 21 (see FIG. 2). Alternatively, if the firmware update instruction contains version information, the CPU 11 determines whether the specified version is newer than the version of its own firmware 21.
[0088] The firmware 501 is prepared in advance in the firmware server 5 by the vendor of the MFP 1, and a URL for firmware update for acquiring the firmware 501 is stored in advance in the memory 12 of the MFP 1. Therefore, in the case of an instruction for firmware update, the MFP 1 does not need to receive input data separately from the instruction information received from the management server 3, and can access the firmware server 5 by reading the URL from the memory 12. The firmware server 5 in which the firmware 501 is stored is an example of a specific storage location, and the URL for firmware update is an example of specific storage location information. The firmware 501 is an example of specific input data. The instruction for firmware update is an example of a specific execution instruction.
[0089] Then, when it is determined that an update file is present (S462: YES), the CPU 11 downloads and acquires the firmware 501 to be updated from the firmware server 5, and executes the acquired firmware 501 to rewrite the firmware 21, thereby updating the firmware (S463). S463 is an example of a specific process and an example of a firmware update process.
[0090] Furthermore, the CPU 11 judges whether the process of S463 was successful (S464). If it is judged to be successful (S464: YES), the CPU 11 stores the success of the process and no output (S475, S476).
[0091] Also, if the type of instruction is a firmware update and it is determined that there is no update file, for example, if it is determined that its own firmware 21 is already the latest version (S462: NO), the CPU 11 also stores the success of the process and no output (S475, S476). In this case, it is preferable for the CPU 11 to respond with information indicating that the firmware is the latest version.
[0092] On the other hand, if it is determined that the process to be executed was not successful (S414: NO, S423: NO, S434: NO, S453: NO, S464: NO), the CPU 11 stores the failure of the process (S478).The CPU 11 also stores the failure of the process (S478) if it determines that the type of instruction is not any of PJL command processing, printer icon acquisition, batch setting export, batch setting import export, batch setting import, and firmware update (S461: NO).
[0093] For example, even if the type of instruction is successfully identified but the format of the received instruction information is partially incorrect, the CPU 11 also stores a processing failure. The CPU 11 also stores a processing failure if the download of input data fails or if the downloaded input data has an incorrect format.
[0094] Also, for example, if the type of instruction is a PJL command process and the extracted PJL command is an incorrect command, for example, an incorrect character string, or if the process according to the extracted PJL command fails, CPU 11 stores the failure of the process. Note that PJL commands include commands that indicate that data to be output is output if there is data to be output, and that data is not output if there is no data to be output. If the extracted command is such a command and the process is successful, CPU 11 stores the success of the process regardless of whether there is data to be output, and further, if there is data to be output, it is preferable to store "output yes" (S471, S472), and if there is no data to be output, "no output" (S475, S476).
[0095] Also, for example, if the type of instruction is to obtain a printer icon and reading of the printer icon 24 stored in the memory 12 fails, the CPU 11 stores the failure of the processing. Also, for example, if the type of instruction is to export batch settings and a batch setting file cannot be generated because the setting value group 23 cannot be read from the memory 12, the CPU 11 stores the failure of the processing. Also, for example, if the type of instruction is to import batch settings and registration of the setting values fails because the setting value group 23 in the memory 12 cannot be overwritten, the CPU 11 stores the failure of the processing. Also, for example, if the type of instruction is to import / export batch settings and registration of the setting values fails or generation of the batch setting file fails, the CPU 11 stores the failure of the processing.
[0096] Also, for example, if the type of instruction is a firmware update and communication with the firmware server 5 fails, and if it is determined that an update file is available but the firmware 501 to be updated cannot be downloaded from the firmware server 5, the CPU 11 will store the processing failure.
[0097] After any of S472, S476, and S478, the CPU 11 ends the instruction process and returns to the instruction execution process of FIG.
[0098] Returning to the description of the instruction execution process in Fig. 8, after the instruction process in S321, the CPU 11 determines whether or not the processing of the received instruction information has been successful, based on the state of the flag stored in the instruction process (S322).
[0099] If it is determined that the execution of the processing of the instruction information has been successful (S322: YES), the CPU 11 determines whether or not there is data to be output (S325). If it is determined that there is data to be output (S325: YES), the CPU 11 generates output data including the data to be output (S326). Note that the CPU 11 may generate output data in the instruction processing of S321.
[0100] Furthermore, CPU 11 uploads the generated output data to storage server 4 using the URL acquired in S312 (S327). That is, CPU 11 accesses the output location indicated by the URL acquired in S312, and outputs the generated output data to that output location. Furthermore, CPU 11 sets the output presence / absence information to "Present", that is, information indicating that output data is present (S328). The output presence / absence information is included in the response information notified to management server 3.
[0101] On the other hand, if it is determined that there is no data to be output (S325: NO), the CPU 11 sets the output presence / absence information to "absent", that is, information indicating that there is no output data (S331). After S328 or S331, the CPU 11 sets the success / failure information to "success", that is, information indicating that the execution of the process was successful (S332), ends the instruction execution process, and returns to the management procedure of FIG.
[0102] For example, if the type of instruction is PJL command processing, as shown in Fig. 6, instruction information 50 received from management server 3 includes both URL 51 for downloading input data and URL 52 for uploading output data. However, if the PJL command included in the PJL file acquired as input data does not include an instruction to output output data, CPU 11 does not generate output data. In this case, MFP 1 does not use URL 52, sets the output presence / absence information to "absent", and notifies management server 3 of information indicating that there is no output data.
[0103] In this way, the MFP1 of this embodiment can handle both instructions that require input data and instructions that do not, and can handle both instructions that require output data and instructions that do not. If the instruction requires output data, the MFP1 outputs the output data based on the upload URL included in the instruction, separate from the response information that is information notified to the management server 3 in response to the instruction, so that even if the data is large in size, it is highly likely that it can be output. Therefore, even in a case where it is necessary to output relatively large batch setting information in which multiple setting values are written, a management system 100 that is not easily restricted is constructed. On the other hand, since it can handle even instructions that do not require output data, the MFP1 has a high degree of freedom in the instructions that it can handle.
[0104] On the other hand, if it is determined that output data is necessary but no URL for uploading is included (S312: NO), if it is determined that input data is necessary but no URL for downloading is included (S316: NO), or if it is determined that execution of the instructed process has failed (S322: NO), the CPU 11 sets the success / failure information to "failure", that is, information indicating failure in execution of the process (S341). In other words, even if the process is not executed according to the instructions (NO in S312, NO in S316), the success / failure information is also "failure". Note that even if generation of output data has failed in S326 or upload of output data has failed in S327, the CPU 11 proceeds to S341 and sets the success / failure information to "failure".
[0105] For example, if the type of instruction is PJL command processing or batch setting import / export, the instruction information must include both a download URL indicating the input data and an upload URL indicating the output data. If at least one of these URLs is not included (NO in S312 or NO in S316), CPU 11 does not execute the process according to the instruction information.
[0106] Furthermore, CPU 11 sets the output presence / absence information to "absent", that is, information indicating that there is no output data (S342), ends the instruction execution process, and returns to the management procedure in Fig. 3. If the process has failed or has not been executed, CPU 11 does not generate output data.
[0107] If an instruction requires input data but the instruction information does not include a URL for downloading the input data, the MFP 1 cannot execute the process properly. Also, if an instruction requires output data but the instruction information does not include a URL for uploading the output data, the MFP 1 cannot output the results of the process properly. In these cases, the MFP 1 does not execute the process according to the instruction information, and notifies "failure" in the success / failure information. This allows the management server 3 to know that the processing of the instruction information was not completed.
[0108] Returning to the explanation of the management procedure in Fig. 3, after the instruction execution process in S122, the MFP 1 passes response information including success / failure information and output availability information to the management server 3 via the broker 6 (S123). In this way, the MFP 1 notifies the management server 3 of whether the processing according to the instruction was successful and whether output data is available.
[0109] For example, if the received instruction is a PJL command process and the process is successfully executed, the MFP 1 passes "success" as success / failure information to the management server 3. Then, if output data is generated, the MFP 1 notifies the management server 3 that the output data has been output by passing "yes" as output presence / absence information to the management server 3. On the other hand, if output data was not generated, the MFP 1 notifies the management server 3 that the output data was not output by passing "no" as output presence / absence information to the management server 3.
[0110] On the other hand, after accepting the input to the instruction input page in S116, the client PC 2, for example, periodically accesses the management server 3 and checks whether the response information from the MFP 1 has arrived at the management server 3. After receiving the response information from the MFP 1 to which the instruction information was sent, the management server 3 passes the response information received from the MFP 1 to the client PC 2 in response to a request from the client PC 2 (S124).
[0111] The client PC 2 displays information indicating the response from the MFP 1 on the user IF 42 based on the information acquired from the management server 3 (S125). This allows the administrator to know whether the MFP 1 has succeeded in the process according to the instruction and whether output data is available.
[0112] Furthermore, if the output availability information included in the response information indicates that output data is available (opt:[output data available]), the client PC 2 requests the output data from the management server 3 (S131). In response to the request from the client PC 2, the management server 3 downloads the output data from the storage server 4 (S132).
[0113] Specifically, the management server 3 requests a URL for downloading the output data from the storage server 4, and downloads the output data using the download URL provided by the storage server 4. Since the management server 3 has acquired the URL for uploading the output data in the instruction information creation process of S118, the management server 3 may acquire the download URL based on that information.
[0114] If the management server 3 receives response information in which the output presence / absence information is "no", it does not execute the process of downloading the output data. For example, even if the type of instruction is a PJL command process and instruction information 50 (see FIG. 6) including both URL 51 for downloading input data and URL 52 for uploading output data is transmitted to the MFP 1, the MFP 1 transmits response information in which the output presence / absence information is "no" if it does not generate output data. In other words, the management server 3 can determine whether to execute S131 to S132 based on the output presence / absence information received from the MFP 1.
[0115] The management server 3 provides the downloaded output data to the client PC 2 (S133). Specifically, the client PC 2 acquires the output data from the management server 3 via a browser, and displays information about the acquired output data on the user IF 42 (S134). For example, the client PC 2 may download the output data from the management server 3. Alternatively, the management server 3 may provide the client PC 2 with Web page data indicating the contents of the output data. In this case, the client PC 2 can display the contents of the output data via a browser. This allows the administrator to check the output data. The management server 3 may provide the client PC 2 with a URL for downloading the output data. In this case, the client PC 2 can acquire the output data by downloading the output data from the storage server 4 or the like.
[0116] Furthermore, after the management server 3 provides the output data to the client PC 2 in S133, or when a predetermined time has elapsed after receiving the response information from the MFP 1 in S123, the management server 3 deletes the corresponding output data from the storage server 4 (S135). Note that if a predetermined time has elapsed since the output data was uploaded, the storage server 4 may delete the output data.
[0117] As described above in detail, by using the management system 100, when the MFP 1 receives an instruction from the management server 3, it can acquire input data using a download URL included in the instruction information. Furthermore, the MFP 1 can execute processing according to the instruction using the acquired input data. As a result, even in a case where, for example, there is a restriction on the transfer of large data or complex commands in the communication between the MFP 1 and the management server 3, and the input data cannot be included in the instruction information, the MFP 1 is less likely to be restricted in communication because it can acquire the input data separately from the instruction information.
[0118] Furthermore, by using the management system 100, when the MFP 1 generates output data in association with the execution of processing according to instructions received from the management server 3, the MFP 1 can output the output data using an upload URL included in the instruction information. As a result, even in cases where, for example, restrictions are imposed on the transfer of large-sized data or complex commands in communication between the MFP 1 and the management server 3, and the output data cannot be included in the response information, the MFP 1 is less likely to be subject to communication restrictions because it can output the output data separately from the response information.
[0119] It should be noted that the present embodiment is merely an example and does not limit the present invention in any way. Therefore, the technology disclosed in this specification can be naturally improved and modified in various ways without departing from the scope of the present invention. For example, the communication device to be managed may be any device that has a communication IF and is capable of communicating with the management server 3, and may be a printer with a single printing function, a copier, a scanner, a FAX machine, or a machine tool, not limited to an MFP. The setting value items included in the setting value group 23 may differ depending on the functions of the communication device.
[0120] Also, for example, the storage server 4 is not limited to a server provided by a third party, but may be one prepared by the vendor of the MFP 1, or may be one prepared by the client side that uses the client-side device 200. For example, the storage location of the input data is not limited to the storage server 4, but may be part of the management server 3 or the firmware server 5. In that case, the management server 3 may be able to determine the storage location of the input data without making a request to the storage server 4. Also, the storage location of the input data may be secured by the client PC 2, not limited to the management server 3.
[0121] Also, for example, the output location of the output data is not limited to the output location secured by the management server 3, and may be, for example, an output location determined in advance for each MFP 1, or may be an output location specified by the client PC 2. The output location of the output data may be, for example, a memory of the client PC 2, or a USB memory connected to the MFP 1. Also, instead of the management server 3 downloading the output data, the client PC 2 may download it.
[0122] Also, for example, the firmware 501 is not limited to being prepared in the firmware server 5, and may be stored in the management server 3. In this case, the management server 3 may use the firmware 501 as input data and include a URL indicating the storage location of the firmware 501 in the instruction information.
[0123] Furthermore, if the type of instruction is any of batch setting export, batch setting import export, and printer icon acquisition, and the processing is successful, the management server 3 can recognize in advance that there is output data. Therefore, the response information to these instructions may be only success / failure information and may not include output availability information.
[0124] In addition, in this embodiment, the management server 3 creates the instruction information, but it may be created by the client PC 2. For example, if a storage location for input data and an output location for output data are available on the client side, the client PC 2 can secure the locations and create the instruction information.
[0125] Furthermore, the MFP 1 is not limited to being able to handle all types of instructions described in the embodiment. For example, the MFP 1 may be able to handle other types of instructions, or may be able to handle only some of the types described in the embodiment. Furthermore, the protocol used to transmit and receive input data and output data may be a protocol different from the MQTT protocol, and may not be the HTTP protocol.
[0126] In addition, in any of the flowcharts or sequence diagrams disclosed in the embodiments, the execution order of multiple processes in any of the steps can be changed as desired or the processes can be executed in parallel as long as no contradictions occur in the process content.
[0127] The processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as ASIC, or a combination of these. The processes disclosed in the embodiments may be realized in various forms, such as a recording medium having a program for executing the processes recorded thereon, or a method. [Explanation of symbols]
[0128] 1 MFP 3 Management Server 12. Memory
Claims
1. A communications device capable of executing a process according to an instruction received from a cloud server, the instruction being capable of including storage location information indicating a storage location in which input data required for the process according to the instruction is stored; If the instruction received from the cloud server includes the storage location information, accessing the storage location indicated in the storage location information and acquiring the input data from the storage location; Executing the process according to the instruction received from the cloud server using the input data acquired from the storage location.
2. A communications device configured to:
2. 2. The communication device according to claim 1, The cloud server can communicate with the cloud server via MQTT protocol, Receive the instruction from the cloud server using an MQTT protocol; If the instruction received from the cloud server includes the storage location information, Accessing the storage location indicated in the storage location information using a protocol different from the MQTT protocol and acquiring the input data from the storage location; Executing the process according to the instruction received from the cloud server using the input data acquired from the storage location in the protocol different from the MQTT protocol.
2. A communications device configured to:
3. 3. The communication device according to claim 2, If the instruction received from the cloud server includes the storage location information, Access the storage location indicated in the storage location information using a protocol conforming to HTTP as the protocol different from the MQTT protocol, and obtain the input data from the storage location; executing the process according to the instruction received from the cloud server using the input data acquired from the storage location using the protocol conforming to HTTP; 2. A communications device configured to:
4. 2. The communication device according to claim 1, The instructions that can be received from the cloud server include an input required instruction that requires input data to execute a process, and an input not required instruction that does not require input data to execute a process, When the instruction received from the cloud server is the input requirement instruction, and the received input requirement instruction includes the storage location information, accessing the storage location indicated in the storage location information and acquiring the input data from the storage location; Executing the process according to the input requirement instruction received from the cloud server using the input data acquired from the storage location; If the instruction received from the cloud server is an instruction that no input is required, execute a process in accordance with the instruction not to require input received from the cloud server without executing a process for acquiring the input data.
2. A communications device configured to:
5. 5. The communication device according to claim 4, When the instruction received from the cloud server is the input requirement instruction and the received input requirement instruction does not include the storage location information, not executing the process for acquiring the input data, and further not executing the process in accordance with the input requirement instruction received from the cloud server, and notifying the cloud server of the fact that the process in accordance with the input requirement instruction will not be executed; 2. A communications device configured to:
6. 5. The communication device according to claim 4, In response to acquiring command data that may include a plurality of commands, the device is configured to be able to execute a process according to the commands included in the acquired command data, the input request instruction includes a command execution instruction indicating execution of a process based on the command data; the input data includes the command data; When the instruction received from the cloud server is the command execution instruction, and the received command execution instruction includes the storage location information, accessing the storage location indicated in the storage location information and acquiring the command data from the storage location; executing a process according to the command included in the command data acquired from the storage location as the process according to the command execution instruction received from the cloud server; 2. A communications device configured to:
7. 7. The communication device according to claim 6, the communication device is a printer having a printing function and configured to be able to execute processing in accordance with PJL (short for Printer Job Language) commands; the command data is PJL data that may include a plurality of PJL commands; When the instruction received from the cloud server is the command execution instruction, and the received command execution instruction includes the storage location information, accessing the storage location indicated in the storage location information and acquiring the PJL data from the storage location; As the process according to the command execution instruction received from the cloud server, a process according to the PJL command included in the PJL data acquired from the storage location is executed.
2. A communications device configured to:
8. 5. The communication device according to claim 4, It is possible to register setting values for a plurality of items and operate according to the registered setting values, In response to acquiring collective setting data in which the setting values of the plurality of items to be registered are written, a process of registering the setting values written in the acquired collective setting data is executed, the input requirement instruction includes a batch setting import instruction indicating registration of the setting values, The input data includes the batch setting data, When the instruction received from the cloud server is the batch setting import instruction, and the received batch setting import instruction includes the storage location information, accessing the storage location indicated in the storage location information and acquiring the batch setting data from the storage location; execute, as the process in accordance with the batch setting import instruction received from the cloud server, a process of registering the setting values of the plurality of items written in the batch setting data acquired from the storage location.
2. A communications device configured to:
9. 9. The communication device according to claim 8, the communication device is a printer having a printing function, configured to register the setting values of the plurality of items related to printing and to execute printing in accordance with the registered setting values related to printing; The batch setting data includes the setting values of the plurality of items related to printing, When the instruction received from the cloud server is the batch setting import instruction, and the received batch setting import instruction includes the storage location information, accessing the storage location indicated in the storage location information and acquiring the batch setting data from the storage location; execute a process of registering the setting values of the plurality of items related to printing written in the batch setting data acquired from the storage location as the process in accordance with the batch setting import instruction received from the cloud server; 2. A communications device configured to:
10. 9. The communication device according to claim 8, the instruction not to require input includes an instruction to output a set value, the instruction instructing to output the set values of the plurality of registered items; When the instruction received from the cloud server is the setting value output instruction, a process for acquiring the input data is not executed, and a process for outputting the setting values of the plurality of registered items is executed as the process in accordance with the setting value output instruction received from the cloud server.
2. A communications device configured to:
11. 5. The communication device according to claim 4, specific storage location information indicating a specific storage location in which the specific input data is stored is stored in a memory, and the specific processing is executable using the specific input data; the instruction not requiring input includes a specific execution instruction for executing the specific process, If the instruction received from the cloud server is the specific execution instruction, accessing the specific storage location indicated in the specific storage location information stored in the memory without executing a process for acquiring the input data, and acquiring the specific input data from the specific storage location; execute the specific process using the acquired specific input data as the process in accordance with the specific execution instruction received from the cloud server.
2. A communications device configured to:
12. 12. The communication device according to claim 11, the specific storage location information indicating the specific storage location where a firmware update program is stored is stored in the memory as the specific input data; The specific process is configured to be capable of executing a firmware update process of rewriting the firmware using an update program for the firmware, the instruction not requiring input includes a firmware update instruction indicating an update of the firmware, If the instruction received from the cloud server is a firmware update instruction, accessing the specific storage location indicated in the specific storage location information stored in the memory without executing a process for acquiring the input data, and acquiring an update program for the firmware from the specific storage location; executing the firmware update process using the acquired update program for the firmware as the process in accordance with the firmware update instruction received from the cloud server; 2. A communications device configured to:
13. 2. The communication device according to claim 1, The instruction from the cloud server may include output location information indicating an output location of output data generated in accordance with the processing in accordance with the instruction, If the instruction received from the cloud server includes the output location information, Executing the process according to the instruction received from the cloud server; accessing the output location indicated in the output location information, and outputting the output data generated in association with the processing in accordance with the instructions to the output location; 2. A communications device configured to:
14. 14. The communication device according to claim 13, If the instruction received from the cloud server includes the output location information, executes the process in accordance with the instruction received from the cloud server, and further generates the output data in association with the process in accordance with the instruction, or does not generate the output data; When the output data is generated in association with the processing, the output data is output to the output location indicated in the output location information, and the cloud server is notified that the output data has been output; If the output data is not generated in association with the processing, the output data is not output to the output location indicated in the output location information, and the cloud server is notified that the output data was not output.
2. A communications device configured to:
15. 14. The communication device according to claim 13, The instructions that can be received from the cloud server include an output required instruction that requests the output of output data associated with the processing, and an output not required instruction that does not request the output of output data associated with the processing, When the instruction received from the cloud server is the output requirement instruction, and the received output requirement instruction includes the output location information, Executing the process according to the output requirement instruction received from the cloud server; accessing the output location indicated in the output location information, and outputting the output data generated in accordance with the processing in accordance with the output requirement instruction to the output location; If the instruction received from the cloud server is an instruction not to output, execute a process in accordance with the instruction not to output the output data received from the cloud server, without executing a process for outputting the output data.
2. A communications device configured to:
16. 16. The communication device of claim 15, When the instruction received from the cloud server is the output requirement instruction and the received output requirement instruction does not include the output location information, notifying the cloud server that the process according to the output requirement instruction received from the cloud server will not be executed, and further notifying the cloud server that the process for outputting the output data will not be executed; 2. A communications device configured to:
17. 17. The communication device of claim 16, The output requirement instruction receivable from the cloud server includes an input / output requirement instruction that requires input data to execute a process; When the instruction received from the cloud server is the input / output necessary instruction, and the received input / output necessary instruction includes both the storage location information and the output location information, accessing the storage location indicated in the storage location information and acquiring the input data from the storage location; Executing the process according to the input / output required instruction received from the cloud server using the input data acquired from the storage location; accessing the output location indicated in the output location information, and outputting the output data generated in accordance with the processing in accordance with the input / output required instruction to the output location; When the instruction received from the cloud server is the input / output necessary instruction, and the received input / output necessary instruction does not include at least one of the storage location information and the output location information, notifying the cloud server of not executing the process for acquiring the input data, not executing the process in accordance with the input / output required instruction received from the cloud server, not executing the process for outputting the output data, and not executing the process in accordance with the input / output required instruction; 2. A communications device configured to:
18. 14. The communication device according to claim 13, It is possible to register setting values for a plurality of items and operate according to the registered setting values, The method is configured to execute a process of generating batch output data into which the setting values of the plurality of registered items are written, The instructions receivable from the cloud server include a batch setting export instruction indicating output of the registered setting values; the output data includes the batch output data, When the instruction received from the cloud server is the batch setting export instruction, and the received batch setting export instruction includes the output location information, executes a process of generating the batch output data as the process according to the batch setting export instruction received from the cloud server; accessing the output location indicated in the output location information, and outputting the batch output data generated in accordance with the processing in accordance with the batch setting export instruction to the output location; 2. A communications device configured to:
19. 20. The communication device of claim 18, In response to acquiring collective setting data in which the setting values of the plurality of items to be registered are written, a process of registering the setting values written in the acquired collective setting data is executed, The instructions receivable from the cloud server include a bulk setting import instruction indicating registration of the setting values; The input data includes the batch setting data, When the instruction received from the cloud server is the batch setting import instruction, and the received batch setting import instruction includes the storage location information, accessing the storage location indicated in the storage location information and acquiring the batch setting data from the storage location; executes a process of registering the setting values of the plurality of items written in the batch setting data acquired from the storage location as the process in accordance with the batch setting import instruction received from the cloud server; When the instruction received from the cloud server is the batch setting export instruction, and the received batch setting export instruction includes the output location information, as the process according to the batch setting export instruction received from the cloud server, a process of generating the batch output data in the same format as the batch setting data used in a process of registering the setting values of the plurality of items according to the batch setting import instruction is executed; accessing the output location indicated in the output location information, and outputting the batch output data generated in accordance with the processing in accordance with the batch setting export instruction to the output location; 2. A communications device configured to:
20. 20. The communication device of claim 19, The instructions receivable from the cloud server include a batch setting import / export instruction indicating both registration of setting values and output of setting values; When the instruction received from the cloud server is the batch setting import / export instruction, and the received batch setting import / export instruction includes both the storage location information and the output location information, accessing the storage location indicated in the storage location information and acquiring the batch setting data from the storage location; as the process in accordance with the batch setting import / export instruction received from the cloud server, a process of registering the setting values written in the batch setting data acquired from the storage location is executed, and then a process of generating the batch output data in the same format as the batch setting data used in the process of registering the setting values of the plurality of items in accordance with the batch setting import instruction is executed; accessing the output location indicated in the output location information, and outputting the batch output data generated in accordance with the processing in accordance with the batch setting import / export instruction to the output location; 2. A communications device configured to:
21. 20. The communication device of claim 18, the communication device is a printer having a printing function, configured to register the setting values of the plurality of items related to printing and to execute printing in accordance with the registered setting values related to printing; The batch output data includes the setting values of the plurality of items related to printing. When the instruction received from the cloud server is the batch setting export instruction, and the received batch setting export instruction includes the output location information, a process of generating the batch output data in which the setting values of the plurality of items related to printing are written, as the process in accordance with the batch setting export instruction received from the cloud server; accessing the output location indicated in the output location information, and outputting the batch output data generated in accordance with the processing in accordance with the batch setting export instruction to the output location; 2. A communications device configured to:
22. 14. The communication device according to claim 13, A process of generating icon data representing the communication device is executed, The instruction receivable from the cloud server includes an icon output instruction for outputting the icon data, the output data includes the icon data; When the instruction received from the cloud server is the icon output instruction, and the received icon output instruction includes the output location information, executes a process of generating the icon data as the process in accordance with the icon output instruction received from the cloud server; accessing the output location indicated in the output location information, and outputting the icon data generated in accordance with the process in accordance with the icon output instruction to the output location; 2. A communications device configured to:
23. 14. The communication device according to claim 13, In response to acquiring command data that may include a plurality of commands, the device is configured to be able to execute a process according to the commands included in the acquired command data, The instruction receivable from the cloud server includes a command execution instruction that indicates execution of a process based on the command data; the input data includes the command data; When the instruction received from the cloud server is the command execution instruction, and the received command execution instruction includes both the storage location information and the output location information, accessing the storage location indicated in the storage location information and acquiring the command data from the storage location; the processing according to the command execution instruction received from the cloud server includes a case in which a processing according to the command included in the command data acquired from the storage location is executed, and further, a case in which the output data is generated in association with the processing according to the command, and a case in which the output data is not generated; When the output data is generated in association with the process according to the command, the output data is output to the output location indicated in the output location information; if the output data is not generated in accordance with the process in accordance with the command, the process for outputting the output data is not executed.
2. A communications device configured to:
24. 24. The communication device of claim 23, When the instruction received from the cloud server is the command execution instruction, and the received command execution instruction includes both the storage location information and the output location information, accessing the storage location indicated in the storage location information and acquiring the command data from the storage location; executes a process according to the command included in the command data acquired from the storage location as the process according to the command execution instruction received from the cloud server; When the output data is generated in association with the process according to the command, the output data is output to the output location indicated in the output location information, and the cloud server is notified that the output data has been output; if the output data is not generated in association with the process according to the command, notify the cloud server that the process for outputting the output data is not executed and the output data has not been output.
2. A communications device configured to:
25. 24. The communication device of claim 23, When the instruction received from the cloud server is the command execution instruction and the received command execution instruction does not include at least one of the storage location information and the output location information, notifying the cloud server that a process for acquiring the command data from the storage location indicated in the storage location information will not be executed, and a process for outputting the output data to the output location indicated in the output location information will not be executed, and that the process in accordance with the command execution instruction will not be executed; 2. A communications device configured to:
26. 24. The communication device of claim 23, the communication device is a printer having a printing function and configured to be able to execute processing in accordance with PJL (short for Printer Job Language) commands; the command data is PJL data that may include a plurality of PJL commands; When the instruction received from the cloud server is the command execution instruction, and the received command execution instruction includes both the storage location information and the output location information, accessing the storage location indicated in the storage location information and acquiring the PJL data from the storage location; As the process according to the command execution instruction received from the cloud server, a process according to the PJL command included in the PJL data acquired from the storage location is executed, and further, in association with the process according to the PJL command, there are a case where the output data is generated and a case where the output data is not generated, When the output data is generated in accordance with the process in accordance with the PJL command, the output data is output to the output location indicated in the output location information; if the output data is not generated in accordance with the process in accordance with the PJL command, then the process for outputting the output data is not executed.
2. A communications device configured to:
27. A communications device capable of executing a process in accordance with an instruction received from a cloud server, the instruction from the cloud server being capable of including output location information indicating an output location of output data generated in association with the process in accordance with the instruction; If the instruction received from the cloud server includes the output location information, Executing the process according to the instruction received from the cloud server; accessing the output location indicated in the output location information, and outputting the output data generated in association with the processing in accordance with the instructions to the output location; 2. A communications device configured to:
28. 28. The communication device of claim 27, The instructions that can be received from the cloud server include an output required instruction that requests the output of output data associated with the processing, and an output not required instruction that does not request the output of output data associated with the processing, When the instruction received from the cloud server is the output requirement instruction, and the received output requirement instruction includes the output location information, Executing the process according to the output requirement instruction received from the cloud server; accessing the output location indicated in the output location information, and outputting the output data generated in accordance with the processing in accordance with the output requirement instruction to the output location; If the instruction received from the cloud server is an instruction not to output, execute a process in accordance with the instruction not to output the output data received from the cloud server, without executing a process for outputting the output data.
2. A communications device configured to:
29. 28. The communication device of claim 27, In response to acquiring command data that may include a plurality of commands, the device is configured to be able to execute a process according to the commands included in the acquired command data, The instructions receivable from the cloud server include a command execution instruction indicating execution of a process based on the command data, and the command execution instruction can further include storage location information indicating a storage location where input data required for the process according to the command execution instruction is stored; the input data includes the command data; When the instruction received from the cloud server is the command execution instruction, and the received command execution instruction includes both the storage location information and the output location information, accessing the storage location indicated in the storage location information and acquiring the command data from the storage location; the processing according to the command execution instruction received from the cloud server includes a case in which a processing according to the command included in the command data acquired from the storage location is executed, and further, a case in which the output data is generated in association with the processing according to the command, and a case in which the output data is not generated; When the output data is generated in association with the process according to the command, the output data is output to the output location indicated in the output location information; if the output data is not generated in accordance with the process in accordance with the command, the process for outputting the output data is not executed.
2. A communications device configured to:
Citation Information
Patent Citations
Network system, information processing device, and method thereof
JP2012048567A