User interface-based restrictions on content access

CN115934219BActive Publication Date: 2026-09-04APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211101010.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-01-31
Filing Date
2022-09-09
Publication Date
2026-09-04
Estimated Expiration
2042-09-09

Smart Images

  • Figure CN115934219B_ABST
    Figure CN115934219B_ABST
Patent Text Reader

Abstract

The present disclosure relates to user interface-based restrictions on content access. The present disclosure provides systems and methods for providing access to media content from a server based on a user interface of a client device, the access being requested through the user interface. A user can access certain media content, such as songs, albums, playlists, radio stations, etc., so long as the request for the content is initiated via a particular user interface and when the user is a subscriber to a reduced subscription tier of service to the server. To restrict access in this manner, an interface-specific token is generated at the server for each media content. The interface-specific token is received by the user device and used to further access the media content from the server.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This patent application claims priority to U.S. Provisional Patent Application No. 63 / 243,694, filed September 13, 2021, entitled “User Interface-Based Restriction On Content Access,” and U.S. Patent Application No. 17 / 589,891, filed January 31, 2022, entitled “User Interface-Based Restriction On Content Access,” the disclosures of which are incorporated herein by reference in their entirety. Technical Field

[0003] This specification generally relates to user interface-based restrictions on access to media content and services for electronic devices. Background Technology

[0004] Users of electronic devices typically access media content (such as songs or albums) provided by a service through applications on the device. The application provides a user interface through which requests are sent to the service or server. Users usually need to use the user interface to subscribe to the service in order to gain access to certain media content via their electronic device. Attached Figure Description

[0005] Some features of this subject matter are shown in the appended claims. However, for illustrative purposes, several specific embodiments of this subject matter are illustrated in the following drawings.

[0006] Figure 1 An exemplary network environment based on one or more specific implementations is shown.

[0007] Figure 2 An exemplary electronic device is shown according to one or more specific implementations of an implementable method.

[0008] Figure 3A An electronic device and a server are shown according to one or more specific implementations of an implementable method.

[0009] Figure 3B An electronic device and a server are shown according to one or more specific implementations of an implementable method.

[0010] Figure 4 Electronic devices and servers according to one or more specific implementations of implementable methods are further illustrated.

[0011] Figure 5It is a flowchart of an exemplary process for user interface-based access to media content according to one or more specific implementations.

[0012] Figure 6 This is another flowchart of an exemplary process for user interface-based access to media content, based on one or more specific implementations.

[0013] Figure 7 It is a flowchart of an exemplary process for updating an interface-specific token according to one or more specific implementations.

[0014] Figure 8 It is a flowchart of an exemplary process 800 for playing media content after updating a specific token of the media content, according to one or more specific implementations.

[0015] Figure 9 Exemplary electronic systems, according to one or more specific implementations, are shown that can be used to implement various aspects of the subject matter technology. Detailed Implementation

[0016] The specific embodiments shown below are intended to describe various configurations of the subject matter and are not intended to represent the only configuration in which the subject matter can be practiced. The accompanying drawings are incorporated herein and form part of the specific embodiments. The specific embodiments include particular details intended to provide a thorough understanding of the subject matter. However, the subject matter is not limited to the specific details described herein and can be practiced using one or more other specific embodiments. In one or more specific embodiments, structures and components are shown in block diagram form to avoid obscuring the concepts of the subject matter.

[0017] This technology provides controlled access to media content based on the interface through which media content is requested.

[0018] In various aspects, users of electronic devices (e.g., smartphones, laptops, or wearable devices) can request media content, such as streaming audio and / or music content services, from content servers providing the service. The service may have one or more subscription tiers—for example, at least a full (regular) subscription tier and a premium subscription tier. It should be understood that a service may have more than two subscription tiers, which may be associated with different prices, access to different content, and / or may vary in other ways in which the service is provided to the user. For the purposes of this disclosure, the user is considered a subscriber to the premium subscription tier, meaning the user has not yet subscribed to the full user experience provided by the service, regardless of the type and number of subscription tiers.

[0019] In various implementations, if the user is a subscriber to a reduced subscription tier of a service provided by a content server, a method is provided that allows the user to access media content only through a reduced set of user interfaces. This set of user interfaces, which can be used to access the media content of the reduced subscription tier, may include, for example, a voice user interface (which can receive voice-initiated requests for media content) or a recommended content interface (which can receive requests for media content already recommended to the user). In some implementations, the voice user interface (which may be a voice / graphical user interface) and the recommended content interface may be, for example, part of the same overall user interface of an application.

[0020] To determine which user interface is available for accessing media content, an interface-specific token associated with the media content can be obtained from the media server (or service), for example, from a media application programming interface (API) service associated with the media content server. In some examples, the media API service generates an interface-specific token when media content is requested from a user's electronic device via an approval interface on the device. The generated interface-specific token can be specific to the requested media content, such that each media content item (e.g., song, album, playlist, or radio station) has an interface-specific token generated for that media content item.

[0021] In some implementations, a separate request for media content can be provided to the content server along with an interface-specific token. The content server can then verify the interface-specific token and, upon successful verification, return the requested media content to the user's electronic device. Before issuing the interface-specific token, the server can verify whether the user's electronic device is authenticated to access content from the server using a specific interface, and whether the user (or the user's electronic device) has a subscription to the service provided by the content server, which is a thin subscription tier. An interface-specific token may be required for users who have already subscribed to a thin subscription tier to access the media content. In this way, when the interface-specific token is not used for the media content, it prevents the user from directly accessing the media content from the server through any interface in the use case.

[0022] In some implementations, interface-specific tokens can be updatable tokens to ensure service continuity.

[0023] Figure 1An exemplary network environment 100 comprising various devices is illustrated according to one or more embodiments of this disclosure. However, not all depicted components are usable in all embodiments, and one or more embodiments may include additional or different components compared to those shown in the figures. Variations in the arrangement and type of these components may be made without departing from the spirit or scope of the claims set forth herein. Additional components, different components, or fewer components may be provided.

[0024] Network environment 100 includes an electronic device 102 with a user interface 161 and one or more servers, such as server 109, communicatively coupled to a network 108 (e.g., a wide area network or a local area network). However, this disclosure can be implemented using various network configurations that allow the electronic device 102 to interoperate with one or more servers and / or services. For illustrative purposes, network environment 100 is described in... Figure 1 The network environment 100 is shown as including electronic device 102 and server 109; however, it should be understood that the network environment 100 may include any number of electronic and / or audio devices and any number of servers or a data center including multiple servers.

[0025] exist Figure 1 In this example, server 109 includes server 149 (e.g., a content server) and server 151 (e.g., a virtual assistant server). In this example, server 149 may include content service 106 and media API service 112. In this example, server 151 may be a virtual assistant server and may include virtual assistant service 105.

[0026] Electronic device 102 is a client device, which may be, for example, a smartphone, a portable computing device (such as a laptop computer or tablet), a wearable device (such as a smartwatch or smart bracelet), etc. It should be understood that electronic device 102 is shown as... Figure 1The mobile smartphone device in the text is for illustrative purposes only, as the electronic device 102 can be any other suitable device including, for example, processing circuitry and communication circuitry for communicating with server 109 (including content service 106, media API service 112, and / or virtual assistant service 105) and / or with any other services and servers or devices. In one or more embodiments, the electronic device 102 may present a user interface 161 through which music content can be requested for output (playback) by the electronic device 102. The user interface 161 may be presented by an application (e.g., a streaming music service application) that communicates with a service subscribed to by a user of the electronic device 102 (such as, for example, a subscription-based music streaming service (provided by content service 106)). Therefore, the electronic device 102 may be associated with a user account that subscribes to one or more services provided by content service 106 (e.g., at content service 106 and / or at another server coupled to the content server).

[0027] Content service 106, which may be provided by a streaming media server (e.g., server 149), stores and / or accesses various media content that may be provided to electronic devices (such as electronic device 102), or any other suitable device that can perform playback of the media content and has appropriate licensing and subscription types for one or more services provided by content service 106. In one specific implementation, content service 106 may be used as a cloud storage server.

[0028] Media API service 112 is a suitable API service component that, in one or more implementations, generates an interface-specific token 110 associated with corresponding media content, such as songs, albums, playlists, or radio stations (e.g., a user-created radio station or another broadcast media channel). In some implementations, media API service 112 also performs one or more of the following: verifying the interface-specific token, authenticating the user (or the user's request information, the user's account, and / or the user's device), and checking the existence and type of subscription to the service for the account associated with the requesting electronic device.

[0029] In some specific implementations, such as Figure 1As schematically illustrated, media API service 112 and content service 106 may be provided by the same server (e.g., server 149). In a specific implementation, server 109 may include a separate server providing content service 106 and media API service 112. In one or more implementations, virtual assistant service 105 may be provided by a separate server 151 or by the same server 149. In one or more implementations, communication may be exchanged between server 149 and server 151 to authenticate and / or verify user accounts and / or tokens used to access media content. In some implementations, media API service 112 is an API associated with content service 106, and media API service 112 allows access to functionality and data (e.g., various media content) stored or accessible by content service 106. Media API service 112 can be configured to perform various functions related to the operation of server 149 (and / or other servers of server 109), such as, for example, generating interface-specific tokens, authenticating user devices (e.g., electronic device 102), determining whether a device has the required type of subscription provided by the service (e.g., a thin subscription tier), and any other suitable functions.

[0030] Server 149 and / or server 151 may form all or part of a computer network or group of servers (not shown), such as in a cloud computing or data center implementation. For example, in some implementations, server 149 stores data (e.g., media content) and software, and includes hardware (e.g., processors, communication circuitry, etc.) for generating and rendering content such as audio and video. In one implementation, server 149 may be used as a cloud storage server.

[0031] In some implementations, user interface 161 may be a graphical user interface of an application such as a music player application. As shown, electronic device 102 may also provide other interfaces for user interaction, such as a virtual assistant application 165 (e.g., an artificial intelligence (AI)-driven virtual assistant), which may serve as a voice user interface for electronic device 102. As shown, user interface 161 may include various user interface elements, such as user interface element 104 and user interface element 163. For example, user interface element 104 may be a recommendation content interface that displays or otherwise provides the user with recommendations or similar items related to media content. For example, in some implementations, the recommendation content interface may be provided as a menu bar item or tab menu that offers personalized recommendations of songs, albums, playlists, radio stations, or combinations thereof to the user's account on electronic device 102. Personalized recommendations may be recommendations generated at electronic device 102 and / or server 109 based on previous activities associated with the user's account (e.g., previous selections of media content, likes, dislikes, etc.). In one or more implementations, a request to allow playback of content recommended in user interface element 104 may be authorized by generating an interface-specific token, as described in further detail below. In one or more embodiments, requests to play content received via the virtual assistant application 165 can be permitted by generating an interface-specific token, as described in further detail below. In one or more embodiments, requests to play content recommended in user interface element 163 may be denied if the account associated with electronic device 102 has a simplified subscription tier. For example, user interface element 163 may be a user interface element for browsing songs and / or other content available from content service 106, or a user interface element for searching for songs and / or other content available from content service 106.

[0032] Despite the combination Figure 1 User interface 161, user interface elements 104 and 163, and virtual assistant application 165 are described, but it should be understood that electronic device 102 may provide various other user interface elements and / or components, as specific implementations of this disclosure are not limited in this respect.

[0033] Figure 2 An exemplary electronic device is shown according to one or more specific implementations of an implementable method. For example, Figure 2 Device 200 can correspond to Figure 1 Electronic device 102 and / or content service 106. However, not all depicted components are usable in all embodiments, and one or more embodiments may include... Figure 2The components shown are either additional or different from those listed herein. Variations in the arrangement and type of these components may be made without departing from the spirit or scope of the claims set forth herein. Additional components, different components, or fewer components may be provided.

[0034] like Figure 2 As shown, electronic device 200 may include processor 202, memory 206, interface component 204, communication interface 208, and one or more input devices 210. Processor 202 may include appropriate logic components, circuitry, and / or code that enable processing of data and / or control of the operation of electronic device 200. In this regard, processor 202 may be enabled to provide control signals to various other components of electronic device 200. Processor 202 may also control data transfer between different parts of electronic device 200. Additionally, processor 202 may enable the implementation of an operating system or may otherwise execute code to manage the operation of electronic device 200. To perform any of the functions described herein, processor 202 may execute one or more computer-executable instructions stored in one or more computer-readable storage media (e.g., memory 206).

[0035] Memory 206 may include appropriate logic components, circuitry, and / or code that enable the storage of various types of information, such as received data, generated data, code, and / or configuration information. Memory 206 may include, for example, random access memory (RAM), read-only memory (ROM), flash memory, and / or magnetic storage devices.

[0036] In one or more specific embodiments, electronic device 200 corresponds to electronic device 102 ( Figure 1 In the case of [the application], memory 206 may use data stored locally in memory 206 to associate authentication information with one or more user accounts of one or more applications and / or services. Furthermore, input device 210 may include suitable logic components, circuitry, and / or code for capturing input such as audio input (e.g., voice requests received via a microphone), remote control input, touchscreen input, keyboard input, etc.

[0037] like Figure 2 As shown, electronic device 200 includes an interface component 204 that enables a user of electronic device 200 to interact with electronic device 200 to perform various actions. For example, in one or more embodiments, interface component 204 may include a microphone and / or a display such as a touch-sensitive display, the microphone receiving audio input (e.g., voice input) from the user of electronic device 200, the display displaying icons and any other information associated with one or more applications and / or receiving information that the user can access via... Figure 1The user interface 161 is a touch input that interacts with icons and / or associated applications.

[0038] Communication interface 208 allows electronic device 200 to communicate with various other devices, services, and servers. Communication interface 208 may include suitable logic components, circuitry, and / or code that enable wired or wireless communication, such as between electronic device 102 and virtual assistant service 105, or between media API service 112 and / or content service 106 (which may be part of the same server / service), via network 108. In some implementations, communication interface 208 is a wireless communication interface. In some implementations, communication interface 208 may include one or more of, for example, a cellular interface, Bluetooth communication interface, NFC interface, Zigbee communication interface, WLAN communication interface, USB communication interface, or generally, any suitable communication interface.

[0039] In one or more embodiments, one or more of the processor 202, memory 206, interface component 204, communication interface 208, input device 210 and / or one or more portions thereof may be implemented in software (e.g., subroutines and code), in hardware (e.g., application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), programmable logic device (PLD), controller, state machine, gated logic component, discrete hardware component or any other suitable device), and / or in a combination of both software and hardware.

[0040] Figure 3A , Figure 3B and Figure 4 Exemplary use cases are shown where an electronic device and one or more servers communicate as part of an implementation method, according to one or more specific embodiments of this disclosure. Figure 3A In the example, the user of electronic device 102 uses virtual assistant application 165 to make a voice request to play media content. Figure 3B In the examples, the user of electronic device 102 uses user interface element 104 to select recommended media content for playback. In these examples, electronic device 102 (including user interface element 104 and virtual assistant application 165) and virtual assistant service, media API service 112 and content service 106 are shown for illustrative purposes; however, it should be understood that other types and devices, services and servers may be used alternatively or in lieu of them.

[0041] exist Figure 3AIn one example, a first request for media content may be provided from a virtual assistant application 165 of electronic device 102 (e.g., as indicated by arrow 303) to a virtual assistant service 105 (e.g., at server 151 of server 109). In one or more embodiments, the virtual assistant service 105 (e.g., at server 151) may provide the request (e.g., and an indication that the request has been received via the virtual assistant application 165) to a media API service 112 (e.g., at server 149). In one or more embodiments, the request may be provided from the virtual assistant service to a content service 106, and the media API service 112 (which may be an API service of the content service 106) receives the first request on behalf of the content service 106. In response, the media API service 112 and / or the content service 106 may generate an interface-specific token for the requested media content and provide that interface-specific token to the virtual assistant service 105. The electronic device 102 can then receive (e.g., as indicated by arrow 305) an interface-specific token 110 associated with the media content (also referred to herein as a “voice activation token” or “token”).

[0042] like Figure 3A As shown, once an interface-specific token is received from the virtual assistant service 105, the electronic device 102 can provide (e.g., as indicated by arrow 307) a second request for media content to the content service 106, along with the interface-specific token received from the virtual assistant service 105. It should be understood that in some implementations, the second request is received by an API of the content service 106, which may be, for example, a media API service 112. In response to receiving the second request, the content service 106 can authenticate the electronic device 102 (e.g., an account to which the electronic device is signed or registered) and check the device's (e.g., the account's) subscription to the services of the content service 106. If the electronic device 102 is authenticated and it is determined that the device 102 has a tiered subscription to the service, the content service 106 verifies the interface-specific token 110 for the requested media content. If verification is successful, the electronic device 102 receives (e.g., as indicated by arrow 309) the media content, allowing a user of the electronic device 102 to listen to or otherwise output the media content (and / or view the video associated with the media content).

[0043] exist Figure 3BIn the example, a first request for media content can be provided from a user interface element 104 of electronic device 102 (e.g., a recommended content interface) to a media API service 112 (e.g., as shown by arrow 321). The first request can be sent to content service 106, and media API service 112 (which can be an API service of content service 106) can receive the first request on behalf of content service 106. In response, electronic device 102 can receive (e.g., as shown by arrow 323) an interface-specific token 110 associated with the media content.

[0044] exist Figure 3B In the example, once an interface-specific token is received from media API service 112, electronic device 102 can provide a second request for media content, along with the interface-specific token received from the media API service (e.g., as shown by arrow 325), to content service 106. It should be understood that in some implementations, the second request is received by the API of content service 106, which may be, for example, media API service 112. In response to receiving the second request, content service 106 can authenticate electronic device 102 (e.g., an account to which the electronic device is signed or registered) and check the device's (e.g., the account's) subscription to the services of content service 106. If electronic device 102 is authenticated and it is determined that device 102 has a tiered subscription to the service, content service 106 verifies the interface-specific token 110 for the requested media content. If verification is successful, electronic device 102 receives (e.g., as shown by arrow 327) the media content, allowing users of electronic device 102 to listen to or otherwise output the media content (and / or view the video associated with the media content).

[0045] In one or more specific implementations, the interface-specific token corresponds to Figure 1The interface-specific token 110 shown can be generated only when a first request is initiated by one or more specific interfaces (e.g., user interface element 104 or virtual assistant application 165) and only for subscribers of a streamlined subscription tier of services (e.g., music or other content services) provided by content service 106. In this way, the interface-specific token can be used to provide access to a reduced set of services from content service 106. In some implementations, as described above, user interface element 104 is a recommended content interface, and requests for media content need to be initiated from this type of interface, for example via user input received relative to tabs, icons, or other interactive features of user interface element 104 (or another suitable interface). It should be noted that in some implementations, the recommended content interface may be part of another user interface 161; and the recommended content interface may be or may include an interface that provides tabs, icons, menus, or other features relative to which user input regarding requests for media content can be received. Typically, when a user of electronic device 102 (and / or the user's electronic device 102) is associated with a subscription to a service (such as, for example, a thin subscription tier), aspects of this disclosure allow control over which user interface is available for accessing media content.

[0046] In one or more embodiments, the interface-specific token 110 may be "opaque" to the electronic device 102 because the electronic device 102 will not and / or cannot open or otherwise access or decipher the content of the interface-specific token 110. In some embodiments, the interface-specific token 110 includes a signature and / or may include a unique identifier associated with the media content. The interface-specific token 110 may also include a unique identifier associated with the user of the device. Therefore, it is possible to prevent an interface-specific token generated for a particular user from being used by another user to access the media content.

[0047] In one or more specific implementations, the interface-specific token 110 is the content identifier, user identifier, and timestamp of the media content.

[0048] Figure 4 This illustrates what happens after electronic device 102 receives media content (e.g., as...). Figure 3A and / or Figure 3B (As indicated by arrows 309 and / or 327), and when a user request to perform subsequent playback of media content is received at electronic device 102, electronic device 102 may provide an interface-specific token 110 and a third request to access the media content (e.g., as indicated by arrow 403) to content service 106. After verifying the interface-specific token 110 through content service 106, electronic device 102 receives access to the media content from content service 106, as... Figure 4As indicated by arrow 405 in the image.

[0049] Figure 5 It illustrates an electronic device (in accordance with one or more specific embodiments) Figure 5 An exemplary process 500 for interface-based access to media content is performed by a device (which may be interchangeably referred to as a "device" throughout this disclosure). For purposes of explanation, this document primarily refers to... Figure 1 The process 500 is described by the components (especially reference electronic device 102 and server 109), which can be described by Figure 1 The process 500 is executed by one or more processors of electronic device 102 and / or server 109. However, process 500 is not limited to electronic device 102, and one or more blocks (or operations) of process 500 may be executed by one or more other components of other suitable devices and / or one or more other servers. Further for illustrative purposes, the blocks of process 500 are described herein as occurring sequentially or linearly. However, multiple blocks of process 500 may occur in parallel. Moreover, the blocks of process 500 need not be executed in the order shown, and / or one or more blocks of process 500 need not be executed and / or may be replaced by other operations.

[0050] When an electronic device (e.g., electronic device 102) requests media content from a server (e.g., one or more servers in server 109) in response to user input received via a user interface, process 500 may be initiated. Figure 5 As shown, at block 502, process 500 includes providing a first request for media content from a device (e.g., electronic device 102) to a server (e.g., one or more servers in server 109, such as server 149), the request including information instructing a user interface associated with the first request. In some specific implementations, the first request may be received via a user interface, such as user interface element 104 of electronic device 102 or virtual assistant application 165. Figure 1 In one or more embodiments, the user interface is a voice user interface (e.g., including a virtual assistant application 165) configured to receive voice requests for media content from a user of the device. In one or more embodiments, the user interface is a combination of a voice user interface and a graphical user interface. In one or more embodiments, the user interface is a recommended content interface. In one or more embodiments, the processing at box 502 may include providing a first request to a server in response to receiving a voice request.

[0051] In one or more embodiments, the interface-specific token is specific to the media content. In one or more embodiments, the user interface is a device's voice user interface (e.g., including a microphone and / or a virtual assistant application that receives verbal input via the microphone). In one or more embodiments, the device may receive a voice request for media content from the device's user at the voice user interface. The device may generate a first request based on the voice request (e.g., by recognizing one or more words in the voice request and generating a digital request including the recognized one or more words), and may provide the first request to the server (e.g., server 149) in response to receiving the voice request by providing the first request to the server via a virtual assistant server (e.g., server 151). In one or more embodiments, the server may receive the request from the virtual assistant server and may generate one or more interface-specific tokens corresponding to the requested content and the voice user interface to be returned to the electronic device via the virtual assistant server.

[0052] In one or more embodiments, the user interface is a recommended content interface, and providing a first request to the server includes receiving user input via the recommended content interface on the device. In one or more embodiments, the first request includes authentication information for the user account (e.g., password, account token, or biometric authentication information) for the server to determine whether the device is associated with a subscription. In one or more embodiments, if the server determines that the device is associated with a subscription (e.g., a lightweight subscription) and not with another subscription (e.g., a full subscription), an interface-specific token is obtained.

[0053] In one or more embodiments, the interface-specific token includes a signature, and the signature includes a unique identifier associated with the media content and a unique identifier associated with the user of the device. In one or more embodiments, the media content includes songs.

[0054] exist Figure 5At box 504, process 500 includes obtaining an interface-specific token associated with media content in response to providing a first request. In some implementations, the media content includes at least two media pieces, and obtaining the interface-specific token associated with the media content includes obtaining a corresponding interface-specific token for each of a predetermined number of media pieces among the at least two media pieces. For example, the media content may be an album comprising one or more songs, and an interface-specific token may be generated for each song in the album and the album itself. As another example, the media content may be a playlist comprising one or more songs, and an interface-specific token may be generated for each song in the playlist and the playlist itself. Similarly, an interface-specific token may be generated for a radio station and each media content item in the radio station. In some implementations, albums, playlists, and radio stations may be referred to as containers containing media content.

[0055] At box 506, an interface-specific token is provided to the server (e.g., the same server or another server) in a second request for media content. The server can verify the interface-specific token that it has already received in the second request for media content. In one or more implementations, process 500 may include receiving media content from the server at box 508 in response to the server's verification of the interface-specific token.

[0056] Figure 6 This illustrates an electronic device (e.g., according to one or more specific implementations) Figure 1 An exemplary process 600 performed by an electronic device for replaying media content. For example, process 600 may be performed when a user requests playback of media content (e.g., a song, album, playlist, or radio station) previously accessed using an interface-specific token. In some specific implementations, once a specific implementation according to this disclosure (e.g., as in conjunction with the above description) is executed, the process is performed. Figure 5 (As shown in process 500) Using this process to receive access to media content, the media content can be added (automatically or manually) to a playlist or radio station. The user can then request playback of the media content from that playlist once or multiple times. At box 602, process 600 includes receiving a user request to play the media content at the device and after receiving the media content. At box 604, an interface-specific token and a third request for access to the media content are provided to the server. Figure 6 At box 606, in response to the server's verification of the interface-specific token, the electronic device receives access to media content from the server.

[0057] As discussed above, in some implementations, interface-specific tokens can be updated (e.g., to provide continuity of user experience). For example, if a user of an electronic device accesses an application (e.g., a music application or a media player application), information indicating the access can be sent to one or more servers, such as server 109, to update any interface-specific tokens for the media content played by the user (e.g., a playlist). In other examples, if a music application is accessed by a user of an electronic device at a certain frequency (e.g., once a week, as an example), the interface-specific tokens for the media content played by the user can be updated periodically.

[0058] Figure 7 An exemplary process 700 for updating an interface-specific token, according to one or more specific implementations, is shown. Figure 7 In the example, at box 702, process 700 includes sending data to a server (e.g., Figure 1 One or more of the servers in server 109) provide services from the device (e.g., Figure 1 The electronic device 102 requests an update to the interface-specific token. In a specific implementation, when the user activates the user's device (e.g., ...), Figure 1 An update request is provided when the corresponding application on an electronic device (such as a smartphone or other device) is launched, or when the user plays or otherwise accesses media content associated with the token. Launch of the application and / or media content may prompt the device to determine whether an interface-specific token for any previously requested and / or played media content needs to be updated. In one or more implementations, the interface-specific token generated for media content may be updated multiple times.

[0059] exist Figure 7 In the example, at box 704, in response to the server (in... Figure 7 In the example, media API service 112 (which can be an API service for content service 106) verifies an interface-specific token, and the electronic device receives an updated interface-specific token generated by the server in response to a request.

[0060] exist Figure 7 In exemplary process 700, the server generates an updated interface-specific token based on a request from the device to the server for an updated interface-specific token. In some implementations, the updated interface-specific token is generated even without a request from the device for an updated interface-specific token. In such implementations, in response to the server verifying the interface-specific token, the device (e.g., Figure 1 The electronic device 102) receives an interface-specific token associated with the media content.

[0061] Regardless of the specific method used to update the UI-specific token, the updated UI-specific token can be used for subsequent playback of media content associated with the updated UI-specific token. Figure 8 An exemplary process 800 for playing media content after a token update, according to one or more specific implementations, is shown. This can be implemented, for example, in a device (e.g., Figure 1 The electronic device 102 has been implemented from the server (e.g., from one or more of servers 109, such as server 149) as described above. Figure 1 In the use case where the content service 106) obtains the updated interface-specific token, process 800 is executed. Figure 8 In the example, at box 802, process 800 includes receiving a user request at the device to play media content. In response to the request received at box 802, at box 804, an updated interface-specific token and a third request for access to the media content may be provided to the server. The request for access to the media content is referred to in this example as a "third" request to indicate that at least two previous requests for access to the media content have been provided, and that the original or initial interface-specific token was generated before the updated interface-specific token was generated (see example...). Figure 5 (Process 500). Figure 8 At box 806, process 800 includes receiving access to media content from the server in response to the server's verification of an updated interface-specific token.

[0062] Figure 9 An electronic system 900 is shown that can be used to implement one or more specific embodiments of the subject matter technology. The electronic system 900 may be... Figure 1 The electronic system 900 may include one or more of the following: electronic device 102, content service 106, media API service 112, or any other service and / or server that may implement some specific implementation of the processes according to this disclosure, and / or may be part of one or more of them. The electronic system 900 may include various types of computer-readable media and interfaces for various other types of computer-readable media. The electronic system 900 includes a bus 908, one or more processing units 912, system memory 904 (and / or cache), ROM 910, persistent storage device 902, input device interface 914, output device interface 906, and one or more network interfaces 916, or subsets and variations thereof.

[0063] Bus 908 generally represents the entire system bus, peripheral bus, and chipset bus that communicatively connect the numerous internal devices of electronic system 900. In one or more embodiments, bus 908 communicatively connects one or more processing units 912 to ROM 910, system memory 904, and permanent storage device 902. One or more processing units 912 retrieve instructions to be executed and data to be processed from these various memory units in order to perform the processes disclosed in this subject matter. In different embodiments, one or more processing units 912 may be a single processor or a multi-core processor.

[0064] ROM 910 stores static data and instructions required by one or more processing units 912 and other modules of electronic system 900. On the other hand, persistent storage device 902 can be a read-write memory device. Persistent storage device 902 can be a non-volatile memory cell that stores instructions and data even when electronic system 900 is powered off. In one or more embodiments, mass storage devices (such as magnetic disks or optical disks and their corresponding disk drives) can be used as persistent storage device 902.

[0065] In one or more embodiments, a removable storage device (such as a floppy disk, flash drive, and its corresponding disk drive) may be used as persistent storage device 902. Like persistent storage device 902, system memory 904 may be a read-write memory device. However, unlike persistent storage device 902, system memory 904 may be volatile read-write memory, such as random access memory. System memory 904 may store any instructions and data that one or more processing units 912 may need during operation. In one or more embodiments, the processes disclosed in this subject matter are stored in system memory 904, persistent storage device 902, and / or ROM 910. One or more processing units 912 retrieve instructions to be executed and data to be processed from these various memory units to execute the processes of one or more embodiments.

[0066] Bus 908 is also connected to input device interface 914 and output device interface 906. Input device interface 914 enables a user to transmit information and select commands to electronic system 900. Input devices that can be used with input device interface 914 may include, for example, an alphanumeric keypad and pointing devices (also known as "cursor control devices"). Output device interface 906 may, for example, enable the display of images generated by electronic system 900. Output devices that can be used with output device interface 906 may include, for example, printers and display devices such as liquid crystal displays (LCDs), light-emitting diode (LED) displays, organic light-emitting diode (OLED) displays, flexible displays, flat panel displays, solid-state displays, projectors, or any other device for outputting information. One or more embodiments may include devices that act as both input and output devices, such as touchscreens. In these embodiments, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, voice, or tactile input.

[0067] Finally, as Figure 9 As shown, bus 908 also couples electronic system 900 to one or more networks and / or to one or more servers, such as content service 106, via one or more network interfaces 916. Figure 1 In this manner, electronic system 900 may be part of a computer network (such as a LAN, wide area network (“WAN”), or intranet), or may be part of a network of networks (such as the Internet). As those skilled in the art will understand, any or all components of electronic system 900 may be used in conjunction with this disclosure, including Figure 9 Components not shown in the diagram.

[0068] As described herein, aspects of this subject matter may include collecting data from applications and transmitting it to other computing devices. This disclosure contemplates that, in some instances, the collected data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data may include demographic data, location-based data, media interaction data, online identifiers, telephone numbers, email addresses, voice data, audio data, home addresses, images, data or records related to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other personal information.

[0069] This disclosure recognizes that the use of such personal information data in the techniques of this invention can be beneficial to users. For example, personal information data can be used to provide access to media content through a reduced set of interfaces. Furthermore, this disclosure also contemplates other uses of personal information data that are beneficial to users. For example, health and fitness data can be used according to user preferences to provide insights into their overall health status, or it can be used as positive feedback to individuals using the technology to pursue health goals.

[0070] This disclosure assumes that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information data will comply with established privacy policies and / or privacy practices. Specifically, it is expected that such entities will implement and consistently apply privacy practices generally recognized as meeting or exceeding industry or governmental requirements for protecting user privacy. Such information regarding the use of personal data should be prominently displayed and easily accessible to the user, and should be updated as the collection and / or use of data changes. Users' personal information should be collected only for lawful use. Furthermore, such collection / sharing should only occur after receiving user consent or other lawful grounds provided for in applicable law. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data and ensure that others with access to personal information data comply with their privacy policies and processes. Additionally, such entities may be subject to third-party evaluations to demonstrate their compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be tailored to the specific types of personal information data collected and / or accessed, and made applicable to applicable laws and standards, including specific jurisdictional considerations that may be used to impose higher standards. For example, in the United States, the collection or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly.

[0071] Regardless of the foregoing, this disclosure also envisions specific implementations allowing users to selectively block the use or access to their personal information data. That is, this disclosure anticipates providing hardware and / or software components to prevent or block access to such personal information data. For example, regarding providing access to media content via a reduced set of interfaces, the inventive technology can be configured to allow users to opt-in or opt-out at any time during or after registration for the service. In addition to providing opt-in and opt-out options, this disclosure envisions providing notifications related to access to or use of personal information. For example, users may be notified when downloading an application that their personal information data will be accessed, and then reminded again just before the application accesses the personal information data.

[0072] Furthermore, the purpose of this disclosure is to manage and process personal information data to minimize the risk of unintentional or unauthorized access or use. Once data is no longer needed, this risk can be minimized by limiting data collection and deleting data. Additionally, and where applicable, including in certain health-related applications, data deidentification can be used to protect user privacy. Deidentification can be facilitated, where appropriate, by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data among users), and / or other methods such as differentiated privacy.

[0073] Therefore, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, it is also contemplated that various embodiments can be implemented without access to such personal information data. That is, various embodiments of the present invention will not be unable to function properly due to the absence of all or part of such personal information data.

[0074] According to various aspects of this disclosure, a method is provided comprising: providing a first request from a device to a server for media content, the first request including information indicative of a user interface of the device, the user interface being associated with the first request; in response to providing the first request, obtaining from the server an interface-specific token associated with the media content; providing the interface-specific token to the server in a second request for the media content; and receiving the media content from the server in response to verification of the interface-specific token by the server.

[0075] According to various aspects of this disclosure, a non-transitory machine-readable medium is provided that stores instructions, when executed by one or more processors, causing the one or more processors to perform operations including: providing a first request from a device to a server for media content, the first request including information indicating a user interface of the device associated with the first request; obtaining an interface-specific token associated with the media content from the server in response to providing the first request; providing the interface-specific token to the server in a second request for the media content; and receiving the media content from the server in response to verification of the interface-specific token by the server.

[0076] According to various aspects of this disclosure, an electronic device is provided, including a memory and one or more processors, wherein the one or more processors are configured to provide a first request from the device to a server for media content, the first request including information indicating a user interface of the device associated with the first request; in response to providing the first request, obtaining from the server an interface-specific token associated with the media content; providing the interface-specific token to the server in a second request for the media content; and receiving the media content from the server in response to verification of the interface-specific token by the server.

[0077] According to various aspects of this disclosure, a method is provided comprising receiving a voice request for media content from a user of a device at a voice user interface; and, in response to receiving the voice request, providing the first request to the server by providing the first request to the server via a virtual assistant server.

[0078] According to various aspects of this disclosure, a method is provided comprising receiving, at the device and after receiving the media content, a user request to play the media content; providing the server with the interface-specific token and a third request for access to the media content; and receiving the access to the media content from the server in response to the server's verification of the interface-specific token.

[0079] According to various aspects of this disclosure, a method is provided comprising providing a server with a request to update an interface-specific token from the device; and, in response to the server verifying the interface-specific token, receiving an updated interface-specific token generated by the server in response to the request, wherein the updated interface-specific token is associated with the media content.

[0080] According to various aspects of this disclosure, a method is provided comprising receiving, at the device, a user request to play media content; providing the server with the updated interface-specific token and a third request for access to the media content; and receiving the access to the media content from the server in response to the server's verification of the updated interface-specific token.

[0081] In some implementations, a method is provided that includes receiving an updated interface-specific token associated with the media content without requesting an updated interface-specific token associated with the media content from the server and in response to the server verifying the interface-specific token.

[0082] The embodiments within the scope of this disclosure may be implemented, in whole or in part, using a tangible computer-readable storage medium (or multiple tangible computer-readable storage media of one or more types) on which one or more instructions are written. The tangible computer-readable storage medium may also be substantially non-transitory.

[0083] Computer-readable storage media can be any storage medium that can be read, written, or otherwise accessed by general-purpose or special-purpose computing devices, including any processing electronics and / or processing circuits capable of executing instructions. For example, without limitation, computer-readable media can include any volatile semiconductor memory, such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. Computer-readable media can also include any non-volatile semiconductor memory, such as ROM, PROM, EPROM, EEPROM, NVRAM, flash memory, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, track memory, FJG, and Millipede memory.

[0084] Furthermore, computer-readable storage media may include any non-semiconductor memory, such as optical disc storage devices, magnetic disk storage devices, magnetic tape, other magnetic storage devices, or any other medium capable of storing one or more instructions. In one or more embodiments, the tangible computer-readable storage medium may be directly coupled to a computing device, while in other embodiments, the tangible computer-readable storage medium may be indirectly coupled to a computing device, for example, via one or more wired connections, one or more wireless connections, or any combination thereof.

[0085] Instructions can be directly executable or can be used to develop executable instructions. For example, instructions can be implemented as executable or non-executable machine code, or as high-level language instructions that can be compiled to produce executable or non-executable machine code. Furthermore, instructions can also be implemented as data, or may include data. Computer executable instructions can also be organized in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As those skilled in the art will recognize, details including, but not limited to, the number, structure, sequence, and organization of instructions can vary significantly without altering the underlying logic, functionality, processing, and output.

[0086] While the above discussion primarily concerns microprocessors or multi-core processors that execute software, one or more specific implementations are executed by one or more integrated circuits such as ASICs or FPGAs. In one or more specific implementations, such integrated circuits execute instructions stored on the circuit itself.

[0087] Those skilled in the art will recognize that the various exemplary blocks, modules, elements, components, methods, and algorithms described herein can be implemented as electronic hardware, computer software, or a combination of both. To illustrate this interchangeability between hardware and software, the various exemplary blocks, modules, elements, components, methods, and algorithms have been generally described above in terms of functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art can implement the described functionality in different ways for each specific application. Various components and blocks can be arranged differently (e.g., in different orders or divided in different ways) without departing from the scope of the subject matter.

[0088] It should be understood that the specific order or hierarchical structure of the blocks in the process disclosed in this invention is an example of an exemplary method. Based on design preferences, it should be understood that the specific order or hierarchical structure of the blocks in the process may be rearranged or all illustrated blocks may be executed. Any block within these blocks may be executed simultaneously. In one or more embodiments, multitasking and parallel processing may be advantageous. Furthermore, the division of various system components in the above embodiments should not be construed as requiring such division in all embodiments, and it should be understood that program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0089] As used in this specification and any claim of this patent application, the terms "base station," "receiver," "computer," "server," "processor," and "memory" refer to electronic devices or other technical devices. These terms exclude persons or groups of persons. For the purposes of this specification, the terms "display" or "being displayed" mean displaying on an electronic device.

[0090] As used herein, the phrase "at least one of" following a series of items separated by the terms "and" or "or" modifies the list as a whole, not each member of the list (i.e., each item). The phrase "at least one of" does not require selection of at least one of each of the listed items; rather, it allows for the inclusion of at least one of any one item and / or at least one of any combination of items and / or at least one of each item. For example, the phrases "at least one of A, B, and C" or "at least one of A, B, or C" respectively refer to only A, only B, or only C; any combination of A, B, and C; and / or at least one of each of A, B, and C.

[0091] The predicates “configured to,” “operable to,” and “programmed to” do not imply any specific tangible or intangible modification to a particular subject but are intended to be used interchangeably. In one or more embodiments, a processor configured to monitor and control operations or components may also mean that the processor is programmed to monitor and control operations or that the processor is operable to monitor and control operations. Similarly, a processor configured to execute code may be interpreted as a processor programmed to execute code or operable to execute code.

[0092] Phrases such as aspect, that aspect, on the other hand, some aspects, one or more aspects, implementation, that implementation, another implementation, some implementations, one or more implementations, configuration, that configuration, another configuration, some configurations, one or more configurations, subject matter, disclosure, this disclosure, other variations, etc., are for convenience only and do not imply that disclosures involving such phrases are essential to the subject matter, or that such disclosures apply to all configurations of the subject matter. Disclosures involving one or more such phrases may apply to all configurations or one or more configurations. Disclosures involving one or more such phrases may provide one or more examples. Phrases such as aspect or some aspects may refer to one or more aspects, and this applies similarly to other foregoing phrases.

[0093] The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” or “example” is not necessarily to be construed as preferred or superior to other specific embodiments. Furthermore, the terms “comprising,” “having,” etc., as used in the specification or claims, are intended to be inclusive, similar to how “comprising” is interpreted when used as a transitional word in the claims.

[0094] All structural and functional equivalents of elements throughout the various aspects described herein that are known or later become apparent to those skilled in the art are expressly incorporated herein by reference and are intended to be covered by the claims. Furthermore, nothing disclosed herein is intended to be made public, regardless of whether such disclosure is expressly stated in the claims. No claim element should be interpreted in accordance with 35 U.S.SC §112(f) unless the element is expressly stated using the phrase “means for…” or, in the case of a method claim, using the phrase “step for…”.

[0095] The preceding descriptions are provided to enable those skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. Therefore, this claim is not intended to be limited to the aspects shown herein, but rather to be consistent with the language of the claim, wherein references to elements in singular values ​​are not intended to mean “only one,” but rather “one or more,” unless specifically indicated. Unless otherwise specifically stated, the term “some” means one or more. Male pronouns (e.g., his) include female and neutral (e.g., her and its), and vice versa. Titles and subtitles (if any) are used for convenience only and do not limit the disclosure of this subject matter.

Claims

1. A method for receiving media content from a device associated with a user account, the user account being associated with a lightweight subscription tier of a media service, the method comprising: The device provides a first request for the media content to the server, the first request including information indicating a software user interface among a plurality of software user interfaces of the device and authentication information for the user account, the software user interface being associated with the first request; In response to providing the first request, an interface-specific token associated with the media content is obtained from the server, the interface-specific token being specific to the software user interface indicated by the information included in the first request; In a second request for the media content, the interface-specific token is provided to the server; as well as In response to the server's verification of the interface-specific token, the media content is received from the server.

2. The method of claim 1, wherein the interface-specific token is specific to the media content.

3. The method of claim 1, wherein the software user interface is the voice user interface of the device, the method comprising: The user receives voice requests for the media content from the user of the device at the voice user interface. as well as In response to receiving the voice request, the first request is provided to the server by providing the first request to the server via the virtual assistant server.

4. The method of claim 1, wherein the software user interface is a recommended content interface, and wherein providing the first request to the server includes receiving user input via the recommended content interface at the device.

5. The method of claim 1, wherein the first request includes authentication information for a user account for the server to determine whether the device is associated with a subscription.

6. The method of claim 5, wherein the interface-specific token is obtained if the server determines that the device is associated with the subscription and not with another subscription.

7. The method according to claim 1, further comprising: The device receives a user request to play the media content after receiving the media content. Provide the server with the interface-specific token and a third request to access the media content; as well as In response to the server's verification of the interface-specific token, access to the media content is received from the server.

8. The method of claim 1, wherein the interface-specific token includes a prefix and a signature, and wherein the signature includes a unique identifier associated with the media content and a unique identifier associated with the user of the device.

9. The method according to claim 1, wherein the media content includes songs.

10. The method of claim 1, wherein the media content comprises at least two pieces of the media content, and wherein obtaining the interface-specific token associated with the media content comprises: Obtain a corresponding interface-specific token for each of the predetermined number of media contents in the at least two media contents.

11. The method of claim 1, further comprising: The device sends a request to the server to update the interface-specific token; as well as In response to the request and server verification of the interface-specific token, receive an updated interface-specific token generated by the server in response to the request, wherein the updated interface-specific token is associated with the media content.

12. The method of claim 11, comprising: The device receives a user request to play the media content. Provide the server with the updated interface-specific token and a third request to access the media content; as well as In response to the server's verification of the updated interface-specific token, access to the media content is received from the server.

13. The method according to claim 1, further comprising: Without requesting an interface-specific token associated with the updated media content from the server, the server receives the interface-specific token associated with the updated media content in response to verifying the interface-specific token.

14. A non-transitory machine-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: A first request for media content is made from a device associated with a user account to a server, the user account being associated with a lightweight subscription tier of a media service. The first request includes information indicating a software user interface among a plurality of software user interfaces on the device and authentication information for the user account, the software user interface being associated with the first request. In response to providing the first request, an interface-specific token associated with the media content is obtained from the server, the interface-specific token being specific to the software user interface indicated by the information included in the first request; In a second request for the media content, the interface-specific token is provided to the server; as well as In response to the server's verification of the interface-specific token, the media content is received from the server.

15. The non-transitory machine-readable medium of claim 14, wherein the interface-specific token is specific to the media content.

16. The non-transitory machine-readable medium of claim 14, wherein the software user interface is a recommended content interface, and wherein providing the first request to the server includes receiving user input via the recommended content interface at the device.

17. The non-transitory machine-readable medium of claim 14, wherein the software user interface is a voice user interface of the device, and wherein the operation further comprises: The user receives voice requests for the media content from the user of the device at the voice user interface. as well as In response to receiving the voice request, the first request is provided to the server by providing the first request to the server via the virtual assistant server.

18. An electronic device associated with a user account, the user account being associated with a streamlined subscription tier of a media service, the electronic device comprising: Memory; and One or more processors, said one or more processors being configured to: A first request for media content is provided to a server, the first request including information indicating a software user interface among a plurality of software user interfaces of the electronic device and authentication information for the user account, the software user interface being associated with the first request; In response to providing the first request, an interface-specific token associated with the media content is obtained from the server, the interface-specific token being specific to the software user interface indicated by the information included in the first request; In a second request for the media content, the interface-specific token is provided to the server; as well as In response to the server's verification of the interface-specific token, the media content is received from the server.

19. The electronic device of claim 18, wherein the software user interface is a recommended content interface, and wherein providing the first request to the server includes receiving user input via the recommended content interface at the electronic device.

20. The electronic device of claim 18, wherein the software user interface is a voice user interface of the electronic device, and wherein the one or more processors are further configured to: The user receives voice requests for media content from the user of the electronic device at the voice user interface. The first request is generated from the voice request; as well as In response to receiving the voice request, the first request is provided to the server by providing the first request to the server via the virtual assistant server.

Citation Information

Patent Citations

  • Token-based authentication and authorization information signaling and exchange for adaptive streaming

    CN106797563A

  • Managing access to media accounts

    CN108334790A