[go: up one dir, main page]

JP7662054B2 - Data processing device, data processing method, and program - Google Patents

Data processing device, data processing method, and program Download PDF

Info

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
Application number
JP2023567361A
Other languages
Japanese (ja)
Other versions
JPWO2023112174A1 (en
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.)
Nippon Telegraph and Telephone Corp
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc
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 Nippon Telegraph and Telephone Corp, NTT Inc filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2023112174A1 publication Critical patent/JPWO2023112174A1/ja
Application granted granted Critical
Publication of JP7662054B2 publication Critical patent/JP7662054B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing 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.

Catalyst - CAM / TCAM・[令和 3年12月1日検索],インターネット<https://www.infraexpert.com/study/catalyst21.html>Catalyst - CAM / TCAM [Retrieved December 1, 2021], Internet: https://www.infraexpert.com/study/catalyst21.html

高位言語は手続き型の記述言語であり、逐次行われる処理に対する記述となる。図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 data processing device 910 as a comparative example that can be considered as a device that employs sequential processing. In this comparative example, the output data from the receiving unit 911, the time stamp unit 912, and the packet identification unit 913 are all stored in the buffer 919 before processing by the processing execution unit 914 begins. Therefore, the processing execution unit 914 must wait until all the output data (processing results) from each unit 911 to 913 are available, which results in poor operating efficiency. Such issues can also be said to be true of data processing devices in general other than the data processing device 910.

本発明は、処理実行部の動作効率を良くすることを課題とする。 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.

図1は、本発明の一実施形態に係るデータ処理装置の構成図である。FIG. 1 is a diagram showing the configuration of a data processing device according to an embodiment of the present invention. 図2は、パケットのデータ構造の一例を示す図である。FIG. 2 is a diagram illustrating an example of a data structure of a packet. 図3は、ルールテーブルの構成例を示す図である。FIG. 3 is a diagram showing an example of the structure of the rule table. 図4は、処理時間を一定とするための方法を説明するための図である。FIG. 4 is a diagram for explaining a method for making the processing time constant. 図5は、処理時間を一定とするための方法を説明するための図である。FIG. 5 is a diagram for explaining a method for making the processing time constant. 図6は、データ処理装置の動作を示すタイミングチャートである。FIG. 6 is a timing chart showing the operation of the data processing device. 図7は、データ処理装置の動作を示すタイミングチャートである。FIG. 7 is a timing chart showing the operation of the data processing device. 図8は、図1のデータ処理装置をコンピュータにより構成したときの構成図である。FIG. 8 is a diagram showing the configuration of the data processing device of FIG. 1 implemented by a computer. 比較例に係るデータ処理装置の構成図である。FIG. 1 is a configuration diagram of a data processing device according to a comparative example.

以下、本発明の実施の形態について図面を参照して説明する。 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 data processing device 10 according to the present embodiment includes a receiving unit 11, a time stamp unit 12 configured as a first processing unit, a packet identification unit 13 configured as a second processing unit, a processing execution unit 14, an output unit 15, and a storage unit 19. The data processing device 10 thus configured is configured as a traffic monitoring device that monitors traffic on a communication network NW for each flow.

上記各部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 memory unit 19 is composed of an appropriate non-volatile storage device such as a flash memory or an SSD (Solid State Drive). The memory unit 19 may be composed of at least a part of a memory such as an FPGA (Field-Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), etc. Each of the units 11 to 14 may be composed of a memory that temporarily holds data being processed, etc.

受信部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 time stamp unit 12 and the process execution unit 14. As shown in FIG. 2, a packet is composed of data (also called a payload) and a header placed before the data. Each piece of data constituting the header is assigned a meaning for each number of bits. This bit-separated data with a meaning is called a header field value, and a group of packets with matching header field values is called a flow. Therefore, the header field value is also information that identifies a flow. The header field value may include each IP (Internet Protocol) address indicating the source and destination of the L3 header. A flow may be, for example, a set of packets that have a common header field value indicating at least one of the destination, source, and communication protocol.

図1に戻り、タイムスタンプ部12は、リアルタイムクロックなどを参照し、受信部11から出力されたパケットに対してタイムスタンプを生成して処理実行部14に出力するタイムスタンプ処理を実行する。タイムスタンプ部12は、受信部11からのパケットをパケット識別部13に出力する。このとき、パケットにタイムスタンプが付与されていてもよい。Returning to FIG. 1, the time stamp unit 12 executes time stamp processing by referring to a real time clock or the like, generating a time stamp for the packet output from the receiving unit 11, and outputting the time stamp to the processing execution unit 14. The time stamp unit 12 outputs the packet from the receiving unit 11 to the packet identification unit 13. At this time, the packet may have been assigned a time stamp.

パケット識別部13は、タイムスタンプが生成されたタイムスタンプ部12からのパケットが属するフローを識別し、識別したフローを特定するフロー情報であるフローIDを出力するパケット識別処理を実行する。パケット識別部13は、ヘッダ解析部13A、ハッシュ演算部13B、及び、ルールマッチング部13Cを備え、これら各部13A~13Bが下記の処理を行うことでパケット識別処理を実行する。The packet identification unit 13 executes a packet identification process to identify the flow to which the packet from the timestamp unit 12, in which the timestamp was generated, belongs, and to output a flow ID, which is flow information specifying the identified flow. The packet identification unit 13 comprises a header analysis unit 13A, a hash calculation unit 13B, and a rule matching unit 13C, and each of these units 13A to 13B executes the following processes to execute the packet identification process.

タイムスタンプ部12からパケット識別部13に入力されたパケットは、まずヘッダ解析部13Aに入力される。ヘッダ解析部13Aは、入力されたパケットのヘッダを解析して当該ヘッダからヘッダフィールド値を抽出する解析処理を実行する。抽出されたヘッダフィールド値は、ハッシュ演算部13Bに入力される。A packet input from the time stamp unit 12 to the packet identification unit 13 is first input to the header analysis unit 13A. The header analysis unit 13A executes an analysis process to analyze the header of the input packet and extract a header field value from the header. The extracted header field value is input to the hash calculation unit 13B.

ハッシュ演算部13Bは、入力されたヘッダフィールド値をハッシュ化するハッシュ演算処理を実行する。ハッシュ演算部13Bは、ハッシュ化されたヘッダフィールド値を前記タイムスタンプとともにルールマッチング部13Cに出力する。The hash calculation unit 13B executes a hash calculation process to hash the input header field value. The hash calculation unit 13B outputs the hashed header field value together with the timestamp to the rule matching unit 13C.

ルールマッチング部13Cは、入力されたヘッダフィールド値(ハッシュ化されたヘッダフィールド値)と、記憶部19が記憶するルールテーブル19Aに登録された、監視対象のフローに属するパケットを指定する予め定められたルールと、を比較するマッチング処理を実行する。図3に示すように、ルールテーブル19Aに登録されたルールは、フローごとに登録され、1つのルールは、そのフローのヘッダフィールド値(ハッシュ化されたヘッダフィールド値)と、当該ヘッダフィールド値に対応付けられたフローIDとを含む。フローIDは、ルールを識別するルールIDからなってもよい。ルールマッチング部13Cは、マッチング処理において、ルールテーブル19Aの各ルールを参照し、入力されたヘッダフィールド値に対応するフローIDを取得する。ルールマッチング部13Cは、取得したフローIDを処理実行部14に出力する。The rule matching unit 13C executes a matching process to compare the input header field value (hashed header field value) with a predetermined rule that specifies packets belonging to the flow to be monitored and is registered in the rule table 19A stored in the storage unit 19. As shown in FIG. 3, the rules registered in the rule table 19A are registered for each flow, and one rule includes the header field value (hashed header field value) of the flow and a flow ID associated with the header field value. The flow ID may be a rule ID that identifies the rule. In the matching process, the rule matching unit 13C refers to each rule in the rule table 19A and obtains a flow ID corresponding to the input header field value. The rule matching unit 13C outputs the obtained flow ID to the processing execution unit 14.

処理実行部14は、受信部11からパケットを受信し、タイムスタンプ部12からタイムスタンプを受信し、パケット識別部13からフローIDを受信し、受信したパケットとタイムスタンプとフローIDとに基づく処理(ここでは、トラフィックの監視に必要な処理)を実行する。処理実行部14は、前記処理を実行する演算部として、集計部14A、パケットキャプチャ部14B、及び、異常検出部14Cを備える。The processing execution unit 14 receives packets from the receiving unit 11, receives timestamps from the timestamp unit 12, receives a flow ID from the packet identification unit 13, and executes processing (here, processing required for traffic monitoring) based on the received packets, timestamps, and flow ID. The processing execution unit 14 includes a calculation unit 14A, a packet capture unit 14B, and an anomaly detection unit 14C as calculation units that execute the processing.

集計部14Aは、パケット識別部13からのフローIDの入力回数を、フローIDごとつまりフローごとにカウントする。カウントされる受信回数は、受信部11が受信したパケットの数つまりパケット数ともいえる。集計部14Aは、受信部11からのパケットに基づいて、そのデータ量を計測し、計測したデータ量をフロー毎に積算する。集計部14Aは、一定期間ごとに、フローそれぞれについて、当該一定期間にカウント又は積算したパケット数及びデータ量を集計結果として出力部15に出力する。処理結果は、パケット数とデータ量とのいずれかであってもよい。The counting unit 14A counts the number of times a flow ID is input from the packet identification unit 13 for each flow ID, i.e., for each flow. The counted number of receptions can also be said to be the number of packets received by the receiving unit 11, i.e., the number of packets. The counting unit 14A measures the amount of data based on the packets from the receiving unit 11 and accumulates the measured amount of data for each flow. For each fixed period of time, the counting unit 14A outputs the number of packets and the amount of data counted or accumulated for each flow as the accumulation result to the output unit 15. The processing result may be either the number of packets or the amount of data.

パケットキャプチャ部14Bは、受信部11からのパケットを記憶部19に格納するパケットキャプチャを実行する。さらに、パケットキャプチャ部14Bは、タイムスタンプ部12からのタイムスタンプを付与する。The packet capture unit 14B performs packet capture to store packets from the receiving unit 11 in the memory unit 19. Furthermore, the packet capture unit 14B assigns a timestamp from the timestamp unit 12.

異常検出部14Cは、記憶部19に保存されたパケット、集計部14Aによる集計結果、タイムスタンプ部12からのタイムスタンプなどをもとに何らかの判別式に基づいて、フローごとに、トラフィック異常(例えば、マイクロバーストなど)を検出する。異常検出部14Cは、トラフィック異常を検出した場合、トラフィック異常が発生した旨を異常発生情報として出力部15に出力する。異常発生情報は、発生したトラフィック異常の種類の情報を含んでもよい。The anomaly detection unit 14C detects a traffic anomaly (e.g., a microburst) for each flow based on some discriminant, such as packets stored in the memory unit 19, the counting results by the counting unit 14A, and the timestamps from the timestamp unit 12. When the anomaly detection unit 14C detects a traffic anomaly, it outputs to the output unit 15 anomaly occurrence information indicating that a traffic anomaly has occurred. The anomaly occurrence information may include information on the type of traffic anomaly that has occurred.

出力部15は、処理実行部14による処理結果、ここでは、集計部14Aからの集計結果及び異常検出部14Cからの異常発生情報を出力する。出力部15は、例えば、データ処理装置10が備える表示部などに集計結果及び又は異常発生情報を表示する。出力部15は、例えば、異常発生情報を、データ処理装置10の内部又は外部に設けられた所定の処理部に出力し、当該処理部は、異常発生情報に基づいて、トラフィック異常が検出したフローについて通信を遮断するための処理を実行してもよい。出力部15は、パケットキャプチャ部14Bがキャプチャしたパケットを取得し、取得したパケットをデータ処理装置10の外部の装置に出力してもよい。The output unit 15 outputs the processing results by the processing execution unit 14, here the counting results from the counting unit 14A and the abnormality occurrence information from the abnormality detection unit 14C. The output unit 15 displays the counting results and/or the abnormality occurrence information on, for example, a display unit provided in the data processing device 10. The output unit 15 may, for example, output the abnormality occurrence information to a predetermined processing unit provided inside or outside the data processing device 10, and the processing unit may execute processing to cut off communication for a flow in which a traffic abnormality has been detected based on the abnormality occurrence information. The output unit 15 may acquire packets captured by the packet capture unit 14B and output the acquired packets to a device external to the data processing device 10.

この実施の形態では、受信部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 time stamp unit 12 is also configured so that the processing time of the time stamp process (hereinafter also referred to as processing time B) is constant regardless of the data content of the packet input to the time stamp unit 12. The packet identification unit 13 is also configured so that the processing time of the packet identification process (hereinafter also referred to as processing time C) is constant regardless of the data content of the packet input to the packet identification unit 13. In other words, each of the units 11 to 13 completes the necessary processing for any input data (data to be processed) in a constant processing time. The start timing of each of the above processing times A to C is, for example, the timing when the data starts to be input. The end timing of each of the above processing times A to C is, for example, the timing when the data (processing result, etc.) starts to be output. The processing times A to C may be the same processing time as each other, or may be different from each other.

処理時間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 time stamp unit 12 and the packet identification unit 13. Note that the adjustment of the processing time is not limited to this. Each unit 11 to 13 may measure the time from the start of processing using a timer or the like, and even if the processing is completed, the data output of the processing result may be waited until the time from the start of processing measured by the timer or the like reaches the processing times A to C.

