Relay program and relay device

JP7913357B2Active Publication Date: 2026-09-01BROTHER KOGYO KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022173163
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-10-28
Publication Date
2026-09-01
Estimated Expiration
2042-10-28

Smart Images

  • Figure 0007913357000001
    Figure 0007913357000001
  • Figure 0007913357000002
    Figure 0007913357000002
  • Figure 0007913357000003
    Figure 0007913357000003
Patent Text Reader

Abstract

To enable grasping whether or not updating of a control program has succeeded.SOLUTION: A relay program includes first and second acquisition units, an instruction unit, and a determination unit. The first acquisition unit is configured to acquire a version of a control program of a terminal device after updating. The instruction unit is configured to instruct updating of the control program in the terminal device. The second acquisition unit is configured to acquire a version of the control program installed in a restarted terminal device. The determination unit is configured to determine whether or not updating of the control program has been performed in the terminal device based on the version acquired by the first acquisition unit and the version acquired by the second acquisition unit.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a relay program and the like for relaying communication between a server and a terminal device.

Background Art

[0002] As described in Patent Document 1, there is known a technology for managing a terminal device having a function as an image forming apparatus such as a printer or a scanner by an MDM system that centrally manages terminal devices such as smartphones. In the MDM system of Patent Document 1, a server that manages smartphones and the like communicates with terminal devices serving as image forming apparatuses via a relay device, and manages these terminal devices.

Prior Art Literature

Patent Literature

[0003]

Patent Document 1

Summary of the Invention

Problem to be Solved by the Invention

[0004] Incidentally, in an MDM system, in response to an instruction from a server, a terminal device may update a control program (in other words, firmware) that controls the terminal device. However, although restarting the terminal device is required to update the control program, it is difficult for the terminal device whose control program has been updated to continue retaining the version information of the control program before the update even after the restart. For this reason, it is difficult for the terminal device to accurately grasp whether the update of the control program in the terminal device has succeeded, and it is also difficult for the server that instructed the update of the control program to accurately grasp this success or failure.

[0005] An object of the present disclosure is to make it possible to grasp whether or not an update of a control program has been successful.

Means for Solving the Problem

[0006] One aspect of this disclosure is a relay program for operating a computer as a relay device configured to relay communication between a server and a terminal device, comprising: a receiving unit; a first acquisition unit; an instruction unit; a second acquisition unit; and a determination unit. The receiving unit is configured to receive an update instruction from the server instructing the server to update a control program that controls the terminal device. The first acquisition unit is configured to acquire the version of the control program after it has been updated by the update instruction. The instruction unit is configured to instruct the terminal device to update the control program. The second acquisition unit is configured to acquire the version of the control program installed in the restarted terminal device. The determination unit is configured to determine whether or not the control program has been updated in the terminal device based on the version of the control program acquired by the first acquisition unit and the version of the control program acquired by the second acquisition unit, and to output the determination result to the outside.

[0007] According to the above configuration, whether or not the control program has been updated is determined based on the updated version of the control program obtained before the update and the version of the control program installed in the restarted terminal device. Therefore, it is possible to determine whether or not the control program update was successful.

[0008] In one aspect of this disclosure, a terminal device may be configured to provide a relay device with status information indicating the state of the terminal device. The status information may include at least information indicating that it is the first notification after the terminal device has been started up, and information indicating the version of the control program installed in the terminal device. The second acquisition unit may be configured to acquire the version of the control program from the acquired status information after the instruction unit has instructed the terminal device to update the control program and the second acquisition unit has acquired status information including information indicating that it is the first notification after the terminal device has been started up.

[0009] According to the above configuration, the version of the control program installed in the restarted terminal device can be suitably obtained. In one aspect of this disclosure, the first acquisition unit may be configured to acquire the updated control program based on an update instruction and to acquire the version of the updated control program by analyzing the acquired control program.

[0010] According to the above configuration, the updated version of the control program can be suitably obtained before the control program is updated on the terminal device. Another aspect of this disclosure is a relay device equivalent to a computer operating with the above-mentioned relay program. In this aspect, it is possible to determine whether or not the update of the control program was successful. [Brief explanation of the drawing]

[0011] [Figure 1] This is a block diagram showing the configuration of the terminal management system. [Figure 2] This is a block diagram showing the configuration of a terminal device. [Figure 3] This is a block diagram showing the configuration of the relay device. [Figure 4] This is a flowchart illustrating the process for updating the control program of a terminal device. [Modes for carrying out the invention]

[0012] The embodiments of this disclosure will be described below with reference to the drawings. However, the embodiments of this disclosure are not limited to those described below, and various forms may be taken as long as they fall within the technical scope of this disclosure.

[0013] [1. Overview] The terminal management system 1 of this embodiment includes a management server 2, a relay device 3, a plurality of terminal devices 4, and a plurality of mobile terminals 5 (see Figure 1).

[0014] The management server 2 and the relay device 3 are connected to a global network G and can communicate with each other via the global network G. The management server 2 and the relay device 3 communicate with each other using, for example, HTTPS (Hypertext Transfer Protocol Secure). The global network G can be any network, including, for example, the internet.

[0015] The terminal management system 1 functions as a so-called mobile device management system (in other words, an MDM system). The management server 2 can manage the mobile devices 5 by communicating with them via the global network G. For example, the management server 2 is owned by the provider of the MDM system service, and the relay device 3 is owned by the administrator who manages each terminal device 4 using the MDM system.

[0016] [2. Terminal devices] Terminal device 4 has the function of an image forming apparatus and has at least one of the following: a printer function that prints an image based on image data, and a scanning function that reads an image on a sheet and generates image data. Terminal device 4 may be configured as a portable, small device or as a stationary device.

[0017] As an example, the terminal device 4 is connected to a global network G, and is capable of communicating with the relay device 3 via the global network G. Further, as an example, the terminal device 4 may be connected to a local network L together with the relay device 3, and may be capable of communicating with the relay device 3 via the local network L. The local network L may be a so-called intranet, may be a wired network, may be a wireless network such as a wireless LAN, or may be a network in which wired and wireless are mixed. In addition, the terminal device 4 may be capable of communicating with the relay device 3 via a wired or wireless communication line such as USB, Bluetooth (registered trademark), or the like.

[0018] Note that the terminal device 4 is capable of communicating with the relay device 3 by, for example, HTTPS or the like. Further, as will be described in detail later, the terminal device 4 is configured to communicate with the management server 2 via the relay device 3. As an example, the terminal device 4 may be configured such that it cannot communicate with the management server 2 without going through the relay device 3.

[0019] The terminal device 4 includes a control unit 40, a storage unit 41, a user I / F 42, and a communication I / F 43 (see FIG. 2). Further, as an example, the terminal device 4 includes a printing unit 44 and a reading unit 45.

[0020] The control unit 40 has a CPU. The storage unit 41 includes, for example, semiconductor memories such as ROM, RAM, NVRAM, flash memory, and SSD. That is, the terminal device 4 includes a computer including a CPU and a semiconductor memory.

[0021] A control program 41A (in other words, firmware) for integrally controlling the terminal device 4 is stored in the storage unit 41, and various functions of the terminal device 4 are implemented when the control unit 40 operates in accordance with the control program 41A. Note that various functions implemented by the control unit 40 are not limited to being implemented by execution of the control program 41A, and a part or all of the functions may be implemented using one or a plurality of pieces of hardware.

[0022] The user I / F 42 includes an input device for accepting various inputs, such as a button or a touch panel. The user I / F 42 further includes a display device such as a liquid crystal panel or an LED display device.

[0023] The communication I / F 43 is a part for communicating with a device such as the relay device 3 via a communication line such as a global network G, a local network L, USB, or Bluetooth, for example.

[0024] Further, the printing unit 44 is a part for implementing the above-described printer function, and the reading unit 45 is a part for implementing the above-described scan function. Of course, the terminal device 4 may include either one of the printing unit 44 and the reading unit 45.

