9940356

Efficient Join-Filters for Parallel Processing

PublishedApril 10, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A system for transferring filters for operations in a distributed system including a plurality of source nodes and destination nodes coupled to a network, the system comprising: at least one processor configured to: generate at each source node a first filter of a first size, wherein the first filter includes a bitmap and indicates elements of objects of a data set that are not processed for an operation; generate at each source node one or more second filters each including a bitmap, wherein each generated second filter is based on a prior generated filter comprising one of the first filter and a prior second filter, wherein each bit in the bitmap of the generated second filter representing a logical combination of bits from a plurality of consecutive locations within the bitmap of the prior generated filter, and wherein the first filter and one or more second filters form a multilevel filter with each of the one or more second filters having a second size smaller than a size of the prior generated filter and representing a same data set as the data set of the first filter to indicate the elements of the objects of the data set of the first filter to remove for the operation independent of other filters of the multilevel filter; determine a filter size less than the first size for the one or more second filters based on an amount of traffic on the network; transfer a second filter from among the one or more second filters of the multilevel filter having the second size satisfying the filter size from each of the source nodes to each of the destination nodes; and determine the elements of the objects to remove for the operation based on the transferred second filters.

2

2. The system of claim 1 , wherein determining the elements of the objects to remove includes: determining the elements of the objects to remove from the operation at one or more nodes based on a corresponding first filter and the transferred second filters.

3

3. The system of claim 1 , wherein the plurality of source nodes and the plurality of destination nodes have at least one node in common.

4

4. The system of claim 1 , wherein a plurality of the second filters are generated, and the at least one processor is further configured to: transfer the first filter and remaining second filters from each of the source nodes to each of the destination nodes in the distributed system, and wherein determining the elements of the objects to remove includes: merging the transferred first filter and remaining second filters into a merged filter; and determining the elements of the objects to remove for the operation based on the transferred second filter and the merged filter.

5

5. The system of claim 4 , wherein merging the transferred first filter and remaining second filters further includes: combining the first filter and remaining second filters by groups of nodes to generate respective combined filters; and successively merging the combined filters generated by one or more successive groups of nodes to produce the merged filter.

6

6. The system of claim 5 , wherein merging the transferred first filter and remaining second filters further includes: combining the first filter and remaining second filters at a source node to produce a combined filter; transferring the combined filter to successive nodes to combine with the first filter and remaining second filters of the successive nodes to produce the merged filter; and transferring the merged filter to the nodes of the distributed system.

7

7. A computer program product for transferring filters for operations in a distributed system including a plurality of source nodes and destination nodes coupled to a network, the computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith for execution on a processing system, the computer readable program code comprising computer readable program code configured to: generate at each source node a first filter of a first size, wherein the first filter includes a bitmap and indicates elements of objects of a data set that are not processed for an operation; generate at each source node one or more second filters each including a bitmap, wherein each generated second filter is based on a prior generated filter comprising one of the first filter and a prior second filter, wherein each bit in the bitmap of the generated second filter representing a logical combination of bits from a plurality of consecutive locations within the bitmap of the prior generated filter, and wherein the first filter and one or more second filters form a multilevel filter with each of the one or more second filters having a second size smaller than a size of the prior generated filter and representing a same data set as the data set of the first filter to indicate the elements of the objects of the data set of the first filter to remove for the operation independent of other filters of the multilevel filter; determine a filter size less than the first size for the one or more second filters based on an amount of traffic on the network; transfer a second filter from among the one or more second filters of the multilevel filter having the second size satisfying the filter size from each of the source nodes to each of the destination nodes; and determine the elements of the objects to remove for the operation based on the transferred second filters.

8

8. The computer program product of claim 7 , wherein determining the elements of the objects to remove includes: determining the elements of the objects to remove from the operation at one or more nodes based on a corresponding first filter and the transferred second filters.

9

9. The computer program product of claim 7 , wherein the plurality of source nodes and the plurality of destination nodes have at least one node in common.

10

10. The computer program product of claim 7 , wherein a plurality of the second filters are generated, and the computer readable program code further comprises computer readable program code configured to: transfer the first filter and remaining second filters from each of the source nodes to each of the destination nodes in the distributed system, and wherein determining the elements of the objects to remove includes: merging the transferred first filter and remaining second filters into a merged filter; and determining the elements of the objects to remove for the operation based on the transferred second filter and the merged filter.

11

11. The computer program product of claim 10 , wherein merging the transferred first filter and remaining second filters further includes: combining the first filter and remaining second filters by groups of nodes to generate respective combined filters; and successively merging the combined filters generated by one or more successive groups of nodes to produce the merged filter.

12

12. The computer program product of claim 11 , wherein merging the transferred first filter and remaining second filters further includes: combining the first filter and remaining second filters at a source node to produce a combined filter; transferring the combined filter to successive nodes to combine with the first filter and remaining second filters of the successive nodes to produce the merged filter; and transferring the merged filter to the nodes of the distributed system.

13

13. The system of claim 1 , wherein the distributed system includes a database system, and the operation includes a join operation.

14

14. The system of claim 1 , wherein a plurality of the second filters are generated, and transferring a second filter includes: determining memory constraints in the distributed system; and transferring at least one of the second filter and a group of filters from each of the nodes to each of the other nodes in the distributed system based on the traffic on the network and the determined memory constraints, wherein the group of filters includes the first filter, the second filter, and remaining second filters; wherein determining the elements of the objects to remove includes: determining the elements of the objects to remove for the operation based on the at least one transferred second filter and the group of filters.

15

15. The computer program product of claim 7 , wherein the distributed system includes a database system, and the operation includes a join operation.

16

16. The computer program product of claim 7 , wherein a plurality of the second filters are generated, and transferring a second filter includes: determining memory constraints in the distributed system; and transferring at least one of the second filter and a group of filters from each of the nodes to each of the other nodes in the distributed system based on the traffic on the network and the determined memory constraints, wherein the group of filters includes the first filter, the second filter, and remaining second filters; wherein determining the elements of the objects to remove includes: determining the elements of the objects to remove for the operation based on the at least one transferred second filter and the group of filters.

17

17. The system of claim 1 , wherein each bit in the bitmap of the generated second filter represents bits from a plurality of locations associated with at least two different hash values from the bitmap of the prior generated filter.

18

18. The computer program product of claim 7 , wherein each bit in the bitmap of the generated second filter represents bits from a plurality of locations associated with at least two different hash values from the bitmap of the prior generated filter.

Patent Metadata

Filing Date

Unknown

Publication Date

April 10, 2018

Inventors

Ronald J. Barber
Naresh K. Chainani
Kiran K. Chinta
Ian R. Finlay
Vijayshankar Raman
Liping Zhang

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “EFFICIENT JOIN-FILTERS FOR PARALLEL PROCESSING” (9940356). https://patentable.app/patents/9940356

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.