(57)【特許請求の範囲】
【請求項１】
予め割り当てられたエリアに在圏している端末を収容し端末に係る処理を行う複数の処理サーバを含んで構成される通信システム、において実行されるセッション制御方法であって、
端末と該端末を収容する処理サーバとの間のセッションを終端し前記端末側のアプリケーションのセッション情報を保持する端末側セッション維持プロキシサーバが、当該端末に対し設定され、
当該端末が移動して新たな処理サーバに収容された場合、当該端末の移動に追従して、当該端末に対し設定されていた端末側セッション維持プロキシサーバのセッションの移動処理が実行されることで、前記新たな処理サーバに収容された端末に対し端末側セッション維持プロキシサーバが設定され、
端末と該端末を収容する処理サーバとの間のセッションを終端し前記処理サーバ側のアプリケーションのセッション情報を保持する処理サーバ側セッション維持プロキシサーバが、前記端末に対し設定されている端末側セッション維持プロキシサーバと前記処理サーバとの間に設定される、
ことを特徴とするセッション制御方法。
【請求項２】
前記端末側セッション維持プロキシサーバの設定については、
任意の端末からの接続が可能な端末側セッション維持プロキシサーバを設定しておき、
端末からの接続要求が来たときに、当該端末と、設定しておいた端末側セッション維持プロキシサーバとが接続されるとともに、次の端末からの接続要求のための新たな端末側セッション維持プロキシサーバが追加的に設定される、
ことを特徴とする請求項１に記載のセッション制御方法。
【請求項３】
予め割り当てられたエリアに在圏している端末を収容し端末に係る処理を行う複数の処理サーバを含んで構成される通信システムであって、
端末と該端末を収容する処理サーバとの間のセッションを終端し前記端末側のアプリケーションのセッション情報を保持する端末側セッション維持プロキシサーバが、当該端末に対し設定された構成とされており、
当該端末が移動して新たな処理サーバに収容された場合、当該端末の移動に追従して、当該端末に対し設定されていた端末側セッション維持プロキシサーバのセッションの移動処理が実行されることで、前記新たな処理サーバに収容された端末に対し端末側セッション維持プロキシサーバが設定されるよう構成され、
端末と該端末を収容する処理サーバとの間のセッションを終端し前記処理サーバ側のアプリケーションのセッション情報を保持する処理サーバ側セッション維持プロキシサーバが、前記端末に対し設定されている前記端末側セッション維持プロキシサーバと前記処理サーバとの間に設定されるよう構成される、
ことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エッジコンピューティングを移動体通信網に適用した場合のセッション制御方法および通信システムに関する。
【背景技術】
【０００２】
従来から、ネットワーク上において端末（スマートフォンなど）の近くにあるエッジサーバに処理を分散させることで、地球規模で集中的配備されたクラウドコンピューティングの環境と比べて通信遅延を短縮するエッジコンピューティングという技術が考えられている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“エッジコンピューティング構想”、［ｏｎｌｉｎｅ］、ＮＴＴ持株会社ニュースリリース、［平成２７年６月１８日検索］、インターネット＜http://www.ntt.co.jp/news2014/1401/140123a.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のエッジコンピューティングを移動体通信網に適用する場合、移動体通信網では端末が移動することで端末の在圏情報が変化するという特性（ハンドオーバーの発生）がある。そのため、端末のハンドオーバーに伴って当該端末を収容する処理サーバ（エッジサーバ）が変更された場合、処理サーバがライブマイグレーションをしない限り、端末と処理サーバ間のセッション（例えばＴＣＰ（Transmission  Control  Protocol）セッションやＳＣＴＰ（Stream  Control  Transmission  Protocol）セッション）が切断されてしまう。
【０００５】
この問題に対処する方策として、プロトコルとしてステートレスなＵＤＰ（User  Datagram  Protocol)）を用いる策が考えられるが、たしかに低遅延ではあるものの、端末側およびサーバ側のアプリケーションの再開発が必要となり現実的ではない。また、セッションが切断されてもセッション再接続を可能にするという策が考えられるが、セッション再接続に時間がかかるという問題や、アプリケーションの処理中にセッション再接続が発生した場合に処理をやり直す必要が生じ大きなサービス停止時間が生じるおそれがあるという問題がある。
【０００６】
そこで、本発明は、エッジコンピューティングを移動体通信網に適用する場合に、端末のハンドオーバーが生じたときであっても、端末のアプリケーションのセッション情報を維持することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るセッション制御方法は、予め割り当てられたエリアに在圏している端末を収容し端末に係る処理を行う複数の処理サーバを含んで構成される通信システム、において実行されるセッション制御方法であって、端末と該端末を収容する処理サーバとの間のセッションを終端し前記端末側のアプリケーションのセッション情報を保持する端末側セッション維持プロキシサーバが、当該端末に対し設定され、当該端末が移動して新たな処理サーバに収容された場合、当該端末の移動に追従して、当該端末に対し設定されていた端末側セッション維持プロキシサーバのセッションの移動処理が実行されることで、前記新たな処理サーバに収容された端末に対し端末側セッション維持プロキシサーバが設定されることを特徴とする。
【０００８】
上記のように、端末と該端末を収容する処理サーバとの間のセッションを終端し端末側のアプリケーションのセッション情報を保持する端末側セッション維持プロキシサーバを、当該端末に対し設定しておき、当該端末が移動して新たな処理サーバに収容された場合に、当該端末の移動に追従して、当該端末に対し設定されていた端末側セッション維持プロキシサーバのセッションの移動処理を実行することで、新たな処理サーバに収容された端末に対し端末側セッション維持プロキシサーバを設定する。これにより、端末のハンドオーバーが生じたときでも、端末のアプリケーションのセッション情報を維持することができ、ハンドオーバーを意識することなく、端末のアプリケーションを実行することができる。
【０００９】
また、本発明に係るセッション制御方法では、さらに、端末と該端末を収容する処理サーバとの間のセッションを終端し処理サーバ側のアプリケーションのセッション情報を保持する処理サーバ側セッション維持プロキシサーバが、端末に対し設定されている端末側セッション維持プロキシサーバと処理サーバとの間に設定されてもよい。この場合、端末のハンドオーバーが生じたときでも、処理サーバ側のアプリケーションのセッション情報を維持することができ、ハンドオーバーを意識することなく、処理サーバ側のアプリケーションを実行することができる。
【００１０】
なお、端末側セッション維持プロキシサーバの設定については、任意の端末からの接続が可能な端末側セッション維持プロキシサーバを設定しておき、端末からの接続要求が来たときに、当該端末と、設定しておいた端末側セッション維持プロキシサーバとが接続されるとともに、次の端末からの接続要求のための新たな端末側セッション維持プロキシサーバが追加的に設定されるようにしてもよい。この場合、端末からの接続要求に応じて適切に、端末側セッション維持プロキシサーバを設定することができる。
【００１１】
ところで、セッション制御方法に係る本発明は、通信システムに係る発明として以下のように記述することができ、同様の作用および効果を奏する。
【００１２】
本発明に係る通信システムは、予め割り当てられたエリアに在圏している端末を収容し端末に係る処理を行う複数の処理サーバを含んで構成される通信システムであって、端末と該端末を収容する処理サーバとの間のセッションを終端し前記端末側のアプリケーションのセッション情報を保持する端末側セッション維持プロキシサーバが、当該端末に対し設定された構成とされており、当該端末が移動して新たな処理サーバに収容された場合、当該端末の移動に追従して、当該端末に対し設定されていた端末側セッション維持プロキシサーバのセッションの移動処理が実行されることで、前記新たな処理サーバに収容された端末に対し端末側セッション維持プロキシサーバが設定されるよう構成される、ことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、エッジコンピューティングを移動体通信網に適用する場合に、端末のハンドオーバーが生じたときであっても、端末のアプリケーションのセッション情報を維持することができる。
【図面の簡単な説明】
【００１４】
【図１】（ａ）は発明の実施形態の通信システムの構成例を示す図であり、（ｂ）は端末ごとに設定されたプロキシを示す図である。
【図２】仮想マシンや物理マシンのハードウェア構成例を示す図である。
【図３】（ａ）はアドレス設定状況を示す図であり、（ｂ）は端末のアプリケーションから見たときのアドレス設定状況を示す図である。
【図４】送信処理を示すフロー図である。
【図５】（ａ）はＤＰＩのテーブル例を示す図であり、（ｂ）はオープンフロースイッチのテーブル例を示す図である。
【図６】返信処理を示すフロー図である。
【図７】ＧＴＰのテーブル例を示す図である。
【図８】移動処理を説明するための図である。
【図９】移動処理を示すフロー図である。
【図１０】（ａ）は移動元のＧＴＰのテーブル例を示す図であり、（ｂ）は移動先のＧＴＰのテーブル例を示す図であり、（ｃ）は移動元のＤＰＩのテーブル例を示す図であり、（ｄ）は移動先のＤＰＩのテーブル例を示す図であり、（ｅ）は移動元のオープンフロースイッチのテーブル例を示す図であり、（ｆ）は移動先のオープンフロースイッチのテーブル例を示す図である。
【図１１】（ａ）はエッジサーバを使わずにＷＡＮ上のＶＭを用いる場合を説明するための図であり、（ｂ）は端末ごとに設定されたプロキシを示す図である。
【図１２】最初の接続時の処理を示すフロー図である。
【図１３】（ａ）は最初の接続の第１フェーズを示す図であり、（ｂ）は最初の接続の第２フェーズを示す図である。
【図１４】（ａ）は最初の接続の第３フェーズを示す図であり、（ｂ）は最初の接続の第４フェーズを示す図である。
【図１５】（ａ）は変形例１におけるシステム構成図であり、（ｂ）は端末ごとに設定されたプロキシを示す図である。
【図１６】（ａ）は変形例２を説明するための図であり、（ｂ）は認証機能を説明するための図である。
【図１７】（ａ）はオープンフロースイッチを用いる場合の図であり、（ｂ）は変形例３を説明するための図であり、（ｃ）はＤＮＳサーバのテーブルを示す図である。
【発明を実施するための形態】
【００１５】
以下、図面と共に本発明に係るセッション制御方法および通信システムの実施形態を説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１６】
図１（ａ）には、発明の実施形態に係る通信システム１の構成例を示す。通信システム１は、エッジコンピューティングを移動体通信網に適用した場合の通信システムであり、図１（ａ）に示すように、外部ネットワーク（ここではＷＡＮ（Wide  Area  Network）１０）と接続するゲートウェイとして機能するＰＧＷ（Packet  data  network  GateWay）２０と、移動体通信網における在圏パケット交換機として機能する複数のＳＧＷ（Serving  GateWay）３０と、移動体通信網を流れるパケットデータの内容を解析する複数のＤＰＩ（Deep  Packet  Inspection）４０と、複数の処理サーバ（エッジサーバ）５０と、移動体通信網における基地局に相当するｅＮｏｄｅＢ（以下「ｅＮＢ」と称する）６０と、端末（User  Equipment、以下「ＵＥ」と称する）７０と、移動体通信網内の信号に基づきＵＥの移動によるハンドオーバーを検出する移動検出機８０と、ＵＥ−ＶＭ間のセッションを終端しＵＥ側アプリケーションのセッション情報を保持する端末側セッション維持プロキシサーバ（以下「Proxy」又は「ＵＥ側Proxy」と称する）９０と、を含んで構成される。なお、処理サーバは、通常、仮想マシンとして実行されるが、物理マシンとして実行しても良い。本実施形態では、処理サーバが仮想マシン（Virtual  Machine、以下「ＶＭ」とも称する）として実行される想定で記述する。
【００１７】
上記のさまざまな装置は、図１（ａ）に示すように相互に直接又は間接的に接続されている。なお、移動検出機８０は、ＰＧＷ２０およびＳＧＷ３０を含んで構成されるモバイルコアネットワークから、移動元ｅＮＢおよび移動先ｅＮＢを含むハンドオーバー情報を取得可能とされており、図示は省略したが、ｅＮＢ６０、Proxy９０、ＰＧＷ２０およびＳＧＷ３０のそれぞれと接続し信号の送受信可能とされている。
【００１８】
説明の便宜上、複数のＶＭはＶＭ１〜ＶＭ３と図示し、ＵＥはＵＥ１と図示している。図１（ａ）に示すように、ＶＭ３は、ＶＭ３に割り当てられたエリアに在圏するＵＥ１を収容しており、エッジコンピューティングにおけるエッジとしてＵＥ１からのサービス要求に応じたさまざまな処理を実行する。
【００１９】
ＶＭ３の配下のProxyは、在圏するＵＥそれぞれに対し設定され、図１（ｂ）に示すように複数のProxy（一例としてProxy-1〜Proxy-3）と、送信元のＵＥに応じてパケットの転送先を振り分けるオープンフロースイッチ９５とが設けられている。
【００２０】
なお、図１（ａ）のＰＧＷ２０、ＳＧＷ３０、ＶＭ５０、ｅＮＢ６０、ＵＥ７０、移動検出機８０、Proxy９０は、通信機能を備えた一般的なコンピュータにより構成される。例えば、図２に示すように、これらの装置（装置１００と総称する）は、一又は複数のＣＰＵ１０１、主記憶装置であるＲＡＭ（Random  Access  Memory）１０２及びＲＯＭ（Read  Only  Memory）１０３、通信を行うための通信モジュール１０４（Transmitter又はReceiver）、並びにハードディスク等の補助記憶装置１０５（Memory）等のハードウェアを備えた１つ又は複数のコンピュータにより構成される。装置１００では、図４に示すＣＰＵ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１０１の制御のもとで通信モジュール１０４等を動作させるとともに、ＲＡＭ１０２や補助記憶装置１０５におけるデータの読み出しおよび書き込みを行うことで、各部における一連の機能が実現される。
【００２１】
なお、ＣＰＵ１０１などのプロセッサ（Processor）は、その機能の全部または一部を専用の集積回路（ＩＣ：integrated  circuit）により実行するよう構成してもよい。例えば、画像処理や通信制御を行うための専用の集積回路を構築することにより上記機能を実行するようにしてもよい。
【００２２】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００２３】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００２４】
図３（ａ）には、アドレス設定状況を示しており、複数のＶＭ１〜ＶＭ３には同じＩＰアドレス（Local  IP1）が設定される。ただし、ＵＥ１のアプリケーションから処理要求を送る場合、送信元アドレスを「UE-IP1」に設定し、送信先アドレスを「SV-IP」に設定すればよく、ＵＥ１のアプリケーションから見れば、図３（ｂ）のようなアドレス設定であるとして実装すればよい。なお、複数のＶＭ１〜ＶＭ３のＩＰアドレス（Local  IP1）は必ずしも同一である必要はないが、統一可能であればアプリケーションの初期設定が容易になる。
【００２５】
本実施形態では、ＵＥ１からの送信先アドレス「SV-IP」のパケットが、図３（ａ）における右側のＤＰＩ４０によって取得され、後述する処理により図３（ａ）のProxy９０へ転送される例を説明する。しかし、この手法に限定されるものではなく、ＵＥとＶＭのＩＰアドレスがＵＥのハンドオーバー後も継続される構成であればよい。
【００２６】
（送信処理）
まず、図４を用いてＵＥ１からのパケット送信処理を説明する。ＵＥ１のアプリケーションは、外部データセンターのＶＭ１に通信するのと同様に、パケットを送信する。具体的には、送信元アドレスを「UE-IP1」に、送信先アドレスを「SV-IP」にそれぞれ設定してパケットを送信する（ステップＳ１）。送信されたパケットはｅＮＢを経由してＤＰＩに届く。
【００２７】
ＤＰＩは、図５（ａ）に示すテーブルを予め記憶しており、該テーブルを参照してパケットの送信先情報および送信元情報に基づきProxyに転送すべきか否かを判断する（ステップＳ２）。例えば、ＤＰＩは、受信したパケットの解析を行い、図５（ａ）の例のようにIPヘッダの送信先アドレス（サーバのアドレス）「SV-IP」と送信元アドレス（ＵＥのアドレス）「UE-IP1」の組合せに対応するProxyが登録済みであれば、登録されたProxyに向けて転送する（ステップＳ３）。
【００２８】
Proxyに向けて転送されたパケットは、図１（ｂ）のオープンフロースイッチ９５に入力される。オープンフロースイッチ９５は、図５（ｂ）に示すテーブルを予め記憶しており、該テーブルを参照してIPヘッダの送信元アドレス（ＵＥのアドレス）「UE-IP1」に対応付けられたProxy（ここでは「Proxy-1」）へパケットを転送する（ステップＳ４）。
【００２９】
そして、Proxy-1は、ＮＡＴ（Network  Address  Translation）によるIPマスカレード処理を行うことで、パケットの送信先アドレスをＶＭ３のアドレスである「Local  IP1」に変更し（ステップＳ５）、パケットをＶＭ３へ転送する（ステップＳ６）。これにより、ＶＭ３は、送信元アドレスがUE-IP1で、送信先アドレスがLocal  IP1であるパケットを受信する。
【００３０】
（返信処理）
次に、図６を用いてＶＭ３からのパケット返信処理を説明する。ＶＭ３は、返信するパケットについて送信元アドレスを「Local  IP1」に、送信先アドレスを「UE-IP1」にそれぞれ設定し、当該パケットをProxy1に返信する（ステップＳ１１）。Proxy1は、返信されたパケットについてＮＡＴ処理によって送信元アドレスを「SV-IP」に変更し（ステップＳ１２）、変更後のパケットをオープンフロースイッチ９５に転送する（ステップＳ１３）。このとき、オープンフロースイッチ９５から見て、下り方向（ＵＥ１への返信方向）は、複数の送信元（Proxy）から１つの送信先（ＵＥ１）へ転送することになるため、上記のようにオープンフロースイッチ９５によるパケットの転送先の振分けは不要である。そのため、オープンフロースイッチ９５は、転送されてきたパケットをそのままＤＰＩへ転送する（ステップＳ１４）。
【００３１】
ＤＰＩは、転送されてきたパケットに対し適切なＧＴＰ（GPRS  Tunneling  Protocol）トンネル処理を行い（ステップＳ１５）、処理後のパケットをｅＮＢへ転送する。ＤＰＩは、図７に示すＧＴＰのテーブルを予め記憶しており、上記ステップＳ１５では該テーブルを参照して上記パケットに適用すべきＧＴＰトンネル（例えば送信先アドレス（ＵＥのアドレス）UE-IP1に対応付けられたGTP1）を選択し、選択したＧＴＰトンネルに基づくＧＴＰトンネル処理を行う。その後、パケットは、ｅＮＢを経由して送信先のＵＥ１へ届く（ステップＳ１６）。これにより、ＵＥ１のアプリケーションは、外部データセンターのＶＭ１から返信されてきたパケットと同様のパケット、即ち、送信元アドレスがSV-IPに、送信先アドレスがUE-IP1にそれぞれ設定されたパケットを受け取ることとなる。
【００３２】
（移動処理）
次に、ＵＥ１が移動しハンドオーバーが生じた場合の移動処理を説明する。図８に示すように、ＶＭ３に収容されていたＵＥ１が移動し、ＶＭ２に収容されようとしているとき、このＵＥ１の移動に追従して、移動元のＵＥ１に対し設定されていた図８で破線で示すProxy（移動元Proxy）のセッションの移動処理が実行されることで、ＶＭ２に収容されようとしているＵＥ１に対し、図８で実線で示すProxy（移動先Proxy）が設定される。上記の「セッションの移動処理」として、以下では、ライブマイグレーションが実行される例を説明する。ただし、これは必須ではなく、セッションの移動処理としては、ライブマイグレーション以外に、エラスティックコアアーキテクチャでのセッション情報の引き継ぎ、プロトコルに用意されたセッション張り替え手続きなどが挙げられる。
【００３３】
図８には移動後のアドレス設定状況も示されており、前述した図３（ａ）の移動前のアドレス設定状況と同様に、複数のＶＭ１〜ＶＭ３には同じＩＰアドレス（Local  IP1）が設定され、ＵＥ１のアプリケーションから処理要求を送る場合、送信元アドレスを「UE-IP1」に設定し、送信先アドレスを「SV-IP」に設定すればよく、ＵＥ１のアプリケーションについては、移動前と同様、図３（ｂ）のようなアドレス設定であるとして実装すればよい。
【００３４】
以下、図９を用いて移動処理を説明する。ＶＭ３に収容されていたＵＥ１が移動開始して（ステップＳ２１）ＶＭ２に収容されようとしているとき、移動検出機は、例えばモバイルコアネットワーク側（図１のＰＧＷ２０やＳＧＷ３０等）からの、移動元ｅＮＢから移動先ｅＮＢへのＵＥ１のハンドオーバー開始通知に基づいて、ＵＥ１の移動を検出する（ステップＳ２２）。このとき移動検出機は、移動元ｅＮＢおよび移動先ｅＮＢの情報から、対象となる移動元ＶＭ（ＶＭ３）および移動先ＶＭ（ＶＭ２）を検出し、対象となる移動元Proxyとその移動先を決定する。さらに、移動検出機は、移動元Proxyに対し、その移動先情報を含んだ移動指示（ここではＶＭ３からＶＭ２へのライブマイグレーションの指示）を行う（ステップＳ２３）。
【００３５】
これにより、ＶＭ３からＶＭ２へのProxyのライブマイグレーション（移動処理）が実行される（ステップＳ２４）。その中で具体的には、移動元Proxyの削除開始（ステップＳ２５）、移動元オープンフロースイッチへのフローテーブル修正指示（ステップＳ２６）に基づく移動元オープンフロースイッチにおける移動元Proxy関連のフローの削除（ステップＳ２７）が実行される。さらに、移動先Proxyの追加（ステップＳ２８）、移動先オープンフロースイッチへのフローテーブル修正指示（ステップＳ２９）に基づく移動先オープンフロースイッチにおける移動先Proxy関連のフローの追加（ステップＳ３０）が実行される。ステップＳ２８の移動先Proxyの追加処理では、必要に応じて認証処理を実行してもよい。そして、移動先Proxyと、移動先の収容ＶＭであるＶＭ２との間でセッションが生成される（ステップＳ３１）。その後、移動先Proxyにおける移動処理完了が移動先Proxyから移動元Proxyへ通知されると（ステップＳ３２）、移動処理完了はさらに移動元Proxyから移動検出機へ通知される（ステップＳ３３）。この通知後、移動元Proxyの削除が完了する。
【００３６】
ハンドオーバーの途中段階でＵＥ１から移動元ｅＮＢへ送信されたパケットは、図９のステップＳ３４として破線で示すように、標準仕様に基づき、移動元ｅＮＢから移動先ｅＮＢへ転送され、その後、移動先ＤＰＩ、移動先オープンフロースイッチ、移動先Proxyを経由して、ハンドオーバー先のＶＭ２へ転送される。このようにしてハンドオーバーの途中段階でＵＥ１から移動元ｅＮＢへ送信されたパケットは、ハンドオーバー先のＶＭ２へリダイレクトされる。
【００３７】
なお、図９には、移動先Proxyとハンドオーバー先のＶＭ２との間のセッションが生成された後に、リダイレクトすべきパケットが発生したケースを示したが、移動先Proxyとハンドオーバー先のＶＭ２との間のセッションが生成される前に、リダイレクトすべきパケットが発生した場合は、移動先Proxyが当該パケットを一時的に記憶し、ＶＭ２とのセッションが生成され次第、当該パケットをＶＭ２へ転送すればよい。
【００３８】
そして、ＵＥ１の移動が完了した（ステップＳ３５）後は、ＵＥ１からのパケットは、移動先ｅＮＢ、移動先ＤＰＩ、移動先オープンフロースイッチ、移動先Proxyを経由して、ハンドオーバー先のＶＭ２へ送信される（ステップＳ３６：通常の送信）。
【００３９】
上記のような移動元Proxyのライブマイグレーションに伴って、以下のように各種テーブルの値の移動（実際には、移動先への追加および移動元からの削除）が行われる。具体的には、ＧＴＰのテーブルについては、図１０（ａ）に示すように移動元のＧＴＰのテーブルからＵＥ１に関するデータが移動元ＤＰＩにより削除され、図１０（ｂ）に示すように移動先のＧＴＰのテーブルにＵＥ１に関するデータが移動先ＤＰＩにより追加される。また、ＤＰＩのテーブルについては、図１０（ｃ）に示すように移動元ＤＰＩのテーブルからＵＥ１に関するデータが移動元ＤＰＩにより削除され、図１０（ｄ）に示すように移動先ＤＰＩのテーブルにＵＥ１に関するデータが移動先ＤＰＩにより追加される。同様に、オープンフロースイッチのテーブルについては、図１０（ｅ）に示すように移動元オープンフロースイッチのテーブルからＵＥ１に関するデータが移動元オープンフロースイッチにより削除され、図１０（ｆ）に示すように移動先オープンフロースイッチのテーブルにＵＥ１に関するデータが移動先オープンフロースイッチにより追加される。なお、移動元ＤＰＩは、図９のステップＳ２３での移動指示の転送における途中の経路上にあるため、当該転送の際に移動元Proxyのライブマイグレーションを認識することができる。移動先ＤＰＩは、図９のステップＳ２４での移動処理指示の転送における途中の経路上にあるため、当該転送の際に移動元Proxyのライブマイグレーションを認識することができる。
【００４０】
（エッジサーバを使わずにＷＡＮ上のＶＭ１を用いる場合について）
エッジサーバ（図１１（ａ）のＶＭ２やＶＭ３）を使わずにＷＡＮ上のＶＭ１を用いてＵＥ１からの処理要求を処理することもできる。この場合、図１１（ａ）のProxyについては、実際には図１１（ｂ）のように同一IP（SV-IP）のProxyがＵＥの数だけ設定され、オープンフロースイッチ９５がパケットの送信元アドレスに応じてパケットを振り分ける構成を採用することができる。
【００４１】
ただし、ＷＡＮ上のＶＭ１を用いる場合は、ネットワーク経路上で生じる遅延が比較的大きいと推測されるため、図１１（ｂ）のような構成でなくProxyを１台だけにして、最悪はセッションを一旦切断して対応する構成としてもよい。このような構成により低遅延化を図ることができる。
【００４２】
（最初の接続時の処理）
以下、最初の接続時の処理について、ＷＡＮ上のＶＭ１を用いる場合を例にして説明する。ここでは、図１３（ａ）のように最初にProxyを１台だけ設定し、任意の送信元アドレスからの接続要求が当該１台のProxyに転送されるようにオープンフロースイッチのテーブルを設定しておく。
【００４３】
ＷＡＮ上のＶＭ１への接続要求がＵＥ１から送信されると（図１２のステップＳ４１）、上記接続要求はｅＮＢ経由でＷＡＮへ届き、ＷＡＮにてルーティングされ（ステップＳ４２）、オープンフロースイッチ９５へ転送される（ステップＳ４３）。オープンフロースイッチ９５は、図１３（ｂ）のように上記接続要求をその時点の待ち受けProxy（最初に設定されたProxy）に送信する（ステップＳ４４、Ｓ４５）。そして、最初に設定されたProxyは、図１４（ａ）のように、ＵＥ１以外の送信元からのパケットを待ち受けるProxy2を新設し（ステップＳ４６）、ＵＥ１以外の送信元からのパケットが新設のProxy2へ転送されるようにオープンフロースイッチ９５におけるフローを修正する。これは、オープンフロースイッチ９５を管理するオープンフローコントローラ（不図示）経由で行われる（ステップＳ４７）。これを受けて、オープンフロースイッチ９５では、フローにおける待ち受けProxyがProxy2に修正される（ステップＳ４８）。
【００４４】
また、最初に設定されたProxyは、上記接続要求をＶＭ１へ送信し（ステップＳ４９）、ＵＥ１へ向けて接続完了の旨の接続返信を送る（ステップＳ５０）。また、ＶＭ１から最初に設定されたProxyへ接続完了の旨の接続返信が送られる（ステップＳ５１）。
【００４５】
以上のようにして、最初の接続時に、ＵＥ１−ＶＭ１間で正常な接続が実現される。もし図１２のステップＳ５１でのＶＭ１からの接続返信が接続失敗という内容であった場合は、最初に設定されたProxyとＵＥ１間の接続も切断すればよい。上記ではＷＡＮ上のＶＭ１を用いる場合を例示したが、ＤＰＩ経由で接続されるＶＭ２、ＶＭ３を用いる場合にも、上記一連の処理は適用可能である。
【００４６】
なお、図１２では、最初にProxyを１台だけ設定しておき、最初の接続要求が当該Proxyに転送された時点で、新たなProxyを設定する例を示したが、最初に複数のProxyを設定しておいてもよく、その場合は１台以上のProxyが待ち受けProxyとして残るよう設定することが望ましい。特に、多数の接続要求が予想される時には、それらの接続要求を受け付け可能な台数および待ち受けProxyとして残す台数を含めた台数分のProxyを設定しておくことが望ましい。
【００４７】
また、図１２のステップＳ４５〜Ｓ４７では待ち受けProxyを１台新設する例を示したが、この場合、もしステップＳ４５〜Ｓ４７が完了する前に複数の接続要求が来た場合には、２番目以降の接続要求にはすぐには応じられないため、２番目以降の接続要求は破棄される。ただ、このような事態を回避するべく、待ち受けProxyを多く用意しておくことが望ましい。または、２番目以降の接続要求をドロップしてｅＮＢからの再送を待ち、その間に、待ち受けProxyのさらなる新設処理を進めてもよい。
【００４８】
以上説明した本実施形態によれば、エッジコンピューティングを移動体通信網に適用する場合に、ＵＥのハンドオーバーが生じたときであっても、ＵＥ側のアプリケーションのセッション情報を維持することができる。
【００４９】
（変形例１）
上記の実施形態で述べたProxyは、ＵＥと該ＵＥを収容するＶＭとの間のセッションを終端しＵＥ側のアプリケーションのセッション情報を保持するＵＥ側Proxyであったが、図１５（ａ）に示すように、ＵＥ側Proxyに加え、ＵＥと該ＵＥを収容するＶＭとの間のセッションを終端しＶＭ側のアプリケーションのセッション情報を保持するＶＭ側Proxy（本発明の「仮想マシン側セッション維持プロキシサーバ」に相当）を、ＵＥ側ProxyとＶＭとの間に設定してもよい。ＶＭ側Proxyは、図１５（ａ）に示すようにＶＭ１〜ＶＭ３それぞれに対し１台ずつ設定される。図１５（ｂ）に示すようにＵＥ側Proxyは、在圏するＵＥごとに設定されるのに対し、ＶＭ側Proxyは、ＵＥを収容するＶＭ（ＶＭ３）に対し１台のみ設定される。その１台は、セッションをユーザ数分保持する。例えばIPアドレスやポートをユーザ数分用意し、ユーザ側プロキシと紐づけて管理する。このセッションはユーザが移動しても継続され、ＶＭはセッションを維持することができる。
【００５０】
この場合、ＵＥのハンドオーバーが生じたときでも、ＶＭ側のアプリケーションのセッション情報を維持することができ、ハンドオーバーを意識することなく、ＶＭ側のアプリケーションを実行することができる、という利点がある。
【００５１】
（変形例２）
上記実施形態のProxy（ＵＥ側のアプリケーションのセッション情報を保持するＵＥ側Proxy）は、図１６（ａ）に示すようにＵＥ上に設定してもよい。この場合、ＵＥの移動に追従させたProxyの移動は不要となる。
【００５２】
ただし、ＵＥ上にProxyを設定するため、ＵＥのユーザに改変Proxyを使われるなどの攻撃に利用されるおそれがある。ここでの攻撃にはいくつかの種類が考えられるが、少なくとも、成りすまし防止のために、ProxyとＶＭ間での認証は必須になる。その際の認証処理は、図１６（ｂ）に示すＶＭ内に設けられた認証機能部５５により実行してもよいし、ＶＭの外部に設けられた認証機能部により実行してもよい。ＵＥのハンドオーバーが生じた場合には、ハンドオーバー元のＶＭの認証機能部とハンドオーバー先のＶＭの認証機能部との間で、認証情報の引き継ぎが必要になる。
【００５３】
（変形例３）
上記実施形態では、図１７（ａ）に示すオープンフロースイッチ９５によって送信元アドレスに応じたProxyにパケットを振り分ける例を示したが、パケットの振り分けでは、オープンフローを用いることは必須ではなく、別の手法を用いてもよい。例えば、図１７（ｃ）のテーブルを予め記憶した図１７（ｂ）に示すＤＮＳサーバ９６が、当該テーブルを参照することで送信元ＵＥのアドレスに対応するProxyを特定し、スイッチ９７を用いて、当該特定されたProxyにパケットを振り分けるよう構成してもよい。
【００５４】
なお、本明細書で説明した「情報」は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００５５】
本明細書で使用する「判断」という用語は、多種多様な動作を包含する。「判断」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(lookingup)（例えば、テーブル、データベースまたは別のデータ構造での探索）、確認(ascertaining)などを含み得る。また、「判断」は、受信(receiving)（例えば、情報を受信すること）、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）などを含み得る。また、「判断」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などを含み得る。
【００５６】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【００５７】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００５８】
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００５９】
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【符号の説明】
【００６０】
１…通信システム、１０…ＷＡＮ、２０…ＰＧＷ、３０…ＳＧＷ、４０…ＤＰＩ、５０…ＶＭ、５５…認証機能部、６０…ｅＮＢ、７０…ＵＥ、８０…移動検出機、９０…ＵＥ側Proxy、９５…オープンフロースイッチ、９６…ＤＮＳサーバ、９７…スイッチ、１００…装置、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置。
【図１】
0006554431.tif 000002
【図２】
0006554431.tif 000003
【図３】
0006554431.tif 000004
【図４】
0006554431.tif 000005
【図５】
0006554431.tif 000006
【図６】
0006554431.tif 000007
【図７】
0006554431.tif 000008
【図８】
0006554431.tif 000009
【図９】
0006554431.tif 000010
【図１０】
0006554431.tif 000011
【図１１】
0006554431.tif 000012
【図１２】
0006554431.tif 000013
【図１３】
0006554431.tif 000014
【図１４】
0006554431.tif 000015
【図１５】
0006554431.tif 000016
【図１６】
0006554431.tif 000017
【図１７】
0006554431.tif 000018