JP6269174B2 - データ処理プログラム、データ処理装置及びデータ処理方法 - Google Patents

データ処理プログラム、データ処理装置及びデータ処理方法 Download PDF

Info

Publication number
JP6269174B2
JP6269174B2 JP2014042834A JP2014042834A JP6269174B2 JP 6269174 B2 JP6269174 B2 JP 6269174B2 JP 2014042834 A JP2014042834 A JP 2014042834A JP 2014042834 A JP2014042834 A JP 2014042834A JP 6269174 B2 JP6269174 B2 JP 6269174B2
Authority
JP
Japan
Prior art keywords
data
update
unit
updated
storage device
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.)
Expired - Fee Related
Application number
JP2014042834A
Other languages
English (en)
Other versions
JP2015170015A (ja
Inventor
俊樹 大河内
俊樹 大河内
裕二 和田
裕二 和田
邦昭 嶋田
邦昭 嶋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014042834A priority Critical patent/JP6269174B2/ja
Priority to US14/609,519 priority patent/US9330114B2/en
Publication of JP2015170015A publication Critical patent/JP2015170015A/ja
Application granted granted Critical
Publication of JP6269174B2 publication Critical patent/JP6269174B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ処理プログラム、データ処理装置及びデータ処理方法に関する。
VM(Virtual Machine)などの装置を復元するためのイメージを管理する管理装置がある。かかる管理装置の一例について説明する。例えば、管理装置は、装置のイメージに含まれるデータのうち、外部レポジトリなどが保持するデータについてはインターネット経由で取得できるため、インターネット経由で取得できるデータについては、保持しない。そして、管理装置は、例えば、装置を復元するタイミングなどの所定のタイミングで、インターネット経由でデータを取得し、取得したデータと、管理装置が保持するイメージのデータとを用いて、装置を復元するためのイメージを生成する。
特開2000−200208号公報 特表2005−501342号公報 特開2000−293420号公報
しかしながら、上述した管理装置が取得したデータでは、以下に説明するように、外部レポジトリが保持するデータが更新された場合に、装置を復元するなどの対応が困難である場合があるという問題がある。
例えば、外部レポジトリが保持するデータは、外部レポジトリを利用するユーザによって更新される場合がある。また、外部レポジトリは、更新されたデータを全て保持するのではなく、所定数の世代のデータしか保持しない場合がある。このため、上述した管理装置が、所定のタイミングで、インターネット経由で更新される前のデータの取得を試みたとしても、更新される前のデータが外部レポジトリに保持されておらず、更新される前のデータを取得できない場合がある。また、管理装置が、更新される前のデータを取得できない場合に、更新後のデータを取得し、取得したデータと、管理装置が保持するイメージのデータとを用いて装置を復元するためのイメージの生成を試みることも考えられる。しかしながら、取得したデータが更新されているため、装置を復元するためのイメージが管理装置により生成できない場合がある。そのため、上述した管理装置が取得したデータでは、外部レポジトリが保持するデータが更新された場合に、装置を復元するなどの対応ができない場合があるという問題がある。なお、かかる問題は、外部レポジトリが保持するデータが更新された場合に限られず、外部レポジトリ以外の記憶装置が記憶するデータが更新された場合にも同様に発生する。また、かかる問題は、装置を復元する対応ができないという問題に限られない。
1つの側面では、本発明は、記憶装置が記憶するデータが更新された場合に、各種の対応を可能とすること目的とする。
データ処理プログラムは、コンピュータに、第一の記憶装置に記憶された第一のデータと対応付けられた、第二の記憶装置に記憶された第二のデータが更新されたかを検知する処理を実行させる。データ処理プログラムは、コンピュータに、更新が検知されると第二の記憶装置から更新前の第二のデータを取得して第一の記憶装置に保存する処理を実行させる。データ処理プログラムは、コンピュータに、第一の記憶装置に第二のデータがある場合は、第一の記憶装置から第二のデータを取得し、当該第二のデータおよび第一のデータを用いて第三のデータを生成する処理を実行させる。
記憶装置が記憶するデータが更新された場合に、各種の対応を可能とする。
図1は、実施例に係るデータ処理装置の一例である管理装置が適用されるシステム構成の一例を示す図である。 図2は、実施例に係る管理装置の機能構成の一例を示す図である。 図3は、実施例に係る分解部の機能構成の一例を示す図である。 図4は、ディスクイメージファイル取得部が生成したデータリストの一例を示す図である。 図5は、復元情報のデータ構造の一例を示す図である。 図6は、イメージ分解部が実行する処理の一例を説明するための図である。 図7は、イメージ分解部が実行する処理の一例を説明するための図である。 図8は、実施例に係る監視部の機能構成の一例を示す図である。 図9は、実施例に係る復元部の機能構成の一例を示す図である。 図10は、実施例に係る分解処理の手順を示すフローチャートである。 図11は、実施例に係る監視処理の手順を示すフローチャートである。 図12は、実施例に係る復元処理の手順を示すフローチャートである。 図13は、変形例に係る管理装置が実行する処理の一例を説明するための図である。 図14は、変形例に係る管理装置が実行する処理の一例を説明するための図である。 図15は、データ処理プログラムを実行するコンピュータを示す図である。
以下に、本願の開示するデータ処理プログラム、データ処理装置及びデータ処理方法の各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。
図1は、実施例に係るデータ処理装置の一例である管理装置が適用されるシステム構成の一例を示す図である。図1の例に示すように、システム10は、外部レポジトリサーバ11、管理装置1を有する。外部レポジトリサーバ11と管理装置1とは、インターネット12を介して接続される。
外部レポジトリサーバ11は、オープンソースのソフトウェアを記憶し、ソフトウェアをインターネット12を介して提供するサーバである。かかるソフトウェアは、外部レポジトリサーバ11を利用するユーザによって更新される。本実施例に係る外部レポジトリサーバ11は、あるソフトウェアについて複数回更新された場合であっても全ての世代のソフトウェアを記憶するのではなく、直近の所定数の世代(例えば3世代)のソフトウェアを記憶する。外部レポジトリサーバ11は、yum(Yellowdog Updater Modified)レポジトリサーバ、RHUI(Red Hat Update Infrastructure)などである。また、外部レポジトリサーバ11は、例えば、第二の記憶装置の一例であり、ソフトウェアは、第二のデータの一例である。
管理装置1は、VMのイメージファイル、例えば、ディスクイメージを復元する。ここで、管理装置1は、ディスクイメージに含まれるソフトウェアのうち、外部レポジトリサーバ11に記憶されたソフトウェアについては、管理装置1内の記憶部から削除する。これにより、管理装置1は、管理装置1内の記憶部に記憶されるデータのサイズの増大を抑制することができる。そして、管理装置1は、VMのイメージファイルを復元する場合などに、次の処理を行う。すなわち、管理装置1は、削除したソフトウェアを外部レポジトリサーバ11からダウンロードし、ダウンロードしたソフトウェアと、管理装置1内の記憶部に記憶されたディスクイメージとを用いて、VMのイメージファイルを復元する。なお、ディスクイメージは、第一のデータの一例である。
さらに、本実施例に係る管理装置1は、外部レポジトリサーバ11に記憶されたソフトウェアのうち、管理装置1内の記憶部から削除したソフトウェアが更新されたか否かを監視する。そして、管理装置1は、ソフトウェアが更新された場合に、更新される前のソフトウェアを外部レポジトリサーバ11からダウンロードする。これにより、管理装置1は、外部レポジトリサーバ11においてソフトウェアが更新された場合であっても、VMを復元することが可能なソフトウェアを取得して保存することができる。
[管理装置1の機能構成の一例]
図2は、実施例に係る管理装置の機能構成の一例を示す図である。図2の例に示すように、管理装置1は、入力部2、通信部3、記憶部4及び制御部5を有する。
入力部2は、各種情報を制御部5に入力する。例えば、入力部2は、管理装置1のユーザから後述の分解処理を実行する対象のVMの指定を受け付けた場合には、受け付けたVMの指定を制御部5に入力する。また、入力部2は、ユーザから、どのVMのディスクイメージファイル4aを復元するかの指示を受け付けた場合には、受け付けた指示を制御部5に入力する。入力部2のデバイスの一例としては、マウスやキーボードなどが挙げられる。
通信部3は、管理装置1と、VMを稼働させる図示しない他の装置との通信を行うためのインターフェースである。通信部3は、インターネット12や図示しないネットワークを介して他の装置に接続されている。
記憶部4は、各種情報を記憶する。例えば、記憶部4は、復元対象のVMごとのディスクイメージファイル4a、VMごとの復元情報4b、VMごとのファイル群4cを記憶する。なお、記憶部4は、第一の記憶装置の一例である。
ディスクイメージファイル4aは、VMのディスクのイメージファイルであり、例えば、RPM(Redhat Package Manager)パッケージのイメージファイルである。RPMパッケージには、プログラムなどのバイナリファイルや設定ファイルがまとめられている。
復元情報4b、ファイル群4cのそれぞれは、後述の分解部5aにより生成される情報、まとめられた複数のファイルの集まりであり、詳細については後述する。
記憶部4は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
制御部5は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図2に示すように、制御部5は、分解部5aと、監視部5bと、復元部5cとを有する。
分解部5aは、以下に説明するように、ディスクイメージファイル4aを更新し、復元情報4b、ファイル群4cを生成する。図3は、実施例に係る分解部の機能構成の一例を示す図である。図3の例に示すように、分解部5aは、ディスクイメージファイル取得部6a、外部レポジトリ取得部6b、共通部分抽出部6c、イメージ分解部6dを有する。
ディスクイメージファイル取得部6aの一態様について説明する。例えば、ディスクイメージファイル取得部6aは、入力部2から後述の分解処理を実行する対象のVMの指定が入力されると、指定されたVMに対応するディスクイメージファイル4aを取得する。そして、ディスクイメージファイル取得部6aは、取得したディスクイメージファイル4aに含まれるRPMパッケージの一覧を取得し、取得したRPMパッケージの一覧をデータリストに登録することにより、データリストを生成する。図4は、ディスクイメージファイル取得部が生成したデータリストの一例を示す図である。図4の例は、ディスクイメージファイル取得部6aが、「MAKEDEV−3.23−1.2.x86_64」、「PyXML−0.8.4−4.el5_4.2.x86_64」などの各種のRPMパッケージなどをデータリストに登録した場合を示す。
外部レポジトリ取得部6bの一態様について説明する。外部レポジトリ取得部6bは、外部レポジトリ11からオープンソースのソフトウェアの一覧を取得する。
共通部品抽出部6cの一態様について説明する。共通部品抽出部6cは、ディスクイメージファイル取得部6aにより生成されたデータリストに登録されたRPMパッケージを1つずつ順に選択する。そして、共通部品抽出部6cは、RPMパッケージを1つ選択するたびに、選択したRPMパッケージと同一のパッケージが、外部レポジトリ取得部6bにより取得されたオープンソースのソフトウェアの一覧の中に存在するか否かを判定する。
選択したRPMパッケージと同一のパッケージが、オープンソースのソフトウェアの一覧の中に存在する場合には、共通部分抽出部6cは、同一パッケージである選択したRPMパッケージとオープンソースのソフトウェアとの間で次の処理を行う。すなわち、共通部分抽出部6cは、RPMパッケージに含まれるファイルの中身と、かかるファイルと同一名称の、オープンソースのソフトウェアに含まれるファイルの中身とがバイナリ単位で完全一致するか否かを判定する。例えば、共通部分抽出部6cは、選択したRPMパッケージに含まれるファイル「/etc/makedev.d」と、オープンソースのソフトウェアに含まれるファイル「/etc/makedev.d」とがバイナリ単位で完全一致するか否かを判定する。そして、共通部分抽出部6cは、このような完全一致するか否かの判定を、選択したRPMパッケージに含まれる全てのファイルについて行う。
イメージ分解部6dの一態様について説明する。イメージ分解部6dは、共通部分抽出部6cによりバイナリ単位で完全一致しないと判定した場合に、完全一致しないと判定した2つのファイルのうち、選択したRPMパッケージに含まれるファイルを抽出する。そして、イメージ分解部6dは、抽出したファイルを、指定されたVMに対応するファイル群に追加する。このようにして、イメージ分解部6dは、オリジナルのファイルから変更されたファイルを、指定されたVMに対応するファイル群4cに新たに追加する。
例えば、イメージ分解部6dは、RPMパッケージ「apache」に含まれるファイル「httpd.conf」と、オープンソースのソフトウェア「apache」に含まれるファイル「httpd.conf」とが完全一致しない場合、次の処理を行う。すなわち、イメージ分解部6dは、選択したRPMパッケージ「apache」に含まれるファイル「httpd.conf」を、指定されたVMに対応するファイル群4cに新たに追加する。
また、イメージ分解部6dは、RPMパッケージ「tomcat」に含まれるファイル「server.xml」と、オープンソースのソフトウェア「tomcat」に含まれるファイル「server.xml」とが完全一致しない場合、次の処理を行う。すなわち、イメージ分解部6dは、選択したRPMパッケージ「tomcat」に含まれるファイル「server.xml」を、指定されたVMに対応するファイル群4cに新たに追加する。
そして、イメージ分解部6dは、共通部分抽出部6cにより、選択されたRPMパッケージと同一のパッケージが、オープンソースのソフトウェアの一覧の中に存在すると判定された場合には、次の処理を行う。すなわち、イメージ分解部6dは、共通部分抽出部6cにより選択されたRPMパッケージを、指定されたVMに対応するディスクイメージファイル4aから削除する。そして、イメージ分解部6dは、削除したRPMパッケージを、指定されたVMに対応する復元情報4bに登録する。
図5は、復元情報のデータ構造の一例を示す図である。図5の例に示す復元情報4bは、指定されたVMのイメージの名称「DiskImage1」、指定されたVMに対応するファイル群4cの名称「DiskImage1_File.tar.gz」を含む。また、図5の例に示す復元情報4bは、「MAKEDEV−3.23−1.2.x86_64」、「PyXML−0.8.4−4.el5_4.2.x86_64」などの各種のRPMパッケージを含む。ここで、復元情報4bに含まれるRPMパッケージの名称は、外部レポジトリサーバ11に記憶されているRPMパッケージの名称である。また、復元情報4bは、所定の情報の一例である。
図6及び図7は、イメージ分解部が実行する処理の一例を説明するための図である。図6の例に示すように、イメージ分解部6dは、共通部分抽出部6cにより、選択されたRPMパッケージ「apache」と同一のパッケージが、オープンソースのソフトウェアの一覧の中に存在すると判定された場合には、次の処理を行う。すなわち、イメージ分解部6dは、共通部分抽出部6cにより選択されたRPMパッケージ「apache」を、指定されたVMに対応するディスクイメージファイル4aから削除する。そして、イメージ分解部6dは、削除したRPMパッケージ「apache」を、指定されたVMに対応する復元情報4bに登録する。
そして、図7の例に示すように、イメージ分解部6dは、共通部分抽出部6cにより、選択されたRPMパッケージ「tomcat」と同一のパッケージが、オープンソースのソフトウェアの一覧の中に存在すると判定された場合には、次の処理を行う。すなわち、イメージ分解部6dは、共通部分抽出部6cにより選択されたRPMパッケージ「tomcat」を、指定されたVMに対応するディスクイメージファイル4aから削除する。そして、イメージ分解部6dは、削除したRPMパッケージ「tomcat」を、指定されたVMに対応する復元情報4bに登録する。
図2の説明に戻り、監視部5bは、以下に説明するように、外部レポジトリサーバ11に記憶されたソフトウェアが更新されたか否かを監視し、ソフトウェアが更新された場合に、更新される前のソフトウェアを外部レポジトリサーバ11から取得する。監視部5bは、検知部の一例である。図8は、実施例に係る監視部の機能構成の一例を示す図である。図8の例に示すように、監視部5bは、復元情報解析部7a、外部レポジトリ取得部7b、復元情報更新部7cを有する。
復元情報解析部7aの一態様について説明する。例えば、復元情報解析部7aは、全てのVMについて、所定時間間隔で、VMに対応する復元情報4bに含まれるRPMパッケージの一覧を取得し、取得したRPMパッケージの一覧を復元データリストに登録することにより、復元データリストを生成する。例えば、復元情報解析部7aは、「MAKEDEV−3.23−1.2.x86_64」、「PyXML−0.8.4−4.el5_4.2.x86_64」などの各種のRPMパッケージなどを復元データリストに登録して、復元データリストを生成する。
外部レポジトリ取得部7bの一態様について説明する。外部レポジトリ取得部7bは、復元情報解析部7aにより復元データリストが生成されるたびに、外部レポジトリサーバ11から、復元データリストに登録されたRPMパッケージをダウンロードする。なお、外部レポジトリ取得部7bは、RPMパッケージをダウンロードする際に、バージョンの指定は行わない。
復元情報更新部7cの一態様について説明する。復元情報更新部7cは、外部レポジトリ取得部7bによりRPMパッケージがダウンロードされるたびに、ダウンロードされたRPMパッケージのバージョンと、復元データリストに登録されたRPMパッケージのバージョンとを比較する。例えば、RPMパッケージのパッケージ名には、パッケージのバージョンを表す数値が含まれているので、復元情報更新部7cは、バージョンを表す数値を比較する。この数値は、例えば、大きいほど最新のパッケージであることを示す。そして、復元情報更新部7cは、比較の結果、ダウンロードされたRPMパッケージのバージョンのほうが、復元データリストに登録されたRPMパッケージのバージョンよりも新しい場合には、次の処理を行う。すなわち、復元情報更新部7cは、復元データリストに登録されたバージョン(更新される前のバージョン)のRPMパッケージを外部レポジトリサーバ11からダウンロードする。そして、復元情報更新部7cは、ダウンロードしたRPMパッケージのファイルをファイル群4cに追加する。
そして、復元情報更新部7cは、新たにファイル群4cに追加されたRPMパッケージを復元情報4bから削除する。
図2の説明に戻り、復元部5cは、以下に説明するように、ディスクイメージファイル4aを復元する。復元部5cは、生成部の一例である。図9は、実施例に係る復元部の機能構成の一例を示す図である。図9の例に示すように、復元部5cは、復元情報解析部8a、外部レポジトリ取得部8b、イメージ復元部8cを有する。
復元情報解析部8aの一態様について説明する。例えば、復元情報解析部8aは、入力部2から、どのVMのディスクイメージファイル4aを復元するかの指示が入力されると、ディスクイメージファイル4aが復元される対象のVMに対応する復元情報4bを特定する。そして、復元情報解析部8aは、特定した復元情報4bに含まれるRPMパッケージの一覧を取得する。そして、復元情報解析部8aは、取得したRPMパッケージの一覧を復元データリストに登録することにより、復元データリストを生成する。例えば、復元情報解析部8aは、「MAKEDEV−3.23−1.2.x86_64」、「PyXML−0.8.4−4.el5_4.2.x86_64」などの各種のRPMパッケージなどを復元データリストに登録して、復元データリストを生成する。
外部レポジトリ取得部8bの一態様について説明する。外部レポジトリ取得部8bは、復元情報解析部8aにより復元データリストが生成されるたびに、外部レポジトリサーバ11から、復元データリストに登録されたRPMパッケージをダウンロードする。なお、外部レポジトリ取得部8bは、RPMパッケージをダウンロードする際に、バージョンの指定を行う。
イメージ復元部8cの一態様について説明する。イメージ復元部8cは、VMごとに、外部レポジトリ取得部8bによりRPMパッケージがダウンロードされるたびに、ダウンロードされたRPMパッケージを、ディスクイメージファイル4aにインストールする。さらに、イメージ復元部8cは、VMごとに、ファイル群4cをディスクイメージファイル4aにコピーする。これにより、VMを復元可能なディスクイメージファイル4aが生成される。なお、復元可能なディスクイメージファイル4aは、第三のデータの一例である。
制御部5は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの回路である。
[処理の流れ]
次に、実施例に係る管理装置1が実行する各種の処理の流れについて説明する。図10は、実施例に係る分解処理の手順を示すフローチャートである。実施例に係る分解処理は、例えば、入力部2から、分解処理を実行する対象のVMの指定が制御部5に入力された場合に、制御部5により実行される。
図10に示すように、ディスクイメージファイル取得部6aは、指定されたVMに対応するディスクイメージファイル4aを取得する。そして、ディスクイメージファイル取得部6aは、取得したディスクイメージファイル4aに含まれるRPMパッケージの一覧を取得し、取得したRPMパッケージの一覧をデータリストに登録することにより、データリストを生成する(S101)。
外部レポジトリ取得部6bは、外部レポジトリ11からオープンソースのソフトウェアの一覧を取得する(S102)。
共通部分抽出部6cは、ディスクイメージファイル取得部6aにより生成されたデータリストに登録されたRPMパッケージの中に、未選択のRPMパッケージがあるか否かを判定する(S103)。未選択のRPMパッケージがある場合(S103;Yes)には、共通部分抽出部6cは、未選択のRPMパッケージを1つ選択する(S104)。
そして、共通部分抽出部6cは、選択したRPMパッケージと同一のパッケージが、外部レポジトリ取得部6bにより取得されたオープンソースのソフトウェアの一覧の中に存在するか否かを判定する(S105)。
オープンソースのソフトウェアの一覧の中に存在する場合(S105;Yes)には、イメージ分解部6dは、共通部分抽出部6cにより選択されたRPMパッケージを、指定されたVMに対応するディスクイメージファイル4aから削除する(S106)。そして、イメージ分解部6dは、削除したRPMパッケージを、指定されたVMに対応する復元情報4bに登録する(S107)。
そして、共通部分抽出部6cは、選択したRPMパッケージに含まれるファイルの中に未選択のファイルがあるか否かを判定する(S108)。未選択のファイルがある場合(S108;Yes)には、共通部分抽出部6cは、未選択のファイルを1つ選択する(S109)。そして、共通部分抽出部6cは、同一パッケージである選択したファイルの中身と、かかるファイルと同一名称の、オープンソースのソフトウェアに含まれるファイルの中身とがバイナリ単位で完全一致するか否かを判定する(S110)。完全一致する場合(S110;Yes)には、共通部分抽出部6cは、S108に戻る。
一方、完全一致しない場合(S110;No)には、完全一致しないと判定した2つのファイルのうち、選択したRPMパッケージに含まれるファイルを抽出する。そして、イメージ分解部6dは、抽出したファイルを、指定されたVMに対応するファイル群4cに追加し(S111)、S108に戻る。
一方、未選択のファイルがない場合(S108;No)や、オープンソースのソフトウェアの一覧の中に存在しない場合(S105;No)には、S103に戻る。
そして、未選択のRPMパッケージがない場合(S103;No)には、共通部分抽出部6cは、処理を終了する。
図11は、実施例に係る監視処理の手順を示すフローチャートである。実施例に係る監視処理は、例えば、所定時間間隔で制御部5により実行される。
図11に示すように、復元情報解析部7aは、全てのVMについて、所定時間間隔で、VMに対応する復元情報4bに含まれるRPMパッケージの一覧を取得する。そして、復元情報解析部7aは、取得したRPMパッケージの一覧を復元データリストに登録することにより、復元データリストを生成する(S201)。
外部レポジトリ取得部7bは、復元情報解析部7aにより復元データリストが生成されるたびに、外部レポジトリサーバ11から、復元データリストに登録されたRPMパッケージをダウンロードする(S202)。なお、外部レポジトリ取得部7bは、RPMパッケージをダウンロードする際に、バージョンの指定は行わない。
そして、復元情報更新部7cは、ダウンロードされたRPMパッケージのバージョンと、復元データリストに登録されたRPMパッケージのバージョンとを比較する。そして、復元情報更新部7cは、比較の結果、ダウンロードされたRPMパッケージのバージョンのほうが、復元データリストに登録されたRPMパッケージのバージョンよりも新しいか否かを判定する(S203)。
新しい場合(S203;Yes)には、復元情報更新部7cは、次の処理を行う。すなわち、復元情報更新部7cは、復元データリストに登録されたバージョン(更新される前のバージョン)のRPMパッケージを外部レポジトリサーバ11からダウンロードする(S204)。そして、復元情報更新部7cは、ダウンロードしたRPMパッケージのファイルをファイル群4cに追加する(S205)。
そして、復元情報更新部7cは、新たにファイル群4cに追加されたRPMパッケージを復元情報4bから削除し(S206)、処理を終了する。また、新しくない場合(S203;No)にも、復元情報更新部7cは、処理を終了する。
図12は、実施例に係る復元処理の手順を示すフローチャートである。実施例に係る監視処理は、例えば、入力部2から、どのVMのディスクイメージファイル4aを復元するかの指示が入力されると、制御部5により実行される。
図12に示すように、復元情報解析部8aは、ディスクイメージファイル4aが復元される対象のVMに対応する復元情報4bを特定する。そして、復元情報解析部8aは、特定した復元情報4bに含まれるRPMパッケージの一覧を取得する。そして、復元情報解析部8aは、取得したRPMパッケージの一覧を復元データリストに登録することにより、復元データリストを生成する(S301)。
外部レポジトリ取得部8bは、外部レポジトリサーバ11から、復元データリストに登録されたRPMパッケージをダウンロードする(S302)。なお、外部レポジトリ取得部8bは、RPMパッケージをダウンロードする際に、バージョンの指定を行う。
イメージ復元部8cは、VMごとに、ダウンロードされたRPMパッケージを、ディスクイメージファイル4aにインストールする。さらに、イメージ復元部8cは、VMごとに、ファイル群4cをディスクイメージファイル4aにコピーして、VMを復元可能なディスクイメージファイル4aを生成し(S303)、処理を終了する。
上述してきたように、管理装置1は、記憶部4に記憶されたディスクイメージファイル4aと対応付けられた、外部レポジトリサーバ11に記憶されたソフトウェアが更新されたかを検知する。そして、管理装置1は、更新が検知されると外部レポジトリサーバ11から更新前のソフトウェアを取得して記憶部4に保存する。そして、管理装置1は、記憶部4に更新前のソフトウェアがある場合は、記憶部4から更新前のソフトウェアを取得し、更新前のソフトウェアおよびディスクイメージファイル4aを用いてVMを復元可能なディスクイメージファイル4aを生成する。したがって、管理装置1によれば、外部レポジトリサーバ11が記憶するデータが更新された場合であっても、VMを復元するという対応が可能となる。
また、管理装置1は、VMのイメージファイルの一部のデータが更新されたかを検知する。そして、管理装置1は、管理装置1が保持するVMのイメージファイルの一部のデータと、ダウンロードした更新前のVMのイメージファイルの一部のデータとを用いて、VMを復元可能なイメージファイルを生成する。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
例えば、開示の装置は、入力部2を介して、ユーザによる復元情報4bの登録内容の更新を受け付けることもできる。この場合、開示の装置は、登録内容が更新された復元情報4bを用いて、復元情報4bに登録されたRPMパッケージを外部レポジトリサーバ11からダウンロードして、ディスクイメージファイル4aを復元することができる。これにより、復元情報4bの更新という簡易な作業で、復元時のVMのRPMパッケージのバージョンなどを新しいバージョンに更新することができる。図13は、変形例に係る管理装置が実行する処理の一例を説明するための図である。図13の例は、管理装置が、入力部2を介して、復元情報4bに登録された「apache v1」、「tomcat v1」のRPMパッケージから、「apache v2」、「tomcat v2」のRPMパッケージへの更新を受け付けた場合を示す。図13の例の場合において、管理装置は、復元情報4bに登録された「apache v2」、「tomcat v2」のRPMパッケージを外部レポジトリサーバ11からダウンロードして、ディスクイメージファイル4aを復元する。このため、復元情報4bの更新という簡易な作業で、復元時のVMの「apache」、「tomcat」のバージョンを新しいバージョンに更新することができる。
また、開示の装置は、外部レポジトリサーバ11に記憶されたRPMパッケージの更新を検知した場合に、更新が軽微な場合には、RPMパッケージのダウンロードを行わないように制御することもできる。ここで更新が軽微な場合の一例としては、例えば、RPMパッケージの更新が単なるバグの修正である場合が挙げられる。図14は、変形例に係る管理装置が実行する処理の一例を説明するための図である。図14の例に示すように、管理装置は、「apache v1.0.0」から「apache v1.0.1」へのバグの修正の軽微な更新を検知した場合には、更新前の「apache v1.0.0」をダウンロードしないように制御することもできる。これにより、軽微な更新などの場合には、機能的にあまり変わらないRPMパッケージのダウンロードを抑止できるので、管理装置の処理負荷を軽減することができる。
なお、開示の装置は、更新があった場合に、更新前のRPMパッケージをダウンロードする。そして、開示の装置は、ダウンロードしたRPMパッケージに外部レポジトリサーバ11によって付加された更新に関する情報に基づいて、イメージを復元するか、または、復元しないかの制御を行うこともできる。例えば、脆弱性対応のためRPMパッケージを更新した場合には、ダウンロードしたRPMパッケージは脆弱性を有することとなる。このときダウンロードしたRPMパッケージを用いてVMを復元した場合には、復元したVMは脆弱性を有することとなる。そこで、管理装置は、付加された更新に関する情報が、脆弱性対応の更新であることを示す場合には、ダウンロードしたRPMパッケージを用いて、イメージを復元しないように制御することができる。
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、各実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[データ処理プログラム]
また、上記の実施例で説明した管理装置1の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図15を用いて、上記の実施例で説明した管理装置1と同様の機能を有するデータ処理プログラムを実行するコンピュータの一例を説明する。図15は、データ処理プログラムを実行するコンピュータを示す図である。
図15に示すように、コンピュータ300は、CPU310、ROM320、HDD(Hard Disk Drive)330、RAM340を有する。これら各機器310〜340は、バス350を介して接続されている。
ROM320には、OS(Operating System)などの基本プログラムが記憶されている。また、HDD330には、上記の実施例で示す分解部5a、監視部5b、復元部5cと同様の機能を発揮するデータ処理プログラム330aが予め記憶される。
そして、CPU310が、データ処理プログラム330aをHDD330から読み出して実行する。
なお、上記したデータ処理プログラム330aについては、必ずしも最初からHDD330に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にデータ処理プログラム330aを記憶させておく。そして、コンピュータ300がこれらからデータ処理プログラム330aを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにデータ処理プログラム330aを記憶させておく。そして、コンピュータ300がこれらからデータ処理プログラム330aを読み出して実行するようにしてもよい。
1 管理装置
4a ディスクイメージファイル
4b 復元情報
4c ファイル群
5 制御部
5a 分解部
5b 監視部
5c 復元部

Claims (7)

  1. コンピュータに、
    第一の記憶装置に記憶された第一のデータを構成するデータして対応付けられた、第二の記憶装置に記憶された第二のデータが更新されたかを検知し、
    更新が検知された場合、前記第二の記憶装置から更新前の当該第二のデータを取得して前記第一の記憶装置に保存し、
    前記更新が検知された場合は、前記第一の記憶装置から前記更新前の第二のデータを取得し、前記更新が検知されない場合は、前記第二の記憶装置から更新されていない前記第二のデータを取得し、当該更新前の第二のデータ又は当該更新されていない第二のデータと、前記第一のデータを用いて第三のデータを生成する、
    処理を実行させることを特徴とするデータ処理プログラム。
  2. 前記第二のデータが更新されたかを検知する処理は、装置のイメージファイルの一部のデータである前記第二のデータが更新されたかを検知し、
    前記第三のデータを生成する処理は、前記コンピュータが保持する前記装置のイメージファイルの一部のデータである前記第一のデータと、前記更新前の第二のデータ又は前記更新されていない第二のデータとを用いて、前記装置のイメージファイルを生成する
    ことを特徴とする請求項1に記載のデータ処理プログラム。
  3. 前記第二のデータに関する情報が登録された所定の情報に対する登録内容の更新を受け付ける処理をさらにコンピュータに実行させ、
    前記第二のデータが更新されたかを検知する処理は、前記所定の情報に登録された前記第二のデータについて、更新されたかを検知するとともに、該所定の情報の登録内容が更新された場合には更新された該所定の情報に登録されたデータについて更新されたかを検知する
    ことを特徴とする請求項1または2に記載のデータ処理プログラム。
  4. 前記更新前の第二のデータを取得して前記第一の記憶装置に保存する処理は、検知された更新が軽微ではない場合は前記更新前の第二のデータを取得し、検知された更新が軽微である場合は前記更新前の第二のデータを取得しないように制御を行う
    ことを特徴とする請求項1〜3のいずれか1つに記載のデータ処理プログラム。
  5. 前記第三のデータを生成する処理は、検知された更新が脆弱性対応に関する種類以外である場合は前記第三のデータを生成し、検知された更新が脆弱性対応に関する種類である場合は前記第三のデータを生成しないように制御を行う
    ことを特徴とする請求項1〜4のいずれか1つに記載のデータ処理プログラム。
  6. 第一の記憶装置に記憶された第一のデータを構成するデータして対応付けられた、第二の記憶装置に記憶された第二のデータが更新されたかを検知し、更新が検知されると前記第二の記憶装置から更新前の当該第二のデータを取得して前記第一の記憶装置に保存する検知部と、
    前記検知部により更新が検知された場合は、前記第一の記憶装置から前記更新前の第二のデータを取得し、更新が検知されない場合は、前記第二の記憶装置から更新されていない前記第二のデータを取得し、当該更新前の第二のデータ又は当該更新されていない第二のデータと、前記第一のデータを用いて第三のデータを生成する生成部と、
    を有することを特徴とするデータ処理装置。
  7. コンピュータが、
    第一の記憶装置に記憶された第一のデータを構成するデータして対応付けられた、第二の記憶装置に記憶された第二のデータが更新されたかを検知し、
    更新が検知された場合、前記第二の記憶装置から更新前の当該第二のデータを取得して前記第一の記憶装置に保存し、
    前記更新が検知された場合は、前記第一の記憶装置から前記更新前の第二のデータを取得し、前記更新が検知されない場合は、前記第二の記憶装置から更新されていない前記第二のデータを取得し、当該更新前の第二のデータ又は当該更新されていない第二のデータと、前記第一のデータを用いて第三のデータを生成する、
    処理を実行することを特徴とするデータ処理方法。
JP2014042834A 2014-03-05 2014-03-05 データ処理プログラム、データ処理装置及びデータ処理方法 Expired - Fee Related JP6269174B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014042834A JP6269174B2 (ja) 2014-03-05 2014-03-05 データ処理プログラム、データ処理装置及びデータ処理方法
US14/609,519 US9330114B2 (en) 2014-03-05 2015-01-30 Data processing apparatus, data processing method, and recording medium storing computer program for performing data processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014042834A JP6269174B2 (ja) 2014-03-05 2014-03-05 データ処理プログラム、データ処理装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
JP2015170015A JP2015170015A (ja) 2015-09-28
JP6269174B2 true JP6269174B2 (ja) 2018-01-31

Family

ID=54017535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014042834A Expired - Fee Related JP6269174B2 (ja) 2014-03-05 2014-03-05 データ処理プログラム、データ処理装置及びデータ処理方法

Country Status (2)

Country Link
US (1) US9330114B2 (ja)
JP (1) JP6269174B2 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817050A (en) * 1985-11-22 1989-03-28 Kabushiki Kaisha Toshiba Database system
US5146071A (en) * 1990-04-24 1992-09-08 Olympus Optical Co., Ltd. Optical lens system-driving control apparatus for microscopically driving a plurality of lens groups
US5321520A (en) * 1992-07-20 1994-06-14 Automated Medical Access Corporation Automated high definition/resolution image storage, retrieval and transmission system
JP2000200208A (ja) 1999-01-06 2000-07-18 Fujitsu Ltd ファイルバックアップ方法,装置およびそのプログラム記録媒体
JP4075203B2 (ja) 1999-04-09 2008-04-16 株式会社日立製作所 データバックアップシステム
JP2001297021A (ja) * 2000-04-12 2001-10-26 Nec Software Hokkaido Ltd データ復元方法及びデータ復元方法を実行させるプログラムを記録した記録媒体
CN1294514C (zh) 2001-08-20 2007-01-10 信息中心科技有限公司 高效的计算机文件备份系统和方法
JP2006331394A (ja) * 2005-04-25 2006-12-07 Ricoh Co Ltd プログラムバージョン管理方法、プログラム及び印刷システム
US20070078809A1 (en) * 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. Robust data availability system having decentralized storage and multiple access paths
JP2007257156A (ja) * 2006-03-22 2007-10-04 Nec Corp リストアシステム及びリストア方法
US8805953B2 (en) * 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud

Also Published As

Publication number Publication date
JP2015170015A (ja) 2015-09-28
US20150254243A1 (en) 2015-09-10
US9330114B2 (en) 2016-05-03

Similar Documents

Publication Publication Date Title
JP5665188B2 (ja) ソフトウエア更新を適用した情報処理装置を検査するシステム
Hemel et al. Finding software license violations through binary code clone detection
CN102521081B (zh) 修复遭破坏的软件
US10430590B2 (en) Apparatus for quantifying security of open-source software package, and apparatus and method for optimizing open-source software package
Bierma et al. Andlantis: Large-scale Android dynamic analysis
US20170068676A1 (en) Layer Identification and Dependency Analysis for Management of Images
US11475133B2 (en) Method for machine learning of malicious code detecting model and method for detecting malicious code using the same
JP6392446B2 (ja) クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム
Choi et al. Toward extracting malware features for classification using static and dynamic analysis
EP3376377A1 (en) Apparatus and control method for comparison of hierarchical virtual machine templates
EP2985716B1 (en) Information processing device and identifying method
JP2018519556A (ja) ヘテロジニアスなコンピューティング環境にわたってクラウドサービスをプロビジョニングするためのシステムおよび方法
KR20190031030A (ko) 바이너리 파일에 기초하여 오픈소스 소프트웨어 패키지를 식별하는 방법 및 시스템
KR20190037895A (ko) 바이너리 파일에 기초하여 오픈소스 소프트웨어 패키지를 식별하는 방법 및 시스템
US20180341770A1 (en) Anomaly detection method and anomaly detection apparatus
US20150220733A1 (en) Apparatus and method for detecting a malicious code based on collecting event information
US20190073198A1 (en) Multi-flavored software execution from a singular code base
JP6269174B2 (ja) データ処理プログラム、データ処理装置及びデータ処理方法
RU2583711C2 (ru) Способ отложенного устранения вредоносного кода
JP6665576B2 (ja) 支援装置、支援方法及びプログラム
CN103632086B (zh) 修复基本输入输出系统bios恶意程序的方法和装置
CN109213748B (zh) 一种数据库脚本文件的更新方法、服务器及介质
KR102167767B1 (ko) 머신러닝의 학습 데이터셋 생성을 위한 애플리케이션 자동화 빌드 장치 및 방법
US20200142689A1 (en) System And Methods for Patch Management
US9372992B1 (en) Ensuring integrity of a software package installer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171030

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: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171218

R150 Certificate of patent or registration of utility model

Ref document number: 6269174

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees