IP Library Granted Patent US 9,626,436
Granted Patent B2
US 9,626,436 · App. 14/213,906 · Granted Apr 18, 2017

Systems, methods, and computer readable medium for generating playlists

Inventors: David Rodger (Arlington, MA); Daniel Stowell (Cambridge, MA); Paul E. Linton (Medford, MA); Kevin Sweeney (Medford, MA); Paul Lamere (Nashua, NH)
Assignee: SPOTIFY AB
G06F17/30772
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,626,436
App. No.
14/213,906
Granted
Apr 18, 2017
Kind
B2
Abstract

Methods, systems and computer program products are provided for generating a playlist. An application programming interface (API) receives a request to generate a playlist, where the request includes a set of rule-primitives. A playlist engine evaluator evaluates a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content, calculates a cost associated with each item in the catalog of media content, and generates a playlist based on the items of the catalog having the lowest costs.

Claims (33)

1. An apparatus for generating a playlist, comprising: a processor coupled to a memory and a catalog database, and configured to function as:

an application programming interface (API) configured to communicate with a requestor interface and receive a request from the requestor interface to generate a playlist, the request including a set of rule-primitives; and

a playlist engine evaluator configured to:

evaluate a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content stored in the catalog database, and evaluate a set of corresponding weights respectively associated with one or more rule-primitives;

calculate a rule cost associated with each item in the catalog of media content and the weight associated with the corresponding rule-primitive; and

generate a playlist based on the items of the catalog having the lowest rule costs, wherein the API communicates a response including the playlist to the requestor interface.

2. The apparatus according to claim 1 , wherein the playlist engine evaluator is further configured to compute, for each item of the catalog, a plurality of rule costs associated with a corresponding plurality of rules, and accumulate the plurality of costs for each item.

3. The apparatus according to claim 1 , wherein the playlist engine evaluator is further configured to calculate the rule cost of each item in the catalog based on a playlist history.

4. The apparatus according to claim 1 , wherein the playlist engine evaluator processes the rules across each item in the catalog iteratively using a heuristic search algorithm.

5. The apparatus according to claim 4 , wherein the heuristic search algorithm is a beam search algorithm.

6. A method for generating a playlist, comprising the steps of:

receiving a request from a requestor interface to generate a playlist, the request including a set of rule-primitives;

evaluating a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content stored in a content database, and evaluating a set of corresponding weights respectively associated with one or more rule-primitives;

calculating a rule cost associated with each item in the catalog of media content and the weight associated with the corresponding rule-primitive;

generating a playlist based on the items of the catalog having the lowest rule costs; and communicating a response including the playlist to the requester interface.

7. The method according to claim 6 , further comprising the steps of:

computing for each item of the catalog a plurality of rule costs associated with a corresponding plurality of rules; and

accumulating the plurality of rule costs for each item.

8. The method according to claim 6 , wherein a playlist history is an input to the calculating and the rule cost associated with each item is adjusted based on previously played items.

9. The method according to claim 6 , wherein, the rules are performed across each item in the catalog iteratively using a heuristic search algorithm.

10. The method according to claim 9 , wherein the heuristic search algorithm is a beam search algorithm.

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

receiving from a requestor interface a request to generate a playlist, the request including a set of rule-primitives;

evaluating a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content stored in a content database, and evaluating a set of corresponding weights respectively associated with one or more rule-primitives;

calculating a rule cost associated with each item in the catalog of media content and the weight associated with the corresponding rule-primitive;

generating a playlist based on the items of the catalog having the lowest rule costs; and

communicating a response including the playlist to the requestor interface.

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

computing for each item of the catalog a plurality of rule costs associated with a corresponding plurality of rules; and

accumulating the plurality of rule costs for each item.

13. The computer-readable medium of claim 11 , wherein a playlist history is an input to the calculating and the rule cost associated with each item is adjusted based on previously played items.

14. The computer-readable medium of claim 11 , wherein, the rules are performed across each item in the catalog iteratively using a heuristic search algorithm.

15. The computer-readable medium according to claim 14 , wherein the heuristic search algorithm is a beam search algorithm.

Assignments (3)
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 May 8, 2014
From: RODGER, DAVID; STOWELL, DANIEL; LINTON, PAUL E.; SWEENEY, KEVIN; LAMERE, PAUL
To: THE ECHO NEST CORPORATION
Reel/Frame 032848/0754 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2014
From: RODGER, DAVID; STOWELL, DANIEL; LINTON, PAUL E.; SWEENEY, KEVIN
To: THE ECHO NEST CORPORATION
Reel/Frame 032446/0965 →
Continuity (2)
Provisional Application 61798745 · Mar 15, 2013
Related Publication 20140280181A1 · Sep 18, 2014