図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 time stamping unit 12 and the processing execution unit 14 (timing T2). The time stamping unit 12 executes the time stamping process at processing time B, triggered by the input of the packet from the receiving unit 11. The time stamp added in the time stamping process is input to the processing execution unit 14, and the packet to be timestamped is input to the packet identification unit 13 (timing T3). The packet identification unit 13 executes the packet identification process at processing time C, triggered by the input of the packet from the time stamping unit 12. The flow ID and the like obtained in the packet identification process are input to the processing execution unit 14 (timing T4).

処理実行部14は、自身に入力されたデータがどのデータかを、処理時間A~Cとの関係で特定することができる。これは上述のように処理時間A~Cが一定であるからである。受信部11は、例えば、パケットの受信処理開始時(タイミングT1)にパケットの受信通知を処理実行部14に送信する。The processing execution unit 14 can identify which data has been input to it in relation to the processing times A to C. This is because the processing times A to C are constant as described above. The receiving unit 11 sends a packet reception notification to the processing execution unit 14, for example, when the packet reception processing starts (timing T1).

前記の受信通知送信後、必ず処理時間A経過後にパケットが処理実行部14に入力される(タイミングT2)。従って、処理実行部14は、受信通知の受領後、処理時間A経過後に入力されたデータをパケットと認識する。処理実行部14は、例えば、パケットキャプチャ部14Bによりパケットを記憶部19に保存するパケットキャプチャを行う。After the reception notification is sent, the packet is always input to the processing execution unit 14 after the processing time A has elapsed (timing T2). Therefore, the processing execution unit 14 recognizes the data input after the processing time A has elapsed after receiving the reception notification as a packet. The processing execution unit 14 performs packet capture, for example, by using the packet capture unit 14B to store the packet in the memory unit 19.

前記パケットの入力から処理時間B経過後には、必ずタイムスタンプが処理実行部14に入力される(タイミングT3)。従って、処理実行部14は、パケットの入力後、処理時間B経過後に入力されたデータを当該パケットに付与されたタイムスタンプと認識する。処理実行部14は、例えば、パケットキャプチャ部14Bにより記憶部19に保存したパケットに、タイムスタンプ部12から入力されたタイムスタンプを付与するよう、当該タイムスタンプをパケットに対応付けて記憶部19に記憶させる。なお、処理実行部14は、パケットを保持し、タイムスタンプの入力を契機として、パケットにタイムスタンプを付与して記憶部19に格納してもよい。A timestamp is always input to the processing execution unit 14 after the processing time B has elapsed since the input of the packet (timing T3). Therefore, the processing execution unit 14 recognizes the data input after the processing time B has elapsed since the input of the packet as the timestamp assigned to the packet. The processing execution unit 14 associates the timestamp input from the timestamp unit 12 with the packet and stores the timestamp in the storage unit 19, for example, so that the timestamp is assigned to the packet saved in the storage unit 19 by the packet capture unit 14B. Note that the processing execution unit 14 may hold the packet, and assign a timestamp to the packet upon input of the timestamp, and store the packet in the storage unit 19.

タイムスタンプの入力後、必ず処理時間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 processing execution unit 14 after the processing time C has elapsed (timing T4). Therefore, the processing execution unit 14 recognizes the data input after the processing time C has elapsed after the timestamp is input as the flow ID of the flow to which the current packet belongs. The processing execution unit 14 executes the processing of the counting unit 14A and the processing of the anomaly detection unit 14C based on the flow ID and other information.

処理実行部14は異なるタイミングに入力された各データに対して、設計された各部11~13の処理時間A~Cをもとに、どのタイミングに到着したものが、どのデータであるかを判別することができる。。そして、処理実行部14は、あるパケットについてのフローIDなどが入力される前に当該パケットと当該パケットについてのタイムスタンプとの少なくとも一方(例えば、図6のパケットキャプチャ、タイムスタンプ付与)を用いた処理を開始することができる。これにより、処理実行部14は、上記比較例のようにフローIDなどが入力されるまで処理開始を待機することがなく、動作効率が良くなる。The processing execution unit 14 can determine which data arrived at which timing based on the processing times A to C of the designed units 11 to 13 for each piece of data input at different times. . The processing execution unit 14 can then start processing using at least one of a packet and its timestamp (for example, packet capture and timestamp assignment in FIG. 6) before a flow ID or other information about a packet is input. This improves the efficiency of operation because the processing execution unit 14 does not have to wait until a flow ID or other information is input before starting processing.

さらに、処理実行部14は、受信部11からパケットを受信してから、タイムスタンプ処理及びパケット識別処理のそれぞれの一定の処理時間ごとに入力された複数のデータを、当該パケットについてのタイムスタンプ、及び、当該パケットについてのフローIDとして処理を実行する。これにより、処理実行部14は、1つのパケットについてのタイムスタンプ又はフローIDを他のパケットのタイムスタンプ又はフローIDと取り違えることが抑制される。Furthermore, after receiving a packet from the receiving unit 11, the processing execution unit 14 processes the multiple pieces of data input at each fixed processing time of the timestamp processing and the packet identification processing as a timestamp for the packet and a flow ID for the packet. This prevents the processing execution unit 14 from mistaking the timestamp or flow ID for one packet for the timestamp or flow ID of another packet.

さらに、処理実行部14の前段の各部11~13は、データ出力を完了したものから、順次後続の入力データを受け付けることができる。図7に示すように、例えば、受信部11は、第1パケット(実線の「受信処理」参照)を出力したあと、パケット識別部13によるパケット識別処理が終了する前に第2パケット(点線の「受信処理」参照)を受信可能に設けられている。これにより、データ処理の高速化が図られている。 Furthermore, each of the sections 11 to 13 preceding the processing execution section 14 can sequentially accept subsequent input data, starting from the section that has completed data output. As shown in Figure 7, for example, the receiving section 11 is configured to be able to receive a second packet (see "receiving process" in dotted lines) after outputting a first packet (see "receiving process" in solid lines) before the packet identification process by the packet identification section 13 is completed. This speeds up data processing.

図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 header analysis unit 13A and the hash calculation unit 13B of the packet identification unit 13 may output processing result data to the processing execution unit 14. The processing execution unit 14 may perform a predetermined process based on the input processing result data. In such a case, it is preferable that the processing time of each of the units 13A to 13C of the packet identification unit 13 is constant regardless of the content of the data to be processed. The processing execution unit 14 may detect the input of a packet based on the data content, etc., and in this case, which data is the timestamp and flow ID can be identified based on the processing times B and C after the input of the packet.

図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 data processing device 10 when configured by a computer. The data processing device 10 comprises a processor 101 such as a CPU, a main memory 102 of the processor 101, and a non-volatile storage device 103 that stores programs and various data and constitutes the storage unit 19 of Figure 1. The data processing device 10 further comprises a NIC (Network Interface Card) 104 that is connected to the communication network NW and relays packets. The processor 101 executes or uses the programs and data stored in the storage device 103 and read into the main memory 102 to operate as the above-mentioned units 11 to 15. The receiving unit 11 and the output unit 15 may be realized by a combination of the processor 101 that executes programs and the NIC 104.

データ処理装置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 data processing device 10 is not limited to the above configuration. The data processing device 10 may include, for example, a receiving unit (receiving unit 11 in the above configuration) that performs a receiving process to receive and output data (packets in the above configuration), and a first processing unit (timestamp unit 12 in the above configuration) that performs a first process (timestamp process in the above configuration) on the data output from the receiving unit and outputs a first processing result of the first process (timestamp in the above configuration). The data processing device 10 may include, for example, a second processing unit (packet identification unit 13 in the above configuration) that performs a second process (packet identification process in the above configuration) on the data after the first process and outputs a second processing result of the second process, and a processing execution unit (processing execution unit 14 in the above) 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 (processing by the aggregation unit 14A, packet capture unit 14B, and anomaly detection unit 14C in the above). The processing time of at least the first processing and the second processing among the reception processing, the first processing, and the second processing may be constant regardless of the contents of the data to be processed, and the processing execution unit may start processing using at least one of the data and the first processing result for the data (packet capture and time stamp assignment in FIG. 6 in the above) before receiving the second processing result. With this configuration, the processing execution unit does not wait to start processing until the second processing result is input as in the comparative example, and the operation efficiency of the processing execution unit is improved. Note that specific examples of each of the above processing are not limited to the above embodiment. The data may be image data, the first processing may be a binarization process of an image, and the second processing may be image recognition of the binarized image. The processing execution unit may execute a process of storing the image data, the binarized image, and the result of the image recognition in a storage unit.

前記処理実行部は、前記受信部から前記データを受信してから前記第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 non-volatile storage device 103, and may be stored in a non-transitory computer-readable storage medium. The "device" and "part" may be an entity in which the configuration that realizes the operation is contained in one housing, or an entity (system) in which the configuration that realizes the operation is distributed and contained in multiple housings.

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処理のそれぞれの一定の処理時間ごとに入力された複数のデータを、それぞれ、前記データについての前記第1処理結果及び前記第2処理結果として前記処理を実行する、
請求項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データを出力したあと、前記第2処理が終了する前に他の前記データとしての第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.
JP2023567361A 2021-12-14 2021-12-14 Data processing device, data processing method, and program Active JP7662054B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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