JP2014021754A - 仮想マシン管理システム、仮想マシン管理方法およびプログラム - Google Patents

仮想マシン管理システム、仮想マシン管理方法およびプログラム Download PDF

Info

Publication number
JP2014021754A
JP2014021754A JP2012160361A JP2012160361A JP2014021754A JP 2014021754 A JP2014021754 A JP 2014021754A JP 2012160361 A JP2012160361 A JP 2012160361A JP 2012160361 A JP2012160361 A JP 2012160361A JP 2014021754 A JP2014021754 A JP 2014021754A
Authority
JP
Japan
Prior art keywords
virtual machine
file
difference information
identification information
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.)
Granted
Application number
JP2012160361A
Other languages
English (en)
Other versions
JP5943753B2 (ja
Inventor
Mitsunori Uehara
光徳 上原
Tatsuo Kawauchi
達男 川内
Keiichi Oami
恵一 大網
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2012160361A priority Critical patent/JP5943753B2/ja
Publication of JP2014021754A publication Critical patent/JP2014021754A/ja
Application granted granted Critical
Publication of JP5943753B2 publication Critical patent/JP5943753B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】複数の仮想マシンを容易に管理する。
【解決手段】仮想マシン管理システム100は、ネットワークを介して仮想マシンの操作命令を取得し、仮想マシン識別情報に基づいて処理の対象となる仮想マシンを特定する。そして、仮想マシンの状態を示す仮想マシンファイルを取得し、予め記憶されている所定の状態の仮想マシンファイルと、予め記憶されている差分情報に基づいて過去の仮想マシンの状態を示す仮想マシンファイルを生成する。その後仮想マシンファイルの内容同士を比較して新たな差分情報を生成し、仮想マシン識別情報に対応付けて記憶するとともに、共通する内容を仮想マシン識別情報と対応づけて記憶する。
【選択図】図1

Description

本発明は、仮想マシン管理システム、仮想マシン管理方法およびプログラムに関する。
近年、開発環境を構築することが容易であることやコスト面におけるメリットがあることにより、仮想環境におけるシステム開発が行われている。ここで、仮想環境で動作する仮想マシンの実体は、動作するハードウェアの情報やソフトウェア等のデータから構成される設定ファイルである。この設定ファイルが仮想マシンサーバに読み込まれることにより、仮想マシンとして動作することになる。したがって、この設定ファイルを複数生成することにより、仮想マシンを容易に複数構築することができる。
開発環境を仮想マシンにより構築した場合には、様々な動作環境の検証等に仮想マシンが用いられるため、複数の類似仮想マシンが構築されることとなる。そこで、複数の仮想マシンの管理を容易にするための様々な技術が提案されている。
例えば、特許文献1には、複数構築された仮想マシンを、運用系システムを構築する仮想マシンとテスト系システムを構築する仮想マシンとに分け、テスト系システムを構築する仮想マシンを、運用系システムを構築する仮想マシンとの差分情報として定義することにより、各仮想マシンの管理を容易にする技術が開示されている。
特開2010−102415号公報
しかし、特許文献1に記載の技術では、仮想マシン単位で差分情報を管理するが、仮想マシンには、ソフトウェアやネットワーク設定の変更など、日常的に変更が加えられるため、実際には、変更が加えられる度に個々の仮想マシンの情報を各開発者が管理簿等により管理する必要がある。したがって、複数の仮想マシンを容易に管理するという観点からすると未だ十分ではない。
本発明は、上述のような事情に鑑みてなされたものであり、複数の仮想マシンを容易に管理することができる仮想マシン管理システム、仮想マシン管理方法およびプログラムを提供することを目的としている。
上記目的を達成するため、本発明の第1の観点に係る仮想マシン管理システムは、
ネットワークを介して仮想マシンの操作命令を取得する操作命令取得手段と、
前記操作命令に含まれる仮想マシン識別情報に基づいて処理の対象となる仮想マシンを特定する仮想マシン特定手段と、
前記仮想マシン特定手段で特定した仮想マシンの状態を示す仮想マシンファイルを取得する仮想マシンファイル取得手段と、
予め記憶されている所定の状態の仮想マシンファイルと、予め仮想マシン識別情報と対応付けて記憶されている差分情報と、に基づいて過去の仮想マシンの状態を示す仮想マシンファイルを生成する仮想マシンファイル生成手段と、
前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とを比較して、新たな差分情報を生成する差分情報生成手段と、
前記差分情報生成手段で生成した新たな差分情報を、前記仮想マシン識別情報と対応付けて記憶する差分情報記憶手段と、
前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とにおいて共通する内容を、前記仮想マシン識別情報と対応づけて記憶する共通部分記憶手段と、
を備えることを特徴とする。
前記仮想マシンファイル取得手段により取得した仮想マシンファイルを複製する仮想マシンファイル複製手段と、
前記仮想マシンファイル複製手段により複製した仮想マシンファイルを前記仮想マシン識別情報とは異なる複製仮想マシン識別情報と対応付けて記憶する複製ファイル記憶手段と、をさらに備え、
前記複製ファイル記憶手段は、前記複製仮想マシン識別情報を前記仮想マシン識別情報と対応付けて、前記複製ファイルを階層的に記憶する、
ようにしてもよい。
前記仮想ファイル生成手段は、
前記予め記憶されている所定の状態の仮想マシンファイルに、前記差分情報により示される内容を繰り返し適用することで前記操作命令により指定された時期の仮想マシンの状態を示す仮想マシンファイルを生成する、
ようにしてもよい。
上記目的を達成するため、本発明の第2の観点に係る仮想マシン管理方法は、
ネットワークを介して仮想マシンの操作命令を取得する操作命令取得ステップと、
前記操作命令に含まれる仮想マシン識別情報に基づいて処理の対象となる仮想マシンを特定する仮想マシン特定ステップと、
前記仮想マシン特定ステップで特定した仮想マシンの状態を示す仮想マシンファイルを取得する仮想マシンファイル取得ステップと、
予め記憶されている所定の状態の仮想マシンファイルと、予め仮想マシン識別情報と対応付けて記憶されている差分情報と、に基づいて過去の仮想マシンの状態を示す仮想マシンファイルを生成する仮想マシンファイル生成ステップと、
前記仮想マシンファイル取得ステップで取得した仮想マシンファイルの内容と前記仮想マシンファイル生成ステップで生成した仮想マシンファイルの内容とを比較して、新たな差分情報を生成する差分情報生成ステップと、
前記差分情報生成ステップで生成した新たな差分情報を、前記仮想マシン識別情報と対応付けて記憶する差分情報記憶ステップと、
前記仮想マシンファイル取得ステップで取得した仮想マシンファイルの内容と前記仮想マシンファイル生成ステップで生成した仮想マシンファイルの内容とにおいて共通する内容を、前記仮想マシン識別情報と対応づけて記憶する共通部分記憶ステップと、
を備えることを特徴とする。
上記目的を達成するため、本発明の第3の観点に係るプログラムは、
ネットワークを介して仮想マシンの操作命令を取得する操作命令取得手段、
前記操作命令に含まれる仮想マシン識別情報に基づいて処理の対象となる仮想マシンを特定する仮想マシン特定手段、
前記仮想マシン特定手段で特定した仮想マシンの状態を示す仮想マシンファイルを取得する仮想マシンファイル取得手段、
予め記憶されている所定の状態の仮想マシンファイルと、予め仮想マシン識別情報と対応付けて記憶されている差分情報と、に基づいて過去の仮想マシンの状態を示す仮想マシンファイルを生成する仮想マシンファイル生成手段、
前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とを比較して、新たな差分情報を生成する差分情報生成手段、
前記差分情報生成手段で生成した新たな差分情報を、前記仮想マシン識別情報と対応付けて記憶する差分情報記憶手段、
前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とにおいて共通する内容を、前記仮想マシン識別情報と対応づけて記憶する共通部分記憶手段、
として機能させることを特徴とする。
本発明によれば、複数の仮想マシンを容易に管理することができる。
本発明の実施形態に係る仮想マシン管理システムの一例を示すブロック図である。 履歴DBの構成例を示す図である。 コミット処理の一例を示すフローチャートである。 各種のバイナリデータの一例を示す図である。 コミット処理における処理工程の一例を示す図である。 復元処理の一例を示すフローチャートである。 復元処理における処理工程の一例を示す図である。 ブランチ作成処理の一例を示すフローチャートである。 ブランチ削除処理の一例を示すフローチャートである。 マスタファイル登録処理の一例を示すフローチャートである。
図1に示すように、仮想マシン管理システム100は、サーバ等の一般的なコンピュータであり、記憶部110と、制御部120と、通信部130と、これらを相互に接続するシステムバス140と、を備えている。仮想マシン管理システム100は、ネットワークを介して複数のクライアント端末200に接続される。仮想マシン管理システム100は、クライアント端末200からの指示にしたがって、後述する登録、変更、削除といった各種操作に応じた処理を実行する。また、仮想マシン管理システム100は、クライアント端末200からの指示にしたがって、後述するブランチを作成し、仮想マシンを階層的に管理する。なお、クライアント端末200は、一般的なコンピュータである。
記憶部110は、ハードディスクやメモリなどから構成され、プログラム111と、複数の履歴DB112と、差分情報テーブル113と、共通部分DB114と、が格納される。記憶部110には、仮想マシン起動領域が予め設定されている。
プログラム111は、仮想マシン管理システム100上で実行される後述の処理を実施する機能を有するソフトウェアである。
履歴DB112は、図2に示すように、リビジョン情報と、操作日時情報と、差分識別情報と、コメント情報と、仮想マシン識別情報と、作業者名情報と、操作内容情報と、を対応付けたレコードを1レコードとするデータベースであり、仮想マシン単位で格納されている。履歴DB112には、仮想マシンに対して、後述する登録、変更、削除といった各種操作(操作)が加えられる度に、各種情報が格納される。ここで、例えば、登録は、後述するコミット処理やブランチ作成処理を示し、変更は、マスタファイル登録処理を示し、削除は、ブランチ削除処理を示す。なお、履歴DB112には、初期の仮想マシンの状態を示すバイナリデータ(初期バイナリデータ)が記憶されている。
リビジョン情報は、仮想マシンに対する操作が行われる度に割り当てられ、操作が行われた順に付与される通し番号である。操作日時情報は、仮想マシンに対する操作が行われた日時を示す情報である。差分識別情報は、後述する差分情報毎に付与される情報であり、当該差分情報を識別する識別情報である。コメント情報は、操作が行われた理由や仮想マシンの説明を示す情報である。仮想マシン識別情報は、複数構築された仮想マシンのうちのいずれの仮想マシンであるかを識別する情報である。作業者名情報は、操作を行った作業者を特定する情報である。操作内容情報は、登録、変更、削除などといった各種操作のうちのいずれの操作が行われたのかを示す情報である。
差分情報テーブル113は、仮想マシンに対する操作が行われた場合に、操作の前後における仮想マシンの状態の差分を示す情報(差分情報)が、差分識別情報と対応付けられて格納されているテーブルである。具体的に、差分情報は、記憶部110に設けられた仮想マシン起動領域に記憶されている仮想マシンバイナリデータの内容と、変更処理が行われる以前の仮想マシンバイナリデータの内容との差分を示す情報である。
共通部分DB114は、複数の仮想マシン間で共通する設定情報等が定義された共通情報を、仮想マシン識別情報とリビジョン情報とに応付けたレコードを1レコードとするデータベースである。共通情報には、共通するファイル名とそのパス情報が含まれている。
制御部120は、CPU(Central Processing Unit)等から構成される。制御部120は、記憶部110に記憶されたプログラム111に従って動作し、プログラム111に従った処理を実行する。制御部120は、プログラム111により提供される主要な機能部として、コミット部121と、復元部122と、ブランチ作成部123と、ブランチ削除部124と、マスタファイル登録部125と、を備えている。
コミット部121は、後述する通信部130を介してクライアント端末200からコミット命令を取得し、差分情報を生成して登録する機能を有している。復元部122は、通信部130を介してクライアント端末200から復元命令を取得し、当該復元命令に基づいて記憶部110の記憶されている差分情報と共通情報を特定して、仮想マシンの状態を、復元命令により要求される仮想マシンの状態に復元する機能を有している。
ブランチ作成部123は、後述する通信部130を介してクライアント端末200からブランチ作成命令を取得し、対象となる仮想マシンのクローン(ブランチ)を生成して、記憶部110の所定領域に登録する機能を有している。
ブランチ削除部124は、後述する通信部130を介してクライアント端末200からブランチ削除命令を取得し、当該削除命令に対応するブランチを記憶部110の所定領域から削除する機能を有している。
マスタファイル登録部125は、マスタファイル(共通情報)を登録する機能を有している。具体的には、後述する通信部130を介してクライアント端末200からマスタファイル登録命令を取得し、当該マスタファイル登録命令により示される仮想マシンの仮想マシン識別情報と共通情報を示すファイル名とファイルパス(共通部分)を記憶部110の共通部分DB114に登録することにより、当該マスタファイル登録命令により示される仮想マシンに対応する共通部分を定義する機能を有している。共通部分には、例えば、ネットワークの設定や、アプリケーションの設定等が含まれる。また、マスタファイル登録部125は、既に登録されている共通部分を再設定する機能を有している。具体的には、既に共通部分が登録されている場合、今回再設定すべき共通部分との差分を抽出し、差分情報を登録するとともに、共通部分の再設定(更新)を行う機能を有している。
通信部130は、シリアルインタフェース、或いはアナログ信号を受信するためのアナログインタフェースを有している。通信部130は、制御部120による制御により、仮想マシン管理システム100と、クライアント端末200と通信を行う。
以上が、本実施の形態に係る仮想マシン管理システム100の構成である。続いて、仮想マシン管理システム100の動作について、図3〜図7を参照して説明する。仮想マシン管理システム100は、クライアント端末200からのコミット命令、復元命令、ブランチ作成命令、ブランチ削除命令、マスタファイル登録命令、といった各種命令を、通信部130を介して受信することにより、コミット処理、復元処理、ブランチ作成処理、ブランチ削除処理、マスタファイル登録処理、といった各種動作を開始する。なお、コミット命令、復元命令、ブランチ作成命令、ブランチ削除命令、マスタファイル登録命令、といった各種命令を取得した日時を、各操作の操作日時情報とする。
まず、コミット処理について図3および図5を参照して説明する。コミット処理は、現在の仮想マシンの状態を登録する処理である。ここでは、理解の容易のため、模式的に現在の仮想マシンが図4に示す状態Bであるとして説明する。図4に示す初期バイナリデータは、予め記憶部110の履歴DB112に登録されている。また、状態Aのバイナリデータは、初期バイナリデータとの差分が差分1であるバイナリデータであり、状態Bのバイナリデータは、状態Aのバイナリデータとの差分が差分2であるバイナリデータであり、状態Cのバイナリデータは、状態Bのバイナリデータとの差分が差分3であるバイナリデータであることを示している。コミット処理において、制御部120は、まず、コミット部121の機能により通信部130を介して受信したコミット命令を取得する(ステップS101)。コミット命令には、仮想マシン識別情報と、操作内容情報と、作業者名情報と、が含まれている。
続いて制御部120は、ステップS101で取得したコミット命令により示される仮想マシン識別情報に基づいて仮想マシンを特定する(ステップS102)。そして、ステップS102で特定した仮想マシンの最新のバイナリデータ(状態Bのバイナリデータ)を記憶部110内の仮想マシン起動領域から取得する(ステップS103)(図5(A))。なお、ステップS102の処理で特定した仮想マシンにブランチが生成されている場合があるので、ステップS103の処理では、ブランチが生成されている場合には、当該仮想マシンのブランチに属する全ての仮想マシンについての最新のバイナリデータを記憶部110内の仮想マシン起動領域から取得する。
ステップS103の処理を実行した後は、記憶部110に記憶されている履歴DB112を参照して、当該仮想マシン識別情報に対応する最新の差分識別情報を特定する(ステップS104)。ここで、最新の差分識別情報は、履歴DB112に記憶されている操作日時情報に基づいて特定すればよい。なお、ステップS104の処理では、ステップS102の処理で特定した仮想マシンにブランチが生成されている場合があるので、ブランチが生成されている場合には、当該仮想マシンのブランチに属する全ての仮想マシンについての差分識別情報を特定する。具体的には、ブランチに属する仮想マシンの仮想マシン識別情報は、例えば、基となる仮想マシン識別情報に枝番号を付加するなど、基となる仮想マシン識別情報から特定可能に設定されている。そのため、ステップS101で取得したコミット命令により示される仮想マシン識別情報に基づいてブランチに属する仮想マシンの仮想マシン識別情報を特定し、歴DB112を参照して、ブランチに属する各仮想マシン識別情報に対応する最新の差分識別情報を特定する。
ステップS104にて最新の差分識別情報を特定した後は、特定した差分識別情報に対応する差分情報(差分1の差分情報)を、差分情報テーブル113に基づいて特定し、記憶部110から取得する(ステップS105)(図5(B))。なお、ステップS104にてブランチに属する全ての仮想マシンに対する差分識別情報を特定した場合には、ステップS105の処理でも同様に、全ての差分識別情報に対応する差分情報を取得する。
ステップS105の処理を実行した後は、記憶部110内の履歴DB112に登録されている初期バイナリデータを取得する(ステップS106)(図5(C))。そして、ステップS106で取得した初期バイナリデータに、ステップS105で取得した差分情報を適用して(図5(D))、現在の仮想マシンの状態(設定)となる前の(例えば前回コミット処理を行ったときの)仮想マシンの状態(状態A)に復元する(ステップS107)。なお、ステップS105にて、ブランチに属する全ての仮想マシンに対する差分情報を取得した場合には、ブランチに属する全ての仮想マシンに対してバイナリデータを復元する。復元する処理の詳細については後述する。
続いて、ステップS107の処理で復元したバイナリデータとステップS103の処理で取得した最新のバイナリデータ同士を比較して、最新の差分情報を生成する(ステップS108)(図5(E))。なお、ステップS106にて、ブランチに属する全ての仮想マシンに対してバイナリデータを復元した場合には、全てのバイナリデータに対して最新の差分情報を生成する。また、生成した差分情報には、差分識別情報を付加する。差分識別情報は、当該差分情報を生成した際における通し番号であればよい。
ステップS108の処理を実行した後は、生成した最新の差分情報が、同一のブランチ間で共通する共通部分に対する差分が含まれるか否かを判定する(ステップS109)。共通部分に対する差分が含まれるか否かは、記憶部110の仮想マシン起動領域に記憶されている共通部分と、共通部分DB114に記憶されている共通部分とを比較して判定すればよい。例えば、それぞれのタイムスタンプなどを比較したり、それぞれのバイナリデータの中身を比較してもよい。
ステップS109にて共通部分に対する差分が含まれる場合(ステップS109;Yes)、当該仮想マシンのブランチに属する全ての仮想マシンに対して、最新の差分情報のうちの共通部分を上書きすることで、当該差分情報を適用(当該差分情報で共通部分を更新)する(ステップS110)。
ステップS110の処理を実行した後、または、ステップS109の処理にて共通部分に対する差分が含まれていないと判定した場合(ステップS109;No)、ステップS108にて生成した差分情報を、差分識別情報と対応付けて差分情報テーブル113に格納する(ステップS111)(図5(F))。続いて、ステップS101で取得したコミット命令に含まれる情報と、ステップS110にて格納した差分識別情報とを記憶部110の履歴DB112に登録して(ステップS112)、コミット処理を終了する。
次に、復元処理について、図6および図7を参照して説明する。復元処理は、現在の仮想マシンの状態(現在のバイナリデータ)を、過去にコミット処理を行ったときの状態(過去のバイナリデータ)に戻す処理である。復元処理は、上記コミット処理にて差分情報を生成するときに実行される場合と、クライアント端末200からの復元命令に基づいて実行される場合とがあるが、ここでは、クライアント端末200からの復元命令に基づいて実行される場合を中心に説明する。なお、具体的には、現在の仮想マシンが図4に示す状態Cであり、状態Bの仮想マシンに復元する処理を例として説明する。復元処理において、制御部120は、まず、復元部122の機能により通信部130を介して受信した復元命令を取得する(ステップS201)。復元命令には、仮想マシン識別情報と、操作内容情報と、作業者名情報と、リビジョン情報と、が含まれている。
続いて制御部120は、ステップS201で取得した復元命令に含まれる仮想マシン識別情報に基づいて、復元対象となる仮想マシンを特定する(ステップS202)。そして、ステップS202で特定した仮想マシンに対応する初期バイナリデータを、記憶部110に格納されている履歴DB112を参照して取得する(ステップS203)。
ステップS203の処理を実行した後は、ステップS201で取得した復元命令に含まれるリビジョン情報に基づいて復元すべきリビジョンを特定する(ステップS204)。続いてステップS204で特定したリビジョンを、復元に必要な差分情報の数(履歴DB112を参照する回数)として記憶部110に格納する(ステップS205)。例えば、状態Bの仮想マシンに復元する場合には、状態Bの仮想マシンに対応するリビジョンは「2」であるため、復元に必要な差分情報の数を「2」として記憶部110に格納する。
ステップS205の処理を実行した後は、記憶部110の履歴DB112を参照して、最初の(最も古い)リビジョン(リビジョン1)に対応する差分識別情報を特定し、差分情報テーブル113を参照して差分情報を取得する(ステップS207)(図7(B))。そして、ステップS203の処理にて取得した初期バイナリデータに適用する(ステップS208)(図7(C))。これにより、バイナリデータは、過去(過去にコミット処理を行ったとき)の状態(状態A)に復元されることとなる。なお、ステップS207で取得した差分情報内に共通部分に対する差分が含まれている場合には、ブランチに属する全ての仮想マシンを、特定した差分情報で上書きすることで、仮想マシンの状態を更新する。
ステップS208の処理を実行した後は、ステップS205にて記憶部110へ記憶した、復元に必要な差分情報の数を「1」減算することで、記憶部110に記憶されている復元に必要な差分情報の数を更新する(ステップS209)。例えば、状態Bの仮想マシンに復元する場合には、ステップS209の処理にて、復元に必要な差分情報の数を「2」から「1」へと「1」減算する。続いて、復元に必要な差分情報の数が「0」であるか否かを判定し(ステップS210)、「0」でない場合には(ステップS210;No)、ステップS207の処理に戻る。例えば、上記の例のように、状態Bの仮想マシンに復元する場合には、一度ステップS209の処理を行った段階では、復元に必要な差分情報の数が「1」になっており、「0」ではないため、ステップS207の処理に戻ることとなる。この場合には、ステップS207の処理にて、前回取得した差分情報の次の差分情報(差分2)を取得するようにすればよい。具体的には、初期値として適用すべき差分情報を「1」と設定しておき、ステップS207の処理を実行する度に、適用すべき差分情報を「1」インクリメントし、ステップS207にて取得すべき差分情報を特定すればよい。
ステップS210の処理にて復元に必要な差分情報の数が「0」であると判定した場合、復元すべきリビジョン情報の仮想マシンの状態(状態C)となったと判定し、当該バイナリデータを記憶部110の仮想マシン起動領域に登録するとともに(ステップS211)、ステップS201で取得した復元命令に含まれる情報等を記憶部110の履歴DB112に登録して、復元処理を終了する。例えば、状態Bの仮想マシンに復元する場合には、ステップS207の処理に戻り、ステップS207にて差分2の差分情報が取得される(図7(D))。そして、ステップS208にて、前回差分1が適用されたバイナリデータ(状態Aのバイナリデータ)に、差分2が適用され(図7(E))、状態Bのバイナリデータとなる。その後、ステップS209にて復元に必要な差分情報の数が「0」に更新され、ステップS211の処理にて、当該バイナリデータ(状態Bのバイナリデータ)が記憶部110の仮想マシン起動領域に登録される(図7(F))。
次に、ブランチ作成処理について、図8を参照して説明する。ブランチ作成処理は、現在の仮想マシンのクローンの仮想マシンを作成する処理であり、現在の仮想マシンに対して階層的に管理可能とするための処理である。システム開発環境においては、開発対象のシステムを構成する仮想マシンが複数存在し、また、各仮想マシンには複数のソフトウェアが含まれている。そして、各ソフトウェアも日々更新され、様々なバージョンのものが混在することとなる。また、それぞれのソフトウェアのアップデートを行う場合などに、開発中のシステムへの影響の有無を確認する必要がある。そのため、アップデート後の環境で不具合が発生して原因の切り分けを行う際に、別途過去の環境で動作を検証したりする必要がある。したがって、当該仮想マシンの状態を階層的に管理しておき、不具合が発生した場合においても当該仮想マシンを継続して使用することを可能とし、不具合発生前の状態に容易に復元できるようにするため、各仮想マシンを階層的に管理するブランチ作成処理を実行する。
ブランチ作成処理において、制御部120は、ブランチ作成部123の機能により通信部130を介して受信したブランチ作成命令を取得する(ステップS301)。ブランチ作成命令には、仮想マシン識別情報と、操作内容情報と、作業者名情報と、が含まれている。
続いて制御部120は、ステップS301で取得したブランチ作成命令に含まれる仮想マシン識別情報に基づいて、ブランチを作成する対象となる仮想マシンを特定する(ステップS302)。そして、記憶部110内の仮想マシン起動領域から、特定した仮想マシンの最新のバイナリデータを取得する(ステップS303)。ステップS303の処理を実行した後は、記憶部110内の仮想マシン起動領域に、ステップS303にて取得したバイナリデータをコピーすることで、当該仮想マシンのクローンを作成する(ステップS304)。
ステップS304の処理を実行した後は、ステップS304の処理で作成したクローンに対して、共通部分の設定をし(ステップS305)、クローンの情報を履歴DB112へ登録して(ステップS306)、ブランチ作成処理を終了する。具体的には、ステップS305における共通部分の設定については、後述するマスタファイル登録処理が実行されていることを前提に説明すると、ステップS304で作成されたクローンには、後述するマスタファイル登録処理を実行することで定義される共通部分が含まれており、当該共通部分を仮想マシン識別情報と対応付けて記憶部110の共通部分DB114に格納する。また、ステップS306における履歴DB112への登録は、ステップS304で作成したクローンの仮想マシンを識別する仮想マシン識別情報を、当該ブランチ作成対象となった仮想マシンの仮想マシン識別情報に基づいて生成し、ブランチ作成命令に含まれる各種情報と対応付けて履歴DB112へ格納する。
次に、ブランチ削除処理について、図9を参照して説明する。ブランチ削除処理は、ブランチ作成処理で作成されたクローンの仮想マシンを削除する処理である。ブランチ削除処理において、制御部120は、ブランチ削除部124の機能により通信部130を介して受信したブランチ削除命令を取得する(ステップS401)。ブランチ削除命令には、仮想マシン識別情報と、操作内容情報と、作業者名情報と、が含まれている。
続いて制御部120は、ステップS401で取得したブランチ削除命令に含まれる仮想マシン識別情報に基づいて、削除する対象となるクローンの仮想マシンを特定する(ステップS402)。そして、記憶部110内の仮想マシン起動領域から、特定したクローンの仮想マシンに対応するバイナリデータを削除する(ステップS403)。ステップS403の処理を実行した後は、記憶部110内の共通部分DB114から、当該削除対象となった仮想マシンに対応する情報を削除し(ステップS404)、削除情報をブランチ削除命令に含まれる各種情報と対応付けて履歴DB112へ格納し(ステップS405)、ブランチ削除命令を終了する。
次に、マスタファイル登録処理について、図10を参照して説明する。マスタファイル登録処理は、記憶部110の仮想マシン起動領域に格納されているバイナリデータのうち、ブランチ間で共通する共通部分を定義する処理である。なお、当該マスタファイル登録処理には、設定された共通部分の定義を再設定する処理も含まれる。
マスタファイル登録処理において、制御部120は、マスタファイル登録部125の機能により、通信部130を介して受信したマスタファイル登録命令を取得する(ステップS501)。マスタファイル登録命令には、仮想マシン識別情報と、操作内容情報と、作業者名情報と、共通部分指定情報と、が含まれている。共通部分指定情報は、マスタファイル登録命令に含まれる仮想マシン識別情報により特定される仮想マシンに対応するバイナリデータの、ブランチ間で共通する共通部分を指定する情報である。
続いて制御部120は、ステップS501で取得したマスタファイル登録命令に含まれる仮想マシン識別情報に基づいて、記憶部110の共通部分DB114を参照して、既に共通部分が登録されているか否かを判定する(ステップS502)。既に共通部分が登録されている場合(ステップS502;Yes)には、共通部分の再設定を行うために、記憶部110に設けられた再設定フラグをオン状態にセットする(ステップS503)。
ステップS503の処理を実行した後、またはステップS502にて共通部分が登録されていないと判定した場合(ステップS502;No)、ステップS501で取得したマスタファイル登録命令に含まれる仮想マシン識別情報に基づいて対象となる仮想マシンを特定する(ステップS504)。そして、記憶部110内の仮想マシン起動領域から、特定した仮想マシンの最新のバイナリデータを取得する(ステップS505)。ステップS503の処理を実行した後は、ステップS501で取得した共通部分指定情報に基づいて、取得したバイナリデータから共通部分を特定する(ステップS506)。続いて記憶部110に設けられた再設定フラグがオンであるか否かを判定する(ステップS507)。再設定フラグがオフである場合(ステップS507;No)、共通部分DB114に、仮想マシン識別情報と対応付けて格納する(ステップS508)。一方、再設定フラグがオンである場合(ステップS507;Yes)、共通部分DB114に格納されている共通部分とステップS506で特定した共通部分との差分を抽出する(ステップS509)。そして、差分識別情報を付加して差分情報テーブル113に格納するとともに(ステップS510)、共通部分DB114を更新する(ステップS511)。
ステップS508の処理を実行した後、またはステップS511の処理を実行した後は、記憶部110の履歴DB112に、履歴情報として、マスタファイル登録命令に含まれる各種情報や、ステップS510で格納した差分識別情報を登録して(ステップS512)、マスタファイル登録処理を終了する。
このように、本実施の形態に係る仮想マシン管理システム100によれば、仮想マシンの状態に変更が加えられた場合に前回との差分を抽出し、必要となる設定ファイルを共通部分として別途登録する。また、ブランチを生成することにより複数の仮想マシンを階層的に管理する。したがって、システム開発における複数の工程において大量に発生する複数の類似仮想マシンを容易に管理することが可能となる。また、ある時点での仮想マシンの状態を復元する場合においても、仮想マシンを継続的に使用しつつ、不具合発生前の状態に容易に復元することができる。
(変形例)
この発明は、上記の実施の形態に限定されず、種々の変形及び応用が可能である。上記実施の形態では、図3に示すコミット処理において、前回コミット処理を実行したとき(前回)に登録されている差分情報(差分1)に基づいて、過去の仮想マシンのバイナリデータ(前回のバイナリデータ)(状態Aのバイナリデータ)を生成し、最新のバイナリデータと比較することで差分情報を生成する例を示したが、これは一例である。生成する差分情報は、前回との差分に限られず、過去の任意の仮想マシンの状態との差分を抽出することで生成するようにしてもよい。例えば、クライアント端末200にていずれの時期の仮想マシンの状態との差分情報を生成するかを選択可能としてもよい。この場合には、上記復元処理で示される処理と同様にして仮想マシンの状態を繰り返し復元していくようにすればよい。このようにして復元した仮想マシンのバイナリファイルと最新の仮想マシンのバイナリファイルとを比較して差分情報を生成すればよい。
また、上記実施の形態では、図3に示すコミット処理や図6に示す復元処理において、過去の仮想マシンの状態を示すバイナリデータを生成する際に(差分情報を適用する際に)、基となるバイナリデータ(最初に差分情報を適用するバイナリデータ)が初期バイナリデータである例を示したが、これは一例である。基となるバイナリデータは、任意の時期のバイナリデータであってもよい。例えば、所定の時期(例えば半年など)毎に、基となるバイナリデータ(基データ)をリビジョン情報に対応付けて記憶部110の履歴DB112にそれぞれ登録しておき、コミット処理では、直近の基データを取得するようにすればよい。直近の基データか否かは、基データのタイムスタンプに基づいて判定すればよい。また、復元処理では、復元命令に含まれるリビジョン情報を、当該基データに対応付けられているリビジョン情報と順に比較して、最も近いリビジョン情報に対応する基データを取得するようにすればよい。これによれば、複数の差分情報が登録されている場合、初期バイナリデータから何度も繰り返し差分情報を適用して過去のバイナリデータを生成することなく、容易な処理により過去のバイナリデータを生成することができる。
また、上記実施の形態では、履歴DB112が仮想マシン毎に記憶部110に格納されている例を示したが、これは一例である。履歴DB112は、仮想マシンに寄らず共通であってもよい。この場合には、履歴DB112に格納されるリビジョン情報を、複数の仮想マシン間における通し番号とせず、仮想マシン毎の通し番号とすればよい。これによれば、復元処理において容易に任意の仮想マシンの状態に復元することが可能となる。
また、上記実施の形態では、図10に示すマスタファイル登録処理により、マスタファイルの更新や新規登録をする処理について説明したが、マスタファイルの更新や新規登録をする処理とは別に、登録したマスタファイルを削除する処理を含んでいてもよい。この場合には、クライアント端末200からマスタファイル削除命令を取得し、対象となる仮想マシンにおける共通部分を特定して共通部分DB114から対象となる共通部分を削除すればよい。そして、履歴DB112に、マスタファイル削除命令に含まれる情報と削除情報とを対応付けて登録すればよい。
また、上記実施の形態では、仮想マシンに対して各種操作(各種処理)を行う場合について説明したが、これは一例である。仮想マシン管理システム100は、各種処理の他にも、仮想マシンの状態や操作ログ、ブランチの階層等を参照する処理が実行可能である。具体的には、マスタファイル参照処理、ログ参照処理、ブランチ階層参照処理、差分情報参照処理、等が実行可能である。
マスタファイル参照処理は、クライアント端末200からマスタファイル参照命令を取得し、マスタファイル参照命令に基づいて仮想マシンを特定し、記憶部110の共通部分DB114から共通部分情報を取得して、取得結果をクライアント端末200に送信する処理である。
ログ参照処理は、クライアント端末200からログ参照命令を取得し、記憶部110の履歴DB112を参照してログ参照命令に含まれる条件に合致する情報を検索し、検索結果をクライアント端末200に送信する処理である。
ブランチ階層参照処理は、対象となる仮想マシンと当該仮想マシンのクローンとを、階層的にイメージとして表示するための処理である。ブランチ階層参照処理では、クライアント端末200からブランチ階層参照命令を取得し、記憶部110の履歴DB112を参照して対象となる仮想マシンと当該仮想マシンに紐付いている(枝番号が付与されている)クローンの仮想マシンを特定する。そして、特定した結果をツリー状に表示するためのイメージファイルを生成し、クライアント端末200に送信する。
差分情報参照処理は、クライアント端末200から指定されたリビジョン間の差分情報を抽出して、差分情報間の相違点を表示するための処理である。差分情報参照処理では、クライアント端末200から差分情報参照命令を取得する。差分情報参照命令には、比較すべき2つのリビジョン情報が含まれており、それぞれのリビジョン情報に対応する差分情報を、記憶部110の履歴DB112と差分情報テーブル113とを参照して特定する。そして、特定した差分情報同士を比較して、相違点を抽出し、クライアント端末200に送信する。
また、上記実施の形態では、クライアント端末200から受信した各種命令に基づいて処理を行う例を示したが、これは一例である。例えば、図示は省略するが、仮想マシン管理システム100に設けられた入力部から入力された命令に基づいて処理を行うようにしてもよい。
本発明を実現するためのプログラムの提供方法は任意であり、コンピュータ装置などに対して着脱自在の記録媒体により配布・提供される形態であってもよい。また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
100 仮想マシン管理システム
110 記憶部
111 プログラム
112 履歴DB
113 差分情報テーブル
114 共通部分DB
120 制御部
121 コミット部
122 復元部
123 ブランチ作成部
124 ブランチ削除部
125 マスタファイル登録部
130 通信部
140 システムバス

Claims (5)

  1. ネットワークを介して仮想マシンの操作命令を取得する操作命令取得手段と、
    前記操作命令に含まれる仮想マシン識別情報に基づいて処理の対象となる仮想マシンを特定する仮想マシン特定手段と、
    前記仮想マシン特定手段で特定した仮想マシンの状態を示す仮想マシンファイルを取得する仮想マシンファイル取得手段と、
    予め記憶されている所定の状態の仮想マシンファイルと、予め仮想マシン識別情報と対応付けて記憶されている差分情報と、に基づいて過去の仮想マシンの状態を示す仮想マシンファイルを生成する仮想マシンファイル生成手段と、
    前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とを比較して、新たな差分情報を生成する差分情報生成手段と、
    前記差分情報生成手段で生成した新たな差分情報を、前記仮想マシン識別情報と対応付けて記憶する差分情報記憶手段と、
    前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とにおいて共通する内容を、前記仮想マシン識別情報と対応づけて記憶する共通部分記憶手段と、
    を備えることを特徴とする仮想マシン管理システム。
  2. 前記仮想マシンファイル取得手段により取得した仮想マシンファイルを複製する仮想マシンファイル複製手段と、
    前記仮想マシンファイル複製手段により複製した仮想マシンファイルを前記仮想マシン識別情報とは異なる複製仮想マシン識別情報と対応付けて記憶する複製ファイル記憶手段と、をさらに備え、
    前記複製ファイル記憶手段は、前記複製仮想マシン識別情報を前記仮想マシン識別情報と対応付けて、前記複製ファイルを階層的に記憶する、
    ことを特徴とする請求項1に記載の仮想マシン管理システム。
  3. 前記仮想ファイル生成手段は、
    前記予め記憶されている所定の状態の仮想マシンファイルに、前記差分情報により示される内容を繰り返し適用することで前記操作命令により指定された時期の仮想マシンの状態を示す仮想マシンファイルを生成する、
    ことを特徴とする請求項1または2に記載の仮想マシン管理システム。
  4. ネットワークを介して仮想マシンの操作命令を取得する操作命令取得ステップと、
    前記操作命令に含まれる仮想マシン識別情報に基づいて処理の対象となる仮想マシンを特定する仮想マシン特定ステップと、
    前記仮想マシン特定ステップで特定した仮想マシンの状態を示す仮想マシンファイルを取得する仮想マシンファイル取得ステップと、
    予め記憶されている所定の状態の仮想マシンファイルと、予め仮想マシン識別情報と対応付けて記憶されている差分情報と、に基づいて過去の仮想マシンの状態を示す仮想マシンファイルを生成する仮想マシンファイル生成ステップと、
    前記仮想マシンファイル取得ステップで取得した仮想マシンファイルの内容と前記仮想マシンファイル生成ステップで生成した仮想マシンファイルの内容とを比較して、新たな差分情報を生成する差分情報生成ステップと、
    前記差分情報生成ステップで生成した新たな差分情報を、前記仮想マシン識別情報と対応付けて記憶する差分情報記憶ステップと、
    前記仮想マシンファイル取得ステップで取得した仮想マシンファイルの内容と前記仮想マシンファイル生成ステップで生成した仮想マシンファイルの内容とにおいて共通する内容を、前記仮想マシン識別情報と対応づけて記憶する共通部分記憶ステップと、
    を備えることを特徴とする仮想マシン管理方法。
  5. コンピュータを、
    ネットワークを介して仮想マシンの操作命令を取得する操作命令取得手段、
    前記操作命令に含まれる仮想マシン識別情報に基づいて処理の対象となる仮想マシンを特定する仮想マシン特定手段、
    前記仮想マシン特定手段で特定した仮想マシンの状態を示す仮想マシンファイルを取得する仮想マシンファイル取得手段、
    予め記憶されている所定の状態の仮想マシンファイルと、予め仮想マシン識別情報と対応付けて記憶されている差分情報と、に基づいて過去の仮想マシンの状態を示す仮想マシンファイルを生成する仮想マシンファイル生成手段、
    前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とを比較して、新たな差分情報を生成する差分情報生成手段、
    前記差分情報生成手段で生成した新たな差分情報を、前記仮想マシン識別情報と対応付けて記憶する差分情報記憶手段、
    前記仮想マシンファイル取得手段で取得した仮想マシンファイルの内容と前記仮想マシンファイル生成手段で生成した仮想マシンファイルの内容とにおいて共通する内容を、前記仮想マシン識別情報と対応づけて記憶する共通部分記憶手段、
    として機能させることを特徴とするプログラム。
JP2012160361A 2012-07-19 2012-07-19 仮想マシン管理システム、仮想マシン管理方法およびプログラム Active JP5943753B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012160361A JP5943753B2 (ja) 2012-07-19 2012-07-19 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012160361A JP5943753B2 (ja) 2012-07-19 2012-07-19 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016077123A Division JP2016122481A (ja) 2016-04-07 2016-04-07 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2014021754A true JP2014021754A (ja) 2014-02-03
JP5943753B2 JP5943753B2 (ja) 2016-07-05

Family

ID=50196553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012160361A Active JP5943753B2 (ja) 2012-07-19 2012-07-19 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5943753B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016001421A (ja) * 2014-06-12 2016-01-07 富士通株式会社 復元検知方法,復元検知装置及び復元検知プログラム
JP2017084334A (ja) * 2015-10-28 2017-05-18 バイドゥ ネットコム サイエンス アンド テクノロジー(ペキン) カンパニー リミテッド 仮想マシンイメージファイルを抽出する方法および装置
CN113900681A (zh) * 2021-08-13 2022-01-07 西安万像电子科技有限公司 零终端软件更新方法、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099380A1 (ja) * 2010-02-10 2011-08-18 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
WO2011117958A1 (ja) * 2010-03-20 2011-09-29 株式会社Pfu 仮想マシン管理装置、仮想マシン管理方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099380A1 (ja) * 2010-02-10 2011-08-18 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
WO2011117958A1 (ja) * 2010-03-20 2011-09-29 株式会社Pfu 仮想マシン管理装置、仮想マシン管理方法、及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016001421A (ja) * 2014-06-12 2016-01-07 富士通株式会社 復元検知方法,復元検知装置及び復元検知プログラム
JP2017084334A (ja) * 2015-10-28 2017-05-18 バイドゥ ネットコム サイエンス アンド テクノロジー(ペキン) カンパニー リミテッド 仮想マシンイメージファイルを抽出する方法および装置
US10248661B2 (en) 2015-10-28 2019-04-02 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and device for pulling virtual machine mirror file
CN113900681A (zh) * 2021-08-13 2022-01-07 西安万像电子科技有限公司 零终端软件更新方法、电子设备和存储介质

Also Published As

Publication number Publication date
JP5943753B2 (ja) 2016-07-05

Similar Documents

Publication Publication Date Title
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
US10949401B2 (en) Data replication in site recovery environment
US10338910B2 (en) Multi-tenant upgrading
US20140156598A1 (en) Replication control using eventually consistent meta-data
US11055078B2 (en) Systems and methods for deploying software products to environments
JP2014142678A (ja) 仮想サーバ移行計画作成方法およびシステム
US20160266924A1 (en) Apparatus and method for identifying a virtual machine having changeable settings
US10275430B2 (en) Multimodal sharing of content between documents
JP2018519556A (ja) ヘテロジニアスなコンピューティング環境にわたってクラウドサービスをプロビジョニングするためのシステムおよび方法
US11416235B2 (en) System and method for managed server independence for deployment of software applications and libraries
CN111694612A (zh) 配置检查方法、装置、计算机系统及存储介质
US11099837B2 (en) Providing build avoidance without requiring local source code
JP5943753B2 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
CN113569257B (zh) 灰度发布中的用户权限管理方法和装置
US10021187B2 (en) Presenting content using decoupled presentation resources
CN114443294B (zh) 大数据服务组件部署方法、系统、终端及存储介质
US11256602B2 (en) Source code file retrieval
JP2016122481A (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
US11281444B2 (en) Application update monitoring computer systems
CN114153480A (zh) 代码同步、组件发布方法及其装置、计算机存储介质
CN109144967B (zh) 一种用于改进分布式计算系统的维护系统及方法
US10162626B2 (en) Ordered cache tiering for program build files
JP6467298B2 (ja) サーバ運用作業履歴管理装置、システム、方法、およびプログラム
CN112749085B (zh) 一种跨集群的任务发布方法、装置、电子设备及存储介质
US11886277B2 (en) Systems, apparatuses, and methods for assessing recovery viability of backup databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160407

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160524

R150 Certificate of patent or registration of utility model

Ref document number: 5943753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250