(57)【要約】【課題】需要応答アプリケーションサーバのための帯域幅要件を低減する方法等を提供する。【解決手段】方法は、需要応答アプリケーションサーバに関連するピアクライアントの組と、如何にしてピアクライアントが互いと通信するのかとを記述するピアデータを受信することを有する。ピアデータは、ピアクライアントのサブセットが需要応答アプリケーションサーバと直接に通信し且つ需要応答アプリケーションサーバがピアクライアントの夫々と直接に通信しないように構成される。方法は、需要応答アプリケーションサーバによって特定されるイベントを記述するアナウンスデータを受信し、そのアナウンスデータに応答してイベント応答データを決定することを更に有する。方法は、需要応答アプリケーションサーバによって特定されるピアクライアントの組から、イベント応答データを受信する受信ピアクライアントの組を識別することを更に有する。【選択図】図１
2015037316.tif 000002
【特許請求の範囲】
【請求項１】
需要応答アプリケーションサーバのための帯域幅要件を低減するよう構成されるピアデータを決定し、該ピアデータは、前記需要応答アプリケーションサーバに関連するピアクライアントの組と、如何にして該ピアクライアントが互いと通信するのかとを記述し、前記ピアデータは、前記ピアクライアントのサブセットが前記需要応答アプリケーションサーバと直接に通信し且つ該需要応答アプリケーションサーバが前記組に含まれるピアクライアントの夫々と直接に通信しないように構成され、
前記ピアクライアントの組のためのイベントを記述するアナウンスデータを生成し、
前記ピアデータによって特定される前記ピアクライアントの前記サブセットから、該ピアクライアントの１又はそれ以上に関連し且つ前記アナウンスデータによって記述される前記イベントに応答するイベント応答データを受信する、方法。
【請求項２】
前記ピアデータは、前記需要応答アプリケーションサーバのみがピアを定義することを可能にするよう公衆キーインフラストラクチャにより暗号化される、
請求項１に記載の方法。
【請求項３】
前記アナウンスデータは、前記需要応答アプリケーションサーバのみが新しいイベントを生成することを可能にするよう公衆キーインフラストラクチャにより暗号化される、
請求項１に記載の方法。
【請求項４】
前記アナウンスデータは、対称キー暗号化により暗号化される、
請求項３に記載の方法。
【請求項５】
前記イベント応答データにおいて記述される応答は、
前記ピアクライアントの組からのクライアントが前記イベントに参加するようスケジューリングされることを示す前記イベントの確認応答、及び
前記ピアクライアントの組からの前記クライアントが前記イベントに参加するようスケジューリングされないことを示すオプトアウト
のうちの１つを含む、請求項１に記載の方法。
【請求項６】
前記イベント応答データは、前記ピアクライアントの組からのクライアントに関するテレメトリ及びこれまでの負荷を記述するリポートを含む、
請求項１に記載の方法。
【請求項７】
前記需要応答アプリケーションサーバによって送信されるサーバビーコンデータを生成し、該サーバビーコンデータは、前記ピアクライアントが前記需要応答アプリケーションサーバによって生成されるサーバビーコンデータに対してのみ作用するように公衆キーにより暗号化され、前記サーバビーコンデータは、どれくらいの頻度で前記ピアクライアントがビーコンデータを互いへ送信するのかを特定すること、及び如何にして前記ピアクライアントが互いに関連するのかを変更することのうちの１つを実行するよう構成される、
請求項１に記載の方法。
【請求項８】
前記アナウンスデータが送信されてからタイムアウト期間が経過したかどうかを決定し、
前記イベント応答データが前記ピアクライアントの組に含まれるクライアントから受信されていないと決定し、
前記クライアントに関するイベント応答データを要求するよう該クライアントと直接に通信する、
請求項１に記載の方法。
【請求項９】
前記クライアントから異なるタイムアウト期間に関する要求を受信する
請求項８に記載の方法。
【請求項１０】
需要応答アプリケーションサーバに関連するピアクライアントを記述し且つ如何にして前記ピアクライアントが互いと通信するのかを記述するピアデータを受信し、該ピアデータは、前記ピアクライアントのサブセットが前記需要応答アプリケーションサーバと直接に通信し且つ該需要応答アプリケーションサーバが前記ピアクライアントの夫々と直接に通信しないように構成され、
前記需要応答アプリケーションサーバによって特定されるイベントを記述するアナウンスデータを受信し、
前記アナウンスデータに応答してイベント応答データを決定し、
前記需要応答アプリケーションサーバによって特定される前記ピアクライアントの組から、前記イベント応答データを受信する受信ピアクライアントの組を識別する、方法。
【請求項１１】
前記受信ピアクライアントの組は、前記イベント応答データの余剰が前記ピアクライアントの組の間に存在するように前記ピアクライアントの組からの少なくとも２つのクライアントを含む、
請求項１０に記載の方法。
【請求項１２】
前記受信ピアクライアントの組は、前記ピアクライアントの組に含まれるピアクライアントのどれが前記需要応答アプリケーションサーバに対して最低のホップカウントを有するのかに基づき決定される、
請求項１０に記載の方法。
【請求項１３】
前記ピアデータは、前記ピアクライアントの組に含まれるクライアントによって受信され、前記受信ピアクライアントの組は、前記クライアントに関連するピアクライアントの夫々を含まない、
請求項１０に記載の方法。
【請求項１４】
前記イベント応答データは、該イベント応答データが真であると前記需要応答アプリケーションサーバが決定することを可能にするよう公衆キーインフラストラクチャにより暗号化される、
請求項１０に記載の方法。
【請求項１５】
前記ピアクライアントの組に含まれる１又はそれ以上のクライアントから更なるイベント応答データを受信し、
複製のイベント応答データの存在を決定し、
前記複製のイベント応答データを削除する、
請求項１０に記載の方法。
【請求項１６】
前記ピアクライアントの組に含まれる１又はそれ以上のクライアントから更なるイベント応答データを受信し、
前記需要応答アプリケーションサーバによって受信されるデータパケットの数が減少するように前記イベント応答データを統合する、
請求項１０に記載の方法。
【請求項１７】
需要応答アプリケーションサーバに関連するピアクライアントを記述し且つ如何にして前記ピアクライアントが互いと通信するのかを記述するピアデータを受信し、該ピアデータは、前記ピアクライアントのサブセットが前記需要応答アプリケーションサーバと直接に通信し且つ該需要応答アプリケーションサーバが前記ピアクライアントの組に含まれるピアクライアントの夫々と直接に通信しないように構成され、
前記需要応答アプリケーションサーバによって特定されるイベントの組を記述するアナウンスデータを受信し、
前記ピアクライアントの組に含まれる第１のクライアントによって、前記ピアクライアントの組に含まれる第２のクライアントによって受信されるイベントを記述するビーコンデータを受信し、
前記ビーコンデータが前記アナウンスデータによって記述される前記イベントの組に含まれないイベントを記述すると決定する、方法。
【請求項１８】
前記ピアクライアントの組からのどのクライアントが前記アナウンスデータによって記述される前記イベントの組に含まれないイベントを有しているのかを決定する、
請求項１７に記載の方法。
【請求項１９】
前記ビーコンデータは、前記ピアクライアントの組からのどのクライアントが前記アナウンスデータによって記述される前記イベントの組に含まれないイベントを有しているのかを決定するために使用されるデータを含むフラグを含む、
請求項１８に記載の方法。
【請求項２０】
前記ビーコンデータは、該ビーコンデータが真であると前記第１のクライアントが決定することを可能にするよう公衆キーにより暗号化される、
請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで論じられる実施形態は、需要応答アプリケーションサーバに関する。特に、ここで論じられる実施形態は、需要応答アプリケーションサーバのための帯域幅要件を低減することに関する。
【背景技術】
【０００２】
需要応答（“ＤＲ”（Demand  Response））は、エンドユーザ消費者による電気使用における、時間にわたる電気料金の変化に応答した彼らの通常の消費パターンからの変化として記載されてよい。ＤＲはまた、高値の卸売市場価格の時点で、又は配電網が信頼できない場合に、より低い電気使用を誘発するよう設計された奨励給に関する。ＤＲは、瞬時需要のタイミングやレベル又は全体の電気消費量を変更するよう意図される、エンドユーザ消費者の電気の消費パターンへの全ての意図的な変更を含む。
【０００３】
ＤＲポリシーは、如何にしてエンドユーザ消費者が彼らの電気の消費パターンを変更し得るかを記述する規則である。ＤＲイベントは、エンドユーザ消費者によって彼らの電気消費パターンを変更するようとられるアクションである。需要応答アプリケーションサーバ（“ＤＲサーバ”）は、ＤＲポリシーを実施するようエンドユーザ消費者に関連するクライアント装置とともに働くハードウェアサーバである。それらのＤＲポリシーは、ＤＲサーバによって実装されるＤＲアプリケーションによって定義されてよい。
【０００４】
ここで請求される対象は、上述されたような環境においてのみ動作するか又はあらゆる欠点を解消する実施形態に制限されない。むしろ、この背景は、ここで記載される幾つかの実施形態が実施され得る一例の技術分野を例示するためにのみ設けられる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、需要応答アプリケーションサーバのための帯域幅要件を低減する方法等を提供する。
【課題を解決するための手段】
【０００６】
方法は、需要応答アプリケーションサーバに関連するピアクライアントの組を記述し且つ如何にしてピアクライアントが互いと通信するのかを記述するピアデータを受信することを有してよい。ピアデータは、ピアクライアントのサブセットが需要応答アプリケーションサーバと直接に通信し且つ需要応答アプリケーションサーバがピアクライアントの夫々と直接に通信しないように構成されてよい。方法は、需要応答アプリケーションサーバによって特定されるイベントを記述するアナウンスデータを受信し、そのアナウンスデータに応答してイベント応答データを決定することを更に有してよい。方法は、需要応答アプリケーションサーバによって特定されるピアクライアントの組から、イベント応答データを受信する受信ピアクライアントの組を識別することを更に有してよい。
【０００７】
実施形態の目的及び利点は、少なくとも、特に特許請求の範囲において指摘される要素、特徴、及び組み合わせによって実現され達成される。
【０００８】
上記の概要及び下記の詳細な説明はいずれも例となり且つ説明のためであり、請求される発明の制限ではないことが理解されるべきである。
【発明の効果】
【０００９】
本発明の実施形態によれば、需要応答アプリケーションサーバのための帯域幅要件を低減することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】ＤＲサーバのためのプロセッシング及び帯域幅を低減するよう構成されるデータ配布のためのシステムの幾つかの実施例のブロック図を表す。
【図２】ＤＲサーバのためのプロセッシング及び帯域幅を低減するよう構成されるデータ配布のためのアーキテクチャの例を表す。
【図３】ＤＲサーバのためのプロセッシング及び帯域幅を低減するよう構成されるデータ配布のためのアーキテクチャの例を表す。
【図４】ＤＲサーバのためのプロセッシング及び帯域幅を低減するよう構成されるデータ配布のためのアーキテクチャの例を表す。
【図５】帯域幅低減モジュールの例である。
【図６Ａ】ピアデータ及びアナウンスデータを決定する方法の例を表す。
【図６Ｂ】ピアデータ及びアナウンスデータを決定する方法の例を表す。
【図７】イベントマネージャモジュールの例である。
【図８】ビーコンデータを決定する方法の例を表す。
【図９Ａ】イベント応答データを決定する方法の例を表す。
【図９Ｂ】イベント応答データを決定する方法の例を表す。
【図１０Ａ】イベント応答データを決定する方法の他の例を表す。
【図１０Ｂ】イベント応答データを決定する方法の他の例を表す。
【発明を実施するための形態】
【００１１】
例となる実施形態は、添付の図面の使用を通じて更なる特定性及び詳細を有して記載され説明される。
【００１２】
典型的な需要応答アプリケーション（“ＤＲ”）サーバは、多数の需要応答（“ＤＲ”）クライアントと通信しなければならない。例えば、夫々のＤＲサーバは、数千又は数百万のＤＲクライアントと通信し得る。ＤＲアプリケーションによって定義される通信パターンは、ＤＲサーバによる実質的なプロセッシング及び帯域幅能力を必要とする。現在、夫々のＤＲサーバは、夫々のＤＲクライアントと直接に通信し、夫々のＤＲクライアントとの永続的な接続を保つよう要求されている。ＤＲサーバとＤＲクライアントとの間のそのような通信は、ＤＲサーバがＤＲクライアントの夫々へＤＲイベント及び価格情報を分配することを含む。然るに、ＤＲサーバは、高いプロセッシング及び帯域幅負荷を経験する。本開示は、ＤＲサーバのためのプロセッシング及び帯域幅負荷を低減することに関する。
【００１３】
本発明の実施形態は、添付の図面を参照して説明される。
【００１４】
図１は、ここで記載される少なくとも１つの実施形態に従って配置される、ＤＲサーバのためのプロセッシング及び帯域幅負荷を低減するよう構成されたＤＲイベント配布のためのシステム１００の幾つかの実施のブロック図を表す。表されるシステム１００は、クライアント装置１１５ａ，・・・，１１５ｎ（ここでは個別的且つ集合的に１１５とも称される。）及びＤＲサーバ１０３を有する。表されている実施形態では、システム１００のそれらのエンティティはネットワーク１０５を介して通信上結合される。
【００１５】
図１におけるクライアント装置１１５は一例として使用されてよい。図１は３つのクライアント装置１１５ａ、１１５ｂ及び１１５ｎを表すが、本開示は、１又はそれ以上のクライアント装置１１５を有するシステムアーキテクチャに適用される。更に、図１は、クライアント装置１１５及びＤＲサーバ１０３へ結合された１つのネットワーク１０５を表すが、実際には、１又はそれ以上のネットワーク１０５がそれらのエンティティへ接続されてよい。更に、図１は１つのＤＲサーバ１０３を有するが、アーキテクチャ１００は１又はそれ以上のＤＲサーバ１０３を有してよい。
【００１６】
ネットワーク１０５は従来のタイプ、有線又は無線であってよく、星形構造、トークンリング型構造又は他の構造を有する多種多様な構造を有してよい。更に、ネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、又は複数の装置が通信することができる他の相互接続されたデータ経路を有してよい。幾つかの実施において、ネットワーク１０５はピア・ツー・ピアネットワークであってよい。ネットワーク１０５はまた、多種多様な通信プロトコルにおいてデータを送信する電気通信ネットワークの部分へ結合されるか又はそれら部分を有してよい。幾つかの実施において、ネットワーク１０５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、等を介することを含む、データを送信及び受信するブルートゥース通信ネットワーク又はセルラー通信ネットワークを有してよい。
【００１７】
ＤＲサーバ１０３は、プロセッサ、メモリ及びネットワーク通信機能を有するハードウェアサーバであってよい。表されている実施では、ＤＲサーバ１０３は信号線１０４を介してネットワーク１０５へ結合される。ＤＲサーバ１０３は、ネットワーク１０５を介してクライアント装置１１５の１又はそれ以上の間でデータを送受信する。例えば、ＤＲサーバ１０３はネットワーク１０５を介して、イベントをクライアント装置１１５へ送信し、応答をクライアント装置１１５から受信する。
【００１８】
ＤＲサーバ１０３は帯域幅低減モジュール１９９及び記憶装置１０９を有する。帯域幅低減モジュール１９９は、ＤＲサーバ１０３がここで記載される機能を提供するために必要な帯域幅を低減するコード及びルーチンであってよい。幾つかの実施において、帯域幅低減モジュール１９９は、フィールドプログラマブルゲートアレイ（“ＦＰＧＡ”）又は特定用途向け集積回路（“ＡＳＩＣ”）を含むハードウェアにより実施されてよい。幾つかの他の例では、帯域幅低減モジュール１９９は、ハードウェア及びソフトウェアの組み合わせにより実施されてよい。幾つかの実施において、帯域幅低減モジュール１９９は、装置及びサーバの組み合わせにおいて、又は装置又はサーバの１つにおいて記憶されてよい。幾つかの実施において、帯域幅低減モジュール１９９は、部分的にはＤＲサーバ１０３に記憶され得るシンクライアントアプリケーションとして且つ部分的にはクライアント装置１１５に記憶され得るコンポーネントとして働く。帯域幅低減モジュール１９９は、図５、図６Ａ及び図６Ｂを参照して、より詳細に記載される。
【００１９】
記憶装置１０９は、ここで記載される機能を提供するデータを記憶する非一時的なメモリである。記憶装置１０９は、動的ランダムアクセスメモリ（ＤＲＡＭ）装置、静的ランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ又は何らかの他のメモリ装置であってよい。幾つかの実施において、記憶装置１０９は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、又はより永続的に情報を記憶する何らかの他の大容量記憶装置を含む不揮発性メモリ又は同様の恒久的な記憶装置及び媒体を更に有する。記憶装置１０９は、図５、図６Ａ及び図６Ｂを参照して、より詳細に記載される。
【００２０】
クライアント装置１１５は、メモリ及びプロセッサを有するコンピュータ装置であってよい。例えば、クライアント装置１１５は、プロセッサベースの需要応答スイッチ、サーバ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話機、パーソナルデジタルアシスタント（“ＰＤＡ”）、モバイル電子メール装置、ポータブルゲーム機、ポータブル音楽プレーヤ、１以上のプロセッサを内蔵するか又は結合されたテレビ受像機、又はネットワーク１０５にアクセス可能な他の電子機器であってよい。
【００２１】
表されている実施では、クライアント装置１１５ａは信号線１１８を介してネットワーク１０５へ通信上結合され、クライアント装置１１５ｂは信号線１１０を介してネットワーク１０５へ通信上結合され、クライアント装置１１５ｎは信号線１１２を介してネットワーク１０５へ通信上結合される。
【００２２】
クライアント装置１１５はイベントマネージャモジュール１０７を有する。イベントマネージャモジュール１０７は、ＤＲサーバ１０３がここで記載される機能を提供するために必要な帯域幅を低減するよう帯域幅低減モジュール１９９（及び任意に、他のクライアント装置１１５において動作する他のイベントマネージャモジュール１０７）と通信するコード及びルーチンであってよい。幾つかの実施において、イベントマネージャモジュール１０７は、ＦＰＧＡ又はＡＳＩＣを含むハードウェアにより実施されてよい。幾つかの他の例では、イベントマネージャモジュール１０７は、ハードウェア及びソフトウェアの組み合わせにより実施されてよい。幾つかの実施において、イベントマネージャモジュール１０７は、装置及びサーバの組み合わせにおいて、又は装置又はサーバの１つにおいて記憶されてよい。幾つかの実施において、イベントマネージャモジュール１０７は、部分的にはクライアント装置１１５に記憶され得るシンクライアントアプリケーションとして且つ部分的にはＤＲサーバ１０３に記憶され得るコンポーネントとして働く。イベントマネージャモジュール１０７は、図２乃至４、図７、図８、図９Ａ、図９Ｂ、図１０Ａ及び図１０Ｂを参照して、より詳細に記載される。
【００２３】
図２乃至４は、ここで記載される少なくとも１つの実施形態に従って配置される、ＤＲサーバ１０３のためのプロセッシング及び帯域幅負荷を低減するよう構成されたＤＲイベント配布のためのアーキテクチャ２００の幾つかの実施例のブロック図を表す。図２乃至４には、ＤＲサーバ１０３、帯域幅低減モジュール１９９及びクライアント装置１１５が表されている。図２乃至４は、異なる時点での同じアーキテクチャを表す。図２は図３より前の時点で起こり、図３は図１及び図２の後の時点で起こり、図４は図１乃至３の後の時点で起こる。
【００２４】
ここで図２を参照すると、例となるアーキテクチャ２００が表されている。表されている実施において、第１クライアント装置１１５ｂ、第２クライアント装置１１５ｃ及び第３クライアント装置１１５ｈは第４クライアント装置１１５ｅへビーコンを送信している。ここで使用されるビーコンは、クライアント装置１１５によって送信される信号を指してよい。対照的に、ＤＲサーバ１０３によって送信される信号はここでは“サーバビーコン”と称される。簡単のために、ビーコンに含まれるデータはここでは“ビーコンデータ”と称され、サーバビーコンに含まれるデータはここでは“サーバビーコンデータ”と称される。
【００２５】
図２において、ビーコンデータは、帯域幅低減モジュール１９９によって生成される異なるイベントを記述する。“イベント”は、帯域幅低減モジュール１９９によって生成されるＤＲイベントである。図２乃至４において、イベントは“イベント１”、“イベント２”及び“イベント３”と表される。イベント１、イベント２及びイベント３は、帯域幅低減モジュール１９９によって生成される異なるイベントである。例えば、イベント１は、電気の価格特定の時点で上がるようスケジューリングされており、クライアント装置１１５が自身の電気消費量を特定の使用量まで下げ得ることを示すイベントであってよい。イベント２及びイベント３は、配電網系統におけるＤＲに関する同様のイベントであってよい。
【００２６】
図２に表されている実施では、第１クライアント装置１１５ｂは、第１クライアント装置１１５ｂがイベント１、イベント２及びイベント３を記述するデータを有することを示すビーコンデータを含むビーコンを第４クライアント装置１１５ｅへ送信する。第２クライアント装置１１５ｃは、第２クライアント装置１１５ｃがイベント２及びイベント３を記述するデータを有することを示すビーコンデータを含むビーコンを第４クライアント装置１１５ｅへ送信する。第３クライアント装置１１５ｈは、第４クライアント装置１１５ｅがイベント１を記述するデータを有することを示すビーコンデータを含むビーコンを第４クライアント装置１１５ｅへ送信する。ビーコンデータはアナウンスデータを含んでよい。図５を参照してより詳細に記載されるように、アナウンスデータは、帯域幅低減モジュール１９９によって生成される１又はそれ以上のイベントを記述するデータである。
【００２７】
図２乃至４に表されている例となるアーキテクチャ２００はここでより詳細に記載される。図２乃至４に表されている実施において、９個のクライアント装置１１５は、ＤＲサーバ１０３に関連するピアクライアントの組である。クライアント装置１１５の夫々はＤＲサーバ１０３に関連づけられ、第１クライアント装置１１５ｂ及び第２クライアント装置１１５ｃのみがＤＲサーバ１０３と直接に通信するよう構成される。この構成は、ＤＲサーバ１０３がクライアント装置１１５の夫々と直接に通信する必要がなく、それによりＤＲサーバ１０３がその機能を実行するために必要な帯域幅を低減するので、有利である。対照的に、既存のＤＲシステムは、ＤＲサーバ１０３がクライアント装置１１５の夫々と直接に通信し、クライアント装置１１５の夫々との恒久的な接触を保つことを必要とし、それにより、図２乃至４に表されている実施に従って必要とされる帯域幅負荷よりもずっと高いＤＲサーバ１０３における帯域幅負荷を導入する。
【００２８】
帯域幅低減モジュール１９９は、ＤＲサーバ１０３のための帯域幅要件を低減するよう構成されるピアデータを決定する。ピアデータは、ＤＲサーバ１０３に関連するピアクライアントの組と、そのピアクライアントの組含まれるクライアント装置１１５が如何にして互いと通信するのかとを記述するデータである。ピアクライアントの組は、ＤＲサーバ１０３と通信するよう構成され、且つ、ＤＲサーバ１０３からデータ（例えば、ピアデータ及びアナウンスデータ）を受信するようにＤＲサーバ１０３に関連づけられる１又はそれ以上のクライアント装置１１５である。例えば、図２において、９個の表されているクライアント装置１１５ａ〜１１５ｎはピアクライアントの組である。ピアデータは、ＤＲサーバ１０３がピアクライアントの組に含まれるピアクライアントの夫々と直接に通信しないように構成される。なお、ピアデータはまた、ＤＲサーバ１０３が１又はそれ以上の受信ピアクライアントと直接に通信するようにも構成される。受信ピアクライアントは、ＤＲサーバ１０３と直接に通信するよう構成されるいずれかのクライアント装置１１５である。ピアクライアントの各組は１又はそれ以上の受信ピアクライアントを含む。図２に表されている例となるアーキテクチャ２００において、第１クライアント装置１１５ｂ及び第２クライアント装置１１５ｃは、それらが夫々ＤＲサーバ１０３と直接に通信するので、受信ピアクライアントである。
【００２９】
幾つかの例では、ピアデータは、異なるクライアント装置１１５の間のホップカウントを記述するデータを含んでよい。ホップカウントは、異なるクライアント装置１１５の間のホップの数の記述である。図２において、例えば、クライアント装置１１５ｎからクライアント装置１１５ｃへの最短通信は最初にクライアント装置１１５ｄ又はクライアント装置１１５ｈへ送信される必要があり、次いでクライアント装置１１５ｄ又はクライアント装置１１５ｈがその送信をクライアント装置１１５ｃへ中継するので、クライアント装置１１５ｎはクライアント装置１１５ｃから２ホップである。この例では、クライアント装置１１５ｎからクライアント装置１１５ｄ又はクライアント装置１１５ｈへの送信は第１のホップであり、クライアント装置１１５ｄ又はクライアント装置１１５ｈからクライアント装置１１５ｃへの送信は第２のホップである。従って、クライアント装置１１５ｎは、クライアント装置１１５ｎからクライアント装置１１５ｃへの送信が少なくとも２ホップを必要とするので、クライアント装置１１５ｃから２ホップである。
【００３０】
上述されたように、ピアデータは、ピアクライアントの組に含まれるクライアント装置１１５が如何にして互いと通信するのかを定義する。クライアント装置１１５は、夫々のクライアント装置１１５によって記憶される異なる通信関連性により他のピアクライアントと通信するようピアデータによって構成される。通信関連性は、どのクライアント装置１１５が互いと通信するのかを記述する。たとえば、クライアント装置１１５ｅはクライアント装置１１５ｂ、１１５ｃ、１１５ｆ、１１５ｇ及び１１５ｈと通信するよう構成される。クライアント装置１１５ｅとクライアント装置１１５ｂ、１１５ｃ、１１５ｆ、１１５ｇ及び１１５ｈとの間の通信関連性は夫々、要素２１６、２１８、２２４、２２６及び２２８によって図２中に示されている。図２乃至４に表されている他の通信関連性は以下で記載される。
【００３１】
クライアント装置１１５ａは、夫々通信関連性２０６及び２１２によって示されるように、クライアント装置１１５ｂ及び１１５ｆと通信するよう構成される。クライアント装置１１５ｂは、夫々通信関連性２０６、２０８、２１６及び２１４によって示されるように、クライアント装置１１５ａ、１１５ｃ、１１５ｅ及び１１５ｇと通信するよう構成される。クライアント装置１１５ｂはまた、通信関連性２０２によって示されるように、ＤＲサーバ１０３と通信するよう構成される。クライアント装置１１５ｃは、夫々通信関連性２０８、２１０、２１８及び２２０によって示されるように、クライアント装置１１５ｂ、１１５ｄ、１１５ｅ及び１１５ｈと通信するよう構成される。クライアント装置１１５ｃはまた、通信関連性２０４によって示されるように、ＤＲサーバ１０３と通信するよう構成される。
【００３２】
クライアント装置１１５ｄは、夫々通信関連性２１０及び２２２によって示されるように、クライアント装置１１５ｃ及び１１５ｎと通信するよう構成される。クライアント装置１１５ｆは、夫々通信関連性２１２及び２２４によって示されるように、クライアント装置１１５ａ及び１１５ｅと通信するよう構成される。クライアント装置１１５ｇは、夫々通信関連性２１４及び２２６によって示されるように、クライアント装置１１５ｂ及び１１５ｅと通信するよう構成される。クライアント装置１１５ｈは、夫々通信関連性２２８、２２０及び２３０によって示されるように、クライアント装置１１５ｅ、１１５ｃ及び１１５ｎと通信するよう構成される。クライアント装置１１５ｎは、夫々通信関連性２２２及び２３０によって示されるように、クライアント装置１１５ｄ及び１１５ｈと通信するよう構成される。
【００３３】
帯域幅低減モジュール１９９は、ピアクライアントの組に関するイベントを記述するアナウンスデータを生成する。例えば、帯域幅低減モジュール１９９は、イベント１、イベント２及びイベント３を記述するアナウンスデータを生成する。受信ピアクライアント１１５ｂ、１１５ｃはピアクライアントのサブセットに関連づけられる。例えば、第１クライアント装置１１５ｂはクライアント装置１１５ａ、１１５ｅ及び１１５ｇと関連づけられる。第２クライアント装置１１５ｃはクライアント装置１１５ｄ、１１５ｃ及び１１５ｈと関連づけられる。ＤＲサーバ１０３は受信ピアクライアント１１５ｂ、１１５ｃへビーコンを送信する。次いで、受信ピアクライアント１１５ｂ、１１５ｃは、それらが通信関連性を有するクライアント装置１１５へアナウンスデータを送信する。例えば、受信ピアクライアント１１５ｃはＤＲサーバ１０３からアナウンスデータを受信し、次いでアナウンスデータをクライアント装置１１５ｂ、１１５ｄ、１１５ｅ及び１１５ｈへ送信する。受信ピアクライアント１１５ｂ、１１５ｃからアナウンスデータを受信するクライアント装置１１５は次いで、それらが関連づけられるクライアント装置１１５へビーコンを送出して、それらのクライアント装置１１５にアナウンスデータに記述されるイベントを知らせる。同様に、それらのクライアント装置１１５は、既にアナウンスデータを受け取っているクライアント装置１１５からアナウンスデータを要求してよい。
【００３４】
例えば、受信ピアクライアント１１５ｃは、ビーコンデータをクライアント装置１１５ｈへ送信して、受信ピアクライアント１１５が情報を有する１又はそれ以上のイベントをクライアント装置１１５ｈに知らせる。クライアント装置１１５ｈは、受信ピアクライアント１１５ｃから受信したイベントを解析して、いずれかのイベントがクライアント装置１１５ｈによって記憶されるアナウンスデータから欠けているかどうかを決定する。例えば、クライアント装置１１５ｈは、クライアント装置１１５ｈのメモリに記憶されるアナウンスデータを取り出し、このアナウンスデータによって記述されるイベントを、受信ピアクライアント１１５ｃから受信したイベントに対してクロスリファレンスして、いずれかのイベントが欠けているかどうかを決定する。受信ピアクライアント１１５ｃが、クライアント装置１１５ｈが情報を有していないイベント（すなわち、“欠けているイベント”）に関する情報を有すると決定すると、クライアント装置１１５は、ビーコンを受信ピアクライアント１１５ｃへ送信して、欠けているイベントに関する情報を要求する。受信ピアクライアント１１５ｃは、欠けているイベントを記述するビーコンデータを含むビーコンをクライアント装置１１５ｈへ送信する。
【００３５】
クライアント装置１１５ｈは、クライアント装置１１５ｈがクライアント装置１１５ｅ及び１１５ｎとの通信関連性を有するので、それらのクライアント装置１１５ｅ及び１１５ｎとともに前の段落で記載された処理を繰り返す。例えば、クライアント装置１１５ｈは、クライアント装置１１５ｈが情報を有する１又はそれ以上のイベントの記述を含むビーコンをクライアント装置１１５ｎへ送信する。クライアント装置１１５ｎは、欠けているイベントが存在するかどうかを決定し、そうである場合は、クライアント装置１１５ｎは、欠けているイベントに関する情報の要求を含むビーコンをクライアント装置１１５ｈへ送信する。この処理は、ピアクライアントの組に含まれるクライアント装置１１５の夫々が帯域幅低減モジュール１９９によって生成されるイベントの全てを有するまで繰り返されてよい。このようにして、ピアクライアントの組に含まれる全てのクライアント装置１１５は、たとえＤＲサーバ１０３がピアクライアントの組に含まれるクライアント装置１１５の夫々と直接に通信しないようにピアデータが構成されるとしても、帯域幅低減モジュール１９９によって生成される全てのイベントに関する情報を受信する。代わりに、ＤＲサーバ１０３は、ピアクライアントのサブセット（すなわち、受信ピアクライアント１１５ｂ、１１５ｃ）とのみ直接に通信する。
【００３６】
ピアクライアントの組に含まれるクライアント装置１１５は、アナウンスデータによって記述される１又はそれ以上のイベントへのそれらの参加を示すイベント応答データを含むビーコンを送信する。イベント応答データは、アナウンスデータがＤＲサーバ１０３からクライアント装置１１５へ送信されたのと同じようにＤＲサーバ１０３へ直接又は間接に送信される。この概念は、図５乃至１０Ａを参照して、以下で更に詳細に記載される。
【００３７】
幾つかの実施において、上記のビーコンに含まれるデータは暗号化される。このデータの暗号化は、図５乃至１０Ａを参照して、より詳細に記載される。
【００３８】
ここで図３を参照すると、例となるアーキテクチャ２００が、図２に表された時点後に起きる時点において表されている。図３に表されている実施において、第４クライアント装置１１５ｅは、第４クライアント装置１１５ｅがイベント２及びイベント３を記述するデータを要求していることを示すビーコンデータを含むビーコンを第１クライアント装置１１５ｂへ送信する。
【００３９】
ここで図４を参照すると、例となるアーキテクチャ２００が、図３に表された時点後に起きる時点において表されている。図４に表されている実施において、クライアント装置１１５ａ、１１５ｂ及び１１５ｅは、イベント応答データを含むビーコンをＤＲサーバ１０３へ送信するよう互いと通信している。第５クライアント装置１１５ａは、イベント応答データを含むビーコンを第１クライアント装置１１５ｂへ送信する。第４クライアント装置１１５ｅは、イベント応答データを含むビーコンを第１クライアント装置１１５ｂへ送信する。第１クライアント装置１１５ｂは、第４クライアント装置１１５ｅ及び第５クライアント装置１１５ａからのイベント応答データを含むビーコンをＤＲサーバ１０３へ送信する。幾つかの実施において、上記のビーコンの１又はそれ以上に含まれるデータは暗号化される。イベント応答データの暗号化は、図５乃至１０Ａを参照して、より詳細に記載される。
【００４０】
ここで図５を参照すると、帯域幅低減モジュール１９９の例が、ここで記載される少なくとも１つの実施形態に従って表されている。図５は、幾つかの例に従って、帯域幅低減モジュール５９９、第１プロセッサ５３５、記憶装置５０９及び第１通信ユニット５４５を有するコンピュータ装置５００のブロック図である。コンピュータ装置５００の構成要素は、バス５２０によって通信上結合される。幾つかの実施において、コンピュータ装置５００は、図１乃至４のＤＲサーバ１０３のようなＤＲサーバ、又は図１乃至５のクライアント装置１１５のようなクライアント装置であってよい。帯域幅低減モジュール５９９及び記憶装置５０９は夫々、図１乃至４の帯域幅低減モジュール１９９及び図１の記憶装置１９９と同じであってよい。
【００４１】
第１プロセッサ５３５は、計算を実行して電子表示信号をディスプレイ装置へ供給するよう算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ又は何らかの他のプロセッサ配置を有してよい。第１プロセッサ５３５は、信号線５３６を介した他の構成要素との通信のためにバス５２０へ結合される。第１プロセッサ５３５は、データ信号を処理してよく、複数命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、又は命令セットの組み合わせを実施するアーキテクチャを含む様々なコンピュータアーキテクチャを有してよい。図５は単一プロセッサ５３５を有するが、複数のプロセッサが含まれてよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ及び物理構造が可能であってよい。
【００４２】
記憶装置５０９は、第１プロセッサ５３５によって実行され得る命令又はデータを記憶する。記憶装置５０９は、信号線５３８を介した他の構成要素との通信のためにバス５２０へ結合される。命令又はデータは、ここで記載される技術を実行するコードを含んでよい。
【００４３】
第１通信ユニット５４５は、どこに帯域幅低減モジュール５９９が記憶され得るかに依存してクライアント装置及びＤＲサーバのうちの少なくとも一方へデータを送信してよい。第１通信ユニット５４５は、どこに帯域幅低減モジュール５９９が記憶され得るかに依存してクライアント装置及びＤＲサーバのうちの少なくとも一方からデータを受信してよい。第１通信ユニット５４５は信号線５４６を介してバス５２０へ結合される。幾つかの実施において、第１通信ユニット５４５は、図１のネットワーク１０５のようなネットワークへ、又は他の通信チャネルへの直接的な物理接続のためのポートを有する。例えば、第１通信ユニット５４５は、ＵＳＢ、ＳＤ、ＲＪ４５又はクライアント装置との有線通信のための同様のポートのようなポートを有してよい。幾つかの実施において、第１通信ユニット５４５は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、ブルートゥース又は他の適切な無線通信方法を含む１又はそれ以上の無線通信方法によりクライアント装置又は他の通信チャネルとデータを交換する無線トランシーバを有する。
【００４４】
幾つかの実施において、第１通信ユニット５４５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール又は他の適切なタイプの電子通信を介することを含むセルラー通信ネットワーク上でデータを送信及び受信するセルラー通信トランシーバを有する。幾つかの実施において、第１通信ユニット５４５は有線ポート及び無線トランシーバを有する。第１通信ユニット５４５はまた、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ及びＳＭＴＰ等を含む標準のネットワークプロトコルによるデータの配布のための、ネットワークへの他の従来接続を提供する。
【００４５】
図５に表されている実施では、帯域幅低減モジュール５９９は第１通信モジュール５０２、ピアモジュール５０４、イベントモジュール５０６、第１暗号化モジュール５０８及び第１復号化モジュール５１０を有する。帯域幅低減モジュール５９９のそれらの構成要素は、バス５２０を介して互いへ通信上結合される。
【００４６】
第１通信モジュール５０２は、信号線５２２を介してバス５２０へ通信上結合される。ピアモジュール５０４は、信号線５２４を介してバス５２０へ通信上結合される。イベントモジュール５０６は、信号線５２６を介してバス５２０へ通信上結合される。第１暗号化モジュール５０８は、信号線５２８を介してバス５２０へ通信上結合される。第１復号化モジュール５１０は、信号線５３０を介してバス５２０へ通信上結合される。
【００４７】
第１通信モジュール５０２は、帯域幅低減モジュール５９９とコンピュータ装置５００の他の構成要素との間の通信を扱うルーチンを含むソフトウェアであってよい。幾つかの実施において、第１通信モジュール５０２は、帯域幅低減モジュール５９９とコンピュータ装置５００の他の構成要素との間の通信を扱うために後述される機能を提供するよう第１プロセッサ５３５によって実行可能な命令の組であってよい。幾つかの例では、第１通信モジュール５０２は、コンピュータ装置５００の記憶装置５０９に記憶されてよく、第１プロセッサ５３５によってアクセス可能且つ実行可能であってよい。
【００４８】
第１通信モジュール５０２は、第１通信ユニット５４５を介して、クライアント装置及びＤＲサーバの１又はそれ以上との間でデータを送受信する。
【００４９】
幾つかの実施において、第１通信モジュール５０２は、帯域幅低減モジュール５９９の構成要素からデータを受信し、そのデータを記憶装置５０９に記憶する。幾つかの実施において、第１通信モジュール５０２は、記憶装置５０９からデータを取り出し、そのデータを帯域幅低減モジュール５９９の１又はそれ以上の適切な構成要素へ送信する。幾つかの実施において、第１通信モジュール５０２は、帯域幅低減モジュール５９９の１又はそれ以上の適切な構成要素又は記憶装置５０９からデータを受信し、そのデータを、図１に表されたシステム１００における構成要素のような、コンピュータ装置５００へ通信上結合されるシステムの他の構成要素へ送信する。第１通信モジュール５０２は、信号線５２２を介した第１プロセッサ５３５及びコンピュータ装置５００の他の構成要素との協働及び通信のために適応されてよい。
【００５０】
ピアモジュール５０４は、ピアデータを決定するルーチンを含むソフトウェアであってよい。幾つかの実施において、ピアモジュール５０４は、ピアデータを決定するためにここで記載される機能を提供するよう第１プロセッサ５３５によって実行可能な命令の組であってよい。ピアモジュール５０４は、ピアデータを記憶装置５０９に記憶するよう第１通信モジュール５０２と通信してよい。ピアモジュール５０４は、ピアデータをクライアント装置へ送信するよう第１通信モジュール５０２と通信してよい。例えば、第１通信モジュール５０２はピアデータを受信ピアクライアントへ送信してよい。
【００５１】
幾つかの実施において、ピアモジュール５０４は、コンピュータ装置５００の記憶装置５０９に記憶されてよく、第１プロセッサ５３５によってアクセス可能且つ実行可能であってよい。ピアモジュール５０４は、信号線５２４を介した第１プロセッサ５３５及びコンピュータ装置５００の他の構成要素との協働及び通信のために適応されてよい。
【００５２】
イベントモジュール５０６は、アナウンスデータを決定するルーチンを含むソフトウェアであってよい。幾つかの実施において、イベントモジュール５０６は、アナウンスデータを決定するためにここで記載される機能を提供するよう第１プロセッサ５３５によって実行可能な命令の組であってよい。イベントモジュール５０６は、アナウンスデータを記憶装置５０９に記憶するよう第１通信モジュール５０２と通信してよい。イベントモジュール５０６は、アナウンスデータをクライアント装置へ送信するよう第１通信モジュール５０２と通信してよい。例えば、第１通信モジュール５０２はアナウンスデータを１又はそれ以上の受信ピアクライアントへ送信してよい。
【００５３】
幾つかの実施において、イベントモジュール５０６は、コンピュータ装置５００の記憶装置５０９に記憶されてよく、第１プロセッサ５３５によってアクセス可能且つ実行可能であってよい。イベントモジュール５０６は、信号線５２６を介して第１プロセッサ及びコンピュータ装置５００の他の構成要素との協働及び通信のために適応されてよい。
【００５４】
第１暗号化モジュール５０８は、第１通信モジュール５０２によって送信されるデータを暗号化するルーチンを含むソフトウェアであってよい。例えば、第１暗号化モジュール５０８は、第１暗号化モジュール５０８によって１又はそれ以上のクライアント装置へ送信されるピアデータ及びアナウンスデータを暗号化する。幾つかの実施において、第１暗号化モジュール５０８は、データを暗号化するためにここで記載される機能を提供するよう第１プロセッサ５３５によって実行可能な命令の組であってよい。第１暗号化モジュール５０８は、記憶装置５０９に記憶されるデータを取り出し且つ暗号化されたデータを記憶装置５０９に記憶するよう第１通信モジュール５０２と通信してよい。第１暗号化モジュール５０８は、暗号化されたデータをクライアント装置へ送信するよう第１通信モジュール５０２と通信してよい。例えば、第１通信モジュール５０２は、暗号化されたピアデータ又は暗号化されたアナウンスデータを受信ピアクライアントへ送信してよい。
【００５５】
幾つかの実施において、第１暗号化モジュール５０８は、公衆キーインフラストラクチャによりデータを暗号化する。例えば、ＤＲサーバ１０３は、ＤＲサーバ１０３に関連するクライアント装置１１５の夫々によって知られ且つ信頼されるそれ自身の公衆キー及びデジタル証明書を有する。幾つかの実施において、ＤＲサーバ１０３の公衆キーは、ＤＲサーバ１０３によってしか知られていない。ピアクライアントの組に含まれるクライアント装置１１５は、ＤＲサーバ１０３に関連する公衆キー対及びデジタル証明書を知り且つ信頼してよい。この例は、第１暗号化モジュール５０８がＤＲサーバ１０３の要素であると仮定するが、幾つかの実施では、第１暗号化モジュール５０８はクライアント装置の要素であってよいことが理解され得る。
【００５６】
幾つかの実施において、第１暗号化モジュール５０８は、ＤＲサーバ１０３に関連するクライアント装置１１５の夫々とともにペアワイズ共有秘密キーを確立する。第１暗号化モジュール５０８は、ピアクライアントの組に含まれるクライアント装置１１５とともにペアワイズ共有秘密キーを確立するよう第１通信モジュール５０２と協働してよい。他の実施において、第１暗号化モジュール５０８は、対称キー暗号化方法によりデータを暗号化する。この暗号化方法は、ＤＲサーバ１０３及びＤＲサーバ１０３に関連するクライアント装置１１５に関する計算オーバヘッドを最小限としうるので有利であり得る。
【００５７】
幾つかの実施において、ＤＲサーバ１０３は異なる需要応答プログラム（“ＤＲプログラム”）を実行する。ＤＲプログラムは、ＤＲサーバ１０３によって実施される如何なるプログラムであってもよい。例えば、ＤＲプログラムは、ＤＲサーバ１０３によって実施されるエネルギ管理プログラムであってよい。
【００５８】
幾つかの例において、第１暗号化モジュール５０８は、異なるＤＲプログラムの夫々のための異なる共有秘密キーを確立してよい。例えば、異なるクライアント装置１１５は、異なるＤＲプログラムを登録するようＤＲサーバ１０３と通信する。夫々のＤＲプログラムに関し、ＤＲサーバ１０３は、異なるデジタル証明書、ペアワイズ共有秘密キー及びＤＲプログラムキーを保持してよい。特定のクライアント装置１１５が特定のＤＲプログラムを登録した後、ＤＲサーバ１０３は対応するデジタル証明書、ペアワイズ共有秘密キー及びＤＲプログラムキーをそのクライアント装置１１５へ送信する。デジタル証明書、ペアワイズ共有秘密キー及びＤＲプログラムキーの送信は、帯域外通信として行われてよい。
【００５９】
幾つかの実施において、ＤＲサーバ１０３は、夫々のＤＲプログラムに関し同じデジタル証明書及びペアワイズ共有秘密キーを保持してよいが、異なるＤＲプログラムに関し異なるＤＲプログラムキーを保持する。幾つかの例では、デジタル証明書、ペアワイズ共有秘密キー及びＤＲプログラムキーのうちの１又はそれ以上は夫々のＤＲプログラムに関し異なる。つまり、夫々のＤＲプログラムに関し、デジタル証明書、ペアワイズ共有秘密キー及びＤＲプログラムキーの如何なる組み合わせも他のＤＲプログラムに対して異なってよい。例えば、第１暗号化モジュール５０８は、夫々のＤＲプログラムに関して異なる共有秘密キーを生成してよい。
【００６０】
第１暗号化モジュール５０８はピアデータを暗号化してよい。例えば、第１暗号化モジュール５０８は、公衆キーインフラストラクチャによりピアデータを暗号化する。公衆キーインフラストラクチャによりピアデータを暗号化することは、ＤＲサーバ１０３しかピアを定義することができないので有利である。同様に、第１暗号化モジュール５０８はアナウンスデータを暗号化してよい。例えば、第１暗号化モジュール５０８は、ＤＲサーバ１０３しかイベントを生成することができないように公衆キーインフラストラクチャによりアナウンスデータを暗号化する。幾つかの例において、第１暗号化モジュール５０８は、ピアクライアントの組に含まれる異なるクライアント装置１１５に関して異なる公衆キーによりアナウンスデータを暗号化する。第１暗号化モジュール５０８は、何らかの他の暗号化方法によりピアデータ及びアナウンスデータを暗号化してよい。
【００６１】
第１通信モジュール５０２は、サーバビーコンにおいてピアデータ又はアナウンスデータを送信してよい。図２を参照して上述されたように、“サーバビーコン”はＤＲサーバ１０３によって送信される信号であり、一方、“ビーコン”はクライアント装置１１５によって送信される信号である。サーバビーコンは、とりわけピアデータ又はアナウンスデータを記述するサーバビーコンを含んでよい。例えば、ＤＲサーバ１０３は、イベントに関連するアナウンスデータによって記述されるイベントを生成するとする。第１通信モジュール５０２は、イベントに関連するサーバビーコンデータを含むサーバビーコンを受信ピアクライアントへ送信する。この例では、サーバビーコンデータは、イベントを記述するアナウンスデータを含む。
【００６２】
幾つかの実施において、記憶装置５０９は、イベントがイベント識別子（ここでは“イベントＩＤ”と称される。）に関連づけられ且つ受信ピアクライアントが受信者識別子（ここでは“受信者ＩＤ”と称される。）に関連づけられることを示すデータを記憶する。イベントＩＤ及び受信者ＩＤは記憶装置５０９に記憶されてよい。
【００６３】
幾つかの実施において、タプルが、イベントに関連づけられてサーバビーコンに含まれてよい。例えば、ＤＲサーバ１０３は、アナウンスデータによって記述されるイベントを生成するとする。第１通信モジュール５０２は、イベントを記述するアナウンスデータを含むサーバビーコンを受信ピアクライアントへ送信する。イベントはイベントＩＤによって識別され、受信ピアクライアントは受信者ＩＤによって識別される。サーバビーコンデータは、イベントを記述するタプルを含んでよい。例えば、アナウンスデータは、｛イベントＩＤ，受信者ＩＤ｝又は｛受信者ＩＤ，イベントＩＤ｝のような、受信者ＩＤ及びイベントＩＤの順序付きリストによって形成されるタプルを含んでよい。
【００６４】
幾つかの実施において、受信者ＩＤは、特定のクライアント装置１１５を識別する代わりに、特定のＤＲプログラムを識別してよい。幾つかの例において、アナウンスデータは、受信者ＩＤに対応する共有秘密キーにより暗号化される。他の例では、サーバビーコンの送信は、ＤＲサーバ１０３に関連する公衆キーを用いて第１暗号化モジュール５０８によって署名される。ＤＲサーバ１０３に関連する公衆キーを用いてサーバビーコンに署名することは、例えば、ＤＲサーバ１０３のみがＤＲサーバ１０３に関連するクライアント装置１１５によって作用される送信を発行し得るので、有利である。
【００６５】
幾つかの実施において、サーバビーコンデータはビーコンパラメータの組を含む。ビーコンパラメータは、ピアデータの要素として含まれてよい。ビーコンパラメータはまた、ピアデータとは別のデータの組であってよい。ビーコンパラメータは、例えば、図２乃至４を参照して上述されたように、どれくらいの頻度で異なるピアクライアントがビーコンを互いへ送信するのかを記述してよい。ビーコンパラメータは、如何にしてピアクライアントが互いに関連するのかを変更するデータを更に有してよい。例えば、ビーコンパラメータは更新ピアデータを含んでよい。更新ピアデータは、ピアクライアントの組に含まれる異なるクライアント装置１１５の間の通信関連性を変更するピアデータである。
【００６６】
幾つかの実施において、第１暗号化モジュール５０８は、コンピュータ装置５００の記憶装置５０９に記憶されてよく、第１プロセッサ５３５によってアクセス可能且つ実行可能であってよい。第１暗号化モジュール５０８は、信号線５２８を介した第１プロセッサ５３５及びコンピュータ装置５００の他の構成要素との協働及び通信のために適応されてよい。
【００６７】
第１暗号化モジュール５０８は、第１通信モジュール５０２によって送信されるデータを暗号化するルーチンを含むソフトウェアであってよい。例えば、第１暗号化モジュール５０８は、第１暗号化モジュール５０８によって１又はそれ以上のクライアント装置１１５へ送信されるピアデータ及びアナウンスデータを暗号化する。幾つかの実施において、第１暗号化モジュール５０８は、データを暗号化するためにここで記載される機能を提供するよう第１プロセッサ５３５によって実行可能な命令の組であってよい。第１暗号化モジュール５０８は、記憶装置５０９に記憶されるデータを取り出し、暗号化されたデータを記憶装置５０９に記憶するよう第１通信モジュール５０２と通信してよい。第１暗号化モジュール５０８は、暗号化されたデータをクライアント装置１１５へ送信するよう第１通信モジュール５０２と通信してよい。例えば、第１通信モジュール５０２は、暗号化されたピアデータを受信ピアクライアントへ送信してよい。
【００６８】
第１復号化モジュール５１０は、データを復号化するルーチンを含むソフトウェアであってよい。幾つかの実施において、第１復号化モジュール５１０は、データを復号化するためにここで記載される機能を提供するよう第１プロセッサ５３５によって実行可能な命令の組であってよい。第１復号化モジュール５１０は、記憶装置５０９に記憶される暗号化されたデータを取り出し、復号化されたデータを記憶装置５０９に記憶するよう第１通信モジュール５０２と通信してよい。復号化されたデータは、暗号化データの復号化された等価物（又はバージョン）であってよい。例えば、第１通信モジュール５０２は、図４を参照して上述されたように、受信ピアクライアントから暗号化されたイベント応答データを受信してよい。第１通信モジュール５０２は、暗号化されたイベント応答データを第１復号化モジュール５１０へ送信する。第１復号化モジュール５１０はイベント応答データを復号化する。第１復号化モジュール５１０は、復号化されたイベント応答データを記憶装置５０９に記憶するよう第１通信モジュール５０２と通信する。
【００６９】
幾つかの実施において、第１復号化モジュール５１０は、コンピュータ装置５００の記憶装置５０９に記憶されてよく、第１プロセッサ５３５によってアクセス可能且つ実行可能であってよい。第１復号化モジュール５１０は、信号線５３０を介した第１プロセッサ５３５及びコンピュータ装置５００の他の構成要素との協働及び通信のために適応されてよい。
【００７０】
ここで図６Ａ及び図６Ｂを参照すると、ピアデータ及びアナウンスデータを決定する方法６００の例が、ここで記載される少なくとも１つの実施形態に従って記載される。方法６００は図１乃至６を参照して記載される。別個のブロックとして表されているが、様々なブロックは、望まれる実施に依存して、更なるブロックに分けられ、より少ないブロックにまとめられ、又は削除されてよい。
【００７１】
当業者には明らかなように、ここ開示されるこの及び他の処理及び方法に関し、処理及び方法において実行される実行は異なる順序で実施されてよい。更に、概説されるステップ及び動作は例としてのみ与えられ、ステップ及び動作の一部は、開示される実施形態の本質を損なうことなく、任意であり、より少ないステップ及び動作にまとめられ、又は更なるステップ及び動作に拡張されてよい。
【００７２】
図６Ａの表されている実施において、方法６００は、第１通信モジュール５０２がクライアント装置１１５から受信者ＩＤを受信するステップ６０２を有してよい。第１通信モジュール５０２は、受信者ＩＤを記憶装置５０９に記憶する（ステップ６０４）。記憶装置５０９は１又はそれ以上の受信者ＩＤを記憶してよい。ピアモジュール５０４は、ピアクライアントの組に関するピアデータを決定する（ステップ６０６）。第１暗号化モジュール５０８はピアデータを暗号化する（ステップ６０８）。暗号化されたデータは送信される（ステップ６１０）。イベントモジュール５０６は、１又はそれ以上のイベントを記述するアナウンスデータを生成する（ステップ６１２）。第１暗号化モジュール５０８はアナウンスデータを暗号化する（ステップ６１４）。
【００７３】
ここで図６Ｂを参照すると、第１通信モジュール５０２は、暗号化されたアナウンスデータを送信する（ステップ６１６）。第１通信モジュール５０２は、１又はそれ以上の受信ピアクライアントからイベント応答データを受信する（ステップ６１８）。イベント応答データは暗号化されてよい。第１復号化モジュール５１０はイベント応答データを復号化する（ステップ６２０）。第１通信モジュール５０２は、復号化されたイベント応答データを記憶装置５０９に記憶する（ステップ６２２）。
【００７４】
当業者には明らかなように、ここで開示されるこの及び他の処理及び方法に関し、処理及び方法において実行される実行は異なる順序で実施されてよい。更に、概説されるステップ及び動作は例としてのみ与えられ、ステップ及び動作の一部は、開示される実施形態の本質を損なうことなく、任意であり、より少ないステップ及び動作にまとめられ、又は更なるステップ及び動作に拡張されてよい。
【００７５】
ここで図７を参照すると、イベントマネージャモジュール７０７の例が、ここで記載される少なくとも１つの実施形態に従って、より詳細に表されている。図７は、幾つかの例に従って、イベントマネージャモジュール７０７、第２プロセッサ７３５、メモリ７３７及び第２通信ユニット７４５を有するコンピュータ装置７００のブロック図である。コンピュータ装置７００の構成要素は、バス７２０によって通信上結合される。幾つかの実施において、コンピュータ装置７００は、図１乃至４のＤＲサーバ１０３のようなＤＲサーバ、又は図１乃至４のクライアント装置１１５のようなクライアント装置であってよい。イベントマネージャモジュール７０７は、図１乃至４のイベントマネージャモジュール１０７と同じであってよい。
【００７６】
第２プロセッサ７３５は第１プロセッサ５３５と同様の機能を有する。第１プロセッサ５３５の機能は、図５を参照して上述されている。然るに、その記載はここでは繰り返されない。図７は単一の第２プロセッサ７３５を有するが、複数のプロセッサが含まれてよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ及び物理構造が可能であってよい。第２プロセッサ７３５は信号線７４５を介してバス７２０へ結合される。
【００７７】
メモリ７３７は、プロセッサ７３５によって実行され得る命令又はデータを記憶する。命令又はデータは、ここで記載される技術を実行するコードを含んでよい。メモリ７３７は、非一時的なコンピュータ可読記憶媒体である。例えば、メモリ７３７は、動的ランダムアクセスメモリ（ＤＲＡＭ）装置、静的ランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ又は何らかの他のメモリ装置であってよい。幾つかの実施において、メモリ７３７は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、又はより永続的に情報を記憶する何らかの他の大容量記憶装置を含む不揮発性メモリ又は同様の恒久的な記憶装置及び媒体を更に有する。メモリ７３７は信号線７４８を介してバス７２０へ結合される。
【００７８】
第２通信ユニット７４５は、どこにイベントマネージャモジュール７０７が記憶され得るかに依存してクライアント装置１１５及びＤＲサーバ１０３のうちの少なくとも一方へデータを送信してよい。第２通信ユニット７４５は、どこにイベントマネージャモジュール７０７が記憶され得るかに依存してクライアント装置１１５及びＤＲサーバ１０３のうちの少なくとも一方からデータを受信してよい。第２通信ユニット７４５は信号線７４６を介してバス７２０へ結合される。第２通信ユニット７４５は、第１通信ユニット５４５と同様の機能を有する。第１通信ユニット５４５の特徴は、図５を参照して上述されている。然るに、その説明はここでは繰り返されない。
【００７９】
図７に表されている実施において、イベントマネージャモジュール７０７は第２通信モジュール７０２、決定モジュール７０４、第２暗号化モジュール７０８、第２復号化モジュール７１０、受信者モジュール７１２、複製モジュール７１４、統合モジュール７１６、冗長性モジュール７１８、要求モジュール７２２及び報告モジュール７２４を有する。イベントマネージャモジュール７０７のそれらの構成要素は、バス７０２を介して互いへ通信上結合される。
【００８０】
第２通信モジュール７０２は信号線７２２を介してバス７２０へ通信上結合される。決定モジュール７０４は信号線７２４を介してバス７２０へ通信上結合される。第２暗号化モジュール７０８は信号線７２８を介してバス７２０へ通信上結合される。第２復号化モジュール７１０は信号線７３０を介してバス７２０へ通信上結合される。受信者モジュール７１２は信号線７３２を介してバス７２０へ通信上結合される。複製モジュール７１４は信号線７３４を介してバス７２０へ通信上結合される。統合モジュール７１６は信号線７３６を介してバス７２０へ通信上結合される。冗長性モジュール７１８は信号線７３８を介してバス７２０へ通信上結合される。要求モジュール７２２は信号線７４２を介してバス７２０へ通信上結合される。報告モジュール７２４は信号線７４４を介してバス７２０へ通信上結合される。
【００８１】
第２通信モジュール７０２は、イベントマネージャモジュール７０７とコンピュータ装置７００の他の構成要素との間の通信を扱うルーチンを含むソフトウェアであってよい。幾つかの実施において、第２通信モジュール７０２は、イベントマネージャモジュール７０７とコンピュータ装置７００の他の構成要素との間の通信を扱うために後述される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。幾つかの例において、第２通信モジュール７０２は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。
【００８２】
第２通信モジュール７０２は、第２通信ユニット７４５を介して、クライアント装置１１５及びＤＲサーバ１０３の１又はそれ以上との間でデータを送信及び受信する。
【００８３】
幾つかの実施において、第２通信モジュール７０２は、イベントマネージャモジュール７０７の構成要素からデータを受信し、そのデータをメモリ７３７に記憶する。幾つかの実施において、第２通信モジュール７０２は、メモリ７３７からデータを取り出し、そのデータをイベントマネージャモジュール７０７の１又はそれ以上の適切な構成要素へ送信する。幾つかの実施において、第２通信モジュール７０２は、データをイベントマネージャモジュール７０７の１又はそれ以上の適切な構成要素又はメモリ７３７から受信し、そのデータを図１に表されたシステム１００の他の構成要素へ送信する。第２通信モジュール７０２は、信号線７２２を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【００８４】
決定モジュール７０４は、ビーコンデータを決定するルーチンを含むソフトウェアであってよい。ビーコンデータは、クライアント装置１１５によって送信される如何なるデータも含んでよい。例えば、ビーコンデータは、ビーコンパラメータ、異なるクライアント装置１１５の間の最短ホップカウント、クライアント装置からのアナウンスデータの要求、イベントＩＤ、受信者ＩＤ、及びイベントマネージャモジュール７０７を記憶するクライアント装置１１５がＤＲサーバ１０３によって生成されたイベントの夫々を記述するデータを有するとの記録インジケータのうちの１又はそれ以上を記述するデータを含んでよい。記録インジケータは、イベントマネージャモジュール７０７を記憶するクライアント装置１１５がＤＲサーバ１０３によって生成されたイベントの夫々を記述するデータを有するかどうかを示すフラグであってよい。
【００８５】
幾つかの実施において、決定モジュール７０４は、ビーコンデータを決定するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。決定モジュール７０４は、ビーコンデータをメモリ７３７に記憶するよう第２通信モジュール７０２と通信してよい。決定モジュール７０４は、ビーコンを１又はそれ以上のクライアント装置１１５又はＤＲサーバ１０３へ送信するよう第２通信モジュール７０２と通信してよい。
【００８６】
幾つかの実施において、決定モジュール７０４は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。決定モジュール７０４は、信号線７２４を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【００８７】
第２暗号化モジュール７０８は、データを暗号化するルーチンを含むソフトウェアであってよい。第２暗号化モジュール７０８は、イベントマネージャモジュール７０７によってアクセス可能な如何なるデータも暗号化してよい。例えば、第２暗号化モジュール７０８は、ビーコンデータ、イベント応答データ、等を暗号化する。第２暗号化モジュール７０８は、図５を参照して上述された第１暗号化モジュール５０８と同様の機能を提供し、故に、その記載はここでは繰り返されない。
【００８８】
幾つかの実施において、第２暗号化モジュール７０８は、データを暗号化するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。第２暗号化モジュール７０８は、暗号化されたデータをメモリ７３７に記憶するよう第２通信モジュール７０２と通信してよい。第２暗号化モジュール７０８は、暗号化されたデータを１又はそれ以上のクライアント装置１１５又はＤＲサーバ１０３へ送信するよう第２通信モジュール７０２と通信してよい。例えば、第２通信モジュール７０２は、暗号化されたビーコンデータを１又はそれ以上のクライアント装置１１５又はＤＲサーバ１０３へ送信してよい。
【００８９】
幾つかの実施において、第２暗号化モジュール７０８は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。第２暗号化モジュール７０８は、信号線７２８を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【００９０】
第２復号化モジュール７１０は、データを復号化するルーチンを含むソフトウェアであってよい。第２復号化モジュール７１０は、イベントマネージャモジュール７０７によってアクセス可能な如何なる暗号化されたデータも復号化してよい。例えば、第２復号化モジュール７１０は、暗号化されたピアデータ、アナウンスデータ、ビーコンデータ、イベント応答データ、等を復号化する。第２復号化モジュール７１０は、図５を参照して上述された第１復号化モジュール５１０と同様の機能を提供し、故に、その記載はここでは繰り返されない。
【００９１】
幾つかの実施において、第２復号化モジュール７１０は、データを復号化するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。第２復号化モジュール７１０は、復号化されたデータをメモリ７３７に記憶するよう第２通信モジュール７０２と通信してよい。
【００９２】
幾つかの実施において、第２復号化モジュール７１０は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。第２復号化モジュール７１０は、信号線７３０を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【００９３】
受信者モジュール７１２は、伝送又は信号の受信者を決定するルーチンを含むソフトウェアであってよい。例えば、受信者モジュール７１２はビーコンの受信者を決定する。受信者モジュール７１２は、帯域幅低減モジュール１９９によって生成されるピアデータに基づき受信者を決定してよい。例えば、受信者モジュール７１２は、第１クライアント装置１１５の要素であり、ピアデータは、第１クライアント装置１１５がデータ送信時にどの他のクライアント装置１１５と通信することができるのかを記述する。受信者モジュール７１２はピアデータを解析して、どのクライアント装置１１５がイベントマネージャモジュール７０７によって送信されるビーコンの受信者であり得るのかを決定する。幾つかの例において、受信者は、ＤＲサーバ１０３への最低ホップカウントを有するクライアント装置である。
【００９４】
幾つかの実施において、受信者モジュール７１２は、帯域幅低減モジュール１９９によって生成されるピアデータ及びアナウンスデータの組み合わせに基づき受信者を決定してよい。例えば、イベントマネージャモジュール７０７は第１クライアント装置１１５の要素である。イベントマネージャモジュール７０７は異なるクライアント装置１１５からビーコンを受信する。ビーコンは、他のクライアント装置１１５がどのイベントに関する情報を有するのかを記述するビーコンデータを含む。図２及び“欠けているイベント”の存在を決定することを参照して上述されたように、受信者モジュール７１２はビーコンデータを解析して、第１クライアント装置１１５が情報を有していないイベントに関する情報を他のクライアント装置１１５が有するかどうかを決定する。つまり、受信者モジュール７１２は、他のクライアント装置１１５が欠けているイベントを記述するアナウンスデータを有するかどうかを決定する。この状況において、受信者モジュール７１２は、他のクライアント装置１１５を、欠けているイベントに関する情報を要求するビーコンデータを含むビーコンの受信者であると決定してよい。
【００９５】
幾つかの実施において、イベントマネージャモジュール７０７は、イベント応答データを含むビーコンをＤＲサーバ１０３へ送信している。イベントマネージャモジュール７０７が、受信ピアクライアントでもあるクライアント装置１１５の要素である場合は、受信者モジュール７１２は、ＤＲサーバ１０３がイベント応答データを含むビーコンの受信者であると決定する。なお、イベントマネージャモジュール７０７が、受信ピアクライアントでないクライアント装置１１５の要素である場合は、受信者モジュール７１２はピアデータを解析してビーコンの受信者を決定する。例えば、受信者モジュール７１２はピアデータを解析して１又はそれ以上のピアを決定する。つまり、図２を参照して上述されたように、受信者モジュール７１２は、ピアクライアントの組の間の通信関連性の存在を決定する。第１クライアント装置１１５が通信関連性を有する如何なるクライアント装置１１５も、第１クライアント装置１１５の“ピア”又は“ピアクライアント”と呼ばれ得る。次いで、受信者モジュール７１２は、１又はそれ以上のメトリクスに基づき、ピアのいずれが受信であり得るのかを決定する。例えば、受信者モジュール７１２は、ＤＲサーバ１０３への最低ホップカウントを有するピアが受信者であると決定する。
【００９６】
幾つかの実施において、受信者モジュール７１２は、受信者を決定するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。受信者モジュール７１２は、メモリ７３７からデータを取り出し且つデータをメモリ７３７に記憶するよう第２通信モジュール７０２と通信してよい。
【００９７】
幾つかの実施において、受信者モジュール７１２は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。受信者モジュール７１２は、信号線７３２を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【００９８】
複製モジュール７１４は、複製データの存在を決定するルーチンを含むソフトウェアであってよい。複製モジュール７１４はまた、複製データを削除してよい。例えば、イベントマネージャモジュール７０７は、複数の他のクライアント装置１１５からビーコンを受信する第１クライアント装置１１５の要素である。ビーコンは、他のクライアント装置１１５からのイベント応答データを含む。イベント応答データの幾つかは複製データ（又は“複製”）を含むことがある。複製モジュール７１４は複製データの存在を検出する。複製モジュール７１４は複製データを削除する。
【００９９】
複製データの概念はここで更に詳細に記載される。例えば、第１クライアント装置１１５は第２クライアント装置１１５及び第３クライアント装置１１５からイベント応答データを受信するとする。第２及び第３クライアント装置１１５は第４クライアント装置に関するイベント応答データを有し、第４クライアント装置に関するこのイベント応答データは、第１クライアント装置１１５によって第２クライアント装置１１５及び第３クライアント装置１１５の両方から受信されるイベント応答データに含まれる。第１クライアント装置１１５は、第２クライアント装置１１５及び第３クライアント装置１１５の両方から第４クライアント装置に関するイベント応答データを受信するので、第１クライアント装置１１５は、第４クライアント装置１１５に関して二重のイベント応答データを有する。複製モジュール７１４は、異なるクライアント装置１１５から受信されたイベント応答データを解析して複製の存在を決定する。複製モジュール７１４は複製データを削除してよい。
【０１００】
幾つかの実施において、複製モジュール７１４は、複製データを決定し且つ複製データを削除するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。複製モジュール７１４は、メモリ７３７に記憶されるデータを取り出し且つ削除するよう第２通信モジュール７０２と通信してよい。
【０１０１】
幾つかの実施において、複製モジュール７１４は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。複製モジュール７１４は、信号線７３４を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【０１０２】
統合モジュール７１６は、データを統合するルーチンを含むソフトウェアであってよい。例えば、イベントマネージャモジュール７０７は、複数の他のクライアント装置１１５からビーコンを受信する第１クライアント装置１１５の要素である。ビーコンは、他のクライアント装置１１５からのイベント応答データを含む。統合モジュール７１６は、ＤＲサーバ１０３又は他のクライアント装置１１５へ配信され得るイベント応答データの単一の組を形成するよう異なるイベント応答データを統合する。幾つかの例において、統合モジュール７１６は、ＤＲサーバ１０３又は他のクライアント装置１１５へビーコンにおいて送信される単一パケットを形成するようイベント応答データを統合する。イベント応答データを統合することは、例えば、統合されたイベント応答データの受信者のためのパケットオーバヘッドを低減するので有益である。
【０１０３】
幾つかの実施において、統合モジュール７１６は、統合するデータを決定するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。統合モジュール７１６は、メモリ７３７に記憶されるデータを取り出し且つ削除するよう第２通信モジュール７０２と通信してよい。
【０１０４】
幾つかの実施において、統合モジュール７１６は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。統合モジュール７１６は、信号線７３６を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【０１０５】
冗長性モジュール７１８は、冗長のイベント応答データが送信され得るかどうかを決定するルーチンを含むソフトウェアであってよい。例えば、イベントマネージャモジュール７０７は、第１クライアント装置１１５に関するイベント応答データを含むビーコンを送信する第１クライアント装置１１５の要素である。ビーコンはピアクライアントへ送信される。ビーコンはまた、統合モジュール７１６を参照して上述されたように、複数の他のクライアント装置１１５からのイベント応答データを含んでよい。幾つかの例において、例えば、複数のビーコンを送信することは、ＤＲサーバ１０３がイベント応答データを受信する可能性を高める冗長性を生じさせ得るので、このイベント応答データを含む複数のビーコンを異なるピアクライアントへ送信することが有益であり得る。冗長性モジュール７１８は、イベント応答データを含むビーコンが送信されたかどうかを決定してよい。冗長性モジュール７１８はまた、イベント応答データを含む更なるビーコンが冗長を生み出すために送信され得るかどうかを決定してよい。例えば、帯域幅低減モジュール１９９によって生成されるビーコンパラメータは、イベントマネージャモジュール７０７がイベント応答データを含む特定数のビーコンを送信してよいことを示し、冗長性モジュール７１８は、イベントマネージャモジュール７０７がビーコンパラメータに基づき更なるビーコンを送信することを確かにする。
【０１０６】
幾つかの実施において、冗長性モジュール７１８は、冗長なイベント応答データが送信されるべきかどうかを決定するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。冗長性モジュール７１８は、メモリ７３７に記憶されるデータを取り出し且つ削除するよう第２通信モジュール７０２と通信してよい。
【０１０７】
幾つかの実施において、冗長性モジュール７１８は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。冗長性モジュール７１８は、信号線７３８を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【０１０８】
要求モジュール７２２は、イベント要求を生成するルーチンを含むソフトウェアであってよい。イベント要求は、欠けているイベントに関する情報を要求するデータを含む。例えば、要求モジュール７２２は第１クライアント装置１１５の要素であるとする。メモリ７３７は、第１クライアント装置１１５が情報を有するイベントを記述するアナウンスデータを記憶する。イベントマネージャモジュール７０７は、第１クライアント装置１１５が情報を有さないイベントを記述するアナウンスデータを含むビーコンを第２クライアント装置１１５から受信する。つまり、ビーコンは、欠けているイベントを記述するアナウンスデータを含む。受信者モジュール７１２は欠けているイベントの存在を決定する。要求モジュール７２２は、欠けているイベントを記述するアナウンスデータの要求を記述するデータを含むイベント要求を生成する。イベント要求は、ビーコンとして第２クライアント装置１１５へ送信され得る。要求モジュール７２２は、図１０Ａ及び図１０Ｂを参照して後述される他の機能を提供する。
【０１０９】
幾つかの実施において、要求モジュール７２２は、イベント要求を生成するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。要求モジュール７２２は、メモリ７３７に記憶されるデータを取り出し且つデータをメモリ７３７にセーブするよう第２通信モジュール７０２と通信してよい。
【０１１０】
幾つかの実施において、要求モジュール７２２は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。要求モジュール７２２は、信号線７４２を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【０１１１】
報告モジュール７２４は、リポートを生成するルーチンを含むソフトウェアであってよい。幾つかの例において、クライアント装置１１５は、クライアント装置１１５又はクライアント装置１１５に関連する電気機器の電気消費量をモニタするよう構成されるハードウェア又はソフトウェアを有する。クライアント装置１１５は、に又はそれ以上の電気機器をモニタするよう構成されてよい。クライアント装置１１５は、モニタされたイベント記述するテレメトリをＤＲサーバ１０３へ供給するよう構成されてよい。報告モジュール７２４によって生成されるリポートは、クライアント装置１１５に関連するテレメトリデータを記述してよい。例えば、リポートは、クライアント装置１１５又はクライアント装置１１５によってモニタされる電気機器の電気消費量又はこれまでの負荷を記述する。リポートは、要求モジュール７２２によって生成されるビーコンデータにおいて、又は報告モジュール７２４によって生成されるリポートデータによって含まれてよい。
【０１１２】
報告モジュール７２４によって生成されるリポートは、例えば、ＤＲサーバ１０３にクライアント装置１１５又はクライアント装置１１５によってモニタされる電気機器の電気消費量又はこれまでの負荷に関する情報を提供することによってＤＲプログラムが更新又は改善されることを可能にするので、有益である。ＤＲサーバ１０３は、ピアクライアントの国含まれるクライアント装置１１５の夫々からリポートを受信してよいので、ＤＲサーバ１０３は、ピアクライアントの組に含まれるクライアント装置１１５の夫々に関して電気消費量又はこれまでの負荷に関する情報を有してよい。報告モジュール７２４によって生成されるリポートは、クライアント装置１１５又はクライアント装置１１５によってモニタされる電気機器に関連する他のメトリクスを記述してよい。
【０１１３】
幾つかの実施において、報告モジュール７２４はイベントログを生成してよい。例えば、イベントマネージャモジュール７０７は第１クライアント装置１１５の要素である。イベントログは、第１クライアント装置１１５が情報を有するイベントを記述するデータを含んでよい。例えば、第２通信モジュール７０２は、メモリ７３７に記憶されるアナウンスデータを取り出し、報告モジュール７２４はアナウンスデータを用いて、第１クライアント装置１１５が有するイベントの夫々を記述するイベントログを生成する。幾つかの例において、リポートを記述するデータは、イベントログがＤＲサーバ１０３によって生成された全てのイベントの完全な記録であることを示す識別子を含んでよい。例えば、リポートは、イベントログがＤＲサーバ１０３によって生成された全てのイベントの完全な記録を含むことを示すフラグを含む。
【０１１４】
幾つかの実施において、報告モジュール７２４は、リポートを生成するためにここで記載される機能を提供するよう第２プロセッサ７３５によって実行可能な命令の組であってよい。報告モジュール７２４は、メモリ７３７に記憶されるデータを取り出し且つデータをメモリ７３７にセーブするよう第２通信モジュール７０２と通信してよい。
【０１１５】
幾つかの実施において、報告モジュール７２４は、コンピュータ装置７００のメモリ７３７に記憶されてよく、第２プロセッサ７３５によってアクセス可能且つ実行可能であってよい。報告モジュール７２４は、信号線７４４を介した第２プロセッサ７３５及びコンピュータ装置７００の他の構成要素との協働及び通信のために適応されてよい。
【０１１６】
ここで図８を参照すると、ビーコンデータを決定する方法８００の例が、ここで記載される少なくとも１つの実施形態に従って記載されている。方法８００は、図１乃至４及び図７と組み合わせて記載される。表されている実施では、方法８００は、第２通信モジュール７０２がＤＲサーバ１０３又はクライアント装置１１５からピアデータを受信するステップ８０２を有してよい。ピアデータは、ＤＲサーバ１０３又は他のクライアント装置１１５から受信されるサーバビーコンに含まれてよい。第２復号化モジュール７１０はピアデータを復号化する（ステップ８０４）。決定モジュール７０４はビーコンデータを決定する（ステップ８０６）。決定モジュール７０４によって決定されるビーコンデータはピアデータを含んでよい。例えば、イベントマネージャモジュール７０７は第１クライアント装置１１５の要素である。ピアデータは、１又はそれ以上のクライアント装置１１５が１又はそれ以上のピアデータを有することを記述する。イベントマネージャモジュール７０７は、ピアクライアントがピアデータを有するようにピアデータをピアクライアントへ中継する必要がある。決定モジュール７０４は、ビーコンデータがピアクライアントへ送信され得るように、ピアデータを含むビーコンデータを決定する（ステップ８０６）。
【０１１７】
第２暗号化モジュール７０８はビーコンデータを暗号化する（ステップ８０８）。受信者モジュール７１２はビーコンデータの受信者を決定する（ステップ８１０）。第２通信モジュール７０２は、ビーコンデータを含むビーコンを受信者へ送信する（ステップ８１２）。
【０１１８】
ここで図９Ａ及び図９Ｂを参照すると、イベント応答データを決定する方法９００の例が、ここで記載される少なくとも１つの実施形態に従って記載されている。方法９００は、図１乃至４及び図７と組み合わせて記載される。
【０１１９】
図９Ａに表されているように、方法９００は、第２通信モジュール７０２がＤＲサーバ１０３又は第１クライアント装置１１５からアナウンスデータを受信するステップ９０２を有してよい。第２復号化モジュール７１０はアナウンスデータを復号化する（ステップ９０４）。決定モジュール７０４は、アナウンスデータに関連するイベント応答データの第１の組を決定する（ステップ９０６）。例えば、イベントマネージャモジュール７０７は第１クライアント装置１１５の要素であり、ステップ９０６で決定されるイベント応答データの第１の組は、第１クライアント装置１１５がアナウンスデータによって記述されるイベントに参加するかどうかを記述する。イベント応答データの第１の組はまた、報告モジュール７２４によって生成されるリポートを含んでよい。つまり、幾つかの例において、リポートはイベントに対する応答である。
【０１２０】
第２通信モジュール７０２は、第２クライアント装置１１５からイベント応答データの第２の組を受信する（ステップ９０８）。イベント応答データの第２の組は、１又はそれ以上のクライアント装置１１５からのイベント応答データを含んでよい。第２復号化モジュール７１０はイベント応答データの第２の組を復号化する（ステップ９１０）。第２通信モジュール７０２は、他の第２クライアント装置１１５からイベント応答データの更なる組を受信してよい。複製モジュール７１４は、１又はそれ以上の第２クライアント装置１１５から受信されたイベント応答データの中で複製の存在を決定する（ステップ９１２）。複製モジュール７１４は、イベント応答データの第２の組が如何なる複製も含まないように、イベント応答データの第２の組に含まれる如何なる複製も削除する（ステップ９１４）。統合モジュール７１６は、イベント応答データの第１の組とイベント応答データの第２の組とを統合する（ステップ９１６）。
【０１２１】
ここで図９Ｂを参照すると、冗長性モジュール７１８は、イベントマネージャモジュール７０７がアナウンスデータに応答してビーコンを送信したかどうかを決定する（ステップ９１８）。応答が送信されている場合は、方法９００はステップ９２０へ移動する。ステップ９２０で、冗長性モジュール７１８は、アナウンスデータに対する更なる応答が他の受信者へ送信されるようスケジューリングされるかどうかを決定する。更なる応答が送信されるスケジューリングされると冗長性モジュール７１８が決定する場合は、方法９００はステップ９２２へ移動する。更なる応答が送信されるようスケジューリングされないと冗長性モジュール７１８が決定する場合は、方法９００は終了する。
【０１２２】
ステップ９１８で、応答が送信されていないと冗長性モジュール７１８が決定する場合は、方法９００はステップ９２２へ移動する。ステップ９２２で、第２暗号化モジュール７０８は、統合されたイベント応答データを暗号化する。受信者モジュール７１２は、第１クライアント装置１１５のためのピアクライアントの中から受信者を決定する（ステップ９２４）。
【０１２３】
受信者モジュール７１２は、第１クライアント装置１１５のためのピアクライアントのいずれかがステップ９２４で決定された受信者よりも低いホップカウントを有するかどうかを決定する（ステップ９２６）。ステップ９２６で、受信者モジュール７１２が、ステップ９２４で特定された受信者よりも低いホップカウントを有するピアクライアントの存在を決定する場合は、方法９００はステップ９２４へ戻り、最初の受信者は、受信者モジュール７１２によって２回目に選択されたものから除外され得る。ステップ９２６で、受信者モジュール７１２が、ステップ９２４で特定された受信者よりも低いホップカウントを有するピアクライアントの存在を決定しない場合は、方法９００はステップ９２８へ移動する。ステップ９２４で特定された受信者はＤＲサーバ１０３であってよい。
【０１２４】
ステップ９２８で、第２通信モジュール７０２は、統合されたイベント応答データを含むビーコンを受信者へ送信する。統合されたイベント応答データは、ステップ９２２に関して記載されたように暗号化されてよい。
【０１２５】
ここで図１０Ａ及び図１０Ｂを参照すると、イベント応答データを決定する方法１０００の例が、ここで記載される少なくも１つの実施形態に従って記載されている。方法１０００は、図１乃至４及び図７と組み合わせて記載される。図１０Ａに表されているように、イベントマネージャモジュール７０７は第１クライアント装置１１５の要素であってよい。表されている実施では、方法１０００は、第２通信モジュール７０２が第２クライアント装置１１５からビーコンデータを受信するステップ１００２を有してよい。ビーコンデータは、第２クライアント装置１１５が情報を有する全てのイベントを記述するイベントログを含んでよい。幾つかの例において、ビーコンデータは、ビーコンデータがＤＲサーバ１０３によって生成された全てのイベントの完全な記録を含むことを示すフラグを含んでよい。
【０１２６】
第２復号化モジュール７１０はビーコンデータを復号化する（ステップ１００４）。受信者モジュール７１２は、メモリ７３７がイベントログに含まれるイベントの全てを記述するアナウンスデータを記憶するかどうかを決定する（ステップ１００６）。ステップ１００６で、メモリ７３７に記憶されるアナウンスデータがイベントログに含まれるイベントの全てを記述する場合は、方法１０００はステップ１００２へ戻る。ステップ１００６で、メモリ７３７に記憶されるアナウンスデータがイベントログに含まれるイベントの全てを記述しない場合は、方法１００はステップ１０１０へ移動する。
【０１２７】
ステップ１０１０で、要求モジュール７２２はイベント要求を生成する。イベント要求は、第１クライアント装置１１５のメモリ７３７に記憶されるアナウンスデータにおいて記述されていない１又はそれ以上のイベントを記述する第２クライアント装置１１５からのアナウンスデータのための要求を記述するデータを含んでよい。つまり、イベント要求は、欠けているイベントの要求を記述するデータを含む。イベント要求は、ビーコンとして第２クライアント装置１１５へ送信され得る。第２暗号化モジュール７０８はイベント要求データを暗号化する（ステップ１０１２）。受信者モジュール７１２は、どのピアクライアントがイベント要求の受信者であり得るかを決定する（ステップ１０１４）。例えば、受信者モジュール７１２は、受信者が、要求されているアナウンスデータを有し且つ第１クライアント装置１１５から最小数のホップであるピアクライアントであると決定する（ステップ１０１４）。
【０１２８】
ここで図１０Ｂを参照すると、第２通信モジュール７０２は、イベント要求データを含むビーコンを受信者へ送信する（ステップ１０１６）。要求モジュール７２２は、要求されているアナウンスデータを含む応答が受信者から受信されたかどうかを決定する（ステップ１０１８）。ステップ１０１８で、応答が受信されていないと要求モジュール７２２が決定する場合は、方法１０００はステップ１０１４へ戻り、受信者モジュール７１２は要求のための異なる受信者を決定する。任意に、方法１０００は、ステップ１０１４へ戻る前に所定の時間期間待機してよい。ステップ１０１８で、応答が受信されたと受信者モジュール７１２が決定する場合は、方法１０００はステップ１０２０へ移動する。ステップ１０２０で、第２通信モジュール７０２はアナウンスデータをメモリ７３７に記憶する。
【０１２９】
ここで記載される実施形態は、以下でより詳細に論じられるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む特別目的の又は汎用のコンピュータの使用を含んでよい。
【０１３０】
ここで記載される実施形態は、コンピュータにより実行可能な命令又はデータ構造を搬送又は記憶するコンピュータ可読媒体を用いて実施されてよい。そのようなコンピュータ可読媒体は、汎用の又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体であってもよい。一例として、しかし制限なしに、そのようなコンピュータ可読媒体には、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的消去可能なプログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）若しくは他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置、フラッシュメモリ装置（例えば、固体状態メモリ装置）、又はコンピュータにより実行可能な命令若しくはデータ構造の形で所望のプログラムコードを搬送又は記憶するために使用され且つ汎用若しくは特別目的のコンピュータによってアクセスされ得る何らかの他の記憶媒体を含む有形なコンピュータ可読記憶媒体がある。上記の組み合わせもコンピュータ可読媒体の適用範囲内に含まれてよい。
【０１３１】
コンピュータにより実行可能な命令は、例えば、汎用のコンピュータ、特別目的のコンピュータ、又は特別目的のプロセッシング装置（例えば、１又はそれ以上のプロセッサ）に特定の機能又は機能のグループを実行させる命令及びデータを有する。対象は構造上の特徴及び／又は方法論的動作に特有の言語において記載されてきたが、添付の特許請求の範囲で定義される態様は必ずしも、上述された具体的な特徴又は動作に制限されないことが理解されるべきである。むしろ、上述された具体的な特徴又は動作は、特許請求の範囲を実施する形態の例として開示されている。
【０１３２】
ここで使用されるように、語“モジュール”又は“コンポーネント”は、モジュール若しくはコンポーネントの動作を実行するよう構成される具体的なハードウェア実施及び／又は、コンピュータシステムの汎用ハードウェア（例えば、コンピュータ可読媒体、プロセッシング装置、等）に記憶され及び／又はそれによって実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンを指す。幾つかの実施形態において、ここで記載される異なるコンポーネント、モジュール、エンジン、及びサービスは、（例えば、別個のスレッドとして）コンピュータシステムで実行するオブジェクト又はプロセスとして実施されてよい。ここで記載されるシステム及び方法の一部は概して、ソフトウェア（汎用ハードウェアによって記憶及び／又は実行される。）において実施されているように記載されるが、具体的なハードウェア実施又はソフトウェアと具体的なハードウェア実施との組み合わせも可能であり且つ考えられる。本明細書において、“コンピューティングエンティティ”は、ここで先に定義されたあらゆるコンピュータシステム、又はコンピュータシステムで実行されるあらゆるモジュール又はモジュールの組み合わせであってよい。
【０１３３】
ここで挙げられている全ての例及び条件付き言語は、当該技術を増進することに対して本発明者によって寄与される概念及び発明を読者が理解することを助けるよう教育上の目的のために意図され、そのような具体的に挙げられている例及び条件に制限されないと解されるべきである。本発明の実施形態が詳細に記載されてきたが、当然に、様々な変更、置換及び代替が、本発明の精神及び適用範囲から逸脱することなしにそれらの実施形態に対してなされ得る。
【０１３４】
以下、上述された実施形態に加えて、以下の付記を記載する。
（付記１）
需要応答アプリケーションサーバのための帯域幅要件を低減するよう構成されるピアデータを決定し、該ピアデータは、前記需要応答アプリケーションサーバに関連するピアクライアントの組と、如何にして該ピアクライアントが互いと通信するのかとを記述し、前記ピアデータは、前記ピアクライアントのサブセットが前記需要応答アプリケーションサーバと直接に通信し且つ該需要応答アプリケーションサーバが前記組に含まれるピアクライアントの夫々と直接に通信しないように構成され、
前記ピアクライアントの組のためのイベントを記述するアナウンスデータを生成し、
前記ピアデータによって特定される前記ピアクライアントの前記サブセットから、該ピアクライアントの１又はそれ以上に関連し且つ前記アナウンスデータによって記述される前記イベントに応答するイベント応答データを受信する、方法。
（付記２）
前記ピアデータは、前記需要応答アプリケーションサーバのみがピアを定義することを可能にするよう公衆キーインフラストラクチャにより暗号化される、
付記１に記載の方法。
（付記３）
前記アナウンスデータは、前記需要応答アプリケーションサーバのみが新しいイベントを生成することを可能にするよう公衆キーインフラストラクチャにより暗号化される、
付記１に記載の方法。
（付記４）
前記アナウンスデータは、対称キー暗号化により暗号化される、
付記３に記載の方法。
（付記５）
前記イベント応答データにおいて記述される応答は、
前記ピアクライアントの組からのクライアントが前記イベントに参加するようスケジューリングされることを示す前記イベントの確認応答、及び
前記ピアクライアントの組からの前記クライアントが前記イベントに参加するようスケジューリングされないことを示すオプトアウト
のうちの１つを含む、付記１に記載の方法。
（付記６）
前記イベント応答データは、前記ピアクライアントの組からのクライアントに関するテレメトリ及びこれまでの負荷を記述するリポートを含む、
付記１に記載の方法。
（付記７）
前記需要応答アプリケーションサーバによって送信されるサーバビーコンデータを生成し、該サーバビーコンデータは、前記ピアクライアントが前記需要応答アプリケーションサーバによって生成されるサーバビーコンデータに対してのみ作用するように公衆キーにより暗号化され、前記サーバビーコンデータは、どれくらいの頻度で前記ピアクライアントがビーコンデータを互いへ送信するのかを特定すること、及び如何にして前記ピアクライアントが互いに関連するのかを変更することのうちの１つを実行するよう構成される、
付記１に記載の方法。
（付記８）
前記アナウンスデータが送信されてからタイムアウト期間が経過したかどうかを決定し、
前記イベント応答データが前記ピアクライアントの組に含まれるクライアントから受信されていないと決定し、
前記クライアントに関するイベント応答データを要求するよう該クライアントと直接に通信する、
付記１に記載の方法。
（付記９）
前記クライアントから異なるタイムアウト期間に関する要求を受信する
付記８に記載の方法。
（付記１０）
需要応答アプリケーションサーバに関連するピアクライアントを記述し且つ如何にして前記ピアクライアントが互いと通信するのかを記述するピアデータを受信し、該ピアデータは、前記ピアクライアントのサブセットが前記需要応答アプリケーションサーバと直接に通信し且つ該需要応答アプリケーションサーバが前記ピアクライアントの夫々と直接に通信しないように構成され、
前記需要応答アプリケーションサーバによって特定されるイベントを記述するアナウンスデータを受信し、
前記アナウンスデータに応答してイベント応答データを決定し、
前記需要応答アプリケーションサーバによって特定される前記ピアクライアントの組から、前記イベント応答データを受信する受信ピアクライアントの組を識別する、方法。
（付記１１）
前記受信ピアクライアントの組は、前記イベント応答データの余剰が前記ピアクライアントの組の間に存在するように前記ピアクライアントの組からの少なくとも２つのクライアントを含む、
付記１０に記載の方法。
（付記１２）
前記受信ピアクライアントの組は、前記ピアクライアントの組に含まれるピアクライアントのどれが前記需要応答アプリケーションサーバに対して最低のホップカウントを有するのかに基づき決定される、
付記１０に記載の方法。
（付記１３）
前記ピアデータは、前記ピアクライアントの組に含まれるクライアントによって受信され、前記受信ピアクライアントの組は、前記クライアントに関連するピアクライアントの夫々を含まない、
付記１０に記載の方法。
（付記１４）
前記イベント応答データは、該イベント応答データが真であると前記需要応答アプリケーションサーバが決定することを可能にするよう公衆キーインフラストラクチャにより暗号化される、
付記１０に記載の方法。
（付記１５）
前記ピアクライアントの組に含まれる１又はそれ以上のクライアントから更なるイベント応答データを受信し、
複製のイベント応答データの存在を決定し、
前記複製のイベント応答データを削除する、
付記１０に記載の方法。
（付記１６）
前記ピアクライアントの組に含まれる１又はそれ以上のクライアントから更なるイベント応答データを受信し、
前記需要応答アプリケーションサーバによって受信されるデータパケットの数が減少するように前記イベント応答データを統合する、
付記１０に記載の方法。
（付記１７）
需要応答アプリケーションサーバに関連するピアクライアントを記述し且つ如何にして前記ピアクライアントが互いと通信するのかを記述するピアデータを受信し、該ピアデータは、前記ピアクライアントのサブセットが前記需要応答アプリケーションサーバと直接に通信し且つ該需要応答アプリケーションサーバが前記ピアクライアントの組に含まれるピアクライアントの夫々と直接に通信しないように構成され、
前記需要応答アプリケーションサーバによって特定されるイベントの組を記述するアナウンスデータを受信し、
前記ピアクライアントの組に含まれる第１のクライアントによって、前記ピアクライアントの組に含まれる第２のクライアントによって受信されるイベントを記述するビーコンデータを受信し、
前記ビーコンデータが前記アナウンスデータによって記述される前記イベントの組に含まれないイベントを記述すると決定する、方法。
（付記１８）
前記ピアクライアントの組からのどのクライアントが前記アナウンスデータによって記述される前記イベントの組に含まれないイベントを有しているのかを決定する、
付記１７に記載の方法。
（付記１９）
前記ビーコンデータは、前記ピアクライアントの組からのどのクライアントが前記アナウンスデータによって記述される前記イベントの組に含まれないイベントを有しているのかを決定するために使用されるデータを含むフラグを含む、
付記１８に記載の方法。
（付記２０）
前記ビーコンデータは、該ビーコンデータが真であると前記第１のクライアントが決定することを可能にするよう公衆キーにより暗号化される、
付記１７に記載の方法。
【符号の説明】
【０１３５】
１０３          ＤＲサーバ
１０５          ネットワーク
１０７，７０７  イベントマネージャモジュール
１０９，５０９  記憶装置
１１５          クライアント装置
１９９，５９９  帯域幅低減モジュール
５００，７００  コンピュータ装置
５０２，７０２  通信モジュール
５０４          ピアモジュール
５０６          イベントモジュール
５０８，７０８  暗号化モジュール
５１０，７１０  復号化モジュール
５３５，７３５  プロセッサ
５４５，７４５  通信ユニット
７０４          決定モジュール
７１２          受信者モジュール
７１４          複製モジュール
７１６          統合モジュール
７１８          冗長性モジュール
７２２          要求モジュール
７２４          報告モジュール
７３７          メモリ
【図１】
2015037316.tif 000003
【図２】
2015037316.tif 000004
【図３】
2015037316.tif 000005
【図４】
2015037316.tif 000006
【図５】
2015037316.tif 000007
【図６Ａ】
2015037316.tif 000008
【図６Ｂ】
2015037316.tif 000009
【図７】
2015037316.tif 000010
【図８】
2015037316.tif 000011
【図９Ａ】
2015037316.tif 000012
【図９Ｂ】
2015037316.tif 000013
【図１０Ａ】
2015037316.tif 000014
【図１０Ｂ】
2015037316.tif 000015