WO2001079964A2 - System and method of managing metadata - Google Patents

System and method of managing metadata Download PDF

Info

Publication number
WO2001079964A2
WO2001079964A2 PCT/US2001/012140 US0112140W WO0179964A2 WO 2001079964 A2 WO2001079964 A2 WO 2001079964A2 US 0112140 W US0112140 W US 0112140W WO 0179964 A2 WO0179964 A2 WO 0179964A2
Authority
WO
WIPO (PCT)
Prior art keywords
metadata
database
information
user
node
Prior art date
Application number
PCT/US2001/012140
Other languages
French (fr)
Other versions
WO2001079964A3 (en
Inventor
Jeffrey M. Chasen
Christopher N. Wyman
Original Assignee
Realnetworks, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Realnetworks, Inc. filed Critical Realnetworks, Inc.
Priority to AU2001255361A priority Critical patent/AU2001255361A1/en
Publication of WO2001079964A2 publication Critical patent/WO2001079964A2/en
Publication of WO2001079964A3 publication Critical patent/WO2001079964A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • the system and method of the present invention relate generally to the field of managing metadata.
  • Metadata For example, there is a high demand for audio data, and accordingly, there is a high demand for metadata about the audio data such as, for example, the artist or speaker name, album name, genre, number of songs, and so forth.
  • While access to metadata provides the public with a vast amount of information, it is often difficult to manage the metadata. For example, keeping track of various audio files as well as the immense amount of metadata for each audio file can be a difficult task.
  • One common problem is that conventional approaches do not allow the user to easily view and access the metadata. For example, it is typical for a user to have hundreds or even thousands of audio files making it difficult for the user to sift through each file of metadata. A user may have to look through hundreds or through thousands of files to find the desired file.
  • Another common problem is that conventional approaches fail to provide users with control over the metadata such as the ability to make changes to a piece of metadata or a set of metadata. For example, a user may want to alter the genre of an audio file by changing the genre from Jazz to New Age.
  • the present invention is a method for dynamically organizing metadata located in a database of metadata for presentation to a user in a display.
  • the method comprises receiving a plurality of categories of metadata wherein the plurality of categories of metadata represent a hierarchical representation of the metadata; querying a database of metadata to produce a set of metadata query results; arranging the metadata query results in a hierarchical representation of metadata based at least upon a subset of the plurality of categories; and presenting the hierarchical representation of metadata to a user in a graphical display.
  • Another embodiment of the present invention is a method of dynamically updating a display of metadata to a user.
  • the method comprises storing metadata in a database; displaying a hierarchical representation of a subset of the metadata to a user; receiving a change to at least a portion of the subset of metadata displayed to the user; processing the change to update the corresponding portion of the subset of metadata in the metadata database; determining which portions of the hierarchical representation are affected by the change; updating the portions of the hierarchical representations affected by the change; and displaying the updated hierarchical representation to the user.
  • the metadata management system comprises a metadata database that includes information about content data; a metadata management module used to access the information about content data in the metadata database; and a graphical user interface configured to communicate with the metadata management module, to dynamically access the information about content data in the metadata database, and to dynamically present an organized grouping of at least a portion of the information about content data for display to a user.
  • Another embodiment of the present invention is a method for presenting metadata in a database. The method comprises obtaining a hierarchy of category nodes; querying the database for a set of metadata; dynamically arranging the set of metadata in the hierarchy of category nodes; and presenting the set of metadata in the hierarchy of category nodes to a user.
  • Another embodiment of the present invention is a method for presenting metadata in a database.
  • the method comprises displaying a set of metadata from a metadata database in a hierarchy of category nodes; receiving a change to a portion of the set of metadata; and dynamically updating the display of the set of metadata and the hierarchy of category nodes to reflect the change.
  • Another embodiment of the present invention is a method for dynamically presenting metadata in a hierarchical form.
  • the method comprises executing a search on a database, to obtain a set of search results, wherein the database stores metadata; receiving a set of user preferences for viewing the search results wherein the user preferences are based on properties of the metadata; dynamically generating a tree structure based on the search results and the set of user preferences; dynamically determining a layout of the tree structure; dynamically mapping the search results onto the tree structure based on the layout; and dynamically displaying the tree structure.
  • Another embodiment of the present invention is a method of obtaining information about content data wherein information about content data is stored in a database and displayed in a graphical user interface using a standard data structure.
  • the method comprises obtaining an identifier related to a set of content data; creating a request for information about the set of content data using the identifier; processing the request for information; receiving a set of request information in response to the request for information; and storing the set of request information a database.
  • Figure 1 illustrates an example display from one embodiment of the present invention.
  • Figure 2 illustrates a high-level block diagram of one embodiment of the present invention.
  • Figure 3 illustrates a flowchart of one embodiment of building a tree grouping.
  • Figure 4 illustrates a flowchart of one embodiment of adding an entry to the node location table.
  • Figure 5 illustrates a flowchart of one embodiment of processing a data change.
  • Figure 6 illustrates a flowchart of one embodiment of processing a data change.
  • Figure 7 illustrates a flowchart of one embodiment of adding metadata.
  • system and method which represent one embodiment and example application of the invention will now be described with reference to the drawings. Variations to the system and method which represent other embodiments will also be described.
  • the system and method are used to dynamically represent audio metadata using a master tree and a node table. It will be recognized, however, that other embodiments may use only one of these two types of data structures and/or different types of data structures to help users organize and access data. In addition, other types of data may also be used.
  • a master tree and node table for organizing and accessing audio metadata and audio data within an audio playing device such as, for example, Real JukeboxTM. While the inventors contemplate that the present invention is not limited by the type of content data and/or metadata to be managed and that the types of data may include video, audio, audio-visual, slideshow, image and text, and so forth, the figures and descriptions relate to an embodiment of the invention using audio metadata and audio content data. Furthermore, the details of the master tree, node table, and of specific implementations are set forth in order to illustrate, and not to limit, the invention. The scope of the invention is defined by the appended claims.
  • Audio metadata such as track name, artist, album, genre, track number, length, and so forth, is collected from various sources, added, and maintained in a metadata database.
  • a metadata management module dynamically reads metadata from the metadata database, organizes the metadata into groupings using a groupings tree, combines the groupings tree with other trees to form a master tree, combines metadata relating to the selected grouping into a node table, and presents the master tree and the node table in a graphical user interface.
  • a user may add, delete, and/or modify the metadata in the master tree and/or the node table.
  • the metadata database is updated and the user's changes are propagated throughout the graphical user interface.
  • the user may also use the master tree and the node table to begin playing an audio file and/or a set of audio files.
  • the top node of the master tree represents a root node.
  • the next level of the master tree represents root nodes of subtrees such as the groupings tree and the playlist tree.
  • the lowest-level nodes of the master tree represent audio metadata of individual audio tracks, while the other nodes represent groupings (or sub-groupings) of audio tracks.
  • This relationship structure allows the master tree to include various types of trees.
  • the groupings tree provides ways to group and categorize audio metadata, such as, for example, by Album, Artist, Genre, and so forth as well as by nested groupings such as, for example, Artist/Album, Genre/Artist, Genre/Artist/Album, and so forth.
  • the groupings may be based upon fields of the metadata database as well as other groupings, categories, and/or preferences created by the user, hard-coded into the system, and so forth.
  • the playlist tree provides ways to create or provide ordered lists of audio tracks.
  • the master tree and the node table are dynamically populated and displayed to the user.
  • both the master tree and the node table may be dynamically updated.
  • the master tree and the node table are dynamically updated without having to rebuild the entire master tree and the entire node table. Instead, the changes may be propagated throughout the master tree and node table through the use of a node location table that tracks the locations of the node within the master tree.
  • the metadata management system can read metadata from the metadata database and dynamically organize the metadata for display in the graphical user interface.
  • the metadata can be stored in a basic format and still presented to the user in an accessible format without requiring extensive or time consuming processing of the metadata.
  • the user is given access to the metadata to make additions, changes, and/or deletions through an easy to use graphical user interface.
  • the user has access to the data through interface tools such as, for example, menus, windows, pointing devices, drag and drop features, and so forth.
  • the user can use the interface tools to add data, move data into new categories and/or groupings, and so forth.
  • Metadata information may be displayed in the graphical user interface using organizational techniques. Rather than having to traverse vast amounts of metadata to find a particular record, the user is instead presented with an organized view of the metadata.
  • This embodiment allows the metadata to be presented in a variety of categories using a variety of subtrees.
  • the user may create custom categories as well as custom subtrees affording much flexibility and user control. For example, one user may create groupings for the Genres Rock and jazz, while another user may create groupings for the Artists Styx and Abba.
  • one user may group data into categories that are often used such as Artist/Ge ⁇ re/Album, while another user may create customized playlists.
  • a further benefit of this embodiment is the ability to dynamic update the data in the database collection as well as the data displayed in the graphical user interface.
  • the changes are made in the database and propagated throughout the graphical user interface such that the user is seeing an accurate representation of the metadata database.
  • the user can view changed data without having to reread all of the data and regenerate the entire display.
  • this embodiment provides fast, dynamic updating of the view of the data within the graphical user interface without causing much delay and/or inconvenience to the user.
  • Another benefit of this embodiment is that the user can update multiple sets of metadata with simple changes in the graphical user interface.
  • the user can rename the genre grouping from Pop to Rock and all of the nodes within that genre grouping may be updated to reflect the genre value change.
  • This feature saves the user from having to manually edit each of the metadata files one-by-one.
  • An additional benefit of this embodiment is that the user may update the metadata located in the individual content data files with the current metadata in the metadata database. For example, a user may select a command wherein the data within the metadata database is then copied to the appropriate MP3 header file that includes the metadata.
  • Figure 1 illustrates an example program display of a graphical user interface.
  • an audio player program display 110 includes two windows, a tree window 120 that includes a master tree 122, with an example groupings tree 124 and an example playlist tree 126, and a table window 130 that includes a node table 132 with an example set of audio metadata.
  • the tree window 120 displays the master tree 122.
  • the Master Library subtree 124 represents a groupings tree 124 and illustrates ways to group or categorize the audio metadata in the metadata database.
  • the Master Library subtree's 124 grouping includes five groupings. Artist, Album, Genre, Genre/Artist, and All Tracks. Furthermore, the Genre grouping includes four sub-groupings, ⁇ blank > , Classical, Pop, and Rock.
  • the Playlists subtree 126 provides ways to group or categorize the audio metadata into custom playlists, (i.e., lists of tracks that the user wants played in a specific order).
  • the Playlists subtree 126 includes three playlists, New Playlist, Favorites, and Study Music.
  • the table window 130 displays a node table 132 that includes information about the node that is selected in the tree window 120. This information includes details about the audio tracks that fall within the selected node.
  • a user may display a node table 132 by selecting a grouping such as, for example, by using a mouse to click on the desired node in the tree window 120. Other methods of selecting a grouping are discussed below.
  • the Master Library- Genre— ⁇ -Classical grouping was selected, and thus, the metadata for audio tracks that have the value "Classical" in the Genre field in the database are displayed as audio track records in the node table 132 within the table window 130.
  • three audio track records are shown: Concerto by Mozart, Reverie by Debussy, and Vocalise by Rachmaninoff.
  • the user may begin playing the audio file of a track record by selecting an audio track for playback such as, for example, by using a mouse to double click on any field of the audio track record in the node table 132. Other methods of selecting an audio track record for playback are discussed below.
  • the user may select a higher level node, such as the Genre node located under the Master Library— Genre grouping.
  • the node table 132 may then display the sub- groupings of the Genre node such as, for example, ⁇ blank >, Classical, Pop, and Rock, as well as collective information about the tracks within the sub-groupings such as, for example, the total number of tracks, total length, and total size.
  • Figure 2 represents an overview of one embodiment of a metadata management system 200.
  • the metadata management system 200 manages descriptive data, herein after referred to as metadata, about content data.
  • the corresponding metadata may include information about the audio files such as, for example, the album, artist or speaker, genre, the unique identifying characteristic of a track, and so forth.
  • the content data may be a set of video files, and the corresponding metadata may include information about the video files such as, for example, the genre, video length, leading actors, parent advisory rating, and so forth.
  • the metadata management system 200 may manage other types of content data and/or metadata.
  • the metadata management system 200 includes a metadata management module 210 that communicates with a graphical user interface 220 and a database collection 230.
  • the metadata management module 210 includes a build process 212, an add node location process 214, a data change process 216, and an add metadata process 218.
  • the database collection 230 includes a metadata database 232 as well as a tree information database 234.
  • the word module refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C+ +.
  • a software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts.
  • Software instructions may be embedded in firmware, such as an EPROM.
  • hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
  • the modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.
  • the metadata management system 200 is implemented on a user computer (not shown).
  • the user computer is a device which allows a user to access the content data and/or the metadata. While the term user computer is used, it is recognized that in other embodiments, the metadata management system 200 may be implemented on other systems such as, for example, a portable computing device, a portable audio player, a portable video player, a server, a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, a handheld computer, a telephone, a router, a satellite, a smart card, an embedded computing device, or the like.
  • the user computer is a conventional, general purpose computer using one or more microprocessors, such as, for example, a Pentium processor, a Pentium II processor, a Pentium Pro processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, or an Alpha processor.
  • the user computer runs an appropriate operating system, such as, for example, Microsoft ® Windows ® 3.X, Microsoft ® Windows 98, Microsoft ® Windows® NT, Microsoft ® Windows ® CE, Palm Pilot OS, Apple® MacOS ® , Disk Operating System (DOS), UNIX, Linux ® , or IBM ® OS/2 ® operating systems.
  • the metadata management system 200 includes or is connected to a player module (not shown).
  • the metadata management system 200 may include an audio player, a video player, and so forth such that a user may access the content data as well as the metadata using the graphical user interface 220.
  • the metadata management system 200 includes a metadata management module 210.
  • the metadata management module 210 communicates with the graphical user interface 220 and the database collection 230.
  • the metadata management module 210 works in concert with the graphical user interface 220 to build the master tree 122 displayed in the tree window 120 and the node table 132 displayed in the table window 130.
  • the metadata management module 210 may be requested to build the master tree 122 and the node table 132 upon the occurrence of several events such as, for example, upon user request (e.g., selecting the "refresh" button or via a menu option), upon an automatic request when the audio player program is opened, and so forth.
  • the metadata management module 210 may generate a portion of or the entire master tree 122 and/or the node table 132 off-line.
  • the metadata management module 210 may generate several types of trees (sometimes referred to as subtrees) and combine the trees into a master tree 122 for display in the tree window 120.
  • the metadata management module 210 may combine the trees by creating a root node and attaching the various trees as children of the root node. It is recognized that the various trees may be combined in other manners that are well known to those skilled in the art.
  • the audio data tree may represent a combination of several types of trees and/or a single type of tree.
  • the metadata management module 210 may also generate the node table 132 for display in the table window 130. As discussed above, the node table 132 displays additional information about the selected grouping. In one embodiment, a default selected grouping may be stored in the tree information database 234 wherein the default selected grouping may be based on one or more factors such as, for example, the last grouping that the user selected, the most popular grouping that has been selected, a pre-selected grouping, and so forth. To build the node table 132, the metadata management module 210, queries the metadata database 232 for records that fall within the selected grouping. In one embodiment, if the selected node is a leaf node, the node table 132 may display metadata pertaining to the audio tracks that fall within the selected grouping.
  • the node table 132 may display collective information about the tracks within the sub-groupings of the selected grouping. For more information on the node table 132, see the section below entitled Graphical User Interface - Node Table.
  • the metadata management module 210 illustrated in Figure 2 includes a build process 212, an add node location process 214, a data change process 216, and an add metadata process 218. For more information on these process, see the section below entitled Metadata Management Module Processes.
  • the metadata management module 210 may include other processes (not shown) such as, for example, a process for combining one or more grouping trees into a groupings tree 124, combining one or more trees (e.g., groupings tree 124, playlist tree 126, etc.) into a master tree 122, and so forth.
  • Other processes such as, for example, a process for combining one or more grouping trees into a groupings tree 124, combining one or more trees (e.g., groupings tree 124, playlist tree 126, etc.) into a master tree 122, and so forth.
  • the metadata management system 200 includes a graphical user interface 220 ("GUI").
  • GUI graphical user interface 220
  • the GUI 220 in Figure 2 presents information to the user such as the content data and metadata.
  • the GUI 220 may also allow the user to view the data, change the view of the data, access data (e.g., for playback), modify data, delete data, and/or add new data to the database collection 230.
  • the GUI 220 may be implemented as a module that uses text, graphics, audio, video, and other media ito present data and to allow interaction with the data.
  • the GUI 220 may be implemented as a combination of an all points addressable display such as a cathode-ray tube (CRT), a liquid crystal display (LCD), a plasma display, or other types and/or combinations of displays; input devices such as, for examples, a mouse, trackball, touch screen, pen, keyboard, voice recognition module, and so forth; and software with the appropriate interfaces which allow a user to access data through the use of stylized screen elements such as, for example, menus, windows, dialog boxes, toolbars, controls (e.g., radio buttons, check boxes, sliding scales, etc.), and so forth.
  • an all points addressable display such as a cathode-ray tube (CRT), a liquid crystal display (LCD), a plasma display, or other types and/or combinations of displays
  • input devices such as, for examples, a mouse, trackball, touch screen, pen, keyboard, voice recognition module, and so forth
  • software with the appropriate interfaces which allow a user to access data through the use of stylized screen elements such
  • the GUI 220 may display a master tree 122 in the tree window 120 and a node table 132 in the table window 130. 1. Master Tree
  • the master tree 122 provides various ways to group and categorize audio data.
  • the master tree 122 displays nodes that have at least one child (non-leaf nodes) such that the leaf nodes are not displayed in the master tree 122, but are instead displayed in a table format in the node table 132. It is recognized that in other embodiments, the leaf nodes as well as the non-leaf nodes may be displayed in the master tree 122.
  • the GUI 220 allows the user to expand a subtree of the master tree 122 in order to view the subtrees children.
  • the master tree 122 is preferably in the form of a directed acyclic graph (a tree that allows a child node to have multiple parents). While this embodiment uses an acyclic graph representation, it is recognized that in other embodiments, other types of graphs or trees may be used such as, for example, B* trees, optical trees, binary trees, n- way trees, balanced trees, min-max trees, Huffman trees, splay trees, AVL trees, and so forth. Furthermore, other data structures, such as, for example, files, lists, arrays, records, tables, and so forth, or a combination of data structures may be used.
  • the node table 132 displays additional information about the node that is selected in the master tree 122.
  • the node table 132 may display metadata pertaining to the audio tracks that fall within the grouping as audio track records.
  • the node table 132 in Figure 1 includes the fields Track Name, Artist, Album, Genre, CD Track #, and Length and is arranged in a standard table format wherein the rows represent audio track records and the columns represent categories or attributes of data within the metadata database 232.
  • the node table 132 may display collective information about the tracks within the sub-groupings of the selected node such as, for example, the total number of tracks, total length, and total size. For example, if the selected node is Artist under the grouping Master Library ⁇ Artist, the node table 132 may then display the sub-groupings of the Artist node such as, for example, Debussy, Mozart, and Rachmaninoff, as well as the total number of tracks, total length, and total size of audio files data for each artist.
  • the node table 132 is preferably in the form of a standard table wherein data is arranged in rows and columns such that multiple audio track records are visible in the table window 130. It is recognized that other formats may be used.
  • the table window 130 may display individual records, a tree of records, a linked list of records, and so forth. It is recognized that in other embodiments, other types of data structures such as, for example, trees, files, lists, arrays, records, and so forth, or a combination of data structures may be used.
  • the metadata management system 200 includes a database collection 230.
  • the database collection 230 in Figure 2 includes a metadata database 232 and a tree information database 234.
  • Metadata Database The metadata database 232 includes metadata about the audio content data.
  • the metadata may include information such as track name, artist, album, genre, CD track number, length, format, quality, comments, date and/or time last played, date and/or time the track was created, file size, file location, protection flag, as well as other types of information related to the audio file.
  • the metadata may include fields that are used in standards such as, for example, ID3v1, ID3v2, ID3v2.3.0, and so forth, as well as other fields that are created by other parties, by users, by content providers, and so forth.
  • the metadata database 232 may manage other types of content data and/or metadata.
  • the metadata database 232 includes the metadata as well as the content data.
  • the metadata database 232 may include the audio files as well as the metadata that corresponds to the audio files.
  • the content data may be stored in a different database and/or only a subset of the content data may be stored in the metadata database 232. It is recognized that the metadata database 232 may be implemented as several separate databases.
  • the tree information database 234 includes data about the trees within the master tree 122. This information may include tree types, groupings, node names, node locations, and so forth.
  • the tree information database may include grouping tables that include data about the grouping tree structure wherein the grouping tables include information such as, for example, the names of the nodes, the relationship between nodes, whether the node is a standard node or customized node, and so forth.
  • the tree information database 234 may include playlist tables that define the various playlists and include information about the playlists such as, for example, data/time created, name of the creator, and so forth.
  • the tree information database 234 may also include node location tables that define the location of nodes in the subtrees and/or the master tree 122.
  • the tree information database 234 may include other types of information as well.
  • the tree information database 234 may be implemented as several separate databases.
  • the database collection 230 may also include other databases (not shown) for performing various management tasks.
  • the database collection 230 may include a user preferences database that includes information on the types of audio content and metadata that the user prefers and/or the user's favorite web sites for downloading audio content and metadata.
  • there may be several processes such as ID generators, number generators, statistic generators, session generators, and temp storage units that work with the database collection 230.
  • the database collection 230 is implemented using CodeBase, a semi-relational database offered by Sequiter.
  • CodeBase is a high-speed xBase-compatible database engine that works with C/C+ +, Visual Basic, Delphi and Java under standalone and client/server environments. It is recognized that the database collection 230 may be implemented using a different type of relational database, such as Sybase, Oracle, Microsoft ® SQL Server, and so forth as well as other types of databases such as, for example, a flat file database, an entity- relationship database, and object-oriented database, a record-based database, and so forth.
  • database collection 230 depicted in Figure 2 is comprised of several separate databases, it is recognized that in other embodiments, the database collection 230 may contain other databases or some of the databases may be omitted and/or combined. In addition, the database collection 230 may be implemented as a single database with separate tables or as other data structures that are well know in the art such as linked lists, binary trees, and so forth.
  • the database collection 230 may be connected to a backend component (not shown) that receives database requests via servlets, small programs that run on servers, and sends a corresponding request to the database collection 230. It is recognized that in other embodiments data access may be performed differently, for example, a different type of backend component may be used, or the database collection 230 may be accessed directly.
  • the metadata management module 210 illustrated in Figure 2 includes a build process 212, an add node location process 214, a data change process 216, and an add metadata process 218.
  • the build process 212 is used to dynamically build a grouping tree that represents a grouping wherein the grouping is a category or a set of categories by which the data may be grouped. For example, one grouping may be Artist while another grouping may be Genre/Artist, and yet another grouping may be Genre/Artist/Album.
  • Table 1 represents a sample set of audio metadata.
  • Table 1 The fields are located in the first row and represent categories and the metadata information, also referred to as a category value, is shown in the subsequent rows.
  • category Track Name has four different category values: Always, Bird, Rhythm, and Speed; and the category Artist has three different category values: A, B, and C.
  • a tree based on the grouping "Artist” for the data in Table 1 may look like the following, wherein the grouping is "Artist” that includes one category. Artist:
  • the circles represent categories from the groupings and the squares represent the audio track records which are the leaf nodes of the tree.
  • the top node (or root note of this grouping) represents the grouping name.
  • the next level of nodes represents the category values for the category Artist category.
  • the leaf nodes represent the audio track records (and/or a reference to the records).
  • a tree based on the grouping "Genre/Artist” for the data in Table 1 may look like the following, wherein the grouping is "Genre/Artist” that includes two categories, first Genre and second Artist:
  • the root node represents the grouping name.
  • the next level of nodes under the root node represent the category values for the Genre category and the next level of nodes represent the category values for the Artist category.
  • the leaf nodes represent the audio track records (and/or a reference to the records).
  • a tree based on the grouping "Genre/Artist/Album” for the data in Table 1 may look like the following, wherein the grouping is "Genre/Artist/Album” that includes three categories, first Genre, second Artist, and third Album:
  • the root node represents the grouping name.
  • the next level of nodes under the root node represent the category values for the Genre category; the next level of nodes represent the category values for the Artist category; the third level of nodes represent the category values for the Album category.
  • the leaf nodes represent the audio track records (and/or a reference to the records).
  • the build process 212 begins at a start state 300 and the proceeds to a state 310.
  • state 310 the build process 212 sorts the data by the first category in the grouping, then by the second category in the grouping, and so forth for each category in the grouping and then proceeds to a state 315.
  • state 315 beginning with the first record of the sorted data, and continuing until all of the records have been traversed (states 315 and 355), the build process 212 proceeds to a state 320.
  • state 320 the build process 212 creates a grouping name node as the top of the tree and moves the current location to the top of the tree.
  • the build process 212 proceeds to a state 330.
  • the build process 212 determines if the category value is already a child node in the tree. If the category value for the current record is not already a child node in the current location of the tree, the build process 212 proceeds to a state 335 and adds the category value as a child node in the current location of the tree and proceeds to a state 340. If the category is already a child node in the current location of the tree, the build process 212 proceeds to state 340.
  • state 340 the build process 212 moves the current location to the node that represents the category value and proceeds to a state 345.
  • state 345 the build process 212 returns to state 325 if there are any more categories in the grouping. Once all of the categories in the grouping have been traversed (states 325 and 345), the build process 212 proceeds to a state 350.
  • state 350 the build process 212 adds the current record to the current node of the tree and proceeds to a state 355.
  • state 355 the build process 212 returns to state 315 if there are any more records that have not been traversed. Once all of the records have been traversed, the build process 212 proceeds to an end state 360.
  • the build process 212 may build the entire tree first without leaf nodes before adding any of the records.
  • the build process 212 may recursively add nodes down one path of a tree and then add all records that fall within that path before moving onto the next path of the tree.
  • a sample groupings tree 124 that corresponds to the data in Table 1 includes the grouping tree "Artist,” the grouping tree “Genre/Artist,” and the grouping tree “Genre/Artist/Album” may look like the following:
  • the add node location process 214 is used to track the various locations of nodes in the master tree 122.
  • the metadata management module 210 tracks the various locations in which the node is located and stores the data in the tree information database 234.
  • the master tree 122 is preferably an acyclic graph that allows nodes to have multiple parent nodes.
  • the metadata management module 210 tracks and stores the node's location information in a data structure, such as a node location table, though it is recognized that a variety of data structures may be used such as, for example, a list, a tree, an array, a database, and so forth.
  • the node location table may then be stored in the tree information database 234.
  • Table 2 illustrates a sample node location table that corresponds to the node locations of the example nodes used in the Build Process section above based upon the sample data of Table 1.
  • the node location table may include N locations where N is a positive integer.
  • some nodes may have more locations than others. For example, if the node Speed is in two of the user's playlists and Always is not in the user's playlists, then Speed may have two more locations than Always.
  • an add node location process 214 is executed each time a node is added to any of the trees in the master tree 122.
  • the add node location process 214 begins at a start state 400 and then proceeds to a state 410. In state
  • the add node location process 214 determines whether the node exists in the node location table. If the node does not exist in the node location table, the add node location process 214 adds the node to the node location table in state 420 and proceeds to a state 430. If the node already exists in the node location table, then the node location process proceeds to state 430. In state 430, the add node location process 214 adds the current location of the node to the node's first empty location field in the node location table and proceeds to an end state 440.
  • the data change process 216 is used to dynamically integrate changes into the database collection 230 as well as the master tree 122 and/or the node table 132. As indicated above, the user has access to add, change, or delete data in the tree window 120 and/or the table window 130 and the metadata management module 210 dynamically updates the master tree 122 and the node table 132 to reflect the user's additions, changes, and/or deletions.
  • One embodiment of a data change process 216 is illustrated in Figure 5.
  • the data change process 216 proceeds to a state 510.
  • the data change process 216 receives a user's changes to data. For example, a user may reclassify a song from the genre jazz to the genre New Age by using a mouse to drag the song from the jazz node to the New Age node.
  • a user may change the value of a grouping (e.g., rename a grouping) by selecting the grouping and typing in a new value.
  • the user may also create a new playlist by selecting one or more audio tracks and copying them into a playlist node.
  • the user may make the changes using various actions such as, for example, typing and changing any of the fields of information, dragging and dropping one of the nodes into a different grouping, adding a new grouping using the menu system, and so forth.
  • the node When a user drags one node to a different grouping, the node will then inherit the characteristics of the new grouping (i.e., be reclassified), and the metadata database 232 will be updated accordingly. For example, if the audio track entitled "Always" was located under the Genre/Artist grouping Funk ⁇ -B and the user moved it to Pop ⁇ A, the Genre value of the "Always" track may be updated to Pop and the Artist value may be updated to B.
  • the data change process 216 then proceeds to a state 520.
  • the data change process 216 updates the database collection 230 (e.g., the metadata database 232 and/or the tree information database 234) with the changes and proceeds to a state 530.
  • the data change process 216 determines whether the change was made to a leaf node or a non-leaf node. If the change was made to a non-leaf node, then the data change process 216 proceeds to state 540 wherein for each sub-node (e.g. children, grandchildren, and so forth) of the non-leaf node, the data change process 216 updates the classification or field value that changed and proceeds to a state 550.
  • sub-node e.g. children, grandchildren, and so forth
  • state 550 the data change process 216 proceeds to state 550.
  • state 550 beginning with the first leaf node that was changed, and continuing until all of the leaf nodes that were changed (states 550 and 590) are processed, the data change process 216 proceeds to a state 560.
  • state 560 the data change process 216 looks up the leaf node in the node location table and proceeds to a state 570.
  • state 570 for each location in the node location table entry, the data change process 216 locates the node in the master tree 122, updates the node and proceeds to a state 580.
  • state 580 the data change process 216 updates the node location table to reflect any location changes and proceeds to a state 590.
  • state 590 the data change process 216 returns to state 550 if there are more changed leaf nodes that have not been updated. Once all of the changed leaf nodes have been updated, the data change process 216 proceeds to an end state 595.
  • the data change process 216 may be implemented in a different manner.
  • the node location table may be limited to include only those nodes that are displayed in the graphical user interface 220 such that the data change process 216 updates only those nodes that are being displayed in the graphical user interface 220.
  • the data change process 216 may be implemented without using a node location table.
  • FIG. 6 An additional embodiment of the data change process 216 is illustrated in Figure 6. Beginning at a start state 600 the data change process 216 proceeds to a state 610. In state 610, the data change process 216 receives a user's changes to data and proceeds to a state 620. In state 620, the data change process 216 updates the database collection 230 (e.g., the metadata database 232 and/or the tree information database 234) with the changes and proceeds to a state 630. In state 630, beginning with the root node, and continuing until all of the nodes in the tree (states 630 and 670) are traversed, the data change process 216 proceeds to a state 640. In state 640, the data change process determines whether anything in the node has been changed.
  • the database collection 230 e.g., the metadata database 232 and/or the tree information database 2344
  • state 630 beginning with the root node, and continuing until all of the nodes in the tree (states 630 and 670) are traversed,
  • the data change process proceeds to a state 650 wherein a Node State is set to DIRTY, and proceeds to a state 670. If the node has not been changed, the data change process proceeds to a state 660 wherein the Node
  • State is set to CLEAN, and proceeds to state 670.
  • state 670 the data change process 216 returns to state 630 if there are nodes that have not been traversed. Once all of the nodes have been traversed, the data change process 216 proceeds to an end state 680.
  • each node in the tree has been marked as DIRTY or CLEAN.
  • the node is accessed, (e.g., selected by the user), then the node is regenerated to reflect the changes, and the changes are recursively propagated to any of the accessed node's sub-nodes.
  • the data change process 216 may be implemented in a different manner. For example, additional, fewer, and/or different states may be used to track the changes to the nodes; a non- recursive process may be implemented; each node in the tree may be regenerated before the node is accessed; and so forth.
  • leaf-nodes may contain references to leaf node data such that when the leaf node data is changed, the changes may be automatically propagated to the other locations in which the leaf node resides.
  • the add metadata process 218 is used to find and add metadata to the metadata database 232.
  • the add metadata process 218 is triggered if there is no information in the metadata database 232 for an audio track.
  • the add metadata process 218 may be triggered if there is information in the metadata database 232 for an audio track, but certain portions of the information is missing.
  • the add metadata process 218 may default to overwriting the old data, keeping the old data, keeping the old data only if the user had edited the data, or use other defaults.
  • FIG. 7 One embodiment of an add metadata process 218 is illustrated in Figure 7.
  • the embodiment depicted in Figure 7 looks for data if there is no information in the metadata database 232 for a track and thus, there are no conflicts.
  • an add metadata process 218 may be implemented using other defaults.
  • the add metadata process 218 proceeds to a state 710.
  • the add metadata process 218 determines whether there is information for the designated track in the metadata database 232.
  • the track may be designated using a variety of methods such as, for example, by placing a CD in the CD-ROM drive, by having the user select a group of tracks, by preselecting a group of tracks, and so forth. If there is already information for the designated track in the metadata database 232, the add metadata process 218 proceeds to an end state 770. If the information is not already in the metadata database 232, the add metadata process 218 proceeds to a state 720. In state 720, the add metadata process 218 determines whether the information is located in a local database.
  • the local database may be, for example the CDPIayer.ini file as well as any other database or file of metadata that may be stored on or accessed by the add metadata process 218. If the information is in a local database, the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the information and saves the information in the metadata database 232 and proceeds to the end state 770. If the information is not in the local database, the add metadata process 218 proceeds to a state 730. In state 730, the add metadata process 218 determines whether the information is located with the content data. For example, if the content data is stored on a CD-ROM, then CD-ROM is checked for metadata information.
  • the encoded data file is checked for metadata information. If the information is with the content data, the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the information and saves the information in the metadata database 232 and proceeds to the end state 770. If the information is not with the content data, the add metadata process 218 proceeds to a state 740. In state 740, the add metadata process 218 determines whether the information is located in a remote database. For example, the adding data process may contact a remote database of audio metadata and perform a lookup of the designated track(s) to look for and retrieve the corresponding metadata.
  • the corresponding metadata may then be sent to the add metadata process 218.
  • the contact with the remote database may be through a variety of mediums such as, for example, a direct network connection, a dial-up connection, an internet connection, and so forth. If the information is in the remote database, the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the information and saves the information in the metadata database 232 and proceeds to the end state 770. If the information is not in the remote database, the add metadata process 218 proceeds to a state 750.
  • the add metadata process 218 queries the user for the information and the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the entered information, saves the information in the metadata database 232, and proceeds to the end state 770.
  • the graphical user interface 220 may also be updated each time the metadata database 232 is updated.
  • the add metadata process 218 may only look in a local database and a remote database.
  • Metadata information may also be added by user-initiated actions. For example, a user may drag and drop a set of metadata information the user received in an e-mail or on a disk into the graphical user interface 220. Furthermore, the user may also initiate the add metadata process 218 wherein the user requests to be queried for information about the metadata.
  • metadata information may also be added by other processes. For example, if a user downloads a file, the download process may automatically import metadata information into the metadata database 232. In another example, when the user updates the audio playing program, audio playing program may automatically trigger a lookup of any missing metadata information.

Abstract

A system and method of the present invention allow users to access, manage, and edit information about content data, often referred to as metadata. Metadata is collected from various sources, added, and maintained in a metadata database (232). In addition, metadata is dynamically read from the metadata database (232) and dynamically displayed in a graphical user interface (220) in an organized manner, such as a hierarchical tree. In the graphical user interface (220), a user may add (218), delete (216), and/or modify the metadata (216). As the user changes the metadata, the metadata database (232) is updated and the user's changes are propagated throughout the graphical user interface (220) such that the hierarchical tree displays the changed metadata.

Description

SYSTEM AND METHOD OF MANAGING METADATA DATA
FIELD OF THE INVENTION The system and method of the present invention relate generally to the field of managing metadata.
BACKGROUND
The increased reliance on digital data has led to a need for detailed information about the digital data as well as techniques for managing and controlling this detailed information. This detailed information is known as
"metadata." For example, there is a high demand for audio data, and accordingly, there is a high demand for metadata about the audio data such as, for example, the artist or speaker name, album name, genre, number of songs, and so forth.
While access to metadata provides the public with a vast amount of information, it is often difficult to manage the metadata. For example, keeping track of various audio files as well as the immense amount of metadata for each audio file can be a difficult task. One common problem is that conventional approaches do not allow the user to easily view and access the metadata. For example, it is typical for a user to have hundreds or even thousands of audio files making it difficult for the user to sift through each file of metadata. A user may have to look through hundreds or through thousands of files to find the desired file.
Another common problem is that conventional approaches fail to provide users with control over the metadata such as the ability to make changes to a piece of metadata or a set of metadata. For example, a user may want to alter the genre of an audio file by changing the genre from Jazz to New Age.
SUMMARY OF THE INVENTION In one embodiment, the present invention is a method for dynamically organizing metadata located in a database of metadata for presentation to a user in a display. The method comprises receiving a plurality of categories of metadata wherein the plurality of categories of metadata represent a hierarchical representation of the metadata; querying a database of metadata to produce a set of metadata query results; arranging the metadata query results in a hierarchical representation of metadata based at least upon a subset of the plurality of categories; and presenting the hierarchical representation of metadata to a user in a graphical display. Another embodiment of the present invention is a method of dynamically updating a display of metadata to a user. The method comprises storing metadata in a database; displaying a hierarchical representation of a subset of the metadata to a user; receiving a change to at least a portion of the subset of metadata displayed to the user; processing the change to update the corresponding portion of the subset of metadata in the metadata database; determining which portions of the hierarchical representation are affected by the change; updating the portions of the hierarchical representations affected by the change; and displaying the updated hierarchical representation to the user.
Another embodiment of the present invention is a metadata management system used to access, manage, and edit information about content data. The metadata management system comprises a metadata database that includes information about content data; a metadata management module used to access the information about content data in the metadata database; and a graphical user interface configured to communicate with the metadata management module, to dynamically access the information about content data in the metadata database, and to dynamically present an organized grouping of at least a portion of the information about content data for display to a user. Another embodiment of the present invention is a method for presenting metadata in a database. The method comprises obtaining a hierarchy of category nodes; querying the database for a set of metadata; dynamically arranging the set of metadata in the hierarchy of category nodes; and presenting the set of metadata in the hierarchy of category nodes to a user.
Another embodiment of the present invention is a method for presenting metadata in a database. The method comprises displaying a set of metadata from a metadata database in a hierarchy of category nodes; receiving a change to a portion of the set of metadata; and dynamically updating the display of the set of metadata and the hierarchy of category nodes to reflect the change.
Another embodiment of the present invention is a method for dynamically presenting metadata in a hierarchical form. The method comprises executing a search on a database, to obtain a set of search results, wherein the database stores metadata; receiving a set of user preferences for viewing the search results wherein the user preferences are based on properties of the metadata; dynamically generating a tree structure based on the search results and the set of user preferences; dynamically determining a layout of the tree structure; dynamically mapping the search results onto the tree structure based on the layout; and dynamically displaying the tree structure.
Another embodiment of the present invention is a method of obtaining information about content data wherein information about content data is stored in a database and displayed in a graphical user interface using a standard data structure. The method comprises obtaining an identifier related to a set of content data; creating a request for information about the set of content data using the identifier; processing the request for information; receiving a set of request information in response to the request for information; and storing the set of request information a database. For purposes of summarizing the invention, certain aspects, advantages, and novel features of the invention are described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, for example, those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 illustrates an example display from one embodiment of the present invention. Figure 2 illustrates a high-level block diagram of one embodiment of the present invention. Figure 3 illustrates a flowchart of one embodiment of building a tree grouping. Figure 4 illustrates a flowchart of one embodiment of adding an entry to the node location table.
Figure 5 illustrates a flowchart of one embodiment of processing a data change. Figure 6 illustrates a flowchart of one embodiment of processing a data change. Figure 7 illustrates a flowchart of one embodiment of adding metadata.
DETAILED DESCRIPTION
A system and method which represent one embodiment and example application of the invention will now be described with reference to the drawings. Variations to the system and method which represent other embodiments will also be described. In one disclosed embodiment, the system and method are used to dynamically represent audio metadata using a master tree and a node table. It will be recognized, however, that other embodiments may use only one of these two types of data structures and/or different types of data structures to help users organize and access data. In addition, other types of data may also be used.
For purposes of illustration, one embodiment will be described in the context of a master tree and node table for organizing and accessing audio metadata and audio data within an audio playing device such as, for example, Real Jukebox™. While the inventors contemplate that the present invention is not limited by the type of content data and/or metadata to be managed and that the types of data may include video, audio, audio-visual, slideshow, image and text, and so forth, the figures and descriptions relate to an embodiment of the invention using audio metadata and audio content data. Furthermore, the details of the master tree, node table, and of specific implementations are set forth in order to illustrate, and not to limit, the invention. The scope of the invention is defined by the appended claims. These and other features will now be described with reference to the drawings summarized above. The drawings and the associated descriptions are provided to illustrate embodiments of the invention, and not to limit the scope of the invention. Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. In addition, the first digit of each reference number indicates the figure in which the element first appears.
I. Overview
Audio metadata, such as track name, artist, album, genre, track number, length, and so forth, is collected from various sources, added, and maintained in a metadata database. A metadata management module dynamically reads metadata from the metadata database, organizes the metadata into groupings using a groupings tree, combines the groupings tree with other trees to form a master tree, combines metadata relating to the selected grouping into a node table, and presents the master tree and the node table in a graphical user interface. In the graphical user interface, a user may add, delete, and/or modify the metadata in the master tree and/or the node table. As the user changes the metadata, the metadata database is updated and the user's changes are propagated throughout the graphical user interface. The user may also use the master tree and the node table to begin playing an audio file and/or a set of audio files.
The top node of the master tree represents a root node. The next level of the master tree represents root nodes of subtrees such as the groupings tree and the playlist tree. The lowest-level nodes of the master tree represent audio metadata of individual audio tracks, while the other nodes represent groupings (or sub-groupings) of audio tracks. This relationship structure allows the master tree to include various types of trees. For example, the groupings tree provides ways to group and categorize audio metadata, such as, for example, by Album, Artist, Genre, and so forth as well as by nested groupings such as, for example, Artist/Album, Genre/Artist, Genre/Artist/Album, and so forth. The groupings may be based upon fields of the metadata database as well as other groupings, categories, and/or preferences created by the user, hard-coded into the system, and so forth. The playlist tree provides ways to create or provide ordered lists of audio tracks. The master tree and the node table are dynamically populated and displayed to the user. In addition, when a user makes any changes to the master tree and/or the metadata in the node table, both the master tree and the node table may be dynamically updated. In one embodiment, the master tree and the node table are dynamically updated without having to rebuild the entire master tree and the entire node table. Instead, the changes may be propagated throughout the master tree and node table through the use of a node location table that tracks the locations of the node within the master tree.
One benefit of this embodiment is that the metadata management system can read metadata from the metadata database and dynamically organize the metadata for display in the graphical user interface. Thus the metadata can be stored in a basic format and still presented to the user in an accessible format without requiring extensive or time consuming processing of the metadata. Another benefit of this embodiment is that the user is given access to the metadata to make additions, changes, and/or deletions through an easy to use graphical user interface. Using the graphical user interface, the user has access to the data through interface tools such as, for example, menus, windows, pointing devices, drag and drop features, and so forth. For example, rather than having to manually edit each piece of the metadata, the user can use the interface tools to add data, move data into new categories and/or groupings, and so forth. An additional benefit of this embodiment is that the metadata information may be displayed in the graphical user interface using organizational techniques. Rather than having to traverse vast amounts of metadata to find a particular record, the user is instead presented with an organized view of the metadata. This embodiment allows the metadata to be presented in a variety of categories using a variety of subtrees. The user may create custom categories as well as custom subtrees affording much flexibility and user control. For example, one user may create groupings for the Genres Rock and Jazz, while another user may create groupings for the Artists Styx and Abba. In addition, one user may group data into categories that are often used such as Artist/Geπre/Album, while another user may create customized playlists.
A further benefit of this embodiment is the ability to dynamic update the data in the database collection as well as the data displayed in the graphical user interface. Thus, when users make changes to the metadata and/or the groupings or categories, the changes are made in the database and propagated throughout the graphical user interface such that the user is seeing an accurate representation of the metadata database. The user can view changed data without having to reread all of the data and regenerate the entire display. Instead, this embodiment provides fast, dynamic updating of the view of the data within the graphical user interface without causing much delay and/or inconvenience to the user. Another benefit of this embodiment is that the user can update multiple sets of metadata with simple changes in the graphical user interface. For example, if a user has one thousand files with the genre value as Pop and the user wants to change the genre to Rock, the user can rename the genre grouping from Pop to Rock and all of the nodes within that genre grouping may be updated to reflect the genre value change. This feature saves the user from having to manually edit each of the metadata files one-by-one. An additional benefit of this embodiment is that the user may update the metadata located in the individual content data files with the current metadata in the metadata database. For example, a user may select a command wherein the data within the metadata database is then copied to the appropriate MP3 header file that includes the metadata. For example, if a user changes the Genre of an audiofile from Rock to Pop in the graphical user interface and then executes an update MP3 file command, then the user's MP3 file will also automatically be updated such that the Genre is changed from Rock to Pop in the MP3 file.
II. Sample Display
Figure 1 illustrates an example program display of a graphical user interface. In Figure 1, an audio player program display 110 includes two windows, a tree window 120 that includes a master tree 122, with an example groupings tree 124 and an example playlist tree 126, and a table window 130 that includes a node table 132 with an example set of audio metadata.
The tree window 120 displays the master tree 122. In the exemplary master tree 122, there are two there subtrees, Master Library 124 and Playlists 126. The Master Library subtree 124 represents a groupings tree 124 and illustrates ways to group or categorize the audio metadata in the metadata database. The Master Library subtree's 124 grouping includes five groupings. Artist, Album, Genre, Genre/Artist, and All Tracks. Furthermore, the Genre grouping includes four sub-groupings, < blank > , Classical, Pop, and Rock. The Playlists subtree 126 provides ways to group or categorize the audio metadata into custom playlists, (i.e., lists of tracks that the user wants played in a specific order). Users can create custom playlists indicating the order in which the user would like to listen to the audio files. The Playlists subtree 126 includes three playlists, New Playlist, Favorites, and Study Music. The table window 130 displays a node table 132 that includes information about the node that is selected in the tree window 120. This information includes details about the audio tracks that fall within the selected node. A user may display a node table 132 by selecting a grouping such as, for example, by using a mouse to click on the desired node in the tree window 120. Other methods of selecting a grouping are discussed below. In Figure 1, the Master Library- Genre— ^-Classical grouping was selected, and thus, the metadata for audio tracks that have the value "Classical" in the Genre field in the database are displayed as audio track records in the node table 132 within the table window 130. In the exemplary table window 130, three audio track records are shown: Concerto by Mozart, Reverie by Debussy, and Vocalise by Rachmaninoff. In one embodiment, the user may begin playing the audio file of a track record by selecting an audio track for playback such as, for example, by using a mouse to double click on any field of the audio track record in the node table 132. Other methods of selecting an audio track record for playback are discussed below. In another example, the user may select a higher level node, such as the Genre node located under the Master Library— Genre grouping. The node table 132 may then display the sub- groupings of the Genre node such as, for example, < blank >, Classical, Pop, and Rock, as well as collective information about the tracks within the sub-groupings such as, for example, the total number of tracks, total length, and total size.
III. The Metadata Management System
Figure 2 represents an overview of one embodiment of a metadata management system 200. In one embodiment, the metadata management system 200 manages descriptive data, herein after referred to as metadata, about content data. For example, if the content data is a set of audio files, the corresponding metadata may include information about the audio files such as, for example, the album, artist or speaker, genre, the unique identifying characteristic of a track, and so forth. In another embodiment, the content data may be a set of video files, and the corresponding metadata may include information about the video files such as, for example, the genre, video length, leading actors, parent advisory rating, and so forth. It is recognized that in other embodiments, the metadata management system 200 may manage other types of content data and/or metadata.
In Figure 2, the metadata management system 200 includes a metadata management module 210 that communicates with a graphical user interface 220 and a database collection 230. The metadata management module 210 includes a build process 212, an add node location process 214, a data change process 216, and an add metadata process 218. Furthermore, the database collection 230 includes a metadata database 232 as well as a tree information database 234.
As used herein, the word module, whether in upper or lower case letters, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C+ +. A software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.
In one embodiment, the metadata management system 200 is implemented on a user computer (not shown). The user computer is a device which allows a user to access the content data and/or the metadata. While the term user computer is used, it is recognized that in other embodiments, the metadata management system 200 may be implemented on other systems such as, for example, a portable computing device, a portable audio player, a portable video player, a server, a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, a handheld computer, a telephone, a router, a satellite, a smart card, an embedded computing device, or the like.
In one embodiment, the user computer is a conventional, general purpose computer using one or more microprocessors, such as, for example, a Pentium processor, a Pentium II processor, a Pentium Pro processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, or an Alpha processor. In one embodiment, the user computer runs an appropriate operating system, such as, for example, Microsoft® Windows® 3.X, Microsoft® Windows 98, Microsoft® Windows® NT, Microsoft® Windows® CE, Palm Pilot OS, Apple® MacOS®, Disk Operating System (DOS), UNIX, Linux®, or IBM® OS/2® operating systems.
In one embodiment, the metadata management system 200 includes or is connected to a player module (not shown). For example, the metadata management system 200 may include an audio player, a video player, and so forth such that a user may access the content data as well as the metadata using the graphical user interface 220. A. Metadata Management Module
In one embodiment, the metadata management system 200 includes a metadata management module 210. As indicated above, the metadata management module 210 communicates with the graphical user interface 220 and the database collection 230. The metadata management module 210 works in concert with the graphical user interface 220 to build the master tree 122 displayed in the tree window 120 and the node table 132 displayed in the table window 130. The metadata management module 210 may be requested to build the master tree 122 and the node table 132 upon the occurrence of several events such as, for example, upon user request (e.g., selecting the "refresh" button or via a menu option), upon an automatic request when the audio player program is opened, and so forth. In other embodiments, the metadata management module 210 may generate a portion of or the entire master tree 122 and/or the node table 132 off-line.
As indicated above, in one embodiment, the metadata management module 210 may generate several types of trees (sometimes referred to as subtrees) and combine the trees into a master tree 122 for display in the tree window 120. The metadata management module 210 may combine the trees by creating a root node and attaching the various trees as children of the root node. It is recognized that the various trees may be combined in other manners that are well known to those skilled in the art. Furthermore, in other embodiments, the audio data tree may represent a combination of several types of trees and/or a single type of tree.
In one embodiment, the metadata management module 210 may also generate the node table 132 for display in the table window 130. As discussed above, the node table 132 displays additional information about the selected grouping. In one embodiment, a default selected grouping may be stored in the tree information database 234 wherein the default selected grouping may be based on one or more factors such as, for example, the last grouping that the user selected, the most popular grouping that has been selected, a pre-selected grouping, and so forth. To build the node table 132, the metadata management module 210, queries the metadata database 232 for records that fall within the selected grouping. In one embodiment, if the selected node is a leaf node, the node table 132 may display metadata pertaining to the audio tracks that fall within the selected grouping. If the selected node is a non-leaf node, the node table 132 may display collective information about the tracks within the sub-groupings of the selected grouping. For more information on the node table 132, see the section below entitled Graphical User Interface - Node Table.
The metadata management module 210 illustrated in Figure 2 includes a build process 212, an add node location process 214, a data change process 216, and an add metadata process 218. For more information on these process, see the section below entitled Metadata Management Module Processes. The metadata management module 210 may include other processes (not shown) such as, for example, a process for combining one or more grouping trees into a groupings tree 124, combining one or more trees (e.g., groupings tree 124, playlist tree 126, etc.) into a master tree 122, and so forth. B. Graphical User Interface
In one embodiment, the metadata management system 200 includes a graphical user interface 220 ("GUI"). The GUI 220 in Figure 2 presents information to the user such as the content data and metadata. The GUI 220 may also allow the user to view the data, change the view of the data, access data (e.g., for playback), modify data, delete data, and/or add new data to the database collection 230. The GUI 220 may be implemented as a module that uses text, graphics, audio, video, and other media ito present data and to allow interaction with the data. The GUI 220 may be implemented as a combination of an all points addressable display such as a cathode-ray tube (CRT), a liquid crystal display (LCD), a plasma display, or other types and/or combinations of displays; input devices such as, for examples, a mouse, trackball, touch screen, pen, keyboard, voice recognition module, and so forth; and software with the appropriate interfaces which allow a user to access data through the use of stylized screen elements such as, for example, menus, windows, dialog boxes, toolbars, controls (e.g., radio buttons, check boxes, sliding scales, etc.), and so forth.
As illustrated in Figure 1, in one embodiment, the GUI 220 may display a master tree 122 in the tree window 120 and a node table 132 in the table window 130. 1. Master Tree
As indicated above, the master tree 122 provides various ways to group and categorize audio data. In one embodiment, the master tree 122 displays nodes that have at least one child (non-leaf nodes) such that the leaf nodes are not displayed in the master tree 122, but are instead displayed in a table format in the node table 132. It is recognized that in other embodiments, the leaf nodes as well as the non-leaf nodes may be displayed in the master tree 122. In addition, the GUI 220 allows the user to expand a subtree of the master tree 122 in order to view the subtrees children.
The master tree 122 is preferably in the form of a directed acyclic graph (a tree that allows a child node to have multiple parents). While this embodiment uses an acyclic graph representation, it is recognized that in other embodiments, other types of graphs or trees may be used such as, for example, B* trees, optical trees, binary trees, n- way trees, balanced trees, min-max trees, Huffman trees, splay trees, AVL trees, and so forth. Furthermore, other data structures, such as, for example, files, lists, arrays, records, tables, and so forth, or a combination of data structures may be used.
2. Node Table As indicated above, the node table 132 displays additional information about the node that is selected in the master tree 122. In one embodiment, if the selected node is a leaf node, the node table 132 may display metadata pertaining to the audio tracks that fall within the grouping as audio track records. The node table 132 in Figure 1 includes the fields Track Name, Artist, Album, Genre, CD Track #, and Length and is arranged in a standard table format wherein the rows represent audio track records and the columns represent categories or attributes of data within the metadata database 232. If the selected node is a non-leaf node, the node table 132 may display collective information about the tracks within the sub-groupings of the selected node such as, for example, the total number of tracks, total length, and total size. For example, if the selected node is Artist under the grouping Master Library→Artist, the node table 132 may then display the sub-groupings of the Artist node such as, for example, Debussy, Mozart, and Rachmaninoff, as well as the total number of tracks, total length, and total size of audio files data for each artist.
It is recognized that in other embodiments different categories, attributes, and/or collective information may be used that include fewer fields of the metadata database 232, additional fields of the metadata database 232, user customized categories, as well as other categories. In addition, some or all of the exemplary categories or attributes may be omitted from the node table 132. The node table 132 is preferably in the form of a standard table wherein data is arranged in rows and columns such that multiple audio track records are visible in the table window 130. It is recognized that other formats may be used. For example, the table window 130 may display individual records, a tree of records, a linked list of records, and so forth. It is recognized that in other embodiments, other types of data structures such as, for example, trees, files, lists, arrays, records, and so forth, or a combination of data structures may be used. C. Database Collection
In one embodiment, the metadata management system 200 includes a database collection 230. The database collection 230 in Figure 2 includes a metadata database 232 and a tree information database 234.
1. Metadata Database The metadata database 232 includes metadata about the audio content data. The metadata may include information such as track name, artist, album, genre, CD track number, length, format, quality, comments, date and/or time last played, date and/or time the track was created, file size, file location, protection flag, as well as other types of information related to the audio file. The metadata may include fields that are used in standards such as, for example, ID3v1, ID3v2, ID3v2.3.0, and so forth, as well as other fields that are created by other parties, by users, by content providers, and so forth. As indicated above, it is also recognized that in other embodiments, the metadata database 232 may manage other types of content data and/or metadata.
In one embodiment, the metadata database 232 includes the metadata as well as the content data. For example, the metadata database 232 may include the audio files as well as the metadata that corresponds to the audio files. In another embodiment, the content data may be stored in a different database and/or only a subset of the content data may be stored in the metadata database 232. It is recognized that the metadata database 232 may be implemented as several separate databases.
2. Tree Information Database
The tree information database 234 includes data about the trees within the master tree 122. This information may include tree types, groupings, node names, node locations, and so forth. For example, the tree information database may include grouping tables that include data about the grouping tree structure wherein the grouping tables include information such as, for example, the names of the nodes, the relationship between nodes, whether the node is a standard node or customized node, and so forth. In addition, the tree information database 234 may include playlist tables that define the various playlists and include information about the playlists such as, for example, data/time created, name of the creator, and so forth. The tree information database 234 may also include node location tables that define the location of nodes in the subtrees and/or the master tree 122.
It is recognized that the tree information database 234 may include other types of information as well. In addition, in other embodiments, the tree information database 234 may be implemented as several separate databases.
3. Additional Embodiments The database collection 230 may also include other databases (not shown) for performing various management tasks. For example, the database collection 230 may include a user preferences database that includes information on the types of audio content and metadata that the user prefers and/or the user's favorite web sites for downloading audio content and metadata. In connection with the database collection 230, in one embodiment, there may be several processes (not shown) such as ID generators, number generators, statistic generators, session generators, and temp storage units that work with the database collection 230.
In one embodiment, the database collection 230 is implemented using CodeBase, a semi-relational database offered by Sequiter. CodeBase is a high-speed xBase-compatible database engine that works with C/C+ +, Visual Basic, Delphi and Java under standalone and client/server environments. It is recognized that the database collection 230 may be implemented using a different type of relational database, such as Sybase, Oracle, Microsoft® SQL Server, and so forth as well as other types of databases such as, for example, a flat file database, an entity- relationship database, and object-oriented database, a record-based database, and so forth.
Moreover, while the database collection 230 depicted in Figure 2 is comprised of several separate databases, it is recognized that in other embodiments, the database collection 230 may contain other databases or some of the databases may be omitted and/or combined. In addition, the database collection 230 may be implemented as a single database with separate tables or as other data structures that are well know in the art such as linked lists, binary trees, and so forth.
In one embodiment, the database collection 230 may be connected to a backend component (not shown) that receives database requests via servlets, small programs that run on servers, and sends a corresponding request to the database collection 230. It is recognized that in other embodiments data access may be performed differently, for example, a different type of backend component may be used, or the database collection 230 may be accessed directly.
IV. Metadata Management Module Processes
The metadata management module 210 illustrated in Figure 2 includes a build process 212, an add node location process 214, a data change process 216, and an add metadata process 218.
A. Build Process
The build process 212 is used to dynamically build a grouping tree that represents a grouping wherein the grouping is a category or a set of categories by which the data may be grouped. For example, one grouping may be Artist while another grouping may be Genre/Artist, and yet another grouping may be Genre/Artist/Album.
For example, Table 1 represents a sample set of audio metadata.
Figure imgf000013_0001
Table 1 The fields are located in the first row and represent categories and the metadata information, also referred to as a category value, is shown in the subsequent rows. For example, the category Track Name has four different category values: Always, Bird, Rhythm, and Speed; and the category Artist has three different category values: A, B, and C.
A tree based on the grouping "Artist" for the data in Table 1 may look like the following, wherein the grouping is "Artist" that includes one category. Artist:
Figure imgf000014_0001
The circles represent categories from the groupings and the squares represent the audio track records which are the leaf nodes of the tree. The top node (or root note of this grouping) represents the grouping name. The next level of nodes represents the category values for the category Artist category. The leaf nodes represent the audio track records (and/or a reference to the records).
To further illustrate, a tree based on the grouping "Genre/Artist" for the data in Table 1 may look like the following, wherein the grouping is "Genre/Artist" that includes two categories, first Genre and second Artist:
Figure imgf000014_0002
The root node represents the grouping name. The next level of nodes under the root node represent the category values for the Genre category and the next level of nodes represent the category values for the Artist category. The leaf nodes represent the audio track records (and/or a reference to the records).
In the next example, a tree based on the grouping "Genre/Artist/Album" for the data in Table 1 may look like the following, wherein the grouping is "Genre/Artist/Album" that includes three categories, first Genre, second Artist, and third Album:
Figure imgf000015_0001
The root node represents the grouping name. The next level of nodes under the root node represent the category values for the Genre category; the next level of nodes represent the category values for the Artist category; the third level of nodes represent the category values for the Album category. The leaf nodes represent the audio track records (and/or a reference to the records).
One embodiment of a build process 212 will now be described with reference to Figure 3, though it is recognized that a variety of methods may be used to implement the build tree process.
The build process 212 begins at a start state 300 and the proceeds to a state 310. In state 310, the build process 212 sorts the data by the first category in the grouping, then by the second category in the grouping, and so forth for each category in the grouping and then proceeds to a state 315. In state 315, beginning with the first record of the sorted data, and continuing until all of the records have been traversed (states 315 and 355), the build process 212 proceeds to a state 320. In state 320, the build process 212 creates a grouping name node as the top of the tree and moves the current location to the top of the tree. Proceeding to a state 325, beginning with the first category in the grouping, and continuing until all of the categories in the grouping have been traversed (states 325 and 345), the build process 212 proceeds to a state 330. In state 330, the build process 212 determines if the category value is already a child node in the tree. If the category value for the current record is not already a child node in the current location of the tree, the build process 212 proceeds to a state 335 and adds the category value as a child node in the current location of the tree and proceeds to a state 340. If the category is already a child node in the current location of the tree, the build process 212 proceeds to state 340. In state 340, the build process 212 moves the current location to the node that represents the category value and proceeds to a state 345. In state 345, the build process 212 returns to state 325 if there are any more categories in the grouping. Once all of the categories in the grouping have been traversed (states 325 and 345), the build process 212 proceeds to a state 350. In state 350, the build process 212 adds the current record to the current node of the tree and proceeds to a state 355. In state 355, the build process 212 returns to state 315 if there are any more records that have not been traversed. Once all of the records have been traversed, the build process 212 proceeds to an end state 360.
As indicated above, it is recognized that other methods of building a grouping tree may also be used. In addition, various methods for improving efficiency may also be used using tools such as recursion and other data management tools that are well-known to those skilled in the art. For example, the build process 212 may build the entire tree first without leaf nodes before adding any of the records. In addition, the build process 212 may recursively add nodes down one path of a tree and then add all records that fall within that path before moving onto the next path of the tree.
It is recognized that the various grouping trees may be combined to form a groupings tree 124, such as, for example, by creating a root node and attaching each of the grouping trees to the root node as a child node. A sample groupings tree 124 that corresponds to the data in Table 1 includes the grouping tree "Artist," the grouping tree "Genre/Artist," and the grouping tree "Genre/Artist/Album" may look like the following:
Figure imgf000016_0002
Figure imgf000016_0001
Figure imgf000016_0003
B. Add Node Location Process
The add node location process 214 is used to track the various locations of nodes in the master tree 122. In one embodiment, as the leaf-nodes are being added to any of the trees to be displayed in the tree window 120, the metadata management module 210 tracks the various locations in which the node is located and stores the data in the tree information database 234. As indicated above, the master tree 122 is preferably an acyclic graph that allows nodes to have multiple parent nodes. Thus, each time a node is added to a tree, the metadata management module 210 tracks and stores the node's location information in a data structure, such as a node location table, though it is recognized that a variety of data structures may be used such as, for example, a list, a tree, an array, a database, and so forth. The node location table may then be stored in the tree information database 234.
Table 2 illustrates a sample node location table that corresponds to the node locations of the example nodes used in the Build Process section above based upon the sample data of Table 1.
Figure imgf000017_0001
Table 2
While Table 2 includes only three locations, it is recognized that in other embodiments, the node location table may include N locations where N is a positive integer. In addition, some nodes may have more locations than others. For example, if the node Speed is in two of the user's playlists and Always is not in the user's playlists, then Speed may have two more locations than Always.
One embodiment of an add node location process 214 will now be described with reference to Figure 4, though it is recognized that a variety of methods may be used to implement an add node location process 214. In one embodiment, the add node location process 214 is executed each time a node is added to any of the trees in the master tree 122. The add node location process 214 begins at a start state 400 and then proceeds to a state 410. In state
410, the add node location process 214 determines whether the node exists in the node location table. If the node does not exist in the node location table, the add node location process 214 adds the node to the node location table in state 420 and proceeds to a state 430. If the node already exists in the node location table, then the node location process proceeds to state 430. In state 430, the add node location process 214 adds the current location of the node to the node's first empty location field in the node location table and proceeds to an end state 440. C. Data Change Process
The data change process 216 is used to dynamically integrate changes into the database collection 230 as well as the master tree 122 and/or the node table 132. As indicated above, the user has access to add, change, or delete data in the tree window 120 and/or the table window 130 and the metadata management module 210 dynamically updates the master tree 122 and the node table 132 to reflect the user's additions, changes, and/or deletions. One embodiment of a data change process 216 is illustrated in Figure 5.
Beginning at a start state 500, the data change process 216 proceeds to a state 510. In state 510, the data change process 216 receives a user's changes to data. For example, a user may reclassify a song from the genre Jazz to the genre New Age by using a mouse to drag the song from the Jazz node to the New Age node. In another example, a user may change the value of a grouping (e.g., rename a grouping) by selecting the grouping and typing in a new value. The user may also create a new playlist by selecting one or more audio tracks and copying them into a playlist node. The user may make the changes using various actions such as, for example, typing and changing any of the fields of information, dragging and dropping one of the nodes into a different grouping, adding a new grouping using the menu system, and so forth. When a user drags one node to a different grouping, the node will then inherit the characteristics of the new grouping (i.e., be reclassified), and the metadata database 232 will be updated accordingly. For example, if the audio track entitled "Always" was located under the Genre/Artist grouping Funk→-B and the user moved it to Pop→A, the Genre value of the "Always" track may be updated to Pop and the Artist value may be updated to B.
The data change process 216 then proceeds to a state 520. In state 520, the data change process 216 updates the database collection 230 (e.g., the metadata database 232 and/or the tree information database 234) with the changes and proceeds to a state 530. In state 530, the data change process 216 determines whether the change was made to a leaf node or a non-leaf node. If the change was made to a non-leaf node, then the data change process 216 proceeds to state 540 wherein for each sub-node (e.g. children, grandchildren, and so forth) of the non-leaf node, the data change process 216 updates the classification or field value that changed and proceeds to a state 550. If the change was made to a leaf node, then the data change process 216 proceeds to state 550. In state 550, beginning with the first leaf node that was changed, and continuing until all of the leaf nodes that were changed (states 550 and 590) are processed, the data change process 216 proceeds to a state 560. In state 560, the data change process 216 looks up the leaf node in the node location table and proceeds to a state 570. In state 570, for each location in the node location table entry, the data change process 216 locates the node in the master tree 122, updates the node and proceeds to a state 580. In state 580, the data change process 216 updates the node location table to reflect any location changes and proceeds to a state 590. In state 590, the data change process 216 returns to state 550 if there are more changed leaf nodes that have not been updated. Once all of the changed leaf nodes have been updated, the data change process 216 proceeds to an end state 595.
It is recognized that in other embodiments, the data change process 216 may be implemented in a different manner. For example, the node location table may be limited to include only those nodes that are displayed in the graphical user interface 220 such that the data change process 216 updates only those nodes that are being displayed in the graphical user interface 220. In other embodiments, the data change process 216 may be implemented without using a node location table.
An additional embodiment of the data change process 216 is illustrated in Figure 6. Beginning at a start state 600 the data change process 216 proceeds to a state 610. In state 610, the data change process 216 receives a user's changes to data and proceeds to a state 620. In state 620, the data change process 216 updates the database collection 230 (e.g., the metadata database 232 and/or the tree information database 234) with the changes and proceeds to a state 630. In state 630, beginning with the root node, and continuing until all of the nodes in the tree (states 630 and 670) are traversed, the data change process 216 proceeds to a state 640. In state 640, the data change process determines whether anything in the node has been changed. If anything in the node has been changed, the data change process proceeds to a state 650 wherein a Node State is set to DIRTY, and proceeds to a state 670. If the node has not been changed, the data change process proceeds to a state 660 wherein the Node
State is set to CLEAN, and proceeds to state 670. In state 670, the data change process 216 returns to state 630 if there are nodes that have not been traversed. Once all of the nodes have been traversed, the data change process 216 proceeds to an end state 680.
Thus, at then end of the process, each node in the tree has been marked as DIRTY or CLEAN. The next time the node is accessed, (e.g., selected by the user), then the node is regenerated to reflect the changes, and the changes are recursively propagated to any of the accessed node's sub-nodes.
It is recognized that in other embodiments, the data change process 216 may be implemented in a different manner. For example, additional, fewer, and/or different states may be used to track the changes to the nodes; a non- recursive process may be implemented; each node in the tree may be regenerated before the node is accessed; and so forth.
It is also recognized that the leaf-nodes may contain references to leaf node data such that when the leaf node data is changed, the changes may be automatically propagated to the other locations in which the leaf node resides.
D. Add Metadata Process
The add metadata process 218 is used to find and add metadata to the metadata database 232. In one embodiment, the add metadata process 218 is triggered if there is no information in the metadata database 232 for an audio track. In other embodiments, the add metadata process 218 may be triggered if there is information in the metadata database 232 for an audio track, but certain portions of the information is missing. In such embodiments, when new data is found that includes data that conflicts with the existing data, the add metadata process 218 may default to overwriting the old data, keeping the old data, keeping the old data only if the user had edited the data, or use other defaults.
One embodiment of an add metadata process 218 is illustrated in Figure 7. The embodiment depicted in Figure 7 looks for data if there is no information in the metadata database 232 for a track and thus, there are no conflicts. As previously indicated, it is recognized that an add metadata process 218 may be implemented using other defaults.
Beginning at a start state 700, the add metadata process 218 proceeds to a state 710. In state 710, the add metadata process 218 determines whether there is information for the designated track in the metadata database 232. The track may be designated using a variety of methods such as, for example, by placing a CD in the CD-ROM drive, by having the user select a group of tracks, by preselecting a group of tracks, and so forth. If there is already information for the designated track in the metadata database 232, the add metadata process 218 proceeds to an end state 770. If the information is not already in the metadata database 232, the add metadata process 218 proceeds to a state 720. In state 720, the add metadata process 218 determines whether the information is located in a local database. The local database may be, for example the CDPIayer.ini file as well as any other database or file of metadata that may be stored on or accessed by the add metadata process 218. If the information is in a local database, the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the information and saves the information in the metadata database 232 and proceeds to the end state 770. If the information is not in the local database, the add metadata process 218 proceeds to a state 730. In state 730, the add metadata process 218 determines whether the information is located with the content data. For example, if the content data is stored on a CD-ROM, then CD-ROM is checked for metadata information. If the content data is stored in an encoded data file such as, for example an MP3 file, the encoded data file is checked for metadata information. If the information is with the content data, the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the information and saves the information in the metadata database 232 and proceeds to the end state 770. If the information is not with the content data, the add metadata process 218 proceeds to a state 740. In state 740, the add metadata process 218 determines whether the information is located in a remote database. For example, the adding data process may contact a remote database of audio metadata and perform a lookup of the designated track(s) to look for and retrieve the corresponding metadata. The corresponding metadata may then be sent to the add metadata process 218. The contact with the remote database may be through a variety of mediums such as, for example, a direct network connection, a dial-up connection, an internet connection, and so forth. If the information is in the remote database, the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the information and saves the information in the metadata database 232 and proceeds to the end state 770. If the information is not in the remote database, the add metadata process 218 proceeds to a state 750. In state 750, the add metadata process 218 queries the user for the information and the add metadata process 218 proceeds to a state 760 wherein the add metadata process 218 obtains a copy of the entered information, saves the information in the metadata database 232, and proceeds to the end state 770.
In one embodiment, the graphical user interface 220 may also be updated each time the metadata database 232 is updated. In addition, it is recognized that a subset of the various checks for data described above may be used. For example, in one embodiment, the add metadata process 218 may only look in a local database and a remote database.
In another embodiment, metadata information may also be added by user-initiated actions. For example, a user may drag and drop a set of metadata information the user received in an e-mail or on a disk into the graphical user interface 220. Furthermore, the user may also initiate the add metadata process 218 wherein the user requests to be queried for information about the metadata. In other embodiments, metadata information may also be added by other processes. For example, if a user downloads a file, the download process may automatically import metadata information into the metadata database 232. In another example, when the user updates the audio playing program, audio playing program may automatically trigger a lookup of any missing metadata information.
V. Conclusion
While certain embodiments of the invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. Accordingly, the breadth and scope of the present invention should be defined in accordance with the following claims and their equivalents.

Claims

WHAT IS CLAIMED IS:
1. A method for dynamically organizing metadata located in a database of metadata for presentation to a user in a display, the method comprising: receiving a plurality of categories of metadata wherein the plurality of categories of metadata represent a hierarchical representation of the metadata; querying a database of metadata to produce a set of metadata query results; arranging the metadata query results in a hierarchical representation of metadata based at least upon a subset of the plurality of categories; and presenting the hierarchical representation of metadata to a user in a display.
2. The method of Claim 1, further comprising: receiving a second plurality of categories of metadata wherein the second plurality of categories of metadata represent a second hierarchical representation of the metadata; arranging the metadata query results in a second hierarchical representation of metadata based at least upon a subset of the second plurality of categories; and presenting the second hierarchical representation of metadata to the user in the display.
3. The method of Claim 1, wherein the hierarchical representation is an acyclic graph.
4. The method of Claim 1 , wherein the metadata is audio metadata.
5. The method of Claim 1, wherein arranging the metadata query results includes processing the metadata query results recursively based at least upon the subset of the plurality of categories.
6. The method of Claim 1, wherein presenting the hierarchical representation to a user includes allowing the user to modify the hierarchical representation.
7. The method of Claim 1, wherein presenting the hierarchical representation to a user includes presenting a set of metadata record information corresponding to at least one location in the hierarchical representation.
8. A method of dynamically updating a display of metadata to a user, the method comprising: storing metadata in a database; displaying a hierarchical representation of a subset of the metadata to a user; receiving a change to at least a portion of the subset of metadata displayed to the user; processing the change to update the corresponding portion of the subset of metadata in the metadata database; determining which portions of the hierarchical representation are affected by the change; updating the portions of the hierarchical representations affected by the change; and displaying the updated hierarchical representation to the user.
9. The method of Claim 8, wherein the hierarchical representation is an acyclic graph.
10. The method of Claim 8, wherein the metadata is audio metadata.
11. The method of Claim 8, wherein determining which portions of the hierarchical representation are affected by the change includes representing the locations of metadata within the hierarchical representation in a metadata location table.
12. A metadata management system used to access, manage, and edit information about content data, the metadata management system comprising: a metadata database configured to include information about content data; a metadata management module configured to access the information about content data in the metadata database; and a graphical user interface configured to communicate with the metadata management module, to dynamically access the information about content data in the metadata database, and to dynamically present an organized grouping of at least a portion of the information about content data for display to a user.
13. A method for presenting metadata in a database, the method comprising: obtaining a hierarchy of category nodes; querying the database for a set of metadata; dynamically arranging the set of metadata in the hierarchy of category nodes; and presenting the set of metadata in the hierarchy of category nodes to a user.
14. A method for presenting metadata in a database, the method comprising: displaying a set of metadata from a metadata database in a hierarchy of category nodes in a display; receiving a change to a portion of the set of metadata; and dynamically updating the display of the set of metadata and the hierarchy of category nodes to reflect the change.
15. The method of Claim 14 further comprising: sending the change to the metadata database.
16. The method of Claim 15 further comprising: updating the metadata database.
17. A method for dynamically presenting metadata in a hierarchical form, the method comprising: executing a search on a database to obtain a set of search results, wherein the database stores metadata; receiving a set of user preferences for viewing the search results wherein the user preferences are based on properties of the metadata; dynamically generating a tree structure based on the search results and' the set of user preferences; dynamically determining a layout of the tree structure; dynamically mapping the search results onto the tree structure based on the layout; and dynamically displaying the tree structure.
18. A method of obtaining information about content data wherein information about content data is stored in a database and displayed in a graphical user interface, the method comprising: obtaining an identifier related to a set of content data; creating a request for information about the set of content data using the identifier; processing the request for information; receiving a set of request information in response to the request for information; storing the set of request information in a database.
19. The method of Claim 18, wherein processing the request for information includes searching for the information in a local database.
20. The method of Claim 18, wherein processing the request for information includes searching for the information in a remote database.
21. The method of Claim 18, wherein processing the request for information includes searching a content data file for the information.
22. The method of Claim 18, wherein processing the request for information includes querying the user for the information.
23. A metadata management system for dynamically organizing metadata located in a database for display to a user, the system comprising: means for storing metadata; means for storing categories of metadata; means for dynamically generating a hierarchical structure of metadata based at least upon the categories of metadata; and means for dynamically displaying to a user the hierarchical structure.
PCT/US2001/012140 2000-04-14 2001-04-13 System and method of managing metadata WO2001079964A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001255361A AU2001255361A1 (en) 2000-04-14 2001-04-13 System and method of managing metadata

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/549,986 US6760721B1 (en) 2000-04-14 2000-04-14 System and method of managing metadata data
US09/549,986 2000-04-14

Publications (2)

Publication Number Publication Date
WO2001079964A2 true WO2001079964A2 (en) 2001-10-25
WO2001079964A3 WO2001079964A3 (en) 2004-02-26

Family

ID=24195244

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/012140 WO2001079964A2 (en) 2000-04-14 2001-04-13 System and method of managing metadata

Country Status (3)

Country Link
US (3) US6760721B1 (en)
AU (1) AU2001255361A1 (en)
WO (1) WO2001079964A2 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2386977A (en) * 2002-03-25 2003-10-01 Sony Uk Ltd API for access to content via metadata
EP1505518A1 (en) * 2002-05-16 2005-02-09 Sony Corporation Information management system, information processing device, information processing method, information processing program, and recording medium
EP1511034A1 (en) * 2003-08-27 2005-03-02 Deutsche Thomson-Brandt Gmbh Method and device for updating a local copy of metadata
WO2005088478A1 (en) * 2004-03-02 2005-09-22 Koninklijke Philips Electronics N.V. Hierarchical broadcast of ui assets
WO2005094158A2 (en) * 2004-03-30 2005-10-13 Kerkego Sl Unipersonal En Constitución Organiser for complex categorisations
JP2007066498A (en) * 2005-08-01 2007-03-15 Sony Corp Information processing apparatus, reproduction apparatus, communication method, reproduction method and computer program
EP1770559A3 (en) * 2005-08-01 2007-07-18 Sony Corporation Information-processing apparatus, reproduction apparatus, communication method, reproduction method and computer programs
AU2005202614B2 (en) * 2004-06-21 2008-06-05 Canon Kabushiki Kaisha Metadata Driven User Interface
WO2008081415A2 (en) * 2006-12-28 2008-07-10 France Telecom Media file server
WO2009001258A2 (en) * 2007-06-22 2008-12-31 Nokia Corporation Apparatus, method and computer-readable storage medium for accessing media content
EP2113850A3 (en) * 2008-04-30 2009-11-11 Ricoh Company, Limited Managing electronic data with index data corresponding to said electronic data and secure access of electronic documents and data from client terminal
US7644364B2 (en) 2005-10-14 2010-01-05 Microsoft Corporation Photo and video collage effects
US7685154B2 (en) 2006-10-13 2010-03-23 Motorola, Inc. Method and system for generating a play tree for selecting and playing media content
US7788301B2 (en) 2004-06-21 2010-08-31 Canon Kabushiki Kaisha Metadata driven user interface
WO2010103176A1 (en) 2009-03-10 2010-09-16 Nokia Corporation Method, apparatus, and software for on-demand content mapping
US8095541B2 (en) 2008-04-30 2012-01-10 Ricoh Company, Ltd. Managing electronic data with index data corresponding to said electronic data
US20140365608A1 (en) * 2007-11-11 2014-12-11 Microsoft Corporation Arrangement for synchronizing media files with portable devices
US9209975B2 (en) 2008-10-15 2015-12-08 Ricoh Company, Ltd. Secure access of electronic documents and data from client terminal
US9213708B2 (en) 2004-06-25 2015-12-15 Apple Inc. Methods and systems for managing data
WO2016183557A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Importation, presentation, and persistent storage of data
EP1934808B1 (en) * 2005-09-12 2017-05-10 Microsoft Technology Licensing, LLC Remoting redirection layer for graphics device interface
US10002154B1 (en) 2017-08-24 2018-06-19 Illumon Llc Computer data system data source having an update propagation graph with feedback cyclicality
US10002005B2 (en) 2014-09-30 2018-06-19 Sonos, Inc. Displaying data related to media content
US10219027B1 (en) 2014-10-24 2019-02-26 Music Choice System for providing music content to a user
US10390092B1 (en) 2002-03-18 2019-08-20 Music Choice Systems and methods for providing an on-demand entertainment service
US10390093B1 (en) 2012-04-26 2019-08-20 Music Choice Automatic on-demand navigation based on meta-data broadcast with media content
US10489044B2 (en) 2005-07-13 2019-11-26 Microsoft Technology Licensing, Llc Rich drag drop user interface

Families Citing this family (484)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120925A1 (en) * 2000-03-28 2002-08-29 Logan James D. Audio and video program recording, editing and playback systems using metadata
US20040248150A1 (en) * 1999-04-02 2004-12-09 Sharat Singh Methods employing oligonucleotide-binding e-tag probes
KR100521937B1 (en) * 2000-02-11 2005-10-13 엘지전자 주식회사 Method for recording audio data on rewritable medium
WO2001067207A2 (en) * 2000-03-09 2001-09-13 The Web Access, Inc. Method and apparatus for organizing data by overlaying a searchable database with a directory tree structure
US6760721B1 (en) 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data
WO2001090949A1 (en) * 2000-05-22 2001-11-29 Realnetworks, Inc. System and method of organizing and editing metadata
CA2379476C (en) * 2000-06-15 2009-11-10 Sony Corporation System and method for processing information using encryption key block
AUPQ921400A0 (en) * 2000-08-04 2000-08-31 Canon Kabushiki Kaisha Method of enabling browse and search access to electronically-accessible multimedia databases
US7277765B1 (en) 2000-10-12 2007-10-02 Bose Corporation Interactive sound reproducing
AU2002243448A1 (en) 2000-10-24 2002-06-24 Singingfish.Com, Inc. Method of sizing an embedded media player page
US8122236B2 (en) 2001-10-24 2012-02-21 Aol Inc. Method of disseminating advertisements using an embedded media player page
US8271333B1 (en) * 2000-11-02 2012-09-18 Yahoo! Inc. Content-related wallpaper
US7925967B2 (en) * 2000-11-21 2011-04-12 Aol Inc. Metadata quality improvement
US20020069412A1 (en) * 2000-12-06 2002-06-06 Ashwin Philips Three-panel display for selecting files
US6928433B2 (en) * 2001-01-05 2005-08-09 Creative Technology Ltd Automatic hierarchical categorization of music by metadata
HK1034417A2 (en) * 2001-02-09 2001-09-28 Lung Kay Man Consultant Ltd A method of inputting text into a data processing apparatus
US20020143976A1 (en) * 2001-03-09 2002-10-03 N2Broadband, Inc. Method and system for managing and updating metadata associated with digital assets
US20030193994A1 (en) * 2001-03-21 2003-10-16 Patrick Stickler Method of managing media components
US7072908B2 (en) 2001-03-26 2006-07-04 Microsoft Corporation Methods and systems for synchronizing visualizations with audio streams
US7278102B2 (en) 2001-03-26 2007-10-02 Microsoft Corporation Methods, system and media players for rendering different media types
US20040019658A1 (en) * 2001-03-26 2004-01-29 Microsoft Corporation Metadata retrieval protocols and namespace identifiers
US20020138593A1 (en) * 2001-03-26 2002-09-26 Novak Michael J. Methods and systems for retrieving, organizing, and playing media content
US7191190B2 (en) * 2001-03-27 2007-03-13 Microsoft Corporation Meta data management for media content objects
US7499922B1 (en) * 2001-04-26 2009-03-03 Dakota Software Corp. Information retrieval system and method
CA2448262A1 (en) * 2001-05-25 2002-12-05 N2 Broadband, Inc. System and method for scheduling the distribution of assets from multiple asset providers to multiple receivers
US8024766B2 (en) * 2001-08-01 2011-09-20 Ericsson Television, Inc. System and method for distributing network-based personal video
US6947947B2 (en) * 2001-08-17 2005-09-20 Universal Business Matrix Llc Method for adding metadata to data
US20030056010A1 (en) * 2001-09-20 2003-03-20 Koninklijke Philips Electronics N.V. Downstream metadata altering
AUPR796801A0 (en) * 2001-09-27 2001-10-25 Plugged In Communications Pty Ltd Computer user interface tool for navigation of data stored in directed graphs
EP1298539A1 (en) * 2001-10-01 2003-04-02 Sun Microsystems, Inc. Method and device for marking and filtering data elements in a database
US7594172B2 (en) * 2001-10-10 2009-09-22 Fish Robert D Data storage using spreadsheet and metatags
US20030167318A1 (en) * 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
KR100718613B1 (en) 2001-10-22 2007-05-16 애플 인크. Intelligent synchronization for a media player
US6993748B2 (en) * 2001-10-26 2006-01-31 Capital One Financial Corporation Systems and methods for table driven automation testing of software programs
US7043479B2 (en) * 2001-11-16 2006-05-09 Sigmatel, Inc. Remote-directed management of media content
US20040064500A1 (en) * 2001-11-20 2004-04-01 Kolar Jennifer Lynn System and method for unified extraction of media objects
US20030151632A1 (en) * 2002-02-11 2003-08-14 Ryu Seh M. User interface system for applying decision values to objects
US7096234B2 (en) * 2002-03-21 2006-08-22 Microsoft Corporation Methods and systems for providing playlists
US6941324B2 (en) * 2002-03-21 2005-09-06 Microsoft Corporation Methods and systems for processing playlists
US7159000B2 (en) 2002-03-21 2007-01-02 Microsoft Corporation Methods and systems for repairing playlists
US7220910B2 (en) * 2002-03-21 2007-05-22 Microsoft Corporation Methods and systems for per persona processing media content-associated metadata
GB2386978B (en) * 2002-03-25 2007-03-28 Sony Uk Ltd Data communications network
US20030187820A1 (en) 2002-03-29 2003-10-02 Michael Kohut Media management system and process
US7302435B2 (en) * 2002-03-29 2007-11-27 Sony Corporation Media storage and management system and process
US7680849B2 (en) * 2004-10-25 2010-03-16 Apple Inc. Multiple media type synchronization between host computer and media device
US8150937B2 (en) 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
US7827259B2 (en) 2004-04-27 2010-11-02 Apple Inc. Method and system for configurable automatic media selection
US9412417B2 (en) 2002-04-05 2016-08-09 Apple Inc. Persistent group of media items for a media device
US9715500B2 (en) 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
US7797446B2 (en) 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
US20030208493A1 (en) * 2002-04-12 2003-11-06 Hall Bradley S. Object relational database management system
US20030195750A1 (en) * 2002-04-16 2003-10-16 Sonicblue, Inc. Content information as spoken audio
US8285111B2 (en) * 2002-04-19 2012-10-09 Tivo Inc. Method and apparatus for creating an enhanced photo digital video disc
US20030233349A1 (en) * 2002-06-14 2003-12-18 Microsoft Corporation Media player system
US7065527B2 (en) 2002-06-26 2006-06-20 Microsoft Corporation Systems and methods of optimizing metadata publishing system updates by alternating databases
US20040002993A1 (en) * 2002-06-26 2004-01-01 Microsoft Corporation User feedback processing of metadata associated with digital media files
US6990656B2 (en) * 2002-06-27 2006-01-24 Microsoft Corporation Dynamic metabase store
US7956272B2 (en) * 2002-07-30 2011-06-07 Apple Inc. Management of files in a personal communication device
US7166791B2 (en) 2002-07-30 2007-01-23 Apple Computer, Inc. Graphical user interface and methods of use thereof in a multimedia player
US7136866B2 (en) * 2002-08-15 2006-11-14 Microsoft Corporation Media identifier registry
US8335779B2 (en) 2002-08-16 2012-12-18 Gamroe Applications, Llc Method and apparatus for gathering, categorizing and parameterizing data
US7707231B2 (en) * 2002-10-16 2010-04-27 Microsoft Corporation Creating standardized playlists and maintaining coherency
US7136874B2 (en) * 2002-10-16 2006-11-14 Microsoft Corporation Adaptive menu system for media players
US7043477B2 (en) * 2002-10-16 2006-05-09 Microsoft Corporation Navigating media content via groups within a playlist
US7668842B2 (en) 2002-10-16 2010-02-23 Microsoft Corporation Playlist structure for large playlists
US20060026376A1 (en) * 2002-10-16 2006-02-02 Microsoft Corporation Retrieving graphics from slow retrieval storage devices
US7054888B2 (en) * 2002-10-16 2006-05-30 Microsoft Corporation Optimizing media player memory during rendering
US7853554B2 (en) * 2002-11-12 2010-12-14 Oracle International Corporation Method and system for metadata reconciliation in a data warehouse
US20050192934A1 (en) * 2003-03-31 2005-09-01 Steven Ellis Custom media search tool
AU2003293240A1 (en) * 2002-12-02 2004-06-23 Matsushita Electric Industrial Co., Ltd. Portable device for viewing real-time synchronized information from broadcasting sources
US20050055375A1 (en) * 2002-12-13 2005-03-10 Yasuyuki Torii Recording and reproducing system, recording apparatus, reproducing apparatus, record medium, recording and reproducing method, recording method, reproducing method, program and record medium
JP2004264895A (en) * 2003-02-05 2004-09-24 Sony Corp Information processor and processing method, and program
US20060167804A1 (en) * 2003-02-25 2006-07-27 Ali Aydar Track listening and playing service for digital media files
US20060167807A1 (en) * 2003-02-25 2006-07-27 Ali Aydar Dispute resolution in an open copyright database
US20060294371A1 (en) * 2003-02-25 2006-12-28 Shawn Fanning Content Regulation
US20060167813A1 (en) * 2003-02-25 2006-07-27 Ali Aydar Managing digital media rights through missing masters lists
US8117130B2 (en) * 2003-02-25 2012-02-14 Stragent, Llc Batch loading and self-registration of digital media files
US20060167882A1 (en) * 2003-02-25 2006-07-27 Ali Aydar Digital rights management system architecture
US7085752B2 (en) * 2003-03-12 2006-08-01 Microsoft Corporation Customization of metadata describing objects in a computing environment
US7505958B2 (en) * 2004-09-30 2009-03-17 International Business Machines Corporation Metadata management for a data abstraction model
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7669129B2 (en) * 2003-04-04 2010-02-23 Avid Technology, Inc. Graphical user interface for providing editing of transform hierarchies within an effects tree
US9406068B2 (en) * 2003-04-25 2016-08-02 Apple Inc. Method and system for submitting media for network-based purchase and distribution
CN101699505B (en) 2003-04-25 2016-02-17 苹果公司 A kind of network media system
US7512622B2 (en) * 2003-06-11 2009-03-31 Yahoo! Inc. Method and apparatus for organizing and playing data
US7734568B2 (en) * 2003-06-26 2010-06-08 Microsoft Corporation DVD metadata wizard
US20040267715A1 (en) * 2003-06-26 2004-12-30 Microsoft Corporation Processing TOC-less media content
US7434170B2 (en) * 2003-07-09 2008-10-07 Microsoft Corporation Drag and drop metadata editing
US7392477B2 (en) * 2003-07-18 2008-06-24 Microsoft Corporation Resolving metadata matched to media content
US20050015389A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Intelligent metadata attribute resolution
US7313591B2 (en) * 2003-07-18 2007-12-25 Microsoft Corporation Methods, computer readable mediums and systems for requesting, retrieving and delivering metadata pages
US7650563B2 (en) * 2003-07-18 2010-01-19 Microsoft Corporation Aggregating metadata for media content from multiple devices
US20050015405A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Multi-valued properties
US7606925B2 (en) * 2003-09-02 2009-10-20 Microsoft Corporation Video delivery workflow
US7546288B2 (en) 2003-09-04 2009-06-09 Microsoft Corporation Matching media file metadata to standardized metadata
US20050071736A1 (en) * 2003-09-26 2005-03-31 Fuji Xerox Co., Ltd. Comprehensive and intuitive media collection and management tool
US7844548B2 (en) * 2003-10-15 2010-11-30 Apple Inc. Techniques and systems for electronic submission of media for network-based distribution
US7644446B2 (en) * 2003-10-23 2010-01-05 Microsoft Corporation Encryption and data-protection for content on portable medium
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7568209B1 (en) 2003-11-14 2009-07-28 Tanderberg Television, Inc. Method and system for the management of targeted material insertion using a campaign manager
US7900140B2 (en) * 2003-12-08 2011-03-01 Microsoft Corporation Media processing methods, systems and application program interfaces
JP4822663B2 (en) * 2003-12-12 2011-11-24 ソニー株式会社 Information processing apparatus and method, and program
US20050177616A1 (en) * 2003-12-19 2005-08-11 N2 Broadband, Inc. Method and system for distributing services in a digital asset environment
US7457955B2 (en) * 2004-01-14 2008-11-25 Brandmail Solutions, Inc. Method and apparatus for trusted branded email
US7376644B2 (en) * 2004-02-02 2008-05-20 Ram Consulting Inc. Knowledge portal for accessing, analyzing and standardizing data
US20070162394A1 (en) 2004-02-12 2007-07-12 Iconix, Inc. Rapid identification of message authentication
US8073910B2 (en) * 2005-03-03 2011-12-06 Iconix, Inc. User interface for email inbox to call attention differently to different classes of email
US7934159B1 (en) * 2004-02-19 2011-04-26 Microsoft Corporation Media timeline
US7941739B1 (en) 2004-02-19 2011-05-10 Microsoft Corporation Timeline source
JP2005267559A (en) * 2004-03-22 2005-09-29 Sony Corp Recording and playback device, information transfer managing method, and recording medium
US20050238314A1 (en) * 2004-03-30 2005-10-27 Sako Asayama Recording system, recording apparatus, recording method, recording program and recording medium
US20080235274A1 (en) * 2004-03-31 2008-09-25 Denso It Laboratory, Inc. Program Table Creation Method, Program Table Creation Device, and Program Table Creation System
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
KR100561435B1 (en) * 2004-05-07 2006-03-17 삼성전자주식회사 Method and apparatus for synchronizing between metadata and storing media thereof
JP2005346747A (en) * 2004-05-31 2005-12-15 Pioneer Electronic Corp Information reproduction device
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US20050289107A1 (en) * 2004-06-25 2005-12-29 Yan Arrouye Methods and systems for managing data
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
AU2014256381B2 (en) * 2004-06-25 2016-03-24 Apple Inc. Methods and systems for managing data
US7774326B2 (en) * 2004-06-25 2010-08-10 Apple Inc. Methods and systems for managing data
US7437358B2 (en) 2004-06-25 2008-10-14 Apple Inc. Methods and systems for managing data
US9098476B2 (en) * 2004-06-29 2015-08-04 Microsoft Technology Licensing, Llc Method and system for mapping between structured subjects and observers
JP4615262B2 (en) * 2004-06-30 2011-01-19 ソニー株式会社 Playback apparatus and method
US7904488B2 (en) 2004-07-21 2011-03-08 Rockwell Automation Technologies, Inc. Time stamp methods for unified plant model
US7590997B2 (en) 2004-07-30 2009-09-15 Broadband Itv, Inc. System and method for managing, converting and displaying video content on a video-on-demand platform, including ads used for drill-down navigation and consumer-generated classified ads
US7631336B2 (en) 2004-07-30 2009-12-08 Broadband Itv, Inc. Method for converting, navigating and displaying video content uploaded from the internet to a digital TV video-on-demand platform
US9584868B2 (en) 2004-07-30 2017-02-28 Broadband Itv, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11259059B2 (en) 2004-07-30 2022-02-22 Broadband Itv, Inc. System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US8261246B1 (en) 2004-09-07 2012-09-04 Apple Inc. Method and system for dynamically populating groups in a developer environment
US8694532B2 (en) * 2004-09-17 2014-04-08 First American Data Co., Llc Method and system for query transformation for managing information from multiple datasets
US9189756B2 (en) * 2004-09-21 2015-11-17 International Business Machines Corporation Case management system and method for collaborative project teaming
US8756521B1 (en) 2004-09-30 2014-06-17 Rockwell Automation Technologies, Inc. Systems and methods for automatic visualization configuration
US7752548B2 (en) * 2004-10-29 2010-07-06 Microsoft Corporation Features such as titles, transitions, and/or effects which vary according to positions
JP2006134102A (en) * 2004-11-05 2006-05-25 Fuji Xerox Co Ltd Program, method and apparatus for supporting directory edition
US20070162508A1 (en) * 2004-11-08 2007-07-12 Mazzagatti Jane C Updating information in an interlocking trees datastore
NZ536931A (en) * 2004-12-01 2005-12-23 Simplicity Technologies Ltd A data editor
JP4600017B2 (en) * 2004-12-02 2010-12-15 セイコーエプソン株式会社 User interface device, printing device, selection display method and program thereof
CN101366052A (en) * 2004-12-02 2009-02-11 普罗维登特知识产权有限公司 Providing purchasing opportunities for performances
WO2006069226A2 (en) * 2004-12-20 2006-06-29 Snocap, Inc. Digital media file identification
US8842977B2 (en) 2005-01-07 2014-09-23 Samsung Electronics Co., Ltd. Storage medium storing metadata for providing enhanced search function
US11314378B2 (en) 2005-01-07 2022-04-26 Apple Inc. Persistent group of media items for a media device
KR100782810B1 (en) * 2005-01-07 2007-12-06 삼성전자주식회사 Apparatus and method of reproducing an storage medium having metadata for providing enhanced search
US7958441B2 (en) 2005-01-07 2011-06-07 Apple Inc. Media management for groups of media items
US20060162546A1 (en) * 2005-01-21 2006-07-27 Sanden Corporation Sealing member of a compressor
US20060174216A1 (en) * 2005-01-28 2006-08-03 Trenten Peterson Providing additional hierarchical information for an object displayed in a tree view in a hierarchical relationship with other objects
US7647419B2 (en) * 2005-02-02 2010-01-12 Sharp Laboratories Of America, Inc. Client-side virtual radio station
US20060184576A1 (en) * 2005-02-17 2006-08-17 Microsoft Corporation System and method for extensible metadata architecture for digital images
US20060184554A1 (en) * 2005-02-17 2006-08-17 Microsoft Corporation System and method for extensible metadata architecture for digital images using in-place editing
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US8266188B2 (en) * 2005-03-08 2012-09-11 Ca, Inc. Method and system for extracting structural information from a data file
US7756388B2 (en) * 2005-03-21 2010-07-13 Microsoft Corporation Media item subgroup generation from a library
US20060218187A1 (en) * 2005-03-25 2006-09-28 Microsoft Corporation Methods, systems, and computer-readable media for generating an ordered list of one or more media items
US20060224635A1 (en) * 2005-03-31 2006-10-05 International Business Machines Corporation Method, system and program product for handling organizational changes
US7533091B2 (en) * 2005-04-06 2009-05-12 Microsoft Corporation Methods, systems, and computer-readable media for generating a suggested list of media items based upon a seed
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
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
US8195646B2 (en) * 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US7676281B2 (en) 2005-05-13 2010-03-09 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
US8799800B2 (en) 2005-05-13 2014-08-05 Rockwell Automation Technologies, Inc. Automatic user interface generation
US7809683B2 (en) 2005-05-13 2010-10-05 Rockwell Automation Technologies, Inc. Library that includes modifiable industrial automation objects
US7650405B2 (en) 2005-05-13 2010-01-19 Rockwell Automation Technologies, Inc. Tracking and tracing across process boundaries in an industrial automation environment
US7672737B2 (en) 2005-05-13 2010-03-02 Rockwell Automation Technologies, Inc. Hierarchically structured data model for utilization in industrial automation environments
KR101070748B1 (en) * 2005-05-19 2011-10-10 엘지전자 주식회사 Method for providing file information of MP3 player
US20060271855A1 (en) * 2005-05-27 2006-11-30 Microsoft Corporation Operating system shell management of video files
US7716250B1 (en) * 2005-05-27 2010-05-11 Microsoft Corporation Erasure coding and group computations using rooted binary and ternary trees
US7890513B2 (en) * 2005-06-20 2011-02-15 Microsoft Corporation Providing community-based media item ratings to users
JP4556789B2 (en) 2005-07-07 2010-10-06 ソニー株式会社 Playback apparatus, playback method, and playback program
US20070016530A1 (en) * 2005-07-15 2007-01-18 Christopher Stasi Multi-media file distribution system and method
US7580932B2 (en) * 2005-07-15 2009-08-25 Microsoft Corporation User interface for establishing a filtering engine
JP4412269B2 (en) 2005-07-28 2010-02-10 ソニー株式会社 Electronic device, display processing method and program
JP2007042204A (en) * 2005-08-02 2007-02-15 Sony Corp Reproducing apparatus, time limit notification method, and time limit notification program
US7636509B2 (en) * 2005-08-04 2009-12-22 Microsoft Corporation Media data representation and management
US7680824B2 (en) * 2005-08-11 2010-03-16 Microsoft Corporation Single action media playlist generation
US7681238B2 (en) * 2005-08-11 2010-03-16 Microsoft Corporation Remotely accessing protected files via streaming
US20070048714A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US7831605B2 (en) 2005-08-12 2010-11-09 Microsoft Corporation Media player service library
US20070048713A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US9626366B2 (en) * 2005-08-26 2017-04-18 Imagine Communications Corp. 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
US8176101B2 (en) * 2006-02-07 2012-05-08 Google Inc. Collaborative rejection of media for physical establishments
US7881812B2 (en) * 2005-09-29 2011-02-01 Rockwell Automation Technologies, Inc. Editing and configuring device
US7548789B2 (en) 2005-09-29 2009-06-16 Rockwell Automation Technologies, Inc. Editing lifecycle and deployment of objects in an industrial automation environment
US7801628B2 (en) 2005-09-30 2010-09-21 Rockwell Automation Technologies, Inc. Industrial operator interfaces interacting with higher-level business workflow
US8484250B2 (en) 2005-09-30 2013-07-09 Rockwell Automation Technologies, Inc. Data federation with industrial control systems
US7660638B2 (en) 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Business process execution engine
US7734590B2 (en) 2005-09-30 2010-06-08 Rockwell Automation Technologies, Inc. Incremental association of metadata to production data
US7526794B2 (en) * 2005-09-30 2009-04-28 Rockwell Automation Technologies, Inc. Data perspectives in controller system and production management systems
US8275680B2 (en) * 2005-09-30 2012-09-25 Rockwell Automation Technologies, Inc. Enabling transactional mechanisms in an automated controller system
US7688686B2 (en) * 2005-10-27 2010-03-30 Microsoft Corporation Enhanced table of contents (TOC) identifiers
US20070099164A1 (en) * 2005-10-31 2007-05-03 Marcus Philipp Systems and methods for versioning course content in an electronic learning system
US10324899B2 (en) * 2005-11-07 2019-06-18 Nokia Technologies Oy Methods for characterizing content item groups
US7546549B2 (en) * 2005-11-15 2009-06-09 Microsoft Corporation Constrained creation of data hierarchies
US8949455B2 (en) * 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
US7747579B2 (en) 2005-11-28 2010-06-29 Commvault Systems, Inc. Metabase for facilitating data classification
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7712094B2 (en) * 2005-12-22 2010-05-04 Alan Joshua Shapiro Method and apparatus for replicating a panoplex onto a storage medium from a master
US20070150478A1 (en) * 2005-12-23 2007-06-28 Microsoft Corporation Downloading data packages from information services based on attributes
US7685210B2 (en) * 2005-12-30 2010-03-23 Microsoft Corporation Media discovery and curation of playlists
US7761586B2 (en) * 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US20070203898A1 (en) * 2006-02-24 2007-08-30 Jonathan Lurie Carmona Search methods and systems
US7765245B2 (en) * 2006-03-29 2010-07-27 Universal Electronics Inc. System and methods for enhanced metadata entry
US20070244856A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Media Search Scope Expansion
JP4656428B2 (en) * 2006-04-26 2011-03-23 ソニー株式会社 Content processing apparatus and method, and program
KR100714727B1 (en) * 2006-04-27 2007-05-04 삼성전자주식회사 Browsing apparatus of media contents using meta data and method using the same
US7475078B2 (en) * 2006-05-30 2009-01-06 Microsoft Corporation Two-way synchronization of media data
US8762418B1 (en) * 2006-05-31 2014-06-24 Oracle America, Inc. Metadata that allows refiltering and data reclassification without accessing the data
US7945142B2 (en) * 2006-06-15 2011-05-17 Microsoft Corporation Audio/visual editing tool
US9633356B2 (en) 2006-07-20 2017-04-25 Aol Inc. Targeted advertising for playlists based upon search queries
US20080033919A1 (en) * 2006-08-04 2008-02-07 Yan Arrouye Methods and systems for managing data
US8104048B2 (en) * 2006-08-04 2012-01-24 Apple Inc. Browsing or searching user interfaces and other aspects
US8442936B2 (en) 2006-08-11 2013-05-14 Nicolas Bissantz System for generating a table
JP2008047017A (en) * 2006-08-21 2008-02-28 Sony Corp Information processor, processing method, and program
US8099665B2 (en) * 2006-09-11 2012-01-17 Apple Inc. Organizing and sorting media menu items
US20080091771A1 (en) * 2006-10-13 2008-04-17 Microsoft Corporation Visual representations of profiles for community interaction
US7783641B2 (en) * 2006-10-26 2010-08-24 Microsoft Corporation Taxonometric personal digital media organization
KR100886337B1 (en) * 2006-11-23 2009-03-02 삼성전자주식회사 Apparatus for simultaneously saving the areas selected on image and apparatus for making documents by automatically recording image informations
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
US20080154907A1 (en) * 2006-12-22 2008-06-26 Srikiran Prasad Intelligent data retrieval techniques for synchronization
US8631088B2 (en) 2007-01-07 2014-01-14 Apple Inc. Prioritized data synchronization with host device
US8850140B2 (en) 2007-01-07 2014-09-30 Apple Inc. Data backup for mobile device
US20080168185A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Data Synchronization with Host Device in Accordance with Synchronization Preferences
CA2680118A1 (en) * 2007-03-16 2008-09-25 Nigel Waites Improved boot in a media player with external memory
US20080235217A1 (en) * 2007-03-16 2008-09-25 Sharma Yugal K System and method for creating, verifying and integrating metadata for audio/video files
US8677270B2 (en) * 2007-05-04 2014-03-18 Microsoft Corporation Live companion user interface
US8201096B2 (en) 2007-06-09 2012-06-12 Apple Inc. Browsing or searching user interfaces and other aspects
US8185839B2 (en) 2007-06-09 2012-05-22 Apple Inc. Browsing or searching user interfaces and other aspects
US8819080B2 (en) * 2007-06-13 2014-08-26 The Boeing Company System and method for collection, retrieval, and distribution of data
US8954507B2 (en) * 2007-06-22 2015-02-10 Microsoft Corporation Gathering and using awareness information
US9654833B2 (en) 2007-06-26 2017-05-16 Broadband Itv, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11570521B2 (en) 2007-06-26 2023-01-31 Broadband Itv, Inc. Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8655919B2 (en) * 2007-07-30 2014-02-18 International Business Machines Corporation Storage system and method for updating a hash tree
US8069404B2 (en) 2007-08-22 2011-11-29 Maya-Systems Inc. Method of managing expected documents and system providing same
US8601392B2 (en) 2007-08-22 2013-12-03 9224-5489 Quebec Inc. Timeline for presenting information
EP2031819A1 (en) * 2007-09-03 2009-03-04 British Telecommunications Public Limited Company Distributed system
US8046369B2 (en) 2007-09-04 2011-10-25 Apple Inc. Media asset rating system
KR20090025607A (en) * 2007-09-06 2009-03-11 삼성전자주식회사 Method for updating a metadata of contents and apparatus therefor
US7801908B2 (en) * 2007-09-19 2010-09-21 Accenture Global Services Gmbh Data mapping design tool
US7801884B2 (en) * 2007-09-19 2010-09-21 Accenture Global Services Gmbh Data mapping document design system
US20090083336A1 (en) * 2007-09-26 2009-03-26 Microsoft Corporation Search based data management
US9058337B2 (en) * 2007-10-22 2015-06-16 Apple Inc. Previewing user interfaces and other aspects
US8285761B2 (en) * 2007-10-26 2012-10-09 Microsoft Corporation Aggregation of metadata associated with digital media files
US8903842B2 (en) 2007-10-26 2014-12-02 Microsoft Corporation Metadata driven reporting and editing of databases
US20090112870A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Management of distributed storage
US20090182750A1 (en) * 2007-11-13 2009-07-16 Oracle International Corporation System and method for flash folder access to service metadata in a metadata repository
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US8315950B2 (en) * 2007-12-31 2012-11-20 Sandisk Technologies Inc. Powerfully simple digital media player and methods for use therewith
US8219534B2 (en) * 2008-02-27 2012-07-10 Dell Products L.P. Multiple file compaction for network attached storage
US8224831B2 (en) * 2008-02-27 2012-07-17 Dell Products L.P. Virtualization of metadata for file optimization
CA2657835C (en) * 2008-03-07 2017-09-19 Mathieu Audet Documents discrimination system and method thereof
US8229976B2 (en) * 2008-03-27 2012-07-24 Microsoft Corporation Data binding for XML schemas
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8289688B2 (en) 2008-04-01 2012-10-16 Litl, Llc Portable computer with multiple display configurations
US9003315B2 (en) 2008-04-01 2015-04-07 Litl Llc System and method for streamlining user interaction with electronic content
US8612888B2 (en) 2008-04-01 2013-12-17 Litl, Llc Method and apparatus for managing digital media content
US20090276402A1 (en) 2008-05-01 2009-11-05 Mobitv, Inc. Search system using media metadata tracks
US20090313432A1 (en) * 2008-06-13 2009-12-17 Spence Richard C Memory device storing a plurality of digital media files and playlists
US8713026B2 (en) * 2008-06-13 2014-04-29 Sandisk Technologies Inc. Method for playing digital media files with a digital media player using a plurality of playlists
JP2009301335A (en) * 2008-06-13 2009-12-24 Ricoh Co Ltd Image processing device, image processing method and computer program
US20090327295A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Maintenance of exo-file system metadata on removable storage device
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US20100031170A1 (en) * 2008-07-29 2010-02-04 Vittorio Carullo Method and System for Managing Metadata Variables in a Content Management System
US20100106551A1 (en) * 2008-10-24 2010-04-29 Oskari Koskimies Method, system, and apparatus for process management
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8230357B2 (en) * 2008-12-18 2012-07-24 Microsoft Corporation Visually processing instance data
US8091016B2 (en) * 2008-12-18 2012-01-03 Microsoft Corporation Visually manipulating instance collections
US20100162120A1 (en) * 2008-12-18 2010-06-24 Derek Niizawa Digital Media Player User Interface
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9286362B2 (en) * 2009-09-25 2016-03-15 International Business Machines Corporation System and method to customize metadata for different users running on the same infrastructure
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9285799B2 (en) * 2009-11-23 2016-03-15 Fisher-Rosemount Systems, Inc. Methods and apparatus to dynamically display data associated with a process control system
US8682145B2 (en) 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US8689142B2 (en) * 2009-12-04 2014-04-01 Nokia Corporation Method and apparatus for providing media content searching capabilities
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8484401B2 (en) 2010-04-15 2013-07-09 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US9392072B2 (en) 2010-04-15 2016-07-12 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US8984533B2 (en) 2010-04-15 2015-03-17 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US20110289121A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Metadata modifier and manager
US20120124029A1 (en) * 2010-08-02 2012-05-17 Shashi Kant Cross media knowledge storage, management and information discovery and retrieval
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8817053B2 (en) 2010-09-30 2014-08-26 Apple Inc. Methods and systems for opening a file
US11265510B2 (en) 2010-10-22 2022-03-01 Litl Llc Video integration
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8473507B2 (en) 2011-01-14 2013-06-25 Apple Inc. Tokenized search suggestions
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
US9058093B2 (en) 2011-02-01 2015-06-16 9224-5489 Quebec Inc. Active element
US9646013B2 (en) 2011-02-16 2017-05-09 Docbert Llc System and method for file management
US8180814B1 (en) 2011-02-16 2012-05-15 Docbert, LLC System and method for file management
US8719264B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Creating secondary copies of data based on searches for content
CA3089869C (en) 2011-04-11 2022-08-16 Evertz Microsystems Ltd. Methods and systems for network based video clip generation and management
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9230549B1 (en) 2011-05-18 2016-01-05 The United States Of America As Represented By The Secretary Of The Air Force Multi-modal communications (MMC)
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
WO2013009328A2 (en) 2011-07-08 2013-01-17 Box.Net, Inc. Collaboration sessions in a workspace on cloud-based content management system
EP2729877A4 (en) 2011-07-08 2015-06-17 Box Inc Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US8495064B2 (en) 2011-09-08 2013-07-23 Microsoft Corporation Management of metadata for life cycle assessment data
US20130067346A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Content User Experience
US8849996B2 (en) 2011-09-12 2014-09-30 Microsoft Corporation Efficiently providing multiple metadata representations of the same type
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
CA2790799C (en) 2011-09-25 2023-03-21 Mathieu Audet Method and apparatus of navigating information element axes
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US11210610B2 (en) 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) * 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
US9396216B2 (en) 2012-05-04 2016-07-19 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US9519693B2 (en) 2012-06-11 2016-12-13 9224-5489 Quebec Inc. Method and apparatus for displaying data element axes
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9646080B2 (en) 2012-06-12 2017-05-09 9224-5489 Quebec Inc. Multi-functions axis-based interface
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
CN104756067A (en) * 2012-10-08 2015-07-01 约翰·班缇沃格里欧 Method and system for managing metadata
JP5982343B2 (en) 2012-10-17 2016-08-31 ボックス インコーポレイテッドBox, Inc. Remote key management in a cloud-based environment
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
JP5892040B2 (en) 2012-11-01 2016-03-23 富士ゼロックス株式会社 Information processing apparatus and program
US9871842B2 (en) 2012-12-08 2018-01-16 Evertz Microsystems Ltd. Methods and systems for network based video clip processing and management
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
US10599671B2 (en) 2013-01-17 2020-03-24 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US10095785B2 (en) 2013-09-30 2018-10-09 Sonos, Inc. Audio content search in a media playback system
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US20220391368A1 (en) * 2014-05-05 2022-12-08 Aveva Software, Llc Cryptography system for using associated values stored in different locations to encode and decode data
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US20160070789A1 (en) * 2014-09-05 2016-03-10 Next Audio Labs, Llc System, method and software product for sorting audio data and playlist cloning
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9268465B1 (en) * 2015-03-31 2016-02-23 Guguly Corporation Social media system and methods for parents
US20160295256A1 (en) * 2015-03-31 2016-10-06 Microsoft Technology Licensing, Llc Digital content streaming from digital tv broadcast
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
JP2016218967A (en) * 2015-05-26 2016-12-22 富士ゼロックス株式会社 Information processing device, and information processing program
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10007713B2 (en) * 2015-10-15 2018-06-26 Disney Enterprises, Inc. Metadata extraction and management
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
SE544816C2 (en) * 2015-11-25 2022-11-29 Teamifier Inc Apparatuses for graphically representing a reconfigured portion of a directed acyclic graph as a hierarchical tree structure
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10437798B2 (en) 2016-07-19 2019-10-08 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10540098B2 (en) 2016-07-19 2020-01-21 Sap Se Workload-aware page management for in-memory databases in hybrid main memory systems
US10474557B2 (en) 2016-07-19 2019-11-12 Sap Se Source code profiling for line-level latency and energy consumption estimation
US10783146B2 (en) 2016-07-19 2020-09-22 Sap Se Join operations in hybrid main memory systems
US10698732B2 (en) 2016-07-19 2020-06-30 Sap Se Page ranking in operating system virtual pages in hybrid memory systems
US10387127B2 (en) 2016-07-19 2019-08-20 Sap Se Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases
US10452539B2 (en) 2016-07-19 2019-10-22 Sap Se Simulator for enterprise-scale simulations on hybrid main memory systems
US10083183B2 (en) * 2016-07-19 2018-09-25 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10534828B2 (en) * 2016-08-12 2020-01-14 Kiddy Up LLC System and method for collection and storage of community information
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US10984041B2 (en) 2017-05-11 2021-04-20 Commvault Systems, Inc. Natural language processing integrated with database and data storage management
CA3007166A1 (en) 2017-06-05 2018-12-05 9224-5489 Quebec Inc. Method and apparatus of aligning information element axes
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10572108B2 (en) * 2017-07-20 2020-02-25 Vmware, Inc. Hierarchical inventory tree operation
US11010379B2 (en) 2017-08-15 2021-05-18 Sap Se Increasing performance of in-memory databases using re-ordered query execution plans
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation
US11159469B2 (en) 2018-09-12 2021-10-26 Commvault Systems, Inc. Using machine learning to modify presentation of mailbox objects
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
US20230195689A1 (en) * 2021-12-22 2023-06-22 Atlassian Pty Ltd. Managing archiving and unarchiving operations at a content collaboration system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0239917A3 (en) * 1986-03-29 1989-03-29 Yamaha Corporation Automatic sound player system having acoustic and electronic sound sources
US5153829A (en) * 1987-11-11 1992-10-06 Canon Kabushiki Kaisha Multifunction musical information processing apparatus
US4984103A (en) * 1987-12-07 1991-01-08 Fujitsu America, Inc. Method for reading/writing for a floppy disc drive with buffer memory
AU633828B2 (en) * 1988-12-05 1993-02-11 Ricos Co., Ltd. Apparatus for reproducing music and displaying words
US5142961A (en) * 1989-11-07 1992-09-01 Fred Paroutaud Method and apparatus for stimulation of acoustic musical instruments
US5262940A (en) * 1990-08-23 1993-11-16 Lester Sussman Portable audio/audio-visual media tracking device
US5963916A (en) * 1990-09-13 1999-10-05 Intouch Group, Inc. Network apparatus and method for preview of music products and compilation of market data
US5208421A (en) * 1990-11-01 1993-05-04 International Business Machines Corporation Method and apparatus for audio editing of midi files
JP3241372B2 (en) * 1990-11-27 2001-12-25 パイオニア株式会社 Karaoke performance method
US5317732A (en) * 1991-04-26 1994-05-31 Commodore Electronics Limited System for relocating a multimedia presentation on a different platform by extracting a resource map in order to remap and relocate resources
US5083491A (en) * 1991-05-31 1992-01-28 Burgett, Inc. Method and apparatus for re-creating expression effects on solenoid actuated music producing instruments
US5978811A (en) * 1992-07-29 1999-11-02 Texas Instruments Incorporated Information repository system and method for modeling data
CA2095448C (en) 1993-05-04 1998-05-05 Phillip J. Beaudet Window management system utilizing icons and miniature windows
US5393926A (en) * 1993-06-07 1995-02-28 Ahead, Inc. Virtual music system
KR0183682B1 (en) * 1993-06-30 1999-04-15 김광호 A karaoke tv
US5390138A (en) * 1993-09-13 1995-02-14 Taligent, Inc. Object-oriented audio system
US5388264A (en) * 1993-09-13 1995-02-07 Taligent, Inc. Object oriented framework system for routing, editing, and synchronizing MIDI multimedia information using graphically represented connection object
DE69432503T2 (en) * 1993-10-08 2003-12-24 Ibm Information archiving system with object-dependent functionality
US5590319A (en) * 1993-12-15 1996-12-31 Information Builders, Inc. Query processor for parallel processing in homogenous and heterogenous databases
US5559548A (en) * 1994-05-20 1996-09-24 Davis; Bruce System and method for generating an information display schedule for an electronic program guide
US5481509A (en) * 1994-09-19 1996-01-02 Software Control Systems, Inc. Jukebox entertainment system including removable hard drives
EP0786121B1 (en) * 1994-10-12 2000-01-12 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US5873093A (en) * 1994-12-07 1999-02-16 Next Software, Inc. Method and apparatus for mapping objects to a data source
US5530235A (en) * 1995-02-16 1996-06-25 Xerox Corporation Interactive contents revealing storage device
US5616876A (en) * 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
US5670730A (en) * 1995-05-22 1997-09-23 Lucent Technologies Inc. Data protocol and method for segmenting memory for a music chip
US5914941A (en) * 1995-05-25 1999-06-22 Information Highway Media Corporation Portable information storage/playback apparatus having a data interface
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
JPH09265731A (en) * 1996-01-24 1997-10-07 Sony Corp Speech reproducing device and its method, speech recording device and its method, speech recording and reproducing system, speech data transfer method, information receiving device, and reproducing device
US5864868A (en) * 1996-02-13 1999-01-26 Contois; David C. Computer control system and user interface for media playing devices
US5787292A (en) * 1996-04-01 1998-07-28 International Business Machines Corporation Power saving method and apparatus for use in multiple frequency zone drives
US5721911A (en) * 1996-06-25 1998-02-24 International Business Machines Corporation Mechanism for metadata for an information catalog system
US5857203A (en) * 1996-07-29 1999-01-05 International Business Machines Corporation Method and apparatus for dividing, mapping and storing large digital objects in a client/server library system
US5739451A (en) * 1996-12-27 1998-04-14 Franklin Electronic Publishers, Incorporated Hand held electronic music encyclopedia with text and note structure search
US6131100A (en) * 1997-03-04 2000-10-10 Zellweger; Paul Method and apparatus for a menu system for generating menu data from external sources
EP1456780A4 (en) * 1997-04-01 2007-04-25 Medic Interactive Inc System for automated generation of media programs from a database of media elements
US5924090A (en) * 1997-05-01 1999-07-13 Northern Light Technology Llc Method and apparatus for searching a database of records
US6243725B1 (en) * 1997-05-21 2001-06-05 Premier International, Ltd. List building system
US6282548B1 (en) * 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
US6163781A (en) * 1997-09-11 2000-12-19 Physician Weblink Technology Services, Inc. Object-to-relational data converter mapping attributes to object instance into relational tables
US6061692A (en) * 1997-11-04 2000-05-09 Microsoft Corporation System and method for administering a meta database as an integral component of an information server
US6055543A (en) * 1997-11-21 2000-04-25 Verano File wrapper containing cataloging information for content searching across multiple platforms
US6028605A (en) * 1998-02-03 2000-02-22 Documentum, Inc. Multi-dimensional analysis of objects by manipulating discovered semantic properties
US6310848B1 (en) * 1998-02-10 2001-10-30 Victor Company Of Japan, Ltd. Power saving system for optical disc recording/reproducing apparatus
US6199059B1 (en) * 1998-04-22 2001-03-06 International Computex, Inc. System and method for classifying and retrieving information with virtual object hierarchy
US6240407B1 (en) * 1998-04-29 2001-05-29 International Business Machines Corp. Method and apparatus for creating an index in a database system
US6212524B1 (en) * 1998-05-06 2001-04-03 E.Piphany, Inc. Method and apparatus for creating and populating a datamart
EP1076871A1 (en) * 1998-05-15 2001-02-21 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6256031B1 (en) * 1998-06-26 2001-07-03 Microsoft Corporation Integration of physical and virtual namespace
US6363377B1 (en) * 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor
US6449341B1 (en) * 1998-08-25 2002-09-10 Mci Communications Corporation Apparatus and method for managing a software system via analysis of call center trouble tickets
US6452609B1 (en) * 1998-11-06 2002-09-17 Supertuner.Com Web application for accessing media streams
US6405215B1 (en) * 1998-11-06 2002-06-11 International Business Machines Corp. Workflow agent for a multimedia database system
US6389426B1 (en) * 1999-02-09 2002-05-14 Worldcom, Inc. Central trouble ticket database and system and method for managing same to facilitate ticketing, trending, and tracking processes
US6430575B1 (en) * 1999-09-10 2002-08-06 Xerox Corporation Collaborative document management system with customizable filing structures that are mutually intelligible
JP2001155471A (en) * 1999-11-29 2001-06-08 Pioneer Electronic Corp Recording and reproducing device
US6976229B1 (en) * 1999-12-16 2005-12-13 Ricoh Co., Ltd. Method and apparatus for storytelling with digital photographs
US6981040B1 (en) * 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US6311194B1 (en) * 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US6760721B1 (en) 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data
US7667123B2 (en) * 2000-10-13 2010-02-23 Phillips Mark E System and method for musical playlist selection in a portable audio device
US6928433B2 (en) * 2001-01-05 2005-08-09 Creative Technology Ltd Automatic hierarchical categorization of music by metadata

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BEARD M K ET AL: "Multilevel and graphical views of metadata" RESEARCH AND TECHNOLOGY ADVANCES IN DIGITAL LIBRARIES, 1998. ADL 98. PROCEEDINGS. IEEE INTERNATIONAL FORUM ON SANTA BARBARA, CA, USA 22-24 APRIL 1998, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 22 April 1998 (1998-04-22), pages 256-265, XP010276895 ISBN: 0-8186-8464-X *
PACHET F ET AL: "A combinatorial approach to content-based music selection" MULTIMEDIA COMPUTING AND SYSTEMS, 1999. IEEE INTERNATIONAL CONFERENCE ON FLORENCE, ITALY 7-11 JUNE 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 7 June 1999 (1999-06-07), pages 457-462, XP010342822 ISBN: 0-7695-0253-9 *
WAUGH A: "Specifying metadata standards for metadata tool configuration" COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 30, no. 1-7, 1 April 1998 (1998-04-01), pages 23-32, XP004121443 ISSN: 0169-7552 *
WOLD E ET AL: "Content-based classification, search, and retrieval of audio" IEEE MULTIMEDIA, IEEE COMPUTER SOCIETY, US, vol. 3, no. 3, 1996, pages 27-36, XP002154735 ISSN: 1070-986X *

Cited By (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10390092B1 (en) 2002-03-18 2019-08-20 Music Choice Systems and methods for providing an on-demand entertainment service
GB2386977A (en) * 2002-03-25 2003-10-01 Sony Uk Ltd API for access to content via metadata
US7158974B2 (en) 2002-03-25 2007-01-02 Sony United Kingdom Limited Interface
EP1505518A4 (en) * 2002-05-16 2007-10-24 Sony Corp Information management system, information processing device, information processing method, information processing program, and recording medium
EP1505518A1 (en) * 2002-05-16 2005-02-09 Sony Corporation Information management system, information processing device, information processing method, information processing program, and recording medium
US7856492B2 (en) 2002-05-16 2010-12-21 Sony Corporation Methods and systems for managing media content
EP1511034A1 (en) * 2003-08-27 2005-03-02 Deutsche Thomson-Brandt Gmbh Method and device for updating a local copy of metadata
US7565064B2 (en) 2003-08-27 2009-07-21 Thomson Licensing Method and device for updating a local copy of metadata
WO2005088478A1 (en) * 2004-03-02 2005-09-22 Koninklijke Philips Electronics N.V. Hierarchical broadcast of ui assets
WO2005094158A2 (en) * 2004-03-30 2005-10-13 Kerkego Sl Unipersonal En Constitución Organiser for complex categorisations
WO2005094158A3 (en) * 2004-03-30 2005-11-10 Kerkego Sl Unipersonal En Cons Organiser for complex categorisations
AU2005202614B2 (en) * 2004-06-21 2008-06-05 Canon Kabushiki Kaisha Metadata Driven User Interface
US7788301B2 (en) 2004-06-21 2010-08-31 Canon Kabushiki Kaisha Metadata driven user interface
US9213708B2 (en) 2004-06-25 2015-12-15 Apple Inc. Methods and systems for managing data
US9460096B2 (en) 2004-06-25 2016-10-04 Apple Inc. Methods and systems for managing data
US10489044B2 (en) 2005-07-13 2019-11-26 Microsoft Technology Licensing, Llc Rich drag drop user interface
JP2007066498A (en) * 2005-08-01 2007-03-15 Sony Corp Information processing apparatus, reproduction apparatus, communication method, reproduction method and computer program
EP1770559A3 (en) * 2005-08-01 2007-07-18 Sony Corporation Information-processing apparatus, reproduction apparatus, communication method, reproduction method and computer programs
US7890520B2 (en) 2005-08-01 2011-02-15 Sony Corporation Processing apparatus and associated methodology for content table generation and transfer
EP1934808B1 (en) * 2005-09-12 2017-05-10 Microsoft Technology Licensing, LLC Remoting redirection layer for graphics device interface
US7644364B2 (en) 2005-10-14 2010-01-05 Microsoft Corporation Photo and video collage effects
US7685154B2 (en) 2006-10-13 2010-03-23 Motorola, Inc. Method and system for generating a play tree for selecting and playing media content
WO2008081415A2 (en) * 2006-12-28 2008-07-10 France Telecom Media file server
WO2008081415A3 (en) * 2006-12-28 2008-12-31 France Telecom Media file server
WO2009001258A3 (en) * 2007-06-22 2009-02-12 Nokia Corp Apparatus, method and computer-readable storage medium for accessing media content
WO2009001258A2 (en) * 2007-06-22 2008-12-31 Nokia Corporation Apparatus, method and computer-readable storage medium for accessing media content
US20140365608A1 (en) * 2007-11-11 2014-12-11 Microsoft Corporation Arrangement for synchronizing media files with portable devices
US9544369B2 (en) * 2007-11-11 2017-01-10 Microsoft Technology Licensing, Llc Arrangement for synchronizing media files with portable devices
US8095541B2 (en) 2008-04-30 2012-01-10 Ricoh Company, Ltd. Managing electronic data with index data corresponding to said electronic data
EP2113850A3 (en) * 2008-04-30 2009-11-11 Ricoh Company, Limited Managing electronic data with index data corresponding to said electronic data and secure access of electronic documents and data from client terminal
US9209975B2 (en) 2008-10-15 2015-12-08 Ricoh Company, Ltd. Secure access of electronic documents and data from client terminal
WO2010103176A1 (en) 2009-03-10 2010-09-16 Nokia Corporation Method, apparatus, and software for on-demand content mapping
EP2406938A4 (en) * 2009-03-10 2012-10-03 Nokia Corp Method, apparatus, and software for on-demand content mapping
EP2406938A1 (en) * 2009-03-10 2012-01-18 Nokia Corp. Method, apparatus, and software for on-demand content mapping
US10390093B1 (en) 2012-04-26 2019-08-20 Music Choice Automatic on-demand navigation based on meta-data broadcast with media content
US10877779B2 (en) 2014-09-30 2020-12-29 Sonos, Inc. Displaying data related to media content
US10002005B2 (en) 2014-09-30 2018-06-19 Sonos, Inc. Displaying data related to media content
US10785526B1 (en) 2014-10-24 2020-09-22 Music Choice System for providing music content to a user
US11336948B1 (en) 2014-10-24 2022-05-17 Music Choice System for providing music content to a user
US10219027B1 (en) 2014-10-24 2019-02-26 Music Choice System for providing music content to a user
US10002153B2 (en) 2015-05-14 2018-06-19 Illumon Llc Remote data object publishing/subscribing system having a multicast key-value protocol
US10552412B2 (en) 2015-05-14 2020-02-04 Deephaven Data Labs Llc Query task processing based on memory allocation and performance criteria
US9760591B2 (en) 2015-05-14 2017-09-12 Walleye Software, LLC Dynamic code loading
US9836494B2 (en) 2015-05-14 2017-12-05 Illumon Llc Importation, presentation, and persistent storage of data
US9836495B2 (en) 2015-05-14 2017-12-05 Illumon Llc Computer assisted completion of hyperlink command segments
US9898496B2 (en) 2015-05-14 2018-02-20 Illumon Llc Dynamic code loading
US10002155B1 (en) 2015-05-14 2018-06-19 Illumon Llc Dynamic code loading
US11687529B2 (en) 2015-05-14 2023-06-27 Deephaven Data Labs Llc Single input graphical user interface control element and method
US10003673B2 (en) 2015-05-14 2018-06-19 Illumon Llc Computer data distribution architecture
US9690821B2 (en) 2015-05-14 2017-06-27 Walleye Software, LLC Computer data system position-index mapping
US9679006B2 (en) 2015-05-14 2017-06-13 Walleye Software, LLC Dynamic join processing using real time merged notification listener
US10019138B2 (en) 2015-05-14 2018-07-10 Illumon Llc Applying a GUI display effect formula in a hidden column to a section of data
US10069943B2 (en) 2015-05-14 2018-09-04 Illumon Llc Query dispatch and execution architecture
US10176211B2 (en) 2015-05-14 2019-01-08 Deephaven Data Labs Llc Dynamic table index mapping
US10198465B2 (en) 2015-05-14 2019-02-05 Deephaven Data Labs Llc Computer data system current row position query language construct and array processing query language constructs
US11663208B2 (en) 2015-05-14 2023-05-30 Deephaven Data Labs Llc Computer data system current row position query language construct and array processing query language constructs
US10198466B2 (en) 2015-05-14 2019-02-05 Deephaven Data Labs Llc Data store access permission system with interleaved application of deferred access control filters
US10212257B2 (en) 2015-05-14 2019-02-19 Deephaven Data Labs Llc Persistent query dispatch and execution architecture
US9672238B2 (en) 2015-05-14 2017-06-06 Walleye Software, LLC Dynamic filter processing
US10241960B2 (en) 2015-05-14 2019-03-26 Deephaven Data Labs Llc Historical data replay utilizing a computer system
US10242041B2 (en) 2015-05-14 2019-03-26 Deephaven Data Labs Llc Dynamic filter processing
US11556528B2 (en) 2015-05-14 2023-01-17 Deephaven Data Labs Llc Dynamic updating of query result displays
US10242040B2 (en) 2015-05-14 2019-03-26 Deephaven Data Labs Llc Parsing and compiling data system queries
US10346394B2 (en) 2015-05-14 2019-07-09 Deephaven Data Labs Llc Importation, presentation, and persistent storage of data
US10353893B2 (en) 2015-05-14 2019-07-16 Deephaven Data Labs Llc Data partitioning and ordering
US9639570B2 (en) 2015-05-14 2017-05-02 Walleye Software, LLC Data store access permission system with interleaved application of deferred access control filters
US9619210B2 (en) 2015-05-14 2017-04-11 Walleye Software, LLC Parsing and compiling data system queries
US10452649B2 (en) 2015-05-14 2019-10-22 Deephaven Data Labs Llc Computer data distribution architecture
US9613109B2 (en) 2015-05-14 2017-04-04 Walleye Software, LLC Query task processing based on memory allocation and performance criteria
US10496639B2 (en) 2015-05-14 2019-12-03 Deephaven Data Labs Llc Computer data distribution architecture
US10540351B2 (en) 2015-05-14 2020-01-21 Deephaven Data Labs Llc Query dispatch and execution architecture
US9710511B2 (en) 2015-05-14 2017-07-18 Walleye Software, LLC Dynamic table index mapping
US10565206B2 (en) 2015-05-14 2020-02-18 Deephaven Data Labs Llc Query task processing based on memory allocation and performance criteria
US10565194B2 (en) 2015-05-14 2020-02-18 Deephaven Data Labs Llc Computer system for join processing
US10572474B2 (en) 2015-05-14 2020-02-25 Deephaven Data Labs Llc Computer data system data source refreshing using an update propagation graph
US10621168B2 (en) 2015-05-14 2020-04-14 Deephaven Data Labs Llc Dynamic join processing using real time merged notification listener
US10642829B2 (en) 2015-05-14 2020-05-05 Deephaven Data Labs Llc Distributed and optimized garbage collection of exported data objects
US11514037B2 (en) 2015-05-14 2022-11-29 Deephaven Data Labs Llc Remote data object publishing/subscribing system having a multicast key-value protocol
US10678787B2 (en) 2015-05-14 2020-06-09 Deephaven Data Labs Llc Computer assisted completion of hyperlink command segments
US10691686B2 (en) 2015-05-14 2020-06-23 Deephaven Data Labs Llc Computer data system position-index mapping
WO2016183557A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Importation, presentation, and persistent storage of data
US9612959B2 (en) 2015-05-14 2017-04-04 Walleye Software, LLC Distributed and optimized garbage collection of remote and exported table handle links to update propagation graph nodes
US11263211B2 (en) 2015-05-14 2022-03-01 Deephaven Data Labs, LLC Data partitioning and ordering
US9613018B2 (en) 2015-05-14 2017-04-04 Walleye Software, LLC Applying a GUI display effect formula in a hidden column to a section of data
US11249994B2 (en) 2015-05-14 2022-02-15 Deephaven Data Labs Llc Query task processing based on memory allocation and performance criteria
US10915526B2 (en) 2015-05-14 2021-02-09 Deephaven Data Labs Llc Historical data replay utilizing a computer system
US10922311B2 (en) 2015-05-14 2021-02-16 Deephaven Data Labs Llc Dynamic updating of query result displays
US10929394B2 (en) 2015-05-14 2021-02-23 Deephaven Data Labs Llc Persistent query dispatch and execution architecture
US11023462B2 (en) 2015-05-14 2021-06-01 Deephaven Data Labs, LLC Single input graphical user interface control element and method
US11238036B2 (en) 2015-05-14 2022-02-01 Deephaven Data Labs, LLC System performance logging of complex remote query processor query operations
US11151133B2 (en) 2015-05-14 2021-10-19 Deephaven Data Labs, LLC Computer data distribution architecture
US11126662B2 (en) 2017-08-24 2021-09-21 Deephaven Data Labs Llc Computer data distribution architecture connecting an update propagation graph through multiple remote query processors
US10909183B2 (en) 2017-08-24 2021-02-02 Deephaven Data Labs Llc Computer data system data source refreshing using an update propagation graph having a merged join listener
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection
US10783191B1 (en) 2017-08-24 2020-09-22 Deephaven Data Labs Llc Computer data distribution architecture for efficient distribution and synchronization of plotting processing and data
US11449557B2 (en) 2017-08-24 2022-09-20 Deephaven Data Labs Llc Computer data distribution architecture for efficient distribution and synchronization of plotting processing and data
US10657184B2 (en) 2017-08-24 2020-05-19 Deephaven Data Labs Llc Computer data system data source having an update propagation graph with feedback cyclicality
US10241965B1 (en) 2017-08-24 2019-03-26 Deephaven Data Labs Llc Computer data distribution architecture connecting an update propagation graph through multiple remote query processors
US11574018B2 (en) 2017-08-24 2023-02-07 Deephaven Data Labs Llc Computer data distribution architecture connecting an update propagation graph through multiple remote query processing
US10198469B1 (en) 2017-08-24 2019-02-05 Deephaven Data Labs Llc Computer data system data source refreshing using an update propagation graph having a merged join listener
US10002154B1 (en) 2017-08-24 2018-06-19 Illumon Llc Computer data system data source having an update propagation graph with feedback cyclicality
US11860948B2 (en) 2017-08-24 2024-01-02 Deephaven Data Labs Llc Keyed row selection
US11941060B2 (en) 2017-08-24 2024-03-26 Deephaven Data Labs Llc Computer data distribution architecture for efficient distribution and synchronization of plotting processing and data

Also Published As

Publication number Publication date
US6760721B1 (en) 2004-07-06
USRE46536E1 (en) 2017-09-05
WO2001079964A3 (en) 2004-02-26
AU2001255361A1 (en) 2001-10-30
USRE42101E1 (en) 2011-02-01

Similar Documents

Publication Publication Date Title
US6760721B1 (en) System and method of managing metadata data
US9361313B2 (en) System and method for filtering and organizing items based on common elements
US7428705B2 (en) Web map tool
US8108430B2 (en) Carousel control for metadata navigation and assignment
US7634471B2 (en) Adaptive grouping in a file network
KR100996763B1 (en) System amd method utilizing virtual folders
RU2376630C2 (en) File system for displaying different types of elements and from different physical locations
US7769752B1 (en) Method and system for updating display of a hierarchy of categories for a document repository
US7502785B2 (en) Extracting semantic attributes
KR101029403B1 (en) Automatic query clustering
US7496583B2 (en) Property tree for metadata navigation and assignment
US8010887B2 (en) Implementing versioning support for data using a two-table approach that maximizes database efficiency
US20040230599A1 (en) File system shell
US20080140655A1 (en) Systems and Methods for Storing, Maintaining and Providing Access to Information
JP2002116933A (en) Information processor, information processing method and program storage medium
MXPA04006410A (en) File system shell.
US20080215545A1 (en) Data file management and search method and system based on file attributes
US6944614B1 (en) Query monitor playback mechanism for post-mortem performance analysis
US20030204537A1 (en) Content management system and methodology for implementing a complex object using nested/recursive structures
Foo DocPlayer: Design Insights from Applying the Non-HierarchicalMedia-Player model to Document Management
HRP20040440A2 (en) File system shell

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP