(57)【要約】【課題】ＣプレーンとＤプレーンが一体化したシステムの分散処理技術適用において、アプリケーション起動遅延によるＤプレーンの断時間の増大を削減する分散処理システムに用いられるサーバ装置、分散処理方法およびプログラムを提供する。【解決手段】分散処理システム１に用いられるサーバ装置３０は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信する切替完了受信部３３４と、完了通知を受信するまでは、移動元のアプリケーション処理を継続させるアプリケーション停止処理判断部３３３と、を備える。【選択図】図２
2019219976.tif 000002
【特許請求の範囲】
【請求項１】
自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置であって、
前記サーバ装置は、
前記他のサーバ装置へのミドルウェアの引継ぎ処理の完了通知を受信する完了通知受信手段と、
前記完了通知を受信するまでは、自身のアプリケーション処理を継続させるアプリケーション停止判断手段と、を備える
ことを特徴とするサーバ装置。
【請求項２】
前記アプリケーション停止判断手段は、
前記他のサーバ装置へのミドルウェアの引継ぎ処理と、移動先のアプリケーションの初期化処理の後、自身のアプリケーションプロセスを終了する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置であって、
前記サーバ装置は、
前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするアプリケーション開始処理手段を備える
ことを特徴とするサーバ装置。
【請求項４】
前記アプリケーション開始処理手段は、
自身のアプリケーションプロセス終了後に、前記他のサーバ装置へのミドルウェアの引継ぎ処理およびサービスの切り替え処理を行う
ことを特徴とする請求項３に記載のサーバ装置。
【請求項５】
自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置による分散処理方法であって、
前記サーバ装置が、
前記他のサーバ装置へのミドルウェアの引継ぎ処理の完了通知を受信するステップと、
前記完了通知を受信するまでは、自身のアプリケーション処理を継続させるステップと、
を実行することを特徴とする分散処理方法。
【請求項６】
自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置による分散処理方法であって、
前記サーバ装置が、
前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするステップ
を実行することを特徴とする分散処理方法。
【請求項７】
自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置としてのコンピュータを、
前記他のサーバ装置へのミドルウェアの引継ぎ処理の完了通知を受信する完了通知受信手段、
前記完了通知を受信するまでは、自身のアプリケーション処理を継続させるアプリケーション停止判断手段、
として機能させるためのプログラム。
【請求項８】
自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置としてのコンピュータを、
前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするアプリケーション開始処理手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理システムに用いられるサーバ装置、分散処理方法およびプログラムに関する。
【背景技術】
【０００２】
スケールアウトや可用性向上を目的に分散処理技術を行うことが注目を集めている。
OpenFlowは、OpenFlowコントローラとOpenFlowスイッチとから構成される。OpenFlowコントローラでは、複数のOpenFlowスイッチの動作を一括して管理できる。経路制御の機能は「Control Plane」（Ｃプレーン）が、データ転送の機能は「Data Plane」（Ｄプレーン）が担う。
通信システムに対する分散処理技術は、Ｃプレーンを主な適用先としてきた。一方、Ｄプレーンの断の発生がシステムの品質に大きな影響を与えるものがある。例えば、電話会議システムは、ＲＴＰ（Real time Transport Protocol）などを用いて音声や動画などのデータ転送を行う。Ｄプレーンの断時間の増大は、電話会議システムの品質に大きな影響を与える。
【０００３】
図１２は、従来の分散処理システムを模式的に示す機能ブロック図である。
図１２に示すように、分散処理システム１は、電話端末（ＳＩＰ Ｕser Ａgent）（ユーザ端末装置）２と、ロードバランサ（ＬＢ：Load balancer）３と、会議サーバ４ａを有するクラスタメンバ４と、複製された会議サーバ５ａを有するクラスタメンバ５と、を含んで構成される。
電話端末２は、ロードバランサ３を介してクラスタメンバ４とクラスタメンバ５とでＳＩＰ（Session Initiation Protocol）を用いてやり取りを行う。電話端末２とクラスタメンバ４およびクラスタメンバ５間は、ＲＴＰを用いて直接やり取りを行う。電話端末２は、ＳＩＰを用いてやり取りを行うことで、ＲＴＰの処理遅延やシステム内の処理増を防いでいる。
【０００４】
従来、呼信号を複数のサーバ装置で分散処理する分散処理システムでは、ミドルウェア内の機能部が呼信号に関する情報を保持していることが前提である（特許文献１参照）。すなわち、呼の処理に対する状態はアプリケーションで保持せずに、ミドルウェア内に保持させる。
このような従来の分散処理システムの減設時の動作は、次の通りである。分散処理システムが、自身で保持している処理状態データを他のサーバ装置に複製として作成し、減設指示が生じた際、その複製が原本に昇格し、そのサーバ装置に処理が振り分けられることによって、処理の継続が可能となる。
【０００５】
特許文献１には、クラスタを構成する複数のノードのいずれかが、クライアントにサービスを提供するためのデータを原本データとして記憶する所有者ノード、または、前記データの複製データを記憶する１つ以上の複製ノードとして割り当てられて記憶するデータ移行処理システムが記載されている。
【０００６】
特許文献２には、ネットワークを介して、対向装置に対し、分散処理によって、セッションを構成するデータを送受信して所定のファイルに基づいてサービスを提供する複数の第１のサーバと、前記所定のファイルを更新したファイルである新ファイルを取得した場合、前記複数の第１のサーバに代わって、前記新ファイルに基づいて前記サービスを提供する複数の第２のサーバと、を有するサービス提供システムが記載されている。
【０００７】
アプリケーションは、stateを持つが、このstateは分散処理によって引き継がれず、別の手段（別の場所にあるデータベースの情報を利用するなど）で生成される。
ミドルウェアのstateは、定期的に引き継がれる。保守コマンドによる原本移動が生じた際にも、引き継がれる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１４−４１５５０号公報
【特許文献２】特開２０１１−９６１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、アプリケーションのstateは分散処理によって引き継がれず、別の場所にあるデータベースの情報を利用するなどで生成されるので、アプリケーション起動遅延によるＤプレーンの断時間が増大するという課題がある。
【００１０】
このような背景を鑑みて本発明がなされたのであり、本発明は、ＣプレーンとＤプレーンが一体化したシステムの分散処理技術適用において、アプリケーション起動遅延によるＤプレーンの断時間の増大を削減する分散処理システムに用いられるサーバ装置、分散処理方法およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１１】
前記した課題を解決するため、請求項１に記載の発明は、自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置であって、前記サーバ装置は、前記他のサーバ装置へのミドルウェアの引継ぎ処理の完了通知を受信する完了通知受信手段と、前記完了通知を受信するまでは、自身のアプリケーション処理を継続させるアプリケーション停止判断手段と、を備えることを特徴とするサーバ装置とした。
【００１２】
また、請求項５に記載の発明は、自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置による分散処理方法であって、前記サーバ装置が、前記他のサーバ装置へのミドルウェアの引継ぎ処理の完了通知を受信するステップと、前記完了通知を受信するまでは、自身のアプリケーション処理を継続させるステップと、を実行することを特徴とする分散処理方法とした。
【００１３】
また、請求項７に記載の発明は、自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置としてのコンピュータを、前記他のサーバ装置へのミドルウェアの引継ぎ処理の完了通知を受信する完了通知受信手段、前記完了通知を受信するまでは、自身のアプリケーション処理を継続させるアプリケーション停止判断手段、として機能させるためのプログラムである。
【００１４】
このようにすることで、移動先でアプリケーションの起動が完了した後、移動前でアプリケーションが終了できるよう、アプリケーション終了時間を遅らせることができる。このため、分散処理システムにおけるサーバ装置が減設された場合に、既存の処理は切断されることなく継続することができる。例えば、Ｄプレーンは電話と直接やりとりしているため、アプリケーションが終了しなければ通話続行可能である。また、通話中断時間は、ほぼ瞬断で済む。その結果、ＣプレーンとＤプレーンが一体化したシステムの分散処理技術適用において、アプリケーションのstateが引き継がれないことによるアプリケーション起動遅延によるＤプレーンの断時間の増大を削減することができる。
このように、ミドルウェアもアプリケーションもstateを持つようなアプリケーションを分散処理基盤に適用した場合の切り替え時間を削減することができる。
【００１５】
また、請求項３に記載の発明は、自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置であって、前記サーバ装置は、前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするアプリケーション開始処理手段を備えることを特徴とするサーバ装置とした。
【００１６】
また、請求項６に記載の発明は、自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置による分散処理方法であって、前記サーバ装置が、前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするステップを実行することを特徴とする分散処理方法とした。
【００１７】
また、請求項８に記載の発明は、自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続する分散処理システムに用いられるサーバ装置としてのコンピュータを、前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするアプリケーション開始処理手段、として機能させるためのプログラムである。
【００１８】
このようにすることで、移動先になる複製を、複製作成時から予めアプリケーションを起動しておくことで、アプリケーション起動遅延による切り替え時間の増大を防ぐことができる。ＣプレーンとＤプレーンが一体化したシステムの分散処理技術適用において、アプリケーションのstateが引き継がれないことによるアプリケーション起動遅延によるＤプレーンの断時間の増大を削減することができる。
また、故障時の切り替え時間も削減することができる。
このように、ミドルウェアもアプリケーションもstateを持つようなアプリケーションを分散処理基盤に適用した場合の切り替え時間を削減することができる。
【００１９】
また、請求項２に記載の発明は、前記アプリケーション停止判断手段が、前記他のサーバ装置へのミドルウェアの引継ぎ処理と、移動先のアプリケーションの初期化処理の後、自身のアプリケーションプロセスを終了することを特徴とする請求項１に記載のサーバ装置とした。
【００２０】
このようにすることで、移動先のアプリケーションから移動後のアプリケーションへ切り替え完了の通知を行うことで、移動先でアプリケーションの起動が完了した後、移動前でアプリケーションが終了できるよう、アプリケーション終了時間を遅らせることができる。
【００２１】
また、請求項４に記載の発明は、前記アプリケーション開始処理手段が、自身のアプリケーションプロセス終了後に、前記他のサーバ装置へのミドルウェアの引継ぎ処理およびサービスの切り替え処理を行うことを特徴とする請求項３に記載のサーバ装置とした。
【００２２】
このようにすることで、移動元のアプリケーションプロセス終了後に、移動元から移動先へのミドルウェアの引継ぎ処理およびサービスの切り替え処理を行うことで、移動先のアプリケーションはアクト状態で立ち上げておくことができる。
【発明の効果】
【００２３】
本発明によると、ＣプレーンとＤプレーンが一体化したシステムの分散処理技術適用において、アプリケーション起動遅延によるＤプレーンの断時間の増大を削減する分散処理システムに用いられるサーバ装置、分散処理方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係る分散処理システムを模式的に示す機能ブロック図である。
【図２】上記第１の実施形態に係る分散処理システムのサーバ装置の移動前クラスタメンバおよび移動後クラスタメンバのアプリケーション部およびミドルウェア部の機能ブロック図である。
【図３】上記第１の実施形態に係る分散処理システムのサーバ装置の移動前クラスタメンバのミドルウェア部によって実行される、ミドルstate引継ぎ完了通知による原本プロセス停止遅延判断を示すフローチャートである。
【図４】上記第１の実施形態に係る分散処理システムのサーバ装置の移動前クラスタメンバのミドルウェア部によって実行される、切替完了通知による原本プロセス停止遅延判断を示すフローチャートである。
【図５】上記第１の実施形態と比較する比較例の分散処理システムの保守コマンド時の動作を示す制御シーケンス図である。
【図６】上記第１の実施形態に係る分散処理システムのサーバ装置の保守コマンド時の動作を示す制御シーケンス図である。
【図７】本発明の第２の実施形態に係る分散処理システムの移動前クラスタメンバおよび移動後クラスタメンバのアプリケーション部およびミドルウェア部の機能ブロック図である。
【図８】上記第２の実施形態に係る分散処理システムのサーバ装置の移動後クラスタメンバのミドルウェア部によって実行される、複製アプリケーション開始判断を示すフローチャートである。
【図９】上記第２の実施形態に係る分散処理システムのサーバ装置の保守コマンド時の動作を示す制御シーケンス図である。
【図１０】上記第２の実施形態と比較する比較例の分散処理システムの故障時の動作を示す制御シーケンス図である。
【図１１】上記第２の実施形態に係る分散処理システムのサーバ装置の故障時の動作を示す制御シーケンス図である。
【図１２】従来の分散処理システムを模式的に示す機能ブロック図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して本発明を実施するための形態（以下、「本実施形態」という）における分散処理システムに用いられるサーバ装置等について説明する。
（第１の実施形態）
図１は、本発明の実施形態に係る分散処理システムを模式的に示す機能ブロック図である。
図１に示すように、本発明の実施形態に係る分散処理システム１は、複数のユーザ端末装置１０（１０Ａ，１０Ｂ，１０Ｃ，…）間のセッションを成立させるための呼信号を複数のサーバ装置３０（３０Ａ，３０Ｂ，３０Ｃ，…）（クラスタメンバ）によって分散処理するシステムである。分散処理システム１は、複数のユーザ端末装置１０と通信可能に接続されるバランサ装置２０と、バランサ装置２０および他のサーバ装置３０と通信可能に接続される複数のサーバ装置３０と、を備える。
また、分散処理システム１の外部には、分散処理システム１からの減設指示を受けて、減設対象のサーバ装置３０を減設する外部データベースサーバ部４０が設置される。
【００２６】
<バランサ装置>
バランサ装置２０は、ユーザ端末装置１０によって送信された呼信号を受信し、受信された呼信号を単純な規則で複数のサーバ装置３０のいずれかに送信する、いわゆるロードバランサ（ＬＢ：Load balancer）である。
【００２７】
<サーバ装置>
サーバ装置（ＶＭ：Virtual Machine）３０は、ユーザ端末装置１０によって送信された呼信号をバランサ装置２０を介して受信し、受信された呼信号をハッシュ化したハッシュ値に基づいて、当該呼信号を自サーバ装置３０を含む複数のサーバ装置３０（すなわち、分散処理システム１に既設のサーバ装置３０）のいずれかに振り分ける（転送する）。サーバ装置３０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）、入出力回路等によって構成されており、機能部として、アプリケーション部３１と、アプリケーション部３１用の記憶部３２と、ミドルウェア部３３と、ミドルウェア部３３用の記憶部３４（記憶手段）と、を備える。
なお、サーバ装置３０には、呼を処理するＳＩＰ（Session Initiation Protocol）サーバ、呼以外の処理を行う、例えばＷｅｂサーバが挙げられる。
【００２８】
<アプリケーション部>
アプリケーション部３１は、サーバ装置３０のＣＰＵのうち、アプリケーションの機能を実行する機能部である。アプリケーション部３１は、呼信号に関する情報を記憶部３２に記憶させる。アプリケーション部３１は、記憶部３２に記憶された呼信号に関する情報に基づいて、後記するミドルウェア部３３によって自サーバ装置３０に振り分けられた呼信号によるセッションの制御を行う。
【００２９】
<ミドルウェア部>
ミドルウェア部３３は、サーバ装置３０のＣＰＵのうち、ミドルウェアの機能を実行する機能部である。ミドルウェア部３３は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信するまでは、移動元のアプリケーション処理を継続させる（詳細後記）。ミドルウェア部３３は、自サーバ装置３０によって取得された呼信号に含まれるユーザ端末装置ＩＤをハッシュ化することによってハッシュ値を算出し、算出されたハッシュ値と予め設定された振り分け規則とに基づいて、自サーバ装置３０によって取得された呼信号を、自サーバ装置３０を含む複数のサーバ装置３０のいずれかへ振り分ける（転送する）。
【００３０】
電話端末（ユーザ端末装置）１０は、バランサ装置２０を介してサーバ装置３０（クラスタメンバ）とでＳＩＰを用いてやり取りを行う（図１の符号ａ〜ｄ参照）。電話端末１０とサーバ装置３０（クラスタメンバ）間は、バランサ装置２０を介さず、ＲＴＰを用いて直接やり取りを行う（図１の符号ｅ参照）。また、サーバ装置３０（クラスタメンバ）と外部データベースサーバ部４０は、バランサ装置２０を介さず、ＲＴＰを用いて直接やり取りを行う（図１の符号ｆ参照）。
【００３１】
本実施形態では、既存処理として「呼」を例に採る。このため、既存処理ＩＤデータベース３４ａに記憶される既存処理ＩＤは、現時点でセッションが成立している既存呼の呼信号に含まれるユーザ端末装置ＩＤ、すなわちコールＩＤである。図１の例では、減設対象のサーバ装置３０は、減設対象サーバ装置３０Ａである（減設対象のサーバ装置３０を、減設対象サーバ装置３０Ａとして説明する）。
【００３２】
<クラスタメンバの詳細機能>
図２は、移動前クラスタメンバおよび移動後クラスタメンバのアプリケーション部３１およびミドルウェア部３３の機能ブロック図である。
移動前サーバ装置３０を、移動前クラスタメンバ３０Ａ、また、移動後サーバ装置３０を、移動後クラスタメンバ３０Ｂとして説明する。
図２に示すように、移動前クラスタメンバ３０Ａは、アプリケーション部３１が減設前アプリケーション固有処理部３１１と、原本プロセス停止部３１２と、を備える。
移動前クラスタメンバ３０Ａは、従来技術の減設前に実行するアプリケーション固有処理を、減設前アプリケーション固有処理部３１１と、原本プロセス停止部３１２とに分離する。
減設前アプリケーション固有処理部３１１は、減設前に実行するアプリケーション固有処理を行う。
【００３３】
原本プロセス停止部３１２は、アプリケーション停止処理判断部３３３（アプリケーション停止判断手段）からの通知（原本プロセス停止指示）に従って、原本プロセスを停止する。
移動前クラスタメンバ３０Ａは、ミドルウェア部３３がミドルstate引継ぎ完了通知受信部３３１と、原本削除依頼受信・アプリケーション通知部３３２と、アプリケーション停止処理判断部３３３と、切替完了受信部３３４（完了通知受信手段）と、を備える。
ミドルstate引継ぎ完了通知受信部３３１は、減設前アプリケーション固有処理部３１１からミドルstate引継ぎ完了通知受信し、アプリケーション停止処理判断部３３３に通知する。
原本削除依頼受信・アプリケーション通知部３３２は、原本削除依頼受信・アプリケーションを原本プロセス停止部３１２に通知する。
アプリケーション停止処理判断部３３３は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信するまでは、移動元のアプリケーション処理を継続させる。
切替完了受信部３３４は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信する。
【００３４】
移動後クラスタメンバ３０Ｂは、アプリケーション部３１が原本昇格完了通知部３１３を備える。
原本昇格完了通知部３１３は、原本昇格完了を切替完了通知部３３５に通知する。
移動後クラスタメンバ３０Ｂは、ミドルウェア部３３が切替完了通知部３３５を備える。
切替完了通知部３３５は、切替完了受信部３３４に、移動元から移動先へのミドルウェアの引継ぎ処理の完了を通知する。
なお、アプリケーション停止処理判断部３３３、切替完了受信部３３４、および切替完了通知部３３５は、従来技術に追加された機能部である。
【００３５】
以下、上述のように構成された分散処理システム１の動作を説明する。
［クラスタメンバの動作］
まず、図３、図４のフローを参照して、サーバ装置３０（クラスタメンバ）のミドルウェア部３３の動作例について具体的に説明する。
<原本プロセス停止遅延判断>
図３は、移動前クラスタメンバ３０Ａのミドルウェア部３３によって実行される、ミドルstate引継ぎ完了通知による原本プロセス停止遅延判断を示すフローチャートである。
まず、ステップＳ１でミドルstate引継ぎ完了通知受信部３３１（図２参照）は、移動前クラスタメンバ３０Ａのアプリケーション部３１から完了通知を受信する。
ステップＳ２でアプリケーション停止処理判断部３３３（図２参照）は、タイマの計時を開始する。このタイマは、何らかの理由でアプリケーション停止のための完了通知が受け取れなかった場合、タイムアウト処理を行うものである。
ステップＳ３でアプリケーション停止処理判断部３３３は、原本プロセス停止遅延コンフィグ値がＯＦＦ、切り替え完了通知受信、またはタイマが閾値を超える、のいずれかの条件に該当するか否かを判定する。
【００３６】
上記原本プロセス停止遅延コンフィグ値の設定について説明する。
上記原本プロセス停止遅延コンフィグ値は、各アプリケーション特性や使用用途に基づき以下を考慮して、保守者が判断し設定する。
原本プロセス停止遅延コンフィグ値をＯＮにしておくことで、原本プロセス停止した後から切り替えが完了するまでにアプリケーション状態の変更があった場合、移動前クラスタメンバ３０Ａではアプリケーション状態変更が実行されるが、移動後クラスタメンバ３０Ｂには変更が引き継がれない。
ちなみに、従来技術においては、アプリケーション状態の変更を受け付けない期間である。
上記原本プロセス停止遅延コンフィグ値の設定は、アプリケーション状態の変更発生頻度が低い運用形態時に使用する。
【００３７】
図３のフローに戻って、上記ステップＳ３に示す原本プロセス停止遅延コンフィグ値がＯＦＦ、切り替え完了通知受信、またはタイマが閾値を超える、条件のいずれにも該当しない場合（ステップＳ３：Ｎｏ）、ステップＳ３に戻り判定を続ける。
上記条件のいずれかに該当する場合（ステップＳ３：Ｙｅｓ）、ステップＳ４でアプリケーション停止処理判断部３３３は、移動前クラスタメンバ３０Ａの原本プロセス停止部３１２に原本プロセス停止指示を通知して本フローの処理を終了する。
【００３８】
<プロセス停止遅延判断>
図４は、移動前クラスタメンバ３０Ａのミドルウェア部３３によって実行される、切替完了通知による原本プロセス停止遅延判断を示すフローチャートである。
ステップＳ１１で切替完了受信部３３４（図２参照）は、アプリケーション停止処理判断部３３３に切替完了を通知する。
ステップＳ１２でアプリケーション停止処理判断部３３３（図２参照）は、タイマの計時を開始する。
ステップＳ１３でアプリケーション停止処理判断部３３３は、ミドルstate引継ぎ処理を実行する。
ステップＳ１４でアプリケーション停止処理判断部３３３は、移動後クラスタメンバ３０Ｂのミドルウェア部３３の切替完了通知部３３５（図２参照）から切替完了通知受信するか、または上記タイマが設定値を超えるか否かを判定する。
【００３９】
上記切替完了通知受信するか、または上記タイマが設定値を超える条件のいずれにも該当しない場合（ステップＳ１４：Ｎｏ）、ステップＳ１４に戻り判定を続ける。
上記切替完了通知受信するか、または上記タイマが設定値を超えた場合（ステップＳ１４：Ｙｅｓ）、ステップＳ１５でアプリケーション停止処理判断部３３３は、移動前クラスタメンバ３０Ａの原本プロセス停止部３１２に原本プロセス停止指示を通知して本フローの処理を終了する。
【００４０】
［分散処理システムの動作］
次に、分散処理システム１の動作について説明する。
［比較例］
図５は、比較例の分散処理システムの保守コマンド時の動作を示す制御シーケンス図である。なお、アプリケーション処理として「呼」を例に採る。
図５の比較例において、クラスタメンバ＃１が移動前クラスタメンバ、クラスタメンバ＃２が移動後クラスタメンバである。図５のクラスタメンバ＃１のミドルウェア部５３は、図２のミドルウェア部３３からアプリケーション停止処理判断部３３３、切替完了受信部３３４、および切替完了通知部３３５を、取り去った、従来機能部である。また、図５のクラスタメンバ＃１のアプリケーション部５１は、図２のアプリケーション部３１から減設前アプリケーション固有処理部３１１と原本プロセス停止部３１２とを取り去ったものである。
【００４１】
<通話中>
保守機構６は、ネットワークを構成する回線や機材、遠隔地の設備などを監視・管理するための機器などを設置し、管理者が監視や運用、保守などを行う。
図５に示すように、管理者は、保守機構６に保守コマンドを入力する（ステップＳ１０１）。保守機構６は、この保守コマンドを受けて、移動前クラスタメンバ＃１のミドルウェア部５３に原本削除を依頼する（ステップＳ１０２）。
移動前クラスタメンバ＃１のミドルウェア部５３は、移動前クラスタメンバ＃１のアプリケーション部５１に原本移動を通知する（ステップＳ１０３）。
アプリケーション部５１は、「原本移動通知」を受けてアプリケーション固有処理を実行する（ステップＳ１０４）。なお、図５の白抜きのブロックは、処理の継続期間を表している（以下同様の表記）。
アプリケーション固有処理により「原本プロセス停止」となり（ステップＳ１０５）、通話が中断する（図５のｇ印参照）。以下、「呼」の振り分けが完了（後記ステップＳ１１８）するまでが通話中断時間となる。
【００４２】
<通話中断時間>
移動前クラスタメンバ＃１のアプリケーション部５１は、移動前クラスタメンバ＃１のミドルウェア部５３に「原本昇格完了」を送信する（ステップＳ１０６）。
移動前クラスタメンバ＃１のミドルウェア部５３は、「原本昇格完了」を受けて、移動後クラスタメンバ＃２のミドルウェア部５３に「ミドルstate引継ぎ」を送信する（ステップＳ１０７）。
【００４３】
移動後クラスタメンバ＃２のミドルウェア部５３は、移動前クラスタメンバ＃１のミドルウェア部５３に「ミドルstate引継ぎ完了」を返信する（ステップＳ１０８）。
移動前クラスタメンバ＃１のミドルウェア部５３は、「ミドルstate引継ぎ完了」を受けて、原本削除を行う（ステップＳ１０９）。
移動前クラスタメンバ＃１のミドルウェア部５３は、移動後クラスタメンバ＃２のミドルウェア部５３に「原本登録応答」を送信する（ステップＳ１１０）。
【００４４】
移動後クラスタメンバ＃２のミドルウェア部５３は、原本登録を行う（ステップＳ１１１）とともに、移動後クラスタメンバ＃２のアプリケーション部５１に「原本昇格通知」を送信する（ステップＳ１１２）。
移動後クラスタメンバ＃２のアプリケーション部５１は、「原本昇格通知」を受けて、アプリケーション固有処理やソフトウェアリソース生成などを実行する（ステップＳ１１３）。
ところが、ステップＳ１１３の処理においては、アプリケーションのstateが引き継がれないため、別場所にあるＤＢ（例えば図１の外部データベースサーバ部４０）からのデータ取得などの処理が発生する。すなわち、アプリケーションはstateを持つが、このstateは分散処理によって引き継がれず、別の手段で生成されるデータ取得などの処理が発生する。なお、図５のハッチングのブロックは、遅延時間が生じる処理期間を表している（以下同様の表記）。
【００４５】
移動後クラスタメンバ＃２のアプリケーション部５１は、アプリケーション固有処理やソフトウェアリソース生成処理の終了後、電話端末（ユーザ端末装置）２の切り替えを行う（ステップＳ１１４）。電話端末２は、ロードバランサ３（図１参照）を介して移動後クラスタメンバ＃２とＳＩＰを用いてやり取りを行う。
移動後クラスタメンバ＃２のアプリケーション部５１は、電話端末＃１に切り替え要求「re-INVITE」を送信し（ステップＳ１１５）、順次、電話端末＃Ｎに切り替え要求「re-INVITE」を送信する（ステップＳ１１６）。電話端末＃１は、通話可能な場合には「200 OK」を応答し（ステップＳ１１７）、同様に、電話端末＃１は、通話可能な場合には「200 OK」を応答する（ステップＳ１１８）。
【００４６】
上記ステップＳ１１４〜ステップＳ１１８の「呼」の振り分けについて、前記図１を参照して説明する。
図１に示すように、分散処理システム１において、既設のサーバ装置３０Ａがユーザ端末装置１０Ａの既存呼を処理し（図１の符号ａ参照）、既設のサーバ装置３０Ｂがユーザ端末装置１０Ｂの既存呼を処理する（図１の符号ｂ参照）。
分散処理システム１に対してサーバ装置３０Ａが減設された後にユーザ端末装置１０Ｃからの新規呼が発生した場合を例に採り説明する。
【００４７】
分散処理システム１において、サーバ装置３０Ａが減設されたとする（以下、減設対象サーバ装置３０Ａと呼ぶ）。
分散処理システム１に対してユーザ端末装置１０Ｃからの新規呼が発生した場合、図１の符号ｃ（破線矢印および×印参照）に示すように、ユーザ端末装置１０Ｃからの新規呼は減設対象サーバ装置３０Ａには振り分けられない。この場合、ユーザ端末装置１０Ｃからの新規呼は、例えばサーバ装置３０Ｂに振り分ける（図１の符号ｄ参照）。
図５の制御シーケンスに戻って、「呼」の振り分けが終了すると、通話が再開する。
【００４８】
<通話中>
移動後クラスタメンバ＃２のアプリケーション部５１は、「呼」の振り分けが終了すると、移動後クラスタメンバ＃２のミドルウェア部５３に「原本昇格完了」を通知する（ステップＳ１１９）。
【００４９】
このように、比較例では、移動元のアプリケーションプロセス終了後に、移動元から移動先へのミドルウェアの引継ぎ処理、移動先のアプリケーションの初期化処理、サービスの切り替え処理を行う。サービス中断時間には、ミドルウェアの引継ぎ処理、アプリケーション初期化処理、切り替え処理が含まれる。
図５に示すように、比較例では、通話中断時間が長く、アプリケーション起動遅延によるＤプレーンの断時間の増大を招いていた。
【００５０】
［本実施形態］
図６は、本実施形態の分散処理システム１の保守コマンド時の動作を示す制御シーケンス図である。図５の比較例と同一処理を行うステップには、同一ステップ番号を付している。
<通話中>
図６に示すように、管理者は、保守機構６に保守コマンドを入力する（ステップＳ１０１）。保守機構６は、この保守コマンドを受けて、移動前クラスタメンバ＃１のミドルウェア部５３に原本削除を依頼する（ステップＳ１０２）。
移動前クラスタメンバ＃１のミドルウェア部５３は、移動前クラスタメンバ＃１のアプリケーション部５１に原本移動を通知する（ステップＳ１０３）。
アプリケーション部５１は、「原本移動通知」を受けてアプリケーション固有処理を実行する（ステップＳ１０４）。
【００５１】
アプリケーション固有処理により原本プロセス停止となり（ステップＳ１０５）、通話が中断する（図５のｇ印参照）。以下、「原本昇格完了」（後記ステップＳ１１８）するまで通話中断時間となる。すなわち、原本プロセスを停止しない。
【００５２】
移動前クラスタメンバ＃１のアプリケーション部５１は、移動前クラスタメンバ＃１のミドルウェア部５３に「原本昇格完了」を送信する（ステップＳ１０６）。
移動前クラスタメンバ＃１のミドルウェア部５３は、「原本昇格完了」を受けて、移動後クラスタメンバ＃２のミドルウェア部５３に「ミドルstate引継ぎ」を送信する（ステップＳ１０７）。
【００５３】
移動後クラスタメンバ＃２のミドルウェア部５３は、移動前クラスタメンバ＃１のミドルウェア部５３に「ミドルstate引継ぎ完了」を返信する（ステップＳ１０８）。
移動前クラスタメンバ＃１のミドルウェア部５３は、「ミドルstate引継ぎ完了」を受けて、原本削除を行う（ステップＳ１０９）。
移動前クラスタメンバ＃１のミドルウェア部５３は、移動後クラスタメンバ＃２のミドルウェア部５３に「原本登録応答」を送信する（ステップＳ１１０）。
【００５４】
移動後クラスタメンバ＃２のミドルウェア部５３は、原本登録を行う（ステップＳ１１１）とともに、移動後クラスタメンバ＃２のアプリケーション部５１に「原本昇格通知」を送信する（ステップＳ１１２）。
移動後クラスタメンバ＃２のアプリケーション部５１は、「原本昇格通知」を受けて、アプリケーション固有処理やソフトウェアリソース生成などを実行する（ステップＳ１１３）。
ここで初めて停止となる。また、Ｄプレーンは電話と直接やりとりしているため、アプリケーションが終了しなければ通話続行可能である。
【００５５】
<通話中断時間>
通話中断時間は、ほぼ瞬断であり、Ｄプレーンの断時間は極めて短い。
移動後クラスタメンバ＃２のアプリケーション部５１は、アプリケーション固有処理やソフトウェアリソース生成処理の終了後、電話端末（ユーザ端末装置）２の切り替えを行う（ステップＳ１１４）。電話端末２は、ロードバランサ３（図１参照）を介して移動後クラスタメンバ＃２とＳＩＰを用いてやり取りを行う。
移動後クラスタメンバ＃２のアプリケーション部５１は、電話端末＃１に切り替え要求「re-INVITE」を送信し（ステップＳ１１５）、順次、電話端末＃Ｎに切り替え要求「re-INVITE」を送信する（ステップＳ１１６）。電話端末＃１は、通話可能な場合には「200 OK」を応答し（ステップＳ１１７）、同様に、電話端末＃１は、通話可能な場合には「200 OK」を応答する（ステップＳ１１８）。
「呼」の振り分けが終了すると、通話が再開する。
【００５６】
<通話中>
移動後クラスタメンバ＃２のアプリケーション部５１は、「呼」の振り分けが終了すると、移動後クラスタメンバ＃２のミドルウェア部５３に「原本昇格完了」を通知する（ステップＳ１１９）。
【００５７】
移動後クラスタメンバ＃２のミドルウェア部５３は、移動前クラスタメンバ＃１のミドルウェア部５３に、「切替え完了通知」を送信する（ステップＳ２０１）。
移動前クラスタメンバ＃１のミドルウェア部５３は、移動後クラスタメンバ＃２のアプリケーション部５１に「切替え完了応答」を送信する（ステップＳ２０２）。
原本プロセス停止
移動前クラスタメンバ＃１のアプリケーション部５１は、「切替え完了応答」を受けて、「原本プロセス停止」となり（ステップＳ２０３）、通話が中断する（図６のｈ印参照）。
移動対象であるＤＤＣの原本プロセスの停止を移動完了後にすることになる。
【００５８】
以上説明したように、本実施形態に係る分散処理システム１に用いられるサーバ装置３０は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信する切替完了受信部３３４と、完了通知を受信するまでは、移動元のアプリケーション処理を継続させるアプリケーション停止処理判断部３３３と、を備える。
【００５９】
このようにすることで、移動先でアプリケーションの起動が完了した後、移動前でアプリケーションが終了できるよう、アプリケーション終了時間を遅らせることができる。このため、分散処理システムにおけるサーバ装置が減設された場合に、既存の処理は切断されることなく継続することができる。例えば、Ｄプレーンは電話と直接やりとりしているため、アプリケーションが終了しなければ通話続行可能である。また、通話中断時間は、ほぼ瞬断で済む。その結果、ＣプレーンとＤプレーンが一体化したシステムの分散処理技術適用において、アプリケーションのstateが引き継がれないことによるアプリケーション起動遅延によるＤプレーンの断時間の増大を削減することができる。
このように、ミドルウェアもアプリケーションもstateを持つようなアプリケーションを分散処理基盤に適用した場合の切り替え時間を削減することができる。
【００６０】
（第２の実施形態）
図７は、本発明の第２の実施形態に係る分散処理システムの移動前クラスタメンバおよび移動後クラスタメンバのアプリケーション部３１およびミドルウェア部３３の機能ブロック図である。
図７に示すように、本発明の実施形態に係る分散処理システムの移動後クラスタメンバ３０Ｂは、アプリケーション部３１が外部ＤＢ取得部３１５Ｂおよび開始前アプリケーション固有処理部３１６Ｂからなるアプリケーション開始処理部３１４Ｂを備える。
アプリケーション開始処理部３１４Ｂは、アプリケーション開始処理を行う。
外部ＤＢ取得部３１５Ｂは、外部データベースサーバ部４０のＤＢ４０ａにアクセスし、データを取得する。
開始前アプリケーション固有処理部３１６Ｂは、開始前アプリケーション固有処理を行う。
ここで、減設前に実行するアプリケーション固有処理を原本プロセス停止部とその他に分離している。
【００６１】
移動後クラスタメンバ３０Ｂは、ミドルウェア部３３が複製登録処理部３３３Ｂと、複製アプリケーション開始判断部３３４Ｂ（アプリケーション開始処理手段）と、複製アプリケーション開始依頼部３３５Ｂと、を備える。
複製登録処理部３３３Ｂは、複製登録処理を行う。
複製アプリケーション開始判断部３３４Ｂは、複製アプリケーション開始を判断する。
複製アプリケーション開始依頼部３３５Ｂは、複製アプリケーション開始を依頼する。
【００６２】
以下、上述のように構成された分散処理システムの動作を説明する。
［クラスタメンバの動作］
図８は、移動後クラスタメンバ３０Ｂのミドルウェア部３３によって実行される、複製アプリケーション開始判断を示すフローチャートである。
ステップＳ３１で複製登録処理部３３３Ｂは、複製作成に必要な処理を実行し、実行後にその処理結果を複製アプリケーション開始判断部３３４Ｂに通知する。
ステップＳ３２で複製アプリケーション開始判断部３３４Ｂは、複製アプリケーションを予め起動するか否かを、予め保守者が設定した複製アプリケーション開始判断コンフィグ値により判断する。
【００６３】
複製アプリケーション開始判断コンフィグ設定について述べる。
複製アプリケーション開始判断コンフィグ値は、複製アプリケーションを開始するか否かを設定する。複製ＡＣＴ  ＯＮにすることで、このコンフィグ値が参照される。複製アプリケーション開始判断コンフィグ値は、各アプリケーション特性や使用用途に基づき以下を考慮して、保守者が判断・設定する。
複製ＡＣＴ  ＯＮにすることで、故障発生時のサービス中断時間が短くなる。ただし、複製ＡＣＴ  ＯＮにすることで、複製側のアプリケーションも起動するため、運用時の負荷が高くなる。運用負荷が高くなっても、できる限りサービス中断時間を短くしたいような運用形態時に、複製ＡＣＴ  ＯＮにより使用する。
【００６４】
複製アプリケーションを予め起動する場合（ステップＳ３２：Ｙｅｓ）、ステップＳ３３で複製アプリケーション開始依頼部３３５Ｂは、アプリケーション部３１に原本プロセス開始指示して本フローの処理を終了する。複製アプリケーションを予め起動しない場合（ステップＳ３２：Ｎｏ）は、そのまま本フローの処理を終了する。
【００６５】
［分散処理システムの保守コマンド時の動作］
まず、分散処理システムの保守コマンド時の動作について説明する。
図９は、本実施形態の分散処理システムの保守コマンド時の動作を示す制御シーケンス図である。図５の比較例と同一処理を行うステップには、同一ステップ番号を付している。
【００６６】
<事前準備>
前提として、移動先のアプリケーションはアクト状態で立ち上げておく。すなわち、予め、原本作成と同時に複製もアクトスタンバイ状態にしておく。
移動後クラスタメンバ＃２のアプリケーション部３１は、事前準備で予めアプリケーションを起動し、アプリケーション固有処理やソフトウェアリソース生成などを実行する（ステップＳ３０１）。
【００６７】
<通話中>
管理者は、保守機構６に保守コマンドを入力する（ステップＳ１０１）。保守機構６は、この保守コマンドを受けて、移動前クラスタメンバ＃１のミドルウェア部３３に原本削除を依頼する（ステップＳ１０２）。
移動前クラスタメンバ＃１のミドルウェア部３３は、移動前クラスタメンバ＃１のアプリケーション部３１に原本移動を通知する（ステップＳ１０３）。
アプリケーション部３１は、「原本移動通知」を受けてアプリケーション固有処理を実行する（ステップＳ１０４）。
アプリケーション固有処理により「原本プロセス停止」となり（ステップＳ１０５）、通話が中断する（図９のｊ印参照）。以下、「呼」の振り分けが完了（後記ステップＳ１１８）するまでが通話中断時間となる。
【００６８】
<通話中断時間>
移動前クラスタメンバ＃１のアプリケーション部３１は、移動前クラスタメンバ＃１のミドルウェア部３３に「原本昇格完了」を送信する（ステップＳ１０６）。
移動前クラスタメンバ＃１のミドルウェア部３３は、「原本昇格完了」を受けて、移動後クラスタメンバ＃２のミドルウェア部３３に「ミドルstate引継ぎ」を送信する（ステップＳ１０７）。
【００６９】
移動後クラスタメンバ＃２のミドルウェア部３３は、移動前クラスタメンバ＃１のミドルウェア部３３に「ミドルstate引継ぎ完了」を返信する（ステップＳ１０８）。
移動前クラスタメンバ＃１のミドルウェア部３３は、「ミドルstate引継ぎ完了」を受けて、原本削除を行う（ステップＳ１０９）。
移動前クラスタメンバ＃１のミドルウェア部３３は、移動後クラスタメンバ＃２のミドルウェア部３３に「原本登録応答」を送信する（ステップＳ１１０）。
移動後クラスタメンバ＃２のミドルウェア部３３は、原本登録を行う（ステップＳ１１１）とともに、移動後クラスタメンバ＃２のアプリケーション部３１に「原本昇格通知」を送信する（ステップＳ１１２）。
【００７０】
本実施形態は、移動先になる複製を、複製作成時から予めアプリケーションを起動しておく。すなわち、予め、原本作成と同時に複製もアクトスタンバイ状態にしておく。具体的には、移動後クラスタメンバ＃２のアプリケーション部３１は、事前準備で予めアプリケーションを起動し、アプリケーション固有処理やソフトウェアリソース生成などを実行しておく（ステップＳ３０１）。このため、<通話中断時間>において、時間のかかる、アプリケーション固有処理やソフトウェアリソース生成などは、実行しない。
【００７１】
移動後クラスタメンバ＃２のアプリケーション部３１は、アプリケーション固有処理やソフトウェアリソース生成処理の終了後、電話端末（ユーザ端末装置）２の切り替えを行う（ステップＳ１１４）。電話端末２は、ロードバランサ３（図１参照）を介して移動後クラスタメンバ＃２とＳＩＰを用いてやり取りを行う。
移動後クラスタメンバ＃２のアプリケーション部３１は、電話端末＃１に切り替え要求「re-INVITE」を送信し（ステップＳ１１５）、順次、電話端末＃Ｎに切り替え要求「re-INVITE」を送信する（ステップＳ１１６）。電話端末＃１は、通話可能な場合には「200 OK」を応答し（ステップＳ１１７）、同様に、電話端末＃１は、通話可能な場合には「200 OK」を応答する（ステップＳ１１８）。
「呼」の振り分けが終了すると、通話が再開する。
【００７２】
<通話中>
移動後クラスタメンバ＃２のアプリケーション部３１は、「呼」の振り分けが終了すると、移動後クラスタメンバ＃２のミドルウェア部３３に「原本昇格完了」を通知する（ステップＳ１１９）。
【００７３】
［分散処理システムの故障時の動作］
次に、分散処理システムの故障時の動作について説明する。
［比較例］
図１０は、比較例の分散処理システムの故障時の動作を示す制御シーケンス図である。図５の比較例と同一処理を行うステップには、同一ステップ番号を付している。
<通話中>
移動前クラスタメンバ＃１のアプリケーション部５１において、通話中に故障が発生したとする（ステップＳ４０１）（図１０のｋ印参照）。
【００７４】
<通話中断時間>
保守機構６は、クラスタメンバ（ここでは移動前クラスタメンバ＃１）の故障を発見する（ステップＳ４０２）。
保守機構６は、移動後クラスタメンバ＃２のミドルウェア部５３に原本登録を依頼する（ステップＳ４０３）。
移動後クラスタメンバ＃２のミドルウェア部５３は、原本登録依頼を受けて、原本登録を行う（ステップＳ４０４）。移動後クラスタメンバ＃２のミドルウェア部５３は、移動後クラスタメンバ＃２のアプリケーション部５１に原本昇格を通知する（ステップＳ４０５）。
移動後クラスタメンバ＃２のアプリケーション部５１は、「原本昇格通知」を受けてアプリケーション固有処理やソフトウェアリソース生成などを実行する（ステップＳ４０６）。上述したように、アプリケーション固有処理やソフトウェアリソース生成などは、別場所にあるＤＢ（例えば図１の外部データベースサーバ部４０）からのデータ取得などの処理が発生するため、時間がかかる。
【００７５】
移動後クラスタメンバ＃２のアプリケーション部５１は、アプリケーション固有処理やソフトウェアリソース生成処理の終了後、電話端末（ユーザ端末装置）２の切り替えを行う（ステップＳ４０７）。
移動後クラスタメンバ＃２のアプリケーション部５１は、電話端末＃１に切り替え要求「re-INVITE」を送信し（ステップＳ４０８）、順次、電話端末＃Ｎに切り替え要求「re-INVITE」を送信する（ステップＳ４０９）。電話端末＃１は、通話可能な場合には「200 OK」を応答し（ステップＳ４１０）、同様に、電話端末＃１は、通話可能な場合には「200 OK」を応答する（ステップＳ４１１）。
【００７６】
<通話中>
移動後クラスタメンバ＃２のアプリケーション部５１は、「呼」の振り分けが終了すると、移動後クラスタメンバ＃２のミドルウェア部５３に「原本昇格完了」を通知する（ステップＳ１１９）。
【００７７】
このように、比較例では、故障発見後、移動先のアプリケーションの初期化処理、サービスの切り替え処理を行う。サービス中断時間には、故障発見、アプリケーション初期化処理、切り替え処理が含まれる。
比較例では、通話中断時間が長く、アプリケーション起動遅延によるＤプレーンの断時間が増大していた。
【００７８】
［本実施形態］
図１１は、本実施形態の分散処理システムの故障時の動作を示す制御シーケンス図である。図１０の比較例と同一処理を行うステップには、同一ステップ番号を付している。
【００７９】
<事前準備>
移動後クラスタメンバ＃２のアプリケーション部３１は、事前準備で予めアプリケーションを起動し、アプリケーション固有処理やソフトウェアリソース生成などを実行する（ステップＳ３０１）。予め、原本作成と同時に複製もアクトスタンバイ状態にしておく。
【００８０】
<通話中>
移動前クラスタメンバ＃１のアプリケーション部５１において、通話中に故障が発生したとする（ステップＳ４０１）（図１０のｋ印参照）。
【００８１】
<通話中断時間>
保守機構６は、クラスタメンバ（ここでは移動前クラスタメンバ＃１）の故障を発見する（ステップＳ４０２）。
保守機構６は、移動後クラスタメンバ＃２のミドルウェア部５３に原本登録を依頼する（ステップＳ４０３）。
移動後クラスタメンバ＃２のミドルウェア部５３は、原本登録依頼を受けて、原本登録を行う（ステップＳ４０４）。移動後クラスタメンバ＃２のミドルウェア部５３は、移動後クラスタメンバ＃２のアプリケーション部５１に原本昇格を通知する（ステップＳ４０５）。
【００８２】
移動後クラスタメンバ＃２のアプリケーション部５１は、アプリケーション固有処理やソフトウェアリソース生成処理の終了後、電話端末（ユーザ端末装置）２の切り替えを行う（ステップＳ４０７）。
移動後クラスタメンバ＃２のアプリケーション部５１は、電話端末＃１に切り替え要求「re-INVITE」を送信し（ステップＳ４０８）、順次、電話端末＃Ｎに切り替え要求「re-INVITE」を送信する（ステップＳ４０９）。電話端末＃１は、通話可能な場合には「200 OK」を応答し（ステップＳ４１０）、同様に、電話端末＃１は、通話可能な場合には「200 OK」を応答する（ステップＳ４１１）。
【００８３】
<通話中>
移動後クラスタメンバ＃２のアプリケーション部５１は、「呼」の振り分けが終了すると、移動後クラスタメンバ＃２のミドルウェア部５３に「原本昇格完了」を通知する（ステップＳ４１２）。
【００８４】
このように、本実施形態に係る分散処理システムに用いられるサーバ装置３０は、移動先になる複製を、複製作成時から予めアプリケーションを起動しておく。すなわち、予め、原本作成と同時に複製もアクトスタンバイ状態にしておくことで、アプリケーション起動遅延による切り替え時間の増大を防ぐことができる。ＣプレーンとＤプレーンが一体化したシステムの分散処理技術適用において、アプリケーションのstateが引き継がれないことによるアプリケーション起動遅延によるＤプレーンの断時間の増大を削減することができる。
また、故障時の切り替え時間も削減することができる。
【００８５】
以上、本発明の実施形態について説明したが、本発明は前記実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜変更可能である。
【００８６】
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣ（Integrated Circuit）カード、ＳＤ（Secure Digital）カード、光ディスク等の記録媒体に保持することができる。また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）をも含むものである。
【符号の説明】
【００８８】
１  分散処理システム
１０，１０Ａ，１０Ｂ，１０Ｃ  ユーザ端末装置
２０  バランサ装置
３０，３０Ａ，３０Ｂ，３０Ｃ，  サーバ装置
３１  アプリケーション部
３３  ミドルウェア部
３１１  減設前アプリケーション固有処理部
３１２  原本プロセス停止部
３３３  アプリケーション停止処理判断部（アプリケーション停止判断手段）
３３４  切替完了受信部（完了通知受信手段）
３１５Ｂ  外部ＤＢ取得部
３１６Ｂ  開始前アプリケーション固有処理部
３１４  アプリケーション開始処理部
３３３Ｂ  複製登録処理部
３３４Ｂ  複製アプリケーション開始判断部（アプリケーション開始処理手段）
３３５Ｂ  複製アプリケーション開始依頼部
【図１】
2019219976.tif 000003
【図２】
2019219976.tif 000004
【図３】
2019219976.tif 000005
【図４】
2019219976.tif 000006
【図５】
2019219976.tif 000007
【図６】
2019219976.tif 000008
【図７】
2019219976.tif 000009
【図８】
2019219976.tif 000010
【図９】
2019219976.tif 000011
【図１０】
2019219976.tif 000012
【図１１】
2019219976.tif 000013
【図１２】
2019219976.tif 000014