US20070073767A1 - Media identifier registry - Google Patents
Media identifier registry Download PDFInfo
- Publication number
- US20070073767A1 US20070073767A1 US11/559,149 US55914906A US2007073767A1 US 20070073767 A1 US20070073767 A1 US 20070073767A1 US 55914906 A US55914906 A US 55914906A US 2007073767 A1 US2007073767 A1 US 2007073767A1
- Authority
- US
- United States
- Prior art keywords
- identifiers
- logical
- media
- metadata
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Definitions
- the present invention relates to the field of data management and publishing.
- this invention relates to an identification registry for use in storing, retrieving, aggregating, and associating identifiers to deliver data such as content-related media metadata.
- CDs compact discs
- DVD digital versatile disc
- IDPs Independent data providers
- AMG All Media Guide
- IDPs capture a vast amount of information related to music CDs and other digital media.
- IDPs usually enter the collected data manually and store and manage the data using their own particular data entry application. Each IDP uses a different format for identifying content.
- Those skilled in the art are also familiar with media metadata services that collect information from users when metadata for a specific, requested media file is unavailable from an IDP.
- a media player software application that enables a user to play a CD on his or her computer.
- the application allows the user to display track information associated with the CD by clicking on an appropriate user interface (UI).
- UI user interface
- Such track information may include track number, song title, playing time, and the like.
- ISO 15707 published by the International Organization for Standardization (ISO) on Nov. 15, 2001, provides one scheme for identifying a logical piece of work.
- ISO 15707 defines the format, administration, and rules for allocating an international standard musical work code (ISWC) to a musical work.
- the ISWC uniquely distinguishes one musical work from another within computer databases and related documentation for those involved in the administration of rights to musical works.
- the standard's goal is to reduce errors when information about musical works is exchanged between rights societies, publishers, record companies, and other interested parties on an international level.
- the ISWC includes a prefix element followed by a nine-digit numeric code and a check digit.
- this standard focuses on rights management rather than data management and aggregation and is limited in scope to musical works.
- the existing standard does not provide for associating and mappings related identifiers, which is important when providing useful media metadata.
- an ID3 tag residing at the end of an audio file can include title, artist, album, year, genre, track, and a comment field.
- known tagging systems embed data about the content directly in the content. The problem is that this metadata can become stale and even incorrect. While the ID3 standard provides for an identifier, it is merely a placeholder and there is no specification on how it is to be used.
- existing tagging schemes also fail to address associations and mappings between identifiers.
- this invention arose out of concerns for providing systems and methods for processing data to improve the breadth and quality of stored media metadata and, thus, improve the processing of media content to provide an enhanced, rich, and robust user experience.
- Improvements in identifying media content and related information, as well as in the techniques used to store, retrieve, aggregate, and associate identifiers is desired. Such improvements should permit building a media data warehouse capable of aggregating data from many different sources.
- an identification system, or ID registry is desired to uniquely identify the same piece of content from different data providers, in different cultures, and in different physical forms to allow a consistent set of data to be stored and retrieved.
- the invention meets the above needs and overcomes one or more deficiencies in the prior art by providing improved management of metadata to enhance user experience when playing various media, including CDs and DVDs.
- the present invention improves how media content and related information are identified, as well as the techniques used to store, retrieve, aggregate, and associate identifiers.
- Systems and methods of the invention permit building a media data warehouse capable of aggregating data from many different sources.
- an identification system uniquely identifies the same piece of content from different data providers, in different cultures, and in different physical forms to allow a consistent set of data to be stored and retrieved.
- the invention handles data about media content and authors without being bound to the physical or cultural representation of the data or to any of a number of incomplete or proprietary identification systems.
- the invention also enables a single logical identifier to be embedded in digital media content for use in retrieving metadata about the content.
- the identifier which is independent of the physical media, can also be used to map other identification systems that are based on the physical properties of the media. This permits returning consistent data for different physical renderings of the same logical piece of content based on a mapping to the unique logical identifier.
- the features of the present invention described herein are less laborious and easier to implement than currently available techniques as well as being economically feasible and commercially practical.
- a method of managing metadata embodying aspects of the invention includes maintaining a database of metadata records.
- the metadata records each correspond to one or more media files and contain information relating to content of the corresponding media files.
- the media files are adapted for rendering by a media player program executed on one or more client computers.
- the method also includes generating a unique logical identifier for each of the metadata records. In this instance, the logical identifiers are configured for use in querying the metadata database.
- the method continues with defining a base type corresponding to each of the logical identifiers.
- the base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers.
- the method also includes storing the logical identifiers and the base types in an ID registry and defining associations between them.
- Another embodiment of the invention is directed to a system for managing metadata, which includes a server coupled to a data communications network and a database of metadata records.
- the metadata records each correspond to one or more media files and contain information relating to content of the corresponding media files.
- the media files are adapted for rendering by a media player program executed on one or more client computers, which are also coupled to the data communications network.
- An ID registry stores a unique logical identifier for each of the metadata records. In this instance, the logical identifiers being configured for use by the server in querying the metadata database.
- the ID registry further stores a base type corresponding to each of the logical identifiers and associated therewith in the ID registry.
- the base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers.
- a data structure according to the invention has a first field containing unique logical identifiers and a second field containing base types associated with the logical identifiers.
- the logical identifiers correspond to a metadata record, which correspond to media files.
- the metadata records contain information relating to content of the corresponding media files.
- the base types each corresponding to one of the logical identifiers. In this instance, the base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers.
- Computer-readable media having computer-executable instructions for performing methods of managing metadata embody further aspects of the invention.
- the invention may comprise various other methods and apparatuses.
- FIG. 1 is a block diagram of a computer system embodying aspects of the present invention.
- FIG. 2 is a block diagram illustrating aspects of metadata publishing by the system of FIG. 1 .
- FIG. 3 is an exemplary flow diagram illustrating aspects of the operation of the system of FIG. 1 .
- FIG. 4 is an exemplary embodiment of a data schema in accordance with the present invention.
- FIG. 5 is a block diagram illustrating one example of a suitable computing system environment on which the invention may be implemented.
- FIG. 1 illustrates an exemplary network environment in which the present invention can be used.
- a system 100 has one or more client computers 102 coupled to a data communication network 104 .
- One or more server computers 106 are also coupled to the network 104 .
- the client computer 102 can access the server 106 via network 104 .
- the system 100 also includes one or more databases 108 associated with server 106 .
- network 104 is the Internet (or the World Wide Web).
- server 106 and client computer 102 communicate in the illustrated embodiment using the hypertext transfer protocol (HTTP), a protocol commonly used on the Internet to exchange information.
- HTTP hypertext transfer protocol
- the user's computer 102 accesses a digital media file 112 , such as one residing on a compact disc or other suitable computer storage media.
- Client computer 102 also executes a web browser 114 and a media player application program 116 .
- server 106 and its associated database 108 form a repository web site 118 with which computer 102 communicates via network 104 to access data stored in database 108 .
- the media player program 116 can be any suitable rendering filter or media player that is configured to play digital media so that a user can experience the content that is embodied on the media.
- suitable media player applications include a CD media player application and a DVD media player application.
- Metadata involves information related to specific content of digital media file 112 being played on the media player 116 .
- Basic metadata includes title, composer, performer, genre, description of content, and the like.
- Extended metadata includes cover art, performer biographies, reviews, related performers, where to buy similar items, upcoming concerts, ticket sales, URLs to other related experiences including purchase opportunities, and the like.
- server 106 matches the metadata stored in database 108 to the specific media content that is being experienced by the user. Server 106 then returns the metadata to the user's computer 102 . It is to be understood that FIG. 1 presents a simplified illustration of the relationship between computer 102 , server 106 , and database 108 . Aspects of the invention involving this relationship between the components will be described in greater detail below.
- digital media file 112 refers to one or more files representing, for example, a single song track or a collection of tracks such as would be found on an audio CD.
- the media content can include, without limitation, specially encoded media content in the form of, for example, an encoded media file such as media content encoded in Microsoft® Windows MediaTM format using the Microsoft® Windows MediaTM Player program.
- the resultant system 100 permits the user to play media file 112 on an enabled media-playing device (e.g., computer 102 running Microsoft® Windows® operating system and Windows MediaTM Player) and expect not only to experience the media content but also have access to all manner of related metadata.
- an enabled media-playing device e.g., computer 102 running Microsoft® Windows® operating system and Windows MediaTM Player
- the user community has the ability to contribute key information to the process to improve the experience for other users.
- a web service (i.e., repository web site 118 ) provides data about music CDs and the like to media player application 116 .
- CD information e.g., title, artist, cover art, track names, etc.
- the web service aggregates CD data from a number of different sources, including the user community. The data feeds vary periodically (e.g., daily). The process of collecting metadata is explained below in connection to FIG. 2 .
- the web service publishes new CD information from different sources every day.
- the present invention provides improved management of metadata to enhance user experience when playing media file 112 .
- the invention permits building a media data warehouse capable of aggregating data from many different sources.
- an identifier (ID) registry uniquely identifies the same piece of content from different data providers, in different cultures (including different languages), and in different physical forms to allow a consistent set of data to be stored and retrieved.
- This ID registry handles data about media content and authors without being bound to the physical or cultural representation of the data or to any of a number of incomplete or proprietary identification systems.
- the invention enables a single logical identifier to be embedded in digital media content for use in retrieving metadata about the content.
- the identifier is independent of the physical media and can be used to map other identification systems that are based on the physical properties of the media. This permits returning consistent data for different physical renderings of the same logical piece of content based on a mapping to the unique logical identifier.
- repository web site 118 provides import, datastore, and publishing functions at 202 .
- known independent data providers 204 of media metadata e.g., Loudeye, AMG, and Oricon
- media metadata e.g., Loudeye, AMG, and Oricon
- each IDP 204 specializes in the gathering and management of media metadata and licenses the data to system 100 . Due to the trusted nature of the source, this data is treated as “canonical.” As an example, popular albums that have been released for many years tend to have well-established metadata.
- System 100 publishes metadata in several formats. As shown at 212 , published metadata takes the form of basic CD information. System 100 can also publish the data in extended CD format at 216 and/or DVD format at 218 . As indicated at 220 , the present invention contemplates other types of data output.
- the present invention beneficially scales well to multiple data providers 204 . While basic metadata for each digital media type (e.g., CD, DVD) can be considered universal because they are tied to the data standards in the media, extended metadata varies widely among multiple data providers. Many data publishers require full updates of metadata on a regular basis. Thus, the use of conventional tagging schemes and the like is problematic.
- basic metadata for each digital media type e.g., CD, DVD
- extended metadata varies widely among multiple data providers.
- Many data publishers require full updates of metadata on a regular basis. Thus, the use of conventional tagging schemes and the like is problematic.
- the ripped track (i.e., digital media file 112 ) is stored on local storage media associated with the user's computer, such as client computer 102 in FIG. 1 (see also computer 500 in FIG. 5 ).
- client computer 102 is connected to network 104 , as described with reference to FIG. 1 and FIG. 5
- media player program 116 executing on computer 102 sends an identifier for digital media file 112 to server 106 of repository web site 118 via network 104 .
- the ID may take the form of a physical identifier.
- Repository web site 118 has access to database 108 .
- server 106 transmits metadata associated with the identified media file 112 to the user's computer 102 .
- each media file 112 (in which the content that is to be experienced by the user resides) has a physical ID associated therewith.
- the invention assigns or otherwise associates the physical ID with a unique logical ID in an ID registry, which it then uses as the basis for any database queries.
- any suitable method or technique of generating a physical ID can be used. For example, when a user inserts a piece of media into a properly configured and enabled device, software code can execute and read data from the physical media. The software code can then compose a unique or nearly unique physical ID from that data.
- the identifier may take the form of a physical ID such as a table of contents (TOC) identifying the specific digital media file 112 based on the offsets of each track on the disc.
- Software code can read the offsets (in frames, which have a resolution of 1/72 nd of a second) of each track on the disc.
- a composite key or physical ID is then built from a string of the hex values of these offsets, prefaced by a number of tracks on the disc and finished with a representation of the total length of the disc.
- the TOC defined by a well-known specification referred to as the Red Book, identifies an audio CD based on absolute times for the start of each track.
- the TOC is implicitly computed based on the offsets of each track and is expected to be the same for all like-entitled CDs published from the same source (in certain instances, the TOC may also be found in the CD's lead-in area).
- the media comprises a DVD
- software code can read the first 64 kilobytes of two files that are found on every DVD. These files are VIDEO_TS.IFO and VTS — 01 — 0.IFO.
- the former contains main-menu information (VMGI), and the latter contains title set information (VTSI) for the first title on the DVD.
- VTSI title set information
- the code After the appropriate data blocks are read, the code generates a 64-bit CRC (cyclic redundancy code) checksum of the data, resulting in an appropriately unique key or physical ID.
- CRC cyclic redundancy code
- a physical ID can be generated for two different types of media.
- Other methods of generating physical IDs such as an International Standard Recording Code (ISRC) or an audio fingerprint or digital watermark for a pulse code modulation (PCM) stream, as well as other media types can be employed.
- ISRC International Standard Recording Code
- PCM pulse code modulation
- the physical IDs are computed media identifiers.
- the client computer 102 executes software code in this example to calculate the physical IDs on the client side.
- such code comprises part of a software-implemented media player (e.g., media player program 116 ) that is configured to play the media of interest.
- client computer 102 Once client computer 102 generates the physical IDs, it sends them to server 106 of the repository web site 118 via network 104 using a suitable protocol.
- the server 106 then uses the physical ID in connection with an ID registry system that, as described in detail below, uniquely identifies the same piece of content from different data providers, in different cultures, and in different physical forms to allow a consistent set of data to be stored and retrieved.
- the ID registry handles data about media content and authors without being bound to the physical or cultural representation of the data or to any of a number of incomplete or proprietary identification systems used by various IDPs.
- the invention enables a single logical ID for use in retrieving metadata about the content of digital media file 112 .
- This unique identifier which is independent of the physical media, can also be used to map other identification systems that are based on the physical properties of the media. As such, system 100 can return consistent metadata for different physical renderings of the same logical piece of content based on a mapping to the unique logical identifier.
- exemplary system 100 includes a process to define a unique logical ID for digital media file 112 in an ID registry and to map the unique ID to various pieces of physical media, other identifiers for the same content, and the like. This organization also includes a query process to retrieve information from database 108 based on the unique ID.
- the user on the client side inserts the media into computer 102 , or otherwise causes the content of media file 112 to be experienced.
- computer 102 uses a physical ID identifying specific media file 112 to access the logical ID that uniquely identifies the media.
- Server 106 uses the logical ID in the ID registry as the basis for metadata queries of database 108 . These queries are designed to retrieve a rich set of related metadata for the user.
- Server 106 then returns the metadata to client computer 102 via network 104 for display to the user.
- FIG. 3 illustrates one embodiment of the invention by way of a process flow diagram.
- an ID registry 302 uses a database schema (see FIG. 4 ) and a set of functions and procedures for storing, retrieving, and maintaining relationships in the schema to implement the invention.
- the registry 302 acts as a fundamental building block of a media data warehouse 304 capable of aggregating data from many different sources, such as IDPs 204 or user feedback (not shown in FIG. 3 ).
- the goal of the identification system 300 and, particularly, ID registry 302 is to uniquely identify the same piece of content from different data providers, in different cultures, and in different physical forms. For example, different IDPs use different formats for their identifiers so the same content may be identified by a number of different identifiers. Also, performers often use different stage names at different points in their careers and the same song may be found in a number of different physical forms, such as a CD track, MP3 file, etc.
- System 300 beneficially stores a consistent set of media-related data in a data publication 306 that integrates data from many different sources and from many different cultures.
- ID registry 302 also allows system 300 to consistently retrieve the data when presented with information about the physical format and unique characteristics of media file 112 .
- a computer such as server 106 processes source data (e.g., content-related metadata for a plurality of digital media files 112 ) from one or more data providers 204 .
- system 300 imports the source data into the data warehouse 306 and, at 312 , system 300 generates standardized, unique, logical IDs for source rows of data. For example, system 300 generates unique Ids for artist/performer, albums, tracks, etc.
- Process flow in FIG. 3 continues to one or more processes 314 for performing ID storage functions and one or more processes 316 for performing data aggregation functions.
- server 106 writes the unique logical IDs generated at 312 , as well as associations and mappings with various other identifiers, to ID registry 302 (see database schema of FIG. 4 ).
- identification system 300 provides one common ID space, i.e., registry 302 . This allows system 300 to store and retrieve IDs (see ID retrieval at 320 ) using a single data type regardless of the characteristics of the data referred to by a particular unique logical ID. Using a common data type in this manner further allows a number of relationships (i.e., associations and mappings) between IDs to be stored using a common schema (described in greater detail below).
- the invention abstracts the unique logical identifier from any one of a number of possible identifiers used to represent the physical media itself.
- the unique ID stored in registry 302 is actually a logical identifier for digital media file 112 .
- Various different physical media identifiers such as a TOC and track number for a CD, an ISRC, or an audio fingerprint or digital watermark for a PCM stream can all be mapped to the same unique logical identifier.
- the system 300 also maps non-homogenous identifiers of different data types and formats from various IDPs 204 into the common ID space of registry 302 .
- ID registry 302 maintains status information about the various identifiers, such as whether the data provider 204 has discontinued a particular identifier or replaced it with another identifier. This, again, provides a layer of abstraction between different data representations of media file 112 across multiple data providers 204 .
- the unique logical identifier can also be embedded in digital content to provide a link back to ID registry 302 . This means that data about the digital content of media file 112 can be maintained, updated, corrected, and enhanced in a central place and can be requested again at any time.
- server 106 utilizes the common ID space of registry 302 to publish the source data from data warehouse 304 as a homogenized (i.e., aggregated) data publication 306 .
- the present invention uniquely identifies the same piece of content from different data providers, in different cultures, and in different physical forms using a single, unique, logical ID.
- System 300 allows a consistent set of metadata to be stored in data publication 306 at 316 and then retrieved at 320 based on, for example, the unique logical ID associated with the physical ID of media file 112 .
- the illustrated embodiment of FIG. 3 performs various bookkeeping functions at 322 to maintain integrity and consistency of the ID system as a whole.
- the bookkeeping functions remove IDs from registry 302 when they no longer refer to anything and re-map the corresponding information to other unique logical IDs. These functions at 322 also protect against circular references and the like.
- this embodiment of the invention also tracks IDs based on their type and generates statistics based on data publication 306 and the type information stored in registry 302 .
- ID registry 302 is embodied by a database schema that tracks each logical ID in the schema, and its type, when it was created.
- the logical ID itself is a globally unique identifier (GUID), for example.
- GUID globally unique identifier
- server 106 generates the unique logical ID using a presently available GUID function (e.g., the newid() function of the Microsoft® SQL ServerTM database server application).
- the newid() function uses an application programming interface such as CoCreateGUID() to create the GUID.
- CoCreateGUID() an application programming interface
- GUID as the data type for IDs in the present invention means that several autonomous systems can be used to generate logical IDs without risk of creating duplicates.
- the invention advantageously permits creation of logical IDs in a federated manner. This is a useful property for improving the scalability of ID generation.
- GUIDs relieves the overhead of checking to see if an ID has already been used or pulling from a central pool of known new IDs.
- the logical IDs of registry 302 do not contain any type information.
- the core registry table, ID registry 302 associates each logical ID with its type.
- the type is a bit field used to describe the logical ID.
- Each logical ID in this embodiment has a base type (e.g., a piece of content, a collection of content, or a content author or performer).
- the “type” indicates to what type of information the logical ID refers.
- Each type can be further specified to the extent that each unique type can still be represented as a unique bit field. So, the specificity of the type system is only constrained by the size of the bit field.
- a generalized web service can look up a unique logical ID for a specific media file 112 and return a type specific extensible markup language (XML) document based on the ID's type passed as input.
- Another generalized web service can take a logical ID as input and return all of the media-related content associated with the particular logical ID, whether it is an identifier for a CD, DVD, or other collection of content.
- the invention further contemplates the use of type information stored in registry 302 when a more strongly typed interface is required.
- a web service can verify artist information by checking that the logical ID passed as input has a base type of “artist.”
- the ID retrieval process 320 quickly checks for a specific type by a “bookmarked” retrieval of the ID from registry 302 and a check for the specific bits required in the identifier's type bit field.
- system 300 permits retrieval of information about the artist from the table. This allows for both a check of the existence of the logical ID of the particular type and retrieval of domain data about the logical ID at the same time.
- a domain table contains domain data for all logical IDs of the specific type.
- registry 302 also associates logical IDs with other IDs.
- server 106 writes such associations to ID registry 302 .
- Associations are useful for indicating when one thing is like another but not the same.
- a generalized collection table represents a basic association.
- the collection has a simple schema containing a collection ID, an element ID, and an ordinal value.
- the schema in this embodiment permits ordered collections to be represented. Ordered collections occur commonly in connection with media metadata and can be used to represent things like tracks on a CD, menu and chapter information on a DVD, individual media in a box set, or a radio play list.
- the flexibility of a common base data type for all IDs allows this collection table to be used in a general way.
- a temporal collection rather than just an ordered collection.
- This schema is important for describing a collection that only exists for a certain period of time.
- a band and its members is a temporal collection.
- each band receives a separate identifier as a separate logical entity to be associated with content.
- System 300 associates a person logical ID with a content logical ID. Again, a bit field describes the role of the person with respect to the content. Thus, system 300 easily associates a single person once with a piece of content and then “ANDs” the bit field with the correct bits for various other types. This allows the same person to have an association type that indicates producer, director, writer and actor for a given piece of content.
- any number of different associations can be contained in the common schema of system 300 due to the choice of a single data type for the unique media logical identifier.
- One immediate benefit of the generic hierarchical nature of the associations is that a status that is applied at the root level can easily be applied at all levels below.
- server 106 also writes mappings to ID registry 302 in addition to associations. Mapping the unique logical identifier assigned to a particular media file 112 to other ID domains is a core function of registry 302 and most of the current processes built in and around registry 302 are used to maintain these mappings. The two main areas of mapping are a) mapping a unique logical identifier to one or more IDs in other data providers' ID systems; and b) mapping a unique logical identifier to one or more physical identifiers. Mappings are useful for indicating when disparate things are really the same. System 300 implements mappings using a unique schema each time a logical ID needs to be mapped to a different data type or a different number of columns.
- system 300 maps GUIDs (i.e., the logical IDs) to other information, such as source IDs and domain IDs.
- source IDs identify media file 112 using the identifier convention of a particular IDP 204 or the file's physical ID and domain IDs indicate whether the data is CD, DVD, or another type of digital media data.
- a single table maps IDs from other data providers 204 to the unique logical identifiers of registry 302 .
- the schema (see FIG. 4 ) has a column for the unique logical identifier, another column for the provider's ID and yet another column for the bit field corresponding to the type of the provider's ID.
- System 300 uses the type to construct more and more detailed types by adding bits. For instance, a simple check can be used to identify all IDs from a given provider 204 , then all IDs about music from provider 204 and finally all IDs about CD tracks from the given provider 204 .
- a single unique logical identifier can be mapped to many IDs from different IDPs 204 . This is part of the power of the unique logical identifier system 300 .
- the provider-type ID currently uses a variable length string of up to 100 unicode characters.
- the length has proved flexible enough to accommodate several IDPs 204 .
- numeric identifiers such as those used by certain IDPs 204
- system 300 can usually construct one from a group of fields considered to be unique.
- one logical identifier in a common ID space i.e., registry 302
- Each IDP 204 may provide data in very different schema covering different elements about the same piece of content.
- the data can also be provided in many different languages and culturally specific ways. As long as the data relates to the same logical piece of content of media file 112 , system 300 relates it using a single, unique, logical identifier, which can also be associated with various physical recordings or representations of the content.
- multiple schemas store different physical IDs mapped to the unique logical identifiers of registry 302 . This is based mainly on the widely different physical identifiers used for different types of media. For instance, CDs can consume up to 600 characters to uniquely identify a disc, using the standard TOC method. DVDs use a proprietary Microsoft identifier that consumes only 16 characters. As such, system 300 stores the mappings for these in separate schema. As other fingerprinting, watermarking and ISRC-based technologies become available to identify digital content, system 300 can similarly map the identifiers into ID registry 302 .
- the bookkeeping processes handle statuses for IDs that no longer refer to anything. For instance, if data provider 204 deletes a particular ID from its ID system, ID registry 302 can keep track of when the unique logical IDs no longer refer to useful data. This is important because the identifier could be embedded in a piece of content. If so, it would need to be flagged and re-mapped to another unique logical ID in system 300 that has data available. In the alternative, the data needs to be acquired through an editorial process.
- the system 300 further ensures that one unique data provider ID or physical ID is only mapped to one single unique identifier through data constraints to prevent circular references in the collection relationships.
- System 300 also maintains other type-based integrity for important ID relationships. For example, a piece of content should never refer to a collection that does not exist and track information should never refer to an album that does not exist. Conversely, all content should have at least one performer associated with it.
- the invention implements these rules as database triggers to maintain consistency at the time the logical IDs are stored in registry 302 .
- system 300 enables a single logical ID to be embedded in digital media content and/or collections of digital media content and used to retrieve metadata about the media.
- the logical identifier can also be used to map other ID systems that are based on, for example, physical properties of the media file 112 .
- a digital music file or a CD track or an audio stream can all be used to retrieve the same logical identifier from ID registry 302 , presuming they all share the same metadata.
- system 300 returns consistent data for different physical renderings of the same logical piece of content return consistent data based on the unique logical identifier to which the physical IDs are mapped.
- the present invention further provides an improved data schema for implementing ID registry 302 .
- PK refers to Primary Key
- FK refers to Foreign Key
- AK refers to Alternate Key
- U refers to Unique
- I refers to Index.
- cardinality of the relationships among tables in the user feedback data schema is indicated as follows: One to Many (1 . . . *); One to One (1 . . . 1); and Zero or More (*).
- the exemplary schema of FIG. 4 includes an Album table for at least two data providers 204 for purposes of illustration.
- the Provider A data makes reference to an AlbumID primary key
- the Provider B data makes reference to a UPC (universal product code) primary key.
- Both Album primary keys are associated with the unique logical identifier MSID in the ID Registry table.
- each MSID has a base type to identify to what the identifier refers. In this example, the base type is “album.”
- the present invention enables an essential service, namely, linking a general metadata experience with a purchase opportunity, or “buy” experience.
- the information used to determine whether a particular item is available for purchase is not included in the source data for Provider A.
- UPC the attributes of an album
- a separate database that includes a more up-to-date UPC list is also included in the ID registry 302 . Based on this data, system 300 can build a “buy” experience that incorporates current sales availability information.
- FIG. 5 shows one example of a general purpose computing device in the form of a computer 500 .
- a computer such as the computer 500 is suitable for use in executing media player program 116 (i.e., client computer 102 ).
- media player program 116 i.e., client computer 102
- server 106 a computer that is suitable for use as server 106 .
- computer 500 has one or more processors or processing units 502 and a system memory 504 .
- a system bus 508 couples various system components including the system memory 504 to the processors 502 .
- the bus 508 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
- bus architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
- Computer readable media may be any available medium that can be accessed locally or remotely by computer 500 .
- Computer readable media comprise computer storage media and communication media.
- Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by computer 500 .
- Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media.
- modulated data signal such as a carrier wave or other transport mechanism
- Wired media such as a wired network or direct-wired connection
- wireless media such as acoustic, RF, infrared, and other wireless media
- Combinations of the any of the above are also included within the scope of computer readable media.
- the system memory 504 includes computer storage media in the form of removable and/or non-removable, volatile and/or nonvolatile memory.
- system memory 504 includes read only memory (ROM) 510 and random access memory (RAM) 512 .
- ROM read only memory
- RAM random access memory
- the RAM 512 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 502 .
- FIG. 5 illustrates operating system 518 , application programs 520 (e.g., media player 116 ), other program modules 524 , and program data 526 .
- the computer 500 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
- FIG. 5 illustrates a hard disk drive 530 that reads from or writes to non-removable, nonvolatile magnetic media.
- FIG. 5 also shows a magnetic disk drive 532 that reads from or writes to a removable, nonvolatile magnetic disk 534 , and an optical disk drive 536 that reads from or writes to a removable, nonvolatile optical disk 538 such as a CD-ROM or other optical media.
- removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
- the hard disk drive 530 , and magnetic disk drive 532 and optical disk drive 536 are typically connected to the system bus 508 by a non-volatile memory interface, such as interface 542 .
- hard disk drive 530 stores operating system 546 , application programs 548 , other program modules 550 , and program data 552 .
- operating system 546 , application programs 548 , other program modules 550 , and program data 552 can either be the same as or different from operating system 518 , application programs 520 , other program modules 524 , and program data 526 .
- Operating system 546 , application programs 548 , other program modules 550 , and program data 552 are given different numbers here to illustrate that, at a minimum, they are different copies.
- FIG. 5 shows media player 116 stored in system memory 504 .
- components of media player 116 may reside in system memory 504 , hard disk drive 530 , or both.
- a user may enter commands and information into computer 500 through input devices such as a keyboard 556 and a pointing device 558 (e.g., a mouse, trackball, pen, or touch pad).
- input devices such as a keyboard 556 and a pointing device 558 (e.g., a mouse, trackball, pen, or touch pad).
- Other input devices known in the art include an audio/video input device(s) 560 as well as a microphone, joystick, game pad, satellite dish, scanner, or the like (not shown).
- processing unit 502 through a user input interface 564 that is coupled to system bus 508 , but may be connected by other interface and bus structures, such as a parallel port, game port, or a universal serial bus (USB).
- application programs 520 , 548 are often configured to present a user interface (UI).
- the UI allows a user to interact with the application program in some manner using some type of input device (e.g., keyboard 556 or pointing device 558 ).
- This UI is typically a visual display that is capable of receiving user input and processing that user input in some way.
- the UI presents one or more buttons or controls that can be clicked on by a user.
- a monitor 566 or other type of display device is also connected to system bus 508 via an interface, such as a video interface 568 .
- computers often include other peripheral output devices (not shown) such as a printer and speakers, which may be connected through an output peripheral interface (not shown).
- the computer 500 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 572 .
- the remote computer 572 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer 500 .
- the logical connections depicted in FIG. 5 include a local area network (LAN) 574 and a wide area network (WAN) 576 , but may also include other networks.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and global computer networks (e.g., the Internet).
- computer 500 When used in a local area networking environment, computer 500 is connected to the LAN 574 through a network interface or adapter 580 . When used in a wide area networking environment, such as the Internet, computer 500 typically includes a modem 582 or other means for establishing communications over the WAN 576 .
- the modem 582 which may be internal or external, is connected to system bus 508 via the user input interface 564 , or other appropriate mechanism.
- program modules depicted relative to computer 500 may be stored in a remote memory storage device (not shown).
- FIG. 5 illustrates remote application programs 584 as residing on the memory device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- the data processors of computer 500 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer.
- Programs and operating systems are typically distributed, for example, on floppy disks or CD-ROMs. From there, they are installed or loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory.
- the invention described herein includes these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in conjunction with a microprocessor or other data processor.
- the invention also includes the computer itself when programmed according to the methods and techniques described below.
- the invention is operational with numerous other general purpose or special purpose computing system environments or configurations.
- the computing system environment is not intended to suggest any limitation as to the scope of use or functionality of the invention.
- the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment.
- Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices.
- program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote computer storage media including memory storage devices.
- computer 500 executes computer-executable instructions such as those illustrated in FIG. 3 .
- the invention manages metadata by maintaining database 108 of metadata records and generating a unique logical identifier for each of the metadata records.
- the metadata records each correspond to one or more media files 112 and contain information relating to content of the corresponding media files.
- Media files 112 are adapted for rendering by media player program 116 executed on one or more client computers 102 .
- the logical identifiers are configured for use in querying the metadata database 108 .
- the invention defines a base type corresponding to each of the logical identifiers, stores the logical identifiers and base types in ID registry 302 , and defines associations between them.
- the base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers.
Abstract
A media identifier registry for managing metadata records. The registry stores a unique logical identifier for each of the records as well as a base type corresponding to each of the logical identifiers. The base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers. The registry further defines associations between the logical identifiers and base types. Improvements in identifying media content and related information according to the invention permit building a media data warehouse capable of aggregating data from many different sources, uniquely identify the same piece of content from different data providers, in different cultures, and in different physical forms to allow a consistent set of data to be stored and retrieved.
Description
- This application is a continuation of a U.S. patent application filed Aug. 15, 2002, entitled “Media Identifier Registry,” Ser. No. 10/219,456, the entire disclosure of which is hereby incorporated by reference herein.
- The present invention relates to the field of data management and publishing. In particular, this invention relates to an identification registry for use in storing, retrieving, aggregating, and associating identifiers to deliver data such as content-related media metadata.
- Due to recent advances in technology, computer users are now able to enjoy many features that provide an improved user experience, such as playing various media and multimedia content on their personal or laptop computers. For example, most computers today are able to play compact discs (CDs) so users can listen to their favorite musical artists while working on their computers. Many computers are also equipped with digital versatile disc (DVD) drives enabling users to watch movies.
- As users become more familiar with advanced features on their computers, such as those mentioned above, their expectations of the various additional innovative features will undoubtedly continue to grow. Users often desire to receive media metadata, which includes content-related data associated with digital media files such as those from CDs and DVDs. Independent data providers (IDPs), such as Loudeye Corporation and All Media Guide (AMG) of Alliance Entertainment Corp., capture a vast amount of information related to music CDs and other digital media. IDPs usually enter the collected data manually and store and manage the data using their own particular data entry application. Each IDP uses a different format for identifying content. Those skilled in the art are also familiar with media metadata services that collect information from users when metadata for a specific, requested media file is unavailable from an IDP. For example, consider a media player software application that enables a user to play a CD on his or her computer. Typically, the application allows the user to display track information associated with the CD by clicking on an appropriate user interface (UI). Such track information may include track number, song title, playing time, and the like.
- The wide and varied tastes of computer users in music, movies, and the like create the need for an enormous corpus of metadata. As such, data publications of media metadata tend to be very large and experience a high volume of query traffic (e.g., several multi-gigabytes in size and under constant access). Also, the same logical content may have many different physical representations, which makes it difficult to identify and retrieve the correct media metadata for a specific media file. Moreover, the same piece of content from different data providers and/or in different cultures may be identified differently. These problems complicate the storage, management, and retrieval of media metadata, particularly in the context of a large database with data collected from multiple sources.
- International Standard ISO 15707, published by the International Organization for Standardization (ISO) on Nov. 15, 2001, provides one scheme for identifying a logical piece of work. In general, ISO 15707 defines the format, administration, and rules for allocating an international standard musical work code (ISWC) to a musical work. The ISWC uniquely distinguishes one musical work from another within computer databases and related documentation for those involved in the administration of rights to musical works. The standard's goal is to reduce errors when information about musical works is exchanged between rights societies, publishers, record companies, and other interested parties on an international level. As defined in ISO 15707, the ISWC includes a prefix element followed by a nine-digit numeric code and a check digit. Unfortunately, this standard focuses on rights management rather than data management and aggregation and is limited in scope to musical works. Moreover, the existing standard does not provide for associating and mappings related identifiers, which is important when providing useful media metadata.
- Those skilled in the art are also familiar with various tagging schemes for identifying digital content. For example, an ID3 tag residing at the end of an audio file can include title, artist, album, year, genre, track, and a comment field. In other words, known tagging systems embed data about the content directly in the content. The problem is that this metadata can become stale and even incorrect. While the ID3 standard provides for an identifier, it is merely a placeholder and there is no specification on how it is to be used. Moreover, existing tagging schemes also fail to address associations and mappings between identifiers.
- Accordingly, this invention arose out of concerns for providing systems and methods for processing data to improve the breadth and quality of stored media metadata and, thus, improve the processing of media content to provide an enhanced, rich, and robust user experience. Improvements in identifying media content and related information, as well as in the techniques used to store, retrieve, aggregate, and associate identifiers is desired. Such improvements should permit building a media data warehouse capable of aggregating data from many different sources. In this regard, an identification system, or ID registry, is desired to uniquely identify the same piece of content from different data providers, in different cultures, and in different physical forms to allow a consistent set of data to be stored and retrieved.
- The invention meets the above needs and overcomes one or more deficiencies in the prior art by providing improved management of metadata to enhance user experience when playing various media, including CDs and DVDs. Advantageously, the present invention improves how media content and related information are identified, as well as the techniques used to store, retrieve, aggregate, and associate identifiers. Systems and methods of the invention permit building a media data warehouse capable of aggregating data from many different sources. In this regard, an identification system uniquely identifies the same piece of content from different data providers, in different cultures, and in different physical forms to allow a consistent set of data to be stored and retrieved. The invention handles data about media content and authors without being bound to the physical or cultural representation of the data or to any of a number of incomplete or proprietary identification systems. The invention also enables a single logical identifier to be embedded in digital media content for use in retrieving metadata about the content. The identifier, which is independent of the physical media, can also be used to map other identification systems that are based on the physical properties of the media. This permits returning consistent data for different physical renderings of the same logical piece of content based on a mapping to the unique logical identifier. Moreover, the features of the present invention described herein are less laborious and easier to implement than currently available techniques as well as being economically feasible and commercially practical.
- Briefly described, a method of managing metadata embodying aspects of the invention includes maintaining a database of metadata records. The metadata records each correspond to one or more media files and contain information relating to content of the corresponding media files. The media files are adapted for rendering by a media player program executed on one or more client computers. The method also includes generating a unique logical identifier for each of the metadata records. In this instance, the logical identifiers are configured for use in querying the metadata database. The method continues with defining a base type corresponding to each of the logical identifiers. The base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers. The method also includes storing the logical identifiers and the base types in an ID registry and defining associations between them.
- Another embodiment of the invention is directed to a system for managing metadata, which includes a server coupled to a data communications network and a database of metadata records. The metadata records each correspond to one or more media files and contain information relating to content of the corresponding media files. The media files are adapted for rendering by a media player program executed on one or more client computers, which are also coupled to the data communications network. An ID registry stores a unique logical identifier for each of the metadata records. In this instance, the logical identifiers being configured for use by the server in querying the metadata database. The ID registry further stores a base type corresponding to each of the logical identifiers and associated therewith in the ID registry. The base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers.
- In another embodiment, a data structure according to the invention has a first field containing unique logical identifiers and a second field containing base types associated with the logical identifiers. The logical identifiers correspond to a metadata record, which correspond to media files. The metadata records contain information relating to content of the corresponding media files. The base types each corresponding to one of the logical identifiers. In this instance, the base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers.
- Computer-readable media having computer-executable instructions for performing methods of managing metadata embody further aspects of the invention.
- Alternatively, the invention may comprise various other methods and apparatuses.
- Other features will be in part apparent and in part pointed out hereinafter.
-
FIG. 1 is a block diagram of a computer system embodying aspects of the present invention. -
FIG. 2 is a block diagram illustrating aspects of metadata publishing by the system ofFIG. 1 . -
FIG. 3 is an exemplary flow diagram illustrating aspects of the operation of the system ofFIG. 1 . -
FIG. 4 is an exemplary embodiment of a data schema in accordance with the present invention. -
FIG. 5 is a block diagram illustrating one example of a suitable computing system environment on which the invention may be implemented. - Corresponding reference characters indicate corresponding parts throughout the drawings.
- Referring now to the drawings,
FIG. 1 illustrates an exemplary network environment in which the present invention can be used. Asystem 100 has one ormore client computers 102 coupled to adata communication network 104. One ormore server computers 106, sometimes referred to as “web servers” or “network servers,” are also coupled to thenetwork 104. In turn, theclient computer 102 can access theserver 106 vianetwork 104. As shown inFIG. 1 , thesystem 100 also includes one ormore databases 108 associated withserver 106. - In this example,
network 104 is the Internet (or the World Wide Web). However, the teachings of the present invention can be applied to any data communication network.Server 106 andclient computer 102 communicate in the illustrated embodiment using the hypertext transfer protocol (HTTP), a protocol commonly used on the Internet to exchange information. - Referring further to
FIG. 1 , the user'scomputer 102 accesses adigital media file 112, such as one residing on a compact disc or other suitable computer storage media.Client computer 102 also executes aweb browser 114 and a mediaplayer application program 116. In this embodiment,server 106 and its associateddatabase 108 form arepository web site 118 with whichcomputer 102 communicates vianetwork 104 to access data stored indatabase 108. Themedia player program 116 can be any suitable rendering filter or media player that is configured to play digital media so that a user can experience the content that is embodied on the media. For example, suitable media player applications include a CD media player application and a DVD media player application. - One aspect of the present invention enables the user or, particularly, enables
media player program 116 executed on a computing device or client, to access, retrieve, and display for the user, so-called metadata. Those skilled in the art are familiar with metadata, which is simply information about data. In the context of the present invention, metadata involves information related to specific content of digital media file 112 being played on themedia player 116. Basic metadata includes title, composer, performer, genre, description of content, and the like. Extended metadata includes cover art, performer biographies, reviews, related performers, where to buy similar items, upcoming concerts, ticket sales, URLs to other related experiences including purchase opportunities, and the like. - In the embodiment of
FIG. 1 ,server 106 matches the metadata stored indatabase 108 to the specific media content that is being experienced by the user.Server 106 then returns the metadata to the user'scomputer 102. It is to be understood thatFIG. 1 presents a simplified illustration of the relationship betweencomputer 102,server 106, anddatabase 108. Aspects of the invention involving this relationship between the components will be described in greater detail below. - In the examples herein, the media content of
digital media file 112 is described in the context of content embodied on a CD or a DVD. It is to be appreciated and understood that the media content can be embodied on any suitable media, including digital files downloaded to the client computer's memory, and that the specific examples described herein are given to further understanding of the inventive principles. For convenience,digital media file 112 refers to one or more files representing, for example, a single song track or a collection of tracks such as would be found on an audio CD. The media content can include, without limitation, specially encoded media content in the form of, for example, an encoded media file such as media content encoded in Microsoft® Windows Media™ format using the Microsoft® Windows Media™ Player program. - The
resultant system 100 permits the user to play media file 112 on an enabled media-playing device (e.g.,computer 102 running Microsoft® Windows® operating system and Windows Media™ Player) and expect not only to experience the media content but also have access to all manner of related metadata. In addition, the user community has the ability to contribute key information to the process to improve the experience for other users. - In the exemplary embodiment of
FIG. 1 , a web service (i.e., repository web site 118) provides data about music CDs and the like tomedia player application 116. Each time a user plays a CD, for example, in the media player, the media player contacts the web service to see what CD information (e.g., title, artist, cover art, track names, etc.) is available. On the back-end, the web service aggregates CD data from a number of different sources, including the user community. The data feeds vary periodically (e.g., daily). The process of collecting metadata is explained below in connection toFIG. 2 . In this example, the web service publishes new CD information from different sources every day. - The present invention provides improved management of metadata to enhance user experience when playing
media file 112. In one embodiment, the invention permits building a media data warehouse capable of aggregating data from many different sources. In this regard, an identifier (ID) registry uniquely identifies the same piece of content from different data providers, in different cultures (including different languages), and in different physical forms to allow a consistent set of data to be stored and retrieved. This ID registry handles data about media content and authors without being bound to the physical or cultural representation of the data or to any of a number of incomplete or proprietary identification systems. The invention enables a single logical identifier to be embedded in digital media content for use in retrieving metadata about the content. According to the invention, the identifier is independent of the physical media and can be used to map other identification systems that are based on the physical properties of the media. This permits returning consistent data for different physical renderings of the same logical piece of content based on a mapping to the unique logical identifier. - Referring now to
FIG. 2 , one embodiment ofrepository web site 118 provides import, datastore, and publishing functions at 202. Typically, knownindependent data providers 204 of media metadata (e.g., Loudeye, AMG, and Oricon) supply the repository with trusted information, that is, source data. In this instance, eachIDP 204 specializes in the gathering and management of media metadata and licenses the data tosystem 100. Due to the trusted nature of the source, this data is treated as “canonical.” As an example, popular albums that have been released for many years tend to have well-established metadata. - In
FIG. 2 , the user gathers content-related media data directly from a CD, for example, at 206 and then submits the information at 210.System 100 publishes metadata in several formats. As shown at 212, published metadata takes the form of basic CD information.System 100 can also publish the data in extended CD format at 216 and/or DVD format at 218. As indicated at 220, the present invention contemplates other types of data output. - The present invention beneficially scales well to
multiple data providers 204. While basic metadata for each digital media type (e.g., CD, DVD) can be considered universal because they are tied to the data standards in the media, extended metadata varies widely among multiple data providers. Many data publishers require full updates of metadata on a regular basis. Thus, the use of conventional tagging schemes and the like is problematic. - When the user accesses (“rips”) an audio track from a specific digital medium, the ripped track (i.e., digital media file 112) is stored on local storage media associated with the user's computer, such as
client computer 102 inFIG. 1 (see alsocomputer 500 inFIG. 5 ). Ifclient computer 102 is connected to network 104, as described with reference toFIG. 1 andFIG. 5 ,media player program 116 executing oncomputer 102 sends an identifier for digital media file 112 toserver 106 ofrepository web site 118 vianetwork 104. As described below, the ID may take the form of a physical identifier.Repository web site 118 has access todatabase 108. In response to the received ID, for example,server 106 transmits metadata associated with the identifiedmedia file 112 to the user'scomputer 102. - In one embodiment, each media file 112 (in which the content that is to be experienced by the user resides) has a physical ID associated therewith. The invention assigns or otherwise associates the physical ID with a unique logical ID in an ID registry, which it then uses as the basis for any database queries. With respect to the physical IDs that are associated with the media, any suitable method or technique of generating a physical ID can be used. For example, when a user inserts a piece of media into a properly configured and enabled device, software code can execute and read data from the physical media. The software code can then compose a unique or nearly unique physical ID from that data.
- In the case where the media comprises a CD, the identifier may take the form of a physical ID such as a table of contents (TOC) identifying the specific digital media file 112 based on the offsets of each track on the disc. Software code can read the offsets (in frames, which have a resolution of 1/72nd of a second) of each track on the disc. A composite key or physical ID is then built from a string of the hex values of these offsets, prefaced by a number of tracks on the disc and finished with a representation of the total length of the disc. The TOC, defined by a well-known specification referred to as the Red Book, identifies an audio CD based on absolute times for the start of each track. In general, the TOC is implicitly computed based on the offsets of each track and is expected to be the same for all like-entitled CDs published from the same source (in certain instances, the TOC may also be found in the CD's lead-in area).
- In the case where the media comprises a DVD, software code can read the first 64 kilobytes of two files that are found on every DVD. These files are VIDEO_TS.IFO and VTS—01—0.IFO. The former contains main-menu information (VMGI), and the latter contains title set information (VTSI) for the first title on the DVD. After the appropriate data blocks are read, the code generates a 64-bit CRC (cyclic redundancy code) checksum of the data, resulting in an appropriately unique key or physical ID.
- Of course, it is to be understood that the above two examples are simply two ways that a physical ID can be generated for two different types of media. Other methods of generating physical IDs, such as an International Standard Recording Code (ISRC) or an audio fingerprint or digital watermark for a pulse code modulation (PCM) stream, as well as other media types can be employed. In general, the physical IDs are computed media identifiers.
- The
client computer 102 executes software code in this example to calculate the physical IDs on the client side. In one embodiment, such code comprises part of a software-implemented media player (e.g., media player program 116) that is configured to play the media of interest. Onceclient computer 102 generates the physical IDs, it sends them toserver 106 of therepository web site 118 vianetwork 104 using a suitable protocol. Theserver 106 then uses the physical ID in connection with an ID registry system that, as described in detail below, uniquely identifies the same piece of content from different data providers, in different cultures, and in different physical forms to allow a consistent set of data to be stored and retrieved. The ID registry handles data about media content and authors without being bound to the physical or cultural representation of the data or to any of a number of incomplete or proprietary identification systems used by various IDPs. The invention enables a single logical ID for use in retrieving metadata about the content ofdigital media file 112. This unique identifier, which is independent of the physical media, can also be used to map other identification systems that are based on the physical properties of the media. As such,system 100 can return consistent metadata for different physical renderings of the same logical piece of content based on a mapping to the unique logical identifier. - Various features of the described systems and methods include a set of databases, client side executable code, and a series of server side processes that provide for querying and maintaining the databases. One logical organization of
exemplary system 100 includes a process to define a unique logical ID for digital media file 112 in an ID registry and to map the unique ID to various pieces of physical media, other identifiers for the same content, and the like. This organization also includes a query process to retrieve information fromdatabase 108 based on the unique ID. - In
system 100, the user on the client side inserts the media intocomputer 102, or otherwise causes the content of media file 112 to be experienced. As described above,computer 102 uses a physical ID identifyingspecific media file 112 to access the logical ID that uniquely identifies the media.Server 106 then uses the logical ID in the ID registry as the basis for metadata queries ofdatabase 108. These queries are designed to retrieve a rich set of related metadata for the user.Server 106 then returns the metadata toclient computer 102 vianetwork 104 for display to the user. - With reference to
FIG. 3 , the present invention involves anidentification system 300 for media content and content-related information, as well as methods of storing, retrieving, aggregating, and associating identifiers.FIG. 3 illustrates one embodiment of the invention by way of a process flow diagram. In this instance, anID registry 302 uses a database schema (seeFIG. 4 ) and a set of functions and procedures for storing, retrieving, and maintaining relationships in the schema to implement the invention. Theregistry 302 acts as a fundamental building block of amedia data warehouse 304 capable of aggregating data from many different sources, such asIDPs 204 or user feedback (not shown inFIG. 3 ). - The goal of the
identification system 300 and, particularly,ID registry 302, is to uniquely identify the same piece of content from different data providers, in different cultures, and in different physical forms. For example, different IDPs use different formats for their identifiers so the same content may be identified by a number of different identifiers. Also, performers often use different stage names at different points in their careers and the same song may be found in a number of different physical forms, such as a CD track, MP3 file, etc.System 300 beneficially stores a consistent set of media-related data in adata publication 306 that integrates data from many different sources and from many different cultures. The use ofID registry 302 according to the invention also allowssystem 300 to consistently retrieve the data when presented with information about the physical format and unique characteristics ofmedia file 112. - Beginning at 310 and 312, a computer such as
server 106 processes source data (e.g., content-related metadata for a plurality of digital media files 112) from one ormore data providers 204. At 310,system 300 imports the source data into thedata warehouse 306 and, at 312,system 300 generates standardized, unique, logical IDs for source rows of data. For example,system 300 generates unique Ids for artist/performer, albums, tracks, etc. Process flow inFIG. 3 continues to one ormore processes 314 for performing ID storage functions and one ormore processes 316 for performing data aggregation functions. - At 314,
server 106 writes the unique logical IDs generated at 312, as well as associations and mappings with various other identifiers, to ID registry 302 (see database schema ofFIG. 4 ). As described above,identification system 300 provides one common ID space, i.e.,registry 302. This allowssystem 300 to store and retrieve IDs (see ID retrieval at 320) using a single data type regardless of the characteristics of the data referred to by a particular unique logical ID. Using a common data type in this manner further allows a number of relationships (i.e., associations and mappings) between IDs to be stored using a common schema (described in greater detail below). In one embodiment, the invention abstracts the unique logical identifier from any one of a number of possible identifiers used to represent the physical media itself. Thus, the unique ID stored inregistry 302 is actually a logical identifier fordigital media file 112. Various different physical media identifiers, such as a TOC and track number for a CD, an ISRC, or an audio fingerprint or digital watermark for a PCM stream can all be mapped to the same unique logical identifier. - The
system 300 also maps non-homogenous identifiers of different data types and formats fromvarious IDPs 204 into the common ID space ofregistry 302.ID registry 302 maintains status information about the various identifiers, such as whether thedata provider 204 has discontinued a particular identifier or replaced it with another identifier. This, again, provides a layer of abstraction between different data representations of media file 112 acrossmultiple data providers 204. According to the invention, the unique logical identifier can also be embedded in digital content to provide a link back toID registry 302. This means that data about the digital content of media file 112 can be maintained, updated, corrected, and enhanced in a central place and can be requested again at any time. - Process flow continues from the data collection functions at 310 to the aggregation functions at 316. In this instance,
server 106 utilizes the common ID space ofregistry 302 to publish the source data fromdata warehouse 304 as a homogenized (i.e., aggregated)data publication 306. In this regard, the present invention uniquely identifies the same piece of content from different data providers, in different cultures, and in different physical forms using a single, unique, logical ID.System 300 allows a consistent set of metadata to be stored indata publication 306 at 316 and then retrieved at 320 based on, for example, the unique logical ID associated with the physical ID ofmedia file 112. - In addition, the illustrated embodiment of
FIG. 3 performs various bookkeeping functions at 322 to maintain integrity and consistency of the ID system as a whole. The bookkeeping functions remove IDs fromregistry 302 when they no longer refer to anything and re-map the corresponding information to other unique logical IDs. These functions at 322 also protect against circular references and the like. At 324, this embodiment of the invention also tracks IDs based on their type and generates statistics based ondata publication 306 and the type information stored inregistry 302. - Referring further to the processes illustrated in
FIG. 3 ,ID registry 302 is embodied by a database schema that tracks each logical ID in the schema, and its type, when it was created. The logical ID itself is a globally unique identifier (GUID), for example. In general, a GUID is a 128-bit value known by those skilled in the art to be unique. At 312,server 106 generates the unique logical ID using a presently available GUID function (e.g., the newid() function of the Microsoft® SQL Server™ database server application). In turn, the newid() function uses an application programming interface such as CoCreateGUID() to create the GUID. For simplicity, the foregoing describesserver 106 as creating the logical ID. However, it is to be understood that the use of a GUID as the data type for IDs in the present invention means that several autonomous systems can be used to generate logical IDs without risk of creating duplicates. In other words, the invention advantageously permits creation of logical IDs in a federated manner. This is a useful property for improving the scalability of ID generation. Also, the use of GUIDs relieves the overhead of checking to see if an ID has already been used or pulling from a central pool of known new IDs. - In one embodiment of the invention, the logical IDs of
registry 302 do not contain any type information. Thus, the invention eliminates the risk of partitioning the ID space and running out of useable IDs. The core registry table,ID registry 302, associates each logical ID with its type. For example, the type is a bit field used to describe the logical ID. Each logical ID in this embodiment has a base type (e.g., a piece of content, a collection of content, or a content author or performer). The “type” indicates to what type of information the logical ID refers. Each type can be further specified to the extent that each unique type can still be represented as a unique bit field. So, the specificity of the type system is only constrained by the size of the bit field. - Having a single underlying data type while storing semantic type information separately for all logical IDs written to
ID registry 302 permits functions and interfaces to be written generally. For example, a generalized web service can look up a unique logical ID for aspecific media file 112 and return a type specific extensible markup language (XML) document based on the ID's type passed as input. Another generalized web service can take a logical ID as input and return all of the media-related content associated with the particular logical ID, whether it is an identifier for a CD, DVD, or other collection of content. - The invention further contemplates the use of type information stored in
registry 302 when a more strongly typed interface is required. In one instance, a web service can verify artist information by checking that the logical ID passed as input has a base type of “artist.” TheID retrieval process 320 quickly checks for a specific type by a “bookmarked” retrieval of the ID fromregistry 302 and a check for the specific bits required in the identifier's type bit field. In the alternative, if a table or view exists containing all IDs of a specific type, such as artists,system 300 permits retrieval of information about the artist from the table. This allows for both a check of the existence of the logical ID of the particular type and retrieval of domain data about the logical ID at the same time. In this alternative embodiment, a domain table contains domain data for all logical IDs of the specific type. - Referring further to
FIG. 3 ,registry 302 also associates logical IDs with other IDs. AtID storage stage 314,server 106 writes such associations toID registry 302. Associations are useful for indicating when one thing is like another but not the same. A generalized collection table, for example, represents a basic association. The collection has a simple schema containing a collection ID, an element ID, and an ordinal value. The schema in this embodiment permits ordered collections to be represented. Ordered collections occur commonly in connection with media metadata and can be used to represent things like tracks on a CD, menu and chapter information on a DVD, individual media in a box set, or a radio play list. The flexibility of a common base data type for all IDs allows this collection table to be used in a general way. - Another important type of collection held in a separate schema is a temporal collection, rather than just an ordered collection. This schema is important for describing a collection that only exists for a certain period of time. For example, a band and its members is a temporal collection. Inasmuch as a band is really an entity unto itself and yet comprised of individual members, each band receives a separate identifier as a separate logical entity to be associated with content.
- Another important relationship is between people, or collections of people, and content. This type-based association includes things like authors, composers, directors, and performers and how they related to the content of one or more media files 112.
System 300 associates a person logical ID with a content logical ID. Again, a bit field describes the role of the person with respect to the content. Thus,system 300 easily associates a single person once with a piece of content and then “ANDs” the bit field with the correct bits for various other types. This allows the same person to have an association type that indicates producer, director, writer and actor for a given piece of content. - Any number of different associations can be contained in the common schema of
system 300 due to the choice of a single data type for the unique media logical identifier. One immediate benefit of the generic hierarchical nature of the associations is that a status that is applied at the root level can easily be applied at all levels below. - At 314,
server 106 also writes mappings toID registry 302 in addition to associations. Mapping the unique logical identifier assigned to a particular media file 112 to other ID domains is a core function ofregistry 302 and most of the current processes built in and aroundregistry 302 are used to maintain these mappings. The two main areas of mapping are a) mapping a unique logical identifier to one or more IDs in other data providers' ID systems; and b) mapping a unique logical identifier to one or more physical identifiers. Mappings are useful for indicating when disparate things are really the same.System 300 implements mappings using a unique schema each time a logical ID needs to be mapped to a different data type or a different number of columns. For example,system 300 maps GUIDs (i.e., the logical IDs) to other information, such as source IDs and domain IDs. In one embodiment, source IDs identify media file 112 using the identifier convention of aparticular IDP 204 or the file's physical ID and domain IDs indicate whether the data is CD, DVD, or another type of digital media data. - In one embodiment, a single table maps IDs from
other data providers 204 to the unique logical identifiers ofregistry 302. The schema (seeFIG. 4 ) has a column for the unique logical identifier, another column for the provider's ID and yet another column for the bit field corresponding to the type of the provider's ID.System 300 uses the type to construct more and more detailed types by adding bits. For instance, a simple check can be used to identify all IDs from a givenprovider 204, then all IDs about music fromprovider 204 and finally all IDs about CD tracks from the givenprovider 204. A single unique logical identifier can be mapped to many IDs fromdifferent IDPs 204. This is part of the power of the uniquelogical identifier system 300. - The provider-type ID currently uses a variable length string of up to 100 unicode characters. The length has proved flexible enough to accommodate
several IDPs 204. For example, numeric identifiers, such as those used bycertain IDPs 204, can easily be converted to character data. In cases wheredata provider 204 does not maintain a unique identifier for data,system 300 can usually construct one from a group of fields considered to be unique. Thus, one logical identifier in a common ID space (i.e., registry 302) can be used to map into different provider ID systems. EachIDP 204 may provide data in very different schema covering different elements about the same piece of content. Similarly, the data can also be provided in many different languages and culturally specific ways. As long as the data relates to the same logical piece of content ofmedia file 112,system 300 relates it using a single, unique, logical identifier, which can also be associated with various physical recordings or representations of the content. - In one embodiment, multiple schemas store different physical IDs mapped to the unique logical identifiers of
registry 302. This is based mainly on the widely different physical identifiers used for different types of media. For instance, CDs can consume up to 600 characters to uniquely identify a disc, using the standard TOC method. DVDs use a proprietary Microsoft identifier that consumes only 16 characters. As such,system 300 stores the mappings for these in separate schema. As other fingerprinting, watermarking and ISRC-based technologies become available to identify digital content,system 300 can similarly map the identifiers intoID registry 302. - Referring now to the bookkeeping processes at 322, the present invention_maintains integrity and consistency of the
ID system 300 as a whole by these data back end operations. The bookkeeping processes handle statuses for IDs that no longer refer to anything. For instance, ifdata provider 204 deletes a particular ID from its ID system,ID registry 302 can keep track of when the unique logical IDs no longer refer to useful data. This is important because the identifier could be embedded in a piece of content. If so, it would need to be flagged and re-mapped to another unique logical ID insystem 300 that has data available. In the alternative, the data needs to be acquired through an editorial process. - The
system 300 further ensures that one unique data provider ID or physical ID is only mapped to one single unique identifier through data constraints to prevent circular references in the collection relationships.System 300 also maintains other type-based integrity for important ID relationships. For example, a piece of content should never refer to a collection that does not exist and track information should never refer to an album that does not exist. Conversely, all content should have at least one performer associated with it. In one embodiment, the invention implements these rules as database triggers to maintain consistency at the time the logical IDs are stored inregistry 302. - Advantageously,
system 300 enables a single logical ID to be embedded in digital media content and/or collections of digital media content and used to retrieve metadata about the media. The logical identifier can also be used to map other ID systems that are based on, for example, physical properties of themedia file 112. Inasmuch as the logical identifier is independent of the physical media, a digital music file or a CD track or an audio stream can all be used to retrieve the same logical identifier fromID registry 302, presuming they all share the same metadata. In other words,system 300 returns consistent data for different physical renderings of the same logical piece of content return consistent data based on the unique logical identifier to which the physical IDs are mapped. - Referring now to
FIG. 4 , the present invention further provides an improved data schema for implementingID registry 302. InFIG. 4 , PK refers to Primary Key, FK refers to Foreign Key, AK refers to Alternate Key, U refers to Unique, and I refers to Index. In addition, the cardinality of the relationships among tables in the user feedback data schema is indicated as follows: One to Many (1 . . . *); One to One (1 . . . 1); and Zero or More (*). - The exemplary schema of
FIG. 4 includes an Album table for at least twodata providers 204 for purposes of illustration. In this instance, the Provider A data makes reference to an AlbumID primary key and the Provider B data makes reference to a UPC (universal product code) primary key. Both Album primary keys are associated with the unique logical identifier MSID in the ID Registry table. As described above, each MSID has a base type to identify to what the identifier refers. In this example, the base type is “album.” - The present invention enables an essential service, namely, linking a general metadata experience with a purchase opportunity, or “buy” experience. In this instance, the information used to determine whether a particular item is available for purchase is not included in the source data for Provider A. However, there is a unique logical ID in
registry 302 that is common between the general purpose data and an external data source that holds specific information as to whether an item is available for purchase (i.e., source data from provider B). Given these two disparate data sources,system 300 uses theID registry 302 to make a positive match between the information and provide a seamless user experience. - In this specific example, among the attributes of an album is the UPC. While this is included in the general purpose database, it is not intended to indicate anything relative to the product's availability. A separate database that includes a more up-to-date UPC list is also included in the
ID registry 302. Based on this data,system 300 can build a “buy” experience that incorporates current sales availability information. -
FIG. 5 shows one example of a general purpose computing device in the form of acomputer 500. In one embodiment of the invention, a computer such as thecomputer 500 is suitable for use in executing media player program 116 (i.e., client computer 102). Likewise,computer 500 is suitable for use asserver 106. - In the illustrated embodiment,
computer 500 has one or more processors orprocessing units 502 and asystem memory 504. Asystem bus 508 couples various system components including thesystem memory 504 to theprocessors 502. Thebus 508 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus. - The
computer 500 has at least some form of computer readable media inFIG. 5 . Computer readable media may be any available medium that can be accessed locally or remotely bycomputer 500. By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. For example, computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed bycomputer 500. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Those skilled in the art are familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media, are examples of communication media. Combinations of the any of the above are also included within the scope of computer readable media. - The
system memory 504 includes computer storage media in the form of removable and/or non-removable, volatile and/or nonvolatile memory. In the illustrated embodiment,system memory 504 includes read only memory (ROM) 510 and random access memory (RAM) 512. A basic input/output system 516 (BIOS), containing the basic routines that help to transfer information between elements withincomputer 500, such as during startup, is typically stored inROM 510. TheRAM 512 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processingunit 502. By way of example, and not limitation,FIG. 5 illustratesoperating system 518, application programs 520 (e.g., media player 116),other program modules 524, andprogram data 526. - The
computer 500 may also include other removable/non-removable, volatile/nonvolatile computer storage media. For example,FIG. 5 illustrates ahard disk drive 530 that reads from or writes to non-removable, nonvolatile magnetic media.FIG. 5 also shows amagnetic disk drive 532 that reads from or writes to a removable, nonvolatilemagnetic disk 534, and anoptical disk drive 536 that reads from or writes to a removable, nonvolatileoptical disk 538 such as a CD-ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. Thehard disk drive 530, andmagnetic disk drive 532 andoptical disk drive 536 are typically connected to thesystem bus 508 by a non-volatile memory interface, such asinterface 542. - The drives or other mass storage devices and their associated computer storage media discussed above and illustrated in
FIG. 5 , provide storage of computer readable instructions, data structures, program modules and other data for thecomputer 500. InFIG. 5 , for example,hard disk drive 530stores operating system 546,application programs 548,other program modules 550, andprogram data 552. Note that these components can either be the same as or different fromoperating system 518, application programs 520,other program modules 524, andprogram data 526.Operating system 546,application programs 548,other program modules 550, andprogram data 552 are given different numbers here to illustrate that, at a minimum, they are different copies. - For purposes of illustration, programs and other executable program components, such as the
operating system FIG. 5 showsmedia player 116 stored insystem memory 504. Those skilled in the art understand that components ofmedia player 116 may reside insystem memory 504,hard disk drive 530, or both. - Referring further to
FIG. 5 , a user may enter commands and information intocomputer 500 through input devices such as akeyboard 556 and a pointing device 558 (e.g., a mouse, trackball, pen, or touch pad). Other input devices known in the art include an audio/video input device(s) 560 as well as a microphone, joystick, game pad, satellite dish, scanner, or the like (not shown). These and other input devices are connected toprocessing unit 502 through auser input interface 564 that is coupled tosystem bus 508, but may be connected by other interface and bus structures, such as a parallel port, game port, or a universal serial bus (USB). As is well known in the art,application programs 520, 548 are often configured to present a user interface (UI). The UI allows a user to interact with the application program in some manner using some type of input device (e.g.,keyboard 556 or pointing device 558). This UI is typically a visual display that is capable of receiving user input and processing that user input in some way. By way of example, the UI presents one or more buttons or controls that can be clicked on by a user. - A
monitor 566 or other type of display device is also connected tosystem bus 508 via an interface, such as avideo interface 568. In addition to themonitor 566, computers often include other peripheral output devices (not shown) such as a printer and speakers, which may be connected through an output peripheral interface (not shown). - The
computer 500 may operate in a networked environment using logical connections to one or more remote computers, such as aremote computer 572. Theremote computer 572 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative tocomputer 500. The logical connections depicted inFIG. 5 include a local area network (LAN) 574 and a wide area network (WAN) 576, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and global computer networks (e.g., the Internet). - When used in a local area networking environment,
computer 500 is connected to theLAN 574 through a network interface oradapter 580. When used in a wide area networking environment, such as the Internet,computer 500 typically includes amodem 582 or other means for establishing communications over theWAN 576. Themodem 582, which may be internal or external, is connected tosystem bus 508 via theuser input interface 564, or other appropriate mechanism. In a networked environment, program modules depicted relative tocomputer 500, or portions thereof, may be stored in a remote memory storage device (not shown). By way of example, and not limitation,FIG. 5 illustratesremote application programs 584 as residing on the memory device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. - Generally, the data processors of
computer 500 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer. Programs and operating systems are typically distributed, for example, on floppy disks or CD-ROMs. From there, they are installed or loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory. The invention described herein includes these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in conjunction with a microprocessor or other data processor. The invention also includes the computer itself when programmed according to the methods and techniques described below. - Although described in connection with an exemplary computing system environment, including
computer 500, the invention is operational with numerous other general purpose or special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of the invention. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. - The invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
- In operation,
computer 500 executes computer-executable instructions such as those illustrated inFIG. 3 . The invention manages metadata by maintainingdatabase 108 of metadata records and generating a unique logical identifier for each of the metadata records. The metadata records each correspond to one ormore media files 112 and contain information relating to content of the corresponding media files. Media files 112 are adapted for rendering bymedia player program 116 executed on one ormore client computers 102. According to one embodiment of the invention, the logical identifiers are configured for use in querying themetadata database 108. The invention defines a base type corresponding to each of the logical identifiers, stores the logical identifiers and base types inID registry 302, and defines associations between them. The base types are representative of the information contained in the respective metadata records for the corresponding logical identifiers. - When introducing elements of the present invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
- In view of the above, it will be seen that the several objects of the invention are achieved and other advantageous results attained.
- As various changes could be made in the above constructions and methods without departing from the scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
Claims (20)
1. A method of managing metadata comprising:
maintaining a database of metadata records, said metadata records each corresponding to one or more media files and containing information relating to content of the corresponding media files, said media files having associated physical identifiers based on physical properties of the media files and being adapted for rendering by a media player program executed on one or more client computers;
generating a unique logical identifier for each of the metadata records, said logical identifiers being configured for use in querying the metadata database, wherein said logical identifiers are independent of physical identifiers associated with said media files;
defining a base type corresponding to each of the logical identifiers, said base types being representative of the information contained in the respective metadata records for the corresponding logical identifiers;
storing the logical identifiers and the base types in an ID registry; and
defining associations between the logical identifiers and the base types.
2. The method of claim 1 further comprising at least one of the following:
retrieving from the metadata database each metadata record that corresponds to a specific media file being rendered by the media player program executed on one of the client computers, said metadata record being retrieved as a function of the logical identifier, and
formatting the retrieved metadata record for rendering by the media player program, said retrieved metadata record being formatted by a server associated with the metadata database, said server and said client computer executing the media player program being coupled to a data communication network, and further comprising returning the formatted metadata record to the client computer via the data communication network for rendering with the corresponding specific media file.
3. The method of claim 1 further comprising at least one of the following:
storing information representative of the base types in respective bit fields associated with the corresponding logical identifiers;
mapping each of the logical identifiers to one or more identifiers from a different domain of identifiers; and
maintaining data integrity by one-to-one mapping of unique identifiers from the different domain of identifiers to the logical identifiers.
4. The method of claim 1 further comprising mapping each of the logical identifiers to the one or more physical identifiers in the ID registry, the physical identifiers each being representative of physical characteristics of one of the media files.
5. The method of claim 4 further comprising searching the metadata database for metadata records corresponding to a specific media file being rendered by the media player program executed on one of the client computers, said metadata database being searched as a function of the logical identifier mapped to the physical identifier that represents physical characteristics of the specific media file.
6. The method of claim 4 wherein the specific media file includes one of the following: digital content of one or more tracks of a compact disc and wherein the physical identifier is representative of offset of the tracks on the disc, and digital content of a digital versatile disc wherein the physical identifier is representative of menu information on the disc.
7. The method of claim 1 wherein at least a portion of the information relating to the content of the media files contained in the metadata records is provided by a third party data provider, said third party data provider using provider identifiers for identifying the information, and further comprising mapping the logical identifiers to the provider identifiers in the ID registry.
8. The method of claim 7 further comprising at least one of the following:
defining an associations table of the ID registry, said associations table having a schema containing a column for the logical identifiers, a column for collection identifiers representative of a media collection, and a column for ordinal values representative of order within the media collection; and
defining a mapping table, said mapping table having a schema containing a column for the logical identifiers, a column for the provider identifiers, and a column for the base types, wherein mapping the logical identifiers to the provider identifiers includes mapping a single logical identifier to a plurality of provider identifiers.
9. The method of claim 1 further comprising embedding each logical identifier in a specific media files being rendered by the media player program executed on one of the client computers, said embedded logical identifier being independent of physical characteristics of the specific media file.
10. A system for managing metadata comprising:
a server coupled to a data communications network;
a database of metadata records, said metadata records each corresponding to one or more media files having associated physical identifiers based on physical properties of the media files and containing information relating to content of the corresponding media files, said media files being adapted for rendering by a media player program executed on one or more client computers, said client computers being coupled to the data communications network; and
an ID registry storing a unique logical identifier for each of the metadata records, said logical identifiers being configured for use by the server in querying the metadata database, wherein said logical identifiers are independent of physical identifiers associated with said media files, said ID registry further storing a base type corresponding to each of the logical identifiers and associated therewith in the ID registry, said base types being representative of the information contained in the respective metadata records for the corresponding logical identifiers.
11. The system of claim 10 wherein the ID registry includes at least one of the following:
information representative of the base types stored in respective bit fields associated with the corresponding logical identifiers, wherein the base type is selected from one or more of the following: performer, primary artist, album, track, title, and genre,
a mapping table, said mapping table having a schema containing a column for the logical identifiers, a column for the provider identifiers, and a column for the base types, and
an associations table, said associations table having a schema containing a column for the logical identifiers, a column for collection identifiers representative of a media collection, and a column for ordinal values representative of order within the media collection
12. The system of claim 10:
wherein the server is responsive to one of the logical identifiers for retrieving from the metadata database each metadata record that corresponds to a specific media file being rendered by the media player program executed on one of the client computers,
wherein the ID registry maps each of the logical identifiers to one or more identifiers from a different domain of identifiers; and
wherein the ID registry maps each of the logical identifiers to one or more physical identifiers in the ID registry, said physical identifiers each being representative of physical characteristics of one of the media files.
13. The system of claim 12 wherein the server searches the metadata database for metadata records corresponding to a specific media file being rendered by the media player program executed on one of the client computers, said metadata database being searched as a function of the logical identifier mapped to the physical identifier that represents physical characteristics of the specific media file.
14. The system of claim 10 wherein at least a portion of the information relating to the content of the media files contained in the metadata records is provided by a third party data provider, said third party data provider using provider identifiers for identifying the information, and wherein the logical identifiers are mapped to the provider identifiers in the ID registry.
15. The system of claim 10 wherein each logical identifier is embedded in a specific media file being rendered by the media player program executed on one of the client computers, said embedded logical identifier being independent of physical characteristics of the specific media file, and wherein the logical identifiers are globally unique identifiers.
16. One or more computer-readable media having a data structure stored thereon comprising:
a first field containing unique logical identifiers, said logical identifiers each corresponding to a metadata record, said metadata records each corresponding to one or more media files having associated physical identifiers based on physical properties of the media files and containing information relating to content of the corresponding media files, said media files being adapted for rendering by a media player program executed on one or more client computers; said logical identifiers being configured for use in querying the metadata database wherein said logical identifiers are independent of physical identifiers associated with said media files; and
a second field containing base types associated with the logical identifiers, said base types each corresponding to one of the logical identifiers, said base types being representative of the information contained in the respective metadata records for the corresponding logical identifiers.
17. The data structure of claim 16:
wherein the second field stores information representative of the base types in respective bit fields associated with the corresponding logical identifiers,
wherein the base type is selected from one or more of the following: performer, primary artist, album, track, title, and genre, and
wherein each of the logical identifiers is mapped to one or more identifiers from a different domain of identifiers.
18. The data structure of claim 16 further comprising a third field containing physical identifiers, said physical identifiers each being representative of physical characteristics of one of the media files, said logical identifiers each being mapped to one or more of the physical identifiers.
19. The data structure of claim 16 wherein the logical identifiers are globally unique identifiers, and wherein at least a portion of the information relating to the content of the media files contained in the metadata records is provided by a third party data provider, said third party data provider using provider identifiers for identifying the information, and further comprising a fourth field containing provider identifiers, said logical identifiers being mapped to the provider identifiers.
20. The data structure of claim 19 wherein the fields define at least one of the following:
a mapping table, said mapping table having a schema containing a column for the logical identifiers, a column for the provider identifiers, and a column for the base types, and
an associations table, said associations table having a schema containing a column for the logical identifiers, a column for collection identifiers representative of a media collection, and a column for ordinal values representative of order within the media collection.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/559,149 US20070073767A1 (en) | 2002-08-15 | 2006-11-13 | Media identifier registry |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/219,456 US7136866B2 (en) | 2002-08-15 | 2002-08-15 | Media identifier registry |
US11/559,149 US20070073767A1 (en) | 2002-08-15 | 2006-11-13 | Media identifier registry |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/219,456 Continuation US7136866B2 (en) | 2002-08-15 | 2002-08-15 | Media identifier registry |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/152,068 Continuation US20110290389A1 (en) | 2003-07-02 | 2011-06-02 | Anti-skid spike |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070073767A1 true US20070073767A1 (en) | 2007-03-29 |
Family
ID=31714746
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/219,456 Expired - Fee Related US7136866B2 (en) | 2002-08-15 | 2002-08-15 | Media identifier registry |
US11/559,149 Abandoned US20070073767A1 (en) | 2002-08-15 | 2006-11-13 | Media identifier registry |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/219,456 Expired - Fee Related US7136866B2 (en) | 2002-08-15 | 2002-08-15 | Media identifier registry |
Country Status (1)
Country | Link |
---|---|
US (2) | US7136866B2 (en) |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225669A1 (en) * | 2003-05-06 | 2004-11-11 | Novell, Inc. | Methods, data stores, data structures, and systems for electronic identity aggregation |
US20070156726A1 (en) * | 2005-12-21 | 2007-07-05 | Levy Kenneth L | Content Metadata Directory Services |
US20070209041A1 (en) * | 2003-08-28 | 2007-09-06 | Exley Richard M | Cross-reference service |
US20090024631A1 (en) * | 2007-07-17 | 2009-01-22 | Ebay Inc. | Digital content hub |
US20090063421A1 (en) * | 2007-08-31 | 2009-03-05 | Disney Enterprises,Inc. | Method and system for making dynamic graphical web content searchable |
US20090157697A1 (en) * | 2004-06-07 | 2009-06-18 | Sling Media Inc. | Systems and methods for creating variable length clips from a media stream |
US20090259633A1 (en) * | 2008-04-15 | 2009-10-15 | Novafora, Inc. | Universal Lookup of Video-Related Data |
US20100094900A1 (en) * | 2008-10-14 | 2010-04-15 | Microsoft Corporation | Content package for electronic distribution |
US20100269138A1 (en) * | 2004-06-07 | 2010-10-21 | Sling Media Inc. | Selection and presentation of context-relevant supplemental content and advertising |
US20110040727A1 (en) * | 2009-08-11 | 2011-02-17 | At&T Intellectual Property I, L.P. | Minimizing staleness in real-time data warehouses |
US20110072073A1 (en) * | 2009-09-21 | 2011-03-24 | Sling Media Inc. | Systems and methods for formatting media content for distribution |
US20120023191A1 (en) * | 2010-07-21 | 2012-01-26 | Samsung Electronics Co., Ltd. | Method and apparatus for sharing content |
US20120254214A1 (en) * | 2010-04-09 | 2012-10-04 | Computer Associates Think, Inc | Distributed system having a shared central database |
US20120275618A1 (en) * | 2007-04-18 | 2012-11-01 | Jook, Inc. | Wireless sharing of audio files and related information |
US8646013B2 (en) | 2011-04-29 | 2014-02-04 | Sling Media, Inc. | Identifying instances of media programming available from different content sources |
US20140143212A1 (en) * | 2012-11-21 | 2014-05-22 | Electronic Arts Inc. | Aggregating identifiers for media items |
US8799969B2 (en) | 2004-06-07 | 2014-08-05 | Sling Media, Inc. | Capturing and sharing media content |
US8838810B2 (en) | 2009-04-17 | 2014-09-16 | Sling Media, Inc. | Systems and methods for establishing connections between devices communicating over a network |
US8904455B2 (en) | 2004-06-07 | 2014-12-02 | Sling Media Inc. | Personal video recorder functionality for placeshifting systems |
US9015225B2 (en) | 2009-11-16 | 2015-04-21 | Echostar Technologies L.L.C. | Systems and methods for delivering messages over a network |
US9113185B2 (en) | 2010-06-23 | 2015-08-18 | Sling Media Inc. | Systems and methods for authorizing access to network services using information obtained from subscriber equipment |
US9178923B2 (en) | 2009-12-23 | 2015-11-03 | Echostar Technologies L.L.C. | Systems and methods for remotely controlling a media server via a network |
US9275054B2 (en) | 2009-12-28 | 2016-03-01 | Sling Media, Inc. | Systems and methods for searching media content |
US9622051B2 (en) * | 2015-07-01 | 2017-04-11 | Verizon Patent And Licensing Inc. | Identifiers for enterprise messages |
US9792386B2 (en) | 2013-10-25 | 2017-10-17 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
WO2018144536A1 (en) * | 2017-01-31 | 2018-08-09 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
KR101901912B1 (en) | 2017-08-30 | 2018-09-27 | 삼성전자주식회사 | Method and apparatus for sharing content |
US10372883B2 (en) | 2016-06-24 | 2019-08-06 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
US10452714B2 (en) | 2016-06-24 | 2019-10-22 | Scripps Networks Interactive, Inc. | Central asset registry system and method |
US10503759B2 (en) | 2017-04-12 | 2019-12-10 | Verizon Patent And Licensing Inc. | System and method for providing media identifiers associated with enterprise messages |
US10820062B2 (en) | 2013-10-25 | 2020-10-27 | Turner Broadcasting System, Inc. | Providing interactive advertisements |
US10963507B1 (en) * | 2020-09-01 | 2021-03-30 | Symphonic Distribution Inc. | System and method for music metadata reconstruction and audio fingerprint matching |
WO2022031293A1 (en) * | 2020-08-07 | 2022-02-10 | Discover Communications, Llc | Systems and methods for federated searches of assets in disparate dam repositories |
US11868445B2 (en) | 2016-06-24 | 2024-01-09 | Discovery Communications, Llc | Systems and methods for federated searches of assets in disparate dam repositories |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US7483958B1 (en) * | 2001-03-26 | 2009-01-27 | Microsoft Corporation | Methods and apparatuses for sharing media content, libraries and playlists |
US20030028796A1 (en) * | 2001-07-31 | 2003-02-06 | Gracenote, Inc. | Multiple step identification of recordings |
US20040002993A1 (en) * | 2002-06-26 | 2004-01-01 | Microsoft Corporation | User feedback processing of metadata associated with digital media files |
US20040093393A1 (en) * | 2002-11-07 | 2004-05-13 | Microsoft Corporation | System and method for selecting a media file for a mobile device |
US20040133850A1 (en) * | 2003-01-06 | 2004-07-08 | Nitzberg Mark J. | System and method for securely composing, storing, and delivering digital media |
US6973451B2 (en) * | 2003-02-21 | 2005-12-06 | Sony Corporation | Medium content identification |
US7478096B2 (en) * | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US20040177149A1 (en) * | 2003-03-05 | 2004-09-09 | Zullo Paul F. | System and method for presentation at the election of a user of media event information and further media event information of media events all related to a preselected time period |
ATE378759T1 (en) | 2003-05-06 | 2007-11-15 | Cvon Innovations Ltd | MESSAGE TRANSMISSION SYSTEM AND INFORMATION SERVICE |
US7734568B2 (en) * | 2003-06-26 | 2010-06-08 | Microsoft Corporation | DVD metadata wizard |
US20050015405A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Multi-valued properties |
US7650563B2 (en) * | 2003-07-18 | 2010-01-19 | Microsoft Corporation | Aggregating metadata for media content from multiple devices |
US7693887B2 (en) | 2005-02-01 | 2010-04-06 | Strands, Inc. | Dynamic identification of a new set of media items responsive to an input mediaset |
US7734569B2 (en) * | 2005-02-03 | 2010-06-08 | Strands, Inc. | Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics |
WO2006084269A2 (en) | 2005-02-04 | 2006-08-10 | Musicstrands, Inc. | System for browsing through a music catalog using correlation metrics of a knowledge base of mediasets |
WO2006090325A2 (en) | 2005-02-22 | 2006-08-31 | Koninklijke Philips Electronics, N.V. | Retrieving content items for a playlist based on universal content id |
US20080140702A1 (en) * | 2005-04-07 | 2008-06-12 | Iofy Corporation | System and Method for Correlating a First Title with a Second Title |
US20080120311A1 (en) * | 2005-04-07 | 2008-05-22 | Iofy Corporation | Device and Method for Protecting Unauthorized Data from being used in a Presentation on a Device |
US20060242198A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Methods, computer-readable media, and data structures for building an authoritative database of digital audio identifier elements and identifying media items |
EP1926027A1 (en) | 2005-04-22 | 2008-05-28 | Strands Labs S.A. | System and method for acquiring and aggregating data relating to the reproduction of multimedia files or elements |
US7647128B2 (en) * | 2005-04-22 | 2010-01-12 | Microsoft Corporation | Methods, computer-readable media, and data structures for building an authoritative database of digital audio identifier elements and identifying media items |
US7461075B2 (en) * | 2005-05-20 | 2008-12-02 | International Business Machines Corporation | Method for updating XML schema registry using schema pass by value with message |
US9626366B2 (en) * | 2005-08-26 | 2017-04-18 | Imagine Communications Corp. | System, methods, and program product to trace content genealogy |
WO2007024992A2 (en) * | 2005-08-26 | 2007-03-01 | Harris Corporation | System, methods, and program product to trace content genealogy |
WO2007027488A2 (en) * | 2005-08-29 | 2007-03-08 | Harris Corporation | System, methods, and program product to trace content genealogy |
US7877387B2 (en) | 2005-09-30 | 2011-01-25 | Strands, Inc. | Systems and methods for promotional media item selection and promotional program unit generation |
US7668831B2 (en) * | 2005-10-27 | 2010-02-23 | International Business Machines Corporation | Assigning unique identification numbers to new user accounts and groups in a computing environment with multiple registries |
US7688686B2 (en) * | 2005-10-27 | 2010-03-30 | Microsoft Corporation | Enhanced table of contents (TOC) identifiers |
US8583451B2 (en) | 2005-11-04 | 2013-11-12 | Siemens Medical Solutions Usa, Inc. | Context information processing system used for accessing medical data |
BRPI0620084B1 (en) | 2005-12-19 | 2018-11-21 | Apple Inc | method for identifying individual users in a defined user community, based on comparing the first user's profile with other user profiles, for a first community member, and method for measuring individual user similarity for a first user in a defined user community. users |
US20070162546A1 (en) * | 2005-12-22 | 2007-07-12 | Musicstrands, Inc. | Sharing tags among individual user media libraries |
US20070150478A1 (en) * | 2005-12-23 | 2007-06-28 | Microsoft Corporation | Downloading data packages from information services based on attributes |
US20070244880A1 (en) | 2006-02-03 | 2007-10-18 | Francisco Martin | Mediaset generation system |
BRPI0621315A2 (en) * | 2006-02-10 | 2011-12-06 | Strands Inc | dynamic interactive entertainment |
WO2007095272A2 (en) | 2006-02-10 | 2007-08-23 | Strands, Inc. | Systems and methods for prioritizing mobile media player files |
US8521611B2 (en) | 2006-03-06 | 2013-08-27 | Apple Inc. | Article trading among members of a community |
US8495075B2 (en) * | 2006-03-08 | 2013-07-23 | Apple Inc. | Fuzzy string matching of media meta-data |
US7848956B1 (en) | 2006-03-30 | 2010-12-07 | Creative Byline, LLC | Creative media marketplace system and method |
US20080027939A1 (en) * | 2006-07-31 | 2008-01-31 | Chalasani Nanchariah R | Method, system, and program product for controlling access to personal attributes across enterprise domains |
US20080133727A1 (en) * | 2006-12-04 | 2008-06-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Automatic registry composition when networks compose |
JP2008159180A (en) * | 2006-12-25 | 2008-07-10 | Sony Corp | Content selecting and reproducing system, its method and portable reproducing machine controller |
US8719272B2 (en) * | 2007-01-22 | 2014-05-06 | Jook, Inc. | Sharing of audio files and selected information including tagging information |
US20080195661A1 (en) * | 2007-02-08 | 2008-08-14 | Kaleidescape, Inc. | Digital media recognition using metadata |
US8671000B2 (en) | 2007-04-24 | 2014-03-11 | Apple Inc. | Method and arrangement for providing content to multimedia devices |
EP2179348A4 (en) * | 2007-07-13 | 2011-04-20 | Spot Runner Inc | Methods and systems for performing media searches, media creation and for secure distribution of media |
US20090254553A1 (en) * | 2008-02-08 | 2009-10-08 | Corbis Corporation | Matching media for managing licenses to content |
US8086651B2 (en) | 2008-05-12 | 2011-12-27 | Research In Motion Limited | Managing media files using metadata injection |
US8122037B2 (en) * | 2008-05-12 | 2012-02-21 | Research In Motion Limited | Auto-selection of media files |
US8706690B2 (en) * | 2008-05-12 | 2014-04-22 | Blackberry Limited | Systems and methods for space management in file systems |
US20090282078A1 (en) * | 2008-05-12 | 2009-11-12 | Motion Limited | Unified media file architecture |
US8095566B2 (en) * | 2008-05-12 | 2012-01-10 | Research In Motion Limited | Managing media files from multiple sources |
US10552384B2 (en) * | 2008-05-12 | 2020-02-04 | Blackberry Limited | Synchronizing media files available from multiple sources |
US20090327230A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Structured and unstructured data models |
GB0815651D0 (en) * | 2008-08-28 | 2008-10-08 | Omnifone Ltd | Content ingestion |
US8527474B2 (en) * | 2008-08-28 | 2013-09-03 | Visa Usa, Inc. | Acquirer device and method for support of merchant data processing |
US8601003B2 (en) | 2008-09-08 | 2013-12-03 | Apple Inc. | System and method for playlist generation based on similarity data |
US8332406B2 (en) | 2008-10-02 | 2012-12-11 | Apple Inc. | Real-time visualization of user consumption of media items |
US9357247B2 (en) | 2008-11-24 | 2016-05-31 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US8572314B2 (en) | 2008-12-09 | 2013-10-29 | Microsoft Corporation | Determining an identification of a DVD based on a format of the DVD |
US8135716B2 (en) * | 2008-12-10 | 2012-03-13 | Sap Ag | Systems and method for mapping large object data content in a database table to a work area |
US20100169328A1 (en) * | 2008-12-31 | 2010-07-01 | Strands, Inc. | Systems and methods for making recommendations using model-based collaborative filtering with user communities and items collections |
US8359315B2 (en) * | 2009-06-11 | 2013-01-22 | Rovi Technologies Corporation | Generating a representative sub-signature of a cluster of signatures by using weighted sampling |
US8620967B2 (en) * | 2009-06-11 | 2013-12-31 | Rovi Technologies Corporation | Managing metadata for occurrences of a recording |
US8095552B2 (en) * | 2009-07-14 | 2012-01-10 | International Business Machines Corporation | Data tag descriptor |
US20110060738A1 (en) | 2009-09-08 | 2011-03-10 | Apple Inc. | Media item clustering based on similarity data |
US8634947B1 (en) * | 2009-10-21 | 2014-01-21 | Michael Merhej | System and method for identifying digital files |
US20110125753A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | Data delivery for a content system |
US20110125809A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | Managing different formats for media files and media playback devices |
US20110125774A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | Content integration for a content system |
US20110126276A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | Cross platform gateway system and service |
US20110126104A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | User interface for managing different formats for media files and media playback devices |
WO2011062690A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | Data delivery for a content system |
US20110126230A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | Content ingestion for a content system |
US20110125585A1 (en) * | 2009-11-20 | 2011-05-26 | Rovi Technologies Corporation | Content recommendation for a content system |
US20110182155A1 (en) * | 2010-01-28 | 2011-07-28 | S1Digital, Llc | System and method for remote access of optical disc media |
US20110213810A1 (en) * | 2010-02-26 | 2011-09-01 | Rovi Technologies Corporation | Dynamically configurable chameleon device |
US8631508B2 (en) | 2010-06-22 | 2014-01-14 | Rovi Technologies Corporation | Managing licenses of media files on playback devices |
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US8983905B2 (en) | 2011-10-03 | 2015-03-17 | Apple Inc. | Merging playlists from multiple sources |
US8898244B2 (en) * | 2011-10-20 | 2014-11-25 | Allen Miglore | System and method for transporting files between networked or connected systems and devices |
US9009794B2 (en) | 2011-12-30 | 2015-04-14 | Rovi Guides, Inc. | Systems and methods for temporary assignment and exchange of digital access rights |
US9129087B2 (en) | 2011-12-30 | 2015-09-08 | Rovi Guides, Inc. | Systems and methods for managing digital rights based on a union or intersection of individual rights |
US20140280272A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Media content substitution |
US9280577B1 (en) * | 2013-06-07 | 2016-03-08 | Google Inc. | Method for normalizing media metadata |
US9457949B1 (en) | 2013-10-18 | 2016-10-04 | William S. Hathaway, III | Personalized identification system for deceased bodies |
US10331736B2 (en) * | 2014-03-21 | 2019-06-25 | Sonos, Inc. | Facilitating streaming media access via a media-item database |
US10091557B2 (en) * | 2014-12-30 | 2018-10-02 | Sling Media L.L.C. | Identifying and sharing video content on a digital network |
US10404758B2 (en) | 2016-02-26 | 2019-09-03 | Time Warner Cable Enterprises Llc | Apparatus and methods for centralized message exchange in a user premises device |
US20180322901A1 (en) * | 2017-05-03 | 2018-11-08 | Hey Platforms DMCC | Copyright checking for uploaded media |
US10936653B2 (en) | 2017-06-02 | 2021-03-02 | Apple Inc. | Automatically predicting relevant contexts for media items |
Citations (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907837A (en) * | 1995-07-17 | 1999-05-25 | Microsoft Corporation | Information retrieval system in an on-line network including separate content and layout of published titles |
US5924090A (en) * | 1997-05-01 | 1999-07-13 | Northern Light Technology Llc | Method and apparatus for searching a database of records |
US5946680A (en) * | 1997-11-28 | 1999-08-31 | International Business Machines Corporation | Method of determining the unique ID of an object in a peer to peer configuration of object indexes |
US6263341B1 (en) * | 1992-07-29 | 2001-07-17 | Texas Instruments Incorporated | Information repository system and method including data objects and a relationship object |
US20010031066A1 (en) * | 2000-01-26 | 2001-10-18 | Meyer Joel R. | Connected audio and other media objects |
US20020001395A1 (en) * | 2000-01-13 | 2002-01-03 | Davis Bruce L. | Authenticating metadata and embedding metadata in watermarks of media signals |
US6343295B1 (en) * | 1998-12-16 | 2002-01-29 | Microsoft Corporation | Data lineage |
US6345256B1 (en) * | 1998-08-13 | 2002-02-05 | International Business Machines Corporation | Automated method and apparatus to package digital content for electronic distribution using the identity of the source content |
US20020033844A1 (en) * | 1998-10-01 | 2002-03-21 | Levy Kenneth L. | Content sensitive connected content |
US20020055942A1 (en) * | 2000-10-26 | 2002-05-09 | Reynolds Mark L. | Creating, verifying, managing, and using original digital files |
US20020069218A1 (en) * | 2000-07-24 | 2002-06-06 | Sanghoon Sull | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
US20020082837A1 (en) * | 2000-11-03 | 2002-06-27 | International Business Machines Corporation | System for monitoring audio content available over a network |
US20020099737A1 (en) * | 2000-11-21 | 2002-07-25 | Porter Charles A. | Metadata quality improvement |
US20020107973A1 (en) * | 2000-11-13 | 2002-08-08 | Lennon Alison Joan | Metadata processes for multimedia database access |
US20020120634A1 (en) * | 2000-02-25 | 2002-08-29 | Liu Min | Infrastructure and method for supporting generic multimedia metadata |
US20020143976A1 (en) * | 2001-03-09 | 2002-10-03 | N2Broadband, Inc. | Method and system for managing and updating metadata associated with digital assets |
US20020147728A1 (en) * | 2001-01-05 | 2002-10-10 | Ron Goodman | Automatic hierarchical categorization of music by metadata |
US20020161855A1 (en) * | 2000-12-05 | 2002-10-31 | Olaf Manczak | Symmetric shared file storage system |
US20020174103A1 (en) * | 2000-06-08 | 2002-11-21 | International Business Machines Corporation | System and method for updating external file referenced by database with transactional consistency using SQL |
US20020178276A1 (en) * | 2001-03-26 | 2002-11-28 | Mccartney Jason | Methods and systems for processing media content |
US6505160B1 (en) * | 1995-07-27 | 2003-01-07 | Digimarc Corporation | Connected audio and other media objects |
US20030012549A1 (en) * | 2001-06-28 | 2003-01-16 | Sony Corporation | Information processing apparatus and method, recording medium, and program |
US6549922B1 (en) * | 1999-10-01 | 2003-04-15 | Alok Srivastava | System for collecting, transforming and managing media metadata |
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20030135513A1 (en) * | 2001-08-27 | 2003-07-17 | Gracenote, Inc. | Playlist generation, delivery and navigation |
US20030182100A1 (en) * | 2002-03-21 | 2003-09-25 | Daniel Plastina | Methods and systems for per persona processing media content-associated metadata |
US20030195863A1 (en) * | 2002-04-16 | 2003-10-16 | Marsh David J. | Media content descriptions |
US20040098398A1 (en) * | 2001-01-30 | 2004-05-20 | Sang-Woo Ahn | Method and apparatus for delivery of metadata synchronized to multimedia contents |
US6760721B1 (en) * | 2000-04-14 | 2004-07-06 | Realnetworks, Inc. | System and method of managing metadata data |
US20050044110A1 (en) * | 1999-11-05 | 2005-02-24 | Leonore Herzenberg | System and method for internet-accessible tools and knowledge base for protocol design, metadata capture and laboratory experiment management |
US6865573B1 (en) * | 2001-07-27 | 2005-03-08 | Oracle International Corporation | Data mining application programming interface |
US7219308B2 (en) * | 2002-06-21 | 2007-05-15 | Microsoft Corporation | User interface for media player program |
US7245817B1 (en) * | 2000-11-20 | 2007-07-17 | Digeo, Inc. | Multimedia transfer system |
US20070192872A1 (en) * | 1999-05-19 | 2007-08-16 | Rhoads Geoffrey B | Methods and Devices Employing Content Identifiers |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US93790A (en) * | 1869-08-17 | Improvement in feed-water heaters |
-
2002
- 2002-08-15 US US10/219,456 patent/US7136866B2/en not_active Expired - Fee Related
-
2006
- 2006-11-13 US US11/559,149 patent/US20070073767A1/en not_active Abandoned
Patent Citations (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263341B1 (en) * | 1992-07-29 | 2001-07-17 | Texas Instruments Incorporated | Information repository system and method including data objects and a relationship object |
US5907837A (en) * | 1995-07-17 | 1999-05-25 | Microsoft Corporation | Information retrieval system in an on-line network including separate content and layout of published titles |
US6505160B1 (en) * | 1995-07-27 | 2003-01-07 | Digimarc Corporation | Connected audio and other media objects |
US5924090A (en) * | 1997-05-01 | 1999-07-13 | Northern Light Technology Llc | Method and apparatus for searching a database of records |
US5946680A (en) * | 1997-11-28 | 1999-08-31 | International Business Machines Corporation | Method of determining the unique ID of an object in a peer to peer configuration of object indexes |
US6345256B1 (en) * | 1998-08-13 | 2002-02-05 | International Business Machines Corporation | Automated method and apparatus to package digital content for electronic distribution using the identity of the source content |
US20020033844A1 (en) * | 1998-10-01 | 2002-03-21 | Levy Kenneth L. | Content sensitive connected content |
US6343295B1 (en) * | 1998-12-16 | 2002-01-29 | Microsoft Corporation | Data lineage |
US20070192872A1 (en) * | 1999-05-19 | 2007-08-16 | Rhoads Geoffrey B | Methods and Devices Employing Content Identifiers |
US6549922B1 (en) * | 1999-10-01 | 2003-04-15 | Alok Srivastava | System for collecting, transforming and managing media metadata |
US20050044110A1 (en) * | 1999-11-05 | 2005-02-24 | Leonore Herzenberg | System and method for internet-accessible tools and knowledge base for protocol design, metadata capture and laboratory experiment management |
US20020001395A1 (en) * | 2000-01-13 | 2002-01-03 | Davis Bruce L. | Authenticating metadata and embedding metadata in watermarks of media signals |
US20010031066A1 (en) * | 2000-01-26 | 2001-10-18 | Meyer Joel R. | Connected audio and other media objects |
US20020120634A1 (en) * | 2000-02-25 | 2002-08-29 | Liu Min | Infrastructure and method for supporting generic multimedia metadata |
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US6760721B1 (en) * | 2000-04-14 | 2004-07-06 | Realnetworks, Inc. | System and method of managing metadata data |
US20020174103A1 (en) * | 2000-06-08 | 2002-11-21 | International Business Machines Corporation | System and method for updating external file referenced by database with transactional consistency using SQL |
US20020069218A1 (en) * | 2000-07-24 | 2002-06-06 | Sanghoon Sull | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
US20020055942A1 (en) * | 2000-10-26 | 2002-05-09 | Reynolds Mark L. | Creating, verifying, managing, and using original digital files |
US20020082837A1 (en) * | 2000-11-03 | 2002-06-27 | International Business Machines Corporation | System for monitoring audio content available over a network |
US20020107973A1 (en) * | 2000-11-13 | 2002-08-08 | Lennon Alison Joan | Metadata processes for multimedia database access |
US7245817B1 (en) * | 2000-11-20 | 2007-07-17 | Digeo, Inc. | Multimedia transfer system |
US20020099737A1 (en) * | 2000-11-21 | 2002-07-25 | Porter Charles A. | Metadata quality improvement |
US20020161855A1 (en) * | 2000-12-05 | 2002-10-31 | Olaf Manczak | Symmetric shared file storage system |
US20020147728A1 (en) * | 2001-01-05 | 2002-10-10 | Ron Goodman | Automatic hierarchical categorization of music by metadata |
US20050187976A1 (en) * | 2001-01-05 | 2005-08-25 | Creative Technology Ltd. | Automatic hierarchical categorization of music by metadata |
US6928433B2 (en) * | 2001-01-05 | 2005-08-09 | Creative Technology Ltd | Automatic hierarchical categorization of music by metadata |
US20040098398A1 (en) * | 2001-01-30 | 2004-05-20 | Sang-Woo Ahn | Method and apparatus for delivery of metadata synchronized to multimedia contents |
US20020143976A1 (en) * | 2001-03-09 | 2002-10-03 | N2Broadband, Inc. | Method and system for managing and updating metadata associated with digital assets |
US20020178276A1 (en) * | 2001-03-26 | 2002-11-28 | Mccartney Jason | Methods and systems for processing media content |
US20030012549A1 (en) * | 2001-06-28 | 2003-01-16 | Sony Corporation | Information processing apparatus and method, recording medium, and program |
US6865573B1 (en) * | 2001-07-27 | 2005-03-08 | Oracle International Corporation | Data mining application programming interface |
US20030135513A1 (en) * | 2001-08-27 | 2003-07-17 | Gracenote, Inc. | Playlist generation, delivery and navigation |
US20030182100A1 (en) * | 2002-03-21 | 2003-09-25 | Daniel Plastina | Methods and systems for per persona processing media content-associated metadata |
US20030195863A1 (en) * | 2002-04-16 | 2003-10-16 | Marsh David J. | Media content descriptions |
US7219308B2 (en) * | 2002-06-21 | 2007-05-15 | Microsoft Corporation | User interface for media player program |
Cited By (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225669A1 (en) * | 2003-05-06 | 2004-11-11 | Novell, Inc. | Methods, data stores, data structures, and systems for electronic identity aggregation |
US7571172B2 (en) * | 2003-05-06 | 2009-08-04 | Novell, Inc. | Methods, data stores, data structures, and systems for electronic identity aggregation |
US7716675B2 (en) * | 2003-08-28 | 2010-05-11 | Siebel Systems, Inc. | Cross-reference service |
US20070209041A1 (en) * | 2003-08-28 | 2007-09-06 | Exley Richard M | Cross-reference service |
US10419809B2 (en) | 2004-06-07 | 2019-09-17 | Sling Media LLC | Selection and presentation of context-relevant supplemental content and advertising |
US8799969B2 (en) | 2004-06-07 | 2014-08-05 | Sling Media, Inc. | Capturing and sharing media content |
US20090157697A1 (en) * | 2004-06-07 | 2009-06-18 | Sling Media Inc. | Systems and methods for creating variable length clips from a media stream |
US9356984B2 (en) | 2004-06-07 | 2016-05-31 | Sling Media, Inc. | Capturing and sharing media content |
US9131253B2 (en) | 2004-06-07 | 2015-09-08 | Sling Media, Inc. | Selection and presentation of context-relevant supplemental content and advertising |
US8904455B2 (en) | 2004-06-07 | 2014-12-02 | Sling Media Inc. | Personal video recorder functionality for placeshifting systems |
US10123067B2 (en) | 2004-06-07 | 2018-11-06 | Sling Media L.L.C. | Personal video recorder functionality for placeshifting systems |
US9716910B2 (en) | 2004-06-07 | 2017-07-25 | Sling Media, L.L.C. | Personal video recorder functionality for placeshifting systems |
US20100269138A1 (en) * | 2004-06-07 | 2010-10-21 | Sling Media Inc. | Selection and presentation of context-relevant supplemental content and advertising |
US9998802B2 (en) | 2004-06-07 | 2018-06-12 | Sling Media LLC | Systems and methods for creating variable length clips from a media stream |
US9237300B2 (en) | 2005-06-07 | 2016-01-12 | Sling Media Inc. | Personal video recorder functionality for placeshifting systems |
US9275157B2 (en) | 2005-12-21 | 2016-03-01 | Digimarc Corporation | Content metadata directory services |
US9218429B2 (en) | 2005-12-21 | 2015-12-22 | Digimarc Corporation | Content metadata directory services |
US20070156726A1 (en) * | 2005-12-21 | 2007-07-05 | Levy Kenneth L | Content Metadata Directory Services |
US9892206B2 (en) | 2005-12-21 | 2018-02-13 | Digimarc Corporation | Content metadata directory services |
US8364720B2 (en) * | 2005-12-21 | 2013-01-29 | Digimarc Corporation | Content metadata directory services |
US20070192352A1 (en) * | 2005-12-21 | 2007-08-16 | Levy Kenneth L | Content Metadata Directory Services |
US10685061B2 (en) | 2005-12-21 | 2020-06-16 | Digimarc Corporation | Content metadata directory services |
US20120275618A1 (en) * | 2007-04-18 | 2012-11-01 | Jook, Inc. | Wireless sharing of audio files and related information |
US10685382B2 (en) | 2007-07-17 | 2020-06-16 | Ebay Inc. | Event ticket hub |
US20090024631A1 (en) * | 2007-07-17 | 2009-01-22 | Ebay Inc. | Digital content hub |
US8595203B2 (en) | 2007-07-17 | 2013-11-26 | Ebay Inc. | Digital content hub |
US8234261B2 (en) * | 2007-07-17 | 2012-07-31 | Ebay Inc. | Digital content hub |
US8572102B2 (en) * | 2007-08-31 | 2013-10-29 | Disney Enterprises, Inc. | Method and system for making dynamic graphical web content searchable |
US20090063421A1 (en) * | 2007-08-31 | 2009-03-05 | Disney Enterprises,Inc. | Method and system for making dynamic graphical web content searchable |
US8719288B2 (en) * | 2008-04-15 | 2014-05-06 | Alexander Bronstein | Universal lookup of video-related data |
US20090259633A1 (en) * | 2008-04-15 | 2009-10-15 | Novafora, Inc. | Universal Lookup of Video-Related Data |
US8548946B2 (en) | 2008-10-14 | 2013-10-01 | Microsoft Corporation | Content package for electronic distribution |
WO2010045073A3 (en) * | 2008-10-14 | 2010-06-10 | Microsoft Corporation | Content package for electronic distribution |
US8856122B2 (en) * | 2008-10-14 | 2014-10-07 | Microsoft Corporation | Content package for electronic distribution |
US20100094900A1 (en) * | 2008-10-14 | 2010-04-15 | Microsoft Corporation | Content package for electronic distribution |
US20140032497A1 (en) * | 2008-10-14 | 2014-01-30 | Microsoft Corporation | Content package for electronic distribution |
US8838810B2 (en) | 2009-04-17 | 2014-09-16 | Sling Media, Inc. | Systems and methods for establishing connections between devices communicating over a network |
US9225785B2 (en) | 2009-04-17 | 2015-12-29 | Sling Media, Inc. | Systems and methods for establishing connections between devices communicating over a network |
US20110040727A1 (en) * | 2009-08-11 | 2011-02-17 | At&T Intellectual Property I, L.P. | Minimizing staleness in real-time data warehouses |
US8856071B2 (en) | 2009-08-11 | 2014-10-07 | At&T Intellectual Property I, L.P. | Minimizing staleness in real-time data warehouses |
US20110072073A1 (en) * | 2009-09-21 | 2011-03-24 | Sling Media Inc. | Systems and methods for formatting media content for distribution |
US8621099B2 (en) * | 2009-09-21 | 2013-12-31 | Sling Media, Inc. | Systems and methods for formatting media content for distribution |
US9015225B2 (en) | 2009-11-16 | 2015-04-21 | Echostar Technologies L.L.C. | Systems and methods for delivering messages over a network |
US10021073B2 (en) | 2009-11-16 | 2018-07-10 | Sling Media L.L.C. | Systems and methods for delivering messages over a network |
US9178923B2 (en) | 2009-12-23 | 2015-11-03 | Echostar Technologies L.L.C. | Systems and methods for remotely controlling a media server via a network |
US9275054B2 (en) | 2009-12-28 | 2016-03-01 | Sling Media, Inc. | Systems and methods for searching media content |
US10097899B2 (en) | 2009-12-28 | 2018-10-09 | Sling Media L.L.C. | Systems and methods for searching media content |
US8965853B2 (en) * | 2010-04-09 | 2015-02-24 | Ca, Inc. | Distributed system having a shared central database |
US8606756B2 (en) | 2010-04-09 | 2013-12-10 | Ca, Inc. | Distributed system having a shared central database |
US20120254214A1 (en) * | 2010-04-09 | 2012-10-04 | Computer Associates Think, Inc | Distributed system having a shared central database |
US9113185B2 (en) | 2010-06-23 | 2015-08-18 | Sling Media Inc. | Systems and methods for authorizing access to network services using information obtained from subscriber equipment |
KR101775027B1 (en) | 2010-07-21 | 2017-09-06 | 삼성전자주식회사 | Method and apparatus for sharing content |
US20120023191A1 (en) * | 2010-07-21 | 2012-01-26 | Samsung Electronics Co., Ltd. | Method and apparatus for sharing content |
CN103119591A (en) * | 2010-07-21 | 2013-05-22 | 三星电子株式会社 | Method and apparatus for sharing content |
AU2011280409B2 (en) * | 2010-07-21 | 2014-11-06 | Samsung Electronics Co., Ltd. | Method and apparatus for sharing content |
US9032043B2 (en) * | 2010-07-21 | 2015-05-12 | Samsung Electronics Co., Ltd. | Method and apparatus for sharing content |
US10848531B2 (en) | 2010-07-21 | 2020-11-24 | Samsung Electronics Co., Ltd. | Method and apparatus for sharing content |
US10122773B2 (en) | 2010-07-21 | 2018-11-06 | Samsung Electronics Co., Ltd. | Method and apparatus for sharing content |
US10104136B2 (en) | 2010-07-21 | 2018-10-16 | Samsung Electronics Co., Ltd. | Method and apparatus for sharing content |
US8646013B2 (en) | 2011-04-29 | 2014-02-04 | Sling Media, Inc. | Identifying instances of media programming available from different content sources |
US20140143212A1 (en) * | 2012-11-21 | 2014-05-22 | Electronic Arts Inc. | Aggregating identifiers for media items |
US9098508B2 (en) * | 2012-11-21 | 2015-08-04 | Electronic Arts Inc. | Aggregating identifiers for media items |
US9965568B2 (en) | 2013-10-25 | 2018-05-08 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US10540418B2 (en) | 2013-10-25 | 2020-01-21 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US11910066B2 (en) | 2013-10-25 | 2024-02-20 | Turner Broadcasting System, Inc. | Providing interactive advertisements |
US10025875B2 (en) | 2013-10-25 | 2018-07-17 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US11765438B2 (en) | 2013-10-25 | 2023-09-19 | Turner Broadcasting System, Inc. | Providing interactive advertisements |
US9934322B2 (en) | 2013-10-25 | 2018-04-03 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US9875318B2 (en) | 2013-10-25 | 2018-01-23 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US10820062B2 (en) | 2013-10-25 | 2020-10-27 | Turner Broadcasting System, Inc. | Providing interactive advertisements |
US9798828B2 (en) | 2013-10-25 | 2017-10-24 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US9792386B2 (en) | 2013-10-25 | 2017-10-17 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US10635737B2 (en) | 2013-10-25 | 2020-04-28 | Turner Broadcasting System, Inc. | Concepts for providing an enhanced media presentation |
US9622051B2 (en) * | 2015-07-01 | 2017-04-11 | Verizon Patent And Licensing Inc. | Identifiers for enterprise messages |
US20170164170A1 (en) * | 2015-07-01 | 2017-06-08 | Verizon Patent And Licensing Inc. | Identifiers for enterprise messages |
US9973906B2 (en) * | 2015-07-01 | 2018-05-15 | Verizon Patent And Licensing Inc. | Identifiers for enterprise messages |
US10452714B2 (en) | 2016-06-24 | 2019-10-22 | Scripps Networks Interactive, Inc. | Central asset registry system and method |
US10769248B2 (en) | 2016-06-24 | 2020-09-08 | Discovery, Inc. | Satellite and central asset registry systems and methods and rights management systems |
US10372883B2 (en) | 2016-06-24 | 2019-08-06 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
US11868445B2 (en) | 2016-06-24 | 2024-01-09 | Discovery Communications, Llc | Systems and methods for federated searches of assets in disparate dam repositories |
WO2018144536A1 (en) * | 2017-01-31 | 2018-08-09 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
US10503759B2 (en) | 2017-04-12 | 2019-12-10 | Verizon Patent And Licensing Inc. | System and method for providing media identifiers associated with enterprise messages |
KR101901912B1 (en) | 2017-08-30 | 2018-09-27 | 삼성전자주식회사 | Method and apparatus for sharing content |
WO2022031293A1 (en) * | 2020-08-07 | 2022-02-10 | Discover Communications, Llc | Systems and methods for federated searches of assets in disparate dam repositories |
EP3991059A4 (en) * | 2020-08-07 | 2023-04-05 | Discovery Communications, LLC | Systems and methods for federated searches of assets in disparate dam repositories |
US10963507B1 (en) * | 2020-09-01 | 2021-03-30 | Symphonic Distribution Inc. | System and method for music metadata reconstruction and audio fingerprint matching |
Also Published As
Publication number | Publication date |
---|---|
US20040034650A1 (en) | 2004-02-19 |
US7136866B2 (en) | 2006-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7136866B2 (en) | Media identifier registry | |
US20040002993A1 (en) | User feedback processing of metadata associated with digital media files | |
US7191190B2 (en) | Meta data management for media content objects | |
US8473568B2 (en) | Methods and systems for processing media content | |
US7065527B2 (en) | Systems and methods of optimizing metadata publishing system updates by alternating databases | |
EP1900207B1 (en) | Creating standardized playlists and maintaining coherency | |
US7707500B2 (en) | User interface for media item portion search tool | |
US8620967B2 (en) | Managing metadata for occurrences of a recording | |
US7277928B2 (en) | Method for facilitating access to multimedia content | |
US7099946B2 (en) | Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device | |
US20050015405A1 (en) | Multi-valued properties | |
US20050146995A1 (en) | Information processing apparatus and method | |
US8751494B2 (en) | Constructing album data using discrete track data from multiple sources | |
JP2010257466A (en) | Digital audio track set recognition system | |
US7702632B2 (en) | Information processing apparatus, information processing method, and computer program | |
Liu et al. | Learning activity-based e-learning material recommendation system | |
Minibayeva et al. | A digital library data model for music | |
Haus et al. | A score‐driven approach to music information retrieval | |
Dempsey et al. | Specification for resource description methods, Part 1. A review of metadata: a survey of current resource description formats | |
Tidhar et al. | Publishing Music Similarity Features on the Semantic Web. | |
Albuquerque et al. | A conceptualization of music sound recordings and its representation in an ontology | |
Kostek et al. | Music Archive Metadata Processing Based on Flow Graphs | |
Chafy et al. | An XML/RDF Multimedia Specification | |
KR20010069323A (en) | The file of the method which is used with a music file to show the letter on the screen in playing term of a music file. | |
Powell | DESIRE: Project Deliverable |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001 Effective date: 20141014 |