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

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

▶ スレットストップ・インコーポレーテッドの特許一覧

<>
  • 特許-ネットワークノードによる情報の伝搬 図1
  • 特許-ネットワークノードによる情報の伝搬 図2
  • 特許-ネットワークノードによる情報の伝搬 図3
  • 特許-ネットワークノードによる情報の伝搬 図4
  • 特許-ネットワークノードによる情報の伝搬 図5
  • 特許-ネットワークノードによる情報の伝搬 図6A
  • 特許-ネットワークノードによる情報の伝搬 図6B
  • 特許-ネットワークノードによる情報の伝搬 図6C
  • 特許-ネットワークノードによる情報の伝搬 図7
  • 特許-ネットワークノードによる情報の伝搬 図8
  • 特許-ネットワークノードによる情報の伝搬 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-15
(45)【発行日】2023-05-23
(54)【発明の名称】ネットワークノードによる情報の伝搬
(51)【国際特許分類】
   H04L 61/4511 20220101AFI20230516BHJP
【FI】
H04L61/4511
【請求項の数】 9
(21)【出願番号】P 2020529096
(86)(22)【出願日】2018-07-30
(65)【公表番号】
(43)【公表日】2020-10-22
(86)【国際出願番号】 US2018044444
(87)【国際公開番号】W WO2019027934
(87)【国際公開日】2019-02-07
【審査請求日】2021-06-09
(31)【優先権主張番号】62/539,504
(32)【優先日】2017-07-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520038703
【氏名又は名称】スレットストップ・インコーポレーテッド
(74)【代理人】
【識別番号】100098394
【弁理士】
【氏名又は名称】山川 茂樹
(74)【代理人】
【識別番号】100064621
【弁理士】
【氏名又は名称】山川 政樹
(72)【発明者】
【氏名】ディヘイン,ニコラス
(72)【発明者】
【氏名】モカペトリス,ポール
(72)【発明者】
【氏名】コポック,ダニエル
(72)【発明者】
【氏名】アティヴォ,アンジェロ
(72)【発明者】
【氏名】チューイ,アラン
(72)【発明者】
【氏名】バーンズ,トーマス・エル
【審査官】野元 久道
(56)【参考文献】
【文献】特開2000-349747(JP,A)
【文献】ネットワーク&サーバー強化作戦,日経NETWORK 第35号,2003年02月22日,pp.108-113
(58)【調査した分野】(Int.Cl.,DB名)
H04L 61/00
(57)【特許請求の範囲】
【請求項1】
ネットワークデバイスの構成を伝搬するサービスポータルにログインすることと、
前記ネットワークデバイスの前記構成設定に入力することと、
前記ネットワークデバイスの前記構成伝搬するエージェントおよびキーを取得することと、
ピアに前記エージェントをインストールすることと、
記エージェントに前記キーをインストールすることと、
前記ネットワークデバイスの構成データを有するDNSレコードをダウンロードすることと、
前記ネットワークデバイスの前記構成を保存することと、
前記ネットワークデバイスの前記構成の変更をチェックすることと、を含む、方法。
【請求項2】
前記ネットワークデバイスの前記構成の変更が検出されるときに、
前記ネットワークデバイス構成データを有するDNSレコードをダウンロードすることと、
前記ネットワークデバイスの前記構成を保存することと、
前記ネットワークデバイスの前記構成の変更をチェックすることと、を含む、請求項に記載の方法。
【請求項3】
前記ネットワークデバイスの前記構成の変更が検出されなかったときに、前記ネットワークデバイスの前記構成の変更のチェックを継続することを含む、請求項に記載の方法。
【請求項4】
遠隔測定データを収集することと、
前記遠隔測定データを有するDNSレコードを生成することと、
動的DNS更新を行って、前記遠隔測定データの少なくとも一部を前記ネットワークデバイスの前記構成伝搬するサービスに送ることと、を含む、請求項1~のいずれか一項に記載の方法。
【請求項5】
ネットワークデバイスの構成を伝搬するサービスポータルにログインする手段と、
前記ネットワークデバイスの前記構成設定を入力する手段と、
前記ネットワークデバイスの前記構成伝搬するエージェントおよびキーを取得する手段と、
ピアに前記エージェントをインストールする手段と、
記エージェントに前記キーをインストールする手段と、
前記ネットワークデバイスの構成データを有するDNSレコードをダウンロードする手段と、
前記ネットワークデバイスの前記構成を保存する手段と、
前記ネットワークデバイスの前記構成の変更をチェックする手段と、を備える、システム。
【請求項6】
前記ネットワークデバイスの前記構成の変更が検出されるときに、前記ネットワークデバイス構成データを有するDNSレコードをダウンロードする手段と、
前記ネットワークデバイスの前記構成の変更が検出されるときに前記ネットワークデバイスの前記構成を保存する手段と、
前記ネットワークデバイスの前記構成の変更が検出されるときに、前記ネットワークデバイスの前記構成の変更をチェックする手段と、を備える、請求項に記載のシステム。
【請求項7】
前記ネットワークデバイスの前記構成の変更が検出されなかったときに、前記ネットワークデバイスの前記構成の変更のチェックを継続する手段を備える、請求項に記載のシステム。
【請求項8】
遠隔測定データを収集する手段と、
前記遠隔測定データを有するDNSレコードを生成する手段と、
動的DNS更新を行って、前記遠隔測定データの少なくとも一部を前記ネットワークデバイスの前記構成伝搬するサービスに送る手段と、を備える、請求項のいずれか一項に記載のシステム。
【請求項9】
コンピュータプログラムであって、前記プログラムがコンピュータによって実行されるときに、前記コンピュータに請求項1~のいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【発明の概要】
【0001】
ドメインネームサービス(DNS)プロトコルは、ドメイン名ゾーン転送要求を行うことができるネットワークデバイスに、または動的DNS更新要求を行うことができるネットワークデバイスから情報を伝搬するために使用される。本明細書に記載する技術を組み込んだ方法には、構成データストアからネットワークデバイスに構成情報を送信することが含まれ得る。本明細書に記載する技術を組み込んだシステムには、構成データストアからネットワークデバイスに構成情報を送信することに関連付けられた技術を組み込むことができる。本明細書に記載する技術を組み込んだ方法には、ネットワークデバイスの使用に関する情報をレポートシステムに送信することが含まれ得る。本明細書に記載する技術を組み込んだシステムには、ネットワークデバイスの使用に関する情報をレポートに送信することに関連付けられた技術を組み込むことができる。
【図面の簡単な説明】
【0002】
図1】ピアトリガネットワークデバイス構成伝搬システムの例の線図を示す。
図2】ネットワーク構成システムからDNSゾーンへのピアトリガネットワークデバイス構成伝搬の方法の例のフローチャートを示す。
図3】DNSサーバ~DNSクライアントネットワークデバイス構成伝搬システムの例の線図を示す。
図4】スレーブまたはセカンダリDNSサーバネットワークデバイス構成伝搬システムのDNSサーバの例の線図を示す。
図5】DNSエンジン~DNSサーバネットワークデバイス遠隔測定供給システムの例の線図を示す。
図6】ネットワークデバイス構成伝搬システムを利用する方法の例のフローチャートを示す。
図7】複数の伝搬コントローラを備えたネットワークデバイス構成伝搬システムの例の線図を示す。
図8】ファイアウォールを備えた、顧客によって使用されるポリシー伝搬システムの例の線図を示す。
図9】本明細書に記載されているような伝搬が起こり得る構造の例の線図を示す。
【発明を実施するための形態】
【0003】
図1は、ピアトリガネットワークデバイス構成伝搬システムの例の線図100を示す。線図100は、コンピュータ可読媒体(CRM)102、ネットワーク構成システム104、構成からDNSへの変換システム106、DNSゾーンリポジトリ108-1~DNSゾーンリポジトリ108-n(まとめて、DNSゾーンリポジトリ108)、およびピア110-1~ピア110-n(まとめて、ピア110)を含む。ネットワーク構成システム104、構成からDNSへの変換システム106、DNSゾーンリポジトリ108、およびピア110は、CRM102に結合されている。
【0004】
本明細書で説明されているCRM102および他のCRM(複数可)は、法定(例えば、米国では35USC101の下)のすべての媒体を含むこと、およびCRMを含む申し立てを有効にするには除外が必要である程度にまで、本質的に法定でないすべての媒体を特に除外することを意図している。既知の法定CRM(複数可)には、ハードウェア(いくつか例を挙げると、例えば、レジスタ、ランダムアクセスメモリ(RAM)、不揮発性(NV)記憶装置)が含まれるが、ハードウェアに限定しても、しなくてもよい。
【0005】
本明細書で説明するCRM102および他のコンピュータ可読媒体は、さまざまな潜在的に適用可能な技術を表すことを意図している。例えば、CRM102を使用して、ネットワークまたはネットワークの一部を形成することができる。2つのコンポーネントがデバイス上で同じ場所にある場合、CRM102は、バスまたは他のデータパイプまたはデータ平面を含むことができる。実装形態固有の考慮事項または他の考慮事項に応じて、CRM102は、有線または無線通信チャネルを経由して通信するための有線通信インターフェースおよび無線通信インターフェースを含むことができる。第1のコンポーネントが第1のデバイスに配置され、第2のコンポーネントが第2の(異なる)デバイスに配置される場合、CRM102は無線または有線のバックエンドネットワークまたはLANを含むことができる。CRM102は、該当する場合、WANまたは他のネットワークの関連部分も包含することができる。企業ネットワークには、WANセグメントにわたって結合された地理的に分散したLANを含めることができる。例えば、分散企業ネットワークには、WANセグメントで区切られた複数のLAN(IEEE802.11用語では、各LANが基本サービスセット(BSS)と称されることもあるが、ここでは明示的な要件は示さない)を含めることができる。企業ネットワークでは、VLANトンネリングも使用することができる(接続されたLANは、IEEE802.11用語では拡張サービスセット(ESS)と称されることもあるが、ここでは明示的な要件は示さない)。実装形態または他の考慮事項に応じて、CRM102は、企業または第三者の管理下にあるプライベートクラウド、またはパブリッククラウドを含むことができる。
【0006】
本明細書に記載するデバイス、システム、およびCRMは、コンピュータシステム、またはコンピュータシステムの一部、または複数のコンピュータシステムとして実装することができる。一般に、コンピュータシステムには、プロセッサ、メモリ、不揮発性記憶装置、およびインターフェースが含まれる。一般的なコンピュータシステムは、通常、少なくともプロセッサ、メモリ、およびメモリをプロセッサに結合するデバイス(例えば、バス)を含む。プロセッサは、例えば、マイクロプロセッサなどの汎用中央処理装置(CPU)、またはマイクロコントローラなどの専用プロセッサであり得る。
【0007】
メモリは、限定ではなく例として、ダイナミックRAM(DRAM)やスタティックRAM(SRAM)などのランダムアクセスメモリ(RAM)を含むことができる。メモリは、ローカル、リモート、または分散型であり得る。バスは、プロセッサを不揮発性記憶装置に結合することもできる。不揮発性記憶装置は、多くの場合、磁気フロッピーもしくはハードディスク、光磁気ディスク、光ディスク、例えばCD-ROM、EPROM、EEPROMなどの読み取り専用メモリ(ROM)、磁気カードもしくは光カード、または大量のデータ用の別の形態の記憶装置である。このデータのいくつかは、多くの場合、コンピュータシステムでのソフトウェアの実行中に、直接メモリアクセスプロセスによってメモリに書き込まれる。不揮発性記憶装置は、ローカル、リモート、または分散型であり得る。不揮発性記憶装置は、メモリ内で利用可能なすべての適用可能なデータを使用してシステムを作成することができるため、任意選択的である。
【0008】
ソフトウェアは通常、不揮発性記憶装置に保存される。実際、大規模なプログラムの場合、プログラム全体をメモリに保存することさえできない場合がある。それでも、必要なら、ソフトウェアを実行するためには、それを、処理に適したコンピュータ読み取り可能な位置に移動し、説明のために、その位置を本明細書ではメモリと称されることを理解されたい。実行のためにソフトウェアがメモリに移動された場合でも、プロセッサは、通常、ハードウェアレジスタを使用して、ソフトウェアに関連付けられた値と、理想的に実行を高速化するのに役立つローカルキャッシュと、を保存する。本明細書で使用される場合、ソフトウェアプログラムが「コンピュータ可読記憶媒体に実装される」として言及されるとき、ソフトウェアプログラムは、適用可能な既知または便利な位置(不揮発性記憶装置からハードウェアレジスタ)に保存されると想定される。プログラムに関連付けられた少なくとも1つの値がプロセッサで読み取り可能なレジスタに保存されているとき、プロセッサは「プログラムを実行するように構成されている」と見なされる。
【0009】
動作の一例では、コンピュータシステムは、ディスクオペレーティングシステムなどのファイル管理システムを含む、ソフトウェアプログラムであるオペレーティングシステムソフトウェアによって制御することができる。関連するファイル管理システムソフトウェアを有するオペレーティングシステムソフトウェアの1つの例は、ワシントン州レドモンドのMicrosoft CorporationのWindows(登録商標)として知られているオペレーティングシステムのファミリ、およびそれらの関連するファイル管理システムである。その関連するファイル管理システムソフトウェアを有するオペレーティングシステムソフトウェアの別の例は、Linuxオペレーティングシステムおよびその関連するファイル管理システムである。ファイル管理システムは通常、不揮発性記憶装置に保存され、オペレーティングシステムに必要なさまざまな働きをプロセッサに実行させて、データを入力および出力し、不揮発性記憶装置にファイルを保存することを含め、メモリにデータを保存する。
【0010】
バスは、プロセッサをインターフェースに結合することもできる。インターフェースには、1つ以上の入力および/または出力(I/O)デバイスを含めることができる。実装形態固有または他の考慮事項に応じて、限定ではなく例として、I/Oデバイスには、キーボード、マウスもしくは他のポインティングデバイス、ディスクドライブ、プリンタ、スキャナ、およびディスプレイデバイスを含む他のI/Oデバイスが含まれ得る。ディスプレイデバイスは、限定ではなく例として、陰極線管(CRT)、液晶ディスプレイ(LCD)、または他の何らかの適用可能な既知のもしくは便利なディスプレイデバイスを含むことができる。インターフェースには、1つ以上のモデムまたはネットワークインターフェースを含めることができる。モデムまたはネットワークインターフェースは、コンピュータシステムの一部であるとみなすことができることが理解されよう。インターフェースには、アナログモデム、ISDNモデム、ケーブルモデム、トークンリングインターフェース、衛星伝送インターフェース(例えば「ダイレクトPC」)、またはコンピュータシステムを他のコンピュータシステムに結合するための他のインターフェースが含まれ得る。インターフェースにより、コンピュータシステムおよび他のデバイスをネットワークにおいて一緒に結合させることができる。
【0011】
コンピュータシステムは、クラウドベースのコンピューティングシステムと互換性があるか、またはクラウドベースのコンピューティングシステムの一部として、もしくはクラウドベースのコンピューティングシステムを通じて実装することができる。本明細書で使用されているように、クラウドベースのコンピューティングシステムは、仮想化されたコンピューティングリソース、ソフトウェア、および/または情報をエンドユーザーデバイスに提供するシステムである。コンピューティングリソース、ソフトウェア、および/または情報は、エッジデバイスがネットワークなどの通信インターフェースを経由してアクセスすることができる集中化されたサービスおよびリソースを維持することにより、仮想化することができる。「クラウド」はマーケティング用語である場合があり、本明細書の目的上、本明細書に記載するネットワークのいずれかを含めることができる。クラウドベースのコンピューティングシステムは、サービスへの加入を伴うか、またはユーティリティ価格設定モデルを使用することができる。ユーザーは、ウェブブラウザ、またはユーザーのエンドユーザーデバイスに配置された他のコンテナアプリケーションを通じて、クラウドベースのコンピューティングシステムのプロトコルにアクセスすることができる。
【0012】
コンピュータシステムは、エンジンとして、エンジンの一部として、または複数のエンジンを通じて実装することができる。本明細書で使用されるように、エンジンには、1つ以上のプロセッサまたはその一部分が含まれる。1つ以上のプロセッサの一部分には、レジスタのサブセットなど、任意の所与の1つ以上のプロセッサを含むハードウェアのすべてとは言えないまでもハードウェアの一部分、マルチスレッドプロセッサの1つ以上のスレッド専用のプロセッサの一部分、プロセッサがエンジンの機能の一部を実行することに全体的または部分的に専念している間のタイムスライスなどを含めることができる。そのようなものとして、第1のエンジンおよび第2のエンジンは、1つ以上の専用プロセッサを有することができるか、または第1のエンジンおよび第2のエンジンは、1つ以上のプロセッサを互いにまたは他のエンジンと共有することができる。実装形態固有または他の考慮事項に応じて、エンジンを集中化するか、またはその機能を分散させることができる。エンジンには、プロセッサで実行するためにCRMに具現化されたハードウェア、ファームウェア、またはソフトウェアを含めることができる。プロセッサは、本明細書の図を参照して記載されているように、実装されたデータ構造および方法を使用して、データを新しいデータに変換する。
【0013】
本明細書に記載されているエンジン、または本明細書に記載されているシステムおよびデバイスを実装することができるエンジンは、クラウドベースのエンジンであってもよい。本明細書で使用されているように、クラウドベースのエンジンは、クラウドベースのコンピューティングシステムを使用してアプリケーションおよび/または機能を実行することができるエンジンである。アプリケーションおよび/または機能のすべてまたは一部分は、複数のコンピューティングデバイスにわたって分散することができ、1つのコンピューティングデバイスのみに制限する必要はない。いくつかの実施形態では、クラウドベースのエンジンは、エンドユーザーのコンピューティングデバイスにローカルに機能および/またはモジュールをインストールすることなく、エンドユーザーがウェブブラウザまたはコンテナアプリケーションを通じてアクセスする機能および/またはモジュールを実行することができる。
【0014】
本明細書で使用されるように、データストアには、テーブル、コンマ区切り値(CSV)ファイル、従来のデータベース(例えば、SQL)、または他の適用可能な既知もしくは便利な編成フォーマットを含む、適用可能な任意のデータ編成を有するリポジトリが含まれることが意図されている。データストアは、例えば、特定用途マシン上の物理的なCRM、ファームウェア、ハードウェア、それらの組み合わせ、または適用可能な既知もしくは便利なデバイスもしくはシステムで具現化されるソフトウェアとして実装できる。データベースインターフェースなどのデータストア関連コンポーネントは、データストアの「一部」、他の何らかのシステムコンポーネントの一部、またはそれらの組み合わせと見なすことができるが、データストア関連コンポーネントの物理的な位置や他の特性は、本明細書に記載されている技術の理解には重要でない。
【0015】
データストアにはデータ構造を含めることができる。本明細書で使用されているように、データ構造は、所与のコンテキスト内で効率的に使用することができるように、コンピュータにデータを保存および編成する特定の方法に関連付けられている。データ構造は、一般に、それ自体がメモリに保存され、プログラムによって操作され得るビット文字列であるアドレスによって指定され、そのメモリ内の任意の場所でデータを取得して保存するコンピュータの能力に基づいている。したがって、いくつかのデータ構造は、算術演算を用いてデータ項目のアドレスを計算することに基づいており、一方、他のデータ構造は、構造自体の中にデータ項目のアドレスを保存することに基づいている。多くのデータ構造は両方の原則を使用しており、場合によっては自明ではない方法で組み合わされている。データ構造の実装には、通常、その構造のインスタンスを作成および操作する一連のプロシージャを書き込む必要がある。本明細書に記載するデータストアは、クラウドベースのデータストアであってもよい。クラウドベースのデータストアは、クラウドベースのコンピューティングシステムおよびエンジンと互換性のあるデータストアである。
【0016】
図1の例に戻ると、ネットワーク構成システム104は、ネットワークデバイス構成の設定および管理する役割を担うシステム管理者および他の人員を含み得る企業ネットワークの一部を表すことを意図している。線図100では、ネットワーク構成システム104は、ネットワークデバイス構成入力エンジン112と、ネットワークデバイス構成データストア114と、を含む。
【0017】
ネットワークデバイス構成入力エンジン112は、ネットワークデバイス構成情報が手動で入力されるか、自動プロセスを使用して入力されるか、またはその両方によって、人間が入力したデータ用のGUIなどのインターフェースを表すことを意図している。例えば、1つ以上のポリシー対応ネットワークデバイス構成ノード306またはそのエージェントは、ネットワークデバイス構成入力エンジン112がネットワークデバイス構成データストア114に格納するネットワークデバイス構成データを入力することができる。
【0018】
図1の例では、構成からDNSへの変換システム106は、ネットワーク構成システム104からのネットワークデバイス構成を、ネットワークデバイス構成データを含むDNSレコードに変換するシステムを表すことを意図している。特定の実装形態において、ネットワークデバイス構成データストア114への変更は、構成からDNSへの変換システム106をトリガして、DNSゾーンに記憶するためにネットワークデバイス構成データを符号化するDNS TXTレコードなどのDNSレコードを作成する。本明細書で使用されているように、管理を委任された1つ以上のサブドメインの領域は、DNSゾーンと呼ばれる。
【0019】
コンテキストについては、トップレベルドメイン名レジストリオペレーターは、第2レベルドメインの登録に義務付けられた地理的または他の範囲の目的で、パブリックまたはエンティティにネームスペースを提供する場合がある。下位レベルのドメインを担当する組織は、ネームスペースを同様に操作し、スペースを細分化する場合がある。サブドメインスペースの登録または割り当てごとに、登録者は、下位レベルドメインへのサブ委任を含め、ゾーンの責任を管理する管理および技術インフラストラクチャを維持する義務がある。ゾーンは、ドメイン境界で始まり、ドメイン内のリーフノード(ホスト)を含めるか、または独立して管理される別のゾーンの境界で終わる。各ドメインがさらにサブドメインに分割され、各々が独自の管理者およびDNSサーバのセットを有するDNSゾーン自体になると、ツリーは最下部で最大数のリーフノードに成長する。この最下位レベルでは、ツリーのエンドノードまたはリーフで、DNSゾーンという用語は、使用および管理の両方の面で「ドメイン」という用語と本質的に同義語になる。ドメインという用語は、それに割り当てられたエンティティのビジネス機能で使用され、ゾーンという用語は通常、DNSサービスの構成に使用される。
【0020】
特定の実装形態では、構成からDNSへのシステム106は、DNSゾーンの知識、例えば、管理責任がそれぞれの一人のマネージャに委任されたDNSのドメイン名スペースの別個の連続部分を使用して、それぞれの複数のDNSゾーンに関連付けられ、かつ関連付けられているとして識別可能なDNSレコードをDNSゾーンリポジトリ108に保存する。例えば、構成からDNSへの変換システム106は、変更されたDNSゾーンに関連付けられた開始権限(SOA)レコードのシリアル番号を増加させることができ、これにより、DNSゾーンは伝搬準備完了としてラベル付けされる。
【0021】
コンテキストでは、DNSゾーンは、SOAで始まり、ゾーン内で記載されたリソースのレコードを含むオペレーティングシステムファイルで定義することができる。この方式は元々、Berkeleyインターネットネームドメインサーバ(BIND)ソフトウェアパッケージで使用され、RFC1034およびRFC1035で定義されており、これらは参照により本明細書に組み込まれる。
【0022】
有利なことに、構成からDNSへの変換システム106は、DNSレコードにネットワークデバイス構成を含めさせ、これにより、本明細書で後記するようにDNSサービスを介したネットワークデバイス構成の分散が可能になる。代替案では、代わりにまたは追加で、DNSレコードには遠隔測定データが含まれる。さらに別の代替案では、代わりにまたは追加で、DNSレコードにはキー管理データが含まれる。
【0023】
図1の例では、DNSゾーンリポジトリ108は、ドメインネームサーバの構成システムに実装されたDNSゾーン内に記載されたリソースのレコードを表すことを意図している。DNSゾーンリポジトリ108におけるネットワークデバイス構成メッセージの記憶は、適用可能なネットワークノードへの伝搬のためにネットワークデバイス構成データをDNSサービスにロードすることとして特徴付けられ得る。DNSレコードの例は、
<device_id>version1.config.threatstop.com900IN TXT“param=value”である。
【0024】
図1の例では、ピア110は、ピア110がCRM102を介してデータを送受信することができる有線または無線インターフェースを備えたデバイスを表すことを意図している。ピア110の例は、いくつかの挙げると、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ワイヤレスデバイス(携帯電話、スマートフォンなど)、またはウェアラブルデバイスである。
【0025】
特定の実装形態では、ピア110は、ネットワークを通じたデータの伝送に使用することができる一意の識別子を含む。一意の識別子には、インターネットプロトコルバージョン4に従って作成された識別子(以下「IPv4」と称される)、またはインターネットプロトコルバージョン6に従って作成された識別子(以下「IPv6」と称される)が含まれ、どちらのプロトコルバージョンも参照により本明細書に組み込まれる。実装形態固有の考慮事項または他の考慮事項に応じて、ピア110は、適用可能な無線デバイスプロトコルによりデータを受信および送信するための適用可能な通信インターフェースを含むことができる。適用可能な無線デバイスプロトコルの例には、Wi-Fi、ZigBee(登録商標)、Bluetooth(登録商標)、および他の適用可能な低電力通信規格が含まれる。
【0026】
特定の実装形態では、ピア110はステーションとしての機能を果たす。本明細書で使用するように、ステーションは、メディアアクセス制御(MAC)アドレスと、IEEE802.11標準に準拠する無線媒体への物理層(PHY)インターフェースと、を有する、デバイスと称され得る。したがって、例えば、該当する場合、ネットワークデバイスは、ステーションと称され得る。IEEE802.11a-1999、IEEE802.11b-1999、IEEE802.11g-2003、IEEE802.11-2007、およびIEEE802.11n TGn Draft8.0(2009)は参照により組み込まれる。本明細書で使用されているように、802.11標準互換または802.11標準準拠のシステムは、1つ以上の組み込まれたドキュメントの要件および/もしくは推奨事項、または以前のドキュメントのドラフトからの要件および/もしくは推奨事項のうちの少なくともいくつかに準拠しており、Wi-Fiシステムを含む。Wi-Fiは、IEEE802.11標準と、Wi-Fi Protected Access(WPA)およびWPA2セキュリティ標準と、Extensible Authentication Protocol(EAP)標準と一般的に相関する非技術的な記述である。代替の実施形態では、ステーションは、Wi-FiまたはIEEE802.11とは異なる規格に準拠し、「ステーション」以外の名称で称される場合があり、無線または他の媒体への異なるインターフェースを有する場合がある。
【0027】
特定の実装形態では、ピア110はIEEE802.3に準拠してネットワークサービスにアクセスするように構成されている。IEEE802.3はワーキンググループであり、有線イーサネットの物理層およびデータリンク層のMACを定義するワーキンググループによって作成されたIEEE標準の収集である。これは通常、いくつかの広域ネットワークアプリケーションを有するローカルエリアネットワークテクノロジーである。通常、物理的な接続は、さまざまなタイプの銅線またはファイバーケーブルによって、ノードおよび/またはインフラストラクチャデバイス(ハブ、スイッチ、ルータ)間でなされる。IEEE802.3は、IEEE802.1ネットワークアーキテクチャをサポートするテクノロジーである。関連技術でよく知られているように、IEEE802.11は、2.4、3.6、および5GHzの周波数帯域で無線ローカルエリアネットワーク(WLAN)コンピュータ通信を実装するためのワーキンググループおよび標準の収集である。標準IEEE802.11-2007の基本バージョンには、その後に補正が加えられてきた。これらの標準は、Wi-Fiブランドを使用する無線ネットワーク製品の基準を提供する。IEEE802.1および802.3は参照により組み込まれる。
【0028】
特定の実装形態では、ピア110はDNSエンジンを含む。実装形態または構成の固有の要因に応じて、DNSエンジンにはDNSサーバまたはDNSクライアントを含めることができる。さらに、実装形態または構成の固有の要因に応じて、DNSエンジンには、遠隔測定サブシステム(図示せず)または構成サブシステムを含めることができ、後者は、構成エンジンおよび構成データストア(図示せず)を含み、どちらも後で説明する。1つ以上のピア110が遠隔測定サブシステムを含む実装形態では、ネットワーク構成システム104は遠隔測定リーダー(図示せず)を含むことができる。
【0029】
動作の一例では、図1に示されるようなシステムは次のように動作する。ネットワーク構成システム104は、ネットワークデバイスの構成セットを、CRM102を経由して、構成からDNSへの変換システム106に提供する。ネットワーク構成システム104は、ネットワークデバイス構成への変更を検出するなどのトリガに応答して、構成セットを提供することができる。ネットワークデバイス構成セットには、ネットワークデバイスの完全な構成または部分的な構成を含めることができる。例えば、ネットワークデバイス構成セットにはデルタのみが含まれる場合があり、デルタは、以前の構成と現在の構成との間の違いを含む部分的な構成である。デルタを提供すると、ピアにいくつかの要件が課され、これは、例えば遠隔測定サブシステムまたは構成サブシステムを使用して管理することができることに注意されたい。
【0030】
この動作例では、構成からDNSへの変換システム106は、ネットワークデバイス構成セットをDNSメッセージに変換し、それは1つ以上のDNSリポジトリ108に保存される。実装形態または構成の固有の要因に応じて、ネットワークデバイス構成セットは、適用可能なDNSメッセージ内のカプセル化(または包含)に適さないフォーマットで提供される場合があり、この場合、構成からDNSへの変換システム106は、最初にネットワークデバイス構成セットをDNSメッセージ互換フォーマットに変換し、次に再フォーマットされたネットワークデバイス構成セットをDNSメッセージに含める。特定の実装形態では、再フォーマットされたネットワークデバイス構成セットは、ピア110の少なくとも1つが理解する独自のフォーマットを有する。代替案では、再フォーマットされたネットワークデバイス構成セットは標準化されたフォーマットを有する。再フォーマットには、暗号化が含まれる場合と含まれない場合があり、復号化が含まれる場合と含まれない場合がある。
【0031】
この動作例では、DNSゾーンリポジトリ108は、ピア110に提供されるネットワークデバイス構成セットメッセージをバッファリングする。特定の実装形態では、ネットワークデバイス構成セットメッセージは、ネットワーク構成システム104へのAXFRクエリまたはIXFRクエリなどのトリガ刺激を開始した1つ以上のピア110に提供される。(RFC5936、1995、および1996は参照により組み込まれる。)したがって、ネットワークデバイス構成セットメッセージは、ピアからのトリガ刺激に応答して提供される。一方、遠隔測定リーダーを含むネットワーク構成システム104の場合、ネットワークデバイス構成セットメッセージをピアに提供する必要がない場合がある。むしろ、DNSゾーンリポジトリ108は、遠隔測定リーダーに従い、動的DNS更新に応答して更新され得る。この代替案は、1つ以上のピア110で遠隔測定エンジンを実装することを伴い得る。
【0032】
ネットワークデバイス構成を提供する役割を担う当事者と、ネットワークデバイス構成をDNS互換フォーマットに変換する当事者とは、同じ当事者である必要がない。例えば、DNSサービスの顧客は、ネットワークデバイス構成をDNSサービスに提供し、顧客がDNSクエリまたは動的DNS更新を送信するときに、ネットワークデバイス構成をDNS互換フォーマットに変換することができる。概念的に、ネットワーク構成システム104および構成からDNSへの変換システム106は、DNSサービスの一部として特徴付けることができる。具体的には、ネットワーク構成システム104は、構成からDNSへの変換システム106が使用するデータをバッファするデータストアを少なくとも含み、最小限のバッファでさえDNSサービスの制御下にあるネットワーク構成システムとして特徴付けることができる。同様に、DNSゾーンリポジトリ108は、DNSサービスがDNSゾーンリポジトリ108のDNSレコードを伝搬するバッファを少なくとも含む。一方、ピア110は、DNSサービスの一人以上の顧客の制御下にあり得る。
【0033】
この動作例では、ピア110またはそれに関連するエージェントは、DNSクエリでネットワーク構成システム104をトリガし、ピア110は、更新されたネットワークデバイス構成を含むそれぞれの応答を受信する。例えば、ネットワーク構成システム104、構成からDNSへの変換システム106、およびDNSゾーンリポジトリ108がDNSサービスによって制御される場合、DNSサービスの顧客は、ピアの110の1つ、または他の何らかのデバイスを介してネットワークデバイス構成を提供することができ、さらにピア110の1つからのトリガも提供することができる。顧客からも遠隔測定データを受信することがDNSサービスにとって望ましい場合がある。したがって、この動作例の説明のために、顧客は遠隔測定データをDNSサービスに送り返す。
【0034】
前述したように、遠隔測定サブシステムは、適用可能なピアへの明示的なDNS応答を不要にすることができるが、ピア110は、例えば動的DNS更新を用いてネットワークデバイス構成伝搬を依然としてトリガする。いずれにせよ、上記の動作例は、ネットワーク構成システムからDNSゾーンへのピアトリガネットワークデバイス構成伝搬の理解を提供する。
【0035】
図2は、ネットワーク構成システムからDNSゾーンへのピアトリガネットワークデバイス構成伝搬のための方法の例のフローチャート200を示す。本明細書に記載するこのフローチャートおよび他のフローチャートは、理解を促すように編成されたモジュール(および場合によっては決定ポイント)を示している。しかしながら、状況に応じて、モジュールを、並列実行、再配列、修正(変更、削除、または強化)のために再編成することができることを認識されたい。フローチャート200は、モジュール202で開始し、ネットワークデバイス構成を作成、読み取り、更新、または削除(CRUDing)する。特定の実装形態では、システムオペレータまたは自動化されたプロセスがネットワークデバイスを構成する。システムオペレータまたは自動化されたプロセスは、DNSサービスの顧客に関連付けられている場合がある。読み取り、作成次いで削除、ならびに更新および以前の更新を元に戻すための更新を行うと、正味デルタがなくなる可能性があることに注意されたい。しかしながら、このような行為は、セキュリティプロセスなどの他のプロセスをトリガする可能性がある。
【0036】
図2の例では、フローチャート200はモジュール204に進み、CRUDに応答してネットワークデバイス構成伝搬プロセスをトリガする。CRUDの検出方法は、実装および/または構成に固有である。例えば、CRUD命令の検出、データストアへのアクセスの検出、以前のデータストアに対する現在のデータストア内のデルタの識別などがプロセスをトリガすることができる。有利なことに、ネットワークデバイス構成は、DNSを使用して伝搬される1つ以上のDNSゾーンに関連付けられたDNSレコードの形態でバッファリングすることができる。
【0037】
図2の例では、フローチャート200は、ネットワークデバイス構成データをDNSレコードに組み込むモジュール206に続く。
【0038】
図2の例では、フローチャート200は、DNSレコードをDNSサービスに提供するモジュール208に続く。有利なことに、DNSレコードにはネットワークデバイス構成データが含まれているにもかかわらず、DNSサービスはDNSレコードを他のDNSレコードと同様に扱うことができる。ポリシーは、例えば、システムオペレータまたは自動化されたプロセスによって事前に設定されているため、ネットワークデバイス構成伝搬プロセスはポリシー転送ではない。そのようなプロセスは、本明細書ではポリシー非依存ネットワークデバイス構成伝搬プロセスと称される。
【0039】
図2の例では、フローチャートは、モジュール210で終了し、DNSゾーン内でポリシー非依存ネットワークデバイス構成を伝搬する。特定の実装形態では、ゾーンのポリシーを設定する当事者は、DNSサービスにネットワークデバイス構成を提供し、DNSサービスをトリガしてDNSゾーン内のネットワークデバイス構成を伝搬する当事者である。DNSサービスはポリシーを転送しないため、伝搬はポリシーに依存しないものとして伝播は、ポリシーに依存しないものとして特徴付けられる。有利なことに、ネットワークデバイスは、DNSサービスによって提供されるDNSゾーンを使用するか、または別個のDNSゾーンを使用するように構成することができる。これにかかわらず、複数のネットワークデバイスは、この方法で同じDNSサービスから構成を検索することができる。
【0040】
図3は、DNSサーバ~DNSクライアントネットワークデバイス構成伝搬システムの例の線図300を示す。線図300は、ネットワーク302、ネットワーク302に結合されたポリシー非依存ネットワークデバイス構成伝搬ノード304、およびネットワーク302に結合されたポリシー対応ネットワークデバイス構成ノード306-1~ポリシー対応ネットワークデバイス構成ノード306-n(まとめて、ポリシー対応ネットワークデバイス構成ノード306)を含む。
【0041】
図3の例では、ネットワーク302は、説明のために、LAN、WAN、他の何らかのサイズのネットワーク、またはそれらの組み合わせを含むことを意図している。特定の実装形態では、ポリシー非依存ネットワークデバイス構成伝搬ノード304およびポリシー対応ネットワークデバイス構成ノード306は、インターネットプロトコル(IP)技術を介して動作可能に接続される。例えば、ポリシー非依存ネットワークデバイス構成伝搬ノード304およびポリシー対応ネットワークデバイス構成ノード306は、プライベートネットワークにわたって、またはインターネットなどのパブリックネットワークにわたって存在することができる。
【0042】
図3の例では、ポリシー非依存ネットワークデバイス構成伝搬ノード304は、ネットワークデバイス構成が、ポリシー対応ネットワークデバイス構成ノード306のポリシーに従って、提供されるDNSサービスを提供するノードを表すことを意図している。線図300において、ポリシー非依存ネットワークデバイス構成伝搬ノード304は、DNSゾーンリポジトリ308-1~DNSゾーンリポジトリ308-n(まとめて、DNSゾーンリポジトリ308)、およびDNSサーバ310-1~DNSサーバ310-n(まとめて、DNSサーバ310)を含む。
【0043】
図3の例では、DNSゾーンリポジトリ308は、1つまたは複数のネットワークデバイスに関連付けられ、および1つ以上のネットワークデバイスのネットワークデバイス構成情報を有する、DNSレコードを保存するように構成されたデータストアを表すことを意図している。
【0044】
図3の例において、DNSサーバ310は、ポリシー対応ネットワークデバイス構成ノード306が、ネットワークデバイスを構成するために使用するネットワークデバイス構成データを有するDNSレコードでDNSクエリに応答するエンジンを表すことを意図している。
【0045】
図3の例では、ポリシー対応ネットワークデバイス構成ノード306は、ポリシー非依存ネットワークデバイス構成伝搬ノード304にDNSクエリを送信して、ネットワークデバイス構成データを含むDNS応答をトリガするノードを表すことを意図しており、ポリシー対応ネットワークデバイス構成ノード306は、ネットワークデバイスを構成するためにこれを使用する。線図300では、ポリシー対応ネットワークデバイス構成ノード306は、ネットワークデバイス構成伝搬トリガエンジン312、DNSクライアント314、DNSゾーンコンテンツから構成データへの変換エンジン316、構成エンジン318、およびネットワークデバイス構成データストア320を含む。
【0046】
特定の実装形態では、ネットワークデバイス構成伝搬トリガエンジン312は、DNS要求をDNSクライアント314に発行する。実装形態または構成の固有の要因に応じて、ゾーンデータの変更がなされたときに、1つ以上のDNSサーバ310がNOTIFYメッセージをDNSクライアント314に送信することができるが、ゾーン転送のスケジューリングは、完全にネットワークデバイス構成伝搬トリガエンジン312の制御下にある。特定の実装形態では、ネットワークデバイス構成伝搬トリガエンジン312は、ゾーン頂点のSOAリソースレコードの「更新」、「再試行」、および「期限切れ」フィールドの値によって制御されるパターンで、定期的にゾーン転送をスケジュールする。トリガの頻度および周期は、トリガが手動であるか自動であるかのように、実装または構成の固有の要因に依存する。
【0047】
特定の実装形態では、DNSクライアント314は最初にDNSサーバ310の1つに接続する。Transport Layer Security(TLS)またはその前身であるSecure Sockets Layer(SSL)などの暗号化プロトコルは、ネットワーク302を経由した通信セキュリティを提供することができる。有利なことに、送信されたデータを暗号化するために使用された対称暗号化により、接続を安全にすることができる。この対称暗号化のキーは、接続ごとに一意に生成され、セッションの開始時に取り決められた共有秘密に基づいている。DNSサーバ310およびDNSクライアント314は、データを送信する前に、使用する暗号化アルゴリズムおよび暗号化キーの詳細を取り決める。代替的または追加的に、DNSサーバ310およびDNSクライアント314のアイデンティティは、一方または両方の当事者に必要とされ得る公開キー暗号を使用して認証され得る。代替的または追加的に、各メッセージには、メッセージ認証コードを使用したメッセージ整合性チェックが含まれ、送信中のデータの未検出の損失または変更を防止する。このようにして、接続は整合性を確保することができる。
【0048】
DNSクライアント314がDNSサーバ310の1つに接続した後、DNSクライアント314はDNS非同期完全転送ゾーン(AXFR)を開始する。ゾーン転送では、転送に伝送制御プロトコル(TCP)を使用する。DNSサーバ310およびDNSクライアント314は、ゾーン転送がクライアント-サーバトランザクションの形態を採とるので、そのように名付けられている。ゾーン転送を要求するクライアントは、マスタサーバからのデータを要求するスレーブサーバまたはセカンダリサーバであり得ることに注意されたい。
【0049】
ゾーン転送は、プリアンブルとそれに続く実際のデータ転送で構成される。プリアンブルは、「ゾーン」の最上部にあるDNSネームスペースのノードである「ゾーンの頂点」のStart of Authority(SOA)リソースレコードのルックアップで構成される。このSOAリソースレコードのフィールド、特に「シリアル番号」は、そもそも実際のデータ転送を行う必要があるかどうかを決定する。クライアントは、SOAリソースレコードのシリアル番号を、そのリソースレコードの最後のコピーのシリアル番号と比較する。転送されているレコードのシリアル番号が大きい場合、ゾーン内のデータは(何らかの方法で)「変更」されたと見なされ、スレーブは実際のゾーンデータ転送の要求に進む。シリアル番号が同一である場合、ゾーン内のデータは「変更」されていないと見なされ、クライアントは、もしあれば、それがすでに有しているデータベースのコピーを使用し続けることができる。
【0050】
特定の実装形態では、DNSクライアント314は、DNSクエリ解決メカニズムを使用してプリアンブルのSOAルックアップを行う。DNSクライアント314は、DNSクライアント314が実際のデータ転送を行う必要性を識別するまで、DNSサーバ310の1つへのTCP接続を開かない。代替案では、DNSクライアント314は、DNSサーバ310の1つへのTCP接続を開き、その後、実際のデータ転送を行う(行い得る)場合、同じTCP接続上でSOAルックアッププリアンブルを行う。
【0051】
実際のデータ転送プロセスは、DNSクライアント314が特別なクエリタイプAXFR(値252)を有するクエリ(オペコード0)を、DNSサーバ310の1つにTCP接続を経由して送信することによって開始される。DNSサーバ310は、ゾーン内のすべてのドメイン名のすべての全リソースレコードを含む一連の応答メッセージで応答する。最初の応答は、ゾーンの頂点のSOAリソースレコードで構成される。他のデータは、順不同で続く。データの終了は、ゾーンの頂点のSOAリソースレコードを含む応答を繰り返す関連DNSサーバ310によって通知される。
【0052】
DNSクライアント314は、Transaction SIGnature(TSIG)を使用して、DNSクライアント314を含むポリシー対応ネットワークデバイス構成ノード306の1つを認証することができる。TSIGは、共有秘密キーおよび一方向ハッシュを使用して、DNS更新をする、または応答することが許可されているとしてDNSサーバ310およびDNSクライアント310を認証する暗号的に安全な方法を提供する。実装形態固有または構成固有の要因に応じて、DNSへのクエリは認証なしでなされ得るが、DNSへの更新は認証される必要がある。記録された応答が再利用されないように、タイムスタンプがTSIGプロトコルに含まれている。これは、正確なクロックを有するように、DNSサーバ310およびDNSクライアント314に要求することができる。Network TIME Protocolは、正確な時刻ソースを提供することができる。クエリのようなDNS更新は、通常UDPを介して転送されるが、DNSサーバ310はUDP要求およびTCP要求の両方をサポートすることができる。TSIGは、RFC2845に記載されており、これは参照により組み込まれる。
【0053】
特に中断されない限り、DNSクライアント314は最終的に、AXFR応答からのネットワークデバイス構成データを、DNSゾーンコンテンツから構成データへの変換エンジン316に利用可能にする。
【0054】
DNSゾーンコンテンツから構成データへの変換エンジン316は、応答、または少なくともゾーンの内容を読み取り、応答からネットワーク構成データを復号化する。情報にチェックサムが含まれる場合、DNSゾーンコンテンツから構成データへの変換エンジン316は、チェックサムプロセスとの整合性を確保することができる。DNSゾーンコンテンツから構成データへの変換エンジン316は、ネットワークデバイス構成データを構成エンジン318に提供する。
【0055】
構成エンジン318は、構成をネットワークデバイス構成データストア320に書き込む。構成データストア320の一般的な実装形態は、「構成ファイル」であり、構成ファイルは、人間が編集可能な平文であり、単純なキーおよび値のペアフォーマットが一般的である。有利なことに、本明細書に記載する技術は、DNSレコードのデータを符号化し、この使用しやすい形態を安全な方法で渡すときにテキストの使用を容易にする。代替案では、状態情報を使用して他のソフトウェアプロセスをトリガする。
【0056】
動作例では、図3に示されるようなシステムは、次のように動作する。1つ以上のDNSゾーンリポジトリ308への変更に応答して、1つ以上のDNSサーバ310は、ポリシー非依存ネットワークデバイス構成伝搬ノード304から1つ以上のポリシー対応ネットワークデバイス構成ノード306にNOTIFYメッセージを送信することができる。代替案では、DNSサーバ310はNOTIFYメッセージを送信しない。
【0057】
この動作例では、ネットワークデバイス構成伝搬トリガエンジン312は、ネットワークデバイス構成伝搬プロセスを開始するかどうかを決定する。DNSサーバ310がNOTIFYメッセージを送信するのが可能である場合、ネットワークデバイス構成伝搬トリガエンジン312は、NOTIFYメッセージの受信に応答してプロセスを開始してもよい。代替的に、DNSサーバ310がNOTIFYメッセージを送信しない場合、またはNOTIFYメッセージに応答して動作することに加えて、ネットワークデバイス構成伝搬トリガエンジン312は、定期的にプロセスを開始するか、または明示的な(例えば、システム管理者による)命令に応答してプロセスを開始することができる。ネットワークデバイス構成伝搬トリガエンジン312は、関連する1つ以上のDNSゾーンリポジトリ308に変更がなかったことが確かである(正しいかどうか)場合、定期的な動作を行わないことを選択することができる。プロセスをトリガするために、ネットワークデバイス構成伝搬トリガエンジン312は、DNS要求をDNSクライアント314に送信する。
【0058】
この動作例では、DNSクライアント314は、ネットワーク302を経由して、関連する1つのDNSサーバ310との接続を確立する。例えば、最後のゾーン転送以降、関連する1つ以上のDNSゾーンリポジトリ308に変更が加えられていないという判定により接続が中断されないと仮定すると、DNSクライアント314はDNSゾーン転送(例えば、AXFR)クエリをDNSサーバ310に送信し、これは、ネットワークデバイス構成データを含むDNS応答で応答する。
【0059】
この動作例では、DNSゾーンコンテンツから構成データへの変換エンジン316は、ネットワークデバイス構成データコンテンツを、構成エンジン318によるネットワークデバイス構成データストア320への記憶に好適なフォーマットに復号化する。
【0060】
図4は、DNSサーバ~スレーブまたはセカンダリDNSサーバネットワークデバイス構成伝搬システムの例の線図400を示す。線図400は、ネットワーク402、ネットワーク402に結合されたポリシー非依存ネットワークデバイス構成伝搬ノード404、および、ネットワーク402に結合されたポリシー対応ネットワークデバイス構成ノード406-1~ポリシー対応ネットワークデバイス構成ノード406-n(まとめて、ポリシー対応ネットワークデバイス構成ノード406)を含む。線図400は線図300と同様であるが、DNSクライアント314はDNSサーバ414に置き換えられている。図4の例では、DNSサーバ410は、DNSサーバ310(図3)と同様であり、DNSゾーンリポジトリ408は、任意選択的である。具体的には、図3を参照して例として記載したように、ゾーン転送要求はAXFRクエリ、または増分ゾーン転送のためのIXFRクエリを含むことができる。
【0061】
増分ゾーン転送は、次の点で完全ゾーン転送とは異なり、第一に、(DNSクライアントとして働く)DNSサーバ414は、AXFR QTYPEの代わりにQTYPE IXFR(値251)を使用する。第二に、DNSサーバ414は、もしあれば、IXFRメッセージで現在有しているゾーン頂点のSOAリソースレコードを送信し、最新と考える「ゾーン」のバージョンをサーバに知らせる。第三に、DNSサーバ410のうちの関連する1つは、ゾーンの全データで通常のAXFR方式で応答してもよいが、代わりに「増分」データ転送で応答してもよい。後者は、クライアントが有しているとサーバに報告したゾーンのバージョンと、サーバで最新のゾーンのバージョンとの間の、ゾーンシリアル番号順のゾーンデータへの変更のリストで構成されている。変更は、削除されるリソースレコードのリストと挿入されるリソースレコードのリストの2つのリストを含む。(リソースレコードへの修正は、削除とそれに続く挿入として表される。)
【0062】
DNSサーバ414に加えて、ポリシー対応ネットワークデバイス構成ノード406は、ネットワークデバイス構成伝搬トリガエンジン412、DNSゾーンコンテンツから構成データへの変換エンジン416、構成エンジン418、およびネットワークデバイス構成データストア420を含む。ポリシー対応ネットワークデバイス構成ノード406は、サーバ、DNSサーバ414を有するため、ポリシー対応ネットワークデバイス構成ノード406の下流にあるDNSエンジン(サーバまたはクライアント)を備えた追加のピアは存在してもしなくてもよい。
【0063】
図5は、DNSエンジン~DNSサービスネットワークデバイス構成遠隔測定供給システムの例の線図500を示す。線図500は、ネットワーク502、ネットワーク502に結合されたネットワークデバイス構成顧客ノード504-1~ネットワークデバイス構成顧客ノード504-n(まとめて、ネットワークデバイス構成顧客ノード(顧客ノード)504)、およびネットワークデバイス構成サービスノード(サービスノード)506を含む。
【0064】
図5の例では、ネットワーク502は、説明のために、LAN、WAN、他の何らかのサイズのネットワーク、またはそれらの組み合わせを含むことを意図している。特定の実装形態では、ネットワークデバイス構成顧客ノード504およびネットワークデバイス構成サービスノード506は、インターネットプロトコル(IP)技術を介して動作可能に接続される。例えば、ネットワークデバイス構成顧客ノード504およびネットワークデバイス構成サービスノード506は、プライベートネットワークにわたって、またはインターネットなどのパブリックネットワークにわたって存在することができる。
【0065】
図5の例では、ネットワークデバイス構成顧客ノード504は、DNSを介してネットワークデバイス構成サービスを受信するエンティティの制御下でエンジンおよびデータストアを表すことを意図している。線図500において、ネットワークデバイス構成顧客ノード504は、遠隔測定レポートトリガエンジン508、ネットワークデバイス構成からDNSゾーンコンテンツへの変換エンジン510、フィードバックからDNSゾーンコンテンツへの変換エンジン512、構成データストア514、フィードバックデータストア516、および(DNSサーバまたはDNSクライアントを含むことができる)DNSエンジン518を含む。
【0066】
遠隔測定レポートトリガエンジン508は、最終的にネットワークデバイス構成サービスノード506に遠隔測定を提供する情報収集プロセスを開始する役割を担うエンジンを表すことを意図している。特定の実装形態では、遠隔測定レポートトリガエンジン508は、定期的なトリガ刺激により遠隔測定プロセスを開始させるタイマーを含む。その代わりに、またはそれに加えて、遠隔測定レポートトリガエンジン508は、そうするための明示的なコマンド(例えば、人間またはそのエージェントによって提供される「手動」命令)に応答して遠隔測定プロセスを開始することができる。
【0067】
プロセスを開始するとき、遠隔測定レポートトリガエンジン508により、ネットワークデバイス構成からDNSゾーンコンテンツへの変換エンジン510、およびフィードバックからDNSゾーンコンテンツへの変換エンジン512が、それぞれ構成データストア514およびフィードバックデータストア516にアクセスし、ネットワークデバイス構成データおよびフィードバックを、DNSエンジン518によるネットワークデバイス構成サービスノード506への送信のためのDNSレコードに変換する。
【0068】
フィードバックデータストア516のフィードバックは、いくつか例を挙げると、設定、ソフトウェアバージョン情報、エラー条件、またはパフォーマンスデータなど、ソフトウェアコマンド、ログデータ、またはネットワークの特性によって返される情報を含むことができる。ネットワークデバイス構成からDNSゾーンコンテンツへの変換エンジン510は、ネットワークデバイス構成データを、ネットワークデバイス構成データを有するDNSテキストレコード(DNS TXTレコード)などのDNSレコードとして符号化し、フィードバックからDNSゾーンコンテンツへの変換エンジン512は、フィードバックデータを有するDNSレコードとしてフィードバックを符号化する。
【0069】
DNSエンジン518は、DNS要求を行うことが可能である。パブリックDNSインフラストラクチャを使用する場合、DNSエンジン518は関連するDNSゾーンの名前で構成される。動作中、DNSエンジン518は、ネットワークデバイス構成サービスノード506に接続する。特定の実装形態では、TLSによって提供されるような相互認証が使用される。特定の実装形態では、DNSエンジン518は、その構成で提供されたDNSゾーンの動的DNS更新を行う。動的DNS更新は、DNS TSIGキーで署名することができ、したがって、ネットワークデバイス構成顧客ノード504の関連する1つを認証する。プライベートDNSインフラストラクチャを使用する場合、DNS構成には、適用可能なDNSサーバのIPアドレスまたはホスト名を含める必要がある場合がある。DNSレコードの例は次のとおりである。
<device_id>version1.tele.threatstop.com900IN TXT“telemetry=value”
【0070】
図5の例では、ネットワークデバイス構成サービスノード506は、DNSを使用してネットワークデバイス構成伝搬サービスを提供するエンティティの制御下(または顧客との共有制御下)のエンジンおよびデータストアを表すことを意図している。線図500では、ネットワークデバイス構成サービスノード506は、DNSサーバ520-1~DNSサーバ520-n(まとめて、DNSサーバ520)、DNSゾーンリポジトリ522-1~DNSゾーンリポジトリ522-n(まとめて、DNSゾーンリポジトリ522)、DNSゾーンコンテンツから構成データへの変換エンジン524、構成エンジン526、およびネットワークデバイス構成データストア528を含む。
【0071】
DNSサーバ520ののうちの関連する1つによって動的DNS更新が受信および処理され、その結果、DNSゾーンリポジトリ522のうちの関連する1つに記憶するためのDNSレコードが作成される。DNSサーバ520は、パブリックまたはプライベートDNSインフラストラクチャの一部とすることができる。特定の実装形態では、手動または自動トリガに応答するDNSゾーンコンテンツから構成データへの変換エンジン524は、DNSゾーン転送(例えば、AXFR)を使用して、DNSゾーンリポジトリ522に含まれるDNSゾーンのコンテンツを読み取り、DNSレコードを復号化し、ネットワークデバイス構成データを構成エンジン526に提供し、構成エンジン526は、構成データをネットワークデバイス構成データストア526に保存する。有利なことに、複数のネットワークデバイス構成顧客ノード504は、ネットワークデバイス構成サービスノード506に情報を広めることができる。ネットワークデバイス構成顧客ノード504の各々は、ネットワークデバイス構成サービスノード506によって提供された同じDNSゾーンを使用するように構成することができ、または1つ以上が別個のDNSゾーンを使用することができる。
【0072】
図6A図6B、および図6Cは、ネットワークデバイス構成伝搬システムを利用する方法の例のフローチャート600を示する。フローチャート600は、ネットワークデバイス構成伝搬サービスポータルにログインするモジュール602(図6A)で開始する。特定の実装形態では、ゾーン名は、IPアドレスから引き出され、ログイン中に利用可能になる。実装形態または構成に固有の要因に応じて、顧客またはそのエージェントによるログイン中またはログイン後にゾーン名を明示的に提供することもできる。
【0073】
図6Aの例では、フローチャート600は、ネットワークデバイス構成設定を入力するモジュール604に続く。有利なことに、ネットワークデバイスの構成設定は、DNSインフラストラクチャを活用するためにDNSレコードに符号化される。実装形態または構成の固有の要因に応じて、顧客は、ネットワーク構成設定をDNSレコードとして、またはネットワークデバイス構成伝搬サービスもしくはそのエージェントによってDNSレコードに変換される他の何らかのフォーマットで入力することができる。
【0074】
図6Aの例では、フローチャート600は、ネットワークデバイス構成伝搬エージェントおよびキーを取得するモジュール606に続く。特定の実装形態では、ネットワークデバイス構成伝搬エージェントがダウンロードされる。代替案では、エージェントは、ストリーミングされるか、実行時に仮想的に提供されるか、または他の何らかの方法で顧客に利用可能にされる。特定の実装形態では、キーは、顧客のIPアドレスから引き出されるか、または他の何らかの方法で取得された、顧客が明示的に提供したDNSゾーン名から引き出され、およびTSIGなどの関連付けられたゾーンに関連付けられたキーから引き出される。
【0075】
図6Aの例では、フローチャート600は、ネットワークデバイス構成伝搬エージェントをピアにインストールするモジュール608に続く。実装形態または構成の固有の要因に応じて、顧客は、1つ以上のピアを有することができる。特定の実装形態では、1つのエンティティであるネットワークデバイス構成伝搬サービスが、すべてのピアのサービスプロバイダである。代替案では、ネットワークデバイス構成伝搬サービスは、ピアツーピアネットワーク全体に分散される機能を有する。
【0076】
図6Aの例では、フローチャート600は、ネットワークデバイス構成伝搬エージェントにキーをインストールするモジュール610に続く。このキーを使用して、キーが引き出されるDNSゾーン名、および安全な通信の両方をネットワークデバイス構成伝搬サービスに提供することができる。モジュール610から、フローチャート600は、それぞれ伝搬および遠隔測定に関連付けられた2つの異なる経路に分裂する。
【0077】
図6Bの例では、フローチャート600は、ネットワークデバイス構成データを有するDNSレコードをダウンロードするモジュール612に続く。特定の実装形態では、チェックサムなどのアプリケーションレベルのセキュリティチェックが、ネットワークデバイス構成データを検証するために行われる。有利なことに、チェックサムにより、ピアは設定が完了したことを知ることができるが、これは現実世界の問題である。
【0078】
図6Bの例では、フローチャート600は、ネットワークデバイス構成を保存するモジュール614に続く。特定の実装形態では、DNSレコードは保存する前に復号化される。
【0079】
図6Bの例では、フローチャート600は、ネットワークデバイス構成の変更をチェックするモジュール616に続く。特定の実装形態では、チェックは、明示的な命令によって、定期的に、または手動でトリガすることができる。
【0080】
図6Bの例では、フローチャート600は決定ポイント618に進み、ネットワークデバイス構成への変更が検出されたかどうかが判定される。ネットワーク構成設定への変更が検出されたと判定された場合(618-はい)、フローチャート600はモジュール612に戻り、そこから継続する。一方、ネットワークデバイス構成の変更が検出されなかったと判定された場合(618-いいえ)、フローチャート600は、ネットワークデバイス構成の変更が検出されるまでモジュール616および決定ポイント618を繰り返す。
【0081】
図6Cの例では、フローチャート600は、(モジュール610から)モジュール620へと続き、遠隔測定データを収集する。特定の実装形態では、遠隔測定データは定期的に収集される。周期は必要に応じて異なる場合があるが、特定の実装形態では、15分は十分に短いと見なされる。
【0082】
図6Cの例では、フローチャート600は、遠隔測定データを有するDNSレコードを生成するモジュール622に続く。
【0083】
図6Cの例では、フローチャート600は、モジュール624に続き、動的DNS更新を行って、遠隔測定データをネットワークデバイス構成伝搬サービスに送る。特定の実装形態では、ネットワークデバイス構成伝搬サービスは、DNSレコードを復号化し、その中に符号化された遠隔測定データを保存する。次に、フローチャート600は、モジュール620に戻り、前述のように続き、それにより、モジュール620、622、および624を含むループを作成する。
【0084】
図7は、複数の伝搬コントローラを備えたネットワークデバイス構成伝搬システムの例の線図700を示している。線図700は、コントローラ702、コントローラ704、ピア706、およびピア708を含む。コントローラ702、704は、1つ以上のDNSサーバおよびDNSゾーンリポジトリを含む。(図示されていないが、これらのコンポーネントの説明については図1図6を参照されたい。)ピア706、708は、DNSサーバまたはDNSクライアントなどのDNSエンジンを含む。(図示されていないが、これらのコンポーネントの説明については図1図6を参照されたい。)ピアは、無関係のDNSドメインにおいて構成されても、または構成されなくてもよい。線図700は、ネットワークデバイス構成伝搬サービスが2つ以上のコントローラによって制御され得ることを示すことを意図している。
【0085】
図7の例では、コントローラ702、704は、ネットワークデバイス構成を複数のピアに伝搬するのに好適なDNSゾーンリポジトリおよび関連エンジンを表すことを意図している。図7の例では、コントローラ702は、ピア706、708からの書き込みアクセス、およびピア708との読み取りアクセスに関与し、一方、コントローラ704は、ピア706、708との読み取りアクセスに関与する。これらのアクセスは、説明のためのみを目的としており、コントローラ704は、ピアからの読み取りアクセスのみに制限されていると特徴付けられる必要はない。しかしながら、許可されるアクセスの形態を制限することもできる。例えば、ピア706は、コントローラ702への書き込みアクセスおよびコントローラ704への読み取りアクセスのみをすることができ、一方、ピア708は、コントローラ704からの読み取りのみを行うことができるが、コントローラ702からの読み取りおよびそれへの書き込みを行うことができる。
【0086】
有利なことに、ピア706、708は、コントローラ702、704のDNSサービスへの共有アクセスを介して応答ポリシーレコード(DNS RPZレコード)を交換することができ、したがって情報を分散するための集中システムを必要としない。
【0087】
図8は、ファイアウォールを備えた顧客によって使用されるポリシー伝搬システムの例の線図800を示している。線図800は、マスタシステム802および顧客システム804を含む。図8の例において、マスタシステム802は、この特定の例では、ポリシーを伝搬するサービス(またはコントローラ)を表すことを意図している。
【0088】
図800では、マスタシステム802は、ポリシーサブシステム806、ポリシーからDNSへの変換エンジン808、およびマスタDNSサービス810を含む。図8の例において、ポリシーサブシステム806は、ネットワークフィルタ処理ポリシー(ネットワークファイアウォールによってフィルタ処理可能なドメイン名およびIPネットワークのリストなど)を生成するエンジンおよびデータストアを表すことを意図している。ポリシーからDNSへの変換エンジン808は、ポリシーを、DNSレコードタイプに限定される必要のないDNSレコード、いくつかの例を挙げると、DNS RPZレコード、テキストレコード、符号化された文字列データレコードなどに変換する。DNSレコードは、マスタDNSサービス810によって提供されるDNSゾーンにロードされる。
【0089】
図800では、顧客システム804は、ファイアウォール812-1~ファイアウォール812-n(まとめて、ファイアウォール812)および顧客DNSサービス814を含む。ファイアウォール812は、それぞれのネットワークノードに関連付けられている。特定の実装形態では、ファイアウォールはDNS要求をする。例えば、ファイアウォール812は、DNSゾーン転送要求をマスタDNSサービス810に発行して、ネットワークフィルタ処理ポリシーを含む1つ以上のDNSゾーンを取得し、ファイアウォール812を通過するネットワークトラフィックにネットワークポリシーを適用することができる。ファイアウォールは、顧客DNSサービス814に動的DNS更新を発行する。例えば、ファイアウォール812は、ドメイン名またはIPサブネットを表すDNSレコードを送信して、ネットワークフィルタ処理ポリシーを強化または修正することができる。他のファイアウォール812は、これらのDNSレコードを取得して、それらをポリシーに適用することができる。有利なことに、図8を参照して記載したシステムは、図7を参照して記載したように複数のピアを備え、図1図6を参照して記載したようにネットワーク構成システムを備えた複数のコントローラにわたって適用することができる。
【0090】
単一のエンティティが複数のコントローラを制御し得ることに注意されたい。例えば、規制により、異なる権限に対してサービスブロックが必要になる場合がある。この例では、複数のコントローラを用いてサービスを実装することができ、コントローラの各々は、異なる権限に関連付けられている。異なるエンティティはまた、複数の異なるコントローラを制御し得る。例えば、第1のエンティティは、ネットワークデバイス構成伝搬に第1のコントローラを使用し、第2のエンティティは、遠隔測定に第2のコントローラを使用し、第3のエンティティは、広告サイトポリシーに第3のコントローラを使用することができる。有利なことに、異なる当事者が協力して、関係するさまざまなエンティティに許容可能であるものだけを共有することができる。例えば、プライベートエンティティは、それらのブラックリストまたはホワイトリストを公開したくない場合がある。
【0091】
図9は、本明細書に記載されているように、伝搬が起こり得る構造の例の線図900を示している。線図900は、ルートノード902、DNSサーバ904-1~DNSサーバ904-n(まとめて、DNSサーバ904)、DNSサーバ906、およびDNSクライアント908-1~DNSクライアント908-n(まとめて、DNSクライアント908)を含む。ルートノード902は、DNSゾーンのルートノードデータを表すことを意図している。ルートノードデータは、多くのサーバ(図示せず)にわたって複製することができる。DNSサーバ904は、ルートノードデータを他のDNSサーバまたはクライアントに提供するサーバである。理論的には、DNSサーバ904とDNSサーバ906の間には、DNSクライアント908のみを子とするエッジサーバを表すことを意図した任意の数のサーバが存在し得る。DNSサーバ906は、有効期限の日付コードキャッシュを用いて実装することができる。
【0092】
有利なことに、伝搬サービスはALTルート(rootid)へのパスを提供することができ、これは、マスタシステムまたはコントローラ上に存在する完全に別個のツリーである。TSIGはアクセス制御用に設計されていないが、特定の実装形態では、マスタシステムまたはコントローラはアクセス制御およびデータの認証の両方にTSIGを使用する(後者はTSIGの設計目的である)。
【0093】
本明細書で提供されたこれらの例および他の例は、説明を意図しているが、記載された実装形態を必ずしも限定するものではない。本明細書で使用される場合、「実装形態」という用語は、限定ではなく、例として説明する役割を果たす実装形態を意味する。前文および図面で記載した技術は、状況に応じて代替の実装を作成するためにうまく組み合わせることができる。
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7
図8
図9