本発明は、データの通信経路に係る情報に基づいてデータ通信をおこなう通信端末装置および通信プログラムに関し、特に、通信品質を劣化させることなく、余分なトラフィックを抑制することができる通信端末装置および通信プログラムに関する。
従来、基地局などのインフラストラクチャに依存せずに、無線で相互接続できる通信端末により構成されたアドホックネットワークを介して、データの送受信をおこなう技術が広く知られている。
アドホックネットワークに接続される各通信端末は、他の通信端末宛のデータを中継する機能を備えている。そのため、たとえデータの送信宛先となる通信端末までの距離が無線電波の届かない距離であって、直接データを送信することが不可能であったとしても、いくつかの通信端末がデータを中継することで、宛先である通信端末までデータを送信することができる。
この技術では、宛先となる通信端末までの通信経路を確保するため、通信端末は、他の通信端末に対して制御情報を送信する。そして、その制御情報を受信した通信端末は、送信元の通信端末と自通信端末との間のデータの通信経路の情報を制御情報に登録した後、他の通信端末に対して制御情報を送信する。
このようにして、通信端末間で制御情報が次々に送信され、宛先の通信端末にまで制御情報が達すると、送信元の通信端末から宛先の通信端末までのデータの通信経路が確立され、制御情報に登録された通信経路の情報に基づいてデータ通信がおこなわれる。
ところが、通信端末の移動等により、新たな通信経路が確立された直後は通信状態が必ずしも安定しておらず、データの通信品質が劣化する可能性があるため、データを複数の経路を介して送信することにより通信品質を高める技術が考案されている。
たとえば、特許文献1には、データを送信する場合に通信経路を複数探索し、探索された通信経路の中から電波干渉度およびホップ数が比較的少ない通信経路を複数選択し、選択した通信経路を介してデータを送信する技術が開示されている。
しかしながら、上述した従来技術では、宛先である通信端末までデータを送信するために確立された通信経路の状態が安定した後も、複数の通信経路を介してデータを送信するので余分なトラフィックが発生するという問題があった。
余分なトラフィックが発生すると、通信帯域を圧迫する上に、データを中継する通信端末に負荷がかかり、消費電力も増大してしまう。そのため、通信品質を劣化させることなく、余分なトラフィックをいかにして抑制することができるかが重要な問題となっている。
本発明は、上述した従来技術による問題点を解消するためになされたものであり、通信品質を劣化させることなく、余分なトラフィックを抑制することができる通信端末装置および通信プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、データの通信経路に係る情報に基づいてデータ通信をおこなう通信端末装置であって、通信宛先となる装置に対してデータを送信する場合の通信経路に係る情報を記憶する記憶手段と、前記記憶手段により情報が記憶された通信経路が他の通信経路に切り替えられた場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じて前記データ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替える制御手段と、を備えたことを特徴とする。
また、本発明は、上記発明において、前記通信に係る状況は、現在の通信径路と一定期間内の過去の通信径路とが異なっているか否かであって、前記制御手段は、現在の通信径路と一定期間内の過去の通信径路とが同一となった場合に、前記複数の通信径路を介したデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替えることを特徴とする。
また、本発明は、上記発明において、データを送信する通信経路の接続安定度に係る情報を記憶する接続安定度記憶手段をさらに備え、前記制御手段は、前記接続安定度記憶手段に記憶された情報に基づいて前記通信経路の接続安定度が所定の水準よりも低いか否かを判定し、当該接続安定度が所定の水準よりも低い場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこなうことを特徴とする。
また、本発明は、上記発明において、前記接続安定度は、無線通信に係る電界強度であることを特徴とする。
また、本発明は、上記発明において、前記接続安定度は、データの通信速度であることを特徴とする。
また、本発明は、上記発明において、前記接続安定度は、データ通信をおこなう装置間の距離であることを特徴とする。
また、本発明は、上記発明において、前記記憶手段は、前記通信経路が他の通信経路に切り替えられた場合に切り替え前後の通信経路に係る情報を記憶し、前記制御手段は、前記記憶手段に記憶された情報に基づいて切り替え前後の両方の通信経路を介したデータ送信の実行制御をおこなうことを特徴とする。
また、本発明は、上記発明において、前記制御手段は、データの重要度に基づいて前記複数の通信経路を介したデータ送信の実行制御をおこなうか否かを判定し、前記複数の通信経路を介したデータ送信の実行制御をおこなうと判定した場合には複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じて前記データ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替え、前記複数の通信経路を介したデータ送信の実行制御をおこなわないと判定した場合には単一の通信経路を介したデータ通信の実行制御をおこなうことを特徴とする。
また、本発明は、データの通信経路に係る情報に基づいてデータ通信をおこなう通信プログラムであって、通信宛先となる装置に対してデータを送信する場合の通信経路に係る情報を記憶する記憶手順と、前記記憶手順により情報が記憶された通信経路が他の通信経路に切り替えられた場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じて前記データ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替える制御手順と、をコンピュータに実行させることを特徴とする。
本発明によれば、通信宛先となる装置に対してデータを送信する場合の通信経路に係る情報を記憶し、情報を記憶した通信経路が他の通信経路に切り替えられた場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じてデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替えることとしたので、通信品質を劣化させることなく、余分なトラフィックを抑制することができるという効果を奏する。
また、本発明によれば、上記通信に係る状況は、現在の通信径路と一定期間内の過去の通信径路とが異なっているか否かであって、現在の通信径路と一定期間内の過去の通信径路とが同一となった場合に、複数の通信径路を介したデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替えることとしたので、通信品質を劣化させることなく、余分なトラフィックを効果的に抑制することができるという効果を奏する。
また、本発明によれば、データを送信する通信経路の接続安定度に係る情報を記憶し、記憶した情報に基づいて通信経路の接続安定度が所定の水準よりも低いか否かを判定し、当該接続安定度が所定の水準よりも低い場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこなうこととしたので、通信経路の状態が安定しているか否かを精度よく判定することができるという効果を奏する。
また、本発明によれば、上記接続安定度は、無線通信に係る電界強度であることとしたので、電界強度に基づいて通信経路の状態が安定しているか否かを効率よく判定することができるという効果を奏する。
また、本発明によれば、上記接続安定度は、データの通信速度であることとしたので、通信速度に基づいて通信経路の状態が安定しているか否かを効率よく判定することができるという効果を奏する。
また、本発明によれば、上記接続安定度は、データ通信をおこなう装置間の距離であることとしたので、通信端末間の距離に基づいて通信経路の状態が安定しているか否かを効率よく判定することができるという効果を奏する。
また、本発明によれば、通信経路が他の通信経路に切り替えられた場合に切り替え前後の通信経路に係る情報を記憶し、記憶した情報に基づいて切り替え前後の両方の通信経路を介したデータ送信の実行制御をおこなうこととしたので、通信品質の劣化を効果的に防止することができるという効果を奏する。
また、本発明によれば、データの重要度に基づいて前記複数の通信経路を介したデータ送信の実行制御をおこなうか否かを判定し、複数の通信経路を介したデータ送信の実行制御をおこなうと判定した場合には複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じてデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替え、複数の通信経路を介したデータ送信の実行制御をおこなわないと判定した場合には単一の通信経路を介したデータ通信の実行制御をおこなうこととしたので、重要なデータの通信品質を向上させるとともに、トラフィックを効果的に抑制することができるという効果を奏する。
以下に添付図面を参照して、本発明に係る通信端末装置および通信プログラムの好適な実施例を詳細に説明する。
まず、本発明に係る通信処理の概念について説明する。図1は、本発明に係る通信処理の概念を示す図であり、図2は、図1に示した通信システムにおいて実施例1に係る各端末A〜Eが記憶するルーティングテーブル10a〜10eの一例を示す図である。
図1に示すように、この通信処理においては、無線通信機能を有する通信端末(端末A〜端末E)が、アドホックネットワークを構成している。ここで、端末Aと端末Cとは、電波の到達範囲内にあり、無線によるデータの送受信が直接可能である。また、端末Cと端末Eとが同様にデータの送受信が直接可能な範囲にある。
端末Aと端末Eとは、電波の到達範囲外にあり、直接データの送受信をおこなうことはできない。しかし、端末Cがデータの中継をおこなうことにより、端末Aと端末Eとがデータを送受信することができるようになる。
端末Aが端末Eにデータを送信するために始めにデータを送信すべき通信端末の情報は、端末Aのルーティングテーブルに記憶されている。各通信端末は、他の通信端末が送信した制御情報を受信してルーティングテーブルを更新し、ある通信端末にデータを送信するために最適な通信経路を選択する。このルーティングテーブルの更新処理については後に詳しく説明する。
その後、端末Aが端末Bの方向に移動し、端末Aが端末Eにデータを送信する場合の通信経路が端末Bを経由する通信経路に切り替えられた場合を考える。通信経路が新たな通信経路に切り替えられた直後は通信状態が必ずしも安定しておらず、データの通信品質が劣化する可能性がある。
このような場合、端末Aは、データを確実に宛先の端末Eに届けるため、新たな通信経路とそれ以前の通信経路との両方の通信経路を介してデータを送信する。
図2には、各端末A〜Eのルーティングテーブル10a〜10eが示されている。図2に示すように、ルーティングテーブル10a〜10eには、宛先端末、第一転送先端末、転送回数、過去の第一転送先端末の各情報が記憶されている。
宛先端末は、データの送信宛先となる通信端末を識別する識別情報である。第一転送先端末は、通信端末が宛先端末にデータを送信する際に、始めにデータを送信する通信端末を識別する識別情報である。
転送回数は、宛先端末までデータが送信される過程で各通信端末によりデータが転送される回数の情報である。ここで、転送回数には、他の通信端末から受信したデータを他の通信端末に転送する回数に加えて、通信端末が始めにデータを送信した分も含まれている。
過去の第一転送先端末は、過去に第一転送先端末として設定された通信端末の情報である。過去の第一転送先端末はルーティングテーブルの更新時に更新される。この過去の第一転送先端末の記憶数はあらかじめ設定されており、この記憶数が2以上である場合には複数の過去の第一転送先端末が記憶される。
端末Aのルーティングテーブル10aの例では、宛先端末Eに対応する現在の第一転送先端末は端末Bである。また、過去の第一転送先端末は、より右側の欄に記憶されている端末が古い第一転送先端末となっており、端末C、端末C、端末Bの順に第一転送先端末が切り替えられている。
端末Aから端末Eにデータを送信する場合、ルーティングテーブル10aの宛先端末Eの欄を参照すると、現在の第一転送先端末と過去の第一転送先端末に、端末Bおよび端末Cという異なる複数の端末が記述されているので、この場合は端末Bおよび端末Cに対してデータを送信する。
次にルーティングテーブルが更新され、端末Eに対する現在の第一転送先端末がBで、過去の第一転送先端末が右からC,B,Bとなった場合も、異なる複数の端末が記述されているので、この場合も端末Bおよび端末Cに対してデータを送信する。
さらにルーティングテーブルが更新され、端末Eに対する現在の第一転送先端末がBで、過去の第一転送先端末が右からB,B,Bとなった場合、同一の端末しか記述されなくなったので、この場合は端末Bだけに対してデータを送信する。
このように、通信状態が不安定な間は複数の通信経路を介したデータ送信を実行することにより通信品質の劣化を防止することができるとともに、通信状態が安定した後は一つの通信経路を介したデータ送信に切り替えることにより余分なトラフィックを抑制することができる。
つぎに、実施例1に係る通信端末の機能構成について説明する。図3は、実施例1に係る通信端末の機能構成を示す図である。この通信端末は、例えば、無線で相互に接続することのできるパーソナルコンピュータ、PDA(Personal Digital Assistants)、携帯電話などの端末である。
図3に示すように、この通信端末は、無線送受信処理部20、記憶部21、ユーザデータ送受信部22、制御情報送受信部23、ルーティングテーブル作成/更新処理部24、表示部25、入力部26、制御部27を有する。
無線送受信処理部20は、複数の通信端末から構成されるアドホックネットワークに自端末を接続させ、他の通信端末との間で無線通信をおこなう処理部である。記憶部21は、ハードディスク装置やフラッシュメモリなどの記憶デバイスであり、ルーティングテーブル21a、パラメータデータ21bを記憶している。ルーティングテーブル21aは、図2で説明したルーティングテーブル10a〜10eに対応するものである。
パラメータデータ21bは、通信端末のデータ送信処理に係る種々の設定パラメータを記憶したデータである。図4は、図3に示したパラメータデータ21bの一例を示す図である。
図4に示すように、このパラメータデータ21bには、過去の第一転送先端末記憶数が登録されている。過去の第一転送先端末記憶数は、ルーティングテーブル21a(図2に示したルーティングテーブル10a〜10e)において、過去の第一転送先端末に記憶する通信端末の数である。
図3の説明に戻ると、ユーザデータ送受信部22は、他の通信端末との間でユーザデータの送受信を無線送受信処理部20を介しておこなう送受信部である。このユーザデータ送受信部22は、ユーザデータを送信する場合に、現在の第一転送先端末と過去の第一転送先端末に記述されている端末名を参照して、異なる複数の端末名があるか、それとも同一端末名しかないかを判定する。
そして、ユーザデータ送受信部22は、その判定結果に基づいて複数の通信経路を介したデータ送信を実行するか、あるいは、1つの通信経路を介したデータ送信を実行する。具体的には、ユーザデータ送受信部22は、ユーザデータに送信先端末として複数あるいは1つの通信端末を登録することにより、複数あるいは1つの通信経路を介したデータ送信を実行する。
図5は、ユーザデータ30のデータ構造の一例を示す図である。図5に示すように、このユーザデータ30には、ID、宛先端末、送信先端末、送信元端末およびデータが含まれている。
IDは、データを識別する識別情報であり、同一の通信端末に同じデータが複数回送信された場合に、それを検知してデータを破棄するために用いられるものである。ここでは、IDとして1028という番号が設定されている。ただし、番号に限らず、データを識別できる情報であればIDとして用いることができる。
宛先端末は、データの送信先である宛先端末を識別する識別情報である。送信先端末は、通信端末が宛先端末にユーザデータ30を送信する場合に、つぎにユーザデータ30を送信すべき通信端末を識別する識別情報である。複数の通信経路を介したデータ送信が実行される場合には、送信先端末が複数登録される。1つの通信経路を介したデータ送信が実行される場合には、送信先端末が1つだけ登録される。
送信元端末は、データの送信元端末を識別する識別情報である。データは、宛先端末への送信対象となるデータである。
図3の説明に戻ると、制御情報送受信部23は、ユーザデータの通信経路を確立するため、制御情報の送受信を無線送受信処理部20を介しておこなう処理部である。図6は、実施例1における制御情報40のデータ構造の一例を示す図である。
図6に示すように、制御情報40は、送信元端末および宛先端末の情報を含んでいる。送信元端末は、制御情報40を送信した通信端末を識別する情報である。この送信元端末は、第一転送先端末の候補となる通信端末である。
宛先端末は、データ送信の際に宛先端末となりうる通信端末についての情報である。この宛先端末の情報は、端末名および転送回数の情報を含んでおり、ルーティングテーブル21a(図2に示したルーティングテーブル10a〜10e)に記憶されている情報に基づいて作成される。
端末名は、データ送信の際に宛先端末となりうる通信端末を識別する通信端末名であり、ルーティングテーブル21aに記憶されている宛先端末に対応する。転送回数は、ルーティングテーブル21aに記憶されている転送回数に1を加算したものである。
たとえば、この制御情報40を端末Aが端末Bから受信したとすると、端末Aの制御情報送受信部23は、宛先端末が端末Eのとき、転送回数は2であり、第一転送先端末は端末Bであることを認識することができる。
そして、端末Aの制御情報送受信部23は、制御情報40に含まれる宛先端末の端末名に該当する宛先端末を自通信端末のルーティングテーブル21aから検索し、検索された宛先端末に対応する転送回数の情報をルーティングテーブル21aから取得する。
その後、端末Aの制御情報送受信部23は、制御情報40に含まれる転送回数と、ルーティングテーブル21aに登録されている転送回数とを比較して、制御情報40に含まれる転送回数がルーティングテーブル21aに登録されている転送回数よりも小さい場合に、ルーティングテーブル21aの第一転送先端末を制御情報40に含まれる送信元端末に変更し、さらにルーティングテーブル21aの転送回数を制御情報40に含まれる転送回数に変更する。
このような処理により、ルーティングテーブル21aには、端末Aが宛先端末までデータを送信する場合に、転送回数がより少なく、効率的にデータを送信できる通信経路が記憶されることになる。
図3の説明に戻ると、ルーティングテーブル作成/更新処理部24は、他の通信端末から受信した制御情報40を基にして、記憶部21に記憶されたルーティングテーブル21aの作成および更新をおこなう処理部である。
具体的には、ルーティングテーブル作成/更新処理部24は、制御情報40に含まれる送信元端末、宛先端末の端末名、宛先端末の転送回数の情報からルーティングテーブル21aにおける宛先端末、第一転送先端末、転送回数の情報を作成または更新する。
さらに、ルーティングテーブル作成/更新処理部24は、宛先端末、第一転送先端末、転送回数の情報を作成または更新した場合に、過去の第一転送先端末の情報を1時点前にシフトさせることにより更新する。
表示部25は、液晶ディスプレイなどの表示デバイスである。入力部26は、キーボードやペン型入力装置などの入力デバイスである。制御部27は、この通信端末を全体制御する制御部であり、各機能部間のデータの授受などを司る。
つぎに、実施例1に係る制御情報送信処理の処理手順について説明する。図7は、実施例1に係る制御情報送信処理の処理手順を示すフローチャートである。図7に示すように、まず、通信端末のルーティングテーブル作成/更新処理部24は、ルーティングテーブルの作成/更新処理をおこなう(ステップS101)。このルーティングテーブルの作成/更新処理についてはつぎに詳しく説明する。
そして、ルーティングテーブル作成/更新処理部24は、過去の第一転送先端末に登録されている端末名を1時点前にシフトさせ(ステップS102)、過去の第一転送先端末記憶数を越えた最古の第一転送先端末の情報をルーティングテーブル21aから削除する(ステップS103)。
その後、ルーティングテーブル作成/更新処理部24は、ルーティングテーブル21aに現在の第一転送先端末として登録されている端末名を1時点前の過去の第一転送先端末として登録する(ステップS104)。
そして、制御情報送受信部23は、ルーティングテーブル21aから制御情報40を作成し(ステップS105)、作成した制御情報40を他の通信端末に送信する(ステップS106)。
具体的には、制御情報送受信部23は、ルーティングテーブル21aから宛先端末および転送回数の情報を取得する。そして、制御情報送受信部23は、図6に示したように、自通信端末の端末名を制御情報40の送信元端末として設定する。
また、制御情報送受信部23は、ルーティングテーブル21aから取得した宛先端末の情報を制御情報40の宛先端末の端末名として設定し、さらにルーティングテーブル21aから取得した転送回数に1を加えた回数を制御情報40の宛先端末の転送回数として設定することにより制御情報40を作成する。
その後、制御情報送受信部23は、次回の制御情報40の送信処理を開始するまで、一定の時間待機し(ステップS107)、ステップS101に移行して、それ以後の処理を継続する。
つぎに、図7に示したルーティングテーブル作成/更新処理の処理手順について説明する。図8は、図7に示したルーティングテーブル作成/更新処理の処理手順を示すフローチャートである。
図8に示すように、通信端末の制御情報送受信部23は、他の通信端末から送信された制御情報40を受信するのを待ち受ける(ステップS201)。そして、制御情報送受信部23は、制御情報40を受信したか否かを調べ(ステップS202)、制御情報40を受信しなかった場合には(ステップS202,No)、ステップS201に戻って、制御情報40の受信を待ち受ける。
制御情報40を受信した場合には(ステップS202,Yes)、ルーティングテーブル作成/更新処理部24は、受信した制御情報40に含まれる宛先端末の端末名がルーティングテーブル21a(図2に示したルーティングテーブル10a〜10e)に宛先端末としてすでに登録されているか否かを調べる(ステップS203)。
制御情報に含まれる宛先端末の端末名がルーティングテーブル21aに宛先端末として登録されていない場合には(ステップS203,No)、ルーティングテーブル作成/更新処理部24は、ルーティングテーブル21aに新規経路情報を登録し(ステップS206)、ステップS201に移行して、それ以降の処理を継続する。
具体的には、ルーティングテーブル作成/更新処理部24は、制御情報40に含まれている送信元端末、端末名、転送回数の情報を、ルーティングテーブル21aの第一転送先端末、宛先端末、転送回数としてそれぞれ記憶する。
ステップS203において、制御情報40に含まれている宛先端末の端末名がルーティングテーブル21aにすでに登録されている場合には(ステップS203,Yes)、ルーティングテーブル作成/更新処理部24は、ルーティングテーブル21aからその端末名に対応する宛先端末の転送回数の情報を取得し、制御情報40に含まれている転送回数がルーティングテーブル21aに登録されている転送回数よりも大きいか否かを調べる(ステップS204)。
制御情報40に含まれている転送回数がルーティングテーブル21aに登録されている転送回数よりも大きい場合には(ステップS204,Yes)、ルーティングテーブル作成/更新処理部24は、受信した制御情報40を破棄し(ステップS207)、ステップS201に移行して、それ以後の処理を継続する。
制御情報40に含まれている転送回数がルーティングテーブル21aに登録されている転送回数よりも大きくない場合には(ステップS204,No)、ルーティングテーブル作成/更新処理部24は、受信した制御情報40を用いてルーティングテーブル21aを更新し(ステップS205)、ステップS201に移行して、それ以降の処理を継続する。
具体的には、ルーティングテーブル作成/更新処理部24は、ルーティングテーブル21aに記憶されている各宛先端末の転送回数と制御情報40に含まれる各宛先端末の転送回数とを比較して、制御情報40の転送回数よりも大きい転送回数であるルーティングテーブル21aの第一転送先端末、宛先端末、転送回数の情報を、制御情報40の送信元端末、宛先端末、転送回数の情報に書き換える処理をおこなう。
つぎに、実施例1に係るユーザデータ送信処理の処理手順について説明する。図9は、実施例1に係るユーザデータ送信処理の処理手順を示すフローチャートである。図9に示すように、まず、通信端末のユーザデータ送受信部21は、ルーティングテーブル21a(図2に示したルーティングテーブル10a〜10e)からユーザデータを送信する宛先端末に対応する第一転送先端末があるか否かを調べる(ステップS301)。
宛先端末に対応する第一転送先端末がある場合には(ステップS301,Yes)、
ユーザデータ送受信部21は、ルーティングテーブル21aからユーザデータを送信する宛先端末に対応する第一転送先端末を検索し、検索された第一転送先端末を送信先端末として設定する(ステップS302)。
ステップS301において、宛先端末に対応する第一転送先端末の情報がない場合には(ステップS301,No)、ユーザデータ送受信部21は、ルーティングテーブル21aが作成または更新されて、対応する第一転送先端末が現れるまで待つ。
ステップS302の処理を実行した後、ユーザデータ送受信部21は、ルーティングテーブル21aに過去の第一転送先端末の情報があるか否かを調べる(ステップS303)。
ルーティングテーブル21aに過去の第一転送先端末の情報がある場合には(ステップS303,Yes)、ユーザデータ送受信部21は、過去の第一転送先端末のうち、ステップS305における現在の第一転送先端末との比較処理が完了していない過去の第一転送先端末を1つ選択する(ステップS304)。
その後、ユーザデータ送受信部21は、第一転送先端末情報の比較回数に1を加算し(ステップS305)、現在の第一転送先端末と選択した第一転送先端末とが異なるか否かを調べる(ステップS306)。現在の第一転送先端末と過去の第一転送先端末とが異なる場合には(ステップS306,Yes)、ユーザデータ送受信部21は、過去の第一転送先端末を送信先端末として追加する(ステップS307)。
そして、ユーザデータ送受信部21は、ステップS306における第一転送先端末の比較回数が過去の第一転送先端末記憶数に等しいか否かを調べる(ステップS308)。第一転送先端末の比較回数が過去の第一転送先端末記憶数と等しくない場合には(ステップS308,No)、ステップS304に移行して、ユーザデータ送受信部21は、現在の第一転送先端末との比較処理が完了していない過去の第一転送先端末を1つ選択し、それ以降の処理を継続する。
ステップS306において、現在の第一転送先端末と過去の第一転送先端末とが同一である場合には(ステップS306,No)、ステップS308に移行して、それ以後の処理を継続する。
ステップS308において、第一転送先端末の比較回数が過去の第一転送先端末記憶数に等しい場合には(ステップS308,Yes)、ユーザデータ送受信部21は、設定された送信先端末が複数あるか否かを調べる(ステップS309)。
また、ステップS303において、ルーティングテーブル21aに過去の第一転送先端末の情報がない場合には(ステップS303,No)、ステップS309に移行して、ユーザデータ送受信部21は、設定された送信先端末が複数あるか否かを調べる。
送信先端末が複数ある場合には(ステップS309,Yes)、ユーザデータ送受信部21は、複数の送信先端末にマルチキャスト送信するユーザデータを作成する(ステップS310)。
具体的には、ユーザデータ送受信部21は、図5に示したようなユーザデータ30において、送信先端末に複数の通信端末を登録する。その後、ユーザデータ送受信部21は、作成したユーザデータを送信し(ステップS311)、このユーザデータ送信処理を終了する。
ステップS309において、送信先端末が複数ない場合には(ステップS309,No)、ユーザデータ送受信部21は、現在の第一転送先端末にユニキャスト送信するユーザデータを作成する(ステップS312)。
具体的には、ユーザデータ送受信部21は、図5に示したようなユーザデータにおいて、送信先端末に現在の第一転送先端末を1つだけ登録する。その後、ステップS311に移行して、ユーザデータ送受信部21は、ユーザデータを送信し、このユーザデータ送信処理を終了する。
つぎに、通信端末がユーザデータを受信する処理の処理手順について説明する。図10は、実施例1に係るユーザデータ受信処理の処理手順を示すフローチャートである。図10に示すように、まず、通信端末のユーザデータ送受信部21は、他の通信端末により送信されたデータを受信する(ステップS401)。
そして、ユーザデータ送受信部21は、ユーザデータに含まれるIDを調べることにより、受信したユーザデータと同一のユーザデータを過去に受信したか否かを調べる(ステップS402)。
受信したユーザデータと同一のユーザデータを過去に受信した場合には(ステップS402,Yes)、ユーザデータ送受信部21は、受信したユーザデータを破棄し(ステップS403)、このユーザデータ受信処理を終了する。
受信したユーザデータと同一のユーザデータを過去に受信していない場合には(ステップS402,No)、ユーザデータ送受信部21は、受信したユーザデータの宛先が自通信端末であるか否かを調べる(ステップS404)。
受信したユーザデータの宛先が自通信端末である場合には(ステップS404,Yes)、ユーザデータ送受信部21は、受信したユーザデータを取り込み(ステップS405)、このユーザデータ受信処理を終了する。
受信したユーザデータの宛先が自通信端末でない場合には(ステップS404,No)、ユーザデータ送受信部21は、受信したユーザデータを他の通信端末に転送し(ステップS406)、このユーザデータ受信処理を終了する。具体的には、ユーザデータ送受信部21は、図9に示したユーザデータ送信処理と同様の処理をおこなうことにより、受信したユーザデータを他の通信端末に転送する。
上述してきたように、本実施例1では、通信端末の記憶部21が、宛先端末に対してデータを送信する場合の通信経路に係る情報をルーティングテーブル21aとして記憶し、ユーザデータ送受信部22が、記憶部21に情報が記憶された通信経路が他の通信経路に切り替えられた場合に、同一の宛先端末に対する複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じてデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替えることとしたので、通信品質を劣化させることなく、余分なトラフィックを抑制することができる。
また、本実施例1では、記憶部21が、通信経路が他の通信経路に切り替えられた場合に切り替え前後の通信経路に係る情報をルーティングテーブル21aに第一転送先端末および過去の第一転送先端末として記憶し、ユーザデータ送受信部22が、記憶部21に記憶された情報に基づいて切り替え前後の両方の通信経路を介したデータ送信の実行制御をおこなうこととしたので、通信品質の劣化を効果的に防止することができる。
また、本実施例1では、上記通信に係る状況は、ルーティングテーブル21aに登録された現在の第一転送先端末と過去の第一転送先端末とが異なっているか否かであって、現在の第一転送先端末と過去の第一転送先端末とが同一となった場合に、ユーザデータ送受信部22が、複数の通信径路を介したデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替えることとしたので、通信品質を劣化させることなく、余分なトラフィックを効果的に抑制することができる。
なお、実施例1では、現在と過去の第一転送先端末が異なる場合に、データの中継をおこなう送信先端末にユーザデータをマルチキャスト送信するか否かを判定したが、さらに通信電波の電界強度などの接続安定度を示す情報を考慮してマルチキャスト送信するか否かを判定することとしてもよい。そこで、実施例2では、接続の安定性を示す情報をさらに考慮して通信をおこなう場合について説明する。
図11は、図1に示した通信システムにおいて実施例2に係る各端末A〜Eが記憶するルーティングテーブル50a〜50eの一例を示す図である。図11に示すように、ルーティングテーブル50a〜50eには、宛先端末、第一転送先端末、転送回数、電界強度、過去の第一転送先端末の各情報が記憶されている。
このうち、宛先端末、第一転送先端末、転送回数、過去の第一転送先端末は、図2に示したルーティングテーブル10a〜10eにおける宛先端末、第一転送先端末、転送回数、過去の第一転送先端末と同様の情報である。
電界強度は、第一転送先端末が自通信端末から制御情報を受信した際の、電波の受信電界強度の情報である。この電界強度の情報は、第一転送先端末から送信される制御情報に含まれており、その制御情報を受信することにより取得することができる。
実施例2に係る通信処理では、ユーザデータを宛先端末に送信する場合に、ルーティングテーブル50a〜50eに登録された宛先端末に対応する電界強度、すなわち、第一転送先端末が自通信端末から制御情報を受信した際の電波の受信電界強度の情報がルーティングテーブル50a〜50eから検索される。
そして、検索された電界強度が所定の閾値以下である場合にのみ、実施例1で説明したような第一転送先端末へのマルチキャスト送信を実行する。これにより、通信経路の状態が安定しているか否かをより精度よく判定することができ、トラフィックの増加をさらに抑制することができる。
つぎに、実施例2に係る通信端末の機能構成について説明する。図12は、実施例2に係る通信端末の機能構成を示す図である。図12に示すように、この通信端末は、無線送受信処理部60、接続安定度情報取得部61、記憶部62、ユーザデータ送受信部63、制御情報送受信部64、ルーティングテーブル作成/更新処理部65、表示部66、入力部67、制御部68を有する。
無線送受信処理部60は、複数の通信端末から構成されるアドホックネットワークに自端末を接続させ、他の通信端末との間でユーザデータや制御情報などを無線で送受信する処理部である。
接続安定度情報取得部61は、他の通信端末から制御情報を含んだ電波を受信した際に、その電波の受信電界強度の情報を取得する処理部である。記憶部62は、ハードディスク装置やフラッシュメモリなどの記憶デバイスであり、ルーティングテーブル62a、パラメータデータ62bを記憶している。ルーティングテーブル62aは、図11で説明したルーティングテーブル50a〜50eに対応するものである。
パラメータデータ62bは、通信端末のデータ送信処理に係る種々の設定パラメータを記憶したデータである。図13は、図12に示したパラメータデータ62bの一例を示す図である。
図13に示すように、このパラメータデータ62bには、過去の第一転送先端末記憶数、電界強度閾値の情報が登録されている。過去の第一転送先端末記憶数は、ルーティングテーブル62a(図11に示したルーティングテーブル50a〜50e)において、過去の第一転送先端末に記憶されている通信端末の数である。
また、電界強度閾値は、データ送信方法の切り替えをおこなうか否かを判定する場合に用いられる閾値である。具体的には、ルーティングテーブル62aに登録された第一転送先端末の電界強度が電界強度閾値以下である場合にデータ送信方法の切り替えが実行される。
図12の説明に戻ると、ユーザデータ送受信部63は、他の通信端末との間で図5に示したようなユーザデータ30の送受信を無線送受信処理部60を介しておこなう送受信部である。
特に、このユーザデータ送受信部63は、ユーザデータを送信する場合に、第一転送先端末の電界強度が電界強度閾値以下であるか否かを調べ、電界強度が電界強度閾値以下である場合に、実施例1で説明したような複数の第一転送先端末へのマルチキャスト送信を実行する。
制御情報送受信部64は、ユーザデータの通信経路を確立するため、無線送受信処理部20を介して制御情報の送受信をおこなう処理部である。図14は、実施例2における制御情報70のデータ構造の一例を示す図である。
図14に示すように、この制御情報70は、送信元端末および宛先端末の情報を含んでいる。送信元端末は、制御情報70を当該通信端末に送信した通信端末を識別する情報である。この送信元端末は、第一転送先端末の候補となる通信端末である。
宛先端末は、データ送信の際に宛先端末となりうる通信端末についての情報である。この宛先端末の情報は、端末名、転送回数および電界強度の情報を含んでおり、ルーティングテーブル62a(図11に示したルーティングテーブル50a〜50e)に記憶されている情報に基づいて作成される。
端末名は、データ送信の際に宛先端末となりうる通信端末を識別する端末名であり、ルーティングテーブル62aに記憶されている宛先端末に対応する。転送回数は、ルーティングテーブル62aに記憶されている転送回数に1を加算したものである。電界強度は、制御情報を端末名で示される通信端末から受信した際の、電波の受信電界強度の情報である。
図12の説明に戻ると、ルーティングテーブル作成/更新処理部65は、他の通信端末から受信した制御情報70を基にして、記憶部62に記憶されたルーティングテーブル62aの作成および更新をおこなう処理部である。
具体的には、ルーティングテーブル作成/更新処理部65は、実施例1で説明したようにして、制御情報70に含まれる送信元端末、および、宛先端末の端末名、転送回数、電界強度の情報からルーティングテーブル62aにおける宛先端末、第一転送先端末、転送回数、電界強度の情報を作成または更新する。
さらに、ルーティングテーブル作成/更新処理部65は、宛先端末、第一転送先端末、転送回数、電界強度の情報を作成または更新した場合に、過去の第一転送先端末の情報を1時点前にシフトさせることにより更新する。
表示部66は、液晶ディスプレイなどの表示デバイスである。入力部67は、キーボードやペン型入力装置などの入力デバイスである。制御部68は、この通信端末を全体制御する制御部であり、各機能部間のデータの授受などを司る。
つぎに、実施例2に係るユーザデータ送信処理の処理手順について説明する。図15−1および図15−2は、実施例2に係るユーザデータ送信処理の処理手順を示すフローチャート(1)および(2)である。
なお、実施例2に係る制御情報送信処理、ルーティングテーブル作成/更新処理、ユーザデータ受信処理は、図7、図8、図10に示した制御情報送信処理、ルーティングテーブル作成/更新処理、ユーザデータ受信処理と同様であるのでここでは説明を省略する。
ただし、制御情報送信処理においては、通信端末の制御情報送受信部64は、制御情報を作成する場合に、他の通信端末から電波を受信した際の受信電界強度の情報を制御情報に追加する。
また、ルーティングテーブル作成/更新処理においては、ルーティングテーブル作成/更新処理部65は、ルーティングテーブル62a(ルーティングテーブル50a〜50e)に制御情報に含まれている情報を登録する場合に、制御情報に含まれている送信元端末、端末名、転送回数の情報を、ルーティングテーブル62aに第一転送先端末、宛先端末、転送回数としてそれぞれ記憶するとともに、制御情報に含まれている電界強度の情報をルーティングテーブル62aに電界強度としてさらに登録する。
図15−1に示すように、まず、通信端末のルーティングテーブル作成/更新処理部65は、ルーティングテーブル62a(ルーティングテーブル50a〜50e)に宛先端末に対応する第一転送先端末があるか否かを調べる(ステップS901)。
宛先端末に対応する第一転送先端末がある場合には(ステップS901,Yes)、ユーザデータ送受信部63は、ルーティングテーブル62aからユーザデータを送信する宛先端末に対応する第一転送先端末を検索し、検索された第一転送先端末を送信先端末として設定する(ステップS902)。
ステップS901において、宛先端末に対応する第一転送先端末の情報がない場合には(ステップS901,No)、ユーザデータ送受信部63は、ルーティングテーブル62aが作成または更新されて、対応する第一転送先端末が現れるまで待つ。
続いて、ユーザデータ送受信部63は、送信先端末、すなわち宛先端末に対応する第一転送先端末の電界強度がパラメータデータ62bに記憶された電界強度閾値以下であるか否かを調べる(ステップS903)。
送信先端末の電界強度がパラメータデータ62bに記憶された電界強度閾値以下である場合には(ステップS903,Yes)、ユーザデータ送受信部63は、ルーティングテーブル62aに過去の第一転送先端末の情報があるか否かを調べる(ステップS904)。
ルーティングテーブル62aに過去の第一転送先端末の情報がある場合には(ステップS904,Yes)、ユーザデータ送受信部63は、過去の第一転送先端末のうち、ステップS906における現在の第一転送先端末との比較処理が完了していない過去の第一転送先端末を1つ選択する(ステップS905)。
その後、ユーザデータ送受信部63は、第一転送先端末情報の比較回数に1を加算し(ステップS906)、現在の第一転送先端末と選択した第一転送先端末とが異なるか否かを調べる(ステップS907)。現在の第一転送先端末と過去の第一転送先端末とが異なる場合には(ステップS907,Yes)、ユーザデータ送受信部63は、過去の第一転送先端末を送信先端末として追加する(ステップS908)。
そして、ユーザデータ送受信部63は、ステップS907における第一転送先端末の比較回数が過去の第一転送先端末記憶数に等しいか否かを調べる(ステップS909)。第一転送先端末の比較回数が過去の第一転送先端末記憶数と等しくない場合には(ステップS909,No)、ステップS905に移行して、ユーザデータ送受信部63は、現在の第一転送先端末との比較処理が完了していない過去の第一転送先端末を1つ選択し、それ以降の処理を継続する。
ステップS907において、現在の第一転送先端末と過去の第一転送先端末とが同一である場合には(ステップS907,No)、ステップS909に移行して、それ以後の処理を継続する。
ステップS909において、第一転送先端末の比較回数が過去の第一転送先端末記憶数に等しい場合には(ステップS909,Yes)、図15−2に示すように、ユーザデータ送受信部63は、設定された送信先端末が複数あるか否かを調べる(ステップS910)。
また、図15−1に示したステップS903において、送信先端末の電界強度がパラメータデータ62bに記憶された電界強度閾値以下でない場合には(ステップS903,No)、ステップS910に移行して、ユーザデータ送受信部63は、設定された送信先端末が複数あるか否かを調べる。
また、図15−1に示したステップS904において、ルーティングテーブル62aに過去の第一転送先端末の情報がない場合も同様に(ステップS904,No)、ステップS910に移行して、ユーザデータ送受信部63は、設定された送信先端末が複数あるか否かを調べる。
送信先端末が複数ある場合には(ステップS910,Yes)、ユーザデータ送受信部21は、複数の送信先端末にマルチキャスト送信するユーザデータを作成する(ステップS911)。
具体的には、ユーザデータ送受信部63は、図5に示したようなユーザデータ30において、送信先端末に複数の通信端末を登録する。その後、ユーザデータ送受信部63は、作成したユーザデータを送信し(ステップS912)、このユーザデータ送信処理を終了する。
ステップS910において、送信先端末が複数ない場合には(ステップS910,No)、ユーザデータ送受信部63は、現在の第一転送先端末にユニキャスト送信するユーザデータを作成する(ステップS913)。
具体的には、ユーザデータ送受信部63は、図5に示したようなユーザデータ30において、送信先端末に現在の第一転送先端末を1つだけ登録する。その後、ステップS912に移行して、ユーザデータ送受信部63は、ユーザデータを送信し、このユーザデータ送信処理を終了する。
なお、上記実施例2では、ある通信端末から第一転送先端末がデータを受信した際の電界強度が電界強度閾値以下である場合に、その通信端末による複数の第一転送先端末へのマルチキャスト送信を実行することとしているが、第一転送先端末からある通信端末がデータを受信した際の電界強度が電界強度閾値以下である場合に、その通信端末による複数の第一転送先端末へのマルチキャスト送信を実行することとしてもよい。
また、ある通信端末から第一転送先端末がデータを受信した際の電界強度と第一転送先端末からある通信端末がデータを受信した際の電界強度との平均値を求め、その平均値が電界強度閾値以下である場合に、その通信端末による複数の第一転送先端末へのマルチキャスト送信を実行することとしてもよい。
また、上記実施例2では、電界強度を通信端末間の通信経路の接続安定度を示す情報として用い、複数の第一転送先端末へのマルチキャスト送信を実行するか否かの判定を電界強度に基づいておこなっているが、データの通信速度の大小を接続安定度を示す情報として用い、通信速度が所定の閾値以下である場合に、複数の第一転送先端末へのマルチキャスト送信処理を実行することとしてもよい。
この場合、図12に示した通信端末の接続安定度情報取得部61は、自通信端末が他の通信端末からデータを受信した際の通信速度を測定する。そして、制御情報送信部64は、図14に示した制御情報70において、電界強度の情報の代わりに通信速度の情報を埋め込み、通信速度の情報を含んだ制御情報を他の通信端末に送信することにより他の通信端末に通信速度を通知する。
他の通信端末は、この通信速度の情報を受信して、受信した通信速度の情報をその情報を送信した通信端末の名称と対応付けてルーティングテーブルに登録する。そして、通信端末は、宛先端末にユーザデータを送信する場合に、宛先端末に対応する第一転送先端末の通信速度の情報をルーティングテーブルから取得し、取得した通信速度が所定の閾値よりも小さい場合に、複数の第一転送先端末へのマルチキャスト送信を実行する。
また、接続安定度を示す情報として自通信端末と第一転送先端末との間の距離の情報を用いることとしてもよい。この場合、自通信端末と第一転送先端末との間の距離が所定の距離以上である場合に、複数の第一転送先端末へのマルチキャスト送信処理を実行する。
ここで、自通信端末と第一転送先端末との間の距離は、各通信端末にGPS(Global Positioning System)受信機を備えておくことなどにより算出される。具体的には、各通信端末が自端末の位置情報を制御情報に含めるなどして送信し、その位置情報を受信した通信端末が受信した位置情報と自通信端末の位置情報とから距離を算出する。
また、自通信端末と第一転送先端末との間の距離は、他の通信端末から受信した電波の電界強度から求めることもできる。具体的には、各通信端末は、2つの通信端末間の距離と、ある通信端末から送信された電波が別の通信端末により受信された場合の受信電界強度との間の関係を示す情報をあらかじめ記憶しておく。
そして、他の通信端末から制御情報を受信した場合には、通信端末は、制御情報を受信した際の受信電界強度を測定し、上記関係を用いて距離を求める。このようにして求められた距離の情報は、図14に示した制御情報70において電界強度の情報の代わりに埋め込まれ、距離の情報を含んだ制御情報が他の通信端末に送信されることにより他の通信端末に距離が通知される。
上述してきたように、本実施例2では、通信端末の記憶部62が、データを送信する通信経路の接続安定度に係る情報をルーティングテーブル62aに記憶し、ユーザデータ送受信部63が、記憶部62に記憶された情報に基づいて通信経路の接続安定度が所定の水準よりも低いか否かを判定し、当該接続安定度が所定の水準よりも低い場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこなうこととしたので、通信経路の状態が安定しているか否かを精度よく判定することができる。
また、本実施例2では、上記接続安定度は、無線通信に係る電界強度であることとしたので、電界強度に基づいて通信経路の状態が安定しているか否かを効率よく判定することができる。
また、本実施例2では、上記接続安定度は、データの通信速度であることとしたので、通信速度に基づいて通信経路の状態が安定しているか否かを効率よく判定することができる。
また、本実施例2では、上記接続安定度は、データ通信をおこなう装置間の距離であることとしたので、通信端末間の距離に基づいて通信経路の状態が安定しているか否かを効率よく判定することができる。
ところで、上記実施例1および2では、現在の第一転送先端末とすべての過去の第一転送先端末とが同一ではない場合、すべてのユーザデータについてマルチキャスト送信をおこなうこととしているが、重要度の高いユーザデータにだけマルチキャスト送信をおこなうこととし、重要なデータの通信品質を向上させるとともに、トラフィックを抑制することとしてもよい。そこで、本実施例3では、重要度の高いユーザデータにだけマルチキャスト送信をおこなう場合について説明する。
図16は、実施例3に係るユーザデータ送信処理の処理手順を示すフローチャートである。なお、実施例3に係る通信端末の機能構成は図3に示したものとほぼ同様であり、図3の機能部と異なる点について以下に説明する。
図16に示すように、まず、通信端末のユーザデータ送受信部21は、ルーティングテーブル21a(図2に示したルーティングテーブル10a〜10e)からユーザデータを送信する宛先端末に対応する第一転送先端末があるか否かを調べる(ステップS1001)。
宛先端末に対応する第一転送先端末がある場合には(ステップS1001,Yes)、
ユーザデータ送受信部21は、ルーティングテーブル21aからユーザデータを送信する宛先端末に対応する第一転送先端末を検索し、検索された第一転送先端末を送信先端末として設定する(ステップS1002)。
ステップS1001において、宛先端末に対応する第一転送先端末の情報がない場合には(ステップS1001,No)、ユーザデータ送受信部21は、ルーティングテーブル21aが作成または更新されて、対応する第一転送先端末が現れるまで待つ。
ステップS1002の処理を実行した後、ユーザデータ送受信部21は、ユーザデータの重要度が閾値以上であるか否かを調べる(ステップS1003)。ここで、ユーザデータの重要度は、ユーザにより指定されるものであり、たとえば1から5(値が大きくなるほど重要)までの5段階で表される重要度の情報である。ユーザデータ送受信部21は、ユーザデータを作成する際に、図5に示した各項目にユーザにより指定された重要度の情報をさらに追加する。
ユーザデータの重要度が閾値以上である場合には(ステップS1003,Yes)、ユーザデータ送受信部21は、ステップS1004からステップS1013までの各処理を実行する。ここで、ステップS1004からステップS1013までの各処理は、図9におけるステップS303からステップS312の処理と同様の処理であるので、説明を省略する。
ユーザデータの重要度が閾値以上でない場合には(ステップS1003,No)、ステップS1013に移行して、ユーザデータ送受信部21は、現在の第一転送先端末にユニキャスト送信するユーザデータを作成し(ステップS1013)、作成したユーザデータを送信して(ステップS1012)、このユーザデータ送信処理を終了する。
上述してきたように、本実施例3では、ユーザデータ送受信部21が、ユーザデータの重要度に基づいて複数の通信経路を介したデータ送信の実行制御をおこなうか否かを判定し、複数の通信経路を介したデータ送信の実行制御をおこなうと判定した場合には複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じてデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替え、複数の通信経路を介したデータ送信の実行制御をおこなわないと判定した場合には単一の通信経路を介したデータ通信の実行制御をおこなうこととしたので、重要なユーザデータの通信品質を向上させるとともに、トラフィックを効果的に抑制することができる。
上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記各種処理を実現するプログラムを実行するコンピュータの一例について説明する。図17は、図3または図12に示した通信端末となるコンピュータのハードウェア構成を示す図である。
このコンピュータは、ユーザからのデータの入力を受け付ける入力装置100、表示装置101、各種プログラムを記録した記録媒体からプログラムを読み取る媒体読取装置102、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、HD(Hard Disk)107をバス108で接続して構成される。
そして、HD107には、通信端末の機能と同様の機能を発揮するプログラム、すなわち、通信プログラム107cが記憶されている。なお、通信プログラム107cについては、適宜分散して記憶することとしてもよい。
そして、CPU106が、通信プログラム107cをHD107から読み出して実行することにより、通信プロセス106aがCPU106において実行される。この通信プロセス106aは、図3または図12に示したユーザデータ送受信部22、制御情報送受信部23、ルーティングテーブル作成/更新処理部24、制御部27、接続安定度情報取得部61、ユーザデータ送受信部63、制御情報送受信部64、ルーティングテーブル作成/更新処理部65、制御部68などの各機能部の機能に対応する。
また、HD107には、ルーティングテーブル107aおよびパラメータデータ107bが記憶される。なお、このルーティングテーブル107aは、図3または図12に示したルーティングテーブル21a、ルーティングテーブル62aに対応する。また、パラメータデータ107bは、図3または図12に示したパラメータデータ21b、パラメータデータ62bに対応する。
そして、CPU106は、ルーティングテーブル107aおよびパラメータデータ107bをHD107に記憶させるとともに、ルーティングテーブル107aおよびパラメータデータ107bをHD107から読み出してRAM104に格納し、RAM104に格納されたルーティングテーブル104aおよびパラメータデータ104bに基づいて各種データ処理を実行する。
ところで、通信プログラム107cは、必ずしも最初からHD107に記憶させておく必要はない。たとえば、コンピュータに挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータに接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶しておき、コンピュータがこれらから各プログラムを読み出して実行するようにしてもよい。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(付記1)データの通信経路に係る情報に基づいてデータ通信をおこなう通信端末装置であって、
通信宛先となる装置に対してデータを送信する場合の通信経路に係る情報を記憶する記憶手段と、
前記記憶手段により情報が記憶された通信経路が他の通信経路に切り替えられた場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じて前記データ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替える制御手段と、
を備えたことを特徴とする通信端末装置。
(付記2)データを送信する通信経路の接続安定度に係る情報を記憶する接続安定度記憶手段をさらに備え、前記制御手段は、前記接続安定度記憶手段に記憶された情報に基づいて前記通信経路の接続安定度が所定の水準よりも低いか否かを判定し、当該接続安定度が所定の水準よりも低い場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこなうことを特徴とする付記1に記載の通信端末装置。
(付記3)前記接続安定度は、無線通信に係る電界強度であることを特徴とする付記2に記載の通信端末装置。
(付記4)前記接続安定度は、データの通信速度であることを特徴とする付記2に記載の通信端末装置。
(付記5)前記接続安定度は、データ通信をおこなう装置間の距離であることを特徴とする付記2に記載の通信端末装置。
(付記6)前記記憶手段は、前記通信経路が他の通信経路に切り替えられた場合に切り替え前後の通信経路に係る情報を記憶し、前記制御手段は、前記記憶手段に記憶された情報に基づいて切り替え前後の両方の通信経路を介したデータ送信の実行制御をおこなうことを特徴とする付記1〜5のいずれか1つに記載の通信端末装置。
(付記7)前記通信に係る状況は、現在の通信径路と一定期間内の過去の通信径路とが異なっているか否かであって、前記制御手段は、現在の通信径路と一定期間内の過去の通信径路とが同一となった場合に、前記複数の通信径路を介したデータ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替えることを特徴とする付記1〜6のいずれか1つに記載の通信端末装置。
(付記8)前記制御手段は、データの重要度に基づいて前記複数の通信経路を介したデータ送信の実行制御をおこなうか否かを判定し、前記複数の通信経路を介したデータ送信の実行制御をおこなうと判定した場合には複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じて前記データ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替え、前記複数の通信経路を介したデータ送信の実行制御をおこなわないと判定した場合には単一の通信経路を介したデータ通信の実行制御をおこなうことを特徴とする付記1〜7のいずれか1つに記載の通信端末装置。
(付記9)データの通信経路に係る情報に基づいてデータ通信をおこなう通信プログラムであって、
通信宛先となる装置に対してデータを送信する場合の通信経路に係る情報を記憶する記憶手順と、
前記記憶手順により情報が記憶された通信経路が他の通信経路に切り替えられた場合に、同一の通信宛先となる装置に対する複数の通信経路を介したデータ送信の実行制御をおこない、当該通信に係る状況に応じて前記データ送信の実行制御を単一の通信経路を介したデータ通信の実行制御に切り替える制御手順と、
をコンピュータに実行させることを特徴とする通信プログラム。
以上のように、本発明に係る通信端末装置および通信プログラムは、通信品質を劣化させることなく、余分なトラフィックを抑制することが必要な通信システムに有用である。
本発明に係る通信処理の概念を示す図である。
図1に示した通信システムにおいて実施例1に係る各端末A〜Eが記憶するルーティングテーブル10a〜10eの一例を示す図である。
実施例1に係る通信端末の機能構成を示す図である。
図3に示したパラメータデータ21bの一例を示す図である。
ユーザデータ30のデータ構造の一例を示す図である。
実施例1における制御情報40のデータ構造の一例を示す図である。
実施例1に係る制御情報送信処理の処理手順を示すフローチャートである。
図7に示したルーティングテーブル作成/更新処理の処理手順を示すフローチャートである。
実施例1に係るユーザデータ送信処理の処理手順を示すフローチャートである。
実施例1に係るユーザデータ受信処理の処理手順を示すフローチャートである。
図1に示した通信システムにおいて実施例2に係る各端末A〜Eが記憶するルーティングテーブル50a〜50eの一例を示す図である。
実施例2に係る通信端末の機能構成を示す図である。
図12に示したパラメータデータ62bの一例を示す図である。
実施例2における制御情報70のデータ構造の一例を示す図である。
実施例2に係るユーザデータ送信処理の処理手順を示すフローチャート(1)である。
実施例2に係るユーザデータ送信処理の処理手順を示すフローチャート(2)である。
実施例3に係るユーザデータ送信処理の処理手順を示すフローチャートである。
図3または図12に示した通信端末となるコンピュータのハードウェア構成を示す図である。
符号の説明
10a〜10e,21a,50a〜50e ルーティングテーブル
20,60 無線送受信処理部
21,61 記憶部
21b,62b パラメータデータ
22,63 ユーザデータ送受信部
23,64 制御情報送受信部
24,65 ルーティングテーブル作成/更新処理部
25,66 表示部
26,67 入力部
27,68 制御部
30 ユーザデータ
40,70 制御情報
61 接続安定度情報取得部