(57)【特許請求の範囲】
【請求項１】
２又は３以上の無線局の間で無線検出を実行するための方法であって、
第１無線局と第２無線局との間で無線接続が確立される前に、データストリングおよび補足情報を前記第１無線局から前記第２無線局に送信する段階を備え、
前記第１無線局は、サービス又はアプリケーションを要求する無線局であり、
前記第２無線局は、前記サービス又はアプリケーションをサポートする他の無線局であり、
前記データストリングは、前記第２無線局上で前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティ情報、および、前記サービス又はアプリケーションに対する固有識別のハッシュデータであり、
前記インターオペラビリティ情報は、前記サービス又はアプリケーションに係る前記第１無線局及び前記第２無線局の間での相互互換性を示し、
前記補足情報は、前記データストリングを受信する前記第２無線局により前記サービス又はアプリケーションを識別し実行するのに必須でない前記サービス又はアプリケーションについての情報を含み、
前記方法は、
前記データストリングを受信する前記第２無線局が前記データストリングにより記述される前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェアとソフトウェアとのうちの少なくとも一方を前記第２無線局が含むと判断した場合に、前記第１無線局および前記第２無線局が、前記第１無線局と前記第２無線局との間で無線接続を確立する段階と、
前記無線接続を確立した後に、前記第１無線局および前記第２無線局の間で、前記第２無線局で利用可能な前記サービス又はアプリケーションを検出する接続後検出処理を行う段階と
をさらに備える
方法。
【請求項２】
前記データストリングは、オープンシステムインターコネクション７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである、請求項１に記載の方法。
【請求項３】
前記補足情報は、ユーザグループを指定するデータを含む、請求項１または２に記載の方法。
【請求項４】
第２無線局上で実行するために第１無線局上に格納されるサービス又はアプリケーションに必要なインターオペラビリティ情報、および、前記サービス又はアプリケーションに対する固有識別のハッシュデータであるデータストリングを生成する電子機器とソフトウェアとのうちの少なくとも一方と、
前記第１無線局と前記第２無線局との間で無線接続が確立される前に、前記データストリングおよび補足情報を前記第２無線局に送信する無線トランシーバと、
を備え、
前記第１無線局は、前記サービス又はアプリケーションを要求する無線局であり、
前記第２無線局は、前記サービス又はアプリケーションをサポートする他の無線局であり、
前記インターオペラビリティ情報は、前記サービス又はアプリケーションに係る前記第１無線局及び前記第２無線局の間での相互互換性を示し、
前記補足情報は、前記データストリングを受信する前記第２無線局により前記サービス又はアプリケーションを識別し実行するのに必須でない前記サービス又はアプリケーションについての情報を含み、
前記第２無線局が前記データストリングにより記述される前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェアとソフトウェアとのうちの少なくとも一方を前記第２無線局が含むと判断した場合にのみ、前記第１無線局と前記第２無線局との間での無線接続が確立され、
前記無線接続が確立された後に、前記第１無線局と前記第２無線局との間で、前記第２無線局で利用可能な前記サービス又はアプリケーションを検出する接続後検出処理を行う
第１無線局。
【請求項５】
前記データストリングは、オープンシステムインターコネクション７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである、請求項４に記載の第１無線局。
【請求項６】
前記補足情報は、ユーザグループを指定するデータを含む、請求項４または５に記載の第１無線局。
【請求項７】
コンピュータに、
第１無線局と第２無線局との間で無線接続が確立される前に、データストリングおよび補足情報を前記第１無線局から前記第２無線局に送信する手順を実行させ、
前記第１無線局は、サービス又はアプリケーションを要求する無線局であり、
前記第２無線局は、前記サービス又はアプリケーションをサポートする他の無線局であり、
前記データストリングは、前記第２無線局上で前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティ情報、および、前記サービス又はアプリケーションに対する固有識別のハッシュデータであり、
前記インターオペラビリティ情報は、前記サービス又はアプリケーションに係る前記第１無線局及び前記第２無線局の間での相互互換性を示し、
前記補足情報は、さらに、前記データストリングを受信する前記第２無線局により前記サービス又はアプリケーションを識別し実行するのに必須でない前記サービス又はアプリケーションについての情報を含み、
前記コンピュータに、さらに、
前記データストリングを受信する前記第２無線局が前記データストリングにより記述される前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェアとソフトウェアとのうちの少なくとも一方を前記第２無線局が含むと判断した場合に、前記第１無線局および前記第２無線局が、前記第１無線局と前記第２無線局との間で無線接続を確立する手順と、
前記無線接続を確立した後に、前記第１無線局および前記第２無線局の間で、前記第２無線局で利用可能な前記サービス又はアプリケーションを検出する接続後検出処理を行う手順と
を実行させる、
プログラム。
【請求項８】
前記データストリングは、オープンシステムインターコネクション７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである、請求項７に記載のプログラム。
【請求項９】
前記補足情報は、ユーザグループを指定するデータを含む、請求項７または８に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
［関連出願の相互参照］
本出願は２０１２年２月８日に出願された米国仮特許出願第６１／５９６，３７７号の利益を主張し、その開示は引用することによりその全体が本明細書に組み込まれているものとする。
【０００２】
ここに与える背景技術の説明は、開示の状況を一般的に説明することを目的とする。本発明者の研究は、本背景技術の章に記述される範囲において、出願時における先行技術とみなさない旨の説明の態様と同様に、明白にも暗黙にも本開示に対する先行技術として自認するものではない。
【０００３】
無線検出は、例えば携帯電話、ラップトップ、タブレット等（「局」としても知られる）のＷｉＦｉ接続されたモバイルデバイスが、幾つかの有用なサービス又はアプリケーションを保持している他の無線局を探し出す処理を照会する。例えば、スマートフォンがインターネット接続性能を提供しているルータを探す、ラップトップがＷｉＦｉ可能なカラープリンタ（又はプリントサーバ）を探す、タブレットが特定のソーシャルメディアアプリケーションを実行している他の局を探すことがある。後者の場合、アプリケーションを実行している他のデバイスを見つけるだけでなく、各デバイスを、例えば、一般に共有されたソーシャルメディアピアに従って、グループ毎に分類する利点もある。
【０００４】
現在の無線検出インフラは、著しく非能率的であり、大抵の場合、単なるサービスセット識別子（ＳＳＩＤ）に基づいて、サービス・アプリケーション検出処理に先立って局間接続を確立している個々の局を頼っている。接続が処理された後にのみ、個々の局が、既定のサービス又はアプリケーションに対する基本インターオペラビリティ要求を判断する、非常に長いメッセージストリングの交換から構成される（例えば、ＵＰｎＰ又はＢｏｎｊｏｕｒを介して）、アプリケーションレベルのサービス検出を実行する。この処理は、メニューにリストされた品目を見つけ出す前に、レストランで予約をすること、席を待つこと、ドリンクを注文することに類似する。
【発明の概要】
【０００５】
本開示の態様は、局間で接続が確立される前に、圧縮された（アプリケーション又はサービス）データストリングを送信することにより、無線検出処理における非能率を緩和することに関する。これは、本明細書中、局「プリアソシェーション」として参照する。ストリングは、要求デバイスにより必要とされるあらゆるインターオペラビリティ要求と同様に、送信デバイスによりサポートされる特定のサービス又はアプリケーションを明らかにする。その結果、必要とされるとき、サポートされるとき、及び有用なときにのみ、接続が確立されてもよい。さらに、既定のデバイスにおける既定のフルサービス又はアプリケーション（例えば、プリントのための「プリントスプール」サービス）に必須の付加的サービスが、処理下にある接続を見越して、プリアソシェーション段階に続いて初期化されてもよい。
【０００６】
本開示の態様は、効率的な無線検出処理に関する。ここに記述される方法及びシステムは、潜在的に、多くのモバイルデバイスからなる環境に対する輻輳の防止及び電力効率における著しい改善を提供する。このシナリオにおいて、デバイスは概して前アソシエーション又は共通の環境設定を有さない。幾つかの実施形態において、デバイスは時間を判断し、同期動作を初期化することができると仮定する。
【０００７】
一実施形態において、２又は３以上の無線局の間での無線検出を実行するための方法が開示される。方法は、第１無線局と第２無線局との間で接続が確立される前に、データストリングを第１無線局と第２無線局との間で送信する段階を含み、データストリングは、そのデータストリングを受信する無線局上でサービス又はアプリケーションを実行するのに必要な（所望の）インターオペラビリティ情報を含む。一実施形態において、方法は、さらに、データストリングを受信する無線局がデータストリングにより記述されるサービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェア及び／又はソフトウェアを含む場合に、第１無線局と第２無線局との間で無線接続を確立する段階を含む。
【０００８】
この方法に関係する多くの実施形態は、サービス又はアプリケーションのための固有識別をさらに含むデータストリングを含む。一実施形態において、データストリングは、サービス又はアプリケーションの識別データに基づくハッシュ関数の出力である。別の実施形態において、データストリングは、ＯＳＩ７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである。さらに別の実施形態において、データストリングは、さらに、そのデータストリングを受信する無線局によるサービス又はアプリケーションを識別し実行するのに必須でないサービス又はアプリケーションについての補足情報を含む。一実施形態において、補足情報は、送信局が属する１又は複数のグループを指定するデータを含む。
【０００９】
本開示の他の態様は、データストリングを受信する第２無線局上で実行するために無線局上に格納されるサービス又はアプリケーションに必要な（所望の）インターオペラビリティ情報を含むデータストリングを生成する電子機器及び／又はソフトウェアと、無線局と第２無線局との間で接続が確立される前に、データストリングを第２無線局に送信する無線トランシーバと、を有する無線局に関する。一実施形態において、第２無線局がデータストリングにより記述されるサービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェア及び／又はソフトウェアを含む場合に、無線局と第２無線局との間での無線接続がただ確立される。別の実施形態において、データストリングは、さらに、サービス又はアプリケーションに対する固有識別を含む。一実施形態において、データストリングは、サービス又はアプリケーションの識別データに基づくハッシュ関数の出力である。別の実施形態において、データストリングは、ＯＳＩ７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである。別の実施形態において、データストリングは、さらに、データストリングを受信する無線局によるサービス又はアプリケーションを識別し実行するのに必須でないサービス又はアプリケーションについての補足情報を含んでもよい。一実施形態において、補足情報は、送信局が属する１又は複数のグループを指定するデータを含む。
【００１０】
本開示の別の実施形態は、１又は複数のプロセッサに、第１無線局と第２無線局との間で接続が確立される前に、データストリングを第１無線局から第２無線局に送信する手順を実行させ、データストリングは、第２無線局上でサービス又はアプリケーションを実行するのに必要な（所望の）インターオペラビリティ情報を含む、命令を格納するコンピュータ可読記憶媒体に関する。この態様によると、コンピュータに実行させる手順は、さらに、データストリングを受信する無線局がそのデータストリングにより記述されるサービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェア及び／又はソフトウェアを含む場合に、第１無線局と第２無線局との間で無線接続を確立する手順を含んでもよい。
【００１１】
幾つかの実施形態は、サービス又はアプリケーションに対する固有識別をさらに含むデータストリングを要件としてもよい。一実施形態において、データストリングは、サービス又はアプリケーションの識別データに基づくハッシュ関数の出力であり、ＯＳＩ７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータであってもよい。別の実施形態において、データストリングは、さらに、そのデータストリングを受信する無線局によるサービス又はアプリケーションを識別し実行するのに必須でないサービス又はアプリケーションについての補足情報を含み、送信局が属する１又は複数のグループを指定するデータを含む補足情報を要件としてもよい。
【図面の簡単な説明】
【００１２】
例示される本開示の多くの実施形態が、以下の図面を参照しつつ、詳細に記述される。同じ符号は同じ要素を参照する。
【００１３】
【図１】交互のサービス検出フレームワークオプション、プローブ／レスポンス又は非請求ビーコンブロードキャストを示す。
【００１４】
【図２】典型的なデータ送信例におけるＯＳＩ７層モデルとその実装を示す。
【００１５】
【図３】高位層アプリケーションを参照する第２層サービスアクセスポイント（ＳＡＰ）の２つの等価な説明を示す。
【００１６】
【図４】暗号学的ハッシュ関数の特性を示す。
【００１７】
【図５Ａ】集中サービス又はアプリケーションの識別スキームの例を示す。
【図５Ｂ】非集中サービス又はアプリケーションの識別スキームの例を示す。
【００１８】
【図６】典型的なサービス・アプリケーション検出インターフェースを示す。
【００１９】
【図７】２つの無線局の間でのサービス・アプリケーション検出処理の典型的なフローチャートを示す。
【００２０】
【図８】本発明の一実装のとおりにプログラムコードを格納及び／又は実行するのに好適なデバイスの典型的なブロック図を示す。
【発明を実施するための形態】
【００２１】
以下の図面及び記載を参照しつつ詳細に開示を説明する。図面の中の構成要素は、必ずしも寸法どおりではなく、その代わりに、本発明の原理を説明するために重点が置かれている。さらに、図面において、同一の符号は異なる図をとおして対応する同様の部分又は要素を意味する。
【００２２】
本開示の目的のために、全ての無線素子を無線「局」と呼ぶ。これは、通常、（携帯電話及びタブレットのような）「局」と呼ばれる無線素子を含むだけでなく、ルータ及びプリントサーバのような「アクセスポイント」と頻繁に呼ばれる他の無線素子を含んでもよい。
【００２３】
無線検出は、スマートフォン又はラップトップのような無線局がＷｉ−Ｆｉ又はあらゆる他の無線プロトコルを介して目的のサービス又はアプリケーションをサポートする隣接局を発見する処理を表してもよい。無線検出は、ほぼ一般的に、互いに無線ネットワークを確立するあらゆる２つ（又は３以上）の局を参照する。その最も基本的な構成において、これは単に、１つの局（例えば、ラップトップ）が、無線プリンタを検出して、それに接続することでありうる。しかし、無線検出は、より頻繁に、複数のネットワーク接続（例えば、多くの他のスマートフォン）をサポートし、インターネットゲートウェイサービスを提供する共通の局（例えば、ルータ）を検出する個々の局（例えば、スマートフォン、タブレット等）の処理を参照する。そのような構成は、一般的に、「ホットスポット」として知られる。
【００２４】
図１は、無線検出処理に対する２つの好適な構成を示す。図１に示すように、隣接局におけるサービス又はアプリケーションの識別は、サービス又はアプリケーションを捜している局がピアの検索においてその環境を活発に検査する（Ａ）プローブ要求／応答モデルにより実行されてよい、又は代わりに、サポートピア局から生じるビーコンユニキャスト又はマルチキャストメッセージにおいて（Ｂ）告知されてよい。共通の構成、上述の「ホットスポット」構成において、告知サービスは、単に、要求／登録局がインターネットにアクセス可能にするインターネットゲートウェイサービスである。図１において特に重要なのは、メッセージ「Ｗｈｏ  ｈａｓ  ｓｅｒｖｉｃｅ  ｆｏｏ？」、「Ｉ  ｈａｖｅ  ｆｏｏ，」、「Ｉ  ｈａｖｅ  ｂａｒ．」である。これらのメッセージは、それぞれの局の間の接続が処理、確立される前に生じるので、プリアソシェーションメッセージとして参照されてもよい。本開示の態様は、現在の及びレガシーフレームワークに従って交換される、プリアソシェーションステージの間でのより重要且つ様々なメッセージの交換に関係する。
【００２５】
上述のとおり、無線検出は、通常、所望のサービス又はアプリケーションと連携して実行される。無線サービス及びアプリケーションは、関係するが、異なる共通の規定を有する。一般に、無線サービスは、通常、特定のタスクを実行するような、幾つかの形式の重要な機能と関連付けられる。例えば、上の例におけるルータは、登録する無線局にインターネットアクセスを許可するゲートウェイサービスを提供してもよい。或いは、プリントサーバが、登録局に対してプリント機能を実行してもよい。
【００２６】
無線サービスと対比すると、無線局は代わりに共通に実行するアプリケーションを隣接無線局上に設けることに関与してもよい。共有無線アプリケーションのいくつかの例は、２又は３以上のアクティブな参加者（例えば、対局者とチェス又はポーカーをしている）を必要とする１又は複数のソーシャルネットワーキングアプリケーション又はゲーミングアプリケーションへの関与を含む。
【００２７】
局が特定の無線サービス又はアプリケーションを捜しているかどうかに関わらず、サービス又はアプリケーションは、図１に示すように要求局により、まず「検出」されなければならない。レガシーインフラストラクチャに従うと、無線検出処理は接続後に起こる。すなわち、局は、まず、局が接続を要求するネットワークのサービスセット識別子（ＳＳＩＤ）によってのみ識別される「ホットスポット」ネットワーク領域に入ってもよい。その名にかかわらず、ＳＳＩＤは、まれに、ネットワークがサポート又は提供するサービスを参照し、通常、例えば「Ｊａｎｅ'ｓ  Ｃｏｆｆｅｅ  Ｓｈｏｐ」のような特徴のある名前に過ぎない。無線接続処理は局（通常、スマートフォン、タブレット、又はラップトップ及びルータ）の間でのメッセージの交換から始めて、接続が確立される。
【００２８】
一度接続が確立されると、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）又はＢｏｎｊｏｕｒプロトコルのような高レベルプロトコルが、ポストアソシエーションサービス又はアプリケーション検出パラメータを規定するために使用されてもよい。すなわち、ネットワークを介して利用可能な特定のアプリケーション及び／又はサービスを検出する処理はこの接続が確立された後に実行され、接続後検出処理は一般的に（特にＵＰｎＰの場合に比較的）長いデータストリングを交換することにより通信する（ＵＰｎＰ及びＢｏｎｊｏｕｒのような）高レベルアプリケーションにより仲介される。接続後検出処理は、１つのアプリケーション層プロトコルを他より優先して選択することを要求することとしてもよい（例えば、Ｂｏｎｊｏｕｒ及びＵＰｎＰは通常ともに機能しない）。
【００２９】
図２は、７層ＯＳＩ通信モデルの種々の層を規定し、一般的なメッセージが取り得るパスを示す。第７層は、ユーザが互いに通信し合う層であるアプリケーション層を参照するプロトコルを「スタック」に下げると、典型的なメッセージが、物理層（第１層）からの転送に先立って、おそらくは無線アンテナを介して、セグメント、パケット、フレーム、及び最後にビットに変換される連続するプロトコルタグに付され得る。受信処理は、受信側で起こる。
【００３０】
ＯＳＩモデルは、幾つかの回路素子内には物理的には存在せず、むしろ、既定のメッセージ又はデータ構造（例えば、埋め込まれたＪＰＧイメージ又はＭＰ３オーディオクリップを有するテキストメッセージ）がユーザフレンドリでユーザアクセッシブルなアプリケーション特定フォーマット（第７層）から通信局の物理インターフェース（第１層）の間で送信される未処理のビット（０及び１）へ移動することを体験する処理（カプセル化又はデカプセル化）の完全リストを規定する。本開示の目的に対して、通信は無線リンクを介すものと仮定するが、一般にあらゆる通信メディア、例えば、地球の反対側の端の間で光ファイバケーブルにより行われるボイスオーバーアイピー（ＶｏＩＰ）通話を介するものとしてよい。
【００３１】
少し異なる視点から眺めると、図２内に破線矢印により示すように、ＯＳＩモデルは論理層に分類された通信機能を表す。この側面からの視点において、送信側上の様々な層は、それらに対応する、同期通信セッションに至る受信側上の対応層と本質的に独立に通信するものとみなすことができる。これは、カプセル化の間にメッセージにプロトコル情報を追加することにより達成される。メッセージがデカプセル化されると、例えば送信層４からのプロトコル情報がメッセージから取り除かれ、受信層４により使用される。副層メッセージのこのピギーバックは、非常に有用であり且つ従来未開発のＯＳＩモデルの特性、カプセル化・デカプセル化されるメッセージの背面上でＯＳＩモデルの低位層に短いメッセージストリングを「ひそかに持ち込む」能力、を提供する。そして、これらのストリングは、受信側で、低レベルストリングを有用な高レベル機能にマッピングするのに使用してよい。例えば、特定のサービス又はアプリケーションに係る局の間での相互互換性を示す第２層の短いメッセージストリングの受信は、受信局に、第７層におけるアプリケーションを、互換性のあるピア局との切迫する接続の予測に先立って及びその予測中に、インスタンス化させる。
【００３２】
本開示の実施形態では、既定の無線局に利用可能なサービス及び／又はアプリケーションは、局の間で処理される通信セッションの前のプリアソシェーションの間に、比較的短いデータストリングにより通信してもよい。データストリングは、局の上で実行することによりサポートされる利用可能なサービス又はアプリケーションを表してもよいし、サービス又はアプリケーションに関連付けられるありとあらゆるインターオペラビリティ要求を含んでもよい。ストリングは、ＯＳＩモデルの低位層の間（例えば、送受信層２の間）で送信されてもよい。ただし、それらは、次いで、より高位のレベル（例えば、第７層）にルックアップテーブル又は同様の論理マップ（例えば、ハッシング関数）を機能的に介してマッピングされる。従って、通信局は、極端に短い、それにもかかわらず、ずっと複雑で、ロバストなサービス及びそれに関連するプロトコルスタックを一意的に表すストリングを交換してもよい。
【００３３】
先に説明したように、このアプローチにおける有用性は、ＵＰｎＰ及びＢｏｎｊｏｕｒのような高レベルのアプリケーション（例えば、第７層）が他と比べて非常に長いストリングを交換することにより通信することである。これは、局の間でのフォーマルな通信リンクに必要である。しかし、局が「ｙｅｓ  ｏｒ  ｎｏ」決定を実行できるように十分な情報を有するだけのサービス又はアプリケーションプリアソシェーションに対して、既定のサービス又はアプリケーションの識別と、既定の局が、告知されるサービス又はアプリケーションをサポートするかどうか判断するのに十分な情報と、のすべてが必要になり得る。この情報は、特定の量のデータ圧縮を提供する受信局にて、ルックアップテーブル又は他の参照シナリオ（例えば、ハッシング関数）に基づいて提供される。
【００３４】
前もって「ｙｅｓ／ｎｏ」（真／偽）判断をすることにより、局は、各局に対する時間とエネルギをセーブする他の局からの要求／受理接続を避けてもよい。さらに、後でさらに説明するように、ますます選択される局のグループに対して接続が得られ（例えば、ソーシャルメディアアプリケーションからのピアのみが受け入れられる）、極めて選択的であり、しかし高度に最適化された局のネットワークになるとしてもよい。
【００３５】
図３は、局からこの情報を伝達する可能な手段を示す。図３において、単一の「サービスアクセスポイント」（ＳＡＰ）は、未使用若しくは創造されるプロトコルパラメータ（例えば、ポート：１２３）又は１６進法ストリング（例えば、FF62 549E 113B 901C...）により規定される。サービスアクセスポイント（ＳＡＰ）はサービス識別子又は「サービスＩＤ」とも呼ばれるが、ＳＡＰは既定のサービスを識別することに関与するプロトコル及びパラメータの集合を暗示する。
【００３６】
ＳＡＰは、特定のプロトコルスタックをサポートするために既定の局の能力を列挙する。プロトコルスタックは、その結果、要求局がサービス又はアプリケーション（例えば、図３におけるアプリケーションサービスＣ）を利用するために処理及び／又はインスタンス化するインターオペラビリティ要求を規定する。このモデルは、もちろん、特定の特殊なＳＡＰの若しくはそれへの「公認コンフォーマンス」又は私有のＳＡＰのサポートなど、多様な所望のシステムアーキテクチャ規格に役に立つ。図３は、ＳＡＰが潜在的にポート番号として格納されるように表しているが、パラメータは関与している局のそれぞれで同じ機能にマッピングされる限り、ＳＡＰは、あらゆる未使用パラメータにより通信されてもよい。従って、ルックアップテーブルは、ＳＡＰの、既定のサービス又はアプリケーションに関連付けられる長くて、より高レベルのＵＰｎＰ又はＢｏｎｊｏｕｒストリングへの転換を提供してもよい。
【００３７】
未使用又は創造パラメータのリサイクルの代替は、図３の２つめの例に示すような唯一の１６進法ストリングによりＳＡＰを規定することである。これは、例えば、あらゆる追加要求されるインターオペラビリティデータに加えてサービス又はアプリケーション名をハッシュするために、暗号学的ハッシュ関数を使用することにより達成することができる。
【００３８】
図４は、暗号学的ハッシュ関数の一般的な特徴のいくつかを表す。ＳＡＰ又はサービスＩＤを識別するためにハッシング関数を使うことで、それに関連して、種々の利益が得られる。例えば、既定のアプリケーション又はサービスをサポートを世話する要求局は、サービス名とインターオペラビリティデータをいくつかの既定された方法でハッシュし、ハッシュされたストリングをそのサービスクエリプリアソシェーションストリングとして発送する。同一のハッシュデータは同一のハッシュストリングを生成し、同じハッシュストリングに帰着する２つの異なるプリハッシュ値の可能性は本質的にはゼロであるため、ハッシュストリングは強力な互換キーのように作用する。ハッシュストリングクエリを受信する局は、ルックアップテーブルを調べ、それ自身の内部に格納されたハッシュコードをチェックし、又は直接それ自身のサービス又はアプリケーションデータをハッシュして、比較のためにチェックする。
【００３９】
データのハッシュの第２の利点は、圧縮である。一般に、暗号学的ハッシュ関数の入力長さは無制限であり、この先、非常に高い確率で一意の固定長の出力になるであろう。従って、既定のサービス又はアプリケーションに対する情報特異性の範囲は、本質的に無制限であり、入力がハッシュに先立ってどう構築されるかに依存して、非常に広く（例えば、ソーシャルネットワーキングアプリケーションＸを実行）から非常に狭く（例えば、Ｙは、カリフォルニア州のオックスナードからの「Ｄｉｒｔｙ  Ｄｏｚｅｎ」ボーリングチームＹ）まで変動する。別個の局がプリハッシュルールの同じセットに従う限り、局は必ず同じ固定長の出力を生成する。
【００４０】
ハッシュサービス又はアプリケーション情報に関連するさらにもう１つの利点は、セキュリティである。ハッシュストリングの一特性は、ハッシュストリングが元のデータ（すなわち、サービスＩＤ又はＳＡＰ）を判断するために「アンハッシュ」されないことだから、同じサービス又はアプリケーションを実行又は提供しているピアを捜している間、プライベートなサービス又はアプリケーションの実行を望む局は、アプリケーション又はサービスが第三者によりデコードされることを恐れることなくそうしてもよい。
【００４１】
ネットワークを介してサービス又はアプリケーションを識別し、区別することの更なる要求は、それぞれが独自のサービス識別ストリングに関連付けられていることを保証している。図５Ａ及び図５Ｂは、ＵＵＩＤ（ｕｎｉｖｅｒｓａｌｌｙ  ｕｎｉｑｕｅ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｓｔｒｉｎｇｓ）を生成するための２つの方法を示す。図５Ａに示すように、ＵＵＩＤは、一般に、限られたネームスペース（例えば、ＤＮＳ名及びＩＡＮＡ）内でデリゲートされたサブブランチを有する中央局により制御される階層を生成することにより一意になる。これは、ネットワーク上のエンティティへの名前／パス、コンピュータ上のファイル、インターネットアドレスなどを一意に与えるために共通に使用される簡単な方法である。階層名の例は、「Ｃ：＼Ｐｒｏｇｒａｍ Ｆｉｌｅｓ＼...＼Ｅｘａｍｐｌｅ.ｊｐｇ」、「ｗｗｗ．ｕｓｐｔｏ．ｇｏｖ／ｐａｔｅｎｔｓ／ｉｎｄｅｘ．ｊｓｐ」、及び（仮想プリントサービスに関して）「＼＼ＵＳＰＴＯ＼Ｐｒｉｎｔｅｒｓ＼...＼ＩＰ＿１７２．１６．１．１４５」を含む。ただし、「＼＼」は「ｒｅｔｕｒｎ  ｔｏ  ｒｏｏｔ」を意味し、「ＩＰ  １７２．１６．１．１４５」はポートを表す。
【００４２】
図５Ｂは、非常に大きな数がＵＵＩＤとして割り当てられる、よりフレキシブルな方法を示す。このモデルでは、各識別子が高い確率で一意であることが保証されている。例えば、バイナリービットの１６オクテットからなるＵＵＩＤは、総数２１２８＝１０３８．５３２の可能な組み合わせを与える。比較のため、地球上の人口は６．８×１０９、観測可能な宇宙の星の数は３×１０２３、人体内の原子の数は１０２８である。従って、「ハッシュ衝突」の可能性は、既定のネットワーク上の局の数が人体の原子の数に等しいとしても、わずかである（その場合、１００×（１０２８／１０３８．５３２１）又は約３０億分の１）。おもしろいことに、巨大なアドレス空間にもかかわらず、１２８のバイナリービットは３２の１６進法ビットに相当し、ほとんどの階層アドレスよりずっと小さい。例えば、ストリング「＼＼ＵＳＰＴＯ＼Ｐｒｉｎｔｅｒｓ＼Ｒｏｏｍ＿１２８＼ＩＰ＿１７２．１６．１．１４５」はすでに４１のアスキー文字を含む。もちろん、１２８バイナリービットに対して制限されたストリング長を設定する理由もなく、より大きい若しくはより小さい値を単独で又は最後にＳＡＰ若しくはＵＵＩＤを指定する他のストリングとともに使ってもよい。
【００４３】
この大きなアドレス空間においてＵＵＩＤを達成する１つの方法は、ＳＡＰを一意に作成することにおいて上述したように同じ方法で、単に、暗号学的ハッシュ関数を適用することである。これは、ＳＡＰ識別を実行するためにハッシュストリングを使うことのもう１つの利点である。それは、大抵、ハッシュストリングのアドレス空間に応じて、サービス又はアプリケーションＳＡＰがそのＵＵＩＤとして供する十分である場合である。もちろん、上述のハッシュストリングのセキュリティ及び圧縮の同じ利点が、ＳＡＰに関してＵＵＩＤに等しくあてはまる。
【００４４】
プリアソシェーションアーキテクチャへの最後の追加は、既定の接続を要求／受理するかどうかの判断を行うことにおいて有用であろう補足情報の追加である。補足情報は以下を含む。
・特定人を検出すること。
その人は、モバイルデバイス上で特定のアプリケーションサービスを実行しているであろう。
・特定のグループのメンバーである幾人かの人を検出すること。
これらは、特定のアプリケーション又はサービスを実行しているユーザであり、さらに、アプリケーションのなかの特定のグループのユーザ（例えば、ソーシャルメディアピア又はゲームのチームメンバ）を含んでもよい。
・サービス検出のためのプライバシをサポートすること。
【００４５】
補足情報の場合、公的に規定されたサービスＩＤ（ＳＡＰ）が既定のサービス又はアプリケーションのためのブートストラップポイントとして使われてもよい。この場合、追加のローカルサービス識別子が、（ｉ）サービスの特定のコンテキスト、（ｉｉ）特定のユーザ、（ｉｉｉ）ユーザグループ、又は（ｉｖ）サービスのプライベート／セキュアなインスタンスのような追加パラメータを示す、より多くの特定のサービス情報又はサービス修正に対応して、名前に小さい確率で（階層化又はデカプセル化されて）追加される。
【００４６】
さらに、プリアソシェーション構成の他の拡張は、接続のためにまったく又はほとんどない可能性で、情報を局に提供することであってもよい。これは、より多くの「ダム」デバイスが無線利用できるようになるので、理にかなっている。例えば、いずれへの接続も確立できないかもしれないが、ローカルな温度計又は玄関ライトの遠隔操作の状態を読むことは関心がある。
【００４７】
図６は、プリアソシェーションを使ってサポートされる典型的な公布／登録フレームワークを示す。これは、プリアソシェーションフレームワークのみを使って確立されるロバストなフレーム枠の一例である。図６において、サービスＡにより送信される各「公布」メッセージは、サービスＩＤ（ＳＡＰ）及び（補足情報として）いつサービスＡが非請求の送信を送信するかを示す「公布」スケジュールから構成される。サービスＡにより送信される各「登録」メッセージは、サービスＩＤ（ＳＡＰ）及びいつ検出処理（及び登録局のＭＡＣ）が気づいて非請求の送信を聞くかを示す「登録」スケジュールから構成される。局からサービスＡに送信される各「報告」メッセージは、サービスＩＤ（ＳＡＰ）、ＭＡＣ識別メッセージ、及び局からサービスＡへの追加のサービス情報から構成される。
【００４８】
図７は、典型的なサービス検出処理７００のアウトラインを示すフローチャートである。図７において、無線局Ａは、無線局Ｂが探し求めている規定のサービス又はアプリケーションをサポートする。処理はステップＳ７０１で始まり、ステップＳ７１０に進み、無線局Ａは、特定のサービス又はアプリケーションのための全ての必要なインターオペラビリティ情報を識別するデータストリング識別を無線局Ｂに送信する。ステップＳ７２０では、無線局Ａは、無線局Ｂにより接続が要求されているかどうかをチェックする。もし、接続が要求されると、無線局ＡはステップＳ７３０に進み、接続が無線局Ａと無線局Ｂとの間で確立される。そして、ステップＳ７９９へのパスを制御し、方法が終了する。もし接続が要求されなければ、又はもしネットワーク構成が、無線局Ｂが応答するためのビーコンを待つように構成されたものであれば、無線局ＡはステップＳ７４０に進み、無線局Ａはビーコンを転送する時間かどうか（又は送信するよう構成されているかどうか）をチェックしてよい。もし、ビーコンを送信する時間／送信するように構成されていると、制御はステップ７５０に進み、ビーコンが無線局Ａにより送信される。そして、無線局ＡはステップＳ７６０に進み、ビーコンへの応答が受信されたかどうかを判断される。もし、応答が受信されると、無線局ＡはステップＳ７３０に戻り、無線局Ａと無線局Ｂとの間の接続が確立され、そして、ステップＳ７９９に進み処理が終了する。もしビーコンを送信する時間でなかったとしたら、もし無線局Ａがビーコンを送信するように構成されていなかったら、又はもしステップＳ７６０で送信されたビーコンへの応答が受信されなかったら、フローはステップＳ７９９に進み、方法が終了する。
【００４９】
無線局Ｂの視点より、ステップＳ７７０で無線局Ｂによりデータストリングが受信され、ステップＳ７８０でインターオペラビリティ要求が無線局Ｂにより満たされるかどうかが判断される。もし、インターオペラビリティ要求が満たされないと、無線局ＢはステップＳ７７０でデータストリングの受信を再び始める。もし、インターオペラビリティ要求が満たされると、無線局ＢはステップＳ７９０に進み、無線局Ｂは、無線局Ａとの接続を要求するか、無線局Ａが応答するためのビーコンを生成するのを待つか、のいずれかをする。いずれかの場合に、そして、無線局ＢはステップＳ７９５で無線局Ａとの接続を確立し、そしてステップＳ７９９に進み、方法が終了する。
【００５０】
上のアイデアを拡張することにより、本開示の実施形態によるネットワークは、複数の異なる局の間でのプリアソシェーションが重要な接続を効率良く選択できるように構築することができる。上述の特徴のとおり、本開示の典型的な実施形態は次のモデルに基づくサービス検出を実行することを提案する。
【００５１】
（１）サービス検出フレームを、サブタイプがパブリックアクションである新しいＩＥＥＥ８０２．１１管理フレームとして規定する。
【００５２】
（２）パブリックアクションフレームは、サービスを一意に識別する幾つかのアプリケーション特有情報のハッシュとして生成される不透明な「サービスＩＤ」オクテットストリングを運ぶ。
【００５３】
（３）サービスＩＤについて、サービスに特定の追加の制約を提供する追加のサービスキャパビリティフィールドであってもよい。
【００５４】
（４）サービス検出は、以下により実行される。
【００５５】
（ａ）サービス検出要求／応答シーケンス（要求が、サービスＩＤに対して、ユニキャストされる又はブロードキャストされる）。
【００５６】
（ｂ）サービスアナウンス（例えば、サービスＩＤの非請求のブロードキャスト／マルチキャスト）。
【００５７】
（５）サービスＩＤの４６ビットは、要求又はアナウンスのためのマルチキャストアドレスを生成するために使うことができる。
【００５８】
（６）サービス検出フレームは、１より大きい数のサービスの要求又は表示を受け入れるために構築されてもよいが、フィールの制限はサービスＩＤフィールド、サービスキャパビリティフィールドのサイズ及び検出フレームの総サイズを制約する。
【００５９】
無線検出処理の実行のための命令は、電子技術において提供される（例えば、特定用途向け集積回路（ＡＳＩＣ）又はＲＡＭ、ＲＯＭ、リムーバブルメモリ（例えば、リムーバブルメモリチップ又はディスク）又はハードドライブのような固定メモリ）のような記憶媒体上に格納されるソフトウェア命令）。
【００６０】
図８は、上述の１又は複数の処理を実行するプログラムコードを記憶及び／又は実行するのに好適なデバイス８００の一実施形態を示す。無線デバイス８００は、様々な実施形態における無線アクセスポイント及び／又は無線局である。デバイス８００は、システムバス８０６を介してメモリ素子８０４Ａ−Ｂと接続するプロセッサ８０２を含む。他の実装において、デバイス８００は１より大きい数のプロセッサを含み、各プロセッサは直接的又は間接的に１又は複数のメモリ素子にシステムバスを介して接続されてもよい。メモリ素子 ８０４Ａ−Ｂは、プログラムコードが実際に実行される間使われるローカルメモリ、バルクストレージ、実行中にコードがバルクストレージから回復される回数を減らすために、少なくとも幾つかのプログラムコードの一時的ストレージを提供するキャッシュメモリを含むことができる。示すように、入出力又はＩ／Ｏデバイス８０８Ａ−Ｂ（限定されないが、キーボード、ディスプレイ、ポインティングデバイス等を含む）がデバイス８００と結合する。Ｉ／Ｏデバイス８０８Ａ−Ｂは、デバイス８００に直接的に又はＩ／Ｏコントローラ（不図示）を介在して間接的に結合してもよい。
【００６１】
一実装において、ネットワークアダプタ８１０は、デバイス８００が通信リンク８１２を介して他のデータ処理システム、又はリモートプリンタ、又はストレージデバイスに接続できるように、デバイス８００に接続される。通信リンク８１２は、プライベート又はパブリックネットワーク、無線、又は有線である。無線モデム、ケーブルモデム、及びイーサネット（登録商標）カードは、現在利用可能なネットワークアダプタのタイプのほんの数例である。
【００６２】
本開示の態様が特定の実施形態に関係して記載されている限りは、それ故に、実施例、代替、変形、及び例のバリエーションが可能である。従って、本明細書に記載の実施形態は、例示であり、限定的なものではないことが意図される以下に記載の特許請求の範囲から逸脱することなく変形することもできる。
本明細書は、以下の各項目に記載の態様もまた開示する。
（項目１）
２又は３以上の無線局の間で無線検出を実行するための方法であって、
第１無線局と第２無線局との間で接続が確立される前に、データストリングを前記第１無線局から前記第２無線局に送信する段階を備え、
前記データストリングは、前記第２無線局上でサービス又はアプリケーションを実行するのに必要なインターオペラビリティ情報を含む、方法。
（項目２）
前記データストリングを受信する前記第２無線局が前記データストリングにより記述される前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェアとソフトウェアとのうちの少なくとも一方を含む場合に、前記第１無線局と前記第２無線局との間で無線接続を確立する段階をさらに備える、項目１に記載の方法。
（項目３）
前記データストリングは、さらに、前記サービス又はアプリケーションに対する固有識別を含む、項目１又は２に記載の方法。
（項目４）
前記データストリングは、前記サービス又はアプリケーションの識別データに基づくハッシュ関数の出力である、項目３に記載の方法。
（項目５）
前記データストリングは、ＯＳＩ７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである、項目３又は４に記載の方法。
（項目６）
前記データストリングは、さらに、前記データストリングを受信する前記第２無線局により前記サービス又はアプリケーションを識別し実行するのに必須でない前記サービス又はアプリケーションについての補足情報を含む、項目３から５のいずれか一項に記載の方法。
（項目７）
前記補足情報は、前記第１無線局が属する１又は複数のグループを指定するデータを含む、項目６に記載の方法。
（項目８）
第２無線局上で実行するために第１無線局上に格納されるサービス又はアプリケーションに必要なインターオペラビリティ情報を含むデータストリングを生成する電子機器とソフトウェアとのうちの少なくとも一方と、
前記第１無線局と前記第２無線局との間で接続が確立される前に、前記データストリングを前記第２無線局に送信する無線トランシーバと、
を備える第１無線局。
（項目９）
前記第２無線局が前記データストリングにより記述される前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェアとソフトウェアとのうちの少なくとも一方を含む場合にのみ、前記第１無線局と前記第２無線局との間での無線接続が確立される、項目８に記載の第１無線局。
（項目１０）
前記データストリングは、さらに、前記サービス又はアプリケーションに対する固有識別を含む、項目８又は９に記載の第１無線局。
（項目１１）
前記データストリングは、前記サービス又はアプリケーションの識別データに基づくハッシュ関数の出力である、項目１０に記載の第１無線局。
（項目１２）
前記データストリングは、ＯＳＩ７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである、項目１０又は１１に記載の第１無線局。
（項目１３）
前記データストリングは、さらに、前記データストリングを受信する前記第２無線局により前記サービス又はアプリケーションを識別し実行するのに必須でない前記サービス又はアプリケーションについての補足情報を含む、項目１０から１２のいずれか一項に記載の第１無線局。
（項目１４）
前記補足情報は、前記第１無線局が属する１又は複数のグループを指定するデータを含む、項目１３に記載の第１無線局。
（項目１５）
コンピュータに、
第１無線局と第２無線局との間で接続が確立される前に、データストリングを前記第１無線局から前記第２無線局に送信する手順を実行させ、
前記データストリングは、前記第２無線局上でサービス又はアプリケーションを実行するのに必要なインターオペラビリティ情報を含む、プログラム。
（項目１６）
コンピュータに、さらに、
前記データストリングを受信する前記第２無線局が前記データストリングにより記述される前記サービス又はアプリケーションを実行するのに必要なインターオペラビリティハードウェアとソフトウェアとのうちの少なくとも一方を含む場合に、前記第１無線局と前記第２無線局との間で無線接続を確立する手順を実行させる、項目１５に記載のプログラム。
（項目１７）
前記データストリングは、さらに、前記サービス又はアプリケーションに対する固有識別を含む、項目１５又は１６に記載のプログラム。
（項目１８）
前記データストリングは、前記サービス又はアプリケーションの識別データに基づくハッシュ関数の出力である、項目１７に記載のプログラム。
（項目１９）
前記データストリングは、ＯＳＩ７層モデルの第３層又はより低位のプロトコルの未使用パラメータ又は創造パラメータである、項目１７又は１８に記載のプログラム。
（項目２０）
前記データストリングは、さらに、前記データストリングを受信する前記第２無線局により前記サービス又はアプリケーションを識別し実行するのに必須でない前記サービス又はアプリケーションについての補足情報を含む、項目１７から１９のいずれか一項に記載のプログラム。
（項目２１）
前記補足情報は、前記第１無線局が属する１又は複数のグループを指定するデータを含む、項目２０に記載のプログラム。
【図１】
0006652236.tif 000002
【図２】
0006652236.tif 000003
【図３】
0006652236.tif 000004
【図４】
0006652236.tif 000005
【図５Ａ】
0006652236.tif 000006
【図５Ｂ】
0006652236.tif 000007
【図６】
0006652236.tif 000008
【図７】
0006652236.tif 000009
【図８】
0006652236.tif 000010