(57)【要約】【課題】クラウドシステムが提供するサービスに不具合が生じることを適切に抑制する管理技術を提供する。【解決手段】管理サーバは、送信部と、受信部と、指示部と、を備える。前記送信部は、クラウドシステムが備える複数の被管理サーバが実行するアプリケーションそれぞれを経由してテスト用通信端末にテスト信号を送信する。前記受信部は、前記テスト用通信端末から送信される前記テスト信号に対する応答信号を、前記テスト信号の送信時に用いられた前記アプリケーションを経由して受信する。前記指示部は、前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合に、前記テスト信号の送信時に用いられた前記アプリケーションを例えば単一で前記処理負荷の分散対象から除外する指示信号を前記クラウドシステムが備える負荷分散装置に出力する。【選択図】図１
2018195113.tif 000002
【特許請求の範囲】
【請求項１】
複数の被管理サーバと、前記複数の被管理サーバに対して処理負荷を分散させる負荷分散装置と、を備えるクラウドシステムに組み込み可能な管理サーバであって、
前記複数の被管理サーバが実行するアプリケーションそれぞれを経由してテスト用通信端末にテスト信号を送信する送信部と、
前記テスト用通信端末から送信される前記テスト信号に対する応答信号を、前記テスト信号の送信時に用いられた前記アプリケーションを経由して受信する受信部と、
前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合に、前記テスト信号の送信時に用いられた前記アプリケーションを単一で、又は、同一の仮想サーバに属する他の前記アプリケーションとともに、又は、同一の物理サーバに属する他の前記アプリケーションとともに、前記処理負荷の分散対象から除外する指示信号を前記負荷分散装置に出力する指示部と、
を備える、管理サーバ。
【請求項２】
前記処理負荷の分散対象から除外された前記アプリケーションが単一で、又は、同一の仮想サーバに属する他の前記アプリケーションとともに、又は、同一の物理サーバに属する他の前記アプリケーションとともに、再起動した後、
前記送信部は、再起動した前記アプリケーションそれぞれを経由して前記テスト用通信端末に前記テスト信号を送信し、再起動した前記アプリケーション全てに関して、前記受信部が、前記送信部が前記テスト信号を送信してから所定時間が経過する前に前記受信部が前記応答信号を受信する場合に、
前記指示部は、前記指示信号の指示内容を解除する解除信号を前記負荷分散装置に出力する、請求項１に記載の管理サーバ。
【請求項３】
前記送信部の送信タイミングを操作する操作部をさらに備える、請求項１又は請求項２に記載の管理サーバ。
【請求項４】
前記送信部は、異なる場所に存在する複数の前記テスト用通信端末に前記テスト信号を送信する、請求項１〜３のいずれか一項に記載の管理サーバ。
【請求項５】
前記クラウドシステムは、前記複数の被管理サーバに前記負荷分散装置を介してネットワーク接続される複数のクライアント端末をさらに備え、
前記複数のクライアント端末はそれぞれ異なる移動体に搭載され、前記テスト用通信端末としても機能する、請求項４に記載の管理サーバ。
【請求項６】
前記送信部が前記テスト信号を送信してから前記受信部が前記応答信号を受信するまでに要する時間の平均値を場所毎に算出する算出部をさらに備える、請求項４又は請求項５に記載の管理サーバ。
【請求項７】
前記アプリケーションは音声信号を処理する、請求項１〜６のいずれか一項に記載の管理サーバ。
【請求項８】
前記指示信号が前記アプリケーションを単一で前記処理負荷の分散対象から除外する信号であって、前記アプリケーション全てに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、
前記指示信号が前記アプリケーションを前記仮想サーバ単位で前記処理負荷の分散対象から除外する信号であって、前記仮想サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、
前記指示信号が前記アプリケーションを前記物理サーバ単位で前記処理負荷の分散対象から除外する信号であって、前記物理サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、
前記指示部は例外的に前記指示信号を出力しない、請求項１〜７のいずれか一項に記載の管理サーバ。
【請求項９】
複数の被管理サーバと、
前記複数の被管理サーバに対して処理負荷を分散させる負荷分散装置と、
請求項１〜８のいずれか一項に記載の管理サーバと、
を備える、クラウドシステム。
【請求項１０】
前記管理サーバを２つ備え、
前記複数の被管理サーバ、前記負荷分散装置、及び一方の前記管理サーバをデータセンタ内に設置し、前記データセンタと他方の前記管理サーバとがネットワーク接続される、請求項９に記載のクラウドシステム。
【請求項１１】
前記指示信号が前記アプリケーションを単一で前記処理負荷の分散対象から除外する信号であって、両方の前記管理サーバによるテストにおいて前記アプリケーション全てに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、
前記指示信号が前記アプリケーションを前記仮想サーバ単位で前記処理負荷の分散対象から除外する信号であって、両方の前記管理サーバによるテストにおいて前記仮想サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、
前記指示信号が前記アプリケーションを前記物理サーバ単位で前記処理負荷の分散対象から除外する信号であって、両方の前記管理サーバによるテストにおいて前記物理サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、
前記指示部は例外的に前記指示信号を出力せず、一部の前記アプリケーションの処理優先度を残りの前記アプリケーションの処理優先度よりも高くする、請求項１０に記載のクラウドシステム。
【請求項１２】
複数の被管理サーバと、前記複数の被管理サーバに対して処理負荷を分散させる負荷分散装置と、を備えるクラウドシステムの管理方法であって、
前記複数の被管理サーバが実行するアプリケーションそれぞれを経由してテスト用通信端末にテスト信号を送信する送信工程と、
前記テスト用通信端末から送信される前記テスト信号に対する応答信号を、前記テスト信号の送信時に用いられた前記アプリケーションを経由して受信する受信工程と、
前記送信工程が前記テスト信号を送信してから所定時間が経過しても前記受信工程が前記応答信号を受信しない場合に、前記テスト信号の送信時に用いられた前記アプリケーションを単一で、又は、同一の仮想サーバに属する他の前記アプリケーションとともに、又は、同一の物理サーバに属する他の前記アプリケーションとともに、前記処理負荷の分散対象から除外する指示信号を前記負荷分散装置に出力する指示工程と、
を備える、管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドシステムを管理する技術に関する。
【背景技術】
【０００２】
故障やＣＰＵの負荷状態を検知して、検知結果に応じてサーバやアプリケーションをクラウドシステムの負荷分散対象から除外する技術は従来から存在する。ＣＰＵの負荷状態を検知する手法として、例えば特許文献１にはアプリケーション毎に異なるサーバ性能を効率的に計測して収集する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２８５３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、サーバやアプリケーションが遅延しながらも動作している場合は、サーバやアプリケーションが故障している訳ではないため、故障を検知することができず、遅延しながらも動作しているサーバやアプリケーションをクラウドシステムの負荷分散対象から除外できなかった。その結果、クラウドシステムが提供するサービスに処理の遅延（不具合）が生じることがあった。
【０００５】
また、ＣＰＵが高負荷状態であってもクラウドシステムが提供するサービスに不具合が生じていない場合は、負荷分散の対象から除外する必要はない。それにもかかわらず、これまではＣＰＵの高負荷状態であるサーバをクラウドシステムの負荷分散対象から一律に除外していたため、必要以上に負荷分散対象からの除外が実行されるおそれがあった。ＣＰＵの高負荷状態によってクラウドシステムが提供するサービスに不具合が生じているかを判断できなかったためである。
【０００６】
本発明は、上記の課題に鑑み、クラウドシステムが提供するサービスに不具合が生じることを適切に抑制する管理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る管理サーバは、複数の被管理サーバと、前記複数の被管理サーバに対して処理負荷を分散させる負荷分散装置と、を備えるクラウドシステムに組み込み可能な管理サーバであって、前記複数の被管理サーバが実行するアプリケーションそれぞれを経由してテスト用通信端末にテスト信号を送信する送信部と、前記テスト用通信端末から送信される前記テスト信号に対する応答信号を、前記テスト信号の送信時に用いられた前記アプリケーションを経由して受信する受信部と、前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合に、前記テスト信号の送信時に用いられた前記アプリケーションを単一で、又は、同一の仮想サーバに属する他の前記アプリケーションとともに、又は、同一の物理サーバに属する他の前記アプリケーションとともに、前記処理負荷の分散対象から除外する指示信号を前記負荷分散装置に出力する指示部と、を備える構成（第１の構成）である。
【０００８】
上記第１の構成の管理サーバにおいて、前記処理負荷の分散対象から除外された前記アプリケーションが単一で、又は、同一の仮想サーバに属する他の前記アプリケーションとともに、又は、同一の物理サーバに属する他の前記アプリケーションとともに、再起動した後、前記送信部は、再起動した前記アプリケーションそれぞれを経由して前記テスト用通信端末に前記テスト信号を送信し、再起動した前記アプリケーション全てに関して、前記受信部が、前記送信部が前記テスト信号を送信してから所定時間が経過する前に前記受信部が前記応答信号を受信する場合に、前記指示部は、前記指示信号の指示内容を解除する解除信号を前記負荷分散装置に出力する構成（第２の構成）であってもよい。
【０００９】
上記第１又は第２の構成の管理サーバにおいて、前記送信部の送信タイミングを操作する操作部をさらに備える構成（第３の構成）であってもよい。
【００１０】
上記第１〜第３いずれかの構成の管理サーバにおいて、前記送信部は、異なる場所に存在する複数の前記テスト用通信端末に前記テスト信号を送信する構成（第４の構成）であってもよい。
【００１１】
上記第４の構成の管理サーバにおいて、前記クラウドシステムは、前記複数の被管理サーバに前記負荷分散装置を介してネットワーク接続される複数のクライアント端末をさらに備え、前記複数のクライアント端末はそれぞれ異なる移動体に搭載され、前記テスト用通信端末としても機能する構成（第５の構成）であってもよい。
【００１２】
上記第４又は第５の構成の管理サーバにおいて、前記送信部が前記テスト信号を送信してから前記受信部が前記応答信号を受信するまでに要する時間の平均値を場所毎に算出する算出部をさらに備える構成（第６の構成）であってもよい。
【００１３】
上記第１〜第６いずれかの構成の管理サーバにおいて、前記アプリケーションは音声信号を処理する構成（第７の構成）であってもよい。
【００１４】
上記第１〜第７いずれかの構成の管理サーバにおいて、前記指示信号が前記アプリケーションを単一で前記処理負荷の分散対象から除外する信号であって、前記アプリケーション全てに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、前記指示信号が前記アプリケーションを前記仮想サーバ単位で前記処理負荷の分散対象から除外する信号であって、前記仮想サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、前記指示信号が前記アプリケーションを前記物理サーバ単位で前記処理負荷の分散対象から除外する信号であって、前記物理サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、前記指示部は例外的に前記指示信号を出力しない構成（第８の構成）であってもよい。
【００１５】
本発明に係るクラウドシステムは、複数の被管理サーバと、前記複数の被管理サーバに対して処理負荷を分散させる負荷分散装置と、上記第１〜第８いずれかの構成の管理サーバと、を備える構成（第９の構成）である。
【００１６】
上記第９の構成のクラウドシステムにおいて、前記管理サーバを２つ備え、前記複数の被管理サーバ、前記負荷分散装置、及び一方の前記管理サーバをデータセンタ内に設置し、前記データセンタと他方の前記管理サーバとがネットワーク接続される構成（第１０の構成）であってもよい。
【００１７】
上記第１０の構成のクラウドシステムにおいて、前記指示信号が前記アプリケーションを単一で前記処理負荷の分散対象から除外する信号であって、両方の前記管理サーバによるテストにおいて前記アプリケーション全てに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、前記指示信号が前記アプリケーションを前記仮想サーバ単位で前記処理負荷の分散対象から除外する信号であって、両方の前記管理サーバによるテストにおいて前記仮想サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、又は、前記指示信号が前記アプリケーションを前記物理サーバ単位で前記処理負荷の分散対象から除外する信号であって、両方の前記管理サーバによるテストにおいて前記物理サーバそれぞれで少なくとも一つの前記アプリケーションに関して前記送信部が前記テスト信号を送信してから所定時間が経過しても前記受信部が前記応答信号を受信しない場合、前記指示部は例外的に前記指示信号を出力せず、一部の前記アプリケーションの処理優先度を残りの前記アプリケーションの処理優先度よりも高くする構成（第１１の構成）であってもよい。
【００１８】
本発明に係る管理方法は、複数の被管理サーバと、前記複数の被管理サーバに対して処理負荷を分散させる負荷分散装置と、を備えるクラウドシステムの管理方法であって、前記複数の被管理サーバが実行するアプリケーションそれぞれを経由してテスト用通信端末にテスト信号を送信する送信工程と、前記テスト用通信端末から送信される前記テスト信号に対する応答信号を、前記テスト信号の送信時に用いられた前記アプリケーションを経由して受信する受信工程と、前記送信工程が前記テスト信号を送信してから所定時間が経過しても前記受信工程が前記応答信号を受信しない場合に、前記テスト信号の送信時に用いられた前記アプリケーションを単一で、又は、同一の仮想サーバに属する他の前記アプリケーションとともに、又は、同一の物理サーバに属する他の前記アプリケーションとともに、前記処理負荷の分散対象から除外する指示信号を前記負荷分散装置に出力する指示工程と、を備える構成（第１２の構成）である。
【発明の効果】
【００１９】
本発明の管理技術によれば、クラウドシステムが提供するサービスに不具合が生じることを適切に抑制することができる。
【図面の簡単な説明】
【００２０】
【図１】クラウドシステムの一構成例を示す図
【図２】配車指示が送信された場合の動作を説明する図
【図３】監視サーバの一構成例を示す図
【図４】テスト信号が送信された場合の動作を説明する図
【図５】管理サーバの動作例を示すフローチャート
【図６】管理サーバの他の動作例を示すフローチャート
【図７】監視サーバの他の構成例を示す図
【図８】クラウドシステムの一構成例を示す図
【発明を実施するための形態】
【００２１】
以下、本発明の例示的な実施形態について、図面を参照しながら詳細に説明する。
【００２２】
＜１．クラウドシステムの構成＞
図１は、クラウドシステムの一構成例を示す図である。図１に示すクラウドシステムは、管理サーバ３００及びデータセンタ７００を備えている。以下、図１に示すクラウドシステムをタクシーの配車システムとして利用する場合について説明する。
【００２３】
クライアント端末１００及びテスト用通信端末４００は、公衆網５００を介してデータセンタ７００と通信可能である。
【００２４】
配車センタ２００及び管理サーバ３００は、専用網６００を介してデータセンタ７００と通信可能である。なお、本実施形態と異なり、配車センタ２００及び管理サーバ３００が公衆網５００を介してデータセンタ７００と通信可能であっても構わない。
【００２５】
クライアント端末１００は、タクシーに定常的又は一時的に搭載される。図１では、クライアント端末１００を１台しか図示していないが、実際には図１に示すクラウドシステムを利用するタクシーの台数分のクライアント端末１００が存在する。クライアント端末１００は、ハンドマイク１０１と、情報処理装置１０２と、位置情報取得部１０３と、ＩＰ無線機１０４と、を備えている。
【００２６】
ハンドマイク１０１は、電気信号である配車指示を音声に変換して運転手に伝え、運転手が発した返答を電気信号である指示応答に変換して情報処理装置１０２に出力する。
【００２７】
情報処理装置１０２は、配車指示、指示応答、及び位置情報等を処理する。
【００２８】
位置情報取得部１０３は、クライアント端末１００の位置情報ひいてはクライアント端末１００を搭載しているタクシーの位置情報を取得する。位置情報取得部１０３としては、例えばナビゲーションシステム等で利用されるＧＰＳ（Global Positioning System）受信部を用いることができる。ＧＰＳ受信部は、複数のＧＰＳ衛星からの信号を受信して、現在時刻におけるクライアント端末１００の位置が地球上における経度緯度で表現された情報を取得する。
【００２９】
ＩＰ無線機１０４は、公衆網５００を介してデータセンタ７００のＭ２Ｍ通信機７０１と通信する。
【００３０】
配車センタ２００は、パーソナルコンピュータ（以下、「ＰＣ」と略す）２０１及び２０２と、スイッチ２０３と、ローカルサーバ２０４と、ルータ２０５と、を備えている。図１では、配車センタ２００を１つしか図示していないが、実際には図１に示すクラウドシステムを利用するタクシー会社の数だけ配車センタ２００が存在する。
【００３１】
スイッチ２０３は、ローカルサーバ２０４と接続するＰＣを切り替える。ローカルサーバ２０４は、ＰＣ２０１又は２０２からの命令に応じて、配車指示をルータ２０５及び専用網６００を介してデータセンタ７００に送信する。
【００３２】
管理サーバ３００は、ＰＣ３０１と、監視サーバ３０２と、ルータ３０３と、を備えている。監視サーバ３０２は、周期的にテスト信号をルータ３０３及び専用網６００を介してデータセンタ７００に送信する。また、監視サーバ３０２は、ＰＣ３０１からの命令に応じてテスト信号をルータ３０３及び専用網６００を介してデータセンタ７００に送信してもよい。
【００３３】
テスト用通信端末４００は、情報処理装置４０１と、ＩＰ無線通信機４０２と、を備えている。情報処理装置４０１は、テスト信号を受信すると、応答信号を出力する。
【００３４】
ＩＰ無線機４０２は、公衆網５００を介してデータセンタ７００のＭ２Ｍ通信機７０１と通信する。
【００３５】
データセンタ７００は、Ｍ２Ｍ通信機７０１と、ルータ７０２と、負荷分散装置７０３と、スイッチ７０４及び７０７と、物理サーバ７０５及び７０６と、データベースサーバ７０８及び７０９と、データベース７１０と、を備えている。
【００３６】
データセンタ７００は、Ｍ２Ｍ通信機７０１及びルータ７０２を用いて、クライアント端末１００、配車センタ２００、管理サーバ３００、及びテスト用通信端末４００と通信する。
【００３７】
負荷分散装置７０３は、物理サーバ７０５及び７０６及び各物理サーバが備える仮想サーバに対して処理負荷を分散させる。
【００３８】
スイッチ７０４は、負荷分散装置７０３と接続する物理サーバを切り替える。
【００３９】
物理サーバ７０５は、仮想サーバ７０５ａ及び７０５ｂを備えている。仮想サーバ７０５ａは、アプリケーション７０５ａ１〜７０５ａ３と、音声制御部７０５ａ４と、記憶部７０５ａ５と、を備えている。仮想サーバ７０５ａは、例えば４つのＣＰＵを備え各ＣＰＵがアプリケーション７０５ａ１〜７０５ａ３及び音声制御部７０５ａ４のいずれか一つを処理する構成であってもよく、ＣＰＵをマルチコア対応としてＣＰＵの個数を３つ以下にしてもよい。音声制御部７０５ａ４は、アプリケーション７０５ａ１〜７０５ａ３それぞれと協働し、記憶部７０５ａ５はアプリケーション７０５ａ１〜７０５ａ３それぞれの処理内容をログデータとして記憶する。
【００４０】
仮想サーバ７０５ｂは仮想サーバ７０５ａと同様の構成であり、物理サーバ７０６は物理サーバ７０５と同様の構成である。上述した仮想サーバ及び物理サーバが管理サーバ３００によって管理される被管理サーバである。被管理サーバが複数存在していれば、仮想サーバの数及び物理サーバの数は本実施形態と同一でなくても構わない。
【００４１】
スイッチ７０７は、負荷分散装置７０３と接続するデータベースサーバを切り替える。
【００４２】
データベースサーバ７０８及び７０９は、データセンタ７００が受信するデータ等に基づいてデータベース７１０を更新する。例えば、データベース７１０に格納されている各クライアント端末１００の位置情報が更新される。
【００４３】
＜２．配車指示が送信された場合の動作＞
図２は、配車指示が送信された場合の動作を説明する図である。ＰＣ２０１又は２０２がローカルサーバ２０４に配車指示を送信すると、ローカルサーバ２０４は物理サーバ７０５又は７０６の或る１つのアプリケーションに配車指示を送信する。なお、物理サーバ７０５又は７０６の或る１つのアプリケーションは、負荷分散装置７０３によって指定される。
【００４４】
物理サーバ７０５又は７０６の或る１つのアプリケーションは、配車指示に含まれる配車先に関する情報に基づいて、データベース７１０に送信先を確認する。データベース７１０は、配車先の周辺に位置する所定数のクライアント端末１００を送信先とすることを、物理サーバ７０５又は７０６の或る１つのアプリケーションに指示する。
【００４５】
物理サーバ７０５又は７０６の或る１つのアプリケーションは、データベース７１０からの送信先指示に従って、配車先の周辺に位置する所定数のクライアント端末１００の情報処理装置１０２に配車指示を送信する。
【００４６】
物理サーバ７０５又は７０６の或る１つのアプリケーションは、配車指示を受信した情報処理装置１０２から最も早く返ってきた配車指示応答を受け付け、その受け付けた配車指示応答をローカルサーバ２０４に送信する。これにより、１つの配車が完了する。
【００４７】
＜３．テスト信号が送信された場合の動作＞
テスト信号が送信された場合の動作を説明する前に、テスト信号を送信する監視サーバ３０２の構成について説明する。図３は、監視サーバの一構成例を示す図である。
【００４８】
図３に示す監視サーバ３０２は、制御部３０２ａと、記憶部３０２ｂと、を備えている。制御部３０２ａは、ＣＰＵ、ＲＡＭ、及びＲＯＭを備えたマイクロコンピュータである。制御部３０２ａは、テスト信号を送信する送信部３０２ａ１と、テスト信号に対する応答信号を受信する受信部３０２ａ２と、指示信号を負荷分散装置７０３に出力する指示部３０２ａ３と、を備えている。記憶部３０２ｂは、例えばＥＥＰＲＯＭ、フラッシュメモリ、ハードディスクドライブ等の不揮発性の記憶媒体である。記憶部３０２ｂは、プログラム３０２ｂ１と、被管理サーバデータ３０２ｂ２と、を備えている。プログラム３０２ｂ１は、制御部３０２ａによって読み出され、制御部３０２ａが監視サーバ３０２を制御するために実行される。被管理サーバデータ３０２ｂ２は、例えば各被管理サーバと各アプリケーションとの関係を示すデータであって、送信部３０２ａ１がテスト信号を送信する際に利用される。
【００４９】
図４は、テスト信号が送信された場合の動作を説明する図である。監視サーバ３０２は物理サーバ７０５又は７０６の或る１つのアプリケーションにテスト信号を送信する。なお、物理サーバ７０５又は７０６の或る１つのアプリケーションは、監視サーバ３０２によって指定される。
【００５０】
物理サーバ７０５又は７０６の或る１つのアプリケーションは、テスト信号に基づいて、データベース７１０に送信先を確認する。データベース７１０は、テスト用通信端末４００の情報処理装置４０１を送信先とすることを、物理サーバ７０５又は７０６の或る１つのアプリケーションに指示する。
【００５１】
物理サーバ７０５又は７０６の或る１つのアプリケーションは、データベース７１０からの送信先指示に従って、テスト用通信端末４００の情報処理装置４０１にテスト信号を送信する。
【００５２】
物理サーバ７０５又は７０６の或る１つのアプリケーションは、テスト信号を受信した情報処理装置４０１から返ってきた応答信号を受け付け、その受け付けた応答信号を監視サーバ３０２に送信する。これにより、物理サーバ７０５又は７０６の或る１つのアプリケーションに関する１回のテストが完了する。
【００５３】
＜４．監視サーバの動作＞
図５は、管理サーバ３００の動作例を示すフローチャートである。管理サーバ３００は周期的に（例えば数秒毎に）図５に示すフロー動作を開始する。まず、監視サーバ３０２の送信部３０２ａ１は、物理サーバ７０５又は７０６の或る１つのアプリケーションを経由してテスト用通信端末４００にテスト信号を送信する（ステップＳ１１）。次に、監視サーバ３０２の制御部３０２ａは、監視サーバ３０２の送信部３０２ａ１がテスト信号を送信してから所定時間が経過しても、テスト信号に対する応答信号を、テスト信号の送信時に用いられたアプリケーションを経由して監視サーバ３０２の受信部３０２ａ２が受信していないか否かを判定する（ステップＳ１２）。
【００５４】
監視サーバ３０２の受信部３０２ａ２が所定時間以内に応答信号を受信していない場合、監視サーバ３０２の指示部３０２ａ３は、テスト信号の送信時に用いられたアプリケーションを分散対象から除外する指示信号を負荷分散装置７０３に出力し（ステップＳ１３）、図５に示すフロー動作を終了する。なお、分散対象から除外する方法としては、（I）テスト信号の送信時に用いられたアプリケーションを単一で除外する方法、（II）テスト信号の送信時に用いられたアプリケーションを同一の仮想サーバに属する他のアプリケーションとともに除外する方法、（III）テスト信号の送信時に用いられたアプリケーションを同一の物理サーバに属する他のアプリケーションとともに除外する方法、のいずれを採用してもよい。例えば、アプリケーション７０５ａ１を分散対象から除外する場合、アプリケーション７０５ａ１を単独で除外してもよく、同一の仮想サーバ７０５ａに属するアプリケーション７０５ａ１〜７０５ａ３を全て除外してもよく、同一の物理サーバ７０５に属する全てのアプリケーションを全て除外してもよい。
【００５５】
一方、監視サーバ３０２の受信部３０２ａ２が所定時間以内に応答信号を受信している場合、監視サーバ３０２の指示部３０２ａが指示信号を出力することなく、図５に示すフロー動作を終了する。
【００５６】
図５に示す動作フローは、テスト信号の送信時に用いられたアプリケーションを毎回変更して実行され、全てのアプリケーションに対してテストが実行される。ただし、分散対象から除外されたアプリケーションに対しては、分散対象の除外が解除される迄は、テストが実行されない。
【００５７】
管理サーバ３００によって実行されるテストによると、テストによって処理の遅延が実際に生じた場合に、テスト信号の送信時に用いられたアプリケーションを分散対象から除外するので、除外漏れや過度な除外を防止することができる。したがって、クラウドシステムが提供するサービスに不具合が生じることを適切に抑制することができる。特に、タクシー配車システムでは、２４時間３６５日絶え間なく正常に稼働し続けることが要求されているため、処理の遅延を無くしてクラウドシステムが提供するサービスに不具合が生じないようにすることは重要である。また、タクシー配車システムでは、アプリケーションが音声信号を処理しているため、処理に遅延が生じると、聞き手が認識できない音声が出力されることになり、重大な障害となってしまう。したがって、アプリケーションが音声信号を処理している場合、管理サーバ３００によって実行されるテストは特に有用である。
【００５８】
上述した実施形態では、管理サーバ３００は周期的に図５に示すフロー動作を開始したが、それに代えて或いはそれに加えて、ＰＣ３０１のキーボードやポインティングデバイス等の操作部が送信部３０２ａ１の送信タイミングを操作するようにしてもよい。これにより、例えば配車センタ２００のオペレータから管理サーバ３００のオペレータに対して、クラウドシステムが提供するサービスに不具合に関する苦情が寄せられた場合に、すぐに原因究明に取り掛かることができる。
【００５９】
図６は、管理サーバ３００の他の動作例を示すフローチャートである。管理サーバ３００は、処理負荷の分散対象から除外されたアプリケーションが単一で再起動した後に、図６に示すフロー動作を開始する。なお、アプリケーションの再起動は、管理サーバ３００からの命令によって実行されてもよく、アプリケーション自身によって自律的に実行されてもよい。
【００６０】
まず監視サーバ３０２の送信部３０２ａ１は、再起動したアプリケーションを経由してテスト用通信端末４００にテスト信号を送信する（ステップＳ２１）。次に、監視サーバ３０２の制御部３０２ａは、監視サーバ３０２の送信部３０２ａ１がテスト信号を送信してから所定時間が経過しても、テスト信号に対する応答信号を、テスト信号の送信時に用いられたアプリケーションを経由して監視サーバ３０２の受信部３０２ａ２が受信していないか否かを判定する（ステップＳ２２）。
【００６１】
監視サーバ３０２の受信部３０２ａ２が所定時間以内に応答信号を受信している場合、監視サーバ３０２の指示部３０２ａ３は、テスト信号の送信時に用いられたアプリケーションに対する指示信号の指示内容を解除する解除信号を負荷分散装置７０３に出力し（ステップＳ２３）、図６に示すフロー動作を終了する。なお、図５に示すフロー動作において、テスト信号の送信時に用いられたアプリケーションを同一の仮想サーバに属する他のアプリケーションとともに除外していた場合、分散対象から除外していた同一の仮想サーバに属するアプリケーションを再起動する。そして、その再起動したアプリケーション全てに関して、監視サーバ３０２の受信部３０２ａ２が所定時間以内に応答信号を受信していれば、監視サーバ３０２の指示部３０２ａ３が解除信号を負荷分散装置７０３に出力するようにする。同様に、図５に示すフロー動作において、テスト信号の送信時に用いられたアプリケーションを同一の物理サーバに属する他のアプリケーションとともに除外していた場合、分散対象から除外していた同一の物理サーバに属するアプリケーションを再起動する。そして、その再起動したアプリケーション全てに関して、監視サーバ３０２の受信部３０２ａ２が所定時間以内に応答信号を受信していれば、監視サーバ３０２の指示部３０２ａ３が解除信号を負荷分散装置７０３に出力するようにする。
【００６２】
一方、監視サーバ３０２の受信部３０２ａ２が所定時間以内に応答信号を受信していない場合、監視サーバ３０２の指示部３０２ａが解除信号を出力することなく、図６に示すフロー動作を終了する。
【００６３】
上述した分散対象からの除外解除を実行することで、処理の遅延が解消されたアプリケーションを円滑に分散対象に戻すことができる。
【００６４】
＜５．変形例＞
上記実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。上述した実施形態において説明した種々の変形例は互いに矛盾しない限り適宜組合せて実施することができる。
【００６５】
例えば上述した実施形態では、管理サーバ３００が１つのテスト用通信端末４００に対してテスト信号を送信したが、管理サーバ３００が異なる場所に存在する複数のテスト用通信端末４００に対してテスト信号を送信してもよい。
【００６６】
管理サーバ３００が異なる場所に存在する複数のテスト用通信端末４００に対してテスト信号を送信することで、クラウドシステムが提供するサービスに不具合が生じる原因がデータセンタ７００側にあるのかクライアント端末１００や公衆網５００側にあるのかを切り分けることが可能になる。
【００６７】
物理サーバ７０５又は７０６の或る１つのアプリケーションに対するテストにおいて、複数のテスト用通信端末４００全てに関して処理の遅延が生じた場合、クラウドシステムが提供するサービスに不具合が生じる原因がデータセンタ７００側にあると推定できる。一方、物理サーバ７０５又は７０６の或る１つのアプリケーションに対するテストにおいて、複数のテスト用通信端末４００の一部のみに関して処理の遅延が生じた場合、クラウドシステムが提供するサービスに不具合が生じる原因が、処理の遅延が生じたテスト用通信端末４００の場所に対応するクライアント端末１００や公衆網５００側にあると推定できる。したがって、監視サーバ３０２の制御部３０２ａが上記のような推定処理を実行するようにしてもよい。
【００６８】
例えば、クライアント端末１００の情報処理装置１０２にテスト用通信端末４００の情報処理装置４０１の機能を付加することで、複数のクライアント端末１００を異なる場所に存在する複数のテスト用通信端末４００として利用することができる。これにより、テスト用通信端末４００を設置するために必要となるコストを抑えることができる。また、テストにおいて端末が存在する場所とサービスが実際に利用されているときに端末が存在する場所とが一致するので、上述した推定処理における推定精度が向上する。
【００６９】
また、管理サーバ３００が異なる場所に存在する複数のテスト用通信端末４００に対してテスト信号を送信する場合、監視サーバ３０２を図７に示す構成にしてもよい。図７に示す監視サーバ３０２では、制御部３０２ａが算出部３０２ａ４を備えている。
【００７０】
算出部３０２ａ４は、送信部３０２ａ１がテスト信号を送信してから受信部３０２ａ２が応答信号を受信するまでに要する時間の平均値を場所毎に算出する。算出部３０２ａ４によって算出された平均時間を確認することで、処理の遅延が特定の地域の問題であるか否かを容易に確認することができる。
【００７１】
なお、平均値としては、全てのアプリケーションに関する平均値であってもよく、特定のアプリケーションに関する平均値であってもよい。また、例えば、大きい方から所定数の時間を省き小さい方から所定数の時間を省いた中央範囲に属する時間の平均値を算出してもよい。また、各場所としては地図上の一点であってもよいが、所定のひとかたまりの範囲を同一の場所としてもよい。算出部３０２ａ４によって算出された平均時間は、例えば地図上にマッピングし、そのマッピングした結果をＰＣ３０１のディスプレイに表示すればよい。これにより、処理の遅延が特定の地域の問題であるか否かの確認がより一層容易になる。地域は、例えば都道府県や、市町村の境界に応じて定められる範囲（境界範囲）である。また、地域は各タクシー会社が営業可能な領域として定められているそれぞれの範囲（営業範囲）であってもよい。さらに地域は、通信網の種類（例えば、FORMA通信網や、有線・無線の通信網等）に応じて定められる範囲（通信網範囲）であってもよい。
【００７２】
また、上述した実施形態をそのまま実施した場合、全てのアプリケーションが分散対象から除外されてしまい、クラウドシステムとして全く動作しないという事態が生じ得る。そこで、指示信号がそのまま出力されれば全てのアプリケーションが分散対象から除外されてしまう場合には、監視サーバ３０２の指示部３０２ａ３が例外的に指示信号を出力しない構成として、全てのアプリケーションが分散対象から除外されてしまう事態を未然に回避するようにしてもよい。
【００７３】
また、例えば上述した実施形態では、管理サーバ３００を１つのみ設けたが、管理サーバ３００以外に図８に示すようにデータセンタ７００の内部にも管理サーバ８００を設けるようにしてもよい。
【００７４】
データセンタ７００の内外それぞれに管理サーバを設けることで、クラウドシステムが提供するサービスに不具合が生じる原因がデータセンタ７００側にあるのか専用網６００側にあるのかを切り分けることが可能になる。
【００７５】
物理サーバ７０５又は７０６の或る１つのアプリケーションに対するテストにおいて、両方の管理サーバに関して処理の遅延が生じた場合、クラウドシステムが提供するサービスに不具合が生じる原因がデータセンタ７００側にあると推定できる。一方、物理サーバ７０５又は７０６の或る１つのアプリケーションに対するテストにおいて、管理サーバ３００のみに関して処理の遅延が生じた場合、クラウドシステムが提供するサービスに不具合が生じる原因が、専用網６００側にあると推定できる。したがって、管理サーバ３００又は管理サーバ８００が他方の管理サーバでのテスト結果を取得して上記のような推定処理を実行するようにしてもよい。
【００７６】
また、物理サーバ７０５又は７０６の或る１つのアプリケーションに対するテストにおいて、両方の管理サーバに関して処理の遅延が生じた場合であって且つ指示信号がそのまま出力されれば全てのアプリケーションが分散対象から除外されてしまう場合には、両方の管理サーバが例外的に指示信号を出力しない構成として、全てのアプリケーションが分散対象から除外されてしまう事態を未然に回避するようにし、さらに一部のアプリケーションの処理優先度（例えばＮＩＣＥ値）を残りのアプリケーションの処理優先度よりも高くすればよい。処理優先度を高くしたアプリケーションを使用することで、処理の遅延を抑えることができる。この場合、仮想サーバのＣＰＵはマルチコア対応のＣＰＵにすればよい。
【符号の説明】
【００７７】
３００  管理サーバ
３０１  ＰＣ
３０２ａ１  送信部
３０２ａ２  受信部
３０２ａ３  指示部
３０２ａ４  算出部
５００  公衆網
６００  専用網
７００  データセンタ
７０３  負荷分散装置
７０５、７０６  物理サーバ
７０５ａ、７０５ｂ  仮想サーバ
【図１】
2018195113.tif 000003
【図２】
2018195113.tif 000004
【図３】
2018195113.tif 000005
【図４】
2018195113.tif 000006
【図５】
2018195113.tif 000007
【図６】
2018195113.tif 000008
【図７】
2018195113.tif 000009
【図８】
2018195113.tif 000010