JP3643574B2 - Process migration method, communication system, computer - Google Patents

Process migration method, communication system, computer Download PDF

Info

Publication number
JP3643574B2
JP3643574B2 JP2002243104A JP2002243104A JP3643574B2 JP 3643574 B2 JP3643574 B2 JP 3643574B2 JP 2002243104 A JP2002243104 A JP 2002243104A JP 2002243104 A JP2002243104 A JP 2002243104A JP 3643574 B2 JP3643574 B2 JP 3643574B2
Authority
JP
Japan
Prior art keywords
destination
mobile terminal
unit
computer
prediction
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.)
Expired - Fee Related
Application number
JP2002243104A
Other languages
Japanese (ja)
Other versions
JP2004088200A (en
Inventor
記代子 佐藤
誠司 前田
伸夫 崎山
浩邦 矢野
拓也 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002243104A priority Critical patent/JP3643574B2/en
Publication of JP2004088200A publication Critical patent/JP2004088200A/en
Application granted granted Critical
Publication of JP3643574B2 publication Critical patent/JP3643574B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、移動体端末のユーザにサービスを提供する計算機システムに採用されるプロセスマイグレーション方法に関する。
【0002】
【従来の技術】
無線LANやBluetooth(R)といった無線技術の普及により、オフィスや家庭の固定された計算機を利用する以外にも、外出先で、ノートパソコンやPDA等の移動体端末を用いてネットワークにアクセスすることが容易になった。
【0003】
移動体端末のユーザは、オフィスや家庭の計算機を利用して得られるサービスをどこでも同様に受けられることを望む。しかし、移動体端末の処理能力はオフィスや家庭の計算機の処理能力に比べて乏しいため、提供可能なサービスには限りがある。そこで、ネットワーク上に存在する計算機サーバの持つリソース(CPUの処理能力、メモリ、ハードディスク等)を利用してサービスを受ける方法が取られる。
【0004】
移動体端末は基地局を介して計算機サーバと通信を行ってサービスを受けるので、移動体端末が現在利用している基地局と計算機サーバとがネットワーク的に近い、すなわち、基地局と計算機サーバとの間に存在する他の計算機や通信制御装置(ルータ、ハブ、ブリッジ)等のパケットを中継・転送する装置が少ない方が、計算機サーバからのレスポンスの向上、リソースの節減(特に通信帯域の節減)、負荷の分散等の面で望ましい。
【0005】
しかし、移動体端末はユーザの移動に伴って通信に用いる基地局を適宜切り替えながら計算機サーバと通信を行う。そのため、ある時刻においては基地局と計算機サーバとがネットワーク的に近くても、移動体端末が移動して通信に用いる基地局が変わった別の時刻には基地局と計算機サーバとがネットワーク的に遠くなってしまうことがしばしば起こる。
【0006】
基地局と計算機サーバとがネットワーク的に遠くなると、計算機サーバからのレスポンスが悪化したり、計算機サーバと基地局との間に存在する他の計算機や通信制御装置等で使用可能な通信帯域を消費したり、特定の計算機サーバに負荷が集中するといった問題が起こり易い。
【0007】
上記の問題を解決するためには、サービスを実現するために計算機サーバ上で動作するプロセスを、移動体端末が通信に用いる基地局からネットワーク的に近い他の計算機サーバへ移動させればよい。
【0008】
計算機間でプロセスを移動させる技術に「プロセスマイグレーション」と呼ばれるものがある。プロセスマイグレーションとは、プロセスが利用しているアドレス空間上のコードを含む全データと、CPUレジスタ値、そして、プロセスがオープンしていたファイル情報のようなプロセス実行時の状態を複製したものをプロセス移動先の計算機に移送し、プロセス移動先計算機において上記のプロセス状態と同じ状態を持ったプロセスを生成して、実行するものである。
【0009】
移動体端末が移動した場所に実行中のプロセスを移動させる技術は、例えば特許文献1や非特許文献1で開示されている。
【0010】
特許文献1で開示されている技術によると、プロセスの移動は移動体端末が移動したことを確認した後に開始される。
【0011】
しかし、プロセスの移動にはある程度時間を要するため、プロセスの移動が完了した時には、移動体端末は既に他の場所に移動している可能性がある。
【0012】
この場合、サービスを提供するプロセスとサービスを受ける移動体端末との位置は依然離れたままであるため、サービス提供の遅延や、通信帯域の消費、そして特定の計算機への負荷の偏りといった、前述の問題を十分に解消することができない。
【0013】
非特許文献1で開示されている技術はプロセスマイグレーションの中でも「PreCopy方式」と呼ばれるものである。
【0014】
PreCopy方式は、プロセスを実行したままで事前にアドレス空間の全内容を移送しておき、最終的にプロセスを停止して、アドレス空間の内容のうち先の移送後に変更された内容と他のプロセス状態を移送する技術である。
【0015】
しかし、PreCopy方式は、プロセスマイグレーション開始前にプロセスを移送する計算機を決定しておく必要があり、プロセスマイグレーション実行中に移動体端末が予測外の移動を行った場合への対応等、移送先計算機を柔軟に変更することが考慮されているものではない。
【0016】
【特許文献1】
特開平9−107577号公報
【0017】
【非特許文献1】
M.Theimer,K.Lantz,D.Cheriton. 「Preemptable and remote execution facilities for the V−system.」 In 10th ACM Symposium on Operating Systems Principles,pages2−12,1985
【0018】
【発明が解決しようとする課題】
上述のように、移動体端末は移動するために、移動体端末と移動体端末にサービスを提供するプロセスの間の距離が離れてしまうことから生じる問題を解決するために、移動体端末の移動位置にプロセスを移動させる方法がある。
【0019】
しかし、移動体端末が移動したことを確認した後にプロセスを移動させたのでは、プロセスの移動中に移動体端末が他の場所に移動してしまうという問題があった。
【0020】
本発明は、このような点に鑑みてなされたもので、移動体端末の移動に正確・柔軟に対応したプロセスマイグレーションを実現して、移動体端末とプロセスを実行する計算機とがネットワーク的に離れて存在することにより生じる移動体端末へのサービス遅延を改善することを目的とする。
【0021】
【課題を解決するための手段】
上記課題を解決するため、本発明のプロセスマイグレーション方法は、ネットワークを介して共通に接続された複数の計算機と、前記ネットワークに接続された複数の無線基地局と、前記無線基地局を介して前記ネットワークに接続可能な移動体端末とを有する通信システムにおける、前記移動体端末が前記複数の計算機のうちの一つである第1の計算機に実行させているプロセスを前記複数の計算機のうちの一つである他の計算機に移動させるためのプロセスマイグレーション方法であって、前記第1の計算機は前記移動体端末の移動先を予測し、予測した移動先を無線通信範囲に含む移動先無線基地局から前記第1の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機に、前記第1の計算機で実行中のプロセスを移動させる。
【0022】
本発明のプロセスマイグレーション方法は、ネットワークを介して接続された複数の無線基地局と、前記ネットワークを介して接続された複数の計算機と、前記無線基地局を介して前記ネットワークに接続可能な移動体端末とを有する通信システムにおける、前記移動体端末が前記複数の計算機のうちの一つである第1の計算機に実行させているプロセスを前記複数の計算機のうちの一つである他の計算機に移動させるためのプロセスマイグレーション方法であって、前記移動体端末の移動先の予測を行う移動体端末移動先予測ステップと、前記移動体端末移動先予測ステップで予測された移動先を無線通信可能範囲内に含む移動先無線基地局からプロセスを実行中の前記第1の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い第2の計算機が存在するかを検索するプロセス移動先検索ステップと、前記プロセス移動先検索ステップにおいて第2の計算機が存在する場合に、前記第1の計算機で実行中のプロセスを前記第2の計算機に移動させるプロセス移動ステップと、前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先に向かって移動しているか否かを判定する判定ステップと、前記判定ステップにおいて、前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先とは異なる場所へ移動していると判定された場合に、前記プロセス移動ステップの処理を中止させる中止ステップとを有する。
【0023】
また、前記プロセス移動ステップは、第1の計算機において移動対象プロセスのコピーを生成し、第1の計算機で前記移動対象プロセスの実行記録を生成しながら実行すると共に第1の計算機から第2の計算機へ前記コピーを送信し、第2の計算機において前記コピーを元に前記移動対象プロセスを復元する第1段階の手順と、第1の計算機で実行中の前記移動対象プロセスの動作を停止させ、前記第1の手順の実行開始後から前記移動対象プロセスの停止時までに生成された前記実行記録を第1の計算機から第2の計算機に送信し、前記実行記録をもとに第2の計算機において移動対象プロセスの動作を再生する第2段階の手順とを有することを特徴としても良い。
【0024】
また、前記移動体端末移動先予測ステップでは、移動先の予測に加えて予測確定先も予測し、前記プロセス移動ステップでは、前記判定ステップにおいて前記移動体端末が前記予測確定先に到達したと判定されてから、前記第2段階の手順の実行を開始させることを特徴としても良い。
【0025】
また、前記中止ステップでは、前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、前記プロセス移動ステップの前記第1の手順の実行開始後であって前記第2の手順の実行開始前の状態である場合は、前記プロセス移動ステップの処理を中止するとともに、前記移動体端末移動先予測ステップを再び実行することを特徴としても良い。
【0026】
また、前記中止ステップでは、前記判定ステップで前記移動体端末が予測と異なる場所に移動していると判定された時点で、前記プロセス移動ステップの前記第1の手順の実行開始後であって前記プロセス移動ステップの前記第2の手順の実行開始前の状態である場合は、前記プロセス移動ステップの処理を中止するとともに、前記移動先予測ステップを再び実行し、前記プロセス移動ステップの前記第2の手順の実行開始後の状態である場合は、前記プロセス移動ステップの処理を完了させることを特徴としても良い。
【0027】
また、前記中止ステップでは、前記判定ステップで前記移動体端末が予測と異なる場所に移動していると判定された時点で、前記プロセス移動ステップの前記第1の手順の実行開始後であって前記プロセス移動ステップの前記第2の手順の実行開始前の状態である場合は、前記プロセス移動ステップの処理を中止するとともに、前記移動先予測ステップを再び実行し、前記プロセス移動ステップの前記第2の手順の実行開始後の状態である場合は、前記プロセス移動ステップの処理を中止し、第1の計算機において移動対象プロセスを再び動作させるとともに前記移動先予測ステップを再び実行することを特徴としても良い。
【0028】
本発明の通信システムは、ネットワークを介して共通に接続された複数の計算機と、前記ネットワークに接続された複数の無線基地局とを有し、前記複数の計算機のそれぞれは、前記無線基地局を介して前記ネットワークに接続している移動体端末の移動先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機に、実行中のプロセスを移動させるプロセスマイグレーション処理部とを備える。
【0029】
本発明の計算機は、ネットワークを介して他の計算機と通信する通信手段と、前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末の移動先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機に、実行中のプロセスを移動させるプロセスマイグレーション処理部とを有する。
【0030】
本発明の計算機は、ネットワークを介して他の計算機と通信する通信手段と、前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末の所在を監視する所在監視手段と、前記移動体端末の移動先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信可能範囲内に含む移動先無線基地局から自計算機までのネットワーク的な距離よりも、移動先無線基地局からのネットワーク的な距離が近い第1の計算機を検索するプロセス移動先検索部と、実行中のプロセスのコピーを生成し、これを前記プロセス移動先検索部で検索した第1の計算機へ送信するプロセス送信部と、前記所在監視手段から前記移動体端末の現在位置を取得して、前記移動体端末が前記移動先予測部の予測と異なる位置に向かって移動していると判断した場合には、前記プロセス送信部の処理を中止させる制御部とを有する。
【0031】
本発明の計算機は、ネットワークを介して他の計算機と通信する通信手段と、前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行手段と、前記移動体端末の所在を監視する所在監視手段と、前記移動体端末の移動先及び予測確定先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信可能範囲内に含む移動先無線基地局から自計算機までのネットワーク的な距離よりも、移動先無線基地局からのネットワーク的な距離が近い第1の計算機を検索するプロセス移動先検索部と、実行中のプロセスのコピーを生成し、これを前記第1の計算機に送信する第1のプロセスマイグレーション送信処理部と、前記所在監視手段によって前記移動体端末が予測確定先に到達したと判明してから前記実行中のプロセスを停止させてコピーとの差分を前記第1の計算機に送信する第2のプロセスマイグレーション送信処理部と、前記所在監視手段から前記移動体端末の現在位置を取得し、前記移動体端末が予測と異なる位置に向かって移動していると判断した場合には、前記移動先予測部に移動先の再度予測を行わせて、前記プロセス移動先検索部に再度移動先計算機の検索を行わせて、前記第1のプロセスマイグレーション送信処理部に再度処理を行わせて、前記移動体端末が予測確定先に到達した場合には前記第2のプロセスマイグレーション送信処理部に処理を行わせる制御部とを有する。
【0032】
【発明の実施の形態】
(第1の実施形態)以下、図面を参照して本発明の第1の実施形態について説明する。図1、図2は、本発明の第1の実施形態に係る通信システムの構成を示すブロック図である。
【0033】
図1は、ユーザが使用する移動体端末と、移動体端末と無線通信を行う無線基地局A,B,C,D,E,Fと、移動体端末の要求に応じてプロセスを実行する計算機A,B,C,D,E,Fと、各無線基地局と各計算機とを結ぶネットワークと、ネットワーク上の通信データを適切な宛先に転送する通信制御装置A,B,C,D,E,Fとを備えた通信システムである。
【0034】
計算機A,B,C,D,E,FはいわゆるPC(パーソナルコンピュータ)やWS(ワークステーション)の類であり、CPU(中央演算処理装置)、メモリ、HDD(ハードディスクドライブ)等を備えたコンピュータであり、ネットワークを介して共通に接続されて相互に通信可能な状態になっている。
【0035】
無線基地局A,B,C,D,E,Fは、例えばワイヤレスLANのアクセスポイントのようなものである。これは通信システムの規模に応じて適宜変えれば良く、場合によっては携帯電話等の基地局のようなものを用いても良い。
【0036】
通信制御装置A,B,C,D,E,Fとしては、例えば、スイッチングハブやルータあるいはこれらの機能を有する計算機等がある。また、図面では説明を簡単にするために移動体端末は1台しか記載されていないが、実際には複数台存在していて良い。
【0037】
ここで、計算機Aと無線基地局Aと通信制御装置A、計算機Bと無線基地局Bと通信制御装置B、計算機Cと無線基地局Cと通信制御装置C、計算機Dと無線基地局Dと通信制御装置D、計算機Eと無線基地局Eと通信制御装置E、計算機Fと無線基地局Fと通信制御装置Fは、共にそれぞれ地点A,B,C,D,E,Fに存在する。
【0038】
例えば、A地点にいる移動体端末がネットワーク上の計算機Aでプロセスを実行する場合は、次のようになる。
【0039】
A地点の移動体端末は最寄の無線基地局Aと接続する。そして、移動体端末は無線基地局Aと通信制御装置Aとを経由してネットワーク上の計算機Aにアクセスしてサービスを要求する。計算機Aは要求に応じてプロセスを実行開始する。こうすることで、移動体端末はネットワーク上の計算機リソースを利用して、オフィスや家庭の計算機を利用する場合と同等のサービスを受けることが可能となる。
【0040】
図1で、A地点で計算機Aと通信中の移動体端末がD地点に移動した場合は、無線基地局D―>通信制御装置D―>通信制御装置C―>通信制御装置B―>通信制御装置A―>計算機Aという経路によって通信が行われることになる。
【0041】
しかし、このまま計算機Aでプロセスを実行して移動体端末にサービスを提供すると、複数の通信制御装置(システムの構成によっては計算機も含む)を経て通信を行うのでネットワーク資源の無駄になる。また、途中のネットワーク上に悪意を持った人間によって設置された計算機が存在する場合、移動体端末と計算機Aとの通信内容が傍受されたり或いは通信データが改竄されるなど、セキュリティー面でも問題がある。
【0042】
そこで、本実施形態の通信システムは、移動体端末にサービスを提供する計算機Aは移動体端末の移動先の予測を行い、例えば移動体端末がD地点に向かって移動していると予測した場合は、移動体端末がD地点到達する前に計算機Aで実行中のプロセスを計算機Dへ移動開始させ、ネットワーク資源を節減するとともにプロセスのレスポンスを向上させるものである。
【0043】
尚、本実施形態の通信システムでは、無線基地局と計算機とが一対一の対応になっているが、状況に応じて対応関係は適宜変えて良い。例えば、移動体端末が要求するサービスの数が多大なケースでは1つの無線基地局に複数の計算機を対応させて設置し、計算機の負荷を分散(ラウンドロビン方式や負荷が低い計算機に対して優先的に新たなサービス要求を割り当てる方式等を利用)させたり、逆に、無線基地局の通信範囲に比べて広範囲に分散する移動体端末にサービスを提供する場合、例えば建物の中などにおいて出力の弱い無線基地局を多数設置してサービスを提供するケース等、であれば、1台の計算機に複数の無線基地局を対応させて設置することも考えられる。
【0044】
(プロセスマイグレーション処理の概要)本実施形態の通信システムにおけるプロセスマイグレーション処理は大きく2段階に分かれている。ここでは計算機Aで実行中のプロセスを、移動予測先である計算機Bに移動させる場合を例に概要の説明を行う。
【0045】
第1段階では、計算機Aにおいて、移動対象のプロセスを実行したまま当該プロセスのコピーを生成する。すなわち、当該プロセスが使用しているアドレス空間の全データを読み出してそのコピーを生成する。そして、計算機Aは移動予測先である計算機Bにアドレス空間のデータのコピーを送信する。計算機Bではこれを受信して計算機Bのアドレス空間上でプロセスの復元を行う。
【0046】
第2段階では、計算機Aにおいて、移動対象プロセスの実行を停止し、アドレス空間のデータのうち第1段階終了時以降に変更されたものと、CPUのレジスタの値と、オープンしていたファイルの情報等を計算機Bに送信する。そして、計算機Bではこれらを受信して、プロセス停止時の状態を再現する。
【0047】
第1段階は移動対象プロセスを実行したまま行われるので、例えば第1段階終了後に、移動予測先が計算機Bではなく計算機Dであったことが判明したように予測が外れた場合にプロセスマイグレーション処理を中止してやり直しても、移動対象プロセスには何ら影響がない。つまり、第1段階が終了時の状態であれば、プロセスの移動先の変更をいつでも行うことができる。
【0048】
また、第2段階ではアドレス空間のデータのうち第1段階終了時以降に変更があった内容だけを送信するので、第1段階に比べてデータ量が少なく済み高速処理が可能となる。これにより、移動体端末が移動するタイミングにあわせて第2段階の処理を行っても移動体端末の到着前にプロセスを移動完了させることも、あるいは移動体端末の到着後遅滞無くプロセスを移動完了させることもできる。すなわち、任意のタイミングでプロセスを移動させることができるのである。
【0049】
(通信システムの詳細)
図2は本実施形態の通信システムの詳細な説明のために、図1のA地点及びB地点の部分を抜粋した図である。
【0050】
図1と同様、計算機A,Bと通信制御装置A,Bと無線基地局A,Bとはネットワークで接続されている。そして、移動体端末は現在地から最寄の無線基地局AまたはBを利用して計算機A,Bと通信を行い、サービスを受ける。
【0051】
無線基地局A,Bは自分に接続している移動体端末からの通信データに自分の識別情報を付加して目的となる計算機へ転送する。例えば、移動体端末が無線基地局Bを介して計算機Aと通信を行っている場合ならば、無線基地局Bは移動体端末から計算機Aに送信される通信データに「無線基地局Bを利用」という旨の情報を付加して計算機Aへ転送する。この情報は計算機Aで移動体端末の現在地を把握するために用いられる。
【0052】
ネットワークの途中にある通信制御装置A,Bは、通信データを適切な宛先に向けて転送する。
【0053】
計算機A,Bはそれぞれ、プロセス管理機構A,Bと、ユーザ移動予測部A,Bと、プロセスマイグレーション処理部A,Bとを有する。本実施形態では、これらは計算機A,B上で動作させるOS(オペレーティングシステム)のカーネルが持つ1機能として実装しておくものとする。尚、これらは1プロセスとして実装してあっても良い。
【0054】
プロセス管理機構は、無線基地局を経由して移動体端末からの要求を受け取る。そして、プロセスの生成・実行やプロセスへのデータ転送を行うとともに、プロセスの出力結果を受け取って無線基地局を経由して移動体端末へ転送する。また、移動体端末が利用している無線基地局の識別情報を抽出してユーザ移動予測部に通知する。
【0055】
ユーザ移動予測部は、図3に示すような、システム内の全ての無線基地局の位置(ある点を基準点とした座標)と各無線基地局からネットワーク的に最寄の計算機を示すシステム構成マップを持つ。このシステム構成マップの情報と前述のプロセス管理機構から与えられる無線基地局の識別情報から推定される移動体端末の位置情報とを用いて移動体端末の移動経路を予測し、予測に基づいてプロセスマイグレーション処理部にプロセスマイグレーションの第1段階の処理を開始するよう通知する。
【0056】
第1段階の処理開始以後は移動経路の予測が正しいか検証を行う。そして、予測が正しいことが確定するとプロセスマイグレーション処理部にプロセスマイグレーションの第2段階の処理を行うように通知する。一方、予測が誤っていた場合は移動経路の予測をやり直す。
【0057】
プロセスマイグレーション処理部は、ユーザ移動予測部からの指示によりプロセスマイグレーションの第1段階及び第2段階の処理を開始する。また、ユーザ移動予測部からの要求に応じて、プロセスマイグレーション処理に要する時間を見積もりを出す。
【0058】
計算機Aから計算機Bにプロセスが移動する場合の第1段階の処理では、プロセスマイグレーション処理部Aはプロセスマイグレーション処理部Bにアドレス空間のデータの送信を行う。そして、プロセスマイグレーション処理部Bは受信したデータをもとにプロセスを計算機Bのアドレス空間上に復元する。
【0059】
第2段階の処理についても同様で、プロセスマイグレーション処理部Aが送信した情報をプロセスマイグレーション処理部Bが計算機B上のプロセスに反映させる。
【0060】
プロセスマイグレーション処理に要する時間は、例えばプロセスマイグレーションの第1段階の処理時に送信する情報(前述の通り、プロセスのアドレス空間の全データ)の量と移動先計算機までの通信速度を用いて概算する。
移動体端末は、要求したサービスに対応するプロセスがどの計算機のどのプロセスであるかを管理するために、図4に示すようなプロセス管理テーブルを持っている。
【0061】
プロセスIDの項目には移動体端末からの要求によりネットワーク上の計算機で実行されているプロセスの識別IDを登録しておき、計算機IDの項目には対応プロセスが実行されている計算機の識別IDが登録される。計算機の識別IDには計算機に固定のIPアドレスを使用しても良い。
【0062】
尚、本実施形態では通信システムのサーバ側システムは、図2のように計算機A,B・・と、無線基地局A,B・・と、通信制御装置A,B・・とを含む構成にしてあるが、図5のように、無線基地局A,B・・・の代わりに、計算機A,B,・・・に無線ポート部A,B・・・を内蔵してもよい。この場合、移動体端末は無線ポート部を介して計算機A,B・・・と通信を行う。
【0063】
(プロセスの起動)以下に、本実施形態において、図1のA地点の移動体端末が計算機Aにサービスを要求し、計算機Aがこれに応じてプロセスを開始する場合の処理の流れを示す。
【0064】
(1)A地点の移動体端末は、無線インタフェースを用いて無線基地局Aと接続される。
(2)移動体端末は、移動体端末から計算機Aにサービスを要求する。
(3)無線基地局Aは、移動体端末から計算機Aへのサービス要求に無線基地局A固有のIDを付加して計算機Aのプロセス管理機構に転送する。
【0065】
(4)計算機Aのプロセス管理機構は要求されたサービスを実行するプロセスを生成し、システム内で一意のプロセスIDを付ける。
(5)計算機Aのプロセス管理機構は、基地局のIDとプロセスIDの組をユーザ移動予測部に通知する。
(6)ユーザ移動予測部は後述する図6の処理を行って移動体端末の移動に備える。
【0066】
(7)計算機Aのプロセス管理機構は、プロセスの実行を開始してプロセスIDをサービスを要求した移動体端末に送信する。
(8)移動体端末は、計算機Aから送信された計算機Aの識別IDとプロセスIDを組にしてプロセス管理テーブルに登録する。
【0067】
上記の処理(4)において、プロセス管理機構が設定するプロセスIDは、例えば、「移動体端末のID」+N(正の整数値)のような値(システム内で一意の値)に定めると、プロセスの要求元である移動体端末IDをプロセスIDから容易に判別することが可能となる。
【0068】
(移動体端末の移動に伴う通信システム全体の処理の概要)次に、本実施形態において、図1のA地点にいた移動体端末が計算機Aでサービスを開始した後に、サービスを継続したままB地点に移動した場合の処理の流れを示す。
【0069】
(1)B地点に移動した移動体端末は無線基地局Bとの接続を開始する。
(2)移動体端末はプロセス管理テーブルを参照してサービスを提供しているプロセスを実行中の計算機(ここでは計算機A)のIDを取得し、同計算機を宛先としてプロセスへの通信要求を無線基地局Bに送る。
(3)無線基地局Bは、移動体端末からの要求に無線基地局B固有のIDを付加して計算機Aに転送する。
【0070】
(4)計算機Aは、受け取ったデータをプロセス管理機構Aに転送する。
(5)プロセス管理機構Aは、移動体端末から受け取ったデータをサービスを提供しているプロセスに渡すとともに、無線基地局のIDとプロセスIDの組をユーザ移動予測部に通知する。
(6)ユーザ移動予測部は後述する図6の処理を行って移動体端末の移動に対応した処理を行う。
【0071】
(ユーザ移動予測部の動作の概要)次に、ユーザ移動予測部の動作の概要を説明する。
【0072】
通常、ユーザの所在地と移動体端末の所在地は同一であるので、ユーザの移動先の予測結果と移動体端末の移動先の予測結果とは同一である。そこで、本実施形態のユーザ移動予測部では移動体端末の移動先予測を行う。
【0073】
ユーザ移動予測部は、図7に示すような移動予測マップを持つ。
【0074】
プロセスIDの項目にはサービスを提供するプロセスの識別IDを登録し、初期地点の項目には移動体端末がサービスを要求した時に移動体端末が利用していた無線基地局のIDを登録し、Timeの項目にはサービスを要求した移動体端末を移動予測マップへ登録した時刻を登録し、後にユーザ移動予測部が移動体端末の移動速度を計算する場合に使用する。
【0075】
また、予測経路マップへのポインタの項目には、サービスを要求した移動体端末が移動先で別の計算機に接続したことが通知された時に、新たに後述する予測経路マップを作成しそのメモリ上のアドレスを登録する。
【0076】
予測経路マップには、ユーザ移動予測部が予測した経路上の無線基地局からネットワーク的に最寄の計算機の計算機IDと、各計算機に応じたMigrationフラグ、そして、ユーザ移動予測部に移動通知された移動体端末の到着時刻が登録される。
【0077】
Migrationフラグの種類には、Destination、Fix、OKの3種類がある。これらのフラグは排他的なものではなく、例えばOKフラグとFixフラグが同時に立っても構わない。以下、各フラグの意味を説明する。
【0078】
(1)Destinationフラグは、その無線基地局からネットワーク的に最寄の計算機がプロセスの移動先であることを示す。
(2)Fixフラグは、「移動体端末がその無線基地局を利用する場所に到達した時点で移動先予測が正しいと確定させ、プロセスマイグレーションの第2段階を開始させる」ポイントとなる無線基地局であることを示す。
(3)OKフラグは、移動体端末がその無線基地局を利用する場所に既に到達した(既に通過した場合も含む)ことを示す。
【0079】
(ユーザ移動予測部の動作)以下図6、8、9を用いてユーザ移動予測部の処理の流れを説明する。
【0080】
図6は、プロセス管理機構からプロセスIDと無線基地局IDを通知された時のユーザ移動予測部の処理の流れを示している。
【0081】
(S601)プロセス管理機構からプロセスIDと無線基地局IDが通知される。
(S602)通知されたプロセスIDが移動予測マップに登録されているかを調べる。
【0082】
(S603)通知されたプロセスIDが、移動予測マップに登録されていない場合は、移動予測マップにプロセスIDと無線基地局IDと現在時刻とを登録し、対応する予測経路マップポインタはNULL(予測経路マップが存在しないことを表す)にする。そしてS605の処理を行う。
(S604)通知されたプロセスIDが移動予測マップに登録されている場合は、通知されたプロセスIDに対応する予測経路マップポインタの値を調べる。
【0083】
(S605)予測経路マップポインタがNULLの場合は、後述する図8の処理を行って予測経路マップを作成する。
(S606)予測経路マップポインタがNULLではない場合は、後述する図9の処理を行って予測経路マップ通りに移動体端末が移動しているかを確認する。
【0084】
図8は、ユーザ移動予測部において予測経路マップを作成する処理を示している。
【0085】
(S801)移動予測マップに登録されている無線基地局のID(ここではAとする)と通知された無線基地局ID(ここではBとする)の位置をシステム構成マップによりそれぞれ取得する。
【0086】
(S802)無線基地局Aから無線基地局Bまでの移動体端末の移動速度Vuを以下の方法により求める。まず、S801で取得した無線基地局A,Bの位置を用いて、無線基地局Aから無線基地局Bまでの距離LA-Bを計算する。そして、移動予測マップのTimeに登録されている時間TAと現在時刻(今、無線基地局Bの通信範囲内にいるのでTBを用いる)とを用いて、無線基地局Aから無線基地局Bまでの移動体端末の移動時間TA-Bを計算する。そして、Vu=LA-B÷TA-Bを計算する。
【0087】
(S803)S801で取得した値を用いて、無線基地局Aから見た無線基地局Bのある方向を計算して、移動体端末の移動方向を求める。
【0088】
(S804)プロセスマイグレーション処理部から、プロセスマイグレーションにかかる時間TMIGを取得する。TMIGは前述の通り、プロセスマイグレーションの第1段階の処理で送信するデータ量と移動先計算機までの通信速度とを用いて概算された値である。
【0089】
(S805)移動体端末の移動先を予測してプロセスマイグレーションによるプロセスの移動先を決定する。移動先の予測は、移動先において使用される無線基地局を予測することで行う。
【0090】
まず、システム構成マップから移動体端末の移動方向にある無線基地局の位置を取得する。そして、関係式Lx÷Vu>TMIG×Fを用いて、移動体端末の到着よりも先にプロセスマイグレーションの完了が可能な計算機を最寄の計算機とする無線基地局を求める。ただし、Lxは無線基地局Aから無線基地局X(Xは移動体端末の移動方向にある無線基地局)までの距離で、Fはプロセスマイグレーションに影響を及ぼす要因を反映させるための係数で、例えば通信速度の変動や移動先及び移動元計算機の負荷状態などに基づいて算出される量である。
【0091】
このようにして求められた無線基地局のうち、現在接続中の無線基地局から最も近い位置にある無線基地局を選び(ここでは無線基地局Dとする)、この無線基地局Dが存在するD地点を移動先と予測する。また、無線基地局Dの最寄の計算機(ここでは計算機Dとする)をプロセスマイグレーション先に決定する。
【0092】
(S806)移動体端末が、S805で予測されたD地点に至る経路上のどの地点に到達したら、プロセスマイグレーションの第2段階の処理を開始するかを決定する(ここではC地点とする)。
【0093】
(S807)S805、S806の結果に基づいて予測経路マップを作成して移動予測マップに登録する。移動予測マップには、現在地点を先頭に予測地点までの全地点を経路順に登録する。この時点で予測経路マップに設定されるMigrationフラグは次のようになる。S805で移動先と予測された地点、すなわちD地点については「Destination」フラグを立てる。S806で決定された地点、すなわちC地点については「Fix」フラグを立てる。
【0094】
(S808)プロセスマイグレーション処理部にS805の結果を通知し、プロセスマイグレーション処理の第1段階を開始させる。
【0095】
図9は、予測経路マップの通りに移動体端末が移動しているかを確認する処理を示している。
【0096】
(S901)予測経路マップに登録された地点を順次参照しシステム構成マップから各地点に該当する無線基地局IDを調べる。
(S902)そして、S901で調べた無線基地局IDの中にプロセス管理機構から通知された無線基地局IDと同一のものがあるかを調べる。
【0097】
(S903)S902において同一の無線基地局IDが存在しない場合は、移動体端末は予測した経路に反して移動したと考えられるので、予測をやり直すために図8の処理を行う。
(S904)一方、同一の無線基地局IDが存在した場合は移動体端末は予測した経路の通りに移動したので、MigrationフラグにFixフラグが立っているかを調べる。
【0098】
(S905)Fixフラグが立っている場合は、プロセスマイグレーション処理部にプロセスマイグレーションの第2段階の処理を開始するように通知する。(S906)Fixフラグが立っていない場合はMigrationフラグにOKフラグを立てておく。
【0099】
(プロセスマイグレーション処理部の動作)図10は、プロセスマイグレーション処理部の処理を示している。
【0100】
(S1001)ユーザ移動予測部からプロセスマイグレーション第1段階の処理開始の通知を受けて、プロセスマイグレーションの第1段階の処理を開始する。
【0101】
(S1002)そして、ユーザ移動予測部からプロセスマイグレーション第2段階の処理開始の通知を受けるまで待機する。
(S1003)ユーザ移動予測部からプロセスマイグレーション第2段階の処理開始の通知を受けてから、プロセスマイグレーション第2段階を開始する。
【0102】
(S1004) プロセスマイグレーション第2段階の処理完了後、ユーザ移動予測部にプロセスマイグレーション処理が完了した旨を伝える。この通知を受けて、ユーザ移動予測部は移動予測マップから当該プロセスの項目を削除する。
【0103】
(S1005)プロセス移動元の計算機から移動したプロセスの要求元である移動体端末にプロセス移動先の計算機を通知する。この通知を受けて、移動体端末はプロセス管理テーブルを更新する。これにより、移動体端末はプロセスマイグレーション後もプロセスと正常に通信を行うことが可能となる。
【0104】
プロセスマイグレーション処理部は、図11に示すような方法でアドレス空間のコピーを生成し移動を行う。これは「PreCopy」と呼ばれる方法に相当するものである。
【0105】
プロセスマイグレーション第1段階は、ユーザ移動予測部からプロセスマイグレーションの第1段階の処理を開始するように通知を受けた時に行う処理である。
【0106】
プロセスマイグレーションの第1段階の処理では、プロセスの実行は継続したままプロセスのアドレス空間の内容(a,b’,c,d’)を全て読み出して、移動先の計算機のプロセスマイグレーション処理部へ送信する。そして、移動先計算機のプロセスマイグレーション処理部においてアドレス空間上に(a,b’,c,d’)というデータが復元される。
【0107】
実行中のプロセスのアドレス空間の内容を読み出す手法の一例としては、例えばprocfs(プロセス・ファイル・システム)を利用する手法が考えられる。
【0108】
プロセスマイグレーション第2段階は、ユーザ移動予測部からプロセスマイグレーションの第2段階の処理を開始するように通知を受けたときに行う処理である。
【0109】
プロセスマイグレーションの第2段階の処理では、プロセスの実行を停止する。そして、第1段階の処理終了後に変更された内容のみを移動先計算機のプロセスマイグレーション処理部に送信する。例えば図11のように第1段階実行開始時に(a,b’,c,d’)だったのが第2段階開始時に(a,b’,c’,d’)になったとすると、第1段階実行中に変更された内容は(c’)であるから、この部分を移動先計算機に送信する。
【0110】
アドレス空間以外のオープン中のファイルの状態やCPUのレジスタ値等のプロセス状態は、プロセスマイグレーション第2段階で移送するものとする。
【0111】
プロセスマイグレーション第1段階では、移送するプロセスの実行は継続したままであるので、プロセスマイグレーションを中止し別の計算機に対してプロセスマイグレーションをやり直しても、実行中のプロセスには何ら影響がない。よって、プロセスマイグレーション第2段階開始前まではプロセスの移動先の変更はいつでも可能である。
【0112】
また、プロセスマイグレーション第2段階で移送するアドレス空間は、プロセスマイグレーション第1段階で移送した後に変更された内容のみとなるため、プロセスマイグレーション第2段階の処理は高速に行える。よって、移動体端末の移動先の予測が正しいということが確定してから、すなわち、移動体端末がFixフラグが立つ程度に予測地点に接近してからプロセスマイグレーション第2段階を開始しても、移動体端末が予測される移動先に到着するタイミングに合わせてプロセスを移動することが可能となる。
【0113】
アドレス空間の差分を求める手法には、第1段階で生成したアドレス空間のコピーと第2段階実行時のアドレス空間とを比較する方法があるが、この方法は広大なアドレス空間を利用するプロセスには適用し難い。
【0114】
他の手法としては、第1段階でコピーを生成した後は、アドレス空間への書き込みを監視しながらプロセスを実行し、アドレス空間への書き込みを検出したらその内容若しくはそのアドレス空間のアドレスを記録しておき、第2段階で差分を送信する際には記録をもとにして差分の情報を生成するという方法が考えられる。
【0115】
以上、本実施形態では移動体端末の移動先を予測してプロセスマイグレーション処理を行うが、プロセスマイグレーション処理を2段階に分けて行うことにより、予測が外れた場合であっても現在のプロセスマイグレーション処理を中止し、再度予測を行ってプロセスマイグレーション処理を行うことで対応することができるので、移動体端末の移動に正確に追従したプロセス移動を実現できる。
【0116】
これにより、移動体端末とプロセスを実行中の計算機がネットワーク的に離れて存在することにより生じるレスポンスの悪化や、通信帯域の浪費という問題を改善することができる。また、プロセスが移動体端末の移動に合わせて流動的に移動するので、特定の計算機負荷への集中も緩和することができる。
【0117】
ところで、本実施形態ではプロセスマイグレーション第1段階の処理は1回だけ実行したが、プロセスマイグレーション第1段階の処理を複数回行ってからプロセスマイグレーション第2段階の処理を行っても良い。
【0118】
つまり、1回目の第1段階の処理ではプロセスが使用しているアドレス空間の内容を送信し、2回目以降の第1段階の処理ではアドレス空間の内容のうち前回の処理時から変更された部分のみを送信するのである。このように第1段階の処理を複数回行うことにより、プロセスマイグレーション第2段階で送信すべきアドレス空間の内容が少なく済み、プロセスマイグレーション第2段階の処理時間を短縮することができる。結果として、プロセスの停止時間を短縮することができるという利点がある。
【0119】
尚、本実施形態では第2段階の処理開始後には移動先の予測が正しいか否かのチェックは行わないものとするが、必要であれば、例えば第2段階の処理開始後に移動先の計算機でチェックを行っても良い。このケースでは、予測が外れていた場合には移動先の計算機で再度予測を行い、第2段階の処理が完了してプロセスの移動が完了してから、改めて移動先計算機においてプロセスマイグレーション処理を行えば良い。
【0120】
あるいは、第2段階の処理開始後も移動元の計算機でチェックを行っても良い。このケースでは、第2段階の処理開始時には移動元計算機では移動対象プロセスを一時停止しておき、予測が外れた時点で第2段階の処理を中止して、移動元計算機では一時停止した移動対象プロセスを再度動かし(移動先計算機には移動対象プロセスを破棄させる)、再度予測を行ってプロセスマイグレーション処理を行う。尚、予測通りに移動した場合には、第2段階の最後に移動元計算機のプロセスを停止させる。
【0121】
また、本実施形態では、プロセスの移動先計算機の決定にあたっては、単に移動体端末の移動先の予測に基づいて行っていたが、これに加えて移動体端末の移動先の予測に基づいて決定したプロセス移動先計算機の負荷状態を調べて所定以上の負荷がかかっている場合は当該計算機からネットワーク的に近隣の他の計算機にプロセスを移動させるようにしても良い。このようにすれば、負荷の集中をより緩和できるという効果が期待できる。
【0122】
(第2の実施形態)以下、図面を参照して本発明の第2の実施形態について説明する。
【0123】
本実施形態のシステム構成は第1の実施形態のものと同様であり、図1、図2で表される。構成の大部分は同じなので異なる点を中心に説明する。
【0124】
(プロセス管理機構)本実施形態のプロセス管理機構は、移動体端末からの要求を無線基地局を経由して受け取り、プロセスの生成・実行やプロセスへのデータ転送を行う。さらに、プロセスからの出力結果を受け取って移動体端末へ転送する。また、移動体端末からの要求を受ける毎に、ユーザ移動予測部に移動体端末のIPアドレスと移動体端末が使用している無線基地局のIDとを通知する。
【0125】
また、プロセス管理機構は図12に示すような移動体端末管理テーブルを持っている。この移動体端末管理テーブルを用いて、移動体端末のIPアドレスと、移動体端末が計算機上で動作するプロセスと通信を行う際に用いる計算機側の通信ポート番号と、プロセスIDとを管理する。プロセス管理機構は移動体端末からの要求に応じてプロセスを生成する時に、これらの情報を移動体端末管理テーブルに登録する。
【0126】
プロセスマイグレーション処理を実行する際には、プロセス管理機構は移動体端末管理テーブルを参照して、移動させたプロセスの実行を要求した移動体端末へ、自分(移動元計算機)のIPアドレス及び移動元計算機側の通信ポート番号と、移動先計算機のIPアドレス及び移動先計算機側の通信ポート番号とを通知する。
【0127】
(ユーザ移動予測部)ユーザ移動予測部は、プロセス管理機構から通知される情報と第1の実施形態でも説明したシステム構成マップとを元にユーザの移動経路を予測して、プロセス管理機構を介してプロセスマイグレーション処理部にプロセスマイグレーションの第1段階の処理を開始するよう通知する。
【0128】
また、予測が正しいことが確定したら、プロセス管理機構を介してプロセスマイグレーション処理部にプロセスマイグレーションの第2段階の処理を開始するよう通知する。一方、予測が誤っていた場合は、予測をやり直してから、プロセス管理機構を介してプロセスマイグレーション処理部に対して、新たな予測に基づいてプロセスマイグレーションの第1段階の処理を開始するように通知する。
【0129】
(プロセスマイグレーション処理部)プロセスマイグレーション処理部は、ユーザ移動予測部からの指示により、プロセスマイグレーションの第1段階及び第2段階の処理を行う。
【0130】
(無線基地局)無線基地局は移動体端末の位置をその移動体端末が通信中の計算機に通知する。そのために、無線基地局は自分に接続中の移動体端末から計算機への要求を転送する際に、転送するデータから宛先の計算機のIPアドレス及び通信ポート番号を読み出し、これに自分のIDを追加して移動体端末情報を生成して、これを宛先の計算機に通知する。
【0131】
尚、無線基地局は生成した移動体端末情報とその通知先とを記憶しておき、以後同一計算機に記憶した内容と同一の移動体端末情報を送信しないようにして通信量を削減することも可能である。
【0132】
(移動体端末)本実施形態の移動体端末は図13に示すようなプロセス管理テーブルを持つ。このプロセス管理テーブルを用いて、通信元ポート番号、計算機IPアドレス及びポート番号、新計算機IPアドレス及び新宛先ポート番号、通信の種類、記述子を管理する。
【0133】
通信元ポート番号は、移動体端末が計算機で実行中のプロセスとの通信に用いている移動体端末側の通信ポート番号である。また、計算機IPアドレス及びポート番号は、プロセスを実行中の計算機のIPアドレス及び移動体端末が計算機で実行中のプロセスとの通信に用いている計算機側の通信ポート番号である。
【0134】
また、新計算機IPアドレス及び新宛先ポート番号は、プロセスマイグレーション処理によりプロセスが移動した場合の移動先計算機のIPアドレス及び移動先計算機側の通信ポート番号である。通信の種類は、コネクション型通信か非コネクション型通信かといった情報であり、本実施例ではコネクション型通信の例としてTCPを扱い、非コネクション型通信の例としてUDPを扱う。記述子は、TCPの通信路を表す記述子を登録しておき、UDPの場合はNULL値を登録しておく。
【0135】
(プロセスの起動)以下に、図1のA地点の移動体端末が計算機Aにサービスを要求し、計算機Aがこれに応じてプロセスを開始する場合の処理の流れの概要を示す。ここではTCPとUDPに共通な説明を行う。
【0136】
(1)A地点の移動体端末は、無線インタフェースを用いて無線基地局Aと接続する。
(2)移動体端末は、移動体端末から計算機Aにサービスを要求する。
(3)無線基地局Aは(2)の要求を受け取り計算機Aに転送する。
【0137】
(4)計算機Aのプロセス管理機構は、要求されたサービスを実行するプロセスを生成し、システム内で一意のプロセスIDを付ける。さらに、このプロセスと移動体端末間の通信に使用する通信ポートを生成する。そして、移動体端末管理テーブルに、移動体端末IPアドレスと通信ポート番号とプロセスIDを登録する。
(5)計算機Aのプロセス管理機構は、(4)で作成した通信ポートの番号と計算機AのIPアドレスの組をサービスを要求した移動体端末に送信する。
【0138】
(移動体端末とプロセスとの間の通信)次に、図1のA地点の移動体端末が計算機Aにサービスを要求してプロセスを開始した後、このプロセスとの通信をUDPで行う場合の処理の流れについて説明する。
【0139】
(1)A地点の移動体端末は、無線インタフェースを用いて無線基地局Aと接続する。
(2)ユーザは移動体端末に対して、プロセス開始時に計算機Aから送信されたポート番号と計算機AのIPアドレスを宛先に指定して、あるデータ(以下、データX)を宛先である計算機Aに送信するように要求する。
【0140】
(3)移動体端末は(2)の要求を受けると、プロセス管理テーブルに登録された情報の中から、この要求の宛先及び通信の種類に該当する情報を検索する。無ければ新規に登録しておく。
(4)移動体端末はプロセス管理テーブルを参照して、必要な場合は宛先の書き換えを行ってからデータXを送信する。具体的には、新宛先ポート番号と新計算機IPアドレスの項目に値が登録されている場合は、(2)で指定された宛先を新ポート番号及び新計算機IPアドレスに書き換える。新宛先ポート番号と新計算機IPアドレスの項目が未登録の場合は、宛先はそのままにする。
【0141】
(5)無線基地局AはデータXを受けると、宛先の計算機IPアドレスとポート番号、そして、送信元の移動端末のIPアドレスとポート番号とを読み出してから、宛先の計算機にデータXを転送する。
(6)無線基地局Aは(5)で読み出したIPアドレス等の情報に、自分の無線基地局IDの情報を付加して移動体端末情報を生成し、データXの宛先の計算機に通知する。
【0142】
(7)宛先の計算機のプロセス管理機構は、転送されたデータXを受け取り、このデータXを該当するプロセスに転送する。
(8)宛先の計算機のプロセス管理機構は(6)で生成された移動体端末情報を受け取り、ユーザ移動予測部に通知する。
(9)ユーザ移動予測部は図6の処理を行う。
【0143】
ここでは、(4)のように宛先のIPアドレス及び通信ポートの書き換えが発生する点が特徴となる。これにより、ユーザはプロセスの移動を意識しなくても良くなる。
【0144】
サービスとの通信がTCPの場合、移動体端末は、ユーザが計算機Aで実行中のプロセスとコネクションを確立する際に、コネクション確立要求のデータから通信元のポート番号、宛先計算機のIPアドレス及びポート番号、通信の種類(この場合はTCP)を読み出す。そして、コネクション確立してから、その通信を示す記述子と共に、上記の読み出した情報をプロセス管理テーブルに登録する。
【0145】
尚、TCPによる通信の場合は、UDPの時のように宛先IPアドレス及び通信ポートの書き換え処理を行う必要がないので、(4)の処理を行わずにそのままデータXを送信する。
【0146】
次に、図1のA地点にいた移動体端末のユーザが、計算機Aでサービスを要求してプロセス開始した後に、サービスを継続したままB地点に移動した場合に、このプロセスとの通信をUDPで行う場合の処理の流れについて説明する。
【0147】
(1)B地点に移動した移動体端末は、無線インタフェースを用いて無線基地局Bと接続される。
(2)〜(4)は、上記の「図1のA地点の移動端端末が計算機Aにサービスを要求してプロセスを開始した後、このプロセスとの通信をUDPで行う場合」の(2)〜(4)と同じ処理を行う。すなわち、移動体端末において、プロセス管理テーブルを参照して必要ならば宛先の書き換えを行う。
【0148】
(5)無線基地局BはデータXを受けると、宛先の計算機のIPアドレスとポート番号、送信元移動体端末のIPアドレス及びポート番号を読み出した後、宛先の計算機にデータXを転送する。
(6)無線基地局Bは(5)で読み出した情報と自分の無線基地局IDから移動体端末情報を生成して、宛先の計算機に通知する。
(7)〜(9)は、上記の「図1のA地点の移動端端末が計算機Aにサービスを要求してプロセスを開始した後、このプロセスとの通信をUDPで行う場合」の(7)〜(9)と同じ処理を行う。
【0149】
尚、TCPで通信を行う場合、上述の「図1のA地点の移動端端末が計算機Aにサービスを要求してプロセスを開始した後、このプロセスとの通信をUDPで行う場合」と同様で、移動体端末は、コネクション確立の際にIPアドレスやポート番号の情報を取得し、コネクション確立後に記述子と共にプロセス管理テーブルに登録する。また、移動体端末は(4)の処理を行わない。
【0150】
(ユーザ移動予測部の動作)ユーザ移動予測部は図14に示すような移動予測マップを持つ。この移動予測マップには、第1の実施形態ではプロセスIDを登録していたが、本実施形態ではその代わりに移動体端末のIPアドレスを登録するようにした。
【0151】
ユーザ移動予測部の動作は第1の実施形態と同様で図6、8、9で表される。ただし、図6でプロセスIDを扱っている部分は移動体端末のIPアドレスを扱う点が異なる。
【0152】
(プロセスマイグレーション処理部の動作)
図15はプロセスマイグレーション処理部の動作を示している。詳細は以下のようになる。
【0153】
(S1501)ユーザ移動予測部からプロセスマイグレーション第1段階の処理開始の通知を受けて、プロセスマイグレーションの第1段階の処理を開始する。
(S1502)そして、ユーザ移動予測部からプロセスマイグレーション第2段階の処理開始の通知を受けるまで待機する。
(S1503)ユーザ移動予測部からプロセスマイグレーション第2段階の処理開始の通知を受けてから、プロセスマイグレーション第2段階を開始する。
【0154】
(S1504) プロセスマイグレーション第2段階の処理完了後、ユーザ移動予測部にプロセスマイグレーション処理が完了した旨を伝える。この通知を受けて、ユーザ移動予測部は移動予測マップから当該移動体端末の項目を削除する。
(S1505)プロセス移動元の計算機から、移動したプロセスの要求元である移動体端末に、プロセス移動先の計算機のIPアドレス及びポート番号と、プロセス移動元の計算機のIPアドレス及びポート番号とを通知する。
【0155】
(プロセスマイグレーション処理完了後の移動体端末の動作)移動体端末は、プロセス移動元計算機からS1505の通知を受けてプロセス管理テーブルの更新を行う。
【0156】
まず、移動体端末はプロセス管理テーブルを検索して、「計算機IPアドレスとポート番号」の項目に移動元計算機のIPアドレス及びポート番号が登録されているエントリー(旧エントリー)を見つける。
【0157】
移動したプロセスとの間の通信がUDPで行われていた場合は、旧エントリーの「新計算機IPアドレスと新宛先ポート番号」の項目に移動先の計算機のIPアドレス及びポート番号を登録する。UDPの場合は以上である。
【0158】
移動したプロセスとの間の通信がTCPで行われていた場合は、旧エントリーから通信元ポート番号と記述子の情報を抽出しておくとともに、「計算機IPアドレスとポート番号」の項目にプロセス移動先のIPアドレス及びポート番号が登録され、「通信元ポート番号」の項目に旧エントリーから抽出した通信元ポート番号が登録され、「記述子」の項目に旧エントリーから抽出した記述子が登録された、新たなエントリー(新エントリー)を生成する。
【0159】
そして、移動体端末は、移動元計算機との間で確立しているTCPコネクションを切断するとともに、プロセス管理テーブルから旧エントリーを削除する。さらに、通信先に新計算機IPアドレスと新ポート番号を指定し、通信元に自分(移動体端末)のIPアドレスと旧エントリーから抽出しておいた通信元ポート番号をそれぞれ指定して、新たなコネクションを確立する。
【0160】
以上の結果、プロセスマイグレーション後のプロセスへの通信は、ユーザが意識することなく新たなコネクションを用いて行うことが可能になる。
【0161】
(第3の実施形態)以下、本発明第3の実施形態について説明する。本実施形態は第1、第2の実施形態におけるプロセスマイグレーション処理部の動作を変更したものであるので、この部分を中心に説明をする。
【0162】
これまでの実施形態ではプロセスマイグレーション処理は第1段階と第2段階とがあり、第1段階ではアドレス空間の内容をコピーして転送し、第2段階では第1段階実行開始後に生じた差分を転送するという方法であった。
【0163】
本実施形態では、第1段階ではこれまでの実施形態と同様にアドレス空間の内容をコピーして移動先計算機へ転送する。しかし、第2段階ではアドレス空間の内容の差分を求める代わりに、移動元計算機において第1段階実行開始後の移動対象プロセスの動作とその結果を記録して実行記録を生成する。そして、第2段階ではこの実行記録を移動先計算機へ転送して、移動先計算機のプロセスマイグレーション処理部において実行記録を元に移動対象プロセスの動作を再生することで、アドレス空間の内容の同期をとる。
【0164】
本実施形態では各計算機のプロセスマイグレーション実現部が実行記録の生成、再生処理を行うものとする。
【0165】
このように実行記録を用いるので、アドレス空間の広範囲に変更が生じるような場合(例えば、圧縮データの解凍や符号化データの復元等)であっても、アドレス空間の差分を用いる場合に比べて少ない情報でプロセスの同期をとることができる。
【0166】
【発明の効果】
以上説明したように本発明によれば、移動体端末の移動に正確に追従したプロセス移動を実現することができるため、移動体端末とプロセスを実行する計算機とがネットワーク的に離れて存在することにより生じる、移動体端末へのサービス遅延を改善することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態に係る通信システムの概略構成を説明する図。
【図2】 図1において、通信システムのサーバシステムの構成を詳細にした図。
【図3】 ユーザ移動予測部が保持するシステム構成マップの構成を説明する図。
【図4】 移動体端末が管理するプロセス管理テーブルの構成を説明する図。
【図5】 本発明の第1の実施形態に係る通信システムの変形例の構成を説明する図。
【図6】 ユーザ移動予測部の処理の流れを説明する図。
【図7】 ユーザ移動予測部が管理する移動予測マップと予測経路マップの構成を説明する図。
【図8】 ユーザ移動予測部において予測経路マップを生成する処理の流れを説明する図。
【図9】 ユーザ移動予測部において予測経路マップの通りに移動体端末が移動しているかを確認する処理の流れを説明する図。
【図10】 プロセスマイグレーション処理部の処理の流れを説明する図。
【図11】 プロセスマイグレーション処理部におけるアドレス空間の内容の移動方法について説明する図。
【図12】 本発明第2の実施形態における移動体端末管理テーブルの構成を説明する図。
【図13】 本発明第2の実施形態におけるプロセス管理テーブルの構成を説明する図。
【図14】 本発明第2の実施形態における移動予測マップの構成を説明する図。
【図15】 本発明第2の実施形態におけるプロセスマイグレーション処理部の処理の流れを説明する図。
【符号の説明】
1 ネットワーク
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a process migration method employed in a computer system that provides a service to a user of a mobile terminal.
[0002]
[Prior art]
With the spread of wireless technologies such as wireless LAN and Bluetooth (R), in addition to using fixed computers in offices and homes, access to the network using mobile terminals such as laptop computers and PDAs on the go Became easier.
[0003]
A user of a mobile terminal wants to be able to receive services obtained using an office or home computer in the same manner. However, since the processing capability of mobile terminals is poor compared to the processing capability of office and home computers, the services that can be provided are limited. Therefore, a method of receiving a service using resources (CPU processing capacity, memory, hard disk, etc.) possessed by a computer server existing on the network is taken.
[0004]
Since the mobile terminal communicates with the computer server via the base station and receives a service, the base station currently used by the mobile terminal is close to the computer server, that is, the base station and the computer server If there are fewer devices that relay and forward packets such as other computers and communication control devices (routers, hubs, bridges) that exist between the servers, the response from the computer server will be improved and resources will be saved (especially communication bandwidth will be saved). ), Desirable in terms of load distribution.
[0005]
However, the mobile terminal communicates with the computer server while appropriately switching the base station used for communication as the user moves. Therefore, even if the base station and the computer server are close to each other in a network at a certain time, the base station and the computer server are networked at another time when the mobile terminal has moved and the base station used for communication has changed. It often happens that it becomes far away.
[0006]
If the base station and the computer server are distant from each other in the network, the response from the computer server will deteriorate, or the communication bandwidth that can be used by other computers, communication control devices, etc. existing between the computer server and the base station will be consumed. Or a load concentrates on a specific computer server.
[0007]
In order to solve the above problem, a process operating on a computer server to realize a service may be moved from a base station used for communication by a mobile terminal to another computer server close to the network.
[0008]
There is a technique called “process migration” as a technique for moving a process between computers. Process migration is a process that replicates all data including code in the address space used by the process, the CPU register value, and the process execution status such as file information that the process has opened. The process is transferred to a destination computer, and a process having the same state as the above process state is generated and executed in the process destination computer.
[0009]
A technique for moving a process being executed to a place where a mobile terminal has moved is disclosed in Patent Document 1 and Non-Patent Document 1, for example.
[0010]
According to the technique disclosed in Patent Document 1, the movement of the process is started after confirming that the mobile terminal has moved.
[0011]
However, since the process movement requires a certain amount of time, when the process movement is completed, the mobile terminal may have already moved to another location.
[0012]
In this case, the location of the service providing process and the mobile terminal receiving the service remain separated from each other. Therefore, such as the delay in providing the service, the consumption of the communication band, and the load bias on the specific computer The problem cannot be solved sufficiently.
[0013]
The technique disclosed in Non-Patent Document 1 is called “PreCopy method” in process migration.
[0014]
In the PreCopy method, the entire contents of the address space are transferred in advance with the process being executed, the process is finally stopped, and the contents of the address space that have been changed after the previous transfer and other processes It is a technology for transferring state.
[0015]
However, in the PreCopy method, it is necessary to determine a computer that transfers a process before the start of process migration, and a transfer destination computer such as a response to a case where a mobile terminal moves unexpectedly during execution of process migration. It is not considered to change flexibly.
[0016]
[Patent Document 1]
Japanese Patent Laid-Open No. 9-107577
[0017]
[Non-Patent Document 1]
M.M. Theimer, K .; Lantz, D.A. Cheriton. “Preemptable and remote execution facilities for the V-system.” In 10th ACM Symposium on Operating Systems Principles, pages 2-12, 1985
[0018]
[Problems to be solved by the invention]
In order to solve the problems arising from the distance between the mobile terminal and the process of providing services to the mobile terminal moving as described above, There is a way to move the process to a position.
[0019]
However, if the process is moved after confirming that the mobile terminal has moved, there is a problem that the mobile terminal moves to another location during the movement of the process.
[0020]
The present invention has been made in view of the above points, and realizes process migration corresponding to movement of a mobile terminal accurately and flexibly, so that the mobile terminal and the computer executing the process are separated from each other in a network. The purpose is to improve the service delay to the mobile terminal caused by being present.
[0021]
[Means for Solving the Problems]
In order to solve the above problems, a process migration method of the present invention includes a plurality of computers commonly connected via a network, a plurality of radio base stations connected to the network, and the radio base station via the radio base station. In a communication system having a mobile terminal connectable to a network, one of the plurality of computers executes a process that the mobile terminal causes a first computer that is one of the plurality of computers to execute. A process migration method for moving to another computer, wherein the first computer predicts a destination of the mobile terminal and includes the predicted destination in a wireless communication range. To another computer that is closer to the network distance from the destination radio base station than the network distance from the first computer to the first computer. Moving the processes running on the first computer.
[0022]
The process migration method of the present invention includes a plurality of radio base stations connected via a network, a plurality of computers connected via the network, and a mobile body connectable to the network via the radio base station. In a communication system having a terminal, a process that the mobile terminal causes a first computer that is one of the plurality of computers to execute the process is executed by another computer that is one of the plurality of computers. A process migration method for moving, a mobile terminal destination prediction step for predicting a destination of the mobile terminal, and a destination predicted by the mobile terminal destination prediction step as a wireless communication range The destination wireless base is more than the network distance from the destination wireless base station included therein to the first computer executing the process. A process movement destination search step for searching for the presence of a second computer that is close to the network from the station, and a second computer in the process movement destination search step when the first computer exists. A process movement step of moving an executing process to the second computer, and a determination of whether or not the mobile terminal is moving toward the destination predicted in the mobile terminal destination prediction step And when the mobile terminal is determined to have moved to a location different from the destination predicted in the mobile terminal destination prediction step in the determination step and the determination step, the process of the process movement step is performed. And a cancel step for canceling.
[0023]
Further, the process moving step is executed by generating a copy of the movement target process in the first computer, generating an execution record of the movement target process in the first computer, and executing from the first computer to the second computer. The first step of restoring the migration target process based on the copy in the second computer, and stopping the operation of the migration target process being executed in the first computer, The execution record generated from the start of the execution of the first procedure until the stop of the migration target process is transmitted from the first computer to the second computer, and the second computer based on the execution record A second stage procedure for reproducing the operation of the process to be moved.
[0024]
In addition, in the mobile terminal destination prediction step, a prediction confirmation destination is predicted in addition to the prediction of the destination, and in the process movement step, it is determined that the mobile terminal has reached the prediction confirmation destination in the determination step. Then, the execution of the procedure of the second stage may be started.
[0025]
In the stop step, when it is determined in the determination step that the mobile terminal has moved to a location different from the destination predicted in the mobile terminal destination prediction step, the process movement step If the state is after the start of the execution of the first procedure and before the start of the execution of the second procedure, the process of the process movement step is stopped and the mobile terminal movement destination prediction step is executed again. It may be characterized by.
[0026]
In the stop step, when it is determined in the determination step that the mobile terminal is moving to a location different from the prediction, after the start of execution of the first procedure in the process movement step, If the process movement step is in a state before the start of the execution of the second procedure, the process movement step is stopped, the movement destination prediction step is executed again, and the second process movement step is executed. If the state is after the execution of the procedure, the process moving step may be completed.
[0027]
In the stop step, when it is determined in the determination step that the mobile terminal is moving to a location different from the prediction, after the start of execution of the first procedure in the process movement step, If the process movement step is in a state before the start of the execution of the second procedure, the process movement step is stopped, the movement destination prediction step is executed again, and the second process movement step is executed. If it is in the state after the start of the execution of the procedure, the process movement process may be stopped, the movement target process may be operated again in the first computer, and the movement destination prediction step may be executed again. .
[0028]
The communication system of the present invention includes a plurality of computers commonly connected via a network and a plurality of radio base stations connected to the network, and each of the plurality of computers includes the radio base station. A destination prediction unit that predicts a destination of a mobile terminal connected to the network via the network, and a destination wireless base station that includes the destination predicted by the destination prediction unit in a wireless communication range. A process migration processing unit configured to move a process being executed to another computer having a network distance closer to the destination wireless base station than a network distance to the middle computer.
[0029]
The computer according to the present invention includes a communication unit that communicates with another computer via a network, and a destination that predicts a destination of a mobile terminal connected to the network via a radio base station connected to the network. More than the network-like distance from the destination wireless base station that includes the destination predicted by the destination prediction unit in the wireless communication range to the computer that is currently executing the process, from the destination wireless base station A process migration processing unit for moving a process being executed to another computer having a short network distance;
[0030]
The computer according to the present invention includes a communication unit that communicates with another computer via a network, and a location monitoring unit that monitors the location of a mobile terminal connected to the network via a radio base station connected to the network. A destination prediction unit that predicts a destination of the mobile terminal, and a network-like distance from the destination wireless base station that includes the destination predicted by the destination prediction unit within a wireless communicable range to the local computer Rather than a process destination search unit that searches for a first computer that is closer to the network from the destination radio base station, and a copy of the process that is being executed is generated, and the process destination search unit searches for this. The process transmitter that transmits to the first computer and the current position of the mobile terminal are acquired from the location monitoring means, and the mobile terminal is different from the prediction of the destination prediction unit If it is determined to be moving towards the location includes a controller for stopping the processing of the process transmitter unit.
[0031]
The computer of the present invention performs a process in response to a request from a mobile terminal connected to the network via a communication means that communicates with another computer via the network and a radio base station connected to the network. A process execution means for executing, a location monitoring means for monitoring the location of the mobile terminal, a destination prediction unit for predicting a destination and a prediction confirmation destination of the mobile terminal, and a movement predicted by the destination prediction unit Process destination search for searching for a first computer that is closer to the network distance from the destination wireless base station than the network distance from the destination wireless base station to the local computer including the destination within the wireless communication range A first process migration transmission processing unit for generating a copy of the running process and transmitting it to the first computer, and the location monitoring means. A second process migration transmission processing unit that stops the process being executed after it is determined that the mobile terminal has reached the prediction confirmation destination, and transmits a difference from the copy to the first computer; If the current position of the mobile terminal is acquired from the monitoring means and it is determined that the mobile terminal is moving toward a position different from the prediction, the mobile terminal predicts the mobile destination again. In addition, when the process destination search unit is made to search for the destination computer again, the first process migration transmission processing unit is made to perform the process again, and the mobile terminal has reached the prediction confirmation destination Includes a control unit that causes the second process migration transmission processing unit to perform processing.
[0032]
DETAILED DESCRIPTION OF THE INVENTION
(First Embodiment) The first embodiment of the present invention will be described below with reference to the drawings. 1 and 2 are block diagrams showing the configuration of a communication system according to the first embodiment of the present invention.
[0033]
FIG. 1 shows a mobile terminal used by a user, radio base stations A, B, C, D, E, and F that perform radio communication with the mobile terminal, and a computer that executes a process in response to a request from the mobile terminal A, B, C, D, E, F, a network connecting each wireless base station and each computer, and communication control devices A, B, C, D, E for transferring communication data on the network to appropriate destinations , F.
[0034]
Computers A, B, C, D, E, and F are so-called PCs (personal computers) and WSs (workstations), and are computers having a CPU (central processing unit), memory, HDD (hard disk drive), and the like. In other words, they are commonly connected via a network and can communicate with each other.
[0035]
The wireless base stations A, B, C, D, E, and F are like wireless LAN access points, for example. This may be changed as appropriate according to the scale of the communication system, and in some cases, a base station such as a mobile phone may be used.
[0036]
Examples of the communication control devices A, B, C, D, E, and F include a switching hub, a router, or a computer having these functions. Further, in the drawing, only one mobile terminal is shown for the sake of simplicity of explanation, but a plurality of mobile terminals may actually exist.
[0037]
Here, computer A, wireless base station A, communication control device A, computer B, wireless base station B, communication control device B, computer C, wireless base station C, communication control device C, computer D, wireless base station D, The communication control device D, the computer E, the radio base station E, the communication control device E, the computer F, the radio base station F, and the communication control device F are all present at points A, B, C, D, E, and F, respectively.
[0038]
For example, when the mobile terminal at the point A executes the process with the computer A on the network, it is as follows.
[0039]
The mobile terminal at point A is connected to the nearest radio base station A. Then, the mobile terminal accesses the computer A on the network via the radio base station A and the communication control device A and requests a service. Computer A starts executing the process in response to the request. In this way, the mobile terminal can use the computer resources on the network and receive services equivalent to those used when using office or home computers.
[0040]
In FIG. 1, when a mobile terminal communicating with the computer A at point A moves to point D, the radio base station D-> communication control device D-> communication control device C-> communication control device B-> communication Communication is performed through a route of control device A-> computer A.
[0041]
However, if the process is executed by the computer A as it is and services are provided to the mobile terminal, network resources are wasted because communication is performed via a plurality of communication control devices (including a computer depending on the system configuration). In addition, when there is a computer installed by a malicious person on the network in the middle, there is a problem in terms of security, such as intercepting communication contents between the mobile terminal and computer A or tampering with communication data. is there.
[0042]
Therefore, in the communication system according to the present embodiment, the computer A that provides a service to the mobile terminal predicts the destination of the mobile terminal, and for example, predicts that the mobile terminal is moving toward the point D. Is to start moving the process being executed on the computer A to the computer D before the mobile terminal reaches the point D, thereby saving network resources and improving the response of the process.
[0043]
In the communication system according to the present embodiment, the wireless base station and the computer have a one-to-one correspondence. However, the correspondence may be changed as appropriate depending on the situation. For example, if the number of services required by a mobile terminal is large, install multiple computers in one radio base station and distribute the load of the computers (priority over the round robin method and low load computers) When a service is provided to mobile terminals distributed over a wide range compared to the communication range of the radio base station, the output is output in a building, for example. In the case of providing a service by installing a large number of weak radio base stations, it may be possible to install a plurality of radio base stations corresponding to one computer.
[0044]
(Outline of Process Migration Process) The process migration process in the communication system of this embodiment is roughly divided into two stages. Here, the outline will be described by taking as an example the case where the process being executed on the computer A is moved to the computer B which is the movement prediction destination.
[0045]
In the first stage, the computer A generates a copy of the process while executing the process to be moved. That is, all data in the address space used by the process is read and a copy thereof is generated. Then, computer A transmits a copy of the address space data to computer B, which is the movement prediction destination. The computer B receives this and restores the process in the address space of the computer B.
[0046]
In the second stage, the execution of the migration target process is stopped in the computer A, the data in the address space that has been changed since the end of the first stage, the value of the CPU register, and the open file Information or the like is transmitted to computer B. The computer B receives these and reproduces the state at the time of the process stop.
[0047]
Since the first stage is performed with the migration target process being executed, the process migration process is performed when, for example, after the completion of the first stage, the prediction is lost as it is found that the movement prediction destination is not the computer B but the computer D. Canceling and starting over does not affect the process to be moved. That is, if the first stage is in the state at the end, the process destination can be changed at any time.
[0048]
In the second stage, only the contents that have changed since the end of the first stage are transmitted among the data in the address space, so that the amount of data is small compared to the first stage, and high-speed processing is possible. As a result, even if the second stage of processing is performed in accordance with the timing at which the mobile terminal moves, the process can be completed before the mobile terminal arrives, or the process can be completed without delay after the mobile terminal arrives. It can also be made. That is, the process can be moved at an arbitrary timing.
[0049]
(Details of communication system)
FIG. 2 is a diagram in which portions A and B in FIG. 1 are extracted for detailed description of the communication system of the present embodiment.
[0050]
As in FIG. 1, the computers A and B, the communication control devices A and B, and the radio base stations A and B are connected by a network. Then, the mobile terminal communicates with the computers A and B using the radio base station A or B nearest from the current location and receives a service.
[0051]
The radio base stations A and B add their own identification information to the communication data from the mobile terminals connected to the radio base stations A and B and transfer them to the target computer. For example, if the mobile terminal is communicating with the computer A via the radio base station B, the radio base station B uses “the radio base station B for communication data transmitted from the mobile terminal to the computer A. Is added to the computer A and transferred to the computer A. This information is used by computer A to grasp the current location of the mobile terminal.
[0052]
The communication control devices A and B in the middle of the network transfer the communication data toward an appropriate destination.
[0053]
The computers A and B have process management mechanisms A and B, user movement prediction units A and B, and process migration processing units A and B, respectively. In the present embodiment, it is assumed that these are implemented as one function of an OS (operating system) kernel that runs on the computers A and B. These may be implemented as one process.
[0054]
The process management mechanism receives a request from the mobile terminal via the radio base station. Then, process generation / execution and data transfer to the process are performed, and an output result of the process is received and transferred to the mobile terminal via the radio base station. Also, identification information of the radio base station used by the mobile terminal is extracted and notified to the user movement prediction unit.
[0055]
As shown in FIG. 3, the user movement prediction unit is configured to show the positions of all the radio base stations in the system (coordinates with a certain point as a reference point) and the nearest computer in terms of network from each radio base station. Have a map. Using this system configuration map information and the location information of the mobile terminal estimated from the identification information of the radio base station given from the above-mentioned process management mechanism, the movement path of the mobile terminal is predicted, and a process is performed based on the prediction. The migration processing unit is notified to start the process of the first stage of process migration.
[0056]
After the start of the first stage of processing, it is verified whether the movement route is predicted correctly. When it is determined that the prediction is correct, the process migration processing unit is notified to perform the second stage process of the process migration. On the other hand, if the prediction is incorrect, the movement route is predicted again.
[0057]
The process migration processing unit starts the process of the first stage and the second stage of the process migration according to an instruction from the user movement prediction unit. Further, the time required for the process migration process is estimated in response to a request from the user movement prediction unit.
[0058]
In the first stage process when a process moves from computer A to computer B, the process migration processing unit A transmits address space data to the process migration processing unit B. Then, the process migration processing unit B restores the process to the address space of the computer B based on the received data.
[0059]
The same applies to the processing in the second stage, and the process migration processing unit B reflects the information transmitted by the process migration processing unit A in the process on the computer B.
[0060]
The time required for the process migration process is estimated using, for example, the amount of information (all data in the process address space as described above) transmitted during the first stage of process migration and the communication speed to the destination computer.
The mobile terminal has a process management table as shown in FIG. 4 in order to manage which process of which computer corresponds to the requested service.
[0061]
In the process ID item, an identification ID of a process executed by a computer on the network in response to a request from a mobile terminal is registered, and in the computer ID item, an identification ID of a computer executing a corresponding process is registered. be registered. An IP address fixed to the computer may be used as the computer identification ID.
[0062]
In the present embodiment, the server side system of the communication system is configured to include computers A, B,..., Radio base stations A, B, .. and communication control devices A, B,. However, as shown in FIG. 5, instead of the wireless base stations A, B,..., The wireless ports A, B,. In this case, the mobile terminal communicates with the computers A, B... Via the wireless port unit.
[0063]
(Process Activation) In the present embodiment, the flow of processing in the case where the mobile terminal at the point A in FIG. 1 requests a service from the computer A and the computer A starts a process in response thereto will be shown.
[0064]
(1) A mobile terminal at point A is connected to a radio base station A using a radio interface.
(2) The mobile terminal requests a service from the mobile terminal to the computer A.
(3) The radio base station A adds an ID unique to the radio base station A to the service request from the mobile terminal to the computer A, and transfers it to the process management mechanism of the computer A.
[0065]
(4) The process management mechanism of computer A creates a process for executing the requested service, and attaches a process ID unique within the system.
(5) The process management mechanism of computer A notifies the user movement prediction unit of the base station ID and process ID pair.
(6) The user movement prediction unit prepares for the movement of the mobile terminal by performing the process of FIG.
[0066]
(7) The process management mechanism of computer A starts execution of the process and transmits the process ID to the mobile terminal that requested the service.
(8) The mobile terminal registers the identification ID of the computer A and the process ID transmitted from the computer A together in the process management table.
[0067]
In the above process (4), when the process ID set by the process management mechanism is set to a value (unique value in the system) such as “ID of mobile terminal” + N (positive integer value), for example, The mobile terminal ID that is the request source of the process can be easily determined from the process ID.
[0068]
(Outline of Processing of Entire Communication System Accompanying Movement of Mobile Terminal) Next, in the present embodiment, after the mobile terminal at the point A in FIG. The flow of processing when moving to a point is shown.
[0069]
(1) The mobile terminal that has moved to the point B starts connection with the radio base station B.
(2) The mobile terminal refers to the process management table, acquires the ID of the computer (in this case, computer A) that is executing the process providing the service, and wirelessly sends a communication request to the process with the same computer as the destination. Send to base station B.
(3) The radio base station B adds the ID unique to the radio base station B to the request from the mobile terminal and transfers the request to the computer A.
[0070]
(4) The computer A transfers the received data to the process management mechanism A.
(5) The process management mechanism A passes the data received from the mobile terminal to the process providing the service, and notifies the user movement prediction unit of the set of the ID of the radio base station and the process ID.
(6) The user movement prediction unit performs a process corresponding to the movement of the mobile terminal by performing the process of FIG.
[0071]
(Outline of Operation of User Movement Prediction Unit) Next, an outline of operation of the user movement prediction unit will be described.
[0072]
Usually, since the location of the user and the location of the mobile terminal are the same, the prediction result of the destination of the user and the prediction result of the destination of the mobile terminal are the same. Therefore, the user movement prediction unit of the present embodiment performs movement destination prediction of the mobile terminal.
[0073]
The user movement prediction unit has a movement prediction map as shown in FIG.
[0074]
In the process ID item, the identification ID of the process providing the service is registered. In the initial point item, the ID of the radio base station used by the mobile terminal when the mobile terminal requested the service is registered. In the item of Time, the time when the mobile terminal that requested the service is registered in the movement prediction map is registered, and this is used when the user movement prediction unit calculates the movement speed of the mobile terminal later.
[0075]
In addition, in the item of the pointer to the predicted route map, when it is notified that the mobile terminal that requested the service has connected to another computer at the destination, a new predicted route map (to be described later) is created and stored in the memory. Register the address.
[0076]
In the predicted route map, the computer ID of the computer nearest to the network from the wireless base station on the route predicted by the user movement prediction unit, the migration flag corresponding to each computer, and the movement notification are sent to the user movement prediction unit. The arrival time of the mobile terminal is registered.
[0077]
There are three types of migration flags: Destination, Fix, and OK. These flags are not exclusive. For example, an OK flag and a Fix flag may be set at the same time. Hereinafter, the meaning of each flag will be described.
[0078]
(1) The Destination flag indicates that the computer closest to the network from the wireless base station is the destination of the process.
(2) The Fix flag is a radio base station that becomes a point that “when the mobile terminal reaches the place where the radio base station is used, the destination prediction is determined to be correct and the second stage of process migration is started” Indicates that
(3) The OK flag indicates that the mobile terminal has already reached the place where the radio base station is used (including the case where the mobile terminal has already passed).
[0079]
(Operation of User Movement Prediction Unit) The process flow of the user movement prediction unit will be described below with reference to FIGS.
[0080]
FIG. 6 shows a process flow of the user movement prediction unit when the process ID and the radio base station ID are notified from the process management mechanism.
[0081]
(S601) The process ID and the radio base station ID are notified from the process management mechanism.
(S602) It is checked whether the notified process ID is registered in the movement prediction map.
[0082]
(S603) If the notified process ID is not registered in the movement prediction map, the process ID, the radio base station ID, and the current time are registered in the movement prediction map, and the corresponding prediction path map pointer is NULL (prediction Represents that there is no route map). Then, the process of S605 is performed.
(S604) When the notified process ID is registered in the movement prediction map, the value of the predicted route map pointer corresponding to the notified process ID is checked.
[0083]
(S605) If the predicted route map pointer is NULL, the processing of FIG. 8 described later is performed to create a predicted route map.
(S606) If the predicted route map pointer is not NULL, the processing of FIG. 9 described later is performed to check whether the mobile terminal is moving according to the predicted route map.
[0084]
FIG. 8 shows processing for creating a predicted route map in the user movement prediction unit.
[0085]
(S801) The positions of the radio base station ID registered in the movement prediction map (here, A) and the notified radio base station ID (here, B) are respectively acquired from the system configuration map.
[0086]
(S802) The moving speed V of the mobile terminal from the radio base station A to the radio base station B u Is obtained by the following method. First, the distance L from the radio base station A to the radio base station B using the positions of the radio base stations A and B acquired in S801. AB Calculate The time T registered in the time of the movement prediction map A And the current time (because it is within the communication range of the wireless base station B, B The mobile terminal travel time T from the radio base station A to the radio base station B is used. AB Calculate And V u = L AB ÷ T AB Calculate
[0087]
(S803) Using the value acquired in S801, a certain direction of the radio base station B viewed from the radio base station A is calculated, and the moving direction of the mobile terminal is obtained.
[0088]
(S804) Time T required for process migration from the process migration processing unit MIG To get. T MIG As described above, is an estimated value using the amount of data transmitted in the process of the first stage of process migration and the communication speed to the destination computer.
[0089]
(S805) The destination of the process by the process migration is determined by predicting the destination of the mobile terminal. The destination is predicted by predicting the radio base station used at the destination.
[0090]
First, the position of the radio base station in the moving direction of the mobile terminal is acquired from the system configuration map. And relational expression L x ÷ V u > T MIG Using XF, a radio base station is obtained whose closest computer is a computer capable of completing the process migration prior to the arrival of the mobile terminal. However, L x Is a distance from the radio base station A to the radio base station X (X is a radio base station in the moving direction of the mobile terminal), and F is a coefficient for reflecting a factor affecting the process migration. This is an amount calculated based on the fluctuation of the data, the destination and the load state of the source computer.
[0091]
Among the wireless base stations thus determined, a wireless base station closest to the currently connected wireless base station is selected (here, wireless base station D), and this wireless base station D exists. Predict D point as the destination. In addition, the computer nearest to the wireless base station D (here, computer D) is determined as the process migration destination.
[0092]
(S806) When the mobile terminal reaches which point on the route leading to the point D predicted in S805, it is determined whether to start the second stage of the process migration (here, point C).
[0093]
(S807) A predicted route map is created based on the results of S805 and S806, and registered in the movement predicted map. In the movement prediction map, all points from the current point to the predicted point are registered in order of the route. At this time, the migration flag set in the predicted route map is as follows. A “Destination” flag is set for the point predicted as the destination in S805, that is, the D point. The “Fix” flag is set for the point determined in S806, that is, the point C.
[0094]
(S808) The process migration processing unit is notified of the result of S805, and the first stage of the process migration process is started.
[0095]
FIG. 9 shows processing for confirming whether the mobile terminal is moving according to the predicted route map.
[0096]
(S901) The points registered in the predicted route map are sequentially referred to, and the radio base station ID corresponding to each point is checked from the system configuration map.
(S902) Then, it is checked whether the wireless base station ID checked in S901 is the same as the wireless base station ID notified from the process management mechanism.
[0097]
(S903) If the same radio base station ID does not exist in S902, it is considered that the mobile terminal has moved against the predicted route, so the process of FIG. 8 is performed to redo the prediction.
(S904) On the other hand, if the same radio base station ID exists, the mobile terminal has moved according to the predicted route, so it is checked whether the Fix flag is set in the Migration flag.
[0098]
(S905) If the Fix flag is set, the process migration processing unit is notified to start the second stage process of the process migration. (S906) If the Fix flag is not set, an OK flag is set for the Migration flag.
[0099]
(Operation of Process Migration Processing Unit) FIG. 10 shows processing of the process migration processing unit.
[0100]
(S1001) Upon receipt of a process migration first stage process start notification from the user movement prediction unit, the process migration first stage process is started.
[0101]
(S1002) Then, it waits until it receives a notification of the start of the process migration second stage from the user movement prediction unit.
(S1003) The process migration second stage is started after receiving the notification of the start of the process migration second stage from the user movement prediction unit.
[0102]
(S1004) After the completion of the process migration second stage process, the user movement prediction unit is notified that the process migration process has been completed. Upon receiving this notification, the user movement prediction unit deletes the item of the process from the movement prediction map.
[0103]
(S1005) The process transfer destination computer is notified to the mobile terminal that is the request source of the process moved from the process transfer source computer. Upon receiving this notification, the mobile terminal updates the process management table. As a result, the mobile terminal can normally communicate with the process even after the process migration.
[0104]
The process migration processing unit creates and moves a copy of the address space by a method as shown in FIG. This corresponds to a method called “PreCopy”.
[0105]
The first stage of process migration is a process performed when a notification is received from the user movement prediction unit so as to start the process of the first stage of process migration.
[0106]
In the process of the first stage of the process migration, all the contents (a, b ′, c, d ′) of the process address space are read out and the process execution is continued, and sent to the process migration processing unit of the migration destination computer. To do. Then, the data (a, b ′, c, d ′) is restored on the address space in the process migration processing unit of the migration destination computer.
[0107]
As an example of a method for reading the contents of the address space of the process being executed, a method using procs (process file system) can be considered.
[0108]
The process migration second stage is a process performed when a notification is received from the user movement prediction unit to start the process migration second stage process.
[0109]
In the process of the second stage of process migration, the execution of the process is stopped. Then, only the contents changed after the end of the first stage process are transmitted to the process migration processing unit of the destination computer. For example, as shown in FIG. 11, when (a, b ′, c, d ′) at the start of the first stage execution becomes (a, b ′, c ′, d ′) at the start of the second stage, Since the content changed during the one-step execution is (c ′), this portion is transmitted to the destination computer.
[0110]
It is assumed that process states such as open file states other than the address space and CPU register values are transferred in the second stage of process migration.
[0111]
In the first stage of process migration, since the process to be transferred continues to be executed, even if the process migration is stopped and the process migration is performed again for another computer, there is no influence on the process being executed. Therefore, the process destination can be changed at any time before the start of the second stage of process migration.
[0112]
Further, since the address space transferred in the second stage of process migration is only the contents changed after being transferred in the first stage of process migration, the process of the second stage of process migration can be performed at high speed. Therefore, even after starting the second stage of process migration after it is determined that the prediction of the destination of the mobile terminal is correct, that is, after the mobile terminal has approached the prediction point to the extent that the Fix flag is set, The process can be moved in accordance with the timing at which the mobile terminal arrives at the predicted destination.
[0113]
There is a method for comparing the address space generated in the first stage and the address space at the time of the second stage execution as a method for obtaining the difference of the address space, but this method is suitable for a process using a large address space. Is difficult to apply.
[0114]
As another method, after the copy is generated in the first stage, the process is executed while monitoring the writing to the address space, and when the writing to the address space is detected, the contents or the address of the address space are recorded. In addition, when the difference is transmitted in the second stage, a method of generating difference information based on the recording can be considered.
[0115]
As described above, in this embodiment, the process migration process is performed by predicting the destination of the mobile terminal. However, the process migration process is performed in two stages, so that the current process migration process is performed even if the prediction is not satisfied. Can be dealt with by canceling the process, performing the prediction again, and performing the process migration process, so that the process movement accurately following the movement of the mobile terminal can be realized.
[0116]
As a result, it is possible to improve the problem of the deterioration of the response and the waste of the communication band caused when the mobile terminal and the computer executing the process are separated from each other in the network. Further, since the process moves fluidly with the movement of the mobile terminal, the concentration on a specific computer load can be reduced.
[0117]
In the present embodiment, the process migration first stage process is executed only once. However, the process migration first stage process may be performed a plurality of times before the process migration second stage process is performed.
[0118]
In other words, the contents of the address space used by the process are transmitted in the first process of the first time, and the contents changed from the previous process in the contents of the address space in the first process of the second and subsequent times. Only send. By performing the first stage processing a plurality of times in this way, the contents of the address space to be transmitted in the second stage of process migration can be reduced, and the processing time of the second stage of process migration can be shortened. As a result, there is an advantage that the process stop time can be shortened.
[0119]
In this embodiment, it is assumed that after the start of the second stage processing, it is not checked whether the destination prediction is correct. However, if necessary, for example, after the start of the second stage processing, the destination computer You may check with In this case, if the prediction is not correct, the prediction is performed again on the destination computer, and after the second stage process is completed and the process is completed, the process migration process is performed again on the destination computer. Just do it.
[0120]
Alternatively, the check may be performed by the source computer even after the start of the second stage processing. In this case, the migration source process pauses at the source computer at the start of the second stage of processing, and the second stage of processing is stopped when the prediction is lost, and the migration source computer pauses at the migration target process. The process is moved again (the migration destination process is discarded by the migration destination computer), and the process migration process is performed by performing the prediction again. In the case of moving as predicted, the process of the source computer is stopped at the end of the second stage.
[0121]
In the present embodiment, the determination of the destination computer of the process is based solely on the prediction of the destination of the mobile terminal, but in addition to this, the determination is based on the prediction of the destination of the mobile terminal. If the load state of the process move destination computer is checked and a load exceeding a predetermined load is applied, the process may be moved from the computer to another computer in the network. In this way, it can be expected that the load concentration can be further eased.
[0122]
(Second Embodiment) The second embodiment of the present invention will be described below with reference to the drawings.
[0123]
The system configuration of this embodiment is the same as that of the first embodiment, and is represented in FIG. 1 and FIG. Since most of the configuration is the same, only the differences will be described.
[0124]
(Process management mechanism) The process management mechanism of this embodiment receives a request from a mobile terminal via a radio base station, and generates and executes a process and transfers data to the process. Furthermore, the output result from the process is received and transferred to the mobile terminal. In addition, every time a request from the mobile terminal is received, the user movement prediction unit is notified of the IP address of the mobile terminal and the ID of the radio base station used by the mobile terminal.
[0125]
The process management mechanism has a mobile terminal management table as shown in FIG. The mobile terminal management table is used to manage the IP address of the mobile terminal, the communication port number on the computer side used when the mobile terminal communicates with the process operating on the computer, and the process ID. When the process management mechanism generates a process in response to a request from the mobile terminal, it registers these pieces of information in the mobile terminal management table.
[0126]
When executing the process migration process, the process management mechanism refers to the mobile terminal management table to the mobile terminal that has requested the execution of the moved process, the IP address and the transfer source of itself (the transfer source computer). The communication port number on the computer side, the IP address of the destination computer, and the communication port number on the destination computer side are notified.
[0127]
(User movement prediction unit) The user movement prediction unit predicts a user's movement path based on the information notified from the process management mechanism and the system configuration map described in the first embodiment, and passes the process management mechanism. To notify the process migration processing unit to start the first stage of the process migration.
[0128]
If the prediction is determined to be correct, the process migration processing unit is notified via the process management mechanism to start the process migration second stage process. On the other hand, if the prediction is incorrect, the prediction is redone, and the process migration processing unit is notified via the process management mechanism to start the first stage of process migration based on the new prediction. To do.
[0129]
(Process Migration Processing Unit) The process migration processing unit performs the process of the first stage and the second stage of the process migration according to an instruction from the user movement prediction unit.
[0130]
(Radio base station) The radio base station notifies the position of the mobile terminal to the computer with which the mobile terminal is communicating. Therefore, when a wireless base station transfers a request from a mobile terminal connected to itself to a computer, it reads out the IP address and communication port number of the destination computer from the transferred data and adds its own ID to this. Then, mobile terminal information is generated and notified to the destination computer.
[0131]
In addition, the radio base station stores the generated mobile terminal information and the notification destination thereof, and thereafter reduces the amount of communication by not transmitting the same mobile terminal information as the content stored in the same computer. Is possible.
[0132]
(Mobile Terminal) The mobile terminal of this embodiment has a process management table as shown in FIG. Using this process management table, the source port number, computer IP address and port number, new computer IP address and new destination port number, communication type, and descriptor are managed.
[0133]
The communication source port number is a communication port number on the mobile terminal side used for communication with the process being executed by the mobile terminal on the computer. The computer IP address and port number are the IP address of the computer that is executing the process and the communication port number on the computer side that the mobile terminal uses for communication with the process that is being executed by the computer.
[0134]
The new computer IP address and new destination port number are the IP address of the destination computer and the communication port number on the destination computer when the process is moved by the process migration process. The type of communication is information such as connection type communication or non-connection type communication. In this embodiment, TCP is used as an example of connection type communication and UDP is used as an example of non-connection type communication. As the descriptor, a descriptor representing a TCP communication path is registered, and in the case of UDP, a NULL value is registered.
[0135]
(Process Activation) An outline of the flow of processing when the mobile terminal at point A in FIG. 1 requests a service from the computer A and the computer A starts a process in response thereto will be shown below. Here, a description common to TCP and UDP will be given.
[0136]
(1) The mobile terminal at point A connects to the radio base station A using the radio interface.
(2) The mobile terminal requests a service from the mobile terminal to the computer A.
(3) The radio base station A receives the request (2) and transfers it to the computer A.
[0137]
(4) The process management mechanism of the computer A generates a process for executing the requested service, and attaches a process ID unique within the system. Further, a communication port used for communication between this process and the mobile terminal is generated. Then, the mobile terminal IP address, communication port number, and process ID are registered in the mobile terminal management table.
(5) The process management mechanism of computer A transmits the set of the communication port number and the IP address of computer A created in (4) to the mobile terminal that requested the service.
[0138]
(Communication between mobile terminal and process) Next, when the mobile terminal at point A in FIG. 1 requests a service from the computer A and starts the process, communication with this process is performed by UDP. The flow of processing will be described.
[0139]
(1) The mobile terminal at point A connects to the radio base station A using the radio interface.
(2) The user designates the port number transmitted from computer A at the start of the process and the IP address of computer A as the destination for the mobile terminal, and the computer A that is the destination for certain data (hereinafter, data X) Request to be sent to.
[0140]
(3) Upon receiving the request of (2), the mobile terminal searches the information registered in the process management table for information corresponding to the destination of the request and the type of communication. If not, register new.
(4) The mobile terminal refers to the process management table and transmits the data X after rewriting the destination if necessary. Specifically, when values are registered in the new destination port number and new computer IP address items, the destination specified in (2) is rewritten with the new port number and new computer IP address. If the new destination port number and new computer IP address are not registered, the destination is left as it is.
[0141]
(5) Upon receiving the data X, the wireless base station A reads the destination computer IP address and port number, and the IP address and port number of the source mobile terminal, and then transfers the data X to the destination computer. To do.
(6) The radio base station A generates mobile terminal information by adding the information of its radio base station ID to the information such as the IP address read in (5), and notifies the destination computer of the data X .
[0142]
(7) The process management mechanism of the destination computer receives the transferred data X and transfers this data X to the corresponding process.
(8) The process management mechanism of the destination computer receives the mobile terminal information generated in (6) and notifies the user movement prediction unit.
(9) The user movement prediction unit performs the process of FIG.
[0143]
Here, as described in (4), the destination IP address and the communication port are rewritten. This eliminates the need for the user to be aware of process movement.
[0144]
When the communication with the service is TCP, when the user establishes a connection with the process being executed on the computer A, the mobile terminal determines the port number of the communication source, the IP address and the port of the destination computer from the connection establishment request data. The number and the type of communication (TCP in this case) are read out. After the connection is established, the read information is registered in the process management table together with a descriptor indicating the communication.
[0145]
In the case of TCP communication, there is no need to rewrite the destination IP address and communication port as in the case of UDP, so the data X is transmitted without performing the process (4).
[0146]
Next, when the user of the mobile terminal at the point A in FIG. 1 requests the service at the computer A and starts the process and then moves to the point B while continuing the service, the communication with this process is set to UDP. The flow of processing when performing the above will be described.
[0147]
(1) The mobile terminal that has moved to the point B is connected to the radio base station B using the radio interface.
(2) to (4) are the above-mentioned cases (2) when the mobile terminal at the point A in FIG. 1 requests a service from the computer A and starts the process, and then communicates with this process by UDP. ) To (4). That is, the mobile terminal refers to the process management table and rewrites the destination if necessary.
[0148]
(5) Upon receiving the data X, the radio base station B reads the IP address and port number of the destination computer, the IP address and port number of the source mobile terminal, and then transfers the data X to the destination computer.
(6) The radio base station B generates mobile terminal information from the information read in (5) and its own radio base station ID, and notifies the destination computer.
(7) to (9) are the cases of the above-mentioned “when the mobile terminal at the point A in FIG. 1 requests a service from the computer A and starts the process, and then communicates with this process by UDP” (7 ) To (9) are performed.
[0149]
In addition, when communicating by TCP, it is the same as the above-mentioned "when the mobile terminal at the point A in FIG. 1 requests a service from the computer A and starts the process, and then communicates with this process by UDP". The mobile terminal acquires information on the IP address and port number when establishing a connection, and registers the information together with the descriptor in the process management table after establishing the connection. Further, the mobile terminal does not perform the process (4).
[0150]
(Operation of User Movement Prediction Unit) The user movement prediction unit has a movement prediction map as shown in FIG. In this movement prediction map, the process ID is registered in the first embodiment, but in this embodiment, the IP address of the mobile terminal is registered instead.
[0151]
The operation of the user movement prediction unit is the same as that of the first embodiment and is represented in FIGS. However, the part handling the process ID in FIG. 6 is different in that the IP address of the mobile terminal is handled.
[0152]
(Operation of process migration processing unit)
FIG. 15 shows the operation of the process migration processing unit. Details are as follows.
[0153]
(S1501) Upon receipt of a process migration first stage process start notification from the user movement prediction unit, the process migration first stage process is started.
(S1502) Then, the process waits until a notification of the start of the process migration second stage process is received from the user movement prediction unit.
(S1503) The process migration second stage is started after receiving notification of the start of the process migration second stage from the user movement prediction unit.
[0154]
(S1504) After the completion of the process migration second stage process, the user movement prediction unit is notified that the process migration process has been completed. Upon receiving this notification, the user movement prediction unit deletes the item of the mobile terminal from the movement prediction map.
(S1505) The IP address and port number of the process transfer destination computer and the IP address and port number of the process transfer source computer are notified from the process transfer source computer to the mobile terminal requesting the moved process. To do.
[0155]
(Operation of Mobile Terminal After Completion of Process Migration Process) The mobile terminal updates the process management table upon receiving the notification of S1505 from the process source computer.
[0156]
First, the mobile terminal searches the process management table to find an entry (old entry) in which the IP address and port number of the source computer are registered in the “computer IP address and port number” item.
[0157]
When communication with the moved process is performed by UDP, the IP address and port number of the destination computer are registered in the item “new computer IP address and new destination port number” of the old entry. This is the case for UDP.
[0158]
If communication with the moved process was performed using TCP, the source port number and descriptor information were extracted from the old entry, and the process moved to the item "Computer IP address and port number". The previous IP address and port number are registered, the source port number extracted from the old entry is registered in the “source port number” item, and the descriptor extracted from the old entry is registered in the “descriptor” item. A new entry (new entry) is generated.
[0159]
Then, the mobile terminal disconnects the TCP connection established with the source computer and deletes the old entry from the process management table. In addition, the new computer IP address and new port number are specified as the communication destination, the IP address of the user (mobile terminal) and the communication source port number extracted from the old entry are specified as the communication source, and a new Establish a connection.
[0160]
As a result, communication to the process after process migration can be performed using a new connection without the user being aware of it.
[0161]
(Third Embodiment) The third embodiment of the present invention will be described below. In the present embodiment, the operation of the process migration processing unit in the first and second embodiments is changed, and this portion will be mainly described.
[0162]
In the embodiments so far, the process migration process has a first stage and a second stage. In the first stage, the contents of the address space are copied and transferred, and in the second stage, the difference generated after the execution of the first stage is started. It was a method of transferring.
[0163]
In this embodiment, in the first stage, the contents of the address space are copied and transferred to the destination computer as in the previous embodiments. However, in the second stage, instead of obtaining the difference of the contents of the address space, the movement source computer records the operation of the movement target process after the start of the first stage execution and the result thereof to generate an execution record. Then, in the second stage, this execution record is transferred to the migration destination computer, and the process of the migration target process is reproduced based on the execution record in the process migration processing unit of the migration destination computer, thereby synchronizing the contents of the address space. Take.
[0164]
In this embodiment, it is assumed that the process migration realization unit of each computer performs execution record generation and reproduction processing.
[0165]
Since execution recording is used in this way, even when the address space is changed over a wide range (for example, decompression of compressed data or decompression of encoded data), compared with the case where the difference in address space is used. Process synchronization can be achieved with less information.
[0166]
【The invention's effect】
As described above, according to the present invention, it is possible to realize process movement that accurately follows movement of a mobile terminal, so that the mobile terminal and the computer that executes the process are separated from each other in a network. The service delay to the mobile terminal caused by the above can be improved.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration of a communication system according to a first embodiment of the present invention.
FIG. 2 is a detailed diagram of the configuration of the server system of the communication system in FIG.
FIG. 3 is a diagram illustrating the configuration of a system configuration map held by a user movement prediction unit.
FIG. 4 is a diagram for explaining the configuration of a process management table managed by a mobile terminal.
FIG. 5 is a diagram illustrating a configuration of a modification of the communication system according to the first embodiment of the present invention.
FIG. 6 is a diagram for explaining a flow of processing of a user movement prediction unit.
FIG. 7 is a diagram illustrating the configuration of a movement prediction map and a prediction route map managed by a user movement prediction unit.
FIG. 8 is a diagram illustrating a flow of processing for generating a predicted route map in a user movement prediction unit.
FIG. 9 is a diagram illustrating a flow of processing for confirming whether a mobile terminal is moving according to a predicted route map in a user movement prediction unit.
FIG. 10 is a diagram for explaining a processing flow of a process migration processing unit.
FIG. 11 is a diagram illustrating a method for moving the contents of an address space in a process migration processing unit.
FIG. 12 is a diagram illustrating a configuration of a mobile terminal management table according to the second embodiment of the present invention.
FIG. 13 is a diagram illustrating the configuration of a process management table according to the second embodiment of the present invention.
FIG. 14 is a diagram illustrating a configuration of a movement prediction map according to the second embodiment of the present invention.
FIG. 15 is a diagram illustrating a process flow of a process migration processing unit according to the second embodiment of the present invention.
[Explanation of symbols]
1 network

Claims (18)

ネットワークを介して接続された複数の無線基地局と、
前記ネットワークを介して接続された複数の計算機と、
前記無線基地局を介して前記ネットワークに接続可能な移動体端末と
を有する通信システムにおける、
前記移動体端末が前記複数の計算機のうちの一つである第1の計算機に実行させているプロセスを前記複数の計算機のうちの一つである他の計算機に移動させるためのプロセスマイグレーション方法であって、
前記移動体端末の移動先の予測を行う移動体端末移動先予測ステップと、
前記移動体端末移動先予測ステップで予測された移動先を無線通信可能範囲内に含む移動先無線基地局からプロセスを実行中の前記第1の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い第2の計算機が存在するかを検索するプロセス移動先検索ステップと、
前記プロセス移動先検索ステップにおいて第2の計算機が存在する場合に、
(A)前記第1の計算機において移動対象プロセスのコピーを生成し、前記第1の計算機で前記移動対象プロセスの実行記録を生成しながら実行すると共に第1の計算機から第2の計算機へ前記コピーを送信し、第2の計算機において前記コピーを元に前記移動対象プロセスを復元する第1段階の手順、および、
(B)前記第1の計算機で実行中の前記移動対象プロセスの動作を停止させ、前記第1の手順の実行開始後から前記移動対象プロセスの停止時までに生成された前記実行記録を第1の計算機から第2の計算機に送信し、前記実行記録をもとに第2の計算機において移動対象プロセスの動作を再生する第2段階の手順、
を含む処理を実行して、前記第1の計算機で実行中のプロセスを前記第2の計算機に移動させるプロセス移動ステップと、
前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先に向かって移動しているか否かを判定する判定ステップと、
前記判定ステップにおいて前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先とは異なる場所へ移動していると判定された場合に、前記プロセス移動ステップの処理を中止させる中止ステップと、
を有するプロセスマイグレーション方法。
A plurality of radio base stations connected via a network;
A plurality of computers connected via the network;
In a communication system having a mobile terminal connectable to the network via the radio base station,
A process migration method for moving a process executed by the mobile terminal to a first computer that is one of the plurality of computers to another computer that is one of the plurality of computers. There,
A mobile terminal destination prediction step for predicting a destination of the mobile terminal;
The destination is more than the network distance from the destination wireless base station that includes the destination predicted in the mobile terminal destination prediction step within the wireless communicable range to the first computer that is executing the process. A process destination search step for searching for a second computer that is close to the network distance from the radio base station; and
When there is a second computer in the process destination search step,
(A) A copy of the migration target process is generated in the first computer, and the copy is executed while generating an execution record of the migration target process in the first computer and the copy from the first computer to the second computer. And a first step of restoring the process to be moved based on the copy in the second computer, and
(B) The operation of the migration target process being executed on the first computer is stopped, and the execution record generated between the start of execution of the first procedure and the stop of the migration target process is first A second stage procedure for transmitting the operation of the process to be moved in the second computer based on the execution record, from the computer to the second computer,
A process moving step of executing a process including: moving a process being executed on the first computer to the second computer;
A determination step of determining whether or not the mobile terminal is moving toward the destination predicted in the mobile terminal destination prediction step;
A stopping step of stopping the process of the process moving step when it is determined in the determining step that the mobile terminal has moved to a location different from the destination predicted in the mobile terminal destination prediction step. When,
Process migration method comprising:
前記移動体端末移動先予測ステップでは、
移動先の予測に加えて予測確定先も予測し、
前記プロセス移動ステップでは、
前記判定ステップにおいて前記移動体端末が前記予測確定先に到達したと判定されてから、前記第2段階の手順の実行を開始する、
請求項1に記載されたプロセスマイグレーション方法。
In the mobile terminal destination prediction step,
In addition to forecasting the destination, forecasting the forecast destination,
In the process transfer step,
After the determination step determines that the mobile terminal has reached the prediction confirmation destination, the execution of the second stage procedure is started.
The process migration method according to claim 1 .
前記中止ステップでは、
前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、
前記プロセス移動ステップの前記第1の手順の実行開始後であって前記プロセス移動ステップの前記第2の手順の実行開始前の状態である場合は、
前記プロセス移動ステップの処理を中止するとともに、前記移動体端末移動先予測ステップを再び実行する、
請求項1または請求項2のうちのいずれか1項に記載されたプロセスマイグレーション方法。
In the cancellation step,
When it is determined in the determination step that the mobile terminal is moving to a location different from the destination predicted in the mobile terminal destination prediction step,
When the state is after the start of execution of the first procedure of the process transfer step and before the start of execution of the second procedure of the process transfer step,
Stopping the process of the process movement step and executing the mobile terminal movement destination prediction step again,
The process migration method according to any one of claims 1 and 2 .
前記中止ステップでは、
前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、
前記プロセス移動ステップの前記第2の手順の実行開始後の状態である場合は、
前記プロセス移動ステップの処理を完了させる、
請求項1から請求項3のうちのいずれか1項に記載されたプロセスマイグレーション方法。
In the cancellation step,
When it is determined in the determination step that the mobile terminal is moving to a location different from the destination predicted in the mobile terminal destination prediction step,
If it is in a state after the execution of the second procedure of the process movement step,
Completing the process movement step;
The process migration method according to any one of claims 1 to 3 .
前記中止ステップでは、
前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、
前記プロセス移動ステップの前記第2の手順の実行開始後の状態である場合は、
前記プロセス移動ステップの処理を中止し、第1の計算機において移動対象プロセスを再び動作させるとともに、前記移動先予測ステップを再び実行する、
請求項1から請求項3のうちのいずれか1項に記載されたプロセスマイグレーション方法。
In the cancellation step,
When it is determined in the determination step that the mobile terminal is moving to a location different from the destination predicted in the mobile terminal destination prediction step,
If it is in a state after the execution of the second procedure of the process movement step,
The process of the process movement step is stopped, the movement target process is operated again in the first computer, and the movement destination prediction step is executed again.
The process migration method according to any one of claims 1 to 3 .
ネットワークを介して共通に接続された複数の計算機と、A plurality of computers commonly connected via a network;
前記ネットワークに接続された複数の無線基地局とを有し、  A plurality of radio base stations connected to the network;
前記複数の計算機のそれぞれは、  Each of the plurality of computers is
前記無線基地局を介して前記ネットワークに接続している移動体端末の移動先を予測する移動先予測部と、  A destination prediction unit that predicts a destination of a mobile terminal connected to the network via the wireless base station;
前記移動体端末からの要求に応じてプロセスを実行するプロセス実行部と、  A process execution unit that executes a process in response to a request from the mobile terminal;
前記移動体端末の所在を監視する所在監視部と、  A location monitoring unit for monitoring the location of the mobile terminal;
前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機が存在するかを検索するプロセス移動先検索部と、  The network-like distance from the destination radio base station rather than the network-like distance from the destination radio base station including the destination predicted by the destination prediction unit in the radio communication range to the computer currently executing the process A process destination search unit that searches for other computers that are close to each other, and
(A−1)移動対象プロセスのコピーを生成するコピー生成部、    (A-1) a copy generation unit that generates a copy of the process to be moved;
(A−2)前記コピーを前記他の計算機へ送信するコピー送信部、    (A-2) a copy transmission unit for transmitting the copy to the other computer;
(A−3)前記移動対象プロセスを実行記録を生成しながら実行する実行記録生成部、    (A-3) an execution record generation unit that executes the migration target process while generating an execution record;
(A−4)外部から前記コピーを受信するコピー受信部、および、    (A-4) a copy receiving unit for receiving the copy from the outside, and
(A−5)前記コピーを用いて、移動対象プロセスを復元するプロセス復元部、    (A-5) A process restoration unit that restores a migration target process using the copy,
を有する第1プロセス移動処理部と、A first process movement processing unit having
(B−1)前記移動対象プロセスの実行を停止するプロセス停止制御部、    (B-1) a process stop control unit for stopping the execution of the movement target process;
(B−2)前記実行記録を前記他の計算機へ送信する実行記録送信部、    (B-2) an execution record transmitting unit for transmitting the execution record to the other computer;
(B−3)外部から前記実行記録を受信する実行記録受信部、および、    (B-3) an execution record receiving unit that receives the execution record from the outside, and
(B−4)前記実行記録を用いて、移動対象プロセスの動作を再生するプロセス再生部、    (B-4) A process reproduction unit that reproduces the operation of the movement target process using the execution record;
を有する第2プロセス移動処理部と、A second process movement processing unit having
前記移動体端末が前記移動体端末移動先予測部によって予測された移動先に向かって移動しているか否かを判定する判定部と、  A determination unit that determines whether or not the mobile terminal is moving toward a destination predicted by the mobile terminal destination prediction unit;
前記移動体端末は前記移動体端末移動先予測部によって予測された移動先とは異なる場所へ移動していると、前記判定部が判定した場合に、前記第1プロセス移動処理部の処理もしくは前記第2プロセス移動処理部の処理を中止させる移動制御部と、  When the determination unit determines that the mobile terminal has moved to a location different from the destination predicted by the mobile terminal destination prediction unit, the processing of the first process movement processing unit or the A movement control unit for stopping the processing of the second process movement processing unit;
を備える通信システム。A communication system comprising:
前記移動体端末移動先予測部は、予測確定先を予測する予測確定先予測部を有し、  The mobile terminal destination prediction unit includes a prediction confirmation destination prediction unit that predicts a prediction confirmation destination,
前記移動制御部は、前記判定部が前記移動体端末は前記予測確定先に到達したと判定した場合に、前記第2プロセス移動処理部の処理を開始する、  The movement control unit starts processing of the second process movement processing unit when the determination unit determines that the mobile terminal has reached the prediction confirmation destination.
請求項6に記載された通信システム。The communication system according to claim 6.
前記移動制御部は、The movement control unit
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第1プロセス移動部の処理を実行中の場合は、    When the determination unit determines that the mobile terminal has moved to a location different from the prediction of the mobile terminal destination prediction unit, when the process of the first process mobile unit is being executed,
前記第1プロセス移動部の処理を中止させるとともに、前記移動体端末移動先予測部に移動先を再度予測させる、    The process of the first process moving unit is stopped, and the mobile terminal moving destination prediction unit is made to predict the moving destination again.
請求項6または請求項7のうちのいずれか1項に記載された通信システム。The communication system according to any one of claims 6 and 7.
前記移動制御部は、  The movement control unit
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第2プロセス移動部の処理を実行中の場合は、    When the determination unit determines that the mobile terminal has moved to a location different from the prediction of the mobile terminal destination prediction unit, when the process of the second process mobile unit is being executed,
前記第2プロセス移動部の処理を完了させる、    Completing the processing of the second process moving unit;
請求項6から請求項8のうちのいずれか1項に記載された通信システム。The communication system according to any one of claims 6 to 8.
前記移動制御部は、  The movement control unit
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第2プロセス移動部の処理を実行中の場合は、前記第2プロセス移動部の処理を中止し、    When the determination unit determines that the mobile terminal has moved to a location different from the prediction of the mobile terminal destination prediction unit, when the process of the second process movement unit is being executed, Cancel the processing of the second process moving part,
移動元の計算機で前記移動対象プロセスの動作を再開させるとともに、前記移動体端末移動先予測部に移動先を再度予測させる、    While resuming the operation of the movement target process on the source computer, the mobile terminal destination prediction unit is made to predict the destination again.
請求項6から請求項8のうちのいずれか1項に記載された通信システム。The communication system according to any one of claims 6 to 8.
ネットワークに接続して通信を行う通信部と、  A communication unit that communicates by connecting to a network;
前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行部と、  A process execution unit that executes a process in response to a request from a mobile terminal connected to the network;
前記移動体端末の所在を監視する所在監視部と、  A location monitoring unit for monitoring the location of the mobile terminal;
前記移動体端末の移動先を予測する移動先予測部と、  A destination prediction unit for predicting a destination of the mobile terminal;
前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機が存在するかを検索するプロセス移動先検索部と、  The network distance from the destination radio base station rather than the network distance from the destination radio base station that includes the destination predicted by the destination prediction unit in the radio communication range to the computer that is currently executing the process. A process destination search unit that searches for other computers that are close to each other, and
(A−1)移動対象プロセスのコピーを生成するコピー生成部、    (A-1) a copy generation unit that generates a copy of the process to be moved;
(A−2)前記コピーを前記他の計算機へ送信するコピー送信部、および、    (A-2) a copy transmission unit that transmits the copy to the other computer; and
(A−3)前記移動対象プロセスを実行記録を生成しながら実行する実行記録生成部、    (A-3) an execution record generation unit that executes the migration target process while generating an execution record;
を有する第1プロセス移転処理部と、A first process transfer processing unit having
(B−1)前記移動対象プロセスの実行を停止するプロセス停止制御部、および、    (B-1) a process stop control unit that stops execution of the process to be moved; and
(B−2)前記実行記録を前記他の計算機へ送信する実行記録送信部、    (B-2) an execution record transmitting unit for transmitting the execution record to the other computer;
を有する第2プロセス移転処理部と、A second process transfer processing unit having
前記移動体端末が前記移動体端末移動先予測部によって予測された移動先に向かって移動しているか否かを判定する判定部と、  A determination unit that determines whether or not the mobile terminal is moving toward a destination predicted by the mobile terminal destination prediction unit;
前記判定部が前記移動体端末は前記移動体端末移動先予測部によって予測された移動先とは異なる場所へ移動していると判定した場合に、前記第1プロセス移転処理部の処理もしくは前記第2プロセス移転処理部の処理を中止させる移動制御部と、  When the determination unit determines that the mobile terminal has moved to a location different from the destination predicted by the mobile terminal destination prediction unit, the processing of the first process transfer processing unit or the first A movement control unit for stopping the processing of the two-process transfer processing unit;
を備える計算機。A computer with
前記移動体端末移動先予測部は、予測確定先を予測する予測確定先予測部を有し、  The mobile terminal destination prediction unit includes a prediction confirmation destination prediction unit that predicts a prediction confirmation destination,
前記移動制御部は、前記判定部が前記移動体端末は前記予測確定先に到達したと判定した場合に、前記第2プロセス移転処理部の処理を開始する、  The movement control unit starts processing of the second process transfer processing unit when the determination unit determines that the mobile terminal has reached the prediction confirmation destination.
請求項11に記載された計算機。The computer according to claim 11.
前記移動制御部は、  The movement control unit
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第1プロセス移転部の処理を実行中の場合は、    When the determination unit determines that the mobile terminal has moved to a location different from the prediction of the mobile terminal destination prediction unit, when the process of the first process transfer unit is being executed,
前記第1プロセス移転部の処理を中止させ、前記移動体端末移動先予測部に移動先を再度予測させる、    Canceling the processing of the first process transfer unit, causing the mobile terminal destination prediction unit to predict the destination again,
請求項11または請求項12のうちのいずれか1項に記載された計算機。The computer according to any one of claims 11 and 12.
前記移動制御部は、  The movement control unit
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第2プロセス移転部の処理を実行中の場合は、    When the determination unit determines that the mobile terminal has moved to a location different from the prediction of the mobile terminal destination prediction unit, when the process of the second process transfer unit is being executed,
前記第2プロセス移転部の処理を完了させる、    Completing the processing of the second process transfer unit;
請求項11から請求項13のうちのいずれか1項に記載された計算機。The computer according to any one of claims 11 to 13.
前記移動制御部は、  The movement control unit
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第2プロセス移転部の処理を実行中の場合は、    When the determination unit determines that the mobile terminal has moved to a location different from the prediction of the mobile terminal destination prediction unit, when the process of the second process transfer unit is being executed,
前記第2プロセス移転部の処理を中止し、前記移動対象プロセスの動作を再開させ、前記移動体端末移動先予測部に前記移動体端末の移動先を再度予測させる、    Canceling the processing of the second process transfer unit, restarting the operation of the movement target process, and causing the mobile terminal destination prediction unit to predict the destination of the mobile terminal again,
請求項11から請求項13のうちのいずれか1項に記載された計算機。The computer according to any one of claims 11 to 13.
ネットワークを介して他の計算機と通信する通信部と、  A communication unit that communicates with other computers via a network;
前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行部と、  A process execution unit that executes a process in response to a request from a mobile terminal connected to the network;
(C−1)前記ネットワークを介して移動対象プロセスのコピーを受信するコピー受信部、および、    (C-1) a copy receiving unit that receives a copy of the migration target process via the network; and
(C−2)前記コピーを用いて、前記移動対象プロセスを復元するプロセス復元部、を有する第1プロセス受入処理部と、    (C-2) a first process acceptance processing unit having a process restoration unit that restores the migration target process using the copy;
(D−1)前記ネットワークを介して前記コピー生成後の前記移動対象プロセスの実行記録を受信する実行記録受信部、および、    (D-1) an execution record receiving unit that receives an execution record of the migration target process after the copy generation via the network; and
(D−2)前記実行記録を用いて、前記移動対象プロセスの動作を再生するプロセス再生部、    (D-2) A process playback unit that plays back the operation of the migration target process using the execution record;
を有する第2プロセス受入処理部と、A second process acceptance processing unit having
前記ネットワークを介して中止指令を受信した場合に、前記第1プロセス受入処理部の処理もしくは前記第2プロセス受入処理部の処理を中止させる移動制御部と、  A movement control unit for stopping the processing of the first process acceptance processing unit or the processing of the second process acceptance processing unit when a cancellation instruction is received via the network;
を備える計算機。A computer with
前記ネットワークに接続された移動体端末の所在を監視する所在監視手段と、  Location monitoring means for monitoring the location of a mobile terminal connected to the network;
前記ネットワークを介して、前記移動体端末の予測移動先を受信する予測移動先受信部と、  A predicted destination receiving unit that receives the predicted destination of the mobile terminal via the network;
前記移動体端末が前記予測移動先に移動しているか否か判定する判定部と、  A determination unit for determining whether or not the mobile terminal has moved to the predicted destination;
を有し、Have
前記移動制御部は、前記判定部が前記移動端末は前記予測移動先とは異なる場所に移動していると判定した場合に、前記第1プロセス受入処理部の処理もしくは前記第2プロセス受入処理部の処理を中止させる、  The movement control unit, when the determination unit determines that the mobile terminal has moved to a location different from the predicted movement destination, the process of the first process reception processing unit or the second process reception processing unit Stop processing
請求項16に記載された計算機。The computer according to claim 16.
ネットワークを介して他の計算機と通信する通信手段と、
前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行手段と、
前記移動体端末の所在を監視する所在監視手段と、
前記移動体端末の移動先及び予測確定先を予測する移動先予測部と、
前記移動先予測部で予測した移動先を無線通信可能範囲内に含む移動先無線基地局から自計算機までのネットワーク的な距離よりも、移動先無線基地局からのネットワーク的な距離が近い第1の計算機を検索するプロセス移動先検索部と、
実行中のプロセスのコピーを生成し、これを前記第1の計算機に送信する第1のプロセスマイグレーション送信処理部と、
前記所在監視手段によって前記移動体端末が予測確定先に到達したと判明してから前記実行中のプロセスを停止させてコピーとの差分を前記第1の計算機に送信する第2のプロセスマイグレーション送信処理部と、
前記所在監視手段から前記移動体端末の現在位置を取得し、
前記移動体端末が予測と異なる位置に向かって移動していると判断した場合には、前記移動先予測部に移動先の再度予測を行わせて、前記プロセス移動先検索部に再度移動先計算機の検索を行わせて、前記第1のプロセスマイグレーション送信処理部に再度処理を行わせて、
前記移動体端末が予測確定先に到達した場合には、前記第2のプロセスマイグレーション送信処理部に処理を行わせる制御部と、
を有する計算機。
Communication means for communicating with other computers via a network;
Process execution means for executing a process in response to a request from a mobile terminal connected to the network via a radio base station connected to the network;
Location monitoring means for monitoring the location of the mobile terminal;
A destination prediction unit that predicts a destination and a prediction confirmation destination of the mobile terminal;
The network distance from the destination radio base station is closer to the network than the network distance from the destination radio base station to the local computer including the destination predicted by the destination prediction unit within the wireless communicable range. A process destination search unit that searches for computers
A first process migration transmission processing unit that generates a copy of the process being executed and transmits the copy to the first computer;
Second process migration transmission processing for stopping the process being executed and transmitting the difference from the copy to the first computer after it is determined by the location monitoring means that the mobile terminal has reached the prediction confirmation destination And
Obtaining the current location of the mobile terminal from the location monitoring means;
When it is determined that the mobile terminal is moving toward a position different from the prediction, the destination prediction unit is made to predict the destination again, and the process destination search unit is made to move the destination computer again. To search for the first process migration transmission processing unit again,
When the mobile terminal has reached the prediction confirmation destination, a control unit that causes the second process migration transmission processing unit to perform processing;
Having a calculator.
JP2002243104A 2002-08-23 2002-08-23 Process migration method, communication system, computer Expired - Fee Related JP3643574B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002243104A JP3643574B2 (en) 2002-08-23 2002-08-23 Process migration method, communication system, computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002243104A JP3643574B2 (en) 2002-08-23 2002-08-23 Process migration method, communication system, computer

Publications (2)

Publication Number Publication Date
JP2004088200A JP2004088200A (en) 2004-03-18
JP3643574B2 true JP3643574B2 (en) 2005-04-27

Family

ID=32051950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002243104A Expired - Fee Related JP3643574B2 (en) 2002-08-23 2002-08-23 Process migration method, communication system, computer

Country Status (1)

Country Link
JP (1) JP3643574B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473702B2 (en) 2007-06-12 2013-06-25 Nec Corporation Information processing apparatus, execution environment transferring method and program thereof
JP4952921B2 (en) * 2007-06-21 2012-06-13 日本電気株式会社 Data transfer system, data transfer method, and data transfer program
US8744478B2 (en) * 2008-02-20 2014-06-03 Qualcomm Incorporated Method and apparatus for executing location dependent application in a mobile handset
CN103460191A (en) * 2011-03-28 2013-12-18 日本电气株式会社 Virtual machine administration system and virtual machine administration method
JP5786937B2 (en) 2011-04-18 2015-09-30 富士通株式会社 Scheduling method and task processing method
WO2012147206A1 (en) * 2011-04-28 2012-11-01 富士通株式会社 Data allocation method and data allocation system
JP5768651B2 (en) 2011-10-21 2015-08-26 富士通株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
JP2019075710A (en) * 2017-10-17 2019-05-16 富士通株式会社 Communication device, and communication method
JP6972950B2 (en) * 2017-11-13 2021-11-24 富士通株式会社 Communication device, communication system and communication device control method
JP7043241B2 (en) * 2017-12-14 2022-03-29 aidea株式会社 Autonomous driving control system, automatic driving control method, and vehicle

Also Published As

Publication number Publication date
JP2004088200A (en) 2004-03-18

Similar Documents

Publication Publication Date Title
US11863460B1 (en) Agent message delivery fairness
USRE47501E1 (en) Application program interface access to hardware services for storage management applications
KR100422495B1 (en) Based migrating user agents for personal communication services
US20070204275A1 (en) Method and system for reliable message delivery
US11650844B2 (en) System and method for migrating a live stateful container
TWI302792B (en) Communication system
JP2004246632A (en) Data distributing server, program, and network system
JP3643574B2 (en) Process migration method, communication system, computer
KR101758207B1 (en) Apparatus for processing network packet using service function chaining and Method for controlling the same
JP2000122907A (en) Update history managing device and its method
JP5196939B2 (en) System and method for transferring code to data production equipment
JP2005535241A (en) Method of moving application software in multicomputer architecture, multicomputer method and apparatus for realizing continuity of operation using the moving method
Handorean et al. Context aware session management for services in ad hoc networks
CN110019484B (en) Database system, implementation method, management device, data interface device and medium
JP5729003B2 (en) Thin client system, location information management server, migration method, and program
WO2012136091A2 (en) Data migration method and system in peer-to-peer network
CN110233791B (en) Data deduplication method and device
JP4025650B2 (en) Method for updating network server program, related system and software
JP2011192098A (en) Method and system of verifying operation during server transfer
US11563806B1 (en) Content distribution network system and method
JP2001007841A (en) Communication method
JP2007249659A (en) System-switching method, computer system therefor, and program
JP5370477B2 (en) Distributed object management system and distributed object management method
JP2013114271A (en) Computer system and management method of computer resource
KR100714462B1 (en) Loaction mangement and message delivery of mobile agent method and system in multi region mobile agent computing environment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050128

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090204

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110204

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130204

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees