IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パロ アルト リサーチ センター インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-10
(45)【発行日】2024-05-20
(54)【発明の名称】企業環境内でのネットワーク測定
(51)【国際特許分類】
   H04L 43/08 20220101AFI20240513BHJP
【FI】
H04L43/08
【請求項の数】 18
(21)【出願番号】P 2019191617
(22)【出願日】2019-10-21
(65)【公開番号】P2020078068
(43)【公開日】2020-05-21
【審査請求日】2022-10-21
(31)【優先権主張番号】16/183,547
(32)【優先日】2018-11-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504407000
【氏名又は名称】パロ アルト リサーチ センター,エルエルシー
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】マーク・イー・モスコ
【審査官】前田 健人
(56)【参考文献】
【文献】米国特許第07860918(US,B1)
【文献】国際公開第2016/185710(WO,A1)
【文献】特開2004-355061(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
(57)【特許請求の範囲】
【請求項1】
企業環境における動的コンテンツ配信のためのネットワーク測定を容易にするための方法であって、
前記企業環境のコントローラによって、論理グループのセットをグループ化基準のセットに基づいて判定することであって、それぞれの論理グループが、前記コントローラによって管理される1つ以上のデバイスと、前記1つ以上のデバイスを結合するネットワークと、を含む、ことと、
前記論理グループのセットを、それぞれの論理グループに関連付けられた外因性情報に基づいて分類することと、
前記企業環境内のそれぞれのリンクのカテゴリに対して、対応する測定の条件を判定することと、
前記測定の条件及び前記論理グループのセットの前記分類に基づいて、リンクを測定のためにスケジュールすることと、を含
前記リンクのカテゴリが、
ランダムな論理グループからソース論理グループへのリンクと、
ランダムな論理グループ内のループと、
2つの別個のランダムな論理グループ間のリンクと、
2つのカテゴリの論理グループ間のリンクと、のうちの1つ以上を含む、方法。
【請求項2】
前記論理グループのセットが、前記コントローラに対して閾値距離内にある論理グループのサブセットに対応する第1のカテゴリと、前記コントローラに対して前記閾値距離の外側にある論理グループのサブセットに対応する第2のカテゴリと、に分類される、請求項1に記載の方法。
【請求項3】
前記外因性情報が、時間帯情報、言語及び任意の他のロケール情報、インターネットプロトコル(IP)サブネット情報、ルーティングプロトコル情報、並びにサービス情報のうちの1つ以上を含む、請求項1に記載の方法。
【請求項4】
前記論理グループのセットのそれぞれの論理グループのための1つ以上のグループヘッドを選択することを更に含み、第1の論理グループと第2の論理グループとの間のグループ間接続が、前記第1及び第2の論理グループの前記それぞれのグループヘッド間に形成されている、請求項1に記載の方法。
【請求項5】
前記測定の条件が、リンクのそれぞれのカテゴリ内のリンクをスケジュールする確率に基づく、請求項1に記載の方法。
【請求項6】
メッセージキュー(MQ)ベースのメッセージ交換を使用することによって、前記コントローラによって管理されるそれぞれのデバイスに関連付けられている前記外因性情報を取得することを更に含む、請求項1に記載の方法。
【請求項7】
前記リンクを介して異なるサイズのパケットのセットを送信することと、
前記パケットのセットに対応する応答パケットのセットに基づいて、前記リンクの1つ以上の性能パラメータを判定することと、によって、前記スケジュールされたリンク測定を実行することを更に含む、請求項1に記載の方法。
【請求項8】
前記応答パケットのセットから情報を取得することと、
最小数の応答パケットを受信したことに応じて、取得した情報の移動平均を計算して前記性能パラメータを判定することと、を更に含む、請求項に記載の方法。
【請求項9】
前記外因性情報は、前記コントローラが、前記外因性情報を学習することなく2つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用して暗号化される、請求項1に記載の方法。
【請求項10】
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令が、コンピュータによって実行されると、前記コンピュータに、企業環境における動的コンテンツ配信を促進するための方法を実行させ、前記方法が、
前記企業環境のコントローラによって、論理グループのセットをグループ化基準のセットに基づいて判定することであって、それぞれの論理グループが、前記コントローラによって管理される1つ以上のデバイスと、前記1つ以上のデバイスを結合するネットワークと、を含む、ことと、
前記論理グループのセットを、それぞれの論理グループに関連付けられた外因性情報に基づいて分類することと、
前記企業環境内のそれぞれのリンクのカテゴリに対して、対応する測定の条件を判定することと、
前記測定の条件及び前記論理グループのセットの前記分類に基づいて、リンクを測定のためにスケジュールすることと、を含
前記リンクのカテゴリが、
ランダムな論理グループからソース論理グループへのリンクと、
ランダムな論理グループ内のループと、
2つの別個のランダムな論理グループ間のリンクと、
2つのカテゴリの論理グループ間のリンクと、のうちの1つ以上を含む、コンピュータ可読記憶媒体。
【請求項11】
前記論理グループのセットが、前記コントローラに対して閾値距離内にある論理グループのサブセットに対応する第1のカテゴリと、前記コントローラに対して前記閾値距離の外側にある論理グループのサブセットに対応する第2のカテゴリと、に分類される、請求項10に記載のコンピュータ可読記憶媒体。
【請求項12】
前記外因性情報が、時間帯情報、言語及び任意の他のロケール情報、インターネットプロトコル(IP)サブネット情報、ルーティングプロトコル情報、並びにサービス情報のうちの1つ以上を含む、請求項10に記載のコンピュータ可読記憶媒体。
【請求項13】
前記方法が、前記論理グループのセットのそれぞれの論理グループのための1つ以上のグループヘッドを選択することを更に含み、第1の論理グループと第2の論理グループとの間のグループ間接続が、前記第1及び第2の論理グループの前記それぞれのグループヘッド間に形成されている、請求項10に記載のコンピュータ可読記憶媒体。
【請求項14】
前記測定の条件が、リンクのそれぞれのカテゴリ内のリンクをスケジュールする確率に基づく、請求項10に記載のコンピュータ可読記憶媒体。
【請求項15】
メッセージキュー(MQ)ベースのメッセージ交換を使用することによって、前記コントローラによって管理されるそれぞれのデバイスに関連付けられている前記外因性情報を取得することを更に含む、請求項10に記載のコンピュータ可読記憶媒体。
【請求項16】
前記方法が、
前記リンクを介して異なるサイズのパケットのセットを送信することと、
前記パケットのセットに対応する応答パケットのセットに基づいて、前記リンクの1つ以上の性能パラメータを判定することと、によって、前記スケジュールされたリンク測定を実行することを更に含む、請求項10に記載のコンピュータ可読記憶媒体。
【請求項17】
前記方法が、
前記応答パケットのセットから情報を取得することと、
最小数の応答パケットを受信したことに応じて、取得した情報の移動平均を計算して前記性能パラメータを判定することと、を更に含む、請求項16に記載のコンピュータ可読記憶媒体。
【請求項18】
前記外因性情報は、前記コントローラが、前記外因性情報を学習することなく2つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用して暗号化される、請求項10に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、コンテンツ配信の分野に関連する。より具体的には、本開示は、コンテンツを効率的に配信するための企業環境内でのネットワーク測定を実行するためのシステム及び方法に関する。
【0002】
インターネット及び電子商取引の急増により、膨大な量のデジタルコンテンツが作成され続けている。企業又は大企業は、複数のサイトにわたって配信されたクラウドストレージデバイス及びプリンタなどの被管理デバイスのネットワークを含み得る。そのようなデバイスのネットワークでは、デバイスマネージャは、そのサイトのうちの1つのローカルネットワーク内のデバイスを管理(例えば、構成及び制御)してもよい。このデバイスマネージャは、ファームウェア更新、ポリシーファイル配信、又はデータ転送に関与することができる。これらの動作は、通常、企業ネットワーク内の多数の被管理デバイスへの大きなファイル転送を伴う。
【0003】
従来のデバイスマネージャは、通常、被管理デバイスのインターネットプロトコル(Internet Protocol、IP)アドレスに基づく簡易ネットワーク管理プロトコル(Simple Network Management Protocol、SNMP)クエリに基づいてデバイスを管理する。しかしながら、各デバイスは、ローカルアドレスプールに基づいて(例えば、プライベートIPアドレスのセットから)、動的ホスト構成プロトコル(Dynamic Host Configuration Protocol、DHCP)サーバによってIPアドレスを割り当てられ得る。プライベートネットワーク内のデバイスへのアクセスを促進するために、デバイスマネージャは、従来、同じプライベートIPサブネットワーク及びローカルエリアネットワーク(local area network、LAN)などの同じネットワーク内に常駐する。しかしながら、大企業では、デバイスマネージャは、複数のサブネットにわたって大きなファイルを配信する必要があり得る。
【0004】
デバイスマネージャは、典型的には、既存のネットワーキングフレームワーク及びプロトコルを使用して、企業ネットワーク内の大規模なファイル配信を可能にする。しかしながら、このような解決策は、位相認識ピアツーピアコンテンツ配信ソリューションに向けられている。これらの解決策は、特定のファイルのための好適な候補を見出すために参加者間のネットワーク条件を推定する。しかしながら、これらの解決策は、通常、ファイルの配信を計画しない。結果として、ファイルは、需要に基づいてネットワーク内に配信され得る。具体的には、これらの解決策はインターネットのためのものであるため、それらは、最小位相相関を有する広範に配信された参加者用に設計される。場合によっては、特定のファイルは、瞬間的な需要を有し、時間関心相関を作成する可能性があるが、位相相関は分散したままである。したがって、これらの解決策は、ファームウェア更新又はオペレーティングシステムパッチなどの、計画された使用のための高度な位相相関及び時間相関を有し得る企業環境を提供しない場合がある。
【0005】
本明細書に記載される実施形態は、企業環境における動的コンテンツ配信を促進するためのシステムを提供する。動作中、システムは、グループ化基準のセットに基づいて論理グループのセットを判定する。それぞれの論理グループは、コントローラによって管理される1つ以上のデバイス、及び1つ以上のデバイス間の接続を提供するネットワークを含むことができる。システムは、それぞれの論理グループに関連付けられた外因性情報に基づいて論理グループのセットを分類し、企業環境内のそれぞれのリンクのカテゴリに対して対応する測定の条件を判定する。次いで、システムは、測定の条件及び論理グループのセットの分類に基づいて、リンクを測定のためにスケジュールする。
【0006】
この実施形態の変形例では、論理グループのセットは、コントローラに対して閾値距離内にある論理グループのサブセットに対応する第1のカテゴリと、コントローラに対して閾値距離の外側にある論理グループのサブセットに対応する第2のカテゴリと、に分類される。
【0007】
この実施形態の変形例では、外因性情報は、時間帯情報、言語及び任意の他のロケール情報、インターネットプロトコル(IP)サブネット情報、ルーティングプロトコル情報、並びにサービス情報のうちの1つ以上を含む。
【0008】
この実施形態の変形例では、システムは、論理グループのセットのそれぞれの論理グループのための1つ以上のグループヘッドを選択する。第1の論理グループと第2の論理グループとの間のグループ間接続は、第1及び第2の論理グループのそれぞれのグループヘッド間に形成される。
【0009】
この実施形態の変形例では、リンクのカテゴリは、ランダムな論理グループからソース論理グループへのリンクと、ランダムな論理グループ内のループと、2つの別個のランダムな論理グループ間のリンクと、2つのカテゴリの論理グループ間のリンクと、のうちの1つ以上を含む。
【0010】
この実施形態の変形例では、測定の条件は、リンクのそれぞれのカテゴリ内のリンクをスケジュールする確率に基づく。
【0011】
この実施形態の変形例では、システムは、メッセージキュー(message queue、MQ)ベースのメッセージ交換を使用することによって、コントローラによって管理されたそれぞれのデバイスに関連付けられている外因性情報を取得する。
【0012】
この実施形態の変形例では、システムは、リンクを介して異なるサイズのパケットのセットを送信し、そのパケットのセットに対応する応答パケットのセットに基づいてリンクの1つ以上の性能パラメータを判定することによって、スケジュールされたリンク測定を実行する。
【0013】
更なる変形例では、システムは、応答パケットのセットから情報を取得する。システムが最小数の応答パケットを受信していると、システムは、取得した情報の移動平均を計算して性能パラメータを判定する。
【0014】
この実施形態の変形例では、外因性情報は、コントローラが、外因性情報を学習することなく2つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用して暗号化される。
【図面の簡単な説明】
【0015】
図1A】本出願の一実施形態による、効率的なコンテンツ配信のためのネットワーク測定をサポートする例示的な企業環境を示す。
図1B】本出願の一実施形態による、企業環境内でのネットワーク測定を容易にするための例示的な論理グループのクラスタリングを示す。
図2】本出願の一実施形態による、企業環境内でのネットワーク測定を容易にする例示的なシステムアーキテクチャを示す。
図3A】本出願の一実施形態による、企業環境の被管理デバイスを登録するコンテンツ配信システムの方法を示すフロー図を提示する。
図3B】本出願の一実施形態による、それぞれの論理グループのためのグループヘッドを判定するコンテンツ配信システムの方法を示すフロー図を提示する。
図4】本出願の一実施形態による、外因性情報に基づいて論理グループを分類するコンテンツ配信システムの方法を示すフロー図を提示する。
図5A】本出願の一実施形態による、ネットワーク測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
図5B】本出願の一実施形態による、それぞれのリンクカテゴリのための測定を開始するかどうかを判定するコンテンツ配信システムの方法を示すフロー図を提示する。
図5C】本出願の一実施形態による、それぞれのリンクカテゴリのための測定確率を判定するコンテンツ配信システムの方法を示すフロー図を提示する。
図5D】本出願の一実施形態による、リンクを測定するコンテンツ配信システムの方法を示すフロー図を提示する。
図6A】本出願の一実施形態による、コントローラ論理グループに関連付けられたリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
図6B】本出願の一実施形態による、通常論理グループ内のループのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
図6C】本出願の一実施形態による、通常論理グループペア間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
図6D】本出願の一実施形態による、クラスタ間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図を提示する。
図7】本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的なコンピュータシステムを示す。
図8】本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的な装置を示す。
【発明を実施するための形態】
【0016】
以下の説明は、当業者が実施形態を作製及び使用することを可能にするために提示され、特定の用途及びその要件に関連して提供される。開示される実施形態に対する様々な修正は、当業者には容易に明らかとなり、本明細書に定義される一般原理は、本開示の趣旨及び範囲から逸脱することなく、他の実施形態及び用途に適用され得る。したがって、本明細書に記載される実施形態は、示される実施形態に限定されるものではなく、本明細書に開示される原理及び特徴と一致する最も広い範囲を与えられるものである。
【0017】
本明細書に記載される実施形態は、(i)外因性情報、及び(ii)リンク分類に基づいてどのリンクを測定するかを判定することによって、コンテンツ配信のために企業環境内のネットワークを効率的に測定するという問題を解決する。
【0018】
既存の技術では、ソースデバイス(例えば、デバイスマネージャ)は、ポイントツーポイント通信を介して、受信デバイス(例えば、被管理デバイス)に大量のコンテンツを配信する。ファームウェア更新などのコンテンツが多数の受信デバイスに送信される場合、このプロセスは、各受信デバイスに対して繰り返される。そのような配信モードは、企業環境のネットワーキングインフラストラクチャ内の大量のトラフィックを引き起こし得る。各転送はデバイスペア間の個別の転送であり得るため、各転送は脆弱で破損する場合がある。その結果、企業環境は、些細でない破損率に直面する場合がある。
【0019】
この問題に対処するために、ネットワークのそれぞれのリンクについて、帯域幅、レイテンシ、及び使用率など、様々な性能パラメータを測定することができる。しかしながら、企業環境が大きなネットワークを含む場合、それぞれのコンテンツに対するそれぞれのデバイスペア又はデバイスグループのこれらのパラメータを測定することは実行不可能であり得る。具体的には、各コンテンツのソースデバイスは異なるものであり得、したがって、異なる配信計画につながり得る。結果として、大きなネットワーク内の各ソースに対してパラメータを測定することは、著しい計算オーバーヘッド及び帯域幅消費をもたらし得る。
【0020】
本明細書に記載される実施形態は、コンテンツの配信を計画するためのネットワーク測定を実行するリンクを効率的に選択することができるコンテンツ配信システムを提供することによって、これらの問題を解決する。企業ネットワーク内でのコンテンツの配信を促進するために、システムは、ネットワークトポロジーを学習し、ソースデバイス及び受信デバイスのセットに対してネットワークトポロジー上での効率的な配信経路を判定することができる。次いで、システムは、ネットワークトポロジーの上でピアツーピアプロトコルを使用して、ソースから配信経路を介してコンテンツを配信する。動作中、企業環境内のそれぞれのデバイスは、コントローラに登録する。コントローラは、それぞれのデバイスを管理することに関与し、管理することには、構成すること、更新すること、及びトラブルシューティングすることが含まれ得る。コントローラによって管理されるデバイスは、被管理デバイスとも称され得る。
【0021】
ソース(又は複数のソース)に対してネットワークトトポロジーを効率的に測定するために、システムは、最初に、受信デバイス(すなわち、ソースからコンテンツを受信することになる被管理デバイス)を1つ以上のグループ化基準に基づいて(例えば、インターネットプロトコル(IP)サブネットに基づいて)論理グループにグループ化する。次いで、システムは、それぞれのグループに対して1つ以上のグループヘッドを選択する。システムは、可用性に基づいて、かつ優先度の高い順に、ソースデバイス、受信デバイス、及び中継デバイスをグループヘッドとして選択することができる。これらのグループヘッドは、グループ間リンクを提供する。ソースデバイスを含む論理グループは、ソースグループと称され得、コントローラを含む論理グループは、コントローラグループと称され得る。残りのグループは、非コントローラグループ又は通常グループと称され得る。
【0022】
次いで、システムは、グループを少なくとも2つのカテゴリ、すなわち、ソースグループの近くにある、カテゴリ1のグループと、ソース/コントローラグループから更に離れている、カテゴリ2のグループと、に分類することができる。システムは、ソース/コントローラグループからのそれぞれの距離及び/又はレイテンシに基づいてグループを分類してもよい。例えば、システムは、論理グループがソースデバイスに対して閾値距離内にあるかどうかを判定して、その論理グループがカテゴリ1のグループであるべきかどうかを判定することができる。次いで、システムは、グループヘッドであり得る、グループの1つのデバイスからソースへのパラメータを測定することができる。システムは、カテゴリ2のグループからカテゴリ1のグループへのファジーな測定を実行して、ネットワーク内の経路を改善することができる。しかしながら、システムは、2つのグループの間の幾何学的関係を知らなくてもよい。
【0023】
グループを効率的に分類するために、システムは、登録プロセス中にグループに関連付けられた外因性情報を取得することができる。外因性情報の例としては、時間帯情報、言語及び任意の他のロケール情報、IPサブネット情報、ルーティングプロトコル情報、並びにサービス情報(例えば、プリンタなどのデバイスが他の近くのデバイスにサービスを提供するかどうか)が挙げられるが、これらに限定されない。システムは、この情報を分析してカテゴリ1のグループの候補を判定することができる。例えば、システムは、特定のデバイスのサービスにアクセスする(例えば、プリンタに印刷する)デバイスのIPアドレスを判定することができる。いくつかの実施形態では、登録プロセス中に、被管理デバイスは、情報を学習することなく2つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を(例えば、準同型暗号を使用して)使用することができる。
【0024】
システムが測定のリソース及び頻度において制限される(例えば、限られた時間の間にほんのわずかなネットワーク帯域幅しか使用することができない)場合、システムは、測定のためのグループペアを選択的に決定し、それらのグループ内の特定のデバイスを選択して、測定を行うことができる。システムは、繰り返しパターンを回避するために、各選択において選択肢をランダム化することができる。システムは、ソースグループの方へのリンクに最も高い優先度を割り当てることができ、ソースグループは、コントローラグループでもあり得る。動作中、システムは、等しい重みで、(i)各グループからソースグループへ、及び(ii)少なくとも2つのデバイスを有するグループ内のループを測定する。次いで、システムは、特定のリンクのカテゴリに対してリンクを選出する機会に重みを割り当てる。いくつかの実施形態では、システムは、4つのリンクのカテゴリ、すなわち、(i)ランダムなグループからソースグループへ、(ii)ランダムなグループ内のループ、(iii)2つの別個のランダムな通常グループ間、及び(iv)カテゴリ1のグループとカテゴリ2のグループとの間を考慮する。重みに基づいて、システムは、特定のリンクのカテゴリを測定する確率(例えば、測定の条件)を決定し、その確率に基づいて、リンクを測定のためにスケジュールする。
【0025】
図1Aは、本出願の一実施形態による、効率的なコンテンツ配信のためのネットワーク測定をサポートする例示的な企業環境を示す。企業環境100は、多数のサイト112、114、116、118、120、及び122にわたって配信され得る。これらのサイトは、ローカル又は広域ネットワークなどのネットワーク110を介して互いに結合することができる。広域ネットワークは、インターネットであり得る。サイトはまた、(例えば、ポイントツーポイント光ファイバを用いて)互いに直接接続することもできる。サイト112などのサイトは、複数のサブネット111(例えば、10.1.0.0/16)及び113(例えば、10.2.0.0/16)を含むことができる。一方、サイト114などのいくつかの他のサイトは、サブサイト124(例えば、同じ管理下の近傍のより小さなサイト)にわたり得る1つのサブネット(例えば、10.3.3.0/24)を有することができる。同様に、サイト120は、サブサイト126にわたり得る1つのサブネット(例えば、10.7.0.0/16)を有することができる。サブサイト124及び126はまた、それら自体のサブネットを維持することができることに留意されたい。
【0026】
既存の技術では、環境100において、ソースデバイス102は、ポイントツーポイント通信を介して、受信デバイスに大量のコンテンツを配信する。ファームウェア更新などのコンテンツが、企業環境100のサイトにわたって多数の受信デバイスに送信される場合、このプロセスは、各サイト内の各受信デバイスに対して繰り返される。そのような配信モードは、企業環境100のネットワーク110内の大量のトラフィックを引き起こし得る。加えて、各転送はデバイスペア間の個別の転送であり得るため、各転送は脆弱で破損する場合がある。結果として、企業環境100は、些細でない破損率に直面する場合がある。
【0027】
この問題を解決するために、コンテンツ配信システム150は、システム150がコンテンツ160の配信を計画するためのネットワーク測定を実行するリンクを効率的に選択することができる。システム150は、セキュリティフレームワーク、制御フレームワーク、及びデータ転送フレームワークを促進することができる。セキュリティフレームワークは、制御チャネル及びデータチャネルの両方に対するセキュリティを提供することができる。区別されたノード140は、システムを制御することに関与することができ、したがってコントローラ140と呼ばれる。いくつかの実施形態では、システム150は、コントローラ140上でホストされ得る。企業環境100は、互いに高い可用性を促進することができる複数のコントローラ140及び142を含むことができる。コントローラ140は、メッセージを(例えば、公開鍵システム及び/又は対称鍵交換を使用して)認証することができる。
【0028】
ネットワーク110内でのコンテンツ160の配信を促進するために、システム150は、ネットワーク110のトポロジーを学習し、コンテンツ160のソースデバイス102及び受信デバイスのセットに対してトポロジー上での効率的な配信経路を判定することができる。次いで、システム150は、ネットワークトポロジーの上でピアツーピアプロトコルを使用して、ソースデバイス120からネットワーク110内の配信経路を介してコンテンツ160を配信する。動作中、企業環境100内のそれぞれのデバイスは、管理することに関与するコントローラ140に登録し、管理することには、構成すること、更新すること、及びトラブルシューティングすることが含まれ得る。コントローラ140によって管理されるデバイスは、被管理デバイスと称され得る。
【0029】
コントローラ140は、どのコンテンツを要求するかについて、企業環境100内の各被管理デバイスに通知することができる。コントローラ140はまた、コンテンツ160のための時間枠のそれぞれの被管理デバイスに(例えば、いつ要求し、どこから要求するか)を通知することができる。被管理デバイスは、要求に対する優先度を示す優先度値で構成することができる。例えば、優先度は、被管理デバイスが最初にコンテンツを要求すべきソースデバイスを示すことができる。いくつかの実施形態では、コントローラ160は、1つ以上のグループ化基準に基づいて、被管理デバイスのセットを論理グループに編成する。グループ化基準の例としては、IPサブネット、ローカルエリアネットワーク、及び層-2ネットワーク内のスパニングツリーが挙げられるが、これらに限定されない。
【0030】
コンテンツ160、コントローラ140を配信するために、ツリーのノードとして論理グループを含む配信ツリーを生成することができる。この例では、それぞれのサイト又はサブサイトは論理グループとして表され、強調された矢印は、ツリーの各ブランチを描写する。サイト112は2つのサブネット111及び113を有するので、それらは、ツリー上の2つの異なるノードであり得る。企業環境100のサブサイト128などのサイト又はサブサイトが、サブサイトがコンテンツ160の受信者を含まない場合、そのサブサイトはツリーに含まれていない。各グループは、上流ノード(すなわち、ツリーの親ノード)からコンテンツを取得することに関与する1つ以上のグループヘッド(破線円で示される)を含むことができる。
【0031】
サブネット111に対応するグループは、グループ170であり得、このグループは、ソースデバイス102及び被管理デバイス104をグループヘッドとして含む。グループ170はソースデバイス102を含むため、グループ170は、ソースグループと称され得る。同様に、グループ170はコントローラ140を含むため、グループ170はまた、コントローラグループとも称され得る。非コントローラ/非ソースグループは、通常グループと称され得る。サブネット113に対応する論理グループ174もまた、コントローラグループと称され得ることに留意されたい。サイト114に対応する論理グループ172は、グループヘッドとしてデバイス106及び108を含むことができる。サイト116に対応する論理グループ176は、グループヘッドとしてデバイス132及び134を含むことができる。したがって、デバイス102、104、106、108、132、及び134は、グループヘッドとも称され得る。この例のツリーのルートは、ソースデバイス102がコンテンツ160をホストすることを含むサブネット111である。コントローラ140は、(例えば、ソースデバイス及び受信デバイスに基づいて)変化し得る各コンテンツの配信ツリーを計画することができることに留意されたい。
【0032】
いくつかの実施形態では、コントローラ140は、シュタイナー木(例えば、最小コストツリー)を計算して、グループ間配信ツリーを生成することができる。企業環境100では、いくつかのデバイスは、受信デバイス(例えば、コンテンツ160の受信者)とすることができ、他のデバイスは、中継デバイス又は休止デバイスとして動作することができる。シュタイナー木は、必要に応じて、いくつかの中継デバイスを使用して、最小コストツリーを見出すために、全ての受信デバイスにわたることができる。コントローラ140は、最短経路の組み合わせを使用して、最小コストのツリーを計算することができる。コントローラ140は、企業環境100のトポグラフィ情報を使用して、各受信デバイスから企業環境100内のソースデバイスへの最短経路を判定することができる。次いで、コントローラ140は、全ての受信デバイスからソースデバイス102への、最小コストの単一ソース指向スパニングツリーを判定する。
【0033】
グループヘッドは、グループ間データ転送に関与する。グループヘッド106及び108は、上流グループヘッド102及び104に論理的に結合することができる。同様に、グループヘッド132及び134は、上流グループヘッド106及び108に論理的に結合することができる。論理グループがコンテンツのための十分な数の受信デバイスを有さない場合、その論理グループは、複数のグループヘッドを有しない場合がある。例えば、サブサイト124に対応する論理グループ182は、1つのグループヘッド136を含むことができる。効率的な配信のために、コントローラ140は、コンテンツ160をいくつかのブロックに分割することができる(例えば、それぞれが所定の数の固定サイズのデータチャンクを有する)。グループヘッド106は、上流グループヘッド102及び/又は104からブロックのサブセットを、及びピアグループヘッド108から残りのブロックを取得することができる。
【0034】
コントローラ140は、測定を使用して、ユーザ入力及びネットワーク発見のうちの1つ以上に基づいて、企業環境100のトポグラフィ情報を判定することができる。ソースデバイス102に対してネットワークトポロジーを効率的に測定するために、システム150は、次いで、通常グループを少なくとも2つのカテゴリ、すなわち、ソース/コントローラグループ170の近くにある、カテゴリ1のグループと、ソース/コントローラグループ170から更に離れている、カテゴリ2のグループと、に分類することができる。いくつかの実施形態では、システム150は、グループ172及び174がソース/コントローラグループ170の閾値距離内にあるため、それらはカテゴリ1のグループであると判定することができる。
【0035】
一方、サイト116、118、及び120にそれぞれ対応するグループ176、178、及び180は、カテゴリ2のグループであり得る。次いで、システム150は、グループの1つのデバイスに関連付けられた、ソースデバイス102へのリンクの帯域幅、レイテンシ、及び使用率などのパラメータを測定することができる。システム150は、カテゴリ2のグループからカテゴリ1のグループへのファジーな測定を実行して、ネットワーク110内の経路を改善することができる。例えば、ネットワーク110内の全てのグループペアを測定する代わりに、システム150は、グループ176からグループ172へとつながるリンクを測定することができる。
【0036】
システム150が測定のリソース及び頻度において制限される(例えば、限られた時間の間にほんのわずかなネットワーク帯域幅しか使用することができない)場合、システム150は、測定のためのグループペアを選択的に決定し、それらのグループ内の特定のデバイスを選択して、測定を行うことができる。システム150は、繰り返しパターンを回避するために、各選択において選択肢をランダム化することができる。システム150は、ソース/コントローラグループ170の方へのリンクに最も高い優先度を割り当てることができる。続いて、システム150は、等しい重みで、(i)各グループからソースグループ170へ、及び(ii)少なくとも2つのデバイスを有するグループ(例えば、グループ172)内のループを測定する。次いで、システム150は、特定のリンクのカテゴリに対してリンクを選出する機会に重みを割り当てる。
【0037】
いくつかの実施形態では、システム150は、4つのリンクのカテゴリ、すなわち、(i)ランダムなグループからソースグループ170へ、(ii)ランダムなグループ(例えば、グループ176)内のループ、(iii)2つの別個のランダムな通常グループ間(例えば、グループ176と178との間)、及び(iv)カテゴリ1のグループとカテゴリ2のグループとの間(例えば、グループ172と176との間)を考慮する。重みに基づいて、システム150は、特定のリンクのカテゴリを測定する確率を決定し、その確率に基づいて、リンクを測定のためにスケジュールする。リンクを測定するために、コントローラ140は、リンクを介して様々な長さの一連のパケットを数回送信するように、対応するデバイスに命令することができる。コントローラ140は、各パケットサイズに対する最小応答時間を判定し、それらの値に対する線形回帰を計算する。コントローラ140はまた、毎秒ビットの帯域幅を判定し、往復時間は秒単位である。コントローラ140は、指数関数的移動平均を介して複数の測定値を集約して、リンクの帯域幅を判定することができる。
【0038】
図1Bは、本出願の一実施形態による、企業環境内でのネットワーク測定を容易にするための例示的な論理グループのクラスタリングを示す。グループを効率的に分類するために、システムは、登録プロセス中にグループ172、174、176、178、180、及び182などの通常グループに関連付けられた外因性情報を取得することができる。外因性情報の例としては、時間帯情報、言語及び任意の他のロケール情報、IPサブネット情報、ルーティングプロトコル情報、並びにサービス情報(例えば、プリンタなどのデバイスが他の近くのデバイスにサービスを提供するかどうか)が挙げられるが、これらに限定されない。システム150は、この情報を分析してカテゴリ1のグループの候補を判定することができる。分析に基づいて、システム150は、グループ172、174、及び182がカテゴリ1のグループであり、グループ176、178、及び180がカテゴリ2のグループであることを判定することができる。
【0039】
いくつかの実施形態では、登録プロセス中に、デバイス106などのそれぞれのデバイスは、コントローラ140が、情報を学習することなく2つのデバイスの外因性情報の和集合のサイズを見出すことができるように、プライバシーを保護する変換を使用することができる。グループ172内のデバイス106及びグループ182内のデバイス136は、外因性特性のうちの1つ以上を共有することができ、これに基づいて、コントローラ140は、グループ172、174、及び182がカテゴリ1のグループのクラスタ162に属し、グループ176、178、及び180がカテゴリ2のグループのクラスタ164に属することを判定する。
【0040】
いくつかの実施形態では、システム150は、カテゴリ1のグループ及びカテゴリ2のグループをそれらの外因性情報に基づいて選択し、それらの間で測定を実行する。デバイス132は、ソースデバイス102まで100単位の距離があるグループ176内にあり、グループ172内のデバイス106及びグループ182内のデバイス136は、ソースデバイス102まで50単位の距離があり得ると仮定する。単位の例としては、物理距離(例えば、メートル)、ホップ数、及びレイテンシが挙げられるが、これらに限定されない。次いで、コントローラ140は、デバイス312からデバイス106へ又はデバイス136への経路を測定するかどうかを判定する。デバイス132及び106は同じ時間帯を共有するが、デバイス136は異なる時間帯にある場合、コントローラ140は、デバイス106が、リンクを測定のためにスケジュールするのにより良い選択肢であると判定することができる。
【0041】
同様に、デバイス132、106、及び136が異なるIPサブネット上のプリンタである場合、これらのデバイスは、各プリンタに印刷を行うそれぞれのユーザIPアドレスのセットを記録することができる。コントローラ140は、デバイス132及び106によって記録されたIPアドレスのセット間の、及びデバイス132及び136によって記録されたIPアドレスのセット間の共通部分のセットのそれぞれのサイズを判定することができる。次に、コントローラ140は、より大きいサイズに対応するデバイス106及び136から1つのデバイスを選択する。コントローラ140はまた、記録されたIPアドレスのネットワーク部(例えば、IPサブネット)を判定し、特定のIPアドレスのセットの代わりに、より粗い尺度であるIPサブネットに基づいて、測定値においてどのビットが変化して相関するかを判定することもできる。
【0042】
デバイスが、マルチキャスト又はブロードキャストパケットなどのルーティングプロトコルアドバタイズメントを傍受することができる場合、デバイスは、近くのIPサブネットの距離ベクトルをコントローラ140に報告し得る。次いで、コントローラ140は、距離ベクトルから近くのサブネットを判定することによって、グループをクラスタリングすることができる。例えば、デバイス106、132、及び136は、最も近いn個のIPサブネットのリストを報告することができる。nの値は、デバイス106、132、及び136に対して異なるものであり得る。コントローラ140は、これらのリストにおいて重複を判定することができる。コントローラ140は、どのデバイスがデバイス132のリストに対して最も高い類似性を有するかに基づいて、デバイス132からの測定のためにデバイス106又は136を選択することができる。いくつかの実施形態では、コントローラ140は、成功率などの目標に基づいてnの値を調整することができる。例えば、nの現在値が低い成功率を有する場合、コントローラ140はnの値を増加させることができ、nの現在値が高い成功率を有する場合、コントローラ140はnの値を最適値にまで減少させることができる。
【0043】
図2は、本出願の一実施形態による、企業環境内でのネットワーク測定を容易にする例示的なシステムアーキテクチャを示す。この例では、コントローラ140、及び被管理デバイス106などのそれぞれの被管理デバイスは、それぞれ、主動作モジュールコントローラモジュール200及び被管理デバイスモジュール250を含む。コントローラモジュール200は、登録モジュール202、鍵モジュール204、グラフ化モジュール206、スケジューラモジュール214、及びプランナーモジュール208に基づいて動作する。一方、被管理デバイスモジュール250は、登録モジュール252、鍵モジュール254、測定モジュール256、及び転送モジュール258に基づいて動作することができる。
【0044】
コントローラ140、登録モジュール202は、登録要求をリッスンし、被管理デバイスから要求メッセージを登録解除することができる。要求に基づいて、登録モジュール202は、ノードデータベース212内の企業環境100内の現在のデバイス及びサブネットのセットの情報を維持する。鍵モジュール204は、被管理デバイスからの鍵要求メッセージをリッスンし、メッセージキューイングを使用して、一時的な楕円曲線ディフィーヘルマンなどの鍵交換を実行することができる。鍵モジュール204はまた、ハッシュベースメッセージ認証符号(hash-based message authentication code、HMAC)などの対称鍵でコントローラ140のキーリングを更新する。グラフ化モジュール206は、測定応答メッセージをリッスンすることができ、これらのメッセージに基づいて、企業環境100の加重サブネット対サブネットグラフを維持することができる。
【0045】
スケジューラモジュール214は、ネットワーク性能及び特性を測定するために、サブネット間の測定値を定期的にスケジュールする。スケジューラモジュール214はまた、ノードデータベース212内のサブネット間のエッジを示すテーブルを維持する。プランナーモジュール208は、コンテンツに関して、現在登録されているデバイスに基づいて、受信デバイスを含むソースデバイス及びターゲットサブネットを判定し、配信ツリーを判定するための実験をスケジュールする。プランナーモジュール208は、配信計画を生成し、それを計画データベース216に記憶することによって、コンテンツの配信を開始する。プランナーモジュール208は、配信に関する被管理デバイスからの通知を受信することができる。
【0046】
被管理デバイス106において、登録モジュール252は、定期的登録要求メッセージをコントローラ140に送信し、応答をリッスンする。鍵モジュール254は、鍵交換要求メッセージを送信し、対応する応答をリッスンすることによって、新しい鍵を定期的に生成する。鍵モジュール254はまた、対称鍵(例えば、HMAC)を用いて被管理デバイス106のキーリングを更新することもできる。測定モジュール256は、ネットワーク測定の初期化をリッスンすることができる。これに基づいて、測定モジュール256は、ネットワーク測定をスケジュールし、測定値をグラフ化モジュール206に送信することができる。転送モジュール258は、コントローラ140からのメッセージをリッスンし、コンテンツの配信を初期化し、ピアツーピアプロトコル260を介してピアツーピア転送をスケジュールする。転送モジュール258は、応答を送信して転送初期化メッセージを確認し、重要なイベント(例えば、開始、終了、エラーの検出など)に関してコントローラ140に通知することができる。プロトコル260は、プランナーモジュール208の制御下でピアツーピアファイルの転送を実行する。
【0047】
図3Aは、本出願の一実施形態による、企業環境の被管理デバイスを登録するコンテンツ配信システムの方法を示すフロー図300を提示する。動作中、システムは、企業環境内のIPサブネットを判定し(動作302)、サブネット内のそれぞれの被管理デバイスから登録情報を取得する(動作304)。次いで、システムは、企業環境内の論理グループを判定し(動作306)、それぞれの論理グループに対してグループヘッドを判定する(動作308)。
【0048】
図3Bは、本出願の一実施形態による、それぞれの論理グループのためのグループヘッドを判定するコンテンツ配信システムの方法を示すフロー図350を提示する。動作中、システムは、企業環境内の論理グループを識別し(動作352)、コンテンツのソースデバイスが論理グループ内にあるかどうかを判定する(動作354)。ソースデバイスが論理グループ内にある場合、システムは、論理グループのためのグループヘッドとしてソースデバイスを判定する(動作356)。次いで、システムは、グループヘッド選択が完了したかどうか(例えば、2つなどの所定の数のグループヘッドが選択されているか、又はデバイスがこれ以上選択されないか)を判定する(動作358)。
【0049】
グループヘッド選択が完了していない場合、システムは、コンテンツのための任意の受信デバイスが論理グループ内で利用可能かどうかをチェックする(動作360)。少なくとも1つの受信デバイスが利用可能である場合、システムは、論理グループのグループヘッドとして受信デバイスをランダムに選択する(動作362)。そうでなければ、システムは、論理グループのグループヘッドとして中継デバイスをランダムに選択する(動作364)。グループヘッドを選択すると(動作362又は364)、システムは、グループヘッドの選択が完了したかどうかを判定する(動作358)。グループヘッドの選択が完了している場合、システムは、論理グループを表すためのグループヘッドを構成する(動作366)。
【0050】
図4は、本出願の一実施形態による、外因性情報に基づいて論理グループを分類するコンテンツ配信システムの方法を示すフロー図400を提示する。動作中、システムは、論理グループに関連付けられた登録情報から外因性情報を取得し(動作402)、外因性情報を分析して分類のための候補グループを判定する(動作404)。次いで、システムは、候補グループがカテゴリ1のグループであるかどうかを判定する(動作406)。そうである場合、システムは、候補グループをカテゴリ1のグループとして判定する(動作408)。そうでない場合、システムは、候補グループをカテゴリ2のグループとして判定する(動作410)。次いで、システムは、全てのグループが分類されたかどうかを判定する(動作412)。全てのグループが分類された場合、システムは、分類情報を使用してネットワーク測定を実行する(動作414)。分類されていないグループがある場合、システムは、外因性情報を分析して分類のための次の候補グループを判定する(動作404)。
【0051】
図5Aは、本出願の一実施形態による、ネットワーク測定をスケジュールするコンテンツ配信システムの方法を示すフロー図500を提示する。動作中、システムは、コントローラ情報、論理グループ情報、及びリンクカテゴリのセットを取得する(動作502)。次いで、システムは、測定リソースを判定し、リンクカテゴリのセットのそれぞれのカテゴリに対して測定の確率(例えば、測定の条件)を計算する(動作504)。システムは、リソース(及び確率)の可用性をチェックする(動作506)。利用可能な確率は、非ゼロの確率値を示すことができる。
【0052】
利用可能な場合、システムは、それぞれの測定の確率の累積分布関数(cumulative distribution function、CDF)を判定し(動作508)、範囲[0,1)から均一な乱数を生成する(動作510)。次いで、システムは、生成された乱数及びCDFに基づいてリンクを測定のために選択し(動作512)、カテゴリのセットのそれぞれのカテゴリに対して測定の確率を計算する(動作514)。次いで、システムは、リソース(及び確率)の可用性をチェックすることを続ける(動作506)。利用可能でない場合、システムは、計算された確率に基づいてリンクのための測定をスケジュールする(動作516)。
【0053】
図5Bは、本出願の一実施形態による、それぞれのリンクカテゴリのための測定を開始するかどうかを判定するコンテンツ配信システムの方法を示すフロー図530を提示する。動作中、システムは、リンクカテゴリのセットからカテゴリを順次判定し(動作532)、判定されたカテゴリのための測定の確率を取得する(動作534)。次に、システムは、図5Aと併せて説明したように、生成された乱数を取得し、乱数と取得された測定の確率とを比較する(動作536)。
【0054】
次いで、システムは、比較に対して条件が満たされているかどうかを判定する(動作538)。条件は、乱数が確率よりも大きいかどうかであり得る。条件が満たされている場合、システムは、判定されたカテゴリのための測定をスケジュールする(動作540)。条件が満たされていない場合、システムは、リンクカテゴリのセットからカテゴリを順次判定することを続ける(動作532)。いくつかの実施形態では、リンクカテゴリのセットは、4つのリンクのカテゴリ、すなわち、(i)ランダムなグループからソースグループへ、(ii)ランダムなグループ内のループ、(iii)2つの別個のランダムな通常グループ間、及び(iv)カテゴリ1のグループとカテゴリ2のグループとの間を含む。
【0055】
図5Cは、本出願の一実施形態による、それぞれのリンクカテゴリのための測定確率を判定するコンテンツ配信システムの方法を示すフロー図550を提示する。動作中、システムは、コントローラグループへのリンクを有しない論理グループに対応するリンクカテゴリのための確率(例えば、確率値1)を、少なくとも1つのそのようなグループが存在する場合に割り当てる(動作552)。リンクの存在は、現在存在するスケジュールされたリンクに対してチェックされる。システムはまた、内部測定(例えば、ループ)を有しない論理グループに対応するリンクカテゴリのための確率を、少なくとも1つのそのようなグループが存在する場合に割り当てる(動作554)。
【0056】
次いで、システムは、確率が割り当てられているかどうかをチェックする(動作556)。確率が割り当てられている場合、システムは、コントローラグループへのリンクを有しない論理グループに対応するリンクカテゴリのための確率を、少なくとも1つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる(動作558)。システムは更に、内部測定を有しない論理グループに対応するリンクカテゴリのための確率を、少なくとも1つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる(動作560)。システムはまた、ランダムな論理グループペアに対応するリンクカテゴリのための確率を、少なくとも1つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる(動作562)。
【0057】
更に、システムは、ランダムなカテゴリ1のグループとカテゴリ2のグループとの間のリンクに対応するリンクカテゴリのための確率を、少なくとも1つのそのようなリンクが測定のためにスケジュールされていない場合に割り当てる(動作564)。確率が割り当てられていない場合(動作556)、又は確率がリンクカテゴリのセットのために割り当てられている場合(動作564)、システムは、割り当てられた確率のセット及び重みベクトルに基づいて測定の確率を計算する(動作566)。いくつかの実施形態では、重みベクトルは、[0.15,0.15,0.20,0.50]である。ベクトルの各値は、リンクのカテゴリに対応する。
【0058】
図5Dは、本出願の一実施形態による、リンクを測定するコンテンツ配信システムの方法を示すフロー図570を提示する。動作中、システムは、IPアドレス及びポートペアによって示される宛先に異なるサイズを有するパケットのセットを送信する(動作572)。いくつかの実施形態では、システムは、サイズ256、512、768、及び1024バイトのそれぞれに、3つのパケットを送信することができる。続いて、システムは、タイムアウトになるか、又は全てのパケットが受信されるまで待機する(動作574)。次いで、システムは、十分な数の応答が受信されたかどうかをチェックする(動作576)。受信された場合、システムは、宛先に関連付けられたリンクに対して帯域幅及びレイテンシを判定する(動作578)。そうでない場合、システムは、測定が成功していないと判定する(動作580)。いくつかの実施形態では、システムは、異なるリンクカテゴリ間での比較にスケールフリー測定のための対数リターンを使用する。
【0059】
図6Aは、本出願の一実施形態による、コントローラ論理グループに関連付けられたリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図600を提示する。動作中、システムは、既存のスケジュールされたリンクを有するリンクの組み合わせセットを判定し(動作602)、リンクがデバイスとコントローラグループ(すなわち、コントローラグループ内の少なくとも1つのデバイス)との間に存在するような、それぞれの通常グループからのデバイスを検索する(動作604)。次いで、システムは、そのようなデバイスが見つかったかどうかをチェックする(動作606)。
【0060】
そのようなデバイスが見つかった場合、システムは、リンクが組み合わせセット内にあるかどうかをチェックする(動作608)。リンクが組み合わせセット内にある場合、システムは、リンクがスケジュールされているかどうかをチェックする(動作610)。リンクが組み合わせセット内にないか(動作608)、又はリンクがスケジュールされていない場合(動作610)、システムは、リンクを測定のためにスケジュールする(動作612)。リンクがスケジュールされているか、又はデバイスが見つからなかった場合(動作606)、システムは、実行可能な論理グループが見つからないと判定する(動作614)。
【0061】
図6Bは、本出願の一実施形態による、通常論理グループ内のループのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図630を提示する。動作中、システムは、既存のスケジュールされたリンクを有するリンクの組み合わせセットを判定する(動作632)。システムは、論理グループに対してデバイスに対応するループ測定が存在しないような、2つ以上の被管理デバイスを有する論理グループからのデバイスを判定する(動作634)。次いで、システムは、そのようなデバイスが見つかったかどうかをチェックする(動作636)。
【0062】
そのようなデバイスが見つかった場合、システムは、ループが組み合わせセット内にあるかどうかをチェックする(動作638)。ループが組み合わせセット内にある場合、システムは、ループがスケジュールされているかどうかをチェックする(動作640)。ループが組み合わせセット内にないか(動作638)、又はループがスケジュールされていない場合(動作640)、システムは、ループを測定のためにスケジュールする(動作642)。ループがスケジュールされているか、又はデバイスが見つからなかった場合(動作636)、システムは、実行可能な論理グループが見つからないと判定する(動作644)。
【0063】
図6Cは、本出願の一実施形態による、通常論理グループペア間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図650を提示する。動作中、システムは、ランダムな通常グループ内のデバイスを別のランダムな通常グループ内の別のデバイスに結合するリンクを判定する(動作652)。システムは、そのようなリンクが見つかったかどうかをチェックする(動作654)。そのようなリンクが見つかった場合、システムは、リンクがスケジュールされているかどうかをチェックする(動作656)。リンクがスケジュールされていない場合(動作656)、システムは、リンクを測定のためにスケジュールする(動作658)。リンクが見つからなかったか(動作654)、又はスケジュールされている場合(動作656)、システムは、実行可能な論理グループが見つからないと判定する(動作660)。
【0064】
図6Dは、本出願の一実施形態による、クラスタ間のリンクのための測定をスケジュールするコンテンツ配信システムの方法を示すフロー図670を提示する。動作中、システムは、ランダムなカテゴリ1のグループ内のデバイスを別のランダムなカテゴリ2のグループ内の別のデバイスに結合するリンクを判定する(動作672)。いくつかの実施形態では、システムは、図1Aと併せて説明したように、グループに関連付けられた外因性情報を使用して、カテゴリ1及びカテゴリ2のグループを選択する。システムは、そのようなリンクが見つかったかどうかをチェックする(動作674)。そのようなリンクが見つかった場合、システムは、リンクがスケジュールされているかどうかをチェックする(動作676)。リンクがスケジュールされていない場合(動作676)、システムは、リンクを測定のためにスケジュールする(動作678)。リンクが見つからなかったか(動作674)、又はスケジュールされている場合(動作676)、システムは、実行可能な論理グループが見つからないと判定する(動作680)。
【0065】
図7は、本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的なコンピュータシステムを示す。コンピュータシステム700は、プロセッサ702、メモリデバイス704、及び記憶デバイス708を含む。メモリデバイス704は、揮発性メモリデバイス(例えば、デュアルインラインメモリモジュール(dual in-line memory module、DIMM))を含むことができる。更に、コンピュータシステム700は、ディスプレイデバイス710、キーボード712、及びポインティングデバイス714に連結することができる。記憶デバイス708は、オペレーティングシステム716、コンテンツ配信システム718、及びデータ736を記憶することができる。コンテンツ配信システム718は、コントローラ140、ソースデバイス102、グループヘッド104、106、108、144、及び146、ソースデバイス102、並びに受信デバイス104及び106のうちの1つ以上の動作を容易にすることができる。
【0066】
コンテンツ配信システム718は、コンピュータシステム700によって実行されると、コンピュータシステム700に、本開示で説明される方法及び/又はプロセスを実行させることができる命令を含むことができる。具体的には、コンテンツ配信システム718は、ノードデータベース内で企業環境内の現在のデバイス及びサブネットのセットの情報をディスカバリ及び維持するための命令を含むことができる(登録モジュール720)。コンテンツ配信システム718はまた、外因性情報を使用してグループをカテゴリ1及び2のグループに分類するための命令を含むこともできる(分類モジュール722)。更に、コンテンツ配信システム718はまた、それぞれのリンクカテゴリのための測定の確率を判定するための命令を含むこともできる(確率モジュール724)。
【0067】
加えて、コンテンツ配信システム718はまた、リンクを測定のために測定の確率に基づいてスケジュールするための命令を含むこともできる(スケジューリングモジュール726)。コンテンツ配信システム718は、スケジュールされた測定を実行するための命令を含むことができる(測定モジュール728)。コンテンツ配信システム718は、メッセージを送信及び受信するための命令(通信モジュール730)を更に含んでもよい。データ736は、コンテンツ配信システム718の動作を促進することができる任意のデータを含み得る。
【0068】
図8は、本出願の一実施形態による、企業環境内でコンテンツを配信するための効率的なネットワーク測定を容易にする例示的な装置を示す。コンテンツ配信装置800は、有線、無線、量子光、又は電気通信チャネルを介して互いに通信し得る複数のユニット又は装置を含むことができる。装置800は、1つ以上の集積回路を使用して実現され得、図8に示されているものよりも少ない又は多いユニット又は装置を含み得る。更に、装置800は、コンピュータシステムに統合され得るか、又は他のコンピュータシステム及び/若しくはデバイスと通信することができる別個のデバイスとして実現され得る。具体的には、装置800は、図7のコンピュータシステム700のモジュール720~730と同様の機能又は動作を実行するユニット802~812を含むことができ、これには、登録ユニット802、分類ユニット804、確率ユニット806、スケジューリングユニット808、測定ユニット810、及び通信ユニット812が含まれる。
【0069】
発明を実施するための形態において記載されるデータ構造及びコードは、典型的には、コンピュータ可読記憶媒体上に記憶され、コンピュータシステムによって使用されるコード及び/又はデータを記憶することができる任意のデバイス又は媒体であってもよい。コンピュータ可読記憶媒体としては、揮発性メモリ、不揮発性メモリ、ディスク、磁気テープ、CD(コンパクトディスク)、DVD(デジタル多用途ディスク又はデジタルビデオディスク)などの磁気及び光学ストレージデバイス、又は現在知られている又は今後開発されるコンピュータ可読メディア媒体を記憶できるその他の媒体が挙げられるが、これらに限定されない。
【0070】
「発明を実施するための形態」セクションに記載される方法及び処理は、上記のようにコンピュータ可読記憶媒体に記憶され得るコード及び/又はデータとして具体化することができる。コンピュータシステムが、コンピュータ可読記憶媒体上に記憶されたコード及び/又はデータを読み取って実行すると、コンピュータシステムは、データ構造及びコードとして具体化され、コンピュータ可読記憶媒体内に記憶された方法及び処理を実行する。
【0071】
更に、上述の方法及びプロセスは、ハードウェアモジュールに含めることができる。例えば、ハードウェアモジュールとしては、特定用途向け集積回路(application-specific integrated circuit、ASIC)チップ、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、及び現在知られている又は今後開発される他のプログラム可能論理デバイスを含むことができるが、これらに限定されない。ハードウェアモジュールが起動されると、ハードウェアモジュールは、ハードウェアモジュール内に含まれる方法及びプロセスを実行する。
図1A
図1B
図2
図3A
図3B
図4
図5A
図5B
図5C
図5D
図6A
図6B
図6C
図6D
図7
図8