Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5745464B2 - Access history storage and retrieval apparatus and method - Google Patents
[go: Go Back, main page]

JP5745464B2 - Access history storage and retrieval apparatus and method - Google Patents

Access history storage and retrieval apparatus and method Download PDF

Info

Publication number
JP5745464B2
JP5745464B2 JP2012136313A JP2012136313A JP5745464B2 JP 5745464 B2 JP5745464 B2 JP 5745464B2 JP 2012136313 A JP2012136313 A JP 2012136313A JP 2012136313 A JP2012136313 A JP 2012136313A JP 5745464 B2 JP5745464 B2 JP 5745464B2
Authority
JP
Japan
Prior art keywords
destination
access history
bloom filter
accessed
source
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
Application number
JP2012136313A
Other languages
Japanese (ja)
Other versions
JP2014002483A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012136313A priority Critical patent/JP5745464B2/en
Publication of JP2014002483A publication Critical patent/JP2014002483A/en
Application granted granted Critical
Publication of JP5745464B2 publication Critical patent/JP5745464B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、アクセス履歴記憶及び検索装置及び方法に係り、特に、どの送信元がどの宛先にアクセスしたかを保持するアクセス履歴を、少ないリソースで作成するためのアクセス履歴記憶及び検索装置及び方法に関する。   The present invention relates to an access history storage and retrieval apparatus and method, and more particularly, to an access history storage and retrieval apparatus and method for creating an access history that holds which destination accessed which destination by using fewer resources. .

ネットワーク運用において、ユーザのアクセス履歴を記録しておくことは重要である。例えば、アクセス履歴を記録することにより、いつ、どのアクセス先へ、どのユーザがアクセスしたかを知ることができる。例えば、フィッシングなどの悪意あるサイトが発見されたとき、そのサイトへアクセスしたユーザを把握でき、影響範囲の把握や、アクセスしたユーザへの警告を行うことができる。なお、上記のような悪意あるサイトは発見が遅れることがあるため、アクセス履歴は長期間記録しておくことが望ましい。   In network operation, it is important to record user access history. For example, by recording an access history, it is possible to know when and which user has accessed which access destination. For example, when a malicious site such as phishing is discovered, it is possible to grasp the user who has accessed the site, understand the range of influence, and warn the accessing user. It is desirable to record the access history for a long period of time because discovery of such malicious sites may be delayed.

アクセス履歴を記録する最も単純な方法は、全ての送信元と通信先(宛先)の組を保存しておくことである。しかしながら、大規模ネットワークにおいては送信元-宛先の組み合わせ数が膨大となり、保存には大量のリソースが必要となる。このことから、単純な方法でアクセス履歴を長期間記録し続けることは困難である。   The simplest method of recording the access history is to save all sets of transmission sources and communication destinations (destinations). However, in a large-scale network, the number of source-destination combinations is enormous, and a large amount of resources are required for storage. For this reason, it is difficult to record the access history for a long period of time by a simple method.

大量の要素を効率的に格納するデータ構造としてBloom filterがあり(例えば、非特許文献1参照)、様々なネットワークアプリケーションに利用されている(例えば、非特許文献2参照)。
Bloom filterを用いて、挿入され得る全ての要素について調べることでアクセス履歴の記録、検索を行うことができる。具体的には、まず送信元‐宛先の組を要素としてBloom filterに挿入する。ある宛先へアクセスした送信元を列挙したいときは、アクセスし得る送信元(網内の全ユーザ)全てに対し、送信元-宛先の組を作り、Bloom filterに挿入されたかどうか検索を行えばよい。
There is a Bloom filter as a data structure for efficiently storing a large amount of elements (for example, see Non-Patent Document 1), and it is used in various network applications (for example, see Non-Patent Document 2).
Access history can be recorded and searched by checking all elements that can be inserted using the Bloom filter. Specifically, first, a source-destination pair is inserted into the Bloom filter as an element. When you want to enumerate the senders that have accessed a certain destination, you can create a sender-destination pair for all the senders (all users in the network) that can access it, and search whether they have been inserted in the Bloom filter. .

B. Bloom, "Space/Time Tradeoffs in Hash Coding with Allowable Errors," Communications of the ACM, 1970.B. Bloom, "Space / Time Tradeoffs in Hash Coding with Allowable Errors," Communications of the ACM, 1970. A. Broder and M. Mitzenmacher, "Network Applications of Bloom Filters: A Survey," Internet Mathematics, 2005.A. Broder and M. Mitzenmacher, "Network Applications of Bloom Filters: A Survey," Internet Mathematics, 2005.

