(57)【特許請求の範囲】
【請求項１】
発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するステップと、
前記第1のハッシュ演算を実行することによって取得されたハッシュ値が前記第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、前記ピアエンドによって送信された第1の照会応答メッセージを受信するステップと、
少なくとも前記第1の結果通知情報に従って、発見されるべき前記サービスが前記ピアエンドに存在するかどうかを判定するステップと
を含み、
前記第1の結果通知情報が、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である、少なくとも1つのサービスのサービス識別情報に対して、第2のハッシュ演算を実行することにより前記ピアエンドによって取得された、少なくとも1つの第2のハッシュ値を含み、
判定する前記ステップが、
発見されるべき前記サービスの前記サービス識別情報に対して前記第2のハッシュ演算を実行し、発見されるべき前記サービスに対応する前記第2のハッシュ値を取得するステップと、
発見されるべき前記サービスに対応する前記第2のハッシュ値が前記第1の結果通知情報内に存在する場合、発見されるべき前記サービスが前記ピアエンドに存在すると判断するステップと
を含む、サービス情報を発見する方法。
【請求項２】
第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する前記第1の照会要求メッセージを受信するステップと、
少なくとも、前記第1のハッシュ演算を実行することによって取得されたハッシュ値が前記第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべき前記サービスが前記ローカルエンドに存在するかどうかを前記ピアエンドが判定するように、前記第1の結果通知情報を搬送する第1の照会応答メッセージを送信するステップと
を含み、
送信する前記ステップが、
前記第1のハッシュ値に従って、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスが前記ローカルエンドに存在するかどうかを判定するステップと、
前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスが前記ローカルエンドに存在すると判定された場合、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスに対応する第2のハッシュ値を取得するステップと、
前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスに対応する前記第2のハッシュ値を、前記第1の結果通知情報として前記第1の照会応答メッセージの中にカプセル化し、前記第1の照会応答メッセージを前記ピアエンドに送信するステップと
を含む、サービス情報を発見する方法。
【請求項３】
サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に対して、第1のハッシュ演算を実行することによって取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送する前記サービス情報指示メッセージを受信するステップと、
少なくとも前記ハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスが前記ピアエンドに存在するかどうかを判定するステップと
を含み、
前記判定するステップが、
前記ローカルエンドによって発見される必要がある前記サービスのサービス識別情報に対して前記第1のハッシュ演算を実行することによって取得される、前記ローカルエンドによって発見される必要がある前記サービスに対応する第1のハッシュ値を取得するステップと、
少なくとも前記第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在するかどうかに応じて、前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在するかどうかを判定するステップとを
含み、
少なくとも、前記第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在するかどうかに応じて、前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在するかどうかを判定する前記ステップが、
前記第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在する場合、前記ローカルエンドによって発見される必要がある前記サービスの前記サービス識別情報を搬送する第1の照会要求メッセージを前記ピアエンドに送信するステップと、
前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、前記ピアエンドによって送信された第1の照会応答メッセージを受信するステップと、
前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在することを前記第1の結果通知情報が識別した場合、前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在すると判断するステップと
を含む、
サービス情報を発見する方法。
【請求項４】
前記サービス情報指示メッセージが前記ハッシュ値指示情報を搬送する方式が、
前記サービス情報指示メッセージがビットテーブルおよびビットテーブルの長さを含むことを含み、前記ビットテーブルでは、前記ピアエンドに存在する前記サービスの前記サービス識別情報に従って取得された前記ハッシュ値に対応する位置が1にセットされ、前記ビットテーブルの長さが前記ピアエンドに存在する前記サービスの量に応じて決定される、
請求項3に記載のサービス情報を発見する方法。
【請求項５】
ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、前記ローカルエンドに存在する前記サービスに対応するハッシュ値を取得するステップと、
サービス情報指示メッセージを受信するピアエンドが、少なくとも、前記ローカルエンドに存在する前記サービスに対応する前記ハッシュ値を識別するために使用されるハッシュ値指示情報に従って、前記ピアエンドによって発見される必要があるサービスが前記ローカルエンドに存在するかどうかを判定するように、前記ハッシュ値指示情報を搬送する前記サービス情報指示メッセージをブロードキャストするステップと
を含み、
サービス情報指示メッセージをブロードキャストする前記ステップの後、
前記ピアエンドによって発見される必要がある前記サービスのサービス識別情報を搬送する、前記ピアエンドによって送信された第1の照会要求メッセージを受信するステップであって、前記ピアエンドによって発見される必要がある前記サービスに対応する第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在するとき、前記ピアエンドにより前記第1の照会要求メッセージが前記ローカルエンドに送信され、前記第1のハッシュ値が、発見される必要がある前記サービスの前記サービス識別情報に対して前記第1のハッシュ演算を実行することにより前記ピアエンドよって取得される、ステップと、
少なくとも第1の結果通知情報に従って、前記ピアエンドによって発見される必要がある前記サービスが前記ローカルエンドに存在するかどうかを前記ピアエンドが判定するように、前記ピアエンドによって発見される必要がある前記サービスの前記サービス識別情報に従って、前記ピアエンドによって発見される必要がある前記サービスが前記ローカルエンドに存在するかどうかを識別するために使用される前記第1の結果通知情報を搬送する第1の照会応答メッセージを前記ピアエンドに送信するステップと
をさらに含む、
サービス情報を発見する方法。
【請求項６】
サービス情報指示メッセージをブロードキャストする前記ステップが、
前記ローカルエンドに存在する前記サービスの量に応じてビットテーブルの長さを決定するステップと、
ビットテーブルおよび前記ビットテーブルの長さを前記サービス情報指示メッセージの中にカプセル化し、前記ローカルエンドに存在する前記サービスに対応する前記ハッシュ値に対応する位置を1にセットし、次いで前記サービス情報指示メッセージをブロードキャストするステップと
を含む、請求項5に記載のサービス情報を発見する方法。
【請求項７】
発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するように構成された送信ユニットと、
前記第1のハッシュ演算を実行することによって取得されたハッシュ値が前記第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、前記ピアエンドによって送信された第1の照会応答メッセージを受信するように構成された受信ユニットと、
少なくとも前記第1の結果通知情報に従って、発見されるべき前記サービスが前記ピアエンドに存在するかどうかを判定するように構成された発見処理ユニットと
を備え、
前記第1の結果通知情報が、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である、少なくとも1つのサービスのサービス識別情報に対して、第2のハッシュ演算を実行することにより前記ピアエンドによって取得された、少なくとも1つの第2のハッシュ値を含み、
前記発見処理ユニットが、
発見されるべき前記サービスの前記サービス識別情報に対して前記第2のハッシュ演算を実行し、発見されるべき前記サービスに対応する前記第2のハッシュ値を取得するように構成された取得モジュールと、
発見されるべき前記サービスに対応する前記第2のハッシュ値が前記第1の結果通知情報内に存在するとき、発見されるべき前記サービスが前記ピアエンドに存在すると判断するように構成された第3の判断モジュールと
を備える、サービス情報発見デバイス。
【請求項８】
第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する前記第1の照会要求メッセージを受信するように構成された第1の受信ユニットと、
少なくとも、前記第1のハッシュ演算を実行することによって取得されたハッシュ値が前記第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべき前記サービスが前記ローカルエンドに存在するかどうかを前記ピアエンドが判定するように、前記第1の結果通知情報を搬送する第1の照会応答メッセージを送信するように構成された第1の送信ユニットと
を備え、
前記第1の送信ユニットが、
前記第1のハッシュ値に従って、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスが前記ローカルエンドに存在するかどうかを判定するように構成された第2の判定モジュールと、
前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスが前記ローカルエンドに存在すると前記第2の判定モジュールが判定したとき、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスに対応する第2のハッシュ値を取得するように構成された取得モジュールと、
前記第1のハッシュ演算を実行することによって取得された前記ハッシュ値が前記第1のハッシュ値である前記サービスに対応する前記第2のハッシュ値を、前記第1の結果通知情報として前記第1の照会応答メッセージの中にカプセル化し、前記第1の照会応答メッセージを前記ピアエンドに送信するように構成された第2の送信モジュールと
を備える、サービス情報供給デバイス。
【請求項９】
サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送する前記サービス情報指示メッセージを受信するように構成された受信ユニットと、
少なくとも前記ハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスが前記ピアエンドに存在するかどうかを判定するように構成された発見処理ユニットと
を備え、
前記発見処理ユニットが、
前記ローカルエンドによって発見される必要がある前記サービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、前記ローカルエンドによって発見される必要がある前記サービスに対応する第1のハッシュ値を取得するように構成された取得モジュールと、
少なくとも、前記第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在するかどうかに応じて、前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在するかどうかを判定するように構成された判定モジュールと
を備え、
前記判定モジュールが、
前記第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在するとき、前記ローカルエンドによって発見される必要がある前記サービスの前記サービス識別情報を搬送する第1の照会要求メッセージを前記ピアエンドに送信するように構成された第1の送信サブモジュールと、
前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、前記ピアエンドによって送信された第1の照会応答メッセージを受信するように構成された第1の受信サブモジュールと、
前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在することを前記第1の結果通知情報が識別したとき、前記ローカルエンドによって発見される必要がある前記サービスが前記ピアエンドに存在すると判断するように構成された第1の判断サブモジュールと
を備える、サービス情報発見デバイス。
【請求項１０】
ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、前記ローカルエンドに存在する前記サービスに対応するハッシュ値を取得するように構成された取得ユニットと、
サービス情報指示メッセージを受信するピアエンドが、少なくとも、前記ローカルエンドに存在する前記サービスに対応する前記ハッシュ値を識別するために使用されるハッシュ値指示情報に従って、前記ピアエンドによって発見される必要があるサービスが前記ローカルエンドに存在するかどうかを判定するように、前記ハッシュ値指示情報を搬送する前記サービス情報指示メッセージをブロードキャストするように構成されたブロードキャストユニットと
を備え、
前記ピアエンドによって発見される必要がある前記サービスのサービス識別情報を搬送する、前記ピアエンドによって送信された第1の照会要求メッセージを受信するように構成された第1の受信ユニットであって、前記ピアエンドによって発見される必要がある前記サービスに対応する第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在するとき、前記ピアエンドにより前記第1の照会要求メッセージが前記ローカルエンドに送信され、前記第1のハッシュ値が、発見される必要がある前記サービスの前記サービス識別情報に対して前記第1のハッシュ演算を実行することにより前記ピアエンドよって取得される、第1の受信ユニットと、
少なくとも第1の結果通知情報に従って、前記ピアエンドによって発見される必要がある前記サービスが前記ローカルエンドに存在するかどうかを前記ピアエンドが判定するように、前記ピアエンドによって発見される必要がある前記サービスの前記サービス識別情報に従って、前記ピアエンドによって発見される必要がある前記サービスが前記ローカルエンドに存在するかどうかを識別するために使用される前記第1の結果通知情報を搬送する第1の照会応答メッセージを前記ピアエンドに送信するように構成された第1の送信ユニットと
をさらに備える、
サービス情報供給デバイス。
【請求項１１】
前記ブロードキャストユニットが、
前記ローカルエンドに存在する前記サービスの量に応じてビットテーブルの長さを決定するように構成された決定モジュールと、
ビットテーブルおよび前記ビットテーブルの長さを前記サービス情報指示メッセージの中にカプセル化し、前記ローカルエンドに存在する前記サービスに対応する前記ハッシュ値に対応する位置を1にセットし、次いで前記サービス情報指示メッセージをブロードキャストするように構成されたセット兼ブロードキャストモジュールと
を備える、請求項10に記載のサービス情報供給デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれている、2012年12月17日に中国特許庁で出願された、中国特許出願第201210548032.6号の優先権を主張する。
【０００２】
本発明は通信技術に関し、詳細には、サービス情報を発見する方法およびデバイスに関する。
【背景技術】
【０００３】
ワイヤレスフィデリティ(Wireless Fidelity、略してWiFi)は、迅速な導入、使用時の利便性、および高い伝送レートなどのその利点により、様々な業界で広く適用されている。WiFiネットワークの構成は以下の通りである。アクセスポイント(Access Point、略してAP)が複数のステーション(Stations、略してSTA)にアクセスサービスを提供し、APおよびSTAは、無線信号を使用することによって情報を交換する。サービスとは、APまたはSTAにより別のSTAに提供される機能または情報を指す。たとえば、APによって提供され得るインターネットプロトコル(Internet Protocol、略してIP)の接続機能はサービスであり、別の例では、APを有するプリンタに関して、APが、プリンタが印字機能を提供することを示す場合、印字機能もサービスである。
【０００４】
APまたは別のSTAによって提供されるサービスを使用する前に、STAは最初に、APまたは別のSTAを発見する必要がある。APまたは別のSTAを発見した後、STAはさらに、必要なサービスが存在するかどうかを照会する必要がある。たとえば、第1のSTAがIP接続サービスを必要とするとき、第1のSTAは最初に、APまたは第2のSTAがIP接続サービスを提供できるかどうかを照会する必要があり、別の例では、第1のSTAが、第1のSTAと同じゲームがインストールされている別のSTAとオンラインゲームをする必要があるとき、第1のSTAは最初に、どのSTAに同じゲームがインストールされているかを発見する必要があり、さらに第1のSTAが必要とするサービスをどのSTAが有しているかを知る必要がある。
【０００５】
従来技術では、STAがサービスを発見するとき、1つの方式は、発見される必要があるサービスを識別するために使用される1個の完全なサービス識別情報を搬送する照会要求メッセージを自発的に送信し、次いでピアエンドの照会応答メッセージから、STAが必要とするサービスをピアエンドが有しているかどうかを知ることであり、別の方式は、ピアエンドによってブロードキャストされたサービス情報を受け取り、ピアエンドが提供することができる様々なサービスの完全なサービス識別情報を搬送する、ピアエンドによってブロードキャストされたサービス情報指示メッセージから、STAが必要とするサービスをピアエンドが有しているかどうかを知ることである。WiFiの実際の適用例では、STAは、一般に、STAが必要とするサービスを隣接デバイスが有しているかどうかを絶え間なく照会する必要があるか、または、STAまたはAPは、STAまたはAPのサービスに関心があるデバイスを見出すために、STAまたはAPが提供することができるサービスを隣接デバイスに絶え間なくブロードキャストする必要がある。上記のように、大量の照会要求メッセージまたはブロードキャストサービス情報指示メッセージは、WiFiネットワーク内に存在し、完全なサービス識別情報は一般に長いので、チャネルリソースの利用率は高くない。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の実施形態は、サービス発見中のチャネルリソースの利用率を改善するために使用される、サービス情報を発見する方法およびデバイスを提供する。
【０００７】
第1の態様によれば、サービス情報を発見する方法が提供され、
発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するステップと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するステップと、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップと
を含む。
【０００８】
第1の態様によれば、第1の態様の第1の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報であり、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップは、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信するステップと、発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信するステップと、発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別した場合、発見されるべきサービスがピアエンドに存在すると判断するステップとを含む。
【０００９】
第1の態様によれば、第1の態様の第2の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによりピアエンドによって取得された第2のハッシュ値であり、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップは、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得するステップと、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断するステップとを含む。
【００１０】
第1の態様の第2の可能な実装方式によれば、第1の態様の第3の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【００１１】
第1の態様によれば、第1の態様の第4の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報であり、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップは、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断するステップを含む。
【００１２】
第2の態様によれば、サービス情報を発見する方法が提供され、
第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する第1の照会要求メッセージを受信するステップと、
少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信するステップと
を含む。
【００１３】
第2の態様によれば、第2の態様の第1の可能な実装方式では、第1の照会応答メッセージを送信するステップは、第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するステップとを含む。
【００１４】
第2の態様の第1の可能な実装方式によれば、第2の態様の第2の可能な実装方式では、方法は、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するステップと、発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するステップとをさらに含む。
【００１５】
第2の態様によれば、第2の態様の第3の可能な実装方式では、第1の照会応答メッセージを送信するステップは、第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するステップとを含む。
【００１６】
第2の態様の第3の可能な実装方式によれば、第2の態様の第4の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【００１７】
第2の態様によれば、第2の態様の第5の可能な実装方式では、第1の照会応答メッセージを送信するステップは、第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するステップとを含む。
【００１８】
第3の態様によれば、サービス情報を発見する方法が提供され、
サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送する、サービス情報指示メッセージを受信するステップと、
少なくともハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップと
を含む。
【００１９】
第3の態様によれば、第3の態様の第1の可能な実装方式では、サービス情報指示メッセージがハッシュ値指示情報を搬送する方式は、サービス情報指示メッセージがビットテーブルおよびビットテーブルの長さを含むことを含み、ビットテーブルでは、ピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値に対応する位置が1にセットされ、ビットテーブルの長さは、ピアエンドに存在するサービスの量に応じて決定される。
【００２０】
第3の態様または第3の態様の第1の可能な実装方式によれば、第3の態様の第2の可能な実装方式では、ハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップは、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得するステップと、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップとを含む。
【００２１】
第3の態様の第2の可能な実装方式によれば、第3の態様の第3の可能な実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをピアエンドに送信するステップと、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するステップと、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを第1の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するステップとを含む。
【００２２】
第3の態様の第2の可能な実装方式によれば、第3の態様の第4の可能な実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信するステップと、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果指示情報を搬送する、ピアエンドによって送信された第2の照会応答メッセージを受信するステップと、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを第2の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するステップとを含む。
【００２３】
第4の態様によれば、サービス情報を発見する方法が提供され、
ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するステップと、
サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするステップと
を含む。
【００２４】
第4の態様によれば、第4の態様の第1の可能な実装方式では、サービス情報指示メッセージをブロードキャストするステップは、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定するステップと、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストするステップとを含む。
【００２５】
第4の態様または第4の態様の第1の可能な実装方式によれば、第4の態様の第2の可能な実装方式では、サービス情報指示メッセージをブロードキャストするステップの後、方法は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信するステップと、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを、ピアエンドに送信するステップとをさらに含む。
【００２６】
第4の態様または第4の態様の第1の可能な実装方式によれば、第4の態様の第3の可能な実装方式では、サービス情報指示メッセージをブロードキャストするステップの後、方法は、ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するステップと、第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するステップとをさらに含む。
【００２７】
第5の態様によれば、サービス情報発見デバイスが提供され、
発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するように構成された送信ユニットと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成された受信ユニットと、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するように構成された発見処理ユニットと
を含む。
【００２８】
第5の態様によれば、第5の態様の第1の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報であり、
発見処理ユニットは、
存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信するように構成された送信モジュールと、
発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信するように構成された受信モジュールと、
発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在すると判断するように構成された第1の判断モジュールと
を含む。
【００２９】
第5の態様によれば、第5の態様の第2の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによりピアエンドによって取得された第2のハッシュ値であり、
発見処理ユニットは、
発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得するように構成された取得モジュールと、
発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するように構成された第3の判断モジュールと
を含む。
【００３０】
第5の態様の第2の可能な実装方式によれば、第5の態様の第3の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【００３１】
第5の態様によれば、第5の態様の第4の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報であり、
発見処理ユニットは、
発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するように構成された第4の判断モジュール
を含む。
【００３２】
第6の態様によれば、サービス情報供給デバイスが提供され、
第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する第1の照会要求メッセージを受信するように構成された第1の受信ユニットと、
少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信するように構成された第1の送信ユニットと
を含む。
【００３３】
第6の態様によれば、第6の態様の第1の可能な実装方式では、第1の送信ユニットは、
第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成された第1の判定モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第1の判定モジュールが判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成された第1の送信モジュールと
を含む。
【００３４】
第6の態様の第1の可能な実装方式によれば、第6の態様の第2の可能な実装方式では、デバイスは、発見されるべきサービスのサービス識別情報を搬送する、存在指示情報に従ってピアエンドによって送信された第2の照会要求メッセージを受信するように構成された第2の受信ユニットと、
発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するように構成された第2の送信ユニットとをさらに含む。
【００３５】
第6の態様によれば、第6の態様の第3の可能な実装方式では、第1の送信ユニットは、
第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成された第2の判定モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第2の判定モジュールが判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得するように構成された取得モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成された第2の送信モジュールと
を含む。
【００３６】
第6の態様の第3の可能な実装方式によれば、第6の態様の第4の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【００３７】
第6の態様によれば、第6の態様の第5の可能な実装方式では、第1の送信ユニットは、
第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成された第3の判定モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第3の判定モジュールが判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成された第3の送信モジュールと
を含む。
【００３８】
第7の態様によれば、サービス情報発見デバイスが提供され、
サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得された、ハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信するように構成された受信ユニットと、
少なくともハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するように構成された発見処理ユニットと
を含む。
【００３９】
第7の態様によれば、第7の態様の第1の可能な実装方式では、発見処理ユニットは、
ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得するように構成された取得モジュールと、
少なくとも、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するように構成された判定モジュールと
を含む。
【００４０】
第7の態様の第1の可能な実装方式によれば、第7の態様の第2の可能な実装方式では、判定モジュールは、
第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをピアエンドに送信するように構成された第1の送信サブモジュールと、
ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成された第1の受信サブモジュールと、
ローカルエンドによって発見されるべきサービスがピアエンドに存在することを第1の結果通知情報が識別したとき、ローカルエンドによって発見されるべきサービスがピアエンドに存在すると判断するように構成された第1の判断サブモジュールと
を含む。
【００４１】
第7の態様の第1の可能な実装方式によれば、第7の態様の第3の可能な実装方式では、判定モジュールは、
第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信するように構成された第2の送信サブモジュールと、
第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果指示情報を搬送する、ピアエンドによって送信された第2の照会応答メッセージを受信するように構成された第2の受信サブモジュールと、
第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するように構成された第2の判断サブモジュールと
を含む。
【００４２】
第8の態様によれば、サービス情報供給デバイスが提供され、
ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するように構成された取得ユニットと、
サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするように構成されたブロードキャストユニットと
を含む。
【００４３】
第8の態様によれば、第8の態様の第1の可能な実装方式では、ブロードキャストユニットは、
ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定するように構成された決定モジュールと、
ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストするように構成されたセット兼ブロードキャストモジュールと
を含む。
【００４４】
第8の態様または第8の態様の第1の可能な実装方式によれば、第8の態様の第2の可能な実装方式では、デバイスは、
ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信するように構成された第1の受信ユニットと、
少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを、ピアエンドに送信するように構成された第1の送信ユニットと
をさらに含む場合がある。
【００４５】
第8の態様または第8の態様の第1の可能な実装方式によれば、第8の態様の第3の可能な実装方式では、デバイスは、
ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するように構成された第2の受信ユニットと、
第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するように構成された第2の送信ユニットと
をさらに含む場合がある。
【００４６】
上記の技術的解決策では、サービスの完全なサービス識別情報は、サービス発見プロセスで直接使用されないが、サービスのサービス識別情報に従って取得されたハッシュ値は、発見される必要があるサービスまたは提供され得るサービスを識別するために使用される。ハッシュ値の長さはサービスの完全なサービス識別情報の長さよりもはるかに小さいので、照会要求メッセージまたはサービス情報指示メッセージの長さは、サービス発見プロセスで縮小され、それらのメッセージによって占有されるチャネルリソースは低減され、チャネルリソースの利用率を改善する助けになる。
【００４７】
本発明の実施形態における技術的解決策をより明確に記載するために、実施形態を記載するのに必要な添付図面を以下で簡単に紹介する。明らかに、以下の説明における添付図面は本発明のいくつかの実施形態を示し、当業者は、創造的な努力なしに、これらの添付図面から他の図面をさらに導出することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態による、サービス情報を発見する方法のフローチャートである。
【図２】本発明の別の実施形態による、サービス情報を発見する方法のフローチャートである。
【図３】本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。
【図４】本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。
【図５】本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。
【図６】本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。
【図７】本発明の一実施形態による、サービス情報発見デバイスの概略構造図である。
【図８】本発明の別の実施形態による、サービス情報発見デバイスの概略構造図である。
【図９】本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。
【図１０】本発明の一実施形態による、サービス情報供給デバイスの概略構造図である。
【図１１】本発明の別の実施形態による、サービス情報供給デバイスの概略構造図である。
【図１２】本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。
【図１３】本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。
【図１４】本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。
【図１５】本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。
【図１６】本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。
【図１７】本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。
【図１８】本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。
【発明を実施するための形態】
【００４９】
本発明の実施形態の目的、技術的解決策、および利点をより明確にするために、本発明の実施形態における添付図面を参照して本発明の実施形態における技術的解決策を以下で明確に記載する。明らかに、記載される実施形態は、本発明の実施形態のすべてではなく一部である。創造的な努力なしに、本発明の実施形態に基づいて、当業者によって取得されるすべての他の実施形態は、本発明の保護範囲に入るべきである。
【００５０】
既存のWiFiネットワークでは、多くの場合、隣接デバイスが必ずしも必要なサービスを有するとは限らないので、照会要求メッセージが浪費され、さらに、照会要求メッセージは完全なサービス識別情報を搬送し、サービス識別情報は一般的に長く、貴重なチャネルリソースを無駄に占有し、チャネルリソースの浪費およびチャネルリソースの低い利用率をもたらす。代替として、多くの場合、デバイスによって提供されるサービスが必ずしも隣接デバイスによって要求されるとは限らないので、ブロードキャストサービス情報指示メッセージが浪費され、ブロードキャストサービス情報指示メッセージは完全なサービス識別情報を搬送し、サービス識別情報は一般的に長く、貴重なチャネルリソースを無駄に占有し、チャネルリソースの浪費およびチャネルリソースの低い利用率をもたらす。従来技術におけるチャネルリソースの浪費および低い利用率の問題に関して、本発明の以下の実施形態は、様々な解決策を提供する。
【００５１】
図1は、本発明の一実施形態による、サービス情報を発見する方法のフローチャートである。図1に示されたように、この実施形態における方法は以下のステップを含む。
【００５２】
ステップ101:発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信する。
【００５３】
ステップ102:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信する。
【００５４】
ステップ103:少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定する。
【００５５】
この実施形態では、ローカルエンドは、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを自発的に送信し、要求されたサービスを自発的に発見する。本明細書では、ローカルエンドによって発見される必要があるサービスは、発見されるべきサービスと呼ばれる。ローカルエンドはSTAであり得る。ピアエンドは、APまたは別のSTAであり得る。その後再び送信される照会要求メッセージと区別するために、本明細書では、この照会要求メッセージは第1の照会要求メッセージと呼ばれる。
【００５６】
この実施形態では、サービスは、APまたはSTAにより別のSTAに提供される機能または情報を指す。各サービスは、サービス識別情報と呼ばれる、それ自体の一意の識別情報を有し、サービス識別情報はサービスを一意に識別することができる。サービスのサービス識別情報は、主にサービスの名称を含む場合があり、加えて、プロトコル名またはバージョン番号をさらに含む場合があるか、または、特有の情報、たとえば、2プレーヤゲームまたはマルチプレーヤゲームを示す情報、または識別情報(Identity、略してID)を含む場合がある。たとえば、APは、汎用プラグアンドプレイ(Universal Plug and Play、略してUPnP)プロトコルによりWANIPConnectionと命名されたIP接続サービスを提供することができる。別の例では、APを有するプリンタの場合、APは、UPnPプロトコルによりPrintBasicと命名された印字サービスをプリンタが提供することを示す。UPnPプロトコルに加えて、関連するサービスの名称を定義するために使用される、設定不要ネットワーキング(Bonjour)などの他のプロトコルがあり得る。Bonjourは、IPネットワーク上のコンピュータ、デバイス、およびサービスを自動的に発見することができる。別の例では、サービスはゲームを提供する接続であり、サービスの名称はゲームの名称を採用する場合があり、たとえば、ゲームGame1の接続機能を提供するサービスの名称は、Game1と呼ばれる場合がある。
【００５７】
一般に、サービスのサービス識別情報は長い。第1の照会要求メッセージが発見されるべきサービスのサービス識別情報を直接搬送する場合、第1の照会要求メッセージは大きく、その結果、第1の照会要求メッセージは多くのチャネルリソースを占有し、チャネルリソースの浪費をもたらす。この実施形態では、ローカルエンドは、発見されるべきサービスのサービス識別情報に対して第1のハッシュ(hash)演算を実行することによって、第1のハッシュ値を取得する。ハッシュは、ハッシュアルゴリズムを使用して任意の長さの入力を固定長の出力に変換し、ここで出力はハッシュ値であり、変換は圧縮マッピングの一種であり、すなわち、ハッシュ値の長さは、一般に入力の長さよりもはるかに小さい。要するに、ハッシュ演算は任意の長さの入力を固定長の出力に圧縮するための機能である。上記のように、ローカルエンドは、発見されるべきサービスのサービス識別情報を入力として使用し、ハッシュアルゴリズムを使用して入力を固定長の出力、すなわち第1のハッシュ値に変換し、ここで第1のハッシュ値の長さは、発見されるべきサービスのサービス識別情報の長さよりも小さい。見ることができるように、第1の照会要求メッセージ内で完全なサービス識別情報を搬送することと比較して、第1のハッシュ値を搬送することは、チャネルリソースを節約し、チャネルリソースの利用率を改善することができる。
【００５８】
ハッシュ演算結果のビット(すなわち、長さ)はあらかじめ設定される場合があることに、本明細書では留意されたい。様々なハッシュ演算結果の長さによれば、ハッシュ演算は、複数のタイプ、たとえば、16ビットのハッシュ演算、32ビットのハッシュ演算、および128ビットのハッシュ演算に分類することができる。この実施形態では、ローカルエンドおよびピアエンドが同じビットのハッシュ演算を使用することに決定する限り、特定のビットのハッシュ演算には限定されない。
【００５９】
場合によっては、ローカルエンドによって送信される第1の照会要求メッセージは、ブロードキャストモードで送信される場合があり、たとえば、ローカルエンドは、探査要求(probe request)メッセージをブロードキャストし、ピアエンドは、ユニキャストまたはブロードキャストの探査応答(probe response)メッセージを返信する場合があるか、または何も返信しない場合がある。
【００６０】
場合によっては、ローカルエンドによって送信される第1の照会要求メッセージは、ユニキャストモードで送信される場合もあり、たとえば、ローカルエンドは、汎用広告サービス(Generic Advertisement Service、略してGAS)初期要求(GAS initial request)メッセージを送信する場合があり、ピアエンドは、ユニキャストまたはブロードキャストの応答メッセージ、たとえば、GAS初期応答(GAS initial response)メッセージを返信する場合がある。
【００６１】
第1の照会要求メッセージは、GAS initial requestメッセージまたはprobe requestメッセージに限定されない。対応して、第1の照会応答メッセージは、GAS initial responseメッセージまたはprobe responseメッセージのいずれかに限定されない。
【００６２】
ローカルエンドが第1の照会要求メッセージを送信した後、ピアエンドは第1の照会要求メッセージを受信する。ピアエンドによって返信されるコンテンツは、様々な特定の状況に応じて変化する。第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在する場合、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示す応答メッセージを返信することができ、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しない場合、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しないことを示す応答メッセージを返信することができ、この場合、それは、ローカルエンドによって発見されるべきサービスがピアエンドに存在しないことを意味する。これに基づいて、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスが存在するかどうかをピアエンドが判定した後、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを返信する。
【００６３】
ローカルエンドは、ピアエンドによって送信された第1の照会応答メッセージを受信し、第1の照会応答メッセージから第1の結果通知情報を取得し、次いで、少なくとも第1の結果通知情報に従って、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定する。
【００６４】
実際の適用例では、多くのSTAが隣接デバイスに照会要求メッセージを絶え間なく送信し、STAによって発見される必要があるサービスを隣接デバイスが有しているかどうかを見出そうと試みる。しかしながら、多くの場合、隣接デバイスは、STAによって発見される必要があるサービスを有していない場合があり、照会要求メッセージが浪費されるが、この実施形態における照会要求メッセージは、短いハッシュ値を搬送することによって短縮され、それにより、多くの場合浪費される照会要求メッセージが短縮される。結果として、このことは、チャネルリソースの浪費を低減する助けになり、さらに無線リソースの利用率を改善する助けになる。
【００６５】
結論として、この実施形態では、ローカルエンドは、照会要求メッセージを自発的に送信し、ローカルエンドによって発見される必要があるサービスが隣接デバイスに存在するかどうかを見出す。このプロセスでは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することによって、照会要求メッセージの長さが縮小され、このことは、照会要求メッセージによって占有されるチャネルリソースを低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【００６６】
以下の実装方式では、ローカルエンドがサービスを必要とし、サービスのサービス識別情報が「bonjour: printer._ipp._tcp.local」であると仮定する。サービスの識別情報は例にすぎず、bonjourは末尾のサービス名printer._ipp._tcp.localに対応するプロトコルフィールドである。サービス識別情報内の「bonjour」は、ネーミングを区別するために使用されるプロトコルにすぎず、実際の適用例では、このキーワードは搬送されない場合もある。
【００６７】
ローカルエンド自体は、サービスのサービス識別情報に対応するハッシュ値を最初に計算する。計算方法は、サービスのサービス識別情報を入力として使用すること、および、あらかじめ定義された第1のハッシュ機能を使用することによって計算を実行することであり得る。ハッシュ結果のビットは、あらかじめ設定されたビット、たとえば、16ビット、32ビット、および128ビットであり得る。我々は、H16()を使用して16ビットのハッシュ機能を示し、H32()を使用して32ビットのハッシュ機能を示す場合がある。この実装方式では、16ビットのハッシュ演算が使用されると仮定し、ここで16ビットが表現できる最大値は216-1=65535であり、すなわち0〜65535、すなわち合計65536個の値を表現することができる。本明細書では、ローカルエンドは16ビットのハッシュ値を最初に計算する。H16(「bonjour: printer._ipp._tcp.local」)=25568と仮定すると、ここで25568は第1のハッシュ値であり、ローカルエンドは、ピアエンドに送信されるべき第1の照会要求メッセージ内にハッシュ結果25568を追加する。場合によっては、ローカルエンドはさらに、第1の照会要求メッセージ内で、ローカルエンドが計算したハッシュ値のビット数を搬送する、たとえば、本明細書では16ビットのハッシュ演算を示す16を搬送する場合がある。場合によっては、ローカルエンドはさらに、第1の照会要求メッセージ内で、ローカルエンドによって発見される必要があるサービスの量を搬送する場合があり、たとえば、ローカルエンドが1つのサービスを発見する必要がある場合、発見されるべき1つのサービスの情報が搬送される場合がある。たとえば、第1の照会要求メッセージ内で搬送される情報は、発見されるべきサービスのハッシュアルゴリズムが16ビットのアルゴリズムであり、1つのサービスが発見される必要があり、サービスのハッシュ値が25568であることを示す、サービス:16、1、25568を含む場合がある。
【００６８】
第1の照会要求メッセージを受信した後、ピアエンドは、16ビットのハッシュ演算後に取得されたハッシュ値が25568であるサービスをピアエンドが有しているかどうかを最初に判定する。様々な判定結果に従って、ピアエンドによって返信された第1の照会応答メッセージ内で搬送された第1の結果通知情報によって識別された意味も異なり、特定の実装形態も異なる。以下は、例を使用することによって、第1の結果通知情報の実装方式を記載する。
【００６９】
オプションの実装方式では、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスをピアエンド自体が実際に有していることを見出し、したがって、第1の結果通知情報として存在指示情報を使用し、第1の照会応答メッセージを使用することによって、たとえば、第1の照会応答メッセージ内で1を搬送するビットを使用することによって、第1の結果通知情報をローカルエンドに返信することができる。これに基づいて、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報である。したがって、少なくとも第1の結果通知情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、存在指示情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在すると直ちに判断することを含む。
【００７０】
ハッシュ演算の特徴は、同じハッシュ出力が異なる入力から取得される場合があることである。すなわち、ハッシュ値は同じであるが、2つの同じハッシュ値にそれぞれ対応する入力は、異なる場合がある。すなわち、2つの異なるサービスのサービス識別情報に対して同じハッシュ演算が実行された後、2つの異なるサービスのサービス識別情報のハッシュ値は、同じ場合がある。その結果、発見されるべきサービスがピアエンドに存在するかどうかを判定するための条件として使用される、ハッシュ値が同じであるかどうかを比較することだけでは、正しくないサービスが発見される可能性がある。第1の結果通知情報が存在指示情報である場合、正しいサービスを発見するために、少なくとも第1の結果通知情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定する別の実装方式は、以下のステップを含む場合がある。
【００７１】
ステップ1a:存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信する。
【００７２】
ステップ1b:発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信する。
【００７３】
ステップ1c:発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別した場合、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスがピアエンドに存在しないことを第2の結果通知情報が識別した場合、発見されるべきサービスがピアエンドに存在しないと判断する。
【００７４】
この実装方式では、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスがピアエンドに存在することをローカルエンドが知った後、ローカルエンドは、ローカルエンドによって発見される必要があるサービスをピアエンドが有しているかどうかをさらに判定するために、発見されるべきサービスの完全なサービス識別情報、たとえばbonjour: printer._ipp._tcp.localを搬送する第2の照会要求メッセージを使用して、再びピアエンドに照会することができ、このことは、発見される必要があるサービスを発見する確度および成功率を向上させることができる。この実装方式では、少なくとも第1の結果通知情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定することは、第1の結果通知情報および第2の結果通知情報に従って、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを詳細に判定することである。この実施形態ではローカルエンドが2つの照会プロセスを実行する必要があり、少量の第2の照会要求メッセージが存在するが、第1の照会要求メッセージのメッセージ長は縮小されるので、大量の第1の照会要求メッセージによるチャネルリソースの占有率は低減され、このことは、全体として、チャネルリソースの浪費を低減し、チャネルリソースの利用率を改善する助けになることができる。
【００７５】
オプションの実装方式では、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスがピアエンド自体に存在しないことを見出し、したがって、第1の結果通知情報として非存在指示情報を使用し、第1の照会応答メッセージを使用することによって、たとえば、第1の照会応答メッセージ内で0を搬送するビットを使用することによって、第1の結果通知情報をローカルエンドに返信することができる。この場合、少なくとも第1の結果通知情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、非存在指示情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在しないと直ちに判断することを含む。場合によっては、ピアエンドは、非存在情報を搬送する第1の照会応答メッセージを返信することができるか、または第1の照会要求メッセージに応答しない。このようにして、ローカルエンドが指定された受信時間以内に第1の照会応答メッセージを受信しない場合、ローカルエンドは、発見されるべきサービスがピアエンドに存在しないと直ちに判断する。
【００７６】
オプションの実装方式では、第1の照会要求メッセージを受信した後、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスが実際にピアエンド自体に存在することを見出す。したがって、ハッシュ値が25568であるサービスのサービス識別情報を第1の結果通知情報として直接使用し、第1の照会応答メッセージを使用してローカルエンドに第1の結果通知情報を返信することができる。これに基づいて、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報、たとえば、「bonjour: printer._ipp._tcp.local」であり得る。すなわち、第1の照会応答メッセージは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値、たとえば25568であるサービスのサービス識別情報を搬送する。これに基づいて、少なくとも第1の結果通知情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、ローカルエンドにより、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するかどうかを判定することと、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断することと、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断することとを含む。
【００７７】
第1の照会応答メッセージ内で、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を搬送する実装方式は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値である少量のサービスがピアエンドに存在する場合に適用できることに、本明細書では留意されたい。本明細書では、少量はあらかじめ設定された量のしきい値よりも小さいことあり得るし、ここで量のしきい値は、実際の適用状況に従って自由に設定することができる。たとえば、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるただ1つのサービスがピアエンドに存在する場合、このサービスのサービス識別情報は、第1の結果通知情報として第1の照会応答メッセージの中に直接カプセル化され、ローカルエンドに返信される場合がある。
【００７８】
オプションの実装方式では、第1の照会要求メッセージを受信した後、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスがピアエンド自体に存在することをピアエンドが見出した場合、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行して、第2のハッシュ値を取得することができる。本明細書では、第1のハッシュ演算のビット長と第2のハッシュ演算のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。次いで、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスに対応する第2のハッシュ値(たとえば、32ビットのハッシュ値127665)を第1の結果通知情報として使用し、第1の照会応答メッセージを使用してローカルエンドに第1の結果通知情報を返信する。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第1のハッシュ値は16ビットのハッシュ値であり、したがって、第2のハッシュ演算は32ビットのハッシュ演算であり得るし、第2のハッシュ値は32ビットのハッシュ値であるか、または第2のハッシュ演算は128ビットのハッシュ演算であり得るし、第2のハッシュ値は128ビットのハッシュ値である。これに基づいて、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスに対応する第2のハッシュ値であり得る。したがって、少なくとも第1の結果通知情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、以下のステップを含む。
【００７９】
ステップ2a:発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得する。
【００８０】
ステップ2b:発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断する。
【００８１】
詳細には、ピアエンドによって返信された第1の照会応答メッセージは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を搬送する。第1の照会応答メッセージを受信した後、ローカルエンドは、ピアエンドと同じハッシュ演算を使用して、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得し、次いで、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するかどうかを判定し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと直ちに判断し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると直ちに判断し、サービスを使用するように直ちに試みることができる。一般に、異なる入力のハッシュ演算結果が両方とも同じである確率は小さい。したがって、2つのタイプのハッシュ演算結果が同じである場合、それは、2つのサービスが同じサービスであることを示す可能性がある。発見されるべき正しいサービスを発見する確度は、発見されるべきサービスのサービス識別情報に対して2つのタイプのハッシュ演算を実行することによって向上する。
【００８２】
場合によっては、異なる入力のハッシュ演算結果が両方とも同じである確率は小さいが、ローカルエンドが正しくないサービスを発見する確率をさらに低減するために、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとローカルエンドが判断した後、ローカルエンドはさらに、正しくないサービスを発見する確率をさらに低減するために、発見されるべきサービスの完全なサービス識別情報を搬送するメッセージを使用することによって、再びピアエンドに照会することができる。
【００８３】
上記の実施形態または各実装方式に基づいて、オプションの実装方式では、図2に示されたように、この実施形態における方法は、ステップ102の前に以下のステップを含む場合がある。
【００８４】
ステップ1011:あらかじめ設定された受信時間に到達したかどうかを判定し、判定結果がいいえの場合、すなわちあらかじめ設定された受信時間に到達していない場合、ステップ102を実行し、判定結果がはいの場合、ステップ104を実行する。
【００８５】
ステップ104:発見されるべきサービスがピアエンドに存在しないと判断する。
【００８６】
この実装方式では、受信時間を設定することによって、ピアエンドによって返信された第1の照会応答メッセージは受信時間以内に受信され、あらかじめ設定された受信時間が満了した場合、発見されるべきサービスがピアエンドに存在しないことが直ちに判断される。これに基づいて、この実装方式は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスが存在しないとピアエンドが判断した場合、応答を行わないことをサポートし、このことは、第1の照会応答メッセージによって占有されるチャネルリソースをさらに節約し、チャネルリソースの利用率を改善する助けになることができる。
【００８７】
ローカルエンドがピアエンドにサービス情報を照会するとき、ローカルエンドは複数個のサービス情報を同時に照会する場合があることに、本明細書では留意されたい。この場合、ローカルエンドによりピアエンドに送信された第1の照会要求メッセージは、各々のサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送することができ、ピアエンドによって返信された第1の照会応答メッセージにおいて、応答は、各々のサービス識別情報の第1のハッシュ値が存在するかどうかに応じて個別に行うことができ、すべての第1のハッシュ値が存在するか、または第1のハッシュ値が存在しないか、または一部のハッシュ値が存在し、一部のハッシュ値が存在しない可能性がある。ピアエンドによって返信された1つまたは複数の第1の照会応答メッセージ(すなわち、メッセージはローカルエンドによって照会されたサービスごとに個別に返信される場合がある)が存在する場合があり、ピアエンドによって返信された第1の照会応答メッセージ内で搬送された第1の結果通知情報は、第1のハッシュ値が存在するかどうかについての情報であり得るか、または存在する第1のハッシュ値に対応するサービスのサービス識別情報でもあり得るか、または存在する第1のハッシュ値に対応するサービスのサービス識別情報の第2のハッシュ値でもあり得るし、その結果、ローカルエンドは、発見されるべきサービスがピアエンドに存在するかどうかをさらに判定する。詳細については、上記の実施形態の説明を参照することができ、これ以上の説明は本明細書では提供されない。
【００８８】
図3は、本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。図3に示されたように、この実施形態における方法は以下のステップを含む。
【００８９】
ステップ301:第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する第1の照会要求メッセージを受信する。
【００９０】
ステップ302:少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信する。
【００９１】
この実施形態では、ピアエンドはSTAであり得るし、ローカルエンドはSTAまたはAPであり得る。ピアエンドは第1の照会要求メッセージを自発的に送信し、発見されるべきサービスを識別するために、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を第1の照会要求メッセージ内で搬送する。ローカルエンドは、ピアエンドによって送信された第1の照会要求メッセージを受信し、第1の照会要求メッセージから第1のハッシュ値を取得し、次いで、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、第1の照会応答メッセージを使用して、第1の結果通知情報として判定結果をピアエンドに返信する。それによって、第1の結果通知情報を受信した後、ピアエンドは、少なくとも第1の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかを判定する。少なくとも第1の結果通知情報に従ってピアエンドにより、発見されるべきサービスがローカルエンドに存在するかどうかを判定するプロセスについては、図1または図2に示された実施形態における説明を参照することができる。この実施形態における「ピアエンド」が、図1または図2に示された実施形態では「ローカルエンド」であることに相違がある。他の説明は、本明細書では繰り返されない。
【００９２】
オプションの実装方式では、ローカルエンドにより第1の照会応答メッセージを送信する実装方式は、以下のステップを含む。
【００９３】
ステップ3a:第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果がはいの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、ステップ3bを実行し、判定結果がいいえの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと判定された場合、ステップ3cを実行する。
【００９４】
ステップ3b:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【００９５】
ステップ3c:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないことを識別するために使用される非存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【００９６】
この実装方式では、第1の結果通知情報が存在指示情報である場合、図4に示されたように、この実施形態における方法は、ステップ302の後に以下のステップをさらに含む場合がある。
【００９７】
ステップ303:存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信する。
【００９８】
ステップ304:発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信する。
【００９９】
上記のステップ303およびステップ304は、ローカルエンドが、再びピアエンドによって送信され、発見されるべきサービスのサービス識別情報を搬送する照会要求メッセージを受信し、第1の結果通知情報が存在指示情報である場合、発見されるべきサービスがピアエンドに存在するかどうかについての情報を搬送する第2の照会応答メッセージをピアエンドに返信するプロセスを記載する。
【０１００】
上記のプロセスは、本明細書ではこれ以上記載されない。詳細については、図1に示された実施形態における対応する説明を参照することができる。
【０１０１】
オプションの実装方式では、ローカルエンドにより第1の照会応答メッセージを送信する実装方式は、第1のハッシュ値に従ってローカルエンドにより、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定することと、判定結果がはいの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信することとを含む。場合によっては、判定結果がいいえの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと判定された場合、ローカルエンドは、応答を行わない場合があるか、または非存在指示情報を返信する場合があるか、などである。
【０１０２】
オプションの実装方式では、ローカルエンドにより第1の照会応答メッセージを送信する実装方式は、以下のステップを含む。
【０１０３】
ステップ4a:第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果がはいの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、ステップ4bを実行し、判定結果がいいえの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと判定された場合、ローカルエンドは、応答を行わない場合があるか、または非存在指示情報を返信する場合があるか、などである。
【０１０４】
ステップ4b:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得し、ステップ4cを実行する。第1のハッシュ演算のハッシュ値は、第1のハッシュ値のサービスに対応する第2のハッシュ値であり、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによって取得される。
【０１０５】
ステップ4c:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【０１０６】
この実装方式では、ローカルエンドでの第1のハッシュ値に対応するハッシュ演算は第1のハッシュ演算と呼ばれ、第2のハッシュ演算は第1のハッシュ演算とは異なるハッシュ演算である。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ値が16ビットである場合、第2のハッシュ値は、32ビットまたは128ビットのハッシュ値であり得る。詳細には、ローカルエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行し、サービスに対応する第2のハッシュ値を取得し、次いで、第1の結果通知情報としてサービスの第2のハッシュ値を第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【０１０７】
この実施形態によって提供される方法は、図1または図2によって提供された上記の方法に対応し、異なる観点から記載される。この実施形態における各動作に関する詳細については、図1または図2に示された実施形態の説明を参照することができ、本明細書ではこれ以上の説明は提供されない。
【０１０８】
この実施形態では、ローカルエンドはピアエンドと協働し、その結果、ピアエンドは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することができ、このことは、照会要求メッセージの長さを縮小し、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【０１０９】
図5は、本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。図5に示されたように、この実施形態における方法は以下のステップを含む。
【０１１０】
ステップ501:サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信する。
【０１１１】
ステップ502:少なくともハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定する。
【０１１２】
この実施形態では、ピアエンドはAPまたはSTAであり得るし、ローカルエンドはSTAであり得る。ピアエンドは、サービス情報指示メッセージを自発的にブロードキャストし、サービス情報指示メッセージを使用して、ピアエンドによってサポートされるサービスを隣接デバイスに通知する。詳細には、ピアエンドは、従来技術におけるように、サービス情報指示メッセージの中で、ピアエンドによってサポートされる各サービスのサービス識別情報を直接搬送しないが、ピアエンドによってサポートされる各サービスのサービス識別情報に対してハッシュ演算を実行することによって取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送する。ハッシュ演算の特徴から知ることができるように、ハッシュ値の長さは、サービスのサービス識別情報の長さよりも短く、対応して、ハッシュ値を識別するハッシュ値指示情報の長さも、すべてのサービスのサービス識別情報の長さの合計よりも小さい。しかしながら、ピアエンドのサービス情報指示メッセージを受信した後、ローカルエンドは、サービス情報指示メッセージからハッシュ値指示情報を取得し、ハッシュ値指示情報に従って、ピアエンドによってサポートされるサービスを知ることができ、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかをさらに判定することができる。
【０１１３】
オプションの実装方式では、ピアエンドがサービス情報指示メッセージを使用することによってハッシュ値指示情報を搬送する方式は、サービス情報指示メッセージがビットテーブルおよびビットテーブルの長さを含むことを含み、ビットテーブルでは、ピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値に対応する位置が1にセットされ、ビットテーブルの長さは、ピアエンドに存在するサービスの量に応じて決定される。
【０１１４】
この実装方式では、ピアエンドによってブロードキャストされたサービス情報指示メッセージは、ピアエンドによってサポートされるサービスのサービス識別情報を直接搬送しないが、ビットテーブルのみを搬送し、ここでビットテーブル内の各ビットは、ピアエンドに存在するサービスのハッシュ値を識別するために使用される。ビットが1であるとき、それは、ハッシュ値がビットに対応する数であるサービスがピアエンドに存在することを示す。たとえば、ビットテーブル内の第5のビットが1であると仮定すると、それは、ハッシュ値が5であるサービスがピアエンドに存在することを示す。もちろん、ビットが0である場合、それは、ハッシュ値がビットに対応する数であるサービスがピアエンドに存在しないことを示す。たとえば、ビットテーブル内の第3のビットが0であると仮定すると、それは、ハッシュ値が3であるサービスがピアエンドに存在しないことを示す。
【０１１５】
ピアエンドが、それぞれ「UPnP:Printer」および「UPnP:Scanner」である2つのサービスを有していると仮定する。2つのサービスに対して8ビットのハッシュ演算が実行された後、1つのサービスが取得したハッシュ値は2であり、別のサービスが取得したハッシュ値は5である。したがって、ピアエンドは、ピアエンドによってブロードキャストされたサービス情報指示メッセージ内でビットテーブルを搬送し、ビットテーブル内の第2のビットおよび第5のビットは1にセットされる。8ビットのハッシュ演算の結果は0〜255、合計256個の値であることに、本明細書では留意されたい。これに基づいて、ビットテーブルの長さは256ビットのみを必要とし、ビットテーブルの開始ビットは0番目のビットであり得るし、それに続くビットは1番目のビット、2番目のビットなど、255番目のビットまでである。
【０１１６】
上記の例では、ピアエンドによって使用されるビットテーブルの長さは256ビットである。実際の状況では、ビットテーブルの長さは柔軟に変化する場合がある。たとえば、数個のサービスがピアエンドに存在するとき、ビットテーブルは小さい、たとえば64ビットのみ、または128ビットであり得る。もちろん、対応するハッシュ演算のタイプも異なる。たとえば、64ビットのテーブルに対応すると、6ビットのハッシュ演算を使用することができ、演算結果は0〜63、合計64個の値であり、128ビットのテーブルに対応すると、7ビットのハッシュ演算を使用することができ、演算結果は0〜127、合計128個の値である。これに基づいて、ピアエンドは、ブロードキャストサービス情報指示メッセージ内で、何ビットのビットテーブル(すなわち、ビットテーブルの長さ)がピアエンドによって使用されるかを示す必要のみがある。場合によっては、ピアエンドによって使用されるビットテーブルの長さはまた、あらかじめ決定された固定長であり得る。
【０１１７】
この実装方式では、ピアエンドは、サービス情報指示メッセージ内で、ビットテーブルおよびビットテーブルの長さを搬送し、その結果、ビットテーブルの長さは柔軟および可変であり、ピアエンドによってサポートされるサービスの量の変化に適応可能であり、強い柔軟性を有する。加えて、サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって必要とされるサービスを隣接デバイスが時間内に発見することを助け、ビットテーブルの長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがピアエンドに存在しない場合、ピアエンドによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、浪費されるサービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【０１１８】
上記の説明に基づいて、オプションの実装方式では、少なくともハッシュ値指示情報に従ってローカルエンドにより、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得することと、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することとを含む。
【０１１９】
オプションの実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するとローカルエンドが直ちに判断することができ、ローカルエンドがサービスを使用するように直ちに試みることができることを含む。
【０１２０】
オプションの実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在しない場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないとローカルエンドが直ちに判断することができることを含む。
【０１２１】
オプションの実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをローカルエンドがピアエンドに送信することができ、次いでローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信することができ、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを第1の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するとローカルエンドが判断するか、または、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないことを第1の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないとローカルエンドが判断することを含む。この実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、詳細には、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかおよび第1の結果通知情報に応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するがどうかを判定することを指す。
【０１２２】
この実装方式では、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとローカルエンドが判断した後、ローカルエンドは、ローカルエンドによって発見される必要があるサービスがピアエンドに存在する可能性があるとあらかじめ判断することができ、ローカルエンドは、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかをさらに判定するために、ローカルエンドによって必要とされるサービスのサービス識別情報を搬送する照会要求メッセージをピアエンドにさらに送信することができ、このことは、発見される必要があるサービスを発見する確度および成功率を向上させる。次のオプションの実装方式における照会要求メッセージと区別するために、本明細書では、この照会要求メッセージは第1の照会要求メッセージと呼ばれる。
【０１２３】
オプションの実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、ローカルエンドが、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信し、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果指示情報を搬送する、ピアエンドによって送信された第2の照会応答メッセージを受信することができ、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、第2の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断することができるか、または、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在しないことを、第2の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断することができることを含む。この実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、詳細には、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかおよび第2の結果通知情報に応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するがどうかを判定することを指す。
【０１２４】
この実装方式では、第1のハッシュ値を取得するために使用されるハッシュ演算は、第1のハッシュ演算と呼ばれる。第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとローカルエンドが判断した後、ローカルエンドは、ローカルエンドによって発見される必要があるサービスがピアエンドに存在する可能性があるとあらかじめ判断することができる。発見される必要があるサービスを発見する確度を向上させるために、ローカルエンドは、第1のハッシュ演算とは異なる第2のハッシュ演算をさらに使用して、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対してハッシュ演算を実行し、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値を取得し、次いで、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信することができる。それによって、第2の照会要求メッセージを受信した後、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値と等しい存在するサービスを最初に特定し、次いでサービスに対応する第2のハッシュ値を取得し、サービスに対応する第2のハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるかどうかを判定し、次いで第2の結果通知情報として判定結果をローカルエンドに返信し、その結果、ローカルエンドは、第2の結果通知情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することができる。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【０１２５】
場合によっては、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、第2の結果通知情報が識別した場合、第2の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスの中の、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスのサービス識別情報であり得る。
【０１２６】
図6は、本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。図6に示されたように、この実施形態における方法は以下のステップを含む。
【０１２７】
ステップ601:ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得する。
【０１２８】
ステップ602:サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストする。
【０１２９】
オプションの実装方式では、サービス情報指示メッセージをブロードキャストする実装方式は、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定することと、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストすることとを含む。
【０１３０】
オプションの実装方式では、ステップ602の後、方法は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信することと、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージをピアエンドに送信することとをさらに含む。
【０１３１】
オプションの実装方式では、ステップ602の後、方法は、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値と、ピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信することと、第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値と同じであるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信することとをさらに含む。第1のハッシュ値のビット長および第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。この実装方式では、少なくとも第1の結果通知情報に従ってピアエンドにより、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定することは、詳細には、第1の結果通知情報および第2の結果通知情報に従ってピアエンドにより、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定することである。
【０１３２】
この実装方式は、図5に示された実施形態に対応する。この実施形態における「ピアエンド」および「ローカルエンド」が、図5に示された実施形態では、それぞれ「ローカルエンド」および「ピアエンド」に相当することに相違がある。他の説明については、図5の実施形態を参照することができ、これ以上の説明は本明細書では提供されない。
【０１３３】
この実装方式では、ローカルエンドはピアエンドと協働し、サービス情報指示メッセージは、ビットテーブルおよびビットテーブルの長さを搬送し、その結果、ビットテーブルの長さは柔軟および可変であり、ピアエンドによってサポートされるサービスの量の変化に適応可能であり、強い柔軟性を有する。加えて、サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって必要とされるサービスを隣接デバイスが時間内に発見することを助け、ビットテーブルの長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがローカルエンドに存在しない場合、ローカルエンドによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【０１３４】
図7は、本発明の一実施形態による、サービス情報発見デバイスの概略構造図である。図7に示されたように、この実施形態におけるデバイスは、送信ユニット71、受信ユニット72、および発見処理ユニット73を含む。
【０１３５】
送信ユニット71は、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するように構成される。
【０１３６】
受信ユニット72は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。受信ユニット72は送信ユニット71に接続され、送信ユニット71が第1の照会要求メッセージを送信した後、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。
【０１３７】
発見処理ユニット73は受信ユニット72に接続され、少なくとも受信ユニット72によって受信された第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するように構成される。
【０１３８】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報である。
【０１３９】
これに基づいて、図8に示されたように、発見処理ユニット73の実装構造は、送信モジュール731、受信モジュール732、および第1の判断モジュール733を含む。
【０１４０】
送信モジュール731は受信ユニット72に接続され、受信ユニット72によって受信された存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信するように構成される。
【０１４１】
受信モジュール732は、発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信するように構成される。受信モジュール732は送信モジュール731に接続され、送信モジュール731が第2の照会要求メッセージを送信した後、ピアエンドによって返信された第2の照会応答メッセージを受信するように構成される。
【０１４２】
第1の判断モジュール733は受信モジュール732に接続され、発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスがピアエンドに存在しないことを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１４３】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しないことを示すために使用される非存在指示情報である。
【０１４４】
これに基づいて、図8に示されたように、発見処理ユニット73の別の実装構造は、第2の判断モジュール734を含む。第2の判断モジュール734は受信ユニット72に接続され、受信ユニット72によって受信された非存在指示情報に従って、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１４５】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値である。第1のハッシュ演算のハッシュ値は、第1のハッシュ値のサービスに対応する第2のハッシュ値であり、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによって取得される。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【０１４６】
これに基づいて、図8に示されたように、発見処理ユニット73のさらに別の実装構造は、取得モジュール735および第3の判断モジュール736を含む。
【０１４７】
取得モジュール735は、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得するように構成される。
【０１４８】
第3の判断モジュール736は取得モジュール735および受信ユニット72に接続され、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１４９】
場合によっては、第1のハッシュ演算は16ビットのハッシュ演算であり得るし、第2のハッシュ演算は32ビットのハッシュ演算であり得る。
【０１５０】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報である。
【０１５１】
これに基づいて、図8に示されたように、発見処理ユニット73のさらに別の実装構造は、第4の判断モジュール737を含む。第4の判断モジュール737は受信ユニット72に接続され、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１５２】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【０１５３】
この実施形態によって提供されたサービス情報発見デバイスの機能ユニットまたは機能モジュールは、図1または図2に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０１５４】
この実施形態によって提供されたサービス情報発見デバイスは、照会要求メッセージを自発的に送信し、サービス情報発見デバイスによって発見される必要があるサービスが隣接デバイスに存在するかどうかを見出す。このプロセスでは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することによって、照会要求メッセージの長さが縮小され、このことは、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【０１５５】
図9は、本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。図9に示されたように、この実施形態におけるデバイスは、通信インターフェース91、プロセッサ92、およびメモリ93を含む。
【０１５６】
通信インターフェース91は、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するように構成され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。
【０１５７】
メモリ93は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ93は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【０１５８】
プロセッサ92は、少なくとも通信インターフェース91によって受信された第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するために、メモリ93によって記憶されたプログラムを実行するように構成される。プロセッサ92は、1つもしくは複数の中央処理装置(Central Processing Units、略してCPUs)、または特定用途向け集積回路(Application Specific Integrated Circuit、略してASIC)を含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【０１５９】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報である。プロセッサ92は、詳細には、通信インターフェース91を制御して、受信された存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信し、発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信し、次いで、発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在すると判断するか、または、発見されるべきサービスがピアエンドに存在しないことを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１６０】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しないことを示すために使用される非存在指示情報である。プロセッサ92は、詳細には、通信インターフェース91によって受信された非存在指示情報に従って、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１６１】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値である。第1のハッシュ演算のハッシュ値は、第1のハッシュ値のサービスに対応する第2のハッシュ値であり、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによって取得される。これに基づいて、プロセッサ92は、詳細には、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するか、または、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しないとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１６２】
場合によっては、第1のハッシュ演算は16ビットのハッシュ演算であり得るし、第2のハッシュ演算は32ビットのハッシュ演算であり得る。
【０１６３】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報である。これに基づいて、プロセッサ92は、詳細には、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するか、または、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在しないとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【０１６４】
場合によっては、上記の通信インターフェース91、プロセッサ92、およびメモリ93が互いに独立して実装される場合、通信インターフェース91、プロセッサ92、およびメモリ93は、バスを介して互いと相互接続および通信することができる。バスは、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、周辺構成要素相互接続(Peripheral Component Interconnect、PCI)バス、または拡張業界標準アーキテクチャ(Extended Industry Standard Architecture、EISA)バスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、図9ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【０１６５】
上記の通信インターフェース91、プロセッサ92、およびメモリ93が実装用のチップに統合されている場合、通信インターフェース91、プロセッサ92、およびメモリ93は、内部インターフェースを介して互いと通信することができる。
【０１６６】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【０１６７】
この実施形態によって提供されたサービス情報発見デバイスは、図1または図2に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０１６８】
この実施形態によって提供されたサービス情報発見デバイスは、照会要求メッセージを自発的に送信し、サービス情報発見デバイスによって発見される必要があるサービスが隣接デバイスに存在するかどうかを見出す。このプロセスでは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することによって、照会要求メッセージの長さが縮小され、このことは、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【０１６９】
図10は、本発明の一実施形態による、サービス情報供給デバイスの概略構造図である。図10に示されたように、この実施形態におけるデバイスは、第1の受信ユニット1001および第1の送信ユニット1002を含む。
【０１７０】
第1の受信ユニット1001は、第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを受信するように構成される。
【０１７１】
第1の送信ユニット1002は、少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信するように構成される。第1の送信ユニット1002は第1の受信ユニット1001に接続され、詳細には、第1の受信ユニット1001が第1の照会要求メッセージを受信した後、第1の照会要求メッセージに従って、ピアエンドに第1の照会応答メッセージを送信するように構成される。
【０１７２】
オプションの実装方式では、図11に示されたように、第1の送信ユニット1002の実装構造は、第1の判定モジュール10021および第1の送信モジュール10022を含む。
【０１７３】
第1の判定モジュール10021は第1の受信ユニット1001に接続され、第1の受信ユニット1001によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成される。
【０１７４】
第1の送信モジュール10022は第1の判定モジュール10021に接続され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第1の判定モジュール10021が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するか、または、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと第1の判定モジュール10021が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないことを識別するために使用される非存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【０１７５】
上記の説明に基づいて、図11に示されたように、サービス情報供給デバイスは、第2の受信ユニット1003および第2の送信ユニット1004をさらに含む。
【０１７６】
第2の受信ユニット1003は、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するように構成される。第2の受信ユニット1003は、第1の送信モジュール10022に接続される。
【０１７７】
第2の送信ユニット1004は、発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するように構成される。第2の送信ユニット1004は第2の受信ユニット1003に接続され、詳細には、第2の受信ユニット1003が第2の照会要求メッセージを受信した後、ピアエンドに第2の照会応答メッセージを送信するように構成される。
【０１７８】
オプションの実装方式では、図11に示されたように、第1の送信ユニット1002の別の実装構造は、第2の判定モジュール10023、取得モジュール10024、および第2の送信モジュール10025を含む。
【０１７９】
第2の判定モジュール10023は第1の受信ユニット1001に接続され、第1の受信ユニット1001によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成される。
【０１８０】
取得モジュール10024は第2の判定モジュール10023に接続され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第2の判定モジュール10023が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得するように構成される。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【０１８１】
第2の送信モジュール10025は取得モジュール10024に接続され、取得モジュール10024によって取得され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【０１８２】
オプションの実装方式では、図11に示されたように、第1の送信ユニット1002のさらに別の実装構造は、第3の判定モジュール10026および第3の送信モジュール10027を含む。
【０１８３】
第3の判定モジュール10026は第1の受信ユニット1001に接続され、第1の受信ユニット1001によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成される。
【０１８４】
第3の送信モジュール10027は第3の判定モジュール10026に接続され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第3の判定モジュール10026が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【０１８５】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【０１８６】
この実施形態によって提供されたサービス情報供給デバイスの機能ユニットまたは機能モジュールは、図3または図4に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０１８７】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働し、その結果、サービス情報発見デバイスは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することができ、このことは、照会要求メッセージの長さを縮小し、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【０１８８】
図12は、本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。図12に示されたように、この実施形態におけるデバイスは、通信インターフェース1201、メモリ1202、およびプロセッサ1203を含む。
【０１８９】
通信インターフェース1201は、第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを受信し、少なくとも第1の結果通知情報に従って、発見されるべきサービスがローカルエンドにあるかどうかをピアエンドが判別するように、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを送信するように構成される。
【０１９０】
メモリ1202は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ1202は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【０１９１】
プロセッサ1203は、メモリ1202によって記憶されたプログラムを実行するように構成される。プロセッサ1203は、1つもしくは複数のCPU、または特定のASICを含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【０１９２】
オプションの実装方式では、プロセッサ1203は、通信インターフェース1201によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果を通信インターフェース1201に供給するように構成される。通信インターフェース1201は、詳細には、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するとプロセッサ1203が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するか、または、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないとプロセッサ1203が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないことを識別するために使用される非存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【０１９３】
上記の説明に基づいて、通信インターフェース1201は、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信し、発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するようにさらに構成される。
【０１９４】
オプションの実装方式では、プロセッサ1203は、通信インターフェース1201によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定されたとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得し、取得された第2のハッシュ値を通信インターフェース1201に供給するように構成される。通信インターフェース1201は、詳細には、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【０１９５】
場合によっては、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算は16ビットのハッシュ演算であり得るし、第2のハッシュ演算は32ビットのハッシュ演算であり得る。
【０１９６】
オプションの実装方式では、プロセッサ1203は、通信インターフェース1201によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果を通信インターフェース1201に供給するように構成される。通信インターフェース1201は、詳細には、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するとプロセッサ1203が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【０１９７】
場合によっては、上記の通信インターフェース1201、メモリ1202、およびプロセッサ1203が互いに独立して実装される場合、通信インターフェース1201、メモリ1202、およびプロセッサ1203は、バスを介して互いと相互接続および通信することができる。バスは、ISAバス、PCIバス、またはEISAバスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、図12ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【０１９８】
上記の通信インターフェース1201、メモリ1202、およびプロセッサ1203が実装用のチップに統合されている場合、通信インターフェース1201、メモリ1202、およびプロセッサ1203は、内部インターフェースを介して互いと通信することができる。
【０１９９】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【０２００】
この実施形態によって提供されたサービス情報供給デバイスは、図3または図4に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０２０１】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働し、その結果、サービス情報発見デバイスは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することができ、このことは、照会要求メッセージの長さを縮小し、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【０２０２】
図13は、本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。図13に示されたように、この実施形態におけるデバイスは、受信ユニット1301および発見処理ユニット1302を含む。
【０２０３】
受信ユニット1301は、サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信するように構成される。
【０２０４】
発見処理ユニット1302は受信ユニット1301に接続され、少なくとも受信ユニット1301によって受信されたハッシュ値指示情報に従って、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定するように構成される。ローカルエンドは、この実施形態におけるサービス情報発見デバイスである。
【０２０５】
オプションの実装方式では、図14に示されたように、発見処理ユニット1302の実装構造は、取得モジュール13021および判定モジュール13022を含む。
【０２０６】
取得モジュール13021は、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得するように構成される。
【０２０７】
判定モジュール13022は取得モジュール13021および受信ユニット1301に接続され、少なくとも、取得モジュール13021によって取得された第1のハッシュ値が、受信ユニット1301によって受信されたハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するように構成される。
【０２０８】
上記の説明に基づいて、図14に示されたように、判定モジュール13022の実装構造は、第1の送信サブモジュール13024、第1の受信サブモジュール13025、および第1の判断サブモジュール13026を含む。
【０２０９】
第1の送信サブモジュール13024は取得モジュール13021および受信ユニット1301に接続され、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをピアエンドに送信するように構成される。
【０２１０】
第1の受信サブモジュール13025は、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。第1の受信サブモジュール13025は第1の送信サブモジュール13024に接続され、第1の送信サブモジュール13024が第1の照会要求メッセージを送信した後、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。
【０２１１】
第1の判断サブモジュール13026は第1の受信サブモジュール13025に接続され、第1の受信サブモジュール13025によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するか、または、第1の受信サブモジュール13025によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないことを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断するように構成される。
【０２１２】
上記の説明に基づいて、図14に示されたように、判定モジュール13022の別の実装構造は、第2の送信サブモジュール13027、第2の受信サブモジュール13028、および第2の判断サブモジュール13029を含む。
【０２１３】
第2の送信サブモジュール13027は取得モジュール13021および受信ユニット1301に接続され、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信するように構成される。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【０２１４】
第2の受信サブモジュール13028は、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果指示情報を搬送する、ピアエンドによって送信された第2の照会応答メッセージを受信するように構成される。第2の受信サブモジュール13028は第2の送信サブモジュール13027に接続され、第2の送信サブモジュール13027が第2の照会要求メッセージを送信した後、ピアエンドによって送信された第2の照会応答メッセージを受信するように構成される。
【０２１５】
第2の判断サブモジュール13029は第2の受信サブモジュール13028に接続され、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、第2の受信サブモジュール13028によって受信された第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するか、または、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在しないことを、第2の受信サブモジュール13028によって受信された第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断するように構成される。
【０２１６】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【０２１７】
この実施形態によって提供されたサービス情報発見デバイスの機能ユニットまたは機能モジュールは、図5に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０２１８】
この実施形態によって提供されたサービス情報発見デバイスは、ピアエンドによって自発的にブロードキャストされたサービス情報指示メッセージを受信し、サービス情報指示メッセージ内のハッシュ値指示情報に従って、サービス情報発見デバイスによって発見される必要があるサービスをピアエンドが有しているかどうかをさらに発見する。ハッシュ値指示情報の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。
【０２１９】
図15は、本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。図15に示されたように、この実施形態におけるデバイスは、通信インターフェース1501、プロセッサ1502、およびメモリ1503を含む。
【０２２０】
通信インターフェース1501は、サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信するように構成される。
【０２２１】
メモリ1503は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ1503は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【０２２２】
プロセッサ1502は、通信インターフェース1501によって受信されたハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するために、メモリ1503によって記憶されたプログラムを実行するように構成される。ローカルエンドは、この実施形態におけるサービス情報発見デバイスである。プロセッサ1502は、1つもしくは複数のCPU、または特定のASICを含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【０２２３】
オプションの実装方式では、プロセッサ1502は、詳細には、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得し、少なくとも、第1のハッシュ値が通信インターフェース1501によって受信されたハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないかどうかを判定するように構成される。
【０２２４】
上記の説明に基づいて、プロセッサ1502は、詳細には、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、通信インターフェース1501を制御して、第1の照会要求メッセージをピアエンドに送信し、ピアエンドによって送信された第1の照会応答メッセージを受信し、通信インターフェース1501によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するか、または、通信インターフェース1501によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないことを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断するように構成される。第1の照会要求メッセージは、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送し、第1の照会応答メッセージは、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する。対応して、通信インターフェース1501は、プロセッサ1502の制御下で、第1の照会要求メッセージをピアエンドに送信し、ピアエンドによって送信された第1の照会応答メッセージを受信するようにさらに構成される。
【０２２５】
代替として、プロセッサ1502は、詳細には、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、通信インターフェース1501を制御して、第2の照会要求メッセージをピアエンドに送信し、ピアエンドによって送信された第2の照会応答メッセージを受信し、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、通信インターフェース1501によって受信された第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するか、または、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在しないことを、通信インターフェース1501によって受信された第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断するように構成される。第2の照会要求メッセージは、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得された、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送し、第2の照会応答メッセージは、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する。対応して、通信インターフェース1501は、プロセッサ1502の制御下で、第2の照会要求メッセージをピアエンドに送信し、ピアエンドによって送信された第2の照会応答メッセージを受信するようにさらに構成される。
【０２２６】
場合によっては、上記の通信インターフェース1501、メモリ1503、およびプロセッサ1502が互いに独立して実装される場合、通信インターフェース1501、メモリ1503、およびプロセッサ1502は、バスを介して互いと相互接続および通信することができる。バスは、ISAバス、PCIバス、またはEISAバスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、図15ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【０２２７】
上記の通信インターフェース1501、メモリ1503、およびプロセッサ1502が実装用のチップに統合されている場合、通信インターフェース1501、メモリ1503、およびプロセッサ1502は、内部インターフェースを介して互いと通信することができる。
【０２２８】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【０２２９】
この実施形態によって提供されたサービス情報発見デバイスは、図5に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０２３０】
この実施形態によって提供されたサービス情報発見デバイスは、ピアエンドによって自発的にブロードキャストされたサービス情報指示メッセージを受信し、サービス情報指示メッセージ内のハッシュ値指示情報に従って、サービス情報発見デバイスによって発見される必要があるサービスをピアエンドが有しているかどうかをさらに発見する。ハッシュ値指示情報の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。
【０２３１】
図16は、本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。図16に示されたように、この実施形態におけるデバイスは、取得ユニット1601およびブロードキャストユニット1602を含む。
【０２３２】
取得ユニット1601は、ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するように構成される。
【０２３３】
ブロードキャストユニット1602は取得ユニット1601に接続され、サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするように構成される。
【０２３４】
オプションの実装方式では、図17に示されたように、ブロードキャストユニット1602の実装構造は、決定モジュール16021およびセット兼ブロードキャストモジュール16022を含む。
【０２３５】
決定モジュール16021は、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定するように構成される。
【０２３６】
セット兼ブロードキャストモジュール16022は決定モジュール16021に接続され、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストするように構成される。
【０２３７】
オプションの実装方式では、図17に示されたように、サービス情報供給デバイスは、第1の受信ユニット1603および第1の送信ユニット1604をさらに含む。
【０２３８】
第1の受信ユニット1603は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信するように構成される。第1の受信ユニット1603は、セット兼ブロードキャストモジュール16022に接続される場合がある。
【０２３９】
第1の送信ユニット1604は第1の受信ユニット1603に接続され、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、第1の照会応答メッセージをピアエンドに送信するように構成される。
【０２４０】
オプションの実装方式では、図17に示されたように、サービス情報供給デバイスは、第2の受信ユニット1605および第2の送信ユニット1606をさらに含む。
【０２４１】
第2の受信ユニット1605は、ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するように構成される。第2の受信ユニット1605は、セット兼ブロードキャストモジュール16022に接続される場合がある。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【０２４２】
第2の送信ユニット1606は第2の受信ユニット1605に接続され、第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するように構成される。
【０２４３】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【０２４４】
この実施形態によって提供されたサービス情報供給デバイスの機能ユニットまたは機能モジュールは、図6に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０２４５】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働する。サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって発見される必要があるサービスを隣接デバイスが時間内に発見することを助け、サービス情報指示メッセージ内のハッシュ値指示情報の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがサービス情報供給デバイスに存在しない場合、サービス情報供給デバイスによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、浪費されるサービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【０２４６】
図18は、本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。図18に示されたように、この実施形態におけるデバイスは、通信インターフェース1801、プロセッサ1802、およびメモリ1803を含む。
【０２４７】
メモリ1803は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ1803は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【０２４８】
プロセッサ1802は、メモリ1803によって記憶されたプロフラムを実行して、ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するように構成される。プロセッサ1802は、1つもしくは複数のCPU、または特定のASICを含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【０２４９】
通信インターフェース1801は、サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするように構成される。
【０２５０】
オプションの実装方式では、プロセッサ1802は、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定し、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、サービス情報指示メッセージを生成し、サービス情報指示メッセージを通信インターフェース1801に供給するようにさらに構成される。通信インターフェース1801は、詳細には、プロセッサ1802によって生成されたサービス情報指示メッセージをブロードキャストするように構成される。
【０２５１】
オプションの実装方式では、通信インターフェース1801は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信し、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージをピアエンドに送信するようにさらに構成される。
【０２５２】
オプションの実装方式では、通信インターフェース1801は、ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信し、第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するようにさらに構成される。
【０２５３】
場合によっては、上記の通信インターフェース1801、プロセッサ1802、およびメモリ1803が互いに独立して実装される場合、通信インターフェース1801、プロセッサ1802、およびメモリ1803は、バスを介して互いと相互接続および通信することができる。バスは、ISAバス、PCIバス、またはEISAバスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、図18ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【０２５４】
上記の通信インターフェース1801、プロセッサ1802、およびメモリ1803が実装用のチップに統合されている場合、通信インターフェース1801、プロセッサ1802、およびメモリ1803は、内部インターフェースを介して互いと通信することができる。
【０２５５】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【０２５６】
この実施形態によって提供されたサービス情報供給デバイスの機能ユニットまたは機能モジュールは、図6に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【０２５７】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働する。サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって発見される必要があるサービスを隣接デバイスが時間内に発見することを助け、サービス情報指示メッセージ内のハッシュ値指示情報の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがサービス情報供給デバイスに存在しない場合、サービス情報供給デバイスによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、浪費されるサービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【０２５８】
方法実施形態のステップのうちの全部または一部は、プログラム命令関連ハードウェアによって実装できることを、当業者は理解することができる。プログラムはコンピュータ可読記憶媒体に記憶される場合がある。プログラムが動作するとき、方法実施形態のステップが実行される。上記の記憶媒体には、ROM、RAM、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体が含まれる。
【０２５９】
最後に、上記の実施形態は、本発明の技術的解決策を記載することを対象とするにすぎず、本発明を限定するためではないことに留意されたい。本発明は上記の実施形態を参照して詳細に記載されているが、当業者は、本発明の実施形態の技術的解決策の範囲から逸脱することなく、上記の実施形態に記載された技術的解決策に対してさらに修正を行うか、またはそれらの技術的特徴のいくつかまたはすべてに対して同等な置換えを行うことができることを理解されたい。
【符号の説明】
【０２６０】
71  送信ユニット
72  受信ユニット
73  発見処理ユニット
731  送信モジュール
732  受信モジュール
733  第1の判断モジュール
734  第2の判断モジュール
735  取得モジュール
736  第3の判断モジュール
737  第4の判断モジュール
91  通信インターフェース
92  プロセッサ
93  メモリ
1001  第1の受信ユニット
1002  第1の送信ユニット
10021  第1の判定モジュール
10022  第1の送信モジュール
10023  第2の判定モジュール
10024  取得モジュール
10025  第2の送信モジュール
10026  第3の判定モジュール
10027  第3の送信モジュール
1003  第2の受信ユニット
1004  第2の送信ユニット
1201  通信インターフェース
1202  メモリ
1203  プロセッサ
1301  受信ユニット
1302  発見処理ユニット
13021  取得モジュール
13022  判定モジュール
13024  第1の送信サブモジュール
13025  第1の受信サブモジュール
13026  第1の判断サブモジュール
13027  第2の送信サブモジュール
13028  第2の受信サブモジュール
13029  第2の判断サブモジュール
1501  通信インターフェース
1502  プロセッサ
1503  メモリ
1601  取得ユニット
1602  ブロードキャストユニット
16021  決定モジュール
16022  セット兼ブロードキャストモジュール
1603  第1の受信ユニット
1604  第1の送信ユニット
1605  第2の受信ユニット
1606  第2の送信ユニット
1801  通信インターフェース
1802  プロセッサ
1803  メモリ
【図１】
0006014761.tif 000002
【図２】
0006014761.tif 000003
【図３】
0006014761.tif 000004
【図４】
0006014761.tif 000005
【図５】
0006014761.tif 000006
【図６】
0006014761.tif 000007
【図７】
0006014761.tif 000008
【図８】
0006014761.tif 000009
【図９】
0006014761.tif 000010
【図１０】
0006014761.tif 000011
【図１１】
0006014761.tif 000012
【図１２】
0006014761.tif 000013
【図１３】
0006014761.tif 000014
【図１４】
0006014761.tif 000015
【図１５】
0006014761.tif 000016
【図１６】
0006014761.tif 000017
【図１７】
0006014761.tif 000018
【図１８】
0006014761.tif 000019