JP2016100624A - Packet processing device, packet processing method and program - Google Patents

Packet processing device, packet processing method and program Download PDF

Info

Publication number
JP2016100624A
JP2016100624A JP2014233542A JP2014233542A JP2016100624A JP 2016100624 A JP2016100624 A JP 2016100624A JP 2014233542 A JP2014233542 A JP 2014233542A JP 2014233542 A JP2014233542 A JP 2014233542A JP 2016100624 A JP2016100624 A JP 2016100624A
Authority
JP
Japan
Prior art keywords
packet
tree
node
nodes
search
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.)
Pending
Application number
JP2014233542A
Other languages
Japanese (ja)
Inventor
貴裕 飯星
Takahiro Iiboshi
貴裕 飯星
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014233542A priority Critical patent/JP2016100624A/en
Publication of JP2016100624A publication Critical patent/JP2016100624A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress deterioration of performance occurring because there is no other packet to be collated during reading time of nodes when a final packet received at a time is collated with a tree.SOLUTION: A packet processing device has packet storage means for storing plural packets while ordering the plural packets, tree storage means for storing a tree which is constructed by nodes for which a key obtained from data of packets is set as a search key, and in which a terminal node contains data for specifying processing of the packets, tree searching means for starting and executing in parallel search processing of achieving a search key from a packet, tracing the nodes of tree and determining the processing of the packet for plural packets according to the determined order by using a reading time of next node information from the tree storage means, and scheduling means for determining a prediction value of the number of nodes to be traced in the search processing every packet, and ordering the plural packets in the packet storage means in the decreasing order of the prediction value.SELECTED DRAWING: Figure 4

Description

本発明は、パケット処理装置、パケット処理方法、および、プログラム、特に、パケット処理過程で木の探索を行うパケット処理装置、パケット処理方法、および、プログラムに関する。   The present invention relates to a packet processing device, a packet processing method, and a program, and more particularly to a packet processing device, a packet processing method, and a program that search a tree in a packet processing process.

高速にパケットを処理するため、ネットワークインタフェースから一度に複数のパケットを受信する技術が開示されている(非特許文献1)。   In order to process a packet at high speed, a technique for receiving a plurality of packets at a time from a network interface is disclosed (Non-Patent Document 1).

受信されたパケットはルールに従って処理される。ルールは、処理を適用すべき対象パケットのヘッダ情報と、適用すべき処理の組によって構成されるのが一般的である。そのため、パケット処理においては、ルールとパケットとの照合が行われる。照合は、木を探索することによって行われる場合がある(特許文献1)。   Received packets are processed according to rules. A rule is generally composed of header information of a target packet to which processing is to be applied and a set of processing to be applied. Therefore, in packet processing, a rule and a packet are collated. The matching may be performed by searching a tree (Patent Document 1).

木は、一般的に図1に図示されるような構造を有する。すなわち、木は階層化された複数のノードで構成され、階層の上位のノードから、1以上の下位のノードに対するリンクが張られている。木において、最上位のノード(図1おける、2重丸のノード)はルートノードと呼ばれ、最下位のノード(図1おける、A乃至Fのノード)は葉ノードまたは末端ノードと呼ばれる。   The tree generally has a structure as illustrated in FIG. That is, the tree is composed of a plurality of hierarchized nodes, and a link is established from an upper node in the hierarchy to one or more lower nodes. In the tree, the highest node (double circle node in FIG. 1) is called a root node, and the lowest node (nodes A to F in FIG. 1) is called a leaf node or a terminal node.

木とパケットの照合は、パケットの宛先アドレス等から求められるキーを用いて行われる。木とパケットの照合は、パケットのキーとノードに格納されているキーとを照合してリンクを選択し、選択したリンクを辿って次に照合に用いるべきノードを求め、さらにパケットのキーと該次のノードのキーとの照合を繰り返すことで進行する。木とパケットの照合は、一般的に、パケットのキーとルートノードのキーとの照合で始まり、幾つかの中間ノードを辿って、葉ノードに到達して終了する。葉ノードは、パケットに適用される処理を特定する情報を含む。   The tree and the packet are collated using a key obtained from the destination address of the packet. In the tree and packet matching, a link is selected by matching the key of the packet and the key stored in the node, the node to be used for the next matching is obtained by tracing the selected link, and the packet key and Proceed by repeating matching with the key of the next node. The matching of a tree and a packet generally begins with a matching of the packet key and the root node key, traverses several intermediate nodes, and ends with reaching a leaf node. The leaf node includes information that identifies the process applied to the packet.

ノードを辿る過程で、あるノードの照合を終えたとき、処理装置は、選択したリンクの先に有る次のノードのデータを参照する。該データが処理装置のキャッシュに存在しない場合、すなわちキャッシュミスが発生する場合、処理装置は、該データをメインメモリから読み込む必要がある。この時、大きな読み込み待ち時間が発生する。読み込み待ちを行っている間、処理装置は待ち状態となる為、木探索性能は大きく低下する。   When the verification of a certain node is completed in the process of tracing the node, the processing device refers to the data of the next node existing ahead of the selected link. When the data does not exist in the processing device cache, that is, when a cache miss occurs, the processing device needs to read the data from the main memory. At this time, a large read waiting time occurs. While waiting for reading, the processing apparatus is in a waiting state, so that the tree search performance is greatly reduced.

図2は、パケットのキーとノードのキーとの照合処理と、ノード情報の読み込み時間の発生シーケンス例を示す。図2の例は、パケットのキーとノードのキーとの照合処理を丸で示し、読み込み時間を長方形で示している。   FIG. 2 shows an example of a generation sequence of collation processing between a packet key and a node key and node information reading time. In the example of FIG. 2, the matching process between the packet key and the node key is indicated by a circle, and the reading time is indicated by a rectangle.

照合処理を示す丸の中には、照合対象となっているパケット番号と木のノードの深さの組が表示されている。例えば、1−2は、パケット番号1における、木の2段目のノードとの照合処理であることを示している。以降、この照合処理は、ノード照合処理1−2と表記され、他の照合処理もこの例に従って表記される。パケットと葉ノードとの照合処理を示す丸はハッチングして示されている。   In the circle indicating the matching process, a set of the packet number to be matched and the depth of the tree node is displayed. For example, 1-2 indicates a matching process with the second node of the tree in the packet number 1. Henceforth, this collation process is described as the node collation process 1-2, and another collation process is also described according to this example. The circle indicating the matching process between the packet and the leaf node is hatched.

一方、処理装置にはプリフェッチ機能と呼ばれる先読み機能が備わっている。この機能は、指定したアドレスのデータをメインメモリからキャッシュに読み込むことをメモリ制御装置に指示する機能である。この機能を利用することで、あるパケットの処理に必要なデータをメインメモリから読み込んでいる間に、処理装置が別のパケットを処理することが可能となる。処理装置がコンピュータのCPU(Central Processing Unit)である場合、プリフェッチ機能は、プリフェッチ命令として実装されている。   On the other hand, the processing device has a prefetch function called a prefetch function. This function is a function for instructing the memory control device to read data at a specified address from the main memory into the cache. By using this function, the processing device can process another packet while reading data necessary for processing a certain packet from the main memory. When the processing device is a CPU (Central Processing Unit) of a computer, the prefetch function is implemented as a prefetch instruction.

図3は、プリフェッチ機能を利用した場合の、パケットとノードとの照合処理と、木の読み込み時間の発生シーケンス例を示す。例えば、処理装置は、ノード照合処理1−1において、ノード照合処理1−2に用いるデータのアドレスを求め、該アドレスのデータをキャッシュに読み込むことをメモリ制御装置に指示する。メモリ制御装置がこのデータを読み込んでいる間、処理装置は、ノード照合処理2−1及び3−1を実行することができる。   FIG. 3 shows an example of a generation sequence of packet matching time and tree reading time when the prefetch function is used. For example, in the node verification process 1-1, the processing device obtains an address of data used for the node verification processing 1-2 and instructs the memory control device to read the data at the address into the cache. While the memory control device is reading this data, the processing device can execute the node verification processing 2-1 and 3-1.

また、ノード照合処理1−2においては、データがキャッシュに存在するため、処理装置は、データの読み込みにかかる時間を大きく削減できる。さらに、パケット番号1と木との照合処理は1−2で終了したため、ノード照合処理3−2の次には、処理装置は、パケット番号4に関する照合処理であるノード照合処理4−1を実行できる。   In the node verification process 1-2, since the data exists in the cache, the processing apparatus can greatly reduce the time required for reading the data. Further, since the matching process between the packet number 1 and the tree is completed at 1-2, the processing apparatus executes a node matching process 4-1 that is a matching process for the packet number 4 after the node matching process 3-2. it can.

処理装置は、図2の例では、長方形で示しているデータの読み込み時間中、読み込み完了を待ち合わせているのに対し、図3の例では、他のパケットの照合処理を実行できる。すなわち、非特許文献1に開示されている技術と、プリフェッチ機能を用いることで、木とパケットの照合処理を効率よく実行できる。   In the example of FIG. 2, the processing device waits for the completion of reading during the reading time of the data indicated by the rectangle, whereas in the example of FIG. 3, the processing device can execute the collation processing of other packets. That is, by using the technique disclosed in Non-Patent Document 1 and the prefetch function, it is possible to efficiently execute a tree-packet matching process.

特表2014-504042号公報Special table 2014-504042 gazette

Intel Data Plane Development Kit(http://dpdk.org/)Intel Data Plane Development Kit (http://dpdk.org/)

処理装置が一度に受信するパケットの数は有限であり、受信した最後のパケットの照合を行うとき、メインメモリからのデータの読み込み時間中にノード照合処理ができる他のパケットが無いことがある。   The number of packets that the processing device receives at a time is limited, and when collating the last received packet, there may be no other packets that can be subjected to node collation during the time for reading data from the main memory.

図3の例で、パケット番号5以降をネットワークインタフェースから受信していない場合、ノード照合処理4−3以降に使用するデータをメインメモリから読み込む時間に、処理装置がノード照合処理を実行できる他のパケットが存在しない。このため、データをメインメモリから読み込む間、処理装置が有効に動作しない。図3は、この時間を、データの読み込み時間を示す長方形に斜線を付して示している。   In the example of FIG. 3, if the packet number 5 or later is not received from the network interface, the processing device can execute the node matching process at the time when the data used for the node matching process 4-3 or later is read from the main memory. There is no packet. For this reason, the processor does not operate effectively while data is read from the main memory. FIG. 3 shows this time by slashing a rectangle indicating the data reading time.

最後のパケットと木との照合において、木の探索が深い場合、パケット処理性能の低下を招く。パケット処理においては、パケットと木のノードとの照合回数が数十から数百にも上ることが想定される。そのため、性能低下は大きくなる。   When the last packet is compared with the tree and the tree search is deep, the packet processing performance is degraded. In packet processing, it is assumed that the number of collations between a packet and a tree node is several tens to several hundreds. As a result, the performance degradation increases.

なお、上記説明は、ノード情報を、メインメモリから処理装置のキャッシュに読み込む場合を想定したものであるが、ノード情報をディスク装置からメインメモリに読み込む場合についても同様である。但し、この場合、特にプリフェッチ機能は必要とならず、ディスク装置に対する先行読み出しを実行すればよい。   The above description assumes that the node information is read from the main memory into the cache of the processing device, but the same applies to the case where the node information is read from the disk device to the main memory. However, in this case, the prefetch function is not particularly required, and it is only necessary to execute the preceding read for the disk device.

本発明は、一度に受信した最後のパケットの照合を行うとき、メインメモリ等からのデータの読み込み時間中に、ノード照合処理ができる他のパケットが無い為に発生するパケット処理性能の低下を抑制するパケット処理装置等を提供することを目的とする。   The present invention suppresses degradation in packet processing performance that occurs because there is no other packet that can be subjected to node verification processing during the time to read data from the main memory or the like when verifying the last packet received at one time It is an object of the present invention to provide a packet processing device and the like.

本発明の一実施形態にかかるパケット処理装置は、複数のパケットを順序付けて記憶するパケット記憶手段と、パケットのデータから得られるキーを探索キーとするノードで構成され、末端ノードがパケットの処理を特定するデータを含む木を記憶する木記憶手段と、パケットから探索キーを得て、前記木のノードを辿ってパケットの処理を決定する探索処理を、前記木記憶手段から次ノード情報を読み込む時間を利用して、複数パケットについて、付けられた順序にしたがって開始して並列に実行する木探索手段と、パケットごとに前記探索処理で辿るノード数の予測値を求め、当該予測値の多い順に前記パケット記憶手段内の複数のパケットを順序付けるスケジューリング手段と、を備える。   A packet processing apparatus according to an embodiment of the present invention includes a packet storage unit that stores a plurality of packets in order, and a node that uses a key obtained from the packet data as a search key. A time for reading the next node information from the tree storage means, a tree storage means for storing a tree including the data to be identified, a search process for obtaining a search key from the packet and tracing a node of the tree to determine processing of the packet For a plurality of packets, the tree search means that starts in parallel according to the attached order and calculates the predicted value of the number of nodes to be traced in the search process for each packet, Scheduling means for ordering a plurality of packets in the packet storage means.

本発明の一実施形態にかかるパケット処理方法は、複数のパケットを順序付けて記憶し、パケットのデータから得られるキーを探索キーとするノードで構成され、末端ノードがパケットの処理を特定するデータを含む木を木記憶手段に記憶し、パケットから探索キーを得て、前記木のノードを辿ってパケットの処理を決定する探索処理を、前記木記憶手段から次ノード情報を読み込む時間を利用して、複数パケットについて、付けられた順序にしたがって開始して並列に実行する方法であって、パケットごとに前記探索処理で辿るノード数の予測値を求め、当該予測値の多い順に記憶している前記複数のパケットを順序付ける。   A packet processing method according to an embodiment of the present invention includes a node that stores a plurality of packets in order and uses a key obtained from the packet data as a search key. The tree containing means is stored in the tree storage means, the search key is obtained from the packet, the search processing for determining the packet processing by tracing the node of the tree is performed, and the time for reading the next node information from the tree storage means is used. A method for starting a plurality of packets according to an attached order and executing them in parallel, and for each packet, obtain a predicted value of the number of nodes to be traced in the search process, and store the predicted values in descending order of the predicted values. Order multiple packets.

本発明にかかるパケット処理装置は、一度に受信した最後のパケットの木との照合を行うとき、メインメモリ等からのノードの読み込み時間中に、照合処理ができる他のパケットが無い為に発生する性能の低下を抑制できる。   The packet processing apparatus according to the present invention occurs when there is no other packet that can be collated during the reading time of the node from the main memory or the like when collating with the last packet tree received at one time. A decrease in performance can be suppressed.

図1は、木の構造を例示する。FIG. 1 illustrates a tree structure. 図2は、パケットのキーとノードのキーとの照合処理と、ノード情報の読み込み時間の発生シーケンス例(その1)を示す。FIG. 2 shows an example (part 1) of generation sequence of collation processing between a packet key and a node key and node information reading time. 図3は、パケットのキーとノードのキーとの照合処理と、ノード情報の読み込み時間の発生シーケンス例(その2)を示す。FIG. 3 shows an example (part 2) of an occurrence sequence of collation processing between a packet key and a node key and node information reading time. 図4は、第1の実施形態におけるパケット処理装置10の構成図である。FIG. 4 is a configuration diagram of the packet processing device 10 according to the first embodiment. 図5は、パケットのキーとノードのキーとの照合処理と、ノード情報の読み込み時間の発生シーケンス例(その3)を示す。FIG. 5 shows an example (part 3) of a generation sequence of collation processing between a packet key and a node key and node information reading time. 図6は、第1の実施の形態のパケット処理装置10の動作フローチャートである。FIG. 6 is an operation flowchart of the packet processing apparatus 10 according to the first embodiment. 図7は、第2の実施形態におけるパケット処理装置10の構成図である。FIG. 7 is a configuration diagram of the packet processing device 10 according to the second embodiment. 図8は、第2の実施の形態のパケット処理装置10の動作フローチャートである。FIG. 8 is an operation flowchart of the packet processing device 10 according to the second embodiment. 図9は、第3の実施形態におけるパケット処理装置10の構成図である。FIG. 9 is a configuration diagram of the packet processing device 10 according to the third embodiment.

<第1の実施の形態>
[構成の説明]
図4は、本発明の第1の実施形態におけるパケット処理装置10の構成図である。本実施形態におけるパケット処理装置10、1つ以上の通信部11、パケット受信部12、パケット記憶部13、木記憶部14、スケジューリング部15、予測表記憶部16、木探索部17、及びパケット処理部18と、を備える。
<First Embodiment>
[Description of configuration]
FIG. 4 is a configuration diagram of the packet processing device 10 according to the first embodiment of the present invention. Packet processing device 10, one or more communication unit 11, packet receiving unit 12, packet storage unit 13, tree storage unit 14, scheduling unit 15, prediction table storage unit 16, tree search unit 17, and packet processing in this embodiment Unit 18.

通信部11は、パケット受信部12とパケット処理部18とに接続される。パケット受信部12は、通信部11とパケット記憶部13に接続される。パケット記憶部13は、パケット受信部12とスケジューリング部15と木探索部17とパケット処理部18とに接続される。   The communication unit 11 is connected to the packet receiving unit 12 and the packet processing unit 18. The packet receiving unit 12 is connected to the communication unit 11 and the packet storage unit 13. The packet storage unit 13 is connected to the packet reception unit 12, the scheduling unit 15, the tree search unit 17, and the packet processing unit 18.

木記憶部14は、スケジューリング部15と木探索部17とに接続される。スケジューリング部15は、パケット記憶部13と木記憶部14と予測表記憶部16と木探索部17と接続される。木探索部17は、木記憶部14とスケジューリング部15とパケット記憶部13とパケット処理部18と接続される。予測表記憶部16は、スケジューリング部15と接続される。パケット処理部18は、通信部11とパケット記憶部13と木探索部17とに接続される。   The tree storage unit 14 is connected to the scheduling unit 15 and the tree search unit 17. The scheduling unit 15 is connected to the packet storage unit 13, the tree storage unit 14, the prediction table storage unit 16, and the tree search unit 17. The tree search unit 17 is connected to the tree storage unit 14, the scheduling unit 15, the packet storage unit 13, and the packet processing unit 18. The prediction table storage unit 16 is connected to the scheduling unit 15. The packet processing unit 18 is connected to the communication unit 11, the packet storage unit 13, and the tree search unit 17.

通信部11は、図示しない他の装置から通信パケットを受信する。通信部11は、例えばEthernet(登録商標)通信制御装置である。   The communication unit 11 receives a communication packet from another device (not shown). The communication unit 11 is, for example, an Ethernet (registered trademark) communication control device.

パケット受信部12は、通信部11から一度に複数のパケットを受信し、該パケットをパケット記憶部13に記憶させる。パケット記憶部13は、0個以上のパケットを記憶する。   The packet receiving unit 12 receives a plurality of packets at a time from the communication unit 11 and stores the packets in the packet storage unit 13. The packet storage unit 13 stores zero or more packets.

木記憶部14は、パケットの宛先/送信元アドレス、ペイロード等から求められるキーを探索キーとする木を保持する。この木の葉ノードには、パケットに適用されるべき処理を特定する情報、例えば処理内容または処理プログラム名、が記憶されている。木探索部17は、パケットから求められるキーを用いてこの木を探索して葉ノードに到達し、当該パケットに適用されるべき処理を決定する。パケットの処理内容は、例えば通信部11へのパケットの出力や、パケットのヘッダの変換や、パケットの削除などである。このような木の探索は、例えば、オープンフローネットワークの拡張マッチングで行われる。   The tree storage unit 14 holds a tree having a search key as a key obtained from the destination / source address of the packet, the payload, and the like. In the leaf node of this tree, information for specifying a process to be applied to a packet, for example, a process content or a process program name is stored. The tree search unit 17 searches this tree using a key obtained from the packet, reaches the leaf node, and determines a process to be applied to the packet. The processing contents of the packet are, for example, output of the packet to the communication unit 11, conversion of the packet header, deletion of the packet, and the like. Such a tree search is performed, for example, by extended matching of an OpenFlow network.

木探索部17は、パケットの処理を決定する為の木の探索処理で、木のノードを辿りながら、木とパケットの照合を行う。木とパケットの照合は、パケットの宛先アドレス、等から求められるキーを用いて行われる。木とパケットの照合は、パケットのキーとノードに格納されているキーとを照合してリンクを選択し、選択したリンクを辿って次に照合に用いるべきノードを求め、さらにパケットのキーと該次のノードのキーとの照合を繰り返すことで進行する。木とパケットの照合は、パケットのキーとルートノードのキーとの照合で始まり、幾つかの中間ノードを辿って、葉ノードに到達して終了する。   The tree search unit 17 performs tree search processing for determining packet processing, and checks a tree and a packet while tracing a node of the tree. The tree and the packet are collated using a key obtained from the destination address of the packet. In the tree and packet matching, a link is selected by matching the key of the packet and the key stored in the node, the node to be used for the next matching is obtained by tracing the selected link, and the packet key and Proceed by repeating matching with the key of the next node. The matching of the tree and the packet starts with the matching of the packet key and the key of the root node, traces several intermediate nodes, and ends by reaching the leaf node.

木記憶部14がメインメモリである場合、木探索部17は、或るパケットの為の木の探索処理で、次に辿るべきノードの情報がキャッシュメモリに格納されていないと、該ノード情報を対象にプリフェッチ命令を発行して、木記憶部14からの読み出しを開始する。   When the tree storage unit 14 is the main memory, the tree search unit 17 determines that the node information to be traced next is not stored in the cache memory in the tree search process for a certain packet. A prefetch instruction is issued to the target, and reading from the tree storage unit 14 is started.

木記憶部14がディスク装置である場合、木探索部17は、或るパケットの為の木の探索処理で、次に辿るべきノードの情報がメインメモリに格納されていないと、該ノード情報を対象にディスク読み込み命令を発行して、木記憶部14からの読み出しを開始する。   When the tree storage unit 14 is a disk device, the tree search unit 17 determines that the node information to be traced next is not stored in the main memory in the tree search process for a certain packet. A disk read command is issued to the target, and reading from the tree storage unit 14 is started.

何れの場合も、読み出し時間中、木探索部17は、他のパケットの為の木の探索処理を実行する。このようにして、木探索部17は、複数のパケットの為の木の探索処理を並列して実行する。   In any case, during the readout time, the tree search unit 17 executes a tree search process for another packet. In this way, the tree search unit 17 executes tree search processing for a plurality of packets in parallel.

スケジューリング部15は、パケット記憶部13に記憶されたパケットと予測表記憶部16を参照し、各パケットと木との照合の回数を予測する。換言すれば、スケジューリング部15は、パケットの処理を決定する為に実行される木の探索処理で、当該パケットから求められたキーと木のノードが格納するキーとの照合回数を予測する。そして、スケジューリング部15は、予測された照合回数の多い順にパケットを並べ、その順序をパケット記憶部13に記憶する。
予測表記憶部16は、ハッシュ値に対して照合回数を関連付ける予測表を記憶する。スケジューリング部15は、パケット記憶部13に記憶されているパケットから得られるキーの一部からハッシュ値を計算し、該ハッシュ値に関連付けられている照合回数を予測表から検索することで、照合回数を予測する。スケジューリング部15は、例えば、パケットのヘッダのMACアドレスや、IPアドレスの上位数バイトをハッシュ値の計算に用いる。
The scheduling unit 15 refers to the packet stored in the packet storage unit 13 and the prediction table storage unit 16, and predicts the number of matching between each packet and the tree. In other words, the scheduling unit 15 predicts the number of matching between the key obtained from the packet and the key stored in the tree node in the tree search process executed to determine the packet process. Then, the scheduling unit 15 arranges the packets in the descending order of the predicted number of collations, and stores the order in the packet storage unit 13.
The prediction table storage unit 16 stores a prediction table that associates the hash value with the number of collations. The scheduling unit 15 calculates a hash value from a part of the key obtained from the packet stored in the packet storage unit 13, and searches the prediction table for the number of matchings associated with the hash value. Predict. For example, the scheduling unit 15 uses the MAC address in the packet header or the upper few bytes of the IP address for the calculation of the hash value.

予測表が記憶するハッシュ値と照合回数は、木を作成するときに記憶してもよいし、木探索部17の探索結果から学習してもよい。木探索部17の探索結果から学習する場合、
スケジューリング部15は、木探索部17からパケット番号と照合回数とを取得して、該パケットのハッシュ値をもとに、予測表に記憶している照合回数を更新する。
The hash value and the number of collations stored in the prediction table may be stored when creating a tree, or may be learned from the search result of the tree search unit 17. When learning from the search result of the tree search unit 17,
The scheduling unit 15 acquires the packet number and the number of matchings from the tree search unit 17 and updates the number of matchings stored in the prediction table based on the hash value of the packet.

木探索部17は、パケット記憶部13に記憶された順序で、パケット記憶部13に記憶されている各パケットの処理を決定する為の木の探索処理を行う。木探索部17は、パケットのキーを用いて行った木の探索処理の結果、到達した葉ノードに記憶されている処理の特定情報を、該パケットに付加する。   The tree search unit 17 performs a tree search process for determining the processing of each packet stored in the packet storage unit 13 in the order stored in the packet storage unit 13. The tree search unit 17 adds processing specific information stored in the arrived leaf node to the packet as a result of the tree search process performed using the packet key.

パケット処理部18は、パケット記憶部13に記憶されている各パケットに付加されている処理内容に応じて、該パケットを処理する。   The packet processing unit 18 processes the packet according to the processing content added to each packet stored in the packet storage unit 13.

図5は、本実施の形態のパケット処理装置10が実行する処理の順序を、図3と同様に例示する。図5の例では、パケット番号1の照合回数が1、パケット番号2の照合回数が4、パケット番号3の照合回数が3、パケット番号4の照合回数が4である。木の探索処理の対象となるパケットの順序は、2→4→3→1の順となる。   FIG. 5 illustrates the order of processing executed by the packet processing apparatus 10 according to the present embodiment, as in FIG. In the example of FIG. 5, the number of matches for packet number 1 is 1, the number of matches for packet number 2 is 4, the number of matches for packet number 3 is 3, and the number of matches for packet number 4 is 4. The order of the packets to be subjected to the tree search process is 2 → 4 → 3 → 1.

図5の例では、最後に木と照合するパケット1の照合回数が1である。したがって、本実施の形態のパケット処理装置10は、木記憶部14からデータを読み込むことによる性能低下を小さくすることができる。なお、図5において、処理装置が有効に動作しない時間は、照合処理1−2の為のノード情報の読み込み時間であり、この時間は長方形に斜線を付して示されている。   In the example of FIG. 5, the number of collations of packet 1 that is finally collated with the tree is 1. Therefore, the packet processing apparatus 10 according to the present embodiment can reduce performance degradation caused by reading data from the tree storage unit 14. In FIG. 5, the time during which the processing apparatus does not operate effectively is the node information reading time for the collation process 1-2, and this time is indicated by hatching the rectangle.

通信部11、パケット受信部12、スケジューリング部15、木探索部17、及び、パケット処理部18は、論理回路で実現される。通信部11、パケット受信部12、スケジューリング部15、木探索部17、または、パケット処理部18は、コンピュータでもあるパケット処理装置10の図示されないCPU(Central Processing Unit)が実行するプログラムによって実現されても良い。   The communication unit 11, the packet reception unit 12, the scheduling unit 15, the tree search unit 17, and the packet processing unit 18 are realized by logic circuits. The communication unit 11, the packet reception unit 12, the scheduling unit 15, the tree search unit 17, or the packet processing unit 18 is realized by a program executed by a CPU (Central Processing Unit) (not shown) of the packet processing apparatus 10 that is also a computer. Also good.

パケット記憶部13、木記憶部14、および、予測表記憶部16は、例えばランダムアクセスメモリやキャッシュメモリによって実現される。パケット記憶部13、木記憶部14、または、予測表記憶部16は、ディスク装置などの外部記憶装置で実装されても良い。   The packet storage unit 13, the tree storage unit 14, and the prediction table storage unit 16 are realized by, for example, a random access memory or a cache memory. The packet storage unit 13, the tree storage unit 14, or the prediction table storage unit 16 may be implemented by an external storage device such as a disk device.

[動作の説明]
図6は、本実施の形態のパケット処理装置10の動作フローチャートである。
[Description of operation]
FIG. 6 is an operation flowchart of the packet processing apparatus 10 according to the present embodiment.

まず、パケット受信部12が、通信部11からパケットを1つ以上、通常複数、まとめて受信する(ステップS1)。次に、パケット受信部12が、受信したパケットをパケット記憶部13に記憶する(ステップS2)。   First, the packet receiving unit 12 receives one or more packets, usually a plurality of packets, collectively from the communication unit 11 (step S1). Next, the packet receiving unit 12 stores the received packet in the packet storage unit 13 (step S2).

スケジューリング部15が、パケット記憶部13に記憶された各パケットの一部を用いてハッシュ値を計算し、該ハッシュ値を用いて予測表を検索し、木探索処理の照合回数を予測する(ステップS3)。   The scheduling unit 15 calculates a hash value using a part of each packet stored in the packet storage unit 13, searches the prediction table using the hash value, and predicts the number of matchings in the tree search process (step S3).

スケジューリング部15が、ステップS3で予測した照合回数の大きい順にパケットの木探索を行うよう順序付けて(ステップS4)、順序をパケット記憶部13に記憶する(ステップS5)。   The scheduling unit 15 orders the packet tree search in descending order of the number of collations predicted in step S3 (step S4), and stores the order in the packet storage unit 13 (step S5).

木探索部17が、パケット記憶部13に記憶された順序で、パケットと木を照合する(ステップS6)。パケット処理部18が、木との照合結果をもとにパケットを処理する(ステップS7)。   The tree search unit 17 collates the packet with the tree in the order stored in the packet storage unit 13 (step S6). The packet processing unit 18 processes the packet based on the result of matching with the tree (step S7).

木探索部17は、ステップS6でパケットと木を照合した結果から、パケット番号と照合回数の組を各パケットについて求め、スケジューリング部15に送信する(ステップS8)。スケジューリング部15は、受信した各パケットについてパケット番号と照合回数をもとに、予測表の値を更新する(S9)。   The tree search unit 17 obtains a set of the packet number and the number of matching times for each packet from the result of collating the packet with the tree in step S6, and transmits the packet to the scheduling unit 15 (step S8). The scheduling unit 15 updates the value in the prediction table for each received packet based on the packet number and the number of collations (S9).

[発明の効果]
本実施の形態のパケット処理装置10は、一度に受信した最後のパケットの木との照合を行うとき、メインメモリ等からのノードの読み込み時間中に、照合処理ができる他のパケットが無い状況の発生頻度を低下させる。その結果、本実施の形態のパケット処理装置10は、そのような状況に起因して発生するパケット処理性能の低下を抑制することができる。
[Effect of the invention]
When the packet processing apparatus 10 according to the present embodiment collates with the last packet tree received at one time, there is no other packet that can be collated during the reading time of the node from the main memory or the like. Reduce the frequency of occurrence. As a result, the packet processing apparatus 10 according to the present embodiment can suppress a decrease in packet processing performance that occurs due to such a situation.

その理由は、スケジューリング部15が、各パケットと木の照合における木の照合回数を予測し、木探索部17が、照合回数の大きいパケット順に木とパケットを照合するからである。   The reason is that the scheduling unit 15 predicts the number of matching of the tree in matching each packet with the tree, and the tree searching unit 17 matches the tree and the packet in descending order of the number of matching.

本実施の形態のスケジューリング部15は、各パケットと木の照合における木の照合回数を適切に予測できる。その理由は、スケジューリング部15が、パケットから得られるキーの一部からハッシュ値を計算し、予測表記憶部16に格納されている予測表を照合して照合回数を推定するからである。   The scheduling unit 15 according to the present embodiment can appropriately predict the number of tree matching in each packet and tree matching. The reason is that the scheduling unit 15 calculates a hash value from a part of the key obtained from the packet and collates the prediction table stored in the prediction table storage unit 16 to estimate the number of collations.

木の探索処理は、キーの一部(例えば、上位ビット列)で木の部分木を特定し、キーの残りの部分(例えば、キーの下位ビット列)で、部分木内の葉ノードを特定する処理と捉えることが可能である。そして、木は、その部分木によって深さが異なることが有る。探索が、深い部分木を対象に行われれば照合回数は多く、浅い部分木を対象に行われれば照合回数は少ないと予測される。したがって、予測表が、部分木を特定するキーの一部のハッシュ値と、当該キーの一部により特定される部分木の深さに応じた値と、を関連付けて格納していれば、スケジューリング部15は、照合回数を適切に予測できる。   The tree search process is a process of specifying a subtree of a tree by a part of a key (for example, upper bit string) and specifying a leaf node in the subtree by a remaining part of the key (for example, a lower bit string of the key). It is possible to capture. The depth of the tree may vary depending on the subtree. If the search is performed on a deep subtree, the number of matching is large, and if the search is performed on a shallow subtree, the number of matching is predicted to be small. Therefore, if the prediction table stores a hash value of a part of a key specifying a subtree and a value corresponding to the depth of the subtree specified by the part of the key in association with each other, scheduling is performed. The unit 15 can appropriately predict the number of collations.

木の構造が初めから明確である場合、予測表はシステムパラメータとしてパケット処理装置10に与えられても良い。木の構造が当初は不明、または運転過程で変化するのであれば、上述したように、予測表に記憶される値は、木探索部17における探索結果すなわち過去の履歴を反映して設定されるのが有効である。   When the tree structure is clear from the beginning, the prediction table may be given to the packet processing apparatus 10 as a system parameter. If the tree structure is initially unknown or changes in the driving process, as described above, the value stored in the prediction table is set to reflect the search result in the tree search unit 17, that is, the past history. Is effective.

<第2の実施形態>
[構成の説明]
図7は、本発明の第2実施形態におけるパケット処理装置10の構成図である。本実施形態におけるパケット処理装置10は、予測表記憶部16を包含しない。他は、第1の実施形態におけるパケット処理装置10と同様の構成である。
<Second Embodiment>
[Description of configuration]
FIG. 7 is a configuration diagram of the packet processing apparatus 10 according to the second embodiment of the present invention. The packet processing apparatus 10 in the present embodiment does not include the prediction table storage unit 16. The other configuration is the same as that of the packet processing apparatus 10 in the first embodiment.

本実施形態におけるスケジューリング部15は、パケット記憶部13の各パケットについて、木を所定の段数だけ探索し、到達したノードをもとに照合回数を予測する。   The scheduling unit 15 in the present embodiment searches the tree for a predetermined number of stages for each packet in the packet storage unit 13 and predicts the number of matchings based on the reached node.

到達したノードと照合回数の予測値との紐付けは、木を作成・変更するときに行っても良いし、過去の探索履歴によって行っても良い。以下の動作発明は、木の作成・変更時に行う場合についての説明である。   The association between the reached node and the predicted value of the number of collations may be performed when creating or changing a tree, or may be performed based on a past search history. The following operation invention is an explanation of a case where it is performed at the time of creating / changing a tree.

また、本実施形態のスケジューリング部15は、到達した木の中間ノード、すなわち木探索の途中結果を、各パケットの付加情報としてパケット記憶部13に記憶しても良い。この場合、木探索部17は、パケット記憶部13に記憶されている各パケットについて、パケット記憶部13に記憶された順序で木との照合を行うとき、該パケットの付加情報として記憶されているノードの照合処理から開始する。これにより、木探索部17は、スケジューリング部15が既に実行した照合を省略することが出来る。   In addition, the scheduling unit 15 of the present embodiment may store the reached intermediate node of the tree, that is, the midway result of the tree search, in the packet storage unit 13 as additional information of each packet. In this case, the tree search unit 17 stores each packet stored in the packet storage unit 13 as additional information of the packet when collating with the tree in the order stored in the packet storage unit 13. Start with the node verification process. Thereby, the tree search unit 17 can omit the collation that has already been executed by the scheduling unit 15.

[動作の説明]
図8は、本実施の形態のパケット処理装置10の動作フローチャートである。ステップS11及び12は、第1の実施形態におけるステップS1及びS2とそれぞれ同様である。
[Description of operation]
FIG. 8 is an operation flowchart of the packet processing apparatus 10 according to the present embodiment. Steps S11 and S12 are the same as steps S1 and S2 in the first embodiment, respectively.

次に、スケジューリング部15が、パケット記憶部13に格納された各パケットについて、所定ノード数だけ木を探索し、到達した中間ノードから照合回数を予測し、該到達したノードの情報を該パケットに付加する(ステップS13)。ここで、スケジューリング部15は、木を探索して到達した中間ノードに紐付けられている照合回数を予測値として出力する。   Next, for each packet stored in the packet storage unit 13, the scheduling unit 15 searches the tree for a predetermined number of nodes, predicts the number of matches from the reached intermediate node, and sets the information of the reached node to the packet. It is added (step S13). Here, the scheduling unit 15 searches the tree and outputs the number of collations associated with the reached intermediate node as a predicted value.

ステップS14及びS15は、第1の実施形態におけるステップS4及びS5とそれぞれ同様である。   Steps S14 and S15 are the same as steps S4 and S5 in the first embodiment, respectively.

木探索部17が、パケット記憶部13に記憶された順序で、パケット記憶部13に記憶されている各パケットと木の照合を、該パケットに付加されているノード情報のノードから行う(ステップS16)。   The tree search unit 17 compares each packet stored in the packet storage unit 13 with the tree in the order stored in the packet storage unit 13 from the node of the node information added to the packet (step S16). ).

ステップS17は、第1の実施形態におけるステップS7と同様である。   Step S17 is the same as step S7 in the first embodiment.

[発明の効果]
本実施の形態のスケジューリング部15は、各パケットと木の照合における木の照合回数を適切に予測できる。その理由は、スケジューリング部15が、パケット記憶部13に格納された各パケットについて、所定ノード数だけ木を探索し、到達した中間ノードから照合回数を予測するからである。
[Effect of the invention]
The scheduling unit 15 according to the present embodiment can appropriately predict the number of tree matching in each packet and tree matching. This is because the scheduling unit 15 searches the tree for a predetermined number of nodes for each packet stored in the packet storage unit 13 and predicts the number of matchings from the reached intermediate node.

上述したように、木の深さは、木の部分木によって異なる。本実施の形態では、木の所定段数下位の中間ノードをルートとする部分木のルートノードに当該部分木の深さを反映した予測値を紐付けることで、照合回数の予測精度を高めることが可能である。   As described above, the depth of the tree varies depending on the subtree of the tree. In the present embodiment, the prediction value reflecting the depth of the subtree is linked to the root node of the subtree whose root is the intermediate node lower than the predetermined number of stages in the tree, thereby improving the prediction accuracy of the number of matching times. Is possible.

さらに、木探索部17が或る部分木を探索する場合に、最終的に特定の葉ノードに到達する確率が高い時は、当該部分木のルートノードに、当該葉ノードまでの照合回数を紐付けることで、照合回数の予測精度を高めることが可能である。   Further, when the tree search unit 17 searches for a certain subtree, if there is a high probability of finally reaching a specific leaf node, the root node of the subtree is linked to the number of matches up to the leaf node. By attaching, it is possible to improve the prediction accuracy of the number of collations.

<第3の実施形態>
図9は、本発明の第3実施形態におけるパケット処理装置10の構成図である。本実施形態におけるパケット処理装置10は、パケット記憶部13、木記憶部14、スケジューリング部15、および、木探索部17を備える。
<Third Embodiment>
FIG. 9 is a configuration diagram of the packet processing device 10 according to the third embodiment of the present invention. The packet processing apparatus 10 in this embodiment includes a packet storage unit 13, a tree storage unit 14, a scheduling unit 15, and a tree search unit 17.

パケット記憶部13は、複数のパケットを順序付けて記憶する。木記憶部14は、パケットのデータから得られるキーを探索キーとするノードで構成され、末端ノードがパケットの処理を特定するデータを含む木を記憶する。   The packet storage unit 13 stores a plurality of packets in order. The tree storage unit 14 is configured by nodes having a key obtained from packet data as a search key, and stores a tree including data in which the end node specifies packet processing.

木探索部17は、パケットから探索キーを得て、木のノードを辿ってパケットの処理を決定する探索処理を、木記憶手段から次ノード情報を読み込む時間を利用して、複数パケットについて、付けられた順序にしたがって開始して並列に実行する。   The tree search unit 17 obtains a search key from the packet, adds a search process for tracing the tree node to determine the packet process, and adds a plurality of packets using the time for reading the next node information from the tree storage unit. Start in parallel and execute in parallel.

スケジューリング部15は、パケットごとに探索処理で辿るノード数の予測値を求め、当該予測値の多い順にパケット記憶手段内の複数のパケットを順序付ける。   The scheduling unit 15 obtains a predicted value of the number of nodes traced by the search process for each packet, and orders a plurality of packets in the packet storage unit in descending order of the predicted value.

本実施の形態のパケット処理装置10は、一度に受信した最後のパケットの木との照合を行うとき、メインメモリ等からのノードの読み込み時間中に、照合処理ができる他のパケットが無い状況の発生頻度を低下させる。その結果、本実施の形態のパケット処理装置10は、そのような状況に起因して発生するパケット処理性能の低下を抑制することができる。   When the packet processing apparatus 10 according to the present embodiment collates with the last packet tree received at one time, there is no other packet that can be collated during the reading time of the node from the main memory or the like. Reduce the frequency of occurrence. As a result, the packet processing apparatus 10 according to the present embodiment can suppress a decrease in packet processing performance that occurs due to such a situation.

その理由は、スケジューリング部15が、各パケットと木の照合における木の照合回数を予測し、木探索部17が、照合回数の大きいパケット順に木とパケットを照合するからである。   The reason is that the scheduling unit 15 predicts the number of matching of the tree in matching each packet with the tree, and the tree searching unit 17 matches the tree and the packet in descending order of the number of matching.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

10 パケット処理装置
11 通信部
12 パケット受信部
13 パケット記憶部
14 木記憶部
15 スケジューリング部
16 予測表記憶部
17 木探索部
18 パケット処理部
DESCRIPTION OF SYMBOLS 10 Packet processing apparatus 11 Communication part 12 Packet receiving part 13 Packet storage part 14 Tree storage part 15 Scheduling part 16 Prediction table storage part 17 Tree search part 18 Packet processing part

Claims (10)

複数のパケットを順序付けて記憶するパケット記憶手段と、
パケットのデータから得られるキーを探索キーとするノードで構成され、末端ノードがパケットの処理を特定するデータを含む木を記憶する木記憶手段と、
パケットから探索キーを得て、前記木のノードを辿ってパケットの処理を決定する探索処理を、前記木記憶手段から次ノード情報を読み込む時間を利用して、複数パケットについて、付けられた順序にしたがって開始して並列に実行する木探索手段と、
パケットごとに前記探索処理で辿るノード数の予測値を求め、当該予測値の多い順に前記パケット記憶手段内の複数のパケットを順序付けるスケジューリング手段と、
を備えるパケット処理装置。
Packet storage means for storing a plurality of packets in order;
A tree storage unit configured to store a tree including data in which a key obtained from the packet data is used as a search key, and the terminal node specifies data for processing the packet;
A search process for obtaining a search key from a packet and determining the processing of the packet by tracing the nodes of the tree is performed in a given order for a plurality of packets using a time for reading next node information from the tree storage unit. Therefore, a tree search means that starts and executes in parallel;
A scheduling unit that obtains a predicted value of the number of nodes traced by the search process for each packet, and orders a plurality of packets in the packet storage unit in descending order of the predicted value;
A packet processing apparatus.
識別子とノード数を関連付けて記憶する予測表を記憶する予測表記憶手段をさらに備え、
前記スケジューリング手段は、パケットに格納されているデータの一部から前記識別子を得て、当該識別子で前記予測表を探索してノード数の前記予測値を得る、請求項1のパケット処理装置。
A prediction table storage means for storing a prediction table for storing the identifier and the number of nodes in association with each other;
The packet processing apparatus according to claim 1, wherein the scheduling unit obtains the identifier from a part of data stored in a packet, searches the prediction table with the identifier, and obtains the predicted value of the number of nodes.
前記スケジューリング手段は、パケットの前記識別子と、当該パケットの前記探索処理で辿られたノード数を得て、当該ノード数に基づいて前記予測表のノード数を更新する、請求項2のパケット処理装置。   The packet processing device according to claim 2, wherein the scheduling unit obtains the identifier of a packet and the number of nodes traced in the search process of the packet, and updates the number of nodes in the prediction table based on the number of nodes. . 前記木記憶手段は、前記木の所定の深さのノードとノード数を関連付けて記憶し、
前記スケジューリング手段は、パケットから探索キーを得て、前記木のノードを前記所定の深さまで辿って、到達したノードに関連付けられているノード数を前記予測値として得る、請求項1のパケット処理装置。
The tree storage means stores a node having a predetermined depth and the number of nodes in association with each other,
The packet processing device according to claim 1, wherein the scheduling unit obtains a search key from a packet, traces the node of the tree to the predetermined depth, and obtains the number of nodes associated with the reached node as the predicted value. .
前記スケジューリング手段は、パケットから探索キーを得て、前記木のノードを前記所定の深さまで辿って到達したノードを当該パケットに記録し、
前記木探索手段は、パケットに記録されているノードから前記探索処理を開始する、請求項4のパケット処理装置。
The scheduling means obtains a search key from the packet, records a node reached by tracing the node of the tree to the predetermined depth, and records the node in the packet.
The packet processing apparatus according to claim 4, wherein the tree search unit starts the search process from a node recorded in the packet.
パケットを受信する1以上の通信手段と、
前記通信手段からパケットを複数受信し、前記パケット記憶手段に記憶させるパケット受信手段と、
前記木探索手段によりパケットに対して決定された処理を、該パケットに適用するパケット処理手段と、
をさらに備える請求項1乃至5の何れか1項に記載のパケット処理装置。
One or more communication means for receiving packets;
A plurality of packets received from the communication means and stored in the packet storage means;
Packet processing means for applying the processing determined for the packet by the tree search means to the packet;
The packet processing device according to claim 1, further comprising:
複数のパケットを順序付けて記憶し、
パケットのデータから得られるキーを探索キーとするノードで構成され、末端ノードがパケットの処理を特定するデータを含む木を木記憶手段に記憶し、
パケットから探索キーを得て、前記木のノードを辿ってパケットの処理を決定する探索処理を、前記木記憶手段から次ノード情報を読み込む時間を利用して、複数パケットについて、付けられた順序にしたがって開始して並列に実行する方法であって、
パケットごとに前記探索処理で辿るノード数の予測値を求め、当該予測値の多い順に記憶している前記複数のパケットを順序付ける、パケット処理方法。
Store multiple packets in order,
It is composed of a node having a key obtained from packet data as a search key, and a terminal node stores a tree containing data specifying packet processing in a tree storage means,
A search process for obtaining a search key from a packet and determining the processing of the packet by tracing the nodes of the tree is performed in a given order for a plurality of packets using a time for reading next node information from the tree storage unit. So a method to start and run in parallel,
A packet processing method for obtaining a predicted value of the number of nodes to be traced by the search process for each packet, and ordering the plurality of packets stored in the descending order of the predicted value.
識別子とノード数を関連付けて記憶する予測表をさらに記憶し、
パケットに格納されているデータの一部から前記識別子を得て、当該識別子で前記予測表を探索してノード数の前記予測値を得る、請求項7のパケット処理方法。
Further storing a prediction table storing the identifier and the number of nodes in association with each other;
The packet processing method according to claim 7, wherein the identifier is obtained from a part of data stored in a packet, and the prediction table is searched with the identifier to obtain the predicted value of the number of nodes.
前記木の所定の深さのノードとノード数を関連付けて記憶し、
パケットから探索キーを得て、前記木のノードを前記所定の深さまで辿って、到達したノードに関連付けられているノード数を前記予測値として得る、請求項7のパケット処理方法。
Storing a node having a predetermined depth and the number of nodes in association with each other;
The packet processing method according to claim 7, wherein a search key is obtained from a packet, the node of the tree is traced to the predetermined depth, and the number of nodes associated with the reached node is obtained as the predicted value.
コンピュータに、請求項7乃至9の何れか1項のパケット処理方法を実行させるプログラム。   A program for causing a computer to execute the packet processing method according to any one of claims 7 to 9.
JP2014233542A 2014-11-18 2014-11-18 Packet processing device, packet processing method and program Pending JP2016100624A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014233542A JP2016100624A (en) 2014-11-18 2014-11-18 Packet processing device, packet processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014233542A JP2016100624A (en) 2014-11-18 2014-11-18 Packet processing device, packet processing method and program

Publications (1)

Publication Number Publication Date
JP2016100624A true JP2016100624A (en) 2016-05-30

Family

ID=56077551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014233542A Pending JP2016100624A (en) 2014-11-18 2014-11-18 Packet processing device, packet processing method and program

Country Status (1)

Country Link
JP (1) JP2016100624A (en)

Similar Documents

Publication Publication Date Title
KR102164427B1 (en) Determining the order of execution of neural networks
CN108370352B (en) High speed flexible packet classification using network processors
US9619499B2 (en) Hardware implementation of a tournament tree sort algorithm
KR102017526B1 (en) Method and apparatus for searching url address in url list in a communication system
US10164884B2 (en) Search apparatus, search configuration method, and search method
US11182365B2 (en) Systems and methods for distributed storage of data across multiple hash tables
US20110016142A1 (en) Method and apparatus for creating pattern matching state machine and identifying pattern
US9665612B2 (en) Run-time decision of bulk insert for massive data loading
US9210219B2 (en) Systems and methods for consistent hashing using multiple hash rings
US20210109920A1 (en) Method for Validating Transaction in Blockchain Network and Node for Configuring Same Network
CN111324577A (en) Method and device for reading and writing Yml file
CN112052413B (en) URL fuzzy matching method, device and system
WO2015131720A1 (en) Packet processing method and device
CN108270677A (en) A kind of fast route convergence method and device
US20220036206A1 (en) Containerized distributed rules engine
US9396286B2 (en) Lookup with key sequence skip for radix trees
CN111459464B (en) Node fusion method, code generation method and device
JP2016100624A (en) Packet processing device, packet processing method and program
US20150347409A1 (en) Convert Command Into a BULK Load Operation
CN116319628A (en) SDN network data forwarding method and device based on DPDK
CN110968267B (en) Data management method, device, server and system
US9361404B2 (en) Offline radix tree compression with key sequence skip
CN112100446B (en) Search method, readable storage medium, and electronic device
US10476785B2 (en) IP routing search
US10108677B2 (en) Software precedence in ternary content-addressable memory (TCAM)