(57)【要約】      （修正有）【課題】企業環境における動的コンテンツ配信を促進するためのシステムを提供する。【解決手段】動作中、システムは、グループ化基準のセットに基づいて論理グループのセットを判定する。それぞれの論理グループは、コントローラによって管理される１つ以上のデバイス、及び１つ以上のデバイス間の接続を提供するネットワークを含む。システムは、それぞれの論理グループに関連付けられた外因性情報に基づいて論理グループのセットを分類し、企業環境内のそれぞれのリンクのカテゴリに対して対応する測定の条件を判定する。次いで、システムは、測定の条件及び論理グループのセットの分類に基づいて、リンクを測定のためにスケジュールする。【選択図】図４
2020078068.tif 000002
【特許請求の範囲】
【請求項１】
企業環境における動的コンテンツ配信のためのネットワーク測定を容易にするための方法であって、
前記企業環境のコントローラによって、論理グループのセットをグループ化基準のセットに基づいて判定することであって、それぞれの論理グループが、前記コントローラによって管理される１つ以上のデバイスと、前記１つ以上のデバイスを結合するネットワークと、を含む、ことと、
前記論理グループのセットを、それぞれの論理グループに関連付けられた外因性情報に基づいて分類することと、
前記企業環境内のそれぞれのリンクのカテゴリに対して、対応する測定の条件を判定することと、
前記測定の条件及び前記論理グループのセットの前記分類に基づいて、リンクを測定のためにスケジュールすることと、を含む、方法。
【請求項２】
前記論理グループのセットが、前記コントローラに対して閾値距離内にある論理グループのサブセットに対応する第１のカテゴリと、前記コントローラに対して前記閾値距離の外側にある論理グループのサブセットに対応する第２のカテゴリと、に分類される、請求項１に記載の方法。
【請求項３】
前記外因性情報が、時間帯情報、言語及び任意の他のロケール情報、インターネットプロトコル（ＩＰ）サブネット情報、ルーティングプロトコル情報、並びにサービス情報のうちの１つ以上を含む、請求項１に記載の方法。
【請求項４】
前記論理グループのセットのそれぞれの論理グループのための１つ以上のグループヘッドを選択することを更に含み、第１の論理グループと第２の論理グループとの間のグループ間接続が、前記第１及び第２の論理グループの前記それぞれのグループヘッド間に形成されている、請求項１に記載の方法。
【請求項５】
前記リンクのカテゴリが、
ランダムな論理グループからソース論理グループへのリンクと、
ランダムな論理グループ内のループと、
２つの別個のランダムな論理グループ間のリンクと、
２つのカテゴリの論理グループ間のリンクと、のうちの１つ以上を含む、請求項１に記載の方法。
【請求項６】
前記測定の条件が、リンクのそれぞれのカテゴリ内のリンクをスケジュールする確率に基づく、請求項１に記載の方法。
【請求項７】
メッセージキュー（ＭＱ）ベースのメッセージ交換を使用することによって、前記コントローラによって管理されるそれぞれのデバイスに関連付けられている前記外因性情報を取得することを更に含む、請求項１に記載の方法。
【請求項８】
前記リンクを介して異なるサイズのパケットのセットを送信することと、
前記パケットのセットに対応する応答パケットのセットに基づいて、前記リンクの１つ以上の性能パラメータを判定することと、によって、前記スケジュールされたリンク測定を実行することを更に含む、請求項１に記載の方法。
【請求項９】
前記応答パケットのセットから情報を取得することと、
最小数の応答パケットを受信したことに応じて、取得した情報の移動平均を計算して前記性能パラメータを判定することと、を更に含む、請求項８に記載の方法。
【請求項１０】
前記外因性情報は、前記コントローラが、前記外因性情報を学習することなく２つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用して暗号化される、請求項１に記載の方法。
【請求項１１】
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令が、コンピュータによって実行されると、前記コンピュータに、企業環境における動的コンテンツ配信を促進するための方法を実行させ、前記方法が、
前記企業環境のコントローラによって、論理グループのセットをグループ化基準のセットに基づいて判定することであって、それぞれの論理グループが、前記コントローラによって管理される１つ以上のデバイスと、前記１つ以上のデバイスを結合するネットワークと、を含む、ことと、
前記論理グループのセットを、それぞれの論理グループに関連付けられた外因性情報に基づいて分類することと、
前記企業環境内のそれぞれのリンクのカテゴリに対して、対応する測定の条件を判定することと、
前記測定の条件及び前記論理グループのセットの前記分類に基づいて、リンクを測定のためにスケジュールすることと、を含む、コンピュータ可読記憶媒体。
【請求項１２】
前記論理グループのセットが、前記コントローラに対して閾値距離内にある論理グループのサブセットに対応する第１のカテゴリと、前記コントローラに対して前記閾値距離の外側にある論理グループのサブセットに対応する第２のカテゴリと、に分類される、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記外因性情報が、時間帯情報、言語及び任意の他のロケール情報、インターネットプロトコル（ＩＰ）サブネット情報、ルーティングプロトコル情報、並びにサービス情報のうちの１つ以上を含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記方法が、前記論理グループのセットのそれぞれの論理グループのための１つ以上のグループヘッドを選択することを更に含み、第１の論理グループと第２の論理グループとの間のグループ間接続が、前記第１及び第２の論理グループの前記それぞれのグループヘッド間に形成されている、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記リンクのカテゴリが、
ランダムな論理グループからソース論理グループへのリンクと、
ランダムな論理グループ内のループと、
２つの別個のランダムな論理グループ間のリンクと、
２つのカテゴリの論理グループ間のリンクと、のうちの１つ以上を含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記測定の条件が、リンクのそれぞれのカテゴリ内のリンクをスケジュールする確率に基づく、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１７】
メッセージキュー（ＭＱ）ベースのメッセージ交換を使用することによって、前記コントローラによって管理されるそれぞれのデバイスに関連付けられている前記外因性情報を取得することを更に含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記方法が、
前記リンクを介して異なるサイズのパケットのセットを送信することと、
前記パケットのセットに対応する応答パケットのセットに基づいて、前記リンクの１つ以上の性能パラメータを判定することと、によって、前記スケジュールされたリンク測定を実行することを更に含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記方法が、
前記応答パケットのセットから情報を取得することと、
最小数の応答パケットを受信したことに応じて、取得した情報の移動平均を計算して前記性能パラメータを判定することと、を更に含む、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記外因性情報は、前記コントローラが、前記外因性情報を学習することなく２つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用して暗号化される、請求項１１に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンテンツ配信の分野に関連する。より具体的には、本開示は、コンテンツを効率的に配信するための企業環境内でのネットワーク測定を実行するためのシステム及び方法に関する。
【０００２】
インターネット及び電子商取引の急増により、膨大な量のデジタルコンテンツが作成され続けている。企業又は大企業は、複数のサイトにわたって配信されたクラウドストレージデバイス及びプリンタなどの被管理デバイスのネットワークを含み得る。そのようなデバイスのネットワークでは、デバイスマネージャは、そのサイトのうちの１つのローカルネットワーク内のデバイスを管理（例えば、構成及び制御）してもよい。このデバイスマネージャは、ファームウェア更新、ポリシーファイル配信、又はデータ転送に関与することができる。これらの動作は、通常、企業ネットワーク内の多数の被管理デバイスへの大きなファイル転送を伴う。
【０００３】
従来のデバイスマネージャは、通常、被管理デバイスのインターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）アドレスに基づく簡易ネットワーク管理プロトコル（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ、ＳＮＭＰ）クエリに基づいてデバイスを管理する。しかしながら、各デバイスは、ローカルアドレスプールに基づいて（例えば、プライベートＩＰアドレスのセットから）、動的ホスト構成プロトコル（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、ＤＨＣＰ）サーバによってＩＰアドレスを割り当てられ得る。プライベートネットワーク内のデバイスへのアクセスを促進するために、デバイスマネージャは、従来、同じプライベートＩＰサブネットワーク及びローカルエリアネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＬＡＮ）などの同じネットワーク内に常駐する。しかしながら、大企業では、デバイスマネージャは、複数のサブネットにわたって大きなファイルを配信する必要があり得る。
【０００４】
デバイスマネージャは、典型的には、既存のネットワーキングフレームワーク及びプロトコルを使用して、企業ネットワーク内の大規模なファイル配信を可能にする。しかしながら、このような解決策は、位相認識ピアツーピアコンテンツ配信ソリューションに向けられている。これらの解決策は、特定のファイルのための好適な候補を見出すために参加者間のネットワーク条件を推定する。しかしながら、これらの解決策は、通常、ファイルの配信を計画しない。結果として、ファイルは、需要に基づいてネットワーク内に配信され得る。具体的には、これらの解決策はインターネットのためのものであるため、それらは、最小位相相関を有する広範に配信された参加者用に設計される。場合によっては、特定のファイルは、瞬間的な需要を有し、時間関心相関を作成する可能性があるが、位相相関は分散したままである。したがって、これらの解決策は、ファームウェア更新又はオペレーティングシステムパッチなどの、計画された使用のための高度な位相相関及び時間相関を有し得る企業環境を提供しない場合がある。
【０００５】
本明細書に記載される実施形態は、企業環境における動的コンテンツ配信を促進するためのシステムを提供する。動作中、システムは、グループ化基準のセットに基づいて論理グループのセットを判定する。それぞれの論理グループは、コントローラによって管理される１つ以上のデバイス、及び１つ以上のデバイス間の接続を提供するネットワークを含むことができる。システムは、それぞれの論理グループに関連付けられた外因性情報に基づいて論理グループのセットを分類し、企業環境内のそれぞれのリンクのカテゴリに対して対応する測定の条件を判定する。次いで、システムは、測定の条件及び論理グループのセットの分類に基づいて、リンクを測定のためにスケジュールする。
【０００６】
この実施形態の変形例では、論理グループのセットは、コントローラに対して閾値距離内にある論理グループのサブセットに対応する第１のカテゴリと、コントローラに対して閾値距離の外側にある論理グループのサブセットに対応する第２のカテゴリと、に分類される。
【０００７】
この実施形態の変形例では、外因性情報は、時間帯情報、言語及び任意の他のロケール情報、インターネットプロトコル（ＩＰ）サブネット情報、ルーティングプロトコル情報、並びにサービス情報のうちの１つ以上を含む。
【０００８】
この実施形態の変形例では、システムは、論理グループのセットのそれぞれの論理グループのための１つ以上のグループヘッドを選択する。第１の論理グループと第２の論理グループとの間のグループ間接続は、第１及び第２の論理グループのそれぞれのグループヘッド間に形成される。
【０００９】
この実施形態の変形例では、リンクのカテゴリは、ランダムな論理グループからソース論理グループへのリンクと、ランダムな論理グループ内のループと、２つの別個のランダムな論理グループ間のリンクと、２つのカテゴリの論理グループ間のリンクと、のうちの１つ以上を含む。
【００１０】
この実施形態の変形例では、測定の条件は、リンクのそれぞれのカテゴリ内のリンクをスケジュールする確率に基づく。
【００１１】
この実施形態の変形例では、システムは、メッセージキュー（ｍｅｓｓａｇｅ  ｑｕｅｕｅ、ＭＱ）ベースのメッセージ交換を使用することによって、コントローラによって管理されたそれぞれのデバイスに関連付けられている外因性情報を取得する。
【００１２】
この実施形態の変形例では、システムは、リンクを介して異なるサイズのパケットのセットを送信し、そのパケットのセットに対応する応答パケットのセットに基づいてリンクの１つ以上の性能パラメータを判定することによって、スケジュールされたリンク測定を実行する。
【００１３】
更なる変形例では、システムは、応答パケットのセットから情報を取得する。システムが最小数の応答パケットを受信していると、システムは、取得した情報の移動平均を計算して性能パラメータを判定する。
【００１４】
この実施形態の変形例では、外因性情報は、コントローラが、外因性情報を学習することなく２つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用して暗号化される。
【図面の簡単な説明】
【００１５】
【図１Ａ】本出願の一実施形態による、効率的なコンテンツ配信のためのネットワーク測定をサポートする例示的な企業環境を示す。
【図１Ｂ】本出願の一実施形態による、企業環境内でのネットワーク測定を容易にするための例示的な論理グループのクラスタリングを示す。
【図２】本出願の一実施形態による、企業環境内でのネットワーク測定を容易にする例示的なシステムアーキテクチャを示す。
【図３Ａ】本出願の一実施形態による、企業環境の被管理デバイスを登録するコンテンツ配信システムの方法を示すフロー図を提示する。
【図３Ｂ】本出願の一実施形態による、それぞれの論理グループのためのグループヘッドを判定するコンテンツ配信システムの方法を示すフロー図を提示する。
【図４】本出願の一実施形態による、外因性情報に基づいて論理グループを分類するコンテンツ配信システムの方法を示すフロー図を提示する。
【図５Ａ】本出願の一実施形態による、ネットワーク測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
【図５Ｂ】本出願の一実施形態による、それぞれのリンクカテゴリのための測定を開始するかどうかを判定するコンテンツ配信システムの方法を示すフロー図を提示する。
【図５Ｃ】本出願の一実施形態による、それぞれのリンクカテゴリのための測定確率を判定するコンテンツ配信システムの方法を示すフロー図を提示する。
【図５Ｄ】本出願の一実施形態による、リンクを測定するコンテンツ配信システムの方法を示すフロー図を提示する。
【図６Ａ】本出願の一実施形態による、コントローラ論理グループに関連付けられたリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
【図６Ｂ】本出願の一実施形態による、通常論理グループ内のループのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
【図６Ｃ】本出願の一実施形態による、通常論理グループペア間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
【図６Ｄ】本出願の一実施形態による、クラスタ間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
【図７】本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的なコンピュータシステムを示す。
【図８】本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的な装置を示す。
【発明を実施するための形態】
【００１６】
以下の説明は、当業者が実施形態を作製及び使用することを可能にするために提示され、特定の用途及びその要件に関連して提供される。開示される実施形態に対する様々な修正は、当業者には容易に明らかとなり、本明細書に定義される一般原理は、本開示の趣旨及び範囲から逸脱することなく、他の実施形態及び用途に適用され得る。したがって、本明細書に記載される実施形態は、示される実施形態に限定されるものではなく、本明細書に開示される原理及び特徴と一致する最も広い範囲を与えられるものである。
【００１７】
本明細書に記載される実施形態は、（ｉ）外因性情報、及び（ｉｉ）リンク分類に基づいてどのリンクを測定するかを判定することによって、コンテンツ配信のために企業環境内のネットワークを効率的に測定するという問題を解決する。
【００１８】
既存の技術では、ソースデバイス（例えば、デバイスマネージャ）は、ポイントツーポイント通信を介して、受信デバイス（例えば、被管理デバイス）に大量のコンテンツを配信する。ファームウェア更新などのコンテンツが多数の受信デバイスに送信される場合、このプロセスは、各受信デバイスに対して繰り返される。そのような配信モードは、企業環境のネットワーキングインフラストラクチャ内の大量のトラフィックを引き起こし得る。各転送はデバイスペア間の個別の転送であり得るため、各転送は脆弱で破損する場合がある。その結果、企業環境は、些細でない破損率に直面する場合がある。
【００１９】
この問題に対処するために、ネットワークのそれぞれのリンクについて、帯域幅、レイテンシ、及び使用率など、様々な性能パラメータを測定することができる。しかしながら、企業環境が大きなネットワークを含む場合、それぞれのコンテンツに対するそれぞれのデバイスペア又はデバイスグループのこれらのパラメータを測定することは実行不可能であり得る。具体的には、各コンテンツのソースデバイスは異なるものであり得、したがって、異なる配信計画につながり得る。結果として、大きなネットワーク内の各ソースに対してパラメータを測定することは、著しい計算オーバーヘッド及び帯域幅消費をもたらし得る。
【００２０】
本明細書に記載される実施形態は、コンテンツの配信を計画するためのネットワーク測定を実行するリンクを効率的に選択することができるコンテンツ配信システムを提供することによって、これらの問題を解決する。企業ネットワーク内でのコンテンツの配信を促進するために、システムは、ネットワークトポロジーを学習し、ソースデバイス及び受信デバイスのセットに対してネットワークトポロジー上での効率的な配信経路を判定することができる。次いで、システムは、ネットワークトポロジーの上でピアツーピアプロトコルを使用して、ソースから配信経路を介してコンテンツを配信する。動作中、企業環境内のそれぞれのデバイスは、コントローラに登録する。コントローラは、それぞれのデバイスを管理することに関与し、管理することには、構成すること、更新すること、及びトラブルシューティングすることが含まれ得る。コントローラによって管理されるデバイスは、被管理デバイスとも称され得る。
【００２１】
ソース（又は複数のソース）に対してネットワークトトポロジーを効率的に測定するために、システムは、最初に、受信デバイス（すなわち、ソースからコンテンツを受信することになる被管理デバイス）を１つ以上のグループ化基準に基づいて（例えば、インターネットプロトコル（ＩＰ）サブネットに基づいて）論理グループにグループ化する。次いで、システムは、それぞれのグループに対して１つ以上のグループヘッドを選択する。システムは、可用性に基づいて、かつ優先度の高い順に、ソースデバイス、受信デバイス、及び中継デバイスをグループヘッドとして選択することができる。これらのグループヘッドは、グループ間リンクを提供する。ソースデバイスを含む論理グループは、ソースグループと称され得、コントローラを含む論理グループは、コントローラグループと称され得る。残りのグループは、非コントローラグループ又は通常グループと称され得る。
【００２２】
次いで、システムは、グループを少なくとも２つのカテゴリ、すなわち、ソースグループの近くにある、カテゴリ１のグループと、ソース／コントローラグループから更に離れている、カテゴリ２のグループと、に分類することができる。システムは、ソース／コントローラグループからのそれぞれの距離及び／又はレイテンシに基づいてグループを分類してもよい。例えば、システムは、論理グループがソースデバイスに対して閾値距離内にあるかどうかを判定して、その論理グループがカテゴリ１のグループであるべきかどうかを判定することができる。次いで、システムは、グループヘッドであり得る、グループの１つのデバイスからソースへのパラメータを測定することができる。システムは、カテゴリ２のグループからカテゴリ１のグループへのファジーな測定を実行して、ネットワーク内の経路を改善することができる。しかしながら、システムは、２つのグループの間の幾何学的関係を知らなくてもよい。
【００２３】
グループを効率的に分類するために、システムは、登録プロセス中にグループに関連付けられた外因性情報を取得することができる。外因性情報の例としては、時間帯情報、言語及び任意の他のロケール情報、ＩＰサブネット情報、ルーティングプロトコル情報、並びにサービス情報（例えば、プリンタなどのデバイスが他の近くのデバイスにサービスを提供するかどうか）が挙げられるが、これらに限定されない。システムは、この情報を分析してカテゴリ１のグループの候補を判定することができる。例えば、システムは、特定のデバイスのサービスにアクセスする（例えば、プリンタに印刷する）デバイスのＩＰアドレスを判定することができる。いくつかの実施形態では、登録プロセス中に、被管理デバイスは、情報を学習することなく２つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を（例えば、準同型暗号を使用して）使用することができる。
【００２４】
システムが測定のリソース及び頻度において制限される（例えば、限られた時間の間にほんのわずかなネットワーク帯域幅しか使用することができない）場合、システムは、測定のためのグループペアを選択的に決定し、それらのグループ内の特定のデバイスを選択して、測定を行うことができる。システムは、繰り返しパターンを回避するために、各選択において選択肢をランダム化することができる。システムは、ソースグループの方へのリンクに最も高い優先度を割り当てることができ、ソースグループは、コントローラグループでもあり得る。動作中、システムは、等しい重みで、（ｉ）各グループからソースグループへ、及び（ｉｉ）少なくとも２つのデバイスを有するグループ内のループを測定する。次いで、システムは、特定のリンクのカテゴリに対してリンクを選出する機会に重みを割り当てる。いくつかの実施形態では、システムは、４つのリンクのカテゴリ、すなわち、（ｉ）ランダムなグループからソースグループへ、（ｉｉ）ランダムなグループ内のループ、（ｉｉｉ）２つの別個のランダムな通常グループ間、及び（ｉｖ）カテゴリ１のグループとカテゴリ２のグループとの間を考慮する。重みに基づいて、システムは、特定のリンクのカテゴリを測定する確率（例えば、測定の条件）を決定し、その確率に基づいて、リンクを測定のためにスケジュールする。
【００２５】
図１Ａは、本出願の一実施形態による、効率的なコンテンツ配信のためのネットワーク測定をサポートする例示的な企業環境を示す。企業環境１００は、多数のサイト１１２、１１４、１１６、１１８、１２０、及び１２２にわたって配信され得る。これらのサイトは、ローカル又は広域ネットワークなどのネットワーク１１０を介して互いに結合することができる。広域ネットワークは、インターネットであり得る。サイトはまた、（例えば、ポイントツーポイント光ファイバを用いて）互いに直接接続することもできる。サイト１１２などのサイトは、複数のサブネット１１１（例えば、１０．１．０．０／１６）及び１１３（例えば、１０．２．０．０／１６）を含むことができる。一方、サイト１１４などのいくつかの他のサイトは、サブサイト１２４（例えば、同じ管理下の近傍のより小さなサイト）にわたり得る１つのサブネット（例えば、１０．３．３．０／２４）を有することができる。同様に、サイト１２０は、サブサイト１２６にわたり得る１つのサブネット（例えば、１０．７．０．０／１６）を有することができる。サブサイト１２４及び１２６はまた、それら自体のサブネットを維持することができることに留意されたい。
【００２６】
既存の技術では、環境１００において、ソースデバイス１０２は、ポイントツーポイント通信を介して、受信デバイスに大量のコンテンツを配信する。ファームウェア更新などのコンテンツが、企業環境１００のサイトにわたって多数の受信デバイスに送信される場合、このプロセスは、各サイト内の各受信デバイスに対して繰り返される。そのような配信モードは、企業環境１００のネットワーク１１０内の大量のトラフィックを引き起こし得る。加えて、各転送はデバイスペア間の個別の転送であり得るため、各転送は脆弱で破損する場合がある。結果として、企業環境１００は、些細でない破損率に直面する場合がある。
【００２７】
この問題を解決するために、コンテンツ配信システム１５０は、システム１５０がコンテンツ１６０の配信を計画するためのネットワーク測定を実行するリンクを効率的に選択することができる。システム１５０は、セキュリティフレームワーク、制御フレームワーク、及びデータ転送フレームワークを促進することができる。セキュリティフレームワークは、制御チャネル及びデータチャネルの両方に対するセキュリティを提供することができる。区別されたノード１４０は、システムを制御することに関与することができ、したがってコントローラ１４０と呼ばれる。いくつかの実施形態では、システム１５０は、コントローラ１４０上でホストされ得る。企業環境１００は、互いに高い可用性を促進することができる複数のコントローラ１４０及び１４２を含むことができる。コントローラ１４０は、メッセージを（例えば、公開鍵システム及び／又は対称鍵交換を使用して）認証することができる。
【００２８】
ネットワーク１１０内でのコンテンツ１６０の配信を促進するために、システム１５０は、ネットワーク１１０のトポロジーを学習し、コンテンツ１６０のソースデバイス１０２及び受信デバイスのセットに対してトポロジー上での効率的な配信経路を判定することができる。次いで、システム１５０は、ネットワークトポロジーの上でピアツーピアプロトコルを使用して、ソースデバイス１２０からネットワーク１１０内の配信経路を介してコンテンツ１６０を配信する。動作中、企業環境１００内のそれぞれのデバイスは、管理することに関与するコントローラ１４０に登録し、管理することには、構成すること、更新すること、及びトラブルシューティングすることが含まれ得る。コントローラ１４０によって管理されるデバイスは、被管理デバイスと称され得る。
【００２９】
コントローラ１４０は、どのコンテンツを要求するかについて、企業環境１００内の各被管理デバイスに通知することができる。コントローラ１４０はまた、コンテンツ１６０のための時間枠のそれぞれの被管理デバイスに（例えば、いつ要求し、どこから要求するか）を通知することができる。被管理デバイスは、要求に対する優先度を示す優先度値で構成することができる。例えば、優先度は、被管理デバイスが最初にコンテンツを要求すべきソースデバイスを示すことができる。いくつかの実施形態では、コントローラ１６０は、１つ以上のグループ化基準に基づいて、被管理デバイスのセットを論理グループに編成する。グループ化基準の例としては、ＩＰサブネット、ローカルエリアネットワーク、及び層−２ネットワーク内のスパニングツリーが挙げられるが、これらに限定されない。
【００３０】
コンテンツ１６０、コントローラ１４０を配信するために、ツリーのノードとして論理グループを含む配信ツリーを生成することができる。この例では、それぞれのサイト又はサブサイトは論理グループとして表され、強調された矢印は、ツリーの各ブランチを描写する。サイト１１２は２つのサブネット１１１及び１１３を有するので、それらは、ツリー上の２つの異なるノードであり得る。企業環境１００のサブサイト１２８などのサイト又はサブサイトが、サブサイトがコンテンツ１６０の受信者を含まない場合、そのサブサイトはツリーに含まれていない。各グループは、上流ノード（すなわち、ツリーの親ノード）からコンテンツを取得することに関与する１つ以上のグループヘッド（破線円で示される）を含むことができる。
【００３１】
サブネット１１１に対応するグループは、グループ１７０であり得、このグループは、ソースデバイス１０２及び被管理デバイス１０４をグループヘッドとして含む。グループ１７０はソースデバイス１０２を含むため、グループ１７０は、ソースグループと称され得る。同様に、グループ１７０はコントローラ１４０を含むため、グループ１７０はまた、コントローラグループとも称され得る。非コントローラ／非ソースグループは、通常グループと称され得る。サブネット１１３に対応する論理グループ１７４もまた、コントローラグループと称され得ることに留意されたい。サイト１１４に対応する論理グループ１７２は、グループヘッドとしてデバイス１０６及び１０８を含むことができる。サイト１１６に対応する論理グループ１７６は、グループヘッドとしてデバイス１３２及び１３４を含むことができる。したがって、デバイス１０２、１０４、１０６、１０８、１３２、及び１３４は、グループヘッドとも称され得る。この例のツリーのルートは、ソースデバイス１０２がコンテンツ１６０をホストすることを含むサブネット１１１である。コントローラ１４０は、（例えば、ソースデバイス及び受信デバイスに基づいて）変化し得る各コンテンツの配信ツリーを計画することができることに留意されたい。
【００３２】
いくつかの実施形態では、コントローラ１４０は、シュタイナー木（例えば、最小コストツリー）を計算して、グループ間配信ツリーを生成することができる。企業環境１００では、いくつかのデバイスは、受信デバイス（例えば、コンテンツ１６０の受信者）とすることができ、他のデバイスは、中継デバイス又は休止デバイスとして動作することができる。シュタイナー木は、必要に応じて、いくつかの中継デバイスを使用して、最小コストツリーを見出すために、全ての受信デバイスにわたることができる。コントローラ１４０は、最短経路の組み合わせを使用して、最小コストのツリーを計算することができる。コントローラ１４０は、企業環境１００のトポグラフィ情報を使用して、各受信デバイスから企業環境１００内のソースデバイスへの最短経路を判定することができる。次いで、コントローラ１４０は、全ての受信デバイスからソースデバイス１０２への、最小コストの単一ソース指向スパニングツリーを判定する。
【００３３】
グループヘッドは、グループ間データ転送に関与する。グループヘッド１０６及び１０８は、上流グループヘッド１０２及び１０４に論理的に結合することができる。同様に、グループヘッド１３２及び１３４は、上流グループヘッド１０６及び１０８に論理的に結合することができる。論理グループがコンテンツのための十分な数の受信デバイスを有さない場合、その論理グループは、複数のグループヘッドを有しない場合がある。例えば、サブサイト１２４に対応する論理グループ１８２は、１つのグループヘッド１３６を含むことができる。効率的な配信のために、コントローラ１４０は、コンテンツ１６０をいくつかのブロックに分割することができる（例えば、それぞれが所定の数の固定サイズのデータチャンクを有する）。グループヘッド１０６は、上流グループヘッド１０２及び／又は１０４からブロックのサブセットを、及びピアグループヘッド１０８から残りのブロックを取得することができる。
【００３４】
コントローラ１４０は、測定を使用して、ユーザ入力及びネットワーク発見のうちの１つ以上に基づいて、企業環境１００のトポグラフィ情報を判定することができる。ソースデバイス１０２に対してネットワークトポロジーを効率的に測定するために、システム１５０は、次いで、通常グループを少なくとも２つのカテゴリ、すなわち、ソース／コントローラグループ１７０の近くにある、カテゴリ１のグループと、ソース／コントローラグループ１７０から更に離れている、カテゴリ２のグループと、に分類することができる。いくつかの実施形態では、システム１５０は、グループ１７２及び１７４がソース／コントローラグループ１７０の閾値距離内にあるため、それらはカテゴリ１のグループであると判定することができる。
【００３５】
一方、サイト１１６、１１８、及び１２０にそれぞれ対応するグループ１７６、１７８、及び１８０は、カテゴリ２のグループであり得る。次いで、システム１５０は、グループの１つのデバイスに関連付けられた、ソースデバイス１０２へのリンクの帯域幅、レイテンシ、及び使用率などのパラメータを測定することができる。システム１５０は、カテゴリ２のグループからカテゴリ１のグループへのファジーな測定を実行して、ネットワーク１１０内の経路を改善することができる。例えば、ネットワーク１１０内の全てのグループペアを測定する代わりに、システム１５０は、グループ１７６からグループ１７２へとつながるリンクを測定することができる。
【００３６】
システム１５０が測定のリソース及び頻度において制限される（例えば、限られた時間の間にほんのわずかなネットワーク帯域幅しか使用することができない）場合、システム１５０は、測定のためのグループペアを選択的に決定し、それらのグループ内の特定のデバイスを選択して、測定を行うことができる。システム１５０は、繰り返しパターンを回避するために、各選択において選択肢をランダム化することができる。システム１５０は、ソース／コントローラグループ１７０の方へのリンクに最も高い優先度を割り当てることができる。続いて、システム１５０は、等しい重みで、（ｉ）各グループからソースグループ１７０へ、及び（ｉｉ）少なくとも２つのデバイスを有するグループ（例えば、グループ１７２）内のループを測定する。次いで、システム１５０は、特定のリンクのカテゴリに対してリンクを選出する機会に重みを割り当てる。
【００３７】
いくつかの実施形態では、システム１５０は、４つのリンクのカテゴリ、すなわち、（ｉ）ランダムなグループからソースグループ１７０へ、（ｉｉ）ランダムなグループ（例えば、グループ１７６）内のループ、（ｉｉｉ）２つの別個のランダムな通常グループ間（例えば、グループ１７６と１７８との間）、及び（ｉｖ）カテゴリ１のグループとカテゴリ２のグループとの間（例えば、グループ１７２と１７６との間）を考慮する。重みに基づいて、システム１５０は、特定のリンクのカテゴリを測定する確率を決定し、その確率に基づいて、リンクを測定のためにスケジュールする。リンクを測定するために、コントローラ１４０は、リンクを介して様々な長さの一連のパケットを数回送信するように、対応するデバイスに命令することができる。コントローラ１４０は、各パケットサイズに対する最小応答時間を判定し、それらの値に対する線形回帰を計算する。コントローラ１４０はまた、毎秒ビットの帯域幅を判定し、往復時間は秒単位である。コントローラ１４０は、指数関数的移動平均を介して複数の測定値を集約して、リンクの帯域幅を判定することができる。
【００３８】
図１Ｂは、本出願の一実施形態による、企業環境内でのネットワーク測定を容易にするための例示的な論理グループのクラスタリングを示す。グループを効率的に分類するために、システムは、登録プロセス中にグループ１７２、１７４、１７６、１７８、１８０、及び１８２などの通常グループに関連付けられた外因性情報を取得することができる。外因性情報の例としては、時間帯情報、言語及び任意の他のロケール情報、ＩＰサブネット情報、ルーティングプロトコル情報、並びにサービス情報（例えば、プリンタなどのデバイスが他の近くのデバイスにサービスを提供するかどうか）が挙げられるが、これらに限定されない。システム１５０は、この情報を分析してカテゴリ１のグループの候補を判定することができる。分析に基づいて、システム１５０は、グループ１７２、１７４、及び１８２がカテゴリ１のグループであり、グループ１７６、１７８、及び１８０がカテゴリ２のグループであることを判定することができる。
【００３９】
いくつかの実施形態では、登録プロセス中に、デバイス１０６などのそれぞれのデバイスは、コントローラ１４０が、情報を学習することなく２つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用することができる。グループ１７２内のデバイス１０６及びグループ１８２内のデバイス１３６は、外因性特性のうちの１つ以上を共有することができ、これに基づいて、コントローラ１４０は、グループ１７２、１７４、及び１８２がカテゴリ１のグループのクラスタ１６２に属し、グループ１７６、１７８、及び１８０がカテゴリ２のグループのクラスタ１６４に属することを判定する。
【００４０】
いくつかの実施形態では、システム１５０は、カテゴリ１のグループ及びカテゴリ２のグループをそれらの外因性情報に基づいて選択し、それらの間で測定を実行する。デバイス１３２は、ソースデバイス１０２まで１００単位の距離があるグループ１７６内にあり、グループ１７２内のデバイス１０６及びグループ１８２内のデバイス１３６は、ソースデバイス１０２まで５０単位の距離があり得ると仮定する。単位の例としては、物理距離（例えば、メートル）、ホップ数、及びレイテンシが挙げられるが、これらに限定されない。次いで、コントローラ１４０は、デバイス３１２からデバイス１０６へ又はデバイス１３６への経路を測定するかどうかを判定する。デバイス１３２及び１０６は同じ時間帯を共有するが、デバイス１３６は異なる時間帯にある場合、コントローラ１４０は、デバイス１０６が、リンクを測定のためにスケジュールするのにより良い選択肢であると判定することができる。
【００４１】
同様に、デバイス１３２、１０６、及び１３６が異なるＩＰサブネット上のプリンタである場合、これらのデバイスは、各プリンタに印刷を行うそれぞれのユーザＩＰアドレスのセットを記録することができる。コントローラ１４０は、デバイス１３２及び１０６によって記録されたＩＰアドレスのセット間の、及びデバイス１３２及び１３６によって記録されたＩＰアドレスのセット間の共通部分のセットのそれぞれのサイズを判定することができる。次に、コントローラ１４０は、より大きいサイズに対応するデバイス１０６及び１３６から１つのデバイスを選択する。コントローラ１４０はまた、記録されたＩＰアドレスのネットワーク部（例えば、ＩＰサブネット）を判定し、特定のＩＰアドレスのセットの代わりに、より粗い尺度であるＩＰサブネットに基づいて、測定値においてどのビットが変化して相関するかを判定することもできる。
【００４２】
デバイスが、マルチキャスト又はブロードキャストパケットなどのルーティングプロトコルアドバタイズメントを傍受することができる場合、デバイスは、近くのＩＰサブネットの距離ベクトルをコントローラ１４０に報告し得る。次いで、コントローラ１４０は、距離ベクトルから近くのサブネットを判定することによって、グループをクラスタリングすることができる。例えば、デバイス１０６、１３２、及び１３６は、最も近いｎ個のＩＰサブネットのリストを報告することができる。ｎの値は、デバイス１０６、１３２、及び１３６に対して異なるものであり得る。コントローラ１４０は、これらのリストにおいて重複を判定することができる。コントローラ１４０は、どのデバイスがデバイス１３２のリストに対して最も高い類似性を有するかに基づいて、デバイス１３２からの測定のためにデバイス１０６又は１３６を選択することができる。いくつかの実施形態では、コントローラ１４０は、成功率などの目標に基づいてｎの値を調整することができる。例えば、ｎの現在値が低い成功率を有する場合、コントローラ１４０はｎの値を増加させることができ、ｎの現在値が高い成功率を有する場合、コントローラ１４０はｎの値を最適値にまで減少させることができる。
【００４３】
図２は、本出願の一実施形態による、企業環境内でのネットワーク測定を容易にする例示的なシステムアーキテクチャを示す。この例では、コントローラ１４０、及び被管理デバイス１０６などのそれぞれの被管理デバイスは、それぞれ、主動作モジュールコントローラモジュール２００及び被管理デバイスモジュール２５０を含む。コントローラモジュール２００は、登録モジュール２０２、鍵モジュール２０４、グラフ化モジュール２０６、スケジューラモジュール２１４、及びプランナーモジュール２０８に基づいて動作する。一方、被管理デバイスモジュール２５０は、登録モジュール２５２、鍵モジュール２５４、測定モジュール２５６、及び転送モジュール２５８に基づいて動作することができる。
【００４４】
コントローラ１４０、登録モジュール２０２は、登録要求をリッスンし、被管理デバイスから要求メッセージを登録解除することができる。要求に基づいて、登録モジュール２０２は、ノードデータベース２１２内の企業環境１００内の現在のデバイス及びサブネットのセットの情報を維持する。鍵モジュール２０４は、被管理デバイスからの鍵要求メッセージをリッスンし、メッセージキューイングを使用して、一時的な楕円曲線ディフィーヘルマンなどの鍵交換を実行することができる。鍵モジュール２０４はまた、ハッシュベースメッセージ認証符号（ｈａｓｈ−ｂａｓｅｄ  ｍｅｓｓａｇｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ、ＨＭＡＣ）などの対称鍵でコントローラ１４０のキーリングを更新する。グラフ化モジュール２０６は、測定応答メッセージをリッスンすることができ、これらのメッセージに基づいて、企業環境１００の加重サブネット対サブネットグラフを維持することができる。
【００４５】
スケジューラモジュール２１４は、ネットワーク性能及び特性を測定するために、サブネット間の測定値を定期的にスケジュールする。スケジューラモジュール２１４はまた、ノードデータベース２１２内のサブネット間のエッジを示すテーブルを維持する。プランナーモジュール２０８は、コンテンツに関して、現在登録されているデバイスに基づいて、受信デバイスを含むソースデバイス及びターゲットサブネットを判定し、配信ツリーを判定するための実験をスケジュールする。プランナーモジュール２０８は、配信計画を生成し、それを計画データベース２１６に記憶することによって、コンテンツの配信を開始する。プランナーモジュール２０８は、配信に関する被管理デバイスからの通知を受信することができる。
【００４６】
被管理デバイス１０６において、登録モジュール２５２は、定期的登録要求メッセージをコントローラ１４０に送信し、応答をリッスンする。鍵モジュール２５４は、鍵交換要求メッセージを送信し、対応する応答をリッスンすることによって、新しい鍵を定期的に生成する。鍵モジュール２５４はまた、対称鍵（例えば、ＨＭＡＣ）を用いて被管理デバイス１０６のキーリングを更新することもできる。測定モジュール２５６は、ネットワーク測定の初期化をリッスンすることができる。これに基づいて、測定モジュール２５６は、ネットワーク測定をスケジュールし、測定値をグラフ化モジュール２０６に送信することができる。転送モジュール２５８は、コントローラ１４０からのメッセージをリッスンし、コンテンツの配信を初期化し、ピアツーピアプロトコル２６０を介してピアツーピア転送をスケジュールする。転送モジュール２５８は、応答を送信して転送初期化メッセージを確認し、重要なイベント（例えば、開始、終了、エラーの検出など）に関してコントローラ１４０に通知することができる。プロトコル２６０は、プランナーモジュール２０８の制御下でピアツーピアファイルの転送を実行する。
【００４７】
図３Ａは、本出願の一実施形態による、企業環境の被管理デバイスを登録するコンテンツ配信システムの方法を示すフロー図３００を提示する。動作中、システムは、企業環境内のＩＰサブネットを判定し（動作３０２）、サブネット内のそれぞれの被管理デバイスから登録情報を取得する（動作３０４）。次いで、システムは、企業環境内の論理グループを判定し（動作３０６）、それぞれの論理グループに対してグループヘッドを判定する（動作３０８）。
【００４８】
図３Ｂは、本出願の一実施形態による、それぞれの論理グループのためのグループヘッドを判定するコンテンツ配信システムの方法を示すフロー図３５０を提示する。動作中、システムは、企業環境内の論理グループを識別し（動作３５２）、コンテンツのソースデバイスが論理グループ内にあるかどうかを判定する（動作３５４）。ソースデバイスが論理グループ内にある場合、システムは、論理グループのためのグループヘッドとしてソースデバイスを判定する（動作３５６）。次いで、システムは、グループヘッド選択が完了したかどうか（例えば、２つなどの所定の数のグループヘッドが選択されているか、又はデバイスがこれ以上選択されないか）を判定する（動作３５８）。
【００４９】
グループヘッド選択が完了していない場合、システムは、コンテンツのための任意の受信デバイスが論理グループ内で利用可能かどうかをチェックする（動作３６０）。少なくとも１つの受信デバイスが利用可能である場合、システムは、論理グループのグループヘッドとして受信デバイスをランダムに選択する（動作３６２）。そうでなければ、システムは、論理グループのグループヘッドとして中継デバイスをランダムに選択する（動作３６４）。グループヘッドを選択すると（動作３６２又は３６４）、システムは、グループヘッドの選択が完了したかどうかを判定する（動作３５８）。グループヘッドの選択が完了している場合、システムは、論理グループを表すためのグループヘッドを構成する（動作３６６）。
【００５０】
図４は、本出願の一実施形態による、外因性情報に基づいて論理グループを分類するコンテンツ配信システムの方法を示すフロー図４００を提示する。動作中、システムは、論理グループに関連付けられた登録情報から外因性情報を取得し（動作４０２）、外因性情報を分析して分類のための候補グループを判定する（動作４０４）。次いで、システムは、候補グループがカテゴリ１のグループであるかどうかを判定する（動作４０６）。そうである場合、システムは、候補グループをカテゴリ１のグループとして判定する（動作４０８）。そうでない場合、システムは、候補グループをカテゴリ２のグループとして判定する（動作４１０）。次いで、システムは、全てのグループが分類されたかどうかを判定する（動作４１２）。全てのグループが分類された場合、システムは、分類情報を使用してネットワーク測定を実行する（動作４１４）。分類されていないグループがある場合、システムは、外因性情報を分析して分類のための次の候補グループを判定する（動作４０４）。
【００５１】
図５Ａは、本出願の一実施形態による、ネットワーク測定をスケジュールするコンテンツ配信システムの方法を示すフロー図５００を提示する。動作中、システムは、コントローラ情報、論理グループ情報、及びリンクカテゴリのセットを取得する（動作５０２）。次いで、システムは、測定リソースを判定し、リンクカテゴリのセットのそれぞれのカテゴリに対して測定の確率（例えば、測定の条件）を計算する（動作５０４）。システムは、リソース（及び確率）の可用性をチェックする（動作５０６）。利用可能な確率は、非ゼロの確率値を示すことができる。
【００５２】
利用可能な場合、システムは、それぞれの測定の確率の累積分布関数（ｃｕｍｕｌａｔｉｖｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｆｕｎｃｔｉｏｎ、ＣＤＦ）を判定し（動作５０８）、範囲［０，１）から均一な乱数を生成する（動作５１０）。次いで、システムは、生成された乱数及びＣＤＦに基づいてリンクを測定のために選択し（動作５１２）、カテゴリのセットのそれぞれのカテゴリに対して測定の確率を計算する（動作５１４）。次いで、システムは、リソース（及び確率）の可用性をチェックすることを続ける（動作５０６）。利用可能でない場合、システムは、計算された確率に基づいてリンクのための測定をスケジュールする（動作５１６）。
【００５３】
図５Ｂは、本出願の一実施形態による、それぞれのリンクカテゴリのための測定を開始するかどうかを判定するコンテンツ配信システムの方法を示すフロー図５３０を提示する。動作中、システムは、リンクカテゴリのセットからカテゴリを順次判定し（動作５３２）、判定されたカテゴリのための測定の確率を取得する（動作５３４）。次に、システムは、図５Ａと併せて説明したように、生成された乱数を取得し、乱数と取得された測定の確率とを比較する（動作５３６）。
【００５４】
次いで、システムは、比較に対して条件が満たされているかどうかを判定する（動作５３８）。条件は、乱数が確率よりも大きいかどうかであり得る。条件が満たされている場合、システムは、判定されたカテゴリのための測定をスケジュールする（動作５４０）。条件が満たされていない場合、システムは、リンクカテゴリのセットからカテゴリを順次判定することを続ける（動作５３２）。いくつかの実施形態では、リンクカテゴリのセットは、４つのリンクのカテゴリ、すなわち、（ｉ）ランダムなグループからソースグループへ、（ｉｉ）ランダムなグループ内のループ、（ｉｉｉ）２つの別個のランダムな通常グループ間、及び（ｉｖ）カテゴリ１のグループとカテゴリ２のグループとの間を含む。
【００５５】
図５Ｃは、本出願の一実施形態による、それぞれのリンクカテゴリのための測定確率を判定するコンテンツ配信システムの方法を示すフロー図５５０を提示する。動作中、システムは、コントローラグループへのリンクを有しない論理グループに対応するリンクカテゴリのための確率（例えば、確率値１）を、少なくとも１つのそのようなグループが存在する場合に割り当てる（動作５５２）。リンクの存在は、現在存在するスケジュールされたリンクに対してチェックされる。システムはまた、内部測定（例えば、ループ）を有しない論理グループに対応するリンクカテゴリのための確率を、少なくとも１つのそのようなグループが存在する場合に割り当てる（動作５５４）。
【００５６】
次いで、システムは、確率が割り当てられているかどうかをチェックする（動作５５６）。確率が割り当てられている場合、システムは、コントローラグループへのリンクを有しない論理グループに対応するリンクカテゴリのための確率を、少なくとも１つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる（動作５５８）。システムは更に、内部測定を有しない論理グループに対応するリンクカテゴリのための確率を、少なくとも１つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる（動作５６０）。システムはまた、ランダムな論理グループペアに対応するリンクカテゴリのための確率を、少なくとも１つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる（動作５６２）。
【００５７】
更に、システムは、ランダムなカテゴリ１のグループとカテゴリ２のグループとの間のリンクに対応するリンクカテゴリのための確率を、少なくとも１つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる（動作５６４）。確率が割り当てられていない場合（動作５５６）、又は確率がリンクカテゴリのセットのために割り当てられている場合（動作５６４）、システムは、割り当てられた確率のセット及び重みベクトルに基づいて測定の確率を計算する（動作５６６）。いくつかの実施形態では、重みベクトルは、［０．１５，０．１５，０．２０，０．５０］である。ベクトルの各値は、リンクのカテゴリに対応する。
【００５８】
図５Ｄは、本出願の一実施形態による、リンクを測定するコンテンツ配信システムの方法を示すフロー図５７０を提示する。動作中、システムは、ＩＰアドレス及びポートペアによって示される宛先に異なるサイズを有するパケットのセットを送信する（動作５７２）。いくつかの実施形態では、システムは、サイズ２５６、５１２、７６８、及び１０２４バイトのそれぞれに、３つのパケットを送信することができる。続いて、システムは、タイムアウトになるか、又は全てのパケットが受信されるまで待機する（動作５７４）。次いで、システムは、十分な数の応答が受信されたかどうかをチェックする（動作５７６）。受信された場合、システムは、宛先に関連付けられたリンクに対して帯域幅及びレイテンシを判定する（動作５７８）。そうでない場合、システムは、測定が成功していないと判定する（動作５８０）。いくつかの実施形態では、システムは、異なるリンクカテゴリ間での比較にスケールフリー測定のための対数リターンを使用する。
【００５９】
図６Ａは、本出願の一実施形態による、コントローラ論理グループに関連付けられたリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図６００を提示する。動作中、システムは、既存のスケジュールされたリンクを有するリンクの組み合わせセットを判定し（動作６０２）、リンクがデバイスとコントローラグループ（すなわち、コントローラグループ内の少なくとも１つのデバイス）との間に存在するような、それぞれの通常グループからのデバイスを検索する（動作６０４）。次いで、システムは、そのようなデバイスが見つかったかどうかをチェックする（動作６０６）。
【００６０】
そのようなデバイスが見つかった場合、システムは、リンクが組み合わせセット内にあるかどうかをチェックする（動作６０８）。リンクが組み合わせセット内にある場合、システムは、リンクがスケジュールされているかどうかをチェックする（動作６１０）。リンクが組み合わせセット内にないか（動作６０８）、又はリンクがスケジュールされていない場合（動作６１０）、システムは、リンクを測定のためにスケジュールする（動作６１２）。リンクがスケジュールされているか、又はデバイスが見つからなかった場合（動作６０６）、システムは、実行可能な論理グループが見つからないと判定する（動作６１４）。
【００６１】
図６Ｂは、本出願の一実施形態による、通常論理グループ内のループのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図６３０を提示する。動作中、システムは、既存のスケジュールされたリンクを有するリンクの組み合わせセットを判定する（動作６３２）。システムは、論理グループに対してデバイスに対応するループ測定が存在しないような、２つ以上の被管理デバイスを有する論理グループからのデバイスを判定する（動作６３４）。次いで、システムは、そのようなデバイスが見つかったかどうかをチェックする（動作６３６）。
【００６２】
そのようなデバイスが見つかった場合、システムは、ループが組み合わせセット内にあるかどうかをチェックする（動作６３８）。ループが組み合わせセット内にある場合、システムは、ループがスケジュールされているかどうかをチェックする（動作６４０）。ループが組み合わせセット内にないか（動作６３８）、又はループがスケジュールされていない場合（動作６４０）、システムは、ループを測定のためにスケジュールする（動作６４２）。ループがスケジュールされているか、又はデバイスが見つからなかった場合（動作６３６）、システムは、実行可能な論理グループが見つからないと判定する（動作６４４）。
【００６３】
図６Ｃは、本出願の一実施形態による、通常論理グループペア間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図６５０を提示する。動作中、システムは、ランダムな通常グループ内のデバイスを別のランダムな通常グループ内の別のデバイスに結合するリンクを判定する（動作６５２）。システムは、そのようなリンクが見つかったかどうかをチェックする（動作６５４）。そのようなリンクが見つかった場合、システムは、リンクがスケジュールされているかどうかをチェックする（動作６５６）。リンクがスケジュールされていない場合（動作６５６）、システムは、リンクを測定のためにスケジュールする（動作６５８）。リンクが見つからなかったか（動作６５４）、又はスケジュールされている場合（動作６５６）、システムは、実行可能な論理グループが見つからないと判定する（動作６６０）。
【００６４】
図６Ｄは、本出願の一実施形態による、クラスタ間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図６７０を提示する。動作中、システムは、ランダムなカテゴリ１のグループ内のデバイスを別のランダムなカテゴリ２のグループ内の別のデバイスに結合するリンクを判定する（動作６７２）。いくつかの実施形態では、システムは、図１Ａと併せて説明したように、グループに関連付けられた外因性情報を使用して、カテゴリ１及びカテゴリ２のグループを選択する。システムは、そのようなリンクが見つかったかどうかをチェックする（動作６７４）。そのようなリンクが見つかった場合、システムは、リンクがスケジュールされているかどうかをチェックする（動作６７６）。リンクがスケジュールされていない場合（動作６７６）、システムは、リンクを測定のためにスケジュールする（動作６７８）。リンクが見つからなかったか（動作６７４）、又はスケジュールされている場合（動作６７６）、システムは、実行可能な論理グループが見つからないと判定する（動作６８０）。
【００６５】
図７は、本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的なコンピュータシステムを示す。コンピュータシステム７００は、プロセッサ７０２、メモリデバイス７０４、及び記憶デバイス７０８を含む。メモリデバイス７０４は、揮発性メモリデバイス（例えば、デュアルインラインメモリモジュール（ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｍｅｍｏｒｙ  ｍｏｄｕｌｅ、ＤＩＭＭ））を含むことができる。更に、コンピュータシステム７００は、ディスプレイデバイス７１０、キーボード７１２、及びポインティングデバイス７１４に連結することができる。記憶デバイス７０８は、オペレーティングシステム７１６、コンテンツ配信システム７１８、及びデータ７３６を記憶することができる。コンテンツ配信システム７１８は、コントローラ１４０、ソースデバイス１０２、グループヘッド１０４、１０６、１０８、１４４、及び１４６、ソースデバイス１０２、並びに受信デバイス１０４及び１０６のうちの１つ以上の動作を容易にすることができる。
【００６６】
コンテンツ配信システム７１８は、コンピュータシステム７００によって実行されると、コンピュータシステム７００に、本開示で説明される方法及び／又はプロセスを実行させることができる命令を含むことができる。具体的には、コンテンツ配信システム７１８は、ノードデータベース内で企業環境内の現在のデバイス及びサブネットのセットの情報をディスカバリ及び維持するための命令を含むことができる（登録モジュール７２０）。コンテンツ配信システム７１８はまた、外因性情報を使用してグループをカテゴリ１及び２のグループに分類するための命令を含むこともできる（分類モジュール７２２）。更に、コンテンツ配信システム７１８はまた、それぞれのリンクカテゴリのための測定の確率を判定するための命令を含むこともできる（確率モジュール７２４）。
【００６７】
加えて、コンテンツ配信システム７１８はまた、リンクを測定のために測定の確率に基づいてスケジュールするための命令を含むこともできる（スケジューリングモジュール７２６）。コンテンツ配信システム７１８は、スケジュールされた測定を実行するための命令を含むことができる（測定モジュール７２８）。コンテンツ配信システム７１８は、メッセージを送信及び受信するための命令（通信モジュール７３０）を更に含んでもよい。データ７３６は、コンテンツ配信システム７１８の動作を促進することができる任意のデータを含み得る。
【００６８】
図８は、本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的な装置を示す。コンテンツ配信装置８００は、有線、無線、量子光、又は電気通信チャネルを介して互いに通信し得る複数のユニット又は装置を含むことができる。装置８００は、１つ以上の集積回路を使用して実現され得、図８に示されているものよりも少ない又は多いユニット又は装置を含み得る。更に、装置８００は、コンピュータシステムに統合され得るか、又は他のコンピュータシステム及び／若しくはデバイスと通信することができる別個のデバイスとして実現され得る。具体的には、装置８００は、図７のコンピュータシステム７００のモジュール７２０〜７３０と同様の機能又は動作を実行するユニット８０２〜８１２を含むことができ、これには、登録ユニット８０２、分類ユニット８０４、確率ユニット８０６、スケジューリングユニット８０８、測定ユニット８１０、及び通信ユニット８１２が含まれる。
【００６９】
発明を実施するための形態において記載されるデータ構造及びコードは、典型的には、コンピュータ可読記憶媒体上に記憶され、コンピュータシステムによって使用されるコード及び／又はデータを記憶することができる任意のデバイス又は媒体であってもよい。コンピュータ可読記憶媒体としては、揮発性メモリ、不揮発性メモリ、ディスク、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスク又はデジタルビデオディスク）などの磁気及び光学ストレージデバイス、又は現在知られている又は今後開発されるコンピュータ可読メディア媒体を記憶できるその他の媒体が挙げられるが、これらに限定されない。
【００７０】
「発明を実施するための形態」セクションに記載される方法及び処理は、上記のようにコンピュータ可読記憶媒体に記憶され得るコード及び／又はデータとして具体化することができる。コンピュータシステムが、コンピュータ可読記憶媒体上に記憶されたコード及び／又はデータを読み取って実行すると、コンピュータシステムは、データ構造及びコードとして具体化され、コンピュータ可読記憶媒体内に記憶された方法及び処理を実行する。
【００７１】
更に、上述の方法及びプロセスは、ハードウェアモジュールに含めることができる。例えば、ハードウェアモジュールとしては、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）、及び現在知られている又は今後開発される他のプログラム可能論理デバイスを含むことができるが、これらに限定されない。ハードウェアモジュールが起動されると、ハードウェアモジュールは、ハードウェアモジュール内に含まれる方法及びプロセスを実行する。
【図１Ａ】
2020078068.tif 000003
【図１Ｂ】
2020078068.tif 000004
【図２】
2020078068.tif 000005
【図３Ａ】
2020078068.tif 000006
【図３Ｂ】
2020078068.tif 000007
【図４】
2020078068.tif 000008
【図５Ａ】
2020078068.tif 000009
【図５Ｂ】
2020078068.tif 000010
【図５Ｃ】
2020078068.tif 000011
【図５Ｄ】
2020078068.tif 000012
【図６Ａ】
2020078068.tif 000013
【図６Ｂ】
2020078068.tif 000014
【図６Ｃ】
2020078068.tif 000015
【図６Ｄ】
2020078068.tif 000016
【図７】
2020078068.tif 000017
【図８】
2020078068.tif 000018