Software update device, software update method and software update system
Patent Information
- Application Number
- JP2023032388
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-03
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2043-03-03
AI Technical Summary
Software updates for devices connected via distributed networking middleware face challenges in updating without creating redundancy or stopping the entire system, especially with middleware like DDS where central control is difficult, leading to increased costs and system downtime.
A software update device and method that determines whether software updates can be performed on each device while the middleware is operating by analyzing data transmission and reception patterns, allowing updates without redundancy or system shutdown.
Enables software updates on devices connected via distributed networking middleware without creating redundancy or stopping the entire system, reducing downtime and costs.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a software update device, a software update method, and a software update system, and more particularly to a software update device and the like that are useful for updating software of devices connected using distributed networking middleware. [Background technology]
[0002] Software updates may be implemented for devices that connect using distributed networking middleware.
[0003] Patent Document 1 discloses a remote maintenance device that is connected to a control device in a train traffic control system via a communication path and remotely modifies the software of the control device. This remote maintenance device has an information receiving unit that receives operation-related information related to train operations, a transmission speed determining unit that determines the load state on the control device based on the operation-related information and determines the transmission speed at which modification software is transmitted to the control device according to the load state, and a modification software transmitting unit that transmits the modification software to the control device at the transmission speed. Patent Document 2 discloses a maintenance system that maintains an electronic computer by connecting a maintenance device via a network. In this maintenance system, the electronic computer is provided with a copying means for copying a program required for executing a service being provided by the system to the maintenance device, and a transmitting means for transmitting the computer's hardware configuration information to the maintenance device, and the maintenance device is provided with a CPU that executes the same instruction set as the computer, and a means for emulating the computer's hardware configuration on the system based on the hardware configuration information. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2016-68878 A [Patent Document 2] Japanese Patent Application Publication No. 9-293001 Summary of the Invention [Problem to be solved by the invention]
[0005] Software updates for devices can be performed by shutting down the entire system outside service hours or during maintenance hours. Also, updates can be performed while continuing service by making each of the elements (devices) that make up the system redundant. However, when shutting down the entire system, it is necessary to set a maintenance period during which the entire system can be shut down. Also, even when updating only a portion of the equipment, it is necessary to shut down equipment that is not the target of the update. On the other hand, making elements (devices) redundant requires preparing identical devices (hardware, software) for each element (device) to be updated, which is costly. In particular, in distributed networking middleware such as DDS (Data Distribution Service), the data flow cannot be controlled centrally, making it difficult to install a load balancer, which is essential for redundancy, and therefore making redundancy difficult. The present invention aims to provide a software update device, a software update method, and a software update system that can perform software updates without redundancy or stopping the entire system when updating software in devices connected using distributed networking middleware. [Means for solving the problem]
[0006] In order to solve the above problems, the present invention provides a software update device that uses distributed networking middleware to update software in devices connected to the device itself, the software update device having an update target determination unit that determines whether or not the software of each device can be updated while the distributed networking middleware is running, based on the form of data transmission and reception performed by the devices, and a software update unit that executes the update of the software of the devices. In this case, it is possible to provide a software update device that can perform software updates without redundancy or stopping the entire system.
[0007] Here, the form of data transmission / reception may include the direction of data transfer of the device. In this case, a suitable form that affects the software update system may be included. Furthermore, when the device transmits data as the data transfer direction, the update target determination unit can determine that the software of the device cannot be updated while the distributed networking middleware is running. In this case, it can be determined that the software cannot be updated for a device where data sent from the device may be lost. Furthermore, the form of data transmission / reception can include an increase or decrease in input data to the device. In this case, a suitable form that affects the software update system can be included. Furthermore, when the input data is decreased as the increase or decrease in the input data, the update target determination unit can determine that the software of the device cannot be updated while the distributed networking middleware is running. In this case, it can be determined that the software cannot be updated for the device that requires behavior check. In addition, the update target determination unit can determine the form of data transmission and reception based on the specifications of the data schema. In this case, information on the direction of data transfer from the device and the increase or decrease of input data to the device can be obtained more easily. Furthermore, the form of data transmission / reception can include whether or not data can be resent to the device. In this case, a form suitable for influencing the software update system can be included. Furthermore, when the update target determination unit determines whether data can be resent to the device, it can determine that the software of the device cannot be updated while the distributed networking middleware is running. In this case, it can determine that the software cannot be updated for a device in which data to be sent to the device may be lost. The update target determination unit can determine whether or not to resend the data based on the specifications of the distributed networking middleware. In this case, information on whether or not to resend the data can be obtained more easily. Furthermore, the update target determination unit can determine that the software of the device can be updated while the distributed networking middleware is operating if the data transmission and reception mode satisfies the following: as the direction of data transfer to the device, the device receives but does not transmit data, as the increase / decrease of input data to the device, the input data increases, and as the possibility of resending data to the device, the data can be resent to the device. In this case, when updating the software of the device while the distributed networking middleware is operating, it is possible to extract devices that do not affect the software update system.
[0008] The present invention also provides a software update method for updating software of devices connected to the device itself using distributed networking middleware, in which a processor executes a program recorded in a memory to determine whether or not the software of each device can be updated while the distributed networking middleware is operating, based on the mode of data transmission and reception performed by the device, and to perform the software update of the device. In this case, it is possible to provide a software update method that can perform software update without redundancy or stopping the entire system.
[0009] Furthermore, the present invention is a software update system that includes devices connected via a distributed networking middleware and a software update device that updates software for the devices, the software update device having an update target determination unit that determines whether software for each device can be updated while the distributed networking middleware is running, based on the form of data transmission and reception performed by the devices, and a software update unit that executes the update of the software for the devices. In this case, it is possible to provide a software update system that does not affect the system side even when software for the devices is updated. Effect of the Invention
[0010] According to the present invention, it is possible to provide a software update device, a software update method, and a software update system that can perform software updates without redundancy or stopping the entire system when updating software in devices connected using distributed networking middleware. [Brief description of the drawings]
[0011] [Figure 1] 1 is a diagram showing an overall configuration of a software updating system to which a software updating device according to an embodiment of the present invention is applied. [Diagram 2] FIG. 1 is a conceptual diagram showing a DDS. [Diagram 3] FIG. 2 is a diagram illustrating the operation of the software updating device. [Figure 4] 13(a) to 13(b) are diagrams illustrating a data schema. [Diagram 5] 4 is a flowchart showing the operation of the software updating device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0013] <Overall explanation of software update system 1> FIG. 1 is a diagram showing the overall configuration of a software updating system 1 to which a software updating device 10 according to the present embodiment is applied. As shown in FIG. 1, the software updating system 1 includes a software updating device 10 and a device 20. The software updating device 10 is a device that updates the software of a device 20 . The devices 20 are devices that connect to each other using distributed networking middleware. The device 20 is connected to the software update device 10 using distributed networking middleware. Although only one device 20 is illustrated here, multiple devices 20 may be used. The "distributed networking middleware" is software that enables one or more types of communication or connection between two or more applications or application components in a distributed network. The software of the device 20 is not particularly limited as long as it is a computer program that performs some processing to operate the device 20. Software updates are performed, for example, to correct software bugs or problems, or to improve the functionality of the device 20.
[0014] The software update device 10 and the device 20 are computer devices such as a PC (Personal Computer), a smartphone, and a tablet. The software update device 10 and the device 20 include a processor such as a CPU (Central Processing Unit) as a computing means, and a storage such as a main memory and an HDD (Hard Disk Drive) as a storage means. Here, the processor executes various software such as an OS (operating system) and an application program (application software). The main memory is a storage area that stores various software and data used for executing the software, and the storage is a storage area that stores input data for the various software and output data from the various software. The software update device 10 and the device 20 each include a communication interface for communicating with the outside world, and may further include a display mechanism including a video memory and a display, and an input mechanism including a keyboard, a mouse, a touch panel, and the like.
[0015] The distributed networking middleware is, for example, a Data Distribution Service (DDS), and the following description will be given assuming that the distributed networking middleware is a DDS.
[0016] FIG. 2 is a conceptual diagram showing a DDS. As shown in the figure, in DDS, a "TOPIC" is published from a "DATA WRITER" and then a "DATA READER" subscribes to it, thereby achieving communication. In other words, there is a direction in which data is sent. Furthermore, the type of data to be sent (data type (data schema)) is declared in advance for a "TOPIC." Then, communication is performed between "DATA WRITERs" and "DATA READERS" that have the same "TOPIC." The correspondence between "DATA WRITERs" and "DATA READERS" can be freely set to one-to-one, one-to-many, many-to-one, many-to-many, etc. In DDS, the type of data (data schema) exchanged between devices 20 is defined, and the direction of the data (Publisher / Subscriber) is also defined to perform communication. DDS has high real-time response performance and can flexibly reconfigure the network system even if there is a change in the device 20. Each DDS domain is completely independent of the others, and data communication across different DDS domains is not possible. The software updating device 10 and device 20 of the present embodiment correspond to a "DATA WRITER" and a "DATA READER" in the DDS.
[0017] DDS can be used in fields such as power generation control of dams used in hydroelectric power generation, blade rotation control in wind power generation, autonomous driving of automobiles, air traffic control, operation management of railways, and control of various equipment in steel manufacturing. Here, the following explanation takes as an example the case where DDS is used in railway operation management. In this case, device 20 corresponds to a station control device that controls railroad crossing devices and points, an operation management operation console, an operation display panel, and the like.
[0018] <Description of Functional Configuration of Software Update Device 10> Returning to FIG. 1, the functional configuration of the software updating device 10 will be described. The software update device 10 includes an information receiving unit 11, an update target determining unit 12, a software update unit 13, a software repository 14, and a software transfer unit 15. The information receiving unit 11 acquires a device list, which is a list of devices 20, a DDS specification, and a data schema specification as information for determining whether the software of the device 20 can be updated while the DDS is operating. The DDS specification and the data schema specification will be described in detail later.
[0019] The update target determination unit 12 determines whether or not the software of each device 20 can be updated with the DDS operating, based on the form of data transmission and reception performed by the device 20. Then, it presents the result as an analysis result display to the administrator of the software update system 1. The administrator refers to the analysis result display, makes a plan for updating the software of the device 20, and issues a command to the software update device 10 to execute the update.
[0020] The software update unit 13 executes software update of the device 20. At this time, for the device 20 for which the update target determination unit 12 has determined that the software can be updated with the DDS operating, the software update unit 13 performs the software update with the DDS operating. On the other hand, for the device 20 for which the update target determination unit 12 has determined that the software cannot be updated with the DDS operating, the software update unit 13 performs the software update when the DDS is stopped. The functions of the information receiving unit 11, the update target determining unit 12, and the software updating unit 13 can be realized by a processor and a main memory.
[0021] The software repository 14 is a storage unit that stores software to be updated. The software repository 14 can realize its functions by a storage device such as a hard disk drive (HDD). The software transfer unit 15 is an output unit that transmits the software to be updated to the device 20. The software transfer unit 15 can realize its functions by a communication interface.
[0022] <Explanation of the Operation of the Software Update Device 10> Next, the operation of the software updating device 10 will be described. FIG. 3 is a diagram showing the operation of the software updating device 10. As shown in FIG. Fig. 3 shows a case where the device 20 is a railroad crossing device, a data transmitting device, and a statistical information monitoring device. It also shows that data is transmitted and received in the following order: railroad crossing device → data transmitting device → statistical information monitoring device. In this case, the railroad crossing device transmits, for example, the number of times the railroad crossing opens and closes as data. The data transmitting device relays this data, for example. The statistical information monitoring device monitors, for example, the number of times the railroad crossings open and close for a plurality of railroad crossing devices. 3 also shows a method for determining whether the software updating device 10 can update the software of each device 20 while the DDS is operating. In this embodiment, the update target determination unit 12 of the software updating device 10 determines whether the software can be updated based on the form of data transmission and reception performed in the device 20. The form of data transmission and reception performed in the device 20 specifically refers to the direction of data transfer in the device 20, the increase or decrease in input data to the device 20, and whether data can be resent to the device 20.
[0023] The direction of data transfer of the device 20 can be determined by whether or not to receive / transmit data to the device 20. The update target determination unit 12 determines that the direction of data transfer is such that the device 20 must receive data but not transmit data. In other words, if the device 20 is the data receiving (receiving) side and not the data sending (transmitting) side, the device 20 is not affected by updating the software. In other words, when data is received, it can be received after updating the software. Therefore, there is no effect on the software update system 1. On the other hand, when data is transmitted, data transmission cannot be performed while the software is being updated, and this affects the software update system 1. In this case, it can also be said that the update target determination unit 12 determines that the software of the device 20 cannot be updated with the DDS operating when the device 20 transmits data as the direction of data transfer.
[0024] An increase or decrease in input data to the device 20 can be determined based on whether the input data is increasing or decreasing. The update target determination unit 12 determines that the input data must be increased or the same as the increase or decrease in the input data. In other words, if the input data increases, this increase is data that is unrelated to the receiving side, so there is no effect on the behavior of the software after the update. Therefore, there is no effect on the software update system 1. On the other hand, if the input data decreases, there is a possibility that the data is related to the receiving side. In other words, there is a possibility that the data is used by the receiving side device 20. Therefore, a test to confirm the behavior is necessary. In this case, it can be said that the update target determination unit 12 determines that the software of the device 20 cannot be updated with the DDS operating if the input data decreases as the increase or decrease in the input data.
[0025] Whether data can be resent to the device 20 can be determined based on whether data can be resent to the device 20. The update target determination unit 12 requires that data can be resent to the device 20 in order to determine whether data can be resent. In other words, if data can be resent to the device 20, the data that was not received during the software update of the device 20 can be received after the software update. Therefore, there is no effect on the software update system 1. On the other hand, if data cannot be resent to the device 20, the device 20 cannot receive this data. Therefore, the software update system 1 is affected. In this case, it can be said that the update target determination unit 12 determines whether data can be resent to the device 20 in order to determine whether data can be resent, that the software of the device 20 cannot be updated with the DDS operating if data cannot be resent to the device 20.
[0026] In Fig. 3, when the device 20 is a railroad crossing device, the direction of data transfer is only transmission, not reception, so the update target determination unit 12 determines that the software cannot be updated with the DDS operating. Also, there is no change in the increase or decrease of input data to the device 20, which does not pose a problem. However, data cannot be resent to the device 20, so in this respect too, the update target determination unit 12 determines that the software cannot be updated with the DDS operating.
[0027] In Fig. 3, when device 20 is a data transmission device, the direction of data transfer is both reception and transmission, so update target determination unit 12 determines that software cannot be updated with DDS operating. Also, the increase or decrease in input data to device 20 is a decrease, and in this respect, too, update target determination unit 12 determines that software cannot be updated with DDS operating. However, data can be resent to device 20, so there is no problem in this respect.
[0028] In Fig. 3, when the device 20 is a statistical information monitoring device, the direction of data transfer is only reception, not transmission. Also, the increase or decrease in the input data to the device 20 is an increase, since the transmitted data is accumulated. Furthermore, data can be resent to the device 20. Therefore, the update target determination unit 12 determines that the software can be updated while the DDS is operating.
[0029] Therefore, the update target determination unit 12 determines that the software of the device 20 can be updated with the DDS operating when the data transmission and reception mode satisfies the following: data transfer direction: device 20 receives but does not transmit data, increase / decrease in input data to the device 20: input data increases, and whether data can be resent: data can be resent to the device 20. That is, the update target determination unit 12 determines that the software of the device 20 can be updated with the DDS operating when all of these three conditions are satisfied.
[0030] The update target determination unit 12 determines whether or not to resend data based on the DDS specifications. That is, whether or not to resend data when transferring data between devices 20 is determined in advance as a DDS specification, and this allows the update target determination unit 12 to determine whether or not to resend data. More specifically, whether or not to resend data is based on the specifications of the DDS framework installed in each device 20. The specifications set here include allowable ranges for resending, such as within how many seconds after communication is cut off and how many transmissions of data history. Using this, it is determined whether or not the device 20 to be the target of software update can receive resent data after rebooting. On the other hand, the update target determination unit 12 determines the direction of data transfer of the device 20 and the increase or decrease of input data to the device 20 based on the specifications of the data schema.
[0031] 4(a) and (b) are diagrams illustrating the data schema. The direction of data transfer can be determined from information installed in each device 20 and stored in the DDS framework shown in Fig. 4(a). In this case, the publisher stores a list of subscribers, and the update target determination unit 12 uses this to determine the direction of data transfer. If the DDS framework does not store a list of destinations, the update target determination unit 12 associates the topic that transmits the publisher's data with the subscriber that receives the data using the same topic. The update target determination unit 12 then determines the direction of data transfer based on the topic of each device 20 and the attribute of the publisher or subscriber.
[0032] An increase or decrease in the amount of input data to the device 20 can be determined from the specifications of the data schema read by the DDS framework of each device 20. The update target determination unit 12 extracts the difference between items of the data schema during the relevant period from the data schema history, and determines whether there is an increase or decrease from the extraction result.
[0033] Here, when comparing the received data schema V1 shown in the left diagram of Fig. 4(b) with the outgoing data schema V2 shown in the right diagram of Fig. 4(b), one row of "int data3" has been added in the outgoing data schema V2 shown in the right diagram of 4(b). Therefore, in this case, the update target determination unit 12 determines that the input data has been increased based on the change in the input data schema.
[0034] FIG. 5 is a flowchart showing the operation of the software updating device 10. First, the information receiving unit 11 of the software updating device 10 acquires a device list of the devices 20 to be updated (S101). Next, the information receiving unit 11 acquires the device specifications to be updated (S102). Furthermore, the information receiving unit 11 acquires the DDS specification and the data schema specification of the device 20 to be updated (S103). Then, the update target determination unit 12 acquires, from the DDS specification and the data schema specification, whether data can be resent to the update target device 20, the data transfer direction of the update target device 20, and input data schema change (S104). Next, the update target determination unit 12 checks the following conditions for each device 20 to be updated (S105). That is, the update target determination unit 12 determines whether or not data can be resent to the device 20 (S106). Furthermore, the update target determination unit 12 determines whether the data direction of the device 20 is only reception (input) (S107). Furthermore, the update target determination unit 12 determines whether the input data has increased based on the change in the input data schema (S108). If the answers in S106 to S108 are all Yes, the update target determination unit 12 determines that the software in the update target device 20 can be updated with the DDS operating, and displays the device 20 as a candidate for the update target device 20 (S109). If any one of S106 to S108 is No, the update target determination unit 12 ends the series of processes.
[0035] According to the above-described embodiment, a software update device, a software update method, and a software update system are provided that can perform software updates without redundancy or stopping the entire system when updating software of a device 20 connected using distributed networking middleware such as DDS.
[0036] <Software update method> The above-described processing performed by the software update device 10 is realized by the cooperation of software and hardware resources. That is, a processor in a computer provided in the software update device 10 loads software for realizing each of the above-described functions into a main memory, executes the software, and realizes each of these functions. Therefore, the processing performed by the software update device 10 can be considered as a software update method that updates the software of the device 20 connected to the software update device 10 itself using distributed networking middleware, and by the processor executing a program recorded in the memory, determines whether the software of each device 20 can be updated while distributed networking middleware such as DDS is operating, based on the form of data transmission and reception performed by the device 20, and performs the software update of the device 20.
[0037] Although the present embodiment has been described above, the technical scope of the present invention is not limited to the scope described in the above embodiment. It is clear from the claims that various modifications and improvements to the above embodiment are also included in the technical scope of the present invention. [Explanation of symbols]
[0038] 1... software update system, 10... software update device, 11... information receiving unit, 12... update target determining unit, 13... software update unit, 14... software repository, 15... software transfer unit, 20... device
Claims
1. A software updating device that updates software of a device connected to the device by using a distributed networking middleware, an update target determination unit that determines whether or not software of each of the devices can be updated while the distributed networking middleware is operating, based on a form of data transmission and reception performed by the devices; a software update unit that executes software updates for the device; A software update device having the above configuration.
2. The software update device according to claim 1 , wherein the form of data transmission and reception includes a direction of data transfer of the device.
3. The software update device according to claim 2 , wherein the update target determination unit determines that the software of the device cannot be updated while the distributed networking middleware is running when the device is sending data as the direction of the data transfer.
4. The software updating device according to claim 1 , wherein the form of the data transmission and reception includes an increase or decrease in input data to the device.
5. 5. The software updating device according to claim 4, wherein the update target determination unit determines that the software of the device cannot be updated while the distributed networking middleware is operating if the increase or decrease in input data is a decrease in input data.
6. 6. The software updating device according to claim 2, wherein the update target determining unit determines a format of the data transmission / reception based on a specification of a data schema.
7. The software update device according to claim 1 , wherein the form of data transmission / reception includes whether or not data can be resent to the device.
8. The software update device of claim 7, wherein the update target determination unit determines that if data cannot be resent to the device, the software of the device cannot be updated while the distributed networking middleware is running, as a determination as to whether or not the data can be resent.
9. 9. The software updating device according to claim 7, wherein the update target determining unit determines whether or not the data can be resent based on a specification of the distributed networking middleware.
10. The software update device of claim 1, wherein the update target determination unit determines that the software of the device can be updated while the distributed networking middleware is operating when the form of data transmission and reception satisfies the following conditions: in terms of the direction of data transfer to the device, the device receives but does not transmit data; in terms of an increase or decrease in input data to the device, the input data increases; and in terms of whether data can be resent to the device, data can be resent to the device.
11. A software update method for updating software of a device connected to a device itself using distributed networking middleware, The processor executes the program stored in the memory, determining whether or not software of each of the devices can be updated while the distributed networking middleware is running, based on a form of data transmission and reception performed by the devices; performing a software update of the device; How to update software.
12. A device that connects via a distributed networking middleware; a software update device for updating software of the device; Equipped with The software update device includes: an update target determination unit that determines whether or not software of each of the devices can be updated while the distributed networking middleware is operating, based on a form of data transmission and reception performed by the devices; a software update unit that executes software updates for the device; A software update system having