JP2020119094A - Software update system, software update method and program - Google Patents
Software update system, software update method and program Download PDFInfo
- Publication number
- JP2020119094A JP2020119094A JP2019007939A JP2019007939A JP2020119094A JP 2020119094 A JP2020119094 A JP 2020119094A JP 2019007939 A JP2019007939 A JP 2019007939A JP 2019007939 A JP2019007939 A JP 2019007939A JP 2020119094 A JP2020119094 A JP 2020119094A
- Authority
- JP
- Japan
- Prior art keywords
- update
- computer
- software
- data
- storage unit
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、ソフトウェア更新システム、ソフトウェア更新方法およびプログラムに関する。 The present invention relates to a software updating system, a software updating method and a program.
従来、ダム、上下水道、鉄道などの社会インフラ用の設備や拠点に設置された計算機のソフトウェアの更新作業は、夜間などのシステムが稼働していない間や、限られたメンテナンス時間内に、作業員が出向いて計算機を直接操作して行うのが一般的であった。このような施設や設備に設置された計算機の場合は、規定時間内に新たなソフトウェアのインストール作業を終了させる必要がある。 Conventionally, software update work for computers installed in facilities and bases for social infrastructure such as dams, water and sewage systems, and railways is performed during nighttime or other times when the system is not operating, or within a limited maintenance time. It was common for employees to go out and operate the computer directly. In the case of a computer installed in such a facility or equipment, it is necessary to finish the installation work of new software within the specified time.
しかしながら、インストール対象の計算機が遠隔地に多数設置されている場合、遠隔地への移動時間が必要であり、また多数の計算機に対する作業時間が必要となるため、規定時間内での作業完了が困難な場合がある。また、更新後のソフトウェアの不具合などにより、計算機が起動不可となった場合においても、計算機の稼動開始までの限られた時間内に復旧する必要がある。 However, if a large number of computers to be installed are installed in remote areas, it will take time to move to the remote areas and work time will be required for multiple computers, making it difficult to complete the work within the specified time. There is a case. In addition, even if the computer cannot be started due to a defect in the updated software, it is necessary to recover within a limited time before the computer starts operating.
このような作業員が直接出向いて更新作業を行うことによる問題を解決するために、ネットワーク上に更新状態管理用のサーバを設置して、そのサーバからの遠隔制御で各地の計算機のソフトウェアの更新を行うことが提案されている。
例えば、特許文献1には、インストール状態を管理する装置(更新状態管理用サーバ)にネットワークで接続された計算機(PLC)に対するファームウェアのアップデート方法と、ファームウェア更新前のバックアップおよび更新失敗時の復元を行う技術の一例が記載されている。
In order to solve the problem caused by such workers going directly to perform update work, a server for update status management is installed on the network, and software of computers in various regions is updated by remote control from that server. Is proposed to do.
For example, in
特許文献1に記載されるように、更新状態管理用のサーバを用意することで、更新状態管理用のサーバから更新データを各計算機に配信して、リモート操作によりインストールすることが可能になる。
As described in
しかしながら、更新状態管理用のサーバを用意すると、それだけシステム構成が複雑化するという問題がある。特に、それぞれの計算機におけるソフトウェアの更新作業は、規定されたメンテナンス時間内に完了させる必要があり、万一、更新に失敗した際には、メンテナンス時間内に、更新前の状態に復元することが必要となる。したがって、更新状態管理用のサーバは、対象計算機の更新作業の進行状態の監視を行って、更新失敗時に元の状態に復元する作業の指示を行う必要がある。このため、更新状態管理用のサーバには、更新用のデータの配信以外の様々な機能が要求され、単なるデータ配信用のサーバでは対応が困難である。 However, if a server for managing the update status is prepared, the system configuration becomes complicated accordingly. In particular, it is necessary to complete the software update work on each computer within the specified maintenance time, and in the unlikely event that the update fails, it is possible to restore the state before the update within the maintenance time. Will be required. Therefore, the server for update state management needs to monitor the progress of the update work of the target computer and give an instruction for the work to restore the original state when the update fails. Therefore, the update status management server is required to have various functions other than the distribution of update data, and it is difficult for a simple data distribution server to deal with such functions.
本発明の目的は、更新状態を管理するサーバを設けないで、ネットワークで接続された複数の計算機のソフトウェアの更新と、その更新失敗時の復旧を、遠隔制御で確実に行うことができるソフトウェア更新システム、ソフトウェア更新方法およびプログラムを提供することにある。 An object of the present invention is to provide software update capable of reliably performing software update of a plurality of computers connected via a network and recovery when the update fails by remote control without providing a server for managing the update state. It is to provide a system, a software update method, and a program.
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、ネットワークで接続された複数の更新対象計算機と、複数の更新対象計算機に対してソフトウェアの更新データを配信する配信元計算機とを備えるソフトウェア更新システムに適用される。
そして、更新対象計算機は、この計算機で実行されるソフトウェアのデータを記憶するソフトウェア記憶部と、配信元計算機から配信された更新データを記憶する更新データ記憶部と、ソフトウェア記憶部が記憶したソフトウェアのデータをバックアップ用に記憶するバックアップデータ記憶部と、配信元計算機または他の更新対象計算機からのインストール指示の受信で、ソフトウェア記憶部に記憶されたソフトウェアのデータをバックアップデータ記憶部にバックアップした後、更新データ記憶部に記憶された更新データによるソフトウェア記憶部に記憶されたソフトウェアのデータの更新処理を実行し、更新処理の完了後に、複数の更新対象計算機の内のソフトウェアが未更新の少なくとも1台のインストール指示に、更新起動指令を送信するリモートインストーラと、を備える。
In order to solve the above problems, for example, the configurations described in the claims are adopted.
The present application includes a plurality of means for solving the above problems. As an example of the means, a plurality of update target computers connected by a network and software update data are distributed to the plurality of update target computers. It is applied to a software update system including a distribution source computer.
The computer to be updated has a software storage unit that stores data of software executed by the computer, an update data storage unit that stores update data distributed from the distribution source computer, and a software storage unit that stores the software stored in the software storage unit. After backing up the software data stored in the software storage unit to the backup data storage unit by receiving a backup data storage unit that stores data for backup and an installation instruction from the distribution source computer or another update target computer, After updating the software data stored in the software storage unit using the update data stored in the update data storage unit, and after completing the update process, at least one of the computers in the multiple update target computers that has not yet been updated And a remote installer that sends an update start command to the installation instruction of.
本発明によれば、システム内の少なくとも1台の計算機におけるソフトウェアの更新が開始された後、システム内の他の計算機で次々に更新が実行され、最初に配信元計算機が指令を送るだけで、全ての更新対象計算機のソフトウェアが自動的に更新される。さらに、更新後に計算機が起動不可となった場合に、計算機をバックアップデータに基づいて自動的に更新前の状態に復元することができ、更新失敗時のリスクを低減することができる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
According to the present invention, after the software update in at least one computer in the system is started, the update is sequentially executed in the other computers in the system, and the distribution source computer first sends a command, The software of all update target computers is automatically updated. Further, when the computer becomes unbootable after the update, the computer can be automatically restored to the state before the update based on the backup data, and the risk at the time of the update failure can be reduced.
Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.
以下、本発明の一実施の形態例(以下、「本例」と称する)について、添付図面を参照して詳細に説明する。 Hereinafter, an embodiment of the present invention (hereinafter, referred to as “this example”) will be described in detail with reference to the accompanying drawings.
[1.計算機とシステムの構成]
図1は、本例のソフトウェア更新システムが備える計算機の構成を示す。
本例のソフトウェア更新システムは、複数(N台)の計算機20(1)〜20(N)を備える。Nは2以上の自然数(整数)である。それぞれの計算機20(1)〜20(N)が実行するソフトウェアを更新する際には、配信元計算機10からそれぞれの計算機20(1)〜20(N)に更新データが転送される。ここで、更新を行うソフトウェアには、計算機20(1)〜20(N)を作動させるためのOS(operating system)や、OSが起動した環境下で作動するミドルウェアが含まれる。以下の説明では、OSまたはミドルウェアを更新する例について説明する。
[1. Computer and system configuration]
FIG. 1 shows the configuration of a computer included in the software updating system of this example.
The software updating system of this example includes a plurality (N) of computers 20(1) to 20(N). N is a natural number (integer) of 2 or more. When updating the software executed by each of the computers 20(1) to 20(N), the update data is transferred from the
まず、各計算機20(1)〜20(N)の構成を説明する前に、システム全体の構成について、図2を参照して説明する。
図2は、計算機20(1)〜20(N)を備えるシステム全体の構成例を示す。
それぞれの計算機20(1)〜20(N)は、それぞれ別の拠点30(1)〜30(N)に設置され、各拠点30(1)〜30(N)に設けられた被制御装置(不図示)の動作を制御すると共に、被制御装置の動作状況を監視する。各拠点30(1)〜30(N)としては、例えばダム、上下水道用の設備、鉄道用の施設などのインフラ設備が考えられる。これらのインフラ設備が設けられる各拠点30(1)〜30(N)は、配信元計算機10から遠隔地に設置される場合が多くなる。
First, before describing the configuration of each of the computers 20(1) to 20(N), the configuration of the entire system will be described with reference to FIG.
FIG. 2 shows a configuration example of the entire system including the computers 20(1) to 20(N).
The respective computers 20(1) to 20(N) are installed in different bases 30(1) to 30(N), respectively, and controlled devices provided in the respective bases 30(1) to 30(N) ( (Not shown) operation is controlled, and the operation status of the controlled device is monitored. As the bases 30(1) to 30(N), infrastructure facilities such as dams, water and sewer facilities, and railway facilities can be considered. The bases 30(1) to 30(N) where these infrastructure facilities are installed are often installed at remote locations from the
したがって、各計算機20(1)〜20(N)は、ネットワーク40を介して配信元計算機10に接続される。配信元計算機10は、各計算機20(1)〜20(N)に対して、ソフトウェアの更新データを配信する。
Therefore, each of the computers 20(1) to 20(N) is connected to the
次に、図1を参照して、配信元計算機10から各計算機20(1)〜20(N)に対して、ソフトウェアの更新データを配信して、各計算機20(1)〜20(N)でソフトウェアの更新処理を行うための構成について説明する。
Next, referring to FIG. 1, the
図1に示すように、配信元計算機100には、リモートインストーラ101が格納されており、配信元計算機100は、ネットワーク40(図2)を介して、OS/ミドルウェア更新対象の計算機20(1)〜20(N)と接続されている。計算機20(1)〜20(N)へのインストールを実施する場合には、作業員がOS/ミドルウェアの更新データを、OS/ミドルウェア更新データ記憶部102に格納する。
なお、配信元計算機100自身が、OS/ミドルウェアの更新対象の計算機に含まれる場合もある。つまり、更新対象計算機20(1)〜20(N)の何れかの1台を、配信元計算機10としてもよい。
As shown in FIG. 1, the distribution source computer 100 stores a
The distribution source computer 100 itself may be included in the OS/middleware update target computers. That is, any one of the update target computers 20(1) to 20(N) may be the
計算機20(1)〜20(N)の構成は同じであり、以下の説明では、1台の計算機20(1)の構成を代表して説明する。
計算機20(1)は、ブートローダ201、通常起動用RAMディスク202、OS/ミドルウェア記憶部(ソフトウェア記憶部)203を備える。OS/ミドルウェア記憶部203には、OSおよびミドルウェアが格納されている。
さらに、計算機20(1)は、ソフトウェアのリモートインストール用として、インストール用RAMディスク204およびリモートインストーラ205を備える。なお、複数の計算機20(1)〜20(N)に格納されるOS/ミドルウェアのバージョンは異なっていてもよい。
The computers 20(1) to 20(N) have the same configuration, and in the following description, the configuration of one computer 20(1) will be described as a representative.
The computer 20(1) includes a
Further, the computer 20(1) includes an
計算機20(1)〜(N)に対してOS/ミドルウェアの更新を行う場合は、配信元計算機100のリモートインストーラ101を起動する。リモートインストーラ101は、計算機20(1)〜20(N)のOS/ミドルウェア記憶部203に格納されたバージョンをチェックする。
そして、リモートインストーラ101は、配信元計算機100のOS/ミドルウェア更新データ記憶部102に格納されたOS/ミドルウェアの更新データよりも古いバージョンのOS/ミドルウェアがインストールされている計算機を検索する。つまり、更新データよりも古いバージョンのOS/ミドルウェアがインストールされている計算機が、更新対象計算機になる。
When updating the OS/middleware for the computers 20(1) to (N), the
Then, the
ここでは、計算機20(1)のOS/ミドルウェア記憶部203に記憶されているOS/ミドルウェアを更新する場合を説明する。
配信元計算機100のリモートインストーラ101は、OS/ミドルウェア更新データ記憶部102に格納された更新データを、計算機20(1)に転送する。計算機20(1)では、転送された更新データは、更新データ記憶処理でOS/ミドルウェア更新データ記憶部206に格納される。なお、この更新データの転送は、事前に行ってもよい。事前に更新データを転送する場合の例は後述する(図11)。
そして、配信元計算機100のリモートインストーラ101は、計算機20(1)のリモートインストーラ205にインストール指示を送り、リモートインストーラ205を起動する。
Here, a case where the OS/middleware stored in the OS/
The
Then, the
インストール指示を受信した計算機20(1)のリモートインストーラ205は、インストーラ動作モード設定部207に「インストール用RAMディスク起動」の情報を設定し、計算機20(1)を再起動する。なお、インストーラ動作モード設定部207に設定されるインストーラ動作モードデータの構成は、図4で後述する。
Upon receiving the installation instruction, the
計算機20(1)の再起動時には、ブートローダ201が動作し、インストーラ動作モード設定部207に設定されたインストーラ動作モードデータを読み込む。ここで、インストーラ動作モード設定部207は、「インストール用RAMディスク起動」の設定内容に従って、インストール用RAMディスク204を起動する。
When the computer 20(1) is restarted, the
インストール用RAMディスク204が起動すると、リモートインストーラ205が起動する。リモートインストーラ205は、計算機20(1)のOS/ミドルウェア記憶部203に格納されたOS/ミドルウェアを、OS/ミドルウェアバックアップデータ記憶部208にバックアップデータとして格納するバックアップ記憶処理を行う。
OS/ミドルウェアバックアップデータ記憶部208へのバックアップが完了すると、リモートインストーラ205は、OS/ミドルウェア更新データ記憶部206に記憶された更新データを使用して、OS/ミドルウェア記憶部203に格納されたOS/ミドルウェアを更新する。そして、この更新処理後に、リモートインストーラ205は、インストーラ動作モード設定部207が設定するインストーラ動作モードデータに、「通常起動用RAMディスク起動」の情報を設定し、計算機20(1)を再起動する。
When the
When the backup to the OS/middleware backup
計算機20(1)の再起動時には、ブートローダ201が動作し、インストーラ動作モード設定部207のデータを読み込み、「通常起動用RAMディスク起動」の設定内容に従って、通常起動用RAMディスク202を起動する。この際、ウォッチドッグタイマ(WDT)209により、OS/ミドルウェア記憶部203に格納されたOS/ミドルウェアが規定時間内に起動するかどうかのチェックを行う。ここでの規定時間は、例えば通常時にOSまたはミドルウェアの起動に要する時間に、ある程度の余裕時間を加えた時間とする。
When the computer 20(1) is restarted, the
規定時間内にOS/ミドルウェア記憶部203に格納された更新後のOS/ミドルウェアが起動した場合には、リモートインストーラ205が自動的に起動される。このリモートインストーラ205の起動で、OS/ミドルウェア更新データ記憶部206に格納された更新データよりも古いバージョンのOS/ミドルウェアがインストールされた計算機が、他の計算機20(2)〜20(N)から検索される。そして、計算機20(1)のリモートインストーラ205は、検索された1台の該当する計算機(例えば計算機20(2))に対して、インストール指示を送る。
When the updated OS/middleware stored in the OS/
また、リモートインストーラ205は、OS/ミドルウェアが規定時間内に起動しなかった場合には、計算機20(1)を再起動する。この再起動時には、リモートインストーラ205は、インストール用RAMディスク204を使用して、OS/ミドルウェアバックアップデータ記憶部208に格納されたバックアップデータを使った、OS/ミドルウェアの復元を行う。
Further, the
[2.計算機のハードウェア構成]
ここで、図1に示す配信元計算機10や更新対象計算機(計算機20(1)〜20(N))のハードウェア構成の例について説明する。
図3は、配信元計算機10や更新対象計算機(計算機20(1)〜20(N))として使用されるコンピュータの構成例を示す。
図3に示すコンピュータ(計算機10,20)は、バス18にそれぞれ接続されたCPU(Central Processing Unit:中央処理装置)11、ROM(Read Only Memory)12、およびRAM(Random Access Memory)13を備える。さらに、コンピュータは、不揮発性ストレージ14、ネットワークインタフェース15、入力装置16、および表示装置17を備える。
[2. Computer hardware configuration]
Here, an example of the hardware configuration of the
FIG. 3 shows a configuration example of a computer used as the
The computer (
CPU11は、配信元計算機10や計算機20(1)〜20(N)が行う機能を実現するソフトウェアのプログラムコードをROM12から読み出して実行する演算処理部である。
RAM13には、演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。
不揮発性ストレージ14としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの大容量情報記憶媒体が用いられる。不揮発性ストレージ14には、制御処理を行うプログラムや各種データが格納される。
なお、図1に示す配信元計算機10や更新対象の計算機20(1)が備える各記憶部は、ROM12、RAM13、不揮発性ストレージ14のいずれかを使用して実現される。
The CPU 11 is an arithmetic processing unit that reads out the program code of software that implements the functions performed by the
Variables, parameters, etc. generated during the arithmetic processing are temporarily written in the
As the
Each storage unit included in the
ネットワークインタフェース15には、例えば、NIC(Network Interface Card)などが用いられる。ネットワークインタフェース15は、LAN(Local Area Network)、専用線などを介して外部と各種情報の送受信を行う。本例の場合、ネットワーク40を介した通信が、ネットワークインタフェース15を使用して行われる。
For the
入力装置16には、例えば、キーボード、マウスなどが用いられ、作業者が入力装置16を用いて入力操作を行う。
表示装置17は、例えば、液晶ディスプレイモニタであり、この表示装置17によりコンピュータで実行される制御などの結果が表示される。
As the
The
なお、計算機10,20を図3に示すような構成のコンピュータとするのは一例であり、その他の演算処理機能を備えた装置で構成してもよい。例えば、計算機20(1)〜20(N)は、入力装置16や表示装置17を備えない計算機としてもよい。また、計算機10や計算機20(1)〜20(N)が行う機能の一部または全部を、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等のハードウェアによって実現してもよい。
It should be noted that the
[3.インストーラ動作モード設定部のデータ例]
図4は、インストーラ動作モード設定部207に設定されるデータの構成例を示す。
インストーラ動作モードのデータとして、起動対象RAMディスクの項目M100と、動作指定の項目M110との2つのフィールドを有する。
[3. Data example of installer operation mode setting part]
FIG. 4 shows a configuration example of data set in the installer operation
As data of the installer operation mode, there are two fields of an item M100 of a boot target RAM disk and an item M110 of operation designation.
起動対象RAMディスクの項目M100は、ブートローダ201が起動するRAMディスクを指定する。起動対象RAMディスクの項目M100として、通常起動M101が指定された場合は、通常起動用RAMディスク202を起動する。また、起動対象RAMディスクの項目M100として、インストールM102が指定された場合は、インストール用RAMディスク204を起動する。
The boot target RAM disk item M100 specifies a RAM disk to be booted by the
動作指定の項目M110は、通常起動用RAMディスク202またはインストール用RAMディスク204を起動する際の具体的な動作内容を設定する。
例えば、動作指定の項目M110に「なし」の項目M111が指定された場合は、インストール、復元、ウォッチドッグタイマによる監視等の動作は行わずに、OS/ミドルウェア記憶部203に格納されたOS/ミドルウェアを起動する。
The operation specification item M110 sets specific operation contents when the normal
For example, when the item M111 of "none" is specified in the item M110 of operation specification, the OS/
また、動作指定の項目M110に「WDT起動」の項目M112が指定された場合は、次に計算機を起動するときにウォッチドッグタイマ209による監視を実施する。
動作指定の項目M110に「他計算機検索」の項目M113が指定された場合は、リモートインストーラ205を起動し、OS/ミドルウェアの更新が必要である、他の更新対象計算機を検索する。この検索処理の詳細については、図5で後述する。
When the item M112 of "WDT startup" is specified in the item M110 of operation specification, the
When the item M113 of "search for another computer" is specified in the item M110 of operation designation, the
また、動作指定の項目M110に「バージョンX:復元済み」の項目M114が指定された場合は、この計算機が一度OS/ミドルウェアの復元を実施済みであることを示す。バージョンXの「X」の欄には、更新に失敗したOS/ミドルウェアのバージョンが記録されており、このデータが記録されている計算機は、同一バージョンのOS/ミドルウェアは更新不要と判定される。 Further, when the item M114 of "version X: restored" is specified in the item M110 of operation designation, this indicates that the OS/middleware has been restored once by this computer. The version of the OS/middleware that failed to be updated is recorded in the “X” column of the version X, and the computer on which this data is recorded determines that the OS/middleware of the same version does not need to be updated.
動作指定の項目M110に「インストール」の項目M115が指定された場合は、リモートインストーラ205を起動し、OS/ミドルウェア更新データ記憶部206に格納された更新データを使用して、OS/ミドルウェア記憶部203が格納したOS/ミドルウェアのデータを更新する。
動作指定の項目M110に「復元」の項目M116が指定された場合には、リモートインストーラ205を起動し、バックアップデータ記憶部208に格納されたバックアップデータにより、OS/ミドルウェア記憶部203に格納されたOS/ミドルウェアを更新して、インストール前の状態に復元する。
When the item M115 of "installation" is designated in the item M110 of operation designation, the
When the “restore” item M116 is specified in the operation specification item M110, the
[3.リモートインストール対象の検索処理]
図5は、配信元計算機10のリモートインストーラ101における、インストール対象の計算機の検索処理の例を示すフローチャートである。
配信元計算機10のリモートインストーラ101は、ネットワーク40で接続された全ての計算機20(1)〜20(N)に対してOS/ミドルウェアのバージョンをチェックし、更新が必要と判断した計算機に対して、OS/ミドルウェアの更新処理を実施する。図5のフローチャートでは、処理対象の制御機器を、計算機(M)と記載する。計算機(M)は、計算機20(1)〜20(N)のいずれかである。
[3. Search process for remote installation target]
FIG. 5 is a flowchart showing an example of a search process for a computer to be installed in the
The
ここでは、1台の計算機に対して更新処理を実施後、処理を終了するが、この更新対象範囲を、複数台の計算機とすることも可能である。すなわち、図5のフローチャートの開始時に、更新対象範囲指定パラメータを受信したとき(ステップS10)、その更新対象範囲指定パラメータで指定された範囲の複数台の計算機から探索処理を行う。
更新対象範囲指定パラメータでの範囲の指定は、例えば図3に示す入力装置16を使って、更新作業を指示する作業員による入力作業で行う。
Here, the processing is terminated after the update processing is performed on one computer, but the update target range can be set to a plurality of computers. That is, when the update target range designation parameter is received at the start of the flowchart of FIG. 5 (step S10), the search process is performed from a plurality of computers in the range designated by the update target range designation parameter.
The range is designated by the update target range designation parameter, for example, by using the
なお、図5のフローチャートに示す処理では、配信元計算機10のリモートインストーラ101がインストール対象の計算機の探索処理を行う場合を示すが、各計算機20(1)〜20(N)がインストール対象の計算機の探索処理を行う場合も同様である。
Note that the process shown in the flowchart of FIG. 5 shows a case where the
以下、図5のフローチャートに従って、配信元計算機10のリモートインストーラ101における、インストール対象の計算機の検索処理手順について説明する。
まず、リモートインストーラ101は、配信元計算機100のOS/ミドルウェア更新データ記憶部102に格納されているOS/ミドルウェアのバージョンを取得する(ステップS11)。続いて、リモートインストーラ101は、計算機(M)で動作中のOS/ミドルウェア303のバージョンを取得する(ステップS12)。
Hereinafter, the search processing procedure of the installation target computer in the
First, the
次に、リモートインストーラ101は、ステップS11で取得したバージョンと、ステップS12で取得したバージョンを比較する(ステップS13)。この比較で、計算機(M)にインストールされているOS/ミドルウェアのバージョンが古い場合には(ステップS13のYes)、リモートインストーラ101は、計算機(M)のOS/ミドルウェアが復元済みか否かを判断する(ステップS14)。
また、ステップS13で、バージョンが同一または新しい場合、もしくはインストール対象外のOSである場合には(ステップS13のNo)、リモートインストーラ101は、以下に説明するステップS14〜S17の処理をスキップする。
Next, the
If the version is the same or newer in step S13, or if the OS is not an installation target (No in step S13), the
そして、ステップS14では、リモートインストーラ101は、計算機(M)のOS/ミドルウェアが復元済みか否かを判断する。ここでは、計算機(M)のインストーラ動作モード設定部207の動作指定M110のデータが、バージョンX:復元済みM114(図4)であり、バージョンXに記録されたバージョンと、ステップS11で取得したバージョンが同一のとき、この計算機が復元済みと判断する(ステップS14のYes)。このステップS14の判断で、計算機が復元済みと判断したとき、リモートインストーラ101は、ステップS15〜S17の処理をスキップする。
Then, in step S14, the
一方、ステップS14で、計算機が復元済みでないと判断したとき(ステップS14のNo)、リモートインストーラ101は、OS/ミドルウェア更新データ記憶部102に格納された更新データを、インストール対象の計算機(M)に転送する(ステップS15)。インストール対象の計算機(M)側は、転送された更新データを、OS/ミドルウェア更新データ記憶部306に格納する。
なお、各計算機20(1)〜20(N)がインストール対象の計算機の探索処理を行う場合には、ステップS15での更新データの転送は、配信元計算機10が行う。あるいは、探索処理を行った計算機が、その計算機のOS/ミドルウェア更新データ記憶部102に格納された更新データを、探索処理で見つかった他の計算機に転送する。
On the other hand, when it is determined in step S14 that the computer has not been restored (No in step S14), the
When each of the computers 20(1) to 20(N) performs the search process for the computer to be installed, the
次に、リモートインストーラ101は、起動対象RAMディスクM100のインストールM102の動作指定M110の項目に、インストールM115を設定する(ステップS16)。この設定は、計算機(M)のインストーラ動作モード設定部207で行われる。
そして、リモートインストーラ101は、インストールM115として設定した条件で、計算機(M)のリモートインストーラ205を起動する(ステップS17)。以降、計算機(M)は、自身のリモートインストーラ205の処理に従って動作し、配信元計算機100のリモートインストーラ101の制御下からは外れる。
起動したリモートインストーラ205は、リモートインストーラ101から指示された日時に更新処理を実行する。
Next, the
Then, the
The activated
その後、配信元計算機100のリモートインストーラ101は、処理完了の条件を満たすか否かを判断する(ステップS18)。ここでは、下記の条件1、条件2、条件3の何れかの条件に一致する場合は、処理を完了する。
(条件1)計算機20(1〜N)のうち一つの計算機(M)に対するインストールの指示が終了した。
(条件2)インストール範囲指定パラメータで指定された範囲の計算機に対するインストールの指示が終了した。
(条件3)計算機20(1〜N)全てのチェックが完了した。
ここで、条件1、条件2、条件3の何れかの条件に一致する場合(ステップS18のYes)、リモートインストーラ101は処理を終了する。また、条件1、条件2、条件3のいずれにも一致しない場合(ステップS18のNo)、別の計算機(M+1)に対して、ステップS11から処理を行う。
Then, the
(Condition 1) The installation instruction to one computer (M) of the computers 20 (1 to N) is completed.
(Condition 2) The installation instruction to the computers in the range specified by the installation range specification parameter is completed.
(Condition 3) All the checks of the computer 20 (1 to N) are completed.
Here, when any one of the
[4.計算機内でのインストール処理]
図6は、計算機20(1)〜20(N)に配置されたれたリモートインストーラ205によるインストール処理動作の流れのフローチャートである。
まず、リモートインストーラ205は、インストーラ動作モード設定部207に設定されたデータを読み込み、内容を判断する(ステップS21)。
[4. Installation process in the computer]
FIG. 6 is a flowchart of the flow of the installation processing operation by the
First, the
ここで、リモートインストーラ205は、判断した動作指定M110がインストールM115である場合は、リモートインストーラ205は、ステップS22に移行して、インストール処理を行う。また、判断した動作指定M110が復元M116である場合は、リモートインストーラ205は、ステップS26に移行して、復元処理を行う。さらに、判断した動作指定M110が他計算機検索M113である場合は、リモートインストーラ205は、ステップS28に移行して、インストール対象計算機の検索を実施する。
Here, if the determined operation designation M110 is the installation M115, the
ステップS21でインストール処理と判断したとき、リモートインストーラ205は、OS/ミドルウェア記憶部203に格納されたOS/ミドルウェアのパーティションを、イメージファイルとしてバックアップする(ステップS22)。バックアップ処理の詳細は、図7で後述する。
その後、リモートインストーラ205は、OS/ミドルウェア更新データ記憶部206に格納された更新データを読み込み、OS/ミドルウェア記憶部203のデータを更新する(ステップS23)。
When it is determined that the installation process is performed in step S21, the
After that, the
次に、リモートインストーラ205は、インストーラ動作モード設定部207の起動対象RAMディスクM100を通常起動M101に設定し、動作指定M110としてWDT起動M112に設定する(ステップS24)。この設定により、計算機の再起動後は更新後のOS/ミドルウェア記憶部203に格納されたOS/ミドルウェアで起動し、制限時間内に起動完了するかどうかを、ウォッチドッグタイマ209で監視する動作が行われる。ウォッチドッグタイマ209による監視動作は後述する(図9)。
そして、リモートインストーラ205は、インストールが終了した計算機を再起動する(ステップS25)。
Next, the
Then, the
ステップS21で復元処理と判断したとき、リモートインストーラ205は、バックアップデータ記憶部208に格納されたデータを使用して、OS/ミドルウェア記憶部203が格納したOS/ミドルウェアを、インストール前の状態に復元する(ステップS26)。
その後、リモートインストーラ205は、インストーラ動作モード設定部207の起動対象RAMディスクM100の項目を通常起動M101に設定し、動作指定M110をバージョンX:復元済みM114に設定する(ステップS27)。ここで、バージョンXには、OS/ミドルウェア更新データ記憶部206に記憶された更新データのバージョンが設定される。この設定により、計算機の再起動後はバックアップデータ復元後のOS/ミドルウェア303で通常起動すると共に、この計算機はバージョンXと同一バージョンのOS/ミドルウェアの更新対象にはならない。ステップS27の設定完了後、復元処理が終了した計算機が再起動される(ステップS25)。
When it is determined in step S21 that the restoration process is performed, the
After that, the
ステップS21で他計算機検索と判断したとき、リモートインストーラ205は、インストーラ動作モード設定部207の動作指定M110を、「なしM111」に設定する(ステップS28)。そして、リモートインストーラ205は、リモートインストール対象検索処理を実施する(ステップS29)。
When it is determined in step S21 that another computer is searched, the
[5.バックアップ動作および復元動作]
図7は、OS/ミドルウェアのバックアップ/復元動作を説明する図である。
この例では、OS/ミドルウェアのデータが格納されたディスク(記憶媒体)400を用意する。そして、ディスク400のOS/ミドルウェアが格納されたパーティション401のデータを、別のディスク(記憶媒体)410内にバックアップファイル411として保存する。
[5. Backup and restore operations]
FIG. 7 is a diagram for explaining the OS/middleware backup/restore operation.
In this example, a disk (storage medium) 400 storing OS/middleware data is prepared. Then, the data of the
このときのバックアップ動作A1では、OS/ミドルウェアが格納されたパーティション先頭から終端までのデータが読み込まれ、1つのイメージファイルとして出力される。また、復元動作A2では、バックアップファイル411を、OS/ミドルウェアが格納されたパーティション401の先頭から終端まで上書きする。
バックアップファイル411は、OS/ミドルウェアが格納されたディスク400とは別のディスク410に格納することで冗長性を確保するために用いられる。
In the backup operation A1 at this time, the data from the beginning to the end of the partition in which the OS/middleware is stored is read and output as one image file. In the restore operation A2, the
The
なお、図7に示すように、OS/ミドルウェアが格納されたディスク400の、パーティション内にバックアップファイル402を作成することで、1つのディスク(記憶媒体)のみで、バックアップを行うようにしてもよい。
As shown in FIG. 7, a
[6.計算機起動時の処理]
図8は、計算機20(1)〜20(N)を起動したときの動作を示すフローチャートである。
まず、起動時には、計算機は、インストーラ動作モード設定部207の起動対象RAMディスクM100の指定を判断する(ステップS31)。ここで、起動対象RAMディスクM100の指定がインストールM102である場合は、インストール用RAMディスク204を起動後、計算機は、リモートインストーラ205を起動する(ステップS42)。リモートインストーラ205を起動した後の処理は、図6のフローチャートで既に説明した処理である。
[6. Processing at computer startup]
FIG. 8 is a flowchart showing the operation when the computers 20(1) to 20(N) are started.
First, at the time of booting, the computer determines the designation of the boot target RAM disk M100 of the installer operation mode setting unit 207 (step S31). Here, when the designation of the boot target RAM disk M100 is installation M102, the computer boots the
また、ステップS31で、起動対象RAMディスクM100の指定が通常起動M101である場合は、計算機は、インストーラ動作モード設定部207の動作指定内容を判断する(ステップS32)。
ここで、インストーラ動作モード設定部207の動作指定M110がWDT起動M112の場合、インストーラ動作モード設定部207の起動対象RAMディスクM100をインストールM102とし、動作指定M110を復元M116に設定する(ステップS33)。そして、ウォッチドッグタイマ(WDT)209を起動する(ステップS34)。そして、通常起動用RAMディスク202を起動する(ステップS35)。
Further, in step S31, when the designation of the RAM disk M100 to be activated is the normal activation M101, the computer determines the operation designation content of the installer operation mode setting unit 207 (step S32).
Here, when the operation designation M110 of the installer operation
このようにウォッチドッグタイマ209を起動することで、ウォッチドッグタイマ209によりタイムアウトが検出されて、計算機が再起動した場合は、再度、この図8のフローチャートの先頭から処理が行われる。このウォッチドッグタイマ209でのタイムアウトでの再起動時には、ステップS31での判定によりステップS42に進み、復元処理が実行される。
By activating the
また、ステップS32の判断で、インストーラ動作モード設定部207の動作指定M110がWDT起動M112以外である場合、計算機は、ステップS33およびS34の処理を省略して、ステップS35の処理に移行する。
If the operation designation M110 of the installer operation
ステップS33およびS34を経過してステップS35に移行した場合、インストーラ動作モード設定部207の起動対象RAMディスクM100にインストールM102が指定されている。しかし、計算機は、この指定を無視し、通常起動用RAMディスク202を起動する。
When the process proceeds to step S35 after passing through steps S33 and S34, the installation M102 is specified in the boot target RAM disk M100 of the installer operation
そして、計算機は、OS/ミドルウェア記憶部203が格納したOS/ミドルウェアを起動する(ステップS36)。
次に、計算機は、インストーラ動作モード設定部207の動作指定内容を判断する(ステップS37)。ここで、インストーラ動作モード設定部207の動作指定M110の指定が復元M116の場合は、ステップS33およびS34を通過しているので、OS/ミドルウェア303の起動処理完了後に、ウォッチドッグタイマ209を停止する(ステップS38)。
Then, the computer activates the OS/middleware stored in the OS/middleware storage unit 203 (step S36).
Next, the computer judges the operation designation content of the installer operation mode setting unit 207 (step S37). Here, if the designation of the operation designation M110 of the installer operation
ステップS38では、OS/ミドルウェア303の起動処理完了後に、ウォッチドッグタイマ209を停止する。その後、インストーラ動作モード設定部207は、起動対象RAMディスクM110を通常起動M101に、動作指定M110を他計算機検索M113に設定する(ステップS39)。この設定により、次のステップS40でのリモートインストーラ起動時に、他計算機検索処理が行われる。
In step S38, the
そして、計算機に格納されているリモートインストーラ205を起動する(ステップS40)。起動されたリモートインストーラ205は、図6で説明した動作を行い、ステップS29にて、図3で説明したインストール対象の検索処理を行う。すなわち、自身の計算機に格納されたOS/ミドルウェア更新データ記憶部206の更新データよりも古いOS/ミドルウェアが動作している計算機を検索し、リモートインストーラ205を起動する。
Then, the
その後、インストーラ動作モード設定部207の、起動対象RAMディスクM110を通常起動M101に設定し、動作指定M110をなしM111に設定する(ステップS41)。この設定により、以降は常にOS/ミドルウェア記憶部203が格納した更新後のOS/ミドルウェアで起動する。
After that, the boot target RAM disk M110 of the installer operation
また、ステップS37において、インストーラ動作モード設定部207の動作指定内容が復元M116以外の場合は、通常のOS/ミドルウェア起動であり、WDTの停止等は必要ないため、ステップS38〜S41の処理は実施しない。
Further, in step S37, when the operation designation content of the installer operation
[7.ウォッチドッグタイマの処理]
図9は、ウォッチドッグタイマ209が起動した際の処理を示すフローチャートである。
ウォッチドッグタイマ209には、予めOS/ミドルウェアを起動する際の規定時間がセットされており、ウォッチドッグタイマ209は、OS/ミドルウェアの起動を開始してから規定時間が経過したか否かを判断する(ステップS51)。ここで、規定時間が経過していない場合(ステップS51のNo)、ステップS51での規定時間が経過したか否かの判断を繰り返す。
[7. Watchdog timer processing]
FIG. 9 is a flowchart showing the processing when the
The
そして、ステップS51で規定時間が経過した場合(ステップS51のYes)、ウォッチドッグタイマ209は停止する(ステップS52)。そして、インストーラ動作モード設定部207は、動作指定内容を復元M116に設定する(ステップS53)。また、ウォッチドッグタイマ209が規定時間を経過して復元状態になったことを、配信元計算機10に通知して、ウォッチドッグタイマ209の処理を終了する。
When the specified time has elapsed in step S51 (Yes in step S51), the
[8.更新データの転送とインストールを行う流れの例]
図10は、配信元計算機10から複数台の計算機20(1)、20(2)、20(3)、・・・に更新データを配信してインストールを行う一例を示す。
図10に示すように、まず配信元計算機10は、計算機20(1)のOS/ミドルウェアのバージョンを取得し(ステップS111)、取得したバージョンが更新対象の古いバージョンであるとき、計算機20(1)にインストール指示を行う(ステップS112)。このインストール指示は、図5のフローチャートで説明した処理であり、更新データについても配信元計算機10から転送される。
[8. Example of flow for transferring and installing update data]
FIG. 10 shows an example in which the
As shown in FIG. 10, first, the
このインストール指示を受信した計算機20(1)のリモートインストーラ205は、OS/ミドルウェア記憶部203が格納したOS/ミドルウェアの更新処理を行う(ステップS113)。計算機20(1)は、この更新処理の完了後に、OS/ミドルウェアの起動処理を行う(ステップS114)。ここでの更新後の起動時には、ウォッチドッグタイマ209が起動時間を監視し、規定時間以内に起動したとき、更新に成功したとして、計算機20(1)が、別の更新対象の計算機の探索処理を行う。ここでは、計算機20(2)のOS/ミドルウェアのバージョンを取得し(ステップS115)、取得したバージョンが更新対象の古いバージョンであるとき、計算機20(2)にインストール指示を行う(ステップS116)。
Upon receiving this installation instruction, the
このインストール指示が行われる際には、計算機20(1)から更新データを転送する。あるいは、図10に破線の矢印で示すように、配信元計算機10が、計算機20(2)に更新データを転送してもよい。
When this installation instruction is given, the update data is transferred from the computer 20(1). Alternatively, the
インストール指示を受信した計算機20(2)は、リモートインストーラ205が、OS/ミドルウェアの更新処理を行う(ステップS117)。計算機20(2)は、この更新処理の完了後に、OS/ミドルウェアの起動処理を行う(ステップS118)。ここでの更新後の起動時にもウォッチドッグタイマ209が起動時間を監視し、規定時間以内に起動したとき、更新に成功したとして、計算機20(2)が、別の更新対象の計算機の探索処理を行う。ここでは、計算機20(3)のOS/ミドルウェアのバージョンを取得し(ステップS119)、取得したバージョンが更新対象の古いバージョンであるとき、計算機20(3)にインストール指示を行う(ステップS120)。
In the computer 20(2) that has received the installation instruction, the
このインストール指示が行われる際には、計算機20(2)から更新データを転送する。あるいは、図10に破線の矢印で示すように、配信元計算機10が、計算機20(3)に更新データを転送してもよい。
When this installation instruction is given, the update data is transferred from the computer 20(2). Alternatively, the
インストール指示を受信した計算機20(3)は、リモートインストーラ205が、OS/ミドルウェアの更新処理を行う(ステップS121)。計算機20(3)は、この更新処理の完了後に、OS/ミドルウェアの起動処理を行う(ステップS122)。ここでの更新後の起動時にもウォッチドッグタイマ209が起動時間を監視し、規定時間以内に起動したとき、更新に成功したとして、計算機20(3)が、さらに別の更新対象の計算機の探索処理を行う。すなわち、計算機20(3)が、別の計算機のOS/ミドルウェアのバージョンを取得し(ステップS123)、取得したバージョンが更新対象の古いバージョンであるとき、該当する計算機にインストール指示を行う(ステップS124)。
以下同様にして、更新対象範囲内で更新が必要な全ての計算機20(1)〜20(N)での更新が順に行われる。
In the computer 20(3) that has received the installation instruction, the
In the same manner, all the computers 20(1) to 20(N) that need to be updated within the update target range are sequentially updated.
なお、図10に示す処理の流れは、いずれの計算機20(1)〜20(3)でも再起動時に規定時間以内に起動した場合であり、いずれかの計算機20(1)〜20(3)で再起動時に規定時間を超えたときには、更新失敗として、その計算機は元の状態に復元される。そして、それ以降の計算機にはインストール指示が送られず、適切な更新ができない新しいバージョンのOS/ミドルウェアへの更新が阻止される。 Note that the flow of the processing illustrated in FIG. 10 is a case where any of the computers 20(1) to 20(3) is activated within the specified time at the time of rebooting, and any of the computers 20(1) to 20(3) is activated. When the specified time is exceeded at the time of rebooting, it is considered that the update has failed, and the computer is restored to the original state. Then, the installation instruction is not sent to the subsequent computers, and the update to the new version of OS/middleware that cannot be properly updated is blocked.
このようにして、更新対象範囲内の全ての計算機20(1)〜20(N)での更新が、1台ずつ順に外部からの指示で順に実行されるようになる。したがって、例えば各計算機20(1)〜20(N)が遠隔地に設置される状況であっても、それぞれの計算機20(1)〜20(N)に更新作業を行う作業員が出向くことなく、自動的にソフトウェアを更新することができる。 In this way, the updates in all the computers 20(1) to 20(N) within the update target range are sequentially executed one by one in accordance with an instruction from the outside. Therefore, for example, even if each of the computers 20(1) to 20(N) is installed in a remote place, the worker who performs the update work does not go to each of the computers 20(1) to 20(N). , Can update the software automatically.
ここで、それぞれの計算機20(1)〜20(N)は、更新完了後の再起動に要する時間を計測して、その時間が規定時間を超えたとき、更新失敗と判断する。そして、該当する計算機は元の状態に復元され、該当しない他の計算機にはインストール指示が送られない。このため、更新データに不備がある場合などに、複数の計算機に対する不適切な更新を阻止することができる。
なお、このような復元が行われた際には、配信元計算機10に対して、更新の失敗が通知されるため、配信元計算機10側で各計算機20(1)〜20(N)での更新処理の進行状況を監視することもできる。
Here, each of the computers 20(1) to 20(N) measures the time required for restarting after the update is completed, and when the time exceeds the specified time, it is determined that the update has failed. Then, the corresponding computer is restored to the original state, and the installation instruction is not sent to other computers that are not applicable. Therefore, when the update data is inadequate, it is possible to prevent inappropriate updates to a plurality of computers.
Note that when such a restoration is performed, the
[9.更新データの転送とインストールを行う他の例]
図10に示す例では、更新データの配信とインストールを、1台ずつ繰り返すようにしたが、配信元計算機10から更新対象計算機20(1)〜20(N)への更新データの配信については、事前に行うようにしてもよい。
図11および図12は、この場合の処理例を示す。
図11は、配信元計算機10から複数台の計算機20(1)、20(2)、20(3)、・・・に配信元計算機からの更新データを配信する一例を示す。
図10に示すように、まず配信元計算機10は、計算機20(1)のOS/ミドルウェアのバージョンを取得し(ステップS201)、取得したバージョンが更新対象の古いバージョンであるとき、計算機20(1)に更新データを転送する(ステップS202)。
[9. Another example of transferring and installing update data]
In the example shown in FIG. 10, the distribution and installation of the update data are repeated one by one. However, regarding the distribution of the update data from the
11 and 12 show a processing example in this case.
FIG. 11 shows an example in which the
As shown in FIG. 10, the
その後、配信元計算機10は、別の計算機(ここでは計算機20(2))のOS/ミドルウェアのバージョンを取得する(ステップS203)。そして、取得したバージョンが更新対象の古いバージョンであるとき、計算機20(2)に更新データを転送する(ステップS204)。
After that, the
さらにその後、配信元計算機10は、別の計算機(ここでは計算機20(3))のOS/ミドルウェアのバージョンを取得する(ステップS205)。そして、取得したバージョンが更新対象の古いバージョンであるとき、計算機20(3)に更新データを転送する(ステップS206)。
このようにして、更新対象範囲内で更新が必要な全ての計算機20(1)〜20(N)に対して、更新データを転送して待機する。更新データによるOS/ミドルウェアの更新は、予め決められた更新を実行する日時に実行される。
After that, the
In this way, the update data is transferred to all the computers 20(1) to 20(N) that need to be updated within the update target range, and the computer waits. The OS/middleware update with the update data is executed at a predetermined date and time when the update is executed.
図12は、それぞれの計算機20(1)〜20(3)で更新が行われる状態を示す。
ここでは、図11に示す処理で計算機20(1)〜20(3)に更新データが転送済みであり、更新を実行する日時になると、配信元計算機10(あるいは別の外部の機器)から、1台の計算機20(1)にインストール指示を送る(ステップS211)。
FIG. 12 shows a state in which the update is performed by each of the computers 20(1) to 20(3).
Here, the update data has been transferred to the computers 20(1) to 20(3) in the processing shown in FIG. 11, and when the date and time to execute the update comes, the delivery source computer 10 (or another external device) An installation instruction is sent to one computer 20(1) (step S211).
このインストール指示を受信した計算機20(1)のリモートインストーラ205は、OS/ミドルウェア記憶部203が格納したOS/ミドルウェアの更新処理を行う(ステップS212)。計算機20(1)は、この更新処理の完了後に、OS/ミドルウェアの起動処理を行う(ステップS213)。ここでの更新後の起動時には、ウォッチドッグタイマ209が起動時間を監視し、規定時間以内に起動したとき、更新に成功したとして、計算機20(1)から別の計算機(ここでは計算機20(2))に、インストール指示を送る(ステップS214)。
Upon receiving this installation instruction, the
このインストール指示を受信した計算機20(2)では、リモートインストーラ205が、OS/ミドルウェアの更新処理を行う(ステップS215)。計算機20(2)は、この更新処理の完了後に、OS/ミドルウェアの起動処理を行う(ステップS216)。ここでの更新後の起動時にもウォッチドッグタイマ209が起動時間を監視し、規定時間以内に起動したとき、更新に成功したとして、計算機20(2)からさらに別の計算機(ここでは計算機20(3))に、インストール指示を送る(ステップS217)。
In the computer 20(2) that receives this installation instruction, the
さらに、インストール指示を受信した計算機20(3)では、リモートインストーラ205が、OS/ミドルウェアの更新処理を行う(ステップS218)。計算機20(3)は、この更新処理の完了後に、OS/ミドルウェアの起動処理を行う(ステップS219)。ここでの更新後の起動時にもウォッチドッグタイマ209が起動時間を監視し、規定時間以内に起動したとき、更新に成功したとして、計算機20(3)からさらに別の計算機に、インストール指示を送る(ステップS220)。
Further, in the computer 20(3) that has received the installation instruction, the
なお、図12に示す処理の流れは、いずれの計算機20(1)〜20(3)でも再起動時に規定時間以内に起動した場合であり、いずれかの計算機20(1)〜20(3)で再起動時に規定時間を超えたときには、更新失敗として、その計算機は元の状態に復元される。そして、それ以降の計算機にはインストール指示が送られず、適切な更新ができない新しいバージョンのOS/ミドルウェアへの更新が阻止される。 Note that the flow of the processing illustrated in FIG. 12 is the case where any of the computers 20(1) to 20(3) is activated within the specified time at the time of rebooting, and any of the computers 20(1) to 20(3) is activated. When the specified time is exceeded at the time of rebooting, it is considered that the update has failed, and the computer is restored to the original state. Then, the installation instruction is not sent to the subsequent computers, and the update to the new version of OS/middleware that cannot be properly updated is blocked.
このように事前に更新データを配信することで、実際に更新作業が行われる際には、更新データの配信に要する時間を省くことができ、それだけ複数台の計算機での更新に要する時間を短縮することができる。 By delivering the update data in advance in this way, the time required to deliver the update data can be saved when the update work is actually performed, and the time required for updating on multiple computers can be reduced accordingly. can do.
[10.変形例]
本発明は、上述した実施の形態例に限定されるものではなく、様々な変形例が含まれる。
例えば、上述した実施の形態例では、配信元計算機10が最初に1台の計算機20(1)に対して、インストール指示を行うようにし、1台ずつの計算機が、順に更新を行うようにした。これに対して、例えばネットワーク40で接続された更新対象範囲内のN台の計算機を、複数の群に分け、それぞれの群の1台の計算機に対して、配信元計算機10が同時にインストール指示を行うようにしてもよい。
あるいは、最初の1台の特定の計算機での更新が完了して規定時間以内に再起動できた場合に、その特定の計算機から、他の複数台の計算機に対して、同時または連続してインストール指示を行うようにしてもよい。
[10. Modification]
The present invention is not limited to the above-described embodiments, but includes various modifications.
For example, in the above-described embodiment, the
Or, if the update on the first specific computer is completed and it can be restarted within the specified time, install from that specific computer to other multiple computers simultaneously or consecutively. You may make it give an instruction.
また、上述した実施の形態例では、OSまたはミドルウェアを更新する例について説明したが、計算機に実装された様々なソフトウェアの更新に本発明は適用が可能である。
計算機についても、ダム、上下水道用の設備、鉄道用の施設などのインフラ設備が備える計算機を例としたが、本発明は、その他の複数台の計算機を備えた各種システムに適用が可能である。
Further, in the above-described embodiment, an example of updating the OS or middleware has been described, but the present invention can be applied to updating various software installed in a computer.
As for the computer, the computer provided in the infrastructure equipment such as the dam, the water supply and sewerage facility, and the railway facility is taken as an example, but the present invention can be applied to other various systems including a plurality of computers. ..
また、上述した実施の形態例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、図1などの構成図では、制御線や情報線は説明上必要と考えられるものだけを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。また、図5、図6、図8、図9に示すフローチャートにおいて、実施の形態例の処理結果に影響がない範囲で、一部の処理ステップの実行順序を入れ替えたり、一部の処理ステップを同時に実行したりするようにしてもよい。 Further, the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described. In the configuration diagrams such as FIG. 1, only control lines and information lines that are considered necessary for explanation are shown, and not all control lines and information lines are shown in the product. In practice, it may be considered that almost all configurations are connected to each other. Further, in the flowcharts shown in FIGS. 5, 6, 8 and 9, the execution order of some of the processing steps may be changed or some of the processing steps may be performed within a range that does not affect the processing results of the embodiment. You may make it perform simultaneously.
また、上述した実施の形態例で説明した構成は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラムなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、光ディスク等の記録媒体に置くことができる。 Further, the configurations described in the above-described embodiments may be realized by software by the processor interpreting and executing programs for realizing the respective functions. Information such as a program that realizes each function can be stored in a memory, a recording device such as a hard disk or an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or an optical disk.
10…配信元計算機、11…CPU、12…ROM、13…RAM、14…不揮発性ストレージ、15…ネットワークインタフェース、16…入力装置、17…表示装置、18…バス、20(1)〜20(N)…計算機(更新対象計算機)、30(1)〜30(N)…拠点、40…ネットワーク、101…リモートインストーラ、102…OS/ミドルウェア更新データ記憶部、201…ブートローダ、202…通常起動用RAMディスク、203…OS/ミドルウェア記憶部、204…インストール用RAMディスク、205…リモートインストーラ、206…OS/ミドルウェア更新データ記憶部、207…インストーラ動作モード設定部、208…OS/ミドルウェアバックアップデータ記憶部、209…ウォッチドッグタイマ 10... Delivery source computer, 11... CPU, 12... ROM, 13... RAM, 14... Nonvolatile storage, 15... Network interface, 16... Input device, 17... Display device, 18... Bus, 20(1)-20( N)... Computer (update target computer), 30(1) to 30(N)... Base, 40... Network, 101... Remote installer, 102... OS/middleware update data storage unit, 201... Boot loader, 202... Normal startup RAM disk, 203... OS/middleware storage section, 204... Installation RAM disk, 205... Remote installer, 206... OS/middleware update data storage section, 207... Installer operation mode setting section, 208... OS/middleware backup data storage section , 209... Watchdog timer
Claims (7)
前記更新対象計算機は、
当該計算機で実行されるソフトウェアのデータを記憶するソフトウェア記憶部と、
前記配信元計算機から配信された更新データを記憶する更新データ記憶部と、
前記ソフトウェア記憶部が記憶したソフトウェアのデータをバックアップ用に記憶するバックアップデータ記憶部と、
前記配信元計算機または他の前記更新対象計算機からのインストール指示の受信で、前記ソフトウェア記憶部に記憶されたソフトウェアのデータを前記バックアップデータ記憶部にバックアップした後、前記更新データ記憶部に記憶された更新データによる前記ソフトウェア記憶部に記憶されたソフトウェアのデータの更新処理を実行し、更新処理の完了後に、前記複数の更新対象計算機の内のソフトウェアが未更新の少なくとも1台の更新対象計算機に、インストール指示を送信するリモートインストーラと、を備える
ソフトウェア更新システム。 A software update system including a plurality of update target computers connected by a network and a distribution source computer that distributes software update data to the plurality of update target computers,
The update target computer is
A software storage unit that stores data of software executed by the computer,
An update data storage unit that stores the update data distributed from the distribution source computer;
A backup data storage unit for storing software data stored in the software storage unit for backup,
Upon receiving an installation instruction from the distribution source computer or another update target computer, the software data stored in the software storage unit is backed up in the backup data storage unit and then stored in the update data storage unit. The update processing of the data of the software stored in the software storage unit by the update data is executed, and after the update processing is completed, the software in the plurality of update target computers is at least one update target computer that has not been updated, A software update system that includes a remote installer that sends installation instructions.
請求項1に記載のソフトウェア更新システム。 The remote installer measures the time required to activate the updated software stored in the software storage unit, and when the measured time exceeds a specified time, the backup data stored in the backup data storage unit. The software update system according to claim 1, wherein the updated software stored in the software storage unit is restored to the software before update.
請求項2に記載のソフトウェア更新システム。 The software update system according to claim 2, wherein the remote installer changes the operation mode to a normal activation state when the time required to activate the updated software does not exceed the specified time.
請求項1に記載のソフトウェア更新システム。 The software update system according to claim 1, wherein the remote installer does not transmit the installation instruction when all the update target computers in the system have been updated.
請求項1に記載のソフトウェア更新システム。 The delivery source computer sets, as the update target computer, a computer in a specified range among a plurality of computers connected by the network or a computer with a software version prepared for each computer. The software update system according to 1.
前記配信元計算機から前記更新対象計算機に配信された更新データを記憶する更新データ記憶処理と、
前記配信元計算機または他の更新対象計算機からのインストール指示の受信で、前記更新対象計算機が記憶したソフトウェアのデータをバックアップ用に記憶するバックアップ記憶処理と、
前記バックアップ記憶処理後に、前記更新データ記憶処理で記憶した更新データにより、前記更新対象計算機に記憶されたソフトウェアのデータの更新処理を実行する更新処理と、
前記更新処理の完了後に、更新処理を完了した前記更新対象計算機が、前記複数の更新対象計算機の内のソフトウェアが未更新の少なくとも1台の更新対象計算機に、インストール指示を送信する更新起動指令送信処理と、を含む
ソフトウェア更新方法。 A software update method executed by a software update system including a plurality of update target computers connected by a network and a distribution source computer that distributes software update data to the plurality of update target computers,
An update data storage process for storing update data distributed from the distribution source computer to the update target computer,
Upon receiving an installation instruction from the distribution source computer or another update target computer, a backup storage process for storing software data stored in the update target computer for backup,
An update process for executing the update process of the software data stored in the update target computer by the update data stored in the update data storage process after the backup storage process,
After the completion of the update process, the update target computer that has completed the update process transmits an installation instruction to at least one update target computer whose software in the plurality of update target computers has not been updated A process and a software update method including.
外部からの更新起動指令の受信で、記憶したソフトウェアのデータをバックアップ用に記憶するバックアップ記憶手順と、
前記バックアップ記憶手順の実行後に、前記更新データ記憶手順で記憶した更新データにより、ソフトウェアのデータの更新を実行する更新手順と、
前記更新手順の完了後に、ソフトウェアが未更新の少なくとも1台の他のコンピュータに、インストール指示を送信するインストール指示送信手順と、をコンピュータに実行させる
プログラム。 An update data storage procedure for storing update data distributed from the outside,
A backup storage procedure for storing the stored software data for backup upon receiving an update start command from the outside,
An update procedure for executing the update of the software data by the update data stored in the update data storage procedure after the backup storage procedure is executed,
A program that causes a computer to execute an installation instruction transmission procedure of transmitting an installation instruction to at least one other computer whose software has not been updated after the completion of the update procedure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019007939A JP7029417B2 (en) | 2019-01-21 | 2019-01-21 | Software update system, software update method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019007939A JP7029417B2 (en) | 2019-01-21 | 2019-01-21 | Software update system, software update method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020119094A true JP2020119094A (en) | 2020-08-06 |
JP7029417B2 JP7029417B2 (en) | 2022-03-03 |
Family
ID=71890781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019007939A Active JP7029417B2 (en) | 2019-01-21 | 2019-01-21 | Software update system, software update method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7029417B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049490A (en) * | 2000-08-03 | 2002-02-15 | Toshiba Tec Corp | Remote maintenance method for server-client system |
JP2003208314A (en) * | 2002-01-15 | 2003-07-25 | Mitsubishi Electric Corp | Computer system of which operating system can be automatically replaced and automatic replacement method of operating system using the system |
JP2004355389A (en) * | 2003-05-29 | 2004-12-16 | Mitsubishi Electric Corp | Remote update system |
-
2019
- 2019-01-21 JP JP2019007939A patent/JP7029417B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049490A (en) * | 2000-08-03 | 2002-02-15 | Toshiba Tec Corp | Remote maintenance method for server-client system |
JP2003208314A (en) * | 2002-01-15 | 2003-07-25 | Mitsubishi Electric Corp | Computer system of which operating system can be automatically replaced and automatic replacement method of operating system using the system |
JP2004355389A (en) * | 2003-05-29 | 2004-12-16 | Mitsubishi Electric Corp | Remote update system |
Also Published As
Publication number | Publication date |
---|---|
JP7029417B2 (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7143275B2 (en) | System firmware back-up using a BIOS-accessible pre-boot partition | |
US6816964B1 (en) | System, method and medium storing a program controlling a computer, to install a program remotely and automatically into a client by pre-downloaded agent using managing record recording an install execution state of the client and execution control information | |
US6971095B2 (en) | Automatic firmware version upgrade system | |
US6928579B2 (en) | Crash recovery system | |
US9229705B2 (en) | In-band hypervisor-managed firmware updates | |
US5978911A (en) | Automatic error recovery in data processing systems | |
US7644302B2 (en) | Restarting method using a snapshot | |
USRE41162E1 (en) | Method for providing scaleable restart and backout of software upgrades for clustered computing | |
US20040117414A1 (en) | Method and system for automatically updating operating systems | |
US7293169B1 (en) | Methods and systems for remotely updating the firmware of multiple computers over a distributed network | |
JP4359609B2 (en) | Computer system, system software update method, and first server device | |
US20170357515A1 (en) | Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device | |
US20080005611A1 (en) | Providing A Restore Operating System With New Or Updated Software Components | |
US7266815B2 (en) | Automated control of a licensed internal code update on a storage controller | |
US20070101328A1 (en) | Sequencing a single task sequence across multiple operating environments | |
US20080244589A1 (en) | Task manager | |
US10795688B2 (en) | System and method for performing an image-based update | |
US8234486B2 (en) | Managing reboot operations | |
US20080256387A1 (en) | Automated error recovery of a licensed internal code update on a storage controller | |
CN115202680A (en) | System and method for automatically upgrading local client on line in remote manner | |
TWI764454B (en) | Firmware corruption recovery | |
US8689048B1 (en) | Non-logging resumable distributed cluster | |
KR101576370B1 (en) | System and method for remote restoration of computer system, and computer-readable recording medium with program therefor | |
US20060053272A1 (en) | Kernel configuration recovery | |
JP7029417B2 (en) | Software update system, software update method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210909 |
|
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: 20220125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7029417 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |