JP2019075710A - 通信装置、及び通信方法 - Google Patents
通信装置、及び通信方法 Download PDFInfo
- Publication number
- JP2019075710A JP2019075710A JP2017200918A JP2017200918A JP2019075710A JP 2019075710 A JP2019075710 A JP 2019075710A JP 2017200918 A JP2017200918 A JP 2017200918A JP 2017200918 A JP2017200918 A JP 2017200918A JP 2019075710 A JP2019075710 A JP 2019075710A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- management unit
- information
- communication
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】瞬断時間を削減させるようにした通信装置、及び通信方法を提供すること。【解決手段】端末装置と通信可能な通信装置において、前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出するハンドオーバ管理部と、前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する第1のマイグレーション管理部とを備える。【選択図】図1
Description
本発明は、通信装置、及び通信方法に関する。
近年、エッジコンピューティングが注目されている。エッジコンピューティングは、例えば、クラウドサーバに配置されたアプリケーションプログラムやデータなどを、エッジサーバに分散させるようにした技術である。端末装置は、クラウドサーバよりも近い場所にあるエッジサーバを利用してアプリケーションプログラムやデータを利用することが可能となる。そのため、端末装置では、クラウドサーバを利用する場合と比較して、低遅延での通信が可能となる。端末装置は、エッジコンピューティングにより、安全運転支援アプリケーションなど、低遅延の特性を活かした様々なアプリケーションを利用することが可能となる。
エッジコンピューティングの1つとして、例えば、モバイルエッジコンピューティングがある。モバイルエッジコンピューティングでは、端末装置から見てコアネットワークの外側にサーバを配置するのではなく、基地局装置の近傍にサーバを配置させる。端末装置では、サーバを介して、低遅延の特性を活かした様々なサービスの提供を受けることが可能となる。
エッジコンピューティングでは、利用者(又は端末装置)の移動に伴って、あるエッジサーバから他のエッジサーバへ、データやアプリケーションプログラムなどを移動させる場合がある。このようにデータなどを移動させることを、例えば、マイグレーション(又は再配置)と称する場合がある。
マイグレーションに関して、例えば、以下の技術がある。すなわち、移動体端末がA地点からD地点へ移動する場合、A地点の計算機Aは、移動体端末の移動先であるD地点を予測し、D地点の計算機Dへプロセスのアドレス空間のデータを送信し、D地点への移動が確定すると、アドレス空間の差分情報を計算機Dへ送信する技術がある。
この技術によれば、移動端末の要求に応じて実行中のプロセスを、移動体端末の移動先を予測して移動させることができる、とされる。
しかし、マイグレーションの際、データなどがエッジサーバ間を移動するため、端末装置では、一瞬だけアプリケーションを利用できない時間が存在する。このような時間のことを、例えば、瞬断時間と称する場合がある。
上述した、アドレス空間の差分情報を送信する技術は、移動体端末の移動先を予測した後、移動先が確定するまでの間の差分情報を、計算機Dへ送信している。従って、かかる技術では、移動体端末の移動先を予測後、確定するための時間が長いと、差分情報の情報量も多くなる。差分情報の情報量が多くなればなるほど、瞬断時間は長くなる。そのため、上述した技術では、移動体端末において、アプリケーションを利用しても、低遅延の特性を活かすことができない場合がある。
そこで、一開示は、瞬断時間を削減させるようにした通信装置、及び通信方法を提供することにある。
一開示は、端末装置と通信可能な通信装置において、前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出するハンドオーバ管理部と、前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する第1のマイグレーション管理部とを備える。
一開示によれば、瞬断時間を削減させることができる。
以下、本発明を実施するための形態について説明する。なお、以下の実施例は開示の技術を限定するものではない。そして、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、本明細書に記載された用語や技術的内容は、3GPP(Third Generation Partnership Project)やIEEEなど、規格として仕様書に記載された用語や技術的内容が適宜用いられてもよい。
[第1の実施の形態]
<通信システムの構成例>
図1は第1の実施の形態における通信システム10の構成例を表す図である。
<通信システムの構成例>
図1は第1の実施の形態における通信システム10の構成例を表す図である。
通信システム10は、基地局装置(以下、「基地局」と称する場合がある。)200−1,200−2と端末装置(以下、「端末」と称する場合がある。)400を備える。
基地局200−1,200−2は、例えば、自局の通信可能範囲に在圏する端末400に対して無線通信を行う無線通信装置である。基地局200−1,200−2は、端末400に対して、通話サービスや映像配信サービスなど、種々のサービスを提供する。
本第1の実施の形態においては、基地局200−1,200−2は、モバイルエッジコンピューティングを利用して端末400にサービスを提供する。モバイルエッジコンピューティングは、上述したように、例えば、基地局200−1,200−2の近傍やその内部にサーバ装置(以下、「サーバ」と称する場合がある。)を配置させ、サーバから端末400へ、サービスを提供できるようにした技術である。図1の例では、基地局200−1,200−2内に、サーバ100−1,100−2を含む例を表している。
サーバ100−1,100−2は、例えば、アプリケーションプログラムを実行することで、アプリケーションを実行し、端末400へ、サービスを提供する。そのようなアプリケーションの種類としては、例えば、車(端末400)の安全運転を支援する「安全運転支援サービス」がある。このアプリケーションを実行することで、サーバ100−1,100−2は、車を運転する運転手に対して、例えば、障害物によって、走行中の自動車からは見えない位置にいる歩行者の存在を通知することが可能である。基地局200−1,200−2内に配置されたサーバ100−1,100−2により、このような低遅延特性を活かしたアプリケーションを実行させることが可能となる。
端末400は、基地局200−1,200−2と無線通信を行うことで、サーバ100−1,100−2から、種々のサービスの提供を受けることが可能である。
図1の例では、端末400は、基地局200−1から基地局200−2へ接続を切り替える例を表している。このように、接続している基地局を切り替えることを、例えば、ハンドオーバと称する場合がある。ハンドオーバにより、例えば、端末400は、継続したサービスの提供を受けることが可能となる。
なお、図1の例では、基地局200−1が接続元の基地局、基地局200−2が接続先の基地局となっている。そのため、サーバ100−1も、端末400から見ると移動元のサーバ(以下、「移動元サーバ」と称する場合がある。)となり、サーバ100−2は移動先のサーバ(以下、「移動先サーバ」と称する場合がある。)となる。
移動元サーバ100−1は、端末400の移動により、サーバ100−1が端末400に提供しているアプリケーションに関する情報や、実行しているプロセスに関する情報などを、移動先のサーバ100−2へ送信する。このように、移動元サーバ100−1から移動先のサーバ100−2へ情報などを送信することを、例えば、マイグレーション(又は再配置)と称する場合がある。マイグレーションによって、端末400は、移動元サーバ100−1から受けていたアプリケーションによるサービスを、移動先のサーバ100−2から継続して受けることが可能となる。
なお、サーバ100−1においてアプリケーションプログラムが実行されることで、例えば、アプリケーションが持っている機能が実行される。以下においては、「アプリケーションプログラムの実行」と「アプリケーションの実行」とを区別しないで用いる場合がある。
また、サーバ100−1において、アプリケーションプログラムが実行されることで、例えば、複数のプロセス115−11,115−12,…が実行される。プロセス115−11,115−12,…は、例えば、アプリケーションプログラムの動作中のインスタンス(又はオブジェクトの実体)を表し、アプリケーションプログラムのコード、変数、状態などを含む。プロセス115−11,115−12,…は、アプリケーションを実行する際の種々の情報に対する処理を行う実行部分である。以下においては、「プロセスの実行」と「アプリケーションプログラムの実行」、「プロセスの実行」と「アプリケーションの実行」とを、区別しないで用いる場合がある。また、「プロセス」と「アプリケーション」とを区別しないで用いる場合もある。
さらに、以下においては、例えば、「プロセスが情報をメモリに保持又は記憶する」ことと、「プロセスが情報を保持する」ことは、例えば、区別しないで用いる場合がある。例えば、「プロセスがプロセスIDをメモリに保持する」又は「プロセスが識別子をメモリに保持する」ことを、「プロセスがプロセスIDを保持する」又は「プロセスが識別子を保持する」と称する場合がある。
<サーバの構成例>
図1は、サーバ100−1,100−2の構成例を表す図である。サーバ100−1とサーバ100−2は、いずれも同一構成のため、代表して、サーバ100−1を例にして説明する。
図1は、サーバ100−1,100−2の構成例を表す図である。サーバ100−1とサーバ100−2は、いずれも同一構成のため、代表して、サーバ100−1を例にして説明する。
サーバ100−1は、ハンドオーバ管理部101−1、ホストレベルマイグレーション管理部(又は第2のマイグレーション管理部)102−1を備える。また、サーバ100−1は、アプリ管理表(又はアプリ管理テーブル)103−1、VM(Virtual Machine:仮想マシン)管理部104−1、VM105−11,105−12,…を備える。
ハンドオーバ管理部101−1は、例えば、端末400のハンドオーバを管理する。例えば、ハンドオーバ管理部101−1は、端末400がハンドオーバを行うとき、端末400や移動先サーバ100−2との間で、ハンドオーバに関するメッセージなどを送受信する。
ホストレベルマイグレーション管理部(以下、「ホストレベル管理部」と称する場合がある。)102−1は、例えば、マイグレーションに関する処理を管理する。例えば、ホストレベル管理部102−1は、ハンドオーバ管理部101−1からハンドオーバ通知を入力すると、ネットワーク300を介して、移動先サーバ100−2のホストレベル管理部102−2へ、マイグレーションの申請(以下、「再配置申請」と称する場合がある。)を行う。
また、例えば、ホストレベル管理部102−1は、VM管理部104−1へ、マイグレーションの指示(以下、「再配置指示」と称する場合がある。)を通知する。
さらに、ホストレベル管理部102−1は、例えば、どの端末400に対して、どのようなアプリケーションが実行されているかを管理する。例えば、ホストレベル管理部102−1は、VM管理部104−1や変換部111−1から通知を入力すると、アプリケーションの情報や接続対象の端末400の情報をアプリ管理表103−2に登録する。
アプリ管理表103−1は、例えば、どのようなアプリケーションがどの端末400で実行されているかを管理するテーブル(又はメモリ)である。図7は、アプリ管理表103−1の例を表す。詳細は動作例で説明する。
VM管理部104−1は、例えば、VM105−11,105−12,…を管理する。仮想マシン(VM)は、例えば、サーバ100−1の動作をエミュレートするソフトウェアやフレームワークのことである。仮想マシンにより、例えば、サーバ100−1のハードウェア資源を複数に分割し、各資源を別々のユーザに割り当てることで、1つのサーバ100−1で複数のサーバを動作させるように見せかけることが可能となる。VM管理部104−1は、1つ1つのVM105−11,105−12,…を起動させることが可能である。VM管理部104−1は、各VM105−11,105−12,…を起動させると、例えば、起動したことを示す起動通知をホストレベル管理部102−1へ通知する。
VM105−11は、例えば、端末400に対して割り当てられた仮想マシンであり、端末400に対して種々のアプリケーションを提供する。
VM105−11は、OS(Operating System)110−1、変換部111−1、対応表(又は対応テーブル)112−1、VMレベルマイグレーション管理部(又は第1のマイグレーション管理部)113−1、プロセス管理部114−1を備える。さらに、プロセス管理部114−1では、複数のプロセス115−11,115−12,…が実行される。
OS110−1は、例えば、VM105−11で実行されるプロセス115−11,115−12,…とハードウェアとの間のインタフェースの役割を果たす。OS110−1は、変換部111−1を介して、プロセス115−11,115−12間の通信を管理する。
変換部111−1は、例えば、OS110−1を介して、プロセス115−11,115−12,…間で通信を行う際に、OS110−1やプロセス115−11,115−12,…から受け取った識別子を他の識別子に変換したり、要求を代理して出力したりする。変換部111−1は、通信路に関する情報を表す通信路情報を、対応表112−1に登録し、これを利用して変換などの処理を行う。詳細は動作例で説明する。
なお、通信路とは、例えば、プロセス115−11とプロセス115−12とがOS110−1を介して、情報の交換を行うときに、情報の交換が行われる経路のことである。詳細は後述する。例えば、プロセス115−11からプロセス115−12へ情報を通知するとき、このような通信路を介して、情報が通知される。
対応表112−1は、例えば、通信路の関係を表す情報を記憶するテーブル(又はメモリ)である。図15(B)は対応表112−1の例を表す図である。詳細は動作例で説明する。
VMレベルマイグレーション管理部(以下、「VMレベル管理部」と称する場合がある。)113−1は、例えば、マイグレーション対象のプロセス115−11をダンプ(又はファイル化)し、ダンプしたプロセス115−11の情報などを含むプロセス情報を生成する。VMレベル管理部113−1は、生成したプロセス情報を、移動先サーバ100−2へ送信する。
プロセス管理部114−1は、例えば、VM管理部104−1からの要求に従って、各プロセス115−11,115−12,…を実行させる。その際、プロセス管理部114−1は、実行させたプロセス115−11,115−12,…に対して、プロセスID(Identification)を発行し、各プロセス115−11,115−12,…をプロセスIDで管理する。
また、プロセス管理部114−1は、各プロセス115−11,115−12,…からの要求を、変換部111−1へ出力したり、変換部111−1から受け取った情報などを、各プロセス115−11,115−12,…で実行させたりする。
このように、プロセス115−11,115−12,…間の通信は、例えば、プロセス管理部114−1により行われる。ただし、以下においては、プロセス管理部114−1ではなく、プロセス115−11,115−12,…が、そのような通信を行う実行主体であるものとして説明する。
<プロセスの種類と通信路の例>
図2(A)は通信路の生成処理を表し、図2(B)は通信路を介した通信の例を表す図である。
図2(A)は通信路の生成処理を表し、図2(B)は通信路を介した通信の例を表す図である。
本第1の実施の形態では、プロセスの種類として、ステートフルプロセス115−11とステートレスプロセス115−12の2つのプロセスがある。
ステートフルプロセス115−11は、例えば、プロセスが実行中において端末400に関する情報を示す端末情報を保持するプロセスである。例えば、サーバ100−1において、「安全運転支援サービス」に関するアプリケーションが実行されているとき、ステートフルプロセス115−11は、端末情報として、車(端末400)の識別情報、位置、速度、方向、加速度、搭乗者数、重量などを保持する。ステートフルプロセス115−11は、例えば、プロセス実行中においては、このような端末400に関する情報を保持しているため、他のプロセス、ここでは、ステートレスプロセス115−12へ、保持した端末400に関する情報を出力することができる。
他方、ステートレスプロセス115−12は、例えば、プロセス実行中において端末情報の入力があれば端末情報を保持し、端末情報の入力がないときは端末情報を保持しないプロセスである。ステートレスプロセス115−12は、例えば、待機状態のときは端末情報を保持することはしないで、入力があると端末情報を保持し、その端末情報を用いて処理を行う。これにより、ステートレスプロセス115−12は、例えば、車(又は端末400)の移動先を予測し、移動先において衝突の可能のある歩行者がいる場合、そのような歩行者の存在を、車の運転手(又は端末400を利用するユーザ)へ通知することが可能となる。
ステートフルプロセス115−11とステートレスプロセス115−12とがこのような通信を行う前に、通信路の設定が行われる。
図2(A)に示すように、ステートフルプロセス115−11は、通信路の生成の際に、通信路の生成要求をOS110−1へ出力する。OS110−1は、生成要求を入力すると、通信路に対する識別子(図2(A)の例では、“4”)を発行し、発行した識別子をステートフルプロセス115−11へ出力する。同様に、ステートレスプロセス115−12も、生成要求をOS110−1へ出力すると、OS110−1は、通信路に対する識別子(図2(A)の例では“7”)を発行し、発行した識別子をステートレスプロセス115−12へ出力する。
なお、識別子は、例えば、プロセス115−11,115−12の通信を、他のプロセス間の通信と識別する識別情報である。
ステートフルプロセス115−11とステートレスプロセス115−12では、例えば、プロセスIDと通信路の名前(図2(A)の例では、“tmp/fifo”)とを含む生成要求を、OS110−1へ出力する。OS110−1は、例えば、通信路の名前が共通であることから、2つのプロセス115−11,115−12を括り付けて管理することが可能となる。
なお、この通信路の名前は、例えば、各プロセス115−11,115−12が予め保持する(又はプロセス管理部114−1が予め保持する)情報である。各プロセス115−11,115−12,…は、プロセスIDとともにこの通信路の名前を含む生成要求を生成して、出力するようにしている。
従って、ステートフルプロセス115−11とステートレスプロセス115−12とは、異なる識別子が割り当てられても、OS110−1側の方で、2つのプロセス115−11,115−12を括り付けて、2つのプロセス115−11,115−12を1つの通信路で結合することが可能となる。
そして、図2(B)に示すように、ステートフルプロセス115−11は、発行された識別子を用いて通信要求をOS110−1へ出力すると、OS110−1は、例えば、ステートレスプロセス115−12へ通信要求を出力するなどして、通信路を確立させる。以後、ステートフルプロセス115−11からステートレスプロセス115−12へ、OS110−1を介して、端末情報を通知することが可能となる。
<動作例>
図3と図4は、通信システム10におけるシーケンス例を表す図である。
図3と図4は、通信システム10におけるシーケンス例を表す図である。
図3と図4に示すように、本シーケンス例は、最初に、デプロイフェーズ、次に、接続フェーズ、以降は、通信路生成フェーズ、再配置フェーズ、再接続フェーズ、通信路再生成フェーズ、最後に、通信フェーズの順番となっている。
これのフェーズは、例えば、マイグレーションに関するシーケンス例を表している。最初にこのマイグレーションのシーケンス例について説明する。
一方、通信路生成フェーズ、通信路再生成フェーズ、及び通信フェーズは、例えば、通信路の動的変換のシーケンス例を表している。図16と図17に、そのシーケンス例を表している。マイグレーションのシーケンス例を説明した後、この通信路の動的変換のシーケンス例について説明する。動作例は以下の順番で説明する。
<1.マイグレーションのシーケンス例>
<1.1 デプロイフェーズ>
<1.2 接続フェーズ>
<1.3 再配置フェーズ>
<1.4 再接続フェーズ>
<2.通信路の動的変換のシーケンス例>
<2.1 通信路生成フェーズ>
<2.2 通信路再生成フェーズ>
<2.3 通信フェーズ>
<1.マイグレーションのシーケンス例>
<1.1 デプロイフェーズ>
<1.2 接続フェーズ>
<1.3 再配置フェーズ>
<1.4 再接続フェーズ>
<2.通信路の動的変換のシーケンス例>
<2.1 通信路生成フェーズ>
<2.2 通信路再生成フェーズ>
<2.3 通信フェーズ>
<1.マイグレーションのシーケンス例>
<1.1 デプロイフェーズ>
デプロイフェーズは、例えば、移動元サーバ100−1と移動先サーバ100−2において、アプリケーションを利用可能な状態にするフェーズである。アプリケーションとしては、「安全運転支援サービス」などがある。
<1.1 デプロイフェーズ>
デプロイフェーズは、例えば、移動元サーバ100−1と移動先サーバ100−2において、アプリケーションを利用可能な状態にするフェーズである。アプリケーションとしては、「安全運転支援サービス」などがある。
図3に示すように、開発者がパーソナルコンピュータ(Personal Computer)(以下、「PC」と称する場合がある。)を操作することで、デプロイ要求が生成される。デプロイ要求は、移動元サーバ100−1のVM管理部104−1へ送信される(S10)。デプロイ要求は、例えば、仮想マシンの生成要求(又は実行要求)である。例えば、PCに代えて、開発者が移動元サーバ100−1を操作することで、移動元サーバ100−1においてデプロイ要求が生成されてもよい。
次に、VM管理部104−1は、VM起動処理を行い、VM105−11を起動させる(S11)。
図5は、VM起動処理の例を表すフローチャートである。
VM管理部104−1は、処理を開始すると(S100)、VMイメージと実行対象のアプリケーションの名前とを含む、デプロイ要求を受信する(S101)。VMイメージは、例えば、VMの構成情報を表し、具体的には、メモリやCPU(Central Processing Unit)など、どのハードウェア資源を用いてVMが実行されるのかを表す情報である。
次に、VM管理部104−1は、サーバ100−1の現在の計算資源の使用状況を考慮して、デプロイ可能か否かを判定する(S102)。例えば、VM管理部104−1は、VMイメージと、サーバ100−1におけるハードウェア資源の使用状況とを比較して、VMを実行するだけの資源があるか否かにより判定してもよい。
VM管理部104−1は、デプロイ可能と判定すると、端末400と接続するプロセスを生成するVMを起動させる(S103)。これにより、例えば、図1に示すようにVM105−11がサーバ100−1で起動される。
次に、VM管理部104−1は、VM105−11を起動させると、VM105−11を起動させたことを示し、デプロイ内容を含む起動通知を生成し、生成した起動通知を、ホストレベル管理部102−1へ出力する(S104)。デプロイ内容は、例えば、実行させたアプリケーションやVMなどの情報が含まれる。
そして、VM管理部104−1は、VM起動処理を終了する(S105)。
一方、VM管理部104−1は、S102において、デプロイ可能ではないと判定したとき、VMを起動させることなく、デプロイフェーズの処理自体を終了してもよい。
図3に戻り、VM管理部104−1は、VM105−11を起動させると(S11)、起動通知をホストレベル管理部102−1へ通知する(S12)。
次に、ホストレベル管理部102−1は、アプリケーションの登録処理を行い、アプリケーションの登録を行う(S13)。
図6は、アプリケーションの登録処理の例を表すフローチャートである。
ホストレベル管理部102−1は、処理を開始すると(S130)、起動通知を受信し(S131)、起動したVMのIP(Internet Protocol)アドレスと、アプリケーション名とを、アプリ管理表103−1に登録する(S132)。例えば、VM管理部104−1では、VM105−11を起動させると(S11)、VM105−11に対してIPアドレスを割り当て、起動通知(S12)に含める。また、VM管理部104−1は、デプロイ要求に含まれるアプリケーション名も、起動通知に含める。起動通知には、VM105−11のIPアドレスと、アプリケーション名とが含まれる。ホストレベル管理部102−1は、起動通知から、VM105−11のIPアドレスとアプリケーション名とを抽出して、アプリ管理表103−1に記憶する。
図7は、アプリ管理表103−1の構成例を表す図である。図7に示すように、アプリ管理表103−1は、アプリケーション名を表す「アプリ名」と、起動させたVMのIPアドレスを表す「VMのIPアドレス」の項目が含まれる。アプリケーション登録処理により、ホストレベル管理部102−1は、起動通知から抽出したアプリケーション名を「アプリ名」に記憶し、起動通知から抽出したVM105−11のIPアドレスを「VMのIPアドレス」に記憶する。
図6に戻り、ホストレベル管理部102−1は、S132の処理を終了すると、アプリケーション登録処理を終了する(S133)。
図3に戻り、VM管理部104−1により起動されたVM105−11(S11)は、プロセス115−11,115−12を生成する(S14)。本処理では、VM105−11は、ステートフルプロセス115−11とステートレスプロセス115−12とを生成する。
次に、PCは、デプロイ要求を、移動先サーバ100−2へ送信する(S15)。ここで、PCが、デプロイ要求を、移動先サーバ100−2へ送信するのは、例えば、以下の理由からである。
すなわち、端末400が基地局200−1に接続しているとき、ハンドオーバ先の基地局は、基地局200−1との接続関係から、基地局200−1に隣接する基地局が対象となる。従って、デプロイ要求の送信先は、基地局200−1に隣接する基地局に含まれるサーバとなる。そのため、デプロイ要求は、そのような隣接基地局に含まれる他のサーバへ送信される。サーバ100−2も、その一つとして、PCはデプロイ要求を送信している。ただし、サーバ100−2は、この段階では、移動先候補のサーバ100−2ではあるものの、以下では、移動先サーバ100−2として説明する。
図3に戻り、移動先サーバ100−2においても、VM管理部104−2は、デプロイ要求を受信すると(S15)、VM105−21を起動させ(S16、図5のVM起動処理)、起動通知をホストレベル管理部102−2へ通知する(S17)。そして、ホストレベル管理部102−2は、アプリケーションの登録処理を行い(S18、図6のアプリケーション登録処理)、VM105−21は、プロセス115−21,115−22,…を生成する(S19)。
なお、S14により、移動元サーバ100−1では、ステートフルプロセス115−11とステートレスプロセス115−12が生成される。また、S19により、移動先サーバ100−2では、ステートレスプロセス115−21が生成される。その理由は、例えば、以下である。
すなわち、端末400に関する情報がない状態で、VM105−11,105−12がプロセスを生成すると、ステートレスプロセス115−12が生成される。また、端末400に関する情報がある状態で、VM105−11,105−12がプロセスを生成すると、ステートフルプロセス115−11とステートレスプロセス115−12が生成される。
S14の場合、例えば、デプロイ要求に端末400に関する情報が含まれるため、ステートフルプロセス115−11とステートレスプロセス115−12が生成される。一方、S19の場合、例えば、デプロイ要求に端末400に関する情報が含まれないため、ステートレスプロセス115−12が生成され、ステートフルプロセス115−11は生成されない。
このような理由から、図3の例では、移動元サーバ100−1では、ステートフルプロセス115−11とステートレスプロセス115−12が生成され、移動先サーバ100−2では、ステートレスプロセス115−12が生成される。
<1.2 接続フェーズ>
接続フェーズへ移行すると、端末400は、変換部111−1へ接続要求を送信する(S20)。接続要求は、例えば、端末400が基地局200−1への接続を要求するものである。例えば、ハンドオーバ管理部101−1は、端末400から送信された接続要求を受信し、これを、ホストレベル管理部102−1、VM管理部104−1を経由して、プロセス115−11へ出力する。このとき、変換部111−1は、VM管理部104−1からプロセス115−11へ出力される接続要求をフックする。フックとは、例えば、要求が要求先へ届く前に要求を参照したり変更したりした上で、要求を要求先へ届けることである。変換部111−1は、このときプロセス接続処理を行う。
接続フェーズへ移行すると、端末400は、変換部111−1へ接続要求を送信する(S20)。接続要求は、例えば、端末400が基地局200−1への接続を要求するものである。例えば、ハンドオーバ管理部101−1は、端末400から送信された接続要求を受信し、これを、ホストレベル管理部102−1、VM管理部104−1を経由して、プロセス115−11へ出力する。このとき、変換部111−1は、VM管理部104−1からプロセス115−11へ出力される接続要求をフックする。フックとは、例えば、要求が要求先へ届く前に要求を参照したり変更したりした上で、要求を要求先へ届けることである。変換部111−1は、このときプロセス接続処理を行う。
図8は、プロセス接続処理の例を表すフローチャートである。
変換部111−1は、プロセス接続処理を開始すると(S200)、端末400からプロセス115−11へ出力される接続要求をフックする(S201)。
次に、変換部111−1は、端末400のIPアドレスと、プロセス115−11のプロセスIDとを、ホストレベル管理部102−1へ通知する(S202)。
端末400のIPアドレスは、例えば、接続要求に含まれるため、変換部111−1は、接続要求から端末400のIPアドレスを抽出できる。
一方、プロセスIDについては、例えば、以下の処理となる。すなわち、変換部111−1は、接続要求を受信すると、OS110−1に対して、対応するプロセスIDを問い合わせる。OS110−1は、例えば、図2で説明したように、各プロセスのプロセスIDと識別子との対応関係を内部メモリなどに保持している。この際、OS110−1は、対応関係を保持することで、端末400からの接続要求が到来するのを待ち受ける状態となる。OS110−1は、待ち受け状態で、変換部111−1からの問い合わせを受けると、待ち受けの対象となっているプロセスのうち、ステートフルプロセス115−11のプロセスID(例えば、“100”)を、変換部111−1へ通知する。
以上により、変換部111−1は、接続要求から抽出した端末400のIPアドレスと、OS110−1から受け取ったプロセスIDと、を含む接続通知を生成し、生成した接続通知を、ホストレベル管理部102−1へ通知する。
次に、変換部111−1は、端末400とプロセス115−11とを接続する(S203)。すなわち、変換部111−1は、フックした接続要求を本来の送信先であるプロセス115−11へ通知する。
そして、変換部111−1は、プロセス接続処理を終了する(S204)。
図3に戻り、変換部111−1は、プロセス接続処理によって、接続通知をホストレベル管理部102−1へ通知する(S21)。ホストレベル管理部102−1は、接続通知を入力すると、端末登録処理を行う(S22)。
図9は、端末登録処理の例を表すフローチャートである。
ホストレベル管理部102−1は、端末登録処理を開始すると(S220)、接続通知を受信し、接続通知から端末400のIPアドレスと、プロセス115−11のプロセスIDとを抽出する(S221)。
次に、ホストレベル管理部102−1は、端末400のIPアドレスとプロセスIDとをアプリ管理表103−1へ登録する(S222)。
例えば、図7に示すアプリ管理表103−1においては、(Y)の情報を登録することになる。例えば、接続通知(S20,S21)にはアプリケーション名も含まれている。ホストレベル管理部102−1は、接続通知から抽出したアプリケーション名と対応する、アプリ管理表103−1の「アプリ名」(図7の例では「安全運転支援サービス」)のエントリに、端末400のIPアドレスとプロセスIDとを記憶すればよい。
なお、ホストレベル管理部102−1は、変換部111−1から接続通知を入力するが、接続通知に含まれるプロセスIDは、例えば、端末400と接続するステートフルプロセス115−11のプロセスIDである。従って、アプリ管理表103−1の「プロセスID」には、例えば、ステートフルプロセス115−11のプロセスIDが登録される。
図9に戻り、ホストレベル管理部102−1は、アプリ管理表103−1への登録を終了すると、端末登録処理を終了する(S223)。
図3に戻り、変換部111−1では、接続通知をホストレベル管理部102−1へ送信後、端末400に代理して、接続要求を、プロセス115−11へ出力する(S23)。
なお、図3において、S22とS23の処理順は逆順でもよい。
<1.3 再配置フェーズ>
通信システム10において、通信路生成フェーズを終了すると、再配置フェーズへ移行する。再配置フェーズでは、例えば、ステートフルプロセス115−11のプロセス情報についてマイグレーションが行われる。
通信システム10において、通信路生成フェーズを終了すると、再配置フェーズへ移行する。再配置フェーズでは、例えば、ステートフルプロセス115−11のプロセス情報についてマイグレーションが行われる。
図3に示すように、端末400は、接続元の基地局200−1から接続先の基地局200−2へ移動する(S30)。このとき、移動元サーバ100−1のハンドオーバ管理部101−1と、移動先サーバ100−2のハンドオーバ管理部101−2は、ハンドオーバ処理を行う(S31)。
図10は、ハンドオーバ処理の動作例を表すフローチャートである。
ハンドオーバ管理部101−1は、ハンドオーバ処理を開始すると(S310)、端末400の移動を検知する(S311)。移動先のハンドオーバ管理部101−2においても、端末400の移動を検知する(S311)。例えば、端末400は、無線区間の品質を表すMeasurement Reportを送信するため、移動元のハンドオーバ管理部101−1はこれを受信することで、端末400の移動を検知する。このとき、ハンドオーバ管理部101−1は、検知した端末400の移動を、ネットワーク300を経由して、移動先のハンドオーバ管理部101−2へ通知する。これにより、基地局200−2が端末400のハンドオーバ先の基地局となり、サーバ100−2が移動先サーバとなる。
次に、移動元サーバ100−1と移動先サーバ100−2のハンドオーバ管理部101−1,101−2は、ハンドオーバ処理を行う(S312)。例えば、ハンドオーバ管理部101−1,101−2は、ハンドオーバに関するメッセージを送受信したり、或いは、端末400との間でハンドオーバに関するメッセージを送受信したりすることで、ハンドオーバ処理を行う。
次に、移動元サーバ100−1のハンドオーバ管理部101−1は、ハンドオーバ対象の端末400のIPアドレスを含むハンドオーバ通知を、ホストレベル管理部102−1へ出力する(S313)。例えば、ハンドオーバ管理部101−1は、ハンドオーバ処理(S312)の際に、端末400から受信したメッセージから、端末400のIPアドレスを抽出する。ハンドオーバ管理部101−1は、抽出した端末400のIPアドレスを含むハンドオーバ通知を生成し、ホストレベル管理部102−1へ出力する。
そして、ハンドオーバ管理部101−1,101−2は、ハンドオーバ処理を終了する(S314)。
図3に戻り、ハンドオーバ管理部101−1は、ハンドオーバ処理を終了すると、ハンドオーバ通知をホストレベル管理部102−1へ通知する(S32)。
ホストレベル管理部102−1は、ハンドオーバ通知を入力すると、再配置申請を、移動先サーバ100−2のホストレベル管理部102−2へ送信する(S33)。再配置申請は、例えば、アプリケーション(又はプロセス115−11)の再配置(マイグレーション)を、移動先サーバ100−2へ申請するものである。
図11は、再配置申請処理の動作例を表すフローチャートである。
ホストレベル管理部102−1は、再配置申請処理を開始すると(S330)、ハンドオーバ通知を、ハンドオーバ管理部101−1から受信する(S331)。
次に、ホストレベル管理部102−1は、ネットワーク300経由で、移動先サーバ100−2のホストレベル管理部102−2へ、“アプリケーション名”を含む再配置申請を送信する(S332)。例えば、ホストレベル管理部102−1は、以下の処理を行う。すなわち、ホストレベル管理部102−1は、ハンドオーバ通知から端末400のIPアドレスを抽出する。ホストレベル管理部102−1は、アプリ管理表103−1に登録された、端末400のIPアドレスに対応する“アプリケーション名”を、アプリ管理表103−1の「アプリ名」から読み出す。ホストレベル管理部102−1は、アプリ管理表103−1から読み出した“アプリケーション名”を含む再配置申請を生成する。ホストレベル管理部102−1は、生成した再配置申請を、ネットワーク300経由で、移動先サーバ100−2のホストレベル管理部102−2へ送信する。
次に、ホストレベル管理部102−1は、ネットワーク300経由で、移動先サーバ100−2のホストレベル管理部102−2から送信された可否通知を受信する(S333)。可否通知は、移動先サーバのホストレベル管理部102−2において、再配置可否判定処理を行うことによって送信された通知である。再配置可否判定処理の詳細は後述する。なお、可否通知には、移動先サーバ100−2で実行されるVM105−21のIPアドレスが含まれる。ホストレベル管理部102−1は、可否通知から、VM105−21のIPアドレスを抽出する。
次に、ホストレベル管理部102−1は、再配置可である場合、再配置対象のプロセス115−11のプロセスIDと、移動先サーバ100−2のVM105−21のIPアドレスとを含む再配置指示を生成する。そして、ホストレベル管理部102−1は、生成した再配置指示を、VMレベル管理部113−1へ出力する(S334)。例えば、ホストレベル管理部102−1は、以下の処理を行う。
すなわち、ホストレベル管理部102−1は、可否通知に含まれる情報から再配置可であることを確認すると、再配置申請を行った(又はハンドオーバを行った)端末400に接続するプロセスのプロセスIDを、アプリ管理表103−1から取得する。図7の例の場合、再配置申請を行った「アプリ名」であって、ハンドオーバを行った端末400の「IPアドレス」に対応する「プロセスID」を、アプリ管理表103−1から読み出す。この「プロセスID」に記憶されるのは、例えば、上述したようにステートフルプロセス115−11のプロセスIDである。よって、ホストレベル管理部102−1は、アプリ管理表103−1からステートフルプロセス115−11のプロセスIDを読み出すことができる。ホストレベル管理部102−1は、ステートフルプロセス115−11のプロセスIDと、可否通知から抽出した、移動先サーバ100−2でVM105−21のIPアドレスと、を含む再配置指示を生成する。ホストレベル管理部102−1は、生成した再配置指示を、VMレベル管理部113−1へ出力する。
そして、ホストレベル管理部102−1は、再配置申請処理を終了する(S335)。
図3に戻り、一方、移動先サーバ100−2のホストレベル管理部102−2は、ネットワーク経由で再配置申請を受信すると(S33)、再配置可否判定処理を行う。
図12は、再配置可否判定処理の例を表すフローチャートである。
ホストレベル管理部102−2は、再配置申請処理を開始すると(S340)、再配置申請から“アプリケーション名”を抽出する(S341)。
次に、ホストレベル管理部102−2は、現在のサーバ100−2の計算資源の使用状況を考慮して、再配置可能か否かを判定する(S342)。例えば、ホストレベル管理部102−2は、“アプリケーション名”により示されたアプリケーションを実行するにあたり、使用可能なハードウェア資源があるか否かにより判定してもよい。この場合、ホストレベル管理部102−2は、例えば、一定以上のハードウェア資源があるか否かにより判定してもよい。
次に、ホストレベル管理部102−2は、再配置可否の判定結果とデプロイフェーズで起動させたVM105−21のIPアドレスとを含む可否通知を、移動元サーバ100−1のホストレベル管理部102−1へ送信する(S343)。例えば、移動先サーバ100−2では、以下の処理を行う。
すなわち、VM管理部104−2は、デプロイ要求でVM105−21を起動させた際に(図3のS16)、VM105−21のIPアドレスを割り当てている。そのため、ホストレベル管理部102−2は、VM管理部104−2から、VM105−21のIPアドレスを取得できる。また、ホストレベル管理部102−2は、一定以上のネットワーク資源があれば、再配置可、そうでなければ、再配置不可を示す判定結果を生成する。ホストレベル管理部102−1は、取得したVM105−21のIPアドレスと、判定結果とを含む可否通知を生成し、生成した可否通知を、ネットワーク300経由で、移動元サーバ100−1のホストレベル管理部102−1へ送信する。
図12に戻り、そして、ホストレベル管理部102−2は、再配置可否判定処理を終了する(S344)。
図3に戻り、上述したように、ホストレベル管理部102−1は、再配置可と表す可否通知を受信すると、再配置指示をVMレベル管理部113−1へ通知する(S35)。この場合、ホストレベル管理部102−1は、再配置不可を表す可否通知を受信すると、再配置の処理を行うことなく、一連のマイグレーションに関する処理を終了してもよい。
VMレベル管理部113−1は、再配置指示を入力すると、プロセス115−11をダンプする(S36)。ダンプとは、例えば、ファイル化することである。VMレベル管理部113−1は、ステートフルプロセス115−11が保持する端末情報や、通信路情報、プロセス構成情報などを、1つのファイルとして、内部メモリに保持する。この場合、例えば、ステートフルプロセス115−11が、通信路情報やプロセス構成情報を保持していないときは、VMレベル管理部113−1は、OS110−1へ問い合わせて、ステートフルプロセス115−11の通信路情報やプロセス構成情報を取得するようにしてもよい。OS110−1は、例えば、通信路情報やプロセス構成情報を、通信路作成の際(例えば図2(A))やプロセス生成の際(例えば、図3のS14)にこれらの情報をそれぞれ生成し、メモリなどに保持しているからである。
ここで、ダンプされる端末情報としては、例えば、車(端末400)の識別情報、位置、速度などの情報である。また、ダンプされる通信路情報は、例えば、ステートフルプロセス115−11のプロセスID(例えば、“100”)や通信路名(例えば、“tmp/fifo”)、識別子(例えば、“4”)を含む。図15(A)に通信路情報の例を示す。さらに、ダンプされるプロセス構成情報は、例えば、ステートフルプロセス115−11が実行されるハードウェア資源に関する情報などを含む。
図3に戻り、次に、VMレベル管理部113−1は、プロセス情報を、移動先サーバ100−2のVMレベル管理部113−2へ送信する(S37)。例えば、VMレベル管理部113−1は、内部メモリからファイル化した情報を読み出して、これらの情報をプロセス情報として、ネットワーク300経由で、VMレベル管理部113−2へ送信する。プロセス情報には、例えば、通信路情報、端末情報、プロセス構成情報などが含まれる。
図13は、プロセス情報送信処理の例を表すフローチャートである。
VMレベル管理部113−1は、処理を開始すると(S370)、再配置指示(S35)を受信し(S371)、マイグレーション対象のステートフルプロセス115−11をダンプする(S372)。
そして、VMレベル管理部113−1は、通信路情報などを含むプロセス情報を生成し、移動先サーバ100−2のVMレベル管理部113−2へ送信し(S373)、一連の処理を終了する(S374)。
図3に戻り、移動先サーバ100−2のVMレベル管理部113−2は、プロセス情報を受信すると、対応表112−1にエントリを登録する(S38)。
図14は、エントリ登録処理の例を表すフローチャートである。
VMレベル管理部113−2は、処理を開始すると(S380)、プロセス情報を受信する(S381)。
次に、VMレベル管理部113−2は、通信路情報に含まれる“プロセスID”を、対応表112−1の「プロセスID」、通信路情報に含まれる“識別子”を「仮想識別子」、未登録を意味する“none”を「実識別子」に、エントリとして登録する(S382)。
図15(B)は、エントリ登録後の対応表112−2の例を表す図である。対応表112−2の「プロセスID」には、各プロセスのプロセスIDが記憶される。図15(B)の例では、移動元サーバ100−1で実行されたステートフルプロセスのプロセスIDである“100”が記憶されている。また、移動元サーバ100−1で実行されたステートレスプロセス115−12であって、デプロイ要求で生成されたプロセス115−21(図3の15)のプロセスIDである“201”が記憶される。このステートレスプロセス115−21は、例えば、移動元サーバ100−1で実行されたステートレスプロセス115−12と同じプロセスである。しかし、デプロイ要求によって、移動先サーバ100−2において新たに生成されたプロセスであるため、移動元サーバのプロセスID“101”(例えば図2(A))とは異なるプロセスID“201”となっている。
「仮想識別子」には、例えば、移動元サーバ100−1の各プロセス115−11,115−12が、OS110−1から割り当てられた識別子“4”,“8”が記憶される。これらはプロセス情報に含まれるものである。
また、「実識別子」は、例えば、移動先サーバ100−2の各プロセス115−21,115−22,…が、OS110−2から割り当てられた識別子が記憶される。プロセス情報を受信した段階では、ステートフルプロセス115−11は、実際には、OS110−2から識別子を受け取っていないため、“none”が記憶される。なお、ステートレスプロセス115−21は、OS110−2から、識別子として“8”を割り当てられたので、図15(B)では“8”が登録されている。
図14に戻り、次に、VMレベル管理部113−2は、プロセス情報に含まれる他の情報から、ステートフルプロセス115−11をリストアする(S383)。例えば、VMレベル管理部113−2は、プロセス情報に含まれるプロセス構成情報に基づいて、VM105−21上で、ステートフルプロセス115−11をリストアする。これにより、例えば、移動先サーバ100−2において、移動元サーバ100−1で実行されたステートフルプロセス115−11が実行される。
そして、VMレベル管理部113−2は、エントリ登録処理を終了する(S384)。
図3に戻り、VMレベル管理部113−2は、エントリ登録処理(S38)を行い、ステートフルプロセス115−11をリストアする(S39)。
<1.4 再接続フェーズ>
次に、通信システム10は再接続フェーズへ移行する。
次に、通信システム10は再接続フェーズへ移行する。
図4に示すように、端末400は、ハンドオーバ後の接続要求を接続先の基地局200−2へ送信する(S50)。移動先サーバ100−2の変換部111−2は、接続フェーズと同様に、接続要求をフックし、接続通知を、ホストレベル管理部102−2へ通知し(S51)、代理接続を、プロセス115−11へ通知する(S53)。変換部111−2は、例えば、接続フェーズと同様に、図8に示すプロセス接続処理を行うことで、端末400と、リストアされたプロセス115−11とを接続する。
図4に戻り、次に、ホストレベル管理部102−2は、端末登録処理を行う(S52)。ホストレベル管理部102−2は、例えば、接続フェーズと同様に、図9に示す端末登録処理を行い、アプリ管理表103−2に、端末400のIPアドレスとプロセスIDとを登録する。移動先サーバ100−2のアプリ管理表103−2においても、例えば、図7に示す、端末400のIPアドレスなどの情報が登録される。
<2.通信路の動的変換のシーケンス例>
図16と図17は、通信路の動的変換のシーケンス例を表す図である。
図16と図17は、通信路の動的変換のシーケンス例を表す図である。
<2.1 通信路生成フェーズ>
図16に示すように、通信システム10は、接続フェーズ終了後、通信路生成フェーズへ移行する。
図16に示すように、通信システム10は、接続フェーズ終了後、通信路生成フェーズへ移行する。
通信路生成フェーズへ移行すると、移動元サーバ100−1のステートフルプロセス115−11は、通信路の生成要求をOS110−1へ出力する。このとき、変換部111−1は、生成要求をフックする(S60)。例えば、図1に示すように、変換部111−1は、プロセス115−11とOS110−1との間に配置されるため、生成要求をフック可能である。
図16に戻り、次に、変換部111−1は、代理要求処理を行う(S61〜S64)。
図18は、代理要求処理の動作例を表すフローチャートである。
変換部111−1は、代理要求処理を開始すると(S600)、プロセス115−11が出力した通信路の生成要求をフックし(S601)、プロセス115−11に代わって、変換部111−1がOS110−1に対して、通信路の生成要求を出力する(S602)。
図19(A)は変換部111−1における動作例を表す図である。図19(A)に示すように、変換部111−1は、生成要求をフックし、代理生成要求をOS110−1へ出力する。
図18に戻り、次に、変換部111−1は、OS110−1から生成要求の結果を入力する(S603)。図19(A)に示すように、変換部111−1は、OS110−1が割り当てた識別子“4”を、OS110−1から受け取る。
図18に戻り、そして、変換部111−1は、結果に含まれる“プロセスID”を対応表112−1の「プロセスID」に登録し、“識別子”を「仮想識別子」と「実識別子」に登録する(S604)。
図19(B)は、対応表112−1の例を表す図である。変換部111−1は、「プロセスID」の項目に、プロセス115−11のプロセスIDである“100”、「名前」の項目に、通信路の名前“/tmp/fifo”をそれぞれ記憶する。また、変換部111−1は、「仮想識別子」と「実識別子」の項目に、OS110−1が割り当てた識別子“4”を記憶する。なお、プロセスIDや通信路の名前は、生成要求や結果に含まれるため、変換部111−1はこれを利用して、プロセスIDと通信路の名前を対応表112−1に登録可能である。
図18に戻り、次に、変換部111−1は、OS110−1の代わりに、プロセス115−11に対して出力する(S605)。図19(A)に示すように、識別子を含む結果(「代理結果」)を、プロセス115−11へ出力する。
なお、以上は、ステートフルプロセス115−11に対する代理要求処理である。変換部111−1は、ステートレスプロセス115−12に対しても、代理要求処理を行う。対応表112−1には、図19(B)で示すように、ステートレスプロセス115−12のプロセスID“201”や識別子“8”などが登録される。
図16に戻り、上述したように、変換部111−1は、生成要求を受信すると(S60)、代理生成要求をOS110−1へ出力し(S61)、識別子を入力すると(S62)、識別子を対応表112−1に登録する(S63)。そして、変換部111−1は、識別子を、プロセス115−11へ出力する(S64)。
<2.2 通信路再生成フェーズ>
図16及び図17に示すように、通信システム10は、再接続フェーズが終了すると、通信路再生成フェーズ、又は通信フェーズへ移行する。ここでは、通信路再生フェーズへ移行するとして、以下説明する。
図16及び図17に示すように、通信システム10は、再接続フェーズが終了すると、通信路再生成フェーズ、又は通信フェーズへ移行する。ここでは、通信路再生フェーズへ移行するとして、以下説明する。
なお、デプロイフェーズのデプロイ要求(図3のS15)により、移動先サーバ100−2のVM105−21では、ステートレスプロセス115−21(例えば、プロセスIDは“201”)が実行されているものとする。また、再配置フェーズのリストア(S39)により、VM105−21では、ステートフルプロセス115−11も実行されているものとする。
図16は、通信路再生成フェーズのシーケンス例を表し、図20は通信路再生処理の例を表すフローチャートである。また、図21(A)は、変換部111−2においてどのような処理が行われるかの例を表す図である。
図16に示すように、通信路再生成フェーズへ移行すると、ステートフルプロセス115−11は、通信要求をOS110−2へ出力する(S70)。ステートフルプロセス115−11は、移動元サーバ100−1で通信路に対する識別子をOS110−1から取得したため、この識別子を利用して、マイグレーション後の移動先サーバ100−2において、通信要求を出力している。
図20に示すように、変換部111−2は、通信路再生成処理を開始すると(S700)、通信要求をフックし(S701)、通信要求に含まれる識別子と同一の「仮想識別子」のエントリ内において、「実識別子」が登録されているか否かを判別する(S702)。
上述した再配置フェーズのエントリ登録処理(図3のS38、図14のS382)により、VMレベル管理部113−2は、対応表112−2の「実識別子」に未登録を意味する“none”を登録した。従って、変換部111−2は、この段階では、「実識別子」が登録されていないと判定する(S702でNo)。
他方、図21(A)に示すように、変換部111−2では、プロセス115−11から通信要求を入力するが、通信要求に含まれる識別子(例えば“4”)は、移動元サーバ100−1のOS110−1が割り当てたもので、移動先のOS110−2は割り当てた識別子ではない。
変換部111−2は、OS110−2が割り当てることなく、プロセス115−11から受け取った識別子を、例えば、仮想識別子として管理する。変換部111−2は、プロセス115−11との間では、プロセス115−11が識別子として把握しているものを、仮想識別子として、通信する。
しかし、この段階では、プロセス115−11は、実際には、移動先サーバ100−2のOS110−2からは、識別子の割り当てを受けていない。
そこで、図20に示すように、変換部111−2は、対応表112−2に実識別子が登録されていないと判定すると(S702でNo)、変換部111−2自身が、プロセス115−11に代わって、代理で、生成要求をOS110−2へ出力する(S703)。図21(A)に示すように、変換部111−2が生成要求をOS110−2へ出力している。
図20に戻り、次に、変換部111−2は、OS110−2から生成要求の結果を入力する(S704)。変換部111−2は、結果に含まれる識別子を抽出する。
次に、変換部111−2は、抽出した識別子を、仮想識別子に対応する「実識別子」として、対応表112−2へ登録する(S705)。
図21(B)は、対応表112−2の例を表す図である。図21(B)に示すように、変換部111−2は、「none」となっていた「実識別子」の項目に、OS110−2から受け取った識別子“9”を記憶する。この「実識別子」は、ステートレスプロセス115−12が通信要求に含めた識別子(=仮想識別子“4”)に対応する識別子となる。
以後、変換部111−2は、ステートフルプロセス115−11から受け取った仮想識別子を、実識別子に変換して、OS110−2と通信し、OS110−2から受け取った実識別子を、仮想識別子に変換して、ステートフルプロセス115−11と通信する。
図20に戻り、次に、変換部111−2は、要求された仮想識別子を実識別子に変換し、OS110−2に対して代理で通信要求を行う(S706)。例えば、図21(A)に示すように、変換部111−2は、ステートフルプロセス115−11から通信要求を受け取っているので、これを、OS110−2へ送信する。この場合、変換部111−2は、通信要求に含まれる仮想識別子(例えば、“4”)を実識別子(例えば“9”)へ変換して、OS110−2へ出力する。
次に、変換部111−2は、OS110−2から受け取った通信結果を、OS110−2に代わって、代理で、ステートフルプロセス115−11へ出力する(S707)。この場合も変換部111−2は、OS110−2から受け取った通信結果に含まれる実識別子(例えば“9”)を、仮想識別子(例えば“4”)に変換し、仮想識別子を含む通信結果を、ステートフルプロセス115−11へ出力する。
そして、変換部111−2は、通信路再生成処理を終了する(S708)。
図16に戻り、変換部111−2は、通信要求を受信すると、通信路再生成フェーズでは、生成要求をOS110−2へ出力する(S71)。変換部111−2は、OS110−2から識別子を受け取り(S72)、対応表112−2へ登録する(S73)。
次に、変換部111−2は、通信要求に含まれる仮想識別子を実識別子に変換し(S74)、通信要求を代理で、OS110−2へ出力する(S75)。変換部111−2は、結果を、OS110−2から受け取り、これを、プロセス115−11へ出力する(S77)。
<2.3 通信フェーズ>
図17は、通信フェーズのシーケンス例である。また、図20は、通信フェーズで行われる通信処理の例を表すフローチャートも表している。
図17は、通信フェーズのシーケンス例である。また、図20は、通信フェーズで行われる通信処理の例を表すフローチャートも表している。
通信フェーズは、対応表112−2に、実識別子が登録されている場合に行われるフェーズであり、通信路再生成処理が終了した後に行われるフェーズでもある。
図20に示すように、変換部111−2は、通信要求をフックし(S701)、通信要求に含まれる仮想識別子に対応する実識別子が対応表112−2に登録されているとき(S702でYes)、要求された仮想識別子を、対応する実識別子に変換し、変換後の実識別子を含む通信要求を、代理で、OS110−2へ出力する(S706)。
変換部111−2は、OS110−2から結果を受け取り、これを、プロセス115−11へ出力する(S707)。
そして、変換部111−1は、通信処理を終了する(S807)。
図17に示すように、変換部111−2は、通信要求を受けて(S70)、対応する実識別子が対応表112−2に登録されていることを確認すると、対応表112−2に基づいて通信要求に含まれる仮想識別子を実識別子に変換する(S81)。変換部111−2は、実識別子を含む通信要求を、プロセス115−11に代理でOS110−2へ出力する(S82)。変換部111−2は、通信結果をOS110−2から受け取り(S83)、受け取った通信結果に含まれる実識別子を、対応表112−2に基づいて、仮想識別子に変換する。変換部111−2は、変換後の仮想識別子を含む通信結果を、プロセス115−11へ出力する(S84)。
以上説明したように、移動元サーバ100−1は、端末400のハンドオーバが行われる前に、移動先サーバ100−2において、ステートレスプロセス115−12を実行させる(例えば図3のS19)。そして、移動元サーバ100−1は、端末400のハンドオーバが行われた後のマイグレーションで、ステートフルプロセス115−11のプロセス情報を、ステートレスプロセス115−12が実行されている移動先サーバ100−2へ送信している。
このように、本第1の実施の形態では、マイグレーションの際に、移動元サーバ100−1は、ステートレスプロセス115−12のプロセス情報を移動先サーバ100−2へ送信していない。そのため、本第1の実施の形態では、マイグレーションの際に、双方のプロセス115−11,115−12のプロセス情報を送信する場合と比較して、移動元サーバ100−1が送信する送信情報の情報量を少なくすることができる。
よって、本第1の実施の形態では、かかる場合と比較して、瞬断時間を削減させることが可能となる。
また、本第1の実施の形態では、変換部111−2は、マイグレーション後、リストアされたステートフルプロセス115−11との間で、仮想識別子を利用して、OS110−2とプロセス115−11との通信を行うようにしている(例えば図17のS81)。
従って、通信路の識別子を設計したライブラリを開発者が別途開発することもなく、開発者にとって、処理が容易なサーバ100−1,100−2を提供することも可能となる。
上記第1の実施の形態では、仮想マシン(VM105−11,…,105−21,…)を例にして説明した。仮想マシンに代えて、コンテナ(又はコンテナ型仮想化)による場合でも、第1の実施の形態は実施可能である。仮想マシンの場合、CPU151の使用資源、メモリ154の領域など、VM105−11,…,105−21,…ごとに分割されて利用される。一方、コンテナの場合、このようなハードウェア資源の分離ではなく、1つのOS110−1,110−2上において、各コンテナが分離されて利用される。各コンテナにおいて、変換部111−1、対応表112−1、VMレベル管理部113−1、プロセス115−11,…、プロセス管理部114−1の機能が実行される。この場合、デプロイ要求(図3のS10)は、例えば、VMの生成要求ではなく、コンテナの生成要求となり、VMレベル管理部113−1は、デプロイ要求を受けると、コンテナを生成することになる。そして、コンテナ上で、各プロセス115−11,115−12,…,115−21,115−22,…が実行される。
また、第1の実施の形態では、ホストレベル管理部102−1,102−2とVMレベル管理部113−1,113−2とを分けて説明した。例えば、VMレベル管理部113−1,113−2の機能は、ホストレベル管理部102−1,102−2で行われてもよい。この場合、ホストレベル管理部102−1,102−2が、アプリ管理表103−1に基づいて、マイグレーション対象のプロセス115−1を判別して、判別したプロセス115−11をダンプし、ダンプした内容や通信路情報などを含むプロセス情報を送信してもよい。
[その他の実施の形態]
図22は、基地局200−1のハードウェア構成例を表す図である。なお、基地局200−1と基地局200−2は同一構成のため、代表して、基地局200−1のハードウェア構成例を表している。
図22は、基地局200−1のハードウェア構成例を表す図である。なお、基地局200−1と基地局200−2は同一構成のため、代表して、基地局200−1のハードウェア構成例を表している。
基地局200−1は、CPU151、ROM(Read Only Memory)152、RAM(Random Access Memory)153、メモリ154、IF(Interface)155、DSP(Digital Signal Processor)156、及びアンテナ157を備える。この場合、サーバ100−1は、CPU151、ROM152、RAM153、メモリ154、IF155を含む。
CPU151は、ROM152に記憶されたプログラムを読み出してRAM153にロードし、ロードしたプログラムを実行することで、ホストレベル管理部102−1、VM管理部104−1、VM105−11,105−12,…の機能を実行する。CPU151は、例えば、ホストレベル管理部102−1、VM管理部104−1、VM105−11,105−12,…に対応する。また、CPU151は、例えば、OS110−1、変換部111−1、VMレベル管理部113−1、プロセス管理部114−1、プロセス115−11,115−12,…に対応する。さらに、メモリ154は、例えば、アプリ管理表103−1、対応表112−1を記憶する。
なお、CPU151に代えて、MPU(Micro Processing Unit)やDSP、FPGA(Field Programmable Gate Array)などのプロセッサやコントローラであってもよい。
図23は、通信システム10の構成例を表す図である。通信システム10は、通信装置100−1と端末装置400、及び他の通信装置100−2を備える。
なお、通信装置100−1は、例えば、第1の実施の形態における移動元サーバ100−1に対応する。また、他の通信装置100−2は、例えば、第1の実施の形態における移動先サーバ100−2に対応する。
通信装置100−1は、ハンドオーバ管理部101−1と第1のマイグレーション管理部113−1とを備える。なお、第1のマイグレーション管理部131−1は、例えば、第1の実施の形態におけるVMレベルマイグレーション管理部113−1に対応する。
ハンドオーバ管理部101−1は、端末装置400の接続先を通信装置100−1から他の通信装置100−2へ切替えることを検出する。
第1のマイグレーション管理部113−1は、切替えを検出すると、第1のプロセス115−21が実行されている他の通信装置100−2へ、第2のプロセス115−11に関するプロセス情報を送信する。
第1のプロセス115−21は、プロセス実行中において端末装置400に関する情報を示す端末情報の入力があれば端末情報をメモリに保持し、端末情報の入力がないときは端末情報をメモリに保持しないプロセスである。また、第2のプロセスは、プロセス実行中において端末情報をメモリに保持するプロセスである。
従って、通信装置100−1は、第1及び第2のプロセスのプロセス情報ではなく、第2のプロセスのプロセス情報を他の通信装置100−2へ送信している。よって、通信装置100−1では、2つのプロセス115−11,115−21に関するプロセス情報を送信する場合と比較して、送信情報量を少なくさせることが可能となる。これにより、例えば、マイグレーションによりプロセス情報の再配置が行われるとき、2つのプロセス115−11,115−21のプロセス情報を送信する場合と比較して、プロセス情報の送信によって生じるアプリケーションの瞬断時間を短縮させることが可能となる。
以上まとめると、付記のようになる。
(付記1)
端末装置と通信可能な通信装置において、
前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出するハンドオーバ管理部と、
前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する第1のマイグレーション管理部と
を備えることを特徴とする通信装置。
端末装置と通信可能な通信装置において、
前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出するハンドオーバ管理部と、
前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する第1のマイグレーション管理部と
を備えることを特徴とする通信装置。
(付記2)
前記第1のマイグレーション管理部は、前記通信装置において実行されているアプリケーションに関する情報を記憶するアプリケーション管理テーブルに基づいて、前記プロセス情報を送信することを特徴とする付記1記載の通信装置。
前記第1のマイグレーション管理部は、前記通信装置において実行されているアプリケーションに関する情報を記憶するアプリケーション管理テーブルに基づいて、前記プロセス情報を送信することを特徴とする付記1記載の通信装置。
(付記3)
前記第1のマイグレーション管理部は、前記第2のプロセスと前記第1のプロセスとが通信を行う際の通信路に関する通信路情報を含む前記プロセス情報を送信する付記1記載の通信装置。
前記第1のマイグレーション管理部は、前記第2のプロセスと前記第1のプロセスとが通信を行う際の通信路に関する通信路情報を含む前記プロセス情報を送信する付記1記載の通信装置。
(付記4)
前記第1のマイグレーション管理部は、前記第2のプロセスが前記第1のプロセスと通信を行う際に前記メモリに記憶した前記通信路情報を前記メモリから読み出して、前記通信路情報を含む前記プロセス情報を送信する付記3記載の通信装置。
前記第1のマイグレーション管理部は、前記第2のプロセスが前記第1のプロセスと通信を行う際に前記メモリに記憶した前記通信路情報を前記メモリから読み出して、前記通信路情報を含む前記プロセス情報を送信する付記3記載の通信装置。
(付記5)
前記通信路情報は、前記第2のプロセスの識別情報と、前記通信路の識別情報を含むことを特徴とする付記4記載の通信装置。
前記通信路情報は、前記第2のプロセスの識別情報と、前記通信路の識別情報を含むことを特徴とする付記4記載の通信装置。
(付記6)
前記アプリケーション管理テーブルは、前記端末装置の識別情報と、前記端末装置に対して前記アプリケーションを実行する前記第2のプロセスの識別情報とを記憶し、
更に、前記ハンドオーバ管理部が前記端末装置の切替えを検出したときに出力した切替え通知を入力し、該切替え通知に含まれる前記端末装置の識別情報に基づいて、前記第2のプロセスの識別情報を、前記アプリケーション管理テーブルから読み出し、前記端末装置の識別情報と前記第2のプロセスの識別情報とを含む再配置指示を出力する第2のマイグレーション管理部を備え、
前記第1のマイグレーション管理部は、前記再配置指示に従って、前記プロセス情報を送信することを特徴とする付記2記載の通信装置。
前記アプリケーション管理テーブルは、前記端末装置の識別情報と、前記端末装置に対して前記アプリケーションを実行する前記第2のプロセスの識別情報とを記憶し、
更に、前記ハンドオーバ管理部が前記端末装置の切替えを検出したときに出力した切替え通知を入力し、該切替え通知に含まれる前記端末装置の識別情報に基づいて、前記第2のプロセスの識別情報を、前記アプリケーション管理テーブルから読み出し、前記端末装置の識別情報と前記第2のプロセスの識別情報とを含む再配置指示を出力する第2のマイグレーション管理部を備え、
前記第1のマイグレーション管理部は、前記再配置指示に従って、前記プロセス情報を送信することを特徴とする付記2記載の通信装置。
(付記7)
更に、仮想マシンの生成要求を受信する仮想マシン管理部と、
前記端末装置から送信された基地局装置への接続要求を受信する変換部とを備え、
前記第2のマイグレーション管理部は、前記仮想マシン管理部から前記生成要求の受信により前記仮想マシンを起動したことを示す起動通知を入力したとき、前記生成要求に含まれるアプリケーション名を前記アプリケーション管理テーブルに記憶し、前記変換部から前記接続要求に対する接続通知を入力したとき、前記接続通知に含まれる前記アプリケーション名に基づいて、前記接続通知に含まれる前記端末の識別情報と前記第2のプロセスの識別情報とを、前記アプリケーション管理テーブルに記憶することを特徴とする付記6記載の通信装置。
更に、仮想マシンの生成要求を受信する仮想マシン管理部と、
前記端末装置から送信された基地局装置への接続要求を受信する変換部とを備え、
前記第2のマイグレーション管理部は、前記仮想マシン管理部から前記生成要求の受信により前記仮想マシンを起動したことを示す起動通知を入力したとき、前記生成要求に含まれるアプリケーション名を前記アプリケーション管理テーブルに記憶し、前記変換部から前記接続要求に対する接続通知を入力したとき、前記接続通知に含まれる前記アプリケーション名に基づいて、前記接続通知に含まれる前記端末の識別情報と前記第2のプロセスの識別情報とを、前記アプリケーション管理テーブルに記憶することを特徴とする付記6記載の通信装置。
(付記8)
前記変換部は、前記第2のプロセス宛の前記接続要求を受信したとき、前記第2のプロセスが前記第1のプロセスと通信を行うときにオペレーティングシステムが生成した前記第2のプロセスの識別情報と前記第1のプロセスの識別情報との対応関係に基づいて、前記オペレーティングシステムから前記第2のプロセスの識別情報を入力し、該第2のプロセスの識別情報と、前記接続要求から抽出した前記端末の識別情報と前記アプリケーション名とを含む前記接続通知を、前記第2のマイグレーション管理部へ出力することを特徴とする付記7記載の通信装置。
前記変換部は、前記第2のプロセス宛の前記接続要求を受信したとき、前記第2のプロセスが前記第1のプロセスと通信を行うときにオペレーティングシステムが生成した前記第2のプロセスの識別情報と前記第1のプロセスの識別情報との対応関係に基づいて、前記オペレーティングシステムから前記第2のプロセスの識別情報を入力し、該第2のプロセスの識別情報と、前記接続要求から抽出した前記端末の識別情報と前記アプリケーション名とを含む前記接続通知を、前記第2のマイグレーション管理部へ出力することを特徴とする付記7記載の通信装置。
(付記9)
前記変換部は、前記接続要求を前記第2のプロセスへ出力することを特徴とする付記8記載の通信装置。
前記変換部は、前記接続要求を前記第2のプロセスへ出力することを特徴とする付記8記載の通信装置。
(付記10)
前記第2のマイグレーション管理部は、前記切替え通知を入力したとき、前記他の通信装置へ、前記第2のプロセスで前記端末装置に対して実行されるアプリケーションの再配置を申請する再配置申請を、前記他の通信装置へ送信し、前記再配置申請に応答する可否通知を前記他の通信装置から受信し、前記可否通知に含まれる再配置申請に対する可否結果に応じて、前記再配置指示を出力することを特徴とする付記6記載の通信装置。
前記第2のマイグレーション管理部は、前記切替え通知を入力したとき、前記他の通信装置へ、前記第2のプロセスで前記端末装置に対して実行されるアプリケーションの再配置を申請する再配置申請を、前記他の通信装置へ送信し、前記再配置申請に応答する可否通知を前記他の通信装置から受信し、前記可否通知に含まれる再配置申請に対する可否結果に応じて、前記再配置指示を出力することを特徴とする付記6記載の通信装置。
(付記11)
更に、対応テーブルと、
前記第2のプロセスからオペレーティングシステム宛の通信路の生成要求を入力し、前記第2のプロセスに代わって前記生成要求を前記オペレーティングシステムへ出力し、前記オペレーティングシステムから識別子を入力し、該識別子を対応テーブルに記憶し、該記識別子を前記オペレーティングシステムに代わって前記第2のプロセスへ出力する変換部と
を備えることを特徴とする付記1記載の通信装置。
更に、対応テーブルと、
前記第2のプロセスからオペレーティングシステム宛の通信路の生成要求を入力し、前記第2のプロセスに代わって前記生成要求を前記オペレーティングシステムへ出力し、前記オペレーティングシステムから識別子を入力し、該識別子を対応テーブルに記憶し、該記識別子を前記オペレーティングシステムに代わって前記第2のプロセスへ出力する変換部と
を備えることを特徴とする付記1記載の通信装置。
(付記12)
前記変換部は、前記対応テーブルの仮想識別子と実識別子のエントリに、前記識別子を記憶することを特徴とする付記11記載の通信装置。
前記変換部は、前記対応テーブルの仮想識別子と実識別子のエントリに、前記識別子を記憶することを特徴とする付記11記載の通信装置。
(付記13)
端末装置と通信可能な通信装置において、
前記端末装置の接続先を他の通信装置から前記通信装置への切替えることを検出するハンドオーバ管理部と、
プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスを実行しているとき、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を受信する第3のマイグレーション管理部と
を備えることを特徴とする通信装置。
端末装置と通信可能な通信装置において、
前記端末装置の接続先を他の通信装置から前記通信装置への切替えることを検出するハンドオーバ管理部と、
プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスを実行しているとき、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を受信する第3のマイグレーション管理部と
を備えることを特徴とする通信装置。
(付記14)
更に、第1の識別子と該第1の識別子に対応する第2の識別子とを記憶する対応テーブルと、
変換部とを備え、
前記変換部は、前記通信装置で実行される前記第2のプロセスからオペレーティングシステム宛の通信要求を入力すると、前記通信要求に含まれる識別子を前記第1の識別子とし、前記識別子を、前記第1の識別子に対応する前記第2の識別子に変換し、変換後の前記第2の識別子を含む前記通信要求を前記オペレーティングシステムへ出力し、前記オペレーティングシステムから通信結果を入力すると、前記通信結果に含まれる前記第2の識別子を前記第1の識別子に変換し、変換後の前記第1の識別子を含む前記通信結果を、前記第2のプロセスへ出力することを特徴とする付記13記載の通信装置。
更に、第1の識別子と該第1の識別子に対応する第2の識別子とを記憶する対応テーブルと、
変換部とを備え、
前記変換部は、前記通信装置で実行される前記第2のプロセスからオペレーティングシステム宛の通信要求を入力すると、前記通信要求に含まれる識別子を前記第1の識別子とし、前記識別子を、前記第1の識別子に対応する前記第2の識別子に変換し、変換後の前記第2の識別子を含む前記通信要求を前記オペレーティングシステムへ出力し、前記オペレーティングシステムから通信結果を入力すると、前記通信結果に含まれる前記第2の識別子を前記第1の識別子に変換し、変換後の前記第1の識別子を含む前記通信結果を、前記第2のプロセスへ出力することを特徴とする付記13記載の通信装置。
(付記15)
更に、第1の識別子を記憶する対応テーブルと、変換部とを備え、
前記変換部は、前記第2のプロセスからオペレーティングシステム宛の通信要求を入力し、前記通信要求に含まれる識別子を前記第1の識別子とし、前記第1の識別子に対応する第2の識別子が前記対応テーブルに記憶されていないとき、通信路の生成要求を前記オペレーティングシステムへ出力し、前記オペレーティングシステムから識別子を入力すると、該識別子を前記第1の識別子に対応する前記第2の識別子として前記対応テーブルに記憶し、前記第2のプロセスに代わって、前記第2の識別子を用いて通信要求をオペレーティングシステムへ出力し、前記オペレーティングシステムから入力した通信結果に含まれる前記第2の識別子を前記第1の識別子に変換して、前記通信結果を前記第2のプロセスへ出力することを特徴とする付記13記載の通信装置。
更に、第1の識別子を記憶する対応テーブルと、変換部とを備え、
前記変換部は、前記第2のプロセスからオペレーティングシステム宛の通信要求を入力し、前記通信要求に含まれる識別子を前記第1の識別子とし、前記第1の識別子に対応する第2の識別子が前記対応テーブルに記憶されていないとき、通信路の生成要求を前記オペレーティングシステムへ出力し、前記オペレーティングシステムから識別子を入力すると、該識別子を前記第1の識別子に対応する前記第2の識別子として前記対応テーブルに記憶し、前記第2のプロセスに代わって、前記第2の識別子を用いて通信要求をオペレーティングシステムへ出力し、前記オペレーティングシステムから入力した通信結果に含まれる前記第2の識別子を前記第1の識別子に変換して、前記通信結果を前記第2のプロセスへ出力することを特徴とする付記13記載の通信装置。
(付記16)
更に、対応テーブルを備え、
前記第3のマイグレーション管理部は、前記プロセス情報を受信したとき、前記プロセス情報に含まれる通信路の識別子を、前記対応テーブルの第1の識別子として前記対応テーブルに記憶し、前記第1の識別子に対応する第2の識別子は未登録を示す情報を前記対応テーブルに記憶することを特徴とする付記13記載の通信装置。
更に、対応テーブルを備え、
前記第3のマイグレーション管理部は、前記プロセス情報を受信したとき、前記プロセス情報に含まれる通信路の識別子を、前記対応テーブルの第1の識別子として前記対応テーブルに記憶し、前記第1の識別子に対応する第2の識別子は未登録を示す情報を前記対応テーブルに記憶することを特徴とする付記13記載の通信装置。
(付記17)
前記端末情報は、前記端末装置の識別情報、位置、速度、方向を含むことを特徴とする付記1記載の通信装置。
前記端末情報は、前記端末装置の識別情報、位置、速度、方向を含むことを特徴とする付記1記載の通信装置。
(付記18)
ハンドオーバ管理部と、第1のマイグレーション管理部とを有し、端末装置と通信可能な通信装置における通信方法であって、
前記ハンドオーバ管理部により、前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出し、
前記第1のマイグレーション管理部により、前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する
ことを特徴とする通信方法。
ハンドオーバ管理部と、第1のマイグレーション管理部とを有し、端末装置と通信可能な通信装置における通信方法であって、
前記ハンドオーバ管理部により、前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出し、
前記第1のマイグレーション管理部により、前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する
ことを特徴とする通信方法。
(付記19)
ハンドオーバ管理部と、第3のマイグレーション管理部とを有し、端末装置と通信可能な通信装置における通信方法であって、
前記ハンドオーバ管理部により、前記端末装置の接続先を他の通信装置から前記通信装置への切替えることを検出し、
前記第3のマイグレーション管理部により、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスを実行しているとき、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を受信する
ことを特徴とする通信方法。
ハンドオーバ管理部と、第3のマイグレーション管理部とを有し、端末装置と通信可能な通信装置における通信方法であって、
前記ハンドオーバ管理部により、前記端末装置の接続先を他の通信装置から前記通信装置への切替えることを検出し、
前記第3のマイグレーション管理部により、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスを実行しているとき、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を受信する
ことを特徴とする通信方法。
10:通信システム 100:サーバ
100−1:移動元サーバ 100−2:移動先サーバ
101−1,101−2:ハンドオーバ管理部
102−1,102−2:ホストレベルマイグレーション管理部
103−1,103−2:アプリ管理表
104−1,104−2:VM管理部
105−11,105−12,…,105−21,105−22,…:VM
110−1,110−2:OS 111−1,111−2:変換部
112−1,112−2:対応表
113−1,113−2:VMレベルマイグレーション管理部
114−1,114−2:プロセス管理部
115−11,115−12,…,115−21,115−22,…:プロセス
115−11:ステートフルプロセス 115−12:ステートレスプロセス
151:CPU 200−1,200−2:基地局装置
300:ネットワーク 400:端末
100−1:移動元サーバ 100−2:移動先サーバ
101−1,101−2:ハンドオーバ管理部
102−1,102−2:ホストレベルマイグレーション管理部
103−1,103−2:アプリ管理表
104−1,104−2:VM管理部
105−11,105−12,…,105−21,105−22,…:VM
110−1,110−2:OS 111−1,111−2:変換部
112−1,112−2:対応表
113−1,113−2:VMレベルマイグレーション管理部
114−1,114−2:プロセス管理部
115−11,115−12,…,115−21,115−22,…:プロセス
115−11:ステートフルプロセス 115−12:ステートレスプロセス
151:CPU 200−1,200−2:基地局装置
300:ネットワーク 400:端末
Claims (8)
- 端末装置と通信可能な通信装置において、
前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出するハンドオーバ管理部と、
前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する第1のマイグレーション管理部と
を備えることを特徴とする通信装置。 - 前記第1のマイグレーション管理部は、前記通信装置において実行されているアプリケーションに関する情報を記憶するアプリケーション管理テーブルに基づいて、前記プロセス情報を送信することを特徴とする請求項1記載の通信装置。
- 前記第1のマイグレーション管理部は、前記第2のプロセスと前記第1のプロセスとが通信を行う際の通信路に関する通信路情報を含む前記プロセス情報を送信する請求項1記載の通信装置。
- 前記アプリケーション管理テーブルは、前記端末装置の識別情報と、前記端末装置に対して前記アプリケーションを実行する前記第2のプロセスの識別情報とを記憶し、
更に、前記ハンドオーバ管理部が前記端末装置の切替えを検出したときに出力した切替え通知を入力し、該切替え通知に含まれる前記端末装置の識別情報に基づいて、前記第2のプロセスの識別情報を、前記アプリケーション管理テーブルから読み出し、前記端末装置の識別情報と前記第2のプロセスの識別情報とを含む再配置指示を出力する第2のマイグレーション管理部を備え、
前記第1のマイグレーション管理部は、前記再配置指示に従って、前記プロセス情報を送信することを特徴とする請求項2記載の通信装置。 - 端末装置と通信可能な通信装置において、
前記端末装置の接続先を他の通信装置から前記通信装置への切替えることを検出するハンドオーバ管理部と、
プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスを実行しているとき、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を受信する第3のマイグレーション管理部と
を備えることを特徴とする通信装置。 - 更に、第1の識別子と該第1の識別子に対応する第2の識別子とを記憶する対応テーブルと、
変換部とを備え、
前記変換部は、前記通信装置で実行される前記第2のプロセスからオペレーティングシステム宛の通信要求を入力すると、前記通信要求に含まれる識別子を前記第1の識別子とし、前記識別子を、前記第1の識別子に対応する前記第2の識別子に変換し、変換後の前記第2の識別子を含む前記通信要求を前記オペレーティングシステムへ出力し、前記オペレーティングシステムから通信結果を入力すると、前記通信結果に含まれる前記第2の識別子を前記第1の識別子に変換し、変換後の前記第1の識別子を含む前記通信結果を、前記第2のプロセスへ出力することを特徴とする請求項5記載の通信装置。 - ハンドオーバ管理部と、第1のマイグレーション管理部とを有し、端末装置と通信可能な通信装置における通信方法であって、
前記ハンドオーバ管理部により、前記端末装置の接続先を前記通信装置から他の通信装置への切替えることを検出し、
前記第1のマイグレーション管理部により、前記切替えを検出すると、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスが実行されている前記他の通信装置へ、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を送信する
ことを特徴とする通信方法。 - ハンドオーバ管理部と、第3のマイグレーション管理部とを有し、端末装置と通信可能な通信装置における通信方法であって、
前記ハンドオーバ管理部により、前記端末装置の接続先を他の通信装置から前記通信装置への切替えることを検出し、
前記第3のマイグレーション管理部により、プロセス実行中において前記端末装置に関する情報を示す端末情報の入力があれば前記端末情報をメモリに保持し、前記端末情報の入力がないときは前記端末情報を前記メモリに保持しない第1のプロセスを実行しているとき、プロセス実行中において前記端末情報を前記メモリに保持する第2のプロセスに関するプロセス情報を受信する
ことを特徴とする通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017200918A JP2019075710A (ja) | 2017-10-17 | 2017-10-17 | 通信装置、及び通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017200918A JP2019075710A (ja) | 2017-10-17 | 2017-10-17 | 通信装置、及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019075710A true JP2019075710A (ja) | 2019-05-16 |
Family
ID=66543389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017200918A Pending JP2019075710A (ja) | 2017-10-17 | 2017-10-17 | 通信装置、及び通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019075710A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056995A (ja) * | 1998-08-04 | 2000-02-25 | Digital Vision Laboratories:Kk | ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置 |
JP2004088200A (ja) * | 2002-08-23 | 2004-03-18 | Toshiba Corp | プロセスマイグレーション方法、通信システム、計算機 |
JP2015109696A (ja) * | 2010-03-25 | 2015-06-11 | アルカテル−ルーセント | WiMAXネットワークにおいてモビリティ・イベント中にアクセス・サービス・ネットワーク機能エンティティを再配置する方法 |
US20160255543A1 (en) * | 2013-12-03 | 2016-09-01 | Telefonaktiebolaget Lm Ericsson (Publ) | First service network node, a second service network node and methods relating to handling of a service session |
-
2017
- 2017-10-17 JP JP2017200918A patent/JP2019075710A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056995A (ja) * | 1998-08-04 | 2000-02-25 | Digital Vision Laboratories:Kk | ネットワークで接続されたノード間のオブジェクト及びプロセスの移動方法及び機能の入れ替え方法並びにそれらの機能を有するノード装置 |
JP2004088200A (ja) * | 2002-08-23 | 2004-03-18 | Toshiba Corp | プロセスマイグレーション方法、通信システム、計算機 |
JP2015109696A (ja) * | 2010-03-25 | 2015-06-11 | アルカテル−ルーセント | WiMAXネットワークにおいてモビリティ・イベント中にアクセス・サービス・ネットワーク機能エンティティを再配置する方法 |
US20160255543A1 (en) * | 2013-12-03 | 2016-09-01 | Telefonaktiebolaget Lm Ericsson (Publ) | First service network node, a second service network node and methods relating to handling of a service session |
Non-Patent Citations (1)
Title |
---|
INTEL CORPORATION: ""Use cases for integrated wireless-optical infrastructures: the vision of the EU-Brazil funded resea", 3GPP TSG SA WG1 #77 S1-171158, JPN6021032493, 7 February 2017 (2017-02-07), ISSN: 0004575903 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102138002B1 (ko) | 세션 관리 기능 엔티티 선택 방법, 장치, 및 시스템 | |
US20200323029A1 (en) | Session Processing Method and Apparatus | |
EP4301047A2 (en) | System and method for ue context and pdu session context management | |
CN110049070B (zh) | 事件通知方法及相关设备 | |
KR20220049553A (ko) | 연결 설정 방법 및 장치, 링크 상태 통보 방법 및 장치, 인터페이스 설정 방법 및 장치, 정보 전송 방법 및 장치, 통합 액세스 백홀 노드, 중앙집중형 유닛, 시스템, 저장매체 | |
KR102061661B1 (ko) | 가상화된 네트워크 기능들을 포함하는 통신 네트워크의 제어 | |
US10986543B2 (en) | Method and device for determining a bearer identifier, and storage medium therefor | |
JP2021518075A (ja) | サービス加入方法および装置 | |
WO2018166379A1 (zh) | 网络控制的方法和装置以及通信系统 | |
CN111935788A (zh) | 一种通信方法、装置及相关设备 | |
TW201811079A (zh) | 行動網路中之回復封包服務 | |
CN109074288B (zh) | 网络虚拟化场景中的冲突解决 | |
KR102213122B1 (ko) | 비즈니스 마이그레이션을 위한 방법 및 장치 | |
US11159934B2 (en) | Presence reporting areas for the UE | |
CN112840701A (zh) | 在5g系统到演进分组系统切换期间的用户面建立 | |
CN113068232A (zh) | 一种边缘应用服务器的切换方法及装置 | |
KR20210008081A (ko) | 핸드오버 방법 및 시스템, 및 디바이스 | |
JP2022528408A (ja) | セッション処理方法、通信装置、および通信システム | |
CN101534501A (zh) | 本地移动锚点注册的方法、系统及设备 | |
KR20190015501A (ko) | 액세스 포인트를 스위칭하기 위한 방법 및 디바이스 | |
EP4216493A1 (en) | Session processing method and apparatus | |
WO2022022440A1 (zh) | 网络重连方法、设备、系统及存储介质 | |
US20220225459A1 (en) | Communication network component and method for handling a service request | |
JP2019075710A (ja) | 通信装置、及び通信方法 | |
CN112752352A (zh) | 一种中间会话管理功能i-smf确定方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210824 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220301 |