[0025] [3. Relay Device] The relay device 3 is configured to relay communication between the management server 2 and the terminal device 4. That is, the terminal device 4 communicates with the management server 2 via the relay device 3. The relay device 3 includes a control unit 30, a storage unit 31, a user I / F 32, and a communication I / F 33 (see FIG. 3).

[0026] The control unit 30 has a CPU. The storage unit 31 includes a semiconductor memory such as a ROM, a RAM, an NVRAM, a flash memory, or an SSD, for example. Furthermore, the storage unit 31 may include, for example, a hard disk drive or the like. That is, the relay device 3 includes a computer including a CPU and a semiconductor memory.

[0027] The relay device 3 has various programs installed, including the OS 31A and the relay program 31B (details of which will be described later). The storage unit 31 has a configuration as a non-transitional physical recording medium, and programs such as the OS 31A and the relay program 31B are stored there. The control unit 30 executes the programs such as the OS 31A and the relay program 31B stored in the storage unit 31, which is a non-transitional physical recording medium, thereby realizing the various functions of the relay device 3. Note that the various functions realized by the control unit 30 are not limited to being realized by program execution, and some or all of them may be realized using one or more hardware components.

[0028] The relay program 31B may be pre-installed on the relay device 3, for example. Alternatively, the relay program 31B may be provided stored on a storage medium such as a DVD-ROM or USB memory, and installed on the relay device 3 by reading the relay program 31B from the storage medium. Furthermore, the relay program 31B may be installed on the relay device 3 by downloading it via a global network G or a local network L, for example.

[0029] In addition, the memory unit 31 has an action database (DB) formed within it, which is a database for registering actions described later. The User I / F32 includes input devices for receiving various inputs from the administrator, such as a keyboard and mouse. The User I / F32 also includes display devices, such as an LCD panel and an LED display device.

[0030] Communication I / F33 communicates with management server 2, for example, via global network G. Furthermore, communication I / F33 communicates with terminal device 4, for example, via global network G, local network L, or communication lines such as USB or Bluetooth.

[0031] [4. Functions of the terminal management system] The administrator of terminal device 4 manages terminal device 4 by accessing the management site on management server 2, for example, using a web browser. Management server 2 manages terminal device 4 by communicating with terminal device 4 via relay device 3, following instructions received from the administrator via the management site. The function of relay device 3 for managing terminal device 4 is realized by the control unit 30 executing relay program 31B.

[0032] As an example, terminal management system 1 has an action instruction function, a periodic monitoring function, and a self-check monitoring function. The action instruction function is a function that causes the terminal device 4 to perform an action. The action may be, for example, updating various settings, updating the control program 41A, installing a certificate, downloading a file, or sending status information.

[0033] The relay device 3 registers the actions to be performed by the terminal device 4 in the action DB provided in the storage unit 31. The terminal device 4 also polls the relay device 3 to determine whether or not there is an action that should be performed by the terminal device 4. For example, the terminal device 4 sends a polling command to itself at periodic intervals (for example, every 5 seconds). When the relay device 3 receives a polling command from the terminal device 4, it determines whether or not the action that the terminal device 4 should perform is registered in the action DB. If the action is registered, the relay device 3 sends a command to the terminal device 4 indicating the action to be performed.

[0034] The periodic monitoring function is a function in which the relay device 3 periodically acquires status information indicating the status of the terminal device 4 from the terminal device 4. The status information may include, for example, various setting values ​​related to the image formation function, the remaining battery level 56, the remaining amount of colorant, the remaining amount of paper, the location of the terminal device 4, or the user name of the terminal device.

[0035] In addition, the status information includes a status indicating the version of the control program 41A of the terminal device 4, and a status indicating that this is the first status information notification after the terminal device 4 has started up (hereinafter referred to as the startup flag). The terminal device 4 transmits status information due to startup by power-on or restart due to an update of the control program 41A. The startup flag in this status information is set to ON. On the other hand, the startup flag in status information transmitted for the second time or later after the terminal device 4 has started up or restarted is set to OFF.

[0036] The storage unit 31 of the relay device 3 is equipped with a management database that stores status information for each terminal device 4. When the control unit 30 of the relay device 3 receives status information, it updates the management database based on that status information.

[0037] The self-check monitoring function is a function that, when the status of terminal device 4 changes, transmits status information indicating the changed status from terminal device 4 to relay device 3. When the control unit 30 of relay device 3 receives this status information, it updates the management DB based on this status information.

[0038] Therefore, for example, an administrator can access the management database of the relay device 3 via the management site and check the status of the terminal device 4. Also, for example, an administrator can request actions on the terminal device 4 via the management site.

[0039] In addition, the administrator can manage the terminal device 4 in the same way as when using the management server 2 by directly accessing the relay device 3 without going through the management server 2. For example, the administrator can manage the terminal device 4 by operating the user interface 34 of the relay device 3, or by accessing the management site on the relay device 3 using a web browser.

[0040] [5. Updating the control program of the terminal device] Next, the update process for updating the control program 41A of the terminal device 4 using a new version of the control program provided by the server (hereinafter referred to as the new control program) will be explained using the flowchart in Figure 4. This process is executed as one of the actions described above. The server providing the new control program may be connected to the global network G or to the local network L to which the terminal device 4 is connected. In this process, the processing at the relay device 3 is achieved by the control unit 30 operating according to the relay program 31B, and the processing at the terminal device 4 is achieved by the control unit 40 operating according to the control program 41A.

[0041] In S100, the management server 2 sends an update instruction for the control program 41A to the relay device 3, in accordance with the instructions received from the administrator of the terminal device 4 via the management site. At this time, the management server 2 may also send to the relay device 3 identification information of the terminal device 4 whose control program 41A is to be updated, and server information (e.g., URL) that identifies the server providing the new control program.

[0042] In S105, the control unit 30 of the relay device 3, having received an instruction to update the control program 41A, downloads the new control program from the server. In the following S110, the control unit 30 analyzes the downloaded new control program to determine whether the new control program is firmware corresponding to the terminal device 4, and also determines the version of the new control program. The control unit 30 then saves the version of the new control program to the storage unit 31 and discards the downloaded new control program. The control unit 30 may also obtain the version of the new control program from the server without downloading the new control program from the server. In the following S115, the control unit 30 registers "update of control program 41A" as an action for the terminal device 4 specified by the management server 2 in the action DB.

[0043] It should be noted that there may be cases where the relay device 3 cannot update the control program 41A of the terminal device 4, such as when there is no terminal device 4 that can communicate with the relay device 3. In such cases, the control unit 30 of the relay device 3 deletes the registered "update of control program 41A" from the action DB and sends a message to the management server 2 indicating that the update of the control program 41A is not possible.

[0044] In S120, the control unit 40 of the terminal device 4 sends a polling command to the relay device 3 to check whether there is an action to be performed on the terminal device 4. If "update control program 41A" is registered as an action for the terminal device 4 in the action DB, the control unit 30 of the relay device 3 sends a command to the terminal device 4 instructing it to "update control program 41A". At this time, the server information of the server that provides the new control program is also sent to the terminal device 4.

[0045] Upon receiving the above command, the control unit 40 of the terminal device 4 sends a command to the relay device 3 instructing it to delete the action specified in the action DB. Upon receiving this command, the control unit 30 of the relay device 3 deletes the action from the action DB.

[0046] In S125, the control unit 30 of the relay device 3 saves the version of the new control program, which was identified in S110, to the storage unit 31. Then, in S130, the control unit 30 sends a message to the management server 2 indicating that the update of the control program 41A on the terminal device 4 has started.

[0047] Meanwhile, in S135, the control unit 40 of the terminal device 4 downloads a new control program from the server identified by the server information. Then, in S140, the control unit 40 transmits to the relay device 3 whether or not the download of the new control program was successful, and in S145, the control unit 40 saves the downloaded new control program to the storage unit 41. Then, in S150, the control unit 40 updates the control program 41A stored in the storage unit 41 with the downloaded new control program.

[0048] Furthermore, if the terminal device 4 does not download the new control program after receiving an instruction to update the control program 41A, even after the time limit has elapsed, the control unit 30 of the relay device 3 will send a message to the management server 2 indicating that the update of the control program 41A failed.

[0049] Once the update of control program 41A is complete, terminal device 4 is restarted (S155), and control unit 40 transmits status information to relay device 3 due to the restart (S160). The startup flag in the status information transmitted first after the restart is in the ON state. The status information transmitted after the restart also includes the version of the new control program.

[0050] Meanwhile, the control unit 30 of the relay device 3, which has received the status information, determines whether the startup flag included in the status information is in the ON state (S165). If the startup flag is in the ON state, the control unit 30 recognizes the version of the control program 41A included in the status information as the updated version of the control program 41A. If the version saved in S125 matches the newly recognized version, the control unit 30 determines that the update of the control program 41A was successful. If these versions do not match, the control unit 30 determines that the update of the control program 41A was unsuccessful.

[0051] Then, in S170, the control unit 30 of the relay device 3 sends the result of the determination of whether or not the update of the control program 41A was successful to the management server 2. In the following S175, the control unit 30 sends the latest status information of the terminal device 4 that instructed the management server 2 to update the control program 41A.

[0052] The instruction to update the control program 41A sent from the management server 2 to the relay device 3 in S100 may also be an instruction to update the control programs 41A of multiple terminal devices 4 at once. In such a case, the control programs 41A of each terminal device 4 whose control program 41A is to be updated may be updated by performing the same processing as in S115 to S175.

[0053] [6. Effects] (1) According to the above embodiment, whether or not the control program has been updated is determined based on the version of the new control program acquired before the update of the control program 41A in the terminal device 4 and the version of the control program 41A installed in the restarted terminal device 4. Therefore, it is possible to determine whether or not the update of the control program 41A was successful.

[0054] (2) The relay device 3 also recognizes the version of the control program 41A included in the status information where the startup flag is ON as the updated version of the control program 41A. Therefore, it can suitably obtain the version of the control program 41A installed in the restarted terminal device 4.

[0055] (3) Furthermore, before the control program 41A is updated on the terminal device 4, the relay device 3 downloads the updated new control program from the server and checks the version of the new control program by analyzing it. This allows the version of the new control program to be suitably obtained before the control program 41A is updated on the terminal device 4.

[0056] [7. Other Embodiments] (1) In the above embodiment, the relay device 3 and the terminal device 4 are configured to communicate directly. However, the relay device 3 and the terminal device 4 may communicate via an intermediary device. Specifically, in the above embodiment, as an example, the relay device 3 and the terminal device 4 communicate via HTTPS, but if the terminal device 4 does not support HTTPS, for example, an intermediary device capable of HTTPS communication may be used. That is, communication between the terminal device 4 and the intermediary device may be conducted via HTTP, for example, and communication between the intermediary device and the relay device 3 may be conducted via HTTPS, thereby relaying the communication between the relay device 3 and the terminal device 4 through the intermediary device.

[0057] In this case as well, the control program 41A of the terminal device 4 is updated in the same manner as the update process described above. However, in step S135 of the update process, the terminal device 4 may download the new control program from the server via the intermediary device. That is, the intermediary device may download the new control program from the server and then provide the new control program to the terminal device 4. Of course, the terminal device 4 is not limited to this and may download the new control program directly from the server.

[0058] (2) In addition, the terminal device 4 polls the relay device 3, which then sends an action command to the terminal device 4. However, the method of sending from the relay device 3 to the terminal device 4 is not limited to this and can be implemented in various ways.

[0059] (3) In the above embodiment, the startup flag and the version of the control program 41A are transmitted from the terminal device 4 to the relay device 3 as part of the status information of the terminal device 4. However, the startup flag and the version of the control program 41A may be transmitted from the terminal device 4 to the relay device 3 separately from the status information. Specifically, for example, if communication between the terminal device 4 and the relay device 3 is performed via HTTPS, the startup flag and the version of the control program 41A may be transmitted to the relay device 3 using query parameters.

[0060] (4) Multiple functions of one component in the above embodiment may be realized by multiple components, or one function of one component may be realized by multiple components. Also, multiple functions of multiple components may be realized by one component, or one function realized by multiple components may be realized by one component. Furthermore, some of the configurations of the above embodiment may be omitted. Also, at least some of the configurations of the above embodiment may be added to or replaced with the configurations of other above embodiments.

[0061] (5) In addition to the relay device 3 described above, the present disclosure can also be implemented in various forms, such as a non-transitional physical recording medium such as a semiconductor memory or a hard disk drive in which the relay program 31B is stored, or a method for responding to the update process realized by the relay program 31B.

[0062] [8. Correspondence between wordings] In the update process, S100 corresponds to an example of a reception unit, S105 and S110 correspond to an example of a first acquisition unit, S115 and S120 correspond to an example of an instruction unit, S160 corresponds to an example of a second acquisition unit, and S165 and S170 correspond to an example of a determination unit. [Explanation of Symbols]

[0063] 1...Terminal management system, 2...Management server, 3...Relay device, 30...Control unit, 31...Storage unit, 31B...Relay program, 4...Terminal device, 40...Control unit, 41...Storage unit, 41A...Control program, 42...Printing unit, 43...Reading unit, G...Global network, L...Local network.

Claims

1. A relay program that operates a computer as a relay device configured to relay communication between a server and a terminal device, A receiving unit configured to receive update instructions from the server for updating the control program that controls the terminal device, A first acquisition unit is configured to acquire the version of the control program after it has been updated according to the update instruction, An instruction unit configured to instruct the terminal device to update the control program, A second acquisition unit configured to acquire the version of the control program installed in the restarted terminal device, A determination unit is configured to determine whether or not the control program has been updated in the terminal device based on the version of the control program acquired by the first acquisition unit and the version of the control program acquired by the second acquisition unit, and to output the determination result to the outside. Equipped with, The terminal device is configured to provide status information indicating the state of the terminal device to the relay device. The status information includes at least information indicating that it is the first notification after the terminal device has been started up, and information indicating the version of the control program installed in the terminal device. The second acquisition unit is configured to acquire the version of the control program from the acquired status information, which includes information indicating that it is the first notification after the terminal device has started up, after the instruction unit has instructed the terminal device to update the control program. Live broadcast program.

2. In the relay program described in claim 1, The first acquisition unit is configured to acquire the updated control program based on the update instruction and to acquire the updated version of the control program by analyzing the acquired control program. Live broadcast program.

3. A relay device configured to relay communication between a server and a terminal device, A receiving unit configured to receive update instructions from the server for updating the control program that controls the terminal device, A first acquisition unit is configured to acquire the version of the control program after it has been updated according to the update instruction, An instruction unit configured to instruct the terminal device to update the control program, A second acquisition unit configured to acquire the version of the control program installed in the restarted terminal device, A determination unit is configured to determine whether or not the control program has been updated in the terminal device based on the version of the control program acquired by the first acquisition unit and the version of the control program acquired by the second acquisition unit, and to output the determination result to the outside. Equipped with, The terminal device is configured to provide status information indicating the state of the terminal device to the relay device. The status information includes at least information indicating that it is the first notification after the terminal device has been started up, and information indicating the version of the control program installed in the terminal device. The second acquisition unit is configured to acquire the version of the control program from the acquired status information, which includes information indicating that it is the first notification after the terminal device has started up, after the instruction unit has instructed the terminal device to update the control program. Relay device.

Citation Information

Patent Citations

  • Control method for printer, printer, management device, and program

    JP2019185802A

  • program

    JP2019191948A

  • Terminal device and program

    JP2022070493A

  • Control device, control method, and computer program

    WO2019187535A1