JP2009265894A - ノード装置及びプログラム並びに方法 - Google Patents
ノード装置及びプログラム並びに方法 Download PDFInfo
- Publication number
- JP2009265894A JP2009265894A JP2008113985A JP2008113985A JP2009265894A JP 2009265894 A JP2009265894 A JP 2009265894A JP 2008113985 A JP2008113985 A JP 2008113985A JP 2008113985 A JP2008113985 A JP 2008113985A JP 2009265894 A JP2009265894 A JP 2009265894A
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- node device
- service
- communication flow
- virtual
- 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
- Computer And Data Communications (AREA)
Abstract
【課題】サービスの再起動が行われる際に、通信切断を発生させないこと。
【解決手段】複数の仮想マシンを起動するノード装置は、仮想マシンに対して資源を割り当てる手段と、割り当てる手段により、資源が割り当てられた仮想マシンを用いてサービスを提供する手段と、各仮想マシンに対して、通信フローを割り振る手段とを有する。サービスを提供する手段は、仮想マシンの再起動が行われる場合に、該仮想マシンと、再起動が行われた仮想マシンとを用いてサービスを提供し、割り振る手段は、仮想マシンと、再起動が行われた仮想マシンとの間で、通信フローを割り振る。
【選択図】図1
【解決手段】複数の仮想マシンを起動するノード装置は、仮想マシンに対して資源を割り当てる手段と、割り当てる手段により、資源が割り当てられた仮想マシンを用いてサービスを提供する手段と、各仮想マシンに対して、通信フローを割り振る手段とを有する。サービスを提供する手段は、仮想マシンの再起動が行われる場合に、該仮想マシンと、再起動が行われた仮想マシンとを用いてサービスを提供し、割り振る手段は、仮想マシンと、再起動が行われた仮想マシンとの間で、通信フローを割り振る。
【選択図】図1
Description
本発明は、仮想マシンによりサービスを提供するノード装置及びプログラム並び方法に関する。
既存の通信フローを切断することなく、サービスの再起動を1台のノード装置で実現することは困難である。例えば、サービスの再起動を行う原因には、障害の発生やバージョンアップがある。このため、サービスの再起動は、2台以上のノード装置と、スイッチとして機能するノード装置とを連携させることにより実現していた。2台以上のノード装置によりサービスが提供され、スイッチとして機能するノード装置によりフローの割り振りが行われる。発生頻度の低いサービスの再起動に備えて、複数のノード装置を用意するのは効率的でない。
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield. "Xen and the art of virtualization". Proceedings of the nineteenth ACM symposium on Operating systems principles: 164 - 177, 2003 Ian Foster "What is the Grid? A Three Point Checklist", July 2002
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield. "Xen and the art of virtualization". Proceedings of the nineteenth ACM symposium on Operating systems principles: 164 - 177, 2003 Ian Foster "What is the Grid? A Three Point Checklist", July 2002
上述したサービスの再起動は、仮想マシンを用いた場合においても、同一のネットワーク識別子を使用する必要があるため、再起動前の仮想マシンと再起動後の仮想マシンとを共存させることは困難である。ここで、ネットワーク識別子には、IPアドレス、MACアドレスなどが含まれる。この場合、サービスを利用する対向するノード装置や直前のルータなどから再起動前の仮想マシンと再起動後の仮想マシンとが同じに見えなければならない。しかし、通信が行われる場合、再起動前の仮想マシンへの通信フローなのか、再起動後の仮想マシンへの通信フローなのかを判断できない。
そこで、本発明は、上述した課題に鑑み、サービスの再起動が行われる際に、通信切断を発生させないことができるノード装置及びプログラム並びに方法を提供することを目的とする。
また、サービスの再起動が行われる際に、再起動前の仮想マシンと再起動後の仮想マシンとを一時的に共存させ、実行することができるノード装置及びプログラム並びに方法を提供することを他の目的とする。
また、サービスの再起動が行われる際に、一時的に共存し、実行する再起動前仮想マシン及び再起動後の仮想マシンへの資源割り当てを動的に変化させることができるノード装置及びプログラム並びに方法を提供することを他の目的とする。
上記課題を解決するため、本ノード装置は、
複数の仮想マシンを起動するノード装置であって、
仮想マシンに対して資源を割り当てる手段と、
前記割り当てる手段により、資源が割り当てられた仮想マシンを用いてサービスを提供する手段と、
各仮想マシンに対して、通信フローを割り振る手段と
を有し、
前記サービスを提供する手段は、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振る手段は、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振る。
複数の仮想マシンを起動するノード装置であって、
仮想マシンに対して資源を割り当てる手段と、
前記割り当てる手段により、資源が割り当てられた仮想マシンを用いてサービスを提供する手段と、
各仮想マシンに対して、通信フローを割り振る手段と
を有し、
前記サービスを提供する手段は、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振る手段は、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振る。
この例によれば、仮想マシンの再起動が行われた場合に、再起動前の仮想マシンと再起動後の仮想マシンとの間で、通信フローが割り振られるため、通信切断が生じないようにすることができる。
本プログラムは、
仮想マシンに対して資源を割り当てるステップと、
仮想マシンを起動するステップと、
前記割り当てるステップにより、資源が割り当てられた仮想マシンを用いてサービスを提供するステップと、
各仮想マシンに対して、通信フローを割り振るステップと
を有し、
前記サービスを提供するステップでは、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振るステップでは、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振ることをコンピュータに実行させる。
仮想マシンに対して資源を割り当てるステップと、
仮想マシンを起動するステップと、
前記割り当てるステップにより、資源が割り当てられた仮想マシンを用いてサービスを提供するステップと、
各仮想マシンに対して、通信フローを割り振るステップと
を有し、
前記サービスを提供するステップでは、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振るステップでは、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振ることをコンピュータに実行させる。
本方法は、
仮想マシンに対して資源を割り当てるステップと、
仮想マシンを起動するステップと、
前記割り当てるステップにより、資源が割り当てられた仮想マシンを用いてサービスを提供するステップと、
各仮想マシンに対して、通信フローを割り振るステップと
を有し、
前記サービスを提供するステップでは、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振るステップでは、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振る。
仮想マシンに対して資源を割り当てるステップと、
仮想マシンを起動するステップと、
前記割り当てるステップにより、資源が割り当てられた仮想マシンを用いてサービスを提供するステップと、
各仮想マシンに対して、通信フローを割り振るステップと
を有し、
前記サービスを提供するステップでは、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振るステップでは、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振る。
本発明の実施例によれば、サービスの再起動が行われる際に、通信切断を発生させないようにすることができる。
また、サービスの再起動が行われる際に、再起動前の仮想マシンと再起動後の仮想マシンとを一時的に共存させ、実行することができる。
また、サービスの再起動が行われる際に、一時的に共存し、実行する再起動前の仮想マシン及び再起動後の仮想マシンへの資源割り当てを動的に変化させることができる。
以下、本発明の実施例を、図面を参照しつつ説明する。実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
(第1の実施例)
本実施例に係るノード装置について説明する。
(第1の実施例)
本実施例に係るノード装置について説明する。
本実施例では、資源について以下のように定義する。
(1)処理資源: 仮想マシンに割り当てられる資源のうち、サービスの処理に使われる資源 処理資源には、CPU、メモリ、HDDなどが含まれる。
(2)リンク資源: サービスのデータ送受信に使われる資源 リンク資源には、ネットワークの帯域などが含まれる。
処理資源において、処理資源量は、CPUの場合には全CPU時間に対するパーセンテージ、メモリの場合にはメモリサイズ、HDDの場合にはディスクサイズにより表現されてもよい。例えば、メモリサイズやディスクサイズはバイトで示されてもよい。また、リンク資源において、リンク資源量は通信速度で示されるようにしてもよいし、帯域や周波数、波長数で表現されてもよい。
本実施例にかかるノード装置について、図1を参照して説明する。本実施例に係るノード装置100は、複数のサービスを実行する。例えば、本実施例に係るノード装置100は、サービスノード装置と呼ばれてもよい。例えば、ノード装置100は、複数の仮想マシンを起動する。各仮想マシンは、サービスを提供する。各仮想マシンでは、オペレーティングシステムを並列実行するようにしてもよい。各仮想マシンにより実行されるオペレーティングシステムのうち、少なくとも1つは、他のオペレーティングシステムとは異なるオペレーティングシステムであってもよい。例えば、複数のオペレーティングシステムは、仮想マシンモニタというソフトウエアが提供する仮想的ハードウェア上で実行される。このソフトウエアには、VMwareのようなホストOSやXen、XenとDomain0のOSが含まれるようにしてもよい。
本実施例に係るノード装置100は、ネットワークインタフェース102と、仮想マシン104と、仮想ネットワークブリッジ106と、仮想マシンモニタ108と、フロー情報記憶部110とを有する。
ネットワークインタフェース102には、ネットワークと接続するためのネットワークケーブルが接続される。
仮想マシン104は、複数の仮想マシンを有する。図1には、旧仮想マシン(VM: virtual machine)1041と新仮想マシン1042が示される。旧仮想マシンは、サービスを提供していた再起動前の仮想マシンを示す。新仮想マシンは、再起動後の仮想マシンを示す。本実施例に係るノード装置100では、仮想マシンの再起動が行われる場合に、該仮想マシンと、再起動が行われた仮想マシンとが共存する。各仮想マシンでは、論理的に処理資源及びリンク資源が分離された状態でサービスが動作する。
仮想ネットワークブリッジ106は、仮想マシン104に含まれる各仮想マシンとネットワークインタフェース102とを仮想的に接続する。
仮想マシンモニタ108は、仮想マシンを制御する。また、起動している仮想マシンの監視(モニタ)を行う。
フロー情報記憶部110には、旧仮想マシンにおける通信フローを示すフロー情報が格納される。例えば、旧仮想マシンにおける通信フローは、現在の通信フローであってもよい。仮想ネットワークブリッジ106は、フロー情報記憶部110に、該旧仮想マシンにおける通信フロー情報を格納する。仮想ネットワークブリッジ106は、フロー情報記憶部110に格納されるフロー情報を管理する。例えば、旧仮想マシンにおける現在の通信フローは、図2に示すようなフロー情報として管理される。図2には、仮想マシンIDと、フロー識別子と、ポート識別子とが対応付けられる。例えば、フロー識別子には、送信元及び受信先のIPアドレスと、ポート番号が含まれるようにしてもよい。このようなフロー識別子は、TCP/IPを用いたフローである場合に好適である。
例えば、フロー識別子は、図3に示すようなフロー情報として管理されるようにしてもよい。図3には、送信元のIPアドレス(src IPアドレス)と、送信元のポート番号(src ポート番号)と、受信先のポート番号(dst ポート番号)と、ポート識別子とが対応付けられる。
また、例えば、旧仮想マシンにおける現在の通信フローは、図4に示すようなフロー情報として管理されるようにしてもよい。図4には、仮想マシンIDと、ラベルと、ポート識別子とが対応付けられる。ここで、ラベルとは、経路を識別するための情報である。
本実施例にかかるノード装置100のハードウエア構成例について説明する。
ノード装置100は、CPUと、ROMと、RAMと、ハードディスク装置等の大容量の記憶装置とを有する。さらにフレキシブルディスク装置等の補助記憶装置を備えるようにしてもよい。
コンピュータをノード装置100として機能させるためのプログラムは、例えば、フレキシブルディスク、CD−ROM、メモリカード等の記録媒体に記録された状態で提供される。この記録媒体をコンピュータの補助記憶装置に挿入すると、媒体に記録されたプログラムが読み取られる。そして、CPUは、読み込んだプログラムをRAMあるいは記憶装置に書き込み、このプログラムに従って本実施例で説明するような処理を実行する。また、プログラムを、通信網を介してダウンロードし、また記憶媒体からハードディスク装置にコピー・インストールし実行するようにしてもよい。
本実施例に係るノード装置100の動作について、図5を参照して説明する。
本実施例に係るノード装置100は、再起動された新仮想マシン1042が起動した後に、再起動前の旧仮想マシン1041が扱っている通信フローを適切な資源量を用いて、旧仮想マシン1041において処理する。該通信フローが終わった段階で旧仮想マシン1041を終了する。
本実施例では、ノード装置100上では、旧仮想マシン1041が既に起動し、当該仮想マシン1041は、該仮想マシン1041に割り当てられた資源を用いてサービスを提供している。旧仮想マシン1041は、仮想ネットワークブリッジ106に接続される。そして、旧仮想マシン1041は、仮想ネットワークブリッジ106を通じてネットワークインタフェース102を使用し、データのやり取りを行う。
ノード装置100は、利用者からの仮想マシンを再起動する命令を認識する(ステップS502)。例えば、利用者は、仮想マシンモニタ108に対して仮想マシン1041を再起動する命令を行う。ノード装置100は、入力された仮想マシン1041に関する設定ファイルのパスに基づいて、該設定ファイルにアクセスし、仮想マシン1041の再起動に必要とされる処理資源・リンク資源に関する情報を読み込む。例えば、仮想マシンモニタ108には、再起動する仮想マシン1041に関する設定ファイルのパスが渡される。例えば、利用者により渡されるようにしてもよい。例えば、設定ファイルのパスは、GUI(Graphical User Interface)やコマンド・スクリプトファイルなどを通じて渡されるようにしてもよい。
仮想マシンモニタ108は、渡された設定ファイルのパスに基づいて、該設定ファイルにアクセスし、仮想マシン1041の再起動に必要とされる処理資源・リンク資源に関する情報を読み込む。例えば、設定ファイルには、仮想マシン1041の識別子や使用するディスクイメージのファイル名が含まれるようにしてもよい。仮想マシン1041の識別子は、仮想マシン1041の名称であってもよい。また、設定ファイルには、CPU割り当て量、メモリ割り当て量、ネットワーク帯域割り当て量などが含まれるようにしてもよい。例えば、CPU割当量は、パーセンテージで表されてもよい。また、メモリ割り当て量は、バイト数で表されてもよい。また、ネットワーク帯域割り当て量は、通信速度で表されてもよい。CPU割り当て量、メモリ割り当て量、ネットワーク帯域割り当て量などが仮想マシン1041において必要とされる処理資源・リンク資源に関する情報とされてもよい。
ノード装置100は、現在起動している旧仮想マシン1041への資源割当量をある程度減少させる。そして、ノード装置100は、該減少させた資源割当量をこれから再起動する仮想マシン1041に対して割り当てる(ステップS504)。以降、再起動された仮想マシン1041を新仮想マシン1042と呼ぶ。仮想マシンモニタ108は、旧仮想マシン1041への資源割当量のうち、該旧仮想マシン1041が提供しているサービスに必要とされる資源量に基づいて、該サービスに与える影響がないと想定される資源量減少させる。例えば、減少させる資源量は、所定の値、例えば30%としてもよい。そして、仮想マシンモニタ108は、これから起動する新仮想マシン1042に対して、該減少させた資源量を割り当てる。
ノード装置100は、新仮想マシン1042に対して割り当てた資源を用いて、該新仮想マシン1042を起動する(ステップS506)。ノード装置100は、新仮想マシン1042と仮想ネットワークブリッジ106とを接続する。このようにすることにより、新仮想マシン1042は、仮想ネットワークブリッジ106を通じて、ネットワークインタフェース102を使用して、データのやり取りを行うことができる。例えば、仮想マシンモニタ108は、新仮想マシン1042に対して割り当てた資源を用いて、該新仮想マシン1042を起動する。仮想マシンモニタ108は、新仮想マシン1042と仮想ネットワークブリッジ106とを接続する。
ノード装置100は、旧仮想マシン1041に対して、現在の通信フロー情報の要求を行う。旧仮想マシン1041は、通信フロー情報の要求に従って、カーネル内の通信フローに関する情報を取得する(ステップS508)。例えば、仮想マシンモニタ108は、旧仮想マシン1041に対して、現在の通信フロー情報の要求を行う。旧仮想マシン1041は、通信フロー情報の要求に従って、カーネル内の通信フローの関する情報を取得する。例えば、旧仮想マシン1041は、procファイル等を利用して、カーネル内の通信フローの関する情報を取得するようにしてもよい。また、カーネル内の通信フローに関する情報には、プロトコルコントロールブロックなどに含まれる通信フローに関する情報が含まれるようにしてもよい。また、カーネル内の通信フローに関する情報には、フロー識別子を含むようにしてもよい。旧仮想マシン1041は、取得したカーネル内の通信フローの関する情報を仮想マシンモニタ108に渡す。
ノード装置100は、取得した旧仮想マシン1041が処理する通信フローの情報を格納する。例えば、仮想マシンモニタ108は、旧仮想マシン1041から、当該旧仮想マシン1041が現在処理する通信フローの情報を取得する。仮想マシンモニタ108は、取得した旧仮想マシン1041が現在処理する通信フローの情報と旧仮想マシン1041の仮想マシンIDを仮想ネットワークブリッジ106に入力する。仮想ネットワークブリッジ106は、取得した旧仮想マシン1041が現在処理する通信フローの情報と旧仮想マシン1041の仮想マシンID、及び該旧仮想マシン1041の仮想マシンIDから求められるポート識別子をフロー情報記憶部110に格納する。
ノード装置100は、取得した旧仮想マシン1041が現在処理する通信フローの情報に基づいて、該旧仮想マシン1041がサービスを提供しているかを判断する(ステップS510)。例えば、仮想マシンモニタ108は、フロー情報記憶部110に格納された旧仮想マシン1041の通信フローの情報に基づいて、該旧仮想マシン1041がサービスを提供しているかを判断する。
旧仮想マシン1041がサービスを提供していないと判断した場合(ステップS510:NO)、ノード装置100は、該旧仮想マシン1041を終了させる(ステップS514)。ノード装置100は、旧仮想マシン1041に割り当てていた資源を開放する。そして、ノード装置100は、開放した資源を新仮想マシン1042に割り当てる。例えば、仮想マシンモニタ108は、旧仮想マシン1041がサービスを提供していないと判断した場合、該旧仮想マシン1041を終了させる。仮想マシンモニタ108は、旧仮想マシン1041に割り当てていた資源を開放する。仮想マシンモニタ108は、開放した資源を新仮想マシン1042に割り当てる。
一方、旧仮想マシン1041がサービスを提供していると判断した場合(ステップS510:YES)、ノード装置100は、ネットワークインタフェース102から受信パケットを受け取った場合、該受信パケットと旧仮想マシン1041の通信フロー情報に基づいて、該受信パケットを旧仮想マシン1041と新仮想マシン1042との間で振り分ける。また、ノード装置100は、旧仮想マシン1041が使用する資源量を再配分する(ステップS512)。例えば、旧仮想マシン1041がサービスを提供していると判断した場合、仮想マシンモニタ108は、ネットワークインタフェース102から受信パケットを受け取った場合、該受信パケットと旧仮想マシン1041の通信フロー情報に基づいて、該受信パケットを旧仮想マシン1041と新仮想マシン1042との間で振り分ける。このようにすることにより、適切な仮想マシンに、パケットを転送できる。また、仮想マシンモニタ108は、旧仮想マシン1041が使用する資源量を再配分する。
その後、ステップS508に戻る。そして、ノード装置100は、旧仮想マシン1041に対して、現在の通信フロー情報の要求を行う。旧仮想マシン1041は、通信フロー情報の要求に従って、カーネル内の通信フローの関する情報を取得する。
次に、上述したステップS512において、ノード装置100が旧仮想マシン1041の通信フロー情報に基づいて行うパケットの振り分け処理について、図6を参照して説明する。例えば、仮想ネットワークブリッジ106は、フロー情報記憶部110に格納された旧仮想マシン1041の通信フロー情報に基づいて、ネットワークから送信されたパケットを、旧仮想マシン1041又は新仮想マシン1042に転送する。
仮想ネットワークブリッジ106は、ネットワークインタフェース102により入力された受信パケットを解析する(ステップS602)。例えば、受信パケットのヘッダ部分には、通信フローに関する情報が含まれる。仮想ネットワークブリッジ106は、受信パケットのヘッダ部分の解析を行う。例えば、仮想ネットワークブリッジ106は、受信パケットのヘッダ部分に含まれるフロー識別子を抽出する。
仮想ネットワークブリッジ106は、受信パケットが、旧仮想マシン1041へのフローに含まれるパケットであるかを判断する(ステップS604)。例えば、仮想ネットワークブリッジ106は、該抽出したフロー識別子がフロー情報記憶部110に格納された旧仮想マシン1041の通信フローに含まれるかを判断する。そして、仮想ネットワークブリッジ106は、該抽出したフロー識別子がフロー情報記憶部110に格納された旧仮想マシン1041の通信フローに含まれる場合には、旧仮想マシン1041へのパケットであると判断する。
受信パケットが、旧仮想マシン1041へのフローに含まれるパケットであると判断した場合(ステップS604:YES)、仮想ネットワークブリッジ106は、旧仮想マシン1041に、受信パケットを転送する(ステップS606)。旧仮想マシン1041は、仮想ネットワークブリッジ106により転送された受信パケットを受け取ると、当該旧仮想マシン1041におけるサービスのための処理を行う。
一方、受信パケットが、旧仮想マシン1041へのフローに含まれるパケットでないと判断した場合(ステップS604:NO)、仮想ネットワークブリッジ106は、新仮想マシン1042に、受信パケットを転送する(ステップS608)。新仮想マシン1042は、仮想ネットワークブリッジ106により転送された受信パケットを受け取ると、当該新仮想マシン1042におけるサービスのための処理を行う。
上述した処理は、仮想マシンモニタ108が、旧仮想マシン1041を終了させる(ステップS514)まで継続される。
次に、上述したステップS512において、ノード装置100が資源の再配分を行う処理について、図7を参照して説明する。例えば、仮想マシンモニタ108は、旧仮想マシン1041と新仮想マシン1042との間で資源再分配を周期的に行う。旧仮想マシン1041における処理が終了した後、仮想マシンモニタ108は、旧仮想マシン1041を終了させる。
仮想マシンモニタ108は、旧仮想マシン1041がサービスを提供しているかを判断する(ステップS702)。上述したステップS510と同様の処理が行われることにより判断される。
旧仮想マシン1041がサービスを提供していないと判断した場合(ステップS702:NO)、仮想マシンモニタ108は、旧仮想マシン1041を終了させる(ステップS710)。仮想マシンモニタ108は、旧仮想マシン1041に割り当てていた資源を開放する。仮想マシンモニタ108は、開放した資源を新仮想マシン1042に割り当てる。
一方、旧仮想マシン1041がサービスを提供していると判断した場合(ステップS702:YES)、仮想マシンモニタ108は、一定期間休止する(ステップS704)。この一定時間は、例えば5秒程度であってもよい。
仮想マシンモニタ108は、ステップS704による一定期間の休止後、旧仮想マシン1041及び新仮想マシン1042に対して、現在の通信フロー情報の要求を行う。旧仮想マシン1041及び新仮想マシン1042は、通信フロー情報の要求に従って、カーネル内の通信フローの関する情報を取得する。例えば、旧仮想マシン1041及び新仮想マシン1042は、procファイル等を利用して、カーネル内の通信フローの関する情報を取得するようにしてもよい。また、カーネル内の通信フローに関する情報には、プロトコルコントロールブロックなどに含まれる通信フローに関する情報が含まれるようにしてもよい。また、カーネル内の通信フローに関する情報には、フロー識別子を含むようにしてもよい。旧仮想マシン1041は、取得したカーネル内の通信フローに関する情報を仮想マシンモニタ108に渡す。
仮想マシンモニタ108は、旧仮想マシン1041から、当該旧仮想マシン1041が現在処理する通信フローの情報を取得する。仮想マシンモニタ108は、取得した旧仮想マシン1041が現在処理する通信フローの情報を仮想ネットワークブリッジ106に入力する。仮想ネットワークブリッジ106は、取得した旧仮想マシン1041が現在処理する通信フローの情報と旧仮想マシン1041の仮想マシンID、及び該旧仮想マシン1041の仮想マシンIDから求められるポート識別子をフロー情報記憶部110に格納する。その結果、フロー情報が更新される(ステップS706)。
仮想マシンモニタ108は、旧仮想マシン1041及び新仮想マシン1042から取得した通信フローの情報に基づいて、資源の再分配を行う(ステップS708)。例えば、仮想マシンモニタ108は、旧仮想マシン1041及び新仮想マシン1042が、それぞれ現在扱っているフローの数に比例する資源量を、旧仮想マシン1041及び新仮想マシン1042に割り当てるようにしてもよい。
その後、ステップS702に戻る。仮想マシンモニタ108は、ステップS706において更新された旧仮想マシン1041の通信フローの情報に基づいて、旧仮想マシン1041が現在サービスを実際に提供しているかを判断する。
(第2の実施例)
本実施例に係るノード装置について説明する。
(第2の実施例)
本実施例に係るノード装置について説明する。
本実施例において、資源についての定義は上述した実施例と同様である。
本実施例に係るノード装置100は、上述した実施例に係るノード装置の構成と同様である。
本実施例に係るネットワークシステムは、複数のノード装置100を有する。このネットワークシステムは、サービスノードネットワークシステムと呼ばれてもよい。本実施例では、一例として、図8に示すように、ネットワークシステムが2のノード装置を有する場合について説明する。ネットワークシステムが3以上のノード装置を有してもよい。各ノード装置は、通信網200を介して接続される。通信網には、インターネットなどのネットワークが含まれる。
本実施例に係るネットワークシステムの動作について、図9を参照して説明する。
本実施例において、利用者によりノード装置1001に対して、仮想マシン104を再起動する命令が行われる。この場合、仮想マシンモニタ108は、上述した実施例と同様の処理を行うことにより、旧仮想マシン1041における現在のサービス提供状況を把握する。例えば、上述したステップS502−ステップS508と同様の処理が行われる。
本実施例では、ノード装置1001では、仮想マシンモニタ108が、当該ノード装置1001上で動作する旧仮想マシン1041における現在のサービス提供状況を把握する。一方、ノード装置1002では、当該ノード装置1002上で動作する仮想マシン104は、旧仮想マシン1041により提供されるサービスを利用する。ノード装置1002の仮想マシンモニタ108は、旧仮想マシン1041における現在のサービス提供状況に基づいて、旧仮想マシン1041がサービスの提供を早く終了できるように、ノード装置1002上の仮想マシン104の資源量を変化させる。
ノード装置1001の仮想マシンモニタ108は、旧仮想マシン1041がサービスを提供しているかを判断する(ステップS902)。上述したステップS510と同様の処理が行われることにより判断される。
旧仮想マシン1041がサービスを提供していないと判断した場合(ステップS902:NO)、仮想マシンモニタ108は、旧仮想マシン1041を終了させる(ステップS914)。仮想マシンモニタ108は、旧仮想マシン1041に割り当てていた資源を開放する。仮想マシンモニタ108は、開放した資源を新仮想マシン1042に割り当てる。
一方、旧仮想マシン1041がサービスを提供していると判断した場合(ステップS902:YES)、仮想マシンモニタ108は、旧仮想マシン1041に対応する通信フロー情報に基づいて、現在旧仮想マシン1041により提供されるサービスを利用しているノード装置1002が存在するかを判断する。そして、存在すると判断した場合、仮想マシンモニタ108は、再起動通知メッセージを生成し、ノード装置1002に対して、該再起動通知メッセージを送信する(ステップS904)。この再起動通知メッセージには、ノード装置1002が利用しているサービスを提供している仮想マシンが再起動されたことを示す情報と、該サービスを利用している仮想マシンのネットワーク識別子とが含まれるようにしてもよい。例えば、仮想マシンのネットワーク識別子には、該仮想マシンのIPアドレスが含まれるようにしてもよい。ノード装置1001の仮想マシンモニタ108は、生成した再起動通知メッセージを仮想ネットワークブリッジ106に入力する。
ノード装置1001では、仮想ネットワークブリッジ106は、仮想マシンモニタ108により入力された再起動通知メッセージをネットワークインタフェース102に入力する。そして、ノード装置1001のネットワークインタフェース102は、仮想ネットワークブリッジ106により入力された再起動通知メッセージを、ネットワークを介して接続されたノード装置1002へ送信する。
ノード装置1001の仮想マシンモニタ108は、旧仮想マシン1041がサービスを提供しているかを判断する(ステップS906)。上述したステップS510と同様の処理が行われることにより判断される。
旧仮想マシン1041がサービスを提供していないと判断した場合(ステップS906:NO)、ノード装置1001の仮想マシンモニタ108は、旧仮想マシン1041を終了させる(ステップS914)。ノード装置1001の仮想マシンモニタ108は、旧仮想マシン1041に割り当てていた資源を開放する。ノード装置1001の仮想マシンモニタ108は、開放した資源を新仮想マシン1042に割り当てる。
一方、旧仮想マシン1041がサービスを提供していると判断した場合(ステップS906:YES)、ノード装置1001の仮想マシンモニタ108は、一定期間休止する(ステップS908)。この一定時間は、例えば5秒程度であってもよい。
ノード装置1001の仮想マシンモニタ108は、ステップS908による一定期間の休止後、旧仮想マシン1041及び新仮想マシン1042に対して、現在の通信フロー情報の要求を行う。ノード装置1001の旧仮想マシン1041及び新仮想マシン1042は、通信フロー情報の要求に従って、カーネル内の通信フローの関する情報を取得する。例えば、旧仮想マシン1041は、procファイル等を利用して、カーネル内の通信フローの関する情報を取得するようにしてもよい。また、カーネル内の通信フローに関する情報には、プロトコルコントロールブロックなどに含まれる通信フローに関する情報が含まれるようにしてもよい。また、カーネル内の通信フローに関する情報には、フロー識別子を含むようにしてもよい。ノード装置1001の旧仮想マシン1041は、取得したカーネル内の通信フローの関する情報を仮想マシンモニタ108に渡す。
ノード装置1001の仮想マシンモニタ108は、旧仮想マシン104から、当該旧仮想マシン1041が現在処理する通信フローの情報を取得する。
ノード装置1001の仮想マシンモニタ108は、取得した旧仮想マシン1041が現在処理する通信フローの情報を仮想ネットワークブリッジ106に入力する。ノード装置1001の仮想ネットワークブリッジ106は、取得した旧仮想マシン1041が現在処理する通信フローの情報をフロー情報記憶部110に格納する。
また、ノード装置1001の仮想マシンモニタ108は、旧仮想マシン1041の仮想マシンIDを仮想ネットワークブリッジ106に入力する。ノード装置1001の仮想ネットワークブリッジ106は、取得した旧仮想マシン1041の仮想マシンIDをフロー情報記憶部110に格納する。
また、ノード装置1001の仮想マシンモニタ108は、取得した旧仮想マシン1041の仮想マシンIDから求められるポート識別子を仮想ネットワークブリッジ106に入力する。ノード装置1001の仮想ネットワークブリッジ106は、取得した旧仮想マシン1041の仮想マシンIDから求められるポート識別子をフロー情報記憶部110に格納する。その結果、フロー情報が更新される(ステップS910)。
ノード装置1001の仮想マシンモニタ108は、旧仮想マシン1041及び新仮想マシン1042から取得した通信フローの情報に基づいて、資源の再分配を行う(ステップS912)。例えば、ノード装置1001の仮想マシンモニタ108は、旧仮想マシン1041及び新仮想マシン1042が、それぞれ現在扱っているフローの数に比例する資源量を、旧仮想マシン1041及び新仮想マシン1042に割り当てるようにしてもよい。
そして、ステップS906に戻る。ノード装置1001の仮想マシンモニタ108は、ステップS910において更新された旧仮想マシン1041の通信フローの情報に基づいて、旧仮想マシン1041が現在サービスを実際に提供しているかを判断する。
ノード装置1002上のネットワークインタフェース102は、ネットワークを介して接続されたノード装置1001から再起動通知メッセージを受信する。ノード装置1002上のネットワークインタフェース102は、受信した再起動通知メッセージを仮想ネットワークブリッジ106に入力する。
ノード装置1002の仮想ネットワークブリッジ106は、ネットワークインタフェース102により入力された再起動通知メッセージを仮想マシンモニタ108に渡す。
ノード装置1002の仮想マシンモニタ108は、仮想ネットワークブリッジ106により再起動通知メッセージを受け取り、該再起動通知メッセージに含まれるネットワーク識別子に基づいて、該当する仮想マシンを特定する。
ノード装置1002の仮想マシンモニタ108は、仮想マシン104に対する資源割り当て量を増加させる(ステップS916)。例えば、ノード装置1002の仮想マシンモニタ108は、仮想マシン104に対する資源割り当て量を、10%程度増加させるようにしてもよい。また、ノード装置1002の仮想マシンモニタ108は、同時に起動している仮想マシンに割り当てている資源に基づいて増加させる資源量を決定するようにしてもよい。また、増加させる資源量は、予め決定されてもよい。
ノード装置1002の仮想マシン104は、仮想マシンモニタ108により追加して割り当てられた資源を利用して処理を行う(ステップS918)。ノード装置1002の仮想マシン104は、割り当てられる資源量が増加するため、ノード装置1001の旧仮想マシン1041により提供されるサービスを利用した処理を、早く終了することができる。
ノード装置1002の仮想マシン104は、ノード装置1001上の旧仮想マシン1041により提供されるサービスを利用した処理を終了する(ステップS920)。ノード装置1002の仮想マシン104は、処理が終了したことを仮想マシンモニタ108に通知する。
ノード装置1002の仮想マシンモニタ108は、仮想マシン104により通知された処理が終了したことを示す情報に基づいて、仮想マシン104に対して追加して割り当てた資源量分を減少させる(ステップS922)。
上述したステップS916においては、ノード装置1002の仮想マシンモニタ108が、仮想マシン104に対する資源割り当て量を増加させる場合について説明した。しかし、ノード装置1002の仮想マシンモニタ108が仮想マシン104に対する資源割り当て量を増加させることにより、ノード装置1001の旧仮想マシン1041への負荷が増加する。その結果、ノード装置1001の旧仮想マシン1041において、トラブルが発生することも想定される。例えば、ノード装置1001の旧仮想マシン1041へ割り当てられる資源量は減少する傾向にある。このような場合に、ノード装置1002の仮想マシンモニタ108が仮想マシン104に対する資源割り当て量を増加させると、ノード装置1001の旧仮想マシン1041において、負荷が増大し、トラブルが発生する場合がある。このような場合には、ノード装置1002の仮想マシンモニタ108は、仮想マシン104に対する資源割り当て量を、減少させるようにしてもよい。
(第3の実施例)
本実施例に係るノード装置について説明する。
(第3の実施例)
本実施例に係るノード装置について説明する。
本実施例において、資源についての定義は上述した実施例と同様である。
本実施例に係るノード装置100は、上述した実施例に係るノード装置の構成と同様である。
本実施例に係るノード装置100では、フロー情報記憶部110に格納されるフロー情報に、フロー識別子が含まれる。例えば、フロー識別子には、上述した図4に示すように、ラベルが含まれる。ラベルは、上述したように、経路を識別するための情報であり、例えばMPLS(Multi-Protocol Label Switching)などで使用される。
本実施例に係るノード装置100では、MPLSのようにデータのフローが流れるパスごとにラベルが付与される。また、本実施例に係るネットワークシステムでは、通信のエンドのノード装置である仮想マシン104がパス生成を行う際にラベルに関する情報を交換する。例えば、通信のエンドのノード装置である仮想マシン104が、RSVP-TE(Resource reservation Protocol-Traffic Engineering)のように、パス生成を行う際にラベルに関する情報を交換するようにしてもよい。
本実施例に係るノード装置100により行われる処理については、上位レイヤでのフロー識別ではなく、下位レイヤでのフロー識別を行うこと以外は、上述した実施例と同様である。上位レイヤでのフロー識別には、TCP/IPでのフロー識別が含まれる。また、下位レイヤでのフロー識別には、MPLSでのフロー識別が含まれる。
このようにすることにより、フローの識別処理に係る時間を短縮できる。
本実施例によれば、再起動前と再起動後の仮想マシンを共存させることにより、既存の通信フローを切断することなく、障害やバージョンアップによるサービスの再起動を1台のノードで実現することができる。
本実施例によれば、通信フローを一時的に管理してデータを振り分けることにより、再起動前と再起動後の仮想マシンを共存させることができる。例えば、仮想ネットワークブリッジが、通信フローを一時的に管理して、データを振り分ける。
本実施例によれば、仮想マシンを用いてサービスを提供する際に、再起動前と再起動後の仮想マシンを共存させ、さらに、資源割り当て量を動的に変化させる。このようにすることにより、効率的な資源利用を実現しつつ、仮想マシンの提供するサービスを利用するための通信フローを切断することなくサービスを再起動できる。
100(1001、1002) ノード装置
102 ネットワークインタフェース(NW I/F)
104 仮想マシン
1041 旧仮想マシン(VM: virtual machine)
1042 新仮想マシン
106 仮想ネットワークブリッジ(仮想NWブリッジ)
108 仮想マシンモニタ
110 フロー情報記憶部
200 通信網
1000 ネットワークシステム
102 ネットワークインタフェース(NW I/F)
104 仮想マシン
1041 旧仮想マシン(VM: virtual machine)
1042 新仮想マシン
106 仮想ネットワークブリッジ(仮想NWブリッジ)
108 仮想マシンモニタ
110 フロー情報記憶部
200 通信網
1000 ネットワークシステム
Claims (10)
- 複数の仮想マシンを起動するノード装置であって、
仮想マシンに対して資源を割り当てる手段と、
前記割り当てる手段により、資源が割り当てられた仮想マシンを用いてサービスを提供する手段と、
各仮想マシンに対して、通信フローを割り振る手段と
を有し、
前記サービスを提供する手段は、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振る手段は、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振ることを特徴とするノード装置。 - 請求項1に記載のノード装置において、
前記割り当てる手段は、前記再起動が行われた仮想マシンに対して、前記仮想マシンに割り当てられていた資源の一部の資源を割り当てることを特徴とするノード装置。 - 請求項1又は2に記載のノード装置において、
前記ネットワークブリッジは、前記仮想マシンにおける通信フローを示す情報に基づいて、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振ることを特徴とするノード装置。 - 請求項3に記載のノード装置において、
前記通信フローを示す情報には、仮想マシンIDと、フロー識別子と、ポート識別子とが含まれることを特徴とするノード装置、 - 請求項4に記載のノード装置において、
前記フロー識別子には、送信元のIPアドレスと、送信元のポート番号と、受信先のポート番号と、ポート識別子とが含まれることを特徴とするノード装置。 - 請求項3に記載のノード装置において、
前記通信フローを示す情報には、仮想マシンIDと、経路を識別するためのラベルと、ポート識別子とが含まれることを特徴とするノード装置。 - 請求項1に記載のノード装置において、
前記サービスを提供する手段は、前記仮想ノードが提供するサービスが終了したかを判断し、
前記割り当てる手段は、前記サービスを提供する手段において前記仮想ノードが提供するサービスが終了したと判断した場合、前記仮想マシンに割り当てられていた資源を開放し、該開放した資源を前記再起動が行われた仮想マシンに割り当てることを特徴とするノード装置。 - 請求項1に記載のノード装置において、
仮想マシンの再起動が行われたことを通知する手段
を有し、
前記割り当てる手段は、他のノード装置により仮想マシンが再起動されたことが通知された場合に、該再起動される前の仮想マシンにより提供されるサービスを利用している仮想マシンに対して割り当てている資源量を変化させることを特徴とするノード装置。 - 仮想マシンに対して資源を割り当てるステップと、
仮想マシンを起動するステップと、
前記割り当てるステップにより、資源が割り当てられた仮想マシンを用いてサービスを提供するステップと、
各仮想マシンに対して、通信フローを割り振るステップと
を有し、
前記サービスを提供するステップでは、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振るステップでは、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振ることをコンピュータに実行させるためのプログラム。 - 仮想マシンに対して資源を割り当てるステップと、
仮想マシンを起動するステップと、
前記割り当てるステップにより、資源が割り当てられた仮想マシンを用いてサービスを提供するステップと、
各仮想マシンに対して、通信フローを割り振るステップと
を有し、
前記サービスを提供するステップでは、仮想マシンの再起動が行われる場合に、該仮想マシンと、前記再起動が行われた仮想マシンとを用いてサービスを提供し、
前記割り振るステップでは、前記仮想マシンと、前記再起動が行われた仮想マシンとの間で、通信フローを割り振ることを特徴とする方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008113985A JP2009265894A (ja) | 2008-04-24 | 2008-04-24 | ノード装置及びプログラム並びに方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008113985A JP2009265894A (ja) | 2008-04-24 | 2008-04-24 | ノード装置及びプログラム並びに方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009265894A true JP2009265894A (ja) | 2009-11-12 |
Family
ID=41391684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008113985A Pending JP2009265894A (ja) | 2008-04-24 | 2008-04-24 | ノード装置及びプログラム並びに方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009265894A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003302A (ja) * | 2010-06-14 | 2012-01-05 | Mitsubishi Electric Corp | ゲストos制御システム |
WO2012090573A1 (en) * | 2010-12-28 | 2012-07-05 | Nec Corporation | Network virtualization system, physical node, and virtual interface identification method in virtual machine |
WO2015001798A1 (ja) * | 2013-07-03 | 2015-01-08 | 日本電気株式会社 | 情報処理サーバ、情報処理システム、情報処理方法及びプログラム記録媒体 |
JP2016048833A (ja) * | 2014-08-27 | 2016-04-07 | 日本電信電話株式会社 | ネットワークシステム及びそのバージョン変更方法 |
JPWO2016152587A1 (ja) * | 2015-03-20 | 2017-04-27 | 株式会社Nttドコモ | スライス管理システム及びスライス管理方法 |
US11509598B1 (en) * | 2021-11-19 | 2022-11-22 | Microsoft Technology Licensing, Llc | Dynamically re-allocating computing resources while maintaining network connection(s) |
-
2008
- 2008-04-24 JP JP2008113985A patent/JP2009265894A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003302A (ja) * | 2010-06-14 | 2012-01-05 | Mitsubishi Electric Corp | ゲストos制御システム |
WO2012090573A1 (en) * | 2010-12-28 | 2012-07-05 | Nec Corporation | Network virtualization system, physical node, and virtual interface identification method in virtual machine |
US9489224B2 (en) | 2010-12-28 | 2016-11-08 | Nec Corporation | Network virtualization system, physical node, and virtual interface identification method in virtual machine |
WO2015001798A1 (ja) * | 2013-07-03 | 2015-01-08 | 日本電気株式会社 | 情報処理サーバ、情報処理システム、情報処理方法及びプログラム記録媒体 |
JP2016048833A (ja) * | 2014-08-27 | 2016-04-07 | 日本電信電話株式会社 | ネットワークシステム及びそのバージョン変更方法 |
JPWO2016152587A1 (ja) * | 2015-03-20 | 2017-04-27 | 株式会社Nttドコモ | スライス管理システム及びスライス管理方法 |
US11509598B1 (en) * | 2021-11-19 | 2022-11-22 | Microsoft Technology Licensing, Llc | Dynamically re-allocating computing resources while maintaining network connection(s) |
US20230164090A1 (en) * | 2021-11-19 | 2023-05-25 | Microsoft Technology Licensing, Llc | Dynamically re-allocating computing resources while maintaining network connection(s) |
US11962512B2 (en) * | 2021-11-19 | 2024-04-16 | Microsoft Technology Licensing, Llc | Dynamically re-allocating computing resources while maintaining network connection(s) |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10534632B2 (en) | Computer system and maintenance method of computer system | |
JP6307172B2 (ja) | スライス管理システム及びスライス管理方法 | |
US10838890B2 (en) | Acceleration resource processing method and apparatus, and network functions virtualization system | |
WO2016015559A1 (zh) | 云化数据中心网络的承载资源分配方法、装置及系统 | |
US8863138B2 (en) | Application service performance in cloud computing | |
KR102059251B1 (ko) | 노드 시스템, 서버 장치, 스케일링 제어 방법 및 프로그램 | |
JP2009258982A (ja) | ノード装置及びプログラム並び資源割当方法 | |
EP3481007B1 (en) | Method, apparatus and management server for processing resource pool | |
JP2009265894A (ja) | ノード装置及びプログラム並びに方法 | |
CN109218356B (zh) | 管理服务器上有状态应用的方法和设备 | |
JP5669851B2 (ja) | 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム | |
US9858096B2 (en) | Communication device migration method of extension function and communication system | |
CN112583615B (zh) | Vnf实例化方法、nfvo、vim、vnfm及系统 | |
WO2020057438A1 (zh) | 云计算服务中的软件调试的方法和装置 | |
JP5609527B2 (ja) | ネットワーク仮想化システム、ノード、ネットワーク仮想化方法、及び、ネットワーク仮想化プログラム | |
JPWO2006057040A1 (ja) | コンピュータ・システム及び情報処理方法 | |
JP5783259B2 (ja) | コンピュータシステム | |
JP6341030B2 (ja) | 情報処理システム、情報処理システムの制御方法及び制御プログラム | |
KR20130104958A (ko) | 다중 운영체제들을 실행하는 장치 및 방법 | |
JP6657910B2 (ja) | 帯域設定方法、帯域設定プログラム、情報処理装置及び情報処理システム | |
JP5504651B2 (ja) | 仮想マシンシステム、情報処理装置、リソース管理方法、プログラム及び記録媒体 | |
JP2008171325A (ja) | 資源管理装置および方法 | |
CN108519912B (zh) | 数据清洗方法、装置、计算机可读存储介质及电子设备 | |
US20230168912A1 (en) | System and method for upgrading a management component of a computing environment using high availability features | |
JP2017156894A (ja) | 仮想マシン管理装置、システム、および仮想マシン管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121030 |