throbber
Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 1 of 15
`
`Exhibit 3
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 2 of 15
`
`(12) United States Patent
`Ward
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,526,411 B1
`Feb. 25, 2003
`
`USOO6526411B1
`
`(54)
`
`(76)
`
`(21)
`(22)
`
`(60)
`
`(51)
`(52)
`(58)
`(56)
`
`SYSTEMAND METHOD FOR CREATING
`DYNAMIC PLAYLISTS
`
`Inventor: Sean Ward, 14 W. Cedar St.,
`Alexandria, VA (US) 22301
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 260 days.
`
`Notice:
`
`Appl. No.: 09/712.261
`Filed:
`Nov. 15, 2000
`Related U.S. Application Data
`Provisional application No. 60/165,726, filed on Nov. 15,
`1999, provisional application No. 60/165.727, filed on Nov.
`15, 1999, and provisional application No. 60/166,039, filed
`on Nov. 17, 1999.
`Int. Cl................................................. G06F 17/30
`U.S. Cl. ..................................... 707/102; 707/104.1
`Field of Search ............................... 707/104.1, 102
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,157.643 A 10/1992 Suzuki
`5,341,350 A 8/1994 Frank et al.
`5,408,448 A 4/1995 Carman
`5,633,839 A 5/1997 Alexander
`5,668,788 A
`9/1997 Allison ....................... 345/173
`5,696,919 A 12/1997 Masuno et al.
`5,749,081. A
`5/1998 Whiteis
`5,793.980 A 8/1998 Glaser et al.
`5,867,799 A
`2/1999 Lang et al.
`5,872,747 A
`2/1999 Johnson
`5,872,850 A 2/1999 Klein et al.
`5,918.223 A 6/1999 Blum et al.
`5,930,768 A 7/1999 Hooban
`5,959.945. A
`9/1999 Jkeunab
`5,983,214 A 11/1999 Lang et al.
`5,986,979 A 11/1999 Bickford et al.
`5.987,525 A 11/1999 Roberts et al.
`
`6,025,838 A 2/2000 Bardon et al.
`6,029,161 A 2/2000 Lang et al.
`6,041,311 A 3/2000 Chislenko et al.
`6,049,777 A
`4/2000 Sheena et al.
`6,061,680 A 5/2000 Scherf et al.
`6,092,049 A 7/2000 Chislenko et al.
`6,118,450 A * 9/2000 Proehl et al. ............... 345/810
`6,154,773 A 11/2000 Roberts et al.
`6,192,340 B1
`2/2001 Abecassis ................ 455/185.1
`6,230,192 B1
`5/2001 Roberts et al.
`5/2001
`6,230.207 B1
`Roberts et al.
`6,240.459 B1
`5/2001
`Roberts et al.
`6,356,971
`Katz et al. .................. 710/301
`3/2002
`6.421,651
`Tedesco et al.
`7/2002
`* cited by examiner
`Primary Examiner Safet Metahic
`ASSistant Examiner-Sana AL-hashemi
`(74) Attorney, Agent, or Firm Miles & Stockbridge P.C.;
`Edward J. Kondracki
`ABSTRACT
`(57)
`Method and System provided for creating a dynamic playlist
`including meta-data having potential association with a
`respective content item configured to be played on a content
`player, and having dynamic addition of Subtraction of play
`list items. The System maintains a database of linkages
`between elements associated with content items as well as
`weighted linkages between elements and respective proper
`ties. The system is a hybrid content based and collaborative
`filtering System, wherein the insertion of a new item into the
`database results in the new item Sharing preference weights
`and number of preferences associated with items pre
`existing in the database. Thus, an initial input query list of
`items potentially results in the return of many content, called
`a “dynamic playlist', has a high correlation with the user's
`preference or with whatever other basis was used to frame
`the input list, and individual content items on the dynamic
`playlist may not have been previously experienced by the
`USC.
`
`24 Claims, 7 Drawing Sheets
`
`
`
`i Dynamic Playlist Content Player System
`
`Conte?t Player
`
`Output Dewice
`
`Content Selection Program
`
`Playback Program
`
`Sort & Culling Algorithas
`
`?
`
`it.
`
`-
`
`Playlist
`
`I
`t-
`
`Local Content
`tems
`
`
`
`User Profiles
`
`Sori Server Systern
`3e)
`
`Sort Server
`
`3.
`
`Bata Mining
`Algorithms
`
`Content Provider System
`36
`
`2.
`
`
`
`Content
`Provider
`Server
`
`Contentiteins
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 3 of 15
`
`U.S. Patent
`
`Feb. 25, 2003
`
`Sheet 1 of 7
`
`US 6,526,411 B1
`
`Communications
`interface
`
`
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 4 of 15
`
`U.S. Patent
`
`Feb. 25, 2003
`
`Sheet 2 of 7
`
`US 6,526,411 B1
`
`Data storage
`
`fe
`
`Playlist
`
`Local Content
`items
`
`l g
`
`User Profiles
`
`
`
`Communications Link
`
`I 30
`
`Sort Server System
`3 cy
`
`
`
`Sort Server
`
`Data Mining
`Algorithms
`
`... sesssssasses aaassesses ups stoosese seaasenoassoovese season as at sees sess sees overe essessive
`
`FIG. 2
`
`Content Provider System
`20
`
`2 D.
`
`Content
`Provider
`Server
`
`Content items
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 5 of 15
`
`U.S. Patent
`
`Feb. 25, 2003
`
`Sheet 3 of 7
`
`US 6,526,411 B1
`
`FIG. 3
`
`5 \?choose First Meta-Y
`category in Playlist)
`
`
`
`Retrieve Available
`tens in
`MetaCategory
`
`(Optionally) Rankl
`Cull Retrieved
`items
`
`insert items into
`Play Queue
`
`No
`
`
`
`
`
`(Optionally) Rank/
`Cull Playlist
`
`
`
`Yes
`
`Move Next
`MetaCategory
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 6 of 15
`
`U.S. Patent
`
`Feb. 25, 2003
`
`Sheet 4 of 7
`
`US 6,526,411 B1
`
`S8
`
`FIG. 4
`
`Pick First
`MetaCategory
`
`
`
`Perform
`Recommendation
`Search Focused
`within
`MetaCategory
`
`(Optionally) Rankl
`Cull Results
`
`insert items into
`Play Queue
`
`
`
`
`
`
`
`MetaCategories
`
`Yes
`
`
`
`Move Next
`MetaCategory
`
`
`
`NO
`
`(Optionally) Rankl
`Cull Playlist
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 7 of 15
`
`U.S. Patent
`
`Feb. 25, 2003
`
`Sheet 5 of 7
`
`US 6,526,411 B1
`
`
`
`td ()
`
`Ite
`
`t
`
`
`
`I).
`
`il
`
`9 -
`
`
`
`Playlist
`
`Content items
`
`Content Player
`
`Content Selection Program
`
`Playback Program
`
`Sort & Culling Algorithms
`
`Output Device
`
`Communications Link
`
`
`
`Sort Server
`
`FIG. 5
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 8 of 15
`
`U.S. Patent
`
`Feb. 25, 2003
`
`Sheet 6 of 7
`
`US 6,526,411 B1
`
`
`
`So
`
`Choose First 2
`Items in Playlist
`
`FIG. 7
`
`
`
`
`
`Both terms in
`Elements Table?
`
`
`
`Sid
`
`S25
`
`
`
`and item 22
`
`insert New Pair Link
`of Strength 1.
`increment
`Totallinks of tem2
`by 1
`
`S4
`
`S5
`
`increment Existing
`Link by 1.
`increment
`Totalinks often
`2 by 1
`
`Yes
`
`More terms in
`input List?
`
`Advance One in
`input List (item 2
`B
`item 1,
`Newtern Becomes
`item2)
`
`33.7
`
`No
`
`Done Seeding
`
`S28
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 9 of 15
`
`U.S. Patent
`
`Feb. 25, 2003
`
`Sheet 7 of 7
`
`US 6,526,411 B1
`FG. 3
`
`S39 /
`
`Pick a Seed User
`Profile
`
`Compare Seed
`against all Profiles
`
`S 41
`
`Rank all Compared
`Profiles by
`Similarity to Seed
`Profile
`
`S42
`
`Cluster Most
`Similar Profiles with
`Seed Profile
`
`S43
`
`Count Frequency of
`all elements in
`clustered profiles
`
`Use most frequent
`items to build Hash
`profile to represent
`
`S45
`
`
`
`in hash profile
`table, and remove
`seed and clustered
`profiles from Profile
`
`
`
`More Profiles
`Left?
`
`Yes
`
`
`
`Move Next User
`Profile and make it
`the Seed Profile
`
`5 it -
`
`No
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 10 of 15
`
`US 6,526,411 B1
`
`1
`SYSTEMAND METHOD FOR CREATING
`DYNAMIC PLAYLISTS
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`The present application claims the benefit of U.S. Provi
`sional Application No. 60/165,726 filed Nov. 15, 1999. That
`application and the present inventor's U.S. Provisional
`Application Nos. 60/165,727 and 60/166,039 filed respec
`tively on Nov. 15, 1999 and Nov. 17, 1999 are hereby
`incorporated by reference. The present application also
`incorporates by reference the present inventor's application
`Ser. No. 09/712,261 and the No. 60/165,727 Provisional
`Application) filed concurrently here with.
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The present invention relates generally to a System and
`method for music and/or Video playback, and more
`particularly, providing to the user recommendations of items
`which have not yet been Sampled by the user, based on a list
`of items already Sampled by the user, utilizing a method for
`the dynamic addition, Subtraction and Sorting of a queue of
`items for playback.
`2. Description of Related Art
`The concept of a playlist is old, i.e. a Static list of items
`to be played one by one through its entirety, in the order
`listed in the playlist. So far, only rudimentary attempts at
`dynamic playback have been made, consisting mainly of
`randomizing the order in which Selections from the playlist
`are played. Some attempts have been made to let people
`quickly create playlists based on particular artists, or
`albums, or styles of music. However, all of them are still a
`Static list after they are created, and don’t automatically
`reorder themselves in a pleasing way, or incorporate new
`content which would fit with them as it is made available.
`Additionally, any slightly complex concept Such as building
`a playlist which contains more than one piece of meta-data,
`Such as, for example, more than one artist, typically requires
`complex Boolean logic Statements to build, making Such
`playlist creation processes inaccessible to those unskilled in
`Boolean techniques.
`A System is needed that is easy to use, adapts to personal
`tastes, and can easily add or Subtract music or videos, as they
`become available. Such a System should provide more than
`random Sorting and shuffle-play options to overcome the
`deficiencies of a Static playlist, So that the playlist becomes
`dynamic.
`It is therefore a principal object of the present invention
`to provide a dynamic playlist System and method for a
`dynamic playlist of digital items that automatically adds
`items to, or Subtracts items from, the playlist, as the items
`become available.
`An object of the present invention is to provide the
`dynamic playlist System where the data items are music or
`Video items.
`Another object of the present invention is to provide a
`dynamic playlist that dynamically adapts to usage patterns.
`Another object of the present invention is to provide a
`dynamic playlist that dynamically adapts to personal pref
`CCCS.
`Another object of the present invention is to provide a
`dynamic playlist that is easy to use.
`SUMMARY OF THE INVENTION
`The above objects are obtained according to the present
`invention in which a method and System is provided for
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`creating a dynamic playlist including meta-data having
`potential association with a respective content item config
`ured to be played on a content player.
`The System maintains a database of linkages between
`elements associated with content items as well as weighted
`linkages between elements and respective properties. The
`System is a hybrid content based and collaborative filtering
`System, wherein the insertion of a new item into the database
`results in the new item Sharing preference weights and
`number of preferences associated with items pre-existing in
`the database. Thus, an initial input query list of items
`potentially results in the return of many content items
`available from one or more content providers, wherein the
`retrieved content, called a “dynamic playlist', has a high
`correlation with the user's preference or with whatever other
`basis was used to frame the input list, and individual content
`items on the dynamic playlist may not have been previously
`experienced by the user.
`A dynamic playlist is a list of items that can be played in
`linear order, as is done with a traditional playlist, or in more
`exotic Sequences after application of Sorting or ordering
`algorithms. User profiles can be applied to the Sorting
`process, i.e., by ranking items based on the user's meta-data,
`which can include usage patterns or explicit preferences, and
`further, by order reflected by usage of other users.
`The most useful aspect of a dynamic playlist is the
`dynamic addition and Subtraction of playlist items. This is
`accomplished by accepting at least one meta category
`defined as a Set of at least one criterion, where each criterion
`has a potential association with a content item, and retriev
`ing from at least one content provider a first result Set of
`meta-data fitting any of the criteria, wherein the first result
`Set enables acquisition of content items to be played. Next,
`a filtered first result Set is calculated by application of a
`collaborative filtering query algorithm to the first result Set,
`and then the filtered first result set is added to the dynamic
`playlist. Next, the System Seeds a next meta-category, if any,
`with the result Set and repeating the retrieving, calculating,
`inserting and Seeding StepS until all meta-categories have
`been processed. In accordance with this method, an initial
`meta-category of Selection preferences potentially results in
`the return of many content items available from one or more
`content providers, wherein the retrieved content has a high
`correlation with the user's preference or with whatever other
`basis was used to frame the meta-category.
`The collaborative filtering query algorithm can be
`arranged to include the dynamic playlist itself, which
`becomes especially meaningful Subsequent Successive play
`list updates. The algorithm can also include user play pattern
`data including manual intervention detected during playing
`of contents associated with the dynamic playlist, or rating
`data indicative of preference or distaste for Selected content
`items.
`The method for creating a dynamic playlist also includes
`accessing a database configured to include meta-data
`elements, wherein each element defines at least one rela
`tionship between a user and a respective content item,
`identifying at least one meta-category from the database, and
`updating the database to include at least parts of the dynamic
`playlist.
`The method for creating a dynamic playlist also includes
`applying a reordering algorithm to the filtered first result Set
`to obtain the dynamic playlist. The ordering algorithm is
`Selected from a group of algorithms including a ranking
`algorithm, a random element removal algorithm, a retention
`of top N most popular elements algorithm, and a pairing Sort
`algorithm.
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 11 of 15
`
`US 6,526,411 B1
`
`4
`FIG. 7 is a logic flow diagram of a Sample pairing Sort
`Seed algorithm according to the present invention;
`FIG. 8 is a simplified logic flow diagram of a hash
`clustering System according to the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`A simplified arrangement of components of the dynamic
`playlist system 100 according to the present invention is
`schematically shown in FIG. 1, which includes a dynamic
`playlist content player 10, a content provider System 20, and
`a Sort Server 30, all interconnected by a communications
`interface 40. Any number of computers 10, 20, and 30 can
`be interconnected according to the present invention. For
`example, multiple client computerS 10 can obtain content
`provided by one or more content provider computers 20.
`Communications interface 40 can be any type of bus,
`local area network, wide area network, or a global network
`Such as the Internet. Alternatively, communications interface
`40 includes wireleSS communications, Satellite connections,
`or any other connection means, and is not shown in detail as
`Such interfaces are well-known and commonly used in
`conjunction with distributed Systems.
`In a dynamic playlist, the playlist items can be played in
`linear order, as is done with a traditional playlist, or in more
`exotic Sequences after application of Sorting or ordering
`algorithms. For example, the playlist items can be Sorted by
`grouping frequency, i.e., application of a pairing Sort to the
`items. User profiles can be applied to the Sorting process,
`i.e., by ranking items based on the user's meta-data, as
`discussed later, in connection with FIG.8. The items can be
`ranked by other user order frequencies, Such as, for example,
`the order reflected in use by other users. While these all
`create a much more interesting playback order, Somewhat
`like having a disk jockey who understands both the music/
`Videos and the perSon listening/watching them, the most
`useful aspect of a dynamic playlist is the dynamic addition
`and Subtraction.
`Specifically, meta-elements can be added to the playlist,
`Such as with music, the addition of an artist to the playlist.
`Then, when the playlist is used, the playlist queries a main
`Server for the existence of content relating to that meta-data.
`I.e. adding an artist or group would add the entire given artist
`or groups content to the playlist, or would add the content
`not removed by anti-links (listed dislikes) existing in a
`user's profile. Additionally, it could be configured to add the
`content that was highest ranked as returned by a collabora
`tive filtering query focused on the rest of the playlists
`content, up to a certain number of Songs. What this would
`allow is the creation of themed playlists that were random,
`yet fit together. Additionally, it would allow users to Sub
`Scribe to artists and automatically have their playlists
`updated with new content, Such as when an artist releases a
`new Song, by having playlists which contained the meta
`category of a particular artist included in their playlist. That
`would be a valuable opportunity for both users and artists to
`COnnect.
`A playlist could also be made entirely of meta-elements.
`For example, it could contain two artists (a meta-category).
`First the system would build a result list of all the elements
`which have the meta-categories which are in the playlist,
`Such as all the Songs an artist has produced. Next, a
`collaborative filtering query could be executed on the result
`list, to rank and/or cull the items that the current user would
`most enjoy in the list. After that, various randomization or
`ordering algorithms could be applied to make the playlist
`
`3
`In a separate embodiment, a respective Second result Set
`is obtained for each meta-category, wherein the respective
`Second result Set includes meta-data identifying all content
`items fitting any at least one criterion of each meta-category.
`An ordering algorithm is applied to the Second result Set to
`obtain the dynamic playlist.
`The pairing Sort algorithm begins with Selecting a first and
`Second item from the playlist, determining if both elements
`are in an elements table, inserting whichever element is
`missing into the elements table, incrementing by 1 a pair link
`between the first and Second elements, and incrementing by
`1 a counter associated with the Second element. If a pair link
`exists between the first and Second items, the algorithm
`inserts a new pair link of Strength 1 between the first and
`Second items and increments by 1 a counter associated with
`the second item. If a pair link does not exist between the first
`and Second items, and if another item remains in the playlist,
`the algorithm identifies the first item as the Second item and
`the other item as the Second item. The Sequence is repeated
`until no items remain in the playlist.
`Alternatively, the input Set can either be associated with
`other input Sets by a profile ID, or be a Seed user profile, i.e.,
`a single individual or Source that Submits the input Sets, or
`the input Set is simply collected on a Stand-alone basis. This
`allows the creation of aggregate profiles between a Series of
`queries or Seed actions. Finally, if the action is a query,
`Several profile ID's could be used to create a composite view
`of the multiple profiles, Such as, for example, to find a Song
`both a husband and wife would enjoy.
`The pairing Sort algorithm as applied to at least one user
`profile begins with Selecting a Seed user profile, and pro
`ceSSes the Steps of comparing the Seed user profile against all
`available profiles, ranking all compared profiles by Similar
`ity to the Selected Seed profile, clustering the most similar
`profiles with the Seed profile, counting the frequency of all
`elements in the clustered profiles, building a hash profile of
`the most frequent items to represent each respective cluster,
`placing the respective hash profile in a hash table, removing
`the Seed and clustered profiles from the profile list, identi
`fying a next user profile, if available, as the Seed user profile,
`and continuing the Sequence until no profiles are available.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`These and other features of the present invention and the
`attendant advantages will be readily apparent to those hav
`ing ordinary skill in the art, and the invention will be more
`easily understood from the following detailed description of
`the preferred embodiments taken in conjunction with the
`accompanying drawings, wherein like reference characters
`represent like parts throughout the Several views.
`FIG. 1 is a highly simplified Schematic drawing of com
`ponents of the dynamic playlist system 100 according to the
`present invention;
`FIG. 2 is a simplified Schematic drawing showing more
`details the system shown in FIG. 1;
`FIG. 3 is a logic flow diagram of the basic mode dynamic
`playlist algorithm according to the present invention;
`FIG. 4 is a logic flow diagram of the recommendation
`mode dynamic playlist algorithm according to the present
`invention;
`FIG. 5 is a schematic drawing of the recommendation
`mode dynamic playlist algorithm according to the present
`invention;
`FIG. 6 is a Schematic drawing of a Sample pairing Sort
`System according to the present invention;
`
`55
`
`60
`
`65
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 12 of 15
`
`US 6,526,411 B1
`
`S
`“flow” in an effective manner from item to item. For
`example, the pairing sort described in FIG. 6, to be described
`later, could be executed. A playlist made in that manner
`would be fresh each time it was played, as it would pick new
`content and alter its playback order each time it was used.
`Additionally, Several ranking and/or culling techniques
`can be applied to the generated playlists before or during
`playback. For example, a pairing order Sort could be applied
`to the playlist, which would have the effect of ordering it in
`the most popular order. Therefore, musical pieces could be
`ordered to flow in the manner that most people have ordered
`them, which will most likely result in the most compatible
`ordering. A Sample pairing Sort routine is shown in FIG. 6,
`to be described later. Additionally, the most incompatible
`elements could optionally be discarded from the sorted list.
`AS another example, a popularity Sort could also be
`applied, wherein the results are then ranked based on Overall
`popularity among all listeners, or the Subset closest to the
`current playlist creator. AS another option, the least popular
`items could be culled, or given higher weightings if the user
`desired. Other common Sort mechanisms, Such as by artist,
`random, meta-category, least popular, or album ordered
`could also be implemented.
`FIG. 2 shows the arrangement of FIG. 1 in greater detail,
`including a simplified Schematic diagram of the major
`functional components of the dynamic playlist system 100.
`The arrangement of FIG. 2 is one of many possible arrange
`ments of the functional elements of the present invention
`and Serves to facilitate their description and general concept
`of the present invention. Other arrangements will be
`described later.
`The dynamic playlist System 100 is conceptionally orga
`nized into three Separate Systems, including a dynamic
`playlist content player System 110 and content provider
`Server System 120 arranged to operate in a known client
`server mode. Sort server system 130 is optional to the extent
`that its function is to provide Sophisticated filtering Services
`by way of collaborative filtering algorithms, and operates in
`Support of the dynamic playlist content player System 110 in
`those embodiments calling for Such Services. Moreover,
`content item Storage can be a shared function with local
`Storage being locally accessible by dynamic playlist content
`player system 110 with additional content being accessible
`from remote Storage associated with one or more content
`provider systems 120.
`The dynamic playlist client system 110 includes a content
`player 10, which includes known devices for playback of
`audio or Video files, taking the form of popular computer
`programs for use on personal computers, as well as inte
`grated Video and audio Stereo systems. In the preferred
`embodiment, content player 10 is operably connected to a
`content Selection program 11 and a playback program 12
`arranged to operatively control peripheral devices including
`an output device 13, which can be any device configured to
`play or display file objects Such as, for example, audio,
`graphic, and Video files. Video files can include motion
`picture films, computer games, and the like. Content player
`10 also includes, and is operably responsive to, known input,
`display, memory, and processor devices commonly associ
`ated with computers. Content player 10 includes a data
`Storage device 15 configured to operate one of any type of
`data Storage model, including, but not limited to, a relational
`data base. Regardless of the data Storage model employed,
`data Storage device 15 includes Storage of a meta-data
`playlist 16, optional Storage of local content items 17, and at
`least one user profile 18, all to be described later.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`The content provider system 120 includes a content
`provider Server 20, which is a local Storage System 22
`configured for Storing content items, Such as, for example,
`audio or video content items. The content items Stored on
`content provider system 20 are stored in any of the known
`data Storage models, Such as, for example, a relational
`database. Stored content items are associated with respective
`meta-information, both of which can be accessed over
`communication interface 40 by content Selection program 11
`located on content player 10. AS discussed in detail below,
`retrieved content items optionally can be post-processed by
`data mining relational algorithms 32 located on Sort Server
`30 and Sorting and culling algorithms 14 associated with the
`content player 10, and then output on output device 13. Any
`of the known relational algorithms can be used in connection
`with the present invention and all variations of algorithm
`type and installation configurations are intended to be
`included within the Scope of the present invention, Such as,
`for example, the Firefly system as disclosed in U.S. Pat. No.
`5,749,081, the Hey systems as disclosed in U.S. Pat. Nos.
`4,870,579 and 4,996,642, or the approaches in the Rose
`system as disclosed in U.S. Pat. No. 5,724,567. All varia
`tions of algorithm type and installation configurations are
`intended to be included within the scope of the present
`invention.
`A sort server system 130 includes a server 30 configured
`to run profile based Subjective recommendation or data
`mining algorithms 32, which also are not shown in detail, as
`their use is well-known and commonly used in the art of
`collaborative and recommendation filtering. Alternatively,
`algorithms 32 can be located at any of the three computers
`10, 20, and 30, provided sufficient computational power and
`network throughout are available. The sort server 30 is
`comprised of a known collaborative filtering engine and a
`pairing sort system, as described in FIGS. 6 and 7.
`It should be understood that the present invention might
`be readily adapted for alternate embodiments and modes of
`operation. For example, the content Selection program 11
`and playback program 12 could be accomplished using the
`directory Structure of a hard drive, or the indexed database
`of content to which a user has acceSS. The dynamic playlist
`System could be implemented in a variety of devices and
`mediums. For example, a computer program written in any
`of the many languages Such as C++, that would allow
`advanced data structures on any platform that would allow
`content playback, could Serve as the playlist content player
`10. Another form of the playlist content player 10 could take
`the form of a set top television box, or be within a stereo
`Sound System, with the database of available titles being
`Stored either within the devices themselves, or on a remote
`Server System, which, potentially, can also serve the content.
`Additionally, aspects of the sort server system 130 and the
`content provider System 120 can be integrated into the
`content player system 110.
`FIG. 3 is a simplified flow diagram illustrating operation
`of one embodiment, the basic form, in which only a content
`provider 120 and a playlist consumer 110 are required. At
`Step S1, when a playlist is executed, the playlist consumer
`picks a Seed meta-category from the playlist. At Step S2, It
`then queries available content providers for all content
`pieces fitting the Seed meta-category. At Step S3, optionally,
`it then applies ranking or culling algorithms to the results,
`Such as randomly removing elements, or only keeping the
`top N most popular result items. Next, at step S4 it inserts
`the results into the play queue, and continues at Steps S5 and
`S6 to the next meta-category in the playlist and repeats the
`process. Finally, at Step S7, it performs an optional ranking
`
`

