JP2005072649A - 中継ノード、ユーザノード、通信システムおよび通信方法 - Google Patents
中継ノード、ユーザノード、通信システムおよび通信方法 Download PDFInfo
- Publication number
- JP2005072649A JP2005072649A JP2003208481A JP2003208481A JP2005072649A JP 2005072649 A JP2005072649 A JP 2005072649A JP 2003208481 A JP2003208481 A JP 2003208481A JP 2003208481 A JP2003208481 A JP 2003208481A JP 2005072649 A JP2005072649 A JP 2005072649A
- Authority
- JP
- Japan
- Prior art keywords
- node
- communication
- proxy
- program
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】中継ノードでプロキシを実現するためのプロキシプログラムのプログラミングにあたり、そのプログラミングに要する負荷を軽減する。
【解決手段】ユーザが操作する移動ノード1とその通信相手となる相手ノード3との通信を中継する中継ノード2を設け、中継ノード2を介して移動ノード1と相手ノード3との通信を行うように構成された通信システムにおいて、移動ノード1と、相手ノード3との通信を中継ノード2で加工、蓄積、または代理応答するなどのプロキシの機能を実現するための雛形プログラム31を利用することにより、各機能を簡単に利用することができる。また、プロキシの固定機能を提供するモード、プログラマが任意にプログラミングを行えるモードを用意し、プログラマが目的に応じてプログラミングの自由度と簡便性を自由に選択できる。
【選択図】 図1
【解決手段】ユーザが操作する移動ノード1とその通信相手となる相手ノード3との通信を中継する中継ノード2を設け、中継ノード2を介して移動ノード1と相手ノード3との通信を行うように構成された通信システムにおいて、移動ノード1と、相手ノード3との通信を中継ノード2で加工、蓄積、または代理応答するなどのプロキシの機能を実現するための雛形プログラム31を利用することにより、各機能を簡単に利用することができる。また、プロキシの固定機能を提供するモード、プログラマが任意にプログラミングを行えるモードを用意し、プログラマが目的に応じてプログラミングの自由度と簡便性を自由に選択できる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、ユーザが操作するユーザノードと相手ノードとの通信を中継する中継ノード、ユーザが操作するユーザノード、その通信相手となる相手ノード、中継ノードとユーザノードとを有する通信システムおよび通信方法に関する。
【0002】
【従来の技術】
従来から、無線リンクなどによりネットワークに接続された移動ノードが通信する場合には常時接続性の完全なる確保が困難であるため、移動ノードが常時安定したサービスを享受または提供できないという問題があった。また、移動ノードの性能が比較的低いと、提供されるサービスが移動ノードの計算速度等に制限されるという問題もあった。これらに対処するため、両ノードの間に中継ノードを設け、その中継ノードでプログラミング可能なプロキシを立ち上げて、通信を中継するという技術があった(例えば、非特許文献1参照)。
【0003】
【非特許文献1】
Always−onに向けたNW支援型分散処理方式による切断時オペレーションとそのプログラミングモデル NTTドコモネットワーク研究所
【0004】
【発明が解決しようとする課題】
しかし、中継ノードでプロキシを実現するためには、ユーザがプロキシを実現するためのプログラムを一からプログラミングを行い記述しなければならない。
そのためのプログラムが複雑であることから、従来は、プロキシを実現するためのプログラミングに要する負荷が多大なものとなっていた。
【0005】
そこで、本発明は上記課題を解決するためになされたもので、中継ノードでプロキシを実現するためのプログラミングに要する負荷を軽減可能な構成を有する中継ノード、ユーザノード、通信システムおよび通信方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決するため、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードであって、その中継ノードは、プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入されていることを特徴とする。
この中継ノードによれば、雛形プログラムを利用してプロキシを実現するためのプロキシプログラムのプログラミングを行うことができる。
【0007】
また、上記雛形プログラムが、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとにおけるデータを所定の単位で蓄積して転送する転送機能を有するように拡張可能なことが好ましい。
こうすると、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとにおけるデータを所定の単位(例えば、バイト単位、一行単位、プログラマの指定した単位)で蓄積して転送することができる。
【0008】
また、上記雛形プログラムが、ユーザノードと中継ノードとの通信リンク切断時に相手ノードに対して所定の単位で代理応答する代理応答機能を有するように拡張可能であるとよい。
こうすると、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、中継ノードが、ユーザノードと中継ノードとの通信リンク切断時に相手ノードに対して所定の単位で代理応答することができる。
【0009】
さらに、上記雛形プログラムが、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとを、各通信リンクにおけるデータを所定の単位で加工および蓄積して結合する結合機能を有するように拡張可能なことが好ましい。
この場合、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとを、各通信リンクにおけるデータを所定の単位で加工および蓄積して結合することができる。
【0010】
さらにまた、上記中継ノードは、プロキシの固定機能を実現するための定機能プログラムが更に導入され、雛形プログラムを利用可能な第1の通信モードと、定機能プログラムを利用可能な第2の通信モードと、プロキシの機能をユーザが自由にプログラミング可能な第3の通信モードのいずれかにより、ユーザノードと相手ノードとの通信を行えるように構成されていることが好ましい。
この中継ノードによれば、プログラマは、第1〜第3の通信モードを選択してプログラミングを行うことができる。
【0011】
そして、本発明はユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行う通信システムを構成するユーザノードであって、プロキシを実現するためのプロキシプログラムの見本または雛形として中継ノードに導入されている雛形プログラムの指定手段を有するユーザノードを提供する。
このユーザノードによれば、ユーザノードから、中継ノードに導入されている雛形プログラムを指定してプログラミングを行うことができる。
【0012】
また、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行うように構成された通信システムであって、中継ノードは、プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入され、その雛形プログラムから生成されるプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を制御する制御手段を有し、ユーザノードは、中継ノードに導入されている雛形プログラムを指定する指定手段を有する通信システムを提供する。
【0013】
この通信システムによれば、雛形プログラムを利用してプロキシプログラムのプログラミングを行い、生成されたプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を行える。
【0014】
また、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行う通信方法であって、中継ノードに導入され、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムをユーザノードから指定し、その指定された雛形プログラムから生成されるプロキシプログラムを中継ノードで起動して、ユーザノードと相手ノードとの通信を行う通信方法を提供する。
【0015】
この通信方法によれば、雛形プログラムを利用してプロキシプログラムのプログラミングを行い、生成されたプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を行える。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。
(通信システムの構成)
通信システム10は、図4に示すように、移動ノード(MNともいう)1と、移動ノード1に対応するプログラミング可能な構成を有する中継ノード2(RNともいう)と、移動ノード1の通信相手となる相手ノード3(CNともいう)とを有している。この通信システム10は、移動ノード1が無線リンクを介して中継ノード2と通信可能であり、中継ノード2から有線リンクまたは無線リンクを介して相手ノード3と通信可能に構成されている。
【0017】
移動ノード1は、ユーザが操作する移動可能なユーザノードであって、図5に示すように、CPU11、ROM12、RAM13、操作入力部14、通信制御部15、通信処理部16および2次記憶部17を有している。CPU11は、ROM12に記憶されているプログラム、2次記憶部17に記憶されているプログラムにしたがって作動し、移動ノード1全体の動作制御を司る。ROM12はCPU11が実行するプログラムを記憶し、RAM13はCPU11によるプログラムの実行に必要なデータを記憶している。操作入力部14は複数の操作入力ボタンを有し、各操作入力ボタンの入力操作により入力されたデータをCPU11に入力する。
【0018】
なお、本実施の形態では、本発明におけるユーザノードとして、移動可能な移動ノード1を例にとっているが、本発明におけるユーザノードは、ユーザが操作するノードであればよく、移動可能であることを要しない。例えば、ネットワークに非常時接続されるパーソナルコンピュータでもよい。
【0019】
通信制御部15は、CPU11の指示を受けて作動し、OS(Operating System)により実現されるプロトコル(TCP/IP)にしたがい、中継ノード2と通信を行うための回線の接続および切断を制御する。通信処理部16は通信制御部15の制御にしたがい、無線によるデータの送受信を実行する。2次記憶部17には、CPU11が処理を実行するためのデータや後述するタプレッとおよびそれが利用するデータ、プログラム環境を提供するミドルウェアUsAが記憶されている。
【0020】
中継ノード2は、移動ノード1と相手ノード3との通信を加工または代理応答するプロキシを実現可能で、アプリケーションのレベルまでを認識および加工して中継することが可能になっている。この中継ノード2は、図6に示すように、CPU21、ROM22、RAM23、通信制御部24、通信処理部25および2次記憶部26を有している。
【0021】
CPU21は、ROM22に記憶されているプログラム、2次記憶部26に記憶されているプログラムにしたがって作動し、中継ノード2全体の動作制御を司る。ROM22はCPU21が実行するプログラムを記憶し、RAM23はCPU21によるプログラムの実行に必要なデータを記憶している。
【0022】
通信制御部24はCPU21の指示を受けて作動し、OS(Operating System)により実現されるプロトコル(TCP/IP)にしたがい、移動ノード1または相手ノード3と通信を行うための回線の接続および切断を制御する。通信処理部25は通信制御部24の制御にしたがい、有線または無線によるデータの送受信を実行する。2次記憶部26には後述する雛形プログラム31と定機能プログラム32が記憶され、プログラム環境を提供するミドルウェアNsAや、後述するタプレットおよびタプレットが利用するデータが記憶されている。
【0023】
図10は、移動ノード1と中継ノード2の本発明に係る機能の構成を示すブロック図である。図10に示すように、移動ノード1と中継ノード2は、それぞれOS上で作動するミドルウェアUsA,NsAと、アプリケーションとを有している。移動ノード1におけるミドルウェアUsAには、後述するTaソケット52と、後述する永続性ソケット53およびTaサーバソケット56と、アプリケーションマネージャ54およびコネクションマネージャ55が設けられている。
アプリケーションマネージャ54は移動ノード1で作動するアプリケーションを管理し、コネクションマネージャ55はTaソケット52および永続性ソケット53を管理する。
【0024】
また、中継ノード2におけるミドルウェアNsAには、後述するソケットコネクタ41および永続性ソケット42と、アプリケーションマネージャ43およびコネクションマネージャ44が設けられている。アプリケーションマネージャ43は中継ノード2で作動するアプリケーションを管理し、コネクションマネージャ44はソケットコネクタ41および永続性ソケット42を管理する。
【0025】
通信システム10では、中継ノード2(の2次記憶部26)に、雛形プログラム31と、プロキシの固定的な機能(固定機能)を実現するための定機能プログラム32が導入(インストール)されている。雛形プログラム31は、移動ノード1と相手ノード3との通信を中継ノード2で加工または代理応答するプロキシを実現するためのプログラム(以下このプログラムを「プロキシプログラム」という)の標準的な機能を搭載し、プロキシプログラムの見本または雛形として利用され、機能を拡張可能なプログラムである。
【0026】
プログラマは、中継ノード2を介して、データ加工やデータのバッファリング(蓄積)、代理応答等の機能を利用した通信を行うときに、雛形プログラム31を用い、または雛形プログラム31を拡張することにより、目的となるプロキシプログラムのプログラミング(プロキシプログラムの生成)を簡単に行うことができる。また、プログラマは雛形プログラム31を用いて、自由にプロキシのカスタマイズ(プログラマ自身の使い勝手に応じて変更する)を行うことができる。
【0027】
そして、移動ノード1では、操作入力部14によって、通信モードを選択するための次のようなモード選択手段が実現されている。中継ノード2では、プロキシプログラムのプログラミングに3つの方式が用意されている。プログラマは、3つの方式を目的に応じて選択することにより、プログラミングの自由度と容易性を高めることができる。
【0028】
また、その3つの方式は、中継ノード2において、プロキシプログラムを起動してプロキシを立ち上げ、中継ノード2を介して通信を行うための第1、第2、第3の3つの通信モードに対応している。各通信モードでは、プロキシプログラムのプログラミングにおける複雑性と容易性とのバランスが異なり、プログラミングの自由度と簡便性が相違している。
【0029】
第1の通信モードでは、図1に示すように、雛形プログラム31を利用することができる。雛形プログラム31は、プロキシプログラムを分類した各パターンに設定されている。各雛形プログラム31は、プロキシプログラムの雛型となるべきプログラムまたはユーザがその雛型に対して必要な機能を盛り込む等して拡張したプログラムである。
【0030】
第1の通信モードでは、移動ノード1が相手ノード3と通信を開始するときに雛形プログラム31の指定が行われる(詳しくは後述する)。この雛形プログラム31は複数設定されているが、各雛形プログラム31に共通する機能がある。
その共通する機能としては、中継ノード2が相手ノード3との間に第1の通信リンクである通信リンクL1を生成し、また、中継ノード2が移動ノード1との間に第2の通信リンクである通信リンクL2を生成し、それらの通信リンクL1,L2を結合するリンク結合機能がある。
【0031】
各雛形プログラム31は、このプロキシの基本的なリンク結合機能を持ち、なおかつ所定の単位で各リンクにおけるデータを加工および蓄積して結合する結合機能、所定の単位でデータを蓄積して転送し、データの到達性を保証する転送機能、所定の単位で代理応答することを可能にする代理応答機能など、それぞれの機能を複合的にもつものが存在している。
【0032】
もちろん、各雛形プログラム31は、機能を拡張可能であるから、ユーザは各雛形プログラム31を拡張して、独自の結合機能、転送機能、処理単位および転送単位を用意し、カスタマイズすることもできる。
各雛形プログラム31は、通信リンクL1,L2の結合機能、転送機能における処理するデータの単位および転送するデータの単位が相違していて、本実施の形態では、以下の3つのパターンを想定している。
【0033】
まず、第1のパターンは通信リンクL1を流れるデータを、処理を加えず無加工のまま通信リンクL2に結合し、通信リンクL2が切断されたときに、中継ノード2においてバイト単位でその通信データをバッファ可能とするパターンである。
第2のパターンは同じく通信データの一行単位での転送を保証し、通信リンクL2が切断されたときに、一行単位でバッファ可能とするパターンである。
【0034】
そして、第3のパターンは、同じく、プログラマにより指定された単位での通信データの転送を保証し、通信リンクL2が切断されたときに、プログラマ指定の単位でバッファ可能とするパターンである。これら3つのパターンにより、中継ノード2と移動ノード1との間の通信リンクL2におけるバイト単位、一行単位およびプログラマの指定単位でデータが転送されるデータの到達性を保証している。
なお、プログラマ指定の単位には、例えばXMLなどのようなデータ構造書式単位やオブジェクト単位を指定することができる。
【0035】
ここで、データの到達性を保証(データ転送を保証)するとは、データをある単位で転送中に通信リンクL2が切断されてその単位でのデータ転送が完全にはできなかったときに、中継ノード2および移動ノード1が、途中までのデータを破棄または保留するとともに、再接続時に全データまたは残りのデータを補充したデータを上位のプログラムに受け渡すことを保証することである。
【0036】
第2の通信モードでは、図2に示すように、プロキシの固定的な機能(固定機能)を実現するための定機能プログラム32を利用することができる。これにより、中継ノード2におけるプロキシの機能が固定化されたものとなる。定機能プログラム32により、図2に示すように、後述する通信リンクL1,L2の結合によるデータの透過性が固定的となり、移動ノード1と相手ノード3との透過的な通信が行われる。
【0037】
第2の通信モードでは、定機能プログラム32により、中継ノード2におけるプロキシ機能が固定化され、プロキシプログラムを中継ノード2用に独自に作成する必要がないようになっている。この第2の通信モードで提供できる固定機能としては、中継ノード2と移動ノード1の間の各通信リンクを結合してデータの透過性を確保し、通信リンクが切断した後の自動再接続や通信リンクの識別子をIPアドレス等のノード識別子に影響されない非依存にする機能がある。
【0038】
第3の通信モードでは、図3に示すように、雛形プログラム31、定機能プログラム32のいずれも用いることはできないので、プログラマはプロキシの機能すべてをプログラミングして、プロキシプログラム30を生成しなければならない。しかし、プログラマには、自分で自由に一からプログラミングを行える自由度がある。
第1および第2の通信モードがともに移動ノード1側の要求に基づいてのみ、通信リンクを形成する動作を実行するという制限があるのに対し、第3の通信モードにはそのような制限がない。
【0039】
ユーザは、上述した第1〜第3の通信モードの中から用途にあったものを選択し、使い分けることができるから、中継ノード2におけるプロキシプログラムのプログラミングの自由度と記述の容易性のバランスを確保することができる。そのため、プロキシプログラムにおいて、任意の動作を記述するのに要する負荷を軽減し、プログラミングを可能な限り簡易にすることも可能である。
【0040】
(通信モードの具体例)
次に、上述した第1、第2、第3の通信モードについて、具体的に説明する。以下の説明では、中継ノード2において作動するアプリケーションプログラムおよび移動ノード1上で作動するアプリケーションプログラムをTaplet(タプレット)という。
【0041】
(第1の通信モード)
まず、通信システム10では、図7に示すように、中継ノード2において、プロキシの機能を備えまたはその機能を拡張した雛形プログラムであるプロキシタプレット40が実行可能に導入されている。プロキシタプレット40は、CPU21の指示にしたがい起動され、移動ノード1が任意の相手ノード3を相手とする通信において利用可能になっている。
【0042】
移動ノード1では、相手ノード3と通信を開始する際に、CPU11の指示にしたがいタプレット51が作動して、雛形プログラム(プロキシタプレット40)を移動ノード1が利用するためのTaSocketというソケット52(ネットワーク用のAPI:Application Programming Interface)を生成する(以下TaSocketを「Taソケット」という)。その際の引数aにより、使用しようとするプロキシタプレット40を指定する。また、Taソケット52は、中継ノード2で作動するミドルウェアNsAに対して相手ノード3への接続要求rq1を出力する。
【0043】
すると、中継ノード2では、Taソケット52からの接続要求rq1を受けてCPU21が作動する。CPU21は、ミドルウェアNsAを起動し、プロキシタプレット40をTaソケット52に対応させて作動させる。プロキシタプレット40は、相手ノード3へ通信リンクL1(CN−RN通信リンク)を張り、その通信リンクL1と、中継ノード2から移動ノード1への通信リンクL2(RN−MN通信リンク)とを結合する機能を有している。その結合は、ユーザのプログラミングにより、自由に拡張することができる。
【0044】
また、中継ノード2から移動ノード1への通信リンクL2を張るときは、PersistenSocketという特別なソケット43(以下「永続性ソケット」という)を用いることができる。永続性ソケット43は、中継ノード2と移動ノード1の間のネットワークが切断した場合や、移動ノード1のIPアドレス変更や、ネットワークインターフェースの変更等の場合にも、中継ノード2と移動ノード1の接続性を維持し、ネットワークが復活したときに自動的に再接続を行うようにして、永続的な通信リンクL2を生成する。また、永続性ソケット43により、切断時や接続時の動作等を記述することもできる。
【0045】
第1の通信モードでは、プロキシタプレット40の標準的な機能を有し、いわばプロキシタプレット40の雛型というべき雛形プログラムとして、3タイプの雛形プログラム40a,40b,40cを利用することができる。各雛形プログラム40a,40b,40cは、通信リンクL1,L2の結合機能、加工処理機能、処理するデータの単位および転送するデータの単位が相違しているが、共通する機能(中継ノード2と相手ノード3との間に通信リンクL1を生成し、中継ノード2と移動ノード1との間に通信リンクL2を生成し、それらの通信リンクL1,L2を結合する機能)もある。
【0046】
第1の雛形プログラム40aは、通信リンクL1を流れる通信データ(バイトストリーム)を無加工のまま通信リンクL2に結合し、通信リンクL2の切断時等の利用不能時に通信データをバイト(byte)単位でバッファ可能とする。第2の雛形プログラム40bは、同じく、通信データの一行単位での転送を保証し、通信リンクL2の切断時等の利用不能時に、通信データを一行単位でバッファ可能とする。
【0047】
そして、第3の雛形プログラム40cは、同じく、通信データの、プログラマにより指定された単位での転送を保証し、通信リンクL2の切断等の利用不能時に、通信データをプログラマ指定の単位でバッファ可能とする。
雛形プログラム40a,40b,40cは、機能を拡張可能であるから、プログラマにより機能を拡張することも可能である。例えば、代理応答機能の拡張により、通信リンクL2が切断したときに、永続性ソケット43を利用して、相手ノード3に対して、中継ノード2が代理応答するようにすることができる。
【0048】
また、第1の通信モードでは、移動ノード1がサーバとして作動するためのソケット(以下このソケットを「Taサーバソケット」という)56が用意(導入)されている。
この場合、移動ノード1では、タプレット51が引数aにより、プロキシタプレット40を指定してTaサーバソケット56を生成する。すると、中継ノード2のプロキシタプレット40が指定されたポート番号で相手ノード3からのアクセスを待受ける。そして、相手ノード3からのアクセスacがあると、雛形プログラム40a,40b,40cにより取り決められるパターンに応じて、通信リンクL1と通信リンクL2とを結合する。こうして、中継ノード2が相手ノード3からのアクセスを受けると、プロキシタプレット40によってサーバとなる移動ノード1に代理して作動し、通信リンクL1,L2の結合を行うことになる。
【0049】
(第2の通信モード)
次に、第2の通信モードでは、図8に示すように、移動ノード1上のタプレット51がTaソケット52を生成する際に、引数aによるプロキシタプレット40の指定を行わない(プロキシタプレット40は作動しないので、中継ノード2の動作には関与しない)。一方、中継ノード2では、CPU21が作動して、ソケットコネクタ41というプログラムを自動的に起動している。このソケットコネクタ41は、上述した定機能プログラム32となるもので、プロキシの固定機能として、指定された相手ノード3にアクセスして通信リンクL1と通信リンクL2を結合する機能を有している。このとき、通信リンクL2の生成に永続性ソケット43を適用することにより、通信リンクL1,L2の結合によるデータの透過性を固定的な機能として提供することができる。
【0050】
第2の通信モードでも移動ノード1には、移動ノード1がサーバとして作動するためのソケット、すなわち、Taサーバソケット56が用意されている。
この場合、移動ノード1は、引数aによりプロキシタプレット40の指定を行わずにTaサーバソケット56を生成する。中継ノード2のソケットコネクタ41は、相手ノード3からのアクセスを指定されたポート番号で待受け、相手ノード3からのアクセスacがあると、通信リンクL1と、永続性ソケット43が関与する通信リンクL2とを結合する。この場合は、中継ノード2が、相手ノード3のアクセスを受けると、ソケットコネクタ41によってサーバとなる移動ノード1に代理して作動し、通信リンクL1,L2の結合を行うことになる。
【0051】
(第3の通信モード)
第3の通信モードでは、例えば、中継ノード2のプロキシタプレット40と移動ノード1のタプレット51との間で永続性ソケット43を必要時に生成し、中継ノード2が任意の相手ノード3に対してソケット46を必要時に生成して、中継ノード2のタプレット47が任意にそれらのソケット43、46を操作する、というようにすることができる。この第3の通信モードでは、第1、第2の通信モードと異なり、移動ノード1のタプレット51からの接続要求に限らずに、必要に応じて任意に移動ノード1を中継ノード2に接続し、中継ノード2をプロキシとして作動させることができる。ただし、ユーザは、そのような動作をするためのプログラムを作成するプログラミングを行わねばならない。
【0052】
以上のように、第1の通信モードでは、移動ノード1と相手ノード3の通信を中継する中継ノード2で加工または代理応答するためのプロキシを実現するときに、雛形プログラム40a,40b,40cを利用するか、または拡張して利用することが可能である。一からプログラミングをする必要がなく拡張することができるため、プログラミングに要する負荷を軽減することができる。
【0053】
また、第2の通信モードを選択すると、定機能プログラム(ソケットコネクタ43)により、プロキシの機能が固定化される反面、各中継ノード2の独自プログラムを生成する必要がないから、この場合も、プログラミングに要する負荷を軽減することができる。
そして、第3の通信モードを選択すると、プロキシを実現するためにすべてプログラミングを行わねばならないが、その反面、自由にプログラミングをすることができる。
【0054】
このように、本発明によれば、ユーザがこれら第1、第2、第3の通信モードを自由に選択し、プロキシプログラムにおけるプログラミングの自由度と簡便性を自由に選択することができる。
なお、これらの第1〜第3の通信モードは、中継ノード2および移動ノード1を改変するが、相手ノード3を特に改変することはない。
【0055】
【発明の効果】
以上詳述したように、本発明によれば、中継ノードでプロキシを実現するためのプログラミングに要する負荷を軽減することができる。また、第1〜第3の通信モードを合わせ、プログラミングの自由度と簡便性を選択できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る第1の通信モードにおける通信システムのシステム構成図である。
【図2】本発明の実施の形態に係る第2の通信モードにおける通信システムのシステム構成図である。
【図3】本発明の実施の形態に係る第3の通信モードにおける通信システムのシステム構成図である。
【図4】本発明の実施の形態に係る通信システムの構成を示すブロック図である。
【図5】移動ノードの内部構成を示すブロック図である。
【図6】中継ノードの内部構成を示すブロック図である。
【図7】第1の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図8】第2の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図9】第3の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図10】移動ノードと中継ノードの本発明に係る機能の構成を示すブロック図である。
【符号の説明】
1…移動ノード、2…中継ノード
3…相手ノード、11,21…CPU
10…通信システム、L1,L2…通信リンク
12,22…ROM、13,23…RAM
15,24…通信制御部、14…操作入力部
30…プロキシプログラム
31,40a,40b,40c…雛形プログラム
40…プロキシタプレット、46…ソケット
41…ソケットコネクタ、52…Taソケット
43,53…永続性ソケット、56…Taサーバソケット
47,51…タプレット
【発明の属する技術分野】
本発明は、ユーザが操作するユーザノードと相手ノードとの通信を中継する中継ノード、ユーザが操作するユーザノード、その通信相手となる相手ノード、中継ノードとユーザノードとを有する通信システムおよび通信方法に関する。
【0002】
【従来の技術】
従来から、無線リンクなどによりネットワークに接続された移動ノードが通信する場合には常時接続性の完全なる確保が困難であるため、移動ノードが常時安定したサービスを享受または提供できないという問題があった。また、移動ノードの性能が比較的低いと、提供されるサービスが移動ノードの計算速度等に制限されるという問題もあった。これらに対処するため、両ノードの間に中継ノードを設け、その中継ノードでプログラミング可能なプロキシを立ち上げて、通信を中継するという技術があった(例えば、非特許文献1参照)。
【0003】
【非特許文献1】
Always−onに向けたNW支援型分散処理方式による切断時オペレーションとそのプログラミングモデル NTTドコモネットワーク研究所
【0004】
【発明が解決しようとする課題】
しかし、中継ノードでプロキシを実現するためには、ユーザがプロキシを実現するためのプログラムを一からプログラミングを行い記述しなければならない。
そのためのプログラムが複雑であることから、従来は、プロキシを実現するためのプログラミングに要する負荷が多大なものとなっていた。
【0005】
そこで、本発明は上記課題を解決するためになされたもので、中継ノードでプロキシを実現するためのプログラミングに要する負荷を軽減可能な構成を有する中継ノード、ユーザノード、通信システムおよび通信方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決するため、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードであって、その中継ノードは、プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入されていることを特徴とする。
この中継ノードによれば、雛形プログラムを利用してプロキシを実現するためのプロキシプログラムのプログラミングを行うことができる。
【0007】
また、上記雛形プログラムが、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとにおけるデータを所定の単位で蓄積して転送する転送機能を有するように拡張可能なことが好ましい。
こうすると、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとにおけるデータを所定の単位(例えば、バイト単位、一行単位、プログラマの指定した単位)で蓄積して転送することができる。
【0008】
また、上記雛形プログラムが、ユーザノードと中継ノードとの通信リンク切断時に相手ノードに対して所定の単位で代理応答する代理応答機能を有するように拡張可能であるとよい。
こうすると、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、中継ノードが、ユーザノードと中継ノードとの通信リンク切断時に相手ノードに対して所定の単位で代理応答することができる。
【0009】
さらに、上記雛形プログラムが、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとを、各通信リンクにおけるデータを所定の単位で加工および蓄積して結合する結合機能を有するように拡張可能なことが好ましい。
この場合、プログラマが雛形プログラムをこのように拡張することができ、その拡張により、ユーザノードと中継ノードの通信リンクと、中継ノードと相手ノードの通信リンクとを、各通信リンクにおけるデータを所定の単位で加工および蓄積して結合することができる。
【0010】
さらにまた、上記中継ノードは、プロキシの固定機能を実現するための定機能プログラムが更に導入され、雛形プログラムを利用可能な第1の通信モードと、定機能プログラムを利用可能な第2の通信モードと、プロキシの機能をユーザが自由にプログラミング可能な第3の通信モードのいずれかにより、ユーザノードと相手ノードとの通信を行えるように構成されていることが好ましい。
この中継ノードによれば、プログラマは、第1〜第3の通信モードを選択してプログラミングを行うことができる。
【0011】
そして、本発明はユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行う通信システムを構成するユーザノードであって、プロキシを実現するためのプロキシプログラムの見本または雛形として中継ノードに導入されている雛形プログラムの指定手段を有するユーザノードを提供する。
このユーザノードによれば、ユーザノードから、中継ノードに導入されている雛形プログラムを指定してプログラミングを行うことができる。
【0012】
また、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行うように構成された通信システムであって、中継ノードは、プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入され、その雛形プログラムから生成されるプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を制御する制御手段を有し、ユーザノードは、中継ノードに導入されている雛形プログラムを指定する指定手段を有する通信システムを提供する。
【0013】
この通信システムによれば、雛形プログラムを利用してプロキシプログラムのプログラミングを行い、生成されたプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を行える。
【0014】
また、本発明は、ユーザが操作するユーザノードとそのユーザノードの通信相手となる相手ノードとの通信を中継し、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、ユーザノードと相手ノードとの通信を行う通信方法であって、中継ノードに導入され、ユーザノードと相手ノードとの通信を加工または代理応答するプロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムをユーザノードから指定し、その指定された雛形プログラムから生成されるプロキシプログラムを中継ノードで起動して、ユーザノードと相手ノードとの通信を行う通信方法を提供する。
【0015】
この通信方法によれば、雛形プログラムを利用してプロキシプログラムのプログラミングを行い、生成されたプロキシプログラムを起動して、ユーザノードと相手ノードとの通信を行える。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。
(通信システムの構成)
通信システム10は、図4に示すように、移動ノード(MNともいう)1と、移動ノード1に対応するプログラミング可能な構成を有する中継ノード2(RNともいう)と、移動ノード1の通信相手となる相手ノード3(CNともいう)とを有している。この通信システム10は、移動ノード1が無線リンクを介して中継ノード2と通信可能であり、中継ノード2から有線リンクまたは無線リンクを介して相手ノード3と通信可能に構成されている。
【0017】
移動ノード1は、ユーザが操作する移動可能なユーザノードであって、図5に示すように、CPU11、ROM12、RAM13、操作入力部14、通信制御部15、通信処理部16および2次記憶部17を有している。CPU11は、ROM12に記憶されているプログラム、2次記憶部17に記憶されているプログラムにしたがって作動し、移動ノード1全体の動作制御を司る。ROM12はCPU11が実行するプログラムを記憶し、RAM13はCPU11によるプログラムの実行に必要なデータを記憶している。操作入力部14は複数の操作入力ボタンを有し、各操作入力ボタンの入力操作により入力されたデータをCPU11に入力する。
【0018】
なお、本実施の形態では、本発明におけるユーザノードとして、移動可能な移動ノード1を例にとっているが、本発明におけるユーザノードは、ユーザが操作するノードであればよく、移動可能であることを要しない。例えば、ネットワークに非常時接続されるパーソナルコンピュータでもよい。
【0019】
通信制御部15は、CPU11の指示を受けて作動し、OS(Operating System)により実現されるプロトコル(TCP/IP)にしたがい、中継ノード2と通信を行うための回線の接続および切断を制御する。通信処理部16は通信制御部15の制御にしたがい、無線によるデータの送受信を実行する。2次記憶部17には、CPU11が処理を実行するためのデータや後述するタプレッとおよびそれが利用するデータ、プログラム環境を提供するミドルウェアUsAが記憶されている。
【0020】
中継ノード2は、移動ノード1と相手ノード3との通信を加工または代理応答するプロキシを実現可能で、アプリケーションのレベルまでを認識および加工して中継することが可能になっている。この中継ノード2は、図6に示すように、CPU21、ROM22、RAM23、通信制御部24、通信処理部25および2次記憶部26を有している。
【0021】
CPU21は、ROM22に記憶されているプログラム、2次記憶部26に記憶されているプログラムにしたがって作動し、中継ノード2全体の動作制御を司る。ROM22はCPU21が実行するプログラムを記憶し、RAM23はCPU21によるプログラムの実行に必要なデータを記憶している。
【0022】
通信制御部24はCPU21の指示を受けて作動し、OS(Operating System)により実現されるプロトコル(TCP/IP)にしたがい、移動ノード1または相手ノード3と通信を行うための回線の接続および切断を制御する。通信処理部25は通信制御部24の制御にしたがい、有線または無線によるデータの送受信を実行する。2次記憶部26には後述する雛形プログラム31と定機能プログラム32が記憶され、プログラム環境を提供するミドルウェアNsAや、後述するタプレットおよびタプレットが利用するデータが記憶されている。
【0023】
図10は、移動ノード1と中継ノード2の本発明に係る機能の構成を示すブロック図である。図10に示すように、移動ノード1と中継ノード2は、それぞれOS上で作動するミドルウェアUsA,NsAと、アプリケーションとを有している。移動ノード1におけるミドルウェアUsAには、後述するTaソケット52と、後述する永続性ソケット53およびTaサーバソケット56と、アプリケーションマネージャ54およびコネクションマネージャ55が設けられている。
アプリケーションマネージャ54は移動ノード1で作動するアプリケーションを管理し、コネクションマネージャ55はTaソケット52および永続性ソケット53を管理する。
【0024】
また、中継ノード2におけるミドルウェアNsAには、後述するソケットコネクタ41および永続性ソケット42と、アプリケーションマネージャ43およびコネクションマネージャ44が設けられている。アプリケーションマネージャ43は中継ノード2で作動するアプリケーションを管理し、コネクションマネージャ44はソケットコネクタ41および永続性ソケット42を管理する。
【0025】
通信システム10では、中継ノード2(の2次記憶部26)に、雛形プログラム31と、プロキシの固定的な機能(固定機能)を実現するための定機能プログラム32が導入(インストール)されている。雛形プログラム31は、移動ノード1と相手ノード3との通信を中継ノード2で加工または代理応答するプロキシを実現するためのプログラム(以下このプログラムを「プロキシプログラム」という)の標準的な機能を搭載し、プロキシプログラムの見本または雛形として利用され、機能を拡張可能なプログラムである。
【0026】
プログラマは、中継ノード2を介して、データ加工やデータのバッファリング(蓄積)、代理応答等の機能を利用した通信を行うときに、雛形プログラム31を用い、または雛形プログラム31を拡張することにより、目的となるプロキシプログラムのプログラミング(プロキシプログラムの生成)を簡単に行うことができる。また、プログラマは雛形プログラム31を用いて、自由にプロキシのカスタマイズ(プログラマ自身の使い勝手に応じて変更する)を行うことができる。
【0027】
そして、移動ノード1では、操作入力部14によって、通信モードを選択するための次のようなモード選択手段が実現されている。中継ノード2では、プロキシプログラムのプログラミングに3つの方式が用意されている。プログラマは、3つの方式を目的に応じて選択することにより、プログラミングの自由度と容易性を高めることができる。
【0028】
また、その3つの方式は、中継ノード2において、プロキシプログラムを起動してプロキシを立ち上げ、中継ノード2を介して通信を行うための第1、第2、第3の3つの通信モードに対応している。各通信モードでは、プロキシプログラムのプログラミングにおける複雑性と容易性とのバランスが異なり、プログラミングの自由度と簡便性が相違している。
【0029】
第1の通信モードでは、図1に示すように、雛形プログラム31を利用することができる。雛形プログラム31は、プロキシプログラムを分類した各パターンに設定されている。各雛形プログラム31は、プロキシプログラムの雛型となるべきプログラムまたはユーザがその雛型に対して必要な機能を盛り込む等して拡張したプログラムである。
【0030】
第1の通信モードでは、移動ノード1が相手ノード3と通信を開始するときに雛形プログラム31の指定が行われる(詳しくは後述する)。この雛形プログラム31は複数設定されているが、各雛形プログラム31に共通する機能がある。
その共通する機能としては、中継ノード2が相手ノード3との間に第1の通信リンクである通信リンクL1を生成し、また、中継ノード2が移動ノード1との間に第2の通信リンクである通信リンクL2を生成し、それらの通信リンクL1,L2を結合するリンク結合機能がある。
【0031】
各雛形プログラム31は、このプロキシの基本的なリンク結合機能を持ち、なおかつ所定の単位で各リンクにおけるデータを加工および蓄積して結合する結合機能、所定の単位でデータを蓄積して転送し、データの到達性を保証する転送機能、所定の単位で代理応答することを可能にする代理応答機能など、それぞれの機能を複合的にもつものが存在している。
【0032】
もちろん、各雛形プログラム31は、機能を拡張可能であるから、ユーザは各雛形プログラム31を拡張して、独自の結合機能、転送機能、処理単位および転送単位を用意し、カスタマイズすることもできる。
各雛形プログラム31は、通信リンクL1,L2の結合機能、転送機能における処理するデータの単位および転送するデータの単位が相違していて、本実施の形態では、以下の3つのパターンを想定している。
【0033】
まず、第1のパターンは通信リンクL1を流れるデータを、処理を加えず無加工のまま通信リンクL2に結合し、通信リンクL2が切断されたときに、中継ノード2においてバイト単位でその通信データをバッファ可能とするパターンである。
第2のパターンは同じく通信データの一行単位での転送を保証し、通信リンクL2が切断されたときに、一行単位でバッファ可能とするパターンである。
【0034】
そして、第3のパターンは、同じく、プログラマにより指定された単位での通信データの転送を保証し、通信リンクL2が切断されたときに、プログラマ指定の単位でバッファ可能とするパターンである。これら3つのパターンにより、中継ノード2と移動ノード1との間の通信リンクL2におけるバイト単位、一行単位およびプログラマの指定単位でデータが転送されるデータの到達性を保証している。
なお、プログラマ指定の単位には、例えばXMLなどのようなデータ構造書式単位やオブジェクト単位を指定することができる。
【0035】
ここで、データの到達性を保証(データ転送を保証)するとは、データをある単位で転送中に通信リンクL2が切断されてその単位でのデータ転送が完全にはできなかったときに、中継ノード2および移動ノード1が、途中までのデータを破棄または保留するとともに、再接続時に全データまたは残りのデータを補充したデータを上位のプログラムに受け渡すことを保証することである。
【0036】
第2の通信モードでは、図2に示すように、プロキシの固定的な機能(固定機能)を実現するための定機能プログラム32を利用することができる。これにより、中継ノード2におけるプロキシの機能が固定化されたものとなる。定機能プログラム32により、図2に示すように、後述する通信リンクL1,L2の結合によるデータの透過性が固定的となり、移動ノード1と相手ノード3との透過的な通信が行われる。
【0037】
第2の通信モードでは、定機能プログラム32により、中継ノード2におけるプロキシ機能が固定化され、プロキシプログラムを中継ノード2用に独自に作成する必要がないようになっている。この第2の通信モードで提供できる固定機能としては、中継ノード2と移動ノード1の間の各通信リンクを結合してデータの透過性を確保し、通信リンクが切断した後の自動再接続や通信リンクの識別子をIPアドレス等のノード識別子に影響されない非依存にする機能がある。
【0038】
第3の通信モードでは、図3に示すように、雛形プログラム31、定機能プログラム32のいずれも用いることはできないので、プログラマはプロキシの機能すべてをプログラミングして、プロキシプログラム30を生成しなければならない。しかし、プログラマには、自分で自由に一からプログラミングを行える自由度がある。
第1および第2の通信モードがともに移動ノード1側の要求に基づいてのみ、通信リンクを形成する動作を実行するという制限があるのに対し、第3の通信モードにはそのような制限がない。
【0039】
ユーザは、上述した第1〜第3の通信モードの中から用途にあったものを選択し、使い分けることができるから、中継ノード2におけるプロキシプログラムのプログラミングの自由度と記述の容易性のバランスを確保することができる。そのため、プロキシプログラムにおいて、任意の動作を記述するのに要する負荷を軽減し、プログラミングを可能な限り簡易にすることも可能である。
【0040】
(通信モードの具体例)
次に、上述した第1、第2、第3の通信モードについて、具体的に説明する。以下の説明では、中継ノード2において作動するアプリケーションプログラムおよび移動ノード1上で作動するアプリケーションプログラムをTaplet(タプレット)という。
【0041】
(第1の通信モード)
まず、通信システム10では、図7に示すように、中継ノード2において、プロキシの機能を備えまたはその機能を拡張した雛形プログラムであるプロキシタプレット40が実行可能に導入されている。プロキシタプレット40は、CPU21の指示にしたがい起動され、移動ノード1が任意の相手ノード3を相手とする通信において利用可能になっている。
【0042】
移動ノード1では、相手ノード3と通信を開始する際に、CPU11の指示にしたがいタプレット51が作動して、雛形プログラム(プロキシタプレット40)を移動ノード1が利用するためのTaSocketというソケット52(ネットワーク用のAPI:Application Programming Interface)を生成する(以下TaSocketを「Taソケット」という)。その際の引数aにより、使用しようとするプロキシタプレット40を指定する。また、Taソケット52は、中継ノード2で作動するミドルウェアNsAに対して相手ノード3への接続要求rq1を出力する。
【0043】
すると、中継ノード2では、Taソケット52からの接続要求rq1を受けてCPU21が作動する。CPU21は、ミドルウェアNsAを起動し、プロキシタプレット40をTaソケット52に対応させて作動させる。プロキシタプレット40は、相手ノード3へ通信リンクL1(CN−RN通信リンク)を張り、その通信リンクL1と、中継ノード2から移動ノード1への通信リンクL2(RN−MN通信リンク)とを結合する機能を有している。その結合は、ユーザのプログラミングにより、自由に拡張することができる。
【0044】
また、中継ノード2から移動ノード1への通信リンクL2を張るときは、PersistenSocketという特別なソケット43(以下「永続性ソケット」という)を用いることができる。永続性ソケット43は、中継ノード2と移動ノード1の間のネットワークが切断した場合や、移動ノード1のIPアドレス変更や、ネットワークインターフェースの変更等の場合にも、中継ノード2と移動ノード1の接続性を維持し、ネットワークが復活したときに自動的に再接続を行うようにして、永続的な通信リンクL2を生成する。また、永続性ソケット43により、切断時や接続時の動作等を記述することもできる。
【0045】
第1の通信モードでは、プロキシタプレット40の標準的な機能を有し、いわばプロキシタプレット40の雛型というべき雛形プログラムとして、3タイプの雛形プログラム40a,40b,40cを利用することができる。各雛形プログラム40a,40b,40cは、通信リンクL1,L2の結合機能、加工処理機能、処理するデータの単位および転送するデータの単位が相違しているが、共通する機能(中継ノード2と相手ノード3との間に通信リンクL1を生成し、中継ノード2と移動ノード1との間に通信リンクL2を生成し、それらの通信リンクL1,L2を結合する機能)もある。
【0046】
第1の雛形プログラム40aは、通信リンクL1を流れる通信データ(バイトストリーム)を無加工のまま通信リンクL2に結合し、通信リンクL2の切断時等の利用不能時に通信データをバイト(byte)単位でバッファ可能とする。第2の雛形プログラム40bは、同じく、通信データの一行単位での転送を保証し、通信リンクL2の切断時等の利用不能時に、通信データを一行単位でバッファ可能とする。
【0047】
そして、第3の雛形プログラム40cは、同じく、通信データの、プログラマにより指定された単位での転送を保証し、通信リンクL2の切断等の利用不能時に、通信データをプログラマ指定の単位でバッファ可能とする。
雛形プログラム40a,40b,40cは、機能を拡張可能であるから、プログラマにより機能を拡張することも可能である。例えば、代理応答機能の拡張により、通信リンクL2が切断したときに、永続性ソケット43を利用して、相手ノード3に対して、中継ノード2が代理応答するようにすることができる。
【0048】
また、第1の通信モードでは、移動ノード1がサーバとして作動するためのソケット(以下このソケットを「Taサーバソケット」という)56が用意(導入)されている。
この場合、移動ノード1では、タプレット51が引数aにより、プロキシタプレット40を指定してTaサーバソケット56を生成する。すると、中継ノード2のプロキシタプレット40が指定されたポート番号で相手ノード3からのアクセスを待受ける。そして、相手ノード3からのアクセスacがあると、雛形プログラム40a,40b,40cにより取り決められるパターンに応じて、通信リンクL1と通信リンクL2とを結合する。こうして、中継ノード2が相手ノード3からのアクセスを受けると、プロキシタプレット40によってサーバとなる移動ノード1に代理して作動し、通信リンクL1,L2の結合を行うことになる。
【0049】
(第2の通信モード)
次に、第2の通信モードでは、図8に示すように、移動ノード1上のタプレット51がTaソケット52を生成する際に、引数aによるプロキシタプレット40の指定を行わない(プロキシタプレット40は作動しないので、中継ノード2の動作には関与しない)。一方、中継ノード2では、CPU21が作動して、ソケットコネクタ41というプログラムを自動的に起動している。このソケットコネクタ41は、上述した定機能プログラム32となるもので、プロキシの固定機能として、指定された相手ノード3にアクセスして通信リンクL1と通信リンクL2を結合する機能を有している。このとき、通信リンクL2の生成に永続性ソケット43を適用することにより、通信リンクL1,L2の結合によるデータの透過性を固定的な機能として提供することができる。
【0050】
第2の通信モードでも移動ノード1には、移動ノード1がサーバとして作動するためのソケット、すなわち、Taサーバソケット56が用意されている。
この場合、移動ノード1は、引数aによりプロキシタプレット40の指定を行わずにTaサーバソケット56を生成する。中継ノード2のソケットコネクタ41は、相手ノード3からのアクセスを指定されたポート番号で待受け、相手ノード3からのアクセスacがあると、通信リンクL1と、永続性ソケット43が関与する通信リンクL2とを結合する。この場合は、中継ノード2が、相手ノード3のアクセスを受けると、ソケットコネクタ41によってサーバとなる移動ノード1に代理して作動し、通信リンクL1,L2の結合を行うことになる。
【0051】
(第3の通信モード)
第3の通信モードでは、例えば、中継ノード2のプロキシタプレット40と移動ノード1のタプレット51との間で永続性ソケット43を必要時に生成し、中継ノード2が任意の相手ノード3に対してソケット46を必要時に生成して、中継ノード2のタプレット47が任意にそれらのソケット43、46を操作する、というようにすることができる。この第3の通信モードでは、第1、第2の通信モードと異なり、移動ノード1のタプレット51からの接続要求に限らずに、必要に応じて任意に移動ノード1を中継ノード2に接続し、中継ノード2をプロキシとして作動させることができる。ただし、ユーザは、そのような動作をするためのプログラムを作成するプログラミングを行わねばならない。
【0052】
以上のように、第1の通信モードでは、移動ノード1と相手ノード3の通信を中継する中継ノード2で加工または代理応答するためのプロキシを実現するときに、雛形プログラム40a,40b,40cを利用するか、または拡張して利用することが可能である。一からプログラミングをする必要がなく拡張することができるため、プログラミングに要する負荷を軽減することができる。
【0053】
また、第2の通信モードを選択すると、定機能プログラム(ソケットコネクタ43)により、プロキシの機能が固定化される反面、各中継ノード2の独自プログラムを生成する必要がないから、この場合も、プログラミングに要する負荷を軽減することができる。
そして、第3の通信モードを選択すると、プロキシを実現するためにすべてプログラミングを行わねばならないが、その反面、自由にプログラミングをすることができる。
【0054】
このように、本発明によれば、ユーザがこれら第1、第2、第3の通信モードを自由に選択し、プロキシプログラムにおけるプログラミングの自由度と簡便性を自由に選択することができる。
なお、これらの第1〜第3の通信モードは、中継ノード2および移動ノード1を改変するが、相手ノード3を特に改変することはない。
【0055】
【発明の効果】
以上詳述したように、本発明によれば、中継ノードでプロキシを実現するためのプログラミングに要する負荷を軽減することができる。また、第1〜第3の通信モードを合わせ、プログラミングの自由度と簡便性を選択できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る第1の通信モードにおける通信システムのシステム構成図である。
【図2】本発明の実施の形態に係る第2の通信モードにおける通信システムのシステム構成図である。
【図3】本発明の実施の形態に係る第3の通信モードにおける通信システムのシステム構成図である。
【図4】本発明の実施の形態に係る通信システムの構成を示すブロック図である。
【図5】移動ノードの内部構成を示すブロック図である。
【図6】中継ノードの内部構成を示すブロック図である。
【図7】第1の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図8】第2の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図9】第3の通信モードにおける移動ノード、中継ノード、相手ノードの内部構成を示すブロック図である。
【図10】移動ノードと中継ノードの本発明に係る機能の構成を示すブロック図である。
【符号の説明】
1…移動ノード、2…中継ノード
3…相手ノード、11,21…CPU
10…通信システム、L1,L2…通信リンク
12,22…ROM、13,23…RAM
15,24…通信制御部、14…操作入力部
30…プロキシプログラム
31,40a,40b,40c…雛形プログラム
40…プロキシタプレット、46…ソケット
41…ソケットコネクタ、52…Taソケット
43,53…永続性ソケット、56…Taサーバソケット
47,51…タプレット
Claims (8)
- ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードであって、
前記プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入されていることを特徴とする中継ノード。 - 前記雛形プログラムが、前記ユーザノードと前記中継ノードの通信リンクと、前記中継ノードと前記相手ノードの通信リンクとにおけるデータを所定の単位で蓄積して転送する転送機能を有するように拡張可能なことを特徴とする請求項1記載の中継ノード。
- 前記雛形プログラムが、前記ユーザノードと前記中継ノードとの通信リンク切断時に前記相手ノードに対して所定の単位で代理応答する代理応答機能を有するように拡張可能なことを特徴とする請求項1または2記載の中継ノード。
- 前記雛形プログラムが、前記ユーザノードと前記中継ノードの通信リンクと、前記中継ノードと前記相手ノードの通信リンクとを、前記各通信リンクにおけるデータを所定の単位で加工および蓄積して結合する結合機能を有するように拡張可能なことを特徴とする請求項1〜3のいずれか一項記載の中継ノード。
- 前記プロキシの固定機能を実現するための定機能プログラムが更に導入され、
前記雛形プログラムを利用可能な第1の通信モードと、前記定機能プログラムを利用可能な第2の通信モードと、前記プロキシの機能をユーザが自由にプログラミング可能な第3の通信モードのいずれかにより、前記ユーザノードと前記相手ノードとの通信を行えるように構成されていることを特徴とする請求項1〜4のいずれか一項記載の中継ノード。 - ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、前記ユーザノードと前記相手ノードとの通信を行う通信システムを構成するユーザノードであって、
前記プロキシを実現するためのプロキシプログラムの見本または雛形として前記中継ノードに導入されている雛形プログラムの指定手段を有することを特徴とするユーザノード。 - ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、前記ユーザノードと前記相手ノードとの通信を行うように構成された通信システムであって、
前記中継ノードは、前記プロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムが導入され、該雛形プログラムから生成される前記プロキシプログラムを起動して、前記ユーザノードと前記相手ノードとの通信を行えるように構成され、
前記ユーザノードは、前記中継ノードに導入されている前記雛形プログラムを指定する指定手段を有することを特徴とする通信システム。 - ユーザが操作するユーザノードと該ユーザノードの通信相手となる相手ノードとの通信を中継し、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現可能な中継ノードを介して、前記ユーザノードと前記相手ノードとの通信を行う通信方法であって、
前記中継ノードに導入され、前記ユーザノードと前記相手ノードとの通信を加工または代理応答するプロキシを実現するためのプロキシプログラムの見本または雛形として利用され、機能を拡張可能な雛形プログラムを前記ユーザノードから指定し、該指定された雛形プログラムから生成される前記プロキシプログラムを前記中継ノードで起動して、前記ユーザノードと前記相手ノードとの通信を行うことを特徴とする通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003208481A JP2005072649A (ja) | 2003-08-22 | 2003-08-22 | 中継ノード、ユーザノード、通信システムおよび通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003208481A JP2005072649A (ja) | 2003-08-22 | 2003-08-22 | 中継ノード、ユーザノード、通信システムおよび通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005072649A true JP2005072649A (ja) | 2005-03-17 |
Family
ID=34401752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003208481A Pending JP2005072649A (ja) | 2003-08-22 | 2003-08-22 | 中継ノード、ユーザノード、通信システムおよび通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005072649A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007081889A (ja) * | 2005-09-14 | 2007-03-29 | Canon Inc | 無線通信装置 |
JP2009089282A (ja) * | 2007-10-03 | 2009-04-23 | Nec Infrontia Corp | 無線lan通信システム、コントローラ装置、無線lan基地局及びそれらに用いる無線lan通信方法 |
JP2009267846A (ja) * | 2008-04-25 | 2009-11-12 | Kyocera Corp | 無線通信システム、無線基地局、無線端末および無線通信方法 |
JP2012085322A (ja) * | 2011-11-24 | 2012-04-26 | Canon Inc | 無線通信装置および通信方法 |
JP2013544452A (ja) * | 2010-09-16 | 2013-12-12 | クゥアルコム・インコーポレイテッド | プロキシデバイスを使用したワイヤレスクライアント端末の電力節約およびシステムレイテンシの低減 |
-
2003
- 2003-08-22 JP JP2003208481A patent/JP2005072649A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007081889A (ja) * | 2005-09-14 | 2007-03-29 | Canon Inc | 無線通信装置 |
JP2009089282A (ja) * | 2007-10-03 | 2009-04-23 | Nec Infrontia Corp | 無線lan通信システム、コントローラ装置、無線lan基地局及びそれらに用いる無線lan通信方法 |
JP2009267846A (ja) * | 2008-04-25 | 2009-11-12 | Kyocera Corp | 無線通信システム、無線基地局、無線端末および無線通信方法 |
JP2013544452A (ja) * | 2010-09-16 | 2013-12-12 | クゥアルコム・インコーポレイテッド | プロキシデバイスを使用したワイヤレスクライアント端末の電力節約およびシステムレイテンシの低減 |
JP2012085322A (ja) * | 2011-11-24 | 2012-04-26 | Canon Inc | 無線通信装置および通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4197841B2 (ja) | 移動ステーションを周辺装置に接続するためのインテリジェントサービスインターフェイス及びメッセージプロトコル | |
TWI321413B (en) | Peer-to-peer data relay | |
TWI269556B (en) | Universal plug-and-play mirroring device, system and method | |
US20080267147A1 (en) | Automatic Discovery and Connectivity Protocol for Bluetooth Scatternet Formation | |
CN101594614A (zh) | 数据下载方法以及终端 | |
JP2005509960A (ja) | ハンドヘルド無線会議技術 | |
JP2020511908A (ja) | 物理デバイス間のブルートゥースネットワーキングの制御方法、装置およびシステム | |
JP2009290625A (ja) | 画像共有システム | |
CN111934970B (zh) | 一种数据传输方法、装置及*** | |
KR100679865B1 (ko) | 유비쿼터스 컴퓨팅 환경의 다양성을 지원하기 위한 시스템 | |
JP2005072649A (ja) | 中継ノード、ユーザノード、通信システムおよび通信方法 | |
JP2013005110A (ja) | 仮想ネットワークシステム、構成変更方法、トンネル終端装置、トンネル接続装置、及びプログラム | |
JP2004080277A (ja) | 分散処理システム並びに分散処理システムにおける代理ノード、利用者側ノードおよび方法 | |
CN109302325A (zh) | 串口服务器、设备管理方法及可读存储介质 | |
JP5124375B2 (ja) | 情報処理装置 | |
JP5304473B2 (ja) | 携帯端末装置の機能設定システム、携帯端末装置、情報端末機器、機能設定方法及びプログラム | |
US20030225916A1 (en) | Implementing a data link layer protocol for multiple network interface devices | |
CN107925939B (zh) | 通信装置的连接方法和通信装置 | |
US10467320B2 (en) | Method for providing seamless graphical user interface control for a complex system consisting of distributed hardware modules | |
EP3607777A1 (en) | Ad hoc service switch-based control of ad hoc networking | |
JP2007213479A (ja) | チャットシステム | |
CN114006932A (zh) | 实现开关双控的方法及*** | |
JP5720484B2 (ja) | シンクライアントシステムのプログラム実行方法および携帯端末 | |
JP2010028479A (ja) | 分散機器相互制御システムおよび情報処理装置 | |
CN114884967B (zh) | 分布式边缘智能网关***的控制方法和*** |