(57)【要約】【課題】２つ以上のデバイス、望ましくは、ブルートゥース使用可能デバイスの間の検出及びリンク確立のためのプロトコル、即ち、一般的な接続確立方法に比べて大きく改善されたプロトコルを提供する。【解決手段】無線通信チャネル介して２つ以上のデバイスを接続するための方法が提供される。１つの実施例では、第１デバイスを第２デバイスに接続する方法は、２つの可能な状態の１つを各デバイスに任意に割り当てるステップを含む。この場合、第１状態では、デバイスが他のデバイスとの接続を確立することを求め、第２状態では、そのデバイスが他のデバイスとの接続のためにそれ自身を利用可能にする。更に、その方法は、所定のタイムアウト期間が満了してしまうまで又はそれらデバイス間の接続が確立されてしまうまで、事前定義の確率分布に従って各デバイスの現状態を第１状態及び第２状態の間で交互に替えるステップを含む。各デバイスが第１状態及び第２状態のままでいる時間の長さは確率分布によって制御される。第２実施例では、アドホーク無線通信ネットワークにおける複数のデバイス又はノードの間にスキャッタネットを形成する方法が提供される。【選択図】図２
2004517570.tif 000002
【特許請求の範囲】
【請求項１】
無線通信チャネルを介して第１デバイスを第２デバイスに接続する方法であって、
前記第１デバイスが前記第２デバイスとの接続を確立することを求める第１状態、及び前記第１デバイスが前記第２デバイスとの接続のために自身を使用可能にする第２状態の１つを前記第１デバイスに任意に割り当てるステップと、
所定のタイムアウト期間が満了したこと及び前記第２デバイスとの接続が確立されたことのうちの少なくとも１つが生じるまで、確率分布に従って前記第１デバイスの現状態を前記第１状態及び前記第２状態の間で交互に替えるステップと、
を含み、前記第１デバイスが前記第１状態及び前記第２状態のままでいる時間の長さが前記確率分布によって少なくとも部分的に制御される、方法。
【請求項２】
前記確率分布と関連した少なくとも１つのパラメータを修正するステップを更に含み、
前記少なくとも１つのパラメータが前記第１デバイスの交互状態シーケンスに影響を与え、それによって、前記第１デバイス及び前記第２デバイスが相補的状態にある期間が最適化され、それによって、接続確立時間を最小にする、請求項１に記載の方法。
【請求項３】
経過時間カウンタを初期設定するステップ、及び
前記所定のタイムアウト期間が越えられたかどうかを決定するために、前記カウンタから経過時間を定期的に測定するステップ、
を含む、請求項１に記載の方法。
【請求項４】
前記経過時間を測定するステップが前記第１デバイスの状態の各変化の前に行われる、請求項３に記載の方法。
【請求項５】
前記確率分布がランダム分布である、請求項１に記載の方法。
【請求項６】
前記第１及び第２デバイスがブルートゥース使用可能デバイスを含む、請求項１に記載の方法。
【請求項７】
前記第１状態が照会状態であり、前記第２状態が照会スキャン状態である、請求項６に記載の方法。
【請求項８】
少なくとも１つの無線通信チャネルを介して複数のデバイスの間の接続を確立する方法であって、
１つのデバイスが他のデバイスを検出し、他のデバイスとの接続を確立する第１状態、及び１つのデバイスが他のデバイスの検出及び他のデバイスとの接続のために自身を使用可能にする第２状態の１つを前記複数のデバイスの各々に任意に割り当てるステップと、
所定のタイムアウト期間が満了したこと及び前記複数のデバイス相互間の接続が確立されたことのうちの少なくとも１つが生じるまで、前記複数のデバイスに各々の現状態を前記第１状態及び前記第２状態の間で交互に替えるステップと、
を含み、前記複数のデバイスの各々がそれの現状態のままでいる時間の長さが、１つ又は複数の事前定義された確率分布によって少なくとも部分的に決定される、方法。
【請求項９】
前記デバイスの各々がそれの現状態のままでいる時間の長さを個別に制御するために前記複数のデバイスの各々が当該デバイスと関連した確率分布を含む、請求項８に記載の方法。
【請求項１０】
前記複数のデバイスから選択されたデバイスであって、前記複数のデバイスの各々に対応する情報を記憶するコーディネータを選択するステップと、
前記コーディネータが、事前定義されたルールに従って、前記複数のデバイスの各々にマスタの役割、スレーブの役割、及びブリッジの役割の１つを割り当てるステップと、
各デバイスに対する役割割当に従って、無線ネットワークを形成するように前記複数のデバイスを相互に接続するステップと、
を更に含む、請求項８に記載の方法。
【請求項１１】
前記コーディネータを選択するステップは、
２つのデバイス間にポイント・ツー・ポイント接続を確立するステップと、
所定の基準に従って、勝利デバイス及び敗北デバイスを決定するステップと、
前記敗北デバイスから、前記敗北デバイス及び前記敗北デバイスが以前に接続を確立した任意のデバイスに関する情報を受け取るステップと、
すべてのデバイスがアクセスされてしまうまでコーディネータ選択ステップを繰り返すステップと、
を含む、請求項１０に記載の方法。
【請求項１２】
前記敗北デバイス及び前記敗北デバイスが以前にアクセスした任意のデバイスに関する情報を受け取った後、前記敗北デバイスがコーディネータ選択プロセスにそれ以上参加することを抑止するステップを更に含む、請求項１１に記載の方法。
【請求項１３】
前記勝利デバイス及び敗北デバイスを決定するステップは、前記複数のデバイスの各々に対応する情報を比較するステップを更に含む、請求項１１に記載の方法。
【請求項１４】
無線通信チャネルを介して第１デバイスを第２デバイスに接続するための装置であって、少なくとも１つのプロセッサを含み、該プロセッサは、
（ｉ）前記第１デバイスが前記第２デバイスとの接続を確立することを求める第１状態、及び前記第１デバイスが前記第２デバイスとの接続のために自身を使用可能にする第２状態の１つを前記第１デバイスに任意に割り当てる
（ｉｉ）所定のタイムアウト期間が満了したこと及び前記第２デバイスとの接続が確立されたことのうちの少なくとも１つが生じるまで、確率分布に従って前記第１デバイスの現状態を前記第１状態及び前記第２状態の間で交互に替える
ように動作し、
前記第１デバイスが前記第１状態及び前記第２状態のままでいる時間の長さが前記確率分布によって少なくとも部分的に制御される、装置。
【請求項１５】
前記第１デバイスが前記第１状態及び前記第２状態のままである時間の長さに影響を与えるために、確率分布と関連した少なくとも１つのパラメータを修正するデータを前記プロセッサに入力するための、前記プロセッサに動作的に結合された少なくとも１つの入出力（Ｉ／Ｏ）デバイスを更に含む、請求項１４に記載の装置。
【請求項１６】
前記少なくとも１つのプロセッサに動作的に結合され、前記確率分布及び前記入力されたデータの少なくとも１つを記憶するメモリを更に含む、請求項１５に記載の装置。
【請求項１７】
前記少なくとも１つのプロセッサは、更に、
（ｉｉｉ）経過時間カウンタを初期設定し、
（ｉｖ）所定のタイムアウト期間が経過したかどうかを決定するために前記カウンタからの経過時間を定期的に測定する
ように動作する、請求項１４に記載の装置。
【請求項１８】
前記第１デバイスがブルートゥース使用可能デバイスを含む、請求項１４に記載の装置。
【請求項１９】
少なくとも１つの無線通信チャネルを介して複数のデバイスの間の接続を確立するための装置であって、少なくとも１つのプロセッサを含み、該プロセッサは、
（ｉ）１つのデバイスが他のデバイスを検出し、他のデバイスとの接続を確立する第１状態、及び１つのデバイスが他のデバイスの検出及び他のデバイスとの接続のために自身を使用可能にする第２状態の１つを前記デバイスの各々に任意に割り当て、
（ｉｉ）所定のタイムアウト期間が満了したこと及び前記デバイス相互間の接続が確立されたことのうちの少なくとも１つが生じるまで、前記デバイスに各々の現状態を前記第１状態及び前記第２状態の間で交互に替える
ように動作し、
前記複数のデバイスの各々がそれの現状態のままでいる時間の長さが、１つ又は複数の事前定義された確率分布によって少なくとも部分的に決定される、装置。
【請求項２０】
前記プロセッサは、更に、
（ｉｉｉ）前記複数のデバイスから選択されたデバイスであって、前記複数のデバイスの各々に対応する情報を記憶するコーディネータを選択し、
（ｉｖ）前記コーディネータが、事前定義されたルールに従って、前記複数のデバイスの各々にマスタの役割、スレーブの役割、及びブリッジの役割の１つを割り当て、
（ｖ）各デバイスに対する役割割当に従って、無線ネットワークを形成するように前記複数のデバイスを相互に接続する、
ように動作する、請求項１９に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に云えば、通信ネットワークに関し、詳しく云えば、アドホーク（ａｄ ｈｏｃ）無線通信ネットワークにおいて２つ又はそれ以上のデバイスを接続する方法に関するものである。
【０００２】
【従来の技術】
ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）は、セル電話、ヘッドセット、ＰＤＡ、及びラップトップ・コンピュータのような家庭用のポータブル電子機器をリンクするための短距離（約１０メートル）無線ケーブル代替手段として開発された新しいテクノロジであるが、それは、ファクシミリ機械、プリンタ、玩具、ディジタル・カメラ、家庭用機器、及び他の任意のディジタル家電製品又はアプリケーションに対しても適応することができる。そのテクノロジは、本質的には、その場しのぎ（ａｄ ｈｏｃ）を原則としたブルートゥース具備のデバイスの間で小型の無線ネットワークを形成するための機構を提供する。それは、既存のデータ・ネットワークに対する無線通信ブリッジとしても働く。現在のブルートゥース実現の努力は、一般的に云えば、例えば、ダイヤルアップ・ネットワーキング・プロファイル、ヘッドセット・プロファイル、及びローカル・エリア・ネットワーク（ＬＡＮ）アクセス・ポイント・プロファイル（ブルートゥース仕様バージョン１．０）のようなポイント・ツー・ポイントのクライアント／サーバ・アプリケーションに焦点を合わせている。ブルートゥース使用可能デバイス（Ｂｌｕｅｔｏｏｔｈ−ｅｎａｂｌｅｄ ｄｅｖｉｃｅ）が、自動的に、相互に探索して、２つのノードだけから成ることが最も多いネットワークの形にそれら自身を構成するであろう。
【０００３】
現在の仕様（例えば、ＰＡＮ Ｗｏｒｋｉｎｇ Ｇｒｏｕｐ によって開発された ＩＥＥＥ ８０２．１５ パーソナル・エリア・ネットワーク（Ｐｅｒｓｏｎａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ − ＰＡＮ））の下では、８個までのブルートゥース使用可能デバイスが、自動的に、「ピコネット（ｐｉｃｏｎｅｔ）」に構成可能である。各ピコネットは、スレーブとして機能する残りのノード又はデバイスに周波数ホッピング・パターン（ｆｒｅｑｕｅｎｃｙ−ｈｏｐｐｉｎｇ ｐａｔｔｅｒｎ）を強制する指定のマスタを有する。ピコネットは、それ独特の周波数ホッピング・シーケンスにより、その近くにある他の同様のネットとは区別される。各ピコネットは、異なる周波数ホッピング・シーケンスを使用するので、複数のピコネットが１つの共通エリアにおいて共存し得る。
【０００４】
ピコネットは、スキャッタネット（ｓｃａｔｔｅｒｎｅｔ）（複数の独立した且つ非同期のピコネット）として知られた大型のアドホーク・ネットワークを形成するようにブリッジ・ノードを介して相互接続可能でもある。ブリッジ・ノードは、一般に、或るピコネットからデータを受け取り、それを他のピコネットに送るに際して複数のピコネット間で時分割処理を行うことが可能である。ブリッジ・ノードが参加している各ピコネットには、そのブリッジが演じる役割に本質的に制限はない。例えば、ブリッジ・ノードは、或るピコネットではマスタとして、及び別のピコネットではスレーブとして機能し得るし、或いは、参加しているピコネットすべてにおいてスレーブであることも可能である。このように、幾つものピコネットが確立され得るし、連続的に変化するコンフィグレーション間の融通性ある通信をサポートするように、アドホーク・スキャッタネットにおいてリンクされ得る。
【０００５】
「ブルートゥース・ベースバンド仕様」バージョン１．０において示されたブルートゥース・ベースバンド仕様は、ブルートゥースのポイント・ツー・ポイント接続確立を２つのステップ手順として定義している。ブルートゥース・ユニットがそれらの近隣に関する知識を全く持っていない場合、それらのユニットは、先ず、近隣の情報（例えば、ノード識別子及び同期情報）を見つけるために照会（ｉｎｑｕｉｒｙ）手順を遂行しなければならない。一旦、近隣の情報が入手可能になると、続いて、それらピアの間に実際の接続を確立するために、ページング（ｐａｇｉｎｇ）手順が使用される。
【０００６】
照会手順及びページング手順は、非対称のリンク確立プロトコルを含む。そのプロトコルは、本質的には、次のような２つのタイプのユニットを含む：
−  近隣のユニットを検出し、接続しようとする照会ユニット（ｉｎｑｕｉｒｉｎｇ ｕｎｉｔ）。
−  検出され、照会ユニットと接続されるよう自身を使用可能にする被照会ユニット（ｉｎｑｕｉｒｅｄ ｕｎｉｔ）。
【０００７】
ブルートゥース／ベースバンド層は、近隣検出及び接続確立に対する次のような基本的な状態をサポートする：
照会（ｉｎｑｕｉｒｙ）：  照会状態は、或る動作範囲内でのブルートゥース・デバイスのアイデンティティを決定するために使用される。検出ユニット又はデバイスは、ブルートゥース・デバイスのアドレス、及び照会メッセージに応答するすべてのユニットのクロックを収集する。
照会スキャン（ｉｎｑｕｉｒｙ ｓｃａｎ）：  この状態では、ブルートゥース・デバイスは、他のデバイスからの照会に対して待機している。そのスキャニング・デバイスは、一般的な照会アクセス・コード（ｇｅｎｅｒａｌ ｉｎｑｕｉｒｙ ａｃｃｅｓｓ ｃｏｄｅ − ＧＩＡＣ）又は専用の照会アクセス・コード（ｄｅｄｉｃａｔｅｄ ｉｎｑｕｉｒｙ ａｃｃｅｓｓ ｃｏｄｅ − ＤＩＡＣ）に対して待機することがある。
ページ（ｐａｇｅ）：  この状態は、照会手順を通して他のデバイスを検出した照会デバイス又はユニットによって使用される。照会ユニットは、被照会ユニットのデバイスアクセス・コード（ｄｅｖｉｃｅ ａｃｃｅｓｓ ｃｏｄｅ − ＤＡＣ）を種々のホップ・チャネルにおいて伝送することによりページ・メッセージを送る。
ページ・スキャン（ｐａｇｅ ｓｃａｎ）：  この状態では、ユニットが、スキャン・ウィンドウの期間の間、それ自身のデバイス・アクセス・コード（ＤＡＣ）に対して待機する。そのユニットは、このスキャン・ウィンドウにおいて単一のホップ周波数（それのページ・ホッピング・シーケンスから取り出される）のときに待機する。
接続（ｃｏｎｎｅｃｔｉｏｎ）：  この状態が確立されると直ちに、或るユニットがマスタとなり、他のユニットがスレーブになる。この状態では、ユニットは、チャネル（マスタ）アクセス・コード及びマスタ・ブルートゥースのクロックによって決定されるチャネル・ホッピング・ステップを使用して、パケットを交換することができる。
待機（ｓｔａｎｄｂｙ）：  待機は、ブルートゥース・ユニットにおけるデフォルトの低電力状態である。ネイティブ・クロックだけが稼働し、他の如何なるデバイスとの相互作用も存在しない。
【０００８】
更に、いくつかの中間的状態、即ち、照会応答、スレーブ応答、及びマスタ応答が存在する。これらの状態を、以下のようなブルートゥース接続確立プロトコルの説明と関連して、更に詳細に説明することにする。
【０００９】
図１は、２つのブルートゥース使用可能デバイス、即ち、照会ユニット１０１及び被照会ユニット１０２の間の一般的なポイント・ツー・ポイント接続確立手順を示す論理的な流れ図１００を表す。両ユニットとも、照会ホッピング・シーケンスと呼ばれる汎用の周波数ホッピング・セットを使用する。標準的な接続確立プロセスに関与するステップは、次のようなものである：
１．照会ユニット１０１が、先ず、照会状態１２０に入り、汎用の照会ホッピング・シーケンスに従って、照会アクセス・コード（ＩＡＣ）を３２００ホップ／秒の速度で速やかに伝送すること及び伝送相互間において返答を待つことによって、どのデバイスが範囲内にあるかを検出しようとする。
２．被照会ユニット１０２が照会スキャン状態１３０でスタートし、従って、近くの照会ユニットによって検出されるよう使用可能になる。被照会ユニット１０２は、可能な限りの照会ユニット１０１がこの特定の周波数で照会メッセージを伝送するのを周波数搬送波において待つことを開始する。１．２８秒ごとに、そのユニットは、汎用の照会ホッピング・シーケンスに従って、それが待っている搬送波を（周波数チャネルにおいて）１ホップ前に進める。照会ユニット１０１及び被照会ユニット１０２が同じ周波数チャネルに同期するまで、関連の周波数同期遅延が存在することは明らかである。
３．一旦、照会ユニット１０１及び被照会ユニット１０２が同じ周波数で通信すると、被照会ユニット１０２は照会ユニット１０１からＩＡＣパケット１１１を受信する。その照会メッセージの受信時に、被照会ユニット１０２は待機状態１４０に進み、０と６３９ミリ秒との間に一様に分布した所定時間Ｒの間「スリープ（ｓｌｅｅｐ）」する。
４．その後、被照会ユニット１０２がウェイク・アップし、そしてスリープの前まで聴取していたホップからの周波数ホッピングを開始することによって、照会応答状態１５０において再び聴取を始める。
５．第２のＩＡＣが受信され、被照会ユニット１０２が周波数ホッピング・シーケンス（ＦＨＳ）パケット１１３を照会ユニット１０１に戻す。ＦＨＳパケット１１３は、被照会ユニット１０２のブルートゥース／アドレス及びクロック値を含む。それらは、照会ユニット１０１にとっては、後続のページング・プロセスをスピード・アップする貴重な同期情報であると考えられる。ＦＨＳパケット１１３による応答の直後に、被照会ユニット１０２がページ・スキャン状態１６０に入り、それ自身のページ・ホッピング・シ−ケンスに従ってホップすることにより、それ自身のデバイスアクセス・コード（ＤＡＣ）を聴取し始める。
６．照会ユニット１０１のサイドでは、照会ユニット１０１が、被照会ユニット１０２のＤＡＣ及びページ・ホッピング・シ−ケンスを決定するために使用される情報と共に被照会ユニットからＦＨＳパケット１１３を受信する。この時点から、ページング手順が開始される。照会ユニット１０１はページ状態１７０に入り、被照会ユニット１０２のページ・ホッピング・シーケンスに従ってＤＡＣパケット１１４を送ることによってページングを開始する。
７．被照会ユニット１０２がＤＡＣパケット１１４を受信し、しかる後、ＤＡＣパケット１１５を伝送することによって応答し、スレーブ応答サブ状態１８０に入る。
８．照会ユニット１０１が、被照会ユニット１０２によって送られたＤＡＣパケット１１５を受信し、マスタ応答サブ状態１９０に入り、しかる後、それのアドレス及びクロック情報を含むＦＨＳパケット１１６を被照会ユニット１０２に送る。
９．被照会ユニット１０２が、照会ユニット１０１によって伝送されたＦＨＳパケット１１６を受信し、ＦＨＳパケット１１６において受信されたように照会ユニット１０１のチャネル・アクセス・コード及びクロックに変化する。そこで、被照会ユニット１０２が、ＦＨＳパケットの受信に対する肯定応答としてＤＡＣパケット１１７を送り、しかる後、接続状態１９８に入り、このポイント・ツー・ポイント接続においてスレーブの役割を持つ。
１０．照会ユニット１０１が、被照会ユニット１０２からＤＡＣパケット１１７を受信したとき、接続状態１９９に入り、そのポイント・ツー・ポイント接続のマスタになる
【００１０】
【発明が解決しようとする課題】
上記の一般的なブルートゥース・プロトコルによれば、２つのブルートゥース使用可能デバイスの間の接続が確立され得るし、その後、それらのデバイスが任意所望の情報量を交換し得る。
【００１１】
ブルートゥースは有望な新しいテクノロジであるけれども、通常の接続確立手順又はプロトコルには幾つかの固有の欠点が存在する。前述のように、ブルートゥースは、ピア・ツー・ピア、アドホーク無線接続をサポートする。即ち、近接した２つのデバイスは、相互に検出することができ、それらの間に通信リンクを形成することができる。ブルートゥースは、ポイント・ツー・ポイント接続及びポイント・ツー・マルチポイント接続をサポートするために周波数ホッピング、スプレッド・スペクトル・テクノロジを利用するので、デバイスは、それらが相互に通信可能になる前にそれらの周波数ホッピング・パターンを同期化しなければならない。これは、ホストがそれらの周波数ホッピング・パターンを同期化することによって、それらが予め相互に検出していなかった場合にそれらホストが通信することができないことを暗に意味する。たとえ、すべてのノードが相互の直接的通信範囲内にある場合、ネットワークにおける個々のリンクの形成時に、ランダム同期化遅延が導入される。同期化（又は、ブルートゥース用語における照会）のプロセスは、時間浪費及び非対称の（即ち、２つのノードが異なる初期状態にあることを必要とする）プロセスである。従って、ブルートゥースデバイスがパワー・オンされるとき、それは、それらのデバイスの間のリンクを確立するために数秒を必要とすることがある。
【００１２】
【課題を解決するための手段】
本発明の方法及びデバイスは、２つ又はそれ以上のデバイス、望ましくは、ブルートゥース使用可能デバイスの間の検出及びリンク確立のためのプロトコル、即ち、一般的な接続確立方法に比べて大きく改善されたプロトコルを提供する。本発明によれば、多数のブルートゥース使用可能デバイスが相互に探索することができ、通常のインプリメンテーションによってサポートされるネットワーク構造よりも更に複雑なネットワーク構造にそれら自身を自動的に構成することができる。本発明の非同期分散プロトコルは、ノードがそれの周辺に関する知識を持たない場合に開始し、その結果、ブルートゥース・テクノロジ又は同様のデバイス接続仕様によって課せられた構造上の接続の制約を満たすネットワークを最終的に形成する。
【００１３】
本発明の一実施例によれば、無線通信チャネルを介して２つ又はそれ以上のデバイスの間に対称的な接続を形成する方法は、所定の確率分布を選択すること、その確率分布に関連した１つ又は複数のパラメータを調節すること、及び所定の確率分布に従って２つの可能な状態の間で参加デバイスノードを変更することを含む。このように、リンク及び接続の確立は、参加デバイスノードに初期状態を明確に割り当てることなく生じる。
【００１４】
本発明の第２の実施例によれば、アドホーク無線通信ネットワークにおける複数のデバイス又はノードの間にスキャッタネットを形成するために、新規な交互状態（ａｌｔｅｒｎａｔｉｎｇ ｓｔａｔｅｓ）技法が使用される。第１フェーズの間、２つのノードの間にポイント・ツー・ポイント接続を形成すること及び勝利ノード（ｗｉｎｎｉｎｇ ｎｏｄｅ）を決定することによって、コーディネータ・ノードが選択される。単一のウィニング・コーディネータ・ノードが残るまで、連続的な「１対１バトル」が行われる。コーディネータ・ノードは、ネットワークにおける各参加デバイス／ノードに関する情報を決定及び記憶するであろう。第２フェーズの間、コーディネータ・ノードは、ネットワークにおける各デバイスに、マスタ、スレーブ、又はブリッジを含む役割を割り当てる。第３フェーズの間、コーディネータによって割り当てられた役割に従って、無線ネットワークが接続される。
【００１５】
本発明のこれらの及び他の目的、特徴、並びに利点が、添付図面と関連して読まれるべき以下の詳細な実施例の説明から明らかになるであろう。なお、それら図面を通して、同様の素子が同じ参照番号によって指定される。
【００１６】
【発明の実施の形態】
以下では、２つのブルートゥース使用可能デバイス又はノードが、それら相互間にポイント・ツー・ポイント通信接続を自動的に確立しようとする実用的なアプリケーションに関連して本発明を説明する。
【００１７】
しかし、本発明が、このような又は如何なる特定の通信接続アプリケーションにも限定されないことは理解されるべきである。むしろ、本願において示された原理によれば、本発明の方法及び装置は、アドホーク無線ネットワークにおける仮想的に限定されないデバイス及び（又は）ノードを接続するための広範な応用性を有する。
【００１８】
本発明の１つの局面に従って、図２には、伝統的に行われているような如何なる役割の事前割当も使用することなく、対称的な接続確立プロトコルを提供するために使用されることが望ましい集合的交互状態（ａｇｇｒｅｇａｔｅ ＡＬＴＥＲＮＡＴＥ ｓｔａｔｅ）２００が示される。その交互状態２００は、例えば、Ｋ． Ｆｌｅｍｉｎｇ 氏による ”Ｂｌｕｅｔｏｏｔｈ Ｈｏｓｔ Ｃｏｎｔｒｏｌｌｅｒ Ｉｎｔｅｒｆａｃｅ ［ＨＣＩ］” Ｖｅｒｓｉｏｎ １．０ の仕様において定義されたプログラム・コマンド及び（又は）ルーチンを使用して、当業者により実現可能である。本発明のプロトコルは、ハードウェアにおいて同様に実現可能である。
【００１９】
望ましくは、例えば、エンド・ユーザが単に「スタート」ボタンを作動し、接続が自動的に確立されるのを待つことによって開始され得る始動時に、各ブルートゥース・ユニットがスタート・タイムアウト・タイマ２０３を初期設定し、しかる後、第１状態２０１に入る。スタート・タイムアウト・タイマ２０３は、望ましくは、経過時間を追跡し、例えば、当業者には周知の標準的なカウンタとして実現可能である。状態２０１は、照会（ＩＮＱＵＩＲＹ）状態又は照会スキャン（ＩＮＱＵＩＲＹ ＳＴＡＴＥ）状態であるように任意に選択可能であるということを理解することが大事である。更に、照会状態及び照会スキャン状態は、望ましくは、一般的な接続確立方法におけるように、エンド・ユーザにとって実質的に透明であって、事前決定されてないということも明らかである。図２の例を参照すると、状態２０１は、照会状態であるように選択される。
【００２０】
ブルートゥース・ユニットは、望ましくは、実質的にデバイスの相互作用が生じない「スリープ」又は待機モード２１１で本質的に機能する照会状態２０１に或る期間の間留まっている。望ましくは、ユニットが照会状態又は照会スキャン状態に留まっている期間を制御するために、ユーザによって選択された事前定義の確率分布が使用される。この分布は、例えば、ランダムな分布となるように選択可能である。その分布に関連した１つ又は複数のパラメータを修正することによって、ユーザは、交互状態シーケンスに影響を与え、それによって、希望通りにデバイス接続確立時間を最適化することができる。
【００２１】
そのユニットが、期間Ｒ１の間、それの状態２０１に留まった後、望ましくは、事前定義された一定のタイム・インターバル ＡＬＴ＿ＴＩＭＥＯＵＴ ２２０を越えたかどうかを決定するために、経過時間が測定される（２１３）。そのインターバル ＡＬＴ＿ＴＩＭＥＯＵＴ が経過してしまった場合、ブルートゥース・ユニットは、望ましくは、交互状態２００を抜け出す（２１７）。交互状態２００を抜け出す（２１７）とき、ユニットは、望ましくは、事前定義されたタイムアウト期間内に接続が確立されなかったことを表すフラッグ又は同様の表示手段を設定することによるというようなタイムアウト通知を発生し得る。期間 ＡＬＴ＿ＴＩＭＥＯＵＴ ２２０を越えてない場合、ユニットは、第２状態２０２に進む。第２状態は、望ましくは、第１状態として任意に選択された２つの初期状態の１つ（照会状態又は照会スキャン状態）のうちの残りの１つである。図２の例では、第２状態は、照会スキャン状態である。それは、第１状態が照会状態２０１となるように任意に選択されたためである。そこで、ユニットは、第２期間Ｒ２の間、状態２０２のままであり、本質的には、「スリープ」モード２１２のままである。ユニットがそれの現状態２０２のままである期間Ｒ２の長さを制御するために、望ましくは、第１期間Ｒ１に対するように或る事前定義された確率分布が選択される。期間Ｒ２を決定するために使用される分布が、期間Ｒ１に対して使用される分布とは異なることがあり得るということは勿論である。望ましくは、その後、上述のように、本発明に従ってタイムアウト満了チェックが行われる（２１３）。
【００２２】
接続を確立するための動作範囲内に他のブルートゥース・ユニットが存在しないものと仮定すると、望ましくは、一旦、事前定義された一定のタイムアウト期間 ＡＬＴ＿ＴＩＭＥＯＵＴ ２２０が経過してしまうと、状態切替手順２００（即ち、照会状態及び照会スキャン状態の間の交互切替）が停止する。動作範囲内にもう１つのブルートゥース使用可能ユニットが存在する場合、それら２つのユニットは、望ましくは、交互状態プロトコル２００を利用することによっ開始する。しかも、その特定のユニットが照会状態２０１にあるか又は照会スキャン状態２０２にあるかに従って、その後、各ユニットは接続状態２０５に入り、それぞれ、マスタとして又はスレーブとして機能するであろう。２つのブルートゥース・ユニットの間に有効な接続が確立されるためには、それらのユニットが相補的な状態（例えば、照会／照会スキャン）になければならないことは理解されるべきである。一旦、接続状態２０５に入ってしまうと、交互状態２００から抜け出すこと（２１６）が望ましい。
【００２３】
単なる例として、２つのブルートゥース使用可能デバイス、即ち、「ユニットＡ」３６０及び「ユニットＢ」３７０（図３参照）に関連したシナリオを考えると、各ユニットは、相互の接続を確立しようとするとき、本発明の交互状態手順２００（図２参照）を使用する。図３は、本発明の交互状態手順を実行しながら、各ユニット３６０、３７０によって遂行される例示的な状態切替シーケンスを表す論理的タイミング図３００を示す。図３に関連して、２つのブルートゥース・ユニット３６０、３７０に対する状態切替アクティビティが、説明を容易にするために、共通の時間軸に重畳してマージ・スケジュール３３０と共に示される。「Ｉ」３０１として示されたインターバルが照会状態にあるユニットに対応し、「Ｓ」３０２として示されたインターバルが照会スキャン状態にあるユニットに対応する。なお、照会状態及び照会スキャン状態は、図２に示された交互状態手順と関連して前に説明された。
【００２４】
図３の例は、ユニットＡ（３６０）が、任意の初期時点ｔ０（３２０）の前の未定の期間中に他のブルートゥース・デバイスとの通信リンクを確立することを求めて既に交互状態プロトコルを開始しており、従って、照会及び照会スキャンという２つの状態の間で交互に替わることを前提としている。時間ｔ０（３２０）は、望ましくは、ユニットＢ（３７０）に対する開始点となるように任意に選択される。この場合、ユニットＢは、同様に、本発明によって定義される交互状態手順に従って照会状態及び照会スキャン状態の間で交互に替わり始める。
【００２５】
マージされたスケジュール３３０は、望ましくは、複数の「オン・オフ」インターバルｘｉによって特徴付けられた２つのユニット３６０、３７０に対する結合された状態切替シーケンスを表示する。インターバルｘｉは、望ましくは、ブルートゥース・ユニット３６０、３７０の一方又は両方の状態変化の間の期間として定義される。如何なるインターバルｘｉの期間も、前述のように、ユニットが任意の特定の状態（例えば、照会又は照会スキャン）のままである時間量がランダムであるので、ランダムとなるであろう。従って、インターバルｘｉは、それが均等に間隔付けられるという統計的な可能性はあるけれども、一般には、相互に均等には間隔付けられないであろう。
【００２６】
本発明の望ましい実施例によれば、２つのユニット３６０、３７０は、それらが相補的な状態にある（例えば、ユニット３６０が状態３０１であり、一方、ユニット３７０が状態３０２にある）時間インターバルの間だけ、相互に見つける又は「検出する」機会を有する。本質的には、これは排他的ＯＲ機能に等しく、それによって、２つのユニット３６０、３７０が同じ状態にないときにはいつも、マージされたスケジュール３３０がロジック ”１”（オン）出力を表示する。これらの「オン」インターバルは、インターバルＸ１、Ｘ３、Ｘ５、Ｘ７、Ｘ９、及びＸ１１にそれぞれ対応して３１１、３１２、３１３、３１４、３１５、及び３１６として示される。
【００２７】
図３を続けて参照すると、第１「オン」インターバルＸ１（３１１）の開始時に、ユニット３６０、３７０が、望ましくは、通常の方法で、例えば、図１と関連して前述したステップを使用して、接続確立手順を開始する。その接続確立プロセスは、一般に、周波数同期遅延及び被照会ユニットの待機又はバックオフ遅延１４０（図１）を含むランダムな有限の時間量Ｔ（３４０）を必要とするであろう。接続プロセスを完了するためのその時間量Ｔ（３４０）が「オン」インターバル（例えば、３１６）の期間よりも小さい場合、図１の接続手順を実行した後、望ましくは、２つのユニット３６０、３７０が図２の接続状態２０５に入る。接続状態２０５に入った後、両ユニットとも、望ましくは、有効な接続が確立されたことを知らせる出力通知又はそれの適当な同等手段によって交互状態手順２００を抜け出す（２１６）（図２参照）。しかし、図１に示された接続手順を完了する前にそれらユニットの一方が状態を（例えば、照会状態３０１から照会スキャン状態３０２に）変更する場合（例えば、完了期間Ｔ（３４０）がそれぞれの「オン」インターバルよりも大きい場合）、有効な接続は確立されず、ユニット３６０、３７０は、次に続く「オン」インターバル（例えば、インターバルＸ３（３１２））まで、又は接続手順が再び試みられるまで待たなければならない。それらのユニットが次の有効なタイム・インターバル３１３の間に接続することができなかった場合、最終的に接続が確立されるまで、又は所定の接続タイムアウト期間が満了してしまうまで、その後の「オン」インターバル３１４、３１５等の間、接続が連続して試みられる。望ましくは、接続確立時間ＴＣ（３２１）は、初期時間ｔ０で始まり、時点ｔｎで終わる期間として定義される。その期間では、２つのブルートゥース・ユニット３６０、３７０が、本発明の交互状態手順を使用すると同時に接続を確立するために必要な十分の時間の間、相補的な状態にある。
【００２８】
図２及び図３に示された本発明の新規な「交互状態」という手法は、２つのブルートゥース・デバイスの間のアドホークのポイント・ツー・ポイント接続を保証する機構である。２つよりも多くのデバイスが存在し、それらが「オン・ザ・フライ」でスキャッタネットを形成しようとするとき、本発明は、第２実施例に従って、上述の「交互状態」機構を組み込んだ独特のプロトコルを提供し、その結果生じるネットワークがブルートゥース／スキャッタネットの要件及びアーキテクチャを満たすことを保証する。
【００２９】
ブルートゥース使用可能デバイスを使用してアドホーク・ネットワークを形成することを望んでいる幾つものユーザ（又は、同様に、複数のブルートゥース使用可能デバイスを有する単独のユーザ）が１つの部屋に存在すると言う例示的アプリケーションを考察することにする。望ましくは、各ユーザは、「スタート」ボタンを押すことによって接続手順を開始するか、又は同様のプロセスを呼び出し、しかる後、接続が確立されたことを、例えば、わずかな期間後に「ネットワーク接続確立済み」メッセージを表示することによって、デバイスが承認するのを待つ。そのような承認の後、ユーザは、その部屋における他のユーザ又はデバイスと情報を交換することができるであろう。この例では、すべての参加デバイスが互いの操作範囲内にあるものと仮定し、それは、１つの部屋における多くの無線デバイスをネットワーク化するための論理的仮定である。
【００３０】
上記のシナリオは、実際には、成功した接続確立プロトコルの要素を含んでいる。即ち：
− ネットワーク接続確立は、実質的に分散した態様で行われなければならない。これは、各デバイスが、望ましくは、それ自身に関する動作を非同期的に開始すること、及びそれが部屋におけるノードのアイデンティティ又は数に関する如何なる知識も持っていないことを意味する。
− 成功した接続の完了後、プロトコルは、接続されたスキャッタネットを保証しなければならない。そのネットワークにおける任意の２つのノードの間に少なくとも１つのパスが存在しなければならない（正当性 − ｃｏｒｒｅｃｔｎｅｓｓ）。
− ネットワークは、エンド・ユーザが許容し得る妥当な時間で接続しなければならない。
【００３１】
本発明の望ましい実施例によれば、本質的には、ブルートゥース・スキャッタネットの最終的な形態に関して何の制限も存在しない。唯一の要件又はガイドラインは、次のようなことである：
１．１つのマスタ及び７つよりも少ないスレーブ（そのうちの幾つかはブリッジであってもよい）を有するピコネットが存在しなければならない。
２．ピコネットが、ブリッジ・ノードを介して相互接続されなければならない。
３．すべてのノードが、その結果生じたネットワークにおける他のすべてのノードに届くことができなければならない（即ち、ネットワークが完全に接続されなければならない）。
【００３２】
上記の自由があると仮定し、より速いプロトコルを設計するためには、本発明は、１つの望ましい実施例では、次のような構造上の制約を課している：
− ブリッジは、２つのピコネットしか接続することができない（ブリッジ階級制約）。ブリッジは、時分割態様でそれの作業を多くの部分に分割しなければならない。各携帯用デバイスが処理機能を制限されていると仮定すると、２という最大ブリッジ階級を課することは、複数の発信されたデータの転送に対する交差点であるノードを援助する。
− ２つのピコネットは、１つのブリッジしか共用しない（ピコネット・オーバラップ制約）。望ましくは、この状態は、接続確立プロトコルを速く終わらせる手段を提供するために課せられる。その後、２つのマスタがそれらの間で他のブリッジを共用したい場合、それらは、例えば、一般的なブリッジ・ネゴシエーション（ｂｒｉｄｇｅ ｎｅｇｏｔｉａｔｉｏｎ）プロトコルによってそれを行うことができる。
【００３３】
本発明の望ましい実施例によれば、スキャッタネットにおけるブルートゥース・デバイスを接続するためのプロトコル又は機構が提供される。望ましくは、そのプロトコルは、リーダ選択（ｌｅａｄｅｒ ｅｌｅｃｔｉｏｎ）アルゴリズム又はプロセスに、少なくとも、部分的に基づいている。当業者には明らかなように、選択されたリーダは、それが選択されたことを知っており、他のノードは、それらが選択されなかったことを知っているという意味で、リーダ選択は、独特のリーダ・ノードを選択するという問題を処理する。リーダ選択という概念は、分散システムにおける対称性を破るために使用可能な重要なツールである。ノードは、非同期的に、しかも参加ノードの総数に関する何の知識もなしに開始するので、リーダは、ネットワーク確立を制御することができるであろう。
【００３４】
本発明のネットワーク確立手順は、望ましくは、３つの異なるフェーズ、即ち、コーディネータ選択フェーズ（フェーズＩ）、役割決定フェーズ（フェーズＩＩ）、及び接続確立フェーズ（フェーズＩＩＩ）を含む。３つのフェーズの各々に関して、以下で詳細に説明することにする。
【００３５】
Ａ．フェーズＩ：  コーディネータ選択
このコーディネータ選択フェーズ中、望ましくは、ネットワーク構成における各参加ノードの数、アドレス、及びクロック情報を最終的に決定及び記憶するコーディネータ・ノードの非同期分散選択が存在する。コーディネータ・ノードは、どの参加ノードが、マスタ、スレーブ、及びブリッジ（望ましくは、２つ又はそれ以上のマスタのために働くスレーブである）であるかを決定する責任があるであろう。
【００３６】
望ましくは、本発明と共に使用するための幾つかの変数及び関連の機能が定義される。フェーズＩのとき、望ましくは、各ユニット又はノードｘは、それの自由に使える次のような変数を有する：
マイ・ボウト（ＭＹ＿ＶＯＴＥＳ）：この変数は、特定のノードがそれまでに受け取ったボウト（ＶＯＴＥ）の数を決定するために使用される。
他のボウト（ＯＴＨＥＲ＿ＶＯＴＥ）：ポイント・ツー・ポイント接続の間、他のピア・ノードの ＭＹ＿ＶＯＴＥ 値として、この変数が定義される。
マイＩＤ（ＭＹ＿ＩＤ）：この変数は、ユニットｘのブルートゥース・アドレスを保持する。
他のＩＤ（ＯＴＨＥＲ＿ＩＤ）：ポイント・ツー・ポイント接続の間、他のピア・ノードの ＭＹ＿ＩＤ 変数として、この変数が定義される。
マイＦＨＳリスト（ＭＹ＿ＦＨＳ＿ＬＩＳＴ）：アレーとして実現可能なこの変数は、ユニットｘがそれまでに見た、ノードのファイル・ハイアラーキ・システム（ＦＨＳ）パケットの現在のリストを保持する。このリストは、例えば、次のようなタイプのエントリを含み得る：
ｔｙｐｅｄｅｆ ｓｔｒｕｃｔ ＦＨＳＬｉｓｔＩｎｆｏ＿ｔｙｐｅ
｛
ｕｎｓｉｇｎｅｄ ｉｎｔ ａｄｄｒｅｓｓ；
ｕｎｓｉｇｎｅｄ ｉｎｔ ｃｌｏｃｋ；
｝ＦＨＳＩｎｆｏ；
他のＦＨＳリスト（ＯＴＨＥＲ＿ＦＨＳ＿ＬＩＳＴ）：ポイント・ツー・ポイント接続の間、アレーとして実現可能なこの変数が、他のピア・ノードの ＭＹ＿ＦＨＳ＿ＬＩＳＴ として定義される。このリストは、上述のように、タイプ ＦＨＳＩｎｆｏ のエレメントも含む。
【００３７】
図４は、本発明に従って、フェーズＩの例示的な期間中に各ノードによって生じるアクション及び状態遷移を示す論理的流れ図４００である。図４を参照すると、各ノードが、望ましくは、変数 ＭＹ＿ＶＯＴＥＳ ＝ １をセットすること（ステップ４１１）により、初期設定状態４１０においてスタートする。その初期設定状態４１０では、望ましくは、ＦＨＳＩｎｆｏ エントリが、特定のノードに対するブルートゥース・アドレス及びクロック情報を含むアレー ＭＹ＿ＦＨＳ＿ＬＩＳＴ に加えられる（ステップ４１２）。リスト・エントリ ＭＹ＿ＦＨＳ＿ＬＩＳＴ［０］ が、望ましくは、ノードｘのブルートゥース・アドレス及びクロック情報を含む。更に、ノードｘは、望ましくは、ＭＹ＿ＩＤ ローカル変数を ＭＹ＿ＦＨＳ＿ＬＩＳＴ［０］．ａｄｄｒｅｓｓ に等しくセットする（ステップ４１３）。初期設定状態４１０をから抜け出す前に、望ましくは、交互手順において使用されたスタート・タイムアウト・タイマ（図２における２０３）が開始され（ステップ４１４）、しかる後、そのユニットが、図２に関連して前述した集合交互状態２００に入る。
【００３８】
図４を続けて参照すると、相互に検出する任意の２つのノードｘ及びｙが、望ましくは、ポイント・ツー・ポイント接続を形成するであろうし、しかも、共に、出力ポイント又は出口ポイント２１６を通して交互状態２００を抜け出すであろう。接続を形成するとき、望ましくは、２つのノードｘ及びｙが「１対１バトル」には入り、それら２つのノードのうちのどちらが「勝者」と思われるかを決定する。例えば、そのバトルは、２つのノードｘ及びｙの間で変数 ＭＹ＿ＶＯＴＥＳ 及び ＭＹ＿ＩＤ に関する情報を交換すること（タスク４２０におけるステップ４２２、４２３）を含み得る。しかる後、各ユニットは、それの ＭＹ＿ＶＯＴＥＳ 変数をそれの ＯＴＨＥＲ＿ＶＯＴＥＳ 変数（それは、再び、他のユニットの ＭＹ＿ＶＯＴＥＳ 変数と同等と考えられる）と比較する（ステップ４３０）。それら２つの変数が等しい場合（ライン４３１）、望ましくは、もう１つの比較（ステップ４４０）が２つのノードの ＭＹ＿ＩＤ 変数に関して行われ、より大きいＩＤを有するノードがそのバトルに勝つ。それとは別の方法として、それら２つの変数 ＭＹ＿ＶＯＴＥＳ 及び ＯＴＨＥＲ＿ＶＯＴＥＳ が等しくない場合（ライン４３２）、望ましくは、次の比較が行われ（ステップ４５０）、より大きい数のボウトを有するユニットがそのバトルに勝つ（ライン４５１）。
【００３９】
図４の例では、ユニットｘが勝利ユニットであると決定されるものと仮定する。望ましくは、敗北ユニットｙ（ライン４４２又は４５２）は、ページ・スキャン状態４８０に入る前に或る中間タスク４６０を遂行する。中間タスク４６０は、それの ＭＹ＿ＦＨＳ＿ＬＩＳＴ を勝利ユニットｘに送ること（ステップ４６１）、ＭＡＳＴＥＲＳ＿ＣＯＵＮＴ 変数をゼロに等しくセットすること（ステップ４６２）、及びユニットｘから接続解除すること（ステップ４６３）を含む。ページ・スキャン状態４８０に入った後、敗北ユニットｙは、照会メッセージに応答することができないであろうが、それについて知っており且つ将来それをページングするノードからのメッセージをページングするように応答するだけであろう。本質的には、これは、このノードを、コーディネータ選択プロセスからの競合から外すという効果及び本発明の新規なブルートゥース・ネットワーク形成プロトコルのフェーズＩＩに対してそれを備えさせるという効果を有する。
【００４０】
望ましくは、勝利ユニットｘ（ライン４４１又は４５１）は、ローカル変数 ＯＴＨＥＲ＿ＦＨＳ＿ＬＩＳＴ における敗北ユニットの ＭＹ＿ＦＨＳ＿ＬＩＳＴ を受け取り（ステップ４７１）、しかる後、それの現在の ＭＹ＿ＦＨＳ＿ＬＩＳＴ にこのリストを追加する（ステップ４７２）ことを含む所定のタスク４７０を遂行する。更に、望ましくは、勝利ユニットｘは、敗北ユニットｙとの接続を最終的に終了して（ステップ４７３）、スタート・タイムアウト・タイマを最スタートする（ステップ４７４）前に、ＯＴＨＥＲ＿ＶＯＴＥＳ の値に等しい量だけそれの現在の ＭＹ＿ＶＯＴＥＳ 値を増加させる。そこで勝利ユニットは、望ましくは、ネットワークにおけるすべての参加のーどが最終的に知られるまで、プロセス４００を再び繰り返すように交互状態２００に入る。従って、フェーズＩの終了時には、交互状態２００における唯一のユニットが存在し、そして、タイムアウト ＡＬＴ＿ＴＩＭＥＯＵＴ が経過した（検出されるべき更なるノードが存在しないことを表す）とき、出力ポイント２１７を通してこの状態を抜け出すであろう。この時点で、残りのユニットは、それが選択されたコーディネータであることを仮定するであろうし、従って、リーダ状態４９０に入ることによってフェーズＩＩを開始するであろう。最終的には１つのノードしかコーディネータとして選択されないことを保証するためにタイムアウト・インターバル ＡＬＴ＿ＴＩＭＥＯＵＴ（図２における２２０）が選択されなければならないということは明らかである。
【００４１】
Ｂ．フェーズＩＩ：  役割決定
フェーズＩの終了時には、競合全体の勝者がコーディネータであり、残りのノードは、望ましくは、ページングされるのを待つページ・スキャン状態４８０にある。ページ・スキャン状態４８０におけるコーディネータ・ノードは、一般に、異なるアクションを行うであろう。
【００４２】
望ましくは、本発明と共に使用するための幾つかの変数及び関連の機能が定義される。コーディネータ・ノードによりフェーズＩＩにおいて使用される変数は次のものを含む：
Ｎ：  この変数は、フェーズＩにおいて見られたノードの数を表す。
Ｐ：  この変数は、結果として生じるスキャッタネットが含むマスタ・ノードの数を表す。
ＢＲＩＤＧＥＬＩＳＴ（ｉ） 及び ＳＬＡＶＥＬＩＳＴ（ｉ） ：  結果として生じたピコネットの各マスタ・ノード ｉ に対して、深さ ｉ のアレーとして実現可能なリスト ＢＲＩＤＧＥＬＩＳＴ（ｉ） 及び ＳＬＡＶＥＬＩＳＴ（ｉ） が、望ましくは、それぞれ、マスタ・ノード ｉ に割り当てられたブリッジ・ノード及びスレーブ・ノードのアイデンティティを記憶するであろう。
ＭＡＳＴＥＲＳ ：  この変数は、サイズＰのリストであり、それは、望ましくは、タイプ ＦＨＳＩｎｆｏ のエントリを記憶し、コーディネータによって選択されたマスタを含む。
ＨｅａｄＰａｃｋｅｔ ：  これは、望ましくは、各接続確立手順の開始時に、いつもマスタ・ノードからスレーブノードに送られるデータ・パケットである。望ましい実施例では、このパケットは、次のような２ビットによって指定されるように行動するようスレーブ・ノードに指示する。即ち、その２ビットは：
ＨｅａｄＰａｃｋｅｔ．Ｍｂｉｔ − このビットが「１」に等しい場合、それは、ＨｅａｄＰａｃｋｅｔを受け取るノードが、結果として生じたスキャッタネットにおいてマスタ・ノードになるようにコーディネータによって割り当てられるということを指定する。
ＨｅａｄＰａｃｋｅｔ．Ｂｂｉｔ − このビットが「１」に等しい場合、それは、ＨｅａｄＰａｃｋｅｔを受け取るノードが、結果として生じたスキャッタネットにおいてブリッジ・ノードになるようにコーディネータによって割り当てられているということを指定する。
【００４３】
図５は、本発明のブルートゥース・ネットワーク確立プロトコルのフェーズＩＩのときに、コーディネータ・ノードが取るアクションを示す論理的流れ図５００を表す。更に、図６は、フェーズＩの終了時に、ページ・スキャン状態４８０に入っているノードが取るアクションを示す論理的流れ図６００を表す。図６は、フェーズＩＩ及びフェーズＩＩＩを後述するときにクロスレファレンスされるであろう。
【００４４】
次に、図５を参照すると、望ましくは、マスタ又はリーダが、先ず、変数 ＭＹ＿ＶＯＴＥＳ に等しくなるノードＮの数を割り当てる（状態４９０）。そこで、コーディネータは、Ｎの値が８よりも小さいかどうかを決定する（ステップ５２０）。この結果が真である場合（ライン５２１）、コーディネータがマスタとして作用するとき、単一のピコネットが必要になるだけであり、従って、他のピコネットへのブリッジ・ノードを必要としなくする。
【００４５】
単一のピコネットの場合（即ち、Ｎが８よりも小さいか又は８に等しい場合）、望ましくは、コーディネータがページングを行い、フェーズＩＩ手順を最終的にマスタ終了状態５５０になる前に、ページ・スキャン状態にあるＮ個のノードすべてに接続する（タスク５３０）。最初に「１」に等しくセットされる（タスク５２５）反復インターバルｊの間、望ましくは、コーディネータがページングを行い、アドレス ＭＹ＿ＦＨＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ に対応したスレーブ・ユニットに接続し（タスク５３０）、データ・パケット ＨｅａｄＰａｃｋｅｔ の Ｍｂｉｔ 及び Ｂｂｉｔ の両方をそれぞれゼロ（０）に等しくセットし（ステップ５４１及び５４２）、このパケットをスレーブ・ユニットに第１データ・パケットとして送る（ステップ５４３）。そこで、反復ポインタは１だけインクレメントされ（ステップ５４４）、次の反復インターバルｊがノード数Ｎよりも小さいかどうかを決定するために測定される（ステップ５１０）。望ましくは、反復インターバルｊがＮよりも小さいままでいる限り（ライン５１１）、ページング／接続及びパケット初期設定タスク５３０、５４０が繰り返される。一旦、反復インターバルｊがノードＮの数に等しいか又はそれを越えると（即ち、リスト ＭＹ＿ＦＨＳ＿ＬＩＳＴ におけるすべてのユニットがコーディネータによってアクセスされてしまうと）（ライン５１２）、コーディネータはマスタ終了（ＭＡＳＴＥＲ ＴＥＲＭＩＮＡＴＥ）状態５５０に入り、それによって、フェーズＩＩ接続確立プロトコル５００を終了する。しかる後、コーディネータは、マスタとして接続状態で動作する。従って、本発明の上記手順によれば、コーディネータがマスタとして機能すること及び他のすべてのノードがスレーブとして機能することによって、ピコネットが形成可能である。
【００４６】
図５を続けて参照すると、ノードの数Ｎが８よりも大きい場合（ライン５２２）、コーディネータはネットワークの包括的な視野を有するので、それは、各ノードが最終的なスキャッタネットにおいて有する役割を決定することができる。その役割決定は、ブルートゥース・スキャッタネットを形成するための基準に密接に拘束される。例えば、異なるアプリケーションは、同じノードがマスタ又はスレーブとして作用することを可能にし得る。ノードがそれ自身の性質のために更に制限的な制約を有することも可能である。例えば、７スレーブ・ピコネットにおけるマスタ以外のノードが Ｐａｌｍ Ｐｉｌｏｔ よりも少ない処理能力しか持たない場合、Ｐａｌｍ Ｐｉｌｏｔ は、そのピコネットのマスタとなるに必要な処理能力を持っていない可能性が高い。これらの制約は、選択プロセスの期間中にリーダ又はコーディネータに伝達され得るし、最終的なスキャッタネットにおける参加ノードの役割を決定するときにコーディネータを助けることができる。更なる（又は、何らかの）制約がない場合、デフォルトの役割選択が、次のように、実施可能である：
− 参加ノードの数Ｎが与えられると、その結果のスキャッタネットは、できるだけ最小数のピコネット（従って、マスタ）を含まなければならない。
− その結果生じたスキャッタネットは、完全に接続されなければならない。これは、すべてのマスタが、望ましくはブリッジ・ノードを介して他のすべてのマスタに接続されなければならない。
【００４７】
上記のデフォルトの役割選択基準が単なる説明的なものであり、本発明に従って容易に修正され得ることは明らかである。
【００４８】
その結果生じたブルートゥース・スキャッタネットが完全に接続されるためには、最小数のマスタ・ノード又はピコネットが、次式の関係を使用して計算可能である：
【数１】
2004517570.tif 000003
【００４９】
上記の式からわかるように、そのデフォルト手法は、完全な接続及び最小数のピコネット要件のために、０より大きいか又は０に等しく且つ３６よりも小さいか又は３６に等しい数Ｎのノードに作用する。更に多くのノードが、完全なスキャッタネットの接続を生じないデフォルト手法を導くことも可能である。
【００５０】
図５を参照すると、望ましくは、本発明のフェーズＩＩプロトコルは、どのノードがマスタ・ノードであるか、ブリッジ・ノードであるか、及びスレーブ・ノードであるかを決定する（タスク５６０）。Ｐを計算した（ステップ５６１）後、コーディネータは、マスタ・ノードになるべきＰ−１個のノード（それ自身を含まない）を選択し（望ましくは、変数 ＭＡＳＴＥＲＳ に記憶される）、及びネットワークのブリッジ・ノードになるべきＰ（Ｐ−１）／２個の他のノードを選択する。望ましくは、コーディネータが、タスク５８０において、マスタに、それらの「純粋な」スレーブになるべき残りのノードを均等に配分する。マスタ、ブリッジ、及びスレーブに関する決定を行った後、望ましくは、コーディネータが、ＢＲＩＤＧＥＬＩＳＴ（０） 及び ＳＬＡＶＥＳ＿ＬＩＳＴ（０） を作成してそれ自身に割り当てる（ステップ５６３）。これは、それが本プロトコルのフェーズＩＩＩにおいてマスタとして動作するためである。そこで、望ましくは、反復インターバル・ポインタ又はカウンタｊが、ステップ５６４においてｊを１に等しくセットすることによって開始される。
【００５１】
その後、各反復期間の間、コーディネータは、ページングを行い、アドレス ＭＡＳＴＥＲＳ（ｊ）．ａｄｄｒｅｓｓ によって表されたユニットに接続する（タスク５７０）。フェーズＩの終了時に、残りのノードすべてがページ・スキャン状態４８０にあったことを想起してほしい（図４参照）。更に望ましくは、反復の間、コーディネータは、ＢＲＩＤＧＥ＿ＬＩＳＴ（ｊ） 及び ＳＬＡＶＥＳ＿ＬＩＳＴ（ｊ） を計算し（ステップ５８１）、データ・パケット ＨｅａｄＰａｃｋｅｔ の Ｍｂｉｔ 及び Ｂｂｉｔ をそれぞれ１及び０にセットする（ステップ５８２及び５８３）。そこで、このパケットは、ユニット ＭＡＳＴＥＲＳ（ｊ）．ａｄｄｒｅｓｓ に第１データ・パケットとして伝送される（ステップ５８４）。望ましくは、リスト ＢＲＩＤＧＥ＿ＬＩＳＴ（ｊ） 及び ＳＬＡＶＥＳ＿ＬＩＳＴ（ｊ） も、ユニット ＭＡＳＴＥＲＳ（ｊ）．ａｄｄｒｅｓｓ に送られ（ステップ５８５）、その後、そのユニットからそれ自身を切断する（ステップ５８６）。
【００５２】
コーディネータは、ユニット ＭＡＳＴＥＲＳ（ｊ）．ａｄｄｒｅｓｓ から自身を切断した後、望ましくは、反復ポインタｊを１だけ増加させ（ステップ５８７）、しかる後、それが反復カウントを越えた（例えば、ｊがＰ−１よりも大きいか又は等しい）かどうかを決定するためのチェックを行う（ステップ５９０）。それが反復カウントを越えた場合（ライン５９１）、即ち、ＭＡＳＴＥＲＳ リストにおけるすべてのユニットがアクセスされてしまったことを表す場合、望ましくは、コーディネータは、スタート・マスタ状態５９９においてフェーズＩＩＩに入る。それが反復カウントｊを越えてない場合、そのような状態（ｊ＜Ｐ−１）が最早真でなくなるまで、ページ／接続タスク５７０並びに対応するパケット及びリスト伝送タスク５８０が次の反復インターバル（即ち、ｊ＋１）に対して行われる。
【００５３】
次に図６を参照すると、反復の間、アドレス ＭＹ＿ＦＨＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ に対応するユニットｘが、望ましくは、ページングされ（状態４８０）、コーディネータにスレーブとして接続される（ステップ６０１）。接続が確立された後、望ましくは、コーディネータが、そのコーディネータの伝送（図５のステップ５４３）から生じたＨｅａｄＰａｃｋｅｔ をユニットｘから受け取る（ステップ６０５）。そこで、ユニット ＭＹ＿ＦＨＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ からのパケット  ＨｅａｄＰａｃｋｅｔ が Ｍｂｉｔ のビット値を決定するためにチェックされる（ステップ６１０）。このビットは、初期ステップ５４１（図５参照）においてゼロに等しくセットされたので、望ましくは、制御パス６１２がコーディネータに Ｂｂｉｔ のビット値をチェックさせる（ステップ６２０）。再び、初期ステップ５４２（図５参照）のときに Ｂｂｉｔ が０にセットされたので、望ましくは、制御パス６２１がユニットｘをスレーブ終了状態６３０に入らせる。その状態では、そのユニットは、接続確立プロトコルの実行を終了しており、現時点では、スレーブとして動作する接続状態にある。
【００５４】
マスタ・ユニットサイドでは、反復の間、望ましくは、ＭＡＳＴＥＲＳ（ｊ）．ａｄｄｒｅｓｓ に対応するユニットｘがページングされ（状態４８０）、コーディネータにスレーブとして接続される（ステップ６０１）。接続が確立された後、望ましくは、コーディネータの伝送ステップ５８４（図５参照）から生じた ＨｅａｄＰａｃｋｅｔ を受け取る（ステップ６０５）。そこで、ユニットｘ（即ち、ＭＡＳＴＥＲＳ（ｊ）．ａｄｄｒｅｓｓ）からのパケット ＨｅａｄＰａｃｋｅｔ が、Ｍｂｉｔ のビット値を決定するためにチェックされるであろう（ステップ６１０）。このビットは、初期ステップ５８２（図５参照）において１に等しくセットされたので、望ましくは、ステップ５８４の間にコーディネータによって送られたユニットｘからのローカル・リスト変数  ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ 及び ＭＹ＿ＳＬＡＶＥＳ＿ＬＩＳＴ を、制御パス６１１がコーディネータに受け取らせる（ステップ６８１）。コーディネータによって開始された接続終了（６８２）のとき、望ましくは、ユニットｘがスタート・マスタ状態６９０においてフェーズＩＩＩに入る。
【００５５】
Ｃ．フェーズＩＩＩ：  実際の接続確立
フェーズＩＩＩの間、望ましくは、Ｐ個のマスタ・ノードがページングを開始し、役割割当フェーズ（フェーズＩＩ）の間にコーディネータ・ノードによってそれらに割り当てられたスレーブ・ノード及びブリッジ・ノードへの接続を開始する。図７における例示の論理的流れ図７００に示されるように、マスタ・ノードのオペレーションは、スタート・マスタ状態５９９又は６９０（図５及び図６参照）と同じスタート・マスタ状態７０２において開始する。本発明の望ましい実施例によれば、マスタ・ノードが、望ましくは、先ず、それの純粋なブリッジ・ユニットに接続し、しかる後、望ましくは、それのブリッジ・ユニットに接続する。以下で、更に詳細に、接続プロトコルの例を説明する。
【００５６】
図７を参照すると、最初に１に等しくセット可能である（タスク７１０）反復ステップの間、望ましくは、マスタ・ユニットがページングを行い、アドレス ＭＹ＿ＳＬＡＶＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ によって表されたユニットに接続する（タスク７２０）。接続が確立された後、望ましくは、マスタ・ユニットがデータ・パケット ＨｅａｄＰａｃｋｅｔ の Ｍｂｉｔ のビット値をゼロに等しくセットし（ステップ７３１）、データ・パケット ＨｅａｄＰａｃｋｅｔ の Ｂｂｉｔ のビット値をゼロに等しくセット（ステップ７３２）、このパケットをユニット ＭＹ＿ＳＬＡＶＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ に第１データ・パケットとして送る（ステップ７３３）。そのデータ・パケットを送った後、望ましくは、反復ポインタ値ｊが１だけインクレメントされ（ステップ７３４）、それの値がリスト ＭＹ＿ＳＬＡＶＥＳ＿ＬＩＳＴ の長さよりも小さいかどうかを決定するためのチェックが行われる（ステップ７４０）。反復カウントｊがリスト ＭＹ＿ＳＬＡＶＥＳ＿ＬＩＳＴ の長さよりも小さいままである限り、望ましくは、ページング／接続（タスク７２０）及びパケット初期設定／伝送手順（タスク７３０）がその後の反復のために繰り返される（ライン７４２）。
【００５７】
図６と関連して上述したのと同様に、各反復の間、ユニットＭＹ＿ＳＬＡＶＥ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ がページングされ（状態４８０）、コーディネータに接続される（６０１）であろうし、コーディネータの伝送（ステップ７３３）により ＨｅａｄＰａｃｋｅｔ を受け取る（ステップ６０５）であろう。そこで、ユニット ＭＹ＿ＳＬＡＶＥ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ は、制御パス６１０、６２０、６２１をたどるであろうし（Ｍｂｉｔ 及び Ｂｂｉｔ の両方とも予めゼロに等しくセットされたので）、そのユニットは、接続確立プロトコルの実行を終了したこと及び現在はスレーブとして動作する接続状態にあることを表すスレーブ終了状態６３０に入るであろう。
【００５８】
一旦、反復ポインタのカウントｊがリスト ＭＹ＿ＳＬＡＶＥ＿ＬＩＳＴ の長さに等しいか又はそれを越えてしまうと（ライン７４１）、それは、マスタがすべての参加スレーブ・ノードに接続されてしまったことを意味し、望ましくは、マスタが同様の方法でそれのブリッジ・ノードへの接続を開始する。詳しく云えば、最初に１にセットされる（タスク７４５）反復の間、望ましくは、マスタ・ユニットが ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ をページングしてそれに対応するユニットに接続し（タスク７５０）、データ・パケット ＨｅａｄＰａｃｋｅｔ の Ｍｂｉｔ 及び Ｂｂｉｔ をそれぞれ０及び１にセットし（ステップ７６１、７６２）、このパケットをユニット ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ に第１データ・パケットとして送る（ステップ７６３）。そこで、望ましくは、反復ポインタｊが１だけインクレメントされ（ステップ７６４）、その反復カウントがリスト ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ の長さを越えたかどうかを決定するためのチェックが行われる（ステップ７７０）。反復カウントｊがリスト ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ の長さに等しいか又はそれを越えてしまったことによって、マスタがすべての参加ブリッジ・ノードに接続されたことを表すまで、望ましくは、ページング／接続手順（タスク７５０）及びパケット初期設定／伝送手順（タスク７６０）が繰り返される（ライン７７２）。
【００５９】
マスタ・ユニットがそれの ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ におけるすべてのユニットに接続されてしまったとき（ライン７７１）、望ましくは、そのリストにおけるすべてのユニットが２に等しい ＭＡＳＴＥＲ＿ＣＯＵＮＴ 値を送出するまで、マスタ・ユニットは待つ（タスク７８０）。一旦この状態が生じると、望ましくは、コーディネータがマスタ終了状態７９０に入る。この状態では、そのユニットは、接続確立プロトコルの実行を終了しており、その時点では、マスタとして動作する接続状態にある。
【００６０】
再び図６を参照すると、ユニット ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ がページングされ（状態４８０）、接続される（タスク６０１）であろうし、コーディネータの伝送（ステップ７６３）から ＨｅａｄＰａｃｋｅｔ を受け取る（タスク６０５）であろう。望ましくは、ユニット ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ が制御経路６１０、６１２、６２０、６２２をたどる。それは、Ｍｂｉｔ のビット値が０に等しくセットされ（ステップ７６１）、Ｂｂｉｔ のビット値が１に等しくセットされる（ステップ７６２）ためである（図７参照）。最初に０に等しくセットされる変数 ＭＡＳＴＥＲ＿ＣＯＵＮＴ の値（図４におけるステップ４６２）が、望ましくは、１だけインクレメントされ（ステップ６４１）、マスタ・ユニットがコーディネータの ＭＹ＿ＭＡＳＴＥＲＳ＿ＬＩＳＴ に加えられる（タスク６４０）であろう。変数 ＭＡＳＴＥＲ＿ＣＯＵＮＴ をチェックすることによって（ステップ６５０）、そのユニットは、スレーブ・ユニットに接続する第１マスタであることを決定され（ライン６５２）、しかる後、第２マスタに接続されるために、再びページ・スキャン状態４８０に入る。別の方法として、そのユニットが、スレーブ・ユニットを接続している第２マスタ（例えば、ＭＡＳＴＥＲ＿ＣＯＵＮＴ＝２）である場合、望ましくは、ユニット ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ は、現時点で２に等しくなければならない変数 ＭＡＳＴＥＲ＿ＣＯＵＮＴ を ＭＹ＿ＭＡＳＴＥＲＳ リストにある両方のマスタに送る（タスク６６０）。これは、先ず、変数 ＭＡＳＴＥＲＳ＿ＣＯＵＮＴ をユニットｘに送ること（ステップ６６１）、ピコネットを切り替えること（ステップ６６２）、しかる後、変数 ＭＡＳＴＥＲＳ＿ＣＯＵＮＴ をユニット ＭＹ＿ＭＡＳＴＥＲＳ（０） に送ること（ステップ６６３）によて達成可能である。最後に、ユニット ＭＹ＿ＢＲＩＤＧＥＳ＿ＬＩＳＴ（ｊ）．ａｄｄｒｅｓｓ がブリッジ終了状態６７０に入るであろう。その状態では、ユニットは、接続確立プロトコルの実行を終了しており、現時点では、ブリッジ・ノードとして動作する接続状態にある。
【００６１】
プロトコル終了：  すべてのマスタがそれらの割り当てられたすべてのブリッジから ＭＡＳＴＥＲ＿ＣＯＵＮＴＥＲ＝２ メッセージを受け取るとき、Ｐ個のピコネットから成る完全に接続されたスキャッタネットが形成されたことが本質的に保証され、従って、本願で開示されたように、本発明のプロトコルが終了し得る。そのとき、望ましくは、各ノードがマスタ、スレーブ、又はブリッジとして、接続状態で動作している。
【００６２】
次に図８を参照すると、各図面において示され且つ本願明細書において説明された無線デバイス接続プロトコルの種々の機能的コンポーネント／モジュールを実現するための典型的なブルートゥース使用可能デバイス８００の一般化されたハードウェア・アーキテクチャを表すブロック図が示される。図示のように、デバイス８００は、プロセッサ８０２、メモリ８０４、及び入力／出力（Ｉ／Ｏ）デバイス８０６に従って実現可能である。本願において使用される用語「プロセッサ」は、例えば、中央処理ユニット（ＣＰＵ）及び（又は）処理回路を含む任意の処理デバイス（例えば、ディジタル信号プロセッサ、マイクロコントローラ等）を含むことを意図されることは明らかである。本願において使用される用語「メモリ」は、例えば、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定メモリデバイス（例えば、ハードディスク・ドライブ）、取り外し可能メモリデバイス（例えば、ディスケット）、フラッシュ・メモリのようなプロセッサ又はＣＰＵと関連したメモリを含むことを意図される。更に、本願において使用される用語「Ｉ／Ｏデバイスメモリ」は、例えば、データを処理ユニットに入力するための１つ又は複数の入力デバイス（例えば、マウス、キーボード等）、及び（又は）処理ユニットと関連した結果を表示するための１つ又は複数の出力デバイス（例えば、ＣＲＴディスプレイ、プリンタ等）を含むことを意図される。また、用語「プロセッサ」が複数の処理デバイスを指し得ること、及び処理デバイスと関連した種々のエレメントが他の処理デバイスによって共用され得ることも理解されるべきである。
【００６３】
従って、本願において開示されたように、本発明の方法を遂行するための命令又はコードを含むソフトウェア・コンポーネントは、１つ又は複数の関連のメモリデバイス（例えば、ＲＯＭ、固定又は取り外し可能メモリ）に記憶可能であり、利用される準備ができているときには、全体的に又は部分的に（例えば、ＲＡＭに）ロードされ、ＣＰＵによって実行可能である。
【００６４】
添付図面を参照して本発明の実施例が説明されたけれども、本発明がそれら実施例そのものに限定されないこと、及び本発明の範囲及び精神にから逸脱することなく、当業者によって種々の他の変更及び修正が行われ得ることは明らかである。
【図面の簡単な説明】
【図１】
２つのブルートゥース使用可能デバイスの間の一般的な非対称接続確立プロトコルを示す論理的流れ図である。
【図２】
本発明の一実施例によって形成された、役割の事前割当のない対称ポイント・ツー・ポイント接続確立プロトコルを提供するための集合的交互状態を示す論理的流れ図である。
【図３】
図２に示された対称ポイント・ツー・ポイント接続確立プロトコルを示す論理的タイミング図である。
【図４】
本発明の一実施例に従って、ネットワーク形成プロトコルの選択プロセス（フェーズＩ）の期間に各ノードによって行われるアクション及び状態を示す論理的流れ図である。
【図５】
本発明の一実施例に従って、ネットワーク形成プロトコルの役割割当フェーズ（フェーズＩＩ）の期間にコーディネータ・ノードによって取られるアクションを示す論理的流れ図である。
【図６】
本発明の一実施例に従って、ネットワーク形成プロトコルの役割割当フェーズ（フェーズＩＩ）及び接続確立フェーズ（フェーズＩＩＩ）の期間にスレーブ・ノードによって取られるアクション及び状態を示す論理的流れ図である。
【図７】
本発明の一実施例に従って、ネットワーク形成プロトコルの接続確立フェーズ（フェーズＩＩＩ）の期間に指定のマスタ・ノードによって取られるアクション及び状態を示す論理的流れ図である。
【図８】
プロセッサ及び関連のコンポーネントを含む典型的なブルートゥース使用可能デバイスを示すブロック図である。
【図１】
2004517570.tif 000004
【図２】
2004517570.tif 000005
【図３】
2004517570.tif 000006
【図４】
2004517570.tif 000007
【図５】
2004517570.tif 000008
【図６】
2004517570.tif 000009
【図７】
2004517570.tif 000010
【図８】
2004517570.tif 000011
【国際公開パンフレット】
2004517570.tif 000012
2004517570.tif 000013
2004517570.tif 000014
2004517570.tif 000015
2004517570.tif 000016
2004517570.tif 000017
2004517570.tif 000018
2004517570.tif 000019
2004517570.tif 000020
2004517570.tif 000021
2004517570.tif 000022
2004517570.tif 000023
2004517570.tif 000024
2004517570.tif 000025
2004517570.tif 000026
2004517570.tif 000027
2004517570.tif 000028
2004517570.tif 000029
2004517570.tif 000030
2004517570.tif 000031
2004517570.tif 000032
2004517570.tif 000033
2004517570.tif 000034
2004517570.tif 000035
2004517570.tif 000036
2004517570.tif 000037
2004517570.tif 000038
2004517570.tif 000039
2004517570.tif 000040
2004517570.tif 000041
2004517570.tif 000042
2004517570.tif 000043
2004517570.tif 000044
2004517570.tif 000045
2004517570.tif 000046
2004517570.tif 000047
2004517570.tif 000048
2004517570.tif 000049
2004517570.tif 000050
2004517570.tif 000051
2004517570.tif 000052
2004517570.tif 000053
2004517570.tif 000054
2004517570.tif 000055
2004517570.tif 000056
2004517570.tif 000057
【国際公開パンフレット（コレクトバージョン）】
2004517570.tif 000058
2004517570.tif 000059
【手続補正書】
【提出日】平成15年2月14日(2003.2.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
【従来の技術】
ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）は、セル電話、ヘッドセット、ＰＤＡ、及びラップトップ・コンピュータのような家庭用のポータブル電子機器をリンクするための短距離（約１０メートル）無線ケーブル代替手段として開発された新しいテクノロジであるが、それは、ファクシミリ機械、プリンタ、玩具、ディジタル・カメラ、家庭用機器、及び他の任意のディジタル家電製品又はアプリケーションに対しても適応することができる。そのテクノロジは、本質的には、その場しのぎ（ａｄ ｈｏｃ）を原則としたブルートゥース具備のデバイスの間で小型の無線ネットワークを形成するための機構を提供する。それは、既存のデータ・ネットワークに対する無線通信ブリッジとしても働く。現在のブルートゥース実現の努力は、一般的に云えば、例えば、ダイヤルアップ・ネットワーキング・プロファイル、ヘッドセット・プロファイル、及びローカル・エリア・ネットワーク（ＬＡＮ）アクセス・ポイント・プロファイル（ブルートゥース仕様バージョン１．０）のようなポイント・ツー・ポイントのクライアント／サーバ・アプリケーションに焦点を合わせている。ブルートゥース使用可能デバイス（Ｂｌｕｅｔｏｏｔｈ−ｅｎａｂｌｅｄ ｄｅｖｉｃｅ）が、自動的に、相互に探索して、２つのノードだけから成ることが最も多いネットワークの形にそれら自身を構成するであろう。
「ベースバンド仕様」のブルートゥース仕様バージョン１．０ Ｂ， Ｃｏｒｅ， １ Ｄｅｃｅｍｂｅｒ １９９９， ｐａｇｅｓ ３３−１９０， ＸＰ００２２１４９５０ は、宛先にデバイス・アドレスがソースにとって未知である場合のアプリケーションにおいて使用される照会手順を開示している。プリンタ又はファクシミリ機械のような周知の機器、或いはＬＡＮに対するアクセス・ポイントが想定可能である。それとは別に、照会手順は、他のどのブルートゥース・ユニットが所定範囲内にあるかを検出するために使用可能である。照会サブ状態の間、その検出ユニットは、照会メッセージに応答するすべてのユニットのブルートゥース・デバイス・アドレス及びクロックを収集する。そこで、もし希望すれば、それは、前述のページ手順によってそれらのうちの任意の１つに接続を行うことができる。ソースによってブロードキャストされた照会メッセージは、そのソースに関する如何なる情報も含まない。しかし、それは、どのクラスのデバイスが応答すべきかを表示し得る。任意のブルートゥース・デバイスを照会するための１つの汎用照会アクセス・コード（ｇｅｎｅｒａｌ ｉｎｑｕｉｒｙ ａｃｃｅｓｓ ｃｏｄｅ − ＧＩＡＣ）及び或るタイプのデバイスだけを照会する複数の専用照会アクセス・コード（ｄｅｄｉｃａｔｅｄ ｉｎｑｕｉｒｙ ａｃｃｅｓｓ ｃｏｄｅ − ＤＩＡＣ）がある。それらの照会アクセス・コードは、予約済みのブルートゥース・デバイス・アドレスから取り出される。他のブルートゥース・ユニットを検出しようとするユニットは、照会サブ状態に入る。このサブ状態では、それは、種々のホップ周波数で（ＩＤパケットである）照会メッセージを連続的に送信する。照会ホップ・シーケンスは、いつも、ＧＩＡＣのＬＡＰから取り出される。従って、ＤＩＡＣが使用されるときでさえ、適用されるホップ・シーケンスは、ＧＩＡＣのＬＡＰから発生される。自身が検出されることを可能にするユニットは、照会メッセージに応答するために、規則的に照会スキャン・サブ状態に入る。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つの無線通信チャネルを介して複数のデバイスの間の接続を確立する方法であって、
１つのデバイスが他のデバイスを検出し、他のデバイスとの接続を確立することを求める第１状態、及び１つのデバイスが他のデバイスの検出及び他のデバイスとの接続のために自身を使用可能にする第２状態の１つを前記複数のデバイスの各々に任意に割り当てるステップと、
所定のタイムアウト期間が満了したこと及び前記複数のデバイス相互間の接続が確立されたことのうちの少なくとも１つが生じるまで、前記複数のデバイスの各々の現状態を前記第１状態及び前記第２状態の間で交互に替えるステップと、
を含み、前記複数のデバイスの各々がそれの現状態のままでいる時間の長さが、１つ又は複数の事前定義された確率分布によって少なくとも部分的に決定される、方法。
【請求項２】
前記デバイスの各々がそれの現状態のままでいる時間の長さを個別に制御するために前記複数のデバイスの各々が当該デバイスと関連した確率分布を含む、請求項１に記載の方法。
【請求項３】
前記複数のデバイスから選択されたデバイスであって、前記複数のデバイスの各々に対応する情報を記憶するコーディネータを選択するステップと、
前記コーディネータが、事前定義されたルールに従って、前記複数のデバイスの各々にマスタの役割、スレーブの役割、及びブリッジの役割の１つを割り当てるステップと、
各デバイスに対する役割割当に従って、無線ネットワークを形成するように前記複数のデバイスを相互に接続するステップと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記コーディネータを選択するステップは、
２つのデバイス間にポイント・ツー・ポイント接続を確立するステップと、
所定の基準に従って、勝利デバイス及び敗北デバイスを決定するステップと、
前記敗北デバイスから、前記敗北デバイス及び前記敗北デバイスが以前に接続を確立した任意のデバイスに関する情報を受け取るステップと、
すべてのデバイスがアクセスされてしまうまでコーディネータ選択ステップを繰り返すステップと、
を含む、請求項３に記載の方法。
【請求項５】
前記敗北デバイス及び前記敗北デバイスが以前にアクセスした任意のデバイスに関する情報を受け取った後、前記敗北デバイスがコーディネータ選択プロセスにそれ以上参加することを抑止するステップを更に含む、請求項４に記載の方法。
【請求項６】
前記勝利デバイス及び敗北デバイスを決定するステップは、前記複数のデバイスの各々に対応する情報を比較するステップを更に含む、請求項４に記載の方法。
【請求項７】
少なくとも１つの無線通信チャネルを介して複数のデバイスの間の接続を確立するための装置であって、少なくとも１つのプロセッサを含み、該プロセッサは、
（ｉ）１つのデバイスが他のデバイスを検出し、他のデバイスとの接続を確立することを求める第１状態、及び他のデバイスの検出及び他のデバイスとの接続のために自身を使用可能にする第２状態の１つを前記デバイスの各々に任意に割り当て、
（ｉｉ）所定のタイムアウト期間が満了したこと及び前記デバイス相互間の接続が確立されたことのうちの少なくとも１つが生じるまで、前記デバイスに各々の現状態を前記第１状態及び前記第２状態の間で交互に替える
ように動作し、
前記複数のデバイスの各々がそれの現状態のままでいる時間の長さが、１つ又は複数の事前定義された確率分布によって少なくとも部分的に決定される、装置。
【請求項８】
前記プロセッサは、更に、
（ｉｉｉ）前記複数のデバイスから選択されたデバイスであって、前記複数のデバイスの各々に対応する情報を記憶するコーディネータを選択し、
（ｉｖ）前記コーディネータが、事前定義されたルールに従って、前記複数のデバイスの各々にマスタの役割、スレーブの役割、及びブリッジの役割の１つを割り当て、
（ｖ）各デバイスに対する役割割当に従って、無線ネットワークを形成するように前記複数のデバイスを相互に接続する、
ように動作する、請求項７に記載の装置。
【国際調査報告】
2004517570.tif 000060