Processing apparatus, processing method, and processing program
The processing device with integrated firmware management capabilities simplifies device replacement by ensuring consistent firmware versions across a system, streamlining maintenance processes.
Patent Information
- Application Number
- JP2024130570
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2026-02-20
AI Technical Summary
In systems with multiple processing devices, replacing a device can be cumbersome due to the need to ensure consistent firmware versions across all devices, which requires significant time and effort from maintenance technicians.
A processing device equipped with a FW storage unit for server and client firmware, an update file storage unit, and a processing unit that manages firmware updates by acquiring and distributing update files to maintain consistent versions across the system.
Facilitates easier replacement of processing devices by automatically updating firmware to the latest version, reducing maintenance time and effort.
Smart Images

Figure 2026028295000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a processing device, a processing method, and a processing program. [Background technology]
[0002] There is a system in which a plurality of processing devices (for example, processing boards) are connected in series, and it is considered that such a system can be used, for example, as a system for reading and processing images of an object.
[0003] For example, in the method described in Patent Document 1, in a system configured with multiple processing devices connected in series, each processing device adds a predetermined addend to a count value input from a previous device and outputs the result to a subsequent device. Each processing device then determines which process to perform from multiple candidates depending on the input count value, and performs the determined process. In this way, the method described in Patent Document 1 can realize processing depending on the order in which the processing device is connected. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2023-85592 Summary of the Invention [Problem to be solved by the invention]
[0005] In a system configured with a plurality of processing devices, such as that disclosed in Patent Document 1, it is assumed that one of the processing devices needs to be replaced. The replacement of a processing device is performed, for example, when a processing device breaks down.
[0006] However, if there are processing devices with inconsistent firmware versions among multiple processing devices, there is a possibility that malfunctions will occur due to different operation of the processing devices. Therefore, when replacing a processing device, it is considered that the maintenance technician performing the replacement checks the firmware version of the processing device before replacement and updates the firmware of the replacement processing device to the same version as the firmware of the processing device before replacement. However, this method requires a lot of time and effort for the maintenance technician to perform the replacement work.
[0007] In view of the above-mentioned problems, the object of the present disclosure is to provide a processing device, a processing method, and a processing program that enable processing device replacement work to be performed more easily in a system configured with multiple processing devices connected together. [Means for solving the problem]
[0008] In one aspect of the present invention, a processing device, in a system configured by connecting a plurality of processing devices, comprises: a FW storage unit that stores processing firmware including server firmware that is firmware used when operating as a server, and client firmware that is firmware used when operating as a client; an update file storage unit that stores update files that are files used when updating the processing firmware stored in the FW storage unit; and a processing unit that performs processing using the server firmware when operating as a server, and performs processing using the client firmware when operating as a client, and when operating as a server, the processing unit, when operating as a server, obtains version information that is information related to versions of the processing firmware stored in each of the processing devices included in the system, and stores the version information in its own processing device. When processing firmware newer than the processing firmware currently being stored in another processing device, the processing unit acquires an update file stored in the other processing device from the other processing device that stores the latest version of the processing firmware and stores it in the update file storage unit of the processing device itself, updates the processing firmware stored in the FW storage unit of the processing device itself using the update file stored in the update file storage unit, and transmits the update file stored in the update file storage unit of the processing device itself to the other processing device whose processing firmware is not the latest version, and when the processing unit operates as a client, when it receives an update file, it stores the received update file in the update file storage unit of the processing device itself, and updates the processing firmware stored in the FW storage unit of the processing device itself using the update file stored in the update file storage unit.
[0009] In another aspect of the present invention, a processing method is provided in a system configured by connecting a plurality of processing devices, wherein the processing device stores processing firmware including server firmware that is firmware used when the processing device operates as a server and client firmware that is firmware used when the processing device operates as a client, and an update file that is a file used when updating the processing firmware, by using the server firmware when the processing device operates as a server, acquiring version information that is information related to the version of the processing firmware stored in each of the processing devices included in the system, and updating the processing firmware stored in its own processing device. When newer processing firmware is stored in another processing device, the device acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware and stores it in its own processing device, updates the processing firmware stored in its own processing device using the update file stored in its own processing device, transmits the update file stored in its own processing device to the other processing device whose processing firmware is not the latest version, and when operating as a client, when it receives the update file using the client firmware, stores the received update file in its own processing device, and updates the processing firmware stored in its own processing device using the stored update file.
[0010] In another aspect of the present invention, in a system configured by connecting a plurality of processing devices, a processing program of the processing device storing processing firmware including server firmware which is firmware used when the processing device operates as a server and client firmware which is firmware used when the processing device operates as a client, and an update file which is a file used when updating the processing firmware, causes a computer to realize a server processing function which performs processing using the server firmware when operating as a server, and a client processing function which performs processing using the client firmware when operating as a client, and the server processing function is a function of updating the processing firmware stored in each of the processing devices included in the system. The version information, which is information relating to the version, is acquired, and when processing firmware newer than the processing firmware stored in the own processing device, which is the processing device itself, is stored in another processing device, an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware is acquired and stored in the own processing device, the update file stored in the own processing device is used to update the processing firmware stored in the own processing device, and the update file stored in the own processing device is transmitted to the other processing device whose processing firmware is not the latest version, and when the client processing function receives the update file, the received update file is stored in the own processing device, and the stored update file is used to update the processing firmware stored in the own processing device. [Effects of the Invention]
[0011] According to the present disclosure, in a system configured with a plurality of processing devices connected together, it becomes possible to more easily replace a processing device. [Brief explanation of the drawings]
[0012] [Figure 1]FIG. 1 is a diagram illustrating an example of the configuration of a processing device according to the present disclosure. [Figure 2] FIG. 10 is a diagram illustrating an example of an operation flow of a processing device according to the present disclosure. [Figure 3] FIG. 10 is a diagram illustrating an example of an operation flow of a processing device according to the present disclosure. [Figure 4] FIG. 1 is a diagram illustrating an example of the configuration of a system including a processing device according to the present disclosure. [Figure 5] FIG. 1 is a diagram illustrating an example of the configuration of a processing device according to the present disclosure. [Figure 6] FIG. 2 is a diagram illustrating a configuration example of a storage unit of a processing device according to the present disclosure. [Figure 7] FIG. 1 is a diagram illustrating an example of connections of processing devices according to the present disclosure. [Figure 8] FIG. 1 is a diagram illustrating an example of connections of processing devices according to the present disclosure. [Figure 9] FIG. 1 is a diagram illustrating an example of connections of processing devices according to the present disclosure. [Figure 10] FIG. 10 is a diagram illustrating an example of an operation flow of a processing device according to the present disclosure. [Figure 11] FIG. 10 is a diagram illustrating an example of an operation flow of a processing device according to the present disclosure. [Figure 12] FIG. 10 is a diagram illustrating an example of an operation flow of a processing device according to the present disclosure. [Figure 13] FIG. 10 is a diagram illustrating an example of an operation flow of a processing device according to the present disclosure. [Figure 14] FIG. 10 is a diagram illustrating an example of an operation flow of a processing device according to the present disclosure. [Figure 15] FIG. 1 is a diagram illustrating an example of a hardware configuration according to each embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0013] [First embodiment] A first embodiment of the present disclosure will be described.
[0014] A specific example of the processing device 10 in the first embodiment is a processing device 20 in a second embodiment, which will be described later.
[0015] First, an example of the configuration of the processing device 10 will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of the configuration of the processing device 10. The processing device 10 includes an FW storage unit (firmware storage unit) 101, an update file storage unit 102, and a processing unit 12.
[0016] The processing device 10 is included in a system configured by connecting two or more processing devices 10 together.
[0017] The FW storage unit 101 stores processing firmware. The processing firmware includes server firmware and client firmware. The server firmware is firmware used when the processing device 10 operates as a server. The client firmware is firmware used when the processing device 10 operates as a client.
[0018] The update file storage unit 102 stores update files. The update files are files used when the processing device 10 updates the processing firmware stored in the FW storage unit (firmware storage unit) 101. The update files may also be called update firmware images.
[0019] When the processing unit 12 operates as a server, it performs processing using server firmware, and when the processing unit 12 operates as a client, it performs processing using client firmware.
[0020] Furthermore, when the processing device 10 operates as a server, the processing unit 12 acquires version information, which is information relating to the version of the processing firmware stored in each of the processing devices 10 included in the system. The version information is information relating to the version of the processing firmware. Furthermore, when processing firmware newer than the processing firmware stored in the processing device itself is stored in another processing device, the processing unit 12 acquires an update file stored in the other processing device from the other processing device that stores the latest version of the processing firmware. The processing device itself is the processing device itself. The other processing device is another processing device.
[0021] Furthermore, the processing unit 12 stores the acquired update file in the update file storage unit 102 of the processing device itself.
[0022] Furthermore, the processing unit 12 updates the processing firmware stored in the FW storage unit 101 of the processing device itself, using the update file stored in the update file storage unit 102. Furthermore, the processing unit 12 transmits the update file stored in the update file storage unit 102 of the processing device itself to other processing devices whose processing firmware is not the latest version.
[0023] Furthermore, when the processing unit 12 operates as a client and receives an update file, the processing unit 12 stores the received update file in the update file storage unit 102 of the processing device itself. Furthermore, the processing unit 12 uses the update file stored in the update file storage unit 102 to update the processing firmware stored in the FW storage unit 101 of the processing device itself.
[0024] Next, Fig. 2 and Fig. 3 show examples of the operation flow of the processing device 10. Fig. 2 shows an example of the operation flow when the processing device 10 operates as a server. Fig. 3 shows an example of the operation flow when the processing device 10 operates as a client.
[0025] Furthermore, when the processing device 10 operates as a server, the processing unit 12 acquires version information of the processing firmware (processing FW) stored in each of the processing devices 10 included in the system (step S101 in FIG. 2).
[0026] Furthermore, if processing firmware newer than the processing firmware stored in the own processing device is stored in the other processing device (YES in step S102), the processing unit 12 acquires an update file stored in the other processing device from the other processing device that stores the latest version of the processing firmware. The processing unit 12 also stores the acquired update file in the update file storage unit 102 of the own processing device (step S103). The processing unit 12 also updates the processing firmware stored in the FW storage unit 101 of the own processing device using the update file stored in the update file storage unit 102 (step S104).
[0027] Furthermore, the processing unit 12 transmits the update file stored in the update file storage unit 102 of the processing device to the other processing device whose processing firmware is not the latest version (step S105).
[0028] Furthermore, when operating as a client, if the processing unit 12 receives an update file, it stores the received update file in the update file storage unit 102 of its own processing device (step S111 in FIG. 3). Furthermore, the processing unit 12 uses the update file stored in the update file storage unit 102 to update the processing firmware stored in the FW storage unit 101 of its own processing device (step S112).
[0029] As described above, in the first embodiment of the present disclosure, the processing device 10 includes a FW storage unit 101, an update file storage unit 102, and a processing unit 12. The processing device 10 is included in a system configured by connecting two or more processing devices 10. The FW storage unit 101 stores processing firmware. The processing firmware includes server firmware and client firmware. The server firmware is firmware used when the processing device 10 operates as a server. The client firmware is firmware used when the processing device 10 operates as a client. The update file storage unit 102 stores update files. The update files are files used when updating the processing firmware stored in the FW storage unit 101. When operating as a server, the processing unit 12 performs processing using the server firmware. When operating as a client, the processing unit 12 performs processing using the client firmware. When operating as a server, the processing unit 12 acquires version information, which is information related to the version of the processing firmware stored in each of the processing devices 10 included in the system. The version information is information relating to the version of the processing firmware. Furthermore, when processing firmware newer than the processing firmware stored in the own processing device is stored in the other processing device, the processing unit 12 acquires an update file stored in the other processing device from the other processing device that stores the latest version of the processing firmware. The own processing device is its own processing device. The other processing device is another processing device. Furthermore, the processing unit 12 stores the acquired update file in the update file storage unit 102 of the own processing device. Furthermore, the processing unit 12 updates the processing firmware stored in the FW storage unit 101 of the own processing device using the update file stored in the update file storage unit 102. Furthermore, the processing unit 12 transmits the update file stored in the update file storage unit 102 of the own processing device to the other processing device whose processing firmware is not the latest version.Furthermore, when the processing unit 12 operates as a client and receives an update file, the processing unit 12 stores the received update file in the update file storage unit 102 of the processing device itself. Furthermore, the processing unit 12 uses the update file stored in the update file storage unit 102 to update the processing firmware stored in the FW storage unit 101 of the processing device itself.
[0030] In this way, when the processing device 10 operates as a server, if another processing device stores processing firmware that is newer than the processing firmware stored in the processing device itself, the processing device 10 acquires an update file for updating the processing firmware to the latest version from the other processing device. Furthermore, when the processing device 10 operates as a server, the processing device 10 transmits an update file for updating the processing firmware to the latest version to another processing device whose processing firmware is not the latest version. This automatically updates the processing firmware of the processing devices in the system to the latest version, allowing maintenance personnel to replace processing devices without worrying about the version of the processing firmware. This makes it possible to more easily replace processing devices in a system in which multiple processing devices are connected.
[0031] [Second embodiment] Next, a processing device 20-i according to a second embodiment of the present disclosure will be described. Note that the processing device 20-i according to the second embodiment is a specific example of the processing device 10 according to the first embodiment.
[0032] First, FIG. 4 shows an example of the configuration of a system configured with processing devices 20-i (i is an integer between 1 and N, N is an integer greater than or equal to 2). When there is no need to distinguish between the processing devices 20-1 to 20-N, they may simply be referred to as processing devices 20. The system is configured by connecting two or more processing devices 20. In the example shown in FIG. 4, the system is configured by connecting N processing devices 20 in series. The "i" in processing device 20-i indicates that processing device 20-i is the i-th processing device connected. The position at which a processing device is connected will hereinafter be referred to as the connection position. The position at which a processing device is connected indicates the order in which the processing device is connected. The processing device 20 may be a substrate.
[0033] Next, Fig. 5 shows an example of the configuration of the processing device 20-i. The processing device 20-i includes an adder 21-i, a processor 22-i, an end detection unit 24-i, an acquisition unit 25-i, a communication unit 27-i, a pull-up circuit 28-i, and a storage unit 29-i. The adder 21-i, the end detection unit 24-i, and the acquisition unit 25-i are included in an FPGA (field-programmable gate array) 26-i. In this way, the processing devices 20-1 to 20-N of this embodiment have the same configuration.
[0034] 6 shows an example of the configuration of a storage unit 29-i included in the processing device 20-i. The storage unit 29-i includes an FW storage unit (firmware storage unit) 201-i and an update file storage unit 202-i.
[0035] 7 to 9 show connection examples of the processing devices 20-i of this embodiment. FIG. 7 shows a connection example of the processing device 20-1 at the front stage. FIG. 8 shows a connection example of the processing device 20-k (k is an integer equal to or greater than 2 and equal to or less than (N-1)). FIG. 9 shows a connection example of the processing device 20-N at the last stage.
[0036] The FW storage unit 201-i stores processing firmware. The processing firmware includes server firmware and client firmware. The server firmware is used when the processing unit 22-i operates as a server. The client firmware is used when the processing unit 22-i operates as a client.
[0037] The update file storage unit 202-i stores update files. The update files are files used to update the processing firmware stored in the FW storage unit 201-i. The update files may also be called update firmware images. The update file storage unit 202-i stores update files of the same version as the processing firmware stored in the FW storage unit 201-i before the processing device 20-i is connected to other processing devices and started up. The size of the update files is smaller than the size of the processing firmware. The update files may be, for example, compressed processing firmware.
[0038] The adder 21-i adds a predetermined additional value to the input count value and outputs the result. In this embodiment, the additional value is assumed to be 1. Also, in this embodiment, the initial value of the count value is assumed to be 0.
[0039] The count value is input from a preceding device, which is a processing device in a preceding stage, if such exists. Also, the frontmost processing device 20-1 does not have a preceding device. Therefore, an initial value is input as the count value to the adding unit 21-1. Also, if a subsequent device, which is a processing device in a subsequent stage, exists, the count value to which the additional value is added is output to the subsequent device.
[0040] In this manner, in the present embodiment, the adder 21-1 of the processing device 20-1 adds the additional value (1) to the initial value (0) and outputs the result to the adder 21-2 of the processing device 20-2 (FIG. 7). Also, the adder 21-k of the processing device 20-k (2≦k≦(N−1)) receives the value obtained by subtracting 1 from k as a count value. Also, the adder 21-k of the processing device 20-k outputs k as a count value to the adder 21-(k+1) of the processing device 20-(k+1) (FIG. 8). Also, the adder 21-N of the processing device 20-N receives (N−1) as a count value (FIG. 9). That is, the value obtained by subtracting 1 from i is received as a count value in the processing device 20-i. This allows the processing device 20-i to grasp the connection position of the processing device 20-i. Furthermore, even if the initial value is not 0 or the additional value is not 1, the connection position can be determined based on the count value, the initial value, and the additional value.
[0041] The processing unit 22-i stores the count value input to the adding unit 21-i in a storage means (for example, the storage unit 29-i or the storage device 94 described later).
[0042] Furthermore, the processing unit 22-i operates as both a server and a client when the input count value satisfies a predetermined condition, and operates as a client when the input count value does not satisfy the condition. The condition is, for example, that the input count value is a predetermined value, such as an initial value. When operating as a server, the processing unit 22-i performs processing using server firmware. When operating as a client, the processing unit 22-i performs processing using client firmware.
[0043] The processing device 20-i reads the processing firmware stored in the FW storage unit 201-i into a storage device (storage device 94, described later) and performs processing according to the read processing firmware. The server firmware read into the storage device may hereinafter be referred to as a server program. The client firmware read into the storage device may hereinafter be referred to as a client program. When the processing device 20-i operates as a client, it is not necessary to read the server firmware into the storage device.
[0044] Furthermore, the processing unit 22-i sets the network address of its own processing device (processing device 20-i) based on the input count value, and stores it in the storage means.
[0045] For example, since (i-1) is input as the count value to the adder 21-i of the processing device 20-i, the processing unit 22-i sets an IP (Internet Protocol) address including the count value, such as "192.168.0.(i-1)".
[0046] The communication unit 27-i communicates with other processing devices (other processing devices). As shown in FIG. 7, the communication unit 27-1 of the processing device 20-1 is connected to the communication unit 27-2 of the processing device 20-2. As shown in FIG. 8, the communication unit 27-k of the processing device 20-k is connected to the communication unit 27-(k-1) of the processing device 20-(k-1). As shown in FIG. 9, the communication unit 27-N of the processing device 20-N is connected to the communication unit 27-(N-1) of the processing device 20-(N-1).
[0047] The communication unit 27-i communicates with other processing devices using the network address set by the processing unit 22-i. The communication unit 27-i may be located outside the processing device 20-i.
[0048] The end detection unit 24-i detects whether the end input value is “0 (High)” or “1 (Low).” The end input value is an input value that indicates whether the processing device 20-i is the last stage.
[0049] If the processor 20-i is not the last stage, i.e., if i is 1 or more and (N-1) or less, the termination detector 24-i is connected to the pull-up circuit 28-(i+1) of the subsequent stage device (FIGS. 7 and 8). As a result, the termination detector 24-i receives a termination input value of "1," i.e., a value indicating that the processor is not the last stage.
[0050] Furthermore, the termination detector 24-N of the last-stage processor 20-N is connected to a pull-down circuit 50 (FIG. 9). As a result, "0", i.e., a termination input value indicating that it is the last stage, is input to the termination detector 24-N. The pull-down circuit 50 is provided, for example, in a housing that houses the processor 20-i.
[0051] When the terminal input value detected by the terminal detection unit 24-i is "0", the processing unit 22-i stores terminal information indicating that the processing device itself (processing device 20-i) is the last stage in the storage means. Also, when the detected terminal input value is "1", the processing unit 22-i stores terminal information indicating that the processing device itself is not the last stage in the storage means.
[0052] Furthermore, when the processing unit 22-i operates as a client, it transmits the network address and termination information via the communication unit 27-i. Furthermore, the processing unit 22-i of the processing device 20-i operating as a server stores the received network address and termination information in the storage means. In this way, the processing device 20-i operating as a server can grasp the number of processing devices in the system.
[0053] When the terminal input value indicates that the processing device is the last stage and the processing device 22-i operates as a client, the processing device 22-i may transmit information on the connection position of the processing device itself, i.e., information on the number of processing devices included in the system, via the communication unit 27-i. The connection position is calculated based on the count value input to the processing device itself, the sum of the count values, and the initial count value.
[0054] Furthermore, when operating as a server, the processing unit 22-i performs a FW check operation. More specifically, the processing unit 22-i performs the FW check operation after the communication unit 27-i becomes capable of communication. When operating as a server, the processing unit 22-i performs the FW check operation using server firmware.
[0055] In the FW confirmation operation, the processing unit 22-i first acquires version information of the processing firmware stored in each of the processing devices 20-1 to 20-N included in the system. The version information is information related to the version of the processing firmware. The processing unit 22-i can acquire the version information of the other processing devices, for example, by transmitting a version information request to the other processing devices via the communication unit 27-i, requesting the transmission of version information. In this case, the processing device operating as a client transmits version information of the processing firmware it is using as a response to the version information request. Furthermore, the processing unit 22-i can acquire the version information of the processing firmware stored in the processing device 20-i (its own processing device) by, for example, acquiring version information stored in the storage unit 29-i.
[0056] Next, the processing unit 22-i checks whether there is another processing device that stores a processing firmware of a different version from that of the processing unit 20-i (its own processing device) based on the acquired version information. If there is no other processing device that stores a processing firmware of a different version from that of the processing unit 20-i (its own processing device), the processing unit 22-i ends the FW checking operation.
[0057] If there is another processing device that stores processing firmware of a different version from that of the processing device 20-i (its own processing device), the processing unit 22-i performs a FW update operation.
[0058] In the FW update operation, when processing firmware newer than the processing firmware stored in the processing device 20-i (its own processing device) is stored in another processing device, the processing unit 22-i acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware, and stores the update file in the update file storage unit 202-i. Then, the processing unit 22-i updates the processing firmware stored in the FW storage unit 201-i using the update file stored in the update file storage unit 202-i.
[0059] Furthermore, if there is another processing device whose processing firmware is not the latest version, the processing unit 22-i transmits the update file stored in the update file storage unit 202-i to that other processing device. Then, the processing unit 22-i terminates the FW update operation. The processing unit 22-i may terminate the FW update operation when it receives an update completion notification from the other processing device to which the update file was sent. Furthermore, if the processing unit 22-i has performed the FW update operation, it may reboot the system after the FW update operation is completed.
[0060] Furthermore, when the processing unit 22-i operates as a client and receives an update file from a processing device operating as a server, the processing unit 22-i stores the received update file in the update file storage unit 202-i.Then, the processing unit 22-i uses the update file stored in the update file storage unit 202-i to update the processing firmware stored in the FW storage unit 201-i.
[0061] In this way, the latest version of the processing firmware is stored in each of the processing devices 20-1 to 20-N. Then, when the system is restarted in this state, each of the processing devices 20-1 to 20-N performs processing using the latest version of the processing firmware.
[0062] The acquisition unit 25-i is controlled by the processing unit 22-i. The acquisition unit 25-i is connected to, for example, a sensor 40-i and acquires information from the sensor 40-i. The sensor 40-i is, for example, a sensor for reading images. When the processing unit 22-i operates as a client, for example, the processing unit 22-i instructs the acquisition unit 25-i to acquire image information from the sensor 40-i. Note that the sensor 40-i may be another sensor, a printing device, or the like. Furthermore, the acquisition unit 25-i may perform processing other than acquiring information from the sensor 40-i.
[0063] When the processing unit 22-i has received termination information indicating that it is the last stage, it can ascertain the number of processing devices in the system based on the network address. Specifically, the processing unit 22-i can calculate the number from the network address of the processing device that sent the termination information indicating that it is the last stage, and the initial value and the additional value of the count value. For example, if the initial value of the count value is 0 and the additional value is 1, the number obtained by adding 1 to the count value included in the network address is the number of processing devices in the system. Then, the processing unit 22-i can determine whether it has acquired version information for all processing devices in the system based on the number of processing devices in the system.
[0064] In the present embodiment, a system in which two or more processing devices 20 are connected in series has been described as an example. However, the processing firmware update method in this embodiment may also be applied to a system including a non-serial connection. The processing firmware update method in this embodiment is applicable to a system in which two or more processing devices 20 are connected and which includes a processing device operating as a server (server device) and a processing device operating as a client (client device).
[0065] Furthermore, the processing device 20-i may synchronize setting files relating to the settings of the processing device 20 among the processing devices 20-1 to 20-N. For example, the processing device 20-i operating as a server may check whether or not a setting file is stored in the other processing devices, and may transmit the setting file to a processing device that does not store the setting file (for example, a replaced processing device). Furthermore, if the processing device 20-i operating as a server does not store a setting file in its own processing device, it may receive a setting file from the other processing device.
[0066] Next, FIG. 10 shows an example of the operation flow of the processing device 20-i of this embodiment.
[0067] When power is supplied to the processing device 20-i, the processing device 20-i starts up the FPGA 26-i. The processing device 20-i also starts up the firmware of the processing unit 22-i. Note that the firmware started up here is common firmware that is common to both the server and the client.
[0068] When the FPGA 26-i is started, the adder 21-i adds the additional value to the input count value and outputs the result. The processing unit 22-i stores the count value input to the adder 21-i in the storage means (step S201).
[0069] Furthermore, the end detection unit 24-i detects whether the end input value is "0" or "1." If the end input value detected by the end detection unit 24-i is "0," the processing unit 22-i stores end information indicating that the processing device is the last stage in the storage means. If the detected end input value is "1," the processing unit 22-i stores end information indicating that the processing device is not the last stage in the storage means (step S202).
[0070] Furthermore, the processing unit 22-i sets a network address based on the input count value and starts up the communication unit 27-i (step S203).
[0071] If the input count value satisfies a predetermined condition (YES in step S204), the processing unit 22-i performs processing using the server program and the client program (step S205). If the input count value does not satisfy the predetermined condition (NO in step S204), the processing unit 22-i performs processing using the client program (step S206).
[0072] FIG. 11 shows an example of the operation flow of the processing device 20-i operating as a client in step S206 of FIG.
[0073] The processing unit 22-i transmits the network address and termination information of its own processing device (step S301). The processing unit 22-i also performs processing in accordance with an instruction from a processing device operating as a server (server device) (step S302).
[0074] FIG. 12 shows an example of the operation flow of the processing device 20-i operating as a server in step S205 of FIG.
[0075] The processing unit 22-i waits for a network address and termination information to be received from a processing device operating as a client (client device). When the communication unit 27-i receives the network address and termination information from the client device, the processing unit 22-i stores the received network address and termination information in a storage unit (step S401).
[0076] Furthermore, when the processing unit 22-i receives the network addresses from all the client devices in the system (YES in step S402), it acquires the version information of the processing firmware stored in each of the processing devices included in the system (step S403). For example, the processing unit 22-i transmits a version information request to each of the client devices to request the transmission of version information.
[0077] Then, the processing unit 22-i checks whether there is another processing unit storing processing firmware whose version is different from the processing firmware stored in the processing unit itself (step S404). If there is another processing unit storing processing firmware whose version is different from the processing firmware stored in the processing unit itself (YES in step S404), the processing unit 22-i performs an update operation, which is an operation related to updating the processing firmware (step S406). If there is no other processing unit storing processing firmware whose version is different from the processing firmware stored in the processing unit itself (NO in step S404), the processing unit 22-i performs subsequent processing (step S405). The subsequent processing is, for example, processing that can be performed by each client device. More specifically, the executable processing is, for example, image reading processing.
[0078] FIG. 13 shows an example of the operational flow of the update operation in step S406 of FIG. 12 by the processing device 20-i operating as a server.
[0079] When processing firmware newer than the processing firmware stored in the own processing device is stored in the other processing device (YES in step S501), the processing unit 22-i acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware.The processing unit 22-i then stores the acquired update file in the update file storage unit 202-i of the own processing device (step S502).The processing unit 22-i also updates the processing firmware stored in the FW storage unit 201-i of the own processing device using the update file stored in the update file storage unit 202-i (step S503).
[0080] Furthermore, the processing unit 22-i transmits the update file (latest version) stored in the update file storage unit 202-i of the processing device itself to the other processing devices whose processing firmware is not the latest version (step S504).
[0081] After step S504, the processing unit 22-i may restart the system when receiving a notification from another processing device that the update of the processing firmware has been completed, or after a predetermined time has elapsed, etc. Alternatively, the processing unit 22-i may wait for the system to be restarted.
[0082] FIG. 14 shows an example of the operation flow of the processing device 20-i operating as a client in step S302 of FIG.
[0083] When the processing unit 22-i receives a version information request from the server device (YES in step S601), it transmits the version information of its own processing device to the server device (step S602). Instead of transmitting the version information when the processing unit 22-i receives a version information request, the processing unit 22-i may transmit the version information to the server device itself. For example, the processing unit 22-i may transmit the version information to the server device after step S301 in FIG. 11 or simultaneously with step S301.
[0084] When the processing unit 22-i receives the update file from the server device (YES in step S603), it stores the received update file in the update file storage unit 202-i of its own processing device (step S604). Then, the processing unit 22-i uses the update file stored in the update file storage unit 202-i to update the processing firmware stored in the FW storage unit 201-i of its own processing device (step S605). After step S605, the processing unit 22-i may transmit to the server device a message that the update of the processing firmware has been completed.
[0085] Furthermore, after step S605, the processing unit 22-i may restart the processing device 20-i when instructed to do so by the server device or after a predetermined time has elapsed. Alternatively, the processing unit 22-i may wait for the processing device 20-i to be restarted.
[0086] Furthermore, if the processing unit 22-i has not received the update file (NO in step S603), it performs the subsequent processing (step S606). Note that the case where the update file has not been received refers to, for example, the case where the processing unit 22-i receives an instruction regarding the subsequent processing from the server device without receiving the update file, or the case where the processing unit 22-i receives a notification from the server device that the update file will not be sent. The subsequent processing may be, for example, processing that can be performed by the acquisition unit 25-i. More specifically, the processing that can be performed by the acquisition unit 25-i may be, for example, image reading processing.
[0087] As described above, in the second embodiment of the present disclosure, the processing device 20-i includes a FW storage unit 201-i, an update file storage unit 202-i, and a processing unit 22-i. The processing device 20-i is included in a system configured by connecting two or more processing devices 20. The FW storage unit 201-i stores processing firmware. The processing firmware includes server firmware and client firmware. The server firmware is firmware used when the processing device 20-i operates as a server. The client firmware is firmware used when the processing device 20-i operates as a client. The update file storage unit 202-i stores update files. The update files are files used when updating the processing firmware stored in the FW storage unit 201-i. When operating as a server, the processing unit 22-i performs processing using the server firmware. When operating as a client, the processing unit 22-i performs processing using the client firmware. Furthermore, when the processing device 20-i operates as a server, the processing unit 22-i acquires version information, which is information regarding the version of the processing firmware stored in each of the processing devices 20-i included in the system. The version information is information regarding the version of the processing firmware. Furthermore, when processing firmware newer than the processing firmware stored in the processing device itself is stored in another processing device, the processing unit 22-i acquires an update file stored in the other processing device that stores the latest version of the processing firmware from the other processing device. The processing device itself is its own processing device. The other processing device is another processing device. Furthermore, the processing unit 22-i stores the acquired update file in the update file storage unit 202-i of the processing device itself. Furthermore, the processing unit 22-i updates the processing firmware stored in the FW storage unit 201-i of the processing device itself using the update file stored in the update file storage unit 202-i. Furthermore, the processing unit 22-i transmits the update file stored in the update file storage unit 202-i of the processing device itself to another processing device whose processing firmware is not the latest version.Furthermore, when the processing unit 22-i operates as a client and receives an update file, the processing unit 22-i stores the received update file in the update file storage unit 202-i of its own processing device. Furthermore, the processing unit 22-i uses the update file stored in the update file storage unit 202-i to update the processing firmware stored in the FW storage unit 201-i of its own processing device.
[0088] In this way, when the processing device 20-i operates as a server, if another processing device stores processing firmware that is newer than the processing firmware stored in the processing device itself, the processing device 20-i acquires an update file for updating the processing firmware to the latest version from the other processing device. Furthermore, when the processing device 20-i operates as a server, the processing device 20-i transmits an update file for updating the processing firmware to the latest version to the other processing device whose processing firmware is not the latest version. This automatically updates the processing firmware of the processing devices in the system to the latest version, allowing maintenance personnel to replace processing devices without worrying about the version of the processing firmware. This makes it possible to more easily replace processing devices in a system in which multiple processing devices are connected.
[0089] Furthermore, since the processing device 20 transmits and receives update files, which are smaller in size than the processing firmware, between the processing devices, transmission and reception of processing firmware updates can be performed in a shorter time than when transmitting and receiving processing firmware.
[0090] Furthermore, if a maintenance technician wishes to update the processing firmware in the system to a new version, the maintenance technician can update the processing firmware of the processing devices in the system to the new version by starting up the system that includes one or more processing devices that have the new version of the processing firmware and update files stored therein.
[0091] [Hardware configuration example] An example of the configuration of hardware resources for implementing the processing devices (10, 20) in each embodiment of the present disclosure using one information processing device (computer) will be described. Note that the processing device may be physically or functionally implemented using at least two information processing devices. The processing device may also be implemented as a dedicated device. Also, only some of the functions of the processing device may be implemented using an information processing device.
[0092] 15 is a diagram schematically illustrating an example of the hardware configuration of an information processing device that can realize the processing device of each embodiment of the present disclosure. The information processing device 90 includes a communication interface 91, an input / output interface 92, a computing device 93, a storage device 94, a nonvolatile storage device 95, and a drive device 96.
[0093] 1 can be realized by the nonvolatile storage device 95. Also, the processing unit 12 can be realized by the arithmetic device 93.
[0094] The communication interface 91 is a communication means for the processing device of each embodiment to communicate with an external device via a wired or / and wireless connection. When the processing device is realized using at least two information processing devices, the devices may be connected via the communication interface 91 so as to be able to communicate with each other.
[0095] The input / output interface 92 is a man-machine interface including a keyboard as an example of an input device and a display as an output device.
[0096] The arithmetic device 93 is realized by a general-purpose central processing unit (CPU), a microprocessor, or other arithmetic processing device, and a plurality of electric circuits. The arithmetic device 93 can, for example, read various programs stored in a nonvolatile storage device 95 into the storage device 94 and execute processing in accordance with the read programs.
[0097] The storage device 94 is a memory device such as a RAM (Random Access Memory) that can be accessed by the arithmetic device 93, and stores programs, various data, etc. The storage device 94 may be a volatile memory device.
[0098] The nonvolatile storage device 95 is a nonvolatile storage device such as a ROM (Read Only Memory) or a flash memory, and is capable of storing various programs, data, and the like.
[0099] The drive device 96 is, for example, a device that processes reading and writing of data from and to a recording medium 97, which will be described later.
[0100] The recording medium 97 is any recording medium capable of recording data, such as an optical disk, a magneto-optical disk, or a semiconductor flash memory.
[0101] Each embodiment of the present disclosure may be realized, for example, by configuring a processing device using the information processing device 90 illustrated in FIG. 15 and supplying a program capable of realizing the functions described in each of the above embodiments to this processing device.
[0102] In this case, the embodiment can be realized by having the arithmetic unit 93 execute a program supplied to the processing unit. Also, it is possible to configure some, but not all, of the functions of the processing unit in the information processing unit 90.
[0103] Furthermore, the processing device may be configured so that the program is recorded on a recording medium 97 and is stored in the nonvolatile storage device 95 as appropriate when the processing device is shipped or when it is in operation. In this case, the program may be supplied by installing it in the processing device using an appropriate jig during the manufacturing stage before shipping or during operation. The program may also be supplied by a general procedure such as downloading it from an external source via a communication line such as the Internet.
[0104] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.
[0105] (Appendix 1) In a system configured by connecting a plurality of processing devices, a FW storage unit that stores processing firmware, including server firmware that is firmware used when operating as a server, and client firmware that is firmware used when operating as a client; an update file storage unit that stores an update file that is a file used when updating the processing firmware stored in the FW storage unit; a processing unit that performs processing using the server firmware when operating as a server, and performs processing using the client firmware when operating as a client; Equipped with When the processing unit operates as a server, acquiring version information relating to the version of processing firmware stored in each of the processing devices included in the system; When processing firmware newer than the processing firmware stored in the own processing device is stored in another processing device, the other processing device acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware and stores it in the update file storage unit of the own processing device; updating the processing firmware stored in the FW storage unit of the processing device itself using the update file stored in the update file storage unit; transmitting the update file stored in the update file storage unit of the processing device to another processing device whose processing firmware is not the latest version; When the processing unit operates as a client, When an update file is received, the received update file is stored in the update file storage unit of the processing device, and the update file stored in the update file storage unit is used to update the processing firmware stored in the FW storage unit of the processing device. Processing equipment.
[0106] (Appendix 2) the processing unit, when operating as a server, performs an operation related to the update of the processing firmware if there is another processing device storing processing firmware of a different version from the processing firmware stored in the processing device itself; 10. The processing device of claim 1.
[0107] (Appendix 3) When the processing unit operates as a server, the processing unit transmits an update file to another processing device whose processing firmware is not the latest version, and then restarts the system. 10. The processing device of claim 1 or 2.
[0108] (Appendix 4) When the processing unit operates as a client, the processing unit updates the processing firmware stored in the FW storage unit of the processing device using the received update file, and then transmits a notification that the update of the processing firmware has been completed. 4. The processing device according to any one of claims 1 to 3.
[0109] (Appendix 5) the system is configured by connecting the processing devices in series in multiple stages, The processing device includes: An adder that adds a predetermined addition value to an input count value and outputs the result Furthermore, When a preceding device that is a preceding processing device is present, the count value is input from the preceding device, If the preceding device does not exist, an initial value is input as the count value; the count value to which the additional value has been added is output to a subsequent-stage device that is a subsequent-stage processing device, if such a device exists; the processing unit operates as both a server and a client when the input count value satisfies a predetermined condition, and operates as a client when the input count value does not satisfy the condition; 5. The processing device according to any one of claims 1 to 4.
[0110] (Appendix 6) an end detection unit for detecting an end input value which is an input value indicating whether the processing device itself is the last stage; Furthermore, When the terminal input value indicates that the processing device is the last stage and the processing unit operates as a client, the processing unit transmits information about the number of processing devices included in the system to a server based on the count value, the additional value, and the initial value input to the processing device. 6. The processing device of claim 5.
[0111] (Appendix 7) a communication unit for communicating with the other processing devices Furthermore, the processing unit sets a network address of the processing device itself based on the count value input from the preceding device. 7. The processing device of claim 5 or 6.
[0112] (Appendix 8) When the processing unit operates as a client, it transmits the network address of the processing device to a server, and when the processing unit operates as a server, it receives the network address of the other processing device. 8. The processing device of claim 7.
[0113] (Appendix 9) In a system configured by connecting a plurality of processing devices, processing firmware including server firmware, which is firmware used when the processing device operates as a server, and client firmware, which is firmware used when the processing device operates as a client; an update file which is a file used when updating the processing firmware; The processing device storing When operating as a server, the server firmware is used to acquiring version information relating to the version of processing firmware stored in each of the processing devices included in the system; When processing firmware newer than the processing firmware stored in the own processing device is stored in another processing device, the other processing device acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware and stores it in the own processing device; updating the processing firmware stored in the processing device itself using the update file stored in the processing device itself; transmitting an update file stored in the processing device to another processing device whose processing firmware is not the latest version; When operating as a client, the client firmware is used to When an update file is received, the received update file is stored in the processing device, and the processing firmware stored in the processing device is updated using the stored update file. Processing method.
[0114] (Appendix 10) In a system configured by connecting a plurality of processing devices, processing firmware including server firmware, which is firmware used when the processing device operates as a server, and client firmware, which is firmware used when the processing device operates as a client; an update file which is a file used when updating the processing firmware; The processing program of the processing device storing On the computer, a server processing function that performs processing using the server firmware when operating as a server; a client processing function that performs processing using the client firmware when operating as a client; Realize this, The server processing function is acquiring version information relating to the version of processing firmware stored in each of the processing devices included in the system; When processing firmware newer than the processing firmware stored in the own processing device is stored in another processing device, the other processing device acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware and stores it in the own processing device; updating the processing firmware stored in the processing device itself using the update file stored in the processing device itself; transmitting an update file stored in the processing device to another processing device whose processing firmware is not the latest version; The client processing function When an update file is received, the received update file is stored in the processing device, and the processing firmware stored in the processing device is updated using the stored update file. Processing program.
[0115] Furthermore, some or all of the configurations described in Supplementary Notes 2 to 8, which are dependent on Supplementary Note 1, may also be dependent on Supplementary Notes 9 and 10 in the same dependent relationship as Supplementary Notes 2 to 8. Furthermore, not limited to Supplementary Notes 1, 9, and 10, but within the scope of each of the above-mentioned embodiments, some or all of the configurations described as Supplements may also be dependent on various hardware, software, various recording means for recording software, or systems.
[0116] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate. [Explanation of symbols]
[0117] 10, 20, 20-i Processing equipment 101 FW storage section 102 Update file storage unit 12, 22-i Processing section 21-i Addition section 24-i End detection unit 25-i Acquisition Department 26-i FPGA 27-i Communications Department 28-i Pull-up circuit 29-i Storage section 40-i sensor 50 Pull-down circuit 91 Communication Interface 92 Input / Output Interface 93 Arithmetic unit 94 Storage device 95 Non-volatile storage devices 96 Drive Device 97 Recording Media
Claims
1. In a system configured by connecting a plurality of processing devices, a firmware storage unit that stores processing firmware, including server firmware that is firmware used when operating as a server, and client firmware that is firmware used when operating as a client; an update file storage unit that stores an update file that is a file used when updating the processing firmware stored in the FW storage unit; a processing unit that performs processing using the server firmware when operating as a server, and performs processing using the client firmware when operating as a client; Equipped with When the processing unit operates as a server, acquiring version information relating to the version of processing firmware stored in each of the processing devices included in the system; When processing firmware newer than the processing firmware stored in the own processing device is stored in another processing device, the other processing device acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware and stores it in the update file storage unit of the own processing device; updating the processing firmware stored in the FW storage unit of the processing device itself using the update file stored in the update file storage unit; transmitting the update file stored in the update file storage unit of the processing device to another processing device whose processing firmware is not the latest version; When the processing unit operates as a client, When an update file is received, the received update file is stored in the update file storage unit of the processing device, and the update file stored in the update file storage unit is used to update the processing firmware stored in the FW storage unit of the processing device. Processing equipment.
2. the processing unit, when operating as a server, performs an operation related to the update of the processing firmware if there is another processing device storing processing firmware of a different version from the processing firmware stored in the processing device itself; The processing device of claim 1 .
3. When the processing unit operates as a server, the processing unit transmits an update file to another processing device whose processing firmware is not the latest version, and then restarts the system. The processing device of claim 1 .
4. When the processing unit operates as a client, the processing unit updates the processing firmware stored in the FW storage unit of the processing device using the received update file, and then transmits a notification that the update of the processing firmware has been completed. The processing device of claim 1 .
5. the system is configured by connecting the processing devices in series in multiple stages, The processing device includes: An adder that adds a predetermined addition value to an input count value and outputs the result Furthermore, When a preceding device that is a preceding processing device is present, the count value is input from the preceding device, If the preceding device does not exist, an initial value is input as the count value; the count value to which the additional value has been added is output to a subsequent-stage device that is a subsequent-stage processing device, if such a device exists; the processing unit operates as both a server and a client when the input count value satisfies a predetermined condition, and operates as a client when the input count value does not satisfy the condition; The processing device according to any one of claims 1 to 4.
6. an end detection unit for detecting an end input value which is an input value indicating whether the processing device itself is the last stage; Furthermore, When the terminal input value indicates that the processing device is the last stage and the processing unit operates as a client, the processing unit transmits information about the number of processing devices included in the system to a server based on the count value, the additional value, and the initial value input to the processing device. The processing device according to claim 5 .
7. a communication unit for communicating with the other processing devices Furthermore, the processing unit sets a network address of the processing device itself based on the count value input from the preceding device. The processing device according to claim 5 .
8. When the processing unit operates as a client, it transmits the network address of the processing device to a server, and when the processing unit operates as a server, it receives the network address of the other processing device. The processing device of claim 7 .
9. In a system configured by connecting a plurality of processing devices, processing firmware including server firmware, which is firmware used when the processing device operates as a server, and client firmware, which is firmware used when the processing device operates as a client; an update file which is a file used when updating the processing firmware; The processing device storing When operating as a server, the server firmware is used to acquiring version information relating to the version of processing firmware stored in each of the processing devices included in the system; When processing firmware newer than the processing firmware stored in the own processing device is stored in another processing device, the other processing device acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware and stores it in the own processing device; updating the processing firmware stored in the processing device itself using the update file stored in the processing device itself; transmitting an update file stored in the processing device to another processing device whose processing firmware is not the latest version; When operating as a client, the client firmware is used to When an update file is received, the received update file is stored in the processing device, and the processing firmware stored in the processing device is updated using the stored update file. Processing method.
10. In a system configured by connecting a plurality of processing devices, processing firmware including server firmware, which is firmware used when the processing device operates as a server, and client firmware, which is firmware used when the processing device operates as a client; an update file which is a file used when updating the processing firmware; The processing program of the processing device storing On the computer, a server processing function that performs processing using the server firmware when operating as a server; a client processing function that performs processing using the client firmware when operating as a client; Realize this, The server processing function is acquiring version information relating to the version of processing firmware stored in each of the processing devices included in the system; When processing firmware newer than the processing firmware stored in the own processing device is stored in another processing device, the other processing device acquires an update file stored in the other processing device from the other processing device storing the latest version of the processing firmware and stores it in the own processing device; updating the processing firmware stored in the processing device itself using the update file stored in the processing device itself; transmitting an update file stored in the processing device to another processing device whose processing firmware is not the latest version; The client processing function When an update file is received, the received update file is stored in the processing device, and the processing firmware stored in the processing device is updated using the stored update file. Processing program.
Citation Information
Patent Citations
Processing device, processing method and processing program
JP2023085592A