WO2019087295A1 - Update system, update device, and device to be updated - Google Patents

Update system, update device, and device to be updated Download PDF

Info

Publication number
WO2019087295A1
WO2019087295A1 PCT/JP2017/039316 JP2017039316W WO2019087295A1 WO 2019087295 A1 WO2019087295 A1 WO 2019087295A1 JP 2017039316 W JP2017039316 W JP 2017039316W WO 2019087295 A1 WO2019087295 A1 WO 2019087295A1
Authority
WO
WIPO (PCT)
Prior art keywords
update
divided data
data
updated
divided
Prior art date
Application number
PCT/JP2017/039316
Other languages
French (fr)
Japanese (ja)
Inventor
和樹 ▲濱▼田
光洋 杉村
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2017/039316 priority Critical patent/WO2019087295A1/en
Priority to JP2019550045A priority patent/JP6964681B2/en
Publication of WO2019087295A1 publication Critical patent/WO2019087295A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the present invention relates to an update system for updating firmware, an update device, and an update device.
  • firmware has been updated for the purpose of applying a correction patch when a failure occurs in the device or adding a function.
  • various methods have been proposed and put into practice as methods of updating firmware.
  • firmware update method for example, there is a method using a USB (Universal Serial Bus) memory.
  • the firmware is updated by connecting the USB memory in which the update program is stored in advance to the embedded device and causing the embedded device to read the update program.
  • USB Universal Serial Bus
  • the firmware is updated by connecting a PC or a dedicated device to a wired interface such as a serial interface installed in advance in the embedded device and causing the embedded device to read an update program.
  • the update program is stored and held in advance in a file server.
  • the first transmission apparatus acquires the update program from the file server via the network.
  • the first transmission apparatus transmits the acquired update program to the second transmission apparatus to be updated via a network different from the network. This allows remote updating of the embedded device.
  • the update program when the communication quality of the network is low, the update program may not be received normally due to some bit corruption or bit omission of the update program. If the update program is not successfully received, the firmware can not be updated. Therefore, for the purpose of preventing a failure of updating of the firmware, the update program is generally provided with an error correction code or an error detection code for determining whether the update program has been received normally.
  • the error correction code or the error detection code is usually assigned to the entire update program, the error detection process is performed after the reception of the entire update program is completed. That is, when an error is detected in the update program, it is necessary to transmit and receive the entire update program again, so it takes time to update the firmware.
  • the present invention has been made in view of the problems in the above-described conventional technology, and provides an update system, an update device, and an update device capable of updating firmware in a short time even when the communication quality of the network is low.
  • the purpose is to
  • An update system includes an update device and an update device, and updates the firmware of the update device to an update program of the firmware transmitted from the update device, wherein the update device is the update device.
  • the update device includes a storage unit that stores divided data obtained by dividing a program into a plurality of programs, and a transmission control unit that transmits the plurality of stored divided data to the update target device by wireless communication, It has a divided data acquisition unit that acquires a plurality of pieces of divided data from the update device, and a data combination unit that combines the plurality of pieces of received divided data to generate the update program.
  • the firmware by dividing the firmware update program into a plurality of divided data and transmitting the divided data to the update target device, the firmware can be updated in a short time even if the communication quality of the network is low.
  • FIG. 1 is a block diagram showing an example of a configuration of an update system according to Embodiment 1. It is a hardware block diagram which shows an example of a structure of the update apparatus of FIG. It is a functional block diagram which shows an example of a structure of the control apparatus of FIG. It is a hardware block diagram which shows an example of a structure of the update apparatus of FIG. It is a functional block diagram which shows an example of a structure of the control apparatus of FIG. It is the schematic which shows an example of the data structure of the update program received from an external apparatus by the update apparatus.
  • FIG. 7 is a schematic diagram for explaining division of an update program according to the first embodiment. 7 is a flowchart showing an example of the flow of transmission processing of the update program in the update device according to the first embodiment. 7 is a flowchart illustrating an example of a flow of reception processing of the update program in the updated device according to the first embodiment.
  • FIG. 18 is a schematic diagram for explaining division of the update program in the second embodiment.
  • FIG. 1 is a block diagram showing an example of the configuration of the update system 100 according to the first embodiment.
  • the update system 100 includes an update device 1 and an update device 2.
  • the update device 1 and the update device 2 communicate with each other by near field communication.
  • the update device 1 acquires the update program of the firmware in the device to be updated 2 from an external device such as a PC via the Web or the like, and transmits the update program to the device to be updated 2 by short distance wireless communication.
  • an external device such as a PC via the Web or the like
  • transmits the update program to the device to be updated 2 by short distance wireless communication for example, a general-purpose device such as a smartphone or a tablet having a near field wireless communication function is applied.
  • the to-be-updated device 2 receives the update program transmitted from the updating device 1 by short-distance wireless communication, and updates the current firmware.
  • the device to be updated 2 for example, a built-in device intended to realize a specific function such as a remote controller of an air conditioner is applied.
  • near field communication is a generic term of the standard which communicates by the distance of several meters to several hundreds meters.
  • Near field communication is characterized by low power consumption and low speed, and generally has low communication quality.
  • Bluetooth registered trademark, hereinafter abbreviated
  • Zigbee registered trademark
  • EnOcean registered trademark
  • NFC Near Field Communication
  • the short distance wireless communication is not limited to the above example.
  • FIG. 2 is a hardware block diagram showing an example of the configuration of the update device 1 of FIG.
  • the update device 1 includes a control device 10, a connection interface (I / F) 11, a first communication interface (I / F) 12, a storage unit 13, a display unit 14, and an operation unit 15. ing.
  • connection I / F 11 is connected to an external device such as a PC by wire or wirelessly, and controls communication performed with the external device based on an instruction of the control device 10.
  • the connection I / F 11 receives the update program of the firmware in the updated device 2 from the external device, and supplies the received update program to the control device 10.
  • the first communication I / F 12 is connected to the device to be updated 2 by near field wireless communication such as Bluetooth, and controls communication performed with the device to be updated 2 based on an instruction of the control device 10.
  • the first communication I / F 12 transmits divided data in which the update program is divided to the updated device 2.
  • the storage unit 13 holds various data, programs executed by the control device 10, and the like.
  • the storage unit 13 writes and reads the update program under the control of the control device 10.
  • the display unit 14 is configured of, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display.
  • a touch panel display in which a touch panel having a touch sensor is stacked on an LCD or an organic EL display may be used.
  • the operation unit 15 is provided with various keys and the like used to operate the updating device 1, and outputs operation signals according to the operations on the keys and the like. Further, as described above, when the display unit 14 is a touch panel display, various keys may be displayed on the display unit 14 as software keys.
  • the control device 10 divides the update program of the firmware in the device to be updated 2 received from the external device, and performs processing for transmitting the program to the device to be updated 2.
  • the control device 10 is configured by hardware such as a circuit device that realizes various functions by executing software on an arithmetic device such as a microcomputer or the like.
  • FIG. 3 is a functional block diagram showing an example of the configuration of the control device 10 of FIG.
  • the control device 10 includes an update program acquisition unit 101, a data division unit 102, a transmission control unit 103, and a division data storage unit 104.
  • the update program acquisition unit 101 acquires the update program of the firmware in the update target device 2 through the connection I / F 11 and supplies the update program to the data division unit 102.
  • the data division unit 102 divides the received update program into a plurality of units in setting data amount units, generates a plurality of divided data, and stores the plurality of divided data in the divided data storage unit 104.
  • the data division unit 102 is, for example, a division application for dividing the update program, and performs division processing of the update program by the division function of the division application.
  • the divided data storage unit 104 stores divided data in which the update program is divided. Note that, as described above, the divided data may be generated by the external device other than when divided by the data dividing unit 102, and the divided data may be obtained directly from the external device. In this case, the acquired divided data is stored in the divided data storage unit 104. The case of directly acquiring divided data will be described later.
  • the transmission control unit 103 determines divided data to be transmitted to the updated device 2 based on the content of the reception response received from the updated device 2.
  • the transmission control unit 103 transmits the plurality of divided data generated by the data division unit 102 to the updated device 2 via the first communication I / F 12.
  • the reception response is information indicating whether or not the updated device 2 has normally received the divided data.
  • the transmission control unit 103 After transmitting a certain divided data, the transmission control unit 103 receives a reception response corresponding to the divided data from the to-be-updated device 2 and if the reception response indicates that the divided data has been successfully received, The next divided data is transmitted to the update device 2. On the other hand, when the reception response corresponding to the received divided data indicates reception abnormality of the divided data, the transmission control unit 103 retransmits the divided data to the update target device 2.
  • FIG. 4 is a hardware block diagram showing an example of the configuration of the update device 2 of FIG.
  • the device to be updated 2 includes a control device 20, a second communication interface (I / F) 21, a storage unit 22, a display unit 23, and an operation unit 24.
  • I / F second communication interface
  • the second communication I / F 21 is connected to the updating device 1 by near field wireless communication such as Bluetooth, and controls communication performed with the updating device 1 based on an instruction of the control device 20.
  • the second communication I / F 21 receives, from the update device 1, the divided data in which the update program is divided.
  • the storage unit 22 holds various data, programs executed by the control device 20, and the like.
  • the storage unit 22 writes and reads the update program under the control of the control device 20.
  • the display unit 23 is configured of, for example, an LCD or an organic EL display.
  • a touch panel display may be used as the display unit 23.
  • the display unit 23 does not necessarily have to be provided.
  • the operation unit 24 is provided with various keys and the like used to operate the updating device 1, and outputs operation signals according to the operations on the keys and the like. Further, as described above, when the operation unit 24 is a touch panel display, various keys may be displayed on the display unit 23 as software keys.
  • the control device 20 receives, from the updating device 1, data constituting the updating program of the firmware in the updated device 2, and generates the updating program based on the received data.
  • the control device 20 is configured by hardware such as a circuit device that realizes various functions by executing software on an arithmetic device such as a microcomputer or the like.
  • FIG. 5 is a functional block diagram showing an example of the configuration of the control device 20 of FIG. As shown in FIG. 5, the control device 20 includes a divided data acquisition unit 201, a data verification unit 202, a response transmission control unit 203, and a data combining unit 204.
  • the divided data acquisition unit 201 acquires divided data of the update program transmitted from the update device 1 and supplies the divided data to the data verification unit 202.
  • the data verification unit 202 verifies whether or not the divided data is normal, using an error correction code or an error detection code included in the received divided data.
  • the response transmission control unit 203 generates a reception response according to the verification result by the data verification unit 202 and transmits the reception response to the update device 1. Specifically, when the divided data acquired by the divided data acquisition unit 201 can be normally received, the response transmission control unit 203 generates a reception response indicating that the divided data is normal. Further, the response transmission control unit 203 generates a reception response indicating that the divided data is abnormal, when the acquired divided data can not be received normally.
  • the data combining unit 204 When the received divided data is normal, the data combining unit 204 combines the received divided data to generate a firmware update program.
  • the data combining unit 204 may combine the divided data when acquiring all the divided data, or may combine each time the divided data is acquired.
  • FIG. 6 is a schematic view showing an example of the data structure of the update program received from the external device by the update device 1.
  • the update program is composed of firmware data which is an entity of the update program, and an error correction code or an error detection code for correcting or detecting an error in transmission and reception.
  • the error correction code or the error detection code will be described as error detection / correction information.
  • the update program shown in FIG. 6 is transmitted from the update device to the update device at one time. Then, the update receiving apparatus uses the error detection / correction information to determine whether the received update program is normal.
  • the entire update program is not properly received by the device to be updated, the entire update program is retransmitted. Therefore, when the communication quality between the update device and the update target device is low, it takes time to update the firmware.
  • the update device 1 when the update device 1 transmits the update program to the device to be updated 2, the update program is divided into a plurality of divided data. Then, the update device 1 sequentially transmits divided data divided into a plurality of devices to the update target device 2.
  • FIG. 7 is a schematic diagram for explaining division of the update program according to the first embodiment.
  • the update program of FIG. 6 is divided into a plurality of data in units of set data amount.
  • the plurality of divided data are stored in data portions of the plurality of divided data, respectively. Further, in each of the divided divided data, a header and error detection / correction information are added to the data part.
  • identification information indicating the order of divided data is described.
  • the update device 1 can identify the order of the divided data to be transmitted by describing the identification information in the header of the divided data.
  • the update target device 2 can identify the order of the divided data to be combined when combining the plurality of received divided data to obtain the update program.
  • the identification information is not limited to the header, and may be described in, for example, a footer or other area not shown.
  • FIG. 8 is a flow chart showing an example of the flow of transmission processing of the update program in the update device 1 according to the first embodiment.
  • the update device 1 when the update program of the firmware in the update device 2 is obtained from the external device, the transmission process of the update program is started.
  • step S1 the data division unit 102 divides the acquired update program in setting data amount units. Then, the data division unit 102 stores each of the divided data in the header and in the data portion of the plurality of divided data to which the error detection / correction information is added.
  • step S2 when the updating device 1 is connected to the device to be updated 2, the transmission control unit 103 transmits the first divided data of the plurality of pieces of divided data to the device to be updated 2 in step S3.
  • step S4 the transmission control unit 103 determines whether a reception response to the transmitted divided data has been received from the updated device 2. If it is determined that the reception response has been received (step S4; Yes), the transmission control unit 103 determines whether the received reception response is normal in step S5. If the reception response indicates that the divided data has been normally received (step S5; Yes), the process proceeds to step S6. Further, when the reception response indicates the reception abnormality of the divided data (step S5; No), the process proceeds to step S10.
  • step S6 the transmission control unit 103 determines whether there is untransmitted divided data. If it is determined that untransmitted divided data does not exist (step S6; No), the transmission control unit 103 determines in step S7 that the update program has been transmitted normally, and ends the transmission process. If it is determined that there is untransmitted divided data (step S6; Yes), the transmission control unit 103 determines, in step S8, the next divided data of the divided data based on the identification information described in the header of the divided data. It transmits to the update target device 2. Then, the process returns to step S4.
  • step S4 when it is determined in step S4 that the reception response has not been received (step S4; No), the transmission control unit 103 transmits the divided data in step S9 until it receives the reception response. It is determined whether or not the timeout time has been reached. If it is determined by the transmission control unit 103 that the timeout time has been reached (step S9; Yes), the process proceeds to step S10. If it is determined by the transmission control unit 103 that the time-out period has not been reached (step S9; No), the process returns to step S4.
  • step S10 the transmission control unit 103 determines whether the number of retransmissions of divided data is less than a specified number. If the number of retransmissions of the divided data is less than the specified number (step S10; Yes), the transmission control unit 103 retransmits the divided data to the update target device 2 in step S11. Then, the process returns to step S4. On the other hand, when the number of retransmissions of the divided data is equal to or more than the specified number (step S10; No), the transmission control unit 103 determines that the transmission of the update program has failed in step S12, and ends the transmission processing.
  • the present invention is not limited to this.
  • An upper limit is provided for the retransmission time, and whether the retransmission time of divided data exceeds the specified time Whether the transmission of the divided data is correct or not may be determined depending on whether or not it is.
  • the update program is divided in step S1 when the update program is acquired, the present invention is not limited thereto.
  • the version of the update program You may perform processing which confirms these.
  • version information of the program is described in the update program, and the update program acquisition unit 101 stores version information of the update program in the storage unit 13 when acquiring the update program. Then, the update program acquisition unit 101 compares the version information of the update program transmitted to the device to be updated 2 in the past with the version information of the acquired update program.
  • the update program acquisition unit 101 supplies the acquired update program to the data division unit 102. Then, the data division unit 102 executes the process of step S1 in the transmission process. On the other hand, if the acquired update program version is the same as the past update program version or older than the past update program version, the update program acquisition unit 101 discards the acquired update program and ends the transmission processing.
  • the update device 1 can prevent unnecessary update of the update program or update of the firmware of the update target device 2 to an old version.
  • FIG. 9 is a flowchart showing an example of the flow of the reception process of the update program in the device to be updated 2 according to the first embodiment.
  • the update device 1 When the update device 1 is connected to the device to be updated 2, the reception process of the update program is started.
  • step S21 the divided data acquisition unit 201 is in a reception standby state for divided data.
  • step S22 when the divided data acquisition unit 201 receives divided data, the divided data acquisition unit 201 supplies the received divided data to the data verification unit 202.
  • step S23 the data verification unit 202 verifies whether the divided data is normal or not in units of divided data, using the error detection / correction information included in the received divided data. If the data verification unit 202 determines that the divided data is normal (step S23; Yes), the response transmission control unit 203 generates a reception response indicating that the divided data is normal in step S24, and the update device Send to 1
  • the divided data is determined to be normal is when an error of the divided data is not detected by the error detection code or when an error is detected by the error correction code and the error can be corrected. is there.
  • step S23 when the data verification unit 202 determines that the divided data is abnormal (step S23; No), the response transmission control unit 203 generates a reception response indicating that the divided data is abnormal in step S25. It transmits to the update device 1. Then, the process returns to step S21.
  • the case where the divided data is judged to be abnormal is when an error of the divided data is detected by the error detection code or when an error is detected by the error correction code and the error can not be corrected. is there.
  • step S26 the data combining unit 204 determines whether all divided data have been received. If all the divided data have been received (Step S26; Yes), the data combining unit 204 combines all the received divided data in Step S27, and generates a firmware update program. On the other hand, when all the divided data are not received (step S26; No), the process returns to step S21, and the next divided data reception standby state is established.
  • the data combining unit 204 combines divided data when all divided data are obtained, this is not limited to this example. For example, each time the divided data is acquired, the data combining unit 204 may sequentially combine the received divided data.
  • the update program division processing is performed by the data division unit 102.
  • the present invention is not limited to this.
  • the update program division processing may be performed in advance by an external device.
  • a division application for dividing the update program is installed in advance in the external device.
  • the split application splits the update program.
  • the division application has a division function, and the division function divides the update program into a plurality of division data in units of setting data amount.
  • the update device 1 acquires divided data from an external device, and transmits the acquired divided data to the update device 2.
  • the update device 1 divides the firmware update program in the device to be updated 2 into a plurality of divided data, and transmits the divided data to the device to be updated 2.
  • the device to be updated 2 combines a plurality of pieces of divided data received from the updating device 1 to generate an update program.
  • the update program is sequentially transmitted to the device to be updated 2 as a plurality of divided data, only the data corresponding to the abnormal portion is generated even when an abnormality such as bit corruption or bit loss occurs and the data is retransmitted. Can be resent. Therefore, even if the communication quality of the network is low and low, the firmware can be updated in a short time.
  • the device to be updated 2 also verifies whether the divided data received from the updating device 1 is normal based on the error detection and correction information. As a result, since an abnormality in data is detected in divided data units, it is possible to detect an abnormal part more quickly than when detecting an abnormality in data in the entire update program.
  • the updated device 2 transmits a reception response indicating that the divided data is normal to the updating device 1, and the received divided data is abnormal. , And transmits to the update device 1 a reception response indicating that the divided data is abnormal.
  • the updating device 1 transmits the next divided data when receiving a reception response indicating that the divided data is normal from the updated device 2, and receives a reception response indicating that the divided data is abnormal.
  • the transmitted divided data is retransmitted.
  • the updating device 1 can reliably transmit the divided data required by the device to be updated 2.
  • the updating device 1 when receiving a reception response indicating that the divided data is abnormal, the updating device 1 retransmits the transmitted divided data until the set number of times is reached. As a result, the updating device 1 can reliably transmit normal divided data to the updated device 2.
  • the second embodiment differs from the first embodiment in that the firmware update program in the device to be updated 2 is divided in advance for each function.
  • the same components as those in Embodiment 1 are assigned the same reference numerals and detailed explanations thereof will be omitted.
  • the firmware includes an execution program and various data such as an icon image. Among these, the execution program is not changed but only the data is changed. In such a case, updating of the execution program is unnecessary.
  • the update device 1 divides and holds the update program of the firmware in advance for each function, and only the update program corresponding to the function required by the device to be updated 2 is added to the update device 2 Send to.
  • FIG. 10 is a schematic diagram for explaining division of the update program in the second embodiment.
  • the update program received from the external device is divided for each function in the update device 1.
  • the error detection / correction information is added to the update program divided for each function.
  • the update program is divided into update programs corresponding to Function A and Function B.
  • each of the update programs divided for each function is divided into a plurality of pieces of data in units of setting data amount, as in the first embodiment.
  • the plurality of divided data are stored in data portions of the plurality of divided data, respectively, and a header and error detection / correction information are added to the data portion.
  • the update program is divided into, for example, an execution program and data.
  • An execution program is an execution code used when performing various processing.
  • the data includes, for example, an icon image, font data, voice data, image data, or a language definition for multilingual support.
  • the method of dividing the update program is not limited to this example.
  • the data division unit 102 of the update device 1 corresponds to the function of the update device 2 that requires updating among the update programs divided in advance when transmitting the update program of the firmware to the update device 2.
  • the update program is divided to generate a plurality of divided data.
  • the transmission control unit 103 transmits the plurality of divided pieces of divided data to the updated device 2. If the data amount of the update program divided for each function is sufficiently small, for example, when it is equal to or less than the set data amount unit, the update device 1 does not further divide the update program into a plurality of divided data. It may be transmitted to the update device 2 with a data amount of
  • the update program is described to be divided into each function.
  • the present invention is not limited to this.
  • the update program may be divided according to the update frequency of each function. Font data etc. is updated less frequently, and it is not always updated every time the firmware is updated. Therefore, the update device 1 divides the update program received from the external device into data with low update frequency such as font data and data with high update frequency.
  • divided data may be transmitted according to the version of divided data.
  • the update device 1 divides the update program into a plurality of pieces of divided data, and adds version information to each piece of divided data. Then, the update device 1 classifies the update program into the latest version of divided data and the other divided data, and transmits only the update program composed of the latest version of divided data to the update target device 2.
  • the data division unit 102 when the data division unit 102 divides the update program and generates a plurality of divided data, the data division unit 102 adds version information to the generated divided data. Version information is described in, for example, the header of divided data.
  • the data division unit 102 compares the content of the most recently transmitted divided data stored in the storage unit 13 with the content of the divided data to be transmitted. If the contents of the divided data do not match as a result of comparison, the data dividing unit 102 determines that the divided data is the latest version, and indicates a version indicating that the version is newer than the divided data stored in the storage unit 13. Assign to divided data to send information. On the other hand, when the contents of the divided data match, the data dividing unit 102 assigns the same version information as the past divided data to the divided data, assuming that the divided data is identical to the previously transmitted divided data.
  • the data division unit 102 determines the divided data determined to be the new version as data to be transmitted to the device to be updated 2, and transmits the divided data to the device to be updated 2. As described above, only the divided data whose version is determined to be new is transmitted to the device to be updated 2, so that the update device 1 can update the update program unnecessary update or the firmware of the device to be updated 2 to the old version. Can be prevented.
  • the update device 1 divides the update program into a plurality of parts in advance for each function and holds the update program, and the update device 2 corresponds to the function requiring the update. Only the update program to be transmitted is transmitted to the update device 2.
  • the firmware can be updated in a shorter time as compared to the case where the update program of the entire firmware is transmitted.
  • the update device 1 may transmit and receive the update program in the background.
  • the update device 1 may transmit and receive the update program in the background.
  • transmission and reception of the update program are performed in the background, so that the update device 1 can suppress the influence on the other operation by the communication with the updated device 2.
  • the update device 1 and the device to be updated 2 perform short-distance wireless communication, the update device 1 goes out of the wireless range with the device to be updated 2 and communication is interrupted during transmission of divided data of the update program. May be In such a case, when the communication is resumed, the update device 1 may determine which divided data should be sent to the update target device 2 and resume transmission of the divided data.
  • the update device 1 when the communication is interrupted, stores the identification information described in the header of the divided data that has been transmitted and received in the storage unit 13. Then, when the communication is resumed, the updating device 1 reads the identification information from the storage unit 13, and determines divided data to resume transmission based on the read identification information. As a result, even if the communication is interrupted during transmission / reception of divided data, the updating device 1 can determine divided data to be transmitted next, and the length of communication by retransmitting divided data from the beginning etc. It is possible to suppress time-out.
  • the update of the firmware in the device to be updated 2 may be performed in a time slot when the device to be operated by the device to be updated 2 or the device to be updated 2 is not used.
  • the firmware is updated by operating the air conditioner such as outside the business hours of a store where the air conditioner is installed or outside the working hours of a company etc. It should be done outside.
  • the update of the firmware may be performed using a time other than the air conditioning operation scheduled, such as an idle time acquired from a schedule function such as a reservation system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

An update system for updating firmware of a device to be updated, using a firmware update program transmitted from an update device, wherein: the update device has a storage unit which stores a plurality of split pieces of data obtained by splitting the update program, and a transmission control unit which transmits the plurality of split pieces of data via wireless communication to the device to be updated; and the device to be updated has a split data acquisition unit which acquires the plurality of split pieces of data, and a data combining unit which combines the received plurality of split pieces of data to generate an update program.

Description

更新システム、更新装置および被更新装置Update system, update device and update device
 本発明は、ファームウェアを更新する更新システム、更新装置および被更新装置に関するものである。 The present invention relates to an update system for updating firmware, an update device, and an update device.
 従来、組み込み機器において、機器に不具合が発生した際の修正パッチの適用、あるいは機能の追加を目的として、ファームウェアの更新が行われている。最近では、ファームウェアを更新する方法として、様々な方法が提案され実用化されている。 Conventionally, in embedded devices, firmware has been updated for the purpose of applying a correction patch when a failure occurs in the device or adding a function. Recently, various methods have been proposed and put into practice as methods of updating firmware.
 ファームウェアの更新方法として、例えば、USB(Universal Serial Bus)メモリを用いた方法がある。この方法では、更新用プログラムが予め格納されたUSBメモリを組み込み機器に接続し、更新用プログラムを組み込み機器に読み込ませることにより、ファームウェアが更新される。 As a firmware update method, for example, there is a method using a USB (Universal Serial Bus) memory. In this method, the firmware is updated by connecting the USB memory in which the update program is stored in advance to the embedded device and causing the embedded device to read the update program.
 また、ファームウェアの更新方法として、例えば、PC(Personal Computer)または専用機器を用いた方法がある。この方法では、組み込み機器に予め搭載されたシリアルインターフェースなどの有線インターフェースにPCまたは専用機器を接続し、更新用プログラムを組み込み機器に読み込ませることにより、ファームウェアが更新される。 Further, as a method of updating the firmware, for example, there is a method using a PC (Personal Computer) or a dedicated device. In this method, the firmware is updated by connecting a PC or a dedicated device to a wired interface such as a serial interface installed in advance in the embedded device and causing the embedded device to read an update program.
 さらに、ファームウェアの更新方法として、ネットワークを用いた方法がある(例えば、特許文献1参照)。特許文献1に記載の方法において、更新プログラムは、予めファイルサーバに格納され保持されている。第1の伝送装置は、ネットワークを介して更新用プログラムをファイルサーバから取得する。そして、第1の伝送装置は、取得した更新用プログラムを、当該ネットワークとは異なるネットワークを介して更新対象となる第2の伝送装置に送信する。これにより、組み込み機器の遠隔更新が行われる。 Furthermore, as a method of updating the firmware, there is a method using a network (see, for example, Patent Document 1). In the method described in Patent Document 1, the update program is stored and held in advance in a file server. The first transmission apparatus acquires the update program from the file server via the network. Then, the first transmission apparatus transmits the acquired update program to the second transmission apparatus to be updated via a network different from the network. This allows remote updating of the embedded device.
国際公開第2011/027457号International Publication No. 2011/027457
 しかしながら、特許文献1に記載のファームウェア更新方法において、ネットワークの通信品質が低い場合、更新プログラムの一部のビット化けまたはビット抜け等により、更新プログラムが正常に受信されないことがある。更新プログラムが正常に受信されないと、ファームウェアを更新することができない。そのため、ファームウェアの更新の失敗を防ぐことを目的として、更新プログラムには、一般に、更新プログラムを正常に受信したか否かを判断するための誤り訂正符号または誤り検出符号が付与されている。 However, in the firmware update method described in Patent Document 1, when the communication quality of the network is low, the update program may not be received normally due to some bit corruption or bit omission of the update program. If the update program is not successfully received, the firmware can not be updated. Therefore, for the purpose of preventing a failure of updating of the firmware, the update program is generally provided with an error correction code or an error detection code for determining whether the update program has been received normally.
 しかしながら、通常、誤り訂正符号または誤り検出符号は、更新プログラム全体に対して付与されているため、誤り検出処理は、更新プログラム全体の受信完了後に行われる。
 すなわち、更新プログラムに誤りが検出された場合、更新プログラム全体の送受信を再度行う必要があるので、ファームウェアの更新処理に時間がかかる。
However, since the error correction code or the error detection code is usually assigned to the entire update program, the error detection process is performed after the reception of the entire update program is completed.
That is, when an error is detected in the update program, it is necessary to transmit and receive the entire update program again, so it takes time to update the firmware.
 本発明は、上記従来の技術における課題に鑑みてなされたものであって、ネットワークの通信品質が低い場合でも、短時間でファームウェアを更新することができる更新システム、更新装置および被更新装置を提供することを目的とする。 The present invention has been made in view of the problems in the above-described conventional technology, and provides an update system, an update device, and an update device capable of updating firmware in a short time even when the communication quality of the network is low. The purpose is to
 本発明の更新システムは、更新装置および被更新装置を備え、前記被更新装置のファームウェアを前記更新装置から送信されたファームウェアの更新プログラムに更新する更新システムであって、前記更新装置は、前記更新プログラムを複数に分割した分割データを記憶する記憶部と、記憶された複数の前記分割データを前記被更新装置に対して無線通信によって送信する送信制御部とを有し、前記被更新装置は、前記更新装置から複数の前記分割データを取得する分割データ取得部と、受信した複数の前記分割データを結合して前記更新プログラムを生成するデータ結合部とを有するものである。 An update system according to the present invention includes an update device and an update device, and updates the firmware of the update device to an update program of the firmware transmitted from the update device, wherein the update device is the update device. The update device includes a storage unit that stores divided data obtained by dividing a program into a plurality of programs, and a transmission control unit that transmits the plurality of stored divided data to the update target device by wireless communication, It has a divided data acquisition unit that acquires a plurality of pieces of divided data from the update device, and a data combination unit that combines the plurality of pieces of received divided data to generate the update program.
 本発明によれば、ファームウェアの更新プログラムを複数の分割データに分割して被更新装置に送信することにより、ネットワークの通信品質が低い場合でも、短時間でファームウェアを更新することができる。 According to the present invention, by dividing the firmware update program into a plurality of divided data and transmitting the divided data to the update target device, the firmware can be updated in a short time even if the communication quality of the network is low.
実施の形態1に係る更新システムの構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of a configuration of an update system according to Embodiment 1. 図1の更新装置の構成の一例を示すハードウェアブロック図である。It is a hardware block diagram which shows an example of a structure of the update apparatus of FIG. 図2の制御装置の構成の一例を示す機能ブロック図である。It is a functional block diagram which shows an example of a structure of the control apparatus of FIG. 図1の被更新装置の構成の一例を示すハードウェアブロック図である。It is a hardware block diagram which shows an example of a structure of the update apparatus of FIG. 図4の制御装置の構成の一例を示す機能ブロック図である。It is a functional block diagram which shows an example of a structure of the control apparatus of FIG. 更新装置によって外部機器から受信される更新プログラムのデータ構造の一例を示す概略図である。It is the schematic which shows an example of the data structure of the update program received from an external apparatus by the update apparatus. 実施の形態1による更新プログラムの分割について説明するための概略図である。FIG. 7 is a schematic diagram for explaining division of an update program according to the first embodiment. 実施の形態1に係る更新装置における更新プログラムの送信処理の流れの一例を示すフローチャートである。7 is a flowchart showing an example of the flow of transmission processing of the update program in the update device according to the first embodiment. 実施の形態1に係る被更新装置における更新プログラムの受信処理の流れの一例を示すフローチャートである。7 is a flowchart illustrating an example of a flow of reception processing of the update program in the updated device according to the first embodiment. 実施の形態2における更新プログラムの分割について説明するための概略図である。FIG. 18 is a schematic diagram for explaining division of the update program in the second embodiment.
実施の形態1.
 以下、本発明の実施の形態1に係る更新システムについて説明する。図1は、本実施の形態1に係る更新システム100の構成の一例を示すブロック図である。図1に示すように、更新システム100は、更新装置1および被更新装置2で構成されている。更新装置1と被更新装置2とは、近距離無線通信により互いに通信を行う。
Embodiment 1
Hereinafter, the update system according to the first embodiment of the present invention will be described. FIG. 1 is a block diagram showing an example of the configuration of the update system 100 according to the first embodiment. As shown in FIG. 1, the update system 100 includes an update device 1 and an update device 2. The update device 1 and the update device 2 communicate with each other by near field communication.
 更新装置1は、Web等を介してPC等の外部機器から被更新装置2におけるファームウェアの更新プログラムを取得し、近距離無線通信により、被更新装置2に対して更新プログラムを送信する。更新装置1として、例えば、近距離無線通信機能を有するスマートフォンまたはタブレット等の汎用機器が適用される。 The update device 1 acquires the update program of the firmware in the device to be updated 2 from an external device such as a PC via the Web or the like, and transmits the update program to the device to be updated 2 by short distance wireless communication. As the update device 1, for example, a general-purpose device such as a smartphone or a tablet having a near field wireless communication function is applied.
 被更新装置2は、近距離無線通信により、更新装置1から送信された更新プログラムを受信し、現在のファームウェアを更新する。被更新装置2として、例えば、空気調和装置のリモートコントローラ等の特定の機能を実現することを目的とした組み込み機器が適用される。 The to-be-updated device 2 receives the update program transmitted from the updating device 1 by short-distance wireless communication, and updates the current firmware. As the device to be updated 2, for example, a built-in device intended to realize a specific function such as a remote controller of an air conditioner is applied.
 なお、近距離無線通信とは、数メートルから数百メートル程度の距離での通信を行う規格の総称である。近距離無線通信は、低消費電力かつ低速という特徴を有しており、一般には低通信品質である。近距離無線通信として、例えば、Bluetooth(登録商標、以下省略する)、Zigbee(登録商標)、EnOcean(登録商標)、NFC(Near Field Communication)、および特定小電力無線などが挙げられる。なお、近距離無線通信は、上記の一例により限定されるものではない。 In addition, near field communication is a generic term of the standard which communicates by the distance of several meters to several hundreds meters. Near field communication is characterized by low power consumption and low speed, and generally has low communication quality. As near field communication, for example, Bluetooth (registered trademark, hereinafter abbreviated), Zigbee (registered trademark), EnOcean (registered trademark), NFC (Near Field Communication), specific low power wireless communication, and the like can be mentioned. The short distance wireless communication is not limited to the above example.
[更新システム100の構成]
(更新装置1)
 図2は、図1の更新装置1の構成の一例を示すハードウェアブロック図である。図2に示すように、更新装置1は、制御装置10、接続インターフェース(I/F)11、第1の通信インターフェース(I/F)12、記憶部13、表示部14および操作部15を備えている。
[Configuration of Update System 100]
(Update device 1)
FIG. 2 is a hardware block diagram showing an example of the configuration of the update device 1 of FIG. As shown in FIG. 2, the update device 1 includes a control device 10, a connection interface (I / F) 11, a first communication interface (I / F) 12, a storage unit 13, a display unit 14, and an operation unit 15. ing.
 接続I/F11は、有線あるいは無線によってPC等の外部機器と接続され、制御装置10の命令に基づき、外部機器との間で行われる通信を制御する。特に、本実施の形態1において、接続I/F11は、外部機器から、被更新装置2におけるファームウェアの更新プログラムを受信し、受信した更新プログラムを制御装置10に供給する。 The connection I / F 11 is connected to an external device such as a PC by wire or wirelessly, and controls communication performed with the external device based on an instruction of the control device 10. In particular, in the first embodiment, the connection I / F 11 receives the update program of the firmware in the updated device 2 from the external device, and supplies the received update program to the control device 10.
 第1の通信I/F12は、Bluetooth等の近距離無線によって被更新装置2と接続され、制御装置10の命令に基づき、被更新装置2との間で行われる通信を制御する。特に、本実施の形態1において、第1の通信I/F12は、更新プログラムが分割された分割データを被更新装置2に送信する。 The first communication I / F 12 is connected to the device to be updated 2 by near field wireless communication such as Bluetooth, and controls communication performed with the device to be updated 2 based on an instruction of the control device 10. In particular, in the first embodiment, the first communication I / F 12 transmits divided data in which the update program is divided to the updated device 2.
 記憶部13は、各種のデータまたは制御装置10で実行されるプログラム等を保持する。記憶部13は、制御装置10の制御により、更新プログラムの書き込みおよび読み出しを行う。 The storage unit 13 holds various data, programs executed by the control device 10, and the like. The storage unit 13 writes and reads the update program under the control of the control device 10.
 表示部14は、例えばLCD(Liquid Crystal Display)または有機EL(Electro Luminescence)ディスプレイ等によって構成されている。なお、表示部14として、例えば、LCDまたは有機ELディスプレイ上にタッチセンサを有するタッチパネルが積層されたタッチパネルディスプレイが用いられてもよい。 The display unit 14 is configured of, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display. In addition, as the display unit 14, for example, a touch panel display in which a touch panel having a touch sensor is stacked on an LCD or an organic EL display may be used.
 操作部15は、更新装置1を操作するために用いられる各種のキー等が設けられ、各キー等に対する操作に応じた操作信号を出力する。また、上述したように、表示部14がタッチパネルディスプレイである場合には、各種キーがソフトウェアキーとして表示部14に表示されるようにしてもよい。 The operation unit 15 is provided with various keys and the like used to operate the updating device 1, and outputs operation signals according to the operations on the keys and the like. Further, as described above, when the display unit 14 is a touch panel display, various keys may be displayed on the display unit 14 as software keys.
 制御装置10は、外部機器から受け取った被更新装置2におけるファームウェアの更新プログラムを分割し、被更新装置2に対して送信する処理を行う。制御装置10は、マイクロコンピュータなどの演算装置上でソフトウェアを実行することにより各種機能が実現され、もしくは各種機能を実現する回路デバイスなどのハードウェア等で構成されている。 The control device 10 divides the update program of the firmware in the device to be updated 2 received from the external device, and performs processing for transmitting the program to the device to be updated 2. The control device 10 is configured by hardware such as a circuit device that realizes various functions by executing software on an arithmetic device such as a microcomputer or the like.
 図3は、図2の制御装置10の構成の一例を示す機能ブロック図である。図3に示すように、制御装置10は、更新プログラム取得部101、データ分割部102、送信制御部103および分割データ記憶部104を備えている。 FIG. 3 is a functional block diagram showing an example of the configuration of the control device 10 of FIG. As shown in FIG. 3, the control device 10 includes an update program acquisition unit 101, a data division unit 102, a transmission control unit 103, and a division data storage unit 104.
 更新プログラム取得部101は、被更新装置2におけるファームウェアの更新プログラムを、接続I/F11を介して取得し、データ分割部102に供給する。データ分割部102は、受け取った更新プログラムを、設定データ量単位で複数に分割し、複数の分割データを生成し、分割データ記憶部104に記憶する。データ分割部102は、例えば更新プログラムを分割するための分割アプリケーションであり、分割アプリケーションが有する分割機能によって更新プログラムの分割処理を行う。 The update program acquisition unit 101 acquires the update program of the firmware in the update target device 2 through the connection I / F 11 and supplies the update program to the data division unit 102. The data division unit 102 divides the received update program into a plurality of units in setting data amount units, generates a plurality of divided data, and stores the plurality of divided data in the divided data storage unit 104. The data division unit 102 is, for example, a division application for dividing the update program, and performs division processing of the update program by the division function of the division application.
 分割データ記憶部104には、更新プログラムが分割された分割データが記憶される。なお、分割データは、上述したように、データ分割部102で分割される場合以外に、外部機器で分割データを生成し、分割データが外部機器から直接取得される場合がある。この場合、取得した分割データが分割データ記憶部104に記憶される。分割データを直接取得する場合については、後述する。 The divided data storage unit 104 stores divided data in which the update program is divided. Note that, as described above, the divided data may be generated by the external device other than when divided by the data dividing unit 102, and the divided data may be obtained directly from the external device. In this case, the acquired divided data is stored in the divided data storage unit 104. The case of directly acquiring divided data will be described later.
 送信制御部103は、被更新装置2から受信した受信応答の内容に基づき、被更新装置2に対して送信すべき分割データを決定する。送信制御部103は、データ分割部102で生成された複数の分割データを、第1の通信I/F12を介して被更新装置2に送信する。受信応答は、被更新装置2で分割データを正常に受信したか否かを示す情報である。 The transmission control unit 103 determines divided data to be transmitted to the updated device 2 based on the content of the reception response received from the updated device 2. The transmission control unit 103 transmits the plurality of divided data generated by the data division unit 102 to the updated device 2 via the first communication I / F 12. The reception response is information indicating whether or not the updated device 2 has normally received the divided data.
 送信制御部103は、ある分割データを送信した後、当該分割データに対応する受信応答を被更新装置2から受信し、受信応答が分割データを正常に受信したことを示す場合、当該分割データの次の分割データを被更新装置2に対して送信する。一方、送信制御部103は、受信した当該分割データに対応する受信応答が分割データの受信異常を示す場合、当該分割データを被更新装置2に対して再送する。 After transmitting a certain divided data, the transmission control unit 103 receives a reception response corresponding to the divided data from the to-be-updated device 2 and if the reception response indicates that the divided data has been successfully received, The next divided data is transmitted to the update device 2. On the other hand, when the reception response corresponding to the received divided data indicates reception abnormality of the divided data, the transmission control unit 103 retransmits the divided data to the update target device 2.
(被更新装置2)
 図4は、図1の被更新装置2の構成の一例を示すハードウェアブロック図である。図4に示すように、被更新装置2は、制御装置20、第2の通信インターフェース(I/F)21、記憶部22、表示部23および操作部24を備えている。
(Updated device 2)
FIG. 4 is a hardware block diagram showing an example of the configuration of the update device 2 of FIG. As shown in FIG. 4, the device to be updated 2 includes a control device 20, a second communication interface (I / F) 21, a storage unit 22, a display unit 23, and an operation unit 24.
 第2の通信I/F21は、Bluetooth等の近距離無線によって更新装置1と接続され、制御装置20の命令に基づき、更新装置1との間で行われる通信を制御する。特に、本実施の形態1において、第2の通信I/F21は、更新プログラムが分割された分割データを更新装置1から受信する。 The second communication I / F 21 is connected to the updating device 1 by near field wireless communication such as Bluetooth, and controls communication performed with the updating device 1 based on an instruction of the control device 20. In particular, in the first embodiment, the second communication I / F 21 receives, from the update device 1, the divided data in which the update program is divided.
 記憶部22は、各種のデータまたは制御装置20で実行されるプログラム等を保持する。記憶部22は、制御装置20の制御により、更新プログラムの書き込みおよび読み出しを行う。 The storage unit 22 holds various data, programs executed by the control device 20, and the like. The storage unit 22 writes and reads the update program under the control of the control device 20.
 表示部23は、例えばLCDまたは有機ELディスプレイ等によって構成されている。なお、表示部23として、例えばタッチパネルディスプレイが用いられてもよい。また、表示部23は、必ずしも設けられる必要はない。操作部24は、更新装置1を操作するために用いられる各種のキー等が設けられ、各キー等に対する操作に応じた操作信号を出力する。また、上述したように、操作部24がタッチパネルディスプレイである場合には、各種キーがソフトウェアキーとして表示部23に表示されるようにしてもよい。 The display unit 23 is configured of, for example, an LCD or an organic EL display. For example, a touch panel display may be used as the display unit 23. In addition, the display unit 23 does not necessarily have to be provided. The operation unit 24 is provided with various keys and the like used to operate the updating device 1, and outputs operation signals according to the operations on the keys and the like. Further, as described above, when the operation unit 24 is a touch panel display, various keys may be displayed on the display unit 23 as software keys.
 制御装置20は、被更新装置2におけるファームウェアの更新プログラムを構成するデータを更新装置1から受信し、受信したデータに基づき、更新プログラムを生成する。制御装置20は、マイクロコンピュータなどの演算装置上でソフトウェアを実行することにより各種機能が実現され、もしくは各種機能を実現する回路デバイスなどのハードウェア等で構成されている。 The control device 20 receives, from the updating device 1, data constituting the updating program of the firmware in the updated device 2, and generates the updating program based on the received data. The control device 20 is configured by hardware such as a circuit device that realizes various functions by executing software on an arithmetic device such as a microcomputer or the like.
 図5は、図4の制御装置20の構成の一例を示す機能ブロック図である。図5に示すように、制御装置20は、分割データ取得部201、データ検証部202、応答送信制御部203およびデータ結合部204を備えている。 FIG. 5 is a functional block diagram showing an example of the configuration of the control device 20 of FIG. As shown in FIG. 5, the control device 20 includes a divided data acquisition unit 201, a data verification unit 202, a response transmission control unit 203, and a data combining unit 204.
 分割データ取得部201は、更新装置1から送信された更新プログラムの分割データを取得し、データ検証部202に供給する。データ検証部202は、受け取った分割データに含まれる誤り訂正符号または誤り検出符号を用いて、分割データが正常であるか否かを検証する。 The divided data acquisition unit 201 acquires divided data of the update program transmitted from the update device 1 and supplies the divided data to the data verification unit 202. The data verification unit 202 verifies whether or not the divided data is normal, using an error correction code or an error detection code included in the received divided data.
 応答送信制御部203は、データ検証部202による検証結果に応じた受信応答を生成し、更新装置1に対して送信する。具体的には、応答送信制御部203は、分割データ取得部201で取得した分割データが正常に受信できた場合に、分割データが正常であることを示す受信応答を生成する。また、応答送信制御部203は、取得した分割データを正常に受信できなかった場合に、分割データが異常であることを示す受信応答を生成する。 The response transmission control unit 203 generates a reception response according to the verification result by the data verification unit 202 and transmits the reception response to the update device 1. Specifically, when the divided data acquired by the divided data acquisition unit 201 can be normally received, the response transmission control unit 203 generates a reception response indicating that the divided data is normal. Further, the response transmission control unit 203 generates a reception response indicating that the divided data is abnormal, when the acquired divided data can not be received normally.
 データ結合部204は、受信した分割データが正常である場合に、受信した分割データを結合し、ファームウェアの更新プログラムを生成する。なお、データ結合部204は、すべての分割データを取得した場合に、分割データを結合してもよいし、分割データを取得するたびに結合してもよい。 When the received divided data is normal, the data combining unit 204 combines the received divided data to generate a firmware update program. The data combining unit 204 may combine the divided data when acquiring all the divided data, or may combine each time the divided data is acquired.
[更新プログラムの分割]
 図6は、更新装置1によって外部機器から受信される更新プログラムのデータ構造の一例を示す概略図である。図6に示すように、更新プログラムは、当該更新プログラムの実体であるファームウェアデータと、送受信の際の誤りを訂正または検出するための誤り訂正符号または誤り検出符号とで構成されている。なお、以下では、誤り訂正符号または誤り検出符号のことを、誤り検出訂正情報と称して説明する。
[Split update program]
FIG. 6 is a schematic view showing an example of the data structure of the update program received from the external device by the update device 1. As shown in FIG. 6, the update program is composed of firmware data which is an entity of the update program, and an error correction code or an error detection code for correcting or detecting an error in transmission and reception. Hereinafter, the error correction code or the error detection code will be described as error detection / correction information.
 従来の更新システムにおいては、図6に示す更新プログラムが更新装置から被更新装置に対して一度に送信される。そして、被更新装置は、誤り検出訂正情報を用いて、受信した更新プログラムが正常であるか否かを判断している。ここで、被更新装置において更新プログラム全体が正常に受信されない場合には、更新プログラム全体の再送信が行われる。そのため、更新装置と被更新装置との間の通信品質が低い場合には、ファームウェアの更新処理に時間がかかる。 In the conventional update system, the update program shown in FIG. 6 is transmitted from the update device to the update device at one time. Then, the update receiving apparatus uses the error detection / correction information to determine whether the received update program is normal. Here, when the entire update program is not properly received by the device to be updated, the entire update program is retransmitted. Therefore, when the communication quality between the update device and the update target device is low, it takes time to update the firmware.
 そこで、本実施の形態1に係る更新システム100では、更新装置1から被更新装置2に対して更新プログラムを送信する際に、更新プログラムが複数の分割データに分割される。そして、更新装置1は、複数に分割された分割データを、被更新装置2に対して順次送信する。 Therefore, in the update system 100 according to the first embodiment, when the update device 1 transmits the update program to the device to be updated 2, the update program is divided into a plurality of divided data. Then, the update device 1 sequentially transmits divided data divided into a plurality of devices to the update target device 2.
 図7は、本実施の形態1による更新プログラムの分割について説明するための概略図である。図7に示すように、図6の更新プログラムは、設定データ量単位で複数のデータに分割される。分割された複数のデータは、複数の分割データのデータ部にそれぞれ格納される。また、分割されたそれぞれの分割データでは、データ部に対して、ヘッダと、誤り検出訂正情報とが付与される。 FIG. 7 is a schematic diagram for explaining division of the update program according to the first embodiment. As shown in FIG. 7, the update program of FIG. 6 is divided into a plurality of data in units of set data amount. The plurality of divided data are stored in data portions of the plurality of divided data, respectively. Further, in each of the divided divided data, a header and error detection / correction information are added to the data part.
 ヘッダには、分割データの順序を示す識別情報が記述されている。このように、分割データのヘッダに識別情報を記述することにより、更新装置1は、送信する分割データの順序を識別することができる。また、被更新装置2は、受信した複数の分割データを結合して更新プログラムを取得する際に、結合する分割データの順序を識別することができる。なお、識別情報は、ヘッダに限らず、例えば図示しないフッタあるいはその他の領域に記述されてもよい。 In the header, identification information indicating the order of divided data is described. Thus, the update device 1 can identify the order of the divided data to be transmitted by describing the identification information in the header of the divided data. Further, the update target device 2 can identify the order of the divided data to be combined when combining the plurality of received divided data to obtain the update program. The identification information is not limited to the header, and may be described in, for example, a footer or other area not shown.
[更新プログラムの送受信処理]
 更新システム100における更新プログラムの送受信処理について説明する。以下では、更新装置1による更新プログラムの送信処理と、被更新装置2による更新プログラムの受信処理について説明する。
[Update program send / receive processing]
The transmission and reception process of the update program in the update system 100 will be described. Below, the transmission process of the update program by the update device 1 and the reception process of the update program by the updated device 2 will be described.
(送信処理)
 図8は、本実施の形態1に係る更新装置1における更新プログラムの送信処理の流れの一例を示すフローチャートである。更新装置1において、外部機器から被更新装置2におけるファームウェアの更新プログラムが取得されると、更新プログラムの送信処理が開始される。
(Transmission process)
FIG. 8 is a flow chart showing an example of the flow of transmission processing of the update program in the update device 1 according to the first embodiment. In the update device 1, when the update program of the firmware in the update device 2 is obtained from the external device, the transmission process of the update program is started.
 ステップS1において、データ分割部102は、取得した更新プログラムを設定データ量単位で分割する。そして、データ分割部102は、分割したそれぞれのデータを、ヘッダおよび誤り検出訂正情報が付与された複数の分割データのデータ部にそれぞれ格納する。ステップS2において、更新装置1が被更新装置2に接続されると、送信制御部103は、ステップS3において、複数の分割データのうち先頭の分割データを被更新装置2に送信する。 In step S1, the data division unit 102 divides the acquired update program in setting data amount units. Then, the data division unit 102 stores each of the divided data in the header and in the data portion of the plurality of divided data to which the error detection / correction information is added. In step S2, when the updating device 1 is connected to the device to be updated 2, the transmission control unit 103 transmits the first divided data of the plurality of pieces of divided data to the device to be updated 2 in step S3.
 ステップS4において、送信制御部103は、送信した分割データに対する受信応答を被更新装置2から受信したか否かを判断する。受信応答を受信したと判断した場合(ステップS4;Yes)、送信制御部103は、ステップS5において、受信した受信応答が正常であるか否かを判断する。受信応答が分割データを正常に受信したことを示す場合(ステップS5;Yes)には、処理がステップS6に移行する。また、受信応答が分割データの受信異常を示す場合(ステップS5;No)には、処理がステップS10に移行する。 In step S4, the transmission control unit 103 determines whether a reception response to the transmitted divided data has been received from the updated device 2. If it is determined that the reception response has been received (step S4; Yes), the transmission control unit 103 determines whether the received reception response is normal in step S5. If the reception response indicates that the divided data has been normally received (step S5; Yes), the process proceeds to step S6. Further, when the reception response indicates the reception abnormality of the divided data (step S5; No), the process proceeds to step S10.
 ステップS6において、送信制御部103は、未送信の分割データが存在するか否かを判断する。未送信の分割データが存在しないと判断した場合(ステップS6;No)、送信制御部103は、ステップS7において、更新プログラムを正常に送信したと判断し、送信処理を終了する。未送信の分割データが存在すると判断した場合(ステップS6;Yes)、送信制御部103は、ステップS8において、分割データのヘッダに記述された識別情報に基づき、当該分割データの次の分割データを被更新装置2に対して送信する。そして、処理がステップS4に戻る。 In step S6, the transmission control unit 103 determines whether there is untransmitted divided data. If it is determined that untransmitted divided data does not exist (step S6; No), the transmission control unit 103 determines in step S7 that the update program has been transmitted normally, and ends the transmission process. If it is determined that there is untransmitted divided data (step S6; Yes), the transmission control unit 103 determines, in step S8, the next divided data of the divided data based on the identification information described in the header of the divided data. It transmits to the update target device 2. Then, the process returns to step S4.
 一方、ステップS4において、受信応答を受信していないと判断した場合(ステップS4;No)、送信制御部103は、ステップS9において、分割データを送信してから受信応答を受信するまでの時間がタイムアウト時間に達したか否かを判断する。送信制御部103により、タイムアウト時間に達したと判断された場合(ステップS9;Yes)には、処理がステップS10に移行する。送信制御部103により、タイムアウト時間に達していないと判断された場合(ステップS9;No)には、処理がステップS4に戻る。 On the other hand, when it is determined in step S4 that the reception response has not been received (step S4; No), the transmission control unit 103 transmits the divided data in step S9 until it receives the reception response. It is determined whether or not the timeout time has been reached. If it is determined by the transmission control unit 103 that the timeout time has been reached (step S9; Yes), the process proceeds to step S10. If it is determined by the transmission control unit 103 that the time-out period has not been reached (step S9; No), the process returns to step S4.
 ステップS10において、送信制御部103は、分割データの再送回数が規定回数未満であるか否かを判断する。分割データの再送回数が規定回数未満である場合(ステップS10;Yes)、送信制御部103は、ステップS11において、当該分割データを被更新装置2に再送する。そして、処理がステップS4に戻る。一方、分割データの再送回数が規定回数以上である場合(ステップS10;No)、送信制御部103は、ステップS12において、更新プログラムの送信が失敗したと判断し、送信処理を終了する。 In step S10, the transmission control unit 103 determines whether the number of retransmissions of divided data is less than a specified number. If the number of retransmissions of the divided data is less than the specified number (step S10; Yes), the transmission control unit 103 retransmits the divided data to the update target device 2 in step S11. Then, the process returns to step S4. On the other hand, when the number of retransmissions of the divided data is equal to or more than the specified number (step S10; No), the transmission control unit 103 determines that the transmission of the update program has failed in step S12, and ends the transmission processing.
 なお、図8の例では、ステップS10において、分割データの再送回数に上限値を設けているが、これに限られず、再送時間に上限値を設け、分割データの再送時間が規定時間を超えるか否かで分割データの送信の正否を判断してもよい。 In the example of FIG. 8, although the upper limit is provided for the number of retransmissions of divided data in step S10, the present invention is not limited to this. An upper limit is provided for the retransmission time, and whether the retransmission time of divided data exceeds the specified time Whether the transmission of the divided data is correct or not may be determined depending on whether or not it is.
 また、この例では、更新プログラムが取得された場合に、ステップS1で更新プログラムが分割されるように説明したが、これに限られず、例えば、更新プログラムが分割される前に、更新プログラムのバージョンを確認する処理を行ってもよい。 Further, in this example, although the update program is divided in step S1 when the update program is acquired, the present invention is not limited thereto. For example, before the update program is divided, the version of the update program You may perform processing which confirms these.
 具体的には、更新プログラムには、プログラムのバージョン情報が記述されており、更新プログラム取得部101は、更新プログラムを取得した際に、更新プログラムのバージョン情報を記憶部13に記憶する。そして、更新プログラム取得部101は、過去に被更新装置2に対して送信した更新プログラムのバージョン情報と、取得した更新プログラムのバージョン情報とを比較する。 Specifically, version information of the program is described in the update program, and the update program acquisition unit 101 stores version information of the update program in the storage unit 13 when acquiring the update program. Then, the update program acquisition unit 101 compares the version information of the update program transmitted to the device to be updated 2 in the past with the version information of the acquired update program.
 比較の結果、取得した更新プログラムのバージョンが過去の更新プログラムのバージョンよりも新しい場合、更新プログラム取得部101は、取得した更新プログラムをデータ分割部102に供給する。そして、データ分割部102は、送信処理におけるステップS1の処理を実行する。一方、取得した更新プログラムのバージョンが過去の更新プログラムのバージョンと同一または過去の更新プログラムのバージョンよりも古い場合、更新プログラム取得部101は、取得した更新プログラムを破棄し、送信処理を終了する。 As a result of comparison, when the version of the acquired update program is newer than the version of the past update program, the update program acquisition unit 101 supplies the acquired update program to the data division unit 102. Then, the data division unit 102 executes the process of step S1 in the transmission process. On the other hand, if the acquired update program version is the same as the past update program version or older than the past update program version, the update program acquisition unit 101 discards the acquired update program and ends the transmission processing.
 このように、取得した更新プログラムのバージョンが確認されることにより、更新装置1は、更新プログラムの不要な更新、または被更新装置2のファームウェアが古いバージョンに更新されるのを防ぐことができる。 Thus, by confirming the acquired version of the update program, the update device 1 can prevent unnecessary update of the update program or update of the firmware of the update target device 2 to an old version.
(受信処理)
 図9は、本実施の形態1に係る被更新装置2における更新プログラムの受信処理の流れの一例を示すフローチャートである。被更新装置2に更新装置1が接続されると、更新プログラムの受信処理が開始される。
(Reception processing)
FIG. 9 is a flowchart showing an example of the flow of the reception process of the update program in the device to be updated 2 according to the first embodiment. When the update device 1 is connected to the device to be updated 2, the reception process of the update program is started.
 ステップS21において、分割データ取得部201は、分割データの受信待機状態となる。ステップS22において、分割データ取得部201は、分割データを受信すると、受信した分割データをデータ検証部202に供給する。 In step S21, the divided data acquisition unit 201 is in a reception standby state for divided data. In step S22, when the divided data acquisition unit 201 receives divided data, the divided data acquisition unit 201 supplies the received divided data to the data verification unit 202.
 ステップS23において、データ検証部202は、受け取った分割データに含まれる誤り検出訂正情報を用いて、分割データ単位で当該分割データが正常であるか否かを検証する。データ検証部202によって分割データが正常であると判断した場合(ステップS23;Yes)、応答送信制御部203は、ステップS24において、分割データが正常であることを示す受信応答を生成し、更新装置1に対して送信する。なお、分割データが正常であると判断される場合とは、誤り検出符号によって分割データの誤りが検出されなかった場合、または、誤り訂正符号によって誤りが検出され、かつ誤りを訂正できた場合である。 In step S23, the data verification unit 202 verifies whether the divided data is normal or not in units of divided data, using the error detection / correction information included in the received divided data. If the data verification unit 202 determines that the divided data is normal (step S23; Yes), the response transmission control unit 203 generates a reception response indicating that the divided data is normal in step S24, and the update device Send to 1 The case where the divided data is determined to be normal is when an error of the divided data is not detected by the error detection code or when an error is detected by the error correction code and the error can be corrected. is there.
 一方、データ検証部202によって分割データが異常であると判断した場合(ステップS23;No)、応答送信制御部203は、ステップS25において、分割データが異常であることを示す受信応答を生成し、更新装置1に対して送信する。そして、処理がステップS21に戻る。なお、分割データが異常であると判断される場合とは、誤り検出符号によって分割データの誤りが検出された場合、または、誤り訂正符号によって誤りが検出され、かつ誤りを訂正できなかった場合である。 On the other hand, when the data verification unit 202 determines that the divided data is abnormal (step S23; No), the response transmission control unit 203 generates a reception response indicating that the divided data is abnormal in step S25. It transmits to the update device 1. Then, the process returns to step S21. The case where the divided data is judged to be abnormal is when an error of the divided data is detected by the error detection code or when an error is detected by the error correction code and the error can not be corrected. is there.
 ステップS26において、データ結合部204は、すべての分割データを受信したか否かを判断する。すべての分割データが受信された場合(ステップS26;Yes)、データ結合部204は、ステップS27において、受信したすべての分割データを結合し、ファームウェアの更新プログラムを生成する。一方、すべての分割データが受信されていない場合(ステップS26;No)には、処理がステップS21に戻り、次の分割データの受信待機状態となる。 In step S26, the data combining unit 204 determines whether all divided data have been received. If all the divided data have been received (Step S26; Yes), the data combining unit 204 combines all the received divided data in Step S27, and generates a firmware update program. On the other hand, when all the divided data are not received (step S26; No), the process returns to step S21, and the next divided data reception standby state is established.
 なお、この例において、データ結合部204は、すべての分割データを取得した場合に分割データを結合しているが、これはこの例に限られない。例えば、分割データを取得するたびに、データ結合部204は、受信した分割データを順次結合してもよい。 In this example, although the data combining unit 204 combines divided data when all divided data are obtained, this is not limited to this example. For example, each time the divided data is acquired, the data combining unit 204 may sequentially combine the received divided data.
 上述の説明において、データ分割部102によって更新プログラムの分割処理が行われるようにしているが、これに限られず、例えば、外部機器によって更新プログラムの分割処理が予め行われるようにしてもよい。具体的には、外部機器には、更新プログラムを分割するための分割アプリケーションが予めインストールされる。外部機器では、分割アプリケーションによって更新プログラムの分割処理が行われる。分割アプリケーションは分割機能を有し、分割機能によって更新プログラムを設定データ量単位で複数の分割データに分割する。この場合、更新装置1は、外部機器から分割データを取得し、取得した分割データを被更新装置2に対して送信する。 In the above description, the update program division processing is performed by the data division unit 102. However, the present invention is not limited to this. For example, the update program division processing may be performed in advance by an external device. Specifically, a division application for dividing the update program is installed in advance in the external device. In the external device, the split application splits the update program. The division application has a division function, and the division function divides the update program into a plurality of division data in units of setting data amount. In this case, the update device 1 acquires divided data from an external device, and transmits the acquired divided data to the update device 2.
 以上のように、本実施の形態1に係る更新システム100において、更新装置1は、被更新装置2におけるファームウェアの更新プログラムを複数の分割データに分割し、被更新装置2に対して送信する。被更新装置2は、更新装置1から受信した複数の分割データを結合して更新プログラムを生成する。これにより、更新プログラムが複数の分割データとして被更新装置2に対して順次送信されるため、ビット化けまたはビット抜け等の異常が発生してデータを再送する場合でも、異常箇所に対応するデータのみを再送できる。そのため、ネットワークの通信品質が低く、低速であっても、短時間でファームウェアを更新することができる。 As described above, in the update system 100 according to the first embodiment, the update device 1 divides the firmware update program in the device to be updated 2 into a plurality of divided data, and transmits the divided data to the device to be updated 2. The device to be updated 2 combines a plurality of pieces of divided data received from the updating device 1 to generate an update program. As a result, since the update program is sequentially transmitted to the device to be updated 2 as a plurality of divided data, only the data corresponding to the abnormal portion is generated even when an abnormality such as bit corruption or bit loss occurs and the data is retransmitted. Can be resent. Therefore, even if the communication quality of the network is low and low, the firmware can be updated in a short time.
 また、被更新装置2は、誤り検出訂正情報に基づき、更新装置1から受信した分割データが正常であるか否かを検証する。これにより、分割データ単位でデータの異常が検出されるため、更新プログラム全体でデータの異常を検出する場合と比較して、異常箇所の検出を迅速に行うことができる。 The device to be updated 2 also verifies whether the divided data received from the updating device 1 is normal based on the error detection and correction information. As a result, since an abnormality in data is detected in divided data units, it is possible to detect an abnormal part more quickly than when detecting an abnormality in data in the entire update program.
 さらに、被更新装置2は、受信した分割データが正常である場合に、分割データが正常であることを示す受信応答を更新装置1に対して送信し、受信した分割データが異常である場合に、分割データが異常であることを示す受信応答を更新装置1に対して送信する。
 更新装置1は、分割データが正常であることを示す受信応答を被更新装置2から受信した場合に、次の分割データを送信し、分割データが異常であることを示す受信応答を被更新装置2から受信した場合に、送信した分割データを再送する。これにより、被更新装置2が必要とする分割データが判断されるため、更新装置1は、被更新装置2が必要とする分割データを確実に送信することができる。また、分割データに異常が発見された場合には、異常が発見された分割データのみが再送されるため、更新プログラム全体を再送する場合と比較して、再送時間が短くなり、ファームウェアの更新に必要な総所要時間を短縮することができる。
Furthermore, when the received divided data is normal, the updated device 2 transmits a reception response indicating that the divided data is normal to the updating device 1, and the received divided data is abnormal. , And transmits to the update device 1 a reception response indicating that the divided data is abnormal.
The updating device 1 transmits the next divided data when receiving a reception response indicating that the divided data is normal from the updated device 2, and receives a reception response indicating that the divided data is abnormal. When received from 2, the transmitted divided data is retransmitted. As a result, since the divided data required by the device to be updated 2 is determined, the updating device 1 can reliably transmit the divided data required by the device to be updated 2. Also, when an abnormality is found in the divided data, only the divided data for which the abnormality has been found is retransmitted, so that the retransmission time is shorter than when the entire update program is retransmitted, and the firmware is updated. The total time required can be reduced.
 さらにまた、更新装置1は、分割データが異常であることを示す受信応答を受け取った場合に、設定回数に達するまで送信した分割データを再送する。これにより、更新装置1は、被更新装置2に対して正常な分割データを確実に送信することができる。 Furthermore, when receiving a reception response indicating that the divided data is abnormal, the updating device 1 retransmits the transmitted divided data until the set number of times is reached. As a result, the updating device 1 can reliably transmit normal divided data to the updated device 2.
実施の形態2.
 次に、本発明の実施の形態2に係る更新システムについて説明する。本実施の形態2では、被更新装置2におけるファームウェアの更新プログラムを、機能毎に予め分割する点で、実施の形態1と相違する。なお、以下の説明において、実施の形態1と共通する構成には同一の符号を付し、詳細な説明を省略する。
Second Embodiment
Next, the update system according to the second embodiment of the present invention will be described. The second embodiment differs from the first embodiment in that the firmware update program in the device to be updated 2 is divided in advance for each function. In the following description, the same components as those in Embodiment 1 are assigned the same reference numerals and detailed explanations thereof will be omitted.
 被更新装置2のファームウェアを更新する場合、ファームウェア全体を更新する必要がない場合がある。例えば、ファームウェアには、実行プログラムとアイコン画像などの各種データとが含まれており、このうち、実行プログラムは変更せず、データのみを変更する場合などである。このような場合、実行プログラムの更新は不要となる。 When updating the firmware of the device to be updated 2, it may not be necessary to update the entire firmware. For example, the firmware includes an execution program and various data such as an icon image. Among these, the execution program is not changed but only the data is changed. In such a case, updating of the execution program is unnecessary.
 そこで、本実施の形態2において、更新装置1は、ファームウェアの更新プログラムを機能毎に予め分割して保持し、被更新装置2が必要とする機能に対応する更新プログラムのみを被更新装置2に対して送信する。 Therefore, in the second embodiment, the update device 1 divides and holds the update program of the firmware in advance for each function, and only the update program corresponding to the function required by the device to be updated 2 is added to the update device 2 Send to.
 図10は、本実施の形態2における更新プログラムの分割について説明するための概略図である。図10に示すように、外部機器から受信された更新プログラムは、更新装置1において機能毎に分割される。機能毎に分割された更新プログラムには、誤り検出訂正情報が付与される。この例において、更新プログラムは、機能Aおよび機能Bに対応する更新プログラムに分割されている。 FIG. 10 is a schematic diagram for explaining division of the update program in the second embodiment. As shown in FIG. 10, the update program received from the external device is divided for each function in the update device 1. The error detection / correction information is added to the update program divided for each function. In this example, the update program is divided into update programs corresponding to Function A and Function B.
 そして、更新プログラムを被更新装置2に対して送信する場合、機能毎に分割されたそれぞれの更新プログラムは、実施の形態1と同様に、設定データ量単位で複数のデータに分割される。分割された複数のデータは、複数の分割データのデータ部にそれぞれ格納され、データ部に対してヘッダと誤り検出訂正情報とが付与される。 Then, when transmitting the update program to the device to be updated 2, each of the update programs divided for each function is divided into a plurality of pieces of data in units of setting data amount, as in the first embodiment. The plurality of divided data are stored in data portions of the plurality of divided data, respectively, and a header and error detection / correction information are added to the data portion.
 ここで、更新プログラムを機能毎に分割する場合、更新プログラムは、例えば実行プログラムとデータとに分割される。実行プログラムは、各種の処理を行う際に用いられる実行コードである。データは、例えば、アイコン画像、フォントデータ、音声データ、画像データまたは多言語対応用の言語定義などを含むものである。なお、更新プログラムの分割方法は、この例に限定されるものではない。 Here, when the update program is divided for each function, the update program is divided into, for example, an execution program and data. An execution program is an execution code used when performing various processing. The data includes, for example, an icon image, font data, voice data, image data, or a language definition for multilingual support. The method of dividing the update program is not limited to this example.
 更新装置1のデータ分割部102は、被更新装置2に対してファームウェアの更新プログラムを送信する際に、予め分割された更新プログラムのうち、被更新装置2が更新を必要とする機能に対応する更新プログラムを分割して複数の分割データを生成する。そして、送信制御部103は、分割された複数の分割データを被更新装置2に対して送信する。なお、機能毎に分割された更新プログラムのデータ量が、例えば設定データ量単位以下である場合など十分に小さい場合、更新装置1は、更新プログラムをさらに複数の分割データに分割せずに、そのままのデータ量で被更新装置2に送信してもよい。 The data division unit 102 of the update device 1 corresponds to the function of the update device 2 that requires updating among the update programs divided in advance when transmitting the update program of the firmware to the update device 2. The update program is divided to generate a plurality of divided data. Then, the transmission control unit 103 transmits the plurality of divided pieces of divided data to the updated device 2. If the data amount of the update program divided for each function is sufficiently small, for example, when it is equal to or less than the set data amount unit, the update device 1 does not further divide the update program into a plurality of divided data. It may be transmitted to the update device 2 with a data amount of
 なお、上述した例では、更新プログラムが機能毎に分割されるように説明したが、これに限られず、例えば、各機能の更新頻度に応じて更新プログラムが分割されてもよい。フォントデータなどは更新頻度が低く、ファームウェアを更新する度に必ず更新されるものではない。そこで、更新装置1は、外部機器から受信された更新プログラムを、フォントデータなどの更新頻度が低いデータと、更新頻度が高いデータとに分割する。 In the above-described example, the update program is described to be divided into each function. However, the present invention is not limited to this. For example, the update program may be divided according to the update frequency of each function. Font data etc. is updated less frequently, and it is not always updated every time the firmware is updated. Therefore, the update device 1 divides the update program received from the external device into data with low update frequency such as font data and data with high update frequency.
 また、例えば、分割データのバージョンに応じて分割データが送信されてもよい。例えば、更新装置1は、更新プログラムを複数の分割データに分割し、それぞれの分割データにバージョン情報を付与する。そして、更新装置1は、更新プログラムを最新バージョンの分割データとそれ以外の分割データとに分類し、最新バージョンの分割データからなる更新プログラムのみを被更新装置2に対して送信する。 Also, for example, divided data may be transmitted according to the version of divided data. For example, the update device 1 divides the update program into a plurality of pieces of divided data, and adds version information to each piece of divided data. Then, the update device 1 classifies the update program into the latest version of divided data and the other divided data, and transmits only the update program composed of the latest version of divided data to the update target device 2.
 具体的には、まず、データ分割部102は、更新プログラムを分割して複数の分割データを生成した際に、生成した分割データに対してバージョン情報を付与する。バージョン情報は、例えば、分割データのヘッダに記述される。 Specifically, when the data division unit 102 divides the update program and generates a plurality of divided data, the data division unit 102 adds version information to the generated divided data. Version information is described in, for example, the header of divided data.
 次に、データ分割部102は、記憶部13に記憶された直近に送信された分割データの内容と、送信しようとしている分割データの内容とを比較する。比較の結果、分割データの内容が一致しない場合には、データ分割部102は、当該分割データが最新バージョンであるものとして、記憶部13に記憶された分割データよりもバージョンが新しいことを示すバージョン情報を送信する分割データに付与する。一方、分割データの内容が一致する場合、データ分割部102は、当該分割データが過去に送信した分割データと同一であるものとして、過去の分割データと同一のバージョン情報を分割データに付与する。 Next, the data division unit 102 compares the content of the most recently transmitted divided data stored in the storage unit 13 with the content of the divided data to be transmitted. If the contents of the divided data do not match as a result of comparison, the data dividing unit 102 determines that the divided data is the latest version, and indicates a version indicating that the version is newer than the divided data stored in the storage unit 13. Assign to divided data to send information. On the other hand, when the contents of the divided data match, the data dividing unit 102 assigns the same version information as the past divided data to the divided data, assuming that the divided data is identical to the previously transmitted divided data.
 そして、データ分割部102は、バージョンが新しいと判断した分割データを被更新装置2に送信すべきデータとし、当該分割データを被更新装置2に送信する。このように、バージョンが新しいと判断された分割データのみが被更新装置2に送信されることにより、更新装置1は、更新プログラム不要な更新、または被更新装置2のファームウェアが古いバージョンに更新されるのを防ぐことができる。 Then, the data division unit 102 determines the divided data determined to be the new version as data to be transmitted to the device to be updated 2, and transmits the divided data to the device to be updated 2. As described above, only the divided data whose version is determined to be new is transmitted to the device to be updated 2, so that the update device 1 can update the update program unnecessary update or the firmware of the device to be updated 2 to the old version. Can be prevented.
 以上のように、本実施の形態2に係る更新システム100において、更新装置1は、更新プログラムを機能毎に予め複数に分割して保持し、被更新装置2が更新を必要とする機能に対応する更新プログラムのみを被更新装置2に送信する。これにより、ファームウェア全体の更新プログラムを送信する場合と比較して、より短時間でファームウェアを更新することができる。 As described above, in the update system 100 according to the second embodiment, the update device 1 divides the update program into a plurality of parts in advance for each function and holds the update program, and the update device 2 corresponds to the function requiring the update. Only the update program to be transmitted is transmitted to the update device 2. Thus, the firmware can be updated in a shorter time as compared to the case where the update program of the entire firmware is transmitted.
 以上、本発明の実施の形態1および2について説明したが、本発明は、上述した本発明の実施の形態1および2に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、更新装置1は、更新プログラムの送受信をバックグラウンドで行ってもよい。更新装置1と被更新装置2との間で通信を行い、更新プログラムの送受信が行われている場合、更新プログラムのデータ量が大きいと通信時間が長時間となる。そのため、更新装置1は当該通信に拘束され、他の操作を行うことが困難となる場合がある。このような場合に、更新プログラムの送受信がバックグラウンドで行われることにより、更新装置1は、被更新装置2との通信による他の操作に対する影響を抑えることができる。 Although the first and second embodiments of the present invention have been described above, the present invention is not limited to the first and second embodiments of the present invention described above, and various modifications can be made within the scope of the present invention. Various modifications and applications are possible. For example, the update device 1 may transmit and receive the update program in the background. When communication is performed between the update device 1 and the device to be updated 2 and transmission / reception of the update program is performed, if the data amount of the update program is large, the communication time becomes long. Therefore, the update device 1 may be constrained by the communication, and it may be difficult to perform another operation. In such a case, transmission and reception of the update program are performed in the background, so that the update device 1 can suppress the influence on the other operation by the communication with the updated device 2.
 また、更新装置1と被更新装置2とは近距離無線通信を行うため、更新装置1が被更新装置2との無線範囲外に出てしまい、更新プログラムの分割データの送信中に通信が遮断される場合がある。このような場合、更新装置1は、通信が再開された際に、どの分割データを被更新装置2に送信すべきかを判断し、分割データの送信を再開するようにしてもよい。 In addition, since the update device 1 and the device to be updated 2 perform short-distance wireless communication, the update device 1 goes out of the wireless range with the device to be updated 2 and communication is interrupted during transmission of divided data of the update program. May be In such a case, when the communication is resumed, the update device 1 may determine which divided data should be sent to the update target device 2 and resume transmission of the divided data.
 具体的には、更新装置1は、通信が遮断された場合に、送受信していた分割データのヘッダに記述された識別情報を記憶部13に記憶する。そして、更新装置1は、通信が再開された場合に、記憶部13から識別情報を読み出し、読み出した識別情報に基づき、送信を再開する分割データを判断する。これにより、更新装置1は、分割データの送受信中に通信が遮断された場合でも、次に送信すべき分割データを判断することができ、分割データを最初から送信し直すことなどによる通信の長時間化を抑制することができる。 Specifically, when the communication is interrupted, the update device 1 stores the identification information described in the header of the divided data that has been transmitted and received in the storage unit 13. Then, when the communication is resumed, the updating device 1 reads the identification information from the storage unit 13, and determines divided data to resume transmission based on the read identification information. As a result, even if the communication is interrupted during transmission / reception of divided data, the updating device 1 can determine divided data to be transmitted next, and the length of communication by retransmitting divided data from the beginning etc. It is possible to suppress time-out.
 さらに、被更新装置2におけるファームウェアの更新は、被更新装置2または被更新装置2によって操作される機器などが使用されない時間帯に行われるようにしてもよい。例えば、被更新装置2が空調機を操作するためのリモートコントローラである場合、ファームウェアの更新は、空調機が設置された店舗等の営業時間外または会社等の就業時間外といった空調機の稼働時間外に行われるとよい。また、例えば、ファームウェアの更新は、予約システム等のスケジュール機能から取得した空き時間などの空調稼働予定外の時間を利用して行われてもよい。 Furthermore, the update of the firmware in the device to be updated 2 may be performed in a time slot when the device to be operated by the device to be updated 2 or the device to be updated 2 is not used. For example, when the device to be updated 2 is a remote controller for operating an air conditioner, the firmware is updated by operating the air conditioner such as outside the business hours of a store where the air conditioner is installed or outside the working hours of a company etc. It should be done outside. Also, for example, the update of the firmware may be performed using a time other than the air conditioning operation scheduled, such as an idle time acquired from a schedule function such as a reservation system.
 1 更新装置、2 被更新装置、10 制御装置、11 接続インターフェース、12 第1の通信インターフェース、13 記憶部、14 表示部、15 操作部、20 制御装置、21 第2の通信インターフェース、22 記憶部、23 表示部、24 操作部、100 更新システム、101 更新プログラム取得部、102 データ分割部、103 送信制御部、104 分割データ記憶部、201 分割データ取得部、202 データ検証部、203 応答送信制御部、204 データ結合部。 Reference Signs List 1 update device, 2 update device, 10 control device, 11 connection interface, 12 first communication interface, 13 storage unit, 14 display unit, 15 operation unit, 20 control device, 21 second communication interface, 22 storage unit , 23 display unit, 24 operation unit, 100 update system, 101 update program acquisition unit, 102 data division unit, 103 transmission control unit, 104 division data storage unit, 201 division data acquisition unit, 202 data verification unit, 203 response transmission control Part, 204 Data Combiner.

Claims (13)

  1.  更新装置および被更新装置を備え、前記被更新装置のファームウェアを前記更新装置から送信されたファームウェアの更新プログラムに更新する更新システムであって、
     前記更新装置は、
     前記更新プログラムを複数に分割した分割データを記憶する記憶部と、
     記憶された複数の前記分割データを前記被更新装置に対して無線通信によって送信する送信制御部と
    を有し、
     前記被更新装置は、
     前記更新装置から複数の前記分割データを取得する分割データ取得部と、
     受信した複数の前記分割データを結合して前記更新プログラムを生成するデータ結合部と
    を有する
    更新システム。
    An update system comprising: an update device and an update device, wherein the firmware of the update device is updated to an update program of the firmware transmitted from the update device,
    The updating device is
    A storage unit that stores divided data obtained by dividing the update program into a plurality of pieces;
    And a transmission control unit that transmits the plurality of stored divided data to the update device by wireless communication,
    The device to be updated is
    A divided data acquisition unit that acquires a plurality of pieces of divided data from the update device;
    And a data combining unit that combines the received plurality of divided data to generate the update program.
  2.  前記更新装置は、
     前記更新プログラムを複数の分割データに分割して前記記憶に記憶するデータ分割部をさらに有する
    請求項1に記載の更新システム。
    The updating device is
    The update system according to claim 1, further comprising a data division unit that divides the update program into a plurality of divided data and stores the divided data in the storage.
  3.  前記分割データは、データが正常であるか否かを判断するための誤り検出訂正情報が付与されており、
     前記被更新装置は、
     前記誤り検出訂正情報に基づき、前記更新装置から受信した前記分割データが正常であるか否かを検証するデータ検証部と、
     検証結果に応じて、前記分割データを受信したことを示す受信応答を前記更新装置に対して送信する応答送信制御部と
    をさらに有する
    請求項1または2に記載の更新システム。
    The divided data is provided with error detection / correction information for determining whether the data is normal or not.
    The device to be updated is
    A data verification unit that verifies whether the divided data received from the update device is normal based on the error detection / correction information;
    The update system according to claim 1, further comprising: a response transmission control unit that transmits to the update device a reception response indicating that the divided data has been received according to a verification result.
  4.  前記応答送信制御部は、
     受信した前記分割データが正常である場合に、前記分割データが正常であることを示す受信応答を前記更新装置に対して送信し、
     受信した前記分割データが異常である場合に、前記分割データが異常であることを示す受信応答を前記更新装置に対して送信する
    請求項3に記載の更新システム。
    The response transmission control unit
    When the received divided data is normal, a reception response indicating that the divided data is normal is transmitted to the update device;
    The update system according to claim 3, wherein when the received divided data is abnormal, a reception response indicating that the divided data is abnormal is transmitted to the update device.
  5.  前記送信制御部は、
     前記被更新装置から受信した前記受信応答に基づき、前記被更新装置に対して送信すべき前記分割データを決定する
    請求項3または4に記載の更新システム。
    The transmission control unit
    The update system according to claim 3 or 4, wherein the divided data to be transmitted to the updated device is determined based on the reception response received from the updated device.
  6.  前記分割データは、データの順序を示す識別情報が付与されており、
     前記送信制御部は、
     送信した前記分割データが正常であることを示す受信応答を前記被更新装置から受信した場合に、前記識別情報に基づいて次の分割データを送信し、
     送信した前記分割データが異常であることを示す受信応答を前記被更新装置から受信した場合に、前記送信した分割データを再送する
    請求項1~5のいずれか一項に記載の更新システム。
    The divided data is given identification information indicating the order of the data,
    The transmission control unit
    When a reception response indicating that the transmitted divided data is normal is received from the updated device, the next divided data is transmitted based on the identification information,
    The update system according to any one of claims 1 to 5, wherein when the reception response indicating that the transmitted divided data is abnormal is received from the update device, the transmitted divided data is retransmitted.
  7.  前記データ結合部は、
     前記識別情報に基づき、受信した複数の前記分割データを結合する
    請求項6に記載の更新システム。
    The data combining unit is
    The update system according to claim 6, wherein the plurality of pieces of received divided data are combined based on the identification information.
  8.  前記送信制御部は、
     前記分割データが異常であることを示す受信応答を受け取った場合に、設定回数に達するまで前記送信した分割データを再送する
    請求項1~7のいずれか一項に記載の更新システム。
    The transmission control unit
    The update system according to any one of claims 1 to 7, wherein when the reception response indicating that the divided data is abnormal is received, the transmitted divided data is retransmitted until the set number of times is reached.
  9.  前記更新装置は、
     前記更新プログラムのバージョン情報を記憶する記憶部と、
     前記更新プログラムを取得し、記憶された前記更新プログラムのバージョン情報と、過去の更新プログラムのバージョン情報とに基づき、前記被更新装置に対して取得した前記更新プログラムを送信するか否かを判断する更新プログラム取得部と
    をさらに有する
    請求項1~8のいずれか一項に記載の更新システム。
    The updating device is
    A storage unit that stores version information of the update program;
    The update program is acquired, and it is determined based on the stored version information of the update program and version information of a past update program whether to transmit the acquired update program to the updated device The update system according to any one of claims 1 to 8, further comprising: an update program acquisition unit.
  10.  前記更新装置は、
     前記更新プログラムを機能毎に複数に分割して保持しており、
     前記送信制御部は、
     前記複数に分割された更新プログラムのうち、前記被更新装置が必要とする機能に対応する前記分割された更新プログラムをさらに複数の分割データに分割し、分割した複数の前記分割データを前記被更新装置に対して送信する
    請求項1~9のいずれか一項に記載の更新システム。
    The updating device is
    The update program is divided into a plurality of functions for each function and held.
    The transmission control unit
    Among the plurality of divided update programs, the divided update program corresponding to the function required by the device to be updated is further divided into a plurality of divided data, and the plurality of divided pieces of divided data are updated The update system according to any one of claims 1 to 9, which transmits to a device.
  11.  前記更新装置は、
     複数の前記分割データを送信した際に、それぞれの複数の前記分割データのバージョン情報を記憶する記憶部をさらに有し、
     前記データ分割部は、
     複数の前記分割データに対してバージョン情報を付与し、
     それぞれの前記分割データの前記バージョン情報と、前記被更新装置に対して直近に送信された分割データのバージョン情報とを比較し、
     前記送信制御部は、
     バージョンが新しいと判断された分割データを前記被更新装置に対して送信する
    請求項2~9のいずれか一項に記載の更新システム。
    The updating device is
    The apparatus further includes a storage unit that stores version information of each of the plurality of pieces of divided data when transmitting the plurality of pieces of divided data,
    The data division unit
    Version information is given to a plurality of the divided data;
    Comparing the version information of each of the divided data with the version information of the divided data most recently transmitted to the device to be updated;
    The transmission control unit
    The update system according to any one of claims 2 to 9, wherein the divided data whose version is determined to be new is transmitted to the updated device.
  12.  被更新装置に接続され、前記被更新装置のファームウェアを更新する更新装置であって、
     前記被更新装置のファームウェアを更新する更新プログラムを複数に分割した分割データを記憶する記憶部と、
     記憶された複数の前記分割データを前記被更新装置に対して無線通信によって送信する送信制御部と
    を有する
    更新装置。
    An updating apparatus connected to an updating apparatus and updating firmware of the updating apparatus,
    A storage unit for storing divided data obtained by dividing an update program for updating the firmware of the device to be updated into a plurality of pieces;
    And a transmission control unit configured to transmit the plurality of divided data stored therein to the updated device by wireless communication.
  13.  更新装置に接続され、前記更新装置から無線通信によって送信されたファームウェアの更新プログラムにより、ファームウェアを更新する被更新装置であって、
     前記更新プログラムが分割された複数の分割データを前記更新装置から取得する分割データ取得部と、
     受信した複数の前記分割データを結合して前記更新プログラムを生成するデータ結合部と
    を有する
    被更新装置。
    An update device connected to an update device and updating firmware by a firmware update program transmitted from the update device by wireless communication,
    A divided data acquisition unit that acquires, from the update device, a plurality of divided data into which the update program is divided;
    And a data combining unit that combines the received plurality of divided data to generate the update program.
PCT/JP2017/039316 2017-10-31 2017-10-31 Update system, update device, and device to be updated WO2019087295A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2017/039316 WO2019087295A1 (en) 2017-10-31 2017-10-31 Update system, update device, and device to be updated
JP2019550045A JP6964681B2 (en) 2017-10-31 2017-10-31 Update system and update device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/039316 WO2019087295A1 (en) 2017-10-31 2017-10-31 Update system, update device, and device to be updated

Publications (1)

Publication Number Publication Date
WO2019087295A1 true WO2019087295A1 (en) 2019-05-09

Family

ID=66332487

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/039316 WO2019087295A1 (en) 2017-10-31 2017-10-31 Update system, update device, and device to be updated

Country Status (2)

Country Link
JP (1) JP6964681B2 (en)
WO (1) WO2019087295A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102190196B1 (en) * 2020-05-06 2020-12-11 주식회사 수산이앤에스 Safety class controller and method for managing configuration information thereof
CN115827660A (en) * 2023-02-14 2023-03-21 本原数据(北京)信息技术有限公司 Data updating method and device, electronic equipment and nonvolatile storage medium
JP7450209B2 (en) 2020-02-19 2024-03-15 パナソニックIpマネジメント株式会社 Information terminal, gateway device, intercom system, server system, processing method, and program
JP7489799B2 (en) 2020-03-24 2024-05-24 大阪瓦斯株式会社 Software Update System

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187457A (en) * 1996-12-27 1998-07-21 Fuji Xerox Co Ltd Managing method for program and data
JP2000194562A (en) * 1998-12-24 2000-07-14 Nec Corp System and method for downloading program and recording medium
JP2003209510A (en) * 2002-01-11 2003-07-25 Nec Corp Firmware distribution system for portable telephone, portable telephone terminal and firmware updating program therefor
JP2012230474A (en) * 2011-04-25 2012-11-22 Japan Radio Co Ltd Program update system, and program update method
JP2015501584A (en) * 2011-10-18 2015-01-15 ゼットティーイー コーポレイション Large object transfer method and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4908731B2 (en) * 2003-07-31 2012-04-04 キヤノン株式会社 Information processing apparatus, information processing method, and information processing program
US7853946B2 (en) * 2003-02-28 2010-12-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and control program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187457A (en) * 1996-12-27 1998-07-21 Fuji Xerox Co Ltd Managing method for program and data
JP2000194562A (en) * 1998-12-24 2000-07-14 Nec Corp System and method for downloading program and recording medium
JP2003209510A (en) * 2002-01-11 2003-07-25 Nec Corp Firmware distribution system for portable telephone, portable telephone terminal and firmware updating program therefor
JP2012230474A (en) * 2011-04-25 2012-11-22 Japan Radio Co Ltd Program update system, and program update method
JP2015501584A (en) * 2011-10-18 2015-01-15 ゼットティーイー コーポレイション Large object transfer method and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7450209B2 (en) 2020-02-19 2024-03-15 パナソニックIpマネジメント株式会社 Information terminal, gateway device, intercom system, server system, processing method, and program
JP7489799B2 (en) 2020-03-24 2024-05-24 大阪瓦斯株式会社 Software Update System
KR102190196B1 (en) * 2020-05-06 2020-12-11 주식회사 수산이앤에스 Safety class controller and method for managing configuration information thereof
CN115827660A (en) * 2023-02-14 2023-03-21 本原数据(北京)信息技术有限公司 Data updating method and device, electronic equipment and nonvolatile storage medium

Also Published As

Publication number Publication date
JPWO2019087295A1 (en) 2020-04-09
JP6964681B2 (en) 2021-11-10

Similar Documents

Publication Publication Date Title
US11171799B2 (en) Communication system, control device, setting device, setting method, and program
WO2019087295A1 (en) Update system, update device, and device to be updated
CN110837389A (en) Equipment upgrading method and device, Internet of things equipment and storage medium
US11010213B2 (en) Electronic device and method for providing event management service
US11714628B2 (en) Program update system, program transmission device, and program transmission method
CN113760332A (en) Software upgrading method and electronic equipment
US20150119999A1 (en) Communication Apparatus, Communication System and Communication Method
US20220357960A1 (en) Method of remotely modifying basic input/output system configuration setting
JP5983118B2 (en) Terminal device and program
CN107396185B (en) Upgrading method and system
US20220318000A1 (en) Communication apparatus and program
AU2021230848B2 (en) Communication apparatus, program, communication method, information processing method, information processing apparatus, and communication system
JP7156995B2 (en) update system
JP6961091B2 (en) Program transfer system and program transfer method
US11381416B2 (en) Appliance control system and server
WO2020207054A1 (en) Operating system update method, terminal device and storage medium
US10852992B2 (en) Data management system, data management method, and program recording medium
CN105068811A (en) Screen auto-configuration method
JP2015121887A (en) Information processing device and control method thereof, and program
CN117687672A (en) Control method and device of display device, electronic device, storage medium and vehicle
US10719281B2 (en) Communication terminal, method of controlling communication terminal, and non-transitory computer-readable recording medium therefor
WO2024089756A1 (en) Robot teaching console and robot control system
JP2016057657A (en) Information processing device, information processing system, request signal processing method, and request signal processing program
JP5569189B2 (en) Program for operating a computer capable of communicating with a portable terminal
CN115398411A (en) Content distribution system and content distribution method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17930837

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019550045

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17930837

Country of ref document: EP

Kind code of ref document: A1