CN104081405B - 具有多设备安全应用程序集成的内容提供器 - Google Patents

具有多设备安全应用程序集成的内容提供器 Download PDF

Info

Publication number
CN104081405B
CN104081405B CN201280068199.0A CN201280068199A CN104081405B CN 104081405 B CN104081405 B CN 104081405B CN 201280068199 A CN201280068199 A CN 201280068199A CN 104081405 B CN104081405 B CN 104081405B
Authority
CN
China
Prior art keywords
application program
content
supplement
access
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280068199.0A
Other languages
English (en)
Other versions
CN104081405A (zh
Inventor
M·R·阿雷里德
M·G·奥伦法尔克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spotify AB
Original Assignee
Spotify AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spotify AB filed Critical Spotify AB
Publication of CN104081405A publication Critical patent/CN104081405A/zh
Application granted granted Critical
Publication of CN104081405B publication Critical patent/CN104081405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Abstract

本发明公开了用于提供对内容访问的方法和系统。方法至少部分地在具有处理器和存储器的客户端计算机系统上被执行。方法包括执行与第一方相关联的主应用程序。在一些实施例中,主应用程序是媒体播放器。方法还包括启动在主应用程序和与第一方相关联的服务器之间的安全通信信道。方法还包括,执行与第二方相关联的补充应用程序。方法还包括使用补充应用程序访问被许可给第一方的内容,其中补充应用程序能够经由安全通信信道按照许可协议的条款访问被许可的内容。在一些实施例中,内容是媒体内容,例如音乐、电影等。

Description

具有多设备安全应用程序集成的内容提供器
技术领域
所公开的实施例一般地涉及控制和回放媒体内容。
背景技术
为了满足诸如音乐、电影等数字内容的所有者和制作者的要求,数字内容的分发要求许多商业和技术防护措施。由于担心应用程序会非法复制、显示或分发受保护的内容,数字内容提供者(provider)常常必须采取措施阻止这些未获授权的计算机程序访问它们的内容。此外,合法的内容提供者常常从所有者和/或制作者(例如,艺术家、唱片公司、电影工作室等)获得内容许可,许可条款通常要求采用足够的防护措施,以保护被许可的内容免遭盗版。因此,这种内容的分发商常常使用数字版权管理(“DRM”)工具来阻止复制和记录他们的内容。但DRM技术和内容提供者与内容所有者/制作者之间严格的许可条款常常阻碍合法的内容提供者提供对其内容目录的快速、便利和广泛的访问。在此公开的思想有助于缓解这些问题,并且允许合法的内容提供者扩展他们向用户和第三方提供被许可的数字内容的方式。
发明内容
一些实施例提供用于提供对内容的访问的计算机实现的方法。方法至少部分地在具有处理器和存储器的客户端计算机系统上被执行。方法包括执行与第一方相关联的主应用程序(host application)。方法包括启动在主应用程序和与第一方相关联的服务器之间的安全通信信道。方法还包括执行与第二方相关联的补充应用程序。方法还包括使用补充应用程序访问被许可给第一方的内容,其中补充应用程序能够按照许可协议的条款经由安全通信信道访问被许可的内容。
在一些实施例中,补充应用程序扩展主应用程序的功能。在一些实施例中,补充应用程序是主应用程序的插件程序。在一些应用程序中,主应用程序是媒体播放器应用程序。在一些实施例中,第一方批准补充应用程序与主应用程序一起使用。在一些实施例中,服务器是第二客户端计算机系统。
在一些实施例中,被许可的内容包括多个音频文件。在一些实施例中,访问被许可的内容包括经由补充应用程序提供的可供功能(affordance)启动多个音频文件中的一个的回放。在一些实施例中,访问被许可的内容还包括将音频文件从服务器流传输到客户端计算机系统。
在一些实施例中,被许可的内容包括多个视频文件。在一些实施例中,访问被许可的内容包括经由补充应用程序提供的可供功能启动多个视频文件中的一个的回放。在一些实施例中,访问被许可的内容还包括将视频文件从服务器流传输到客户端计算机系统。
在一些实施例中,补充应用程序经由主应用程序的一个或多个应用程序编程接口访问主应用程序和第一方中的一个和两者的服务。
在一些实施例中,与主应用程序分开执行的应用程序不能够获得被许可的内容。在一些实施例中,与主应用程序分开执行的应用程序不能够访问安全通信信道。在一些实施例中,主应用程序在操作系统内被执行。在一些实施例中,补充应用程序仅能与主应用程序联合执行。在一些实施例中,许可协议不允许通过在客户端计算机系统上与主应用程序分开执行的应用程序访问被许可的内容。
在一些实施例中,安全通信信道使用安全超级文本传输协议(HTTPS)。在一些实施例中,安全通信信道使用加密通信。在一些实施例中,启动安全通信信道包括对服务器认证。
一些实施例提供用于提供对内容的访问的计算机实现的方法。方法至少部分地在具有处理器和存储器的客户端计算机系统上被执行。方法包括执行主应用程序。方法还包括执行补充应用程序。方法还包括使用补充应用程序访问按照主应用程序的提供者和一个或多个内容所有者之间的许可协议的内容,其中补充应用程序可以按照许可协议的条款访问被许可的内容。
一些实施例提供用于处理应用程序许可的计算机实现的方法。方法至少部分地在具有处理器和存储器的客户端计算机系统上被执行。方法包括执行主应用程序。方法还包括从用户接收使用补充应用程序的请求。方法还包括使用第一套准许(permission)将补充应用程序与主应用程序联合执行。方法还包括检测用户已经批准补充应用程序。方法还包括,响应于该检测,将第二套准许与补充应用程序相关联并且使用第二套准许执行补充应用程序。在一些实施例中,方法还包括将补充应用程序安装作为主应用程序的插件程序。
在一些实施例中,第一套准许授权补充应用程序只读地访问与用户的账号相关联的数据。在一些实施例中,第一套准许授予补充应用程序读取与用户的账号相关联的播放列表与内容历史数据的准许。
在一些实施例中,第二套准许授权补充应用程序读/写访问与用户的账号相关联的数据。在一些实施例中,第二套准许授予补充应用程序创建和修改与用户的账号相关联的播放列表的准许。
在一些实施例中,方法还包括更新与用户相关联的账号信息以指示用户已经在第一客户端计算机上安装补充应用程序。在一些实施例中,方法还包括更新与用户相关联的账号信息以指示待应用于补充应用程序的准许。
在一些实施例中,方法还包括在第二客户端计算机系统上执行以下步骤。执行第二主应用程序。根据与用户相关联的账号信息,确定补充应用程序已经被安装在第一客户端计算机上,以及待应用于补充应用程序的准许。在第二客户端计算机上安装补充应用程序。使用所确定的准许执行补充应用程序。
一些实施例提供用于批准对资源访问的计算机实现的方法。方法至少部分地在具有处理器和存储器的客户端计算机系统上被执行。方法包括接收用于与主应用程序联合执行的补充应用程序,其中主应用程序提供对按照主应用程序的提供者与内容项目的所有者之间的许可协议的被许可的内容项目的访问。方法还包括接收与补充应用程序相关联的认证文件。方法还包括检测访问与主应用程序相关联的资源的请求。方法还包括使用认证文件确定是否补充应用程序被批准访问该资源。方法还包括,如果补充应用程序被批准访问该资源,则提供对该资源的访问;如果补充应用程序未被批准访问该资源,则不提供对该资源的访问。
在一些实施例中,访问资源的请求源于补充应用程序。在一些实施例中,访问资源的请求是访问被许可的内容项目中的至少一个的请求。在一些实施例中,该被许可的内容项目中的至少一个被存储在远离客户端计算机系统的服务器上。在一些实施例中,访问资源的请求是访问主应用程序的应用程序编程接口的请求。在一些实施例中,认证文件是被加密的。在一些实施例中,认证文件是被加密签名的。
根据一些实施例,提供一种计算机可读存储介质(例如,非暂态计算机可读存储介质),计算机可读存储介质存储用于通过一个或多个电子设备的处理器执行的一个或多个程序,该一个或多个程序包括用于执行在此描述的任何方法的指令。
根据一些实施例,提供一种电子设备,其包括用于执行在此描述的任何方法的装置。
根据一些实施例,提供一种电子设备,其包括被配置以执行在此描述的任何方法的处理单元。
根据一些实施例,提供一种电子设备,其包括一个或多个处理器和存储器,存储器存储用于通过一个或多个处理器执行的一个或多个程序,一个或多个程序包括用于执行在此描述的任何方法的指令。
根据一些实施例,提供电子设备中使用的一种信息处理仪器,该信息处理仪器包括用于执行在此描述的任何方法的装置。
附图说明
在附图各个图中以示例方式而非限制方式示出在此公开的实施例。在全部附图中,相同的附图标记表示相对应的元件。
图1是图示根据一些实施例的服务器客户端环境的框图。
图2是图示根据一些实施例的用于提供对内容的访问的方法的流程图。
图3A-3B是图示根据一些实施例的用于处理应用程序准许的方法的流程图。
图4是图示根据一些实施例的用于批准对资源的访问的方法的流程图。
图5是图示根据一些实施例的客户端计算机系统的框图。
图6-7是图示根据一些实施例的服务器计算机系统的框图。
具体实施方式
使用电子设备的媒体消费正变得越来越普遍。用户正越来越多地在诸如膝上型计算机、平板计算机、mp3和其它数字媒体播放器、移动电话等的设备上消费音乐、电影、电视节目、播客等。可以通过各种不同的方式将媒体内容传递到这些设备。例如,许多广播提供者(例如,无线电台、电视网络)提供经由因特网对他们的广播节目的访问。用户可以浏览到与这些提供者相关联的网页(或使用专用软件和/或硬件)以实时地访问内容。在另一种内容分发模型中,用户可以从在线市场购买媒体内容项目,根据他们的意愿存储该内容项目足够长久。例如,用户可以向第三方支付换取直接下载音频曲目、电影、音频书籍等到他的计算机中。在这些情况下,内容项目可通过各种计算机应用程序可播放的或者以其它方式访问,这些计算机应用程序甚至与内容项目的销售者不相关或者不由内容项目的销售者提供。例如,一旦一首歌曲被下载到计算机,该歌曲就可以在该计算机上播放,或者传送到另一设备(例如,智能电话、另一计算机等)。这些内容分发方法在许多方面类似于广播媒体和实体市场的更传统的内容分发渠道。
另一种内容分发模型对于内容目录提供根据需求的访问,而非基于每个内容项目向用户收费。可以收费(例如,换取对整个内容目录访问的订阅费)、免费(例如,由广告收益或其它收益源支持)或者二者的结合(例如,通过其他人对无限制的服务付费来支持有限制的免费服务的情况)来提供这样的服务。然而,这些类型的分发模型难以实施,因为需要花费大量的时间、精力和金钱来协商内容提供者和内容所有者以及制作者(例如,艺术家、唱片公司、电影工作室、电视网络等)之间必要的许可协议。具体地,因为用户不是根据项目支付,特许使用费有点非传统。此外,这些特许协议通常要求待保护的内容免于未被批准的访问和复制。这通常通过使用数字版权管理(“DRM”)技术来实现,该技术阻止未被批准的用户、应用程序和/或设备访问该内容。例如,音乐内容的提供者可以提供专门的媒体浏览器和/或播放器应用程序,用户使用该媒体浏览器和/或播放器应用程序可以浏览和听音乐内容,以及创建播放列表,与朋友分享音乐建议等。(可以提供类似的应用程序用于浏览、展示其它内容,例如音频(例如,播客、音乐、语言、电台节目等),视频(例如,电影,电视节目,用户生成的视频,动画等),图像,或这些内容类型的各种组合)。由于该内容仅能通过内容提供者提供的特定应用程序访问,因此能够阻止或至少阻碍该内容的非法复制和分发。
但是,限制对内容的访问可能导致用户能够与内容互动和消费内容的方式受限制。具体地,内容提供者可能没有能力或意愿在其应用程序中包含在消费内容时可以增强用户体验的全部的不同、独特和有趣的特征和功能。为了满足内容许可协议的条款,同时也向用户提供全面而独特的特征和功能,本申请描述充当用于补充应用程序的平台的主应用程序。补充应用程序可以扩展和/或补充主应用程序已经提供的特征和功能。主应用程序的一个示例是媒体播放器/浏览器,它们允许用户浏览和回放音乐,以及制作、编辑和分享播放列表。补充应用程序可以在主应用程序上和/或与主应用程序联合执行以提供其他特征,例如显示主应用程序正在回放的歌曲的歌词,提供音乐推荐,实现播放列表的协作管控(curation),实现对其它信息(例如,关于正在展示的曲目的艺术家的信息)的访问和展示等等。当然,如以下所讨论,也考虑其它补充应用程序和主应用程序。
在一些实施例中,由内容提供者创建和/或提供主应用程序,而由任何实体(包括内容提供者或其他实体)创建和/或提供补充应用程序。这种安排的一个好处是内容提供者—其被允许借助于与内容创建者的许可协议提供对媒体内容的访问—可以支持其他开发者的创造力和独创性以向其用户提供新颖而令人激动的用户体验。反过来,开发者可以访问他们原本不能访问的观众和内容目录。例如,以提供音乐报道和评论而著名的杂志可以开发一种补充应用程序,该补充应用程序提供该杂志创建和/推荐的播放列表。然后用户可以选择这些列表用于通过主应用程序展示。因此,在主应用程序便利对被许可的内容的访问的同时(并且提供媒体展示功能,例如音频/视频回放接口、控制等),补充应用程序提供内容提供者原本可能不提供的附加的用户功能和特征。此外,补充应用程序的开发者能够接触到他们原本可能接触不到的观众,并且他们可以经由主应用程序提供他们可能原本不能提供的对内容的访问。虽然以上示例将推荐播放列表描述为主应用程序的扩展功能,但还可能有许多其他的特征和功能。例如,一些应用程序可以提供关于当前演示的媒体项目的信息,例如封套上的说明(liner notes)、评论、歌词、乐队/艺术家/演员简介、巡演日期、照片幻灯等等。一些应用程序可以提供不同方式启动媒体内容的演示,例如,通过提供包括媒体回放控制的报道、评论和/或推荐以启动所述媒体内容的展示。其它应用程序可以通知用户当前播放的艺术家(或相似艺术家)即将到来的音乐会,甚至允许用户经由补充和/或主应用程序购买音乐会的门票。而其它应用程序可以允许用户购买当前播放的艺术家(或其他相似或推荐的艺术家)的CD或数字媒体。
提供补充应用程序可以访问大量的被许可的内容的平台具有多种好处,如果每个补充应用程序提供者试图独立地提供他们的应用程序,则这些好处难以或不可能实现。例如,主应用程序的提供者允许补充应用程序访问大量的被许可的媒体内容,而每个单个的应用程序提供者与内容所有者协商以访问相同内容会是困难而代价昂贵的。因此,消费者将被剥夺了解媒体内容、消费媒体内容以及与媒体内容互动的新的有趣的方式。但是,因为在平台(例如,主应用程序)的提供者和内容所有者之间已经有许可协议,并且因为该内容最终被主应用程序所访问,补充应用程序可以访问被许可的内容,而无需来自内容所有者的附加的许可证。
此外,主应用程序为用户提供一个访问和消费媒体内容的良好的环境。因此,用户将能够使用单个主应用程序(具有常见的回放控制、社交媒体分享选项、媒体管理特征、播放列表创建/管理选项等)而同时获得补充应用程序所提供的(或者通过补充应用程序能够访问到的)特征和/或内容的好处。
现将注意力转向附图,特别是附图1,它是根据一些实施例的客户端-服务器环境100的框图。客户端-服务器环境100包括客户端计算机102,内容服务器104,以及补充应用程序服务器(106-1.。。。106-n),它们通过网络108连接。在一些实施例中,补充应用程序服务器106-n通过一个或多个其它计算机,例如内容服务器104,连接到网络108。
在一些实施例中,内容服务器104与内容提供者105相关联。(在一些实施例中,一个或多个补充应用程序服务器106-n还与内容提供者105相关联)。在一些实施例中,内容提供者105提供对媒体内容项目的目录的访问,例如音乐、电影、电视节目、视频等。如上所述,在一些实施例中,内容提供者105提供的一些内容至少受内容提供者105与媒体内容所有者和/或创建者107之间的一个或多个许可协议的约束。在一些实施例中,内容服务器104还提供和/或促进对补充应用程序的访问,如下文所述。
在一些实施例中,补充应用程序服务器106-n与一个或多个第三方相关联,并且提供对补充应用程序104-n的访问,其如下文所述。在一些实施例中,补充应用程序可以被从补充应用程序服务器106-n下载到客户端计算机系统102。在一些实施例中,他们被提供给内容服务器104用于分发。在一些实施例中,第三方是不同于内容提供者105的实体。例如,内容提供者105可以是提供对于数字音乐的访问(以及允许访问数字音乐的硬件和/或软件工具)的商业实体,补充应用程序服务器106-n可以和与内容提供者105(例如,个人或一群人)分开的其它商业(包括任何商业,范围从音乐会促销商到软饮料制造商)或非商业实体相关联。
客户端计算机102包括主应用程序112和补充应用程序(114-1······114-n)。在一些实施例中,客户端计算机102是以下集合中的一个:个人计算机、移动电子设备、膝上型计算机、平板计算机、移动电话、数字媒体播放器或者能够展示媒体内容的任何其他电子设备。
通常,应用程序可以被理解为计算机软件(例如,由一个或多个计算机程序组成),该计算机软件被设计用于帮助用户执行一定的任务。应用程序可以包括可以被计算机的处理器执行的指令,以及可以用源代码(即以人类可读的编程语言)和/或目标代码(即计算机可读的二进制代码)实例化。应用程序的一些示例包括字处理应用程序、游戏、媒体播放器/浏览器、图像查看器、图像/照片编辑器、播放列表管理器等。在许多情况下,应用程序区别于操作系统,操作系统控制、管理和安排对计算机硬件资源(包括存储器、处理器、硬盘和/或外设等)的访问。应用程序可以和操作系统联合执行,并且可以和操作系统编程地互动。例如,操作系统可以提供应用程序可以使用的编程接口(例如,应用程序编程接口或API)以访问诸如输入输出设备(包括扬声器、键盘、显示器等)、存储设备等的硬件资源或访问操作系统提供的其它处理、算法、例行程序或程序。在一些实施例中,应用程序被编程为它们必须在操作系统中被执行以运行。
在一些实施例中,主应用程序112是媒体播放器/浏览器。在一些实施例中,主应用程序软件完全或部分地驻留在客户端计算机102上。例如,用户可以在客户端计算机102上安装媒体播放器/浏览器(例如,主应用程序112)作为典型的计算机应用程序(例如,在用于该应用程序的可执行代码被存储在计算机的存储器(例如,硬盘驱动器)的情况下)。在一些实施例中,主应用程序112是完全或部分基于网络的应用程序(web-based application)。例如,从网络浏览器(或能够访问和/或执行基于网络的应用程序的任何其它应用程序或操作系统)可以访问基于网络的媒体播放器/浏览器应用程序。在一些实施例中,基于网络的应用程序的一些或全部可执行代码被存储或高速缓存在远离客户端计算机102的计算机和/或服务器(例如,内容服务器104)上。可以通过将适当的计算机程序(例如,网络浏览器、操作系统等)导航到可以找到该应用程序的地址(例如,通过提供统一资源标识符(“URI”))来访问基于网络的应用程序。然后一个或多个计算机(例如,包括内容服务器104、客户端计算机102和/或它们或其他计算机/设备的任何组合)执行该基于网络的应用程序。在一些实施例中,在此描述的主应用程序112的操作同样或类似地应用于基于客户端的主应用程序和基于网络的主应用程序。
补充应用程序114-n被配置为扩展和/或补充主应用程序的功能。例如,补充应用程序114-n可以提供对附加内容或信息(和/或受管理的或受管控的内容)的访问,提供不同方式的与从内容服务器104可获得的内容的互动等。补充应用程序114-n可以理解为被设计用来与主应用程序112联合操作的计算机软件(例如,由一个或多个计算机程序组成)。在一些实施例中,补充应用程序114-n是或包括被配置为安装在主应用程序112中或与主应用程序112联合执行的代码模块(例如,源代码、目标代码等)。在一些实施例中,补充应用程序114-n是主应用程序112的插件程序或附加软件。
在一些实施例中,补充应用程序114-n仅能与主应用程序112联合被执行。在此情况下,补充应用程序114-n被编程地连接到主应用程序112,使得只有在客户端计算机102上安装和/或运行主应用程序112才能执行它们。例如,组成补充应用程序114-n的代码可以引用、调用或依赖于主应用程序112提供的进程、资源和/或API。在一些实施例中,在补充应用程序114-n与主应用程序112被联合执行前,它们必须被认证。因此,可以阻止或限制恶意应用程序或程序对主应用程序112的资源和/或服务的访问。在一些实施例中,通过认证标志(例如,加密签名文件)提供对补充应用程序114-n的认证,该认证标志允许主应用程序112验证补充应用程序114-n经过了正确认证。在此描述与补充应用程序的认证相关的附加细节。
在一些实施例中,补充应用程序是或包括统一资源标识符(“URI”)(例如,统一资源定位符(“URL”)、IP地址等)。在此情况下,组成补充应用程序的程序(例如,计算机代码)可以存储在与URI(例如,补充应用程序服务器106-n)相关联的远程设备上,并且可以被完全或部分地下载到客户端计算机102用于与主应用程序112联合执行。在一些实施例中,可以在远程设备上执行该程序或该程序的一部分。因此,同主应用程序112一样,补充应用程序114-n可以安装在客户端计算机102(例如,存储在硬驱动器上)上并由客户端计算机102执行,或者可以完全或部分地在远程计算机(例如,下文提到的补充应用程序服务器106-n)上存储和执行。所述补充应用程序114-n可以用在以下实施例中:主应用程序112是基于客户端(例如,程序由客户端计算机102存储和/或执行)或者基于网络(例如,程序至少部分地在远程计算机上存储和/或执行)。在此说明补充应用程序114-n的一些具体示例。
在一些实施例中,通过补充应用程序服务器(106-1···106-n)提供补充应用程序114-n。如上所述,补充应用程序服务器106-n可以与开发和/或提供与主应用程序112一起使用的补充应用程序114-n的商业实体或个人相关联。如上所述,在一些实施例中,补充应用程序114-n从补充应用程序服务器106-n下载到客户端计算机102以和主应用程序112一起使用。然而,补充应用程序不需要受控于补充应用程序服务器106-n或与补充应用程序服务器106-n通信或依赖于应用程序服务器106-n。例如,不隶属于任何特定商业实体并且不控制补充应用程序服务器106-n的应用程序开发者可以向内容提供者105提供补充应用程序,因此,内容提供者105可以使补充应用程序为客户端计算机102所访问。
在一些实施例中,当客户端计算机102执行补充应用程序时,补充应用程序114-n使用和/或访问存储在补充应用程序服务器106-n处的信息。例如,补充应用程序114-n可以显示主应用程序112回放(并且由内容服务器104提供)的歌曲的歌词。在此示例中,补充应用程序服务器106-n可以存储和提供歌词给补充应用程序114-n。为了简化,补充应用程序114-n被描述为访问来自与下载补充应用程序114-n的服务器相同的服务器的信息(例如,歌词、内容评论、播放列表等)。然而,并非总是如此,补充应用程序114-n也可以从其它来源访问信息。例如,与维基百科不相关的应用程序开发者可以提供显示用户正在聆听的乐队的公开可访问的维基百科页面的补充应用程序。在此情况下,补充应用程序可以访问与维基百科相关联的服务器以在主应用程序112内向用户展示。
在一些实施例中,补充应用程序114-n必须由内容提供者105(例如,与内容服务器104相关联的商业实体)批准以便主应用程序112允许它们在客户端计算机102上被安装和/或执行,或者允许它们访问主应用程序112和/或内容服务器104的资源。在一些实施例中,批准处理包括向内容提供者105提供应用程序,并且一旦批准补充应用程序就从内容提供者接收加密签名的认证文件(也称作“数字签名”)。然后,加密签名的认证文件可以被包括作为补充应用程序114-n的一部分。主应用程序112被配置为使用数字签名以确保请求访问主应用程序112的资源和/或来自内容服务器104的被许可的内容的任何补充应用程序被适当地批准来进行上述访问请求。在一些实施例中,主应用程序112使用数字签名来确定补充应用程序实际上已被内容提供者105批准并且确保在其被批准后补充应用程序还未被改变。这种措施有助于阻止对被许可的内容的盗版(或者其他未被批准的访问主应用程序112和/或内容服务器104),因为主应用程序112将不会安装或执行任何未被批准或掺假的应用程序。根据内容提供者105与内容所有者107之间的许可协议的条款,可能要求对被许可的内容访问进行限制(或者至少确保全部访问受主应用程序112或内容提供者105的控制)的上述或其它类似的措施。
如上所述,为确保未被批准的应用程序不能从内容服务器104访问内容,对补充应用程序114-n认证是重要的。这种认证技术还可以用于帮助内容服务器104识别补充应用程序114-n,使得内容服务器104能够识别与补充应用程序114-n相关的内容访问许可(或其他类型的许可)。例如,补充应用程序114-n可以请求访问仅通过特定补充应用程序114-n才可以访问的内容项目。内容服务器104可以使用提出请求的补充应用程序114-n的数字签名来确定是否该应用程序被批准访问该曲目。一个示例性的使用情况是实体(例如,商业、个人、贸易集团等)经由该实体的补充应用程序主动提供对未发行的音乐曲目的访问(该应用程序转而展出广告、提供品牌宣传或者另外地为该实体提供一些经济或其他利益)。首先,实体可以获得访问来自内容提供者105和/或内容所有者107的内容的权利。然后内容提供者105给予补充应用程序访问未发行的曲目的访问权利。当内容提供者105从客户端计算机102接收到对未发行的曲目的请求时,内容服务器104使用数字签名验证是否提出请求的补充应用程序实际上被批准访问该曲目,并且酌情允许或拒绝该访问。
返回到图1,主应用程序112被配置为与使用安全和加密通信信道110的内容服务器104通信。使用安全和加密通信信道有助于通过阻止对数据传送的窃听和通过确保内容服务器104仅向被批准的客户端计算机(或相反方向)传送来确保从内容服务器104向客户端计算机102传送被许可的内容的安全性。与加密签名的认证文件相似,这些措施也有助于阻止对被许可的内容的未被批准的访问和盗版,并且这可能被内容提供者105与内容所有者107之间的许可协议的条款所要求。在一些实施例中,安全和加密通信信道110(也称作“通信信道110”)在主应用程序112和内容服务器104之间使用安全超文本传输协议(HTTPS)的通信协议。在一些实施例中,在通信信道110上使用其他通信协议和加密技术。
在一些实施例中,主应用程序控制通信信道110使得在内容服务器104与客户端计算机102之间仅发送被批准的通信。例如,主应用程序112将不允许运行在客户端计算机102上的其它应用程序(例如,在客户端计算机的操作系统内但在主应用程序112外执行的其它应用程序)访问通信信道110。此外,主应用程序112将不允许未被批准的或掺假的补充应用程序114-n被安装在主应用程序112中和/或被主应用程序112执行,或者将以其它方式阻止它们经由通信信道110与内容服务器104通信。
在此描述的应用程序平台可以支持可以扩展主应用程序112的功能的各种补充应用程序,并且能够产生用户与内容互动或用户消费内容时新颖有趣的方式。但是,在可以获得许多不同的补充应用程序的情况下,可能导致用户在不同补充应用程序之间的困惑和/或不利的干扰。例如,补充应用程序可能能够对主应用程序112和/或用户的媒体信息修改,例如,通过修改、创建或删除用户在主应用程序112中创建的播放列表,改变回放设置、发帖到社交网络等。在一些实施例中,在此描述的应用程序平台使用分层的准许(permission)结构以使得用户能够预览(preview)补充应用程序而不必提供补充应用程序可能要求的全部准许。
在一些实施例中,分层的准许结构允许用户选择与主应用程序112一起使用的补充应用程序114-n,但仅提供具有第一套准许的补充应用程序114-n。在一些实施例中,第一套准许少于补充应用程序114-n需要来使能它所有的功能和/或特征的所有的准许。在一些实施例中,第一套准许包括对用户信息(包括播放列表、播放历史、概况信息、社交网络活动、媒体分享数据等)的“只读”准许。因此,用户可以被确保直到用户准许以及除非用户准许,补充应用程序114-n才将能够修改用户的信息。在一些实施例中,第一套准许允许补充应用程序114-n创建新的播放列表或启动媒体内容的展示,但不允许补充应用程序114-n修改或删除播放列表、发帖到用户的社交网络、访问用户的个人和/或概况信息等。在一些实施例中,内容提供者105确定第一套中的准许。例如,内容提供者105可以确定在“预览”期间应用于全部或一些补充应用程序114-n的准许。在一些实施例中,补充应用程序114-n的提供者确定或要求在“预览”期间将要应用的准许。用户可以访问任何补充应用程序114-n请求的准许,以便他或她能够接受或者拒绝该准许。
在一些实施例中,在“预览”期间缺省授予全部补充应用程序114-n第一套准许,并且不要求单个用户分别同意对于被预览的每个补充应用程序的准许。当补充应用程序114-n要求或请求附加的准许时和如果补充应用程序114-n要求或请求附加的准许(例如,当用户“批准”该补充应用程序时),提示用户提供对这些待授权的准许的同意。在一些实施例中,补充应用程序114-n的“预览”期间由用户、主应用程序112和/或内容服务器104与补充应用程序114-n相关联的准许级别限定。在这种情况下,补充应用程序114-n可以安装在客户端计算机102上,并且在预览期间和之后以相同方式与主应用程序112编程地互动(例如,通过应用程序编程接口调用),区别仅仅在于补充应用程序114-n被限制访问或修改特定的功能和/或数据。
在所述分层准许的一个示例性实施例中,用户可以选择“预览”补充应用程序114-n,例如,通过从主应用程序112的应用程序浏览界面选择补充应用程序。当被选择用于预览时,补充应用程序114-n与第一套准许相关联,并且可以通过主应用程序112被用户所获得。(例如,补充应用程序114-n可以出现在主应用程序112的用户界面的“已安装应用程序”列表或“预览应用程序”列表中)。然后用户在第一套准许允许的程度内免费使用补充应用程序114-n。然后用户可以决定“批准”该应用程序,例如通过授予与补充应用程序114-n的要求范围相当的准许。
图2是表示用于根据一些实施例提供对内容访问的方法200的流程图。方法200至少部分地在客户端计算机(例如,客户端计算机102)上被执行,该客户端计算机具有至少一个处理器和存储器,该存储器存储有用于由该处理器执行的指令。
执行与第一方相关联的主应用程序(202)。在一些实施例中,第一方是商业实体、服务器计算机和/或个人。在一些实施例中,第一方是创建、分发和/或使主应用程序可获得的内容提供者。在一些实施例中,第一方是还提供对媒体内容项目访问的内容提供者,该媒体内容项目受内容提供者和一个或多个内容所有者和/或制作者之间的许可协议约束。在一些实施例中,主应用程序是媒体播放器/浏览器应用程序(204)。媒体播放器应用程序允许用户搜索和展示媒体内容。在一些实施例中,主应用程序在操作系统(206)内被执行。在一些实施例中,如上所述,主应用程序还支持补充应用程序的使用。
在主应用程序和与第一方(205)相关联的服务器之间启动安全通信信道。在一些实施例中,与主应用程序分开执行的应用程序不能访问安全通信信道。例如,安全通信信道可以被主应用程序(例如,主应用程序112)启动,并且被主应用程序控制和/调节,使得使用安全通信信道仅可以发生被批准的通信。这可以包括阻止未被批准的应用程序或其他处理使用安全通信信道发送信息或接收信息。在一些实施例中,安全通信信道使用安全超级文本传输协议(HTTPS)。在一些实施例中,安全通信信道使用加密的通信(例如,与HTTPS协议相关联)。在一些实施例中,启动安全通信信道包括对服务器认证(例如,与HTTPS相关联)。在一些实施例中,安全通信信道是客户端计算机(例如,客户端计算机102)和服务器(例如,内容服务器104)之间的经认证的会话(session)。
执行与第二方相关联的补充应用程序(210)。在一些实施例中,第二方是不同于第一方的商业实体、服务器计算机和/或个人。例如,如果第一方是(例如,从一个或多个服务器计算机)提供对音乐内容访问的商业机构,第二方可以是不同于内容提供者的商业实体、组织或个人。在一些实施例中,第二方创建、分发补充应用程序(例如,补充应用程序114-n)和/或使得补充应用程序能够可获得。在一些实施例中,第一方和第二方是不同的商业实体,第一方开发主应用程序,第二方开发补充应用程序并且第一方批准该补充应用程序。
在一些实施例中,补充应用程序扩展主应用程序(212)的功能。例如,补充应用程序(例如,补充应用程序114-n)被配置为增加以前在主应用程序中不可获得的特征、功能或操作或者复制(或改善)主应用程序的已经可获得的特征、功能或操作。在一些实施例中,补充应用程序是主应用程序(214)的插件程序。在一些实施例中,补充应用程序访问主应用程序原本未被配置访问的附加的内容和/或信息(例如,歌曲的歌词、专辑封面(album art)、信息页、音乐会日期、电影上映时间等)。在一些实施例中,补充应用程序被第一方批准与主应用程序一起使用。在一些实施例中,补充应用程序仅可以与主应用程序(216)联合执行。例如,补充应用程序可以编程地依赖于主应用程序而执行。在一些实施例中,补充应用程序使用主应用程序提供的服务、处理和/或功能,例如那些能够实现播放列表创建和管理、媒体展示、社交网络访问(读和/或写访问)等的服务、处理和/或功能。
在一些实施例中,补充应用程序经由主应用程序的一个或多个应用程序编程接口访问主应用程序和第一方中一个或两者的服务。在一些实施例中,从集合中选择服务,该集合包括以下服务:启动内容项目的展示(例如,开始音频/视频回放);终止内容项目的展示(例如,停止/暂停/跳跃音/视频内容);将内容项目增加到现有播放列表;对现有列表中的内容项目重新排序;将新播放列表与主应用程序相关联(例如,使得新播放列表出现在主应用程序的GUI的播放列表的列表中);实现内容项目的购买;访问内容项目的排行榜(topcharts)列表(和/或被管控的或被管理的榜单);访问内容项目的编辑评论(例如,乐队、唱片、歌曲、播客、书籍、电影、电视节目及其它视频的评论等);访问内容项目的个人化推荐;访问与选择的内容项目(例如,访问、请求和/或启动与选择的内容项目相似的内容项目的播放列表)相关的内容项目;提供即将到来的音乐会或活动(例如,为了显示当前播放的艺术家的即将到来的音乐会的列表)的通知;访问关于音乐会或活动的促销材料;购买音乐会或活动的门票;启动比赛的展示;登记比赛中的高分;访问比赛中高分的冠军榜(leaderboard);访问歌曲的歌词;添加、编辑或更正歌曲的歌词;访问在社交图谱中用户的信息;访问社交网络中追随者的列表;访问社交网络中的影响分数;访问社交网络中的状态通知;张贴(post)社交网络中的状态通知;以及向社交网络中的用户推送内容项目。
用补充应用程序(218)访问被许可给第一方的内容。补充应用程序按照许可协议的条款经由安全通信信道可访问被许可的内容。如上所述,内容提供者可以提供对于内容提供者根据与内容所有者和/或制造者之间的许可协议能够访问的内容(例如,音乐、电影、电视节目)的访问。因此,补充应用程序(例如,补充应用程序114-n)使用主应用程序启动的安全通信信道经由主应用程序访问该内容。在一些实施例中,通过从服务器下载内容来访问该内容。在一些实施例中,内容被预先从服务器下载到客户端计算机系统。
在一些实施例中,被许可的内容包括多个音频文件(220)。在一些实施例中,被许可的内容包括多个视频文件(222)。在一些实施例中,方法包括启动多个音频和/或视频文件中的一个的回放(224)。在一些实施例中,访问被许可的内容(218)包括经由补充应用程序提供的(affordance)启动多个音频和/或视频文件中一个的回放。在一些实施例中,在启动回放后,将音频/视频文件从服务器(例如,内容服务器104或与客户端计算机系统102分开的第二客户端计算机系统)流传输到客户端计算机(226)。
在一些实施例中,如上所述,与主应用程序分开执行的应用程序不可获得被许可的内容(228)。在一些实施例中,与主应用程序分开执行的应用程序不可获得安全通信信道(230)。例如,主应用程序将不允许客户端计算机系统102执行的其它应用程序(即,那些不是被配置为与主应用程序联合执行的补充应用程序114-n)从内容提供者访问被许可的内容。这可以通过阻止其它应用程序访问主应用程序(例如,主应用程序112)和与第一方相关联的服务器(例如,与内容提供者105相关联的内容服务器104)之间的安全通信信道来完成。
图3A是表示用于根据一些实施例处理应用程序许可的方法300的流程图。方法300至少部分地在具有至少一个处理器和存储器的客户端计算机(例如,客户端计算机102)处执行,该存储器存储用于由该处理器执行的指令。
执行主应用程序(例如,主应用程序112)(302)。在一些实施例中,主应用程序是媒体播放器/浏览器应用程序(304)。在一些实施例中,在操作系统内执行主应用程序。以上描述了主应用程序的示例和属性。
从用户接收使用补充应用程序的请求(306)。在一些实施例中,请求对应于用户对补充应用程序的选择。例如,主应用程序可以具有补充应用程序浏览区,在该浏览区用户可以浏览和/或搜索与主应用程序联合使用的补充应用程序。因此,用户可以选择补充应用程序,例如,通过选择可供功能。在一些实施例中,可供功能是被标注为“预览”、“使用”、“下载”、“试用”、“安装”、“添加”等的按钮或其他可选择的元素。在一些实施例中,可供功能是发起(launch)补充应用程序而不将补充应用程序添加到应用程序的用户专用列表中的图标。
使用第一套准许与主应用程序联合执行补充应用程序(308)。以上描述联合执行补充应用程序和主应用程序的一些方面。在一些实施例中,使用第二套准许将补充应用程序和主应用程序联合执行包括确定从补充应用程序发布的请求和/或命令(例如,作为应用程序编程接口对主应用程序的调用)是否被第一套准许所允许。在一些实施例中,主应用程序确定第一套准许是否准许该请求和/或命令。在一些实施例中,内容服务器确定第一套准许是否准许该请求和/或命令。这可以在补充应用程序直接向内容服务器(即,主应用程序不拦截和/或限制该请求和/或命令)发布请求和/或命令的情况下实施。
在一些实施例中,第一套准许授权补充应用程序只读访问与用户的账号相关联的数据(310)。在一些实施例中,只读访问允许补充应用程序读但不修改与用户的账号相关联的播放列表、概况信息、内容历史数据(例如,播放历史)、社交网络活动(例如,发帖给用户、用户发帖或关于用户的发帖)、关于分享的媒体项目的数据等(312)。在一些实施例中,第一套准许中的准许对于全部补充应用程序都相同。
检测用户已经批准补充应用程序(314)。在一些实施例中,用户通过选择可供功能,例如被标注为“预览”、“使用”、“下载”、“试用”、“安装”、“添加”、“批准”、“书签”等的按钮或其他可选择的元素,来批准补充应用程序。在一些实施例中,检测用户已经批准补充应用程序包括接收(例如,在客户端计算机102处)对可供功能的选择。在一些实施例中,检测用户已经批准补充应用程序包括从内容服务器(例如,内容服务器104)接收用户之前已经批准该补充应用程序的指示。
响应于该检测,将第二套准许与补充应用程序相关联(318)。在一些实施例中,第二套准许授权补充应用程序对与用户的账号相关联的数据的读/写访问(320)。在一些实施例中,第二套准许授予补充应用程序创建和修改与用户的账号相关联的播放列表的准许(322)。第二套准许也可以允许补充应用程序代表用户向社交网络发贴、与其它用户分享播放列表等。
使用第二套准许执行补充应用程序(324)。以上说明联合执行主应用程序和补充应用程序的一些方面。与利用第一套准许执行补充应用程序相似,在一些实施例中,使用第二套准许联合执行补充应用程序和主应用程序包括确定第二套准许是否准许来自补充应用程序的请求和/或命令(例如,作为应用程序编程接口对主应用程序的调用)。在一些实施例中,主应用程序确定第二套准许是否准许该请求和/或命令。在一些实施例中,内容服务器确定第二套准许是否准许该请求和/或命令。例如,这在以下情况下是可以实现的:当补充应用程序直接向内容服务器发布请求和/或命令(即,没有主应用程序拦截和/或限制该请求和/或命令)时。
图3B继续方法300,该图涉及方法300在用户的补充应用程序和与之相关联的许可在跨设备和/或主应用程序的实例被同步情况下的实现。例如,内容提供者(例如,内容提供者105)可以存储账号信息(例如,在内容服务器104处),以便用户能够在各种不同的设备上访问来自主应用程序的内容。通过存储账号信息,不管主应用程序112运行在什么设备上,诸如用户喜好、历史记录、概况信息等的信息可以被主应用程序112的不同实例所获得。因此,用户可以在一个时间从他的家中计算机访问内容服务器104,然后另一个时间从他的智能手机访问内容服务器104—在每种情况下,都可以使用被存储的信息来同步用户在两种使用情况下的经验。因此,两个设备将均可以访问用户播放列表、播放历史、好友列表、社交网络账号信息、收藏的/最喜欢的媒体内容等。在一些实施例中,用户的账号信息还包括已经被用户安装和/或被用户选择用于预览或试用的补充应用程序的标识符。然后,用户在一个主应用程序的实例中已经选择和/或安装的补充应用程序可以在主应用程序的另一实例(例如,在不同设备上)中被安装和/或对用户可获得。此外,在主应用程序是基于网络的实施例中,主应用程序可以访问用户的账号信息—包括用户已经选择和/或安装在主应用程序的不同实例上的那些补充应用程序—并且使得这些补充应用程序对用户可获得。例如,当用户登录进入基于网络的主应用程序时,用户已经选择和/或安装的补充应用程序被显示在用户可以从中选择的应用程序列表中。
返回图3B,在一些实施例中,更新与用户相关联的账号信息以指示补充应用程序已经被用户安装在第一客户端计算机上(326)。因此,如上所述,客户端计算机和/或主应用程序可以访问用户的账号信息以确定用户在其它客户端计算机和/或主应用程序上安装了何种补充应用程序。在一些实施例中,更新与用户相关联的账号信息以指示应用于该补充应用程序的准许(327)。因此,当计算机和/或主应用程序访问账号信息以确定何种补充应用程序将被安装(以及何种准许将与它们关联)时,它们将模仿与用户相关联的其它客户端计算机和/或主应用程序的配置。
在一些实施例中,账号信息,包括已安装的补充应用程序的标识符,被存储在与内容提供者相关联的服务器(例如,内容提供者105的内容服务器104)上。在第二客户端计算机系统上执行第二主应用程序(328)。在一些实施例中,第二客户端计算机系统是与第一客户端计算机系统分开的任何计算机系统(例如,个人计算机、平板计算机、智能电话、或能够执行第二主应用程序的任何其它设备)。在一些实施例中,第二主应用程序是第一主应用程序的分开的实例(例如,其是同一程序但是运行在不同计算机上或在同一计算机的不同用户账户中)。在一些实施例中,第二主应用程序提供与第一主应用程序相同或相似的内容访问,但被配置为通过不同的设备被执行。例如,可以将第一主应用程序配置为通过个人计算机(例如,运行WINDOWS或MAC OS操作系统)被执行,而可以将第二主应用程序配置为通过智能电话或平板计算机(例如,运行IOS或ANDROID移动操作系统)而被执行。
在一些实施例中,确定补充应用程序已经被安装在第一客户端计算机(330)上。如上所述,该信息可以被包括在与用户相关联的账号信息中并存储在服务器上。因此,在一些实施例中,确定补充应用程序已经被安装在第一计算机上包括:从内容服务器(例如,内容服务器104)接收用户已经在第一客户端计算机上安装补充应用程序的指示。在一些实施例中,确定待应用于补充应用程序的准许(332)。在一些实施例中,补充应用程序被安装在第二客户端计算机上(334)。因此,例如,当启动第二主应用程序时,第二客户端计算机和/或内容服务器确定(例如,通过咨询内容服务器104上用户的账户信息)何种补充应用程序已经被安装在第一客户端计算机上,以及何种准许将应用于这些补充应用程序。因此,将用户补充应用程序的全部或子集安装在第二电子设备上,那些处于“预览”期间的补充应用程序仅利用第一套准许被执行,而那些已经被批准的准许利用第二套准许被执行。在一些实施例中,使用已确定的准许执行补充应用程序(例如,在第二客户端计算机系统上)(336)。
图4是代表用于根据一些实施例处理应用程序准许的方法400的流程图。方法400至少部分地在具有至少一个处理器和存储器的客户端计算机(例如,客户端计算机102)上被执行,该存储器存储用于通过该处理器执行的指令。
接收用于与主应用程序联合执行的补充应用程序,其中,主应用程序(例如,主应用程序112)提供对按照主应用程序的提供者(例如,内容提供者105)和内容项目的所有者(例如,内容所有者107)之间的许可协议的被许可的内容项目的访问(402)。以上描述内容许可协议以及它们对用于分发被许可的内容的技术和方法的影响。
接收与补充应用程序相关联的认证文件(404)。在一些实施例中,对认证文件加密。在一些实施例中,对认证文件加密签名。在一些实施例中,通过对补充应用程序的计算机代码的哈希表加密创建认证文件。使用诸如公共密钥加密(即非对称密钥加密)的加密技术,但是可以使用任何适当的加密方案。在内容提供者105批准补充应用程序与补充应用程序112一起使用之后,可以通过内容提供者105创建用于补充应用程序的认证文件。例如,第三方可以产生补充应用程序并将其提交给内容提供者批准。一旦补充应用程序被批准,内容提供者创建代码的哈希表并使用私钥对其加密。然后使用补充应用程序分发该认证文件。然后,当执行或安装补充应用程序时,主应用程序(和/或内容服务器104)可以创建代码的实时哈希值,使用公共密钥对哈希表解密,将解密的值与实时哈希表进行比较,确定值是否匹配。匹配表示该补充应用程序事实上是内容提供者批准的补充应用程序。
返回到方法400,检测访问与主应用程序相关联的资源的请求。在一些实施例中,访问资源的请求源自补充应用程序。在一些实施例中,访问资源的请求对应于安装过程或者是安装过程的一部分。在一些实施例中,访问资源的请求是对被许可的内容项目中至少一个的访问请求。(在一些实施例中,被许可的内容项目中至少一个可以存储在远离客户端计算机系统的服务器上;在一些实施例中,被许可的内容项目中至少一个被存储在客户端计算机系统上)。在一些实施例中,访问资源的请求是对主应用程序的应用程序编程接口的访问请求。
使用认证文件确定是否批准补充应用程序访问资源(408)。如上所述,在一些实施例中,这包括确定来自认证文件的哈希值是否匹配补充应用程序的实时哈希表。如果补充应用程序被批准访问该资源,则提供对该资源的访问(410)。例如,将请求的内容文件提供给补充应用程序和/或主应用程序(例如,为了向用户展示,包括到播放列表中等),主应用程序响应补充应用程序发布的应用程序编程接口调用等等。在一些实施例中,提供对资源的访问包括经由加密的通信信道提供对资源的访问(412)。如上所述,在一些实施例中,主应用程序使用内容服务器(例如,服务器104、充当服务器的其他客户端计算机等)控制加密通信信道。因此,在一些实施例中,当确定补充应用程序被批准访问资源(例如,存储在内容服务器104处的内容项目)时,主应用程序允许补充应用程序直接向内容服务器发布通信。
然而,如果补充应用程序未被批准访问该资源,则不提供对该资源的访问(414)。在一些实施例中,这导致补充应用程序不被安装到主应用程序112中。在一些实施例中,这导致来自已安装的补充应用程序的请求被拒绝、忽略或以其它方式不起作用。
图5是图示根据一些实施例的客户端计算机102的方框图。客户端计算机102通常包括用于执行程序(例如,存储在存储器510中的程序)的一个或多个处理单元(CPU,有时称作处理器)502,一个或多个网络或其他通信接口504,用户接口505,存储器510以及用于连接这些部件的一个或多个通信总线501。通信总线501可以包括互相连接并且控制系统部件之间的通信的电路(有时也称作芯片组)。在一些实施例中,用户接口505包括显示器506和输入设备507(例如,键盘、鼠标、触摸屏和小键盘等)。
存储器510包括诸如DRAM、SRAM、DDR RAM或其它随机访问固态存储设备的高速随机访问存储器;并且通常包括诸如一个或多个磁盘存储设备、光盘存储设备、闪速存储器设备或其他非易失型固态存储设备的非易失型存储器。存储器510可选地包括远离CPU 502布置的一个或多个存储设备。存储器510或可替选地存储器510中的非易失型存储器设备包括非暂态计算机可读存储介质。在一些实施例中,存储器510或存储器510的计算机可读存储介质存储以下的程序、模块、数据结构或它们的子集:
●操作系统512,其包括用于处理各种基本的系统服务和用于执行依赖于硬件的任务的过程;
●通信模块514,其被用于经由一个或多个(无线或有线)通信接口504和一个或多个通信网络108(例如,因特网、其它广域网、局域网、城域网等),将客户端计算机102连接到其他计算机(例如,内容服务器104和/或补充应用程序服务器106-n)。
●用户接口模块516,其经由输入设备507接收来自用户的命令,并且产生显示设备506中的用户接口对象;
●主应用程序112,其允许用户访问存储在内容服务器104、补充应用程序服务器106-n、其它客户端计算机等之上的资源(例如,内容项目(例如,媒体内容)、补充应用程序114-n等),并且其充当用于补充应用程序114-n的平台;
●一个或多个补充应用程序114-n,其被配置为被安装于主应用程序114中和/或与主应用程序114联合被执行;以及
●补充应用程序批准模块518,其确定补充应用程序114-n是否被批准访问内容服务器104和/或主应用程序112的资源。
在一些实施例中,上述的程序或模块对应于用于执行上述方法或功能(包括参考附图1-4描述的那些)的指令集。该指令集可以通过一个或多个处理器(例如,CPU 502)执行。上述模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,因此可以在各种实施例中组合或另外地重新组织这些程序或模块的各种子集。在一些实施例中,存储器510存储上述模块和数据结构的子集。此外,存储器510可以存储以上未描述的附加的模块和数据结构。
图6是图示根据一些实施例的内容服务器104的方框图。内容服务器104通常包括用于执行程序的一个或多个处理单元(CPU,有时称作处理器)602,一个或多个网络或其它通信接口610,以及用于将这些部件互相连接的一个或多个通信总线601。通信总线601可以包括互相连接并且控制系统部件之间的通信的电路(有时也称作芯片组)。在一些实施例中,用户接口605包括显示器606和输入设备60(例如,键盘、鼠标、触摸屏、小键盘等)。
存储器610包括诸如DRAM、SRAM、DDR RAM或其它随机访问固态存储设备的高速随机访问存储器;并且通常包括诸如一个或多个磁盘存储设备、光盘存储设备、闪速存储器设备或其他非易失型固态存储设备的非易失型存储器。存储器610可选地包括远离CPU 602布置的一个或多个存储设备。存储器610或可替选地存储器610中的非易失型存储器设备包括非暂态计算机可读存储介质。在一些实施例中,存储器610或存储器610的计算机可读存储介质存储以下的程序、模块、数据结构或它们的子集:
●操作系统612,其包括用于处理各种基本的系统服务和用于执行依赖于硬件的任务的过程;
●通信模块614,其被用于经由一个或多个(无线或有线)通信接口604和一个或多个通信网络108(例如,因特网、其它广域网、局域网、城域网等),将内容服务器104连接到其他计算机(例如,客户端计算机102和/或补充应用程序服务器106-n);
●可选的用户接口模块616,其经由输入设备607从用户接收命令并且在显示设备606中产生用户接口对象;
●内容库618,其容纳内容项目(例如,诸如播客、音乐、话语、电台表演、电影、电视表演、用户生成的视频、动画、图像或这些内容类型的各种组合的媒体内容项目);
●用户账号信息库620,其存储用于内容服务器104的用户的账号信息,包括(对于每个用户)账号凭据(包括用于内容提供者104的账号和/或诸如用于社交网络和/或其他服务的其他账号)、用户概况、用户喜好、已安装补充应用程序114-n的标识符,与补充应用程序114-n相关联的准许,播放列表,播放历史,喜欢的/最喜欢的/不喜欢的内容项目的列表,和/或其它用户信息;
●补充应用程序批准模块622,其确定补充应用程序114-n是否被批准访问内容服务器104和/或主应用程序112的资源;以及
●补充应用程序624,其对于客户端计算机102的主应用程序112可访问(例如,下载、远程执行和/或安装)。
在一些实施例中,上述程序或模块对应于用于执行上述方法或功能(包括参考附图1-4描述的那些)的指令集。该指令集可以通过一个或多个处理器(例如,CPU 602)执行。上述模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,因此可以在各种实施例中组合或另外地重新组织这些程序或模块的各种子集。在一些实施例中,存储器610存储上述模块和数据结构的子集。此外,存储器610可以存储以上未描述的附加的模块和数据结构。
图7是图示根据一些实施例的补充应用程序服务器106-n的方框图。补充应用程序服务器106-n通常包括用于执行程序(例如,存储在存储器710中的程序)的一个或多个处理单元(CPU,有时称作处理器)702,一个或多个网络或其它通信接口704,可选的用户接口705,存储器710,以及用于将这些部件互相连接的一个或多个通信总线701。通信总线701可以包括互相连接并且控制系统部件之间的通信的电路(有时也称作芯片组)。在一些实施例中,用户接口705包括显示器706和输入设备707(例如,键盘、鼠标、触摸屏、小键盘等)。
存储器710包括诸如DRAM、SRAM、DDR RAM或其它随机访问固态存储设备的高速随机访问存储器;并且通常包括诸如一个或多个磁盘存储设备、光盘存储设备、闪速存储器设备或其他非易失型固态存储设备的非易失型存储器。存储器710可选地包括远离CPU 702布置的一个或多个存储设备。存储器710或可替选地存储器710中的非易失型存储器设备包括非暂态计算机可读存储介质。在一些实施例中,存储器710或存储器710的计算机可读存储介质存储以下的程序、模块、数据结构或它们的子集:
●操作系统712,其包括用于处理各种基本的系统服务和用于执行依赖于硬件的任务的过程;
●通信模块714,其被用于经由一个或多个(无线或有线)通信接口704和一个或多个通信网络108(例如,因特网、其它广域网、局域网、城域网等),将补充应用程序服务器106-n连接到其他计算机(例如,客户端计算机102,网络服务器104,令牌服务器502和/或DNS服务器114);
●可选的用户接口模块716,其经由输入设备707从用户接收命令并且在显示设备706中产生用户接口对象;
●补充应用程序114-n,其对于客户端计算机102的主应用程序112和/或内容服务器104可访问(例如,下载、远程执行和/或安装);以及
●附加信息存储体718,当与该服务器相关联的补充应用程序114-n被执行时,该补充应用程序可以访问、下载、修改或以其它方式使用附加信息存储体718。
在一些实施例中,附加信息718包括与补充应用程序服务器106-n相关联的补充应用程序114-n使用或依赖的任何信息。例如,补充应用程序可以使在主应用程序112上被回放的歌曲的歌词被显示。那些歌词可以被存储在补充应用程序服务器106-n中的附加信息存储体718中。可以存储在附加信息存储体718中的其他信息包括但不限于用户的账号信息(例如,登录凭证、用户概况信息等)、评论(例如,对音乐、电影、电视、或其他内容的编辑评论)、用户回放历史、播放列表、社交活动等。
在一些实施例中,上述程序或模块对应于用于执行上述方法或功能(包括参考附图1-4描述的那些)的指令集。该指令集可以通过一个或多个处理器(例如,CPU 702)执行。上述模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,因此可以在各种实施例中组合或另外地重新组织这些程序或模块的各种子集。在一些实施例中,存储器710存储上述模块和数据结构的子集。此外,存储器710可以存储以上未描述的附加的模块和数据结构。
虽然图5-7示出客户端计算机和服务器计算机,但是这些图更旨在对这些计算机中可能出现的各种特征的功能描述,而不是上述实施例的结构方案。在实践中,本领域普通技术人员理解,分开示出的项目可以被组合,并且一些物件可以被分开。例如,图5-7中分开示出的一些物件可以被实现为单个模块或数据结构。
可以为在此描述的部件、操作或结构提供多种实例作为单个实例。最后,各个部件、操作和数据仓库之间的界限是有点任意的,在具体图示的配置的上下文中图示出特定的操作。可以设想功能的其他分配,并且可以落入实施例的范围中。一般地,在示例配置中展示为分开的部件的结构和功能可以被实现为组合的结构或功能。类似地,展示为单个部件的结构和功能可以被实现为分开的部件。这些和其他变型、修改、添加和改进都落入所描述的实施例的范围中。
为了说明,已经参考具体实施例对以上描述进行了说明。然而,上述图示的说明并非旨在穷尽或将所公开的思想限制到所公开的精确的程度。根据以上教导,许多改进和变型是可能的。选择并描述实施例是为了最好地说明所公开的思想的原则和实际应用,从而能够使本领域技术人员在各种实施例中进行各种修改而更好地利用它们,该修改适合于所构想的特定使用。
此外,在上述描述中,阐述了许多具体细节以提供对所提出思想的透彻理解。然而,本领域普通技术人员明白无需这些具体细节也可以实施这些思想。另一方面,对本领域普通技术人员熟知的方法、过程、部件和网络未详细描述,以避免造成在此提出的思想的方面模糊。
还将理解,尽管在此可能使用了术语“第一”、“第二”描述各种元件,这些元件不应该被这些术语限制。这些术语仅仅用于将一个元件与另一元件区分。例如,在不改变描述的意义的情况下,第一服务器可以被命名为第二服务器,以及,类似地,第二服务器可以被命名为第一服务器,只要“第一服务器”的所有出现都一致地被重命名并且“第二服务器”的所有出现都一致地被重命名即可。
此外,在此使用的术语仅是为了描述特定的实施例,而不用旨为对权利要求的限制。如同在对实施例和所附权利要求的描述中所用地,单数形式的“一”、“一个”、“该”旨在也包括复数形式,除非上下文清楚地另有指示。还应该理解,此处所用的术语“和/或”指代并包括一个或多个相关联列举项目的任何和全部可能的组合。进一步地,还应该理解,本说明书中使用的“包括”和/或“包含”指代所述特征、整体、步骤、操作、元素和/或部件的存在,但不排除一个或多个其它特征、整体、步骤、操作、元素、部件和/或它们的群组的存在或添加。
最后,在此使用的术语“如果”可以被解释为“当···的时候”或“一旦···”或“响应于确定···”或“根据一个确定”或“响应于检测到···”,即根据上下文设定的条件前提为真。类似地,短语“如果确定(设定的条件前提为真)”或“如果(设定的条件前提为真)”或“当(设定的条件前提为真)”可以被解释为意味着根据上下文,“一旦确定”或“响应于确定”或“根据确定”或“一旦检测到”或“响应于检测到”该设定的条件为真。

Claims (27)

1.一种用于提供对内容的访问的计算机实现的方法,包括:
在具有处理器和存储器的客户端计算机系统中:
执行与第一方相关联的主应用程序,其中所述第一方已获得播放被许可的内容的权利;
启动在所述主应用程序和与所述第一方相关联的服务器之间的安全通信信道,其中与所述主应用程序分开执行的应用程序不能够访问所述安全通信信道;
执行与第二方相关联的补充应用程序;以及
从所述补充应用程序获得用户对用于在所述客户端计算机系统上回放的各个内容的用户选择的指示,其中所述各个内容是被许可的内容,并且所述补充应用程序未独立地被批准播放所述各个内容;
响应于从所述补充应用程序获得所述指示:
经由所述安全通信信道访问所述各个内容;以及
响应于用户在所述补充应用程序中对所述各个内容的用户选择,启动所述各个内容的回放,其中通过所述主应用程序执行所述回放。
2.根据权利要求1所述的方法,其中所述第一方和所述第二方是不同的商业实体,所述主应用程序是由所述第一方开发的,所述补充应用程序是由所述第二方开发的,并且所述补充应用程序是由所述第一方批准的。
3.根据权利要求1所述的方法,其中所述补充应用程序扩展所述主应用程序的功能。
4.根据权利要求1所述的方法,其中所述补充应用程序是所述主应用程序的插件程序。
5.根据权利要求1所述的方法,其中所述主应用程序是媒体播放器应用程序。
6.根据权利要求1至5中任意项所述的方法,其中所述被许可的内容包括多个音频文件。
7.根据权利要求6所述的方法,其中对用户在所述补充应用程序中对所述各个内容的用户选择的指示包括选择通过所述补充应用程序提供的可供功能。
8.根据权利要求7所述的方法,还包括从所述服务器向所述客户端计算机系统流传输所述音频文件。
9.根据权利要求8所述的方法,其中所述服务器是第二客户端计算机系统。
10.根据权利要求1至5中任意项所述的方法,其中所述被许可的内容包括多个视频文件。
11.根据权利要求10所述的方法,其中用户对所述各个内容的用户选择的指示包括选择通过所述补充应用程序提供的可供功能。
12.根据权利要求11所述的方法,还包括从所述服务器向所述客户端计算机系统流传输所述视频文件。
13.根据权利要求12所述的方法,其中所述服务器是第二客户端计算机系统。
14.根据权利要求1至5中任意项所述的方法,其中所述第一方批准所述补充应用程序与所述主应用程序一起使用。
15.根据权利要求1至5中任意项所述的方法,其中所述补充应用程序经由所述主应用程序的一个或多个应用程序编程接口访问所述主应用程序和所述第一方中的一个或两者的服务。
16.根据权利要求15所述的方法,其中所述服务选自集合,该集合包括以下:
启动内容项目的展示;
终止内容项目的展示;
添加内容项目到现有播放列表;
将新播放列表与所述主应用程序相关联;
购买内容项目;
访问内容项目的排行榜列表;
访问内容项目的编辑评论;
访问内容项目的个人化推荐;
访问与选择的内容项目相关的内容项目;
通知即将到来的音乐会或活动;
访问关于音乐会或活动的促销材料;
购买音乐会或活动的门票;
启动比赛的展示;
登记比赛中的高分;
查看比赛中的高分领先榜;
访问歌曲的歌词;
添加、编辑或更正歌曲的歌词;
访问社交图谱中的用户的信息;
访问社交网络中追随者列表;
访问社交网络中的影响分数;
访问社交网络中的状态通知;
张贴社交网络中的状态通知;以及
向社交网络中的用户推送内容项目。
17.根据权利要求1至5中任意项所述的方法,其中与所述主应用程序分开执行的应用程序不能够获得所述被许可的内容。
18.根据权利要求1至5中任意项所述的方法,其中所述主应用程序在操作系统内被执行。
19.根据权利要求1至5中任意项所述的方法,其中所述补充应用程序仅能与所述主应用程序联合执行。
20.根据权利要求1至5中任意项所述的方法,其中不允许通过在客户端计算机系统上与所述主应用程序分开执行的应用程序回放所述被许可的内容。
21.根据权利要求1至5中任意项所述的方法,其中所述安全通信信道使用安全超级文本传输协议。
22.根据权利要求1至5中任意项所述的方法,其中所述安全通信信道使用加密通信。
23.根据权利要求1至5中任意项所述的方法,其中启动所述安全通信信道包括对所述服务器认证。
24.根据权利要求1至5中任意项所述的方法,其中所述内容被存储在所述服务器上。
25.根据权利要求1至5中任意项所述的方法,其中所述内容被预先从所述服务器下载到所述客户端计算机系统。
26.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置为被所述一个或多个处理器所执行,所述一个或多个程序包括用于执行包括以下步骤的指令:
执行与第一方相关联的主应用程序,其中所述第一方已获取播放被许可的内容的权利;
启动在所述主应用程序和与所述第一方相关联的服务器之间的安全通信信道,其中与所述主应用程序分开执行的应用程序不能够访问所述安全通信信道;
执行与第二方相关联的补充应用程序;以及
从所述补充应用程序获得用户对用于在所述电子设备上回放的各个内容的用户选择的指示,其中所述各个内容是被许可的内容,并且所述补充应用程序未独立地被批准播放所述各个内容;
响应于从所述补充应用程序获得所述指示:
经由所述安全通信信道访问所述各个内容;以及
响应于用户在所述补充应用程序中对所述各个内容的用户选择,启动所述各个内容的回放,其中通过所述主应用程序执行所述回放。
27.一种电子设备,包括:
一个或多个处理器;以及
存储器,所述存储器存储多个指令,所述多个指令当被所述一个或多个处理器执行时使所述处理器执行根据权利要求1至25中任意项所述的方法。
CN201280068199.0A 2011-11-29 2012-11-29 具有多设备安全应用程序集成的内容提供器 Active CN104081405B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161564826P 2011-11-29 2011-11-29
US61/564,826 2011-11-29
PCT/IB2012/002909 WO2013080048A1 (en) 2011-11-29 2012-11-29 Content provider with multi-device secure application integration
US13/688,747 2012-11-29
US13/688,747 US8826453B2 (en) 2011-11-29 2012-11-29 Content provider with multi-device secure application integration

Publications (2)

Publication Number Publication Date
CN104081405A CN104081405A (zh) 2014-10-01
CN104081405B true CN104081405B (zh) 2017-09-29

Family

ID=48468086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280068199.0A Active CN104081405B (zh) 2011-11-29 2012-11-29 具有多设备安全应用程序集成的内容提供器

Country Status (7)

Country Link
US (3) US8826453B2 (zh)
EP (1) EP2786293B1 (zh)
JP (2) JP6189317B2 (zh)
KR (3) KR102157107B1 (zh)
CN (1) CN104081405B (zh)
HK (1) HK1202949A1 (zh)
WO (1) WO2013080048A1 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720975B2 (en) * 2012-01-30 2017-08-01 Massachusetts Institute Of Technology Dynamic influence tracking engine and method
US9369514B2 (en) * 2012-06-08 2016-06-14 Spotify Ab Systems and methods of selecting content items
US9280789B2 (en) 2012-08-17 2016-03-08 Google Inc. Recommending native applications
US9762698B2 (en) 2012-12-14 2017-09-12 Google Inc. Computer application promotion
US9038142B2 (en) * 2013-02-05 2015-05-19 Google Inc. Authorization flow initiation using short-term wireless communication
US9195432B2 (en) 2013-02-26 2015-11-24 Sonos, Inc. Pre-caching of audio content
US9323511B1 (en) * 2013-02-28 2016-04-26 Google Inc. Splitting application permissions on devices
US20140250105A1 (en) * 2013-03-04 2014-09-04 Google Inc. Reliable content recommendations
KR102361213B1 (ko) 2013-09-11 2022-02-10 에이아이바이, 인크. 라이브 비디오 콘텐츠의 동적 바인딩
AU2014324843A1 (en) * 2013-09-27 2016-03-10 Aibuy, Inc. Apparatus and method for supporting relationships associated with content provisioning
EP3049954A4 (en) 2013-09-27 2017-04-05 Cinsay, Inc. N-level replication of supplemental content
US9299028B2 (en) * 2013-11-04 2016-03-29 Adobe Systems Incorporated Identifying suggestive intent in social posts
US10726102B2 (en) 2014-01-08 2020-07-28 Ipra Technologies Oy Ltd. Method of and system for providing access to access restricted content to a user
US9338514B2 (en) 2014-03-28 2016-05-10 Sonos, Inc. Account aware media preferences
US9720705B2 (en) 2014-04-25 2017-08-01 Sap Se System and method of demand oriented user interface framework
US9524338B2 (en) 2014-04-28 2016-12-20 Sonos, Inc. Playback of media content according to media preferences
US9478247B2 (en) 2014-04-28 2016-10-25 Sonos, Inc. Management of media content playback
US10129599B2 (en) 2014-04-28 2018-11-13 Sonos, Inc. Media preference database
US9535986B2 (en) 2014-06-27 2017-01-03 Sonos, Inc. Application launch
US20160041722A1 (en) * 2014-08-08 2016-02-11 Facebook, Inc. Systems and methods for processing orders of content items
US10084784B1 (en) * 2014-12-02 2018-09-25 Amazon Technologies, Inc. Restricting access to computing resources
US9112849B1 (en) * 2014-12-31 2015-08-18 Spotify Ab Methods and systems for dynamic creation of hotspots for media control
CN104867512B (zh) 2015-03-26 2017-10-24 加一联创电子科技有限公司 音乐数据获取方法、耳机、音箱以及音乐播放器
CN107211007B (zh) * 2015-04-07 2020-10-23 惠普发展公司,有限责任合伙企业 提供对资源的选择性访问
US10382426B2 (en) * 2015-07-02 2019-08-13 Adobe Inc. Authentication context transfer for accessing computing resources via single sign-on with single use access tokens
CA2992928A1 (en) * 2015-07-08 2017-01-12 Ipra Technologies Ltd Oy A method of and system for providing access to access restricted content to a user
US10419452B2 (en) 2015-07-28 2019-09-17 Sap Se Contextual monitoring and tracking of SSH sessions
US10015178B2 (en) * 2015-07-28 2018-07-03 Sap Se Real-time contextual monitoring intrusion detection and prevention
US9721551B2 (en) 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US10212171B2 (en) 2015-10-07 2019-02-19 Spotify Ab Dynamic control of playlists
US10395011B2 (en) 2015-11-04 2019-08-27 Screening Room Media, Inc. Monitoring location of a client-side digital content delivery device to prevent digital content misuse
WO2017222097A2 (ko) * 2016-06-24 2017-12-28 엘지전자 주식회사 디스플레이 장치
CN107770361A (zh) * 2016-08-19 2018-03-06 镇江雅迅软件有限责任公司 一种移动试听系统
US10628482B2 (en) 2016-09-30 2020-04-21 Spotify Ab Methods and systems for adapting playlists
US10452819B2 (en) 2017-03-20 2019-10-22 Screening Room Media, Inc. Digital credential system
US10587413B1 (en) * 2017-07-26 2020-03-10 EMC IP Holding Company LLC Decentralized identities for cross-enterprise authentication and/or authorization
CN109947437A (zh) * 2017-12-20 2019-06-28 沪江教育科技(上海)股份有限公司 一种数据处理方法以及终端
US10887387B2 (en) * 2018-01-05 2021-01-05 Barrett Adams Digital media synchronization system and method
RU2756957C1 (ru) * 2018-05-10 2021-10-07 Тейдзин Лимитед Полностью ароматическое полиамидное волокно
US10754889B2 (en) * 2018-05-24 2020-08-25 Quotient Technology Inc. Computer system and method for dynamically generating an image from digital content items
CN112955884B (zh) * 2018-11-01 2024-02-06 惠普发展公司,有限责任合伙企业 用于认证的设备、在网络中登记设备的方法
US11812102B2 (en) * 2019-01-04 2023-11-07 Gracenote, Inc. Generation of media station previews using a reference database
CN110096375B (zh) * 2019-03-29 2023-07-25 努比亚技术有限公司 一种应用程序共享数据方法、装置及计算机可读存储介质
US20210064549A1 (en) * 2019-09-03 2021-03-04 ScaleFlux, Inc. Enhancing the speed performance and endurance of solid-state data storage devices with embedded in-line encryption engines
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions
US11526339B1 (en) * 2020-08-11 2022-12-13 NortonLifeLock Inc. Systems and methods for improving application installation
EP4270218A1 (en) * 2022-04-29 2023-11-01 Utopia Music AG Method, apparatus, and computer program product for providing protected media content

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1301459A (zh) * 1998-03-16 2001-06-27 联信技术公司 用于连续控制和保护媒体内容的方法和装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001086503A2 (en) * 2000-05-05 2001-11-15 Megachips Corporation System and method for obtaining and storing information for deferred browsing
WO2002010907A2 (en) * 2000-05-10 2002-02-07 Convera Corporation Method of revoking_authorizations for software components
US7212726B2 (en) * 2000-09-15 2007-05-01 International Business Machines Corporation System and method of processing MPEG streams for file index insertion
US6751673B2 (en) * 2001-01-03 2004-06-15 Akamai Technologies, Inc. Streaming media subscription mechanism for a content delivery network
JP2003058413A (ja) * 2001-08-15 2003-02-28 Sony Corp コンテンツ提供装置、コンテンツ提供方法、ストリームコンテンツの再生プログラム及びストリームコンテンツの再生プログラムを記録した記録媒体
US7181603B2 (en) * 2002-03-12 2007-02-20 Intel Corporation Method of secure function loading
US9715500B2 (en) * 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
WO2003098524A1 (fr) * 2002-05-20 2003-11-27 Fujitsu Limited Procede et programme d'affichage de materiel didactique
KR100501211B1 (ko) * 2002-12-24 2005-07-18 한국전자통신연구원 플러그인 구조 기반의 디알엠 클라이언트 장치
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
WO2005026916A2 (en) * 2003-09-10 2005-03-24 Musicmatch, Inc. Music purchasing and playing system and method
US20070043766A1 (en) * 2005-08-18 2007-02-22 Nicholas Frank C Method and System for the Creating, Managing, and Delivery of Feed Formatted Content
US7681238B2 (en) * 2005-08-11 2010-03-16 Microsoft Corporation Remotely accessing protected files via streaming
US7412534B2 (en) * 2005-09-30 2008-08-12 Yahoo! Inc. Subscription control panel
JP2007115160A (ja) * 2005-10-24 2007-05-10 Max International Inc レンタル用の情報記憶媒体、サーバ、これらを使用したレンタル方法
US20070274300A1 (en) * 2006-05-04 2007-11-29 Microsoft Corporation Hover to call
JP2007323544A (ja) * 2006-06-05 2007-12-13 Sony Corp 情報処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
US20090144490A1 (en) * 2007-12-03 2009-06-04 Nokia Corporation Method, apparatus and computer program product for providing improved memory usage
US8850339B2 (en) * 2008-01-29 2014-09-30 Adobe Systems Incorporated Secure content-specific application user interface components
JP4733715B2 (ja) * 2008-03-14 2011-07-27 ヤフー株式会社 コンテンツ再生装置及びプログラム
GB0807116D0 (en) * 2008-04-18 2008-05-21 Omnifone Ltd Music subscription service
KR101062352B1 (ko) * 2009-06-17 2011-09-05 엘지전자 주식회사 단말기 및 그 제어 방법
US8800057B2 (en) * 2009-09-24 2014-08-05 Samsung Information Systems America, Inc. Secure content delivery system and method
US20120079523A1 (en) * 2010-09-29 2012-03-29 Verizon Patent And Licensing, Inc. Unified video provisioning within a heterogeneous network environment
US20120159337A1 (en) * 2010-12-17 2012-06-21 Kerry Travilla System and method for recommending media content
US10200756B2 (en) * 2011-02-11 2019-02-05 Sony Interactive Entertainment LLC Synchronization of favorites and/or recently viewed lists between registered content playback devices
US20120210353A1 (en) * 2011-02-11 2012-08-16 Sony Network Entertainment International Llc Second display interaction with social networking feed
US9032497B2 (en) * 2011-06-15 2015-05-12 Cbs Interactive Inc. System and method for securing embedded media
US9112825B2 (en) * 2011-09-07 2015-08-18 Dynatrace Llc Performance monitoring of a media player launched by a web browser
US20130103814A1 (en) * 2011-10-25 2013-04-25 Cbs Interactive Inc. System and Method for a Shared Media Experience

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1301459A (zh) * 1998-03-16 2001-06-27 联信技术公司 用于连续控制和保护媒体内容的方法和装置

Also Published As

Publication number Publication date
US20130139271A1 (en) 2013-05-30
WO2013080048A1 (en) 2013-06-06
KR20140109905A (ko) 2014-09-16
KR102066125B1 (ko) 2020-01-14
US9032543B2 (en) 2015-05-12
KR102157107B1 (ko) 2020-09-17
KR20200015724A (ko) 2020-02-12
US9489527B2 (en) 2016-11-08
JP6189317B2 (ja) 2017-08-30
US8826453B2 (en) 2014-09-02
JP2017200238A (ja) 2017-11-02
HK1202949A1 (zh) 2015-10-09
CN104081405A (zh) 2014-10-01
US20140331332A1 (en) 2014-11-06
EP2786293B1 (en) 2021-08-18
EP2786293A1 (en) 2014-10-08
JP2015500522A (ja) 2015-01-05
KR102020473B1 (ko) 2019-09-10
KR20190107146A (ko) 2019-09-18
US20150324594A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
CN104081405B (zh) 具有多设备安全应用程序集成的内容提供器
US20190073454A1 (en) Methods and apparatus for sharing, transferring and removing previously owned digital media
US10382423B2 (en) Systems and methods for providing multimedia content within an application and a security solution integrated therein
US7930347B2 (en) Responsible peer-to-peer (P2P) digital content distribution
US8438197B2 (en) System, apparatus, method and program for processing information
US20110208616A1 (en) Content system
WO2012116365A1 (en) Methods and apparatus for sharing, transferring and removing previously owned digital media
TWI631469B (zh) Method for providing data from a vending device to a portable data storage device and device thereof
KR20110121405A (ko) 컨텐츠 통합관리 시스템
US20200349541A1 (en) Managing Redistribution of Digital Media Assets
US9792595B2 (en) Secure data transfer from a vending device to portable data storage devices
Brogan Enhancing Digital Rights Management using the Family Domain
KR20100006357A (ko) 디지털 컨텐츠 딜리버리 서비스 방법, 서버 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant