IP Library Granted Patent US 9,489,410
Granted Patent B1
US 9,489,410 · App. 15/143,139 · Granted Nov 8, 2016

Bitmap index including internal metadata storage

Inventors: Travis Turner (Austin, TX); Todd Wesley Gruben (Cedar Park, TX); Ben Johnson (Denver, CO); Cody Stephen Soyland (Austin, TX); Higinio O. Maycotte (Austin, TX)
Assignee: Umbel Corporation
G06F17/30324G06F7/24G06F17/30501G06F17/30867
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,489,410
App. No.
15/143,139
Granted
Nov 8, 2016
Kind
B1
Abstract

A method includes receiving a query directed to a bitmap index. The bitmap index includes a plurality of bit strings, where a value stored in a particular location in each of the bit strings indicates whether a corresponding signal associated with a signal source has been received, and where the bitmap index includes at least a first metadata value associated with each of the bit strings, at least a second metadata value associated with each of a plurality of signal sources, or both. The method also includes generating a query execution plan for the query and generating query results based on the query execution plan. The query results identify at least one signal associated with at least one bit string of the plurality of bit strings, at least one signal source of the plurality of signal sources, and at least one of the first metadata value or the second metadata value.

Claims (38)

1. A method comprising:

receiving, at a computing device comprising a processor, a query directed to a bitmap index, wherein the bitmap index includes a plurality of bit strings, wherein a value stored in a particular location in each of the bit strings indicates whether a corresponding signal associated with a signal source has been received, and wherein the bitmap index includes at least a first metadata value associated with each of the bit strings, at least a second metadata value associated with each of a plurality of signal sources, or both; and

generating query results based on the query, wherein the query results identify at least one signal associated with at least one bit string of the plurality of bit strings, at least one signal source of the plurality of signal sources, and at least one of the first metadata value or the second metadata value.

2. The method of claim 1 , wherein the first metadata value and the second metadata value are part of respective name-value pairs included in the bitmap index.

3. The method of claim 1 , wherein the first metadata value corresponds to a count of signal sources for which a corresponding signal has been received.

4. The method of claim 1 , wherein the first metadata value corresponds to a sort index.

5. The method of claim 1 , wherein a plurality of bitmap indexes are associated with a plurality of websites, and wherein the first metadata value is based on a comparison of a popularity of a signal with respect to a website and a popularity of the signal with respect to the plurality of websites.

6. The method of claim 1 , wherein the signal source corresponds to a user, a computing device associated with the user, or a computing device not associated with any user.

7. The method of claim 1 , wherein the second metadata value corresponds to user contact information.

8. The method of claim 1 , wherein the query results are sorted based on at least one of the first metadata value or the second metadata value.

9. The method of claim 1 , wherein the bitmap index represents data stored in a data store.

10. The method of claim 9 , wherein the data stored in the data store is determined based at least in part on event signals received from devices associated with a plurality of users.

11. The method of claim 1 , wherein one or more of the plurality of bit strings corresponds to a demographic attribute, a behavior, a brand affinity, or a combination thereof.

12. The method of claim 1 , wherein the bitmap index is distributed across a plurality of storage devices.

13. The method of claim 12 , wherein each of the plurality of bit strings is stored as one or more distributed slices, and wherein at least a first slice of a particular bit string of the plurality of bit strings is stored in a different storage device than a second slice of the particular bit string.

14. The method of claim 1 , further comprising generating a query execution plan for the query, wherein the query execution plan identifies:

one or more set operations;

that one or more first storage nodes are to send stored portions of one or more bit strings to a second storage node; and

that the second storage node is to perform the one or more set operations with respect to:

the portions of the one or more bit strings received from the one or more first storage nodes; and

portions of one or more bit strings stored at the second storage node; and

that the second storage node is to concatenate results of performing the one or more set operations to generate a result bit string that indicates a result of the query.

15. The method of claim 14 , wherein the query results are determined without accessing a lookup table that is external to the bitmap index.

16. An apparatus comprising:

a processor; and

a memory storing instructions executable by the processor to perform operations comprising:

receiving a query directed to a bitmap index, wherein the bitmap index includes a plurality of bit strings, wherein a value stored in a particular location in each of the bit strings indicates whether a corresponding signal associated with a signal source has been received, and wherein the bitmap index includes at least a first metadata value associated with each of the bit strings, at least a second metadata value associated with each of a plurality of signal sources, or both; and

generating query results based on the query, wherein the query results identify at least one signal associated with at least one bit string of the plurality of bit strings, at least one signal source of the plurality of signal sources, and at least one of the first metadata value or the second metadata value.

17. The apparatus of claim 16 , wherein the first metadata value and the second metadata value are part of respective name-value pairs included in the bitmap index.

18. The apparatus of claim 16 , wherein:

the first metadata value corresponds to a count of users for whom a corresponding signal has been received, a sort index, or a comparison of a popularity of a signal with respect to a website and a popularity of the signal with respect to a plurality of websites, and

the second metadata value corresponds to user contact information.

19. A computer readable storage device storing instructions that, when executed, cause a computer to perform operations comprising:

receiving a query directed to a bitmap index, wherein the bitmap index includes a plurality of bit strings, wherein a value stored in a particular location in each of the bit strings indicates whether a corresponding signal associated with a signal source has been received, and wherein the bitmap index includes at least a first metadata value associated with each of the bit strings, at least a second metadata value associated with each of a plurality of signal sources, or both; and

generating query results based on the query, wherein the query results identify at least one signal associated with at least one bit string of the plurality of bit strings, at least one signal source of the plurality of signal sources, and at least one of the first metadata value or the second metadata value.

20. The computer readable storage device of claim 19 , wherein:

the first metadata value corresponds to a count of users for whom a corresponding signal has been received, a sort index, or a comparison of a popularity of a signal with respect to a website and a popularity of the signal with respect to a plurality of websites, and

the second metadata value corresponds to user contact information.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2025
From: CIRCUIT, INC.
To: CIRCUIT HOLDINGS, INC.
Reel/Frame 072497/0436 →
MERGER AND CHANGE OF NAME Recorded Aug 15, 2024
From: MOLECULA CORP.; CIRCUIT MERGER SUB, INC.
To: CIRCUIT, INC.
Reel/Frame 068300/0045 →
SECURITY INTEREST Recorded Feb 12, 2024
From: MOLECULA CORP.
To: FIRST-CITIZENS BANK & TRUST COMPANY (SUCCESSOR BY PURCHASE TO THE FEDERAL DEPOSIT INSURANCE CORPORATION AS RECEIVER FOR SILICON VALLEY BRIDGE BANK, N.A. (AS SUCCESSOR TO SILICON VALLEY BANK))
Reel/Frame 066440/0187 →
CHANGE OF NAME Recorded Nov 22, 2019
From: PILOSA CORP.
To: MOLECULA CORP.
Reel/Frame 051097/0072 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2017
From: UMBEL CORP.
To: PILOSA CORP.
Reel/Frame 042087/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2016
From: TURNER, TRAVIS; GRUBEN, TODD WESLEY; JOHNSON, BEN; SOYLAND, CODY STEPHEN; MAYCOTTE, HIGINIO O.
To: UMBEL CORPORATION
Reel/Frame 038425/0536 →