(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数の無線基地局と、
前記ネットワークを介して接続された複数の計算機と、
前記無線基地局を介して前記ネットワークに接続可能な移動体端末と
を有する通信システムにおける、
前記移動体端末が前記複数の計算機のうちの一つである第１の計算機に実行させているプロセスを前記複数の計算機のうちの一つである他の計算機に移動させるためのプロセスマイグレーション方法であって、
前記移動体端末の移動先の予測を行う移動体端末移動先予測ステップと、
前記移動体端末移動先予測ステップで予測された移動先を無線通信可能範囲内に含む移動先無線基地局からプロセスを実行中の前記第１の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い第２の計算機が存在するかを検索するプロセス移動先検索ステップと、
前記プロセス移動先検索ステップにおいて第２の計算機が存在する場合に、
（Ａ）前記第１の計算機において移動対象プロセスのコピーを生成し、前記第１の計算機で前記移動対象プロセスの実行記録を生成しながら実行すると共に第１の計算機から第２の計算機へ前記コピーを送信し、第２の計算機において前記コピーを元に前記移動対象プロセスを復元する第１段階の手順、および、
（Ｂ）前記第１の計算機で実行中の前記移動対象プロセスの動作を停止させ、前記第１の手順の実行開始後から前記移動対象プロセスの停止時までに生成された前記実行記録を第１の計算機から第２の計算機に送信し、前記実行記録をもとに第２の計算機において移動対象プロセスの動作を再生する第２段階の手順、
を含む処理を実行して、前記第１の計算機で実行中のプロセスを前記第２の計算機に移動させるプロセス移動ステップと、
前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先に向かって移動しているか否かを判定する判定ステップと、
前記判定ステップにおいて前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先とは異なる場所へ移動していると判定された場合に、前記プロセス移動ステップの処理を中止させる中止ステップと、
を有するプロセスマイグレーション方法。
【請求項２】
前記移動体端末移動先予測ステップでは、
移動先の予測に加えて予測確定先も予測し、
前記プロセス移動ステップでは、
前記判定ステップにおいて前記移動体端末が前記予測確定先に到達したと判定されてから、前記第２段階の手順の実行を開始する、
請求項１に記載されたプロセスマイグレーション方法。
【請求項３】
前記中止ステップでは、
前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、
前記プロセス移動ステップの前記第１の手順の実行開始後であって前記プロセス移動ステップの前記第２の手順の実行開始前の状態である場合は、
前記プロセス移動ステップの処理を中止するとともに、前記移動体端末移動先予測ステップを再び実行する、
請求項１または請求項２のうちのいずれか１項に記載されたプロセスマイグレーション方法。
【請求項４】
前記中止ステップでは、
前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、
前記プロセス移動ステップの前記第２の手順の実行開始後の状態である場合は、
前記プロセス移動ステップの処理を完了させる、
請求項１から請求項３のうちのいずれか１項に記載されたプロセスマイグレーション方法。
【請求項５】
前記中止ステップでは、
前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、
前記プロセス移動ステップの前記第２の手順の実行開始後の状態である場合は、
前記プロセス移動ステップの処理を中止し、第１の計算機において移動対象プロセスを再び動作させるとともに、前記移動先予測ステップを再び実行する、
請求項１から請求項３のうちのいずれか１項に記載されたプロセスマイグレーション方法。
【請求項６】
ネットワークを介して共通に接続された複数の計算機と、
前記ネットワークに接続された複数の無線基地局とを有し、
前記複数の計算機のそれぞれは、
前記無線基地局を介して前記ネットワークに接続している移動体端末の移動先を予測する移動先予測部と、
前記移動体端末からの要求に応じてプロセスを実行するプロセス実行部と、
前記移動体端末の所在を監視する所在監視部と、
前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機が存在するかを検索するプロセス移動先検索部と、
（Ａ−１）移動対象プロセスのコピーを生成するコピー生成部、
（Ａ−２）前記コピーを前記他の計算機へ送信するコピー送信部、
（Ａ−３）前記移動対象プロセスを実行記録を生成しながら実行する実行記録生成部、
（Ａ−４）外部から前記コピーを受信するコピー受信部、および、
（Ａ−５）前記コピーを用いて、移動対象プロセスを復元するプロセス復元部、
を有する第１プロセス移動処理部と、
（Ｂ−１）前記移動対象プロセスの実行を停止するプロセス停止制御部、
（Ｂ−２）前記実行記録を前記他の計算機へ送信する実行記録送信部、
（Ｂ−３）外部から前記実行記録を受信する実行記録受信部、および、
（Ｂ−４）前記実行記録を用いて、移動対象プロセスの動作を再生するプロセス再生部、
を有する第２プロセス移動処理部と、
前記移動体端末が前記移動体端末移動先予測部によって予測された移動先に向かって移動しているか否かを判定する判定部と、
前記移動体端末は前記移動体端末移動先予測部によって予測された移動先とは異なる場所へ移動していると、前記判定部が判定した場合に、前記第１プロセス移動処理部の処理もしくは前記第２プロセス移動処理部の処理を中止させる移動制御部と、
を備える通信システム。
【請求項７】
前記移動体端末移動先予測部は、予測確定先を予測する予測確定先予測部を有し、
前記移動制御部は、前記判定部が前記移動体端末は前記予測確定先に到達したと判定した場合に、前記第２プロセス移動処理部の処理を開始する、
請求項６に記載された通信システム。
【請求項８】
前記移動制御部は、
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第１プロセス移動部の処理を実行中の場合は、
前記第１プロセス移動部の処理を中止させるとともに、前記移動体端末移動先予測部に移動先を再度予測させる、
請求項６または請求項７のうちのいずれか１項に記載された通信システム。
【請求項９】
前記移動制御部は、
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第２プロセス移動部の処理を実行中の場合は、
前記第２プロセス移動部の処理を完了させる、
請求項６から請求項８のうちのいずれか１項に記載された通信システム。
【請求項１０】
前記移動制御部は、
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第２プロセス移動部の処理を実行中の場合は、前記第２プロセス移動部の処理を中止し、
移動元の計算機で前記移動対象プロセスの動作を再開させるとともに、前記移動体端末移動先予測部に移動先を再度予測させる、
請求項６から請求項８のうちのいずれか１項に記載された通信システム。
【請求項１１】
ネットワークに接続して通信を行う通信部と、
前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行部と、
前記移動体端末の所在を監視する所在監視部と、
前記移動体端末の移動先を予測する移動先予測部と、
前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機が存在するかを検索するプロセス移動先検索部と、
（Ａ−１）移動対象プロセスのコピーを生成するコピー生成部、
（Ａ−２）前記コピーを前記他の計算機へ送信するコピー送信部、および、
（Ａ−３）前記移動対象プロセスを実行記録を生成しながら実行する実行記録生成部、
を有する第１プロセス移転処理部と、
（Ｂ−１）前記移動対象プロセスの実行を停止するプロセス停止制御部、および、
（Ｂ−２）前記実行記録を前記他の計算機へ送信する実行記録送信部、
を有する第２プロセス移転処理部と、
前記移動体端末が前記移動体端末移動先予測部によって予測された移動先に向かって移動しているか否かを判定する判定部と、
前記判定部が前記移動体端末は前記移動体端末移動先予測部によって予測された移動先とは異なる場所へ移動していると判定した場合に、前記第１プロセス移転処理部の処理もしくは前記第２プロセス移転処理部の処理を中止させる移動制御部と、
を備える計算機。
【請求項１２】
前記移動体端末移動先予測部は、予測確定先を予測する予測確定先予測部を有し、
前記移動制御部は、前記判定部が前記移動体端末は前記予測確定先に到達したと判定した場合に、前記第２プロセス移転処理部の処理を開始する、
請求項１１に記載された計算機。
【請求項１３】
前記移動制御部は、
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第１プロセス移転部の処理を実行中の場合は、
前記第１プロセス移転部の処理を中止させ、前記移動体端末移動先予測部に移動先を再度予測させる、
請求項１１または請求項１２のうちのいずれか１項に記載された計算機。
【請求項１４】
前記移動制御部は、
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第２プロセス移転部の処理を実行中の場合は、
前記第２プロセス移転部の処理を完了させる、
請求項１１から請求項１３のうちのいずれか１項に記載された計算機。
【請求項１５】
前記移動制御部は、
前記判定部が前記移動体端末は前記移動体端末移動先予測部の予測とは異なる場所に移動していると判定した時点で、前記第２プロセス移転部の処理を実行中の場合は、
前記第２プロセス移転部の処理を中止し、前記移動対象プロセスの動作を再開させ、前記移動体端末移動先予測部に前記移動体端末の移動先を再度予測させる、
請求項１１から請求項１３のうちのいずれか１項に記載された計算機。
【請求項１６】
ネットワークを介して他の計算機と通信する通信部と、
前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行部と、
（Ｃ−１）前記ネットワークを介して移動対象プロセスのコピーを受信するコピー受信部、および、
（Ｃ−２）前記コピーを用いて、前記移動対象プロセスを復元するプロセス復元部、を有する第１プロセス受入処理部と、
（Ｄ−１）前記ネットワークを介して前記コピー生成後の前記移動対象プロセスの実行記録を受信する実行記録受信部、および、
（Ｄ−２）前記実行記録を用いて、前記移動対象プロセスの動作を再生するプロセス再生部、
を有する第２プロセス受入処理部と、
前記ネットワークを介して中止指令を受信した場合に、前記第１プロセス受入処理部の処理もしくは前記第２プロセス受入処理部の処理を中止させる移動制御部と、
を備える計算機。
【請求項１７】
前記ネットワークに接続された移動体端末の所在を監視する所在監視手段と、
前記ネットワークを介して、前記移動体端末の予測移動先を受信する予測移動先受信部と、
前記移動体端末が前記予測移動先に移動しているか否か判定する判定部と、
を有し、
前記移動制御部は、前記判定部が前記移動端末は前記予測移動先とは異なる場所に移動していると判定した場合に、前記第１プロセス受入処理部の処理もしくは前記第２プロセス受入処理部の処理を中止させる、
請求項１６に記載された計算機。
【請求項１８】
ネットワークを介して他の計算機と通信する通信手段と、
前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行手段と、
前記移動体端末の所在を監視する所在監視手段と、
前記移動体端末の移動先及び予測確定先を予測する移動先予測部と、
前記移動先予測部で予測した移動先を無線通信可能範囲内に含む移動先無線基地局から自計算機までのネットワーク的な距離よりも、移動先無線基地局からのネットワーク的な距離が近い第１の計算機を検索するプロセス移動先検索部と、
実行中のプロセスのコピーを生成し、これを前記第１の計算機に送信する第１のプロセスマイグレーション送信処理部と、
前記所在監視手段によって前記移動体端末が予測確定先に到達したと判明してから前記実行中のプロセスを停止させてコピーとの差分を前記第１の計算機に送信する第２のプロセスマイグレーション送信処理部と、
前記所在監視手段から前記移動体端末の現在位置を取得し、
前記移動体端末が予測と異なる位置に向かって移動していると判断した場合には、前記移動先予測部に移動先の再度予測を行わせて、前記プロセス移動先検索部に再度移動先計算機の検索を行わせて、前記第１のプロセスマイグレーション送信処理部に再度処理を行わせて、
前記移動体端末が予測確定先に到達した場合には、前記第２のプロセスマイグレーション送信処理部に処理を行わせる制御部と、
を有する計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動体端末のユーザにサービスを提供する計算機システムに採用されるプロセスマイグレーション方法に関する。
【０００２】
【従来の技術】
無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（Ｒ）といった無線技術の普及により、オフィスや家庭の固定された計算機を利用する以外にも、外出先で、ノートパソコンやＰＤＡ等の移動体端末を用いてネットワークにアクセスすることが容易になった。
【０００３】
移動体端末のユーザは、オフィスや家庭の計算機を利用して得られるサービスをどこでも同様に受けられることを望む。しかし、移動体端末の処理能力はオフィスや家庭の計算機の処理能力に比べて乏しいため、提供可能なサービスには限りがある。そこで、ネットワーク上に存在する計算機サーバの持つリソース（ＣＰＵの処理能力、メモリ、ハードディスク等）を利用してサービスを受ける方法が取られる。
【０００４】
移動体端末は基地局を介して計算機サーバと通信を行ってサービスを受けるので、移動体端末が現在利用している基地局と計算機サーバとがネットワーク的に近い、すなわち、基地局と計算機サーバとの間に存在する他の計算機や通信制御装置（ルータ、ハブ、ブリッジ）等のパケットを中継・転送する装置が少ない方が、計算機サーバからのレスポンスの向上、リソースの節減（特に通信帯域の節減）、負荷の分散等の面で望ましい。
【０００５】
しかし、移動体端末はユーザの移動に伴って通信に用いる基地局を適宜切り替えながら計算機サーバと通信を行う。そのため、ある時刻においては基地局と計算機サーバとがネットワーク的に近くても、移動体端末が移動して通信に用いる基地局が変わった別の時刻には基地局と計算機サーバとがネットワーク的に遠くなってしまうことがしばしば起こる。
【０００６】
基地局と計算機サーバとがネットワーク的に遠くなると、計算機サーバからのレスポンスが悪化したり、計算機サーバと基地局との間に存在する他の計算機や通信制御装置等で使用可能な通信帯域を消費したり、特定の計算機サーバに負荷が集中するといった問題が起こり易い。
【０００７】
上記の問題を解決するためには、サービスを実現するために計算機サーバ上で動作するプロセスを、移動体端末が通信に用いる基地局からネットワーク的に近い他の計算機サーバへ移動させればよい。
【０００８】
計算機間でプロセスを移動させる技術に「プロセスマイグレーション」と呼ばれるものがある。プロセスマイグレーションとは、プロセスが利用しているアドレス空間上のコードを含む全データと、ＣＰＵレジスタ値、そして、プロセスがオープンしていたファイル情報のようなプロセス実行時の状態を複製したものをプロセス移動先の計算機に移送し、プロセス移動先計算機において上記のプロセス状態と同じ状態を持ったプロセスを生成して、実行するものである。
【０００９】
移動体端末が移動した場所に実行中のプロセスを移動させる技術は、例えば特許文献１や非特許文献１で開示されている。
【００１０】
特許文献１で開示されている技術によると、プロセスの移動は移動体端末が移動したことを確認した後に開始される。
【００１１】
しかし、プロセスの移動にはある程度時間を要するため、プロセスの移動が完了した時には、移動体端末は既に他の場所に移動している可能性がある。
【００１２】
この場合、サービスを提供するプロセスとサービスを受ける移動体端末との位置は依然離れたままであるため、サービス提供の遅延や、通信帯域の消費、そして特定の計算機への負荷の偏りといった、前述の問題を十分に解消することができない。
【００１３】
非特許文献１で開示されている技術はプロセスマイグレーションの中でも「ＰｒｅＣｏｐｙ方式」と呼ばれるものである。
【００１４】
ＰｒｅＣｏｐｙ方式は、プロセスを実行したままで事前にアドレス空間の全内容を移送しておき、最終的にプロセスを停止して、アドレス空間の内容のうち先の移送後に変更された内容と他のプロセス状態を移送する技術である。
【００１５】
しかし、ＰｒｅＣｏｐｙ方式は、プロセスマイグレーション開始前にプロセスを移送する計算機を決定しておく必要があり、プロセスマイグレーション実行中に移動体端末が予測外の移動を行った場合への対応等、移送先計算機を柔軟に変更することが考慮されているものではない。
【００１６】
【特許文献１】
特開平９−１０７５７７号公報
【００１７】
【非特許文献１】
Ｍ．Ｔｈｅｉｍｅｒ，Ｋ．Ｌａｎｔｚ，Ｄ．Ｃｈｅｒｉｔｏｎ．  「Ｐｒｅｅｍｐｔａｂｌｅ  ａｎｄ  ｒｅｍｏｔｅ  ｅｘｅｃｕｔｉｏｎ  ｆａｃｉｌｉｔｉｅｓ  ｆｏｒ  ｔｈｅ  Ｖ−ｓｙｓｔｅｍ．」  Ｉｎ  １０ｔｈ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍｓ  Ｐｒｉｎｃｉｐｌｅｓ，ｐａｇｅｓ２−１２，１９８５
【００１８】
【発明が解決しようとする課題】
上述のように、移動体端末は移動するために、移動体端末と移動体端末にサービスを提供するプロセスの間の距離が離れてしまうことから生じる問題を解決するために、移動体端末の移動位置にプロセスを移動させる方法がある。
【００１９】
しかし、移動体端末が移動したことを確認した後にプロセスを移動させたのでは、プロセスの移動中に移動体端末が他の場所に移動してしまうという問題があった。
【００２０】
本発明は、このような点に鑑みてなされたもので、移動体端末の移動に正確・柔軟に対応したプロセスマイグレーションを実現して、移動体端末とプロセスを実行する計算機とがネットワーク的に離れて存在することにより生じる移動体端末へのサービス遅延を改善することを目的とする。
【００２１】
【課題を解決するための手段】
上記課題を解決するため、本発明のプロセスマイグレーション方法は、ネットワークを介して共通に接続された複数の計算機と、前記ネットワークに接続された複数の無線基地局と、前記無線基地局を介して前記ネットワークに接続可能な移動体端末とを有する通信システムにおける、前記移動体端末が前記複数の計算機のうちの一つである第１の計算機に実行させているプロセスを前記複数の計算機のうちの一つである他の計算機に移動させるためのプロセスマイグレーション方法であって、前記第１の計算機は前記移動体端末の移動先を予測し、予測した移動先を無線通信範囲に含む移動先無線基地局から前記第１の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機に、前記第１の計算機で実行中のプロセスを移動させる。
【００２２】
本発明のプロセスマイグレーション方法は、ネットワークを介して接続された複数の無線基地局と、前記ネットワークを介して接続された複数の計算機と、前記無線基地局を介して前記ネットワークに接続可能な移動体端末とを有する通信システムにおける、前記移動体端末が前記複数の計算機のうちの一つである第１の計算機に実行させているプロセスを前記複数の計算機のうちの一つである他の計算機に移動させるためのプロセスマイグレーション方法であって、前記移動体端末の移動先の予測を行う移動体端末移動先予測ステップと、前記移動体端末移動先予測ステップで予測された移動先を無線通信可能範囲内に含む移動先無線基地局からプロセスを実行中の前記第１の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い第２の計算機が存在するかを検索するプロセス移動先検索ステップと、前記プロセス移動先検索ステップにおいて第２の計算機が存在する場合に、前記第１の計算機で実行中のプロセスを前記第２の計算機に移動させるプロセス移動ステップと、前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先に向かって移動しているか否かを判定する判定ステップと、前記判定ステップにおいて、前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先とは異なる場所へ移動していると判定された場合に、前記プロセス移動ステップの処理を中止させる中止ステップとを有する。
【００２３】
また、前記プロセス移動ステップは、第１の計算機において移動対象プロセスのコピーを生成し、第１の計算機で前記移動対象プロセスの実行記録を生成しながら実行すると共に第１の計算機から第２の計算機へ前記コピーを送信し、第２の計算機において前記コピーを元に前記移動対象プロセスを復元する第１段階の手順と、第１の計算機で実行中の前記移動対象プロセスの動作を停止させ、前記第１の手順の実行開始後から前記移動対象プロセスの停止時までに生成された前記実行記録を第１の計算機から第２の計算機に送信し、前記実行記録をもとに第２の計算機において移動対象プロセスの動作を再生する第２段階の手順とを有することを特徴としても良い。
【００２４】
また、前記移動体端末移動先予測ステップでは、移動先の予測に加えて予測確定先も予測し、前記プロセス移動ステップでは、前記判定ステップにおいて前記移動体端末が前記予測確定先に到達したと判定されてから、前記第２段階の手順の実行を開始させることを特徴としても良い。
【００２５】
また、前記中止ステップでは、前記判定ステップで前記移動体端末が前記移動体端末移動先予測ステップで予測された移動先と異なる場所に移動していると判定された時点で、前記プロセス移動ステップの前記第１の手順の実行開始後であって前記第２の手順の実行開始前の状態である場合は、前記プロセス移動ステップの処理を中止するとともに、前記移動体端末移動先予測ステップを再び実行することを特徴としても良い。
【００２６】
また、前記中止ステップでは、前記判定ステップで前記移動体端末が予測と異なる場所に移動していると判定された時点で、前記プロセス移動ステップの前記第１の手順の実行開始後であって前記プロセス移動ステップの前記第２の手順の実行開始前の状態である場合は、前記プロセス移動ステップの処理を中止するとともに、前記移動先予測ステップを再び実行し、前記プロセス移動ステップの前記第２の手順の実行開始後の状態である場合は、前記プロセス移動ステップの処理を完了させることを特徴としても良い。
【００２７】
また、前記中止ステップでは、前記判定ステップで前記移動体端末が予測と異なる場所に移動していると判定された時点で、前記プロセス移動ステップの前記第１の手順の実行開始後であって前記プロセス移動ステップの前記第２の手順の実行開始前の状態である場合は、前記プロセス移動ステップの処理を中止するとともに、前記移動先予測ステップを再び実行し、前記プロセス移動ステップの前記第２の手順の実行開始後の状態である場合は、前記プロセス移動ステップの処理を中止し、第１の計算機において移動対象プロセスを再び動作させるとともに前記移動先予測ステップを再び実行することを特徴としても良い。
【００２８】
本発明の通信システムは、ネットワークを介して共通に接続された複数の計算機と、前記ネットワークに接続された複数の無線基地局とを有し、前記複数の計算機のそれぞれは、前記無線基地局を介して前記ネットワークに接続している移動体端末の移動先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機に、実行中のプロセスを移動させるプロセスマイグレーション処理部とを備える。
【００２９】
本発明の計算機は、ネットワークを介して他の計算機と通信する通信手段と、前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末の移動先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信範囲に含む移動先無線基地局から現在プロセスを実行中の計算機までのネットワーク的な距離よりも、前記移動先無線基地局からのネットワーク的な距離が近い他の計算機に、実行中のプロセスを移動させるプロセスマイグレーション処理部とを有する。
【００３０】
本発明の計算機は、ネットワークを介して他の計算機と通信する通信手段と、前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末の所在を監視する所在監視手段と、前記移動体端末の移動先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信可能範囲内に含む移動先無線基地局から自計算機までのネットワーク的な距離よりも、移動先無線基地局からのネットワーク的な距離が近い第１の計算機を検索するプロセス移動先検索部と、実行中のプロセスのコピーを生成し、これを前記プロセス移動先検索部で検索した第１の計算機へ送信するプロセス送信部と、前記所在監視手段から前記移動体端末の現在位置を取得して、前記移動体端末が前記移動先予測部の予測と異なる位置に向かって移動していると判断した場合には、前記プロセス送信部の処理を中止させる制御部とを有する。
【００３１】
本発明の計算機は、ネットワークを介して他の計算機と通信する通信手段と、前記ネットワークに接続された無線基地局を介して前記ネットワークに接続している移動体端末からの要求に応じてプロセスを実行するプロセス実行手段と、前記移動体端末の所在を監視する所在監視手段と、前記移動体端末の移動先及び予測確定先を予測する移動先予測部と、前記移動先予測部で予測した移動先を無線通信可能範囲内に含む移動先無線基地局から自計算機までのネットワーク的な距離よりも、移動先無線基地局からのネットワーク的な距離が近い第１の計算機を検索するプロセス移動先検索部と、実行中のプロセスのコピーを生成し、これを前記第１の計算機に送信する第１のプロセスマイグレーション送信処理部と、前記所在監視手段によって前記移動体端末が予測確定先に到達したと判明してから前記実行中のプロセスを停止させてコピーとの差分を前記第１の計算機に送信する第２のプロセスマイグレーション送信処理部と、前記所在監視手段から前記移動体端末の現在位置を取得し、前記移動体端末が予測と異なる位置に向かって移動していると判断した場合には、前記移動先予測部に移動先の再度予測を行わせて、前記プロセス移動先検索部に再度移動先計算機の検索を行わせて、前記第１のプロセスマイグレーション送信処理部に再度処理を行わせて、前記移動体端末が予測確定先に到達した場合には前記第２のプロセスマイグレーション送信処理部に処理を行わせる制御部とを有する。
【００３２】
【発明の実施の形態】
（第１の実施形態）以下、図面を参照して本発明の第１の実施形態について説明する。図１、図２は、本発明の第１の実施形態に係る通信システムの構成を示すブロック図である。
【００３３】
図１は、ユーザが使用する移動体端末と、移動体端末と無線通信を行う無線基地局Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆと、移動体端末の要求に応じてプロセスを実行する計算機Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆと、各無線基地局と各計算機とを結ぶネットワークと、ネットワーク上の通信データを適切な宛先に転送する通信制御装置Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆとを備えた通信システムである。
【００３４】
計算機Ａ，Ｂ，Ｃ，Ｄ，Ｅ，ＦはいわゆるＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）の類であり、ＣＰＵ（中央演算処理装置）、メモリ、ＨＤＤ（ハードディスクドライブ）等を備えたコンピュータであり、ネットワークを介して共通に接続されて相互に通信可能な状態になっている。
【００３５】
無線基地局Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆは、例えばワイヤレスＬＡＮのアクセスポイントのようなものである。これは通信システムの規模に応じて適宜変えれば良く、場合によっては携帯電話等の基地局のようなものを用いても良い。
【００３６】
通信制御装置Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆとしては、例えば、スイッチングハブやルータあるいはこれらの機能を有する計算機等がある。また、図面では説明を簡単にするために移動体端末は１台しか記載されていないが、実際には複数台存在していて良い。
【００３７】
ここで、計算機Ａと無線基地局Ａと通信制御装置Ａ、計算機Ｂと無線基地局Ｂと通信制御装置Ｂ、計算機Ｃと無線基地局Ｃと通信制御装置Ｃ、計算機Ｄと無線基地局Ｄと通信制御装置Ｄ、計算機Ｅと無線基地局Ｅと通信制御装置Ｅ、計算機Ｆと無線基地局Ｆと通信制御装置Ｆは、共にそれぞれ地点Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆに存在する。
【００３８】
例えば、Ａ地点にいる移動体端末がネットワーク上の計算機Ａでプロセスを実行する場合は、次のようになる。
【００３９】
Ａ地点の移動体端末は最寄の無線基地局Ａと接続する。そして、移動体端末は無線基地局Ａと通信制御装置Ａとを経由してネットワーク上の計算機Ａにアクセスしてサービスを要求する。計算機Ａは要求に応じてプロセスを実行開始する。こうすることで、移動体端末はネットワーク上の計算機リソースを利用して、オフィスや家庭の計算機を利用する場合と同等のサービスを受けることが可能となる。
【００４０】
図１で、Ａ地点で計算機Ａと通信中の移動体端末がＤ地点に移動した場合は、無線基地局Ｄ―＞通信制御装置Ｄ―＞通信制御装置Ｃ―＞通信制御装置Ｂ―＞通信制御装置Ａ―＞計算機Ａという経路によって通信が行われることになる。
【００４１】
しかし、このまま計算機Ａでプロセスを実行して移動体端末にサービスを提供すると、複数の通信制御装置（システムの構成によっては計算機も含む）を経て通信を行うのでネットワーク資源の無駄になる。また、途中のネットワーク上に悪意を持った人間によって設置された計算機が存在する場合、移動体端末と計算機Ａとの通信内容が傍受されたり或いは通信データが改竄されるなど、セキュリティー面でも問題がある。
【００４２】
そこで、本実施形態の通信システムは、移動体端末にサービスを提供する計算機Ａは移動体端末の移動先の予測を行い、例えば移動体端末がＤ地点に向かって移動していると予測した場合は、移動体端末がＤ地点到達する前に計算機Ａで実行中のプロセスを計算機Ｄへ移動開始させ、ネットワーク資源を節減するとともにプロセスのレスポンスを向上させるものである。
【００４３】
尚、本実施形態の通信システムでは、無線基地局と計算機とが一対一の対応になっているが、状況に応じて対応関係は適宜変えて良い。例えば、移動体端末が要求するサービスの数が多大なケースでは１つの無線基地局に複数の計算機を対応させて設置し、計算機の負荷を分散（ラウンドロビン方式や負荷が低い計算機に対して優先的に新たなサービス要求を割り当てる方式等を利用）させたり、逆に、無線基地局の通信範囲に比べて広範囲に分散する移動体端末にサービスを提供する場合、例えば建物の中などにおいて出力の弱い無線基地局を多数設置してサービスを提供するケース等、であれば、１台の計算機に複数の無線基地局を対応させて設置することも考えられる。
【００４４】
（プロセスマイグレーション処理の概要）本実施形態の通信システムにおけるプロセスマイグレーション処理は大きく２段階に分かれている。ここでは計算機Ａで実行中のプロセスを、移動予測先である計算機Ｂに移動させる場合を例に概要の説明を行う。
【００４５】
第１段階では、計算機Ａにおいて、移動対象のプロセスを実行したまま当該プロセスのコピーを生成する。すなわち、当該プロセスが使用しているアドレス空間の全データを読み出してそのコピーを生成する。そして、計算機Ａは移動予測先である計算機Ｂにアドレス空間のデータのコピーを送信する。計算機Ｂではこれを受信して計算機Ｂのアドレス空間上でプロセスの復元を行う。
【００４６】
第２段階では、計算機Ａにおいて、移動対象プロセスの実行を停止し、アドレス空間のデータのうち第１段階終了時以降に変更されたものと、ＣＰＵのレジスタの値と、オープンしていたファイルの情報等を計算機Ｂに送信する。そして、計算機Ｂではこれらを受信して、プロセス停止時の状態を再現する。
【００４７】
第１段階は移動対象プロセスを実行したまま行われるので、例えば第１段階終了後に、移動予測先が計算機Ｂではなく計算機Ｄであったことが判明したように予測が外れた場合にプロセスマイグレーション処理を中止してやり直しても、移動対象プロセスには何ら影響がない。つまり、第１段階が終了時の状態であれば、プロセスの移動先の変更をいつでも行うことができる。
【００４８】
また、第２段階ではアドレス空間のデータのうち第１段階終了時以降に変更があった内容だけを送信するので、第１段階に比べてデータ量が少なく済み高速処理が可能となる。これにより、移動体端末が移動するタイミングにあわせて第２段階の処理を行っても移動体端末の到着前にプロセスを移動完了させることも、あるいは移動体端末の到着後遅滞無くプロセスを移動完了させることもできる。すなわち、任意のタイミングでプロセスを移動させることができるのである。
【００４９】
（通信システムの詳細）
図２は本実施形態の通信システムの詳細な説明のために、図１のＡ地点及びＢ地点の部分を抜粋した図である。
【００５０】
図１と同様、計算機Ａ，Ｂと通信制御装置Ａ，Ｂと無線基地局Ａ，Ｂとはネットワークで接続されている。そして、移動体端末は現在地から最寄の無線基地局ＡまたはＢを利用して計算機Ａ，Ｂと通信を行い、サービスを受ける。
【００５１】
無線基地局Ａ，Ｂは自分に接続している移動体端末からの通信データに自分の識別情報を付加して目的となる計算機へ転送する。例えば、移動体端末が無線基地局Ｂを介して計算機Ａと通信を行っている場合ならば、無線基地局Ｂは移動体端末から計算機Ａに送信される通信データに「無線基地局Ｂを利用」という旨の情報を付加して計算機Ａへ転送する。この情報は計算機Ａで移動体端末の現在地を把握するために用いられる。
【００５２】
ネットワークの途中にある通信制御装置Ａ，Ｂは、通信データを適切な宛先に向けて転送する。
【００５３】
計算機Ａ，Ｂはそれぞれ、プロセス管理機構Ａ，Ｂと、ユーザ移動予測部Ａ，Ｂと、プロセスマイグレーション処理部Ａ，Ｂとを有する。本実施形態では、これらは計算機Ａ，Ｂ上で動作させるＯＳ（オペレーティングシステム）のカーネルが持つ１機能として実装しておくものとする。尚、これらは１プロセスとして実装してあっても良い。
【００５４】
プロセス管理機構は、無線基地局を経由して移動体端末からの要求を受け取る。そして、プロセスの生成・実行やプロセスへのデータ転送を行うとともに、プロセスの出力結果を受け取って無線基地局を経由して移動体端末へ転送する。また、移動体端末が利用している無線基地局の識別情報を抽出してユーザ移動予測部に通知する。
【００５５】
ユーザ移動予測部は、図３に示すような、システム内の全ての無線基地局の位置（ある点を基準点とした座標）と各無線基地局からネットワーク的に最寄の計算機を示すシステム構成マップを持つ。このシステム構成マップの情報と前述のプロセス管理機構から与えられる無線基地局の識別情報から推定される移動体端末の位置情報とを用いて移動体端末の移動経路を予測し、予測に基づいてプロセスマイグレーション処理部にプロセスマイグレーションの第１段階の処理を開始するよう通知する。
【００５６】
第１段階の処理開始以後は移動経路の予測が正しいか検証を行う。そして、予測が正しいことが確定するとプロセスマイグレーション処理部にプロセスマイグレーションの第２段階の処理を行うように通知する。一方、予測が誤っていた場合は移動経路の予測をやり直す。
【００５７】
プロセスマイグレーション処理部は、ユーザ移動予測部からの指示によりプロセスマイグレーションの第１段階及び第２段階の処理を開始する。また、ユーザ移動予測部からの要求に応じて、プロセスマイグレーション処理に要する時間を見積もりを出す。
【００５８】
計算機Ａから計算機Ｂにプロセスが移動する場合の第１段階の処理では、プロセスマイグレーション処理部Ａはプロセスマイグレーション処理部Ｂにアドレス空間のデータの送信を行う。そして、プロセスマイグレーション処理部Ｂは受信したデータをもとにプロセスを計算機Ｂのアドレス空間上に復元する。
【００５９】
第２段階の処理についても同様で、プロセスマイグレーション処理部Ａが送信した情報をプロセスマイグレーション処理部Ｂが計算機Ｂ上のプロセスに反映させる。
【００６０】
プロセスマイグレーション処理に要する時間は、例えばプロセスマイグレーションの第１段階の処理時に送信する情報（前述の通り、プロセスのアドレス空間の全データ）の量と移動先計算機までの通信速度を用いて概算する。
移動体端末は、要求したサービスに対応するプロセスがどの計算機のどのプロセスであるかを管理するために、図４に示すようなプロセス管理テーブルを持っている。
【００６１】
プロセスＩＤの項目には移動体端末からの要求によりネットワーク上の計算機で実行されているプロセスの識別ＩＤを登録しておき、計算機ＩＤの項目には対応プロセスが実行されている計算機の識別ＩＤが登録される。計算機の識別ＩＤには計算機に固定のＩＰアドレスを使用しても良い。
【００６２】
尚、本実施形態では通信システムのサーバ側システムは、図２のように計算機Ａ，Ｂ・・と、無線基地局Ａ，Ｂ・・と、通信制御装置Ａ，Ｂ・・とを含む構成にしてあるが、図５のように、無線基地局Ａ，Ｂ・・・の代わりに、計算機Ａ，Ｂ，・・・に無線ポート部Ａ，Ｂ・・・を内蔵してもよい。この場合、移動体端末は無線ポート部を介して計算機Ａ，Ｂ・・・と通信を行う。
【００６３】
（プロセスの起動）以下に、本実施形態において、図１のＡ地点の移動体端末が計算機Ａにサービスを要求し、計算機Ａがこれに応じてプロセスを開始する場合の処理の流れを示す。
【００６４】
（１）Ａ地点の移動体端末は、無線インタフェースを用いて無線基地局Ａと接続される。
（２）移動体端末は、移動体端末から計算機Ａにサービスを要求する。
（３）無線基地局Ａは、移動体端末から計算機Ａへのサービス要求に無線基地局Ａ固有のＩＤを付加して計算機Ａのプロセス管理機構に転送する。
【００６５】
（４）計算機Ａのプロセス管理機構は要求されたサービスを実行するプロセスを生成し、システム内で一意のプロセスＩＤを付ける。
（５）計算機Ａのプロセス管理機構は、基地局のＩＤとプロセスＩＤの組をユーザ移動予測部に通知する。
（６）ユーザ移動予測部は後述する図６の処理を行って移動体端末の移動に備える。
【００６６】
（７）計算機Ａのプロセス管理機構は、プロセスの実行を開始してプロセスＩＤをサービスを要求した移動体端末に送信する。
（８）移動体端末は、計算機Ａから送信された計算機Ａの識別ＩＤとプロセスＩＤを組にしてプロセス管理テーブルに登録する。
【００６７】
上記の処理（４）において、プロセス管理機構が設定するプロセスＩＤは、例えば、「移動体端末のＩＤ」＋Ｎ（正の整数値）のような値（システム内で一意の値）に定めると、プロセスの要求元である移動体端末ＩＤをプロセスＩＤから容易に判別することが可能となる。
【００６８】
（移動体端末の移動に伴う通信システム全体の処理の概要）次に、本実施形態において、図１のＡ地点にいた移動体端末が計算機Ａでサービスを開始した後に、サービスを継続したままＢ地点に移動した場合の処理の流れを示す。
【００６９】
（１）Ｂ地点に移動した移動体端末は無線基地局Ｂとの接続を開始する。
（２）移動体端末はプロセス管理テーブルを参照してサービスを提供しているプロセスを実行中の計算機（ここでは計算機Ａ）のＩＤを取得し、同計算機を宛先としてプロセスへの通信要求を無線基地局Ｂに送る。
（３）無線基地局Ｂは、移動体端末からの要求に無線基地局Ｂ固有のＩＤを付加して計算機Ａに転送する。
【００７０】
（４）計算機Ａは、受け取ったデータをプロセス管理機構Ａに転送する。
（５）プロセス管理機構Ａは、移動体端末から受け取ったデータをサービスを提供しているプロセスに渡すとともに、無線基地局のＩＤとプロセスＩＤの組をユーザ移動予測部に通知する。
（６）ユーザ移動予測部は後述する図６の処理を行って移動体端末の移動に対応した処理を行う。
【００７１】
（ユーザ移動予測部の動作の概要）次に、ユーザ移動予測部の動作の概要を説明する。
【００７２】
通常、ユーザの所在地と移動体端末の所在地は同一であるので、ユーザの移動先の予測結果と移動体端末の移動先の予測結果とは同一である。そこで、本実施形態のユーザ移動予測部では移動体端末の移動先予測を行う。
【００７３】
ユーザ移動予測部は、図７に示すような移動予測マップを持つ。
【００７４】
プロセスＩＤの項目にはサービスを提供するプロセスの識別ＩＤを登録し、初期地点の項目には移動体端末がサービスを要求した時に移動体端末が利用していた無線基地局のＩＤを登録し、Ｔｉｍｅの項目にはサービスを要求した移動体端末を移動予測マップへ登録した時刻を登録し、後にユーザ移動予測部が移動体端末の移動速度を計算する場合に使用する。
【００７５】
また、予測経路マップへのポインタの項目には、サービスを要求した移動体端末が移動先で別の計算機に接続したことが通知された時に、新たに後述する予測経路マップを作成しそのメモリ上のアドレスを登録する。
【００７６】
予測経路マップには、ユーザ移動予測部が予測した経路上の無線基地局からネットワーク的に最寄の計算機の計算機ＩＤと、各計算機に応じたＭｉｇｒａｔｉｏｎフラグ、そして、ユーザ移動予測部に移動通知された移動体端末の到着時刻が登録される。
【００７７】
Ｍｉｇｒａｔｉｏｎフラグの種類には、Ｄｅｓｔｉｎａｔｉｏｎ、Ｆｉｘ、ＯＫの３種類がある。これらのフラグは排他的なものではなく、例えばＯＫフラグとＦｉｘフラグが同時に立っても構わない。以下、各フラグの意味を説明する。
【００７８】
（１）Ｄｅｓｔｉｎａｔｉｏｎフラグは、その無線基地局からネットワーク的に最寄の計算機がプロセスの移動先であることを示す。
（２）Ｆｉｘフラグは、「移動体端末がその無線基地局を利用する場所に到達した時点で移動先予測が正しいと確定させ、プロセスマイグレーションの第２段階を開始させる」ポイントとなる無線基地局であることを示す。
（３）ＯＫフラグは、移動体端末がその無線基地局を利用する場所に既に到達した（既に通過した場合も含む）ことを示す。
【００７９】
（ユーザ移動予測部の動作）以下図６、８、９を用いてユーザ移動予測部の処理の流れを説明する。
【００８０】
図６は、プロセス管理機構からプロセスＩＤと無線基地局ＩＤを通知された時のユーザ移動予測部の処理の流れを示している。
【００８１】
（Ｓ６０１）プロセス管理機構からプロセスＩＤと無線基地局ＩＤが通知される。
（Ｓ６０２）通知されたプロセスＩＤが移動予測マップに登録されているかを調べる。
【００８２】
（Ｓ６０３）通知されたプロセスＩＤが、移動予測マップに登録されていない場合は、移動予測マップにプロセスＩＤと無線基地局ＩＤと現在時刻とを登録し、対応する予測経路マップポインタはＮＵＬＬ（予測経路マップが存在しないことを表す）にする。そしてＳ６０５の処理を行う。
（Ｓ６０４）通知されたプロセスＩＤが移動予測マップに登録されている場合は、通知されたプロセスＩＤに対応する予測経路マップポインタの値を調べる。
【００８３】
（Ｓ６０５）予測経路マップポインタがＮＵＬＬの場合は、後述する図８の処理を行って予測経路マップを作成する。
（Ｓ６０６）予測経路マップポインタがＮＵＬＬではない場合は、後述する図９の処理を行って予測経路マップ通りに移動体端末が移動しているかを確認する。
【００８４】
図８は、ユーザ移動予測部において予測経路マップを作成する処理を示している。
【００８５】
（Ｓ８０１）移動予測マップに登録されている無線基地局のＩＤ（ここではＡとする）と通知された無線基地局ＩＤ（ここではＢとする）の位置をシステム構成マップによりそれぞれ取得する。
【００８６】
（Ｓ８０２）無線基地局Ａから無線基地局Ｂまでの移動体端末の移動速度Ｖuを以下の方法により求める。まず、Ｓ８０１で取得した無線基地局Ａ，Ｂの位置を用いて、無線基地局Ａから無線基地局Ｂまでの距離ＬA-Bを計算する。そして、移動予測マップのＴｉｍｅに登録されている時間ＴAと現在時刻（今、無線基地局Ｂの通信範囲内にいるのでＴBを用いる）とを用いて、無線基地局Ａから無線基地局Ｂまでの移動体端末の移動時間ＴA-Bを計算する。そして、Ｖu＝ＬA-B÷ＴA-Bを計算する。
【００８７】
（Ｓ８０３）Ｓ８０１で取得した値を用いて、無線基地局Ａから見た無線基地局Ｂのある方向を計算して、移動体端末の移動方向を求める。
【００８８】
（Ｓ８０４）プロセスマイグレーション処理部から、プロセスマイグレーションにかかる時間ＴMIGを取得する。ＴMIGは前述の通り、プロセスマイグレーションの第１段階の処理で送信するデータ量と移動先計算機までの通信速度とを用いて概算された値である。
【００８９】
（Ｓ８０５）移動体端末の移動先を予測してプロセスマイグレーションによるプロセスの移動先を決定する。移動先の予測は、移動先において使用される無線基地局を予測することで行う。
【００９０】
まず、システム構成マップから移動体端末の移動方向にある無線基地局の位置を取得する。そして、関係式Ｌx÷Ｖu＞ＴMIG×Ｆを用いて、移動体端末の到着よりも先にプロセスマイグレーションの完了が可能な計算機を最寄の計算機とする無線基地局を求める。ただし、Ｌxは無線基地局Ａから無線基地局Ｘ（Ｘは移動体端末の移動方向にある無線基地局）までの距離で、Ｆはプロセスマイグレーションに影響を及ぼす要因を反映させるための係数で、例えば通信速度の変動や移動先及び移動元計算機の負荷状態などに基づいて算出される量である。
【００９１】
このようにして求められた無線基地局のうち、現在接続中の無線基地局から最も近い位置にある無線基地局を選び（ここでは無線基地局Ｄとする）、この無線基地局Ｄが存在するＤ地点を移動先と予測する。また、無線基地局Ｄの最寄の計算機（ここでは計算機Ｄとする）をプロセスマイグレーション先に決定する。
【００９２】
（Ｓ８０６）移動体端末が、Ｓ８０５で予測されたＤ地点に至る経路上のどの地点に到達したら、プロセスマイグレーションの第２段階の処理を開始するかを決定する（ここではＣ地点とする）。
【００９３】
（Ｓ８０７）Ｓ８０５、Ｓ８０６の結果に基づいて予測経路マップを作成して移動予測マップに登録する。移動予測マップには、現在地点を先頭に予測地点までの全地点を経路順に登録する。この時点で予測経路マップに設定されるＭｉｇｒａｔｉｏｎフラグは次のようになる。Ｓ８０５で移動先と予測された地点、すなわちＤ地点については「Ｄｅｓｔｉｎａｔｉｏｎ」フラグを立てる。Ｓ８０６で決定された地点、すなわちＣ地点については「Ｆｉｘ」フラグを立てる。
【００９４】
（Ｓ８０８）プロセスマイグレーション処理部にＳ８０５の結果を通知し、プロセスマイグレーション処理の第１段階を開始させる。
【００９５】
図９は、予測経路マップの通りに移動体端末が移動しているかを確認する処理を示している。
【００９６】
（Ｓ９０１）予測経路マップに登録された地点を順次参照しシステム構成マップから各地点に該当する無線基地局ＩＤを調べる。
（Ｓ９０２）そして、Ｓ９０１で調べた無線基地局ＩＤの中にプロセス管理機構から通知された無線基地局ＩＤと同一のものがあるかを調べる。
【００９７】
（Ｓ９０３）Ｓ９０２において同一の無線基地局ＩＤが存在しない場合は、移動体端末は予測した経路に反して移動したと考えられるので、予測をやり直すために図８の処理を行う。
（Ｓ９０４）一方、同一の無線基地局ＩＤが存在した場合は移動体端末は予測した経路の通りに移動したので、ＭｉｇｒａｔｉｏｎフラグにＦｉｘフラグが立っているかを調べる。
【００９８】
（Ｓ９０５）Ｆｉｘフラグが立っている場合は、プロセスマイグレーション処理部にプロセスマイグレーションの第２段階の処理を開始するように通知する。（Ｓ９０６）Ｆｉｘフラグが立っていない場合はＭｉｇｒａｔｉｏｎフラグにＯＫフラグを立てておく。
【００９９】
（プロセスマイグレーション処理部の動作）図１０は、プロセスマイグレーション処理部の処理を示している。
【０１００】
（Ｓ１００１）ユーザ移動予測部からプロセスマイグレーション第１段階の処理開始の通知を受けて、プロセスマイグレーションの第１段階の処理を開始する。
【０１０１】
（Ｓ１００２）そして、ユーザ移動予測部からプロセスマイグレーション第２段階の処理開始の通知を受けるまで待機する。
（Ｓ１００３）ユーザ移動予測部からプロセスマイグレーション第２段階の処理開始の通知を受けてから、プロセスマイグレーション第２段階を開始する。
【０１０２】
（Ｓ１００４） プロセスマイグレーション第２段階の処理完了後、ユーザ移動予測部にプロセスマイグレーション処理が完了した旨を伝える。この通知を受けて、ユーザ移動予測部は移動予測マップから当該プロセスの項目を削除する。
【０１０３】
（Ｓ１００５）プロセス移動元の計算機から移動したプロセスの要求元である移動体端末にプロセス移動先の計算機を通知する。この通知を受けて、移動体端末はプロセス管理テーブルを更新する。これにより、移動体端末はプロセスマイグレーション後もプロセスと正常に通信を行うことが可能となる。
【０１０４】
プロセスマイグレーション処理部は、図１１に示すような方法でアドレス空間のコピーを生成し移動を行う。これは「ＰｒｅＣｏｐｙ」と呼ばれる方法に相当するものである。
【０１０５】
プロセスマイグレーション第１段階は、ユーザ移動予測部からプロセスマイグレーションの第１段階の処理を開始するように通知を受けた時に行う処理である。
【０１０６】
プロセスマイグレーションの第１段階の処理では、プロセスの実行は継続したままプロセスのアドレス空間の内容（ａ，ｂ’，ｃ，ｄ’）を全て読み出して、移動先の計算機のプロセスマイグレーション処理部へ送信する。そして、移動先計算機のプロセスマイグレーション処理部においてアドレス空間上に（ａ，ｂ’，ｃ，ｄ’）というデータが復元される。
【０１０７】
実行中のプロセスのアドレス空間の内容を読み出す手法の一例としては、例えばｐｒｏｃｆｓ（プロセス・ファイル・システム）を利用する手法が考えられる。
【０１０８】
プロセスマイグレーション第２段階は、ユーザ移動予測部からプロセスマイグレーションの第２段階の処理を開始するように通知を受けたときに行う処理である。
【０１０９】
プロセスマイグレーションの第２段階の処理では、プロセスの実行を停止する。そして、第１段階の処理終了後に変更された内容のみを移動先計算機のプロセスマイグレーション処理部に送信する。例えば図１１のように第１段階実行開始時に（ａ，ｂ’，ｃ，ｄ’）だったのが第２段階開始時に（ａ，ｂ’，ｃ’，ｄ’）になったとすると、第１段階実行中に変更された内容は（ｃ’）であるから、この部分を移動先計算機に送信する。
【０１１０】
アドレス空間以外のオープン中のファイルの状態やＣＰＵのレジスタ値等のプロセス状態は、プロセスマイグレーション第２段階で移送するものとする。
【０１１１】
プロセスマイグレーション第１段階では、移送するプロセスの実行は継続したままであるので、プロセスマイグレーションを中止し別の計算機に対してプロセスマイグレーションをやり直しても、実行中のプロセスには何ら影響がない。よって、プロセスマイグレーション第２段階開始前まではプロセスの移動先の変更はいつでも可能である。
【０１１２】
また、プロセスマイグレーション第２段階で移送するアドレス空間は、プロセスマイグレーション第１段階で移送した後に変更された内容のみとなるため、プロセスマイグレーション第２段階の処理は高速に行える。よって、移動体端末の移動先の予測が正しいということが確定してから、すなわち、移動体端末がＦｉｘフラグが立つ程度に予測地点に接近してからプロセスマイグレーション第２段階を開始しても、移動体端末が予測される移動先に到着するタイミングに合わせてプロセスを移動することが可能となる。
【０１１３】
アドレス空間の差分を求める手法には、第１段階で生成したアドレス空間のコピーと第２段階実行時のアドレス空間とを比較する方法があるが、この方法は広大なアドレス空間を利用するプロセスには適用し難い。
【０１１４】
他の手法としては、第１段階でコピーを生成した後は、アドレス空間への書き込みを監視しながらプロセスを実行し、アドレス空間への書き込みを検出したらその内容若しくはそのアドレス空間のアドレスを記録しておき、第２段階で差分を送信する際には記録をもとにして差分の情報を生成するという方法が考えられる。
【０１１５】
以上、本実施形態では移動体端末の移動先を予測してプロセスマイグレーション処理を行うが、プロセスマイグレーション処理を２段階に分けて行うことにより、予測が外れた場合であっても現在のプロセスマイグレーション処理を中止し、再度予測を行ってプロセスマイグレーション処理を行うことで対応することができるので、移動体端末の移動に正確に追従したプロセス移動を実現できる。
【０１１６】
これにより、移動体端末とプロセスを実行中の計算機がネットワーク的に離れて存在することにより生じるレスポンスの悪化や、通信帯域の浪費という問題を改善することができる。また、プロセスが移動体端末の移動に合わせて流動的に移動するので、特定の計算機負荷への集中も緩和することができる。
【０１１７】
ところで、本実施形態ではプロセスマイグレーション第１段階の処理は１回だけ実行したが、プロセスマイグレーション第１段階の処理を複数回行ってからプロセスマイグレーション第２段階の処理を行っても良い。
【０１１８】
つまり、１回目の第１段階の処理ではプロセスが使用しているアドレス空間の内容を送信し、２回目以降の第１段階の処理ではアドレス空間の内容のうち前回の処理時から変更された部分のみを送信するのである。このように第１段階の処理を複数回行うことにより、プロセスマイグレーション第２段階で送信すべきアドレス空間の内容が少なく済み、プロセスマイグレーション第２段階の処理時間を短縮することができる。結果として、プロセスの停止時間を短縮することができるという利点がある。
【０１１９】
尚、本実施形態では第２段階の処理開始後には移動先の予測が正しいか否かのチェックは行わないものとするが、必要であれば、例えば第２段階の処理開始後に移動先の計算機でチェックを行っても良い。このケースでは、予測が外れていた場合には移動先の計算機で再度予測を行い、第２段階の処理が完了してプロセスの移動が完了してから、改めて移動先計算機においてプロセスマイグレーション処理を行えば良い。
【０１２０】
あるいは、第２段階の処理開始後も移動元の計算機でチェックを行っても良い。このケースでは、第２段階の処理開始時には移動元計算機では移動対象プロセスを一時停止しておき、予測が外れた時点で第２段階の処理を中止して、移動元計算機では一時停止した移動対象プロセスを再度動かし（移動先計算機には移動対象プロセスを破棄させる）、再度予測を行ってプロセスマイグレーション処理を行う。尚、予測通りに移動した場合には、第２段階の最後に移動元計算機のプロセスを停止させる。
【０１２１】
また、本実施形態では、プロセスの移動先計算機の決定にあたっては、単に移動体端末の移動先の予測に基づいて行っていたが、これに加えて移動体端末の移動先の予測に基づいて決定したプロセス移動先計算機の負荷状態を調べて所定以上の負荷がかかっている場合は当該計算機からネットワーク的に近隣の他の計算機にプロセスを移動させるようにしても良い。このようにすれば、負荷の集中をより緩和できるという効果が期待できる。
【０１２２】
（第２の実施形態）以下、図面を参照して本発明の第２の実施形態について説明する。
【０１２３】
本実施形態のシステム構成は第１の実施形態のものと同様であり、図１、図２で表される。構成の大部分は同じなので異なる点を中心に説明する。
【０１２４】
（プロセス管理機構）本実施形態のプロセス管理機構は、移動体端末からの要求を無線基地局を経由して受け取り、プロセスの生成・実行やプロセスへのデータ転送を行う。さらに、プロセスからの出力結果を受け取って移動体端末へ転送する。また、移動体端末からの要求を受ける毎に、ユーザ移動予測部に移動体端末のＩＰアドレスと移動体端末が使用している無線基地局のＩＤとを通知する。
【０１２５】
また、プロセス管理機構は図１２に示すような移動体端末管理テーブルを持っている。この移動体端末管理テーブルを用いて、移動体端末のＩＰアドレスと、移動体端末が計算機上で動作するプロセスと通信を行う際に用いる計算機側の通信ポート番号と、プロセスＩＤとを管理する。プロセス管理機構は移動体端末からの要求に応じてプロセスを生成する時に、これらの情報を移動体端末管理テーブルに登録する。
【０１２６】
プロセスマイグレーション処理を実行する際には、プロセス管理機構は移動体端末管理テーブルを参照して、移動させたプロセスの実行を要求した移動体端末へ、自分（移動元計算機）のＩＰアドレス及び移動元計算機側の通信ポート番号と、移動先計算機のＩＰアドレス及び移動先計算機側の通信ポート番号とを通知する。
【０１２７】
（ユーザ移動予測部）ユーザ移動予測部は、プロセス管理機構から通知される情報と第１の実施形態でも説明したシステム構成マップとを元にユーザの移動経路を予測して、プロセス管理機構を介してプロセスマイグレーション処理部にプロセスマイグレーションの第１段階の処理を開始するよう通知する。
【０１２８】
また、予測が正しいことが確定したら、プロセス管理機構を介してプロセスマイグレーション処理部にプロセスマイグレーションの第２段階の処理を開始するよう通知する。一方、予測が誤っていた場合は、予測をやり直してから、プロセス管理機構を介してプロセスマイグレーション処理部に対して、新たな予測に基づいてプロセスマイグレーションの第１段階の処理を開始するように通知する。
【０１２９】
（プロセスマイグレーション処理部）プロセスマイグレーション処理部は、ユーザ移動予測部からの指示により、プロセスマイグレーションの第１段階及び第２段階の処理を行う。
【０１３０】
（無線基地局）無線基地局は移動体端末の位置をその移動体端末が通信中の計算機に通知する。そのために、無線基地局は自分に接続中の移動体端末から計算機への要求を転送する際に、転送するデータから宛先の計算機のＩＰアドレス及び通信ポート番号を読み出し、これに自分のＩＤを追加して移動体端末情報を生成して、これを宛先の計算機に通知する。
【０１３１】
尚、無線基地局は生成した移動体端末情報とその通知先とを記憶しておき、以後同一計算機に記憶した内容と同一の移動体端末情報を送信しないようにして通信量を削減することも可能である。
【０１３２】
（移動体端末）本実施形態の移動体端末は図１３に示すようなプロセス管理テーブルを持つ。このプロセス管理テーブルを用いて、通信元ポート番号、計算機ＩＰアドレス及びポート番号、新計算機ＩＰアドレス及び新宛先ポート番号、通信の種類、記述子を管理する。
【０１３３】
通信元ポート番号は、移動体端末が計算機で実行中のプロセスとの通信に用いている移動体端末側の通信ポート番号である。また、計算機ＩＰアドレス及びポート番号は、プロセスを実行中の計算機のＩＰアドレス及び移動体端末が計算機で実行中のプロセスとの通信に用いている計算機側の通信ポート番号である。
【０１３４】
また、新計算機ＩＰアドレス及び新宛先ポート番号は、プロセスマイグレーション処理によりプロセスが移動した場合の移動先計算機のＩＰアドレス及び移動先計算機側の通信ポート番号である。通信の種類は、コネクション型通信か非コネクション型通信かといった情報であり、本実施例ではコネクション型通信の例としてＴＣＰを扱い、非コネクション型通信の例としてＵＤＰを扱う。記述子は、ＴＣＰの通信路を表す記述子を登録しておき、ＵＤＰの場合はＮＵＬＬ値を登録しておく。
【０１３５】
（プロセスの起動）以下に、図１のＡ地点の移動体端末が計算機Ａにサービスを要求し、計算機Ａがこれに応じてプロセスを開始する場合の処理の流れの概要を示す。ここではＴＣＰとＵＤＰに共通な説明を行う。
【０１３６】
（１）Ａ地点の移動体端末は、無線インタフェースを用いて無線基地局Ａと接続する。
（２）移動体端末は、移動体端末から計算機Ａにサービスを要求する。
（３）無線基地局Ａは（２）の要求を受け取り計算機Ａに転送する。
【０１３７】
（４）計算機Ａのプロセス管理機構は、要求されたサービスを実行するプロセスを生成し、システム内で一意のプロセスＩＤを付ける。さらに、このプロセスと移動体端末間の通信に使用する通信ポートを生成する。そして、移動体端末管理テーブルに、移動体端末ＩＰアドレスと通信ポート番号とプロセスＩＤを登録する。
（５）計算機Ａのプロセス管理機構は、（４）で作成した通信ポートの番号と計算機ＡのＩＰアドレスの組をサービスを要求した移動体端末に送信する。
【０１３８】
（移動体端末とプロセスとの間の通信）次に、図１のＡ地点の移動体端末が計算機Ａにサービスを要求してプロセスを開始した後、このプロセスとの通信をＵＤＰで行う場合の処理の流れについて説明する。
【０１３９】
（１）Ａ地点の移動体端末は、無線インタフェースを用いて無線基地局Ａと接続する。
（２）ユーザは移動体端末に対して、プロセス開始時に計算機Ａから送信されたポート番号と計算機ＡのＩＰアドレスを宛先に指定して、あるデータ（以下、データＸ）を宛先である計算機Ａに送信するように要求する。
【０１４０】
（３）移動体端末は（２）の要求を受けると、プロセス管理テーブルに登録された情報の中から、この要求の宛先及び通信の種類に該当する情報を検索する。無ければ新規に登録しておく。
（４）移動体端末はプロセス管理テーブルを参照して、必要な場合は宛先の書き換えを行ってからデータＸを送信する。具体的には、新宛先ポート番号と新計算機ＩＰアドレスの項目に値が登録されている場合は、（２）で指定された宛先を新ポート番号及び新計算機ＩＰアドレスに書き換える。新宛先ポート番号と新計算機ＩＰアドレスの項目が未登録の場合は、宛先はそのままにする。
【０１４１】
（５）無線基地局ＡはデータＸを受けると、宛先の計算機ＩＰアドレスとポート番号、そして、送信元の移動端末のＩＰアドレスとポート番号とを読み出してから、宛先の計算機にデータＸを転送する。
（６）無線基地局Ａは（５）で読み出したＩＰアドレス等の情報に、自分の無線基地局ＩＤの情報を付加して移動体端末情報を生成し、データＸの宛先の計算機に通知する。
【０１４２】
（７）宛先の計算機のプロセス管理機構は、転送されたデータＸを受け取り、このデータＸを該当するプロセスに転送する。
（８）宛先の計算機のプロセス管理機構は（６）で生成された移動体端末情報を受け取り、ユーザ移動予測部に通知する。
（９）ユーザ移動予測部は図６の処理を行う。
【０１４３】
ここでは、（４）のように宛先のＩＰアドレス及び通信ポートの書き換えが発生する点が特徴となる。これにより、ユーザはプロセスの移動を意識しなくても良くなる。
【０１４４】
サービスとの通信がＴＣＰの場合、移動体端末は、ユーザが計算機Ａで実行中のプロセスとコネクションを確立する際に、コネクション確立要求のデータから通信元のポート番号、宛先計算機のＩＰアドレス及びポート番号、通信の種類（この場合はＴＣＰ）を読み出す。そして、コネクション確立してから、その通信を示す記述子と共に、上記の読み出した情報をプロセス管理テーブルに登録する。
【０１４５】
尚、ＴＣＰによる通信の場合は、ＵＤＰの時のように宛先ＩＰアドレス及び通信ポートの書き換え処理を行う必要がないので、（４）の処理を行わずにそのままデータＸを送信する。
【０１４６】
次に、図１のＡ地点にいた移動体端末のユーザが、計算機Ａでサービスを要求してプロセス開始した後に、サービスを継続したままＢ地点に移動した場合に、このプロセスとの通信をＵＤＰで行う場合の処理の流れについて説明する。
【０１４７】
（１）Ｂ地点に移動した移動体端末は、無線インタフェースを用いて無線基地局Ｂと接続される。
（２）〜（４）は、上記の「図１のＡ地点の移動端端末が計算機Ａにサービスを要求してプロセスを開始した後、このプロセスとの通信をＵＤＰで行う場合」の（２）〜（４）と同じ処理を行う。すなわち、移動体端末において、プロセス管理テーブルを参照して必要ならば宛先の書き換えを行う。
【０１４８】
（５）無線基地局ＢはデータＸを受けると、宛先の計算機のＩＰアドレスとポート番号、送信元移動体端末のＩＰアドレス及びポート番号を読み出した後、宛先の計算機にデータＸを転送する。
（６）無線基地局Ｂは（５）で読み出した情報と自分の無線基地局ＩＤから移動体端末情報を生成して、宛先の計算機に通知する。
（７）〜（９）は、上記の「図１のＡ地点の移動端端末が計算機Ａにサービスを要求してプロセスを開始した後、このプロセスとの通信をＵＤＰで行う場合」の（７）〜（９）と同じ処理を行う。
【０１４９】
尚、ＴＣＰで通信を行う場合、上述の「図１のＡ地点の移動端端末が計算機Ａにサービスを要求してプロセスを開始した後、このプロセスとの通信をＵＤＰで行う場合」と同様で、移動体端末は、コネクション確立の際にＩＰアドレスやポート番号の情報を取得し、コネクション確立後に記述子と共にプロセス管理テーブルに登録する。また、移動体端末は（４）の処理を行わない。
【０１５０】
（ユーザ移動予測部の動作）ユーザ移動予測部は図１４に示すような移動予測マップを持つ。この移動予測マップには、第１の実施形態ではプロセスＩＤを登録していたが、本実施形態ではその代わりに移動体端末のＩＰアドレスを登録するようにした。
【０１５１】
ユーザ移動予測部の動作は第１の実施形態と同様で図６、８、９で表される。ただし、図６でプロセスＩＤを扱っている部分は移動体端末のＩＰアドレスを扱う点が異なる。
【０１５２】
（プロセスマイグレーション処理部の動作）
図１５はプロセスマイグレーション処理部の動作を示している。詳細は以下のようになる。
【０１５３】
（Ｓ１５０１）ユーザ移動予測部からプロセスマイグレーション第１段階の処理開始の通知を受けて、プロセスマイグレーションの第１段階の処理を開始する。
（Ｓ１５０２）そして、ユーザ移動予測部からプロセスマイグレーション第２段階の処理開始の通知を受けるまで待機する。
（Ｓ１５０３）ユーザ移動予測部からプロセスマイグレーション第２段階の処理開始の通知を受けてから、プロセスマイグレーション第２段階を開始する。
【０１５４】
（Ｓ１５０４） プロセスマイグレーション第２段階の処理完了後、ユーザ移動予測部にプロセスマイグレーション処理が完了した旨を伝える。この通知を受けて、ユーザ移動予測部は移動予測マップから当該移動体端末の項目を削除する。
（Ｓ１５０５）プロセス移動元の計算機から、移動したプロセスの要求元である移動体端末に、プロセス移動先の計算機のＩＰアドレス及びポート番号と、プロセス移動元の計算機のＩＰアドレス及びポート番号とを通知する。
【０１５５】
（プロセスマイグレーション処理完了後の移動体端末の動作）移動体端末は、プロセス移動元計算機からＳ１５０５の通知を受けてプロセス管理テーブルの更新を行う。
【０１５６】
まず、移動体端末はプロセス管理テーブルを検索して、「計算機ＩＰアドレスとポート番号」の項目に移動元計算機のＩＰアドレス及びポート番号が登録されているエントリー（旧エントリー）を見つける。
【０１５７】
移動したプロセスとの間の通信がＵＤＰで行われていた場合は、旧エントリーの「新計算機ＩＰアドレスと新宛先ポート番号」の項目に移動先の計算機のＩＰアドレス及びポート番号を登録する。ＵＤＰの場合は以上である。
【０１５８】
移動したプロセスとの間の通信がＴＣＰで行われていた場合は、旧エントリーから通信元ポート番号と記述子の情報を抽出しておくとともに、「計算機ＩＰアドレスとポート番号」の項目にプロセス移動先のＩＰアドレス及びポート番号が登録され、「通信元ポート番号」の項目に旧エントリーから抽出した通信元ポート番号が登録され、「記述子」の項目に旧エントリーから抽出した記述子が登録された、新たなエントリー（新エントリー）を生成する。
【０１５９】
そして、移動体端末は、移動元計算機との間で確立しているＴＣＰコネクションを切断するとともに、プロセス管理テーブルから旧エントリーを削除する。さらに、通信先に新計算機ＩＰアドレスと新ポート番号を指定し、通信元に自分（移動体端末）のＩＰアドレスと旧エントリーから抽出しておいた通信元ポート番号をそれぞれ指定して、新たなコネクションを確立する。
【０１６０】
以上の結果、プロセスマイグレーション後のプロセスへの通信は、ユーザが意識することなく新たなコネクションを用いて行うことが可能になる。
【０１６１】
（第３の実施形態）以下、本発明第３の実施形態について説明する。本実施形態は第１、第２の実施形態におけるプロセスマイグレーション処理部の動作を変更したものであるので、この部分を中心に説明をする。
【０１６２】
これまでの実施形態ではプロセスマイグレーション処理は第１段階と第２段階とがあり、第１段階ではアドレス空間の内容をコピーして転送し、第２段階では第１段階実行開始後に生じた差分を転送するという方法であった。
【０１６３】
本実施形態では、第１段階ではこれまでの実施形態と同様にアドレス空間の内容をコピーして移動先計算機へ転送する。しかし、第２段階ではアドレス空間の内容の差分を求める代わりに、移動元計算機において第１段階実行開始後の移動対象プロセスの動作とその結果を記録して実行記録を生成する。そして、第２段階ではこの実行記録を移動先計算機へ転送して、移動先計算機のプロセスマイグレーション処理部において実行記録を元に移動対象プロセスの動作を再生することで、アドレス空間の内容の同期をとる。
【０１６４】
本実施形態では各計算機のプロセスマイグレーション実現部が実行記録の生成、再生処理を行うものとする。
【０１６５】
このように実行記録を用いるので、アドレス空間の広範囲に変更が生じるような場合（例えば、圧縮データの解凍や符号化データの復元等）であっても、アドレス空間の差分を用いる場合に比べて少ない情報でプロセスの同期をとることができる。
【０１６６】
【発明の効果】
以上説明したように本発明によれば、移動体端末の移動に正確に追従したプロセス移動を実現することができるため、移動体端末とプロセスを実行する計算機とがネットワーク的に離れて存在することにより生じる、移動体端末へのサービス遅延を改善することができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係る通信システムの概略構成を説明する図。
【図２】  図１において、通信システムのサーバシステムの構成を詳細にした図。
【図３】  ユーザ移動予測部が保持するシステム構成マップの構成を説明する図。
【図４】  移動体端末が管理するプロセス管理テーブルの構成を説明する図。
【図５】  本発明の第１の実施形態に係る通信システムの変形例の構成を説明する図。
【図６】  ユーザ移動予測部の処理の流れを説明する図。
【図７】  ユーザ移動予測部が管理する移動予測マップと予測経路マップの構成を説明する図。
【図８】  ユーザ移動予測部において予測経路マップを生成する処理の流れを説明する図。
【図９】  ユーザ移動予測部において予測経路マップの通りに移動体端末が移動しているかを確認する処理の流れを説明する図。
【図１０】  プロセスマイグレーション処理部の処理の流れを説明する図。
【図１１】  プロセスマイグレーション処理部におけるアドレス空間の内容の移動方法について説明する図。
【図１２】  本発明第２の実施形態における移動体端末管理テーブルの構成を説明する図。
【図１３】  本発明第２の実施形態におけるプロセス管理テーブルの構成を説明する図。
【図１４】  本発明第２の実施形態における移動予測マップの構成を説明する図。
【図１５】  本発明第２の実施形態におけるプロセスマイグレーション処理部の処理の流れを説明する図。
【符号の説明】
１  ネットワーク
【図１】
0003643574.tif 000002
【図２】
0003643574.tif 000003
【図３】
0003643574.tif 000004
【図４】
0003643574.tif 000005
【図５】
0003643574.tif 000006
【図６】
0003643574.tif 000007
【図７】
0003643574.tif 000008
【図８】
0003643574.tif 000009
【図９】
0003643574.tif 000010
【図１０】
0003643574.tif 000011
【図１１】
0003643574.tif 000012
【図１２】
0003643574.tif 000013
【図１３】
0003643574.tif 000014
【図１４】
0003643574.tif 000015
【図１５】
0003643574.tif 000016