`

`Case 1:20-cv-03159-AKH Document 1-3 Filed 04/21/20 Page 13 of 15
`
`US 6,526,411 B1
`
`7
`or culling Sort on the play queue, Such as randomizing the
`play order, and begins playback. This mode of operation can
`be implemented in a non networked environment, but is leSS
`powerful than the recommendation mode of operation, to be
`described next, as it cannot apply advanced Sort routines to
`the playlist. However, it does allow a playlist can be unique
`each time it is expanded, and can add new content without
`having to modify the playlist when the content providers
`make new content accessible.
`FIG. 4 is a simplified flow diagram illustrating operation
`of one alternate embodiment, called the recommendation
`form, in which a third System element, Sort Server System
`130, is added to the basic form illustrated in FIG. 3. The
`addition of a central sort server system 130 allows advanced
`profile based collaborative filtering or pairing Sort queries to
`be performed upon the dynamic playlists. In operation, the
`recommendation form playlist expansion is similar to that of
`the basic form, with the addition of the more Sophisticated
`Sort algorithms ranking and culling results after each Step.
`At Step S8, a meta-category is chosen as the Seed from the
`playlist. At Step S9, the content providers are queried for
`available content in the Seed meta-category and then the
`result content list is ranked and culled by performing a
`collaborative filtering query based on any Static items within
`the playlist, with any results not in the content list received
`from the content providers discarded. At optional step S10,
`any additional ranking or culling algorithms can be
`performed, Such as randomly discarding Some elements, or
`ranking based on raw popularity. Next, at steps S11-S13 the
`content list is inserted into the play queue, and the next
`meta-category in the playlist is chosen. At that point the
`proceSS is repeated, using the results currently in the play
`queue to seed a collaborative filtering request after each list
`of available content pieces is returned from the content
`providers. Upon Seeding the play queue with all meta
`categories, a final ranking and culling pass can be
`performed, using any of the common playlist manipulation
`algorithms, and optionally, a pairing Sort algorithm, to be
`described in connection with FIGS. 6 and 7.
`Finally, playback can commence. AS items are played
`back from the play queue, the System also reports to the Sort
`server that the user has listened to the item, to allow the
`collaborative filtering System to increase its understanding
`of the content. Additionally, each time two Songs are listened
`to in Sequence, their pairing is Submitted to the Sort Server's
`pairing Sort System to allow the pairing Sorted to increase its
`understanding of the content as well.
`FIG. 5 is a preferred rearrangement of the “client-server'
`configuration shown in FIG. 2, wherein elements in common
`between FIGS. 2 and 5 share common reference numerals.
`Dynamic playlist content player 50 Serves as content player
`10 and further includes local content Storage functionality as
`well as operating to access content Stored remotely at
`content provider 120. This j

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket