JP6766567B2 - Information processing equipment, methods and programs - Google Patents

Information processing equipment, methods and programs Download PDF

Info

Publication number
JP6766567B2
JP6766567B2 JP2016195773A JP2016195773A JP6766567B2 JP 6766567 B2 JP6766567 B2 JP 6766567B2 JP 2016195773 A JP2016195773 A JP 2016195773A JP 2016195773 A JP2016195773 A JP 2016195773A JP 6766567 B2 JP6766567 B2 JP 6766567B2
Authority
JP
Japan
Prior art keywords
identifier
storage unit
processing
information
unit
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
JP2016195773A
Other languages
Japanese (ja)
Other versions
JP2018061088A (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.)
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 JP2016195773A priority Critical patent/JP6766567B2/en
Publication of JP2018061088A publication Critical patent/JP2018061088A/en
Application granted granted Critical
Publication of JP6766567B2 publication Critical patent/JP6766567B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信ネットワークを介して送受信される情報を処理する、情報処理装置、方法およびプログラムに関する。 The present invention relates to information processing devices, methods and programs that process information transmitted and received over a communication network.

CPU(Central Processing Unit)とメインメモリとを備える情報処理装置が通信ネットワークのパケットをソフトウェアで処理する場合、ソフトウェアは図21の構成例のように構成されることが多い。この構成では、パケットを処理するソフトウェア(パケット処理ソフトウェア)はマルチスレッドに対応し、各スレッドは異なるCPUコアで実行される。 When an information processing device including a CPU (Central Processing Unit) and a main memory processes packets of a communication network by software, the software is often configured as shown in the configuration example of FIG. In this configuration, the software that processes packets (packet processing software) supports multithreading, and each thread is executed by a different CPU core.

ソフトウェアは、NIC(Network Interface Card)経由でパケットを受信し、まず受信処理スレッドで受信処理を行う。受信処理スレッドは、受信したパケットの一次解析を行い、当該パケットを処理するパケット処理スレッドを決定し、当該スレッドにパケットを引き渡す。このとき、受信処理スレッドは、パケットと当該パケットを処理すべきパケット処理スレッドとを対応付けた処理振分表を参照して、パケットの引き渡し先のパケット処理スレッドを決定する。 The software receives a packet via a NIC (Network Interface Card), and first performs reception processing in a reception processing thread. The reception processing thread performs the primary analysis of the received packet, determines the packet processing thread that processes the packet, and delivers the packet to the thread. At this time, the reception processing thread determines the packet processing thread to which the packet is delivered by referring to the processing distribution table in which the packet and the packet processing thread to process the packet are associated with each other.

パケットを受け取ったパケット処理スレッドは、パケットの処理を行い、送信処理スレッドを選択した上で当該パケットを送信処理スレッドへ引き渡す。送信処理スレッドは当該パケットをNIC経由で送信する。なお、図21のNICやスレッドの数、接続関係は一例である。 The packet processing thread that receives the packet processes the packet, selects the transmission processing thread, and then delivers the packet to the transmission processing thread. The transmission processing thread transmits the packet via the NIC. The number of NICs and threads in FIG. 21 and the connection relationship are examples.

ここで、情報処理装置によるパケット処理の性能を向上する方法として、たとえば、受信処理スレッドの処理をハードウェアで実行させる方法が考えられる。図22に、そのためのソフトウェアおよびハードウェアの構成の一例を示す。 Here, as a method of improving the performance of packet processing by the information processing device, for example, a method of executing the processing of the reception processing thread by hardware can be considered. FIG. 22 shows an example of software and hardware configurations for that purpose.

受信処理HW(Hardware)の受信処理回路は、図21の受信処理スレッドでソフトウェアとして行われていた処理を実装する回路である。受信処理HWはNICと接続されており、受信処理回路はNICからパケットを受信し処理する。処理振分表はメインメモリ上にあり、パケット処理ソフトウェアによって管理される。受信処理回路は、処理振分表を参照して、受信したパケットを処理すべきパケット処理スレッドを決定し、パケット処理スレッドに当該パケットを入力する。 The reception processing circuit of the reception processing HW (Hardware) is a circuit that implements the processing performed as software in the reception processing thread of FIG. The reception processing HW is connected to the NIC, and the reception processing circuit receives and processes packets from the NIC. The processing distribution table is in the main memory and is managed by the packet processing software. The reception processing circuit refers to the processing distribution table, determines the packet processing thread to process the received packet, and inputs the packet to the packet processing thread.

しかし、この構成では、受信処理回路が処理振分表を高頻度に参照することにより、バスの帯域、特に、受信処理HWとメインメモリ間の通信帯域が多く消費されてしまう。たとえば、NICの通信速度が100Gbps、パケットサイズが64バイトであった場合、パケット受信数は約毎秒150Mパケットに及ぶ。(一つのパケットを送信するとき、パケットデータ本体の64バイトに加えて、制御信号等により20バイト程度の通信帯域が消費される。そのため、この場合の1秒あたりのパケット受信数は、100G[bps]/(8[b/B]×84[B/パケット])で計算できる。)そして、一パケットの振り分けに64バイトのデータを参照した場合、その消費帯域は約150Mパケット/s×64B/パケット=約10GB/sにもなる。このように、パケットを受信する毎に処理振分表を参照すると、多くの通信帯域が消費されるため、情報処理装置によるパケット処理の性能劣化や処理速度の低下の要因となりうる。 However, in this configuration, since the reception processing circuit frequently refers to the processing distribution table, a large amount of bus bandwidth, particularly the communication bandwidth between the reception processing HW and the main memory, is consumed. For example, when the communication speed of the NIC is 100 Gbps and the packet size is 64 bytes, the number of packets received reaches about 150 M packets per second. (When transmitting one packet, in addition to 64 bytes of the packet data body, a communication band of about 20 bytes is consumed by a control signal or the like. Therefore, the number of packets received per second in this case is 100 G [ It can be calculated with bps] / (8 [b / B] x 84 [B / packet]).) And when 64 bytes of data are referred to for the distribution of one packet, the consumption band is about 150M packets / s x 64B. / Packet = about 10 GB / s. As described above, when the processing distribution table is referred to every time a packet is received, a large amount of communication band is consumed, which may cause deterioration in the performance of packet processing by the information processing device and a decrease in processing speed.

上記の課題を解決する方法として、受信処理HW内にキャッシュメモリを設け、処理振分表の参照結果をキャッシュし再利用する方法がある。処理振分表の参照結果をキャッシュメモリに格納して再利用すると、パケットを受信する毎に処理振分表を参照する場合に比べて、消費通信帯域を減少させることが可能になる。 As a method of solving the above problem, there is a method of providing a cache memory in the reception processing HW and caching and reusing the reference result of the processing distribution table. By storing the reference result of the processing distribution table in the cache memory and reusing it, it is possible to reduce the communication bandwidth consumed as compared with the case where the processing distribution table is referred to every time a packet is received.

たとえば、特許文献1に記載の方法は、パケットの情報の部分集合をキャッシュメモリに記憶させる。そして、受信したパケットの情報の部分集合とキャッシュメモリに格納された部分集合とを比較し、キャッシュヒットした場合に受信したパケットを第2のパスへ分岐させている。 For example, the method described in Patent Document 1 stores a subset of packet information in a cache memory. Then, the subset of the information of the received packet is compared with the subset stored in the cache memory, and the received packet is branched to the second path when a cache hit occurs.

特開2004−260532号公報Japanese Unexamined Patent Publication No. 2004-260532

しかし、一般に、キャッシュメモリとして利用できるハードウェアリソースの量には限界がある。そのため、受信処理回路が参照する処理振分表の大きさ(ワーキングセットサイズ)がリソース量より大きい(キャッシュメモリ容量より大きい)場合、受信処理HWが頻繁にメインメモリを参照することになる。そして、キャッシュメモリを使用することによる消費通信帯域の削減効果が低下してしまう。 However, in general, there is a limit to the amount of hardware resources that can be used as cache memory. Therefore, when the size (working set size) of the processing distribution table referenced by the reception processing circuit is larger than the resource amount (larger than the cache memory capacity), the reception processing HW frequently refers to the main memory. Then, the effect of reducing the consumption communication band by using the cache memory is reduced.

本発明の目的は、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることを可能にする、情報処理装置、方法およびプログラムを提供することにある。 An object of the present invention is to provide an information processing device, a method, and a program that enable a higher communication bandwidth reduction effect to be obtained with a limited cache memory capacity.

上述の問題を解決するために、本発明の情報処理装置は、入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出する算出部と、前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させる第一の取得部と、前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得する第二の取得部と、前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う処理部とを備えることを特徴とする。 In order to solve the above-mentioned problems, the information processing apparatus of the present invention includes a calculation unit that calculates a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data. When the processing information corresponding to the second identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier is used. When the first acquisition unit that associates the processing information and stores it in the second storage unit and the processing information corresponding to the second identifier are stored in the second storage unit, the said A second acquisition unit that acquires the processing information corresponding to the second identifier from the second storage unit, and a process corresponding to the processing information acquired from the first storage unit or the second storage unit. Is provided with a processing unit for performing the above input data.

また、本発明の情報処理方法は、入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出し、前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させ、前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得し、前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行うことを特徴とする。 Further, the information processing method of the present invention calculates a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data, and processing information corresponding to the second identifier. Is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier and the processing information are associated with the first storage unit. When the processing information corresponding to the second identifier is stored in the second storage unit and stored in the second storage unit, the processing information corresponding to the second identifier is stored in the second storage unit. It is characterized in that processing corresponding to the processing information acquired from the first storage unit or the second storage unit is performed on the input data.

また、本発明の情報処理プログラムは、コンピュータに、入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出する算出機能と、前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させる第一の取得機能と、前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得する第二の取得機能と、前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う処理機能とを実現させることを特徴とする。 Further, the information processing program of the present invention has a calculation function of calculating a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data, and the second identifier. When the processing information corresponding to the identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier and the processing information are combined. When the processing information corresponding to the second identifier and the processing information corresponding to the second identifier are stored in the second storage unit, the second identifier is stored in the second storage unit. The second acquisition function of acquiring the processing information corresponding to the second storage unit and the processing corresponding to the processing information acquired from the first storage unit or the second storage unit are input data. It is characterized by realizing a processing function to be performed on the device.

本発明の情報処理装置、方法およびプログラムにより、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 The information processing apparatus, method and program of the present invention make it possible to obtain a higher effect of reducing the communication bandwidth consumption with a limited cache memory capacity.

本発明の第一の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of 1st Embodiment of this invention. 本発明の第一および第二の実施形態の情報処理装置の動作例を示す図である。It is a figure which shows the operation example of the information processing apparatus of 1st and 2nd Embodiment of this invention. 本発明の第二の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 2nd Embodiment of this invention. 本発明の第二の実施形態の処理振分表の例を示す図である。It is a figure which shows the example of the processing distribution table of the 2nd Embodiment of this invention. 本発明の第二の実施形態の情報処理装置のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the information processing apparatus of the 2nd Embodiment of this invention. 本発明の第二の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 2nd Embodiment of this invention. 本発明の第二の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 2nd Embodiment of this invention. 本発明の第二の実施形態の第二の記憶部の構成例を示す図である。It is a figure which shows the structural example of the 2nd storage part of the 2nd Embodiment of this invention. 本発明の第三の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 3rd Embodiment of this invention. 本発明の第三の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 3rd Embodiment of this invention. 本発明の第三の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 3rd Embodiment of this invention. 本発明の第三の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 3rd Embodiment of this invention. 本発明の第三の実施形態の処理振分表の例を示す図である。It is a figure which shows the example of the processing distribution table of the 3rd Embodiment of this invention. 本発明の第三の実施形態の情報処理装置の動作例を示す図である。It is a figure which shows the operation example of the information processing apparatus of the 3rd Embodiment of this invention. 本発明の第四の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 4th Embodiment of this invention. 本発明の第四の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 4th Embodiment of this invention. 本発明の第四の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 4th Embodiment of this invention. 本発明の第四の実施形態の情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus of the 4th Embodiment of this invention. 本発明の第四の実施形態の情報処理装置の動作例を示す図である。It is a figure which shows the operation example of the information processing apparatus of the 4th Embodiment of this invention. 本発明の各実施形態のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of each embodiment of this invention. 一般的なパケット処理ソフトウェアの構成例を示す図である。It is a figure which shows the configuration example of the general packet processing software. パケット処理のうち受信処理をハードウェアで置き換える場合の構成例を示す図である。It is a figure which shows the configuration example when the reception process is replaced by hardware in the packet process.

[第一の実施形態]
本発明の第一の実施の形態について説明する。
[First Embodiment]
The first embodiment of the present invention will be described.

図1に本実施形態の情報処理装置10の構成例を示す。本実施形態の情報処理装置10は、第一の記憶部11、第二の記憶部12、算出部13、第一の取得部14、第二の取得部15および処理部16により構成される。 FIG. 1 shows a configuration example of the information processing device 10 of the present embodiment. The information processing device 10 of the present embodiment is composed of a first storage unit 11, a second storage unit 12, a calculation unit 13, a first acquisition unit 14, a second acquisition unit 15, and a processing unit 16.

算出部13は、入力データに含まれる第一の識別子に基づいて第一の識別子よりビット数が小さい第二の識別子を算出する部分である。 The calculation unit 13 is a part that calculates a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data.

第一の取得部14は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部11から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる部分である。 When the processing information corresponding to the second identifier is not stored in the second storage unit 12, the first acquisition unit 14 acquires the processing information corresponding to the first identifier from the first storage unit 11. , A portion in which the second identifier and the processing information are associated and stored in the second storage unit 12.

第二の取得部15は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されているとき、第二の識別子に対応する処理情報を第二の記憶部12から取得する部分である。 When the processing information corresponding to the second identifier is stored in the second storage unit 12, the second acquisition unit 15 acquires the processing information corresponding to the second identifier from the second storage unit 12. It is a part.

処理部16は、第一の記憶部11あるいは第二の記憶部12から取得した処理情報に対応する処理を入力データに対して行う部分である。 The processing unit 16 is a unit that performs processing corresponding to the processing information acquired from the first storage unit 11 or the second storage unit 12 on the input data.

