JP7809967B2 - Software Update System - Google Patents
Software Update SystemInfo
- Publication number
- JP7809967B2 JP7809967B2 JP2021198617A JP2021198617A JP7809967B2 JP 7809967 B2 JP7809967 B2 JP 7809967B2 JP 2021198617 A JP2021198617 A JP 2021198617A JP 2021198617 A JP2021198617 A JP 2021198617A JP 7809967 B2 JP7809967 B2 JP 7809967B2
- Authority
- JP
- Japan
- Prior art keywords
- software update
- update process
- group
- software
- target
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソフトウェアの更新システムに関する。 The present invention relates to a software update system.
特許文献1には、ネットワークで接続された複数の更新対象計算機と、複数の更新対象計算機に対してソフトウェアの更新データを配信する配信元計算機とを備えるソフトウェア更新システムが記載されている。 Patent Document 1 describes a software update system that includes multiple update target computers connected via a network and a distribution source computer that distributes software update data to the multiple update target computers.
更新対象計算機は、ソフトウェア記憶部と、更新データ記憶部と、バックアップデータ記憶部と、リモートインストーラとを有している。 The computer to be updated has a software storage unit, an update data storage unit, a backup data storage unit, and a remote installer.
ソフトウェア記憶部は、更新対象計算機で実行されるソフトウェアのデータを記憶する。更新データ記憶部は、配信元計算機から配信された更新データを記憶する。バックアップデータ記憶部は、ソフトウェア記憶部が記憶したソフトウェアのデータをバックアップ用に記憶する。リモートインストーラは、配信元計算機または他の更新対象計算機からのインストール指示の受信で、ソフトウェア記憶部に記憶されたソフトウェアのデータをバックアップデータ記憶部にバックアップした後、更新データ記憶部に記憶された更新データによるソフトウェア記憶部に記憶されたソフトウェアのデータの更新処理を実行し、更新処理の完了後に、複数の更新対象計算機の内のソフトウェアが未更新の少なくとも1台の更新対象計算機に、インストール指示を送信する。 The software storage unit stores data for software executed on the update target computer. The update data storage unit stores update data distributed from the distribution source computer. The backup data storage unit stores software data stored in the software storage unit for backup purposes. Upon receiving an installation instruction from the distribution source computer or another update target computer, the remote installer backs up the software data stored in the software storage unit to the backup data storage unit, then performs an update process for the software data stored in the software storage unit using the update data stored in the update data storage unit, and after the update process is complete, sends an installation instruction to at least one update target computer among the multiple update target computers whose software has not been updated.
しかしながら、特許文献1を含む従来のソフトウェアの更新システムでは、更新対象計算機(更新対象デバイス)の起動状態・起動時間を見て、ソフトウェアの更新成否(ソフトウェアが正常に更新できたかどうか)を判断しているため、ソフトウェアの更新を好適に行うという観点から、改良の余地がある。 However, conventional software update systems, including those described in Patent Document 1, determine whether the software update was successful (whether the software was updated normally) by looking at the startup status and startup time of the computer to be updated (device to be updated), so there is room for improvement in terms of optimally performing software updates.
例えば、クラウドサービスによるコントローラソフトウェアの更新時は、複数の拠点のコントローラを同時に更新することが想定される。その際、コントローラシステムの起動状態・起動時間だけでコントローラソフトウェアの更新成否を判断すると、コントローラが制御する対象設備との通信機能等の異常を検知できず、通信異常の状態のまま運用継続することが懸念される。 For example, when updating controller software via a cloud service, it is expected that controllers at multiple locations will be updated simultaneously. In this case, if the success or failure of the controller software update is determined solely based on the startup status and startup time of the controller system, it will be impossible to detect abnormalities in the communication functions between the controller and the target equipment it controls, raising concerns that operation may continue with a communication abnormality.
本発明はかかる点に鑑みてなされたものであり、ソフトウェアの更新を好適に行うことができるソフトウェアの更新システムを提供することを目的の1つとする。 The present invention was made in consideration of these points, and one of its objectives is to provide a software update system that can perform software updates efficiently.
本発明の一態様のソフトウェアの更新システムは、対象機器に対してソフトウェアの更新処理を施す更新処理部と、前記更新処理部が前記対象機器に対してソフトウェアの更新処理を施す前の状態において、前記対象機器との間の通信状態を示す第1のパラメータを取得する第1の取得部と、前記更新処理部が前記対象機器に対してソフトウェアの更新処理を施した後の状態において、前記対象機器との間の通信状態を示す第2のパラメータを取得する第2の取得部と、前記第1、第2のパラメータに基づいて、前記対象機器に対するソフトウェアの更新処理の成否を判定する判定部と、を有することを特徴とする。 One aspect of the present invention is a software update system comprising: an update processing unit that performs a software update process on a target device; a first acquisition unit that acquires a first parameter indicating the communication status with the target device before the update processing unit performs the software update process on the target device; a second acquisition unit that acquires a second parameter indicating the communication status with the target device after the update processing unit has performed the software update process on the target device; and a determination unit that determines the success or failure of the software update process on the target device based on the first and second parameters.
本発明によれば、ソフトウェアの更新を好適に行うことができるソフトウェアの更新システムを提供することができる。 The present invention provides a software update system that can efficiently perform software updates.
以下、図面を参照して、本実施形態によるソフトウェアの更新システムについて詳細に説明する。本実施形態によるソフトウェアの更新システムは、例えば、工場や店舗等の拠点毎に存在する複数の異なる設備の監視、制御を行うクラウド接続されたコントローラを有するクラウドシステムに適用することができる。各拠点のコントローラによるソフトウェア更新時に不具合が生じると正常なシステム運用ができなくなる可能性があり、特に規模が大きいシステムの場合、全ての拠点のコントローラによるソフトウェア更新をより慎重に行う必要がある。そこで、本実施形態によるソフトウェアの更新システムは、複数の拠点において各種機器(対象機器、対象機器群)を制御するコントローラのソフトウェア更新時の問題を解決するための構成及び動作を実現可能としている。 The software update system according to this embodiment will be described in detail below with reference to the drawings. The software update system according to this embodiment can be applied to a cloud system having cloud-connected controllers that monitor and control multiple different pieces of equipment located at each base, such as a factory or store. If a problem occurs during a software update by the controller at each base, normal system operation may be disrupted, and in large-scale systems in particular, software updates by the controllers at all bases must be carried out with even greater care. Therefore, the software update system according to this embodiment is capable of realizing a configuration and operation that solves problems that occur when updating software in controllers that control various devices (target devices, target device groups) at multiple bases.
<第1実施形態>
図1は、第1実施形態のソフトウェアの更新システム1の概略構成を示すブロック図である。
First Embodiment
FIG. 1 is a block diagram showing a schematic configuration of a software update system 1 according to the first embodiment.
図1に示すように、更新システム1は、上位システムとしてのソフト配信サーバ10と、ソフト配信サーバ10とネットワーク接続された複数の店舗(拠点)A-Iとを有している。 As shown in Figure 1, the update system 1 has a software distribution server 10 as a host system and multiple stores (bases) A-I connected to the software distribution server 10 via a network.
店舗Aには機器X、Y、Zを束ねる(統括制御する)コントローラ20Aが設けられており、店舗Bには機器X、Y、Zを束ねる(統括制御する)コントローラ20Bが設けられており、店舗Cには機器X、Y、Zを束ねる(統括制御する)コントローラ20Cが設けられている。店舗A-Cの機器X、Y、Zは、ソフト配信サーバ10が保有する所定の機器構成情報に基づいてグループ分けされた対象機器群のグループ1として規定される(機器X、Y、Zからなる対象機器群がグループ1として規定される)。 Store A is equipped with controller 20A that ties together (overall controls) devices X, Y, and Z, store B is equipped with controller 20B that ties together (overall controls) devices X, Y, and Z, and store C is equipped with controller 20C that ties together (overall controls) devices X, Y, and Z. Devices X, Y, and Z in stores A-C are defined as group 1 of a group of target devices that are grouped based on specific device configuration information held by the software distribution server 10 (the group of target devices consisting of devices X, Y, and Z is defined as group 1).
店舗Dには機器X、Yを束ねる(統括制御する)コントローラ20Dが設けられており、店舗Eには機器X、Yを束ねる(統括制御する)コントローラ20Eが設けられており、店舗Fには機器X、Yを束ねる(統括制御する)コントローラ20Fが設けられている。店舗D-Fの機器X、Yは、ソフト配信サーバ10が保有する所定の機器構成情報に基づいてグループ分けされた対象機器群のグループ2として規定される(機器X、Yからなる対象機器群がグループ2として規定される)。 Store D is provided with controller 20D that ties together (overall controls) devices X and Y, store E is provided with controller 20E that ties together (overall controls) devices X and Y, and store F is provided with controller 20F that ties together (overall controls) devices X and Y. Devices X and Y in stores D-F are defined as group 2 of the target devices grouped based on specific device configuration information held by the software distribution server 10 (the target device group consisting of devices X and Y is defined as group 2).
店舗Gには機器X、Zを束ねる(統括制御する)コントローラ20Gが設けられており、店舗Hには機器X、Zを束ねる(統括制御する)コントローラ20Hが設けられており、店舗Iには機器X、Zを束ねる(統括制御する)コントローラ20Iが設けられている。店舗G-Iの機器X、Zは、ソフト配信サーバ10が保有する所定の機器構成情報に基づいてグループ分けされた対象機器群のグループ3として規定される(機器X、Zからなる対象機器群がグループ3として規定される)。 Store G is provided with controller 20G that ties together (overall controls) devices X and Z, store H is provided with controller 20H that ties together (overall controls) devices X and Z, and store I is provided with controller 20I that ties together (overall controls) devices X and Z. Devices X and Z in stores G-I are defined as group 3 of the target devices grouped based on predetermined device configuration information held by the software distribution server 10 (the target device group consisting of devices X and Z is defined as group 3).
このように、コントローラ20A-20Iは、複数の店舗A-Iで対象機器群(機器X-Zからなるグループ1、機器X、Yからなるグループ2、機器X、Zからなるグループ3)を束ねる(統括制御する)。ソフト配信サーバ10は、複数の店舗A-Iのコントローラ20A-20Iを束ねる(統括制御する)。 In this way, controllers 20A-20I bundle (overall control) target device groups (Group 1 consisting of devices X-Z, Group 2 consisting of devices X and Y, and Group 3 consisting of devices X and Z) at multiple stores A-I. The software distribution server 10 bundles (overall control) controllers 20A-20I at multiple stores A-I.
複数の店舗A-Iは、例えば、スーパーマーケットやコンビニエンスストア等の大規模チェーンに属するフランチャイズ店であってもよい。この場合、複数の店舗A-Iに含まれる機器X-Yは、店舗に関わる各種設備、例えば、売上管理用の経理システム、従業員の労務管理システム、店舗内の監視カメラシステム、他店舗との情報共有システム、店舗内の空調設備、冷蔵庫、冷凍庫、保温庫の温度管理設備等であってもよい。なお、ソフト配信サーバ10が束ねる店舗の数や種類には自由度があり、種々の設計変更が可能である。また、ソフト配信サーバ10が束ねる拠点には自由度があり、工場及びその他の各種施設とすることができる。 The multiple stores A-I may be, for example, franchise stores belonging to a large chain such as a supermarket or convenience store. In this case, the devices X-Y included in the multiple stores A-I may be various pieces of store-related equipment, such as an accounting system for managing sales, an employee labor management system, an in-store surveillance camera system, an information sharing system with other stores, and temperature control equipment for in-store air conditioning, refrigerators, freezers, and warming cabinets. The number and types of stores managed by the software distribution server 10 are flexible, allowing for various design changes. The locations managed by the software distribution server 10 are also flexible, and could be factories and various other facilities.
本明細書における「ソフトウェアの更新システム1」は、ソフト配信サーバ10と、コントローラ20A-20Iとの少なくとも一方を含む概念で使用する。つまり、本実施形態のソフトウェアの更新システム1の各種機能は、様々なバリエーションで、ソフト配信サーバ10とコントローラ20A-20Iに振り分けることができる。 In this specification, the term "software update system 1" is used to refer to the software distribution server 10 and/or the controllers 20A-20I. In other words, the various functions of the software update system 1 of this embodiment can be allocated to the software distribution server 10 and the controllers 20A-20I in a variety of ways.
図2は、第1実施形態のコントローラ20A-20Iの内部構成を示す機能ブロック図である。コントローラ20A-20Iは、それぞれ、管轄する店舗の対象機器(対象機器群)を制御するべく、同一(共通)の機能構成を具備している。以下では、コントローラ20A-20Iの機能構成要素に同一の符号を付して説明する。 Figure 2 is a functional block diagram showing the internal configuration of controllers 20A-20I in the first embodiment. Controllers 20A-20I each have the same (common) functional configuration to control the target devices (groups of target devices) in the stores under their jurisdiction. In the following description, the functional components of controllers 20A-20I will be assigned the same reference numerals.
図2に示すように、コントローラ20A-20Iは、稼働データ収集部21と、更新処理部22と、第1の取得部23と、第2の取得部24と、ロールバック処理部25とを有している。 As shown in FIG. 2, controllers 20A-20I have an operational data collection unit 21, an update processing unit 22, a first acquisition unit 23, a second acquisition unit 24, and a rollback processing unit 25.
稼働データ収集部21は、管轄する店舗の対象機器(対象機器群)の稼働データを収集する。例えば、稼働データ収集部21は、店舗A-Cを管轄する場合には機器X-Zの稼働データを収集し、店舗D-Fを管轄する場合には機器X、Yの稼働データを収集し、店舗G-Iを管轄する場合には機器X、Zの稼働データを収集する。稼働データ収集部21による稼働データの収集は、所定時間間隔(例えば1分単位毎)に実行される。 The operation data collection unit 21 collects operation data for target devices (groups of target devices) in the stores under its jurisdiction. For example, if the operation data collection unit 21 is responsible for stores A-C, it collects operation data for devices X-Z; if it is responsible for stores D-F, it collects operation data for devices X and Y; and if it is responsible for stores G-I, it collects operation data for devices X and Z. The operation data collection unit 21 collects operation data at predetermined time intervals (for example, every minute).
更新処理部22は、管轄する店舗の対象機器(対象機器群)に対してソフトウェアの更新処理を施す。例えば、更新処理部22は、店舗A-Cを管轄する場合には機器X-Zに対してソフトウェアの更新処理を施し、店舗D-Fを管轄する場合には機器X、Yに対してソフトウェアの更新処理を施し、店舗G-Iを管轄する場合には機器X、Zに対してソフトウェアの更新処理を施す。ソフトウェアの更新処理を実行する際には、ソフト配信サーバ10から各店舗A-Iのコントローラ20A-20Iに対してソフトウェア更新指示が出力され、当該更新指示を受けたコントローラ20A-20Iがソフト配信サーバ10からソフトウェアの更新プログラムをダウンロードして使用する。なお、更新処理部22がソフトウェアの更新処理を施した場合であっても、当該処理が成功するか失敗するかは、相手方の機器の状況及びその他の通信環境等によって変動し得る。 The update processing unit 22 performs software updates on target devices (groups of target devices) in the stores under its jurisdiction. For example, when the update processing unit 22 is responsible for stores A-C, it performs software updates on devices X-Z; when the update processing unit 22 is responsible for stores D-F, it performs software updates on devices X and Y; and when the update processing unit 22 is responsible for stores G-I, it performs software updates on devices X and Z. When performing a software update, the software distribution server 10 outputs a software update instruction to the controllers 20A-20I of each store A-I, and the controllers 20A-20I that receive the update instruction download and use the software update program from the software distribution server 10. Note that even when the update processing unit 22 performs a software update, whether the process succeeds or fails may vary depending on the status of the other device and other communication environments, etc.
第1の取得部23は、更新処理部22が対象機器(対象機器群)に対してソフトウェアの更新処理を施す前の状態において、コントローラと対象機器(対象機器群)との間の通信状態を示す第1のパラメータを取得する。例えば、第1の取得部23は、店舗A-Cを管轄する場合には機器X-Zに対してソフトウェアの更新処理を施す前の第1のパラメータを取得し、店舗D-Fを管轄する場合には機器X、Yに対してソフトウェアの更新処理を施す前の第1のパラメータを取得し、店舗G-Iを管轄する場合には機器X、Zに対してソフトウェアの更新処理を施す前の第1のパラメータを取得する。第1の取得部23が取得した第1のパラメータは、ネットワークを介してソフト配信サーバ10に送られる。 The first acquisition unit 23 acquires a first parameter indicating the communication state between the controller and the target device (group of target devices) before the update processing unit 22 performs a software update process on the target device (group of target devices). For example, if the first acquisition unit 23 is responsible for stores A-C, it acquires the first parameter before the software update process is performed on devices X-Z; if the first acquisition unit 23 is responsible for stores D-F, it acquires the first parameter before the software update process is performed on devices X and Y; and if the first acquisition unit 23 is responsible for stores G-I, it acquires the first parameter before the software update process is performed on devices X and Z. The first parameter acquired by the first acquisition unit 23 is sent to the software distribution server 10 via the network.
第2の取得部24は、更新処理部22が対象機器(対象機器群)に対してソフトウェアの更新処理を施した後の状態において、コントローラと対象機器(対象機器群)との間の通信状態を示す第2のパラメータを取得する。例えば、第2の取得部24は、店舗A-Cを管轄する場合には機器X-Zに対してソフトウェアの更新処理を施した後の第2のパラメータを取得し、店舗D-Fを管轄する場合には機器X、Yに対してソフトウェアの更新処理を施した後の第2のパラメータを取得し、店舗G-Iを管轄する場合には機器X、Zに対してソフトウェアの更新処理を施した後の第2のパラメータを取得する。第2の取得部24が取得した第2のパラメータは、ネットワークを介してソフト配信サーバ10に送られる。 The second acquisition unit 24 acquires second parameters indicating the communication state between the controller and the target device (group of target devices) after the update processing unit 22 has performed a software update process on the target device (group of target devices). For example, if the second acquisition unit 24 is responsible for stores A-C, it acquires second parameters after the software update process on devices X-Z; if the second acquisition unit 24 is responsible for stores D-F, it acquires second parameters after the software update process on devices X and Y; and if the second acquisition unit 24 is responsible for stores G-I, it acquires second parameters after the software update process on devices X and Z. The second parameters acquired by the second acquisition unit 24 are sent to the software distribution server 10 via the network.
第1の取得部23が取得する第1のパラメータ、及び、第2の取得部24が取得する第2のパラメータは、例えば、通信の送信元から宛先にデータが到達するまでの必要な帯域、データが捨てられる割合(ロス率)、遅延、遅延時間のばらつき(ジッタ)等を含めた通信品質の指標(メトリック)とすることができる。このように、第1、第2のパラメータの具体的態様には自由度があり、種々の設計変更が可能である。但し、第1、第2のパラメータは、両者を比較可能な同じ次元・種類のパラメータであることが好ましい。 The first parameter acquired by the first acquisition unit 23 and the second parameter acquired by the second acquisition unit 24 can be indicators (metrics) of communication quality, including, for example, the bandwidth required for data to reach the destination from the source of the communication, the rate at which data is discarded (loss rate), delay, and variance in delay time (jitter). As such, there is a degree of freedom in the specific aspects of the first and second parameters, and various design changes are possible. However, it is preferable that the first and second parameters be parameters of the same dimension and type so that they can be compared.
ロールバック処理部25は、対象機器(対象機器群)に対してソフトウェアの更新処理を施した後の状態から対象機器(対象機器群)に対してソフトウェアの更新処理を施す前の状態に戻すロールバック処理を実行する。すなわち、ロールバック処理部25は、所定条件の下、後述するソフト配信サーバ10のロールバック制御部12による制御を受けて、更新処理部22が対象機器(対象機器群)に施したソフトウェアの更新処理を無効化して、当該更新処理の前の状態に戻す。 The rollback processing unit 25 executes rollback processing to return the target device (group of target devices) from the state after the software update processing has been performed to the state before the software update processing was performed on the target device (group of target devices). In other words, under predetermined conditions, and under the control of the rollback control unit 12 of the software distribution server 10 (described below), the rollback processing unit 25 invalidates the software update processing performed on the target device (group of target devices) by the update processing unit 22, and returns the state to the state before the update processing.
図3は、第1実施形態のソフト配信サーバ10の内部構成を示す機能ブロック図である。図3に示すように、ソフト配信サーバ10は、判定部11と、ロールバック制御部12とを有している。 Figure 3 is a functional block diagram showing the internal configuration of the software distribution server 10 of the first embodiment. As shown in Figure 3, the software distribution server 10 has a determination unit 11 and a rollback control unit 12.
判定部11は、第1の取得部23が取得した第1のパラメータ、及び、第2の取得部24が取得した第2のパラメータに基づいて、コントローラ20A-20Iが管轄する店舗A-Iの対象機器(対象機器群)に対するソフトウェアの更新処理の成否を判定する。 The determination unit 11 determines the success or failure of the software update process for the target devices (group of target devices) in stores A-I under the jurisdiction of the controllers 20A-20I based on the first parameters acquired by the first acquisition unit 23 and the second parameters acquired by the second acquisition unit 24.
より具体的に、判定部11は、第1、第2のパラメータが同一である場合に、対象機器(対象機器群)に対するソフトウェアの更新処理が成功したと判定し、第1、第2のパラメータが異なっている場合に、対象機器(対象機器群)に対するソフトウェアの更新処理が失敗したと判定する。 More specifically, if the first and second parameters are the same, the determination unit 11 determines that the software update process for the target device (group of target devices) was successful, and if the first and second parameters are different, the determination unit 11 determines that the software update process for the target device (group of target devices) was unsuccessful.
あるいは、判定部11は、第1、第2のパラメータの一方が他方を基準とした所定範囲内である場合に、対象機器(対象機器群)に対するソフトウェアの更新処理が成功したと判定し、第1、第2のパラメータの一方が他方を基準とした所定範囲外である場合に、対象機器(対象機器群)に対するソフトウェアの更新処理が失敗したと判定する。例えば、第1、第2のパラメータの一方が他方を基準とした90%以上かつ110%以内であるかどうかで判定する場合を想定する。第1、第2のパラメータの一方が「1.00」であり、第1、第2のパラメータの他方が「0.96」である場合、第1、第2のパラメータの一方が他方を基準とした90%以上かつ110%以内であるため、ソフトウェアの更新処理が成功したと判定する。一方、第1、第2のパラメータの一方が「1.00」であり、第1、第2のパラメータの他方が「0.82」である場合、第1、第2のパラメータの一方が他方を基準とした90%以上かつ110%以内でないため、ソフトウェアの更新処理が失敗したと判定する。 Alternatively, the determination unit 11 determines that the software update process for the target device (group of target devices) was successful if one of the first and second parameters is within a predetermined range based on the other, and determines that the software update process for the target device (group of target devices) was unsuccessful if one of the first and second parameters is outside the predetermined range based on the other. For example, consider a case in which the determination is made based on whether one of the first and second parameters is greater than or equal to 90% and less than or equal to 110% of the other. If one of the first and second parameters is "1.00" and the other is "0.96," the software update process is determined to be successful because one of the first and second parameters is greater than or equal to 90% and less than or equal to 110% of the other. On the other hand, if one of the first and second parameters is "1.00" and the other is "0.82", the software update process is determined to have failed because one of the first and second parameters is not greater than 90% and less than 110% of the other.
第1、第2のパラメータは、通信正常(データを正常に取得できる)の場合の値の他、通信不可(データが存在しない)の場合の値(NULL)、データ不良(例えば%表示等の正の値で示されるべきものが負の値で示される)の場合の値(異常値)を含み得る。通信正常、通信不可、データ不良のいずれであるかにかかわらず、ソフトウェアの更新処理の前後で第1、第2のパラメータが同一であれば、ソフトウェアの更新処理が成功したと判定し、ソフトウェアの更新処理の前後で第1、第2のパラメータが異なっていれば、ソフトウェアの更新処理が失敗したと判定してもよい。 The first and second parameters may include values for normal communication (data can be acquired normally), values for no communication (NULL) (no data exists), and values for bad data (abnormal values) (for example, a negative value is displayed instead of a positive value such as a percentage). Regardless of whether communication is normal, communication is not possible, or data is bad, if the first and second parameters are the same before and after the software update process, the software update process may be determined to have been successful. If the first and second parameters are different before and after the software update process, the software update process may be determined to have failed.
図4A、図4B、図4Cは、第1、第2のパラメータに基づくソフトウェアの更新処理の成否判定を示す図である。図4A、図4Bはソフトウェアの更新処理の成功例を示しており、図4Cはソフトウェアの更新処理の失敗例を示している。 Figures 4A, 4B, and 4C are diagrams showing how the success or failure of a software update process is determined based on the first and second parameters. Figures 4A and 4B show an example of a successful software update process, while Figure 4C shows an example of a failed software update process.
図4A-図4Cの例では、機器X-Zの稼働データを10:00-10:13の1分刻みで取得しており、10:05-10:07にかけてソフトウェアの更新処理を実行している。このため、10:04における機器X-Zの稼働データが「第1のパラメータ」となり、10:08における機器X-Zの稼働データが「第2のパラメータ」となっている。 In the example of Figures 4A-4C, the operational data of devices X-Z was acquired in one-minute increments from 10:00 to 10:13, and the software update process was performed from 10:05 to 10:07. Therefore, the operational data of devices X-Z at 10:04 is the "first parameter," and the operational data of devices X-Z at 10:08 is the "second parameter."
図4Aの例では、機器Xの第1、第2のパラメータがいずれも「0.15」で同一となっており、機器Yの第1、第2のパラメータがいずれも「1.12」で同一となっており、機器Zの第1、第2のパラメータがいずれも「2.01」で同一となっている。このため、機器X-Zについて、ソフトウェアの更新処理が成功したと判定される。 In the example of Figure 4A, the first and second parameters of device X are both the same at "0.15", the first and second parameters of device Y are both the same at "1.12", and the first and second parameters of device Z are both the same at "2.01". Therefore, it is determined that the software update process for devices X-Z was successful.
図4Bの例では、機器Xの第1、第2のパラメータがいずれも「0.15」で同一となっており、機器Yの第1、第2のパラメータがいずれも「NULL」で同一となっており、機器Zの第1、第2のパラメータがいずれも「2.01」で同一となっている。このため、機器X-Zについて、ソフトウェアの更新処理が成功したと判定される。 In the example of Figure 4B, the first and second parameters of device X are both "0.15" and the same, the first and second parameters of device Y are both "NULL" and the same, and the first and second parameters of device Z are both "2.01". Therefore, it is determined that the software update process for devices X-Z was successful.
図4Cの例では、機器Xにおいて、第1のパラメータが「0.15」であるのに対して第2のパラメータが「0.25」であり、第1、第2のパラメータの一方が他方を基準とした所定範囲外となっているので、機器Xのソフトウェアの更新処理が失敗したと判定される。また、機器Yにおいて、第1のパラメータが「1.12」であるのに対して第2のパラメータが「NULL」であり、第1、第2のパラメータが著しく異なっているので(更新処理後の通信不可が疑われるので)、機器Yのソフトウェアの更新処理が失敗したと判定される。また、機器Zにおいて、第1のパラメータが「2.01」であるのに対して第2のパラメータが「-4.23」であり、第1、第2のパラメータが著しく異なっているので(更新処理後のデータ不良が疑われるので)、機器Zのソフトウェアの更新処理が失敗したと判定される。 In the example of Figure 4C, for device X, the first parameter is "0.15" while the second parameter is "0.25," meaning that one of the first and second parameters is outside the specified range based on the other, and therefore the software update process for device X is determined to have failed. Also, for device Y, the first parameter is "1.12" while the second parameter is "NULL," meaning that the first and second parameters are significantly different (raising the possibility of communication failure after the update), and therefore the software update process for device Y is determined to have failed. Also, for device Z, the first parameter is "2.01" while the second parameter is "-4.23," meaning that the first and second parameters are significantly different (raising the possibility of data corruption after the update), and therefore the software update process for device Z is determined to have failed.
このように、判定部11は、ソフトウェアの更新処理の前後における稼働データの取得状況を比較して、図4A、図4Bのようにソフトウェアの更新処理の前後で稼働データの取得状況に変化がない場合はソフトウェアの更新処理が成功したと判定し、図4Cのようにソフトウェアの更新処理の前後で稼働データの取得状況に変化がある場合はソフトウェアの更新処理が失敗したと判定してもよい。 In this way, the determination unit 11 compares the operational data acquisition status before and after the software update process, and may determine that the software update process was successful if there is no change in the operational data acquisition status before and after the software update process, as shown in Figures 4A and 4B, or may determine that the software update process failed if there is a change in the operational data acquisition status before and after the software update process, as shown in Figure 4C.
図5は、ソフトウェアの更新処理の前後における通信状態に基づく成否判断を示す図である。上述した通り、ソフトウェアの更新処理の前の状態で第1のパラメータが通信正常の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータが通信正常の値であれば、第1、第2のパラメータが同一である場合、又は、第1、第2のパラメータの一方が他方を基準とした所定範囲内(実質的な同一範囲内)である場合に、ソフトウェアの更新処理が成功したと判定し、第1、第2のパラメータが異なっている場合、又は、第1、第2のパラメータの一方が他方を基準とした所定範囲外(実質的な同一範囲外)である場合に、ソフトウェアの更新処理が失敗したと判定する。 Figure 5 shows the success/failure determination based on the communication state before and after the software update process. As described above, if the first parameter is a value indicating normal communication before the software update process and the second parameter is a value indicating normal communication after the software update process, the software update process is determined to be successful if the first and second parameters are the same, or if one of the first and second parameters is within a predetermined range based on the other (substantially the same range). However, if the first and second parameters are different, or if one of the first and second parameters is outside the predetermined range based on the other (substantially the same range), the software update process is determined to have failed.
ソフトウェアの更新処理の前の状態で第1のパラメータが通信正常の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータが通信不可(例えばNULL)又はデータ不良(例えば%表示等の正の値で示されるべきものが負の値で示される)の値である場合、ソフトウェアの更新処理が失敗したと判定する。 If the first parameter is a value indicating normal communication before the software update process, and the second parameter is a value indicating communication is not possible (e.g., NULL) or the data is incorrect (e.g., a negative value is displayed instead of a positive value, such as a percentage, after the software update process), the software update process is determined to have failed.
ソフトウェアの更新処理の前の状態で第1のパラメータが通信不可の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータが通信正常の値である場合、ソフトウェアの更新処理による改善と判断して、ソフトウェアの更新処理が成功したと判定する。ソフトウェアの更新処理の前の状態で第1のパラメータが通信不可の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータが通信不可の値である場合、ソフトウェアの更新処理による影響なしと判断して、ソフトウェアの更新処理が成功したと判定する。ソフトウェアの更新処理の前の状態で第1のパラメータが通信不可の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータがデータ不良の値である場合、ソフトウェアの更新処理が失敗したと判定する。 If the first parameter is a value indicating that communication is not possible before the software update process and the second parameter is a value indicating normal communication after the software update process, it is determined that the software update process has resulted in an improvement, and the software update process is determined to be successful. If the first parameter is a value indicating that communication is not possible before the software update process and the second parameter is a value indicating that communication is not possible after the software update process, it is determined that there is no impact from the software update process and the software update process is determined to be successful. If the first parameter is a value indicating that communication is not possible before the software update process and the second parameter is a value indicating incorrect data after the software update process, it is determined that the software update process has failed.
ソフトウェアの更新処理の前の状態で第1のパラメータがデータ不良の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータが通信正常の値である場合、ソフトウェアの更新処理による改善と判断して、ソフトウェアの更新処理が成功したと判定する。ソフトウェアの更新処理の前の状態で第1のパラメータがデータ不良の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータが通信不可の値である場合、ソフトウェアの更新処理が失敗したと判定する。ソフトウェアの更新処理の前の状態で第1のパラメータがデータ不良の値であり、ソフトウェアの更新処理の後の状態で第2のパラメータがデータ不良の値である場合、ソフトウェアの更新処理による影響なしと判断して、ソフトウェアの更新処理が成功したと判定する。 If the first parameter has a value of bad data before the software update process and the second parameter has a value of normal communication after the software update process, it is determined that the software update process has resulted in an improvement, and the software update process is determined to be successful. If the first parameter has a value of bad data before the software update process and the second parameter has a value of bad data after the software update process, it is determined that the software update process has failed. If the first parameter has a value of bad data before the software update process and the second parameter has a value of bad data after the software update process, it is determined that there is no effect from the software update process, and the software update process is determined to be successful.
ロールバック制御部12は、対象機器(対象機器群)に対するソフトウェアの更新処理が失敗したと判定部11が判定した場合に、対象機器(対象機器群)に対してソフトウェアの更新処理を施した後の状態から対象機器(対象機器群)に対してソフトウェアの更新処理を施す前の状態に戻すロールバック処理を実行する旨の指示信号をコントローラ20A-20Iのロールバック処理部25に送る。コントローラ20A-20Iのロールバック処理部25は、ロールバック制御部12からの指示信号に基づいて、適宜、管轄する対象機器(対象機器群)に対してロールバック処理を実行する。 When the determination unit 11 determines that the software update process for the target device (group of target devices) has failed, the rollback control unit 12 sends an instruction signal to the rollback processing unit 25 of the controllers 20A-20I to execute rollback processing, which restores the state of the target device (group of target devices) from the state after the software update process was performed to the state before the software update process was performed. The rollback processing unit 25 of the controllers 20A-20I appropriately executes rollback processing for the target device (group of target devices) under its jurisdiction based on the instruction signal from the rollback control unit 12.
ここで、対象機器(対象機器群)には、ソフトウェアの更新処理が失敗した場合にロールバック処理を実行するか否かの基準となる複数段階の重要度が付与されている。そして、ロールバック制御部12による制御の下、ロールバック処理部25は、対象機器(対象機器群)の重要度が予め定められた複数段階の重要度のうちの所定の重要度以上である場合にロールバック処理を実行し、対象機器(対象機器群)の重要度が予め定められた複数段階の重要度のうちの所定の重要度未満である場合にロールバック処理を実行しない。 Here, the target device (group of target devices) is assigned multiple levels of importance that serve as the criteria for determining whether or not to execute rollback processing if the software update processing fails. Then, under the control of the rollback control unit 12, the rollback processing unit 25 executes rollback processing if the importance of the target device (group of target devices) is equal to or greater than a predetermined level of importance from the multiple levels of importance that have been determined in advance, and does not execute rollback processing if the importance of the target device (group of target devices) is less than the predetermined level of importance from the multiple levels of importance that have been determined in advance.
対象機器(対象機器群)に対して予め定められた重要度の如何によっては、更新処理失敗後のソフトウェアを継続使用することの弊害のレベルが変わってくる(重要度が高いほど弊害のレベルが高く重要度が低いほど弊害のレベルが低くなる)。そこで、相対的に重要度が高い対象機器(対象機器群)に対するソフトウェアの更新処理が失敗した場合には、直ちにロールバック処理を実行する一方、相対的に重要度が低い対象機器(対象機器群)に対するソフトウェアの更新処理が失敗した場合には、直ちにロールバック処理を実行するのではなく、更新処理失敗後のソフトウェアを継続使用する(もちろん事後的な対応や手当ては行う)。これにより、対象機器の重要度に応じて最適化したソフトウェアの更新処理及びロールバック処理を実行することができる。 The level of harm caused by continuing to use software after an update process has failed varies depending on the predetermined importance of the target device (group of target devices) (the higher the importance, the higher the level of harm, and the lower the importance, the lower the level of harm). Therefore, if a software update process for a target device (group of target devices) with a relatively high level of importance fails, a rollback process is immediately performed, while if a software update process for a target device (group of target devices) with a relatively low level of importance fails, the software after the update process has failed is continued to be used rather than an immediate rollback process (after which, of course, subsequent responses and adjustments are made). This allows software update processes and rollback processes to be optimized according to the importance of the target devices.
図6A、図6Bは、対象機器(対象機器群)の重要度に応じたロールバック処理の実行有無の一例を示す図である。 Figures 6A and 6B show an example of whether or not rollback processing is performed depending on the importance of the target device (group of target devices).
図6Aの例では、対象機器(対象機器群)に対して、「高」、「中」、「低」の3段階の重要度が付与されており、機器Xの重要度が「高」、機器Yの重要度が「中」、機器Zの重要度が「低」に設定されている。そして、ロールバック処理の実行有無の基準となる所定の重要度が「中」に設定されている。機器X-Zに対するソフトウェアの更新処理が失敗したとき、機器X、Yにロールバック処理が実行され、機器Zにはロールバック処理が実行されない。 In the example of Figure 6A, three levels of importance are assigned to target devices (group of target devices): "high," "medium," and "low." The importance of device X is set to "high," the importance of device Y to "medium," and the importance of device Z to "low." The predetermined importance level that serves as the criterion for whether or not to perform rollback processing is set to "medium." If the software update processing for devices X-Z fails, rollback processing is performed on devices X and Y, but not on device Z.
図6Bの例では、対象機器(対象機器群)に対して、高い方から低い方に向かって順に、「5」、「4」、「3」、「2」、「1」の5段階の重要度が付されており、機器Xの重要度が「3」、機器Yの重要度が「2」、機器Zの重要度が「5」に設定されている。そして、ロールバック処理の実行有無の基準となる所定の重要度が「4」に設定されている。機器X-Zに対するソフトウェアの更新処理が失敗したとき、機器Zにロールバック処理が実行され、機器X、Yにはロールバック処理が実行されない。 In the example of Figure 6B, five levels of importance are assigned to the target devices (group of target devices) in order from highest to lowest: "5," "4," "3," "2," and "1." The importance of device X is set to "3," the importance of device Y is set to "2," and the importance of device Z is set to "5." The predetermined importance level that serves as the criterion for whether or not to perform rollback processing is set to "4." If the software update processing for devices X-Z fails, rollback processing is performed on device Z, but rollback processing is not performed on devices X and Y.
このように、第1実施形態のソフトウェアの更新システム1では、複数の店舗(拠点)A-Iのコントローラ20A-20Iにおいて、対象機器(対象機器群)X-Zについて、第1の取得部23が第1のパラメータを取得し、第2の取得部24が第2のパラメータを取得し、第1、第2のパラメータをソフト配信サーバ(上位システム)10に送信する。そして、ソフト配信サーバ10において、判定部11が、第1、第2のパラメータに基づいて、複数の店舗(拠点)A-Iの対象機器(対象機器群)X-Zに対するソフトウェアの更新処理の成否を判定し、ロールバック制御部12が、ロールバック処理の実行有無を複数の店舗(拠点)A-Iのコントローラ20A-20Iのロールバック処理部25に指示する。 In this way, in the software update system 1 of the first embodiment, in the controllers 20A-20I of the multiple stores (locations) A-I, the first acquisition unit 23 acquires a first parameter and the second acquisition unit 24 acquires a second parameter for the target devices (groups of target devices) X-Z, and transmits the first and second parameters to the software distribution server (host system) 10. Then, in the software distribution server 10, the determination unit 11 determines the success or failure of the software update process for the target devices (groups of target devices) X-Z of the multiple stores (locations) A-I based on the first and second parameters, and the rollback control unit 12 instructs the rollback processing unit 25 of the controllers 20A-20I of the multiple stores (locations) A-I as to whether or not to execute the rollback process.
ところで、上述したように、複数の店舗(拠点)A-Iの対象機器(対象機器群)X-Zは、ソフト配信サーバ10が保有する所定の機器構成情報に基づいてグループ分けされている。より具体的に、機器X-Zからなる対象機器群(店舗A-Cに相当)がグループ1として規定されており、機器X、Yからなる対象機器群(店舗D-Fに相当)がグループ2として規定され、機器X、Zからなる対象機器群(店舗G-Iに相当)がグループ3として規定されている。 As mentioned above, the target devices (target device groups) X-Z of multiple stores (bases) A-I are grouped based on specific device configuration information held by the software distribution server 10. More specifically, the target device group consisting of devices X-Z (corresponding to stores A-C) is defined as Group 1, the target device group consisting of devices X and Y (corresponding to stores D-F) is defined as Group 2, and the target device group consisting of devices X and Z (corresponding to stores G-I) is defined as Group 3.
第1実施形態のソフトウェアの更新システム1では、同一のグループ毎に、ある店舗(拠点)の対象機器群に対するソフトウェアの更新処理が成功したことを確認した後に、別の店舗(拠点)の対象機器群に対するソフトウェアの更新処理を施す。 In the software update system 1 of the first embodiment, for each group, after confirming that the software update process for the target devices at one store (base) has been successful, the software update process is performed for the target devices at another store (base).
図7は、グループ分けに基づいたソフトウェアの更新処理/ロールバック処理の制御の第1の例を示す概念図である。図7の例では、グループ1に属する機器X-Zからなる対象機器群を有する店舗A-Cを描いている。まず、グループ1に属する店舗A-Cの中から代表店舗として店舗Aを選定する。次いで、グループ1の属する全店舗A-Cについてソフトウェアの更新処理を施す前に、代表店舗Aについてソフトウェアの更新処理を施す。そして、代表店舗Aについてソフトウェアの更新処理が成功したことを確認した後に、別の店舗B、Cについてソフトウェアの更新処理を施す。 Figure 7 is a conceptual diagram showing a first example of controlling software update/rollback processing based on grouping. The example in Figure 7 depicts stores A-C, which have a target device group consisting of devices X-Z that belong to group 1. First, store A is selected as a representative store from stores A-C that belong to group 1. Next, before performing software update processing for all stores A-C that belong to group 1, the software update processing is performed for representative store A. Then, after confirming that the software update processing for representative store A was successful, the software update processing is performed for other stores B and C.
同一のグループは同一の機器構成情報を有しているため、同一のグループに属する対象機器群にソフトウェアの更新処理を施した場合、その成否は同じ結果になる確率が高い。そこで、同一のグループに属する複数の店舗の対象機器群に対して同時に(一括して)ソフトウェアの更新処理を施すのではなく、同一のグループのある店舗の対象機器群に対するソフトウェアの更新処理が成功したことを確認した後に、同一のグループの別の店舗の対象機器群に対するソフトウェアの更新処理を施すことで、同一のグループに属する複数の店舗の対象機器群に対して同じソフトウェアの更新処理の失敗が起きること(二次被害による運用停止等)を未然に防止することができる。 Since devices in the same group share the same device configuration information, there is a high probability that software updates performed on devices in the same group will have the same success or failure. Therefore, rather than simultaneously (all at once) updating software on devices in multiple stores in the same group, you can confirm that the software update was successful on devices in one store in the same group before updating devices in another store in the same group. This prevents the same software update failure (such as secondary damage causing operational outages) from occurring on devices in multiple stores in the same group.
第1実施形態のソフトウェアの更新システム1では、同一のグループ毎に、ある店舗(拠点)の対象機器群に対するソフトウェアの更新処理が失敗した場合、別の店舗(拠点)の対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、別の店舗(拠点)の対象機器群に対するロールバック処理を実行する。 In the first embodiment of the software update system 1, if the software update process for a group of target devices at one store (base) fails for each group, the software update process for the group of target devices at another store (base) is canceled, or a rollback process is performed for the group of target devices at another store (base).
図8は、グループ分けに基づいたソフトウェアの更新処理/ロールバック処理の制御の第2の例を示す概念図である。図8の例では、グループ1に属する機器X-Zからなる対象機器群を有する店舗A-Cを描いている。まず、グループ1に属する店舗A-Cの中から代表店舗として店舗Aを選定する。次いで、グループ1の属する全店舗A-Cについてソフトウェアの更新処理を施す前に、代表店舗Aについてソフトウェアの更新処理を施す。そして、代表店舗Aについてソフトウェアの更新処理が失敗した場合、別の店舗B、Cの対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、更新処理後の場合は別の店舗B、Cの対象機器群に対するロールバック処理を実行する。 Figure 8 is a conceptual diagram showing a second example of controlling software update/rollback processing based on grouping. The example in Figure 8 depicts stores A-C, which have a target device group consisting of devices X-Z that belong to group 1. First, store A is selected as a representative store from stores A-C that belong to group 1. Next, before performing software update processing on all stores A-C that belong to group 1, a software update processing is performed on representative store A. If the software update processing on representative store A fails, the software update processing on the target device groups of other stores B and C is canceled, or if the update processing has already been performed, a rollback processing is performed on the target device groups of other stores B and C.
同一のグループは同一の機器構成情報を有しているため、同一のグループに属する対象機器群にソフトウェアの更新処理を施した場合、その成否は同じ結果になる確率が高い。そこで、同一のグループに属する複数の店舗の対象機器群に対して同時に(一括して)ソフトウェアの更新処理を施すのではなく、同一のグループのある店舗の対象機器群に対するソフトウェアの更新処理が失敗した場合に、同一のグループの別の店舗の対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、更新処理後の場合は同一のグループの別の店舗の対象機器群に対するロールバック処理を実行することで、同一のグループに属する複数の店舗の対象機器群に対して同じソフトウェアの更新処理の失敗が起きること(二次被害による運用停止等)を未然に防止することができる。 Since the same group has the same device configuration information, there is a high probability that software updates performed on target devices belonging to the same group will have the same success or failure. Therefore, rather than performing software updates simultaneously (all at once) on target devices in multiple stores belonging to the same group, if a software update fails on target devices in one store in the same group, the software update for target devices in another store in the same group can be canceled, or if an update has already been performed, a rollback can be performed on target devices in another store in the same group. This can prevent the same software update failure (such as secondary damage causing operational suspension) from occurring on target devices in multiple stores belonging to the same group.
第1実施形態のソフトウェアの更新システム1では、いずれかの店舗(拠点)のグループで、対象機器群に対するソフトウェアの更新処理が失敗した場合、機器構成情報の少なくとも一部が共通する別の店舗(拠点)のグループの対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、機器構成情報の少なくとも一部が共通する別の店舗(拠点)のグループに対するロールバック処理を実行する。 In the first embodiment of the software update system 1, if the software update process for a group of target devices in one of the store (base) groups fails, the software update process for the group of target devices in another store (base) group with which at least some of the device configuration information is shared is canceled, or a rollback process is performed for the other store (base) group with which at least some of the device configuration information is shared.
図9は、グループ分けに基づいたソフトウェアの更新処理/ロールバック処理の制御の第3の例を示す概念図である。図9の例では、グループ1に属する機器X-Zからなる対象機器群を有する店舗A、グループ2に属する機器X、Yからなる対象機器群を有する店舗D、及び、グループ3に属する機器X、Zからなる対象機器群を有する店舗Gを描いている。ここでは、機器構成情報の少なくとも一部が共通するかどうかを判断する対象として機器X、Yを例示する。まず、機器X、Y、Zからなる店舗Aについてソフトウェアの更新処理を施す。そして、店舗Aについてソフトウェアの更新処理が失敗した場合、機器構成情報の少なくとも一部である機器X、Yが共通する店舗Dの機器X、Yに対するソフトウェアの更新処理を取り止め、あるいは、更新処理後の場合は店舗Dの機器X、Yに対するロールバック処理を実行する。一方、機器構成情報の少なくとも一部である機器X、Yが共通しない店舗Gの機器X、Zに対しては、ソフトウェアの更新処理を施してもよい。 Figure 9 is a conceptual diagram showing a third example of controlling software update/rollback processing based on grouping. The example in Figure 9 depicts store A, which has a target device group consisting of devices X-Z belonging to group 1; store D, which has a target device group consisting of devices X and Y belonging to group 2; and store G, which has a target device group consisting of devices X and Z belonging to group 3. Here, devices X and Y are used as examples of devices for determining whether at least a portion of the device configuration information is common. First, software update processing is performed for store A, which consists of devices X, Y, and Z. If the software update processing for store A fails, the software update processing for devices X and Y in store D, which share at least part of the device configuration information, is canceled, or if the update processing has already been performed, rollback processing is performed for devices X and Y in store D. On the other hand, software update processing may be performed for devices X and Z in store G, which do not share at least part of the device configuration information, consisting of devices X and Y.
図10は、第1実施形態のソフトウェアの更新システム1の動作の一例を示すタイミングチャートである。ここでは、ソフト配信サーバ10と、店舗Aに属するコントローラ20A及び機器X-Zの動作を例示して説明する。 Figure 10 is a timing chart showing an example of the operation of the software update system 1 of the first embodiment. Here, the operation of the software distribution server 10, the controller 20A belonging to store A, and devices X-Z will be explained as an example.
ステップST1では、機器Xからコントローラ20Aに更新処理前の稼働データ(第1のパラメータ)が入力される。ステップST2では、機器Yからコントローラ20Aに更新処理前の稼働データ(第1のパラメータ)が入力される。ステップST3では、機器Zからコントローラ20Aに更新処理前の稼働データ(第1のパラメータ)が入力される。ステップST1-ST3の入力処理は、必ずしもこの順番で実行される必要はなく、これらが同時に実行されてもよい。 In step ST1, pre-update operating data (first parameters) is input from device X to controller 20A. In step ST2, pre-update operating data (first parameters) is input from device Y to controller 20A. In step ST3, pre-update operating data (first parameters) is input from device Z to controller 20A. The input processes of steps ST1-ST3 do not necessarily have to be performed in this order, and may be performed simultaneously.
ステップST4では、ソフト配信サーバ10からコントローラ20Aに、機器X-Yのソフトウェアの更新指示が入力される。ステップST5では、コントローラ20Aからソフト配信サーバ10に、機器X-Yのソフトウェアの更新プログラムが要求されて、当該プログラムのダウンロードが実行される。 In step ST4, the software distribution server 10 inputs an instruction to update the software for device XY to the controller 20A. In step ST5, the controller 20A requests the software distribution server 10 to update the software for device XY, and the program is downloaded.
ステップST6では、コントローラ20Aが機器Xにソフトウェアの更新処理を施す。ステップST7では、コントローラ20Aが機器Yにソフトウェアの更新処理を施す。ステップST8では、コントローラ20Aが機器Zにソフトウェアの更新処理を施す。ステップST6-ST8の更新処理は、必ずしもこの順番で実行される必要はなく、これらが同時に実行されてもよい。 In step ST6, controller 20A performs a software update process on device X. In step ST7, controller 20A performs a software update process on device Y. In step ST8, controller 20A performs a software update process on device Z. The update processes in steps ST6-ST8 do not necessarily have to be performed in this order, and may be performed simultaneously.
ステップST9では、機器Xからコントローラ20Aに更新処理後の稼働データ(第2のパラメータ)が入力される。ステップST10では、機器Yからコントローラ20Aに更新処理後の稼働データ(第2のパラメータ)が入力される。ステップST11では、機器Zからコントローラ20Aに更新処理後の稼働データ(第2のパラメータ)が入力される。ステップST9-ST11の入力処理は、必ずしもこの順番で実行される必要はなく、これらが同時に実行されてもよい。 In step ST9, post-update operating data (second parameters) is input from device X to controller 20A. In step ST10, post-update operating data (second parameters) is input from device Y to controller 20A. In step ST11, post-update operating data (second parameters) is input from device Z to controller 20A. The input processes of steps ST9-ST11 do not necessarily have to be performed in this order, and may be performed simultaneously.
ステップST12では、コントローラ20Aからソフト配信サーバ10に、機器X-Zについての更新処理の前後の稼働データ(第1、第2のパラメータ)が入力される。 In step ST12, the operating data (first and second parameters) for devices X-Z before and after the update process are input from controller 20A to software distribution server 10.
ステップST13では、ソフト配信サーバ10が、コントローラ20Aから入力された機器X-Zについての更新処理の前後の稼働データ(第1、第2のパラメータ)に基づいて、機器X-Zについてのソフトウェアの更新処理の成否判定を行い、その成否判定をコントローラ20Aに通知する。また、ステップST13では、ソフトウェアの更新処理が失敗した機器があった場合に、必要に応じてロールバック処理を行う旨の指示が、ソフト配信サーバ10からコントローラ20Aに入力される。 In step ST13, the software distribution server 10 determines whether the software update process for device X-Z was successful based on the operating data (first and second parameters) before and after the update process for device X-Z input from controller 20A, and notifies controller 20A of the success/failure determination. Also in step ST13, if the software update process for any device has failed, an instruction to perform rollback processing as necessary is input from software distribution server 10 to controller 20A.
図10の例では、機器X、Yについてソフトウェアの更新処理が成功し、機器Zについてソフトウェアの更新処理が失敗したことを想定している。このため、機器X、Yに対してはロールバック処理が行われず、ステップST14において、機器Zに対してだけロールバック処理が行われている。 In the example of Figure 10, it is assumed that the software update process was successful for devices X and Y, but failed for device Z. Therefore, rollback processing is not performed for devices X and Y, and in step ST14, rollback processing is performed only for device Z.
<第2実施形態>
上記の第1実施形態では、コントローラ20A-20Iの機能が第1、第2のパラメータを取得するまでであり、ソフト配信サーバ10にてソフトウェアの更新処理の成否判定及びロールバック処理の制御を行っていた。これに対して、第2実施形態では、第1実施形態においてソフト配信サーバ10が担っていたソフトウェアの更新処理の成否判定及びロールバック処理の制御の機能をコントローラ20A-20Iが搭載している。
Second Embodiment
In the first embodiment described above, the function of the controllers 20A-20I was limited to acquiring the first and second parameters, and the success/failure of the software update process and the control of the rollback process were performed by the software distribution server 10. In contrast, in the second embodiment, the functions of the software update process success/failure and the control of the rollback process, which were performed by the software distribution server 10 in the first embodiment, are installed in the controllers 20A-20I.
図11は、第2実施形態のコントローラ20A-20Iの内部構成を示す機能ブロック図である。第1実施形態(図2)と共通する部分には同一の符号を付して、重複する説明を省略する。 Figure 11 is a functional block diagram showing the internal configuration of controllers 20A-20I in the second embodiment. Parts that are common to the first embodiment (Figure 2) are given the same reference numerals, and redundant explanations will be omitted.
図11に示すように、コントローラ20A-20Iは、稼働データ収集部21と、更新処理部22と、第1の取得部23と、第2の取得部24とに加えて、判定部26と、ロールバック制御処理部27とを有している。 As shown in FIG. 11, controllers 20A-20I include an operational data collection unit 21, an update processing unit 22, a first acquisition unit 23, a second acquisition unit 24, a determination unit 26, and a rollback control processing unit 27.
判定部26は、第1の取得部23が取得した第1のパラメータ、及び、第2の取得部24が取得した第2のパラメータに基づいて、コントローラ20A-20Iが管轄する店舗A-Iの対象機器(対象機器群)に対するソフトウェアの更新処理の成否を判定する。判定部26による判定手法は、第1実施形態の判定部11による判定手法と同一(共通)である。 The determination unit 26 determines the success or failure of the software update process for the target devices (group of target devices) in stores A-I under the jurisdiction of the controllers 20A-20I, based on the first parameters acquired by the first acquisition unit 23 and the second parameters acquired by the second acquisition unit 24. The determination method used by the determination unit 26 is the same as (common to) the determination method used by the determination unit 11 in the first embodiment.
ロールバック制御処理部27は、対象機器(対象機器群)に対するソフトウェアの更新処理が失敗したと判定部26が判定した場合に、対象機器(対象機器群)に対してソフトウェアの更新処理を施した後の状態から対象機器(対象機器群)に対してソフトウェアの更新処理を施す前の状態に戻すロールバック処理を実行する。第1実施形態のロールバック処理部25は、ソフト配信サーバ10からの指示信号に従ってロールバック処理を行うものであったのに対して、第2実施形態のロールバック制御処理部27は、ロールバック処理を行うか否かの判断自体も行うものである。 When the determination unit 26 determines that the software update process for the target device (group of target devices) has failed, the rollback control processing unit 27 executes rollback processing to return the target device (group of target devices) from the state after the software update process was performed to the state before the software update process was performed. While the rollback processing unit 25 in the first embodiment performed rollback processing in accordance with an instruction signal from the software distribution server 10, the rollback control processing unit 27 in the second embodiment also determines whether or not to perform rollback processing.
図12は、第2実施形態のソフトウェアの更新システム1の動作の一例を示すタイミングチャートである。ここでは、ソフト配信サーバ10と、店舗Aに属するコントローラ20A及び機器X-Zの動作を例示して説明する。ステップST1-ST11の処理は、第1実施形態の図10のタイミングチャートと同一なので、重複する説明を省略する。 Figure 12 is a timing chart showing an example of the operation of the software update system 1 of the second embodiment. Here, the operation of the software distribution server 10, the controller 20A belonging to store A, and devices X-Z will be explained as an example. The processing of steps ST1-ST11 is the same as the timing chart of Figure 10 of the first embodiment, so duplicate explanations will be omitted.
ステップST15では、コントローラ20A(判定部26)が、機器X-Zについての更新処理の前後の稼働データ(第1、第2のパラメータ)に基づいて、機器X-Zについてのソフトウェアの更新処理の成否判定を行い、その成否判定をソフト配信サーバ10に通知する。ステップST16では、コントローラ20A(ロールバック制御処理部27)が、ソフトウェアの更新処理が失敗した機器があった場合に、当該機器に対してロールバック処理を実行する。 In step ST15, controller 20A (determination unit 26) determines whether the software update process for device X-Z was successful based on the operating data (first and second parameters) before and after the update process for device X-Z, and notifies the software distribution server 10 of the success/failure determination. In step ST16, if there is any device for which the software update process failed, controller 20A (rollback control processing unit 27) executes rollback processing for that device.
図12の例では、機器X、Zについてソフトウェアの更新処理が成功し、機器Yについてソフトウェアの更新処理が失敗したことを想定している。このため、機器X、Zに対してはロールバック処理が行われず、ステップST16において、機器Yに対してだけロールバック処理が行われている。 In the example of Figure 12, it is assumed that the software update process was successful for devices X and Z, but failed for device Y. Therefore, rollback processing is not performed for devices X and Z, and in step ST16, rollback processing is performed only for device Y.
図13は、第2実施形態におけるコントローラの動作の一例を示すフローチャートである。図13は、対象機器(対象機器群)に対するソフトウェアの更新処理が実行された後の動作を示している。 Figure 13 is a flowchart showing an example of the operation of the controller in the second embodiment. Figure 13 shows the operation after the software update process has been executed for the target device (group of target devices).
ステップST21では、ソフトウェアの更新処理の前後の稼働データ(第1、第2のパラメータ)を取得する。ステップST22では、ソフトウェアの更新処理の前後の稼働データ(第1、第2のパラメータ)を比較する。 In step ST21, operational data (first and second parameters) before and after the software update process are acquired. In step ST22, the operational data (first and second parameters) before and after the software update process are compared.
ステップST23では、ステップST22の比較に基づいて、ソフトウェアの更新処理による異常が発生したか否か(更新処理の成否)が判定される。ソフトウェアの更新処理による異常が発生した場合(更新処理が失敗した場合)(ステップST23:YES)は、ステップST24に進む。ソフトウェアの更新処理による異常が発生していない場合(更新処理が成功した場合)(ステップST23:NO)は、ステップST26に進む。 In step ST23, based on the comparison in step ST22, it is determined whether an abnormality has occurred due to the software update process (whether the update process was successful or not). If an abnormality has occurred due to the software update process (if the update process failed) (step ST23: YES), proceed to step ST24. If an abnormality has not occurred due to the software update process (if the update process was successful) (step ST23: NO), proceed to step ST26.
ステップST24では、ソフトウェアの更新処理による異常が発生した機器の重要度が高いか否か(予め定められた複数段階の重要度のうちの所定の重要度以上であるか否か)が判定される。ソフトウェアの更新処理による異常が発生した機器の重要度が高い場合(ステップST24:YES)は、ステップST25に進む。ステップST25では、ソフトウェアの更新処理による異常が発生した重要度が高い機器に対してロールバック処理が実行される。一方、ソフトウェアの更新処理による異常が発生した機器の重要度が高くない場合(ステップST24:NO)は、ステップST26に進む。 In step ST24, it is determined whether the importance of the device in which the abnormality due to the software update process occurred is high (whether it is at or above a certain level of importance among multiple predetermined levels of importance). If the importance of the device in which the abnormality due to the software update process occurred is high (step ST24: YES), proceed to step ST25. In step ST25, rollback processing is performed on the device in which the abnormality due to the software update process occurred and is of high importance. On the other hand, if the importance of the device in which the abnormality due to the software update process occurred is not high (step ST24: NO), proceed to step ST26.
ステップST26では、全ての機器の判定が終了したか否かが判定される。全ての機器の判定が終了していない場合(ステップST26:NO)は、ステップST21に戻って、全ての機器の判定が終了するまで、ステップST21-ST26までの処理を繰り返す。全ての機器の判定が終了した場合(ステップST26:YES)は、ステップST27に進んで、ソフトウェアの更新処理/ロールバック処理の結果を上位システム(ソフト配信サーバ)に通知して、処理を終了する。 In step ST26, it is determined whether the evaluation of all devices has been completed. If the evaluation of all devices has not been completed (step ST26: NO), the process returns to step ST21 and repeats steps ST21 to ST26 until the evaluation of all devices has been completed. If the evaluation of all devices has been completed (step ST26: YES), the process proceeds to step ST27, where the results of the software update/rollback process are notified to the higher-level system (software distribution server), and the process ends.
図14は、第2実施形態におけるソフト配信サーバの動作の一例を示すフローチャートである。 Figure 14 is a flowchart showing an example of the operation of the software distribution server in the second embodiment.
ステップST31では、同一グループに属する複数の店舗のうちの代表店舗にソフトウェアの更新処理を指示する。ステップST32では、代表店舗からのソフトウェアの更新処理の成否判定の結果を受信する。 In step ST31, a representative store among multiple stores belonging to the same group is instructed to perform a software update process. In step ST32, the result of the software update process success/failure determination is received from the representative store.
ステップST33では、代表店舗について、ソフトウェアの更新処理による異常が発生したか否か(更新処理の成否)が確認される。代表店舗について、ソフトウェアの更新処理による異常が発生していない場合(更新処理が成功した場合)(ステップST33:NO)は、ステップST34に進んで、同一グループに属する複数の店舗のうちの他の店舗にもソフトウェアの更新処理を指示した後、処理を終了する。一方、ソフトウェアの更新処理による異常が発生した場合(更新処理が失敗した場合)(ステップST33:YES)は、ステップST35に進む。 In step ST33, it is confirmed whether or not an abnormality has occurred due to the software update process for the representative store (whether the update process was successful). If no abnormality has occurred due to the software update process for the representative store (if the update process was successful) (step ST33: NO), the process proceeds to step ST34, where other stores in the same group are instructed to also perform the software update process, and the process ends. On the other hand, if an abnormality has occurred due to the software update process (if the update process failed) (step ST33: YES), the process proceeds to step ST35.
ステップST35では、同一グループに属する複数の店舗のうちの他の店舗に対して、ソフトウェアの更新処理を停止する。ステップST36では、他グループに属する店舗の機器構成を確認する。 In step ST35, the software update process is stopped for other stores among the multiple stores belonging to the same group. In step ST36, the equipment configuration of stores belonging to other groups is checked.
ステップST37では、他グループに属する店舗に異常発生機器が存在するか(代表店舗において更新処理が失敗したものと同じ機器が存在するか)が判定される。他グループに属する店舗に異常発生機器が存在しない場合(ステップST37:NO)は、処理を終了する。他グループに属する店舗に異常発生機器が存在する場合(ステップST37:YES)は、ステップST38に進む。 In step ST37, it is determined whether there is an abnormal device in a store belonging to another group (whether there is the same device as the one for which the update process failed in the representative store). If there is no abnormal device in a store belonging to another group (step ST37: NO), the process ends. If there is an abnormal device in a store belonging to another group (step ST37: YES), proceed to step ST38.
ステップST38では、異常発生機器が存在する他グループの店舗についてソフトウェアの更新処理が施されているか否かが判定される。異常発生機器が存在する他グループの店舗についてソフトウェアの更新処理が施されている場合(ステップST38:YES)は、ステップST39に進んで、当該他グループの全店舗について、ロールバック処理を実行する旨の指示を出した後、処理を終了する。異常発生機器が存在する他グループの店舗についてソフトウェアの更新処理が施されていない場合(ステップST38:NO)は、ステップST40に進んで、当該他グループの店舗に対して、ソフトウェアの更新処理を停止した後、処理を終了する。 In step ST38, it is determined whether software updates have been performed for the stores in the other group where the malfunctioning device is located. If software updates have been performed for the stores in the other group where the malfunctioning device is located (step ST38: YES), proceed to step ST39, issue an instruction to execute rollback processing for all stores in the other group, and then terminate processing. If software updates have not been performed for the stores in the other group where the malfunctioning device is located (step ST38: NO), proceed to step ST40, stop software updates for the stores in the other group, and then terminate processing.
本実施形態のソフトウェアの更新システムは、対象機器に対してソフトウェアの更新処理を施す更新処理部と、前記更新処理部が前記対象機器に対してソフトウェアの更新処理を施す前の状態において、前記対象機器との間の通信状態を示す第1のパラメータを取得する第1の取得部と、前記更新処理部が前記対象機器に対してソフトウェアの更新処理を施した後の状態において、前記対象機器との間の通信状態を示す第2のパラメータを取得する第2の取得部と、前記第1、第2のパラメータに基づいて、前記対象機器に対するソフトウェアの更新処理の成否を判定する判定部と、を有する。 The software update system of this embodiment includes an update processing unit that performs software update processing on a target device; a first acquisition unit that acquires a first parameter indicating the communication status with the target device before the update processing unit performs the software update processing on the target device; a second acquisition unit that acquires a second parameter indicating the communication status with the target device after the update processing unit has performed the software update processing on the target device; and a determination unit that determines the success or failure of the software update processing on the target device based on the first and second parameters.
このように、対象機器に対するソフトウェアの更新処理の前後における通信状態を示す第1、第2のパラメータを取得し、当該第1、第2のパラメータに基づいて(を比較して)、対象機器に対するソフトウェアの更新処理の成否を判定するので、対象機器に対するソフトウェアの更新を好適に行うことができる。 In this way, first and second parameters indicating the communication status before and after the software update process for the target device are obtained, and the success or failure of the software update process for the target device is determined based on (compared to) the first and second parameters, allowing the software update for the target device to be carried out optimally.
前記判定部は、前記第1、第2のパラメータが同一である場合、又は、前記第1、第2のパラメータの一方が他方を基準とした所定範囲内である場合に、前記対象機器に対するソフトウェアの更新処理が成功したと判定し、前記第1、第2のパラメータが異なっている場合、又は、前記第1、第2のパラメータの一方が他方を基準とした所定範囲外である場合に、前記対象機器に対するソフトウェアの更新処理が失敗したと判定する。 The determination unit determines that the software update process for the target device was successful if the first and second parameters are the same, or if one of the first and second parameters is within a predetermined range based on the other, and determines that the software update process for the target device was unsuccessful if the first and second parameters are different, or if one of the first and second parameters is outside a predetermined range based on the other.
これにより、第1、第2のパラメータを利用した対象機器に対するソフトウェアの更新処理の成否の判定精度を向上させることができる。 This improves the accuracy of determining whether the software update process for the target device using the first and second parameters was successful.
本実施形態のソフトウェアの更新システムは、前記対象機器に対するソフトウェアの更新処理が失敗したと前記判定部が判定した場合に、前記対象機器に対してソフトウェアの更新処理を施した後の状態から前記対象機器に対してソフトウェアの更新処理を施す前の状態に戻すロールバック処理部をさらに有する。 The software update system of this embodiment further includes a rollback processing unit that, if the determination unit determines that the software update process for the target device has failed, returns the target device from its state after the software update process was performed to its state before the software update process was performed.
このように、対象機器に対するソフトウェアの更新処理が失敗した場合にロールバック処理を実行することで、更新処理失敗後のソフトウェアを継続使用することによる弊害を除去することができる。 In this way, by performing a rollback process if the software update process for the target device fails, it is possible to eliminate the negative effects of continuing to use the software after the update process has failed.
前記ロールバック処理部は、前記対象機器の重要度が予め定められた複数段階の重要度のうちの所定の重要度以上である場合に、前記ロールバック処理を実行し、前記対象機器の重要度が予め定められた複数段階の重要度のうちの所定の重要度未満である場合に、前記ロールバック処理を実行しない。 The rollback processing unit executes the rollback processing if the importance of the target device is equal to or greater than a predetermined importance level among multiple predetermined importance levels, and does not execute the rollback processing if the importance of the target device is less than the predetermined importance level among multiple predetermined importance levels.
対象機器に対して予め定められた重要度の如何によっては、更新処理失敗後のソフトウェアを継続使用することの弊害のレベルが変わってくる(重要度が高いほど弊害のレベルが高く重要度が低いほど弊害のレベルが低くなる)。そこで、相対的に重要度が高い対象機器に対するソフトウェアの更新処理が失敗した場合には、直ちにロールバック処理を実行する一方、相対的に重要度が低い対象機器に対するソフトウェアの更新処理が失敗した場合には、直ちにロールバック処理を実行するのではなく、更新処理失敗後のソフトウェアを継続使用する。これにより、対象機器の重要度に応じて最適化したソフトウェアの更新処理及びロールバック処理を実行することができる。 The level of harm caused by continuing to use software after an update process has failed varies depending on the predetermined importance of the target device (the higher the importance, the higher the level of harm, and the lower the importance, the lower the level of harm). Therefore, if a software update process for a target device with a relatively high level of importance fails, a rollback process is immediately performed, while if a software update process for a target device with a relatively low level of importance fails, the software after the update process has failed is continued to be used rather than an immediate rollback process. This allows software update processes and rollback processes to be performed that are optimized according to the importance of the target device.
本実施形態のソフトウェアの更新システムは、複数の拠点で対象機器群を束ねるコントローラと、前記複数の拠点のコントローラを束ねる上位システムと、を有し、前記複数の拠点の前記コントローラにおいて、前記対象機器群について、前記第1の取得部が前記第1のパラメータを取得し、前記第2の取得部が前記第2のパラメータを取得し、前記第1、第2のパラメータを前記上位システムに送信し、前記上位システムにおいて、前記判定部が、前記第1、第2のパラメータに基づいて、前記複数の拠点の前記対象機器群に対するソフトウェアの更新処理の成否を判定し、ロールバック制御部が、前記ロールバック処理の実行有無を前記複数の拠点の前記コントローラに指示する。 The software update system of this embodiment includes controllers that manage target device groups at multiple bases and a host system that manages the controllers at the multiple bases. In the controllers at the multiple bases, the first acquisition unit acquires the first parameter for the target device group, the second acquisition unit acquires the second parameter, and the first and second parameters are sent to the host system. In the host system, the determination unit determines the success or failure of the software update process for the target device group at the multiple bases based on the first and second parameters, and a rollback control unit instructs the controllers at the multiple bases whether or not to execute the rollback process.
これにより、例えば、クラウドサービスによるコントローラソフトウェアの更新時に、上位システムによる制御の下で、複数の拠点のコントローラによって対象機器群に対して好適なソフトウェアの更新処理及びロールバック処理を実行することができる。 This means that, for example, when updating controller software via a cloud service, controllers at multiple locations can perform appropriate software update and rollback processes for target devices under the control of a higher-level system.
前記複数の拠点の前記対象機器群は、前記上位システムが保有する所定の機器構成情報に基づいてグループ分けされており、同一のグループ毎に、ある拠点の対象機器群に対するソフトウェアの更新処理が成功したことを確認した後に、別の拠点の対象機器群に対するソフトウェアの更新処理を施す。 The target devices at the multiple locations are grouped based on the specified device configuration information held by the host system, and for each group, after confirming that the software update process for the target devices at one location has been successful, the software update process is performed for the target devices at another location.
同一のグループは同一の機器構成情報を有しているため、同一のグループに属する対象機器群にソフトウェアの更新処理を施した場合、その成否は同じ結果になる確率が高い。そこで、同一のグループに属する複数の拠点の対象機器群に対して同時に(一括して)ソフトウェアの更新処理を施すのではなく、同一のグループのある拠点の対象機器群に対するソフトウェアの更新処理が成功したことを確認した後に、同一のグループの別の拠点の対象機器群に対するソフトウェアの更新処理を施すことで、同一のグループに属する複数の拠点の対象機器群に対して同じソフトウェアの更新処理の失敗が起きること(二次被害による運用停止等)を未然に防止することができる。 Since the same group has the same device configuration information, there is a high probability that when software updates are performed on target devices belonging to the same group, the success or failure will be the same. Therefore, rather than performing software updates simultaneously (all at once) on target devices at multiple locations belonging to the same group, you can confirm that the software update process for target devices at one location in the same group was successful before performing the software update process for target devices at another location in the same group, thereby preventing the same software update process from failing (such as causing operational suspension due to secondary damage) on target devices at multiple locations belonging to the same group.
前記複数の拠点の前記対象機器群は、前記上位システムが保有する所定の機器構成情報に基づいてグループ分けされており、同一のグループ毎に、ある拠点の対象機器群に対するソフトウェアの更新処理が失敗した場合、別の拠点の対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、別の拠点の対象機器群に対するロールバック処理を実行する。 The target devices at the multiple locations are grouped based on the specified device configuration information held by the host system, and for each group, if a software update process for the target devices at one location fails, the software update process for the target devices at another location is canceled, or a rollback process is performed for the target devices at the other location.
同一のグループは同一の機器構成情報を有しているため、同一のグループに属する対象機器群にソフトウェアの更新処理を施した場合、その成否は同じ結果になる確率が高い。そこで、同一のグループに属する複数の拠点の対象機器群に対して同時に(一括して)ソフトウェアの更新処理を施すのではなく、同一のグループのある拠点の対象機器群に対するソフトウェアの更新処理が失敗した場合に、同一のグループの別の拠点の対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、同一のグループの別の拠点の対象機器群に対するロールバック処理を実行することで、同一のグループに属する複数の拠点の対象機器群に対して同じソフトウェアの更新処理の失敗が起きること(二次被害による運用停止等)を未然に防止することができる。 Since the same group has the same device configuration information, there is a high probability that when software updates are performed on target devices belonging to the same group, the success or failure will be the same. Therefore, rather than performing software updates simultaneously (all at once) on target devices at multiple locations belonging to the same group, if a software update fails on target devices at one location in the same group, the software update can be canceled for target devices at another location in the same group, or a rollback can be performed on target devices at another location in the same group, thereby preventing the same software update failure from occurring (such as operational suspension due to secondary damage) on target devices at multiple locations belonging to the same group.
前記複数の拠点の前記対象機器群は、前記上位システムが保有する所定の機器構成情報に基づいてグループ分けされており、いずれかの拠点のグループで、対象機器群に対するソフトウェアの更新処理が失敗した場合、機器構成情報の少なくとも一部が共通する別の拠点のグループの対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、機器構成情報の少なくとも一部が共通する別の拠点のグループに対するロールバック処理を実行する。 The target device groups at the multiple locations are grouped based on specified device configuration information held by the upper system, and if the software update process for the target device group at one of the locations fails, the software update process for the target device group at another location with which at least part of the device configuration information is shared is canceled, or a rollback process is performed for the target device group at another location with which at least part of the device configuration information is shared.
別の拠点のグループであっても、機器構成情報の少なくとも一部が共通するグループ同士であれば、これらのグループに属する対象機器群にソフトウェアの更新処理を施した場合、その成否は同じ結果になる確率が高い。そこで、いずれかの拠点のグループで、対象機器群に対するソフトウェアの更新処理が失敗した場合に、機器構成情報の少なくとも一部が共通する別の拠点のグループの対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、機器構成情報の少なくとも一部が共通する別の拠点のグループに対するロールバック処理を実行することで、機器構成情報の少なくとも一部が共通するグループに属する複数の拠点の対象機器群に対して同じソフトウェアの更新処理の失敗が起きること(二次被害による運用停止等)を未然に防止することができる。 Even if the groups are located at different bases, if the groups share at least some of their device configuration information, there is a high probability that the success or failure of software updates performed on the target devices belonging to these groups will be the same. Therefore, if a software update fails for a target device group at one of the base groups, the software update for the target device group at the other base group with at least some of the device configuration information can be canceled, or a rollback process can be performed for the target device group at the other base group with at least some of the device configuration information. This can prevent the same software update failure (such as operational suspension due to secondary damage) from occurring for target devices at multiple bases that belong to groups with at least some of the device configuration information in common.
本発明は上記の実施の形態及び変形例に限定されるものではなく、技術的思想の趣旨を逸脱しない範囲において様々に変更、置換、変形されてもよい。さらに、技術の進歩又は派生する別技術によって、技術的思想を別の仕方で実現することができれば、その方法を用いて実施されてもよい。したがって、特許請求の範囲は、技術的思想の範囲内に含まれ得る全ての実施態様をカバーしている。 The present invention is not limited to the above-described embodiments and modifications, and may be modified, substituted, or altered in various ways without departing from the spirit of the technical concept. Furthermore, if technological advances or derived technologies allow the technical concept to be realized in a different way, the invention may be implemented using that method. Therefore, the claims cover all embodiments that may fall within the scope of the technical concept.
本発明のソフトウェアの更新システムは、例えば、工場や店舗等の拠点毎に存在する複数の異なる設備の監視、制御を行うクラウド接続されたコントローラを有するクラウドシステムに適用することができる。 The software update system of the present invention can be applied, for example, to a cloud system having a cloud-connected controller that monitors and controls multiple different pieces of equipment located at each base, such as a factory or store.
1 ソフトウェアの更新システム
10 ソフト配信サーバ(上位システム)
11 判定部
12 ロールバック制御部
20A-20I コントローラ
21 稼働データ収集部
22 更新処理部
23 第1の取得部
24 第2の取得部
25 ロールバック処理部
26 判定部
27 ロールバック制御処理部
1 Software update system 10 Software distribution server (host system)
11 Determination unit 12 Rollback control units 20A-20I Controller 21 Operational data collection unit 22 Update processing unit 23 First acquisition unit 24 Second acquisition unit 25 Rollback processing unit 26 Determination unit 27 Rollback control processing unit
Claims (8)
前記更新処理部が前記対象機器に対してソフトウェアの更新処理を施す前の状態において、前記対象機器との間の通信状態を示す第1のパラメータを取得する第1の取得部と、
前記更新処理部が前記対象機器に対してソフトウェアの更新処理を施した後の状態において、前記対象機器との間の通信状態を示す第2のパラメータを取得する第2の取得部と、
前記第1、第2のパラメータに基づいて、前記対象機器に対するソフトウェアの更新処理の成否を判定する判定部と、
を有することを特徴とするソフトウェアの更新システム。 an update processing unit that performs software update processing on the target device;
a first acquisition unit that acquires a first parameter indicating a communication state between the target device and the update processing unit before the update processing unit performs a software update process on the target device;
a second acquisition unit that acquires a second parameter indicating a communication state with the target device in a state after the update processing unit has performed a software update process on the target device;
a determination unit that determines whether the software update process for the target device has been successful based on the first and second parameters;
A software update system comprising:
前記第1、第2のパラメータが同一である場合、又は、前記第1、第2のパラメータの一方が他方を基準とした所定範囲内である場合に、前記対象機器に対するソフトウェアの更新処理が成功したと判定し、
前記第1、第2のパラメータが異なっている場合、又は、前記第1、第2のパラメータの一方が他方を基準とした所定範囲外である場合に、前記対象機器に対するソフトウェアの更新処理が失敗したと判定する、
ことを特徴とする請求項1に記載のソフトウェアの更新システム。 The determination unit
If the first and second parameters are the same, or if one of the first and second parameters is within a predetermined range based on the other, it is determined that the software update process for the target device has been successful;
If the first and second parameters are different, or if one of the first and second parameters is outside a predetermined range based on the other, it is determined that the software update process for the target device has failed.
2. The software update system according to claim 1.
ことを特徴とする請求項1又は請求項2に記載のソフトウェアの更新システム。 a rollback processing unit that, when the determination unit determines that the software update process for the target device has failed, executes a rollback process to return the target device from a state after the software update process has been performed to a state before the software update process for the target device.
3. The software update system according to claim 1 or 2.
前記対象機器の重要度が予め定められた複数段階の重要度のうちの所定の重要度以上である場合に、前記ロールバック処理を実行し、
前記対象機器の重要度が予め定められた複数段階の重要度のうちの所定の重要度未満である場合に、前記ロールバック処理を実行しない、
ことを特徴とする請求項3に記載のソフトウェアの更新システム。 The rollback processing unit
executes the rollback process when the importance of the target device is equal to or greater than a predetermined importance level among a plurality of levels of importance that have been determined in advance;
not executing the rollback process when the importance of the target device is less than a predetermined importance level among a plurality of predetermined importance levels;
4. The software update system according to claim 3.
前記複数の拠点のコントローラを束ねる上位システムと、
を有し、
前記複数の拠点の前記コントローラにおいて、前記対象機器群について、前記第1の取得部が前記第1のパラメータを取得し、前記第2の取得部が前記第2のパラメータを取得し、前記第1、第2のパラメータを前記上位システムに送信し、
前記上位システムにおいて、前記判定部が、前記第1、第2のパラメータに基づいて、前記複数の拠点の前記対象機器群に対するソフトウェアの更新処理の成否を判定し、ロールバック制御部が、前記ロールバック処理の実行有無を前記複数の拠点の前記コントローラに指示する、
ことを特徴とする請求項3又は請求項4に記載のソフトウェアの更新システム。 A controller that bundles target devices at multiple locations,
a host system that bundles together the controllers of the plurality of bases;
and
In the controllers of the plurality of bases, the first acquisition unit acquires the first parameter, the second acquisition unit acquires the second parameter for the target device group, and the first and second parameters are transmitted to the host system;
In the host system, the determination unit determines whether the software update process for the target devices at the plurality of bases has been successful based on the first and second parameters, and a rollback control unit instructs the controllers at the plurality of bases as to whether or not to execute the rollback process.
5. The software update system according to claim 3 or 4.
同一のグループ毎に、ある拠点の対象機器群に対するソフトウェアの更新処理が成功したことを確認した後に、別の拠点の対象機器群に対するソフトウェアの更新処理を施す、
ことを特徴とする請求項5に記載のソフトウェアの更新システム。 the target devices at the plurality of bases are grouped based on predetermined device configuration information held by the upper system,
For each group, after confirming that the software update process for the target devices at one location has been successful, perform the software update process for the target devices at another location.
6. The software update system according to claim 5.
同一のグループ毎に、ある拠点の対象機器群に対するソフトウェアの更新処理が失敗した場合、別の拠点の対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、別の拠点の対象機器群に対するロールバック処理を実行する、
ことを特徴とする請求項5に記載のソフトウェアの更新システム。 the target devices at the plurality of bases are grouped based on predetermined device configuration information held by the upper system,
For each group, if a software update process for a group of target devices at a certain location fails, the software update process for a group of target devices at another location is canceled, or a rollback process is performed for the group of target devices at another location.
6. The software update system according to claim 5.
いずれかの拠点のグループで、対象機器群に対するソフトウェアの更新処理が失敗した場合、機器構成情報の少なくとも一部が共通する別の拠点のグループの対象機器群に対するソフトウェアの更新処理を取り止め、あるいは、機器構成情報の少なくとも一部が共通する別の拠点のグループに対するロールバック処理を実行する、
ことを特徴とする請求項5に記載のソフトウェアの更新システム。 the target devices at the plurality of bases are grouped based on predetermined device configuration information held by the upper system,
If a software update process for a target device group fails in one of the groups at a base, the software update process for the target device group in another group at a base with which at least a part of the device configuration information is common is canceled, or a rollback process is performed for the group at another group at a base with which at least a part of the device configuration information is common.
6. The software update system according to claim 5.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021198617A JP7809967B2 (en) | 2021-12-07 | 2021-12-07 | Software Update System |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021198617A JP7809967B2 (en) | 2021-12-07 | 2021-12-07 | Software Update System |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023084437A JP2023084437A (en) | 2023-06-19 |
| JP7809967B2 true JP7809967B2 (en) | 2026-02-03 |
Family
ID=86771788
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021198617A Active JP7809967B2 (en) | 2021-12-07 | 2021-12-07 | Software Update System |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7809967B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012168733A (en) | 2011-02-14 | 2012-09-06 | Fujitsu Ltd | Update device, update method, and update program |
| US20150113520A1 (en) | 2013-10-18 | 2015-04-23 | Fujitsu Limited | Method for confirming correction program and information processing apparatus |
| JP2020119094A (en) | 2019-01-21 | 2020-08-06 | 株式会社日立製作所 | Software update system, software update method and program |
-
2021
- 2021-12-07 JP JP2021198617A patent/JP7809967B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012168733A (en) | 2011-02-14 | 2012-09-06 | Fujitsu Ltd | Update device, update method, and update program |
| US20150113520A1 (en) | 2013-10-18 | 2015-04-23 | Fujitsu Limited | Method for confirming correction program and information processing apparatus |
| JP2015079440A (en) | 2013-10-18 | 2015-04-23 | 富士通株式会社 | Correction program checking method, correction program checking program, and information processing apparatus |
| JP2020119094A (en) | 2019-01-21 | 2020-08-06 | 株式会社日立製作所 | Software update system, software update method and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023084437A (en) | 2023-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3937230B2 (en) | Process data collection device | |
| AU645174B2 (en) | Centralized supervisory system for transmission network elements and method of supervising transmission network elements | |
| KR102914569B1 (en) | Hybrid Lease for First Selection | |
| JP2001527232A (en) | System and method for synchronizing redundant controllers with minimal disruption of control | |
| US20130205162A1 (en) | Redundant computer control method and device | |
| CN113467953A (en) | Service state switching method and device, server and storage medium | |
| CN114509981A (en) | Controller hardware redundancy control method and system | |
| JP7809967B2 (en) | Software Update System | |
| GB2418040A (en) | Monitoring a high availability cluster using a smart card | |
| CN117421158A (en) | Database fault processing method, system and storage medium | |
| CN111897626A (en) | Cloud computing scene-oriented virtual machine high-reliability system and implementation method | |
| JP2007156679A (en) | Server failure recovery method and database system | |
| US7516181B1 (en) | Technique for project partitioning in a cluster of servers | |
| CN119576690B (en) | A data center cluster monitoring method, device and system | |
| KR101520405B1 (en) | Middleware module based distributive automation system that performing monitoring and controling regardless of dbms stop and data processing method using the same | |
| JP4974365B2 (en) | Distributed monitoring and control system | |
| CN115473802B (en) | Node management method, system, equipment and storage medium | |
| US8499130B2 (en) | Information processing apparatus, information processing method, and recording medium that records history information control program | |
| JPH0683657A (en) | Service processor switching system | |
| US20120089716A1 (en) | Method for accelerating start up of a computerized system | |
| JP4034201B2 (en) | Computer resource utilization method and computer resource utilization method | |
| CN113176969A (en) | Service providing method, device, equipment and computer readable storage medium | |
| JP2001216166A (en) | Information processing apparatus maintenance management method, information processing apparatus, software creation method, and software | |
| JP7806560B2 (en) | Boiler equipment | |
| JP5576096B2 (en) | Multi-CPU configuration apparatus and monitoring control method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20231019 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241114 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250909 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251104 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251112 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20251223 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260105 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7809967 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |