(57)【要約】【課題】中継ノードでプロキシを実現するためのプロキシプログラムのプログラミングにあたり、そのプログラミングに要する負荷を軽減する。【解決手段】ユーザが操作する移動ノード１とその通信相手となる相手ノード３との通信を中継する中継ノード２を設け、中継ノード２を介して移動ノード１と相手ノード３との通信を行うように構成された通信システムにおいて、移動ノード１と、相手ノード３との通信を中継ノード２で加工、蓄積、または代理応答するなどのプロキシの機能を実現するための雛形プログラム３１を利用することにより、各機能を簡単に利用することができる。また、プロキシの固定機能を提供するモード、プログラマが任意にプログラミングを行えるモードを用意し、プログラマが目的に応じてプログラミングの自由度と簡便性を自由に選択できる。【選択図】  図１
2005072649.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードであって、
前記プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入されていることを特徴とする中継ノード。
【請求項２】
前記雛形プログラムが、前記ユーザノードと前記中継ノードの通信リンクと、前記中継ノードと前記相手ノードの通信リンクとにおけるデータを所定の単位で蓄積して転送する転送機能を有するように拡張可能なことを特徴とする請求項１記載の中継ノード。
【請求項３】
前記雛形プログラムが、前記ユーザノードと前記中継ノードとの通信リンク切断時に前記相手ノードに対して所定の単位で代理応答する代理応答機能を有するように拡張可能なことを特徴とする請求項１または２記載の中継ノード。
【請求項４】
前記雛形プログラムが、前記ユーザノードと前記中継ノードの通信リンクと、前記中継ノードと前記相手ノードの通信リンクとを、前記各通信リンクにおけるデータを所定の単位で加工および蓄積して結合する結合機能を有するように拡張可能なことを特徴とする請求項１〜３のいずれか一項記載の中継ノード。
【請求項５】
前記プロキシの固定機能を実現するための定機能プログラムが更に導入され、
前記雛形プログラムを利用可能な第１の通信モードと、前記定機能プログラムを利用可能な第２の通信モードと、前記プロキシの機能をユーザが自由にプログラミング可能な第３の通信モードのいずれかにより、前記ユーザノードと前記相手ノードとの通信を行えるように構成されていることを特徴とする請求項１〜４のいずれか一項記載の中継ノード。
【請求項６】
ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、前記ユーザノードと前記相手ノードとの通信を行う通信システムを構成するユーザノードであって、
前記プロキシを実現するためのプロキシプログラムの見本または雛形として前記中継ノードに導入されている雛形プログラムの指定手段を有することを特徴とするユーザノード。
【請求項７】
ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、前記ユーザノードと前記相手ノードとの通信を行うように構成された通信システムであって、
前記中継ノードは、前記プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入され、該雛形プログラムから生成される前記プロキシプログラムを起動して、前記ユーザノードと前記相手ノードとの通信を行えるように構成され、
前記ユーザノードは、前記中継ノードに導入されている前記雛形プログラムを指定する指定手段を有することを特徴とする通信システム。
【請求項８】
ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、前記ユーザノードと前記相手ノードとの通信を行う通信方法であって、
前記中継ノードに導入され、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムを前記ユーザノードから指定し、該指定された雛形プログラムから生成される前記プロキシプログラムを前記中継ノードで起動して、前記ユーザノードと前記相手ノードとの通信を行うことを特徴とする通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザが操作するユーザノードと相手ノードとの通信を中継する中継ノード、ユーザが操作するユーザノード、その通信相手となる相手ノード、中継ノードとユーザノードとを有する通信システムおよび通信方法に関する。
【０００２】
【従来の技術】
従来から、無線リンクなどによりネットワークに接続された移動ノードが通信する場合には常時接続性の完全なる確保が困難であるため、移動ノードが常時安定したサービスを享受または提供できないという問題があった。また、移動ノードの性能が比較的低いと、提供されるサービスが移動ノードの計算速度等に制限されるという問題もあった。これらに対処するため、両ノードの間に中継ノードを設け、その中継ノードでプログラミング可能なプロキシを立ち上げて、通信を中継するという技術があった（例えば、非特許文献１参照）。
【０００３】
【非特許文献１】
Ａｌｗａｙｓ−ｏｎに向けたＮＷ支援型分散処理方式による切断時オペレーションとそのプログラミングモデル  ＮＴＴドコモネットワーク研究所
【０００４】
【発明が解決しようとする課題】
しかし、中継ノードでプロキシを実現するためには、ユーザがプロキシを実現するためのプログラムを一からプログラミングを行い記述しなければならない。
そのためのプログラムが複雑であることから、従来は、プロキシを実現するためのプログラミングに要する負荷が多大なものとなっていた。
【０００５】
そこで、本発明は上記課題を解決するためになされたもので、中継ノードでプロキシを実現するためのプログラミングに要する負荷を軽減可能な構成を有する中継ノード、ユーザノード、通信システムおよび通信方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードであって、その中継ノードは、プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入されていることを特徴とする。
この中継ノードによれば、雛形プログラムを利用してプロキシを実現するためのプロキシプログラムのプログラミングを行うことができる。
【０００７】
また、上記雛形プログラムが、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとにおけるデータを所定の単位で蓄積して転送する転送機能を有するように拡張可能なことが好ましい。
こうすると、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとにおけるデータを所定の単位（例えば、バイト単位、一行単位、プログラマの指定した単位）で蓄積して転送することができる。
【０００８】
また、上記雛形プログラムが、ユーザノードと中継ノードとの通信リンク切断時に相手ノードに対して所定の単位で代理応答する代理応答機能を有するように拡張可能であるとよい。
こうすると、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、中継ノードが、ユーザノードと中継ノードとの通信リンク切断時に相手ノードに対して所定の単位で代理応答することができる。
【０００９】
さらに、上記雛形プログラムが、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとを、各通信リンクにおけるデータを所定の単位で加工および蓄積して結合する結合機能を有するように拡張可能なことが好ましい。
この場合、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとを、各通信リンクにおけるデータを所定の単位で加工および蓄積して結合することができる。
【００１０】
さらにまた、上記中継ノードは、プロキシの固定機能を実現するための定機能プログラムが更に導入され、雛形プログラムを利用可能な第１の通信モードと、定機能プログラムを利用可能な第２の通信モードと、プロキシの機能をユーザが自由にプログラミング可能な第３の通信モードのいずれかにより、ユーザノードと相手ノードとの通信を行えるように構成されていることが好ましい。
この中継ノードによれば、プログラマは、第１〜第３の通信モードを選択してプログラミングを行うことができる。
【００１１】
そして、本発明はユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行う通信システムを構成するユーザノードであって、プロキシを実現するためのプロキシプログラムの見本または雛形として中継ノードに導入されている雛形プログラムの指定手段を有するユーザノードを提供する。
このユーザノードによれば、ユーザノードから、中継ノードに導入されている雛形プログラムを指定してプログラミングを行うことができる。
【００１２】
また、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行うように構成された通信システムであって、中継ノードは、プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入され、その雛形プログラムから生成されるプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を制御する制御手段を有し、ユーザノードは、中継ノードに導入されている雛形プログラムを指定する指定手段を有する通信システムを提供する。
【００１３】
この通信システムによれば、雛形プログラムを利用してプロキシプログラムのプログラミングを行い、生成されたプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を行える。
【００１４】
また、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行う通信方法であって、中継ノードに導入され、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムをユーザノードから指定し、その指定された雛形プログラムから生成されるプロキシプログラムを中継ノードで起動して、ユーザノードと相手ノードとの通信を行う通信方法を提供する。
【００１５】
この通信方法によれば、雛形プログラムを利用してプロキシプログラムのプログラミングを行い、生成されたプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を行える。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。
（通信システムの構成）
通信システム１０は、図４に示すように、移動ノード（ＭＮともいう）１と、移動ノード１に対応するプログラミング可能な構成を有する中継ノード２（ＲＮともいう）と、移動ノード１の通信相手となる相手ノード３（ＣＮともいう）とを有している。この通信システム１０は、移動ノード１が無線リンクを介して中継ノード２と通信可能であり、中継ノード２から有線リンクまたは無線リンクを介して相手ノード３と通信可能に構成されている。
【００１７】
移動ノード１は、ユーザが操作する移動可能なユーザノードであって、図５に示すように、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、操作入力部１４、通信制御部１５、通信処理部１６および２次記憶部１７を有している。ＣＰＵ１１は、ＲＯＭ１２に記憶されているプログラム、２次記憶部１７に記憶されているプログラムにしたがって作動し、移動ノード１全体の動作制御を司る。ＲＯＭ１２はＣＰＵ１１が実行するプログラムを記憶し、ＲＡＭ１３はＣＰＵ１１によるプログラムの実行に必要なデータを記憶している。操作入力部１４は複数の操作入力ボタンを有し、各操作入力ボタンの入力操作により入力されたデータをＣＰＵ１１に入力する。
【００１８】
なお、本実施の形態では、本発明におけるユーザノードとして、移動可能な移動ノード１を例にとっているが、本発明におけるユーザノードは、ユーザが操作するノードであればよく、移動可能であることを要しない。例えば、ネットワークに非常時接続されるパーソナルコンピュータでもよい。
【００１９】
通信制御部１５は、ＣＰＵ１１の指示を受けて作動し、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）により実現されるプロトコル（ＴＣＰ／ＩＰ）にしたがい、中継ノード２と通信を行うための回線の接続および切断を制御する。通信処理部１６は通信制御部１５の制御にしたがい、無線によるデータの送受信を実行する。２次記憶部１７には、ＣＰＵ１１が処理を実行するためのデータや後述するタプレッとおよびそれが利用するデータ、プログラム環境を提供するミドルウェアＵｓＡが記憶されている。
【００２０】
中継ノード２は、移動ノード１と相手ノード３との通信を加工または代理応答するプロキシを実現可能で、アプリケーションのレベルまでを認識および加工して中継することが可能になっている。この中継ノード２は、図６に示すように、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、通信制御部２４、通信処理部２５および２次記憶部２６を有している。
【００２１】
ＣＰＵ２１は、ＲＯＭ２２に記憶されているプログラム、２次記憶部２６に記憶されているプログラムにしたがって作動し、中継ノード２全体の動作制御を司る。ＲＯＭ２２はＣＰＵ２１が実行するプログラムを記憶し、ＲＡＭ２３はＣＰＵ２１によるプログラムの実行に必要なデータを記憶している。
【００２２】
通信制御部２４はＣＰＵ２１の指示を受けて作動し、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）により実現されるプロトコル（ＴＣＰ／ＩＰ）にしたがい、移動ノード１または相手ノード３と通信を行うための回線の接続および切断を制御する。通信処理部２５は通信制御部２４の制御にしたがい、有線または無線によるデータの送受信を実行する。２次記憶部２６には後述する雛形プログラム３１と定機能プログラム３２が記憶され、プログラム環境を提供するミドルウェアＮｓＡや、後述するタプレットおよびタプレットが利用するデータが記憶されている。
【００２３】
図１０は、移動ノード１と中継ノード２の本発明に係る機能の構成を示すブロック図である。図１０に示すように、移動ノード１と中継ノード２は、それぞれＯＳ上で作動するミドルウェアＵｓＡ，ＮｓＡと、アプリケーションとを有している。移動ノード１におけるミドルウェアＵｓＡには、後述するＴａソケット５２と、後述する永続性ソケット５３およびＴａサーバソケット５６と、アプリケーションマネージャ５４およびコネクションマネージャ５５が設けられている。
アプリケーションマネージャ５４は移動ノード１で作動するアプリケーションを管理し、コネクションマネージャ５５はＴａソケット５２および永続性ソケット５３を管理する。
【００２４】
また、中継ノード２におけるミドルウェアＮｓＡには、後述するソケットコネクタ４１および永続性ソケット４２と、アプリケーションマネージャ４３およびコネクションマネージャ４４が設けられている。アプリケーションマネージャ４３は中継ノード２で作動するアプリケーションを管理し、コネクションマネージャ４４はソケットコネクタ４１および永続性ソケット４２を管理する。
【００２５】
通信システム１０では、中継ノード２（の２次記憶部２６）に、雛形プログラム３１と、プロキシの固定的な機能（固定機能）を実現するための定機能プログラム３２が導入（インストール）されている。雛形プログラム３１は、移動ノード１と相手ノード３との通信を中継ノード２で加工または代理応答するプロキシを実現するためのプログラム（以下このプログラムを「プロキシプログラム」という）の標準的な機能を搭載し、プロキシプログラムの見本または雛形として利用され、機能を拡張可能なプログラムである。
【００２６】
プログラマは、中継ノード２を介して、データ加工やデータのバッファリング（蓄積）、代理応答等の機能を利用した通信を行うときに、雛形プログラム３１を用い、または雛形プログラム３１を拡張することにより、目的となるプロキシプログラムのプログラミング（プロキシプログラムの生成）を簡単に行うことができる。また、プログラマは雛形プログラム３１を用いて、自由にプロキシのカスタマイズ（プログラマ自身の使い勝手に応じて変更する）を行うことができる。
【００２７】
そして、移動ノード１では、操作入力部１４によって、通信モードを選択するための次のようなモード選択手段が実現されている。中継ノード２では、プロキシプログラムのプログラミングに３つの方式が用意されている。プログラマは、３つの方式を目的に応じて選択することにより、プログラミングの自由度と容易性を高めることができる。
【００２８】
また、その３つの方式は、中継ノード２において、プロキシプログラムを起動してプロキシを立ち上げ、中継ノード２を介して通信を行うための第１、第２、第３の３つの通信モードに対応している。各通信モードでは、プロキシプログラムのプログラミングにおける複雑性と容易性とのバランスが異なり、プログラミングの自由度と簡便性が相違している。
【００２９】
第１の通信モードでは、図１に示すように、雛形プログラム３１を利用することができる。雛形プログラム３１は、プロキシプログラムを分類した各パターンに設定されている。各雛形プログラム３１は、プロキシプログラムの雛型となるべきプログラムまたはユーザがその雛型に対して必要な機能を盛り込む等して拡張したプログラムである。
【００３０】
第１の通信モードでは、移動ノード１が相手ノード３と通信を開始するときに雛形プログラム３１の指定が行われる（詳しくは後述する）。この雛形プログラム３１は複数設定されているが、各雛形プログラム３１に共通する機能がある。
その共通する機能としては、中継ノード２が相手ノード３との間に第１の通信リンクである通信リンクＬ１を生成し、また、中継ノード２が移動ノード１との間に第２の通信リンクである通信リンクＬ２を生成し、それらの通信リンクＬ１，Ｌ２を結合するリンク結合機能がある。
【００３１】
各雛形プログラム３１は、このプロキシの基本的なリンク結合機能を持ち、なおかつ所定の単位で各リンクにおけるデータを加工および蓄積して結合する結合機能、所定の単位でデータを蓄積して転送し、データの到達性を保証する転送機能、所定の単位で代理応答することを可能にする代理応答機能など、それぞれの機能を複合的にもつものが存在している。
【００３２】
もちろん、各雛形プログラム３１は、機能を拡張可能であるから、ユーザは各雛形プログラム３１を拡張して、独自の結合機能、転送機能、処理単位および転送単位を用意し、カスタマイズすることもできる。
各雛形プログラム３１は、通信リンクＬ１，Ｌ２の結合機能、転送機能における処理するデータの単位および転送するデータの単位が相違していて、本実施の形態では、以下の３つのパターンを想定している。
【００３３】
まず、第１のパターンは通信リンクＬ１を流れるデータを、処理を加えず無加工のまま通信リンクＬ２に結合し、通信リンクＬ２が切断されたときに、中継ノード２においてバイト単位でその通信データをバッファ可能とするパターンである。
第２のパターンは同じく通信データの一行単位での転送を保証し、通信リンクＬ２が切断されたときに、一行単位でバッファ可能とするパターンである。
【００３４】
そして、第３のパターンは、同じく、プログラマにより指定された単位での通信データの転送を保証し、通信リンクＬ２が切断されたときに、プログラマ指定の単位でバッファ可能とするパターンである。これら３つのパターンにより、中継ノード２と移動ノード１との間の通信リンクＬ２におけるバイト単位、一行単位およびプログラマの指定単位でデータが転送されるデータの到達性を保証している。
なお、プログラマ指定の単位には、例えばＸＭＬなどのようなデータ構造書式単位やオブジェクト単位を指定することができる。
【００３５】
ここで、データの到達性を保証（データ転送を保証）するとは、データをある単位で転送中に通信リンクＬ２が切断されてその単位でのデータ転送が完全にはできなかったときに、中継ノード２および移動ノード１が、途中までのデータを破棄または保留するとともに、再接続時に全データまたは残りのデータを補充したデータを上位のプログラムに受け渡すことを保証することである。
【００３６】
第２の通信モードでは、図２に示すように、プロキシの固定的な機能（固定機能）を実現するための定機能プログラム３２を利用することができる。これにより、中継ノード２におけるプロキシの機能が固定化されたものとなる。定機能プログラム３２により、図２に示すように、後述する通信リンクＬ１，Ｌ２の結合によるデータの透過性が固定的となり、移動ノード１と相手ノード３との透過的な通信が行われる。
【００３７】
第２の通信モードでは、定機能プログラム３２により、中継ノード２におけるプロキシ機能が固定化され、プロキシプログラムを中継ノード２用に独自に作成する必要がないようになっている。この第２の通信モードで提供できる固定機能としては、中継ノード２と移動ノード１の間の各通信リンクを結合してデータの透過性を確保し、通信リンクが切断した後の自動再接続や通信リンクの識別子をＩＰアドレス等のノード識別子に影響されない非依存にする機能がある。
【００３８】
第３の通信モードでは、図３に示すように、雛形プログラム３１、定機能プログラム３２のいずれも用いることはできないので、プログラマはプロキシの機能すべてをプログラミングして、プロキシプログラム３０を生成しなければならない。しかし、プログラマには、自分で自由に一からプログラミングを行える自由度がある。
第１および第２の通信モードがともに移動ノード１側の要求に基づいてのみ、通信リンクを形成する動作を実行するという制限があるのに対し、第３の通信モードにはそのような制限がない。
【００３９】
ユーザは、上述した第１〜第３の通信モードの中から用途にあったものを選択し、使い分けることができるから、中継ノード２におけるプロキシプログラムのプログラミングの自由度と記述の容易性のバランスを確保することができる。そのため、プロキシプログラムにおいて、任意の動作を記述するのに要する負荷を軽減し、プログラミングを可能な限り簡易にすることも可能である。
【００４０】
（通信モードの具体例）
次に、上述した第１、第２、第３の通信モードについて、具体的に説明する。以下の説明では、中継ノード２において作動するアプリケーションプログラムおよび移動ノード１上で作動するアプリケーションプログラムをＴａｐｌｅｔ（タプレット）という。
【００４１】
（第１の通信モード）
まず、通信システム１０では、図７に示すように、中継ノード２において、プロキシの機能を備えまたはその機能を拡張した雛形プログラムであるプロキシタプレット４０が実行可能に導入されている。プロキシタプレット４０は、ＣＰＵ２１の指示にしたがい起動され、移動ノード１が任意の相手ノード３を相手とする通信において利用可能になっている。
【００４２】
移動ノード１では、相手ノード３と通信を開始する際に、ＣＰＵ１１の指示にしたがいタプレット５１が作動して、雛形プログラム（プロキシタプレット４０）を移動ノード１が利用するためのＴａＳｏｃｋｅｔというソケット５２（ネットワーク用のＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を生成する（以下ＴａＳｏｃｋｅｔを「Ｔａソケット」という）。その際の引数ａにより、使用しようとするプロキシタプレット４０を指定する。また、Ｔａソケット５２は、中継ノード２で作動するミドルウェアＮｓＡに対して相手ノード３への接続要求ｒｑ１を出力する。
【００４３】
すると、中継ノード２では、Ｔａソケット５２からの接続要求ｒｑ１を受けてＣＰＵ２１が作動する。ＣＰＵ２１は、ミドルウェアＮｓＡを起動し、プロキシタプレット４０をＴａソケット５２に対応させて作動させる。プロキシタプレット４０は、相手ノード３へ通信リンクＬ１（ＣＮ−ＲＮ通信リンク）を張り、その通信リンクＬ１と、中継ノード２から移動ノード１への通信リンクＬ２（ＲＮ−ＭＮ通信リンク）とを結合する機能を有している。その結合は、ユーザのプログラミングにより、自由に拡張することができる。
【００４４】
また、中継ノード２から移動ノード１への通信リンクＬ２を張るときは、ＰｅｒｓｉｓｔｅｎＳｏｃｋｅｔという特別なソケット４３（以下「永続性ソケット」という）を用いることができる。永続性ソケット４３は、中継ノード２と移動ノード１の間のネットワークが切断した場合や、移動ノード１のＩＰアドレス変更や、ネットワークインターフェースの変更等の場合にも、中継ノード２と移動ノード１の接続性を維持し、ネットワークが復活したときに自動的に再接続を行うようにして、永続的な通信リンクＬ２を生成する。また、永続性ソケット４３により、切断時や接続時の動作等を記述することもできる。
【００４５】
第１の通信モードでは、プロキシタプレット４０の標準的な機能を有し、いわばプロキシタプレット４０の雛型というべき雛形プログラムとして、３タイプの雛形プログラム４０ａ，４０ｂ，４０ｃを利用することができる。各雛形プログラム４０ａ，４０ｂ，４０ｃは、通信リンクＬ１，Ｌ２の結合機能、加工処理機能、処理するデータの単位および転送するデータの単位が相違しているが、共通する機能（中継ノード２と相手ノード３との間に通信リンクＬ１を生成し、中継ノード２と移動ノード１との間に通信リンクＬ２を生成し、それらの通信リンクＬ１，Ｌ２を結合する機能）もある。
【００４６】
第１の雛形プログラム４０ａは、通信リンクＬ１を流れる通信データ（バイトストリーム）を無加工のまま通信リンクＬ２に結合し、通信リンクＬ２の切断時等の利用不能時に通信データをバイト（ｂｙｔｅ）単位でバッファ可能とする。第２の雛形プログラム４０ｂは、同じく、通信データの一行単位での転送を保証し、通信リンクＬ２の切断時等の利用不能時に、通信データを一行単位でバッファ可能とする。
【００４７】
そして、第３の雛形プログラム４０ｃは、同じく、通信データの、プログラマにより指定された単位での転送を保証し、通信リンクＬ２の切断等の利用不能時に、通信データをプログラマ指定の単位でバッファ可能とする。
雛形プログラム４０ａ，４０ｂ，４０ｃは、機能を拡張可能であるから、プログラマにより機能を拡張することも可能である。例えば、代理応答機能の拡張により、通信リンクＬ２が切断したときに、永続性ソケット４３を利用して、相手ノード３に対して、中継ノード２が代理応答するようにすることができる。
【００４８】
また、第１の通信モードでは、移動ノード１がサーバとして作動するためのソケット（以下このソケットを「Ｔａサーバソケット」という）５６が用意（導入）されている。
この場合、移動ノード１では、タプレット５１が引数ａにより、プロキシタプレット４０を指定してＴａサーバソケット５６を生成する。すると、中継ノード２のプロキシタプレット４０が指定されたポート番号で相手ノード３からのアクセスを待受ける。そして、相手ノード３からのアクセスａｃがあると、雛形プログラム４０ａ，４０ｂ，４０ｃにより取り決められるパターンに応じて、通信リンクＬ１と通信リンクＬ２とを結合する。こうして、中継ノード２が相手ノード３からのアクセスを受けると、プロキシタプレット４０によってサーバとなる移動ノード１に代理して作動し、通信リンクＬ１，Ｌ２の結合を行うことになる。
【００４９】
（第２の通信モード）
次に、第２の通信モードでは、図８に示すように、移動ノード１上のタプレット５１がＴａソケット５２を生成する際に、引数ａによるプロキシタプレット４０の指定を行わない（プロキシタプレット４０は作動しないので、中継ノード２の動作には関与しない）。一方、中継ノード２では、ＣＰＵ２１が作動して、ソケットコネクタ４１というプログラムを自動的に起動している。このソケットコネクタ４１は、上述した定機能プログラム３２となるもので、プロキシの固定機能として、指定された相手ノード３にアクセスして通信リンクＬ１と通信リンクＬ２を結合する機能を有している。このとき、通信リンクＬ２の生成に永続性ソケット４３を適用することにより、通信リンクＬ１，Ｌ２の結合によるデータの透過性を固定的な機能として提供することができる。
【００５０】
第２の通信モードでも移動ノード１には、移動ノード１がサーバとして作動するためのソケット、すなわち、Ｔａサーバソケット５６が用意されている。
この場合、移動ノード１は、引数ａによりプロキシタプレット４０の指定を行わずにＴａサーバソケット５６を生成する。中継ノード２のソケットコネクタ４１は、相手ノード３からのアクセスを指定されたポート番号で待受け、相手ノード３からのアクセスａｃがあると、通信リンクＬ１と、永続性ソケット４３が関与する通信リンクＬ２とを結合する。この場合は、中継ノード２が、相手ノード３のアクセスを受けると、ソケットコネクタ４１によってサーバとなる移動ノード１に代理して作動し、通信リンクＬ１，Ｌ２の結合を行うことになる。
【００５１】
（第３の通信モード）
第３の通信モードでは、例えば、中継ノード２のプロキシタプレット４０と移動ノード１のタプレット５１との間で永続性ソケット４３を必要時に生成し、中継ノード２が任意の相手ノード３に対してソケット４６を必要時に生成して、中継ノード２のタプレット４７が任意にそれらのソケット４３、４６を操作する、というようにすることができる。この第３の通信モードでは、第１、第２の通信モードと異なり、移動ノード１のタプレット５１からの接続要求に限らずに、必要に応じて任意に移動ノード１を中継ノード２に接続し、中継ノード２をプロキシとして作動させることができる。ただし、ユーザは、そのような動作をするためのプログラムを作成するプログラミングを行わねばならない。
【００５２】
以上のように、第１の通信モードでは、移動ノード１と相手ノード３の通信を中継する中継ノード２で加工または代理応答するためのプロキシを実現するときに、雛形プログラム４０ａ，４０ｂ，４０ｃを利用するか、または拡張して利用することが可能である。一からプログラミングをする必要がなく拡張することができるため、プログラミングに要する負荷を軽減することができる。
【００５３】
また、第２の通信モードを選択すると、定機能プログラム（ソケットコネクタ４３）により、プロキシの機能が固定化される反面、各中継ノード２の独自プログラムを生成する必要がないから、この場合も、プログラミングに要する負荷を軽減することができる。
そして、第３の通信モードを選択すると、プロキシを実現するためにすべてプログラミングを行わねばならないが、その反面、自由にプログラミングをすることができる。
【００５４】
このように、本発明によれば、ユーザがこれら第１、第２、第３の通信モードを自由に選択し、プロキシプログラムにおけるプログラミングの自由度と簡便性を自由に選択することができる。
なお、これらの第１〜第３の通信モードは、中継ノード２および移動ノード１を改変するが、相手ノード３を特に改変することはない。
【００５５】
【発明の効果】
以上詳述したように、本発明によれば、中継ノードでプロキシを実現するためのプログラミングに要する負荷を軽減することができる。また、第１〜第３の通信モードを合わせ、プログラミングの自由度と簡便性を選択できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る第１の通信モードにおける通信システムのシステム構成図である。
【図２】本発明の実施の形態に係る第２の通信モードにおける通信システムのシステム構成図である。
【図３】本発明の実施の形態に係る第３の通信モードにおける通信システムのシステム構成図である。
【図４】本発明の実施の形態に係る通信システムの構成を示すブロック図である。
【図５】移動ノードの内部構成を示すブロック図である。
【図６】中継ノードの内部構成を示すブロック図である。
【図７】第１の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図８】第２の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図９】第３の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図１０】移動ノードと中継ノードの本発明に係る機能の構成を示すブロック図である。
【符号の説明】
１…移動ノード、２…中継ノード
３…相手ノード、１１，２１…ＣＰＵ
１０…通信システム、Ｌ１，Ｌ２…通信リンク
１２，２２…ＲＯＭ、１３，２３…ＲＡＭ
１５，２４…通信制御部、１４…操作入力部
３０…プロキシプログラム
３１，４０ａ，４０ｂ，４０ｃ…雛形プログラム
４０…プロキシタプレット、４６…ソケット
４１…ソケットコネクタ、５２…Ｔａソケット
４３，５３…永続性ソケット、５６…Ｔａサーバソケット
４７，５１…タプレット
【図１】
2005072649.tif 000003
【図２】
2005072649.tif 000004
【図３】
2005072649.tif 000005
【図４】
2005072649.tif 000006
【図５】
2005072649.tif 000007
【図６】
2005072649.tif 000008
【図７】
2005072649.tif 000009
【図８】
2005072649.tif 000010
【図９】
2005072649.tif 000011
【図１０】
2005072649.tif 000012