WO2001053994A2 - Streaming media search and playback system - Google Patents

Streaming media search and playback system Download PDF

Info

Publication number
WO2001053994A2
WO2001053994A2 PCT/US2001/001946 US0101946W WO0153994A2 WO 2001053994 A2 WO2001053994 A2 WO 2001053994A2 US 0101946 W US0101946 W US 0101946W WO 0153994 A2 WO0153994 A2 WO 0153994A2
Authority
WO
WIPO (PCT)
Prior art keywords
media
network
web
resource
links
Prior art date
Application number
PCT/US2001/001946
Other languages
French (fr)
Other versions
WO2001053994A9 (en
WO2001053994A8 (en
Inventor
Aviv Eyal
George Aposporos
Original Assignee
Friskit, 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
Priority claimed from US09/563,173 external-priority patent/US6721741B1/en
Priority claimed from US09/563,104 external-priority patent/US7228305B1/en
Priority claimed from US09/563,250 external-priority patent/US6389467B1/en
Priority claimed from US09/562,939 external-priority patent/US7281034B1/en
Application filed by Friskit, Inc. filed Critical Friskit, Inc.
Priority to EP01903173A priority Critical patent/EP1348176A2/en
Priority to CA002397641A priority patent/CA2397641A1/en
Priority to AU2001231023A priority patent/AU2001231023A1/en
Priority to JP2001554220A priority patent/JP2004500651A/en
Publication of WO2001053994A2 publication Critical patent/WO2001053994A2/en
Publication of WO2001053994A9 publication Critical patent/WO2001053994A9/en
Publication of WO2001053994A8 publication Critical patent/WO2001053994A8/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/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • 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

Definitions

  • This invention relates to the field of streaming media content search and playback over a network.
  • the invention relates to a computer system that enables a continuous streaming media playback from a distribution of sites available over a network such as the Internet.
  • Streaming media available on the Internet include, for example, music, video clips such as movie trailers, home movies, and animation.
  • Users locate streaming media on the Internet by manually selecting links. Typically, users browse the media sites that contain numerous sub-links.
  • the desired media link may or may not contain the desired media.
  • Some services provide media search engine capabilities. Users may enter a search request for selected media creations by an artist.
  • the media search engine then displays links to categories and/or sub-links of media that are determined to match one or more criteria in the search request set forth by the user.
  • the determination of which links should be displayed in response to the search request is dependent on the algorithm used in by the search engine.
  • links displayed to users of current search engines are not subject to a determination of the quality or availability of the media associated with the media links.
  • the search results are outputted to the user as a display of links for the user's selection.
  • An embodiment of the invention includes a method for playing back media from network.
  • the method comprises receiving a search criteria from a network enabled device.
  • the method further includes accessing a database comprising a plurality of network addresses, where the database associating each address with one or more classes of information. Each address accesses a media network resource.
  • the method further includes selecting at least one address in the database using the search criteria, signaling the selected address to the network enabled device, and controlling the network enabled device so as to automatically access and play back the media resource of the selected address.
  • Another embodiment includes a method for playing back media from a network.
  • the method includes receiving a request for media playback from a network enabled device. Further, accessing a database comprising a plurality of network addresses, where each address accessing a media network resource.
  • the method also includes identifying at least two addresses from the database, signaling each identified address to the network enabled device, and controlling the network enabled device to access and automatically play back the media network resources of each of the signaled addresses.
  • a computer system for playing back media from a network.
  • the computer system comprises a network enabled device comprising a media playback component.
  • a database is included that comprises a plurality of addresses, where each address locates a media network resource on the network.
  • the database includes one or more classes of information associated with each address in the plurality of addresses.
  • the system also includes a network server module that is coupleable to the network enabled device and to the database. The network server module is able to receive a search request from the terminal that specifies one or more criterias.
  • the network server module selects an address from the database that is associated with a class of information that matches the search criteria.
  • the network server module signals the address to the network enabled device to cause the device to access the media network resource, and to signal media playback component to load the media network resource after the device accesses the media network resource.
  • a computer system for playing back media from a network.
  • the computer system includes a network enabled platform comprising a media playback component.
  • a database includes a plurality of addresses, where each address locates a media network resource on the network. Each address accesses a media network resource.
  • the embodiment further includes a network server module coupleable to the network enabled device and to the database. The network server receives a request for media playback from the network enabled device, selects multiple addresses from the database, and signal the multiple addresses to the network enabled device.
  • the network server module control a media playback component on the network enabled device to use the addresses to automatically access and play back the media network resource associated with the addresses.
  • a network enabled device is configured to playback media from a network.
  • the network enabled device is coupleable over the network to a database that includes a plurality of addresses. Each address locates a media network resource on the network.
  • the network enabled device includes a user-interface to prompt for a search request.
  • the network interface signals the request to a network server module that is communicatable with the database, and receives one or more addresses in the database that match the search request.
  • the network enabled device includes a media playback component that is configured to be programmatically controlled by the network server module to automatically load the media network resources located by the addresses that match the search request.
  • a network enabled device configured to playback media from a network.
  • the network enabled device is coupleable over the network to a database comprising a plurality of addresses. Each address locates a media network resource on the network.
  • the network enabled device comprises a user-interface including a plurality of user-interactive features, including a first user-interactive feature that prompts to receive a search request for media playback.
  • a network interface signals the request to a network server module upon the first user-interactive feature receiving the search request for media playback.
  • the network interface is communicatable with the database to receive one or more addresses in the database that match the search request.
  • a network playback component is configured to be programmatically controllable by the network server module to automatically load the media network resource associated with each address signaled to the network enabled device upon accessing the media network resource.
  • a playback of the media playback component being controllable by one or more control user-interactive features.
  • An embodiment includes a system that provides media from a network to a terminal having a media playback component.
  • the system includes a first network site and a second network site, where each network site locates one or more media network resources. Each media network resource is locatable on the network by a corresponding address that accesses the media network resource.
  • a network server module is coupleable to the terminal through the network. The network server module identifies a first media network resource from the first network site and a second media network resource from the second network site. The network server module signals the corresponding address of the first media network resource to the terminal with control signals to cause the playback component to automatically load the first media network resource. The network server module automatically signals the corresponding address of the second media network resource to the terminal with control signals to cause the playback component to automatically load the second media network resource.
  • the system includes an end terminal having a media playback component.
  • a web server module is coupleable to the end terminal through the Internet.
  • the web server module has access to one or more media web resources on a first web site, and to one or more media web resources on a second web site.
  • the web server module signals a first link to a first media web resource on the first web site, and a second link to a second media web resource on the second web site.
  • the web server module provides control signals to the end terminal to cause the end terminal to access and load the first media web resource and the second media web resource into the media playback component.
  • One or more of the embodiments may include a database that stores links to each of the plurality of media web resources, the web server module identifying the first link and the second link from the database.
  • Another embodiment includes a media playback system for the Internet.
  • the system includes a terminal having a media playback component and a user- interface.
  • a web server module is coupleable to the user terminal through the Internet.
  • the web server module has access to a plurality of links, where each link locates a media web resource.
  • the plurality of links are accessible on a plurality of web sites.
  • the web server module signals the plurality of links to the user terminal in a designated order to cause the terminal to load the media web resource located by each of the plurality of links into the media playback component.
  • the embodiment also includes a database that stores the plurality of links.
  • the database is accessible to signal the plurality of links to the web server module in the designated order.
  • the user-interface signals one or more inputs from a user to the web server module.
  • the one or more inputs direct the web server to alter the designated order in which the database signals the plurality of links to the web server module.
  • Another embodiment includes a system that provides media play-back on a network.
  • the system includes a terminal that is coupleable to the network.
  • a play-list module is coupleable to the terminal.
  • the play-list module stores a first play-list signaled from the terminal.
  • the first play-list includes a plurality of network addresses.
  • a first network address locates a first media network resource on a first network site, and a second network address locates a second media network resource on a second network site.
  • a network server module is coupleable to the terminal and to the play-list module.
  • the network server module signals the first play-list to the terminal.
  • the network server module controls the terminal to cause the terminal to access the media network resource associated with each network address in the first play-list, and to automatically load each respective media network resources into the media playback component.
  • Another embodiment includes a method for providing media to a terminal coupled to a network, where the terminal includes a media playback component.
  • a terminal is programmatically directed to access a first network site in the plurality of network sites.
  • the media playback component on the terminal is caused to automatically load a first media web resource located at the first network site to playback a first media.
  • the terminal is programmatically directed to access a second network site in the plurality of network sites.
  • the media playback component on the terminal is caused to automatically load a second media web resource located at the second network site to playback a second media.
  • Another embodiment includes a method to provide media to a terminal coupled to the Internet.
  • a database is accessed that stores a plurality of links, where each link opening a corresponding media web resource.
  • a first link is selected from the database, the first link being located on a first network site.
  • a second link is selected from the database, the second link being located in a second network site.
  • the second network site is external to the first network site.
  • the selected links are signaled to a media playback component on the terminal to sequentially access the media web resources associated with the selected links.
  • the media playback component on the terminal is automatically signaled to load each of the media web resource accessed from the selected links so as to playback a media corresponding to each media web resource.
  • Another embodiment includes a system to share media playback from a network between a plurality of terminals.
  • the plurality of terminals include a first terminal and a second terminal.
  • the system includes a play-list component locatable on the network by a selectable link.
  • the play-list component identifies a plurality of links to form a play-list, where each link in the play-list locating a media file on the network.
  • the system includes a network server module that signals the plurality of links that form the play-list to the first terminal.
  • the network server module receives a signal to transmit the selectable link to a second terminal to enable the second terminal to locate the play-list module.
  • a method is provided to locate web resources on the Internet.
  • a web site is accessed to identify a plurality of links using a web browser component.
  • the web site can be automatically or programmatically accessed.
  • Each of the plurality of links are selectable to open a corresponding web resource of a specified data type on the web site.
  • the plurality of links are made available to a plurality of Internet enabled devices that select one or more of the links.
  • Another embodiment mcludes a system to locating web resources on the Internet.
  • the system includes a web browser component, and a database.
  • a search module controls the web browser component to access at least one web site.
  • the search module controls the web browser component to identify a plurality of links to media web resources at the web site. Each of the plurality of links are selectable to open a media web resource.
  • the search module stores the plurality of links in the database.
  • Another embodiment includes a method to locate web resources on the Internet.
  • a database that stores a plurality of links is accessed, the plurality of links being selectable to open a corresponding web media resources.
  • Metadata information is programmatically identified about the web media resource corresponding to each of the plurality of links.
  • the plurality of links are made accessible to a plurality of Internet enabled devices.
  • the plurality of Internet enabled devices elect one or more of the links to open the corresponding media web resource.
  • Another embodiment includes a method to locate web resources on the Internet.
  • a database is accessed that includes a plurality of links to media web resources.
  • Each of the plurality of links are programmatically verified to open a corresponding web media resource.
  • Each verified link is accessible to a plurality of Internet enabled devices that select one or more of the links to open the corresponding media web resource.
  • Another embodiment includes a system to locate web resources on the
  • the system includes a first indexed data structure comprising a plurality of links.
  • a media playback component is coupleable to the database.
  • the media playback component loads each of the plurality of links to verify whether the link is selectable to open a media web resource.
  • a second indexed data structure stores each verified link in the plurality of links.
  • the second indexed data structure is available to the plurality of Internet enabled devices.
  • Another embodiment includes a method to providing links for use in a media search engine.
  • a plurality of internal links on a network site are identified.
  • the network site makes a network resource of a specific data type accessible for a network enabled device.
  • the internal links that are selectable to open the network resource of the specific data type are extracted.
  • the external link is stored in a database.
  • One or more of the links are automatically signaled to a media playback component in response to receiving a search requests from the network enabled device.
  • Another embodiment includes a method to provide links for use in a media search engine.
  • the method includes a) receiving from a first indexed data structure a first external link to a first network site; b) initializing a second data structure to be empty; c) determining if the first network site contains at least one internal link; d) storing the at least one internal link contained on the first network site that is not in the first indexed data structure and not in the second indexed data structure as another external link in the first indexed data structure; e) identifying the internal links contained on the first network site that are selectable to open a network resource of a specific data type or types; f) moving the first external link from the first indexed data structure to the second indexed data structure; and g) repeating steps a) through f) until the first indexed data structure is empty.
  • Another embodiment includes a computer system to search for links to streaming media playback on a network, the network being accessible to a network enabled device.
  • the system includes a metacrawler to locate one or more media sites in directories containing streaming media.
  • a media search module coupled to be signaled the one or more directories from the metacrawler.
  • the media search module identifies a plurality of media links for the media sites. Each of the plurality of media links are selectable to open streaming media network resource.
  • a metadata extraction module accesses each media link identified by the media search engine to extract metadata about the identified media link.
  • a database comprising the plurality of media links identified by the media search engine, and the metadata is extracted about each identified media link. The database enables the network enabled device to access the plurality of media links.
  • An embodiment includes a rating system for rating media network resources on a network that is coupleable to a plurality of terminals.
  • the rating system includes a database having a plurality of addresses. Each address locates a corresponding media network resource on the network.
  • a network server module is coupleable to the plurality of terminals. The network server module accesses the database to signal one or more addresses from the database to the plurality of terminals.
  • a rating module is coupleable to the plurality of terminals. The rating module receives a rating input from each of the plurality of terminals. The rating module associates the rating input with a selected address in the database.
  • a rating system is provided to rate media network resources on a network.
  • the rating system includes a database comprising a plurality of addresses that each locate a corresponding media network resource on the network.
  • the database includes one or more classes of information associated with each of the plurality of addresses.
  • a network server module is coupleable to the plurality of terminals. The network server module communicates with each of the plurality of terminals to receive a search request. The network server module signals the database to retrieve one or more addresses from the database in response to the search request. The retrieved addresses are associated with a class of information matching the search request.
  • a rating module is coupleable to the plurality of terminals. The rating module receives a rating input from each of the plurality of terminals.
  • the rating module associates the rating input with a selected address in the database.
  • Another embodiment includes a rating system for rating media network resources available over a network.
  • the media network resources are located on the network by a plurality of terminals.
  • the rating system includes a database that stores a plurality of addresses. Each address locates a corresponding media network resource on the network.
  • the database includes a rating associated with each of the plurality of addresses.
  • a network server module is coupleable to each of the plurality of terminals. The network server module accesses the database to signal one or more addresses from the database to the plurality of terminals.
  • a rating module is coupleable to each of the plurality of terminals. The rating module receives a rating input from one of the terminals for each of the plurality of addresses in the database.
  • the rating module In response to receiving the rating input from one of the plurality of terminals for a selected address in the database, the rating module accesses the database and reconfigures the rating associated with the selected address.
  • a play-list module accesses the addresses to select one or more combinations of addresses.
  • the play-list module signals the play-list to the network server module as addresses to be signaled to one or more of the plurality of terminals.
  • the address may be selected by the play-list module based on a criteria stored with the address in the database.
  • criterias include rankings, reflecting preferences of users on terminals after playing back media located by the respective addresses.
  • Other criterias that can be used to select addresses include metadata information, such as artist name and media title.
  • the search request may specify a ranking as one of the criterias.
  • the play-list module sorts the database for the ranking in selecting the addresses.
  • Another embodiment includes a method for ranking media sources on a network.
  • the method includes accessing a database that stores a plurality of addresses. Each address locates a media resource on the network and each address is associated with a rating.
  • a selected address from the database is signaled to a terminal coupled to the network.
  • a rating input is received from the terminal after signaling the selected address to the terminal. The rating is associated for the selected address is adjusted in response to receiving the rating input.
  • Another embodiment includes a method for ranking media sources on a network.
  • a database is accessed that stores a plurality of addresses. Each address locates a media resource on the network and each address is associated with a rating.
  • a combination of addresses are selected to form a play-list.
  • the play-list is signaled to a terminal coupled to the network.
  • a ranking is received from the terminal after signaling the addresses in the play-list to the terminal.
  • the rating is adjusted for each address signaled to the terminal from the play- list in response to receiving the ranking.
  • Another embodiment includes a method that ranks media sources on a network.
  • a database that stores a plurality of addresses is accessed. Each address locates a media resource on the network, and each address is associated with a rating.
  • a selected address is signaled from the database to a terminal coupled to the network.
  • a ranking is received from the terminal after the selected address is signaled to the terminal. The rating associated for the selected address is adjusted in response to receiving the ranking.
  • Another embodiment includes a network enabled device that comprises a media playback component.
  • the media playback component is configured to communicate with a network-side module to receive a first plurality of links. Each of the first plurality of links locate a media file on a network.
  • a web browser component is configured to receive a second plurality of links. Each of the second plurality of links hosts a media file located by one of the first plurality of links. The web browser component displays the web site for each of the second plurality of links when the media playback component plays back media from the media file being hosted by web site being displayed.
  • FIG. 1 is a flow process describing an embodiment of the invention.
  • FIG. 2 is a block diagram illustrating an architecture for use with an embodiment of the invention.
  • FIG. 3 is a block diagram illustrating a back end architecture, under an embodiment of the invention.
  • FIG. 4 is a block diagram illustrating a media search and playback system, under an embodiment of the invention.
  • FIG. 5 is a block diagram illustrating components on an end terminal receiving control information from a server-side module, under an embodiment of the invention.
  • FIG. 6 is a flow chart illustrating a system for forming a search database of media resources accessible on a network, under an embodiment of the invention.
  • FIG. 7 is a flow chart illustrating a system for forming a search database of media resources accessible on a network, under an embodiment of the invention.
  • FIG. 8 is a flow chart for verifying records in a search database of media resources, under an embodiment of the invention.
  • FIG. 9 is a flow chart for extracting metadata about a media resource associated with a site on a network, under an embodiment of the invention.
  • FIG. 10 is a flow chart for forming play-lists for end users of a system under an embodiment of the invention.
  • FIG. 11 is a flow chart for receiving user input in response to playing back media resources from a search database, under an embodiment of the invention.
  • FIG. 12 is a block diagram of a media playback system including a rating feature, under an embodiment of the invention.
  • FIG. 13 is a flow chart describing user input to a user interface for a media playback system, under an embodiment of the invention.
  • FIG. 14 is a flow chart describing a rating system, under an embodiment of the invention.
  • FIG. 15 illustrates an exemplary structure for a database to maintain updated records on ratings for addresses containing media resources, under an embodiment of the invention.
  • FIG. 16 is a flow chart for creating play-lists using rating information, under an embodiment of the invention.
  • FIG. 17 is a flow chart for programmatically categorizing media files, under an embodiment of the invention.
  • FIG. 18 is a flow chart for creating personalized play-lists of streaming media files available in a network, under an embodiment of the invention.
  • FIG. 19 illustrates a distributed playback architecture, under an embodiment of the invention.
  • FIG. 20 illustrates a block diagram of a messaging application, under an embodiment of the invention.
  • FIG. 21 illustrates a user-interface for use with a media search and playback system, under an embodiment of the invention.
  • FIG. 22 includes another user-interface displaying an instance of the web browser while media is being played back, under an embodiment of the invention.
  • a system comprising a media search engine.
  • the media search engine may be used to create a database of links to media files.
  • the links may be structured according to predefined categories and/or user-defined search criteria.
  • a client terminal includes a media player to automatically access one or more media files using the corresponding links. The media player then plays back media contained on the media files.
  • the user terminal accesses media files at various sites on a network, without requiring users to manually select media links. For example, user-terminals may output music to a user by automatically accessing one or more Internet sites containing media files. The music is outputted without requiring users' to view and select links to sites containing the media.
  • using other systems to search for Internet files containing media can be a distracting and time- consuming experience for an end user.
  • a search will yield a series of links on a directory or web search page.
  • a user may have to click on each individual link, one at a time, to play each individual media file.
  • a user terminal is able to receive continuous media streaming from multiple sites on the Internet. Multiple sites may be accessible to enable the user terminal to receive streaming media without any interaction required from an end user other than signaling a request to receive streaming media.
  • the user terminal automatically accesses media links containing media using a media playback component.
  • the media playback component may be controlled by one or more server-side modules. In one embodiment, the media playback component on the user terminal interacts with one or more play-lists generated by server side modules.
  • the play-lists contain media links for the media playback application.
  • the media links may be structured or ordered in the play-lists.
  • the play-lists may be generated automatically by back-end modules and/or manually by editors.
  • the play-lists may also be generated by end users.
  • the media playback component may also interact with one or more server side search modules to access media links on the network.
  • the media links may be automatically selected based on, for example, a search criteria from the end user.
  • Embodiments of the invention provide a system to search and playback media accessible over a network.
  • a media search engine is provided to enable users to request media output based on a criteria set forth in a search request.
  • the media search engine is able to efficiently locate streaming media on the network that matches criteria set forth in a search request.
  • the system provides continuous playback of media found on multiple sites of the network. For example, a user may specify a search based on a specified artist.
  • the system locates one or more sites on the Internet containing media files from the specified artist.
  • the system enables the user terminal to automatically and continuously play back media creations available on the Internet sites.
  • a backend system under an embodiment of the invention minimizes possibilities of broken links and mismatched search results.
  • the backend system may also be used to perform manual and/or programmatic quality check of the media associated with each link.
  • a search engine under an embodiment of the invention employs an Internet web browser software component on the back-end to perform searches and indexing of web resources.
  • the Internet web browser component may be a configured or modified commercially available web browser component.
  • Server-side modules may combine to control the browser in locating media links and media sites containing media content.
  • the media search engine under this embodiment is efficiently implemented, using existing resources on the back-end system.
  • embodiments of the invention enable streaming media from multiple media links to be automatically played to users.
  • Embodiments of the invention also employ a scalable and distributed architecture. Scalability in this sense means that the service is available to a large (thousands or more) audience of simultaneous listeners or viewers while minimizing bottlenecks caused by congestion.
  • Another advantage of a distributed architecture is that the unavailability of one media site, or of one or more media on the media site, does not preclude the user terminal from receiving media from another site. As a result, users are ensured a continuous listening or viewing experience.
  • streaming media may be continuously outputted to users from multiple sites on the Internet based on personalized criteria set forth by users.
  • the criteria may be set forth in one or more requests by an end user.
  • the end user may experience media continuously outputted from multiple sites, based on only one request from the end user. This allows a user to request media through actions such as clicking requests through a user-interface.
  • An embodiment of the invention enables users to share streaming media experiences with other end users. For example, users may share play-lists containing links to multiple Internet sites. This enables individuals to create media programs of streaming media using multiple sites on the Internet. For example, play-lists may be shared among end users using a host web site, or e- mails.
  • a user terminal may transmit a search request from an end user to one or more modules on a server.
  • a client side playback module, one or more server- side modules, or a combination of client and server side modules combine to access the user terminal to a site on the Internet that contains media content immediately available for loading and playback.
  • the response to the search request is media output through the user terminal.
  • the media content is outputted from the user terminal without any additional action on the part of the end user after the initial search request.
  • the playback module automatically enables the user terminal to access and playback media located on another Internet site.
  • an embodiment enables the user terminal to output continuous streaming media to an end user, where the media outputted is accessed from multiple Internet sites.
  • Embodiments of the invention may be implemented on the Internet. Other embodiments may be implemented on any network that carries digital information, such as local-area networks (LANs), Wide Area Networks (WAN), Extranets, Intranets, Internet, and wireless networks, or networks utilizing wireless transmissions.
  • An example of a network for use with an embodiment of the invention includes a network operating under a transmission control protocol/Internet protocol (TCP IP).
  • TCP IP transmission control protocol/Internet protocol
  • Embodiments of the invention may also be employed on proprietary WANs, such as America OnlineTM. Thus, discussion of embodiments employed on the Internet are exemplary, and equally applicable to other types of networks described above.
  • a system for use with an embodiment includes a network enabled device, a network server module and a database.
  • the network enabled device includes a device having components to couple to a network such as the Internet.
  • the network enabled device includes a communication port and processor, and may also include memory and a display.
  • the communication port may be a physical port, such as a connector extending a modem connection.
  • the communication port may also be a wireless port, such as those configured to transmit and receive radio frequency data communications. Examples of network enabled devices include personal computers, handheld devices such as those operating Windows CETM or PalmTM operating systems, and cellular phones with Internet capabilities such as Sprint PCSTM systems. Other examples of network enabled devices include smart appliances, such as systems including speakers and a processor to receive communications from the network.
  • the network enabled device may include a media playback component.
  • the media playback component includes an application that plays back streaming media files. Examples of commercially available media playback components include Real Network PlayerTM, Apple Quicktime PlayerTM, and Microsoft Windows Media PlayerTM.
  • network server module includes server-side modules that communicate to the network enabled device through the communication port.
  • the network modules may be coupleable to the network enabled device through a network such as the Internet.
  • the network server module may exist on the terminal.
  • the network server module may, for example, access a database on the network from the terminal.
  • the network server module may exist on both the terminal and on a server on the network.
  • the network server module may comprise network-side code, executed on the terminal through a client application.
  • the network server module may includes applets or Java script delivered to the user terminal for execution of processes and functions, as disclosed herein.
  • the database stores a plurality of addresses. Each address locates a media network resource.
  • the media network resource includes files that can be loaded into the media playback component to output media.
  • media refers to a combination of audio and/or video.
  • Video media may include a collection of images assembled together in an animated fashion to resemble motion or action. Examples of video media include movie clips, recordings from video recorders, and animation such as cartoons. Still further, media may include a collection of still images and graphic presentations that are combined with audio media. Other examples of media include dynamic or animated pictures or text on a web page.
  • the media files may be loaded and played back to output music or music videos.
  • media files may include video or animation with story-lines, plots, characters and resemble conventional television or radio programming.
  • Other examples include movie clips, home movies, movie trailers, or highlights from sporting events.
  • a module includes a program, a subroutine, a portion of a program, a software component or a hardware component capable of performing a stated task or function.
  • a module can exist on a hardware component such as a server independently of other modules, or a module can exist with other modules on the same server or client terminal, or within the same program.
  • the network server module is coupleable to the network enabled device to exchange communications, and to access the database.
  • the network enabled device provides a search request, including a search criteria.
  • the search criteria includes any condition specified by the user to identify some of media files from other media files in the database. Examples of search criterias include titles, artist names, data types, user preferential ratings, quality, and duration.
  • the network server module selects at least one address from the database based on the search criteria.
  • the identified addresses are signaled to the network enabled device.
  • the network server module may communicate with the media playback component to cause the media playback component to playback the media resource located by the address.
  • FIG. 1 illustrates a process for use with a system to search for and playback Internet streaming media, under an embodiment of the invention.
  • the process is performed on architectures described and illustrated with FIGS. 2 and 3. While the process is described with reference to an integral system, one or more steps described with FIG. 1 may be performed independently of other steps. Similarly, components and modules used to perform steps in FIG. 1 may also be implemented in different systems and architectures. Further, steps mentioned with FIG. 1 may be performed concurrently with one other, or in an order different than shown in FIG. 1.
  • a system builds a database of addresses.
  • An address may include a Universal Resource Locations (URL) for network and Internet sites.
  • a media site include, for example, a web site that allows web users to access streaming media. In other embodiments, the media site may locate network media resources on other types of networks. The media sites may be located through a media search engine, as described elsewhere in this application. An exemplary process for identifying media sites under an embodiment of the invention is provided with FIG. 4.
  • Each media site may provide access to media through one or more media links available at the site or through other means.
  • the media links identify web resources having media content. These web resources may include a file of arbitrary type. Examples of file types include Multipurpose Internet Mail Extension (MIME) types such as MON, JPEG, or RAM. The file is available for loading, browsing or playback on the World Wide web.
  • MIME Multipurpose Internet Mail Extension
  • Each media link may be either an internal or external link relatively to that particular media sites.
  • An internal media link on a web-site may correspond to a URL that identifies a web resource located on the web domain, host, property or server of that site.
  • An external media link on a media site identifies a web resource that is not located on web domain, host, property or server of that media site.
  • step 120 the system identifies and stores in a database media links (URLs) for each media site.
  • An exemplary process for identifying and storing media links on individual media site stored in a database of media site is provided with FIG. 5.
  • each media link is verified.
  • the media link is verified to contain media that is available for playback for users. Thus, broken links, inoperational or unavailable media are precluded from being verified.
  • step 140 metadata information is extracted from each media link.
  • metadata information is extracted from each verified media link.
  • metadata may also be added to a list or database of extracted metadata. Additional metadata may be added using, for example, manual interactive editing and an editor interface (see for example, editor interface module 275 in FIG. 2).
  • Metadata information examples include (with an exemplary data structure type associated with each media link in parenthetical): identification (Integer), author (String), duration (String), media URL (URL), source web site (URL), media type (Integer), rating (Real number), number of votes (Integer), verification status (Boolean), edited status (Boolean), genre type (Index into a genre database table), play-list genre status (Boolean), mix (index into mixes database table), play-list mix status (Boolean), mood (index into moods database table), description (String), clip broadcast quality (integer), image size for videos (integer, integer), and play-list mood status (Boolean).
  • One or more of these types of metadata may be extracted from the media links or from the actual media file. For example, a media link to a web resource may be extracted for identification, duration, author, and source web site. Similarly, one or more of these types of metadata may be added to the extracted metadata information. For example, genre type and description information may be added to the extracted metadata information.
  • the system creates media play-lists using media database for predefined categories. In an embodiment, verified media links are structured into play-lists, such as described with FIG. 10.
  • links to streaming media commercials may be inserted into the play-lists in various locations between media clips. These commercials are targeted to the audience likely to listen to the media available on the play-list.
  • the commercial may be produced and broadcast from distributed sources, or from web server module.
  • Other examples of streaming media that can be included with play-lists includes news items and weather reports.
  • a playback interface causes the media player component on the user terminal to play media associated with media links in each play-list.
  • the playback interface may include features to manipulate play-lists, or to switch between play-lists. For example, the playback interface may allow for a user to skip media or web resources until a preferred media or web resource is located.
  • the playback interface is a software or hardware application that is executed on the user terminal.
  • the playback interface may be packaged as a web application, dynamically accessible through a web server module, or be packaged as a desktop software application.
  • a playback interface module includes a streaming media clips rating system that allows users to rate each clip as it is played back.
  • the back-end module rating system uses these votes to generate rated play-lists that are available through the playback Interface for playback.
  • the playback interface module may include a system to allow users to send Internet e-mail notifications to one or more e-mail addressees regarding a media clip, or to send continuous streaming media programs containing multiple media clips from multiple network sources. Recipients may initiate the playback module by selecting one or more links contained in the e- mail. Selecting a link from the e-mail initiates the play back module on that recipient's terminal, causing the play back module to play back the media clip or the programming referred to by the sender.
  • the playback interface includes user interface elements that allow users to define and execute search criteria for media playback.
  • FIG. 2 is a block diagram illustrating an architecture of a system 200, under an embodiment of the invention.
  • the system is shown to link a user terminal 210 with media that is accessible on the Internet 220, including the
  • Other embodiments of the invention may operate with different types of networks.
  • the user terminal 210 includes any network enabled multimedia computing platform.
  • user terminal 210 includes any Internet enabled multimedia computing platform.
  • Examples of computing systems for user terminal 210 include personal computers (PC), personal digital assistants (PDA), smart phones, and Internet enabled televisions and radios, and other devices.
  • the multimedia capability is manifested in the availability of a steaming multimedia playback software and or hardware component.
  • Internet enabling means that the platform can access information over the Internet.
  • user terminal 210 runs the media location and playback interface module 270 that is accessible over the Internet.
  • a communication channel 212 such as a phone line, wireless medium, or DSL line, is used to couple the user terminal 210 to the Internet.
  • the playback module may be preinstalled on the client terminal. Under both configurations the playback module access media play-lists that are stored on an Internet web server.
  • a back-end database management system 245 is provided to maintain information used in providing media searching and playback to user terminal 210.
  • the database management system 245 receives information from modules, including server-side modules that communicate with user terminal 210.
  • modules used to provide media search and playback capabilities to user terminal 210 include a media search module 230, an automatic verification and extraction module 255, an editor module 250, a play-list generator module 260, and a web server module 270.
  • the modules may communicate with an interface of user terminal 210.
  • media search module 230 includes a media directories meta-crawler module 234 and a media search engine 238.
  • the metacrawler module 234 and the media search engine 238 may be operated independently and concurrently of one another.
  • the meta-crawler module 234 conducts a general search of the Internet 220 to locate media sites.
  • Media sites may include web pages that are likely to contain web resources, media links to web resources, or links to other web pages that have such media links and/or web resources.
  • the meta-crawler module 234 adds the address or location of each found media site to a media site table 243 maintained by database management system 245.
  • the media site table 243 may list media sites that identify a URL for each web page located by meta-crawler 234.
  • the entire media site table 243 is programmatically generated by meta-crawler module 234, without any manual or interactive human input.
  • an editor module 232 may interface with database management system 245 to manually input a URL for one or more of the media sites into the media site table 243.
  • Another embodiment may substitute editor module 232 for meta-crawler 234, so that the media subdirectory manually receives a URL for each media site.
  • the media search engine 238 accesses the media site table 243 maintained by database management system 245.
  • the media search engine 238 identifies media links to web resources on each media site provided in the media site table 243.
  • media search engine 238 contacts each site in the media site table 243 to locate media links.
  • the media search engine 238 then stores the addresses of each media link in the database management system 245.
  • a URL of each media link is stored in a portion of a media and metadata table 247.
  • An automatic media verification and metadata extraction (AMVME) module 240 accesses the portion of media and metadata table 247 that contains URLs to the media or media links.
  • the AMVME module 240 verifies each media link in media and metadata table 247.
  • the media links are verified to contain web resources matching a criteria defining media. For example, each media link may be verified to contain a combination of audio or video, rather than be only a text document. In addition, the media links are verified as available for playback by users, to avoid broken or old links being maintained by database management system 245.
  • the AMVME module 240 also extracts metadata from the web resource associated with each media link in the media and metadata table 247. Preferably, AMVME module 240 extracts metadata from verified media links. The AMVME module 240 may automatically visit each media link on the Internet to extract metadata information, as well as verification information.
  • the metadata extracted pertains to information available from the web resource or about the web resource on the media link.
  • metadata that may be extracted by media extraction module 255 include information such as the author, duration, name, description text, broadcasting and playback quality of the media content and frame size and display resolution for images, video and home movie clips.
  • a media link may be associated with a web resource that is an audio media.
  • Metadata that may be extracted from the media creation may include the artist name, the name of the media creation, length and audio/video quality.
  • media extraction module 255 also verifies that the media is available for playback from the media site. The
  • AMVME module 240 may accesses database management system 245 to store verification and metadata information in media and metadata table 247.
  • a metadata editor interface 275 is included in the system 200.
  • the metadata interface 275 accepts manual entry from an editor pertaining to metadata of the web resource associated with each media link.
  • the metadata interface module 275 may access one or more media links in the media and metadata table 247 to allow manual inspection of each web resource for metadata information.
  • An editor operating metadata interface module 275 transmits a media streaming request to have the media of the web resource replayed for inspection on a terminal.
  • the metadata editor interface 275 then allows for additional metadata to be stored in media and metadata table 247.
  • the additional metadata information includes metadata that is not programmatically available from the media link containing the web resource.
  • metadata editor interface 275 may be used to add information to media and metadata table 247 information such as genre of the web resource, description of the web resource, and system predefined information, such as mood and mix, that are found applicable by the editor to the web resource.
  • a play-list generator module 260 generates a plurality of play-lists based on information in the database management system 245.
  • play-list generator 260 accesses media and metadata list 247 for URLs to media contained on stored media links.
  • the play-list generator module 260 may create play-lists 284 from predefined categories characterized by information stored in the database system for media links and metadata stored in table 247. Play-lists 284 are stored on web server module 270.
  • the web server module 270 includes a media location and playback application.
  • the user terminal 210 interfaces with the media location and playback application through the Internet.
  • web server module 270 makes the media location and playback application available on a web site. The user can launch the media location and playback application by clicking a link on the web site.
  • the playback application is pre-installed on the user terminal.
  • the playback application accesses the web server module 270 to load media play-lists that are stored on it.
  • the playback application reads Media URLs and Metadata stored in one or more play-lists. This information is used to playback continuous media from the play-lists to the user,
  • a web page or network site hosting the media file being played back may also be displayed as an instance of a web browser on the network enabled device. For example, audio media may be played back while the user is presented with a web page hosting the audio playback (see FIG. 22 and accompanying disclosure).
  • the media location and playback application may output or playback media processed by the back-end system and stored in the media and metadata table 247 upon receiving a request from user terminal 210.
  • music may be outputted from user terminal 210 continuously in a manner that resembles a jukebox, Disk Jockey Mix or a radio station.
  • An interface of the user terminal 210 enables users to skip playback of media clips, or to switch categories. For example, a user on user terminal 210 may select to hear jazz programming, and then switch to a genre of classical music.
  • One or more features of a user-interface may be used to enable users to make selections (see FIG. 21 and accompanying t ( ext).
  • the user may also control playback settings such as volume, pause, seek and retrieve additional media clip information, skip songs, or replay certain songs being automatically played.
  • the user may also control and/or customize the creation of play-lists using the interface.
  • one musical play-list may include a combination of genres, such jazz and classical songs.
  • the media location and playback application programmatically controls a streaming media multimedia software or hardware component to perform the actual streaming of the media digital bits to the user terminal's multimedia output device (such as video display and speakers hardware) .
  • the media location and playback application contains functionality that responds to software events generated by the streaming media component. For example, a playback error generated by the streaming component may result in the application instructing the component to play another media file.
  • the application determines and initiates playback of a media clip in response to the component reporting that the currently playing media has finished.
  • the application may contain user interface elements that allow users to issue media playback commands. These commands are dispatched by the application to the component that implements the playback command for the currently played media.
  • the media location and playback application works in combination with functional commands provided to the user via a web based software application.
  • a user-interface may be provided to enable the user to select the function commands at the software application.
  • An example of a user-interface is provided below, with FIG. 21 and accompanying text.
  • a categorization module 290 accesses media and metadata table 247 to add metadata and to categorize media associated with media links in media and metadata table 247.
  • the automatic process generates metadata such as music genre by consulting with information stored in other records in media and metadata table 247.
  • the module can automatically set the genre metadata information for all media creations available in the table, for a given artists, according to genre metadata entered for one or more media creations by the same artists. This process greatly contributes the efficiency and scalability of the back-end system.
  • FIG. 3 is high-level system software components diagram for the system 300, under an embodiment of the invention.
  • the diagram shows how software components may be written, deployed and interact to provide the functionality described by system 200.
  • the components of system 200 may be described as a three-tier architecture. Components are written to spec and deployed to a backend tier, a middle tier, and a front tier.
  • the backend tier includes the database management system 245.
  • the database management system 245 includes a database 345 and a backend interface module 355.
  • the backend interface module 355 may be provided with, for example, a Microsoft SQL Server system (MS SQL).
  • MS SQL Microsoft SQL Server system
  • the middle tier includes modules that communicate with backend interface module 355.
  • the middle tier may include a media sites manager 360 and a media manager 365 software components.
  • the media sites manager 360 and the media manager 365 each independently communicate with backend interface module 355.
  • the media sites manager 360 components exposes a programmatic interface 362 to communicate with modules and components in the front tier.
  • the media manager 365 includes a first media manager interface 366 and a second media manager interface 368.
  • the front tier includes a media site module 330 and a media module 340.
  • the media site module 330 communicates with site interface 362.
  • the media site module 340 communicates with the first and second media manager interfaces 366 and 368.
  • the first and second media manager interfaces 366 and 368 communicate with the media module 340.
  • the media site module 330 includes a front-end interface 332 to a directory meta-crawler 310 and a media ' search engine 312 modules.
  • the media site module 340 includes a front-end interface 342 to the media search engine 312, an editor interface module 314, and an automatic verification module 316.
  • the directory meta-crawler 310 crawls Internet media directories web sites. The links to media web sites are handed over to the MediaSite module 330 for storage in the database.
  • the media search engine 312 searches for media links on web sites provided by the MediaSite module 330, these links are transferred through Interface 342 on the Media module 340 for storage in the database module 345.
  • Media module 340 using Interface 342 and loads the media for editorial playback from the Internet.
  • the editors provide metadata for media that are added to the database by the Media module 340.
  • the verification module 316 examines media files or web resources accessed through each media link and updates metadata regarding media availability in the database using Media module 340. This module also extracts metadata from Internet media and updates this in the database using Media module 340. The module queries the database for a batch of media records using the Media module 340 and automatically verifies and extracts metadata for the Internet media represented by these records.
  • database management system 345 of the backend tier provides records to the system 300.
  • Each record or record set is disconnected from tables or databases of record(s).
  • Disconnected records are transmitted from the backend tier to the front-end tier as active database objects (ADO) Disconnected record sets.
  • ADO active database objects
  • each disconnected record can be updated in the database by any components on any tier.
  • Updated records are transmitted to the database management system 345 in the form of record set update operations.
  • directory meta-crawler 310 sends URLs to be added to records in database 345 to media site module 330 using an asynchronous method calls.
  • the media search engine 312 transmits to media site module 330 using a get search method call for batch sites of URLs.
  • the media search engine 312 uses an asynchronous method call to add media links and metadata associated with media links.
  • the components and all tiers expose programmatic interfaces that contain callable methods using the MS DCOM (distributed component object model) software component technology. Communication between the tiers is also implemented using method calls on these components.
  • the components are deployed in front, middle and back tier hardware systems. Alternatively, The components may be developed and deployed using the MS COM+ components technology. Using this technology, a COM+ In Memory Database system
  • IMDB proxies and caches tables of the back-end database module 245. This process speeds up the search and editorial process.
  • COM+ services such Queued Components may used to implement asynchronous method calls exposed on Interfaces 362 and 366.
  • Embodiments of the invention locate web resources on a network such as the Internet.
  • a network browser identifies a plurality of links to one or more network sites. The links are each selectable to open a network resource of a specified data type. The identified links are then made available to network enabled devices that can select one or more of the links.
  • a network browser is software that performs core functions that include (i) loading network resources; (ii) parsing, translating and laying out network resources, and (iii) displaying the network resources.
  • the network browser includes an application programmable interface (API).
  • An embodiment of the invention employs the network browser on a back end to locate the network resources of the specified data type.
  • a network browser may include a shell, an API, and a processing module.
  • a component of the network browser includes the API and the processing module.
  • the processing module may include, for example, a MSHTM or DLL module.
  • the network browser component performs functions that include loading a network resource, as well as parsing, translating, and laying out the network resource.
  • a web browser component may be used to locate resources of a specified data type.
  • the web browser component may be a portion of a commercially available browser.
  • the web browser component for use with an embodiment of the invention may be a reconfigured Netscape NavigatorTM or Internet ExplorerTM browser.
  • the web browser component is programmatically controlled through the API of the web browser to access the web resource for the plurality of links.
  • the web browser may be programmatically controlled to bypass the shell of the web browser.
  • the API may be used to instruct the web browser to ignore the shell, or to detach the functionality of the shell.
  • the remaining web browser component then identifies the links to the specified data types. The result is that the web browser component accesses the web resources of the plurality of links to identify the data types of the resources on the links while ignoring data such as images and sound.
  • a search module controls the web browser component to access a web site.
  • the search module controls the web browser component to identify a plurality of links to media web resources at the web site.
  • Each of the plurality of links identified by the web browser component are selectable to open a media web resource.
  • the search module stores the plurality of links in the database.
  • a database in another embodiment, includes a plurality of links to media web resources.
  • the plurality of links are programmatically verified to determine whether each link opens a corresponding media web resource.
  • the verified link are made available to a plurality of Internet enabled devices that select one or more of the links to open the corresponding media web resource.
  • the links may be verified on the back end using a media player, including a commercially available media player.
  • a media player including a commercially available media player.
  • each link that needs to be verified may be programmatically loaded through an API of the media player.
  • the response provided by the media player to the link determines whether the links are verified.
  • the media player may be programmed to identify metadata from the media web resource of each link.
  • the metadata may then be stored in a database associated with the link.
  • embodiments enable network links to files of a particular data type to be rapidly accumulated and stored in a database.
  • Each of the links are selectable to open a file on the network.
  • the files may enable a terminal to play back media.
  • the addresses access media files that can be loaded into the media playback component of the user terminal.
  • the files can be stored in the database with information that characterizes the files associated with the links.
  • the links may be characterized by, for example, metadata information, and one or more classes of information.
  • embodiments enable each link in the database to be programmatically verified, so that there are no broken or unavailable links in the database.
  • some metadata information may be programmatically identified from each media file.
  • existing systems verify links manually, employing interactive users to perform the manual functions. Existing systems also extract metadata information manually.
  • FIG. 4 illustrates a block diagram in which system 200 receives a search request 203 and provides a response 209.
  • system 200 processes the search request 203 using the web server module 270 and the media and metadata database 247.
  • the end terminal 210 signals the search request 203 to web server module 270.
  • the web server module 270 accesses the media and metadata database 247 to retrieve one or more URLs matching the search request.
  • the web server module 270 signals the response containing the retrieved URLs to the media playback component 211 of end terminal 210.
  • the search request 203 includes one or more criterias that specify a selection of URLs from media and metadata database 247. The criterias may correspond to parameters in media and metadata database 247.
  • the table 249 illustrates a data structure of media and metadata database 247.
  • the table 249 includes a URL list comprising a plurality of URLs. Each URL provides direct access to a web resource containing media. Each URL is characterized by one or more parameters that correspond to metadata information about the web resource associated with the URL.
  • table 249 provides parameters as being genre (G), data type (DT), category (C), web resource identity, and one or more play-lists (PLAY1, PLAY2, PLAY3).
  • the genre data is a broad class identifier of the media creation comprising the web resource of the respective URL. For music, the genre may include rock, classical, and jazz. For movies, the genre may correspond to romance, comedy, horror etc. The genre may be identified either programmatically, or through an editor interface.
  • One genre may be associated with one or more URLs in table 249.
  • URL1-URL7 are in either one of three genres, Gl, G2, and G3. Alternatively, several genres may be associated with one URL.
  • the data type parameter corresponds to the MIME characteristic of the web resource associated with the URL.
  • the category parameter may correspond to a sub-class of a genre. For example, in music, a category may correspond to soft rock. In movies, a category may correspond to the time- period of the movie.
  • the table 249 illustrates an example in which the category is unique to the genre. Thus, a web resource of one genre is not in the same category as a web resource of another genre. As an example, URLl and URL3 are in the same category, as are URL2 and URL5. However, no other URLs are in the same category.
  • Other metadata information that may be included in media and metadata database 247 include identifier information. The identifier information identifies the web-resource. The identifier may provide name of a specific media creation, as well as an artist or author of the media creation.
  • media and metadata database 247 includes play-list information as parameters of metadata information.
  • the play-lists may be identified in any one of several ways. For example, the play-lists may be identified by a unique name or other identifier. The play-lists may be identified by another parameters, such as genre or category type. A Boolean data type may be associated between each URL and each play-lists.
  • the criterias of the search request 203 specify one or more parameters to media and metadata database 247. For example, search request 203 may include criterias corresponding to one or more of a genre, category, play-list, or identifier.
  • web server module 270 accesses media and metadata database 247 for URLs that have all of the parameters set forth in the search criteria.
  • the web server module 270 retrieves the URLs matching the criterias of the search request.
  • the response 209 is signaled to the media play-back component 211.
  • the response includes one or more URLs. It is noted that when play-lists are requested, additional URLs multiple play-lists are provided.
  • the response 209 may also include metadata information. For example, the response 209 may signal to end terminal 210 the duration of the web resource for each URL, the artist, the history, etc.
  • the web server module 270 further signals control information 207 to access the URL provided in the response 209.
  • the control information 207 causes end terminal 210 to load the web resource for the media playback component 211.
  • the media playback component automatically loads the web resources associated with each URL included in response 209.
  • the experience provided to end user 210 is that media is outputted in response to inputting a search request. This is in contrast to other systems in which the user is provided links to media sites containing web resources matching the search criteria.
  • a user may specify a media creation from a specific category. For example, the user may input a search request for "nature sounds".
  • the web server module 210 accesses media and metadata database 247 for parameters that match "nature sounds".
  • a play-list is located that is pre-programmed to provide URLs to web resources containing nature sounds.
  • the response 209 then comprises one or more play-lists, each containing multiple URLs to web resources containing nature sounds.
  • a category parameter or sub-parameter is searched for "nature sounds”.
  • the response 209 may include one or more URLs that are not pre-programmed into play-lists.
  • the response 209 may provide URLs to media playback component 211 one at a time, in groups (such as in play -lists), or all at once.
  • categorization module 280 may be used to programmatically create one or more parameters such as illustrated by table 249. The parameters may be determined, by for example, identifying metadata information on the media site hosting the URL.
  • FIG. 5 is a block diagram illustrating the media playback component
  • the web server module 270 signals control information to an application program interface 276 of the media playback component 211.
  • the control information may be provided by the media locator and playback application of the web server module 270.
  • the web server module 270 signals commands, with one or more URLs corresponding to media resources selected to be signaled to the user terminal 210.
  • commands from web server module 270 may be instructions that use each URL as an arguments. Examples of commands that control the media playback component include play (URL) and pause (URL).
  • web server module 270 may also signal control information to a web browser component 213 of user terminal 210.
  • the control information may be in the form of commands to access and display a web site associated with the media resource.
  • the commands may be provided to an application program interface 279 of the web browser component 213.
  • This allows the system 200 to display the web site associated with the media resource selected to be played back on user terminal 210.
  • user terminal 210 may play back media from the media resource while displaying the web site where the media resource is located.
  • One advantage of this embodiment is that it allows users to receive media playback from the media resource in one medium, such as audio, while providing images, audio text, or media not associated with the media resource.
  • users can listen to songs from media resources signaled to user terminal 210, while viewing banner ads on the web site where the media resource is located.
  • Each URL signaled from web server module 270 has a network protocol.
  • types of protocols include "HTTP" protocol, "PNM” protocol (RealNetworks, having .RM extensions), or “RTSP” protocol (having .RAM extensions).
  • the URLs signaled by web server module 270 include the protocol at an initial portion of the string forming the URL.
  • the string portion corresponding to "HTTP” is replaced with "PNM”. This adjustment prevents playback component 211 from failing as a result of a bug in the media playback component, particularly if the playback component 211 is a RealNetworks PlayerTM.
  • the web server module 270 may be either a network-side module, client side module, or a combination of both. In either embodiment, web server module 270 may access the database directly or indirectly.
  • FIG. 6 illustrates a process for a component of an Internet media search module, under an embodiment of the invention.
  • a process such as described with FIG. 6 may be used to build a database of media sites, where each media site includes media links and/or links to other media sites.
  • the process of FIG. 6 is applicable to meta-crawler module 234 in system 200 (FIG. 2).
  • the process of FIG. 6 is a backend operation that is unobservable to a user of the user terminal.
  • the flow process of FIG. 6 is an automatic or programmatically controlled process, conducted periodically.
  • media links may be identified and stored under a flow process such as shown by FIG. 6 every few days or weeks.
  • the duration between executions of the flow process of FIG. 6 maybe referred to as an idle period.
  • the process of FIG. 6 provides for extracting URLs of media sites from a web pages directory.
  • a web directory for use with an embodiment of the invention includes directories on web sites such as Yahoo.com® and Lycos.com®.
  • the flow process of FIG. 6 is a backend operation that is unobservable to a user of user terminal 210.
  • the flow process of FIG. 6 is an automatic or programmatically controlled process that does not require human interaction.
  • a directory home page is added to a searched-pages data structure.
  • the searched-pages data structure maintains.
  • a similarly structured parsed-pages data structure is also maintained to hold URL of pages already processed by the module.
  • the parsed-pages data structure indicates whether a home page web directory was previously parsed by the process.
  • the searched- pages and parsed- pages data structures are keyed or indexed by URL and they support querying for existence of a given URL in them. Examples of keyed or indexed data structures include database tables and hashtables.
  • step 410 the parsed-pages data structure is empty, indicating that the directory home pages in the searched-page data structure have not been parsed.
  • step 420 a determination is made as to whether the searched-pages data structure is empty. If the determination is affirmative, the flow process is done. This occurs when the process has parsed all the Internal web pages in the directory. If the determination is negative, a current page link is called from the searched-pages data structure in step 430. The current page is then loaded into memory and parsed. Parsing means loading and reading the HTML source (or equivalent) code of the web page so its content is accessible and in a machine- readable format.
  • the page is parsed using an HTML parser component.
  • An example of an HTML parser is a web browser.
  • the current page may be parsed using a web Browser component.
  • step 440 of the process may be implemented using an application program interface (API) that is exposed by the web Browser component.
  • API application program interface
  • the web Browser component is configured and used in a back-end server process with no visible presentation area or end user. It is configured not to load or render media at the web page so that the loading is more efficient. The configuration may occur through the API.
  • the web browser is configured to parse web pages efficiently by, for example, automatically excluding a presentation layer from being displayed.
  • the web browser may be programmatically configured to not load or parse information that is not critical to the search function.
  • the web browser component can be configured to not load media data found on web pages.
  • step 440 all links to media sites on the currently parsed-page are determined using the parser.
  • the HTML parser API allows access to the page document object model.
  • step 450 all new external page links are added to the media sites database.
  • An example of a web-page data structure is provided with media site database table 243 (FIG. 2).
  • the database stores the URL of the media sites and not the sites themselves.
  • New external page links implies media sites that are not already indexed or present in the media site database.
  • step 460 all URLs also link to internal links found on the currently parsed page are added to the web pages data structure, provided that the URL in question is (i) not already existing in the searched pages data structure and (ii) not already existing in the parsed pages data structure.
  • step 470 the currently parsed page is moved to the parsed pages data structure, and the flow process returns to step 420.
  • This process adds the URL of all the media sites indexed by the directory to the media sites database.
  • FIG. 7 illustrates another component of an Internet media search module, under an embodiment of the invention. A process such as described with FIG. 7 may be used to identify and store media links to web resources that are accessible from one or more web site. The process of FIG. 7 may be used in conjunction with a process such as described with FIG. 4. In an embodiment, the process of FIG. 7 is applicable to media search engine 238 in system 200
  • FIG. 2 (FIG. 2).
  • the flow process of FIG. 7 is a backend operation that is unobservable to a user of the user terminal.
  • the flow process of FIG. 7 is an automatic or programmatically controlled process, conducted periodically.
  • media links may be identified and stored under a flow process such as shown by FIG. 7 every few days or weeks.
  • the duration between executions of the flow process of FIG. 7 maybe referred to as an idle period.
  • the flow process of FIG. 7 assumes access to a media sites database store.
  • the database includes URLs to each media site.
  • An exemplary database of media sites includes media sites and metadata table 243, described with FIG. 2.
  • Each record contains a URL field for media site and a field indicating the last date, if any that the process described in FIG. 5 lastly processed the web site at the URL in the URL field.
  • Reference to a media site that is parsed implies that the media site was programmatically examined for media links to web resources, and for links to other media sites using a process such as the one described in FIG 5.
  • MIME types are deteraiined for web resources.
  • MIME types that can be selected for step 510 include JPEG, MOV, RAM and WAVE.
  • a record for a media site is fetched or received from the database.
  • a condition of the media site received is that the media site was not parsed by the process described here during the idle period. This condition may be specified by checking, for example, the date field associated with the record. For example, a date field may indicate when the media site was previously parsed.
  • the URL data structure of unparsed media sites may be indexed or keyed.
  • the URL data structure may be a list, or a hashtable software data-structure.
  • step 526 the last search field of the record fetched in step 515 is updated with the current date to indicate that the media site is parsed.
  • the field corresponds to a date in which the last parsing occurred.
  • step 530 a URL in the date structure of unparsed media sites is fetched or received. If in step 535, a determination is made that the URL data structure is empty, the system returns to step 515. As will be further described, the flow process returns to step 515 only when step 570 is completed. If a determination is made that the URL data structure is not empty. Thus, steps 510-545 allow the flow process to distinguish between when a media site is being parsed for the first time, or has been previously parsed by the process during the idle period.
  • media links on the media site fetched in step 530 are extracted from the HTML code of the page fetched in step 530.
  • the media links are associated with web resources on that media site.
  • the media resources may be in any MIME format recognizable as media.
  • the currently parsed page is parsed using an HTML parser.
  • An example of an HTML parser is a web browser.
  • the media links may be extracted using a web browser.
  • the media links may be extracted using an application program interface (API) provided by a web browser software or hardware component.
  • API application program interface
  • the web browser may be configured to perform this task efficiently by, for example, excluding a presentation layer.
  • the web browser may be programmatically configured to not load or parse information that is not critical to the search function.
  • the browser component may be configured to not load media data found on web pages.
  • step 550 new media links on each media site that match the MIME format specified in step 510 are added to a database.
  • New media links refers to media links that do not already existing in the database from, for example, a previous execution of the flow process.
  • step 555 metadata is extracted from each new media link found in step 550.
  • the metadata may also be stored in the database, with a reference to the URL the media that the metadata refers to.
  • An exemplary database is provided with media and metadata table 247 (FIG. 2).
  • An example of metadata is the URL of the web Page that provided a link for each media URL.
  • step 560 the URLs of all new internal media site links on the media site currently being parsed are added to the URL data structure.
  • New internal media site links refers to URLs of media sites that do not already exit in the URL data structure and that are not in the parsed URL data structure.
  • step 570 the currently parsed page is removed from the URL data structure and added to the parsed URL data structure.
  • the flow process returns to step 530.
  • FIG. 8 illustrates a flow process that verifies and extracts metadata from
  • FIG. 8 Internet streaming media files. While media links are specified, other embodiments of the invention may employ the flow process of FIG. 8 within a system that incorporates verification and extraction of any content or resource associated with links stored in a database. A specific application employs a process such as described with FIG. 4 in the system 200. In the system 200, flow process of FIG. 8 may be performed by the AMVME module 240.
  • a module operating the flow process of FIG. 8 fetches or receives an unverified URL from a database.
  • An example of such a database is provided by media and metadata table 247 (FIG. 2).
  • the unverified URL corresponds to a media link on a media site stored in a database such as the media site database 243 (FIG. 2).
  • a determination is made as to whether a URL for a media link is present. If the URL to the media link is not present, the module assumes all media links have been determined as being verified, and the process is done. If a URL exists, the module in step 630 loads the URL into an Internet multimedia playback software component and programmatically control the component to provide metadata embedded in the media file.
  • the component loads some or the entire file over the Internet and provides the process with this information.
  • a determination is made as to whether the media or web resource associated with the URL was successfully loaded over the Internet by the module. If the determination is that media was not loaded, then in step 650 the URL associated with the media link is marked as unavailable and verified. The media is marked as verified to prevent the process from revisiting it once it already extracted metadata for it and verified it. The availability mark assists the flow processes described in FIG. 9 and FIG. 10. The determination may be in the negative if, for example, the media link is old and no longer contains a media file that is available for playback through its URL, or if the media link contains content other than what is designated as media.
  • the process may use an availability rating for each media. Under such schema, each media is assumed to have the maximum availability score. For media that are currently not available for playback, step 650 may lower the score by one. The system may consider the media as unavailable if its score is below a predefined threshold. This process is useful since Internet streaming media availability may vary according to factors such as web server load and the time of day or year.
  • FIG. 9 illustrates a process for interactively adding metadata to URLs of media stored in a database.
  • the database may correspond to verified URLs of media links determined in FIG. 8.
  • a process such as shown by FIG. 9 may be performed on information stored by AMVME module 240 in media and metadata table 243.
  • the process of FIG. 9 may be performed by a module interface, such as editor interface 275 (FIG. 2).
  • an unedited media record is fetched or received by an interface module from a database.
  • the unedited record may be one or more categories of metadata and other information about a media link, media site, or web resource.
  • the unedited media information includes a
  • step 720 a determination is made as to whether a record was received. If no record is received in step 720, the flow process assumes there are no unedited records remaining in the database, and the process is done. If a record is received, the in step 730 the interface module is updated with the record received. This may correspond to displaying the record fields to the editor operating the editor interface.
  • the web resource associated with the record received is loaded into an Internet multimedia playback software component.
  • the software component is programmatically constructed and controlled by the module interface.
  • the software component plays back the media to the editor.
  • the editor is able to experience the media played back from the web resource associated with the media link.
  • the editor is able to determine metadata information regarding the web resource.
  • the editor may determine mood, genre, quality, appropriate mix name, and description of a web resource such as an audio media creation or a home movie clip.
  • the editor controls playback of media located by the search engine on the network side, such as by pausing and playing media back through an editor interface.
  • a determination is made as to whether the record received also includes previously determined metadata.
  • the previously determined metadata may be extracted programmatically in another process, such as described with FIG. 8. If the determination is made that the record received does not contain extracted metadata information, then in step 750 the editor interface automatically extract metadata from the web resource associated with the URL of the record. To accomplish this step, the editor interface may access another module that automatically extracts certain types of metadata information. For example, the editor interface may forward the record to AMVME module 240 (FIG. 3) that performs a flow process such as shown by
  • step 760 a determination is made in step 760 that the editor operating the interface module may choose to save the auto-extracted metadata already included with the record in the database. If the determination to step 760 is negative, then in step 765 the editor updates media information with editor provided metadata using input elements on the editorial software user interface. Once the determination in step 760 is positive, the record is marked as edited and updated in step 770. Then, all the newly added metadata for the media record is updated to the database. The process then continues from step 710 for the next unedited media. The media is marked as edited so it won't be included for editing in the process.
  • FIG. 10 illustrates a process for generating a play-list.
  • the flow process of FIG. 10 assumes that play-lists names are predetermined and stored in a database. Each play-list is identifiable by its name. For example, classic music, jazz and rock.
  • the play-lists include records of media links.
  • a record includes at least a URL to a streaming media that is categorized in a database as belonging to the play-list name.
  • a play-list name is received from the-play-lists database.
  • step 820 a determination is made as to whether a play-list name was received. If the determination is negative, the system assumes it produced play-lists for all play-lists names, and the flow process is done. This process is routinely executed to add all newly added media to the appropriate play-lists.
  • step 830 media records that match search criteria are fetched from the media database.
  • the criteria is that each record play-list record field must match the current play list name obtained in step 810 and that the 'in-play-lis record field for the play list name has False value.
  • step 840 a play-list is generated to include all media stored at the records fetched is step 830.
  • the new play-list contains one record entry for each fetched media record.
  • each play list record includes media URL and metadata information that is obtained from the media database record.
  • step 850 the media records called in step 840 are labeled as being in the "in- play-list" for the current play-list name. This is achieved by setting the "in-play-list” value for the media database record to true for the appropriate play-list name.
  • the generated play-list is made available to a server-side module, such as web server module 270 (FIG. 2).
  • the play-lists may be stored, copied or appended to be made available on the web server module.
  • media URLs and metadata stored in the play-lists is made available to the user terminal so that the user terminal may customize media output available from the play-list.
  • one or more playback applications that run on the user terminal may read the play-lists, access media links on the play-lists, continually play- back streaming media from media URLs in the play-list and present media metadata to users for further interaction.
  • the play-list may also be configured to provide access to a client-side media player component that uses a URL of a media link to load and play the media associated through it. Additionally, users may further modify and edit play-lists to create personalized media programming. Further, play-lists may be dynamically generated by a web application in response to a request for media playback made on the user terminal.
  • FIG. 11 is a flow process for software or hardware application that enables a user terminal to playback streaming media programming determined by play-lists.
  • An embodiment described below assumes that play-lists are available for the process, and that play-lists are identifiable by play-list names.
  • the play-lists may be dynamically generated by the play-list module, in response to a search criteria signaled from a user terminal.
  • the play- lists may also be manually generated by editors on the network side.
  • the play- lists may be predetermined by, for example, a process described with FIG. 10.
  • the playback component can access the play-list without any direct interaction with server side modules.
  • the flow process employs a streaming media player component installed on the user terminal.
  • the media player may be preexisting on the user terminal. Examples of media players for use with an embodiment include RealNetwork PlayerTM, Microsoft Windows Media PlayerTM, and Apple QuickTimeTM.
  • the application described in the process may be web based or installed on the user terminal.
  • step 910 an application interface for a media player on the user terminal is provided.
  • a default play-list name is selected from a list of play-lists.
  • a database of play-lists is stored on or accessible through the web server module 270.
  • the play-list generator module creates and stores play- list on the web server module to provide the interface with the user terminal 210 and media player stored thereon.
  • Each play-list may store two or more media links, and preferably a plurality of media links.
  • one or more play-lists for the current play-list name are loaded.
  • media is presented and played-back on the user terminal.
  • server-side modules may provide the media player with URLs to media links that are stored in each play-list.
  • Each play-list may include one or more media link URLs and media metadata.
  • the user terminal accesses the URL and loads the web resource associated with that media link into a streaming media playback component on the user terminal.
  • Media playback on the user terminal includes outputting, for example, audio and/or video stored in digital format on web resources associated with a media link.
  • the step described may dynamically adjust the interface size and the playback component that will handle the actual playback according to the media clip metadata.
  • the media playback component continuously plays back media by (i) accessing a first site on the network and playing back media from the first site, (ii) then automatically accessing a second site and playing back media from the second site.
  • the media sites may be provided by play-lists which that are made accessible to the media playback component. The sequence for automatically and continuously playing back media may be repeated for each media link included in the play-list.
  • the play- lists may include hundreds of media links, thus allowing the media play back component to automatically and continuously play back media using numerous sites on a network. As a result, a user is able to experience continuous media play back for hours at a time.
  • the user terminal also includes an interactive interface to affect the media being played back. An end user on the user terminal may choose to manipulate media playback through one or more commands that may be inputted through the application interactive interface or presentation layer.
  • step 945 a determination is made as to whether an event occurred. If an event occurred, the flow process determines the event. The flow process may determine the event that occurred sequentially or concurrently. Preferably, the flow process is configured to receive media playback event from the streaming media playback component. If the event is to skip the currently played media, then a determination in step 960 causes a corresponding action of the media being skipped, and the process step returning to step 940. If the process received a playback error event, or an playback error event, then a determination in step 965 causes the flow process to return to step 940 to playback media from the next web resource of the play-list or play-list name.
  • step 970 causes the flow process to be done.
  • step 975 a user may choose to view a new media web site while media is being played back on the user terminal.
  • step 980 the media web site is opened in a new Internet window, preferably using the client side web browser.
  • a user may send either an e-mail containing the URL, the play -list, the play-list name or a URL link.
  • the message receiver clicks on the link his terminal will execute the media playback application and will start playing back the media and the play- • lists played at the time of the message-sending event.
  • the user terminal prompts the user for an one or more e-mail addresses, and then prompts the user to transmit the e-mail.
  • the user need not have an e-mail client software application for the operation to succeed.
  • the e-mail may be directed to terminals having a streaming media playback component and Internet access.
  • the e-mail message is directed to a user having a user terminal that communicates with server-side modules so that the recipient user terminal is automatically plays back media from the transmitted media link received upon the e-mail being opened.
  • server side modules may receive addresses from the terminal and act as the source of the email addressed to one or more recipients.
  • a determination is made as to whether a user wishes to rate a media played back from the media links. If the determination is positive, then the user is prompted to rate the media in step 988.
  • a rating value is transmitted to a backend web rating system application using the Internet. This operation is part of the service rating system that includes server side modules that produce, in combination with this operation, top and bottom rating media in each media category.
  • Step 990 illustrates other exemplary actions that may be received from a user on the user terminal interfacing with the playback application.
  • user actions may correspond to pausing media playback, adjusting volume, picture controls, size, seeking within the media, etc.
  • playback settings are changed according to user input.
  • the flow process returns to step 945 to check for another event if any of the determinations in step 982-992 are negative.
  • An embodiment of the invention includes a rating system with a media search and playback system.
  • the rating system allows users to listen or view media segments available over the Internet according to a rating.
  • users participate in determining rating media segments by providing a rating input after listening or viewing a media clip.
  • the ratings may be used as a category, similar to other categories such as genres or categories.
  • FIG. 12 illustrates an architecture for use with the rating system, under an embodiment of the invention.
  • the rating system 1000 may be employed with, for example, the system 200 (FIG. 2).
  • the rating system 1000 may include or cooperate with components of a system such as described with FIG. 2 to enable the user view and/or select media clips from play-lists.
  • the generated play-lists may contain a list of links to media on the Internet. Selection of media clips by the user causes media to be played back to the user over the user terminal.
  • the rating system 1000 includes a backend database management component 1045.
  • the database management component 1045 maintains organizational data structures such as tables that describe rating information for media clips.
  • the media clips include Internet streaming audio or video.
  • the rating information may be in the form of values such as, for example, total votes counted.
  • database management component 1045 maintains records that comprise meta information on each media clip including the URL to the media clip, the current rating of the media clip, and the total votes for that media clip.
  • a user 1010 on a user terminal interacts with a web-based playback interface 1020.
  • play-back interface 1020 outputs play-lists 1018, 1022 to the user.
  • the media clips in each play-lists may be outputted automatically, or displayed for the selection of the user.
  • the play-back interface 1020 may also display to the user genre field 1016 or category field 1014 of the selected media clip, or play-list 1018, 1022.
  • the playback interface 1020 includes features to enable a user on the user terminal to make entries or selections regarding preferences and opinions, as well as other types of information.
  • the user may also view ratings stored on backend database 1045. The user may enter selections by, for example, using icons or other display features.
  • FIG. 12 illustrates a rating selection component 1012 as a feature of play -back interface 1020.
  • the rating selection component 1012 allows users to rate a media output between a scale of 1 to 5.
  • a user 1010 may input a rating to play-back interface 1020.
  • the rating is signaled from play-back module 1020 to a rating module 1030.
  • rating module 1030 maintains a tally for each media clip.
  • the tally compiles ratings received from play-back module 1020.
  • the ratings may be received from more than one user and/or user terminal.
  • the tally may be implemented through a protocol that enables the rating module 1030 to organize media clips according to an order.
  • the organization of the media clips may correspond to a user preferential list, where preferred media clips are, for example, listed together or listed before less preferred clips.
  • the rating module 1030 may be implemented through a protocol that enables the rating module 1030 to organize media clips according to an order.
  • the organization of the media clips may correspond to
  • the rating module 1030 may also determine a genre, category, or other organization information through selections or entries received from the play-back module 1020. The selections may be tallied through any protocol, such as summation, averages, weighted averages and moving averages. In another embodiment, the rating module 1030 may maintain a text field to store user comments regarding each media clip.
  • the rating component 1030 updates the rating information maintained in the database management component 1045.
  • the rating component 1030 may update values of the current rating and total votes for each media link.
  • a play-list generator 1040 generates play-lists based on rating information maintained in the database management component 1045.
  • the play-list generator 1040 may signal to retrieve or receive records for each media clip.
  • the play-list generator 1040 then automatically generates one or more play-list 1042.
  • each play-list is a list of media links.
  • the play-lists 1042 are generated according to the current rating and/or rating for each media clip.
  • the generated play-lists are provided by the play-list generator 1040 for the play-back interface 1030.
  • the user 1010 may choose to listen to play-lists containing media clips rated according to one or more criteria.
  • the play-lists may also be organized according to other factors, such as genre and category.
  • FIG. 13 is a flow chart that allows a user to listen to media clips that are rated according to one or more criteria.
  • the user is provided a user-interface that allows users to receive media sorted according to one or more categories.
  • the categories correspond to genres, such as type of music etc.
  • step 1120 the user selects a category from the options presented by the user-interface.
  • the user terminal is provided one or more play-list in step 1130.
  • the play-list received by the user-terminal matches the category or genre selected by the user.
  • play-lists contain predetermined media links to media clips.
  • the media clips in each of the play- lists are determined according to a rating system, using a system such as described by FIG. 12.
  • the predetermined play-list may correspond to a play-list generated by play-list generator 1040 (FIG. 12).
  • step 1140 media clips are played back on the user terminal.
  • the media clips are played back consecutively and automatically, so that the user experiences continuous media playback.
  • the play-lists may contain numerous media creations from a selected genre.
  • the media creations may be determined for the play-list according to a rating formula.
  • the user is provided the media creations of the selected genre continuously, so that the user's media experience resembles listening to an album.
  • FIG. 14 illustrates a flow process for updating a rating of a media clip, under an embodiment of the invention.
  • a module is provided a rating event.
  • the rating event is a rating for a particular media clip, having an associated URL.
  • the rating from the user is predefined from a closed set.
  • a record is located for the media clip that was currently rated.
  • the record may be stored in a database, and include the media link for the media clip, the current rating of the media clip, and the votes received for that media clip.
  • the record may include more than one URL associated with the media clip that was rated.
  • the record is maintained in database management component 1045 (FIG. 12).
  • a rating field for the media record is updated.
  • the rating field may correspond to the current rating of a media clip.
  • a module such as the rating module 1030 may update the rating field in database management component 1045 (FIG. 12).
  • the media record is updated to determine a new rating.
  • the new rating is an averaged based formula.
  • the formula may also be weighted.
  • N is the total number of votes received, and newrating ranges between 0 and a maximum value.
  • record for the media clip rated is further updated to add an additional vote to the field for votes received. The flow process then returns to step 1210.
  • FIG. 15 illustrates an exemplary structure for a database to maintain updated records on ratings and votes tallied.
  • the table may associate values corresponding number of votes, rating, and other information to a media link containing a media clip.
  • FIG. 16 illustrates a flow process for generating media clips into play- lists according to a rating criteria.
  • Play-lists including a rating criteria are referred to as rated play-lists.
  • the flow process assumes known categories for media clips.
  • the flow process also assumes a rating for rated media clips, and the number of media clips in a rated play-list.
  • the flow process may be used with any of the aforementioned embodiments.
  • a next category may be fetched from a database containing the different categories of media clips.
  • the system makes a dete ⁇ nination as to whether a category was received. If no category is received, the system assumes that there are no more media categories to be rated.
  • a new play-list is created for a current category.
  • up to N rated media clips from a database of rated media clips are added to the play-list.
  • N is a constant in the flow process.
  • an old play-list is deleted, and the new play-list is saved.
  • the new play- list may be saved in a format that follows predefined protocol so that the play- list and its contents are accessible to a streaming media play back interface. The flow process then returns to step 1410.
  • FIG. 17 illustrates a flow process for programmatically categorizing media files.
  • the process assumes a database containing metadata associated with media clips.
  • the metadata includes metadata provided by a human editor.
  • the metadata may pertain to categories such as genre, mood and atmosphere.
  • a record is retrieved from the database.
  • the record is retrieved with metadata information containing a first type of metadata information and a second type of metadata information.
  • the first type of metadata information may correspond to a genre of music
  • the second type of metadata information may correspond to an artist.
  • a determination is made as to whether a record was received. If the determination is negative, then the process assumes that all media clips have been categorized.
  • step 1520 If the determination in step 1520 is positive, then all records in the database having the first type of metadata information are retrieved in step
  • step 1540 all records retrieved in step 1530 are updated to include the second type of metadata information.
  • the process then returns to step 1510 to retrieve another record.
  • the second type of metadata information is a genus category
  • the first type of metadata information is a species of the first type of metadata information.
  • FIG. 18 is a flow process to create personalized play-lists of streaming media files available on the Internet (or other networks).
  • the play-lists may be personalized by users on user-terminals.
  • a user chooses to add a URL of a selected media clip to a personal favorite play-list.
  • the flow process adds the URL (and metadata) of the selected media clip to a user terminal store for user persistent information, such as an Internet cookie.
  • the persistent data store is then accessible for the web-based play back application on the user terminal.
  • the user selects to play back media clips from that user's favorite play-list.
  • the system reads back the media clips from the persisted data store.
  • the system plays media clips using a URL associated with each media clip.
  • the cookie may also provide additional URLs. Thus, multiple media clips may be played continuously from different sites on the Internet.
  • the user may edit the play-list, change an order of the play-list, or delete selections from the play-list.
  • the user may designate certain play-lists as personal, so as to identify the play-list with that user's terminal.
  • the play-list may be stored on a network server and accessed using the media location and playback module. Users may access their personal play-lists from any one of a plurality of terminals that have access to the system.
  • An implementation under an embodiment provides a distributed architecture in which a user terminal accesses media resources from a plurality of network sites.
  • a user terminal accesses media resources from a plurality of network sites.
  • the user terminal accesses multiple web sites to playback media locates as files on those web sites.
  • a network site includes any network location having internal links.
  • Embodiments of the invention access network sites providing links to media files and/or other network sites.
  • a web site refers to a network site on the Internet. Examples of web sites include web pages, including web pages with HTML links to other web sites, to media files, and to other types of files.
  • the distributed architecture inverts conventional media distribution paradigms. Numerous streaming media files can be streamed to an individual user terminal continuously from throughout the Internet using the embodiment of the distributed playback architecture.
  • the distribution architecture is scalable to provide thousands or millions of streaming media files to user terminals. The users can then play media files located throughout the Internet in a continuous manner from the numerous Internet sites.
  • FIG. 19 illustrates a distributed playback architecture, under an embodiment of the invention.
  • a user terminal 1710 has access to N network sites that provide access to media, also referred to here as media sites.
  • the N media sites 1722 via web server module 1770.
  • the media sites 1722 each have one or more links to media web resources.
  • the links are represented by URLs 1-N.
  • the web server module 1770 can load the media resources onto a media playback component of user terminal 1710. Once loaded, the media resources are played back by a media playback component on user terminal 1710.
  • the media sites 1722 correspond to different locations on a network such as the Internet. For example, media sites may have different Internet addresses, including different domains.
  • Each media site provides direct access to a media network resource. This implies that a URL (or link) to one of the media sites accesses the media network resource for playback without accessing another internal URL (or link).
  • web server module 1770 signals multiple URL links to user terminal 1710.
  • the media playback component of user terminal 1710 accesses each link to playback the media resource.
  • the URLs are selected for media playback so as to output media from user terminal 1710 according to a predetermined program.
  • the program is selected or defined from a search request of user.
  • a search request may designate a category for media output, such as a genre and artist. All URLs containing media from that artist and genre may be gathered and signaled from web server module 1770 to user terminal 1710. The URLs may be provided in any order, such as random, etc. or a chronological order of the artist.
  • a program may be provided by one or more play-lists. Each play-list in the program may be generated by, for example, a play-list generator 1040 (FIG. 12). The play-lists may be personalized for the user of the end terminal 1710. For example, play-lists may be generated for preferences and profiles specified by the user of user terminal 1710.
  • a user may couple to the Internet, prompting web server module 1770 to automatically signal one or more play-lists containing the URLs to user terminal 1710.
  • other embodiments provide for URLs to web resources, or play-lists containing the URLs to be randomly provided to user terminal 1710.
  • the distributed architecture permits simultaneous playback of, for example, thousands or millions of multiple streams which do not congregate on a single point. This avoids congestion arising under examples of the current media paradigms. This ensures that the embodiment of our distributed architecture may "scale,” or permit the simultaneous playback of, for example, thousands or millions of simultaneous streams. Further, the quality of the user experience is not affected by scaling a system under the distributed architecture embodiment.
  • conventional broadcasting employs one radio or television signal to broadcast to listeners or viewers.
  • Internet today may be distributed in a manner which is somewhat similar in that the media file is located on a single server (or small group of servers) which is accessed by potentially large number of Internet users. As a result, the experience of the users may diminish due to the limited ability of current systems to scale.
  • This distributed playback architecture permits the creation of a broadcasting system that is personalized by an end user.
  • a personal broadcasting system permits each individual user to create media programs which can be sent to, for example, thousands or millions or other users who can simultaneously play different programming combinations using a distribution of Internet (or other network) sites.
  • An example of a distributed architecture playback system includes wireless devices that are communicatable to a network containing media resources.
  • media playback component 1710 may be loaded onto a wireless access protocol (WAP) enabled device. Examples of WAP enabled devices include handheld computes and cell phones. The WAP enabled device may use a wireless communication network to access network server module
  • the WAP enabled device may also include output features, such as speakers or a display screen.
  • the WAP enabled device accesses media sites 1722 by control of network server module 1770.
  • the WAP enabled device then plays back media from the media sites 1722.
  • the WAP enabled device may then be used to simulate a portable radio.
  • an automobile may be equipped with a wireless device.
  • the wireless device accesses multiple media sites on a network such as the Internet to and provide playback of media clips. For example, the user may select to hear music from a favorite play-list using the WAP enabled device in the automobile.
  • FIG. 20 is a diagram illustrating a messaging application, under an embodiment of the invention.
  • the messaging application enables the user to share a media playback experience with other users having access to the network.
  • FIG. 20 assumes the messaging application is operated on a network such as the Internet.
  • a network interface or network-side module is used to enable messaging, rather than a client messaging applications.
  • a messaging module 2080 receives a messaging request from a first user terminal (sender) 2010.
  • the messaging module 2080 may be an application or portion of network server module 2070.
  • the messaging request is entered by the user through the user-interface 1900, using for example, an e-mail selection field 1990.
  • the messaging module 2080 receives addresses to deliver messages to recipient terminals (recipient) 2020.
  • the sender 2010 may manually signal the . recipients address using entry methods such as keyboards, graphic user selection features, or audio commands.
  • messaging module 2080 has access to network stored addresses for the specific user. The network stored messages are then selectable from a terminal by the user on the sender terminal
  • messaging module 2080 In response to a request from sender 2010, messaging module 2080 generates a message 2085 for the recipient.
  • the request may also include the address of the intended recipient(s).
  • the message 2085 is sent to all recipients 2020 specified by sender 2010.
  • the contents of the message 2085 include a
  • the URL in the message is packaged with arguments or other coding to identify a play-list maintained on the network server module 2070.
  • the URL may also be packaged with arguments to identify the specific song being played when the sender causes the message to be transmitted to the recipient.
  • the URL may identify to the recipient the search request or criteria used by the sender.
  • the recipient may choose to return a message 2082 to signal messaging module 2080.
  • the content of the message is constructed so that once the message is opened, the user can select a link to a module that stores or maintains the play-list 2075.
  • the link is HTML formatted to include the URL of network server module 2070, and arguments to identify the play-list selected by sender 2010. Once network server module 2070 is accessed by the recipient 2020, arguments 2088 contained with the link identify the specific play-list 2075 experienced by sender 2010 when the request to send the message was made. If the message is instant, the recipient 2020 can respond immediately to simultaneously share the experience of sender 2010.
  • the recipient 2020 can be made to respond automatically upon the recipient 2020 receiving the message 2085, so as to enable sender 2010 and 2020 to simultaneously or concurrently share the same media playback.
  • the argument 2088 that is packaged with the link may also identify individual media clips, and/or an entire play-lists. The recipient 2020 is able to experience media playback from individual media clips selected by sender 2010.
  • message 2085 is constructed so that once. the message is opened, the user is automatically connected to network server module 2070.
  • the message may be an e-mail, stored in a designated folder of recipient 2020.
  • the e-mail may include an HTML formatted URL to cause the recipient's terminal to access and communicate with network server module 2070.
  • the HTML formatted URL may also include code that causes the user terminal to automatically access network server module 2070 upon the e-mail being opened.
  • the HTML formatted link may also include arguments to specify the play-list 2088 and/or media clip identified by the sender, as well as other parameters of the URL.
  • sender 2010 can select a media program that is signaled transmitted to recipient 2020 by messaging module 2080.
  • the program may correspond to one or more play-lists, playing back multiple media resources. While sender 2010 is being played back the program, the sender 2010 can specify the address of recipient 2020 to messaging module 2080.
  • the messaging module 2080 generate a message that includes a selectable link to enable the recipient to access the network server module 2070. Arguments or scripting contained with the URL identify the particular play-list being signaled to the sender 2010. Since the play-list is updated after every media resource is played back to sender 2010, recipient 2020 accesses the play-list at the selection being played back to the sender 2010. The play-list is then signaled to the sender 2010 and recipient 2020 simultaneously, or approximately thereabout.
  • recipient 2020 accesses the play-list beginning with the media clip played back to sender 2010 when the sender 2010 selected to transmit the message to recipient 2020.
  • sender 2010 transmits a search request causing media, based on search criterias of a specific artist and a ranking.
  • the network server module 2070 identifies URLs matching the search request and forms play-list 2075 for sender 2010. After reviewing the play-list 2075, the sender 2010 decides to share the media playback with a friend, recipient 2020, whom the sender believes would appreciate play-list 2075.
  • the sender 2010 requests messaging module 2080 to transmit message 2085 to recipient 2020 by submitting the recipient's e-mail address to the messaging module 2080.
  • the message 2085 sits on the recipient's terminal until accessed.
  • the recipient 2020 selects message 2085 to access play-list 2075.
  • sender 2010 may request the entire play-list 2075 to be transmitted to recipient 2020. In this way, sender 2010 and recipient 2020 may share a common interest in certain genres, category, artists etc. of media playback.
  • FIG. 21 illustrates a user-interface 1900, under an embodiment of the invention.
  • the user-interface 1900 may correspond to the play-back interface 1020, described with FIG. 10.
  • the user-interface may be a terminal side component in communication with one or more server-side modules, such as for example web server module 1070 (FIG. 12).
  • user-interface 1900 includes a plurality of user-interactive features.
  • the user-interactive features enable users to interact with the system 200 from the user terminal 210. Some of the plurality of user-interactive features allow users to submit search requests and other media requests for playback. Other control user-interactive features allow users to affect the play back of the media resources.
  • the user-interface 1900 may output to the user information, images, and/or audio that is different than the media resource being played back.
  • user-interface 1900 displays metadata information to the users about the media resource being played back.
  • the user-interface 1900 enables users to, for example, view advertisement, receive electronic messages, and create and manage play-lists.
  • the user-interface 1900 includes a first menu field 1910, a second menu field 1920, and a third menu field 1930.
  • the first menu field 1910 allows the user to select a first criteria for media resources that are to be played back.
  • the second menu field 1920 allows the user to select a second criteria from a set of media resources matching the first criteria.
  • the third menu field 1930 allows the user to select a third criteria from the a set of media resources matching both the first and second criteria.
  • Each of the menu fields 1910-1930 may be in the form of click and drag-down menus.
  • the user-interface 1900 may also include a text field 1940.
  • the text field 1940 allows users to enter a search criteria.
  • the search criteria entered in text field 1940 may be combined with the search criterias of one or more menu fields 1910-1930 using a Boolean operation.
  • all search criterias are AND together into a single search criteria.
  • the search criteria entered in text field 1940 may correspond to an artist name, or a title of a media creation.
  • the user-interface 1900 provides features that prompt a user for input, such as for one more search criterias.
  • the web server module 270 receives the search criteria(s) signaled from user terminal 210, and access media and metadata table 247.
  • Each of the menu field 1910-1930 may also allow users to enter text field as the search criterias.
  • the search criteria(s) are matched to URLs containing metadata having the same (or equivalent) criterias.
  • the search request may specify a genre, and a first name of an artist.
  • web access server 270 locates URLs to media resources having associated metadata information that identifies the media resource as being of the same genre, and as containing the same first name in the artist name metadata indexed data structure.
  • the web server module includes a feedback display portion 1950.
  • the feedback display portion 1950 may signal information, messages, advertisement etc. to the end user.
  • feedback display portion 1950 displays metadata information about the media resource being played back. For example, a song of a particular genre and category may be played back.
  • the display screen portion 1950 may display the title of the song, the artist name, a play-list associated with the song, a rating component of the song, and the song's duration. Information is read when the media playback component loads the media resource.
  • user-interface 1900 includes a play-list feature 1960.
  • the play-list feature 1960 enables users to add a media creation to a play-list.
  • the play-list feature 1960 may, as an example, be a selectable icon. Upon selecting the play-list feature 1960, a pop-up window (not shown) may be displayed allowing a user to name or select the play-list that will include the media resource being played. In this way, a user of user terminal 210 can provide input to create and manage play-lists, using systems such as described with FIG. 12 and 19.
  • the user-interface 1900 may include one or more control user- interactive features.
  • the control user-interactive features may be in the form of selectable icons.
  • a skip feature 1972 causes, for example, web server module 270 to signal a URL of another media creation to the media playback component. This causes the media playback component to start playing back a new media creation.
  • a pause feature 1974 enables users to pause the media playback component from playing back the media resource. The pause feature
  • a volume feature 1978 signals the application program interface 276 (FIG. 5) to raise the volume of the media resource being played back.
  • the user-interface 1900 may also include a rating feature 1980.
  • the rating feature 1980 may be in the form of multiple selectable icons, where the icons are arranged to correspond to a rating. For example, five icons may be provided to represent best to worst ratings.
  • the rating feature 1980 enables a user to rate a media resource during or after it is played back on the user terminal 210.
  • the rating feature 1980 is used to prompt a user to signal a rating to rating component 1030 (FIG. 12).
  • the rating feature 1980 may be a user response to a media clip played back on user terminal 210.
  • the rating component 1030 receives the rating and modifies rating information associated with the URL that is stored in 1045.
  • the rating information may then be provided to other users or user terminals. For example, the rating information may then be signaled to display portions 1950 of other user terminals 210 who select that media clip for playback.
  • the user-interface 1900 also includes a personal play-list feature 1985.
  • the personal play-list feature includes iconic selection features, including an add icon 1987 to add a URL to a play-list, and a play icon 1989 to play a personal play-list.
  • the add icon 1987 enables a user to signal play-list generator
  • the user-interface 1900 may also include an e-mail selection feature
  • FIG. 22 illustrates an embodiment in which user-interface 1900 is displayed on the desktop along a second window 2210 showing a web site 2212.
  • the web site 2212 hosts the media file being played back.
  • web server module 1070 signals a media file URL to the media player component of the terminal.
  • the web server module 1070 concurrently signals the web browser component 213 on the terminal another URL to the hosting web site.
  • the web browser 213 opens the second window 2210 to display the web site while the media from the media file is being played back on the terminal. In this way, users are displayed the web site hosting the media file while media from the media file is played back. This allows the user to view, for example, banner ads, artist name and titles, and copyright information while media from the web site is being played back.
  • a URL to a next media file is signaled to the media player component on the terminal.
  • the next URL may be determined by a sequence of a play-list, or by a result to a search term inputted from the user. If the URL of the next media file is hosted on a web site that is different than the preceding web site, then web server module 270 signals the URL of the next hosting web site to the web browser.
  • the second window 2210 displays a second web site 2212' that hosts the media file being played back. In this way, the second window 2210 displays only web sites hosting the media files being played back.

Abstract

A method is provided for playing back media from a network. The method includes receiving a search criteria from a network enabled device. The method further includes accessing a database comprising a plurality of network addresses, where the database associates each address with one or more classes of information. The addresses in the database each access a media network resource. The method further includes selecting at least one address in the database using the search criteria, and signaling the selected address to the network enabled device. The method also includes controlling the network enabled device so as to automatically access and play back the media resource of the selected address.

Description

STREAMING MEDIA SEARCH AND PLAYBACK SYSTEM
BACKGROUND OF THE INVENTION
Field of the Invention
This invention relates to the field of streaming media content search and playback over a network. In particular, the invention relates to a computer system that enables a continuous streaming media playback from a distribution of sites available over a network such as the Internet. Description of the Related Art
Computers currently can access streaming media on the Internet. Streaming media available on the Internet include, for example, music, video clips such as movie trailers, home movies, and animation.
Users locate streaming media on the Internet by manually selecting links. Typically, users browse the media sites that contain numerous sub-links.
Users sometimes select through a chain of links to locate a desired media on a media link. Once located, the desired media link may or may not contain the desired media.
Some services provide media search engine capabilities. Users may enter a search request for selected media creations by an artist. The media search engine then displays links to categories and/or sub-links of media that are determined to match one or more criteria in the search request set forth by the user. The determination of which links should be displayed in response to the search request is dependent on the algorithm used in by the search engine. Typically, links displayed to users of current search engines are not subject to a determination of the quality or availability of the media associated with the media links. Further, the search results are outputted to the user as a display of links for the user's selection.
Many Internet streaming media outlets provide a limited number of source nodes. The sites can be unreliable when the number of users accessing the site become congested. SUMMARY OF THE INVENTION
An embodiment of the invention includes a method for playing back media from network. The method comprises receiving a search criteria from a network enabled device. The method further includes accessing a database comprising a plurality of network addresses, where the database associating each address with one or more classes of information. Each address accesses a media network resource. The method further includes selecting at least one address in the database using the search criteria, signaling the selected address to the network enabled device, and controlling the network enabled device so as to automatically access and play back the media resource of the selected address.
Another embodiment includes a method for playing back media from a network. The method includes receiving a request for media playback from a network enabled device. Further, accessing a database comprising a plurality of network addresses, where each address accessing a media network resource.
The method also includes identifying at least two addresses from the database, signaling each identified address to the network enabled device, and controlling the network enabled device to access and automatically play back the media network resources of each of the signaled addresses. In another embodiment, a computer system is provided for playing back media from a network. The computer system comprises a network enabled device comprising a media playback component. A database is included that comprises a plurality of addresses, where each address locates a media network resource on the network. The database includes one or more classes of information associated with each address in the plurality of addresses. The system also includes a network server module that is coupleable to the network enabled device and to the database. The network server module is able to receive a search request from the terminal that specifies one or more criterias. The network server module selects an address from the database that is associated with a class of information that matches the search criteria. The network server module signals the address to the network enabled device to cause the device to access the media network resource, and to signal media playback component to load the media network resource after the device accesses the media network resource.
In another embodiment, a computer system is provided for playing back media from a network. The computer system includes a network enabled platform comprising a media playback component. A database includes a plurality of addresses, where each address locates a media network resource on the network. Each address accesses a media network resource. The embodiment further includes a network server module coupleable to the network enabled device and to the database. The network server receives a request for media playback from the network enabled device, selects multiple addresses from the database, and signal the multiple addresses to the network enabled device. The network server module control a media playback component on the network enabled device to use the addresses to automatically access and play back the media network resource associated with the addresses. In another embodiment, a network enabled device is configured to playback media from a network. The network enabled device is coupleable over the network to a database that includes a plurality of addresses. Each address locates a media network resource on the network. The network enabled device includes a user-interface to prompt for a search request. The network interface signals the request to a network server module that is communicatable with the database, and receives one or more addresses in the database that match the search request. The network enabled device includes a media playback component that is configured to be programmatically controlled by the network server module to automatically load the media network resources located by the addresses that match the search request.
In another embodiment, a network enabled device is configured to playback media from a network. The network enabled device is coupleable over the network to a database comprising a plurality of addresses. Each address locates a media network resource on the network. The network enabled device comprises a user-interface including a plurality of user-interactive features, including a first user-interactive feature that prompts to receive a search request for media playback. A network interface signals the request to a network server module upon the first user-interactive feature receiving the search request for media playback. The network interface is communicatable with the database to receive one or more addresses in the database that match the search request. A network playback component is configured to be programmatically controllable by the network server module to automatically load the media network resource associated with each address signaled to the network enabled device upon accessing the media network resource. A playback of the media playback component being controllable by one or more control user-interactive features.
An embodiment includes a system that provides media from a network to a terminal having a media playback component. The system includes a first network site and a second network site, where each network site locates one or more media network resources. Each media network resource is locatable on the network by a corresponding address that accesses the media network resource. A network server module is coupleable to the terminal through the network. The network server module identifies a first media network resource from the first network site and a second media network resource from the second network site. The network server module signals the corresponding address of the first media network resource to the terminal with control signals to cause the playback component to automatically load the first media network resource. The network server module automatically signals the corresponding address of the second media network resource to the terminal with control signals to cause the playback component to automatically load the second media network resource.
Another embodiment provides a media playback system for the Internet. The system includes an end terminal having a media playback component. A web server module is coupleable to the end terminal through the Internet. The web server module has access to one or more media web resources on a first web site, and to one or more media web resources on a second web site. The web server module signals a first link to a first media web resource on the first web site, and a second link to a second media web resource on the second web site. The web server module provides control signals to the end terminal to cause the end terminal to access and load the first media web resource and the second media web resource into the media playback component. One or more of the embodiments may include a database that stores links to each of the plurality of media web resources, the web server module identifying the first link and the second link from the database.
Another embodiment includes a media playback system for the Internet. The system includes a terminal having a media playback component and a user- interface.
A web server module is coupleable to the user terminal through the Internet. The web server module has access to a plurality of links, where each link locates a media web resource. The plurality of links are accessible on a plurality of web sites. The web server module signals the plurality of links to the user terminal in a designated order to cause the terminal to load the media web resource located by each of the plurality of links into the media playback component. The embodiment also includes a database that stores the plurality of links. The database is accessible to signal the plurality of links to the web server module in the designated order. The user-interface signals one or more inputs from a user to the web server module. The one or more inputs direct the web server to alter the designated order in which the database signals the plurality of links to the web server module.
Another embodiment includes a system that provides media play-back on a network. The system includes a terminal that is coupleable to the network.
A play-list module is coupleable to the terminal. The play-list module stores a first play-list signaled from the terminal. The first play-list includes a plurality of network addresses. A first network address locates a first media network resource on a first network site, and a second network address locates a second media network resource on a second network site. A network server module is coupleable to the terminal and to the play-list module. The network server module signals the first play-list to the terminal. The network server module controls the terminal to cause the terminal to access the media network resource associated with each network address in the first play-list, and to automatically load each respective media network resources into the media playback component.
Another embodiment includes a method for providing media to a terminal coupled to a network, where the terminal includes a media playback component. A terminal is programmatically directed to access a first network site in the plurality of network sites. The media playback component on the terminal is caused to automatically load a first media web resource located at the first network site to playback a first media. The terminal is programmatically directed to access a second network site in the plurality of network sites. The media playback component on the terminal is caused to automatically load a second media web resource located at the second network site to playback a second media.
Another embodiment includes a method to provide media to a terminal coupled to the Internet. A database is accessed that stores a plurality of links, where each link opening a corresponding media web resource. A first link is selected from the database, the first link being located on a first network site. Next, a second link is selected from the database, the second link being located in a second network site. The second network site is external to the first network site. Then, the selected links are signaled to a media playback component on the terminal to sequentially access the media web resources associated with the selected links. The media playback component on the terminal is automatically signaled to load each of the media web resource accessed from the selected links so as to playback a media corresponding to each media web resource. Another embodiment includes a system to share media playback from a network between a plurality of terminals. The plurality of terminals include a first terminal and a second terminal. The system includes a play-list component locatable on the network by a selectable link. The play-list component identifies a plurality of links to form a play-list, where each link in the play-list locating a media file on the network. The system includes a network server module that signals the plurality of links that form the play-list to the first terminal. The network server module receives a signal to transmit the selectable link to a second terminal to enable the second terminal to locate the play-list module. In another embodiment, a method is provided to locate web resources on the Internet. A web site is accessed to identify a plurality of links using a web browser component. The web site can be automatically or programmatically accessed. Each of the plurality of links are selectable to open a corresponding web resource of a specified data type on the web site. The plurality of links are made available to a plurality of Internet enabled devices that select one or more of the links.
Another embodiment mcludes a system to locating web resources on the Internet. The system includes a web browser component, and a database. A search module controls the web browser component to access at least one web site. The search module controls the web browser component to identify a plurality of links to media web resources at the web site. Each of the plurality of links are selectable to open a media web resource. The search module stores the plurality of links in the database.
Another embodiment includes a method to locate web resources on the Internet. A database that stores a plurality of links is accessed, the plurality of links being selectable to open a corresponding web media resources. Metadata information is programmatically identified about the web media resource corresponding to each of the plurality of links. The plurality of links are made accessible to a plurality of Internet enabled devices. The plurality of Internet enabled devices elect one or more of the links to open the corresponding media web resource.
Another embodiment includes a method to locate web resources on the Internet. A database is accessed that includes a plurality of links to media web resources. Each of the plurality of links are programmatically verified to open a corresponding web media resource. Each verified link is accessible to a plurality of Internet enabled devices that select one or more of the links to open the corresponding media web resource. Another embodiment includes a system to locate web resources on the
Internet. The system includes a first indexed data structure comprising a plurality of links. A media playback component is coupleable to the database. The media playback component loads each of the plurality of links to verify whether the link is selectable to open a media web resource. A second indexed data structure stores each verified link in the plurality of links. The second indexed data structure is available to the plurality of Internet enabled devices. Another embodiment includes a method to providing links for use in a media search engine. A plurality of internal links on a network site are identified. The network site makes a network resource of a specific data type accessible for a network enabled device. The internal links that are selectable to open the network resource of the specific data type are extracted. The external link is stored in a database. One or more of the links are automatically signaled to a media playback component in response to receiving a search requests from the network enabled device.
Another embodiment includes a method to provide links for use in a media search engine. The method includes a) receiving from a first indexed data structure a first external link to a first network site; b) initializing a second data structure to be empty; c) determining if the first network site contains at least one internal link; d) storing the at least one internal link contained on the first network site that is not in the first indexed data structure and not in the second indexed data structure as another external link in the first indexed data structure; e) identifying the internal links contained on the first network site that are selectable to open a network resource of a specific data type or types; f) moving the first external link from the first indexed data structure to the second indexed data structure; and g) repeating steps a) through f) until the first indexed data structure is empty. Another embodiment includes a computer system to search for links to streaming media playback on a network, the network being accessible to a network enabled device. The system includes a metacrawler to locate one or more media sites in directories containing streaming media. A media search module coupled to be signaled the one or more directories from the metacrawler. The media search module identifies a plurality of media links for the media sites. Each of the plurality of media links are selectable to open streaming media network resource. A metadata extraction module accesses each media link identified by the media search engine to extract metadata about the identified media link. A database comprising the plurality of media links identified by the media search engine, and the metadata is extracted about each identified media link. The database enables the network enabled device to access the plurality of media links. An embodiment includes a rating system for rating media network resources on a network that is coupleable to a plurality of terminals. The rating system includes a database having a plurality of addresses. Each address locates a corresponding media network resource on the network. A network server module is coupleable to the plurality of terminals. The network server module accesses the database to signal one or more addresses from the database to the plurality of terminals. A rating module is coupleable to the plurality of terminals. The rating module receives a rating input from each of the plurality of terminals. The rating module associates the rating input with a selected address in the database.
In another embodiment, a rating system is provided to rate media network resources on a network. The rating system includes a database comprising a plurality of addresses that each locate a corresponding media network resource on the network. The database includes one or more classes of information associated with each of the plurality of addresses. A network server module is coupleable to the plurality of terminals. The network server module communicates with each of the plurality of terminals to receive a search request. The network server module signals the database to retrieve one or more addresses from the database in response to the search request. The retrieved addresses are associated with a class of information matching the search request. A rating module is coupleable to the plurality of terminals. The rating module receives a rating input from each of the plurality of terminals. The rating module associates the rating input with a selected address in the database. Another embodiment includes a rating system for rating media network resources available over a network. The media network resources are located on the network by a plurality of terminals. The rating system includes a database that stores a plurality of addresses. Each address locates a corresponding media network resource on the network. The database includes a rating associated with each of the plurality of addresses. A network server module is coupleable to each of the plurality of terminals. The network server module accesses the database to signal one or more addresses from the database to the plurality of terminals. A rating module is coupleable to each of the plurality of terminals. The rating module receives a rating input from one of the terminals for each of the plurality of addresses in the database. In response to receiving the rating input from one of the plurality of terminals for a selected address in the database, the rating module accesses the database and reconfigures the rating associated with the selected address. A play-list module accesses the addresses to select one or more combinations of addresses. The play-list module signals the play-list to the network server module as addresses to be signaled to one or more of the plurality of terminals.
In a variation, the address may be selected by the play-list module based on a criteria stored with the address in the database. Examples of criterias include rankings, reflecting preferences of users on terminals after playing back media located by the respective addresses. Other criterias that can be used to select addresses include metadata information, such as artist name and media title. For example, the search request may specify a ranking as one of the criterias. The play-list module then sorts the database for the ranking in selecting the addresses.
Another embodiment includes a method for ranking media sources on a network. The method includes accessing a database that stores a plurality of addresses. Each address locates a media resource on the network and each address is associated with a rating. A selected address from the database is signaled to a terminal coupled to the network. A rating input is received from the terminal after signaling the selected address to the terminal. The rating is associated for the selected address is adjusted in response to receiving the rating input.
Another embodiment includes a method for ranking media sources on a network. A database is accessed that stores a plurality of addresses. Each address locates a media resource on the network and each address is associated with a rating. A combination of addresses are selected to form a play-list. The play-list is signaled to a terminal coupled to the network. A ranking is received from the terminal after signaling the addresses in the play-list to the terminal. The rating is adjusted for each address signaled to the terminal from the play- list in response to receiving the ranking.
Another embodiment includes a method that ranks media sources on a network. A database that stores a plurality of addresses is accessed. Each address locates a media resource on the network, and each address is associated with a rating. A selected address is signaled from the database to a terminal coupled to the network. A ranking is received from the terminal after the selected address is signaled to the terminal. The rating associated for the selected address is adjusted in response to receiving the ranking.
Another embodiment includes a network enabled device that comprises a media playback component. The media playback component is configured to communicate with a network-side module to receive a first plurality of links. Each of the first plurality of links locate a media file on a network. A web browser component is configured to receive a second plurality of links. Each of the second plurality of links hosts a media file located by one of the first plurality of links. The web browser component displays the web site for each of the second plurality of links when the media playback component plays back media from the media file being hosted by web site being displayed.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow process describing an embodiment of the invention.
FIG. 2 is a block diagram illustrating an architecture for use with an embodiment of the invention. FIG. 3 is a block diagram illustrating a back end architecture, under an embodiment of the invention.
FIG. 4 is a block diagram illustrating a media search and playback system, under an embodiment of the invention.
FIG. 5 is a block diagram illustrating components on an end terminal receiving control information from a server-side module, under an embodiment of the invention.
FIG. 6 is a flow chart illustrating a system for forming a search database of media resources accessible on a network, under an embodiment of the invention. FIG. 7 is a flow chart illustrating a system for forming a search database of media resources accessible on a network, under an embodiment of the invention. FIG. 8 is a flow chart for verifying records in a search database of media resources, under an embodiment of the invention.
FIG. 9 is a flow chart for extracting metadata about a media resource associated with a site on a network, under an embodiment of the invention. FIG. 10 is a flow chart for forming play-lists for end users of a system under an embodiment of the invention.
FIG. 11 is a flow chart for receiving user input in response to playing back media resources from a search database, under an embodiment of the invention. FIG. 12 is a block diagram of a media playback system including a rating feature, under an embodiment of the invention.
FIG. 13 is a flow chart describing user input to a user interface for a media playback system, under an embodiment of the invention.
FIG. 14 is a flow chart describing a rating system, under an embodiment of the invention.
FIG. 15 illustrates an exemplary structure for a database to maintain updated records on ratings for addresses containing media resources, under an embodiment of the invention.
FIG. 16 is a flow chart for creating play-lists using rating information, under an embodiment of the invention.
FIG. 17 is a flow chart for programmatically categorizing media files, under an embodiment of the invention.
FIG. 18 is a flow chart for creating personalized play-lists of streaming media files available in a network, under an embodiment of the invention. FIG. 19 illustrates a distributed playback architecture, under an embodiment of the invention.
FIG. 20 illustrates a block diagram of a messaging application, under an embodiment of the invention.
FIG. 21 illustrates a user-interface for use with a media search and playback system, under an embodiment of the invention.
FIG. 22 includes another user-interface displaying an instance of the web browser while media is being played back, under an embodiment of the invention. DETAILED DESCRIPTION
A. System Overview
According to an embodiment, a system is provided comprising a media search engine. The media search engine may be used to create a database of links to media files. The links may be structured according to predefined categories and/or user-defined search criteria. A client terminal includes a media player to automatically access one or more media files using the corresponding links. The media player then plays back media contained on the media files. Among other advantages of the invention, the user terminal accesses media files at various sites on a network, without requiring users to manually select media links. For example, user-terminals may output music to a user by automatically accessing one or more Internet sites containing media files. The music is outputted without requiring users' to view and select links to sites containing the media.
In contrast to embodiments of the invention, using other systems to search for Internet files containing media can be a distracting and time- consuming experience for an end user. In many instances, such a search will yield a series of links on a directory or web search page. A user may have to click on each individual link, one at a time, to play each individual media file.
The selected media file may be broken and unavailable to deliver media content. Even if the number of broken links is not high, the user must still click on the links one at a time to activate each media file, providing at best a stop- and-go experience. In one embodiment of the invention, a user terminal is able to receive continuous media streaming from multiple sites on the Internet. Multiple sites may be accessible to enable the user terminal to receive streaming media without any interaction required from an end user other than signaling a request to receive streaming media. The user terminal automatically accesses media links containing media using a media playback component. The media playback component may be controlled by one or more server-side modules. In one embodiment, the media playback component on the user terminal interacts with one or more play-lists generated by server side modules. The play-lists contain media links for the media playback application. The media links may be structured or ordered in the play-lists. The play-lists may be generated automatically by back-end modules and/or manually by editors. The play-lists may also be generated by end users.
The media playback component may also interact with one or more server side search modules to access media links on the network. The media links may be automatically selected based on, for example, a search criteria from the end user.
Embodiments of the invention provide a system to search and playback media accessible over a network. In one embodiment, a media search engine is provided to enable users to request media output based on a criteria set forth in a search request. The media search engine is able to efficiently locate streaming media on the network that matches criteria set forth in a search request. The system provides continuous playback of media found on multiple sites of the network. For example, a user may specify a search based on a specified artist. The system locates one or more sites on the Internet containing media files from the specified artist. The system enables the user terminal to automatically and continuously play back media creations available on the Internet sites.
Further, a backend system under an embodiment of the invention minimizes possibilities of broken links and mismatched search results. The backend system may also be used to perform manual and/or programmatic quality check of the media associated with each link.
Further, a search engine under an embodiment of the invention employs an Internet web browser software component on the back-end to perform searches and indexing of web resources. The Internet web browser component may be a configured or modified commercially available web browser component. Server-side modules may combine to control the browser in locating media links and media sites containing media content. As a result, the media search engine under this embodiment is efficiently implemented, using existing resources on the back-end system. Among other advantages, embodiments of the invention enable streaming media from multiple media links to be automatically played to users. Embodiments of the invention also employ a scalable and distributed architecture. Scalability in this sense means that the service is available to a large (thousands or more) audience of simultaneous listeners or viewers while minimizing bottlenecks caused by congestion. Another advantage of a distributed architecture is that the unavailability of one media site, or of one or more media on the media site, does not preclude the user terminal from receiving media from another site. As a result, users are ensured a continuous listening or viewing experience.
Further, streaming media may be continuously outputted to users from multiple sites on the Internet based on personalized criteria set forth by users. The criteria may be set forth in one or more requests by an end user. The end user may experience media continuously outputted from multiple sites, based on only one request from the end user. This allows a user to request media through actions such as clicking requests through a user-interface.
An embodiment of the invention enables users to share streaming media experiences with other end users. For example, users may share play-lists containing links to multiple Internet sites. This enables individuals to create media programs of streaming media using multiple sites on the Internet. For example, play-lists may be shared among end users using a host web site, or e- mails.
B. Search and Playback System
A user terminal may transmit a search request from an end user to one or more modules on a server. A client side playback module, one or more server- side modules, or a combination of client and server side modules combine to access the user terminal to a site on the Internet that contains media content immediately available for loading and playback. The response to the search request is media output through the user terminal. The media content is outputted from the user terminal without any additional action on the part of the end user after the initial search request. Once media from one site is completed, the playback module automatically enables the user terminal to access and playback media located on another Internet site. As a result, an embodiment enables the user terminal to output continuous streaming media to an end user, where the media outputted is accessed from multiple Internet sites.
Embodiments of the invention may be implemented on the Internet. Other embodiments may be implemented on any network that carries digital information, such as local-area networks (LANs), Wide Area Networks (WAN), Extranets, Intranets, Internet, and wireless networks, or networks utilizing wireless transmissions. An example of a network for use with an embodiment of the invention includes a network operating under a transmission control protocol/Internet protocol (TCP IP). Embodiments of the invention may also be employed on proprietary WANs, such as America Online™. Thus, discussion of embodiments employed on the Internet are exemplary, and equally applicable to other types of networks described above.
A system for use with an embodiment includes a network enabled device, a network server module and a database. The network enabled device includes a device having components to couple to a network such as the Internet. The network enabled device includes a communication port and processor, and may also include memory and a display. The communication port may be a physical port, such as a connector extending a modem connection. The communication port may also be a wireless port, such as those configured to transmit and receive radio frequency data communications. Examples of network enabled devices include personal computers, handheld devices such as those operating Windows CE™ or Palm™ operating systems, and cellular phones with Internet capabilities such as Sprint PCS™ systems. Other examples of network enabled devices include smart appliances, such as systems including speakers and a processor to receive communications from the network.
The network enabled device may include a media playback component. The media playback component includes an application that plays back streaming media files. Examples of commercially available media playback components include Real Network Player™, Apple Quicktime Player™, and Microsoft Windows Media Player™. In an embodiment, network server module includes server-side modules that communicate to the network enabled device through the communication port. The network modules may be coupleable to the network enabled device through a network such as the Internet. Alternatively, the network server module may exist on the terminal. The network server module may, for example, access a database on the network from the terminal. Still further, the network server module may exist on both the terminal and on a server on the network. Specifically, the network server module may comprise network-side code, executed on the terminal through a client application. For example, the network server module may includes applets or Java script delivered to the user terminal for execution of processes and functions, as disclosed herein.
The database stores a plurality of addresses. Each address locates a media network resource. The media network resource includes files that can be loaded into the media playback component to output media. As used herein, media refers to a combination of audio and/or video. Video media may include a collection of images assembled together in an animated fashion to resemble motion or action. Examples of video media include movie clips, recordings from video recorders, and animation such as cartoons. Still further, media may include a collection of still images and graphic presentations that are combined with audio media. Other examples of media include dynamic or animated pictures or text on a web page.
In one implementation, the media files may be loaded and played back to output music or music videos. As another example, media files may include video or animation with story-lines, plots, characters and resemble conventional television or radio programming. Other examples include movie clips, home movies, movie trailers, or highlights from sporting events.
As used herein, a module includes a program, a subroutine, a portion of a program, a software component or a hardware component capable of performing a stated task or function. A module can exist on a hardware component such as a server independently of other modules, or a module can exist with other modules on the same server or client terminal, or within the same program. The network server module is coupleable to the network enabled device to exchange communications, and to access the database. The network enabled device provides a search request, including a search criteria. The search criteria includes any condition specified by the user to identify some of media files from other media files in the database. Examples of search criterias include titles, artist names, data types, user preferential ratings, quality, and duration.
The network server module selects at least one address from the database based on the search criteria. The identified addresses are signaled to the network enabled device. The network server module may communicate with the media playback component to cause the media playback component to playback the media resource located by the address.
FIG. 1 illustrates a process for use with a system to search for and playback Internet streaming media, under an embodiment of the invention. In one application, the process is performed on architectures described and illustrated with FIGS. 2 and 3. While the process is described with reference to an integral system, one or more steps described with FIG. 1 may be performed independently of other steps. Similarly, components and modules used to perform steps in FIG. 1 may also be implemented in different systems and architectures. Further, steps mentioned with FIG. 1 may be performed concurrently with one other, or in an order different than shown in FIG. 1.
In step 110, a system builds a database of addresses. An address may include a Universal Resource Locations (URL) for network and Internet sites. A media site include, for example, a web site that allows web users to access streaming media. In other embodiments, the media site may locate network media resources on other types of networks. The media sites may be located through a media search engine, as described elsewhere in this application. An exemplary process for identifying media sites under an embodiment of the invention is provided with FIG. 4.
Each media site may provide access to media through one or more media links available at the site or through other means. The media links identify web resources having media content. These web resources may include a file of arbitrary type. Examples of file types include Multipurpose Internet Mail Extension (MIME) types such as MON, JPEG, or RAM. The file is available for loading, browsing or playback on the World Wide web. Each media link may be either an internal or external link relatively to that particular media sites. An internal media link on a web-site may correspond to a URL that identifies a web resource located on the web domain, host, property or server of that site. An external media link on a media site identifies a web resource that is not located on web domain, host, property or server of that media site.
In step 120, the system identifies and stores in a database media links (URLs) for each media site. An exemplary process for identifying and storing media links on individual media site stored in a database of media site is provided with FIG. 5.
In step 130, each media link is verified. The media link is verified to contain media that is available for playback for users. Thus, broken links, inoperational or unavailable media are precluded from being verified.
In step 140, metadata information is extracted from each media link. Preferably, metadata information is extracted from each verified media link. In an embodiment, metadata may also be added to a list or database of extracted metadata. Additional metadata may be added using, for example, manual interactive editing and an editor interface (see for example, editor interface module 275 in FIG. 2). Examples of metadata information include (with an exemplary data structure type associated with each media link in parenthetical): identification (Integer), author (String), duration (String), media URL (URL), source web site (URL), media type (Integer), rating (Real number), number of votes (Integer), verification status (Boolean), edited status (Boolean), genre type (Index into a genre database table), play-list genre status (Boolean), mix (index into mixes database table), play-list mix status (Boolean), mood (index into moods database table), description (String), clip broadcast quality (integer), image size for videos (integer, integer), and play-list mood status (Boolean). One or more of these types of metadata may be extracted from the media links or from the actual media file. For example, a media link to a web resource may be extracted for identification, duration, author, and source web site. Similarly, one or more of these types of metadata may be added to the extracted metadata information. For example, genre type and description information may be added to the extracted metadata information. In step 150, the system creates media play-lists using media database for predefined categories. In an embodiment, verified media links are structured into play-lists, such as described with FIG. 10.
In some embodiments, links to streaming media commercials may be inserted into the play-lists in various locations between media clips. These commercials are targeted to the audience likely to listen to the media available on the play-list. The commercial may be produced and broadcast from distributed sources, or from web server module. Other examples of streaming media that can be included with play-lists includes news items and weather reports.
In step 160, a playback interface is provided. The playback interface causes the media player component on the user terminal to play media associated with media links in each play-list. The playback interface may include features to manipulate play-lists, or to switch between play-lists. For example, the playback interface may allow for a user to skip media or web resources until a preferred media or web resource is located. The playback interface is a software or hardware application that is executed on the user terminal. The playback interface may be packaged as a web application, dynamically accessible through a web server module, or be packaged as a desktop software application.
In an embodiment, a playback interface module includes a streaming media clips rating system that allows users to rate each clip as it is played back. The back-end module rating system uses these votes to generate rated play-lists that are available through the playback Interface for playback. Further, the playback interface module may include a system to allow users to send Internet e-mail notifications to one or more e-mail addressees regarding a media clip, or to send continuous streaming media programs containing multiple media clips from multiple network sources. Recipients may initiate the playback module by selecting one or more links contained in the e- mail. Selecting a link from the e-mail initiates the play back module on that recipient's terminal, causing the play back module to play back the media clip or the programming referred to by the sender. The playback interface includes user interface elements that allow users to define and execute search criteria for media playback.
FIG. 2 is a block diagram illustrating an architecture of a system 200, under an embodiment of the invention. The system is shown to link a user terminal 210 with media that is accessible on the Internet 220, including the
World Wide web 215. Other embodiments of the invention may operate with different types of networks.
The user terminal 210 includes any network enabled multimedia computing platform. In particular, user terminal 210 includes any Internet enabled multimedia computing platform. Examples of computing systems for user terminal 210 include personal computers (PC), personal digital assistants (PDA), smart phones, and Internet enabled televisions and radios, and other devices. The multimedia capability is manifested in the availability of a steaming multimedia playback software and or hardware component. Internet enabling means that the platform can access information over the Internet. In an embodiment, user terminal 210 runs the media location and playback interface module 270 that is accessible over the Internet. A communication channel 212, such as a phone line, wireless medium, or DSL line, is used to couple the user terminal 210 to the Internet. Alternatively, the playback module may be preinstalled on the client terminal. Under both configurations the playback module access media play-lists that are stored on an Internet web server.
A back-end database management system 245 is provided to maintain information used in providing media searching and playback to user terminal 210. The database management system 245 receives information from modules, including server-side modules that communicate with user terminal 210. In an embodiment, modules used to provide media search and playback capabilities to user terminal 210 include a media search module 230, an automatic verification and extraction module 255, an editor module 250, a play-list generator module 260, and a web server module 270. The modules may communicate with an interface of user terminal 210.
Under an embodiment, this communication is implemented using media play-lists on the web server module 270. The modules may also communicate with software applications or components on the user terminal, such as a web browser application or a Streaming Media player component in a manner that will be described below. In an embodiment, media search module 230 includes a media directories meta-crawler module 234 and a media search engine 238. The metacrawler module 234 and the media search engine 238 may be operated independently and concurrently of one another. The meta-crawler module 234 conducts a general search of the Internet 220 to locate media sites. Media sites may include web pages that are likely to contain web resources, media links to web resources, or links to other web pages that have such media links and/or web resources. The meta-crawler module 234 adds the address or location of each found media site to a media site table 243 maintained by database management system 245. The media site table 243 may list media sites that identify a URL for each web page located by meta-crawler 234. In one embodiment, the entire media site table 243 is programmatically generated by meta-crawler module 234, without any manual or interactive human input. In other embodiments, an editor module 232 may interface with database management system 245 to manually input a URL for one or more of the media sites into the media site table 243. Another embodiment may substitute editor module 232 for meta-crawler 234, so that the media subdirectory manually receives a URL for each media site.
The media search engine 238 accesses the media site table 243 maintained by database management system 245. The media search engine 238 identifies media links to web resources on each media site provided in the media site table 243. In an embodiment, media search engine 238 contacts each site in the media site table 243 to locate media links. The media search engine 238 then stores the addresses of each media link in the database management system 245. In an embodiment, a URL of each media link is stored in a portion of a media and metadata table 247. An automatic media verification and metadata extraction (AMVME) module 240 accesses the portion of media and metadata table 247 that contains URLs to the media or media links. The AMVME module 240 verifies each media link in media and metadata table 247. The media links are verified to contain web resources matching a criteria defining media. For example, each media link may be verified to contain a combination of audio or video, rather than be only a text document. In addition, the media links are verified as available for playback by users, to avoid broken or old links being maintained by database management system 245.
The AMVME module 240 also extracts metadata from the web resource associated with each media link in the media and metadata table 247. Preferably, AMVME module 240 extracts metadata from verified media links. The AMVME module 240 may automatically visit each media link on the Internet to extract metadata information, as well as verification information.
The metadata extracted pertains to information available from the web resource or about the web resource on the media link. Examples of metadata that may be extracted by media extraction module 255 include information such as the author, duration, name, description text, broadcasting and playback quality of the media content and frame size and display resolution for images, video and home movie clips. For example, a media link may be associated with a web resource that is an audio media. Metadata that may be extracted from the media creation may include the artist name, the name of the media creation, length and audio/video quality. In an embodiment, media extraction module 255 also verifies that the media is available for playback from the media site. The
AMVME module 240 may accesses database management system 245 to store verification and metadata information in media and metadata table 247.
In an embodiment, a metadata editor interface 275 is included in the system 200. The metadata interface 275 accepts manual entry from an editor pertaining to metadata of the web resource associated with each media link.
The metadata interface module 275 may access one or more media links in the media and metadata table 247 to allow manual inspection of each web resource for metadata information. An editor operating metadata interface module 275 transmits a media streaming request to have the media of the web resource replayed for inspection on a terminal. The metadata editor interface 275 then allows for additional metadata to be stored in media and metadata table 247. Preferably, the additional metadata information includes metadata that is not programmatically available from the media link containing the web resource. For example, metadata editor interface 275 may be used to add information to media and metadata table 247 information such as genre of the web resource, description of the web resource, and system predefined information, such as mood and mix, that are found applicable by the editor to the web resource. A play-list generator module 260 generates a plurality of play-lists based on information in the database management system 245. In an embodiment, play-list generator 260 accesses media and metadata list 247 for URLs to media contained on stored media links. The play-list generator module 260 may create play-lists 284 from predefined categories characterized by information stored in the database system for media links and metadata stored in table 247. Play-lists 284 are stored on web server module 270.
Under one embodiment, the web server module 270 includes a media location and playback application. The user terminal 210 interfaces with the media location and playback application through the Internet. For example, web server module 270 makes the media location and playback application available on a web site. The user can launch the media location and playback application by clicking a link on the web site. Under another embodiment, the playback application is pre-installed on the user terminal.
The playback application accesses the web server module 270 to load media play-lists that are stored on it. In an embodiment, the playback application reads Media URLs and Metadata stored in one or more play-lists. This information is used to playback continuous media from the play-lists to the user, A web page or network site hosting the media file being played back may also be displayed as an instance of a web browser on the network enabled device. For example, audio media may be played back while the user is presented with a web page hosting the audio playback (see FIG. 22 and accompanying disclosure).
The media location and playback application may output or playback media processed by the back-end system and stored in the media and metadata table 247 upon receiving a request from user terminal 210. For example, under an embodiment, music may be outputted from user terminal 210 continuously in a manner that resembles a jukebox, Disk Jockey Mix or a radio station. An interface of the user terminal 210 enables users to skip playback of media clips, or to switch categories. For example, a user on user terminal 210 may select to hear Jazz programming, and then switch to a genre of classical music. One or more features of a user-interface may be used to enable users to make selections (see FIG. 21 and accompanying t(ext). The user may also control playback settings such as volume, pause, seek and retrieve additional media clip information, skip songs, or replay certain songs being automatically played. The user may also control and/or customize the creation of play-lists using the interface. For example, one musical play-list may include a combination of genres, such jazz and classical songs.
In an embodiment, the media location and playback application programmatically controls a streaming media multimedia software or hardware component to perform the actual streaming of the media digital bits to the user terminal's multimedia output device (such as video display and speakers hardware) . The media location and playback application contains functionality that responds to software events generated by the streaming media component. For example, a playback error generated by the streaming component may result in the application instructing the component to play another media file. In another example, the application determines and initiates playback of a media clip in response to the component reporting that the currently playing media has finished. The application may contain user interface elements that allow users to issue media playback commands. These commands are dispatched by the application to the component that implements the playback command for the currently played media. In an embodiment, the media location and playback application works in combination with functional commands provided to the user via a web based software application. A user-interface may be provided to enable the user to select the function commands at the software application. An example of a user-interface is provided below, with FIG. 21 and accompanying text. In an embodiment, a categorization module 290 accesses media and metadata table 247 to add metadata and to categorize media associated with media links in media and metadata table 247. The automatic process generates metadata such as music genre by consulting with information stored in other records in media and metadata table 247. For example, the module can automatically set the genre metadata information for all media creations available in the table, for a given artists, according to genre metadata entered for one or more media creations by the same artists. This process greatly contributes the efficiency and scalability of the back-end system.
FIG. 3 is high-level system software components diagram for the system 300, under an embodiment of the invention. The diagram shows how software components may be written, deployed and interact to provide the functionality described by system 200. The components of system 200 may be described as a three-tier architecture. Components are written to spec and deployed to a backend tier, a middle tier, and a front tier. The backend tier includes the database management system 245. The database management system 245 includes a database 345 and a backend interface module 355. The backend interface module 355 may be provided with, for example, a Microsoft SQL Server system (MS SQL).
The middle tier includes modules that communicate with backend interface module 355. The middle tier may include a media sites manager 360 and a media manager 365 software components. The media sites manager 360 and the media manager 365 each independently communicate with backend interface module 355. The media sites manager 360 components exposes a programmatic interface 362 to communicate with modules and components in the front tier. The media manager 365 includes a first media manager interface 366 and a second media manager interface 368.
The front tier includes a media site module 330 and a media module 340. The media site module 330 communicates with site interface 362. The media site module 340 communicates with the first and second media manager interfaces 366 and 368. The first and second media manager interfaces 366 and 368 communicate with the media module 340. The media site module 330 includes a front-end interface 332 to a directory meta-crawler 310 and a media' search engine 312 modules. The media site module 340 includes a front-end interface 342 to the media search engine 312, an editor interface module 314, and an automatic verification module 316. The directory meta-crawler 310 crawls Internet media directories web sites. The links to media web sites are handed over to the MediaSite module 330 for storage in the database. The media search engine 312 searches for media links on web sites provided by the MediaSite module 330, these links are transferred through Interface 342 on the Media module 340 for storage in the database module 345. The editor interface module 314 obtains media link for editing from the
Media module 340, using Interface 342 and loads the media for editorial playback from the Internet. The editors provide metadata for media that are added to the database by the Media module 340.
The verification module 316 examines media files or web resources accessed through each media link and updates metadata regarding media availability in the database using Media module 340. This module also extracts metadata from Internet media and updates this in the database using Media module 340. The module queries the database for a batch of media records using the Media module 340 and automatically verifies and extracts metadata for the Internet media represented by these records.
With respect to communications from the backend tier to the front-end tier, database management system 345 of the backend tier provides records to the system 300. Each record or record set is disconnected from tables or databases of record(s). Disconnected records are transmitted from the backend tier to the front-end tier as active database objects (ADO) Disconnected record sets.
With respect to communications from the front-end tier to the backend tier, each disconnected record can be updated in the database by any components on any tier. Updated records are transmitted to the database management system 345 in the form of record set update operations. In an embodiment, directory meta-crawler 310 sends URLs to be added to records in database 345 to media site module 330 using an asynchronous method calls. The media search engine 312 transmits to media site module 330 using a get search method call for batch sites of URLs. The media search engine 312 uses an asynchronous method call to add media links and metadata associated with media links.
The components and all tiers expose programmatic interfaces that contain callable methods using the MS DCOM (distributed component object model) software component technology. Communication between the tiers is also implemented using method calls on these components. The components are deployed in front, middle and back tier hardware systems. Alternatively, The components may be developed and deployed using the MS COM+ components technology. Using this technology, a COM+ In Memory Database system
(IMDB) proxies and caches tables of the back-end database module 245. This process speeds up the search and editorial process. COM+ services such Queued Components may used to implement asynchronous method calls exposed on Interfaces 362 and 366.
C. Media Search Engine
Embodiments of the invention locate web resources on a network such as the Internet. In one embodiment, a network browser identifies a plurality of links to one or more network sites. The links are each selectable to open a network resource of a specified data type. The identified links are then made available to network enabled devices that can select one or more of the links.
As used herein, a network browser is software that performs core functions that include (i) loading network resources; (ii) parsing, translating and laying out network resources, and (iii) displaying the network resources. The network browser includes an application programmable interface (API). An embodiment of the invention employs the network browser on a back end to locate the network resources of the specified data type. One advantage of this embodiment is that the web browser is employed on the back end programmatically, rather than through manual interaction with an editor or other user. A network browser may include a shell, an API, and a processing module. A component of the network browser includes the API and the processing module. For Internet applications, the processing module may include, for example, a MSHTM or DLL module. The network browser component performs functions that include loading a network resource, as well as parsing, translating, and laying out the network resource.
In an Internet application, a web browser component may be used to locate resources of a specified data type. The web browser component may be a portion of a commercially available browser. For example, the web browser component for use with an embodiment of the invention may be a reconfigured Netscape Navigator™ or Internet Explorer™ browser.
In an embodiment, the web browser component is programmatically controlled through the API of the web browser to access the web resource for the plurality of links. The web browser may be programmatically controlled to bypass the shell of the web browser. For example, the API may be used to instruct the web browser to ignore the shell, or to detach the functionality of the shell. The remaining web browser component then identifies the links to the specified data types. The result is that the web browser component accesses the web resources of the plurality of links to identify the data types of the resources on the links while ignoring data such as images and sound.
In another embodiment, a search module controls the web browser component to access a web site. The search module controls the web browser component to identify a plurality of links to media web resources at the web site. Each of the plurality of links identified by the web browser component are selectable to open a media web resource. The search module stores the plurality of links in the database.
In another embodiment, a database includes a plurality of links to media web resources. The plurality of links are programmatically verified to determine whether each link opens a corresponding media web resource. The verified link are made available to a plurality of Internet enabled devices that select one or more of the links to open the corresponding media web resource.
The links may be verified on the back end using a media player, including a commercially available media player. For example, each link that needs to be verified may be programmatically loaded through an API of the media player. The response provided by the media player to the link determines whether the links are verified.
In another embodiment, the media player may be programmed to identify metadata from the media web resource of each link. The metadata may then be stored in a database associated with the link.
Among other advantages, embodiments enable network links to files of a particular data type to be rapidly accumulated and stored in a database. Each of the links are selectable to open a file on the network. The files may enable a terminal to play back media. In an embodiment, the addresses access media files that can be loaded into the media playback component of the user terminal. The files can be stored in the database with information that characterizes the files associated with the links. Thus, the links may be characterized by, for example, metadata information, and one or more classes of information. In addition, embodiments enable each link in the database to be programmatically verified, so that there are no broken or unavailable links in the database. Still further, some metadata information may be programmatically identified from each media file. In contrast, existing systems verify links manually, employing interactive users to perform the manual functions. Existing systems also extract metadata information manually.
FIG. 4 illustrates a block diagram in which system 200 receives a search request 203 and provides a response 209. In an embodiment, system 200 processes the search request 203 using the web server module 270 and the media and metadata database 247. The end terminal 210 signals the search request 203 to web server module 270. The web server module 270 accesses the media and metadata database 247 to retrieve one or more URLs matching the search request. The web server module 270 signals the response containing the retrieved URLs to the media playback component 211 of end terminal 210. In an embodiment, the search request 203 includes one or more criterias that specify a selection of URLs from media and metadata database 247. The criterias may correspond to parameters in media and metadata database 247. The table 249 illustrates a data structure of media and metadata database 247. The table 249 includes a URL list comprising a plurality of URLs. Each URL provides direct access to a web resource containing media. Each URL is characterized by one or more parameters that correspond to metadata information about the web resource associated with the URL. As an example, table 249 provides parameters as being genre (G), data type (DT), category (C), web resource identity, and one or more play-lists (PLAY1, PLAY2, PLAY3). The genre data is a broad class identifier of the media creation comprising the web resource of the respective URL. For music, the genre may include rock, classical, and jazz. For movies, the genre may correspond to romance, comedy, horror etc. The genre may be identified either programmatically, or through an editor interface. One genre may be associated with one or more URLs in table 249. In the example provided, URL1-URL7 are in either one of three genres, Gl, G2, and G3. Alternatively, several genres may be associated with one URL.
The data type parameter corresponds to the MIME characteristic of the web resource associated with the URL. The category parameter may correspond to a sub-class of a genre. For example, in music, a category may correspond to soft rock. In movies, a category may correspond to the time- period of the movie. The table 249 illustrates an example in which the category is unique to the genre. Thus, a web resource of one genre is not in the same category as a web resource of another genre. As an example, URLl and URL3 are in the same category, as are URL2 and URL5. However, no other URLs are in the same category. Other metadata information that may be included in media and metadata database 247 include identifier information. The identifier information identifies the web-resource. The identifier may provide name of a specific media creation, as well as an artist or author of the media creation.
In an embodiment, media and metadata database 247 includes play-list information as parameters of metadata information. The play-lists may be identified in any one of several ways. For example, the play-lists may be identified by a unique name or other identifier. The play-lists may be identified by another parameters, such as genre or category type. A Boolean data type may be associated between each URL and each play-lists. The criterias of the search request 203 specify one or more parameters to media and metadata database 247. For example, search request 203 may include criterias corresponding to one or more of a genre, category, play-list, or identifier. In an embodiment, web server module 270 accesses media and metadata database 247 for URLs that have all of the parameters set forth in the search criteria.
The web server module 270 retrieves the URLs matching the criterias of the search request. The response 209 is signaled to the media play-back component 211. The response includes one or more URLs. It is noted that when play-lists are requested, additional URLs multiple play-lists are provided. The response 209 may also include metadata information. For example, the response 209 may signal to end terminal 210 the duration of the web resource for each URL, the artist, the history, etc. The web server module 270 further signals control information 207 to access the URL provided in the response 209. The control information 207 causes end terminal 210 to load the web resource for the media playback component 211. Thus, the media playback component automatically loads the web resources associated with each URL included in response 209. The experience provided to end user 210 is that media is outputted in response to inputting a search request. This is in contrast to other systems in which the user is provided links to media sites containing web resources matching the search criteria.
As an example, a user may specify a media creation from a specific category. For example, the user may input a search request for "nature sounds".
The web server module 210 accesses media and metadata database 247 for parameters that match "nature sounds". In one application, a play-list is located that is pre-programmed to provide URLs to web resources containing nature sounds. The response 209 then comprises one or more play-lists, each containing multiple URLs to web resources containing nature sounds. In another application, a category parameter or sub-parameter is searched for "nature sounds". The response 209 may include one or more URLs that are not pre-programmed into play-lists. The response 209 may provide URLs to media playback component 211 one at a time, in groups (such as in play -lists), or all at once.
In an embodiment, categorization module 280 may be used to programmatically create one or more parameters such as illustrated by table 249. The parameters may be determined, by for example, identifying metadata information on the media site hosting the URL. FIG. 5 is a block diagram illustrating the media playback component
211 being controlled by one or more modules of system 200, under an embodiment of the invention. The web server module 270 signals control information to an application program interface 276 of the media playback component 211. The control information may be provided by the media locator and playback application of the web server module 270. The web server module 270 signals commands, with one or more URLs corresponding to media resources selected to be signaled to the user terminal 210. As an example, commands from web server module 270 may be instructions that use each URL as an arguments. Examples of commands that control the media playback component include play (URL) and pause (URL).
As an optional feature, web server module 270 may also signal control information to a web browser component 213 of user terminal 210. The control information may be in the form of commands to access and display a web site associated with the media resource. The commands may be provided to an application program interface 279 of the web browser component 213. This allows the system 200 to display the web site associated with the media resource selected to be played back on user terminal 210. Thus, user terminal 210 may play back media from the media resource while displaying the web site where the media resource is located. One advantage of this embodiment is that it allows users to receive media playback from the media resource in one medium, such as audio, while providing images, audio text, or media not associated with the media resource. Thus, users can listen to songs from media resources signaled to user terminal 210, while viewing banner ads on the web site where the media resource is located.
Each URL signaled from web server module 270 has a network protocol. For media resources, and specifically audio files, types of protocols include "HTTP" protocol, "PNM" protocol (RealNetworks, having .RM extensions), or "RTSP" protocol (having .RAM extensions). The URLs signaled by web server module 270 include the protocol at an initial portion of the string forming the URL. Preferably, for HTTP protocol files, the string portion corresponding to "HTTP" is replaced with "PNM". This adjustment prevents playback component 211 from failing as a result of a bug in the media playback component, particularly if the playback component 211 is a RealNetworks Player™. The web server module 270 may be either a network-side module, client side module, or a combination of both. In either embodiment, web server module 270 may access the database directly or indirectly.
FIG. 6 illustrates a process for a component of an Internet media search module, under an embodiment of the invention. A process such as described with FIG. 6 may be used to build a database of media sites, where each media site includes media links and/or links to other media sites. In an embodiment, the process of FIG. 6 is applicable to meta-crawler module 234 in system 200 (FIG. 2). The process of FIG. 6 is a backend operation that is unobservable to a user of the user terminal. Preferably, the flow process of FIG. 6 is an automatic or programmatically controlled process, conducted periodically. For example, media links may be identified and stored under a flow process such as shown by FIG. 6 every few days or weeks. The duration between executions of the flow process of FIG. 6 maybe referred to as an idle period.
The process of FIG. 6 provides for extracting URLs of media sites from a web pages directory. Examples of a web directory for use with an embodiment of the invention includes directories on web sites such as Yahoo.com® and Lycos.com®. The flow process of FIG. 6 is a backend operation that is unobservable to a user of user terminal 210. Preferably, the flow process of FIG. 6 is an automatic or programmatically controlled process that does not require human interaction.
In step 410, a directory home page is added to a searched-pages data structure. The searched-pages data structure maintains. A similarly structured parsed-pages data structure is also maintained to hold URL of pages already processed by the module. The parsed-pages data structure indicates whether a home page web directory was previously parsed by the process. The searched- pages and parsed- pages data structures are keyed or indexed by URL and they support querying for existence of a given URL in them. Examples of keyed or indexed data structures include database tables and hashtables.
In step 410, the parsed-pages data structure is empty, indicating that the directory home pages in the searched-page data structure have not been parsed. In step 420, a determination is made as to whether the searched-pages data structure is empty. If the determination is affirmative, the flow process is done. This occurs when the process has parsed all the Internal web pages in the directory. If the determination is negative, a current page link is called from the searched-pages data structure in step 430. The current page is then loaded into memory and parsed. Parsing means loading and reading the HTML source (or equivalent) code of the web page so its content is accessible and in a machine- readable format.
In an embodiment, the page is parsed using an HTML parser component. An example of an HTML parser is a web browser. Thus, the current page may be parsed using a web Browser component. Specifically, step 440 of the process may be implemented using an application program interface (API) that is exposed by the web Browser component. In this context, the web Browser component is configured and used in a back-end server process with no visible presentation area or end user. It is configured not to load or render media at the web page so that the loading is more efficient. The configuration may occur through the API.
In an embodiment, the web browser is configured to parse web pages efficiently by, for example, automatically excluding a presentation layer from being displayed. Further, the web browser may be programmatically configured to not load or parse information that is not critical to the search function. For example, the web browser component can be configured to not load media data found on web pages.
In step 440, all links to media sites on the currently parsed-page are determined using the parser. The HTML parser API allows access to the page document object model. In step 450, all new external page links are added to the media sites database. An example of a web-page data structure is provided with media site database table 243 (FIG. 2). The database stores the URL of the media sites and not the sites themselves. New external page links implies media sites that are not already indexed or present in the media site database.
In step 460, all URLs also link to internal links found on the currently parsed page are added to the web pages data structure, provided that the URL in question is (i) not already existing in the searched pages data structure and (ii) not already existing in the parsed pages data structure. In step 470, the currently parsed page is moved to the parsed pages data structure, and the flow process returns to step 420. This process adds the URL of all the media sites indexed by the directory to the media sites database. FIG. 7 illustrates another component of an Internet media search module, under an embodiment of the invention. A process such as described with FIG. 7 may be used to identify and store media links to web resources that are accessible from one or more web site. The process of FIG. 7 may be used in conjunction with a process such as described with FIG. 4. In an embodiment, the process of FIG. 7 is applicable to media search engine 238 in system 200
(FIG. 2).
In an embodiment, the flow process of FIG. 7 is a backend operation that is unobservable to a user of the user terminal. Preferably, the flow process of FIG. 7 is an automatic or programmatically controlled process, conducted periodically. For example, media links may be identified and stored under a flow process such as shown by FIG. 7 every few days or weeks. The duration between executions of the flow process of FIG. 7 maybe referred to as an idle period.
The flow process of FIG. 7 assumes access to a media sites database store. The database includes URLs to each media site. An exemplary database of media sites includes media sites and metadata table 243, described with FIG. 2. Each record contains a URL field for media site and a field indicating the last date, if any that the process described in FIG. 5 lastly processed the web site at the URL in the URL field. Reference to a media site that is parsed implies that the media site was programmatically examined for media links to web resources, and for links to other media sites using a process such as the one described in FIG 5.
In step 510, MIME types are deteraiined for web resources. Examples of MIME types that can be selected for step 510 include JPEG, MOV, RAM and WAVE.
In step 515, a record for a media site is fetched or received from the database. A condition of the media site received is that the media site was not parsed by the process described here during the idle period. This condition may be specified by checking, for example, the date field associated with the record. For example, a date field may indicate when the media site was previously parsed.
A determination is made in step 520 as to whether a record and a URL was received in step 515. If no URL was received, the system interprets that all media sites in the database have already been parsed during the idle period. If a URL is received, the system in step 525 adds the URL of the media site to a URLs data structure of media sites to be processed. The URL data structure of unparsed media sites may be indexed or keyed. For example, the URL data structure may be a list, or a hashtable software data-structure.
In step 526, the last search field of the record fetched in step 515 is updated with the current date to indicate that the media site is parsed. In an embodiment, the field corresponds to a date in which the last parsing occurred. In step 530, a URL in the date structure of unparsed media sites is fetched or received. If in step 535, a determination is made that the URL data structure is empty, the system returns to step 515. As will be further described, the flow process returns to step 515 only when step 570 is completed. If a determination is made that the URL data structure is not empty. Thus, steps 510-545 allow the flow process to distinguish between when a media site is being parsed for the first time, or has been previously parsed by the process during the idle period.
In step 545, media links on the media site fetched in step 530 are extracted from the HTML code of the page fetched in step 530. The media links are associated with web resources on that media site. In step 545, the media resources may be in any MIME format recognizable as media. In an embodiment, the currently parsed page is parsed using an HTML parser. An example of an HTML parser is a web browser. Thus, the media links may be extracted using a web browser. Specifically, the media links may be extracted using an application program interface (API) provided by a web browser software or hardware component. The web browser may be configured to perform this task efficiently by, for example, excluding a presentation layer. Further, the web browser may be programmatically configured to not load or parse information that is not critical to the search function. For example, the browser component may be configured to not load media data found on web pages.
In step 550, new media links on each media site that match the MIME format specified in step 510 are added to a database. New media links refers to media links that do not already existing in the database from, for example, a previous execution of the flow process. In step 555, metadata is extracted from each new media link found in step 550. The metadata may also be stored in the database, with a reference to the URL the media that the metadata refers to. An exemplary database is provided with media and metadata table 247 (FIG. 2). An example of metadata is the URL of the web Page that provided a link for each media URL.
In step 560, the URLs of all new internal media site links on the media site currently being parsed are added to the URL data structure. New internal media site links refers to URLs of media sites that do not already exit in the URL data structure and that are not in the parsed URL data structure.
In step 570, the currently parsed page is removed from the URL data structure and added to the parsed URL data structure. The flow process returns to step 530.
D. Verification and Extraction Flow Processes
FIG. 8 illustrates a flow process that verifies and extracts metadata from
Internet streaming media files. While media links are specified, other embodiments of the invention may employ the flow process of FIG. 8 within a system that incorporates verification and extraction of any content or resource associated with links stored in a database. A specific application employs a process such as described with FIG. 4 in the system 200. In the system 200, flow process of FIG. 8 may be performed by the AMVME module 240.
In step 610, a module operating the flow process of FIG. 8 fetches or receives an unverified URL from a database. An example of such a database is provided by media and metadata table 247 (FIG. 2). The unverified URL corresponds to a media link on a media site stored in a database such as the media site database 243 (FIG. 2). In step 620, a determination is made as to whether a URL for a media link is present. If the URL to the media link is not present, the module assumes all media links have been determined as being verified, and the process is done. If a URL exists, the module in step 630 loads the URL into an Internet multimedia playback software component and programmatically control the component to provide metadata embedded in the media file. In response to this request, the component loads some or the entire file over the Internet and provides the process with this information. In step 640, a determination is made as to whether the media or web resource associated with the URL was successfully loaded over the Internet by the module. If the determination is that media was not loaded, then in step 650 the URL associated with the media link is marked as unavailable and verified. The media is marked as verified to prevent the process from revisiting it once it already extracted metadata for it and verified it. The availability mark assists the flow processes described in FIG. 9 and FIG. 10. The determination may be in the negative if, for example, the media link is old and no longer contains a media file that is available for playback through its URL, or if the media link contains content other than what is designated as media.
In an embodiment, the process may use an availability rating for each media. Under such schema, each media is assumed to have the maximum availability score. For media that are currently not available for playback, step 650 may lower the score by one. The system may consider the media as unavailable if its score is below a predefined threshold. This process is useful since Internet streaming media availability may vary according to factors such as web server load and the time of day or year.
If the media is loaded, then in step 660 the media metadata is extracted from the playback component. Examples of metadata that can be extracted in this step include-artist name, playback duration, playback quality, frame size etc. In step 670, extracted metadata is stored in a database with the associated URL of the media link that was presently verified. In step 680, the URL of the media link presently verified is marked as verified in the database. The flow process then returns to step 610. FIG. 9 illustrates a process for interactively adding metadata to URLs of media stored in a database. In an embodiment, the database may correspond to verified URLs of media links determined in FIG. 8. For example, a process such as shown by FIG. 9 may be performed on information stored by AMVME module 240 in media and metadata table 243. The process of FIG. 9 may be performed by a module interface, such as editor interface 275 (FIG. 2).
In step 710, an unedited media record is fetched or received by an interface module from a database. The unedited record may be one or more categories of metadata and other information about a media link, media site, or web resource. In an embodiment, the unedited media information includes a
URL to a media link, as well as metadata extracted programmatically, such as described with FIG. 8. In step 720, a determination is made as to whether a record was received. If no record is received in step 720, the flow process assumes there are no unedited records remaining in the database, and the process is done. If a record is received, the in step 730 the interface module is updated with the record received. This may correspond to displaying the record fields to the editor operating the editor interface.
In step 740, the web resource associated with the record received is loaded into an Internet multimedia playback software component. Preferably, the software component is programmatically constructed and controlled by the module interface. The software component plays back the media to the editor. The editor is able to experience the media played back from the web resource associated with the media link. The editor is able to determine metadata information regarding the web resource. For example, the editor may determine mood, genre, quality, appropriate mix name, and description of a web resource such as an audio media creation or a home movie clip. In an embodiment, the editor controls playback of media located by the search engine on the network side, such as by pausing and playing media back through an editor interface. In step 745, a determination is made as to whether the record received also includes previously determined metadata. The previously determined metadata may be extracted programmatically in another process, such as described with FIG. 8. If the determination is made that the record received does not contain extracted metadata information, then in step 750 the editor interface automatically extract metadata from the web resource associated with the URL of the record. To accomplish this step, the editor interface may access another module that automatically extracts certain types of metadata information. For example, the editor interface may forward the record to AMVME module 240 (FIG. 3) that performs a flow process such as shown by
FIG. 8.
Once metadata is included with the record, then a determination is made in step 760 that the editor operating the interface module may choose to save the auto-extracted metadata already included with the record in the database. If the determination to step 760 is negative, then in step 765 the editor updates media information with editor provided metadata using input elements on the editorial software user interface. Once the determination in step 760 is positive, the record is marked as edited and updated in step 770. Then, all the newly added metadata for the media record is updated to the database. The process then continues from step 710 for the next unedited media. The media is marked as edited so it won't be included for editing in the process.
FIG. 10 illustrates a process for generating a play-list. The flow process of FIG. 10 assumes that play-lists names are predetermined and stored in a database. Each play-list is identifiable by its name. For example, classic music, jazz and rock. The play-lists include records of media links. In an embodiment, a record includes at least a URL to a streaming media that is categorized in a database as belonging to the play-list name. In step 810, a play-list name is received from the-play-lists database. In step 820, a determination is made as to whether a play-list name was received. If the determination is negative, the system assumes it produced play-lists for all play-lists names, and the flow process is done. This process is routinely executed to add all newly added media to the appropriate play-lists.
In step 830, media records that match search criteria are fetched from the media database. The criteria is that each record play-list record field must match the current play list name obtained in step 810 and that the 'in-play-lis record field for the play list name has False value. In step 840, a play-list is generated to include all media stored at the records fetched is step 830. The new play-list contains one record entry for each fetched media record. Preferably, each play list record includes media URL and metadata information that is obtained from the media database record.
In step 850, the media records called in step 840 are labeled as being in the "in- play-list" for the current play-list name. This is achieved by setting the "in-play-list" value for the media database record to true for the appropriate play-list name.
In step 860, the generated play-list is made available to a server-side module, such as web server module 270 (FIG. 2). As an example, the play-lists may be stored, copied or appended to be made available on the web server module. Once the play-listβ are available on a server-side module, media URLs and metadata stored in the play-lists is made available to the user terminal so that the user terminal may customize media output available from the play-list. Specifically, one or more playback applications that run on the user terminal may read the play-lists, access media links on the play-lists, continually play- back streaming media from media URLs in the play-list and present media metadata to users for further interaction. The play-list may also be configured to provide access to a client-side media player component that uses a URL of a media link to load and play the media associated through it. Additionally, users may further modify and edit play-lists to create personalized media programming. Further, play-lists may be dynamically generated by a web application in response to a request for media playback made on the user terminal.
FIG. 11 is a flow process for software or hardware application that enables a user terminal to playback streaming media programming determined by play-lists. An embodiment described below assumes that play-lists are available for the process, and that play-lists are identifiable by play-list names. For example, the play-lists may be dynamically generated by the play-list module, in response to a search criteria signaled from a user terminal. The play- lists may also be manually generated by editors on the network side. The play- lists may be predetermined by, for example, a process described with FIG. 10.
The playback component can access the play-list without any direct interaction with server side modules. In an embodiment, the flow process employs a streaming media player component installed on the user terminal. The media player may be preexisting on the user terminal. Examples of media players for use with an embodiment include RealNetwork Player™, Microsoft Windows Media Player™, and Apple QuickTime™. The application described in the process may be web based or installed on the user terminal.
In step 910, an application interface for a media player on the user terminal is provided.
In step 920, a default play-list name is selected from a list of play-lists. In an embodiment, a database of play-lists is stored on or accessible through the web server module 270. The play-list generator module creates and stores play- list on the web server module to provide the interface with the user terminal 210 and media player stored thereon. Each play-list may store two or more media links, and preferably a plurality of media links. In step 930, one or more play-lists for the current play-list name are loaded. In step 940, media is presented and played-back on the user terminal. To playback media, server-side modules may provide the media player with URLs to media links that are stored in each play-list. Each play-list may include one or more media link URLs and media metadata. The user terminal then accesses the URL and loads the web resource associated with that media link into a streaming media playback component on the user terminal. Media playback on the user terminal includes outputting, for example, audio and/or video stored in digital format on web resources associated with a media link. In embodiments where the web resources include video media, the step described may dynamically adjust the interface size and the playback component that will handle the actual playback according to the media clip metadata.
Under an embodiment of the invention, the media playback component continuously plays back media by (i) accessing a first site on the network and playing back media from the first site, (ii) then automatically accessing a second site and playing back media from the second site. The media sites may be provided by play-lists which that are made accessible to the media playback component. The sequence for automatically and continuously playing back media may be repeated for each media link included in the play-list. The play- lists may include hundreds of media links, thus allowing the media play back component to automatically and continuously play back media using numerous sites on a network. As a result, a user is able to experience continuous media play back for hours at a time. The user terminal also includes an interactive interface to affect the media being played back. An end user on the user terminal may choose to manipulate media playback through one or more commands that may be inputted through the application interactive interface or presentation layer.
In step 945, a determination is made as to whether an event occurred. If an event occurred, the flow process determines the event. The flow process may determine the event that occurred sequentially or concurrently. Preferably, the flow process is configured to receive media playback event from the streaming media playback component. If the event is to skip the currently played media, then a determination in step 960 causes a corresponding action of the media being skipped, and the process step returning to step 940. If the process received a playback error event, or an playback error event, then a determination in step 965 causes the flow process to return to step 940 to playback media from the next web resource of the play-list or play-list name. If a user quits the application, or signals to quit, then a determination in step 970 causes the flow process to be done. In step 975, a user may choose to view a new media web site while media is being played back on the user terminal. Then in step 980, the media web site is opened in a new Internet window, preferably using the client side web browser.
In step 982, a determination is made as to whether the action selected by the user on the user terminal is to send an e-mail message to one or more e-mail addresses that allow the receiver(s) to playback the current media and the current play-list played by the sender at the time of the event. A user may send either an e-mail containing the URL, the play -list, the play-list name or a URL link. When the message receiver clicks on the link, his terminal will execute the media playback application and will start playing back the media and the play- • lists played at the time of the message-sending event. If the determination is positive, then in step 984 the user terminal prompts the user for an one or more e-mail addresses, and then prompts the user to transmit the e-mail. The user need not have an e-mail client software application for the operation to succeed. The e-mail may be directed to terminals having a streaming media playback component and Internet access.
Preferably, the e-mail message is directed to a user having a user terminal that communicates with server-side modules so that the recipient user terminal is automatically plays back media from the transmitted media link received upon the e-mail being opened. Thus, server side modules may receive addresses from the terminal and act as the source of the email addressed to one or more recipients. In step 986, a determination is made as to whether a user wishes to rate a media played back from the media links. If the determination is positive, then the user is prompted to rate the media in step 988. A rating value is transmitted to a backend web rating system application using the Internet. This operation is part of the service rating system that includes server side modules that produce, in combination with this operation, top and bottom rating media in each media category.
Step 990 illustrates other exemplary actions that may be received from a user on the user terminal interfacing with the playback application. For example, user actions may correspond to pausing media playback, adjusting volume, picture controls, size, seeking within the media, etc. In step 992, playback settings are changed according to user input. In an embodiment, the flow process returns to step 945 to check for another event if any of the determinations in step 982-992 are negative.
E. Rating System for Media Play Back
An embodiment of the invention includes a rating system with a media search and playback system. The rating system allows users to listen or view media segments available over the Internet according to a rating. In addition, users participate in determining rating media segments by providing a rating input after listening or viewing a media clip. The ratings may be used as a category, similar to other categories such as genres or categories.
FIG. 12 illustrates an architecture for use with the rating system, under an embodiment of the invention. The rating system 1000 may be employed with, for example, the system 200 (FIG. 2). The rating system 1000 may include or cooperate with components of a system such as described with FIG. 2 to enable the user view and/or select media clips from play-lists. The generated play-lists may contain a list of links to media on the Internet. Selection of media clips by the user causes media to be played back to the user over the user terminal.
The rating system 1000 includes a backend database management component 1045. The database management component 1045 maintains organizational data structures such as tables that describe rating information for media clips. The media clips include Internet streaming audio or video. The rating information may be in the form of values such as, for example, total votes counted. In an embodiment, database management component 1045 maintains records that comprise meta information on each media clip including the URL to the media clip, the current rating of the media clip, and the total votes for that media clip.
A user 1010 on a user terminal interacts with a web-based playback interface 1020. As an example, play-back interface 1020 outputs play-lists 1018, 1022 to the user. The media clips in each play-lists may be outputted automatically, or displayed for the selection of the user. The play-back interface 1020 may also display to the user genre field 1016 or category field 1014 of the selected media clip, or play-list 1018, 1022. The playback interface 1020 includes features to enable a user on the user terminal to make entries or selections regarding preferences and opinions, as well as other types of information. The user may also view ratings stored on backend database 1045. The user may enter selections by, for example, using icons or other display features. The user may make entries by, for example, inputting text or voice. FIG. 12 illustrates a rating selection component 1012 as a feature of play -back interface 1020. As an example, the rating selection component 1012 allows users to rate a media output between a scale of 1 to 5. A user 1010 may input a rating to play-back interface 1020. The rating is signaled from play-back module 1020 to a rating module 1030. In an embodiment, rating module 1030 maintains a tally for each media clip. The tally compiles ratings received from play-back module 1020. The ratings may be received from more than one user and/or user terminal. The tally may be implemented through a protocol that enables the rating module 1030 to organize media clips according to an order. The organization of the media clips may correspond to a user preferential list, where preferred media clips are, for example, listed together or listed before less preferred clips. The rating module
1030 may also determine a genre, category, or other organization information through selections or entries received from the play-back module 1020. The selections may be tallied through any protocol, such as summation, averages, weighted averages and moving averages. In another embodiment, the rating module 1030 may maintain a text field to store user comments regarding each media clip.
In an embodiment, the rating component 1030 updates the rating information maintained in the database management component 1045. For example, the rating component 1030 may update values of the current rating and total votes for each media link.
A play-list generator 1040 generates play-lists based on rating information maintained in the database management component 1045. The play-list generator 1040 may signal to retrieve or receive records for each media clip. The play-list generator 1040 then automatically generates one or more play-list 1042. As previously discussed, each play-list is a list of media links.
In an embodiment, the play-lists 1042 are generated according to the current rating and/or rating for each media clip. The generated play-lists are provided by the play-list generator 1040 for the play-back interface 1030.
The user 1010 may choose to listen to play-lists containing media clips rated according to one or more criteria. The play-lists may also be organized according to other factors, such as genre and category.
FIG. 13 is a flow chart that allows a user to listen to media clips that are rated according to one or more criteria. In step 1110, the user is provided a user-interface that allows users to receive media sorted according to one or more categories. The categories correspond to genres, such as type of music etc.
In step 1120, the user selects a category from the options presented by the user-interface. In response to the selection, the user terminal is provided one or more play-list in step 1130. The play-list received by the user-terminal matches the category or genre selected by the user. Further, play-lists contain predetermined media links to media clips. The media clips in each of the play- lists are determined according to a rating system, using a system such as described by FIG. 12. The predetermined play-list may correspond to a play-list generated by play-list generator 1040 (FIG. 12). Once the play-list is received by the user terminal, the flow process returns to step 1120.
In step 1140, media clips are played back on the user terminal. The media clips are played back consecutively and automatically, so that the user experiences continuous media playback. For example, the play-lists may contain numerous media creations from a selected genre. The media creations may be determined for the play-list according to a rating formula. The user is provided the media creations of the selected genre continuously, so that the user's media experience resembles listening to an album. FIG. 14 illustrates a flow process for updating a rating of a media clip, under an embodiment of the invention. In step 1210, a module is provided a rating event. The rating event is a rating for a particular media clip, having an associated URL. The rating from the user is predefined from a closed set. For example, the user may provide a rating from 1 to 5. In step 1220, a record is located for the media clip that was currently rated. The record may be stored in a database, and include the media link for the media clip, the current rating of the media clip, and the votes received for that media clip. In an embodiment, the record may include more than one URL associated with the media clip that was rated. In an embodiment, the record is maintained in database management component 1045 (FIG. 12).
In step 1230, a rating field for the media record is updated. The rating field may correspond to the current rating of a media clip. A module such as the rating module 1030 may update the rating field in database management component 1045 (FIG. 12). The media record is updated to determine a new rating. In one embodiment, the new rating is an averaged based formula. The formula may also be weighted. An example of a formula to determine a rating, under an embodiment of the invention is: Newrating= l/(n+l) (N*(old rating)+user provided rating)
N is the total number of votes received, and newrating ranges between 0 and a maximum value. In step 1240, record for the media clip rated is further updated to add an additional vote to the field for votes received. The flow process then returns to step 1210.
FIG. 15 illustrates an exemplary structure for a database to maintain updated records on ratings and votes tallied. The table may associate values corresponding number of votes, rating, and other information to a media link containing a media clip.
FIG. 16 illustrates a flow process for generating media clips into play- lists according to a rating criteria. Play-lists including a rating criteria are referred to as rated play-lists. The flow process assumes known categories for media clips. The flow process also assumes a rating for rated media clips, and the number of media clips in a rated play-list. The flow process may be used with any of the aforementioned embodiments.
In step 1410, a next category may be fetched from a database containing the different categories of media clips. In step 1420, the system makes a deteπnination as to whether a category was received. If no category is received, the system assumes that there are no more media categories to be rated.
In step 1430, a new play-list is created for a current category. In step 1440, up to N rated media clips from a database of rated media clips are added to the play-list. Preferably, N is a constant in the flow process. Then in step 1450, an old play-list is deleted, and the new play-list is saved. The new play- list may be saved in a format that follows predefined protocol so that the play- list and its contents are accessible to a streaming media play back interface. The flow process then returns to step 1410.
FIG. 17 illustrates a flow process for programmatically categorizing media files. The process assumes a database containing metadata associated with media clips. The metadata includes metadata provided by a human editor. For example, the metadata may pertain to categories such as genre, mood and atmosphere. In step 1510, a record is retrieved from the database. The record is retrieved with metadata information containing a first type of metadata information and a second type of metadata information. As an example, the first type of metadata information may correspond to a genre of music, and the second type of metadata information may correspond to an artist. In step 1520, a determination is made as to whether a record was received. If the determination is negative, then the process assumes that all media clips have been categorized.
If the determination in step 1520 is positive, then all records in the database having the first type of metadata information are retrieved in step
1530. In step 1540, all records retrieved in step 1530 are updated to include the second type of metadata information. As an example, all records belonging to a particular artist (first type of metadata information) or given additional metadata information of a particular genre (second type of metadata information). The process then returns to step 1510 to retrieve another record.
In one embodiment, the second type of metadata information is a genus category, and the first type of metadata information is a species of the first type of metadata information. Once the first record is known to have the a particular species and genus, the genus may be determined and stored for all records having the same species.
F. Personalized Media Playback
FIG. 18 is a flow process to create personalized play-lists of streaming media files available on the Internet (or other networks). The play-lists may be personalized by users on user-terminals. In step 1610, a user chooses to add a URL of a selected media clip to a personal favorite play-list. In step 1620, the flow process adds the URL (and metadata) of the selected media clip to a user terminal store for user persistent information, such as an Internet cookie. The persistent data store is then accessible for the web-based play back application on the user terminal. In step 1630, the user selects to play back media clips from that user's favorite play-list. In step 1640, the system reads back the media clips from the persisted data store. In step 1650, the system plays media clips using a URL associated with each media clip. The cookie may also provide additional URLs. Thus, multiple media clips may be played continuously from different sites on the Internet.
The user may edit the play-list, change an order of the play-list, or delete selections from the play-list. The user may designate certain play-lists as personal, so as to identify the play-list with that user's terminal. Alternatively, the play-list may be stored on a network server and accessed using the media location and playback module. Users may access their personal play-lists from any one of a plurality of terminals that have access to the system.
G. Distributed Architecture
An implementation under an embodiment provides a distributed architecture in which a user terminal accesses media resources from a plurality of network sites. In a network such as the Internet, the user terminal accesses multiple web sites to playback media locates as files on those web sites. A network site includes any network location having internal links.
Embodiments of the invention access network sites providing links to media files and/or other network sites. A web site refers to a network site on the Internet. Examples of web sites include web pages, including web pages with HTML links to other web sites, to media files, and to other types of files. The distributed architecture inverts conventional media distribution paradigms. Numerous streaming media files can be streamed to an individual user terminal continuously from throughout the Internet using the embodiment of the distributed playback architecture. The distribution architecture is scalable to provide thousands or millions of streaming media files to user terminals. The users can then play media files located throughout the Internet in a continuous manner from the numerous Internet sites.
FIG. 19 illustrates a distributed playback architecture, under an embodiment of the invention. A user terminal 1710 has access to N network sites that provide access to media, also referred to here as media sites. The N media sites 1722 via web server module 1770. The media sites 1722 each have one or more links to media web resources. The links are represented by URLs 1-N. The web server module 1770 can load the media resources onto a media playback component of user terminal 1710. Once loaded, the media resources are played back by a media playback component on user terminal 1710. In an embodiment, the media sites 1722 correspond to different locations on a network such as the Internet. For example, media sites may have different Internet addresses, including different domains. Each media site provides direct access to a media network resource. This implies that a URL (or link) to one of the media sites accesses the media network resource for playback without accessing another internal URL (or link).
In an embodiment, web server module 1770 signals multiple URL links to user terminal 1710. The media playback component of user terminal 1710 accesses each link to playback the media resource. The URLs are selected for media playback so as to output media from user terminal 1710 according to a predetermined program.
In an embodiment, the program is selected or defined from a search request of user. For example, a search request may designate a category for media output, such as a genre and artist. All URLs containing media from that artist and genre may be gathered and signaled from web server module 1770 to user terminal 1710. The URLs may be provided in any order, such as random, etc. or a chronological order of the artist. In another embodiment, a program may be provided by one or more play-lists. Each play-list in the program may be generated by, for example, a play-list generator 1040 (FIG. 12). The play-lists may be personalized for the user of the end terminal 1710. For example, play-lists may be generated for preferences and profiles specified by the user of user terminal 1710. As another example, a user may couple to the Internet, prompting web server module 1770 to automatically signal one or more play-lists containing the URLs to user terminal 1710. Still, other embodiments provide for URLs to web resources, or play-lists containing the URLs to be randomly provided to user terminal 1710. Among other advantages, the distributed architecture permits simultaneous playback of, for example, thousands or millions of multiple streams which do not congregate on a single point. This avoids congestion arising under examples of the current media paradigms. This ensures that the embodiment of our distributed architecture may "scale," or permit the simultaneous playback of, for example, thousands or millions of simultaneous streams. Further, the quality of the user experience is not affected by scaling a system under the distributed architecture embodiment.
In contrast, conventional broadcasting employs one radio or television signal to broadcast to listeners or viewers. Media files disseminated over the
Internet today may be distributed in a manner which is somewhat similar in that the media file is located on a single server (or small group of servers) which is accessed by potentially large number of Internet users. As a result, the experience of the users may diminish due to the limited ability of current systems to scale.
This distributed playback architecture, the delivery of streaming media through this playback architecture, in combination with the search functionality performed by the back-end module, and the rating and personalization features of the playback client terminal module permits the creation of a broadcasting system that is personalized by an end user. A personal broadcasting system permits each individual user to create media programs which can be sent to, for example, thousands or millions or other users who can simultaneously play different programming combinations using a distribution of Internet (or other network) sites. An example of a distributed architecture playback system includes wireless devices that are communicatable to a network containing media resources. For example, media playback component 1710 may be loaded onto a wireless access protocol (WAP) enabled device. Examples of WAP enabled devices include handheld computes and cell phones. The WAP enabled device may use a wireless communication network to access network server module
1770. The WAP enabled device may also include output features, such as speakers or a display screen. The WAP enabled device accesses media sites 1722 by control of network server module 1770. The WAP enabled device then plays back media from the media sites 1722. The WAP enabled device may then be used to simulate a portable radio.
As another example, an automobile may be equipped with a wireless device. The wireless device accesses multiple media sites on a network such as the Internet to and provide playback of media clips. For example, the user may select to hear music from a favorite play-list using the WAP enabled device in the automobile.
H. Messaging Applications
FIG. 20 is a diagram illustrating a messaging application, under an embodiment of the invention. The messaging application enables the user to share a media playback experience with other users having access to the network.
FIG. 20 assumes the messaging application is operated on a network such as the Internet. In the embodiment, a network interface or network-side module is used to enable messaging, rather than a client messaging applications.
Examples of messaging applications for use with embodiments include e-mails, which are delivered to a folder on a recipient's terminal. Other types of electronic messages include instant messages, which can be displayed or heard on the recipients terminal automatically upon arrival. A messaging module 2080 receives a messaging request from a first user terminal (sender) 2010. The messaging module 2080 may be an application or portion of network server module 2070. The messaging request is entered by the user through the user-interface 1900, using for example, an e-mail selection field 1990. * The messaging module 2080 receives addresses to deliver messages to recipient terminals (recipient) 2020. The sender 2010 may manually signal the . recipients address using entry methods such as keyboards, graphic user selection features, or audio commands. Alternatively, messaging module 2080 has access to network stored addresses for the specific user. The network stored messages are then selectable from a terminal by the user on the sender terminal
2010.
In response to a request from sender 2010, messaging module 2080 generates a message 2085 for the recipient. The request may also include the address of the intended recipient(s). The message 2085 is sent to all recipients 2020 specified by sender 2010. The contents of the message 2085 include a
URL to the network server module 2070. In an embodiment, the URL in the message is packaged with arguments or other coding to identify a play-list maintained on the network server module 2070. The URL may also be packaged with arguments to identify the specific song being played when the sender causes the message to be transmitted to the recipient. Alternatively, the URL may identify to the recipient the search request or criteria used by the sender.
The recipient may choose to return a message 2082 to signal messaging module 2080. In one embodiment, the content of the message is constructed so that once the message is opened, the user can select a link to a module that stores or maintains the play-list 2075. For Internet applications, the link is HTML formatted to include the URL of network server module 2070, and arguments to identify the play-list selected by sender 2010. Once network server module 2070 is accessed by the recipient 2020, arguments 2088 contained with the link identify the specific play-list 2075 experienced by sender 2010 when the request to send the message was made. If the message is instant, the recipient 2020 can respond immediately to simultaneously share the experience of sender 2010. Alternatively, the recipient 2020 can be made to respond automatically upon the recipient 2020 receiving the message 2085, so as to enable sender 2010 and 2020 to simultaneously or concurrently share the same media playback. The argument 2088 that is packaged with the link may also identify individual media clips, and/or an entire play-lists. The recipient 2020 is able to experience media playback from individual media clips selected by sender 2010.
In another embodiment, message 2085 is constructed so that once. the message is opened, the user is automatically connected to network server module 2070. The message may be an e-mail, stored in a designated folder of recipient 2020. The e-mail may include an HTML formatted URL to cause the recipient's terminal to access and communicate with network server module 2070. The HTML formatted URL may also include code that causes the user terminal to automatically access network server module 2070 upon the e-mail being opened. The HTML formatted link may also include arguments to specify the play-list 2088 and/or media clip identified by the sender, as well as other parameters of the URL. Once the play-list or media clip is identified by network server module 2070, the recipient 2020 is able to share the media playback experience of the sender 2010. The sender 2010 can experience the media playback at the time sender 2010 requests the message to be sent.
In the embodiments shown, sender 2010 can select a media program that is signaled transmitted to recipient 2020 by messaging module 2080. The program may correspond to one or more play-lists, playing back multiple media resources. While sender 2010 is being played back the program, the sender 2010 can specify the address of recipient 2020 to messaging module 2080. The messaging module 2080 generate a message that includes a selectable link to enable the recipient to access the network server module 2070. Arguments or scripting contained with the URL identify the particular play-list being signaled to the sender 2010. Since the play-list is updated after every media resource is played back to sender 2010, recipient 2020 accesses the play-list at the selection being played back to the sender 2010. The play-list is then signaled to the sender 2010 and recipient 2020 simultaneously, or approximately thereabout.
Alternatively, recipient 2020 accesses the play-list beginning with the media clip played back to sender 2010 when the sender 2010 selected to transmit the message to recipient 2020.
As an example, sender 2010 transmits a search request causing media, based on search criterias of a specific artist and a ranking. The network server module 2070 identifies URLs matching the search request and forms play-list 2075 for sender 2010. After reviewing the play-list 2075, the sender 2010 decides to share the media playback with a friend, recipient 2020, whom the sender believes would appreciate play-list 2075. The sender 2010 requests messaging module 2080 to transmit message 2085 to recipient 2020 by submitting the recipient's e-mail address to the messaging module 2080. The message 2085 sits on the recipient's terminal until accessed. The recipient 2020 selects message 2085 to access play-list 2075. Unless the messaging is nearly instantaneous, the recipient experiences media playback from the play-list 2075 when sender 2010 request message 2085 to be sent. Alternatively, sender 2010 may request the entire play-list 2075 to be transmitted to recipient 2020. In this way, sender 2010 and recipient 2020 may share a common interest in certain genres, category, artists etc. of media playback. I. User-Interface
FIG. 21 illustrates a user-interface 1900, under an embodiment of the invention. The user-interface 1900 may correspond to the play-back interface 1020, described with FIG. 10. Alternatively, the user-interface may be a terminal side component in communication with one or more server-side modules, such as for example web server module 1070 (FIG. 12).
In an embodiment such as shown by FIG. 12, user-interface 1900 includes a plurality of user-interactive features. The user-interactive features enable users to interact with the system 200 from the user terminal 210. Some of the plurality of user-interactive features allow users to submit search requests and other media requests for playback. Other control user-interactive features allow users to affect the play back of the media resources.
The user-interface 1900 may output to the user information, images, and/or audio that is different than the media resource being played back. For example, user-interface 1900 displays metadata information to the users about the media resource being played back. In addition, the user-interface 1900 enables users to, for example, view advertisement, receive electronic messages, and create and manage play-lists.
In an embodiment such as shown by FIG. 21, the user-interface 1900 includes a first menu field 1910, a second menu field 1920, and a third menu field 1930. The first menu field 1910 allows the user to select a first criteria for media resources that are to be played back. The second menu field 1920 allows the user to select a second criteria from a set of media resources matching the first criteria. The third menu field 1930 allows the user to select a third criteria from the a set of media resources matching both the first and second criteria.
Each of the menu fields 1910-1930 may be in the form of click and drag-down menus.
The user-interface 1900 may also include a text field 1940. The text field 1940 allows users to enter a search criteria. The search criteria entered in text field 1940 may be combined with the search criterias of one or more menu fields 1910-1930 using a Boolean operation. Preferably, all search criterias are AND together into a single search criteria. For example, the search criteria entered in text field 1940 may correspond to an artist name, or a title of a media creation.
In an embodiment, the user-interface 1900 provides features that prompt a user for input, such as for one more search criterias. The web server module 270 receives the search criteria(s) signaled from user terminal 210, and access media and metadata table 247. Each of the menu field 1910-1930 may also allow users to enter text field as the search criterias. The search criteria(s) are matched to URLs containing metadata having the same (or equivalent) criterias. For example, the search request may specify a genre, and a first name of an artist. Then, web access server 270 locates URLs to media resources having associated metadata information that identifies the media resource as being of the same genre, and as containing the same first name in the artist name metadata indexed data structure.
The web server module includes a feedback display portion 1950. The feedback display portion 1950 may signal information, messages, advertisement etc. to the end user. In an embodiment, feedback display portion 1950 displays metadata information about the media resource being played back. For example, a song of a particular genre and category may be played back. The display screen portion 1950 may display the title of the song, the artist name, a play-list associated with the song, a rating component of the song, and the song's duration. Information is read when the media playback component loads the media resource.
Other user-interactive features may also be included in user-interface 1900. In an embodiment, user-interface 1900 includes a play-list feature 1960. The play-list feature 1960 enables users to add a media creation to a play-list.
The play-list feature 1960 may, as an example, be a selectable icon. Upon selecting the play-list feature 1960, a pop-up window (not shown) may be displayed allowing a user to name or select the play-list that will include the media resource being played. In this way, a user of user terminal 210 can provide input to create and manage play-lists, using systems such as described with FIG. 12 and 19.
The user-interface 1900 may include one or more control user- interactive features. The control user-interactive features may be in the form of selectable icons. A skip feature 1972 causes, for example, web server module 270 to signal a URL of another media creation to the media playback component. This causes the media playback component to start playing back a new media creation. A pause feature 1974 enables users to pause the media playback component from playing back the media resource. The pause feature
1974 may signal the media playback component directly, or cause the web server module to signal the command to the media playback component. Reselecting the pause feature 1974 then causes the media creation to be played back from the portion where playback was paused. Similarly, a seek feature 1976 may signal to seek or move to a specific instance of playback on the media resource. A volume feature 1978 signals the application program interface 276 (FIG. 5) to raise the volume of the media resource being played back.
The user-interface 1900 may also include a rating feature 1980. The rating feature 1980 may be in the form of multiple selectable icons, where the icons are arranged to correspond to a rating. For example, five icons may be provided to represent best to worst ratings. In an embodiment, the rating feature 1980 enables a user to rate a media resource during or after it is played back on the user terminal 210. With reference to an embodiment such as described with FIG. 12, the rating feature 1980 is used to prompt a user to signal a rating to rating component 1030 (FIG. 12). The rating feature 1980 may be a user response to a media clip played back on user terminal 210. The rating component 1030 receives the rating and modifies rating information associated with the URL that is stored in 1045. The rating information may then be provided to other users or user terminals. For example, the rating information may then be signaled to display portions 1950 of other user terminals 210 who select that media clip for playback.
The user-interface 1900 also includes a personal play-list feature 1985. The personal play-list feature includes iconic selection features, including an add icon 1987 to add a URL to a play-list, and a play icon 1989 to play a personal play-list. The add icon 1987 enables a user to signal play-list generator
1040 (FIG. 12) to add a URL to the personal play-list. The URL being added to the play-list may correspond to a media resource being played back on user terminal 210. The play icon 1989 may be selected to cause web server module 1070 (FIG. 12) to signal URLs from the personal play-list to the media playback component of user terminal 210. In this way, user terminal 210 may select to have continuous media output from resources previously selected to be on a play-list. The user-interface 1900 may also include an e-mail selection feature
1990. The e-mail selection feature 1990 may be iconic, to allow selection by the user upon the media playback. Once selected, an e-mail program on user terminal 210 may be launched. The e-mail program may be directed to open a new message, and attach the URL of the selected media resource. FIG. 22 illustrates an embodiment in which user-interface 1900 is displayed on the desktop along a second window 2210 showing a web site 2212. The web site 2212 hosts the media file being played back. In this embodiment, web server module 1070 signals a media file URL to the media player component of the terminal. The web server module 1070 concurrently signals the web browser component 213 on the terminal another URL to the hosting web site. The web browser 213 opens the second window 2210 to display the web site while the media from the media file is being played back on the terminal. In this way, users are displayed the web site hosting the media file while media from the media file is played back. This allows the user to view, for example, banner ads, artist name and titles, and copyright information while media from the web site is being played back.
After the playback is complete for one media file, a URL to a next media file is signaled to the media player component on the terminal. The next URL may be determined by a sequence of a play-list, or by a result to a search term inputted from the user. If the URL of the next media file is hosted on a web site that is different than the preceding web site, then web server module 270 signals the URL of the next hosting web site to the web browser. The second window 2210 then displays a second web site 2212' that hosts the media file being played back. In this way, the second window 2210 displays only web sites hosting the media files being played back. J. Conclusion
The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed. Many modifications and equivalent arrangements will be apparent.

Claims

CLAIMSWhat is claimed is:
1. A method for playing back media from a network, the method comprising: receiving a search criteria from a network enabled device; accessing a database comprising a plurality of network addresses, the database associating each address with one or more classes of • information, each address accessing a media resource; selecting at least one address in the database using the search criteria; signaling the selected address to the network enabled device; and controlling the network enabled device so as to automatically access and play back the media resource of the selected address.
2. The method of claim 1 , wherein selecting at least one address in the database includes matching the search criteria with a parameter in the one or more classes of information associated with that address.
3. The method of claim 1, wherein accessing a database comprising a plurality of network addresses includes accessing a plurality of links to Internet sites, each link containing no other internal link.
4. The method of claim 3, wherein selecting at least one address in the database using the search criteria includes selecting a plurality of links in the database using the search criteria, signaling the selected plurality of links to the network enabled device, and programmatically controlling the network enabled device so as to automatically access and sequentially play back the media resource of each of the plurality of selected links in a designated order.
5. The method of claim 4, wherein controlling the network enabled device so as to automatically access and sequentially play back the media resource includes sequentially playing back the media resource of each of the plurality of selected links after accessing the respective selected link.
6. The method of claim 3, wherein receiving a search criteria from a network enabled device includes receiving the search criteria corresponding to an artist name, and wherein selecting at least one address in the database using the search criteria includes selecting a plurality of links that are each associated with a class of information containing a parameter corresponding to the artist name.
7. The method of claim 3, wherein receiving a search criteria from a network enabled device includes receiving the search criteria corresponding to a title of a network media resource, and wherein selecting at least one address in the database using the search criteria includes selecting a plurality of links that are each associated with a class of information containing a parameter corresponding to the title of the network media resource.
8. The method of claim 2, wherein receiving a search criteria from a network enabled device includes receiving the search criteria corresponding to a musical category, and wherein selecting at least one address in the database using the search criteria includes selecting a plurality of links that are each associated with a class of information containing a parameter corresponding to the musical category.
9. A method for playing back media from a network, the method comprising: receiving a request for media playback entered on a network enabled device; accessing a database comprising a plurality of network addresses, each address accessing a media resource; identifying at least two addresses from the database; signaling each identified address to the network enabled device; and controlling the network enabled device to access and automatically play back the media resources of each of the signaled addresses.
10. The method of claim 9, wherein controlling the network enabled device to access the media resources of the signaled links includes signaling a uniform resource locator for one or more of the media resources to a media playback component to cause the network media resources of the signaled links to be accessed and played back on the network enabled device.
11. The method of claim 10, wherein receiving a request for media playback includes receiving the request for media playback from an Internet enabled device, and wherein the method further comprises signaling the uniform resource locator of the one or more media resources to a web browser component on the Internet enabled device to cause a web page to be displayed on the Internet enabled device while the media playback component plays back the media resource on the network enabled device.
12. The method of claim 11 , wherein receiving a request for media playback from a network enabled device includes receiving a request for a play-list comprising a plurality of addresses, the play-list arranging the plurality of addresses so that the addresses are loaded by the media playback component in a designated order, wherein identifying at least two addresses in the database includes identifying the addresses in the play-list, and wherein controlling the network enabled device to access and automatically play back the media resources of the signaled addresses includes accessing and playing back each media resource in the play-list sequentially in the designated order.
13. The method of claim 12, wherein receiving a request for media playback from a network enabled device includes receiving a request for a program comprising multiple play-lists, each play-list being corresponding to a predetermined selection of media resources, wherein identifying at least two addresses includes identifying the addresses in each of the play-lists in the program, and wherein controlling the network enabled device to access and automatically playback the media resources of the signaled addresses includes accessing and playing back each media resource in a sequential order designated by the play-lists of the program.
14. A computer system for playing back media from a network, the computer system comprising: a network enabled device comprising a media playback component; a database comprises a plurality of addresses, each address locating a media resource on the network; a network server module that communicates with the network enabled device and with the database, the network server module being able to receive a search request entered on the network enabled device that specifies one or more criterias, to select at least one address from the database that is associated with a class of information that matches the search criteria, and to cause the media playback component to load the media resource located by the selected address.
15. The computer system of claim 14, wherein the database stores one or more classes of information associated with each address in the plurality of addresses.
16. The computer system of claim 15, wherein the database is locatable by the network enabled device on the network.
17. The computer system of claim 15, wherein at least a portion of the database resides on the network enabled device.
18. The computer system of claim 14, wherein the network server module signals the selected address to the network enabled device to cause the media playback component to load the media resource located by the selected address.
19. The computer system of claim 18, wherein the network server module communicates with the network enabled device through the network.
20. The computer system of claim 14, wherein the network server module is located at least partially on the network enabled device and communicates with the database through the network.
21. The computer system of claim 14, wherein the network server module comprises a sequence of code that is signaled to the network enabled device from another device on the network, the sequence of code being executable on the network enabled device.
22. The computer system of claim 14, wherein the network enabled device comprises the media playback component, and wherein the network server module programmatically controls the media playback component of the network enabled device to playback the media resource.
23. The computer system of claim 14, wherein the network enabled device is a network enabled device selected from a group of devices consisting of a personal computer, a handheld computer, a smart network appliance, and a wireless Internet enabled device.
24. The computer system of claim 14, wherein the database comprises a plurality of links to Internet sites, wherein each link accesses a media resource without requiring another internal link.
25. The computer system of claim 14, wherein all or a portion of the database resides on the network enabled device.
26. The computer system of claim 14, wherein all or a portion of the database is accessible to the network enabled device over the network.
27. The computer system of claim 14, wherein the one or more classes of information for each address in the database include types of metadata selected from the group consisting of genre, title, and data format of the network resource.
28. The computer system of claim 14, wherein the media resource is a streaming media file that outputs a combination of at least video or audio once the media resource is loaded by the media playback component.
29. The computer system of claim 14, wherein the network includes the Internet, the network enabled device includes an Internet enabled device, each of the plurality of addresses includes links to a media web resource, and wherein the network server module signals control information to the Internet enabled device to cause the Internet enabled device to programmatically access each of a plurality of media web resources signaled to the network enabled device.
30. The computer system of claim 29, wherein the web server module signals control information to the media playback component and a web browser component of the Internet enabled device, to cause the media playback component of the network enabled device to programmatically load and playback the media web resource while the web browser displays a web page of a web site corresponding to the media web resource being played back.
31. A computer system for playing back media from a network, the computer system comprising: a network enabled platform comprising a media playback component; a database comprising a plurality of addresses, each address locating a media resource on the network, each address accessing a media resource; and a network server module that coupleable to the media playback component and the database, the network server being able to receive a request for media playback from the network enabled device, to select multiple addresses from the database, to signal the multiple addresses to the network enabled device, and to control a media playback component on the network enabled device to use the addresses to automatically access and play back the media resource associated with the addresses.
32. The computer system of claim 31 , wherein the network server module resides on the network.
33. The computer system of claim 31 , wherein at least a portion of the network server module resides on the network enabled device.
34. The computer system of claim 31 , wherein the network server module comprises a sequence of code that is signaled to the network enabled device from another device on the network, the sequence of code being executable on the network enabled device.
35. The computer system of claim 31 , wherein the network enabled device is an Internet enabled device comprising the media playback component and a network browser component, the database comprises a plurality of links to media web resources, wherein the network server module programmatically controls the media playback component of the Internet enabled device to access and playback the media web resource of each link signaled to the Internet enabled device.
36. The computer system of claim 31 , wherein the network enabled device further comprises a web browser component, and wherein the network server module programmatically controls the web browser component to display a web page associated with the media web resource being played back.
37. The computer system of claim 31 , further comprising a play-list module coupleable to the network server module, the play-list module generating a play-list based on one or more criterias designated by a user of the network enabled device, the play-list comprising a plurality of addresses that are signaled to the network enabled device in response to the request for media playback.
38. The computer system of claim 31 , wherein the network enabled device is a terminal device selected from a group of devices consisting of a personal computer, a handheld computer, a wireless Internet enabled device, and a handheld computer.
39. The computer system of claim 31 , wherein the database comprises a plurality of links to Internet sites, wherein each link accesses a media web resource and contains no other internal link.
40. The computer system of claim 31 , wherein all or a portion of the database resides on the network enabled device.
41. The computer system of claim 31 , wherein all or a portion of the database is accessible to the network enabled device over the network.
42. A network enabled device configured to playback media from a network, the network enabled device being coupleable over to a database comprising a plurality of addresses, each address locating a media resource on a network, the network enabled device comprising: a user-interface to prompt for a search request; a network interface to signal the request to a network server module that is communicatable with the database, and to receive one or more addresses in the database that match the search request; and a media playback component being configured to be programmatically controllable by the network server module to automatically load the media resource associated with each address signaled to the network enabled device upon accessing the media resource.
43. The network enabled device of claim 42, wherein the user interface is controllable by the network server module after the network server module signals the response, the user-interface providing one or more prompts to enable an end user to control the media played back from the one or more media resources associated with the addresses signaled from the network server module.
44. The network enabled device of claim 42, wherein the user-interface prompts for a user to signal the network server module to immediately access a next address signaled to the network enabled device from the network server module.
45. The network enabled device of claim 44, wherein the user-interface prompts for the end user to signal the media playback component to repeat playing back a previously played media resource.
46. The network enabled device of claim 42, wherein the user interface prompts for a specific media resource from the media resources signaled from the network server module for playback, and to pause playback from the media resources signaled from the web server module.
47. The network enabled device of claim 42, wherein the network access component is a web browser residing on an Internet enabled device.
48. The network enabled device of claim 42, wherein all or a portion of the database is accessible to the network enabled device over the network.
49. The network enabled device of claim 42, wherein all or a portion of the database resides on the network enabled device.
50. The network enabled device of claim 42, wherein the network device is
Internet enabled, wherein the network interface signals the request to a web server module that is communicatable with the database to receive one or more links to web sites containing media web resources, the one or more links containing no internal links, and wherein the Internet enabled device further comprises a web browser component, the web browser component being controllable by the web server module to automatically access and display a web page associated with the media web resource being played back by the media playback component.
51. The network enabled device of claim 50, wherein the network interface includes a communication port between the network enabled device and the network.
52. A network enabled device configured to play back media from a network, the network enabled device being coupleable over the network to a database comprising a plurality of addresses, each address locating a media resource on the network, the network enabled device comprising: a user-interface including a plurality of user-interactive features, a first user-interactive feature in the plurality of user-interactive features prompting to receive a search request for media playback; a network interface that signals the request to a network server module upon the first user-interactive feature receiving the search request for media playback, the network interface being communicatable with the database to receive one or more addresses in the database that match the search request; and a media playback component being configured to be programmatically controllable by the network server module to automatically load the media resource associated with each address signaled to the network enabled device upon accessing the media resource, a playback of the media playback component being controllable by one or more control user-interactive features in the plurality of user-interactive features.
53. The network enabled device of claim 52, wherein the first user- interactive feature in the plurality of user-interactive features is selected from a group consisting of selectable icons, text-entry field, and menu items.
54. The network enabled device of claim 53, wherein the control user- interactive features are selected from a group of selectable icons having functions corresponding to skipping to a next address selected to be signaled to the network enabled device, pausing the media resource being played back; repeating the media resource previously played back, and stopping playback from the media playback component.
55. The network enabled device of claim 53, wherein the user-interface includes a plurality of user-interactive features to select a characteristic of a media playback from the media playback component.
56. The network enabled device of claim 55, wherein the user-interface features include the plurality of user-interactive features to select a genre, an artist, or a title of a network media resource for playback .
57. The network enabled device of claim 56, wherein the search request is composed by selecting one or more of the user-interactive features of the user- interface.
58. A method for sharing media playback on a first terminal coupled to a network with other terminals coupled to the network, the method comprising: signaling a link in a play-list to the first terminal, the play-list including one or more links to media files on the network; receiving a signal from the first terminal to message a second terminal while the first terminal is playing back media from one of the media files; signaling the second terminal a selectable link to enable the second terminal to receive one or more links in the play-list; and signaling the one or more links in the play-list to the second terminal upon the selectable link being selected by the second terminal.
59. The method of claim 58, wherein signaling the second terminal a selectable link includes messaging the second terminal the link to the play-list.
60. The method of claim 58, wherein signaling the second terminal a selectable link includes signaling a message to the second terminal that causes the second terminal to access the play-list once the message is opened.
61. The method of claim 58, wherein signaling the one or more links in the play-list to the second terminal includes signaling each link in the play-list to the first terminal and to the second terminal concurrently.
62. The method of claim 58, further comprising receiving the signal from the first terminal to message the second terminal while the first terminal is playing back media located by a link in the play-list, and causing the media playback component of the second terminal to load the media file being played by the first terminal.
63. The method of claim 58, wherein signaling a link to the second terminal that locates the play-list module includes signaling the link to include arguments that locate the address in the play-list corresponding to the media file being played back on the first terminal.
64. A system for sharing media playback from a network between a plurality of terminals, the plurality of terminals including a first terminal and a second terminal, the system comprising: a play-list component locatable on the network by a selectable link, the play-list component identifying a plurality of links to form a play- list, each link in the play-list locating a media file on the network; a network server module signaling the plurality of links that form the play-list to the first terminal, the network server module being able to receive a signal to transmit the selectable link to the second terminal to enable the second terminal to locate the play-list module.
65. The system of claim 64, wherein the network server module signals the plurality of links that form the play-list to the second terminal upon the selectable link being transmitted to the second terminal is selected.
66. The system of claim 64, wherein the messaging module transmits the selectable link as a content of a message.
67. The system of claim 64, wherein the play-list module transmits the selectable link with a corresponding message to the second terminal so that the selectable link is selected when the message opened.
68. The system of claim 65, wherein the play-list module identifies the plurality of links to form a plurality of play-lists, and wherein the messaging module transmits the selectable link with identifiers that identify the play-list being signaled to the first terminal.
69. The system of claim 68, wherein the messaging module transmits the selectable link with identifiers that identify the media file being played back on the first terminal.
70. The system of claim 69, wherein the network server module identifies the link in the play-list being played back on the first terminal and transmits the identified link with a remainder of the links in the play-list to the second terminal, so that the first terminal and the second terminal simultaneously playback the same media files while the links in the play-list are signaled to each of the first terminal and the second terminal.
71. A network enabled device comprising: a media playback component configured to communicate with a network-side module to receive a first plurality of links, each of the first plurality of links locating a media file on a network; a web browser component configured to receive a second plurality of links, each of the second plurality of links hosting a media file located by one of the first plurality of links, the web browser component displaying the web site for each of the second plurality of links that corresponds to the media file being played back by the media playback component.
72. The network enabled device of claim 71 , further comprising a user- interface including user-interactive features for controlling media output from media files located by the first plurality of links.
73. The network enabled device of claim 72, wherein the user-interface is displayed in a first window, and the web browser component displays the web site for each of the second plurality of links in a second window.
74. The network enabled device of claim 73, wherein the media playback component is configured to sequentially receive the first plurality of links from the network-side module, and the web browser displays the web sites hosting media files for each of the web sites in the sequence.
75. A system for playing back media from a network, the system comprising: means for receiving a search criteria from a network enabled device; means for accessing a database comprising a plurality of network addresses, the database associating each address with one or more classes of information, each address accessing a media resource; means for selecting at least one address in the database using the search criteria; means for signaling the selected address to the network enabled device; and means for controlling the network enabled device so as to automatically access and play back the media resource of the selected address
76. A system for playing back media from a network, the system comprising: means for receiving a request for media playback from a network enabled device; means for accessing a database comprising a plurality of network addresses, each address accessing a media resource; means for identifying at least two addresses from the database; means signaling each identified address to the network enabled device; and means for controlling the network enabled device to access and automatically play back the media resources of each of the signaled addresses.
77. A method to locate web resources on the Internet, the method comprising: accessing a web site; identifying a plurality of links using a web browser component, each of the plurality of links being selectable to open a corresponding web resource of a specified data type on the web site; and making the plurality of links available to a plurality of Internet enabled devices that select one or more of the links.
78. The method of claim 77, further comprising arranging the plurality of links in a database that is accessible over the Internet to the plurality of Internet enabled devices.
79. The method of claim 78, further comprising identifying one or more classes of information about each of the plurality of links using a media playback component, and storing each of the plurality of links in association with the one or more classes of information.
80. The method of claim 79, further comprising making the one or more classes of information available to the plurality of Internet enabled devices.
81. The method of claim 77, wherein accessing a web site includes accessing a web site identified by a metacrawler.
82. The method of claim 77, wherein identifying a plurality of links includes identifying links that only access web resources including audio data types, video data types, or a combination of audio and video types.
83. The method of claim 77, wherein identifying a plurality of links using a web browser component includes reconfiguring a commercially available web browser.
84. The method of claim 77, wherein identifying a plurality of links using a web browser component includes programmatically controlling the web browser component through an application programmable interface of a web browser to access the web resource for each of the plurality of links.
85. The method of claim 84, wherein programmatically controlling the web browser through an application programmable interface includes programming the web browser to bypass a shell of the web browser.
86. The method of claim 85, wherein programmatically controlling the web browser through an application programmable interface includes programming the web browser to reduce functionality of the web browser in displaying and translating data stmctures on each web site.
87. The method of claim 84, wherein programmatically controlling the web browser component through an application programmable interface further comprises using the web browser component to parse a web page that provides access to each link in the plurality of links to identify the plurality of links programmatically.
88. The method of claim 77, further comprising verifying that each of the plurality of links are selectable to open the corresponding web resource of the specified data type upon being selected.
89. The method of claim 88, wherein verifying that each of the plurality of links are selectable includes verifying that the web resources of each available on the network.
90. The method of claim 89, wherein verifying that each of the plurality of links are selectable to open the corresponding web resource of the specified data type includes loading each of the plurality of media web resources into a media playback component.
91. A system for locating web resources on the Internet, the system comprising: a web browser component; a database; a search module that controls the web browser component to access at least one web site, the search module controlling the web browser component to identify a plurality of links to media web resources at the web site, each of the plurality of links being selectable to open a media web resource, the search module storing the plurality of links in the database.
92. The system of claim 91 , wherein the search module signals an application programmable interface of the web browser an address of the web site so as to cause the web browser component to load and parse the web site for the plurality of links to media web resources.
93. The system of claim 91 , wherein the search module signals an application programmable interface of the web browser an address of the web site so as to cause the web browser component to load and parse the web site for the plurality of links to media web resources without displaying the media web resources.
94. The system of claim 92, wherein the search module signals the application programmable interface of the web browser the address of the web site so as to cause the web browser component to load and parse the web site for the plurality of links to media web resources of a video data type, an audio data type, or a combination of the audio and video data types.
95. The system of claim 94, wherein the search module causes the web browser component to load and parse the plurality of links to media web resources of datatypes including animation and/or still images
96. The system of claim 91 , further comprising a metacrawler module to locate a plurality of web sites for the search module.
97. The system of claim 91 , wherein the search module controls a media playback component to extract metadata about the media web resources of each of the plurality of links.
98. A method to locate web resources on the Internet, the method comprising: accessing a database including a plurality of links, the plurality of links being selectable to open a corresponding web media resources; programmatically identifying metadata information about the web media resource corresponding to each of the plurality of links; and making the plurality of links accessible to a plurality of Internet enabled devices, the plurality of Internet enabled devices being able to select one or more of the links to open the corresponding media web resource.
99. The method of claim 98, wherein programmatically identifying metadata information about the web media resource corresponding to each of the plurality of links includes signaling each link to a media playback component so as to cause the media playback component to load the corresponding media resource.
100. The method of claim 99, wherein signaling each link to a media playback component includes loading streaming audio media into the media playback component for sound recordings.
101. The method of claim 99, wherein signaling each link to a media playback component includes loading streaming video media in the media playback component for video recordings, including video recording having sound.
102. The method of claim 100, wherein signaling each link to a media playback umt includes determining at least one of a duration of the web media resource, and a title of the web media resource.
103. The method of claim 100, wherein signaling each link to a media playback unit includes determining a broadcast quality of a web media resource.
104. The method of claim 100, wherein signaling each link to a media playback unit includes determining an image size of a web media resource having video or image.
105. The method of claim 100, wherein signaling each link to a media playback unit includes determining at least one of an artist, a genre, and a data type of the web media resource.
106. The method of claim 98, further comprising manually extracting the metadata information after programmatically identifying the metadata information.
107. The method of claim 106, further comprising storing the identified and extracted metadata information with each of the plurality of links in a database, and then making the database available to the plurality of Internet enabled devices.
108. A method to locate web resources on the Internet, the method comprising: accessing a database including a plurality of links to media web resources; programmatically verifying whether each of the plurality of links opens a corresponding web media resource; and making each verified link in the plurality of links accessible to a plurality of Internet enabled devices that select one or more of the links to open the corresponding media web resource.
109. The method of claim 108, wherein programmatically verifying whether each of the plurality of links opens a corresponding web media resource includes loading each link into a media playback component.
110. The method of claim 109, programmatically verifying whether each of the plurality of links opens a corresponding web media resource includes verifying each of the plurality of links makes available a web media resource for playback on one of the Internet enabled devices.
111. The method of claim 108, wherein programmatically verifying whether each of the plurality of links opens a corresponding web media resource includes loading each link into a web browser component
112. The method of claim 108, further comprising programmatically identifying metadata information about the web media resource corresponding to each of the plurality of links using the media playback component.
113. The method of claim 112, wherein programmatically identifying metadata information includes loading each of the verified links into the media playback component and then receiving editorial input about the web media resource loaded onto the media playback component.
114. A system for locating web resources on the Internet, the system being accessible by a plurality of Internet enabled devices, the system comprising: a first indexed data structure comprising a plurality of links; a media playback component coupleable to the database, the media playback component loading each of the plurality of links to verify whether the link is selectable to open a media web resource; a second indexed data structure stores each verified link in the plurality of links, the second indexed data structure being available to the plurality of Internet enabled devices.
115. The system of claim 114, wherein the media playback component identifies one or more classes of information about the web media resource upon loading the link corresponding to the web media resource.
116. The system of claim 114, further comprising a search module that signals each of the plurality of links in the first indexed data structure to the media playback component, and wherein for each verified link, the search module signals the verified link to the second indexed data structure.
117. The system of claim 112, further comprising an editor interface to receive an editor input, the editor input including metadata information that was not identified from the media playback component loading the link.
118. The system of claim 117, further comprising an editor interface to receive an editor input, the editor input including metadata information identified from the media playback component loading the link.
119. The system of claim 118, further comprising an editor interface to receive an editor input, the editor input including metadata information identified from the media playback component loading the link, wherein the search module signals the metadata information about that verified link to the second indexed data structure, so that each verified link is associated with the corresponding metadata received from the editor input.
120. A method for providing links for use in a media search engine, the method comprising: identifying a plurality of internal links on a network site; determining whether the network site makes a network resource of a specific data type accessible for a network enabled device; extracting the internal links that are selectable to open the network resource of the specific datatype; storing the external link in a database; and automatically signaling one or more of the links to a media playback component in response to receiving a search request from the network enabled device.
121. The method of claim 120, wherein extracting the internal links that are selectable to open the network resource of the specific data type includes using a web browser component.
122. The method of claim 120, wherein determining whether the network site makes a network resource of a specific data type accessible for a network enabled device includes using a media playback component.
123. The method of claim 120, including extracting the mtemal links that are selectable to open the network resource of the specific data type for playing back media.
124. A method for providing links for use in a media search engine, the method comprising a) receiving from a first indexed data structure a first external link to a first network site; b) initializing a second data structure to be empty; c) determining if the first network site contains at least one internal link; and d) storing the at least one internal link contained on the first network site that is not in the first indexed data structure and not in the second indexed data structure as another external link in the first indexed data structure; e) identifying the internal links contained on the first network site that are selectable to open a network resource of a specific data type or types; f) moving the first external link from the first indexed data structure to the second indexed data structure; and g) repeating steps a) through f) until the first indexed data structure is empty.
125. The method of claim 124, wherein prior to receiving from a first indexed data structure a first link to a first site, adding one or more of the first plurality of links to the first indexed data structure using an editor interface.
126. The method of claim 125, wherein prior to receiving from a first indexed data structure a first link to a first site, adding one or more of the first plurality of links to the first indexed data structure using a metacrawler.
127. A computer system to search for links to stteaming media playback on a network, the network being accessible to a network enabled device, the computer system comprising: a metacrawler to locate one or more media sites containing streaming media; a media search module coupled to the metacrawler be signaled the one or more media sites, the media search module being able to identify a plurality of media links located by the one or more media sites, each of the plurality of media links being selectable to open streaming media network resource; a metadata extraction module that accesses each media link identified by the media search engine to extract metadata about the identified media link; and a database comprising the plurality of media links identified by the media search engine, and the metadata extracted about each identified media link, the database enabling the network enabled device to access the plurality of media links.
128. The computer system of claim 127, wherein the metacrawler locates one or more media sites in media directories, each media directory comprising a plurality of media sites .
129. The computer system of claim 127, where the metadata extraction module comprises a media playback component that loads the streaming media network resource.
130. The computer system of claim 127, wherein the metadata extracted from each identified link is sorted in the database according to one or more classes of information.
131. The computer system of claim 130, wherein the metadata extracted is sorted into one or more classes of information selected from classes consisting of genre, sub-genre, artist, and title.
132. The computer system of claim 131, further comprising a verification module that verifies each media link identified by the media link module opens the corresponding streaming media network resource.
133. A computer system to search for links to streaming media playback on a network, the network being accessible to a network enabled device, the computer system comprising: means for accessing a web site; means for identifying a plurality of links using a web browser component, each of the plurality of links being selectable to open a corresponding web resource of a specified data type on the web site; and making the plurality of links available to a plurality of Internet enabled devices that select one or more of the links.
134. A system for providing media from a network to a terminal, the terminal including a media playback component, the system comprising: a first network site and a second network site, each network site locating one or more media network resources, each media network resource being locatable on the network by a corresponding address that accesses the media network resource; and a network server module that communicates with the media playback component, the network server module identifying a first media network resource from the first network site and a second media network resource from the second network site, the network server module signaling the corresponding address of the first media network resource to the media playback component with control signals to cause the playback component to automatically load the first media network resource, the network server module automatically signaling the corresponding address of the second media network resource to the media playback component with control signals to cause the playback component to automatically load the second media network resource.
135. The system of claim 134, wherein the network server module signals the corresponding addresses of the first and second media network resource to the terminal with control signals to automatically playback the first media network resource and then the second media network resource on the terminal.
136. The system of claim 134, further comprising a database including the corresponding addresses of the one or more media network resources on each of the first and second network sites, wherein the network server module selects the first media network resource and the second media network resource from the database using a selection criteria.
137. The system of claim 134, wherein the network server module is coupleable to the user terminal through the network.
138. The system of claim 134, wherein the network server module is located on the user terminal.
139. The system of claim 136, wherein the database is coupleable to the user terminal through the network.
140. The system of claim 136, wherein the database is located on the user terminal.
141. The system of claim 136, wherein the database includes metadata about each of the media network resources, and wherein the network server module selects the first network media resource and the second network media resource using metadata associated with the corresponding address of the first media network resource and the second media network resource.
142. The system of claim 141, wherein the network server module identifies the first and second media network resources by matching a criteria signaled from the terminal to metadata information provided in the database.
143. The system of claim 134, wherein the network server module identifies the first media network resource and the second media network resource through a random selection.
144. The system of claim 134, wherein the network server module signals the first media network resource, the second media network resource, and other media network resources to the terminal in a predeteπriined order, the other media network resources being located on the first network site, the second network site, or an other network site.
145. The system of claim 144, wherein the network server module signals the terminal to access a next media network resource in the predetermined order automatically if any of the first media network resource, the second media network resource, or the other media network resources are unavailable.
146. The system of claim 134, wherein the first media network resource and the second media network resource are locatable over the Internet.
147. The system of claim 146, wherein the first media network resource includes an Internet addresses having a first domain, and the second media network resource includes an Internet address having a second domain.
148. The system of claim 134, wherein the first media network resource and the second media network resource include a combination of music and/or video.
149. The system of claim 134, wherein the corresponding addresses of the one or more media network resources on the first network site and on the second network site each contain no internal links.
150. A media playback system for the Internet, the system comprising: an end terminal including a media playback component; and a web server module coupleable to the end terminal through the Internet, the web server module having access to one or more media web resources on a first web site, and to one or more media web resources on a second web site, the web server module signaling a first link that locates a first media web resource on the first web site, and a second link that locates a second media web resource on the second web site; the web server module providing control signals to the end terminal to cause the end terminal to access and load the first media web resource and the second media web resource into the media playback component.
151. The system of claim 150, wherein the web server module provides control signals to the playback component of the end terminal to cause the end terminal to playback the first media web resource after loading the first media web resource, and to playback the second media web resource after loading the second media web resource.
152. The system of claim 151, wherein the end terminal includes a web browser, the web browser receiving the first link and the control signals from the web server module to cause the web server module to display a web page of the first web site concurrently while the first media web resource is being played back, the web browser receiving the second link and the control signals from the web server module to cause the web server module to display a web page of the second web site concurrently while the second web media resource is being played back.
153. A media playback system for the Internet, the system comprising: a user terminal including a media playback component; and a web server module coupleable to the user terminal through the
Internet, the web server module having access to a plurality of web sites including a first web site and a second web site, each of the plurality of web sites including one or more media web resources, the web server module signaling a first link to a first media web resource on the first web site and a second link to a second media web resource on the second web site, the web server module providing control signals to the user terminal to cause the user terminal to access and load the first media web resource and the second media web resource; and a database including links to each of the plurality of media web resources, the web server module identifying the first link and the second link from the database.
154. The system of claim 153, wherein each of the plurality of links in the database are selectable to open a corresponding media web resource in the plurality of media web resources.
155. The system of claim 154, wherein the database includes metadata about each of the plurality of media web resources, and wherein the web server module identifies the first link by using metadata associated with the first media web resource, and the web server module identifies the second link by using metadata associated with the second media web resource.
156. The system of claim 155, wherein the web server module identifies at least the first link by matching a criteria signaled from the terminal to metadata information in the database corresponding to the first media web resource.
157. The system of claim 155, wherein the web server module identifies at least the first link to the first media web resource and the second link to the second media web resource through a random selection.
158. The system of claim 153, wherein the web server module signals the terminal to access another media web resource automatically if an accessed media web resource is unavailable, the other media web resource being located on either the first web site, the second web site, or a third web site.
159. A media playback system for the Internet, the system comprising: a terminal including a media playback component and a user-interface; a web server module coupleable to the user terminal through the Internet, the web server module having access to a plurality of links, each of the plurality of links locating a media web resource, the plurality of links being accessible on a plurality of web sites, the web server module signaling the plurality of links to the user terminal in a designated order to cause the terminal to load the media web resource located by each of the plurality of links into the media playback component; and a database comprising the plurality of links, the database being accessible to signal the plurality of links to the web server module in the designated order; wherein the user-interface signals one or more inputs from a user to the web server module, the one or more inputs directing the web server to alter the designated order in which the database signals the plurality of links to the web server module.
160. The system of claim 159, wherein the user-interface signals a first input from the user to skip a subsequent link in the designated order.
161. The system of claim 160, wherein the user-interface signals a second input from the user to cause the web server module to replace a first designated order with a second designated order.
162. The system of claim 161, wherein the first designated order includes a selection of links stored in the database belonging to a first category, and the second designated order includes a selection of links stored in the database belonging to a second category.
163. The system of claim 162, wherein the web server module selects at least some of the plurality of media web resources by matching a criteria signaled from the terminal to metadata information stored in the database, the metadata being sorted to correspond to one or more of the plurality links.
164. The system of claim 159, wherein the web server module randomly selects at least some of the plurality of links.
165. The system of claim 159, wherein the web server module signals another link in the plurality of links to the terminal to as to cause the terminal to access another media web resource automatically if an accessed media web resource is unavailable.
166. A system for providing media play-back on a network, the system comprising: a terminal coupleable to the network; a play-list module coupleable to the terminal, the play-list module storing a first play-list signaled from the terminal, the first play-list comprising a plurality of network addresses, including a first network address that locates a first media network resource on a first network site, and a second network address that locates a second media network resource on a second network site; a network server module coupleable to the terminal and to the play-list module, the network server module signaling the first play-list to the terminal, the network server module controlling the terminal to cause the terminal to access the media network resource associated with each network address in the first play-list, and to automatically load each respective media network resources into the media playback component.
167. The system of claim 166, wherein the play-list module receives and stores a plurality of play-lists from a plurality of terminals, each play-list comprising a plurality of network addresses, including a first network address that locates a first media network resource on a first network site, and a second network address that locates a second media network resource on a second network site, wherein the network server module responds to a request from a second terminal for a select play-list in the plurality of play-lists by signaling the plurality of network address in the select play-list to the second terminal.
168. The system of claim 167, wherein the media network resource located by each network address in one of the plurality of play-lists is loaded into a playback component on the requesting terminal to playback media having a combination of music and/or video.
169. A method for providing media to a terminal coupled to a network, the terminal comprising a media playback component, the method comprising: programmatically directing the terminal to access a first network site in the plurality of network sites; causing the media playback component on the terminal to automatically load a first media web resource located at the first network site to playback a first media; programmatically directing the terminal to access a second network site in the plurality of network sites; and causing the media playback component on the terminal to automatically load a second media web resource located at the second network site to playback a second media.
170. The method of claim 169, further comprising: programmatically directing the terminal to access one or more additional network sites in the plurality of network sites; and causing the media playback component on the terminal to automatically load each media web resource located on each of the one or more additional network sites so as to sequentially playback media from each of the network sites accessed by the media playback component.
171. The method of claim 170, wherein programmatically directing the terminal to access a first network site in the plurality of network sites includes loading a first web address for the first network site into a web browser component of the terminal, and wherein programmatically directing the terminal to access a second network site in the plurality of network sites includes loading a second web address for the second network site into the web browser component of the terminal.
172. The method of claim 169, wherein programmatically directing the terminal to access a second network site in the plurality of network sites includes programmatically directing the terminal to access the second network site having an address that is external to the first address.
173. The method of claim 169, wherein programmatically directing the terminal to access the first and second network sites in the plurality of network sites includes programmatically directing a web browser component and the media playback component from a web server module coupled to the terminal via the network.
174. A method for providing media to a terminal coupled to the Internet, the method comprising: accessing a database comprising a plurality of links, each link opening a corresponding media web resource; selecting a first link from the database, the first link being located on a first network site; selecting a second link from the database, the second link being located in a second network site, the second network site being external to the first network site; signaling the selected links to a media playback component on the terminal to sequentially access the media web resources associated with the selected links; and automatically signaling the media playback component on the terminal to load each of the media web resource accessed from the selected links so as to playback a media corresponding to each media web resource.
175. The method of claim 174, wherein accessing a database comprising a plurality of links to media web resources includes accessing the database comprising metadata information about the plurality of links, and selecting the first and second links from the database includes selecting the one or more links using the metadata information.
176. The method of claim 174, further comprising detecting if the media playback component fails to load one of the media web resource in the selected media web resources, and then signaling the media playback component to use another selected link from the database to load another media web resource.
177. The method of claim 175, further comprising detecting if the media playback component fails to playback a media corresponding to one of the media web resource in the selected media web resources, and then signaling the media playback component use another link to load another selected link from the database to load another media web resource.
178. A system for providing media to a terminal coupled to a network, the method comprising: means for accessing a plurality of links, each link opening a corresponding media network resource; selecting a first link from the database, the first link being located on a first network site; selecting a second link from the database, the second link being located on a second network site; means for sequentially accessing the media network resources associated with the selected links; and means for automatically playing back media from the media network resources.
179. A rating system for rating media network resources on a network, the network being coupleable to a plurality of terminals, the rating system comprising: a database comprising a plurality of addresses, each address locating a corresponding media network resource on the network; a network server module coupleable to the plurality of terminals, the network server module being able to access the database to signal one or more addresses from the database to the plurality of terminals; and a rating module coupleable to the plurality of terminals, the rating module being able to receive a rating input from each of the plurality of terminals, the rating module associating the rating input with a selected address in the database.
180. The rating system of claim 179, wherein the database includes a rating associated with each of the plurality of addresses
181. The rating system of claim 179, wherein the rating module accesses the database and reconfigures the rating associated with the selected address in response to receiving the rating input for the selected address.
182. The rating system of claim 179, wherein the database further includes one or more classes of information associated with each of the plurality of addresses.
183. The rating system of claim 179, further comprising a play-list module, the play-list module selecting a combination of the plurality of addresses to form a play-list, the network server module accessing the play-list to signal the combination of addresses to one or more of the terminals.
184. The rating system of claim 183, wherein the rating module receives the rating input from one or more of the terminals for each address that comprises the play-list signaled to that terminals.
185. The rating system of claim 183, wherein the rating module receives a play-list rating input for the play-list from one or more of the terminals receiving the play-list.
186. The system of claim 183, wherein the play-list module selects the combination of addresses using the rating associated with each address in the database.
187. The system of claim 183, wherein the play-list module selects the combination of addresses using the rating of each address in the database that share a same class of information.
188. The system of claim 187, wherein the same class of information is selected from a class group consisting of genre, sub-genre, title, and artist.
189. The system of claim 187, wherein the play-list module selects the combination of addresses using the rating of each address in the database that share two or more of the same classes of information, each same class of information being selected from a group consisting of genre, sub-genre, title, and artist.
190. The rating system of claim 179, wherein the rating associated with each of the plurality of addresses is a ranking, including a maximum ranking and a mimmum ranking.
191. The rating system of claim 190, wherein the rating module receives the ranking from one of the terminals, accesses an existing ranking from the database, and uses an averaging formula to reconfigure the ranking in the database.
192. The rating system of claim 191, wherein the averaging formula is a weighted average.
193. The rating system of claim 191, wherein the averaging formula is a moving average.
194. A rating system for rating media network resources on a network, the network being coupleable to a plurality of terminals, the rating system comprising: a database comprising a plurality of addresses, each address locating a corresponding media network resource on the network, the database including one or more classes of information associated with each of the plurality of addresses; a network server module coupleable to the plurality of terminals, the network server module communicating with each of the plurality of terminals to receive a search request, the network server module signaling the database to retrieve one or more addresses from the database in response to the search request, the retrieved addresses being associated with a class of information matching the search request; and a rating module coupleable to the plurality of terminals, the rating module being able to receive a rating input from each of the plurality of terminals, the rating module associating the rating input with a selected address in the database.
195. The rating system of claim 194, wherein the network module signals the database to retrieve one or more addresses from the database in response to the search request by matching a criteria in the search request with a parameter included with the one or more classes of information.
196. The rating system of claim 195, wherein the one or more classes of information stored in the database with the plurality of addresses is a rating.
197. The rating system of claim 194, wherein the search request also includes a rating standard that selects addresses in the database using a rating associated with each address.
198. A rating system for rating media network resources available over a network, the media network resources being located on the network by a plurality of terminals, the rating system comprising: a database comprising a plurality of addresses, each address locating a corresponding media network resource on the network, the database including a rating associated with each of the plurality of addresses; a network server module coupleable to each of the plurality of terminals, the network server module being able to access the database to signal one or more addresses from the database to the plurality of terminals; a rating module coupleable to each of the plurality of terminals, the rating module being able to receive a rating input from one of the terminals for each of the plurality of addresses in the database, wherein in response to receiving the rating input from one of the plurality of terminals for a selected address in the database, the rating module accesses the database and reconfigures the rating associated with the selected address; and a play-list module, the play-list module accessing the addresses to select one or more combinations of addresses, each combination of addresses forming a play-list, wherein the play-list module signals the play-list to the network server module as addresses to be signaled to one or more of the plurality of terminals.
199. The rating system of claim 198, wherein the play -list module forms the play-list by using the ranking of the addresses in the database.
200. The rating system of claim 198, wherein the play-list module forms the play-list by arranging each address in the play-list in a designated order so that the addresses in the play-list are accessed by the one or more terminals in the designated order.
201. The rating system of claim 199, wherein the designated order is determined by a ranking of each of the addresses in the play-list relative to rankings of the other addresses in the play-list.
202. The rating system of claim 200, wherein the designated order is determined by arranging each of the addresses in the play-list according to a ranking from highest to lowest.
203. The rating system of claim 198, wherein the database further includes one or more classes of information associated with each of the plurality of addresses, and the play-list module forms a plurality of play-lists using the one or more classes of information.
204. The rating system of claim 198, wherein the play-list module forms a plurality of play-lists by arranging a combination of addresses in the plurality of addresses together in one play-list, wherein the combination of addresses share a same parameter of the one or more classes of information.
205. The rating system of claim 199, wherein the play-list module arranges the addresses in the play-list according to an order determined by a ranking of each ofthe addresses forming the play-list.
206. A method for ranking media sources on a network, the method comprising: accessing a database comprising a plurality of addresses, each address locating a media resource on the network and each address being associated with a rating; signaling a selected address from the database to a terminal coupled to the network; receiving a rating input from the terminal after signaling the selected address to the terminal; and adjusting the rating associated for the selected address in response to receiving the rating input.
207. The method of claim 206, wherein adjusting the rating associated for the selected address in response to receiving the rating input includes averaging the rating input with an existing rating for the selected address in the database.
208. The method of claim 207, wherein averaging the rating input with an existing rating includes implementing a weighted average between the rating input and the existing rating.
209. The method of claim 206, further comprising signaling one or more selected addresses to a plurality of terminals coupled to the network, and receiving a rating input from each ofthe plurality ofthe terminals after signaling the one or more selected addresses to the terminal.
210. The method of claim 209, further comprising adjusting the rating associated for each ofthe one or more selected addresses in response to receiving a rating input from each terminal by calculating a weighted average reflecting an aggregate ofthe plurality of terminals.
211. The method of claim 206, wherein each address locates a music source on the Internet.
212. The method of claim 206, wherein the rating input corresponds to a ranking.
213. A method for ranking media sources on a network, the method comprising: accessing a database comprising a plurality of addresses, each address locating a media resource on the network and each address being associated with a rating; selecting a combination of addresses to form a play-list; signaling the play-list to a terminal coupled to the network; receiving a ranking from the terminal after signaling the one or more of the addresses in the play-list to the terminal; and adjusting the rating of each address signaled to the terminal from the play-list in response to receiving the ranking.
214. The method of claim 213, wherein selecting a combination of addresses for a play-list includes selecting multiple addresses from the database that share one or more classes of information.
215. The method of claim 213, wherein selecting a combination of addresses for a play-list includes arranging each address in the play-list in an order, the order being determined by the ranking of each address in the play-list.
216. A method for ranking media sources on a network, the method comprising: accessing a database comprising a plurality of addresses, each address locating a media resource on the network and each address being associated with a rating; signaling a selected address from the database to a terminal coupled to the network; receiving a ranking from the terminal after signaling the selected address to the terminal; and adjusting the rating associated for the selected address in response to receiving the ranking.
217. The method of claim 216, wherein each address locates a music source.
218. The method of claim 216, wherein each address locates a video or animation source.
219. A rating system for rating media network resources available over a network, the media network resources being located on the network by a plurality of terminals, the rating system comprising: means for accessing a database comprising a plurality of addresses, each address locating a media resource on the network and each address being associated with a rating; means for signaling a selected address from the database to a terminal coupled to the network; means for receiving a ranking from the terminal after signaling the selected address to the terminal; and means for adjusting the rating associated for the selected address in response to receiving the ranking.
PCT/US2001/001946 2000-01-24 2001-01-19 Streaming media search and playback system WO2001053994A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP01903173A EP1348176A2 (en) 2000-01-24 2001-01-19 Streaming media search and playback system
CA002397641A CA2397641A1 (en) 2000-01-24 2001-01-19 Streaming media search and playback system
AU2001231023A AU2001231023A1 (en) 2000-01-24 2001-01-19 Streaming media search and playback system
JP2001554220A JP2004500651A (en) 2000-01-24 2001-01-19 Streaming media search and playback system

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US17778600P 2000-01-24 2000-01-24
US60/177,768 2000-01-24
US09/563,250 2000-05-02
US09/563,173 US6721741B1 (en) 2000-01-24 2000-05-02 Streaming media search system
US09/563,173 2000-05-02
US09/563,104 2000-05-02
US09/563,104 US7228305B1 (en) 2000-01-24 2000-05-02 Rating system for streaming media playback system
US09/563,250 US6389467B1 (en) 2000-01-24 2000-05-02 Streaming media search and continuous playback system of media resources located by multiple network addresses
US09/562,939 2000-05-02
US09/562,939 US7281034B1 (en) 2000-01-24 2000-05-02 System and method for media playback over a network using links that contain control signals and commands

Publications (3)

Publication Number Publication Date
WO2001053994A2 true WO2001053994A2 (en) 2001-07-26
WO2001053994A9 WO2001053994A9 (en) 2002-10-31
WO2001053994A8 WO2001053994A8 (en) 2003-07-31

Family

ID=27538974

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/001946 WO2001053994A2 (en) 2000-01-24 2001-01-19 Streaming media search and playback system

Country Status (2)

Country Link
JP (1) JP2004500651A (en)
WO (1) WO2001053994A2 (en)

Cited By (386)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002023857A2 (en) * 2000-09-11 2002-03-21 Viafone, Inc. Method and system for integrating applications and mobile networks
EP1636724A4 (en) * 2003-06-11 2006-06-21 Yahoo Inc Method and apparatus for organizing and playing data
AU2006200290B2 (en) * 1999-11-10 2008-09-18 Pandora Media, Inc. Internet radio and broadcast method
US7756993B2 (en) 2005-06-22 2010-07-13 Sony Corporation Reproducing apparatus, reproducing method, and reproducing program
WO2011062691A1 (en) * 2009-11-20 2011-05-26 Rovi Technologies Corporation Content integration for a content system
US8631508B2 (en) 2010-06-22 2014-01-14 Rovi Technologies Corporation Managing licenses of media files on playback devices
US8930005B2 (en) 2012-08-07 2015-01-06 Sonos, Inc. Acoustic signatures in a playback system
US8995240B1 (en) 2014-07-22 2015-03-31 Sonos, Inc. Playback using positioning information
US8995687B2 (en) 2012-08-01 2015-03-31 Sonos, Inc. Volume interactions for connected playback devices
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9009794B2 (en) 2011-12-30 2015-04-14 Rovi Guides, Inc. Systems and methods for temporary assignment and exchange of digital access rights
US9014834B2 (en) 2006-09-12 2015-04-21 Sonos, Inc. Multi-channel pairing in a media system
US9031244B2 (en) 2012-06-29 2015-05-12 Sonos, Inc. Smart audio settings
US9042556B2 (en) 2011-07-19 2015-05-26 Sonos, Inc Shaping sound responsive to speaker orientation
US9078010B2 (en) 2012-09-28 2015-07-07 Sonos, Inc. Audio content playback management
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
US9094706B2 (en) 2011-10-21 2015-07-28 Sonos, Inc. Systems and methods for wireless music playback
US9106192B2 (en) 2012-06-28 2015-08-11 Sonos, Inc. System and method for device playback calibration
US9122451B2 (en) 2013-09-30 2015-09-01 Sonos, Inc. Capacitive proximity sensor configuration including a speaker grille
US9130770B2 (en) 2004-06-05 2015-09-08 Sonos, Inc. Establishing a secure wireless network with a minimum human intervention
US9129087B2 (en) 2011-12-30 2015-09-08 Rovi Guides, Inc. Systems and methods for managing digital rights based on a union or intersection of individual rights
US9137564B2 (en) 2012-06-28 2015-09-15 Sonos, Inc. Shift to corresponding media in a playback queue
US9179197B2 (en) 2012-10-10 2015-11-03 Sonos, Inc. Methods and apparatus for multicast optimization
US9185103B2 (en) 2012-09-28 2015-11-10 Sonos, Inc. Streaming music using authentication information
US9191699B2 (en) 2011-12-29 2015-11-17 Sonos, Inc. Systems and methods for connecting an audio controller to a hidden audio network
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US9219460B2 (en) 2014-03-17 2015-12-22 Sonos, Inc. Audio settings based on environment
US9226072B2 (en) 2014-02-21 2015-12-29 Sonos, Inc. Media content based on playback zone awareness
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9223353B2 (en) 2013-09-30 2015-12-29 Sonos, Inc. Ambient light proximity sensing configuration
US9223862B2 (en) 2014-03-21 2015-12-29 Sonos, Inc. Remote storage and provisioning of local-media index
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9223491B2 (en) 2011-09-28 2015-12-29 Sonos, Inc. Methods and apparatus to manage zones of a multi-zone media playback system
US9232277B2 (en) 2013-07-17 2016-01-05 Sonos, Inc. Associating playback devices with playback queues
US9231545B2 (en) 2013-09-27 2016-01-05 Sonos, Inc. Volume enhancements in a multi-zone media playback system
US9237384B2 (en) 2013-02-14 2016-01-12 Sonos, Inc. Automatic configuration of household playback devices
US9241355B2 (en) 2013-09-30 2016-01-19 Sonos, Inc. Media system access via cellular network
US9247492B2 (en) 2011-12-29 2016-01-26 Sonos, Inc. Systems and methods for multi-network audio control
US9244516B2 (en) 2013-09-30 2016-01-26 Sonos, Inc. Media playback system using standby mode in a mesh network
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US9286384B2 (en) 2011-09-21 2016-03-15 Sonos, Inc. Methods and systems to share media
US9298244B2 (en) 2013-09-30 2016-03-29 Sonos, Inc. Communication routes based on low power operation
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US9298415B2 (en) 2013-07-09 2016-03-29 Sonos, Inc. Systems and methods to provide play/pause content
US9313591B2 (en) 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
US9319153B2 (en) 2012-12-04 2016-04-19 Sonos, Inc. Mobile source media content access
US9319409B2 (en) 2013-02-14 2016-04-19 Sonos, Inc. Automatic configuration of household playback devices
US9323404B2 (en) 2013-09-30 2016-04-26 Sonos, Inc. Capacitive proximity sensor configuration including an antenna ground plane
US9329831B1 (en) 2015-02-25 2016-05-03 Sonos, Inc. Playback expansion
US9330096B1 (en) 2015-02-25 2016-05-03 Sonos, Inc. Playback expansion
US9344829B2 (en) 2014-03-17 2016-05-17 Sonos, Inc. Indication of barrier detection
US9344292B2 (en) 2011-12-30 2016-05-17 Sonos, Inc. Systems and methods for player setup room names
US9348824B2 (en) 2014-06-18 2016-05-24 Sonos, Inc. Device group identification
US9355555B2 (en) 2013-09-27 2016-05-31 Sonos, Inc. System and method for issuing commands in a media playback system
US9363255B2 (en) 2014-06-04 2016-06-07 Sonos, Inc. Cloud queue playhead
US9367283B2 (en) 2014-07-22 2016-06-14 Sonos, Inc. Audio settings
US9372610B2 (en) 2014-02-21 2016-06-21 Sonos, Inc. Media system controller interface
US9400632B2 (en) 2012-06-06 2016-07-26 Sonos, Inc. Playback according to playback responsibility in stereo pair
US9408008B2 (en) 2014-02-28 2016-08-02 Sonos, Inc. Playback zone representations
US9438193B2 (en) 2013-06-05 2016-09-06 Sonos, Inc. Satellite volume control
US9456037B2 (en) 2013-09-30 2016-09-27 Sonos, Inc. Identifying a useful wired connection
US9460631B2 (en) 2011-11-02 2016-10-04 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture for playback demonstration at a point of sale display
US9460755B2 (en) 2014-07-14 2016-10-04 Sonos, Inc. Queue identification
US9467737B2 (en) 2014-07-14 2016-10-11 Sonos, Inc. Zone group control
US9478247B2 (en) 2014-04-28 2016-10-25 Sonos, Inc. Management of media content playback
US20160313971A1 (en) 2015-04-24 2016-10-27 Sonos, Inc. Volume Limit
US9483230B1 (en) 2015-04-09 2016-11-01 Sonos, Inc. Wearable device zone group control
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
USD772918S1 (en) 2014-03-07 2016-11-29 Sonos, Inc. Display screen or portion thereof with graphical user interface
US9512954B2 (en) 2014-07-22 2016-12-06 Sonos, Inc. Device base
US9516441B2 (en) 2013-06-24 2016-12-06 Sonos, Inc. Intelligent amplifier activation
US9516440B2 (en) 2012-10-01 2016-12-06 Sonos Providing a multi-channel and a multi-zone audio environment
US9521212B2 (en) 2014-09-30 2016-12-13 Sonos, Inc. Service provider user accounts
US9521074B2 (en) 2012-05-10 2016-12-13 Sonos, Inc. Methods and apparatus for direct routing between nodes of networks
US9519413B2 (en) 2014-07-01 2016-12-13 Sonos, Inc. Lock screen media playback control
US9524338B2 (en) 2014-04-28 2016-12-20 Sonos, Inc. Playback of media content according to media preferences
US9524339B2 (en) 2014-07-30 2016-12-20 Sonos, Inc. Contextual indexing of media items
US9529906B2 (en) 2012-06-15 2016-12-27 Sonos, Inc. Low-latency audio networking
US9537819B2 (en) 2013-09-30 2017-01-03 Sonos, Inc. Facilitating the resolution of address conflicts in a networked media playback system
US9535986B2 (en) 2014-06-27 2017-01-03 Sonos, Inc. Application launch
USD775632S1 (en) 2014-03-07 2017-01-03 Sonos, Inc. Display screen or portion thereof with graphical user interface
US9538305B2 (en) 2015-07-28 2017-01-03 Sonos, Inc. Calibration error conditions
US9544701B1 (en) 2015-07-19 2017-01-10 Sonos, Inc. Base properties in a media playback system
USD784404S1 (en) 2013-05-29 2017-04-18 Sonos, Inc. Display screen portion with icon
USD785649S1 (en) 2014-03-07 2017-05-02 Sonos, Inc. Display screen or portion thereof graphical user interface
US9646085B2 (en) 2014-06-27 2017-05-09 Sonos, Inc. Music streaming using supported services
USD786266S1 (en) 2014-03-07 2017-05-09 Sonos, Inc. Display screen or portion thereof with graphical user interface
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US9654073B2 (en) 2013-06-07 2017-05-16 Sonos, Inc. Group volume control
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US9658820B2 (en) 2003-07-28 2017-05-23 Sonos, Inc. Resuming synchronous playback of content
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US9668049B2 (en) 2012-06-28 2017-05-30 Sonos, Inc. Playback device calibration user interfaces
US9665339B2 (en) 2011-12-28 2017-05-30 Sonos, Inc. Methods and systems to select an audio track
US9665341B2 (en) 2015-02-09 2017-05-30 Sonos, Inc. Synchronized audio mixing
US9672213B2 (en) 2014-06-10 2017-06-06 Sonos, Inc. Providing media items from playback history
US9671997B2 (en) 2014-07-23 2017-06-06 Sonos, Inc. Zone grouping
US9671780B2 (en) 2014-09-29 2017-06-06 Sonos, Inc. Playback device control
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9678712B2 (en) 2012-10-16 2017-06-13 Sonos, Inc. Remote command learning
US9681223B2 (en) 2011-04-18 2017-06-13 Sonos, Inc. Smart line-in processing in a group
US9681232B2 (en) 2011-10-14 2017-06-13 Sonos, Inc. Control of multiple playback devices
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US9678707B2 (en) 2015-04-10 2017-06-13 Sonos, Inc. Identification of audio content facilitated by playback device
US9680214B2 (en) 2013-09-30 2017-06-13 Sonos, Inc. Antenna assemblies
US9680960B2 (en) 2014-04-28 2017-06-13 Sonos, Inc. Receiving media content based on media preferences of multiple users
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US9684485B2 (en) 2013-09-30 2017-06-20 Sonos, Inc. Fast-resume audio playback
US9693146B2 (en) 2015-09-11 2017-06-27 Sonos, Inc. Transducer diaphragm
US9693165B2 (en) 2015-09-17 2017-06-27 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US9693164B1 (en) 2016-08-05 2017-06-27 Sonos, Inc. Determining direction of networked microphone device relative to audio playback device
US9690466B2 (en) 2004-06-05 2017-06-27 Sonos, Inc. Method and apparatus for displaying single and internet radio items in a play queue
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US9690271B2 (en) 2012-06-28 2017-06-27 Sonos, Inc. Speaker calibration
US9690539B2 (en) 2012-06-28 2017-06-27 Sonos, Inc. Speaker calibration user interface
US9703521B2 (en) 2013-05-29 2017-07-11 Sonos, Inc. Moving a playback queue to a new zone
US9706323B2 (en) 2014-09-09 2017-07-11 Sonos, Inc. Playback device calibration
US9706319B2 (en) 2015-04-20 2017-07-11 Sonos, Inc. Wireless radio switching
US9705950B2 (en) 2014-04-03 2017-07-11 Sonos, Inc. Methods and systems for transmitting playlists
USD792420S1 (en) 2014-03-07 2017-07-18 Sonos, Inc. Display screen or portion thereof with graphical user interface
US9710222B2 (en) 2012-06-27 2017-07-18 Sonos, Inc. Portable playback device state variable
US9712663B2 (en) 2008-02-22 2017-07-18 Sonos, Inc. Device lock mode
US9715367B2 (en) 2014-09-09 2017-07-25 Sonos, Inc. Audio processing algorithms
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9720642B2 (en) 2014-06-04 2017-08-01 Sonos, Inc. Prioritizing media content requests
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US9729118B2 (en) 2015-07-24 2017-08-08 Sonos, Inc. Loudness matching
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9727219B2 (en) 2013-03-15 2017-08-08 Sonos, Inc. Media playback system controller having multiple graphical interfaces
US9736572B2 (en) 2012-08-31 2017-08-15 Sonos, Inc. Playback based on received sound waves
US9735978B2 (en) 2013-05-29 2017-08-15 Sonos, Inc. Playback queue control via a playlist on a mobile device
US9734243B2 (en) 2010-10-13 2017-08-15 Sonos, Inc. Adjusting a playback device
US9734242B2 (en) 2003-07-28 2017-08-15 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US9742839B2 (en) 2014-09-12 2017-08-22 Sonos, Inc. Cloud queue item removal
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US9743194B1 (en) 2016-02-08 2017-08-22 Sonos, Inc. Woven transducer apparatus
US9743207B1 (en) 2016-01-18 2017-08-22 Sonos, Inc. Calibration using multiple recording devices
US9749760B2 (en) 2006-09-12 2017-08-29 Sonos, Inc. Updating zone configuration in a multi-zone media system
US9749763B2 (en) 2014-09-09 2017-08-29 Sonos, Inc. Playback device calibration
US9763018B1 (en) 2016-04-12 2017-09-12 Sonos, Inc. Calibration of audio playback devices
US9772817B2 (en) 2016-02-22 2017-09-26 Sonos, Inc. Room-corrected voice detection
US9779759B2 (en) 2015-09-17 2017-10-03 Sonos, Inc. Device impairment detection
US9787739B2 (en) 2015-04-23 2017-10-10 Sonos, Inc. Social network account assisted service registration
US9794710B1 (en) 2016-07-15 2017-10-17 Sonos, Inc. Spatial audio correction
US9794720B1 (en) 2016-09-22 2017-10-17 Sonos, Inc. Acoustic position measurement
US9798510B2 (en) 2013-05-29 2017-10-24 Sonos, Inc. Connected state indicator
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US9860662B2 (en) 2016-04-01 2018-01-02 Sonos, Inc. Updating playback device configuration information based on calibration data
US9860644B1 (en) 2017-04-05 2018-01-02 Sonos, Inc. Limiter for bass enhancement
US9860670B1 (en) 2016-07-15 2018-01-02 Sonos, Inc. Spectral correction using spatial calibration
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9864574B2 (en) 2016-04-01 2018-01-09 Sonos, Inc. Playback device calibration based on representation spectral characteristics
US9864571B2 (en) 2015-06-04 2018-01-09 Sonos, Inc. Dynamic bonding of playback devices
US9871285B2 (en) 2011-07-14 2018-01-16 Sonos, Inc. Antenna configurations for wireless speakers
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9876780B2 (en) 2014-11-21 2018-01-23 Sonos, Inc. Sharing access to a media service
US9880708B2 (en) 2006-05-18 2018-01-30 Sonos, Inc. User interface
US9882995B2 (en) 2012-06-25 2018-01-30 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide automatic wireless configuration
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US9892118B2 (en) 2014-03-18 2018-02-13 Sonos, Inc. Dynamic display of filter criteria
US9891881B2 (en) 2014-09-09 2018-02-13 Sonos, Inc. Audio processing algorithm database
US9898245B1 (en) 2016-01-15 2018-02-20 Sonos, Inc. System limits based on known triggers
US9898532B2 (en) 2014-07-14 2018-02-20 Sonos, Inc. Resolving inconsistent queues
US9930463B2 (en) 2016-03-31 2018-03-27 Sonos, Inc. Defect detection via audio playback
US9933920B2 (en) 2013-09-27 2018-04-03 Sonos, Inc. Multi-household support
US9940092B2 (en) 2013-02-26 2018-04-10 Sonos, Inc. Pre-caching of media in a playback queue
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9942651B2 (en) 2015-08-21 2018-04-10 Sonos, Inc. Manipulation of playback device response using an acoustic filter
US9942680B1 (en) 2016-02-22 2018-04-10 Sonos, Inc. Transducer assembly
US9949054B2 (en) 2015-09-30 2018-04-17 Sonos, Inc. Spatial mapping of audio playback devices in a listening environment
US9946508B1 (en) 2015-09-30 2018-04-17 Sonos, Inc. Smart music services preferences
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US9961656B2 (en) 2013-04-29 2018-05-01 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9967655B2 (en) 2016-10-06 2018-05-08 Sonos, Inc. Controlled passive radiator
US9967689B1 (en) 2016-09-29 2018-05-08 Sonos, Inc. Conditional content enhancement
US9973851B2 (en) 2014-12-01 2018-05-15 Sonos, Inc. Multi-channel playback of audio content
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US10002005B2 (en) 2014-09-30 2018-06-19 Sonos, Inc. Displaying data related to media content
US10003899B2 (en) 2016-01-25 2018-06-19 Sonos, Inc. Calibration with particular locations
US10001965B1 (en) 2015-09-03 2018-06-19 Sonos, Inc. Playback system join with base
US10007481B2 (en) 2015-08-31 2018-06-26 Sonos, Inc. Detecting and controlling physical movement of a playback device during audio playback
US10013233B2 (en) 2013-05-29 2018-07-03 Sonos, Inc. Playlist modification
US10028069B1 (en) 2017-06-22 2018-07-17 Sonos, Inc. Immersive audio in a media playback system
US10028028B2 (en) 2013-09-30 2018-07-17 Sonos, Inc. Accessing last-browsed information in a media playback system
US10042602B2 (en) 2015-09-30 2018-08-07 Sonos, Inc. Activity reset
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10055108B2 (en) 2014-09-02 2018-08-21 Sonos, Inc. Location based playback system control
US10055491B2 (en) 2012-12-04 2018-08-21 Sonos, Inc. Media content search based on metadata
US10055003B2 (en) 2013-09-30 2018-08-21 Sonos, Inc. Playback device operations based on battery level
US10061379B2 (en) 2004-05-15 2018-08-28 Sonos, Inc. Power increase based on packet type
US10061742B2 (en) 2009-01-30 2018-08-28 Sonos, Inc. Advertising in a digital media playback system
US10068012B2 (en) 2014-06-27 2018-09-04 Sonos, Inc. Music discovery
US10097942B2 (en) 2012-05-08 2018-10-09 Sonos, Inc. Playback device calibration
US10095785B2 (en) 2013-09-30 2018-10-09 Sonos, Inc. Audio content search in a media playback system
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10098082B2 (en) 2015-12-16 2018-10-09 Sonos, Inc. Synchronization of content between networked devices
US10097939B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Compensation for speaker nonlinearities
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US10129599B2 (en) 2014-04-28 2018-11-13 Sonos, Inc. Media preference database
US10127006B2 (en) 2014-09-09 2018-11-13 Sonos, Inc. Facilitating calibration of an audio playback device
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10142726B2 (en) 2017-01-31 2018-11-27 Sonos, Inc. Noise reduction for high-airflow audio transducers
US10149085B1 (en) 2015-08-21 2018-12-04 Sonos, Inc. Manipulation of playback device response using signal processing
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10152212B2 (en) 2015-04-10 2018-12-11 Sonos, Inc. Media container addition and playback within queue
US10154122B1 (en) 2017-09-05 2018-12-11 Sonos, Inc. Grouping in a system with multiple media playback protocols
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10209947B2 (en) 2014-07-23 2019-02-19 Sonos, Inc. Device grouping
US10216763B2 (en) 2005-04-21 2019-02-26 Oath Inc. Interestingness ranking of media objects
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US10270612B2 (en) 2011-09-28 2019-04-23 Sonos, Inc. Playback queue control for a zone-based media playback system
US10277981B1 (en) 2018-10-02 2019-04-30 Sonos, Inc. Systems and methods of user localization
US10284980B1 (en) 2016-01-05 2019-05-07 Sonos, Inc. Intelligent group identification
US10284983B2 (en) 2015-04-24 2019-05-07 Sonos, Inc. Playback device calibration user interfaces
US10292089B2 (en) 2017-09-18 2019-05-14 Sonos, Inc. Re-establishing connectivity on lost players
US10299061B1 (en) 2018-08-28 2019-05-21 Sonos, Inc. Playback device calibration
US10296884B2 (en) 2013-09-30 2019-05-21 Sonos, Inc. Personalized media playback at a discovered point-of-sale display
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US10301081B2 (en) 2014-10-03 2019-05-28 Sonos, Inc. Packaging System with slidable latch
US10318233B2 (en) 2016-09-23 2019-06-11 Sonos, Inc. Multimedia experience according to biometrics
US10331736B2 (en) 2014-03-21 2019-06-25 Sonos, Inc. Facilitating streaming media access via a media-item database
US10339331B2 (en) 2013-04-16 2019-07-02 Sonos, Inc. Playback device queue access levels
US10356540B2 (en) 2016-07-29 2019-07-16 Sonos, Inc. Lifetime of an audio playback device with changed signal processing settings
USD854043S1 (en) 2017-09-29 2019-07-16 Sonos, Inc. Display screen or portion thereof with graphical user interface
US10360290B2 (en) 2014-02-05 2019-07-23 Sonos, Inc. Remote creation of a playback queue for a future event
US10359987B2 (en) 2003-07-28 2019-07-23 Sonos, Inc. Adjusting volume levels
US10372406B2 (en) 2016-07-22 2019-08-06 Sonos, Inc. Calibration interface
US10380179B2 (en) 2013-04-16 2019-08-13 Sonos, Inc. Playlist update corresponding to playback queue modification
US10397694B1 (en) 2018-04-02 2019-08-27 Sonos, Inc. Playback devices having waveguides
US10433058B1 (en) 2018-06-14 2019-10-01 Sonos, Inc. Content rules engines for audio playback devices
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10452345B1 (en) 2018-05-15 2019-10-22 Sonos, Inc. Media playback system with virtual line-in
US10459739B2 (en) 2008-07-09 2019-10-29 Sonos Inc. Systems and methods for configuring and profiling a digital media device
US10459684B2 (en) 2016-08-05 2019-10-29 Sonos, Inc. Calibration of a playback device based on an estimated frequency response
US10462599B2 (en) 2018-03-21 2019-10-29 Sonos, Inc. Systems and methods of adjusting bass levels of multi-channel audio signals
US10462505B2 (en) 2014-07-14 2019-10-29 Sonos, Inc. Policies for media playback
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US10466956B2 (en) 2013-04-16 2019-11-05 Sonos, Inc. Playback queue transfer in a media playback system
US10469897B2 (en) 2012-03-19 2019-11-05 Sonos, Inc. Context-based user music menu systems and methods
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10498833B2 (en) 2014-07-14 2019-12-03 Sonos, Inc. Managing application access of a media playback system
US10499128B2 (en) 2018-04-20 2019-12-03 Sonos, Inc. Playback devices having waveguides with drainage features
US10573321B1 (en) 2018-09-25 2020-02-25 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10585639B2 (en) 2015-09-17 2020-03-10 Sonos, Inc. Facilitating calibration of an audio playback device
US10599287B2 (en) 2014-03-11 2020-03-24 Sonos, Inc. Group volume control
US10602286B2 (en) 2018-06-25 2020-03-24 Sonos, Inc. Controlling multi-site media playback systems
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US10621310B2 (en) 2014-05-12 2020-04-14 Sonos, Inc. Share restriction for curated playlists
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10623844B2 (en) 2018-03-29 2020-04-14 Sonos, Inc. Headphone interaction with media playback system
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US10657408B2 (en) 2016-08-26 2020-05-19 Sonos, Inc. Speaker spider measurement technique
US10656902B2 (en) 2018-03-05 2020-05-19 Sonos, Inc. Music discovery dial
US10664224B2 (en) 2015-04-24 2020-05-26 Sonos, Inc. Speaker calibration user interface
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10681463B1 (en) 2019-05-17 2020-06-09 Sonos, Inc. Wireless transmission to satellites for multichannel audio system
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US10698650B2 (en) 2018-04-06 2020-06-30 Sonos, Inc. Temporary configuration of a media playback system within a place of accommodation
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US10735803B2 (en) 2018-06-05 2020-08-04 Sonos, Inc. Playback device setup
US10735880B2 (en) 2017-05-09 2020-08-04 Sonos, Inc. Systems and methods of forming audio transducer diaphragms
US10734965B1 (en) 2019-08-12 2020-08-04 Sonos, Inc. Audio calibration of a portable playback device
US10747409B2 (en) 2014-06-04 2020-08-18 Sonos, Inc. Continuous playback queue
US10747493B2 (en) 2018-07-09 2020-08-18 Sonos, Inc. Distributed provisioning of properties of operational settings of a media playback system
US10754614B1 (en) 2019-09-23 2020-08-25 Sonos, Inc. Mood detection and/or influence via audio playback devices
US10778739B2 (en) 2014-09-19 2020-09-15 Sonos, Inc. Limited-access media
US10795636B2 (en) 2015-03-31 2020-10-06 Sonos, Inc. Information display regarding playback queue subscriptions
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10862446B2 (en) 2018-04-02 2020-12-08 Sonos, Inc. Systems and methods of volume limiting
US10863257B1 (en) 2018-05-10 2020-12-08 Sonos, Inc. Method of assembling a loudspeaker
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US10880009B2 (en) 2019-05-24 2020-12-29 Sonos, Inc. Control signal repeater system
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10956118B2 (en) 2012-05-23 2021-03-23 Sonos, Inc. Audio content auditioning by playback device
US10985982B2 (en) 2017-09-27 2021-04-20 Sonos, Inc. Proximal playback devices
US10998615B1 (en) 2019-04-12 2021-05-04 Sonos, Inc. Spatial antenna diversity techniques
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US11023199B2 (en) 2014-03-11 2021-06-01 Sonos, Inc. Playback zone representations
US11038937B1 (en) 2020-03-06 2021-06-15 Sonos, Inc. Hybrid sniffing and rebroadcast for Bluetooth networks
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US11093689B2 (en) 2019-11-12 2021-08-17 Sonos, Inc. Application programming interface for browsing media content
US11093016B2 (en) 2019-06-07 2021-08-17 Sonos, Inc. Portable playback device power management
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11106423B2 (en) 2016-01-25 2021-08-31 Sonos, Inc. Evaluating calibration of a playback device
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11126243B2 (en) 2019-06-07 2021-09-21 Sonos, Inc. Portable playback device power management
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11159845B2 (en) 2014-12-01 2021-10-26 Sonos, Inc. Sound bar to provide information associated with a media item
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US11178504B2 (en) 2019-05-17 2021-11-16 Sonos, Inc. Wireless multi-channel headphone systems and methods
US11175883B2 (en) 2020-01-17 2021-11-16 Sonos, Inc. Playback session transitions across different platforms
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
US11184666B2 (en) 2019-04-01 2021-11-23 Sonos, Inc. Access control techniques for media playback systems
US11188294B2 (en) 2019-02-28 2021-11-30 Sonos, Inc. Detecting the nearest playback device
US11190564B2 (en) 2014-06-05 2021-11-30 Sonos, Inc. Multimedia content distribution system and method
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11200889B2 (en) 2018-11-15 2021-12-14 Sonos, Inc. Dilated convolutions and gating for efficient keyword spotting
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11206484B2 (en) 2018-08-28 2021-12-21 Sonos, Inc. Passive speaker authentication
US11204737B2 (en) 2019-11-11 2021-12-21 Sonos, Inc. Playback queues for shared experiences
US11212635B2 (en) 2019-11-26 2021-12-28 Sonos, Inc. Systems and methods of spatial audio playback with enhanced immersiveness
US11223661B2 (en) 2014-09-24 2022-01-11 Sonos, Inc. Social media connection recommendations based on playback information
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US11303988B2 (en) 2019-10-17 2022-04-12 Sonos, Inc. Portable device microphone status indicator
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US11343614B2 (en) 2018-01-31 2022-05-24 Sonos, Inc. Device designation of playback and network microphone device arrangements
US11342671B2 (en) 2019-06-07 2022-05-24 Sonos, Inc. Dual-band antenna topology
US11348592B2 (en) 2020-03-09 2022-05-31 Sonos, Inc. Systems and methods of audio decoder determination and selection
US11356777B2 (en) 2019-02-28 2022-06-07 Sonos, Inc. Playback transitions
US11356764B2 (en) 2020-03-03 2022-06-07 Sonos, Inc. Dynamic earbud profile
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US11393478B2 (en) 2018-12-12 2022-07-19 Sonos, Inc. User specific context switching
US11409495B2 (en) 2020-01-03 2022-08-09 Sonos, Inc. Audio conflict resolution
US11416209B2 (en) 2018-10-15 2022-08-16 Sonos, Inc. Distributed synchronization
US11418556B2 (en) 2020-03-23 2022-08-16 Sonos, Inc. Seamless transition of source of media content
US11416210B2 (en) 2019-06-07 2022-08-16 Sonos, Inc. Management of media devices having limited capabilities
US11422770B2 (en) 2020-03-03 2022-08-23 Sonos, Inc. Techniques for reducing latency in a wireless home theater environment
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11445301B2 (en) 2020-02-12 2022-09-13 Sonos, Inc. Portable playback devices with network operation modes
USD963685S1 (en) 2018-12-06 2022-09-13 Sonos, Inc. Display screen or portion thereof with graphical user interface for media playback control
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11483670B2 (en) 2019-10-30 2022-10-25 Sonos, Inc. Systems and methods of providing spatial audio associated with a simulated environment
US11483608B2 (en) 2020-04-21 2022-10-25 Sonos, Inc. Priority media content
US11496848B2 (en) 2020-03-25 2022-11-08 Sonos, Inc. Thermal control of audio playback devices
US11514777B2 (en) 2018-10-02 2022-11-29 Sonos, Inc. Methods and devices for transferring data using sound signals
US11523206B2 (en) 2019-06-28 2022-12-06 Sonos, Inc. Wireless earbud charging
US11523207B2 (en) 2020-04-21 2022-12-06 Sonos, Inc. Cable retraction mechanism for headphone devices
US11528574B2 (en) 2019-08-30 2022-12-13 Sonos, Inc. Sum-difference arrays for audio playback devices
US11528555B2 (en) 2020-02-19 2022-12-13 Sonos, Inc. Acoustic waveguides for multi-channel playback devices
US11528551B2 (en) 2020-06-01 2022-12-13 Sonos, Inc. Acoustic filters for microphone noise mitigation and transducer venting
US11539545B2 (en) 2019-08-19 2022-12-27 Sonos, Inc. Multi-network playback devices
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection
US11553269B2 (en) 2020-06-17 2023-01-10 Sonos, Inc. Cable assemblies for headphone devices
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11700436B2 (en) 2021-05-05 2023-07-11 Sonos, Inc. Content playback reminders
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11737164B2 (en) 2020-06-08 2023-08-22 Sonos, Inc. Simulation of device removal
US11740854B2 (en) 2019-01-20 2023-08-29 Sonos, Inc. Playing media content in response to detecting items having corresponding media content associated therewith
US11758214B2 (en) 2020-04-21 2023-09-12 Sonos, Inc. Techniques for clock rate synchronization
US11758326B2 (en) 2020-09-09 2023-09-12 Sonos, Inc. Wearable audio device within a distributed audio playback system
US11762624B2 (en) 2019-09-23 2023-09-19 Sonos, Inc. Capacitive touch sensor with integrated antenna(s) for playback devices
US11809782B2 (en) 2021-09-30 2023-11-07 Sonos, Inc. Audio parameter adjustment based on playback device separation distance
US11812240B2 (en) 2020-11-18 2023-11-07 Sonos, Inc. Playback of generative media content
US11812249B2 (en) 2019-02-07 2023-11-07 Mayht Holding B.V. In line damper bellows dual opposing driver speaker
US11809778B2 (en) 2020-09-11 2023-11-07 Sonos, Inc. Techniques for extending the lifespan of playback devices
US11818187B2 (en) 2019-08-31 2023-11-14 Sonos, Inc. Mixed-mode synchronous playback
US11818427B2 (en) 2021-03-26 2023-11-14 Sonos, Inc. Adaptive media playback experiences for commercial environments
US11831288B2 (en) 2020-10-23 2023-11-28 Sonos, Inc. Techniques for enabling interoperability between media playback systems
US11870475B2 (en) 2020-09-29 2024-01-09 Sonos, Inc. Audio playback management of multiple concurrent connections
US11894975B2 (en) 2004-06-05 2024-02-06 Sonos, Inc. Playback device connection
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11916733B2 (en) 2021-03-08 2024-02-27 Sonos, Inc. Updating network configuration parameters
US11922955B2 (en) 2020-08-24 2024-03-05 Sonos, Inc. Multichannel playback devices and associated systems and methods
US11930328B2 (en) 2021-03-08 2024-03-12 Sonos, Inc. Operation modes, audio layering, and dedicated controls for targeted audio experiences
US11943594B2 (en) 2019-06-07 2024-03-26 Sonos Inc. Automatically allocating audio portions to playback devices
US11943823B2 (en) 2020-08-31 2024-03-26 Sonos, Inc. Techniques to reduce time to music for a playback device
US11956480B2 (en) 2022-12-22 2024-04-09 Sonos, Inc. Grouping in a system with multiple media playback protocols

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020002039A1 (en) 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US8028038B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Obtaining a playlist based on user profile matching
US8028323B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Method and system for employing a first device to direct a networked audio device to obtain a media item
US7818350B2 (en) * 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
JP4600759B2 (en) * 2005-06-22 2010-12-15 ソニー株式会社 Playback apparatus, playback method, and playback program
US20080162668A1 (en) * 2006-12-29 2008-07-03 John David Miller Method and apparatus for mutually-shared media experiences

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
No Search *
See also references of EP1348176A2 *

Cited By (1270)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008207504B2 (en) * 1999-11-10 2011-06-16 Pandora Media, Inc. Internet Radio and Broadcast Method
AU2006200290B2 (en) * 1999-11-10 2008-09-18 Pandora Media, Inc. Internet radio and broadcast method
US8700795B2 (en) 1999-11-10 2014-04-15 Pandora Media, Inc. Internet radio and broadcast method
WO2002023857A3 (en) * 2000-09-11 2003-01-30 Viafone Inc Method and system for integrating applications and mobile networks
WO2002023857A2 (en) * 2000-09-11 2002-03-21 Viafone, Inc. Method and system for integrating applications and mobile networks
EP1636724A4 (en) * 2003-06-11 2006-06-21 Yahoo Inc Method and apparatus for organizing and playing data
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US10545723B2 (en) 2003-07-28 2020-01-28 Sonos, Inc. Playback device
US10146498B2 (en) 2003-07-28 2018-12-04 Sonos, Inc. Disengaging and engaging zone players
US10209953B2 (en) 2003-07-28 2019-02-19 Sonos, Inc. Playback device
US10949163B2 (en) 2003-07-28 2021-03-16 Sonos, Inc. Playback device
US10296283B2 (en) 2003-07-28 2019-05-21 Sonos, Inc. Directing synchronous playback between zone players
US9658820B2 (en) 2003-07-28 2017-05-23 Sonos, Inc. Resuming synchronous playback of content
US10963215B2 (en) 2003-07-28 2021-03-30 Sonos, Inc. Media playback device and system
US10031715B2 (en) 2003-07-28 2018-07-24 Sonos, Inc. Method and apparatus for dynamic master device switching in a synchrony group
US10282164B2 (en) 2003-07-28 2019-05-07 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US10754612B2 (en) 2003-07-28 2020-08-25 Sonos, Inc. Playback device volume control
US10445054B2 (en) 2003-07-28 2019-10-15 Sonos, Inc. Method and apparatus for switching between a directly connected and a networked audio source
US11301207B1 (en) 2003-07-28 2022-04-12 Sonos, Inc. Playback device
US10228902B2 (en) 2003-07-28 2019-03-12 Sonos, Inc. Playback device
US10120638B2 (en) 2003-07-28 2018-11-06 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11550536B2 (en) 2003-07-28 2023-01-10 Sonos, Inc. Adjusting volume levels
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US11550539B2 (en) 2003-07-28 2023-01-10 Sonos, Inc. Playback device
US10754613B2 (en) 2003-07-28 2020-08-25 Sonos, Inc. Audio master selection
US10970034B2 (en) 2003-07-28 2021-04-06 Sonos, Inc. Audio distributor selection
US11556305B2 (en) 2003-07-28 2023-01-17 Sonos, Inc. Synchronizing playback by media playback devices
US11200025B2 (en) 2003-07-28 2021-12-14 Sonos, Inc. Playback device
US9727303B2 (en) 2003-07-28 2017-08-08 Sonos, Inc. Resuming synchronous playback of content
US9727304B2 (en) 2003-07-28 2017-08-08 Sonos, Inc. Obtaining content from direct source and other source
US9740453B2 (en) 2003-07-28 2017-08-22 Sonos, Inc. Obtaining content from multiple remote sources for playback
US11625221B2 (en) 2003-07-28 2023-04-11 Sonos, Inc Synchronizing playback by media playback devices
US9733893B2 (en) 2003-07-28 2017-08-15 Sonos, Inc. Obtaining and transmitting audio
US9727302B2 (en) 2003-07-28 2017-08-08 Sonos, Inc. Obtaining content from remote source for playback
US10216473B2 (en) 2003-07-28 2019-02-26 Sonos, Inc. Playback device synchrony group states
US9734242B2 (en) 2003-07-28 2017-08-15 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11635935B2 (en) 2003-07-28 2023-04-25 Sonos, Inc. Adjusting volume levels
US10140085B2 (en) 2003-07-28 2018-11-27 Sonos, Inc. Playback device operating states
US10289380B2 (en) 2003-07-28 2019-05-14 Sonos, Inc. Playback device
US9733891B2 (en) 2003-07-28 2017-08-15 Sonos, Inc. Obtaining content from local and remote sources for playback
US10956119B2 (en) 2003-07-28 2021-03-23 Sonos, Inc. Playback device
US10387102B2 (en) 2003-07-28 2019-08-20 Sonos, Inc. Playback device grouping
US10747496B2 (en) 2003-07-28 2020-08-18 Sonos, Inc. Playback device
US10185541B2 (en) 2003-07-28 2019-01-22 Sonos, Inc. Playback device
US10359987B2 (en) 2003-07-28 2019-07-23 Sonos, Inc. Adjusting volume levels
US11080001B2 (en) 2003-07-28 2021-08-03 Sonos, Inc. Concurrent transmission and playback of audio information
US10185540B2 (en) 2003-07-28 2019-01-22 Sonos, Inc. Playback device
US10365884B2 (en) 2003-07-28 2019-07-30 Sonos, Inc. Group volume control
US9778897B2 (en) 2003-07-28 2017-10-03 Sonos, Inc. Ceasing playback among a plurality of playback devices
US10175930B2 (en) 2003-07-28 2019-01-08 Sonos, Inc. Method and apparatus for playback by a synchrony group
US10175932B2 (en) 2003-07-28 2019-01-08 Sonos, Inc. Obtaining content from direct source and remote source
US10157035B2 (en) 2003-07-28 2018-12-18 Sonos, Inc. Switching between a directly connected and a networked audio source
US9733892B2 (en) 2003-07-28 2017-08-15 Sonos, Inc. Obtaining content based on control by multiple controllers
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US10157033B2 (en) 2003-07-28 2018-12-18 Sonos, Inc. Method and apparatus for switching between a directly connected and a networked audio source
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US10157034B2 (en) 2003-07-28 2018-12-18 Sonos, Inc. Clock rate adjustment in a multi-zone system
US9778898B2 (en) 2003-07-28 2017-10-03 Sonos, Inc. Resynchronization of playback devices
US11132170B2 (en) 2003-07-28 2021-09-28 Sonos, Inc. Adjusting volume levels
US9778900B2 (en) 2003-07-28 2017-10-03 Sonos, Inc. Causing a device to join a synchrony group
US10303431B2 (en) 2003-07-28 2019-05-28 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US10133536B2 (en) 2003-07-28 2018-11-20 Sonos, Inc. Method and apparatus for adjusting volume in a synchrony group
US10303432B2 (en) 2003-07-28 2019-05-28 Sonos, Inc Playback device
US10324684B2 (en) 2003-07-28 2019-06-18 Sonos, Inc. Playback device synchrony group states
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US10983750B2 (en) 2004-04-01 2021-04-20 Sonos, Inc. Guest access to a media playback system
US11907610B2 (en) 2004-04-01 2024-02-20 Sonos, Inc. Guess access to a media playback system
US11467799B2 (en) 2004-04-01 2022-10-11 Sonos, Inc. Guest access to a media playback system
US10303240B2 (en) 2004-05-15 2019-05-28 Sonos, Inc. Power decrease based on packet type
US10372200B2 (en) 2004-05-15 2019-08-06 Sonos, Inc. Power decrease based on packet type
US10254822B2 (en) 2004-05-15 2019-04-09 Sonos, Inc. Power decrease and increase based on packet type
US11157069B2 (en) 2004-05-15 2021-10-26 Sonos, Inc. Power control based on packet type
US10126811B2 (en) 2004-05-15 2018-11-13 Sonos, Inc. Power increase based on packet type
US11733768B2 (en) 2004-05-15 2023-08-22 Sonos, Inc. Power control based on packet type
US10228754B2 (en) 2004-05-15 2019-03-12 Sonos, Inc. Power decrease based on packet type
US10061379B2 (en) 2004-05-15 2018-08-28 Sonos, Inc. Power increase based on packet type
US11894975B2 (en) 2004-06-05 2024-02-06 Sonos, Inc. Playback device connection
US10439896B2 (en) 2004-06-05 2019-10-08 Sonos, Inc. Playback device connection
US11456928B2 (en) 2004-06-05 2022-09-27 Sonos, Inc. Playback device connection
US11429267B2 (en) 2004-06-05 2022-08-30 Sonos, Inc. Track playback
US10541883B2 (en) 2004-06-05 2020-01-21 Sonos, Inc. Playback device connection
US10275135B2 (en) 2004-06-05 2019-04-30 Sonos, Inc. Method and apparatus for displaying single and container items in a play queue
US9690466B2 (en) 2004-06-05 2017-06-27 Sonos, Inc. Method and apparatus for displaying single and internet radio items in a play queue
US10097423B2 (en) 2004-06-05 2018-10-09 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US10979310B2 (en) 2004-06-05 2021-04-13 Sonos, Inc. Playback device connection
US11909588B2 (en) 2004-06-05 2024-02-20 Sonos, Inc. Wireless device connection
US10965545B2 (en) 2004-06-05 2021-03-30 Sonos, Inc. Playback device connection
US9130770B2 (en) 2004-06-05 2015-09-08 Sonos, Inc. Establishing a secure wireless network with a minimum human intervention
US9960969B2 (en) 2004-06-05 2018-05-01 Sonos, Inc. Playback device connection
US9130771B2 (en) 2004-06-05 2015-09-08 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US9866447B2 (en) 2004-06-05 2018-01-09 Sonos, Inc. Indicator on a network device
US11025509B2 (en) 2004-06-05 2021-06-01 Sonos, Inc. Playback device connection
US10216763B2 (en) 2005-04-21 2019-02-26 Oath Inc. Interestingness ranking of media objects
US7756993B2 (en) 2005-06-22 2010-07-13 Sony Corporation Reproducing apparatus, reproducing method, and reproducing program
US9880708B2 (en) 2006-05-18 2018-01-30 Sonos, Inc. User interface
US11540050B2 (en) 2006-09-12 2022-12-27 Sonos, Inc. Playback device pairing
US10136218B2 (en) 2006-09-12 2018-11-20 Sonos, Inc. Playback device pairing
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US10848885B2 (en) 2006-09-12 2020-11-24 Sonos, Inc. Zone scene management
US10897679B2 (en) 2006-09-12 2021-01-19 Sonos, Inc. Zone scene management
US9756424B2 (en) 2006-09-12 2017-09-05 Sonos, Inc. Multi-channel pairing in a media system
US9766853B2 (en) 2006-09-12 2017-09-19 Sonos, Inc. Pair volume control
US9813827B2 (en) 2006-09-12 2017-11-07 Sonos, Inc. Zone configuration based on playback selections
US11385858B2 (en) 2006-09-12 2022-07-12 Sonos, Inc. Predefined multi-channel listening environment
US11082770B2 (en) 2006-09-12 2021-08-03 Sonos, Inc. Multi-channel pairing in a media system
US11388532B2 (en) 2006-09-12 2022-07-12 Sonos, Inc. Zone scene activation
US9749760B2 (en) 2006-09-12 2017-08-29 Sonos, Inc. Updating zone configuration in a multi-zone media system
US10306365B2 (en) 2006-09-12 2019-05-28 Sonos, Inc. Playback device pairing
US10469966B2 (en) 2006-09-12 2019-11-05 Sonos, Inc. Zone scene management
US10966025B2 (en) 2006-09-12 2021-03-30 Sonos, Inc. Playback device pairing
US9928026B2 (en) 2006-09-12 2018-03-27 Sonos, Inc. Making and indicating a stereo pair
US10228898B2 (en) 2006-09-12 2019-03-12 Sonos, Inc. Identification of playback device and stereo pair names
US10448159B2 (en) 2006-09-12 2019-10-15 Sonos, Inc. Playback device pairing
US10028056B2 (en) 2006-09-12 2018-07-17 Sonos, Inc. Multi-channel pairing in a media system
US10555082B2 (en) 2006-09-12 2020-02-04 Sonos, Inc. Playback device pairing
US9014834B2 (en) 2006-09-12 2015-04-21 Sonos, Inc. Multi-channel pairing in a media system
US9860657B2 (en) 2006-09-12 2018-01-02 Sonos, Inc. Zone configurations maintained by playback device
US9769306B2 (en) 2008-02-22 2017-09-19 Sonos, Inc. Device lock mode
US9712663B2 (en) 2008-02-22 2017-07-18 Sonos, Inc. Device lock mode
US10459739B2 (en) 2008-07-09 2019-10-29 Sonos Inc. Systems and methods for configuring and profiling a digital media device
US10061742B2 (en) 2009-01-30 2018-08-28 Sonos, Inc. Advertising in a digital media playback system
WO2011062691A1 (en) * 2009-11-20 2011-05-26 Rovi Technologies Corporation Content integration for a content system
US8631508B2 (en) 2010-06-22 2014-01-14 Rovi Technologies Corporation Managing licenses of media files on playback devices
US11429502B2 (en) 2010-10-13 2022-08-30 Sonos, Inc. Adjusting a playback device
US11327864B2 (en) 2010-10-13 2022-05-10 Sonos, Inc. Adjusting a playback device
US9734243B2 (en) 2010-10-13 2017-08-15 Sonos, Inc. Adjusting a playback device
US11853184B2 (en) 2010-10-13 2023-12-26 Sonos, Inc. Adjusting a playback device
US11758327B2 (en) 2011-01-25 2023-09-12 Sonos, Inc. Playback device pairing
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US10853023B2 (en) 2011-04-18 2020-12-01 Sonos, Inc. Networked playback device
US11531517B2 (en) 2011-04-18 2022-12-20 Sonos, Inc. Networked playback device
US9686606B2 (en) 2011-04-18 2017-06-20 Sonos, Inc. Smart-line in processing
US10108393B2 (en) 2011-04-18 2018-10-23 Sonos, Inc. Leaving group and smart line-in processing
US9681223B2 (en) 2011-04-18 2017-06-13 Sonos, Inc. Smart line-in processing in a group
US9871285B2 (en) 2011-07-14 2018-01-16 Sonos, Inc. Antenna configurations for wireless speakers
US9748647B2 (en) 2011-07-19 2017-08-29 Sonos, Inc. Frequency routing based on orientation
US9960488B2 (en) 2011-07-19 2018-05-01 Sonos, Inc. Antenna selection
US9917364B2 (en) 2011-07-19 2018-03-13 Sonos, Inc. Antenna selection
US11444375B2 (en) 2011-07-19 2022-09-13 Sonos, Inc. Frequency routing based on orientation
US9748646B2 (en) 2011-07-19 2017-08-29 Sonos, Inc. Configuration based on speaker orientation
US9042556B2 (en) 2011-07-19 2015-05-26 Sonos, Inc Shaping sound responsive to speaker orientation
US10361484B2 (en) 2011-07-19 2019-07-23 Sonos, Inc. Antenna selection
US10651554B2 (en) 2011-07-19 2020-05-12 Sonos, Inc. Antenna selection
US10256536B2 (en) 2011-07-19 2019-04-09 Sonos, Inc. Frequency routing based on orientation
US10965024B2 (en) 2011-07-19 2021-03-30 Sonos, Inc. Frequency routing based on orientation
US10127232B2 (en) 2011-09-21 2018-11-13 Sonos, Inc. Media sharing across service providers
US10229119B2 (en) 2011-09-21 2019-03-12 Sonos, Inc. Media sharing across service providers
US9286384B2 (en) 2011-09-21 2016-03-15 Sonos, Inc. Methods and systems to share media
US10762124B2 (en) 2011-09-21 2020-09-01 Sonos, Inc. Media sharing across service providers
US11514099B2 (en) 2011-09-21 2022-11-29 Sonos, Inc. Media sharing across service providers
US9223490B2 (en) 2011-09-28 2015-12-29 Sonos, Inc. Methods and apparatus to manage zones of a multi-zone media playback system
US10228823B2 (en) 2011-09-28 2019-03-12 Sonos, Inc. Ungrouping zones
US9395878B2 (en) 2011-09-28 2016-07-19 Sonos, Inc. Methods and apparatus to manage zones of a multi-zone media playback system
US10802677B2 (en) 2011-09-28 2020-10-13 Sonos, Inc. Methods and apparatus to manage zones of a multi-zone media playback system
US10270612B2 (en) 2011-09-28 2019-04-23 Sonos, Inc. Playback queue control for a zone-based media playback system
US10454700B2 (en) 2011-09-28 2019-10-22 Sonos, Inc. Playback queue control
US10771274B2 (en) 2011-09-28 2020-09-08 Sonos, Inc. Playback queue control
US9395877B2 (en) 2011-09-28 2016-07-19 Sonos, Inc. Grouping zones
US11520464B2 (en) 2011-09-28 2022-12-06 Sonos, Inc. Playback zone management
US9383896B2 (en) 2011-09-28 2016-07-05 Sonos, Inc. Ungrouping zones
US9223491B2 (en) 2011-09-28 2015-12-29 Sonos, Inc. Methods and apparatus to manage zones of a multi-zone media playback system
US10117034B2 (en) 2011-10-14 2018-10-30 Sonos, Inc. Leaving group based on message from audio source
US9681232B2 (en) 2011-10-14 2017-06-13 Sonos, Inc. Control of multiple playback devices
US11184721B2 (en) 2011-10-14 2021-11-23 Sonos, Inc. Playback device control
US9778896B2 (en) 2011-10-21 2017-10-03 Sonos, Inc. Wireless music playback
US9094706B2 (en) 2011-10-21 2015-07-28 Sonos, Inc. Systems and methods for wireless music playback
US10523983B2 (en) 2011-11-02 2019-12-31 Sonos, Inc. Playback device demonstration
US11153617B2 (en) 2011-11-02 2021-10-19 Sonos, Inc. Playback device demonstration
US11778252B2 (en) 2011-11-02 2023-10-03 Sonos, Inc. Temporary access to a media playback system
US9460631B2 (en) 2011-11-02 2016-10-04 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture for playback demonstration at a point of sale display
US9665339B2 (en) 2011-12-28 2017-05-30 Sonos, Inc. Methods and systems to select an audio track
US11036467B2 (en) 2011-12-28 2021-06-15 Sonos, Inc. Audio track selection and playback
US11474778B2 (en) 2011-12-28 2022-10-18 Sonos, Inc. Audio track selection and playback
US11016727B2 (en) 2011-12-28 2021-05-25 Sonos, Inc. Audio track selection and playback
US10678500B2 (en) 2011-12-28 2020-06-09 Sonos, Inc. Audio track selection and playback
US11886769B2 (en) 2011-12-28 2024-01-30 Sonos, Inc. Audio track selection and playback
US10359990B2 (en) 2011-12-28 2019-07-23 Sonos, Inc. Audio track selection and playback
US11474777B2 (en) 2011-12-28 2022-10-18 Sonos, Inc. Audio track selection and playback
US10095469B2 (en) 2011-12-28 2018-10-09 Sonos, Inc. Playback based on identification
US11886770B2 (en) 2011-12-28 2024-01-30 Sonos, Inc. Audio content selection and playback
US9191699B2 (en) 2011-12-29 2015-11-17 Sonos, Inc. Systems and methods for connecting an audio controller to a hidden audio network
US11716366B2 (en) 2011-12-29 2023-08-01 Sonos, Inc. Audio playback network joining
US10848532B2 (en) 2011-12-29 2020-11-24 Sonos, Inc. Audio playback network joining
US10945089B2 (en) 2011-12-29 2021-03-09 Sonos, Inc. Playback based on user settings
US11197117B2 (en) 2011-12-29 2021-12-07 Sonos, Inc. Media playback based on sensor data
US9729640B2 (en) 2011-12-29 2017-08-08 Sonos, Inc. Switching connection between network devices
US9247492B2 (en) 2011-12-29 2016-01-26 Sonos, Inc. Systems and methods for multi-network audio control
US11825290B2 (en) 2011-12-29 2023-11-21 Sonos, Inc. Media playback based on sensor data
US11889290B2 (en) 2011-12-29 2024-01-30 Sonos, Inc. Media playback based on sensor data
US10986460B2 (en) 2011-12-29 2021-04-20 Sonos, Inc. Grouping based on acoustic signals
US11290838B2 (en) 2011-12-29 2022-03-29 Sonos, Inc. Playback based on user presence detection
US11910181B2 (en) 2011-12-29 2024-02-20 Sonos, Inc Media playback based on sensor data
US9930470B2 (en) 2011-12-29 2018-03-27 Sonos, Inc. Sound field calibration using listener localization
US11528578B2 (en) 2011-12-29 2022-12-13 Sonos, Inc. Media playback based on sensor data
US11825289B2 (en) 2011-12-29 2023-11-21 Sonos, Inc. Media playback based on sensor data
US11122382B2 (en) 2011-12-29 2021-09-14 Sonos, Inc. Playback based on acoustic signals
US10455347B2 (en) 2011-12-29 2019-10-22 Sonos, Inc. Playback based on number of listeners
US10334005B2 (en) 2011-12-29 2019-06-25 Sonos, Inc. Audio playback network joining
US10334386B2 (en) 2011-12-29 2019-06-25 Sonos, Inc. Playback based on wireless signal
US11153706B1 (en) 2011-12-29 2021-10-19 Sonos, Inc. Playback based on acoustic signals
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
US9967615B2 (en) 2011-12-30 2018-05-08 Sonos, Inc. Networked music playback
US11552843B2 (en) 2011-12-30 2023-01-10 Sonos, Inc. Playback devices and bonded zones
US11743534B2 (en) 2011-12-30 2023-08-29 Sonos, Inc Systems and methods for networked music playback
US9129087B2 (en) 2011-12-30 2015-09-08 Rovi Guides, Inc. Systems and methods for managing digital rights based on a union or intersection of individual rights
US9344292B2 (en) 2011-12-30 2016-05-17 Sonos, Inc. Systems and methods for player setup room names
US10567831B2 (en) 2011-12-30 2020-02-18 Sonos, Inc. Systems and methods for networked music playback
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US10257035B2 (en) 2011-12-30 2019-04-09 Sonos, Inc. Configuring a new playback device for a bonded zone
US9860589B2 (en) 2011-12-30 2018-01-02 Sonos, Inc. Systems and methods for networked music playback
US11171827B2 (en) 2011-12-30 2021-11-09 Sonos, Inc. Playback devices and bonded zones
US9009794B2 (en) 2011-12-30 2015-04-14 Rovi Guides, Inc. Systems and methods for temporary assignment and exchange of digital access rights
US9871696B2 (en) 2011-12-30 2018-01-16 Sonos, Inc. Configuring a new playback device for a bonded zone
US10757471B2 (en) 2011-12-30 2020-08-25 Sonos, Inc. Systems and methods for networked music playback
US10779033B2 (en) 2011-12-30 2020-09-15 Sonos, Inc. Systems and methods for networked music playback
US10945027B2 (en) 2011-12-30 2021-03-09 Sonos, Inc. Systems and methods for networked music playback
US9883234B2 (en) 2011-12-30 2018-01-30 Sonos, Inc. Systems and methods for networked music playback
US11729457B2 (en) 2012-03-19 2023-08-15 Sonos, Inc. Context-based user music menu systems and methods
US10469897B2 (en) 2012-03-19 2019-11-05 Sonos, Inc. Context-based user music menu systems and methods
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US10720896B2 (en) 2012-04-27 2020-07-21 Sonos, Inc. Intelligently modifying the gain parameter of a playback device
US10063202B2 (en) 2012-04-27 2018-08-28 Sonos, Inc. Intelligently modifying the gain parameter of a playback device
US10771911B2 (en) 2012-05-08 2020-09-08 Sonos, Inc. Playback device calibration
US10097942B2 (en) 2012-05-08 2018-10-09 Sonos, Inc. Playback device calibration
US11812250B2 (en) 2012-05-08 2023-11-07 Sonos, Inc. Playback device calibration
US11457327B2 (en) 2012-05-08 2022-09-27 Sonos, Inc. Playback device calibration
US10425329B2 (en) 2012-05-10 2019-09-24 Sonos, Inc. Methods and apparatus for direct routing between nodes of networks
US9521074B2 (en) 2012-05-10 2016-12-13 Sonos, Inc. Methods and apparatus for direct routing between nodes of networks
US11743183B2 (en) 2012-05-10 2023-08-29 Sonos, Inc. Methods and apparatus for direct routing between nodes of networks
US10892988B2 (en) 2012-05-10 2021-01-12 Sonos, Inc. Methods and apparatus for direct routing between nodes of networks
US11893306B2 (en) 2012-05-23 2024-02-06 Sonos, Inc. Audio content auditioning by playback device
US10956118B2 (en) 2012-05-23 2021-03-23 Sonos, Inc. Audio content auditioning by playback device
US11284214B2 (en) 2012-06-06 2022-03-22 Sonos, Inc. Failure recovery of wearable playback device
US9940091B2 (en) 2012-06-06 2018-04-10 Sonos, Inc. Playback according to playback responsibility in group
US11743675B2 (en) 2012-06-06 2023-08-29 Sonos, Inc. Failure recovery of wearable playback device
US9400632B2 (en) 2012-06-06 2016-07-26 Sonos, Inc. Playback according to playback responsibility in stereo pair
US10560796B2 (en) 2012-06-06 2020-02-11 Sonos, Inc. Playback according to playback responsibility in group
US9507560B2 (en) 2012-06-06 2016-11-29 Sonos, Inc. Device playback failure recovery and redistribution
US11122379B2 (en) 2012-06-15 2021-09-14 Sonos, Inc. Low-latency audio networking
US9529906B2 (en) 2012-06-15 2016-12-27 Sonos, Inc. Low-latency audio networking
US9877124B2 (en) 2012-06-15 2018-01-23 Sonos, Inc. Low-latency audio networking
US11729564B2 (en) 2012-06-15 2023-08-15 Sonos, Inc. Low-latency audio networking
US10425753B2 (en) 2012-06-15 2019-09-24 Sonos, Inc. Low-latency audio networking
US9882995B2 (en) 2012-06-25 2018-01-30 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide automatic wireless configuration
US10862981B2 (en) 2012-06-25 2020-12-08 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide automatic wireless configuration
US11825174B2 (en) 2012-06-26 2023-11-21 Sonos, Inc. Remote playback queue
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9788083B2 (en) 2012-06-26 2017-10-10 Sonos, Inc. Adding to a remote playlist
US9883254B2 (en) 2012-06-26 2018-01-30 Sonos, Inc. Adding to a remote playlist
US9710222B2 (en) 2012-06-27 2017-07-18 Sonos, Inc. Portable playback device state variable
US10120643B2 (en) 2012-06-27 2018-11-06 Sonos, Inc. Portable playback device state variable
US11809781B2 (en) 2012-06-27 2023-11-07 Sonos, Inc. Portable playback device state variable
US9864572B2 (en) 2012-06-27 2018-01-09 Sonos, Inc. Playback configuration based on connection to portable playback device
US10452346B2 (en) 2012-06-27 2019-10-22 Sonos, Inc. Portable playback device state variable
US9715365B2 (en) 2012-06-27 2017-07-25 Sonos, Inc. Systems and methods for mobile music zones
US9898244B2 (en) 2012-06-27 2018-02-20 Sonos, Inc. Portable playback device state variable
US11210053B2 (en) 2012-06-27 2021-12-28 Sonos, Inc. Portable playback device state variable
US11487500B2 (en) 2012-06-27 2022-11-01 Sonos, Inc. Portable playback device state variable
US9788113B2 (en) 2012-06-28 2017-10-10 Sonos, Inc. Calibration state variable
US9137564B2 (en) 2012-06-28 2015-09-15 Sonos, Inc. Shift to corresponding media in a playback queue
US10045139B2 (en) 2012-06-28 2018-08-07 Sonos, Inc. Calibration state variable
US9690539B2 (en) 2012-06-28 2017-06-27 Sonos, Inc. Speaker calibration user interface
US10129674B2 (en) 2012-06-28 2018-11-13 Sonos, Inc. Concurrent multi-loudspeaker calibration
US10268441B2 (en) 2012-06-28 2019-04-23 Sonos, Inc. Shift to corresponding media in a playback queue
US9690271B2 (en) 2012-06-28 2017-06-27 Sonos, Inc. Speaker calibration
US10866782B2 (en) 2012-06-28 2020-12-15 Sonos, Inc. Extending playback with corresponding media
US11368803B2 (en) 2012-06-28 2022-06-21 Sonos, Inc. Calibration of playback device(s)
US10045138B2 (en) 2012-06-28 2018-08-07 Sonos, Inc. Hybrid test tone for space-averaged room audio calibration using a moving microphone
US9699555B2 (en) 2012-06-28 2017-07-04 Sonos, Inc. Calibration of multiple playback devices
US10412516B2 (en) 2012-06-28 2019-09-10 Sonos, Inc. Calibration of playback devices
US9749744B2 (en) 2012-06-28 2017-08-29 Sonos, Inc. Playback device calibration
US10674293B2 (en) 2012-06-28 2020-06-02 Sonos, Inc. Concurrent multi-driver calibration
US9106192B2 (en) 2012-06-28 2015-08-11 Sonos, Inc. System and method for device playback calibration
US9820045B2 (en) 2012-06-28 2017-11-14 Sonos, Inc. Playback calibration
US11064306B2 (en) 2012-06-28 2021-07-13 Sonos, Inc. Calibration state variable
US9736584B2 (en) 2012-06-28 2017-08-15 Sonos, Inc. Hybrid test tone for space-averaged room audio calibration using a moving microphone
US9668049B2 (en) 2012-06-28 2017-05-30 Sonos, Inc. Playback device calibration user interfaces
US11494157B2 (en) 2012-06-28 2022-11-08 Sonos, Inc. Extending playback with corresponding media
US11516608B2 (en) 2012-06-28 2022-11-29 Sonos, Inc. Calibration state variable
US10284984B2 (en) 2012-06-28 2019-05-07 Sonos, Inc. Calibration state variable
US10296282B2 (en) 2012-06-28 2019-05-21 Sonos, Inc. Speaker calibration user interface
US11516606B2 (en) 2012-06-28 2022-11-29 Sonos, Inc. Calibration interface
US10791405B2 (en) 2012-06-28 2020-09-29 Sonos, Inc. Calibration indicator
US11800305B2 (en) 2012-06-28 2023-10-24 Sonos, Inc. Calibration interface
US9961463B2 (en) 2012-06-28 2018-05-01 Sonos, Inc. Calibration indicator
US9913057B2 (en) 2012-06-28 2018-03-06 Sonos, Inc. Concurrent multi-loudspeaker calibration with a single measurement
US9648422B2 (en) 2012-06-28 2017-05-09 Sonos, Inc. Concurrent multi-loudspeaker calibration with a single measurement
US11074035B2 (en) 2012-06-29 2021-07-27 Sonos, Inc. Smart audio settings
US11681495B2 (en) 2012-06-29 2023-06-20 Sonos, Inc. Smart audio settings
US11422771B2 (en) 2012-06-29 2022-08-23 Sonos, Inc. Smart audio settings
US10437554B2 (en) 2012-06-29 2019-10-08 Sonos, Inc. Smart audio settings
US9031244B2 (en) 2012-06-29 2015-05-12 Sonos, Inc. Smart audio settings
US9916126B2 (en) 2012-06-29 2018-03-13 Sonos, Inc. Smart audio settings
US9948258B2 (en) 2012-08-01 2018-04-17 Sonos, Inc. Volume interactions for connected subwoofer device
US9455679B2 (en) 2012-08-01 2016-09-27 Sonos, Inc. Volume interactions for connected playback devices
US9379683B2 (en) 2012-08-01 2016-06-28 Sonos, Inc. Volume interactions for connected playback devices
US8995687B2 (en) 2012-08-01 2015-03-31 Sonos, Inc. Volume interactions for connected playback devices
US10284158B2 (en) 2012-08-01 2019-05-07 Sonos, Inc. Volume interactions for connected subwoofer device
US10536123B2 (en) 2012-08-01 2020-01-14 Sonos, Inc. Volume interactions for connected playback devices
US9998841B2 (en) 2012-08-07 2018-06-12 Sonos, Inc. Acoustic signatures
US10051397B2 (en) 2012-08-07 2018-08-14 Sonos, Inc. Acoustic signatures
US10904685B2 (en) 2012-08-07 2021-01-26 Sonos, Inc. Acoustic signatures in a playback system
US11729568B2 (en) 2012-08-07 2023-08-15 Sonos, Inc. Acoustic signatures in a playback system
US8930005B2 (en) 2012-08-07 2015-01-06 Sonos, Inc. Acoustic signatures in a playback system
US9736572B2 (en) 2012-08-31 2017-08-15 Sonos, Inc. Playback based on received sound waves
US11310557B2 (en) 2012-09-28 2022-04-19 Sonos, Inc. Audio content playback management
US9876787B2 (en) 2012-09-28 2018-01-23 Sonos, Inc. Streaming music using authentication information
US10412445B2 (en) 2012-09-28 2019-09-10 Sonos, Inc. Audio content playback management
US9668026B2 (en) 2012-09-28 2017-05-30 Sonos, Inc. Audio content playback management
US9185103B2 (en) 2012-09-28 2015-11-10 Sonos, Inc. Streaming music using authentication information
US9432365B2 (en) 2012-09-28 2016-08-30 Sonos, Inc. Streaming music using authentication information
US9078010B2 (en) 2012-09-28 2015-07-07 Sonos, Inc. Audio content playback management
US10306364B2 (en) 2012-09-28 2019-05-28 Sonos, Inc. Audio processing adjustments for playback devices based on determined characteristics of audio content
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US10721575B2 (en) 2012-10-01 2020-07-21 Sonos, Inc. Providing a multi-channel and a multi-zone audio environment
US9516440B2 (en) 2012-10-01 2016-12-06 Sonos Providing a multi-channel and a multi-zone audio environment
US11516611B2 (en) 2012-10-01 2022-11-29 Sonos, Inc. Providing a multi-channel and a multi-zone audio environment
US10051398B2 (en) 2012-10-01 2018-08-14 Sonos, Inc. Providing playback timing in a multi-zone audio environment
US9674246B2 (en) 2012-10-10 2017-06-06 Sonos, Inc. Data routing optimization
US10051023B2 (en) 2012-10-10 2018-08-14 Sonos, Inc. Routing data over wireless communication links
US9179197B2 (en) 2012-10-10 2015-11-03 Sonos, Inc. Methods and apparatus for multicast optimization
US10516711B2 (en) 2012-10-10 2019-12-24 Sonos, Inc. Routing data over wireless communication links
US10386809B2 (en) 2012-10-16 2019-08-20 Sonos, Inc. Remote command learning
US10671042B2 (en) 2012-10-16 2020-06-02 Sonos, Inc. Remote command learning
US9678712B2 (en) 2012-10-16 2017-06-13 Sonos, Inc. Remote command learning
US9915931B2 (en) 2012-10-16 2018-03-13 Sonos, Inc. Remote command learning
US9952576B2 (en) 2012-10-16 2018-04-24 Sonos, Inc. Methods and apparatus to learn and share remote commands
US10749613B2 (en) 2012-12-04 2020-08-18 Sonos, Inc. Mobile source media content access
US11728907B2 (en) 2012-12-04 2023-08-15 Sonos, Inc. Playback device media item replacement
US10885108B2 (en) 2012-12-04 2021-01-05 Sonos, Inc. Media content search based on metadata
US9537915B2 (en) 2012-12-04 2017-01-03 Sonos, Inc. Replacing media item
US11893053B2 (en) 2012-12-04 2024-02-06 Sonos, Inc. Media content search based on metadata
US9319153B2 (en) 2012-12-04 2016-04-19 Sonos, Inc. Mobile source media content access
US10055491B2 (en) 2012-12-04 2018-08-21 Sonos, Inc. Media content search based on metadata
US9774643B2 (en) 2012-12-04 2017-09-26 Sonos, Inc. Mobile source media content access
US10097601B2 (en) 2012-12-04 2018-10-09 Sonos, Inc. Playback device media item replacement
US11316595B2 (en) 2012-12-04 2022-04-26 Sonos, Inc. Playback device media item replacement
US11445261B2 (en) 2013-01-23 2022-09-13 Sonos, Inc. Multiple household management
US10097893B2 (en) 2013-01-23 2018-10-09 Sonos, Inc. Media experience social interface
US10587928B2 (en) 2013-01-23 2020-03-10 Sonos, Inc. Multiple household management
US11032617B2 (en) 2013-01-23 2021-06-08 Sonos, Inc. Multiple household management
US11889160B2 (en) 2013-01-23 2024-01-30 Sonos, Inc. Multiple household management
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US10341736B2 (en) 2013-01-23 2019-07-02 Sonos, Inc. Multiple household management interface
US10271078B2 (en) 2013-02-14 2019-04-23 Sonos, Inc. Configuration of playback device audio settings
US9237384B2 (en) 2013-02-14 2016-01-12 Sonos, Inc. Automatic configuration of household playback devices
US11178441B2 (en) 2013-02-14 2021-11-16 Sonos, Inc. Configuration of playback device audio settings
US9686282B2 (en) 2013-02-14 2017-06-20 Sonos, Inc. Automatic configuration of household playback devices
US11539995B2 (en) 2013-02-14 2022-12-27 Sonos, Inc. Configuration of playback device audio settings
US10779024B2 (en) 2013-02-14 2020-09-15 Sonos, Inc. Configuration of playback device audio settings
US9319409B2 (en) 2013-02-14 2016-04-19 Sonos, Inc. Automatic configuration of household playback devices
US10127010B1 (en) 2013-02-26 2018-11-13 Sonos, Inc. Pre-Caching of Media in a Playback Queue
US11175884B2 (en) 2013-02-26 2021-11-16 Sonos, Inc. Pre-caching of media
US9940092B2 (en) 2013-02-26 2018-04-10 Sonos, Inc. Pre-caching of media in a playback queue
US10572218B2 (en) 2013-02-26 2020-02-25 Sonos, Inc. Pre-caching of media
US9727219B2 (en) 2013-03-15 2017-08-08 Sonos, Inc. Media playback system controller having multiple graphical interfaces
US11188590B2 (en) 2013-04-16 2021-11-30 Sonos, Inc. Playlist update corresponding to playback queue modification
US11775251B2 (en) 2013-04-16 2023-10-03 Sonos, Inc. Playback transfer in a media playback system
US10339331B2 (en) 2013-04-16 2019-07-02 Sonos, Inc. Playback device queue access levels
US11321046B2 (en) 2013-04-16 2022-05-03 Sonos, Inc. Playback transfer in a media playback system
US11727134B2 (en) 2013-04-16 2023-08-15 Sonos, Inc. Playback device queue access levels
US10380179B2 (en) 2013-04-16 2019-08-13 Sonos, Inc. Playlist update corresponding to playback queue modification
US10466956B2 (en) 2013-04-16 2019-11-05 Sonos, Inc. Playback queue transfer in a media playback system
US11188666B2 (en) 2013-04-16 2021-11-30 Sonos, Inc. Playback device queue access levels
US11899712B2 (en) 2013-04-16 2024-02-13 Sonos, Inc. Playback queue collaboration and notification
US9967848B2 (en) 2013-04-29 2018-05-08 Google Technology Holdings LLC Systems and methods for synchronizing multiple electronic devices
US9967847B2 (en) 2013-04-29 2018-05-08 Google Technology Holdings LLC Systems and methods for synchronizing multiple electronic devices
US10582464B2 (en) 2013-04-29 2020-03-03 Google Technology Holdings LLC Systems and methods for synchronizing multiple electronic devices
US10952170B2 (en) 2013-04-29 2021-03-16 Google Technology Holdings LLC Systems and methods for synchronizing multiple electronic devices
US9961656B2 (en) 2013-04-29 2018-05-01 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US10743271B2 (en) 2013-04-29 2020-08-11 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US10743270B2 (en) 2013-04-29 2020-08-11 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US11743849B2 (en) 2013-04-29 2023-08-29 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US10813066B2 (en) 2013-04-29 2020-10-20 Google Technology Holdings LLC Systems and methods for synchronizing multiple electronic devices
US10820289B2 (en) 2013-04-29 2020-10-27 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US10191980B2 (en) 2013-05-29 2019-01-29 Sonos, Inc. Playback queue control via a playlist on a computing device
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US10152537B1 (en) 2013-05-29 2018-12-11 Sonos, Inc. Playback queue control by a mobile device
US9953179B2 (en) 2013-05-29 2018-04-24 Sonos, Inc. Private queue indicator
US11514105B2 (en) 2013-05-29 2022-11-29 Sonos, Inc. Transferring playback from a mobile device to a playback device
US11687586B2 (en) 2013-05-29 2023-06-27 Sonos, Inc. Transferring playback from a mobile device to a playback device
US9735978B2 (en) 2013-05-29 2017-08-15 Sonos, Inc. Playback queue control via a playlist on a mobile device
US10191981B2 (en) 2013-05-29 2019-01-29 Sonos, Inc. Playback queue control indicator
US10248724B2 (en) 2013-05-29 2019-04-02 Sonos, Inc. Playback queue control connection
US10013233B2 (en) 2013-05-29 2018-07-03 Sonos, Inc. Playlist modification
US9798510B2 (en) 2013-05-29 2017-10-24 Sonos, Inc. Connected state indicator
US9703521B2 (en) 2013-05-29 2017-07-11 Sonos, Inc. Moving a playback queue to a new zone
US10715973B2 (en) 2013-05-29 2020-07-14 Sonos, Inc. Playback queue control transition
USD784404S1 (en) 2013-05-29 2017-04-18 Sonos, Inc. Display screen portion with icon
US9438193B2 (en) 2013-06-05 2016-09-06 Sonos, Inc. Satellite volume control
US10840867B2 (en) 2013-06-05 2020-11-17 Sonos, Inc. Playback device group volume control
US10050594B2 (en) 2013-06-05 2018-08-14 Sonos, Inc. Playback device group volume control
US9680433B2 (en) 2013-06-05 2017-06-13 Sonos, Inc. Satellite volume control
US11545948B2 (en) 2013-06-05 2023-01-03 Sonos, Inc. Playback device group volume control
US10447221B2 (en) 2013-06-05 2019-10-15 Sonos, Inc. Playback device group volume control
US9654073B2 (en) 2013-06-07 2017-05-16 Sonos, Inc. Group volume control
US11601104B2 (en) 2013-06-07 2023-03-07 Sonos, Inc. Zone volume control
US11909365B2 (en) 2013-06-07 2024-02-20 Sonos, Inc. Zone volume control
US10868508B2 (en) 2013-06-07 2020-12-15 Sonos, Inc. Zone volume control
US10454437B2 (en) 2013-06-07 2019-10-22 Sonos, Inc. Zone volume control
US10122338B2 (en) 2013-06-07 2018-11-06 Sonos, Inc. Group volume control
US11863944B2 (en) 2013-06-24 2024-01-02 Sonos, Inc. Intelligent amplifier activation
US9883306B2 (en) 2013-06-24 2018-01-30 Sonos, Inc. Intelligent amplifier activation
US11363397B2 (en) 2013-06-24 2022-06-14 Sonos, Inc. Intelligent amplifier activation
US9516441B2 (en) 2013-06-24 2016-12-06 Sonos, Inc. Intelligent amplifier activation
US10728681B2 (en) 2013-06-24 2020-07-28 Sonos, Inc. Intelligent amplifier activation
US10114606B1 (en) 2013-07-09 2018-10-30 Sonos, Inc. Providing media for playback
US9298415B2 (en) 2013-07-09 2016-03-29 Sonos, Inc. Systems and methods to provide play/pause content
US11169768B2 (en) 2013-07-09 2021-11-09 Sonos, Inc. Providing media for playback
US11809779B2 (en) 2013-07-09 2023-11-07 Sonos, Inc. Providing media for playback
US10740061B2 (en) 2013-07-09 2020-08-11 Sonos, Inc. Providing media for playback
US10231010B2 (en) 2013-07-17 2019-03-12 Sonos, Inc. Associating playback devices with playback queues
US10820044B2 (en) 2013-07-17 2020-10-27 Sonos, Inc. Associating playback devices with playback queues
US11825152B2 (en) 2013-07-17 2023-11-21 Sonos, Inc. Associating playback devices with playback queues
US9232277B2 (en) 2013-07-17 2016-01-05 Sonos, Inc. Associating playback devices with playback queues
US9521454B2 (en) 2013-07-17 2016-12-13 Sonos, Inc. Associating playback devices with playback queues
US10969940B2 (en) 2013-09-27 2021-04-06 Sonos, Inc. Multi-household support
US9965244B2 (en) 2013-09-27 2018-05-08 Sonos, Inc. System and method for issuing commands in a media playback system
US11797262B2 (en) 2013-09-27 2023-10-24 Sonos, Inc. Command dial in a media playback system
US11494060B2 (en) 2013-09-27 2022-11-08 Sonos, Inc. Multi-household support
US11778378B2 (en) 2013-09-27 2023-10-03 Sonos, Inc. Volume management in a media playback system
US9231545B2 (en) 2013-09-27 2016-01-05 Sonos, Inc. Volume enhancements in a multi-zone media playback system
US9933920B2 (en) 2013-09-27 2018-04-03 Sonos, Inc. Multi-household support
US11829590B2 (en) 2013-09-27 2023-11-28 Sonos, Inc. Multi-household support
US10536777B2 (en) 2013-09-27 2020-01-14 Sonos, Inc. Volume management in a media playback system
US11172296B2 (en) 2013-09-27 2021-11-09 Sonos, Inc. Volume management in a media playback system
US9355555B2 (en) 2013-09-27 2016-05-31 Sonos, Inc. System and method for issuing commands in a media playback system
US11080008B2 (en) 2013-09-27 2021-08-03 Sonos, Inc. Command dial in a media playback system
US10045123B2 (en) 2013-09-27 2018-08-07 Sonos, Inc. Playback device volume management
US10579328B2 (en) 2013-09-27 2020-03-03 Sonos, Inc. Command device to control a synchrony group
US10028028B2 (en) 2013-09-30 2018-07-17 Sonos, Inc. Accessing last-browsed information in a media playback system
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US11403063B2 (en) 2013-09-30 2022-08-02 Sonos, Inc. Fast-resume audio playback
US10687110B2 (en) 2013-09-30 2020-06-16 Sonos, Inc. Forwarding audio content based on network performance metrics
US9684485B2 (en) 2013-09-30 2017-06-20 Sonos, Inc. Fast-resume audio playback
US9686351B2 (en) 2013-09-30 2017-06-20 Sonos, Inc. Group coordinator selection based on communication parameters
US11747863B2 (en) 2013-09-30 2023-09-05 Sonos, Inc. Wireless antenna sensing in a playback device
US11757980B2 (en) 2013-09-30 2023-09-12 Sonos, Inc. Group coordinator selection
US11317149B2 (en) 2013-09-30 2022-04-26 Sonos, Inc. Group coordinator selection
US9703324B2 (en) 2013-09-30 2017-07-11 Sonos, Inc. RF antenna proximity sensing in a playback device
US11740774B2 (en) 2013-09-30 2023-08-29 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9680214B2 (en) 2013-09-30 2017-06-13 Sonos, Inc. Antenna assemblies
US10101792B2 (en) 2013-09-30 2018-10-16 Sonos, Inc. Capacitive proximity sensor configuration including an antenna ground plane
US11543876B2 (en) 2013-09-30 2023-01-03 Sonos, Inc. Synchronous playback with battery-powered playback device
US9965242B2 (en) 2013-09-30 2018-05-08 Sonos, Inc. Communication based on operation mode
US11042351B2 (en) 2013-09-30 2021-06-22 Sonos, Inc. Fast-resume audio playback
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9537819B2 (en) 2013-09-30 2017-01-03 Sonos, Inc. Facilitating the resolution of address conflicts in a networked media playback system
US9298244B2 (en) 2013-09-30 2016-03-29 Sonos, Inc. Communication routes based on low power operation
US10430153B2 (en) 2013-09-30 2019-10-01 Sonos, Inc. Fast-resume audio playback
US10425789B2 (en) 2013-09-30 2019-09-24 Sonos, Inc. Proximity-based media system disconnect
US10761801B2 (en) 2013-09-30 2020-09-01 Sonos, Inc. Capacitive proximity sensor configuration including a conductive speaker grille
US9456037B2 (en) 2013-09-30 2016-09-27 Sonos, Inc. Identifying a useful wired connection
US10623819B2 (en) 2013-09-30 2020-04-14 Sonos, Inc. Accessing last-browsed information in a media playback system
US10296884B2 (en) 2013-09-30 2019-05-21 Sonos, Inc. Personalized media playback at a discovered point-of-sale display
US11057458B2 (en) 2013-09-30 2021-07-06 Sonos, Inc. Group coordinator selection
US11005940B2 (en) 2013-09-30 2021-05-11 Sonos, Inc. Network topology based on a useful wired connection
US10031716B2 (en) 2013-09-30 2018-07-24 Sonos, Inc. Enabling components of a playback device
US9323404B2 (en) 2013-09-30 2016-04-26 Sonos, Inc. Capacitive proximity sensor configuration including an antenna ground plane
US9122451B2 (en) 2013-09-30 2015-09-01 Sonos, Inc. Capacitive proximity sensor configuration including a speaker grille
US10771368B2 (en) 2013-09-30 2020-09-08 Sonos, Inc. Facilitating the resolution of address conflicts in a networked media playback system
US10095785B2 (en) 2013-09-30 2018-10-09 Sonos, Inc. Audio content search in a media playback system
US10775973B2 (en) 2013-09-30 2020-09-15 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US11481744B2 (en) 2013-09-30 2022-10-25 Sonos, Inc. Discovery and media control at a point-of-sale display
US11805174B2 (en) 2013-09-30 2023-10-31 Sonos, Inc. Transition between network connections
US10467288B2 (en) 2013-09-30 2019-11-05 Sonos, Inc. Audio content search of registered audio content sources in a media playback system
US9477440B2 (en) 2013-09-30 2016-10-25 Sonos, Inc. Capacitive proximity sensor configuration including a speaker grille
US10846049B2 (en) 2013-09-30 2020-11-24 Sonos, Inc. Communication based on operation mode
US10320888B2 (en) 2013-09-30 2019-06-11 Sonos, Inc. Group coordinator selection based on communication parameters
US11494063B2 (en) 2013-09-30 2022-11-08 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US11119540B2 (en) 2013-09-30 2021-09-14 Sonos, Inc. RF antenna proximity sensing in a playback device
US10324685B2 (en) 2013-09-30 2019-06-18 Sonos, Inc. Communication based on operation mode
US11722870B2 (en) 2013-09-30 2023-08-08 Sonos, Inc. Media playback system control via multiple networks
US11706116B2 (en) 2013-09-30 2023-07-18 Sonos, Inc. Facilitating the resolution of address conflicts in a networked media playback system
US9935863B2 (en) 2013-09-30 2018-04-03 Sonos, Inc. Facilitating the resolution of address conflicts in a networked media playback system
US11129005B2 (en) 2013-09-30 2021-09-21 Sonos, Inc. Media playback system control via cellular network
US11816390B2 (en) 2013-09-30 2023-11-14 Sonos, Inc. Playback device using standby in a media playback system
US9244516B2 (en) 2013-09-30 2016-01-26 Sonos, Inc. Media playback system using standby mode in a mesh network
US10055003B2 (en) 2013-09-30 2018-08-21 Sonos, Inc. Playback device operations based on battery level
US10142688B2 (en) 2013-09-30 2018-11-27 Sonos, Inc. Group coordinator selection
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US11818225B1 (en) 2013-09-30 2023-11-14 Sonos, Inc. Automatic discovery and control of a remotely controllable system
US9223353B2 (en) 2013-09-30 2015-12-29 Sonos, Inc. Ambient light proximity sensing configuration
US10871817B2 (en) 2013-09-30 2020-12-22 Sonos, Inc. Synchronous playback with battery-powered playback device
US10871938B2 (en) 2013-09-30 2020-12-22 Sonos, Inc. Playback device using standby mode in a media playback system
US10091548B2 (en) 2013-09-30 2018-10-02 Sonos, Inc. Group coordinator selection based on network performance metrics
US11816389B2 (en) 2013-09-30 2023-11-14 Sonos, Inc. Communication based on operation mode
US9241355B2 (en) 2013-09-30 2016-01-19 Sonos, Inc. Media system access via cellular network
US11175805B2 (en) 2013-09-30 2021-11-16 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US11818430B2 (en) 2013-09-30 2023-11-14 Sonos, Inc. Group coordinator selection
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US11720319B2 (en) 2014-01-15 2023-08-08 Sonos, Inc. Playback queue with software components
US11055058B2 (en) 2014-01-15 2021-07-06 Sonos, Inc. Playback queue with software components
US10452342B2 (en) 2014-01-15 2019-10-22 Sonos, Inc. Software application and zones
US9313591B2 (en) 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
US9813829B2 (en) 2014-01-27 2017-11-07 Sonos, Inc. Audio synchronization among playback devices using offset information
US11182534B2 (en) 2014-02-05 2021-11-23 Sonos, Inc. Remote creation of a playback queue for an event
US11734494B2 (en) 2014-02-05 2023-08-22 Sonos, Inc. Remote creation of a playback queue for an event
US10872194B2 (en) 2014-02-05 2020-12-22 Sonos, Inc. Remote creation of a playback queue for a future event
US10360290B2 (en) 2014-02-05 2019-07-23 Sonos, Inc. Remote creation of a playback queue for a future event
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9363601B2 (en) 2014-02-06 2016-06-07 Sonos, Inc. Audio output balancing
US9781513B2 (en) 2014-02-06 2017-10-03 Sonos, Inc. Audio output balancing
US9794707B2 (en) 2014-02-06 2017-10-17 Sonos, Inc. Audio output balancing
US9369104B2 (en) 2014-02-06 2016-06-14 Sonos, Inc. Audio output balancing
US9226072B2 (en) 2014-02-21 2015-12-29 Sonos, Inc. Media content based on playback zone awareness
US11948205B2 (en) 2014-02-21 2024-04-02 Sonos, Inc. Media content based on playback zone awareness
US9332348B2 (en) 2014-02-21 2016-05-03 Sonos, Inc. Media content request including zone name
US9326070B2 (en) 2014-02-21 2016-04-26 Sonos, Inc. Media content based on playback zone awareness
US10877721B2 (en) 2014-02-21 2020-12-29 Sonos, Inc. Media system controller interface
US9372610B2 (en) 2014-02-21 2016-06-21 Sonos, Inc. Media system controller interface
US10379805B2 (en) 2014-02-21 2019-08-13 Sonos, Inc. Media system controller interface
US11556998B2 (en) 2014-02-21 2023-01-17 Sonos, Inc. Media content based on playback zone awareness
US9326071B2 (en) 2014-02-21 2016-04-26 Sonos, Inc. Media content suggestion based on playback zone awareness
US11170447B2 (en) 2014-02-21 2021-11-09 Sonos, Inc. Media content based on playback zone awareness
US9723418B2 (en) 2014-02-21 2017-08-01 Sonos, Inc. Media content based on playback zone awareness
US9516445B2 (en) 2014-02-21 2016-12-06 Sonos, Inc. Media content based on playback zone awareness
US9408008B2 (en) 2014-02-28 2016-08-02 Sonos, Inc. Playback zone representations
US9898246B2 (en) 2014-02-28 2018-02-20 Sonos, Inc. Playback zone representations
US10762129B2 (en) 2014-03-05 2020-09-01 Sonos, Inc. Webpage media playback
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US11782977B2 (en) 2014-03-05 2023-10-10 Sonos, Inc. Webpage media playback
USD919652S1 (en) 2014-03-07 2021-05-18 Sonos, Inc. Display screen or portion thereof with graphical user interface
USD775632S1 (en) 2014-03-07 2017-01-03 Sonos, Inc. Display screen or portion thereof with graphical user interface
USD785649S1 (en) 2014-03-07 2017-05-02 Sonos, Inc. Display screen or portion thereof graphical user interface
USD786266S1 (en) 2014-03-07 2017-05-09 Sonos, Inc. Display screen or portion thereof with graphical user interface
USD792420S1 (en) 2014-03-07 2017-07-18 Sonos, Inc. Display screen or portion thereof with graphical user interface
USD895638S1 (en) 2014-03-07 2020-09-08 Sonos, Inc. Display screen or portion thereof with graphical user interface
USD772918S1 (en) 2014-03-07 2016-11-29 Sonos, Inc. Display screen or portion thereof with graphical user interface
US11023199B2 (en) 2014-03-11 2021-06-01 Sonos, Inc. Playback zone representations
US10599287B2 (en) 2014-03-11 2020-03-24 Sonos, Inc. Group volume control
US11640225B2 (en) 2014-03-11 2023-05-02 Sonos, Inc. Group volume control
US9344829B2 (en) 2014-03-17 2016-05-17 Sonos, Inc. Indication of barrier detection
US11696081B2 (en) 2014-03-17 2023-07-04 Sonos, Inc. Audio settings based on environment
US9439021B2 (en) 2014-03-17 2016-09-06 Sonos, Inc. Proximity detection using audio pulse
US10791407B2 (en) 2014-03-17 2020-09-29 Sonon, Inc. Playback device configuration
US10051399B2 (en) 2014-03-17 2018-08-14 Sonos, Inc. Playback device configuration according to distortion threshold
US9219460B2 (en) 2014-03-17 2015-12-22 Sonos, Inc. Audio settings based on environment
US9872119B2 (en) 2014-03-17 2018-01-16 Sonos, Inc. Audio settings of multiple speakers in a playback device
US10299055B2 (en) 2014-03-17 2019-05-21 Sonos, Inc. Restoration of playback device configuration
US10863295B2 (en) 2014-03-17 2020-12-08 Sonos, Inc. Indoor/outdoor playback device calibration
US9439022B2 (en) 2014-03-17 2016-09-06 Sonos, Inc. Playback device speaker configuration based on proximity detection
US9743208B2 (en) 2014-03-17 2017-08-22 Sonos, Inc. Playback device configuration based on proximity detection
US10511924B2 (en) 2014-03-17 2019-12-17 Sonos, Inc. Playback device with multiple sensors
US10129675B2 (en) 2014-03-17 2018-11-13 Sonos, Inc. Audio settings of multiple speakers in a playback device
US11540073B2 (en) 2014-03-17 2022-12-27 Sonos, Inc. Playback device self-calibration
US10412517B2 (en) 2014-03-17 2019-09-10 Sonos, Inc. Calibration of playback device to target curve
US11080329B2 (en) 2014-03-18 2021-08-03 Sonos, Inc. Dynamic display of filter criteria
US9892118B2 (en) 2014-03-18 2018-02-13 Sonos, Inc. Dynamic display of filter criteria
US10565257B2 (en) 2014-03-18 2020-02-18 Sonos, Inc. Dynamic display of filter criteria
US10331736B2 (en) 2014-03-21 2019-06-25 Sonos, Inc. Facilitating streaming media access via a media-item database
US9223862B2 (en) 2014-03-21 2015-12-29 Sonos, Inc. Remote storage and provisioning of local-media index
US11481437B2 (en) 2014-03-21 2022-10-25 Sonos, Inc Facilitating streaming media access via a media-item database
US9733889B2 (en) 2014-03-21 2017-08-15 Sonos, Inc. Remote storage and provisioning of local-media index
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US11431804B2 (en) 2014-04-01 2022-08-30 Sonos, Inc. Mirrored queues
US11831721B2 (en) 2014-04-01 2023-11-28 Sonos, Inc. Mirrored queues
US9705950B2 (en) 2014-04-03 2017-07-11 Sonos, Inc. Methods and systems for transmitting playlists
US10362078B2 (en) 2014-04-03 2019-07-23 Sonos, Inc. Location-based music content identification
US11729233B2 (en) 2014-04-03 2023-08-15 Sonos, Inc. Location-based playlist generation
US10362077B2 (en) 2014-04-03 2019-07-23 Sonos, Inc. Location-based music content identification
US10367868B2 (en) 2014-04-03 2019-07-30 Sonos, Inc. Location-based playlist
US11218524B2 (en) 2014-04-03 2022-01-04 Sonos, Inc. Location-based playlist generation
US9524338B2 (en) 2014-04-28 2016-12-20 Sonos, Inc. Playback of media content according to media preferences
US10554781B2 (en) 2014-04-28 2020-02-04 Sonos, Inc. Receiving media content based on user media preferences
US11538498B2 (en) 2014-04-28 2022-12-27 Sonos, Inc. Management of media content playback
US10572535B2 (en) 2014-04-28 2020-02-25 Sonos, Inc. Playback of internet radio according to media preferences
US10122819B2 (en) 2014-04-28 2018-11-06 Sonos, Inc. Receiving media content based on media preferences of additional users
US11372916B2 (en) 2014-04-28 2022-06-28 Sonos, Inc. Playback of media content according to media preferences
US10133817B2 (en) 2014-04-28 2018-11-20 Sonos, Inc. Playback of media content according to media preferences
US11928151B2 (en) 2014-04-28 2024-03-12 Sonos, Inc. Playback of media content according to media preferences
US10880611B2 (en) 2014-04-28 2020-12-29 Sonos, Inc. Media preference database
US11831959B2 (en) 2014-04-28 2023-11-28 Sonos, Inc. Media preference database
US10586567B2 (en) 2014-04-28 2020-03-10 Sonos, Inc. Management of media content playback
US10878026B2 (en) 2014-04-28 2020-12-29 Sonos, Inc. Playback of curated according to media preferences
US9680960B2 (en) 2014-04-28 2017-06-13 Sonos, Inc. Receiving media content based on media preferences of multiple users
US10026439B2 (en) 2014-04-28 2018-07-17 Sonos, Inc. Management of media content playback
US10129599B2 (en) 2014-04-28 2018-11-13 Sonos, Inc. Media preference database
US9478247B2 (en) 2014-04-28 2016-10-25 Sonos, Inc. Management of media content playback
US11503126B2 (en) 2014-04-28 2022-11-15 Sonos, Inc. Receiving media content based on user media preferences
US10971185B2 (en) 2014-04-28 2021-04-06 Sonos, Inc. Management of media content playback
US10992775B2 (en) 2014-04-28 2021-04-27 Sonos, Inc. Receiving media content based on user media preferences
US11188621B2 (en) 2014-05-12 2021-11-30 Sonos, Inc. Share restriction for curated playlists
US10621310B2 (en) 2014-05-12 2020-04-14 Sonos, Inc. Share restriction for curated playlists
US10452343B2 (en) 2014-06-04 2019-10-22 Sonos, Inc. Prioritizing media content requests
US10116641B2 (en) 2014-06-04 2018-10-30 Sonos, Inc. Cloud queue playback policies on a graphical user interface
US10333920B2 (en) 2014-06-04 2019-06-25 Sonos, Inc. Cloud queue synchronization
US11409496B2 (en) 2014-06-04 2022-08-09 Sonos, Inc. Prioritizing media content requests
US10412073B2 (en) 2014-06-04 2019-09-10 Sonos, Inc. Cloud queue synchronization
US10666634B2 (en) 2014-06-04 2020-05-26 Sonos, Inc. Cloud queue access control
US10326750B2 (en) 2014-06-04 2019-06-18 Sonos, Inc. Cloud queue playhead
US10891104B2 (en) 2014-06-04 2021-01-12 Sonos, Inc. Prioritizing media content requests
US11880553B2 (en) 2014-06-04 2024-01-23 Sonos, Inc. Continuous playback queue
US9942215B2 (en) 2014-06-04 2018-04-10 Sonos, Inc. Cloud queue synchronization protocol
US10747409B2 (en) 2014-06-04 2020-08-18 Sonos, Inc. Continuous playback queue
US9648070B2 (en) 2014-06-04 2017-05-09 Sonos, Inc. Cloud queue access control
US9654536B2 (en) 2014-06-04 2017-05-16 Sonos, Inc. Cloud queue playback policy
US9654459B2 (en) 2014-06-04 2017-05-16 Sonos, Inc. Cloud queue synchronization protocol
US9720642B2 (en) 2014-06-04 2017-08-01 Sonos, Inc. Prioritizing media content requests
US9363254B2 (en) 2014-06-04 2016-06-07 Sonos, Inc. Cloud queue access control
US10587602B2 (en) 2014-06-04 2020-03-10 Sonos, Inc. Cloud queue synchronization
US11831627B2 (en) 2014-06-04 2023-11-28 Sonos, Inc. Cloud queue access control
US10462119B2 (en) 2014-06-04 2019-10-29 Sonos, Inc. Cloud queue synchronization
US9363255B2 (en) 2014-06-04 2016-06-07 Sonos, Inc. Cloud queue playhead
US9537852B2 (en) 2014-06-04 2017-01-03 Sonos, Inc. Cloud queue access control
US9729599B2 (en) 2014-06-04 2017-08-08 Sonos, Inc. Cloud queue access control
US10158619B2 (en) 2014-06-04 2018-12-18 Sonos, Inc. Cloud queue access control
US9648071B2 (en) 2014-06-04 2017-05-09 Sonos, Inc. Cloud queue playhead
US9967246B2 (en) 2014-06-04 2018-05-08 Sonos, Inc. Cloud queue access control
US11190564B2 (en) 2014-06-05 2021-11-30 Sonos, Inc. Multimedia content distribution system and method
US11899708B2 (en) 2014-06-05 2024-02-13 Sonos, Inc. Multimedia content distribution system and method
US9672213B2 (en) 2014-06-10 2017-06-06 Sonos, Inc. Providing media items from playback history
US11068528B2 (en) 2014-06-10 2021-07-20 Sonos, Inc. Providing media items from playback history
US10055412B2 (en) 2014-06-10 2018-08-21 Sonos, Inc. Providing media items from playback history
US9916125B2 (en) 2014-06-18 2018-03-13 Sonos, Inc. Device group identification
US10691401B2 (en) 2014-06-18 2020-06-23 Sonos, Inc. Device group identification
US10241742B2 (en) 2014-06-18 2019-03-26 Sonos, Inc. Device group identification
US9348824B2 (en) 2014-06-18 2016-05-24 Sonos, Inc. Device group identification
US11442688B2 (en) 2014-06-18 2022-09-13 Sonos, Inc. Device group identification
US11514104B2 (en) 2014-06-27 2022-11-29 Sonos, Inc. Suggested application download
US9535986B2 (en) 2014-06-27 2017-01-03 Sonos, Inc. Application launch
US10997234B2 (en) 2014-06-27 2021-05-04 Sonos, Inc. Suggested application download
US9646085B2 (en) 2014-06-27 2017-05-09 Sonos, Inc. Music streaming using supported services
US10860286B2 (en) 2014-06-27 2020-12-08 Sonos, Inc. Music streaming using supported services
US10068012B2 (en) 2014-06-27 2018-09-04 Sonos, Inc. Music discovery
US10963508B2 (en) 2014-06-27 2021-03-30 Sonos, Inc. Music discovery
US10089065B2 (en) 2014-06-27 2018-10-02 Sonos, Inc. Music streaming using supported services
US10152536B2 (en) 2014-06-27 2018-12-11 Sonos, Inc. Suggested application download
US11625430B2 (en) 2014-06-27 2023-04-11 Sonos, Inc. Music discovery
US11301204B2 (en) 2014-06-27 2022-04-12 Sonos, Inc. Music streaming using supported services
US9519413B2 (en) 2014-07-01 2016-12-13 Sonos, Inc. Lock screen media playback control
US11301123B2 (en) 2014-07-01 2022-04-12 Sonos, Inc. Lock screen media playback control
US10452248B2 (en) 2014-07-01 2019-10-22 Sonos, Inc. Lock screen media playback control
US9467737B2 (en) 2014-07-14 2016-10-11 Sonos, Inc. Zone group control
US10455278B2 (en) 2014-07-14 2019-10-22 Sonos, Inc. Zone group control
US10972784B2 (en) 2014-07-14 2021-04-06 Sonos, Inc. Zone group control
US9460755B2 (en) 2014-07-14 2016-10-04 Sonos, Inc. Queue identification
US10462505B2 (en) 2014-07-14 2019-10-29 Sonos, Inc. Policies for media playback
US11886496B2 (en) 2014-07-14 2024-01-30 Sonos, Inc. Queue identification
US11528522B2 (en) 2014-07-14 2022-12-13 Sonos, Inc. Policies for media playback
US10572533B2 (en) 2014-07-14 2020-02-25 Sonos, Inc. Resolving inconsistent queues
US11366853B2 (en) 2014-07-14 2022-06-21 Sonos, Inc. Queue identification in a wearable playback device
US11562017B2 (en) 2014-07-14 2023-01-24 Sonos, Inc. Queue versioning
US11036794B2 (en) 2014-07-14 2021-06-15 Sonos, Inc. Queue versioning
US11483396B2 (en) 2014-07-14 2022-10-25 Sonos, Inc. Managing application access of a media playback system
US9898532B2 (en) 2014-07-14 2018-02-20 Sonos, Inc. Resolving inconsistent queues
US9904730B2 (en) 2014-07-14 2018-02-27 Sonos, Inc. Queue identification
US10498833B2 (en) 2014-07-14 2019-12-03 Sonos, Inc. Managing application access of a media playback system
US10452709B2 (en) 2014-07-14 2019-10-22 Sonos, Inc. Queue identification
US10878027B2 (en) 2014-07-14 2020-12-29 Sonos, Inc. Queue identification
US11528527B2 (en) 2014-07-14 2022-12-13 Sonos, Inc. Zone group control
US9924221B2 (en) 2014-07-14 2018-03-20 Sonos, Inc. Zone group control
US10540393B2 (en) 2014-07-14 2020-01-21 Sonos, Inc. Queue versioning
US11172030B2 (en) 2014-07-14 2021-11-09 Sonos, Inc. Managing application access of a media playback system
US9213762B1 (en) 2014-07-22 2015-12-15 Sonos, Inc. Operation using positioning information
US9367611B1 (en) 2014-07-22 2016-06-14 Sonos, Inc. Detecting improper position of a playback device
US9777884B2 (en) 2014-07-22 2017-10-03 Sonos, Inc. Device base
US11803349B2 (en) 2014-07-22 2023-10-31 Sonos, Inc. Audio settings
US8995240B1 (en) 2014-07-22 2015-03-31 Sonos, Inc. Playback using positioning information
US9367283B2 (en) 2014-07-22 2016-06-14 Sonos, Inc. Audio settings
US10061556B2 (en) 2014-07-22 2018-08-28 Sonos, Inc. Audio settings
US9512954B2 (en) 2014-07-22 2016-12-06 Sonos, Inc. Device base
US9778901B2 (en) 2014-07-22 2017-10-03 Sonos, Inc. Operation using positioning information
US9521489B2 (en) 2014-07-22 2016-12-13 Sonos, Inc. Operation using positioning information
US11650786B2 (en) 2014-07-23 2023-05-16 Sonos, Inc. Device grouping
US10209948B2 (en) 2014-07-23 2019-02-19 Sonos, Inc. Device grouping
US11762625B2 (en) 2014-07-23 2023-09-19 Sonos, Inc. Zone grouping
US9671997B2 (en) 2014-07-23 2017-06-06 Sonos, Inc. Zone grouping
US10209947B2 (en) 2014-07-23 2019-02-19 Sonos, Inc. Device grouping
US11036461B2 (en) 2014-07-23 2021-06-15 Sonos, Inc. Zone grouping
US10809971B2 (en) 2014-07-23 2020-10-20 Sonos, Inc. Device grouping
US10809965B2 (en) 2014-07-30 2020-10-20 Sonos, Inc. Contextual indexing of media items
US9524339B2 (en) 2014-07-30 2016-12-20 Sonos, Inc. Contextual indexing of media items
US10552112B2 (en) 2014-07-30 2020-02-04 Sonos, Inc. Contextual indexing of media items
US11294617B2 (en) 2014-07-30 2022-04-05 Sonos, Inc. Contextual indexing of media items
US10095464B2 (en) 2014-07-30 2018-10-09 Sonos, Inc. Contextual indexing of media items
US11768655B2 (en) 2014-07-30 2023-09-26 Sonos, Inc. Contextual indexing of media items
US11360643B2 (en) 2014-08-08 2022-06-14 Sonos, Inc. Social playback queues
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US10126916B2 (en) 2014-08-08 2018-11-13 Sonos, Inc. Social playback queues
US10866698B2 (en) 2014-08-08 2020-12-15 Sonos, Inc. Social playback queues
US10761710B2 (en) 2014-09-02 2020-09-01 Sonos, Inc. Playback modification based on proximity
US11175815B2 (en) 2014-09-02 2021-11-16 Sonos, Inc. Playback modification based on proximity
US10592086B2 (en) 2014-09-02 2020-03-17 Sonos, Inc. Location based playback system control
US11775160B2 (en) 2014-09-02 2023-10-03 Sonos, Inc. Location based playback system control
US10055108B2 (en) 2014-09-02 2018-08-21 Sonos, Inc. Location based playback system control
US10268357B2 (en) 2014-09-02 2019-04-23 Sonos, Inc. Playback modification based on proximity
US10275138B2 (en) 2014-09-02 2019-04-30 Sonos, Inc. Zone recognition
US10271150B2 (en) 2014-09-09 2019-04-23 Sonos, Inc. Playback device calibration
US10127006B2 (en) 2014-09-09 2018-11-13 Sonos, Inc. Facilitating calibration of an audio playback device
US10701501B2 (en) 2014-09-09 2020-06-30 Sonos, Inc. Playback device calibration
US9891881B2 (en) 2014-09-09 2018-02-13 Sonos, Inc. Audio processing algorithm database
US9910634B2 (en) 2014-09-09 2018-03-06 Sonos, Inc. Microphone calibration
US10127008B2 (en) 2014-09-09 2018-11-13 Sonos, Inc. Audio processing algorithm database
US9781532B2 (en) 2014-09-09 2017-10-03 Sonos, Inc. Playback device calibration
US10154359B2 (en) 2014-09-09 2018-12-11 Sonos, Inc. Playback device calibration
US9936318B2 (en) 2014-09-09 2018-04-03 Sonos, Inc. Playback device calibration
US11029917B2 (en) 2014-09-09 2021-06-08 Sonos, Inc. Audio processing algorithms
US9706323B2 (en) 2014-09-09 2017-07-11 Sonos, Inc. Playback device calibration
US10599386B2 (en) 2014-09-09 2020-03-24 Sonos, Inc. Audio processing algorithms
US11625219B2 (en) 2014-09-09 2023-04-11 Sonos, Inc. Audio processing algorithms
US9749763B2 (en) 2014-09-09 2017-08-29 Sonos, Inc. Playback device calibration
US9715367B2 (en) 2014-09-09 2017-07-25 Sonos, Inc. Audio processing algorithms
US9952825B2 (en) 2014-09-09 2018-04-24 Sonos, Inc. Audio processing algorithms
US11184426B2 (en) 2014-09-12 2021-11-23 Sonos, Inc. Cloud queue tombstone
US10447771B2 (en) 2014-09-12 2019-10-15 Sonos, Inc. Cloud queue item removal
US11533361B2 (en) 2014-09-12 2022-12-20 Sonos, Inc. Cloud queue tombstone
US9742839B2 (en) 2014-09-12 2017-08-22 Sonos, Inc. Cloud queue item removal
US11470134B2 (en) 2014-09-19 2022-10-11 Sonos, Inc. Limited-access media
US10778739B2 (en) 2014-09-19 2020-09-15 Sonos, Inc. Limited-access media
US11451597B2 (en) 2014-09-24 2022-09-20 Sonos, Inc. Playback updates
US11223661B2 (en) 2014-09-24 2022-01-11 Sonos, Inc. Social media connection recommendations based on playback information
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US11134291B2 (en) 2014-09-24 2021-09-28 Sonos, Inc. Social media queue
US11539767B2 (en) 2014-09-24 2022-12-27 Sonos, Inc. Social media connection recommendations based on playback information
US10846046B2 (en) 2014-09-24 2020-11-24 Sonos, Inc. Media item context in social media posts
US11431771B2 (en) 2014-09-24 2022-08-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US10873612B2 (en) 2014-09-24 2020-12-22 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US9671780B2 (en) 2014-09-29 2017-06-06 Sonos, Inc. Playback device control
US10241504B2 (en) 2014-09-29 2019-03-26 Sonos, Inc. Playback device control
US10386830B2 (en) 2014-09-29 2019-08-20 Sonos, Inc. Playback device with capacitive sensors
US11681281B2 (en) 2014-09-29 2023-06-20 Sonos, Inc. Playback device control
US10511685B2 (en) 2014-09-30 2019-12-17 Sonos, Inc. Service provider user accounts
US11165882B2 (en) 2014-09-30 2021-11-02 Sonos, Inc. Service provider user accounts
US10877779B2 (en) 2014-09-30 2020-12-29 Sonos, Inc. Displaying data related to media content
US11758005B2 (en) 2014-09-30 2023-09-12 Sonos, Inc. Service provider user accounts
US10002005B2 (en) 2014-09-30 2018-06-19 Sonos, Inc. Displaying data related to media content
US11533378B2 (en) 2014-09-30 2022-12-20 Sonos, Inc. Service provider user accounts
US9521212B2 (en) 2014-09-30 2016-12-13 Sonos, Inc. Service provider user accounts
US11479388B2 (en) 2014-10-03 2022-10-25 Sonos, Inc. Packaging system with slidable latch
US10301081B2 (en) 2014-10-03 2019-05-28 Sonos, Inc. Packaging System with slidable latch
US10547608B2 (en) 2014-11-21 2020-01-28 Sonos, Inc. Sharing access to a media service
US9876780B2 (en) 2014-11-21 2018-01-23 Sonos, Inc. Sharing access to a media service
US10116652B2 (en) 2014-11-21 2018-10-30 Sonos, Inc. Sharing access to a media service
US11683304B2 (en) 2014-11-21 2023-06-20 Sonos, Inc. Sharing access to a media service
US11757866B2 (en) 2014-11-21 2023-09-12 Sonos, Inc. Accessing a cloud-based service
US11539688B2 (en) 2014-11-21 2022-12-27 Sonos, Inc. Accessing a cloud-based service
US11134076B2 (en) 2014-11-21 2021-09-28 Sonos, Inc. Sharing access to a media service
US11115405B2 (en) 2014-11-21 2021-09-07 Sonos, Inc. Sharing access to a media service
US10349175B2 (en) 2014-12-01 2019-07-09 Sonos, Inc. Modified directional effect
US10863273B2 (en) 2014-12-01 2020-12-08 Sonos, Inc. Modified directional effect
US11743533B2 (en) 2014-12-01 2023-08-29 Sonos, Inc. Sound bar to provide information associated with a media item
US9973851B2 (en) 2014-12-01 2018-05-15 Sonos, Inc. Multi-channel playback of audio content
US11159845B2 (en) 2014-12-01 2021-10-26 Sonos, Inc. Sound bar to provide information associated with a media item
US11470420B2 (en) 2014-12-01 2022-10-11 Sonos, Inc. Audio generation in a media playback system
US11818558B2 (en) 2014-12-01 2023-11-14 Sonos, Inc. Audio generation in a media playback system
US11531515B2 (en) 2015-02-09 2022-12-20 Sonos, Inc. Synchronized audio mixing
US9665341B2 (en) 2015-02-09 2017-05-30 Sonos, Inc. Synchronized audio mixing
US10387110B2 (en) 2015-02-09 2019-08-20 SOHOS, Inc. Synchronized audio mixing
US9977649B2 (en) 2015-02-09 2018-05-22 Sonos, Inc. Synchronized audio mixing
US9330096B1 (en) 2015-02-25 2016-05-03 Sonos, Inc. Playback expansion
US11907614B2 (en) 2015-02-25 2024-02-20 Sonos, Inc. Playback expansion
US9329831B1 (en) 2015-02-25 2016-05-03 Sonos, Inc. Playback expansion
US10860284B2 (en) 2015-02-25 2020-12-08 Sonos, Inc. Playback expansion
US9965243B2 (en) 2015-02-25 2018-05-08 Sonos, Inc. Playback expansion
US11467800B2 (en) 2015-02-25 2022-10-11 Sonos, Inc. Playback expansion
US10795636B2 (en) 2015-03-31 2020-10-06 Sonos, Inc. Information display regarding playback queue subscriptions
US11698769B1 (en) 2015-03-31 2023-07-11 Sonos, Inc. Information display regarding playback queue subscriptions
US11822853B2 (en) 2015-03-31 2023-11-21 Sonos, Inc. Information display regarding playback queue subscriptions
US10705792B2 (en) 2015-04-09 2020-07-07 Sonos, Inc. Wearable device zone group control
US9483230B1 (en) 2015-04-09 2016-11-01 Sonos, Inc. Wearable device zone group control
US10303424B2 (en) 2015-04-09 2019-05-28 Sonos, Inc. Wearable device zone group control
US11055059B2 (en) 2015-04-10 2021-07-06 Sonos, Inc. Identification of audio content
US9678707B2 (en) 2015-04-10 2017-06-13 Sonos, Inc. Identification of audio content facilitated by playback device
US10152212B2 (en) 2015-04-10 2018-12-11 Sonos, Inc. Media container addition and playback within queue
US10001969B2 (en) 2015-04-10 2018-06-19 Sonos, Inc. Identification of audio content facilitated by playback device
US11947865B2 (en) 2015-04-10 2024-04-02 Sonos, Inc. Identification of audio content
US10628120B2 (en) 2015-04-10 2020-04-21 Sonos, Inc. Identification of audio content
US10365886B2 (en) 2015-04-10 2019-07-30 Sonos, Inc. Identification of audio content
US9706319B2 (en) 2015-04-20 2017-07-11 Sonos, Inc. Wireless radio switching
US10284981B2 (en) 2015-04-20 2019-05-07 Sonos, Inc. Wireless radio switching
US11812228B2 (en) 2015-04-20 2023-11-07 Sonos, Inc. Wireless radio switching
US11057725B2 (en) 2015-04-20 2021-07-06 Sonos, Inc. Wireless radio switching
US10645504B2 (en) 2015-04-20 2020-05-05 Sonos, Inc. Wireless radio switching
US10841351B2 (en) 2015-04-23 2020-11-17 Sonos, Inc. Social network account assisted service registration
US9787739B2 (en) 2015-04-23 2017-10-10 Sonos, Inc. Social network account assisted service registration
US11438666B2 (en) 2015-04-23 2022-09-06 Sonos, Inc. Social network account assisted service registration
US11775163B2 (en) 2015-04-23 2023-10-03 Sonos, Inc. Social network account assisted service registration
US10567456B2 (en) 2015-04-23 2020-02-18 Sonos, Inc. Social network account assisted service registration
US10313409B2 (en) 2015-04-23 2019-06-04 Sonos, Inc. Social network account assisted service registration
US10303429B2 (en) 2015-04-24 2019-05-28 Sonos, Inc. Volume limit
US10284983B2 (en) 2015-04-24 2019-05-07 Sonos, Inc. Playback device calibration user interfaces
US9678708B2 (en) 2015-04-24 2017-06-13 Sonos, Inc. Volume limit
US9940095B2 (en) 2015-04-24 2018-04-10 Sonos, Inc. Volume limit
US10664224B2 (en) 2015-04-24 2020-05-26 Sonos, Inc. Speaker calibration user interface
US20160313971A1 (en) 2015-04-24 2016-10-27 Sonos, Inc. Volume Limit
US11809776B2 (en) 2015-04-24 2023-11-07 Sonos, Inc. Volume limit
US10817254B2 (en) 2015-04-24 2020-10-27 Sonos, Inc. Volume limit
US10599385B2 (en) 2015-06-04 2020-03-24 Sonos, Inc. Dynamic bonding of playback devices
US11442689B2 (en) 2015-06-04 2022-09-13 Sonos, Inc. Dynamic bonding of playback devices
US9864571B2 (en) 2015-06-04 2018-01-09 Sonos, Inc. Dynamic bonding of playback devices
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US11403062B2 (en) 2015-06-11 2022-08-02 Sonos, Inc. Multiple groupings in a playback system
US9544701B1 (en) 2015-07-19 2017-01-10 Sonos, Inc. Base properties in a media playback system
US11528570B2 (en) 2015-07-19 2022-12-13 Sonos, Inc. Playback device base
US10129673B2 (en) 2015-07-19 2018-11-13 Sonos, Inc. Base properties in media playback system
US9749761B2 (en) 2015-07-19 2017-08-29 Sonos, Inc. Base properties in a media playback system
US10735878B2 (en) 2015-07-19 2020-08-04 Sonos, Inc. Stereo pairing with device base
US10264376B2 (en) 2015-07-19 2019-04-16 Sonos, Inc. Properties based on device base
US9729118B2 (en) 2015-07-24 2017-08-08 Sonos, Inc. Loudness matching
US9893696B2 (en) 2015-07-24 2018-02-13 Sonos, Inc. Loudness matching
US9781533B2 (en) 2015-07-28 2017-10-03 Sonos, Inc. Calibration error conditions
US10462592B2 (en) 2015-07-28 2019-10-29 Sonos, Inc. Calibration error conditions
US10129679B2 (en) 2015-07-28 2018-11-13 Sonos, Inc. Calibration error conditions
US9538305B2 (en) 2015-07-28 2017-01-03 Sonos, Inc. Calibration error conditions
US11528573B2 (en) 2015-08-21 2022-12-13 Sonos, Inc. Manipulation of playback device response using signal processing
US10433092B2 (en) 2015-08-21 2019-10-01 Sonos, Inc. Manipulation of playback device response using signal processing
US10812922B2 (en) 2015-08-21 2020-10-20 Sonos, Inc. Manipulation of playback device response using signal processing
US9942651B2 (en) 2015-08-21 2018-04-10 Sonos, Inc. Manipulation of playback device response using an acoustic filter
US10149085B1 (en) 2015-08-21 2018-12-04 Sonos, Inc. Manipulation of playback device response using signal processing
US10007481B2 (en) 2015-08-31 2018-06-26 Sonos, Inc. Detecting and controlling physical movement of a playback device during audio playback
US10275213B2 (en) 2015-08-31 2019-04-30 Sonos, Inc. Managing indications of physical movement of a playback device during audio playback
US10489108B2 (en) 2015-09-03 2019-11-26 Sonos, Inc. Playback system join with base
US10976992B2 (en) 2015-09-03 2021-04-13 Sonos, Inc. Playback device mode based on device base
US10001965B1 (en) 2015-09-03 2018-06-19 Sonos, Inc. Playback system join with base
US11669299B2 (en) 2015-09-03 2023-06-06 Sonos, Inc. Playback device with device base
US9693146B2 (en) 2015-09-11 2017-06-27 Sonos, Inc. Transducer diaphragm
US10244324B2 (en) 2015-09-11 2019-03-26 Sonos, Inc. Transducer diaphragm
US9998834B2 (en) 2015-09-11 2018-06-12 Sonos, Inc. Transducer diaphragm
US11099808B2 (en) 2015-09-17 2021-08-24 Sonos, Inc. Facilitating calibration of an audio playback device
US9693165B2 (en) 2015-09-17 2017-06-27 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US11769519B2 (en) 2015-09-17 2023-09-26 Sonos, Inc. Device impairment detection
US11706579B2 (en) 2015-09-17 2023-07-18 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US9779759B2 (en) 2015-09-17 2017-10-03 Sonos, Inc. Device impairment detection
US9992597B2 (en) 2015-09-17 2018-06-05 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US11197112B2 (en) 2015-09-17 2021-12-07 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US11803350B2 (en) 2015-09-17 2023-10-31 Sonos, Inc. Facilitating calibration of an audio playback device
US11004459B2 (en) 2015-09-17 2021-05-11 Sonos, Inc. Environmental condition detection
US10419864B2 (en) 2015-09-17 2019-09-17 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US10585639B2 (en) 2015-09-17 2020-03-10 Sonos, Inc. Facilitating calibration of an audio playback device
US10418050B2 (en) 2015-09-17 2019-09-17 Sonos, Inc. Device impairment detection
US11675564B2 (en) 2015-09-30 2023-06-13 Sonos, Inc. Activity reset
US10402156B2 (en) 2015-09-30 2019-09-03 Sonos, Inc. Activity reset
US10871941B2 (en) 2015-09-30 2020-12-22 Sonos, Inc. Smart music services preferences
US11928389B2 (en) 2015-09-30 2024-03-12 Sonos, Inc. Smart music services preferences
US10042602B2 (en) 2015-09-30 2018-08-07 Sonos, Inc. Activity reset
US11513761B2 (en) 2015-09-30 2022-11-29 Sonos, Inc. Smart music services preferences
US10452344B2 (en) 2015-09-30 2019-10-22 Sonos, Inc. Smart music services preferences
US9946508B1 (en) 2015-09-30 2018-04-17 Sonos, Inc. Smart music services preferences
US10877722B2 (en) 2015-09-30 2020-12-29 Sonos, Inc. Activity reset
US9949054B2 (en) 2015-09-30 2018-04-17 Sonos, Inc. Spatial mapping of audio playback devices in a listening environment
US11323974B2 (en) 2015-12-16 2022-05-03 Sonos, Inc. Synchronization of content between networked devices
US10880848B2 (en) 2015-12-16 2020-12-29 Sonos, Inc. Synchronization of content between networked devices
US10098082B2 (en) 2015-12-16 2018-10-09 Sonos, Inc. Synchronization of content between networked devices
US10575270B2 (en) 2015-12-16 2020-02-25 Sonos, Inc. Synchronization of content between networked devices
US10284980B1 (en) 2016-01-05 2019-05-07 Sonos, Inc. Intelligent group identification
US11550537B2 (en) 2016-01-05 2023-01-10 Sonos, Inc. Multiple-device setup
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US11080000B2 (en) 2016-01-05 2021-08-03 Sonos, Inc. Multiple-device setup
US10437553B2 (en) 2016-01-15 2019-10-08 Sonos, Inc. System limits based on known triggers
US11789690B2 (en) 2016-01-15 2023-10-17 Sonos, Inc. System limits based on known triggers
US9898245B1 (en) 2016-01-15 2018-02-20 Sonos, Inc. System limits based on known triggers
US10063983B2 (en) 2016-01-18 2018-08-28 Sonos, Inc. Calibration using multiple recording devices
US9743207B1 (en) 2016-01-18 2017-08-22 Sonos, Inc. Calibration using multiple recording devices
US10405117B2 (en) 2016-01-18 2019-09-03 Sonos, Inc. Calibration using multiple recording devices
US11432089B2 (en) 2016-01-18 2022-08-30 Sonos, Inc. Calibration using multiple recording devices
US10841719B2 (en) 2016-01-18 2020-11-17 Sonos, Inc. Calibration using multiple recording devices
US11800306B2 (en) 2016-01-18 2023-10-24 Sonos, Inc. Calibration using multiple recording devices
US11006232B2 (en) 2016-01-25 2021-05-11 Sonos, Inc. Calibration based on audio content
US11106423B2 (en) 2016-01-25 2021-08-31 Sonos, Inc. Evaluating calibration of a playback device
US10003899B2 (en) 2016-01-25 2018-06-19 Sonos, Inc. Calibration with particular locations
US10735879B2 (en) 2016-01-25 2020-08-04 Sonos, Inc. Calibration based on grouping
US11184726B2 (en) 2016-01-25 2021-11-23 Sonos, Inc. Calibration using listener locations
US11516612B2 (en) 2016-01-25 2022-11-29 Sonos, Inc. Calibration based on audio content
US10390161B2 (en) 2016-01-25 2019-08-20 Sonos, Inc. Calibration based on audio content type
US10592200B2 (en) 2016-01-28 2020-03-17 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US10296288B2 (en) 2016-01-28 2019-05-21 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US11194541B2 (en) 2016-01-28 2021-12-07 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US11526326B2 (en) 2016-01-28 2022-12-13 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US9743194B1 (en) 2016-02-08 2017-08-22 Sonos, Inc. Woven transducer apparatus
US9942680B1 (en) 2016-02-22 2018-04-10 Sonos, Inc. Transducer assembly
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US11514898B2 (en) 2016-02-22 2022-11-29 Sonos, Inc. Voice control of a media playback system
US11184704B2 (en) 2016-02-22 2021-11-23 Sonos, Inc. Music service selection
US9772817B2 (en) 2016-02-22 2017-09-26 Sonos, Inc. Room-corrected voice detection
US10743101B2 (en) 2016-02-22 2020-08-11 Sonos, Inc. Content mixing
US10740065B2 (en) 2016-02-22 2020-08-11 Sonos, Inc. Voice controlled media playback system
US10409549B2 (en) 2016-02-22 2019-09-10 Sonos, Inc. Audio response playback
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US11042355B2 (en) 2016-02-22 2021-06-22 Sonos, Inc. Handling of loss of pairing between networked devices
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US11863593B2 (en) 2016-02-22 2024-01-02 Sonos, Inc. Networked microphone device control
US9820039B2 (en) 2016-02-22 2017-11-14 Sonos, Inc. Default playback devices
US11736860B2 (en) 2016-02-22 2023-08-22 Sonos, Inc. Voice control of a media playback system
US9826306B2 (en) 2016-02-22 2017-11-21 Sonos, Inc. Default playback device designation
US11405430B2 (en) 2016-02-22 2022-08-02 Sonos, Inc. Networked microphone device control
US11006214B2 (en) 2016-02-22 2021-05-11 Sonos, Inc. Default playback device designation
US10764679B2 (en) 2016-02-22 2020-09-01 Sonos, Inc. Voice control of a media playback system
US11750969B2 (en) 2016-02-22 2023-09-05 Sonos, Inc. Default playback device designation
US11137979B2 (en) 2016-02-22 2021-10-05 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US11212612B2 (en) 2016-02-22 2021-12-28 Sonos, Inc. Voice control of a media playback system
US10097939B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Compensation for speaker nonlinearities
US10365889B2 (en) 2016-02-22 2019-07-30 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US10142754B2 (en) 2016-02-22 2018-11-27 Sonos, Inc. Sensor on moving component of transducer
US10097919B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Music service selection
US10212512B2 (en) 2016-02-22 2019-02-19 Sonos, Inc. Default playback devices
US11832068B2 (en) 2016-02-22 2023-11-28 Sonos, Inc. Music service selection
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US10971139B2 (en) 2016-02-22 2021-04-06 Sonos, Inc. Voice control of a media playback system
US10970035B2 (en) 2016-02-22 2021-04-06 Sonos, Inc. Audio response playback
US11726742B2 (en) 2016-02-22 2023-08-15 Sonos, Inc. Handling of loss of pairing between networked devices
US11556306B2 (en) 2016-02-22 2023-01-17 Sonos, Inc. Voice controlled media playback system
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10499146B2 (en) 2016-02-22 2019-12-03 Sonos, Inc. Voice control of a media playback system
US10509626B2 (en) 2016-02-22 2019-12-17 Sonos, Inc Handling of loss of pairing between networked devices
US10225651B2 (en) 2016-02-22 2019-03-05 Sonos, Inc. Default playback device designation
US11513763B2 (en) 2016-02-22 2022-11-29 Sonos, Inc. Audio response playback
US10847143B2 (en) 2016-02-22 2020-11-24 Sonos, Inc. Voice control of a media playback system
US10555077B2 (en) 2016-02-22 2020-02-04 Sonos, Inc. Music service selection
US10560793B2 (en) 2016-02-22 2020-02-11 Sonos, Inc. Transducer assembly
US9930463B2 (en) 2016-03-31 2018-03-27 Sonos, Inc. Defect detection via audio playback
US9860662B2 (en) 2016-04-01 2018-01-02 Sonos, Inc. Updating playback device configuration information based on calibration data
US10880664B2 (en) 2016-04-01 2020-12-29 Sonos, Inc. Updating playback device configuration information based on calibration data
US10884698B2 (en) 2016-04-01 2021-01-05 Sonos, Inc. Playback device calibration based on representative spectral characteristics
US11379179B2 (en) 2016-04-01 2022-07-05 Sonos, Inc. Playback device calibration based on representative spectral characteristics
US9864574B2 (en) 2016-04-01 2018-01-09 Sonos, Inc. Playback device calibration based on representation spectral characteristics
US10405116B2 (en) 2016-04-01 2019-09-03 Sonos, Inc. Updating playback device configuration information based on calibration data
US11212629B2 (en) 2016-04-01 2021-12-28 Sonos, Inc. Updating playback device configuration information based on calibration data
US10402154B2 (en) 2016-04-01 2019-09-03 Sonos, Inc. Playback device calibration based on representative spectral characteristics
US11736877B2 (en) 2016-04-01 2023-08-22 Sonos, Inc. Updating playback device configuration information based on calibration data
US10045142B2 (en) 2016-04-12 2018-08-07 Sonos, Inc. Calibration of audio playback devices
US10750304B2 (en) 2016-04-12 2020-08-18 Sonos, Inc. Calibration of audio playback devices
US9763018B1 (en) 2016-04-12 2017-09-12 Sonos, Inc. Calibration of audio playback devices
US10299054B2 (en) 2016-04-12 2019-05-21 Sonos, Inc. Calibration of audio playback devices
US11218827B2 (en) 2016-04-12 2022-01-04 Sonos, Inc. Calibration of audio playback devices
US11889276B2 (en) 2016-04-12 2024-01-30 Sonos, Inc. Calibration of audio playback devices
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US11545169B2 (en) 2016-06-09 2023-01-03 Sonos, Inc. Dynamic player selection for audio signal processing
US10332537B2 (en) 2016-06-09 2019-06-25 Sonos, Inc. Dynamic player selection for audio signal processing
US11133018B2 (en) 2016-06-09 2021-09-28 Sonos, Inc. Dynamic player selection for audio signal processing
US10714115B2 (en) 2016-06-09 2020-07-14 Sonos, Inc. Dynamic player selection for audio signal processing
US10699711B2 (en) 2016-07-15 2020-06-30 Sonos, Inc. Voice detection by multiple devices
US11736878B2 (en) 2016-07-15 2023-08-22 Sonos, Inc. Spatial audio correction
US10129678B2 (en) 2016-07-15 2018-11-13 Sonos, Inc. Spatial audio correction
US10297256B2 (en) 2016-07-15 2019-05-21 Sonos, Inc. Voice detection by multiple devices
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US11337017B2 (en) 2016-07-15 2022-05-17 Sonos, Inc. Spatial audio correction
US10593331B2 (en) 2016-07-15 2020-03-17 Sonos, Inc. Contextualization of voice inputs
US10448194B2 (en) 2016-07-15 2019-10-15 Sonos, Inc. Spectral correction using spatial calibration
US11664023B2 (en) 2016-07-15 2023-05-30 Sonos, Inc. Voice detection by multiple devices
US10750303B2 (en) 2016-07-15 2020-08-18 Sonos, Inc. Spatial audio correction
US11184969B2 (en) 2016-07-15 2021-11-23 Sonos, Inc. Contextualization of voice inputs
US9794710B1 (en) 2016-07-15 2017-10-17 Sonos, Inc. Spatial audio correction
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US9860670B1 (en) 2016-07-15 2018-01-02 Sonos, Inc. Spectral correction using spatial calibration
US11531514B2 (en) 2016-07-22 2022-12-20 Sonos, Inc. Calibration assistance
US10853022B2 (en) 2016-07-22 2020-12-01 Sonos, Inc. Calibration interface
US11237792B2 (en) 2016-07-22 2022-02-01 Sonos, Inc. Calibration assistance
US10372406B2 (en) 2016-07-22 2019-08-06 Sonos, Inc. Calibration interface
US10356540B2 (en) 2016-07-29 2019-07-16 Sonos, Inc. Lifetime of an audio playback device with changed signal processing settings
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US11698770B2 (en) 2016-08-05 2023-07-11 Sonos, Inc. Calibration of a playback device based on an estimated frequency response
US9693164B1 (en) 2016-08-05 2017-06-27 Sonos, Inc. Determining direction of networked microphone device relative to audio playback device
US10459684B2 (en) 2016-08-05 2019-10-29 Sonos, Inc. Calibration of a playback device based on an estimated frequency response
US10565998B2 (en) 2016-08-05 2020-02-18 Sonos, Inc. Playback device supporting concurrent voice assistant services
US10565999B2 (en) 2016-08-05 2020-02-18 Sonos, Inc. Playback device supporting concurrent voice assistant services
US10853027B2 (en) 2016-08-05 2020-12-01 Sonos, Inc. Calibration of a playback device based on an estimated frequency response
US10847164B2 (en) 2016-08-05 2020-11-24 Sonos, Inc. Playback device supporting concurrent voice assistants
US11531520B2 (en) 2016-08-05 2022-12-20 Sonos, Inc. Playback device supporting concurrent voice assistants
US10354658B2 (en) 2016-08-05 2019-07-16 Sonos, Inc. Voice control of playback device using voice assistant service(s)
US10021503B2 (en) 2016-08-05 2018-07-10 Sonos, Inc. Determining direction of networked microphone device relative to audio playback device
US10657408B2 (en) 2016-08-26 2020-05-19 Sonos, Inc. Speaker spider measurement technique
US10034116B2 (en) 2016-09-22 2018-07-24 Sonos, Inc. Acoustic position measurement
US9794720B1 (en) 2016-09-22 2017-10-17 Sonos, Inc. Acoustic position measurement
US11163520B2 (en) 2016-09-23 2021-11-02 Sonos, Inc. Multimedia experience according to biometrics
US10318233B2 (en) 2016-09-23 2019-06-11 Sonos, Inc. Multimedia experience according to biometrics
US10582322B2 (en) 2016-09-27 2020-03-03 Sonos, Inc. Audio playback settings for voice interaction
US11641559B2 (en) 2016-09-27 2023-05-02 Sonos, Inc. Audio playback settings for voice interaction
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9967689B1 (en) 2016-09-29 2018-05-08 Sonos, Inc. Conditional content enhancement
US11546710B2 (en) 2016-09-29 2023-01-03 Sonos, Inc. Conditional content enhancement
US11902752B2 (en) 2016-09-29 2024-02-13 Sonos, Inc. Conditional content enhancement
US10873820B2 (en) 2016-09-29 2020-12-22 Sonos, Inc. Conditional content enhancement
US10524070B2 (en) 2016-09-29 2019-12-31 Sonos, Inc. Conditional content enhancement
US11337018B2 (en) 2016-09-29 2022-05-17 Sonos, Inc. Conditional content enhancement
US10117037B2 (en) 2016-09-30 2018-10-30 Sonos, Inc. Orientation-based playback device microphone selection
US10075793B2 (en) 2016-09-30 2018-09-11 Sonos, Inc. Multi-orientation playback device microphones
US11516610B2 (en) 2016-09-30 2022-11-29 Sonos, Inc. Orientation-based playback device microphone selection
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10873819B2 (en) 2016-09-30 2020-12-22 Sonos, Inc. Orientation-based playback device microphone selection
US10313812B2 (en) 2016-09-30 2019-06-04 Sonos, Inc. Orientation-based playback device microphone selection
US10327061B2 (en) 2016-10-06 2019-06-18 Sonos, Inc. Signal limit based on measured radiator excursion
US11178483B2 (en) 2016-10-06 2021-11-16 Sonos, Inc. Signal limit based on detecting clipping
US11528552B2 (en) 2016-10-06 2022-12-13 Sonos, Inc. Signal limit based on prediction model
US9967655B2 (en) 2016-10-06 2018-05-08 Sonos, Inc. Controlled passive radiator
US11481182B2 (en) 2016-10-17 2022-10-25 Sonos, Inc. Room association based on name
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US11308961B2 (en) 2016-10-19 2022-04-19 Sonos, Inc. Arbitration-based voice recognition
US10614807B2 (en) 2016-10-19 2020-04-07 Sonos, Inc. Arbitration-based voice recognition
US11727933B2 (en) 2016-10-19 2023-08-15 Sonos, Inc. Arbitration-based voice recognition
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10674251B2 (en) 2017-01-31 2020-06-02 Sonos, Inc. Noise reduction for high-airflow audio transducers
US10142726B2 (en) 2017-01-31 2018-11-27 Sonos, Inc. Noise reduction for high-airflow audio transducers
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
US9860644B1 (en) 2017-04-05 2018-01-02 Sonos, Inc. Limiter for bass enhancement
US10123118B2 (en) 2017-04-05 2018-11-06 Sonos, Inc. Limiter for bass enhancement
US10798486B2 (en) 2017-04-05 2020-10-06 Sonos, Inc. Limiter for bass enhancement
US11812241B2 (en) 2017-04-05 2023-11-07 Sonos, Inc. Audio signal limiter
US11297433B2 (en) 2017-04-05 2022-04-05 Sonos, Inc. Limiter for bass enhancement
US10735880B2 (en) 2017-05-09 2020-08-04 Sonos, Inc. Systems and methods of forming audio transducer diaphragms
US10404768B2 (en) 2017-06-22 2019-09-03 Sonos, Inc. Immersive audio in a media playback system
US10911507B2 (en) 2017-06-22 2021-02-02 Sonos, Inc. Immersive audio in a media playback system
US11770427B2 (en) 2017-06-22 2023-09-26 Sonos, Inc. Immersive audio in a media playback system
US10554712B2 (en) 2017-06-22 2020-02-04 Sonos, Inc. Immersive audio in a media playback system
US10028069B1 (en) 2017-06-22 2018-07-17 Sonos, Inc. Immersive audio in a media playback system
US11418563B2 (en) 2017-06-22 2022-08-16 Sonos, Inc. Immersive audio in a media playback system
US11900937B2 (en) 2017-08-07 2024-02-13 Sonos, Inc. Wake-word detection suppression
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US11380322B2 (en) 2017-08-07 2022-07-05 Sonos, Inc. Wake-word detection suppression
US10986376B2 (en) 2017-09-05 2021-04-20 Sonos, Inc. Networked device group information in a system with multiple media playback protocols
US10154122B1 (en) 2017-09-05 2018-12-11 Sonos, Inc. Grouping in a system with multiple media playback protocols
US11076177B2 (en) 2017-09-05 2021-07-27 Sonos, Inc. Grouped zones in a system with multiple media playback protocols
US11539984B2 (en) 2017-09-05 2022-12-27 Sonos, Inc. Grouping in a system with multiple media playback protocols
US10362339B2 (en) 2017-09-05 2019-07-23 Sonos, Inc. Networked device group information in a system with multiple media playback protocols
US11051048B2 (en) 2017-09-05 2021-06-29 Sonos, Inc. Grouping in a system with multiple media playback protocols
US10631017B2 (en) 2017-09-05 2020-04-21 Sonos, Inc. Grouping in a system with multiple media playback protocols
US11758199B2 (en) 2017-09-05 2023-09-12 Sonos, Inc. Grouped zones in a system with multiple media playback protocols
US11080005B2 (en) 2017-09-08 2021-08-03 Sonos, Inc. Dynamic computation of system response volume
US10445057B2 (en) 2017-09-08 2019-10-15 Sonos, Inc. Dynamic computation of system response volume
US11500611B2 (en) 2017-09-08 2022-11-15 Sonos, Inc. Dynamic computation of system response volume
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10292089B2 (en) 2017-09-18 2019-05-14 Sonos, Inc. Re-establishing connectivity on lost players
US11758469B2 (en) 2017-09-18 2023-09-12 Sonos, Inc. Re-establishing player connectivity
US10952128B2 (en) 2017-09-18 2021-03-16 Sonos, Inc. Re-establishing player connectivity
US11017789B2 (en) 2017-09-27 2021-05-25 Sonos, Inc. Robust Short-Time Fourier Transform acoustic echo cancellation during audio playback
US11646045B2 (en) 2017-09-27 2023-05-09 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10985982B2 (en) 2017-09-27 2021-04-20 Sonos, Inc. Proximal playback devices
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US11769505B2 (en) 2017-09-28 2023-09-26 Sonos, Inc. Echo of tone interferance cancellation using two acoustic echo cancellers
US11302326B2 (en) 2017-09-28 2022-04-12 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10891932B2 (en) 2017-09-28 2021-01-12 Sonos, Inc. Multi-channel acoustic echo cancellation
US11538451B2 (en) 2017-09-28 2022-12-27 Sonos, Inc. Multi-channel acoustic echo cancellation
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10511904B2 (en) 2017-09-28 2019-12-17 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10880644B1 (en) 2017-09-28 2020-12-29 Sonos, Inc. Three-dimensional beam forming with a microphone array
US11288039B2 (en) 2017-09-29 2022-03-29 Sonos, Inc. Media playback system with concurrent voice assistance
US11175888B2 (en) 2017-09-29 2021-11-16 Sonos, Inc. Media playback system with concurrent voice assistance
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US11893308B2 (en) 2017-09-29 2024-02-06 Sonos, Inc. Media playback system with concurrent voice assistance
US10606555B1 (en) 2017-09-29 2020-03-31 Sonos, Inc. Media playback system with concurrent voice assistance
USD854043S1 (en) 2017-09-29 2019-07-16 Sonos, Inc. Display screen or portion thereof with graphical user interface
US11451908B2 (en) 2017-12-10 2022-09-20 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
US11676590B2 (en) 2017-12-11 2023-06-13 Sonos, Inc. Home graph
US11343614B2 (en) 2018-01-31 2022-05-24 Sonos, Inc. Device designation of playback and network microphone device arrangements
US11689858B2 (en) 2018-01-31 2023-06-27 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10877726B2 (en) 2018-03-05 2020-12-29 Sonos, Inc. Music discovery dial
US10656902B2 (en) 2018-03-05 2020-05-19 Sonos, Inc. Music discovery dial
US11175886B2 (en) 2018-03-05 2021-11-16 Sonos, Inc. Music discovery dial
US11593066B2 (en) 2018-03-05 2023-02-28 Sonos, Inc. Music discovery dial
US10880671B2 (en) 2018-03-21 2020-12-29 Sonos, Inc. Systems and methods of adjusting bass levels of multi-channel audio signals
US10462599B2 (en) 2018-03-21 2019-10-29 Sonos, Inc. Systems and methods of adjusting bass levels of multi-channel audio signals
US11076216B2 (en) 2018-03-29 2021-07-27 Sonos, Inc. Headphone interaction with media playback system
US10623844B2 (en) 2018-03-29 2020-04-14 Sonos, Inc. Headphone interaction with media playback system
US11895457B2 (en) 2018-03-29 2024-02-06 Sonos, Inc. Headphone interaction with media playback system
US11641539B2 (en) 2018-03-29 2023-05-02 Sonos, Inc. Headphone interaction with media playback system
US10397694B1 (en) 2018-04-02 2019-08-27 Sonos, Inc. Playback devices having waveguides
US11483643B2 (en) 2018-04-02 2022-10-25 Sonos, Inc. Playback devices having waveguides
US10862446B2 (en) 2018-04-02 2020-12-08 Sonos, Inc. Systems and methods of volume limiting
US11716065B2 (en) 2018-04-02 2023-08-01 Sonos, Inc. Systems and methods of volume limiting
US10667041B2 (en) 2018-04-02 2020-05-26 Sonos, Inc. Playback devices having waveguides
US10698650B2 (en) 2018-04-06 2020-06-30 Sonos, Inc. Temporary configuration of a media playback system within a place of accommodation
US11184645B2 (en) 2018-04-06 2021-11-23 Sonos, Inc. Temporary configuration of a media playback system within a place of accommodation
US11877015B2 (en) 2018-04-06 2024-01-16 Sonos, Inc. Temporary configuration of a media playback system
US10499128B2 (en) 2018-04-20 2019-12-03 Sonos, Inc. Playback devices having waveguides with drainage features
US11797263B2 (en) 2018-05-10 2023-10-24 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10863257B1 (en) 2018-05-10 2020-12-08 Sonos, Inc. Method of assembling a loudspeaker
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US11068231B2 (en) 2018-05-15 2021-07-20 Sonos, Inc. Media playback system with virtual line-in
US10956116B2 (en) 2018-05-15 2021-03-23 Sonos, Inc. Media playback system with virtual line-in groups
US11442690B2 (en) 2018-05-15 2022-09-13 Sonos, Inc. Interoperability of native media playback system with virtual line-in
US11693619B2 (en) 2018-05-15 2023-07-04 Sonos, Inc. Media playback system with virtual line-in
US10649718B2 (en) 2018-05-15 2020-05-12 Sonos, Inc. Interoperability of native media playback system with virtual line-in
US10452345B1 (en) 2018-05-15 2019-10-22 Sonos, Inc. Media playback system with virtual line-in
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US11715489B2 (en) 2018-05-18 2023-08-01 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US11792590B2 (en) 2018-05-25 2023-10-17 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10735803B2 (en) 2018-06-05 2020-08-04 Sonos, Inc. Playback device setup
US11533562B2 (en) 2018-06-14 2022-12-20 Sonos, Inc. Content rules engines for audio playback devices
US10433058B1 (en) 2018-06-14 2019-10-01 Sonos, Inc. Content rules engines for audio playback devices
US11172299B2 (en) 2018-06-14 2021-11-09 Sonos, Inc. Content rules engines for audio playback devices
US10785570B2 (en) 2018-06-14 2020-09-22 Sonos, Inc. Content rules engines for audio playback devices
US11184722B2 (en) 2018-06-25 2021-11-23 Sonos, Inc. Controlling multi-site media playback systems
US11683652B2 (en) 2018-06-25 2023-06-20 Sonos, Inc. Controlling multi-site media playback systems
US10602286B2 (en) 2018-06-25 2020-03-24 Sonos, Inc. Controlling multi-site media playback systems
US11696074B2 (en) 2018-06-28 2023-07-04 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US11197096B2 (en) 2018-06-28 2021-12-07 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US11726739B2 (en) 2018-07-09 2023-08-15 Sonos, Inc. Distributed provisioning of properties of operational settings of a media playback system
US11055060B2 (en) 2018-07-09 2021-07-06 Sonos, Inc. Distributed provisioning of properties of operational settings of a media playback system
US10747493B2 (en) 2018-07-09 2020-08-18 Sonos, Inc. Distributed provisioning of properties of operational settings of a media playback system
US10582326B1 (en) 2018-08-28 2020-03-03 Sonos, Inc. Playback device calibration
US11482978B2 (en) 2018-08-28 2022-10-25 Sonos, Inc. Audio notifications
US11799433B2 (en) 2018-08-28 2023-10-24 Sonos, Inc. Media playback system with maximum volume setting
US10299061B1 (en) 2018-08-28 2019-05-21 Sonos, Inc. Playback device calibration
US10797667B2 (en) 2018-08-28 2020-10-06 Sonos, Inc. Audio notifications
US11350233B2 (en) 2018-08-28 2022-05-31 Sonos, Inc. Playback device calibration
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US11563842B2 (en) 2018-08-28 2023-01-24 Sonos, Inc. Do not disturb feature for audio notifications
US11877139B2 (en) 2018-08-28 2024-01-16 Sonos, Inc. Playback device calibration
US11206002B2 (en) 2018-08-28 2021-12-21 Sonos, Inc. Media playback system with maximum volume setting
US10848892B2 (en) 2018-08-28 2020-11-24 Sonos, Inc. Playback device calibration
US11206484B2 (en) 2018-08-28 2021-12-21 Sonos, Inc. Passive speaker authentication
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11432030B2 (en) 2018-09-14 2022-08-30 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US11551690B2 (en) 2018-09-14 2023-01-10 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US11778259B2 (en) 2018-09-14 2023-10-03 Sonos, Inc. Networked devices, systems and methods for associating playback devices based on sound codes
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US11790937B2 (en) 2018-09-21 2023-10-17 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11727936B2 (en) 2018-09-25 2023-08-15 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US10573321B1 (en) 2018-09-25 2020-02-25 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11031014B2 (en) 2018-09-25 2021-06-08 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11790911B2 (en) 2018-09-28 2023-10-17 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11501795B2 (en) 2018-09-29 2022-11-15 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11514777B2 (en) 2018-10-02 2022-11-29 Sonos, Inc. Methods and devices for transferring data using sound signals
US10791396B2 (en) 2018-10-02 2020-09-29 Sonos, Inc. Systems and methods of user localization
US11184702B2 (en) 2018-10-02 2021-11-23 Sonos, Inc. Systems and methods of user localization
US11659323B2 (en) 2018-10-02 2023-05-23 Sonos, Inc. Systems and methods of user localization
US10277981B1 (en) 2018-10-02 2019-04-30 Sonos, Inc. Systems and methods of user localization
US11809780B2 (en) 2018-10-15 2023-11-07 Sonos, Inc. Distributed synchronization
US11416209B2 (en) 2018-10-15 2022-08-16 Sonos, Inc. Distributed synchronization
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11741948B2 (en) 2018-11-15 2023-08-29 Sonos Vox France Sas Dilated convolutions and gating for efficient keyword spotting
US11200889B2 (en) 2018-11-15 2021-12-14 Sonos, Inc. Dilated convolutions and gating for efficient keyword spotting
USD975126S1 (en) 2018-12-06 2023-01-10 Sonos, Inc. Display screen or portion thereof with graphical user interface for media playback control
USD963685S1 (en) 2018-12-06 2022-09-13 Sonos, Inc. Display screen or portion thereof with graphical user interface for media playback control
USD1008306S1 (en) 2018-12-06 2023-12-19 Sonos, Inc. Display screen or portion thereof with graphical user interface for media playback control
US11557294B2 (en) 2018-12-07 2023-01-17 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11393478B2 (en) 2018-12-12 2022-07-19 Sonos, Inc. User specific context switching
US11790920B2 (en) 2018-12-12 2023-10-17 Sonos, Inc. Guest access for voice control of playback devices
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US11538460B2 (en) 2018-12-13 2022-12-27 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US11159880B2 (en) 2018-12-20 2021-10-26 Sonos, Inc. Optimization of network microphone devices using noise classification
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11540047B2 (en) 2018-12-20 2022-12-27 Sonos, Inc. Optimization of network microphone devices using noise classification
US11740854B2 (en) 2019-01-20 2023-08-29 Sonos, Inc. Playing media content in response to detecting items having corresponding media content associated therewith
US11812249B2 (en) 2019-02-07 2023-11-07 Mayht Holding B.V. In line damper bellows dual opposing driver speaker
US11646023B2 (en) 2019-02-08 2023-05-09 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11706566B2 (en) 2019-02-28 2023-07-18 Sonos, Inc. Playback transitions
US11356777B2 (en) 2019-02-28 2022-06-07 Sonos, Inc. Playback transitions
US11188294B2 (en) 2019-02-28 2021-11-30 Sonos, Inc. Detecting the nearest playback device
US11812096B2 (en) 2019-04-01 2023-11-07 Sonos, Inc. Access control techniques for media playback systems
US11570510B2 (en) 2019-04-01 2023-01-31 Sonos, Inc. Access control techniques for media playback systems
US11184666B2 (en) 2019-04-01 2021-11-23 Sonos, Inc. Access control techniques for media playback systems
US10998615B1 (en) 2019-04-12 2021-05-04 Sonos, Inc. Spatial antenna diversity techniques
US11515620B2 (en) 2019-04-12 2022-11-29 Sonos, Inc. Spatial antenna diversity techniques
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11798553B2 (en) 2019-05-03 2023-10-24 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11178504B2 (en) 2019-05-17 2021-11-16 Sonos, Inc. Wireless multi-channel headphone systems and methods
US10681463B1 (en) 2019-05-17 2020-06-09 Sonos, Inc. Wireless transmission to satellites for multichannel audio system
US11765507B2 (en) 2019-05-17 2023-09-19 Sonos, Inc. Wireless transmission to satellites for multichannel audio system
US11812253B2 (en) 2019-05-17 2023-11-07 Sonos, Inc. Wireless multi-channel headphone systems and methods
US10880009B2 (en) 2019-05-24 2020-12-29 Sonos, Inc. Control signal repeater system
US11811150B2 (en) 2019-06-07 2023-11-07 Sonos, Inc. Playback device with multi-band antenna
US11809257B2 (en) 2019-06-07 2023-11-07 Sonos, Inc. Portable playback device power management
US11416210B2 (en) 2019-06-07 2022-08-16 Sonos, Inc. Management of media devices having limited capabilities
US11093016B2 (en) 2019-06-07 2021-08-17 Sonos, Inc. Portable playback device power management
US11342671B2 (en) 2019-06-07 2022-05-24 Sonos, Inc. Dual-band antenna topology
US11513580B2 (en) 2019-06-07 2022-11-29 Sonos, Inc. Portable playback device power management
US11943594B2 (en) 2019-06-07 2024-03-26 Sonos Inc. Automatically allocating audio portions to playback devices
US11126243B2 (en) 2019-06-07 2021-09-21 Sonos, Inc. Portable playback device power management
US11854547B2 (en) 2019-06-12 2023-12-26 Sonos, Inc. Network microphone device with command keyword eventing
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11501773B2 (en) 2019-06-12 2022-11-15 Sonos, Inc. Network microphone device with command keyword conditioning
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US11523206B2 (en) 2019-06-28 2022-12-06 Sonos, Inc. Wireless earbud charging
US11910147B2 (en) 2019-06-28 2024-02-20 Sonos, Inc. Wireless earbud charging
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11714600B2 (en) 2019-07-31 2023-08-01 Sonos, Inc. Noise classification for event detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11354092B2 (en) 2019-07-31 2022-06-07 Sonos, Inc. Noise classification for event detection
US11710487B2 (en) 2019-07-31 2023-07-25 Sonos, Inc. Locally distributed keyword detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11551669B2 (en) 2019-07-31 2023-01-10 Sonos, Inc. Locally distributed keyword detection
US10734965B1 (en) 2019-08-12 2020-08-04 Sonos, Inc. Audio calibration of a portable playback device
US11728780B2 (en) 2019-08-12 2023-08-15 Sonos, Inc. Audio calibration of a portable playback device
US11374547B2 (en) 2019-08-12 2022-06-28 Sonos, Inc. Audio calibration of a portable playback device
US11539545B2 (en) 2019-08-19 2022-12-27 Sonos, Inc. Multi-network playback devices
US11909550B2 (en) 2019-08-19 2024-02-20 Sonos, Inc. Multi-network playback devices
US11528574B2 (en) 2019-08-30 2022-12-13 Sonos, Inc. Sum-difference arrays for audio playback devices
US11818187B2 (en) 2019-08-31 2023-11-14 Sonos, Inc. Mixed-mode synchronous playback
US11137975B2 (en) 2019-09-23 2021-10-05 Sonos, Inc. Mood detection and/or influence via audio playback devices
US11709649B2 (en) 2019-09-23 2023-07-25 Sonos, Inc. Playlist generation based on a desired mental state
US11762624B2 (en) 2019-09-23 2023-09-19 Sonos, Inc. Capacitive touch sensor with integrated antenna(s) for playback devices
US10754614B1 (en) 2019-09-23 2020-08-25 Sonos, Inc. Mood detection and/or influence via audio playback devices
US11303988B2 (en) 2019-10-17 2022-04-12 Sonos, Inc. Portable device microphone status indicator
US11716562B2 (en) 2019-10-17 2023-08-01 Sonos, Inc. Portable device microphone status indicator
US11862161B2 (en) 2019-10-22 2024-01-02 Sonos, Inc. VAS toggle based on device orientation
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11483670B2 (en) 2019-10-30 2022-10-25 Sonos, Inc. Systems and methods of providing spatial audio associated with a simulated environment
US11720320B2 (en) 2019-11-11 2023-08-08 Sonos, Inc. Playback queues for shared experiences
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data
US11204737B2 (en) 2019-11-11 2021-12-21 Sonos, Inc. Playback queues for shared experiences
US11550989B2 (en) 2019-11-12 2023-01-10 Sonos, Inc. Application programming interface for browsing media content
US11093689B2 (en) 2019-11-12 2021-08-17 Sonos, Inc. Application programming interface for browsing media content
US11627426B2 (en) 2019-11-26 2023-04-11 Sonos, Inc. Systems and methods of spatial audio playback with enhanced immersiveness
US11818565B2 (en) 2019-11-26 2023-11-14 Sonos, Inc. Systems and methods of spatial audio playback with enhanced immersiveness
US11212635B2 (en) 2019-11-26 2021-12-28 Sonos, Inc. Systems and methods of spatial audio playback with enhanced immersiveness
US11869503B2 (en) 2019-12-20 2024-01-09 Sonos, Inc. Offline voice control
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11941321B2 (en) 2020-01-03 2024-03-26 Sonos, Inc. Audio conflict resolution
US11409495B2 (en) 2020-01-03 2022-08-09 Sonos, Inc. Audio conflict resolution
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11175883B2 (en) 2020-01-17 2021-11-16 Sonos, Inc. Playback session transitions across different platforms
US11740857B2 (en) 2020-01-17 2023-08-29 Sonos, Inc. Playback session transitions across different platforms
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11445301B2 (en) 2020-02-12 2022-09-13 Sonos, Inc. Portable playback devices with network operation modes
US11528555B2 (en) 2020-02-19 2022-12-13 Sonos, Inc. Acoustic waveguides for multi-channel playback devices
US11924605B2 (en) 2020-02-19 2024-03-05 Sonos, Inc. Acoustic waveguides for multi-channel playback devices
US11709652B2 (en) 2020-03-03 2023-07-25 Sonos, Inc. Techniques for reducing latency in a wireless home theater environment
US11356764B2 (en) 2020-03-03 2022-06-07 Sonos, Inc. Dynamic earbud profile
US11825262B2 (en) 2020-03-03 2023-11-21 Sonos, Inc. Dynamic earbud profile
US11422770B2 (en) 2020-03-03 2022-08-23 Sonos, Inc. Techniques for reducing latency in a wireless home theater environment
US11038937B1 (en) 2020-03-06 2021-06-15 Sonos, Inc. Hybrid sniffing and rebroadcast for Bluetooth networks
US11916991B2 (en) 2020-03-06 2024-02-27 Sonos, Inc. Hybrid sniffing and rebroadcast for Bluetooth mesh networks
US11405439B2 (en) 2020-03-06 2022-08-02 Sonos, Inc. Hybrid sniffing and rebroadcast for Bluetooth networks
US11699450B2 (en) 2020-03-09 2023-07-11 Sonos, Inc. Systems and methods of audio decoder determination and selection
US11348592B2 (en) 2020-03-09 2022-05-31 Sonos, Inc. Systems and methods of audio decoder determination and selection
US11418556B2 (en) 2020-03-23 2022-08-16 Sonos, Inc. Seamless transition of source of media content
US11792589B2 (en) 2020-03-25 2023-10-17 Sonos, Inc. Thermal control of audio playback devices
US11496848B2 (en) 2020-03-25 2022-11-08 Sonos, Inc. Thermal control of audio playback devices
US11812212B2 (en) 2020-04-21 2023-11-07 Sonos, Inc. Cable retraction mechanism for headphone devices
US11523207B2 (en) 2020-04-21 2022-12-06 Sonos, Inc. Cable retraction mechanism for headphone devices
US11483608B2 (en) 2020-04-21 2022-10-25 Sonos, Inc. Priority media content
US11758214B2 (en) 2020-04-21 2023-09-12 Sonos, Inc. Techniques for clock rate synchronization
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11694689B2 (en) 2020-05-20 2023-07-04 Sonos, Inc. Input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11528551B2 (en) 2020-06-01 2022-12-13 Sonos, Inc. Acoustic filters for microphone noise mitigation and transducer venting
US11737164B2 (en) 2020-06-08 2023-08-22 Sonos, Inc. Simulation of device removal
US11553269B2 (en) 2020-06-17 2023-01-10 Sonos, Inc. Cable assemblies for headphone devices
US11922955B2 (en) 2020-08-24 2024-03-05 Sonos, Inc. Multichannel playback devices and associated systems and methods
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11943823B2 (en) 2020-08-31 2024-03-26 Sonos, Inc. Techniques to reduce time to music for a playback device
US11758326B2 (en) 2020-09-09 2023-09-12 Sonos, Inc. Wearable audio device within a distributed audio playback system
US11809778B2 (en) 2020-09-11 2023-11-07 Sonos, Inc. Techniques for extending the lifespan of playback devices
US11870475B2 (en) 2020-09-29 2024-01-09 Sonos, Inc. Audio playback management of multiple concurrent connections
US11831288B2 (en) 2020-10-23 2023-11-28 Sonos, Inc. Techniques for enabling interoperability between media playback systems
US11812240B2 (en) 2020-11-18 2023-11-07 Sonos, Inc. Playback of generative media content
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection
US11930328B2 (en) 2021-03-08 2024-03-12 Sonos, Inc. Operation modes, audio layering, and dedicated controls for targeted audio experiences
US11916733B2 (en) 2021-03-08 2024-02-27 Sonos, Inc. Updating network configuration parameters
US11818427B2 (en) 2021-03-26 2023-11-14 Sonos, Inc. Adaptive media playback experiences for commercial environments
US11700436B2 (en) 2021-05-05 2023-07-11 Sonos, Inc. Content playback reminders
US11809782B2 (en) 2021-09-30 2023-11-07 Sonos, Inc. Audio parameter adjustment based on playback device separation distance
US11956480B2 (en) 2022-12-22 2024-04-09 Sonos, Inc. Grouping in a system with multiple media playback protocols

Also Published As

Publication number Publication date
JP2004500651A (en) 2004-01-08
WO2001053994A9 (en) 2002-10-31
WO2001053994A8 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
US10318647B2 (en) User input-based play-list generation and streaming media playback system
US7228305B1 (en) Rating system for streaming media playback system
US6721741B1 (en) Streaming media search system
US7281034B1 (en) System and method for media playback over a network using links that contain control signals and commands
WO2001053994A2 (en) Streaming media search and playback system
US6519648B1 (en) Streaming media search and continuous playback of multiple media resources located on a network
JP2004500651A5 (en)
US9361645B2 (en) Internet radio and broadcast method with discovery settings
US7720686B2 (en) Method and system for providing listener-requested music over a network
KR101683323B1 (en) Media content retrieval system and personal virtual channel
US20060173825A1 (en) Systems and methods to provide internet search/play media services
EP1348176A2 (en) Streaming media search and playback system
WO2006008719A2 (en) Systems and methods to provide internet search/play media services

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES 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 SL TJ TM TR TT TZ UA UG US US US US 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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2397641

Country of ref document: CA

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 554220

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2001903173

Country of ref document: EP

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES 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 SL TJ TM TR TT TZ UA UG US US US US US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

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

COP Corrected version of pamphlet

Free format text: PAGES 45-47, DESCRIPTION, REPLACED BY NEW PAGES 45-47; AFTER RECTIFICATION OF OBVIOUS ERRORS AS AUTHORIZED BY THE INTERNATIONAL SEARCHING AUTHORITY

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

D17 Declaration under article 17(2)a
WWP Wipo information: published in national office

Ref document number: 2001903173

Country of ref document: EP