このように情報処理装置10を構成することによって、情報処理装置10は、入力データに含まれる第一の識別子に基づいて第一の識別子よりビット数が小さい第二の識別子を算出する。そして、情報処理装置10は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部11から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置10は、第一の識別子よりビット数が小さい第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させるため、より多くの処理情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置10は、より多くの処理情報を第二の記憶部12に記憶させることができるため、第一の記憶部11から処理情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By configuring the information processing device 10 in this way, the information processing device 10 calculates a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 10 acquires the processing information corresponding to the first identifier from the first storage unit 11. , The second identifier and the processing information are associated with each other and stored in the second storage unit 12. As a result, the information processing apparatus 10 associates the second identifier, which has a smaller number of bits than the first identifier, with the processing information, and stores the processing information in the second storage unit 12, so that more processing information can be stored in the second storage unit 12. It becomes possible to store in the storage unit 12. Then, since the information processing device 10 can store more processing information in the second storage unit 12, it is possible to reduce the frequency of acquiring the processing information from the first storage unit 11. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

次に、図2に本実施形態の情報処理装置10の動作の例を示す。 Next, FIG. 2 shows an example of the operation of the information processing device 10 of the present embodiment.

まず、算出部13は、入力データに含まれる第一の識別子に基づいて第一の識別子よりビット数が小さい第二の識別子を算出する(ステップS101)。 First, the calculation unit 13 calculates a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data (step S101).

次に、第一の取得部14は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき(ステップS102でNO)、第一の識別子に対応する処理情報を第一の記憶部11から取得する(ステップS103)。また、第一の取得部14は、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる(ステップS104)。 Next, when the processing information corresponding to the second identifier is not stored in the second storage unit 12 (NO in step S102), the first acquisition unit 14 stores the processing information corresponding to the first identifier. Obtained from the first storage unit 11 (step S103). Further, the first acquisition unit 14 stores the second identifier and the processing information in the second storage unit 12 in association with each other (step S104).

また、第二の取得部15は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されているとき(ステップS102でYES)、第二の識別子に対応する処理情報を第二の記憶部12から取得する(ステップS105)。 Further, when the processing information corresponding to the second identifier is stored in the second storage unit 12 (YES in step S102), the second acquisition unit 15 stores the processing information corresponding to the second identifier. Obtained from the second storage unit 12 (step S105).

そして、処理部16は、第一の記憶部11あるいは第二の記憶部12から取得した処理情報に対応する処理を入力データに対して行う(ステップS106)。 Then, the processing unit 16 performs processing corresponding to the processing information acquired from the first storage unit 11 or the second storage unit 12 on the input data (step S106).

このように動作することによって、情報処理装置10は、入力データに含まれる第一の識別子に基づいて第一の識別子よりビット数が小さい第二の識別子を算出する。そして、情報処理装置10は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部11から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置10は、第一の識別子よりビット数が小さい第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させるため、より多くの処理情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置10は、より多くの処理情報を第二の記憶部12に記憶させることができるため、第一の記憶部11から処理情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By operating in this way, the information processing apparatus 10 calculates a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 10 acquires the processing information corresponding to the first identifier from the first storage unit 11. , The second identifier and the processing information are associated with each other and stored in the second storage unit 12. As a result, the information processing apparatus 10 associates the second identifier, which has a smaller number of bits than the first identifier, with the processing information, and stores the processing information in the second storage unit 12, so that more processing information can be stored in the second storage unit 12. It becomes possible to store in the storage unit 12. Then, since the information processing device 10 can store more processing information in the second storage unit 12, it is possible to reduce the frequency of acquiring the processing information from the first storage unit 11. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

以上で説明したように、本発明の第一の実施形態では、情報処理装置10は、入力データに含まれる第一の識別子に基づいて第一の識別子よりビット数が小さい第二の識別子を算出する。そして、情報処理装置10は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部11から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 As described above, in the first embodiment of the present invention, the information processing apparatus 10 calculates a second identifier having a smaller number of bits than the first identifier based on the first identifier included in the input data. To do. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 10 acquires the processing information corresponding to the first identifier from the first storage unit 11. , The second identifier and the processing information are associated with each other and stored in the second storage unit 12. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

[第二の実施形態]
次に、本発明の第二の実施の形態について説明する。本実施形態では、第一の実施形態の情報処理装置について、より具体的に説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described. In the present embodiment, the information processing apparatus of the first embodiment will be described more specifically.

まず、図3に本実施形態の情報処理装置100の構成例を示す。本実施形態の情報処理装置100は、通信IF(Interface)部101、パケット受信処理部102、パケット処理部103、パケット送信処理部104および第一の記憶部11により構成される。パケット受信処理部102は、図1の第二の記憶部12、算出部13、第一の取得部14、第二の取得部15および処理部16に相当する。また、図3の第一の記憶部11は図1の第一の記憶部11に相当する。なお、図3に示す構成要素の数や接続関係は一例である。また、本実施形態の説明において、情報処理装置100は複数のパケット処理部103を備えるものとする。 First, FIG. 3 shows a configuration example of the information processing device 100 of the present embodiment. The information processing device 100 of the present embodiment is composed of a communication IF (Interface) unit 101, a packet reception processing unit 102, a packet processing unit 103, a packet transmission processing unit 104, and a first storage unit 11. The packet reception processing unit 102 corresponds to the second storage unit 12, the calculation unit 13, the first acquisition unit 14, the second acquisition unit 15, and the processing unit 16 in FIG. Further, the first storage unit 11 in FIG. 3 corresponds to the first storage unit 11 in FIG. The number of components and the connection relationship shown in FIG. 3 are examples. Further, in the description of this embodiment, it is assumed that the information processing device 100 includes a plurality of packet processing units 103.

情報処理装置100は、通信IF部101を介して通信ネットワークと接続し、他の情報処理装置や情報処理システムと通信を行う装置である。 The information processing device 100 is a device that connects to a communication network via the communication IF unit 101 and communicates with other information processing devices and information processing systems.

通信IF部101は、通信ネットワークと接続し通信を行うための通信インタフェースである。 The communication IF unit 101 is a communication interface for connecting to a communication network and performing communication.

パケット処理部103は、パケット受信処理部102からパケットを受け取り、受け取ったパケットに対する処理を行う部分である。また、パケット処理部103は、処理済みのパケットを送信するようパケット送信処理部104に要求する。パケット処理部103がパケットに対して行う処理は、たとえば、ルーティング、フィルタリング、DPI(Deep Packet Inspection)、暗号化・復号、カプセル化・デカプセル化、のいずれか一つ以上の処理である。ただし、本実施形態では、パケット処理部103がパケットに対して行う処理は、これらの処理に限定されない。 The packet processing unit 103 is a unit that receives a packet from the packet reception processing unit 102 and processes the received packet. Further, the packet processing unit 103 requests the packet transmission processing unit 104 to transmit the processed packet. The process performed by the packet processing unit 103 on the packet is, for example, one or more of routing, filtering, DPI (Deep Packet Inspection), encryption / decryption, and encapsulation / decapsulation. However, in the present embodiment, the processing performed by the packet processing unit 103 on the packet is not limited to these processing.

パケット送信処理部104は、パケット処理部103から受け取ったパケットを通信IF部101経由で通信ネットワークへ送信する部分である。パケット送信処理部104は、パケットの送信に際し、たとえば、QoS(Quality of Service)制御を行ってもよい。 The packet transmission processing unit 104 is a unit that transmits the packet received from the packet processing unit 103 to the communication network via the communication IF unit 101. The packet transmission processing unit 104 may perform QoS (Quality of Service) control, for example, when transmitting a packet.

パケット受信処理部102は、通信IF部101からパケットを受信し、第一の記憶部11の処理振分表を参照して当該パケットを処理すべきパケット処理部103を特定し、当該パケットを特定したパケット処理部103に渡す部分である。 The packet reception processing unit 102 receives a packet from the communication IF unit 101, refers to the processing distribution table of the first storage unit 11, specifies the packet processing unit 103 to process the packet, and identifies the packet. This is a part to be passed to the packet processing unit 103.

第一の記憶部11は、パケット受信処理部102が受信したパケットと当該パケットを処理すべきパケット処理部103とを対応付けた処理振分表を記憶する部分である。第一の記憶部11は、たとえば、プロトコル毎に処理振分表を記憶する。 The first storage unit 11 is a unit that stores a processing distribution table in which a packet received by the packet reception processing unit 102 and a packet processing unit 103 to process the packet are associated with each other. The first storage unit 11 stores, for example, a processing distribution table for each protocol.

図4に処理振分表の例を示す。図4の(a)は、IEEE(Institute of Electrical and Electronic Engineers)802.1ad(QinQ)プロトコル用の処理振分表の例である。また、図4の(b)は、IPv(Internet Protocol version)6 GRE(Generic Routing Encapsulation)プロトコル用の処理振分表の例である。 FIG. 4 shows an example of a processing distribution table. FIG. 4A is an example of a processing distribution table for the IEEE (Institute of Electrical and Electronics Engineers) 802.1ad (QinQ) protocol. Further, FIG. 4B is an example of a processing distribution table for the IPv (Internet Protocol version) 6 GRE (Generic Routing Encapsulation) protocol.

IEEE802.1adプロトコルの場合、パケット受信処理部102は処理振分表を参照して、パケットヘッダ中のOuter VLAN(Virtual LAN) ID(Identification)およびInner VLAN IDに対応するパケット処理部103の情報を取得する。この参照の基となる情報(IEEE802.1adプロトコルの場合、Outer VLAN IDおよびInner VLAN ID)をキーと呼ぶこととする。このキーが、第一の実施形態の第一の識別子に相当する。また、このキーに対応するパケット処理部103の情報が、第一の実施形態の処理情報に相当する。 In the case of the IEEE802.ad protocol, the packet reception processing unit 102 refers to the processing distribution table and obtains the information of the packet processing unit 103 corresponding to the Outer VLAN (Virtual LAN) ID (Identification) and the Inner VLAN ID in the packet header. get. The information on which this reference is based (in the case of the IEEE802.1ad protocol, the Outer VLAN ID and the Inner VLAN ID) is referred to as a key. This key corresponds to the first identifier of the first embodiment. Further, the information of the packet processing unit 103 corresponding to this key corresponds to the processing information of the first embodiment.

たとえば、図4の(a)は、Outer VLAN IDが11であり、Inner VLAN IDが201であるパケットをパケット受信処理部102が受信した場合、当該パケットはパケット処理部103−2に振り分けられるべきであることを示している。また、IPv6 GREプロトコルの場合、送信元IPv6アドレス、送信先IPv6アドレス、およびGREキーがキーとして用いられる。 For example, in FIG. 4A, when the packet reception processing unit 102 receives a packet having an Outer VLAN ID of 11 and an Inner VLAN ID of 201, the packet should be distributed to the packet processing unit 103-2. It shows that. In the case of the IPv6 GRE protocol, the source IPv6 address, the destination IPv6 address, and the GRE key are used as keys.

このように、第一の記憶部11は、キー(第一の識別子)毎に、当該キーに対応するパケットの振分先のパケット処理部103の識別子(処理情報)を記憶する。 In this way, the first storage unit 11 stores the identifier (processing information) of the packet processing unit 103 of the packet processing unit 103 to which the packet corresponding to the key is distributed for each key (first identifier).

ハッシュ値は、キーに対してハッシュ関数を適用して得られる値である。また、タグ値は、パケット受信処理部102で用いられるタグの値で、ハッシュ値あるいはハッシュ値に所定の演算を施した値である。本実施形態では、タグ値としてハッシュ値の下位16ビットを用いるものとする。このタグ値が第一の実施形態の第二の識別子に相当する。なお、ハッシュ値およびタグ値はキーから計算できるものであるため、第一の記憶部11に記憶させておいても良いし、必要となった場合にパケット受信処理部102等で計算しても良い。 The hash value is a value obtained by applying a hash function to the key. The tag value is a tag value used by the packet reception processing unit 102, and is a hash value or a value obtained by performing a predetermined operation on the hash value. In this embodiment, the lower 16 bits of the hash value are used as the tag value. This tag value corresponds to the second identifier of the first embodiment. Since the hash value and the tag value can be calculated from the key, they may be stored in the first storage unit 11, or may be calculated by the packet reception processing unit 102 or the like when necessary. good.

次に、図5に情報処理装置100のハードウェア構成の例を示す。この例では、情報処理装置100は、CPU1001、メモリ1002、受信処理HW1003、および、通信インタフェース1004を含む。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置等によって構成される。受信処理HW1003は、たとえば、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)である。通信インタフェース1004は、通信ネットワークに接続するためのインタフェースである。 Next, FIG. 5 shows an example of the hardware configuration of the information processing apparatus 100. In this example, the information processing apparatus 100 includes a CPU 1001, a memory 1002, a reception processing HW1003, and a communication interface 1004. The memory 1002 is composed of a RAM (Random Access Memory), a ROM (Read Only Memory), an auxiliary storage device, and the like. The reception processing HW1003 is, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The communication interface 1004 is an interface for connecting to a communication network.

この例の場合、パケット処理部103およびパケット送信処理部104は、メモリ1002に格納されるコンピュータ・プログラムを読み込んで実行するCPU1001によって構成される。処理振分表はメモリ1002に格納されている。パケット受信処理部102は、受信処理HW1003によって構成される。また、通信IF部101は、通信インタフェース1004によって構成される。なお、情報処理装置100を構成する各部は図5と異なるハードウェア要素によって構成されてもよい。 In the case of this example, the packet processing unit 103 and the packet transmission processing unit 104 are configured by the CPU 1001 that reads and executes the computer program stored in the memory 1002. The processing distribution table is stored in the memory 1002. The packet reception processing unit 102 is configured by the reception processing HW1003. Further, the communication IF unit 101 is composed of the communication interface 1004. Each part constituting the information processing apparatus 100 may be composed of hardware elements different from those in FIG.

次に、図6に本実施形態のパケット受信処理部102の構成例を示す。パケット受信処理部102は、キー抽出部105、ハッシュ値計算部106、パケット振分部107、キャッシュメモリ制御部108、処理振分表検索部109およびメモリアクセス部110によって構成される。キー抽出部105およびハッシュ値計算部106が図1の算出部13に、キャッシュメモリ制御部108が図1の第二の取得部15に、処理振分表検索部109が図1の第一の取得部14に相当する。 Next, FIG. 6 shows a configuration example of the packet reception processing unit 102 of the present embodiment. The packet reception processing unit 102 is composed of a key extraction unit 105, a hash value calculation unit 106, a packet distribution unit 107, a cache memory control unit 108, a processing distribution table search unit 109, and a memory access unit 110. The key extraction unit 105 and the hash value calculation unit 106 are in the calculation unit 13 of FIG. 1, the cache memory control unit 108 is in the second acquisition unit 15 of FIG. 1, and the processing distribution table search unit 109 is in the first of FIG. Corresponds to the acquisition unit 14.

キー抽出部105は、受信したパケットのパケットヘッダを参照し、当該パケットのプロトコルを判定し、当該プロトコル用のキー(第一の識別子)をパケットヘッダから抽出する部分である。 The key extraction unit 105 is a part that refers to the packet header of the received packet, determines the protocol of the packet, and extracts the key (first identifier) for the protocol from the packet header.

ハッシュ値計算部106は、キー抽出部105で抽出したキーに基づいてハッシュ値を計算する部分である。本実施形態では、ハッシュ値計算部106は、たとえば、キー抽出部105で判定されたプロトコルの識別子と、抽出されたキーとをハッシュ関数に入力することでハッシュ値を計算する。また、ハッシュ値計算部106がハッシュ値に基づいてタグ値を計算し、このタグ値をパケット受信処理部102内の各部が使用しても良い。ハッシュ値計算部106がタグ値を算出しない場合は、キャッシュメモリ制御部108が図1の算出部13の第二の識別子(タグ値)を算出する機能を実施する。 The hash value calculation unit 106 is a part that calculates a hash value based on the key extracted by the key extraction unit 105. In the present embodiment, the hash value calculation unit 106 calculates the hash value by inputting, for example, the protocol identifier determined by the key extraction unit 105 and the extracted key into the hash function. Further, the hash value calculation unit 106 may calculate the tag value based on the hash value, and each unit in the packet reception processing unit 102 may use this tag value. When the hash value calculation unit 106 does not calculate the tag value, the cache memory control unit 108 performs a function of calculating the second identifier (tag value) of the calculation unit 13 of FIG.

パケット振分部107は、受信したパケットをキーに対応するパケット処理部103へ振り分ける部分である。本実施形態では、パケット振分部107は、受信したパケットのプロトコル識別子、キーおよびハッシュ値(およびタグ値)の情報を基に、キャッシュメモリ制御部108に当該パケットを処理すべきパケット処理部103を問い合わせる。そして、パケット振分部107は、得られたパケット処理部103へ当該パケットを入力する。このとき、パケット振分部107は、たとえば、メモリアクセス部110に、メモリ1002上に用意された、振分先のパケット処理部103用のパケット受信用メモリ領域に当該パケットをコピーさせる。 The packet distribution unit 107 is a unit that distributes received packets to the packet processing unit 103 corresponding to the key. In the present embodiment, the packet distribution unit 107 should process the packet to the cache memory control unit 108 based on the information of the protocol identifier, the key, and the hash value (and tag value) of the received packet. Inquire. Then, the packet distribution unit 107 inputs the packet to the obtained packet processing unit 103. At this time, the packet distribution unit 107 causes the memory access unit 110, for example, to copy the packet to the packet reception memory area for the packet processing unit 103 of the distribution destination prepared on the memory 1002.

キャッシュメモリ制御部108は、パケット振分部107からの問い合わせを受けて、当該パケットを処理すべきパケット処理部103の情報をパケット振分部107へ返す部分である。本実施形態では、キャッシュメモリ制御部108は、パケット振分部107から受け取ったプロトコル識別子、キーおよびハッシュ値(およびタグ値)の情報に基づいて、キャッシュメモリ(第二の記憶部12)を参照して当該パケットを処理すべきパケット処理部103を決定する。そして、決定したパケット処理部103の情報(処理情報)をパケット振分部107へ返す。キャッシュメモリ制御部108は、キャッシュメモリの情報からその決定が行えない場合、処理振分表検索部109に第一の記憶部11の処理振分表の検索を依頼する。キャッシュメモリ制御部108は、その検索結果を自身が持つキャッシュメモリ(第二の記憶部12)に記憶させる。 The cache memory control unit 108 is a unit that receives an inquiry from the packet distribution unit 107 and returns the information of the packet processing unit 103 that should process the packet to the packet distribution unit 107. In the present embodiment, the cache memory control unit 108 refers to the cache memory (second storage unit 12) based on the protocol identifier, key, and hash value (and tag value) information received from the packet distribution unit 107. The packet processing unit 103 to process the packet is determined. Then, the determined information (processing information) of the packet processing unit 103 is returned to the packet distribution unit 107. When the cache memory control unit 108 cannot make the determination from the cache memory information, the cache memory control unit 108 requests the processing distribution table search unit 109 to search the processing distribution table of the first storage unit 11. The cache memory control unit 108 stores the search result in its own cache memory (second storage unit 12).

処理振分表検索部109は、キャッシュメモリ制御部108から受信したプロトコル識別子およびキーの情報を基に、第一の記憶部11の処理振分表を検索し、得られた結果をキャッシュメモリ制御部108に返す部分である。処理振分表検索部109が返す検索結果には、振分先の情報(パケット処理部103の識別子)(処理情報)が含まれる。 The processing distribution table search unit 109 searches the processing distribution table of the first storage unit 11 based on the protocol identifier and key information received from the cache memory control unit 108, and controls the obtained result in the cache memory. This is the part to be returned to the part 108. The search result returned by the processing distribution table search unit 109 includes information on the distribution destination (identifier of the packet processing unit 103) (processing information).

メモリアクセス部110は、第一の記憶部11に対するリードおよびライト要求を受け付け、要求に基づいてメモリアクセスを行い、結果を要求元へ渡す部分である。 The memory access unit 110 is a portion that receives read and write requests for the first storage unit 11, performs memory access based on the request, and passes the result to the request source.

次に、図7に、本実施形態のキャッシュメモリ制御部108の構成例を示す。キャッシュメモリ制御部108は、キャッシュヒット判定部111およびキャッシュ更新部112により構成される。 Next, FIG. 7 shows a configuration example of the cache memory control unit 108 of the present embodiment. The cache memory control unit 108 includes a cache hit determination unit 111 and a cache update unit 112.

第二の記憶部12(キャッシュメモリ)は、タグ値(第二の識別子)に対応する振分先の情報(パケット処理部103の識別子)(処理情報)を記憶する部分である。 The second storage unit 12 (cache memory) is a portion that stores information (identifier of the packet processing unit 103) (processing information) of the distribution destination corresponding to the tag value (second identifier).

図8に、第二の記憶部12が用いるデータ構造の一例を示す。なお、本実施形態では、第二の記憶部12は、データ格納に4−wayセットアソシエイティブ方式、ライン入れ替えにLRU(Least Recently Used)方式を用い、ライン数はNであるとする。この場合、ライン数がN、way数が4であることから、第二の記憶部12は最大で4Nのエントリを記憶することができる。 FIG. 8 shows an example of the data structure used by the second storage unit 12. In the present embodiment, the second storage unit 12 uses a 4-way set associative method for data storage, an LRU (Least Recently Used) method for line replacement, and the number of lines is N. In this case, since the number of lines is N and the number of ways is 4, the second storage unit 12 can store entries of 4N at the maximum.

第二の記憶部12の各エントリは、たとえば、フラグ、タグ、およびデータから構成される。フラグは、当該エントリが使用中か否かや、LRU処理に関する情報を含む。タグは、一般的なキャッシュメモリでは、メインメモリのアドレスとキャッシュメモリのエントリとの対応付けを行うための情報である。一般的なキャッシュメモリでは、タグは、データのメインメモリ上のアドレスの上位ビット列(例:フレームアドレス)を記憶する。これに対し、本実施形態の第二の記憶部12のタグは、タグ値を記憶する。本実施形態では、タグ値は、当該エントリに対応するハッシュ値あるいはハッシュ値に所定の演算を施した値、たとえば、ハッシュ値の下位16ビットである。このタグ値が第一の実施形態の第二の識別子に相当する。 Each entry in the second storage unit 12 consists of, for example, flags, tags, and data. The flag contains information about whether the entry is in use and LRU processing. A tag is information for associating an address of a main memory with an entry of a cache memory in a general cache memory. In a general cache memory, a tag stores a high-order bit string (eg, frame address) of an address on the main memory of data. On the other hand, the tag of the second storage unit 12 of the present embodiment stores the tag value. In the present embodiment, the tag value is a hash value corresponding to the entry or a value obtained by performing a predetermined operation on the hash value, for example, the lower 16 bits of the hash value. This tag value corresponds to the second identifier of the first embodiment.

また、一般的なキャッシュメモリでは、データは、当該エントリが対応するメインメモリのアドレスに記憶されているデータを記憶する。これに対し、本実施形態の第二の記憶部12のデータは、当該エントリが対応する第一の記憶部11のエントリの振分先の情報(パケット処理部103の識別子)(処理情報)を記憶する。さらに、データは、当該エントリが対応する第一の記憶部11のエントリのハッシュ値を記憶しても良い。 Further, in a general cache memory, the data stores the data stored in the address of the main memory corresponding to the entry. On the other hand, the data of the second storage unit 12 of the present embodiment contains information (identifier of the packet processing unit 103) (processing information) of the distribution destination of the entry of the first storage unit 11 to which the entry corresponds. Remember. Further, the data may store the hash value of the entry of the first storage unit 11 to which the entry corresponds.

このように、本実施形態の第二の記憶部12は、タグ値(第二の識別子)と振分先の情報(処理情報)とを対応付けて記憶する。タグ値のビット数は、キー(第一の識別子)のビット数より小さい。本実施形態の場合、タグ値にハッシュ値の下位16ビットを使用するため、タグ値のビット数はキーのビット数より小さくなる。ハッシュ値のビット数がキーのビット数より小さければ、タグ値にハッシュ値を使用しても良い。このように、本実施形態では、一つのエントリに対する第二の記憶部12の所要容量が小さくなるため、第二の記憶部12は、より多くのエントリを記憶できるようになる。 In this way, the second storage unit 12 of the present embodiment stores the tag value (second identifier) and the distribution destination information (processing information) in association with each other. The number of bits of the tag value is smaller than the number of bits of the key (first identifier). In the case of this embodiment, since the lower 16 bits of the hash value are used for the tag value, the number of bits of the tag value is smaller than the number of bits of the key. If the number of bits of the hash value is smaller than the number of bits of the key, the hash value may be used for the tag value. As described above, in the present embodiment, the required capacity of the second storage unit 12 for one entry is reduced, so that the second storage unit 12 can store more entries.

キャッシュヒット判定部111は、プロトコル識別子、キーおよびハッシュ値(およびタグ値)の情報をパケット振分部107から受け取り、タグ値に対応する振分先情報が第二の記憶部12内にあるか否か(キャッシュヒットするか否か)を判定する部分である。プロトコル識別子、キーおよびハッシュ値の情報は、処理対象のパケットに関してキャッシュメモリ制御部108が処理している間、キャッシュメモリ制御部108内に一時記憶され、キャッシュメモリ制御部108を構成する各部から参照できるものとする。 The cache hit determination unit 111 receives the information of the protocol identifier, the key and the hash value (and the tag value) from the packet distribution unit 107, and whether the distribution destination information corresponding to the tag value is in the second storage unit 12. This is the part that determines whether or not (whether or not there is a cache hit). Information on the protocol identifier, key, and hash value is temporarily stored in the cache memory control unit 108 while the cache memory control unit 108 is processing the packet to be processed, and is referred to by each unit constituting the cache memory control unit 108. It should be possible.

キャッシュヒット判定部111は、ハッシュ値をライン数Nで割った余りを計算し、それをラインインデックスとして用いる。また、キャッシュヒット判定部111は、ハッシュ値からタグ値を計算する。(あるいは、ハッシュ値計算部106が算出したタグ値を使用する。)そして、キャッシュヒット判定部111は、ラインインデックスが示す第二の記憶部12内のラインに当該タグ値を持つエントリがあるかどうか確認し、あればキャッシュヒットしたものとし、なければキャッシュヒットしなかったものとする。 The cache hit determination unit 111 calculates a remainder obtained by dividing the hash value by the number of lines N, and uses it as a line index. Further, the cache hit determination unit 111 calculates the tag value from the hash value. (Alternatively, the tag value calculated by the hash value calculation unit 106 is used.) Then, the cache hit determination unit 111 has an entry having the tag value in the line in the second storage unit 12 indicated by the line index. Please check, and if there is a cache hit, it is assumed that there is no cache hit.

キャッシュヒット判定部111は、キャッシュヒットした場合、当該タグ値に対応する振分先の情報(処理情報)を第二の記憶部12から取得してパケット振分部107へ返す。また、キャッシュヒットした場合、キャッシュヒット判定部111は、第二の記憶部12の当該ラインのLRU情報を更新してもよい。 When a cache hit occurs, the cache hit determination unit 111 acquires the distribution destination information (processing information) corresponding to the tag value from the second storage unit 12 and returns it to the packet distribution unit 107. Further, when a cache hit occurs, the cache hit determination unit 111 may update the LRU information of the line in the second storage unit 12.

キャッシュヒット判定部111は、キャッシュヒットしなかった場合、プロトコル識別子およびキーの情報を入力として、処理振分表検索部109に処理振分表の検索を依頼する。そして、検索を依頼された処理振分表検索部109は、プロトコル識別子およびキーに対応する振分先の情報を第一の記憶部11から取得し、パケット振分部107へ渡す。 If no cache hit occurs, the cache hit determination unit 111 requests the processing distribution table search unit 109 to search the processing distribution table by inputting the protocol identifier and key information. Then, the processing distribution table search unit 109 requested to search acquires the information of the distribution destination corresponding to the protocol identifier and the key from the first storage unit 11 and passes it to the packet distribution unit 107.

キャッシュ更新部112は、第二の記憶部12に対しエントリの追加や削除を行う部分である。本実施形態では、キャッシュ更新部112は、処理振分表検索部109から受け取った振分先の情報を第二の記憶部12に記憶させる。 The cache update unit 112 is a unit for adding or deleting entries to the second storage unit 12. In the present embodiment, the cache update unit 112 stores the distribution destination information received from the processing distribution table search unit 109 in the second storage unit 12.

第二の記憶部12に振分先の情報を追加する際、まず、キャッシュ更新部112は、ハッシュ値と振分先の情報を受け取る。次に、キャッシュ更新部112は、ハッシュ値をライン数Nで割った余りを計算することで、ラインインデックスを計算する。また、キャッシュ更新部112は、タグ値を計算する。タグ値は、たとえば、ハッシュ値の下位16ビットである。そして、ラインインデックスが示す第二の記憶部12のラインに空きエントリがある場合、キャッシュ更新部112は当該空きエントリにタグ値および振分先の情報を記憶させる。当該ラインに空きエントリがない場合、キャッシュ更新部112は、たとえばLRU方式で新たなデータで置き換えるエントリを一つ選択し、当該エントリにタグ値および振分先の情報を記憶させる。 When adding the distribution destination information to the second storage unit 12, the cache update unit 112 first receives the hash value and the distribution destination information. Next, the cache update unit 112 calculates the line index by calculating the remainder obtained by dividing the hash value by the number of lines N. Further, the cache update unit 112 calculates the tag value. The tag value is, for example, the lower 16 bits of the hash value. Then, when there is a free entry in the line of the second storage unit 12 indicated by the line index, the cache update unit 112 stores the tag value and the distribution destination information in the free entry. When there is no free entry in the line, the cache update unit 112 selects one entry to be replaced with new data by, for example, the LRU method, and stores the tag value and the distribution destination information in the entry.

このように情報処理装置100を構成することによって、情報処理装置100は、入力データに含まれるキーに基づいてキーよりビット数が小さいタグ値を算出する。そして、情報処理装置100は、タグ値に対応する振分先の情報が第二の記憶部12に記憶されていないとき、キーに対応する振分先の情報を第一の記憶部11から取得し、タグ値と振分先の情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置100は、キーよりビット数が小さいタグ値と振分先の情報とを対応付けて第二の記憶部12に記憶させるため、より多くの振分先の情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置100は、より多くの振分先の情報を第二の記憶部12に記憶させることができるため、第一の記憶部11から振分先の情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By configuring the information processing device 100 in this way, the information processing device 100 calculates a tag value having a smaller number of bits than the key based on the key included in the input data. Then, when the distribution destination information corresponding to the tag value is not stored in the second storage unit 12, the information processing device 100 acquires the distribution destination information corresponding to the key from the first storage unit 11. Then, the tag value and the distribution destination information are associated with each other and stored in the second storage unit 12. As a result, the information processing device 100 associates the tag value having a smaller number of bits than the key with the information of the distribution destination and stores the information of the distribution destination in the second storage unit 12, so that more information of the distribution destination is stored in the second storage unit 12. It becomes possible to store the information in the storage unit 12. Then, since the information processing device 100 can store more distribution destination information in the second storage unit 12, the frequency of acquiring the distribution destination information from the first storage unit 11 is reduced. Will be possible. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

次に、図2を用いて本実施形態の情報処理装置100のパケット受信処理部102およびパケット処理部103の動作例について説明する。なお、本動作例は、タグ値をキャッシュメモリ制御部108が計算する場合の例である。キャッシュメモリ制御部108の代わりにハッシュ値計算部106がタグ値を計算しても良い。その場合は、キャッシュメモリ制御部108は、ハッシュ値計算部106が計算したタグ値を使用する。 Next, an operation example of the packet reception processing unit 102 and the packet processing unit 103 of the information processing apparatus 100 of the present embodiment will be described with reference to FIG. Note that this operation example is an example when the cache memory control unit 108 calculates the tag value. The hash value calculation unit 106 may calculate the tag value instead of the cache memory control unit 108. In that case, the cache memory control unit 108 uses the tag value calculated by the hash value calculation unit 106.

まず、パケット受信処理部102のキー抽出部105は、通信IF部101からパケットを受信すると、受信したパケットのパケットヘッダを参照して当該パケットのプロトコルを判定し、当該プロトコル用のキー(第一の識別子)をパケットヘッダから抽出する。 First, when the key extraction unit 105 of the packet reception processing unit 102 receives a packet from the communication IF unit 101, it determines the protocol of the packet by referring to the packet header of the received packet, and the key for the protocol (first). (Identifier) is extracted from the packet header.

次に、パケット受信処理部102のハッシュ値計算部106は、パケット受信処理部102が判定したプロトコルの識別子と抽出したキーとをハッシュ関数に入力して得られるハッシュ値を計算する。 Next, the hash value calculation unit 106 of the packet reception processing unit 102 calculates the hash value obtained by inputting the protocol identifier determined by the packet reception processing unit 102 and the extracted key into the hash function.

次に、パケット受信処理部102のキャッシュメモリ制御部108のキャッシュヒット判定部111は、ハッシュ値に基づいてタグ値(第二の識別子)を算出する(ステップS101)。そして、キャッシュヒット判定部111は、算出したタグ値に対応するデータが第二の記憶部12にあるか否か(キャッシュヒットするか否か)の判定を実施する。そして、キャッシュヒットすると判定した場合(ステップS102でYES)、キャッシュヒット判定部111はタグ値に対応する振分先の情報(処理情報)を第二の記憶部12から取得する(ステップS105)。 Next, the cache hit determination unit 111 of the cache memory control unit 108 of the packet reception processing unit 102 calculates the tag value (second identifier) based on the hash value (step S101). Then, the cache hit determination unit 111 determines whether or not the data corresponding to the calculated tag value is in the second storage unit 12 (whether or not the cache hit is performed). Then, when it is determined that the cache hit is determined (YES in step S102), the cache hit determination unit 111 acquires the distribution destination information (processing information) corresponding to the tag value from the second storage unit 12 (step S105).

キャッシュヒット判定部111がキャッシュヒットしないと判定した場合(ステップS102でNO)、パケット受信処理部102の処理振分表検索部109は、プロトコル識別子およびキーの情報を基に、第一の記憶部11を検索して対応するエントリを参照する。そして、処理振分表検索部109は、第一の記憶部11から振分先の情報を取得する(ステップS103)。なお、処理振分表検索部109は、第一の記憶部11が記憶している処理振分表を参照する際、メモリアクセス部110を使用する。 When the cache hit determination unit 111 determines that no cache hit occurs (NO in step S102), the processing distribution table search unit 109 of the packet reception processing unit 102 uses the protocol identifier and the key information as the first storage unit. Search 11 to see the corresponding entry. Then, the processing distribution table search unit 109 acquires the information of the distribution destination from the first storage unit 11 (step S103). The processing distribution table search unit 109 uses the memory access unit 110 when referring to the processing distribution table stored in the first storage unit 11.

また、キャッシュメモリ制御部108のキャッシュ更新部112は、ハッシュ値から算出したタグ値および振分先の情報に対するキャッシュのエントリを第二の記憶部12に記憶させる(ステップS104)。 Further, the cache update unit 112 of the cache memory control unit 108 stores the cache entry for the tag value calculated from the hash value and the distribution destination information in the second storage unit 12 (step S104).

そして、パケット受信処理部102のパケット振分部107は、ステップS103あるいはステップS105で得られた振分先の情報が示すパケット処理部103へ受信したパケットを入力する。そして、パケット処理部103は入力されたパケットに対する処理を行う(ステップS106)。 Then, the packet distribution unit 107 of the packet reception processing unit 102 inputs the received packet to the packet processing unit 103 indicated by the distribution destination information obtained in step S103 or step S105. Then, the packet processing unit 103 performs processing on the input packet (step S106).

このように動作することによって、情報処理装置100は、入力データに含まれるキーに基づいてキーよりビット数が小さいタグ値を算出する。そして、情報処理装置100は、タグ値に対応する振分先の情報が第二の記憶部12に記憶されていないとき、キーに対応する振分先の情報を第一の記憶部11から取得し、タグ値と振分先の情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置100は、キーよりビット数が小さいタグ値と振分先の情報とを対応付けて第二の記憶部12に記憶させるため、より多くの振分先の情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置100は、より多くの振分先の情報を第二の記憶部12に記憶させることができるため、第一の記憶部11から振分先の情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By operating in this way, the information processing apparatus 100 calculates a tag value having a smaller number of bits than the key based on the key included in the input data. Then, when the distribution destination information corresponding to the tag value is not stored in the second storage unit 12, the information processing device 100 acquires the distribution destination information corresponding to the key from the first storage unit 11. Then, the tag value and the distribution destination information are associated with each other and stored in the second storage unit 12. As a result, the information processing device 100 associates the tag value having a smaller number of bits than the key with the information of the distribution destination and stores the information of the distribution destination in the second storage unit 12, so that more information of the distribution destination is stored in the second storage unit 12. It becomes possible to store the information in the storage unit 12. Then, since the information processing device 100 can store more distribution destination information in the second storage unit 12, the frequency of acquiring the distribution destination information from the first storage unit 11 is reduced. Will be possible. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

以上で説明したように、本発明の第二の実施形態では、第一の実施形態と同様に、情報処理装置100は、入力データに含まれる第一の識別子に基づいて第一の識別子よりビット数が小さい第二の識別子を算出する。そして、情報処理装置100は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部11から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 As described above, in the second embodiment of the present invention, as in the first embodiment, the information processing apparatus 100 is bit more than the first identifier based on the first identifier included in the input data. Calculate a second identifier with a smaller number. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 100 acquires the processing information corresponding to the first identifier from the first storage unit 11. , The second identifier and the processing information are associated with each other and stored in the second storage unit 12. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

[第三の実施形態]
次に、本発明の第三の実施の形態について説明する。本実施形態は、第一および第二の実施形態の処理振分表に、キャッシュ可否情報を追加した形態である。
[Third Embodiment]
Next, a third embodiment of the present invention will be described. This embodiment is a form in which cache availability information is added to the processing distribution table of the first and second embodiments.

第一および第二の実施形態の情報処理装置は、第一の識別子(キー)よりビット数が小さい第二の識別子(タグ値)を算出し、第二の識別子に対する処理情報(振分先の情報)を第二の記憶部12に記憶させる。これにより、より多くの処理情報を第二の記憶部12に記憶させることが可能になるため、第一の記憶部11から処理情報を取得する頻度を減少させることが可能になる。 The information processing apparatus of the first and second embodiments calculates a second identifier (tag value) having a smaller number of bits than the first identifier (key), and processes information for the second identifier (distribution destination). Information) is stored in the second storage unit 12. As a result, more processing information can be stored in the second storage unit 12, so that the frequency of acquiring processing information from the first storage unit 11 can be reduced.

しかし、第一の識別子(キー)から第二の識別子(タグ値)を算出してビット数を減らすと、異なる第一の識別子から同一の第二の識別子が算出される可能性がある。異なる第一の識別子から同一の第二の識別子が算出されると、情報処理装置は誤った処理を行う可能性がある。 However, if the second identifier (tag value) is calculated from the first identifier (key) and the number of bits is reduced, the same second identifier may be calculated from different first identifiers. If the same second identifier is calculated from different first identifiers, the information processing apparatus may perform erroneous processing.

たとえば、第一の識別子Aに基づいて算出された第二の識別子Bに対応する処理情報がすでに第二の記憶部12に記憶されているとする。この状態で、情報処理装置が第一の識別子Cに基づいて第二の識別子Bを算出すると、情報処理装置は第一の識別子Cに対する処理情報ではなく、第一の識別子Aに対する処理情報を第二の記憶部12から取得することになる。 For example, it is assumed that the processing information corresponding to the second identifier B calculated based on the first identifier A is already stored in the second storage unit 12. In this state, when the information processing device calculates the second identifier B based on the first identifier C, the information processing device receives the processing information for the first identifier A instead of the processing information for the first identifier C. It will be acquired from the second storage unit 12.

本実施形態では、このような状態を避けるため、同じ第二の識別子に第一の記憶部11内の複数のエントリが対応するとき、第一の記憶部11は、それらのエントリについてキャッシュ禁止を示すキャッシュ可否情報を記憶する。そして、第一の記憶部11から取得したエントリのキャッシュ可否情報がキャッシュ禁止を示しているときには、第二の記憶部12にキャッシュしないことで、同じ第二の識別子に対応する他のエントリが第二の記憶部12に記憶されないようにする。 In the present embodiment, in order to avoid such a state, when a plurality of entries in the first storage unit 11 correspond to the same second identifier, the first storage unit 11 caches the entries. The indicated cache availability information is stored. Then, when the cache enable / disable information of the entry acquired from the first storage unit 11 indicates cache prohibition, by not caching in the second storage unit 12, another entry corresponding to the same second identifier becomes the first. It is prevented from being stored in the second storage unit 12.

まず、図9に本実施形態の情報処理装置20の構成例を示す。情報処理装置20は、第一の記憶部21、第二の記憶部12、算出部13、第一の取得部24、第二の取得部15および処理部16により構成される。第二の記憶部12、算出部13、第二の取得部15および処理部16については第一の実施形態と同様のため説明を省略する。 First, FIG. 9 shows a configuration example of the information processing device 20 of the present embodiment. The information processing device 20 is composed of a first storage unit 21, a second storage unit 12, a calculation unit 13, a first acquisition unit 24, a second acquisition unit 15, and a processing unit 16. The second storage unit 12, the calculation unit 13, the second acquisition unit 15, and the processing unit 16 are the same as those in the first embodiment, and thus the description thereof will be omitted.

第一の記憶部21は、第一の識別子に対応する処理情報およびキャッシュ可否情報を記憶する部分である。同じ第二の識別子を算出する第一の識別子が第一の記憶部21内に複数記憶されているとき、それらの第一の識別子に対応するキャッシュ可否情報はキャッシュ禁止を示す。 The first storage unit 21 is a portion that stores the processing information and cache availability information corresponding to the first identifier. When a plurality of first identifiers for calculating the same second identifier are stored in the first storage unit 21, the cache availability information corresponding to those first identifiers indicates cache prohibition.

第一の取得部24は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報およびキャッシュ可否情報を第一の記憶部21から取得する部分である。また、第一の取得部24は、キャッシュ可否情報がキャッシュ禁止を示していないとき、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。 When the processing information corresponding to the second identifier is not stored in the second storage unit 12, the first acquisition unit 24 stores the processing information and cache availability information corresponding to the first identifier in the first storage unit. This is the part obtained from 21. Further, when the cache enable / disable information does not indicate cache prohibition, the first acquisition unit 24 stores the second identifier and the processing information in the second storage unit 12 in association with each other.

次に、本実施形態の情報処理装置20のより具体的な例について説明する。 Next, a more specific example of the information processing device 20 of the present embodiment will be described.

図10から図12に本実施形態の情報処理装置200の構成例を示す。本実施形態の情報処理装置200は、通信IF部101、パケット受信処理部202、パケット処理部103、パケット送信処理部104および第一の記憶部21により構成される。通信IF部101、パケット処理部103およびパケット送信処理部104については第二の実施形態と同様のため説明を省略する。 10 to 12 show a configuration example of the information processing device 200 of the present embodiment. The information processing device 200 of the present embodiment is composed of a communication IF unit 101, a packet reception processing unit 202, a packet processing unit 103, a packet transmission processing unit 104, and a first storage unit 21. The communication IF unit 101, the packet processing unit 103, and the packet transmission processing unit 104 are the same as those in the second embodiment, and thus the description thereof will be omitted.

パケット受信処理部202は、キー抽出部105、ハッシュ値計算部106、パケット振分部107、キャッシュメモリ制御部208、処理振分表検索部109、メモリアクセス部110および第二の記憶部12により構成される。キー抽出部105、ハッシュ値計算部106、パケット振分部107、処理振分表検索部109、メモリアクセス部110および第二の記憶部12については第二の実施形態と同様のため説明を省略する。 The packet reception processing unit 202 is composed of a key extraction unit 105, a hash value calculation unit 106, a packet distribution unit 107, a cache memory control unit 208, a processing distribution table search unit 109, a memory access unit 110, and a second storage unit 12. It is composed. The key extraction unit 105, the hash value calculation unit 106, the packet distribution unit 107, the processing distribution table search unit 109, the memory access unit 110, and the second storage unit 12 are the same as those in the second embodiment, and thus description thereof will be omitted. To do.

キャッシュメモリ制御部208は、キャッシュヒット判定部111、キャッシュ更新部112およびキャッシュ可否判定部213により構成される。キャッシュヒット判定部111およびキャッシュ更新部112については第二の実施形態と同様のため説明を省略する。 The cache memory control unit 208 includes a cache hit determination unit 111, a cache update unit 112, and a cache availability determination unit 213. Since the cache hit determination unit 111 and the cache update unit 112 are the same as those in the second embodiment, the description thereof will be omitted.

第一の記憶部21は、キー(第一の識別子)毎に、当該キーに対応するパケットの振分先の情報(処理情報)およびキャッシュ可否情報を記憶する部分である。キャッシュ可否情報は、当該キーに関する情報をパケット受信処理部202がキャッシュしてよいか否かを示す情報である。 The first storage unit 21 is a portion that stores information (processing information) and cache availability information of packet distribution destinations corresponding to the keys for each key (first identifier). The cache availability information is information indicating whether or not the packet reception processing unit 202 may cache the information related to the key.

本実施形態では、キャッシュ可否情報は、図13のように、第一の記憶部21の処理振分表にあらかじめ記憶されているものとする。また、第一の識別子(キー)に対応するキャッシュ可否情報は、当該第一の識別子に基づいて算出される第二の識別子(タグ値)と第一の記憶部11に記憶されている他の第一の識別子に基づいて算出される第二の識別子が同一のとき、キャッシュ禁止を示す。 In the present embodiment, it is assumed that the cache availability information is stored in advance in the processing distribution table of the first storage unit 21 as shown in FIG. Further, the cache availability information corresponding to the first identifier (key) is stored in the second identifier (tag value) calculated based on the first identifier and the other storage unit 11. When the second identifier calculated based on the first identifier is the same, it indicates cache prohibition.

キャッシュ可否判定部213は、処理振分表検索部109から得られる検索結果(処理対象パケットの振分先の情報およびキャッシュ可否情報)を基に当該結果のキャッシュ可否を判定する部分である。具体的には、キャッシュ可否判定部213は、キャッシュ可否情報が「禁止」でなければ、当該結果をキャッシュすることとし、キャッシュ更新部112にキャッシュの更新を依頼する。また、キャッシュ可否判定部213は、振分先の情報を、パケット振分部107に渡す。 The cache availability determination unit 213 is a portion that determines whether or not the result can be cached based on the search result (information on the distribution destination of the processing target packet and cache availability information) obtained from the processing distribution table search unit 109. Specifically, if the cache availability information is not "prohibited", the cache availability determination unit 213 caches the result and requests the cache update unit 112 to update the cache. Further, the cache availability determination unit 213 passes the distribution destination information to the packet distribution unit 107.

このように情報処理装置20(200)を構成することによって、情報処理装置20(200)は、入力データに含まれる第一の識別子(キー)に基づいて第一の識別子よりビット数が小さい第二の識別子(タグ値)を算出する。そして、情報処理装置20(200)は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部21から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置20(200)は、第一の識別子よりビット数が小さい第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させるため、より多くの処理情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置20(200)は、より多くの処理情報を第二の記憶部12に記憶させることができるため、第一の記憶部21から処理情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By configuring the information processing device 20 (200) in this way, the information processing device 20 (200) has a number of bits smaller than that of the first identifier based on the first identifier (key) included in the input data. Calculate the second identifier (tag value). Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 20 (200) stores the processing information corresponding to the first identifier in the first storage unit 21. The second identifier and the processing information are associated with each other and stored in the second storage unit 12. As a result, the information processing apparatus 20 (200) stores the second identifier, which has a smaller number of bits than the first identifier, and the processing information in the second storage unit 12, so that more processing information can be stored. It becomes possible to store in the second storage unit 12. Since the information processing device 20 (200) can store more processing information in the second storage unit 12, it is possible to reduce the frequency of acquiring the processing information from the first storage unit 21. become. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

また、本実施形態の情報処理装置20(200)では、第一の記憶部21は、キャッシュ可否情報を記憶する。第一の識別子(キー)に対応するキャッシュ可否情報は、当該第一の識別子に基づいて算出される第二の識別子(タグ値)と第一の記憶部21に記憶されている他の第一の識別子に基づいて算出される第二の識別子が同一のとき、キャッシュ禁止を示す。そして、情報処理装置20(200)が第一の記憶部21から処理情報およびキャッシュ可否情報を取得し、キャッシュ可否情報がキャッシュ禁止を示す場合、処理情報を第二の記憶部12へ記憶させない。これにより、情報処理装置20(200)が第二の記憶部12を検索するときに、適切でないエントリがキャッシュヒットする可能性を排除することが可能になる。 Further, in the information processing apparatus 20 (200) of the present embodiment, the first storage unit 21 stores cache availability information. The cache availability information corresponding to the first identifier (key) includes the second identifier (tag value) calculated based on the first identifier and the other first stored in the first storage unit 21. When the second identifier calculated based on the identifier of is the same, it indicates cache prohibition. Then, when the information processing device 20 (200) acquires the processing information and the cache availability information from the first storage unit 21, and the cache availability information indicates cache prohibition, the processing information is not stored in the second storage unit 12. This makes it possible to eliminate the possibility of cache hits for inappropriate entries when the information processing apparatus 20 (200) searches the second storage unit 12.

次に、図14に本実施形態の情報処理装置20(200)の動作例を示す。ステップS201、ステップS202、ステップS206、ステップS207については、図2のステップS101、ステップS102、ステップS105、ステップS106と同様である。第一および第二の実施形態と同様の部分については、説明を省略する。 Next, FIG. 14 shows an operation example of the information processing apparatus 20 (200) of the present embodiment. Step S201, step S202, step S206, and step S207 are the same as those of step S101, step S102, step S105, and step S106 of FIG. The description of the same parts as those in the first and second embodiments will be omitted.

本実施形態では、情報処理装置20(情報処理装置200)は、ステップS203において、ステップS201で算出した第二の識別子に対応する処理情報およびキャッシュ可否情報を第一の記憶部21から取得する(ステップS203)。そして、取得したキャッシュ可否情報がキャッシュ禁止を示していなければ(ステップS204でNO)、第二の識別子と処理情報を対応付けて第二の記憶部12へ記憶させる(ステップS205)。キャッシュ可否情報がキャッシュ禁止を示していれば(ステップS204でYES)、第一の記憶部21から取得した処理情報を第二の記憶部12へ記憶させない。 In the present embodiment, the information processing device 20 (information processing device 200) acquires the processing information and cache availability information corresponding to the second identifier calculated in step S201 from the first storage unit 21 in step S203 (in step S203). Step S203). Then, if the acquired cache availability information does not indicate cache prohibition (NO in step S204), the second identifier and the processing information are associated with each other and stored in the second storage unit 12 (step S205). If the cache enable / disable information indicates cache prohibition (YES in step S204), the processing information acquired from the first storage unit 21 is not stored in the second storage unit 12.

このように動作することによって、情報処理装置20(200)は、入力データに含まれる第一の識別子(キー)に基づいて第一の識別子よりビット数が小さい第二の識別子(タグ値)を算出する。そして、情報処理装置20(200)は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部21から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置20(200)は、第一の識別子よりビット数が小さい第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させるため、より多くの処理情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置20(200)は、より多くの処理情報を第二の記憶部12に記憶させることができるため、第一の記憶部21から処理情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By operating in this way, the information processing apparatus 20 (200) obtains a second identifier (tag value) having a smaller number of bits than the first identifier based on the first identifier (key) included in the input data. calculate. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 20 (200) stores the processing information corresponding to the first identifier in the first storage unit 21. The second identifier and the processing information are associated with each other and stored in the second storage unit 12. As a result, the information processing apparatus 20 (200) stores the second identifier, which has a smaller number of bits than the first identifier, and the processing information in the second storage unit 12, so that more processing information can be stored. It becomes possible to store in the second storage unit 12. Since the information processing device 20 (200) can store more processing information in the second storage unit 12, it is possible to reduce the frequency of acquiring the processing information from the first storage unit 21. become. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

以上で説明したように、本発明の第三の実施形態では、第一および第二の実施形態と同様に、情報処理装置20(200)は、入力データに含まれる第一の識別子に基づいて第一の識別子よりビット数が小さい第二の識別子を算出する。そして、情報処理装置20(200)は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部21から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 As described above, in the third embodiment of the present invention, as in the first and second embodiments, the information processing apparatus 20 (200) is based on the first identifier included in the input data. The second identifier, which has a smaller number of bits than the first identifier, is calculated. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 20 (200) stores the processing information corresponding to the first identifier in the first storage unit 21. The second identifier and the processing information are associated with each other and stored in the second storage unit 12. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

また、本実施形態の情報処理装置20(200)では、第一の記憶部21は、キャッシュ可否情報を記憶する。第一の識別子(キー)に対応するキャッシュ可否情報は、当該第一の識別子に基づいて算出される第二の識別子(タグ値)と第一の記憶部21に記憶されている他の第一の識別子に基づいて算出される第二の識別子が同一のとき、キャッシュ禁止を示す。そして、情報処理装置20(200)が第一の記憶部21から処理情報およびキャッシュ可否情報を取得し、キャッシュ可否情報がキャッシュ禁止を示す場合、処理情報を第二の記憶部12へ記憶させない。これにより、情報処理装置20(200)が第二の記憶部12を検索するときに、適切でないエントリがキャッシュヒットする可能性を排除することが可能になる。 Further, in the information processing apparatus 20 (200) of the present embodiment, the first storage unit 21 stores cache availability information. The cache availability information corresponding to the first identifier (key) includes the second identifier (tag value) calculated based on the first identifier and the other first stored in the first storage unit 21. When the second identifier calculated based on the identifier of is the same, it indicates cache prohibition. Then, when the information processing device 20 (200) acquires the processing information and the cache availability information from the first storage unit 21, and the cache availability information indicates cache prohibition, the processing information is not stored in the second storage unit 12. This makes it possible to eliminate the possibility of cache hits for inappropriate entries when the information processing apparatus 20 (200) searches the second storage unit 12.

[第四の実施形態]
次に、本発明の第四の実施の形態について説明する。本実施形態は、第三の実施形態の情報処理装置20(200)に対して、第一の記憶部21の処理振分表に処理情報を追加する機能を追加した形態である。
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described. The present embodiment is a form in which a function of adding processing information to the processing distribution table of the first storage unit 21 is added to the information processing apparatus 20 (200) of the third embodiment.

まず、図15に本実施形態の情報処理装置30の構成例を示す。情報処理装置30は、第一の記憶部21、第二の記憶部12、算出部13、第一の取得部34、第二の取得部15、処理部16および管理部37により構成される。図15では、第三の実施形態の情報処理装置20(図9)に対して、管理部37を追加している。 First, FIG. 15 shows a configuration example of the information processing device 30 of the present embodiment. The information processing device 30 is composed of a first storage unit 21, a second storage unit 12, a calculation unit 13, a first acquisition unit 34, a second acquisition unit 15, a processing unit 16, and a management unit 37. In FIG. 15, a management unit 37 is added to the information processing device 20 (FIG. 9) of the third embodiment.

第一の記憶部21、第二の記憶部12、算出部13、第二の取得部15および処理部16については、第三の実施形態と同様のため、説明を省略する。 The first storage unit 21, the second storage unit 12, the calculation unit 13, the second acquisition unit 15, and the processing unit 16 are the same as those in the third embodiment, and thus the description thereof will be omitted.

管理部37は、第一の記憶部21が記憶する第一の識別子と処理情報との対応関係を管理する部分である。本実施形態では、管理部37は、第一の記憶部21に第一の識別子と処理情報との対応関係を追加するとき、当該第一の識別子に基づいて第二の識別子を算出する。そして、算出した第二の識別子と第一の記憶部21に記憶されている他の第一の識別子に基づいて算出される第二の識別子が同一のとき、当該第一の識別子および他の第一の識別子に対応するキャッシュ可否情報を、キャッシュ禁止を示す情報に設定する。つまり、追加するエントリに対応する第二の識別子と同一の第二の識別子に対応する他のエントリが第一の記憶部21にすでに存在するとき、追加するエントリのキャッシュ可否情報をキャッシュ禁止を示す情報に設定する。また、追加するエントリに対応する第二の識別子と同一の第二の識別子に対応する他のエントリのキャッシュ可否情報についても、キャッシュ禁止を示す情報に設定する。 The management unit 37 is a part that manages the correspondence between the first identifier stored in the first storage unit 21 and the processing information. In the present embodiment, when the management unit 37 adds the correspondence between the first identifier and the processing information to the first storage unit 21, the management unit 37 calculates the second identifier based on the first identifier. Then, when the calculated second identifier and the second identifier calculated based on the other first identifier stored in the first storage unit 21 are the same, the first identifier and the other first identifier are used. The cache availability information corresponding to one identifier is set as the information indicating cache prohibition. That is, when another entry corresponding to the same second identifier as the second identifier corresponding to the entry to be added already exists in the first storage unit 21, the cache availability information of the entry to be added indicates cache prohibition. Set to information. In addition, cache availability information of other entries corresponding to the same second identifier as the second identifier corresponding to the entry to be added is also set as information indicating cache prohibition.

第一の取得部34は、第三の実施形態の動作に加えて、管理部37が算出した第二の識別子と第一の記憶部21に記憶されている他の第一の識別子に基づいて算出される第二の識別子が同一のとき、当該第二の識別子に対応する処理情報を第二の記憶部12から削除する。つまり、管理部37がキャッシュ可否情報をキャッシュ禁止を示す情報に設定したとき、当該第二の識別子に対応する処理情報を第二の記憶部12から削除する。 In addition to the operation of the third embodiment, the first acquisition unit 34 is based on the second identifier calculated by the management unit 37 and the other first identifier stored in the first storage unit 21. When the calculated second identifiers are the same, the processing information corresponding to the second identifier is deleted from the second storage unit 12. That is, when the management unit 37 sets the cache availability information to the information indicating cache prohibition, the processing information corresponding to the second identifier is deleted from the second storage unit 12.

次に、本実施形態の情報処理装置について、より具体的に説明する。図16に本実施形態の情報処理装置300の構成例を示す。情報処理装置300は、通信IF部101、パケット受信処理部302、パケット処理部103、パケット送信処理部104、第一の記憶部21および管理部314により構成される。図16では、第三の実施形態の情報処理装置200(図10)に対して管理部314を追加している。通信IF部101、パケット処理部103、パケット送信処理部104および第一の記憶部21については第三の実施形態と同様のため、説明を省略する。 Next, the information processing apparatus of this embodiment will be described more specifically. FIG. 16 shows a configuration example of the information processing device 300 of the present embodiment. The information processing device 300 is composed of a communication IF unit 101, a packet reception processing unit 302, a packet processing unit 103, a packet transmission processing unit 104, a first storage unit 21, and a management unit 314. In FIG. 16, a management unit 314 is added to the information processing device 200 (FIG. 10) of the third embodiment. Since the communication IF unit 101, the packet processing unit 103, the packet transmission processing unit 104, and the first storage unit 21 are the same as those in the third embodiment, description thereof will be omitted.

また、図17に、パケット受信処理部302の構成例を示す。パケット受信処理部302は、キー抽出部105、ハッシュ値計算部106、パケット振分部107、キャッシュメモリ制御部308、処理振分表検索部109、メモリアクセス部110および第二の記憶部12により構成される。キー抽出部105、ハッシュ値計算部106、パケット振分部107、処理振分表検索部109、メモリアクセス部110および第二の記憶部12については、第三の実施形態と同様のため、説明を省略する。 Further, FIG. 17 shows a configuration example of the packet reception processing unit 302. The packet reception processing unit 302 is composed of a key extraction unit 105, a hash value calculation unit 106, a packet distribution unit 107, a cache memory control unit 308, a processing distribution table search unit 109, a memory access unit 110, and a second storage unit 12. It is composed. The key extraction unit 105, the hash value calculation unit 106, the packet distribution unit 107, the processing distribution table search unit 109, the memory access unit 110, and the second storage unit 12 are the same as those in the third embodiment. Is omitted.

また、図18にキャッシュメモリ制御部308の構成例を示す。キャッシュメモリ制御部308は、キャッシュヒット判定部111、キャッシュ可否判定部213およびキャッシュ更新部312により構成される。キャッシュヒット判定部111およびキャッシュ可否判定部213については第三の実施形態と同様のため説明を省略する。 Further, FIG. 18 shows a configuration example of the cache memory control unit 308. The cache memory control unit 308 includes a cache hit determination unit 111, a cache availability determination unit 213, and a cache update unit 312. Since the cache hit determination unit 111 and the cache availability determination unit 213 are the same as those in the third embodiment, the description thereof will be omitted.

管理部314は、図15の管理部37に相当し、第一の記憶部21のキーと振分先情報との対応関係を管理する部分である。本実施形態では、管理部314は、第一の記憶部21の処理振分表にエントリを追加する際、当該新規エントリが第二の記憶部12にキャッシュされる際に用いられるタグ値を算出し、当該タグ値と同じタグ値を持つ他のエントリがないか確認する。そして、このエントリの追加によって同じタグ値を持つエントリが複数存在することになる場合、管理部314は、それらのエントリすべてについてキャッシュ可否情報を「禁止」に設定する。また、管理部314は、それらのエントリすべてについて、第二の記憶部12のエントリを削除するようキャッシュメモリ制御部308のキャッシュ更新部312に依頼する。 The management unit 314 corresponds to the management unit 37 in FIG. 15, and is a part that manages the correspondence between the key of the first storage unit 21 and the distribution destination information. In the present embodiment, the management unit 314 calculates the tag value used when the new entry is cached in the second storage unit 12 when adding an entry to the processing distribution table of the first storage unit 21. Then, check if there is another entry with the same tag value as the relevant tag value. Then, when the addition of this entry causes a plurality of entries having the same tag value to exist, the management unit 314 sets the cache enable / disable information to "prohibited" for all of those entries. Further, the management unit 314 requests the cache update unit 312 of the cache memory control unit 308 to delete the entry of the second storage unit 12 for all of those entries.

キャッシュ更新部312は、第三の実施形態のキャッシュ更新部112と同様の部分である。本実施形態のキャッシュ更新部312は、さらに、第二の記憶部12のエントリの削除を行う場合、削除するエントリのハッシュ値を受け取る。そして、キャッシュ更新部312は、当該ハッシュ値からラインインデックスとタグ値を計算し、それらに対応する第二の記憶部12内のエントリを削除する(たとえば、使用中フラグをオフにする)。 The cache update unit 312 is the same part as the cache update unit 112 of the third embodiment. Further, when the cache update unit 312 of the present embodiment deletes the entry of the second storage unit 12, it receives the hash value of the entry to be deleted. Then, the cache update unit 312 calculates the line index and the tag value from the hash value, and deletes the corresponding entry in the second storage unit 12 (for example, turns off the in-use flag).

また、第一の記憶部21から処理情報を削除する場合には、処理情報の削除によって当該第二の識別子に対応する処理情報が第一の記憶部21内に一つしか存在しなくなるとき、管理部314が当該第二の識別子に対応するキャッシュ可否情報を「可」にすると良い。 Further, when the processing information is deleted from the first storage unit 21, when only one processing information corresponding to the second identifier exists in the first storage unit 21 due to the deletion of the processing information, It is preferable that the management unit 314 sets the cache availability information corresponding to the second identifier to "OK".

このように情報処理装置30(300)を構成することによって、情報処理装置30(300)は、入力データに含まれる第一の識別子(キー)に基づいて第一の識別子よりビット数が小さい第二の識別子(タグ値)を算出する。そして、情報処理装置30(300)は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部21から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置30(300)は、第一の識別子よりビット数が小さい第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させるため、より多くの処理情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置30(300)は、より多くの処理情報を第二の記憶部12に記憶させることができるため、第一の記憶部21から処理情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By configuring the information processing device 30 (300) in this way, the information processing device 30 (300) has a number of bits smaller than that of the first identifier based on the first identifier (key) included in the input data. Calculate the second identifier (tag value). Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 30 (300) stores the processing information corresponding to the first identifier in the first storage unit 21. The second identifier and the processing information are associated with each other and stored in the second storage unit 12. As a result, the information processing apparatus 30 (300) stores the second identifier, which has a smaller number of bits than the first identifier, and the processing information in the second storage unit 12, so that more processing information can be stored. It becomes possible to store in the second storage unit 12. Since the information processing device 30 (300) can store more processing information in the second storage unit 12, it is possible to reduce the frequency of acquiring the processing information from the first storage unit 21. become. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

また、本実施形態の情報処理装置30(300)は、第一の記憶部21に処理情報を追加する際、第二の識別子の重複を確認し、重複する場合、第一の記憶部21にキャッシュ禁止を示す情報を記憶させる。また、当該第二の識別子に対応する処理情報を第二の記憶部12から削除する。これにより、情報処理装置30(300)は、第二の識別子の重複による誤処理を避けつつ、第一の記憶部21に処理情報を追加することが可能になる。 Further, the information processing apparatus 30 (300) of the present embodiment confirms duplication of the second identifier when adding processing information to the first storage unit 21, and if the processing information is duplicated, the first storage unit 21 Stores information indicating cache prohibition. Further, the processing information corresponding to the second identifier is deleted from the second storage unit 12. As a result, the information processing apparatus 30 (300) can add processing information to the first storage unit 21 while avoiding erroneous processing due to duplication of the second identifier.

次に、図19に本実施形態の情報処理装置30(300)の、第一の記憶部21に処理情報を追加するときの動作例を示す。なお、入力パケットに対する動作例については第三の実施形態(図14)と同様のため、説明を省略する。 Next, FIG. 19 shows an operation example when processing information is added to the first storage unit 21 of the information processing apparatus 30 (300) of the present embodiment. Since the operation example for the input packet is the same as that of the third embodiment (FIG. 14), the description thereof will be omitted.

図19の処理は、たとえば、利用者の指示や、情報処理装置30(300)や他の装置の制御部からの指示により開始される。当該指示には、追加する処理情報のプロトコル識別子、第一の識別子(キー)、処理情報(振分先の情報)が含まれるものとする。 The process of FIG. 19 is started by, for example, an instruction from a user or an instruction from a control unit of the information processing apparatus 30 (300) or another apparatus. The instruction shall include the protocol identifier of the processing information to be added, the first identifier (key), and the processing information (information on the distribution destination).

まず、管理部314(図15の管理部37に相当)は、第一の記憶部21の指定されたプロトコル用の処理振分表に、指定された第一の識別子(キー)および処理情報(振分先の情報)を含むエントリを追加する(ステップS301)。 First, the management unit 314 (corresponding to the management unit 37 in FIG. 15) has a first identifier (key) and processing information (key) designated in the processing distribution table for the designated protocol of the first storage unit 21. An entry including the distribution destination information) is added (step S301).

次に、管理部314は、指定されたプロトコル識別子および第一の識別子(キー)に基づいてハッシュ値および第二の識別子(タグ値)を計算する(ステップS302)。管理部314は、計算したハッシュ値およびタグ値を第一の記憶部21に記憶させてもよい。 Next, the management unit 314 calculates the hash value and the second identifier (tag value) based on the designated protocol identifier and the first identifier (key) (step S302). The management unit 314 may store the calculated hash value and tag value in the first storage unit 21.

次に、管理部314は、ステップS302で計算した第二の識別子と同じ値を第二の識別子とする他のエントリが第一の記憶部21に存在するか確認する(ステップS303)。なお、管理部314は、本処理を高速化するための追加のデータ構造(たとえばハッシュテーブル)を用いてもよい。 Next, the management unit 314 confirms whether another entry having the same value as the second identifier calculated in step S302 as the second identifier exists in the first storage unit 21 (step S303). Note that the management unit 314 may use an additional data structure (for example, a hash table) for speeding up this process.

他のエントリが第一の記憶部21に見つかった場合(ステップS303でYES)、管理部314は、当該第二の識別子に対応する第一の記憶部21のすべてのエントリについて、キャッシュ可否情報をキャッシュ禁止を示す情報に設定する(ステップS304)。 If another entry is found in the first storage unit 21 (YES in step S303), the management unit 314 provides cache availability information for all entries in the first storage unit 21 corresponding to the second identifier. Set to the information indicating cache prohibition (step S304).

また、管理部314は、当該第二の識別子に対応するすべてのエントリを削除するよう、キャッシュ更新部312に指示する。そして、キャッシュ更新部312はそれらを第二の記憶部12から削除する(ステップS305)。 In addition, the management unit 314 instructs the cache update unit 312 to delete all the entries corresponding to the second identifier. Then, the cache update unit 312 deletes them from the second storage unit 12 (step S305).

このように動作させることによって、情報処理装置30(300)は、入力データに含まれる第一の識別子(キー)に基づいて第一の識別子よりビット数が小さい第二の識別子(タグ値)を算出する。そして、情報処理装置30(300)は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部21から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。これにより、情報処理装置30(300)は、第一の識別子よりビット数が小さい第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させるため、より多くの処理情報を第二の記憶部12に記憶させることが可能になる。そして、情報処理装置30(300)は、より多くの処理情報を第二の記憶部12に記憶させることができるため、第一の記憶部21から処理情報を取得する頻度を減少させることが可能になる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 By operating in this way, the information processing apparatus 30 (300) obtains a second identifier (tag value) having a smaller number of bits than the first identifier based on the first identifier (key) included in the input data. calculate. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 30 (300) stores the processing information corresponding to the first identifier in the first storage unit 21. The second identifier and the processing information are associated with each other and stored in the second storage unit 12. As a result, the information processing apparatus 30 (300) stores the second identifier, which has a smaller number of bits than the first identifier, and the processing information in the second storage unit 12, so that more processing information can be stored. It becomes possible to store in the second storage unit 12. Since the information processing device 30 (300) can store more processing information in the second storage unit 12, it is possible to reduce the frequency of acquiring the processing information from the first storage unit 21. become. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

以上で説明したように、本発明の第四の実施形態では、第一から第三の実施形態と同様に、情報処理装置30(300)は、入力データに含まれる第一の識別子(キー)に基づいて第一の識別子よりビット数が小さい第二の識別子(タグ値)を算出する。そして、情報処理装置30(300)は、第二の識別子に対応する処理情報が第二の記憶部12に記憶されていないとき、第一の識別子に対応する処理情報を第一の記憶部21から取得し、第二の識別子と処理情報とを対応付けて第二の記憶部12に記憶させる。そのため、限られたキャッシュメモリ容量でより高い消費通信帯域削減効果を得ることが可能になる。 As described above, in the fourth embodiment of the present invention, as in the first to third embodiments, the information processing device 30 (300) is the first identifier (key) included in the input data. The second identifier (tag value) having a smaller number of bits than the first identifier is calculated based on. Then, when the processing information corresponding to the second identifier is not stored in the second storage unit 12, the information processing device 30 (300) stores the processing information corresponding to the first identifier in the first storage unit 21. The second identifier and the processing information are associated with each other and stored in the second storage unit 12. Therefore, it is possible to obtain a higher communication bandwidth reduction effect with a limited cache memory capacity.

また、本実施形態の情報処理装置30(300)は、第一の記憶部21に処理情報を追加する際、第二の識別子の重複を確認し、重複する場合、第一の記憶部21にキャッシュ禁止を示す情報を記憶させる。また、当該第二の識別子に対応する処理情報を第二の記憶部12から削除する。これにより、情報処理装置30(300)は、第二の識別子の重複による誤処理を避けつつ、第一の記憶部21に処理情報を追加することが可能になる。 Further, the information processing apparatus 30 (300) of the present embodiment confirms duplication of the second identifier when adding processing information to the first storage unit 21, and if the processing information is duplicated, the first storage unit 21 Stores information indicating cache prohibition. Further, the processing information corresponding to the second identifier is deleted from the second storage unit 12. As a result, the information processing apparatus 30 (300) can add processing information to the first storage unit 21 while avoiding erroneous processing due to duplication of the second identifier.

[ハードウェア構成例]
上述した本発明の各実施形態における情報処理装置(10、20、30、100、200、300)を、一つの情報処理装置(コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。なお、情報処理装置は、物理的または機能的に少なくとも二つの情報処理装置を用いて実現してもよい。また、情報処理装置は、専用の装置として実現してもよい。また、情報処理装置の一部の機能のみを情報処理装置を用いて実現しても良い。
[Hardware configuration example]
An example of a configuration of hardware resources for realizing the information processing devices (10, 20, 30, 100, 200, 300) according to each embodiment of the present invention described above by using one information processing device (computer) will be described. The information processing device may be realized by using at least two information processing devices physically or functionally. Further, the information processing device may be realized as a dedicated device. Further, only a part of the functions of the information processing device may be realized by using the information processing device.

図20は、本発明の各実施形態の情報処理装置を実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置90は、通信インタフェース91、入出力インタフェース92、演算装置93、記憶装置94および不揮発性記憶装置95およびドライブ装置96を備える。 FIG. 20 is a diagram schematically showing a hardware configuration example of an information processing device capable of realizing the information processing device according to each embodiment of the present invention. The information processing device 90 includes a communication interface 91, an input / output interface 92, an arithmetic unit 93, a storage device 94, a non-volatile storage device 95, and a drive device 96.

通信インタフェース91は、各実施形態の情報処理装置が、有線あるいは/および無線で外部装置と通信するための通信手段である。なお、情報処理装置を、少なくとも二つの情報処理装置を用いて実現する場合、それらの装置の間を通信インタフェース91経由で相互に通信可能なように接続しても良い。 The communication interface 91 is a communication means for the information processing device of each embodiment to communicate with an external device by wire or / and wirelessly. When the information processing device is realized by using at least two information processing devices, the devices may be connected so as to be able to communicate with each other via the communication interface 91.

入出力インタフェース92は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。 The input / output interface 92 is a man-machine interface such as a keyboard which is an example of an input device and a display as an output device.

演算装置93は、汎用のCPU(Central Processing Unit)やマイクロプロセッサ等の演算処理装置である。演算装置93は、たとえば、不揮発性記憶装置95に記憶された各種プログラムを記憶装置94に読み出し、読み出したプログラムに従って処理を実行することが可能である。 The arithmetic unit 93 is an arithmetic processing unit such as a general-purpose CPU (Central Processing Unit) or a microprocessor. The arithmetic unit 93 can, for example, read various programs stored in the non-volatile storage device 95 into the storage device 94 and execute processing according to the read programs.

記憶装置94は、演算装置93から参照可能な、RAM(Random Access Memory)等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置94は、揮発性のメモリ装置であっても良い。 The storage device 94 is a memory device such as a RAM (Random Access Memory) that can be referred to by the arithmetic unit 93, and stores a program, various data, and the like. The storage device 94 may be a volatile memory device.

不揮発性記憶装置95は、たとえば、ROM(Read Only Memory)、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記憶することが可能である。 The non-volatile storage device 95 is, for example, a non-volatile storage device such as a ROM (Read Only Memory), a flash memory, etc., and can store various programs, data, and the like.

ドライブ装置96は、たとえば、後述する記録媒体97に対するデータの読み込みや書き込みを処理する装置である。 The drive device 96 is, for example, a device that processes data reading and writing to a recording medium 97, which will be described later.

記録媒体97は、たとえば、光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。 The recording medium 97 is any recording medium capable of recording data, such as an optical disk, a magneto-optical disk, and a semiconductor flash memory.

本発明の各実施形態は、たとえば、図20に例示した情報処理装置90により情報処理装置を構成し、この情報処理装置に対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。 In each embodiment of the present invention, for example, the information processing device 90 is configured by the information processing device 90 illustrated in FIG. 20, and a program capable of realizing the functions described in each of the above embodiments is supplied to the information processing device. It may be realized by doing.

この場合、情報処理装置に対して供給したプログラムを、演算装置93が実行することによって、実施形態を実現することが可能である。また、情報処理装置のすべてではなく、一部の機能を情報処理装置90で構成することも可能である。 In this case, the embodiment can be realized by the arithmetic unit 93 executing the program supplied to the information processing device. It is also possible to configure some functions of the information processing apparatus 90, not all of the information processing apparatus.

さらに、上記プログラムを記録媒体97に記録しておき、情報処理装置の出荷段階、あるいは運用段階等において、適宜上記プログラムが不揮発性記憶装置95に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用して情報処理装置内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。 Further, the program may be recorded on the recording medium 97, and the program may be appropriately stored in the non-volatile storage device 95 at the shipping stage or the operation stage of the information processing device. In this case, as the supply method of the above program, a method of installing the program in the information processing apparatus by using an appropriate jig at the manufacturing stage or the operation stage before shipment may be adopted. Further, as the method of supplying the above program, a general procedure such as a method of downloading from the outside via a communication line such as the Internet may be adopted.

なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。 It should be noted that each of the above-described embodiments is a preferred embodiment of the present invention, and various modifications can be made without departing from the gist of the present invention.

上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments may also be described, but not limited to:

(付記1)
入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出する算出部と、
前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させる第一の取得部と、
前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得する第二の取得部と、
前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う処理部と
を備えることを特徴とする情報処理装置。
(Appendix 1)
A calculation unit that calculates a second identifier with a smaller number of bits than the first identifier based on the first identifier included in the input data.
When the processing information corresponding to the second identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier is used. A first acquisition unit that associates the processing information and stores it in the second storage unit,
When the processing information corresponding to the second identifier is stored in the second storage unit, a second acquisition of acquiring the processing information corresponding to the second identifier from the second storage unit. Department and
An information processing apparatus including a processing unit that performs processing corresponding to the processing information acquired from the first storage unit or the second storage unit on the input data.

(付記2)
前記第一の取得部は、前記処理情報を前記第一の記憶部から取得する際、さらに、前記第一の識別子に対応するキャッシュ可否情報を前記第一の記憶部から取得し、前記キャッシュ可否情報がキャッシュ禁止を示すとき、前記第二の記憶部への前記記憶を行わず、
前記第一の識別子に対応する前記キャッシュ可否情報は、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、キャッシュ禁止を示す
ことを特徴とする付記1に記載の情報処理装置。
(Appendix 2)
When the first acquisition unit acquires the processing information from the first storage unit, the first acquisition unit further acquires cache availability information corresponding to the first identifier from the first storage unit, and obtains the cache availability information. When the information indicates cache prohibition, the storage in the second storage unit is not performed.
The cache availability information corresponding to the first identifier is the second identifier calculated based on the first identifier and the other first identifier stored in the first storage unit. The information processing apparatus according to Appendix 1, wherein when the second identifier calculated based on the same is the same, it indicates cache prohibition.

(付記3)
前記第一の記憶部に前記第一の識別子と前記処理情報との対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、当該第一の識別子および他の前記第一の識別子に対応する前記キャッシュ可否情報をキャッシュ禁止を示す情報に設定する管理部
をさらに備えることを特徴とする付記2に記載の情報処理装置。
(Appendix 3)
When the correspondence between the first identifier and the processing information is added to the first storage unit, the second identifier calculated based on the first identifier and the first storage unit store the correspondence. When the second identifier calculated based on the other first identifier is the same, the cache prohibition is prohibited for the cache enable / disable information corresponding to the first identifier and the other first identifier. The information processing apparatus according to Appendix 2, further comprising a management unit for setting the information to be shown.

(付記4)
前記管理部は、前記第一の記憶部に前記第一の識別子と前記処理情報との前記対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から削除する
ことを特徴とする付記3に記載の情報処理装置。
(Appendix 4)
When the management unit adds the correspondence between the first identifier and the processing information to the first storage unit, the second identifier and the second identifier calculated based on the first identifier. When the second identifier calculated based on the other first identifier stored in one storage unit is the same, the processing information corresponding to the second identifier is stored in the second storage unit. The information processing apparatus according to Appendix 3, which is characterized by being deleted from.

(付記5)
前記第二の識別子は、前記第一の識別子にハッシュ関数を適用して得られるハッシュ値、あるいは、前記ハッシュ値にさらに演算を施して得られる値である
ことを特徴とする付記1から付記4のいずれかに記載の情報処理装置。
(Appendix 5)
The second identifier is a hash value obtained by applying a hash function to the first identifier, or a value obtained by further performing an operation on the hash value. The information processing device according to any one of.

(付記6)
入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出し、
前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させ、
前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得し、
前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う
ことを特徴とする情報処理方法。
(Appendix 6)
A second identifier having a smaller number of bits than the first identifier is calculated based on the first identifier included in the input data.
When the processing information corresponding to the second identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier is used. The processing information is associated with the processing information and stored in the second storage unit.
When the processing information corresponding to the second identifier is stored in the second storage unit, the processing information corresponding to the second identifier is acquired from the second storage unit.
An information processing method characterized in that processing corresponding to the processing information acquired from the first storage unit or the second storage unit is performed on the input data.

(付記7)
前記処理情報を前記第一の記憶部から取得する際、さらに、前記第一の識別子に対応するキャッシュ可否情報を前記第一の記憶部から取得し、前記キャッシュ可否情報がキャッシュ禁止を示すとき、前記第二の記憶部への前記記憶を行わず、
前記第一の識別子に対応する前記キャッシュ可否情報は、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、キャッシュ禁止を示す
ことを特徴とする付記6に記載の情報処理方法。
(Appendix 7)
When the processing information is acquired from the first storage unit, and the cache availability information corresponding to the first identifier is acquired from the first storage unit, and the cache availability information indicates cache prohibition. Without performing the storage in the second storage unit,
The cache availability information corresponding to the first identifier is the second identifier calculated based on the first identifier and the other first identifier stored in the first storage unit. The information processing method according to Appendix 6, wherein when the second identifier calculated based on the same is the same, it indicates cache prohibition.

(付記8)
前記第一の記憶部に前記第一の識別子と前記処理情報との対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、当該第一の識別子および他の前記第一の識別子に対応する前記キャッシュ可否情報をキャッシュ禁止を示す情報に設定する
ことを特徴とする付記7に記載の情報処理方法。
(Appendix 8)
When the correspondence between the first identifier and the processing information is added to the first storage unit, the second identifier calculated based on the first identifier and the first storage unit store the correspondence. When the second identifier calculated based on the other first identifier is the same, the cache prohibition is prohibited for the cache enable / disable information corresponding to the first identifier and the other first identifier. The information processing method according to Appendix 7, wherein the information is set as shown.

(付記9)
前記第一の記憶部に前記第一の識別子と前記処理情報との前記対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から削除する
ことを特徴とする付記8に記載の情報処理方法。
(Appendix 9)
When the correspondence between the first identifier and the processing information is added to the first storage unit, the second identifier calculated based on the first identifier and the first storage unit When the second identifier calculated based on the other stored first identifier is the same, the processing information corresponding to the second identifier is deleted from the second storage unit. The information processing method according to Appendix 8, which is a feature.

(付記10)
前記第二の識別子は、前記第一の識別子にハッシュ関数を適用して得られるハッシュ値、あるいは、前記ハッシュ値にさらに演算を施して得られる値である
ことを特徴とする付記6から付記9のいずれかに記載の情報処理方法。
(Appendix 10)
The second identifier is a hash value obtained by applying a hash function to the first identifier, or a value obtained by further performing an operation on the hash value. The information processing method described in any of.

(付記11)
コンピュータに、
入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出する算出機能と、
前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させる第一の取得機能と、
前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得する第二の取得機能と、
前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う処理機能と
を実現させることを特徴とする情報処理プログラム。
(Appendix 11)
On the computer
A calculation function that calculates a second identifier with a smaller number of bits than the first identifier based on the first identifier included in the input data, and
When the processing information corresponding to the second identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier is used. A first acquisition function that associates the processing information and stores it in the second storage unit,
When the processing information corresponding to the second identifier is stored in the second storage unit, a second acquisition of acquiring the processing information corresponding to the second identifier from the second storage unit. Function and
An information processing program characterized by realizing a processing function of performing processing corresponding to the processing information acquired from the first storage unit or the second storage unit on the input data.

(付記12)
前記第一の取得機能は、前記処理情報を前記第一の記憶部から取得する際、さらに、前記第一の識別子に対応するキャッシュ可否情報を前記第一の記憶部から取得し、前記キャッシュ可否情報がキャッシュ禁止を示すとき、前記第二の記憶部への前記記憶を行わず、
前記第一の識別子に対応する前記キャッシュ可否情報は、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、キャッシュ禁止を示す
ことを特徴とする付記11に記載の情報処理プログラム。
(Appendix 12)
When the processing information is acquired from the first storage unit, the first acquisition function further acquires cache availability information corresponding to the first identifier from the first storage unit, and obtains cache availability information. When the information indicates cache prohibition, the storage in the second storage unit is not performed.
The cache availability information corresponding to the first identifier is the second identifier calculated based on the first identifier and the other first identifier stored in the first storage unit. The information processing program according to Appendix 11, wherein when the second identifier calculated based on the same is the same, it indicates cache prohibition.

(付記13)
前記第一の記憶部に前記第一の識別子と前記処理情報との対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、当該第一の識別子および他の前記第一の識別子に対応する前記キャッシュ可否情報をキャッシュ禁止を示す情報に設定する管理機能
をさらにコンピュータに実現させることを特徴とする付記12に記載の情報処理プログラム。
(Appendix 13)
When the correspondence between the first identifier and the processing information is added to the first storage unit, the second identifier calculated based on the first identifier and the first storage unit store the correspondence. When the second identifier calculated based on the other first identifier is the same, the cache prohibition is prohibited for the cache enable / disable information corresponding to the first identifier and the other first identifier. The information processing program according to Appendix 12, wherein the management function for setting the information to be shown is further realized in the computer.

(付記14)
前記管理機能は、前記第一の記憶部に前記第一の識別子と前記処理情報との前記対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から削除する
ことを特徴とする付記13に記載の情報処理プログラム。
(Appendix 14)
When the management function adds the correspondence between the first identifier and the processing information to the first storage unit, the second identifier and the second identifier calculated based on the first identifier. When the second identifier calculated based on the other first identifier stored in one storage unit is the same, the processing information corresponding to the second identifier is stored in the second storage unit. The information processing program according to Appendix 13, which is characterized by being deleted from.

(付記15)
前記第二の識別子は、前記第一の識別子にハッシュ関数を適用して得られるハッシュ値、あるいは、前記ハッシュ値にさらに演算を施して得られる値である
ことを特徴とする付記11から付記14のいずれかに記載の情報処理プログラム。
(Appendix 15)
The second identifier is a hash value obtained by applying a hash function to the first identifier, or a value obtained by further performing an operation on the hash value. Information processing program described in any of.

(付記16)
付記10から付記15のいずれかに記載の情報処理プログラムを記録した、コンピュータ読み取り可能な記録媒体。
(Appendix 16)
A computer-readable recording medium on which the information processing program according to any one of Appendix 10 to Appendix 15 is recorded.

10、20、30、100、200、300 情報処理装置
11、21 第一の記憶部
12 第二の記憶部
13 算出部
14、24、34 第一の取得部
15 第二の取得部
16 処理部
37 管理部
101 通信IF部
102、202、302 パケット受信処理部
103 パケット処理部
104 パケット送信処理部
105 キー抽出部
106 ハッシュ値計算部
107 パケット振分部
108、208、308 キャッシュメモリ制御部
109 処理振分表検索部
110 メモリアクセス部
111 キャッシュヒット判定部
112、312 キャッシュ更新部
213 キャッシュ可否判定部
314 管理部
90 情報処理装置
91 通信インタフェース
92 入出力インタフェース
93 演算装置
94 記憶装置
95 不揮発性記憶装置
96 ドライブ装置
97 記録媒体
10, 20, 30, 100, 200, 300 Information processing device 11, 21 First storage unit 12 Second storage unit 13 Calculation unit 14, 24, 34 First acquisition unit 15 Second acquisition unit 16 Processing unit 37 Management unit 101 Communication IF unit 102, 202, 302 Packet reception processing unit 103 Packet processing unit 104 Packet transmission processing unit 105 Key extraction unit 106 Hash value calculation unit 107 Packet distribution unit 108, 208, 308 Cache memory control unit 109 processing Sorting table search unit 110 Memory access unit 111 Cache hit judgment unit 112, 312 Cache update unit 213 Cache availability judgment unit 314 Management unit 90 Information processing device 91 Communication interface 92 Input / output interface 93 Arithmetic device 94 Storage device 95 Non-volatile storage device 96 Drive device 97 Recording medium

Claims (10)

入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出する算出部と、
前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させる第一の取得部と、
前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得する第二の取得部と、
前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う処理部と
を備えることを特徴とする情報処理装置。
A calculation unit that calculates a second identifier with a smaller number of bits than the first identifier based on the first identifier included in the input data.
When the processing information corresponding to the second identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier is used. A first acquisition unit that associates the processing information and stores it in the second storage unit,
When the processing information corresponding to the second identifier is stored in the second storage unit, a second acquisition of acquiring the processing information corresponding to the second identifier from the second storage unit. Department and
An information processing apparatus including a processing unit that performs processing corresponding to the processing information acquired from the first storage unit or the second storage unit on the input data.
前記第一の取得部は、前記処理情報を前記第一の記憶部から取得する際、さらに、前記第一の識別子に対応するキャッシュ可否情報を前記第一の記憶部から取得し、前記キャッシュ可否情報がキャッシュ禁止を示すとき、前記第二の記憶部への前記記憶を行わず、
前記第一の識別子に対応する前記キャッシュ可否情報は、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、キャッシュ禁止を示す
ことを特徴とする請求項1に記載の情報処理装置。
When the first acquisition unit acquires the processing information from the first storage unit, the first acquisition unit further acquires cache availability information corresponding to the first identifier from the first storage unit, and obtains the cache availability information. When the information indicates cache prohibition, the storage in the second storage unit is not performed.
The cache availability information corresponding to the first identifier is the second identifier calculated based on the first identifier and the other first identifier stored in the first storage unit. The information processing apparatus according to claim 1, wherein when the second identifier calculated based on the same is the same, it indicates cache prohibition.
前記第一の記憶部に前記第一の識別子と前記処理情報との対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、当該第一の識別子および他の前記第一の識別子に対応する前記キャッシュ可否情報をキャッシュ禁止を示す情報に設定する管理部
をさらに備えることを特徴とする請求項2に記載の情報処理装置。
When the correspondence between the first identifier and the processing information is added to the first storage unit, the second identifier calculated based on the first identifier and the first storage unit store the correspondence. When the second identifier calculated based on the other first identifier is the same, the cache prohibition is prohibited for the cache enable / disable information corresponding to the first identifier and the other first identifier. The information processing apparatus according to claim 2, further comprising a management unit for setting the information to be shown.
前記管理部は、前記第一の記憶部に前記第一の識別子と前記処理情報との前記対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から削除する
ことを特徴とする請求項3に記載の情報処理装置。
When the management unit adds the correspondence between the first identifier and the processing information to the first storage unit, the second identifier and the second identifier calculated based on the first identifier. When the second identifier calculated based on the other first identifier stored in one storage unit is the same, the processing information corresponding to the second identifier is stored in the second storage unit. The information processing apparatus according to claim 3, wherein the information processing apparatus is deleted from.
前記第二の識別子は、前記第一の識別子にハッシュ関数を適用して得られるハッシュ値、あるいは、前記ハッシュ値にさらに演算を施して得られる値である
ことを特徴とする請求項1から請求項4のいずれかに記載の情報処理装置。
The second identifier is claimed from claim 1, wherein it is a hash value obtained by applying a hash function to the first identifier, or a value obtained by further performing an operation on the hash value. Item 4. The information processing apparatus according to any one of Items 4.
入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出し、
前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させ、
前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得し、
前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う
ことを特徴とする情報処理方法。
A second identifier having a smaller number of bits than the first identifier is calculated based on the first identifier included in the input data.
When the processing information corresponding to the second identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier is used. The processing information is associated with the processing information and stored in the second storage unit.
When the processing information corresponding to the second identifier is stored in the second storage unit, the processing information corresponding to the second identifier is acquired from the second storage unit.
An information processing method characterized in that processing corresponding to the processing information acquired from the first storage unit or the second storage unit is performed on the input data.
前記処理情報を前記第一の記憶部から取得する際、さらに、前記第一の識別子に対応するキャッシュ可否情報を前記第一の記憶部から取得し、前記キャッシュ可否情報がキャッシュ禁止を示すとき、前記第二の記憶部への前記記憶を行わず、
前記第一の識別子に対応する前記キャッシュ可否情報は、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、キャッシュ禁止を示す
ことを特徴とする請求項6に記載の情報処理方法。
When the processing information is acquired from the first storage unit, and the cache availability information corresponding to the first identifier is acquired from the first storage unit, and the cache availability information indicates cache prohibition. Without performing the storage in the second storage unit,
The cache availability information corresponding to the first identifier is the second identifier calculated based on the first identifier and the other first identifier stored in the first storage unit. The information processing method according to claim 6, wherein when the second identifier calculated based on the same is the same, a cache prohibition is indicated.
前記第一の記憶部に前記第一の識別子と前記処理情報との対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、当該第一の識別子および他の前記第一の識別子に対応する前記キャッシュ可否情報をキャッシュ禁止を示す情報に設定する
ことを特徴とする請求項7に記載の情報処理方法。
When the correspondence between the first identifier and the processing information is added to the first storage unit, the second identifier calculated based on the first identifier and the first storage unit store the correspondence. When the second identifier calculated based on the other first identifier is the same, the cache prohibition is prohibited for the cache enable / disable information corresponding to the first identifier and the other first identifier. The information processing method according to claim 7, wherein the information is set as shown.
前記第一の記憶部に前記第一の識別子と前記処理情報との前記対応関係を追加するとき、当該第一の識別子に基づいて算出される前記第二の識別子と前記第一の記憶部に記憶されている他の前記第一の識別子に基づいて算出される前記第二の識別子が同一のとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から削除する
ことを特徴とする請求項8に記載の情報処理方法。
When the correspondence between the first identifier and the processing information is added to the first storage unit, the second identifier calculated based on the first identifier and the first storage unit When the second identifier calculated based on the other stored first identifier is the same, the processing information corresponding to the second identifier is deleted from the second storage unit. The information processing method according to claim 8, which is characterized.
コンピュータに、
入力データに含まれる第一の識別子に基づいて前記第一の識別子よりビット数が小さい第二の識別子を算出する算出機能と、
前記第二の識別子に対応する処理情報が第二の記憶部に記憶されていないとき、前記第一の識別子に対応する前記処理情報を第一の記憶部から取得し、前記第二の識別子と前記処理情報とを対応付けて前記第二の記憶部に記憶させる第一の取得機能と、
前記第二の識別子に対応する前記処理情報が前記第二の記憶部に記憶されているとき、前記第二の識別子に対応する前記処理情報を前記第二の記憶部から取得する第二の取得機能と、
前記第一の記憶部あるいは前記第二の記憶部から取得した前記処理情報に対応する処理を前記入力データに対して行う処理機能と
を実現させることを特徴とする情報処理プログラム。
On the computer
A calculation function that calculates a second identifier with a smaller number of bits than the first identifier based on the first identifier included in the input data, and
When the processing information corresponding to the second identifier is not stored in the second storage unit, the processing information corresponding to the first identifier is acquired from the first storage unit, and the second identifier is used. A first acquisition function that associates the processing information and stores it in the second storage unit,
When the processing information corresponding to the second identifier is stored in the second storage unit, a second acquisition of acquiring the processing information corresponding to the second identifier from the second storage unit. Function and
An information processing program characterized by realizing a processing function of performing processing corresponding to the processing information acquired from the first storage unit or the second storage unit on the input data.
JP2016195773A 2016-10-03 2016-10-03 Information processing equipment, methods and programs Active JP6766567B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016195773A JP6766567B2 (en) 2016-10-03 2016-10-03 Information processing equipment, methods and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016195773A JP6766567B2 (en) 2016-10-03 2016-10-03 Information processing equipment, methods and programs

Publications (2)

Publication Number Publication Date
JP2018061088A JP2018061088A (en) 2018-04-12
JP6766567B2 true JP6766567B2 (en) 2020-10-14

Family

ID=61908669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016195773A Active JP6766567B2 (en) 2016-10-03 2016-10-03 Information processing equipment, methods and programs

Country Status (1)

Country Link
JP (1) JP6766567B2 (en)

Also Published As

Publication number Publication date
JP2018061088A (en) 2018-04-12

Similar Documents

Publication Publication Date Title
KR101826725B1 (en) Technologies for network device flow lookup management
EP3334123B1 (en) Content distribution method and system
JP6581277B2 (en) Data packet transfer
US9571300B2 (en) Reducing encapsulation overhead in overlay-based networks
CN107113240B (en) Method for transmitting message of extensible virtual local area network, computer equipment and readable medium
JP6193335B2 (en) Techniques for network packet cache management
US9847940B2 (en) Control method, packet processing device, and storage medium
US20170308828A1 (en) Map tables for hardware tables
EP3099026B1 (en) In-network message processing method, in-network message forwarding equipment and in-network message processing system
US9979643B2 (en) Communication apparatus, communication method, and computer-readable recording medium
WO2017092568A1 (en) Configuration method and device for virtual network function
EP3384642B1 (en) Forwarding table compression
CN104836738A (en) Router hardware item resource management method and device, and network equipment
JP2024506089A (en) Packet forwarding methods, devices, and systems
US20140156954A1 (en) System and method for achieving enhanced performance with multiple networking central processing unit (cpu) cores
JP6222505B2 (en) Method and apparatus for generating input parameters
JP6766567B2 (en) Information processing equipment, methods and programs
KR20170072645A (en) Processor and method for processing data thereof
JP2008148133A (en) Communication equipment, control method thereof and program
TW201611548A (en) A method of using a unique packet identifier to identify structure of a packet and an apparatus thereof
US11411868B2 (en) Batch oriented service chaining method and corresponding devices and computer program
JP2017059897A (en) Sorter, communication device, and communication method
CN107894914A (en) Buffer consistency treating method and apparatus
JP2017523721A (en) Service node capability processing method, apparatus, service classifier, and service controller
CN105099732B (en) A kind of methods, devices and systems identifying abnormal IP traffic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200713

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: 20200818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200831

R150 Certificate of patent or registration of utility model

Ref document number: 6766567

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150