しかしながら、Bloom filterはその特性から要素が挿入されていない場合でも、存在していると判定する誤検出が発生する。Bloom filterのパラメータ次第では、実際にアクセスしていない送信元が大量に出現してしまう可能性がある。誤検出の発生確率は挿入する要素数やBloom filterのデータサイズなどに依存するため、誤検出の発生確率を小さくするためにはそのデータサイズを十分大きくすればよい。しかし、挿入する要素数によっては、Bloom filterを用いても記憶のために大量のリソースが必要になる。   However, the Bloom filter may be erroneously detected as being present even if no element is inserted due to its characteristics. Depending on the parameters of the Bloom filter, a large number of senders that are not actually accessed may appear. Since the occurrence probability of erroneous detection depends on the number of elements to be inserted, the data size of the Bloom filter, and the like, the data size may be increased sufficiently to reduce the occurrence probability of erroneous detection. However, depending on the number of elements to be inserted, a large amount of resources are required for storage even if a Bloom filter is used.

本発明は、上記の点に鑑みなされたもので、膨大なアクセス履歴を少ないリソースで保存し、かつ、高精度で検索することが可能なアクセス履歴記憶及び検索装置及び方法を提供することを目的とする。   The present invention has been made in view of the above points, and it is an object of the present invention to provide an access history storage and retrieval apparatus and method capable of storing a huge access history with a small number of resources and performing a search with high accuracy. And

上記の課題を解決するため、本発明(請求項1)は、送信元と宛先の組み合わせで表現されるアクセス履歴を記憶及び検索するアクセ履歴記憶及び検索装置であって、
収集された送信元の集合Sと宛先の集合Dが与えられると、該Sおよび該Dをそれぞれ記憶手段に格納し、該Sと該Dの組み合わせのうち、実際にアクセスしたと観測された組を要素としてBloom filterに挿入し、該記憶手段に格納するアクセス履歴記録手段と、
入力されたある宛先に基づいて前記記憶手段を検索し、アクセスした送信元を出力する、または、入力されたある送信元に基づいて、該記憶手段を検索し、アクセスした宛先を出力する検索手段と、を有し、
前記アクセス履歴記録手段は、
前記Bloom filterを用いたアクセス履歴を前記記憶手段に格納する際に、
アクセスした送信元数が少ない宛先を含む要素ほど、前記Bloom filterへの挿入時にハッシュ関数の個数kを大きくする、またはアクセスした宛先数が少ない送信元を含む要素ほど、該Bloom filterへの挿入時にハッシュ関数の個数kを大きくする最適化手段を含む
To solve the above problems, the present invention (Claim 1) is an access history storage and retrieval device for storing and retrieving the access history is represented by a combination of source and destination,
When the collected source set S and destination set D are given, the S and the D are respectively stored in the storage means, and the combination of the S and the D that is observed to be actually accessed is stored. Is inserted into the Bloom filter as an element, and the access history recording means for storing in the storage means,
Search means for searching the storage means based on a certain input destination and outputting the accessed transmission source, or searching for the storage means based on a certain transmission source and outputting the accessed destination and, the possess,
The access history recording means includes
When storing the access history using the Bloom filter in the storage means,
An element including a destination with a smaller number of accessed sources increases the number k of hash functions at the time of insertion into the Bloom filter, or an element including a source with a smaller number of accessed destinations at the time of insertion into the Bloom filter. Optimization means for increasing the number k of hash functions is included .

また、本発明(請求項)は、前記最適化手段において、
前記ハッシュ関数の個数kを、
前記Bloom filterのビット数をm、
前記Bloom filterに挿入する全要素数をn、
各要素毎の誤検出率をpi (1 <= i <= n)、
各要素毎のハッシュ関数の個数をki (1 <= i <= n)を要素に持つベクトルをKとしたとき、
Further, the present invention (Claim 2 ) provides the optimization means,
The number k of the hash functions is
The bit number of the Bloom filter is m,
The total number of elements to be inserted into the Bloom filter is n,
P i (1 <= i <= n) for the false detection rate for each element,
When K is a vector having k i (1 <= i <= n) as the number of hash functions for each element,

Figure 0005745464
を用いて決定する手段を含む。
Figure 0005745464
Means for determining using.

また、本発明(請求項)は、前記検索手段において、
ある宛先dが入力された場合に、該宛先dと送信元Sとの全ての組み合わせに対して前記Bloom filterを検索し、該宛先dにアクセスした送信元を出力する手段と、
ある送信元sが入力された場合に、該送信元sと宛先Dとの全ての組み合わせに対して前記Bloom filterを検索し、該送信元sがアクセスした宛先を出力する手段と、を含む。
Further, the present invention (Claim 3 ) provides the retrieval means,
Means for searching the Bloom filter for all combinations of the destination d and the source S when a destination d is input, and outputting the source that accessed the destination d;
Means for searching the Bloom filter for all combinations of the transmission source s and the destination D and outputting the destination accessed by the transmission source s when a transmission source s is input.

上記のように本発明によれば、Bloom filterを用いることで、膨大なアクセス履歴を少ないリソースで長期間保持することができる。また、Bloom filterの挿入要素ごとにハッシュ関数の個数を決定することにより、検索結果の精度を高めることができる。   As described above, according to the present invention, by using a Bloom filter, a huge access history can be held for a long time with a small number of resources. Further, the accuracy of the search result can be improved by determining the number of hash functions for each insertion element of the Bloom filter.

本発明の一実施の形態におけるシステム構成図である。1 is a system configuration diagram according to an embodiment of the present invention. 本発明の一実施の形態におけるアクセス履歴記録・検索部の構成図である。It is a block diagram of the access history recording / retrieval part in one embodiment of this invention. 本発明の一実施の形態におけるBloom filterのデータ構造である。It is a data structure of Bloom filter in one embodiment of the present invention. 本発明の一実施の形態におけるBloom filterへの要素の挿入手順である。It is the insertion procedure of the element in the Bloom filter in one embodiment of this invention. 本発明の一実施の形態におけるBloom filterへの要素の要素挿入判定手順である。It is the element insertion determination procedure of the element in the Bloom filter in one embodiment of the present invention. 本発明の一実施の形態におけるアクセス履歴のBloom filterへの挿入例である。It is an example of inserting the access history into the Bloom filter in one embodiment of the present invention. 本発明の一実施の形態における検索の例である。It is an example of the search in one embodiment of this invention. 本発明の一実施の形態におけるアクセス数の偏りを示す図である。It is a figure which shows the deviation of the access number in one embodiment of this invention. 本発明の一実施の形態における挿入要素毎のハッシュ関数の個数の最適化の例である。It is an example of the optimization of the number of hash functions for every insertion element in one embodiment of this invention.

以下、図面と共に本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

本発明は、大量の要素を効率的に格納するデータ構造として用いられているBloom filterを利用し、送信元と宛先の組み合わせのうち、実際にアクセスしたと観測された組を要素としてBloom filterに挿入し、記憶することで、膨大なアクセス履歴を少ないリソースで長期間保持するものである。   The present invention uses a Bloom filter that is used as a data structure for efficiently storing a large number of elements, and among the combinations of a source and a destination, a pair that is observed to be actually accessed is used as an element in the Bloom filter. By inserting and storing, an enormous access history is retained for a long time with few resources.

図1は、本発明の一実施の形態におけるシステム構成を示す。   FIG. 1 shows a system configuration according to an embodiment of the present invention.

同図に示すシステムは、アクセス履歴記憶・検索装置100、運用者装置1、送信元装置2、通信先サーバ3、ルータまたはプロキシサーバ4から構成される。   The system shown in FIG. 1 includes an access history storage / retrieval device 100, an operator device 1, a transmission source device 2, a communication destination server 3, a router, or a proxy server 4.

アクセス履歴記憶・検索装置100は、ルータまたはプロキシサーバ4からどの送信元装置2から宛先の通信先サーバ3へのアクセス情報を収集するデータ収集部110と、アクセス情報を取得しBloom filterを用いて記録し、運用者装置1からの検索リクエストに応じてアクセス履歴を検索するアクセス履歴記録・検索部120を有する。アクセス履歴記録・検索部120は、図2に示すように、アクセス履歴記録部121、アクセス履歴記憶部122、検索部123から構成される。   The access history storage / retrieval device 100 uses a data collection unit 110 that collects access information from a transmission source device 2 to a destination communication destination server 3 from a router or proxy server 4, and acquires access information and uses a Bloom filter. It has an access history recording / retrieval unit 120 that records and retrieves an access history in response to a search request from the operator device 1. As shown in FIG. 2, the access history recording / search unit 120 includes an access history recording unit 121, an access history storage unit 122, and a search unit 123.

最初に、アクセス履歴記録・検索部120で用いられるBloom filterについて説明する。   First, the Bloom filter used in the access history recording / retrieval unit 120 will be described.

Bloom Filterは任意の要素の挿入および存在の判定(検索)が可能な確率的データ構造である。図3のように、Bloom Filterの構造は0または1の値を取るビット列で表現され、要素の挿入の際には、アクセス履歴記録部121においてその要素に対応するビットに1を設定する。検索部123が要素の検索を行うときは、検索対象の要素に対応するビットの値を調べ、そのビットが1であるとき要素が存在すると判定する。対応するビットを決定するためには、任意の要素を数値に変換するハッシュ関数を用いる。Bloom Filterの特徴として、挿入する要素に対して必要な空間が非常に小さいことが挙げられる。ただし、Bloom Filterの検索操作において、ある要素を挿入していない場合でも、その要素が存在していると判定する誤検出が発生する。   Bloom Filter is a probabilistic data structure that allows insertion and determination (search) of arbitrary elements. As shown in FIG. 3, the Bloom Filter structure is represented by a bit string that takes a value of 0 or 1. When an element is inserted, the access history recording unit 121 sets 1 to the bit corresponding to that element. When the search unit 123 searches for an element, the value of the bit corresponding to the element to be searched is checked, and when the bit is 1, it is determined that the element exists. In order to determine the corresponding bit, a hash function for converting an arbitrary element into a numerical value is used. A feature of Bloom Filter is that the space required for the elements to be inserted is very small. However, in the Bloom Filter search operation, even if a certain element is not inserted, a false detection that determines that the element exists is generated.

以下、Bloom Filterの挿入、検索操作および誤検出の詳細について述べる。   The details of Bloom Filter insertion, search operation, and false detection will be described below.

[Bloom filterのパラメータ]
以下、Bloom FilterをB、Bloom Filterのビット長をm、Bのi番目(1 ≦ i ≦ m)のビットの値をB[i]とする。また、挿入する要素をx1, x2, …, xn、ハッシュ関数をH1,H2,…,Hkとする。ここで、k個のハッシュ関数は1からmの値を出力し、それぞれの関数が出力する値はそれぞれ異なるものとする。
[Bloom filter parameters]
Hereinafter, the Bloom Filter is B, the bit length of the Bloom Filter is m, and the value of the i-th bit (1 ≦ i ≦ m) of B is B [i]. Also, the elements to be inserted are x 1 , x 2 ,..., X n , and the hash functions are H 1, H 2 ,. Here, k hash functions output values from 1 to m, and the values output by the respective functions are different.

[Bloom filterへの要素の挿入]
アクセス履歴記録部121におけるBloom Filterへの要素の挿入手順を図4に記す。
[Insert element into Bloom filter]
The procedure for inserting elements into the Bloom Filter in the access history recording unit 121 is shown in FIG.

(1)まず、挿入する要素xiを、k個のハッシュ関数に適用する。 (1) First, the element x i to be inserted is applied to k hash functions.

(2)次に、出力された値の位置のビットを1に設定する。具体的には、B[H1] = 1,…,B[Hk] = 1とする。 (2) Next, the bit at the position of the output value is set to 1. Specifically, B [H 1 ] = 1,..., B [H k ] = 1.

[Bloom filterにおける要素の検索]
検索部123がある要素がBloom Filterに挿入されたかどうかを判定する手順を図5に記す。
[Find elements in Bloom filter]
FIG. 5 shows a procedure for determining whether or not an element having the search unit 123 is inserted into the Bloom Filter.

(1)まず、検索する要素xjを、k個のハッシュ関数に適用する。 (1) First, an element x j to be searched is applied to k hash functions.

(2)次に、出力された値の位置のビットを調べ、k個のビット全てが1の場合は要素が存在する(真)、1つでも0のビットがある場合は要素が存在しない(偽)と判定する。   (2) Next, the bit at the position of the output value is examined. If all k bits are 1, the element is present (true), and if at least one bit is 0, the element is not present ( FALSE)

[誤検出の発生確率]
Bloom Filterは空間効率性に優れているが、検索時において存在したい要素に対して存在すると判定する誤検出が存在する。これはハッシュ関数の衝突によって検索したビットが全て1となる可能性があるからである。Bloom filterの誤検出の発生確率は、Bloom filterのビット長m、挿入する要素数nおよびハッシュ関数の個数kによって計算される。誤検出はBloom filterのビット長mに対して、1であるビット数の割合が小さいほど少なくなる。すなわち、誤検出の発生確率を低くしたいときは、mを大きくすればよい。また、mおよびnが決まっているとき、誤検出の発生確率を最小にするkを計算することができる。
[Probability of false detection]
Bloom Filter is excellent in space efficiency, but there is a false detection that determines that it exists for an element that it wants to exist at the time of search. This is because all the retrieved bits may be 1 due to the hash function collision. The probability of occurrence of false detection of the Bloom filter is calculated from the bit length m of the Bloom filter, the number n of elements to be inserted, and the number k of hash functions. The number of false detections decreases as the ratio of the number of bits of 1 to the bit length m of the Bloom filter decreases. That is, if it is desired to reduce the probability of erroneous detection, m should be increased. Further, when m and n are determined, k that minimizes the probability of erroneous detection can be calculated.

[Bloom filterを用いたアクセス履歴の記録および検索方法]
a個の送信元S = {s1,s2,…,sa}と、b個の宛先D = {d1,d2,…,db}が存在するとする。このとき、大規模ネットワーク上においてアクセス履歴(si, dj) (1 ≦ i ≦ a,1 ≦ j ≦ b)の組み合わせは膨大となり、全てを保持することは困難である。そこで、アクセス履歴記録部121は、SおよびDのみそれぞれ保存し、(si, dj)の組をBloom Filterを用いて保存することで、必要なリソースを大幅に削減することができる。アクセス履歴のBloom filterへの挿入を図6に示す。
[Recording and searching access history using Bloom filter]
a number of source S = {s 1, s 2 , ..., s a} and, b number of the destination D = {d 1, d 2 , ..., d b} to exist. At this time, the combination of access histories (s i, d j ) (1 ≦ i ≦ a, 1 ≦ j ≦ b) is enormous on a large-scale network, and it is difficult to maintain all of them. Therefore, the access history recording unit 121 stores only S and D, and stores the pair (s i, d j ) using the Bloom Filter, so that necessary resources can be significantly reduced. The insertion of access history into the Bloom filter is shown in FIG.

ある宛先dへどの送信元がアクセスしたかを知りたいときは、検索部123において、dと全ての送信元の組み合わせ(sj, d) (1 ≦ j ≦ b)に対し、Bloom filterに挿入されているかを検索し、挿入されている送信元を列挙すればよい。アクセス履歴の検索を図7に示す。 When it is desired to know which sender has accessed a certain destination d, the search unit 123 inserts the combination of d and all the senders (s j , d) (1 ≤ j ≤ b) into the Bloom filter. It is only necessary to search for the transmission source and list the inserted transmission sources. The access history search is shown in FIG.

[アクセス数の偏りとBloom filterの誤検出の課題]
ここで、アクセス履歴の偏りとBloom filterの誤検出について考える。
[Bias of access count and the problem of false detection of Bloom filter]
Here, consider bias in access history and false detection of the Bloom filter.

ネットワークにおけるアクセス履歴の特性に関して、少数の宛先に非常に多くの送信元がアクセスするという偏りがあることが知られている(例えば、文献「M. Aida, N. Takahashi, and T. Abe, "A proposal of Dual Zipfian Model describing HTTP access trends and its application to address cache design."』参照」。   Regarding the characteristics of access history in the network, it is known that there are biases that a very large number of sources access a small number of destinations (for example, documents “M. Aida, N. Takahashi, and T. Abe,” See A proposal of Dual Zipfian Model describing HTTP access trends and its application to address cache design.

例えば、アクセス送信元が多い宛先をdmajor,アクセス送信元が少ない宛先をdminorとし、それぞれの送信元数を100,000および100とする。また、全送信元数を1,000,000とし、誤検出率を0.1%となるようBloom filterを作成し、アクセス履歴を登録する。このとき、dmajor,dminorそれぞれどの送信元がアクセスしたかを検索すると、検索回数は全送信元数である1,000,000回行われ、誤検出数は1,000,000の0.1%である1,000となる。すなわち、dmajorでは101,000,dminorでは1,100の送信元が検索結果(推定値)として出力されることになる。 For example, a destination having a large number of access transmission sources is d major , a destination having a small number of access transmission sources is d minor , and the numbers of transmission sources are 100,000 and 100, respectively. Also, a Bloom filter is created so that the total number of transmission sources is 1,000,000 and the false detection rate is 0.1%, and the access history is registered. At this time, when a search is made as to which sender of each of d major and d minor has accessed, the number of searches is performed 1,000,000 times, which is the total number of senders, and the number of false detections is 1,000, which is 0.1% of 1,000,000. That is, the in d major 101,000, the source of 1,100 in d minor is output as the search result (estimated value).

この場合の検索結果の精度を考えたとき、dmajorについては推定値が真の値の1.01倍、dminorに関しては推定値が真の値の11倍となる。この例のように、アクセス傾向の偏りによってアクセス履歴の検索によって得られる推定値と真の値の差にも偏りが出てしまう。 この例を図8に記す。 Considering the accuracy of the search result in this case, the estimated value for d major is 1.01 times the true value, and for d minor , the estimated value is 11 times the true value. As in this example, the difference between the estimated value obtained by the access history search and the true value is biased due to the bias of the access tendency. An example of this is shown in FIG.

[挿入要素ごとのハッシュ関数の個数の最適化]
上記の課題に対して、アクセス履歴の偏りにかかわらず、推定値と真の値の差を平準化する方式を考える。前述の通り、Bloom filterの誤検出は、全ビット数mに対する、値が1であるビットの割合を少なくすればよい。
[Optimization of the number of hash functions for each inserted element]
To solve the above problem, consider a method of leveling the difference between the estimated value and the true value regardless of the bias of the access history. As described above, the false detection of the Bloom filter may be performed by reducing the ratio of bits having a value of 1 to the total number of bits m.

そこで、挿入する要素ごとにハッシュ関数の個数kを変える方式を提案する。具体的には、アクセス履歴記録部121において、アクセス送信元数が多い宛先を含む要素を挿入するときはハッシュ関数の個数kを小さく、アクセス送信元数が少ない宛先を含む要素を挿入するときはkの個数を大きくする。この方式を図9に記す。ここで、kの決定方法に関しては、推定値と真の値との割合が一定の割合となるようにする。例えば、推定値と真の値との差が、真の値の10%まで許容すると、上記のdmajorに関しては10,000まで、dminorに関しては10までの誤検出数を許容する。このようにすることで、アクセス傾向の偏りに関わらず推定値と真の値との差を平準化することができる。 Therefore, a method is proposed in which the number k of hash functions is changed for each element to be inserted. Specifically, in the access history recording unit 121, when inserting an element including a destination having a large number of access transmission sources, the number k of hash functions is reduced, and when inserting an element including a destination having a small number of access transmission sources Increase the number of k. This method is shown in FIG. Here, regarding the method of determining k, the ratio between the estimated value and the true value is set to a constant ratio. For example, if the difference between the estimated value and the true value is allowed up to 10% of the true value, the number of false detections is allowed up to 10,000 for d major and up to 10 for d minor . In this way, the difference between the estimated value and the true value can be leveled regardless of the bias in the access tendency.

本発明では、Bloom filterを、検索要素数ではなく、検索によって得られる値と真の値の差(割合)を一定にする。これにより、アクセス送信元数が多い宛先の検索時における誤検出数を許容範囲としつつ、アクセス送信元が少ない宛先の検索時の誤検出数を少なくすることができる。   In the present invention, the Bloom filter makes the difference (ratio) between the value obtained by the search and the true value constant, not the number of search elements. As a result, it is possible to reduce the number of false detections when searching for a destination with a small number of access transmission sources while keeping the number of erroneous detections when searching for a destination with a large number of access transmission sources within an allowable range.

[ハッシュ関数の個数kの決定方式例]
ここでは、各要素毎のハッシュ関数の個数kの値を決定する方式の例を記す。
[Example of determining the number k of hash functions]
Here, an example of a method for determining the value of the number k of hash functions for each element will be described.

ハッシュ関数の個数を決定するために、誤検出の発生確率を定式化する。ここで、ハッシュ関数の出力に偏りはないものとする。ある要素xj(1 ≦ j ≦n)に対するハッシュ関数の個数をkiとするとき、あるビットの値が0である確率は以下のようになる。 In order to determine the number of hash functions, the occurrence probability of false detection is formulated. Here, it is assumed that there is no bias in the output of the hash function. When the number of hash functions for a certain element x j (1 ≦ j ≦ n) is k i , the probability that the value of a certain bit is 0 is as follows.

Figure 0005745464
よって、n個の要素を挿入したときあるビットの値が0である確率は式1から
Figure 0005745464
Therefore, the probability that a bit value is 0 when n elements are inserted is

Figure 0005745464
となる。ある要素xiがBloom filterに挿入されたと判定されるときは、ki個のハッシュ関数の出力に対応するビットの値が全て1のときであるので、要素xiに関する誤検出の発生確率piは式2を用いて以下のようになる。
Figure 0005745464
It becomes. When it is determined that an element x i has been inserted into the Bloom filter, since the values of bits corresponding to outputs of k i hash functions are all 1, the probability of occurrence of false detection p for the element x i i is as follows using Equation 2.

Figure 0005745464
上記によって得られた式3を用いて各要素のハッシュ関数の個数を決定する。
Figure 0005745464
The number of hash functions for each element is determined using Equation 3 obtained as described above.

本発明は挿入する要素ごとに誤検出の発生確率を定め、ハッシュ関数の個数を求めるものである。前述のように、推定値と真の値との割合を一定にするよう誤検出の発生確率を定め、各piに対して The present invention determines the occurrence probability of false detection for each element to be inserted, and obtains the number of hash functions. As described above, the probability of false detection is determined so that the ratio between the estimated value and the true value is constant, and for each p i

Figure 0005745464
を満たすような各kiを計算する。ここで、mおよびnは与えられているものとする。
Figure 0005745464
Each k i that satisfies is calculated. Here, m and n are assumed to be given.

なお、上記のアクセス履歴記録・検索装置の構成要素の動作をプログラムとして構築し、アクセス履歴記録・検索装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   In addition, it is possible to construct the operation of the above-mentioned components of the access history recording / retrieval device as a program and install it on a computer used as the access history recording / retrieval device, or to distribute it via a network. It is.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications can be made within the scope of the claims.

1 運用者装置
2 送信元装置
3 通信先サーバ
4 ルータまたはプロキシサーバ
100 アクセス履歴記憶・検索装置
110 データ収集部
120 アクセス履歴・記録検索部
121 アクセス履歴記録部
122 アクセス履歴記憶部
123 検索部
DESCRIPTION OF SYMBOLS 1 Operator apparatus 2 Transmission source apparatus 3 Communication destination server 4 Router or proxy server 100 Access history storage / retrieval apparatus 110 Data collection part 120 Access history / record search part 121 Access history record part 122 Access history storage part 123 Search part

Claims (6)

送信元と宛先の組み合わせで表現されるアクセス履歴を記憶及び検索するアクセ履歴記憶及び検索装置であって、
収集された送信元の集合Sと宛先の集合Dが与えられると、該Sおよび該Dをそれぞれ記憶手段に格納し、該Sと該Dの組み合わせのうち、実際にアクセスしたと観測された組を要素としてBloom filterに挿入し、該記憶手段に格納するアクセス履歴記録手段と、
入力されたある宛先に基づいて前記記憶手段を検索し、アクセスした送信元を出力する、または、入力されたある送信元に基づいて、該記憶手段を検索し、アクセスした宛先を出力する検索手段と、を有し、
前記アクセス履歴記録手段は、
前記Bloom filterを用いたアクセス履歴を前記記憶手段に格納する際に、
アクセスした送信元数が少ない宛先を含む要素ほど、前記Bloom filterへの挿入時にハッシュ関数の個数kを大きくする、またはアクセスした宛先数が少ない送信元を含む要素ほど、該Bloom filterへの挿入時にハッシュ関数の個数kを大きくする最適化手段を含む
ことを特徴とするアクセス履歴記憶及び検索装置。
A access history storage and retrieval device for storing and retrieving the access history is represented by a combination of source and destination,
When the collected source set S and destination set D are given, the S and the D are respectively stored in the storage means, and the combination of the S and the D that is observed to be actually accessed is stored. Is inserted into the Bloom filter as an element, and the access history recording means for storing in the storage means,
Search means for searching the storage means based on a certain input destination and outputting the accessed transmission source, or searching for the storage means based on a certain transmission source and outputting the accessed destination and, the possess,
The access history recording means includes
When storing the access history using the Bloom filter in the storage means,
An element including a destination with a smaller number of accessed sources increases the number k of hash functions at the time of insertion into the Bloom filter, or an element including a source with a smaller number of accessed destinations at the time of insertion into the Bloom filter. An access history storage / retrieval device comprising optimization means for increasing the number k of hash functions .
前記最適化手段は、
前記ハッシュ関数の個数kを、
前記Bloom filterのビット数をm、
前記Bloom filterに挿入する全要素数をn、
各要素毎の誤検出率をpi (1 ≦ i ≦ n)、
各要素毎のハッシュ関数の個数をki (1 ≦ i ≦ n)を要素に持つベクトルをKとしたとき、
Figure 0005745464

を用いて決定する手段を含む
請求項記載のアクセス履歴記憶及び検索装置。
The optimization means includes
The number k of the hash functions is
The bit number of the Bloom filter is m,
The total number of elements to be inserted into the Bloom filter is n,
P i (1 ≤ i ≤ n) for the false detection rate for each element,
When K is a vector having k i (1 ≤ i ≤ n) as the number of hash functions for each element,
Figure 0005745464

Access history storage and retrieval device of claim 1 further comprising means for determining using.
前記検索手段は、
ある宛先dが入力された場合に、該宛先dと送信元Sとの全ての組み合わせに対して前記Bloom filterを検索し、該宛先dにアクセスした送信元を出力する手段と、
ある送信元sが入力された場合に、該送信元sと宛先Dとの全ての組み合わせに対して前記Bloom filterを検索し、該送信元sがアクセスした宛先を出力する手段と、
を含む請求項1記載のアクセス履歴記憶及び検索装置。
The search means includes
Means for searching the Bloom filter for all combinations of the destination d and the source S when a destination d is input, and outputting the source that accessed the destination d;
Means for searching the Bloom filter for all combinations of the transmission source s and destination D when a transmission source s is input, and outputting the destination accessed by the transmission source s;
The access history storage and retrieval device according to claim 1, comprising:
送信元と宛先の組み合わせで表現されるアクセス履歴を記憶及び検索するアクセ履歴記憶及び検索方法であって、
アクセス履歴を格納する記憶手段と、
アクセス履歴記録手段と、
検索手段と、を有する装置において、
前記アクセス履歴記録手段が、収集された送信元の集合Sと宛先の集合Dが与えられると、該Sおよび該Dをそれぞれ前記記憶手段に格納し、該Sと該Dの組み合わせのうち、実際にアクセスしたと観測された組を要素としてBloom filterに挿入し、該記憶手段に格納するアクセス履歴記録ステップと、
前記検索手段が、入力されたある宛先に基づいて前記記憶手段を検索し、アクセスした送信元を出力する、または、入力されたある送信元に基づいて、該記憶手段を検索し、アクセスした宛先を出力する検索ステップと、を行い、
前記アクセス履歴記録ステップにおいて、
前記Bloom filterを用いたアクセス履歴を前記記憶手段に格納する際に、
アクセスした送信元数が少ない宛先を含む要素ほど、前記Bloom filterへの挿入時にハッシュ関数の個数kを大きくする、またはアクセスした宛先数が少ない送信元を含む要素ほど、該Bloom filterへの挿入時にハッシュ関数の個数kを大きくする最適化ステップを行う
ことを特徴とするアクセス履歴記憶及び検索方法。
A access history storage and retrieval method for storing and retrieving the access history is represented by a combination of source and destination,
Storage means for storing access history;
Access history recording means;
A device having a search means,
When the access history recording means is given the collected source set S and destination set D, the access history recording means stores the S and the D in the storage means respectively, and the actual combination of the S and the D is actually stored. An access history recording step of inserting the group observed to be accessed into the Bloom filter as an element and storing it in the storage means;
The search means searches the storage means based on the input destination and outputs the accessed transmission source, or searches the storage means based on the input transmission source and accesses the destination have rows and search step, the output of the,
In the access history recording step,
When storing the access history using the Bloom filter in the storage means,
An element including a destination with a smaller number of accessed sources increases the number k of hash functions at the time of insertion into the Bloom filter, or an element including a source with a smaller number of accessed destinations at the time of insertion into the Bloom filter. An access history storage and retrieval method characterized by performing an optimization step of increasing the number k of hash functions .
前記最適化ステップにおいて、
前記ハッシュ関数の個数kを、
前記Bloom filterのビット数をm、
前記Bloom filterに挿入する全要素数をn、
各要素毎の誤検出率をpi (1 ≦ i ≦ n)、
各要素毎のハッシュ関数の個数をki (1 ≦ i ≦ n)を要素に持つベクトルをKとしたとき、
Figure 0005745464
を用いて決定する
請求項記載のアクセス履歴記憶及び検索方法。
In the optimization step,
The number k of the hash functions is
The bit number of the Bloom filter is m,
The total number of elements to be inserted into the Bloom filter is n,
P i (1 ≤ i ≤ n) for the false detection rate for each element,
When K is a vector having k i (1 ≤ i ≤ n) as the number of hash functions for each element,
Figure 0005745464
The access history storage and retrieval method according to claim 4 , wherein the access history storage and retrieval method is determined by using.
前記検索ステップにおいて、
ある宛先dが入力された場合に、該宛先dと送信元Sとの全ての組み合わせに対して前記Bloom filterを検索し、該宛先dにアクセスした送信元を出力する、
または、
ある送信元sが入力された場合に、該送信元sと宛先Dとの全ての組み合わせに対して前記Bloom filterを検索し、該送信元sがアクセスした宛先を出力する
請求項記載のアクセス履歴記憶及び検索方法。
In the search step,
When a certain destination d is input , the Bloom filter is searched for all combinations of the destination d and the transmission source S, and the transmission source that accessed the destination d is output.
Or
5. The access according to claim 4 , wherein when a transmission source s is inputted, the Bloom filter is searched for all combinations of the transmission source s and the destination D, and the destination accessed by the transmission source s is output. History storage and retrieval method.
JP2012136313A 2012-06-15 2012-06-15 Access history storage and retrieval apparatus and method Expired - Fee Related JP5745464B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012136313A JP5745464B2 (en) 2012-06-15 2012-06-15 Access history storage and retrieval apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012136313A JP5745464B2 (en) 2012-06-15 2012-06-15 Access history storage and retrieval apparatus and method

Publications (2)

Publication Number Publication Date
JP2014002483A JP2014002483A (en) 2014-01-09
JP5745464B2 true JP5745464B2 (en) 2015-07-08

Family

ID=50035625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012136313A Expired - Fee Related JP5745464B2 (en) 2012-06-15 2012-06-15 Access history storage and retrieval apparatus and method

Country Status (1)

Country Link
JP (1) JP5745464B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970930A (en) * 2016-10-10 2017-07-21 阿里巴巴集团控股有限公司 Message, which is sent, determines method and device, tables of data creation method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4610421B2 (en) * 2005-06-20 2011-01-12 株式会社エヌ・ティ・ティ・ドコモ Wireless network system, call control device, terminal device, and call signal generation method
JP4311682B2 (en) * 2006-07-11 2009-08-12 日本電信電話株式会社 Optimal memory allocation method
US8134934B2 (en) * 2009-09-21 2012-03-13 Alcatel Lucent Tracking network-data flows
JP5490905B2 (en) * 2009-09-29 2014-05-14 エヌイーシー ヨーロッパ リミテッド Method and system for stochastic processing of data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970930A (en) * 2016-10-10 2017-07-21 阿里巴巴集团控股有限公司 Message, which is sent, determines method and device, tables of data creation method and device
CN106970930B (en) * 2016-10-10 2021-01-05 创新先进技术有限公司 Message sending determining method and device and data table creating method and device

Also Published As

Publication number Publication date
JP2014002483A (en) 2014-01-09

Similar Documents

Publication Publication Date Title
US11757739B2 (en) Aggregation of select network traffic statistics
US8412696B2 (en) Real time searching and reporting
US8589375B2 (en) Real time searching and reporting
US8825581B2 (en) Simplifying a graph of correlation rules while preserving semantic coverage
TWI483138B (en) Method for processing and verifying remote dynamic data, system using the same, and computer-readable medium
US8601537B2 (en) System and method for data mining and security policy management
US8700561B2 (en) System and method for providing data protection workflows in a network environment
US20130198240A1 (en) Social Network Analysis
WO2018080942A1 (en) Change monitoring spanning graph queries
CN106033428B (en) Uniform resource locator selection method and uniform resource locator selection device
CN102272784A (en) Method, apparatus and computer program product for providing analysis and visualization of content item associations
TW201702921A (en) Method, system and apparatus for predicting abnormality
CN106126551A (en) A kind of generation method of Hbase database access daily record, Apparatus and system
CN108900554B (en) HTTP asset detection method, system, device and computer medium
EP3625703A1 (en) System and method for enabling related searches for live events in data streams
WO2015165230A1 (en) Social contact message monitoring method and device
JP5745464B2 (en) Access history storage and retrieval apparatus and method
JP5649466B2 (en) Importance determination device, importance determination method, and program
US12197567B1 (en) Configuring detectors to detect anomalous behavior using statistical modeling procedures
JP5665685B2 (en) Importance determination device, importance determination method, and program
US9582575B2 (en) Systems and methods for linking items to a matter
JP5665683B2 (en) Importance determination device, importance determination method, and program
Simpson et al. Scalable misinformation mitigation in social networks using reverse sampling
US12199996B1 (en) Confidence scoring for detectors used to detect anomalous behavior
JP5998112B2 (en) Access control method, data storage method, access control system, data storage device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150501

R150 Certificate of patent or registration of utility model

Ref document number: 5745464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees