(57)【特許請求の範囲】
【請求項１】
相互にリンクを確立している場合に所定の通信方式を用いて直接通信可能な情報端末装置において、
データを記憶する第１の記憶部と、
自己とリンクを確立していない第１の情報端末装置を検出する第１の通信部と、
処理装置を用いて、前記第１の通信部により検出された第１の情報端末装置とリンクを確立するためのリンク確立時間を導出するリンク確立時間導出部と、
前記処理装置を用いて、自己とリンクを確立している第２の情報端末装置を経由して前記第１の記憶部に記憶されたデータを前記第１の情報端末装置へ転送するためのデータ転送時間を導出するデータ転送時間導出部と、
前記処理装置を用いて、前記リンク確立時間導出部により導出されたリンク確立時間と前記データ転送時間導出部により導出されたデータ転送時間とを比較し、当該比較結果に基づき、前記第１の情報端末装置とのリンクに該当する第１の経路と前記第２の情報端末装置を経由する第２の経路とのいずれかを選択するデータ通信判定部と、
前記データ通信判定部により前記第１の経路が選択された場合には、前記第１の情報端末装置とリンクを確立し、当該リンクを介して前記データを前記第１の情報端末装置へ転送し、前記データ通信判定部により前記第２の経路が選択された場合には、前記第２の経路を介して前記データを前記第１の情報端末装置へ転送する第２の通信部とを備え、
前記所定の通信方式は、１つのネットワークが複数のデバイスで構成され、当該複数のデバイスのいずれか１つがマスタとなり、残りがスレーブとなってそれぞれマスタとの間にリンクを確立し、同じネットワーク内のスレーブ同士の通信がマスタを通じて行われる通信方式であり、
前記リンク確立時間導出部は、自己が前記第２の情報端末装置をマスタとするネットワーク内のスレーブである場合、前記第２の情報端末装置をマスタとするネットワークを存続させたまま、自己をマスタとし、前記第１の情報端末装置をスレーブとする新たなネットワークを構築するための時間を計算し、当該時間を前記リンク確立時間に加算し、
前記第２の通信部は、自己が前記第２の情報端末装置をマスタとするネットワーク内のスレーブである場合において、前記データ通信判定部により前記第１の経路が選択された場合には、前記第２の情報端末装置をマスタとするネットワークを存続させたまま、前記新たなネットワークを構築することで前記第１の情報端末装置とリンクを確立することを特徴とする情報端末装置。
【請求項２】
前記情報端末装置は、さらに、
自己とリンクを確立するための認証情報を含むとともに他の情報端末装置と通信を行うための属性情報を含むテーブル情報を記憶する第２の記憶部と、
前記第２の記憶部に記憶されたテーブル情報に、前記第１の通信部により検出された第１の情報端末装置と通信を行うための属性情報が含まれていない場合には、前記所定の通信方式以外の通信方式を用いて前記第１の情報端末装置からテーブル情報を取得するテーブル情報取得部とを備え、
前記第２の通信部は、前記テーブル情報取得部により取得されたテーブル情報に含まれる認証情報を用いて、前記第１の情報端末装置とリンクを確立し、
前記情報端末装置は、さらに、
前記テーブル情報取得部により取得されたテーブル情報に含まれる属性情報を用いて、前記第２の記憶部に記憶されたテーブル情報に、前記第１の情報端末装置と通信を行うための属性情報を追加し、当該追加内容を示す更新情報を前記第２の情報端末装置に通知するテーブル情報更新部を備えることを特徴とする請求項１に記載の情報端末装置。
【請求項３】
前記情報端末装置は、さらに、
前記第２の記憶部に記憶されたテーブル情報から、属性情報を削除するテーブル情報破棄部を備え、
前記テーブル情報更新部は、前記テーブル情報破棄部により属性情報が削除された場合に、当該削除内容を示す更新情報を前記第２の情報端末装置に通知することを特徴とする請求項２に記載の情報端末装置。
【請求項４】
前記テーブル情報更新部は、他の情報端末装置から更新情報を取得し、当該更新情報を用いて、前記第２の記憶部に記憶されたテーブル情報を更新することを特徴とする請求項２に記載の情報端末装置。
【請求項５】
前記テーブル情報取得部は、前記所定の通信方式より近距離向けの通信方式を用いて前記第１の情報端末装置からテーブル情報を取得することを特徴とする請求項２に記載の情
報端末装置。
【請求項６】
前記データ転送時間導出部は、前記所定の通信方式における最大転送速度と前記データのサイズとに基づき、前記第２の記憶部に記憶されたテーブル情報に含まれる属性情報を用いて、前記データ転送時間を導出することを特徴とする請求項２に記載の情報端末装置。
【請求項７】
前記データ転送時間導出部は、過去に前記第２の通信部によりデータが転送された際のデータ転送速度を前記第２の記憶部に記憶し、前記第２の記憶部に記憶されたデータ転送速度と前記データのサイズとに基づき、前記データ転送時間を導出することを特徴とする請求項２に記載の情報端末装置。
【請求項８】
前記第２の通信部は、前記第２の経路を介して調査用のデータを前記第１の情報端末装置へ送信し、前記調査用のデータに対する応答を前記第１の情報端末装置から受信し、前記調査用のデータを送信してから当該応答を受信するまでの応答時間を前記第２の記憶部に記憶し、
前記データ転送時間導出部は、前記第２の通信部により記憶された応答時間と前記第１の記憶部に記憶されたデータのサイズとに基づき、前記データ転送時間を導出することを特徴とする請求項２に記載の情報端末装置。
【請求項９】
前記リンク確立時間導出部は、前記所定の通信方式における最大転送速度と前記データのサイズとに基づき、前記第１の情報端末装置とのリンクを介して前記データを前記第１の情報端末装置へ転送する時間を計算し、当該時間を前記リンク確立時間に加算することを特徴とする請求項１に記載の情報端末装置。
【請求項１０】
前記第２の通信部は、Ｂｌｕｅｔｏｏｔｈ（登録商標）を用いて前記データを転送し、
前記リンク確立時間導出部は、前記新たなネットワークを構築するための時間として、自己をマスタとし、前記第１の情報端末装置をスレーブとする新たなピコネットを構築するための時間を計算し、当該時間を前記リンク確立時間に加算することを特徴とする請求項１に記載の情報端末装置。
【請求項１１】
相互にリンクを確立している場合に所定の通信方式を用いて直接通信可能な情報端末装置を用いるデータ通信方法において、
データを記憶装置に記憶する第１の記憶ステップと、
自己とリンクを確立していない第１の情報端末装置を検出する第１の通信ステップと、
処理装置を用いて、前記第１の通信ステップにより検出された第１の情報端末装置とリンクを確立するためのリンク確立時間を導出するリンク確立時間導出ステップと、
前記処理装置を用いて、自己とリンクを確立している第２の情報端末装置を経由して前記第１の記憶ステップにより記憶されたデータを前記第１の情報端末装置へ転送するためのデータ転送時間を導出するデータ転送時間導出ステップと、
前記処理装置を用いて、前記リンク確立時間導出ステップにより導出されたリンク確立時間と前記データ転送時間導出ステップにより導出されたデータ転送時間とを比較し、当該比較結果に基づき、前記第１の情報端末装置とのリンクに該当する第１の経路と前記第２の情報端末装置を経由する第２の経路とのいずれかを選択するデータ通信判定ステップ
と、
前記データ通信判定ステップにより前記第１の経路が選択された場合には、前記第１の情報端末装置とリンクを確立し、当該リンクを介して前記データを前記第１の情報端末装置へ転送し、前記データ通信判定ステップにより前記第２の経路が選択された場合には、前記第２の経路を介して前記データを前記第１の情報端末装置へ転送する第２の通信ステップとを備え、
前記所定の通信方式は、１つのネットワークが複数のデバイスで構成され、当該複数のデバイスのいずれか１つがマスタとなり、残りがスレーブとなってそれぞれマスタとの間にリンクを確立し、同じネットワーク内のスレーブ同士の通信がマスタを通じて行われる通信方式であり、
前記リンク確立時間導出ステップは、自己が前記第２の情報端末装置をマスタとするネットワーク内のスレーブである場合、前記第２の情報端末装置をマスタとするネットワークを存続させたまま、自己をマスタとし、前記第１の情報端末装置をスレーブとする新たなネットワークを構築するための時間を計算し、当該時間を前記リンク確立時間に加算し、
前記第２の通信ステップは、自己が前記第２の情報端末装置をマスタとするネットワーク内のスレーブである場合において、前記データ通信判定ステップにより前記第１の経路が選択された場合には、前記第２の情報端末装置をマスタとするネットワークを存続させたまま、前記新たなネットワークを構築することで前記第１の情報端末装置とリンクを確立することを特徴とするデータ通信方法。
【請求項１２】
前記データ通信方法は、さらに、
自己とリンクを確立するための認証情報を含むとともに他の情報端末装置と通信を行うための属性情報を含むテーブル情報を前記記憶装置に記憶する第２の記憶ステップと、
前記第２の記憶ステップにより記憶されたテーブル情報に、前記第１の通信ステップにより検出された第１の情報端末装置と通信を行うための属性情報が含まれていない場合には、前記第１の情報端末装置からテーブル情報を取得するテーブル情報取得ステップとを備え、
前記第２の通信ステップは、前記テーブル情報取得ステップにより取得されたテーブル情報に含まれる認証情報を用いて、前記第１の情報端末装置とリンクを確立し、
前記データ通信方法は、さらに、
前記テーブル情報取得ステップにより取得されたテーブル情報に含まれる属性情報を用いて、前記第２の記憶ステップにより記憶されたテーブル情報に、前記第１の情報端末装置と通信を行うための属性情報を追加し、当該追加内容を示す更新情報を前記第２の情報端末装置に通知するテーブル情報更新ステップを備えることを特徴とする請求項１１に記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報端末装置およびデータ通信方法に関するものである。また、本発明は、複数の情報端末装置で構成されるアドホックネットワークにおける効率のよいデータ通信選択システム（方式）に関するものである。本発明は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）（以下、「ＢＴ」という）を搭載する情報端末装置同士がデータ転送する際に効率のよい経路を選択するデータ通信技術に関するものである。
【背景技術】
【０００２】
ＢＴアーキテクチャでは、半径約１０ｍ範囲のピコネットと呼ばれる領域において、１つの情報端末装置（「情報端末」、「端末」、「デバイス」、「機器」などともいう）が最大７つのデバイスと通信できる。ピコネット内のデバイスでは、どれか１つのデバイスがマスタ（Ｍａｓｔｅｒ）端末（単に「マスタ」ともいう）になり、残りはスレーブ（Ｓｌａｖｅ）端末（単に「スレーブ」ともいう）となる。ピコネット上のすべてのメンバは、マスタと同じ周波数ホッピングシーケンスおよびタイミングを追従する。ピコネット内のスレーブはマスタとの間にのみリンクを保持し、同じピコネット内のスレーブ同士の通信はマスタを通じて行われる。
【０００３】
ＢＴにおいて、端末が初めてのリンク確立を行う際には、近接している端末の検出処理（Ｉｎｑｕｉｒｙプロシージャ）と端末の呼び出し処理（Ｐａｇｉｎｇプロシージャ）によってリンクが確立される。この検出処理と呼び出し処理には、多くの時間が費やされるが、この時間を短縮するために、ＢＴ通信とは異なる通信路（非接触ＩＣ、微弱電磁波）でリンク確立を行い、実際のデータ通信をＢＴ通信で行うという方法がある（例えば、特許文献１参照）。また、ＢＴでのアドホックネットワークにおいて効率のよいルーティングを行うために、リアクティブプロトコルでソースノードと宛先ノード間の最適ルートを選択可能にし、所定事象の生起を判断して更新メッセージを送受信することにより、ルート情報を更新する方法がある（例えば、特許文献２参照）。その他にも、ルーティング情報を記憶し、通信速度、通信品質を導出し、通信条件（速度、遅延）に応じて直接送信すべき無線装置（即ち、経路）を選択、送信する方法がある（例えば、特許文献３参照）。
【特許文献１】国際公開第２００３／０３４６６１号パンフレット
【特許文献２】特表２００３−５１６０３１号公報
【特許文献３】特開２００５−３４１２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来の方法では、アドホックネットワークが形成された後に、形成されたアドホックネットワークにおいて端末同士が通信を行う場合、すべてのトラフィック（制御信号やデータ信号）がマスタを経由する必要があり、これが通信の効率化を図る上でボトルネックになっていた。そのために、アドホックネットワークを形成後に、迅速に、効率よくデータ通信を行うことができないという課題があった。また、ＢＴ端末が初めてのリンク確立を行う（近接しているＢＴ端末の検出処理とＢＴ端末の呼び出し処理によってリンクを確立する）際に、検出処理と呼び出し処理に多くの時間が費やされてしまうという課題があった。しかも、そのために、効率のよい経路を選択できる範囲が限定されてしまうという課題があった。
【０００５】
本発明は、例えば、アドホックネットワークなどにおいて、まだリンクが確立されていない経路を含む複数の経路からデータ転送のために効率のよい経路を選択することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報端末装置は、
相互にリンクを確立している場合に所定の通信方式を用いて直接通信可能な情報端末装置において、
データを記憶する第１の記憶部と、
自己とリンクを確立していない第１の情報端末装置を検出する第１の通信部と、
処理装置を用いて、前記第１の通信部により検出された第１の情報端末装置とリンクを確立するためのリンク確立時間を導出するリンク確立時間導出部と、
前記処理装置を用いて、自己とリンクを確立している第２の情報端末装置を経由して前記第１の記憶部に記憶されたデータを前記第１の情報端末装置へ転送するためのデータ転送時間を導出するデータ転送時間導出部と、
前記処理装置を用いて、前記リンク確立時間導出部により導出されたリンク確立時間と前記データ転送時間導出部により導出されたデータ転送時間とを比較し、当該比較結果に基づき、前記第１の情報端末装置とのリンクに該当する第１の経路と前記第２の情報端末装置を経由する第２の経路とのいずれかを選択するデータ通信判定部と、
前記データ通信判定部により前記第１の経路が選択された場合には、前記第１の情報端末装置とリンクを確立し、当該リンクを介して前記データを前記第１の情報端末装置へ転送し、前記データ通信判定部により前記第２の経路が選択された場合には、前記第２の経路を介して前記データを前記第１の情報端末装置へ転送する第２の通信部とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明では、情報端末装置において、データ通信判定部が、リンク確立時間導出部により導出されたリンク確立時間とデータ転送時間導出部により導出されたデータ転送時間とを比較し、当該比較結果に基づき、自己とリンクを確立していない情報端末装置とのリンクに該当する第１の経路と、自己とリンクを確立している情報端末装置を経由する第２の経路とのいずれかを選択することにより、アドホックネットワークなどにおいて、まだリンクが確立されていない経路を含む複数の経路からデータ転送のために効率のよい経路を選択することが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について、図を用いて説明する。
【０００９】
実施の形態１．
複数の情報端末装置が相互にリンクを確立して形成するアドホックネットワークの一例を、図１に示す。図１において、アドホックネットワークはデバイスａ〜ｆにより構成されている。デバイスａ〜ｆは、いずれも本実施の形態に係る情報端末装置の例であり、互いにＢＴ通信を行うものとする。それぞれのデバイスは、相互にリンクを確立している場合にＢＴにより直接通信可能であるが、当然、リンクを確立していないデバイスとも間接的に通信可能である。つまり、それぞれのデバイスは、リンクを確立していないデバイスとは、他のリンクを確立しているデバイスを経由して通信を行うことができる。
【００１０】
図１に示したアドホックネットワークは、ピコネットＡとピコネットＢを含むスキャタネットワークである。ピコネットＡでは、デバイスａがマスタであり、デバイスｂ〜ｄがスレーブである。ピコネットＢでは、デバイスｄがマスタであり、デバイスａ、ｅ、ｆがスレーブである。図１のように形成されたアドホックネットワークにおいて、スレーブ同士がデータ転送する方法として以下の方法を用いることができる。
（１）ピコネット内のマスタを経由して、データ転送先のデバイスにデータを転送する方法：
例えば、デバイスｃからデバイスｆにデータを転送する場合、デバイスｃは、自己からデバイスａ、ｄを経由してデバイスｆに到達する経路を介してデータを転送する。
（２）ピコネット内のマスタを経由せずに、マスタ／スレーブ切り替え処理を行い、データ転送先のデバイスとリンク確立をすることにより、データを転送する方式：
例えば、デバイスｃからデバイスｆにデータを転送する場合、デバイスｃは、自己とデバイスｆとの間にリンクを確立し、自己をマスタ、デバイスｆをスレーブとするピコネットを形成することにより、データを直接デバイスｆに転送する。このとき、例えば、デバイスａはマスタからスレーブに切り替わり、デバイスｃをマスタとするピコネットにスレーブとして参加する。この場合、デバイスｂ、ｄも同じピコネットにスレーブとして参加することができる。また、例えば、デバイスａはそのままマスタとしてピコネットＡを存続させてもよい。この場合、デバイスｃはピコネットＡにおいてはスレーブのまま、デバイスｆをスレーブとする新たなピコネットにおいてマスタとなる。このように、上記のマスタ／スレーブ切り替え処理とは、デバイスがスレーブからマスタになったり、マスタからスレーブになったりする処理のほか、１つのピコネットにおいてスレーブとなっているデバイスが、自己をマスタとして新たなピコネットを形成する処理などを含むものである。
【００１１】
図２は、本実施の形態に係る情報端末装置１００の構成を示すブロック図である。
【００１２】
本実施の形態において、情報端末装置１００は、記憶装置１０１、通信装置１０２、ＣＰＵ１０３（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）、テーブル情報管理装置１０４、入力装置１０５、データ通信選択装置１０６、出力装置１０７、バス１０８を備える。情報端末装置１００は、例えば、携帯電話機やＰＤＡ（登録商標）（Ｐｅｒｓｏｎａｌ・Ｄｉｇｉｔａｌ・Ａｓｓｉｓｔａｎｔ）などとして実施できる。
【００１３】
図２において、記憶装置１０１は、音楽や画像のようなファイルを持つ装置であり、ハードディスク装置で実現する場合もあれば、フラッシュメモリ装置で実現する場合もある。記憶装置１０１は、主にＰＣ（パーソナルコンピュータ）や携帯電話機などに内蔵されるか、あるいは外部接続可能な永続的な記憶装置（不揮発性メモリ）であるが、揮発性メモリを含んでいてもよい。
【００１４】
記憶装置１０１の構成を図３に示す。
【００１５】
記憶装置１０１は、第１の記憶部１０１１、第２の記憶部１０１２を有する。第１の記憶部１０１１は、アドホックネットワーク上で転送されるデータを記憶する。第２の記憶部１０１２は、テーブル情報２００を記憶する。テーブル情報２００は、アドホックネットワークを構築している情報端末装置１００のそれぞれが独自に保持する情報である。図１に示した例では、デバイスａ〜ｆはそれぞれ独自のテーブル情報２００を保持する。
【００１６】
テーブル情報２００の構成要素を図４に示す。
【００１７】
テーブル情報２００は、属性情報２０１と認証情報２０２を含む。
【００１８】
属性情報２０１は、アドホックネットワーク内の他の情報端末装置１００と通信を行うための情報である。属性情報２０１には、例えば、他の情報端末装置１００にデータを転送するための経路（特に、最適経路）を示す経路情報２０１１や、それぞれの情報端末装置１００がマスタであるか、スレーブであるかを示すマスタ／スレーブ情報２０１２などの情報端末装置１００の属性を示す情報が含まれる。経路情報２０１１は、例えば、自己（その経路情報２０１１を保持する情報端末装置１００）を親とした木構造のような形式をとってもよい。図１に示した例では、例えば、デバイスａは、デバイスｂ〜ｆにデータを転送するための経路を示す経路情報２０１１を保持する。また、ピコネットＡでは、デバイスａがマスタであり、デバイスｂ〜ｄがスレーブであることや、ピコネットＢでは、デバイスｄがマスタであり、デバイスａ、ｅ、ｆがスレーブであることを示すマスタ／スレーブ情報２０１２を保持する。
【００１９】
認証情報２０２は、他の情報端末装置１００が自己（その認証情報２０２を保持する情報端末装置１００）とリンクを確立するための認証に必要な情報である。認証情報２０２には、例えば、自己を識別するため、あるいは周波数ホッピングなどを管理するために他の情報端末装置１００により利用されるＢＴアドレス２０２１やＢＴクロック２０２２が含まれる。これらは、ＢＴにおいて、ＦＨＳ（Ｆｒｅｑｕｅｎｃｙ・Ｈｏｐ・Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ）パケットに含まれる情報であり、グループ識別ＩＤとして用いることができる。また、認証情報２０２には、パスキー２０２３が含まれる。通常、ＢＴにより初めて通信する機器との間では、同一のパスキー２０２３を双方に入力し、認証を行う必要がある。本実施の形態においては、パスキー２０２３がテーブル情報２００に含まれていて、通信相手の機器に自動的に通知される。さらに、認証情報２０２には、自己の機器の種別（デバイスクラス）を表す情報やデバイス名などが含まれていてもよい。ＢＴでは、デバイスクラスとして、例えば「携帯電話」、「パーソナルコンピュータ」、「ＰＤＡ（登録商標）」などの一般的な機器が予め規定されている。デバイス名は、ユーザが個々の機器を認識できるように設定する情報であり、ユーザが任意に変更することができる。図１に示した例では、例えば、デバイスａは、デバイスａのＢＴアドレス２０２１、ＢＴクロック２０２２、パスキー２０３などを保持する。
【００２０】
情報端末装置１００は、上記のようなテーブル情報２００を使用することにより、高速にリンク確立を行うことが可能となる。
【００２１】
次に、通信装置１０２の構成を図５に示す。
【００２２】
通信装置１０２は、他の情報端末装置１００とＢＴによる通信を確立することが可能なＢＴ通信部１０２１とＢＴとは異なる通信を確立することが可能な非ＢＴ通信部１０２２とを持つ装置である。ＢＴ通信部１０２１は、第２の通信部の一例である。ＢＴ通信部１０２１は、所定の通信方式の一例として、ＢＴを用いてデータを転送する。また、非ＢＴ通信部１０２２は、第１の通信部の一例である。非ＢＴ通信部１０２２は、自己とリンクを確立していない他の情報端末装置１００（第１の情報端末装置１００）を検出する。そして、所定の通信方式より近距離向けの通信方式の一例として、非接触ＩＣ、微弱電磁波などを用いて、近接した第１の情報端末装置１００にテーブル情報２００を送信したり、第１の情報端末装置１００からテーブル情報２００を受信したりする。例えば、情報端末装置１００は、第１の情報端末装置１００とデータ通信を行う際に、非ＢＴ通信部１０２２でＢＴとは異なる通信路を使用してＢＴにおけるリンク確立を行い、リンク確立した第１の情報端末装置１００とＢＴ通信部１０２１でＢＴ通信路を使用してデータ通信を行う。図１に示した例では、例えば、デバイスｃは、デバイスｆが所定の距離（非接触ＩＣなどの通信可能距離）まで近づいてきた場合には、デバイスｆを検出する。そして、デバイスｆとリンクを確立する場合には、互いのテーブル情報２００を交換する。
【００２３】
情報端末装置１００は、上記のような非ＢＴ通信部１０２２を備えることにより、ＢＴ通信とは別の通信路を使用してデータを送受信でき、リンク確立時に必要な属性情報２０１と認証処理に必要な認証情報２０２を含むテーブル情報２００を取得および管理することにより、高速にリンク確立を行うことが可能となる。
【００２４】
図２において、ＣＰＵ１０３は、処理装置の一例である。ＣＰＵ１０３は、情報端末装置１００の中で、各装置（記憶装置１０１、通信装置１０２、テーブル情報管理装置１０４、入力装置１０５、データ通信選択装置１０６、出力装置１０７など）の制御やデータの計算・加工を行う中枢部分である。入力装置１０５は、外部からの入力（キー入力など）を行う装置である。出力装置１０７は、外部への出力（ディスプレイなど）を行う装置である。
【００２５】
次に、テーブル情報管理装置１０４の構成を図６に示す。
【００２６】
テーブル情報管理装置１０４は、他の情報端末装置１００が持つテーブル情報２００を取得するテーブル情報取得部１０４１と、テーブル情報２００が更新された際にネットワーク内の他の情報端末装置１００に更新情報を通知するテーブル情報更新部１０４３と、テーブル情報２００から任意の情報端末装置１００の情報を破棄するテーブル情報破棄部１０４４を持つ装置である。
【００２７】
テーブル情報取得部１０４１は、第２の記憶部１０１２に記憶されたテーブル情報２００に、非ＢＴ通信部１０２２により検出された第１の情報端末装置１００と通信を行うための属性情報２０１が含まれていない場合には、第１の情報端末装置１００からテーブル情報２００を取得する。このとき、テーブル情報取得部１０４１は、非ＢＴ通信部１０２２によりＢＴとは異なる通信路を用いて第１の情報端末装置１００からテーブル情報２００を取得する。つまり、テーブル情報取得部１０４１は、他の情報端末装置１００とリンクを確立する際、非ＢＴ通信部１０２２により提供された通信路を使用して、その情報端末装置１００が持つテーブル情報２００を取得する。図１に示した例では、例えば、デバイスｃは、デバイスｆとリンクを確立する場合には、デバイスｆからテーブル情報２００を取得する。
【００２８】
テーブル情報破棄部１０４４は、第２の記憶部１０１２に記憶されたテーブル情報２００から、テーブル情報２００（そのうち、少なくとも属性情報２０１）を削除する。テーブル情報破棄部１０４４は、テーブル情報２００を破棄する条件として、例えば、入力装置１０５を介してユーザからテーブル情報２００の破棄が指示されたか否かを判定し、指示されたと判定された場合に、指示された情報端末装置１００のテーブル情報２００（そのうち、少なくともその情報端末装置１００と通信を行うための属性情報２０１）を削除する。当然、ユーザからの指示ではなく、他の情報端末装置１００からの応答がないと判定した場合、例えば、所定の期間、あるいは所定の回数だけ、再送の要求を実行した後、その情報端末装置１００のテーブル情報２００を破棄してもよい。図１に示した例では、例えば、デバイスｂがアドホックネットワークから離脱した場合に、デバイスｂは、ユーザの指示によりすべてのテーブル情報２００を破棄する。このとき、例えば、デバイスａは、デバイスｂと通信できないことを確認すると、デバイスｂのテーブル情報２００を破棄する。デバイスａは、具体的には、経路情報２０１１から、デバイスｂと通信を行うための経路を削除したり、マスタ／スレーブ情報２０１２から、デバイスｂに関する部分を削除したりする。
【００２９】
テーブル情報更新部１０４３は、テーブル情報取得部１０４１により取得された第１の情報端末装置１００のテーブル情報２００を第２の記憶部１０１２に記憶されたテーブル情報２００とマージして記憶する。特に、テーブル情報取得部１０４１により取得されたテーブル情報２００に含まれる属性情報２０１を用いて、第２の記憶部１０１２に記憶されたテーブル情報２００に、第１の情報端末装置１００と通信を行うための属性情報２０１を追加する。そして、その追加内容を示す更新情報を、自己とリンクを確立している他の情報端末装置１００（第２の情報端末装置１００）にＢＴ通信部１０２１により通知する。また、テーブル情報更新部１０４３は、テーブル情報破棄部１０４４によりテーブル情報２００（そのうち、少なくとも属性情報２０１）が削除された場合に、その削除内容を示す更新情報を第２の情報端末装置１００にＢＴ通信部１０２１により通知する。さらに、テーブル情報更新部１０４３は、他の情報端末装置１００から更新情報をＢＴ通信部１０２１により取得し、その更新情報を用いて、第２の記憶部１０１２に記憶されたテーブル情報２００を更新する。このように、テーブル情報更新部１０４３は、アドホックネットワークを形成している情報端末装置１００が追加され、または減少した場合に、その情報端末装置１００に係る更新内容をネットワーク（自己が属するピコネット）内の他の情報端末装置１００に送信し、それぞれの情報端末装置１００にテーブル情報２００を更新させる。図１に示した例では、例えば、デバイスａとデバイスｄがリンクを確立しておらず、今新たにリンクを確立したとすると、デバイスａは、デバイスｄから取得するテーブル情報２００を用いて、デバイスｄ〜ｆと通信を行うための経路を自己が保持する経路情報２０１１に追加する。そして、その追加内容を示す更新情報をデバイスｂ、ｃに通知する。デバイスｂ、ｃは、この更新情報に示された追加内容に基づいて、デバイスｄ〜ｆと通信を行うための経路を自己が保持する経路情報２０１１に追加する。また、例えば、デバイスｂがアドホックネットワークから離脱したとすると、デバイスａは、経路情報２０１１やマスタ／スレーブ情報２０１２から削除された内容を示す更新情報をデバイスｃ、ｄに通知する。デバイスａは、さらに、経路情報２０１１のうち、デバイスｂを経由する経路を別の経路に変更し、その変更の内容を示す更新情報をデバイスｃ、ｄに通知してもよい。
【００３０】
情報端末装置１００は、上記のようなテーブル情報更新部１０４３を備えることにより、リンク確立時に必要な属性情報２０１と認証処理に必要な認証情報２０２を含むテーブル情報２００を、アドホックネットワーク全体で効率よく、確実に最新の状態に保つことが可能となる。
【００３１】
次に、データ通信選択装置１０６の構成を図７に示す。
【００３２】
データ通信選択装置１０６は、テーブル情報２００を用いて、ユーザが指定する情報端末装置１００に第２の情報端末装置１００（例えば、マスタ）を経由してデータを転送するデータ転送時間を導出するデータ転送時間導出部１０６１と、自己とユーザが指定する情報端末装置１００とのリンクを確立して直接（マスタを経由せずに）データを転送する時間を導出するリンク確立時間導出部１０６２と、効率のよいデータ通信を行うための経路を選択するデータ通信判定部１０６３を持つ装置である。ここで、ユーザがデータ通信をする際には、ユーザの情報端末装置１００は、テーブル情報２００に基づいて、通信可能な他の情報端末装置１００の一覧を出力装置１０７により画面表示する。そして、ユーザは、その一覧からデータ通信の相手端末を入力装置１０５により指定する。
【００３３】
データ転送時間導出部１０６１は、ＣＰＵ１０３を用いて、第２の情報端末装置１００を経由して第１の記憶部１０１１に記憶されたデータを第１の情報端末装置１００へ転送するためのデータ転送時間を導出する。このとき、データ転送時間導出部１０６１は、ＢＴにおける最大転送速度と第１の記憶部１０１１に記憶されたデータのサイズとに基づき、第２の記憶部１０１２に記憶されたテーブル情報２００に含まれる属性情報２０１（特に、経路情報２０１１）を用いて、データ転送時間を導出してもよい。また、データ転送時間導出部１０６１は、過去にＢＴ通信部１０２１によりデータが転送された際のデータ転送速度を第２の記憶部１０１２に記憶し、そのデータ転送速度とデータのサイズとに基づき、データ転送時間を導出してもよい。また、データ転送時間導出部１０６１は、ＢＴ通信部１０２１により記憶された応答時間とデータのサイズとに基づき、データ転送時間を導出してもよい。この場合、ＢＴ通信部１０２１は、第２の情報端末装置１００を経由する経路（第２の経路）を介して調査用のデータ（調査パケット）を第１の情報端末装置１００へ送信し、調査用のデータに対する応答を第１の情報端末装置１００から受信し、調査用のデータを送信してからその応答を受信するまでの応答時間を第２の記憶部１０１２に記憶するものとする。図１に示した例では、例えば、デバイスｃは、デバイスａ、ｄを経由してデバイスｆに到達する経路を介してデータを転送するためのデータ転送時間を計算する。このとき、デバイスｃは、ＢＴの仕様上の最大転送速度、転送するデータのサイズ、過去にデバイスｃからデバイスｆにデータを転送した際のデータ転送速度やデータ転送時間、調査パケットを送信した際の応答時間などに基づいて、データ転送時間を求める。
【００３４】
リンク確立時間導出部１０６２は、ＣＰＵ１０３を用いて、非ＢＴ通信部１０２２により検出された第１の情報端末装置１００とリンクを確立するためのリンク確立時間（呼び出し時間など）を導出する。リンク確立時間導出部１０６２は、さらに、ＢＴにおける最大転送速度と第１の記憶部１０１１に記憶されたデータのサイズとに基づき、第１の情報端末装置１００とのリンクを介してデータを第１の情報端末装置１００へ転送する時間を計算し、その時間をリンク確立時間に加算してもよい。また、リンク確立時間導出部１０６２は、自己がスレーブである場合に、自己をマスタに切り替えるための時間を計算し、その時間をリンク確立時間に加算してもよい。また、リンク確立時間導出部１０６２は、自己と第１の情報端末装置１００とを含むピコネットを構築するための時間を計算し、その時間をリンク確立時間に加算してもよい。自己がマスタである場合には、このピコネットとして自己をマスタとする既存のピコネットを利用できるため、第１の情報端末装置１００がそのピコネットに属するスレーブとなるための時間を加算すればよい（自己に対するスレーブとマスタの切り替え時間は含めなくてよい）。図１に示した例では、例えば、デバイスｃは、デバイスｆとリンクを確立するためのリンク確立時間を計算する。このとき、デバイスｃは、ＢＴの仕様上の最大転送速度、転送するデータのサイズ、調査パケットを送信した際の応答時間などに基づいて、データ転送時間を求め、リンク確立時間に加算してもよい。
【００３５】
データ通信判定部１０６３は、ＣＰＵ１０３を用いて、リンク確立時間導出部１０６２により導出されたリンク確立時間とデータ転送時間導出部１０６１により導出されたデータ転送時間とを比較する。そして、その比較結果に基づき、第１の情報端末装置１００とのリンク（第１の経路）と第２の情報端末装置１００を経由する経路（第２の経路）とのいずれかを選択する。データ通信判定部１０６３が第１の経路を選択した場合には、ＢＴ通信部１０２１は、第１の情報端末装置１００とリンクを確立する。このとき、ＢＴ通信部１０２１は、テーブル情報取得部１０４１により取得されたテーブル情報２００に含まれる認証情報２０２を用いて、第１の情報端末装置１００とリンクを確立する。そして、そのリンクを介してデータを第１の情報端末装置１００へ転送する。一方、データ通信判定部１０６３が第２の経路を選択した場合には、ＢＴ通信部１０２１は、第２の経路を介してデータを第１の情報端末装置１００へ転送する。図１に示した例では、例えば、デバイスｃは、デバイスｆにデータを転送するためには、デバイスａ、ｄを経由する第２の経路を利用すべきか（そのデータ転送時間がリンク確立時間より短いか）、あるいはデバイスｆとリンクを確立して、そのリンクを利用すべきか（そのリンク確立時間が第２の経路を利用する場合のデータ転送時間より短いか）を判断する。
【００３６】
情報端末装置１００は、上記のようなデータ通信判定部１０６３を備えることにより、アドホックネットワークなどにおいて、まだリンクが確立されていない経路を含む複数の経路からデータ転送のために効率のよい経路を選択することが可能となる。
【００３７】
上記のように、本実施の形態において、情報端末装置１００は、例えば自己がスレーブである場合に、リンク確立時に必要な属性情報２０１と認証処理に必要な認証情報２０２を含むテーブル情報２００を取得して、ピコネット内のマスタである情報端末装置１００を経由してデータ転送する時間とピコネット内のマスタである情報端末装置１００を経由せずに直接データを転送する時間を導出し、効率のよい経路を選択することを特徴とする。そのために、情報端末装置１００は、
（１）アドホックネットワーク環境下の情報端末装置１００における属性情報２０１および認証情報２０２を含むテーブル情報２００を管理するテーブル情報管理装置１０４と、
（２）テーブル情報２００を用いて、効率のよいデータ通信経路を選択するデータ通信選択装置１０６とを備えることを特徴とする。
【００３８】
図８は、情報端末装置１００のハードウェア資源の一例を示す図である。
【００３９】
図８において、情報端末装置１００は、ＬＣＤ９０１（液晶ディスプレイ）、キー９０２、カメラ９０４、外部メモリ９０５、スピーカ９０６、マイク９０７などのハードウェア資源を備え、これらはバス１０８などの信号線で接続されている。
【００４０】
図８において、情報端末装置１００は、プログラムを実行するＣＰＵ１０３（中央処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ１０３は、処理装置の一例である。ＣＰＵ１０３は、バス１０８を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信回路９１５、ＬＣＤ９０１、キー９０２、カメラ９０４、外部メモリ９０５、スピーカ９０６、マイク９０７、フラッシュメモリ９２０と接続され、これらのハードウェアデバイスを制御する。フラッシュメモリ９２０の代わりに、磁気ディスク装置などの記憶媒体が用いられてもよい。
【００４１】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、外部メモリ９０５、フラッシュメモリ９２０は、不揮発性メモリの一例である。これらは、記憶装置１０１の一例である。通信回路９１５、キー９０２、マイク９０７、カメラ９０４などは、入力装置１０５の一例である。また、通信回路９１５、ＬＣＤ９０１、スピーカ９０６などは、出力装置１０７の一例である。さらに、通信回路９１５は、通信装置１０２の一例である。
【００４２】
フラッシュメモリ９２０には、オペレーティングシステム９２１（ＯＳ）、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ１０３、オペレーティングシステム９２１により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ１０３により読み出され実行される。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ１０３によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ１０３の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ１０３の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００４３】
また、本実施の形態の説明において説明するブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４、ＲＯＭ９１３、外部メモリ９０５、フラッシュメモリ９２０などの記録媒体に記録される。また、データや信号は、バス１０８などの伝送媒体により伝送される。
【００４４】
また、本実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、メモリなどの記録媒体に記憶される。このプログラムはＣＰＵ１０３により読み出され、ＣＰＵ１０３により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００４５】
次に、情報端末装置１００の動作について説明する。
【００４６】
図１に示した例で、デバイスａとデバイスｄがリンクを確立する前のアドホックネットワークを、図９に示す。図１０は、図９に示したアドホックネットワークで、デバイスａがデバイスｄと初めてリンクを確立するときのデバイスａの動作を示すフローチャートである。
【００４７】
デバイスａにおいて、第２の記憶部１０１２は、デバイスａのテーブル情報２００を記憶する（ステップＳ１００：第２の記憶ステップ）。非ＢＴ通信部１０２２は、デバイスｄ（第１の情報端末装置１００の一例）を検出する（ステップＳ１０１：第１の通信ステップ）。この例では、デバイスａがデバイスｄと初めてリンクを確立することを前提としている。即ち、第２の記憶部１０１２に記憶されたテーブル情報２００には、デバイスｄのテーブル情報２００（デバイスｄと通信を行うための属性情報２０１）が含まれていない。そのため、テーブル情報取得部１０４１は、非ＢＴ通信部１０２２によりデバイスｄからテーブル情報２００を取得する（ステップＳ１０２：テーブル情報取得ステップ）。このとき、デバイスｄにおいても同様に、デバイスｄのテーブル情報取得部１０４１がデバイスａのテーブル情報２００を取得する。
【００４８】
デバイスａにおいて、ＢＴ通信部１０２１は、デバイスｄのテーブル情報２００に含まれる認証情報２０２を用いて、デバイスｄとリンクを確立する（ステップＳ１０３：第２の通信ステップ）。テーブル情報更新部１０４３は、デバイスｄのテーブル情報２００を用いて、第２の記憶部１０１２に記憶された自己のテーブル情報２００を更新する。そして、その更新内容を示す更新情報を、デバイスｂ、ｃ（第２の情報端末装置１００）に通知する（ステップＳ１０４：テーブル情報更新ステップ）。
【００４９】
図１１を用いて、図９の例でデバイスａがデバイスｄからテーブル情報２００を取得するときの詳細な処理フローの例を示す。
【００５０】
デバイスａにおいて、テーブル情報取得部１０４１は、ＣＰＵ１０３が入力装置１０５においてユーザからの入力を検知し、ユーザからの認証処理の開始が指示されたか否かを判定する。指示されていない場合には、指示されたと判定されるまで待機している。当然、ユーザからの指示ではなく、通信装置１０２における非ＢＴ通信部１０２２が提供する通信路において、近接するデバイスｄを認識した場合に、自動的にテーブル情報取得部１０４１の処理を開始してもよい。
【００５１】
デバイスａがデバイスｄを認識した場合、テーブル情報取得部１０４１は、ステップＳ２００に進む。
【００５２】
ステップＳ２００では、デバイスａにおいて、テーブル情報取得部１０４１が、記憶装置１０１にＢＴのリンク確立時に必要な情報を含むデバイスａのテーブル情報２００が保存されているか判定を行う。デバイスａのテーブル情報２００が保存されていると判定された場合、ステップＳ２０３に進む。デバイスａのテーブル情報２００が保存されていないと判定された場合、ステップＳ２０１に進む。
【００５３】
ステップＳ２０１では、テーブル情報取得部１０４１が、デバイスａにおけるＢＴのリンク確立時に必要な情報を含むデバイスａのテーブル情報２００を作成する。作成した後に、ステップＳ２０２に進む。
【００５４】
ステップＳ２０２では、テーブル情報取得部１０４１が、作成したデバイスａのテーブル情報２００を記憶装置１０１に保存する。記憶装置１０１に保存した後、ステップＳ２０３に進む。
【００５５】
ステップＳ２０３では、テーブル情報取得部１０４１が、非ＢＴ通信部１０２２により、デバイスａからデバイスｄへテーブル情報要求を送信する。
【００５６】
ステップＳ２０４において、テーブル情報取得部１０４１が、デバイスｄからの応答がないと判定した場合、例えば、所定の期間、あるいは所定の回数だけ、再送の要求を実行した後、処理を終了させるようにしてもよい。
【００５７】
ステップＳ２０５では、テーブル情報取得部１０４１が、デバイスｄからデバイスｄのテーブル情報２００を受信したと判定した場合、そのデバイスｄのテーブル情報２００を記憶装置１０１に記憶する。
【００５８】
ステップＳ２０６では、テーブル情報更新部１０４３が、デバイスａのテーブル情報２００とデバイスｄから受信したデバイスｄのテーブル情報２００をマージし、マージ済みのテーブル情報２００を作成する。
【００５９】
ステップＳ２０７では、テーブル情報更新部１０４３が、マージ済みのテーブル情報２００を記憶装置１０１に記憶する。
【００６０】
ステップＳ２０８では、ＢＴ通信部１０２１が、デバイスａの通信相手であるデバイスｄにＢＴ通信機能の起動要求を行い、待機する。デバイスｄは、ＢＴ通信機能の起動要求を受信した場合、ＢＴ通信機能を起動し、起動したことを示す応答をデバイスａに送信する。デバイスａにおいて、ＢＴ通信部１０２１は、デバイスｄからの応答がないと判定した場合、例えば、所定の期間、あるいは所定の回数だけ、再送の要求を実行した後、処理を終了させるようにしてもよい。
【００６１】
また、Ｓ２０８では、非ＢＴ通信部１０２２が、デバイスａのテーブル情報２００をデバイスｄに送信する。デバイスｄでは、テーブル情報更新部１０４３によりテーブル情報２００が更新される。
【００６２】
ステップＳ２０９では、デバイスａにおいて、ＢＴ通信部１０２１が、デバイスｄにおけるＢＴ機能が起動しているか判定を行う。ＢＴ通信部１０２１は、デバイスｄからの応答がないと判定した場合、例えば、所定の期間、あるいは所定の回数だけ、再送の要求を実行した後、処理を終了させるようにしてもよい。
【００６３】
ステップＳ２１０では、ＢＴ通信部１０２１が、デバイスａにおけるＢＴ通信機能を起動する。この際に、ＢＴ通信部１０２１は、テーブル情報２００のＢＴアドレス２０２１やＢＴクロック２０２２を用いてデバイスａとデバイスｄにおけるリンク確立を行う。
【００６４】
図１２を用いて、図９の例でデバイスｄがデバイスａから更新情報を通知されたときの詳細な処理フローの例を示す。
【００６５】
デバイスｄにおいて、デバイスａからの更新情報（更新内容）を受信した場合に、テーブル情報更新部１０４３は、ステップＳ２２０に進む。
【００６６】
ステップＳ２２０では、テーブル情報更新部１０４３が、デバイスａから受信した更新内容を記憶装置１０１に記憶する。
【００６７】
ステップＳ２２１では、テーブル情報更新部１０４３が、受信した更新内容とデバイスｄのテーブル情報２００とを比較し、更新内容が新規であるかどうか判断する。更新内容が新規である場合、ステップＳ２２２に進む。更新内容が新規でない場合、処理を終了する。
【００６８】
ステップＳ２２２では、テーブル情報更新部１０４３が、デバイスｄがマスタかスレーブかどうかを判断する。デバイスｄがマスタである場合、ステップＳ２２３に進む。デバイスｄがスレーブである場合、ステップＳ２２４に進む。
【００６９】
ステップＳ２２３では、テーブル情報更新部１０４３が、デバイスｄのテーブル情報２００を使用して同じピコネット内のスレーブ（ピコネットＢでは、デバイスａ、ｅ、ｆがスレーブであるが、更新情報の送信元であるデバイスａは除くため、デバイスｅとデバイスｆ）に更新内容を送信し、ステップＳ２２５に進む。ステップＳ２２４では、テーブル情報更新部１０４３が、デバイスｄのテーブル情報２００を使用して同じピコネット内のマスタに更新内容を送信し、ステップＳ２２５に進む。
【００７０】
ステップＳ２２５では、テーブル情報更新部１０４３が、デバイスａから受信した更新情報とデバイスｄが持つデバイスｄのテーブル情報２００をマージする（更新内容を反映させる）。
【００７１】
図１３は、図１に示したアドホックネットワークで、デバイスｃがリンクを確立していないデバイスｆにデータを転送するときのデバイスｃの動作を示すフローチャートである。
【００７２】
デバイスｃにおいて、第１の記憶部１０１１は、デバイスｆに転送するデータを記憶する（ステップＳ３００：第１の記憶ステップ）。第２の記憶部１０１２は、デバイスｃのテーブル情報２００を記憶する（ステップＳ３０１：第２の記憶ステップ）。非ＢＴ通信部１０２２は、デバイスｆ（第１の情報端末装置１００の一例）を検出する（ステップＳ３０２：第１の通信ステップ）。この例では、デバイスｃがデバイスｆとリンクを確立しない場合には、デバイスａ、ｄを経由してデバイスｆにデータを転送することを前提としている。即ち、第２の記憶部１０１２に記憶されたテーブル情報２００には、デバイスｆのテーブル情報２００（デバイスｆと通信を行うための属性情報２０１）が含まれている。そのため、テーブル情報取得部１０４１は、非ＢＴ通信部１０２２によりデバイスｆからテーブル情報２００を取得する必要はないが、リンクを確立するために認証情報２０２を新たに（再び）取得する必要がある場合には、デバイスｆからテーブル情報２００を取得する（ステップＳ３０３：テーブル情報取得ステップ）。
【００７３】
デバイスｃにおいて、データ転送時間導出部１０６１は、ＣＰＵ１０３を用いて、デバイスａ（第２の情報端末装置１００）、デバイスｄを経由して第１の記憶部１０１１に記憶されたデータをデバイスｆへ転送するためのデータ転送時間を導出する（ステップＳ３０４：データ転送時間導出ステップ）。リンク確立時間導出部１０６２は、ＣＰＵ１０３を用いて、デバイスｆとリンクを確立するためのリンク確立時間を導出する（ステップＳ３０５：リンク確立時間導出ステップ）。データ通信判定部１０６３は、ＣＰＵ１０３を用いて、リンク確立時間とデータ転送時間とを比較し、その比較結果に基づき、デバイスｆとのリンク（第１の経路）とデバイスａ、ｄを経由する経路（第２の経路）とのいずれかを選択する（ステップＳ３０６：データ通信判定ステップ）。データ通信判定部１０６３が第１の経路を選択した場合には、ＢＴ通信部１０２１は、デバイスｆのテーブル情報２００に含まれる認証情報２０２を用いて、デバイスｆとリンクを確立する。そして、そのリンクを介してデータをデバイスｆへ直接転送する。一方、データ通信判定部１０６３が第２の経路を選択した場合には、ＢＴ通信部１０２１は、デバイスａ、ｄを経由する第２の経路を介してデータをデバイスｆへ転送する（ステップＳ３０７：第２の通信ステップ）。
【００７４】
上記のように、本実施の形態において、情報端末装置１００は、データ転送時間導出部１０６１によりデータ通信時間を導出し、リンク確立時間導出部１０６２によりリンク確立時間を導出する。そして、このデータ通信時間とリンク確立時間を用いてデータ通信判定部１０６３より効率のよい通信路を選択することでデータ通信の効率化を図ることができる。
【００７５】
上記ステップＳ３０４では、データ転送時間導出部１０６１が、ＣＰＵ１０３が、入力装置１０５においてユーザからの入力を検知し、ユーザからのデータ通信の開始が指示されたか否かを判定し、指示されたと判定されるまで待機していてもよい。また、データ転送時間導出部１０６１は、転送するデータサイズと、テーブル情報２００に含まれる経路情報２０１１とＢＴ仕様の最大転送速度から情報端末装置１００間のデータ転送時間を導出し、記憶装置１０１に記録してもよい。また、データ転送時間導出部１０６１は、デバイスｃとデバイスｆ間でデータ通信を行う際に、過去にデータを転送した際のデータ転送速度を記憶装置１０１に記憶しておき、転送するデータサイズと、過去のデータ転送速度からデータ転送時間を導出してもよい。また、データ転送時間導出部１０６１は、デバイスｃとデバイスｆ間のデータ転送速度を導出するために、調査パケットとなるデータをデバイスｃからデバイスｆに送信することによりデータ転送速度を導出し、転送するデータサイズと、導出されたデータ転送速度からデータ転送時間を導出してもよい。
【００７６】
上記ステップＳ３０５では、リンク確立時間導出部１０６２が、デバイスｃがスレーブの場合は、スレーブ／マスタの切り替え時間と、テーブル情報２００を用いてデバイスｆが構成するピコネットへの参加要求時間と、ＢＴ仕様の最大転送速度を用いて導出したデータ転送時間からリンク確立時間を導出し、記憶装置１０１に記録してもよい。
【００７７】
以上のように、本実施の形態で説明した情報端末装置は、
近接された情報端末装置との第１の通信部と、前記第１の通信部と異なる第２の通信部を持つ通信装置と、
リンク確立時に必要な属性情報と認証処理に必要な認証情報を含むテーブル情報と画像や音楽などのデータを格納する記憶装置と、
近接している情報端末装置から第２の通信部を使用して、前記テーブル情報を取得および管理を行うテーブル情報管理装置と、
近接された情報端末装置に対して第１の通信部を使用してデータ信号を送る際に、前記テーブル情報を使用して効率のよい経路を選択するデータ通信選択装置と、
各装置の制御やデータの計算・加工を行うＣＰＵと、
外部からの入力（キー入力など）や外部への出力（ディスプレイなど）を含む入出力装置とを有することを特徴とする。
【００７８】
前記テーブル情報管理装置は、
第１の情報端末装置が第２の情報端末装置と初めて接続を確立する際に、第２の通信部を使用して第２の情報端末装置が持つテーブル情報を取得するテーブル情報取得部と、
形成しているアドホックネットワークにおける情報端末装置が追加または減少した場合、それぞれの情報端末装置においてテーブル情報を更新するテーブル情報更新部と、
テーブル情報の破棄を指示された場合に、テーブル情報を破棄するテーブル情報破棄部とを有することを特徴とする。
【００７９】
前記情報端末装置は、テーブル情報取得部によって取得されるテーブル情報を当該情報端末装置が持つテーブル情報とマージすることによって、アドホックネットワーク環境下における情報端末装置の属性情報および認証情報を把握し、高速にリンクを確立することを特徴とする。
【００８０】
前記情報端末装置は、テーブル情報更新部によって当該情報端末装置が更新内容を当該アドホックネットワークに属する情報端末装置に知らせ、それぞれの情報端末装置のテーブル情報を更新することによって、現状のアドホックネットワーク環境下における情報端末装置の属性情報および認証情報を把握することを特徴とする。
【００８１】
前記情報端末装置は、テーブル情報破棄部によって指定の情報端末装置におけるテーブル情報を破棄することにより、現状のアドホックネットワーク環境下における情報端末装置の属性情報および認証情報を把握することを特徴とする。
【００８２】
前記データ通信選択装置は、
第１の情報端末装置が第２の情報端末装置にデータ通信する場合、
第１の情報端末装置における前記テーブル情報の属性から相手端末を指定した際に、
前記テーブル情報を用いてデータを転送するデータ転送時間を導出するデータ転送時間導出部と、
第１の情報端末装置と第２の情報端末装置に直接リンク確立する時間を導出するリンク確立時間導出部と、
前記データ転送時間導出部から導出されたデータ転送時間と前記リンク確立時間導出部から導出されたリンク確立時間を比較し、効率のよい通信路を選択するデータ通信判定部とを持つことを特徴とする。
【００８３】
前記情報端末装置は、データ転送時間導出部によって、転送するデータサイズと、前記テーブル情報に含まれる経路情報と通信路における最大転送速度を用いて、第１の情報端末装置と第２の情報端末装置との間のデータ転送時間を導出することによって、データ転送時間を知ることを特徴とする。
【００８４】
前記情報端末装置は、データ転送時間導出部によって、データ転送した際のデータ転送速度を記憶装置に記録し、記憶しているデータ転送速度が存在する際に、以前データ転送した際のデータ転送速度と転送するデータサイズから情報端末装置間のデータ転送時間を導出することによって、データ転送時間を知ることを特徴とする。
【００８５】
前記情報端末装置は、データ転送時間導出部によって、端末間のデータ転送速度を測定するために、調査パケットを相手通信端末に送信し応答が返ってくる時間から速度を求め、導出されたデータ転送速度とデータ転送サイズから端末間のデータ転送時間を導出することによって、データ転送時間を得ることを特徴とする。
【００８６】
前記情報端末装置は、リンク確立時間導出部によって、所有するテーブル情報を用いて第１の情報端末装置が構成するアドホックネットワークへの参加要求時間と通信路における最大転送速度から導出した最大転送時間を含むリンク確立する時間を導出することによって、リンク確立時間を得ることを特徴とする。
【００８７】
前記情報端末装置は、データ通信判定部によって、前記データ転送時間導出部から得たデータ転送時間と、前記リンク確立時間導出部より得たリンク確立時間を比較し、効率のよい経路を判定することによって、効率のよい経路を選択することを特徴とする。
【００８８】
前記情報端末装置は、第１の通信部の通信技術としてＢＴ通信部、第２の通信部の通信技術としてＢＴとは異なる非ＢＴ通信部を有することを特徴とする。
【００８９】
前記情報端末装置は、リンク確立時間導出部によって、データ転送する第１の情報端末装置がスレーブの場合、スレーブ／マスタを切り替え時間と、所有するテーブル情報を用いて第１の情報端末装置が構成するアドホックネットワークへの参加要求時間と、ＢＴ仕様の最大転送速度から導出した最大転送時間を含むリンク確立する時間を導出することによって、リンク確立時間を知ることを特徴とする。
【図面の簡単な説明】
【００９０】
【図１】実施の形態１におけるアドホックネットワークの一例を示す概念図である。
【図２】実施の形態１に係る情報端末装置の構成を示すブロック図である。
【図３】実施の形態１に係る記憶装置の構成を示すブロック図である。
【図４】実施の形態１に係るテーブル情報の内容を示す図である。
【図５】実施の形態１に係る通信装置の構成を示すブロック図である。
【図６】実施の形態１に係るテーブル情報管理装置の構成を示すブロック図である。
【図７】実施の形態１に係るデータ通信選択装置の構成を示すブロック図である。
【図８】実施の形態１における情報端末装置のハードウェア資源の一例を示す図である。
【図９】実施の形態１におけるアドホックネットワークの一例を示す概念図である。
【図１０】実施の形態１に係る情報端末装置の動作を示すフローチャートである。
【図１１】実施の形態１に係る情報端末装置の動作を示すフローチャートである。
【図１２】実施の形態１に係る情報端末装置の動作を示すフローチャートである。
【図１３】実施の形態１に係る情報端末装置の動作を示すフローチャートである。
【符号の説明】
【００９１】
１００  情報端末装置、１０１  記憶装置、１０２  通信装置、１０３  ＣＰＵ、１０４  テーブル情報管理装置、１０５  入力装置、１０６  データ通信選択装置、１０７  出力装置、１０８  バス、２００  テーブル情報、２０１  属性情報、２０２  認証情報、９０１  ＬＣＤ、９０２  キー、９０４  カメラ、９０５  外部メモリ、９０６  スピーカ、９０７  マイク、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信回路、９２０  フラッシュメモリ、９２１  オペレーティングシステム、９２３  プログラム群、９２４  ファイル群、１０１１  第１の記憶部、１０１２  第２の記憶部、１０２１  ＢＴ通信部、１０２２  非ＢＴ通信部、１０４１  テーブル情報取得部、１０４３  テーブル情報更新部、１０４４  テーブル情報破棄部、１０６１  データ転送時間導出部、１０６２  リンク確立時間導出部、１０６３  データ通信判定部、２０１１  経路情報、２０１２  マスタ／スレーブ情報、２０２１  ＢＴアドレス、２０２２  ＢＴクロック、２０２３  パスキー。
【図１】
0004795859.tif 000002
【図２】
0004795859.tif 000003
【図３】
0004795859.tif 000004
【図４】
0004795859.tif 000005
【図５】
0004795859.tif 000006
【図６】
0004795859.tif 000007
【図７】
0004795859.tif 000008
【図８】
0004795859.tif 000009
【図９】
0004795859.tif 000010
【図１０】
0004795859.tif 000011
【図１１】
0004795859.tif 000012
【図１２】
0004795859.tif 000013
【図１３】
0004795859.tif 000014