(58)【調査した分野】(Int.Cl.,DB名)
発見されるべきサービスのサービス識別情報に対して第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のハッシュ演算を実行することによって取得される、前記ローカルエンドに存在する前記サービスに対応するハッシュ値を取得するステップと、
サービス情報指示メッセージを受信するピアエンドが、少なくとも、前記ローカルエンドに存在する前記サービスに対応する前記ハッシュ値を識別するために使用されるハッシュ値指示情報に従って、前記ピアエンドによって発見される必要があるサービスが前記ローカルエンドに存在するかどうかを判定するように、前記ハッシュ値指示情報を搬送する前記サービス情報指示メッセージをブロードキャストするステップと
を含み、
サービス情報指示メッセージをブロードキャストする前記ステップの後、
前記ピアエンドによって発見される必要がある前記サービスのサービス識別情報を搬送する、前記ピアエンドによって送信された第1の照会要求メッセージを受信するステップであって、前記ピアエンドによって発見される必要がある前記サービスに対応する第1のハッシュ値が前記ハッシュ値指示情報によって識別された前記ハッシュ値の中に存在するとき、前記ピアエンドにより前記第1の照会要求メッセージが前記ローカルエンドに送信され、前記第1のハッシュ値が、発見される必要がある前記サービスの前記サービス識別情報に対して前記第1のハッシュ演算を実行することにより前記ピアエンドよって取得される、ステップと、
少なくとも第1の結果通知情報に従って、前記ピアエンドによって発見される必要がある前記サービスが前記ローカルエンドに存在するかどうかを前記ピアエンドが判定するように、前記ピアエンドによって発見される必要がある前記サービスの前記サービス識別情報に従って、前記ピアエンドによって発見される必要がある前記サービスが前記ローカルエンドに存在するかどうかを識別するために使用される前記第1の結果通知情報を搬送する第1の照会応答メッセージを前記ピアエンドに送信するステップと
をさらに含む、
サービス情報を発見する方法。
発見されるべきサービスのサービス識別情報に対して第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の送信ユニットと
をさらに備える、
サービス情報供給デバイス。
【発明の概要】
【課題を解決するための手段】
【0006】
本発明の実施形態は、サービス発見中のチャネルリソースの利用率を改善するために使用される、サービス情報を発見する方法およびデバイスを提供する。
【0007】
第1の態様によれば、サービス情報を発見する方法が提供され、
発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するステップと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するステップと、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップと
を含む。
【0008】
第1の態様によれば、第1の態様の第1の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報であり、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップは、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信するステップと、発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信するステップと、発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別した場合、発見されるべきサービスがピアエンドに存在すると判断するステップとを含む。
【0009】
第1の態様によれば、第1の態様の第2の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによりピアエンドによって取得された第2のハッシュ値であり、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップは、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得するステップと、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断するステップとを含む。
【0010】
第1の態様の第2の可能な実装方式によれば、第1の態様の第3の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【0011】
第1の態様によれば、第1の態様の第4の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報であり、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するステップは、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断するステップを含む。
【0012】
第2の態様によれば、サービス情報を発見する方法が提供され、
第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する第1の照会要求メッセージを受信するステップと、
少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信するステップと
を含む。
【0013】
第2の態様によれば、第2の態様の第1の可能な実装方式では、第1の照会応答メッセージを送信するステップは、第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するステップとを含む。
【0014】
第2の態様の第1の可能な実装方式によれば、第2の態様の第2の可能な実装方式では、方法は、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するステップと、発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するステップとをさらに含む。
【0015】
第2の態様によれば、第2の態様の第3の可能な実装方式では、第1の照会応答メッセージを送信するステップは、第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するステップとを含む。
【0016】
第2の態様の第3の可能な実装方式によれば、第2の態様の第4の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【0017】
第2の態様によれば、第2の態様の第5の可能な実装方式では、第1の照会応答メッセージを送信するステップは、第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するステップと、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するステップとを含む。
【0018】
第3の態様によれば、サービス情報を発見する方法が提供され、
サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送する、サービス情報指示メッセージを受信するステップと、
少なくともハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップと
を含む。
【0019】
第3の態様によれば、第3の態様の第1の可能な実装方式では、サービス情報指示メッセージがハッシュ値指示情報を搬送する方式は、サービス情報指示メッセージがビットテーブルおよびビットテーブルの長さを含むことを含み、ビットテーブルでは、ピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値に対応する位置が1にセットされ、ビットテーブルの長さは、ピアエンドに存在するサービスの量に応じて決定される。
【0020】
第3の態様または第3の態様の第1の可能な実装方式によれば、第3の態様の第2の可能な実装方式では、ハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップは、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得するステップと、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップとを含む。
【0021】
第3の態様の第2の可能な実装方式によれば、第3の態様の第3の可能な実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをピアエンドに送信するステップと、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するステップと、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを第1の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するステップとを含む。
【0022】
第3の態様の第2の可能な実装方式によれば、第3の態様の第4の可能な実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するステップは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信するステップと、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果指示情報を搬送する、ピアエンドによって送信された第2の照会応答メッセージを受信するステップと、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを第2の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するステップとを含む。
【0023】
第4の態様によれば、サービス情報を発見する方法が提供され、
ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するステップと、
サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするステップと
を含む。
【0024】
第4の態様によれば、第4の態様の第1の可能な実装方式では、サービス情報指示メッセージをブロードキャストするステップは、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定するステップと、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストするステップとを含む。
【0025】
第4の態様または第4の態様の第1の可能な実装方式によれば、第4の態様の第2の可能な実装方式では、サービス情報指示メッセージをブロードキャストするステップの後、方法は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信するステップと、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを、ピアエンドに送信するステップとをさらに含む。
【0026】
第4の態様または第4の態様の第1の可能な実装方式によれば、第4の態様の第3の可能な実装方式では、サービス情報指示メッセージをブロードキャストするステップの後、方法は、ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するステップと、第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するステップとをさらに含む。
【0027】
第5の態様によれば、サービス情報発見デバイスが提供され、
発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するように構成された送信ユニットと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成された受信ユニットと、
少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するように構成された発見処理ユニットと
を含む。
【0028】
第5の態様によれば、第5の態様の第1の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報であり、
発見処理ユニットは、
存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信するように構成された送信モジュールと、
発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信するように構成された受信モジュールと、
発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在すると判断するように構成された第1の判断モジュールと
を含む。
【0029】
第5の態様によれば、第5の態様の第2の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによりピアエンドによって取得された第2のハッシュ値であり、
発見処理ユニットは、
発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得するように構成された取得モジュールと、
発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するように構成された第3の判断モジュールと
を含む。
【0030】
第5の態様の第2の可能な実装方式によれば、第5の態様の第3の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【0031】
第5の態様によれば、第5の態様の第4の可能な実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報であり、
発見処理ユニットは、
発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するように構成された第4の判断モジュール
を含む。
【0032】
第6の態様によれば、サービス情報供給デバイスが提供され、
第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する第1の照会要求メッセージを受信するように構成された第1の受信ユニットと、
少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信するように構成された第1の送信ユニットと
を含む。
【0033】
第6の態様によれば、第6の態様の第1の可能な実装方式では、第1の送信ユニットは、
第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成された第1の判定モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第1の判定モジュールが判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成された第1の送信モジュールと
を含む。
【0034】
第6の態様の第1の可能な実装方式によれば、第6の態様の第2の可能な実装方式では、デバイスは、発見されるべきサービスのサービス識別情報を搬送する、存在指示情報に従ってピアエンドによって送信された第2の照会要求メッセージを受信するように構成された第2の受信ユニットと、
発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するように構成された第2の送信ユニットとをさらに含む。
【0035】
第6の態様によれば、第6の態様の第3の可能な実装方式では、第1の送信ユニットは、
第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成された第2の判定モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第2の判定モジュールが判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得するように構成された取得モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成された第2の送信モジュールと
を含む。
【0036】
第6の態様の第3の可能な実装方式によれば、第6の態様の第4の可能な実装方式では、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい。
【0037】
第6の態様によれば、第6の態様の第5の可能な実装方式では、第1の送信ユニットは、
第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成された第3の判定モジュールと、
第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第3の判定モジュールが判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成された第3の送信モジュールと
を含む。
【0038】
第7の態様によれば、サービス情報発見デバイスが提供され、
サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得された、ハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信するように構成された受信ユニットと、
少なくともハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するように構成された発見処理ユニットと
を含む。
【0039】
第7の態様によれば、第7の態様の第1の可能な実装方式では、発見処理ユニットは、
ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得するように構成された取得モジュールと、
少なくとも、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するように構成された判定モジュールと
を含む。
【0040】
第7の態様の第1の可能な実装方式によれば、第7の態様の第2の可能な実装方式では、判定モジュールは、
第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをピアエンドに送信するように構成された第1の送信サブモジュールと、
ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成された第1の受信サブモジュールと、
ローカルエンドによって発見されるべきサービスがピアエンドに存在することを第1の結果通知情報が識別したとき、ローカルエンドによって発見されるべきサービスがピアエンドに存在すると判断するように構成された第1の判断サブモジュールと
を含む。
【0041】
第7の態様の第1の可能な実装方式によれば、第7の態様の第3の可能な実装方式では、判定モジュールは、
第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信するように構成された第2の送信サブモジュールと、
第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果指示情報を搬送する、ピアエンドによって送信された第2の照会応答メッセージを受信するように構成された第2の受信サブモジュールと、
第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するように構成された第2の判断サブモジュールと
を含む。
【0042】
第8の態様によれば、サービス情報供給デバイスが提供され、
ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するように構成された取得ユニットと、
サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするように構成されたブロードキャストユニットと
を含む。
【0043】
第8の態様によれば、第8の態様の第1の可能な実装方式では、ブロードキャストユニットは、
ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定するように構成された決定モジュールと、
ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストするように構成されたセット兼ブロードキャストモジュールと
を含む。
【0044】
第8の態様または第8の態様の第1の可能な実装方式によれば、第8の態様の第2の可能な実装方式では、デバイスは、
ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信するように構成された第1の受信ユニットと、
少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを、ピアエンドに送信するように構成された第1の送信ユニットと
をさらに含む場合がある。
【0045】
第8の態様または第8の態様の第1の可能な実装方式によれば、第8の態様の第3の可能な実装方式では、デバイスは、
ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するように構成された第2の受信ユニットと、
第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するように構成された第2の送信ユニットと
をさらに含む場合がある。
【0046】
上記の技術的解決策では、サービスの完全なサービス識別情報は、サービス発見プロセスで直接使用されないが、サービスのサービス識別情報に従って取得されたハッシュ値は、発見される必要があるサービスまたは提供され得るサービスを識別するために使用される。ハッシュ値の長さはサービスの完全なサービス識別情報の長さよりもはるかに小さいので、照会要求メッセージまたはサービス情報指示メッセージの長さは、サービス発見プロセスで縮小され、それらのメッセージによって占有されるチャネルリソースは低減され、チャネルリソースの利用率を改善する助けになる。
【0047】
本発明の
実施形態における技術的解決策をより明確に記載するために、
実施形態を記載するのに必要な添付図面を以下で簡単に紹介する。明らかに、以下の説明における添付図面は本発明のいくつかの実施形態を示し、当業者は、創造的な努力なしに、これらの添付図面から他の図面をさらに導出することができる。
【発明を実施するための形態】
【0049】
本発明の実施形態の目的、技術的解決策、および利点をより明確にするために、本発明の実施形態における添付図面を参照して本発明の実施形態における技術的解決策を以下で
明確に記載する。明らかに、記載される実施形態は、本発明の実施形態のすべてではなく一部である。創造的な努力なしに、本発明の実施形態に基づいて、当業者によって取得されるすべての他の実施形態は、本発明の保護範囲に入るべきである。
【0050】
既存のWiFiネットワークでは、多くの場合、隣接デバイスが必ずしも必要なサービスを有するとは限らないので、照会要求メッセージが浪費され、さらに、照会要求メッセージは完全なサービス識別情報を搬送し、サービス識別情報は一般的に長く、貴重なチャネルリソースを無駄に占有し、チャネルリソースの浪費およびチャネルリソースの低い利用率をもたらす。代替として、多くの場合、デバイスによって提供されるサービスが必ずしも隣接デバイスによって要求されるとは限らないので、ブロードキャストサービス情報指示メッセージが浪費され、ブロードキャストサービス情報指示メッセージは完全なサービス識別情報を搬送し、サービス識別情報は一般的に長く、貴重なチャネルリソースを無駄に占有し、チャネルリソースの浪費およびチャネルリソースの低い利用率をもたらす。従来技術におけるチャネルリソースの浪費および低い利用率の問題に関して、本発明の以下の実施形態は、様々な解決策を提供する。
【0051】
図1は、本発明の一実施形態による、サービス情報を発見する方法のフローチャートである。
図1に示されたように、この実施形態における方法は以下のステップを含む。
【0052】
ステップ101:発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信する。
【0053】
ステップ102:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信する。
【0054】
ステップ103:少なくとも第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定する。
【0055】
この実施形態では、ローカルエンドは、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを自発的に送信し、要求されたサービスを自発的に発見する。本明細書では、ローカルエンドによって発見される必要があるサービスは、発見されるべきサービスと呼ばれる。ローカルエンドはSTAであり得る。ピアエンドは、APまたは別のSTAであり得る。その後再び送信される照会要求メッセージと区別するために、本明細書では、この照会要求メッセージは第1の照会要求メッセージと呼ばれる。
【0056】
この実施形態では、サービスは、APまたはSTAにより別のSTAに提供される機能または情報を指す。各サービスは、サービス識別情報と呼ばれる、それ自体の一意の識別情報を有し、サービス識別情報はサービスを一意に識別することができる。サービスのサービス識別情報は、主にサービスの名称を含む場合があり、加えて、プロトコル名またはバージョン番号をさらに含む場合があるか、または、特有の情報、たとえば、2プレーヤゲームまたはマルチプレーヤゲームを示す情報、または識別情報(Identity、略してID)を含む場合がある。たとえば、APは、汎用プラグアンドプレイ(Universal Plug and Play、略してUPnP)プロトコルによりWANIPConnectionと命名されたIP接続サービスを提供することができる。別の例では、APを有するプリンタの場合、APは、UPnPプロトコルによりPrintBasicと命名された印字サービスをプリンタが提供することを示す。UPnPプロトコルに加えて、関連するサービスの名称を定義するために使用される、設定不要ネットワーキング(Bonjour)などの他のプロトコルがあり得る。Bonjourは、IPネットワーク上のコンピュータ、デバイス、およびサービスを自動的に発見することができる。別の例では、サービスはゲームを提供する接続であり、サービスの名称はゲームの名称を採用する場合があり、たとえば、ゲームGame1の接続機能を提供するサービスの名称は、Game1と呼ばれる場合がある。
【0057】
一般に、サービスのサービス識別情報は長い。第1の照会要求メッセージが発見されるべきサービスのサービス識別情報を直接搬送する場合、第1の照会要求メッセージは大きく、その結果、第1の照会要求メッセージは多くのチャネルリソースを占有し、チャネルリソースの浪費をもたらす。この実施形態では、ローカルエンドは、発見されるべきサービスのサービス識別情報に対して第1のハッシュ(hash)演算を実行することによって、第1のハッシュ値を取得する。ハッシュは、ハッシュアルゴリズムを使用して任意の長さの入力を固定長の出力に変換し、ここで出力はハッシュ値であり、変換は圧縮マッピングの一種であり、すなわち、ハッシュ値の長さは、一般に入力の長さよりもはるかに小さい。要するに、ハッシュ演算は任意の長さの入力を固定長の出力に圧縮するための機能である。上記のように、ローカルエンドは、発見されるべきサービスのサービス識別情報を入力として使用し、ハッシュアルゴリズムを使用して入力を固定長の出力、すなわち第1のハッシュ値に変換し、ここで第1のハッシュ値の長さは、発見されるべきサービスのサービス識別情報の長さよりも小さい。見ることができるように、第1の照会要求メッセージ内で完全なサービス識別情報を搬送することと比較して、第1のハッシュ値を搬送することは、チャネルリソースを節約し、チャネルリソースの利用率を改善することができる。
【0058】
ハッシュ演算結果のビット(すなわち、長さ)はあらかじめ設定される場合があることに、本明細書では留意されたい。様々なハッシュ演算結果の長さによれば、ハッシュ演算は、複数のタイプ、たとえば、16ビットのハッシュ演算、32ビットのハッシュ演算、および128ビットのハッシュ演算に分類することができる。この実施形態では、ローカルエンドおよびピアエンドが同じビットのハッシュ演算を使用することに決定する限り、特定のビットのハッシュ演算には限定されない。
【0059】
場合によっては、ローカルエンドによって送信される第1の照会要求メッセージは、ブロードキャストモードで送信される場合があり、たとえば、ローカルエンドは、探査要求(probe request)メッセージをブロードキャストし、ピアエンドは、ユニキャストまたはブロードキャストの探査応答(probe response)メッセージを返信する場合があるか、または何も返信しない場合がある。
【0060】
場合によっては、ローカルエンドによって送信される第1の照会要求メッセージは、ユニキャストモードで送信される場合もあり、たとえば、ローカルエンドは、汎用広告サービス(Generic Advertisement Service、略してGAS)初期要求(GAS initial request)メッセージを送信する場合があり、ピアエンドは、ユニキャストまたはブロードキャストの応答メッセージ、たとえば、GAS初期応答(GAS initial response)メッセージを返信する場合がある。
【0061】
第1の照会要求メッセージは、GAS initial requestメッセージまたはprobe requestメッセージに限定されない。対応して、第1の照会応答メッセージは、GAS initial responseメッセージまたはprobe responseメッセージのいずれかに限定されない。
【0062】
ローカルエンドが第1の照会要求メッセージを送信した後、ピアエンドは第1の照会要求メッセージを受信する。ピアエンドによって返信されるコンテンツは、様々な特定の状況に応じて変化する。第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在する場合、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示す応答メッセージを返信することができ、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しない場合、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しないことを示す応答メッセージを返信することができ、この場合、それは、ローカルエンドによって発見されるべきサービスがピアエンドに存在しないことを意味する。これに基づいて、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスが存在するかどうかをピアエンドが判定した後、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを返信する。
【0063】
ローカルエンドは、ピアエンドによって送信された第1の照会応答メッセージを受信し、第1の照会応答メッセージから第1の結果通知情報を取得し、次いで、少なくとも第1の結果通知情報に従って、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定する。
【0064】
実際の適用例では、多くのSTAが隣接デバイスに照会要求メッセージを絶え間なく送信し、STAによって発見される必要があるサービスを隣接デバイスが有しているかどうかを見出そうと試みる。しかしながら、多くの場合、隣接デバイスは、STAによって発見される必要があるサービスを有していない場合があり、照会要求メッセージが浪費されるが、この実施形態における照会要求メッセージは、短いハッシュ値を搬送することによって短縮され、それにより、多くの場合浪費される照会要求メッセージが短縮される。結果として、このことは、チャネルリソースの浪費を低減する助けになり、さらに無線リソースの利用率を改善する助けになる。
【0065】
結論として、この実施形態では、ローカルエンドは、照会要求メッセージを自発的に送信し、ローカルエンドによって発見される必要があるサービスが隣接デバイスに存在するかどうかを見出す。このプロセスでは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することによって、照会要求メッセージの長さが縮小され、このことは、照会要求メッセージによって占有されるチャネルリソースを低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【0066】
以下の実装方式では、ローカルエンドがサービスを必要とし、サービスのサービス識別情報が「bonjour: printer._ipp._tcp.local」であると仮定する。サービスの識別情報は例にすぎず、bonjourは末尾のサービス名printer._ipp._tcp.localに対応するプロトコルフィールドである。サービス識別情報内の「bonjour」は、ネーミングを区別するために使用されるプロトコルにすぎず、実際の適用例では、このキーワードは搬送されない場合もある。
【0067】
ローカルエンド自体は、サービスのサービス識別情報に対応するハッシュ値を最初に計算する。計算方法は、サービスのサービス識別情報を入力として使用すること、および、あらかじめ定義された第1の
ハッシュ機能を使用することによって計算を実行することであり得る。ハッシュ結果のビットは、あらかじめ設定されたビット、たとえば、16ビット、32ビット、および128ビットであり得る。我々は、H16()を使用して16ビットの
ハッシュ機能を示し、H32()を使用して32ビットの
ハッシュ機能を示す場合がある。この実装方式では、16ビットのハッシュ演算が使用されると仮定し、ここで16ビットが表現できる最大値は2
16-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を含む場合がある。
【0068】
第1の照会要求メッセージを受信した後、ピアエンドは、16ビットのハッシュ演算後に取得されたハッシュ値が25568であるサービスをピアエンドが有しているかどうかを最初に判定する。様々な判定結果に従って、ピアエンドによって返信された第1の照会応答メッセージ内で搬送された第1の結果通知情報によって識別された意味も異なり、特定の実装形態も異なる。以下は、例を使用することによって、第1の結果通知情報の実装方式を記載する。
【0069】
オプションの実装方式では、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスをピアエンド自体が実際に有していることを見出し、したがって、第1の結果通知情報として存在指示情報を使用し、第1の照会応答メッセージを使用することによって、たとえば、第1の照会応答メッセージ内で1を搬送するビットを使用することによって、第1の結果通知情報をローカルエンドに返信することができる。これに基づいて、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報である。したがって、少なくとも第1の結果通知情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、存在指示情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在すると直ちに判断することを含む。
【0070】
ハッシュ演算の特徴は、同じハッシュ出力が異なる入力から取得される場合があることである。すなわち、ハッシュ値は同じであるが、2つの同じハッシュ値にそれぞれ対応する入力は、異なる場合がある。すなわち、2つの異なるサービスのサービス識別情報に対して同じハッシュ演算が実行された後、2つの異なるサービスのサービス識別情報のハッシュ値は、同じ場合がある。その結果、発見されるべきサービスがピアエンドに存在するかどうかを判定するための条件として使用される、ハッシュ値が同じであるかどうかを比較することだけでは、正しくないサービスが発見される可能性がある。第1の結果通知情報が存在指示情報である場合、正しいサービスを発見するために、少なくとも第1の結果通知情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定する別の実装方式は、以下のステップを含む場合がある。
【0071】
ステップ1a:存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信する。
【0072】
ステップ1b:発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信する。
【0073】
ステップ1c:発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別した場合、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスがピアエンドに存在しないことを第2の結果通知情報が識別した場合、発見されるべきサービスがピアエンドに存在しないと判断する。
【0074】
この実装方式では、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスがピアエンドに存在することをローカルエンドが知った後、ローカルエンドは、ローカルエンドによって発見される必要があるサービスをピアエンドが有しているかどうかをさらに判定するために、発見されるべきサービスの完全なサービス識別情報、たとえばbonjour: printer._ipp._tcp.localを搬送する第2の照会要求メッセージを使用して、再びピアエンドに照会することができ、このことは、発見される必要があるサービスを発見する確度および成功率を向上させることができる。この実装方式では、少なくとも第1の結果通知情報に従ってローカルエンドにより、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定することは、第1の結果通知情報および第2の結果通知情報に従って、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを詳細に判定することである。この実施形態ではローカルエンドが2つの照会プロセスを実行する必要があり、少量の第2の照会要求メッセージが存在するが、第1の照会要求メッセージのメッセージ長は縮小されるので、大量の第1の照会要求メッセージによるチャネルリソースの占有率は低減され、このことは、全体として、チャネルリソースの浪費を低減し、チャネルリソースの利用率を改善する助けになることができる。
【0075】
オプションの実装方式では、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスがピアエンド自体に存在しないことを見出し、したがって、第1の結果通知情報として非存在指示情報を使用し、第1の照会応答メッセージを使用することによって、たとえば、第1の照会応答メッセージ内で0を搬送するビットを使用することによって、第1の結果通知情報をローカルエンドに返信することができる。この場合、少なくとも第1の結果通知情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、非存在指示情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在しないと直ちに判断することを含む。場合によっては、ピアエンドは、非存在情報を搬送する第1の照会応答メッセージを返信することができるか、または第1の照会要求メッセージに応答しない。このようにして、ローカルエンドが指定された受信時間以内に第1の照会応答メッセージを受信しない場合、ローカルエンドは、発見されるべきサービスがピアエンドに存在しないと直ちに判断する。
【0076】
オプションの実装方式では、第1の照会要求メッセージを受信した後、ピアエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値(たとえば、25568)であるサービスが実際にピアエンド自体に存在することを見出す。したがって、ハッシュ値が25568であるサービスのサービス識別情報を第1の結果通知情報として直接使用し、第1の照会応答メッセージを使用してローカルエンドに第1の結果通知情報を返信することができる。これに基づいて、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報、たとえば、「bonjour: printer._ipp._tcp.local」であり得る。すなわち、第1の照会応答メッセージは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値、たとえば25568であるサービスのサービス識別情報を搬送する。これに基づいて、少なくとも第1の結果通知情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、ローカルエンドにより、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するかどうかを判定することと、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断することと、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断することとを含む。
【0077】
第1の照会応答メッセージ内で、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を搬送する実装方式は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値である少量のサービスがピアエンドに存在する場合に適用できることに、本明細書では留意されたい。本明細書では、少量はあらかじめ設定された量のしきい値よりも小さいことあり得るし、ここで量のしきい値は、実際の適用状況に従って自由に設定することができる。たとえば、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるただ1つのサービスがピアエンドに存在する場合、このサービスのサービス識別情報は、第1の結果通知情報として第1の照会応答メッセージの中に直接カプセル化され、ローカルエンドに返信される場合がある。
【0078】
オプションの実装方式では、第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の結果通知情報に従ってローカルエンドにより、発見されるべきサービスがピアエンドに存在するかどうかを判定する実装方式は、以下のステップを含む。
【0079】
ステップ2a:発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得する。
【0080】
ステップ2b:発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断する。
【0081】
詳細には、ピアエンドによって返信された第1の照会応答メッセージは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を搬送する。第1の照会応答メッセージを受信した後、ローカルエンドは、ピアエンドと同じハッシュ演算を使用して、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得し、次いで、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するかどうかを判定し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと直ちに判断し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在する場合、発見されるべきサービスがピアエンドに存在すると直ちに判断し、サービスを使用するように直ちに試みることができる。一般に、異なる入力のハッシュ演算結果が両方とも同じである確率は小さい。したがって、2つのタイプのハッシュ演算結果が同じである場合、それは、2つのサービスが同じサービスであることを示す可能性がある。発見されるべき正しいサービスを発見する確度は、発見されるべきサービスのサービス識別情報に対して2つのタイプのハッシュ演算を実行することによって向上する。
【0082】
場合によっては、異なる入力のハッシュ演算結果が両方とも同じである確率は小さいが、ローカルエンドが正しくないサービスを発見する確率をさらに低減するために、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとローカルエンドが判断した後、ローカルエンドはさらに、正しくないサービスを発見する確率をさらに低減するために、発見されるべきサービスの完全なサービス識別情報を搬送するメッセージを使用することによって、再びピアエンドに照会することができる。
【0083】
上記の実施形態または各実装方式に基づいて、オプションの実装方式では、
図2に示されたように、この実施形態における方法は、ステップ102の前に以下のステップを含む場合がある。
【0084】
ステップ1011:あらかじめ設定された受信時間に到達したかどうかを判定し、判定結果がいいえの場合、すなわちあらかじめ設定された受信時間に到達していない場合、ステップ102を実行し、判定結果がはいの場合、ステップ104を実行する。
【0085】
ステップ104:発見されるべきサービスがピアエンドに存在しないと判断する。
【0086】
この実装方式では、受信時間を設定することによって、ピアエンドによって返信された第1の照会応答メッセージは受信時間以内に受信され、あらかじめ設定された受信時間が満了した場合、発見されるべきサービスがピアエンドに存在しないことが直ちに判断される。これに基づいて、この実装方式は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスが存在しないとピアエンドが判断した場合、応答を行わないことをサポートし、このことは、第1の照会応答メッセージによって占有されるチャネルリソースをさらに節約し、チャネルリソースの利用率を改善する助けになることができる。
【0087】
ローカルエンドがピアエンドにサービス情報を照会するとき、ローカルエンドは複数個のサービス情報を同時に照会する場合があることに、本明細書では留意されたい。この場合、ローカルエンドによりピアエンドに送信された第1の照会要求メッセージは、各々のサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送することができ、ピアエンドによって返信された第1の照会応答メッセージにおいて、応答は、各々のサービス識別情報の第1のハッシュ値が存在するかどうかに応じて個別に行うことができ、すべての第1のハッシュ値が存在するか、または第1のハッシュ値が存在しないか、または一部のハッシュ値が存在し、一部のハッシュ値が存在しない可能性がある。ピアエンドによって返信された1つまたは複数の第1の照会応答メッセージ(すなわち、メッセージはローカルエンドによって照会されたサービスごとに個別に返信される場合がある)が存在する場合があり、ピアエンドによって返信された第1の照会応答メッセージ内で搬送された第1の結果通知情報は、第1のハッシュ値が存在するかどうかについての情報であり得るか、または存在する第1のハッシュ値に対応するサービスのサービス識別情報でもあり得るか、または存在する第1のハッシュ値に対応するサービスのサービス識別情報の第2のハッシュ値でもあり得るし、その結果、ローカルエンドは、発見されるべきサービスがピアエンドに存在するかどうかをさらに判定する。詳細については、上記の実施形態の説明を参照することができ、これ以上の説明は本明細書では提供されない。
【0088】
図3は、本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。
図3に示されたように、この実施形態における方法は以下のステップを含む。
【0089】
ステップ301:第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された、第1のハッシュ値を搬送する第1の照会要求メッセージを受信する。
【0090】
ステップ302:少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信する。
【0091】
この実施形態では、ピアエンドはSTAであり得るし、ローカルエンドはSTAまたはAPであり得る。ピアエンドは第1の照会要求メッセージを自発的に送信し、発見されるべきサービスを識別するために、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を第1の照会要求メッセージ内で搬送する。ローカルエンドは、ピアエンドによって送信された第1の照会要求メッセージを受信し、第1の照会要求メッセージから第1のハッシュ値を取得し、次いで、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、第1の照会応答メッセージを使用して、第1の結果通知情報として判定結果をピアエンドに返信する。それによって、第1の結果通知情報を受信した後、ピアエンドは、少なくとも第1の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかを判定する。少なくとも第1の結果通知情報に従ってピアエンドにより、発見されるべきサービスがローカルエンドに存在するかどうかを判定するプロセスについては、
図1または
図2に示された実施形態における説明を参照することができる。この実施形態における「ピアエンド」が、
図1または
図2に示された実施形態では「ローカルエンド」であることに相違がある。他の説明は、本明細書では繰り返されない。
【0092】
オプションの実装方式では、ローカルエンドにより第1の照会応答メッセージを送信する実装方式は、以下のステップを含む。
【0093】
ステップ3a:第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果がはいの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、ステップ3bを実行し、判定結果がいいえの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと判定された場合、ステップ3cを実行する。
【0094】
ステップ3b:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【0095】
ステップ3c:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないことを識別するために使用される非存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【0096】
この実装方式では、第1の結果通知情報が存在指示情報である場合、
図4に示されたように、この実施形態における方法は、ステップ302の後に以下のステップをさらに含む場合がある。
【0097】
ステップ303:存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信する。
【0098】
ステップ304:発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信する。
【0099】
上記のステップ303およびステップ304は、ローカルエンドが、再びピアエンドによって送信され、発見されるべきサービスのサービス識別情報を搬送する照会要求メッセージを受信し、第1の結果通知情報が存在指示情報である場合、発見されるべきサービスがピアエンドに存在するかどうかについての情報を搬送する第2の照会応答メッセージをピアエンドに返信するプロセスを記載する。
【0100】
上記のプロセスは、本明細書ではこれ以上記載されない。詳細については、
図1に示された実施形態における対応する説明を参照することができる。
【0101】
オプションの実装方式では、ローカルエンドにより第1の照会応答メッセージを送信する実装方式は、第1のハッシュ値に従ってローカルエンドにより、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定することと、判定結果がはいの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信することとを含む。場合によっては、判定結果がいいえの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと判定された場合、ローカルエンドは、応答を行わない場合があるか、または非存在指示情報を返信する場合があるか、などである。
【0102】
オプションの実装方式では、ローカルエンドにより第1の照会応答メッセージを送信する実装方式は、以下のステップを含む。
【0103】
ステップ4a:第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果がはいの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定された場合、ステップ4bを実行し、判定結果がいいえの場合、すなわち、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと判定された場合、ローカルエンドは、応答を行わない場合があるか、または非存在指示情報を返信する場合があるか、などである。
【0104】
ステップ4b:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得し、ステップ4cを実行する。第1のハッシュ演算のハッシュ値は、第1のハッシュ値のサービスに対応する第2のハッシュ値であり、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによって取得される。
【0105】
ステップ4c:第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【0106】
この実装方式では、ローカルエンドでの第1のハッシュ値に対応するハッシュ演算は第1のハッシュ演算と呼ばれ、第2のハッシュ演算は第1のハッシュ演算とは異なるハッシュ演算である。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ値が16ビットである場合、第2のハッシュ値は、32ビットまたは128ビットのハッシュ値であり得る。詳細には、ローカルエンドは、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行し、サービスに対応する第2のハッシュ値を取得し、次いで、第1の結果通知情報としてサービスの第2のハッシュ値を第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信する。
【0107】
この実施形態によって提供される方法は、
図1または
図2によって提供された上記の方法に対応し、異なる観点から記載される。この実施形態における各動作に関する詳細については、
図1または
図2に示された実施形態の説明を参照することができ、本明細書ではこれ以上の説明は提供されない。
【0108】
この実施形態では、ローカルエンドはピアエンドと協働し、その結果、ピアエンドは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することができ、このことは、照会要求メッセージの長さを縮小し、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【0109】
図5は、本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。
図5に示されたように、この実施形態における方法は以下のステップを含む。
【0110】
ステップ501:サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信する。
【0111】
ステップ502:少なくともハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定する。
【0112】
この実施形態では、ピアエンドはAPまたはSTAであり得るし、ローカルエンドはSTAであり得る。ピアエンドは、サービス情報指示メッセージを自発的にブロードキャストし、サービス情報指示メッセージを使用して、ピアエンドによってサポートされるサービスを隣接デバイスに通知する。詳細には、ピアエンドは、従来技術におけるように、サービス情報指示メッセージの中で、ピアエンドによってサポートされる各サービスのサービス識別情報を直接搬送しないが、ピアエンドによってサポートされる各サービスのサービス識別情報に対してハッシュ演算を実行することによって取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送する。ハッシュ演算の特徴から知ることができるように、ハッシュ値の長さは、サービスのサービス識別情報の長さよりも短く、対応して、ハッシュ値を識別するハッシュ値指示情報の長さも、すべてのサービスのサービス識別情報の長さの合計よりも小さい。しかしながら、ピアエンドのサービス情報指示メッセージを受信した後、ローカルエンドは、サービス情報指示メッセージからハッシュ値指示情報を取得し、ハッシュ値指示情報に従って、ピアエンドによってサポートされるサービスを知ることができ、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかをさらに判定することができる。
【0113】
オプションの実装方式では、ピアエンドがサービス情報指示メッセージを使用することによってハッシュ値指示情報を搬送する方式は、サービス情報指示メッセージがビットテーブルおよびビットテーブルの長さを含むことを含み、ビットテーブルでは、ピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値に対応する位置が1にセットされ、ビットテーブルの長さは、ピアエンドに存在するサービスの量に応じて決定される。
【0114】
この実装方式では、ピアエンドによってブロードキャストされたサービス情報指示メッセージは、ピアエンドによってサポートされるサービスのサービス識別情報を直接搬送しないが、ビットテーブルのみを搬送し、ここでビットテーブル内の各ビットは、ピアエンドに存在するサービスのハッシュ値を識別するために使用される。ビットが1であるとき、それは、ハッシュ値がビットに対応する数であるサービスがピアエンドに存在することを示す。たとえば、ビットテーブル内の第5のビットが1であると仮定すると、それは、ハッシュ値が5であるサービスがピアエンドに存在することを示す。もちろん、ビットが0である場合、それは、ハッシュ値がビットに対応する数であるサービスがピアエンドに存在しないことを示す。たとえば、ビットテーブル内の第3のビットが0であると仮定すると、それは、ハッシュ値が3であるサービスがピアエンドに存在しないことを示す。
【0115】
ピアエンドが、それぞれ「UPnP:Printer」および「UPnP:Scanner」である2つのサービスを有していると仮定する。2つのサービスに対して8ビットのハッシュ演算が実行された後、1つのサービスが取得したハッシュ値は2であり、別のサービスが取得したハッシュ値は5である。したがって、ピアエンドは、ピアエンドによってブロードキャストされたサービス情報指示メッセージ内でビットテーブルを搬送し、ビットテーブル内の第2のビットおよび第5のビットは1にセットされる。8ビットのハッシュ演算の結果は0〜255、合計256個の値であることに、本明細書では留意されたい。これに基づいて、ビットテーブルの長さは256ビットのみを必要とし、ビットテーブルの開始ビットは0番目のビットであり得るし、それに続くビットは1番目のビット、2番目のビットなど、255番目のビットまでである。
【0116】
上記の例では、ピアエンドによって使用されるビットテーブル
の長さは256ビットである。実際の状況では、ビットテーブルの長さは柔軟に変化する場合がある。たとえば、数個のサービスがピアエンドに存在するとき、ビットテーブルは小さい、たとえば64ビットのみ、または128ビットであり得る。もちろん、対応するハッシュ演算のタイプも異なる。たとえば、64ビットのテーブルに対応すると、6ビットのハッシュ演算を使用することができ、演算結果は0〜63、合計64個の値であり、128ビットのテーブルに対応すると、7ビットのハッシュ演算を使用することができ、演算結果は0〜127、合計128個の値である。これに基づいて、ピアエンドは、ブロードキャストサービス情報指示メッセージ内で、何ビットのビットテーブル(すなわち、ビットテーブルの長さ)がピアエンドによって使用されるかを示す必要のみがある。場合によっては、ピアエンドによって使用されるビットテーブルの長さはまた、あらかじめ決定された固定長であり得る。
【0117】
この実装方式では、ピアエンドは、サービス情報指示メッセージ内で、ビットテーブルおよびビットテーブルの長さを搬送し、その結果、ビットテーブルの長さは柔軟および可変であり、ピアエンドによってサポートされるサービスの量の変化に適応可能であり、強い柔軟性を有する。加えて、サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって必要とされるサービスを隣接デバイスが時間内に発見することを助け、ビットテーブルの長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがピアエンドに存在しない場合、ピアエンドによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、浪費されるサービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【0118】
上記の説明に基づいて、オプションの実装方式では、少なくともハッシュ値指示情報に従ってローカルエンドにより、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得することと、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することとを含む。
【0119】
オプションの実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するとローカルエンドが直ちに判断することができ、ローカルエンドがサービスを使用するように直ちに試みることができることを含む。
【0120】
オプションの実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在しない場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないとローカルエンドが直ちに判断することができることを含む。
【0121】
オプションの実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在する場合、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをローカルエンドがピアエンドに送信することができ、次いでローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信することができ、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを第1の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するとローカルエンドが判断するか、または、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないことを第1の結果通知情報が識別した場合、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないとローカルエンドが判断することを含む。この実装方式では、少なくとも第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定することは、詳細には、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかおよび第1の結果通知情報に応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するがどうかを判定することを指す。
【0122】
この実装方式では、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとローカルエンドが判断した後、ローカルエンドは、ローカルエンドによって発見される必要があるサービスがピアエンドに存在する可能性があるとあらかじめ判断することができ、ローカルエンドは、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかをさらに判定するために、ローカルエンドによって必要とされるサービスのサービス識別情報を搬送する照会要求メッセージをピアエンドにさらに送信することができ、このことは、発見される必要があるサービスを発見する確度および成功率を向上させる。次のオプションの実装方式における照会要求メッセージと区別するために、本明細書では、この照会要求メッセージは第1の照会要求メッセージと呼ばれる。
【0123】
オプションの実装方式では、少なくとも第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の結果通知情報に応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するがどうかを判定することを指す。
【0124】
この実装方式では、第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ビットのハッシュ演算であり得る。
【0125】
場合によっては、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、第2の結果通知情報が識別した場合、第2の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスの中の、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスのサービス識別情報であり得る。
【0126】
図6は、本発明のさらに別の実施形態による、サービス情報を発見する方法のフローチャートである。
図6に示されたように、この実施形態における方法は以下のステップを含む。
【0127】
ステップ601:ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得する。
【0128】
ステップ602:サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストする。
【0129】
オプションの実装方式では、サービス情報指示メッセージをブロードキャストする実装方式は、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定することと、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストすることとを含む。
【0130】
オプションの実装方式では、ステップ602の後、方法は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信することと、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージをピアエンドに送信することとをさらに含む。
【0131】
オプションの実装方式では、ステップ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の結果通知情報に従ってピアエンドにより、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定することである。
【0132】
この実装方式は、
図5に示された実施形態に対応する。この実施形態における「ピアエンド」および「ローカルエンド」が、
図5に示された実施形態では、それぞれ「ローカルエンド」および「ピアエンド」に相当することに相違がある。他の説明については、
図5の実施形態を参照することができ、これ以上の説明は本明細書では提供されない。
【0133】
この実装方式では、ローカルエンドはピアエンドと協働し、サービス情報指示メッセージは、ビットテーブルおよびビットテーブルの長さを搬送し、その結果、ビットテーブルの長さは柔軟および可変であり、ピアエンドによってサポートされるサービスの量の変化に適応可能であり、強い柔軟性を有する。加えて、サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって必要とされるサービスを隣接デバイスが時間内に発見することを助け、ビットテーブルの長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがローカルエンドに存在しない場合、ローカルエンドによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【0134】
図7は、本発明の一実施形態による、サービス情報発見デバイスの概略構造図である。
図7に示されたように、この実施形態におけるデバイスは、送信ユニット71、受信ユニット72、および発見処理ユニット73を含む。
【0135】
送信ユニット71は、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するように構成される。
【0136】
受信ユニット72は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。受信ユニット72は送信ユニット71に接続され、送信ユニット71が第1の照会要求メッセージを送信した後、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。
【0137】
発見処理ユニット73は受信ユニット72に接続され、少なくとも受信ユニット72によって受信された第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するように構成される。
【0138】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報である。
【0139】
これに基づいて、
図8に示されたように、発見処理ユニット73の実装構造は、送信モジュール731、受信モジュール732、および第1の判断モジュール733を含む。
【0140】
送信モジュール731は受信ユニット72に接続され、受信ユニット72によって受信された存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信するように構成される。
【0141】
受信モジュール732は、発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信するように構成される。受信モジュール732は送信モジュール731に接続され、送信モジュール731が第2の照会要求メッセージを送信した後、ピアエンドによって返信された第2の照会応答メッセージを受信するように構成される。
【0142】
第1の判断モジュール733は受信モジュール732に接続され、発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスがピアエンドに存在しないことを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0143】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しないことを示すために使用される非存在指示情報である。
【0144】
これに基づいて、
図8に示されたように、発見処理ユニット73の別の実装構造は、第2の判断モジュール734を含む。第2の判断モジュール734は受信ユニット72に接続され、受信ユニット72によって受信された非存在指示情報に従って、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0145】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値である。第1のハッシュ演算のハッシュ値は、第1のハッシュ値のサービスに対応する第2のハッシュ値であり、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによって取得される。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【0146】
これに基づいて、
図8に示されたように、発見処理ユニット73のさらに別の実装構造は、取得モジュール735および第3の判断モジュール736を含む。
【0147】
取得モジュール735は、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得するように構成される。
【0148】
第3の判断モジュール736は取得モジュール735および受信ユニット72に接続され、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0149】
場合によっては、第1のハッシュ演算は16ビットのハッシュ演算であり得るし、第2のハッシュ演算は32ビットのハッシュ演算であり得る。
【0150】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報である。
【0151】
これに基づいて、
図8に示されたように、発見処理ユニット73のさらに別の実装構造は、第4の判断モジュール737を含む。第4の判断モジュール737は受信ユニット72に接続され、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断し、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在しない場合、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0152】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【0153】
この実施形態によって提供されたサービス情報発見デバイスの機能ユニットまたは機能モジュールは、
図1または
図2に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0154】
この実施形態によって提供されたサービス情報発見デバイスは、照会要求メッセージを自発的に送信し、サービス情報発見デバイスによって発見される必要があるサービスが隣接デバイスに存在するかどうかを見出す。このプロセスでは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することによって、照会要求メッセージの長さが縮小され、このことは、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【0155】
図9は、本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。
図9に示されたように、この実施形態におけるデバイスは、通信インターフェース91、プロセッサ92、およびメモリ93を含む。
【0156】
通信インターフェース91は、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを送信するように構成され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。
【0157】
メモリ93は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ93は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【0158】
プロセッサ92は、少なくとも通信インターフェース91によって受信された第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかを判定するために、メモリ93によって記憶されたプログラムを実行するように構成される。プロセッサ92は、1つもしくは複数の中央処理装置(Central Processing Units、略してCPUs)、または特定用途向け集積回路(Application Specific Integrated Circuit、略してASIC)を含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【0159】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在することを示すために使用される存在指示情報である。プロセッサ92は、詳細には、通信インターフェース91を制御して、受信された存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する第2の照会要求メッセージをピアエンドに送信し、発見されるべきサービスがピアエンドに存在するかどうかを識別するために使用される第2の結果通知情報を搬送する、ピアエンドによって返信された第2の照会応答メッセージを受信し、次いで、発見されるべきサービスがピアエンドに存在することを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在すると判断するか、または、発見されるべきサービスがピアエンドに存在しないことを第2の結果通知情報が識別したとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0160】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在しないことを示すために使用される非存在指示情報である。プロセッサ92は、詳細には、通信インターフェース91によって受信された非存在指示情報に従って、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0161】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値である。第1のハッシュ演算のハッシュ値は、第1のハッシュ値のサービスに対応する第2のハッシュ値であり、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して、第2のハッシュ演算を実行することによって取得される。これに基づいて、プロセッサ92は、詳細には、発見されるべきサービスのサービス識別情報に対して第2のハッシュ演算を実行し、発見されるべきサービスに対応する第2のハッシュ値を取得し、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するか、または、発見されるべきサービスに対応する第2のハッシュ値が第1の照会応答メッセージ内に存在しないとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0162】
場合によっては、第1のハッシュ演算は16ビットのハッシュ演算であり得るし、第2のハッシュ演算は32ビットのハッシュ演算であり得る。
【0163】
オプションの実装方式では、第1の結果通知情報は、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報である。これに基づいて、プロセッサ92は、詳細には、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在するとき、発見されるべきサービスがピアエンドに存在すると判断するか、または、発見されるべきサービスのサービス識別情報が第1の照会応答メッセージ内に存在しないとき、発見されるべきサービスがピアエンドに存在しないと判断するように構成される。
【0164】
場合によっては、上記の通信インターフェース91、プロセッサ92、およびメモリ93が互いに独立して実装される場合、通信インターフェース91、プロセッサ92、およびメモリ93は、バスを介して互いと相互接続および通信することができる。バスは、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、周辺構成要素相互接続(Peripheral Component
Interconnect、PCI)バス、または拡張業界標準アーキテクチャ(Extended Industry Standard Architecture、EISA)バスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、
図9ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【0165】
上記の通信インターフェース91、プロセッサ92、およびメモリ93が実装用のチップに統合されている場合、通信インターフェース91、プロセッサ92、およびメモリ93は、内部インターフェースを介して互いと通信することができる。
【0166】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【0167】
この実施形態によって提供されたサービス情報発見デバイスは、
図1または
図2に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0168】
この実施形態によって提供されたサービス情報発見デバイスは、照会要求メッセージを自発的に送信し、サービス情報発見デバイスによって発見される必要があるサービスが隣接デバイスに存在するかどうかを見出す。このプロセスでは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することによって、照会要求メッセージの長さが縮小され、このことは、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【0169】
図10は、本発明の一実施形態による、サービス情報供給デバイスの概略構造図である。
図10に示されたように、この実施形態におけるデバイスは、第1の受信ユニット1001および第1の送信ユニット1002を含む。
【0170】
第1の受信ユニット1001は、第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを受信するように構成される。
【0171】
第1の送信ユニット1002は、少なくとも、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報に従って、発見されるべきサービスがピアエンドに存在するかどうかをピアエンドが判定するように、第1の結果通知情報を搬送する第1の照会応答メッセージを送信するように構成される。第1の送信ユニット1002は第1の受信ユニット1001に接続され、詳細には、第1の受信ユニット1001が第1の照会要求メッセージを受信した後、第1の照会要求メッセージに従って、ピアエンドに第1の照会応答メッセージを送信するように構成される。
【0172】
オプションの実装方式では、
図11に示されたように、第1の送信ユニット1002の実装構造は、第1の判定モジュール10021および第1の送信モジュール10022を含む。
【0173】
第1の判定モジュール10021は第1の受信ユニット1001に接続され、第1の受信ユニット1001によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成される。
【0174】
第1の送信モジュール10022は第1の判定モジュール10021に接続され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第1の判定モジュール10021が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するか、または、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないと第1の判定モジュール10021が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないことを識別するために使用される非存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【0175】
上記の説明に基づいて、
図11に示されたように、サービス情報供給デバイスは、第2の受信ユニット1003および第2の送信ユニット1004をさらに含む。
【0176】
第2の受信ユニット1003は、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するように構成される。第2の受信ユニット1003は、第1の送信モジュール10022に接続される。
【0177】
第2の送信ユニット1004は、発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するように構成される。第2の送信ユニット1004は第2の受信ユニット1003に接続され、詳細には、第2の受信ユニット1003が第2の照会要求メッセージを受信した後、ピアエンドに第2の照会応答メッセージを送信するように構成される。
【0178】
オプションの実装方式では、
図11に示されたように、第1の送信ユニット1002の別の実装構造は、第2の判定モジュール10023、取得モジュール10024、および第2の送信モジュール10025を含む。
【0179】
第2の判定モジュール10023は第1の受信ユニット1001に接続され、第1の受信ユニット1001によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成される。
【0180】
取得モジュール10024は第2の判定モジュール10023に接続され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第2の判定モジュール10023が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得するように構成される。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【0181】
第2の送信モジュール10025は取得モジュール10024に接続され、取得モジュール10024によって取得され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【0182】
オプションの実装方式では、
図11に示されたように、第1の送信ユニット1002のさらに別の実装構造は、第3の判定モジュール10026および第3の送信モジュール10027を含む。
【0183】
第3の判定モジュール10026は第1の受信ユニット1001に接続され、第1の受信ユニット1001によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定するように構成される。
【0184】
第3の送信モジュール10027は第3の判定モジュール10026に接続され、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると第3の判定モジュール10026が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【0185】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【0186】
この実施形態によって提供されたサービス情報供給デバイスの機能ユニットまたは機能モジュールは、
図3または
図4に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0187】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働し、その結果、サービス情報発見デバイスは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することができ、このことは、照会要求メッセージの長さを縮小し、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【0188】
図12は、本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。
図12に示されたように、この実施形態におけるデバイスは、通信インターフェース1201、メモリ1202、およびプロセッサ1203を含む。
【0189】
通信インターフェース1201は、第1の照会要求メッセージを送信するピアエンドにより、発見されるべきサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得された第1のハッシュ値を搬送する第1の照会要求メッセージを受信し、少なくとも第1の結果通知情報に従って、発見されるべきサービスがローカルエンドにあるかどうかをピアエンドが判別するように、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージを送信するように構成される。
【0190】
メモリ1202は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ1202は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【0191】
プロセッサ1203は、メモリ1202によって記憶されたプログラムを実行するように構成される。プロセッサ1203は、1つもしくは複数のCPU、または特定のASICを含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【0192】
オプションの実装方式では、プロセッサ1203は、通信インターフェース1201によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果を通信インターフェース1201に供給するように構成される。通信インターフェース1201は、詳細には、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するとプロセッサ1203が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在することを識別するために使用される存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するか、または、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないとプロセッサ1203が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在しないことを識別するために使用される非存在指示情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【0193】
上記の説明に基づいて、通信インターフェース1201は、存在指示情報に従って、発見されるべきサービスのサービス識別情報を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信し、発見されるべきサービスがローカルエンドに存在するかどうかを識別するために使用される第2の結果通知情報に従って、発見されるべきサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第2の結果通知情報を搬送する第2の照会応答メッセージをピアエンドに送信するようにさらに構成される。
【0194】
オプションの実装方式では、プロセッサ1203は、通信インターフェース1201によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在すると判定されたとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を取得し、取得された第2のハッシュ値を通信インターフェース1201に供給するように構成される。通信インターフェース1201は、詳細には、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスに対応する第2のハッシュ値を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【0195】
場合によっては、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算は16ビットのハッシュ演算であり得るし、第2のハッシュ演算は32ビットのハッシュ演算であり得る。
【0196】
オプションの実装方式では、プロセッサ1203は、通信インターフェース1201によって受信された第1のハッシュ値に従って、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するかどうかを判定し、判定結果を通信インターフェース1201に供給するように構成される。通信インターフェース1201は、詳細には、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスがローカルエンドに存在するとプロセッサ1203が判定したとき、第1のハッシュ演算を実行することによって取得されたハッシュ値が第1のハッシュ値であるサービスのサービス識別情報を、第1の結果通知情報として第1の照会応答メッセージの中にカプセル化し、第1の照会応答メッセージをピアエンドに送信するように構成される。
【0197】
場合によっては、上記の通信インターフェース1201、メモリ1202、およびプロセッサ1203が互いに独立して実装される場合、通信インターフェース1201、メモリ1202、およびプロセッサ1203は、バスを介して互いと相互接続および通信することができる。バスは、ISAバス、PCIバス、またはEISAバスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、
図12ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【0198】
上記の通信インターフェース1201、メモリ1202、およびプロセッサ1203が実装用のチップに統合されている場合、通信インターフェース1201、メモリ1202、およびプロセッサ1203は、内部インターフェースを介して互いと通信することができる。
【0199】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【0200】
この実施形態によって提供されたサービス情報供給デバイスは、
図3または
図4に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0201】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働し、その結果、サービス情報発見デバイスは、発見されるべきサービスのサービス識別情報を直接搬送する代わりに、照会要求メッセージ内でサービス識別情報の短いハッシュ値を搬送することができ、このことは、照会要求メッセージの長さを縮小し、照会要求メッセージによるチャネルリソースの占有率を低減する助けになり、チャネルリソースを節約する助けになるが、一方、照会要求メッセージが浪費される場合、照会要求メッセージの長さは縮小され、このことは、浪費される照会要求メッセージを短縮することと同等であり、したがって、チャネルリソースの浪費を低減する助けにもなり、無線リソースの利用率を改善する助けにもなる。
【0202】
図13は、本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。
図13に示されたように、この実施形態におけるデバイスは、受信ユニット1301および発見処理ユニット1302を含む。
【0203】
受信ユニット1301は、サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信するように構成される。
【0204】
発見処理ユニット1302は受信ユニット1301に接続され、少なくとも受信ユニット1301によって受信されたハッシュ値指示情報に従って、ローカルエンドによって発見されるべきサービスがピアエンドに存在するかどうかを判定するように構成される。ローカルエンドは、この実施形態におけるサービス情報発見デバイスである。
【0205】
オプションの実装方式では、
図14に示されたように、発見処理ユニット1302の実装構造は、取得モジュール13021および判定モジュール13022を含む。
【0206】
取得モジュール13021は、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得するように構成される。
【0207】
判定モジュール13022は取得モジュール13021および受信ユニット1301に接続され、少なくとも、取得モジュール13021によって取得された第1のハッシュ値が、受信ユニット1301によって受信されたハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するように構成される。
【0208】
上記の説明に基づいて、
図14に示されたように、判定モジュール13022の実装構造は、第1の送信サブモジュール13024、第1の受信サブモジュール13025、および第1の判断サブモジュール13026を含む。
【0209】
第1の送信サブモジュール13024は取得モジュール13021および受信ユニット1301に接続され、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送する第1の照会要求メッセージをピアエンドに送信するように構成される。
【0210】
第1の受信サブモジュール13025は、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。第1の受信サブモジュール13025は第1の送信サブモジュール13024に接続され、第1の送信サブモジュール13024が第1の照会要求メッセージを送信した後、ピアエンドによって送信された第1の照会応答メッセージを受信するように構成される。
【0211】
第1の判断サブモジュール13026は第1の受信サブモジュール13025に接続され、第1の受信サブモジュール13025によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するか、または、第1の受信サブモジュール13025によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないことを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断するように構成される。
【0212】
上記の説明に基づいて、
図14に示されたように、判定モジュール13022の別の実装構造は、第2の送信サブモジュール13027、第2の受信サブモジュール13028、および第2の判断サブモジュール13029を含む。
【0213】
第2の送信サブモジュール13027は取得モジュール13021および受信ユニット1301に接続され、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、第1のハッシュ値と、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第2のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値とを搬送する第2の照会要求メッセージをピアエンドに送信するように構成される。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【0214】
第2の受信サブモジュール13028は、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果指示情報を搬送する、ピアエンドによって送信された第2の照会応答メッセージを受信するように構成される。第2の受信サブモジュール13028は第2の送信サブモジュール13027に接続され、第2の送信サブモジュール13027が第2の照会要求メッセージを送信した後、ピアエンドによって送信された第2の照会応答メッセージを受信するように構成される。
【0215】
第2の判断サブモジュール13029は第2の受信サブモジュール13028に接続され、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在することを、第2の受信サブモジュール13028によって受信された第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するか、または、第2のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドによって発見される必要があるサービスに対応する第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がピアエンドにある第1のハッシュ値であるサービスの中に存在しないことを、第2の受信サブモジュール13028によって受信された第2の結果通知情報が識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断するように構成される。
【0216】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【0217】
この実施形態によって提供されたサービス情報発見デバイスの機能ユニットまたは機能モジュールは、
図5に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0218】
この実施形態によって提供されたサービス情報発見デバイスは、ピアエンドによって自発的にブロードキャストされたサービス情報指示メッセージを受信し、サービス情報指示
メッセージ内のハッシュ値指示情報に従って、サービス情報発見デバイスによって発見される必要があるサービスをピアエンドが有しているかどうかをさらに発見する。ハッシュ値指示情報
の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。
【0219】
図15は、本発明のさらに別の実施形態による、サービス情報発見デバイスの概略構造図である。
図15に示されたように、この実施形態におけるデバイスは、通信インターフェース1501、プロセッサ1502、およびメモリ1503を含む。
【0220】
通信インターフェース1501は、サービス情報指示メッセージを送信するピアエンドに存在するサービスのサービス識別情報に従って取得されたハッシュ値を識別するために使用されるハッシュ値指示情報を搬送するサービス情報指示メッセージを受信するように構成される。
【0221】
メモリ1503は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ1503は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【0222】
プロセッサ1502は、通信インターフェース1501によって受信されたハッシュ値指示情報に従って、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを判定するために、メモリ1503によって記憶されたプログラムを実行するように構成される。ローカルエンドは、この実施形態におけるサービス情報発見デバイスである。プロセッサ1502は、1つもしくは複数のCPU、または特定のASICを含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【0223】
オプションの実装方式では、プロセッサ1502は、詳細には、ローカルエンドによって発見される必要があるサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドによって発見される必要があるサービスに対応する第1のハッシュ値を取得し、少なくとも、第1のハッシュ値が通信インターフェース1501によって受信されたハッシュ値指示情報によって識別されたハッシュ値の中に存在するかどうかに応じて、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないかどうかを判定するように構成される。
【0224】
上記の説明に基づいて、プロセッサ1502は、詳細には、第1のハッシュ値がハッシュ値指示情報によって識別されたハッシュ値の中に存在するとき、通信インターフェース1501を制御して、第1の照会要求メッセージをピアエンドに送信し、ピアエンドによって送信された第1の照会応答メッセージを受信し、通信インターフェース1501によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在することを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在すると判断するか、または、通信インターフェース1501によって受信された第1の結果通知情報が、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないことを識別したとき、ローカルエンドによって発見される必要があるサービスがピアエンドに存在しないと判断するように構成される。第1の照会要求メッセージは、ローカルエンドによって発見される必要があるサービスのサービス識別情報を搬送し、第1の照会応答メッセージは、ローカルエンドによって発見される必要があるサービスがピアエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する。対応して、通信インターフェース1501は、プロセッサ1502の制御下で、第1の照会要求メッセージをピアエンドに送信し、ピアエンドによって送信された第1の照会応答メッセージを受信するようにさらに構成される。
【0225】
代替として、プロセッサ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の照会応答メッセージを受信するようにさらに構成される。
【0226】
場合によっては、上記の通信インターフェース1501、メモリ1503、およびプロセッサ1502が互いに独立して実装される場合、通信インターフェース1501、メモリ1503、およびプロセッサ1502は、バスを介して互いと相互接続および通信することができる。バスは、ISAバス、PCIバス、またはEISAバスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、
図15ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【0227】
上記の通信インターフェース1501、メモリ1503、およびプロセッサ1502が実装用のチップに統合されている場合、通信インターフェース1501、メモリ1503、およびプロセッサ1502は、内部インターフェースを介して互いと通信することができる。
【0228】
この実施形態によって提供されたサービス情報発見デバイスはSTAであり得るが、そのように限定されない。
【0229】
この実施形態によって提供されたサービス情報発見デバイスは、
図5に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0230】
この実施形態によって提供されたサービス情報発見デバイスは、ピアエンドによって自発的にブロードキャストされたサービス情報指示メッセージを受信し、サービス情報指示
メッセージ内のハッシュ値指示情報に従って、サービス情報発見デバイスによって発見される必要があるサービスをピアエンドが有しているかどうかをさらに発見する。ハッシュ値指示情報
の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。
【0231】
図16は、本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。
図16に示されたように、この実施形態におけるデバイスは、取得ユニット1601およびブロードキャストユニット1602を含む。
【0232】
取得ユニット1601は、ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するように構成される。
【0233】
ブロードキャストユニット1602は取得ユニット1601に接続され、サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするように構成される。
【0234】
オプションの実装方式では、
図17に示されたように、ブロードキャストユニット1602の実装構造は、決定モジュール16021およびセット兼ブロードキャストモジュール16022を含む。
【0235】
決定モジュール16021は、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定するように構成される。
【0236】
セット兼ブロードキャストモジュール16022は決定モジュール16021に接続され、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、次いでサービス情報指示メッセージをブロードキャストするように構成される。
【0237】
オプションの実装方式では、
図17に示されたように、サービス情報供給デバイスは、第1の受信ユニット1603および第1の送信ユニット1604をさらに含む。
【0238】
第1の受信ユニット1603は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信するように構成される。第1の受信ユニット1603は、セット兼ブロードキャストモジュール16022に接続される場合がある。
【0239】
第1の送信ユニット1604は第1の受信ユニット1603に接続され、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する、第1の照会応答メッセージをピアエンドに送信するように構成される。
【0240】
オプションの実装方式では、
図17に示されたように、サービス情報供給デバイスは、第2の受信ユニット1605および第2の送信ユニット1606をさらに含む。
【0241】
第2の受信ユニット1605は、ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信するように構成される。第2の受信ユニット1605は、セット兼ブロードキャストモジュール16022に接続される場合がある。第1のハッシュ値のビット長と第2のハッシュ値のビット長は異なる場合があり、第2のハッシュ演算のビット長は、第1のハッシュ演算のビット長よりも大きい場合がある。たとえば、第1のハッシュ演算が16ビットのハッシュ演算である場合、第2のハッシュ演算は、32ビットまたは128ビットのハッシュ演算であり得る。
【0242】
第2の送信ユニット1606は第2の受信ユニット1605に接続され、第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するように構成される。
【0243】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【0244】
この実施形態によって提供されたサービス情報供給デバイスの機能ユニットまたは機能モジュールは、
図6に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0245】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働する。サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって発見される必要があるサービスを隣接デバイスが時間内に発見することを助け、サービス情報指示メッセージ内のハッシュ値指示情報
の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがサービス情報供給デバイスに存在しない場合、サービス情報供給デバイスによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、浪費されるサービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【0246】
図18は、本発明のさらに別の実施形態による、サービス情報供給デバイスの概略構造図である。
図18に示されたように、この実施形態におけるデバイスは、通信インターフェース1801、プロセッサ1802、およびメモリ1803を含む。
【0247】
メモリ1803は、プログラムを記憶するように構成される。詳細には、プログラムはプログラムコードを含むことができ、プログラムコードはコンピュータ操作命令を含む。メモリ1803は高速RAMメモリを含む場合があり、不揮発性メモリ(non-volatile memory)、たとえば、少なくとも1つのディスクストレージを含む場合もある。
【0248】
プロセッサ1802は、メモリ1803によって記憶されたプロフラムを実行して、ローカルエンドに存在するサービスのサービス識別情報に対して第1のハッシュ演算を実行することによって取得される、ローカルエンドに存在するサービスに対応するハッシュ値を取得するように構成される。プロセッサ1802は、1つもしくは複数のCPU、または特定のASICを含む場合があるか、または本発明の実施形態を実装するための1つまたは複数の集積回路として構成される。
【0249】
通信インターフェース1801は、サービス情報指示メッセージを受信するピアエンドが、少なくとも、ローカルエンドに存在するサービスに対応するハッシュ値を識別するために使用されるハッシュ値指示情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを判定するように、ハッシュ値指示情報を搬送するサービス情報指示メッセージをブロードキャストするように構成される。
【0250】
オプションの実装方式では、プロセッサ1802は、ローカルエンドに存在するサービスの量に応じてビットテーブルの長さを決定し、ビットテーブルおよびビットテーブルの長さをサービス情報指示メッセージの中にカプセル化し、ローカルエンドに存在するサービスに対応するハッシュ値に対応する位置を1にセットし、サービス情報指示メッセージを生成し、サービス情報指示メッセージを通信インターフェース1801に供給するようにさらに構成される。通信インターフェース1801は、詳細には、プロセッサ1802によって生成されたサービス情報指示メッセージをブロードキャストするように構成される。
【0251】
オプションの実装方式では、通信インターフェース1801は、ピアエンドによって発見される必要があるサービスのサービス識別情報を搬送する、ピアエンドによって送信された第1の照会要求メッセージを受信し、少なくとも第1の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、ピアエンドによって発見される必要があるサービスのサービス識別情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかを識別するために使用される第1の結果通知情報を搬送する第1の照会応答メッセージをピアエンドに送信するようにさらに構成される。
【0252】
オプションの実装方式では、通信インターフェース1801は、ピアエンドによって発見される必要があるサービスのサービス識別情報に対して、それぞれ第1のハッシュ演算および第2のハッシュ演算を実行することによって取得された、ピアエンドによって発見される必要があるサービスに対応する第1のハッシュ値およびピアエンドによって発見される必要があるサービスに対応する第2のハッシュ値を搬送する、ピアエンドによって送信された第2の照会要求メッセージを受信し、第2の結果通知情報に従って、ピアエンドによって発見される必要があるサービスがローカルエンドに存在するかどうかをピアエンドが判定するように、第1のハッシュ値および第2のハッシュ値に従って、第2のハッシュ演算を実行することによって取得されたハッシュ値が第2のハッシュ値と同じであるサービスが、第1のハッシュ演算を実行することによって取得されたハッシュ値がローカルエンドにある第1のハッシュ値であるサービスの中に存在するかどうかを、識別するために使用される第2の結果通知情報を搬送する第2の照会応答メッセージを、ピアエンドに送信するようにさらに構成される。
【0253】
場合によっては、上記の通信インターフェース1801、プロセッサ1802、およびメモリ1803が互いに独立して実装される場合、通信インターフェース1801、プロセッサ1802、およびメモリ1803は、バスを介して互いと相互接続および通信することができる。バスは、ISAバス、PCIバス、またはEISAバスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類することができる。表現を容易にするために、
図18ではバスは実線のみによって示されているが、これは、1つのバスまたは1つのタイプのバスのみが存在することを意味しない。
【0254】
上記の通信インターフェース1801、プロセッサ1802、およびメモリ1803が実装用のチップに統合されている場合、通信インターフェース1801、プロセッサ1802、およびメモリ1803は、内部インターフェースを介して互いと通信することができる。
【0255】
この実施形態によって提供されたサービス情報供給デバイスはAPまたはSTAであり得るが、そのように限定されない。
【0256】
この実施形態によって提供されたサービス情報供給デバイスの機能ユニットまたは機能モジュールは、
図6に示された方法実施形態の手順を実行するように構成することができる。それらの詳細の動作原理は、これ以上記載されない。詳細については、方法実施形態の説明を参照することができる。
【0257】
この実施形態によって提供されたサービス情報供給デバイスは、上記の実施形態によって提供されたサービス情報発見デバイスと協働する。サービス情報指示メッセージは自発的にブロードキャストされ、このことは、隣接デバイスによって発見される必要があるサービスを隣接デバイスが時間内に発見することを助け、サービス情報指示メッセージ内のハッシュ値指示情報
の長さはすべてのサービスのサービス識別情報の長さの合計よりもはるかに小さく、このことは、サービス情報指示メッセージを縮小し、サービス情報指示メッセージによって占有されるチャネルリソースをさらに低減し、チャネルリソースの利用率を改善する助けになる。加えて、隣接デバイスによって必要とされるサービスがサービス情報供給デバイスに存在しない場合、サービス情報供給デバイスによってブロードキャストされるサービス情報指示メッセージは低減され、このことは、浪費されるサービス情報指示メッセージを低減し、浪費されるサービス情報指示メッセージによって占有されるチャネルリソースをさらに低減することと同等であり、したがって、チャネルリソースを節約する助けになり、チャネルリソースの利用率を改善する助けにもなる。
【0258】
方法実施形態のステップのうちの全部または一部は、プログラム命令関連ハードウェアによって実装できることを、当業者は理解することができる。プログラムはコンピュータ可読記憶媒体に記憶される場合がある。プログラムが動作するとき、方法実施形態のステップが実行される。上記の記憶媒体には、ROM、RAM、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体が含まれる。
【0259】
最後に、上記の実施形態は、本発明の技術的解決策を記載することを対象とするにすぎず、本発明を限定するためではないことに留意されたい。本発明は上記の実施形態を参照して詳細に記載されているが、当業者は、本発明の実施形態の技術的解決策の範囲から逸脱することなく、上記の実施形態に記載された技術的解決策に対してさらに修正を行うか、またはそれらの技術的特徴のいくつかまたはすべてに対して同等な置換えを行うことができることを理解されたい。