JP4311682B2 - Optimal memory allocation method - Google Patents
Optimal memory allocation method Download PDFInfo
- Publication number
- JP4311682B2 JP4311682B2 JP2006190115A JP2006190115A JP4311682B2 JP 4311682 B2 JP4311682 B2 JP 4311682B2 JP 2006190115 A JP2006190115 A JP 2006190115A JP 2006190115 A JP2006190115 A JP 2006190115A JP 4311682 B2 JP4311682 B2 JP 4311682B2
- Authority
- JP
- Japan
- Prior art keywords
- host
- flow
- flows
- mass flow
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、最適メモリ割当て方法に係り、特に、フロー計測から得られたデータを用いて、単位時間に生成されるフロー数が閾値を超える大量フロー生成ホストを特定する際の最適メモリ割当て方法に関する。 The present invention relates to an optimal memory allocation method, and more particularly to an optimal memory allocation method for specifying a mass flow generation host in which the number of flows generated per unit time exceeds a threshold using data obtained from flow measurement. .
近年、ワーム、ウィルス、DDoS(Distributed Denial of Service)等が引き起こす異常トラヒックが、ネットワークやサーバに深刻な被害をもたらすことが問題となっている。
DDoSの踏み台にされたホストや、ワームやウィルスに感染したホストは、個々のフローサイズは小さいものの短時間に大量のフローを生成するという特徴がある。そのため、短時間に大量のフローを生成するホストを早急に特定し、特定したホストに対して注意を促し、ネットワークから切り離すといった対処をとることが重要となる。
一方、フローサイズやフロー時間といったフローの各種統計値を収集するための技術として、パケット流からパケットを一定周期もしくはランダムに抜き出すパケットサンプリングが注日されている。
リンクの回線容量が2.5Gbpsや10Gbpsと高速化するにつれ、全てのフロー状態を管理することが困難になるため、パケットサンプリングにより一部のフロー状態のみを管理し、各種フロー統計値を得ることは実用上、非常に有用である。
そこで、パケットサンプリングによって得られた情報から、測定期間内に送出されたパケット数が闘値以上となる高レートフローを特定する方法が検討されている。
しかし、大量フロー生成ホストが生成する個々のフローのサイズは小さいため、高レートフローの特定方法ではこのようなホストを効果的に特定することができない。
In recent years, there has been a problem that abnormal traffic caused by worms, viruses, DDoS (Distributed Denial of Service), etc. causes serious damage to networks and servers.
A host that has been used as a platform for DDoS or a host that is infected with a worm or virus has a feature that a large number of flows are generated in a short time although the individual flow size is small. For this reason, it is important to quickly identify a host that generates a large number of flows in a short time, call attention to the identified host, and take measures such as disconnecting from the network.
On the other hand, as a technique for collecting various statistical values of a flow such as a flow size and a flow time, packet sampling for extracting a packet from a packet stream at a constant period or at random is in the day.
As the line capacity of the link increases to 2.5 Gbps and 10 Gbps, it becomes difficult to manage all the flow states. Therefore, only some flow states are managed by packet sampling, and various flow statistics are obtained. Is very useful in practice.
Therefore, a method for identifying a high-rate flow in which the number of packets transmitted within a measurement period is equal to or higher than a threshold value from information obtained by packet sampling has been studied.
However, since the size of individual flows generated by the mass flow generation host is small, such a host cannot be effectively specified by the high-rate flow identification method.
大量フロー生成ホストを特定するには、パケット単位ではなく、フローを単位にサンプリングを行い、ホスト毎に生成フロー数を集計することが有効である。
このような観点から、Y本以上のフローがサンプルされたホストを大量フロー生成ホストとして特定する方法が検討されている。
大量フロー生成ホストの特定を行う際には、大量フローと定義するフロー数の閾値m*とその特定確率H*を設計できることが実用上、重要である。さらに、フロー数mがm<m*のフローが誤って特定される確率(FPR:False Positive Ratio)と、m≧m*のフローが誤って特定されない確率(FNR:False Negative Ratio)を明確にし、特定精度を明らかにすることが重要である。
そのためには、m*とH*を与えたときの任意のmに対する特定確率H(特定曲線)を明らかにする必要がある。
In order to specify a large number of flow generation hosts, it is effective to perform sampling for each flow, not for each packet, and total the number of generated flows for each host.
From such a point of view, a method of identifying a host on which Y or more flows are sampled as a mass flow generation host has been studied.
When specifying a mass flow generation host, it is practically important to be able to design a threshold m * of the number of flows defined as a mass flow and its specific probability H * . Furthermore, the probability that a flow with the number m of flows m <m * is specified incorrectly (FPR: False Positive Ratio) and the probability that a flow with m ≧ m * is not specified incorrectly (FNR: False Negative Ratio) are clarified. It is important to clarify the specific accuracy.
For that purpose, it is necessary to clarify the specific probability H (specific curve) for an arbitrary m given m * and H * .
フローを、発着IPアドレス、発着ポート番号が共通のパケットの集合と定義する。そして、長さがφ(s)の任意の測定期間Φを定め、測定期間Φ内に着目リンクに到着した総フロー数をMとする。
そして、各ホストに対して測定期間Φ内に着目リンクに到着したフロー数をmとするとき、任意に定めた閾値m*に対して、m≧m*のホストを大量フロー生成ホストと定義し、着目リンクにおいて、大量フロー生成ホストを測定期間Φ内で特定することを考える。
今、測定期間Φ内に着目リンクを流れたフロー数がmのホストに着目する。
測定期間Φ内で着目ホストのm本のフローからd本のフローがサンプルされる確率fdは、フローサンプルレートをrを用いて、下記(1)式で表される。
[数1]
fd=mCdrd(l−r)m−d ・・・・・・・・・・・・・ (1)
よって、サンプルフロー数がY以上のホストを特定するとき、このホストが特定される確率Hは、下記(2)式で得られる。
A flow is defined as a set of packets having a common outgoing / incoming IP address and outgoing / incoming port number. Then, an arbitrary measurement period Φ having a length of φ (s) is defined, and the total number of flows arriving at the link of interest within the measurement period Φ is defined as M.
Then, when the number of flows arriving at the link of interest within the measurement period Φ for each host is m, a host with m ≧ m * is defined as a mass flow generation host with respect to an arbitrarily defined threshold m * . Consider that the mass flow generation host is specified within the measurement period Φ at the link of interest.
Now, focus on the host whose flow number is m in the measurement period Φ.
The probability fd that d flows are sampled from m flows of the host of interest within the measurement period Φ is expressed by the following equation (1) using r as the flow sample rate.
[Equation 1]
f d = m C d r d (l−r) m−d (1)
Therefore, when a host whose sample flow number is Y or more is specified, the probability H that this host is specified can be obtained by the following equation (2).
また、式(2)にm=m*を代入することによって得られる、下記(3)式を数値的に解くことによって、m*とH*が与えられたときに、Yかrの任意の一方を定めたときに対応するもう一方のパラメータを設定することができる。 Moreover, when m * and H * are given by numerically solving the following equation (3) obtained by substituting m = m * into equation (2), an arbitrary Y or r It is possible to set the other parameter corresponding to one set.
着目リンクに到着した各パケットに対して、発着IPアドレスと発着ポート番号の計96ビットをキーにして、予め用意したハッシュ関数を通して得られるsビットの値をvとするとき、v<v*であるときにのみ新規フロー判定装置に入力する。ただし、v*はフローサンプリングのための閾値であり、rをフローサンプリング確率とするとr=v*/2sとなる。同一フローに属するフローは同一のキーを持つため、フローサイズとは無関係に全てのフローが確率rでサンプルされることになる。
v<v*であった場合、次に到着パケットが属するフローを既にカウントしたかどうかを判定する。
最も直感的な方法は、サンプルした全てのフローをフローテーブルにて管理し、フローテーブルに該当フローのエントリが存在するか否かを判定する方法であるが、最大で全エントリをチェックする必要があるため処理時間が大きくなる。
For each packet arriving at the link of interest, when v is the value of s bits obtained through a hash function prepared in advance using a total of 96 bits of the arrival and departure IP addresses and the arrival and departure port numbers as keys, v <v * Only when there is a new flow determination device. However, v * is a threshold for flow sampling, and r = v * / 2 s , where r is a flow sampling probability. Since flows belonging to the same flow have the same key, all flows are sampled with a probability r regardless of the flow size.
When v <v * , it is determined whether or not the flow to which the next arrival packet belongs has already been counted.
The most intuitive method is to manage all sampled flows in the flow table and determine whether there is an entry for the flow in the flow table, but it is necessary to check all the entries at the maximum. As a result, the processing time increases.
そこで、Bloom filterを用いて判定する方法が有効である。Bloom filterはある候補に対してある集合のメンバであるか否かを判定する方法であり、異なるk個のハッシュ関数(各々が入カキーに対してbビットの値を返す)と2b個の2値変数(初期状態では全てゼロにリセットされる)が用意される。
この場合、パケットの96ビットのキーをk個のハッツシュ関数を通して得られるk個のアドレスに該当する2値変数の値を調べ、1つ以上がゼロである場合に該当パケットが属するフローを新規フローと判定する。そしてk個の該当する2値変数を全て1にセットする。
Bloom filterを用いた場合、既にカウントしたフローを誤って新規フローと見なす可能性はゼロであるが、ハッシュ値の衝突によって新規フローを誤って見逃す可能性がある。
測定期間Φ内に着目リンクを流れた総フローMに対して、測定期間Φ内でサンプルされたフロー数の期待値DはD=rMとなる。kの最適値はDを用いて、下記(4)式で表される。
Therefore, a method of determining using a Bloom filter is effective. Bloom filter is a method for determining whether or not a candidate is a member of a certain set, k different hash functions (each returning a b-bit value for the incoming key) and 2 b Binary variables (initially all reset to zero) are prepared.
In this case, the value of the binary variable corresponding to the k addresses obtained by using the k-Hatsch function with the 96-bit key of the packet is examined, and if one or more is zero, the flow to which the corresponding packet belongs is a new flow. Is determined. Then, all k corresponding binary variables are set to 1.
When the Bloom filter is used, there is no possibility that a flow that has already been counted is erroneously regarded as a new flow, but there is a possibility that a new flow may be mistakenly missed due to a hash value collision.
For the total flow M that has flowed through the link of interest within the measurement period Φ, the expected value D of the number of flows sampled within the measurement period Φ is D = rM. The optimum value of k is expressed by the following equation (4) using D.
n本の異なるフローに対してBloom filterの2b(bits)のbitmapを更新したとき、bitmap中のあるビットが1である確率は{1−(1−k/2b)n}となる。
このとき、新規フローを誤って見逃す確率をηnとすると、確率ηnは、下記(5)式で表される。
[数5]
ηn={1−(1−k/2b)n}k ・・・・・・・・・・・・・ (5)
よって、新規フローを見逃す確率の平均値ηは(4)式を考慮して、下記(6)式により導出できる。
When the 2 b (bits) bitmap of the Bloom filter is updated for n different flows, the probability that a bit in the bitmap is 1 is {1- (1-k / 2 b ) n }.
At this time, if the probability of missing a new flow by mistake is η n , the probability η n is expressed by the following equation (5).
[Equation 5]
η n = {1- (1-k / 2 b ) n } k (5)
Therefore, the average value η of the probability of missing a new flow can be derived from the following equation (6) in consideration of the equation (4).
(6)式より、rとMが与えられたときに、新規フローを見逃す確率の平均値η≦δBF(任意に与えた値)を満足するbの最小値を求めることができ、さらに、前述の(4)式よりkの値を設定できる。
ホストテーブルには、発IPアドレスとサンプルフロー数cjが収容される。新規フローと判定された場合には、該当パケットの発IPアドレスが既にホストテーブル内にエントリされているか否か調べ(例えば、発IPアドレスをキーにしてハッシュ値のアドレスを調べる)、既にエントリが存在する場合にはサンプルフロー数を1だけ増加させる。
この結果、サンプルフロー数が特定判断閾値Yに達した場合には、そのホストを大量フロー生成ホストとして特定し、大量フロー生成ホストリストに書き出す。
一方、発IPアドレスがホストテーブル内にエントリされていない場合には、新規にエントリを生成する。
ホストテーブルのエントリ更新処理を実現する際には、効率的に各エントリが収容されるアドレスを解決することが重要であるが、ここでは一般的に広く用いられるハッシュ関数を用いた方法を想定する。
ハッシュ値の衝突に対しては、ポインタを用いたリンク構造による解決方法が高い性能を示し、広く用いられていることから、ここでもリンク構造による形態を想定する。
From equation (6), when r and M are given, the minimum value of b satisfying the average value η ≦ δ BF (value arbitrarily given) of the probability of missing a new flow can be obtained. The value of k can be set from the above equation (4).
The host table contains the source IP address and the number of sample flows cj . When it is determined that the flow is a new flow, it is checked whether or not the source IP address of the corresponding packet has already been entered in the host table (for example, the hash value address is checked using the source IP address as a key). If present, increase the number of sample flows by one.
As a result, when the number of sample flows reaches the specific determination threshold Y, the host is specified as a mass flow generation host and is written in the mass flow generation host list.
On the other hand, if the source IP address is not entered in the host table, a new entry is generated.
When implementing the host table entry update process, it is important to efficiently resolve the address where each entry is accommodated. Here, a method using a generally widely used hash function is assumed. .
For hash value collisions, a solution using a link structure using a pointer exhibits high performance and is widely used, so a form using a link structure is also assumed here.
ホストテーブルは、ポインタ収容領域(以下、PSA(pointer stored area)と称する。)とホストエントリ収容領域(以下、ESA(entry stored area)と称する。)とから構成される。
ESAはエントリが実際に収容される領域であり、ホストのIPアドレス、サンプルフロー数cj、次エントリへのポインタが収容される。PSAには2β個のハッシュ値の各々に対応するESA内の最初のエントリ収容先を示すポインタが収容される。
事前に用意されたβビットのハッシュ空間をもつハッシュ関数hを用いて得られるハッシュ値h(j)に対応するPSAの値を調べ、ヌル値である場合にはESAの空き位置にエントリを作成し、サンプルフロー数cjを1に初期化する。
一方、PSAの値がヌル値でない場合には、ESAの該当エントリのリンクを順に調査して該当ホストのエントリが存在するか調査し、存在した場合にはそのエントリの、サンプルフロー数cjを1だけ増加させる。存在しない場合にはやはり新規にエントリを作成する。
The host table includes a pointer storage area (hereinafter referred to as a PSA (pointer stored area)) and a host entry storage area (hereinafter referred to as an ESA (entry stored area)).
The ESA is an area where an entry is actually accommodated, and accommodates a host IP address, the number of sample flows c j , and a pointer to the next entry. The PSA pointer to the first entry accommodating in ESA corresponding to each of the 2 beta pieces of hash values is accommodated.
The PSA value corresponding to the hash value h (j) obtained by using the hash function h having a β-bit hash space prepared in advance is checked, and if it is a null value, an entry is created in the empty position of the ESA. The sample flow number c j is initialized to 1.
On the other hand, if the PSA value is not a null value, the link of the corresponding entry of the ESA is examined in order to check whether the entry of the corresponding host exists, and if there is, the sample flow number c j of the entry is determined. Increase by one. If it does not exist, a new entry is created.
一つの到着パケットに対して大量フロー生成ホスト特定方法が必要とする処理時間について考察する。例えば、OC192のリンクにおける最小パケット(40バイト)のパケット時間は32nsと短いことから、1パケット時間で終了すべき処理量に対する制約が大きく、所要処理時間の上限を評価することが重要となる。
フローサンプリング、新規フロー判定、ホストテーブルの更新、三つの全ての処理においてハッシュ値を求める必要があるが、ここでは、Universalハッシュ関数を用いることを想定する。
本ハッシュ関数は、理想に近い(ランダム性が高い)、ハッシュ値を出力することと、ハードウェア実装に適しているという優れた特徴を有する。
ハッシュ値の算出はハードウェア実装による並列処理で行われるため、処理時間には含めない。また、CPUにおける処理時間もメモリアクセス時間と比較して小さいことから、ここでは最大処理時間を評価する尺度として最大メモリアクセス数を用いる。
Consider the processing time required by the mass flow generation host identification method for one incoming packet. For example, since the packet time of the minimum packet (40 bytes) in the OC192 link is as short as 32 ns, there is a great restriction on the processing amount to be completed in one packet time, and it is important to evaluate the upper limit of the required processing time.
Although it is necessary to obtain a hash value in all three processes, ie, flow sampling, new flow determination, host table update, it is assumed here that a universal hash function is used.
This hash function has an excellent feature that it is close to ideal (high in randomness), outputs a hash value, and is suitable for hardware implementation.
Since the calculation of the hash value is performed by parallel processing by hardware implementation, it is not included in the processing time. Since the processing time in the CPU is also shorter than the memory access time, the maximum number of memory accesses is used here as a measure for evaluating the maximum processing time.
(i)フローサンプリング、(ii)新規フロー判定、(iii)ホストテーブル更新と大量フロー生成ホストの特定の、各々を開始するのに必要となる情報(到着パケットの発IPアドレス、もしくは属するフローのキー)はパケットが到者した瞬間に得られるため、各々の処理は並行して開始することが可能である。
(ii)は(i)の結果、該当フローがサンプルされた場合にのみ必要となり、Bloom filterのbitmap更新処理は(i)の完了を待つ必要があるが、k個のハッシュ値の算出は(i)と並行して実施可能であり、また(i)はメモリアクセスを伴わず短時間で終了するため、(i)と(ii)は並列化できる。
また(iii)のホストテーブルの更新処理は、(ii)の結果、新規フローと判定された場合にのみ必要となるが、該当エントリのアドレス解決(もしくは新規エントリ作成の必要性判定)は(ii)と並行して実施可能であり、また(ii)で要するメモリアクセス数が1であるのに対し、(iii)は後述するようにアドレス解決に2回以上のメモリアクセスが必要となる。そのため、(ii)と(iii)も並列化できる。
よって、処理時間を評価するためには、最も処理時間を要する(iii)の最大メモリアクセス数のみを検討すればよい。
(I) Flow sampling, (ii) New flow determination, (iii) Host table update and mass flow generation host specific information (starting IP address of incoming packet or flow belonging to it) Since the key) is obtained at the moment when the packet arrives, each process can be started in parallel.
(Ii) is necessary only when the corresponding flow is sampled as a result of (i), and the bitmap update processing of the Bloom filter needs to wait for completion of (i), but the calculation of k hash values is ( It can be performed in parallel with i), and (i) is completed in a short time without memory access, so (i) and (ii) can be parallelized.
In addition, the host table update process (iii) is necessary only when it is determined that the flow is a new flow as a result of (ii), but the address resolution of the corresponding entry (or the necessity of creating a new entry) is (ii). ), And the number of memory accesses required in (ii) is 1, whereas (iii) requires two or more memory accesses for address resolution as described later. Therefore, (ii) and (iii) can also be parallelized.
Therefore, in order to evaluate the processing time, only the maximum memory access number (iii) that requires the most processing time has to be considered.
ホストテーブルの同一ハッシュ値にマッピングされるホスト数に上限を設けない場合、メモリアクセス数の上限を抑えることができない。実装に際しては、1パケット処理時間内に必要となる最大メモリアクセス数を抑える必要があるので、ここではリンク数の上限をLに制限する。
エントリ作成時に該当ハッシュ値に既にL個のエントリが収容されている場合、このエントリは棄却される。l個のエントリが収容されているハッシュ値に新たにエントリを作成する場合、新規エントリと判断されるまでに(l+1)回のメモリアクセスが必要となる。さらに、ESAの空きにエントリを作成し、l番目のエントリのポインタに作成したエントリのアドレスを書き込む必要があるため、合計で(l+3)回のメモリアクセスが最大で必要になる。
l≦L−1であることから、最大メモリアクセス数は(L+2)となる。
If there is no upper limit on the number of hosts mapped to the same hash value in the host table, the upper limit on the number of memory accesses cannot be suppressed. In mounting, since it is necessary to suppress the maximum number of memory accesses required within one packet processing time, the upper limit of the number of links is limited to L here.
If L entries are already accommodated in the corresponding hash value at the time of entry creation, this entry is rejected. When a new entry is created with a hash value containing l entries, (l + 1) times of memory access is required until it is determined as a new entry. Furthermore, since it is necessary to create an entry in the ESA space and write the address of the created entry in the pointer of the l-th entry, a total of (l + 3) memory accesses is required at the maximum.
Since l ≦ L−1, the maximum memory access number is (L + 2).
ハッシュ衝突をポインタによるリンク・リストによって解決する場合、ハッシュ空間を決めるパラメータβの設計が重要となる。
n個のエントリがホストテーブルに収容されているとき、あるハッシュ値に収容されたエントリ数がiである確率は、nCi(1/2β)i(1−1/2β)n−iとなる。
よって測定期間Φ内で、一つ以上のフローがサンプルされたホスト数を下記(6−1)式で表すとき、あるハッシュ値の収容エントリ数がiである確率の平均値piは、下記(7)式となる。
When the hash collision is resolved by a linked list using pointers, it is important to design a parameter β that determines the hash space.
When n entries are accommodated in the host table, the probability that the number of entries accommodated in a hash value is i is n C i (1/2 β ) i (1-1 / 2 β ) n− i .
Therefore, when the number of hosts from which one or more flows are sampled within the measurement period Φ is expressed by the following equation (6-1), the average value pi of the probability that the number of accommodated entries of a certain hash value is i is ( 7).
よって新たにエントリをホストテーブルに作成するときに、該当ハッシュ値のリンク数がi以下である確率の平均値Piは、下記(8)式となる。
リンク数の上限をLで制限した場合、新規エントリは確率PLで棄却される。ここでは、PLが任意に与えたδHT(任意の与えた値)以下となるようにβを設計する。
Therefore, when a new entry is created in the host table, the average value Pi of the probability that the number of links of the corresponding hash value is i or less is expressed by the following equation (8).
If the maximum number of links restricted with L, a new entry is rejected with probability P L. Here, β is designed so that P L is equal to or less than δ HT (arbitrarily given value) given arbitrarily.
なお、本願発明に関連する先行技術文献としては以下のものがある。
従来の大量フロー生成ホスト特定方法では、測定期間Φ、特定閾値m*、その特定確率H*、特定判断閾値Y、測定期間内の総フロー数M、測定期間内のサンプルホスト数Nとが与えられたときに、設定すべきフローサンプリング確率r、Bloom filterのパラメータbとk、ホストテーブルのパラメータβ、所要メモリサイズBを求めることができる。
しかしながら、一般には、メモリサイズは実装により既に決まっていることが多く、メモリサイズが与えられたときに、特定精度が最大化、即ち、大量フロー生成ホストを誤って見逃す確率(FNR)を最小化するように、適切に各種パラメータを設定できることが重要である。
しかしながら、従来の方法では、総メモリ量が実装で定まっている場合に、特定精度が最大化するように、適切に各種パラメータを設定し、当該メモリ量を、Bloom filter、PSA、ESAの各々に最適に割り当てることができない。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、フロー計測から得られたデータを用いて、単位時間に生成されるフロー数が閾値を超える大量フロー生成ホストを特定する方法において、大量フロー生成ホストを誤って見逃す確率を最小化するようにメモリを最適配分することが可能となる技術を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
In the conventional mass flow generation host identification method, the measurement period Φ, the specific threshold m * , the specific probability H * , the specific determination threshold Y, the total number of flows M in the measurement period, and the number of sample hosts N in the measurement period are given. The flow sampling probability r to be set, the parameters b and k of the Bloom filter, the parameter β of the host table, and the required memory size B can be obtained.
However, in general, the memory size is often determined by the implementation, and given the memory size, the specific accuracy is maximized, that is, the probability of erroneously overlooking a mass flow generation host (FNR) is minimized. It is important that various parameters can be set appropriately.
However, in the conventional method, when the total amount of memory is determined by implementation, various parameters are appropriately set so that the specific accuracy is maximized, and the amount of memory is assigned to each of the Bloom filter, PSA, and ESA. Cannot allocate optimally.
The present invention has been made to solve the above-described problems of the prior art, and an object of the present invention is to use the data obtained from flow measurement and the number of flows generated per unit time exceeds a threshold value. An object of the present invention is to provide a technique capable of optimally allocating memory so as to minimize the probability of erroneously overlooking a mass flow generation host in a method for identifying a mass flow generation host.
The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
(1)サンプルされたホスト毎にサンプルフロー数を記憶するホストテーブルと、新規フローの判定に用いるBloom filterとを使用し、フローサンプリングによって得られた統計データのみを用いて、大量フロー生成ホスト特定装置が、単位時間あたりに生成するフロー数が閾値以上となるホストを特定する大量フロー生成ホスト特定法において、パラメータ設計装置が、実装されているメモリを最適に配分する最適メモリ割当て方法であって、特定判断閾値Yをパラメータに持ち、任意の生成フロー数m0を有する大量フロー生成ホストがホストテーブルにエントリされたという条件のもとで特定されない確率の上限HC(m0)と、このホストがホストテーブルにエントリされない確率の上限R(m0)とを導出し、HC(m0){1−R(m0)}+R(m0)を最小化する特定判断閾値Yを最適値として導出し、当該導出した特定判断閾値Yと、前記実装されているメモリ量Bとに基づき、大量フロー生成ホストを誤って見逃す確率を最小化するように、前記Bloom filterと前記ホストテーブルの全てのパラメータを導出することを特徴とする。
(2)(1)において、前記m0として、全ての大量フロー生成ホストの生成フロー数の中央値とする。
(3)(1)または(2)において、パラメータ算出に必要となる全フロー数と、大量フロー生成ホストの生成フロー数の中央値とを、前測定期間で得られた情報を用いて推定する。
(4)(3)において、大量フロー生成ホストの生成フロー数の中央値の推定において、前測定期間における特定ホストの誤差の影響を除去するため、中央値に見逃し大量フロー生成ホスト数の推定値を加え、さらに誤って特定した非大量フロー生成ホスト数の推定値を引く。
Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.
(1) Use a host table that stores the number of sample flows for each sampled host and a Bloom filter used to determine new flows, and use only statistical data obtained by flow sampling to identify large-volume flow generation hosts device, Oite the flow Hogs specific method to identify the host that the number of flows is equal to or more than a threshold to generate per unit of time, parameter design device, a memory that is implemented in the optimal memory allocation method for optimally allocating The upper limit H C (m 0 ) of the probability that the specific determination threshold Y is not specified under the condition that a mass flow generation host having an arbitrary number of generated flows m 0 is entered in the host table. the host derives the upper R (m 0) of the probability of not being an entry in the host table, H (M 0) {1-R (m 0)} + R specific decision threshold Y that minimizes (m 0) was derived as an optimum value, a specific determination threshold Y that the derived, amount of memory B being the mounting Based on the above, all parameters of the Bloom filter and the host table are derived so as to minimize the probability of erroneously overlooking a mass flow generation host.
(2) In (1), as the m 0, a median value of generation number of flows all Flow Hogs.
(3) In (1) or (2), estimate the total number of flows required for parameter calculation and the median number of generated flows of the mass flow generation host using the information obtained in the previous measurement period. .
(4) In (3), in the estimation of the median number of generated flows of the mass flow generation host, in order to remove the influence of the error of the specific host in the previous measurement period, the median is overlooked and the estimated value of the number of mass flow generation hosts And subtract an estimate of the number of non-mass flow generation hosts specified incorrectly.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、フロー計測から得られたデータを用いて、単位時間に生成されるフロー数が閾値を超える大量フロー生成ホストを特定する方法において、大量フロー生成ホストを誤って見逃す確率を最小化するようにメモリを最適配分することが可能となる。
The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
According to the present invention, in a method for identifying a mass flow generation host in which the number of flows generated per unit time exceeds a threshold using data obtained from flow measurement, the probability of erroneously overlooking the mass flow generation host is minimized. It is possible to optimally allocate the memory so that
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図1は、本発明の実施例の大量フロー生成ホスト特定方法の最適メモリ割当て法が適用されるシステム構成を示すブロック図である。
図1において、101はパラメータ設計装置、102はフローサンプリング装置、103は新規フロー判定装置、104はホストテーブル、105は大量フロー生成ホスト特定装置、106は大量フロー生成ホストリストである。
パラメータ設計装置101により、前測定期間において特定されたフローホグの平均サンプルフロー数から、下記(8−1)式に示す総フロー数Mの推定値、メモリサイズB、測定期間Φ、特定閾値m*、その特定確率H*から、Bloom filterのパラメータbとk、ホストテーブルのパラメータβ、特定判断閾値Y、フローサンプリングレートr、ESAのサイズEとが設計される。
測定期間中は、フローサンプリング装置102により着目リンクを流れるフローが一定確率rでサンプルされ、サンプルされたフローが新規のフロー(未カウント)であるか否かを新規フロー判定装置103が判定し、新規フローであった場合にはホストテーブル104が更新される。大量フロー生成ホスト特定装置105はホストテーブル104に登録されたホストから大量フロー生成ホストを特定し、大量フロー生成ホストリスト106に出力する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
In all the drawings for explaining the embodiments, parts having the same functions are given the same reference numerals, and repeated explanation thereof is omitted.
FIG. 1 is a block diagram showing a system configuration to which an optimum memory allocation method of a mass flow generation host specifying method according to an embodiment of the present invention is applied.
In FIG. 1, 101 is a parameter design device, 102 is a flow sampling device, 103 is a new flow determination device, 104 is a host table, 105 is a mass flow generation host specifying device, and 106 is a mass flow generation host list.
From the average number of sample flows of the flow hog specified in the previous measurement period by the
During the measurement period, the flow flowing through the link of interest by the
次に、本実施例の大量フロー生成ホスト特定方法の最適メモリ割当て法について説明する。
[最適メモリ割当て法]
n番目の測定期間Φnの開始点において、測定期間Φnで用いる各種パラメータを適切に設定することを考える。
前測定期間Φn−1における総サンプルフロー数Dn−1と、フローサンプルレートrn−1を用いれば、前測定期間における総フロー数はDn−1/rn−1で推定できるが、測定期間Φnにおいても同数のフローが生成されると想定し、前述の(8−1)式で示す総フロー数の推定値を、下記(8−2)式で与える。
また、実装に際しては、メモリサイズBだけでなく、Bloom filterに用いることが可能なHash関数の数kの最大値kmaxも制約式として考慮することが望ましい。そこで、設計制約パラメータとして、B、L、kmax、任意の値δBF、任意の値δHTの5つが与えられるものとする。
Next, the optimum memory allocation method of the mass flow generation host specifying method of this embodiment will be described.
[Optimal memory allocation method]
Consider appropriately setting various parameters used in the measurement period Φ n at the start point of the n-th measurement period Φ n .
A total sample number of flows D n-1 in the previous measurement period Φ n-1, the use of the flow sample rate r n-1, the total number of flows before the measurement period can be estimated at D n-1 / r n- 1 is Assuming that the same number of flows are generated in the measurement period Φ n , the estimated value of the total number of flows shown in the above equation (8-1) is given by the following equation (8-2).
In mounting, it is desirable to consider not only the memory size B but also the maximum value k max of the number k of Hash functions that can be used for the Bloom filter as a constraint expression. Therefore, five design constraints, B, L, k max , an arbitrary value δ BF , and an arbitrary value δ HT are given.
[メモリサイズBと、特定判断閾値Yが与えられたときのパラメータ設計法]
まず、制約パラメータB、L、kmax、δBF、δHTと、(8−2)式に示す総フロー数Mの推定値、測定期間Φ、m*、H*、Yが与えられたときに、他のパラメータr、k、b、β、Eをどのように設計するかについて述べる。
前述の(3)式を解くことにより、フローサンプリングレートrが得られる。
また、前述の(4)式と、(6)式の総フロー数Mを、(8−2)式に示す推定値に置換えて得られる、下記(9)式と、(10)式を解くことにより、bとkが得られる。ただし、kは最も近い整数値に丸められ、さらにk>kmaxとなった場合には、k=kmaxとする。また、bは上式を満たす最小の整数に設定される。
[Parameter design method when memory size B and specific determination threshold Y are given]
First, constraint parameters B, L, kmax, [delta] BF, and [delta] HT, an estimate of the total number of flows M shown in (8-2) equation, the measurement period [Phi, m *, H *, when Y is given How to design the other parameters r, k, b, β, E will be described.
The flow sampling rate r can be obtained by solving the above equation (3).
Further, the following formulas (9) and (10) obtained by replacing the total number of flows M in the formulas (4) and (6) with the estimated values shown in the formula (8-2) are solved. Thus, b and k are obtained. However, k is rounded to the nearest integer value, and when k> k max is satisfied, k = k max is set. Also, b is set to the smallest integer that satisfies the above equation.
ところで、新規フロー判定のBloom filterのbitmapに、Bbf=2b/8=2b−3(bytes)のメモリ量が必要になる。
また、ESAのサイズEとすると、PSA用に、Bpsa=2β−3[log2E](bytes)のメモリ量が必要となる
また、ホストのエントリは32(bit)のIPアドレス、[log2Y](bits)のサンプルフロー数カウンタ(最大でYまでカウントできればよい)、[log2E](bits)の次エントリへのポインタから構成されるため、ESA用に、Besa=E(32+[log2Y]+[log2E])/8(bytes)のメモリ量が必要となる。
したがって、パラメータY、b、β、Eが与えられたとき、所要メモリ量がB以下となる必要があることから、下記(11)式で示す制約式が得られる。
また、許容最大メモリアクセス数から決まる制約式が、前述の(8)式でNをEで置換えることにより、下記(12)式の制約式が得られる。
これらを満足するβとEの最大値を導出することにより、βとEを設計することができる。
By the way, the memory amount of B bf = 2 b / 8 = 2 b−3 (bytes) is required for the bitmap of the Bloom filter for new flow determination.
Also, if the size of the ESA is E, a memory amount of B psa = 2 β−3 [log 2 E] (bytes) is required for the PSA. The host entry is an IP address of 32 (bit), [ log 2 Y] (bits) sample flow number counter (it should be possible to count up to Y at most), and [log 2 E] (bits) is a pointer to the next entry, so for ESA, B esa = E A memory amount of (32+ [log 2 Y] + [log 2 E]) / 8 (bytes) is required.
Therefore, when the parameters Y, b, β, and E are given, the required memory amount needs to be equal to or less than B. Therefore, the constraint equation shown by the following equation (11) is obtained.
Moreover, the constraint equation determined from the maximum allowable memory access number replaces N with E in the above-described equation (8), whereby the constraint equation of the following equation (12) is obtained.
By deriving the maximum values of β and E that satisfy these conditions, β and E can be designed.
[Yが特定精度に与える影響とYの最適設計法]
特定判断閾値Yの増加に伴い、フローサンプルレートrが増加するため、Bloom filterの新規フロー見逃し率を一定値δBF以下に抑えるために、前述の(11)式よりbが増加し、Bloom filterに割当てられるメモリ量が増加する。
全体で使用できるメモリ量はBで一定であるため、特定判断閾値Yの増加に伴い、ホストテーブルを構成するPSAとESAに割当てられるメモリ量は減少し、βとESAのサイズEは減少する。
特定判断閾値Yの増加は、特定曲線の特定閾値m*付近の傾きを増加させるため、特定判断閾値Yの増加に伴い特定精度は向上する。そのため、FPRはYの増加に伴い単調に改善する。
しかし一方で、特定判断閾値Yの増加は、ESAのサイズEの減少をもたらすため、サンプルされた大量フロー生成ホストのエントリが、ホストテーブルのESA溢れのためにホストテーブルに収容されない確率を増加させる。
その結果、FNRは、特定判断閾値Yの小さな領域では特定判断閾値Yの増加に伴い改善するが、特定判断閾値Yの大きな領域では特定判断閾値Yの増加に伴い悪化する。
よって、本発明では、FNRを最小化する、即ち、見逃される大量フロー生成ホスト数Zを最小化する特定判断閾値Yを、特定判断閾値Yの最適値と定義する。
m=m0(ただしm0≧m*)のある大量フロー生成ホストのエントリがホストテーブルに生成されたという条件のもとで、このホストが特定されない確率の上限をHc(m0)とすると、Hc(m0)は、下記(13)式で得られる。
一方、このホストのエントリがホストテーブル溢れが要因でホストテーブルに収容されない確率の上限をR(m0)とすると、R(m0)は次式で得られる。
[Influence of Y on specific accuracy and optimum design method of Y]
Since the flow sample rate r increases as the specific determination threshold Y increases, in order to keep the new flow miss rate of the Bloom filter below a certain value δ BF , b increases from the above equation (11), and the Bloom filter Increases the amount of memory allocated to.
Since the amount of memory that can be used as a whole is constant at B, as the specific determination threshold Y increases, the amount of memory allocated to PSA and ESA constituting the host table decreases, and the size E of β and ESA decreases.
Since the increase in the specific determination threshold Y increases the slope of the specific curve near the specific threshold m * , the specific accuracy improves as the specific determination threshold Y increases. Therefore, the FPR improves monotonously as Y increases.
However, on the other hand, increasing the specific decision threshold Y leads to a decrease in ESA size E, thus increasing the probability that sampled mass flow generation host entries will not be accommodated in the host table due to host table ESA overflow. .
As a result, the FNR improves with an increase in the specific determination threshold Y in an area where the specific determination threshold Y is small, but deteriorates as the specific determination threshold Y increases in an area where the specific determination threshold Y is large.
Therefore, in the present invention, the specific determination threshold Y that minimizes the FNR, that is, minimizes the number Z of mass flow generation hosts to be overlooked, is defined as the optimum value of the specific determination threshold Y.
Under the condition that an entry of a mass flow generation host having m = m 0 (where m 0 ≧ m * ) is generated in the host table, the upper limit of the probability that this host is not specified is defined as H c (m 0 ). Then, H c (m 0 ) is obtained by the following equation (13).
On the other hand, if the upper limit of the probability that this host entry is not accommodated in the host table due to overflow of the host table is R (m 0 ), R (m 0 ) is obtained by the following equation.
ただし、ホストテーブルにこのホストのエントリが生成されない確率の上限は、R(m0)+δHTで与えられる。
m=m0の大量フロー生成ホストを特定するという観点からは、HC(m0){1−R(m0)}+R(m0)が最小となる特定判断閾値Yが最適となる。
しかし、このようにして算出される、下記(15)式で表される特定判断閾値Yの最適値は、m0の値に応じて異なる。
m0がm*に近い場合や非常に大きな場合、特定判断閾値YがHc(m0)に及ぼす影響が小さくなるため、小さな特定判断閾値Yが、特性判断閾値Yの最適値として選択される。
できるだけ、全ての大量フロー生成ホストを見逃す確率を抑えるためには、大量フロー生成ホストのmを代表するような値をm0に選択することが望ましい。
そこで、m≧m*の全てのホストに対するmの中央値をm0に設定する。実際には、前測定期間において、下記(16−1)式で示す、特定された(サンプルフロー数が特定判断閾値Y以上となった)ホストのサンプルフロー数の中央値を計算し、下記(16−2)式により設定する。
However, the upper limit of the probability of not entries in this host is generated in the host table is given by R (m 0) + δ HT .
From the viewpoint of specifying a mass flow generation host with m = m 0, the specific determination threshold Y that minimizes HC (m 0 ) {1−R (m 0 )} + R (m 0 ) is optimal.
However, the optimum value of the specific determination threshold Y expressed by the following equation (15) calculated in this way differs depending on the value of m 0 .
When m 0 is close to m * or very large, the influence of the specific determination threshold Y on H c (m 0 ) is reduced, so that the small specific determination threshold Y is selected as the optimum value of the characteristic determination threshold Y. The
In order to suppress the probability of missing all the large flow generation hosts as much as possible, it is desirable to select a value representing m of the large flow generation hosts as m 0 .
Therefore, the median value of m for all hosts with m ≧ m * is set to m 0 . Actually, during the previous measurement period, the median of the number of sample flows of the identified host (the number of sample flows is equal to or greater than the specific determination threshold Y) shown by the following equation (16-1) is calculated, and the following ( Set according to 16-2).
ただし、前測定期間の特定処理では大量フロー生成ホストの見逃しや非大量フロー生成ホストの誤特定が生じるため、特定されたホストのサンプルフロー数から推定した生成フロー数の中央値は、実際の大量フロー生成ホストの生成フロー数の中央値とは異なる。
そこで、m0を下記(17)式により補正する。
なお、(17)式において、Nは前測定期間で特定されたホスト数であり、dは、1≦d≦m*−1の範囲の値をとる任意の整数値である.
However, because the identification process in the previous measurement period misses a large flow generation host or misidentifies a non-mass flow generation host, the median number of generated flows estimated from the sample flow number of the specified host is the actual mass This is different from the median number of flows generated by the flow generation host.
Therefore, m 0 is corrected by the following equation (17).
In the equation (17), N is the number of hosts specified in the previous measurement period, and d is an arbitrary integer value that takes a value in the range of 1 ≦ d ≦ m * −1.
以上説明したように、本実施例では、メモリサイズB、測定期間Φ、特定閾値m*、その特定確率H*、測定期間内の総フロー数M、が与えられた場合に、大量フロー生成ホストを誤って見逃す確率(FNR)を最小化するように、Bloom filterのパラメータbとk、ホストテーブルのパラメータβに加え、特定判断閾値Y、フローサンプリングレートr、ESAのサイズEとを最適設計することが可能となる。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
As described above, in this embodiment, when the memory size B, the measurement period Φ, the specific threshold value m * , the specific probability H * , and the total number of flows M in the measurement period are given, the mass flow generation host In addition to the parameters b and k of the Bloom filter and the parameter β of the host table, the specific decision threshold Y, the flow sampling rate r, and the ESA size E are optimally designed so as to minimize the probability of erroneously overlooking (FNR). It becomes possible.
As mentioned above, the invention made by the present inventor has been specifically described based on the above embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be made without departing from the scope of the invention. Of course.
101 パラメータ設計装置
102 フローサンプリング装置
103 新規フロー判定装置
104 ホストテーブル
105 大量フロー生成ホスト特定装置
106 大量フロー生成ホストリスト
DESCRIPTION OF
Claims (4)
特定判断閾値Yをパラメータに持ち、任意の生成フロー数m0を有する大量フロー生成ホストがホストテーブルにエントリされたという条件のもとで特定されない確率の上限HC(m0)と、このホストがホストテーブルにエントリされない確率の上限R(m0)とを導出し、
HC(m0){1−R(m0)}+R(m0)を最小化する特定判断閾値Yを最適値として導出し、
当該導出した特定判断閾値Yと、前記実装されているメモリ量Bとに基づき、大量フロー生成ホストを誤って見逃す確率を最小化するように、前記Bloom filterと前記ホストテーブルの全てのパラメータを導出することを特徴とする最適メモリ割当て方法。 Using a host table that stores the number of sample flows for each sampled host and a Bloom filter used for determining a new flow, only using statistical data obtained by flow sampling, a mass flow generation host specifying device Oite the flow Hogs particular method for identifying a host number of flows to be generated per unit time is equal to or greater than a threshold, the parameter designing apparatus, a memory mounted a optimal memory allocation method for optimally distributed,
The upper limit H C (m 0 ) of the probability that a large-volume flow generation host having the specific determination threshold Y as a parameter and having an arbitrary number of generated flows m 0 is entered in the host table, and this host And an upper limit R (m 0 ) of the probability that is not entered in the host table,
A specific determination threshold Y that minimizes H C (m 0 ) {1−R (m 0 )} + R (m 0 ) is derived as an optimum value;
Deriving a certain determination threshold Y that the derived, based on the amount of memory B being the mounting, so as to minimize the probability of missing accidentally Flow Hogs, all parameters of the Bloom filter and the host table An optimal memory allocation method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006190115A JP4311682B2 (en) | 2006-07-11 | 2006-07-11 | Optimal memory allocation method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006190115A JP4311682B2 (en) | 2006-07-11 | 2006-07-11 | Optimal memory allocation method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008022113A JP2008022113A (en) | 2008-01-31 |
| JP4311682B2 true JP4311682B2 (en) | 2009-08-12 |
Family
ID=39077772
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006190115A Expired - Fee Related JP4311682B2 (en) | 2006-07-11 | 2006-07-11 | Optimal memory allocation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4311682B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5192451B2 (en) * | 2009-06-22 | 2013-05-08 | 日本電信電話株式会社 | Network quality calculation system and method and program |
| JP5745464B2 (en) * | 2012-06-15 | 2015-07-08 | 日本電信電話株式会社 | Access history storage and retrieval apparatus and method |
-
2006
- 2006-07-11 JP JP2006190115A patent/JP4311682B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008022113A (en) | 2008-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20090094699A1 (en) | Apparatus and method of detecting network attack situation | |
| US8018845B2 (en) | Sampling rate-limited traffic | |
| US8214490B1 (en) | Compact input compensating reputation data tracking mechanism | |
| JP2009534001A (en) | Malicious attack detection system and related use method | |
| US9979624B1 (en) | Large flow detection for network visibility monitoring | |
| US8468601B1 (en) | Method and system for statistical analysis of botnets | |
| US10097464B1 (en) | Sampling based on large flow detection for network visibility monitoring | |
| US8195750B1 (en) | Method and system for tracking botnets | |
| US10033613B1 (en) | Historically large flows in network visibility monitoring | |
| US8121043B2 (en) | Approach for managing the consumption of resources using adaptive random sampling | |
| WO2023103231A1 (en) | Low-rate ddos attack detection method and system, and related device | |
| US11811733B2 (en) | Systems and methods for operating a networking device | |
| US12585790B2 (en) | Traffic processing method and protection system | |
| JP4311682B2 (en) | Optimal memory allocation method | |
| US8782504B2 (en) | Trend-analysis scheme for reliably reading data values from memory | |
| US7873833B2 (en) | Detection of frequent and dispersed invariants | |
| Turkovic et al. | Detecting heavy hitters in the data-plane | |
| JP2017199250A (en) | Computer system, data analysis method, and computer | |
| CN118921214B (en) | DDoS attack detection and mitigation method based on P4 programmable switch | |
| Mazel et al. | Identifying and characterizing ZMap scans: a cryptanalytic approach | |
| CN116760649B (en) | Data security protection and early warning method based on big data | |
| CN118764324A (en) | Capacitive DDoS attack dynamic defense system and method based on programmable switch | |
| JP4768674B2 (en) | Worm-infected host identification method and worm-infected host identification system | |
| Sateesan et al. | SPArch: a hardware-oriented sketch-based architecture for high-speed network flow measurements | |
| JP4209897B2 (en) | Mass flow generation host identification method and system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080723 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081006 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090106 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090305 |
|
| 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: 20090507 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090508 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4311682 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140522 Year of fee payment: 5 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |