JP2019020798A - Information processing device and program - Google Patents
Information processing device and program Download PDFInfo
- Publication number
- JP2019020798A JP2019020798A JP2017135962A JP2017135962A JP2019020798A JP 2019020798 A JP2019020798 A JP 2019020798A JP 2017135962 A JP2017135962 A JP 2017135962A JP 2017135962 A JP2017135962 A JP 2017135962A JP 2019020798 A JP2019020798 A JP 2019020798A
- Authority
- JP
- Japan
- Prior art keywords
- version
- software
- firmware
- dependency relationship
- information
- 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.)
- Pending
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は情報処理装置およびプログラムに関する。 The present invention relates to an information processing apparatus and a program.
コンピュータなどの装置には様々なソフトウェアがインストールされる。そこで、ソフトウェアの導入を支援する方法が考えられている。
例えば、クライアント端末にプリンタドライバを導入する際に、プリンタのファームウェアを当該プリンタドライバに対して動作保証されたファームウェアに更新する印刷システムの提案がある。
Various software is installed in a device such as a computer. Therefore, a method for supporting the introduction of software has been considered.
For example, when a printer driver is installed in a client terminal, there is a proposal for a printing system that updates the firmware of a printer to firmware that is guaranteed to operate for the printer driver.
また、電子機器のファームウェアが新たなファームウェアに更新されると、新たなファームウェアのバージョンと整合性を有するソフトウェアのバージョンを検出し、当該バージョンのソフトウェアを自装置にインストールする情報処理装置の提案もある。 There is also a proposal for an information processing apparatus that detects a version of software that is consistent with the new firmware version when the firmware of the electronic device is updated to the new firmware, and installs the version of the software on the own apparatus. .
情報処理システムの運用では、ある装置に対してインストールされたソフトウェア(例えば、オペレーティングシステム、ミドルウェア、および、それらの設定データなど)のバックアップを行うことがある。バックアップにより取得されたバックアップデータにより、該当の装置のソフトウェアの環境をバックアップ時点の状態に復元可能である。 In the operation of an information processing system, software installed on a certain device (for example, operating system, middleware, and setting data thereof) may be backed up. Based on the backup data acquired by the backup, the software environment of the corresponding device can be restored to the state at the time of backup.
一方、ソフトウェアとハードウェアとは綿密に連携していることが少なくない。ハードウェアの動作はファームウェアにより制御される。ファームウェアは、機能追加や改善のためにアップデートされることがある。このため、例えば、ソフトウェアのバージョンのみをバックアップ時点の状態に復元しても、ファームウェアのバージョンと復元後のソフトウェアのバージョンとに不整合が生じることがある。両者に不整合があると、ファームウェアと復元後のソフトウェアとが適切に連携できず、ソフトウェアやハードウェアの動作に不具合が発生することがある。 On the other hand, software and hardware are often closely linked. The operation of hardware is controlled by firmware. Firmware may be updated for feature additions and improvements. For this reason, for example, even if only the software version is restored to the state at the time of backup, inconsistency may occur between the firmware version and the restored software version. If there is a mismatch between the two, the firmware and the restored software cannot be properly linked, and a malfunction may occur in the operation of the software or hardware.
1つの側面では、本発明は、復元によりソフトウェアやハードウェアの動作に不具合が発生する可能性を減らすことを目的とする。 In one aspect, an object of the present invention is to reduce the possibility of a malfunction occurring in the operation of software or hardware due to restoration.
1つの態様では、情報処理装置が提供される。情報処理装置は、記憶部と処理部とを有する。記憶部は、整合性を確認済であるソフトウェアのバージョンとファームウェアのバージョンとの組合せの情報を記憶する。処理部は、対象装置の動作環境を復旧する際に、対象装置におけるソフトウェアの復元先のバージョンと対象装置のハードウェアに対応するファームウェアの現在のバージョンとの組合せを確認し、記憶部に記憶された情報に基づいて、ソフトウェアの復元先のバージョンおよびファームウェアの現在のバージョンの少なくとも1つの変更の要否を判定し、変更要と判定すると変更のための組合せを特定する。 In one aspect, an information processing apparatus is provided. The information processing apparatus includes a storage unit and a processing unit. The storage unit stores information on a combination of a software version and a firmware version whose consistency has been confirmed. When the processing unit restores the operating environment of the target device, the processing unit confirms the combination of the software restoration destination version of the target device and the current version of the firmware corresponding to the hardware of the target device, and is stored in the storage unit Based on the received information, it is determined whether or not it is necessary to change at least one of the restoration destination version of the software and the current version of the firmware. If it is determined that the change is necessary, a combination for change is specified.
1つの側面では、復元によりソフトウェアやハードウェアの動作に不具合が発生する可能性を減らすことができる。 In one aspect, the possibility of a malfunction occurring in the operation of software or hardware due to restoration can be reduced.
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。第1の実施の形態の情報処理システムは、情報処理装置10,20を含む。情報処理装置10,20は、ネットワークN1に接続されている。情報処理装置20は、外部ハードウェア30と接続されている。外部ハードウェア30は、例えば、ディスクアレイやテープライブラリなどのストレージ装置やパケットを中継するスイッチなどの中継装置である。外部ハードウェア30は、ネットワークN1に接続されている。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating the information processing apparatus according to the first embodiment. The information processing system according to the first embodiment includes
情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)も含み得る。
The
情報処理装置20は、メモリ21、プロセッサ22およびハードウェア23を有する。メモリ21は、不揮発性メモリおよび揮発性メモリを含む。メモリ21は、ソフトウェアXのプログラムを記憶する。プロセッサ22は、メモリ21に記憶されたソフトウェアXのプログラムを実行する。ソフトウェアXは、例えば、オペレーティングシステム(OS:Operating System)やミドルウェアなどである。ソフトウェアXは、業務処理などに用いられるアプリケーションでもよい。ハードウェア23は、情報処理装置20の内蔵デバイスであり、例えば、NIC(Network Interface Card)やストレージにアクセスするためのRAID(Redundant Arrays of Inexpensive Disks)カードなどである。
The
ハードウェア23は、メモリ23aおよびプロセッサ23bを有する。メモリ23aは、不揮発性メモリおよび揮発性メモリを含む。メモリ23aは、ファームウェアYのプログラムを記憶する。プロセッサ23bは、メモリ23aに記憶されたファームウェアYを実行し、ファームウェアYの機能により、ハードウェア23の動作を制御する。プロセッサ23bは、ファームウェアYの機能によりソフトウェアXと連携する。
The
外部ハードウェア30は、メモリ31およびプロセッサ32を有する。メモリ31は、不揮発性メモリおよび揮発性メモリを含む。メモリ31は、ファームウェアZのプログラムを記憶する。プロセッサ32は、メモリ31に記憶されたファームウェアZのプログラムを実行し、ファームウェアZの機能により、外部ハードウェア30の動作を制御する。プロセッサ32は、ファームウェアZの機能によりソフトウェアXと連携する。
The
例えば、ソフトウェアXは、ファームウェアY,Zと連携することで、ハードウェア23や外部ハードウェア30の起動、停止および稼働情報の収集などを行う。
情報処理装置10は、情報処理装置20におけるソフトウェアXのバージョンおよびファームウェアYのバージョンを管理する。また、情報処理装置10は、外部ハードウェア30におけるファームウェアZのバージョンを管理する。ここで、ソフトウェアXのバージョンをバージョンv1と表す。ファームウェアYのバージョンをバージョンv2と表す。ファームウェアZのバージョンをバージョンv3と表す。
For example, the software X cooperates with the firmware Y and Z to start and stop the
The
具体的には、記憶部11は、バージョン管理テーブルT1を記憶する。バージョン管理テーブルT1は、ソフトウェアXおよびファームウェアY,Zについて、整合性を確認済であるバージョンの組合せの情報を記憶する。
Specifically, the
例えば、バージョン管理テーブルT1は、ソフトウェアXのバージョンv1=1に対して、ファームウェアYの整合性を確認済であるバージョンv2の範囲1≦v2≦3を示す情報を含む。これは、ソフトウェアXのバージョンv1=1に対して、ファームウェアYのバージョンv2が1≦v2≦3を満たす(v1,v2)の組合せが整合性を確認済であり、当該組合せであれば、ソフトウェアXとハードウェア23とが適切に連携可能であることを示す。
For example, the version management table T1 includes information indicating the
同様に、バージョン管理テーブルT1は、ソフトウェアXのバージョンv1=1に対して、ファームウェアZの整合性を確認済であるバージョンv3の範囲1≦v3≦2を示す情報を含む。これは、ソフトウェアXのバージョンv1=1に対して、ファームウェアZのバージョンv3が1≦v3≦2を満たす(v1,v3)の組合せが整合性を確認済であり、当該組合せであれば、ソフトウェアXとハードウェア23とが適切に連携可能であることを示す。
Similarly, the version management table T1 includes information indicating the
また、同様に、バージョン管理テーブルT1は、v1=2に対して、範囲1≦v2≦4および範囲2≦v3≦4を示すレコードを含む。更に、バージョン管理テーブルT1は、v1=3に対して、範囲2≦v2≦5および範囲3≦v3≦5を示すレコードを含む。
Similarly, the version management table T1 includes
ここで、現時点において、バージョンv1=3、バージョンv2=4、バージョンv3=4であるとする。
処理部12は、情報処理装置20の動作環境を復旧する際に、情報処理装置20におけるソフトウェアXの復元先のバージョンと情報処理装置20のハードウェア23に対応するファームウェアYの現在のバージョンとの組合せを確認する。この場合、情報処理装置20は、動作環境の復旧(または復元)の対象装置であるといえる。
Here, it is assumed that version v1 = 3, version v2 = 4, and version v3 = 4 at the present time.
When the
処理部12は、記憶部11に記憶されたバージョン管理テーブルT1に基づいてソフトウェアXの復元先のバージョンおよびファームウェアYの現在のバージョンの少なくとも1つの変更の要否を判定する。処理部12は、変更要と判定すると変更のための組合せを特定する。変更のための組合せは、ソフトウェアXの復元先のバージョンとファームウェアYの現在のバージョンとの不整合を回避するソフトウェアXのバージョンおよびファームウェアYのバージョンの組合せを示す。
The
ここで、動作環境の復旧処理は、情報処理装置20において予め取得されたソフトウェアXのバックアップデータを用いて行われる。動作環境の復旧処理自体では、ソフトウェアXが復旧の対象となり、ファームウェアY,Zは復旧の対象ではない。
Here, the restoration processing of the operating environment is performed using the backup data of the software X acquired in advance in the
例えば、処理部12は、ユーザによる動作環境の復旧指示R1を受け付けると、動作環境の復旧を開始する。復旧指示R1は、ソフトウェアXの復元先のバージョンv1を1とする旨の指示を含む。あるいは、処理部12は、復旧先の時刻または時刻に関連付けられた情報(例えば、リストア対象のバックアップデータの識別情報)を含む復旧指示を受け付けてもよい。この場合、処理部12は、情報処理装置20における過去の時刻でのソフトウェアXのバージョンv1の情報を記録したログを参照して、ソフトウェアXの復元先のバージョンv1を特定してもよい。
For example, when the
そして、処理部12は、ソフトウェアXの復元先のバージョンv1=1と、ファームウェアYの現在のバージョンv2=4との組合せを確認する。処理部12は、(v1,v2)=(1,4)の組合せに対し、バージョン管理テーブルT1に基づいて、ソフトウェアXの復元先のバージョンv1およびファームウェアYの現在のバージョンv2の少なくとも1つの変更の要否を判定する。本例では、バージョン管理テーブルT1によれば、v=1に対して整合性を確認済であるv2の範囲は、1≦v2≦3である。したがって、(v1,v2)=(1,4)の組合せは、整合性を確認済でなく、ソフトウェアXおよびハードウェア23の連携に不具合が生じ得る。このため、処理部12は、ソフトウェアXの復元先のバージョンv1およびファームウェアYの現在のバージョンv2の少なくとも1つについて変更要であると判定する。すると、処理部12は、バージョン管理テーブルT1に基づいて、変更のための組合せとして、例えば、(v1,v2)=(2,4)、または、(v1,v2)=(1,3)を特定する。
Then, the
同様に、処理部12は、ソフトウェアXの復元先のバージョンと、外部ハードウェア30のファームウェアZの現在のバージョンとの組合せを確認してもよい。例えば、処理部12は、ソフトウェアXの復元先のバージョンv1=1と、ファームウェアZの現在のバージョンv3=4との組合せを確認する。処理部12は、(v1,v3)=(1,4)の組合せに対し、バージョン管理テーブルT1に基づいて、ソフトウェアXの復元先のバージョンv1およびファームウェアZの現在のバージョンv3の少なくとも1つの変更の要否を判定する。本例では、バージョン管理テーブルT1によれば、v=1に対して整合性を確認済であるv3の範囲は、1≦v3≦2である。したがって、(v1,v3)=(1,4)の組合せは、整合性を確認済でなく、ソフトウェアXおよび外部ハードウェア30の連携に不具合が生じ得る。このため、処理部12は、ソフトウェアXの復元先のバージョンv1およびファームウェアZの現在のバージョンv3の少なくとも1つについて変更要であると判定する。すると、処理部12は、バージョン管理テーブルT1に基づいて、変更のための組合せとして、例えば、(v1,v3)=(2,4)、または、(v1,v3)=(1,2)を特定する。
Similarly, the
処理部12は、変更のための組合せとして特定された(v1,v2)の組合せ候補および(v1,v3)の組合せ候補をマージした組合せを特定し、ソフトウェアXおよびファームウェアY,Zに対するバージョン変更内容を警告として出力してもよい。上記の例の場合、ソフトウェアXの復元先のバージョンv1を、v1=1ではなく、v1=2とすることで、現在のv2=4、および、現在のv3=4の両方との整合性を満たせる。すなわち、処理部12は、(v1,v2,v3)=(2,4,4)の組合せを特定する。このため、処理部12は、ソフトウェアXとファームウェアY,Zとの整合性を満たすために、警告R2を出力することが考えられる。警告R2は、ソフトウェアXの復元先のバージョンv1を、v1=2に変更要である旨を示す。
The
あるいは、上記の例の場合、ファームウェアYの現在のバージョンv2をv2=3に、ファームウェアZの現在のバージョンv3をv3=2にそれぞれ変更することで、ソフトウェアXの復元先のバージョンv1=1との整合性を満たせる。すなわち、処理部12は、(v1,v2,v3)=(1,3,2)の組合せを特定する。このため、他の例では、処理部12は、ソフトウェアXとファームウェアY,Zとの整合性を満たすために、警告R3を出力することが考えられる。警告R3は、ファームウェアYの現在のバージョンv2をv2=3に、ファームウェアZの現在のバージョンv3をv3=2にそれぞれ変更要である旨を示す。
Alternatively, in the above example, the current version v2 of the firmware Y is changed to v2 = 3, and the current version v3 of the firmware Z is changed to v3 = 2. Can be satisfied. That is, the
なお、整合性を満たすバージョンの組合せの特定方法の基準を示すポリシーを記憶部11に予め設定可能としてもよい。例えば、ソフトウェアXを旧バージョンへ復元するが、ファームウェアY,Zの現バージョンとの整合性を満たす最新のバージョンを選択するというポリシーであれば、処理部12は、復元先のバージョンv1=2とする警告R2を出力することが考えられる。このポリシーは、極力既にアップデート済の状態を活かして整合性を担保する組合せを導き出すポリシーであるといえる。
It should be noted that a policy indicating a standard for specifying a combination of versions satisfying the consistency may be set in the
また、例えば、ソフトウェアXの復元先のバージョンを変更せずに、ファームウェアY,Zのバージョンを、当該復元先のバージョンと整合性を満たす最新のバージョンにするというポリシーも考えられる。このポリシーの場合に、処理部12は、(v2,v3)=(3,2)に変更する旨の警告R3を出力することが考えられる。このポリシーは、極力バックアップ時の組合せに近い状態で整合性を合わせるポリシーであるといえる。
Further, for example, a policy may be considered in which the versions of the firmware Y and Z are updated to the latest version satisfying the consistency with the restoration destination version without changing the restoration destination version of the software X. In the case of this policy, it is conceivable that the
また、バージョン管理テーブルT1の内容によっては、処理部12は、上記とは異なるバージョンの組合せを特定することも考えられる。
図2は、バージョンの組合せの他の特定例を示す図である。記憶部11は、バージョン管理テーブルT1に代えて、バージョン管理テーブルT2を記憶する。
Further, depending on the contents of the version management table T1, the
FIG. 2 is a diagram illustrating another specific example of the combination of versions. The
バージョン管理テーブルT2は、v1=1に対して、範囲1≦v2≦3および範囲1≦v3≦2を示すレコードを含む。また、バージョン管理テーブルT2は、v1=2に対して、範囲1≦v2≦4および範囲2≦v3≦4を示すレコードを含む。更に、バージョン管理テーブルT2は、v1=3に対して、範囲5≦v2≦7および範囲3≦v3≦5を示すレコードを含む。
The version management table T2 includes records indicating a
ここで、現時点において、v1=3、v2=5、v3=4であるとする。
例えば、処理部12は、ユーザによる動作環境の復旧指示R1を受け付けると、動作環境の復旧を開始する。復旧指示R1は、ソフトウェアXの復元先のバージョンv1を1とする旨の指示を含む。あるいは、前述のように、処理部12は、復旧先の時刻または時刻に関連付けられた情報(例えば、リストア対象のバックアップデータの識別情報)を含む復旧指示を受け付けてもよい。この場合、処理部12は、情報処理装置20における過去の時刻でのソフトウェアXのバージョンv1の情報を記録したログを参照して、ソフトウェアXの復元先のバージョンv1を特定してもよい。
Here, it is assumed that v1 = 3, v2 = 5, and v3 = 4 at the present time.
For example, when the
そして、処理部12は、ソフトウェアXの復元先のバージョンv1=1と、ファームウェアYの現在のバージョンv2=5との組合せを確認する。処理部12は、(v1,v2)=(1,5)の組合せに対し、バージョン管理テーブルT2に基づいて、ソフトウェアXの復元先のバージョンv1およびファームウェアYの現在のバージョンv2の少なくとも1つの変更の要否を判定する。本例では、バージョン管理テーブルT2によれば、v=1に対して整合性を確認済であるv2の範囲は、1≦v2≦3である。したがって、(v1,v2)=(1,5)の組合せは、整合性を確認済でなく、ソフトウェアXおよびハードウェア23の連携に不具合が生じ得る。このため、処理部12は、ソフトウェアXの復元先のバージョンv1およびファームウェアYの現在のバージョンv2の少なくとも1つについて変更要であると判定する。すると、処理部12は、バージョン管理テーブルT2に基づいて、変更のための組合せとして、例えば、(v1,v2)=(2,4)、または、(v1,v2)=(1,3)を特定する。
Then, the
同様に、処理部12は、ソフトウェアXの復元先のバージョンと、外部ハードウェア30のファームウェアZの現在のバージョンとの組合せを確認してもよい。例えば、処理部12は、ソフトウェアXの復元先のバージョンv1=1と、ファームウェアZの現在のバージョンv3=4との組合せを確認する。処理部12は、(v1,v3)=(1,4)の組合せに対し、バージョン管理テーブルT2に基づいて、ソフトウェアXの復元先のバージョンv1およびファームウェアZの現在のバージョンv3の少なくとも1つの変更の要否を判定する。本例では、バージョン管理テーブルT2によれば、v=1に対して整合性を確認済であるv3の範囲は、1≦v3≦2である。したがって、(v1,v3)=(1,4)の組合せは、整合性を確認済でなく、ソフトウェアXおよび外部ハードウェア30の連携に不具合が生じ得る。このため、処理部12は、ソフトウェアXの復元先のバージョンv1およびファームウェアZの現在のバージョンv3の少なくとも1つについて変更要であると判定する。すると、処理部12は、バージョン管理テーブルT2に基づいて、変更のための組合せとして、例えば、(v1,v3)=(2,4)、または、(v1,v3)=(1,2)を特定する。
Similarly, the
処理部12は、変更のための組合せとして特定された(v1,v2)の組合せ候補および(v1,v3)の組合せ候補をマージした組合せを特定し、ソフトウェアXおよびファームウェアY,Zに対するバージョン変更内容を警告として出力してもよい。上記の例の場合、ソフトウェアXの復元先のバージョンv1を、v1=1ではなく、v1=2とし、ファームウェアYの現在のバージョンv2をv2=4とすることで、v1,v2,v3の整合性を満たせる。すなわち、処理部12は、(v1,v2,v3)=(2,4,4)の組合せを特定する。このため、処理部12は、ソフトウェアXとファームウェアY,Zとの整合性を満たすために、警告R4を出力することが考えられる。警告R4は、ソフトウェアXの復元先のバージョンv1をv1=2に、ファームウェアYの現在のバージョンv2をv2=4にそれぞれ変更要である旨を示す。
The
あるいは、上記の例の場合、ファームウェアYの現在のバージョンv2をv2=3に、ファームウェアZの現在のバージョンv3をv3=2にそれぞれ変更することで、ソフトウェアXの復元先のバージョンv1との整合性を満たせる。すなわち、処理部12は、(v1,v2,v3)=(1,3,2)の組合せを特定する。このため、他の例では、処理部12は、ソフトウェアXとファームウェアY,Zとの整合性を満たすために、警告R5を出力することが考えられる。警告R5は、ファームウェアYの現在のバージョンv2をv2=3に、ファームウェアZの現在のバージョンv3をv3=2にそれぞれ変更要である旨を示す。
Alternatively, in the case of the above example, the current version v2 of the firmware Y is changed to v2 = 3, and the current version v3 of the firmware Z is changed to v3 = 2, thereby matching with the restoration destination version v1 of the software X Can satisfy the sex. That is, the
情報処理装置10によれば、復元によりソフトウェアやハードウェアの動作に不具合が発生する可能性を減らすことができる。具体的には次の通りである。
ソフトウェアXは、ハードウェア23や外部ハードウェア30と連携して所定の処理を実行することもある。しかし、ソフトウェアXのバージョンとファームウェアYのバージョンとの組合せによっては、ソフトウェアXとハードウェア23とが適切に連携できないことがある。また、ソフトウェアXのバージョンとファームウェアZのバージョンとの組合せによっては、ソフトウェアXと外部ハードウェア30とが適切に連携できないことがある。
According to the
The software X may execute a predetermined process in cooperation with the
このため、ソフトウェアXを、あるバックアップ時点のバージョンに復元すると、ソフトウェアXのバージョンとファームウェアYのバージョンとが不整合となり、ソフトウェアXやハードウェア23の動作に不具合が生じる可能性がある。同様に、ソフトウェアXを、あるバックアップ時点のバージョンに復元すると、ソフトウェアXのバージョンとファームウェアZのバージョンとが不整合となり、ソフトウェアXや外部ハードウェア30の動作に不具合が生じる可能性がある。
For this reason, when the software X is restored to a version at the time of backup, the version of the software X and the version of the firmware Y become inconsistent, and there is a possibility that a malfunction occurs in the operation of the software X or the
そこで、処理部12は、バージョン管理テーブルT1(または、バージョン管理テーブルT2)に基づいて、ソフトウェアXの復元先のバージョンに対して不整合となるファームウェアYのバージョンを特定する。そして、処理部12は、ファームウェアYの現バージョンで不整合が発生し得る場合には、不整合を回避するように、ソフトウェアXの復元先のバージョンおよびファームウェアYの少なくとも一方の変更内容を特定する。これにより、ソフトウェアXの復元によって、ソフトウェアXやハードウェア23の動作に不具合が発生する可能性を減らすことができる。
Therefore, the
また、上記のように、処理部12は、ユーザにより指定されたポリシーに応じて、ソフトウェアXの復元先のバージョンおよびファームウェアYの現在のバージョンのうち、変更対象を決定してもよい。これにより、ユーザの運用方針に応じたバージョン変更を実現できる。
Further, as described above, the
また、処理部12は、ソフトウェアXの復元先のバージョンを変更対象に決定すると、ファームウェアYの現在のバージョンに対して整合性を確認済であるソフトウェアXのバージョンのうち、最新のバージョンまたは復元先のバージョンとの差が最小のバージョンを、変更後のバージョンとして特定してもよい。あるいは、処理部12は、ファームウェアYの現在のバージョンを変更対象に決定すると、ソフトウェアXの復元先のバージョンに対して整合性を確認済であるファームウェアYのバージョンのうち、最新のバージョンまたは現在のバージョンとの差が最小のバージョンを、変更後のバージョンとして特定してもよい。これにより、上記と同様に、ユーザの運用方針(例えば、極力最新バージョンを使用する、または、極力更新回数を減らすなど)に応じたバージョン変更を実現できる。
In addition, when the
更に、処理部12は、上記変更後のバージョンの候補のうち、適用後の情報処理装置20の再起動が不要である候補がある場合、当該再起動が不要である候補の中から、変更後のバージョンを特定してもよい。これにより、ユーザの業務への影響を抑えてバージョン変更を行うよう支援できる。
Further, when there is a candidate that does not need to restart the
また、上記のように、処理部12は、情報処理装置20に内蔵のハードウェア23だけでなく、情報処理装置20の外部にある外部ハードウェア30のファームウェアZについても、同様にして、ソフトウェアXの復元先のバージョンとの整合性を確認する。これにより、ソフトウェアXの復元によって、ソフトウェアXや外部ハードウェア30の動作に不具合が発生する可能性を減らすことができる。
In addition, as described above, the
処理部12は、ソフトウェアXの復元先のバージョンおよびファームウェアY,Zの現在のバージョンの少なくとも1つに対して特定された変更後のバージョンを表示装置(図1,図2では図示を省略している)により表示させてもよい。
The
より具体的には、処理部12は、ソフトウェアXの復元先のバージョンおよびファームウェアY,Zの現在のバージョンに対する変更内容を含む警告を、情報処理装置10に接続された表示装置に出力してもよい。これにより、ユーザは、表示装置により表示された警告を確認し、変更内容に従ったバージョンを適用するか否かを判断できる。
More specifically, the
また、処理部12は、ソフトウェアXの復元先のバージョンおよびファームウェアY,Zの現在のバージョンの少なくとも1つに対して特定された変更後のバージョンの適用を情報処理装置20に指示してもよい。
In addition, the
より具体的には、ユーザは、変更内容に従ったバージョンの適用を情報処理装置10に指示することもできる。例えば、処理部12は、当該指示に応じて、情報処理装置20の動作環境の復旧を行い、その際に、ソフトウェアXの復元先のバージョンを変更してもよい。あるいは、情報処理装置10は、ファームウェアY,Zの現在のバージョンを変更してもよい。こうして、情報処理装置10は、動作環境の復旧に当たり、ソフトウェアXおよびファームウェアY,Zの動作に不具合が発生しないように支援することもできる。
More specifically, the user can also instruct the
[第2の実施の形態]
図3は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、管理サーバ100、業務サーバ200、ストレージ300および公開サーバ400を含む。公開サーバ400は、ネットワーク40に接続されている。ネットワーク40は、LAN(Local Area Network)でもよいし、インターネットでもよい。管理サーバ100および業務サーバ200は、スイッチ50に接続されている。スイッチ50は、データパケットを中継する中継装置である。スイッチ50は、ネットワーク40に接続されている。
[Second Embodiment]
FIG. 3 illustrates an information processing system according to the second embodiment. The information processing system according to the second embodiment includes a
管理サーバ100は、業務サーバ200にインストールされたソフトウェアのバージョンと、業務サーバ200に関連するハードウェアを制御するファームウェアのバージョンとを管理するサーバコンピュータである。業務サーバ200に関連するハードウェアは、例えば、業務サーバ200の内蔵のハードウェアや、業務サーバ200の外部のハードウェア(業務サーバ200に外付けされたハードウェア)である。また、管理サーバ100は、業務サーバ200によるバックアップおよびリストアの処理を管理する。管理サーバ100は、第1の実施の形態の情報処理装置10の一例である。
The
業務サーバ200は、ユーザの業務を支援するサーバコンピュータである。業務サーバ200には、OS、ミドルウェアおよびアプリケーションなどの種々のソフトウェアがインストールされる。また、業務サーバ200は、ネットワークインタフェースカード(NIC:Network Interface Card)やストレージ300と接続するためのホストバスアダプタ(HBA:Host Bus Adapter)などの種々のハードウェアを含む。ハードウェアは、当該ハードウェアに組み込まれたファームウェアの機能により制御される。
The
業務サーバ200により実行されるソフトウェアの動作環境(ソフトウェアのプログラムや設定データなど)は、所定のタイミングで(例えば、定期的に)バックアップされる。業務サーバ200では、バックアップされたデータ(バックアップデータ)に基づいて、ソフトウェアの動作環境がリストア(復元)されることがある。業務サーバ200は、第1の実施の形態の情報処理装置20の一例である。
The operating environment of software executed by the business server 200 (software program, setting data, etc.) is backed up at a predetermined timing (for example, periodically). In the
ストレージ300は、業務サーバ200の業務処理に用いられるデータを格納するストレージ装置である。ストレージ300は、ストレージ300に組み込まれたファームウェアの機能により制御される。ここで、ストレージ300は、業務サーバ200の外部のハードウェアであり、第1の実施の形態の外部ハードウェア30の一例である。また、スイッチ50も、第1の実施の形態の外部ハードウェア30の一例である(スイッチ50も、スイッチ50のファームウェアにより制御される)。
The
公開サーバ400は、業務サーバ200で実行される各種のソフトウェアに対する機能追加プログラムや修正プログラム(パッチ)を業務サーバ200に配布するサーバコンピュータである。ソフトウェアに適用されている追加プログラムや修正プログラムに応じて、ソフトウェアのバージョンが定められる。また、公開サーバ400は、ストレージ300やスイッチ50を制御するファームウェアのプログラムをバージョン毎に配布する。公開サーバ400は、複数設けられてもよい。例えば、ソフトウェアやハードウェアのベンダ毎に、公開サーバ400が複数設けられることもある。
The
更に、公開サーバ400は、ソフトウェアのバージョンと、ファームウェアのバージョンとの整合性を満たす組合せの情報を配布する。
図4は、管理サーバのハードウェア例を示す図である。管理サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC107を有する。各ハードウェアは管理サーバ100のバスに接続されている。業務サーバ200および公開サーバ400も管理サーバ100と同様のハードウェアを用いて実現できる。
Further, the
FIG. 4 is a diagram illustrating a hardware example of the management server. The
プロセッサ101は、管理サーバ100の情報処理を制御するハードウェアである。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組合せであってもよい。
The
RAM102は、管理サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
The
HDD103は、管理サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。管理サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
The
画像信号処理部104は、プロセッサ101からの命令に従って、管理サーバ100に接続されたディスプレイ61に画像を出力する。ディスプレイ61として、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
The image
入力信号処理部105は、管理サーバ100に接続された入力デバイス62から入力信号を取得し、プロセッサ101に出力する。入力デバイス62として、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
The input
媒体リーダ106は、記録媒体63に記録されたプログラムやデータを読み取る装置である。記録媒体63として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体63として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ106は、例えば、プロセッサ101からの命令に従って、記録媒体63から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
The
NIC107は、スイッチ50を介して業務サーバ200や公開サーバ400と通信を行う。NIC107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
The
図5は、管理対象のソフトウェアおよびファームウェアの例を示す図である。第2の実施の形態の情報処理システムでは、種々のソフトウェアやファームウェアが実行される。
例えば、業務サーバ200は、仮想マシンVM1を実現するオペレーティングシステム(OS)aやOSa上のソフトウェアAおよびソフトウェアBを有する。また、業務サーバ200は、仮想マシンVM2を実現するオペレーティングシステム(OS)bやOSb上のソフトウェアFおよびソフトウェアGを有する。また、業務サーバ200は、仮想マシンVM1,VM2を実現するソフトウェアであるハイパーバイザhvを有する。
FIG. 5 is a diagram illustrating an example of software and firmware to be managed. In the information processing system according to the second embodiment, various software and firmware are executed.
For example, the
業務サーバ200は、業務サーバ200のメインボードを制御するファームウェアC(サーバファームウェアC)を有する。例えば、ファームウェアCのプログラムは、メインボード上の不揮発性メモリ(NVRAM:Non-Volatile RAM)に書き込まれている。業務サーバ200は、メインボード上に接続されたRAIDカードを制御するファームウェアDを有する。例えば、ファームウェアDのプログラムは、RAIDカード上のNVRAMに書き込まれている。業務サーバ200は、メインボード上に接続されたNICを制御するファームウェアEを有する。例えば、ファームウェアEのプログラムは、NIC上のNVRAMに書き込まれている。
The
スイッチ50は、スイッチ50を制御するファームウェアMを有する。例えば、ファームウェアMのプログラムは、スイッチ50が備えるNVRAMに書き込まれている。
ストレージ300は、ストレージ300を制御するファームウェアNを有する。例えば、ファームウェアNは、ストレージ300が備えるNVRAMに書き込まれている。
The
The
公開サーバ400は、依存関係DB(DataBase)410を有する。依存関係DB410は、ソフトウェアと他のソフトウェアとのバージョン間、または、ソフトウェアとファームウェアとのバージョン間の整合性の確認結果のDBである。例えば、依存関係DB410には、あるソフトウェアのバージョンと、当該ソフトウェアのバージョンに対し、整合性が保証されている他のソフトウェアのバージョンやファームウェアのバージョンとの組合せの情報を含む。
The
整合性は、例えば、ソフトウェアのベンダなどによる動作確認に応じて、当該ベンダにより保証される。あるソフトウェアと別のソフトウェアとの整合性が保証されたバージョンの組合せは、システムにおいて両方を組合せて使用した場合に、両ソフトウェアの動作に不具合がないことを確認済(整合性確認済)の組合せであるといえる。また、あるソフトウェアとファームウェアとの整合性が保証されたバージョンの組合せは、システムにおいて両方を組合せて使用した場合に、当該ソフトウェアの動作とファームウェアの動作とに不具合がないことを確認済(整合性確認済)の組合せであるといえる。 Consistency is guaranteed by the vendor in accordance with, for example, an operation check by a software vendor or the like. The combination of versions for which the consistency between one software and another software is guaranteed is a combination that has been confirmed that there is no problem in the operation of both software when both are combined in the system. You can say that. In addition, it is confirmed that there is no problem in the operation of the software and the firmware of the combination of versions for which the consistency between the software and the firmware is guaranteed when both are used in the system. It can be said that this is a combination of (confirmed).
依存関係DB410は、管理サーバ100に対して公開されている。管理サーバ100は、公開サーバ400から依存関係DB410の内容をダウンロードすることができる。
図6は、管理サーバの機能例を示す図である。管理サーバ100は、ソフトウェア管理部110、インフラ管理部120およびバックアップ管理部130を有する。ソフトウェア管理部110、インフラ管理部120およびバックアップ管理部130の機能は、プロセッサ101により実現される。例えば、プロセッサ101は、RAM102に記憶されたプログラムを実行することで、ソフトウェア管理部110、インフラ管理部120およびバックアップ管理部130の機能を発揮する。ただし、ソフトウェア管理部110、インフラ管理部120およびバックアップ管理部130の機能は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
The
FIG. 6 is a diagram illustrating an example of functions of the management server. The
ソフトウェア管理部110は、管理情報記憶部111、ソフトウェア情報取得部112、インフラ情報取得部113、依存関係管理部114、バックアップ時刻取得部115、依存関係判定部116および連携指示部117を有する。
The
管理情報記憶部111は、RAM102やHDD103の記憶領域を用いて実現される。管理情報記憶部111は、管理情報を記憶する。管理情報は、例えば、業務サーバ200におけるソフトウェアやファームウェアの更新の履歴やバックアップの履歴、および、公開サーバ400からダウンロードされた依存関係DB410の情報を含む。
The management
ソフトウェア情報取得部112は、業務サーバ200から利用されているソフトウェアおよび当該ソフトウェアのバージョンの情報を取得し、依存関係管理部114に提供する。
The software
インフラ情報取得部113は、業務サーバ200の各種ハードウェアや業務サーバ200の外部ハードウェアであるストレージ300やスイッチ50のファームウェアのバージョンの情報をインフラ管理部120から取得し、依存関係管理部114に提供する。
The infrastructure
依存関係管理部114は、ソフトウェア情報取得部112およびインフラ情報取得部113から取得した情報に基づいて、ソフトウェアやファームウェアの更新の履歴を生成し、管理情報記憶部111に格納する。依存関係管理部114は、公開サーバ400から依存関係DB410の内容をダウンロードし、管理情報記憶部111に格納する。
The dependency
バックアップ時刻取得部115は、バックアップ管理部130からバックアップが行われた時刻を取得し、バックアップデータの識別情報に対応付けて、管理情報記憶部111に格納する。管理情報記憶部111には、バックアップデータの識別情報に対応付けて、バックアップデータ取得時の業務サーバ200、ストレージ300およびスイッチ50のソフトウェアやファームウェアの構成情報が格納される。
The backup
依存関係判定部116は、バックアップ管理部130によるソフトウェアの動作環境の復旧が行われる場合に、ソフトウェアの復元先のバージョンと、ファームウェアの現在のバージョン(現バージョン)との組合せを確認する。依存関係判定部116は、管理情報記憶部111に記憶された依存関係DB410の内容を参照して、ソフトウェアの復元先のバージョンおよびファームウェアの現バージョンの少なくとも一方を変更要であるか否かを判定する。依存関係判定部116は、変更要である場合に、当該変更の内容を特定し、ディスプレイ61に表示させる。変更の内容は、現バージョンからのバージョンダウンのこともあるし、現バージョンからのバージョンアップのこともある。
When the
連携指示部117は、ソフトウェアの復元先のバージョンおよびファームウェアの現バージョンの少なくとも一方について変更要であると依存関係判定部116により判定された場合、ユーザによる当該変更の適用の指示を受け付ける。連携指示部117は、ユーザによる指示に応じて、ソフトウェアの復元先のバージョンの変更をバックアップ管理部130に指示する。あるいは、連携指示部117は、ファームウェアの現バージョンの更新をインフラ管理部120に指示する。
When the dependency
インフラ管理部120は、業務サーバ200の内蔵のハードウェアや外付けのハードウェア(ストレージ300やスイッチ50)のファームウェアのバージョンを管理する。
インフラ管理部120は、インフラ情報記憶部121およびFW(FirmWare)更新部122を有する。
The
The
インフラ情報記憶部121は、RAM102やHDD103の記憶領域を用いて実現される。インフラ情報記憶部121は、インフラ情報を記憶する。インフラ情報は、業務サーバ200の内蔵ハードウェアのファームウェアであるファームウェアC,D,Eの現バージョンの情報を含む。また、インフラ情報は、業務サーバ200の外部ハードウェアであるスイッチ50のファームウェアMのバージョンやストレージ300のファームウェアNの現バージョンの情報を含む。
The infrastructure
FW更新部122は、業務サーバ200、ストレージ300およびスイッチ50の何れかのファームウェアの更新(アップグレードまたはダウングレード)を、該当の装置に指示する。FW更新部122は、ファームウェアの更新結果を、インフラ情報記憶部121に記録する。また、FW更新部122は、業務サーバ200、ストレージ300およびスイッチ50の何れかから、ファームウェアの更新を行った旨の通知を受け付けることもある(FW更新部122の指示に依らずにファームウェアの更新が行われた場合)。この場合も、FW更新部122は、当該ファームウェアの更新結果をインフラ情報記憶部121に記録する。
The
バックアップ管理部130は、バックアップ記憶部131、バックアップ制御部132およびリストア制御部133を有する。
バックアップ記憶部131は、RAM102やHDD103の記憶領域を用いて実現される。バックアップ記憶部131は、バックアップデータを記憶する。バックアップデータは、業務サーバ200のソフトウェアの動作環境のバックアップである。業務サーバ200のバックアップは、所定のタイミング(例えば、所定の周期)で行われる。
The
The
バックアップ制御部132は、業務サーバ200のバックアップデータを取得し、バックアップ記憶部131に格納する。バックアップ制御部132は、バックアップデータの取得時刻(バックアップ時刻)を、バックアップ時刻取得部115に提供する。
The
例えば、バックアップ制御部132は、業務サーバ200で実行されるOSやミドルウェアなどのソフトウェア、ソフトウェアの処理に用いられるデータや設定情報などをファイル単位でバックアップしてもよい。あるいは、バックアップ制御部132は、業務サーバ200全体の情報を1つのイメージファイルとしてバックアップしてもよい。あるいは、バックアップ制御部132は、スナップショットと呼ばれる技術を用いて、業務サーバ200のバックアップを行ってもよい。
For example, the
リストア制御部133は、バックアップ記憶部131に記憶されたバックアップデータを用いて、業務サーバ200の動作環境を特定の時点の状態に復元する。
図7は、変更履歴テーブルの例を示す図である。変更履歴テーブル141は、管理情報記憶部111に格納されている。変更履歴テーブル141は、時刻、コンポーネントおよびバージョンの項目を含む。
The restore
FIG. 7 is a diagram illustrating an example of the change history table. The change history table 141 is stored in the management
時刻の項目には、時刻が登録される。コンポーネントの項目には、管理サーバ100による管理対象のコンポーネントの名称が登録される。コンポーネントとは、ソフトウェアおよびファームウェアの総称である。1つの時刻に対して、複数のコンポーネントが登録され得る。バージョンの項目には、該当の時刻における該当のコンポーネントのバージョンが登録される。
The time is registered in the time item. In the component item, the name of the component to be managed by the
例えば、変更履歴テーブル141には、時刻が“t1”、コンポーネントが“ソフトウェアA”、バージョンが“1.0”という情報が登録される。これは、時刻t1におけるソフトウェアAのバージョンが1.0であったことを示す。 For example, information indicating that the time is “t1”, the component is “software A”, and the version is “1.0” is registered in the change history table 141. This indicates that the version of software A at time t1 was 1.0.
変更履歴テーブル141には、時刻t1における管理対象の他のコンポーネントのバージョンも同様に登録される。また、変更履歴テーブル141には、他の時刻について、ソフトウェアAを含む複数のコンポーネントのバージョンも同様に登録される。変更履歴テーブル141における最新の時刻のコンポーネントのバージョンが、該当のコンポーネントの現バージョンを示す。 In the change history table 141, versions of other components to be managed at time t1 are also registered. In the change history table 141, the versions of a plurality of components including the software A are also registered at other times. The version of the component at the latest time in the change history table 141 indicates the current version of the corresponding component.
図8は、バックアップ管理テーブルの例を示す図である。バックアップ管理テーブル151は、管理情報記憶部111に格納されている。バックアップ管理テーブル151は、バックアップデータ、コンポーネントおよびバージョンの項目を含む。
FIG. 8 is a diagram illustrating an example of a backup management table. The backup management table 151 is stored in the management
バックアップデータの項目には、バックアップデータの識別名が登録される。コンポーネントの項目には、管理対象のコンポーネントの名称が登録される。1つのバックアップデータの識別名に対して、複数のコンポーネントが登録され得る。ただし、バックアップデータにはソフトウェアの情報は含まれるが、ファームウェアの情報は含まれない点に注意されたい。バージョンの項目には、該当のバックアップデータが取得された時点における該当のコンポーネントのバージョンが登録される。 In the backup data item, the identification name of the backup data is registered. In the component item, the name of the component to be managed is registered. Multiple components can be registered for one backup data identifier. Note that the backup data includes software information, but not firmware information. In the version item, the version of the corresponding component at the time when the corresponding backup data is acquired is registered.
例えば、バックアップ管理テーブル151には、バックアップデータが“バックアップBa”、コンポーネントが“ソフトウェアA”、バージョンが“a1”という情報が登録される。これは、バックアップデータ“バックアップBa”が取得された時点におけるソフトウェアAのバージョンがa1であったことを示す。 For example, information that backup data is “backup Ba”, component is “software A”, and version is “a1” is registered in the backup management table 151. This indicates that the version of the software A at the time when the backup data “backup Ba” is acquired is a1.
バックアップ管理テーブル151には、バックアップデータ“バックアップBa”に対して、他のコンポーネントのバージョンも同様に登録される。また、バックアップ管理テーブル151には、他のバックアップデータについて、ソフトウェアAを含む複数のコンポーネントのバージョンも同様に登録される。 In the backup management table 151, versions of other components are similarly registered for the backup data “backup Ba”. In the backup management table 151, versions of a plurality of components including the software A are registered in the same manner for other backup data.
図9は、依存関係テーブルの第1の例を示す図である。依存関係テーブル161は、ソフトウェアAの各バージョンに対して整合性確認済の他のコンポーネントのバージョンを示す情報である。依存関係テーブル161は、管理情報記憶部111に格納されている。依存関係テーブル161には、ソフトウェアAバージョンおよびコンポーネントの項目を含む。
FIG. 9 is a diagram illustrating a first example of the dependency relationship table. The dependency relationship table 161 is information indicating the versions of other components whose consistency has been confirmed for each version of the software A. The dependency relationship table 161 is stored in the management
ソフトウェアAバージョンの項目には、ソフトウェアAのバージョンが登録される。コンポーネントの項目には、コンポーネント毎に、ソフトウェアAの該当のバージョンに対して整合性が保証されたバージョン範囲が登録される。なお、依存関係テーブル161の例では、コンポーネントの項目にソフトウェアAを含んでいる。ソフトウェアAに対するバージョン範囲は、設定なし(ハイフン記号“−”で表している)である。また、ソフトウェアAの該当のバージョンに対して依存関係(整合性有無)を考慮しなくてよい場合も、当該コンポーネントのバージョン範囲は、設定なしとなる。 The version of software A is registered in the item of software A version. In the component item, a version range in which consistency is guaranteed for the corresponding version of the software A is registered for each component. In the example of the dependency relationship table 161, the component A includes software A. The version range for software A is not set (represented by a hyphen symbol “-”). In addition, even when it is not necessary to consider the dependency relationship (whether there is consistency) for the corresponding version of software A, the version range of the component is not set.
例えば、依存関係テーブル161には、ソフトウェアAバージョンが“1.0”、ソフトウェアAのバージョン範囲が設定なし、ソフトウェアBのバージョン範囲が“α(1.0,m)≦b≦α(1.0,n)”、・・・、サーバファームウェアCのバージョン範囲が“α(1.0,o)≦fc≦α(1.0,p)”、・・・、ストレージファームウェアNのバージョン範囲が“α(1.0,r)≦fn≦α(1.0,s)”という情報が登録される。 For example, in the dependency relationship table 161, the software A version is “1.0”, the version range of the software A is not set, and the version range of the software B is “α (1.0, m) ≦ b ≦ α (1.0, n). ,..., The server firmware C version range is “α (1.0, o) ≦ fc ≦ α (1.0, p) ”,..., And the storage firmware N version range is “α (1.0, r) ≦ Information “fn ≦ α (1.0, s) ” is registered.
これは、ソフトウェアAのバージョン1.0に対して、整合性が保証されたソフトウェアBのバージョン範囲がα(1.0,m)≦b≦α(1.0,n)であることを示す。また、ソフトウェアAのバージョン1.0に対して、整合性が保証されたファームウェアCのバージョン範囲がα(1.0,o)≦fc≦α(1.0,p)であることを示す。更に、ソフトウェアAのバージョン1.0に対して、整合性が保証されたファームウェアNのバージョン範囲がα(1.0,r)≦fn≦α(1.0,s)であることを示す。 This indicates that the version range of software B for which consistency is guaranteed is α (1.0, m) ≦ b ≦ α (1.0, n) with respect to version 1.0 of software A. It also indicates that the version range of firmware C for which consistency is guaranteed is α (1.0, o) ≦ fc ≦ α (1.0, p) with respect to version 1.0 of software A. Further, it indicates that the version range of firmware N for which consistency is guaranteed is α (1.0, r) ≦ fn ≦ α (1.0, s) with respect to version 1.0 of software A.
依存関係テーブル161には、ソフトウェアAの他のバージョンについても同様に、整合性が保証された他のコンポーネントのバージョン範囲が登録される。
図10は、依存関係テーブルの第2の例を示す図である。依存関係テーブル162は、ソフトウェアBの各バージョンに対して整合性確認済の他のコンポーネントのバージョンを示す情報である。依存関係テーブル162は、管理情報記憶部111に格納されている。依存関係テーブル162には、ソフトウェアBバージョンおよびコンポーネントの項目を含む。
Similarly, in the dependency relationship table 161, the version ranges of other components whose consistency is guaranteed are registered for other versions of the software A.
FIG. 10 is a diagram illustrating a second example of the dependency relationship table. The dependency relationship table 162 is information indicating the versions of other components whose consistency has been confirmed for each version of the software B. The dependency relationship table 162 is stored in the management
ソフトウェアBバージョンの項目には、ソフトウェアBのバージョンが登録される。コンポーネントの項目には、コンポーネント毎に、ソフトウェアBの該当のバージョンに対して整合性が保証されたバージョン範囲が登録される。なお、依存関係テーブル162の例では、コンポーネントの項目にソフトウェアBを含んでいる。ソフトウェアBに対するバージョン範囲は、設定なし(ハイフン記号“−”で表している)である。また、ソフトウェアBの該当のバージョンに対して依存関係(整合性有無)を考慮しなくてよい場合も、当該コンポーネントのバージョン範囲は、設定なしとなる。 The version of software B is registered in the item of software B version. In the component item, a version range in which consistency is guaranteed for the corresponding version of the software B is registered for each component. In the example of the dependency relationship table 162, the component B includes software B. The version range for software B is not set (represented by a hyphen symbol “-”). Further, even when it is not necessary to consider the dependency relationship (whether or not there is consistency) with respect to the corresponding version of software B, the version range of the component is not set.
例えば、依存関係テーブル162には、ソフトウェアBバージョンが“1.0”、ソフトウェアAのバージョン範囲が“β(1.0,k)≦a≦β(1.0,l)”、ソフトウェアBのバージョン範囲が設定なし、・・・、サーバファームウェアCのバージョン範囲が“β(1.0,o)≦fc≦β(1.0,p)”、・・・、ストレージファームウェアNのバージョン範囲が“β(1.0,r)≦fn≦β(1.0,s)”という情報が登録される。 For example, in the dependency relationship table 162, the software B version is “1.0”, the version range of the software A is “β (1.0, k) ≦ a ≦ β (1.0, l) ”, and the version range of the software B is set. None, the version range of the server firmware C is “β (1.0, o) ≦ fc ≦ β (1.0, p) ”,..., The version range of the storage firmware N is “β (1.0, r) ≦ Information “fn ≦ β (1.0, s) ” is registered.
これは、ソフトウェアBのバージョン1.0に対して、整合性が保証されたソフトウェアAのバージョン範囲がβ(1.0,k)≦a≦β(1.0,l)であることを示す。また、ソフトウェアBのバージョン1.0に対して、整合性が保証されたファームウェアCのバージョン範囲がβ(1.0,o)≦fc≦β(1.0,p)であることを示す。更に、ソフトウェアBのバージョン1.0に対して、整合性が保証されたファームウェアNのバージョン範囲がβ(1.0,r)≦fn≦β(1.0,s)であることを示す。 This indicates that the version range of software A for which consistency is guaranteed is β (1.0, k) ≦ a ≦ β (1.0, l) with respect to version 1.0 of software B. Further, the version range of the firmware C for which the consistency is guaranteed with respect to the version 1.0 of the software B is β (1.0, o) ≦ fc ≦ β (1.0, p) . Further, it indicates that the version range of firmware N for which consistency is guaranteed is β (1.0, r) ≦ fn ≦ β (1.0, s) with respect to version 1.0 of software B.
依存関係テーブル162には、ソフトウェアBの他のバージョンについても同様に、整合性が保証された他のコンポーネントのバージョン範囲が登録される。
図9,図10では、ソフトウェアAに関する依存関係テーブル161およびソフトウェアBに関する依存関係テーブル162を例示したが、他のソフトウェアおよびファームウェアに関する他の依存関係テーブルも管理情報記憶部111に格納されている。
Similarly, the version ranges of other components whose consistency is guaranteed are registered in the dependency relationship table 162 for other versions of the software B as well.
9 and 10 exemplify the dependency relationship table 161 related to the software A and the dependency relationship table 162 related to the software B, but other dependency relationship tables related to other software and firmware are also stored in the management
図11は、依存関係管理情報の例を示す図である。依存関係管理情報171は、管理情報記憶部111に記憶された各ソフトウェアおよび各ファームウェアの依存関係テーブルに基づいて、依存関係判定部116により作成され、管理情報記憶部111に格納される。依存関係管理情報171は、時刻tにおける、あるコンポーネントのバージョンと他のコンポーネントのバージョンとの依存関係を表す。依存関係管理情報171は、コンポーネント名、時刻tのバージョン、バージョン範囲の項目を含む。
FIG. 11 is a diagram illustrating an example of dependency management information. The dependency
コンポーネント名の項目には、コンポーネントの名称が登録される。時刻tのバージョンの項目には、時刻tにおけるバージョンが登録される。バージョン範囲の項目には、該当のコンポーネントに対して、整合性が保証された他のコンポーネントのバージョン範囲が登録される。コンポーネント名の項目と同じコンポーネントに対するバージョン範囲は、設定なし(ハイフン記号“−”で表している)である。また、コンポーネント名の項目のコンポーネントに対して依存関係を考慮しなくてよい場合も、当該コンポーネントのバージョン範囲は、設定なしとなる。 In the component name item, the name of the component is registered. In the version item at time t, the version at time t is registered. In the version range item, the version range of another component whose consistency is guaranteed for the corresponding component is registered. The version range for the same component as the component name item is not set (represented by a hyphen symbol “-”). In addition, even when it is not necessary to consider the dependency on the component of the component name item, the version range of the component is not set.
例えば、依存関係管理情報171には、コンポーネント名が“ソフトウェアA”、時刻tのバージョンが“1.0”、ソフトウェアAのバージョン範囲が設定なし“−”、ソフトウェアBのバージョン範囲が“α(1.0,m)≦b≦α(1.0,n)”、・・・、サーバファームウェアCのバージョン範囲が“α(1.0,o)≦fc≦α(1.0,p)”、・・・、ストレージファームウェアNのバージョン範囲が“α(1.0,r)≦fn≦α(1.0,s)”という情報が登録される。
For example, in the dependency
これは、ソフトウェアAのバージョン1.0に対して、整合性が保証されたソフトウェアBのバージョン範囲がα(1.0,m)≦b≦α(1.0,n)であることを示す。また、ソフトウェアAのバージョン1.0に対して、整合性が保証されたファームウェアCのバージョン範囲がα(1.0,o)≦fc≦α(1.0,p)であることを示す。更に、ソフトウェアAのバージョン1.0に対して、整合性が保証されたファームウェアNのバージョン範囲がα(1.0,r)≦fn≦α(1.0,s)であることを示す。 This indicates that the version range of software B for which consistency is guaranteed is α (1.0, m) ≦ b ≦ α (1.0, n) with respect to version 1.0 of software A. It also indicates that the version range of firmware C for which consistency is guaranteed is α (1.0, o) ≦ fc ≦ α (1.0, p) with respect to version 1.0 of software A. Further, it indicates that the version range of firmware N for which consistency is guaranteed is α (1.0, r) ≦ fn ≦ α (1.0, s) with respect to version 1.0 of software A.
依存関係管理情報171には、他のコンポーネントの時刻tのバージョンについても同様に、整合性が保証された他のコンポーネントのバージョン範囲が登録される。
依存関係判定部116は、依存関係管理情報171により、あるコンポーネントについて、時刻tにおける全ての他のコンポーネントのバージョンと整合性が保証されたバージョン範囲(集合)を得ることができる。
Similarly, for the version at time t of other components, the version range of other components for which consistency is guaranteed is registered in the dependency
Based on the
例えば、ソフトウェアAの列に着目すると、“β(1.0,k)≦a≦β(1.0,l)”、・・・、“γ(1.a,k)≦a≦γ(1.a,l)”、・・・、“ν(2.0,k)≦a≦ν(2.0,l)”の条件を全て満たすaの集合Sa(t)を得ることができる。 For example, when focusing on the column of software A, “β (1.0, k) ≦ a ≦ β (1.0, l) ”,..., “Γ (1.a, k) ≦ a ≦ γ (1.a, l) A set Sa (t) satisfying all the conditions of “,...,“ ν (2.0, k) ≦ a ≦ ν (2.0, l) ”can be obtained.
この場合、Sa(t)={[β(1.0,k)≦a≦β(1.0,l)]∧,・・・,∧[γ(1.a,k)≦a≦γ(1.a,l)]∧、・・・、∧[ν(2.0,k)≦a≦ν(2.0,l)]}である。ここで、記号∧は、アンド演算(論理積)を表す。 In this case, Sa (t) = {[β (1.0, k) ≦ a ≦ β (1.0, l) ] ∧,..., ∧ [γ (1.a, k) ≦ a ≦ γ (1.a , l) ] ∧,..., ∧ [ν (2.0, k) ≦ a ≦ ν (2.0, l) ]}. Here, the symbol ∧ represents an AND operation (logical product).
同様に、依存関係判定部116は、例えば、ソフトウェアBのバージョンbに対して集合Sb(t)を得る。また、依存関係判定部116は、ファームウェアCのバージョンfcに対して集合Sfc(t)を得る。依存関係判定部116は、ファームウェアNのバージョンfnに対して集合Sfn(t)を得る。
Similarly, the dependency
図12は、依存関係管理情報の第1の具体例を示す図である。依存関係管理情報172は、依存関係管理情報171の時刻t=taの場合を示している。時刻taにおける各コンポーネントのバージョンは次の通りである。ソフトウェアAのバージョンは“1.5”である。ソフトウェアBのバージョンは“1.1”である。ファームウェアCのバージョンは“7.0”である。ファームウェアNのバージョンは“2.0”である。ここで、説明を簡単にするために、ソフトウェアA,BおよびファームウェアC,N以外のコンポーネントについては、依存関係を考慮しなくてよいものとする(図13,図14も同様)。
FIG. 12 is a diagram illustrating a first specific example of the dependency relationship management information. The dependency
依存関係管理情報171によれば、ソフトウェアAのバージョンaが、他のコンポーネントとの整合性確保の上で満たすべき条件は、集合Sa(ta)で表される。Sa(ta)={[1.0≦a≦2.0]∧[1.5≦a≦3.0]}={1.5≦a≦2.0}である。
According to the dependency
ソフトウェアBのバージョンbが他のコンポーネントとの整合性確保の上で満たすべき条件は、集合Sb(ta)で表される。Sb(ta)={[1.0≦b≦2.5]∧[1.0≦b≦2.0]∧[1.0≦b≦1.5]}={1.0≦b≦1.5}である。 A condition that the version b of the software B should satisfy in order to ensure consistency with other components is represented by a set Sb (ta). Sb (ta) = {[1.0 ≦ b ≦ 2.5] ∧ [1.0 ≦ b ≦ 2.0] ∧ [1.0 ≦ b ≦ 1.5]} = {1.0 ≦ b ≦ 1.5}.
ファームウェアCのバージョンfcが他のコンポーネントとの整合性確保の上で満たすべき条件は、集合Sfc(ta)で表される。Sfc(ta)={[2.0≦fc≦7.2]∧[2.0≦fc≦7.2]}={2.0≦fc≦7.2}である。 A condition that the version fc of the firmware C should satisfy in order to ensure consistency with other components is represented by a set Sfc (ta). Sfc (ta) = {[2.0 ≦ fc ≦ 7.2] ∧ [2.0 ≦ fc ≦ 7.2]} = {2.0 ≦ fc ≦ 7.2}.
ファームウェアNのバージョンfnが他のコンポーネントとの整合性確保の上で満たすべき条件は、集合Sfc(ta)で表される。Sfc(ta)={1.0≦fn≦2.5}である。 A condition that the version fn of the firmware N should satisfy in order to ensure consistency with other components is represented by a set Sfc (ta). Sfc (ta) = {1.0 ≦ fn ≦ 2.5}.
図13は、依存関係管理情報の第2の具体例を示す図である。依存関係管理情報173は、依存関係管理情報171の時刻t=tbの場合を示している。ここで、時刻tbは、時刻taよりも後の時刻である。時刻tbにおける各コンポーネントのバージョンは次の通りである。ソフトウェアAのバージョンは“1.5”である。ソフトウェアBのバージョンは“1.2”である。ファームウェアCのバージョンは“7.2”である。ファームウェアNのバージョンは“4.0”である。
FIG. 13 is a diagram illustrating a second specific example of the dependency management information. The dependency
図14は、依存関係管理情報の第3の具体例を示す図である。依存関係管理情報174は、依存関係管理情報173に対して、ソフトウェアA,Bを時刻taの状態にリストアする場合の例を示している。依存関係管理情報174では、ファームウェアC,Nのバージョンは、依存関係管理情報173のバージョン(時刻tbのバージョン)となる。一方、依存関係管理情報174では、ソフトウェアA,Bのバージョンは、依存関係管理情報172のバージョン(時刻ta)のバージョンとなる。
FIG. 14 is a diagram illustrating a third specific example of the dependency relationship management information. The dependency
依存関係判定部116は、依存関係管理情報174に基づいて、各コンポーネントのバージョンが時刻taへのリストア後も他のコンポーネントとの整合性が保証されたバージョンであるか否かを確認することができる。ここで、該当のコンポーネントがリストア後の状態で満たすべき条件を表すバージョン範囲を、例えば、集合Sa(ta’)と表すこととする。依存関係管理情報174によれば、Sa(ta’)=[1.5≦a≦2.0]である。Sb(ta’)=[1.2≦b≦1.5]である。Sfc(ta’)=[2.0≦fc≦7.2]である。Sfn(ta’)=[1.0≦fn≦2.5]である。
Based on the
例えば、依存関係判定部116は、リストア後のソフトウェアAのバージョン“1.5”は、集合Sa(ta’)=[1.5≦a≦2.0]に属するので、全ての他のコンポーネントとの整合性を満たすと判断する。
For example, since the version “1.5” of the restored software A belongs to the set Sa (ta ′) = [1.5 ≦ a ≦ 2.0], the
依存関係判定部116は、リストア後のソフトウェアBのバージョン“1.1”は、集合Sb(ta’)=[1.2≦b≦1.5]に属さないので、一部のコンポーネントに対して不整合が発生すると判断する。
Since the version “1.1” of the software B after restoration does not belong to the set Sb (ta ′) = [1.2 ≦ b ≦ 1.5], the
依存関係判定部116は、ファームウェアCのバージョン“7.2”は、集合Sfc(ta’)=[2.0≦fc≦7.2]に属するので、全ての他のコンポーネントとの整合性を満たすと判断する。
Since the version “7.2” of the firmware C belongs to the set Sfc (ta ′) = [2.0 ≦ fc ≦ 7.2], the
依存関係判定部116は、ファームウェアNのバージョン“4.0”は、集合Sfn(ta’)=[1.0≦fn≦2.5]に属さないので、一部のコンポーネントに対して不整合が発生すると判断する。
The
更に、依存関係管理情報174によれば、ファームウェアNのバージョン“4.0”に対して、ソフトウェアBのバージョンbは“1.2≦b≦1.5”の範囲が整合性の保証されたバージョンであるが、b=1.1は、当該範囲に属さない。また、ソフトウェアBに対して、ファームウェアNのバージョンfnは“1.0≦fn≦2.5”の範囲が整合性の保証されたバージョンであるが、fn=4.0は、当該範囲に属さない。したがって、依存関係判定部116は、ソフトウェアBのリストア先のバージョン“1.1”と、ファームウェアNの現バージョン“4.0”との間に不整合が発生すると判断する。
Further, according to the
このように、依存関係判定部116は、依存関係管理情報174に基づいて、複数のファームウェアそれぞれの現バージョンの全てに対して整合性を確認済であるソフトウェアBのバージョン範囲を特定する。そして、依存関係判定部116は、ソフトウェアBの復元後のバージョンが当該バージョン範囲に属するか否かに応じて、ソフトウェアBの復元先のバージョンまたは他のコンポーネントの現バージョンの変更の要否を判定する。
As described above, the dependency
更に、依存関係判定部116は、リストア後も現バージョンと変わらないソフトウェアAがある場合、依存関係管理情報174に基づいて、ファームウェアC,Nそれぞれの現在のバージョン、および、ソフトウェアAの現バージョンの全てに対して整合性を確認済であるソフトウェアBのバージョン範囲を特定する。そして、依存関係判定部116は、ソフトウェアBの復元後のバージョンが当該バージョン範囲に属するか否かに応じて、ソフトウェアBの復元先のバージョンまたは他のコンポーネントの現バージョンの変更の要否を判定する。
Furthermore, if there is software A that remains the same as the current version after restoration, the
図15は、ポリシー情報の例を示す図である。ポリシー情報181は、管理情報記憶部111に格納されている。ポリシー情報181は、リストア時にコンポーネント間のバージョンに不整合が発生する場合に、整合性を保証するためのコンポーネントのバージョン変更方法に対するポリシーを規定する情報である。ポリシー情報181は、ポリシーID(IDentifier)およびポリシー内容の項目を含む。
FIG. 15 is a diagram illustrating an example of policy information. The
ポリシーIDの項目には、ポリシーを識別する識別情報が登録される。ポリシー内容の項目には、ポリシーの内容が登録される。
例えば、ポリシー情報181には、ポリシーIDが“1”、ポリシー内容が“依存関係を満たすバージョンのうち、最新バージョンを使用”という情報が登録されている。
In the policy ID item, identification information for identifying a policy is registered. In the policy content item, the content of the policy is registered.
For example, in the
また、ポリシー情報181には、ポリシーIDが“2”、ポリシー内容が“依存関係を満たすバージョンのうち、現バージョンとの差が最小のバージョンを使用”という情報が登録されている。
In the
また、ポリシー情報181には、ポリシーIDが“3”、ポリシー内容が“依存関係を満たすバージョンのうち、適用後の再起動が不要なバージョンを使用”という情報が登録されている。
In the
また、ポリシー情報181には、ポリシーIDが“4”、ポリシー内容が“特定のコンポーネントのバージョンを固定し、ポリシーID“1”または“2”のポリシーに従って他のコンポーネントのバージョンを決定”という情報が登録される。ポリシーID“4”のポリシーでは、依存関係判定部116は、管理対象のコンポーネントのうち、1つのコンポーネントのバージョンを固定して依存関係を判定する。そして、依存関係判定部116は、固定されたコンポーネントのバージョンに対して、整合性が保証された他のコンポーネントのバージョンを導き出す。この際に、依存関係判定部116は、「最新のバージョン」(ポリシーID“1”)または「最も更新範囲が小さいバージョン」(ポリシーID“2”)の基準により該当のバージョンを特定する。
The
依存関係判定部116は、ユーザにより指定されたポリシーに従って、不整合が発生する場合のコンポーネントのバージョン変更内容を特定する。バージョン変更内容の特定方法の具体例については後述される。
The dependency
図16は、再起動テーブルの例を示す図である。再起動テーブル191は、管理情報記憶部111に格納されている。再起動テーブル191は、コンポーネントのバージョンについて、当該バージョンを適用した場合の再起動の要否を示す情報である。再起動テーブル191は、コンポーネント、バージョンおよび再起動の項目を含む。
FIG. 16 is a diagram illustrating an example of a restart table. The restart table 191 is stored in the management
コンポーネントの項目には、コンポーネントの名称が登録される。バージョンの項目には、バージョンが登録される。再起動の項目には、該当のコンポーネントの該当のバージョンを適用した場合における適用先装置の再起動の要否が登録される。 In the component item, the name of the component is registered. The version is registered in the version item. In the restart item, the necessity of restart of the application target apparatus when the corresponding version of the corresponding component is applied is registered.
例えば、再起動テーブル191には、コンポーネントが“サーバファームウェアC”、バージョンが“1.0”、再起動が“要”という情報が登録されている。これは、ファームウェアCのバージョン“1.0”を適用した後に、業務サーバ200の再起動が必要であることを示す。
For example, information indicating that the component is “server firmware C”, the version is “1.0”, and the restart is “required” is registered in the restart table 191. This indicates that it is necessary to restart the
また、例えば、再起動テーブル191には、コンポーネントが“サーバファームウェアC”、バージョンが“1.1”、再起動が“不要”という情報が登録されている。これは、ファームウェアCのバージョン“1.1”を適用した後に、業務サーバ200の再起動が不要であることを示す。
For example, in the restart table 191, information that the component is “server firmware C”, the version is “1.1”, and the restart is “unnecessary” is registered. This indicates that it is not necessary to restart the
再起動テーブル191には、他のコンポーネントについても、バージョン毎に、適用時の再起動要否が登録される。
次に、管理サーバによる処理手順を説明する。
In the restart table 191, the necessity of restart at the time of application is registered for each version for other components as well.
Next, a processing procedure by the management server will be described.
図17は、管理サーバの処理例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。下記の手順は、管理サーバ100が、所定のバックアップデータを指定したリストア指示を受けると開始される。リストア指示は、例えば、ユーザにより管理サーバ100に入力される。
FIG. 17 is a flowchart illustrating a processing example of the management server. In the following, the process illustrated in FIG. 17 will be described in order of step number. The following procedure is started when the
(S1)依存関係管理部114は、管理対象装置の構成情報を取得し、当該構成情報を更新する。具体的には、依存関係管理部114は、ソフトウェア情報取得部112およびインフラ情報取得部113を介して、業務サーバ200のソフトウェア構成やファームウェア構成の情報を取得する。また、依存関係管理部114は、インフラ情報取得部113を介して、業務サーバ200の外部ハードウェアであるストレージ300やスイッチ50のファームウェア構成の情報を取得する。依存関係管理部114は、取得した構成情報について、前回と変更がある場合、管理情報記憶部111に記憶された変更履歴テーブル141に最新の状態を登録する。
(S1) The dependency
(S2)依存関係管理部114は、依存関係DB410の更新があるか否かを、公開サーバ400に問い合わせる。依存関係DB410の更新がある場合、依存関係管理部114は、ステップS3に処理を進める。依存関係DB410の更新がない場合、依存関係管理部114は、ステップS4に処理を進める。
(S2) The dependency
(S3)依存関係管理部114は、公開サーバ400から依存関係DB410の更新内容を取得し、取得した更新内容に基づいて、管理情報記憶部111に記憶された各コンポーネントの依存関係テーブルを更新する。
(S3) The dependency
(S4)リストア制御部133は、ユーザによるリストア指示により指定されたリストア対象のバックアップデータを選択する。依存関係判定部116は、当該バックアップデータの識別情報をリストア制御部133から取得する。依存関係判定部116は、バックアップデータの識別情報を基に、管理情報記憶部111に記憶されたバックアップ管理テーブル151を検索し、今回のリストアによる復元対象のソフトウェアの復元先のバージョンを特定する。また、依存関係判定部116は、バックアップ時刻取得部115により記録された該当のバックアップデータに対応する時刻(復元先の時刻)を、管理情報記憶部111から読み出す。
(S4) The restore
(S5)依存関係判定部116は、ポリシーを選択する。例えば、依存関係判定部116は、ユーザにより指定されたポリシーIDに応じたポリシーを選択する。
(S6)依存関係判定部116は、ポリシーに応じたバージョン選択処理を実行する。バージョン選択処理の詳細は、後述される。
(S5) The dependency
(S6) The dependency
(S7)依存関係判定部116は、ポリシーに従って適用されるコンポーネントのバージョンを表示する。
(S8)依存関係判定部116は、ステップS7の表示内容(表示されたコンポーネントのバージョン)を適用するか否かを判定する。適用する場合、依存関係判定部116は、ステップS9に処理を進める。適用しない場合、依存関係判定部116は、ステップS10に処理を進める。例えば、依存関係判定部116は、ステップS7における表示内容を適用する旨の指示を受け付けた場合に、当該表示内容を適用すると判定し、当該表示内容を適用しない旨の指示を受け付けた場合に、当該表示内容を適用しないと判定する。
(S7) The dependency
(S8) The dependency
(S9)連携指示部117は、バージョンの変更対象となる特定のファームウェアに対して、ステップS7で表示したバージョン(当該ファームウェアの現バージョンとは異なるバージョン)の適用をFW更新部122に指示する。FW更新部122は、連携指示部117の指示に応じて、ファームウェアのバージョン変更を、該当のハードウェアを備える装置(業務サーバ200、ストレージ300およびスイッチ50など)に指示する。これにより、ファームウェアのバージョン変更が行われる。
(S9) The
(S10)連携指示部117は、業務サーバ200におけるバックアップデータのリストアの実行をリストア制御部133に指示する。リストア制御部133は、連携指示部117の指示に応じて、該当のバックアップデータによる業務サーバ200のリストアを実行する。これにより、業務サーバ200のソフトウェアの動作環境がバックアップデータの取得時点の状態に復元される。
(S10) The
なお、ステップS6では、あるソフトウェア(復元対象のソフトウェアまたは他のソフトウェア)に対するバージョン変更が選択されることもある。この場合、ステップS10において、連携指示部117は、該当のソフトウェアに対するバージョン変更をリストア制御部133に指示する。リストア制御部133は、例えば、業務サーバ200のリストア完了後に、指示されたソフトウェアのバージョン変更を当該業務サーバ200に指示する。業務サーバ200は、管理サーバ100または公開サーバ400から該当のソフトウェアについて指定されたバージョンのプログラムを取得し、当該ソフトウェアのバージョンを変更する。
In step S6, version change for certain software (restoration target software or other software) may be selected. In this case, in step S10, the
次に、ステップS6のポリシーに応じたバージョン選択処理を例示する。選択対象となるポリシーの候補は、図15で例示したポリシーID“1”、“2”、“3”、“4”である。まず、ポリシーID“1”が選択された場合を説明する。ポリシーID“1”は、“依存関係を満たすバージョンのうち、最新のバージョンを使用”するポリシーである。 Next, the version selection process according to the policy in step S6 will be exemplified. Policy candidates to be selected are the policy IDs “1”, “2”, “3”, and “4” illustrated in FIG. First, a case where the policy ID “1” is selected will be described. The policy ID “1” is a policy that “uses the latest version among the versions satisfying the dependency”.
図18は、バージョン選択処理例(その1)を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。以下の手順は、図17のステップS6(ポリシーID“1”が選択された場合)に相当する。 FIG. 18 is a flowchart illustrating an example (part 1) of the version selection process. In the following, the process illustrated in FIG. 18 will be described in order of step number. The following procedure corresponds to step S6 in FIG. 17 (when policy ID “1” is selected).
(S21)依存関係判定部116は、各コンポーネントの依存関係テーブルに基づいて、リストア先の時刻に対応する依存関係管理情報を生成する。前述の例でいえば、時刻tbから時刻taの状態へリストアする場合、依存関係判定部116は、図14で例示した依存関係管理情報174を生成する。依存関係判定部116は、変数xに1を代入する(x=1)。ここで、変数xは、今回生成された依存関係管理情報のバージョン範囲の項目における列番号を表す。例えば、依存関係管理情報174では、x=1の列は、バージョン範囲の項目におけるソフトウェアAの列に相当する。また、x=2の列は、バージョン範囲の項目におけるソフトウェアBの列に相当する。管理対象となるコンポーネント数をnとすると、依存関係管理情報174におけるx=nの列は、例えば、ファームウェアNの列に相当する。
(S21) The dependency
(S22)依存関係判定部116は、変数yに1を代入する(y=1)。依存関係判定部116は、Max(x)にz(x,y)=z(x,1)を代入する(Max(x)=z(x,1))。ここで、変数yは、依存関係管理情報の行番号を表す。例えば、依存関係管理情報174では、y=1の行は、ソフトウェアAのバージョン“1.5”の行に相当する。また、y=2の行は、ソフトウェアBのバージョン“1.1”の行に相当する。依存関係管理情報174におけるx=nの行は、例えば、ファームウェアNの列に相当する。また、z(x,y)は、x列目のコンポーネントPxのバージョンのうち、y行目のコンポーネントPyと整合性を有するバージョンの最大値を示す。Max(x)は、x列目のコンポーネントPxのバージョンのうち、1〜n行目のコンポーネントPy(y=1〜n)の全てと整合性を満たすバージョンの最大値を示す(Max(x)は本手順により確定される目的値である)。なお、依存関係管理情報の(x,1)に相当するバージョン範囲が設定なしの場合、依存関係判定部116は、ステップS23〜S25をスキップしてステップS26を実行してよい。
(S22) The dependency
(S23)依存関係判定部116は、y行目のコンポーネントPyと整合性を満たすx列目のコンポーネントPxのバージョンのうちの最大値をバージョンz(=z(x,y))とする。
(S23) The dependency
(S24)依存関係判定部116は、z(x,y)がMax(x)よりも小さい(z(x,y)<Max(x))か否かを判定する。z(x,y)がMax(x)よりも小さい場合、依存関係判定部116は、ステップS25に処理を進める。z(x,y)がMax(x)以上の場合、依存関係判定部116は、ステップS26に処理を進める。
(S24) The dependency
(S25)依存関係判定部116は、Max(x)にz(x,y)を代入する(Max(x)=z(x,y))。
(S26)依存関係判定部116は、yにy+1を代入する(y=y+1)。
(S25) The dependency
(S26) The dependency
(S27)依存関係判定部116は、yがnよりも大きい(y>n)か否かを判定する。yがnよりも大きい場合、依存関係判定部116は、ステップS28に処理を進める。yがn以下の場合、依存関係判定部116は、ステップS23に処理を進める。
(S27) The dependency
(S28)依存関係判定部116は、コンポーネントPxに対するバージョンMax(x)を確定する。
(S29)依存関係判定部116は、xにx+1を代入する(x=x+1)。
(S28) The dependency
(S29) The dependency
(S30)依存関係判定部116は、xがnよりも大きい(x>n)か否かを判定する。xがnよりも大きい場合、依存関係判定部116は、バージョン選択処理を終了する。xがn以下の場合、依存関係判定部116は、ステップS22に処理を進める。
(S30) The dependency
こうして、依存関係判定部116は、各コンポーネントについて、他のコンポーネントとの依存関係を満たすバージョンのうち、最新のバージョンMax(x)を選択することができる。
In this way, the dependency
次に、ポリシーID“2”が選択された場合を説明する。ポリシーID“2”は、“依存関係を満たすバージョンのうち、現バージョンとの差が最小のバージョンを使用”するポリシーである。 Next, a case where the policy ID “2” is selected will be described. The policy ID “2” is a policy that “uses the version that satisfies the dependency relationship and has the smallest difference from the current version”.
図19は、バージョン選択処理例(その2)を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。以下の手順は、図17のステップS6(ポリシーID“2”が選択された場合)に相当する。 FIG. 19 is a flowchart illustrating an example of version selection processing (part 2). In the following, the process illustrated in FIG. 19 will be described in order of step number. The following procedure corresponds to step S6 in FIG. 17 (when policy ID “2” is selected).
(S41)依存関係判定部116は、各コンポーネントの依存関係テーブルに基づいて、リストア先の時刻に対応する依存関係管理情報を生成する。前述の例でいえば、時刻tbから時刻taの状態へリストアする場合、依存関係判定部116は、図14で例示した依存関係管理情報174を生成する。依存関係判定部116は、変数xに1を代入する(x=1)。変数xの意味は、ステップS21の説明と同様である。
(S41) The dependency
(S42)依存関係判定部116は、変数yに1を代入する(y=1)。依存関係判定部116は、Min(x)にv(x,y)=(x,1)を代入する(Min(x)=v(x,y)=v(x,1))。依存関係判定部116は、Max(x)にz(x,y)=z(x,1)を代入する(Max(x)=z(x,y)=z(x,1))。依存関係判定部116は、x列目のコンポーネントPxの現バージョンを変数A(x)に代入する。ここで、変数y、Max(x)およびz(x,y)の意味は、ステップS22の説明と同様である。v(x,y)は、x列目のコンポーネントPxのバージョンのうち、y行目のコンポーネントPyと整合性を有するバージョンの最小値を示す。Min(x)は、x列目のコンポーネントPxのバージョンのうち、1〜n行目のコンポーネントPy(y=1〜n)の全てと整合性を満たすバージョンの最小値を示す(Min(x)およびMax(x)は本手順により確定される目的値である)。なお、依存関係管理情報の(x,1)に相当するバージョン範囲が設定なしの場合、依存関係判定部116は、ステップS43〜S47をスキップしてステップS48を実行してよい。
(S42) The dependency
(S43)依存関係判定部116は、y行目のコンポーネントPyと整合性を満たすx列目のコンポーネントPxのバージョンのうちの最小値をバージョンv(=v(x,y))とし、最大値をバージョンz(=z(x,y))とする。
(S43) The dependency
(S44)依存関係判定部116は、z(x,y)がMax(x)よりも小さい(z(x,y)<Max(x))か否かを判定する。z(x,y)がMax(x)よりも小さい場合、依存関係判定部116は、ステップS45に処理を進める。z(x,y)がMax(x)以上の場合、依存関係判定部116は、ステップS46に処理を進める。
(S44) The dependency
(S45)依存関係判定部116は、Max(x)にz(x,y)を代入する(Max(x)=z(x,y))。
(S46)依存関係判定部116は、v(x,y)がMin(x)よりも大きい(v(x,y)>Min(x))か否かを判定する。v(x,y)がMin(x)よりも大きい場合、依存関係判定部116は、ステップS47に処理を進める。v(x,y)がMin(x)以下の場合、依存関係判定部116は、ステップS48に処理を進める。
(S45) The dependency
(S46) The dependency
(S47)依存関係判定部116は、Min(x)にv(x,y)を代入する(Min(x)=v(x,y))。
(S48)依存関係判定部116は、yにy+1を代入する(y=y+1)。
(S47) The dependency
(S48) The dependency
(S49)依存関係判定部116は、yがnよりも大きい(y>n)か否かを判定する。yがnよりも大きい場合、依存関係判定部116は、ステップS50に処理を進める。yがn以下の場合、依存関係判定部116は、ステップS43に処理を進める。
(S49) The dependency
(S50)依存関係判定部116は、Max(x)≧A(x)≧Min(x)の場合はA(x)を採用し、そうでない場合はA(x)に近いMax(x)またはMin(x)を採用する。すなわち、依存関係判定部116は、Max(x)≧A(x)≧Min(x)の場合は、現バージョンA(x)でコンポーネントPxのバージョンを維持すると決定する。一方、依存関係判定部116は、A(x)>Max(x)またはMin(x)>A(x)の場合は、Max(x),Min(x)のうち、現バージョンA(x)との差が小さい方をコンポーネントPxの変更先のバージョンVとして採用する。
(S50) The dependency
(S51)依存関係判定部116は、xにx+1を代入する(x=x+1)。
(S52)依存関係判定部116は、xがnよりも大きい(x>n)か否かを判定する。xがnよりも大きい場合、依存関係判定部116は、バージョン選択処理を終了する。xがn以下の場合、依存関係判定部116は、ステップS42に処理を進める。
(S51) The dependency
(S52) The dependency
こうして、依存関係判定部116は、各コンポーネントについて、他のコンポーネントとの依存関係を満たすバージョンのうち、現バージョンとの差が最小のバージョンVを選択することができる。
In this way, the dependency
次に、ポリシーID“3”が選択された場合を説明する。ポリシーID“3”は、“依存関係を満たすバージョンのうち、適用後の再起動が不要なバージョンを使用”するポリシーである。 Next, a case where the policy ID “3” is selected will be described. The policy ID “3” is a policy for “using a version that does not need to be restarted after application among versions satisfying the dependency”.
図20は、バージョン選択処理例(その3)を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。以下の手順は、図17のステップS6(ポリシーID“3”が選択された場合)に相当する。 FIG. 20 is a flowchart illustrating a third example of version selection processing. In the following, the process illustrated in FIG. 20 will be described in order of step number. The following procedure corresponds to step S6 in FIG. 17 (when policy ID “3” is selected).
(S61)依存関係判定部116は、各コンポーネントの依存関係テーブルに基づいて、リストア先の時刻に対応する依存関係管理情報を生成する。前述の例でいえば、時刻tbから時刻taの状態へリストアする場合、依存関係判定部116は、図14で例示した依存関係管理情報174を生成する。依存関係判定部116は、変数xに1を代入する(x=1)。変数xの意味は、ステップS21の説明と同様である。
(S61) The dependency
(S62)依存関係判定部116は、変数yに1を代入する(y=1)。依存関係判定部116は、フラグR_Flag(x)に(初期値として)Trueを設定する(R_Flag(x)=True)。依存関係判定部116はMin(x)にv(x,y)=(x,1)を代入する(Min(x)=v(x,y)=v(x,1))。依存関係判定部116は、Max(x)にz(x,y)=z(x,1)を代入する(Max(x)=z(x,y)=z(x,1))。ここで、変数y、Max(x)およびz(x,y)の意味は、ステップS22の説明と同様である。また、変数Min(x)およびv(x,y)の意味は、ステップS42の説明と同様である。フラグR_Flag(x)は、x列目のコンポーネントPxのバージョン変更に伴う再起動要否を示すフラグである。R_Flag(x)=Trueは、再起動要を示す。R_Flag(x)=Falseは、再起動不要を示す。なお、依存関係管理情報の(x,1)に相当するバージョン範囲が設定なしの場合、依存関係判定部116は、ステップS63〜S67をスキップしてステップS68を実行してよい。
(S62) The dependency
(S63)依存関係判定部116は、y行目のコンポーネントPyと整合性を満たすx列目のコンポーネントPxのバージョンのうちの最小値をバージョンv(=v(x,y))とし、最大値をバージョンz(=z(x,y))とする。
(S63) The dependency
(S64)依存関係判定部116は、z(x,y)がMax(x)よりも小さい(z(x,y)<Max(x))か否かを判定する。z(x,y)がMax(x)よりも小さい場合、依存関係判定部116は、ステップS65に処理を進める。z(x,y)がMax(x)以上の場合、依存関係判定部116は、ステップS66に処理を進める。
(S64) The dependency
(S65)依存関係判定部116は、Max(x)にz(x,y)を代入する(Max(x)=z(x,y))。
(S66)依存関係判定部116は、v(x,y)がMin(x)よりも大きい(v(x,y)>Min(x))か否かを判定する。v(x,y)がMin(x)よりも大きい場合、依存関係判定部116は、ステップS67に処理を進める。v(x,y)がMin(x)以下の場合、依存関係判定部116は、ステップS68に処理を進める。
(S65) The dependency
(S66) The dependency
(S67)依存関係判定部116は、Min(x)にv(x,y)を代入する(Min(x)=v(x,y))。
(S68)依存関係判定部116は、yにy+1を代入する(y=y+1)。
(S67) The dependency
(S68) The dependency
(S69)依存関係判定部116は、yがnよりも大きい(y>n)か否かを判定する。yがnよりも大きい場合、依存関係判定部116は、ステップS70に処理を進める。yがn以下の場合、依存関係判定部116は、ステップS63に処理を進める。
(S69) The dependency
(S70)依存関係判定部116は、管理情報記憶部111に記憶された再起動テーブル191に基づいて、Max(x)≧B(x)≧Min(x)、かつ、再起動が不要なバージョンB(x)があるか否かを判定する。Max(x)≧B(x)≧Min(x)、かつ、再起動が不要なバージョンB(x)がある場合、依存関係判定部116は、ステップS71に処理を進める。Max(x)≧B(x)≧Min(x)、かつ、再起動が不要なバージョンB(x)がない場合、依存関係判定部116は、ステップS72に処理を進める。
(S70) Based on the restart table 191 stored in the management
(S71)依存関係判定部116は、ステップS70で特定されたバージョンB(x)のうち、再起動不要な最大値をMax(x)とし、R_Frag(x)=Falseに設定する。
(S71) The dependency
(S72)依存関係判定部116は、xにx+1を代入する(x=x+1)。
(S73)依存関係判定部116は、xがnよりも大きい(x>n)か否かを判定する。xがnよりも大きい場合、依存関係判定部116は、処理をステップS74に進める。xがn以下の場合、依存関係判定部116は、ステップS62に処理を進める。
(S72) The dependency
(S73) The dependency
(S74)依存関係判定部116は、R_Flag(x)=Falseの場合、再起動不要なバージョンとしてMax(x)をディスプレイ61に表示させる。また、依存関係判定部116は、R_Flag(x)=Trueの場合、再起動要なバージョンとしてMax(x)をディスプレイ61に表示させる。なお、当該ステップS74は、図17のステップS7に相当する処理として実行される。
(S74) When R_Flag (x) = False, the dependency
こうして、依存関係判定部116は、各コンポーネントについて、他のコンポーネントとの依存関係を満たすバージョンのうち、適用後の再起動が不要なバージョンを優先的に選択することができる。
In this way, the dependency
次に、ポリシーID“4”が選択された場合を説明する。ポリシーID“4”は、“特定のコンポーネントのバージョンを固定し、ポリシーID“1”または“2”のポリシーに従って他のコンポーネントのバージョンを決定”するポリシーである。ポリシーID“4”が選択される場合、サブポリシーとして、ポリシーID“1”または“2”が選択される。 Next, a case where the policy ID “4” is selected will be described. The policy ID “4” is a policy that “fixes the version of a specific component and determines the version of another component according to the policy with the policy ID“ 1 ”or“ 2 ””. When the policy ID “4” is selected, the policy ID “1” or “2” is selected as the sub-policy.
図21は、バージョン選択処理例(その4)を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。以下の手順は、図17のステップS6(ポリシーID“4”が選択された場合)に相当する。 FIG. 21 is a flowchart illustrating an example of version selection processing (part 4). In the following, the process illustrated in FIG. 21 will be described in order of step number. The following procedure corresponds to step S6 in FIG. 17 (when policy ID “4” is selected).
(S81)依存関係判定部116は、バージョン固定化対象のコンポーネントPkを決定する。例えば、コンポーネントPkは、ユーザによって指定されてもよい。例えば、ユーザの業務への影響が比較的大きいコンポーネントのバージョンを固定することが考えられる。そして、依存関係判定部116は、各コンポーネントの依存関係テーブルに基づいて、リストア先の時刻に対応する依存関係管理情報を生成する。前述の例でいえば、時刻tbから時刻taの状態へリストアする場合、依存関係判定部116は、図14で例示した依存関係管理情報174を生成する。
(S81) The dependency
(S82)依存関係判定部116は、ステップS81で生成した依存関係管理情報を参照して、コンポーネントPkの固定化バージョン(固定化の対象となるバージョン)が、他のコンポーネントに対する整合バージョンの範囲内に収まるか否かを確認する。
(S82) The dependency
(S83)依存関係判定部116は、コンポーネントPkがリストア対象であるか否かを判定する。リストア対象である場合、依存関係判定部116は、ステップS84に処理を進める。リストア対象でない場合、依存関係判定部116は、ステップS85に処理を進める。
(S83) The dependency
(S84)依存関係判定部116は、リストア対象外のコンポーネントからコンポーネントPkのバージョン(固定化バージョン)と整合性が取れていないコンポーネントを特定する。そして、依存関係判定部116は、ステップS86に処理を進める。
(S84) The dependency
(S85)依存関係判定部116は、リストア対象のコンポーネントからコンポーネントPkのバージョン(固定化バージョン)と整合性が取れていないコンポーネントを特定する。そして、依存関係判定部116は、ステップS86に処理を進める。
(S85) The
(S86)依存関係判定部116は、ステップS84またはステップS85で特定したコンポーネントを優先順位に応じて1つ選択する。ここで、コンポーネント毎の優先順位は、ユーザにより予め指定される、または、所定のルール(例えば、該当コンポーネントを用いた業務の重要度など)に従い予め生成される。
(S86) The dependency
(S87)依存関係判定部116は、ステップS86で選択したコンポーネントについて、他のコンポーネントとの整合性を満たすバージョンを特定する。このとき、依存関係判定部116は、該当のバージョンを特定するために、選択されたサブポリシー(ポリシーID“1”または“2”のポリシー)の基準を用いる。
(S87) The dependency
(S88)依存関係判定部116は、ステップS84またはステップS85で特定した全コンポーネントについて、ステップS86,S87の処理を行ったか否か(全コンポーネントを処理済であるか否か)を判定する。特定した全コンポーネントを処理済である場合、依存関係判定部116は、バージョン選択処理を終了する。特定した全コンポーネントを処理済でない場合、依存関係判定部116は、ステップS86に処理を進める。
(S88) The dependency
次に、図21の手順によるバージョン選択の具体例を説明する。まず、依存関係管理情報の時系列に応じた変化例を説明する。
図22は、依存関係管理情報の時系列に応じた変化例を示す図である。図22では、説明を簡単にするために、ソフトウェアA,BおよびファームウェアC,Dが管理対象である場合を例示する。なお、図中、ソフトウェアAなどを“SW(SoftWare)−A”のように略記することがある。また、図中、ファームウェアCなどを、“FW−C”のように略記することがある。また、図中、バージョンを“ver.”と略記することがある。
Next, a specific example of version selection according to the procedure of FIG. 21 will be described. First, an example of change according to the time series of the dependency management information will be described.
FIG. 22 is a diagram illustrating a change example according to the time series of the dependency management information. FIG. 22 illustrates a case where software A and B and firmware C and D are management targets in order to simplify the description. In the figure, software A or the like may be abbreviated as “SW (SoftWare) -A”. In the figure, firmware C and the like may be abbreviated as “FW-C”. In the figure, the version may be abbreviated as “ver.”.
図22(A)は、時刻t1における依存関係管理情報175を例示する。図22(B)は、時刻t2における依存関係管理情報176を例示する。図22(C)は、時刻t3における依存関係管理情報177を例示する。
FIG. 22A illustrates the
なお、依存関係管理情報175,176,177では、各コンポーネントのバージョン範囲について、最小値および最大値を表記している。
ここで、時刻t3で示される各コンポーネントのバージョンに対し、ソフトウェアAのバージョンを“2.5”から時刻t1のバージョン“2.2”にリストアし、ソフトウェアBをリストアの対象外とする場合を想定する。このとき、更に、ソフトウェアBの時刻t3におけるバージョン“3.5”を固定化することを考える。
In the dependency
Here, for the version of each component indicated at time t3, the version of software A is restored from “2.5” to version “2.2” at time t1, and software B is excluded from the restoration target. Suppose. At this time, it is further considered that the version “3.5” of software B at time t3 is fixed.
図23は、バージョン選択の具体例を示す図である。依存関係判定部116は、時刻t3の状態から時刻t1の状態へリストアする場合の依存関係管理情報178を作成する。時刻t1の状態へリストアした場合の各コンポーネントのバージョンは次の通りである。ソフトウェアAのバージョンは“2.2”である。ソフトウェアB(固定化対象)のバージョンは“3.5”である。ファームウェアCのバージョンは“7.6”である。ファームウェアDのバージョンは“1.5”である。
FIG. 23 is a diagram illustrating a specific example of version selection. The dependency
バージョン固定化の対象であるソフトウェアBは、リストアの対象外である(ステップS83 No)。したがって、依存関係判定部116は、リストア対象のコンポーネントからソフトウェアBのバージョンと整合性が取れていないコンポーネントを特定する(ステップS85)。ここでは、リストア対象のコンポーネントはソフトウェアAである。ソフトウェアAの復元先のバージョン“2.2”に対して、ソフトウェアBの整合性を満たす最小バージョンは“3”であり、最大バージョンは“3.4”である。固定化対象のソフトウェアBのバージョン“3.5”は、ソフトウェアAのバージョン“2.2”と整合性が保証された最大バージョン“3.4”よりも大きいバージョンである。このため、依存関係判定部116は、固定化対象のソフトウェアBのバージョンと整合性が取れていないコンポーネントとして、ソフトウェアAを特定する。
The software B that is the target of version fixing is not the target of restoration (No in step S83). Therefore, the
そして、依存関係判定部116は、特定したコンポーネントを所定の優先順位に応じて1つ選択する(ステップS86)。ここでは、特定したコンポーネントは、ソフトウェアAの1つであり、依存関係判定部116は、ソフトウェアAを選択する(特定したコンポーネントが複数の場合は優先順位の順に1つ選択する)。依存関係判定部116は、選択したコンポーネントについてソフトウェアBの固定化されたバージョン“3.5”と整合するバージョンを特定する(ステップS87)。ここでは、依存関係判定部116は、ソフトウェアAの依存関係テーブル163に基づいて、リストア対象であるソフトウェアAについて他のコンポーネントのバージョンに対して整合性が保証されたバージョンを選択する。依存関係判定部116は、ソフトウェアAのリストア先のバージョンを変更することになる。
Then, the dependency
具体的には、依存関係判定部116は、依存関係テーブル163に基づき、ソフトウェアBのバージョン“3.5”、ファームウェアCのバージョン“7.6”、ファームウェアDのバージョン“1.5”の全てと整合性が保証されたソフトウェアAのバージョン“2.4”、“2.5”を特定する。ここで、ソフトウェアAの復元先のバージョン“2.2”は、他の全てのコンポーネントとの整合性を保つ上で満たすべきバージョン範囲“2.4”、“2.5”に含まれていないことになる。この場合に、依存関係判定部116は、ソフトウェアAのバージョン“2.2”の復元による他のコンポーネントのバージョンとの不整合の発生を検出してもよい。
Specifically, the dependency
依存関係判定部116は、ソフトウェアAの他のコンポーネントとの整合性を満たすバージョン群{“2.4”、“2.5”}の中から、更に、1つのバージョンに絞り込む。例えば、依存関係判定部116は、ユーザにより指定されたサブポリシー(例えば、ポリシーID“1”や“2”に相当するポリシーなど)に従って、バージョンの絞り込みを行う。より具体的には、ポリシーID“1”(“依存関係を満たすバージョンのうち、最新のバージョンを使用”)がサブポリシーに選択された場合、依存関係判定部116は、バージョン群{“2.4”、“2.5”}のうち、“2.5”を選択することが考えられる。なお、本例では、ソフトウェアAの現バージョンが“2.5”である。依存関係判定部116は、ソフトウェアAのリストアを行うと、他のコンポーネントとの間に不整合が発生する旨を警告するメッセージを、ディスプレイ61に表示させてもよい。
The dependency
図24は、警告表示例(その1)を示す図である。例えば、依存関係判定部116は、ディスプレイ61に警告画面70を表示させてもよい。警告画面70は、メッセージ71、実行ボタン72、キャンセルボタン73およびポインタ74を含む。
FIG. 24 is a diagram showing a warning display example (No. 1). For example, the dependency
メッセージ71は、「リストアによりコンポーネント間に不整合が発生します。」というメッセージを含む。また、メッセージ71は、“(1)リストア対象:ソフトウェアA (現バージョン2.5)”、および、“(2)リストア先バージョン:2.2”のメッセージを含む。更に、メッセージ71は、“(3)リストアにより不整合となるコンポーネント”のリストとして、“ソフトウェアB バージョン3.5”、“ファームウェアC バージョン7.6”、および、“ファームウェアD バージョン1.5”のメッセージを含む。
The
実行ボタン72は、リストアの実行入力を受け付けるボタンである。キャンセルボタン73は、リストアのキャンセル入力を受け付けるボタンである。ユーザは、入力デバイス62を操作することで、ポインタ74により、実行ボタン72またはキャンセルボタン73に対する入力を行える。
The
こうして、管理サーバ100は、リストアによりソフトウェアやファームウェアの動作に不具合が発生することを防ぐことができる。
上記の例では、リストア対象でないソフトウェアBのバージョンを固定化する例を示したが、リストア対象であるソフトウェアAのリストア先のバージョンを固定化することもできる。その場合も、上記の手順により、依存関係判定部116は、不整合を回避するための他のコンポーネントのバージョンを特定する。
In this way, the
In the above example, the version of the software B that is not the restore target is fixed. However, the restore destination version of the software A that is the restore target can also be fixed. Even in such a case, the dependency
図25は、警告表示例(その2)を示す図である。図22の例において、時刻t3の状態から、時刻t1の状態へソフトウェアAをリストアし、ソフトウェアAのリストア先のバージョンを“2.2”で固定する例を考える。本例でも、ソフトウェアBは、リストア対象外である。この場合、依存関係判定部116は、ソフトウェアAのリストア後に不整合となるコンポーネントとして、ソフトウェアBのバージョン“3.5”、ファームウェアCのバージョン“7.6”、ファームウェアDのバージョン“1.5”を特定する。
FIG. 25 is a diagram showing a warning display example (No. 2). In the example of FIG. 22, consider an example in which software A is restored from the state at time t3 to the state at time t1, and the restore destination version of software A is fixed at “2.2”. Also in this example, the software B is not a restore target. In this case, the
また、依存関係判定部116は、不整合を回避するコンポーネントのバージョンとして、ソフトウェアBのバージョン“3.4”、ファームウェアCのバージョン“7.2”、ファームウェアDのバージョン“1.4”を特定する。これらは、ソフトウェアAのリストア後のバージョン“2.2”との整合性が保証されている最新バージョンである(ソフトウェアAのバージョン固定化に加え、最新バージョンを選択するポリシーを使用)。
Further, the dependency
依存関係判定部116は、ソフトウェアB、ファームウェアCおよびファームウェアDのバージョンを、不整合を回避可能なバージョンに変更する選択を受け付けてもよい。例えば、依存関係判定部116は、ディスプレイ61に警告画面80を表示させてもよい。警告画面80は、メッセージ81、実行ボタン82、バージョン変更ボタン83、キャンセルボタン84およびポインタ85を含む。
The dependency
メッセージ81は、“(1)リストア対象:ソフトウェアA (現バージョン2.5)”、および、“(2)リストア先バージョン:2.2”のメッセージを含む。また、メッセージ81は、“(3)リストアにより不整合となるコンポーネント”のリストとして、“ソフトウェアB バージョン3.5”、“ファームウェアC バージョン7.6”、および、“ファームウェアD バージョン1.5”のメッセージを含む。
The
更に、メッセージ81は、“(4)不整合を回避するコンポーネントのバージョン”のリストとして、“ソフトウェアB バージョン3.4”、“ファームウェアC バージョン7.2”、および、“ファームウェアD バージョン1.4”のメッセージを含む。
Further, the
実行ボタン82は、“不整合を回避するコンポーネントのバージョン”を適用せずにリストアを実行する指示入力を受け付けるボタンである。
バージョン変更ボタン83は、“不整合を回避するコンポーネントのバージョン”を、該当のコンポーネントに適用してリストアを行う旨の指示入力を受け付けるボタンである。
The
The
キャンセルボタン84は、リストアのキャンセル入力を受け付けるボタンである。
ユーザは、入力デバイス62を操作することで、ポインタ85により、実行ボタン82、バージョン変更ボタン83またはキャンセルボタン84に対する入力を行える。
The cancel
The user can input to the
依存関係判定部116は、バージョン変更ボタン83に対する入力を受け付けると、連携指示部117に対して、該当のコンポーネントのバージョン変更を指示する。連携指示部117は、FW更新部122やリストア制御部133と連携して、業務サーバ200や外部機器における該当のコンポーネントのバージョンを変更させる。各コンポーネントのバージョンについては、ソフトウェアAのリストア前に変更させてもよいし、リストア後に変更させてもよい。
When receiving an input to the
こうして、管理サーバ100は、リストアによりソフトウェアやファームウェアの動作に不具合が発生することを防ぐことができる。
ところで、近年、情報処理システムは複数のハードウェアやソフトウェアにより複雑に構成されており、それぞれの製品のバージョンにおける依存関係や整合性を考慮したシステム構築が求められている。特に、ハードウェアについては、当該ハードウェアを制御するファームウェア(制御用のソフトウェアともいえる)が実装され、ハードウェアの状態を監視する監視機構が組み込まれていることが多い。このため、ハードウェアであっても、実際の運用に用いる場合には、ファームウェアのバージョン毎の機能差や既存障害の考慮を要する。また、一部のソフトウェアについては、ハードウェアの制御(起動・シャットダウン)やハードウェア情報を収集するために、ファームウェアとの連携を行う。
In this way, the
By the way, in recent years, information processing systems are complicatedly configured by a plurality of hardware and software, and there is a demand for system construction in consideration of dependency and consistency in versions of each product. In particular, for hardware, firmware that controls the hardware (also referred to as control software) is often mounted, and a monitoring mechanism that monitors the state of the hardware is often incorporated. For this reason, even if it is hardware, when it is used for actual operation, it is necessary to consider functional differences between firmware versions and existing faults. Some software is linked with firmware to control hardware (startup / shutdown) and collect hardware information.
また、情報処理システムで行われるバックアップ処理では、一般的にソフトウェア(OS、ミドルウェア、データ/設定など)をバックアップする。一方、ファームウェアは、バックアップ対象外であることが多い。ところが、前述のように、ソフトウェアとハードウェアとは綿密に連携しているため、ソフトウェアの動作環境のみをリストアしても、システム全体としての安定稼働に支障をきたす可能性がある。また、同様に、ハードウェア同士の接続性に関しても、ファームウェアのバージョンにより機能差が存在すると、不整合が発生し、該当のハードウェアが正常に動作しないことがある。 In backup processing performed in the information processing system, software (OS, middleware, data / setting, etc.) is generally backed up. On the other hand, firmware is often not a backup target. However, as described above, since software and hardware are closely linked, there is a possibility that even if only the operating environment of software is restored, stable operation of the entire system may be hindered. Similarly, regarding the connectivity between hardware, if there is a functional difference depending on the firmware version, inconsistency may occur and the corresponding hardware may not operate normally.
この点について、通常は、ソフトウェアのバックアップ/リストアとソフトウェアが動作する機器のファームウェアの管理を独立して行うことが多い。すなわち、システム単位でバックアップデータとシステムを構成するコンポーネントのバージョン情報を管理する仕組みや、リストアを実行する前に、これらのコンポーネント間でバージョンの不整合により問題が発生することを未然に防ぐ仕組みがなかった。 In this regard, usually, software backup / restoration and firmware management of the device on which the software operates are often performed independently. In other words, there is a mechanism for managing backup data and version information of the components that make up the system on a system-by-system basis, and a mechanism for preventing problems from occurring between these components due to version inconsistencies before performing a restore. There wasn't.
例えば、ある時点で取得されたバックアップデータを用いてリストアする場合、バックアップデータに含まれるソフトウェアのバージョンと、システムを構成する他のソフトウェア、ファームウェアのバージョンとがバックアップ時点と異なっている可能性が高い。
第1の時点で取得した、バックアップデータに含まれるソフトウェアSA(v1.0)は、バックアップを取得した時点ではファームウェアFB(v1.0)と整合性の取れた状態である。第2の時点では、ファームウェアFBが運用中に新しいバージョン(v2.0)にアップデートされていたとする。第2の時点でソフトウェアSA(v1.0)とファームウェアFB(v2.0)で整合性が取れていない場合、第1の時点のバックアップをリストアすると、問題が発生する。
For example, when restoring using backup data acquired at a certain point in time, it is highly likely that the version of software included in the backup data is different from the version of other software or firmware that constitutes the system. .
The software SA (v1.0) included in the backup data acquired at the first time is in a state of being consistent with the firmware FB (v1.0) at the time of acquiring the backup. Assume that the firmware FB is updated to a new version (v2.0) during operation at the second time point. If the software SA (v1.0) and the firmware FB (v2.0) are not consistent at the second time point, a problem occurs when the backup at the first time point is restored.
この様に、システムを構成するコンポーネント間の依存関係に問題が無いことを確認する必要があるが、複雑な依存関係を全て網羅した状況で整合性を確認することが難しい。また、各コンポーネント間の整合性については、ある時点で障害といった問題が発生した際に、依存するバージョン情報をタイムリーに把握する必要があるが、この様な情報に追随することは手動では困難である。 As described above, it is necessary to confirm that there is no problem in the dependency relationship between the components constituting the system, but it is difficult to confirm the consistency in a situation where all the complicated dependency relationships are covered. In addition, regarding the consistency between components, when a problem such as a failure occurs at a certain point in time, it is necessary to grasp the dependent version information in a timely manner, but it is difficult to follow such information manually. It is.
より具体的には、あるバックアップデータをリストアする際には、以下のようなケースが運用上想定される。第1のケースは、極力バックアップ時の組合せに近い状態で整合性を合わせるケースである。また、第2のケースは、極力既にアップデート済みの状態を活かして整合性を担保する組合せを導き出すケースである。前者の場合は、全てのファームウェアをバックアップ時のバージョンに戻すことが最適と考えられる。しかし、古いバージョンに戻すことが不可能な場合や、古いバージョンへ戻すことに伴って機器やOSの再起動が必要になる場合が想定され、システムに対する影響度も考慮し、適用の可否を検討する必要がある。このように、それぞれの機器の複雑な依存関係を確認しながら、整合性が担保される組合せを導き出すことは困難であり、最適なポリシーに従って最適な解を導き出すには複数のパラメータを考慮する必要があり、困難である。 More specifically, when restoring certain backup data, the following cases are assumed in operation. The first case is a case where consistency is matched in a state as close as possible to the combination at the time of backup. The second case is a case of deriving a combination that ensures consistency by making use of an already updated state as much as possible. In the former case, it is considered optimal to return all firmware to the version at the time of backup. However, there are cases where it is impossible to revert to the old version, or when the device or OS needs to be restarted due to reverting to the old version, considering the impact on the system and considering whether it can be applied. There is a need to. In this way, it is difficult to derive a combination that ensures consistency while confirming the complex dependency of each device, and it is necessary to consider multiple parameters in order to derive the optimal solution according to the optimal policy. It is difficult.
そこで、管理サーバ100は、ソフトウェアのバックアップに加えて、リストア時にファームウェアとの整合性を確保する機能を有する。
具体的には、管理サーバ100は、バックアップ時にシステムを構成するコンポーネント(ハードウェアとソフトウェア)の構成リストと、各バージョンの情報を取得し、バックアップデータの識別情報に対応付けてバックアップ管理テーブル151に記録する。管理サーバ100は、バックアップ管理テーブル151により、過去のバックアップ取得時点を安定稼働していたシステムの構成情報(各コンポーネントのバージョンの組合せ)の実績として使用可能である。また、管理サーバ100は、公開サーバ400からもユーザが安定稼働していると判断した異なる外部システムの構成情報を取得してもよい。更に、管理サーバ100は、ソフトウェアなどのベンダが定期的に実施する動作検証結果(複数の機器を組合せた動作検証)の結果を使用することも可能である。
Therefore, the
Specifically, the
各コンポーネントは動作要件として、依存する他のコンポーネントおよび他のコンポーネントのバージョンが存在する。管理サーバ100は、各コンポーネントの他のコンポーネントとの依存関係を示す依存関係テーブルを保持し、複数のコンポーネントの依存関係を満たす組合せを導き出す。これにより、各コンポーネントについて動作要件を満たすバージョンの組合せを得ることができる。この際に、管理サーバ100は、実際にシステムの運用方針に応じたポリシーに従って、適切な組合せを特定できる。また、管理サーバ100は、特定した組合せのバージョンに合わせるため、既存のソフトウェアやファームウェアのアップデートやダウングレードの実行を可能とする。
Each component has a dependent component and a version of another component as operation requirements. The
上記ポリシーは、ユーザによって予め指定可能である。例えば、最も安定稼働が考えられるのは、バックアップ時と同等のバージョンの組合せであるが、通常はバックアップ時より複数の機器のファームウェアが更新されている可能性がある。この場合、動作要件を満たしつつ、バックアップ時の最も近いバージョンに近づけることや、その他のシステムおよび開発元が組合せ検証として実績がある組合せに近づけるポリシーを予め用意することができる。 The policy can be designated in advance by the user. For example, the most stable operation is considered to be a combination of versions equivalent to those at the time of backup, but normally there is a possibility that the firmware of a plurality of devices has been updated since the time of backup. In this case, it is possible to prepare in advance a policy for satisfying the operation requirements, approaching the closest version at the time of backup, or approaching a combination that other systems and developers have proven as combination verification.
更に、バージョンアップやバージョンダウンを実施すると、該当の装置の再起動が必要な場合が想定される。このため、管理サーバ100は、再起動テーブル191を保持する。例えば、構成されるシステムがクラスター構成であれば、冗長化されているため、システムが許容可能な範囲であれば再起動可能である。逆に、冗長化されていない機器であれば再起動することはシステムが停止することとなり、システムの運用に影響が出る。この様に、システム構成に合わせ、システムへの影響を最小にすることを可能とする方針を予め用意し、コンポーネントのバージョン変更に伴うシステムへの影響を抑えられる。
Furthermore, when version upgrade or version down is performed, it is assumed that the corresponding device needs to be restarted. For this reason, the
以上のように、管理サーバ100によれば、バックアップ時点の各コンポーネントのバージョンをバックアップデータと関連付けて管理し、業務サーバ200のリストア処理時に復元対象のソフトウェアの復元先のバージョンとの整合性を事前に確認可能にする。これにより、復元後のシステムにおけるソフトウェアやハードウェアの動作に不具合が発生する可能性を減らし、システム全体として安定稼働するように支援できる。また、管理サーバ100は、復元により整合性の取れなくなるコンポーネントを表示する際に、ユーザにより選択されたポリシーに応じて、整合性が保証される組合せを提示することで、コンポーネントのバージョン変更に伴うユーザの作業の省力化を図れる。また、バージョン変更に伴う運用中にシステムに対する影響を抑えられる。
As described above, according to the
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体63に記録できる。
The information processing according to the first embodiment can be realized by causing the
例えば、プログラムを記録した記録媒体63を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体63に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
For example, the program can be distributed by distributing the
以上の第1,第2の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1) 整合性を確認済であるソフトウェアのバージョンとファームウェアのバージョンとの組合せの情報を記憶する記憶部と、
対象装置の動作環境を復旧する際に、前記対象装置における前記ソフトウェアの復元先のバージョンと前記対象装置のハードウェアに対応する前記ファームウェアの現在のバージョンとの組合せを確認し、前記記憶部に記憶された前記情報に基づいて、前記ソフトウェアの復元先のバージョンおよび前記ファームウェアの現在のバージョンの少なくとも1つの変更の要否を判定し、変更要と判定すると前記変更のための組合せを特定する処理部と、
を有する情報処理装置。
Regarding the embodiments including the first and second embodiments, the following additional notes are disclosed.
(Supplementary Note 1) A storage unit that stores information on a combination of a software version and a firmware version whose consistency has been confirmed;
When restoring the operating environment of the target device, the combination of the restoration destination version of the software in the target device and the current version of the firmware corresponding to the hardware of the target device is confirmed and stored in the storage unit A processor that determines whether or not it is necessary to change at least one of the restoration destination version of the software and the current version of the firmware based on the information that has been changed, and identifies a combination for the change when the change is determined to be necessary When,
An information processing apparatus.
(付記2) 前記処理部は、指定されたポリシーに応じて、前記ソフトウェアの復元先のバージョンおよび前記ファームウェアの現在のバージョンのうち、変更対象を決定する、付記1記載の情報処理装置。
(Supplementary note 2) The information processing apparatus according to
(付記3) 前記処理部は、前記ソフトウェアの復元先のバージョンを変更対象に決定すると、前記ファームウェアの現在のバージョンに対して整合性を確認済である前記ソフトウェアのバージョンのうち、最新のバージョンまたは復元先のバージョンとの差が最小のバージョンを、変更後のバージョンとして特定する、付記1または2記載の情報処理装置。
(Additional remark 3) When the said process part determines the version of the restoration | restoration destination of the said software as a change object, the latest version among the versions of the said software which have confirmed the consistency with respect to the current version of the said firmware, or The information processing apparatus according to
(付記4) 前記処理部は、前記ファームウェアの現在のバージョンを変更対象に決定すると、前記ソフトウェアの復元先のバージョンに対して整合性を確認済である前記ファームウェアのバージョンのうち、最新のバージョンまたは現在のバージョンとの差が最小のバージョンを、変更後のバージョンとして特定する、付記1または2記載の情報処理装置。
(Supplementary Note 4) When the processing unit determines the current version of the firmware to be changed, the processing unit confirms the consistency with the restoration destination version of the software. The information processing apparatus according to
(付記5) 前記処理部は、変更後のバージョンの候補のうち、適用後の前記対象装置の再起動が不要である候補がある場合、前記再起動が不要である前記候補の中から、変更後のバージョンを特定する、付記3または4記載の情報処理装置。
(Supplementary Note 5) If there is a candidate that does not require restart of the target device after application among the candidates for the version after the change, the processing unit changes the candidate from among the candidates that do not require the restart. The information processing apparatus according to
(付記6) 前記ファームウェアは、複数であり、
前記処理部は、前記記憶部に記憶された前記情報に基づいて、複数の前記ファームウェアそれぞれの現在のバージョンに対して整合性を確認済である前記ソフトウェアのバージョン範囲を特定し、前記ソフトウェアの復元後のバージョンが前記バージョン範囲に属するか否かに応じて、前記変更の要否を判定する、
付記1乃至5の何れか1つに記載の情報処理装置。
(Appendix 6) The firmware is plural,
Based on the information stored in the storage unit, the processing unit identifies a version range of the software that has been confirmed to be consistent with a current version of each of the plurality of firmware, and restores the software Determining whether the change is necessary or not, depending on whether a later version belongs to the version range;
The information processing apparatus according to any one of
(付記7) 前記処理部は、前記記憶部に記憶された前記情報に基づいて、前記ファームウェアの現在のバージョンおよび前記対象装置における他のソフトウェアの現在のバージョンに対して整合性を確認済である前記ソフトウェアのバージョン範囲を特定し、前記ソフトウェアの復元後のバージョンが前記バージョン範囲に属するか否かに応じて、前記変更の要否を判定する、付記1乃至5の何れか1つに記載の情報処理装置。
(Additional remark 7) The said process part has confirmed consistency with respect to the current version of the said firmware, and the current version of the other software in the said target apparatus based on the said information memorize | stored in the said memory | storage part. The version range of the software is specified, and the necessity for the change is determined according to whether the version after restoration of the software belongs to the version range, or any one of
(付記8) 前記ハードウェアは、前記対象装置の外部にあり、前記対象装置と接続されている外部ハードウェアを含む、付記1乃至7の何れか1つに記載の情報処理装置。
(付記9) 前記処理部は、前記ソフトウェアの復元先のバージョンおよび前記ファームウェアの現在のバージョンの少なくとも1つに対して特定された変更後のバージョンを表示装置により表示させる、付記1乃至8の何れか1つに記載の情報処理装置。
(Supplementary note 8) The information processing device according to any one of
(Supplementary note 9) Any one of
(付記10) 前記処理部は、前記ソフトウェアの復元先のバージョンおよび前記ファームウェアの現在のバージョンの少なくとも1つに対して特定された変更後のバージョンの適用を前記対象装置に指示する、付記1乃至9の何れか1つに記載の情報処理装置。
(Additional remark 10) The said process part instruct | indicates the application of the version after the change specified with respect to at least 1 of the restoration destination version of the said software, and the current version of the said firmware,
(付記11) 対象装置の動作環境を復旧する際に、前記対象装置におけるソフトウェアの復元先のバージョンと前記対象装置におけるハードウェアに対応するファームウェアの現在のバージョンとの組合せを確認し、
整合性を確認済である前記ソフトウェアのバージョンと前記ファームウェアのバージョンとの組合せの情報に基づいて、前記ソフトウェアの復元先のバージョンおよび前記ファームウェアの現在のバージョンの少なくとも1つの変更の要否を判定し、変更要と判定すると前記変更のための組合せを特定する、
処理をコンピュータに実行させるプログラム。
(Supplementary Note 11) When restoring the operating environment of the target device, confirm the combination of the version of the software restoration destination in the target device and the current version of the firmware corresponding to the hardware in the target device,
Based on information on a combination of the software version and the firmware version whose consistency has been confirmed, it is determined whether at least one of the restoration destination version of the software and the current version of the firmware needs to be changed. When it is determined that the change is necessary, a combination for the change is specified.
A program that causes a computer to execute processing.
10,20 情報処理装置
11 記憶部
12 処理部
21,23a,31 メモリ
22,23b,32 プロセッサ
23 ハードウェア
30 外部ハードウェア
N1 ネットワーク
T1 バージョン管理テーブル
R1 復旧指示
R2,R3 警告
10, 20
Claims (8)
対象装置の動作環境を復旧する際に、前記対象装置における前記ソフトウェアの復元先のバージョンと前記対象装置のハードウェアに対応する前記ファームウェアの現在のバージョンとの組合せを確認し、前記記憶部に記憶された前記情報に基づいて、前記ソフトウェアの復元先のバージョンおよび前記ファームウェアの現在のバージョンの少なくとも1つの変更の要否を判定し、変更要と判定すると前記変更のための組合せを特定する処理部と、
を有する情報処理装置。 A storage unit for storing information on a combination of a software version and a firmware version whose consistency has been confirmed;
When restoring the operating environment of the target device, the combination of the restoration destination version of the software in the target device and the current version of the firmware corresponding to the hardware of the target device is confirmed and stored in the storage unit A processor that determines whether or not it is necessary to change at least one of the restoration destination version of the software and the current version of the firmware based on the information that has been changed, and identifies a combination for the change when the change is determined to be necessary When,
An information processing apparatus.
前記処理部は、前記記憶部に記憶された前記情報に基づいて、複数の前記ファームウェアそれぞれの現在のバージョンに対して整合性を確認済である前記ソフトウェアのバージョン範囲を特定し、前記ソフトウェアの復元後のバージョンが前記バージョン範囲に属するか否かに応じて、前記変更の要否を判定する、
請求項1乃至5の何れか1項に記載の情報処理装置。 The firmware is plural,
Based on the information stored in the storage unit, the processing unit identifies a version range of the software that has been confirmed to be consistent with a current version of each of the plurality of firmware, and restores the software Determining whether the change is necessary or not, depending on whether a later version belongs to the version range;
The information processing apparatus according to any one of claims 1 to 5.
整合性を確認済である前記ソフトウェアのバージョンと前記ファームウェアのバージョンとの組合せの情報に基づいて、前記ソフトウェアの復元先のバージョンおよび前記ファームウェアの現在のバージョンの少なくとも1つの変更の要否を判定し、変更要と判定すると前記変更のための組合せを特定する、
処理をコンピュータに実行させるプログラム。 When restoring the operating environment of the target device, confirm the combination of the version of the software restoration destination in the target device and the current version of the firmware corresponding to the hardware in the target device,
Based on information on a combination of the software version and the firmware version whose consistency has been confirmed, it is determined whether at least one of the restoration destination version of the software and the current version of the firmware needs to be changed. When it is determined that the change is necessary, a combination for the change is specified.
A program that causes a computer to execute processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017135962A JP2019020798A (en) | 2017-07-12 | 2017-07-12 | Information processing device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017135962A JP2019020798A (en) | 2017-07-12 | 2017-07-12 | Information processing device and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019020798A true JP2019020798A (en) | 2019-02-07 |
Family
ID=65355664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017135962A Pending JP2019020798A (en) | 2017-07-12 | 2017-07-12 | Information processing device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019020798A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021149191A1 (en) * | 2020-01-22 | 2021-07-29 | ||
JP7069431B1 (en) * | 2021-05-12 | 2022-05-17 | 三菱電機株式会社 | Data distribution program, server equipment, terminal equipment, data distribution method and data distribution system |
JP2022150141A (en) * | 2021-03-26 | 2022-10-07 | 本田技研工業株式会社 | Program update management system, mobile body failure diagnostic device, and program update management method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004355596A (en) * | 2003-03-28 | 2004-12-16 | Konica Minolta Holdings Inc | Image forming apparatus and image forming program driver management system |
JP2009230400A (en) * | 2008-03-21 | 2009-10-08 | Fuji Xerox Co Ltd | Print system, and unit and program for software introduction |
-
2017
- 2017-07-12 JP JP2017135962A patent/JP2019020798A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004355596A (en) * | 2003-03-28 | 2004-12-16 | Konica Minolta Holdings Inc | Image forming apparatus and image forming program driver management system |
JP2009230400A (en) * | 2008-03-21 | 2009-10-08 | Fuji Xerox Co Ltd | Print system, and unit and program for software introduction |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021149191A1 (en) * | 2020-01-22 | 2021-07-29 | ||
WO2021149191A1 (en) * | 2020-01-22 | 2021-07-29 | 三菱電機株式会社 | Service system for updating control program, server device, and method for updating control program in server device |
JP2022150141A (en) * | 2021-03-26 | 2022-10-07 | 本田技研工業株式会社 | Program update management system, mobile body failure diagnostic device, and program update management method |
JP7434205B2 (en) | 2021-03-26 | 2024-02-20 | 本田技研工業株式会社 | Program update management system, mobile failure diagnosis device, program update management method |
JP7069431B1 (en) * | 2021-05-12 | 2022-05-17 | 三菱電機株式会社 | Data distribution program, server equipment, terminal equipment, data distribution method and data distribution system |
WO2022239150A1 (en) * | 2021-05-12 | 2022-11-17 | 三菱電機株式会社 | Data distribution program, server equipment, terminal equipment, data distribution method, and data distribution system |
US11835937B2 (en) | 2021-05-12 | 2023-12-05 | Mitsubishi Electric Corporation | Non-transitory computer readable medium storing data distribution program, server apparatus, terminal apparatus, and data distribution system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533304B2 (en) | Remotely deploying and automatically customizing workstation images | |
JP4467624B2 (en) | Software update management program, software update management apparatus, and software update management method | |
JP7090657B2 (en) | Methods, devices, devices and storage media for upgrading applications | |
US7310801B2 (en) | Servicing a component-based software product throughout the software product lifecycle | |
US7958210B2 (en) | Update management method and update management unit | |
US7769990B1 (en) | Using a monitoring process to update system configuration settings during restore operations | |
US8584115B2 (en) | Automated operating system device driver updating system | |
US8458392B2 (en) | Upgrading a guest operating system of an active virtual machine | |
US9043778B2 (en) | Method and system for upgrading software | |
US9405630B2 (en) | Methods and apparatus to perform site recovery of a virtual data center | |
US10474445B2 (en) | Updating dependent services | |
US8495609B2 (en) | Methods, systems, and computer program products for taking a snapshot of installed software on a data processing system as part of a software update process | |
US8132186B1 (en) | Automatic detection of hardware and device drivers during restore operations | |
US8146060B2 (en) | Data processing system and method for execution of a test routine in connection with an operating system | |
US8316224B2 (en) | Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system | |
US7886185B1 (en) | Creation of a device database and synthesis of device driver information during dissimilar system restore | |
US10338910B2 (en) | Multi-tenant upgrading | |
JP2019020798A (en) | Information processing device and program | |
US20180349125A1 (en) | Information processing apparatus and program management method | |
EP2648092A1 (en) | Updating method and multi-domain embedded system | |
JP2008171241A (en) | Backup device and restoration method | |
US20190065168A1 (en) | Apparatus and method to shorten software installation time based on a history of file installation | |
WO2016120989A1 (en) | Management computer and rule test method | |
JP2020119115A (en) | Information processing device, information providing program, and information providing system | |
JP2018018273A (en) | Information processing system, information processing apparatus, update control apparatus, and update control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200409 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200414 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210413 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211109 |