(57)【要約】【課題】  サービスの中断時間を短縮し、アクセス透過性、位置透過性を保障し、性能劣化を起こすことなく通常運用を可能にする。【解決手段】  オペレーティング受信手段１ａは移動元コンピュータ２から処理が移動される場合、ネットワーク６を介しオペレーティングシステムプログラムを受信する。実行情報受信手段１ｂは、移動元コンピュータ２からネットワーク６を介し移動元コンピュータ２のプロセスを再動作するのに必要な実行情報を受信する。アドレス受信手段１ｃは、移動元コンピュータ２から固有のＭＡＣアドレスとは別に割当てられたフローティングＭＡＣアドレスを受信する。処理手段１ｄは、受信されたオペレーティングシステムプログラム、実行情報により、移動元コンピュータ２の状態を復元する処理を実行するとともに、以降の通信を受信した移動元コンピュータ２のフローティングＭＡＣアドレスを利用して行う。【選択図】  図１
2006190141.tif 000002
【特許請求の範囲】
【請求項１】
ＭＡＣアドレスを用いて通信を行うコンピュータを、
ネットワークを介してオペレーティングシステムプログラムを受信するオペレーティング受信手段、
移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータのプロセスを再動作するのに必要な実行情報を受信する実行情報受信手段、
前記移動元コンピュータから、装置固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段、
前記オペレーティング受信手段及び前記実行情報受信手段とが受信した情報・プログラムにより、前記移動元コンピュータの状態に復元する処理を実行するとともに、以降の通信を前記アドレス受信手段が受信した前記移動元コンピュータのフローティングＭＡＣアドレスを利用して行う処理手段、
として機能させる移動処理プログラム。
【請求項２】
前記実行情報受信手段、前記アドレス受信手段は、前記オペレーティングシステムプログラムに内蔵されていることを特徴とする請求項１記載の移動処理プログラム。
【請求項３】
前記実行情報は、前記プロセスの実行コンテキストと前記オペレーティングシステムプログラムが管理しているメモリ管理情報とを含んでいることを特徴とする請求項１記載の移動処理プログラム。
【請求項４】
ＭＡＣアドレスを用いて通信を行う情報処理装置であって、
ネットワークを介してオペレーティングシステムプログラムを受信するオペレーティング受信手段と、
移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータのプロセスを再動作するのに必要な実行情報を受信する実行情報受信手段と、
前記移動元コンピュータから、装置固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段と、
前記オペレーティング受信手段及び前記実行情報受信手段とが受信した情報・プログラムにより、前記移動元コンピュータの状態に復元する処理を実行するとともに、以降の通信を前記アドレス受信手段が受信した前記移動元コンピュータのフローティングＭＡＣアドレスを利用して行う処理手段と、
を有することを特徴とする情報処理装置。
【請求項５】
前記実行情報受信手段、前記アドレス受信手段は、前記オペレーティングシステムプログラムに内蔵されていることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記実行情報は、前記プロセスの実行コンテキストと前記オペレーティングシステムプログラムが管理しているメモリ管理情報とを含んでいることを特徴とする請求項４記載の情報処理装置。
【請求項７】
移動元コンピュータから移動先コンピュータへ処理を移動する処理を行うコンピュータシステムにおいて、
前記処理の移動元である移動元コンピュータから前記処理が移動される場合、ネットワークを介してプロセスを管理するオペレーティングシステムプログラムを受信するオペレーティング受信手段と、
前記移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータの前記プロセスを再動作するのに必要な実行情報を受信する実行情報受信手段と、
前記移動元コンピュータから、固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段と、
前記処理の移動先である移動先コンピュータに前記処理を移動する場合、前記ネットワークを介して前記プロセスの前記実行情報を前記移動先コンピュータに送信する実行情報送信手段と、
前記移動先コンピュータに、当該コンピュータにユニークに割当てられた前記フローティングＭＡＣアドレスを送信するアドレス送信手段と、
を有することを特徴とするコンピュータシステム。
【請求項８】
前記実行情報送信手段は、前記実行情報に含まれる実行コンテキストを先に送信し、前記実行情報に含まれる前記オペレーティングシステムプログラムが管理しているメモリ管理情報を順次送信することを特徴とする請求項７記載のコンピュータシステム。
【請求項９】
前記実行情報送信手段は、前記実行情報に含まれる前記オペレーティングシステムプログラムが管理しているメモリ管理情報を順次送信し、その後に前記実行情報に含まれる実行コンテキストを送信することを特徴とする請求項７記載のコンピュータシステム。
【請求項１０】
ＭＡＣアドレスを用いて通信を行うコンピュータを、
ネットワークを介してオペレーティングシステムプログラムを受信するオペレーティング受信手段と、
移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータのプロセスを再動作するのに必要な実行情報を受信する実行情報受信手段と、
前記移動元コンピュータから、装置固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段と、
前記オペレーティング受信手段及び前記実行情報受信手段とが受信した情報・プログラムにより、前記移動元コンピュータの状態に復元する処理を実行するとともに、以降の通信を前記アドレス受信手段が受信した前記移動元コンピュータのフローティングＭＡＣアドレスを利用して行う処理手段と、
として機能させる移動処理プログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体に関し、特にＭＡＣアドレスを用いて通信を行う移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、インターネットやイントラネットなどのコンピュータネットワークの発展に伴い、それらをサービスするサーバ群も大規模化してきている。このサーバ群の大規模化に伴い、複数のプロセッサノードから構成されるクラスタシステムにおいても、多数のノードを結合した大規模なものが構築されるようになってきた。
【０００３】
大規模なクラスタシステムでは、実装密度を高めるため、例えば、ブレードサーバと呼ばれるサーバに代表されるように、同一物理筐体内に多数のプロセッサノードを含んでいる。そして、プロセッサノードのいくつかが、ハードウェア資源を共有する構造を有している。
【０００４】
このようなクラスタシステムにおいて、プロセッサノードの保守作業を行う場合、実行しているアプリケーションを停止し、保守作業を行おうとするプロセッサノードを停止する必要がある。または、他のプロセッサノードにアプリケーションサービスを移動してから保守作業を行おうとするプロセッサノードを停止する必要がある。
【０００５】
他のプロセッサノードにアプリケーションサービスを移す方法としては、例えば、クラスタシステムがサスペンド・リジューム機能を備え、一旦ネットワーク上のストレージにサスペンドを行い、別のプロセッサノードにおいてリジュームを行って、アプリケーションサービスを移動させる方法がある。また、処理分散のためにアプリケーションのプロセスをマイグレーションするプロセスマイグレーション機能を有するＯＳ（Operating System）を利用し、アプリケーションサービスを別のプロセッサノードに移動させる方法がある。さらには、仮想マシン機構を利用したシステムを構築し、仮想マシン機構の実現する仮想マシンを別のプロセッサノードに移動することにより、アプリケーションサービスを移動させる方法がある。
【０００６】
なお、プログラムのマイグレーション後の、データアクセスの速度を低下させずに、データアクセスをすることができる計算機システムがある（例えば、特許文献１参照）。
【特許文献１】特開２００４−２４６７０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、アプリケーションを一旦停止させることは、サービスの継続が損なわれるという問題点があった。
また、一旦ネットワーク上のストレージにサスペンドを行い、別のプロセッサノードにおいてリジュームを行う方法では、サスペンドとリジュームのための時間を要し、サービスの中断時間が長くなってしまうという問題点があった。
【０００８】
また、プロセスのみを他のプロセッサノードに移動する場合、そのプロセスに対し、他の装置からのアクセス透過性、位置透過性を保障するためには、もともとアプリケーションを実行していたプロセッサノードを介さなければならず、そのプロセッサノードを停止してなお、実行を継続するようにすることは困難であるという問題点があった。
【０００９】
さらに、仮想マシン機構を利用した場合、直接ハードウェアを駆動するのと異なり、どうしても一部にハードウェアのソフトウェアエミュレーションが存在し、通常の運用時の性能劣化が生じてしまうという問題点があった。
【００１０】
本発明はこのような点に鑑みてなされたものであり、プロセスのサービスの継続を損なわず、サービスの中断時間を短縮し、他の装置からのアクセス透過性、位置透過性を保障し、性能劣化を起こさずに通常運用をすることができる移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明では上記問題を解決するために、図１に示すようなＭＡＣアドレスを用いて通信を行うコンピュータ１を、ネットワーク６を介してオペレーティングシステムプログラムを受信するオペレーティング受信手段１ａ、移動元コンピュータ２から、ネットワーク６を介して移動元コンピュータ２のプロセスを再動作するのに必要な実行情報を受信する実行情報受信手段１ｂ、移動元コンピュータ２から、装置固有のＭＡＣアドレスとは別に移動元コンピュータ２にユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段１ｃ、オペレーティング受信手段１ａ及び実行情報受信手段１ｂとが受信した情報・プログラムにより、移動元コンピュータ２の状態に復元する処理を実行するとともに、以降の通信をアドレス受信手段１ｃが受信した移動元コンピュータ２のフローティングＭＡＣアドレスを利用して行う処理手段１ｄ、として機能させる移動処理プログラムが提供される。
【００１２】
このような移動処理プログラムによれば、処理が移動元コンピュータ２から移動される場合、ネットワーク６を介してオペレーティングシステムを受信し、移動元コンピュータ２から、移動元コンピュータ２のプロセスが再動作するのに必要な実行情報を受信する。また、移動元コンピュータ２にユニークに割当てられたフローティングＭＡＣアドレスを受信する。そして、受信した情報・プログラムにより、移動元コンピュータ２の状態に復元する処理を実行するとともに、以降の通信を受信したフローティングＭＡＣアドレスを利用して行う。
【００１３】
これにより、プロセスを一旦停止する必要がない。また、実行情報を、ストレージを介することなくネットワーク６で直接送信および受信するのでプロセスのサービスの中断時間を短縮できる。また、移動元コンピュータ２と同じフローティングＭＡＣアドレスを使用することにより、他の装置からのアクセス透過性、位置透過性を保障できる。さらに、仮想マシン機構を利用せずに、処理を移動できる。
【発明の効果】
【００１４】
本発明の移動処理プログラムでは、プロセスを停止する必要がなく、実行情報を、ストレージを介することなくネットワークで直接送受信し、移動元コンピュータと同じフローティングＭＡＣアドレスを使用するようにした。また、仮想マシン機構を利用せずに、処理を移動できるようにした。これによって、プロセスのサービスの継続を損なわず、サービスの中断時間を短縮し、他の装置からのアクセス透過性、位置透過性を保障することができる。また、性能劣化を起こさずに通常運用をすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、コンピュータの概要を示した図である。図に示すようにコンピュータ１は、ネットワーク６を介して、移動元コンピュータ２、移動先コンピュータ３、ブートサーバ４、およびアドレス管理サーバ５と接続されている。コンピュータ１は、オペレーティング受信手段１ａ、実行情報受信手段１ｂ、アドレス受信手段１ｃ、および処理手段１ｄを有している。なお、移動元コンピュータ２および移動先コンピュータ３は、コンピュータ１と同じ機能を有している。
【００１６】
ブートサーバ４はオペレーティングシステムプログラムを記憶している。アドレス管理サーバ５は、コンピュータ１、移動元コンピュータ２、および移動先コンピュータ３が起動するとき、これらが固有に持っているＭＡＣアドレスとは別の、フローティングＭＡＣアドレスをユニークに割当てる。
【００１７】
コンピュータ１のオペレーティング受信手段１ａは、コンピュータ１が移動元コンピュータ２に対して、処理の移動先のコンピュータである場合、ブートサーバ４からネットワーク６を介してプロセスを管理するオペレーティングシステムプログラムを受信する。
【００１８】
実行情報受信手段１ｂは、処理の移動元の移動元コンピュータ２から、ネットワーク６を介して移動元コンピュータ２のプロセスを再動作するのに必要な実行情報を受信する。
アドレス受信手段１ｃは、移動元コンピュータ２から、アドレス管理サーバ５により移動元コンピュータ２に割当てられたフローティングＭＡＣアドレスを受信する。
【００１９】
処理手段１ｄは、オペレーティング受信手段１ａおよび実行情報受信手段が受信したオペレーティングシステムプログラム、実行情報により、移動元コンピュータ２の状態を復元する処理を実行するとともに、以降の通信をアドレス受信手段１ｃが受信した移動元コンピュータ２のフローティングＭＡＣアドレスを利用して行う。
【００２０】
以下、コンピュータ１の動作を説明する。コンピュータ１が、移動元コンピュータ２に対し、移動先のコンピュータであるとする。コンピュータ１のオペレーティング受信手段１ａは、ネットワーク６を介して、ブートサーバ４よりオペレーティングシステムプログラムを受信する。
【００２１】
実行情報受信手段１ｂは、移動元コンピュータ２で稼動しているプロセスの実行情報を、ネットワーク６を介して受信する。これにより、コンピュータ１は、移動元コンピュータ２で稼動していたプロセスを稼動することが可能になる。
【００２２】
アドレス受信手段１ｃは、移動元コンピュータ２から、移動元コンピュータ２に割当てられたフローティングＭＡＣアドレスを受信する。コンピュータ１が、移動元コンピュータ２と同じフローティングＭＡＣアドレスを使用することにより、ネットワーク６に接続されている図示しない他のコンピュータは、コンピュータ１と移動元コンピュータ２の違いを意識することなくプロセスの位置を認識でき、アクセスすることができる。
【００２３】
処理手段１ｄは、受信されたオペレーティングシステムプログラム、実行情報により、移動元コンピュータ２の状態を復元する処理を実行するとともに、以降の通信をアドレス受信手段１ｃが受信した移動元コンピュータ２のフローティングＭＡＣアドレスを利用して行う。
【００２４】
このように、プロセスを停止する必要がなく、実行情報を、ストレージを介することなくネットワーク６で直接送信および受信し、移動元コンピュータ２と同じフローティングＭＡＣアドレスを使用するようにした。また、仮想マシン機構を利用せずに、処理を移動できるようにした。これによって、プロセスのサービスの継続を損なわず、サービスの中断時間を短縮し、他の装置からのアクセス透過性、位置透過性を保障することができる。また、性能劣化を起こさずに通常運用をすることができる。
【００２５】
次に、本発明のコンピュータをクラスタシステムのプロセッサノードに適用した場合の実施の形態を、図面を参照して詳細に説明する。
図２は、プロセッサノードのシステム構成例を示す図である。図に示すように、ＬＡＮ（Local Area Network）などのネットワーク６０を介して、プロセッサノード１０，２０、ブートサーバ３０、管理サーバ４０、およびストレージ５０が接続されている。図に示すシステム構成は、例えば、ブレードサーバで構成され、１つの筐体に、それぞれの装置が収納される。なお、ブートサーバ３０、管理サーバ４０、およびストレージ５０は、ブレードサーバに収納せず、別個にネットワーク６０に接続されていてもよい。
【００２６】
プロセッサノード１０，２０は、例えば、Ｌｉｎｕｘ（登録商標）などのＯＳが実装され、様々なサービスプロセスが実行される。プロセッサノード１０，２０は、ディスクレスブートし、起動に必要な情報をブートサーバ３０から取得する。
【００２７】
ブートサーバ３０は、プロセッサノード１０，２０の起動に必要な起動情報、ブートローダ、および起動パラメータを有している。起動情報は、例えば、ブートサーバ３０のＩＰアドレスやプロセッサノード１０，２０がどういうＩＰ（Internet Protocol）アドレスで起動したらよいかという情報、プロセッサノード１０，２０の取得すべきブートローダのファイル名などを含んでいる。起動パラメータは、どこに起動すべきＯＳが格納されているかの情報を含んでいる。なお、ＯＳは、ブートサーバ３０に記憶されている。
【００２８】
管理サーバ４０は、オペレータからの起動指示に応じて、ブートサーバ３０とプロセッサノード１０，２０に対し、起動指示を行う。また、管理サーバ４０は、オペレータからのマイグレーション指示に応じて、起動されていないプロセッサノードを起動する。そして、サービスプロセスのサービスを移動しようとしているプロセッサノードに対し、ＯＳが管理していた、例えば、ページテーブルなどのメモリ管理情報と、後術詳細するフローティングＭＡＣアドレスとを含む実行コンテキスト情報を、新たに起動したプロセッサノードに移動するように指示する。
【００２９】
また、管理サーバ４０は、プロセッサノード１０またはプロセッサノード２０のいずれか一方のサービスが、他方のプロセッサノード１０またはプロセッサノード２０にマイグレーションされても、他の装置からは、マイグレーション前と同じようにプロセッサノード１０，２０が見えるよう、固定のＭＡＣ（Media Access Control）アドレスとは別のフローティングＭＡＣアドレスをプロセッサノード１０，２０に割当てる。
【００３０】
ストレージ５０には、プロセッサノード１０，２０が共有するファイルなどが記憶される。ストレージ５０は、例えば、ＮＦＳ（Network File System：登録商標）によりファイルを共有する。
【００３１】
以下、図２の概略動作について説明する。まず、プロセッサノード１０の起動動作について説明する。プロセッサノード１０，２０は、まだ起動していないとする。
オペレータは、管理サーバ４０に対し、プロセッサノード１０を起動するよう指示する。すると、管理サーバ４０は、ブートサーバ３０に対し、プロセッサノード１０が起動できるための起動情報を準備するように指示する。このとき、管理サーバ４０は、プロセッサノード１０に割当てるフローティングＭＡＣアドレスをブートサーバ３０に送信する。次いで、管理サーバ４０は、オペレータから起動指示のあったプロセッサノード１０に対して、起動指示をする。
【００３２】
管理サーバ４０から起動指示を受けたプロセッサノード１０は、ブートサーバ３０から、起動情報を受信する。プロセッサノード１０は、受信した起動情報に従って、ブートサーバ３０からブートローダを受信する。プロセッサノード１０は、ブートローダを起動し、ブートサーバ３０から、フローティングＭＡＣアドレスを含む起動パラメータを受信する。そして、プロセッサノード１０は、起動パラメータに従ってブートサーバ３０からＯＳを受信し、ストレージ５０のアプリケーションにより、サービスプロセスを起動する。なお、プロセッサノード１０は、ＯＳを受信してサービスプロセスを起動するまでは、固定のＭＡＣアドレスで動作し、その後、受信した起動パラメータに含まれているフローティングＭＡＣアドレスで動作する。このようにして、プロセッサノード１０を起動させる。
【００３３】
次に、マイグレーション動作について説明する。オペレータがプロセッサノード１０の保守作業を行う場合、プロセッサノード１０のサービスを継続するためにプロセッサノード２０を起動し、プロセッサノード１０のサービスをプロセッサノード２０にマイグレーションする必要がある。そこで、オペレータは、管理サーバ４０に対し、プロセッサノード２０を起動してプロセッサノード１０のサービスをマイグレーションするように指示する。
【００３４】
管理サーバ４０は、ブートサーバ３０に対し、プロセッサノード２０が起動できるための起動情報を準備するように指示する。また、管理サーバ４０は、オペレータから起動指示のあったプロセッサノード２０に対して、起動指示をする。
【００３５】
プロセッサノード２０は、管理サーバ４０からの起動指示を受け、ブートサーバ３０から起動情報を受信する。プロセッサノード２０は、起動情報に従って、ブートサーバ３０からブートローダを受信する。プロセッサノード２０は、ブートローダを起動し、ブートサーバ３０から起動パラメータを受信する。そして、起動パラメータには待機状態となる指示が含まれており、プロセッサノード２０は、起動パラメータに従ってブートサーバ３０からＯＳを受信し、マイグレーション処理の待機状態となる。
【００３６】
プロセッサノード１０は、プロセッサノード２０が待機状態になると、ＯＳが管理しているメモリ管理情報とフローティングＭＡＣアドレスとを含む、それまで稼動していたサービスプロセスの実行コンテキストのスナップショットを作成し、ネットワーク６０を介してプロセッサノード２０に送信する。
【００３７】
このように、メモリ管理情報とフローティングＭＡＣアドレスとを含む実行コンテキストを、ネットワーク６０で直接送信し、プロセッサノード１０とプロセッサノード２０とで同じフローティングＭＡＣアドレスを使用するようにした。また、仮想マシン機構を利用せずに、処理を移動できるようにした。これによって、プロセスのサービスの継続を損なわず、サービスの中断時間を短縮し、他の装置からのアクセス透過性、位置透過性を保障することができる。また、性能劣化を起こさずに通常運用をすることができる。
【００３８】
なお、プロセッサノード１０，２０は、ダイナミック・リコンフィグレーション機構を搭載するようにしてもよい。これによって、異なるハードウェア構成のプロセッサノード間でもサービスの移動をすることができる。例えば、移動元のプロセッサノードは、１つのＣＰＵと１つのメモリを有したハードウェア構成とする。移動先のプロセッサノードは、１つのＣＰＵと２つのメモリを有したハードウェア構成とする。このプロセッサノード間でマイグレーションが行われたとき、ＯＳから見ればメモリが増設されたことになる。そこで、ダイナミック・リコンフィグレーション機構によって、例えば、ＯＳの管理するページテーブルを作り直し、メモリが増設されたことをＯＳが認識して管理できるようにする。
【００３９】
次に、プロセッサノード１０，２０に実装されるＯＳについて説明する。
図３は、プロセッサノードに実装されるＯＳを説明する図である。図に示すＯＳ１１は、ＮＩＣ（Network Interface Card）ドライバ１２およびマイグレーションモジュール１３を有している。ＯＳ１１は、例えば、上述したようにＬｉｎｕｘなどである。
【００４０】
ＯＳ１１は、ストレージ５０に記憶されているアプリケーションのサービスプロセスを実行、管理する。ＯＳ１１は、複数のサービスプロセスを起動して実行し、実行するサービスプロセスを切替えるとき、実行していたサービスプロセスの実行コンテキスト情報をメモリに退避する。また、ＯＳ１１は、例えば、ページテーブルなどのメモリ管理情報を管理している。
【００４１】
ＮＩＣドライバ１２は、ネットワーク６０を介して他の装置と通信するための通信機能を実現する。ＮＩＣドライバ１２は、固有のＭＡＣアドレスを有しているが、別のフローティングＭＡＣアドレスに設定することもできる。フローティングＭＡＣアドレスの設定は、ＯＳ１１によって行われ、ＮＩＣドライバ１２は、固有のＭＡＣアドレスまたはＯＳ１１によって設定されたフローティングＭＡＣアドレスでパケットの送受信をする。
【００４２】
マイグレーションモジュール１３は、マイグレーション処理をするための制御プロセスを起動する。サービスの移動元のプロセッサノードにおける制御プロセスは、マイグレーション処理の指示があると、ＯＳ１１が管理しているメモリ管理情報とフローティングＭＡＣアドレスとを含む実行コンテキストのスナップショットを作成する。制御プロセスは、転送先のプロセッサノードにデータ転送のためのソケットを接続し、スナップショットを転送する。一方、サービスの移動先のプロセッサノードにおける制御プロセスは、移動先から送られてくるスナップショットを受信する。
【００４３】
なお、制御プロセスは、メモリ管理情報とフローティングＭＡＣアドレスとを含む実行コンテキストを一括して移動先のノードマイグレーションに送信するのではなく、先にフローティングＭＡＣアドレスを含むサービスプロセスの実行コンテキストを送信して、サービスの実行制御を移動し、そのサービスの実行を継続しながらメモリ管理情報を順次送信するようにしてもよい。また、サービスの実行を継続しながら、メモリ管理情報を順次転送し、その後にフローティングＭＡＣアドレスを含むサービスプロセスの実行コンテキストを転送して、サービスの実行制御を移行するようにしてもよい。一括送信する場合、その間は、サービスプロセスの処理は行われないのに対し、前述のように分割して送ると、ホルトが発生することがあるが、処理の可能なサービスプロセスは処理が継続され、サービスの停止時間を短くすることができる。
【００４４】
次に、管理サーバ４０の機能について説明する。
図４は、管理サーバの機能ブロック図である。図に示すように管理サーバ４０は、制御部４１、ＭＡＣアドレス割当て部４２、ＭＡＣアドレステーブル（ＴＢ）４３、およびＭＡＣアドレス管理ＴＢ４４を有している。
【００４５】
制御部４１は、オペレータからプロセッサノード１０，２０の起動指示があると、ＭＡＣアドレス割当て部４２にフローティングＭＡＣアドレスを取得するように指示する。制御部４１は、ＭＡＣアドレス割当て部４２によって取得されたＭＡＣアドレスを、ノード起動準備指示とともにブートサーバ３０に送信する。また、制御部４１は、オペレータから起動指示のあったプロセッサノード１０，２０に対し、起動するように指示をする。
【００４６】
また、制御部４１は、オペレータからプロセッサノード１０，２０のマイグレーション指示があると、ブートサーバ３０に対し、ノード起動準備指示を行う。そして、スナップショットの移動先であるプロセッサノードに対し、起動するように指示をする。また、制御部４１は、スナップショットの移動先であるプロセッサノードから、待機状態（ＯＳ１１がロードされた状態）の通知を受けると、スナップショットの移動元であるプロセッサノードに対し、メモリ管理情報とフローティングＭＡＣアドレスとを含む実行コンテキストのスナップショットを作成し、移動先のプロセッサノードに送信するよう指示する。
【００４７】
また、制御部４１は、マイグレーション処理が終了した旨を移動先のプロセッサノードから受信すると、ＭＡＣアドレス割当て部４２に対し、ＭＡＣアドレス管理ＴＢ４４を書き換えるように指示する。具体的には、フローティングＭＡＣアドレスが移動先のプロセッサノードに移ったことを示すように書き換えるよう指示する。
【００４８】
ＭＡＣアドレス割当て部４２は、制御部４１の制御に応じて、ＭＡＣアドレスＴＢ４３からフローティングＭＡＣアドレスを取得し、ＭＡＣアドレス管理ＴＢ４４の内容を書き換える。
【００４９】
ＭＡＣアドレスＴＢ４３は、起動するプロセッサノード１０，２０に割当てるためのユニークなフローティングＭＡＣアドレスを複数記憶している。フローティングＭＡＣアドレスは、例えば、プロセッサノードのシステムを製造販売する会社に、重複しないように予め付与される。これによって、各会社から製造販売されるプロセッサノードのシステムのフローティングＭＡＣアドレスが重ならないようにする。一方、ＭＡＣアドレス管理ＴＢ４４は、ＭＡＣアドレスＴＢ４３に記憶されているフローティングＭＡＣアドレスが、どのプロセッサノード１０，２０に割当てられているかを記憶している。
【００５０】
図５は、ＭＡＣアドレスＴＢのデータ構成例を示した図である。図に示すようにＭＡＣアドレスＴＢ４３には、フローティングＭＡＣアドレスが記憶されている。
図６は、ＭＡＣアドレス管理ＴＢのデータ構成例を示した図である。図に示すようにＭＡＣアドレス管理ＴＢ４４は、ＭＡＣアドレスＴＢ４３のフローティングＭＡＣアドレスに対応して付与された名称が記憶される欄、フローティングＭＡＣアドレスがプロセッサノードに割当てられているか否かを示す情報が記憶される欄、および起動しているプロセッサノードの名称が記憶される欄を有している。なお、図２では、プロセッサノード１０，２０は２つしか示してないが、複数ネットワーク６０に接続されているとする。
【００５１】
例えば、プロセッサノード１０，２０に付与されている名称をノード１，２とする。また、ＭＡＣアドレス管理ＴＢ４４のＭＡＣ１，２，…ＭＡＣｎは、図５で示したＭＡＣアドレスＴＢ４３のフローティングＭＡＣアドレスに対応して付与された名称とする。そうすると、プロセッサノード１０には、02:00:0e:19:a6:01のＭＡＣアドレスが割当てられていることが分かる。
【００５２】
ここで、マイグレーションの処理が行われ、プロセッサノード１０のサービスが、プロセッサノード２０にマイグレーションされたとする。この場合、プロセッサノード１０に割当てられたフローティングＭＡＣアドレスもプロセッサノード２０に移動される。この場合、ＭＡＣアドレス管理ＴＢ４４の最上欄のノード１は、ＭＡＣアドレス割当て部４２によって、ノード２に書き換えられる。
【００５３】
次に、プロセッサノードの起動動作を、システム構成例の図を用いて説明する。
図７は、プロセッサノードの起動指示から起動パラメータ受信までの動作を説明する図である。図において、図２と同じのものには同じ符号を付し、その説明を省略する。なお、図には、プロセッサノード１０，２０のハードウェア１０ａ，２０ａが示してある。ハードウェア１０ａ，２０ａは、例えば、ＣＰＵ、ＲＡＭ、およびネットワーク６０を介して他の装置と通信するための通信インターフェースを有し、以下で説明するブートローダやＯＳ、サービスプロセスなどの機能を実現する。プロセッサノード１０，２０は、まだ起動していないとする。
【００５４】
オペレータは、管理サーバ４０に対し、プロセッサノード１０を起動するよう指示する。すると、管理サーバ４０は、図の点線矢印Ａ１に示すようにブートサーバ３０に対し、プロセッサノード１０がどういうＩＰアドレスで起動し、どのようなファイル名のブートローダをロードすればよいかの起動情報を準備するように（ＤＨＣＰ（Dynamic Host Configuration Protocol）を設定するように）指示する。このとき、管理サーバ４０は、プロセッサノード１０に割当てるフローティングＭＡＣアドレスを、ＭＡＣアドレスＴＢ４３から取得し、ブートサーバ３０に送信する。ブートサーバ３０は、管理サーバ４０からの指示に従って起動情報の準備ができると、その旨を管理サーバ４０に返す。
【００５５】
次に、管理サーバ４０は、点線矢印Ａ２に示すように、プロセッサノード１０に対し、起動指示（パワーオン）をする。プロセッサノード１０は、管理サーバ４０からの起動指示に応じて、ＰＯＳＴ（Power On Self Test）を実行する。
【００５６】
プロセッサノード１０は、起動情報要求（ＤＨＣＰ要求）をブロードキャストする。起動情報要求は、点線矢印Ａ３に示すようにブートサーバ３０に受信される。ブートサーバ３０は、起動情報要求に応じて、点線矢印Ａ１の指示において準備していた起動情報をプロセッサノード１０に送信する。
【００５７】
プロセッサノード１０は、点線矢印Ａ４に示すように、受信した起動情報に含まれているブートファイル名を参照して、ブートサーバ３０からブートローダを受信する。そして、受信したブートローダを起動する。これによって、図に示すように、プロセッサノード１０のハードウェア１０ａには、ブートローダ７１の機能が実現される。なお、プロセッサノード１０は、例えば、ＩＡ（Intel Architecture）３２のアーキテクチャを備え、ＰＸＥ（Preboot eXecution Environment）と呼ばれる機構によって、前記の起動情報を獲得する。
【００５８】
プロセッサノード１０は、ブートローダ７１に従って、点線矢印Ａ５に示すように、ブートサーバ３０に対し、例えば、ロードすべきＯＳがどこに記憶されているかの情報を含む起動パラメータを要求し、受信する。なお、起動パラメータには、点線矢印Ａ１において管理サーバ４０がブートサーバ３０に送信したフローティングＭＡＣアドレスが含まれている。
【００５９】
図８は、ＯＳの受信からルートファイルシステムのマウントまでの動作を説明する図である。図において、図７と同じものには同じ符号を付し、その説明を省略する。
プロセッサノード１０は、受信した起動パラメータに従って、図の点線矢印Ｂ１に示すようにブートサーバ３０に対し、ＯＳの要求を行って受信し、受信したＯＳを起動する。これによって、プロセッサノード１０のハードウェア１０ａには、図に示すようなＮＩＣドライバ１２およびマイグレーションモジュール１３を有するＯＳ１１が実装される。
【００６０】
プロセッサノード１０は、ＯＳ１１の起動後、起動パラメータに含まれているフローティングＭＡＣアドレスをＮＩＣドライバ１２に設定する。以後、プロセッサノード１０は、フローティングＭＡＣアドレスによって、他の装置と通信を行う。
【００６１】
プロセッサノード１０は、点線矢印Ｂ２に示すように、ストレージ５０に対しマウント要求をし、ストレージ５０のルートファイルシステムにマウントする。
図９は、サービスプロセスの起動からサービス開始までの動作を説明する図である。図において、図８と同じものには同じ符号を付し、その説明を省略する。
【００６２】
プロセッサノード１０は、ストレージ５０のルートファイルシステムにマウントした後、サービスプロセス１４〜１６を起動する。その後、マイグレーションモジュール１３によって、マイグレーションを行うための制御プロセス１７を起動する。
【００６３】
制御プロセス１７が起動されると、制御プロセス１７に従って、プロセッサノード１０は、点線矢印Ｃ１に示すように、管理サーバ４０に対し、起動通知をする。管理サーバ４０は、起動通知を受けて、プロセッサノード１０にフローティングＭＡＣアドレスを割当てたことの情報をＭＡＣアドレス管理ＴＢ４４に書き込む。このようにして、プロセッサノード１０は起動される。
【００６４】
次に、プロセッサノードのマイグレーション動作を、システム構成例の図を用いて説明する。
図１０は、プロセッサノードのマイグレーション指示から起動パラメータ受信までの動作を説明する図である。図において、図９と同じものには同じ符号を付し、その説明を省略する。図に示すようにプロセッサノード１０には、ＯＳ１１が実装され、サービスプロセス１４〜１６および制御プロセス１７が稼動している。オペレータは、プロセッサノード１０の保守を行うため、プロセッサノード１０で稼動しているサービスプロセス１４〜１６のサービスを、起動されていないプロセッサノード２０にマイグレーションするとする。
【００６５】
オペレータは、管理サーバ４０に対し、サービスの移動先であるプロセッサノード２０を起動するよう指示する。すると、管理サーバ４０は、図の点線矢印Ｄ１に示すようにブートサーバ３０に対し、プロセッサノード２０がどういうＩＰアドレスで起動し、どのようなファイル名のブートローダをロードすればよいかの起動情報を準備するように指示する。ブートサーバ３０は、管理サーバ４０からの指示に従って、起動情報の準備ができると、その旨を管理サーバ４０に返す。
【００６６】
次に、管理サーバ４０は、点線矢印Ｄ２に示すように、プロセッサノード２０に対し、起動指示（パワーオン）をする。プロセッサノード２０は、管理サーバ４０からの起動指示に応じて、ＰＯＳＴを実行する。
【００６７】
プロセッサノード２０は、起動情報要求（ＤＨＣＰ要求）をブロードキャストする。起動情報要求は、点線矢印Ｄ３に示すようにブートサーバ３０に受信される。ブートサーバ３０は、起動情報要求に応じて、点線矢印Ｄ１の指示において準備していた起動情報を、プロセッサノード２０に送信する。
【００６８】
プロセッサノード２０は、点線矢印Ｄ４に示すように、受信した起動情報に含まれているブートファイル名を参照して、ブートサーバ３０からブートローダを受信する。そして、受信したブートローダを起動する。これによって、図に示すように、プロセッサノード２０のハードウェア２０ａには、ブートローダ８１の機能が実現される。
【００６９】
プロセッサノード２０は、ブートローダ８１に従って、点線矢印Ｄ５に示すように、ブートサーバ３０に対し、例えば、ロードすべきＯＳがどこに記憶されているかの情報を含む起動パラメータを要求し、受信する。
【００７０】
図１１は、ＯＳの受信から待機状態までの動作を説明する図である。図において図１０と同じものには同じ符号を付し、その説明を省略する。
プロセッサノード２０は、受信した起動パラメータに従って、図の点線矢印Ｅ１に示すようにブートサーバ３０に対し、ＯＳの要求を行って受信し、受信したＯＳを起動する。これによって、プロセッサノード２０のハードウェア２０ａには、図に示すようなＮＩＣドライバ８２ａおよびマイグレーションモジュール８２ｂを有するＯＳ８２が実装される。
【００７１】
プロセッサノード２０は、ＯＳ８２および起動パラメータに従って待機状態となり、点線矢印Ｅ２に示すように、待機完了通知を管理サーバ４０に送信する。管理サーバ４０は、プロセッサノード２０からの待機完了通知を受けて、プロセッサノード２０がＯＳ８２を受信し、プロセッサノード１０からのサービスを受信できる状態にあることを認識できる。
【００７２】
図１２は、サービスの移動指示からスナップショットの転送までの動作を説明する図である。図において、図１１と同じものには同じ符号を付し、その説明を省略する。
管理サーバ４０は、プロセッサノード２０から待機完了通知を受けると、点線矢印Ｆ１に示すように、サービスの移動元であるプロセッサノード１０に対し、移動指示を出力する。プロセッサノード１０の制御プロセス１７は、管理サーバ４０からの移動指示を受けて稼動し、ＯＳ１１が管理しているメモリ管理情報と、プロセッサノード１０に割当てられていたフローティングＭＡＣアドレスとを含む、サービスプロセス１４〜１６の実行コンテキストのスナップショットを作成する。
【００７３】
プロセッサノード１０の制御プロセス１７は、点線矢印Ｆ２に示すように、プロセッサノード２０に対し、データ転送のためのソケットを接続する。そして、プロセッサノード１０の制御プロセス１７は、点線矢印Ｆ３に示すように、作成したスナップショットをプロセッサノード２０に送信する。なお、図３で説明したように、メモリ管理情報とフローティングＭＡＣアドレスを含む実行コンテキストを分割して送信するようにしてもよい。
【００７４】
図１３は、サービスの移動先がサービスを再開するまでの動作を説明する図である。
マイグレーションモジュール８２ｂは、マイグレーションを行うための制御プロセス１７を起動する。制御プロセス１７は、プロセッサノード１０から送信されるスナップショットを受信する。スナップショットを受信したプロセッサノード２０は、スナップショットの実行コンテキストに切替え、サービスプロセス１４〜１６を再開させる。そして、スナップショットに含まれているフローティングＭＡＣアドレスをＮＩＣドライバ８２ａに設定する。
【００７５】
その後、プロセッサノード２０は、点線矢印Ｇ１に示すように、マイグレーションが完了した旨を管理サーバ４０に通知する。管理サーバ４０は、プロセッサノード２０からマイグレーションが終了した旨の通知を受けると、フローティングＭＡＣアドレスがプロセッサノード１０からプロセッサノード２０に移ったこと示すように、ＭＡＣアドレス管理ＴＢ４４を書き換える。なお、スナップショットを送信したプロセッサノード１０は動作を停止し、これによって、保守作業が可能になる。このようにして、マイグレーション処理が行われる。
【００７６】
次に、図２のプロセッサノード１０の起動動作を、シーケンス図を用いて説明する。
図１４は、プロセッサノードの起動動作を示したシーケンス図である。以下のステップに従って、プロセッサノード１０は起動される。
【００７７】
ステップＳ１においてオペレータは、プロセッサノード１０が起動するように、管理サーバ４０を操作する。
ステップＳ２において管理サーバ４０の制御部４１は、オペレータからの操作に応じ、ＭＡＣアドレス割当て部４２に対してＭＡＣアドレス割当て要求を行う。
【００７８】
ステップＳ３において管理サーバ４０のＭＡＣ割当て部４３は、ＭＡＣアドレス割当て要求に応じてＭＡＣアドレスＴＢ４３を参照し、プロセッサノード１０に割当てるフローティングＭＡＣアドレスを取得する。
【００７９】
ステップＳ４において管理サーバ４０のＭＡＣ割当て部４３は、取得したフローティングＭＡＣアドレスを制御部４１に引き渡す。
ステップＳ５において管理サーバ４０の制御部４１は、ブートサーバ３０に対し、ノード起動準備指示を送信する。このとき、管理サーバ４０の制御部４１は、ステップＳ４で取得したフローティングＭＡＣアドレスをブートサーバ３０に送信する。
【００８０】
ステップＳ６においてブートサーバ３０は、管理サーバ４０からのノード起動指示を受けて、プロセッサノード１０が起動できるための準備を行う。具体的には、ブートサーバ３０は、ＤＨＣＰの設定を行う。
【００８１】
ステップＳ７においてブートサーバ３０は、ＤＨＣＰの設定が終了すると、その旨を示すノード起動準備完了を管理サーバ４０の制御部４１に送信する。
ステップＳ８において管理サーバ４０の制御部４１は、ブートサーバ３０からノード起動準備完了を受信すると、プロセッサノード１０にノード起動指示を送信する。具体的には、管理サーバ４０の制御部４１は、プロセッサノード１０の電源をオンするようにする。
【００８２】
ステップＳ９においてプロセッサノード１０は、管理サーバ４０からのノード起動指示を受けて、ＰＯＳＴを実行する。
ステップＳ１０においてプロセッサノード１０は、ＰＯＳＴ実行後、起動情報要求（ＤＨＣＰ要求）をブロードキャストする。ブロードキャストされた起動情報要求は、ブートサーバ３０に受信される。
【００８３】
ステップＳ１１においてブートサーバ３０は、プロセッサノード１０からの起動情報要求に応じて、プロセッサノード１０に起動情報（ＤＨＣＰ）を送信する。
ステップＳ１２においてプロセッサノード１０は、起動情報に含まれているブートファイル名を参照し、ブートサーバ３０に対して、ブートローダを要求する。
【００８４】
ステップＳ１３においてブートサーバ３０は、プロセッサノード１０に対し、要求のあったブートローダを送信する。
ステップＳ１４においてプロセッサノード１０は、ブートサーバ３０から受信したブートローダを起動する。
【００８５】
ステップＳ１５においてプロセッサノード１０は、起動したブートローダに従って、起動パラメータをブートサーバ３０に要求する。
ステップＳ１６においてブートサーバ３０は、プロセッサノード１０からの起動パラメータ要求に応じて、起動パラメータをプロセッサノード１０に送信する。なお、起動パラメータには、ステップＳ５においてブートサーバ３０に送信されたフローティングＭＡＣアドレスが含まれている。
【００８６】
ステップＳ１７においてプロセッサノード１０は、受信した起動パラメータに従い、ブートサーバ３０に対してＯＳの要求を行う。
ステップＳ１８においてブートサーバ３０は、要求のあったＯＳをプロセッサノード１０に送信する。
【００８７】
ステップＳ１９においてプロセッサノード１０は、ブートサーバ３０から受信したＯＳを起動する。
ステップＳ２０においてプロセッサノード１０は、ステップＳ１６で受信した起動パラメータに含まれているフローティングＭＡＣアドレスを設定する。プロセッサノード１０は、以後、フローティングＭＡＣアドレスで、ネットワーク６０に接続されている他の装置と通信を行う。
【００８８】
ステップＳ２１においてプロセッサノード１０は、ストレージ５０に対し、ルートファイルシステムのマウント要求を行う。
ステップＳ２２においてストレージ５０は、ファイルシステムのマウントを行った旨をプロセッサノード１０に通知する。これによって、プロセッサノード１０は、ストレージ５０にアクセスすることができる。
【００８９】
ステップＳ２３においてプロセッサノード１０は、ストレージ５０のアプリケーションのサービスプロセスを起動する。
ステップＳ２４においてプロセッサノード１０は、ＯＳに含まれているマイグレーションモジュールにより、制御プロセスを起動する。
【００９０】
ステップＳ２５においてプロセッサノード１０は、管理サーバ４０の制御部４１に対し、起動通知を行う。そして、サービスプロセスのサービスを開始する。
ステップＳ２６において管理サーバ４０の制御部４１は、プロセッサノード１０の起動が完了したことをオペレータに通知する。このようにして、プロセッサノード１０の起動が行われる。
【００９１】
なお、ステップＳ１２，Ｓ１３におけるブートローダ要求およびブートローダの送信は、例えば、ＴＦＴＰ（Trivial File Transfer Protocol）によって行われる。また、ステップＳ１５，Ｓ１６における起動パラメータ要求および起動パラメータの送信も、例えば、ＴＦＴＰによって行われる。さらに、ステップＳ１７，Ｓ１８におけるＯＳ要求およびＯＳの送信も、例えば、ＴＦＴＰによって行われる。
【００９２】
次に、図２のプロセッサノード１０からプロセッサノード２０に対して行われるマイグレーション処理を、シーケンス図を用いて説明する。
図１５は、プロセッサノードのマイグレーション動作を示したシーケンス図である。以下のステップに従って、プロセッサノード２０の起動が行われ、プロセッサノード１０のサービスがプロセッサノード２０にマイグレーションされる。
【００９３】
ステップＳ３１においてオペレータは、プロセッサノード１０のサービスがプロセッサノード２０にマイグレーションされるように、管理サーバ４０を操作する。
ステップＳ３２において管理サーバ４０の制御部４１は、オペレータの操作に応じ、ブートサーバ３０に対してノード起動準備指示を送信する。
【００９４】
ステップＳ３３においてブートサーバ３０は、管理サーバ４０からのノード起動指示を受けて、プロセッサノード２０が起動できるための準備を行う。具体的には、ブートサーバ３０は、ＤＨＣＰの設定を行う。
【００９５】
ステップＳ３４においてブートサーバ３０は、ＤＨＣＰの設定が終了すると、その旨を示すノード起動準備完了を管理サーバ４０の制御部４１に送信する。
ステップＳ３５において管理サーバ４０の制御部４１は、ブートサーバ３０からノード起動準備完了を受信すると、プロセッサノード２０にノード起動指示を送信する。具体的には、管理サーバ４０の制御部４１は、プロセッサノード２０の電源をオンするようにする。
【００９６】
ステップＳ３６においてプロセッサノード２０は、管理サーバ４０からのノード起動指示を受けて、ＰＯＳＴを実行する。
ステップＳ３７においてプロセッサノード２０は、ＰＯＳＴ実行後、起動情報要求（ＤＨＣＰ要求）をブロードキャストする。ブロードキャストされた起動情報要求は、ブートサーバ３０に受信される。
【００９７】
ステップＳ３８においてブートサーバ３０は、プロセッサノード２０からの起動情報要求に応じて、プロセッサノード２０に起動情報（ＤＨＣＰ）を送信する。
ステップＳ３９においてプロセッサノード２０は、起動情報に含まれているブートファイル名を参照し、ブートサーバ３０に対して、ブートローダを要求する。
【００９８】
ステップＳ４０においてブートサーバ３０は、プロセッサノード２０に対し、要求のあったブートローダを送信する。
ステップＳ４１においてプロセッサノード２０は、ブートサーバ３０から受信したブートローダを起動する。
【００９９】
ステップＳ４２においてプロセッサノード２０は、起動したブートローダに従って、起動パラメータをブートサーバ３０に要求する。
ステップＳ４３においてブートサーバ３０は、プロセッサノード２０からの起動パラメータ要求に応じて、起動パラメータをプロセッサノード２０に送信する。
【０１００】
ステップＳ４４においてプロセッサノード２０は、受信した起動パラメータに従って、ブートサーバ３０に対し、ＯＳの要求を行う。
ステップＳ４５においてブートサーバ３０は、プロセッサノード２０からのＯＳの要求に応じて、ＯＳをプロセッサノード２０に送信する。
【０１０１】
ステップＳ４６においてプロセッサノード２０は、ブートサーバ３０から受信したＯＳを起動する。
ステップＳ４７においてプロセッサノード２０は、待機状態となる。
【０１０２】
ステップＳ４８においてプロセッサノード２０は、待機状態になったことを示す待機完了通知を管理サーバ４０に対して行う。
ステップＳ４９において管理サーバ４０の制御部４１は、サービスの移動先となるプロセッサノード２０が待機状態となったことにより、プロセッサノード１０に対し、サービスの移動指示を行う。
【０１０３】
ステップＳ５０においてプロセッサノード１０は、管理サーバ４０の制御部４１からの移動指示を受けて、ＯＳが管理しているメモリ管理情報とフローティングＭＡＣアドレスとを含む実行コンテキストのスナップショットを作成する。
【０１０４】
ステップＳ５１においてプロセッサノード１０は、作成したスナップショットがプロセッサノード２０に送信できるようにソケットを接続する。
ステップＳ５２においてプロセッサノード２０は、ソケットが接続されたことをプロセッサノード１０に通知する。
【０１０５】
ステップＳ５３においてプロセッサノード１０は、作成したスナップショットをプロセッサノード２０に送信する。なお、図３で説明したように、メモリ管理情報とフローティングＭＡＣアドレスを含む実行コンテキストを分割して送信するようにしてもよい。
【０１０６】
ステップＳ５４においてプロセッサノード２０は、プロセッサノード１０から送信されたスナップショットに含まれている実行コンテキストに切替え、サービスを再開する。そして、自己の固有のＭＡＣアドレスからフローティングＭＡＣアドレスに切替える。
【０１０７】
ステップＳ５５においてプロセッサノード２０は、マイグレーションが完了したことを管理サーバ４０に通知する。
ステップＳ５６において管理サーバ４０の制御部４１は、プロセッサノード２０の起動が完了したことをオペレータに通知する。
【０１０８】
ステップＳ５７において管理サーバ４０の制御部４１は、ＭＡＣアドレス割当て部４２を制御して、プロセッサノード１０に割当てられたフローティングＭＡＣアドレスが、プロセッサノード２０に移ったようにＭＡＣアドレス管理ＴＢ４４を書き換える。
【０１０９】
ステップＳ５８においてプロセッサノード１０は、スナップショットの転送後、オペレータが保守作業を行えるように動作を停止する。
このように、メモリ管理情報とフローティングＭＡＣアドレスとを含む実行コンテキストを、ネットワーク６０で直接移動先のプロセッサノード２０に送信し、プロセッサノード１０とプロセッサノード２０とで同じフローティングＭＡＣアドレスを使用するようにした。また、仮想マシン機構を利用せずに、処理を移動できるようにした。これによって、プロセスのサービスの継続を損なわず、サービスの中断時間を短縮し、他の装置からのアクセス透過性、位置透過性を保障することができる。また、性能劣化を起こさずに通常運用をすることができる。
【０１１０】
なお、オペレータは、保守作業以外においても、プロセッサノードのサービスを、サービスプロセスが必要とする資源を有しているプロセッサノードに移動することができる。これにより、最適な資源配分を行うことができる。
【０１１１】
また、プロセッサノードを収納しているブレードサーバの電源や温度などの環境が最適となるように、サービスの移動先のプロセッサノードを選定することができる。これにより、プロセッサノードが動作するのに最適な環境を得ることができる。
【０１１２】
なお、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１１３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１４】
（付記１）  ＭＡＣアドレスを用いて通信を行うコンピュータを、
ネットワークを介してオペレーティングシステムプログラムを受信するオペレーティング受信手段、
移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータのプロセスを再動作するのに必要な実行情報を受信する実行情報受信手段、
前記移動元コンピュータから、装置固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段、
前記オペレーティング受信手段及び前記実行情報受信手段とが受信した情報・プログラムにより、前記移動元コンピュータの状態に復元する処理を実行するとともに、以降の通信を前記アドレス受信手段が受信した前記移動元コンピュータのフローティングＭＡＣアドレスを利用して行う処理手段、
として機能させる移動処理プログラム。
【０１１５】
（付記２）  前記実行情報受信手段、前記アドレス受信手段は、前記オペレーティングシステムプログラムに内蔵されていることを特徴とする付記１記載の移動処理プログラム。
【０１１６】
（付記３）  前記実行情報は、前記プロセスの実行コンテキストと前記オペレーティングシステムプログラムが管理しているメモリ管理情報とを含んでいることを特徴とする付記１記載の移動処理プログラム。
【０１１７】
（付記４）  ＭＡＣアドレスを用いて通信を行う情報処理装置であって、
ネットワークを介してオペレーティングシステムプログラムを受信するオペレーティング受信手段と、
移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータのプロセスを再動作するのに必要な実行情報を受信する実行情報受信手段と、
前記移動元コンピュータから、装置固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段と、
前記オペレーティング受信手段及び前記実行情報受信手段とが受信した情報・プログラムにより、前記移動元コンピュータの状態に復元する処理を実行するとともに、以降の通信を前記アドレス受信手段が受信した前記移動元コンピュータのフローティングＭＡＣアドレスを利用して行う処理手段と、
を有することを特徴とする情報処理装置。
【０１１８】
（付記５）  前記実行情報受信手段、前記アドレス受信手段は、前記オペレーティングシステムプログラムに内蔵されていることを特徴とする付記４記載の情報処理装置。
（付記６）  前記実行情報は、前記プロセスの実行コンテキストと前記オペレーティングシステムプログラムが管理しているメモリ管理情報とを含んでいることを特徴とする付記４記載の情報処理装置。
【０１１９】
（付記７）  移動元コンピュータから移動先コンピュータへ処理を移動する処理を行うコンピュータシステムにおいて、
前記処理の移動元である移動元コンピュータから前記処理が移動される場合、ネットワークを介してプロセスを管理するオペレーティングシステムプログラムを受信するオペレーティング受信手段と、
前記移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータの前記プロセスを再動作するのに必要な実行情報を受信する実行情報受信手段と、
前記移動元コンピュータから、固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段と、
前記処理の移動先である移動先コンピュータに前記処理を移動する場合、前記ネットワークを介して前記プロセスの前記実行情報を前記移動先コンピュータに送信する実行情報送信手段と、
前記移動先コンピュータに、当該コンピュータにユニークに割当てられた前記フローティングＭＡＣアドレスを送信するアドレス送信手段と、
を有することを特徴とするコンピュータシステム。
【０１２０】
（付記８）  前記実行情報送信手段は、前記実行情報に含まれる実行コンテキストを先に送信し、前記実行情報に含まれる前記オペレーティングシステムプログラムが管理しているメモリ管理情報を順次送信することを特徴とする付記７記載のコンピュータシステム。
【０１２１】
（付記９）  前記実行情報送信手段は、前記実行情報に含まれる前記オペレーティングシステムプログラムが管理しているメモリ管理情報を順次送信し、その後に前記実行情報に含まれる実行コンテキストを送信することを特徴とする付記７記載のコンピュータシステム。
【０１２２】
（付記１０）  前記実行情報の送信完了に応じて、動作を停止する動作停止手段を有することを特徴とする付記７記載のコンピュータシステム。
（付記１１）  ＭＡＣアドレスを用いて通信を行うコンピュータを、
ネットワークを介してオペレーティングシステムプログラムを受信するオペレーティング受信手段と、
移動元コンピュータから、前記ネットワークを介して前記移動元コンピュータのプロセスを再動作するのに必要な実行情報を受信する実行情報受信手段と、
前記移動元コンピュータから、装置固有のＭＡＣアドレスとは別に前記移動元コンピュータにユニークに割当てられたフローティングＭＡＣアドレスを受信するアドレス受信手段と、
前記オペレーティング受信手段及び前記実行情報受信手段とが受信した情報・プログラムにより、前記移動元コンピュータの状態に復元する処理を実行するとともに、以降の通信を前記アドレス受信手段が受信した前記移動元コンピュータのフローティングＭＡＣアドレスを利用して行う処理手段と、
として機能させる移動処理プログラムを記録したコンピュータが読み取り可能な記録媒体。
【図面の簡単な説明】
【０１２３】
【図１】コンピュータの概要を示した図である。
【図２】プロセッサノードのシステム構成例を示す図である。
【図３】プロセッサノードに実装されるＯＳを説明する図である。
【図４】管理サーバの機能ブロック図である。
【図５】ＭＡＣアドレスＴＢのデータ構成例を示した図である。
【図６】ＭＡＣアドレス管理ＴＢのデータ構成例を示した図である。
【図７】プロセッサノードの起動指示から起動パラメータ受信までの動作を説明する図である。
【図８】ＯＳの受信からルートファイルシステムのマウントまでの動作を説明する図である。
【図９】サービスプロセスの起動からサービス開始までの動作を説明する図である。
【図１０】プロセッサノードのマイグレーション指示から起動パラメータ受信までの動作を説明する図である。
【図１１】ＯＳの受信から待機状態までの動作を説明する図である。
【図１２】サービスの移動指示からスナップショットの転送までの動作を説明する図である。
【図１３】サービスの移動先がサービスを再開するまでの動作を説明する図である。
【図１４】プロセッサノードの起動動作を示したシーケンス図である。
【図１５】プロセッサノードのマイグレーション動作を示したシーケンス図である。
【符号の説明】
【０１２４】
１  コンピュータ
１ａ  オペレーティング受信手段
１ｂ  実行情報受信手段
１ｃ  アドレス受信手段
１ｄ  処理手段
２  移動元コンピュータ
３  移動先コンピュータ
４  ブートサーバ
５  アドレス管理サーバ
６  ネットワーク
【図１】
2006190141.tif 000003
【図２】
2006190141.tif 000004
【図３】
2006190141.tif 000005
【図４】
2006190141.tif 000006
【図５】
2006190141.tif 000007
【図６】
2006190141.tif 000008
【図７】
2006190141.tif 000009
【図８】
2006190141.tif 000010
【図９】
2006190141.tif 000011
【図１０】
2006190141.tif 000012
【図１１】
2006190141.tif 000013
【図１２】
2006190141.tif 000014
【図１３】
2006190141.tif 000015
【図１４】
2006190141.tif 000016
【図１５】
2006190141.tif 000017