Generating a venn diagram using a columnar database management system
First Claim
1. A computer-implemented method for generating information describing Venn diagrams, the method comprising:
- receiving, from a client device over a network, a request to determine one or more subsets of a Venn diagram, the request identifying a plurality of input sets of data to be used as input for the Venn diagram;
retrieving the plurality of input sets of data indicated by the request from the client device, the plurality of input sets of data stored in a columnar format database accessible by the computer;
determining, by the computer, a plurality of intersection sets for all combinations of the plurality of input sets of data retrieved from the columnar format database, each intersection set of the plurality of intersections sets determined by the computer using a combination of input sets, the determining comprising;
loading a first combination of input sets,determining a first intersection set from the first combination of input sets,selecting a second intersection set based on a second combination of input sets, the second intersection set selected such that the input sets of the second combination include the input sets of the first combination,loading input sets of the second combination that are not included in the first combination, anddetermining the second intersection set;
determining, by the computer, the one or more subsets of the Venn diagram based on the plurality of intersection sets, the determining comprising computing a cardinality of each subset of the Venn diagram as a difference of a cardinality of a first intersection set and cardinality of previous computed subsets of the Venn diagram;
storing the one or more subsets of the Venn diagram on a non-transitory computer-readable medium; and
communicating the one or more subsets of the Venn diagram to the client device over the network for display on the client device.
8 Assignments
0 Petitions
Accused Products
Abstract
Venn diagrams are computed for a given plurality of input sets. The process of computing the Venn diagrams is executed on columnar database systems for efficient execution. The computation of various subsets of the Venn diagrams is performed by determining subsets of various combinations of the input sets and computing set differences of the intersection sets. The process orders the execution of various steps of computing the subsets for the Venn diagram in an order that reduces the number of times an input set is loaded. Information describing various subsets of a Venn diagram is used to render the Venn diagram for display, for example, on a client device.
-
Citations
18 Claims
-
1. A computer-implemented method for generating information describing Venn diagrams, the method comprising:
-
receiving, from a client device over a network, a request to determine one or more subsets of a Venn diagram, the request identifying a plurality of input sets of data to be used as input for the Venn diagram; retrieving the plurality of input sets of data indicated by the request from the client device, the plurality of input sets of data stored in a columnar format database accessible by the computer; determining, by the computer, a plurality of intersection sets for all combinations of the plurality of input sets of data retrieved from the columnar format database, each intersection set of the plurality of intersections sets determined by the computer using a combination of input sets, the determining comprising; loading a first combination of input sets, determining a first intersection set from the first combination of input sets, selecting a second intersection set based on a second combination of input sets, the second intersection set selected such that the input sets of the second combination include the input sets of the first combination, loading input sets of the second combination that are not included in the first combination, and determining the second intersection set; determining, by the computer, the one or more subsets of the Venn diagram based on the plurality of intersection sets, the determining comprising computing a cardinality of each subset of the Venn diagram as a difference of a cardinality of a first intersection set and cardinality of previous computed subsets of the Venn diagram; storing the one or more subsets of the Venn diagram on a non-transitory computer-readable medium; and communicating the one or more subsets of the Venn diagram to the client device over the network for display on the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium storing instructions translatable by at least one computer processor for:
-
receiving, from a client device over a network, a request to determine one or more subsets of a Venn diagram, the request identifying a plurality of input sets of data to be used as input for the Venn diagram; retrieving the plurality of input sets of data indicated by the request from the client device, the plurality of input sets of data stored in a columnar format database; determining a plurality of intersection sets for all combinations of the plurality of input sets of data retrieved from the columnar format database, each intersection set of the plurality of intersection sets determined using a combination of input sets, the determining comprising; loading a first combination of input sets, determining a first intersection set from the first combination of input sets, selecting a second intersection set based on a second combination of input sets, the second intersection set selected such that the input sets of the second combination include the input sets of the first combination, loading input sets of the second combination that are not included in the first combination, and determining the second intersection set; determining the one or more subsets of the Venn diagram based on the plurality of intersection sets, the determining comprising computing a cardinality of each subset of the Venn diagram as a difference of a cardinality of a first intersection set and cardinality of previously computed subsets of the Venn diagram; storing the one or more subsets of the Venn diagram; and communicating the one or more subsets of the Venn diagram to the client device over the network for display on the client device. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer-implemented system comprising:
-
at least one computer processor; and a non-transitory computer-readable storage medium storing instructions translatable by the at least one computer processor for; receiving, from a client device over a network, a request to determine one or more subsets of a Venn diagram, the request identifying a plurality of input sets of data to be used as input for the Venn diagram; retrieving the plurality of input sets of data indicated by the request from the client device, the plurality of input sets of data stored in a columnar format; determining a plurality of intersection sets for all combinations of the plurality of input sets of data retrieved from the columnar format database, each intersection set of the plurality of intersection sets determined using a combination of input sets, the determining comprising; loading a first combination of input sets; determining a first intersection set from the first combination of input sets, selecting a second intersection set based on a second combination of input sets, the second intersection set selected such that the input sets of the second combination include the input sets of the first combination, loading input sets of the second combination that are not included in the first combination, and determining the second intersection set; determining the one or more subsets of the Venn diagram based on the plurality of intersection sets, the determining comprising computing a cardinality of each subset of the Venn diagram as a difference of a cardinality of a first intersection set and cardinality of previously computed subsets of the Venn diagram; storing the one or more subsets of the Venn diagram; and communicating the one or more subsets of the Venn diagram to the client device over the network for display on the client device. - View Dependent Claims (15, 16, 17, 18)
-
Specification