図1を参照すると、ネットワーク14、16、18(例えば、論理的または物理的なネットワーク構成であり得る1つ以上のネットワーク)に結合された一連のネットワークデバイス9間のネットワークトラフィック7の配信(例えばコンテンツ配信)を容易にするための通信ネットワークシステム6が示される。以下でさらに説明するようなネットワークインターフェース34、36を参照する、エニーキャストサービス配信(anycast service distribution)及びパートナー固有の相互接続のネットワーク14、16、18(例えば、インターネット全体(Internet-wide))の組み合わせを使用して、クライアントネットワークトラフィック7(例えば、限定されないが、DNSリゾルバなどのネットワークデバイス9から受信または送信されるトラフィック7)を扱うための一般的なアプローチについて説明する。ネットワークデバイス9は、ソーストラフィック30を生成するソースデバイス8を含むことができ、これは応答側サーバ10に直接通信されることができ、および/またはソーストラフィック30を応答側サーバ12に通信するためにソースデバイス8に代わって動作する要求側サーバ12を介して応答側サーバ10に向けられることにより間接的に通信されることができる。一般に、ソーストラフィック30は、ネットワーク要求トラフィック30(例えば、クエリ)と呼ばれ、通信ネットワーク14、16、18を介して応答側サーバ10に到達し、最終的には、このサーバがネットワークトラフィック要求30の処理及び適切なネットワークトラフィック応答32(たとえば、クエリ応答)の生成を担当する。通信ネットワークシステム6は、さらに以下に説明するように、クライアントクエリ(例えば、ネットワークトラフィック7)およびデータ収集システム50(図2を参照)を使用する関連付けられたデータ収集に応答する実用的な事項を容易にするサービスインフラストラクチャで構成されると認識される。特に、データ収集システム50によって実行されるデータ分析は、データ収集システム50のデータ収集機能によって供給されるトラフィックデータ38(例えば、ペアリングデータ38−図1を参照)で提供される。ペアリングデータ38のデータ分析およびその後の動的生成は、以下にさらに説明するように、通信ネットワークシステム6(たとえば、データ管理システム52−図2を参照)によって使用され、ペアリングデータ38に関連付けられる1つまたは複数の優先順位付け基準39を介してインバウンドネットワークトラフィック7(例えば、限定されないが、DNSクエリなどの要求)の自動/手動管理のための見識(insight)及び機会を提供する。システム50、52は、トレーサビリティシステム53と呼ぶことができ、必要に応じて別個のサーバ55および/または応答側サーバ10でホストすることができると認識される。
要求側サーバ12の例は、限定されないが:重要な依存するエンドユーザコミュニティを有するリゾルバトラフィックのソースであり得るパブリックDNSリゾルバオペレータ(例えばGoogle(登録商標)のパブリックDNS);ソーシャルメディアサービスを供給するアプリケーションサービスプロバイダ(例えばFacebook(登録商標));ダウンストリームWebプロパティに関するHTTP層セッション終了を提供するアプリケーションサービスプロバイダ(例えばCloudflare(登録商標));およびWebベースのAPIとユーザインターフェースとを利用するインターネットを介してエンドユーザにサービスを提供するアプリケーションサービスプロバイダ;などのサーバを含むことができる。要求側サーバ12の他の例は、限定されないが、IoTデバイスなどのネットワークソースデバイス8に結合されるサーバ(例えばDNSリゾルバ)を操作したアクセスプロバイダ(Comcast(登録商標)などのインターネットサービスプロバイダとも呼ばれる)によって操作されるこれら;およびその顧客によって操作されるコネクティドソースデバイス(connected source device)8を含むテナント環境などのネットワークソースデバイス8に結合されるサーバを操作したクラウドプロバイダ(例えば、Amazon(登録商標)、Digital Ocean(登録商標));などのサーバを含むことができる。応答側サーバ10および/または応答側ネットワーク18の他の部分(例えば1つまたは複数のネットワークデバイス22)のネットワークトラフィック7の受信および/または処理能力(例えばトラフィック対応および処理容量)は、経験するネットワークトラフィック7の量の予期しないおよび定期的な急増のため、負担になり得る。ネットワークトラフィック7の予期しない急増の一例は、一般に応答側ネットワーク18および/または特定の応答側サーバ10に向けられたサービス拒否攻撃が原因である可能性がある。予期しない急増は、適切なネットワーク応答トラフィック32を受信、処理、および受信したネットワーク要求トラフィック30に送信するためのサービス品質(例えば応答時間)に影響を与える可能性がある。これらの状況では、応答側機器の影響を受ける部分が、受信したネットワークトラフィック7に優先順位を付けることにより負荷リソース容量を軽減することができ、それによって応答側機器のリソース容量の最適化を促進することが好ましい。例えば、DNS環境では、受信されたDNSクエリ30に対する応答32の許容可能なタイミングは、約15ミリ秒以下であり得る。
通信ネットワークシステム6の通信ネットワークは、1つのネットワークデバイス8から他にコンテンツデータ41(すなわち、ネットワーク要求トラフィック30、ネットワーク応答トラフィック32−例えば、対応する応答データ32に関連付けられ/組み合わせられたクエリ/要求データ30を含む表形式データ41として)を転送するのに適した1つまたは複数のネットワーク14、16、18を含むことができる。また、サーバ10、12が最終的な顧客(例えば、ネットワークソースデバイス8)に関してコンテンツデータ41を利用し、したがってサービスすることに関して使用される特定のネットワーク14、16、18に関連するため、コンテンツデータ41は、分析データ60として提供されるペアリングデータ38および優先順位付けデータ39と関連付けられ得ることが認識される。応答側ネットワーク18でホストされるペアリングデータ38および優先順位付けデータ39は、マスター分析データ60と呼ばれ得る。要求側ネットワーク14でホストされるペアリングデータ38aおよび優先順位付けデータ39aは、コピー分析データ60aがマスター分析データ60aのサブセットであり得ることを認識して、コピー分析データ60aと呼ばれ得る。
好ましくは、通信ネットワーク11は、パブリックネットワーク16(例えば、インターネット)などの広域ネットワークと、例えば要求側ネットワーク14および応答側ネットワーク18などの1つまたは複数のローカルエリアネットワークとを含む。ネットワーク14、16、18は、ネットワークデバイス9の任意のペアの間に構成された所望の単一または複数のネットワークであり得ると認識される。例えば、要求側サーバ12および応答側サーバ10は、同じまたは異なるネットワーク14、16、18(すなわち、1つまたは複数)上にあり得る。さらに、ネットワーク14、16、18は、地上にある(land-based)ネットワークタイプである必要はないが、代わりに、通信の柔軟性を高めるために、無線ネットワークタイプおよび/または地上にあるネットワークタイプと無線ネットワークタイプとのハイブリッドを含むことができる。例えば、通信ネットワーク14、16、18はまた、Bluetooth(登録商標)関連要素を含むことができる。ネットワークデバイス9は、クライアント−サーバ関係でネットワーク14、16、18を介して互いに通信できると認識される。例えば、要求側ネットワーク14は、要求側サーバ12を操作するエンティティによって所有され、コンピュータまたは他の電子デバイス(たとえば、デバイス8、12)を一緒に接続するために使用されるネットワークコンポーネントとして機能する1つ又は複数のローカルネットワークデバイス20(例えば、ルータ、ハブ、スイッチ)を含むことができる。その結果、それらは、ファイルまたはリソース(たとえば、ネットワークトラフィック要求30および応答32)を互いに交換することができる。例えば、応答側ネットワーク18は、応答側サーバ10を操作するエンティティによって所有され、コンピュータまたは他の電子デバイス(例えば、デバイス10、データベースなどのストレージ24)を一緒に接続するために使用されるネットワーク構成要素として機能する1つまたは複数のローカルネットワークデバイス22(例えばルーター、ハブ、スイッチ)を含むことができる。その結果、それらは、互いにファイルまたはリソース(すなわち、ネットワークトラフィックの要求30および応答32)を交換することができる。例えば、パブリックネットワーク16は、広域ネットワーク16(例えばインターネット)を操作する1つまたは複数のエンティティによって所有され、コンピュータまたは他の電子デバイス(例えば、20、22)を一緒に接続するために使用されるネットワーク構成要素として機能する1つまたは複数のグローバルネットワークデバイス20(例えばルーター、ハブ、スイッチ)を含むことができる。その結果、それらは、広域ネットワーク16に結合される他のネットワーク14、18を用いてファイルまたはリソース(すなわち、ネットワークトラフィックの要求30および応答32)を交換することができる。したがって、1つまたは複数のローカルネットワークデバイス20は、要求側ネットワーク14の周辺/境界上にあることができ、ネットワーク14、16間のネットワークトラフィック7のためのブリッジとして使用されると認識される。したがって、ローカルネットワークデバイス22のうちの1つまたは複数は、応答側ネットワーク18の周辺/境界上にあることができ、ネットワーク16、18間のネットワークトラフィック7のためのブリッジとして使用され得ると認識される。
例えば、ネットワーク16は、ネットワーク16、18間のブリッジデバイスとして機能するネットワークデバイス21を含むサブネットワーク16aを有することができる。したがって、応答側サーバ10に関連付けられたトレーサビリティシステム51は、サブネットワーク16a内のこれらのデバイス21の動作を介して、あるレベルの制御/提案(たとえば、優先コマンド40−図2を参照)を実装することができる。同様に、ネットワーク18は、ネットワーク16、18間のブリッジデバイスとして機能するネットワークデバイス22を含むサブネットワーク18aを有することができる。したがって、応答側サーバ10に関連するトレーサビリティシステム51は、サブネットワーク18a内のこれらのデバイス22の動作を介して、あるレベルの制御/提案(例えば、優先コマンド40−図2を参照)を実装することができる。
ソース/要求トラフィック30および応答トラフィック32は、一般的なネットワークトラフィック7の形態であると認識されている。例えば、ソース/要求トラフィック30は、ローカル要求側ネットワーク14を介して送信されるネットワークトラフィックと呼ぶことができ、応答トラフィック32は、ローカル要求側ネットワーク14を介して受信されるネットワークトラフィックと呼ぶことができる。応答トラフィック32は、ローカル応答側ネットワーク18を介して送信されるネットワークトラフィックと呼ぶことができ、要求トラフィック30は、ローカル応答側ネットワーク18を介して受信されるネットワークトラフィックと呼ぶことができる。広域ネットワーク16(例えば、パブリックネットワークまたはインターネット)を介して通信された(送信および受信の両方−事実上1つのネットワーク14、18から別のネットワークに転送する)要求/応答トラフィック30、32は、一般的なネットワークトラフィック7と呼ぶことができる。要求/応答トラフィック30、32のデータは、ネットワーク応答32のトラフィックとしてソースデバイス8に後で送り返すための対応するネットワーク応答30のデータをコンテンツデータ41から検索するために受信したネットワーク要求30のデータがコンテンツデータ41(データベースなど)のイントロゲート(interrogate)/照合(consult)に使用されるように、関連する要求/応答コンテンツとしてコンテンツデータ41に含まれると認識される。
通信ネットワークシステム6の一例は、コンテンツデータ41から検索し、ネットワーク14、16、18を介して適切な応答32のデータを送信するためにクエリ30のデータを用いてコンテンツデータ41を照合すると、要求側サーバ12がそれらのローカルネットワーク(たとえば、要求側ネットワーク14)上の全てのクライアント(たとえば、ソースデバイス8などのエンドユーザ)のDNS要求30を管理するためのローカルサーバとして機能するDNSリゾルバサーバであるように、ドメインネームサーバ(DNS)クエリ30に応答32を提供するための権限のあるネームサーバ(authoritative name server)10として機能する応答側サーバ10であり得る。この例では、権限のあるネームサーバ10は、DNSデータレコード情報をコンテンツデータ41に格納できると認識する−例えば、データベース24内の電子メール配信用のIPアドレス及びメールエクスチェンジャ。再帰/リゾルバネームサーバ12がDNSツリーを再帰して要求されたドメインのレコードを格納する権限のあるネームサーバに到達するため、再帰/リゾルバネームサーバ12は権限のあるサーバ10とエンドユーザデバイス8(Webブラウザなど)との間の「仲介者(middlemen)」と呼ぶことができる。コンテンツデータ41のドメインネーム空間は、ツリーの各ノードまたはリーフがドメインネームに関連付けられた情報を保持するラベルおよびゼロ以上のリソースレコード(RR)を有するように、ツリーデータ構造からなることができる。ドメインネーム自体は、多数の親子ラベルからなることができる。各子ラベルは、ドットで区切られた右側の親ノードのネームと連結される。
したがって、コンテンツデータ41の一例は、関連付けられたインターネットプロトコル(IP)アドレス空間を備えたドメインネーム階層の形態の一連の対のクエリ30データおよび応答32のデータである。コンテンツデータ41に/として格納されるドメインネームシステムは、ドメインネーム階層を維持し、それとアドレス空間との間の変換サービスを提供することを含むことができる。コンテンツデータ41は、ドメインのDNSレコードを格納することができる。これにより、コンテンツデータ41を使用するネットワークサーバ(例えば応答側サーバ10)が、そのコンテンツデータ41(例えばデータベース)に対するクエリ30のデータに回答/応答32のデータを提供することが可能になる。
例えば、コンテンツデータ41は、Start of Authority(SOA)、IPアドレス(AおよびAAAA)、SMTPメールエクスチェンジャ(MX)、ネームサーバ(NS)、逆DNSルックアップ(PTR)のポインタ、およびドメインネーム(例えばDNS)のデータベースに格納されたレコードエイリアス(CNAME)を含むことができる。コンテンツデータ41はまた、DNSSECレコードなどの自動ルックアップ、または責任者(RP)レコードなどの人間のクエリのいずれかのための他のタイプのデータのレコードを格納するために使用され得る。コンテンツデータ41はまた、リアルタイムブラックホールリスト(RBL)を格納するために使用され得る。例えば、コンテンツデータ41は、構造化テキストファイル、ゾーンファイルに格納され得るが、必要に応じて他のデータベースシステムは使用され得る。
ネットワークトラフィック7は、データ交換モデルまたはパケット交換モデルとして実装され得る。一般に、クエリ30は、データベース24からの情報の要求であり得る。クエリ30を提示するためにソースデバイス8によって使用されるいくつかの異なる方法があり得る。例えば:a)システムが選択するパラメータのリストを表示するようにメニューからパラメータを選択すること;b)システムが空のレコードを提示し、クエリを定義するフィールド及び値を指定させるような例示によるクエリ(query by example:QBE)30;および/またはシステムが特別なクエリ言語で書かれる必要がある様式化されたクエリの形式で情報を要求する必要があるようなクエリ言語。記載された要求応答、または要求応答、メッセージ交換は、デバイス8およびサーバ10、12によって使用され、第1のコンピュータが一部のデータに関して要求30を送信し第2のコンピュータが要求30に応答32するネットワーク14、16、18を介して相互に通信する。たとえばWebページの閲覧など、完全なメッセージが送信されるまで、一連のこのようなやりとりが存在する可能性がある。したがって、記載された要求30−応答32のメッセージ交換パターンは、要求側(たとえば、ソースデバイス8)が要求メッセージ30を、要求を受信して処理し最終的に応答メッセージ32を返す応答側システム(たとえば、応答側サーバ10または協力して動作する要求側/応答側サーバ12、10)に送信する方法と呼ぶことができる。要求30−応答32のメッセージングは、クライアント及びサーバの関係として、2つのアプリケーション(必須のネットワークデバイス9で実行)がチャネルを介して(すなわち、1つまたは複数のネットワーク14、16、18を介して)互いに双方向の会話を行えるようにするメッセージングパターンを提供する。
簡単にするために、このクライアント及びサーバの関係は、HTTP経由のWebサービス呼び出しなど、純粋に同期的な方法で典型的に実装され得る。これは、接続を開いたままにして、応答が配信されるか又はタイムアウト期間が経過するまで待機したままにする。しかし、要求30−応答32は、不明なときに返される応答を用いて、非同期で実装され得る。これは、遅い集計、時間のかかる機能、または応答が作成され得て配信され得る前に人間のワークフローが実行される必要があるエンタープライズアプリケーション統合(EAI)実装において一般的である。
再帰的なDNSクエリは、限定されないが、ドメインネームシステムの(DNS)要求側サーバ12が、可能であれば、キャッシュからのリソースレコード(例えば、IPアドレス)で応答するユニフォームリソースロケータ(URL)をたどるプロセスを含む理由でアプリケーションによって使用されるDNSリソースレコードの要求である。要求側サーバ12のキャッシュが要求時に要求されたリソースレコードを含む場合、要求側サーバ12は要求32を1つまたは複数の応答側サーバ10に送信する。各応答側サーバ10は、肯定的または否定的な応答で応答することができ、または要求側が要求を送信すべき異なる応答側サーバ10のネームを要求側サーバ12に示す照会(referral)で応答することができる。このプロセスは、要求側サーバ12が応答を取得するまで、または障害状態が明らかになるまで続く。要求側サーバ12が応答側サーバ10から受信した全ての応答は、概して、要求側サーバ12によってローカルキャッシュに格納される。しかし、1つずつ応答を格納することは、応答側サーバ10によって直接格納/アクセスされるコンテンツデータ41の完全なコンテンツのサブセットを含むものとしてのみローカルキャッシュを提供できることが認識される。
DNSベースの例に関して、クエリ30および応答32は、両方とも同じフォーマットを有する2つのタイプのDNSメッセージ、すなわちクエリ30および応答32を使用するDNSプロトコルに従うパケットベースの通信であり得る。DNSメッセージの正確な形式は元々RFC 1035で指定され、メッセージ形式に対する明確化及び拡張は、インターネット技術特別調査委員会(P. Mockapetris、「DOMAIN NAMES-IMPLEMENTATION AND SPECIFICATION」、RFC 1035、1987年11月、https://www.ietf.0rg/rfc/rfc1035.txt参照)によるRFCシリーズにおいて公開された後続の技術文書において指定されている。各メッセージは、ヘッダ及びセクション:質問、回答、権限、追加からなることができる。ヘッダは、それに続くメッセージのセクションに関連する様々なパラメータを含む。一般に、ヘッダセクションは、次のフィールド:クエリID、フラグ、質問セクションのエントリ数、回答セクションのエントリ数、権限セクションのエントリ数、追加セクションのエントリ数を含む。クエリIDフィールドは、要求側サーバ12によって応答をクエリと調和するために使用され得る。フラグフィールドは、いくつかのサブフィールドからなることができる。第1は、メッセージがクエリ(0)であるか応答(1)であるかを示す単一ビット(「QR」)であり得る。第2のサブフィールドは4ビットからなることができる。これらのビットは、DNSメッセージ(「OPCODE」)の目的を説明する値を形成する。これは、一般に1で、要求側サーバ12と応答側サーバ10の間のクエリトラフィックの「クエリ」を意味するが、他の値は他の目的のために存在する。単一ビットのサブフィールド(「AA」)は、DNSサーバ10からの応答の応答セクションのコンテンツが、応答を受信した要求側サーバ12によって権限があるとみなされるべきかどうかを示すことができる。別の単一ビットのサブフィールドは、クライアント(デバイス8、12)が再帰クエリ(「RD」)を送信するかどうかを示すことができる。次の単一ビットのサブフィールドは、全てのDNSサーバがこのタスクを実行するように構成されるわけではないため、応答するDNSサーバ10が再帰(「RA」)をサポートするかどうかを示すことができる。別のサブフィールドは、要求30が何らかの理由(「TC」)で切り捨てられたかどうかを示すことができ、4ビットのサブフィールドはステータスを示す。質問セクションは、ドメインネーム(「QNAME」)、レコードのタイプ(A、AAAA、MX、TXTなど)(「QTYPE」)、およびインターネット上での使用のために決定される(resolved)ネームが通常INであるネームのクラス(「QCLASS」)を含むことができる。ドメインネームは、連結された個別のラベルに分割され得る:各ラベルは、ラベル自体によって続くそのラベルの長さとして、または同じメッセージ内のドメインネームの別のエンコードへのポインタとして、DNSメッセージのワイヤー形式でエンコードされる。メカニズムは、DNSメッセージのサイズの削減に役立つラベル圧縮として知られる。回答セクションは、質問セクションで説明されているクエリに関連するリソースレコードを含むことができる。単一のドメインネームは、それに関連付けられた同じまたは異なるタイプの複数のリソースレコードを有することができる。権限および追加セクションは、応答側サーバ10から要求側サーバ12に返される応答のタイプに関連する追加情報を含む。DNSメッセージがDNSプロトコルを使用して通信するサーバによって構築および解釈されるメカニズムは、元々RFC 1034で指定されていた(P. Mockapetris、「DOMAIN NAMES-CONCEPTS AND FACILITIES」、RFC 1034、1987年11月、https:// www.ietf.org/rfc/rfc1034.txt参照)。明確化および拡張は、インターネット技術特別調査委員会によってRFCシリーズで公開された後続の技術文書で指定されている。要求30の一例は、要求側サーバ12からの質問に対する回答を含む応答を供給することができるほど十分に信頼できるデータをローカルに含むわけではないサーバ10から情報を返すために使用される再帰的要求であり得る。例えば、DNSサーバ10は、照会を介してのローカル情報がないという反復クエリ30に応答することができる。照会は、ドメインネーム空間に対して権限のある別のDNSサーバ10と、ドメイン空間のより低いレベルおよびより低いレベルのDNSサーバとを指す。照会は、照会されたサイトに対して権限のある適切なDNSサーバ10が見つかるまで、またはエラーが返されるか若しくはタイムアウトに達するまで続行することができる。ルートDNSのレベルでは、全ての権限のあるサーバ10とその可用性は、インターネットの機能にとって重要である。要求サーバ12は、要求32を応答サーバ10に送信するが、応答を受信しない。例えば、それらの間のネットワーク22、21、20の容量制限のために要求または応答がドロップ(drop)されたため、異なるが同等の応答側サーバ10を概して試すことができる。要求側サーバ12と応答側サーバ10の一般的なメカニズム。
再び図1を参照すると、応答側サーバ10と要求側サーバ12との間のマルチインターフェース構成が示され、その結果、プライベートサービスインターフェース34および別個のパブリックサービスインターフェース36が応答側サーバ10と要求側サーバ12との間に提供される。プライベートサービスインターフェース34は、要求トラフィック30の指定されたソース(例えば、ソースデバイス8)のための応答側サーバ10と所定の要求側サーバ10との間の通信ネットワーク14、16、18上の直接的な相互接続としてプロビジョニングされる。直接的な相互接続は、事前に定められたソース(例えば、ソースデバイス8)からアドレス指定されたネットワーククエリ要求トラフィック30を受信するためのプライベートサービスインターフェース34を提供し、その結果、直接的な相互接続を有する事前に定められたソースの定義されたペアリングデータ38は、ネットワークトラフィックアルマナックとも呼ばれる、ネットワークトラフィック7のソース接続関係を含むペアリングデータ38を含むデータベース24に格納される。例えば、ネットワークトラフィックアルマナックと総称されるペアリングデータ38のセットは、事実上、ネットワークトラフィック7のネットワーク14、16、18上の識別されたソースアドレスに関連する事前に定められたネットワークソースデバイス(例えば、ソースデバイス8、要求側サーバ12)から(データ収集システム50によって促進されるように)受信した過去のネットワークトラフィック7のデータの結果の信号分析(すなわち、ペアリングデータ38)である。インターフェース34、36は、ネットワークトラフィック7及び必要に応じてネットワークトラフィック7の他の識別されたヘッダおよび/またはペイロードパラメータを応答側サーバ10によって受信するために使用される。次に、ペアリングデータ38は、ネットワークトラフィック7がどのようにパターン化するかの予測(例えば、要求タイプ、ソースアドレス、指定されたインターフェース34、36など)が、(ペアリングデータ38の常駐として)過去に特定された動作に基づいて将来進むことになるように、後で受信されるネットワークトラフィック7の外挿ツールとしてのデータ管理システム52(図2を参照)によって使用される。データ管理システム52は、インターフェース34、36に到着するネットワークトラフィック7のうちのどれが正常または異常に分類され得るかを突き止める又はそうでなければ識別するために、ネットワークトラフィックアルマナックのペアリングデータ38をリアルタイムで問い合わせるように構成される。ペアリングデータ38は、本質的に、ネットワークトラフィック7の正常な分類が何であるかの予測、および/またはネットワークトラフィック7の正常な分類、すなわちネットワークトラフィック7の異常な分類からの逸脱の予測である。したがって、ペアリングデータ38は、正常なネットワークトラフィック7(すなわち、指定された要求側サーバ12のネットワークトラフィック7に割り当てられた指定されたプライベートネットワークインターフェース34に到着する事前に定められた要求側サーバ12からのネットワークトラフィック7などであるがこれに限定されない所望のネットワークトラフィック7)を定義するネットワークトラフィックパラメータを含むことができる。したがって、ペアリングデータ38は、異常なネットワークトラフィック7(すなわち、指定された要求側サーバ12のネットワークトラフィック7に割り当てられたプライベートネットワークインターフェース34ではなく、指定されていないパブリックネットワークインターフェース36に到着する事前に定められた要求側サーバ12からのネットワークトラフィック7などであるがこれに限定されない望ましくないネットワークトラフィック7)を定義するネットワークトラフィックパラメータを含むことができる。したがって、ペアリングデータ38は、正常なネットワークトラフィック7(すなわち、指定された要求側サーバ12のネットワークトラフィック7に割り当てられた指定されたプライベートネットワークインターフェース34に到着する事前に定められた要求側サーバ12からのネットワークトラフィック7などであるがこれに限定されない望ましいネットワークトラフィック7)を定義するネットワークトラフィックパラメータと、異常なネットワークトラフィック7(すなわち、指定された要求側サーバ12のネットワークトラフィック7に割り当てられたプライベートネットワークインターフェース34ではなく、指定されていないパブリックネットワークインターフェース36に到着する事前に定められた要求側サーバ12からのネットワークトラフィック7などであるがこれに限定されない望ましくないネットワークトラフィック7)を定義するネットワークトラフィックパラメータと、を含むことができる。したがって、ネットワークトラフィックアルマナック内のペアリングデータ38は、ネットワークトラフィックアルマナックとしてストレージ24に格納されるペアリングデータ38を有する選択されたインターフェース34、36上で受信したネットワークトラフィック7をリアルタイムで比較することによってデータ管理システム52によって識別されるように、正常および/または異常なネットワークトラフィック7がどのように見えるかの予測とみなされ得る。記憶されたペアリングデータ38をネットワークトラフィックベースラインとして使用して、データ管理システム52は、異常を識別し、ネットワークトラフィック7に対して対象を絞ったフォレンジック分析(forensic analysis)を実行し、緩和を導き出すことができる。
パブリックサービスインターフェース36は、事前に定められたソース8および他のソースからアドレス指定されたネットワーク要求トラフィック30を受信するためにプロビジョニングされ、パブリックサービスインターフェース36はプライベートサービスインターフェース34とは別個である。定められたペアリングデータ38のストレージは、ネットワークトラフィックアルマナックを提供する。これにより、事前に定められたソース8からプライベートサービスインターフェース34を経由するネットワーク要求トラフィック30は「クリーン(clean)」とみなされる一方で、事前に定められたソース8からのパブリックサービスインターフェース36を経由するネットワーク要求トラフィック30は、「疑わしい(suspect)」とみなされ得るか、または他の方法で危険にさらされているとみなされ得る。以下でさらに説明するように、応答側サーバ10(または応答側サーバ10によって参照されるように応答側サーバ10に代わって動作するサービス)は、パブリックサービスインターフェース36を介して受信した事前に定められたソースからの任意のネットワーク要求トラフィック30上の優先順位付けの行動の基礎となる定義されたペアリングデータ38の情報を利用/照合する。これにより、定義されたペアリングデータ38のセットは、パートナー要求側サーバ12/応答側サーバ10のネットワーク14に関するネットワークトラフィックのアルマナックと呼ばれ得る。
分離性に関して、プライベートサービスインターフェース34は、パブリックサービスインターフェース36と比較して、ネットワーク14、16、18上の別個の専用パスとして定義され、これにより:(a)信頼できる既知の発信元(すなわち、プライベートサービスインターフェース34に接続された要求側サーバ12)からのネットワーク要求トラフィック30のみなされたクリーンフローを識別する能力と、(b)プライベートサービスインターフェース34に起因する専用のネットワーク容量を有するネットワーク要求トラフィック30のフローに対応する能力と、のいずれかまたは両方を容易にする。例えば、パートナーサーバ12/ネットワーク14との直接的な相互接続は、直接的な相互接続が要求側サーバ12自体におよび/またはパートナーネットワーク14内の指定された場所に結合される場合、(a)および(b)の両方を達成することができる。これにより、応答側サーバ10は、プライベートサービスインターフェース34がクリーンなネットワークトラフィック7のみを伝送することを確信する(その場合、(a)は、専用サービスインターフェースが(b)を実現したという事実を達成する)。代替的には、パートナーサーバ12/ネットワーク14と応答側サーバ10の間に仮想相互接続(たとえば、VPNのようなトンネル)を構築することは、(a)を達成できるが、たとえば、(VPN)トラフィックは、他のネットワークトラフィックに使用されるのと同じネットワーク回路で伝送される場合(他のトラフィックがVPNトラフィックを圧倒する可能性がある場合)、(b)に関して効果的ではない場合がある。代替的には、専用の応答側サーバ10をパートナーのネットワーク14に配備することは、クリーンな要求トラフィック30のみを受信して(a)を達成する配備が与えられた場合に、(a)および(b)を達成でき、この場合、応答側サーバ10全体が(b)を満足できるパートナーの使用に専念することになる。
プライベートネットワークインターフェース34の1つの例示的なタイプは、応答側サーバ10と要求側サーバ12との間の物理的相互接続(例えば、直接層2または層3の相互接続)として構成された直接的な相互接続であり得る。プライベートネットワークインターフェース34のさらなるタイプは、応答側サーバ10と要求側サーバ12との間のネットワーク14、16、18上の論理ネットワーク接続として構成された直接的な相互接続であり得る。
したがって、応答側サーバ10のデータストア24から要求側サーバ12のキャッシュに新しいデータレコードを移動する目的(例えば、権限データストア24からDNSリゾルバのキャッシュ12に新しいリソースレコードセットを移動するDNS固有の目的)を考慮するとき、サーバ10および12の間のネットワークトラフィック7の転送メカニズム(たとえば、汎用(IP層)相互接続)をサーバ10、12間で割り当て/プロビジョニングされた事前に定められたプライベートネットワークインターフェース34として実装するための代替/実施形態がいくつかあり得る。例えば、ネットワーク14、16、18間の直接層2の相互接続34は、ピアリング関係の一部、例えば、直接的な相互接続、ピアリングファブリック(peering fabrics)またはハイパーバイザーレベル(hypervisor-level)のインターフェースでの相互存在としてプロビジョニングされ得る。直接的な相互接続34の一般的な性質は、結果として生じるチャネル(すなわち、プライベートネットワークインターフェース34)が攻撃トラフィックソース12からの汚染を受けないようにするために、いくつかのアーキテクチャの考慮を使用できることが認識される。
さらに、プライベートネットワークインターフェース34に対するこの一般的な物理アプローチのDNS固有の改良は、権限のあるサービス(すなわち、応答側サーバ10)のエニーキャスト展開(anycast deployment)に使用されるのと同じアプローチに従うことができる。単一の境界に対する接続、内部で接続されたサービス配信ネットワークを追加するのではなく、複数の切断されたサービス配信ノードに配信されているコンテンツを複製し、それぞれを個別に相互接続する。実際、他の誰かのネットワークでの新しいエニーキャストノードの全ての展開は、展開場所のプライベート相互接続と区別がつかず、内部ネットワークは、内部接続の代わりとしてデータ複製のために使用される。
プライベートネットワークインターフェース34のさらなる例は、インフラストラクチャのコストなしで直接的な相互接続のいくつかの利点を提供する専用のIP層のパスなしで、個別の識別可能なトランスポートを使用することができる。例えば、応答側サーバ12に操作される応答者を対象とした全てのネットワークトラフィック7をトンネルにカプセル化するための特定の要求側サーバ12のオペレータを有する配置は、応答側ネットワーク18での仮想相互接続インターフェース34を提供する。たとえば、DNS層での類似の配置は、永続的なTCPバンドルを使用して要求30および応答32のメッセージを転送し得る。これにより、相互接続34が1つのシェルによってネームサーバのインフラストラクチャ(応答側サーバ10など)の内部に事実上移動する。これらの場合、データ管理システム52がトラフィックを分類し、予想されるネットワーク経路(割り当てられたインターフェース34)をたどらないネットワークトラフィック7の異常を知らせる能力が保持される。
要求側−応答側のサーバ相互作用のアプリケーション固有の説明に従って、指定された要求側ネットワーク14と応答側ネットワーク18(すなわち、パートナー)間のエンゲージメント(engagement)は、一般的な相互運用性と公的基準への断固とした遵守の必要性によって制約されるわけではないパートナーおよびアプリケーション固有の配置を容易にするということが認識される。以下の2つの実施形態は、例えば攻撃トラフィック7の軽減の状況で有用なプライベートネットワークインターフェース34の例である:
第1の実施形態は、ネットワークアドレス照会メカニズムの置換/修正であり、それにより、反復的なサーバ識別が親によって広められる。要求側サーバ12と応答側サーバ10との間の定められた通信プロトコル(例えばDNSなど)の使用を維持し、パートナー固有(特定の要求側サーバ12に割り当てられている)であり一般的に発表されていない(すなわち、ネットワーク14、16、18のアドレスが特定の要求側サーバ12以外に公開されていない)堅牢なセットを提供することにより、応答側インフラストラクチャの攻撃対象(例えば、デバイス22、サーバ10、および/またはネットワークの他の部分18)は、部外者(すなわち、パートナーではない)にはわかりにくく、動的に変化する可能性がある。換言すれば、応答側サーバ10のみなされたプライベートネットワーク14、16、18のアドレス(すなわち、要求側14と応答側18ネットワーク間でのみ共有される)および要求ネットワークトラフィック30を送信するためのその使用は、プライベートネットワークインターフェース34の一例と呼ぶことができる。
代替的な第2の実施形態は、要求側サーバ12によるキャッシュの作成に使用されるメカニズムを置き換えることであり、プロトコルの基本的な要件によって残されたアドミッションコントロールとシグナリングのギャップの一部を埋める汎用(例えば、DNSなど)プロトコルの代替を提供し、処理状態を把握しない(stateless)方法で未知のクライアントにサービスを供給する。コンテンツデータ41(例えば、要求側ローカルに保存されたコピーコンテンツデータ41aと呼ばれる)によるキャッシュの事前入力(Pre-population)は、そのようなプロトコルの時間重要性を低減し、プライベートネットワークインターフェース34のためのデータレベル構成の例としての分散ハッシュテーブルおよび/または分散(プライベート)公衆台帳(ブロックチェーン)の使用など、より従来の分散システムアプローチを可能にすることができる。コンテンツデータ41aは、ネットワークソースデバイス8からの任意の受信したネットワーク要求30を独立して満たす(すなわち、適切なネットワーク応答32を形成する)ために要求側サーバ12によって要求されるように、コンテンツデータ41の完全なセットのコピーであり得ることが認識される。
図1を参照すると、第2の実施形態は、ネットワーク14、16、18を介して応答側サーバ10によってリゾルバコンテンツデータ41を要求側サーバ12に提供することを含む。例えば、コンテンツデータ41は、(ネットワーク14、16、18を介して)パブリックネットワークインターフェース36を使用してサーバ10、12の間で提供され得る。例えば、コンテンツデータ41は、プライベートネットワークインターフェース34を使用して(ネットワーク14、18間で直接)サーバ10、12間で提供され得る。また、コンテンツデータ41は、応答側サーバ10の1つによって送信されるのではなく、トレーサビリティサーバ55と1つまたは複数の要求側サーバ12との間で転送できることが認識される。要求側サーバ12、またはそれらに代わって動作する調整要求側サーバ12aによって受信されると、サーバ12、12aは、コンテンツデータ41を要求側コンテンツデータ41aとして自身のローカルストレージ122’(例えば、キャッシュ)に格納することができる(図3aを参照)。調整要求側サーバ12a(例えば、コンテンツデータ41aの普及のために構成された要求側サーバ12)に関して、この調整サーバ12aは、ネットワークソースデバイス8からネットワーク要求30を受信するために、責任のある全ての要求側サーバ12に要求側ネットワーク14を介して広める(例えば送信する)責任がある。例えば、サーバ12、12aは、コンテンツデータ41aを要求側ネットワーク14内の他の全ての要求側サーバ12にメタデータとしてプッシュすることができ、コンテンツデータ41がサーバ10、12間で更新されると、サーバ12、12aはまた、更新されたコンテンツデータ41aを定期的な更新ベース/スケジュールで他の要求側サーバ12にプッシュすることができると認識する。
(要求30のデータと対応する関連付けられた応答32のデータの両方を含む)コンテンツデータ41がサーバ10、55とサーバ12、12aの間で(例えば、更新された方法で)共有されるこの更なる実施形態の利点として、要求側サーバ12は、ネットワークソースデバイス8からの任意の受信したネットワーク要求30を直接満たすために必要な全てのコンテンツデータ41aをローカルに格納する。換言すると、要求側サーバ12がネットワークソースデバイス8からネットワーク要求30を受信すると、要求側サーバ12はローカルに格納されるコンテンツデータ41aを直接照合し、パブリックネットワークインターフェース36またはプライベートネットワークインターフェース34を使用する応答側サーバ10に対する任意のクエリを送信する必要なしで適切なネットワーク応答32を作成することができる。このようにして、応答側サーバ10のネットワークリソースの利用はネットワーク要求30を受信する必要も、必要なネットワーク応答32を(独自のコンテンツデータ41の照合を含む)要求側サーバ12に供給する必要もないので、最小化されるか、そうでなければ有利に制限されることができる。明確にするために、応答側コンテンツデータ41はマスターコンテンツデータ41と呼ばれることがあり、要求側コンテンツデータ41aは複製またはコピーコンテンツデータ41aと呼ばれることがある。
しかしながら、上記の場合、応答側サーバ10および/またはトレーサビリティサーバ55は、要求側サーバ12によって受信されたネットワーク要求30に関連付けられ、要求側サーバ12によって独立して(すなわち、それらのマスターコンテンツデータ41と照合して応答側サーバ10とのリアルタイムの関与なしに)満足されるペアリングデータ38の知識から恩恵を受けることができる。換言すると、要求側ネットワーク14を介した要求側サーバ12による受信ネットワーク応答30の受信および処理は、(プライベートネットワークインターフェース34またはパブリックネットワークインターフェース36を利用する)要求側ネットワーク18を介して要求側サーバ12と応答側サーバ10との間で転送されるリアルタイムネットワークトラフィックを含むわけではない。
次に、コピーコンテンツデータ41aをローカルに格納する利点を実現するために、要求側サーバ12はまた、受信したネットワーク要求30に関連付けられたローカルペアリングデータ38aを記録および格納することができる。たとえば、要求側サーバ12が要求側ネットワーク14を介してネットワーク要求30を直接受信した場合、要求側サーバ12は、ネットワーク要求30のデータのネットワーク14、16、18上の識別されたソースアドレスに関連する事前に定められたネットワークソースデバイス(たとえば、ソースデバイス8、要求側サーバ12)から受信したネットワーク要求30のデータの結果の信号分析(すなわち、ペアリングデータ38a)に帰することができ、インターフェース34、36は、応答側サーバ10によってネットワーク要求30のデータを受信するために使用されるとともに、所望のネットワーク要求30のデータの他の識別されたヘッダおよび/またはペイロードパラメータを受信するために使用される。次いで、ペアリングデータ38aは、データ管理システム52(図2を参照)によって使用されるペアリングデータ38に対する記憶/更新のために、データ収集システム50に転送され、ネットワークトラフィック7のパターン(たとえば、要求タイプ、送信元アドレス、指定されたインターフェース34、36など)が過去に特定された動作(ペアリングデータ38に常駐している)に基づいて将来的にどのように使用されることになるかの予測として、後で受信されるネットワークトラフィック7ための外挿ツールとして使用される。明確にするために、応答側の格納されたペアリングデータ38は、マスターペアリングデータ38と呼ばれることがあり、要求側ペアリングデータ38aは、補助的ペアリングデータ38aと呼ばれることがある。
例えば、要求側ネットワーク14を直接介して要求側サーバ12により受信されるネットワーク要求30は、(要求側サーバ12がコピーコンテンツデータ41aの利点を有していなかった場合、ネットワーク要求30を応答側サーバ10に転送するために、要求側サーバ12がプライベートネットワークインターフェース34を使用することになるため)プライベートネットワークインターフェース34により概念的に(たとえばシミュレーションされて)受信されるように割り当てられ得る。したがって、この例のネットワーク要求30のデータペアリング38aは、プライベートネットワークインターフェース34上で概念的に(たとえばシミュレーションされて)受信されたものとして、ネットワークソースデバイス8からのネットワーク要求30のタイプ/データを含むことになる。
別の例では、要求側サーバ12がパブリックネットワーク16を直接介して受信したネットワーク要求30は、(要求側サーバ12がコピーコンテンツデータ41aの利点を有していなかった場合、応答側サーバ10が要求側サーバ12の関与なくパブリックネットワークインターフェース36によってネットワーク要求30を受信することができたため)パブリックネットワークインターフェース36によって概念的に(たとえばシミュレーションされて)受信されるように割り当てられ得る。したがって、この例のネットワーク要求30のデータペアリング38aは、パブリックネットワークインターフェース36で概念的に(たとえばシミュレーションされて)受信されたものとして、ネットワークソースデバイス8からのネットワーク要求30のタイプ/データを含むことになる。
別の例では、パブリックネットワーク16を直接介して応答側サーバ10によって受信され、プライベート/パブリックネットワークインターフェース34、36を介して−処理せずに要求側サーバ12に転送されるネットワーク要求30は、(要求側サーバ12がコピーコンテンツデータ41aの利点を持たなかった場合、応答側サーバ10が要求側サーバ12の関与なしにネットワーク要求30をパブリックネットワークインターフェース36によって受信できたため)概念的に(例えば、シミュレーションされて)パブリックネットワークインターフェース36によって受信されるように割り当てられ得る。したがって、この例のネットワーク要求30のデータペアリング38aは、パブリックネットワークインターフェース36で概念的に(たとえばシミュレーションされて)受信されたものとして、ネットワークソースデバイス8からのネットワーク要求30のタイプ/データを含むことになる。
したがって、サーバ10、55によってコンテンツデータ41をサーバ12、12aと共有するとともに要求側サーバ12によってローカルコピーコンテンツデータ41aとして格納する代わりに、サーバ12、12aは、要求側サーバ12によって受信され、独立して処理される各ネットワーク要求30のためのペアリングデータ38aを収集する責任がある(すなわち、コピーコンテンツデータ41aとの照合により、応答側サーバ10とのリアルタイムの対話を要せずに、必要なネットワーク応答32を作成する)。個別に受信および処理されたネットワーク要求30に関連付けられたペアリングデータ38aを収集すると、サーバ12、12aは、応答側サーバ10によってアクセス可能なストレージ122に格納されるペアリングデータ38の更新に使用するためにペアリングデータ38aをサーバ10、55に戻すように提供することができる。要求側サーバ12によって収集された(その後、サーバ12、12aによってサーバ10、55に通信された)ペアリングデータ38aは、(コンテンツデータ41aに対する更新として格納するために)更新されたコンテンツデータ41の受信に応答してサーバ10、55に送信できることが認識される。代替的に、要求側サーバ12によって収集された(次いで、サーバ12、12aによってサーバ10、55に通信された)ペアリングデータ38aは、(コンテンツデータ41aに対する更新として格納するために)定期的に、たとえば更新されたコンテンツデータ41を受信する前または後に、サーバ10、55に提出され得ることが認識される。したがって、サーバ10、55は、ペアリングデータ38を更新する際に使用するためのペアリングデータ38aを受信する。
さらに、オプションとして、トレーサビリティサーバ55は、以下でさらに説明するように、要求側サーバ12によって、コピー優先順位付けコマンド40aを含むコピー優先順位付け基準39aとして格納された優先順位付け基準39(優先順位付けコマンド40を含む)をサーバ12、12aと共有できることが認識される。したがって、サーバ12、12aは、要求側ネットワーク14上に優先順位付け基準39a(優先順位付けコマンド40aを含む)を実装することができ、例えば、優先順位付け基準39aを実装するか、又はそのような優先順位付け基準39aを要求側サーバ12に提案する。さらに、サーバ12、12aは、照合の結果として優先順位付けコマンド40aをネットワークデバイス20、21(および要求側サーバ12)に送信するように構成され得る。したがって、要求側サーバ12が受信したネットワーク要求30を独立して受信および処理しているため(ネットワーク要求30の処理において応答側サーバ10との直接のリアルタイムの対話がない、またはそれによりバイパスする)、要求側サーバ12自体は、ネットワーク要求30のパラメータを優先順位付け基準39a(優先順位付けコマンド40aを含む)に関連付けられたペアリングデータ38aと比較すると、サーバ10、55から取得した任意の優先順位付け基準39a(優先順位付けコマンド40aを含む)を実装することができる。優先順位付け基準39a(優先順位付けコマンド40aを含む)の実装例は、応答側サーバ10、すなわち優先順位付け基準39(優先順位付けコマンド40を含む)に関して以下に提供される。しかし、要求側サーバ12は、要求側ネットワーク14に直接受信されたネットワーク要求30の優先順位付けのための同じ優先順位付け基準39a(優先順位付けコマンド40aを含む)を同様に直接的に実装できることが認識される。言い換えると、優先順位付け基準39a(優先順位付けコマンド40aを含む)は、以下の例で詳細に記載するように、その応答側ネットワーク18上の応答側サーバ10によって実装される優先順位付け基準39(優先順位付けコマンド40を含む)と同様に、要求側ネットワーク14上の要求側サーバ12によって実装され得る。したがって、ペアリングデータ38aおよび/または(コマンド40aを有する)優先順位付け基準39aは、コピー分析データ60aと呼ばれ得る。
したがって、要求側サーバ12の動作に関連して上記および以下に示すように、異常なネットワークトラフィック7を識別して優先順位を下げようとする任意の要求側サーバ12は、異常を識別するために受信したネットワークトラフィック7を分析することによってなされ得る(または、そうでなければ、到着するネットワークトラフィック7が関連付けられた優先順位付け基準39aを有するペアリングデータ38aとの照合/比較を介して正常とみなされることを確認する)。トレーサビリティサーバ55は、サーバ12、12aから受信されたペアリングデータ38aを使用することによりアルマナックを生成および更新することを担当できることが認識される。トレーサビリティサーバ55はまた、更新されたペアリングデータ38aを含むペアリングデータ38の分析に基づいて、優先順位付け基準39(優先順位付けコマンド40を含む)を生成および更新することを担当できることが認識される。したがって、トレーサビリティサーバ55は、サーバ12、12aへの送信に使用するために、優先順位付け基準39(優先順位付けコマンド40を含む)から優先順位付け基準39a(優先順位付けコマンド40aを含む)を生成することを担当できる。
さらに、サーバ10、55とサーバ12、12aとの間のコンテンツデータ41の共有は、コピーコンテンツデータ41aとしてのストレージのために、プライベート/パブリックネットワークインターフェース34、36の直接使用を介して、要求側サーバ12と応答側サーバ10の間のネットワーク要求30によるネットワーク要求30の対話による、要求側サーバ12によって実行されるキャッシュメモリ内の従来のローカルストレージとは異なることが認識される。従来、要求側サーバ12によって(応答側サーバ10に)ネットワーク要求30のそれぞれを送信した結果、要求側サーバ12(応答側サーバ10から)は、受信したネットワーク応答32をローカルにストレージ122'に格納できた。次に、(要求ベースによる要求での)この格納されたネットワーク応答32は、その後、応答側サーバ10とは独立して別の同様のネットワーク要求30を満たすように、要求側サーバ12によって使用されることができる。しかしながら、この従来の場合では、要求側サーバ12は、典型的には、最も一般的に要求されるネットワーク要求30のために、ローカルキャッシュに完全なコンテンツデータ41の一部のみを保持する。さらに、要求側サーバ12のキャッシュの従来の使用では、受信されたネットワーク要求/応答30、32のケースバイケースのベースで、要求側サーバ12によって識別/収集されたペアリングデータはない。さらに、要求側サーバ12のキャッシュの従来の使用法では、受信したネットワーク要求/応答30、32のケースバイケースベースで、本明細書に記載されるようにサーバ10、55によって受信されるように、要求側サーバ12によって使用される優先順位付け基準39はない。
図5を参照すると、ローカルキャッシュの従来の使用とは区別されるように、要求側サーバ12に応答側サーバ10から独立して(すなわち、コピーコンテンツデータ41aを照合し、それによりネットワーク要求30のベースによって必要なネットワーク応答32をネットワーク要求30上で作成するために、応答側サーバ10とのリアルタイムの対話を含むわけではない)ネットワーク要求30を処理させる際に、第2の実施形態を操作するための例示的な方法300が示される。説明したように、ローカルに格納されたコピーコンテンツデータ41aを使用する要求側サーバ12の利点は、要求側サーバ12がネットワーク要求30のベースによってネットワーク要求30での応答側サーバ10とのリアルタイム通信とは独立して、受信したネットワーク要求30を満たすことができることである。さらに、応答側サーバ10は、サーバ12、12aから生成されたペアリングデータ38a(および生成された優先順位付け基準39)の利点をそこから取得して使用でき、上述のように、ペアリングデータ38aが、ローカルに格納されたコンテンツデータ41を照合して、要求側サーバ12によって独立して(応答側サーバ10とのリアルタイムの対話ない)受信および処理される任意のネットワーク要求30のためのプライベート/パブリックネットワークインターフェース34、36の概念的またはシミュレーションされた使用を表すことを認識する。ステップ302において、サーバ10、55は、要求側サーバ12がそれらの受信したネットワーク要求30を独立して処理するために使用するためのコンテンツデータ41aとして格納するためのコンテンツデータ41を送信する。ステップ304で、サーバ10、55は、(個別に処理されたネットワーク要求30のサーバ12、12aによる分析の結果として)サーバ12、12aによって生成されたペアリングデータ38aを受信し、ペアリングデータ38aは、プライベートネットワークインターフェース34および/またはパブリックネットワークインターフェース36の想定される使用法を含む。ステップ306で、サーバ55は、ペアリングデータ38をペアリングデータ38aを用いて更新する。ステップ308で、サーバ55は、サーバ12、12aから受け取ったペアリングデータ38aの結果を組み込んだ優先順位付け基準39(および優先順位付けコマンド40を含む)を更新または他の方法で生成する。必要に応じて、ステップ310で、サーバ55は、(たとえば、応答側サーバ10から独立して要求側サーバ12が適切なネットワーク応答32を生成するかどうかを決定する際)コピーコンテンツデータ41aとの照合を介した後続の処理を目的とした受信したネットワーク要求30の優先順位付け(たとえば、非優先化)における要求側サーバ12によるその後の使用のために、サーバ12、12aによって優先順位付け基準39a(および優先コマンド40aを含む)として格納するために、優先順位付け基準39(および優先コマンド40を含む)の一部および/または全てを通信/共有する。
上記を考慮して、再び図2を参照すると、プライベートネットワークインターフェース34のプロビジョニングは、例えば、共通の応答側サーバ10と割り当てられた要求側サーバ12のそれぞれとの間にプロビジョニングされた別個の個々のプライベートネットワークインターフェース34を有する複数の割り当てられた要求側サーバ12への任意の指定された応答側サーバ10によって達成でき得ることが認識される。プライベートネットワークインターフェース34を使用して、要求側サーバ12を応答側サーバ10に、またはその逆に割り当てることができることが認識される。また、プロビジョニングされたプライベートネットワークインターフェース34のそれぞれは、ストレージ24に格納されたネットワークトラフィックのアルマナックにおいて、対応するペアリングデータ38のセットを有することになる。このようにして、共通の応答側サーバ10によって利用される複数の異なるプライベートネットワークインターフェース34について、データ管理システム52は、ペアリングデータの各セットを対応するプライベートネットワークインターフェース34に編成するか、そうでなければ関連付けることができる。さらに、特定のプライベートネットワークインターフェース34は、例えば、2つ以上の指定された個々の要求側サーバ12(および/または要求側ネットワーク14)に関連付けることができる。また、2つ以上の指定された個々の要求側サーバ12(および/または要求側ネットワーク14)が共通のプライベートネットワークインターフェース34を共有する場合、個々の要求側サーバ12(および/または要求側ネットワーク14)のそれぞれに関するペアリングデータ38は、2つ以上の指定された個々の要求側サーバ12(および/または要求側ネットワーク14)のそれぞれに対して異なる優先順位付け基準39を使用することによって区別され得ると認識される。2つ以上の指定された個々の要求側サーバ12(および/または要求側ネットワーク14)に共有化されたプライベートネットワークインターフェース34を利用する一例は、2つ以上の指定された個別の要求側サーバ12(および/または要求側ネットワーク14)に異なるタイムゾーン(time zone)が確立される場合である。したがって、2つ以上の指定された個々の要求側サーバ12(および/または要求側ネットワーク14)のそれぞれのネットワークトラフィック7は、応答側サーバ10に到着すると、異なるピークのタイミングを有することが予想されるであろう。
以下に加えて、ネットワークトラフィックのアルマナック(すなわち、定められたペアリング38のセットを生成および維持する)の目的のために重要であり、およびネットワーク要求トラフィック30(すなわち、受信またはそうでなければパブリックネットワークインターフェース36に向けられる)に適切な優先順位付けをすることは、ネットワーク要求トラフィックの送信元(すなわち、事前に定められたソース)の場合であることが認識される。したがって、プライベートネットワークインターフェース34を介して到着するネットワーク要求トラフィック30(および適切なネットワーク応答トラフィック32を作成する際の処理におけるその優先度)は、ネットワーク応答トラフィック32が送信される経路とは異なる重要性であると考えられることが認識される。例えば、ネットワーク要求トラフィック30は、プライベートネットワークインターフェース34で受信することができ、ネットワーク応答トラフィック32は、同じプライベートネットワークインターフェース34で送信することができる。代替的には、ネットワーク要求トラフィック30は、プライベートネットワークインターフェース34上で受信されることができ、ネットワーク応答トラフィック32は、異なるパブリックネットワークインターフェース36上で送信されることができる。しかしながら、一般に、応答は要求よりも通常大きくなる可能性があり、応答配信のサービス品質がまた重要である可能性があるため、好ましくは、プライベートネットワークインターフェース34が受信したネットワーク要求のトラフィック30に関連付けられたネットワーク応答トラフィック32を送信するために使用されることになる。また、ネットワーク応答トラフィック32に関する専用の経路の使用が、全ての状況、例えば、いくつかの予期しないハードルが原因でプライベートネットワークインターフェース34のアップグレードが遅れ、応答をその方向に安全に送信するのに十分な容量がない場合において正しい選択ではない場合があることが認識される。したがって、一般に、運用上の理由により、ネットワーク要求トラフィック30を受信するために使用されたものとは別のネットワーク14、16、18のパスの方向において応答ネットワークトラフィック32を送信する場合があると予想される。
ネットワークトラフィックのアルマナック(すなわち、定められたペアリング38のセット)の生成および有用性に関して、一般に、パケットベースの通信(例えば、ネットワークトラフィック7)のためのネットワーク14、16、18のフレームワークは、(たとえば、DNSクエリ30のUDPにわたって)受信したネットワーク要求トラフィック30のトレーサビリティを確認することにおいて困難性を提供する。マルチインターフェース34、36構成のセットアップおよび実装の重要な動機は、パケットヘッダに「ソース」として表示されるネットワークアドレスから、受信したネットワーク要求トラフィック30がいつ送信されなかったかをより正確に予測するために、みなされたダーティチャネルのパブリックサービスインターフェース36と考慮されるクリーンチャネルのプライベートサービスインターフェース34との間で観察された(生成され、その後に格納される事前に定められたペアリング38に組み込まれるような)差異を使用することである。クリーンなプライベートサービスインターフェース34のこのプロビジョニングおよびその後の使用は、合法的に送信されたパケットが現れるパスを予測する手段を提供する;同様に送信されたパケットがパブリックサービスインターフェース36に予期せず到着した場合、すなわち、参照された事前に定められたペアリング38のソースインターフェースの定義に従わなかった場合、応答側サーバ10は、パブリックサービスインターフェース36に到着した同様のソースパケットは追跡可能ではなく、それゆえ優先順位を下げる(例えば、落とす)必要があることを予測(すなわち決定)することができる。トラフィックはアプリケーション固有ではなく、一般に動機を推測するのが難しいため、単純なピアリング関係では、直接リンクを介して到着するトラフィックがクリーンであるという期待は得られないことが認識されている。通信ネットワークシステム6の場合、ネットワークトラフィックアルマナックと組み合わせてマルチインターフェース構成を利用して、応答側サーバ10は、直接のプライベートネットワークインターフェース34(事前に定められたペアリング38によって定められるように)を介して指定された種類のネットワーク要求トラフィック30のみを期待する。応答側サーバ10は、パートナー要求側サーバ12との注意深い取り決めによって、直接のプライベートネットワークインターフェース34を介したネットワーク要求トラフィック30がクリーンであることをさらに期待することができる。本明細書で説明するように、プライベートネットワークインターフェース34によって定められたパスがクリーンに動作する限り、これは、応答側サーバ10に、クリーンなネットワークトラフィック7が何であるかを学習する機会を与え、その結果、クリーンでないデータセットにおいて明らかな疑わしいまたはダーティとみなされるネットワークトラフィック7を識別する。したがって、本質的に、ネットワークトラフィックのアルマナックの構築および維持の重要な構成要素は、ペアリングデータ38を生成および維持/更新することによって、選択されたネットワークインターフェース34、36に到着するネットワークトラフィック7の分類(すなわち、正常/異常)を可能にする。パブリックネットワークインターフェース36は、異常なネットワークトラフィック7の可能性がより高いと考えられ、したがって、データ管理システム52によって分析することが好ましいのは、パブリックネットワークインターフェース36のネットワークトラフィック7であることが認識される。プライベートネットワークインターフェース34は、通常のネットワークトラフィック7のより大きな可能性を有するとみなすことができ、したがって、データ管理システム52によって典型的に無視されることができ、異常なネットワークトラフィック7を特定して優先順位を下げることを求めるパブリックネットワークインターフェース36のネットワークトラフィック7であると認識される。しかしながら、データ管理システム52はまた、異常を識別するために(またはそうでなければ、到着するネットワークトラフィック7がネットワークトラフィックのアルマナックのペアリングデータ38との照合/比較を通じて正常であるとみなされることをチェックするために)、プライベートネットワークインターフェース34上のネットワークトラフィック7を分析することができることが認識される。
したがって、(ペアリングデータ38によって定められるように)パブリックネットワークインターフェース36からプライベートネットワークインターフェース34への予想される/事前に定められたネットワークトラフィック30のシフトに加えて、プライベートネットワークインターフェース34の存在は、パブリックネットワークインターフェース36を介して受信されるトラフィックを管理する追加の機会を提供する。たとえば、ステートレストランスポート(stateless transport)を使用してインターネット14、16、18から受信したクエリトラフィック30は、要求側サーバ12(たとえば、管理システム52によって機能され/定められ/プロビジョニングされたプライベートネットワークインターフェース34を有するリゾルバオペレータ)から表向きに偽装されている可能性がある。(攻撃ネットワークトラフィック7を見る可能性がはるかに低い)プライベートネットワークインターフェース34で観測されたクエリトラフィック30のパターン(例えば、コンテンツおよび/またはタイミングなど)は、プライベートネットワークインターフェース34を用いる要求側サーバ12の実際のエンドユーザの動作を示す可能性を高くし、ネットワーク14、16、18から応答側サーバ10によって一般的に(すなわち、全てのインターフェース34、36で)見られるネットワークトラフィック7をよりよく特徴付けるために、ペアリングデータ38によって表されるトラフィックモデルの生成及び更新を容易にする。
ネットワークトラフィック7の優先順位付けは、応答側サーバ10と応答側ネットワーク18の関連付けられたネットワークデバイス22とによるネットワークトラフィック7の受信を許可または無視する(したがって影響しない)こととして定められ得る。例えば、割り当てられたプライベートネットワークインターフェース34上の事前に定められた要求側サーバ12から到着するネットワーク要求トラフィック30は、優先順位付けられ、すなわち望まれるので、適切なネットワーク応答トラフィック32を作成および送出する際に応答側サーバ10によって処理されるようにそのままにされる。逆に、優先順位の低いネットワークトラフィック7は、優先順位が低いと考えられるネットワークトラフィック7(例えばパケットなど)をドロップすることによって実現される(すなわち、ペアリングデータ38との照合において、異常な、したがって望ましくないネットワークトラフィック7として分類またはそうでなければカテゴリー化されるとみなされるネットワークトラフィック7)。したがって、(優先順位付けの動作が実行されなかった)残存しているネットワークトラフィック7は、「優先順位付け」されているとみなされる。したがって、優先順位付けは、受動的行為と呼ぶことができる。データ管理システム52によって無視されることで、応答側サーバ12によって、残存とその後に作成された応答トラフィック32が保証される。以下に説明する応答側サーバ12、データ収集システム50、およびデータ管理システム52の構成および動作における優先順位付けとして好ましくは例として利用されるのは、所望のネットワークトラフィック7を無視することである。
以下でさらに説明する優先順位付け基準39/コマンド40の実装に関するデータ管理システム52の機能性はまた、コンテンツデータ41aおよびコピー分析データ60aの格納された優先順位付け基準39a/コマンド40aを照合して選択された要求側サーバ12によって同様に実装できることが認識される。以下で説明する例示的な優先順位付け基準39/コマンド40の実装は、(上記で論じたように)応答側サーバ10とは独立して受信および処理されるネットワーク要求30に対して要求側サーバ12によって同様に実装されることができる。したがって、例えば、優先順位付けは、アクティブな動作と呼ぶことができ、要求側サーバ12が動作することで、要求側サーバ12による作成された応答トラフィック32のブロック/ドロップおよびその後の抑制(またはそうでなければ回避)を提供する。
さらに、要求側サーバ12はまた、ネットワークトラフィック7を正常/異常として識別する(データペアリング38aと照合して、ならびに優先順位付け基準39aを実装する際に)使用するための構成/機能性を有し得る。さらに、要求側サーバ12は、照合の結果として優先順位付けコマンド40aをネットワークデバイス20、21に送信するように構成されることができる。しかしながら、代替的に、ネットワークトラフィック7の優先順位付けは、要求側サーバ12と要求側ネットワーク14の関連付けられたネットワークデバイス20とによるネットワークトラフィック7の受信を拒否するか、さもなければブロック/ドロップする(したがって影響を与える)と定められ得ることが認識される。例えば、パブリックネットワーク16上の事前に定められたソースデバイス8から到着するネットワーク要求トラフィック30は、優先され、すなわち望ましくなく、したがってドロップされるか、または適切なネットワーク応答トラフィック32を作成および送信する際に要求側サーバ12による処理から制限される。逆に、優先順位の低いネットワークトラフィック7は、優先度が高いとみなされるネットワークトラフィック7(パケットなど)を無視することで実現される(すなわち、ペアリングデータ38aとの照合で通常どおり、したがって望ましいネットワークトラフィック7として分類またはそうでなければカテゴリー化されるとみなされるこれらのネットワークトラフィック7)。したがって、(優先順位付けの動作が実行されなかった)残存しているネットワークトラフィック7は、「優先順位を下げられる」とみなされる。したがって、優先順位付けは、アクティブな動作と呼ぶことができる。要求側サーバ12によって動作されると、要求側サーバ12による作成された応答トラフィック32のブロック/ドロップおよびその後の抑制(または回避)が提供される。以下で論じるように、他の記述された優先順位付けアクションの例は、ペアリングデータ38aおよび/または優先順位付け基準39aと照合して、受信したネットワーク要求30で(応答側サーバ10および/またはデータ管理システム52ではなく)要求側サーバ12によって直接実装され得る。
図2を参照すると、ペアリングデータ38および/またはネットワークトラフィックアルマナックの優先順位付け基準39を生成または更新するための、データ収集システム/モジュール50によるネットワークトラフィック7の監視に使用するトレーサビリティサービス53が示される。さらに、トレーサビリティサービス53はまた、ネットワークトラフィック7を(ネットワークトラフィックのアルマナックのデータペアリング38との照合において)正常/異常として識別する際、および優先順位付け基準39の実装の際またはそのような優先順位付け基準39を応答側サーバ10への提案の際に使用するデータ管理システム52を含むことができる。さらに、データ管理システム52は、照合の結果として優先順位付けコマンド40をネットワークデバイス21、22(および応答側サーバ10)に送信するように構成されることができる。しかしながら、代替的に、ネットワークトラフィック7の優先順位付けは、応答側サーバ10と応答側ネットワーク18の関連付けられたネットワークデバイス22とによるネットワークトラフィック7の受信を拒否するか、さもなければブロック/ドロップする(したがって影響を与える)ように定義されることができることが認識される。例えば、パブリックネットワークインターフェース36上の事前に定められた要求側サーバ12から到着するネットワーク要求トラフィック30は優先され、すなわち望ましくないため、適切なネットワーク応答トラフィック32を作成および送信する際に応答側サーバ10によって処理されないようにドロップまたは制限される。逆に、優先順位の低いネットワークトラフィック7は、優先順位が高いと考えられるネットワークトラフィック7(例えばパケットなど)を無視することで実現される(すなわち、ペアリングデータ38との照合において、正常、したがって望ましいネットワークトラフィック7として分類または分類されるとみなされるネットワークトラフィック7)。したがって、(優先順位付けの動作が取られなかった)残存しているネットワークトラフィック7は、「優先順位を下げられる」とみなされる。したがって、優先順位付けは、アクティブな動作と呼ぶことができり。データ管理システム52が動作すると、応答側サーバ10による作成された応答トラフィック32のブロック/ドロップおよびその後の抑制(またはその他の回避)が提供される。
再び図1及び2を参照すると、データ管理システム52は、事前に定められたペアリングデータ38(および以下でさらに説明するペアリングデータ38の更新)とともに実装できる動的ネットワークトラフィック7の分類の機会と、事前に定められたペアリングデータ38で表される結果の派生データセットに基づいて、不要なネットワークトラフィック7を動的に識別して扱う機会とを提供する(またはそうでなければ制約付きネットワーク14、16、18の容量シナリオでネットワークトラフィック7に優先順位を付ける)。したがって、データ管理システム52は、データ収集システム50による関連付けられたペアリングデータ38の生成/更新を伴うマルチインターフェース34、36の利用と併せて、ペアリングデータ38(例えば、ネットワークトラフィックのアルマナック)の使用により通知される決定により駆動される望ましくない/スプーフィングされた(spoofed)ネットワークトラフィック7とみなされた処理(例えば、ドロップ)のための汎用アプローチを提供する。
例えば、応答側サーバ10は、プライベートネットワークインターフェース34を介して事前に定められたソースデバイス8からアドレス指定された第1の要求トラフィック30を受信し、ネットワーク14、16、18を介して事前に定められたソースデバイス8に(例えば、要求側サーバ12を介して)通信するために、第1の応答32を生成し、ネットワーク14、16、18を介して(例えば、プライベートネットワークインターフェース34またはパブリックネットワークインターフェース36を使用して)第1のレスポンス32を送信することにより、第1の要求トラフィック30を処理する。続いて、応答側サーバ10は、パブリックサービスインターフェース36を介して事前に定められたソースデバイス8のアドレスを有する第2の要求トラフィック30を受信し、アドレスを用いてソース接続データベース24を照合し、第2の要求トラフィック30が事前に定められたペアリング38において定義された事前に定められたソースと一致することを決定し、第2の応答32の生成に関して第2の要求トラフィックに優先順位付け基準を動的に適用することにより、プライベートネットワークインターフェース34の直接的な相互接続ではなくパブリックサービスインターフェース36で受信されている第2の要求トラフィック30に基づいて、第2の要求トラフィック30の処理の優先順位を下げる(例えば、ドロップなど)。第2の応答32はヌル応答(例えば、クエリを受信した応答を生成しないという決定)であり得ることが認識される。したがって、ヌル応答は優先順位の降下の1つの形式となる可能性がある。さらに、例えば、インバウンドネットワーク要求トラフィック30の優先順位を下げる(例えば、ドロップする)複数の機会があり得る(例として、優先順位付けは、プライベートネットワークインターフェース34を介して受信したトラフィックを「ドロップしない」ことを意味し、そのようなトラフィックをネットワークトラフィックの1つのクラスとしてより高い優先度と見なし、一方で、パブリックネットワークインターフェース36で受信されたネットワーク要求トラフィック30の従属クラスでドロップなどのアクションを実行することにより、ネットワークトラフィック処理の効率を達成することを認識する)。
1つまたは複数の優先順位付け基準に関して、ネットワーク要求トラフィック30がプライベートネットワークインターフェース34上で予期されたが、パブリックネットワークインターフェース36上で受信されたという事実を利用するために使用できるいくつかの選択肢がある(データベース24に格納されるネットワークトラフィックのアルマナックと照合して識別されるように)。応答側サーバ10は、最も一般的には、共有/パブリックインターフェース36上のトラフィックの優先順位を下げ、応答側サーバ10は、みなされたダーティなトラフィックを受信すると予想する。トラフィックがクリーンである(または少なくともパブリックネットワークインターフェース36よりもクリーンである)とみなされ、その容量が管理するのに容易であるとみなされるプライベートネットワークインターフェース34の直接的な相互接続は、アクティブな優先順位を下げることを必要とする可能性が低い(たとえば、対応する応答を提供することに失敗することによる要求のドロップ)。例えば、1つの優先順位付け基準は、サブネットワーク16a内のデバイス21を使用するなどのネットワーク16において、応答側ネットワーク18の外部の動作を実装することであろう。これは、要求トラフィック30がまだ他の誰かのネットワークにあるため、この時点で要求トラフィック30が応答側ネットワーク18のネットワーク容量(たとえば、応答側サーバ10の処理リソース)を全く消費していないため、インバウンド要求トラフィック30をドロップするのに最も効率的な場所である。要求側ネットワーク14で要求トラフィック30をドロップする機能は、優先順位付けコマンド/提案40としてサブネットワーク16aのネットワークデバイス21に送信される(たとえば、「送信元アドレスXからのものであると主張する全てのトラフィックをドロップする」または「ネームサーバドレスYに向けられた全てのトラフィックをドロップする」またはそれらのいくつかの組み合わせの形式の)基準を有し得る。サブネットワーク16aのネットワークデバイス21は、識別されたソースデバイス8から受信したネットワーク要求トラフィック30をドロップすることにより、優先順位付けコマンド/提案40を受信し、格納し、その後利用することになり、応答側サーバ10、またはそれらの任意の組み合わせに向けられる。代替的には、優先順位付けコマンド/提案40は、応答側サブネットワーク18aのネットワークデバイス22に提供され得る。応答側サブネットワーク18aのネットワークデバイス22は、識別されたソースデバイス8から受信された任意のネットワーク要求トラフィック30をドロップすることにより、優先順位付けコマンド/提案40を受信し、保存し、その後利用することになり、応答側サーバ10、またはそれらの任意の組み合わせに向けられる。
さらなる例の優先順位付けアクションは、応答側ネットワーク18内でさらに、すなわち、サブネットワーク18aによって表されるネットワークエッジを越えて、応答側ネットワーク18内のネットワークデバイス22(たとえば、ルータ、スイッチ)を適切に使用して実装され得る。この時点で、ネットワーク要求トラフィック30は、応答側サーバ10と要求側サーバ12との間のネットワーク容量を既に消費しているが、ネットワーク要求トラフィック30は、応答側サーバ10自体または我々のプロバイダエッジ(例えば、ネットワーク16、18と応答側サーバ10自体の間のインターフェース)間の完全な内部ネットワーク18のパス上のリソースをまだ消費していない。このように構成されたネットワークデバイス22を利用して、応答側ネットワーク18内の適切な場所でクエリをドロップすることは、上流でドロップするほど効果的ではないかもしれないが、ネットワーク要求トラフィック30を応答側サーバ10自体に流すよりは良いと考えられる。この例では、応答側ネットワーク18のルーター22を最適化して、サーバよりも大きなトラフィックのフラッド(flood)を処理できるため、サーバをルーターで保護することは有益である。したがって、ネットワークデバイス22(例えば、ルータ)は、受信したような優先順位付けコマンド/提案40によって構成して、要求側ネットワーク14に対して上流に送信できるよりも豊富な語彙でドロップするためのネットワーク要求トラフィック30を識別することができる。したがって、より細かい粒度で応答側ネットワーク18のネットワーク要求トラフィック30をドロップする見込みがある。たとえば、優先順位を下げる基準は、これらに限定されないが、例えば、UDPソース、宛先ポート、プロトコル、および/またはレート制限基準、ならびに単純な破棄動作などのソースおよび宛先アドレス以外のネットワークトラフィック7(たとえば、パケットなど)において伝送されるパラメータに基づくドロップするネットワークトラフィック7を含むことができる。
更なる例の優先順位付けアクションは、応答側サーバ10自体に実装されることができる。この時点で、ネットワーク要求トラフィック30は消費する可能性のある全てのリソースを消費しているが、応答側サーバ10は、パブリックネットワークインターフェース36で受信したネットワーク要求トラフィック30をドロップする可能性があり、そのため、応答側ネットワーク18での送信時により多くのリソースを消費することになる実質的なネットワーク応答トラフィック30の生成を回避する。応答側サーバ10では、以前の全ての基準と、追加のDNS固有の基準、たとえば、再構築されたDNSネットワーク要求トラフィック30のメッセージ(たとえばパケットなど)内にあるDNS固有のパラメータを使用してドロップすることができる。優先順位付けアクションの1つの選択肢は、マルウェアに関連付けられた特定の不快なドメインネームのクエリと、同一のクライアントから無害な別のクエリとを区別することである。悪意のあるクエリ(すなわち、そのソースアドレスがサードパーティの攻撃対象システムのアドレスに設定されている)への応答の生成を回避することはまた、応答が攻撃トラフィックとして意図されていた可能性があるネットワーク14、16、18上の他の潜在的な被害者を保護することができる(これは「リフレクション攻撃」の本質である)。たとえば、もっともらしい例は、DNSクエリ名(「QNAME」)やクエリタイプ(「QTYPE」)などのDNSパラメータを、ドロップするトラフィックと照合するために使用される基準のセットにおいて使用することである。たとえば、単一の要求側サーバ12は、エンドユーザによる現実のアクティビティに関連する多くのクエリを応答側サーバ10に送信する場合があるが、技術的に有効な値であるQTYPE = NULLを使用してクエリを我々に送信することもあるが、エンドユーザのアクティビティの結果としてほとんど見られない。別の例は、常にマルウェアに直接関連付けられているDGA(生成されたドメインネーム)に一致するQNAMEを使用したクエリである。
クリーントラフィックがどのように見えるかを理解することで、これら3つの異なる領域のそれぞれでドロップの決定を行うことの影響をよりよく理解し、特定の方法でトラフィックをドロップする決定が他の正当なトラフィックに付随的な影響を与えるリスクを減らすことができる。正味の効果は、正当なトラフィックの品質を向上させることである。
図2を参照すると、一定期間にわたる応答側サーバ12(権限のあるネームサーバなど)に対するデータ収集システム50によるインバウンドネットワークトラフィック7の収集および分析は、(例えばネットワークトラフィック7を応答側サーバ10に転送するデータソースとして動作する要求サーバ10など)少数の非常にアクティブなネットワークソースを公開することができる。ネットワーク要求トラフィック30の分析は、ネットワークトラフィック7のタイプ、ソース/宛先アドレス、およびネットワークトラフィック7を配信するために使用される特定のインターフェース34、36の分布を示す。さらに、特定のネットワーク14、16、18の部分および/または一連のネットワークデバイス9(ネットワーク経路または経路部分を定義する)もまた、ネットワークトラフィック7の分析において識別され得る。
データ管理システム52が(ネットワークトラフィック7のパケットパラメータと、ストレージ24に格納された事前に定められたペアリングデータ38との比較によって識別されるような)プライベートネットワークインターフェース34を介して期待するパブリックネットワークインターフェース36を介してネットワークトラフィック7が到着する原理は無効である可能性が高い(たとえば、ソーススプーフィング)。そのため、サーバ10、12間の直接的な相互接続としてのプライベートネットワークインターフェース34の存在は、ネットワーク14、16、18から受信した一般的なネットワークトラフィック7の正常性/異常性の評価を容易にする。これは、そのように識別されたとき、無効化された(例えば、ソーススプーフィングされた)ネットワークトラフィック7に関連付けられた優先順位付け基準39と共に、データ管理システム52によるトラフィックの優先順位付けの基礎として使用され得る。
例えば、ネットワークトラフィック7は、パケット化されたデータとして構造化された考慮されたステートレスデータから構成される。ネットワークトラフィック7のパケットは、デジタル通信ネットワーク14、16、18上の通信の基本単位として定義されることができる。パケットは、通信ネットワーク14、16、18を介したデータの送信に使用されるプロトコルに応じて、データグラム、セグメント、ブロック、セル、またはフレームと呼ばれることもある。データを送信する必要がある場合、データは送信前に同様のデータ構造に分解され、パケットと呼ばれ、宛先に到達すると元のデータチャンクに再構成される。データパケットの構造は、パケットのタイプと転送に使用されるプロトコルとによって異なるが、各データパケットはヘッダとペイロードとを有することができる。ヘッダは、パケット、サービス、およびその他の伝送関連データに関するオーバーヘッド情報を維持するために使用され得る。たとえば、インターネット経由のデータ転送は、データをIP(インターネットプロトコル)で定義されているIPパケットに分解することを要求する。IPパケットは、データを送信するマシンのIPアドレスであるソースIPアドレス;データの送信先のマシンまたはデバイスである宛先IPアドレス;パケットを順番に並べ、元のデータを送信前の状態に正確に戻す方法で再構成するパケットのシーケンス番号;サービスのタイプ;関連するフラグ;パケットの大部分を表し、実際に運ばれるデータであるペイロード自体を含むことができる。たとえば、上記のペイロード自体以外の全てのデータは、オーバーヘッド情報とみなすことができる。
ネットワークトラフィック7の例として、DNS要求30は、名前(またはおそらくいくらか任意のテキストフィールド)とレコードタイプとを指定する質問を含むことができる。応答の内容はタイプによって異なることになる。DNSプロトコルは、クエリ30と返信32との2種類のDNSメッセージを使用するため、どちらも同じ形式にすることができる。各メッセージは、ヘッダと4つのセクション:質問、回答、権限、および追加のスペースとからなることができる。ヘッダフィールド(フラグ)は、これらの4つのセクションの内容を制御する。要求30は、応答に(タイプA)おいてIPアドレスを探す、並びにネームサーバ自体(タイプNS)、メールレコード(タイプMX)、およびその他のサービス(ネーム、ポート、重み、優先度を返すことになるタイプSRV)に関する詳細情報を探す、サーバネームの単一の直接的なルックアップであり得る。DNS応答32は、DNS要求30のこれらの質問に対する回答を含むことができ、DNS要求30がそれを必要とし、常に単なるIPアドレスであるとは限らない場合は、複数回答することができる。
たとえば、DNSメッセージのヘッダセクションは、クエリID、フラグ、質問セクションのエントリ数、回答セクションのエントリ数、機関セクションのエントリ数、および追加のセクションのエントリ数を含むことができる。クエリIDフィールドは、応答をクエリと突き合わせて照合するために要求側サーバ12によって使用されることができる。フラグフィールドは、いくつかのサブフィールドからなることができる。第1は、メッセージがクエリ(0)であるか応答(1)であるかを示す単一ビット(「QR」)であり得る。第2のサブフィールドは4ビットからなることができる。これらのビットは、DNSメッセージ("OPCODE")の目的を記述する値を一緒に形成する。これは、一般に1で、要求側サーバ12と応答側サーバ10との間のクエリトラフィックの「クエリ」を意味するが、他の値は他の目的のために存在する。単一のビットサブフィールド(「AA」)は、DNSサーバ10からの応答の応答セクションの内容が、応答を受信した要求側サーバ12によって信頼できるとみなされるべきかどうかを示すことができる。別の単一のビットサブフィールドは、クライアント(デバイス8、12)が再帰クエリ(「RD」)を送信するかどうかを示すことができる。次の単一のビットサブフィールドは、全てのDNSサーバがこのタスクを実行するように構成されているわけではないため、応答するDNSサーバ10が再帰(「RA」)をサポートするかどうかを示すことができる。別のサブフィールドは、要求30が何らかの理由(「TC」)で切り捨てられたかどうかを示すことができ、4ビットのサブフィールドはステータスを示す。質問セクションは、ドメインネーム(「QNAME」)、レコード(A、AAAA、MX、TXTなど)のタイプ(「QTYPE」)、およびインターネット上での使用のために決定されるネームが通常INであるネームのクラス(「QCLASS」)を含むことができる。ドメインネームは、連結された個別のラベルに分解されることができる。各ラベルは、ラベル自体によって続くそのラベルの長さとして、または同じメッセージ内のドメインネームの別のエンコードへのポインタとして、DNSメッセージのワイヤー形式でエンコードされる。メカニズムは、DNSメッセージのサイズの削減に役立つラベル圧縮と呼ばれる。回答セクションは、質問セクションで記述されるクエリに関連するリソースレコードを含むことができる。単一のドメインネームは、それに関連付けられた同じまたは異なるタイプの複数のリソースレコードを有することができる。権限および追加のセクションは、応答側サーバ10から要求側サーバ12に返される応答のタイプに関連する追加情報を含む。
パケットベースのネットワークトラフィック7の上記の構造からわかるように、ペアリングデータ38を生成して、インターフェース34、36のそれぞれの起点(origin)によってネットワークトラフィック7を事前にソートするためにプロトコルスタックの層がデータ収集システム50によって識別される場合、応答側サーバ10がリアルタイムで様々なトラフィックソースのトレーサビリティを決定することの困難さが回避され得る(すなわち、ネットワークトラフィック7の起点ならびにネットワークトラフィック7を配信するために使用される特定のインターフェース34、36がペアリングデータ38に含まれる(例えば、ネットワークトラフィックXに関するデータペアリングは、ネットワークソースYが配信のためにインターフェースZを使用することである))。したがって、応答側サーバ10は、主にインターフェースZ上でネットワークトラフィックX(ネットワークソースYによってアドレス指定される)を受信することを期待するであろう。換言すると、トラフィック管理システム52がインターフェースZZ(すなわちインターフェースZ以外)を介してネットワークトラフィックZを受信する例では、管理システム52はデータベース24に格納されたペアリングデータ38を照合し、受信したネットワークトラフィックXが誤ったインターフェース、すなわちインターフェースZではなくインターフェースZZで受信されたことに注目するであろう。この識別に基づいて、データ管理システム52は、インターフェースZZで受信されるネットワークトラフィックXにどの優先順位付け基準39を適用するかを決定することができ、それにより、インターフェースZで受信される適切なネットワークトラフィックXを実際に優先順位付けする。上述のように、それら自身の定義されたプライベートネットワークインターフェース34へのアクセスを与えられた重要なトラフィックソース12の数は、インターフェース34、36のマルチインターフェースモデルのプロビジョニングとして、データ管理システム52によって管理可能であることが認識される。このインターフェース34、36のマルチインターフェースモデルは、互いに独立して(そして、より重要なことには、パブリックネットワークインターフェース36を通して独立して入来する攻撃トラフィック)配信される方法において、各トラフィックソース(要求側サーバ12など)の分離を提供する。複数の個別に定義されたインターフェース34、36を介して到着するネットワークトラフィック7と組み合わせてデータベース24に格納されたペアリングデータ38の単純な適用は、スクラビングサービス(scrubbing service)などの「リゾルバサービス」または計算コストが高くしたがって非効率的であるとみなされる機器の従来のデータ管理技術に依存する必要性を低減する。たとえば、スクラビング方法は、ネットワークメッセージが受信されるときにリアルタイムで実行される必要があり、パケット化されたネットワークトラフィックに関してパケットの様々な層が開かれる必要があり、コンテンツは誤ったメッセージについて分析される。これらは、サードパーティのスクラビング供給者によって典型的に管理される望ましくないブルートフォース手法とみなされる。リアルタイムのスクラブ方法を使用することは、要求の応答タイミングに悪影響を与える可能性があると認識される。
したがって、データ管理システム52は、指定されたプライベートネットワークインターフェース(S)34を介して比較的少数の識別された要求側ネットワーク14からの要求ネットワークトラフィック30の処理をもたらすために、要求側サーバトラフィック30と、各要求側サーバ12が機能するエンドユーザ集団(すなわち、ネットワークソース8)のサイズとの間に存在する(ペアリングデータ38の)相関に依存する。ペアリングデータ38の生成および実装は、パブリックネットワークインターフェース36を共有する大部分のエンドユーザ(たとえば、ソースデバイス8など)の体験に影響を与える可能性がある。パブリックネットワークインターフェース36を不適切に使用する任意に識別されたネットワークトラフィック7は、優先順位付け基準を介してそれに応じて(たとえば、ドロップして)対処されることができるため、パブリックネットワークインターフェース36を適切に利用しているエンドユーザ(たとえば、ソースデバイス8)の大部分のために、パブリックネットワークインターフェース36の残りの帯域幅/容量を解放するためである。たとえば、DNSネームサーバ10のインフラストラクチャを使用したネットワークトラフィック7の分析では、30,000を超える11のリゾルバサーバ12が、DNSネームサーバ12が受信したクエリトラフィックのほぼ半分を占めていた。この情報は、11の識別されたリゾルバサーバ12に対するプライベートネットワークインターフェース34のプロビジョニングとともに適切な最初のペアリングデータ38を生成するためにデータ収集システム50によって使用された。したがって、この例では、我々のクエリトラフィック30の半分は、その特性はよく理解されている専用の内部接続(すなわち、プライベートネットワークインターフェース34)経由で到達させることができる。その結果、それらによって利用されるパブリックネットワークインターフェース36で同様に半分になり、不要なまたは処理が難しいトラフィックがエンドユーザに影響を与える可能性がある。したがって、これらのエンドユーザは、応答側サーバ10によってネットワークインターフェース36上で受信されるようなネットワークパスのそれらのクエリトラフィックに関わらず、不明なネットワークトラフィック7による中断のリスクを低減することができる。
上記は、プライベートネットワークインターフェース34を使用して識別された要求側サーバ12と、パブリックネットワークインターフェース36を使用して分散されたソースデバイス8との両方にとって、攻撃トラフィックをソースおよび配信する機能としての主な利点である。規模が大きくなると、事前に定められたペアリングデータ38でマルチインターフェース34、36のアーキテクチャを使用しないと、権限のあるサーバ側で対応する容量を提供するコストと複雑さが増す。簡単に言うと、単純に非インテリジェントにネットワーク14、16、18の容量を増やして、予想されるピークトラフィックに先んじて構築するだけで、高度に分散したボットネットインフラストラクチャと競合することは、もはや不可能であり、費用対効果または実用性を気にすることはない。したがって、専用の要求側サーバ12の相互接続34の成長特性は、ネットワークトラフィック7の容量がパブリックネットワークインターフェース36に到達することを予測するのをはるかに容易にし、両側(要求側サーバ12と応答側サーバ10のオペレータ間)でのオペレータの対話の可能性、および(事前に定められたペアリングデータ38によって例示されるように)関連するネットワークトラフィック7の総合的な理解に対して少なからず感謝する。ネットワークトラフィックパラメータ(パケットヘッダの送信元アドレスなど)の照合/比較によって識別されるように、「不要な」ネットワークトラフィック7が専用の要求側サーバ12の相互接続34上で機能/存在する場合、その根本的な原因を理解して軽減することは実用的なアプローチであり、一般的なサービスをインターネット全体に配信するのとは対照的である。ここで説明したように、特定のトラフィックを担当する事業者を識別することさえ難しい場合がある。
ペアリングデータ38は、指定されたネットワークソースアドレス(例えば、要求側サーバ12のネットワークアドレス)からのそのようなネットワークトラフィック7を期待するプライベートネットワークインターフェース34のインターフェース識別子に関連付けられたネットワークソースアドレスを含むことができる。さらに、オプションとして、ペアリングデータ38はまた、通信プロトコル固有のパラメータ(要求タイプなど)を含めることができる。たとえば、DNSプロトコルの場合、ペアリングデータ38は、DNS固有のパラメータ(QNAME、QTYPE、RCODEなど)を含むことができる。このようにして、ペアリングデータ38は、DNS固有のパラメータ(たとえばQNAME、QTYPE、RCODEなど)及びエニーキャスト配信パラメータ(たとえば、要求側サーバ12のネットワークアドレスの場所固有のパラメータ)の(インターフェース34の)特定の相互接続識別子を有する集約DNSデータを含むために、次元的に拡張される。
したがって、ペアリングデータ38と共に使用されるマルチインターフェース構成の利点は、個々の要求ソースのみなされた正常性がネットワークトラフィック要求30によってとられる経路に依存することである;たとえば、ネットワーク要求トラフィック30の指定された要求側サーバ12(たとえば、Google(登録商標) Public DNS)に関連付けられたソースネットワークアドレスは、そのようなネットワーク要求トラフィック30が指定された要求側サーバ12を使用して直接的な相互接続(すなわち、割り当てられたプライベートネットワークインターフェース34)経由で到着した場合には、そのようなネットワーク要求トラフィック30が他のインターフェース(たとえば、パブリックネットワークインターフェース36)を介して到着した場合よりも、より良い正規スコアを合理的に享受する。データ管理システムは、スプーフィングされる(すなわち、異常とみなされる)と、そのようなネットワーク要求トラフィック30に合理的にアクセスする可能性がある。正規性の識別プロセスに追加されるのは、プロトコルパラメータの追加または置換であり得る。たとえば、要求側サーバ12から不適切に(すなわち、指定された(すなわち、割り当てられた)プライベートネットワークインターフェース34ではなくパブリックネットワークインターフェース36に)到着するネットワーク要求メッセージ30は、ネットワーク要求メッセージ30の関連するプロトコルパラメータ(例えば、要求タイプ)に応じて、異なる方法で処理される/優先順位を下げられることになる。
図2を参照すると、データ管理システム52およびデータ収集システム50は、例えば、専用の受動測定サービス(すなわち、サーバ10、12の間を流れるネットワークトラフィック7を妨害することなくネットワーク要求トラフィック30およびネットワーク応答トラフィック32を聴取するサービス)を有するように構成されたサーバ(図4を参照)上でホストされ得る。たとえば、ネットワーク要求トラフィック30およびネットワーク応答トラフィック32は、ストレージ25に格納されているデータ収集システム50によって定期的(たとえば5分)のデータサンプルウィンドウでキャプチャされる。次に、定期的なウィンドウのこれらのデータサンプルは、データ収集システム50によって、ネットワークトラフィック7の各メッセージをその構成パラメータ(例えば、メッセージソースアドレス、メッセージ宛先アドレス、メッセージタイプ、受信されるインターフェース34、36など)に分解するバッチ処理を行われる。考慮される各パラメータは、パラメータの観測値に従って増加する対応するパラメータカウンタを有する。これらのパラメータカウンタは、定期的に(たとえば、各定期的なウィンドウの後に)フラッシュされ、ストレージ25に集中する。各パラメータカウンタは、各パラメータカウンタが対応する期間を示す正確なタイムスタンプを有する。パラメータの例は、メッセージを運ぶ(例えばDNSなどの)トランスポートプロトコル(現在はDNSプロトコルのUDPまたはTCP)、その下で使用されている(例えばIPなどの)ネットワーク14、16、18のプロトコル(現在はIPv4またはIPv6)、メッセージタイプ(例えばQNAMEなど)、ソースネットワーク14(ソースアドレスから導出された一般化された値)、クエリが受信された応答側サーバ10、およびメッセージが受け取られたインターフェース34、36に割り当てられた相互接続識別子である。受信された全ての要求トラフィック30および送信された応答トラフィック32の集合的なカウントが維持されることが認識されている。このようにして、パラメータカウントは、メッセージを分類するために使用されるパラメータに応じて、応答側サーバ12およびメッセージを期待するインターフェース34、36に関して到着/送信される特定のメッセージの予想される量を識別する。このようにして、ペアリングデータ38は、時間の経過に伴うネットワークトラフィック7の流れなどを予測するために、パラメータカウント、パラメータ自体、メッセージの期間などを含むことができ、それにより、ネットワークトラフィックのアルマナックをストレージ24に確立する(例えば、データ収集システム50により転送され、データ管理システム52により使用されるように)。データ収集システム50および/またはデータ管理システム52は、応答側サーバ10および/または応答側サーバ10と通信する別個のサーバ上でホストされ得ることが認識される。例えば、別個のサーバ実装の場合、応答側サーバ10は、リアルタイムで識別されたネットワークトラフィック7のパラメータを使用して別個のサーバに問い合わせ、その結果、データ管理システム52は、リアルタイムのネットワークトラフィック7のパラメータと特定のインターフェース34、36に関連付けられたペアリングデータ38との比較の結果として、ネットワークトラフィック7が正常または異常に分類されるかどうかを識別することができる。
パラメータカウンタの比較は、データ管理システム52がネットワークトラフィック7の特性を推測することを容易にすることが認識される。たとえば、特定のサンプル期間のウィンドウの場合、直接的なインターフェース34のリンクAを介して到着する全てのネットワーク要求トラフィック30のパラメータカウンタが1000であり、UDPトランスポートを使用するそのような全てのネットワーク要求トラフィック30のパラメータカウンタが980であり、そのような全てのネットワーク要求トラフィック30およびTCPトランスポートが20である場合、我々は、そのサンプル期間のウィンドウの間に、ネットワーク要求トラフィック30の特定の割合(たとえば98%)があるトランスポート(たとえばUDP)を用いて到着し、別の割合(たとえば2%)が別のトランスポート(たとえばTCP)を使用して到着したとみなすことができる。我々は、他のパラメータを使用して、ネットワークトラフィック7をさらに特徴付けることができる。我々は、特定の応答側サーバ10で、受信した全てのネットワーク要求トラフィック30の決定された割合(40%など)が、それぞれのTLD(たとえばCOMなど)で指定されたドメインネームに対するものであることを決定することができるか、またはドメインを要求したランク付けされた順序(例えば、トップテンなど)がドメインの特定のセットであると決定することができる。
さらに、ペアリングデータ38は、経時的に追跡された相関の分析を含み、信号分析を使用してそれらが変化する方法を理解するためにデータ管理システム52によって使用され得る。たとえば、他の規則的な振動がなく、時間とともに徐々に増加する関係は、将来の通常の動作が続くことを予測するために使用され得る。実際には、データ管理システム52は、ネットワークトラフィック7の将来の動作を予測するネットワークトラフィックのアルマナックを構築するのに十分長い時間ベースで観測された信号特性を使用している。信号分析の技術は、例えば、クラスター分析、予測機械学習、単純なフーリエ分析などを含むことができる。
例えば、データ管理システム52は、優先順位付けコマンド40(例えば、RTBHのようなシグナリングのためのBGPへの抽出された軽減データセット)を、例えば、IP層の上流プロバイダに送信することができる。ネットワークデバイス20、21、およびネットワークデバイス21、22へのフロースペックのようなシグナリングは、応答側ネットワーク18と連携して動作する。これらの優先順位付けコマンド40を使用すると、(ペアリングデータ38に含まれるパラメータによって提供されるような)拡張ボキャブラリで上流プロバイダと連携して、単純なRTBH処理で許可されるよりも豊富なパターンマッチングが可能になる。
図1、2、および4を参照すると、1または複数のサーバ装置100(図3参照)で実行されるとき、トレーサビリティシステム53によって実装されるような、トラフィック処理リソースの負担を軽減するために通信ネットワーク14、16、18を介してネットワーク要求トラフィック30のトレーサビリティを決定する方法200が示される。方法200は、1つまたは複数のサーバデバイス100のコンピュータプロセッサ108によって実行されるように、ストレージ24に格納されたアプリケーション107として実装することができる。ステップ202で、サーバ10と事前に定められたソース12との間の通信ネットワーク14、16、18上に直接的な相互接続34がプロビジョニングされ、直接的な相互接続34は、事前に定められたソース12と事前に定められたソース12からアドレス指定されたネットワーク要求トラフィック30を受信するように構成されたサーバ10との間にプライベートサービスインターフェースを提供する。事前に定められたソース12の定義されたペアリングデータ38、直接的な相互接続34は、ネットワークトラフィックアルマナックとしてストレージ24に格納される。ステップ204で、事前に定められたソース12および他のソース(例えば8)からアドレス指定されたネットワーク要求トラフィック30を受信するように構成された、通信ネットワーク14、16、18上のパブリックサービスインターフェース36がプロビジョニングされ、パブリックサービスインターフェース36は、直接的な相互接続34とは別個である。ステップ206で、直接的な相互接続34を介して事前に定められたソース12からアドレス指定された第1の要求トラフィック30が受信され、ステップ208で、応答側サーバ10は、第1のクエリ応答32を生成し、通信ネットワーク14、16、18を介して事前に定められたソース12と通信するためのダイレクト34およびパブリックサービスインターフェース36の少なくとも1つを介して第1のクエリ応答32を送信することによって第1の要求トラフィック30を処理する。ステップ210で、パブリックサービスインターフェース36を介して事前に定められたソース12のアドレスを有する第2の要求トラフィック30が受信される。ステップ212で、データ管理システム52は、定められたペアリングデータ38をアドレスと比較して、第2の要求トラフィック30が事前に定められたソース12と一致することを決定するために照合され、その結果、事前に定められたソース12は、事前に定められたソース12に関連するペアリングデータ38のインターフェースIDを介してペアリングデータ38によって識別されるように、直接的な相互接続34に関連付けられる。ステップ214で、データ管理システム52および/または応答側サーバ10は、比較の結果を利用して、第2の応答トラフィック32を生成する前に第2の要求トラフィック30に優先順位付け基準39を動的に適用することにより、直接的な相互接続34ではなくパブリックサービスインターフェース36で受信される第2の要求トラフィック30に基づく要求トラフィック30の第2のサーバ10による処理の優先順位を下げることにより、ペアリングデータ38に関連付けられた優先順位付け基準(ia)39を実装する。優先順位付け基準(ia)39の実装は、ステップ216で、ネットワーク18、サブネットワーク18a、及びサブネットワーク16aのうちの少なくとも1つにおける1つまたは複数のネットワークデバイス21、22に優先順位付けコマンド40を送信することを含み得ることが認識される。
また、上記でより詳細に説明したように、データ収集システム50によってカウントデータに追加するためにネットワークトラフィック7を分析し、次にストレージ24に格納されたカウントデータを使用してネットワークトラフィックのアルマナック内のペアリングデータ38を更新するステップ218および220が示される。ステップ222は、ネットワークトラフィック7を動的に監視し、監視の分析結果に基づいて優先順位付け基準39を調整することを含むことができる。
上記を考慮して、最初に説明した実施形態は、物理的な相互接続として構成された、および/またはネットワーク14、18に関して仮想的な(すなわち論理的な)相互接続インターフェース34を提供する1つまたは複数の論理トンネルにおける、直接的な相互接続としてのプライベートネットワークインターフェース34の例であることが認識される。したがって、応答側ネットワーク18(例えば、権限のあるDNSサーバ10を含み、DNS要求/応答データ30、32を発行するもの)とパートナー要求側ネットワーク14(例えば、ネットワークソースデバイス8としてエンドユーザに代わってサーバ10にDNS応答32のデータを要求するDNSリゾルバサーバ12を含む)との間のプライベート直接ネットワーク相互接続34。この直接的な相互接続34なしでは、サーバ12は要求30をサーバ10に送信し、サーバ10は対応する応答32を公衆インターネット(例えばパブリックネットワークインターフェース36)を介してサーバ12に送信することが認識される。インターネット(例えば、ネットワーク16など)は、悪意のある無害な望ましくないランダムな混乱で満たされる可能性があることが認識されるため、パブリックネットワークインターフェース36のインフラストラクチャ(例えば、デバイス21など)に関連するこれらの要求30および応答32は、ネットワークリソースのための多くの他のトラフィック7のジャンク(junk)と競合する必要がある。たとえば、現在のDNSプロトコルの性質は、正当なトラフィック7と区別してトラフィックをジャンクと区別することを難しくする可能性があるため、潜在的に正当なトラフィック7に優先順位を付けることは困難である。定められた直接的な相互接続34を用いて、この問題を最小限に抑えることができるように、トラフィック7のジャンクがまったくないか、ほとんどない(たとえば、減少する)ことが予想される。インターネット16からのトラフィック7のジャンクがネットワーク7のジャンクの津波になる場合、定められた直接的なパス(たとえば、プライベートネットワークインターフェース34)は影響を受けず、サーバ12を使用するエンドユーザは停止を認識できない場合がある。サーバ10は、たとえネットワーク16を介して他のサーバ12のシステムが利用できても、サーバ12を利用できないためである。
したがって、最初に説明した実施形態の実装は、以下に限定されないが、(a)サーバ12がエンドユーザネットワークソースデバイス8にサービスを提供するために必要な応答32のデータをサーバ12に提供する能力、および(b)様々な理由(たとえば、データ38、39および/またはドメインネーム業界に関する従来のビジネスインテリジェンスの生成および利用)のために応答側サーバ10(および一般的に応答側ネットワーク14のサーバ)に役立つ、サーバ12が要求している要求30に関する統計など、いくつかの利点を提供することができる。
説明した第2の実施形態に関して、データレベルの相互接続として提供されるプライベートネットワークインターフェース34に関して、サーバ10、55がサーバ12、12aに全てのデータ(例えば、応答側サーバ10に利用可能なコンテンツデータ41)の完全なセットを事前に提供できる場合、それを最新の状態に保ち、サーバ12は要求ごとにリアルタイムでクエリをサーバ10に送信する必要はない。サーバ12は受信したネットワーク要求30を個別に満たすために必要なコンテンツデータ41aへのローカルアクセスを既に持っているためである。また、サーバ12、12aがサーバ10、55にプライベートネットワークインターフェース34を介して送信することになるクエリ30の統計(例えば、ペアリングデータ38a)を供給することができるが、コンテンツデータ41aとの照合により独立して処理された場合、サーバ10、55は依然として、サーバ10、55がプライベートネットワークインターフェース34上で通常受信することになるトラフィック7の統計についての有利な知識を有することになる。これは、共有コンテンツデータ41aによって例示されるデータレベルの相互接続によって定義され得るものである。
第2の実施形態を実装することのさらなる利点は、要求側ネットワーク14が、その顧客(ネットワークソースデバイス8)に代わってパブリック要求側(例えばリゾルバ)サービスを操作する複数の場所(すなわちサーバ12)を有することができることである。これらの様々なロケーションは、限られたローカルリソース(ラックスペース、電源など)を有し、多くのロケーションはローカル(人間)のエンジニアリングキャパシティに制限される(したがって、それら全てを同一にするために本当に一生懸命に努力している)。ロケーションの数は動的に変化する可能性がある。さらに、複数のロケーションは、プライベートネットワークで直接接続されない場合がある。したがって、プロビジョニングおよびコンテンツデータ(たとえば、メタデータ)は、調整サーバ12aによって、ネットワークを介して各ロケーション(すなわち、サーバ12またはサーバ12の集合)にプッシュされ得る。ロケーションの数が応答側ネットワーク18のサーバ10のロケーションの数よりも実質的に多い状況では、第1の実施形態の直接的なネットワーク相互接続34の実装は、実用的/効率的でない可能性がある(たとえば、制限により、全てのサーバ12のロケーション毎にサーバ10のマイクロノードをインストールすることは、コストおよび/またはサーバ55の管理のための運用ロジスティックスの観点から実用的ではない可能性がある)。
したがって、データレベルの相互接続34がより適切に思われる状況では、要求側ネットワーク14のインフラストラクチャは、独自のプロビジョニングシステムを使用する全てのサーバ12の場所にメタデータ(たとえば、コンテンツデータ41aおよび/または優先順位付けデータ39a)をプッシュし、サーバ55での中央分析のために豊富なテレメトリ(すなわち、データのペアリング38a)を復元するために利用され得る。原則として、データ41、39はサーバ12、12aのメタデータとみなすことができ、ネットワーク要求30yの独立した処理に消費及び使用され、プライベートネットワーク相互接続34を介した応答側ネットワーク18のサーバ12、55を用いて要求30毎にリアルタイムのインタラクションをバイパスする。さらに、ネットワーク要求30の独立した処理から受信された統計38aのサブセットは、上述のように、サーバ10、55が利用するデータ38と一致することができる。
上記に鑑みて、第2の実施形態は、プライベートネットワークインターフェース34の第2の実施形態を表す上記のデータレベルの相互接続のように、コンテンツデータ41a(要求/応答30、32関連データを含む)をそれらのキャッシュに事前に入力することにより、要求側サーバ12のキャッシュにクリアチャネルを実装する方法と呼ぶことができる。説明したように、要求側ネットワーク14と応答側ネットワーク18のサーバがどのようにインタラクションして、ゾーン全体のデータ(たとえば、要求側ネットワーク14にコンテンツデータ41aとして格納されている応答側ネットワーク18のコンテンツデータ41)をシフトできるかが示される。コンテンツデータ41、41aは、要求/応答30、32の関連データを含むことができるが、分析データ60aは、必要に応じて、ペアリングデータ38、38aおよび/または優先順位付けデータ39、39aを含むことができることが認識される。
したがって、データ収集モジュール50は、アルマナック(たとえば、分析データ60)を構築するために、(説明された第1および第2の有効な実施形態が両方とも同じサーバ55および/または組み合わされたデータベース24に関して実行される状況において)データ38、38aの多様なソースを利用することができ、その一部は、トラフィック7の優先順位付けにデータを適用できるインフラストラクチャに関連することになるが、必ずしも全てではないことが認識される。例えば、(例えば、コンテンツデータ41aを利用する独立した要求側サーバ12の動作からの、および/またはコンテンツデータ41と照合して応答側サーバ10の動作からの)多種多様なデータソースを使用する分析データ60の構築は、ネットワーク14、16、18で観測されたトラフィック7に関連する。組み込むことができる信頼性の高いデータペアリング38、38aの数に制限はない。その結果、データペアリング38、38aは、応答側サーバ10及び関連付けられたサーバ55によって実行されるインフラストラクチャ(例えば、応答側ネットワーク18など)だけに制限されない。我々は、得られた他のデータペアリング38、38aを有用に組み込むことができる。さらに、分析データ60は、使用して、分析データ60が異なるインフラストラクチャ(例えば、要求側ネットワーク14)から得られたデータのペアリング38aを含むことができたとしても、(例えば、応答側ネットワーク18における)独自のインフラストラクチャにおけるトラフィック7の優先順位付けを導くために使用され得る。他の用途があり得る:たとえば、我々は、分析データ60を使用して、特定のタイプのDNSクエリ30または異なるTLDでのアクティビティを予測することができる;我々は、他のサードパーティのサーバ(図示せず)に分析データ60へのアクセスを有料で提供し、その結果、彼らは他のサードパーティのデータセットを構築することができる。そのため、分析データ60(特に、要求/応答30、32のデータと一緒に、または独立した、ペアリングデータ38及び優先順位付けデータ39の一方)は、特定のネットワーク14、18でのトラフィック7の優先順位付け以外の他の潜在的な使用を有することができる。
図3を参照すると、サーバデバイス100(例えば、応答側サーバ10およびトレーサビリティサーバ55、ならびにストレージ24(メモリ122))の例が示される。図3aに関して、サーバデバイス(例えば、要求側サーバ12および/または調整サーバ12a)について、ストレージ24は、メモリ122’を表すことができる。
要求側サーバ12、応答側サーバ10、および任意選択でのトレーサビリティサーバ55のコンピュータデバイス100のためのストレージ24の上記の説明を考慮して、ストレージ24は、格納されたデータ(例えば、ネットワークトラフィックのアルマナックに関連付けられたペアリングデータ38及び優先順位付け基準39)を順に保持するように構成され得る。格納されたデータに対する主要な(または唯一の)操作は、ストレージ24(たとえばFIFO、FIAOなど)からの格納されたデータの追加/修正または削除である。例えば、ストレージ24は、格納されたデータの格納およびその後のアクセスのための線形データ構造であることができ、および/または格納されたデータの格納およびその後のアクセスのための非線形データ構造であることができる。
さらに、ストレージ24は、後で処理するために格納され保持されるデータなどの様々なエンティティを受け取る。これらのコンテキストでは、ストレージ24は、あるロケーションから別のロケーション(すなわち、コンピュータデバイス100の間)にデータが移動している間、データ(たとえば、カテゴリカウント)を一時的に保持するために使用されるメモリ領域である、バッファの機能を実行することができる。典型的には、1又は複数のコンピュータ内/コンピュータ間でのプロセス間でデータを移動すると、データはメモリに格納される。ストレージ24は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装できることが認識される。ストレージ24は、データが受信される速度/時間とデータが(例えば、最終的にデバイス100によって)処理されることができる速度/時間との間に差があるとき、ネットワークシステム6において使用される。
さらに、本明細書に記載のメモリ/ストレージ24は、コンピュータプロセッサ/モジュールによるアクセスのためにデータを電磁的または光学的形式で保持できる物理的なロケーションであることは、当業者には理解されよう。一般的な使用法は2つある:第1に、メモリは、ハードディスク及びテープシステムなどの入出力操作を通じてコンピュータに接続されたデバイス及びデータ、並びにコンピュータメモリ及び他のコンピュータ内ストレージを含まない他の形式のストレージを意味するために頻繁に使用される。第二に、より正式な使用法では、メモリ/ストレージ24は:(1)データをメモリ(ランダムアクセスメモリまたはRAMと呼ばれることもある)及びプロセッサのL1などの他の「組み込み」デバイスキャッシュに保持するプライマリストレージと、および(2)ハードディスク、テープ、および入出力操作を必要とするその他のデバイス上のデータを保持するセカンダリストレージと、に分割され得る。プライマリストレージは、ストレージがプロセッサに近いため、またはストレージデバイスの性質のため、セカンダリストレージよりも高速にアクセスできる。一方、セカンダリストレージは、プライマリストレージよりもはるかに多くのデータを保持することができる。プライマリストレージは、RAMに加えて、読み取り専用メモリ(ROM)とL1およびL2キャッシュメモリを含む。セカンダリストレージは、ハードディスクに加えて、ディスケット、Zipドライブ、独立ディスクの冗長アレイ(RAID)システム、ホログラフィックストレージなど、様々なデバイスタイプ及び技術を含む。ストレージを保持するデバイスは、まとめてストレージメディアと呼ばれる。したがって、カウントデータを保持するために使用されるストレージは、セカンダリストレージであることができ、ペアリングデータ38および/または優先順位付け基準39を保持するために使用されるストレージは、プライマリストレージであり得る。
データベースは、容易にアクセス、管理、および更新できるように編成された情報の集合としてのメモリ24の一実施形態である。あるビューでは、データベースはコンテンツのタイプ(書誌、フルテキスト、数値、画像)に従って分類されることができる。コンピューティングでは、データベースは組織的なアプローチに従って分類されることがある。最も普及しているアプローチは、リレーショナルデータベースである。リレーショナルデータベースでは、表形式のデータベースにデータが定義されており、様々な方法で再編成およびアクセスされることができる。分散データベースは、ネットワーク内の様々なポイント間で分散または複製できるデータベースの1つである。オブジェクト指向プログラミングデータベースは、オブジェクトクラスとサブクラスで定義されたデータと一致するデータベースの1つである。コンピュータデータベースは、典型的に、販売トランザクション、製品カタログ及び在庫、並びに顧客プロファイルなどのデータレコードまたはファイルのアグリゲーションを含む。典型的に、データベースマネージャは、読み取り/書き込みアクセスの制御、レポート生成の指定、使用状況の分析などの機能をユーザに提供する。データベース及びデータベースマネージャは、大規模なメインフレームシステムで広く使用されているが、小規模な分散型ワークステーションやAS/400などの中規模システムやパーソナルコンピュータにも存在する。SQL(構造化照会言語)は、IBM(登録商標)のDB2、Microsoft(登録商標)のAccess、Oracle(登録商標)、Sybase(登録商標)、およびComputer Associates(登録商標)からのデータベース製品などのデータベースからインタラクティブな照会を行ったり、データベースを更新したりするための標準言語である。
メモリ/ストレージ24は、コンピュータのマイクロプロセッサが迅速に到達できる命令およびデータのための物理的な電子的保持場所として定義することもできる。コンピュータが正常に動作している場合、そのメモリは通常、オペレーティングシステムの主要部分と、使用されているアプリケーションプログラムと関連データの一部または全てを含む。メモリは、ランダムアクセスメモリ(RAM)の短い同義語としてよく使用される。この種類のメモリは、コンピュータのマイクロプロセッサに物理的に近い1つ又は複数のマイクロチップに配置される。
サーバに関して、コンピュータデバイス100は、ハードウェア、ソフトウェア、または典型的にはハードウェアとソフトウェアの両方の組み合わせとして構成され、ソケットリスナーとして動作するネットワークエンティティを提供できることが認識される。リソース(たとえばデータ)を1つ又は複数のクライアントプロセスと共有する任意のコンピュータ化されたプロセスは、ネットワークシステム6でサーバとして分類できることが認識される。サーバという用語は、ホストがネットワーク14、16、18を介して他のコンピュータまたは電子デバイスをリンクする1つ又は複数の構成済みコンピュータとなるように、1つ又は複数のそのようなプログラムを実行するために展開されるホストを記述するために一般化することもできる。要求側サーバ12、応答側サーバ10、および任意選択でトレーサビリティサーバ55の機能を実装するコンピュータデバイス100は、ネットワーク14、16、18全体で特殊なサービスを提供することができる。ネットワークシステム6では、サーバ12、10、55は、専用の機能を有することができ、および/または説明したように機能を共有することができる。エンタープライズサーバは、ビジネスコンテキストで使用されるサーバであり、あらゆる機能のあるコンピュータハードウェア上で実行できる。ハードウェアの意味では、サーバという単語は、典型的には、ネットワーク14、16、18環境の厳しい要求の下でソフトウェアアプリケーションを実行するためのコンピュータモデルを指す。このクライアント/サーバ構成では、1つ又は複数のマシン(コンピュータまたはコンピュータプライアンス)が互いに情報を共有し、一方が他方のホストとして機能する。ほぼ全てのパーソナルコンピュータはネットワークサーバとして機能することができるが、専用サーバはプロダクション環境により適した特徴を含むことになる。これらの特徴は、より高速なCPU、向上した高性能RAM、および典型的には複数の大容量ハードドライブを含み得る。より明白な特質は、電源、ネットワーク接続、さらにはサーバ自体のマークされた冗長性を含む。
図3を参照すると、要求側サーバ12、応答側サーバ10、および/またはトレーサビリティサーバ55のトレーサビリティサービス53の機能を実装するコンピューティングデバイス100は、接続118を介してデバイスインフラストラクチャ104に結合されているネットワークインターフェースカードまたはモデムなどのネットワーク接続インターフェース101を含むことができる。接続インターフェース101は、デバイスの動作中にネットワーク14、16、18(例えば、イントラネットおよび/またはインターネットなどのエクストラネット)に接続可能であり、これにより、デバイスが互いに適切に通信することが可能になる。ネットワーク14、16、18は、通信7、30、32、40および関連コンテンツの通信をサポートすることができる。
再び図3を参照すると、デバイス100は、接続122によってデバイスインフラストラクチャ104に結合された、ユーザ(例えば、サーバアドミニストレータ(図示せず))と対話するためのユーザインターフェース102も有することができる。ユーザインターフェース102は、これらに限定されないが、QWERTYキーボード、キーパッド、スタイラス、マウス、マイク、およびLCD画面ディスプレイおよび/またはスピーカーなどのユーザ出力デバイスなどの1つまたは複数のユーザ入力デバイスを含むことができる。画面がタッチセンシティブである場合、ディスプレイは、デバイスインフラストラクチャ104によって制御されるユーザ入力デバイスとしても使用され得る。
再び図3を参照すると、デバイス100の動作は、デバイスインフラストラクチャ104によって促進される。デバイスインフラストラクチャ104は、1つまたは複数のコンピュータプロセッサ108を含み、関連するメモリ122(例えば、メモリ24)を含むことができる。コンピュータプロセッサ108は、ネットワークインターフェース101、ユーザインターフェース102およびタスク関連の命令を実行することによるデバイス100の他のアプリケーションプログラム/ハードウェアの動作を通じて、意図されたタスク(例えば、トレーサビリティサービス53のそれぞれのモジュール50、52)用に構成されたデバイス100のパフォーマンスを促進する。これらのタスク関連の命令は、オペレーティングシステム、及び/又はメモリ122にあるソフトウェアアプリケーション、及び/又は特定のタスクを実行するように設計されたプロセッサ108の電子/デジタル回路に構成された操作性によって提供されることができる。さらに、デバイスインフラストラクチャ104は、プロセッサ108に結合されたコンピュータ可読記憶媒体を含み、プロセッサ108に命令を提供し、および/または命令107をロード/更新することができる(たとえば、モジュール50、52および/またはペアリングデータ38および/または優先順位付け基準39に対する追加/削除/修正)。コンピュータ可読媒体は、単なる例として、磁気ディスク、磁気テープ、CD/DVD ROMなどの光学的に読み取り可能な媒体、およびメモリカードなどのハードウェアおよび/またはソフトウェアを含むことができる。いずれの場合にも、コンピュータ可読媒体は、メモリモジュールに提供される小さなディスク、フロッピー(登録商標)ディスケット、カセット、ハードディスクドライブ、ソリッドステートメモリカード、またはRAMの形をとることができる。上記の例示的なコンピュータ可読媒体は、単独でまたは組み合わせて使用できることに留意されたい。
さらに、コンピューティングデバイス100は、例えば、オペレーティングシステムおよびモジュール50、52の機能/動作を含む所定の機能/動作を実装するためのコードまたは機械可読命令を含む実行可能なアプリケーションを含み得ることが認識される。本明細書で使用されるプロセッサ108は、モジュール50、52のいずれかまたは全てによって実行される動作を含む、上記の例によって説明される動作を実行するための構成済みデバイスおよび/または機械可読命令のセットである。本明細書で使用されるように、プロセッサ108は、ハードウェア、ファームウェア、および/またはソフトウェアのいずれか1つまたはそれらの組み合わせを含むことができる。プロセッサ108は、実行可能な手順または情報デバイスによる使用のために情報を操作、分析、修正、変換または送信することにより、および/または出力デバイスに対して情報をルーティングすることにより、情報に作用する。プロセッサ108は、例えば、コントローラまたはマイクロプロセッサの機能を使用または備えることができる。したがって、モジュールの機能のいずれも、ハードウェア、ソフトウェア、または両方の組み合わせで実装することができる。したがって、デバイスとしての、および/または機械可読命令のセットとしてのプロセッサ108の使用は、以後、簡略化のためにプロセッサ/モジュールと総称される。さらに、トレーサビリティサービス53は、必要に応じて、モジュールを実装するための1つまたは複数のコンピューティングデバイス100(ハードウェアおよび/またはソフトウェアを含む)を含むことができることが認識される。
図3aを参照すると、要求側サーバ12および/または調整サーバ12aの機能を実装するコンピューティングデバイス100は、デバイスインフラストラクチャ104’に対する接続118’を介して結合されたネットワークインターフェースカードまたはモデムなどのネットワーク接続インターフェース101’を含むことができる。接続インターフェース101’は、デバイスの動作中に、ネットワーク14、16、18(例えば、イントラネットおよび/またはインターネットなどのエクストラネット)に接続可能であり、これにより、デバイスが互いに適切に通信することが可能になる。ネットワーク14、16、18は、通信7、30、32、40および関連コンテンツの通信をサポートすることができる。
再び図3aを参照すると、デバイス100はまた、ユーザ(例えば、図示されていないサーバ管理者)と対話するために、接続によってデバイスインフラストラクチャ104’に結合されたユーザインターフェース102’を有することができる。ユーザインターフェース102’は、限定されないが、QWERTYキーボード、キーパッド、スタイラス、マウス、マイク、およびLCD画面ディスプレイおよび/またはスピーカーなどのユーザ出力デバイスなどの1つまたは複数のユーザ入力デバイスを含むことができる。画面がタッチセンシティブの場合、デバイスインフラストラクチャ104’によって制御されるように、ディスプレイをユーザ入力デバイスとして使用することもできる。
再び図3aを参照すると、デバイス100の動作は、デバイスインフラストラクチャ104’によって促進される。デバイスインフラストラクチャ104’は、1つまたは複数のコンピュータプロセッサ108’を含み、関連するメモリ122’(例えば、メモリ24)を含むことができる。コンピュータプロセッサ108’は、ネットワークインターフェース101’、ユーザインターフェース102’、およびタスク関連の命令を実行することによるデバイス100の他のアプリケーションプログラム/ハードウェアの動作を通じて、意図されたタスク(例えば、それぞれのモジュール)のために構成されたデバイス100のパフォーマンスを促進する。これらのタスク関連の命令は、オペレーティングシステム、および/またはメモリ122’にあるソフトウェアアプリケーション、および/または特定のタスクを実行するように設計されたプロセッサ108’の電子/デジタル回路に構成された操作性によって提供され得る。さらに、デバイスインフラストラクチャ104’は、プロセッサ108’に結合されたコンピュータ可読記憶媒体を含み、プロセッサ108’に命令を提供し、および/または命令107をロード/更新することができる(たとえば、モジュールおよび/またはペアリングデータ38aおよび/または優先順位付け基準39aに対する追加/削除/修正)。コンピュータ可読媒体は、単なる例として、磁気ディスク、磁気テープ、CD/DVD ROMなどの光学的に読み取り可能な媒体、およびメモリカードなどのハードウェアおよび/またはソフトウェアを含むことができる。いずれの場合にも、コンピュータ可読媒体は、メモリモジュールに提供される小さなディスク、フロッピー(登録商標)ディスケット、カセット、ハードディスクドライブ、ソリッドステートメモリカード、またはRAMの形をとることができる。上記の例示的なコンピュータ可読媒体は、単独でまたは組み合わせて使用できることに留意されたい。
さらに、コンピューティングデバイス100は、例えば、オペレーティングシステムおよびモジュールのものを含む所定の機能/動作を実装するためのコードまたは機械可読命令を含む実行可能なアプリケーションを含み得ることが認識される。本明細書で使用されるプロセッサ108’は、モジュールのいずれかまたは全てによって実行される動作を含む、上記の例によって説明される動作を実行するための構成済みデバイスおよび/または機械可読命令のセットである。本明細書で使用する場合、プロセッサ108’は、ハードウェア、ファームウェア、および/またはソフトウェアのいずれか1つまたはそれらの組み合わせを含むことができる。プロセッサ108’は、実行可能な手順または情報デバイスによる使用のために情報を操作、分析、修正、変換または送信することにより、および/または出力デバイスに関して情報をルーティングすることにより、情報に作用する。プロセッサ108’は、例えば、コントローラまたはマイクロプロセッサの機能を使用または備えることができる。したがって、モジュールの機能のいずれも、ハードウェア、ソフトウェア、または両方の組み合わせで実装することができる。したがって、デバイスとしての、および/または機械可読命令のセットとしてのプロセッサ108’の使用は、以後、簡単にするために一般的にプロセッサ/モジュールと呼ばれる。
上記を考慮して、コンピューティングデバイス100は、単一のコンピュータシステムとして示されるが、必要に応じて、コンピュータプロセッサのネットワークとして実装され得ることが理解されよう。