(57)【特許請求の範囲】
【請求項１】
要求側の装置からの問合わせに応答してブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置のフレンドリー名を取得するための、前記要求側の装置において実行される方法であって、
名前サーバが見つかるまで前記ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置のフレンドリー名を要求する工程であって、前記名前サーバは、各要求の後に、前記要求されたブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置の前記フレンドリー名が、前記要求されたブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置が名前サーバであることを示すマーカを含んでいるかどうかを判断することによって見つかる工程と、
前記名前サーバがキャッシュしたフレンドリー名のリストを取得する工程と、
決定されなかった残りに各ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置の前記フレンドリー名を要求する工程と、
を備えることを特徴とする方法。
【請求項２】
問合わせコマンドを発行する工程をさらに備えたことを特徴とする、請求項１に記載の方法。
【請求項３】
前記名前サーバがどのくらいの期間前記フレンドリー名を有しているかを決定する工程と、
前記名前サーバが、所定に時間よりも長く前記フレンドリー名を有している場合、
ａ）他の名前サーバが見つかるまでブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置の前記フレンドリー名を要求する工程と、
ｂ）前記他の名前サーバがキャッシュしたフレンドリー名のリストを取得する工程と、
ｃ）前記他の名前サーバがどのくらいの期間前記フレンドリー名を有しているかを決定する工程と、
ｄ）前記他の名前サーバが前記フレンドリー名を前記所定の時間より長く有している場合は工程ａ）からｃ）を繰り返す工程と、
をさらに備えることを特徴とする、請求項１に記載の方法。
【請求項４】
名前サーバが見つかるまで前記ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置の前記フレンドリー名を要求する前記工程は、前記フレンドリー名内のヌル文字の後ろの前記マーカを検索する工程を備えることを特徴とする、請求項１に記載の方法。
【請求項５】
前記フレンドリー名を格納する工程をさらに備えたことを特徴とする、請求項１に記載の方法。
【請求項６】
請求項１に記載の方法を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読記録媒体。
【請求項７】
名前サーバを見つけるための要求側の装置において実行される方法であって、
ａ）ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置のフレンドリー名を要求する工程と、
ｂ）前記フレンドリー名が、前記ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置が名前サーバであることを示すマーカを含んでいるかどうかを判断する工程と、
ｃ）前記フレンドリー名が前記マーカを含んでいない場合は、前記マーカが見つかるまで他のブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置に対して工程ａ）およびｂ）を繰り返す工程と、
ｄ）前記フレンドリー名が前記マーカを含んでいる場合は、前記ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置を名前サーバとして識別する工程と、
を備えることを特徴とする方法。
【請求項８】
問合わせを発行する工程をさらに備え、
前記ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置の前記フレンドリー名を要求する前記工程は、前記ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置が前記問合わせコマンドに応答した場合、前記ブルーツース（Ｂｌｕｅｔｏｏｔｈ）装置の前記フレンドリー名を要求する工程を備えることを特徴とする、請求項７に記載の方法。
【請求項９】
名前サーバの前記マーカが前記フレンドリー名内のヌル文字の後ろにあることを特徴とする、請求項７に記載の方法。
【請求項１０】
請求項７に記載の方法を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にＢｌｕｅｔｏｏｔｈ装置の間の通信に関し、より詳細には、Ｂｌｕｅｔｏｏｔｈのフレンドリー名を決定するための方法に関する。
【０００２】
【従来の技術】
今日の市場には、かなりの数の無線技術が存在する。短距離無線技術の一標準として、Ｂｌｕｅｔｏｏｔｈと呼ばれているものがある。Ｂｌｕｅｔｏｏｔｈは、短距離での、ポイントツーマルチポイント方式による音声およびデータの転送を行うための無線周波数（ＲＦ）仕様である。Ｂｌｕｅｔｏｏｔｈは、非金属の固体を透過でき、公称リンク範囲は１０ｃｍから１０ｍであるが、伝送力を増強することによって１００ｍまで延長可能である。低価格の短距離無線リンクをベースにしており、据え置きおよびモバイル通信環境の臨時接続を容易にする。
【０００３】
Ｂｌｕｅｔｏｏｔｈ無線技術によって、ユーザは、移動電話、デスクトップコンピュータ、ノートブックコンピュータなどの通信装置間を接続することができる。モバイル演算装置の急増に見られるような無線技術の間断のない成長のため、また無線技術とコンピュータ技術の統合のために、これらの環境でサービスを見つけ使用することが次第に重要になりつつある。これらのサービスには、印刷、ＦＡＸ送信、ページングなどの基本的なサービス、ビデオ会議、テレビ電話会議などのより複雑なサービス、サービスプロバイダが提供できる他の任意のタイプのサービスなどがある。
【０００４】
Ｂｌｕｅｔｏｏｔｈは、Ｂｌｕｅｔｏｏｔｈ装置が提供できる機能（すなわちサービス）を決定するための機構を提供するホストコントローラインタフェース（ＨＣＩ）を使用する。ＨＣＩには、どのＢｌｕｅｔｏｏｔｈ装置が範囲内にあるかを判断するための問合せ（Ｉｎｑｕｉｒｙ）と呼ばれる機構がある。あるＢｌｕｅｔｏｏｔｈ装置が問合せを行ったとき、範囲内のＢｌｕｅｔｏｏｔｈ装置が応答し、要求側の装置が１つまたは複数の問合せ結果イベントを受け取る。各問合せ結果は、装置のＭＡＣ（メディアアクセス制御）アドレス（すなわちＢｌｕｅｔｏｏｔｈ装置アドレスＢＤ＿ＡＤＤＲ）クラス、および問合せに応答した各Ｂｌｕｅｔｏｏｔｈ装置に関する他の情報を含むリストを含んでいる。その情報は単に装置の能力が何であるか（セル式電話、コードレス電話、ラップトップ、デスクトップワークステーションなど）を示すだけなので、要求側の装置は、その情報で何ができるかという点で限られている。他の情報がなければ、あるＢｌｕｅｔｏｏｔｈ装置を別のＢｌｕｅｔｏｏｔｈ装置と区別することは難しい。
【０００５】
【発明が解決しようとする課題】
この問題を克服するために、Ｂｌｕｅｔｏｏｔｈ仕様では、ユーザがある装置を別の装置と区別できるように、ユーザフレンドリーな名前（例えばジョーのセルラー式電話、２１０号室のプリンタなど）を提供する。ユーザは、リモート名要求コマンドを使用して、各Ｂｌｕｅｔｏｏｔｈ装置にそのフレンドリー名を要求する必要がある。リモート名要求の結果がフレンドリー名フィールドであり、このフィールドは、ＵＴＦ−８（Ｕｎｉｆｏｒｍ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ  Ｆｏｒｍａｔ）エンコードされたＢｌｕｅｔｏｏｔｈ装置の記述名である。フレンドリー名フィールドの長さは２４８バイトであり、フレンドリー名が２４８バイトより短い場合は、そのフレンドリー名の末尾がヌル文字で示される。
【０００６】
しかし、リモート名要求コマンドが成功するのに複数回の再試行が必要となることがある。その結果、Ｂｌｕｅｔｏｏｔｈが多数ある環境では、装置のフレンドリー名を見つけるのにかかる合計時間が数分を要することがある。
【０００７】
そこで、本発明の目的は、Ｂｌｕｅｔｏｏｔｈ装置のフレンドリー名を決定するのにかかる時間を低減するための方法を提供することにある。
【０００８】
【課題を解決するための手段】
クエリした、またはその他の方法で取得したＢｌｕｅｔｏｏｔｈ装置のフレンドリー名をキャッシュしている名前サーバを使用する。別の装置が、その問合せに応答した装置のフレンドリー名を知りたいときは、その問合せに応答した装置のリスト内を検索して名前サーバを見つける。名前サーバが見つかったら、その装置は、その名前サーバがキャッシュしたフレンドリー名を取得し、名前サーバがキャッシュしていない装置のフレンドリー名を要求する。その結果、Ｂｌｕｅｔｏｏｔｈが多数ある環境では、名前サーバが迅速に見つかる可能性がかなり高くなり、その結果、問合せに応答したＢｌｕｅｔｏｏｔｈ装置のフレンドリー名を決定するのにかかる時間が短縮する。
【０００９】
一実施形態では、名前サーバは、名前サーバのフレンドリー名に埋め込まれたマーカを提供することによって識別される。マーカは、フレンドリー名フィールドのヌル文字の後ろに配置される。名前サーバに関する他の情報をフレンドリー名フィールドに入れることもできる。
【００１０】
本発明の他の特徴および利点は、実施形態の例についての以下の詳細な説明から明らかになるであろう。この詳細な説明は、添付の図面を参照して進める。
【００１１】
頭記の特許請求の範囲では、本発明の特徴を詳細に述べているが、本発明、その目的および利点は、以下の詳細な説明を添付の図面と併せて考察することによって最もよく理解できよう。
【００１２】
【発明の実施の形態】
上記で述べたように、Ｂｌｕｅｔｏｏｔｈ仕様では、ユーザがある装置を別の装置と区別できるように、ユーザフレンドリーな名前（例えばジョーのセルラー式電話、５４号棟２１０号室のレーザージェットプリンタなど）を提供する。ユーザは、リモート名要求（ＲＮＲ）コマンドを使用して、各Ｂｌｕｅｔｏｏｔｈ装置にそのフレンドリー名を要求する必要がある。ＲＮＲは一般に、装置ごとに完了するのに２から５秒かかり、複数の要求が順次行われなければならない。その結果、Ｂｌｕｅｔｏｏｔｈ装置のフレンドリー名を見つけるのにかかる合計時間が数分に及ぶこともある。
【００１３】
本発明は、問合せに応答したＢｌｕｅｔｏｏｔｈ装置のフレンドリー名の検索をスピードアップするための方法を提供する。
【００１４】
以下の説明では、それがクエリした、または他の名前サーバから取得したＢｌｕｅｔｏｏｔｈ装置のフレンドリー名をキャッシュする名前サーバについて説明する。
【００１５】
ある装置が問合せを行い、その問合せに応答した装置のフレンドリー名を知りたいとき、その装置は、名前サーバが応答したかどうかを判断する。名前サーバが応答した場合、装置は、その名前サーバがキャッシュしたフレンドリー名を取得し、名前サーバがキャッシュしていない、応答した装置のフレンドリー名を要求する。名前サーバを使用することによって、Ｂｌｕｅｔｏｏｔｈが多数ある環境で応答したＢｌｕｅｔｏｏｔｈ装置のすべてのフレンドリー名を決定するのに必要な時間が大幅に短縮する。
【００１６】
図面を参照すると、図面中、同様の番号は同様の要素を指しており、本発明が、適当なコンピュータ環境で実施されるものとして示してある。必ずしも必要ではないが、本発明を、パーソナルコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明する。一般に、プログラムモジュールには、特定のタスクを実行する、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがある。さらに、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含めて、他のコンピュータシステム構成で本発明を実施できることも、当分野の技術者には明らかであろう。
【００１７】
また、本発明は、通信ネットワークを介してリンクされているリモート処理装置によってタスクが実行される分散コンピュータ環境でも実施することができる。分散コンピュータ環境では、プログラムモジュールを、ローカルメモリ記憶装置とリモートメモリ記憶装置の両方に配置することができる。
【００１８】
図１は、本発明を実施できる、適当なコンピュータシステム環境１００の例を示している。コンピュータシステム環境１００は、適当なコンピュータ環境のほんの一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。また、コンピュータ環境１００が、操作環境１００の例で示したコンポーネントの１つまたはその組合せに対する依存性または必要性をもつものと解釈すべきではない。
【００１９】
本発明は、他の多数の汎用／専用コンピュータシステム環境または構成で使用可能である。本発明で使用するのに適した、よく知られているコンピュータシステム、環境、および／または構成の例には、それだけには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピュータ環境などがある。
【００２０】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行する、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがある。また、本発明は、通信ネットワークを介してリンクされているリモート処理装置によってタスクが実行される分散コンピュータ環境でも実施することができる。分散コンピュータ環境では、プログラムモジュールを、メモリ記憶装置を含むローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方に配置することができる。
【００２１】
図１を参照すると、本発明を実施するためのシステムの例が、コンピュータ１１０の形態の汎用コンピュータ装置を含んでいる。コンピュータ１１０のコンポーネントは、それだけには限定されないが、処理ユニット１２０、システムメモリ１３０、およびこのシステムメモリを含めて様々なシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１を含むことができる。システムバス１２１は、様々なバスアーキテクチャのうちの任意のアーキテクチャを使用する、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のうちどんな構造のものでもよい。それだけには限定されないが、一例として、こうしたアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格協会（ＶＥＳＡ）ローカルバス、メザニンバスとしても知られる周辺装置相互接続（ＰＣＩ）バスなどがある。
【００２２】
コンピュータ１１０は一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体とは、コンピュータ１１０からアクセスできる任意の使用可能な媒体であり、これには揮発性／不揮発性媒体、取外し可能／取外し不能媒体がある。それだけには限定されないが、一例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなど、情報を記憶するための任意の方法または技術で実行される揮発性／不揮発性の、取外し可能／取外し不能な媒体がある。コンピュータ記憶媒体には、それだけには限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、所望の情報を格納するために使用でき、コンピュータ１１０からアクセスできる他の任意の媒体などがある。
【００２３】
通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または例えば搬送波、他の移送機構などの変調されたデータ信号の形の他のデータを具体化し、任意の情報配布媒体（ｉｎｆｏｒｍａｔｉｏｎ  ｄｅｌｉｖｅｒｙ  ｍｅｄｉａ）を含んでいる。「変調されたデータ信号」という用語は、信号内の情報をエンコードするように設定または変更された１つまたは複数のその特性を有する信号を意味する。通信媒体には、それだけには限定されないが、一例として、例えば有線ネットワーク、直接配線された通信（ｄｉｒｅｃｔ−ｗｉｒｅｄ  ｃｏｎｎｅｃｔｉｏｎ）などの有線媒体、例えば音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体などがある。また、上記のどんな組合せも、コンピュータ可読媒体の範囲内に含まれるものとする。
【００２４】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１、ランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。基本入出力システム１３３（ＢＩＯＳ）は、起動中など、コンピュータ１１０内の要素間での情報の転送を助ける基本ルーチンを含んでおり、一般にＲＯＭ１３１に格納される。ＲＡＭ１３２は一般に、処理ユニット１２０からすぐにアクセスできる、あるいは処理ユニット１２０が現在操作しているデータおよび／またはプログラムモジュールを含む。それだけには限定されないが、一例として、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２５】
また、コンピュータ１１０は、他の取外し可能／取外し不能な揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。一例に過ぎないが、図１は、取外し不能な不揮発性磁気媒体から読み取り、あるいはそこに書き込むハードディスクドライブ１４１、着脱式不揮発性磁気ディスク１５２から読み取り、あるいはそこに書き込む媒体磁気ディスクドライブ１５１、ＣＤ−ＲＯＭまたは他の光媒体などの着脱式不揮発性光ディスク１５６から読み取り、あるいはそこに書き込む光ディスクドライブ１５５を示す。操作環境の例で使用できる他の取外し可能／取外し不能な揮発性／不揮発性コンピュータ記憶媒体には、それだけには限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどがある。ハードディスクドライブ１４１は一般に、インタフェース１４０などの取外し不能メモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は一般に、インタフェース１５０などの取外し可能メモリインタフェースを介してシステムバス１２１に接続される。
【００２６】
上記で説明し、図１に示したドライブおよびその関連のコンピュータ記憶媒体は、コンピュータ１１０用のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶装置を提供する。図１では、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであるか、それらとは異なるかのどちらかであり得ることに注意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、少なくともそれらが異なるコピーであることを示すために、ここではそれらに異なる番号を付けている。ユーザは、キーボード１６２、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティング装置１６１などの入力装置を介してコマンドおよび情報をコンピュータ１１０に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。
【００２７】
これらおよび他の入力装置は、多くの場合、システムバスに結合されているユーザ入力インタフェース１６０を介して処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など他のインタフェースおよびバス構造を介して接続することもできる。モニタ１９１または他のタイプの表示装置も、ビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。コンピュータは、モニタに加えて、出力周辺インタフェース１９５を介して接続できる、スピーカ１９７、プリンタ１９６などの他の周辺出力装置を含むこともできる。
【００２８】
コンピュータ１１０は、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク式環境で動作することができる。リモートコンピュータ１８０は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、あるいは他の共通ネットワークノードでもよく、一般に、パーソナルコンピュータ１１０に関連して上述した多く、またはすべての要素を含むが、図１には、メモリ記憶装置１８１のみが示してある。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１、および広域ネットワーク（ＷＡＮ）１７３を含んでいるが、他のネットワークを含むこともできる。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的なことである。
【００２９】
ＬＡＮネットワーキング環境で使用するときは、パーソナルコンピュータ１１０が、ネットワークインタフェース、またはアダプタ１７０を介してＬＡＮＩ７１に接続される。ＷＡＮネットワーキング環境で使用するときは、コンピュータ１１０は一般に、モデム１７２、またはインターネットなど、ＷＡＮ１７３を介して接続を確立するための他の手段を含む。モデム１７２は、内蔵のものでも外付けのものでもよく、ユーザ入力インタフェース１６０、または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク式環境では、パーソナルコンピュータ１１０またはその一部に関連して示したプログラムモジュールを、リモートメモリ記憶装置に格納することができる。それだけには限定されないが、一例として、図１は、リモートアプリケーションプログラム１８５をメモリ装置１８１上に存在するものとして示す。図示したネットワーク接続は、例として示したものであり、コンピュータ間の通信リンクを確立する他の手段を使用することができることを理解されたい。
【００３０】
以下の説明では、別段の指示がない限り、本発明を、１つまたは複数のコンピュータで実行される動作、および操作の記号表現に関して説明する。したがって、こうした動作および操作は、コンピュータで実行される操作といわれることがあり、コンピュータの処理ユニットによる、構造化された形でデータを表す電気的信号の操作を含むことを理解されたい。この操作は、データを変換し、あるいはコンピュータのメモリシステム内の様々な場所にデータを維持し、それによって、当分野の技術者によく知られている方式でコンピュータの操作が再構成され、あるいはその他の方法で変更される。データがそこで維持されるデータ構造は、データのフォーマットによって定義される特定の性質を有するメモリの物理位置である。しかし、本発明は上記の文脈で説明しているが、限定的なものではない。以下に説明する様々な動作および操作もハードウェア内で実行できることが当分野の技術者なら理解できよう。
【００３１】
次に図２ａを参照すると、Ｂｌｕｅｔｏｏｔｈ装置のフレンドリー名フィールド２００は、Ｂｌｕｅｔｏｏｔｈ装置のＵＴＦ−８（Ｕｎｉｆｏｒｍ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ  Ｆｏｒｍａｔ）エンコードされた記述名２０２である。例えば、セルラー式電話のフレンドリー名は「ジョーのセルラー式電話」、プリンタのフレンドリー名は「グレンジャー研究所の２２２号室のプリンタ」などとすることができる。フィールド長は２４８バイトである。名前２０２が２４８バイトより短い場合は、名前２０２の末尾がヌルバイト２０４（すなわち０×００）で示され、ヌルバイトの後ろのバイトは有効な値をもたない。
【００３２】
Ｂｌｕｅｔｏｏｔｈ装置が２４８バイトの長さのフレンドリー名を有する可能性は低い。その結果、フレンドリー名フィールド２００内のヌルバイトの後ろに情報を埋め込むことができる。本発明の一実施形態では、名前サーバのフレンドリー名フィールド２００のヌルフィールドの後ろにマーカを埋め込む。名前サーバとは、ここで使用する場合は、他のＢｌｕｅｔｏｏｔｈ装置のフレンドリー名を格納またはキャッシュする機能を有する装置である。名前サーバは、コンピュータ１１０、セル式電話、ラップトップ、サーバ、ワークステーション、カメラ、または他のＢｌｕｅｔｏｏｔｈ装置のフレンドリー名を格納することができる他のどんなタイプのＢｌｕｅｔｏｏｔｈ装置でもよい。
【００３３】
次に図２ｂを参照すると、マーカ２１０は、装置が名前サーバであることを示すための所定のバイト数の署名２１２を有する。またマーカ２０１は、名前サーバに関する他の情報を提供するための所定数のフラグ２１４を有することもできる。これらのフラグ２１４は、一例として示しており、それだけには限定されないが、名前サーバが装置のフレンドリー名をキャッシュした時刻の指示（ｉｎｄｉｃａｔｉｏｎ）、名前サーバのバージョン番号、名前サーバの使用可能時間、サーバ統計（ｓｅｒｖｅｒ  ｓｔａｔｉｓｔｉｃｓ）、性能パラメータ、バッテリの推定残余寿命などを含むことができる。
【００３４】
マーカを使用して名前サーバを見つける１つのプロセスが図３に示してある。次に図３を見ると、どのＢｌｕｅｔｏｏｔｈ装置が範囲内にあるかを知りたいと望む装置が問合せを行う（ステップ３０２）。問合せ期間が満了した後には、この装置は、１つまたは複数の問合せ結果を受け取っている（ステップ３０４）。その結果は、応答した各Ｂｌｕｅｔｏｏｔｈ装置のＢｌｕｅｔｏｏｔｈアドレス、および装置のクラスを含めて各装置に関する他の情報を含む。要求側の装置は、この情報で、装置に関する限られた量の情報を得る。この限られた量の情報は、要求側の装置に、装置のクラス（例えばラップトップ、セルラー式電話、コードレス電話、カムコーダ、ビデオ会議、ジョイスティック、スキャナなど）、装置によってサポートされるページ走査モード、およびクロックオフセットを提供する。
【００３５】
問合せ結果を受け取ると、要求側の装置は、名前サーバを検索する。これは、名前サーバが見つかるまで問合せリスト内の各Ｂｌｕｅｔｏｏｔｈ装置のフレンドリー名を要求することによって達成される。装置のフレンドリー名を取得した（ステップ３０６）とき、要求側の装置は、その装置が名前サーバであることを示す署名２１２を探す（ステップ３０８）。その装置が名前サーバの署名をもっていなかった場合、要求側の装置は、問合せリスト内の次のＢｌｕｅｔｏｏｔｈ装置のフレンドリー名を要求し、マーカを検索する。このプロセスは、名前サーバが見つかるまで繰り返される。リスト内のどの装置も名前サーバではなかった場合（ステップ３１０）は、このプロセスが終了する。というのは、要求側の装置は、問合せに応答した各装置のフレンドリー名を要求したからである。要求側の装置は、取得したフレンドリー名を格納する。
【００３６】
名前サーバが見つかった場合、要求側の装置は、名前サーバがどのくらいの期間名前を有しているかを決定する。これは、名前サーバに、問合せリスト内にある装置のフレンドリー名を尋ねることによって行う。名前サーバは、フレンドリー名、およびフレンドリー名をもっている時間の長さを提供する。時間の長さは、そのデータがどれくらい古いかの指示を提供し、これを、データの正確さの指示として使用することができる。名前サーバが長い間フレンドリー名をキャッシュしている場合、名前サーバが格納しているデータは、古いものである確率が高い。要求側の装置は、名前サーバがフレンドリー名を有している時間の長さを所定の時間と比較する（ステップ３１２）。その時間の長さが所定の時間以上である場合、名前サーバが有するフレンドリー名は使用されず、要求側の装置は、ステップ３０６から３１２を繰り返すことによってリスト内で別の名前サーバを検索する。
【００３７】
フレンドリー名を所定の時間より短い時間有している名前サーバが見つかったら、要求側の装置は、問合せリスト内にあるアドレスのフレンドリー名を要求し、フレンドリー名を格納する（ステップ３１４）。名前サーバは、特定のアドレスの名前を提供するだけである。あるいは、名前サーバは、それが知っているすべてのフレンドリー名およびアドレスを提供できることになる。しかし、それが知っているすべてのフレンドリー名およびアドレスを提供する名前サーバが、要求側の装置に、装置から装置に移動する機能を提供することになり、それがネットワーク内でのセキュリティ侵害を招き得ることは、当分野の技術者なら理解されよう。
【００３８】
次いで要求側の装置は、名前サーバがキャッシュしていないＢｌｕｅｔｏｏｔｈ装置の残りのフレンドリー名を取得する（ステップ３１６）。要求側の装置は、プリンタなど、特定のクラスの装置にのみ関与することを理解されたい。要求側の装置は、そのフレンドリー名の検索を、それが関与する特定のクラスの装置に限定することができる。これは、名前サーバを見つける前、または名前サーバを見つけた後に行うことができる。
【００３９】
他の方法を使用して名前サーバを見つけることができる。例えば、問合せに応答した装置によって戻された装置／サービスクラスフィールドを使用して、ある装置が名前サーバであることを示すことができる。
【００４０】
次に図４を参照すると、装置／サービスクラスフィールド４００は、サービスクラスエントリ４０２、メジャー装置クラスエントリ（ｍａｊｏｒ  ｄｅｖｉｃｅ  ｃｌａｓｓ  ｅｎｔｒｙ）４０４、マイナー装置クラスエントリ（ｍｉｎｏｒ  ｄｅｖｉｃｅ  ｃｌａｓｓ  ｅｎｔｒｙ）４０６、およびフォーマットタイプエントリ４０８からなる。４０２から４０６のいずれかのエントリのフィールドを使用して、装置が名前サーバであることを示すことができる。例えば、サーバクラスエントリ４０２には、２ビットがとってある。２ビットのうちの１ビットを使用して、名前サーバ機能を有する装置を示すことができる。あるいは、メジャー装置クラスエントリ４０４またはマイナークラス装置エントリ４０６を使用して、装置が名前サーバ機能を有していることを示すことができる。
【００４１】
次に図５を参照すると、装置／サービスクラスフィールド４００を使用してフレンドリー名を取得するために取られるステップが示してある。要求側の装置は、問合せを行い（ステップ３０２）、１つまたは複数の問合せ結果を受け取る（ステップ３０４）。要求側の装置は、装置／サービスクラスフィールドエントリ４００を検索して、応答側の装置のいずれかが名前サーバであるかどうかを決定する（ステップ５０２）。名前サーバがまったく問合せに応答しなかった場合は、各装置にそのフレンドリー名を要求することによってフレンドリー名を取得する（ステップ３１６）。名前サーバが見つかった場合、要求側の装置は、名前サーバがどのくらいの期間フレンドリー名を有しているかを決定し、フレンドリー名をその名前サーバから取得すべきかどうかを決定するステップ（５０４）。名前サーバが名前を有している時間が所定の期間より短い場合、要求側の装置は、名前サーバがキャッシュしたフレンドリー名を名前サーバから取得する。次いで要求側の装置は、それが有していない残りのフレンドリー名を各装置から取得する。名前サーバが名前を有している期間が所定の期間以上である場合、要求側の装置は、その名前サーバからフレンドリー名を取得しない。代わりに、要求側の装置は、それが有していない残りのフレンドリー名を各装置から取得する（ステップ３１６）、または問合せ結果内で別の名前サーバを探し、ステップ５０２、５０４、および３１６を繰り返す。
【００４２】
Ｂｌｕｅｔｏｏｔｈ装置のフレンドリー名を見つける時間を低減するための方法および装置について説明してきた。Ｂｌｕｅｔｏｏｔｈ装置がたくさんある環境では、リモート名要求コマンドを使用して装置のすべてのフレンドリー名が決定される前に名前サーバが見つかる可能性が高い。その結果、伝送時間が低減されるため消費電力が節約される。
【００４３】
本発明の原理を適用できる多くの可能な実施形態を考慮すると、図面に関して本明細書で説明した実施形態は、例示的なものであるにすぎず、本発明の範囲を限定するものとみなすべきではないことを理解されたい。例えば、ソフトウェアについて示した例示の実施形態の要素をハードウェアに、またその逆に実装できること、あるいは実施形態の例を、本発明の趣旨から逸脱することなく、構成および詳細に関して変更できることを、当分野の技術者なら理解されよう。さらに、名前サーバを示すためにマーカをフレンドリー名フィールドに埋め込む概念は、他のタイプのＢｌｕｅｔｏｏｔｈ装置の識別にも拡張することができる。したがって、本明細書に記載した本発明は、頭記の特許請求の範囲およびその均等物の範囲内に含まれ得るすべての実施形態を企図したものである。
【００４４】
【発明の効果】
以上説明したように、本発明によれば、問合せに応答したＢｌｕｅｔｏｏｔｈ装置のフレンドリー名の検索をスピードアップして、Ｂｌｕｅｔｏｏｔｈ装置のフレンドリー名を決定するのにかかる時間を短縮させることができる。
【図面の簡単な説明】
【図１】本発明が存在するコンピュータシステムの例の概略を示す構成図である。
【図２ａ】フレンドリー名フィールドを示す構成図である。
【図２ｂ】本発明の教示に従ってマーカが埋め込まれたフレンドリー名フィールドを示す構成図である。
【図３】本発明の教示に従って名前サーバを見つける方法を示す流れ図である。
【図４】Ｂｌｕｅｔｏｏｔｈ装置の装置クラスフィールドを示す構成図である。
【図５】名前サーバを見つける代替方法を示す流れ図である。
【符号の説明】
１００  コンピュータシステム環境
１１０  コンピュータ
１２０  処理ユニット
１２１  システムバス
１３０  システムメモリ
１３１  読取り専用メモリ
１３２  ランダムアクセスメモリ
１３３  基本入出力システム
１３４、１４４  オペレーティングシステム
１３５、１４５  アプリケーションプログラム
１３６、１４６  他のプログラムモジュール
１３７、１４７  プログラムデータ
１４０、１５０  インタフェース
１４１  ハードディスクドライブ
１５１  磁気ディスクドライブ
１５２  着脱式不揮発性磁気ディスク
１５５  光ディスクドライブ
１５６  着脱式不揮発性光ディスク
１６０  ユーザ入力インタフェース
１６１  ポインティング装置
１６２  キーボード
１７０  アダプタ
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  広域ネットワーク
１８０  リモートコンピュータ
１８１  メモリ記憶装置
１８５  リモートアプリケーションプログラム
１９０  ビデオインタフェース
１９１  モニタ
１９５  出力周辺インタフェース
１９６  プリンタ
１９７  スピーカ
２００  フレンドリー名フィールド
２０１、２１０  マーカ
２０２  記述名
２０４  ヌルバイト
２１２  署名
４００  装置／サービスクラスフィールド
４０２  サービスクラスエントリ
４０４  メジャー装置クラスエントリ
４０６  マイナー装置クラスエントリ
４０８  フォーマットタイプエントリ
【図１】
0004455825.tif 000002
【図２ａ】
0004455825.tif 000003
【図２ｂ】
0004455825.tif 000004
【図３】
0004455825.tif 000005
【図４】
0004455825.tif 000006
【図５】
0004455825.tif 000007