IP Library Granted Patent US 10,459,904
Granted Patent B2
US 10,459,904 · App. 13/851,311 · Granted Oct 29, 2019

Real time mapping of user models to an inverted data index for retrieval, filtering and recommendation

Inventors: Brian Whitman (Cambridge, MA); Tyler Williams (Cambridge, MA); Hui Ted Cao (Belmont, MA)
Assignee: SPOTIFY AB
G06F16/2272G06F16/432G06F16/433G06F16/632G06F16/732G06F16/9032
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,459,904
App. No.
13/851,311
Granted
Oct 29, 2019
Kind
B2
Abstract

A catalog record is bridged to information stored in at least one inverted index by receiving an application user interface call associated with a predetermined filter request including a record identifier identifying a record in a relational database. A bitset is generated based on item identifiers in the record. The bitset is applied to at least one inverted index to obtain metadata associated with the item identifiers.

Claims (55)

1. A method for bridging a record in a relational database to documents mapped by at least one inverted index, comprising the steps of:

receiving an application user interface call including (i) a call value indicating a predetermined request and (ii) a record identifier identifying a record in the relational database, the record representing media content activity;

retrieving from the record one or more item identifiers;

generating a bitset based on the application user interface call, the bitset representing one or more item identifiers in the record, wherein each of the one or more item identifiers corresponds to a term of the at least one inverted index, wherein each term is mapped to one or more documents in a data source containing the term, the documents containing metadata, and each bit of the bitset represents at least one of the documents in the data source; and

applying the bitset as a query term to the at least one inverted index to identify documents in the data source associated with the one or more item identifiers to obtain metadata associated with the one or more item identifiers from the documents.

2. The method according to claim 1 , further comprising:

storing a map of the record identifier and the one or more item identifiers in an index; and

enumerating, using the index, the one or more item identifiers associated with the record.

3. The method according to claim 1 , wherein the one or more item identifiers in the relational database correspond to a representation of media content and the metadata corresponds to data about the one or more item identifiers.

4. The method according to claim 1 , wherein the one or more item identifiers are values representing media content and the predetermined request is a request that causes generation of a bitset that identifies at least one document corresponding to the one or more item identifiers.

5. The method according to claim 1 , wherein the one or more item identifiers are values representing media content and the predetermined request is a request that causes generation of a bitset that identifies at least one document containing metadata associated with the one or more item identifiers.

6. The method according to claim 1 , further comprising:

obtaining another record from the relational database using another identifier; and

generating another bitset based on another set of items in the relational database, wherein the other set of items are associated with the other identifier; and

performing at least one of a Boolean operation, a logical operation and a set operation, or a combination thereof on the bitsets.

7. The method according to claim 1 , further comprising:

receiving, via a connection to the at least one inverted index, a value corresponding to a rule associated with the record; and

generating a second bitset based on the rule and the metadata.

8. A non-transitory computer-readable medium having stored thereon one or more sequences of instructions for causing one or more processors to perform:

receiving an application user interface call including (i) a call value indicating a predetermined request and (ii) a record identifier identifying a record in a relational database, the record representing media content activity;

retrieving from the record one or more item identifiers;

generating a bitset based on the application user interface call, the bitset representing one or more item identifiers in the record, wherein each of the one or more item identifiers corresponds to a term of the at least one inverted index, wherein each term is mapped to one or more documents in a data source containing the term, the documents containing metadata, and each bit of the bitset represents at least one of the documents in the data source; and

applying the bitset as a query term to the at least one inverted index to identify documents in the data source associated with the one or more item identifiers to obtain metadata associated with the one or more item identifiers from the documents.

9. The computer-readable medium of claim 8 , further having stored thereon a sequence of instructions for causing the one or more processors to perform:

storing a map of the record identifier and the one or more item identifiers in an index; and

enumerating, using the index, the one or more item identifiers associated with the record.

10. The non-transitory computer readable medium according to claim 8 , wherein the one or more item identifiers in the relational database correspond to a representation of media content and the metadata corresponds to data about the one or more item identifiers.

11. The non-transitory computer readable medium according to claim 8 , wherein the one or more item identifiers are values representing media content and the predetermined request is a request that causes generation of a bitset that points to at least one document corresponding to the one or more item identifiers.

12. The non-transitory computer-readable medium according to claim 8 , wherein the one or more item identifiers are values representing media content and the predetermined request causes generation of a bitset that identifies at least one document containing metadata associated with the one or more item identifiers.

13. The computer-readable medium of claim 8 , further having stored thereon a sequence of instructions for causing the one or more processors to perform:

obtaining another record from the relational database using another identifier; and

generating another bitset based on another set of items in the relational database, wherein the other set of items are associated with the other identifier; and

performing at least one of a Boolean operation, a logical operation and a set operation, or a combination thereof on the bitsets.

14. The computer-readable medium of claim 8 , further having stored thereon a sequence of instructions for causing the one or more processors to perform:

receiving, via a connection to the at least one inverted index, a value corresponding to a rule associated with the record; and

generating a second bitset based on the rule and the metadata.

15. A system for bridging a record in a relational database to documents mapped by at least one inverted index, comprising:

an interface operable to receive an application user interface call including (i) a call value indicating a predetermined request and (ii) a record identifier identifying a record in the relational database, the record representing media content activity;

a processor configured to:

retrieve from the record one or more item identifiers,

generate a bitset based on the application user interface call, the bitset representing one or more item identifiers in the record, wherein each of the one or more item identifiers corresponds to a term of the at least one inverted index, wherein each term is mapped to one or more documents in a data source containing the term, the documents containing metadata and each bit of the bitset represents at least one of the documents in the data source, and

apply the bitset as a query term to at least one inverted index to identify documents in the data source associated with the one or more item identifiers to obtain metadata associated with the one or more item identifiers from the documents.

16. The system according to claim 15 , further comprising:

storing a map of the record identifier and the one or more item identifiers in an index; and

enumerating, using the index, the one or more item identifiers associated with the record.

17. The system according to claim 15 , wherein the one or more item identifiers in the relational database correspond to a representation of media content and the metadata corresponds to data about the one or more item identifiers.

18. The system according to claim 15 , wherein the one or more item identifiers are values representing media content and the predetermined request that causes generation of a bitset that identifies at least one document corresponding to the one or more item identifiers.

19. The system according to claim 15 , wherein the one or more item identifiers are values representing media content and the predetermined request causes generation of a bitset that identifies at least one document containing metadata associated with the one or more item identifiers.

20. The system according to claim 15 , further comprising:

obtaining another record from the relational database using another identifier; and

generating another bitset based on another set of items in the relational database, wherein the other set of items are associated with the other identifier; and

performing at least one of a Boolean operation, a logical operation and a set operation, or a combination thereof on the bitsets.

21. The system according to claim 15 , further comprising:

receiving, via a connection to the at least one inverted index, a value corresponding to a rule associated with the record; and

generating a second bitset based on the rule and the metadata.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2016
From: THE ECHO NEST CORPORATION
To: SPOTIFY AB
Reel/Frame 038917/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2013
From: WHITMAN, BRIAN; WILLIAMS, TYLER; CAO, HUI
To: THE ECHO NEST CORPORATION
Reel/Frame 030096/0387 →
Continuity (2)
Provisional Application 61617558 · Mar 29, 2012
Related Publication 20130262471A1 · Oct 3, 2013