JP4717106B2 - フロー情報処理装置及びネットワークシステム - Google Patents

フロー情報処理装置及びネットワークシステム Download PDF

Info

Publication number
JP4717106B2
JP4717106B2 JP2008233067A JP2008233067A JP4717106B2 JP 4717106 B2 JP4717106 B2 JP 4717106B2 JP 2008233067 A JP2008233067 A JP 2008233067A JP 2008233067 A JP2008233067 A JP 2008233067A JP 4717106 B2 JP4717106 B2 JP 4717106B2
Authority
JP
Japan
Prior art keywords
flow information
search
information
unit
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008233067A
Other languages
English (en)
Other versions
JP2010068279A (ja
Inventor
拓郎 森
一磨 湯本
美智子 田中
靖 春日井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008233067A priority Critical patent/JP4717106B2/ja
Publication of JP2010068279A publication Critical patent/JP2010068279A/ja
Application granted granted Critical
Publication of JP4717106B2 publication Critical patent/JP4717106B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ルータ装置が行った処理内容のログであるフロー情報の処理に係わり、特に、フロー情報を収集するフロー情報処理装置及びフロー情報処理装置を備えたネットワークシステムに関するものである。
ネットワークシステムを構成するルータ装置では、ルータ装置が処理した内容をフロー情報として外部の装置へ通知しており、フロー情報を通知するプロトコルとしてNetFlowが知られている(例えば、非特許文献1)。ルータ装置にはフロー情報の通知内容や通知対象、送信周期が予め設定され、設定された内容に従ってフロー情報としてのNetFlowパケットを作成し、外部の装置へ送信する。なお、フロー情報は、パケットの転送内容を通知する情報であり、例えば、IPv4の場合では、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号及びプロトコルが含まれる。
また上記NetFlowの後継技術としてIPFIX(IP Flow Information eXport)の標準化がIETF(Internet Engineering Task Force)で進められている(例えば、非特許文献2)。IPFIXはNetFlow技術を受けて策定されたため、NetFlowの技術をIPFIXにも適用することができる。
上述のフロー情報を収集し、ネットワークシステムを監視するサーバからの検索要求に応じてフロー情報を提供する装置としてフロー情報処理装置が知られている(例えば、特許文献1)。
特開2007−228513号公報 RFC 3954 Cisco Systems NetFlow Services Export Version 9. B. Claise、October 2004、[online]、平成20年6月10日検索、 インターネット<URL<http://www.faqs.org/rfcs/rfc3954.html> RFC 5101 Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information、[online]、平成20年6月10日検索、 インターネット<http://tools.ietf.org/html/rfc5101> 特開平8−191955号
上記従来のフロー情報処理装置は、受信したフロー情報をデータベースなどに蓄え、サーバからのクエリに対して統計処理などを行っていた。フロー情報処理装置を多数のルータ装置を備えた大規模ネットワークで運用する場合では、大量のフロー情報を受信してデータベースへ蓄積することになる。そして、ネットワークシステムを監視するサーバからフロー情報の提供を要求されたときには、フロー情報処理装置は大量のフロー情報の中から従来のデータベース処理によって、要求されたフロー情報を検索し、サーバへ応答する。ネットワークシステムの規模が拡大するにつれて、データベースに格納するフロー情報の量も増大するため、サーバからの検索要求を受け付けてから応答するまでの時間が増大する、という問題があった。特に、フロー情報をハードディスク装置等の記憶装置にデータベースとして格納する場合では、大量のフロー情報から検索条件を満たすフロー情報を抽出する際に時間を要し、ハードディスク装置のアクセス時間がフロー情報の増大に伴って遅延し、さらに、フロー情報処理装置の処理負荷も増大する。
そこで本発明は、上記問題点に鑑みてなされたものであって、フロー情報処理装置を大規模ネットワークに適用して大量のフロー情報を蓄積する場合であっても検索処理を迅速に行うことを目的とする。
本発明は、フロー情報または検索要求を受信する受信部と、前記受信したフロー情報を格納する記憶装置と、前記受信した検索要求に基づいて前記記憶装置に格納されたフロー情報を検索する検索部と、前記検索部が検索した結果を送信する送信部と、を備えたフロー情報処理装置において、前記受信部が受信した前記フロー情報を一時的に格納するフロー情報記憶部と、所定の条件が成立したときに、前記フロー情報記憶部に格納されたフロー情報から検索用情報を生成する検索用情報生成部と、を備え、前記検索部は、前記検索要求を受け付けると当該検索要求に含まれる検索条件で前記検索用情報を検索し、前記検索条件に合致する検索用情報から前記フロー情報を取得し、前記検索用情報生成部は、前記所定の条件が成立する度に、前記フロー情報に含まれる項目毎に前記検索用情報を生成する。
また、前記検索用情報生成部は、前記フロー情報記憶部に格納されたフロー情報に含まれる項目の内容を抽出し、前記抽出した内容の出現頻度を演算し、前記フロー情報にインデックスを付与し、前記演算した出現頻度の順に前記項目の内容を設定し、前記インデックスが指し示すフロー情報の関係からビット情報を前記検索用情報として生成する。
したがって、本発明は、大量のフロー情報を蓄積した場合であっても記憶装置へのアクセスを削減することが可能となって、検索処理の速度を向上させることができる。また、記憶装置からフロー情報を取得する処理時間は従来例のように全てのフロー情報を検索する必要がないので、極めて短時間で処理を行うことができ、高速な検索が可能となる。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明の実施の形態を示し、フロー情報処理装置101を備えたネットワークシステムのブロック図である。
フロー情報処理装置101は、CPU(プロセッサ)2、メモリ3、記憶装置(ストレージ装置)4、インタフェース5及び通信インターフェース104を備えた計算機を主体として構成される。
CPU2は、メモリ3に格納されたプログラム(フロー処理部106)を実行することによって、後述するようにフロー情報200の格納と検索用情報の生成と格納及び検索処理を行う。CPU2は、メモリ3にロードされたフロー処理部106を実行し、受信したフロー情報200を一旦メモリ3に設定したキャッシュ領域30に格納し、所定の条件が成立したときに検索用情報であるランク付きビットマップインデックス700を作成し、このランク付きビットマップインデックス700とフロー情報200を後述するようにファイルにまとめたフロー情報200Aを記憶装置109に格納する。なお、フロー処理部106は、ランク付きビットマップインデックス700を生成する際に、メモリ3上に設定された設定テーブル31に格納された生成条件を参照する。
記憶装置109は、ディスク装置等を含んで構成され、メモリ3のキャッシュ領域30から転送されたファイル形式のフロー情報200Aと、フロー処理部106が生成したランク付きビットマップインデックス700及びフロー処理部106等のプログラムを格納する。なお、フロー処理部106等のプログラムを格納する記憶媒体としてはHDD等で構成された記憶装置109に限定されるものではなく、光学ディスクや不揮発性半導体メモリ等に格納することができる。
インタフェース5は、記憶装置109、入力装置6、ディスプレイ7及通信インターフェース104などに接続される。入力装置15は、担当者によって入力された情報を、インタフェース5を介してCPU2に送信する。ディスプレイ7は、CPU2によって指示された情報を表示する。通信インターフェース104は、LANなどのネットワーク8に接続されて信号(パケット)の送受信を行う。
ネットワーク8には、複数のルータ装置102と、複数のサーバ装置103が接続される。ルータ装置102は、サーバ装置103と外部のネットワークの通信を行い、ルータ装置102が処理した内容をフロー情報200としてフロー情報処理装置101に送信する。また、複数のサーバ装置103のうちの何れかがネットワークシステムの監視を行い、フロー情報処理装置101に対してフロー情報200を要求するクエリを発行する。
図2は、本発明に係わるネットワークシステムの機能ブロック図である。
フロー情報処理装置101は1台以上のルータ装置102と接続される。ルータ装置102は、パケットの転送を行うとフロー情報200をフロー情報処理装置101に送信する。フロー情報処理装置101では、ルータ装置102からのフロー情報200を通信インターフェース104で受信し、プロトコル処理部105によってプロトコルごとの前処理を行い、フロー処理部106にてフロー情報200の蓄積とランク付きビットマップインデックス700の生成と検索処理を実行する。プロトコル処理部105は、フロー情報処理装置101のCPU2で実行されるOSに含まれ、例えば、トランスポート層の処理を行う。プロトコル処理部105は、通信インターフェース104が受信した情報(パケット)のプロトコルから、受信した情報がフロー情報200、クエリ及びその他の情報のいずれであるかを判定し、フロー情報200であれば受信した情報に予め設定した処理を施してからフロー処理部106のフロー情報受信部107に転送し、クエリであれば受信したクエリに予め設定した処理を施してからフロー処理部106のクエリ受信部111に送信する。
ルータ装置102が発行したフロー情報200はまずフロー情報受信部107に送られる。受信したフロー情報200はフロー情報記憶部108を通じて記憶装置109にて記憶する。
フロー情報記憶部108は、図1に示したメモリ3のキャッシュ領域30に設定され、受信したフロー情報200を一時的に格納する。検索用情報生成部110は、所定の条件が成立する度に、キャッシュ領域30のフロー情報記憶部108に格納されたフロー情報200からランク付きビットマップインデックス700を生成し、フロー情報記憶部108のフロー情報200をファイル形式にしたフロー情報200Aと、ランク付きビットマップインデックス700を記憶装置109に格納する。なお、フロー情報記憶部108は、キャッシュ領域30のフロー情報200が記憶装置109に書き込まれると、キャッシュ領域30のフロー情報200をクリアする。
検索用情報生成部110は、検索用情報の生成を開始する所定の条件として、例えば、予め設定した周期となったとき、またはキャッシュ領域30がフロー情報200で満たされて空き容量がなくなったとき(キャッシュ領域30の空き容量が所定値=0%)等を所定の条件の成立とすることができる。
所定の条件を予め設定した周期とした場合、検索用情報生成部110は、図示しないタイマなどで時間を監視し、所定の周期になるとキャッシュ領域30のフロー情報記憶部108の全てのフロー情報200を取得する。そして、検索用情報生成部110は、フロー情報200から後述するようにランク付きビットマップインデックス700を生成して記憶装置109に格納し、さらに取得したフロー情報200をひとつのファイルにまとめてフロー情報200Aとして記憶装置109に格納する。すなわち、所定の周期毎に、ランク付きビットマップインデックス700とフロー情報200を含むファイルとしてのフロー情報200Aが記憶装置109に書き込まれていく。
フロー情報処理装置101は上述のように一台以上のサーバ装置103と接続されており、サーバ装置103は、フロー情報処理装置101が記憶するフロー情報200を参照する際に、検索条件を記した要求(以下クエリ)をフロー情報処理装置101に対して送信する。
フロー情報処理装置101は、サーバ装置103からのクエリを通信インターフェース104で受信し、プロトコル処理部105によってプロトコルごとの前処理を行ってから、クエリ受信部111に送信する。
クエリ処理部112は、受信したクエリから検索条件を抽出して検索部113に転送する。検索部113は、検索条件に応じて記憶装置109から検索用情報を取り出し、検索処理を行う。
検索部113は、検索用情報であるランク付きビットマップインデックス700を用いてクエリで要求されたフロー情報200の検索を行って、検索処理の結果に応じたフロー情報を記憶装置109から取り出す。この際、ランク付きビットマップインデックス700で検索した結果に加えて、フロー情報200が検索要求に合致しているかどうかを記憶装置109のフロー情報200で検索処理を行ってもよい。
検索部113で記憶装置109から取り出したフロー情報200はクエリ処理部112を介して送信部114へ送られる。
検索結果であるフロー情報200は送信部114からプロトコル処理部105を介して所定のプロトコルに整形された後、通信インターフェース104からネットワーク8を介してサーバ装置103へ送信される。
この送信処理は、検索結果が生成される度に実行しても良いし、一定期間または一定量の検索結果を蓄積してからサーバ装置103へ送信してもよい。
これら一連の処理における設定値(例えば、検索用情報の作成開始を判定する所定の条件や、ランク付きビットマップインデックス700を作成するためのパラメータ等)は、管理者またはユーザが、後述するようなユーザインターフェース115を通じて入力装置6等から設定する。
図3は、フロー情報200の一例を示す説明図である。
ルータ装置102から受信したフロー情報200は上記従来例で述べたようにNetFlowやIPFIXによって定められた形式に則り、ルータ装置102が処理したパケットの情報が含まれる。フロー情報200の一例としては、IPパケットにおける送信元のIPアドレス201や送信先のIPアドレス202、プロトコル番号203に加え、IPアドレス間で送受信されたパケットの個数204や合計のバイト数(205)等のフィールドを各エントリに備えた例を示す。
図4はサーバ装置103からフロー情報処理装置101に対して送信されるクエリに含まれる検索条件の一例である。
検索条件には、図2に存在したプロトコル番号301や、IPアドレスにプレフィックス指定を加えたもの302の他に、フロー情報処理装置101がルータ装置102からフロー情報200を受信した時刻の最小値303や時刻の最大値304を指定することもできる。この検索条件を受け付けた検索部113は、指定された時刻範囲(時刻最小値303や時刻最大値304の間)で、指定されたIPアドレス+プレフィックス302で、指定されたプロトコル番号301を含むフロー情報200をランク付きビットマップインデックス700から検索することになる。
図5は、従来例による検索処理の一例を示すフローチャートである。
処理対象となるフロー情報200は、フロー情報処理装置101が受信した全てのフロー情報200である。この際、例として、フロー情報200が記憶装置109を構成するハードディスク装置上に記録されており、記録を行った時間がファイル名に記されているために予め絞り込みが行える場合は、対象とするファイルの絞り込みを行ってもよい。
検索を行う際には、記憶装置109が記録している全フロー情報200に対して(401)一件ずつ取り出し(402)、抽出したフロー情報200が図3に示すような条件(クエリに含まれる検索条件)を満たしているか検査する(403)。検索条件を満たすフロー情報200であると判定した場合は、当該フロー情報200をサーバ装置103に送信する処理(404)を行い、検索条件が満たされない場合は次のフロー情報200に移る。
このような従来例による検索手法においてフロー情報200が、ハードディスク装置のような入出力によるオーバヘッドが大きいメディアに記録されている場合は、検索開始から検索結果の出力までの待ち時間が増大し、クエリの結果を返信するまでの時間が増大するだけでなく、フロー情報処理装置101全体の性能も低下する。
このような総当り的な検索方法に対する解決方法として、検索用情報を用いる方式がある。本発明では検索用情報として、ビットマップインデックスを用いる。
図6はビットマップインデックスの一例を示す説明図である。このビットマップインデックス501、502は、検索用情報生成部110がランク付きビットマップインデックス700を生成する過程で作成するものである。
検索用情報生成部110は、所定の周期になると、図3に示したキャッシュ領域30のフロー情報記憶部108に格納された複数のフロー情報200から、図6に示すようにひとつのファイルで構成されるフロー情報200Aを生成する。
検索用情報生成部110は、フロー情報200を特定するインデックスを行211を付加し、フロー情報200のフィールドの項目名(要素)格納した列210と、各フロー情報200の内容を格納する列212を含むファイルを生成する。例えば、図6の要素Aは、図3に示したプロトコル番号に割り当て、各フロー情報200に含まれるプロトコル番号を行方向に「4」、「17」、「6」と順次格納する。同様に、要素Bには図3に示した送信元IPアドレス201を割り当てて、行方向に各フロー情報200の内容を格納し、要素Cには図3に示した送信先IPアドレス202を割り当てて、行方向に各フロー情報200の内容を格納してフロー情報200Aを生成する。
検索用情報生成部110は、フロー情報200Aのファイル名にフロー情報200を受信した時刻を含める。この時刻は、例えば、フロー情報200の受信時刻は、キャッシュ領域30のフロー情報記憶部108に格納された複数のフロー情報200のうち、最新の時刻と最も古い時刻を対にしたものを用いることができる。
フロー情報200Aは、このように、フロー情報200を識別するインデックスを行211を行方向に設定し、フロー情報200の要素(IPアドレスやプロトコル番号、バイト数あるいはパケット数)を列210方向に設定し、インデックス行211に対応するフロー情報200の要素の値を列212に格納する。
次に、検索用情報生成部110はフロー情報200の要素(項目名)毎に、ビットマップインデックス501、502をそれぞれ生成する。ビットマップインデックス501は、フロー情報200Aの要素Aに関するビットマップインデックスであり、検索用情報生成部110は列510にフロー情報200Aの要素Aが取り得る値を設定し、行511にフロー情報200Aの行211に設定したインデックスを識別子として格納する。なお、インデックスとして行211に付与する識別子はユニークなシリアル値などを用いることができる。検索用情報生成部110は、行511の識別子毎に列512を設定して該当する要素Aの値の行に「1」(ビット情報をオン)を設定する。例えば、フロー情報200Aのインデックス=0のフロー情報は、要素Aの値が「4」であるので、ビットマップインデックス501の識別子=0の列512で要素Aの値が「4」となる行に「1」を設定し、他の行に「0」(ビット情報をオフ)をセットする。検索用情報生成部110は、フロー情報200Aの各インデックスについて要素Aの値に対応するビットマップインデックス501を作成する。
同様に、検索用情報生成部110は、列520にフロー情報200Aの要素Bが取り得る値を設定し、行521にフロー情報200Aの行211に設定したインデックスを識別子として格納する。検索用情報生成部110は、行521の識別子毎に列522を設定して該当する要素Aの値の行に「1」を設定する。
以上の処理により検索用情報生成部110はフロー情報200の要素毎にビットマップインデックス501、502を設定する。なお、上記ではフロー情報200Aの要素A、Bのビットマップインデックスを作成する例を示したが、ビットマップインデックスを作成する要素は予め設定された要素についてのみ作成するようにしてもよい。また、この時点ではビットマップインデックス501、502はメモリ3上に保持される。
図10のビットマップインデックス501Aでは、フロー情報200Aの要素の値Aについて、要素の識別子が0から99まで存在し、各要素が0から4の値を取る場合は、5×100の二値のテーブルを作成する。これがビットマップインデックスである。このビットマップインデックスに対して、行511の識別子1の値が1であるならば、値が1、識別子が1の行の値を1とし、識別子1におけるそれ以外の値は0とする。これを全要素に対して行う。
これらの要素について、値AがXである要素を検索したい場合は、ビットマップインデックスにおける列510の値がXの行を調べ、値が1であるものが該当するものとなる。
図6のビットマップインデックス501,502を利用する際には、検索部113が図7、図8に示すように、検索条件が複数のビットマップインデックス501、502を利用する場合は、検索部113が検索条件に応じて演算用テーブル503、504をメモリ3上に作成することができる。例として、フロー情報200Aの各要素の持つ値Aと値Bに対してビットマップインデックス501、502が作成されている場合に、値Aが1もしくは値Bが2の要素の識別子を検索したい場合は、ビットマップインデックス501、502における値Aの列1と値Bの列2の値をOR演算し、結果が1である識別子の情報を取り出せばよい。これを図7に示すように、演算用テーブル503としてメモリ3上に保持する。
同様に、値Aが1かつ値Bが2の要素の識別子を検索したい場合は、ビットマップインデックス501、502における値Aの列1と値Bの列2の値をAND演算し、結果が1である識別子の情報を取り出せばよい。この演算結果を図8で示すように、演算用テーブル504としてメモリ3上に保持する。
そして、検索部113は、複数の検索条件について図7または図8の演算用テーブル503、504を用いてビットマップの検索を実行することができる。
図9は、本発明のランク付きビットマップインデックスと比較するため、ビットマップインデックス501,502を用いた検索の一例を示すフローチャートである。このフローチャートは、フロー処理部106の検索部113で実行することができる。
検索部113は、クエリ処理部112から受信した検索条件を取得する(601)。そして、検索用情報生成部110は、検索条件に含まれる期間(時刻範囲)から記憶装置109に格納されたビットマップインデックス501、502をメモリ3上に読み込んで。ビットマップインデックス501、502上で検索条件を満たす要素の値とビット(行)を検索する。検索部113は、ビットマップインデックス501、502で検索条件を満たす行があれば、当該行の値が1となっている識別子をフロー情報200Aのインデックスとして取得する(602)。このビットマップインデックス501の検索の際に、検索部113は上記図7、図8で示したような演算用テーブル503,504を作成し、これらのテーブルで検索を行っても良い。
次に、検索部113は、上記検索条件に含まれる期間に該当するフロー情報200Aを記憶装置109から取得し、上記インデックスに該当する列212からフロー情報200を取得する(604、605)。そして、取得したフロー情報200をクエリ処理部112及び送信部114を介してサーバ装置103に応答する(605)。なお、上記ステップ603〜605の処理は、上記ステップ602で取得した識別子の数だけ繰り返す。
この図9に示したビットマップインデックスを利用する処理と、上記図5に示した検索用情報を利用しない従来例の処理との違いは、検索用情報であるビットマップインデックス501,502を用いて予め検索条件に合致するフロー情報200Aを算出し(601)、該当するフロー情報200Aのみを取り出す(602)点である。これによりフロー情報200Aの全体を記憶装置109から読み込む回数が大幅に削減され、クエリの応答時間の短縮およびフロー情報処理装置101の高速化が期待できる。
このビットマップインデックス501、502の長所は、演算用テーブル503,504を生成することで、複数のビットマップインデックス間でANDやORといった演算の容易性と高速性である。短所は、新たなデータ挿入の煩雑性と、検索用データの大型化である。
ただし、ビットマップインデックスに新たにデータを挿入する場合、新たに挿入したデータよりも後方のデータを1ビットずつシフトさせなければならない。また、検索用情報のサイズは要素一つにつき「要素が取る値の範囲×フロー情報数」となり、全要素に対してビットマップインデックスを適用した場合は、受信したフロー情報200と同等の容量が検索用情報に必要となる。
本発明では、ビットマップインデックスの長所を生かし、短所を低減させたものとして「ランク付きビットマップインデックス」を提案する。
図10に、値の取る範囲が0から255、フロー数が0から99のランク付きビットマップインデックス700の例を示す。図6に示したビットマップインデックス501,502では、フロー情報200Aの要素が取る値とビットマップインデックスの行が一対一で対応していたのに対し、図10に示すランク付きビットマップインデックス700では、新たに「その他」行(703)を追加し、出現頻度が低い(出現頻度が所定値未満)の要素をひとつの行にまとめることで、インデックスのデータ量を大幅に削減し、検索部113による検索を高速に行うようにしたものである。
検索用情報生成部110は、上記図6に示したと同様のビットマップインデックス501Aを作成した後、フロー情報200Aの統計や設定値から「ランク数」と「ランキング」を算出する。そして、「ランキング」の上位「ランク数」までをランク付きビットマップインデックス700に格納し、残りを「その他」列に格納する。
図10のビットマップインデックス501Aは、100(0〜99)のフロー情報200が要素の値を100(0〜99)ある場合を示す。ビットマップインデックス501Aは、100個の要素の値を格納する列512と、フロー情報200Aのインデックスを識別子と格納する行511を備え、識別子に対応する列512に上記図6と同様に、フロー情報200Aの要素の値が該当する行に「1」を設定する。
次に、検索用情報生成部110は、列510の要素の値について「1」が設定されている数が大きい順に行方向でソートする。そして、検索用情報生成部110は、予め設定されたランク数Rまでの順位となる行を、ランク付きビットマップインデックス700に加える。つまり、要素の値の出現頻度の高い順にランク数Rまでを、ビットマップインデックスとして利用する。
次に、ランク数Rから最下位の行までのビットを、ひとつの行にまとめ、この行をランク付きビットマップインデックス700のその他703として加える。これにより、ランク付きビットマップインデックス700のデータ量は(ランク数R+1)×フロー情報200の数となり、この例では「1」を設定するビットの領域を5×100のビットで表現することができる。これに対してビットマップインデックス501Aでは、「1」を設定するビットの領域は、要素の値の数×フロー情報200の数となり、この例では、100×100のビット数が必要となる。
このように、ランク付きビットマップインデックス700では、ビットマップインデックス501Aに比して大幅にデータ量を削減でき、さらに、検索対象となる要素の値を格納する行は、ランク数Rとなって検索処理を大幅に高速化することができる。
ここで、フロー情報200の要素となる、プロトコル番号やポート番号やIPアドレスなどは、要素の値が取り得る範囲は0h〜FFh、あるいは0h〜FFFFh等の広い範囲となる。そして、フロー情報200の要素の値は、均等に出現することはほとんどなく、例えば、ネットワーク8内で出現するプロトコル番号は、常用されるプロトコルと、極めて希なプロトコルが存在する。さらに、フロー情報200をサーバ装置103から検索する場合は、ネットワーク8やルータ装置102に障害などが発生した場合であるので、リトライなどによって特定のプロトコルの出現頻度が高くなる傾向がある。
そこで、出現頻度の高い要素の値についてはビットマップインデックス501Aとして使用し、出現頻度の低い要素の値についてはその他703としてランク付きビットマップインデックス700を生成する。
サーバ装置103からのクエリを検索部113が実行し、検索条件がその他703に該当する場合(要素の値の出現頻度が低い)は、上記図5に示したように、記憶装置109のフロー情報200Aから検索するため、検索処理に要する時間は従来例と変わらない。しかし、サーバ装置103からのクエリを検索部113が実行し、検索条件がランク数Rの順位の要素の値と一致すれば、ランク付きビットマップインデックス700からフロー情報200Aのインデックスを取得できるので、このインデックスで目的のフロー情報200Aを記憶装置109から取得することで、前記従来例に比して極めて高速にアクセスすることが可能となる。
そして、上述したように、フロー情報200Aの要素Aの値は、一般的に均一ではなく偏りを持つものであるから、検索条件がその他703となることは頻繁に発生せず、ほとんどの検索条件がランク数Rの範囲で一致するので、検索処理を極めて高速に行うことができるのである。
さらに、ビットマップインデックス501Aは、フロー情報200Aの要素毎に生成する必要があるため、要素の値の数が大きく、フロー情報200が大量にある場合では、ひとつのフロー情報200Aに対するビットマップインデックス501Aの数が増大してデータ量が大きくなるため、検索部113が記憶装置109からビットマップインデックス501Aを読み込む際の時間も増大してしまう。
これに対して、要素の値の数を制限したランク付きビットマップインデックス700では、要素の値の数が大きく、フロー情報200が大量にある場合でも、行の数は所定のランク数R+1を維持できるので、データ量が過大になるのを防いで、検索部113が記憶装置109からランク付きビットマップインデックス700を読み込む際の時間が増大するのを防止して、検索処理の高速化に寄与することができるのである。
図11は、図2に示したユーザインターフェース115の一例を示し、ランク付きビットマップインデックス700を生成する条件を設定するユーザインターフェースで、ディスプレイ7に表示される画面イメージである。
ユーザインターフェース115で、フロー情報200に含まれる要素のうちランク付きビットマップインデックス700を生成する要素(図中蓄積項目)1400を決定するビットマップインデックス作成1401と、要素の出現頻度の順位または比率での何れかを指定するランク設定1402とを含む。
図示の例では、フロー情報200の要素の内、送信元IPアドレス、送信先IPアドレス、プロトコル番号及び送信先ポート番号の要素についてビットマップインデックス作成1401が丸印に設定されて、ビットマップインデックスの生成を選択している。そして、信元IPアドレス、送信先IPアドレスについてはランク設定1402のランク数Rを「5」に設定し、出現頻度が上位4位までの要素をビットマップインデックスに格納し、5位以下をその他703にまとめることを示す。また、プロトコル番号については、フロー情報200の要素のうち、出現頻度の上位95%までの要素についてビットマップインデックスに格納し、残りの5%の出現頻度となる要素は、その他703に格納することを示す。送信先ポート番号も同様であり、出現頻度の上位90%をビットマップインデックスに格納することを示す。これらの設定は、管理者などが入力装置6を構成するマウスやキーボードにより入力する。
フロー処理部106は、ユーザインターフェース115で設定されたランク付きビットマップインデックス700の生成条件をメモリ3上の設定テーブル31に格納し、検索用情報生成部110を実行するときに設定テーブル31に設定された生成条件を参照し、ランク付きビットマップインデックス700を生成する。
図12は、ランク付きビットマップインデックス700を生成する処理の一例を示すフローチャートである。この処理は、フロー処理部106の検索用情報生成部110が所定の条件を満たしたときに実行されるプログラムである。なお、検索用情報生成部110は、上述したように、所定の周期(時間)となったとき、またはキャッシュ領域30の空き容量がなくなったときに、所定の条件を満たしたと判定し、図12の処理を開始する。
まず、ステップ1001では、検索用情報生成部110がキャッシュ領域30のフロー情報記憶部108に格納されている全てのフロー情報200を処理対象としてステップ1004までのループ処理を開始する。
ステップ1002では、検索用情報生成部110がメモリ3上の設定テーブル31を読み込んで、図3に示したフロー情報200のフィールド201〜205のうち、図11のユーザインターフェース115のビットマップインデックス作成1401が選択されている項目を取得する。検索用情報生成部110は、取得した項目をランク付きビットマップインデックス700の作成対象の要素とする。
ステップ1003では、検索用情報生成部110がひとつのフロー情報200を読み込んで、上記ステップ1002で取得した作成対象の要素のフィールド201〜205の値を抽出する。
次に、ステップ1004では、検索用情報生成部110が上記ステップ1003で抽出したフィールドの値の出現頻度(出現回数)に1を加算する。すなわち、図6のビットマップインデックス501の値を格納する列510に対応するフロー情報200の識別子ごとに列512の値に「1」を設定する。
検索用情報生成部110は、上記ステップ1002〜1004のループ処理で、ひとつのフロー情報200の作成対象の要素の出現頻度を求めると、ステップ1001に戻って次のフロー情報200について同様の処理を行う。そして、フロー情報記憶部108の全てのフロー情報200について、ランク付きビットマップインデックス700を作成する対象となっている各要素の値の出現頻度の演算が完了すると、ステップ1005の処理に進む。
ステップ1005では、検索用情報生成部110が、ランク付きビットマップインデックス700の作成対象の各フィールド(要素)について、ステップ1006、1007のループ処理を行う。なお、ステップ1005では、ランク付きビットマップインデックス700の作成対象の要素毎に図6で示したビットマップインデックス501、502を生成しておく。
ステップ1006では、検索用情報生成部110がフィールド201〜205の項目毎に上記ステップ1004で求めた値の出現頻度からビットマップインデックスを作成する。すなわち、上記ステップ1004では、検索用情報生成部110が、フロー情報200のインデックス(識別子)毎に図6に示す列512を作成したので、要素毎のビットマップインデックス501に対して、フロー情報200の識別子毎の列512を加える。この処理によって、現在着目しているフィールド(要素)のビットマップインデックス501が生成される。
次に、ステップ1007では、検索用情報生成部110が設定テーブル31からランク数Rを読み込んで、上記図10で示したように、出現頻度の高い値の順にビットマップインデックス501Aを列方向にソートし、出現頻度の上位「ランク数R」までのビットマップインデックス501Aを保持し、出現頻度の順位がランク数R+1以降の行の値を、その他703の行にまとめて要素毎のランク付きビットマップインデックス700を生成する。
検索用情報生成部110は、ひとつのフィールドについてランク付きビットマップインデックス700を生成すると、ステップ1005に戻って、次のフィールドについてランク付きビットマップインデックス700を生成する処理を繰り返し、全てのフィールドにいついてランク付きビットマップインデックス700を生成する。
上記処理により、図3に示したフロー情報200のフィールド201〜205のうち、図11のユーザインターフェース115でビットマップインデックス作成1401が選択されたフィールド毎に、指定されたランク数R+1の行を備えるランク付きビットマップインデックス700が生成される。なお、上記ではランク数Rで指定された場合を示したが、ランク数が上位からの比率で指示された場合については後述する。
検索用情報生成部110は、全てのフィールド(要素)毎のランク付きビットマップインデックス700の作成が完了すると、ステップ1008で、メモリ3上に保持していた各要素のビットマップインデックス700を記憶措置109に書き出す。このとき、検索用情報生成部110は、キャッシュ領域30のフロー情報記憶部108のフロー情報200にインデックス211を付加してから、上述したようにタイムスタンプをファイル名とする一つのファイルにまとめ、このファイルをフロー情報200Aとして記憶装置109に格納する。
さらに、検索用情報生成部110は、検索処理の高速化を図るため、インデックス情報1200を生成して記憶装置109に格納する。インデックス情報1200は、図13で示すように、一つのエントリ1201にフロー情報200の収集範囲の開始時刻を示す開始時間1202と、フロー情報200Aに含まれるフロー情報の数を示すフロー数1203と、フロー情報200Aに対応するランク付きビットマップインデックス700A,700Bのランク数Rと、ビットマップインデックス700A、700Bの格納位置を示すインデックス1205を含む。
以上の処理によって、フロー情報処理装置101がルータ装置102から受信したフロー情報200を収集し、所定の条件が成立すると、検索用情報生成部110は、ユーザインターフェース115で指定された要素(フィールド)毎にランク付きビットマップインデックス700を生成する。そして、検索用情報生成部110は、図13で示すように、フロー情報200をひとつのファイルにまとめたフロー情報200Aと、ランク付きビットマップインデックス700のインデックスとするインデックス情報1200を生成して記憶装置109に格納する。
次に、ランク付きビットマップインデックス700を利用する検索処理について説明する。
図14にランク付きビットマップインデックスを用いる検索処理のフローチャートの一例を示す。この処理は、クエリ受信部111が検索条件を含むクエリを受け付けて、クエリ処理部112が検索部113に検索条件を通知し、検索部113が処理を実行する。
まず、ステップ801で検索部113は、サーバ装置103からのクエリを受け取るとその中から検索条件を取り出す。なお、検索条件には、時刻と、要素及び要素の値が含まれる。
ステップ802では、検索部113が記憶装置109に格納されたインデックス情報1200を参照し、開始時間1202から所定時間以内に検索条件の時刻が含まれるエントリを特定する。そして、特定したエントリについて、検索条件に含まれる要素からインデックス1205を検索し、検索対象のランク付きビットマップインデックス700をメモリ3に読み込む。次に、検索部113は、後述する図15のように、検索条件に合致するフロー情報をランク付きビットマップインデックス700によって検索し、検索条件に一致するビットがランク数R内の行にあれば、フロー情報200Aのインデックスに対応する識別子を取得する。一方、検索条件に一致するビットが「その他」であれば、検索結果は「その他」として記憶する。この処理は、検索条件に含まれるフロー情報200の要素毎のランク付きビットマップインデックス700で行われる。
検索部113は、上記ステップ802で取得した識別子の数(取得するフロー情報の数)だけステップ803〜807の処理を繰り返す。
まず、ステップ804では、記憶装置109から検索条件に含まれる時刻を含むフロー情報200Aを特定し、取得した識別子に対応するフロー情報200Aをメモリ3に読み込む。
ステップ805では、検索部113がメモリ3に読み込んだフロー情報200Aについてランク付きビットマップインデックス700の「その他」に該当しているかどうか判定する。読み込んだフロー情報200Aが「その他」に該当していない場合はステップ807の送信処理へ移行する。一方、上記ステップ802のランク付きビットマップインデックス700の検索の結果が「その他」に該当している場合は対象のフロー情報200Aが検索条件に合致している保障がないためステップ806の確認処理を行う。
ステップ806では、上記図5に示した従来の検索処理によって、検索部113は検索条件に一致するフロー情報200Aを記憶装置109に格納されているフロー情報200Aから検索する。そして、検索条件に一致するフロー情報200Aがあればステップ807へ進む。検索条件に一致するフロー情報200Aがない場合には、ステップ803へ戻って次の識別子について上記処理を繰り返す。
ステップ807では、ステップ804またはステップ806で読み込んだ、フロー情報200Aをクエリに対する応答としてサーバ装置103に返信する。
以上の検索処理により、メモリ3上に読み込んだランク付きビットマップインデックス700で、検索条件に一致するビットがあれば識別子を取得することでフロー情報200A内のインデックスを得ることができるので、ステップ804で行う記憶装置109からフロー情報200Aを取得する処理時間は上記従来例のように全てのフロー情報200Aを検索する必要がないので、極めて短時間で処理を行うことが可能となる。そして、ランク付きビットマップインデックス700の検索結果が「その他」の場合のみ、従来例と同様に記憶装置109のフロー情報200Aを検索することになる。しかしながら、上述したようにフロー情報200Aの特性から、ランク付きビットマップインデックス700の検索結果が「その他」となる機会は少ないため、検索処理全体としては従来例に比して極めて高速に処理することが可能となるのである。
図15は上記図13のステップ802で示したランク付きビットマップインデックス700を用いる検索処理のフローチャートを示す。
ステップ901では、検索部113は、まず上記図7に示した演算用テーブル503と同様にして検索条件に応じた演算用テーブルをメモリ3上に作成する。この演算用テーブルは、なお、演算用テーブルは、検索条件が単一の要素に対して単一の検索条件の場合は、図7に示したランク付きビットマップインデックス700のランク数Rに対応する部分となる。
次に、ステップ902では、検索部113がその他用テーブルをメモリ3上に作成する。その他用テーブルは、ランク付きビットマップインデックス700の検索結果を管理するため、検索条件がランク数Rの要素の値に一致しなかった回数を計数するもので、検索する要素の値に対する検索回数を格納可能なテーブルであればよい。
次に、ステップ903〜906では、検索条件のパラメータ(例えば、要素)の数だけランク付きビットマップインデックス700を用いた演算を繰り返す。ステップ904では、検索部113が検索条件のパラメータに一致するビット列(図10の列710でヒットした要素の値に一致する行)を抽出する。次に、ステップ905では、抽出したビット列をステップ901で生成した演算用テーブルに格納し、検索条件のパラメータと比較を行う。この比較演算の結果である要素の値に対応する識別子を演算用テーブルに格納する。
次に、ステップ906では、上記ステップ904の処理で、要素の値としてヒットした行が「その他」であるか否かを判定し、「その他」であればステップ907に進み、ランク数R内の要素にヒットした場合は、ステップ903に戻って次のパラメータに関して検索を実施する。
ステップ907では、上記ステップ902で作成したその他用テーブルに「1」を加算して更新する。
本発明では、検索部113が記憶装置109から取り出したフロー情報200(ランク付きビットマップインデックス700)に占める「その他」以外の割合を「ヒット率」、「その他」の割合を「ミス率」と呼ぶ。ヒット率が高いほど記憶装置109からフロー情報200Aを読み込むオーバヘッドが減り、フロー情報処理装置101全体の性能が向上する。
以上の処理により、検索条件のパラメータの数だけランク付きビットマップインデックス700を用いて検索を行うことで、検索条件に一致したビット列が演算用テーブルに格納され、ランク数R内の要素の値でヒットしなかった回数がその他用テーブルに記録される。検索部113は、演算用テーブルに格納された要素の値の数と、その他用テーブルの値の和で、演算用テーブルに格納された要素の値の数を除してヒット率を求めることができる。また、検索部113は、演算用テーブルに格納された要素の値の数と、その他用テーブルの値の和で、その他用テーブルの値を除してミス率を求めることができる。
さらに、「その他」の行を参照したかどうか記録することでステップ904の段階で追加の処理である記憶装置109からの識別子の検索が必要か否かを知ることができる。
図16は、フロー情報処理装置101に入力されたクエリの一例を示し、図17は、図16のクエリに対する検索処理の結果の一例を示す説明図である。
図16では、サーバ装置103がフロー情報処理装置101に要求したクエリ1301を示す。クエリ1301には、サーバ装置103が要求する情報(抽出情報)として、送信元IPアドレスと、送信先IPアドレスが設定される。抽出情報の読み出し先として、フロー情報200Aが指定される。抽出情報の検索条件(検索情報)としては、開始時刻と終了時刻及び要素の値としてプロトコル番号が指定される。
上記クエリ1301を受け付けたフロー情報処理装置101が、上記図14、図15の検索処理を行ってサーバ装置103へ出力した結果が図17に示すクエリ出力1302となる。図17のクエリ出力は、検索条件の開始時刻と終了時刻の期間で、要素の値がプロトコル番号=6のフロー情報200Aから送信先IPアドレスと送信元IPアドレスが識別子(フローID)毎に出力される。
上記図16,図17の例では、要素(プロトコル番号)の値(=6)は、図10のランク付きビットマップインデックス700の最初の行でヒットする。検索部113は、ヒットした行の識別子(=1,2,4)を取得する。検索部113は、取得した識別子に対応するフロー情報200Aのインデックスから抽出情報を読み込んでサーバ装置103に応答する。
以上により、メモリ3上に読み込んだランク付きビットマップインデックス700で、検索条件に一致するビットがあれば識別子を取得し、この識別子からフロー情報200A内のインデックスを得ることができるので、記憶装置109からフロー情報200Aを取得する処理時間は上記従来例のように全てのフロー情報200Aを検索する必要がないので、極めて短時間で処理を行うことが可能となり、フロー情報処理装置101が大量のフロー情報200Aを管理する場合であっても、高速な検索が可能となる。
図18は、上記図11に示したユーザーインターフェース115でランク設定を比率で指定した場合に「ランク数」または「ランキング」をフロー情報200内の各要素の出現頻度から決定するようにしたものである。
ランク付きビットマップインデックス700における「ランク数」「ランキング」はフロー情報200内の各要素の出現頻度の統計は、フロー情報200を受信するたびに行ってもよく、特定時間や特定個数ごとに一括して行ってもよい。
以下に「ランク数」または「ランキング」を予め設定された比率に基づいて決定する例を示す。
図18は、ランク付きビットマップインデックス700を生成する処理の一例を示すフローチャートである。この処理は、図12と同様に、フロー処理部106の検索用情報生成部110が所定の条件を満たしたときに実行されるプログラムである。なお、検索用情報生成部110は、上述したように、所定の周期(時間)となったとき、またはキャッシュ領域30の空き容量がなくなったときに、所定の条件を満たしたと判定し、図18の処理を開始する。
まず、ステップ1101では、検索用情報生成部110がキャッシュ領域30のフロー情報記憶部108に格納されている全てのフロー情報200を処理対象としてステップ1104までのループ処理を開始する。
ステップ1102では、検索用情報生成部110がメモリ3上の設定テーブル31を読み込んで、図3に示したフロー情報200のフィールド201〜205のうち、図11のユーザインターフェース115のビットマップインデックス作成1401が選択され、かつ、ランク設定1402が上位からの比率で指定された項目を取得する。検索用情報生成部110は、取得した項目をランク付きビットマップインデックス700の作成対象の要素とする。
ステップ1103では、検索用情報生成部110がキャッシュ領域30からひとつのフロー情報200を読み込んで、上記ステップ1102で取得した作成対象の要素のフィールド201〜205の値を抽出する。
次に、ステップ1104では、検索用情報生成部110が上記ステップ1103で抽出したフィールドの値の出現頻度(出現回数)に1を加算する。すなわち、図6のビットマップインデックス501の値を格納する列510に対応するフロー情報200の識別子ごとに列512の値に「1」を設定する。
検索用情報生成部110は、上記ステップ1102〜1004のループ処理で、ひとつのフロー情報200の作成対象の要素の出現頻度を求めると、ステップ1101に戻って次のフロー情報200について同様の処理を行う。そして、フロー情報記憶部108の全てのフロー情報200について、ランク付きビットマップインデックス700を作成する対象となっている各要素の値の出現頻度の演算が完了すると、ステップ1105の処理に進む。
ステップ1105では、ランクの順位(ランキング)を示す変数Nに初期値として「1」を設定する。
ステップ1106では、検索用情報生成部110がフィールド201〜205の項目毎に上記ステップ1104で求めた値の出現頻度の高い順にソートを行って、出現順位の最も高いフィールドの値に変数Nを設定し、上記図12のステップ1006と同様に、現在着目しているフィールド(要素)のビットマップインデックス501を生成する。
次に、ステップ1107では、現在着目しているフィールドの値の変数Nの値が1〜Nの数と、作成対象のフロー情報200の全体の数の比率から出現頻度が第1位から第N位までの値の数の割合を求める。
ステップ1108では、ユーザーインターフェース115で指定された比率と、ステップ1107で求めた割合を比較して、この割合が指定された比率を超えたか否かを判定する。割合が指定された比率を超えていれば、ステップ1109に進みランク付きビットマップインデックス700を生成し、割合が指定された比率以下であれば、ステップ1110に進んで変数Nに1を加えてから、上記ステップ1106に戻って次の順位Nのビットマップインデックスを作成する。
ステップ1109では、作成対象のフロー情報200の全体の数に対するフィールドの値の変数Nの値が1〜Nの数の割合が、指定された比率に達したので、変数N=1〜Nまでのランク数の要素の値についてランク付きビットマップインデックス700を生成し、変数N=N+1以降の順位の要素の値についてはその他の行703にまとめてランク付きビットマップインデックス700を完成させる。
以上のように、ユーザーインターフェース115にてランク設定1402が上位からの比率の場合には、作成対象のフロー情報200の全体の数に対するフィールドの値の変数Nの値が1〜Nの数の割合が指定された比率となるランク数Rが自動的に決定されるのである。これにより、検索処理を行ったときには、検索条件が出現頻度の高い要素の値で一致する確率が向上し、検索のミスヒットによってフロー情報200Aのインデックスを記憶装置109から検索する機会を低減することができる。したがって、フロー情報処理装置101を大規模なネットワークに設置して、大量のフロー情報200を収集する場合でも、検索処理の速度が低下するのを防ぎ、フロー情報処理装置101の負荷が過大になるのを防ぐことができる。
なお、上記実施形態ではフロー情報を送信する装置としてルーター装置を用いる例を示したが、パケットを転送して、転送した結果をフロー情報として出力可能な装置であればよく、例えば、L3(Layer 3)スイッチやロードバランサ等の通信装置を用いることができる。
以上のように、本発明は、ネットワークシステムに設置されてフロー情報を収集し、収集したフロー情報を検索する管理装置に適用することができる。また、フロー情報の記憶や検索のみならず、時間ごとに大量のログ情報などを処理する装置全般において、記憶装置の容量削減と、検索の高速化を実現できる。
本発明のフロー情報処理装置を備えたネットワークシステムのブロック図。 本発明に係わるフロー情報処理装置とネットワークシステムの機能要素を示すブロック図。 本発明に係わるフロー情報の一例を示す説明図。 サーバ装置から送信されるクエリの一例を示す説明図。 従来例による検索処理の一例を示すフローチャート。 フロー情報からビットマップインデックスを生成する過程を示す説明図。 ビットマップインデックスから検索条件に応じて生成された演算用テーブルの一例を示す説明図。 ビットマップインデックスから検索条件に応じて生成された演算用テーブルの一例を示す説明図。 ビットマップインデックスを用いた検索処理の一例を示すフローチャート。 ビットマップインデックスからランク付きビットマップインデックスを生成する過程を示す説明図。 ユーザーインターフェースの一例を示す画面イメージ。 ランク付きビットマップインデックスの生成処理の一例を示すフローチャート。 フロー情報からランク付きビットマップインデックスを生成し、さらにインデックス情報を生成する過程を示す説明図。 ランク付きビットマップインデックスを用いた検索処理の一例を示すフローチャート。 図14のステップ802で行われるランク付きビットマップインデックスの検索処理の一例を示すサブルーチン。 フロー情報処理装置に入力されたクエリの一例を示す説明図。 フロー情報処理装置から出力されたクエリに対する応答の一例を示す説明図。 ユーザーインターフェースのランク設定が比率の場合のランク付きビットマップインデックスの生成処理を示すフローチャート。
符号の説明
101 フロー処理装置
102 ルータ装置
103 サーバ装置
104 通信インターフェース
105 プロトコル処理部
106 フロー処理部
107 フロー情報受信部
108 フロー情報記憶部
109 記憶装置
110 検索用情報生成部
111 クエリ受信部
112 クエリ処理部
113 検索部
114 送信部
115 ユーザインタフェース
1200 インデックス情報
200、200A フロー情報
501 ビットマップインデックス
700 ランク付きビットマップインデックス

Claims (10)

  1. フロー情報または検索要求を受信する受信部と、
    前記受信したフロー情報を格納する記憶装置と、
    前記受信した検索要求に基づいて前記記憶装置に格納されたフロー情報を検索する検索部と、
    前記検索部が検索した結果を送信する送信部と、
    を備えたフロー情報処理装置において、
    前記受信部が受信した前記フロー情報を一時的に格納するフロー情報記憶部と、
    所定の条件が成立したときに、前記フロー情報記憶部に格納されたフロー情報から検索用情報を生成する検索用情報生成部と、を備え、
    前記検索部は、
    前記検索要求を受け付けると当該検索要求に含まれる検索条件で前記検索用情報を検索し、前記検索条件に合致する検索用情報から前記フロー情報を取得し、
    前記検索用情報生成部は、
    前記所定の条件が成立する度に、前記フロー情報に含まれる項目毎に前記検索用情報を生成することを特徴とするフロー情報処理装置。
  2. 請求項1に記載のフロー情報処理装置であって、
    前記検索用情報生成部は、
    前記フロー情報記憶部に格納されたフロー情報に含まれる項目からフロー情報の内容を抽出し、前記抽出した項目の内容を含む情報を検索用情報として生成することを特徴とするフロー情報処理装置。
  3. 請求項2に記載のフロー情報処理装置であって、
    前記検索用情報生成部は、
    前記フロー情報記憶部に格納されたフロー情報に含まれる項目の内容を抽出し、
    前記抽出した内容の出現頻度を演算し、
    前記フロー情報にインデックスを付与し、
    前記演算した出現頻度の順に前記項目の内容を設定し、前記インデックスが指し示すフロー情報の関係からビット情報を前記検索用情報として生成することを特徴とするフロー情報処理装置。
  4. 請求項3に記載のフロー情報処理装置であって、
    前記検索用情報生成部は、
    前記ビット情報の内、前記出現頻度の順位が予め設定した順位以降の項目の内容については、複数の項目の内容を予め設定した内容に設定し、予め設定した順位以降の項目の内容に対応する複数のインデックスを前記予め設定した内容にまとめることを特徴とするフロー情報処理装置。
  5. 請求項3に記載のフロー情報処理装置であって、
    前記検索部は、
    前記検索要求を受け付けると当該検索要求に含まれる検索条件で前記ビット情報を検索し、
    前記検索条件に合致するビット情報からインデックスを取得し、
    前記インデックスから前記フロー情報を取得することを特徴とするフロー情報処理装置。
  6. 請求項4に記載のフロー情報処理装置であって、
    前記検索部は、
    前記検索要求を受け付けると当該検索要求に含まれる検索条件で前記ビット情報を検索し、
    前記検索条件に合致する項目の内容が前記予め設定した内容の場合には、前記検索条件に合致するフロー情報を前記記憶装置から検索することを特徴とするフロー情報処理装置。
  7. 請求項1に記載のフロー情報処理装置であって、
    前記検索用情報生成部は、
    予め設定した周期が経過する度に所定の条件の成立を判定することを特徴とするフロー情報処理装置。
  8. 請求項1に記載のフロー情報処理装置であって、
    前記検索用情報生成部は、
    前記フロー情報記憶部の空き容量が所定の値に達したときに所定の条件の成立を判定することを特徴とするフロー情報処理装置。
  9. 請求項1に記載のフロー情報処理装置であって、
    前記フロー情報は、NetFlowまたはIPFIXのプロトコルを用いることを特徴とするフロー情報処理装置。
  10. フロー情報を送信する通信装置と、
    検索要求を送信する計算機と、
    前記フロー情報または検索要求を受信する受信部と、前記受信したフロー情報を格納する記憶装置と、前記受信した検索要求に基づいて前記記憶装置に格納されたフロー情報を検索する検索部と、前記検索部が検索した結果を前記サーバ装置に送信する送信部と、を有するフロー情報処理装置と、
    を備えたネットワークシステムにおいて、
    前記フロー情報処理装置は、
    前記受信部が受信した前記フロー情報を一時的に格納するフロー情報記憶部と、
    所定の条件が成立したときに、前記フロー情報記憶部に格納されたフロー情報から検索用情報を生成する検索用情報生成部と、を備え、
    前記検索部は、
    前記検索要求を受け付けると当該検索要求に含まれる検索条件で前記検索用情報を検索し、前記検索条件に合致する検索用情報からフロー情報を取得し、
    前記検索用情報生成部は、
    前記所定の条件が成立する度に、前記フロー情報に含まれる項目毎に前記検索用情報を生成することを特徴とするネットワークシステム。
JP2008233067A 2008-09-11 2008-09-11 フロー情報処理装置及びネットワークシステム Expired - Fee Related JP4717106B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008233067A JP4717106B2 (ja) 2008-09-11 2008-09-11 フロー情報処理装置及びネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008233067A JP4717106B2 (ja) 2008-09-11 2008-09-11 フロー情報処理装置及びネットワークシステム

Publications (2)

Publication Number Publication Date
JP2010068279A JP2010068279A (ja) 2010-03-25
JP4717106B2 true JP4717106B2 (ja) 2011-07-06

Family

ID=42193460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008233067A Expired - Fee Related JP4717106B2 (ja) 2008-09-11 2008-09-11 フロー情報処理装置及びネットワークシステム

Country Status (1)

Country Link
JP (1) JP4717106B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379039B (zh) 2012-04-23 2016-12-14 华为技术有限公司 一种用于流统计的方法、装置及***
JP6021111B2 (ja) * 2013-10-08 2016-11-02 日本電信電話株式会社 フロー集約装置及び方法
CN114328319A (zh) * 2021-12-30 2022-04-12 苏州盛科科技有限公司 一种过滤无效事件上报消息的方法、装置及存储介质
CN116304258B (zh) * 2023-05-15 2023-07-21 上海爱可生信息技术股份有限公司 基于向量数据库的检索方法、检索***及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006521776A (ja) * 2003-03-28 2006-09-21 ジュニパー ネットワークス, インコーポレイテッド インテリジェント統合ネットワークセキュリティ装置
JP2007116405A (ja) * 2005-10-20 2007-05-10 Alaxala Networks Corp 異常トラヒックの検出方法およびパケット中継装置
JP2007228513A (ja) * 2006-02-27 2007-09-06 Hitachi Ltd ネットワークシステム及びトラヒック情報集約装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006521776A (ja) * 2003-03-28 2006-09-21 ジュニパー ネットワークス, インコーポレイテッド インテリジェント統合ネットワークセキュリティ装置
JP2007116405A (ja) * 2005-10-20 2007-05-10 Alaxala Networks Corp 異常トラヒックの検出方法およびパケット中継装置
JP2007228513A (ja) * 2006-02-27 2007-09-06 Hitachi Ltd ネットワークシステム及びトラヒック情報集約装置

Also Published As

Publication number Publication date
JP2010068279A (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
US11645183B1 (en) User interface for correlation of virtual machine information and storage information
US11601351B2 (en) Aggregation of select network traffic statistics
JP6599538B2 (ja) ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置
US6751627B2 (en) Method and apparatus to facilitate accessing data in network management protocol tables
JP6134437B2 (ja) データ転送監視システム、データ転送監視方法、および拠点システム
JP2018531527A6 (ja) ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置
JP5238432B2 (ja) メタデータ収集装置、ならびにその方法およびプログラム
CN1825829A (zh) 动态服务质量(QoS)管理
CN107203532B (zh) 索引***的构建方法、搜索的实现方法及装置
JP2007148885A (ja) コンテンツ収集装置およびコンテンツ収集システム
JP4684883B2 (ja) 属性情報収集装置、属性情報収集方法および属性情報収集プログラム
JP4717106B2 (ja) フロー情報処理装置及びネットワークシステム
WO2020181820A1 (zh) 数据缓存方法、装置、计算机设备和存储介质
CN111158892B (zh) 一种任务队列生成方法、装置及设备
CN112486914A (zh) 一种数据包存储与快查方法与***
WO2013120412A1 (zh) 数据下载方法、终端、服务器和***
JP5433700B2 (ja) メタデータ収集装置
EP3961414B1 (en) Method and apparatus for processing time records
JP2011210120A (ja) 複数サーバ検索装置及び方法
JP2009070210A (ja) カテゴリ別ランキング作成装置
CN116610870B (zh) 一种数据处理方法、装置及电子设备
JP5262751B2 (ja) 資源情報管理サーバ、資源情報管理システム、資源情報管理方法および資源情報管理プログラム
CN118353910A (zh) 一种提高边缘cdn下沉节点缓存命中率的方法及***
JP5147790B2 (ja) クローラ調整装置及びクローラ調整方法
JP3885050B2 (ja) ネットワーク管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees