(57)【要約】【課題】サービスが停止する期間を低減する信号振り分けシステム等を提供する。【解決手段】信号振り分けシステム１０は、第１セッションにおいて発せられた制御信号４０を、前記第１セッションに関連付けされた第１の送り先に送信する第１処理を行うと共に、第２セッションに関連付けされたセッションデータ３０が転送される処理が完了したことを検出した場合に、前記第２セッションに関連付けされた第２の送り先を変更する第２処理を行う制御信号送信部２５を備える。【選択図】      図１
2013200805.tif 000002
【特許請求の範囲】
【請求項１】
第１セッションにおいて発せられた制御信号を、前記第１セッションに関連付けされた第１の送り先に送信する第１処理を行うと共に、第２セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第２セッションに関連付けされた第２の送り先を変更する第２処理を行う制御信号送信部を備える
ことを特徴とする信号振り分けシステム。
【請求項２】
セッションと送り先とを関連付けるセッション情報管理部を更に備え、
前記セッションは、前記第１セッションと前記第２セッションとを含み、
前記制御信号送信部は、
前記第１処理における前記第１の送り先の取得を、前記セッション情報管理部にて前記第１セッションと関連付けされている前記送り先を参照することにより行い、
前記第２処理における前記第２の送り先の変更を、前記セッション情報管理部にて前記第２セッションと関連付けされている前記送り先を変更することにより行う
ことを特徴とする請求項１に記載の信号振り分けシステム。
【請求項３】
前記制御信号送信部は、
前記第１の送り先を転送元に設定して前記第１処理を行うと共に、前記第２処理における前記第２の送り先を転送先に変更する
ことを特徴とする請求項１あるいは請求項２に記載の信号振り分けシステム。
【請求項４】
前記セッションは複数存在し、
前記第２セッションに関連付けされたセッションデータを前記転送元から前記転送先に転送する第３処理を、前記複数のセッションに対して個別に実施するセッションデータ転送部を更に備え、
前記制御信号送信部は、
前記第３処理が終了するのに応じて、前記第２の送り先を前記転送先に変更する
ことを特徴とする請求項２あるいは請求項３に記載の信号振り分けシステム。
【請求項５】
前記転送元は、転送元バーチャルマシンであり、
前記転送先は、転送先バーチャルマシンである
請求項１乃至請求項４のいずれか一項に記載の信号振り分けシステム。
【請求項６】
請求項１乃至５のいずれか一項に記載の信号振り分けシステムを備えるライブマイグレーションシステム。
【請求項７】
第１セッションにおいて発せられた制御信号を、前記第１セッションに関連付けされた第１の送り先に送信する第１処理を行うと共に、第２セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第２セッションに関連付けされた第２の送り先を変更する第２処理を行う
ことを特徴とする信号振り分け方法。
【請求項８】
第１セッションにおいて発せられた制御信号を、前記第１セッションに関連付けされた第１の送り先に送信する第１処理を行うと共に、第２セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第２セッションに関連付けされた第２の送り先を変更する第２処理を行う制御信号送信機能を、
コンピュータに実現させるコンピュータ・プログラム。
【請求項９】
セッションと送り先とを関連付けるセッション情報管理機能を更に備え、
前記セッションは、前記第１セッションと前記第２セッションとを含み、
前記制御信号送信機能は、
前記第１処理における前記第１の送り先の取得を、前記セッション情報管理部にて前記第１セッションと関連付けされている前記送り先を参照することにより行い、
前記第２処理における前記第２の送り先の変更を、前記セッション情報管理部にて前記第２セッションと関連付けされている前記送り先を変更することにより行う
ことを特徴とする請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記制御信号送信機能は、
前記第１の送り先を転送元に設定して前記第１処理を行うと共に、前記第２処理における前記第２の送り先を転送先に変更する
ことを特徴とする請求項８あるいは請求項９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライブマイグレーションを実現する情報処理の技術分野に関する。
【背景技術】
【０００２】
ライブマイグレーションは、稼動している仮想マシン（以降、「ＶＭ」と略記する。）にて動作するオペレーティングシステム（以降、「ＯＳ」と略記する）、ソフトウェア（「アプリケーションプログラム」、「アプリケーション」とも記述する）などを、そのサービスを停止することなく、他のＶＭ（以降、移し変える先に存在するＶＭを「転送先ＶＭ」と記述する。）へ移し変えることである。以降の説明において、元々、ソフトウェアなどサービスを提供しているＶＭを、「転送元ＶＭ」と記す。
【０００３】
非特許文献１は、ライブマイグレーション機能について紹介している。ライブマイグレーション機能は、ＶＭが柔軟なプロビジョニングを行うことを可能にする。そのため、そのライブマイグレーション機能により、ＶＭ上で動作するサーバの停止・稼動と、計算機（以降、「情報処理装置」、「コンピュータ」、あるいは、「マシン」とも記述する）の交換・増設とを切り離すことが可能になる。即ち、サーバ管理者は、計算機の処理性能を増強する場合であっても、ＶＭが提供しているサービスを止める必要がない。それは、運用面におけるメリットであるため、ライブマイグレーション機能は、サーバを仮想化する利点の一つとして考えられることが多い。
【０００４】
但し、これまで知られているライブマイグレーションシステム（以降、「ＬＭＳ」と略記する）は、転送元ＶＭにて稼動しているソフトウェア等のサービスを一時的に停止した後に、その停止中に転送元ＶＭにおけるメモリに存在するビット列を、転送先ＶＭにおけるメモリへコピーする。即ち、そのＬＭＳは、サービス停止時間が発生するシステムである。図１５を参照しながら、サービス停止時間が発生するＬＭＳが実施する処理について説明をする。
【０００５】
図１５は、ライブマイグレーション中にサービス停止時間が発生する一般的なＬＭＳが行う処理を、概念的に示した図である。図１５を参照すると、一般的なＬＭＳは、まず、転送元ＶＭと転送先ＶＭとの間における通信接続を確立する（図１５における「（ａ）接続の確立」）。次に、そのＬＭＳは、転送元ＶＭにおけるメモリに存在するビット列を、ページごとに転送先ＶＭにおけるメモリへ転送する（図１５における「（ｂ）メモリ領域の転送（全域）」）。ＬＭＳがメモリに存在するビット列を転送しているときに、そのメモリに存在するビット列が更新されると、その更新されたメモリ領域が存在するページ（以降、このページを「ＤｉｒｔｙＰａｇｅ」と表現する）について、ＤｉｒｔｙＰａｇｅフラグが設定される。
【０００６】
次に、そのＬＭＳは、各ＤｉｒｔｙＰａｇｅフラグが設定されているページを探し、ＤｉｒｔｙＰａｇｅを再度、転送先ＶＭに転送する。ただし、この転送中においてもメモリは更新されるため、更新が発生した場合には、ＤｉｒｔｙＰａｇｅフラグが、再度設定される。ＬＭＳは、ＤｉｒｔｙＰａｇｅフラグが存在しなくなるまで、転送先ＶＭに、ＤｉｒｔｙＰａｇｅを繰り返し転送する（図１５における「（ｃ）ＤｉｒｔｙＰａｇｅの反復転送」）。
【０００７】
そのＬＭＳは、未転送のメモリ領域量が所定の閾値を下回った場合に、強制的に転送元ＶＭを停止する（図１５における「（ｄ）転送元ＶＭの停止」）。それに伴って、転送元ＶＭが行っているソフトウェア等のサービスは、停止する。従って、転送元ＶＭが停止している間は、メモリ更新が行われない。ＬＭＳは、転送元ＶＭが停止している間に、ＤｉｒｔｙＰａｇｅを転送先ＶＭへコピーする。次に、そのＬＭＳは、転送先ＶＭを起動する。その後、転送先ＶＭは、転送元ＶＭにて稼動していたソフトウェア等のサービスを提供する（図１５における「（ｅ）ＶＭの移行完了」）。
【０００８】
このような処理を行う一般的なＬＭＳの一例として、例えば、特許文献１が開示するＬＭＳは、稼動しているサービスにおける動作特性を監視・利用しながら、影響が小さいタイミングにてデータを転送する。
【０００９】
また、特許文献２が開示するＬＭＳは、転送元ＶＭから転送するデータを、更新が発生する可能性がない固定データと更新が発生する可能性がある可変データとに分ける。次に、そのＬＭＳは、更新が発生する可能性がある可変データについて「論理コンテナ」を作成する。その後に、そのＬＭＳは、転送するデータを、論理コンテナを単位として、転送先ＶＭに転送する。
【００１０】
そして、特許文献３が開示するサーバ装置は、転送元ＶＭと転送先ＶＭとがそれぞれ参照しているストレージに、同じゲストＯＳのイメージをあらかじめ配置する。次に、そのサーバ装置は、移行時に各ゲストＯＳが使用しているメモリデータ・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）レジスタをコピーすることにより移行する。そのような処理を行うことにより、２つのＶＭがストレージを共有することを回避する。その理由は、広域ネットワークを経由するデータセンター等において、通信ネットワーク（以下、「ネットワーク」と略記する）の遅延等により、ストレージを共有することが困難な場合があるためである。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−１１６８５２号公報
【特許文献２】特開２００９−１１６８５９号公報
【特許文献３】特開２０１１−２１０１５１号公報
【非特許文献】
【００１２】
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｗｉｎ２ｋ／ｏｐｅｒａｔｉｏｎ／ｌｉｖｅｍｉｇ０１／ｌｉｖｅｍｉｇ０１＿０１．ｈｔｍｌ
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１あるいは特許文献２が開示するＬＭＳは、上述したようにライブマイグレーションを実現するために、転送元ＶＭを停止することがある。それに伴い、転送元ＶＭが提供していたサービスは、停止する。サービスが停止する影響は、大量のセッションを処理するような、メモリを更新する頻度が高く、かつリアルタイム応答性が求められる場合に大きい。例えば、リアルタイム応答性が要求される分野には、電話システムなどが存在する。
【００１４】
本発明の主たる目的は、サービスが停止する期間を低減する信号振り分けシステム等を提供することである。
【課題を解決するための手段】
【００１５】
前述の目的を達成するために、本発明に係る信号振り分けシステムは、以下の構成を備えることを特徴とする。
【００１６】
即ち、本発明に係る信号振り分けシステムは、
第１セッションにおいて発せられた制御信号を、前記第１セッションに関連付けされた第１の送り先に送信する第１処理を行うと共に、第２セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第２セッションに関連付けされた第２の送り先を変更する第２処理を行う制御信号送信部を
備えることを特徴とする。
【００１７】
また、本発明の他の見地として、本発明に係る信号振り分け方法は、
第１セッションにおいて発せられた制御信号を、前記第１セッションに関連付けされた第１の送り先に送信する第１処理を行うと共に、第２セッションに関連付けされたセッションデータが転送される処理が完了したことを検出した場合に、前記第２セッションに関連付けされた第２の送り先を変更する第２処理を行う
ことを特徴とすることを特徴とする。
【００１８】
また、同目的は、上記構成を有する信号振り分けシステムを、並びに対応する方法を、コンピュータを使って実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体を使っても達成される。
【発明の効果】
【００１９】
本発明に係る信号振り分けシステム等によれば、サービスが停止する期間を低減することができる。
【発明を実施するための形態】
【００２０】
次に、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２１】
＜第１の実施形態＞
転送元の装置（例えば、「転送元ＶＭ」などを表している。以降、単に「転送元」と表す）は、さまざまなサービスを提供する。提供されるサービスは、システム利用者、あるいは、システム利用者の作業を自動化した外部サーバー（以降、「ユーザ」と総称する）に対して、関連付けされたメモリ領域を割り当てる。そして、それらのサービスは、ユーザごとに割り当てられたメモリ領域を表すものとして、メモリ領域における区切りを指すポインタに関する情報（以降、「メモリマップ」と略記する）を保持している。
【００２２】
ユーザは、割り当てられたメモリ領域（図１には不図示：例えば、後述する図１４におけるメモリ１０２）に存在するデータを更新することを通じて、サービスとやり取りを行う（以降、サービスが提供されている期間中に、ユーザが割り当てられたメモリ領域に存在するデータを更新するという一連の行動等を「セッション」と表現する）。そして、ユーザに対してそれぞれ割り当てられたメモリ領域に存在するデータを、以下、「セッションデータ」と表現する。また、ユーザが、セッションにおいて行う一連の行動を、サービスに伝達するための電気的、電子的な信号として表し、それを「制御信号」と表現する。
【００２３】
図１は、本発明の第１の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。図１を参照すると、本発明の第１の実施形態に係る信号振り分けシステム１０は、制御信号送信部２５を備えている。
【００２４】
本発明の第１の実施形態に係る信号振り分けシステム１０は、転送元上で提供されているサービスに関連するソフトウェア（ＯＳ、アプリケーションプログラム等）が、転送先の装置（例えば、「転送先ＶＭ」などを表している。以降、単に「転送先」と表す）上においても、既に、セッションデータを含まない状態において起動しているという状況に設置される。
【００２５】
セッションデータ転送システム４８は、転送元から転送先へ、セッション単位ごとにセッションデータ３０をセッションデータ４５に転送する。次に、セッションデータ転送システム４８は、転送が完了した場合に、そのセッションを示す識別子とともに、係る転送が完了したことを示す信号を、制御信号送信部２５に送る。制御信号送信部２５は、その信号を検知すると、そのセッションに関連付けされた送り先を「転送先」に更新（設定、変更）する。
【００２６】
制御信号送信部２５は、セッションにおいて発せられた制御信号４０を、セッションと関連付けされた送り先に応じて送信する。図１を参照しながら、制御信号送信部２５が行う処理について説明を行う。制御信号送信部２５は、セッションにおいて発せられた制御信号４０を受け取る。
【００２７】
次に、制御信号送信部２５は、セッションにおいて発せられた制御信号４０を受信すると、そのセッションに関連付けされた送り先に、受け取った制御信号４０を送信する。
【００２８】
制御信号送信部２５における、セッションに関連付けされた送り先を更新する処理と、制御信号を送信する処理とは、お互いに非同期的に行われる。
【００２９】
即ち、本発明の第１の実施形態に係る信号振り分けシステムによれば、あるセッションに関連付いた送り先が「転送先」であれば、そのセッションに関連付けられた制御信号は、転送先にて実施される。また、あるセッションに関連付いた送り先が「転送元」であれば、そのセッションに関連付けられた制御信号は、転送元にて実施される。即ち、送り先が転送元であれば、セッションデータ３０が更新され、送り先が転送先であれば、セッションデータ４５が更新される。
【００３０】
次に、図２に示すフローチャートを参照しながら、第１の実施形態に係る信号振り分けシステムの処理について説明する。図２は、本発明の第１の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。
【００３１】
制御信号送信部２５は、セッションにおいて発せられた制御信号４０を受け取る（ステップＳ２５）と、そのセッションに関連付けされた送り先に対して制御信号４０を送信する（ステップＳ３５）。
【００３２】
それとともに、制御信号送信部２５は、セッションデータ転送システム４８からセッションデータの転送が完了したことを感知すると（ステップＳ１５にてＹＥＳと判定）、そのセッションに関連する送り先を「転送先」に更新する（ステップＳ２０）。制御信号送信部２５は、セッションデータ転送システム４８からセッションデータの転送が完了したことを感知しないと（ステップＳ１５にてＮＯと判定）、更新処理を行わない。
【００３３】
制御信号送信部２５は、全てのセッションデータの転送が完了したか否かを調べ（ステップＳ４０）、転送先である場合には、処理を完了する（ステップＳ４０にてＹＥＳと判定）。それ以外の場合（ステップＳ４０にてＮＯと判定）には、ステップＳ１５、あるいは、ステップＳ２５の処理に戻る。
【００３４】
特許文献１あるいは特許文献２が開示するシステムは、セッションとは関係なく、ある大きさの単位で、転送元におけるメモリに存在するデータを転送する。しかしながら、それらのシステムによれば、転送元におけるメモリに存在する全データの転送が完了するまでの間、転送先を起動できない。そのため、ユーザが行う更新は、全て転送元にて実施される。即ち、制御信号は、全て転送元に送信される。そのため、転送元において、既に転送先に転送が完了したメモリ領域上におけるデータですら、制御信号を受けると更新されてしまう。そのため、これらのシステムによれば、更新されたメモリ領域におけるデータを、再度、転送先に転送することが必要になる。
【００３５】
一方、本発明の第１の実施形態に係る信号振り分けシステムによれば、セッションに関連する送り先に応じて制御信号４０を送信している。そのため、転送元において、既に転送先に転送が完了したセッションデータ３０は、更新されない。そのため、「背景技術」欄において上述したようなシステムと比較して、本発明の第１の実施形態に係る信号振り分けシステム１０によれば、転送元におけるメモリに存在するデータを再度、転送する回数が減少することになる。
【００３６】
即ち、本発明の第１の実施形態に係る信号振り分けシステムによれば、サービスが停止する期間を低減することができる。
【００３７】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００３８】
図３を参照しながら、本発明の第２の実施形態に係る信号振り分けシステム１１について説明を行う。図３は、本発明の第２の実施形態に係る信号振り分けシステム１１が備える構成を示すブロック図である。図３を参照すると、本発明の第２の実施形態に係る信号振り分けシステム１１は、セッション情報管理部２０を更に備えている。
【００３９】
制御信号送信部２６は、図５に示すように、各セッションを表す識別子（以降、単に「識別子」と表す）と、そのセッションに関する制御信号を送信する送り先（以降、単に「送り先」と表す）とを関連付けして、セッション情報管理部２０に記憶する。図５は、本実施形態におけるセッション情報管理部２０が記憶する、識別子と制御信号を送信する送り先とを関連付けした参照テーブルを表した図である。まず、制御信号送信部２６は、全てのセッションに関連する送り先を「転送元」と設定する。
【００４０】
制御信号送信部２６は、セッションデータ転送システム４８からのデータ転送を完了したことを知らせる信号を受け取るたびに、セッション情報管理部２０における、そのセッションに関連する送り先を「転送先」に更新する。制御信号送信部２６は、それらの処理を、セッション情報管理部２０における全てのセッションに関連する送り先が「転送先」となるまで繰り返す。
【００４１】
制御信号送信部２６は、制御信号４０をセッション情報管理部２０における送り先に応じて送信する。図３を参照しながら、制御信号送信部２６が行う処理について説明を行う。
【００４２】
制御信号送信部２６は、セッションにおいて発せられた制御信号４０を受け取る。次に、制御信号送信部２６は、セッション情報管理部２０における参照テーブルから、制御信号４０に対応するセッションに関連付いた送り先を探す。次に、制御信号送信部２６は、受け取った制御信号４０を探索した送り先に送信する。
【００４３】
制御信号送信部２６における、セッション情報管理部２０の送り先を更新する処理と、制御信号を送信する処理とは、お互いに非同期的に行われる。
【００４４】
即ち、本発明の第２の実施形態に係る信号振り分けシステムによれば、あるセッションに関連付いた送り先が「転送先」であれば、そのセッションに関連付けられた制御信号４０は、転送先にて実施される。また、あるセッションに関連付いた送り先が「転送元」であれば、そのセッションに関連付けられた制御信号４０は、転送元にて実施される。即ち、送り先が転送元であれば、セッションデータ３０が更新され、送り先が転送先であれば、セッションデータ４５が更新される。
【００４５】
次に、図４のフローチャートを参照しながら、第２の実施形態に係る信号振り分けシステムの処理について説明する。図４は、本発明の第２の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。
【００４６】
制御信号送信部２６は、セッション情報管理部２０における送り先を全て転送元に設定する（ステップＳ１０）。次に、制御信号送信部２６は、セッションにおいて発せられた制御信号４０を受け取る（ステップＳ２５）と、セッション情報管理部２０を参照することにより、そのセッションに関連付いた送り先を読み取る（ステップＳ３２）。次に、制御信号送信部２６は、読み取った送り先に対して制御信号４０を送信する（ステップＳ３４）。
【００４７】
それとともに、制御信号送信部２６は、セッションデータ転送システム４８からセッションの転送が完了したことを感知すると（ステップＳ１５にてＹＥＳと判定）、セッション情報管理部２０における、そのセッションに関連する送り先を「転送先」に更新する（ステップＳ２１）。制御信号送信部２５は、セッションデータ転送システム４８からセッションデータの転送が完了したことを感知しないと（ステップＳ１５にてＮＯと判定）、更新処理を行わない。
【００４８】
本発明の第２の実施形態に係る信号振り分けシステムによれば、セッション情報管理部２０が記憶する参照テーブルに応じて制御信号４０を送信している。そのため、転送元において、既に転送先に転送が完了したセッションデータ３０は、更新されない。そのため、「背景技術」欄において上述したようなシステムと比較して、本発明の第２の実施形態に係る信号振り分けシステム１１によれば、転送元におけるメモリに存在するデータを再度、転送する回数が減少することになる。
【００４９】
即ち、本発明の第２の実施形態に係る信号振り分けシステムによれば、サービスが停止する期間を低減することができる。
【００５０】
＜第３の実施形態＞
次に、上述した第１あるいは第２の実施形態を基本とする第３の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００５１】
図６は、本発明の第３の実施形態に係る信号振り分けシステム１２の構成を示すブロック図である。図６を参照すると、本発明の第３の実施形態に係る信号振り分けシステム１２は、本発明の第２の実施形態に加え、さらに、セッションデータ転送部１５を備えている。
【００５２】
まず、セッションデータ転送部１５は、転送元上における各々のサービスが保持するメモリマップ３５を読み取る。そして、セッションデータ転送部１５は、転送先において対応するサービスが管理するメモリ領域上に、読み取ったメモリマップ３５に対応するメモリマップ４７を作成する。
【００５３】
次に、セッションデータ転送部１５は、セッションデータ３０ごとにデータを転送する。セッションデータ転送部１５は、その転送が完了すると、そのセッションを示す識別子とともに、完了したことを示す信号を制御信号送信部２６に送る。セッションデータ転送部１５は、その処理を全てのセッションデータの転送が完了するまで行う。
【００５４】
また、セッションデータ転送部１５がセッションデータを転送しているときに、そのセッションデータが更新されると、セッションデータ転送部１５は、再度、そのセッションデータを、転送元から転送先へ転送する。
【００５５】
さらに、図７を参照しながら、セッションデータ転送部１５が行う処理のフローについて説明する。図７は、本発明の第３の実施形態に係るセッションデータ転送部１５が実行する処理の手順を示すフローチャートである。
【００５６】
まず、セッションデータ転送部１５は、転送元上における各々のサービスが保持するメモリマップ３５を読み取る。そして、セッションデータ転送部１５は、転送先における対応するサービスが管理するメモリ領域上に、読み取ったメモリマップ３５に対応するようにメモリマップ４７を作成する（ステップＳ５０）。次に、セッションデータ転送部１５は、全てのセッションデータの転送が完了しているかを調べる（ステップＳ６０）。その転送が完了している場合には、（ステップＳ６０にてＹＥＳの判断）処理を完了する。
【００５７】
その転送が完了していない場合には、（ステップＳ６０にてＮＯの判断）、セッションデータ転送部１５は、転送元におけるセッションデータ３０を転送先におけるセッションデータ４５に転送する（ステップＳ７０）。セッションデータ転送部１５は、その転送が完了すると、そのセッションを示す識別子とともに、完了したことを示す信号を制御信号送信部２６に送る（ステップＳ８０）。
【００５８】
本発明の第３の実施形態に係る信号振り分けシステム１２が、本発明の第２の実施形態に係る信号振り分けシステムを基本としているとして説明を行ったが、本発明の第１の実施形態に係る信号振り分けシステムを基本とすることもできる。
【００５９】
即ち、本発明の第３の実施形態に係る信号振り分けシステム１２は、上述した第２の実施形態を基本としている。そのため、第３の実施形態に係る信号振り分けシステム１２においても、上述した第２の実施形態と同様の効果を得ることができる。即ち、本発明の第３の実施形態に係る信号振り分けシステムによれば、サービスが停止する期間を低減することができる。
【００６０】
＜第４の実施形態＞
次に、上述した第１乃至３の実施形態に係る信号振り分けシステム（１０、１１あるいは１２）を組み込んだ、ＬＭＳの動作について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００６１】
図９は、本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有する、ＬＭＳ７０が起動時に行う動作を表す概念図である。
図８は、本発明の第１乃至第３の実施形態に係る信号振り分けシステムを組み込んだＬＭＳ７０が行う処理の手順を示すフローチャートである。以下の説明においては、図８及び図９を、主に参照しながら、上述した第３の実施形態係る信号振り分けシステム１２を組み込んだ、ＬＭＳ７０が行う処理について説明する。
【００６２】
まず、ユーザは、転送元ＶＭにおいて稼動しているアプリケーションを、転送先ＶＭにおいても起動する（ステップＳ１１０）。次に、ユーザは、信号振り分けシステム１２をＬＭＳ７０に組み込み、転送元ＶＭへ入力されていた制御信号４０を信号振り分けシステム１２に切り替える（ステップＳ１２０）。
【００６３】
転送先ＶＭにて起動したアプリケーションが持つセッションデータは、その起動時に（初期状態）において、空の状態である（図９におけるメモリ６０）。次に、ユーザは、制御信号４０を転送元ＶＭあるいは転送先ＶＭに振分ける処理を行う信号振り分けシステム１２を、転送元ＶＭに設置する。
【００６４】
次に、信号振り分けシステム１２は、セッションデータを転送する場合の処理を行う（図７）。上述した説明と重複した説明を避けるため、図８では、簡易的に、ステップＳ１３０として記述している。即ち、信号振り分けシステム１２は、ステップＳ１３０において、上述したような、セッションデータを転送する処理と、制御信号を送信する処理とを行う。
【００６５】
信号振り分けシステム１２が転送を完了すると、ユーザは、転送元ＶＭを停止し（ステップＳ１４０）、信号振り分けシステム１２へ入力されていた制御信号を、転送先ＶＭへ入力するように切り替える（ステップＳ１５０）。その結果、ライブマイグレーション処理は、完了することになる。
【００６６】
次に、図９乃至図１２を参照しながら、本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有するＬＭＳ７０が、セッションデータを転送している場合の動作について動作を説明する。図９は、本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有するＬＭＳ７０の、起動時における動作を表す概念図である。図１０は、信号振り分けシステム１２を有するＬＭＳ７０の、データ転送時における動作を表す概念図である。図１１は、本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有するＬＭＳ７０のデータ転送完了時における動作を表す概念図である。図１２は、本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有するＬＭＳが、メモリマップ９０を作成するときの動作を示した概念図である。
【００６７】
図９を参照すると、ユーザは、転送元ＶＭにおいて稼動しているアプリケーションを、転送先ＶＭにおいて起動する（図９右側）。次に、ユーザは、信号振り分けシステム１２をＬＭＳ７０に組み込み、転送元ＶＭへ入力されていた制御信号を信号振り分けシステム１２へ切り替える（図９、信号振り分けシステム１２付近）。図９における、メモリ５０に存在する網がけ部分は、転送が完了していないデータを模式的に表している。
【００６８】
次に、セッションデータ転送部１５は、図１２に示すように、セッション情報管理部２０における送り先を全て転送元ＶＭに設定した後に、転送元ＶＭにおけるメモリマップ８０を読み取り、読み取った情報に対応するメモリマップ９０を、転送先ＶＭに作成する。
【００６９】
次に、信号振り分けシステム１２は、転送元ＶＭにおけるメモリ５０に存在するデータを、セッションごとに転送する。図１０においてメモリ６０に存在する網がけ部分は、転送が完了したデータを模式的に表している。上述したように、セッションデータ転送部１５は、セッション情報管理部２０における、転送が完了したセッションデータに関連付けされたセッションに関連付いた送り先を転送先ＶＭに設定する（図４、ステップＳ２１）。信号振り分けシステム１２が全データの転送を完了すると、ユーザは、転送元ＶＭを停止し（図１１、左側）、信号振り分けシステム１２へ入力されていた制御信号を転送先ＶＭに切り替える。
【００７０】
次に、実際例を示しながら、本発明の実施形態に係る信号振り分けシステムを組み込んだＬＭＳ７０の動作について説明する。アプリケーション（以降、「ＡＰ」と略記する）セッション制御方法として、セッションごとに独立したデータを持つＳｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  サーバ（以降、「ＳＩＰサーバ」と略記する）、アプリケーションサーバ、Ｗｅｂサーバなどが可能である。
【００７１】
以下、セッション制御アプリケーションとしてＳＩＰサーバ、ハイパーバイザとしてＫｅｒｎｅｌ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（以降、「ＫＶＭ」と略記する）、信号振り分けシステム１２として仮想的にスイッチ機能を提供するｖｉｒｔｕａｌ  ｓｗｉｔｃｈ（以降、「ｖＳｗｉｔｃｈ」と略記する）を用いた例で説明する。また、図１３に示すように、メモリ機能は、ＶＭ間共有メモリ機能（以降、「ｉｖｓｈｍｅｍ」と略記する）により実現されているとする。
【００７２】
一般に、ＳＩＰサーバは、各セッションに応じて、セッションデータ（図９におけるメモリ５０）を持つ。ＳＩＰサーバの場合、メモリマップ８０（あるいは、９０）に関する情報としては、ＳＩＰサーバの信号内にある発信者識別番号を使うことができる。
【００７３】
ユーザは、転送元ＶＭにおいて起動しているＳＩＰサーバと同一のＳＩＰサーバを、転送先ＶＭにおいて起動する。転送先ＶＭにおいてＳＩＰサーバが持つセッションデータは（図９におけるメモリ６０）、起動した直後において、空の状態である。次に、ユーザは、制御信号４０を転送先ＶＭあるいは転送先ＶＭに振分ける処理を行うｖＳｗｉｔｃｈ（図９における信号振り分けシステム１２）を設置する。次に、ユーザは、転送元ＶＭに繋がれていた制御信号４０の送り先を、ｖＳｗｉｔｃｈへ切り替える。
【００７４】
まず、ｖＳｗｉｔｃｈは、全ての制御信号４０を、転送元へ送信する設定を行うようにセッション情報管理部２０を設定する（図４におけるステップＳ１０）。その結果、ｖＳｗｉｔｃｈは、そのセッション情報に従い、入力された制御信号４０を全て転送元ＶＭへ出力する。次に、ｖＳｗｉｔｃｈは、転送元ＶＭにおいてＳＩＰサーバが持つメモリマップ８０に対応するメモリマップ９０を、転送先ＶＭに作成する（図７におけるステップＳ５０）。
【００７５】
次に、ｖＳｗｉｔｃｈは、セッションデータ（図９におけるメモリ５０）を、メモリマップ８０あるいはメモリマップ９０に基づき、セッション単位で、転送先ＶＭにおけるＳＩＰサーバが持つセッションデータ（図９におけるメモリ６０）に転送を行う（図７におけるステップＳ７０）。ｖＳｗｉｔｃｈにおける制御信号送信部２６は、転送先ＶＭへセッションデータが転送し終えたことを感知する（図４におけるステップＳ１５）と、セッション情報管理部２０において、そのセッションに関する送り先を、転送先に変更（設定）する（図４におけるステップＳ２１）。
【００７６】
それとともに、ｖＳｗｉｔｃｈにおける制御信号送信部２６は、制御信号４０を受け取る（図４におけるステップＳ２５）と、セッション情報管理部２０の送り先を読み取る（図４におけるステップＳ３２）。次に、制御信号送信部２６、読み取った送り先へ、制御信号４０を送信する（図４におけるステップＳ３４）。即ち、ｖＳｗｉｔｃｈにおける制御信号送信部２６は、セッションデータの転送完了を検知する前である場合には、制御信号４０を転送元ＶＭに送信する。ｖＳｗｉｔｃｈは、セッションデータの転送完了を検知した後である場合には、制御信号４０を転送先ＶＭに送信する。
【００７７】
ユーザは、ｖＳｗｉｔｃｈの処理が完了した後、転送元ＶＭを停止する。その後、ユーザは、設置したｖＳｗｉｔｃｈを除去した後、ｖＳｗｉｔｃｈに繋がれていた制御信号の送り先を転送先ＶＭに変更する。
【００７８】
この方法により、ユーザは、ライブマイグレーションを行うときに、転送元ＶＭあるいは転送先ＶＭにおけるアプリケーションを改修する必要がない。
【００７９】
アプリケーションの例や、ｖＳｗｉｔｃｈの構成などは、上述した例に限られない。
【００８０】
即ち、本発明に係る信号振り分けシステム１２を有するＬＭＳ７０によれば、サービスの停止期間を低減することができる。
【００８１】
上記説明においては、第３の実施形態に係る信号振り分けシステム１２を組み込んだＬＭＳ７０の動作を説明したが、この説明は、第１および第２の実施形態に係る信号振り分けシステム（１０あるいは１１）を組み込んだＬＭＳ７０の場合にも同様である。
【００８２】
（ハードウェア構成例）
次に、上述した各実施形態における信号振り分けシステムを、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係る信号振り分けシステムは、物理的または、機能的に少なくとも２種類の計算処理装置を用いて実現してもよい。また、係る信号振り分けシステムは、専用の装置として実現してもよい。
【００８３】
図１４は、本発明の第１乃至第３の実施形態に係る信号振り分けシステム、または、第４の実施形態に係るライブマイグレーションシステムを実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メモリ１０２、ディスク１０３、出力装置１０４、および入力装置１０５を有する。
【００８４】
即ち、ＣＰＵ１０１は、ディスク１０３が記憶しているソフトウェア・プログラム（コンピュータ・プログラム、以下、単にプログラムと称する）を、実行時にメモリ１０２にコピーし、演算処理を実行する。ＣＰＵ１０１は、プログラム実行に必要なデータをメモリ１０２から読み込む。表示が必要な場合に、ＣＰＵ１０１は、出力装置１０４に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ１０１は、入力装置１０５からプログラムを読み取る。メモリ１０２は、上記各実施形態において上述したメモリ領域等を保持している。ＣＰＵ１０１は、メモリ１０２にある信号振り分けプログラム解釈し実行を行う。ＣＰＵ１０１は、上述した各実施形態において参照したフローチャート（図２、図４、図７、図８）に応じた処理を順次行う。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。
【図３】本発明の第２の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。
【図４】本発明の第２の実施形態に係る信号振り分けシステムが実行する処理の手順を示すフローチャートである。
【図５】本発明の第２の実施形態におけるセッション情報管理部が記憶する、セッションとデータの送り先の関連を表した参照テーブルを概念的に表した図である。
【図６】本発明の第３の実施形態に係る信号振り分けシステムが備える構成を示すブロック図である。
【図７】本発明の第３の実施形態に係る信号振り分けシステムにおけるセッションデータ転送部が実行する処理の手順を示すフローチャートである。
【図８】本発明の第１乃至第３の実施形態に係る信号振り分けシステムを組み込んだライブマイグレーションシステムが行う処理の手順を示すフローチャートである。
【図９】本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムの起動時における動作を表す概念図である。
【図１０】本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムのデータ転送時における動作を表す概念図である。
【図１１】本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムのデータ転送完了時における動作を表す概念図である。
【図１２】本発明の第１乃至第３の実施形態に係る信号振り分けシステムを有する、ライブマイグレーションシステムにおいて、メモリマップを作成するときの動作を示した概念図である。
【図１３】本発明の第１乃至第３の実施形態に係る信号振り分けシステムとアプリケーションとが連携する様子を概念的に示した図である。
【図１４】本発明の第１乃至第３の実施形態に係る信号振り分けシステム、または、第４の実施形態に係るライブマイグレーションシステムを実現可能な計算処理装置が備えるハードウェア構成を概略的に示すブロック図である。
【図１５】ライブマイグレーション中にサービスが停止するライブマイグレーションシステムが行う処理を、概念的に示した図である。
【符号の説明】
【００８６】
１０    信号振り分けシステム
１１    信号振り分けシステム
１２    信号振り分けシステム
１５    セッションデータ転送部
２０    セッション情報管理部
２５    制御信号送信部
２６    制御信号送信部
３０    セッションデータ
３５    メモリマップ
４０    制御信号
４５    セッションデータ
４７    メモリマップ
４８    セッションデータ転送システム
５０    メモリ
６０    メモリ
７０    ＬＭＳ
８０    メモリマップ
９０    メモリマップ
１００    計算処理装置
１０１    ＣＰＵ
１０２    メモリ
１０３    ディスク
１０４    出力装置
１０５    入力装置
【図１】
2013200805.tif 000003
【図２】
2013200805.tif 000004
【図３】
2013200805.tif 000005
【図４】
2013200805.tif 000006
【図５】
2013200805.tif 000007
【図６】
2013200805.tif 000008
【図７】
2013200805.tif 000009
【図８】
2013200805.tif 000010
【図９】
2013200805.tif 000011
【図１０】
2013200805.tif 000012
【図１１】
2013200805.tif 000013
【図１２】
2013200805.tif 000014
【図１３】
2013200805.tif 000015
【図１４】
2013200805.tif 000016
【図１５】
2013200805.tif 000017