JP7662054B2 - Data processing device, data processing method, and program - Google Patents
Data processing device, data processing method, and program Download PDFInfo
- Publication number
- JP7662054B2 JP7662054B2 JP2023567361A JP2023567361A JP7662054B2 JP 7662054 B2 JP7662054 B2 JP 7662054B2 JP 2023567361 A JP2023567361 A JP 2023567361A JP 2023567361 A JP2023567361 A JP 2023567361A JP 7662054 B2 JP7662054 B2 JP 7662054B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- unit
- receiving
- result
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、データ処理装置、データ処理方法、及び、プログラムに関する。 The present invention relates to a data processing device, a data processing method, and a program.
ネットワークにおいてその通信状況を把握するため、ネットワークを流れるパケット及びその情報を取得することが一般的に行われている。従来はネットワーク上のパケットはその設計思想において固有のフィールド構造を持っていることが一般的であったが、ネットワークの仮想化が進み複数のネットワークが単一の物理構成上で構成されるようになったことに伴い、ネットワーク上のパケットのフィールド構造は一意に定まらなくなってきている。このような状況において、通信データの識別装置にはパケットのフィールド構造に対して柔軟に識別対象を選択できることが要求されている。このような課題を解決するものとして、一般にはTCAM(Ternary Content Addressable Memory)を用いた比較一致方式がある(例えば、非特許文献1)。しかし、TCAMは専用のチップとして実装されるため、高価な専用装置でないと導入できないという問題がある。これに対し専用チップでないハードウェア及びソフトウェアにおいてはCやJAVAなどの少ない工数で新たなフィールドに対応させやすい高位言語を用いた設計手法が用いられている。In order to grasp the communication status in a network, it is common to acquire packets flowing through the network and their information. Conventionally, packets on a network generally had a unique field structure in the design concept, but as network virtualization progresses and multiple networks are configured on a single physical configuration, the field structure of packets on a network is no longer uniquely determined. In such a situation, a communication data identification device is required to be able to flexibly select an identification target for the field structure of a packet. To solve this problem, a comparison and matching method using a TCAM (Ternary Content Addressable Memory) is generally used (for example, Non-Patent Document 1). However, since TCAM is implemented as a dedicated chip, there is a problem that it can only be introduced by an expensive dedicated device. In contrast, for hardware and software that are not dedicated chips, a design method using a high-level language such as C or JAVA, which is easy to adapt to new fields with few man-hours, is used.
高位言語は手続き型の記述言語であり、逐次行われる処理に対する記述となる。図9に、逐次処理を採用した装置として考えられる比較例としてのデータ処理装置910を示す。この比較例では、受信部911、タイムスタンプ部912、パケット識別部913それぞれからの出力データがバッファ919に全て格納されてから、処理実行部914による処理が開始される。従って、処理実行部914は、各部911~913からの出力データ(処理結果)が出揃うまで待機する必要があり、処理実行部の動作効率が悪い。このような課題は、データ処理装置910以外のデータ処理装置一般にもいえる。
A high-level language is a procedural description language, and describes the processing that is performed sequentially. Figure 9 shows a
本発明は、処理実行部の動作効率を良くすることを課題とする。 The present invention aims to improve the operating efficiency of the processing execution unit.
上記課題を解決するために、本発明に係るデータ処理装置は、データを受信して出力する受信処理を実行する受信部と、前記受信部から出力された前記データに対して第1処理を実行し、当該第1処理の第1処理結果を出力する第1処理部と、前記第1処理のあとに前記データに対して第2処理を実行し、当該第2処理の第2処理結果を出力する第2処理部と、前記受信部から前記データを受信し、前記第1処理部から前記第1処理結果を受信し、前記第2処理部から前記第2処理結果を受信し、受信した前記データと前記第1処理結果と前記第2処理結果とに基づく処理を実行する処理実行部と、を備え、前記受信処理、前記第1処理、及び、前記第2処理のうち少なくとも前記第1処理及び前記第2処理のそれぞれの処理時間は、処理対象のデータの内容によらず一定であり、前記処理実行部は、前記第2処理結果を受信する前に前記データと前記データについての前記第1処理結果との少なくとも一方を用いた処理を開始する。In order to solve the above problem, the data processing device of the present invention comprises a receiving unit that executes a receiving process to receive and output data, a first processing unit that executes a first process on the data output from the receiving unit and outputs a first processing result of the first process, a second processing unit that executes a second process on the data after the first process and outputs a second processing result of the second process, and a processing execution unit that receives the data from the receiving unit, receives the first processing result from the first processing unit, receives the second processing result from the second processing unit, and executes processing based on the received data, the first processing result, and the second processing result, wherein the processing time for at least the first processing and the second processing of the receiving process, the first processing, and the second processing is constant regardless of the content of the data to be processed, and the processing execution unit starts processing using at least one of the data and the first processing result for the data before receiving the second processing result.
上記課題を解決するために、本発明に係るデータ処理方法は、データを受信して出力する受信処理を実行する受信ステップと、前記受信ステップで出力された前記データに対して第1処理を実行し、当該第1処理の第1処理結果を出力する第1処理ステップと、前記第1処理のあとに前記データに対して第2処理を実行し、当該第2処理の第2処理結果を出力する第2処理ステップと、前記受信ステップで出力された前記データを受信し、前記第1処理ステップで出力された前記第1処理結果を受信し、前記第2処理ステップで出力された前記第2処理結果を受信し、受信した前記データと前記第1処理結果と前記第2処理結果とに基づく処理を実行する処理実行ステップと、を備え、前記受信処理、前記第1処理、及び、前記第2処理のうち少なくとも前記第1処理及び前記第2処理のそれぞれの処理時間は、処理対象のデータの内容によらず一定であり、前記処理実行ステップでは、前記第2処理結果を受信する前に前記データと前記データについての前記第1処理結果との少なくとも一方を用いた処理を開始する。In order to solve the above problem, the data processing method of the present invention includes a receiving step of executing a receiving process to receive and output data, a first processing step of executing a first process on the data output in the receiving step and outputting a first processing result of the first process, a second processing step of executing a second process on the data after the first process and outputting a second processing result of the second process, and a processing execution step of receiving the data output in the receiving step, receiving the first processing result output in the first processing step, receiving the second processing result output in the second processing step, and executing processing based on the received data, the first processing result, and the second processing result, wherein the processing time of at least the first processing and the second processing among the receiving process, the first processing, and the second processing is constant regardless of the content of the data to be processed, and in the processing execution step, processing using at least one of the data and the first processing result for the data is started before the second processing result is received.
上記課題を解決するために、本発明に係るコンピュータは、コンピュータに、データを受信して出力する受信処理を実行する受信ステップと、前記受信ステップで出力された前記データに対して第1処理を実行し、当該第1処理の第1処理結果を出力する第1処理ステップと、前記第1処理のあとに前記データに対して第2処理を実行し、当該第2処理の第2処理結果を出力する第2処理ステップと、前記受信ステップで出力された前記データを受信し、前記第1処理ステップで出力された前記第1処理結果を受信し、前記第2処理ステップで出力された前記第2処理結果を受信し、受信した前記データと前記第1処理結果と前記第2処理結果とに基づく処理を実行する処理実行ステップと、を実行させ、前記受信処理、前記第1処理、及び、前記第2処理のうち少なくとも前記第1処理及び前記第2処理のそれぞれの処理時間は、処理対象のデータの内容によらず一定であり、前記処理実行ステップでは、前記第2処理結果を受信する前に前記データと前記データについての前記第1処理結果との少なくとも一方を用いた処理を開始する。In order to solve the above problem, the computer of the present invention causes the computer to execute a reception process that receives and outputs data, a first processing step that executes a first process on the data output in the reception step and outputs a first processing result of the first process, a second processing step that executes a second process on the data after the first process and outputs a second processing result of the second process, and a processing execution step that receives the data output in the reception step, receives the first processing result output in the first processing step, receives the second processing result output in the second processing step, and executes processing based on the received data, the first processing result, and the second processing result, wherein the processing time for at least the first processing and the second processing among the reception process, the first processing, and the second processing is constant regardless of the content of the data to be processed, and in the processing execution step, processing using at least one of the data and the first processing result for the data is started before the second processing result is received.
本発明によれば、処理実行部の動作効率が良くなる。 According to the present invention, the operating efficiency of the processing execution unit is improved.
以下、本発明の実施の形態について図面を参照して説明する。 Below, an embodiment of the present invention is explained with reference to the drawings.
本実施の形態に係るデータ処理装置10は、図1に示すように、受信部11と、第1処理部として構成されたタイムスタンプ部12と、第2処理部として構成されたパケット識別部13と、処理実行部14と、出力部15と、記憶部19と、を備える。このような構成のデータ処理装置10は、通信ネットワークNWのトラフィックをフローごとに監視するトラフィック監視装置として構成されている。1, the
上記各部11~14の少なくとも一部は、例えば、FPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などに書き込まれた論理回路から構成される。各部11~14の少なくとも一部は、プログラムを実行するCPU(Central Processing Unit)などのプロセッサにより構成されてもよい。記憶部19は、フラッシュメモリ、SSD(Solid State Drive)などの適宜の不揮発性の記憶装置からなる。記憶部19は、FPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などの少なくとも一部のメモリにより構成されてもよい。各部11~14は、処理中のデータなどを一時的に保持するメモリを含んで構成されてもよい。At least a part of each of the above units 11 to 14 is composed of a logic circuit written in, for example, an FPGA (Field-Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), etc. At least a part of each of the units 11 to 14 may be composed of a processor such as a CPU (Central Processing Unit) that executes a program. The
受信部11は、通信ネットワークNWを流れるパケット(より具体的にはミラーリングパケット)を受信して、タイムスタンプ部12及び処理実行部14に出力する受信処理を実行する。パケットは、図2に示すように、データ(ペイロードともいう)と、データの前に配置されたヘッダと、で構成されている。ヘッダを構成する各データは、あるビット数ごとに意味づけられている。この意味づけられたビット区切りのデータを、ヘッダフィールド値といい、ヘッダフィールド値が一致するパケットの一群をフローという。従って、ヘッダフィールド値はフローを特定する情報でもある。なお、ヘッダフィールド値は、L3ヘッダの送信元及び宛先を示す各IP(Internet Protocol)アドレスなどを含んでもよい。フローは、例えば、宛先、送信元、及び、通信プロトコルのうちの少なくとも1つを示すヘッダフィールド値が共通するパケットの集合であればよい。The receiver 11 receives packets (more specifically, mirroring packets) flowing through the communication network NW and executes a receiving process to output the packets to the
図1に戻り、タイムスタンプ部12は、リアルタイムクロックなどを参照し、受信部11から出力されたパケットに対してタイムスタンプを生成して処理実行部14に出力するタイムスタンプ処理を実行する。タイムスタンプ部12は、受信部11からのパケットをパケット識別部13に出力する。このとき、パケットにタイムスタンプが付与されていてもよい。Returning to FIG. 1, the
パケット識別部13は、タイムスタンプが生成されたタイムスタンプ部12からのパケットが属するフローを識別し、識別したフローを特定するフロー情報であるフローIDを出力するパケット識別処理を実行する。パケット識別部13は、ヘッダ解析部13A、ハッシュ演算部13B、及び、ルールマッチング部13Cを備え、これら各部13A~13Bが下記の処理を行うことでパケット識別処理を実行する。The
タイムスタンプ部12からパケット識別部13に入力されたパケットは、まずヘッダ解析部13Aに入力される。ヘッダ解析部13Aは、入力されたパケットのヘッダを解析して当該ヘッダからヘッダフィールド値を抽出する解析処理を実行する。抽出されたヘッダフィールド値は、ハッシュ演算部13Bに入力される。A packet input from the
ハッシュ演算部13Bは、入力されたヘッダフィールド値をハッシュ化するハッシュ演算処理を実行する。ハッシュ演算部13Bは、ハッシュ化されたヘッダフィールド値を前記タイムスタンプとともにルールマッチング部13Cに出力する。The
ルールマッチング部13Cは、入力されたヘッダフィールド値(ハッシュ化されたヘッダフィールド値)と、記憶部19が記憶するルールテーブル19Aに登録された、監視対象のフローに属するパケットを指定する予め定められたルールと、を比較するマッチング処理を実行する。図3に示すように、ルールテーブル19Aに登録されたルールは、フローごとに登録され、1つのルールは、そのフローのヘッダフィールド値(ハッシュ化されたヘッダフィールド値)と、当該ヘッダフィールド値に対応付けられたフローIDとを含む。フローIDは、ルールを識別するルールIDからなってもよい。ルールマッチング部13Cは、マッチング処理において、ルールテーブル19Aの各ルールを参照し、入力されたヘッダフィールド値に対応するフローIDを取得する。ルールマッチング部13Cは、取得したフローIDを処理実行部14に出力する。The rule matching
処理実行部14は、受信部11からパケットを受信し、タイムスタンプ部12からタイムスタンプを受信し、パケット識別部13からフローIDを受信し、受信したパケットとタイムスタンプとフローIDとに基づく処理(ここでは、トラフィックの監視に必要な処理)を実行する。処理実行部14は、前記処理を実行する演算部として、集計部14A、パケットキャプチャ部14B、及び、異常検出部14Cを備える。The
集計部14Aは、パケット識別部13からのフローIDの入力回数を、フローIDごとつまりフローごとにカウントする。カウントされる受信回数は、受信部11が受信したパケットの数つまりパケット数ともいえる。集計部14Aは、受信部11からのパケットに基づいて、そのデータ量を計測し、計測したデータ量をフロー毎に積算する。集計部14Aは、一定期間ごとに、フローそれぞれについて、当該一定期間にカウント又は積算したパケット数及びデータ量を集計結果として出力部15に出力する。処理結果は、パケット数とデータ量とのいずれかであってもよい。The counting
パケットキャプチャ部14Bは、受信部11からのパケットを記憶部19に格納するパケットキャプチャを実行する。さらに、パケットキャプチャ部14Bは、タイムスタンプ部12からのタイムスタンプを付与する。The
異常検出部14Cは、記憶部19に保存されたパケット、集計部14Aによる集計結果、タイムスタンプ部12からのタイムスタンプなどをもとに何らかの判別式に基づいて、フローごとに、トラフィック異常(例えば、マイクロバーストなど)を検出する。異常検出部14Cは、トラフィック異常を検出した場合、トラフィック異常が発生した旨を異常発生情報として出力部15に出力する。異常発生情報は、発生したトラフィック異常の種類の情報を含んでもよい。The
出力部15は、処理実行部14による処理結果、ここでは、集計部14Aからの集計結果及び異常検出部14Cからの異常発生情報を出力する。出力部15は、例えば、データ処理装置10が備える表示部などに集計結果及び又は異常発生情報を表示する。出力部15は、例えば、異常発生情報を、データ処理装置10の内部又は外部に設けられた所定の処理部に出力し、当該処理部は、異常発生情報に基づいて、トラフィック異常が検出したフローについて通信を遮断するための処理を実行してもよい。出力部15は、パケットキャプチャ部14Bがキャプチャしたパケットを取得し、取得したパケットをデータ処理装置10の外部の装置に出力してもよい。The
この実施の形態では、受信部11は、受信処理の処理時間(以下、処理時間Aともいう)が受信部11に入力されるパケットのデータ内容によらず一定となるように構成されている。タイムスタンプ部12も、タイムスタンプ処理の処理時間(以下、処理時間Bともいう)がタイムスタンプ部12に入力されるパケットのデータ内容によらず一定となるように構成されている。パケット識別部13も、パケット識別処理の処理時間(以下、処理時間Cともいう)がパケット識別部13に入力されるパケットのデータ内容によらず一定となるように構成されている。つまり、各部11~13は、どのような入力データ(処理対象のデータ)に対しても一定の処理時間で必要な処理を完了する。上記処理時間A~Cの各開始タイミングは、例えば、データが入力開始されたタイミングである。上記処理時間A~Cの各終了タイミングは、例えば、データ(処理結果など)が出力開始されたタイミングである。処理時間A~Cは、互いに同じ処理時間であってもよいし、互いに異なる時間であってもよい。In this embodiment, the receiving unit 11 is configured so that the processing time of the receiving process (hereinafter also referred to as processing time A) is constant regardless of the data content of the packet input to the receiving unit 11. The
処理時間Aがどのようなパケットに対する処理においても同じとは、受信部11での処理でどの処理分岐を経由しても一定の処理時間で処理が完了することを意味する。例えば、図4の上段の図に示すように、分岐後の処理Aの処理時間がクロック3サイクル分で、処理Bの処理時間がクロック2サイクル分である場合、下段の図のように、処理Bのあとにクロック1サイクル分の遅延回路を挿入する。これにより、分岐後の処理時間が一定となる。または、図5に示すように、分岐後の処理Aの一部を並列化して、処理時間をクロック2サイクル分に短縮する。これによって、分岐後の処理時間が一定となる。このようなことは、タイムスタンプ部12及びパケット識別部13についても同じである。なお、処理時間の調整はこれに限られない。各部11~13は、処理開始からの時間をタイマなどで計測し、処理が終了しても、前記タイマなどで計測した処理開始からの時間が処理時間A~Cに達するまで処理結果のデータ出力を待機してもよい。
The fact that the processing time A is the same for any packet means that the processing is completed in a constant processing time regardless of which processing branch is taken in the processing in the receiving unit 11. For example, as shown in the upper diagram of FIG. 4, if the processing time of processing A after branching is three clock cycles and the processing time of processing B is two clock cycles, as shown in the lower diagram, a delay circuit for one clock cycle is inserted after processing B. This makes the processing time after branching constant. Alternatively, as shown in FIG. 5, a part of processing A after branching is parallelized to reduce the processing time to two clock cycles. This makes the processing time after branching constant. The same applies to the
図6に示すように、受信部11は、処理時間Aで受信処理を実行する。受信処理で受信されたパケットは、タイムスタンプ部12及び処理実行部14に入力される(タイミングT2)。タイムスタンプ部12は、受信部11からのパケットの入力を契機として、処理時間Bでタイムスタンプ処理を実行する。タイムスタンプ処理で付与されたタイムスタンプは、処理実行部14に入力され、タイムスタンプの付与対象のパケットは、パケット識別部13に入力される(タイミングT3)。パケット識別部13は、タイムスタンプ部12からのパケットの入力を契機として、処理時間Cでパケット識別処理を実行する。パケット識別処理で取得されるフローIDなどは、処理実行部14に入力される(タイミングT4)。As shown in FIG. 6, the receiving unit 11 executes the receiving process at processing time A. The packet received in the receiving process is input to the
処理実行部14は、自身に入力されたデータがどのデータかを、処理時間A~Cとの関係で特定することができる。これは上述のように処理時間A~Cが一定であるからである。受信部11は、例えば、パケットの受信処理開始時(タイミングT1)にパケットの受信通知を処理実行部14に送信する。The
前記の受信通知送信後、必ず処理時間A経過後にパケットが処理実行部14に入力される(タイミングT2)。従って、処理実行部14は、受信通知の受領後、処理時間A経過後に入力されたデータをパケットと認識する。処理実行部14は、例えば、パケットキャプチャ部14Bによりパケットを記憶部19に保存するパケットキャプチャを行う。After the reception notification is sent, the packet is always input to the
前記パケットの入力から処理時間B経過後には、必ずタイムスタンプが処理実行部14に入力される(タイミングT3)。従って、処理実行部14は、パケットの入力後、処理時間B経過後に入力されたデータを当該パケットに付与されたタイムスタンプと認識する。処理実行部14は、例えば、パケットキャプチャ部14Bにより記憶部19に保存したパケットに、タイムスタンプ部12から入力されたタイムスタンプを付与するよう、当該タイムスタンプをパケットに対応付けて記憶部19に記憶させる。なお、処理実行部14は、パケットを保持し、タイムスタンプの入力を契機として、パケットにタイムスタンプを付与して記憶部19に格納してもよい。A timestamp is always input to the
タイムスタンプの入力後、必ず処理時間C経過後にパケット識別処理で得られるフローIDなどが処理実行部14に入力される(タイミングT4)。このため、処理実行部14は、タイムスタンプの入力後、処理時間C経過後に入力されたデータを今回のパケットが属するフローのフローIDと認識する。処理実行部14は、フローIDなどに基づいて集計部14Aの処理及び異常検出部14Cの処理を実行する。After the timestamp is input, the flow ID and other information obtained by the packet identification process are always input to the
処理実行部14は異なるタイミングに入力された各データに対して、設計された各部11~13の処理時間A~Cをもとに、どのタイミングに到着したものが、どのデータであるかを判別することができる。。そして、処理実行部14は、あるパケットについてのフローIDなどが入力される前に当該パケットと当該パケットについてのタイムスタンプとの少なくとも一方(例えば、図6のパケットキャプチャ、タイムスタンプ付与)を用いた処理を開始することができる。これにより、処理実行部14は、上記比較例のようにフローIDなどが入力されるまで処理開始を待機することがなく、動作効率が良くなる。The
さらに、処理実行部14は、受信部11からパケットを受信してから、タイムスタンプ処理及びパケット識別処理のそれぞれの一定の処理時間ごとに入力された複数のデータを、当該パケットについてのタイムスタンプ、及び、当該パケットについてのフローIDとして処理を実行する。これにより、処理実行部14は、1つのパケットについてのタイムスタンプ又はフローIDを他のパケットのタイムスタンプ又はフローIDと取り違えることが抑制される。Furthermore, after receiving a packet from the receiving unit 11, the
さらに、処理実行部14の前段の各部11~13は、データ出力を完了したものから、順次後続の入力データを受け付けることができる。図7に示すように、例えば、受信部11は、第1パケット(実線の「受信処理」参照)を出力したあと、パケット識別部13によるパケット識別処理が終了する前に第2パケット(点線の「受信処理」参照)を受信可能に設けられている。これにより、データ処理の高速化が図られている。
Furthermore, each of the sections 11 to 13 preceding the
図1の点線で示すように、パケット識別部13のヘッダ解析部13A及びハッシュ演算部13Bのうちの少なくとも一方は、処理実行部14に対して処理結果のデータを出力してもよい。処理実行部14は、入力された処理結果のデータに基づいて所定の処理を行ってもよい。このような場合、パケット識別部13の各部13A~13Cの各処理時間も、処理対象のデータの内容によらず一定であるとよい。処理実行部14は、パケットの入力をそのデータ内容などにより検知してもよく、この場合、どのデータがタイムスタンプ及びフローIDであるかはパケットの入力後の処理時間B及びCに基づいて特定できる。
As shown by the dotted lines in Figure 1, at least one of the
図8にデータ処理装置10をコンピュータにより構成したときのハードウェア構成図を示す。データ処理装置10は、CPUなどのプロセッサ101と、プロセッサ101のメインメモリ102と、プログラム及び各種データを記憶し、図1の記憶部19を構成する不揮発性の記憶装置103と、を備える。さらに、データ処理装置10は、通信ネットワークNWに接続され、パケットを中継するNIC(Network Interface Card)104を備える。プロセッサ101は、記憶装置103に記憶され、メインメモリ102に読み出されたプログラム及びデータを実行又は使用して上記各部11~15として動作する。なお、受信部11及び出力部15は、プログラムを実行するプロセッサ101とNIC104との組み合わせにより実現されてもよい。
Figure 8 shows a hardware configuration diagram of the
データ処理装置10は、上記構成に限定されない。データ処理装置10は、例えば、データ(上記構成ではパケット)を受信して出力する受信処理を実行する受信部(上記構成では受信部11)と、前記受信部から出力された前記データに対して第1処理(上記構成ではタイムスタンプ処理)を実行し、当該第1処理の第1処理結果(上記構成ではタイムスタンプ)を出力する第1処理部(上記構成ではタイムスタンプ部12)と、を備えることができる。データ処理装置10は、例えば、前記第1処理のあとに前記データに対して第2処理(上記構成ではパケット識別処理)を実行し、当該第2処理の第2処理結果を出力する第2処理部(上記ではパケット識別部13)と、前記受信部から前記データを受信し、前記第1処理部から前記第1処理結果を受信し、前記第2処理部から前記第2処理結果を受信し、受信した前記データと前記第1処理結果と前記第2処理結果とに基づく処理(上記では、集計部14A、パケットキャプチャ部14B、及び、異常検出部14Cによる処理)を実行する処理実行部(上記では処理実行部14)と、を備えることができる。そして、前記受信処理、前記第1処理、及び、前記第2処理のうち少なくとも前記第1処理及び前記第2処理のそれぞれの処理時間は、処理対象のデータの内容によらず一定であってもよく、前記処理実行部は、前記第2処理結果を受信する前に前記データと前記データについての前記第1処理結果との少なくとも一方を用いた処理(上記では図6のパケットキャプチャ、タイムスタンプ付与)を開始してもよい。このような構成により、上記比較例のように処理実行部が第2処理結果が入力されるまで処理開始を待機することがなく、処理実行部の動作効率が良くなる。なお、上記各処理の具体例は、上記実施の形態に限定されない。上記データは画像データであってもよく、上記第1処理は画像の2値化処理であってもよく、上記第2処理は2値化された画像に対する画像認識であってもよい。上記処理実行部は、画像データ、2値化画像、及び画像認識の結果のそれぞれを記憶部に格納していく処理を実行してもよい。The
前記処理実行部は、前記受信部から前記データを受信してから前記第1処理及び前記第2処理のそれぞれの一定の処理時間ごとに入力された複数のデータを、それぞれ、前記データについての前記第1処理結果及び前記第2処理結果として前記処理を実行してもよく、これにより、あるデータに対する第1処理結果と第2処理結果が他のデータに対する処理結果として取り違えられることが抑制される。The processing execution unit may execute the processing on a plurality of data input at fixed processing times for each of the first processing and the second processing after receiving the data from the receiving unit, as the first processing result and the second processing result for the data, respectively, thereby preventing the first processing result and the second processing result for some data from being confused as the processing result for other data.
前記受信部は、前記データとしての第1データを出力したあと、前記第2処理が終了する前に他の前記データとしての第2データを受信可能に設けられている。これにより、処理速度が向上する。The receiving unit is configured to receive second data as the other data after outputting the first data as the data and before the second processing is completed. This improves the processing speed.
本発明は、上記の実施の形態及び変形例に限定されるものではない。例えば、本発明には、本発明の技術思想の範囲内で当業者が理解し得る、上記の実施の形態及び変形例に対する様々な変更が含まれる。上記実施の形態及び変形例に挙げた各構成は、矛盾の無い範囲で適宜組み合わせることができる。また、上記の各構成のうちの任意の構成を削除することも可能である。上記プログラムは、不揮発性の記憶装置103に限らず、非一時的なコンピュータ読み取り可能な記憶媒体に記憶されてもよい。「装置」及び「部」は、その動作を実現する構成が一つの筐体に収容された物であっても、その動作を実現する構成が複数の筐体に分散して収容された物(システム)であってもよい。
The present invention is not limited to the above-mentioned embodiments and modifications. For example, the present invention includes various modifications to the above-mentioned embodiments and modifications that can be understood by a person skilled in the art within the scope of the technical concept of the present invention. The configurations listed in the above-mentioned embodiments and modifications can be appropriately combined to the extent that there is no contradiction. It is also possible to delete any of the above-mentioned configurations. The above program is not limited to the
10…データ処理装置、11…受信部、12…タイムスタンプ部、13…パケット識別部、13A…ヘッダ解析部、13B…ハッシュ演算部、13C…ルールマッチング部、14…処理実行部、14A…集計部、14B…パケットキャプチャ部、14C…異常検出部、15…出力部、19…記憶部、19A…ルールテーブル、101…プロセッサ、102…メインメモリ、103…記憶装置、NW…通信ネットワーク。 10...data processing device, 11...receiving unit, 12...time stamp unit, 13...packet identification unit, 13A...header analysis unit, 13B...hash calculation unit, 13C...rule matching unit, 14...processing execution unit, 14A...counting unit, 14B...packet capture unit, 14C...anomaly detection unit, 15...output unit, 19...memory unit, 19A...rule table, 101...processor, 102...main memory, 103...memory device, NW...communication network.
Claims (7)
前記受信部から出力された前記データに対して第1処理を実行し、当該第1処理の第1処理結果を出力する第1処理部と、
前記第1処理のあとに前記データに対して第2処理を実行し、当該第2処理の第2処理結果を出力する第2処理部と、
前記受信部から前記データを受信し、前記第1処理部から前記第1処理結果を受信し、前記第2処理部から前記第2処理結果を受信し、受信した前記データと前記第1処理結果と前記第2処理結果とに基づく処理を実行する処理実行部と、を備え、
前記受信処理、前記第1処理、及び、前記第2処理のうち少なくとも前記第1処理及び前記第2処理のそれぞれの処理時間は、処理対象のデータの内容によらず一定であり、
前記処理実行部は、前記第2処理結果を受信する前に前記データと前記データについての前記第1処理結果との少なくとも一方を用いた処理を開始する、
データ処理装置。 A receiving unit that executes a receiving process for receiving and outputting data;
a first processing unit that executes a first processing on the data output from the receiving unit and outputs a first processing result of the first processing;
a second processing unit that performs a second processing on the data after the first processing and outputs a second processing result of the second processing;
a processing execution unit that receives the data from the receiving unit, receives the first processing result from the first processing unit, receives the second processing result from the second processing unit, and executes processing based on the received data, the first processing result, and the second processing result,
a processing time for at least the first processing and the second processing among the reception processing, the first processing, and the second processing is constant regardless of the content of the data to be processed;
the processing execution unit starts processing using at least one of the data and the first processing result for the data before receiving the second processing result.
Data processing device.
前記第1処理部は、前記第1処理として、前記受信部から出力された前記パケットに対してタイムスタンプを生成し、生成した前記タイムスタンプを前記第1処理結果として出力するタイムスタンプ処理を実行するタイムスタンプ部であり、
前記第2処理部は、前記第2処理として、前記タイムスタンプが生成された前記パケットが属するフローを識別し、識別した前記フローを特定するフロー情報を前記第2処理結果として出力するパケット識別処理を実行するパケット識別部である、
請求項1に記載のデータ処理装置。 The data is a packet transmitted through a communication network,
the first processing unit is a time stamp unit that executes, as the first processing, a time stamp process of generating a time stamp for the packet output from the receiving unit and outputting the generated time stamp as a result of the first processing,
the second processing unit is a packet identification unit that executes, as the second processing, a packet identification process of identifying a flow to which the packet for which the timestamp is generated belongs, and outputting flow information specifying the identified flow as a result of the second processing.
2. A data processing apparatus according to claim 1.
請求項1又は2に記載のデータ処理装置。 the processing execution unit executes the processing for a plurality of data input at each fixed processing time of the first processing and the second processing after receiving the data from the receiving unit, as the first processing result and the second processing result for the data, respectively.
3. A data processing device according to claim 1 or 2.
請求項1から3のいずれか1項に記載のデータ処理装置。 the receiving unit is configured to be able to receive second data as the other data before the second process is completed after outputting first data as the data,
A data processing device according to any one of claims 1 to 3.
前記第2処理部は、前記パケットのヘッダを解析してヘッダフィールド値を抽出するヘッダ解析部と、抽出された前記ヘッダフィールド値をハッシュ化するハッシュ演算部と、ハッシュ化された前記ヘッダフィールド値と予め定められたルールとを比較し前記パケットが属するフローを特定するフロー情報を取得するルールマッチング部と、を備える、
請求項1から4のいずれか1項に記載のデータ処理装置。 The data is a packet transmitted through a communication network,
the second processing unit includes a header analysis unit that analyzes a header of the packet to extract a header field value, a hash calculation unit that hashes the extracted header field value, and a rule matching unit that compares the hashed header field value with a predetermined rule to obtain flow information that identifies a flow to which the packet belongs.
A data processing device according to any one of claims 1 to 4.
前記受信ステップで出力された前記データに対して第1処理を実行し、当該第1処理の第1処理結果を出力する第1処理ステップと、
前記第1処理のあとに前記データに対して第2処理を実行し、当該第2処理の第2処理結果を出力する第2処理ステップと、
前記受信ステップで出力された前記データを受信し、前記第1処理ステップで出力された前記第1処理結果を受信し、前記第2処理ステップで出力された前記第2処理結果を受信し、受信した前記データと前記第1処理結果と前記第2処理結果とに基づく処理を実行する処理実行ステップと、を備え、
前記受信処理、前記第1処理、及び、前記第2処理のうち少なくとも前記第1処理及び前記第2処理のそれぞれの処理時間は、処理対象のデータの内容によらず一定であり、
前記処理実行ステップでは、前記第2処理結果を受信する前に前記データと前記データについての前記第1処理結果との少なくとも一方を用いた処理を開始する、
データ処理方法。 a receiving step of executing a receiving process for receiving and outputting data;
a first processing step of executing a first processing on the data output in the receiving step and outputting a first processing result of the first processing;
a second processing step of performing a second processing on the data after the first processing and outputting a second processing result of the second processing;
a processing execution step of receiving the data output in the receiving step, receiving the first processing result output in the first processing step, receiving the second processing result output in the second processing step, and executing processing based on the received data, the first processing result, and the second processing result,
a processing time for at least the first processing and the second processing among the reception processing, the first processing, and the second processing is constant regardless of the content of the data to be processed;
In the processing execution step, processing using at least one of the data and the first processing result on the data is started before the second processing result is received.
Data processing methods.
データを受信して出力する受信処理を実行する受信ステップと、
前記受信ステップで出力された前記データに対して第1処理を実行し、当該第1処理の第1処理結果を出力する第1処理ステップと、
前記第1処理のあとに前記データに対して第2処理を実行し、当該第2処理の第2処理結果を出力する第2処理ステップと、
前記受信ステップで出力された前記データを受信し、前記第1処理ステップで出力された前記第1処理結果を受信し、前記第2処理ステップで出力された前記第2処理結果を受信し、受信した前記データと前記第1処理結果と前記第2処理結果とに基づく処理を実行する処理実行ステップと、を実行させ、
前記受信処理、前記第1処理、及び、前記第2処理のうち少なくとも前記第1処理及び前記第2処理のそれぞれの処理時間は、処理対象のデータの内容によらず一定であり、
前記処理実行ステップでは、前記第2処理結果を受信する前に前記データと前記データについての前記第1処理結果との少なくとも一方を用いた処理を開始する、
プログラム。 On the computer,
a receiving step of executing a receiving process for receiving and outputting data;
a first processing step of executing a first processing on the data output in the receiving step and outputting a first processing result of the first processing;
a second processing step of performing a second processing on the data after the first processing and outputting a second processing result of the second processing;
a processing execution step of receiving the data output in the receiving step, receiving the first processing result output in the first processing step, receiving the second processing result output in the second processing step, and executing processing based on the received data, the first processing result, and the second processing result,
a processing time for at least the first processing and the second processing among the reception processing, the first processing, and the second processing is constant regardless of the content of the data to be processed;
In the processing execution step, processing using at least one of the data and the first processing result on the data is started before the second processing result is received.
program.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/046134 WO2023112174A1 (en) | 2021-12-14 | 2021-12-14 | Data processing device, data processing method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2023112174A1 JPWO2023112174A1 (en) | 2023-06-22 |
| JP7662054B2 true JP7662054B2 (en) | 2025-04-15 |
Family
ID=86773794
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023567361A Active JP7662054B2 (en) | 2021-12-14 | 2021-12-14 | Data processing device, data processing method, and program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7662054B2 (en) |
| WO (1) | WO2023112174A1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006020317A (en) | 2004-06-30 | 2006-01-19 | Zarlink Semiconductor Inc | Joint pipelining packet classification, and address search method and device for switching environments |
| JP2019146000A (en) | 2018-02-20 | 2019-08-29 | APRESIA Systems株式会社 | Relay device |
-
2021
- 2021-12-14 WO PCT/JP2021/046134 patent/WO2023112174A1/en not_active Ceased
- 2021-12-14 JP JP2023567361A patent/JP7662054B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006020317A (en) | 2004-06-30 | 2006-01-19 | Zarlink Semiconductor Inc | Joint pipelining packet classification, and address search method and device for switching environments |
| JP2019146000A (en) | 2018-02-20 | 2019-08-29 | APRESIA Systems株式会社 | Relay device |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023112174A1 (en) | 2023-06-22 |
| JPWO2023112174A1 (en) | 2023-06-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8005012B1 (en) | Traffic analysis of data flows | |
| CN110808994B (en) | Method and device for detecting brute force cracking operation and server | |
| US10069797B2 (en) | 10Gbps line rate stream to disk with fast retrieval (metadata) and network statistics | |
| CN113067810B (en) | Network packet capturing method, device, equipment and medium | |
| US20200296189A1 (en) | Packet analysis apparatus, packet analysis method, and storage medium | |
| JP7006622B2 (en) | Extraction device, extraction method and extraction program, as well as anomaly detection device, anomaly detection method | |
| US11947507B2 (en) | Traffic monitoring device, traffic monitoring method, and traffic monitoring program | |
| CN114328122A (en) | IO full life cycle time delay monitoring method and related device | |
| US20240022507A1 (en) | Information flow recognition method, network chip, and network device | |
| US11916763B2 (en) | Traffic monitoring device, and traffic monitoring method | |
| JP7662054B2 (en) | Data processing device, data processing method, and program | |
| US10009151B2 (en) | Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium | |
| CN113806204B (en) | Method, device, system and storage medium for evaluating message segment correlation | |
| JP7239016B2 (en) | Sorting device, sorting method, sorting program | |
| US20240356825A1 (en) | Packet capture device and method | |
| US20160143082A1 (en) | Method for detecting a message from a group of packets transmitted in a connection | |
| US20200201742A1 (en) | Parallel data flow analysis processing to stage automated vulnerability research | |
| CN114390346B (en) | Media resource processing method and device for converting RTSP (real time streaming protocol) into RTMP (real time streaming protocol) | |
| CN109361674A (en) | Stream data detection method, device and electronic device for bypass access | |
| CN112100257B (en) | Data processing method, device, computer equipment and storage medium | |
| US10305754B2 (en) | Apparatus and method to collect packets related to abnormal connection | |
| CN110620682A (en) | Resource information acquisition method and device, storage medium and terminal | |
| US10902027B2 (en) | Generation of category information for measurement value | |
| CN114610976A (en) | Data query method, data storage method, apparatus, computing device and medium | |
| CN110708208B (en) | Monitoring data acquisition method and device, storage medium and terminal |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240529 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241217 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250217 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250304 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250317 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7662054 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |