IP Library Granted Patent US 10,599,661
Granted Patent B2
US 10,599,661 · App. 15/717,665 · Granted Mar 24, 2020

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: Molecula Corp.
G06F16/24578G06F7/24G06F16/2237G06F16/248G06F16/24561G06F16/901G06F16/9535
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 10,599,661
App. No.
15/717,665
Granted
Mar 24, 2020
Kind
B2
Abstract

A method includes receiving a first signal and updating a bitmap index responsive to the first signal. 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. Updating the bitmap index responsive to the first signal includes updating a first bit of the bitmap index and updating first metadata values stored in the bitmap index, wherein the first metadata values comprise a plurality of sort index values indicating relative ranks of the first bit string relative to other bit strings. The method also includes outputting query results based on a query, wherein the query results identify one or more signals associated with one or more bit strings of the plurality of bit strings and one or more signal sources of a plurality of signal sources, and wherein the query results are sorted according to one of the first metadata values.

Claims (36)

1. A method comprising:

receiving a first signal at a computing device comprising a processor; and

updating a bitmap index responsive to the first signal, 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, wherein updating the bitmap index responsive to the first signal includes updating a first bit of a first bit string of the bitmap index and updating first metadata values stored in the bitmap index, and wherein the first metadata values comprise a plurality of sort index values indicating relative ranks of the first bit string relative to other bit strings.

2. The method of claim 1 , wherein the first metadata values further comprise a count of signal sources for which a corresponding signal has been received.

3. The method of claim 1 , wherein a plurality of bitmap indexes are associated with a plurality of websites, and wherein the first metadata values are 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.

4. The method of claim 1 , wherein at least some of the first metadata values are part of name-value pairs included in the bitmap index.

5. The method of claim 1 , wherein at least one of the first metadata values comprises an ordinal index of the first bit string relative to other bit strings.

6. The method of claim 5 , wherein the ordinal index comprises a series of numerical values corresponding to an order of entry of the first bit string into the bitmap index.

7. The method of claim 6 , wherein the series of numerical values is from 1 to N, where N represents a number of bit strings in the bitmap index.

8. 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.

9. The method of claim 1 , wherein the first metadata values include user contact information.

10. The method of claim 9 , wherein the user contact information comprises a first name, a last name, an email address, a postal address, an IP address of a connected device associated with a user, or a combination thereof.

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

12. The method of claim 11 , 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.

13. 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.

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

15. The method of claim 14 , 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.

16. An apparatus comprising:

a processor; and

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

receiving a first signal;

updating a bitmap index responsive to the first signal, 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, wherein updating the bitmap index responsive to the first signal includes updating a first bit of a first bit string of the bitmap index and updating first metadata values stored in the bitmap index, and wherein the first metadata values comprise a plurality of sort index values indicating relative ranks of the first bit string relative to other bit strings; and

outputting first query results based on a first query, wherein the first query results identify one or more signals associated with one or more bit strings of the plurality of bit strings and one or more signal sources of a plurality of signal sources, and wherein the first query results are sorted according to a first sort index value.

17. The apparatus of claim 16 , further comprising generating a query execution plan for the first 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 stored 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 first query.

18. The apparatus of claim 16 , wherein the first query results are determined without accessing a lookup table that is external to the bitmap index.

19. The apparatus of claim 16 , further comprising:

outputting second query results based on a second query, wherein the second query results are sorted according to a second sort index value, wherein the second query results are determined after the first query results without rearranging the plurality of bit strings of the bitmap index.

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

receiving a first signal; and

updating a bitmap index responsive to the first signal, 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, wherein updating the bitmap index responsive to the first signal includes updating a first bit of a first bit string of the bitmap index and updating first metadata values stored in the bitmap index, and wherein the first metadata values comprise a plurality of sort index values indicating relative ranks of the first bit string relative to other bit strings.

Assignments (4)
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 →
Continuity (3)
Continuation 15283918 · Oct 3, 2016
Continuation 15143139 · Apr 29, 2016
Related Publication 20180032528A1 · Feb 1, 2018