以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[広域分散処理システム]
図1は、本実施の形態における広域分散処理システムの一例を示す図である。広域分散処理システムは、例えば、端末装置10にサービスを提供するサーバ(情報処理装置)を、広域に分散して配置するシステムを示す。広域分散処理システムは、広域に配置された各サーバが、端末装置10にサービスを提供する。
図1に示す広域分散処理システムは、複数の階層(以下、レイヤともいう)のいずれかに属する複数のサーバを有する。図1に示す複数のサーバは、センターサーバc1〜cn、上位中間サーバum001〜um00n、下位中間サーバlm001〜lm00n、エッジサーバe001〜e00nを有する。
以下、センターサーバc1〜cn、上位中間サーバum001〜um00n、下位中間サーバlm001〜lm00n、エッジサーバe001〜e00nを、サーバとも称する。また、センターサーバc1〜cnを、センターサーバcxとも称する。また、上位中間サーバum001〜um00nを、上位中間サーバum00xとも称する。また、下位中間サーバlm001〜lm00nを、下位中間サーバlm00xとも称する。また、エッジサーバe001〜e00nを、エッジサーバe00xとも称する。
図1に示すセンターサーバc1xは、最上位レイヤに属するサーバであって、上位中間サーバum00xは、最上位レイヤの1つ下の上位中間レイヤに属するサーバである。また、図1に示す下位中間サーバlm00xは、上位中間レイヤの1つ下の下位中間レイヤに属するサーバであって、エッジサーバe00xは、下位中間レイヤの1つ下の、最下層のエッジレイヤに属するサーバである。
本実施の形態において、例えば、センターサーバcxは、首都圏等のデータセンタ等に位置するサーバであって、上位中間サーバum00xは、各県のデータセンタ等に位置するサーバを示す。また、例えば、下位中間サーバlm00xは、市町村のデータセンタ等に位置するサーバを示し、エッジサーバe00xは、基地局等を示す。
上述した各サーバは、例えば、アプリケーションa1を実行することによって、通信を介して、端末装置10に対してサービスを提供する。各サーバは、例えば、アプリケーションa1の処理結果を端末装置10に送信することによって、サービスを提供する。また、各サーバは、例えば、端末装置10からの入力情報を受信し、アプリケーションa1が入力情報に基づいて処理を実行することによって、サービスを提供する。
本実施の形態におけるアプリケーションa1は、通信を介して、端末装置10に所定のサービスを提供するプログラムを示す。アプリケーションa1は、例えば、ゲームや、ファイルの送受信、端末装置10の位置に応じた情報のダウンロード等のプログラムを示す。
また、本実施の形態における端末装置10は、移動可能な通信装置である。図1は、端末装置10を携帯するユーザが、車や電車等の移動車両に乗って移動する場合を例示する。端末装置10は、例えば、スマートフォンや、タブレット端末、パーソナルコンピュータ、ゲーム装置等の通信装置を示す。
(通信時間)
図1に示す広域分散処理システムにおいて、各エッジサーバe001〜e00nは、無線通信を介して端末装置10と接続する。また、図1に示す下位中間サーバlm001は、有線通信または無線通信を介してエッジサーバe001〜e00nと接続し、エッジサーバe001〜e00nを経由して端末装置10と接続する。
同様にして、上位中間サーバum001は、有線通信または無線通信を介して下位中間サーバlm001〜lm00n及びエッジサーバe001〜e00nと接続し、エッジサーバe001〜e00nを経由して端末装置10と接続する。センターサーバc1は、有線通信または無線通信を介して上位中間サーバum001〜um00n、下位中間サーバlm001〜lm00n、及び、エッジサーバe001〜e00nと接続し、エッジサーバe001〜e00nを経由して端末装置10と接続する。
したがって、下位のレイヤに属するサーバと端末装置10との通信距離は、上位のレイヤに属するサーバと端末装置10との通信距離に対して短い。これにより、下位のレイヤに属するサーバと端末装置10との通信時間は、上位のレイヤに属するサーバと端末装置10との通信時間に対して短い。
具体的に、エッジサーバe00xと端末装置10との通信時間は、下位中間サーバlm00xと端末装置10との通信時間に対して短い。同様にして、下位中間サーバlm001と端末装置10との通信時間は、上位中間サーバum001と端末装置10との通信時間に対して短い。
サービスは、例えば、サービスが要求する応答性能(要求応答性能ともいう)の規定を有する。サービスの要求応答性能が高い場合、通信時間の応答性能に対する影響は大きい。したがって、例えば、端末装置10との通信時間が短いエッジサーバe00xが、端末装置10にサービスを提供する。これにより、サービスを提供するサーバと端末装置10との間の通信時間に基づく応答時間の遅延(通信遅延ともいう)が低減し、サービスの応答性能を向上可能になる。
なお、図1に示す広域分散処理システムによると、上位のレイヤに属するサーバ(例えば、下位中間サーバlm001)は、下位のレイヤに属するサーバ(例えば、エッジサーバe001)を端末装置10との通信における中継装置として利用する。ただし、この例に限定されるものではない。上位のレイヤに属するサーバは、別途、設けた中継装置を経由して、端末装置10と接続してもよい。別途、設けた中継装置を経由して端末装置10と接続する場合についても、下位のレイヤに属するサーバと端末装置10との通信時間は、上位のレイヤに属するサーバと端末装置10との通信時間に対して短い。
(カバーエリア)
それぞれのエッジサーバe001〜e00nは、図1の点線の台形に示す、カバーエリアEe001〜Ee00nを有する。カバーエリアEe001〜Ee00nは、エッジサーバe001〜e00nが、端末装置10に対して、所定の応答性能にしたがってサービスを提供可能な領域である。各エッジサーバe001〜e00nは、当該エッジサーバe001〜e00nのカバーエリアEe001〜Ee00nに位置する端末装置10に対して、サービスを提供する。
また、図1に図示していないが、エッジサーバe00x以外のサーバ(センターサーバcx、上位中間サーバum00x、下位中間サーバlm00x)についても、カバーエリアを有する。各サーバのカバーエリアについては、図2にしたがって説明する。
次に、図2にしたがって、端末装置10が移動した場合の、サービスに関する情報の移行処理を説明する。
[移行処理]
図2は、図1に示した広域分散処理システムにおいて、端末装置10が移動した場合の移行処理を説明する図である。図2において、図1で示したものと同一のものは、同一の記号で示す。図2は、端末装置10aが移動して、カバーエリア「Ee006」に進入した場合を例示する。
図2は、各種サーバのカバーエリアを模式的に示す。図2に示すエリア「Ee001」は、エッジサーバe001(図1)のカバーエリアである。同様にして、エリア「Ee002」、「Ee003」は、エッジサーバe002、e003(図1)のカバーエリアである。他のエリア「Ee004」〜「Ee019」についても、エッジサーバe004〜e019(図1に図示せず)のカバーエリアである。
また、図2に示すエリア「Elm001」は、下位中間サーバlm001(図1)のカバーエリアであって、エリア「Elm002」は、下位中間サーバlm002(図1に図示せず)のカバーエリアである。また、エリア「Eum001」は上位中間サーバum001(図1)のカバーエリアであって、エリア「Ec1」はセンターサーバc1(図1)のカバーエリアである。
図2の例によると、下位中間サーバlm001のカバーエリア「Elm001」は、下位中間サーバlm001と接続する、エッジサーバe001〜e009のカバーエリア「Ee001」〜「Ee009」に対応する。同様にして、上位中間サーバum001のカバーエリア「Eum001」は、上位中間サーバum001と接続する下位中間サーバlm001〜lm00nのカバーエリア「Elm001」〜「Elm00n(図示せず)」に対応する。
同様にして、センターサーバc1のカバーエリア「Ec1」は、センターサーバc1と接続する上位中間サーバum001〜um00nのカバーエリア「Eum001」〜「Eum00n(図示せず)」に対応する。
このように、上位のレイヤに属するサーバのカバーエリアは、例えば、当該サーバと接続する、下位のレイヤに属する複数のサーバのカバーエリアに対応する。したがって、図2の例に示すように、上位のレイヤに属するサーバのカバーエリアは、下位のレイヤに属するサーバのカバーエリアに対して広い。
端末装置10aにおけるサービスの応答性能は、サービスの提供を受けるサーバのカバーエリアから離れるに連れて低下する。したがって、端末装置10aが移動して、別のカバーエリアに進入した場合、別のカバーエリアのサーバからサービスの提供を受ける。即ち、端末装置10aにサービスを提供するサーバが変更する。
サービスを提供するサーバの変更に伴って、端末装置10aにサービスを提供する際に使用する、サービスに関する情報(サービス情報ともいう)の、サーバ間の移行処理が生じる。サービス情報は、例えば、アプリケーションa1のプログラムや、アプリケーションa1が使用するユーザ状態情報等を示す。
サービス情報の移行処理は、例えば、アプリケーションa1のインストール処理や、アプリケーションa1の起動処理、及び、アプリケーションa1が使用するユーザ状態情報の複写処理等を示す。ユーザ状態情報は、例えば、アプリケーションa1の処理の進捗状態、ユーザのアカウント情報、セキュリティ情報、及び、ユーザのデータ等を示す。
サービスの内容は、端末装置10に応じて異なる。したがって、各サーバが、図1に示す広域分散処理システムが提供する全てのサービスのアプリケーションをインストールすると、各サーバの記憶領域の容量を圧迫する。このため、例えば、各サーバは、当該サーバのカバーエリアに位置する端末装置10aが利用するサービスのアプリケーションa1のみをインストールする。この場合、新たに端末装置10aにサービスを提供するサーバは、移行処理として、アプリケーションa1をインストールする場合がある。
また、広域分散処理システムでは、複数のサーバが交替して、端末装置10aに継続したサービスを提供する。したがって、端末装置10aにサービスを提供するサーバは、端末装置10aに関するユーザ状態情報を複写して共有し、継続したサービスの提供を実現する。したがって、サーバは、仮に、アプリケーションa1がインストール済みである場合にも、移行処理として、ユーザ状態情報の複写処理を行う。
このように、端末装置10aが位置するカバーエリアの変更に伴って、サービス情報の移行処理が生じる。移行処理を実行中の時間帯(移行時間ともいう)は、サーバは端末装置10aにサービスを提供することができないため、端末装置10aはサービスの応答待ち状態となる。したがって、サービスの応答待ち時間が長くなる。
前述したとおり、エッジサーバe00xのカバーエリアは、上位のレイヤに属するサーバのカバーエリアに対して狭い。したがって、エッジサーバe00xが端末装置10aにサービスを提供する際、端末装置10aの移動速度が速い場合に、カバーエリアの変化の頻度が増加する。これにより、端末装置10aがカバーエリアを移動した場合の、サービスの応答待ち時間(移行遅延ともいう)が長くなる。
図2の例によると、端末装置10aは、カバーエリア「Ee001」〜「Ee003」を経由して、カバーエリア「Ee006」に進入する。図2の例において、端末装置10aは、各カバーエリア「Ee001」〜「Ee003」に数分程度しか滞在しない。したがって、エッジサーバe003に対する移行処理が完了した後、短期間のうちに、エッジサーバe006に対する移行処理が生じる。また、カバーエリアEe006に滞在中に、エッジサーバe006に対する移行処理が完了しない場合も生じ得る。
このように、端末装置10aの移動速度によっては、端末装置10aのサービスの応答待ち時間が増加し、応答性能が低下する。端末装置10aの移動速度は一様ではなく、様々な速度の端末装置10aを含む。したがって、移行遅延を考慮しないことにより、サービスの応答性能が低下する場合がある。
一方、エッジサーバe001〜e003、e006の上位のレイヤに属する、下位中間サーバlm001がサービスを提供する場合、カバーエリアが広いことから、端末装置10aが高速に移動する場合であっても、移行処理の頻度が低減する。これにより、移行遅延が低減し、応答待ち時間を低減する。しかしながら、下位中間サーバlm001と端末装置10aとの通信時間は、エッジサーバe001〜e003、e006と端末装置10aとの通信時間に対して長い。したがって、移行遅延が低減する一方、通信遅延が増加する。
このように、端末装置10aが移動する場合、通信遅延と移行遅延はトレードオフの関係にある。また、移行遅延は、端末装置10aの速度に応じて変動する。したがって、速度が一様ではない端末装置10aにサービスを提供するサーバを、サービスの応答許容時間を満たすように、複数のサーバから決定することは容易ではない。
[本実施の形態の概要]
したがって、本実施の形態における広域システムマネージャは、端末装置10にサービスを提供するサーバ(情報処理装置)それぞれから、該サーバがサービスを提供する提供領域(カバーエリア)に滞在した端末装置10の滞在時間の履歴を取得する。
また、広域システムマネージャは、第1の端末装置10の移動に応じて、カバーエリア(提供領域)内に第1の端末装置10の位置を有する複数のサーバから、第1の端末装置10にサービスを提供するサーバを決定する。広域システムマネージャは、端末装置10との通信時間と、履歴に基づいて取得した第1の端末装置10の位置を有するカバーエリアの滞在時間に対する、移行時間の割合とに基づいて、サービスを提供するサーバを決定する。
端末装置10との通信時間は、端末装置10との通信に要する時間を示す。移行時間は、サーバ間の、サービス情報の移行処理に要する期間を示す。サービス情報は、前述したとおりである。
通信時間は、サーバに応じて異なる。また、カバーエリアの滞在時間は、端末装置10の移動速度に応じて異なる。端末装置10の移動速度が速い場合、滞在時間が短くなり、滞在時間に対する移行時間の割合は大きくなる。一方、端末装置10の移動速度が遅い場合、滞在時間が長くなり、滞在時間に対する移行時間の割合は小さくなる。
したがって、広域システムマネージャは、サーバに応じて異なる通信時間に基づく通信遅延と、端末装置10の移動速度に応じて変動する、滞在時間に対する移行時間の割合に基づく移行遅延とに基づいて、応答待ち時間が低減するサーバを選択できる。これにより、広域システムマネージャは、複数のサーバから、端末装置10の移動速度に応じて、サービスの応答許容時間を満たすサーバを選択できる。
このように、広域システムマネージャは、システムにおける端末装置10の移動速度が一様ではない場合に、複数のサーバから、サービスの応答許容時間を満たすサーバを、当該端末装置10にサービスを提供するサーバとして決定できる。
図3は、本実施の形態における広域システムマネージャの処理を説明するフローチャート図である。
S11:広域システムマネージャは、端末装置10にサービスを提供するサーバそれぞれから、当該サーバのカバーエリアに滞在した端末装置10の滞在時間の履歴を取得する。即ち、広域システムマネージャは、図1に示した各サーバから、当該サーバのカバーエリアにおける、端末装置10の滞在時間の履歴を取得する。
S12:広域システムマネージャは、端末装置10の移動に応じて、カバーエリア内に当該端末装置10の位置を有する複数のサーバから、通信時間と、滞在時間に対する移行時間の割合とに基づいて、当該端末装置10にサービスを提供するサーバを決定する。
図2の例によると、広域システムマネージャは、カバーエリア内に端末装置10の位置を有する、候補サーバ(エッジサーバe006、下位中間サーバlm001、上位中間サーバum001、センターサーバc1)から、サーバを決定する。
また、広域システムマネージャは、工程S11で取得した滞在時間の履歴に基づいて、候補サーバごとに、端末装置10が位置するカバーエリアの滞在時間を取得する。そして、広域システムマネージャは、各候補サーバの、端末装置10との通信時間と、取得した滞在時間に対する移行時間の割合とに基づいて、複数の候補サーバから端末装置10aにサービスを提供するサーバを決定する。
(サーバの決定例)
図4は、本実施の形態における広域システムマネージャによるサーバの決定例を示す図である。図4において、図2で示したものと同一のものは、同一の記号で示す。
図4は、速度の異なる複数の端末装置10a、10bに対してサービスを提供するサーバの決定例を例示する。白抜きで示す車両に携帯される端末装置10aの移動速度は、斜線で示す車両に携帯される端末装置10bの移動速度に対して速い。また、図4の例において、端末装置10aは、アプリケーションID「a1」のアプリケーションを実行し、端末装置10bは、アプリケーションID「a2」のアプリケーションを実行する。
第1に、図2の例と同様にして、端末装置10aがカバーエリア「Ee006」に進入した場合を例示する。広域システムマネージャは、各サーバから、端末装置10aが、カバーエリアに滞在した滞在時間の履歴を取得する(図3のS11)。
図3で前述したとおり、広域システムマネージャは、候補サーバe006、lm001、um001、c1から、端末装置10aにサービスを提供するサーバを決定する(図3のS12)。端末装置10aの移動速度は速いため、各候補サーバの移行時間の割合が示す、移行遅延は大きい値になる傾向にある。
したがって、広域システムマネージャは、例えば、通信時間が所定の応答性能を満たし、移行時間の割合が低減する下位中間サーバlm001を、端末装置10aにサービスを提供するサーバとして決定する。このため、広域システムマネージャは、アプリケーションID「a1」のサービス情報を、下位中間サーバlm001に配備する。つまり、広域システムマネージャは、下位中間サーバlm001に対するサービス情報の移行処理を指示する。
第2に、端末装置10bがカバーエリア「Ee013」に進入した場合を例示する。広域システムマネージャは、候補サーバe013、lm001、um001、c1から、端末装置10aにサービスを提供するサーバを決定する(図3のS12)。端末装置10bの移動速度は遅いため、各候補サーバの移行時間の割合は小さい。
したがって、広域システムマネージャは、例えば、通信時間が最少となるエッジサーバe013を、端末装置10bにサービスを提供するサーバとして決定する。このため、広域システムマネージャは、アプリケーションID「a2」のサービス情報を、エッジサーバe013に配備する。つまり、広域システムマネージャは、エッジサーバe009に対するサービス情報の移行処理を指示する。
このように、広域システムマネージャは、端末装置10の移動速度に応じて変動する移行遅延と、候補サーバに応じて異なる通信遅延とに基づいて、応答許容時間を満たすサーバを選択できる。これにより、広域システムマネージャは、端末装置10の移動速度に応じて、サービスの応答許容時間を満たすサーバを、端末装置10にサービスを提供するサーバとして決定できる。
次に、図5にしたがって、本実施の形態における広域システムマネージャ(情報処理装置)のハードウェア構成を、図6にしたがって、図5に示す広域システムマネージャのソフトウェアブロック図を説明する。
[広域システムマネージャのハードウェア構成]
図5は、本実施の形態における広域システムマネージャ(管理装置)100のハードウェア構成図である。広域システムマネージャ100は、例えば、CPU(Central Processing Unit:CPU)101、メインメモリ110や補助記憶装置111等を備えるメモリ102、通信インタフェース部103、外部インタフェース部104を有する。各部は、バス106を介して相互に接続する。
CPU101は、バス106を介してメモリ102等と接続するとともに、広域システムマネージャ100全体の制御を行う。通信インタフェース部103は、インターネット等を介して、図1に示した各サーバと接続し、データの送受信を行う。
RAM(Random Access Memory:RAM)等を示すメインメモリ110は、CPU101が処理を行うデータ等を記憶する。補助記憶装置111は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等を示す。
補助記憶装置111は、CPU101が実行するオペレーションシステムのプログラムを格納する領域(図示せず)や、配備先特定プログラム格納領域120、履歴情報群格納領域Ht、テーブル情報格納領域Tlを有する。
配備先特定プログラム格納領域120の配備先特定プログラム(以下、配備先特定プログラム120と称する)は、CPU101の実行によって、端末装置10にサービスを提供するサーバの決定処理を実現する。
履歴情報群格納領域Htの履歴情報群(以下、履歴情報群Htと称する)は、配備先特定プログラム120がアクセスする情報であって、複数の履歴情報を有する。テーブル群格納領域Tlのテーブル群(以下、テーブル群Tlと称する)は、配備先特定プログラム120がアクセスするテーブル群であって、複数のテーブルを有する。履歴情報群Ht、及び、テーブル群Tlの詳細は、図6にしたがって後述する。
[広域システムマネージャ100のソフトウェアブロック]
図6は、図5に示した広域システムマネージャ100のソフトウェアブロックの構成図である。図5に示した配備先特定プログラム120は、サーバ通信モジュール121、記録モジュール122、滞在履歴算出モジュール123、移行履歴算出モジュール124を有する。また、配備先特定プログラム120は、さらに、配備先レイヤ決定モジュール125、投機配備エリア決定モジュール126、配備指示作成モジュール127、ユーザ状態情報通知モジュール128を有する。
また、図5に示した履歴情報群Htは、ユーザ移動ログ情報Ht1、アプリケーション移行ログ情報Ht2、ユーザ別滞在履歴情報Ht3、アプリケーション別移行履歴情報Ht4を有する。
ユーザ移動ログ情報Ht1は、各端末装置10の、カバーエリア間の移動に関する情報を有する。ユーザ移動ログ情報Ht1の詳細は、図7にしたがって後述する。アプリケーション移行ログ情報Ht2は、サービス情報の移行処理に関する情報を有する。アプリケーション移行ログ情報Ht2の詳細は、図8にしたがって後述する。
ユーザ別滞在履歴情報Ht3は、各カバーエリアにおける端末装置10の滞在時間の履歴をユーザごとに有する。ユーザ別滞在履歴情報Ht3の詳細は、図9にしたがって後述する。アプリケーション別移行履歴情報Ht4は、各アプリケーションの、移行処理に要する移行時間の履歴を有する。アプリケーション別移行履歴情報Ht4の詳細を、図10にしたがって後述する。
また、図5に示したテーブル群Tlは、ユーザ情報Tl1、アプリケーション情報Tl2、ネットワークリンク情報Tl3、ユーザ・アプリケーション対応情報Tl4、サーバトポロジ情報Tl5を有する。
ユーザ情報Tl1は、広域システムマネージャ100がサービスの対象とする、対象ユーザの情報を有する。ユーザ情報Tl1の詳細は、図11にしたがって後述する。アプリケーション情報Tl2は、アプリケーションごとに、サービスの要求応答性能の情報を有する。アプリケーション情報Tl2の詳細は、図12にしたがって後述する。
ネットワークリンク情報Tl3は、サーバと端末装置10との間の各経路の、通信遅延の情報を有する。ネットワークリンク情報Tl3の詳細は、図13にしたがって後述する。ユーザ・アプリケーション対応情報Tl4は、各端末装置10にサービスを提供するサーバの情報を有する。ユーザ・アプリケーション対応情報Tl4の詳細は、図14にしたがって後述する。
サーバトポロジ情報Tl5は、サーバごとに、隣接するカバーエリアの情報、及び、サービス情報を移行処理済みのアプリケーションの情報等を有する。サーバトポロジ情報Tl5の詳細は、図15にしたがって後述する。
サーバ通信モジュール121は、各サーバと接続し、端末装置10の移動通知や、移行処理の開始、及び、終了通知を受信する。また、サーバ通信モジュール121は、移行処理の実行指示や、ユーザ状態情報の送信指示等をサーバに送信する。
記録モジュール122は、サーバから受信した移動通知や、移行処理の開始及び終了通知の情報を、ユーザ移動ログ情報Ht1、及び、アプリケーション移行ログ情報Ht2に記憶する。また、記録モジュール122は、移動通知や入力情報に基づいて、ユーザ情報Tl1、アプリケーション情報Tl2、ネットワークリンク情報Tl3等の情報を更新する。
滞在履歴算出モジュール123は、ユーザ情報Tl1及びユーザ移動ログ情報Ht1を参照して、各ユーザの移動ログ情報の更新情報を取得し、ユーザ別滞在履歴情報Ht3に記憶する。滞在履歴算出モジュール123の処理の詳細は、図17のフローチャート図にしたがって後述する。
移行履歴算出モジュール124は、ユーザ情報Tl1及びアプリケーション移行ログ情報Ht2を参照して、各アプリケーションの移行情報の更新情報を取得し、アプリケーション別移行履歴情報Ht4に記憶する。移行履歴算出モジュール124の処理の詳細は、図18のフローチャート図にしたがって後述する。
配備先レイヤ決定モジュール125は、ユーザ別滞在履歴情報Ht3、アプリケーション別移行履歴情報Ht4を参照し、端末装置10の滞在時間における移行時間の割合を取得する。また、配備先レイヤ決定モジュール125は、ネットワークリンク情報Tl3を参照し、端末装置10の滞在時間を取得する。
また、配備先レイヤ決定モジュール125は、ユーザ情報Tl1、アプリケーション情報Tl2を参照し、通信時間及び移行時間の割合に基づいて、端末装置10にサービスを提供するサーバが所属するレイヤ(配備レイヤともいう)を決定する。配備先レイヤ決定モジュール125の処理の詳細は、図19、図20のフローチャート図にしたがって後述する。
投機配備エリア決定モジュール126は、滞在時間における移行時間の割合に基づいて、予め、サービス情報を投機的に移行(配備)するカバーエリア(投機配備エリアともいう)を決定する。また、投機配備エリア決定モジュール126は、決定した投機配備エリアを、ユーザ・アプリケーション対応情報Tl4に記憶する。投機配備エリア決定モジュール126の処理の詳細は、図23のフローチャート図にしたがって後述する。
配備指示作成モジュール127は、配備先レイヤ決定モジュール125が決定したレイヤの、端末装置10が位置するカバーエリアのサーバに対する、サービス情報の移行処理を指示する。また、配備指示作成モジュール127は、投機配備エリアのサーバに対する、サービス情報の移行処理を指示する。
また、配備指示作成モジュール127は、サーバトポロジ情報Tl5を参照し、サービス情報を移行処理済みのカバーエリアのうち、投機配備エリアが含まないカバーエリアのサーバに、サービス情報の削除を指示する。配備指示作成モジュール127の処理の詳細は、図24のフローチャート図にしたがって後述する。
ユーザ状態情報通知モジュール128は、端末装置10にサービスを提供中のサーバが保持するユーザ状態情報を、ユーザ状態情報の更新に応じて、投機配備エリアのサーバに送信する。ユーザ状態情報通知モジュール128の処理の詳細は、図27のフローチャート図にしたがって後述する。
次に、図7〜図15にしたがって、図6で説明した、履歴情報群Ht及びテーブル群Tlの詳細を説明する。
[ユーザ移動ログ情報Ht1]
図7は、ユーザ移動ログ情報Ht1の一例を示す図である。ユーザ移動ログ情報Ht1は、各端末装置10の、カバーエリア間の移動に関する情報を有する。図7に示すユーザ移動ログ情報Ht1は、例えば、時刻、ユーザID(identify:ID)、イベント、サーバの項目を有する。図7に示す、イベント「user_in」はカバーエリアへの進入を示し、イベント「user_out」はカバーエリアからの退出を示す。
図7の矢印Y1に示す情報は、時刻「2014.12.21 12:20」に、ユーザID「u1」の端末装置10が、カバーエリア「Ee001」に進入したことを示す。また、矢印Y2に示す情報は、時刻「2014.12.21 12:30」に、ユーザID「u1」の端末装置10が、カバーエリア「Ee001」から退出したことを示す。
同様にして、矢印Y3に示す情報は、時刻「2014.12.21 12:40」に、ユーザID「u2」の端末装置10が、カバーエリア「Ee003」に進入したことを示す。同様にして、矢印Y4に示す情報は、時刻「2014.12.21 12:52」に、ユーザID「u2」の端末装置10が、カバーエリア「Ee003」から退出したことを示す。他の情報についても、同様にして、各項目の情報を有する。
[アプリケーション移行ログ情報Ht2]
図8は、アプリケーション移行ログ情報Ht2の一例を示す図である。アプリケーション移行ログ情報Ht2は、サービス情報の移行処理に関する情報を有する。図8に示す、アプリケーション移行ログ情報Ht2は、例えば、時刻、アプリケーションID、イベント、移行先のサーバの項目を有する。図8に示す、イベント「migrate_start」は移行処理の開始を示し、イベント「migrate_end」は移行処理の完了を示す。
図8の矢印Y11に示す情報は、時刻「2014.12.21 12:52」に、サーバe003からサーバe006に対する、アプリケーションID「a2」のサービス情報の移行処理が開始したことを示す。また、矢印Y12示す情報は、時刻「2014.12.21 12:56」に、当該移行処理が終了したことを示す。他の情報についても、同様にして、各項目の情報を有する。
[ユーザ別滞在履歴情報Ht3]
図9は、ユーザ別滞在履歴情報Ht3の一例を示す図である。ユーザ別滞在履歴情報Ht3は、各カバーエリアにおける端末装置10の滞在時間の履歴を有する。ユーザ別滞在履歴情報Ht3は、例えば、位置情報、進入時刻、退出時刻、滞在時間の項目を有する。位置情報は、端末装置10が位置するカバーエリア(エッジサーバe00xのカバーエリア)を示す。進入時刻は、端末装置10が位置情報のカバーエリアに進入した時刻を、退出時間は、端末装置10が位置情報のカバーエリアから退出した時刻を示す。
図9の(A)は、ユーザID「u1」のユーザ別滞在履歴情報Ht3−1の一例を示す。図9の(A)の例によると、端末装置10が、時刻「2014.12.21 12:20」にカバーエリア「Ee001」に進入し、時刻「2014.12.21 12:30」にカバーエリア「Ee001」から退出したことを示し、滞在時間が時間「00:10」であることを示す。他の情報についても、同様にして、各項目の情報を有する。
図9の(B)は、ユーザID「u2」のユーザ別滞在履歴情報Ht3−2の一例を示す。図9の(B)の例によると、端末装置10が、時刻「2014.12.21 12:40」にカバーエリア「Ee003」に進入し、時刻「2014.12.21 12:52」にカバーエリア「Ee003」から退出したことを示し、滞在時間が時間「00:12」であることを示す。他の情報についても、同様にして、各項目の情報を有する。
[アプリケーション別移行履歴情報Ht4]
図10は、アプリケーション別移行履歴情報Ht4の一例を示す図である。アプリケーション別移行履歴情報Ht4は、各アプリケーションの、移行処理に要する移行時間の履歴を有する。図10に示すアプリケーション別移行履歴情報Ht4は、例えば、アプリケーションID、移行元のサーバ、移行先のサーバ、開始時刻、終了時刻、移行時間の項目を有する。
図10の(A)は、アプリケーションID「a1」のアプリケーション別移行履歴情報Ht4−1の一例を示す。図10の(A)の例によると、エッジサーバe001からエッジサーバe002に対する、アプリケーションID「a1」のサービス情報の移行時間は、時間「00:03」である。また、エッジサーバe002からエッジサーバe003に対する、アプリケーションID「a1」のサービス情報の移行時間は時間「00:04」である。
図10の(B)は、アプリケーションID「a2」のアプリケーション別移行履歴情報Ht4−2の一例を示す。図10の(B)の例によると、エッジサーバe003からエッジサーバe006に対する、アプリケーションID「a2」のサービス情報の移行時間は、時間「00:04」である。また、エッジサーバe006からエッジサーバe009に対する、アプリケーションID「a2」のサービス情報の移行時間は、時間「00:03」である。
[ユーザ情報Tl1]
図11は、ユーザ情報Tl1の一例を示す図である。ユーザ情報Tl1は、広域システムマネージャ100がサービスの対象とする、対象ユーザの情報を有する。図11に示すユーザ情報Tl1は、例えば、ユーザID、端末装置10にサービス提供するサーバのカバーエリア、端末装置10が利用するアプリケーションIDの項目を有する。
図11の例によると、ユーザID「u1」の端末装置10は、カバーエリア「Elm001」に対応する下位中間サーバlm001から、アプリケーションID「a1」のサービスの提供を受けることを示す。また、ユーザID「u2」の端末装置10は、カバーエリア「Ee013」に対応するエッジサーバe013から、アプリケーションID「a2」のサービスの提供を受けることを示す。
[アプリケーション情報Tl2]
図12は、アプリケーション情報Tl2の一例を示す図である。アプリケーション情報Tl2は、アプリケーションごとに、サービスの要求応答性能の情報を有する。図12に示すアプリケーション情報Tl2は、例えば、アプリケーションID、予め規定された要求応答性能(milli second:ms)の項目を有する。
図12の例によると、アプリケーションID「a1」の要求応答性能は値「100ms」であって、アプリケーションID「a2」の要求応答性能は値「50ms」である。したがって、アプリケーションID「a2」の要求応答性能は、アプリケーションID「a1」に対して高い。
[ネットワークリンク情報Tl3]
図13は、ネットワークリンク情報Tl3の一例を示す図である。ネットワークリンク情報Tl3は、図1に示すサーバと端末装置10との間の各経路の、通信遅延の情報を有する。図13に示すネットワークリンク情報Tl3は、例えば、経路を示すリンク、経路の端点1、経路の端点2、通信遅延(ms)の項目を有する。
図13の例によると、端末装置(term)10とエッジサーバe006との間の経路「ln006」の通信遅延は、値「10ms」である。また、エッジサーバe006と下位中間サーバlm001との間の経路「ln106」の通信遅延は、値「10ms」である。したがって、端末装置(term)10と下位中間サーバlm001との経路の通信遅延は、値「20(=10+10)ms」である。
また、図13の例によると、下位中間サーバlm001と上位中間サーバum001との間の経路「ln201」の通信遅延は、値「20ms」である。したがって、端末装置(term)10と上位中間サーバum001との経路の通信遅延は、値「40(=20+20)ms」である。
[ユーザ・アプリケーション対応情報Tl4]
図14は、ユーザ・アプリケーション対応情報Tl4の一例を示す図である。ユーザ・アプリケーション対応情報Tl4は、各端末装置10にサービスを提供するサーバの情報を有する。図14に示すユーザ・アプリケーション対応情報Tl4は、例えば、ユーザID、アプリケーションID、端末装置10にサービスを提供するサーバが属する配備レイヤ、投機配備エリアの項目を有する。
図14の例によると、ユーザID「u1」の端末装置10は、下位中間レイヤに属する下位中間サーバlm00xから、アプリケーションID「a1」のサービスの提供を受けることを示す。また、図14の例によると、投機配備エリアは、エリア「lm001」である。
同様にして、図14の例によると、ユーザID「u2」の端末装置10は、エッジレイヤに属するエッジサーバe00xから、アプリケーションID「a2」のサービスの提供を受けることを示す。また、図14の例によると、投機配備エリアは、エリア「Ee004」、「Ee006」〜「Ee009」、「Ee012」、「Ee013」である。
[サーバトポロジ情報Tl5]
図15は、サーバトポロジ情報Tl5の一例を示す図である。サーバトポロジ情報Tl5は、サーバごとに、隣接するカバーエリアの情報、及び、サービス情報を移行済みのアプリケーションの情報等を有する。
図15に示すサーバトポロジ情報Tl5は、例えば、サーバ、上位レイヤのサーバID、下位レイヤのサーバID、隣接するカバーエリア、配備アプリケーションの項目を有する。配備アプリケーションは、サービス情報を移行済みのアプリケーションを示す。
図15の例によると、エッジサーバe001と接続する上位サーバは、サーバlm001であって、下位サーバはない。また、エッジサーバe001のカバーエリアは、カバーエリア「Ee002」、「Ee004」、「Ee005」と隣接し、エッジサーバe001に、サービス情報を移行済みのアプリケーションは存在しない。
また、図15の例によると、下位中間サーバlm001と接続する上位サーバは、上位中間サーバum001であって、下位中間サーバlm001と接続する下位サーバは、エッジサーバe001〜e009である。また、下位中間サーバlm001のカバーエリアは、カバーエリア「Elm002」と隣接し、下位中間サーバlm001には、アプリケーションID「a2」のサービス情報を移行済みである。
[下位中間サーバlm001、エッジサーバe001、e002のソフトウェアブロック]
図16は、下位中間サーバlm001、及び、エッジサーバe001、e002のソフトウェアブロック図の一例を示す図である。なお、センターサーバc1、上位中間サーバum001のソフトウェアブロック図も、図16に示す、下位中間サーバlm001、及び、エッジサーバe001、e002のソフトウェアブロックと同様である。
エッジサーバe001は、マネージャ通信モジュール311、サーバ通信モジュール312、移動検知モジュール313、アプリケーション実行モジュール314、アプリケーション配備制御モジュール315、端末通信モジュール316を有する。
マネージャ通信モジュール311は、広域システムマネージャ100のサーバ通信モジュール121と接続し、広域システムマネージャ100との通信処理を制御する。サーバ通信モジュール312は、下位中間サーバlm001との通信処理を制御する。
移動検知モジュール313は、例えば、MME(Mobility Management Entity)の処理にしたがって、無線通信に基づいて端末装置10の位置を管理し、端末装置10の移動を検知する。そして、移動検知モジュール313は、マネージャ通信モジュール311を介して、端末装置10の移動通知を広域システムマネージャ100に送信する。
アプリケーション実行モジュール314は、サービスを提供するアプリケーションを実行する。アプリケーション配備制御モジュール315は、広域システムマネージャ100による、サービス情報の移行処理の指示に応じて、サービス情報の移行処理を実行する。つまり、アプリケーション配備制御モジュール315は、アプリケーションのインストール処理や、アプリケーションの起動処理、アプリケーションが使用するユーザ状態情報の複写処理等を実行する。端末通信モジュール316は、端末装置10との通信処理を制御する。
図16に図示するエッジサーバe002のソフトウェアブロックは、エッジサーバe001と同様である。また、図16に示す下位中間サーバlm001は、マネージャ通信モジュール411、サーバ通信モジュール412、アプリケーション実行モジュール413、アプリケーション配備制御モジュール414、端末通信モジュール415を有する。
マネージャ通信モジュール411は、広域システムマネージャ100のサーバ通信モジュール121と接続し、広域システムマネージャ100との通信処理を制御する。サーバ通信モジュール412は、エッジサーバe001〜e009、及び、上位中間サーバum001との通信処理を制御する。
アプリケーション実行モジュール413、アプリケーション配備制御モジュール414、及び、端末通信モジュール415は、エッジサーバe001の同名のモジュールの処理と同様の処理を行う。なお、図示していないが、他の下位中間サーバlm00xのソフトウェアブロックも同様である。
次に、図17〜図20にしたがって、広域システムマネージャ100の配備先特定プログラム120の処理の詳細を説明する。図17にしたがって、滞在履歴算出モジュール123の処理の詳細を、図18にしたがって、移行履歴算出モジュール124の処理の詳細を説明する。また、図19、図20にしたがって、配備先レイヤ決定モジュール125の処理の詳細を説明する。
[滞在履歴算出モジュール123の処理]
図17は、図6で説明した滞在履歴算出モジュール123の処理を説明するフローチャート図である。エッジサーバe00xの移動検知モジュール313は、端末装置10のカバーエリアに対する進入及び退出を検知すると、広域システムマネージャ100に移動通知を送信する。滞在履歴算出モジュール123は、移動通知の受信に応じて、図17のフローチャート図に示す処理を開始する。
S21:移動通知の受信に応じて、滞在履歴算出モジュール123は、ユーザ移動ログ情報Ht1を参照して、移動ログが更新された端末装置10のユーザIDを取得する。そして、滞在履歴算出モジュール123は、ユーザ情報Tl1を参照し、取得したユーザIDが、広域システムマネージャ100が対象とするユーザ(対象ユーザともいう)であるか否かを判定する。対象ユーザではない場合、滞在履歴算出モジュール123は、工程S22〜S25の処理を行わない。
S22:滞在履歴算出モジュール123は、ユーザ移動ログ情報Ht1を参照し、前回、ユーザ別滞在履歴情報Ht3を更新した時点からの、更新分の情報を抽出する。
S23:滞在履歴算出モジュール123は、抽出した更新分のユーザ移動ログ情報Ht1に基づいて、移動した端末装置10の対象ユーザを特定する。
S24:滞在履歴算出モジュール123は、抽出した更新分のうち、対象ユーザの移動ログ情報を、ユーザ別滞在履歴情報Ht3に追加して記憶する。
例えば、滞在履歴算出モジュール123は、図7に示すユーザ移動ログ情報Ht1を参照し、ユーザID「u2」の端末装置10bが、エッジサーバe013のカバーエリアEe013に進入したことを示すログ情報を抽出する。そして、滞在履歴算出モジュール123は、抽出したログ情報を、図9の(B)に示すユーザID「u2」のユーザ別滞在履歴情報Ht3に記憶する。
S25:滞在履歴算出モジュール123は、全てのユーザの、ユーザ移動ログ情報Ht1の更新分を、ユーザ別滞在履歴情報Ht3に記憶したか否かを判定する。
記憶していない場合(S25のNo)、滞在履歴算出モジュール123は、工程S23の処理に遷移し、別の対象ユーザを特定する。一方、全ての対象ユーザの更新分を記憶した場合(S25のYes)、滞在履歴算出モジュール123は、滞在履歴の算出処理を終了する。
[移行履歴算出モジュール124の処理]
図18は、図6で説明した移行履歴算出モジュール124の処理を説明するフローチャート図である。滞在履歴算出モジュール123と同様にして、移行履歴算出モジュール124は移動通知の受信に応じて、図18のフローチャート図に示す処理を開始する。
S31:移動通知の受信に応じて、移行履歴算出モジュール124は、アプリケーション移行ログ情報Ht2を参照し、前回、アプリケーション別移行履歴情報Ht4を更新した時点からの、更新分の情報を抽出する。
S32:移行履歴算出モジュール124は、抽出した更新分のアプリケーション移行ログ情報Ht2に基づいて、移行処理が生じたアプリケーションを使用する対象ユーザを特定する。
S33:移行履歴算出モジュール124は、ユーザ情報Tl1を参照し、対象ユーザが使用するアプリケーションを抽出する。
S34:移行履歴算出モジュール124は、抽出した更新分の情報のうち、抽出したアプリケーションの移行ログを、対象ユーザの、アプリケーション別移行履歴情報Ht4に記憶する。
例えば、移行履歴算出モジュール124は、図8に示すアプリケーション移行ログ情報Ht2を参照し、エッジサーバe006からエッジサーバe009に対する、アプリケーションID「a2」の移行処理のログ情報を抽出する。そして、滞在履歴算出モジュール123は、抽出したログ情報を、図10の(B)に示す、ユーザID「u2」のアプリケーション別移行履歴情報Ht4に記憶する。
S35:移行履歴算出モジュール124は、全てのユーザの、アプリケーション移行ログ情報Ht2の更新分を、アプリケーション別移行履歴情報Ht4に記憶したか否かを判定する。
記憶していない場合(S35のNo)、移行履歴算出モジュール124は、工程S32の処理に遷移し、別の対象ユーザを特定する。一方、全ての対象ユーザの更新分を記憶した(S35のYes)、移行履歴算出モジュール124は、滞在履歴の算出処理を終了する。
[配備先レイヤ決定モジュール125の処理]
図19は、図6で説明した配備先レイヤ決定モジュール125の処理を説明する第1のフローチャート図である。滞在履歴算出モジュール123と同様にして、配備先レイヤ決定モジュール125は、移動通知の受信に応じて、図19のフローチャート図に示す処理を開始する。
S41:移動通知の受信に応じて、配備先レイヤ決定モジュール125は、ユーザ情報Tl1を参照し、移動した端末装置10のユーザが対象ユーザであるか否かを判断する。配備先レイヤ決定モジュール125は、移動した端末装置10のユーザが対象ユーザである場合に、工程S42以降の処理を行う。
S42:配備先レイヤ決定モジュール125は、移動通知が、カバーエリアへの進入を示す移動通知であるか否かを判定する。即ち、配備先レイヤ決定モジュール125は、移動通知が、イベント「user_in」を示す場合に、工程S43以降の処理を行う。移動通知がイベント「user_out」を示す場合、配備先レイヤ決定モジュール125は、工程S43以降の処理を行わない。
S43:配備先レイヤ決定モジュール125は、ユーザ情報Tl1を参照し、端末装置10が位置するカバーエリアを取得する。
S44:配備先レイヤ決定モジュール125は、アプリケーション情報Tl2を参照し、端末装置10のユーザが利用するアプリケーションの要求応答性能「rr」を取得する。
S45:配備先レイヤ決定モジュール125は、レイヤを選択する。配備先レイヤ決定モジュール125は、例えば、最下層のレイヤから順次、選択する。また、配備先レイヤ決定モジュール125は、ネットワークリンク情報Tl3を参照し、選択したレイヤに属するサーバと端末装置10との通信遅延「dc」を取得する。
S46:配備先レイヤ決定モジュール125は、通信遅延「dc」に係数「p」を乗算した値が、要求応答性能「rr」未満であるか否かを判定する。つまり、配備先レイヤ決定モジュール125は、「通信遅延「dc」×係数「p」<要求応答性能「rr」」を満たすか否かを判定する。本実施の形態例における係数「p」は、例えば、値「3」である。係数「p」は、例えば、検証等にしたがって設定される。係数「p」は、例えば、値「1」であってもよい。
S47:要求応答性能「rr」未満である場合(S46のYes)、配備先レイヤ決定モジュール125は、選択したレイヤを、配備候補レイヤとして登録する。つまり、配備先レイヤ決定モジュール125は、選択したレイヤの通信遅延「dc」が、要求応答性能「rr」に収まる場合、選択したレイヤを配備候補レイヤとして登録する。これにより、配備先レイヤ決定モジュール125は、端末装置10との通信時間の通信遅延「dc」が要求応答性能「rr」を満たす、1つまたは複数の配備候補レイヤを抽出する。
S48:配備先レイヤ決定モジュール125は、選択したレイヤの1つ上位のレイヤを選択する。つまり、配備先レイヤ決定モジュール125は、工程S45でエッジレイヤを選択した場合、下位中間レイヤを選択する。そして、配備先レイヤ決定モジュール125は、下位中間レイヤを対象として、工程S45、S46の処理を行う。
そして、配備先レイヤ決定モジュール125は、「通信遅延「dc」×係数「p」<要求応答性能「rr」」を満たす場合に、下位中間レイヤを、配備候補レイヤとして登録する(S47)。同様にして、配備先レイヤ決定モジュール125は、上位中間レイヤ、最上位レイヤを対象として、工程S45、S46の処理を行う。
一方、要求応答性能「rr」を超える場合(S46のNo)、配備先レイヤ決定モジュール125は、配備候補レイヤの検出を完了し、図20のフローチャート図の処理に遷移する(A)。下位のレイヤに属するサーバの端末装置10との通信遅延「dc」は、上位のレイヤに属するサーバの端末装置10との通信遅延「dc」に対して小さい。したがって、下位のレイヤから順次、判定することによって、配備候補レイヤを効率的に検出可能になる。
図20は、図6で説明した配備先レイヤ決定モジュール125の処理を説明する第2のフローチャート図である。
S51:配備先レイヤ決定モジュール125は、アプリケーション別移行履歴情報Ht4を参照し、移動した端末装置10が利用するアプリケーション(対象アプリケーションともいう)の移行時間「dm」を取得する。
例えば、配備先レイヤ決定モジュール125は、対象アプリケーションの過去の移行時間の平均値を、移行時間「dm」として推定する。または、配備先レイヤ決定モジュール125は、対象アプリケーションの直近の移行時間を、移行時間「dm」として推定する。ただし、この例に限定されるものではなく、配備先レイヤ決定モジュール125は、予め定めた、所定の移行時間を、移行時間「dm」として取得してもよい。
このように、移行履歴算出モジュール124は、サーバそれぞれから、さらに移行時間の履歴を取得し、配備先レイヤ決定モジュール125は、履歴に基づいて移行時間を取得する。これにより、対象アプリケーションに応じた移行時間を、適切に取得することが可能になる。
S52:配備先レイヤ決定モジュール125は、検出した配備候補レイヤのうち、最下位のレイヤを選択する。
S53:配備先レイヤ決定モジュール125は、ユーザ別滞在履歴情報Ht3を参照し、端末装置10の、選択したレイヤのカバーエリアにおける滞在時間「ts」を取得する。
例えば、配備先レイヤ決定モジュール125は、端末装置10の、選択したレイヤに属する複数のカバーエリアにおける過去の滞在時間を取得し、取得した滞在時間の平均値を、滞在時間「ts」として推定する。または、配備先レイヤ決定モジュール125は、端末装置10の、選択したレイヤに属するカバーエリアにおける直近の滞在時間を、滞在時間「ts」として推定する。
または、配備先レイヤ決定モジュール125は、端末装置10の移動速度とカバーエリアの面積とに基づいて、滞在時間「ts」を取得してもよい。なお、選択したレイヤに属するカバーエリアの滞在履歴がない場合、配備先レイヤ決定モジュール125は、例えば、選択したレイヤの下位レイヤに属するカバーエリアの滞在履歴に基づいて、滞在時間「ts」を取得する。処理の詳細は、図21にしたがって後述する。
S54:配備先レイヤ決定モジュール125は、「移行時間「dm」/滞在時間「ts」<移行影響係数「j」」を満たすか否かを判定する。即ち、配備先レイヤ決定モジュール125は、滞在時間「ts」に対する移行時間「dm」の割合が、移行影響係数「j」に収まるか否かを判定する。本実施の形態例における移行影響係数は、例えば、値「0.25」である。移行影響係数「j」は、移行処理に関する応答性能の閾値を示し、検証等にしたがって設定される。
S55:移行影響係数未満である場合(S54のYes)、配備先レイヤ決定モジュール125は、選択したレイヤを、移行遅延の応答性能を満たす適正なレイヤ(即ち、適正レイヤ)として記録する。
S56:一方、移行影響係数を超える場合(S54のNo)、配備先レイヤ決定モジュール125は、選択したレイヤを、非適正レイヤとして記録する。
S57:配備先レイヤ決定モジュール125は、全ての配備候補レイヤを対象として、工程S53〜S56の処理を行ったか否かを判定する。
S58:未選択の配備候補レイヤがある場合(S57のNo)、配備先レイヤ決定モジュール125は、配備候補レイヤのうち、1つ上位のレイヤを選択して、工程S53〜S56の処理を行う。前述したとおり、上位のレイヤは、下位のレイヤに対して、カバーエリアが広い。上位のレイヤの滞在時間は、下位のレイヤの滞在時間に対して長いため、滞在時間に対する移行時間の割合は、上位のレイヤに遷移するに連れて低減する。したがって、上位のレイヤほど、滞在時間に対する移行時間の割合が、移行影響係数未満になる可能性が高い。
このように、本実施の形態における広域分散処理システムの複数のサーバ(情報処理装置)は、第1のレイヤに属する情報処理装置と、第2のレイヤに属する情報処理装置とを有する。また、第1のレイヤに属するサーバのカバーエリア(提供領域)は、第2のレイヤに属するサーバのカバーエリアより広く、第1のレイヤに属するサーバの通信時間は、第2のレイヤに属するサーバの通信時間より長い。
第1のレイヤは第2のレイヤの上位のレイヤを示す。したがって、第1のレイヤに属するサーバの通信時間は、第2のレイヤに属するサーバの通信時間に対して大きい。一方、第1のレイヤに属するサーバの移行時間の割合は、第2のレイヤに属するサーバの移行時間の割合に対して小さい。
このため、端末装置10が移動する場合、レイヤが上位に遷移するに連れて、通信遅延が増加する一方、移行遅延は低減する。したがって、配備先レイヤ決定モジュール125は、レイヤに応じて変動する移行遅延と通信遅延とに基づくことにより、複数のレイヤから、移動する端末装置に対するサービスの応答許容時間を満たすレイヤを適切に選択できる。
S59:全ての配備候補レイヤを対象として、工程S53〜S56の処理を完了した場合(S57のYes)、配備先レイヤ決定モジュール125は、適正レイヤを検出したか否かを判定する。
S60:適正レイヤを検出した場合(S59のYes)、配備先レイヤ決定モジュール125は、適正レイヤのうち、通信遅延が最小となる最下位のレイヤを、配備レイヤとして選択する。
このように、配備先レイヤ決定モジュール125は、複数のサーバ(情報処理装置)から、通信時間が第1の基準値を満たすサーバを抽出する。そして、配備先レイヤ決定モジュール125は、通信時間が第1の基準値を満たすサーバのうち、移行時間の割合が第2の基準値を満たすサーバがある場合に、該第2の基準値を満たすサーバのうち通信時間が短いサーバを決定する。
即ち、配備先レイヤ決定モジュール125は、通信時間(通信遅延「dc」)に係数「p」を乗算した値が、第1の基準値(要求応答性能「rr」)未満となる配備候補レイヤを検出する。つまり、配備先レイヤ決定モジュール125は、通信遅延がサービスの応答性能を満たす配備候補レイヤを抽出する。
そして、配備先レイヤ決定モジュール125は、配備候補レイヤのうち、滞在時間「ts」に対する移行時間(移行遅延「dm」)の割合が第2の基準値(移行影響係数「j」)未満となる適正レイヤがある場合、適正レイヤのうち通信時間が小さいレイヤを決定する。つまり、配備先レイヤ決定モジュール125は、配備候補レイヤのうち、移行遅延が、所定の応答性能を満たす適正レイヤがある場合に、適正レイヤのうち通信遅延を低減する下位のレイヤを、配備レイヤとして選択する。
これにより、配備先レイヤ決定モジュール125は、通信遅延の応答性能、及び、移行遅延の応答性能を満たし、通信遅延を低減するレイヤを、配備レイヤとして選択できる。したがって、配備先レイヤ決定モジュール125は、端末装置10の移動速度に応じて、サービスの応答許容時間を満たすサーバを、端末装置10にサービスを提供するサーバとして決定できる。
S61:一方、適正レイヤを検出しなかった場合(S59のNo)、配備先レイヤ決定モジュール125は、配備候補レイヤのうち、移行遅延を低減する最上位のレイヤを、配備レイヤとして選択する。
このように、配備先レイヤ決定モジュール125は、複数のサーバ(情報処理装置)から、通信時間が第1の基準値を満たすサーバを抽出する。そして、配備先レイヤ決定モジュール125は、通信時間が第1の基準値を満たすサーバのうち、移行時間の割合が第2の基準値を満たすサーバがない場合に、第1の基準値を満たすサーバのうち移行時間の割合が小さいサーバを決定する。
即ち、配備先レイヤ決定モジュール125は、配備候補レイヤのうち、滞在時間「ts」に対する移行時間(「dm」)の割合が第2の基準値(「j」)未満となる適正サーバがない場合に、配備候補レイヤのうち移行時間の割合が小さいレイヤを決定する。つまり、配備先レイヤ決定モジュール125は、移行遅延が所定の応答性能を満たす適正レイヤがない場合に、通信の応答性能を満たすレイヤであって、移行遅延を低減する上位のレイヤを、配備レイヤとして選択する。
これにより、配備先レイヤ決定モジュール125は、通信遅延の応答性能を満たし、移行遅延を低減するレイヤを、配備レイヤとして選択できる。したがって、配備先レイヤ決定モジュール125は、端末装置10の移動速度に応じて、サービスの応答許容時間を満たすサーバを、端末装置10にサービスを提供するサーバとして決定できる。
次に、図21、図22にしたがって、図19、図20で説明した配備先レイヤ決定モジュール125によるサーバの決定処理の実施例を説明する。
[実施例]
図21は、図19、図20にしたがって説明した、配備先レイヤ決定モジュール125の処理の実施例を説明する図である。図21において、図2で示したものと同一のものは、同一の記号で示す。
図21は、図2の例と同様にして、端末装置10aが移動して、カバーエリア「Ee006」に進入した場合のサーバの決定を例示する。端末装置10aは、ユーザID「u1」が使用し、アプリケーションID「a1」のアプリケーションを利用する。
配備先レイヤ決定モジュール125は、図11に示すユーザ情報Tl1が、ユーザID「u1」の情報を含むことから、ユーザID「u1」が対象ユーザである旨、判定する(図19のS41)。また、配備先レイヤ決定モジュール125は、移動通知に基づいて、端末装置10aが進入したカバーエリア「Ee006」を取得する(S42、S43)。
(応答遅延の判定)
配備先レイヤ決定モジュール125は、図12に示すアプリケーション情報Tl2を参照し、アプリケーションID「a1」の要求応答性能「100(rr)ms」を取得する(S44)。また、配備先レイヤ決定モジュール125は、図13に示すネットワークリンク情報Tl3を参照し、端末装置10aとエッジサーバe006との間の経路「ln006」d1の通信遅延「10ms」を取得する(S45)。
値「通信遅延「10ms」×係数「3」」は、要求応答性能「100」未満である(S46のYes)。したがって、配備先レイヤ決定モジュール125は、エッジレイヤを配備候補レイヤとして登録する(S47)。
次に、配備先レイヤ決定モジュール125は、下位中間レイヤを選択し(S48)、端末装置10aと下位中間サーバlm001との間の経路d2の通信遅延「20(=10+10)ms」を取得する(S45)。値「通信遅延「20ms」×係数「3」」は、要求応答性能「100」未満であるため(S46のYes)、配備先レイヤ決定モジュール125は、下位中間レイヤを配備候補レイヤとして登録する(S47)。
同様にして、配備先レイヤ決定モジュール125は、上位中間レイヤを選択し(S48)、端末装置10aと上位中間サーバum001との間の経路d3の通信遅延「40(=20+20)ms」を取得する(S45)。値「通信遅延「40ms」×係数「3」」は、要求応答性能「100」を超えるため(S46のNo)、配備先レイヤ決定モジュール125は、上位中間レイヤを配備候補レイヤとして登録しない。
これにより、配備先レイヤ決定モジュール125は、配備候補エリアとして、通信遅延の応答性能を満たすエッジレイヤ及び下位中間レイヤを検出できる。
(移行遅延の判定)
次に、配備先レイヤ決定モジュール125は、図10の(A)に示す、アプリケーションID「a1」のアプリケーション別移行履歴情報Ht4−1を参照し、アプリケーションID「a1」の移行時間「dm」を取得する(図20のS51)。
図10の(A)のアプリケーション別移行履歴情報Ht4−1によると、エッジサーバe001からエッジサーバe002に対する移行時間は時間「00:03」、エッジサーバe002からエッジサーバe003に対する移行時間は時間「00:04」である。したがって、配備先レイヤ決定モジュール125は、移行時間の平均値「3.5min」を、移行時間「dm」として取得する。
次に、配備先レイヤ決定モジュール125は、配備候補レイヤ(エッジレイヤ、下位中間レイヤ)のうち、エッジレイヤを選択する(S52)。そして、配備先レイヤ決定モジュール125は、カバーエリア「Ee006の」の滞在時間「ts」を取得する(S53)。具体的に、配備先レイヤ決定モジュール125は、図9の(A)のユーザ別滞在履歴情報Ht3−1を参照し、カバーエリア「Ee001」〜「Ee003」の滞在時間の平均値「8.7min(≒26÷3)」を、滞在時間「ts」として取得する。
滞在時間「8.7min」に対する移行時間「3.5min」の割合「0.40(=3.5÷8.7)」は、移行影響係数「0.25」に収まらない(S54のNo)。エッジレイヤは移行遅延の応答性能を満たさないことにより、配備先レイヤ決定モジュール125は、エッジレイヤを非適正レイヤとする(S56)。
次に、配備先レイヤ決定モジュール125は、下位中間レイヤを選択する(S52)。また、配備先レイヤ決定モジュール125は、図9の(A)のユーザ別滞在履歴情報Ht3−1を参照し、下位中間サーバlm001のカバーエリアの滞在時間を取得する。ただし、ユーザ別滞在履歴情報Ht3−1は、下位中間レイヤのカバーエリアの滞在時間を有していない。
したがって、配備先レイヤ決定モジュール125は、下位中間サーバlm001のカバーエリア「Elm001」に対応するカバーエリア「Ee001」〜「Ee009」の滞在時間の合計を、滞在時間「ts」として取得する(S53)。具体的に、配備先レイヤ決定モジュール125は、カバーエリア「Ee001」〜「E003」の滞在時間の合計「26min」を、滞在時間「ts」として取得する。
滞在時間「26min」に対する移行時間「3.5min」の割合「0.13(=3.5÷26)」は、移行影響係数「0.25」に収まる(S54のYes)。したがって、配備先レイヤ決定モジュール125は、下位中間レイヤを適正レイヤとする(S55)。
適正レイヤは下位中間レイヤのみである。したがって、配備先レイヤ決定モジュール125は、下位中間レイヤを配備レイヤとして決定する(S59のYes、S60)。つまり、配備先レイヤ決定モジュール125は、下位中間レイヤに属するサーバlm001を、端末装置10aにサービスを提供するサーバとして決定する。
なお、仮に、端末装置10aの移動速度がより遅い場合、エッジレイヤの、滞在時間に対する移行時間の割合は移行影響係数内に収まる(S54のYes)。したがって、配備先レイヤ決定モジュール125は、複数の適正レイヤ(エッジレイヤ、下位中間レイヤ)のうち、通信遅延が小さいエッジレイヤを、配備レイヤとして決定する(S59のYes、S60)。これにより、配備先レイヤ決定モジュール125は、応答許容時間を満たし、通信遅延を低減するサーバを、端末装置10にサービスを提供するサーバとして決定できる。
または、仮に、端末装置10aの移動速度がより速い場合、下位中間レイヤの、滞在時間に対する移行時間の割合は移行影響係数に収まらない(S54のNo)。この場合、適正レイヤが存在しないため(S59のNo)、配備先レイヤ決定モジュール125は、配備候補レイヤ(エッジレイヤ、下位中間レイヤ)のうち、移行時間の割合が最小となる下位中間レイヤを配備レイヤとして決定する(S61)。これにより、配備先レイヤ決定モジュール125は、通信遅延の応答性能を満たし、移行遅延を低減するレイヤを、配備レイヤとして選択できる。
このように、配備先レイヤ決定モジュール125は、サーバに応じて異なる通信時間に基づく通信遅延と、端末装置10の移動速度に応じて変動する、滞在時間に対する移行時間の割合に基づく移行遅延とに基づいて、応答待ち時間を低減するサーバを選択できる。したがって、配備先レイヤ決定モジュール125は、端末装置10の移動速度に応じて、複数のサーバから、応答許容時間を満たすサーバを適切に決定できる。
(移行処理)
そして、配備指示作成モジュール127は、サーバトポロジ情報Tl5を参照し、アプリケーションID「a1」のサービス情報の、移行処理を指示する。
図22は、実施例におけるサーバトポロジ情報Tl5−1の一例を示す図である。図22に示すサーバトポロジ情報Tl5−1の配備アプリケーションの項目によると、アプリケーションID「a1」のサービス情報を移行処理(配備)済みのサーバは存在しない。したがって、配備指示作成モジュール127は、サーバe003からサーバlm001に対する、アプリケーションID「a1」のサービス情報の移行処理を指示する。
なお、本実施の形態における配備先レイヤ決定モジュール125は、配備先レイヤ決定モジュール125は、「移行時間「dm」/滞在時間「ts」<移行影響係数「j」」を満たすか否かにしたがって、移行遅延の応答性能を満たすレイヤを抽出する。ただし、この例に限定されるものではない。
例えば、配備先レイヤ決定モジュール125は、一定時間における端末装置10の移行処理の頻度が、所定の移行影響係数「j」に収まるか否かに基づいて、移行遅延の応答性能を満たすレイヤを抽出してもよい。一定時間における端末装置10の移行処理の頻度は、滞在時間に対する移行時間の割合に、実質的に対応する。
次に、図23にしたがって、投機配備エリア決定モジュール126の処理の詳細を、図24にしたがって、配備指示作成モジュール127の処理の詳細を説明する。
[投機配備エリア決定モジュール126、配備指示作成モジュール127]
図20のフローチャート図で示したとおり、適正レイヤを検出しなかった場合(S59のNo)、配備先レイヤ決定モジュール125は、配備候補レイヤのうち最上位のレイヤを、配備レイヤとして選択する(S61)。つまり、配備先レイヤ決定モジュール125は、移行遅延が所定の応答性能を満たすレイヤがない場合に、応答遅延が最小となるレイヤを配備レイヤとして選択する。
サービスの要求応答性能「rr」が高い場合、配備先レイヤ決定モジュール125は、配備候補レイヤとして、より下位のレイヤを検出する。下位のレイヤの移行遅延は大きい傾向にあるため、配備候補レイヤが、移行遅延の応答性能を満たせない場合がある。また、端末装置10の移動速度が速い場合、移行遅延が増加する。したがって、配備候補レイヤが、移行遅延の応答性能を満たせない場合がある。
したがって、投機配備エリア決定モジュール126は、決定したサーバ(情報処理装置)と、該サーバのカバーエリア(提供領域)と隣接するエリアをカバーエリアとするサーバとに対する、サービスに関する情報の移行をさらに指示する。つまり、投機配備エリア決定モジュール126は、端末装置10にサービスを提供するサーバとして決定したサーバに加え、当該サーバとカバーエリアが隣接するサーバに対する、サービス情報の移行処理を指示する。
これにより、端末装置10が位置するカバーエリアの周辺のカバーエリアのサーバに、投機的に、サービス情報を移行しておくことが可能になる。したがって、端末装置10が周辺のカバーエリアに移動した場合に、移行処理を省略可能になり、移行処理に基づく応答待ち時間を要することなくサービスを提供することが可能になる。
これにより、端末装置10の移動速度が速い場合や、通信遅延の要求応答性能が高い場合であっても、通信時間に基づく応答性能に加えて、移行遅延の応答性能を満たすことが可能になる。
(投機配備エリア決定モジュール126の処理)
図23は、図6で説明した投機配備エリア決定モジュール126の処理を説明するフローチャート図である。投機配備エリア決定モジュール126は、配備先レイヤ決定モジュール125による配備レイヤの決定に応じて、図23に示す処理を開始する。
S71:投機配備エリア決定モジュール126は、移動した端末装置10のユーザ(即ち、対象ユーザ)を特定する。
S72:投機配備エリア決定モジュール126は、ユーザ情報Tl1を参照し、端末装置10が位置するカバーエリアを取得する。
S73:投機配備エリア決定モジュール126は、ユーザ別滞在履歴情報Ht3を参照し、決定した配備レイヤの、端末装置10が位置するカバーエリアにおける、対象ユーザの端末装置10の滞在時間「ts」を取得する。投機配備エリア決定モジュール126は、図20の工程S53と同様にして、滞在時間「ts」を取得する。
S74:投機配備エリア決定モジュール126は、アプリケーション別移行履歴情報Ht4を参照し、対象アプリケーションの移行時間「dm」を取得する。投機配備エリア決定モジュール126は、図20の工程S51と同様にして、移行時間「dm」を取得する。
S75:投機配備エリア決定モジュール126は、投機配備レンジ「r」を算出する。投機配備エリア決定モジュール126は、式「移行時間「dm」/滞在時間「ts」×係数「k」」にしたがって、投機配備レンジ「r」を算出する。本実施の形態例における係数「k」は、値「5」である。係数「k」は、例えば、検証等にしたがって設定される。
S76:投機配備エリア決定モジュール126は、投機配備レンジ「r」に基づいて、投機配備エリアをリストアップし、当該投機配備エリアをユーザ・アプリケーション対応情報Tl4に記憶する。投機配備エリア決定モジュール126は、配備レイヤに属するカバーエリアのうち、端末装置10が位置するカバーエリアと隣接する、投機配備レンジ「r」分の距離範囲内のカバーエリアを、投機配備エリアとして決定する。
このように、投機配備エリア決定モジュール126は、滞在時間に対する移行時間の割合に基づいて、サーバのカバーエリア(提供領域)に隣接する領域の範囲を示す隣接数を決定する。そして、投機配備エリア決定モジュール126は、隣接数に対応する領域をカバーエリアとする、隣接サーバに対するサービス情報の移行を指示する。
これにより、投機配備エリア決定モジュール126は、端末装置10の移動速度に応じて、サービス情報を投機配備するカバーエリアの範囲を決定できる。したがって、端末装置10が高速に移動する場合、投機配置するカバーエリアを拡大することが可能になる。これにより、端末装置10が移動した場合の移行処理を省略し、応答待ち時間を低減できる。このように、端末装置10の移動速度に応じて、効率的に、移行遅延を低減することが可能になる。
(配備指示作成モジュール127の処理)
図24は、図6で説明した配備指示作成モジュール127の処理を説明するフローチャート図である。配備指示作成モジュール127は、投機配備エリア決定モジュール126による投機配備エリアの決定に応じて、図24のフローチャート図に示す処理を開始する。
S81:配備指示作成モジュール127は、サーバトポロジ情報Tl5を参照し、現在、対象アプリケーションを配備済みのカバーエリア(配備エリアともいう)を取得する。即ち、配備指示作成モジュール127は、対象アプリケーションのサービス情報を移行処理済みのサーバのカバーエリアの情報を取得する。
S82:配備指示作成モジュール127は、配備先レイヤ決定モジュール125が決定したレイヤの、端末装置10が位置するカバーエリアに対応するサーバに対する、サービス情報の移行(配備)処理を指示する。また、配備指示作成モジュール127は、投機配備エリアのうち、配備エリアが含んでいないカバーエリアに対応するサーバに、サービス情報の移行(配備)処理を指示する。例えば、サービス情報の配備に十分な空き容量がない場合、サーバは、使用していないサービス情報を削除する。
S83:配備指示作成モジュール127は、工程S81で取得した配備エリアのうち、投機配備エリアが含まないカバーエリアに対応するサーバに、サービス情報の削除を指示する。削除指示を受信したサーバは、例えば、アプリケーションのアンインストールやユーザ状態情報の削除等を行う。
次に、図25、図26にしたがって、図23、図24のフローチャート図で説明した投機配備エリア決定モジュール126、及び、配備指示作成モジュール127の処理の実施例を説明する。
[実施例]
図25は、図23、図24で説明した投機配備エリア決定モジュール126、及び、配備指示作成モジュール127の処理の実施例を説明する図である。図25において、図2で示したものと同一のものは、同一の記号で示す。
図21は、端末装置10bが移動して、カバーエリア「Ee013」に進入した場合を例示する。端末装置10bは、ユーザID「u2」が使用し、アプリケーションID「a2」のアプリケーションを利用する。
配備先レイヤ決定モジュール125は、図21の例と同様にして、図19、図20のフローチャート図にしたがって、配備レイヤを決定する。図25に示す例では、配備先レイヤ決定モジュール125は、エッジレイヤを、配備レイヤとして決定する。
次に、投機配備エリア決定モジュール126は、ユーザID「u2」を特定し(図23のS71)、ユーザ情報Tl1を参照し、端末装置10bが位置するカバーエリア「Ee013」を取得する(S72)。
そして、投機配備エリア決定モジュール126は、図9の(B)に示したユーザID「u2」のユーザ別滞在履歴情報Ht3−2を参照し、カバーエリア「Ee013」における、端末装置10の滞在時間「ts」を取得する(S73)。投機配備エリア決定モジュール126は、エッジレイヤのカバーエリア「Ee003」、「Ee006」、「Ee009」の滞在時間の平均値「13.3min(≒40÷3)」を、滞在時間「ts」として取得する。
また、投機配備エリア決定モジュール126は、図10の(B)に示す、アプリケーションID「a2」のアプリケーション別移行履歴情報Ht4−2を参照し、アプリケーションID「a2」の移行時間「dm」を取得する(S74)。
図10の(B)のアプリケーション別移行履歴情報Ht4−2によると、エッジサーバe003からエッジサーバe006に対する移行時間は時間「00:04」、エッジサーバe006からエッジサーバe009に対する移行時間は時間「00:03」である。したがって、投機配備エリア決定モジュール126は、移行時間の平均値「3.5min」を、移行時間「dm」として取得する。
投機配備エリア決定モジュール126は、滞在時間「13.3min」に対する移行時間「3.5min」の割合に、係数「5」を乗じた値「1.31」を算出し、算出した値を四捨五入して、投機配備レンジ「1」を算出する(S75)。
したがって、投機配備エリア決定モジュール126は、カバーエリア「Ee013」と隣接する、投機配備レンジ「1」分のカバーエリア「Ee008」「Ee009」「Ee012」「Ee015」「Ee016」を、投機配備エリアとして決定する。これにより、端末装置10bが投機配備エリアのいずれかに移動した場合に、移行処理を省略することが可能になる。
なお、本実施の形態における投機配備エリア決定モジュール126は、カバーエリア「Ee013」に隣接する周囲のカバーエリアを、投機配備エリアとして決定する。ただし、この例に限定されるものではない。投機配備エリア決定モジュール126は、端末装置10bの移動方向を検知し、移動方向に隣接するカバーエリア(例えば、カバーエリア「Ee016」)のみを、投機配備エリアとして決定してもよい。
図26は、実施例におけるサーバトポロジ情報Tl5−2の一例を示す図である。図26に示すサーバトポロジ情報Tl5−2によると、アプリケーションID「a2」の配備エリアは、カバーエリア「Ee003」「Ee006」「Ee008」「Ee009」「Ee0012」である。
したがって、配備指示作成モジュール127は、サーバe013、及び、投機配備エリアのうち配備エリアに含まれないカバーエリアのサーバe015、e016に対する、アプリケーションID「a2」のサービス情報の移行処理を指示する(図24のS82)。また、配備指示作成モジュール127は、配備エリアのうち、投機配備エリアに含まれないカバーエリアのサーバe003、e006に対する、アプリケーションID「a2」のサービス情報の削除を指示する(S83)。
次に、図27にしたがって、ユーザ状態情報通知モジュール128の処理の詳細を説明する。
[ユーザ状態情報通知モジュール128]
図27は、図6で説明したユーザ状態情報通知モジュール128の処理を説明するフローチャート図である。ユーザ状態情報通知モジュール128は、定期的に、投機配備エリアに対応するサーバに対する、ユーザ状態情報の更新を指示する。ユーザ状態情報は、例えば、差分のユーザ状態情報を示す。したがって、ユーザ状態情報は、アプリケーションのプログラムを含んでいなくてもよい。
S91:アプリケーションからユーザ状態情報の更新通知を受信すると、ユーザ状態情報通知モジュール128は、図14に示したユーザ・アプリケーション対応情報Tl4を参照し、対象アプリケーションの投機配備先のエリアを取得する。図25の実施例によると、投機配備エリアは、カバーエリア「Ee008」「Ee009」「Ee012」「Ee015」「Ee016」である。
S92:ユーザ状態情報通知モジュール128は、投機配備エリアに対応するサーバに対する、ユーザ状態情報の更新処理を指示する。即ち、ユーザ状態情報通知モジュール128は、エッジサーバe013が保持するユーザ状態情報の、エッジサーバe008、e009、e012、e015、e016に対する更新処理を指示する。
次に、図28、図29にしたがって、ユーザ状態情報の更新形態を説明する。
[ユーザ状態情報の更新形態]
図28は、ユーザ状態情報の第1の更新形態を説明する図である。図28は、ユーザ状態情報を、広域システムマネージャ100を経由して、投機配備エリアに対応するサーバに更新する場合を例示する。広域システムマネージャ100を経由してユーザ状態情報を更新することによって、端末装置10にサービスを提供するサーバ(図29の例では、エッジサーバe003)の通信処理の負荷を抑制することが可能になる。
図28の例によると、ユーザ状態情報通知モジュール128は、サーバe013が保持する、アプリケーションID「a2」のユーザ状態情報を、広域システムマネージャ100に送信する(x1)。そして、広域システムマネージャ100は、ユーザ・アプリケーション対応情報Tl4を参照して取得した投機配備エリアのサーバに、受信したユーザ状態情報を送信する(x2)。
図29は、ユーザ情報Tl1の第2の更新形態を説明する図である。図29は、ユーザ状態情報を、広域システムマネージャ100を経由せずに、投機配備エリアに対応するサーバに送信する場合を例示する。ユーザ状態情報を投機配備エリアに対応するサーバに直接的に送信することによって、ユーザ状態情報を迅速に更新可能になる。
図29の例によると、ユーザ状態情報通知モジュール128は、広域システムマネージャ100に、アプリケーションID「a2」の投機配備エリアの送信依頼を送信する(x11)。広域システムマネージャ100は、ユーザ・アプリケーション対応情報Tl4を参照して、投機配備エリアを取得し、サービスを提供するサーバに送信する(x11)。
ユーザ状態情報通知モジュール128は、広域システムマネージャ100から取得した投機配備エリアに対応するサーバに、ユーザ状態情報を送信する(x12)。
[他の実施の形態]
なお、本実施の形態における配備先特定プログラム120は、レイヤに属していない複数のサーバから、サーバを決定する場合についても適用可能である。配備先特定プログラム120は、例えば、複数のサーバのカバーエリアが重複する場合に、各サーバの通信時間と、カバーエリアの滞在時間に対する移行時間の割合とに基づいて、応答時間を低減するレイヤを決定する。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
端末装置にサービスを提供する情報処理装置それぞれから、該情報処理装置がサービスを提供する提供領域に滞在した端末装置の滞在時間の履歴を取得し、
第1の端末装置の移動に応じて、前記提供領域内に前記第1の端末装置の位置を有する複数の情報処理装置から、前記端末装置との通信に関する通信時間と、前記履歴に基づいて取得した前記第1の端末装置の位置を有する前記提供領域の滞在時間に対する、前記情報処理装置間の前記サービスに関する情報の移行に要する移行時間の割合とに基づいて、前記第1の端末装置にサービスを提供する情報処理装置を決定する、
配備方法。
(付記2)
付記1において、
前記複数の情報処理装置は、第1のレイヤに属する情報処理装置と、第2のレイヤに属する情報処理装置とを有し、
前記第1のレイヤに属する情報処理装置の前記提供領域は、前記第2のレイヤに属する情報処理装置の前記提供領域より広く、前記第1のレイヤに属する前記情報処理装置の前記通信時間は、前記第2のレイヤに属する前記情報処理装置の前記通信時間より長い、
配備方法。
(付記3)
付記1または2において、
前記決定は、
前記複数の情報処理装置から、前記通信時間が第1の基準値を満たす情報処理装置を抽出し、
前記通信時間が第1の基準値を満たす情報処理装置のうち、前記滞在時間に対する移行時間の割合が第2の基準値を満たす情報処理装置がある場合に、該第2の基準値を満たす情報処理装置のうち前記通信時間が短い情報処理装置を決定し、前記第2の基準値を満たす情報処理装置がない場合に、前記第1の基準値を満たす情報処理装置のうち前記滞在時間に対する移行時間の割合が小さい情報処理装置を決定する、
配備方法。
(付記4)
付記1乃至3のいずれかにおいて、
決定した前記情報処理装置と、該情報処理装置の提供領域に隣接する領域を前記提供領域とする隣接情報処理装置とに対する、前記サービスに関する情報の移行をさらに指示する、
配備方法。
(付記5)
付記4において、
前記指示は、前記滞在時間に対する移行時間の割合に基づいて、前記情報処理装置の提供領域に隣接する領域の範囲を示す隣接数を決定し、前記隣接数に対応する領域を前記提供領域とする、前記隣接情報処理装置に対する前記移行を指示する、
配備方法。
(付記6)
付記1乃至5のいずれかにおいて、
前記取得は、前記情報処理装置それぞれから、さらに前記移行時間の履歴を取得し、
前記決定は、前記履歴に基づいて前記移行時間を取得する、
配備方法。
(付記7)
付記1乃至6のいずれかにおいて、
前記サービスに関する情報は、前記サービスを実行するプログラム、前記プログラムが使用するデータのいずれかまたは両方を示す、
配備方法。
(付記8)
付記1乃至7のいずれかにおいて、
前記移行は、前記サービスを実行するプログラムのインストール、前記プログラムの起動、前記プログラムが使用するデータの複写のいずれか、または、その組合せを示す、
配備方法。
(付記9)
端末装置にサービスを提供する情報処理装置それぞれから、該情報処理装置がサービスを提供する提供領域に滞在した端末装置の滞在時間の履歴を取得し、
第1の端末装置の移動に応じて、前記提供領域内に前記第1の端末装置の位置を有する複数の情報処理装置から、前記端末装置との通信に関する通信時間と、前記履歴に基づいて取得した前記第1の端末装置の位置を有する前記提供領域の滞在時間に対する、前記情報処理装置間の前記サービスに関する情報の移行に要する移行時間の割合とに基づいて、前記第1の端末装置にサービスを提供する情報処理装置を決定する、
処理をコンピュータに実行させる配備先特定プログラム。
(付記10)
付記9において、
前記複数の情報処理装置は、第1のレイヤに属する情報処理装置と、第2のレイヤに属する情報処理装置とを有し、
前記第1のレイヤに属する情報処理装置の前記提供領域は、前記第2のレイヤに属する情報処理装置の前記提供領域より広く、前記第1のレイヤに属する前記情報処理装置の前記通信時間は、前記第2のレイヤに属する前記情報処理装置の前記通信時間より長い、
配備先特定プログラム。
(付記11)
付記9または10において、
前記決定は、
前記複数の情報処理装置から、前記通信時間が第1の基準値を満たす情報処理装置を抽出し、
前記通信時間が第1の基準値を満たす情報処理装置のうち、前記滞在時間に対する移行時間の割合が第2の基準値を満たす情報処理装置がある場合に、該第2の基準値を満たす情報処理装置のうち前記通信時間が短い情報処理装置を決定し、前記第2の基準値を満たす情報処理装置がない場合に、前記第1の基準値を満たす情報処理装置のうち前記滞在時間に対する移行時間の割合が小さい情報処理装置を決定する、
配備先特定プログラム。
(付記12)
付記9乃至11のいずれかにおいて、
決定した前記情報処理装置と、該情報処理装置の提供領域に隣接する領域を前記提供領域とする隣接情報処理装置とに対する、前記サービスに関する情報の移行をさらに指示する、
配備先特定プログラム。
(付記13)
付記12において、
前記指示は、前記滞在時間に対する移行時間の割合に基づいて、前記情報処理装置の提供領域に隣接する領域の範囲を示す隣接数を決定し、前記隣接数に対応する領域を前記提供領域とする、前記隣接情報処理装置に対する前記移行を指示する、
配備先特定プログラム。
(付記14)
付記9乃至13のいずれかにおいて、
前記取得は、前記情報処理装置それぞれから、さらに前記移行時間の履歴を取得し、
前記決定は、前記履歴に基づいて前記移行時間を取得する、
配備先特定プログラム。
(付記15)
情報処理装置と通信を介して接続する端末装置と、
サービスを提供する提供領域に位置する前記端末装置にサービスを提供する、複数の情報処理装置と、
管理装置と、を有し、
前記管理装置は、
端末装置にサービスを提供する情報処理装置それぞれから、該情報処理装置がサービスを提供する提供領域に滞在した端末装置の滞在時間の履歴を取得し、
第1の端末装置の移動に応じて、前記提供領域内に前記第1の端末装置の位置を有する複数の情報処理装置から、前記端末装置との通信に関する通信時間と、前記履歴に基づいて取得した前記第1の端末装置の位置を有する前記提供領域の滞在時間に対する、前記情報処理装置間の前記サービスに関する情報の移行に要する移行時間の割合とに基づいて、前記第1の端末装置にサービスを提供する情報処理装置を決定する、
配備システム。
(付記16)
付記15において、
前記複数の情報処理装置は、第1のレイヤに属する情報処理装置と、第2のレイヤに属する情報処理装置とを有し、
前記第1のレイヤに属する情報処理装置の前記提供領域は、前記第2のレイヤに属する情報処理装置の前記提供領域より広く、前記第1のレイヤに属する前記情報処理装置の前記通信時間は、前記第2のレイヤに属する前記情報処理装置の前記通信時間より長い、
配備システム。
(付記17)
付記15または16において、
前記管理装置は、
前記複数の情報処理装置から、前記通信時間が第1の基準値を満たす情報処理装置を抽出し、
前記通信時間が第1の基準値を満たす情報処理装置のうち、前記滞在時間に対する移行時間の割合が第2の基準値を満たす情報処理装置がある場合に、該第2の基準値を満たす情報処理装置のうち前記通信時間が短い情報処理装置を決定し、前記第2の基準値を満たす情報処理装置がない場合に、前記第1の基準値を満たす情報処理装置のうち前記滞在時間に対する移行時間の割合が小さい情報処理装置を決定する、
配備システム。
(付記18)
付記15乃至17のいずれかにおいて、
前記管理装置は、決定した前記情報処理装置と、該情報処理装置の提供領域に隣接する領域を前記提供領域とする隣接情報処理装置とに対する、前記サービスに関する情報の移行をさらに指示する、
配備システム。
(付記19)
付記18において、
前記管理装置は、前記滞在時間に対する移行時間の割合に基づいて、前記情報処理装置の提供領域に隣接する領域の範囲を示す隣接数を決定し、前記隣接数に対応する領域を前記提供領域とする、前記隣接情報処理装置に対する前記移行を指示する、
配備システム。
(付記20)
付記15乃至19のいずれかにおいて、
前記管理装置は、前記情報処理装置それぞれから、さらに前記移行時間の履歴を取得し、前記履歴に基づいて前記移行時間を取得する、
配備システム。