(57)【特許請求の範囲】
【請求項１】
ローカルＢｌｕｅｔｏｏｔｈデバイスによってリモートＢｌｕｅｔｏｏｔｈデバイスを発見し、該リモートＢｌｕｅｔｏｏｔｈデバイスに接続するためのシステムであって、
定期的な問い合わせスキャンによってリフレッシュされる問い合わせスキャンキャッシュと、
前記リモートＢｌｕｅｔｏｏｔｈデバイスに接続しようとする試みを介してリフレッシュされるページスキャンキャッシュと、
前記定期的な問い合わせスキャンより頻繁に実行される定期的なページスキャンを介して前記ローカルＢｌｕｅｔｏｏｔｈデバイスがコンタクトすることに成功した前記ページスキャンキャッシュの中の各エントリに連結された、前記問い合わせスキャンキャッシュの中のエントリを含むリモートＢｌｕｅｔｏｏｔｈデバイスのリストとを備えることを特徴とするシステム。
【請求項２】
前記リモートＢｌｕｅｔｏｏｔｈデバイスは、ネットワークアクセスポイント（ＮＡＰ）サービスを提供することを特徴とする請求項１に記載のシステム。
【請求項３】
前記リモートＢｌｕｅｔｏｏｔｈデバイスは、グループアドホックネットワーク（ＧＮ）サービスを提供することを特徴とする請求項１に記載のシステム。
【請求項４】
前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストを求めてポーリングを行う自動構成サービスコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項５】
前記ページスキャンキャッシュは、有限数のエントリを保持し、有効期限ポリシーに関連付けられることを特徴とする請求項１に記載のシステム。
【請求項６】
前記問い合わせスキャンは、リモートＢｌｕｅｔｏｏｔｈデバイスが前記ローカルＢｌｕｅｔｏｏｔｈデバイスに接続しようとする試みを介して更新されることを特徴とする請求項１に記載のシステム。
【請求項７】
ローカルＢｌｕｅｔｏｏｔｈデバイスによりリモートＢｌｕｅｔｏｏｔｈデバイスを発見し、該リモートＢｌｕｅｔｏｏｔｈデバイスに接続するための方法であって、
定期的な問い合わせスキャンを介して問い合わせスキャンキャッシュを更新するステップと、
前記リモートＢｌｕｅｔｏｏｔｈデバイスに接続しようとする試みが行われた場合、対応するエントリでページスキャンキャッシュを更新するステップと、
定期的に、前記定期的な問い合わせスキャンより頻繁に、リモートＢｌｕｅｔｏｏｔｈデバイスのリストを形成するステップであって、前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストは、前記定期的な問い合わせスキャンより頻繁に実行される定期的なページスキャンを介して前記ローカルＢｌｕｅｔｏｏｔｈデバイスがコンタクトすることに成功した前記ページスキャンキャッシュの中の各エントリに連結された、前記問い合わせスキャンキャッシュの中のエントリを含む、ステップとを含むことを特徴とする方法。
【請求項８】
前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストを形成するステップは、
前記ページスキャンキャッシュの中の各エントリに関し、ページスキャンを実行し、前記ページスキャンが成功であった場合、前記エントリを前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストに追加するステップと、
前記問い合わせスキャンキャッシュの中のエントリを前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストに連結するステップとをさらに備えることを特徴とする請求項７に記載の方法。
【請求項９】
前記ページスキャンキャッシュは、有限数のエントリを保持する方法であって、
前記ページスキャンキャッシュに追加される各エントリに関して、
前記エントリの有効期限を設定するステップと、
前記定期的な問い合わせスキャンによって前記エントリが明らかにされない場合、前記有効期限を短くするステップと、
前記有効期限が来た場合、前記ページスキャンキャッシュから前記エントリを除去するステップとをさらに備えることを特徴とする請求項７に記載の方法。
【請求項１０】
リモートＢｌｕｅｔｏｏｔｈデバイスが、前記ローカルＢｌｕｅｔｏｏｔｈデバイスに接続しようと試みた場合、前記リモートＢｌｕｅｔｏｏｔｈデバイスに関するエントリを前記問い合わせスキャンキャッシュに追加するステップをさらに備えることを特徴とする請求項７に記載の方法。
【請求項１１】
前記リモートＢｌｕｅｔｏｏｔｈデバイスは、ＮＡＰサービスを提供することを特徴とする請求項７に記載の方法。
【請求項１２】
前記リモートＢｌｕｅｔｏｏｔｈデバイスは、ＧＮサービスを提供することを特徴とする請求項７に記載の方法。
【請求項１３】
前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストを形成するステップは、自動構成サービスによるポーリングに応答することを特徴とする請求項７に記載の方法。
【請求項１４】
ローカルＢｌｕｅｔｏｏｔｈデバイスによってリモートＢｌｕｅｔｏｏｔｈデバイスを発見し、該リモートＢｌｕｅｔｏｏｔｈデバイスに接続するための方法を実施する命令を格納するコンピュータ可読媒体であって、
定期的な問い合わせスキャンを介して問い合わせスキャンキャッシュを更新するステップと、
前記リモートＢｌｕｅｔｏｏｔｈデバイスに接続しようとする試みが行われた場合、対応するエントリでページスキャンキャッシュを更新するステップと、
定期的に、前記定期的な問い合わせスキャンより頻繁に、リモートＢｌｕｅｔｏｏｔｈデバイスのリストを形成するステップであって、前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストは、前記定期的な問い合わせスキャンより頻繁に実行される定期的なページスキャンを介して前記ローカルＢｌｕｅｔｏｏｔｈデバイスがコンタクトすることに成功した前記ページスキャンキャッシュの中の各エントリに連結された、前記問い合わせスキャンキャッシュの中のエントリを含む、ステップとを備えることを特徴とする媒体。
【請求項１５】
前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストを形成するステップは、
前記ページスキャンキャッシュの中の各エントリに関し、前記ページスキャンが成功であった場合、前記エントリを前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストに追加するステップと、
前記問い合わせスキャンキャッシュの中のエントリを前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストに連結するステップとをさらに含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記ページスキャンキャッシュに追加される各エントリに関して、
前記エントリの有効期限を設定するステップと、
前記定期的な問い合わせスキャンによって前記エントリが明らかにされない場合、前記有効期限を短くするステップと、
前記有効期限が来た場合、前記ページスキャンキャッシュから前記エントリを除去するステップとをさらに備えることを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１７】
リモートＢｌｕｅｔｏｏｔｈデバイスが、前記ローカルＢｌｕｅｔｏｏｔｈデバイスに接続しようと試みた場合、前記リモートＢｌｕｅｔｏｏｔｈデバイスに関するエントリを前記問い合わせスキャンキャッシュに追加するステップをさらに備えることを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１８】
ローカルＢｌｕｅｔｏｏｔｈデバイスによってリモートＢｌｕｅｔｏｏｔｈデバイスを発見し、該リモートＢｌｕｅｔｏｏｔｈデバイスに接続するためのシステムを実施する１つまたは複数のモジュールを格納するコンピュータ可読媒体であって、
定期的な問い合わせスキャンによってリフレッシュされる問い合わせスキャンキャッシュと、
前記リモートＢｌｕｅｔｏｏｔｈデバイスに接続しようとする試みを介してリフレッシュされるページスキャンキャッシュと、
前記定期的な問い合わせスキャンより頻繁に実行される定期的なページスキャンを介して前記ローカルＢｌｕｅｔｏｏｔｈデバイスがコンタクトすることに成功した前記ページスキャンキャッシュの中の各エントリに連結された、前記問い合わせスキャンキャッシュの中のエントリを含むリモートＢｌｕｅｔｏｏｔｈデバイスのリストとを備えることを特徴とするコンピュータ可読媒体。
【請求項１９】
ユーザモードのＢｌｕｅｔｏｏｔｈ ＰＡＮサービスコンポーネントをさらに備えることを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
カーネルモードのＢｌｕｅｔｏｏｔｈ ＰＡＮドライバコンポーネントをさらに備えることを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２１】
前記リモートＢｌｕｅｔｏｏｔｈデバイスのリストを求めてポーリングを行う自動構成サービスコンポーネントをさらに備えることを特徴とする請求項１８に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、Ｂｌｕｅｔｏｏｔｈ無線搭載のデバイス用の無線ネットワークに関し、より詳細には、Ｂｌｕｅｔｏｏｔｈデバイスが他のＢｌｕｅｔｏｏｔｈデバイスを発見し、接続することができる技術に関する。
【背景技術】
【０００２】
Ｂｌｕｅｔｏｏｔｈは、２．４ＧＨｚの産業、科学、医学（ＩＳＭ）帯域を使用する短距離無線技術である。Ｂｌｕｅｔｏｏｔｈは、詳細には、ノートブックコンピュータ、モバイル電話機、およびパーソナルデジタルアシスタント（ＰＤＡ）などの小型モバイルデバイス向けである。ＩＳＭ帯域における信号干渉の効果を最小限に抑えるため、擬似ランダム周波数ホッピング技術が、通信するＢｌｕｅｔｏｏｔｈデバイスによって使用される。Ｂｌｕｅｔｏｏｔｈ技術は、非特許文献１（以降、「Ｂｌｕｅｔｏｏｔｈ規格」）に詳細に記載されている。
【０００３】
Ｂｌｕｅｔｏｏｔｈパーソナルエリアネットワーキングプロファイル（以降、「ＰＡＮプロファイル」）により、２つ以上のＢｌｕｅｔｏｏｔｈ対応デバイスが、相互運用を行い、データを交換することを可能にするパーソナルエリアネットワーク（ＰＡＮ）を形成し、参加することができる概念上の基礎が提供される。（非特許文献２参照）ＰＡＮプロファイルは、Ｂｌｕｅｔｏｏｔｈデバイスが実行することができる次の３つの役割を記述する。すなわち、ネットワークアクセスポイント（ＮＡＰ）、グループアドホックネットワーク（ＧＮ）、およびパーソナルエリアネットワークユーザ（ＰＡＮＵ）である。ＮＡＰおよびＧＮは、クライアントＰＡＮＵとして動作しているＢｌｕｅｔｏｏｔｈデバイスが使用することができるサービスに相当する。「ＮＡＰ」、「ＧＮ」、および「ＰＡＮＵ」は、以下に、それぞれＮＡＰサービス、ＧＮサービス、またはＰＡＮＵサービスを提供するＢｌｕｅｔｏｏｔｈ搭載のノードを指すのに使用する。
【０００４】
Ｂｌｕｅｔｏｏｔｈの文脈では、ＮＡＰは、１つまたは複数のＢｌｕｅｔｏｏｔｈ無線デバイスを含み、ＮＡＰに対するＢｌｕｅｔｏｏｔｈ無線接続を有する１つまたは複数のＰＡＮＵに対して、第２のネットワーク（１０ＢａｓｅＴ  Ｅｔｈｅｒｎｅｔ（登録商標）  ＬＡＮなど）へのブリッジ、プロキシ、またはルータとして作用するデバイスである。それにより、それぞれのそのようなＰＡＮＵは、第２のネットワークの共有リソースにアクセスすることができる。ＧＮは、追加のネットワーキングハードウェアまたはネットワーキングインフラストラクチャを使用することなしに、互いに対話して自己完結型の一時的な無線ネットワーク（または「ピコネット（ｐｉｃｏｎｅｔ）」）を形成するＢｌｕｅｔｏｏｔｈデバイスの集合である。ＮＡＰシナリオとＧＮシナリオの両方において、データ交換は、イーサネット（登録商標）パケットのカプセル化を可能にするＢｌｕｅｔｏｏｔｈネットワークカプセル化プロトコル（ＢＮＥＰ）を介する。（非特許文献３参照）
【０００５】
第２のデバイスへの接続を確立するためにあるＢｌｕｅｔｏｏｔｈデバイスが別のＢｌｕｅｔｏｏｔｈデバイスを選択するいくつかの異なる仕方が存在する。１つの望ましい特徴は、第１のデバイスが、選択を行うことができる好ましい（ｐｒｅｆｅｒｒｅｄ）デバイスまたはネットワークのリストを保持することである。Ｂｌｕｅｔｏｏｔｈデバイス上で実行されているアプリケーションは、特定のＢｌｕｅｔｏｏｔｈデバイスを発見し、選択し、その特定のデバイスへの接続を形成する明示的な要求を行うことができるが、単にネットワーク化された機能を有効にするために接続を要するアプリケーション群には、デバイスが接続を確立する自動構成サービスを有することが有益である。さらに、デバイスが利用できる様々な無線技術に対する共通の統一された自動構成サービスが、望ましい。そのような統一されたサービスのいくつかの機構および実施形態が、数名の発明者および譲受人が本発明と共通し、参照により本明細書に組み込まれている２００３年１０月２４日出願の（特許文献１）、「複数のネットワーク通信媒体を介して接続を確立することができるコンピューティングデバイス上のネットワークおよびインターフェースの選択」において開示されている。
【０００６】
Ｂｌｕｅｔｏｏｔｈ技術の１つの欠点は、範囲内のＢｌｕｅｔｏｏｔｈデバイスに対して接続を確立するデバイス発見段階が、比較的長い時間を要することである。一般に、新たなＢｌｕｅｔｏｏｔｈ対応のデバイス（アドレスおよび低レベルの状態情報が既知でない）を発見するのに、Ｂｌｕｅｔｏｏｔｈネットワーキングプロトコルスタックの最低位のレイヤであるベースバンドレベルで問い合わせスキャンが実行される。発見済みデバイスのリストが、問い合わせスキャンを介して得られると、選択されたデバイスに対してページスキャンを実行することができる。ページスキャンに続き、ローカルデバイスとリモートデバイスが、接続状態に入ることができる。
【０００７】
【特許文献１】米国特許出願第１０／６９３，６５５号明細書
【特許文献２】米国特許出願第１０／７２５，０９９号明細書（整理番号２２４１１２）
【非特許文献１】Bluetooth Special Interest Group (SIG), "Specification of the Bluetooth System", Version 1.0, December 1, 1999 and Version 1.2, November 5, 2003
【非特許文献２】Bluetooth SIG, "Personal Area Networking Profile", Version 1.0, February 14, 2003
【非特許文献３】Bluetooth SIG, "Bluetooth Network Encapsulation Protocol (BNEP) Specification", Version 1.0, February 14, 2003
【発明の開示】
【発明が解決しようとする課題】
【０００８】
Ｂｌｕｅｔｏｏｔｈ規格におけるベースバンドに関する規格の下で、問い合わせプロセス時間は、ページプロセス時間より相当に長い。基礎にあるハードウェア、および無線範囲内の発見可能なデバイスの数に依存して、Ｂｌｕｅｔｏｏｔｈ規格のバージョン１．０の下で問い合わせプロセスは、最大で３０．７２秒を要する可能性がある一方で、ページングプロセスの最大時間は、２．５６秒である。このため、問い合わせ段階が、範囲内のＢｌｕｅｔｏｏｔｈデバイスを探してスキャンするのに費やされる時間の大半を実質的に占め、デバイスユーザが、ローカルＢｌｕｅｔｏｏｔｈ  ＰＡＮデバイスを介して接続が行われるのを待つのに許容できない遅延がもたらされる可能性がある。したがって、好ましいＢｌｕｅｔｏｏｔｈデバイスを発見し、選択し、そのデバイスに接続する際、問い合わせスキャン段階に費やされる時間を最小限に抑えることが望ましい。
【課題を解決するための手段】
【０００９】
本発明の基本的な理解を提供するため、本発明のいくつかの実施形態の簡単な概要を以下に提供する。この概要は、本発明の広範な概説ではない。この概要は、本発明の重要な要素または不可欠な要素を明らかにすること、または本発明の範囲を画定することを意図していない。この概要の唯一の目的は、以下に提供するより詳細な説明の前置きとして、本発明の一部の実施形態を簡略化した形で提示することである。
【００１０】
本発明の実施形態によれば、ローカルＢｌｕｅｔｏｏｔｈデバイスにより好ましいリモートＢｌｕｅｔｏｏｔｈデバイスを発見し、そのＢｌｕｅｔｏｏｔｈデバイスに接続するためのシステムおよび方法が提供される。問い合わせスキャンキャッシュおよびページスキャンキャッシュが保持される。問い合わせスキャンキャッシュは、定期的な問い合わせスキャンによってリフレッシュされ、ある実施形態では、問い合わせスキャンキャッシュは、リモートＢｌｕｅｔｏｏｔｈデバイスがローカルＢｌｕｅｔｏｏｔｈデバイスに接続しようと試みた際にも更新される。ページスキャンキャッシュは、好ましいデバイスに接続しようとする試みを介してリフレッシュされる。定期的に、定期的な問い合わせスキャンより頻繁に、ページスキャンキャッシュの中の各エントリに関してページスキャンを実行し、成功したページスキャンの試みをリストに追加し、そのリストに問い合わせスキャンキャッシュの内容が連結されることにより、可視のリモートＢｌｕｅｔｏｏｔｈデバイスのリストが作成される。特定の実施形態では、可視のデバイスのリストは、自動構成サービスによるポーリングに応答して形成され、報告される。
【００１１】
本発明のある実施形態によれば、ページスキャンキャッシュは、有限数のエントリを保持し、有効期限ポリシー（ｅｘｐｉｒａｔｉｏｎ  ｐｏｌｉｃｙ）に関連している。ページスキャンキャッシュに追加された各エントリに関して、有効期限が設定される。定期的な問い合わせスキャンによりエントリが明らかにされない場合、有効期限が所与の量だけ短くされ、有効期限に達した場合、そのエントリは、ページスキャンキャッシュから除去される。
【００１２】
また、以上に概要を述べたシステムおよび方法の態様を実体化するコンピュータ可読媒体も提供される。本発明は、ユーザモードＰＡＮサービスコンポーネントとして、カーネルモードＰＡＮドライバに関連して実施することができる。
【００１３】
本発明のその他の特徴は、以下の詳細な説明を添付の図面と併せて考慮することで明白となろう。
【発明を実施するための最良の形態】
【００１４】
以下の説明では、本発明の実施形態を説明する。説明の目的で、提示する実施形態の十分な理解を提供するため、いくつかの特定の構成および詳細を示す。しかし、本発明は、それらの構成および詳細を含めることなしに実施できることも、当業者には明白となろう。さらに、周知の特徴、特に、コンピューティング技術およびコンピュータネットワーキング技術の専門家に周知の特徴は、説明する実施形態を不明瞭にしないために省略または簡略化する可能性がある。
【００１５】
図１は、Ｂｌｕｅｔｏｏｔｈを介するＩＰトラフィックが関わるＰＡＮ設定における多層Ｂｌｕｅｔｏｏｔｈネットワークプロトコルスタックのコンポーネント群を例示している。本発明の実施形態は、このプロトコルスタックを実装するＢｌｕｅｔｏｏｔｈ無線搭載のコンピューティングデバイス内部に配置されている。Ｂｌｕｅｔｏｏｔｈプロトコルスタックのコンポーネント群は、Ｂｌｕｅｔｏｏｔｈ規格、およびＢｌｕｅｔｏｏｔｈ  ＳＩＧの関連する文書において詳細に説明されているか、さもなければ周知であり、以下に簡単にだけ説明する。最低レベルには、Ｂｌｕｅｔｏｏｔｈ無線周波数レイヤ１０１が存在する。ベースバンドプロトコル１０３により、物理リンクが、他の１つまたは複数のＢｌｕｅｔｏｏｔｈデバイスとピコネットを形成することができるようになる。前述したとおり、問い合わせプロセスおよびページングプロセスは、ベースバンドレイヤ１０３において行われる。
【００１６】
リンクマネージャプロトコル（ＬＭＰ）１０５が、Ｂｌｕｅｔｏｏｔｈノード間のリンクセットアップを担う。ＬＭＰ１０５は、データを伝送する際に使用されるパケットサイズの制御およびネゴシエーションを扱う。また、ＬＭＰ１０５は、電力モードおよび電力消費、ならびに認証や暗号化などのセキュリティ機能も管理する。ＬＭＰ１０５、ベースバンド１０３、およびＢｌｕｅｔｏｏｔｈ無線１０１は、通常、Ｂｌｕｅｔｏｏｔｈハードウェアモジュール群として実装される。
【００１７】
接続が確立される際、論理リンクコント制御−適応プロトコル（Logical Link Control and Adaptation Protocol）（Ｌ２ＣＡＰ）１０７が、接続指向サービスおよびコネクションレスデータサービスをより上位のレイヤのプロトコルに提供する。Ｌ２ＣＡＰ１０７は、プロトコルの多重化、セグメント化、および再構築（ｒｅａｓｓｅｍｂｌｙ）を扱う第２のリンクレイヤプロトコルを実施する。Ｌ２ＣＡＰは、Ｂｌｕｅｔｏｏｔｈデータメディアアクセス制御（ＭＡＣ）レイヤの役割をする。サービス発見プロトコル１０９が、Ｂｌｕｅｔｏｏｔｈデバイスから、またはＢｌｕｅｔｏｏｔｈデバイスを介して利用可能なサービス群を発見するための方法を定義する。ＢＮＥＰ１１１が、ＩＰｖ４およびＩＰｖ６  １１３などの様々なより上位のレイヤのネットワークプロトコルからのパケットをカプセル化して、Ｌ２ＣＡＰ１０７を介して直接にトランスポートすることができるようにする。図１に示すとおり、ネットワーキングアプリケーション群１１７は、ＴＣＰ／ＵＤＰ１１５およびＩＰ１１３を介してトランスポートされる。ＢＮＥＰ１１１は、イーサネット（登録商標）ライクなインターフェースをＩＰレイヤ１１３に提供する。
【００１８】
図２Ａおよび２Ｂは、「背景技術」で前述したとおり、ＮＡＰ  ＰＡＮシナリオおよびＧＮ  ＰＡＮシナリオに関する例示的なトポロジをそれぞれ示している。本発明の実施形態は、ＮＡＰ設定またはＧＮ設定において実施することができる。図２Ａでは、２つのＮＡＰベースのＢｌｕｅｔｏｏｔｈネットワークを示している。Ｂｌｕｅｔｏｏｔｈアクセスポイント２０７が、ＬＡＮ２０８に対する有線接続を有し、ＬＡＮ２０８は、ＩＰベースのネットワーク２０９にリンクされ、ネットワーク２０９は、例えば、企業イントラネットまたはより大規模なインターネットであることが可能である。ＮＡＰデバイス２０７を介する以上の他のネットワーク２０８、２０９へのアクセスが、ノートブックＰＡＮＵデバイス２０１、２０３、およびＰＤＡ  ＰＡＮＵデバイス２０５に提供される。図２Ａに示した他方のＢｌｕｅｔｏｏｔｈネットワークは、ノートブックＰＡＮＵデバイス２１５、およびＮＡＰとして機能するセルラー電話機２１３を含む。セルラー電話機２１３は、セルタワー２１１を介してＩＰベースの汎用パケット無線サービス（ＧＰＲＳ）などのセルラーＷＡＮ２１０に対する無線リンクを有し、ＷＡＮ２１０は、ＩＰネットワーク２０９にリンクされる。
【００１９】
図２Ｂは、８つのＢｌｕｅｔｏｏｔｈ搭載のデバイス、すなわち、ノートブック２１７、２２１、２２３、２２５、２２９、２３１、ならびにＰＤＡ２１９、２２７を含むＧＮベースのピコネットを示している。ノートブック２３１は、この場合、スレーブＰＡＮＵデバイス、２１７、２１９、２２１、２２３、２２５、２２７、２２９に対するピコネットマスタとして動作するＧＮサービスを提供する。この７つのスレーブデバイスは、ピコネット内の最大数のアクティブなスレーブを表す。
【００２０】
図３は、本発明を実施することができる文脈の中でＢｌｕｅｔｏｏｔｈ  ＰＡＮＵの実装の実施形態のアーキテクチャを示している。この実装は、２つの基本的なコンポーネント、カーネルモードＰＡＮＵドライバ３１３およびユーザモードＰＡＮサービス３０３を含む。ＰＡＮサービス３０３は、適切なプロファイル役割を有するリモートＢｌｕｅｔｏｏｔｈデバイスに対する自動接続を提供し、ユーザが保存したセットの規則に従ってネットワークインターフェースカードを構成するタスクを自動化する。図示の実施形態では、サービス３０３は、他の無線技術に共通なＡＰＩ構成プリミティブを統一された自動構成サービス３０５として実施し、拡張して、マルチネットワークローミング−規則エンジンヒューリスティックを統一して、使用されているすべてのネットワーク接続インターフェースを制御する。ＰＡＮサービスコンポーネント３０３の初期設定段階に、自動構成サービス３０５が、優先ＰＡＮリモートネットワークデバイスリスト（ｐｒｅｆｅｒｒｅｄ  ＰＡＮ  ｒｅｍｏｔｅ  ｎｅｔｗｏｒｋ  ｄｅｖｉｃｅ  ｌｉｓｔ）３１１をリポジトリからロードする。リスト３１１の中で現在、可視のネットワークに対して、リストされた優先順位で接続が試みられる。
【００２１】
自動構成サービス３０５は、レイヤ２構成サービスコンポーネント３０７によってロードされるＰＡＮ媒体固有モジュール３０９を制御する。媒体固有モジュール３０９は、ＰＡＮドライバ３１３の機能を抜き出し（ａｂｓｔｒａｃｔ  ａｗａｙ）、リモートＢｌｕｅｔｏｏｔｈデバイスの発見、リモートＢｌｕｅｔｏｏｔｈデバイスへの接続、およびリモートＢｌｕｅｔｏｏｔｈデバイスからの接続解除のための自動構成サービス３０５を媒体固有ＡＰＩ群に提供する。ＰＡＮドライバ３１３は、リモートＢｌｕｅｔｏｏｔｈデバイスとのＩＰ接続をネゴシエートする。ある実施形態では、ドライバ３１３は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）プラットフォーム用のＮＤＩＳミニポートドライバである。ドライバ３１３は、より上位のパス上でイーサネット（登録商標）インターフェースを公開し、より低位のパス上でＢｌｕｅｔｏｏｔｈのＬ２ＣＡＰレベルおよびベースバンドレベルと対話する。そのようなドライバの実施形態のいくつかの特徴を、本出願と数名の発明者が共通であり、譲受人が共通である、本出願と同一日に出願した（特許文献２）に開示している。
【００２２】
上記の「背景技術」のセクションで説明したとおり、利用可能なＢｌｕｅｔｏｏｔｈ  ＰＡＮネットワークデバイスを探してスキャンすることは、基礎にあるハードウェアに応じてかなり長い時間のかかるプロセスになる可能性がある。本発明は、ＰＡＮデバイスに関する「スマートスキャン」のためのシステムおよび方法を目的とする。図３に示した種類のＰＡＮシステムの実装では、このスマートスキャンは、ＰＡＮ媒体固有モジュール３０９が実行することができるが、本発明は、そのような構造を有する実装に限定されない。むしろ、本発明は、優先ネットワークリストを保持するローカルＢｌｕｅｔｏｏｔｈ  ＰＡＮデバイス全般に適用可能である。例示のため、本発明は、図３に提示したものに類似するＰＡＮサービスの実装の一般的な文脈において説明する。当業者には、本発明のより広い適用可能性が認識されよう。
【００２３】
図３に示す統一された自動構成サービス３０５のような自動化された構成サービスは、可視のネットワークデバイスを探す定期的なスキャンを必然的に実行する。モバイルデバイスであり得るデバイスに接続することを所望するモバイルユーザであり得るユーザに実際に役立つには、スキャン周期は、可視のリモートデバイスの情報が急速に変わる可能性があるため、期間が長すぎてはならない。無線接続のための複数のデバイスを有し、本発明を関連して実施することができる統一された自動構成サービスの代表的な実装を有するローカルマシン上では、自動構成サービスは、可視のリモートデバイスのリストを求めて各デバイスに９０秒ごとに１回、ポーリングを行う。ありふれたアプローチは、ＰＡＮ媒体固有モジュールによって公開されるスキャンプリミティブをベースバンド問い合わせスキャンに変換することである。しかし、問い合わせプロセスは、可視のリモートＢｌｕｅｔｏｏｔｈデバイスの完全なリストのためにおよそ３０秒かかる可能性があるため、このありふれた問題解決法は、Ｂｌｕｅｔｏｏｔｈ設定におけるスキャンが混乱しやすいことから、劣悪なデータ性能をもたらす。
【００２４】
例示的な自動構成サービスが好ましいネットワークの発見、および好ましいネットワークへの接続を実行する基本的な手続きは、以下のとおりである。
【００２５】
ローカルデバイス上で接続が可能である間に、
そのデバイス上で可視のネットワークを探してスキャンを行い
それぞれの好ましいネットワークに関し、
それぞれの利用可能なネットワークに関し、
現在の好ましいネットワークと現在の可視のネットワークの間で一致が存在する場合、
その好ましいネットワークに接続し、
スリープする（９０秒間）。
【００２６】
この手続きを図４の流れ図に示している。本発明は、以下にさらに説明するとおり、この手続きを綿密にすることに関わる。簡明にするため、図４は、ローカルホスト上に他の無線媒体固有モジュールが存在する可能性を無視している。接続が、依然として、ローカルデバイス上で可能である間に（ステップ４０１）、手続きの本体に入る。ステップ４０３で、可視のネットワークを探すスキャンが行われ、利用可能なリモートデバイスのリストがもたらされる。優先ネットワークリストの中のそれぞれの好ましいネットワークに関して、その好ましいネットワークが、それぞれの可視のネットワークと比較される。現在、調べられている好ましいネットワークが、現在、調べられている可視のネットワークと一致した場合（ステップ４０５）、その好ましいネットワークへの接続が行われる（ステップ４０７）。一致が存在せず、可視のネットワークのリスト上に調べられていないネットワークが残っている場合（ステップ４０９）、次の可視のネットワークが考慮され（ステップ４１１）、手続きは、ステップ４０５に戻る。すべての可視のネットワークが考慮済みであり、すべての好ましいネットワークが尽きていない場合（ステップ４１３）、優先ネットワークリスト上にある次のネットワークが調べられ（ステップ４１５）、手続きは、ステップ４０５に戻る。ステップ４０５で一致が見つかった場合、またはさらに残っている好ましいネットワークが存在しない場合（ステップ４１３）、手続きは、９０秒間スリープした（ステップ４１７）後、ステップ４０１に戻る。
【００２７】
ネットワークを探してスキャンするのに要する時間は、ローカルＰＡＮデバイスが、デバイス固有であるページスキャンを利用する場合、短縮することができる。優先リストが前もって知られていたとすると、ローカルＰＡＮデバイスは、優先リストの中の各エントリに関してページを実行しようと試みることが可能である。しかし、この問題解決法は、実行可能ではない。新たなデバイスを発見し、新たなデバイスを優先ネットワークリストに追加することが、自動構成サービスが使用されるか否かにかかわらず、もはや可能でなくなる。さらに、統一された自動構成サービスを使用する実施形態のケースでは、Ｂｌｕｅｔｏｏｔｈ媒体固有モジュールは、統一されたサービスの抽象化を破ることになる。このため、純粋な問い合わせまたは純粋なページ以外の問題解決法が要求される。
【００２８】
図５は、Ｂｌｕｅｔｏｏｔｈ  ＰＡＮネットワークデバイスを探してスキャンすることの効率的で、実際的なアプローチを可能にする本発明の実施形態によるシステムのアーキテクチャを概念的に示している。図示したシステムの実施形態は、図３に示したマルチ技術自動構成システム内部のＢｌｕｅｔｏｏｔｈ  ＰＡＮ媒体固有モジュールの一部を成す。そのような自動構成システムに関連して、または他の種類のネットワークデバイス構成システムに関連して、他の実施形態も存在する。
【００２９】
好ましいネットワーク５１５のリストが、前述したとおり、システムの中に、またはシステムによって格納される。さらに、２つのキャッシュ、ページスキャンキャッシュ５０５および問い合わせスキャンキャッシュ５０７が保持される。リモートＢｌｕｅｔｏｏｔｈデバイスに接続しようとするすべての試み（Ｂｌｕｅｔｏｏｔｈ  ＰＡＮ媒体固有モジュールを介するような）は、指定されたネットワークが、ページスキャンキャッシュ５０５に追加されることを、そのネットワークがそのキャッシュの中に既に存在しているのでない場合にもたらす。次に、接続要求が、通常の形で行われる。ＰＡＮ媒体固有モジュールの初期設定時に、またはそれと同等の時点で、問い合わせスキャンの結果が、問い合わせスキャンキャッシュ５０７の中に格納される。図示するとおり、定期的な問い合わせスキャン５０９が発行されて、問い合わせスキャンキャッシュ５０７がリフレッシュされ、その周期は、何らかの所定の比較的長い時間間隔である。一実施形態では、周期は、５分に設定されるが、よりよいパフォーマンスを実現するために他の期間を選択してもよい。
【００３０】
自動構成サービス５０１が、利用可能な無線ネットワークを探すスキャンを要求した場合、ＰＡＮ媒体固有モジュールにより、ページスキャンキャッシュ５０５の中の各エントリに関してページスキャンが実行されるように導かれる。成功した試みは、可視のネットワークのリスト５１１に追加される。次に、可視のネットワークのリスト５１１が、問い合わせスキャンキャッシュ５０７の現在の内容のコピーに連結され、結果のリストが、可視のリストスキャン結果５０３として報告される。
【００３１】
図５に示したシステムは、自動構成サービス５０１が、優先しないネットワークに関する情報はそれほど正確ではないものの、好ましいネットワークに関しては正確な情報を常に獲得することを確実にする。しかし、優先しないネットワークは、おそらく、自動構成サービス５０１にほとんど重要ではない。というのは、通常のシナリオでは、新たなネットワークの発見、および優先ネットワークリスト５１５への新たなネットワークの追加は、非常に稀にしか生じないからである。特定の例示する実施形態では、ありふれた純粋な問い合わせスキャンのアプローチと比べて節約されるスキャン時間は、５分間でおよそ６６パーセントである。
【００３２】
本発明の一部の実施形態では、スキャン動作に常に一定の時間がかかることを確実にするため、ページスキャンキャッシュ５０５の中のエントリの数が、５に制限される（選り抜きの（ｆｉｎｅ  ｃｈｏｓｅｎ）パフォーマンスのために別の適切な限度を選択することもできる）。その場合、スキャン時間は、およそ６．４秒（５＊１．２８秒）である。  ただし、エントリの数を有限に保つことにより、他の優先であるが、可視ではないネットワークへのローミングが中断されないように、有効期限ポリシーを設定しなければならない。ページスキャンキャッシュ５０５にエントリが追加された場合はいつでも、エントリには、比較的長い所定のデフォルトの有効期限が最初に与えられる。一実施形態では、３０分の有効期限が使用される。別の適切なデフォルトの有効期限を選択することもできる。問い合わせスキャンにより、そのネットワークが明らかにされない場合、ページスキャンキャッシュエントリの有効期限は、キャッシュからエントリが除去されるまで、５分ずつ短くされる。ページスキャンキャッシュ５０５の中で欠落したネットワークに対する接続の試みが存在する場合、そのネットワークがキャッシュに追加される。
【００３３】
問い合わせスキャンキャッシュ５０７にも、リモートＰＡＮデバイス側の接続の試みを入れることができる。これは、着信する接続の試みを失敗させるＰＡＮドライバの実施形態においてさえ行うことができる。ピアに関する情報が、問い合わせスキャンキャッシュ５０７に追加することができるように、ＰＡＮ媒体固有モジュールにまで送られる。これにより、ピアが、接続要求を開始することが可能になり、この要求が、自動構成サービス５０１によって次のネットワークスキャン試行時に処理される。新たに追加されるネットワークが、ユーザの優先ネットワークリスト５１５の中に存在する場合、ユーザは、次の問い合わせスキャンがそのネットワークを検出するのを待つ必要がない。ユーザが、モバイルＰＡＮデバイスを使用しており、そのデバイスからローカルマシンに接続できることを所望していることが考えられるので、これにより、待つのが長くても９０秒間であることが確実になる（定期的な自動構成スキャンが９０秒の間隔を使用する実施形態の場合）。
【００３４】
図６Ａ、６Ｂ、６Ｃ、および７は、以上の説明に含意されるプロセス群を全体的に示す流れ図である。図６Ａの流れ図は、本発明の実施形態においてページスキャンキャッシュがリフレッシュされるプロセスを示している。ステップ６０１で、ＰＡＮ媒体固有モジュールが、特定のネットワークに接続しようと試みる。ネットワークが、ページスキャンキャッシュの中のエントリとして既に含まれる場合（ステップ６０３）、接続要求が、ステップ６０７で行われる。ページスキャンキャッシュの中に欠落が存在する場合、そのネットワークが、ステップ６０５で、３０分の有効期限を伴ってキャッシュに追加され、次に、ステップ６０７で、接続要求が行われる。
【００３５】
図６Ｂの流れ図は、本発明の実施形態に従って定期的な問い合わせスキャンが使用されるプロセスを示している。問い合わせスキャンは、ステップ６０９で実行され、その結果が、ステップ６１１で、問い合わせスキャンキャッシュにデータを入れる（ｐｏｐｕｌａｔｅ）のに使用される。ページスキャンキャッシュの中の各エントリに関して、問い合わせスキャンキャッシュが、ステップ６１５で調べられて、問い合わせスキャンにより、考慮されているページスキャンキャッシュエントリに対応するネットワークが明らかにされたかどうかが判定される。ページスキャンキャッシュエントリが問い合わせスキャンキャッシュの中に存在しない場合、ステップ６１７で、そのエントリに関連する有効期限が、５分だけ短くされる。ステップ６１３で、待機期間（この場合、５分に設定される）が生じてから、ステップ６０９で、新たな問い合わせスキャンでサイクルが再び開始される。
【００３６】
図６Ｃの流れ図は、本発明の実施形態による外部ＰＡＮデバイス接続試行を介して問い合わせスキャンキャッシュが更新されるプロセスを示している。ステップ６１９で、外部ＰＡＮデバイスが、ローカルデバイスに接続しようと試みる。ステップ６２１で、ローカルデバイス上のＰＡＮ媒体固有モジュールが、ピアに関連する情報を問い合わせスキャンキャッシュに追加する。
【００３７】
図７の流れ図は、図４の変更であり、自動構成サービスが、好ましいネットワークの発見、および好ましいネットワークへの接続を実行する手続きにいくつかのステップが追加されている。変更は、ステップ４０３における可視のネットワークのスキャンを求める自動構成サービス要求の後に続く。ページスキャンキャッシュの中の各エントリに関して、ステップ７０１で、ページスキャンが試みられる。所与のエントリに関するページスキャンが成功であった場合（ステップ７０３）、そのエントリが、可視のネットワークの予備のリストに追加される（ステップ７０５）。ステップ７０７で、結果の予備的な可視のネットワークのリストが、問い合わせスキャンキャッシュの内容のコピーに連結されて、この連結されたリストが、自動構成サービスに報告される。図７の流れ図における残りのステップは、図４の流れ図におけるステップと同一であり、ここで再び説明する必要はない。
【００３８】
添付の特許請求の範囲を含め、本明細書で使用する「コンピュータ可読媒体」という用語は、ワイヤレスＢｌｕｅｔｏｏｔｈ無線搭載のホストまたはネットワークノードとして機能するコンピューティングデバイスを含め、適切なコンピュータデバイスが読み取ることができるデータの一時的格納または永続的格納のための任意の媒体を含む。そのようなコンピュータ可読媒体の例には、限定なしに、揮発性の主記憶装置と不揮発性の主記憶装置、リムーバブルな磁気ディスクストレージとリムーバブルでない磁気ディスクストレージ、光ディスクストレージ、およびネットワークインターフェースメディアが含まれる。
【００３９】
本発明を説明する文脈における（特に、添付の特許請求の範囲の文脈における）「ある（「ａ」）」、「および（「ａｎｄ」）」、「その（「ｔｈｅ」）」、および類似の指示は、本明細書で特に明記するか、文脈と明らかに矛盾しない限り、単数と複数をともに範囲に含むものと解釈されたい。「備える、含む（「ｃｏｍｐｒｉｓｉｎｇ」）」、「有する（「ｈａｖｉｎｇ」）」、「含め（「ｉｎｃｌｕｄｉｎｇ」）」、および「包含する（「ｃｏｎｔａｉｎｉｎｇ」）」という用語は、特に注記しない限り、制限のない用語（すなわち、「含むが、限定しない（「ｉｎｃｌｕｄｉｎｇ，ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ」）」を意味する）として解釈されたい。本明細書における値の範囲の記載は、特に明記しない限り、単に、その範囲内に含まれるそれぞれの別個の値を個々に示すことの略記法の役割をするものとし、それぞれの別個の値が、あたかも個々に本明細書に記載されているかのように、本明細書に組み込まれる。本明細書で説明するすべての方法は、本明細書で特に示さない限り、またはそれ以外で文脈と明らかに矛盾しない限り、任意の適切な順序で実行することができる。本明細書で提供するあらゆる例、および例示的な言い回し（例えば、「などの（「ｓｕｃｈ  ａｓ」）」）の使用は、単に、本発明の実施形態をよりよく明示することを目的としており、特に請求しない限り、本発明の範囲に対する限定ではない。本明細書におけるいずれの言い回しも、請求していない要素が本発明の実施に不可欠であることを示すものと解釈してはならない。
【００４０】
本発明を実施するための本発明者らが知る最良の形態を含む本発明の好ましい実施形態を、本明細書で説明した。それらの好ましい実施形態の変種が、以上の説明を読むことで、当業者に明白となり得る。本発明者らは、当業者がそのような変種を適宜、使用することを予期しており、本発明者らは、本発明が、本明細書で具体的に説明したのとは異なる形で実施されることを視野に入れている。したがって、本発明は、該当する法律によって許される限りで、添付される特許請求の範囲に記載する主題のすべての変更形態および等価形態を含む。さらに、前述した諸要素の任意の組み合わせが、すべての可能な変種において、本明細書で特に明記しない限り、またはそれ以外で文脈と明らかに矛盾しない限り、本発明によって包含される。
【図面の簡単な説明】
【００４１】
【図１】ＰＡＮ設定におけるＢｌｕｅｔｏｏｔｈネットワークプロトコルスタックのコンポーネント群を例示するブロック図である。
【図２Ａ】例示的なＮＡＰ  ＰＡＮシナリオを表す図である。
【図２Ｂ】例示的なＧＮ  ＰＡＮシナリオを表す図である。
【図３】本発明を実施することができる文脈内のＢｌｕｅｔｏｏｔｈ  ＰＡＮの実装の例示的な実施形態のアーキテクチャを示すブロック図である。
【図４】本発明が改良を加える、例示的な自動構成サービスが好ましいネットワークの発見、およびそのネットワークへの接続を実行する基本的な手続きを示す流れ図である。
【図５】本発明の実施形態による効率的で実際的なＢｌｕｅｔｏｏｔｈ  ＰＡＮスマートスキャンのアーキテクチャを全体的に示すブロック図である。
【図６Ａ】本発明の実施形態によるページスキャンキャッシュがリフレッシュされるプロセスを全体的に示す流れ図である。
【図６Ｂ】本発明の実施形態による定期的な問い合わせスキャンが使用されるプロセスを全体的に示す流れ図である。
【図６Ｃ】本発明の実施形態による問い合わせスキャンキャッシュが外部ＰＡＮデバイス接続試行を介して更新されるプロセスを全体的に示す流れ図である。
【図７】本発明の実施形態によるステップが追加されている図４の流れ図の変更である。
【符号の説明】
【００４２】
１０１  Ｂｌｕｅｔｏｏｔｈ無線周波数レイヤ
１０３  ベースバンドプロトコル
１０５  ＬＭＰ
１０７  Ｌ２ＣＡＰ
１０９  サービス発見プロトコル
１１１  ＢＮＥＰ
１１３  ＩＰ
１１５  ＴＣＰ／ＵＤＰ
１１７  ネットワーキングアプリケーション群
２０１  ノートブックＰＡＮＵデバイス
２０３  ノートブックＰＡＮＵデバイス
２０５  ＰＤＡ  ＰＡＮＵデバイス
２０７  ＮＡＰデバイス
２０８  他のネットワーク
２０９  他のネットワーク
２１０  セルラーＷＡＮ
２１１  セルタワー
２１３  セルラー電話機
２１５  ノートブックＰＡＮＵデバイス
２１７  ノートブック
２１９  ＰＤＡ
２２１  ノートブック
２２３  ノートブック
２２５  ノートブック
２２７  ＰＤＡ
２２９  ノートブック
２３１  ノートブック
３０１  アプリケーションプログラム
３０３  ユーザモードＰＡＮサービス
３０５  統一された自動構成サービス
３０７  レイヤ２構成サービスコンポーネント
３０９  媒体固有モジュール
３１１  優先ＰＡＮリモートネットワークデバイスリスト
３１３  ＰＡＮドライバ
【図１】
0004754811.tif 000002
【図２Ａ】
0004754811.tif 000003
【図２Ｂ】
0004754811.tif 000004
【図３】
0004754811.tif 000005
【図４】
0004754811.tif 000006
【図５】
0004754811.tif 000007
【図６Ａ】
0004754811.tif 000008
【図６Ｂ】
0004754811.tif 000009
【図６Ｃ】
0004754811.tif 000010
【図７】
0004754811.tif 000011