Claims
- 1. A method comprising:
collecting metadata that is associated with media content, wherein the metadata does not comprise the media content itself; and organizing the metadata into a content folder that is associated with the media content.
- 2. The method of claim 1, wherein the metadata comprises content description metadata that describes the media content.
- 3. The method of claim 1, wherein the metadata does not comprise data that indicates when the media content is to be broadcast.
- 4. The method of claim 1 further comprising associating, with the content folder, an identifier that uniquely identifies the media content.
- 5. The method of claim 1, wherein the act of collecting comprises collecting the metadata from different metadata providers.
- 6. The method of claim 1, wherein the media content comprises television programs.
- 7. The method of claim 1, wherein the media content comprises movies.
- 8. The method of claim 1, wherein the media content comprises television programs and movies.
- 9. The method of claim 1, wherein the metadata comprises different types of metadata.
- 10. The method of claim 1, wherein the act of collecting comprises collecting the metadata from different metadata providers, the metadata comprising different types of metadata.
- 11. One or more computer readable media having instructions thereon which, when executed by one or more processors, cause the processors to implement the method of claim 1.
- 12. One or more server computers configured to:
collect multiple different types of metadata that is associated with individual pieces of media content, wherein the metadata does not comprise the media content itself and is collected from multiple different metadata providers; organize the metadata into content folders that are individually associated with the individual pieces of media content; and associate a unique identifier with each content folder, the unique identifier identifying each individual piece of media content.
- 13. The one or more servers of claim 12, wherein the individual pieces of media content comprise television programs.
- 14. The one or more servers of claim 12, wherein the individual pieces of media content comprise movies.
- 15. The one or more servers of claim 12, wherein the individual pieces of media content comprise television programs and movies.
- 16. A method comprising:
collecting metadata that is associated with media content, the metadata being configured for facilitating generation of an electronic program guide; and organizing the metadata into a content folder that is associated with the media content.
- 17. The method of claim 16, wherein the metadata comprises content description metadata that describes the media content.
- 18. The method of claim 16, wherein the metadata does not comprise data that indicates when the media content is to be broadcast.
- 19. The method of claim 16 further comprising associating, with the content folder, an identifier that uniquely identifies the media content.
- 20. The method of claim 16, wherein the metadata comprises one or more files.
- 21. The method of claim 16, wherein the metadata comprises one or more XML files.
- 22. The method of claim 16, wherein the metadata comprises one or more of artwork associated with the media content, images associated with the media content, video trailers, and script text files.
- 23. One or more computer readable media having instructions thereon which, when executed by one or more processors, cause the processors to implement the method of claim 16.
- 24. One or more server computers configured to implement the method of claim 16.
- 25. A method comprising:
generating a unique identifier; associating the unique identifier with media content that can be provided to a client device; creating a content folder that is associated with the media content; receiving metadata associated with the media content; incorporating the metadata into the content folder.
- 26. The method of claim 25 further comprising transmitting at least portions of the content folder to multiple different client devices.
- 27. The method of claim 25 further comprising:
communicating with individual client devices to ascertain which metadata is of interest to particular client devices; and transmitting content folder portions that are of interest to the client devices.
- 28. The method of claim 25 further comprising:
communicating with individual client devices to ascertain which metadata is of interest to particular client devices; and transmitting only content folder portions that are of interest to the client devices.
- 29. One or more computer readable media having instructions thereon which, when executed by one or more processors, cause the processors to implement the method of claim 25.
- 30. One or more server computers configured to:
generate a unique identifier; associate the unique identifier with media content that can be provided to a client device; create a content folder that is associated with the media content; receive metadata associated with the media content; incorporate the metadata into the content folder; communicate with individual client devices to ascertain which metadata is of interest to particular client devices; and transmit content folder portions that are of interest to the client devices.
- 31. The one or more server computers of claim 30, wherein the server computers are configured to transmit only those content folder portions that are of interest to the client devices.
- 32. The one or more server computers of claim 30, wherein the server computers are configured to transmit at least some content folder portions without transmitting the media content associated with the content folder portions.
- 33. A method comprising:
receiving multiple content folders, each content folder being associated with a particular piece of media content and containing a collection of metadata that is associated with the particular piece of media content; receiving a schedule file that describes when the particular pieces of media content are to be broadcast; and using the content folders and the schedule file to construct an electronic program guide.
- 34. The method of claim 33, wherein the schedule file comprises an XML file.
- 35. The method of claim 33, wherein each content folder is associated with a particular piece of media content by virtue of a unique identifier that identifies the media content.
- 36. The method of claim 33, wherein the metadata comprises content description metadata that describes the media content.
- 37. The method of claim 33, wherein the media content comprises television programs.
- 38. The method of claim 33, wherein the media content comprises movies.
- 39. The method of claim 33, wherein the media content comprises television programs and movies.
- 40. The method of claim 33, wherein the metadata comprises different types of metadata.
- 41. The method of claim 33, wherein the metadata comprises one or more of artwork associated with the media content, images associated with the media content, video trailers, and script text files.
- 42. The method of claim 33 further comprising reading one or more files in one or more of the content folders into a database and executing queries of the database using a database querying engine.
- 43. One or more computer readable media having instructions thereon which, when executed by one or more processors, cause the processors to implement the method of claim 33.
- 44. One or more client devices embodying the one or more computer-readable media of claim 43.
- 45. One or more client devices configured to:
receive multiple content folders, each content folder being associated with a particular piece of media content and containing a collection of metadata that is associated with the particular piece of media content, the content folder comprising an XML content description file that describes the particular piece of media content; receive a schedule file that describes when the particular pieces of media content are to be broadcast; and use the content folders, the schedule file, and one or more XML user preference files that describe a user's preferences to construct an electronic program guide that is tailored to one or more users.
- 46. The one or more client devices of claim 45, wherein the schedule file comprises an XML file.
- 47. The one or more client devices of claim 45, wherein each content folder is associated with a particular piece of media content by virtue of a unique identifier that identifies the media content.
- 48. The one or more client devices of claim 45, wherein the media content comprises television programs.
- 49. The one or more client devices of claim 45, wherein the media content comprises movies.
- 50. The one or more client devices of claim 45, wherein the media content comprises television programs and movies.
- 51. The one or more client devices of claim 45, wherein the metadata comprises different types of metadata.
- 52. The one or more client devices of claim 45, wherein the metadata comprises one or more of artwork associated with the media content, images associated with the media content, video trailers, and script text files.
- 53. The one or more client devices of claim 45, wherein at least one of the client devices is configured to read one or more files in one or more of the content folders into a database and execute queries of the database using a database querying engine.
- 54. A method comprising:
receiving multiple content folders, each content folder being associated with a particular piece of media content and containing a collection of metadata that is associated with the particular piece of media content; receiving a schedule file that describes when the particular pieces of media content are to be broadcast; using the content folders and the schedule file to construct an electronic program guide; receiving media content that is associated with individual, previously-received content folders; and incorporating the media content into an associated content folder.
- 55. The method of claim 54, wherein the schedule file comprises an XML file.
- 56. The method of claim 54, wherein each content folder is associated with a particular piece of media content by virtue of a unique identifier that identifies the media content.
- 57. The method of claim 54, wherein the metadata comprises content description metadata that describes the media content.
- 58. The method of claim 54, wherein the media content comprises television programs.
- 59. The method of claim 54, wherein the media content comprises movies.
- 60. The method of claim 54, wherein the media content comprises television programs and movies.
- 61. The method of claim 54, wherein the metadata comprises different types of metadata.
- 62. The method of claim 54, wherein the metadata comprises one or more of artwork associated with the media content, images associated with the media content, video trailers, and script text files.
- 63. The method of claim 54 further comprising reading one or more files in one or more of the content folders into a database and executing queries of the database using a database querying engine.
- 64. One or more computer readable media having instructions thereon which, when executed by one or more processors, cause the processors to implement the method of claim 54.
- 65. One or more client devices embodying the one or more computer-readable media of claim 64.
- 66. A system comprising:
a recommendation engine configured to: receive data associated with media content that is to be broadcast, and data that defines user preferences; process the received data to calculate a score for individual pieces of media content that is to be broadcast; make recommendations to one or more users based upon the calculated scores for the individual pieces of media content.
- 67. The system of claim 66, wherein the data that is associated with the media content comprises part of a content folder that contains metadata that describes the content.
- 68. The system of claim 66, wherein the data that is associated with the media content comprises part of a content folder that contains an XML content description file that describes the content.
- 69. The system of claim 66, wherein the data that is associated with the media content comprises part of a content folder that contains metadata that describes the content, the recommendation engine being further configured to provide, into individual content folders, one or more user content preference files that describe how well a particular piece of media content matches with a user's preferences.
- 70. The system of claim 66, wherein the data that defines user preferences comprises a user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences.
- 71. The system of claim 66, wherein the data that is associated with the media content comprises a media content description file and the data that defines user preferences comprises a user preference file, the media content description file and the user preference file conforming to a common schema.
- 72. The system of claim 66, wherein the data that defines user preferences comprises:
a user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences; and a significance file that defines, for an individual user, significance values that are used to calculate scores for individual pieces of media content.
- 73. The system of claim 66, wherein the data that defines user preferences comprises:
a user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences; and a significance file that defines significance values that are used to calculate scores for individual pieces of media content, the user preference file and the significance file conforming to a common schema.
- 74. The system of claim 66, wherein the data that defines user preferences comprises:
an XML user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences; and an XML significance file that defines significance values that are used to calculate scores for individual pieces of media content, the user preference file and the significance file conforming to a common schema.
- 75. One or more client devices embodying the system of claim 66.
- 76. A system comprising:
one or more user preference files; individual files comprising data that defines a user's media content preferences; the files being configured to enable software executing on a client device to:
calculate scores associated with media content that is to be broadcast and make media content recommendations to an associated user.
- 77. The system of claim 76, wherein user preference files comprise global files.
- 78. The system of claim 76, wherein the data that defines a user's media content preferences comprises one or more attributes that are associated with the media content, and attribute values to define the user's preferences.
- 79. The system of claim 76, wherein the data that defines a user's media content preferences comprises one or more attributes that are associated with the media content, and attribute values to define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content.
- 80. The system of claim 76, wherein the data that defines a user's media content preferences comprises one or more attributes that are associated with the media content, and attribute values to define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content, the attribute values further comprising character strings that define contexts that pertain to individuals associated with the media content.
- 81. The system of claim 76, wherein the data that defines a user's media content preferences comprises one or more attributes that are associated with the media content, and attribute values to define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content, the attribute values further comprising values that indicate an extent to which a user prefers a particular attribute.
- 82. The system of claim 76, wherein the data that defines a user's media content preferences comprises one or more attributes that are associated with the media content, and attribute values to define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content, the attribute values comprising numerical values that indicate an extent to which a user prefers a particular attribute.
- 83. The system of claim 76, wherein the data that defines a user's media content preferences comprises one or more attributes that are associated with the media content, and attribute values to define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content, the attribute values comprising positive and negative numerical values that indicate an extent to which a user prefers a particular attribute.
- 84. The system of claim 76, wherein the user preference files are protected.
- 85. The system of claim 76, wherein the user preference files are protected by encryption.
- 86. The system of claim 76, wherein the user preference files are password-protected.
- 87. The system of claim 76, wherein the user preference files are protected via encryption and password protection.
- 88. One or more client devices incorporating the system of claim 76.
- 89. A system comprising:
one or more user preference files; individual files comprising hierarchical, tag-based files that contain data that defines a user's media content preferences; the files being configured to enable software executing on a client device to calculate scores associated with media content that is to be broadcast and make media content recommendations to an associated user.
- 90. The system of claim 89, wherein the user preference files comprise global files.
- 91. The system of claim 89, wherein the user preference files comprise XML files.
- 92. The system of claim 89, wherein the data that defines a user's media content preferences comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the user's preferences.
- 93. The system of claim 89, wherein the user preference files conform to a common schema that is used by content description files that describe media content.
- 94. A client device incorporating the system of claim 89.
- 95. A system comprising:
one or more significance files; individual files comprising data that defines a relative importance of a corresponding attribute for which a match can be determined between media content and user preferences pertaining to the media content; and the file(s) being configured to enable software executing on a client device to calculate scores associated with media content that is to be broadcast and make media content recommendations to an associated user.
- 96. The system of claim 95, wherein the significance file(s) comprise global files.
- 97. The system of claim 95, wherein the significance file(s) comprise XML files.
- 98. The system of claim 95, wherein the data that defines the relative importance comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the importance.
- 99. The system of claim 95, wherein the data that defines the relative importance comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the importance, the attribute values comprising numerical values.
- 100. The system of claim 95, wherein the significance file(s) conform to a common schema that is used by content description files that describe media content.
- 101. The system of claim 95, wherein the significance file(s) can define relative importances for different types of matches.
- 102. The system of claim 95, wherein the significance file(s) can define relative importances for different types of matches, at least one type of match comprising a partial match.
- 103. The system of claim 95, wherein the significance file(s) can define relative importances for different types of matches, at least one type of match comprising a full match.
- 104. The system of claim 95, wherein the significance file(s) can define relative importances for different types of matches, at least one type of match comprising a partial match, at least one other type of match comprising a full match.
- 105. A client device incorporating the system of claim 95.
- 106. A method comprising:
receiving descriptive data associated with media content that is to be broadcast to a client device; receiving data that defines user preferences that pertain to media content that is to be broadcast; processing the received data sufficient to calculate a score for individual pieces of media content that are to be broadcast; and based upon the calculated scores, making media content recommendations to one or more users of the client device.
- 107. The method of claim 106, wherein the act of receiving the descriptive data comprises receiving a content folder that contains a content description file that describes the media content.
- 108. The method of claim 106, wherein the act of receiving the descriptive data comprises receiving a content folder that contains an XML content description file that describes the media content.
- 109. The method of claim 106, wherein the act of receiving the data that defines the user preferences comprises accessing a user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences.
- 110. The method of claim 106, wherein the act of receiving the data that defines the user preferences comprises:
accessing a user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences; and accessing a significance file that contains data that defines, for individual users, a relative importance of a corresponding attribute for which a match can be determined between media content and user preferences defined in the user preference file.
- 111. The method of claim 106, wherein the act of receiving the data that defines the user preferences comprises:
accessing a user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences; and accessing a significance file that contains data that defines, for individual users, a relative importance of a corresponding attribute for which a match can be determined between media content and user preferences defined in the user preference file, the user preference file and the significance file conforming to a common schema.
- 112. The method of claim 106, wherein the act of receiving the data that defines the user preferences comprises:
accessing a user preference file that contains media content attributes and values assigned to the media content attributes that define a user's preferences; and accessing a significance file that contains data that defines, for individual users, a relative importance of a corresponding attribute for which a match can be determined between media content and user preferences defined in the user preference file, the user preference file and the significance file comprising XML files that conform to a common XML schema.
- 113. The method of claim 106, wherein the acts of receiving the descriptive data, receiving the data that defines the user preferences, and processing the received data are scheduled to be performed, by a client device, once a day.
- 114. One or more computer-readable media having computer-readable instructions thereon which, when executed by one or more processors, cause the one or more processors to implement the method of claim 106.
- 115. One or more client devices configured to implement the method of claim 106.
- 116. A method comprising:
receiving descriptive data associated with media content that is to be broadcast to a client device; receiving data that defines user preferences that pertain to media content that is to be broadcast, said data that defines the user preferences comprising (1) at least one user preference file, the user preference file comprising a hierarchical, tag-based file that contains data that defines a user's media content preferences, and (2) at least one significance file, the significance file comprising a hierarchical, tag-based file that contains data that defines a relative importance of a corresponding attribute for which a match can be determined between media content and user preferences pertaining to the media content; processing the received data sufficient to calculate a score for individual pieces of media content that are to be broadcast; and based upon the calculated scores, making media content recommendations to one or more users of the client device.
- 117. The method of claim 116, wherein the user preference file and the significance file comprise global files.
- 118. The method of claim 116, wherein the user preference file and the significance file comprise XML files.
- 119. The method of claim 116, wherein the user preference file and the significance file comprise XML files that conform to a common schema.
- 120. The method of claim 116, wherein the user preference file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the user's preferences.
- 121. The method of claim 116, wherein the user preference file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content.
- 122. The method of claim 116, wherein the user preference file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content, the attribute values comprising character strings that define contexts that pertain to individuals associated with the media content.
- 123. The method of claim 116, wherein the user preference file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the user's preferences, the attribute values comprising character strings that define individuals associated with the media content, the attribute values comprising values that indicate an extent to which a user prefers a particular attribute.
- 124. The method of claim 116, wherein the user preference file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the user's preferences, the attribute values comprising numerical values that indicate an extent to which a user prefers a particular attribute.
- 125. The method of claim 116, wherein the user preference file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the user's preferences, the attribute values comprising positive and negative numerical values that indicate an extent to which a user prefers a particular attribute.
- 126. The method of claim 116, wherein the significance file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the importance of the attributes.
- 127. The method of claim 116, wherein the significance file comprises one or more tag-encapsulated attributes that are associated with the media content, and attribute values that define the importance of the attributes, the attribute values in the significance file comprising numerical values.
- 128. A client device configured to implement the method of claim 116.
- 129. A system comprising:
a recommendation engine that is configured to process: an XML content description file containing data associated with and describing media content that is to be broadcast to a client device; one or more XML user preference files containing data that defines user preferences for one or more users; and one or more XML significance files that define(s), for individual users, significance values that are used to calculate, along with the data in the XML user preference file(s), scores for individual pieces of media content that is to be broadcast; the recommendation engine being configured to calculate, for each program or movie that is to be broadcast and each user, a score based upon the data contained in the XML content description file, the XML user preference file and the XML significance file, and make recommendations to one or more of the users based upon the calculated scores for the individual pieces of media content.
- 130. The system of claim 129, wherein the recommendation engine is configured to enable an electronic program guide to be generated that contains individual user recommendations associated with individual pieces of media content.
- 131. The system of claim 129, wherein the recommendation engine is configured to provide data, for each piece of media content, into a user content preference file that describes, for that piece of the media content, how well the piece of media content matches up with an associated user preference file for an associated user.
- 132. The system of claim 129, wherein the recommendation engine is configured to calculate scores as the content description files are downloaded from a server.
- 133. The system of claim 129, wherein the recommendation engine is configured to calculate scores as the content description files are downloaded from a server, the recommendation engine being configured to calculate scores at least once a day.
- 134. The system of claim 129, wherein the recommendation engine is configured to calculate scores as the content description files are downloaded from a server, the recommendation engine being configured to calculate scores responsive to a user making a change to an associated user preference file.
- 135. The system of claim 129, wherein the recommendation engine is configured to sort calculated scores for each user and provide the sorted scores into a file.
- 136. The system of claim 129, wherein the recommendation engine is configured to sort calculated scores for each user and provide the sorted scores into a separate scores file for each user.
- 137. The system of claim 129, wherein the recommendation engine is configured to sort calculated scores for each user and provide the sorted scores into a separate protected scores file for each user.
- 138. The system of claim 129, wherein the recommendation engine is configured to further calculate a relative score for each piece of media content, the relative score reflecting the media content's score relative to the scores for other media content.
- 139. The system of claim 129, wherein the recommendation engine is configured to further calculate a relative score for each piece of media content, the relative score reflecting the media content's score relative to the scores for other media content, the relative score being computed by dividing each media content's score by a high score attained for the individual pieces of media content.
- 140. The system of claim 129, wherein the recommendation engine is configured to further calculate a relative score for each piece of media content, the relative score reflecting the media content's score relative to the scores for other media content, the recommendation engine being configured to enable a visual display of the relative score for individual pieces of media content to be provided in an electronic program guide that is rendered.
- 141. The system of claim 129, wherein the recommendation engine is configured to further calculate a relative score for each piece of media content, the relative score reflecting the media content's score relative to the scores for other media content, the recommendation engine being configured to enable a threshold-based, visual display of the relative score for individual pieces of media content to be provided in an electronic program guide that is rendered.
- 142. A computing device embodying the system of claim 129.
- 143. A method comprising:
determining whether a particular piece of media content has an associated artwork file that contains content-specific artwork that can be rendered into an electronic program guide for one or more users; if the particular piece of content does not have an associated artwork file, ascertaining the genre of the particular piece of media content; selecting a generic image associated with the ascertained genre; and rendering an electronic program guide that contains the generic image in association with the particular piece of media content.
- 144. The method of claim 143, wherein the act of determining comprises searching a content folder associated with the individual piece of media content.
- 145. The method of claim 143, wherein the act of determining comprises searching a content folder associated with the individual piece of media content, the content folder being previously downloaded from a server.
- 146. The method of claim 143, wherein the act of ascertaining comprises searching an XML content description file that contains an XML tag associated with the genre of the particular piece of media content.
- 147. The method of claim 143, wherein the act of ascertaining comprises searching an XML content description file that contains an XML tag associated with the genre of the particular piece of media content, the XML content description file comprising part of a content folder associated with the individual piece of media content.
- 148. The method of claim 143, wherein the act of ascertaining comprises searching an XML content description file that contains an XML tag associated with the genre of the particular piece of media content, the XML content description file comprising part of a previously downloaded content folder associated with the individual piece of media content.
- 149. A client device configured to implement the method of claim 143.
RELATED APPLICATIONS
[0001] This application is related to the following U.S. patent applications, the disclosures of which are incorporated by reference herein:
[0002] application Ser. No. 10/125,260, filed Apr. 16, 2002, entitled “Media Content Descriptions” and naming Dave Marsh as inventor;
[0003] application Ser. No. 10/125,259, filed Apr. 16, 2002, entitled “Describing Media Content in Terms of Degrees” and naming Dave Marsh as inventor;
[0004] application Ser. No. ______, bearing Attorney Docket No. ms1-1088, filed ______, entitled “Scoring And Recommending Media Content Based On User Preferences”, and naming Dave Marsh as inventor; and
[0005] application Ser. No. ______, bearing Attorney Docket No. ms1-1175, filed ______, entitled “Entering Programming Preferences While Browsing An Electronic Programming Guide”, and naming Dave Marsh as inventor.