(57)【要約】【課題】環境や利用者ニーズなどの変化に応じ、中継端末にて通信パケットを中継するか転送するかを判定することで、サービス実行構成の変更時における通信量を削減する。【解決手段】本発明のシステムは、ネットワークに接続された中継装置と、中継装置に接続された１台もしくは複数台の通信端末から構成され、通信端末が中継装置を経由してネットワークに接続可能なシステムにおいて、中継可否判定部と、中継可否設定部と、通信管理テーブルとを備え、通信管理テーブルに登録された情報を参照して通信パケットのアドレスおよびポート番号を変更するかどうかが決定されることを特徴とする。【選択図】図１
2009246614.tif 000002
【特許請求の範囲】
【請求項１】
通信システムであって、
アプリケーション毎に、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードが送信モードとして設定されている通信管理テーブルと、
所定の条件に応じてトリガを生成するトリガ生成手段と、
前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定手段と、
前記判定結果に基づいて、前記通信管理テーブルの前記アプリケーションの送信モードを設定する設定手段と
を有することを特徴とする通信システム。
【請求項２】
前記判定手段は、中継可否判定テーブルに記されている通信環境に関する情報、通信環境に影響を及ぼす情報、及び通信を行うアプリケーションの情報の少なくともいずれか１つの情報に基づいて、パケットを中継モードで送信するか、転送モードで送信するかを判定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記トリガ生成手段は、前記通信管理テーブルに登録されていないアプリケーションの送信パケットが発生すると、トリガを発生することを特徴とする請求項１又は請求項２に記載の通信システム。
【請求項４】
前記トリガ生成手段は、ユーザからの要求に応じてトリガを発生することを特徴とする請求項１から請求項３のいずれかに記載の通信システム。
【請求項５】
前記判定手段は、トリガに中継モード又は転送モードで送信するかの情報が付加されている場合、その情報を判定結果とすることを特徴とする請求項１から請求項４のいずれかに記載の通信システム。
【請求項６】
前記トリガ生成手段は、前記中継可否判定テーブルに記されている情報に変更が生じた場合に、トリガを発生することを特徴とする請求項１から請求項５のいずれに記載の通信システム。
【請求項７】
通信環境に関する情報及び通信環境に影響を及ぼす情報を収集し、収集結果を前記中継可否判定テーブルに記す収集手段を有することを特徴とする請求項１から請求項６のいずれかに記載の通信システム。
【請求項８】
通信端末であって、
アプリケーション毎に、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードが送信モードとして設定されている通信管理テーブルと、
所定の条件に応じてトリガを生成するトリガ生成手段と、
前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定手段と、
前記判定結果に基づいて、前記通信管理テーブルの前記アプリケーションの送信モードを設定する設定手段と
を有することを特徴とする通信端末。
【請求項９】
前記判定手段は、中継可否判定テーブルに記されている通信環境に関する情報、通信環境に影響を及ぼす情報、及び通信を行うアプリケーションの情報の少なくともいずれか１つの情報に基づいて、パケットを中継モードで送信するか、転送モードで送信するかを判定することを特徴とする請求項８に記載の通信端末。
【請求項１０】
前記トリガ生成手段は、前記通信管理テーブルに登録されていないアプリケーションの送信パケットが発生すると、トリガを発生することを特徴とする請求項８又は請求項９に記載の通信端末。
【請求項１１】
前記トリガ生成手段は、ユーザからの要求に応じてトリガを発生することを特徴とする請求項８から請求項１０のいずれかに記載の通信端末。
【請求項１２】
前記判定手段は、トリガに中継モード又は転送モードで送信するかの情報が付加されている場合、その情報を判定結果とすることを特徴とする請求項８から請求項１１のいずれかに記載の通信端末。
【請求項１３】
前記トリガ生成手段は、前記中継可否判定テーブルに記されている情報に変更が生じた場合に、トリガを発生することを特徴とする請求項８から請求項１２のいずれに記載の通信端末。
【請求項１４】
通信環境に関する情報及び通信環境に影響を及ぼす情報を収集し、収集結果を前記中継可否判定テーブルに記す収集手段を有することを特徴とする請求項８から請求項１３のいずれかに記載の通信端末。
【請求項１５】
中継端末であって、
アプリケーション毎に、送信パケットの宛先を自端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードが送信モードとして設定されている通信管理テーブルと、
所定の条件に応じてトリガを生成するトリガ生成手段と、
前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定手段と、
前記判定結果に基づいて、前記通信管理テーブルの前記アプリケーションの送信モードを設定する設定手段と
を有することを特徴とする中継端末。
【請求項１６】
前記判定手段は、中継可否判定テーブルに記されている通信環境に関する情報、通信環境に影響を及ぼす情報、及び通信を行うアプリケーションの情報の少なくともいずれか１つの情報に基づいて、パケットを中継モードで送信するか、転送モードで送信するかを判定することを特徴とする請求項１５に記載の中継端末。
【請求項１７】
前記トリガ生成手段は、前記通信管理テーブルに登録されていないアプリケーションの送信パケットが発生すると、トリガを発生することを特徴とする請求項１５又は請求項１６に記載の中継端末。
【請求項１８】
前記トリガ生成手段は、ユーザからの要求に応じてトリガを発生することを特徴とする請求項１５から請求項１７のいずれかに記載の中継端末。
【請求項１９】
前記判定手段は、トリガに中継モード又は転送モードで送信するかの情報が付加されている場合、その情報を判定結果とすることを特徴とする請求項１５から請求項１８のいずれかに記載の中継端末。
【請求項２０】
前記トリガ生成手段は、前記中継可否判定テーブルに記されている情報に変更が生じた場合に、トリガを発生することを特徴とする請求項１５から請求項１９のいずれに記載の中継端末。
【請求項２１】
通信環境に関する情報及び通信環境に影響を及ぼす情報を収集し、収集結果を前記中継可否判定テーブルに記す収集手段を有することを特徴とする請求項１５から請求項２０のいずれかに記載の中継端末。
【請求項２２】
通信モード判定方法であって、
所定の条件に応じてトリガを生成するトリガ生成ステップと、
前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定ステップと、
前記判定結果に基づいて、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードがアプリケーション毎に送信モードとして設定されている通信管理テーブルを設定する設定ステップと
を有することを特徴とする通信モード判定方法。
【請求項２３】
前記判定ステップは、中継可否判定テーブルに記されている通信環境に関する情報、通信環境に影響を及ぼす情報、及び通信を行うアプリケーションの情報の少なくともいずれか１つの情報に基づいて、パケットを中継モードで送信するか、転送モードで送信するかを判定することを特徴とする請求項２２に記載の通信モード判定方法。
【請求項２４】
前記トリガ生成ステップは、前記通信管理テーブルに登録されていないアプリケーションの送信パケットが発生すると、トリガを発生することを特徴とする請求項２２又は請求項２３に記載の通信モード判定方法。
【請求項２５】
前記トリガ生成ステップは、ユーザからの要求に応じてトリガを発生することを特徴とする請求項２２から請求項２４のいずれかに記載の通信モード判定方法。
【請求項２６】
前記判定ステップは、トリガに中継モード又は転送モードで送信するかの情報が付加されている場合、その情報を判定結果とすることを特徴とする請求項２２から請求項２５のいずれかに記載の通信モード判定方法。
【請求項２７】
前記トリガ生成ステップは、前記中継可否判定テーブルに記されている情報に変更が生じた場合に、トリガを発生することを特徴とする請求項２２から請求項２６のいずれに記載の通信モード判定方法。
【請求項２８】
通信環境に関する情報及び通信環境に影響を及ぼす情報を収集し、収集結果を前記中継可否判定テーブルに記す収集ステップを有することを特徴とする請求項２２から請求項２７のいずれかに記載の通信モード判定方法。
【請求項２９】
通信端末のプログラムであって、前記プログラムは前記通信端末に、
所定の条件に応じてトリガを生成するトリガ生成処理と、
前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定処理と、
前記判定結果に基づいて、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードがアプリケーション毎に送信モードとして設定されている通信管理テーブルを設定する設定処理と
を実行させることを特徴とするプログラム。
【請求項３０】
中継端末のプログラムであって、前記プログラムは前記中継端末に、
所定の条件に応じてトリガを生成するトリガ生成処理と、
前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定処理と、
前記判定結果に基づいて、送信パケットの宛先を自端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードがアプリケーション毎に送信モードとして設定されている通信管理テーブルを設定する設定処理と
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末間の通信を中継装置を介して行う通信技術に関し、特に通信パケットの宛先（アドレスおよびポート番号）を、通信経路上に存在する中継端末にて変更するかどうかを判定することを特徴とする通信技術に関する。
【背景技術】
【０００２】
データを送受信する端末間の通信パケットのアドレスおよびポート番号を、通信経路上の中継装置にて変更する技術が存在する。以下、この動作を、「中継する」と定義する。なお、中継装置にて、受信した通信パケットに変更を加えずに、宛先アドレスに従い通信パケットを送信する動作を、「転送する」と定義する。
【０００３】
通信パケットを中継することによる利点として、送受信端末間の伝播遅延時間が長い場合、もしくは有線と無線のように特性の異なるネットワークを経由して通信を行う場合に、送受信端末間の通信のスループットが改善されることが知られている。これを実現する手法として、特許文献１に示された手法が知られている。
【０００４】
また、通信パケットを中継することによる別の利点として、送信端末が受信端末との直接通信を避けることにより、通信のセキュリティが高まることが知られている。これを実現する手法として、特許文献２に示された手法が知られている。
【０００５】
特許文献１に開示されているＩＰルータ装置の動作例を以下に示す。
【０００６】
送信端末からＩＰルータ装置にＩＰパケットが到着すると、ＩＰスタックに渡される。ＩＰスタックでは、ＩＰパケットの宛先が自装置宛以外であり、かつＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）もしくはＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）パケットならば、第１の変換手段を通す。それ以外の場合には、通常のルーティングに従ってパケットを転送する。第１の変換手段では、管理データベースの情報に従い宛先ポート番号を書き換え、ＴＣＰ／ＵＤＰスタックに引き渡す。なお、ＴＣＰのＳＹＮパケットである場合には、管理データベースにエントリを追加したのち、宛先ポート番号を書き換え、ＴＣＰ／ＵＤＰスタックに引き渡す。ＴＣＰ／ＵＤＰスタックではポート番号を参照し、ストリーム転送手段に引き渡す。
【０００７】
ストリーム転送手段は、本来の宛先である受信端末の宛先情報を抽出し、引き渡されたデータを本来の受信端末へと送信すべく、パケット作成要求を行う。作成されたパケットはＩＰスタックに渡される。ＩＰスタックでは、ＩＰパケットが通常のルーティング経由で送信されておらず、かつＴＣＰもしくはＩＣＭＰパケットならば、第２の変換手段を通す。
【０００８】
第２の変換手段では、管理データベースの情報に従い送信元アドレスおよびポート番号を本来の送信端末のものに書き換え、ネットワークドライバに引き渡す。以上の動作により、送信端末と受信端末の間のＴＣＰコネクションがＩＰルータ装置にて中継される。
【０００９】
次に、特許文献２に開示されている通信装置の動作例を以下に示す。
【００１０】
第１の通信端末と第２の通信端末とが通信を開始するに先立ち、両端末の通信を中継する中継端末は、第１の通信端末との通信を識別する第１の通信識別情報と、第２の通信端末との通信を識別する第２の通信識別情報とを決定し、それぞれ第１の通信端末、第２の通信端末に通知する。
【００１１】
第１の通信端末が第２の通信端末にデータを送信する場合、第１の通信端末は、データに第１の通信端末を示す１の通信識別情報を付与し、宛先を中継端末にして送信する。中継端末はこれを受信すると、第１の通信識別情報が含まれていることを確認し、データを第２の通信端末へと転送する。このとき、第１の通信識別情報を第２の通信端末を示す第2の通信識別情報へと置き換える。第２の通信端末はこれを受信すると、送信元が中継端末であること、および第２の通信識別情報が含まれていることから、第１の通信端末からのデータだとわかる。
【００１２】
逆に第２の通信端末から第１の通信端末にデータを送信する場合、第２の通信端末は、データに第２の通信識別情報を付与し、宛先を中継端末にして送信する。中継端末では第２の通信識別情報が含まれていることを確認し、データを第１の通信端末へと転送する。このとき、第２の通信識別情報を第１の通信識別情報へと置き換える。第１の通信端末はこれを受信すると、送信元が中継端末であること、および第１の通信識別情報が含まれていることから、第２の通信端末からのデータだとわかる。
【００１３】
以上の動作により、第１の通信端末と第２の通信端末の間の通信パケットは、中継端末にて中継される。
【特許文献１】特許第３４９４６１０号公報
【特許文献２】特許第３６６０２８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
たとえば、携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、ホームゲートウェイなどの通信デバイスが通信を中継する中継端末となり、家電製品やパソコン、携帯電話、車載端末といった通信端末とネットワークを構成し、通信端末が中継端末を介して接続先端末に接続する構成を考える。中継端末および通信端末には移動することが前提となるものもあり、ネットワークへの接続環境が常に安定しているとは限らない。
【００１５】
このような環境においても最大限のパフォーマンスを実現するためには、環境や利用者ニーズなどの変化に応じ、端末群内でのサービス実行構成を動的に変更することが求められる。サービス実行構成の変更の例としては、アプリケーションを実行する端末を切り換える、利用する通信手段を切り換える、通信経路を変更する、などが挙げられる。
【００１６】
このとき、中継端末にて通信パケットを中継する利点の一例として、通信中のアプリケーションを、中継端末を含むある端末から、中継端末を含む別の端末にハンドオーバする際において、必要な通信量を削減できる点が挙げられる。
【００１７】
例えば、中継端末で通信パケットを転送することにより、通信端末と接続先端末との間で通信を行っているとする。ここで、通信端末上で実行している通信中のアプリケーションを別の端末にハンドオーバするとき、通信端末は接続先端末に宛先の変更を通知する必要がある。通信端末と接続先端末間の伝播遅延が大きい場合、ハンドオーバにかかる時間が長くなるという問題もある。
【００１８】
一方、中継端末で通信パケットを中継する場合、通信端末、接続先端末はともに中継端末と通信を行っている。ここで、通信端末上で実行している通信中のアプリケーションを別の端末にハンドオーバするとき、通信端末は中継端末へ宛先の変更を通知すればよい。また通信端末と中継端末間の伝播遅延は、通信端末と接続先端末間と比較し小さくなるため、ハンドオーバにかかる時間もより短く済む。
【００１９】
逆に、中継端末にて通信パケットを転送する利点の一例として、通信端末が利用中の経路を、中継端末を経由しない別の経路に変更する際において、必要な通信量を削減できる点が挙げられる。
【００２０】
中継端末で通信パケットを転送する場合、通信端末と接続先端末との間で直接通信パケットのやりとりを行っている。ここで、中継端末を経由しない通信経路に変更した場合、ＩＰアドレスに変更がなければ、接続先端末への通知なしに経路の変更が実現できる。
【００２１】
一方、中継端末で通信パケットを中継する場合、通信端末、接続先端末はともに中継端末と通信を行っている。ここで、中継端末を経由しない通信経路に変更した場合、中継端末は通信経路からはずれることになるので、通信端末ならびに接続先端末に、宛先の変更を通知する必要が生じる。
【００２２】
ここで、通信端末・中継端末の装備、環境などによっては、あるサービス実行構成への変更が生じ得ない、生じにくい、逆に生じやすい、といったことがありうる。
【００２３】
上記の一例として、通信端末の有する通信手段の制限が挙げられる。例えば、通信端末が通信手段としてＢｌｕｅｔｏｏｔｈのみを有しており、中継端末とＢｌｕｅｔｏｏｔｈを介して接続しているとする。この場合、接続先端末が通信手段としてＢｌｕｅｔｏｏｔｈを有していない場合、もしくは接続先端末と通信端末とがＢｌｕｅｔｏｏｔｈを介して通信し得ない距離にある場合においては、通信端末は中継端末を介して接続せざるを得ない。このため、中継端末を経由しない通信経路への変更は生じにくい。すなわち、通信経路の変更は生じにくいことから、中継端末にて通信パケットを中継すべきであるといえる。
【００２４】
また別の一例として、アプリケーションによる制限が挙げられる。例えば、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に代表されるファイル交換アプリケーションを利用しようとする。この場合、端末に内蔵されたＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記録媒体を参照するため、アプリケーション実行中における別の通信端末もしくは中継端末へのハンドオーバは想定しづらい。すなわち、アプリケーションを実行する端末は変更しづらいことから、中継端末にて通信パケットを転送すべき、といえる。
【００２５】
以上より、環境や利用者ニーズなどの変化に応じ、中継端末にて通信パケットを中継するか転送するかを判定することで、サービス実行構成の変更時における通信量を削減できるとみられる。しかしながら、特許文献１及び特許文献２のいずれにも、環境や利用者ニーズなどの変化に応じて、中継端末にて通信パケットを中継するか転送するかを判定する手法は開示されていない。
【００２６】
本発明の目的は、環境や利用者ニーズなどの変化に応じて、中継端末にて通信パケットを中継するか転送するかを判定し、判定に従い通信スタックを構成することにより、サービス実行構成の変更時における通信量および通信負荷の削減を実現する通信スタック構成システム、構成手法を提供することである。
【課題を解決するための手段】
【００２７】
上記課題を解決するための本発明は、通信システムであって、アプリケーション毎に、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードが送信モードとして設定されている通信管理テーブルと、所定の条件に応じてトリガを生成するトリガ生成手段と、前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定手段と、前記判定結果に基づいて、前記通信管理テーブルの前記アプリケーションの送信モードを設定する設定手段とを有することを特徴とする。
【００２８】
上記課題を解決するための本発明は、通信端末であって、アプリケーション毎に、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードが送信モードとして設定されている通信管理テーブルと、所定の条件に応じてトリガを生成するトリガ生成手段と、前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定手段と、前記判定結果に基づいて、前記通信管理テーブルの前記アプリケーションの送信モードを設定する設定手段とを有することを特徴とする。
【００２９】
上記課題を解決するための本発明は、中継端末であって、アプリケーション毎に、送信パケットの宛先を自端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードが送信モードとして設定されている通信管理テーブルと、所定の条件に応じてトリガを生成するトリガ生成手段と、前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定手段と、前記判定結果に基づいて、前記通信管理テーブルの前記アプリケーションの送信モードを設定する設定手段とを有することを特徴とする。
【００３０】
上記課題を解決するための本発明は、通信モード判定方法であって、所定の条件に応じてトリガを生成するトリガ生成ステップと、前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定ステップと、前記判定結果に基づいて、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードがアプリケーション毎に送信モードとして設定されている通信管理テーブルを設定する設定ステップとを有することを特徴とする。
【００３１】
上記課題を解決するための本発明は、通信端末のプログラムであって、前記プログラムは前記通信端末に、所定の条件に応じてトリガを生成するトリガ生成処理と、前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定処理と、前記判定結果に基づいて、送信パケットの宛先を通信経路上に存在する中継端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードがアプリケーション毎に送信モードとして設定されている通信管理テーブルを設定する設定処理とを実行させることを特徴とする。
【００３２】
上記課題を解決するための本発明は、中継端末のプログラムであって、前記プログラムは前記中継端末に、所定の条件に応じてトリガを生成するトリガ生成処理と、前記生成されたトリガを受信すると、そのトリガに示されているアプリケーションのパケットを中継モードで送信するか、転送モードで送信するかを判定する判定処理と、前記判定結果に基づいて、送信パケットの宛先を自端末にて変更して送信する中継モード、又は送信パケットの宛先に変更を加えずに送信する転送モードがアプリケーション毎に送信モードとして設定されている通信管理テーブルを設定する設定処理とを実行させることを特徴とする。
【発明の効果】
【００３３】
本発明における第１の効果は、通信端末群の構成の変更に伴う接続先端末への通信量を削減できる点にある。
【００３４】
これは、通信端末群の構成変更の発生可能性を考慮し、発生しやすい構成変更に関し、構成変更時の通信量を削減できるよう、通信スタック構成を決定できるためである。
【００３５】
本発明における第２の効果は、セキュリティレベルの向上およびプロキシ機能を、中継装置における処理負荷を考慮しながら実現できる点にある。
【００３６】
中継装置にて通信パケットを中継する場合、同時に中継装置にて不正パケット侵入防止機能やプロキシ機能を提供することにより、通信端末のセキュリティレベルを向上させることができる。しかし、中継装置のスペックによっては、中継装置で通信パケットを中継することによる処理負荷が問題となる。本発明によれば、セキュリティレベルやプロキシの必要性をデータ送信要求ごとに把握し、必要に応じて中継装置で通信パケットのアドレスおよびポート番号を変更することができる。すなわち、環境や利用者ニーズに応じ、セキュリティレベルを一定以上に保ちながら、中継装置での処理負荷を可能な限り削減することができる。
【発明を実施するための最良の形態】
【００３７】
本発明の特徴を説明するために、以下において、図面を参照して具体的に述べる。
[第１の実施の形態]
本発明を実施するための第１の実施の形態について図面を参照して詳細に説明する。
【００３８】
第１の実施の形態では、判定トリガの発生契機の一例として、例えば通信開始時のように、通信管理テーブルに登録されていないデータ送信要求が発生したときの動作を示す。
【００３９】
図１は、本発明の第１の実施の形態となる通信スタック構成システムを示したものである。通信端末２は、中継端末１を介して、接続先端末３と接続している。
【００４０】
中継端末１は、中継処理部１４と、中継処理設定部１６と、中継情報管理テーブル１５と、パケット処理部１３と、ＮＩＣ１１、１２を備える。
【００４１】
通信端末２は、アプリケーション部２６と、通信要求受信部２５と、通信管理テーブル２７と、中継可否設定部２４と、宛先変更部２３と、パケット処理部２２と、ＮＩＣ２１と、中継可否判定部３０と、中継可否判定テーブル４１とを、それぞれ備える。
【００４２】
アプリケーション部２６は、接続先端末３に送信するパケットを生成するものであり、例えば、FTP等のファイル交換アプリケーションやＷｅｂ閲覧のアプリケーションなどである。又、接続先端末３と通信する際に、データ送信要求を生成する。このデータ送信要求には、送信元ポート番号、宛先アドレス、宛先ポート番号が記されている。尚、アプリケーション毎に、通信の際に用いるポート番号（送信元ポート番号）が予め定められているものとする。
【００４３】
通信要求受信部２５の動作を図２に示す。通信要求受信部２５は、アプリケーション部２６からのデータ送信要求を受信する（１０１）と、通信管理テーブル２７を参照し、データ送信要求の送信に関する情報が通信管理テーブル２７に登録されているかどうかを確認する（１０２）。確認方法としては、送信元ポート番号の値を参照する方法、プロセス名もしくはプロセスＩＤを参照する方法などがある。受信したデータ送信要求の送信に関する情報が通信管理テーブル２７に登録されていない場合、中継端末１にて送信パケットを中継するか転送するかを中継可否判定部３０に問い合わせるべく、判定トリガを送信する（１０３）。一方、通信管理テーブルに登録されている場合、もしくは中継可否設定部２４にて通信管理テーブル２７の設定が終了し中継可否判定部３０からの応答を受信する（１０４）と、データ送信要求の送信元ポート番号に基づいて、通信管理テーブル２７内の中継可否の値を確認する（１０５）。中継する場合は宛先変更を実施すべく宛先変更部２３へ（１０６）、転送する場合は宛先変更を実施しないためパケット処理部２２へ（１０７）、データ送信要求を渡す。
【００４４】
通信管理テーブル２７には、アプリケーション（送信元ポート番号もしくはプロセス名、プロセスＩＤ）毎に、そのアプリケーションのパケットを中継端末１で中継するか転送するかを示す情報、および中継する場合はパケットの中継に必要な情報が設定されている。
図３に、通信管理テーブル２７の登録内容の一例を示す。通信管理テーブル２７には、送信元ポート番号、送信元ポート番号ごとに通信パケットを中継するか転送するかを示す中継可否、アプリケーション２６が要求している宛先アドレスおよび宛先ポート番号、変更後の宛先アドレスおよび宛先ポート番号が登録される。なお、送信元ポート番号の代わりに、アプリケーション２６のプロセス名またはプロセスＩＤが登録されてもよい。中継する場合は、中継可否の値として“１”が設定され、アプリケーションが要求している、中継装置で変更する前の宛先アドレス及び宛先ポート番号と、変更後の送信元ポート番号、宛先アドレス、及び宛先ポート番号が対応付けられている。転送する場合は、中継可否の値として“０”が設定される。
【００４５】
中継可否判定部３０の動作を図４に示す。中継可否判定部３０は、判定トリガを受信すると（１１１）、中継可否判定テーブル４１を参照し、そのアプリケーションのパケットを中継するか、転送するかを判定する（１１２）。判定結果に基づいて設定依頼を生成して中継可否設定部２４に通知する（１１３）。その後、通信可否設定部から応答を受信したら（１１４）、判定トリガの送信元に応答する（１１５）。
【００４６】
中継可否判定テーブル４１は、アプリケーションのパケットを中継するか、転送するかを判定するための情報を保持する。
【００４７】
中継可否設定部２４の動作を図５に示す。中継可否設定部２４は、中継可否判定部３０からの設定依頼を受信すると（１２１）、設定依頼に基づき、通信情報を通信管理テーブル２７に登録する（１２２）。続いて設定依頼を確認し（１２３）、通信パケットを中継するように設定依頼された場合、中継端末１の中継処理設定部１６に、該当する通信パケットが到着したら元来アプリケーション２６が要求していた宛先へ中継させるために、中継処理設定要求をパケット処理部２２とＮＩＣ２１とを介して通知し（１２４）、中継処理設定部１６からの応答を待つ（１２５）。中継処理設定部１６からの応答が到着したら、応答メッセージ内の宛先書き換え情報を、通信管理テーブル２７に登録する。このとき、中継可否の値を“１”に設定する（１２６）。一方、通信パケットを転送するように設定依頼された場合、通信管理テーブル２７に中継可否の値を“０”に設定する（１２７）。設定完了後、中継可否判定部２４に応答する（１２８）。
【００４８】
宛先変更部２３の動作を図６に示す。宛先変更部２３は、通信要求受信部２６からデータ送信要求を受信すると、通信管理テーブル２７の情報を参照し、データ送信要求内の宛先アドレスおよびポート番号を、通信管理テーブル２７に記載の変更後宛先アドレスおよびポート番号に変更する（１３１）。変更手段としては、ヘッダの書き換え、ヘッダのカプセリングが挙げられる。変更後、パケット処理部２２へ、データ送信要求を渡す（１３２）。一方、パケット処理部２２からデータを受信すると、通信管理テーブルの登録情報に従い、データの宛先・送信元情報を変更する（１３３）。変更後、データを対応するアプリケーションに渡す（１３４）。
【００４９】
パケット処理部２２の動作を図７に示す。パケット処理部２２は、データ送信要求を受信すると、要求内容に従いパケットを生成し（１４１）、ルーティングテーブルに従いパケットを送信する（１４２）。また、ＮＩＣ２１よりパケットを受信した場合は、パケットの宛先が自端末かを確認する（１４３）。自端末でない場合は、ルーティングテーブルに従いパケットを転送する（１４２）。自端末の場合は、ポート番号を確認し、適切なアプリケーションへデータを渡す（１４４）。
【００５０】
ＮＩＣ２１は、パケット処理部２２で生成されたパケットを、パケットの宛先に送信する。また受信したパケットを、パケット処理部２２に渡す。
【００５１】
中継端末１はＮＩＣ１２を介して接続先端末３とネットワークを介して接続している。また、中継端末１のＮＩＣ１１と、通信端末２のＮＩＣ２１とはネットワークを介して接続されている。通信端末２は、中継端末１を介して接続先端末３と通信することができる。
【００５２】
ＮＩＣ１１、１２は受信したパケットを、パケット処理部１３に渡す。またパケット処理部１３で生成されたパケットを、パケットの宛先に送信する。
【００５３】
パケット処理部１３の動作は、パケット処理部２２と同一である。パケット処理部１３は、ＮＩＣ１１、１２からパケットを受信すると、パケットの宛先アドレスを確認する。このとき、宛先が中継端末１の場合には、続いて宛先ポート番号を確認する。宛先ポート番号が中継処理部１４もしくは中継処理設定部１６以外のものであれば、中継端末１内の適切なアプリケーションにパケット内のデータを渡す。宛先ポート番号が中継処理部１４のものであれば中継処理部１４に、中継処理設定部１６のものであれば中継処理設定部１６にパケットを渡す。一方、宛先が他端末の場合は、ルーティングテーブルに従ってパケットを転送する。
【００５４】
中継処理部１４の動作を図８に示す。中継処理部１４は、パケット処理部１３から中継するデータを受信する（１５１）と、中継情報管理テーブル１５を参照し、宛先および送信元情報を変更してデータ祖言う信用急を作成する（１５２）。具体的には、受信データの宛先ポート番号をもとに、通信端末２側アドレスおよびポート番号、接続先端末３側アドレスおよびポート番号の対を中継情報管理テーブル１５から検索し、接続先端末３からのデータであれば通信端末２を、通信端末２からのデータであれば接続先端末３を、それぞれ宛先とするデータ送信要求を作成する。作成したデータ送信要求を、パケット処理部１３に渡す（１５３）。
【００５５】
中継情報管理テーブル１５は、パケット中継に関する情報が記憶されている。中継管理テーブル１５の一例を図９に示す。中継情報管理テーブル１５には、通信端末２のアドレスおよびポート番号と、これに対応する中継端末１側のポート番号、また接続先端末３のアドレスおよびポート番号と、これに対応する中継端末１側のポート番号が登録されている。
【００５６】
中継処理設定部１６は、中継可否設定部２４からの中継処理設定要求を受信し、要求に応じて処理を行う。中継処理設定部１６の動作を図１０に示す。中継処理設定要求を受信すると（１６１）、中継処理設定要求に従い、送信元および転送先のアドレス・ポート番号情報を中継情報管理テーブル１５に登録する（１６２）。このとき、ポート番号を２つ用意し、送信元および転送先に割り当てる。次に、通信端末２用として中継情報管理テーブル１５に登録したポートを開放する（１６３）。そして、前述のフローで開放したポート番号など、宛先書き換え情報を中継可否設定部２４に返信する（１６４）。
【００５７】
次に、図１で示した通信スタック構成システムの動作を、図面を使って詳しく説明する。
【００５８】
図１１は、通信端末２において、アプリケーション部２６からデータ送信要求が発生したときのフローチャートである。ここでは、アプリケーション部２６から、接続先端末３へのデータ送信要求が発生する場合を想定して説明する。
【００５９】
アプリケーション部２６は生成したデータ送信要求を、通信要求受信部２５に渡す。
【００６０】
通信要求受信部２５は、データ送信要求を受信する（２０１）と、通信管理テーブル２７を参照し（２０２）、そのデータ送信要求の送信モードに関する情報が通信管理テーブル２７に登録されているかどうかを確認する。確認方法としては、送信元ポート番号もしくはプロセス名、プロセスＩＤの値を参照する方法などがある。
【００６１】
受信したデータ送信要求の送信モードに関する情報が通信管理テーブル２７に登録されていない場合、中継可否判定部３０は中継可否判定テーブル４１を参照し、所定のポリシーに従って通信パケットを中継するか転送するかを判定する（２１０）。判定結果に基づき、中継可否設定部２４へ設定依頼を行う。
【００６２】
中継可否設定部２４は、設定依頼を受信すると、通信管理テーブルに通信情報を登録する（２１１）。
【００６３】
中継するよう設定依頼された場合、該当する通信パケットが到着したら元来アプリケーション２６が要求していた宛先へ中継させるよう、中継端末１の中継処理設定部１６へ、中継処理設定要求をパケット処理部２２とＮＩＣ２１とを介して送信する（２１２）。中継処理設定部１６での動作は、中継端末１の動作として後述する。
【００６４】
中継処理設定部１６からの宛先書き換え情報が到着したら（２１３）、宛先書き換え情報を通信管理テーブル２７に登録する。このとき、中継可否の値を“１”に設定する（２１４）。設定完了後、通信管理テーブル２７の登録完了メッセージを中継可否判定部３０へ返す。
【００６５】
一方ステップ２１１で通信パケットを転送するように設定依頼された場合、中継可否設定部２４は、通信管理テーブル２７に中継可否の値を“０”に設定する（２１５）。設定完了後、通信管理テーブル２７の登録完了メッセージを中継可否判定部３０へ返す。
【００６６】
中継可否判定部３０は応答を受け取ると、通信要求受信部２５へ応答を返す。
【００６７】
通信要求受信部２５は応答を受信すると、データ送信要求の送信元ポート番号に基づいて、通信管理テーブル２７内の中継可否の値を確認する（２０３）。中継する場合は宛先変更を実施すべく宛先変更部２３へ、転送する場合は宛先変更を実施しないためパケット処理部２２へ、データ送信要求を渡す。
【００６８】
宛先変更部２３は、データ送信要求を受信すると、通信管理テーブル２７の情報を参照し、データ送信要求内の宛先アドレスおよびポート番号を、通信管理テーブル２７に記載の変更後宛先アドレスおよびポート番号に変更する（２０４）。このとき、宛先アドレスは中継端末１となる。なお、変更手段としては、ヘッダの書き換え、ヘッダのカプセリングが挙げられる。変更後、パケット処理部２２へ、データ送信要求を渡す。
【００６９】
パケット処理部２２は、データ送信要求を受信すると、要求内容に従いパケットを生成する（２０５）。生成されたパケットはＮＩＣ２１に渡され、所望の宛先へ送信される。
【００７０】
図１２は、中継端末１においてパケットを受信したときのフローチャートである。
【００７１】
ＮＩＣ１１、１２は受信したパケットを、パケット処理部１３に渡す。
【００７２】
パケット処理部１３では、パケットを受信する（２５１）と、パケットの宛先アドレスを確認する（２５２）。宛先が中継端末１の場合には、続いて宛先ポート番号を確認する（２５３）。宛先ポート番号が中継処理部１４もしくは中継処理設定部１６以外のものであれば、中継端末１内の適切なアプリケーションにパケット内のデータを渡し（２５４）、処理を終了する。宛先ポート番号が中継処理部１４のものであれば中継処理部１４に、中継処理設定部１６のものであれば中継処理設定部１６にデータを渡す。
【００７３】
また、宛先アドレスの確認（２５２）の結果、他端末宛であった場合には、ルーティングテーブルに従いパケットの転送を行う（２５５）。
【００７４】
中継処理部１４はデータを受け取ると、中継情報管理テーブル１５を参照して宛先・送信元アドレスを設定し、データ送信要求を行う（２５６）。データ送信要求はパケット処理部１３へ渡される。パケット処理部１３は、受け取ったデータ送信要求をもとにパケットを作成し（２５７）、ルーティングテーブルに従いパケットを送信する（２５５）。
【００７５】
中継処理設定部１６は、受信した中継処理設定要求に従い、送信元および転送先のアドレス・ポート番号情報を中継情報管理テーブル１５に登録する（２５８）。このとき、ポート番号を２つ用意し、送信元および転送先に割り当てる。次に、通信端末２用として中継情報管理テーブル１５に登録したポートを開放する（２５９）。そして、開放したポート番号など、宛先書き換え情報を中継可否設定部２４に返信する（２６０）。
【００７６】
なお、上記の実施の形態では、中継可否判定部３０および中継可否判定テーブル４１を通信端末２が備える例を示したが、それぞれ中継端末１が備えてもよい。また、中継可否判定部３０と中継可否判定テーブル４１は同一の端末に備わるとよいが、お互いに通信可能ならば、別の端末に備わってもよい。
【００７７】
また、中継可否判定部３０は、中継端末１と通信端末２の双方に備わってもよい。この場合、通信要求受信部２５は、判定トリガをどの中継可否判定部に送出するかを決定する機能を別に備えるとよい。
【００７８】
また、中継可否判定テーブル４１は、中継端末１と通信端末２の双方に備わってもよい。この場合、双方の中継可否判定テーブルを参照できるよう、相互に通信できるとよい。
【００７９】
[第２の実施の形態]
本発明を実施するための第２の実施の形態について図面を参照して詳細に説明する。
【００８０】
第２の実施の形態では、第１の実施の形態において、中継可否判定テーブル４１の情報を更新するための機能を追加したときの構成および動作を示す。かかる構成によれば、中継可否判定部３０は、中継端末１ならびに通信端末２の静的な情報と動的な情報を利用して、中継するか転送するかを判定することが可能となる。
【００８１】
図１３は、本発明の第２の実施の形態となる通信スタック構成システムを示したものである。第１の実施の形態と同様の構成となるものについては同一の符号で示している。第２の実施の形態における構成は、第１の実施の形態における構成に、機器情報収集部４０を追加で備えることを特徴とする。
【００８２】
機器情報収集部４０は中継可否判定テーブル４１と接続され、また中継可否判定部３０は中継可否判定テーブル４１を参照している。機器情報収集部４０は、中継可否判定部３０および中継可否判定テーブル４１と同一の端末に備わるとよいが、各部・テーブルが相互に通信可能ならば、異なる端末に備わってもよい。
【００８３】
なお図１３では、機器情報収集部４０と中継可否判定テーブル４１は、通信端末２ａに備わっているが、中継端末１に備わってもよい。
【００８４】
図１４は、第２の実施の形態における機器情報収集部４０の動作を示したフローチャートである。
【００８５】
機器情報収集部４０は、通信端末２ａ、中継端末１、接続先端末３および各端末間の通信手段に関する情報を収集する（１７１）。情報収集の契機としては、一定時間ごと、各端末の移動検知時、電源の変化、ユーザからの要求などが挙げられる。収集した情報は、中継可否判定テーブル４１へ反映させる（１７２）。
【００８６】
また、中継端末１および通信端末２ａの双方が機器情報収集部４０を備え、双方で情報を交換する動作を加えてもよい。かかる構成をとることにより、通信端末はより詳細な中継端末の情報、例えば通信手段およびその状態、位置情報、移動情報、電源情報などを、利用することができる。
【００８７】
なお、通信端末２ａおよび中継端末１の動作は、機器情報収集部４０の動作を除き、第１の実施の形態の動作と同様である。
【００８８】
[第３の実施の形態]
本発明を実施するための第３の実施の形態について図面を参照して詳細に説明する。
【００８９】
第３の実施の形態では、第１および第２の実施の形態において、通信管理テーブル２７に登録済みのアプリケーションの中継可否設定を変更する構成および動作を示す。かかる構成によれば、通信開始後のアプリケーションの中継可否を変更できる。つまり、通信開始後の判定条件の変化に対応することが可能となる。なお、以下の説明では、第１の実施の形態を基準としているが、第２の実施の形態においても、同様の構成にて実現できる。
【００９０】
図１５は、本発明の第３の実施の形態となる通信スタック構成システムを示したものである。第１および第２の実施の形態と同様の構成となるものについては同一の符号で示している。第３の実施の形態における構成は、第１または第２の実施の形態における構成のうち、中継可否設定部、中継処理設定部に追加の機能を備えることを特徴とする。
【００９１】
以下、追加の機能を備える各部の動作について、図面を用いて説明する。
【００９２】
第３の実施の形態における中継可否設定部２４ｂの動作を図１６に示す。第１ならびに第２の実施の形態における中継可否設定部２４と同様の動作については同一の番号で示す。第１ならびに第２の実施の形態との違いは、通信管理テーブル２７に登録済みのアプリケーションの中継可否設定を変更する動作を加えた点である。
【００９３】
中継可否設定部２４ｂは中継可否判定部３０より設定依頼を受信すると（１２１）、通信管理テーブル２７と設定依頼の内容とを照合する（１２９）。照合の結果、通信管理テーブルに未登録の場合は、通信管理テーブルへ通信情報を登録する（１２２）。一方、登録されている場合は、ステップ１２２をスキップする。
【００９４】
次に、設定依頼内容を確認する（１２３ｂ）。設定依頼内容と通信管理テーブルとを照合し、以下の３種のいずれかの動作を行う。
（１）通信開始時および通信パケットを中継端末にて転送していた時に、中継するように設定依頼された場合。中継処理設定部１６に、該当する通信パケットが到着したら元来アプリケーション２６が要求していた宛先へ中継するよう、中継処理設定要求として登録要求を通知する（１２４）。その後、中継処理設定部１６からの応答を待ち（１２５）、応答が到着したら、中継可否設定部２８は、応答メッセージ内の宛先書き換え情報を、通信管理テーブル２７に登録する。このとき、中継可否の値を“１”に設定する（１２６）。
（２）通信パケットを中継していた時に、転送するように設定依頼された場合。中継処理設定部１６に、該当する通信の転送情報を削除するよう、中継処理設定要求として削除要求を通知する（１３０）。その後、中継処理設定部１６からの応答を待ち（１２５ｂ）、応答が到着したら、通信管理テーブル２７から該当する通信パケットの宛先書き換え情報を削除する。このとき、中継可否の値を“０”に設定する（１２７ｂ）。
（３）設定内容に変更がない場合、すなわち、通信開始時および通信パケットを中継端末にて転送していた時に、転送するように設定依頼された場合、ならびに通信パケットを中継端末にて中継していた時に、中継するように設定依頼された場合。このときは何もしない。
【００９５】
上記の各動作が完了したら、判定トリガの送信元に応答する（１２８）。
【００９６】
第３の実施の形態における中継処理設定部１６ｂの動作を図１７に示す。第１および第２の実施の形態における中継処理設定部１６と同様の動作となるものは、同一の符号にて示す。第１ならびに第２の実施の形態との違いは、中継情報管理テーブル１５に登録済みの通信の中継可否設定を変更する動作を加えた点である。
【００９７】
中継可否判定部３０は、通信要求受信部２５から判定トリガを受信し、中継可否判定テーブル４１を参照して中継か転送かを判定し、中継可否設定部２４ｂに設定依頼を送信する。ここでの判定トリガが発生する条件は、上述の実施の形態１であっても、後述する実施の形態３又は実施の形態４であってもよい。
【００９８】
中継処理設定部１６ｂは中継処理設定要求を受信すると（１６１）、設定要求内容を確認する（１６５）。登録要求の場合は、第１および第２の実施の形態における中継処理設定部１６と同様の動作を行う（１６２〜１６４）。削除要求の場合は、要求に従い中継情報管理テーブル１５から対象情報を削除する（１６６）。また、中継情報管理テーブル１５の更新に従い、対象の送信元側ポートを削除する（１６７）。完了後、中継可否設定部２４に応答する（１６８）。
【００９９】
なお、中継端末１ｂおよび通信端末２ｂの動作は、中継可否設定部２４ｂおよび中継処理設定部１６ｂを除き、第１および第２の実施の形態の動作と同様である。
【０１００】
[第４の実施の形態]
本発明を実施するための第４の実施の形態について図面を参照して詳細に説明する。
【０１０１】
第４の実施の形態では、第３の実施の形態において、中継可否判定テーブルへの更新内容が条件を満たしたときに判定トリガが発生する機能を追加したときの構成および動作を示す。かかる構成によれば、中継可否判定テーブルの更新状況に基づき、適宜中継可否判定を行うことができる。
【０１０２】
図１８は、本発明の第４の実施の形態を実現する通信スタック構成システムを示したものである。第３の実施の形態と同様の構成となるものについては同一の符号で示している。第４の実施の形態における構成は、第３の実施の形態における構成に、機器情報収集部４０ｃを追加で備えることを特徴とする。機器情報収集部４０ｃは、中継可否判定部３０および中継可否判定テーブル４１と接続される。機器情報収集部４０ｃは、中継可否判定部３０および中継可否判定テーブル４１と同一の端末に備わるとよいが、各部・テーブルが相互に通信可能ならば、異なる端末に備わってもよい。
【０１０３】
図１９は、第４の実施の形態における機器情報収集部４０ｃの動作を示したフローチャートである。第２の実施の形態における機器情報収集部４０と同様の動作となるものは、同一の符号にて示す。第２の実施の形態における機器情報収集部４０との違いは、収集した機器情報の内容に応じて中継可否判定トリガを送出する点である。
【０１０４】
機器情報収集部４０ｃは、第２の実施の形態における機器情報収集部４０と同様の動作にて機器情報を収集し、収集した情報を中継可否判定テーブル４１に登録・更新する（１７１〜１７２）。中継可否判定テーブルに登録又は更新の変化が生じた場合は、中継可否判定部３０へ判定トリガを送出する（１７３）。
【０１０５】
なお、本実施の形態の動作は、機器情報収集部４０ｂを除き、第３の実施の形態の動作と同様である。
【０１０６】
[第５の実施の形態]
本発明を実施するための第５の実施の形態について図面を参照して詳細に説明する。
【０１０７】
第５の実施の形態では、第３および第４の実施の形態において、ユーザからの判定依頼が発生したときに判定トリガが発生する機能を追加したときの構成および動作を示す。かかる構成によれば、ユーザの判定開始要求に基づいて中継可否判定を行うことができる。なお、以下の説明では、第３の実施の形態を基準としているが、第４の実施の形態においても、同様の構成にて実現できる。
【０１０８】
図２０は、本発明の第５の実施の形態となる通信スタック構成システムを示したものである。第３および第４の実施の形態と同様の構成となるものについては同一の符号で示している。第５の実施の形態における構成は、第３および第４の実施の形態における構成に、手動判定要求受付部５０を追加で備えることを特徴とする。手動判定要求受付部５０は中継可否判定部３０と接続される。このため、手動判定要求受付部５０は中継可否判定部３０と同一の端末に備わるとよいが、各部が相互に通信可能ならば、異なる端末に備わってもよい。また、手動判定要求受付部５０は、中継端末と通信端末の双方に備わっていてもよい。
【０１０９】
図２１は、第５の実施の形態における手動判定要求部５０の動作を示したフローチャートである。
【０１１０】
手動判定要求受付部５０は、ユーザからの判定要求・設定要求を受け付ける（１８１）。ユーザが判定要求を行うと、手動判定受付部５０は、判定トリガを作成し、中継可否判定部３０へ送信する（１８２）。
【０１１１】
なお、通信端末２ｄの動作は、手動判定要求受付部５０の動作を除き、第３および第４の実施の形態の動作と同様である。
【０１１２】
[第６の実施の形態]
本発明を実施するための第６の実施の形態について図面を参照して詳細に説明する。
【０１１３】
第６の実施の形態では、第３から第５のいずれかの実施の形態において、ユーザからの設定指示に基づいて中継するか転送するかを決定する機能を追加したときの構成および動作を示す。かかる構成によれば、ユーザの設定要求を中継可否に反映させることができる。なお、以下の説明では、第３の実施の形態を基準としているが、第４および第５の実施の形態においても、同様の構成にて実現できる。
【０１１４】
図２２は、本発明の第６の実施の形態となる通信スタック構成システムを示したものである。第３、第４および第５の実施の形態と同様の構成となるものについては同一の符号で示している。第６の実施の形態における構成は、第３の実施の形態における構成に、手動設定要求受付部６０を追加で備えることを特徴とする。手動設定要求受付部６０は中継可否判定部３０ｅと接続される。このため、手動設定要求受付部６０は中継可否判定部３０ｅと同一の端末に備わるとよいが、各部が相互に通信可能ならば、異なる端末に備わってもよい。また、手動設定要求受付部６０は、中継端末と通信端末の双方に備わっていてもよい。
【０１１５】
図２３は、第６の実施の形態における手動設定要求受付部６０の動作を示したフローチャートである。
【０１１６】
手動設定要求受付部６０は、ユーザからの判定要求・設定要求を受け付ける（１９１）。ユーザが設定要求を行うと、手動判定受付部５０は、オプション付き判定トリガを作成し、中継可否判定部３０ｅへ送信する（１９２）。オプションには、ユーザの要求した判定結果が格納されている。
【０１１７】
図２４は、第６の実施の形態における中継可否判定部３０ｅの動作を示したフローチャートである。第１から第５の実施の形態における中継可否判定部３０と同様の動作となるものは、同一の符号にて示す。第１から第５の実施の形態における中継可否判定部３０との違いは、手動設定要求受付部６０から送信されるオプション付き判定トリガを処理する機能を追加で備える点である。
【０１１８】
中継可否判定部３０ｅは、判定トリガを受信すると（１１１）、オプションの有無を確認する（１１４）。オプションがない場合には、第１から第５の実施の形態における中継可否判定部３０と同様に、中継端末にて中継するか転送するかを判定する（１１２）。オプションがある場合には、オプションを読み出し、オプション内容を判定結果とする（１１５）。以降の動作は、第１から第５の実施の形態における中継可否判定部３０と同様である。
【０１１９】
なお、通信端末２ｅの動作は、手動設定要求受付部６０、中継可否判定部３０ｅの動作を除き、第３から第５の実施の形態と同様である。
【０１２０】
[第７の実施の形態]
本発明を実施するための第７の実施の形態について図面を参照して詳細に説明する。
【０１２１】
第７の実施の形態では、第１の実施の形態における中継可否判定テーブル４１に格納する情報及び、その情報によって中継可否判定テーブルが判定する判定結果の詳細について説明する。中継可否判定テーブル４１は中継可否判定部３０から参照され、通信パケットを中継するか転送するかを判定する材料として用いることができる。以下は、効果的な判定を行うために必要となる情報および動作について説明する。
【０１２２】
なお、以下では第１の実施の形態を基準として説明するが、第２から第６の実施の形態においても同様に、以下に説明する内容を適用できる。また、本実施の形態における通信スタック構成システムは、中継可否判定テーブル４１の情報を自動で更新できるよう、機器情報収集部４０、４０ｃを備える構成であることが望ましい。
【０１２３】
以下に、中継可否判定テーブル４１に格納することで効果的な中継可否判定を実現する情報、およびその情報を収集するための動作の一例を示す。
【０１２４】
（１）端末ハードウェア情報。端末のスペック、能力、ハードウェア状態情報などの通信環境に影響を及ぼす情報が相当する。具体例を以下に示す。
【０１２５】
（１−１）通信端末の備える通信手段の数および通信手段の種別。
通信端末の備える通信手段としてＢｌｕｅｔｏｏｔｈを有しており、Ｂｌｕｅｔｏｏｔｈを介した接続経路が中継端末経由以外に存在しない場合には、通信端末は中継端末を介して接続せざるを得ず、中継端末を経由しない通信経路への変更は生じにくい。よって中継端末にて通信パケットを中継するように判定する。
一方で、通信端末が通信手段としてＢｌｕｅｔｏｏｔｈと無線ＬＡＮを備え、Ｂｌｕｅｔｏｏｔｈを介して中継端末と接続している場合、端末の移動にともない、無線ＬＡＮを利用した中継端末を介さない経路への変更が考えうる。よって中継端末にて通信パケットを転送するように判定する。
中継可否判定時に、通信端末の備える通信手段の数および通信手段の種別を参照できるとよい。
【０１２６】
（１−２）通信端末および中継端末のハードウェア処理スペック。
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリなどが該当する。通信端末の各スペックが弱い場合、他の通信端末へのアプリケーションハンドオーバを行う可能性があると考えられる。よって、中継端末にて通信パケットを中継するように判定する。
また、中継端末の各スペックが弱い場合、中継端末での中継負荷が問題となる可能性がある。よって、中継端末にて通信パケットを転送するように判定する。
中継可否判定時に、通信端末および中継端末のＣＰＵ、メモリ情報を参照できるとよい。
【０１２７】
（１−３）中継端末および通信端末の電源状況。
中継端末が電池駆動である場合、残余電力量によっては、中継端末の電源がなくなることにより、中継端末を介した接続ができなくなる可能性が考えられる。通信要因によるが、中継端末を介さない経路への変更がありうるのであれば、中継端末にて通信パケットを転送するように判定する。
また、通信端末が電池駆動である場合、残余電力量によっては通信端末上でのアプリケーションの実行を継続できなくなる可能性が考えられる。中継端末を含めた他の端末へ実行アプリケーションのハンドオーバを行うことを考えるのであれば、中継端末にて通信パケットを中継するように判定する。
中継可否判定時に、中継端末および通信端末の電源状況を参照できるとよい。
【０１２８】
（１−４）通信端末および中継端末の位置情報。
自宅やオフィスへ移動する場合、その場にある通信端末が中継端末と接続し、現在通信端末で実行しているアプリケーションのハンドオーバを行う可能性が考えられる。この場合、中継端末にて通信パケットを中継するように判定する。
また、移動によっては、通信環境に変化が生じやすくなる。より高速な通信環境を利用できるようになる可能性もある。この点を考慮すると、中継端末にて通信パケットを転送するように判定する。
中継可否判定時に、通信端末および中継端末の位置情報、および移動情報を参照できるとよい。
【０１２９】
（２）端末ソフトウェア情報。アプリケーション、アプリケーションに応じたユーザの通信環境情報などが相当する。具体例を以下に示す。
【０１３０】
（２−１）アプリケーション種別。
ＦＴＰ実行時には、保存先としてＨＤＤなど端末内蔵の媒体を参照するため、アプリケーションの端末間ハンドオーバは発生しづらい。また可能な限り高速な通信路を利用すべく、接続環境を変えやすい構成であることが好ましい。よって中継端末にて通信パケットを転送するように判定する。
中継可否判定時には、通信を要求しているアプリケーションの情報を与え、アプリケーション毎に設定している中継又は転送の情報を参照できるようにする。
【０１３１】
（２−２）ユーザの嗜好。
ユーザによって、アプリケーションのハンドオーバを行いやすい傾向にあったり、通信環境の変更を行いやすい傾向にあったりすることが想定されるためである。
常時ユーザの利用状況に関する情報を収集し、中継可否判定時には、ユーザの通信環境に関する情報を参照して判定できるようにする。
【０１３２】
（３）ネットワーク情報。通信端末−中継端末間、中継端末−接続先端末間の接続種別、ネットワーク状態などの通信環境に関する情報が相当する。具体例を以下に示す。
【０１３３】
（３−１）中継端末と通信端末との間の接続種別。
両端末間の通信速度が低速の場合、他の通信要因によっては、中継端末を介さずに接続先端末に接続するほうが好ましい場合が想定される。よって中継端末にて通信パケットを転送するように判定する。
中継可否判定時に、中継端末と通信端末の間の接続種別を参照できるとよい。
【０１３４】
（３−２）中継端末が接続先端末との接続に用いる接続種別。
両端末間の通信速度が低速の場合、他の通信要因によっては、中継端末を介さずに接続先端末に接続するほうが好ましい場合が想定される。よって中継端末にて通信パケットを転送するように判定する。
中継可否判定時に、中継端末が接続先端末との接続に用いる接続種別を参照できるとよい。
【０１３５】
（３−３）中継端末が接続先端末との接続に経由するネットワークセキュリティレベル。
中継端末中の転送処理部が、不正パケット侵入防止機能を備えることにより、中継端末を経由する通信をネットワーク外部からの攻撃から保護することができる。しかし、中継端末のスペックによっては、中継端末で通信を分割することによる転送処理部での転送負荷が問題となる。そこで、中継端末が接続先端末との接続に経由するネットワークのセキュリティレベルを参照することにより、セキュリティレベルが高い場合は中継端末にて通信パケットを転送するように判定し、セキュリティレベルが低い場合は中継端末にて通信パケットを中継するように判定する。
中継可否判定時には、接続先端末との通信に経由するネットワークのセキュリティレベルを参照できるとよい。
【０１３６】
（３−４）接続先端末の情報。
通信端末と接続先端末の間で通信を確立する際に、通信端末が接続先端末に自端末情報を知られたくない場合を考える。このとき、中継端末にて通信を分割することにより、中継端末がプロキシサーバの役割を果たし、接続先端末から通信端末の情報を隠蔽することができる。しかし、中継端末のスペックによっては、中継端末で通信を分割することによる転送処理部での転送負荷が問題となる。そこで、接続先端末の情報を利用し、信頼できる相手であれば中継端末にて通信パケットを転送するように判定し、信頼できない相手であれば中継端末にて通信パケットを中継するように判定する。
中継可否判定時には、接続先端末に関する情報を参照できるとよい。
【０１３７】
図２５に、中継可否判定テーブル４１の一例を示す。中継可否判定テーブル４１には、通信手段、ハードウェアスペック、電源、位置、直接の接続先装置に関する情報が登録されている。
【０１３８】
図１８に示す例においては、通信手段の値、電源、位置、および直接の接続先装置に関する情報が時間とともに変化する。例えば電源のバッテリ残量の値が一定値を下回った場合には、通信端末上でアプリケーションを継続できなくなる恐れがある。そこで、バッテリ残量が一定値を下回った場合には判定トリガを送出する。中継可否判定部３０は中継可否判定テーブル４１の情報を参照し、バッテリ残量の警告を確認したうえで、中継するか転送するかを判定することができる。
【０１３９】
なお、図１８では、中継可否判定テーブル４１への情報保存形式の一例として表形式を示したが、中継可否判定部３０が理解できる形式であれば、その保存形式は問わない。例えば、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式やテキスト形式で登録されていてもよい。
【０１４０】
[第８の実施の形態]
本発明を実施するための第８の実施の形態について図面を参照して詳細に説明する。
【０１４１】
第８の実施の形態では、第１から第７の実施の形態と異なり、通信端末２ｆへ追加の機能なしに、中継端末１ｆで通信パケットの中継可否判定および中継可否設定を実施する構成においても、本発明が適用できることを示す。かかる構成によれば、通信端末に特殊な機能を必要とすることなく、本発明を実現できる。なお、以下の説明では、第１の実施の形態を基準に説明しているが、第２から第７の実施の形態のいずれにおいても、同様の構成にて実現できる。
【０１４２】
図２６は、本発明の第８の実施の形態となる通信スタック構成システムを示したものである。中継端末１ｆは、ＮＩＣ１１、１２と、通信処理部１３ｆと、中継処理部１４ｆと、通信管理テーブル１５ｆと、中継可否設定部１６ｆと、中継可否判定部３０と、中継可否判定テーブル４１とを、それぞれ備える。中継端末１ｆは、ＮＩＣ１１を介して通信端末２ｆと、ＮＩＣ１２を介して接続先端末３と、それぞれネットワーク接続されている。通信端末２ｆは、中継端末１ｆを介して接続先端末３と通信を行うことができる。
【０１４３】
次に、図２６に示した通信スタック構成システムの動作を、図面を用いて詳しく説明する。
【０１４４】
図２７は、通信処理部１３ｆの動作を示したフローチャートである。
【０１４５】
通信処理部１３ｆはデータ送信要求を受信すると、データ送信要求に従いパケットを作成し（３０１）、ルーティングテーブルに従ってパケットを送信する（３０２）。
【０１４６】
ＮＩＣ１１、１２よりパケットを受信した場合、通信処理部１３ｆは宛先を確認する（３０３）。宛先が自端末であった場合には、適切なアプリケーションにデータを渡す（３０４）。宛先が他端末であった場合には、通信管理テーブル１５ｆと受信パケットとを照合する（３０５）。受信パケットが通信管理テーブル１５ｆに登録されていない場合は、中継可否判定部３０へ判定トリガを送出し（３０６）、応答待ちを行う。受信パケットが通信管理テーブル１５ｆに登録済みの場合、および未登録の場合で中継可否判定部３０からの応答が返ってきたら（３０７）、通信管理テーブル１５ｆを参照し、該当するパケットを中継するか転送するかを確認する（３０８）。転送する場合は、ルーティングテーブルに従ってパケットを転送する（３０２）。中継する場合は、データを中継処理部１４ｆに渡す（３０９）。
【０１４７】
図２８は、第８の実施の形態における中継処理部１４ｆの動作を示したフローチャートである。
【０１４８】
中継処理部１４ｆは、通信処理部１３ｆからデータを受信する（３１１）と、データを格納していたパケットの宛先を確認する。宛先が中継端末でない場合は、通信管理テーブル１５ｆを参照し、送信元アドレスおよびポート番号を変更したデータ送信要求を作成し（３１２）、通信処理部１３ｆに渡す（３１４）。このとき、送信元アドレスを中継端末１ｆに設定し、送信元ポート番号を中継処理部１４ｆ用に開放する。宛先が中継端末の場合は、通信管理テーブル１５ｆを参照し、宛先アドレスおよびポート番号を変更したデータ送信要求を作成し（３１３）、通信処理部１３ｆに渡す（３１４）。ステップ３１２とステップ３１４は対になっており、ステップ３１２における変更前の送信元アドレスおよびポート番号を、ステップ３１３における変更後の宛先アドレスおよびポート番号として設定する。
【０１４９】
図２９は、通信管理テーブル１５ｆの登録内容の一例を示している。通信管理テーブル１５ｂには、通信端末２ｂ側のアドレスおよびポート番号、接続先端末３側のアドレスおよびポート番号と、この通信に対応する通信ＩＤ、中継可否が登録されている。
【０１５０】
図３０は、第８の実施の形態における通信可否設定部１６ｆの動作を示したフローチャートである。
【０１５１】
通信可否設定部１６ｆは、中継可否判定部３０より設定依頼を受信すると（３２１）、設定依頼に基づき通信管理テーブル１５ｆに通信情報を登録する（３２２）。続いて設定依頼の内容を確認する（３２３）。中継するよう設定依頼された場合は、通信管理テーブル１５ｆ中の中継可否の値を“１”に設定する（３２４）。一方、転送するよう設定依頼された場合は、通信管理テーブル１５ｆ中の中継可否の値を“０”に設定する（３２５）。設定完了後、中継可否判定部３０に応答する（３２６）。
【０１５２】
次に、第８の実施の形態における中継端末１ｆの動作を、図３１を使って説明する。
【０１５３】
中継端末１ｆはパケットを受信する（３５１）と、宛先アドレスを確認する（３５２）。
【０１５４】
受信したパケットの宛先が中継端末１ｆの場合は、続いて宛先ポート番号を確認する（３５３）。中継処理部１４ｆ以外のポート番号の場合は、適切なアプリケーションにデータを渡す（３５４）。中継処理部１４ｆのポート番号の場合は、データを中継処理部１４ｆに渡す。中継処理部１４ｆでは、通信管理テーブル１５ｆを参照し、パケットの中継処理を行う（３５５）。この場合、宛先は中継端末１ｆなので、宛先アドレスおよびポート番号を所定のものに設定し、データ送信要求を行う。続いて、通信処理部１３ｆにてデータ送信要求に基づきパケットを作成し（３５６）、ルーティングテーブルに従いパケットを転送する（３５７）。
【０１５５】
受信したパケットの宛先が中継端末１ｆ以外の場合は、続いて受信パケットと通信管理テーブル１５ｆとを照合し、受信パケットが登録されているかどうかを確認する（３５８）。
【０１５６】
通信管理テーブル１５ｆに登録されていない場合は、中継端末にて中継するか転送するかを判定する（３５９）。その後、通信管理テーブル１５ｆに通信情報を登録し（３６０）、判定結果に基づき中継可否の値を設定する。中継すると判定された場合は“１”を（３６１）、転送すると判定された場合は“０”を（３６２）、それぞれ登録する。
【０１５７】
通信管理テーブル１５ｆに登録されている場合、および登録が完了した場合は、続いて通信管理テーブル１５ｆに登録された情報に基づき、該当するパケットを中継するか転送するかを確認する（３６３）。中継する場合は、中継処理部１４ｆにデータを渡す。中継処理部１４ｆでは通信管理テーブル１５ｆを参照し、パケットの中継処理を行う（３５５）。この場合、宛先は中継端末１ｆではないので、送信元アドレスを中継端末１ｆに設定し、データ送信要求を行う。このとき、送信元ポート番号を中継処理部１４ｆ用に開放する。続いて、通信処理部１３ｆにてデータ送信要求に基づきパケットを作成し（３５６）、ルーティングテーブルに従いパケットを転送する（３５７）。なお、転送する場合は、パケットに手を加えずに、ルーティングテーブルに従いパケットを転送する（３５７）。
【０１５８】
[実施例]
次に、本発明の実施例について、図面を参照して詳細に説明する。
【０１５９】
本実施例では、図３２に示す端末構成における本発明の動作例を示す。第１の携帯端末７２は通信機能を有しており、モバイルゲートウェイ７１を介してネットワーク７４越しに存在する第２の携帯端末７３とネットワーク接続している。また、第１の携帯端末７２は、無線ルータ７５を介してネットワーク７４に接続することもできる。ここで、モバイルゲートウェイ７１、第１の携帯端末７２は、第１の実施の形態における中継端末、通信端末の機能・動作を実現できるものとする。なお、本実施例では、第１の実施の形態を基準として説明するが、第２から第８の実施の形態を適用しても同様に実現できる。
【０１６０】
[第１の実施例]
図３３は、通信パケットをモバイルゲートウェイ７１で中継し、のちにアプリケーションハンドオーバを行うことで、第１の携帯端末７２と第２の携帯端末７３との通信から、モバイルゲートウェイ７１と第２の携帯端末７３との通信に変更する場合の制御シーケンスおよびパケットフローを示したものである。
【０１６１】
第１の携帯端末７２上にて、第２の携帯端末７３との間でパケットのやりとりを行うアプリケーションを立ち上げると、通信管理テーブルにまだ登録が無いため、トリガが発生し、当該アプリケーションの通信パケットをモバイルゲートウェイ７１にて中継するか転送するかが判定される。
【０１６２】
中継すると判定された場合（１００１）、第１の携帯端末７２はモバイルゲートウェイ７１に、該当するアプリケーションによるパケットがモバイルゲートウェイ７１宛に到着したら、通信パケットを中継して、本来アプリケーションが要求していた第２の携帯端末７３宛に中継するよう、中継処理設定要求を行う（１００２）。
【０１６３】
モバイルゲートウェイ７１は、中継処理設定要求に従い、中継処理設定および中継情報管理テーブルへの登録を行う（１００３）。処理完了後、モバイルゲートウェイ７１は第１の携帯端末７２へ、中継処理設定の完了と、宛先書き換え情報を返信として通知する（１００４）。第１の携帯端末７２は、受信した宛先書き換え情報を通信管理テーブルに登録する。
【０１６４】
第１の携帯端末７２における、登録後の通信管理テーブルを図３４に示す。通信管理テーブルには、通信情報としてアプリケーションのポート番号である“１２３４”、ならびに中継可否の値としてモバイルゲートウェイ７１にて中継処理を行うことを意味する“１”が登録されている。また、宛先書き換え情報として、アプリケーションが要求する宛先アドレス“Ｃ”ならびに宛先ポート番号“６７８９”を、宛先アドレス“Ｂ”、宛先ポート番号“３４５６”、に、また送信元ポート番号“２３４５”に書き換えるべく、各情報が登録されている。
【０１６５】
また、モバイルゲートウェイ７１における、登録後の中継情報管理テーブルを図３５に示す。通信端末側の情報として、送信元アドレス“Ａ”、送信元ポート番号“２３４５”ならびにモバイルゲートウェイ７１の通信端末側インターフェースの待ち受けポート番号である“３４５６”が登録されている。また接続先端末側の情報として、モバイルゲートウェイ７１が接続先端末とのパケットのやりとりに利用するポート番号“４５６７”、接続先である第２の携帯端末７３のアドレス“Ｃ”ならびにポート番号“６７８９”が登録されている。
【０１６６】
設定後の第１の携帯端末７２から第２の携帯端末７３へのパケットフロー（１００５）について、図３６を用いて説明する。
【０１６７】
アプリケーションからのデータ送信要求（２００１）が発生すると、第１の携帯端末７２では通信管理テーブルを参照する。通信管理テーブルには、送信元ポート番号が“１２３４”のアプリケーションは中継可否の値が“１”、すなわち中継処理を行うよう登録されているため、宛先変更部にてデータ送信要求の宛先をモバイルゲートウェイ７１に変更する。宛先アドレス、宛先ポート番号および送信元ポート番号は、通信管理テーブルに登録されている値を利用する。変更後のデータ送信要求に基づきパケットを作成、送信する（２００２）。
【０１６８】
モバイルゲートウェイ７１は、該当パケットが到着すると、自端末を宛先とするパケットのためいったん受信する。続いて、宛先ポート番号が中継処理部にて用意されたものだと認識し、データを中継処理部に渡す。中継処理部では、中継情報管理テーブルを参照する。宛先ポート番号が“３４５６”であることから、送信元をモバイルゲートウェイ７１、宛先を第２の携帯端末７３のアドレス“Ｃ”およびポート番号“６７８９”に設定し、データ送信要求を行う。送信元ポート番号は、中継処理部にて用意され、中継情報管理テーブルに登録された値である“４５６７”を利用する。その後、中継処理部からのデータ送信要求に従い、パケットを作成、送信する（２００３）。
【０１６９】
第２の携帯端末７３から第１の携帯端末７２へのパケットフロー（１００６）については、第１の携帯端末７２から第２の携帯端末７３へのパケットフローの逆をたどる。第２の携帯端末７３が返信するときには、モバイルゲートウェイ７１から到着した通信パケットへの返信だと認識するため、モバイルゲートウェイ７１宛にパケットを送信する（２００４）。モバイルゲートウェイ７１は、該当パケットが到着すると、自端末を宛先とするパケットのためいったん受信する。続いて、宛先ポート番号が中継処理部にて用意されたものだと認識し、データを中継処理部に渡す。中継処理部では、中継情報管理テーブルを参照する。宛先ポート番号が“４５６７”であることから、送信元をモバイルゲートウェイ７１、宛先を第１の携帯端末７２のアドレス“Ａ”および第１の携帯端末７２の宛先変更部が用意したポート番号“２３４５”に設定し、データ送信要求を行う。送信元ポート番号は、中継端末にて通信端末側インターフェース用に用意され、中継情報管理テーブルに登録された値である“３４５６”を利用する。その後、中継処理部からのデータ送信要求に従い、パケットを作成、送信する（２００５）。
【０１７０】
第１の携帯端末７２はパケットを受信すると、宛先ポート番号を参照し、宛先変更部にデータを渡す。宛先変更部では、通信管理テーブルを参照し、送信元アドレスおよびポート番号を本来の送信者である第２の携帯端末７３のものに変更し、通信管理テーブルに登録されたアプリケーションのポート番号宛のデータとしてアプリケーションに渡す（２００６）。アプリケーションからは、第２の携帯端末７３からパケットが到着したと認識される。
【０１７１】
ここで、第１の携帯端末７２で実行しているアプリケーションを、モバイルゲートウェイ７１にて実行するよう、アプリケーションハンドオーバ要求が行われる（１００７）。アプリケーションハンドオーバの手法としては、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いる手法などがあるが、詳細は省略する。第１の携帯端末７２は、アプリケーションハンドオーバ要求とともに、アプリケーションのハンドオーバに必要な情報をモバイルゲートウェイ７１に通知する（１００８）。モバイルゲートウェイ７１は通知を受信すると、中継処理設定情報を更新し、もともと中継処理部が接続先端末側インターフェース用に用意したポート番号である“４５６７”を、モバイルゲートウェイ７１上で立ち上げるアプリケーションのポート番号へと変更する（１００９）。変更後、モバイルゲートウェイ７１はハンドオーバ処理の完了を第１の小型ゲーム機７２に通知する（１０１０）。
【０１７２】
アプリケーションハンドオーバ後、第１の携帯端末７２と第２の携帯端末７３との間の通信は、モバイルゲートウェイ７１で起動されたアプリケーションと第２の携帯端末７３との通信に切り替わる（１０１１、１０１２）。
【０１７３】
上記のように、モバイルゲートウェイ７１にて通信パケットを中継することにより、アプリケーションハンドオーバ時における第２の携帯端末７３との通信が不要となる。仮に通信パケットをモバイルゲートウェイ７１にて転送した場合、アプリケーションハンドオーバ前後で、第２の携帯端末７３から送出するパケットの宛先が変更となるため、第２の携帯端末７３への宛先変更通知が必要となる。
【０１７４】
[第２の実施例]
図３７は、当初通信パケットをモバイルゲートウェイ７１で中継していたときに、途中で当該通信パケットをモバイルゲートウェイ７１にて転送するよう変更し、のち経路変更を行うことで、モバイルゲートウェイ７１を介した通信から、無線ルータ７５を介した通信に変更する中継する場合の制御シーケンスおよびパケットフローを示したものである。
【０１７５】
第１の実施例と同様、アプリケーション開始時に、当該アプリケーションの通信パケットをモバイルゲートウェイ７１にて中継すると判定されたとする。このとき、第１の携帯端末７２と第２の携帯端末７３との間のパケットフローは、モバイルゲートウェイ７１にて中継処理される（１００５、１００６）。中継処理の詳細は第１の実施例に示したので、ここでは省略する。
【０１７６】
ここで、当該アプリケーションを立ち上げている最中に、新たに判定トリガが発生する。
【０１７７】
判定トリガの発生契機の一例としては、第１の携帯端末７２における通信環境および端末状態の変化が挙げられる。具体的には、
・第１の携帯端末７２、もしくはモバイルゲートウェイ７１の残余電力が少なくなった
・ユーザが、第１の携帯端末７２単独で高速な無線環境を利用できる場所に移動した
・ユーザの移動に伴い、近隣に高性能な端末がなくなったことから、端末間ハンドオーバを実行する可能性が減少した
といった変化が挙げられる。
【０１７８】
判定トリガの発生契機の別の一例としては、ユーザが手動でトリガの発生指示を行う場合が挙げられる。このとき、判定トリガのオプションを利用し、中継するか転送するかをユーザ自身が手動で決定してもよい。
【０１７９】
判定トリガが発生すると、トリガ発生時点での中継可否判定テーブル内の情報をもとに、改めて当該アプリケーションの通信パケットをモバイルゲートウェイ７１にて中継するか転送するかが判定される。判定トリガにオプションが含められている場合には、オプションに基づき中継するか転送するかが決定される。
【０１８０】
中継すると判定された場合、パケットフローに変化は生じない。このため、判定結果に伴う制御シーケンスは発生しない。一方、転送すると判定された場合、パケットフローに変化が生じることから、制御シーケンスが発生する。本実施例では、以下、転送すると判定された場合の制御シーケンスおよびパケットフローについて説明する。
【０１８１】
第１の携帯端末７２上にて、第２の携帯端末７３との間でパケットのやりとりを行うアプリケーションを立ち上げると、通信管理テーブルにまだ登録が無いため、トリガが発生し、当該アプリケーションの通信パケットをモバイルゲートウェイ７１にて中継するか転送するかが判定される。
【０１８２】
転送すると判定された場合（１１０１）、通信管理テーブルに通信情報を登録され、中継可否の値は“０”に設定される。このとき、該当するアプリケーションからのデータ送信要求に対して中継処理設定は行わず、データ送信要求に基づきパケットが作成される。
【０１８３】
第１の携帯端末７２における、登録後の通信管理テーブルを図３８に示す。通信管理テーブルには、アプリケーションの送信元ポート番号である“１２３４”と、中継可否の値としてモバイルゲートウェイにて通信パケットを転送処理することを意味する“０”が登録される。なお、アプリケーションからのデータ送信要求には手を加えないため、上記の情報以外は登録しなくてもよい。
【０１８４】
第１の携帯端末７２から第２の携帯端末７３へのパケットフロー（１１０２）におけるパケットの宛先は、第２の携帯端末７３となる。よって、モバイルゲートウェイ７１を経由する場合、モバイルゲートウェイ７１はパケットを受信すると宛先アドレスを確認し、通常のルーティング処理を行う。第２の小型ゲーム機７３から第１の小型ゲーム機７２へのパケットフロー（１１０３）も同様である。
【０１８５】
ここで、モバイルゲートウェイ７１を経由する通信経路を、無線ルータ７５を経由しモバイルゲートウェイ７１を介さない通信経路へ変更するよう、通信経路変更要求が行われる（１１０４）と、第１の携帯端末７２は、無線ルータ７５とやりとりをし、使用する通信手段を指定のものに変更する処理を行う（１１０５）。第１の携帯端末７２のアドレスを変更することなく通信経路を変更するための手法として、Ｍｏｂｉｌｅ  ＩＰを用いる手法などがあるが、詳細は省略する。
【０１８６】
通信経路変更後、第１の携帯端末７２と第２の携帯端末７３との間のパケットフローは、モバイルゲートウェイ７１を経由せず、無線ルータ７５を経由する経路へと変更になる（１１０６、１１０７）。このとき、第１の携帯端末７２から第２の携帯端末７３へのパケットフローにおけるパケットの宛先は、第２の携帯端末７３であるため、無線ルータ７５では、通常のルーティング処理を行う。
【０１８７】
上述のように、モバイルゲートウェイ７１にて通信パケットを転送する場合には、通信経路変更時における第２の携帯端末７３との通信が不要となる。仮に通信パケットをモバイルゲートウェイ７１にて中継した場合、通信経路変更前後で、第２の携帯端末７３から送出するパケットの宛先が変化するため、第２の携帯端末７３への宛先変更通知が必要となる。
【０１８８】
尚、上述した本発明の各端末は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。このような場合、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能をコンピュータプログラムにより実現することも可能である。
【図面の簡単な説明】
【０１８９】
【図１】図１は、第１の実施の形態の構成を説明するためのブロック図である。
【図２】図２は、通信要求受信部の動作の１例を示すフローである。
【図３】図３は、通信管理テーブルを説明するための図である。
【図４】図４は、中継可否判定部の動作の１例を示すフローである。
【図５】図５は、中継可否設定部の動作の１例を示すフローである。
【図６】図６は、宛先変更部の動作の１例を示すフローである。
【図７】図７は、パケット処理部の動作の１例を示すフローである。
【図８】図８は、中継処理部の動作の１例を示すフローである。
【図９】図９は、中継情報管理テーブルを説明するための図である。
【図１０】図１０は、中継処理設定部の動作の１例を示すフローである。
【図１１】図１１は、第１の実施の形態の通信端末の動作を説明するためのフローである。
【図１２】図１２は、第１の実施の形態の中継端末の動作を説明するためのフローである。
【図１３】図１３は、第２の実施の形態の構成を説明するためのブロック図である。
【図１４】図１４は、機器情報収集部の動作の１例を示すフローである。
【図１５】図１５は、第３の実施の形態の構成を説明するためのブロック図である。
【図１６】図１６は、第３の実施の形態の中継可否設定部の動作の１例を示すフローである。
【図１７】図１７は、第３の実施の形態の中継処理設定部の動作の１例を示すフローである。
【図１８】図１８は、第４の実施の形態の構成を説明するためのブロック図である。
【図１９】図１９は、第４の実施の形態の機器情報収集部の動作の１例を示すフローである。
【図２０】図２０は、第５の実施の形態の構成を説明するためのブロック図である。
【図２１】図２１は、手動判定要求受付部の動作の１例を示すフローである。
【図２２】図２２は、第５の実施の形態の構成を説明するためのブロック図である。
【図２３】図２３は、手動設定要求受付部の動作の１例を示すフローである。
【図２４】図２４は、手動設定要求受付部の動作の１例を示すフローである。
【図２５】図２５は、中継可否判定テーブルの１例である。
【図２６】図２６は、第８の実施の形態の構成を説明するためのブロック図である。
【図２７】図２７は、通信処理部の動作の１例を示すフローである。
【図２８】図２８は、中継処理部の動作の１例を示すフローである。
【図２９】図２９は、第８の実施の形態の通信管理テーブルの１例である。
【図３０】図３０は、第８の実施の形態の通信可否設定部の動作を説明するためのフローである。
【図３１】図３１は、第８の実施の形態の動作のフロー図である。
【図３２】図３２は、本発明の１実施例におけるシステムのブロック図である。
【図３３】図３３は、実施例におけるパケットフローを説明するための図である。
【図３４】図３４は、実施例における通信管理テーブルの例である。
【図３５】図３５は、実施例における中継情報管理テーブルの例である。
【図３６】図３６は、実施例における中継動作を説明するためのチャートである。
【図３７】図３７は、実施例におけるパケットフローを説明するための図である。
【図３８】図３８は、実施例における通信管理テーブルの例である。
【図１】
2009246614.tif 000003
【図２】
2009246614.tif 000004
【図３】
2009246614.tif 000005
【図４】
2009246614.tif 000006
【図５】
2009246614.tif 000007
【図６】
2009246614.tif 000008
【図７】
2009246614.tif 000009
【図８】
2009246614.tif 000010
【図９】
2009246614.tif 000011
【図１０】
2009246614.tif 000012
【図１１】
2009246614.tif 000013
【図１２】
2009246614.tif 000014
【図１３】
2009246614.tif 000015
【図１４】
2009246614.tif 000016
【図１５】
2009246614.tif 000017
【図１６】
2009246614.tif 000018
【図１７】
2009246614.tif 000019
【図１８】
2009246614.tif 000020
【図１９】
2009246614.tif 000021
【図２０】
2009246614.tif 000022
【図２１】
2009246614.tif 000023
【図２２】
2009246614.tif 000024
【図２３】
2009246614.tif 000025
【図２４】
2009246614.tif 000026
【図２５】
2009246614.tif 000027
【図２６】
2009246614.tif 000028
【図２７】
2009246614.tif 000029
【図２８】
2009246614.tif 000030
【図２９】
2009246614.tif 000031
【図３０】
2009246614.tif 000032
【図３１】
2009246614.tif 000033
【図３２】
2009246614.tif 000034
【図３３】
2009246614.tif 000035
【図３４】
2009246614.tif 000036
【図３５】
2009246614.tif 000037
【図３６】
2009246614.tif 000038
【図３７】
2009246614.tif 000039
【図３８】
2009246614.tif 000040