This application generally relates to providing content monitoring information to user devices.
A proliferation of content provider services gives users access to all types of digital content including music, movies, books, etc. Typically, a content provider service obtains license rights to a library of digital content. A user subscribes to the content provider service to receive content items, either individually or bundled together (e.g., by genre). Users receive the content items via various different types of user devices including, for example, mobile devices, other computers, network-enabled stereo receivers, etc. Users are charged according to many different types of payment methodologies including, for example, periodic subscription charges, charges by content item, charges by unit time, etc. Traditional search engines, and similar tools, allow users to search libraries of available content to find content items for viewing, listening and/or downloading.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings will be provided by the Office upon request and payment of the necessary fee.
Various example embodiments are described herein by way of example in conjunction with the following figures, wherein:
Various example embodiments described herein are directed to systems and methods for providing users with geographic information relating to content items. The geographic information is conveyed to the users via a graphical user interface that may be generated and served to user devices associated with the users. In various example embodiments, the graphical user interface is generated by or in conjunction with, a content provider service for distributing content items (e.g., digital content items) to users. The content items may include any type of content (e.g., digital content) that may be provided to user devices. For example, the content items may include audio, video, and/or text files embodying any type of programming including, for example, songs, videos of any sort, books, periodicals, etc. The content provider service may implement a playback system for facilitating user interactions with content items. The playback system may provide users with functionality for identifying desirable content items. For example, the playback system may provide the users with various search engines, filters, pre-compiled play lists, etc. Through the playback system, users may select content items with which to interact. If the user selects a content item for playback or download, the playback system may cause the content item to be streamed to and or downloaded to a user device associated with the user. The playback system may cause such streaming or download to originate from a single source and/or from a content distribution network comprising multiple distributed systems.
A content monitoring system may monitor content items provided to users and generate an event database describing content item events. Content item events may describe any type of interaction between a user and a content item. Example content item events occur when a user plays a content item (e.g., the content item is streamed to the user), when the user downloads a content item, when the user likes or otherwise references a content item (e.g., via the playback system or a social media platform), etc. The content monitoring system may be programmed to record and store at the event database various information describing various content item events. Such information may include, for example, an identity of an associated user, a time of the event, a geographic location of the user (or associated user device) at the time of the event, a type of the user device, an event type (e.g., playback, download, reference, etc.).
The event database may be utilized in the graphical user interface to provide users with data describing content item events involving other users. The graphical user interface is described herein as being generated by the playback system, for example, as a portion of a general user interface for allowing users to select content items and/or by the content monitoring system. In practice, the graphical user interface may be wholly or partially implemented by any other manner and wholly or partially by any other suitable system.
In some embodiments, the user provides an indication of a geographic area (e.g., an area of interest or an area corresponding to the user's current location). In response, the graphical user interface is updated to indicate content item events within the indicated geographic area. The displayed content item events may have any suitable temporal relationship. For example, the displayed content item events may include content item events that are currently occurring (e.g., real-time events). Also, in some embodiments, the displayed content item events comprise events that have previously occurred over a determined time period (e.g., over the past day, over the past month, two years ago, etc.).
In some example embodiments, the graphical user interface comprises a map showing the selected geographic area. The map is populated with markers, where each marker corresponds to a content item event. The position of a marker on the map corresponds to a geographic location of the content item event. In some example embodiments, a user can select a marker from the user interface. In response, the interface may display additional information about the content items and/or user devices associated with the marker. In some example embodiments, the content item associated with the selected content item event is transmitted to the user (e.g., for playback or download).
In some example embodiments the graphical user interface can comprise one or more fields displaying additional information about content items provided to users in the geographic area. The additional fields may include, for example, indications of content items recently requested by users in the geographic area, indications of popular or trending content items within the geographic area over a given time period, etc. In some example embodiments, the user interface shows a comparison of two geographic areas. For example, the user interface may comprise a comparison of content item events occurring in the first and second geographic areas.
In some example embodiments, the user interface may comprise content item events selected based on a party associated with the various content items (e.g., a related party). A related party may be any individual or group associated with one or more content items. For example, related parties with respect to music content items may include an artist or band that performs a song, an author of the song, etc. Related parties with respect to a movie or video content item may include any actors or actresses that appear in the content item, a producer of the content item, a director of the content item, etc. In some example embodiments, the user provides an indication of a related party. In response, the playback system may determine a geographic area based on the locations of user events involving content items associated with the related party. For example, the locations of the users may be determined based on the locations of the users' associated user devices at the time of the events. The playback system may further generate and/or update an interface to comprise a map of the geographic area with markers positioned on the map at positions corresponding to geographic locations of the content events.
Reference will now be made in detail to several example embodiments, examples of which are illustrated in the accompanying figures. Wherever practicable, similar or like reference numbers may be used in the figures and may indicate similar or like functionality. The figures depict example embodiments of the disclosed systems (or methods) for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative example embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
Content provider services may be embodied by one or more playback systems 110, which may operate in conjunction with one or more content distribution systems 104. The playback system 110 may receive a request for a content item from a user 103 (e.g., via a user interface). In response to such a request, the playback system 110 may authenticate the user 103 and/or associated user device 102 to determine that the user 103 and/or the user device 102 has an active subscription that entitles the user 103 (and/or device 102) to access the requested content item. Provided that the authentication is successful, the playback system 110 may cause the requested content item to be provided to a user device 102 associated with the requesting user 103. For example, the playback system 110 may request that the content item be transmitted to the user device 102 by a content distribution system 104. Content items may be transmitted from a content distribution system 104 to a user device 102 in any suitable manner. For example, the content items may be transmitted via a secure communication channel formed between the content distribution system 104 and the user device 102 such as a transport layer security (TLS) or secure socket layer (SSL) channel. Also, for example, some content items may be individually encrypted during communication or transmitted in the clear. It will also be appreciated that content items may be provided to user devices 102 as discrete files or units or as part of a stream of content.
The playback system 110 may be programmed to implement various tools allowing users 103 to search available content items provided via a user interface. Examples of such tools may include search engines, play lists and radio stations. Search engines allow users 103 to locate content items according to any suitable searching methodology such as, for example, key word searches, searches by genre, searches by content item type, etc. Play lists may be lists of content items, for example, stored at playback systems 110. A play list may be created automatically, created by editorial staff of the content service provider and/or created based on input from a user device 102. Play lists may be available to all users 103, only to originating users 103, to select users 103, etc. A radio station may comprise a flow of content items generated, for example, by a playback system 110 and, for example, streamed to one or more users. The content items making up a radio station flow may be repeated and/or continuously updated (e.g., by the playback system 110). Specific content items may be included in a radio station flow or may be selected based on one or more common characteristics (e.g., similarity to a set of user selected content items, a common genre, a common artist, a common theme, etc.). In some embodiments, the playback system 110 comprises a data store 109 that includes some or all of the content items that may be provided to users 103. For example, in some embodiments, the playback system 110 partially or completely provides the content items directly to the users 103 thus replacing some or all of the functionality of the content distribution systems 104.
Some content provider services may also comprise one or more content monitoring systems 112. A content monitoring system 112 may be programmed to generate an event database 115 describing content item events, as described herein. The content distribution systems 104 may comprise one or more data stores 108 comprising content items and a server or other computer device 106 for processing requests. In various example embodiments, the playback system 110 may utilize multiple distributed content distribution systems 104 as shown. Some or all of the content distribution systems 104 may be mirrors of one another located at disparate geographic and/or network locations. For example, the playback system 110 may balance the loads of various content distribution systems 104 by directing requests to transmit content items to different content distribution systems 104 based on geographic and/or network proximity between the requesting user device 102 and the various content distribution systems 104, loads on the content distribution systems 104, etc. In some embodiments, the content distribution systems 104 may be operated by a third-party vendor of the content provider service.
The various components 102, 104, 110, 112, etc. of the environment 100 may communicate with one another via a network 116. The network 116 may be any suitable type of wired, wireless, or mixed network and may comprise, for example, the Internet, a local area network (LAN), a wide area network (WAN), etc. In some example embodiments, some or all of the functionality for implementing a content provider service may be consolidated in a single system. For example, any combination of the playback system 104, the content monitoring system 112 and/or the various content distribution systems 104 may be consolidated into one or more single systems (e.g., at a common geographic location).
At 154, the content monitoring system 112 may generate descriptions for received content item events. The descriptions may comprise detail as rich as is available. For example, in some embodiments, content item event descriptions may indicate some or all of: an identity of the user 103 associated with the content item event; a time at which the content item event occurred; a geographic location of the user 103 (or associated user device 102) during the content item event (e.g., at the time of the content item event); a description or type of the associated user device 102; a description or type of the event (e.g., playback, download, reference), etc. The geographic location of the user 103 may be determined in any suitable manner. For example, the user's associated user device 102 may comprise an on-board global positioning system (GPS) or other suitable mechanism for determining is location. When a user 103 request initiates a content item event, the associated user device 102 may report the location of the user device 102 (and the user 103) to the content distribution system 104, the playback system 110 and/or the content monitoring system 112. Also, in some example embodiments, the content monitoring system 112 derives the geographic location of a receiving user 103 based on the identity of the content distribution system 104. For example, user devices 102 being served by a content distribution system 104 in a certain geographic location may be assumed to be at the same geographic location. At 156, the content monitoring system 112 may store the generated descriptions of content item events at the event database 115.
The content tracking module 120 may be programmed to track content items events and may be programmed to build the event database 115, as described herein above with respect to
The user interface 126 may be generated, populated, and provided to the user 103 in any suitable form. For example,
The markers 401 shown at the map field 402 may be displayed according to any suitable temporal scheme. In some example embodiments, the map field 402 (and information field 404) may be populated at the time that the user 103 requests the screen 400 and may remain static until the user re-requests the screen 400 and/or requests a refresh. Also, in some example embodiments, the content monitoring system 112 may periodically refresh the interface 126, including the screen 402. For example, markers 401 may be periodically removed as they become stale. A stale marker may be a marker 401 corresponding to a content item event that has occurred more than a threshold time in the past. Also, new markers 401 may be added, for example, in real-time as the content monitoring system 112 receives new data indicating additional content item events in the map area.
In various example embodiments, the markers 401 are selectable by the user 103. When the user 103 selects a marker 401, the content monitoring system 112 may provide the user 103 with additional data describing the corresponding content item event and may, in some example embodiments, provide the user 103 with a corresponding content item. For example,
The marker field 502 may comprise various information about the content item event or events associated with the selected marker 401′. Such information may include, for example, an indication of one or more content items associated with the content item event. For example, the marker field 502 comprises a content item field 506 indicating a content item associated with the content item event. In the example shown in
In various example embodiments, the user 103 may select an indication of a content item from the content item field 506. In response, the content monitoring system 112 may perform various actions including, for example, providing the content item to the user 103, adding the content item to a play list associated with the user, adding a characteristic of the content item to a description of preferred content items associated with the user, etc. For example, upon receiving an indication of the user's selection of the content item from the associated user device 102, the content monitoring system 112 may communicate with the playback system 110 and/or the content distribution system 104 to cause the content distribution system 104 to provide the content item 128 to the user 103. In some example embodiments, upon receiving an indication of the user's selection, the content monitoring system 112 adds the selected content item to a play list associated with the user 103. This may allow the user 103 to access the selected content item later as a part of the play list.
Also, in some example embodiments, upon receiving an indication of the user's selection, the content monitoring system 112 may add at least one characteristic of the content item to a description of preferred content items associated with the user 103. The characteristic of the content item may be any descriptive characteristic. For example, when the content item is a song, example characteristics may include related parties, the genre, the year in which the song was originally released, etc. Also, for example, when the content item is a movie or other video programming, example characteristics may include, related parties, the year in which the movie or other video programming was originally released, etc.
The description of preferred content for the user 103 may be a set of content characteristics utilized by the content monitoring system 112, the playback system 110 or any other component of content provider service to select content items that may be of interest to the user 103. In some example embodiments, the description of preferred content may be utilized to generate a radio station flow for the user 103, for all users and/or for a selected group of users (e.g., selected by the user 103). Also, in some example embodiments, the content monitoring system 112, the playback system 110 or any other component of the content provider service may provide the user 103 with indications of suggested content items, based on the description of preferred content.
In some example embodiments, the content monitoring system 112 may be programmed to cause various markers 401 in the map field 402 to display marker fields 502 periodically without input from the user 103. For example, the content monitoring system 112 may randomly select markers 401 from the map field 402. The selected markers 401 may display marker fields 502 for a predetermined amount of time (e.g., 2 seconds). In some example embodiments, some portion or percentage of markers 401 being added to the map field 402 may be selected to temporarily display marker fields 502, for example, as they are initially displayed at the map field 402.
Referring to both
The additional tabs 408, 410, 412, when selected, may cause the information field 404 to display other content items. For example, a Trending tab 410 may cause the information field 404 to display indications of content items that are trending.
Referring now back to
In some example embodiments, the content monitoring system 112 may be programmed to implement functionality for applying various content item filters to the interface 126 (e.g., the screen 400). For example,
In various example embodiments, the user 103 may select a new map area and/or limit the screen 400 to a portion of the map area. For example,
The playback system 110 and/or content monitoring system 112 may generate the various example embodiments of the interface 126 described herein in any suitable manner. For example,
At 1004, the playback system 110 and/or content monitoring system 112 may receive data describing content item events in the selected geographic area. Content item events may be received from any suitable system (e.g., a playback system 110, a content distribution system 104, the event database 115, etc.) according to any suitable communication protocol or method. The received content item event data may indicate, for each content item event, a subject content item 128 or items and a location of the associated user 103. In some example embodiments, the content item event data may also comprise an identity of the user 103. Content item event data may be received from any suitable source or system including, for example, a playback system 110, a content distribution system 104, a content monitoring system 112, etc.
At 1006, the user interface 126 may be populated with indications of at least a portion of the content item events in the selected geographic area. For example, the indications of the content item events may comprise markers, such as the markers 401 and/or any of the data that may be present in the information field 404 described above. In some example embodiments, content item event data may be filtered, as described herein above with respect to
In some example embodiments, the playback system 110 and/or content monitoring system 112 may also be programmed to generate a comparison of content items provided to two different geographic areas. For example,
At 1208, an interface and/or interface screen comparing the first and second geographic areas may be generated. For example, the interface may comprise lists of trending content items and/or content items provided with the highest frequencies in the first and second geographic areas such as, for example, side-by-side implementations of the information field 404 described herein, with each of the side-by-side fields corresponding to one of the geographic areas. Also, for example, the interface may comprise side-by-side map fields, such as the map field 402, wherein each of the side-by-side map fields comprises markers 401 corresponding to content item events and/or public events in the respective geographic areas.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. The language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the disclosed subject matter.
The figures and the following description relate to example embodiments of the invention by way of illustration only. Alternative example embodiments of the structures and methods disclosed here may be employed without departing from the principles of what is claimed.
Any patent, publication, or other disclosure material, in whole or in part, that is said to be incorporated by reference herein is incorporated herein only to the extent that the incorporated materials do not conflict with existing definitions, statements, or other disclosure material set forth in this disclosure. As such, and to the extent necessary, the disclosure as explicitly set forth herein supersedes any conflicting material incorporated herein by reference. Any material, or portion thereof, that is said to be incorporated by reference herein, but which conflicts with existing definitions, statements, or other disclosure material set forth herein will only be incorporated to the extent that no conflict arises between that incorporated material and the existing disclosure material.
Reference in the specification to “one example embodiment,” “various example embodiments,” or to “an example embodiment” means that a particular feature, structure, or characteristic described in connection with the example embodiments is included in at least one example embodiment of the invention. The appearances of the phrase “in one example embodiment” or “a preferred example embodiment” in various places in the specification are not necessarily all referring to the same example embodiment. Reference to example embodiments is intended to disclose examples, rather than limit the claimed invention.
Some portions of the above are presented in terms of methods and symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. A method is here, and generally, conceived to be a self-consistent sequence of actions (instructions) leading to a desired result. The actions are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is convenient, at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient, at times, to refer to certain arrangements of actions requiring physical manipulations of physical quantities as modules or code devices, without loss of generality.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the preceding discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or “determining” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Certain aspects of the present invention include process steps and instructions described herein in the form of a method. It should be noted that the process steps and instructions of the present invention can be embodied in software, firmware or hardware, and when embodied in software, can be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers and computer systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
The methods and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method actions. The required structure for a variety of these systems will appear from the above description. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any references above to specific languages are provided for disclosure of enablement and best mode of the present invention.
While the invention has been particularly shown and described with reference to a preferred example embodiment and several alternate example embodiments, it will be understood by persons skilled in the relevant art that various changes in form and details can be made therein without departing from the spirit and scope of the invention.
Finally, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention.