まず、本実施の形態に係る通信端末の機能的構成について説明する。図1は、実施例1に係る通信端末の機能的構成を示すブロック図である。この通信端末は、例えば、無線で相互に接続することのできるパーソナルコンピュータ、PDA(Personal Digital Assistants)、携帯電話、無線機などの端末装置である。
図1に示すように、この通信端末は、無線送受信処理部10、送信電力制御部11、電界強度情報取得部12、データ送受信部13、制御情報送受信部14、ルーティングテーブル作成/更新処理部15、記憶部16、表示部17、入力部18および制御部19を有する。
無線送受信処理部10は、複数の通信端末から構成されるアドホックネットワークに自端末を接続させ、他の通信端末との間で通信データや制御情報などを無線で送受信する処理をおこなう。
送信電力制御部11は、他の通信端末から受信した電波の受信強度に基づいて、データを送信する際の送信強度を制御する処理をおこなう。
具体的には、送信電力制御部11は、ある通信端末にデータを送信する際に、その通信端末により送信された制御情報の受信電界強度が、弱ければデータを規定の送信電力値で送信し、強ければデータの送信電力を抑制する処理をおこなう。なお、制御情報は、各通信端末から一定の送信電力で送信されるものである。
電界強度情報取得部12は、他の通信端末から制御情報を含んだ電波を受信した際に、その電波の受信電界強度の情報を取得する処理をおこなう。また、電界強度情報取得部12は、他の通信端末がそれ以外の通信端末から制御情報を受信した際の受信電界強度の情報も取得する。上記他の通信端末の受信電界強度の情報は、自通信端末が受信した制御情報に含まれているものである。この制御情報のデータ構造については、のちに詳しく説明する。
データ送受信部13は、他の通信端末へのデータの送受信を、無線送受信処理部10を介しておこなう送受信部である。制御情報送受信部14は、データの通信経路を確立するための制御情報の送受信を、無線送受信処理部10を介しておこなう送受信部である。
ルーティングテーブル作成/更新処理部15は、記憶部16に記憶されたルーティングテーブル16aを作成し、受信した制御情報および制御情報の受信電界強度の情報を基にして、ルーティングテーブル16aを更新する処理部である。
このルーティングテーブル作成/更新処理部15は、電界強度情報取得部12により取得された電波の受信電界強度に係る情報と、制御情報に含まれる転送回数の情報とを基にして、データを通信する際の適切な通信経路を選択し、選択された通信経路の情報を記憶部16に記憶する処理をおこなう。
記憶部16は、半導体メモリやハードディスク装置などの記憶デバイスであり、データを送信する送信経路に係るルーティング情報が登録されたルーティングテーブル16aを記憶している。このルーティングテーブル16aについては、のちに詳しく説明する。
表示部17は、液晶ディスプレイなどの表示デバイスであり、入力部18は、キーボードやペン型入力装置、音声入力のためのマイクなどの入力デバイスである。制御部19は、この通信端末を全体制御する制御部である。
図2は、各通信端末による無線通信の一例を示す図である。図2に示すように、無線通信機能を有する通信端末(端末A〜端末E)は、アドホックネットワークを構成している。図2において、端末Aと端末Bとは、電波の到達範囲内にあり、無線によるデータの送受信が直接可能である。また、端末Aと端末D、端末Bと端末C、端末Dと端末C、および端末Cと端末Eとが同様にデータの送受信が直接可能な範囲にある。
ここで、端末Aと端末Cとは、電波の到達範囲外にあり、直接データの送受信をおこなうことはできない。しかし、端末Bまたは端末Dがデータの中継をおこなうことにより、端末Aと端末Cとがデータを送受信することができるようになる。端末Aと端末Cとがデータの送受信をおこなう場合には、データの送信経路を決定するためにルーティングテーブル16aが参照される。
また、図2には、端末A〜端末Eが、他の端末から制御情報を受信した際の、電波の受信電界強度が示されている。すなわち、端末Aが、端末Bから受信した制御情報の受信電界強度はhであり、端末Aが、端末Dから受信した制御情報の受信電界強度はbである。
同様に、端末Bが、端末Aから受信した制御情報の受信電界強度はgであり、端末Bが、端末Cから受信した制御情報の受信電界強度はjであり、端末Dが、端末Aから受信した制御情報の受信電界強度はaであり、端末Dが、端末Cから受信した制御情報の受信電界強度はdであり、端末Cが、端末Bから受信した制御情報の受信電界強度はiであり、端末Cが、端末Dから受信した制御情報の受信電界強度はcであり、端末Cが、端末Eから受信した制御情報の受信電界強度はfであり、端末Eが、端末Cから受信した制御情報の受信電界強度はeである。
図3は、各通信端末のルーティングテーブルを示す図である。図3に示すように、ルーティングテーブル30〜34には、宛先端末、転送回数、第1転送先端末、第1転送先端末の電界強度、自端末の電界強度およびデータ送信電力の各情報が記憶されている。
宛先端末は、データの送信宛先となる通信端末を識別する識別情報である。転送回数は、宛先端末までデータが送信される過程で各通信端末によりデータが転送される回数の情報である。ただし、この転送回数は、時間が経過するにつれて実際のデータの転送回数よりも増加する。すなわち、この転送回数は、情報の新しさを示す情報でもある。
第1転送先端末は、通信端末が、宛先端末までデータを送信する際に、始めにデータを送信する通信端末を識別する識別情報である。第1転送先端末の電界強度は、第1転送先端末から制御情報を受信した際の、電波の受信電界強度の情報である。
自端末の電界強度は、第1転送先端末が自通信端末から制御情報を受信した際の、電波の受信電界強度の情報である。データ送信電力は、データを第1転送先端末に送信する際に用いられる電波の送信電力の情報である。データの経路情報の保持の形態は、図3に示したものに限られず、その他のさまざまな形態で保持することとしてもよい。
図3に示すように、端末Aのルーティングテーブル30では、宛先端末が端末Aである場合は、端末Aは自通信端末であるので、転送回数は0であり、第1転送先端末は空欄となる。また、宛先端末が端末Bである場合は、転送回数は1であり、第1転送先端末は端末Bで、宛先端末そのものとなる。
さらに、宛先端末が端末Cである場合は、転送回数は2であり、第1転送先端末は端末Dとなる。ここで、端末Cにデータを送信する場合には、端末Bを経由する経路と、端末Dを経由する経路とがあるが、ここでは、のちに説明する経路選択処理により端末Dを経由する経路が選択された場合を示している。
以下同様に、宛先端末が端末Dである場合は、転送回数は1であり、第1転送先端末は端末Dとなる。また、宛先端末が端末Eである場合は、転送回数は3であり、第1転送先端末は端末Dとなる。他の通信端末のルーティングテーブル31〜34の場合も同様である。
たとえば、端末Aから端末Eにデータを送信する場合には、宛先端末は端末Eとなり、データを送信する端末Aは、自端末のルーティングテーブル30から宛先端末が端末Eである行を検索する。宛先端末が端末Eである行には、第1転送先端末として端末Dが登録されているので、端末Aは、端末Dにデータを送信する。
そのデータを受信した端末Dは、端末Aと同様にして、自通信端末のルーティングテーブル33から宛先端末が端末Eである行を検索する。宛先端末が端末Eである行には、第1転送先端末として端末Cが登録されているので、端末Bは、端末Cにデータを送信する。
データを受信した端末Cは、自通信端末のルーティングテーブル32から宛先端末が端末Eである行を検索する。宛先端末が端末Eである行には、第1転送先端末として端末Eが登録されており、かつ、端末Eは宛先端末であるので、端末Cは、端末Eにデータを送信し、端末Aから端末Eへのデータの送信が完了する。その後、端末Eは、受信完了メッセージを送信元端末に返信する。
このようにして、各通信端末は所望の通信端末にデータを送信することができる。ここで、ルーティングテーブル30〜34は経由した通信端末すべての情報を登録するのではなく、各宛先端末に対する第1転送先端末および転送回数の情報のみを登録するので、記憶デバイスの容量を圧迫することがないという利点がある。
また、ここに示したルーティングテーブル30〜34は、固定的なものではなく、定期的に更新されるものである。たとえば、端末Cの電源が遮断されたり、端末Cが電波が到達する通信可能な範囲から逸脱した場合などは、端末Cを経由してのデータの送信は不可能になる。
そこで、ルーティングテーブル30〜34を更新するための制御情報を各通信端末が所定の時間毎に送信し、ルーティングテーブル30〜34の状態を新しいものに保つことにより、各通信端末の状態の変化に対応できるようにしている。
図4は、制御情報のデータ構造の一例を示す図である。図4に示すように、この制御情報40は、送信元端末および宛先端末の情報を含んでいる。送信元端末は、制御情報40を本端末に送信した通信端末を識別する情報である。この送信元端末は、データを送信する通信端末の第1転送先端末となりうるものである。
また、宛先端末は、データ送信の際に宛先端末となりうる通信端末についての情報を登録したものである。この宛先端末の情報は、端末名、転送回数および電界強度の情報を含んでおり、ルーティングテーブル16aに記憶されている情報に基づいて作成される情報である。
端末名は、データ送信の際に宛先端末となりうる通信端末を識別する端末名であり、ルーティングテーブル16aに記憶されている宛先端末に対応する。転送回数は、ルーティングテーブル16aに記憶されている転送回数に1を加算したものである。電界強度は、制御情報を端末名で示される通信端末から受信した際の、電波の受信電界強度の情報である。
たとえば、この制御情報40を端末Aが受信したとすると、端末Aは、宛先端末が端末Eのとき、転送回数は3であり、第1転送先端末は端末Bであることを認識することができる。
端末Aは、このような制御情報の宛先端末の端末名から自通信端末のルーティングテーブル16a内の宛先端末を検索し、該当する転送回数を取得する。そして、制御情報に含まれる転送回数と、ルーティングテーブル16aの転送回数とを比較して、制御情報に含まれる転送回数がより小さい場合には、ルーティングテーブル16aの第1転送先端末を制御情報の送信元端末に変更し、該当する転送回数および自端末の電界強度も制御情報から取得して変更する。
これにより、ルーティングテーブル16aには、端末Aが、宛先端末までデータを送信する場合に、転送回数がより少ない、効率的なデータの通信経路が記憶されることになる。
図5には、このようにして確立されたデータの通信経路にしたがい、送信される送信データのデータ構造の一例が示されている。図5に示すように、送信データ50には、ID、宛先端末、送信元端末、ホップ数およびデータが含まれている。
IDは、データを識別する識別情報であり、同一通信端末に同じデータが複数回送信された場合に、それを検知してデータを破棄するために用いられるものである。ここでは、IDとして1028という番号が設定されている。ただし、番号に限らず、データを識別できる情報であればIDとして用いることができる。
宛先端末は、データを送信する宛先端末を識別する識別情報である。送信元端末は、データの送信元端末を識別する識別情報である。ホップ数は、各通信端末によりデータが転送されるごとに1ずつ加算されるものである。このホップ数があらかじめ設定された最大ホップ数を越えた場合は、そのデータは破棄される。
図5の例では、送信元端末である端末Aから宛先端末である端末Eにデータが送信され、端末Eによりそのデータが受信された場合の送信データ50のデータ構造を示している。端末Aから端末Eにデータが送信される間に、ホップ数は3まで増加する。
つぎに、通信端末が制御情報を送信する処理の処理手順について説明する。図6は、通信端末が制御情報を送信する処理の処理手順を示すフローチャートである。図6に示すように、まず、通信端末のルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aに記憶された情報、すなわち、宛先端末、転送回数、第1転送先端末、および、第1転送先端末の電界強度の情報を読み出して(ステップS601)、読み出した各転送回数に1を加算する(ステップS602)。
そして、ルーティングテーブル作成/更新処理部15は、転送回数があらかじめ定められた最大転送回数よりも大きくなった宛先端末があるか否かを調べる(ステップS603)。
転送回数が最大転送回数よりも大きくなった宛先端末がない場合には(ステップS603,No)、ルーティングテーブル作成/更新処理部15は、読み出した宛先端末名と、1が加算された転送回数、および送信元端末名に自端末名を設定した情報をルーティングテーブル16aに反映させ(ステップS604)、制御情報送受信部14は、図4に示したような、送信元端末、端末名、転送回数および電界強度の情報を含んだ制御情報を周辺にある通信端末に送信する(ステップS605)。
転送回数が最大転送回数よりも大きい宛先端末があった場合には(ステップS603,Yes)、ルーティングテーブル作成/更新処理部15は、該当する宛先端末の情報、すなわち、宛先端末、転送回数、第1転送先端末、第1転送先端末の電界強度、自端末の電界強度、および、データ送信電力の情報をルーティングテーブル16aから削除するとともに、送信する制御情報からもそれらの情報を削除する(ステップS608)。これにより、通信端末が無線通信可能な範囲から逸脱した場合や、電源が遮断された場合などに、当該通信端末の情報を削除することができる。
削除後は、ステップS604に移行して、ルーティングテーブル作成/更新処理部15は、読み出した宛先端末名と、1が加算された転送回数、および送信元端末名に自端末名を設定した情報をルーティングテーブル16aに反映させるとともに、送信元端末、端末名、転送回数および電界強度の情報を含んだ制御情報を周辺にある通信端末に送信する。
制御情報を送信後、ルーティングテーブル作成/更新処理部15は、自端末の転送回数を「0」に設定し(ステップS606)、次回の制御情報の送信処理を開始するまで、所定の時間待機する(ステップS607)。
つぎに、通信端末がルーティングテーブルを作成/更新する処理の処理手順について説明する。図7は、通信端末がルーティングテーブルを作成/更新する処理の処理手順を示すフローチャートである。
図7に示すように、通信端末の制御情報送受信部14は、他の通信端末から送信された制御情報を受信するのを待ち受ける(ステップS701)。そして、制御情報を受信したか否かを調べ(ステップS702)、受信しなかった場合には(ステップS702,No)、ステップS701に戻って、制御情報の受信を待ち受ける。
制御情報を受信した場合には(ステップS702,Yes)、電界強度情報取得部12は、制御情報を受信した際の電界強度が閾値以上であるか否かを調べ(ステップS703)、閾値以上でない場合には(ステップS703,No)、受信した制御情報を破棄し(ステップS716)、ステップS701に移行して処理を継続する。
閾値以上である場合には(ステップS703,Yes)、ルーティングテーブル作成/更新処理部15は、受信した制御情報から宛先端末の端末名を取得する(ステップS704)。
そして、ルーティングテーブル作成/更新処理部15は、その端末名がルーティングテーブル16aに宛先端末としてすでに登録されているか否かを調べる(ステップS705)。登録されていない場合には(ステップS705,No)、電界強度情報取得部12は、電界強度の精度向上処理を実行し(ステップS713)、送信電力制御部11は、精度向上処理により得られた電界強度の情報を基にして、その制御情報を送信した通信端末へデータを送信する際のデータの送信電力を所定の関係式を用いて算出する(ステップS714)。この電界強度の精度向上処理については、図8において詳しく説明する。
なお、ここでは、電界強度の精度向上処理により得られた電界強度の情報を基にして、データの送信電力を所定の関係式を用いて算出することとしたが、受信した制御情報の電界強度とデータの送信電力との対応表を作成しておき、作成した対応表を参照してデータの送信電力を決定することとしてもよい。
続いて、ルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aに、新規経路情報を登録し(ステップS715)、ステップS701に移行して、それ以降の処理を継続する。
具体的には、ルーティングテーブル作成/更新処理部15は、制御情報に含まれている送信元端末、端末名、転送回数および電界強度の情報を、それぞれルーティングテーブル16aの第1転送先端末、宛先端末、転送回数および自端末の電界強度として記憶する。
さらに、ルーティングテーブル作成/更新処理部15は、受信した制御情報の電界強度の情報およびデータの送信電力の情報を、その制御情報を送信した第1転送先端末に対応付けて、ルーティングテーブル16aの第1転送先端末の電界強度およびデータ送信電力としてそれぞれ記憶する。
ステップS705において、制御情報に含まれている端末名がルーティングテーブル16aに宛先端末としてすでに登録されている場合には(ステップS705,Yes)、ルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aから端末名に対応する宛先端末の転送回数の情報を取得する(ステップS706)。
続いて、ルーティングテーブル作成/更新処理部15は、制御情報に含まれる転送回数が、ルーティングテーブル16aから取得した転送回数よりも大きいか否かを調べ(ステップS706)、大きい場合には(ステップS706,Yes)、ステップS716に移行して、その制御情報を破棄し、それ以降の処理を継続する。
制御情報に含まれる転送回数が、ルーティングテーブル16aから取得した転送回数よりも大きくない場合には(ステップS706,No)、電界強度情報取得部12は、電界強度値の精度向上処理を実行する(ステップS707)。この電界強度の精度向上処理については、図8において詳しく説明する。
その後、ルーティングテーブル作成/更新処理部15は、制御情報に含まれる転送回数とルーティングテーブル16aから取得した転送回数とが同一であるか否かを調べる(ステップS708)。
そして、同一でない場合には(ステップS708,No)、送信電力制御部11は、精度向上処理により得られた電界強度の情報を基にして、その制御情報を送信した通信端末へデータを送信する際のデータの送信電力を所定の関係式を用いて算出する(ステップS711)。
その後、ルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aに記憶されている情報を更新し(ステップS712)、ステップS701に移行して、それ以降の処理を継続する。
具体的には、ルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aに記憶されている各宛先端末の転送回数と、制御情報に含まれる各端末の転送回数とを比較して、ルーティングテーブル16aの転送回数が、制御情報の転送回数よりも大きい宛先端末のルーティングテーブル16aの転送回数を、制御情報の転送回数で更新する処理をおこなう。
また、ルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aに記憶されている上記宛先端末の第1転送先端末、および、自端末の電界強度の情報を、制御情報に含まれる送信元端末、および、自端末に対応する電界強度の情報で更新する処理をおこなう。
さらに、ルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aの第1転送先端末の電界強度の情報を、電界強度情報取得部12により取得された電界強度の情報で、制御情報を送信した第1転送先端末に対応付けて記憶する。
また、ルーティングテーブル作成/更新処理部15は、ルーティングテーブル16aのデータ送信電力の情報を、送信電力制御部11により算出された値を用いることにより、第1転送先端末に対応付けて記憶する。
ステップS708において、制御情報に含まれる転送回数とルーティングテーブル16aから取得した転送回数とが同一である場合には(ステップS708,Yes)、ルーティングテーブル作成/更新処理部15は、電界強度の情報に基づいて経路を選択する処理をおこなう(ステップS709)。この経路選択処理については、図9において詳しく説明する。
その後、ルーティングテーブル作成/更新処理部15は、受信した制御情報を破棄すると経路選択処理により判定されたか否かを調べ(ステップS710)、破棄すると判定された場合には(ステップS710,Yes)、ステップS716に移行して、制御情報を破棄し、それ以降の処理を継続する。破棄すると判定されなかった場合には(ステップS710,No)、ステップS711に移行して、それ以降の処理を継続する。
ここで、図7に示した電界強度値の精度向上処理の詳細な処理手順について説明する。図8は、図7に示した電界強度値の精度向上処理の処理手順を示すフローチャートである。
図8に示すように、まず、電界強度情報取得部12は、他の通信端末から受信した電波の電界強度の情報を取得する(ステップS801)。そして、電界強度情報取得部12は、取得した電界強度の情報を収集した集合体の情報を取得し(ステップS802)、集合体に含まれる電界強度の個数が所定値以上であるか否かを調べる(ステップS803)。この電界強度の集合体は、自通信端末が、他の通信端末より受信した制御情報の受信電界強度を、通信端末ごとに収集したものである。
集合体に含まれる電界強度の個数が所定値以上でない場合には(ステップS803,No)、電界強度情報取得部12は、他端末から受信した電波の電界強度を集合体に追加し、第1転送先端末の電界強度とする処理をおこなう(ステップS805)。
集合体に含まれる電界強度の個数が所定値以上である場合には(ステップS803,Yes)、電界強度情報取得部12は、受信した電波の電界強度が集合体から乖離しているか否かを調べる(ステップS804)。
具体的には、電界強度情報取得部12は、集合体に含まれる電界強度の値と、受信した電波の電界強度の値から、当該通信端末の移動距離を所定の演算により算出し、その移動距離が所定の閾値以上である場合に、受信した電波の電界強度が集合体から乖離していると判定する。ここで、閾値は、通信端末が通常移動可能な距離に設定される。
受信した電波の電界強度が集合体から乖離している場合には(ステップS804,Yes)、電界強度情報取得部12は、受信した電波の電界強度の情報を破棄し(ステップS806)、集合体から最新の電界強度の情報を取得して、取得した電界強度を第1転送先端末の電界強度として設定し(ステップS807)、それ以降の処理を継続する。
受信した電波の電界強度が集合体から乖離していない場合には(ステップS804,No)、電界強度情報取得部12は、他の通信端末から受信した電波の電界強度の情報を、通信端末ごとに集合体に追加して、受信した電波の電界強度を第1転送先端末の電界強度として設定し(ステップS805)、それ以降の処理を継続する。
つぎに、図7に示した経路選択処理の詳細な処理手順について説明する。図9は、図7に示した経路選択処理の処理手順を示すフローチャートである。
図9に示すように、まず、電界強度情報取得部12は、制御情報から自通信端末の電波の電界強度の情報を取得する(ステップS901)。すなわち、制御情報の宛先端末から自通信端末に該当する端末名を検索し、その端末名に対応付けられて記憶されている電界強度の情報を取得する。
続いて、ルーティングテーブル作成/更新処理部15は、他の通信端末から制御情報を受信した際の電波の電界強度と、制御情報から取得した自通信端末の電波の電界強度との和を算出し(ステップS902)、算出された電界強度の和が、ルーティングテーブル16aに記憶されている第1転送先端末の電界強度と、同じくルーティングテーブル16aに記憶されている自通信端末の電界強度との和よりも大きいか否かを調べる(ステップS903)。
算出された電界強度の和が、ルーティングテーブル16aの電界強度の和よりも大きい場合には(ステップS903,Yes)、ルーティングテーブル作成/更新処理部15は、電界強度の和が大きい経路を新たな経路として選択し(ステップS904)、この経路選択処理を終了する。
算出された電界強度の和が、ルーティングテーブル16aの電界強度の和よりも大きくない場合には(ステップS903,No)、ルーティングテーブル作成/更新処理部15は、制御情報を破棄するように判定し(ステップS905)、この経路選択処理を終了する。
つぎに、通信端末がデータを送信する処理の処理手順について説明する。図10は、通信端末がデータを送信する処理の処理手順を示すフローチャートである。図10に示すように、まず、通信端末のデータ送受信部13は、データを送信する宛先端末が指定された後、ルーティングテーブル16aを検索し(ステップS1001)、該当する宛先端末がルーティングテーブル16aに登録されているか否かを調べる(ステップS1002)。
宛先端末が登録されていない場合には(ステップS1002,No)、データ送受信部11は、データ送信失敗通知をデータ送信をおこなったアプリケーションソフトウェアなどに出力し(ステップS1008)、データの送信処理を終了する。
宛先端末が登録されている場合には(ステップS1002,Yes)、データ送受信部13は、データを送信する宛先端末に対応する第1転送先端末にデータを送信する(ステップS1003)。その後、データ送受信部13は、データを転送する通信端末あるいは宛先端末からのメッセージを待ち受け(ステップS1004)、受信完了メッセージを受信したか否かを調べる(ステップS1005)。
受信完了メッセージを受信した場合には(ステップS1005,Yes)、データ送受信部13は、データ送信をおこなったアプリケーションソフトウェアなどに送信成功通知を出力する(ステップS1006)。
受信完了メッセージを受信しなかった場合には(ステップS1005,No)、データ送受信部13は、送信失敗メッセージを受信したか否かを調べる(ステップS1007)。そして、送信失敗メッセージを受信した場合には(ステップS1007,Yes)、ステップS1008に移行して、データ送受信部13は、データ送信失敗通知をデータ送信をおこなったアプリケーションソフトウェアなどに出力して、データの送信処理を終了する。
送信失敗メッセージを受信しなかった場合には(ステップS1007,No)、データ送受信部13は、メッセージ待ち受けがタイムアウトになったか否かを調べる(ステップS1009)。
そして、タイムアウトである場合には(ステップS1009,Yes)、データ送受信部13は、ステップS1008に移行して、データ送信失敗通知をデータ送信をおこなったアプリケーションソフトウェアなどに出力して、データの送信処理を終了する。
タイムアウトになっていない場合には(ステップS1009,No)、データ送受信部13は、ステップS1004に移行して、引き続きメッセージを待ち受ける。
つぎに、通信端末がデータを受信する処理の処理手順について説明する。図11は、通信端末がデータを受信する処理の処理手順を示すフローチャートである。図11に示すように、まず、データ送受信部13は、送信されたデータを受け付け(ステップS1101)、送信されたデータ内に含まれているホップ数が最大ホップ数より大きいか否かを調べる(ステップS1102)。
ホップ数が最大ホップ数より大きい場合には(ステップS1102,Yes)、データ送受信部13は、受け付けたデータを破棄して(ステップS1108)、そのままこの受信処理を終了する。
ホップ数が最大ホップ数より大きくない場合には(ステップS1102,No)、データ送受信部13は、そのデータがすでに受信したデータであるか否かをデータのIDをもとに調べる(ステップS1103)。
データをすでに受信していた場合には(ステップS1103,Yes)、データ送受信部13は、データを破棄し(ステップS1108)、そのままこの受信処理を終了する。データをまだ受信していなかった場合には(ステップS1103,No)、データ送受信部13は、そのデータの宛先が自通信端末であるか否かを調べる(ステップS1104)。
データの宛先が自通信端末である場合には(ステップS1104,Yes)、データ送受信部13は、送信されたデータを取り込み(ステップS1105)、受信完了メッセージを送信元の通信端末に送信し(ステップS1106)、受信処理を終了する。
データの宛先が自通信端末ではない場合には(ステップS1104,No)、データ送受信部13は、データの転送処理をおこない(ステップS1107)、データの受信処理を終了する。このデータの転送処理については、図12において詳しく説明する。
つぎに、図11に示したデータ転送処理の詳細な処理手順について説明する。図12は、図11に示したデータ転送処理の詳細な処理手順を示すフローチャートである。図12に示すように、まず、データ送受信部13は、データを受信した後、ルーティングテーブル16aを検索して(ステップS1201)、データの宛先端末に対応する第1転送先端末がルーティングテーブル16aに登録されているか否かを調べる(ステップS1202)。
宛先端末に対応する第1転送先端末が登録されていない場合には(ステップS1202,No)、データ送受信部13は、ルーティングテーブル16aが更新されるのを待機し(ステップS1205)、データの宛先端末に対応する第1転送先端末がルーティングテーブル16aに登録されているか否かを再度調べる。
ルーティングテーブル16aが更新された場合には(ステップS1205,Yes)、データ送受信部13は、データの送信回数に1を追加し(ステップS1206)、ステップS1201に移行して、データ送受信部11は、再度ルーティングテーブル15aの検索をおこなう。
ステップS1202において、データの宛先端末に対応する第1転送先端末がルーティングテーブル16aに登録されている場合には(ステップS1202,Yes)、データ送受信部13は、データをその第1転送先端末に送信し(ステップS1203)、通信が成功したか否かを調べる(ステップS1204)。
通信が成功した場合には(ステップS1204,Yes)、データの転送処理を終了する。通信が成功しなかった場合には(ステップS1204,No)、データ送受信部13は、送信回数があらかじめ設定された最大送信回数より大きくなったか否かを調べる(ステップS1207)。
送信回数が最大送信回数より大きくない場合には(ステップS1207,No)、ステップS1205に移行して、データ送受信部13は、ルーティングテーブル16aが更新されるのを待機し、それ以降の処理を継続する。
送信回数が最大送信回数よりも大きい場合には(ステップS1207,Yes)、データ送受信部13は、転送失敗メッセージを送信元に送信し(ステップS1208)、データの転送処理を終了する。
つぎに、通信端末が新たにデータの送信ルートを確立する処理の処理手順について説明する。図13は、通信端末が新たにデータの送信経路を確立する処理の処理手順を示すフローチャートである。図13には、端末Aと端末Bとが制御情報をやり取りしてデータの送信経路を確立する場合を示している。
図13に示すように、端末Bの制御情報送受信部14は、定期的に制御情報を送信するため、所定の時間待機した後に(ステップS1301)、制御情報を周辺の通信端末に送信する(ステップS1302)。
そして、端末Aは、端末Bと通信可能な範囲内にいるため、端末Aの制御情報送受信部14は、端末Bが送信した制御情報を受信する(ステップS1303)。続いて、端末Aのルーティングテーブル作成/更新処理部15は、受信した制御情報に基づいて自通信端末のルーティングテーブル16aを更新する(ステップS1304)。この更新処理は、図7に示したものと同様である。
その後、端末Aも定期的に制御情報を送信しているため、端末Aの制御情報送受信部14は、所定の時間待機した後に(ステップS1305)、更新したルーティングテーブル16aに基づいて、制御情報を周辺の通信端末に送信する(ステップS1306)。
そして、端末Bの制御情報送受信部14は、その制御情報を受信し(ステップS1307)、自通信端末のルーティングテーブル16aを更新し(ステップS1308)、データの送信経路を確立する処理を終了する。
上述してきたように、本実施例1では、電界強度情報取得部12が、無線電波の受信電界強度に係る情報を取得し、ルーティングテーブル作成/更新処理部15が、取得された受信電界強度に係る情報に基づいてデータの通信経路を選択し、選択されたデータの通信経路に係る情報をルーティングテーブル16aに記憶することとしたので、データの送信経路が複数存在する場合でも、適切なデータの送信経路を選択することができる。
また、本実施例1では、電界強度情報取得部12が、取得された無線電波の受信電界強度が所定の閾値より小さいか否かを判定し、受信電界強度が所定の閾値より小さいと判定された場合に、ルーティングテーブル作成/更新処理部15が、その受信電界強度に係る情報を除外してデータの通信経路の選択をおこなうこととしたので、受信電界強度が弱い通信端末を除外することにより、安定した無線通信の経路を選択することができる。
また、本実施例1では、送信電力制御部11が、ルーティングテーブル16aに記憶されたデータの通信経路に係る情報に基づいてデータを送信する場合に、電界強度情報取得部12により取得された無線電波の受信電界強度に係る情報に基づいてデータの送信電力を制御することとしたので、他の通信端末の無線電波の受信電界強度が大きい場合に、その通信端末に対するデータの送信電力を弱めることにより、通信の輻輳を軽減するとともに、通信端末の省電力化を図ることができる。
また、本実施例1では、ルーティングテーブル作成/更新処理部15が、データの送信宛先である通信端末までデータを中継する通信端末によりデータが転送される転送回数が小さい通信経路をデータの通信経路として選択し、複数の通信経路間で転送回数が同じ場合には、自通信端末が送信した無線電波を他の通信端末が受信した受信電界強度、および、当該他の通信端末が送信した無線電波を自通信端末が受信した受信電界強度に係る情報に基づいて、データの通信経路を選択することとしたので、安定した無線通信の経路を選択することができる。
また、本実施例1では、ルーティングテーブル作成/更新処理部15が、無線電波の受信電界強度が所定の範囲から外れていると判定された場合に、所定の範囲から外れていると判定された受信電界強度に係る情報を除外してデータの通信経路の選択をおこなうこととしたので、異常な受信電界強度の情報を除外することにより、無線通信の経路を精度良く選択することができる。
また、本実施例1では、上記所定の範囲は、同一の通信端末により複数回送信された無線電波の受信電界強度に基づいて決定される範囲であることとしたので、同一の通信端末により複数回送信された無線電波の受信電界強度との比較から、無線通信の経路を精度良く選択することができる。
(実施例1の変形例)
つぎに、実施例1の変形例について説明する。上記実施例1では、宛先端末までデータを送信する複数の送信経路において転送回数が同じであった場合に、自通信端末が他の通信端末から制御情報を受信した際の電波の電界強度と、他の通信端末が自通信端末から制御情報を受信した際の電波の電界強度との和に基づいて、データを送信する送信経路を選択することとしたが、データを送信する宛先端末までの経路に含まれる全通信端末の制御情報の受信電界強度を考慮して、最適なデータの送信経路を選択することとしてもよい。
この場合、データの送信経路を選択する通信端末は、他の各通信端末から現時点でのデータの送信経路の情報、および、各通信端末が他の通信端末から制御情報を受信した際の受信電界強度の情報を取得する。ここで、データの送信経路の情報および受信電界強度の情報は、各通信端末が情報をやり取りすることにより取得することができる。
たとえば、図2において、端末Aが端末Eにデータを送信する送信経路の情報と、その送信経路に含まれる各通信端末の受信電界強度の情報とを取得する場合を考える。この場合、端末E、端末C、および、端末Bは、自通信端末を識別する情報と、自通信端末が他の通信端末から制御情報を受信した際の受信電界強度e、f、i、j、gの情報とをそれぞれ追加して送信する。
端末Aは、この情報を受信することにより、端末Aが端末Eにデータを送信する送信経路の情報と、その送信経路に含まれる各通信端末の受信電界強度の情報とを取得することができる。同様に、端末Aは、端末D、端末Cを経由して、端末Eにデータを送信する送信経路の情報と、その送信経路に含まれる各通信端末の受信電界強度e、f、c、d、aの情報とを取得することができる。
そして、端末Aは、受信した制御情報により指定されたデータの送信経路の転送回数が、ルーティングテーブルに記憶されているデータの通信経路の転送回数と同じであった場合に、各通信経路において、受信電界強度e、f、i、j、g、hまたはe、f、c、d、a、bが所定の基準値よりも大きい通信端末の数を算出し、その数が大きい方の通信経路を選択し、ルーティングテーブルを更新する処理をおこなう。
ここでは、各通信経路において、通信端末が制御情報を受信した際のすべての受信電界強度e、f、i、j、g、hまたはe、f、c、d、a、bを用いることとしたが、各通信端末が一方の方向から受信した受信電界強度e、i、gまたはe、c、aを用いてもよく、また、他の方向から受信した受信電界強度f、j、hまたはf、d、bを用いることとしてもよい。
つぎに、上述した経路選択処理の処理手順について説明する。図14は、通信端末がデータの送信経路上の各通信端末の受信電界強度の情報に基づいておこなう経路選択処理の処理手順を示すフローチャートである。図14に示す処理は、図9に示した処理の変形例である。
図14に示すように、まず、ルーティングテーブル作成/更新処理部15は、「最適経路の基準値以上の数」を0に初期化する(ステップS1401)。そして、ルーティングテーブル作成/更新処理部15は、選択処理を行うために、最初の経路を選択する(ステップS1402)。
続いて、ルーティングテーブル作成/更新処理部15は、選択した経路に含まれる全通信端末の制御情報の受信電界強度の情報を取得し(ステップS1403)、「基準値以上の数」を0に初期化する(ステップS1404)。
そして、ルーティングテーブル作成/更新処理部15は、ある通信端末の受信電界強度が基準値以上か否かを判定し(ステップS1405)、基準値以上である場合には(ステップS1405,Yes)、「基準値以上の数」に1を加算し(ステップS1406)、選択した経路の全通信端末の受信電界強度の情報を処理したか否かを判定する(ステップS1407)。
ステップS1405において、ある通信端末の受信電界強度が基準値以上でない場合には(ステップS1405,No)、ステップS1407に移行して、それ以降の処理を継続する。
ステップS1407において、全通信端末の受信電界強度の情報を処理していない場合には(ステップS1407,No)、ステップS1405に移行して、ルーティングテーブル作成/更新処理部15は、未処理の通信端末の受信電界強度が基準値以上か否かを判定する処理をおこなう。
全通信端末の受信電界強度の情報の処理が終了した場合には(ステップS1407,Yes)、ルーティングテーブル作成/更新処理部15は、「基準値以上の数」が、記憶された「最適経路の基準値以上の数」よりも多いか否かを判定する(ステップS1408)。
「基準値以上の数」が、記憶された「最適経路の基準値以上の数」よりも多い場合には(ステップS1408,Yes)、ルーティングテーブル作成/更新処理部15は、ステップS1402で選択した経路を最適経路とし、経路情報を記憶するとともに、「基準値以上の数」を「最適経路の基準値以上の数」として記憶する(ステップS1409)。
そして、ルーティングテーブル作成/更新処理部15は、全経路を処理したか否かを判定し(ステップS1410)、全経路を処理していない場合には(ステップS1410,No)、転送回数が同一である次の経路を選択し(ステップS1411)、ステップS1403に移行して、それ以降の処理を継続する。
全経路を処理した場合には(ステップS1410,Yes)、この経路選択処理を終了する。ステップS1408において、「基準値以上の数」が、記憶された「最適経路の基準値以上の数」よりも多くない場合には(ステップS1408,No)、ステップS1410に移行して、ルーティングテーブル作成/更新処理部15は、全経路を処理したか否かを判定する処理をおこなう。
また、上記変形例では、データの通信経路の転送回数が同じ場合に、各通信経路において、受信電界強度が所定の値よりも大きい通信端末の数を算出し、その数が大きい方の通信経路を選択することとしているが、各通信端末の受信電界強度に重み付けをおこない、通信経路ごとに重み付けした受信電界強度を加算して、その結果得られた加算値が大きい方の通信経路を選択することとしてもよい。
具体的には、取得した各通信端末の受信電界強度と所定の基準値とを比較して、所定の基準値よりも大きい受信電界強度の値はすべて一定値に変換し、所定の基準値よりも小さい受信電界強度の値は受信電界強度が小さいほど小さい重みを付与して重み付けがなされた受信電界強度を算出する。そして、通信経路ごとにそれらの値を加算して、得られた加算値が大きい方の通信経路を選択する。
つぎに、上述した経路選択処理の処理手順について説明する。図15は、通信端末が重み付けがなされた受信電界強度の情報に基づいておこなう経路選択処理の処理手順を示すフローチャートである。図15に示す処理は、図9および図14に示した処理の変形例である。
図15に示すように、まず、ルーティングテーブル作成/更新処理部15は、選択処理を行うために、最適経路の電界強度合計値を0に初期化する(ステップS1501)。そして、ルーティングテーブル作成/更新処理部15は、選択処理を行うために、最初の経路を選択する(ステップS1502)。
その後、ルーティングテーブル作成/更新処理部15は、選択した経路に含まれる全通信端末の制御情報の受信電界強度の情報を取得し(ステップS1503)、電界強度合計値を0に初期化する(ステップS1504)。
続いて、ルーティングテーブル作成/更新処理部15は、図16に一例を示すような、補正した電界強度値と受信電界強度値との間の重み付け関係、または、所定の算出式にしたがい、補正した電界強度値を算出し(ステップS1505)、補正した電界強度値を電界強度合計値に加算する(ステップS1506)。
そして、ルーティングテーブル作成/更新処理部15は、選択した経路の全通信端末の受信電界強度の情報を処理したか否かを判定する(ステップS1507)。全通信端末の受信電界強度の情報の処理を終了していない場合には(ステップS1507,No)、ステップS1505に移行して、ルーティングテーブル作成/更新処理部15は、未処理の通信端末の電界強度値に対する補正した電界強度値を算出し、それ以降の処理を継続する。
ステップS1507において、全通信端末の受信電界強度の情報の処理が終了した場合には(ステップS1507,Yes)、ルーティングテーブル作成/更新処理部15は、電界強度合計値が、記憶されている最適経路の電界強度合計値よりも大きいか否かを判定する(ステップS1508)。
電界強度合計値が、記憶されている最適経路の電界強度合計値よりも大きい場合には(ステップS1508,Yes)、ルーティングテーブル作成/更新処理部15は、ステップS1502で選択した経路を最適経路とし、経路情報と電界強度合計値を記憶する処理をおこなう(ステップS1509)。
そして、ルーティングテーブル作成/更新処理部15は、全経路を処理したか否かを判定し(ステップS1510)、全経路を処理していない場合には(ステップS1510,No)、転送回数が同一である次の経路を選択し(ステップS1511)、ステップS1503に移行して、それ以降の処理を継続する。
全経路を処理した場合には(ステップS1510,Yes)、この経路選択処理を終了する。ステップS1508において、電界強度合計値が、記憶されている最適経路の電界強度合計値よりも大きくない場合には(ステップS1508,No)、ステップS1510に移行して、ルーティングテーブル作成/更新処理部15は、全経路を処理したか否かを判定する処理をおこなう。
また、上記実施例1および実施例1の変形例では、通信経路の選択に用いる受信電界強度として、ある通信端末が他の通信端末から受信した制御情報の電波の電界強度の値を用いることとしたが、第1の通信端末から第2の通信端末に制御情報を送信した場合の第1の通信端末の電界強度と、第2の通信端末から第1の通信端末に制御情報を送信した場合の第2の通信端末の電界強度との平均値を通信経路の選択に用いる受信電界強度として用いることにより、電界強度の情報の精度を向上させることとしてもよい。
そこで、つぎに、上述した電界強度の精度向上処理の処理手順について説明する。図17は、電界強度の平均値を用いて電界強度の精度を向上させる精度向上処理の処理手順を示すフローチャートである。
図17に示す処理は、図8に示した処理の変形例であり、実施例1で説明したような、自通信端末が送信した無線電波を他の通信端末が受信した受信電界強度、および、当該他の通信端末が送信した無線電波を自通信端末が受信した受信電界強度に係る情報に基づいて、データの通信経路を選択する場合の例である。
ただし、この変形例は実施例1の場合に限定されるものではなく、上記変形例で述べたように、データを送信する宛先端末までの経路に含まれる全通信端末の制御情報の受信電界強度を考慮する場合や、重み付けがなされた電界強度の情報をさらに考慮する場合にも適用することができる。
すなわち、データを送信する宛先端末までの経路上の2つの通信端末において、第1の通信端末により送信された無線電波を第2の通信端末が受信した受信電界強度、および、第2の通信端末により送信された無線電波を第1の通信端末が受信した受信電界強度の平均値を算出し、電界強度の精度を向上させることとしてもよい。
図17に示すように、まず、電界強度情報取得部12は、他端末から受信した電波の電界強度と、制御情報から取得した自端末の電波の電界強度の平均値を算出する(ステップS1701)。そして、電界強度情報取得部12は、算出された電界強度の平均値を、第1転送先端末の電界強度値とし(ステップS1702)、この精度向上処理を終了する。
また、図17の処理手順にしたがって算出した平均値は、電界強度の精度向上のためだけでなく、図9に示したような、経路選択処理にも用いることができる。すなわち、図9では、他端末から受信した電波の電界強度と、自端末の電波の電界強度との和を算出し(ステップS902)、その和がルーティングテーブル16aに記憶された和よりも大きい場合に(ステップS902,Yes)、電界強度の和が大きい経路を選択することとした(ステップS904)。
一方、平均値を用いる場合には、電界強度の和の代わりに、他端末から受信した電波の電界強度と、自端末の電波の電界強度との平均値を算出し、その平均値がルーティングテーブル16aに記憶された平均値よりも大きい場合に、平均値が大きい経路を最適な経路として選択するようにすればよい。
また、電界強度の精度向上をおこなう別の方法として、各通信端末の位置情報を利用することもできる。この各通信端末の位置情報を利用する場合については、実施例2において詳しく説明する。
このように、本変形例では、ルーティングテーブル作成/更新処理部15が、データの送信宛先である通信端末までデータを中継する通信端末によりデータが転送される転送回数が小さい通信経路をデータの通信経路として選択し、複数の通信経路間で転送回数が同じ場合には、それぞれの通信経路を構成する各通信端末が他の通信端末から無線電波を受信した受信電界強度に係る情報に基づいて、データの通信経路を選択することとしたので、通信経路全体にわたって安定した無線通信が可能な経路を選択することができる。
また、本変形例では、電界強度情報取得部12が、第1の通信端末により送信された無線電波を第2の通信端末が受信した受信電界強度、および、第2の通信端末により送信された無線電波を第1の通信端末が受信した受信電界強度の平均値を算出し、ルーティングテーブル作成/更新処理部15が、算出された受信電界強度の平均値に基づいてデータの通信経路を選択することとしたので、安定した無線通信の経路を精度良く選択することができる。
ところで、上記実施例1では、制御情報の受信電界強度が、受信電界強度を所定数以上収集した集合体から乖離していると判定された場合に、その受信電界強度をデータの送信経路の選択に利用しないこととしたが、通信端末の位置情報から制御情報の受信電界強度を予測し、実際に測定した受信電界強度が予測値から乖離している場合に、その受信電界強度をデータの送信経路の選択に利用しないこととしてもよい。
そこで、本実施例2では、制御情報の受信電界強度を予測値に基づいて、実際に測定した受信電界強度の精度を判定し、精度の高い受信電界強度のデータのみを利用してデータの送信経路の選択をおこなう受信電界強度値の精度向上処理について説明する。
まず、本実施例2に係る通信端末の機能的構成について説明する。図18は、実施例2に係る通信端末の機能的構成を示すブロック図である。なお、図1に示した通信端末と同様の機能を有する機能部については、詳細な説明を省略する。
この通信端末は、無線送受信処理部20、送信電力制御部21、電界強度情報取得部22、データ送受信部23、制御情報送受信部24、ルーティングテーブル作成/更新処理部25、記憶部26、表示部27、入力部28、位置情報取得部29および制御部30を有する。
無線送受信処理部20は、複数の通信端末から構成されるアドホックネットワークに自端末を接続させ、通信データや制御情報などのデータを他の通信端末との間で無線で送受信する処理をおこなう処理部である。
送信電力制御部21は、他の通信端末から受信した電波の受信強度に基づいて、データを送信する際の送信電力を制御する処理をおこなう。
電界強度情報取得部22は、他の通信端末から制御情報を含んだ電波を受信した際に、その電波の受信強度の情報を取得する処理をおこなう。また、電界強度情報取得部22は、他の通信端末がそれ以外の通信端末から制御情報を受信した際の受信電界強度の情報を取得する。
データ送受信部23は、他の通信端末へのデータの送受信を、無線送受信処理部20を介しておこなう送受信部である。制御情報送受信部24は、データの送信ルートを確立するための制御情報の送受信を、無線送受信処理部20を介しておこなう送受信部である。なお、制御情報は、各通信端末から一定の送信電力で送信される。
ルーティングテーブル作成/更新処理部25は、記憶部26に記憶されたルーティングテーブル26aを作成し、受信した制御情報および制御情報の受信電界強度の情報、さらに、通信端末の位置情報を基にして、ルーティングテーブル26aを更新する処理部である。
このルーティングテーブル作成/更新処理部25は、制御情報に含まれる転送回数の情報、電界強度情報取得部22により取得された電波の受信電界強度に係る情報、および、位置情報取得部28により取得された各通信端末の位置情報を基にして、データを通信する際の適切な通信経路を選択し、選択された通信経路の情報を記憶部26に記憶する処理をおこなう。
記憶部26は、半導体メモリやハードディスク装置などの記憶デバイスであり、データを送信する送信経路に係るルーティング情報が登録されたルーティングテーブル26aを記憶する。このルーティングテーブル26aは、図3に示したものと同様のものである。表示部27は、液晶ディスプレイなどの表示デバイスであり、入力部28は、キーボードやペン型入力装置などの入力デバイスである。
位置情報取得部29は、GPS(Global Positioning System)などを利用した自通信端末の位置の情報を取得する取得部である。また、この位置情報取得部29は、制御情報に含まれる他の通信装置の位置情報を取得する処理をおこなう。ここで、本実施例2で用いられる制御情報は、図4に示したような制御情報に、さらに送信元端末の位置情報を含んだものである。制御部30は、この通信端末を全体制御する制御部である。
つぎに、本実施例2に係る電界強度値の精度向上処理の詳細な処理手順について説明する。図19は、実施例2に係る電界強度値の精度向上処理の処理手順を示すフローチャートである。図19に示す電界強度値の精度向上処理は、図8に示した電界強度値の精度向上処理に該当するものである。
図19に示すように、まず、通信端末の電界強度情報取得部22は、他の通信端末から受信した電波の電界強度の情報を取得する(ステップS1901)。そして、位置情報取得部29は、自通信端末の位置情報を取得するとともに、他の通信端末の位置情報を制御情報から取得する(ステップS1902)。
そして、電界強度情報取得部22は、自通信端末と他の通信端末との間の距離から、自通信端末が他の通信端末から受信する制御情報の電界強度の予測値と、その予測値の誤差範囲とを、所定の算出式を用いて算出する(ステップS1903)。
続いて、電界強度情報取得部22は、他の通信端末から受信した制御情報の電波の電界強度が、所定の算出式により算出された予測範囲内であるか否かを調べる(ステップS1904)。
そして、予測範囲内でない場合には(ステップS1904,No)、電界強度情報取得部22は、他の通信端末から受信した電波の電界強度の情報を破棄し(ステップS1906)、後の経路選択に用いるために、前回記憶した電波の電界強度の情報を取得して、取得した電界強度を第1転送先端末の電界強度として設定し(ステップS1907)、図9に示したような、それ以降の処理を継続する。
なお、ここでは、前回記憶した電波の電界強度の情報を経路選択に用いるために取得することとしたが、所定の算出式により算出された予測電界強度の値を後の経路選択に用いることとしてもよい。
受信した制御情報の電波の電界強度が予測範囲内である場合には(ステップS1904,Yes)、電界強度情報取得部22は、他の通信端末から受信した電波の電界強度の情報を記憶して、受信した電波の電界強度を第1転送先端末の電界強度として設定し(ステップS1905)、図9に示したような、それ以降の処理を継続する。
上述してきたように、本実施例2では、位置情報取得部29が、自通信端末および他の通信端末装置の位置情報を取得し、電界強度情報取得部22が、取得された位置情報に基づいて、他の通信端末から受信する無線電波の受信電界強度の予測範囲を算出し、算出された予測範囲から無線電波の受信電界強度が外れていると判定された場合に、ルーティングテーブル作成/更新処理部25が、予測範囲から外れていると判定された受信電界強度に係る情報を除外して、データの通信経路の選択をおこなうこととしたので、異常な受信電界強度の情報を除外することにより、無線通信の経路を精度良く選択することができる。
以上本発明にかかる実施例について図面を参照して詳述してきたが、具体的な構成例はこれらの実施例に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、通信端末の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行することにより各機能を実現してもよい。
図20は、通信端末の各機能を実現するコンピュータ100のハードウェア構成を示すブロック図である。図20に示すように、このコンピュータ100は、上記プログラムを実行するCPU110と、キーボードやペン型入力装置などの入力装置120と、各種データを記憶するROM130と、演算パラメータ等を記憶するRAM140と、通信端末の機能を実現するためのプログラムを記録した記録媒体200からプログラムを読み取る読取装置150と、液晶ディスプレイ等の出力装置160と、ネットワーク300を介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース170とが、バス180で接続された構成となっている。
CPU110は、読取装置150を経由して記録媒体200に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体200としては、光ディスク、半導体ディスク、磁気ディスク等が挙げられる。また、このプログラムは、ネットワーク300を介してコンピュータ100に導入することとしてもよい。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記データ中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、上記装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(付記1)データの通信経路に係る情報に基づいて無線通信をおこなう通信端末であって、
無線電波の受信強度に係る情報を取得する取得手段と、
前記取得手段により取得された受信強度に係る情報に基づいてデータの通信経路を選択する選択手段と、
前記選択手段により選択された前記データの通信経路に係る情報を記憶する記憶手段と、
を備えたことを特徴とする通信端末。
(付記2)前記選択手段は、前記取得手段により取得された無線電波の受信強度が所定の閾値より小さいか否かを判定し、該無線電波の受信強度が所定の閾値より小さいと判定された場合に、該無線電波の受信強度に係る情報を除外してデータの通信経路の選択をおこなうことを特徴とする付記1に記載の通信端末。
(付記3)前記記憶手段により記憶された前記データの通信経路に係る情報に基づいてデータを送信する場合に、前記取得手段により取得された無線電波の受信強度に係る情報に基づいてデータの送信強度を制御する制御手段をさらに備えたことを特徴とする付記1または2に記載の通信端末。
(付記4)前記選択手段は、データの送信宛先である通信端末までデータを中継する通信端末によりデータが転送される転送回数が小さい通信経路をデータの通信経路として選択し、複数の通信経路間で前記転送回数が同じ場合には、自通信端末が送信した無線電波を他の通信端末が受信した受信強度、および、該他の通信端末が送信した無線電波を自通信端末が受信した受信強度に係る情報に基づいて、データの通信経路を選択することを特徴とする付記1、2または3に記載の通信端末。
(付記5)前記選択手段は、データの送信宛先である通信端末までデータを中継する通信端末によりデータが転送される転送回数が小さい通信経路をデータの通信経路として選択し、複数の通信経路間で前記転送回数が同じ場合には、それぞれの通信経路を構成する各通信端末が他の通信端末から無線電波を受信した受信強度に係る情報に基づいて、データの通信経路を選択することを特徴とする付記1、2または3に記載の通信端末。
(付記6)前記選択手段は、第1の通信端末により送信された無線電波を第2の通信端末が受信した受信強度、および、第2の通信端末により送信された無線電波を第1の通信端末が受信した受信強度の平均値を算出し、算出された受信強度の平均値に基づいてデータの通信経路を選択することを特徴とする付記1〜5のいずれか1つに記載の通信端末。
(付記7)前記選択手段は、前記無線電波の受信強度が所定の範囲から外れていると判定された場合に、前記所定の範囲から外れていると判定された受信強度に係る情報を除外してデータの通信経路の選択をおこなうことを特徴とする付記1〜6のいずれか1つに記載の通信端末。
(付記8)前記所定の範囲は、同一の通信端末により複数回送信された無線電波の受信強度に基づいて決定される範囲であることを特徴とする付記7に記載の通信端末。
(付記9)前記自通信端末および他の通信端末装置の位置情報を取得する位置情報取得手段をさらに備え、前記所定の範囲は、前記位置情報取得手段により取得された位置情報に基づいて予測された他の通信端末からの無線電波の受信強度の予測範囲であることを特徴とする付記7に記載の通信端末。
(付記10)データの通信経路に係る情報に基づいて無線通信をおこなう通信プログラムであって、
無線電波の受信強度に係る情報を取得する取得手順と、
前記取得手順により取得された受信強度に係る情報に基づいてデータの通信経路を選択する選択手順と、
前記選択手順により選択された前記データの通信経路に係る情報を記憶する記憶手順と、
をコンピュータに実行させることを特徴とする通信プログラム。
(付記11)データの通信経路に係る情報に基づいて無線通信をおこなう通信プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
無線電波の受信強度に係る情報を取得する取得手順と、
前記取得手順により取得された受信強度に係る情報に基づいてデータの通信経路を選択する選択手順と、
前記選択手順により選択された前記データの通信経路に係る情報を記憶する記憶手順と、
をコンピュータに実行させる通信プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。