Computer product, search method, search apparatus, and node
First Claim
1. A non-transitory computer-readable medium storing therein a search program that causes a transmission source computer to execute a method the method comprising:
- accessing a node group;
storing, in each node of the node group, a data structure having a multilayer transposed Bloom filter that is transposed by gathering, at each level, bits at identical positions in each Bloom filter constituting a Bloom filter row in a multilayer Bloom filter having a level count h, a bit width s, a divisor d of an h-th level of arranged bits indicating false positive or negative, a p-th (1≦
p≦
h) level Bloom filter bit width m=s/d[h−
(p−
1)] and a p-th level Bloom filter count n=d[h−
(p−
1)], the data structure further having a data block set corresponding to a first level Bloom filter row of the multilayer Bloom filter and each node further executing processing that involves using the multilayer transposed Bloom filter to determine whether search data is present in the data block set and transmitting to the transmission source computer of the search data, a search result indicating whether the search data is present;
selecting from the node group, an unselected node;
transmitting the search data to the selected node;
receiving the search result from the selected node;
determining whether the received search result indicates the search data to be present; and
outputting a determination result, wherein any one among the level count h, the bit width s, and the divisor d differs between at least two nodes among the node group.
1 Assignment
0 Petitions
Accused Products
Abstract
Nodes respectively store a multilayer transposed Bloom filter. A client selects a node N1 from among the group of nodes and transmits a search request to the node N1. Upon receiving a reply from the node N1, the client determines whether the received search result indicates “positive”. If the search result is not positive, the client selects in order of node number, a node N2 and transmits a search request to the node N2. Upon receiving a reply from the node N2, the client determines whether the received search result indicates “positive”. Upon determining that the search result is positive, the client outputs the search result and ends the search notification process.
10 Citations
9 Claims
-
1. A non-transitory computer-readable medium storing therein a search program that causes a transmission source computer to execute a method the method comprising:
-
accessing a node group; storing, in each node of the node group, a data structure having a multilayer transposed Bloom filter that is transposed by gathering, at each level, bits at identical positions in each Bloom filter constituting a Bloom filter row in a multilayer Bloom filter having a level count h, a bit width s, a divisor d of an h-th level of arranged bits indicating false positive or negative, a p-th (1≦
p≦
h) level Bloom filter bit width m=s/d[h−
(p−
1)] and a p-th level Bloom filter count n=d[h−
(p−
1)], the data structure further having a data block set corresponding to a first level Bloom filter row of the multilayer Bloom filter and each node further executing processing that involves using the multilayer transposed Bloom filter to determine whether search data is present in the data block set and transmitting to the transmission source computer of the search data, a search result indicating whether the search data is present;selecting from the node group, an unselected node; transmitting the search data to the selected node; receiving the search result from the selected node; determining whether the received search result indicates the search data to be present; and outputting a determination result, wherein any one among the level count h, the bit width s, and the divisor d differs between at least two nodes among the node group. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory computer-readable medium storing therein a search program that causes any one node among a node group to execute a method, the method comprising:
-
storing, in each node of the node group, a data structure having a multilayer transposed Bloom filter that is transposed by gathering, at each level, bits at identical positions in each Bloom filter constituting a Bloom filter row in a multilayer Bloom filter having a level count h, a bit width s, a divisor d of an h-th level of arranged bits indicating false positive or negative, a p-th (1≦
p≦
h) level Bloom filter bit width m=s/d[h−
(p−
1)] and a p-th level Bloom filter count n=d[h−
(p−
1)], the data structure further having a data block set corresponding to a first level Bloom filter row of the multilayer Bloom filter;receiving search data; determining whether the received search data is present in the data block set, using the multilayer transposed Bloom filter; and transmitting to a transmission source of the search data, a search result indicating whether the search data is present, wherein any one among the level count h, the bit width s, and the divisor d differs between at least two nodes among the node group.
-
-
6. A search method executed by a transmission source computer, the transmission source computer having access to a node group, the search method comprising:
-
storing, in each node of the node group, a data structure having a multilayer transposed Bloom filter that is transposed by gathering, at each level, bits at identical positions in each Bloom filter constituting a Bloom filter row in a multilayer Bloom filter having a level count h, a bit width s, a divisor d of an h-th level of arranged bits indicating false positive or negative, a p-th (1≦
p≦
h) level Bloom filter bit width Bloom filter bit width m=s/d[h−
(p−
1)] and a p-th level Bloom filter count n=d[h−
(p−
1)], the data structure further having a data block set corresponding to a first level Bloom filter row of the multilayer Bloom filter and each node further executing processing that involves using the multilayer transposed Bloom filter to determine whether search data is present in the data block set and transmitting to the transmission source computer of the search data, a search result indicating whether the search data is present;selecting from the node group, an unselected node; transmitting the search data to the selected node; receiving the search result from the selected node; determining whether the received search result indicates the search data to be present; and outputting a determination result, wherein any one among the level count h, the bit width s, and the divisor d differs between at least two nodes among the node group.
-
-
7. A search method executed by any one node among a node group, the search method comprising:
-
storing, in each node of the node group, a data structure having a multilayer transposed Bloom filter that is transposed by gathering, at each level, bits at identical positions in each Bloom filter constituting a Bloom filter row in a multilayer Bloom filter having a level count h, a bit width s, a divisor d of an h-th level of arranged bits indicating false positive or negative, a p-th (1≦
p≦
h) level Bloom filter bit width Bloom filter bit width m=s/d[h−
(p−
1)] and a p-th level Bloom filter count n=d[h−
(p−
1)], the data structure further having a data block set corresponding to a first level Bloom filter row of the multilayer Bloom filter;receiving search data; determining whether the received search data is present in the data block set, using the multilayer transposed Bloom filter; and transmitting to a transmission source of the search data, a search result indicating whether the search data is present, wherein any one among the level count h, the bit width s, and the divisor d differs between at least two nodes among the node group.
-
-
8. A search apparatus having access to a node group, the search apparatus comprising:
-
a processor that; stores, in each node of the node group, storing a data structure having a multilayer transposed Bloom filter that is transposed by gathering, at each level, bits at identical positions in each Bloom filter constituting a Bloom filter row in a multilayer Bloom filter having a level count h, a bit width s, a divisor d of an h-th level of arranged bits indicating false positive or negative, a p-th (1≦
p≦
h) level Bloom filter bit width Bloom filter bit width m=s/d[h−
(p−
1)] and a p-th level Bloom filter count n=d[h−
(p−
1)], the data structure further having a data block set corresponding to a first level Bloom filter row of the multilayer Bloom filter and each node further executing processing that involves using the multilayer transposed Bloom filter to determine whether search data is present in the data block set and transmitting to the search apparatus, which is a transmission source of the search data, a search result indicating whether the search data is present,selects from the node group, an unselected node; transmits the search data to the selected node; receives the search result from the selected node; determines whether the received search result indicates the search data to be present; and outputs a determination result, wherein any one among the level count h, the bit width s, and the divisor d differs between at least two nodes among the node group.
-
-
9. A search apparatus comprising:
-
any one node among a node group, each node of the node group storing a data structure having a multilayer transposed Bloom filter that is transposed by gathering, at each level, bits at identical positions in each Bloom filter constituting a Bloom filter row in a multilayer Bloom filter having a level count h, a bit width s, a divisor d of an h-th level of arranged bits indicating false positive or negative, a p-th (1≦
p≦
h) level Bloom filter bit width Bloom filter bit width m=s/d[h−
(p−
1)] and a p-th level Bloom filter count n=d[h−
(p−
1)]the data structure further having a data block set corresponding to a first level Bloom filter row of the multilayer Bloom filter;a processor that receives search data, determines whether the received search data is present in the data block set, using the multilayer transposed Bloom filter, and transmits to a transmission source of the search data, a search result indicating whether the search data is present, wherein any one among the level count h, the bit width s, and the divisor d differs between at least two nodes among the node group.
-
Specification