(57)【要約】【課題】送受信されるデータの属性にかかわらず、ユーザにとって快適なデータ通信環境を提供可能なアドホック無線ネットワークを実現する。【解決手段】無線通信装置１１のモード切替手段１１１は、マスタモードとスレーブモードのいずれかに自装置を切り替える。マスタモードにおいて、能力属性データ取得手段１１３は他の無線通信装置１１の各々のデータ通信能力に関する属性を示す能力属性データを取得する。データ属性データ取得手段１１５は、自装置が中継するデータの属性を示すデータ属性データを取得する。選択手段１１６は、能力属性データが示す他の無線通信装置１１の能力の属性と、データ属性データが示すデータの属性とに基づき、アドホック無線ネットワークにおいて送受信されるデータの属性に照らし、より望ましい能力を備える無線通信装置１１をマスタ装置として選択する。【選択図】図３
2015106786.tif 000002
【特許請求の範囲】
【請求項１】
自装置のモードを、マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとの間で切り替えるモード切替手段と、
複数の無線通信装置の各々との間で無線によるデータ通信を行う通信手段と
を備え、
前記モード切替手段により自装置が前記マスタモードに切り替えられているときに、
前記通信手段は前記複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継し、
前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得する能力属性データ取得手段と、
前記通信手段により中継されるデータの属性を示すデータ属性データを取得するデータ属性データ取得手段と、
前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択する選択手段と、
前記通信手段に、前記選択手段が選択した無線通信装置に対し前記マスタモードへの切り替えを指示する指示データを送信させる指示手段と
を備え、
前記通信手段は、前記指示手段の指示に従い、前記選択手段が選択した無線通信装置に前記指示データを送信し、
前記切替手段は、前記通信手段が前記指示データを送信した後、自装置を前記スレーブモードに切り替え、
前記モード切替手段により自装置が前記スレーブモードに切り替えられているときに、
前記通信手段は、前記複数の無線通信装置のうち前記マスタモードに切り替えられている無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行い、
前記通信手段が、前記マスタモードに切り替えられている無線通信装置から、前記マスタモードへの切り替えを指示する指示データを受信した場合、前記モード切替手段は、自装置を前記マスタモードに切り替える
無線通信装置。
【請求項２】
前記能力属性データは、複数の種別の属性の各々を示し、
前記データ属性データは、複数の種別の属性の各々を示し、
前記選択手段は、前記能力属性データが示す複数の種別の属性と、前記データ属性データが示す複数の種別の属性とのマッチングの程度を特定し、当該特定したマッチングの程度に基づき、前記選択を行う
請求項１に記載の無線通信装置。
【請求項３】
前記データ属性データは、データの種別、データを扱うプログラムの種別、およびデータの送受信に用いられる通信プロトコルの種別のうちの少なくとも１つを示す
請求項１または２に記載の無線通信装置。
【請求項４】
前記モード切替手段により自装置が前記マスタモードに切り替えられているときに、
前記複数の無線通信装置の各々に関し、当該無線通信装置から自装置に発せられる電波の強度を示す電波強度データを取得する電波強度データ取得手段を備え、
前記選択手段は、前記電波強度データ取得手段が取得した前記電波強度データに基づき、前記選択を行う
請求項１乃至３のいずれか１項に記載の無線通信装置。
【請求項５】
前記モード切替手段により自装置が前記マスタモードに切り替えられているときに、
前記複数の無線通信装置の各々に関し、当該無線通信装置の位置を示す位置データを取得する位置データ取得手段を備え、
前記選択手段は、前記位置データ取得手段が取得した前記位置データに基づき、前記選択を行う
請求項１乃至４のいずれか１項に記載の無線通信装置。
【請求項６】
前記モード切替手段により自装置が前記スレーブモードに切り替えられているときに、
自装置の位置を示す位置データを取得する位置データ取得手段と、
自装置の移動を検出する移動検出手段と
を備え、
前記通信手段は、前記移動検出手段により自装置の移動が検出されたとき、前記位置データ取得手段が取得した前記位置データを、前記マスタモードに切り替えられている無線通信装置に対し送信する
請求項５に記載の無線通信装置。
【請求項７】
前記モード切替手段により自装置が前記スレーブモードに切り替えられているときに、
自装置のデータ通信能力の属性を示す能力属性データを生成する能力属性データ生成手段を備え、
前記通信手段は、前記能力属性データ生成手段が生成した前記能力属性データが示す能力属性が所定の条件を満たす変化を示したとき、前記能力属性データ生成手段が生成した前記能力属性データを、前記マスタモードに切り替えられている無線通信装置に対し送信する
請求項１乃至６のいずれか１項に記載の無線通信装置。
【請求項８】
複数の無線通信装置の各々との間で無線によるデータ通信を行う通信手段を備えるコンピュータに、
マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとのいずれかを選択する処理と、
前記マスタモードを選択しているときに、
前記複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継する処理と、
前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得する処理と、
前記中継するデータ通信において送受信されるデータの属性を示すデータ属性データを取得する処理と、
前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択する処理と、
前記選択した無線通信装置に対し前記マスタモードの選択を指示する指示データを送信する処理と、
前記指示データを送信した後に、前記スレーブモードを選択する処理と、
前記スレーブモードを選択しているときに、
前記複数の無線通信装置のうち前記マスタモードを選択している無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行う処理と、
前記マスタモードを選択している無線通信装置から、前記マスタモードの選択を指示する指示データを受信する処理と、
前記指示データを受信した後に、前記マスタモードを選択する処理と
を実行させるためのプログラム。
【請求項９】
複数の無線通信装置の各々との間で無線によるデータ通信を行う通信手段を備えるコンピュータに、
マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとのいずれかを選択する処理と、
前記マスタモードを選択しているときに、
前記複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継する処理と、
前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得する処理と、
前記中継するデータ通信において送受信されるデータの属性を示すデータ属性データを取得する処理と、
前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択する処理と、
前記選択した無線通信装置に対し前記マスタモードの選択を指示する指示データを送信する処理と、
前記指示データを送信した後に、前記スレーブモードを選択する処理と、
前記スレーブモードを選択しているときに、
前記複数の無線通信装置のうち前記マスタモードを選択している無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行う処理と、
前記マスタモードを選択している無線通信装置から、前記マスタモードの選択を指示する指示データを受信する処理と、
前記指示データを受信した後に、前記マスタモードを選択する処理と
を実行させるためのプログラムを前記コンピュータに読み取り可能に持続的に記録した記録媒体。
【請求項１０】
一の無線通信装置が、マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとのいずれかを選択するステップと、
前記一の無線通信装置が、前記マスタモードを選択しているときに、
前記一の無線通信装置とは異なる複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継するステップと、
前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得するステップと、
前記中継するステップにおいて中継するデータの属性を示すデータ属性データを取得するステップと、
前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択するステップと、
前記選択した無線通信装置に対し前記マスタモードの選択を指示する指示データを送信するステップと、
前記指示データを送信した後に、前記スレーブモードを選択するステップと、
前記一の無線通信装置が、前記スレーブモードを選択しているときに、
前記複数の無線通信装置のうち前記マスタモードを選択している無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行うステップと、
前記マスタモードを選択している無線通信装置から、前記マスタモードの選択を指示する指示データを受信するステップと、
前記指示データを受信した後に、前記マスタモードを選択するステップと
を備える無線ネットワークの構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ネットワークを構築する仕組みに関する。
【背景技術】
【０００２】
固定したアクセスポイントの中継によらずに複数の無線通信装置が互いにデータ通信を行う無線ネットワーク（以下、「アドホック無線ネットワーク」という）を構築する技術がある。
【０００３】
例えば、特許文献１には、複数の無線端末の中の一つが暫定の親機となり、他の無線端末の蓄電池の残量と転送レートに関する情報を収集し、収集したこれらの情報に基づき真の親機を選定し、選定した真の親機に親機の役割を引き渡すことにより、親機の能力不足による通信障害を回避可能なアドホック無線ネットワークの構築技術が記載されている。
【０００４】
また、特許文献２には、マスタがスレーブからパフォーマンス・パラメータ（スレーブのバッテリ残量、ＣＰＵ能力、メモリリソース、電界強度値、等）を受信し、受信したパフォーマンス・パラメータに基づきバックアップマスタを選定し、選定したバックアップマスタをスレーブに報知しておき、マスタが離脱した時にバックアップマスタが新たなマスタとして機能することで、スムーズなマスタの切り替えを可能とするアドホック無線ネットワークの構築技術が記載されている。
【０００５】
また、特許文献３には、マスタ機がスレーブ機の各々の受信レベルをモニタするとともに、スレーブ機の各々が他のスレーブ機の各々の受信レベルをモニタし、マスタ機におけるスレーブ機のいずれかの受信レベルが基準値を下回った場合、当該スレーブ機における受信レベルが基準値以上である他のスレーブ機を新たなマスタ機として選択し、新たなマスタ機に対しマスタ機の役割を引き渡すことにより、マスタ機もしくはスレーブ機の移動によるマスタ機とスレーブ機との間の接続の切断を回避または当該切断からの回復を可能とするアドホック無線ネットワークの構築技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−１４５２７６号公報
【特許文献２】特開２００４−１２９０４２号公報
【特許文献３】特開２００２−２７１３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アドホック無線ネットワークに属する無線通信装置の間で送受信されるデータの属性は一様ではない。従って、アドホック無線ネットワークにおけるマスタ装置に求められる属性も一様ではない。
【０００８】
例えば、ストリーミング再生に用いられるデータがアドホック無線ネットワークにおいて送受信される場合、マスタ装置には、データ通信の安定性と持続性が求められる。一方、ダウンロードされた後に用いられるデータがアドホック無線ネットワークにおいて送受信される場合、マスタ装置には、データ通信の安定性と持続性はあまり求められない。
【０００９】
また、ストリーミング再生に用いられるデータが動画データのように高い転送レートを必要とする場合や、サーズの大きいデータが送受信される場合、マスタ装置には、データ通信の高速性が求められる。一方、ストリーミング再生に用いられるデータが音楽データのようにあまり高い転送レートを必要としない場合や、サーズの小さいデータが送受信される場合、マスタ装置には、データ通信の高速性はあまり求められない。
【００１０】
このように、アドホック無線ネットワークにおいて送受信されるデータの属性によって、マスタ装置に求められる能力も異なる。例えば、スレーブ装置の多くがアドホック無線ネットワークを介してストリーミング再生のためのデータを送受信している場合、マスタ装置が仮に高速にデータ転送を行う能力を持っていてもデータ転送の安定性を欠いていれば、スレーブ装置のユーザにとって快適なデータ通信環境が提供されないことになる。また、例えば、スレーブ装置の多くが比較的サイズの大きいファイルの送受信を行っている場合、マスタ装置のデータ転送が安定していても、データ転送を高速に行うことができなければ、スレーブ装置のユーザにとって快適なデータ通信環境が提供されないことになる。
【００１１】
本発明は上記の事情に鑑み、送受信されるデータの属性にかかわらず、ユーザにとって快適なデータ通信環境を提供可能なアドホック無線ネットワークを実現することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決するため、本発明は、自装置のモードを、マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとの間で切り替えるモード切替手段と、複数の無線通信装置の各々との間で無線によるデータ通信を行う通信手段とを備え、前記モード切替手段により自装置が前記マスタモードに切り替えられているときに、前記通信手段は前記複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継し、前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得する能力属性データ取得手段と、前記通信手段により中継されるデータの属性を示すデータ属性データを取得するデータ属性データ取得手段と、前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択する選択手段と、前記通信手段に、前記選択手段が選択した無線通信装置に対し前記マスタモードへの切り替えを指示する指示データを送信させる指示手段とを備え、前記通信手段は、前記指示手段の指示に従い、前記選択手段が選択した無線通信装置に前記指示データを送信し、前記切替手段は、前記通信手段が前記指示データを送信した後、自装置を前記スレーブモードに切り替え、前記モード切替手段により自装置が前記スレーブモードに切り替えられているときに、前記通信手段は、前記複数の無線通信装置のうち前記マスタモードに切り替えられている無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行い、前記通信手段が、前記マスタモードに切り替えられている無線通信装置から、前記マスタモードへの切り替えを指示する指示データを受信した場合、前記モード切替手段は、自装置を前記マスタモードに切り替える無線通信装置を提供する。
【００１３】
上記の無線通信装置において、前記能力属性データは、複数の種別の属性の各々を示し、前記データ属性データは、複数の種別の属性の各々を示し、前記選択手段は、前記能力属性データが示す複数の種別の属性と、前記データ属性データが示す複数の種別の属性とのマッチングの程度を特定し、当該特定したマッチングの程度に基づき、前記選択を行う、という構成が採用されてもよい。
【００１４】
また、上記の無線通信装置において、前記データ属性データは、データの種別、データを扱うプログラムの種別、およびデータの送受信に用いられる通信プロトコルの種別のうちの少なくとも１つを示す、という構成が採用されてもよい。
【００１５】
また、上記の無線通信装置において、前記モード切替手段により自装置が前記マスタモードに切り替えられているときに、前記複数の無線通信装置の各々に関し、当該無線通信装置から自装置に発せられる電波の強度を示す電波強度データを取得する電波強度データ取得手段を備え、前記選択手段は、前記電波強度データ取得手段が取得した前記電波強度データに基づき、前記選択を行う、という構成が採用されてもよい。
【００１６】
また、上記の無線通信装置において、前記モード切替手段により自装置が前記マスタモードに切り替えられているときに、前記複数の無線通信装置の各々に関し、当該無線通信装置の位置を示す位置データを取得する位置データ取得手段を備え、前記選択手段は、前記位置データ取得手段が取得した前記位置データに基づき、前記選択を行う、という構成が採用されてもよい。
【００１７】
また、上記の無線通信装置において、前記モード切替手段により自装置が前記スレーブモードに切り替えられているときに、自装置の位置を示す位置データを取得する位置データ取得手段と、自装置の移動を検出する移動検出手段とを備え、前記通信手段は、前記移動検出手段により自装置の移動が検出されたとき、前記位置データ取得手段が取得した前記位置データを、前記マスタモードに切り替えられている無線通信装置に対し送信する、という構成が採用されてもよい。
【００１８】
また、上記の無線通信装置において、前記モード切替手段により自装置が前記スレーブモードに切り替えられているときに、自装置のデータ通信能力の属性を示す能力属性データを生成する能力属性データ生成手段を備え、前記通信手段は、前記能力属性データ生成手段が生成した前記能力属性データが示す能力属性が所定の条件を満たす変化を示したとき、前記能力属性データ生成手段が生成した前記能力属性データを、前記マスタモードに切り替えられている無線通信装置に対し送信する、という構成が採用されてもよい。
【００１９】
また、本発明は、複数の無線通信装置の各々との間で無線によるデータ通信を行う通信手段を備えるコンピュータに、マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとのいずれかを選択する処理と、前記マスタモードを選択しているときに、前記複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継する処理と、前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得する処理と、前記中継するデータ通信において送受信されるデータの属性を示すデータ属性データを取得する処理と、前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択する処理と、前記選択した無線通信装置に対し前記マスタモードの選択を指示する指示データを送信する処理と、前記指示データを送信した後に、前記スレーブモードを選択する処理と、前記スレーブモードを選択しているときに、前記複数の無線通信装置のうち前記マスタモードを選択している無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行う処理と、前記マスタモードを選択している無線通信装置から、前記マスタモードの選択を指示する指示データを受信する処理と、前記指示データを受信した後に、前記マスタモードを選択する処理とを実行させるためのプログラムを提供する。
【００２０】
また、本発明は、複数の無線通信装置の各々との間で無線によるデータ通信を行う通信手段を備えるコンピュータに、マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとのいずれかを選択する処理と、前記マスタモードを選択しているときに、前記複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継する処理と、前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得する処理と、前記中継するデータ通信において送受信されるデータの属性を示すデータ属性データを取得する処理と、前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択する処理と、前記選択した無線通信装置に対し前記マスタモードの選択を指示する指示データを送信する処理と、前記指示データを送信した後に、前記スレーブモードを選択する処理と、前記スレーブモードを選択しているときに、前記複数の無線通信装置のうち前記マスタモードを選択している無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行う処理と、前記マスタモードを選択している無線通信装置から、前記マスタモードの選択を指示する指示データを受信する処理と、前記指示データを受信した後に、前記マスタモードを選択する処理とを実行させるためのプログラムを前記コンピュータに読み取り可能に持続的に記録した記録媒体を提供する。
【００２１】
また、本発明は、一の無線通信装置が、マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとのいずれかを選択するステップと、前記一の無線通信装置が、前記マスタモードを選択しているときに、前記一の無線通信装置とは異なる複数の無線通信装置のうちの任意の２以上の無線通信装置の間のデータ通信を中継するステップと、前記複数の無線通信装置の各々に関し、当該無線通信装置のデータ通信能力の属性を示す能力属性データを取得するステップと、前記中継するステップにおいて中継するデータの属性を示すデータ属性データを取得するステップと、前記能力属性データと前記データ属性データとに基づき、前記複数の無線通信装置の中からマスタ装置として動作すべき無線通信装置を選択するステップと、前記選択した無線通信装置に対し前記マスタモードの選択を指示する指示データを送信するステップと、前記指示データを送信した後に、前記スレーブモードを選択するステップと、前記一の無線通信装置が、前記スレーブモードを選択しているときに、前記複数の無線通信装置のうち前記マスタモードを選択している無線通信装置を介して前記複数の無線通信装置のうちの任意の無線通信装置との間でデータ通信を行うステップと、前記マスタモードを選択している無線通信装置から、前記マスタモードの選択を指示する指示データを受信するステップと、前記指示データを受信した後に、前記マスタモードを選択するステップとを備える無線ネットワークの構築方法を提供する。
【発明の効果】
【００２２】
本発明によれば、アドホック無線ネットワークにおいて送受信されるデータの属性に応じたデータ通信能力を備える無線通信装置がマスタ装置として選択される。そのため、アドホック無線ネットワークにおいて送受信されるデータの属性にかかわらず、ユーザにとって快適なデータ通信環境が提供される。
【図面の簡単な説明】
【００２３】
【図１】一実施形態にかかるアドホック無線ネットワークの全体構成を示した図である。
【図２】一実施形態にかかる無線通信装置のハードウェアを構成するコンピュータの構成を示した図である。
【図３】一実施形態にかかる無線通信装置の構成を示した図である。
【図４】一実施形態にかかる無線通信装置が用いる装置ＤＢの構成を示した図である。
【図５】一実施形態にかかる無線通信装置が用いる変換後装置ＤＢの構成を示した図である。
【図６】一実施形態にかかる無線通信装置が用いるデータ属性ＤＢの構成を示した図である。
【図７】一実施形態にかかる無線通信装置が用いる変換後データ属性ＤＢの構成を示した図である。
【図８】一実施形態にかかるアドホック無線ネットワークの全体構成を示した図である。
【図９】一実施形態及び一変形例にかかるアドホック無線ネットワークにおいてマスタ装置の切り替えが行われる様子を示した図である。
【発明を実施するための形態】
【００２４】
［実施形態］
以下に、本発明の一実施形態にかかるアドホック無線ネットワーク１を説明する。図１は、アドホック無線ネットワーク１の全体構成を示した図である。アドホック無線ネットワーク１は、各々がマスタ装置とスレーブ装置のいずれとしても機能可能な複数の無線通信装置を備える。図１においては、例として、無線通信装置１１Ａ、無線通信装置１１ｂ、無線通信装置１１ｃ、無線通信装置１１ｄ、の４つの無線通信装置が示されている。以下、アドホック無線ネットワーク１に属する無線通信装置を個々に区別しない場合、それらを無線通信装置１１という。なお、無線通信装置１１の数はアドホック無線ネットワーク１を利用するユーザの数に応じて任意に変化する。
【００２５】
図１は、無線通信装置１１Ａがマスタ装置であり、他の無線通信装置１１がスレーブ装置である状況を例示している。以下、マスタ装置の無線通信装置１１には、「無線通信装置１１Ａ」のように、末尾に大文字の英文字を付し、スレーブ装置の無線通信装置１１には、「無線通信装置１１ｂ」のように、末尾に小文字の英文字を付す。従って、例えばマスタ装置であった無線通信装置１１Ａがスレーブ装置に切り替わると無線通信装置１１ａとなる。
【００２６】
無線通信装置１１のハードウェアは、無線通信機能を備えた一般的なコンピュータであり、その形態は、タブレット端末、スマートフォン、携帯ゲーム端末等のいずれであってもよい。
【００２７】
図２は、無線通信装置１１のハードウェアを構成するコンピュータの一例として、タッチディスプレイを備えるスレート型のコンピュータ１０の構成を例示した図である。コンピュータ１０は、メモリ１０１と、プロセッサ１０２と無線通信ＩＦ（Interface）１０３と、タッチディスプレイ１０４と、クロック１０５とを備えている。また、これらの構成部はバス１０９を介して互いに接続されている。さらに、コンピュータ１０は、これらの構成部に電力を供給するバッテリ１０６を備えている。
【００２８】
メモリ１０１は揮発性半導体メモリや不揮発性半導体メモリ等を有する記憶装置であり、ＯＳ（Operation System）、アプリケーションプログラム、ユーザデータ等の各種データを記憶するとともに、プロセッサ１０２によるデータ処理における作業領域として利用される。プロセッサ１０２はＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）等の処理装置である。無線通信ＩＦ１０３は無線により他の無線通信装置との間でデータの送受信を行うインタフェースである。
【００２９】
タッチディスプレイ１０４は、ディスプレイ１０４１とタッチパネル１０４２を有している。ディスプレイ１０４１は、例えば液晶ディスプレイ等の表示装置であり、文字、図形、写真等を表示する。タッチパネル１０４２は、例えば静電容量方式のタッチパネルであり、指等のポインタが接触（以下、「タッチ」という）した場合、当該接触の位置を特定することによりユーザの操作を受け付ける入力デバイスである。
【００３０】
ディスプレイ１０４１とタッチパネル１０４２は積層配置されており、ディスプレイ１０４１に表示されている画像に対しユーザがタッチ操作を行うと、実際にはタッチパネル１０４２に指等が接触し、その位置が特定される。プロセッサ１０２は、ＯＳやアプリケーションプログラムに従い、タッチパネル１０４２により特定された位置に基づき、タッチによるユーザの意図した操作の内容を特定する。
【００３１】
クロック１０５は基準時刻からの経過時間を継続的に計測し、現在時刻を示す時刻データを生成する装置である。
【００３２】
なお、図２に示した構成はコンピュータ１０の構成の例示であって、無線通信装置１１の各々のハードウェアを構成するコンピュータ１０の構成は様々に変わり得る。例えば、コンピュータ１０が音を発生する音源ユニットやスピーカ、音を拾音するマイク等の他の構成部を備えてもよい。また、コンピュータ１０が、タッチパネル１０４２に代えて物理的な操作ボタンを備えてもよい。
【００３３】
コンピュータ１０は、プロセッサ１０２がメモリ１０１に記憶されているプログラムに従う処理を行うことにより、図３に示す構成部を備える無線通信装置１１として機能する。
【００３４】
無線通信装置１１は、まず、自装置のモードを、マスタ装置として動作するマスタモードと、スレーブ装置として動作するスレーブモードとの間で切り替えるモード切替手段１１１と、他の無線通信装置１１の各々との間で無線によるデータ通信を行う通信手段１１２とを備える。
【００３５】
通信手段１１２は、スレーブ装置である他の無線通信装置１１からの要求に応じて、他の複数の無線通信装置１１の間のデータ通信を中継する。一方、モード切替手段１１１により自装置がスレーブモードに切り替えられている場合、通信手段１１２は、マスタ装置である他の無線通信装置１１を介して、スレーブ装置である他の任意の無線通信装置１１との間でデータ通信を行うことができる。
【００３６】
また、無線通信装置１１は、モード切替手段１１１により自装置がマスタモードに切り替えられている場合に動作する構成部として、能力属性データ取得手段１１３、電波強度データ取得手段１１４、データ属性データ取得手段１１５、選択手段１１６、指示手段１１７を備える。
【００３７】
能力属性データ取得手段１１３は、通信手段１１２が他の無線通信装置１１から受信する能力属性データを通信手段１１２から取得する。能力属性データとは、スレーブ装置である他の無線通信装置１１の各々のデータ通信能力の属性を示すデータであり、本実施形態においては以下のデータにより構成される。
【００３８】
（１）データ転送速度データ：実行可能なデータ転送の最高速度を示す。
（２）動作可能時間データ：マスタ装置として動作可能な時間を示す。
【００３９】
なお、動作可能時間データが示す時間（無線通信装置１１がマスタ装置として動作可能な時間）は、各々の無線通信装置１１が備えるバッテリ１０６の蓄電残量の変化に伴い変化する。
【００４０】
電波強度データ取得手段１１４は、スレーブ装置である他の無線通信装置１１の各々から自装置に発せられる電波の強度を示す電波強度データを通信手段１１２から取得する。そのため、通信手段１１２は、例えば所定時間の経過毎に他の無線通信装置１１から受信する電波の強度を示す電波強度データを生成し、電波強度データ取得手段１１４に引き渡す。
【００４１】
データ属性データ取得手段１１５は、通信手段１１２により中継されるデータの属性を示すデータ属性データを通信手段１１２から取得する。本実施形態において、データ属性データは以下のデータにより構成される。
【００４２】
（１）通信プロトコル識別データ：通信手段１１２がデータの中継に用いる通信プロトコルを識別する。
（２）転送レートデータ：通信手段１１２がストリーミング再生用のデータを中継する場合に、要求される転送レートを示す。
（３）プログラム識別データ：通信手段１１２が中継するデータを使用するプログラム（データの受信側のスレーブ装置で実行されているプログラム）を識別する。
（４）データサイズデータ：通信手段１１２が中継するデータのサイズを示す。
【００４３】
なお、データ属性データを構成するこれらのデータは、例えば、通信手段１１２が中継するデータのヘッダにメタデータとして付加されているデータである。
【００４４】
選択手段１１６は、能力属性データ取得手段１１３が取得した能力属性データ、電波強度データ取得手段１１４が取得した電波強度データ、データ属性データ取得手段１１５が取得したデータ属性データに基づき、自装置よりマスタ装置として適している無線通信装置１１の有無を判定し、自装置よりマスタ装置として適している無線通信装置１１がある場合、それらの無線通信装置１１のうち最もマスタ装置として適しているものを新たなマスタ装置として選択する。
【００４５】
以下に、選択手段１１６が行う新たなマスタ装置の選択の処理を説明する。図４は、メモリ１０１に記憶され、選択手段１１６により管理される装置ＤＢ（Database）の構成を示した図である。装置ＤＢは、マスタ装置として動作している自装置と、スレーブ装置として動作している他の全ての無線通信装置１１の各々に関し、能力属性と電波強度を示すデータを格納するデータベースである。
【００４６】
装置ＤＢは、無線通信装置１１の各々に応じたデータレコードの集まりであり、データフィールドとして［装置ＩＤ］、［データ転送速度］、［動作可能時間］、［電波強度］を備える。以下、［（フィールド名）］は、フィールド名により識別されるデータフィールドを示す。
【００４７】
［装置ＩＤ］は無線通信装置１１の各々を識別する装置ＩＤを格納する。装置ＩＤは、各々の無線通信装置１１がアドホック無線ネットワーク１に接続する際にマスタ装置から付与され、装置ＤＢに登録される。
【００４８】
［データ転送速度］および［動作可能時間］には、能力属性データ取得手段１１３により取得された能力属性データ（最新のもの）に含まれるデータ転送速度データおよび動作可能時間データが格納される。
【００４９】
ただし、マスタ装置として動作している自装置に関しては、自装置内で取得されるデータがそれらのデータフィールドに格納される。例えば、メモリ１０１には、予め、自装置の無線通信ＩＦ１０３により実行可能なデータ転送の最高速度を示すデータ転送速度データが記憶されている。マスタ装置として動作する無線通信装置１１は、メモリ１０１に予め記憶されている自装置のデータ転送速度データを、装置ＤＢの自装置に関する［データ転送速度］に格納する。また、選択手段１１６は、例えば所定時間の経過毎に、自装置のバッテリ１０６から現在の蓄電残量を示す蓄電残量データを取得し、例えば予めメモリ１０１に記憶されている変換式または変換表に従い、マスタ装置として動作する際の動作可能時間を特定する。選択手段１１６は、特定した自装置の動作可能時間を示す動作可能時間データを、装置ＤＢの自装置に関する［動作可能時間］に格納する。
【００５０】
装置ＤＢの［電波強度］には、電波強度データ取得手段１１４により取得された電波強度データ（最新のもの）が格納される。なお、マスタ装置として動作している自装置に関しては、［電波強度］は空欄となる。
【００５１】
選択手段１１６は、図４に示した装置ＤＢのデータに基づき、無線通信装置１１の各々が有するデータ転送速度に関する能力と動作可能時間に関する能力の高低を各々数値で示す指標を生成する。また、選択手段１１６は、図４に示した装置ＤＢのデータに基づき、無線通信装置１１の各々がマスタ装置として動作する際に十分な強度の電波を発しているか否かを判定し、その判定結果を示すデータを生成する。選択手段１１６は、そのように生成したデータを、図５に示す構成の変換後装置ＤＢに格納して管理する。
【００５２】
変換後装置ＤＢは、データフィールド［装置ＩＤ］、［速度指標］、［時間指標］、［電波強度（Ｙｅｓ／Ｎｏ）］を備える。変換後装置ＤＢの［装置ＩＤ］には装置ＤＢと同様の装置ＩＤが格納される。変換後装置ＤＢの［速度指標］には、装置ＤＢの［データ転送速度］に格納されるデータが示すデータ転送速度の高低を示す、例えば１０以下の実数が格納される。変換後装置ＤＢの［時間指標］には、装置ＤＢの［動作可能時間］に格納されるデータが示す動作可能時間の長短を示す、例えば１０以下の実数が格納される。
【００５３】
変換後装置ＤＢの［電波強度（Ｙｅｓ／Ｎｏ）］には、装置ＤＢの［電波強度］に格納されるデータが示す電波強度が基準値以上であれば、マスタ装置としての動作に要する電波強度があることを示す「Ｙｅｓ」が格納され、基準値未満であれば、マスタ装置としての動作に要する電波強度がないことを示す「Ｎｏ」が格納される。ただし、自装置に関しては、変換後装置ＤＢの［電波強度（Ｙｅｓ／Ｎｏ）］には常に「Ｙｅｓ」が格納される。
【００５４】
変換後装置ＤＢの［速度指標］と［時間指標]に格納されるデータは、無線通信装置１１のデータ通信能力を構成する、速度と時間という２つの要素の各々の高低を示すデータであり、同時にそれらの要素間のバランスを示す。
【００５５】
また、選択手段１１６は、データ属性データ取得手段１１５により取得されたデータ属性データに基づき、アドホック無線ネットワーク１において送受信されるデータの属性を特定するために、データ属性ＤＢを管理している。図６は、メモリ１０１に記憶され、選択手段１１６により管理されるデータ属性ＤＢの構成を示した図である。データ属性ＤＢは、過去の所定期間内にデータ属性データ取得手段１１５が通信手段１１２から取得したデータ属性データを、取得した時刻を示すデータとともに格納するデータベースである。
【００５６】
データ属性ＤＢは、マスタ装置の通信手段１１２が過去の所定期間内に中継したデータ（例えばファイル単位）の各々に関するデータレコードの集まりであり、データフィールドとして［データＩＤ]、［受信時刻］、［通信プロトコルＩＤ］、［ストリーミング（Ｙｅｓ／Ｎｏ）］、［転送レート］、［プログラムＩＤ］、［リアルタイム（Ｙｅｓ／Ｎｏ）］、［データサイズ］を備える。
【００５７】
［データＩＤ］はデータの各々を識別するデータＩＤを格納する。データＩＤは、データ属性データ取得手段１１５が新たなデータ属性データを取得する毎に、選択手段１１６によりデータ属性ＤＢに登録される。
【００５８】
［受信時刻］は、データ属性データが取得された際にクロック１０５により生成された現在時刻を示す時刻データを格納する。選択手段１１６は［受信時刻］に格納されるデータが示す時刻が、現在時刻から所定期間外となると、そのデータレコードをデータ属性ＤＢから削除する。従って、データ属性ＤＢには常に、過去の所定期間内にマスタ装置により中継されたデータに関するデータ属性データのみが格納されることになる。
【００５９】
［通信プロトコルＩＤ]、［転送レート］、［プログラムＩＤ］、［データサイズ］には各々、データ属性データ取得手段１１５が取得したデータ属性データに含まれる、通信プロトコル識別データ、転送レートデータ、プログラム識別データ、データサイズデータが格納される。
【００６０】
［ストリーミング（Ｙｅｓ／Ｎｏ）］には、［通信プロトコルＩＤ］に格納されるデータにより識別される通信プロトコルが、ストリーミング再生用の通信プロトコルであれば「Ｙｅｓ」が格納され、ストリーミング再生用の通信プロトコルでなければ「Ｎｏ」が格納される。例えば、メモリ１０１には予め、ストリーミング再生用の通信プロトコルのリストが記憶されており、選択手段１１６はそのリストに従い、［ストリーミング（Ｙｅｓ／Ｎｏ）］に「Ｙｅｓ」または「Ｎｏ」を格納する。
【００６１】
［リアルタイム（Ｙｅｓ／Ｎｏ）］には、［プログラムＩＤ］に格納されるデータにより識別されるプログラムが、リアルタイム性を要求するプログラムであれば「Ｙｅｓ」が格納され、リアルタイム性を要求しないプログラムであれば「Ｎｏ」が格納される。なお、リアルタイム性を要求するプログラムとは、例えばシューティングゲーム等のプログラムである。メモリ１０１には予め、リアルタイム性を要求するプログラムのリストが記憶されており、選択手段１１６はそのリストに従い、［リアルタイム（Ｙｅｓ／Ｎｏ）］に「Ｙｅｓ」または「Ｎｏ」を格納する。
【００６２】
選択手段１１６は、図６に示したデータ属性ＤＢのデータに基づき、過去の所定期間内にアドホック無線ネットワーク１においてマスタ装置を介して通信されたデータの各々が、データ転送の高速性に関する高いニーズを持っていたか、また、データ転送の継続時間に関する高いニーズを持っていたか、を判定し、それらの判定結果を示すデータを生成する。選択手段１１６は、そのように生成したデータを、図７に示す構成の変換後データ属性ＤＢに格納して管理する。
【００６３】
変換後データ属性ＤＢは、データフィールド［データＩＤ］、［受信時刻］、［速度ニーズ（Ｙｅｓ／Ｎｏ）］、［時間ニーズ（Ｙｅｓ／Ｎｏ）］を備える。変換後データ属性ＤＢの［データＩＤ］および［受信時刻］にはデータ属性ＤＢと同様のデータが格納される。変換後データ属性ＤＢの［速度ニーズ（Ｙｅｓ／Ｎｏ）］には、マスタ装置により中継されたデータが、データ転送の高速性に関する高いニーズを持っていた場合は「Ｙｅｓ」が格納され、それ以外の場合は「Ｎｏ」が格納される。また、変換後データ属性ＤＢの［時間ニーズ（Ｙｅｓ／Ｎｏ）］には、マスタ装置により中継されたデータが、データ転送の持続時間に関する高いニーズを持っていた場合は「Ｙｅｓ」が格納され、それ以外の場合は「Ｎｏ」が格納される。
【００６４】
選択手段１１６が［速度ニーズ（Ｙｅｓ／Ｎｏ）］および［時間ニーズ（Ｙｅｓ／Ｎｏ）］に格納するデータを決定する方法を以下に例示する。まず、選択手段１１６は、［速度ニーズ（Ｙｅｓ／Ｎｏ）］および［時間ニーズ（Ｙｅｓ／Ｎｏ）］に初期値として「Ｎｏ」を格納する。続いて、選択手段１１６は、データ属性ＤＢの［ストリーミング（Ｙｅｓ／Ｎｏ）］に「Ｙｅｓ」が格納されている場合、変換後データ属性ＤＢの［時間ニーズ（Ｙｅｓ／Ｎｏ）］を「Ｙｅｓ」で上書きする。マスタ装置により中継されるデータがストリーミング再生用のデータであれば、通常、そのデータの中継は長時間、持続される必要があるためである。
【００６５】
続いて、選択手段１１６は、データ属性ＤＢの［転送レート］に格納されているデータが示す転送レートが基準値以上であれば、変換後データ属性ＤＢの［速度ニーズ（Ｙｅｓ／Ｎｏ）］を「Ｙｅｓ」で上書きする。続いて、選択手段１１６は、データ属性ＤＢの［リアルタイム（Ｙｅｓ／Ｎｏ）］に「Ｙｅｓ」が格納されている場合、変換後データ属性ＤＢの［速度ニーズ（Ｙｅｓ／Ｎｏ）］を「Ｙｅｓ」で上書きする。
【００６６】
続いて、選択手段１１６は、データ属性ＤＢの［データサイズ］に格納されているデータが示すデータサイズが、第１の基準値以上であれば、変換後データ属性ＤＢの［速度ニーズ（Ｙｅｓ／Ｎｏ）］を「Ｙｅｓ」で上書きする。この第１の基準値は、データ転送速度が速くない無線通信装置１１がマスタ装置となった場合、データの受信側の無線通信装置１１のユーザがストレスを感じる程度のデータサイズを示す基準値（例えば、数メガバイト〜数十メガバイト程度のデータサイズを示す）である。
【００６７】
さらに、選択手段１１６は、データ属性ＤＢの［データサイズ］に格納されているデータが示すデータサイズが、第２の基準値以上であれば、変換後データ属性ＤＢの［時間ニーズ（Ｙｅｓ／Ｎｏ）］を「Ｙｅｓ」で上書きする。この第２の基準値は、データ転送速度が速い無線通信装置１１がマスタ装置となった場合であっても、データの送受信の完了までに数分〜十数分程度の時間を要するデータサイズを示す基準値（例えば、数十メガバイト〜数百メガバイト程度のデータサイズを示す）である。
【００６８】
上記のように選択手段１１６によるデータの上書きを終えた変換後データ属性ＤＢの［速度ニーズ（Ｙｅｓ／Ｎｏ）］と［時間ニーズ（Ｙｅｓ／Ｎｏ）]に格納されるデータは、マスタ装置により中継されたデータの属性を構成する、速度と時間という２つの要素の各々に関するニーズの高低を示す。
【００６９】
選択手段１１６は、続いて、変換後データ属性ＤＢに格納されているデータレコードのうち、［速度ニーズ（Ｙｅｓ／Ｎｏ）］に「Ｙｅｓ」が格納されているデータレコードの数ＮSと、［時間ニーズ（Ｙｅｓ／Ｎｏ）］に「Ｙｅｓ」が格納されているデータレコードの数ＮTとをカウントする。
【００７０】
選択手段１１６は、ＮSを、アドホック無線ネットワーク１に属する全ての無線通信装置１１が全体として、データ転送速度に関しどの程度の高いニーズを持っているか、を示す指標として利用する。また、選択手段１１６は、ＮTを、アドホック無線ネットワーク１に属する全ての無線通信装置１１が全体として、データ転送の持続時間に関しどの程度の高いニーズを持っているか、を示す指標として利用する。
【００７１】
続いて、選択手段１１６は、変換後装置ＤＢ（図５）から、［速度指標］が基準値以上であり、［時間指標］が基準値以上であり、［電波強度（Ｙｅｓ／Ｎｏ）］が「Ｙｅｓ」であるデータレコードを抽出する。このように抽出されたデータレコードの［装置ＩＤ］により識別される無線通信装置１１は、マスタ装置として動作可能な無線通信装置１１の候補である。
【００７２】
続いて、選択手段１１６は、上記のように変換後装置ＤＢから抽出したデータレコードの中から、［速度指標］と［時間指標］の比が、変換後データ属性ＤＢ（図７）からカウントしたＮSとＮTの比と最も近いデータレコードを特定する。選択手段１１６は、このように特定したデータレコードの［装置ＩＤ］が示す無線通信装置１１を、その時点で最もマスタ装置として適している無線通信装置１１であると判断する。
【００７３】
続いて、選択手段１１６は、上記のように特定した無線通信装置１１が自装置である場合、その時点では自装置よりマスタ装置として適する他の無線通信装置１１は無い、と判定する。この場合、マスタ装置として動作している無線通信装置１１はマスタモードを維持し、マスタ装置としての動作を継続する。
【００７４】
一方、上記のように特定した無線通信装置１１が自装置でない場合、選択手段１１６はその無線通信装置１１をその時点で自装置よりマスタ装置として適する無線通信装置１１であると判定し、この無線通信装置１１の装置ＩＤを新たなマスタ装置の装置ＩＤとして指示手段１１７に引き渡す。以上が選択手段１１６の処理の説明である。
【００７５】
図３に戻り、無線通信装置１１の構成の説明を続ける。指示手段１１７は、選択手段１１６から新たなマスタ装置の装置ＩＤを引き渡されると、その装置ＩＤにより識別される無線通信装置１１に対しマスタモードへの切り替えを指示する指示データを生成し、通信手段１１２に引き渡す。通信手段１１２は指示手段１１７から引き渡された指示データを、新たなマスタ装置として動作する無線通信装置１１に対し送信する。
【００７６】
その後、通信手段１１２は、新たなマスタ装置との間でマスタ装置の切り替えに伴うデータの送信を行う。マスタ装置の切り替えに伴うデータには、例えば、装置ＤＢ（図４）、変換後装置ＤＢ（図５）、データ属性ＤＢ（図６）、変換後データ属性ＤＢ（図７）が含まれる。
【００７７】
これらのデータの送信が完了すると、通信手段１１２は新たなマスタ装置からマスタモードへの切り替えの完了通知を受信する。通信手段１１２はその完了通知をモード切替手段１１１に引き渡し、モード切替手段１１１は完了通知に応じて自装置をスレーブモードに切り替える。
【００７８】
無線通信装置１１は、スレーブモードにおいて動作する構成部として、さらに、能力属性データ生成手段１１８を備える。能力属性データ生成手段１１８は、例えば所定時間の経過毎に、自装置のバッテリ１０６から現在の蓄電残量を示す蓄電残量データを取得し、予めメモリ１０１に記憶されている変換式または変換表に従い、仮にマスタ装置として動作する際の動作可能時間を特定する。能力属性データ生成手段１１８は、このように特定した自装置の動作可能時間を示す動作可能時間データと、メモリ１０１に記憶されている自装置のデータ転送速度データとを含む能力属性データを生成し、通信手段１１２に引き渡す。
【００７９】
通信手段１１２は、能力属性データ生成手段１１８から引き渡された能力属性データをマスタ装置に送信する。
【００８０】
ところで、スレーブモードにおいて、通信手段１１２はマスタ装置から、マスタモードへの切り替えを指示する指示データを受信する場合がある。その場合、通信手段１１２はマスタ装置からマスタ装置の切り替えに伴うデータの受信を行う。その後、通信手段１１２は指示データをモード切替手段１１１に引き渡す。モード切替手段１１１は、指示データに従い自装置のモードをスレーブモードからマスタモードに切り替えた後、マスタモードへの切り替えの完了通知の送信を通信手段１１２に指示する。通信手段１１２はこの指示に従い、それまでマスタ装置であった無線通信装置１１に対し、マスタモードへの切り替えの完了通知を送信するとともに、他の全ての無線通信装置１１に対し、自装置の装置ＩＤを新たなマスタ装置の装置ＩＤとして報知する。以上が、無線通信装置１１の構成である。
【００８１】
上記の構成を備える無線通信装置１１がアドホック無線ネットワーク１を構築する際の動作を以下に説明する。まず、まだアドホック無線ネットワーク１に接続していない無線通信装置１１（以下、無線通信装置１１ａとする）が新たにアドホック無線ネットワーク１に接続する場合の動作を説明する。ユーザがアドホック無線ネットワーク１への接続のための所定の操作を行うと、無線通信装置１１ａはマスタ装置を探すために、例えば自装置に割り当てられているＩＰアドレスのブロードキャストを行う。
【００８２】
アドホック無線ネットワーク１がまだ構築されておらず、マスタ装置がない場合、無線通信装置１１ａのブロードキャストにはいずれの装置も応答しない。その場合、無線通信装置１１ａは自装置をマスタモードに切り替える。（以下、マスタモードに切り替わった後の無線通信装置１１ａは無線通信装置１１Ａと記載される。）
【００８３】
その後、無線通信装置１１Ａは、他の無線通信装置１１（以下、無線通信装置１１ｂとする）からＩＰアドレスのブロードキャストを受信すると、装置ＤＢ（図４）に無線通信装置１１ｂのデータレコードを追加し、無線通信装置１１ｂに装置ＩＤを割り当て、当該装置ＩＤを無線通信装置１１ｂに通知する。無線通信装置１１Ａから装置ＩＤの通知を受けた無線通信装置１１ｂは、無線通信装置１１Ａとの間のデータ通信が可能となるとともに、無線通信装置１１Ａを介して、既にスレーブ装置としてアドホック無線ネットワーク１に接続している他の無線通信装置１１との間のデータ通信も可能となる。
【００８４】
図１に例示の状態は、無線通信装置１１Ａがマスタ装置として動作するアドホック無線ネットワーク１に対し、上記の無線通信装置１１ｂと同様に、無線通信装置１１ｃおよび無線通信装置１１ｄが接続した後の状態である。以下、アドホック無線ネットワーク１が図１に示した状態にある場合を例に、無線通信装置１１の動作の説明を続ける。
【００８５】
無線通信装置１１ｂ、無線通信装置１１ｃおよび無線通信装置１１ｄは、アドホック無線ネットワーク１に接続した後、例えば所定時間の経過毎に能力属性データを生成し、通信手段１１２を介して無線通信装置１１Ａに送信する。無線通信装置１１Ａは、無線通信装置１１ｂ、無線通信装置１１ｃおよび無線通信装置１１ｄの各々から送信されてくる能力属性データに従い装置ＤＢ（図４）および変換後装置ＤＢ（図５）を更新する。
【００８６】
また、無線通信装置１１Ａは、無線通信装置１１ｂ、無線通信装置１１ｃおよび無線通信装置１１ｄがそれらの無線通信装置１１の間で行うデータ通信の中継において、新たなデータの中継を開始する毎に、そのデータのヘッダにメタデータとして付加されているデータ属性データを取り出し、取り出したデータ属性データに従いデータ属性ＤＢ（図６）と変換後データ属性ＤＢ（図７）を更新する。
【００８７】
無線通信装置１１Ａは、上記のように各データベースの更新を行う一方で、選択手段１１６により、例えば所定時間の経過毎に、自装置、無線通信装置１１ｂ、無線通信装置１１ｃおよび無線通信装置１１ｄの中でマスタ装置として最も適する無線通信装置１１を特定する処理を行う。
【００８８】
無線通信装置１１Ａは、選択手段１１６により特定したマスタ装置として最も適する無線通信装置１１が自装置である場合、マスタ装置としての動作を継続する。一方、無線通信装置１１Ａは、選択手段１１６により特定したマスタ装置として最も適する無線通信装置１１が自装置でない場合、特定した無線通信装置１１に対しマスタモードへの切り替えを指示する指示データを送信する。以下、無線通信装置１１ｃがマスタ装置として最も適する無線通信装置１１として特定された場合を例に、無線通信装置１１の動作の説明を続ける。
【００８９】
無線通信装置１１ｃは、無線通信装置１１Ａから送信されてくる指示データと、装置ＤＢ、変換後装置ＤＢ、データ属性ＤＢ、変換後データ属性ＤＢ等の各種データとを受信した後、受信した指示データに従い、自装置をマスタモードに切り替える。（以下、マスタモードに切り替わった後の無線通信装置１１ｃは無線通信装置１１Ｃと記載される。）
【００９０】
マスタモードへの切り替えを完了した無線通信装置１１Ｃは、無線通信装置１１Ａにマスタモードへの切り替えの完了通知を送信するとともに、無線通信装置１１ｂおよび無線通信装置１１ｄに対し、自装置の装置ＩＤを新たなマスタ装置の装置ＩＤとして報知する。
【００９１】
無線通信装置１１Ａは、無線通信装置１１Ｃからマスタモードへの切り替えの完了通知を受信すると、自装置をスレーブモードに切り替える。（以下、スレーブモードに切り替わった後の無線通信装置１１Ａは無線通信装置１１ａと記載される。）
【００９２】
スレーブ装置となった無線通信装置１１ａは、その後、無線通信装置１１Ｃを介して、無線通信装置１１ｂおよび無線通信装置１１ｄとの間でデータ通信可能となる。また、無線通信装置１１ｂおよび無線通信装置１１ｄは、その後、無線通信装置１１Ａではなく無線通信装置１１Ｃを介して、他の無線通信装置１１との間でのデータ通信を行う。図８は、マスタ装置が無線通信装置１１Ａから無線通信装置１１Ｃへと切り替わった後の状態を示している。
【００９３】
なお、上記のようにマスタ装置が切り替わっても、ある無線通信装置１１が他の無線通信装置１１との間で行っていたデータ通信は継続される。例えば、アドホック無線ネットワーク１が図１に例示の状態において無線通信装置１１Ａに中継されて行われていた無線通信装置１１ｂと無線通信装置１１ｄとの間のデータ通信は、アドホック無線ネットワーク１が図８に例示の状態に変化した後、無線通信装置１１Ｃの中継により継続される。また、例えば、アドホック無線ネットワーク１が図１に例示の状態において無線通信装置１１Ａと無線通信装置１１ｂとの間で行われていたデータ通信は、アドホック無線ネットワーク１が図８に例示の状態に変化した後、無線通信装置１１Ｃの中継により継続される。
【００９４】
以上述べたように、アドホック無線ネットワーク１によれば、アドホック無線ネットワーク１において送受信されているデータの属性に照らして望ましいデータ通信能力を備える無線通信装置１１がマスタ装置として動作する。そして、アドホック無線ネットワーク１内で送受信されているデータの属性が変化した場合、変化後のデータの属性に照らしてより望ましいデータ通信能力を備える無線通信装置１１があれば、その無線通信装置１１が新たなマスタ装置として動作する。その結果、アドホック無線ネットワーク１において送受信されるデータの属性にかかわらず、快適なデータ通信環境が提供される。
【００９５】
［変形例］
上述したアドホック無線ネットワーク１は本発明の一実施形態であって、本発明の技術的思想の範囲内において様々に変形することができる。以下にそれらの変形の例を示す。
【００９６】
（１）上述した実施形態においては、アドホック無線ネットワーク１は外部のネットワークとは接続されていないものとしたが、アドホック無線ネットワーク１がインターネット等の外部のネットワークと接続されていてもよい。
【００９７】
その場合、例えばマスタ装置として動作する無線通信装置１１が外部のネットワークに接続可能であれば、スレーブ装置として動作する無線通信装置１１がマスタ装置を介して当該外部のネットワーク上の通信装置との間でデータ通信を行うこと可能とする構成が採用されてもよい。
【００９８】
（２）上述した実施形態においては、選択手段１１６がマスタ装置の選択において用いるデータ属性データは、通信プロトコルの種別を示すデータ（通信プロトコル識別データおよびストリーミング再生用の通信プロトコルを示すリスト）、ストリーミング再生用のデータの転送において要求される転送レートを示すデータ（転送レートデータ）、データを扱うプログラムの種別を示すデータ（プログラム識別データおよびリアルタイム性を重視するプログラムのリスト）、データのサイズを示すデータ（データサイズデータ）であるものとしたが、これらのデータの種別および形式は例示であって、データの属性を示す他の種別もしくは形式のデータがデータ属性データとして採用されてもよい。
【００９９】
例えば、プログラム識別データに代えて、中継されるデータのファイル名に付される拡張子に基づきデータを扱うプログラムを特定する構成が採用されてもよい。また、データのヘッダ等に、ストリーミング再生用のデータであるか否かを示すフラグや、リアルタイム性を重視するデータであるか否かを示すフラグを付加し、マスタ装置においてそれらのフラグに基づきデータの属性を判定するようにしてもよい。
【０１００】
（３）上述した実施形態においては、選択手段１１６がマスタ装置の選択において用いる能力属性データは、実現可能なデータ転送の最高速度を示すデータ（データ転送速度データ）と、マスタ装置として動作可能な時間を示すデータ（動作可能時間データ）であるものとしたが、これらのデータの種別および形式は例示であって、無線通信装置１１のデータ通信能力に関する属性を示す他の種別もしくは形式のデータが能力属性データとして採用されてもよい。
【０１０１】
例えば、データ通信速度の安定性を示すデータが能力属性データとして採用されてもよい。また、無線通信装置１１がインターネットに接続可能な場合、インターネットとの間でのデータ通信速度を示すデータが能力属性データとして採用されてもよい。
【０１０２】
（４）上述した実施形態においては、能力属性データおよびデータ属性データは、データ転送速度に関する属性と、データ転送を維持可能な時間に関する属性とを示すデータとして用いられ、これらの２つの要素のマッチングの程度に基づき、マスタ装置として動作すべき無線通信装置１１の選択が行われる構成が採用されている。マスタ装置として動作すべき無線通信装置１１の選択において、能力属性データが示す無線通信装置１１のデータ通信能力に関する属性およびデータ属性データが示すデータの属性のどの要素に注目してそれらのマッチングを行うかは任意に変更可能である。例えば、データ通信の安定性やインターネットへの接続性等の要素に注目して、マスタ装置として動作すべき無線通信装置１１の選択が行われてもよい。
【０１０３】
（５）上述した実施形態においては、マスタ装置として動作する無線通信装置１１は、例えば所定時間の経過毎に、新たなマスタ装置の選択のための処理を行うものとしたが、これに加えて、もしくは代えて、例えば、新たな無線通信装置１１がアドホック無線ネットワーク１に接続された場合や、データ属性ＤＢ等に格納されるデータが所定比率以上に変化した場合、といった所定のイベントの発生に応じて新たなマスタ装置の選択のための処理が行われる構成が採用されてもよい。
【０１０４】
（６）上述した実施形態においては、過去の所定期間内にアドホック無線ネットワーク１において送受信されたデータに関するデータ属性データがデータ属性ＤＢに蓄積され、それらのデータが新たなマスタ装置として動作すべき無線通信装置１１の選択に用いられる構成が採用されている。これに代えて、現時点において送受信が継続中のデータに関するデータ属性データのみが用いられる構成が採用されてもよい。この場合、無線通信装置１１はデータ属性ＤＢのサイズを小さくできる。
【０１０５】
（７）上述した実施形態において、マスタ装置の選択手段１１６は新たなマスタ装置の候補を選択する際、変換後装置ＤＢ（図５）から［電波強度（Ｙｅｓ／Ｎｏ）］が「Ｙｅｓ」であるデータレコードを抽出する。これは、スレーブ装置の各々からマスタ装置が受ける電波の強度が所定基準以上である無線通信装置１１を新たなマスタ装置の候補とすることで、発する電波の強度が絶対的に弱い無線通信装置１１をマスタ装置の候補から排除するとともに、現在のマスタ装置の位置から遠く離れた無線通信装置１１を新たなマスタ装置の候補から排除するためである。
【０１０６】
マスタ装置の切り替えにより、アドホック無線ネットワーク１に属している無線通信装置１１の一部と新たなマスタ装置との距離が離れすぎてしまう結果、それら一部の無線通信装置１１がアドホック無線ネットワーク１から排除されてしまう不都合が生じ得る。図９はこの不都合が生じる状況を説明するための図である。図９（ａ）は、無線通信装置１１Ａが現在のマスタ装置であり、無線通信装置１１ｂ、無線通信装置１１ｃ、無線通信装置１１ｄが現在のスレーブ装置である。また、無線通信装置１１の位置関係は、図に示されるとおりである。
【０１０７】
図９（ｂ）は、マスタ装置が無線通信装置１１Ａから無線通信装置１１ｃに切り替わった後の状態を示している。図９（ｂ）に示す状態において、無線通信装置１１ｄは新たなマスタ装置である無線通信装置１１Ｃから遠く離れてしまい、マスタ装置との通信接続を維持できず、アドホック無線ネットワーク１から排除されてしまっている。図９（ａ）の状態において、仮に無線通信装置１１ｃに加え無線通信装置１１ｂも新たなマスタ装置の候補であるならば、無線通信装置１１ｂが新たなマスタ装置として選択されることが望ましい。図９（ｃ）は、マスタ装置が無線通信装置１１Ａから無線通信装置１１ｂに切り替わった後の状態を示している。図９（ｃ）に示す状態では、スレーブ装置のいずれも新たなマスタ装置との間で通信接続を維持でき、アドホック無線ネットワーク１から排除される無線通信装置は生じない。
【０１０８】
図９（ｂ）に示したような不都合な状態の発生の確率を低減するため、マスタ装置がスレーブ装置の各々の現在の位置を示す位置データを取得し、取得した位置データが示す位置に基づき、新たなマスタ装置の選択を行う構成が採用されてもよい。この構成において、例えば、無線通信装置１１を構成するコンピュータ１０は各々、図２に示した構成部に加え、ＧＰＳ（Global Positioning System）ユニットを備える。また、無線通信装置１１は各々、図３に示した機能構成部に加え、自装置の現在位置を示す位置データを生成する位置データ生成手段（ＧＰＳユニットにより実現される）と、他装置の現在位置を示す位置データを取得する位置データ取得手段とを備える。通信手段１１２は、スレーブモードにおいて、位置データ生成手段により生成された自装置の現在位置を示す位置データを、例えば所定時間の経過毎に、マスタ装置に送信する。また、位置データ取得手段は、マスタモードにおいて、通信手段１１２がスレーブ装置の各々から受信するそれらのスレーブ装置の現在位置を示す位置データを通信手段１１２から取得し、メモリ１０１に記憶する。装置ＤＢ（図４）にはデータフィールド［位置］が設けられており、マスタ装置がスレーブ装置から受信した位置データはこのデータフィールド［位置］に格納される。
【０１０９】
マスタモードにおいて、選択手段１１６は新たなマスタ装置の候補の抽出において、装置ＤＢの［位置］に格納されている位置データに基づき、他のいずれかの無線通信装置１１との間の距離が所定の閾値以上となるスレーブ装置を、新たなマスタ装置の候補から除外する。例えば図９（ａ）の状態において、無線通信装置１１ｃと無線通信装置１１ｄとの距離が所定の閾値以上であれば、マスタ装置である無線通信装置１１Ａは、新たなマスタ装置の選択において、無線通信装置１１ｃと無線通信装置１１ｄを新たなマスタ装置の候補から除外する。その結果、図９（ｂ）に示す状態にはならず、図９（ｃ）に示す状態となる。このように、マスタ装置がスレーブ装置の位置に基づき新たなマスタ装置の選択を行うことにより、いずれかの無線通信装置１１がマスタ装置の切り替えに伴いアドホック無線ネットワーク１から排除されるという不都合の発生の確率が低減される。
【０１１０】
なお、この変形例において、マスタ装置は必ずしも全てのスレーブ装置から位置データを取得しなくてもよい。例えば、ＧＰＳユニットを備えない無線通信装置１１は位置データの生成ができない。また、ＧＰＳユニットを備えていても、ＧＰＳユニットがＧＰＳ衛星からの電波の受信に失敗した等の理由により位置データの生成を行えない場合がある。それらの場合、マスタ装置は一部のスレーブ装置の位置データを取得することはできないが、位置データが取得されたスレーブ装置に関し、上記のように他のいずれかの無線通信装置１１との間で閾値以上の距離を生じるスレーブ装置を新たなマスタ装置の候補から除外することで、そのような除外を行わない場合と比較し、上述の不都合の発生の確率が低減される。
【０１１１】
また、この変形例において、マスタ装置が新たなマスタ装置の選択に用いる位置データは、ＧＰＳユニットにより特定された位置を示す位置データに限られず、ＧＰＳ以外の方式により特定された位置を示す位置データであってもよい。
【０１１２】
例えば、無線通信装置１１の各々が、他の無線通信装置１１の各々から受信する電波の強度を示すデータを、当該無線通信装置１１の装置ＩＤおよび自装置の装置ＩＤとともに、位置データとしてマスタ装置に送信する構成が採用されてもよい。この場合、マスタ装置の選択手段１１６は、スレーブ装置の各々から送信されてくる位置データに含まれる装置ＩＤと、装置ＩＤに対応する電波の強度を示すデータとに基づき、無線通信装置１１の間の距離を推定し、推定の結果に基づき、新たなマスタ装置の候補の選択を行う。
【０１１３】
また、例えば、無線通信装置１１がデパート等の施設内に位置しており、当該施設内に無線通信アクセスポイントが多数、設けられている場合、以下の構成が採用されてもよい。無線通信装置１１は通信可能な１以上の無線通信アクセスポイントの各々から、当該無線通信アクセスポイントの位置を示すデータ（以下、「アクセスポイント位置データ」という）を取得する。また、無線通信装置１１は、通信可能な１以上の無線通信アクセスポイントの各々から受信する電波の強度を示すデータ（以下、「アクセスポイント電波強度データ」という）を生成する。そして、無線通信装置１１は、１以上の無線通信アクセスポイントの各々に関するアクセスポイント位置データとアクセスポイント電波強度データとを含むデータ群を、自装置の位置を示す位置データとしてマスタ装置に送信する。マスタ装置の選択手段１１６は、スレーブ装置の各々から送信されてくる位置データに含まれるアクセスポイント位置データとアクセスポイント電波強度データに基づき、無線通信装置１１の間の距離を推定し、推定の結果に基づき、新たなマスタ装置の候補の選択を行う。
【０１１４】
また、マスタ装置が新たなマスタ装置の選択に用いる位置データは、スレーブ装置の各々において生成された位置データでなくてもよい。例えば、上述した無線通信アクセスポイントの各々が、通信可能な無線通信装置１１の各々から装置ＩＤを取得し、当該装置ＩＤを、当該無線通信装置１１から受信する電波の強度を示すデータ（以下、「端末電波強度データ」という）と、アクセスポイント位置データとともに、マスタ装置に送信する構成が採用されてもよい。この場合、マスタ装置は、複数の無線通信アクセスポイントの各々から送信されてくる無線通信装置１１の装置ＩＤと端末電波強度データのペアと、アクセスポイント位置データとを、装置ＩＤにより識別される無線通信装置１１の位置を示す位置データとして取得する。この場合も、マスタ装置は、無線通信アクセスポイントから取得した位置データに基づき、無線通信装置１１の間の距離を推定し、推定の結果に基づき、新たなマスタ装置の候補の選択を行うことができる。
【０１１５】
また、マスタ装置がスレーブ装置の位置を示す位置データを取得するタイミングは様々なタイミングが採用され得る。例えば、無線通信装置１１がＧＰＳユニットを備え、スレーブ装置が自装置のＧＰＳユニットにより生成された位置データをマスタ装置に送信する構成において、スレーブ装置は所定時間の経過毎にマスタ装置に位置データを送信してもよい。また、無線通信装置１１が加速度センサ等の自装置の移動を検出する移動検出手段を備えている場合、スレーブ装置の移動検出手段が自装置の移動を検出したタイミングで、スレーブ装置がマスタ装置へ位置データを送信するようにしてもよい。この場合、スレーブ装置が定位置に留まっている間は無駄な位置データの送信が抑制される。      
【０１１６】
（８）上述した実施形態において、マスタ装置の選択手段１１６が新たなマスタ装置の選択の際に用いるデータ転送速度データは、無線通信装置１１の各々が実行可能なデータ転送の最高速度を示すデータであり、例えば無線通信装置１１の各々のメモリ１０１に予め記憶された変化しないデータである。ただし、無線通信装置１１の各々が実行可能なデータ転送速度は変化する場合がある。例えば、無線通信装置１１の中には、蓄電池の残量が所定の閾値以下となった場合に通常モードから省電力モードに切り替わる機能を備えるものがある。通常、省電力モードにおいては通常モードにおけるよりも無線通信装置１１が実行可能なデータ転送速度が低下する。従って、上述した実施形態によると、例えば省電力モードに切り替わって実行可能なデータ転送速度が低下しており、実際にはマスタ装置に適さない無線通信装置１１が新たなマスタ装置として選択されるという不都合が生じ得る。
【０１１７】
上記の不都合を回避するために、マスタ装置の選択手段１１６が、固定的なデータ転送速度データではなく、無線通信装置１１の各々が置かれている状況に応じて変化するデータ転送速度データを利用して、新たなマスタ装置の選択を行う構成が採用されてもよい。例えば、無線通信装置１１の各々は、通常モード時に実行可能なデータ転送の最高速度を示すデータ転送速度データと、省電力モード時に実行可能なデータ転送の最高速度を示すデータ転送速度データとを予めメモリ１０１に記憶しておく。そして、スレーブモード時に通常モードと省電力モードとの間で切り替えが行われた場合、切り替え後のモード（通常モードまたは省電力モード）に応じたデータ転送速度データをマスタ装置に送信する。その結果、マスタ装置の選択手段１１６により行われる新たなマスタ装置の選択において、マスタ装置に要求されるデータ転送速度を実行できないスレーブ装置が誤って新たなマスタ装置として選択されるという不都合が回避される。
【０１１８】
なお、無線通信装置１１の実行可能なデータ転送速度は、通常モードと省電力モードとの間の切り替えにより生じるだけでなく、他の様々な要因により生じ得る。例えば、無線通信装置１１が実行している処理がコンピュータ１０に与える負荷の大小に応じて、無線通信装置１１が実行可能なデータ転送速度が連続的に変化する場合がある。そのような場合、無線通信装置１１は自装置が現在、実行可能なデータ転送速度を継続的に特定し、例えば、所定時間の経過毎に、もしくは、実行可能なデータ転送速度の変化の程度が所定の閾値を超えた場合等に、特定した現在、実行可能なデータ転送速度を示すデータ転送速度データをマスタ装置に送信する構成としてもよい。
【０１１９】
（９）上述した実施形態においては、マスタ装置はスレーブ装置の各々のデータ転送速度データを、スレーブ装置の各々から受信することにより取得する。マスタ装置がスレーブ装置の各々のデータ転送速度データを取得する方法はこれに限られない。例えば、マスタ装置がスレーブ装置の各々に対し、例えば所定のデータサイズのデータを送信するとともに当該データをマスタ装置に返送する処理を指示し、当該データがスレーブ装置を介してマスタ装置からマスタ装置へと戻ってくるまでに要した時間に基づき、スレーブ装置のデータ転送速度をマスタ装置が計測する構成が採用されてもよい。この場合、マスタ装置は、スレーブ装置のデータ転送速度の計測結果に基づき、当該スレーブ装置のデータ転送速度データを生成することにより取得する。また、マスタ装置が、例えば第１のスレーブ装置により計測され生成された、第２のスレーブ装置のデータ転送速度データを第１のスレーブ装置から受信する等により、スレーブ装置の各々のデータ転送速度データを取得する構成が採用されてもよい。
【０１２０】
（１０）上述した実施形態においては、スレーブ装置がマスタ装置として動作可能な時間を示す動作可能時間データは、所定時間の経過毎にスレーブ装置からマスタ装置へ送信される。マスタ装置がスレーブ装置から動作可能時間データを取得するタイミングは、所定時間の経過毎に限られない。動作可能時間は、無線通信装置１１が置かれている状況に応じて大きく変化する場合がある。例えば、無線通信装置１１が、上述した通常モードから省電力モードへ切り替わった場合、一般的にデータ転送速度は低下するが、動作可能時間は増大する。従って、スレーブ装置が、自装置の動作可能時間の変化の程度が所定の閾値を超えた場合等に、その時点における動作可能時間を示す動作可能時間データをマスタ装置に送信する構成としてもよい。
【０１２１】
また、動作可能時間データおよびデータ転送速度データは能力属性データの一例であり、他の種別の能力属性データに関しても、マスタ装置が取得するタイミングは所定時間の経過毎に限られない。従って、例えば、能力属性の種別にかかわらず、当該能力属性が所定の条件を満たす変化を示したタイミングにおいて、マスタ装置がスレーブ装置の能力属性データを取得する構成としてもよい。
【０１２２】
（１１）上述した実施形態において説明したデータベースの構成、無線通信装置１１が行う具体的な動作等はあくまで例示であって、本発明を限定するものではない。例えば、選択手段１１６が新たなマスタ装置として動作すべき無線通信装置１１を選択するための方法や基準は上述したものに限られず、様々に変更可能である。
【０１２３】
（１２）上述した実施形態においては、無線通信装置１１は一般的なコンピュータに、本発明にかかるプログラムに従った処理を実行させることにより実現される構成が採用されている。これに代えて、無線通信装置１１が、いわゆる専用機として構成されてもよい。
【０１２４】
本発明は、上述した無線通信装置１１に例示される無線通信装置、コンピュータを無線通信装置１１に例示される無線通信装置として機能させるためのプログラム、当該プログラムをコンピュータ読取可能に持続的に記録した記録媒体、無線通信装置１１に例示される無線通信装置が行う処理の方法、といった形態で把握される。なお、本発明にかかるプログラムは、記録媒体を介する他、インターネットなどのネットワークを介してコンピュータに提供されてもよい。
【符号の説明】
【０１２５】
１…アドホック無線ネットワーク、１０…コンピュータ、１１…無線通信装置、１０１…メモリ、１０２…プロセッサ、１０３…無線通信ＩＦ、１０４…タッチディスプレイ、１０５…クロック、１０６…バッテリ、１０９…バス、１１１…モード切替手段、１１２…通信手段、１１３…能力属性データ取得手段、１１４…電波強度データ取得手段、１１５…データ属性データ取得手段、１１６…選択手段、１１７…指示手段、１１８…能力属性データ生成手段、１０４１…ディスプレイ、１０４２…タッチパネル
【図１】
2015106786.tif 000003
【図２】
2015106786.tif 000004
【図３】
2015106786.tif 000005
【図４】
2015106786.tif 000006
【図５】
2015106786.tif 000007
【図６】
2015106786.tif 000008
【図７】
2015106786.tif 000009
【図８】
2015106786.tif 000010
【図９】
2015106786.tif 000011