(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6945787
(24)【登録日】2021年9月17日
(45)【発行日】2021年10月6日
(54)【発明の名称】異種アプリケーションを可能にする持続的なフロー識別子
(51)【国際特許分類】
H04L 12/70 20130101AFI20210927BHJP
【FI】
H04L12/70 100Z
【請求項の数】19
【全頁数】19
(21)【出願番号】特願2018-560983(P2018-560983)
(86)(22)【出願日】2017年6月12日
(65)【公表番号】特表2019-521581(P2019-521581A)
(43)【公表日】2019年7月25日
(86)【国際出願番号】IB2017053462
(87)【国際公開番号】WO2017212461
(87)【国際公開日】20171214
【審査請求日】2019年11月25日
(31)【優先権主張番号】15/179,442
(32)【優先日】2016年6月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(73)【特許権者】
【識別番号】512064675
【氏名又は名称】ナパテック アクティーゼルスカブ
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ウエスト、ベン、アレクサンダー
(72)【発明者】
【氏名】クチュリエ、ラッセル
(72)【発明者】
【氏名】デアプ、ヴィジェイ
(72)【発明者】
【氏名】ジョンストン、パトリック、ヴィンセント
(72)【発明者】
【氏名】バード、ウィリアム、アレクサンダー
(72)【発明者】
【氏名】アガーホルム、アレックス
【審査官】
野元 久道
(56)【参考文献】
【文献】
特表2003−509906(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
プロセッサと、前記プロセッサによって実行されて、前記プロセッサにネットワーク追跡を実施させる命令を含むメモリとを備える、データ処理システムにおける方法であって、前記方法は、
ネットワークを通して送信される、1つまたは複数のパケットを含む1つまたは複数のパケット・フローを、ネットワーク・タップを通して受信することと、
フロー・インスペクタを通して、前記1つまたは複数のパケット・フローの1つまたは複数の開始パケットを識別することと、
前記フロー・インスペクタを通して、フロー識別子を用いた、前記1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことであって、前記フロー識別子は一意識別子及び増加値を含み、前記増加値は、一意的なパケット・フローが識別されるたびに単調に増加される、タグ付けを行うことと、
タイム・スタンパを通して、タイムスタンプを用いた、前記1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことと、
前記ネットワーク追跡を通して、1つまたは複数のタグ付けされたパケットを、前記ネットワークに接続された1つまたは複数のセカンダリ・システムに転送することと
を含む、方法。
【請求項2】
前記タイム・スタンパを通して、前記パケット・フローのための前記1つまたは複数の開始パケットが識別された時刻に基づいた、前記タイムスタンプへのタグ付けを行うこと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記フロー・インスペクタを通して、前記一意識別子を前記ネットワーク・タップの識別子と関連付けること
をさらに含む、請求項1または2に記載の方法。
【請求項4】
前記フロー・インスペクタを通して、パケット・カプセル化を通した、前記1つまたは複数のパケット・フローへのタグ付けを行うこと
をさらに含む、請求項1ないし3のいずれかに記載の方法。
【請求項5】
前記フロー・インスペクタを通して、フロー識別子を用いた、前記1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことは、1つまたは複数のファームウェア・アプリケーション・プログラム・インターフェースを通した、前記1つまたは複数のパケット・フローへのタグ付けを行うことを含む、請求項1ないし4のいずれかに記載の方法。
【請求項6】
プロセッサと、前記プロセッサによって実行されて、前記プロセッサにネットワーク追跡を実施させる命令を含むメモリとを備える、データ処理システムにおける方法であって、前記方法は、
タイム・スタンパおよびフロー・インスペクタを備える第1のキャプチャ・アプリケーションを通して、1つまたは複数の原パケットを含む1つまたは複数のパケット・フローをネットワークから受信することと、
前記タイム・スタンパを通して、タイムスタンプを用いた、各原パケットへのタグ付けを行うことと、
前記フロー・インスペクタを通して、フロー識別子を用いた、各原パケットへのタグ付けを行うことであって、前記フロー識別子は一意識別子及び増加値を含み、前記増加値は、一意的なパケット・フローが識別されるたびに単調に増加される、タグ付けを行うことと、
パケット・リポジトリを使用して、前記1つまたは複数のタグ付けされたパケットを記憶することと
を含む、方法。
【請求項7】
各々がタイム・スタンパおよびフロー・インスペクタを備える1つまたは複数の追加の第1のキャプチャ・アプリケーションを通して、前記1つまたは複数のパケット・フローをネットワークから受信することと、
各タイム・スタンパを通して、タイムスタンプを用いた、各原パケットへのタグ付けを行うことと、
各フロー・インスペクタを通して、フロー識別子を用いた、各原パケットへのタグ付けを行うことであって、前記フロー識別子は一意識別子及び増加値を含み、前記増加値は、一意的なパケット・フローが識別されるたびに単調に増加される、タグ付けを行うことと、
パケット・リポジトリを通して、前記1つまたは複数のタグ付けされたパケットを記憶することと
をさらに含む、請求項6に記載の方法。
【請求項8】
前記パケット・リポジトリを通して、各タグ付けされたパケットの一意識別子を使用して、前記1つまたは複数のタグ付けされたパケットを集約すること
をさらに含む、請求項7に記載の方法。
【請求項9】
各フロー・インスペクタを通して、前記一意識別子を特定の第1のキャプチャ・アプリケーションと関連付けること
をさらに含む、請求項7または8のいずれかに記載の方法。
【請求項10】
各フロー・インスペクタを通して、パケット・カプセル化を通した、前記1つまたは複数のパケット・フローへのタグ付けを行うこと
をさらに含む、請求項6ないし9のいずれかに記載の方法。
【請求項11】
各フロー・インスペクタを通して、フロー識別子を用いた、前記1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことは、1つまたは複数のファームウェア・アプリケーション・プログラム・インターフェースを通した、前記1つまたは複数のパケット・フローへのタグ付けを行うことを含む、請求項6ないし10のいずれかに記載の方法。
【請求項12】
プロセッサと、前記プロセッサによって実行されて、前記プロセッサにネットワーク追跡を実施させる命令を含むメモリとを備える、データ処理システムにおける方法であって、前記方法は、
1つまたは複数の第1のキャプチャ・アプリケーションを通して、フロー識別子およびプライマリ・タイムスタンプを用いた、ネットワーク・データの1つまたは複数の原パケットを含む1つまたは複数のパケット・フローへのタグ付けを行うことであって、前記フロー識別子は一意識別子及び増加値を含み、前記増加値は、一意的なパケット・フローが識別されるたびに単調に増加される、タグ付けを行うことと、
前記1つまたは複数の第1のキャプチャ・アプリケーションを通して、1つまたは複数のタグ付けされたパケット・フローを、1つまたは複数の他のキャプチャ・アプリケーションに転送することと、
前記1つまたは複数の他のキャプチャ・アプリケーションを通して、各タグ付けされたパケット・フローの一意識別子に基づいて、前記1つまたは複数の第1のキャプチャ・アプリケーションから転送された前記1つまたは複数のタグ付けされたパケット・フローを集約することと
を含む、方法。
【請求項13】
前記1つまたは複数の他のキャプチャ・アプリケーションを通して、前記1つまたは複数の他のキャプチャ・アプリケーションによって受信された時刻に基づいたセカンダリ・タイムスタンプを用いた、前記1つまたは複数の他のキャプチャ・アプリケーションによって受信された前記1つまたは複数のタグ付けされたパケット・フローへのタグ付けを行うこと
をさらに含む、請求項12に記載の方法。
【請求項14】
前記1つまたは複数の他のキャプチャ・アプリケーションを通して、前記1つまたは複数の第1のキャプチャ・アプリケーションによって割り当てられた前記プライマリ・タイムスタンプを用いて、前記セカンダリ・タイムスタンプを置換すること
をさらに含む、請求項13に記載の方法。
【請求項15】
各第1のキャプチャ・アプリケーションを通して、前記一意識別子を特定の第1のキャプチャ・アプリケーションと関連付けること
をさらに含む、請求項12ないし14のいずれかに記載の方法。
【請求項16】
各第1のキャプチャ・アプリケーションを通して、パケット・カプセル化を通した、前記1つまたは複数のパケット・フローへのタグ付けを行うこと
をさらに含む、請求項12ないし15のいずれかに記載の方法。
【請求項17】
各第1のキャプチャ・アプリケーションを通して、フロー識別子を用いた、前記1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことは、1つまたは複数のファームウェア・アプリケーション・プログラム・インターフェースを通した、前記1つまたは複数のパケット・フローへのタグ付けを行うことを含む、請求項12ないし16のいずれかに記載の方法。
【請求項18】
プロセッサと、前記プロセッサにネットワーク追跡を実施させるための命令を含むメモリとを備えるコンピュータ・システムであって、
ネットワークを通して送信される、1つまたは複数のパケットを含む1つまたは複数のパケット・フローを受信するネットワーク・タップと、
前記1つまたは複数のパケット・フローの1つまたは複数の開始パケットを識別し、かつ、フロー識別子を用いた前記1つまたは複数のパケット・フローの各パケットへのタグ付けを行うフロー・インスペクタであって、前記フロー識別子は一意識別子及び増加値を含み、前記増加値は、一意的なパケット・フローが識別されるたびに単調に増加される、フロー・インスペクタと、
タイムスタンプを用いた、前記1つまたは複数のパケット・フローの各パケットへのタグ付けを行うタイム・スタンパと、を備え、
1つまたは複数のタグ付けされたパケットを、前記ネットワークに接続された1つまたは複数のセカンダリ・システムに転送する、コンピュータ・システム。
【請求項19】
コンピュータに、請求項1ないし17のいずれか一項に記載の前記方法を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、一般に、後の集約用に、1つまたは複数のネットワーク・アプリケーションを通して送られる別個のネットワーク・フローを識別するために使用することができる、システムおよび方法に関する。
【背景技術】
【0002】
ネットワーク・セキュリティおよび分析は、一般に、ネットワークを悪意ある攻撃から保護するために、ネットワーク・パケット・データをキャプチャし、追跡し、分析するための、様々な別個のネットワーク分析アプリケーションを使用する。ネットワーク・セキュリティの外部のアプリケーションにおいても使用することができる、典型的なネットワーク・キャプチャ・アプリケーションは、限られたリソースを有し、その結果、連携して動作し、その後ネットワーク管理者に同じパケット・フローに対してリアルタイムに複数の分析を実行するための機能を提供するには、少ない容量となる。
【0003】
例えば、パケット・キャプチャ・アプリケーションは、一般に、パケットをキャプチャし、すべてのパケットをディスクに書き込み、サードパーティ・アプリケーションによって命じられた5タプル(送信先および送信元のIPアドレスおよびポート番号、ならびに送信によって使用される特定のプロトコル(例えば、TCPまたはUDP)を含む、TCP/IP接続を構成する5つの異なる値の組)によって指定される、パケットの取り出しを可能にするための軽便なインデックスを適用するのに十分なリソースしか有しない。同様に、フロー・キャプチャ・アプリケーション(flow capture application)は、パケットを検査し、5タプルのフロー記録、および任意の数の追加のフロー属性を記憶するのに十分なリソースしか有しない。これらのリソース制約は、複数の異種アプリケーションが、共同的方法でパケット・フローに関する処理を行うことを妨げる。
【0004】
キャプチャ・アプリケーションは、セキュリティ目的で、パケットをリアルタイムに検査することを求められる。多くのケースにおいて、異種キャプチャ・アプリケーションは、同じパケット・フローを検査するが、パケット・タイミングの僅かな差のせいで、パケット収集を一致させることができない。パケット・タイミングは、キャプチャ到着率が、ローカル・ハードウェアまたはソフトウェアがタイムスタンプを適用した時刻と異なるために、異なる。タイミングが異なるので、一貫性のあるフロー識別情報を決定する際に、100%の正確性を有することは、不可能である。パケット・トラフィック密度が、毎秒数10万フローになることがあるとき、パケット・フローを、その5タプルおよびタイミングによって一意的に識別することはできない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、当技術分野において、上述の問題に対処する必要性が、存在する。
【課題を解決するための手段】
【0006】
第1の態様によれば、本発明は、プロセッサと、プロセッサによって実行されて、プロセッサにネットワーク追跡システム(network tracking system)を実施させる命令を含むメモリとを備える、データ処理システムにおける、コンピュータ実施方法を提供し、方法は、ネットワークを通して送信される、1つまたは複数のパケットを含む1つまたは複数のパケット・フローを、ネットワーク・タップ(network tap)を通して、受信することと、フロー・インスペクタ(flow inspector)を通して、1つまたは複数のパケット・フローの1つまたは複数の開始パケットを識別することと、フロー・インスペクタを通して、一意識別子を用いた、1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことと、タイム・スタンパ(time stamper)を通して、タイムスタンプを用いた、1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことと、ネットワーク追跡システムを通して、1つまたは複数のタグ付けされたパケットを、ネットワークに接続された1つまたは複数のセカンダリ・システムに転送することとを含む。
【0007】
さらなる態様によれば、本発明は、プロセッサと、プロセッサによって実行されて、プロセッサにネットワーク追跡システムを実施させる命令を含むメモリとを備える、データ処理システムにおける、コンピュータ実施方法を提供し、方法は、タイム・スタンパおよびフロー・インスペクタを備える第1のキャプチャ・アプリケーションを通して、1つまたは複数の原パケットを含む1つまたは複数のパケット・フローをネットワークから受信することと、タイム・スタンパを通して、タイムスタンプを用いた、各原パケットへのタグ付けを行うことと、フロー・インスペクタを通して、一意識別子を用いた、各原パケットへのタグ付けを行うことと、パケット・リポジトリ(packet repository)を使用して、1つまたは複数のタグ付けされたパケットを記憶することとを含む。
【0008】
さらなる態様によれば、本発明は、プロセッサと、プロセッサによって実行されて、プロセッサにネットワーク追跡システムを実施させる命令を含むメモリとを備える、データ処理システムにおける、コンピュータ実施方法を提供し、方法は、1つまたは複数の第1のキャプチャ・アプリケーションを通して、一意識別子およびプライマリ・タイムスタンプを用いた、ネットワーク・データの1つまたは複数の原パケットを含む1つまたは複数のパケット・フローへのタグ付けを行うことと、1つまたは複数の第1のキャプチャ・アプリケーションを通して、1つまたは複数のタグ付けされたパケット・フローを、1つまたは複数の他のキャプチャ・アプリケーションに転送することと、1つまたは複数の他のキャプチャ・アプリケーションを通して、各タグ付けされたパケット・フローの一意識別子に基づいて、1つまたは複数の第1のキャプチャ・アプリケーションから転送された1つまたは複数のタグ付けされたパケット・フローを集約することとを含む。
【0009】
さらなる態様によれば、本発明は、プロセッサと、命令を含むメモリとを備える、データ処理システムにおける、ネットワーク追跡のためのコンピュータ・システムを提供し、コンピュータ・システムは、ネットワークを通して送信される、1つまたは複数のパケットを含む1つまたは複数のパケット・フローを受信するための、ネットワーク・タップと、1つまたは複数のパケット・フローの1つまたは複数の開始パケットを識別するための、および一意識別子を用いた、1つまたは複数のパケット・フローの各パケットへのタグ付けを行うための、フロー・インスペクタと、タイムスタンプを用いた、1つまたは複数のパケット・フローの各パケットへのタグ付けを行うための、タイム・スタンパと、1つまたは複数のタグ付けされたパケットを、ネットワークに接続された1つまたは複数のセカンダリ・システムに転送するための、ネットワーク追跡システムとを備える。
【0010】
さらなる態様によれば、本発明は、ネットワーク追跡のためのコンピュータ・プログラム製品を提供し、コンピュータ・プログラム製品は、処理回路によって可読であり、本発明のステップを実行するための方法を実行するために、処理回路によって実行される命令を記憶する、コンピュータ可読記憶媒体を備える。
【0011】
さらなる態様によれば、本発明は、コンピュータ可読媒体上に記憶され、デジタル・コンピュータの内部メモリ内にロード可能であり、コンピュータ・プログラムがコンピュータ上で動作させられたときに、本発明のステップを実行するための、ソフトウェア・コード部を含む、コンピュータ・プログラムを提供する。
【0012】
実施形態は、プロセッサと、プロセッサによって実行されて、プロセッサにネットワーク追跡システムを実施させる命令を含むメモリとを備える、データ処理システムにおける、コンピュータ実施方法を提供することができ、方法は、ネットワークを通して送信される、1つまたは複数のパケットを含む1つまたは複数のパケット・フローを、ネットワーク・タップを通して、受信することと、フロー・インスペクタを通して、1つまたは複数のパケット・フローの1つまたは複数の開始パケットを識別することと、フロー・インスペクタを通して、一意識別子を用いた、1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことと、タイム・スタンパを通して、タイムスタンプを用いた、1つまたは複数のパケット・フローの各パケットへのタグ付けを行うことと、ネットワーク追跡システムを通して、1つまたは複数のタグ付けされたパケットを、ネットワークに接続された1つまたは複数のセカンダリ・システムに転送することとを含む。
【0013】
さらなる実施形態は、タイム・スタンパを通して、パケット・フローのための1つまたは複数の開始パケットが識別された時刻に基づいた、タイムスタンプへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0014】
さらなる実施形態は、フロー・インスペクタを通して、一意識別子をネットワーク・タップの識別子と関連付けることを含むことができる、方法を提供することができる。
【0015】
さらなる実施形態は、フロー・インスペクタを通して、各一意的パケット・フローの識別とともに、一意識別子の値を単調に増加させることを含むことができる、方法を提供することができる。
【0016】
さらなる実施形態は、フロー・インスペクタを通して、パケット・カプセル化を通した、1つまたは複数のパケット・フローへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0017】
さらなる実施形態は、フロー・インスペクタを通して、1つまたは複数のファームウェア・アプリケーション・プログラム・インターフェースを通した、1つまたは複数のパケット・フローへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0018】
さらなる実施形態は、プロセッサと、プロセッサによって実行されて、プロセッサにネットワーク追跡システムを実施させる命令を含むメモリとを備える、データ処理システムにおける、コンピュータ実施方法を提供することができ、方法は、タイム・スタンパおよびフロー・インスペクタを備える第1のキャプチャ・アプリケーションを通して、1つまたは複数の原パケットを含む1つまたは複数のパケット・フローをネットワークから受信することと、タイム・スタンパを通して、タイムスタンプを用いた、各原パケットへのタグ付けを行うことと、フロー・インスペクタを通して、一意識別子を用いた、各原パケットへのタグ付けを行うことと、パケット・リポジトリを使用して、1つまたは複数のタグ付けされたパケットを記憶することとを含む。
【0019】
さらなる実施形態は、各々がタイム・スタンパおよびフロー・インスペクタを備える1つまたは複数の追加の第1のキャプチャ・アプリケーションを通して、1つまたは複数のパケット・フローをネットワークから受信することと、各タイム・スタンパを通して、タイムスタンプを用いた、各原パケットへのタグ付けを行うことと、各フロー・インスペクタを通して、一意識別子を用いた、各原パケットへのタグ付けを行うことと、パケット・リポジトリを通して、1つまたは複数のタグ付けされたパケットを記憶することとを含むことができる、方法を提供することができる。
【0020】
さらなる実施形態は、パケット・リポジトリを通して、各タグ付けされたパケットの一意識別子を使用して、1つまたは複数のタグ付けされたパケットを集約することを含むことができる、方法を提供することができる。
【0021】
さらなる実施形態は、各フロー・インスペクタを通して、一意識別子を特定の第1のキャプチャ・アプリケーションと関連付けることを含むことができる、方法を提供することができる。
【0022】
さらなる実施形態は、各フロー・インスペクタを通して、特定の第1のキャプチャ・アプリケーションによる各一意的パケット・フローの識別とともに、一意識別子の値を単調に増加させることを含むことができる、方法を提供することができる。
【0023】
さらなる実施形態は、各フロー・インスペクタを通して、パケット・カプセル化を通した、1つまたは複数のパケット・フローへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0024】
さらなる実施形態は、各フロー・インスペクタを通して、1つまたは複数のファームウェア・アプリケーション・プログラム・インターフェースを通した、1つまたは複数のパケット・フローへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0025】
さらなる実施形態は、プロセッサと、プロセッサによって実行されて、プロセッサにネットワーク追跡システムを実施させる命令を含むメモリとを備える、データ処理システムにおける、コンピュータ実施方法を提供することができ、方法は、1つまたは複数の第1のキャプチャ・アプリケーションを通して、一意識別子およびプライマリ・タイムスタンプを用いた、ネットワーク・データの1つまたは複数の原パケットを含む1つまたは複数のパケット・フローへのタグ付けを行うことと、1つまたは複数の第1のキャプチャ・アプリケーションを通して、1つまたは複数のタグ付けされたパケット・フローを、1つまたは複数の他のキャプチャ・アプリケーションに転送することと、1つまたは複数の他のキャプチャ・アプリケーションを通して、各タグ付けされたパケット・フローの一意識別子に基づいて、1つまたは複数の第1のキャプチャ・アプリケーションから転送された1つまたは複数のタグ付けされたパケット・フローを集約することとを含む。
【0026】
さらなる実施形態は、1つまたは複数の他のキャプチャ・アプリケーションを通して、1つまたは複数の他のキャプチャ・アプリケーションによって受信された時刻に基づいたセカンダリ・タイムスタンプを用いた、1つまたは複数の他のキャプチャ・アプリケーションによって受信された1つまたは複数のタグ付けされたパケット・フローへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0027】
さらなる実施形態は、1つまたは複数の他のキャプチャ・アプリケーションを通して、1つまたは複数の第1のキャプチャ・アプリケーションによって割り当てられたプライマリ・タイムスタンプを用いて、セカンダリ・タイムスタンプを置換することを含むことができる、方法を提供することができる。
【0028】
さらなる実施形態は、各第1のキャプチャ・アプリケーションを通して、一意識別子を特定の第1のキャプチャ・アプリケーションと関連付けることを含むことができる、方法を提供することができる。
【0029】
さらなる実施形態は、各第1のキャプチャ・アプリケーションを通して、特定の第1のキャプチャ・アプリケーションによる各一意的パケット・フローの識別とともに、一意識別子の値を単調に増加させることを含むことができる、方法を提供することができる。
【0030】
さらなる実施形態は、各第1のキャプチャ・アプリケーションを通して、パケット・カプセル化を通した、1つまたは複数のパケット・フローへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0031】
さらなる実施形態は、各第1のキャプチャ・アプリケーションを通して、1つまたは複数のファームウェア・アプリケーション・プログラム・インターフェースを通した、1つまたは複数のパケット・フローへのタグ付けを行うことを含むことができる、方法を提供することができる。
【0032】
本開示のさらなる特徴および利点は、添付の図面を参照して進められる、説明的な実施形態についての以下の詳細な説明から明らかにされる。
【0033】
本発明の上述および他の態様は、添付の図面と関連付けて読まれるときに、以下の詳細な説明から最も良く理解される。本発明を説明する目的で、図面には、現在好ましい実施形態が、示されているが、本発明は、開示された特定の手段に限定されないことが理解される。図面には、以下の図が、含まれる。
【図面の簡単な説明】
【0034】
【
図1】ネットワーク追跡システムの1つの説明的な実施形態の概略図である。
【
図2】本明細書において説明される実施形態による、ネットワーク追跡システムの概略図である。
【
図3】本明細書において説明される実施形態による、ネットワーク追跡システムの機能を説明するブロック図である。
【
図4】説明的な実施形態の態様がその中で実施される、例示的なデータ処理システムのブロック図である。
【発明を実施するための形態】
【0035】
本明細書および特許請求の範囲は、説明的な実施形態の特定の特徴および要素に関して、「a(1つの)」、「〜のうちの少なくとも1つ」、および「〜のうちの1つまたは複数」といった言葉を使用することがある。これらの言葉および語句は、特定の説明的な実施形態において存在する特定の特徴または要素のうちの少なくとも1つが存在するが、2つ以上存在することもできることを述べていることが意図されていることを理解されたい。すなわち、これらの言葉/語句は、明細書または特許請求の範囲を、単一の特徴/要素が存在することに限定すること、あるいは複数のそのような特徴/要素が存在することを必要とすることを意図していない。反対に、これらの言葉/語句は、少なくとも単一の特徴/要素を必要とするだけであり、明細書の範囲内および特許請求の範囲内において、複数のそのような特徴/要素が、存在する可能性がある。
【0036】
加えて、以下の説明は、説明的な実施形態の例示的な実施をさらに説明するために、また説明的な実施形態の機構の理解を支援するために、説明的な実施形態の様々な要素についての複数の様々な例を使用することを理解されたい。これらの例は、非限定的であることが意図されており、説明的な実施形態の機構を実施するための様々な可能性を網羅していない。本発明の思想および範囲から逸脱することなく、本明細書において提供される例に加えて、またはそれの代わりに利用されてよい、これらの様々な要素についての他の多くの代替実施が存在することが、本明細書に鑑みて、当業者には明らかになろう。
【0037】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令をその上に有する、(1つまたは複数の)コンピュータ可読記憶媒体を含んでよい。
【0038】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持および記憶することができる、有形なデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組合せであってよいが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下のものを、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、命令がその上に記録された、パンチ・カードまたは溝内の隆起構造などの、機械的に符号化されたデバイス、および上記の任意の適切な組合せを含む。コンピュータ可読記憶媒体は、本明細書において使用される場合、電波または他の自由伝搬電磁波、導波路または他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいは電線を通って伝送される電気信号などの、一時的信号自体であると解釈されるべきではない。
【0039】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、もしくは無線ネットワーク、またはそれらの組合せを介して、外部コンピュータまたは外部記憶デバイスに、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組合せを含んでよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令を、ネットワークから受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために、転送する。
【0040】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはJava(R)、Smalltalk(R)、またはC++などの、オブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの、従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして、すべてをユーザのコンピュータ上で、または一部をユーザのコンピュータ上で実行されてよく、あるいは一部をユーザのコンピュータ上、一部をリモート・コンピュータ上で、またはすべてをリモート・コンピュータもしくはサーバ上で実行されてよい。後者のシナリオにおいては、リモート・コンピュータは、LANまたはWANを含む、任意のタイプのネットワークを通して、ユーザのコンピュータに接続されてよく、あるいは接続は、(例えば、インターネット・サービス・プロバイダを使用して、インターネットを通して)外部コンピュータに対して行われてよい。いくつかの実施形態においては、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む、電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路をカスタマイズすることによって、コンピュータ可読プログラム命令を実行してよい。Java(R)およびすべてのJava(R)ベースの商標およびロゴは、オラクルまたはその系列企業あるいはその両方の商標または登録商標である。
【0041】
本明細書においては、本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して、説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解されよう。
【0042】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製造物品を構成するように、コンピュータ可読記憶媒体内に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはそれらの組合せに、特定の方法で機能するように指図することができるものであってもよい。
【0043】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行された命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するように、コンピュータ実施プロセスを生成するべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上において一連の動作ステップを実行させるものであってもよい。
【0044】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表してよい。いくつかの代替実施においては、ブロック内において言及された機能は、図において言及された順序と異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際は、実質的に同時に実行されてよく、またはブロックは、ときには、含まれる機能に応じて、逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または動作を実行する、あるいは専用ハードウェアおよびコンピュータ命令の組合せを実施する、専用ハードウェア・ベースのシステムによって実施することができることも特筆される。
【0045】
図1は、ネットワーク追跡システムの1つの説明的な実施形態の概略図を示している。ネットワーク接続されたシステムにセキュリティを提供するために、システム管理者は、特定のネットワーク100から取得されたトラフィックからキャプチャされた1つまたは複数のパケット・フロー101を分析するように様々なキャプチャ・アプリケーション102、103、104、105、106を使用してよい。ネットワーク100は、オフィス内ネットワーク、オフィス間ネットワーク、またはインターネットなどの分散ネットワークとすることができる。パケット・ストリームとも呼ばれることができる、パケット・フロー101は、送信元から1つまたは複数の送信先へと伝わる、情報の1つまたは複数のパケットから構成することができる。ネットワーク・セキュリティまたは他のネットワーク分析インフラストラクチャの一部として、パケット・フローは、それらの意図された送信先に送られるのに加えて、1つまたは複数のキャプチャ・アプリケーションを通って同時に送ることができる。しかしながら、
図3において説明されるように、ネットワーク・トラフィックと関連付けられた本来的な遅延時間のために、1つまたは複数のキャプチャ・アプリケーションのうちの1つが、パケット・フローを最初に受信し、本明細書において説明される実施形態によるタグ付け機能を実行することができる。
【0046】
ネットワーク追跡システムにおいて使用することができる、潜在的なキャプチャ・アプリケーションの例は、パケット・キャプチャ・アプリケーション102、フロー・キャプチャ・アプリケーション103、サンドボクシング・キャプチャ・アプリケーション(sandboxing capture application)104、およびマシン・ラーニング・キャプチャ・アプリケーション(machine learning capture application)105を含むが、それらに限定されない。例示的なパケット・キャプチャ・アプリケーション102は、パケット・フローの1つまたは複数のパケットをキャプチャすることができ、それらのパケットをディスクまたはリポジトリに書き込み、サードパーティ・アプリケーションからの5タプルに基づいた、それらのパケットの後の取り出しを容易にするために、キャプチャされたパケットに軽便なインデックスを適用することができる。例示的なフロー・キャプチャ・アプリケーション103は、1つまたは複数のパケットを検査し、5タプルのフロー記録、および他のフロー属性(送信元/送信先MACアドレス、ハッシュ値、ファイル・サイズ、ファイル名など)を、ディスクまたはリポジトリに記憶することができる。例示的なサンドボクシング・キャプチャ・アプリケーション104は、特定のパケット・フローと関連付けられた何らかのセキュリティ脆弱性が存在するかどうか(例えば、パケット・フローと関連付けられたファイルがマルウェアまたはウイルスを含むかどうか)を評価するために、1つまたは複数のパケット・フローがそれらの送信先に到達する前に、リアルタイム仮想環境において、1つまたは複数の信用できないまたは未知のパケット・フローをエミュレートすることができ、見出されたすべての脆弱性または他の情報について詳述したレポートを作成することができる。例示的なマシン・ラーニング・キャプチャ・アプリケーション105は、セキュリティ脆弱性またはネットワーク攻撃を見つけるまたは予測するために、1つまたは複数のマシン・ラーニング技法(例えば、クラシフィケーション、クラスタリング、関連付け、数値予測、ニューラル・ネットワーキング、デシジョン・ツリーなど)を使用して、大量のパケット・フロー・データと関連付けられた傾向を分析することができる。実施形態においては、列挙された例に含まれない他のキャプチャ・アプリケーション106を、ネットワーク・システムに組み込むことができる。一実施形態においては、1つまたは複数のキャプチャ・アプリケーション、あるいはそれらの組合せを、ネットワーク追跡システムに組み込むことができる。
【0047】
一実施形態においては、1つまたは複数のパケット・フロー101が、1つまたは複数のキャプチャ・アプリケーション102、103、104、105に入り、それらによって分析されるので、(
図1に示されるように)パケット・フロー101には、パケット・フロー101を受信した第1のキャプチャ・アプリケーションによって、持続的なフロー識別子107を用いたタグ付けが行われ、そのことは、1つまたは複数の分析されたパケット・フローが、将来のある時点において、集約され、集約されたビュー108で分析されることを可能にすることができる。パケット・フロー101のタグ付けは、
図2および
図3においてより詳細に説明される方法で、達成することができる。持続的なフロー識別子107を使用することによって、パケット・キャプチャ・アプリケーション102によってキャプチャされた1つまたは複数の一意的パケット・フロー101は、持続的なフロー識別子107と一致する、フロー・キャプチャ・アプリケーション103のフロー記録とペアにすることができる。これは、組み合わされたデータ・セットを使用した、全体的な見通しをもたらすことができる。パケット・キャプチャ・アプリケーション102とフロー・キャプチャ・アプリケーション103の記録を組み合わることに加えて、サンドボクシング・キャプチャ・アプリケーション104、マシン・ラーニング・キャプチャ・アプリケーション105、または他のキャプチャ・アプリケーション106、あるいはそれらの組合せの記録を、持続的なフロー識別子107を使用して、類似の方法で組み合わせることができる。
【0048】
図2は、本明細書において説明される実施形態による、ネットワーク追跡システムの概略図を示している。一実施形態においては、プライマリ・ネットワーク・タップ200は、1つまたは複数のパケット・フロー101を含むことができる、すべてのネットワーク・トラフィックを傍受することができ、各パケット・フロー101は、情報の1つまたは複数の原パケット210を有する。ネットワーク・タップ200は、パケット・フロー101を、第1のインターフェース(キャプチャ・ポイント)203に送ることができる。一実施形態においては、第1のインターフェース203は、特定のパケット・フロー101を受信するために、第1のキャプチャ・アプリケーション201上に配置された、プライマリ・インターフェースとすることができる。
【0049】
一実施形態においては、各キャプチャ・アプリケーションは、第1のインターフェース203と、第2のインターフェース211とを有することができる。しかしながら、一実施形態においては、第1のキャプチャ・アプリケーション201の第1のインターフェース203は、フロー識別子209およびプライマリ・タイムスタンプ212を割り当てるためのメイン確定要因とすることができる。第1のインターフェース203と通信する、フロー・インスペクタ205は、標準的な検査アルゴリズムを使用して、各パケット・フロー101と関連付けられた開始パケットを識別することができる。フロー・インスペクタ205は、フロー識別子209を用いた、各原パケット210へのタグ付けを行って、タグ付けされたパケット207を生成することができる。
【0050】
フロー識別子209は、2つの構成要素、すなわち、一意識別子(一意ID)206と、単調増加値208とを含むことができる。一意識別子206は、特定のパケットが、例えば、ネットワーク・タップ200のネットワーク・インターフェース・カードのMACアドレスによって分析されている、特定のキャプチャ・アプリケーションのグローバル一意識別子に基づくことができる。単調増加値208は、フロー・インスペクタ205によってタグ付けされる各パケット・フローに関して、増加することができる。一実施形態においては、増加値208は、非単調な方法で、増加することができる。一実施形態においては、増加値208の値範囲は、複数年の期間にわたって、重複することなく、個々のパケット・フロー101を一意的に識別するのに十分な大きさとすることができる。
【0051】
やはり第1のインターフェース203と通信することができる、タイム・スタンパ204は、第1のインターフェース203による原パケット210の第1の観測に対応することができるプライマリ・タイムスタンプ212を用いて、各原パケットにスタンプを押すことができる。プライマリ・タイムスタンプ212は、持続的であることができ、タグ付けされたパケット207とともに伝わり、タグ付けされたパケット207に再びタイムスタンプを押そうとする、いかなる以降の試みも上書きする。上書きは、
図3において、より詳細に説明される。
【0052】
フロー・インスペクタ205およびタイム・スタンパ204による原パケット210のタグ付けは、様々な方法を通して達成することができる。一実施形態においては、原パケット210は、VLANタグ付けに類似した独自仕様の方法を使用して、カプセル化することができる。一代替実施形態においては、原パケット210は、パー・パケット情報(PPI:Per Packet Information)などの標準的なカプセル化方法を使用して、カプセル化することができる。一代替実施形態においては、原パケット210には、ハードウェア・アプリケーション・プログラミング・インターフェース(API)、例えば、ネットワーク・インターフェース・カードのためのフィールド・プログラマブル・ゲート・アレイ(FPGA)APIを使用して、タグ付けを行うことができる。
【0053】
原パケット210に、ひとたび、プライマリ・タイムスタンプ212およびフロー識別子209を用いたタグ付けが行われると、タグ付けされたパケット207は、1つまたは複数の他のアプリケーション202によって分析されるために、第2のインターフェース(キャプチャ・ポイント)211に転送することができる。第2のインターフェース211は、機能的に、初めのネットワーク・タップ200に類似することができる。第2のインターフェース211は、1つまたは複数のタグ付けされたパケット207を受信することができる。しかしながら、第2のインターフェース211は、原パケット210にタグ付けを行うために使用された特定のタグ付けフォーマットに関する、事前情報を有することができる。第2のインターフェース211は、セカンダリ・タイムスタンプを用いた、タグ付けされたパケット207へのタグ付けを行う能力を有することができるが、セカンダリ・タイムスタンプは、特定のキャプチャ・アプリケーションによる1つまたは複数のパケットの処理、およびその後の第2のインターフェース211へのパケットの転送と関連付けられた、望ましくない待ち時間を常に含むので、ネットワーク・システムは、常に、セカンダリ・タイムスタンプを、プライマリ・タイムスタンプ212を用いて置換し、または無視することができる。一実施形態においては、この待ち時間は、重大なものではなく、したがって、プライマリ・タイムスタンプ212を用いた、セカンダリ・タイムスタンプの置換は、任意選択である。
【0054】
図3は、本明細書において説明される実施形態による、経時的なネットワーク追跡システムの機能を表すブロック図である。
図3は、ネットワーク構成要素(ネットワーク・タップおよびキャプチャ・アプリケーション)の特定の配置について説明しているが、ネットワーク追跡システムは、ネットワーク構成要素の異なる配置の下であっても、説明されるのと同じ方法で機能することができる。
図3において説明される実施形態において示されるように、ネットワーク100から発した1つまたは複数のパケット・フロー101は、ネットワーク・タップA300およびネットワーク・タップB301によって、同時に傍受することができる。図には、2つのネットワーク・タップが示されているが、特定のパケット・フロー101を傍受することができるネットワーク・タップの数に、制限はない。ネットワーク・タップA300によって傍受されると、パケット・フロー101は、キャプチャ・アプリケーションA303の第1のインターフェースに送ることができる。一実施形態においては、特定のネットワーク・アーキテクチャは、(
図1に示されるように)並列方式で接続された各キャプチャ・アプリケーションを有してよいが、キャプチャ・アプリケーションA303は、パケット・フロー101を受信するための時間的に第1のキャプチャ・アプリケーションとして、定義することができる。ネットワーク追跡システムがその上で適用される、特定のインフラストラクチャのネットワーク・アーキテクチャに応じて、キャプチャ・アプリケーションAの正体は、ネットワーク・タップAの多重化能力に基づいて、変化してよく(すなわち、受信された第1のパケット・フローに対しては、キャプチャ・アプリケーションAは、パケット・キャプチャ・アプリケーションであり、第2のパケット・フローに対しては、キャプチャ・アプリケーションAは、マシン・ラーニング・キャプチャ・アプリケーションであってよい、など)、またはキャプチャ・アプリケーションAは、受信された各パケット・フローに対して、同じアプリケーションであり続けてよい。一実施形態においては、ネットワーク・タップB301および他のすべてのネットワーク・タップに接続されたキャプチャ・アプリケーションの機能、タイプ、数、および接続アーキテクチャは、ネットワーク・タップA300に接続されたキャプチャ・アプリケーションのそれらを正確に反映することができ、またはそれらは、特定の必要性に応じて、異なることができる。各キャプチャ・アプリケーションは、
図2において説明されたのと同じタグ付け機能を有することができるので、ネットワーク追跡システムにおける各キャプチャ・アプリケーションは、特定のネットワーク・ドメインにおいて、第1のキャプチャ・アプリケーション(
図2において示された201)として機能することができる。
【0055】
パケット・フロー101は、ネットワーク・タップA300によって傍受され、キャプチャ・アプリケーションA303に送られるので、本明細書において説明されるように、パケット・フロー101の各パケットには、タイムスタンプA304およびフロー識別子A305を用いたタグ付けを行うことができる。一実施形態においては、タグ付けされたパケットは、ネットワーク・タップA300に接続された他のキャプチャ・アプリケーションx309に送信される。しかしながら、他のキャプチャ・アプリケーションx309は、それ自らのタイムスタンプまたはフロー識別子あるいはその両方をパケットに適用しても、または適用しなくてもよいが、一実施形態においては、共通のタイムスタンプまたはフロー識別子あるいはその両方が、ネットワーク・タップA300によって傍受されたすべてのパケットに適用されるように、プライマリ・タイムスタンプA304を優先して、すべてのセカンダリ・タイムスタンプまたはフロー識別子あるいはその両方は、無視することができる。
【0056】
同様に、パケット・フロー101は、ネットワーク・タップB301によって傍受され、キャプチャ・アプリケーションB306に送られるので、本明細書において説明されるように、パケット・フロー101の各パケットには、タイムスタンプB307およびフロー識別子B308を用いたタグ付けを行うことができる。一実施形態においては、タグ付けされたパケットは、ネットワーク・タップB301に接続された他のキャプチャ・アプリケーションy310に送信される。しかしながら、他のキャプチャ・アプリケーションy310は、それ自らのタイムスタンプまたはフロー識別子あるいはその両方をパケットに適用しても、または適用しなくてもよいが、一実施形態においては、共通のタイムスタンプまたはフロー識別子あるいはその両方が、ネットワーク・タップB301によって傍受されたすべてのパケットに適用されるように、プライマリ・タイムスタンプB307を優先して、すべてのセカンダリ・タイムスタンプまたはフロー識別子あるいはその両方は、無視することができる。
【0057】
セカンダリ・タイムスタンプまたはフロー識別子あるいはその両方は、一般に、セカンダリ・タップ・ポイントへのパケット・フローの転送と関連付けられた待ち時間に加えて、初期タップ・ポイントに基づいた、タイムスタンプまたはフロー識別子あるいはその両方の値を有するので、プライマリ・タイムスタンプまたはフロー識別子あるいはその両方を用いた、任意のセカンダリ・タイムスタンプまたはフロー識別子あるいはその両方の置換は、ネットワーク追跡システムの機能にとって必要であることができる。しかしながら、待ち時間が重大ではないと見なされる代替ネットワーク実施形態においては、プライマリ・タイムスタンプまたはフロー識別子あるいはその両方を用いた、セカンダリ・タイムスタンプまたはフロー識別子あるいはその両方の置換は、任意選択とすることができる。
【0058】
一実施形態においては、(それぞれのネットワーク・タップによって定義される)任意の追加のネットワーク・ドメインを通過するパケット・フローには、本明細書において説明されるのと同じ方法で、タイムスタンプおよびフロー識別子を割り当てることができる。パケット・フローにタグ付けを行うこの一貫性のある方法を通して、ネットワーク追跡システムに含まれる1つまたは複数のキャプチャ・アプリケーションによって分析されたパケットの集約されたビューを、共通のタイムスタンプおよびフロー識別子に基づいたソーティングによって、生成することができる。
【0059】
図4は、キャプチャ・アプリケーションなど、説明的な実施形態の態様をその中で実施することができる、例示的なデータ処理システム400のブロック図である。データ処理システム400は、本発明の説明的な実施形態のためのプロセスを実施するコンピュータ使用可能コードまたは命令が、その中に配置される、サーバまたはクライアントなどの、コンピュータの例である。一実施形態においては、
図4は、本明細書において説明されるネットワーク追跡システムを実施する、サーバなどの、サーバ・コンピューティング・デバイスを表している。
【0060】
示された例においては、データ処理システム400は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)401と、サウス・ブリッジおよび入出力(I/O)コントローラ・ハブ(SB/ICH)402とを含む、ハブ・アーキテクチャを利用することができる。処理ユニット403、メイン・メモリ404、およびグラフィックス・プロセッサ405は、NB/MCH401に接続することができる。グラフィックス・プロセッサ405は、アクセラレーテッド・グラフィックス・ポート(AGP)を通して、NB/MCHに接続することができる。
【0061】
示された例においては、ネットワーク・アダプタ406は、SB/ICH402に接続する。オーディオ・アダプタ407、キーボードおよびマウス・アダプタ408、モデム409、リード・オンリ・メモリ(ROM)410、ハード・ディスク・ドライブ(HDD)411、光学ドライブ(CDまたはDVD)412、ユニバーサル・シリアル・バス(USB)ポートおよび他の通信ポート413、ならびにPCI/PCIeデバイス414は、バス・システム416を通して、SB/ICH402に接続することができる。PCI/PCIeデバイス414は、イーサネット(R)・アダプタと、アドイン・カードと、ノートブック・コンピュータ用のPCカードとを含むことができる。ROM410は、例えば、フラッシュ基本入出力システム(BIOS)とすることができる。HDD411および光学ドライブ412は、統合ドライブ・エレクトロニクス(IDE)、またはシリアル・アドバンスト・テクノロジ・アタッチメント(SATA)インターフェースを使用することができる。スーパI/O(SIO)デバイス415は、SB/ICHに接続することができる。
【0062】
オペレーティング・システムは、処理ユニット403上で動作することができる。オペレーティング・システムは、データ処理システム400内の様々な構成要素を連携させ、それらの制御を提供することができる。クライアントとして、オペレーティング・システムは、市販のオペレーティング・システムとすることができる。Java(R)(商標)プログラミング・システムなどの、オブジェクト指向プログラミング・システムは、オペレーティング・システムとともに動作し、データ処理システム400上において動作するオブジェクト指向プログラムまたはアプリケーションから、オペレーティング・システムに、コールを提供することができる。サーバとして、データ処理システム400は、アドバンスト・インタラクティブ・エグゼクティブ・オペレーティング・システム、またはLinuxオペレーティング・システムを実行する、IBM(R)eServer(商標)System p(R)とすることができる。データ処理システム400は、処理ユニット403内に複数のプロセッサを含むことができる、対称マルチプロセッサ(SMP)システムとすることができる。代替として、シングル・プロセッサ・システムを利用することができる。
【0063】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令は、HDD411などの、記憶デバイス上に配置され、処理ユニット403によって実行するために、メイン・メモリ404内にロードされる。ネットワーク追跡システムの実施形態のためのプロセスは、例えば、メイン・メモリ404、ROM410などのメモリ内に、あるいは1つまたは複数の周辺デバイス内に配置することができる、コンピュータ使用可能プログラム・コードを使用して、処理ユニット403によって実行することができる。
【0064】
バス・システム416は、1つまたは複数のバスから構成することができる。バス・システム416は、任意のタイプの通信構成またはアーキテクチャを使用して、実施することができ、それは、構成またはアーキテクチャに接続された異なる構成要素またはデバイス間におけるデータの移動を提供することができる。モデム409またはネットワーク・アダプタ406などの、通信ユニットは、データを送信および受信するために使用することができる、1つまたは複数のデバイスを含むことができる。
【0065】
図4に示されたハードウェアは、実施に応じて変化することができることを、当業者は理解する。フラッシュ・メモリ、均等の不揮発性メモリ、または光学ディスク・ドライブなどの、他の内部ハードウェアまたは周辺デバイスを、示されたハードウェアに加えて、またはそれらに代わって、使用することができる。さらに、データ処理システム400は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話または他の通信デバイス、およびパーソナル・デジタル・アシスタントなどを含むが、それらに限定されない、数々の異なるデータ処理システムのいずれかの形態を取ることができる。基本的に、データ処理システム400は、任意の既知のまたは今後開発されるデータ処理システムとすることができ、アーキテクチャに制限はない。
【0066】
図のシステムおよびプロセスは、排他的ではない。同じ目的を達成するために、他のシステム、プロセス、およびメニューを、本明細書において説明された実施形態の原理に従って、引き出してよい。本明細書において示され、説明された実施形態および変形は、もっぱら説明を目的としたものであることを理解されたい。実施形態の範囲から逸脱することなく、現在の設計に対する変更を、当業者によって実施することができる。本明細書において説明されたように、様々なシステム、サブシステム、エージェント、マネージャ、およびプロセスは、ハードウェア構成要素またはソフトウェア構成要素あるいはその組合せを使用して、実施することができる。本明細書における請求項の要素は、その要素が、「〜のための手段」という語句を使用して明白に列挙されない限り、米国特許法第112条第6段落の規定の下で解釈されるべきではない。
【0067】
本発明が、例示的な実施形態を参照して説明されたが、本発明は、それに限定されない。数々の変化および変更が、本発明の好ましい実施形態に施されてよく、そのような変化および変更は、本発明の真の思想から逸脱することなく施され得ることを、当業者は理解する。したがって、添付の特許請求の範囲は、本発明の真の思想および範囲内に包含される、すべてのそのような均等の変形を包含すると解釈されることが意図されている。