云队列访问控制的制作方法

文档序号:11162149阅读:223来源:国知局
云队列访问控制的制造方法与工艺

本申请要求以下优先权:于2015年2月6日提交的美国专利申请第14/616,310号的优先权、于2015年2月6日提交的美国专利申请第14/616,319号的优先权以及于2015年2月6日提交的美国专利申请第14/616,325号的优先权。本申请还要求于2014年6月4日提交的标题为“Cloud Queue”的美国临时专利申请第62/007,906号的优先权,该美国临时专利申请的全部内容并入本文中。

技术领域

本公开内容涉及消费者产品,更具体地,涉及与媒体回放或者其某个方面有关的方法、系统、产品、特征、服务和其他要素。



背景技术:

直到2003年,用于以较大声音设定来访问和聆听数字音频的选项受到限制,在2003年,SONOS公司提交了标题为“Method for Synchronizing Audio Playback between Multiple Networked Devices”的其第一专利申请之一,并且在2005年开始公开发售媒体回放系统。Sonos无线HiFi系统使人们能够经由一个或更多个联网回放设备从多个源体验音乐。通过安装在智能手机、平板或计算机上的软件控制应用,一个人可以在具有联网回放设备的任意房间中回放他或她想要的音乐。另外,使用控制器,例如,可以将不同的歌曲流送至具有回放设备的每个房间,可以将房间分组在一起以同步回放,或者可以在所有房间中同步地聆听同一歌曲。

考虑到对数字媒体日益增长的兴趣,仍然需要开发消费者可访问的技术以进一步提高聆听体验。

附图说明

参照以下说明书、所附权利要求书和附图,可以更好地理解现在公开的技术的特征、方面和优点,在附图中:

图1示出了可以实施特定实施方式的示例媒体回放系统配置;

图2示出了示例回放设备的功能性框图;

图3示出了示例控制设备的功能性框图;

图4示出了示例控制器接口;

图5示出了可以实施特定实施方式的计算系统;

图6示出了可以实施特定实施方式的示例云计算系统;

图7是示例回放队列;

图8是便于基于授权令牌来访问云队列的示例流程图;

图9是便于基于授权令牌来控制对云队列的访问的示例流程图;

图10是便于提供访问控制水平的示例流程图;

图11是可以实施特定实施方式的示例环境;

图12是便于根据一个或更多个不同的访问水平来访问云队列的示例流程图;

图13是便于基于访问状态来控制对队列的访问的示例流程图;

图14A是可以实施特定实施方式的示例环境的第一实例;

图14B是可以实施特定实施方式的示例环境的第二实例;

图15是便于基于访问状态来访问队列的示例流程图;以及

图16是显示云队列的访问状态的指示的示例流程图。

附图是出于示出示例实施方式的目的,但是应当理解,本发明不限于附图中所示的布置和手段。

具体实施方式

Ι.概述

本文所描述的实施方式可以特别包括控制对基于云的回放队列(“云队列”)的访问。在一些实施方式中,计算系统可以保持或访问媒体项目的云队列。这样的计算系统可以帮助提供云服务。云服务的一个方面可以包括向媒体回放系统(或多个媒体回放系统)提供对云队列的访问。对云队列的访问可以包括关于云队列的各种操作。例如,对队列的访问可以包括通过媒体回放系统(可能与其他媒体回放系统同步地)回放队列或者修改队列(可能通过添加或移除媒体项目或者通过修改媒体项目的次序)。当控制对云队列的访问时,可以允许某些实体访问云队列,而其他实体可能被禁止访问云队列。

一些示例技术可以包括基于正在访问云队列的实体的身份来控制对云队列的访问。例如,控制对给定云队列的访问可以包括认证特定媒体回放系统访问云队列(并且可能禁止其他媒体回放系统访问云队列)。可替选地,特定用户账户(账户)可以可能通过与该账户相关联的设备而被认证以访问云队列。例如,与媒体回放系统的给定设备相关联的账户可以通过该设备来访问云队列。作为另一示例,控制对给定云队列的访问可以包括认证媒体回放系统的特定设备(或设备组)访问云队列。

用于控制对云队列的访问的机制可以包括使用一个或更多个认证令牌。例如,认证令牌可以认证具有用于访问云队列的令牌的实体。云队列的主机(例如,远程计算系统)可以限制对具有有效认证令牌的实体的访问。在其他示例中,实体可以是媒体回放系统、设备(或设备组)或用户账户。在一些情况下,给定认证令牌可以认证具有通用访问权限的实体。在其他情况下,认证令牌可以认证具有会话特定权限的实体,所述会话特定权限在给定会话的持续时间内认证实体。

在一些示例中,云队列的主机可以将实体限制于两个或更多个不同水平或类型的访问之一。例如,主机可以向第一实体(例如,媒体回放系统)授予第一类型的访问并且向第二实体(例如,另一媒体回放系统)授予第二类型的访问。在一些实施方式中,第一类型的访问和第二类型的访问可以分别包括“读取”访问和“完全”访问。完全访问可以认证实体执行关于云队列的操作的完整集合。在其他示例中,这样的操作可以包括队列回放和队列操纵。相比之下,读取访问可以认证实体执行关于云队列的操作子集,如队列回放或队列的显示。

其他示例技术可以包括基于云队列自身的配置或设置来控制对云队列的访问。例如,云队列的主机可以向云队列分配两个或更多个不同状态之一。在一个示例中,最初可以向云队列分配第一状态。当云队列具有第一状态时,云队列可以具有完全可用性。在之后的某些点处,可以将云队列的访问状态修改成第二访问状态。当云队列具有第二状态时,云队列可以具有有限的可用性。有限的可用性可以包括实体不访问队列或者可能受限于对队列的操作的子集的访问。例如,在有限的访问下,可以允许对队列的回放,但是可以限制对队列的修改。在其他示例中,主机可以基于检测到触发器比如经过阈值持续时间或者可能达到指示云队列的回放的阈值量的度量而修改访问状态。

如上面所指出的,示例技术可以包括基于授权令牌控制对云队列的访问。一方面,提供了一种方法。该方法可以包括获得与远程服务器处的媒体项目的特定队列对应的授权令牌。该方法还可以包括发送:(i)所获得的授权令牌,以及(ii)对特定队列中的一个或更多个媒体项目的访问的请求。该方法还可以包括接收媒体回放系统能够访问一个或更多个媒体项目的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括获得与远程服务器处的媒体项目的特定队列对应的授权令牌。所述功能还可以包括发送:(i)所获得的授权令牌,以及(ii)对特定队列中的一个或更多个媒体项目的访问的请求。所述功能还可以包括接收媒体回放系统能够访问一个或更多个媒体项目的指示。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括获得与远程服务器处的媒体项目的特定队列对应的授权令牌。所述功能还可以包括发送:(i)所获得的授权令牌,以及(ii)对特定队列中的一个或更多个媒体项目的访问的请求。所述功能还可以包括接收媒体回放系统能够访问一个或更多个媒体项目的指示。

再一方面,提供了另一方法。该方法可以包括接收:(i)与特定媒体回放系统相关联的授权令牌,以及(ii)由媒体回放系统对媒体项目的队列的访问的请求。该方法还可以包括确定授权令牌给媒体回放系统认证的对队列的访问。该方法还可以包括向媒体回放系统提供授权令牌给媒体回放系统认证的对媒体项目的访问。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收:(i)与特定媒体回放系统相关联的授权令牌,以及(ii)由媒体回放系统对媒体项目的队列的访问的请求。所述功能还可以包括确定授权令牌给媒体回放系统认证的对队列的访问。所述功能还可以包括向媒体回放系统提供授权令牌给媒体回放系统认证的对媒体项目的访问。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收:(i)与特定媒体回放系统相关联的授权令牌,以及(ii)由媒体回放系统对媒体项目的队列的访问的请求。所述功能还可以包括确定授权令牌给媒体回放系统认证的对队列的访问。所述功能还可以包括向媒体回放系统提供授权令牌给媒体回放系统认证的对媒体项目的访问。

还如上面所指示的,示例技术可以包括向实体授予相应类型的访问。在一方面,提供了一种方法。该方法可以包括接收:(i)来自第一媒体回放系统的对媒体项目的队列的访问的请求,以及(ii)来自第二媒体回放系统的对媒体项目的队列的访问的请求。该方法还可以包括:(i)给第一媒体回放系统授予第一类型的访问,以及(ii)给第二媒体回放系统授予第二类型的访问。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。该方法还可以包括提供:(i)第一媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示,以及(ii)第二媒体回放系统能够如第二类型的访问所授权的那样访问队列的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收:(i)来自多个第一媒体回放系统的对媒体项目的队列的相应访问的相应请求,以及(ii)来自第二媒体回放系统的对媒体项目的队列的访问的请求。所述功能还可以包括:(i)给第一媒体回放系统授予第一类型的访问,以及(ii)给第二媒体回放系统授予第二类型的访问。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括:(i)向第一媒体回放系统提供如第一类型的访问权限所授权的对队列的访问,以及(ii)向第二媒体回放系统提供如第二类型的访问权限所授权的对队列的访问。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收:(i)来自多个第一媒体回放系统的对媒体项目的队列的相应访问的相应请求,以及(ii)来自第二媒体回放系统的对媒体项目的队列的访问的请求。所述功能还可以包括:(i)给第一媒体回放系统授予第一类型的访问,以及(ii)给第二媒体回放系统授予第二类型的访问。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括:(i)向第一媒体回放系统提供如第一类型的访问权限所授权的对队列的访问,以及(ii)向第二媒体回放系统提供如第二类型的访问权限所授权的对队列的访问。

再一方面,提供了另一方法。该方法可以包括发送对媒体项目的队列的访问的请求。该方法还可以包括接收媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。该方法还可以包括接收队列中的一个或更多个媒体项目的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括发送对媒体项目的队列的访问的请求。所述功能还可以包括接收媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括接收队列中的一个或更多个媒体项目的指示。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括发送对媒体项目的队列的访问的请求。所述功能还可以包括接收媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括接收队列中的一个或更多个媒体项目的指示。

如上面还指示的,示例技术可以包括基于云队列自身的配置或设置来控制对云队列的访问。在一方面,提供了一种方法。该方法可以包括接收建立媒体项目的队列的请求。该方法还可以包括向队列分配第一访问状态。第一访问状态可以指示至少一个媒体回放系统被授权执行第一队列操作集合。在向队列分配第一访问状态之后,该方法可以包括检测指示队列的访问状态的改变的触发器。基于所检测到的触发器,该方法可以包括将队列的访问状态从第一访问状态修改为第二访问状态。第二访问状态可以指示至少一个媒体回放系统被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。该方法还可以包括向媒体回放系统发送第二访问状态的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收建立媒体项目的队列的请求。所述功能还可以包括向队列分配第一访问状态。第一访问状态可以指示至少一个媒体回放系统被授权执行第一队列操作集合。在向队列分配第一访问状态之后,所述功能可以包括检测指示队列的访问状态的改变的触发器。所述功能可以包括将队列的访问状态从第一访问状态修改为第二访问状态。第二访问状态可以指示至少一个媒体回放系统被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能还可以包括向媒体回放系统发送第二访问状态的指示。

在另一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收建立媒体项目的队列的请求。所述功能还可以包括向队列分配第一访问状态。第一访问状态可以指示至少一个媒体回放系统被授权执行第一队列操作集合。在向队列分配第一访问状态之后,所述功能可以包括检测指示队列的访问状态的改变的触发器。所述功能可以包括将队列的访问状态从第一访问状态修改为第二访问状态。第二访问状态可以指示至少一个媒体回放系统被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能还可以包括向媒体回放系统发送第二访问状态的指示。

在另一方面,提供了另一方法。该方法可以包括接收:(i)媒体项目的队列的指示,以及(ii)队列具有第一访问状态的指示。第一访问状态可以指示回放设备被授权执行第一队列操作集合。该方法还可以包括建立队列的本地实例。该方法还可以包括接收队列已被分配有第二访问状态的指示。第二访问状态可以指示回放设备被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。该方法可以包括将队列的本地实例限制于第二队列操作集合。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收:(i)媒体项目的队列的指示,以及(ii)队列具有第一访问状态的指示。第一访问状态可以指示回放设备被授权执行第一队列操作集合。所述功能还可以包括建立队列的本地实例。所述功能还可以包括接收队列已被分配有第二访问状态的指示。第二访问状态可以指示回放设备被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能可以包括将队列的本地实例限制于第二队列操作集合。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收:(i)媒体项目的队列的指示,以及(ii)队列具有第一访问状态的指示。第一访问状态可以指示回放设备被授权执行第一队列操作集合。所述功能还可以包括建立队列的本地实例。所述功能还可以包括接收队列已被分配有第二访问状态的指示。第二访问状态可以指示回放设备被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能可以包括将队列的本地实例限制于第二队列操作集合。

在另一方面,提供了一种方法。该方法可以包括在图形接口上显示队列的指示。该方法还可以包括接收队列的访问状态的指示。该方法还可以包括显示队列的访问状态的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括在图形接口上显示队列的指示。所述功能还可以包括接收队列的访问状态的指示。所述功能还可以包括显示队列的访问状态的指示。

又一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括在图形接口上显示队列的指示。所述功能还可以包括接收队列的访问状态的指示。所述功能还可以包括显示队列的访问状态的指示。

本领域的普通技术人员之一应当理解,本公开内容包括许多其他实施方式。虽然本文所描述的一些示例可以涉及由给定角色如“用户”和/或其他实体执行的功能,但是应当理解的是,该描述仅是出于说明的目的。除非通过权利要求自身的语言所明确要求,否则权利要求不应当被解释为需要任何这样的示例角色的动作。

II.示例工作环境

图1示出了可以实施或实现本文中公开的一种或更多种实施方式的媒体回放系统100的示例配置。所示的媒体回放系统100与具有若干房间和空间例如主卧、办公室、餐厅和客厅的示例家庭环境相关联。如图1的示例中所示,媒体回放系统100包括:回放设备102至124、控制设备126和128以及有线或无线网络路由器130。

在以下部分可以发现与示例媒体回放系统100的不同部件以及所述不同部件可以如何交互来为用户提供媒体体验有关的另外的论述。虽然本文中的论述可以一般包括示例媒体回放系统100,但是本文中描述的技术不限于尤其图1所示的家庭环境中的应用。例如,本文中描述的技术可以在以下可以期望多区域音频的环境中有用,如例如商业环境像餐馆、商场或机场,交通工具像运动型多功能车(SUV)、公共汽车或小汽车、舰或船、飞机等。

a.示例回放设备

图2示出了示例回放设备200的功能性框图,该示例性回放设备200可以被配置成图1的媒体回放系统100的回放设备102至124中的一个或更多个。回放设备200可以包括处理器202、软件组件204、存储器206、音频处理部件208、音频放大器210、扬声器212以及包括无线接口216和有线接口218的网络接口214。在一种情况下,回放设备200可以不包括扬声器212,而可以包括用于连接回放设备200与外部扬声器的扬声器接口。在另一种情况下,回放设备200可以既不包括扬声器212也不包括音频放大器210,而可以只包括用于连接回放设备200与外部音频放大器或影音接收器的音频接口。

在一个示例中,处理器202可以是被配置成根据存储在存储器206中的指令来处理输入数据的时钟驱动计算部件。存储器206可以是被配置成存储能够由处理器202执行的指令的有形计算机可读介质。例如,存储器206可以是能够加载能够由处理器202执行以实现某些功能的软件组件204中的一个或更多个的数据存储装置。在一个示例中,功能可以包括回放设备200从音频源或另外的回放设备检索音频数据。在另一示例中,功能可以包括回放设备200向网络上的另一设备或回放设备发送音频数据。在又一示例中,功能可以包括回放设备200与一个或更多个回放设备的配对以创建多声道音频环境。

某些功能可以包括回放设备200与一个或更多个其他回放设备的音频内容的同步回放。在同步回放期间,听者优选地将不能感知到由回放设备200对音频内容的回放与由一个或更多个其他回放设备对音频内容的回放之间的时间延迟差。标题为“System and method for synchronizing operations among a plurality of independently clocked digital data processing devices”的在此通过引用被合并入本文的美国专利第8,234,395号更详细地提供了用于回放设备之间的音频回放同步的一些示例。

存储器206还可以被配置成存储与回放设备200相关联的数据如回放设备200是其中一部分的一个或更多个区域和/或区域组、能够由回放设备200访问的音频源或者回放设备200(或一些其他回放设备)可以与其相关联的回放队列。可以将该数据存储为周期性被更新并且用于描述回放设备200的状态的一个或更多个状态变量。存储器206还可以包括与媒体系统中的其他设备的状态相关联并且有时在设备之间共享使得所述设备中的一个或更多个具有与系统相关联的最新数据的数据。其他实施方式也是可以的。

音频处理部件208可以包括一个或更多个数模转换器(DAC)、音频预处理部件、音频增强部件或数字信号处理器(DSP)等。在一种实施方式中,音频处理部件208中的一个或更多个可以是处理器202的子部件。在一个示例中,音频处理部件208可以处理和/或有意地改变音频内容以产生音频信号。然后,可以将产生的音频信号提供至用于放大的音频放大器210并且通过扬声器212回放。特别地,音频放大器210可以包括被配置成将音频信号放大至用于驱动扬声器212中的一个或更多个的水平的设备。扬声器212可以包括单独的变换器(例如,“驱动器”)或者包括具有一个或更多个驱动器的外壳的完整的扬声器系统。扬声器212的特定驱动器可以包括例如超低音扬声器(例如,用于低频)、中档驱动器(例如,用于中频)和/或高频扬声器(例如,用于高频)。在一些情况下,一个或更多个扬声器212中的每个变换器可以由音频放大器210的单独的对应音频放大器来驱动。除了产生用于由回放设备200回放的模拟信号以外,音频处理部件208可以被配置成对要被发送至一个或更多个其他回放设备以供回放的音频内容进行处理。

可以如经由音频线路输入连接(例如,自动检测3.5mm音频线路输入连接)或网络接口214从外部源接收要由回放设备200处理和/或回放的音频内容。

网络接口214可以被配置成便于回放设备200与数据网络上的一个或更多个其他设备之间的数据流动。同样地,回放设备200可以被配置成通过数据网络从与该回放设备200、局域网内的网络设备进行通信的一个或更多个其他回放设备接收音频内容或者通过广域网如因特网接收音频内容源。在一个示例中,可以以包括基于互联网协议(IP)的源地址和基于IP的目标地址的数字分组数据的形式传输由回放设备200发送和接收的音频内容和其他信号。在这种情况下,网络接口214可以被配置成对数字分组数据进行解析,使得回放设备200正确地接收和处理去往该回放设备200的数据。

如所示的,网络接口214可以包括无线接口216和有线接口218。无线接口216可以为回放设备200提供网络接口功能以根据通信协议(例如任意无线标准,包括IEEE 802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4G移动通信标准等)与其他设备(例如,数据网络内的与回放设备200相关联的其他回放设备、扬声器、接收器、网络设备、控制设备)进行无线通信。有线接口218可以为回放设备200提供网络接口功能以根据通信协议(例如,IEEE 802.3)通过有线连接与其他设备进行通信。虽然图2所示的网络接口214包括无线接口216和有线接口218两者,但是在一些实施方式中网络接口214可以仅包括无线接口或仅包括有线接口。

在一个示例中,可以将回放设备200与一个其他回放设备进行配对以回放音频内容的两个分开的音频分量。例如,回放设备200可以被配置成回放左声道音频分量,而其他回放设备可以被配置成回放右声道音频分量,从而产生或增强音频内容的立体声效果。配对的回放设备(也被称为“绑定的回放设备”)还可以与其他回放设备同步地回放音频内容。

在另一示例中,可以将回放设备200与一个或更多个其他回放设备在声音上联合以形成单个联合的回放设备。因为联合的回放设备可以具有可以通过其呈现音频内容的另外的扬声器驱动器,所以联合的回放设备可以被配置成与非联合的回放设备或配对的回放设备不同地处理和再现声音。例如,如果回放设备200是被设计成呈现低频段音频内容的回放设备(即,超低音扬声器),则回放设备200可以与被设计成呈现全频段音频内容的回放设备联合。在这样的情况下,当与低频回放设备200联合时,全频段回放设备可以被配置成呈现音频内容的仅中频分量和高频分量,而低频段回放设备200呈现音频内容的低频分量。联合的回放设备还可以与单个回放设备或另一联合的回放设备配对。

举例来说,SONOS公司目前公开发售(或已经公开发售)特定回放设备,所述特定回放设备包括“PLAY:1”、“PLAY:3”、“PLAY:5”、“PLAYBAR”、“CONNECT:AMP”、“CONNECT”和“SUB”。另外地或可替选地,任意其他过去的、现在的和/或将来的回放设备可以用于实现本文中公开的示例实施方式的回放设备。另外,应当理解,回放设备不限于图2所示的示例或SONOS产品供应。例如,回放设备可以包括有线或无线耳机。在另一示例中,回放设备可以包括用于个人移动媒体回放设备的插接站或者与所述插接站交互。在又一示例中,回放设备可能是构成另一设备或部件如电视、照明器材或者供室内或室外使用的一些其他设备所必需的。

b.示例回放区域配置

再参照图1的媒体回放系统100,环境可以具有一个或更多个回放区域,每个回放区域具有一个或更多个回放设备。可以用一个或更多个回放区域来创建媒体回放系统100,此后,一个或更多个区域可以被添加或移除以达到图1所示的示例配置。可以根据不同的房间或空间如办公室、浴室、主卧、卧室、厨房、餐厅、客厅和/或阳台给每个区域命名。在一种情况下,单独的回放区域可以包括多个房间或空间。在另一种情况下,单独的房间或空间可以包括多个回放区域。

如图1所示,阳台、餐厅、厨房、浴室、办公室和卧室区域每一个具有一个回放设备,而客厅和主卧区域每一个具有多个回放设备。在客厅区域中,回放设备104、106、108和110可以被配置成:作为单独的回放设备、作为一个或更多个绑定的回放设备、作为一个或更多个联合的回放设备或者上述任意组合来同步地回放音频内容。类似地,在主卧的情况下,回放设备122和124可以被配置成:作为单独的回放设备、作为绑定的回放设备或者作为联合的回放设备来同步地回放音频内容。

在一个示例中,图1的环境中的一个或更多个回放区域中的每个回放区域可以正在回放不同的音频内容。例如,用户可以正在阳台区域烧烤并且聆听由回放设备102正在回放的嘻哈音乐,同时另一用户可以正在厨房区域准备食物并且聆听由回放设备114正在回放的古典音乐。在另一示例中,回放区域可以与另一回放区域同步地回放同一音频内容。例如,用户可以在以下办公室区域中,在该办公室区域中回放设备118正在回放与阳台区域中的回放设备102正在回放的摇滚音乐相同的摇滚音乐。在这样的情况下,回放设备102和118可以同步地回放摇滚音乐,使得当用户在不同回放区域之间移动时可以无缝地(或至少基本上无缝地)欣赏正被响亮回放的音频内容。如在先前引用的美国专利第8,234,395号中描述的,可以以与回放设备之间的同步方式类似的方式实现回放区域之间的同步。

如上面提出的,可以动态地修改媒体回放系统100的区域配置,并且在一些实施方式中,媒体回放系统100支持许多配置。例如,如果用户在物理上将一个或更多个回放设备移至一个区域或者从该区域移出一个或更多个回放设备,则媒体回放系统100可以被重新配置成适应一个或更多个变化。例如,如果用户在物理上将回放设备102从阳台区域移到办公室区域,则办公室区域现在可以包括回放设备118和回放设备102两者。如果需要,则可以经由控制设备如控制设备126和128将回放设备102与办公区域配对或分组在一起和/或对该回放设备102重命名。另一方面,如果一个或更多个回放设备被移至家庭环境中已经不是回放区域的特定区域,则可以针对该特定区域创建新的回放区域。

另外,可以将媒体回放系统100的不同回放区域动态地组合成区域组或者将其划分成单独的回放区域。例如,可以将餐厅区域和厨房区域114组合成用于宴会的区域组,使得回放设备112和114可以同步地呈现音频内容。另一方面,如果一个用户想在客厅空间聆听音乐而另一用户想看电视,则可以将客厅区域划分成包括回放设备104的电视区域以及包括回放设备106、108和110的聆听区域。

c.示例控制设备

图3示出了示例控制设备300的功能性框图,该示例控制设备300可以被配置成媒体回放系统100的控制设备126和128中的一个或两个。还可以将控制设备300称为控制器300。如所示的,控制设备300可以包括处理器302、存储器304、网络接口306和用户接口308。在一个示例中,控制设备300可以是用于媒体回放系统100的专用控制器。在另一示例中,控制设备300可以是能够安装媒体回放系统控制器应用软件的网络设备,例如,iPhoneTM、iPadTM或者任意其他智能电话、平板或网络设备(例如,联网的计算机如PC或MacTM)。

处理器302可以被配置成执行与便于用户访问、控制和配置媒体回放系统100有关的功能。存储器304可以被配置成存储能够由处理器302运行以执行那些功能的指令。存储器304还可以被配置成存储媒体回放系统控制器应用软件以及与媒体回放系统100和用户相关联的其他数据。

在一个示例中,网络接口306可以基于行业标准(例如红外标准,无线标准,包括IEEE 802.3的有线标准,包括IEEE 802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4G移动通信标准的无线标准等)。网络接口306可以为控制设备300提供与媒体回放系统100中的其他设备进行通信的方法。在一个示例中,可以经由网络接口306在控制设备300与其他设备之间传送数据和信息(例如,如状态变量)。例如,控制设备300可以经由网络接口306从回放设备或另一网络设备接收媒体回放系统100中的回放区域和区域组配置或者控制设备300可以经由网络接口306将媒体回放系统100中的回放区域和区域组配置发送至另一回放设备或网络设备。在一些情况下,其他网络设备可以是另一控制设备。

还可以经由网络接口306将回放设备控制命令如音量控制和音频回放控制从控制设备300传送至回放设备。如上面提出的,媒体回放系统100的配置的变化还可以通过用户使用控制设备300来执行。配置变化可以包括:将一个或更多个回放设备添加至区域或从区域中移除一个或更多个回放设备;将一个或更多个区域添加至区域组或从区域组中移除一个或更多个区域;形成绑定的或联合的回放器;从绑定的或联合的回放器分离一个或更多个回放设备等。因此,不论控制设备300是专用控制器还是安装媒体回放系统控制器应用软件的网络设备,有时都可以将控制设备300称为控制器。

控制设备300的用户接口308可以被配置成通过提供控制器接口如图4所示的控制器接口400来便于用户对媒体回放系统100的访问和控制。控制器接口400包括回放控制区410、回放区域区420、回放状态区430、回放队列区440和音频内容源区450。所示的用户接口400仅是可以在网络设备如图3的控制设备300(和/或图1的控制设备126和128)上布置并且由用户访问以控制媒体回放系统如媒体回放系统100的用户接口的一个示例。可替选地,可以在一个或更多个网络设备上实现不同格式、不同类型和不同交互顺序的其他用户接口以提供对媒体回放系统的可比较的控制访问。

回放控制区410可以包括用于使所选择的回放区域或区域组中的回放设备回放或暂停、快进、快退、跳到下一首、跳到上一首、进入/退出随机模式、进入/退出重复模式、进入/退出交叉衰落模式的可选择(例如,通过触摸或通过使用光标)图标。在其他可能性中,回放控制区410还可以包括用于修改均衡设定和回放音量的可选择图标。

回放区域区420可以包括媒体回放系统100中的回放区域的表示。在其他可能性中,在一些实施方式中,回放区域的图形表示可以可选择地带出管理或配置媒体回放系统中的回放区域的另外的可选择图标,例如,绑定区域的创建、区域组的创建、区域组的分离以及区域组的重命名。

例如,如所示的,可以在回放区域的图形表示中的每一个中布置“分组”图标。在特定区域的图形表示中提供的“分组”图标可以可选择地带出对媒体回放系统中的要与该特定区域分组在一起的一个或更多个其他区域进行选择的选项。一旦被分组,已与特定区域分组在一起的区域中的回放设备将被配置成与特定区域中的一个或更多个回放设备同步地回放音频内容。类似地,可以在区域组的图形表示中提供“分组”图标。在此情况下,“分组”图标可以可选择地带出取消选择区域组中的要从该区域组中移除的一个或更多个区域的选项。用于经由用户接口如用户接口400对区域分组和取消分组的其他交互和实现也是可以的。随着回放区域或区域组配置被修改,可以动态地更新回放区域区420中的回放区域的表示。

回放状态区430可以包括所选择的回放区域或区域组中的目前正在被回放、先前被回放或被调度接下来要回放的音频内容的图形表示。在用户接口上如在回放区域区420和/或回放状态区430中可以视觉上区分所选择的回放区域或区域组。图形表示可以包括音轨名、艺术家名、专辑名、专辑年份、音轨长度以及对用户了解何时经由用户接口400来控制媒体回放系统而言有用的其他相关信息。

回放队列区440可以包括与所选择的回放区域或区域组相关联的回放队列中的音频内容的图形表示。在一些实施方式中,每个回放区域或区域组可以与包括和零个或更多个供回放区域或区域组回放的音频项目对应的信息的回放队列相关联。例如,回放队列中的每个音频项目可以包括回放区域或区域组中的回放设备可以用来从本地音频内容源或联网音频内容源查找和/或检索可能用于由回放设备回放的音频项目的统一资源标识符(URI)、统一资源定位符(URL)或一些其他标识符。

在一个示例中,可以将回放列表添加至回放队列,在此情况下,可以将与回放列表中的每个音频项目对应的信息添加至回放队列。在另一示例中,可以将回放队列中的音频项目存储为回放列表。在又一示例中,当回放区域或区域组正连续回放流式音频内容如可以连续回放直到以其他方式被停止的因特网广播而不是回放具有回放持续时间的离散音频项目时,回放队列可以是空的或者被填充但“不在使用中”。在可替选实施方式中,当回放区域或区域组正在回放因特网广播和/或其他流式音频内容项目时,回放队列可以包括那些项目并且“在使用中”。其他示例也是可以的。

当回放区域或区域组被“分组”或被“取消分组”时,可以清除或重新关联与所影响的回放区域或区域组相关联的回放队列。例如,如果将包括第一回放队列的第一回放区域与包括第二回放队列的第二回放区域分组在一起,则所创建的区域组可以具有关联的回放队列,所述关联的回放队列最初为空,所述关联的回放队列包括来自第一回放队列的音频项目(例如,如果第二回放区域被添加至第一回放区域),所述关联的回放队列包括来自第二回放队列的音频项目(例如,如果第一回放区域被添加至第二回放区域),或者所述关联的回放队列包括来自第一回放队列和第二回放队列两者的音频项目的组合。随后,如果所创建的区域组被取消分组,则所得到的第一回放区域可以与先前的第一回放队列重新关联,或者可以与以下新回放队列相关联,该新回放队列是空的或者包括来自与所创建的区域组被取消分组之前的该所创建的区域组相关联的回放队列的音频项目。类似地,所得到的第二回放区域可以与先前的第二回放队列重新关联,或者与以下新回放队列相关联,该新回放队列是空的或者包括来自与所创建的区域组被取消分组之前的该所创建的区域组相关联的回放队列的音频项目。其他示例也是可以的。

再参照图4的用户接口400,回放队列区440中的音频内容的图形表示可以包括音轨名、艺术家名、音轨长度以及与回放队列中的音频内容相关联的其他相关信息。在一个示例中,音频内容的图形表示可以可选择地带出用于管理和/或操纵回放队列和/或回放队列中表示的音频内容的另外的可选择图标。例如,在其他可能性中,可以从回放队列中移除所表示的音频内容,可以将所表示的音频内容移至回放队列中的不同位置,或者可以选择立即回放所表示的音频内容,或者可以选择在任何当前正在回放的音频内容之后回放所表示的音频内容。与回放区域或区域组相关联的回放队列可以被存储在回放区域或区域组中的一个或更多个回放设备上的存储器中,或者可以被存储在不在回放区域或区域组中的回放设备上的存储器中,和/或可以被存储在一些其他指定设备上的存储器中。这样的回放队列的回放可以包括可能按照顺序次序或随机次序回放队列中的媒体项目的一个或更多个回放设备。

音频内容源区450可以包括可选择的音频内容源的图形表示,可以从所述可选择的音频内容源检索音频内容并且由所选择的回放区域或区域组回放检索到的音频内容。在以下部分中可发现关于音频内容源的论述。

d.示例音频内容源

如前所述,区域或区域组中的一个或更多个回放设备可以被配置成从各种可用音频内容源检索供回放的音频内容(例如,根据音频内容的相应的URI或URL)。在一个示例中,回放设备可以从相应的音频内容源(例如,线路输入连接)直接检索音频内容。在另一示例中,可以通过网络经由一个或更多个其他回放设备或网络设备将音频内容提供至回放设备。

在其他可能性中,示例音频内容源可以包括:媒体回放系统如图1的媒体回放系统100中的一个或更多个回放设备的存储器、一个或更多个网络设备(例如,如控制设备、能够上网的个人计算机或网络附接存储装置(NAS))上的本地音乐库、经由互联网(例如,云)提供音频内容的流式音频服务、或者经由回放设备或网络设备上的线路输入连接与媒体回放系统连接的音频源。

在一些实施方式中,可以定期地向媒体回放系统如图1的媒体回放系统100添加音频内容源或从媒体回放系统如图1的媒体回放系统100中移除音频内容源。在一个示例中,无论何时添加、移除或更新一个或更多个音频内容源,都可以执行为音频项目编索引。为音频项目编索引可以包括:在能够由媒体回放系统中的回放设备访问的网络上被共享的所有文件夹/目录中扫描可标识的音频项目;以及生成或更新包括元数据(除了别的以外,例如,标题、艺术家、专辑、音轨长度)和其他关联信息如找到的每个可标识的音频项目的URI或URL的音频内容数据库。用于管理和保持音频内容源的其他示例也是可以的。

上面与回放设备、控制器设备、回放区域配置和媒体内容源有关的论述仅提供了可以在其中实现下述功能和方法的工作环境的一些示例。本文中没有明确描述的媒体回放系统、回放设备和网络设备的其他工作环境和配置也可应用于并适合于所述功能和方法的实现。

e.示例云计算功能

本文对“云计算”进行各种引用。术语“云计算”用于指使用通过网络如因特网的分布式计算所递送的服务。经由云所递送的服务的非穷尽列表包括电子邮件(例如,或)、社交网络(例如,或)、文件托管(例如,)以及流式音频(例如,或)。当然也提供其他云服务。

云服务提供商可以提供用于通过网络访问他们的服务的一个或更多个接口。例如,可以通过使用网络浏览器访问网站来访问一些云服务。通过在计算设备上执行特定于云服务的特定应用来访问其他云服务。一些云服务可以提供用于便于通过第三方网站或应用来访问服务的应用编程接口(API)。云服务可以提供用于访问它们的服务的多种技术。在许多情况下,能够访问给定云服务的用户可以从连接至网络的任何计算设备来访问服务,条件是所述计算设备具有针对云服务的支持接口。

在一个实例中,访问云服务可以包括利用第一计算设备(即,客户端)来访问第二计算设备或系统(即,服务器)。在其他可能的设备中,示例客户端设备可以包括图2的回放设备200或图3的控制设备300。一个或更多个程序或应用(即,指令)可以在服务器上运行以执行云服务所支持的计算操作。客户端可以向服务器发送各种命令以指示服务器执行云服务所支持的计算任务。

图5示出了可以向一个或更多个用户提供云服务的示例计算系统500。示例计算系统500包括至少一个处理器502、存储器504以及网络接口506。存储器504可以包括能够由处理器502运行以执行云服务所支持的计算任务的指令。计算设备500可以经由网络接口506与其他计算设备进行通信。

总之,云服务的提供可以包括计算系统500的多个实例。计算系统500的每个实例可以向一个或更多个用户提供云服务。云服务提供商可以基于用户需求来安排在提供云服务时涉及的计算系统500的实例的数目。

示例中,“用户账户”的基于数据的表示可以便于对云服务的访问。单独的用户或一组用户可以创建基于数据的“用户账户”,所述“用户账户”也可以被简单地称为“账户”。特定用户或用户组的账户可以包括与特定用户或用户组有关的数据,所述数据被用户或用户组选择以用于与账户相关联。因此,特定用户的账户在某种意义上可以是该特定用户的基于数据的表示。

用户可以创建用于例如各种应用、网站和/或在线服务的账户。在其他可能性中,账户的示例包括电子邮件账户、社交网络账户、在线金融账户、服务提供商账户。另外,在一些情况下,用户可以具有提供用于多种服务、网站、应用等的用户的基于数据的表示的单个账户。例如,用户可以选择将他们的电子邮件账户或社交网络账户用作用于可以由不同实体提供的各种在线服务和应用的通用登录。这样的基于数据的表示可以用于在提供服务时涉及的计算系统的实例中的任何实例以使得实例中的任何实例可以在向服务认证特定账户(“登录”)时提供对服务的类似访问。

账户还可以与设备和系统一起使用。例如,诸如移动电话、平板计算机或膝上型计算机的设备的用户可以将账户与计算设备自身相关联,使得当在计算设备上认证账户时,将向计算设备上提供的应用来认证账户。用户还可以将账户与媒体回放系统相关联,使得当在媒体回放系统上认证账户时,媒体回放系统根据账户的偏好来操作。此外,在一些情况下,用于各种服务的用户的账户可以彼此关联。例如,用于媒体回放系统的用户账户可以与用于一个或更多个流式音乐服务的用户账户相关联,使得当用于媒体回放系统的用户账户被登录至媒体回放系统时,媒体回放系统能够访问与用于媒体回放系统的用户账户相关联的一个或更多个流式音乐服务。

图6示出了示例云600。示例云600可以包括经由一个或更多个网络互连的任何数目的计算设备。例如,云600可以包括计算系统500的一个或更多个实例。如图6所示,媒体回放系统610、620和630与云600相连。媒体回放系统610包括回放设备612和614以及控制设备616,所述的每个设备均具有与云600的相应连接。同样地,媒体回放系统620包括回放设备622和624以及控制设备626,所述的每个设备也均具有与云600的相应连接。并且,媒体回放系统630包括回放设备632和634以及控制设备636,所述的每个设备也均具有与云600的相应连接。

媒体回放系统610、620和630分别可以使用云600来访问各种云服务。例如,媒体回放系统610、620和630可以访问一个或更多个流式音频服务602。如上面所指出的,流式音频服务可以向媒体回放系统提供音频内容。当前可用的若干个示例流式音频服务包括:GOOGLE PLAY MUSIC ALLSONY MUSICITUNESXBOX以及TUNEIN当然存在其他流式音频服务,并且以后可以提供其他流式音频服务。

媒体回放系统610、620和630还可以分别访问一个或更多个社交网络服务604。通常,社交网络服务的特点至少部分在于服务的用户之间(或者可能服务的账户之间)的各种链接。在其他示例中,这样的链接被称为不同名称如“朋友”、“连接”、“追随者”或“喜爱”等。用户可以出于各种原因来创建这样的链接。例如,在一些情况下,用户可以具有社交网络之外的关系(例如,同事、亲属或大学朋友)。在其他情况下,两个用户可以具有类似的兴趣(例如,特定乐队或流派的粉丝)或属于某个组并且然后由于他们共享这些类似的兴趣因而在社交网络中形成链接。

云服务提供商可以提供云队列服务606。云队列服务606可以保持或能够访问一个或更多个回放队列(云队列)。在一些实例中,云队列服务606可以保持用于向云队列服务606注册的媒体回放系统的回放队列。可以将这样的回放队列称为云队列。在其他实例中,云队列服务606可以保持用于特定媒体回放系统的多个云队列,其中,可能在任何时刻处一个特定云队列“活跃”(即,“被选择”)。在另外的实例中,云队列服务606可以保持多个媒体回放系统能够访问的云队列。一个或更多个计算系统可以用于提供云队列服务606并且在数据存储装置中保持一个或更多个云队列。

各种设备可以访问云队列。访问云队列可以包括关于云队列的各种操作中的任何操作。例如,一些设备可以访问云队列以修改(例如,添加、移除或重新排序)云队列服务606保持的回放队列中的媒体项目。这样的设备可以包括控制设备如控制设备300或具有用于与云队列服务606通信的网络接口的任何适当设备。作为另一示例,媒体回放系统如媒体回放系统610和620可以访问云队列以回放云队列。

媒体回放系统中的设备可以提供产生对队列的访问的控制输入。例如,媒体回放系统中的控制设备(例如,控制设备300)可以提供包括各种控件的接口(例如,控制器接口400)。控制设备可以检测在这样的控件处的输入并且作为响应而执行关于云队列的操作。可替选地,媒体回放系统中的回放设备可以包括可以操作成生成用于请求关于云队列的各种操作的输入数据的各种控件(例如,按钮)。

如上面所指出的,可以使用各种技术来控制对云队列的访问。一些示例技术可以包括基于正在访问云队列的实体的身份来控制对云队列的访问。其他示例技术可以包括基于云队列自身的配置或设置来控制对云队列的访问。

图7示出了示例回放队列700。回放队列700包括条目列表702至732。条目702至732通过分别具有与每个条目相关联的每首歌曲的相应元数据而包括位置1至16的歌曲A至P。元数据还可以包括指示每首歌被存储的位置的指示如统一资源标识符(URI)。例如,对于特定歌曲,元数据可以包括以下统一资源定位符(URL),所述统一资源定位符(URL)指示可以从流式音频服务如图6中所描述的流式音频服务602中检索到特定歌曲的位置。歌曲A至P可以表示上面所指出的示例音频项目中的任何示例音频项目。虽然通过示例将回放队列700示出为包括15个条目,但是如果分别向回放队列700添加(即,插入)媒体项目或从回放队列700移除(即,删除)媒体项目,则回放队列700可以得到另外的条目或者具有更少的条目。媒体回放系统可能可以以特定顺序如通过位置的顺序回放或随机(无序)回放来回放队列700。

云队列服务如云队列服务606可以保持用于一个或更多个媒体回放系统的回放队列700,并且可以将回放队列700称为“云队列”。例如,图5的计算系统500的实例(其可以提供云队列服务606)可以保持用于媒体回放系统610的回放队列700。在这样的示例中,回放设备612和/或回放设备616可能可以将回放队列700的本地副本保持在如图2的存储器206的存储器中。替选地,可以将回放队列700保持在如图3的控制设备300的实例的另一计算系统上。在其他可能的益处中,这样的本地副本可以提供云队列的缓存实例,使得媒体回放系统中的设备可以访问本地副本并且避免在访问云队列时可能涉及的传输延迟。

上面与回放设备、控制器设备、回放区域配置、媒体内容源以及云计算有关的论述仅提供了在其中可以实现下述功能和方法的工作环境的一些示例。本文中没有明确描述的媒体回放系统、回放设备以及网络设备的其他工作环境和配置也可以应用于并适合于功能和方法的实现。

分别在图8、图9、图10、图12、图13、图15和图16中示出的方法800、900、1000、1200、1300、1500和1600表示可以在以下工作环境内实现的方法的实施方式,所述工作环境包括例如图1的媒体回放系统100、图2的回放设备200中的一个或更多个回放设备、图3的控制设备300中的一个或更多个控制设备或图5的计算系统500中的一个或更多个计算系统。另外,通过示例示出的由媒体回放系统执行的操作可以由任何适当设备如媒体回放系统中的回放设备或控制设备来执行。方法800、900、1000、1200、1300、1500和1600可以包括分别在图8、图9、图10、图12、图13、图15和图16中示出的一个或更多个块所示出的一个或更多个操作、功能或动作。虽然按照顺序次序示出了块,但是也可以按照并行次序和/或与本文所描述的次序不同的次序来执行这些块。而且,可以基于所期望的实现将各种块组合成较少的块、划分成另外的块和/或移除。

另外,对于本文中公开的方法和其他处理,流程图示出了当前实施方式的一种可能的实现的功能和操作。就这一点而言,每个块可以表示程序代码的模块、片段或一部分,程序代码包括能够由处理器执行的用于实现处理中的特定逻辑功能或步骤的一个或更多个指令。可以将程序代码存储在任意类型的计算机可读介质上,例如包括磁盘或硬盘驱动器的存储设备。计算机可读介质可以包括非暂态计算机可读介质,例如将数据存储短时间段的计算机可读介质如寄存器存储器、处理器高速缓冲存储器和随机存取存储器(RAM)。例如,计算机可读介质还可以包括非暂态介质如辅助存储器或持久长期存储装置,如只读存储器(ROM)、光盘或磁盘、致密盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。例如,可以将计算机可读介质视为计算机可读存储介质或有形存储设备。另外,对于本文中公开的方法和其他处理,每个块可以表示被布线成执行处理中的特定逻辑功能的电路。

Ⅲ.基于授权令牌访问云队列的示例技术

如上面所论述的,本文所描述的实施方式可以包括基于授权令牌来访问云队列。授权令牌可以用于基于哪个实体(例如,特定媒体回放系统或设备)正在尝试访问云队列来控制对云队列的访问。例如,媒体回放系统中的设备可以访问云队列。在其他示例中,访问云队列可以包括显示云队列、回放云队列、或操纵云队列。图8示出了通过授权令牌访问队列的示例方法。

a.获得授权令牌

在方法800的块802处,方法包括获得与队列对应的授权令牌。例如,诸如图1的媒体回放系统100或图6的媒体回放系统610、620和630之一的媒体回放系统可以获得与媒体项目的特定队列对应的授权令牌。在一些情况下,媒体回放系统的特定设备如回放设备(例如,图2的回放设备200)或控制设备(例如,图3的控制设备300)可以获得授权令牌。可以经由网络接口通过诸如广域网(例如,因特网)的一个或更多个网络来获得授权。

可以将特定队列存储在远程服务器(例如,在提供云队列服务时涉及的服务器)处并且可以将特定队列称为“云队列”。将“远程”服务器视为通过包括广域网的一个或更多个网络与可以访问队列的实体分开。例如,参照图6,媒体回放系统610可以通过在通信上耦接媒体回放系统与远程服务器的一个或更多个网络从云队列服务606的服务器获得授权令牌。在一些情况下,媒体回放系统可以从特定队列被存储或保持的远程服务器获得与特定队列对应的授权令牌。可替选地,媒体回放系统可以从另一远程服务器获得与特定队列对应的授权令牌,所述另一远程服务器可能是与特定队列被存储或保持的远程服务器在通信上耦接的远程服务器。

如上面所指出的,所获得的授权令牌可以与媒体项目的特定队列对应。因此,授权令牌可以用于管理对特定队列的访问。例如,给定云队列服务可以保持或访问一个或更多个云队列,每个云队列包括零个或更多个媒体项目。在这样的情况下,所获得的授权令牌可以与一个或更多个云队列中的特定云队列对应。远程服务器可以使用授权令牌以管理对特定云队列的访问。可替选地,所获得的授权令牌可以与特定队列组对应。在其他示例中,这样的组可以包括由云队列服务代表特定媒体回放系统所保持的云队列或由云队列服务代表特定用户账户所保持的云队列。

在一些实现中,授权令牌可以授权或允许实体执行关于特定队列的某些操作,如访问特定队列。实体在尝试执行所允许的操作中的一个操作时可以具有或提供授权令牌,并且在给出授权令牌的有效性的情况下,允许实体执行操作。

授权令牌可以被视为与允许不同操作的某些“访问权限”相关联。在一些实现中,可以禁止尝试执行关于队列的某些操作的实体执行操作,除非该实体已经通过授权令牌被授权。例如,可以允许具有或提供授权令牌的实体执行在访问权限的特定水平或集合内的操作。可以通过授权令牌给不同的实体授予不同的访问权限。例如,第一实体(例如,媒体回放系统或设备)可以获得与第一访问权限相关联的第一授权令牌,并且第二实体可以获得与不同于第一访问权限的第二访问权限相关联的第二授权令牌。

作为一个示例,与给定授权令牌相关联的访问权限可以包括允许显示队列的显示权限,并且因此,可以允许已经获得了给定授权令牌的实体执行在队列的显示时涉及的操作。队列的显示可以包括可能通过图3的控制设备300的用户接口308来显示与在图4所示的控制器接口400的回放队列区440中的队列相关联的媒体项目的指示。通过示例,在队列的显示时涉及的操作可以包括向远程服务器发送对队列的至少一个媒体项目的指示的请求并且可能可以包括接收所请求的指示以及显示至少一个所指示的媒体项目。

作为另一示例,与给定授权令牌相关联的访问权限可以包括允许对与授权令牌对应的特定队列的操纵的队列权限。例如,在其他示例中,可以允许已经获得了与队列权限相关联的授权令牌的实体向队列添加媒体项目、从队列中移除媒体项目或者对队列内的媒体项目进行重新排序。在一些实施方式中,实体(例如,媒体回放系统或这样的系统中的设备)可以向正在保持队列的远程实体(例如,服务器)发送操纵队列的请求。

作为再一示例,与给定授权令牌相关联的访问权限可以包括允许对特定队列中的媒体项目的回放的回放权限。例如,可以允许已获得了与队列权限相关联的授权令牌的实体请求队列中的媒体项目的指示,然后回放那些媒体项目。如上面所指出的,设备可以保持云队列的本地副本。对云队列的回放可以包括:请求云队列的至少一个媒体项目的指示;将所指示的媒体项目包括在本地副本中;以及回放云队列的本地副本中的媒体项目。

在一个示例中,给定授权令牌可以认证媒体回放系统中的一个或更多个特定设备,如图2的回放设备200的一个或更多个实例。获得这样的授权令牌可以包括向远程服务器发送对如下授权令牌的请求,该授权令牌认证媒体回放系统中的一个或更多个特定设备回放队列中的媒体项目。在发送请求之后,媒体回放系统可以接收所请求的授权令牌。在一些情况下,两个或更多个设备可以联合成可以执行一些联合操作如同步回放的组。在这样的情况下,所获得的授权令牌可以认证两个或更多个设备同步地回放队列中的媒体项目。

如上面所指出的,在一些实施方式中,媒体回放系统可以与一个或更多个用户账户相关联。当用户账户可能通过图3的控制设备300的实例而登录进媒体回放系统时可以形成这样的关联。在一些情况下,授权令牌可以授权一个或更多个特定用户账户访问远程服务器处的云队列。通过利用授权令牌来认证用户账户,登录用户账户的任何媒体回放系统可以被认证以访问队列。在这样的实例中,获得授权令牌可以包括媒体回放系统向远程服务器发送对如下授权令牌的请求,该授权令牌认证特定账户访问远程服务器处的队列。如果特定用户账户被授权,则远程服务器可以批准请求并且发送所请求的授权令牌。媒体回放系统然后可以接收所请求的授权令牌。在一些情况下,所接收的授权令牌认证向特定账户注册了的控制设备访问远程服务器处的队列。控制设备可以是提供便于访问云队列的控制器接口的设备,并且因此,可以通过控制设备300来执行对云队列的访问。

在一些情况下,可能响应于接收到指示访问特定队列的请求的输入数据,媒体回放系统中的控制设备可以获得与特定队列对应的授权令牌。控制器可以使图形接口显示包括控件的控制器接口或对应于与所获得的授权令牌相关联的访问的其他接口元件。例如,如果授权令牌允许显示云队列,则控制器可以显示以下控制器接口,所述控制器接口具有示出云队列的回放队列区如图4所示的回放队列区440的实例。另外,如果授权令牌不允许云队列的回放,则控制器接口可以不包括回放控制区(例如,图4的回放控制区410)或可以指示回放控制区对于云队列被禁用或不可用。

在获得授权令牌之后,控制设备可以向媒体回放系统中的一个或更多个另外的设备发送授权令牌,并且所述另外的设备可以使用该授权令牌来访问队列。在一个示例中,媒体回放系统中的控制设备可以发送认证对远程服务器处的队列的访问的授权令牌的请求。之后,控制设备可以接收所请求的授权令牌。控制设备然后可以将所接收的授权令牌发送至媒体回放系统中的一个或更多个回放设备。如上面所指出的,由于向远程服务器提供授权令牌的实体可以被认证来访问队列,因此具有授权令牌的实体中的任何实体可以使用授权令牌来访问队列。

可替选地,可能响应于接收到回放或以其他方式访问特定队列的请求,媒体回放系统中的回放设备可以获得与特定队列对应的授权令牌。在获得授权令牌之后,回放设备可以向媒体回放系统中的一个或更多个另外的设备分发授权令牌,使得所述另外的设备可以使用授权令牌来访问队列。在一个示例中,媒体回放系统中的给定回放设备可以发送对授权令牌的请求,该授权令牌认证对远程服务器处的队列的访问。之后,给定回放设备可以接收所请求的授权令牌。控制设备然后可以将所接收的授权令牌发送至媒体回放系统中的一个或更多个另外的回放设备。在一个实现中,一个或更多个另外的回放设备可以是与给定回放设备分组在一起的回放设备。由于向远程服务器提供授权令牌的实体可以被认证来访问队列,因此具有授权令牌的所有回放设备可以访问队列。

在示例中,所获得的授权令牌可以采取各种形式。例如,所获得的授权令牌可以包括指示授权码的超文本传输协议头部,所述授权码认证关于云队列的某些操作。在这样的情况下,获得授权令牌可以包括接收指示超文本传输协议头部的数据,所述超文本传输协议头部指示授权码。头部中所指示的授权码可以认证对远程服务器处的媒体项目的队列(例如,云队列)的访问权限。可替选地,文件(即,非暂态数据)可以指示授权令牌。

在示例中,授权令牌可以授予在有限持续时间内对队列的访问。例如,授权令牌可以授予在会话的持续时间内对队列的访问权限。在这样的实施方式中,获得授权令牌可以包括:(i)向远程服务器发送媒体回放系统的给定会话的指示,以及(ii)对如下授权令牌的请求,该授权令牌认证媒体回放系统在给定会话的持续时间内访问远程服务器处的队列。此外,获得授权令牌可以包括媒体回放系统接收认证媒体回放系统在给定会话的持续时间内访问远程服务器处的队列的所请求的授权令牌。

在一些情况下,获得授权令牌可以包括实体向远程服务器发送一个或更多个证书(例如,用户名称或密码)。远程服务器可以确定,如果证书授权实体获得授权令牌,则向实体发送所请求的授权令牌。在一些情况下,证书可以包括用户账户的一个或更多个证书,如上面所指出的用户账户中的任何用户账户。

在获得授权令牌之后,设备(例如,回放设备或控制设备)可以将授权令牌存储在诸如回放设备200的存储器206或控制设备300的存储器304的数据存储装置中。然后设备在访问与授权令牌对应的云队列时可以向远程服务器提供所存储的授权令牌的指示。

b.发送授权令牌和访问队列的请求

在块804处,方法包括发送所获得的授权令牌和访问云队列的请求。例如,媒体回放系统可以向远程服务器发送所获得的授权令牌和访问特定云队列中的一个或更多个媒体项目的请求。媒体回放系统可以经由网络接口通过包括广域网的一个或更多个网络发送令牌和请求。

如上面所指出的,实体(例如,媒体回放系统或其设备)可以在尝试执行所允许的操作中的一个操作时具有或提供授权令牌,并且在给出授权令牌的有效性的情况下,允许实体执行操作。提供授权令牌可以包括向远程服务器发送授权令牌(或授权令牌的指示),所述远程服务器可以是正在保持云队列的远程服务器或者可能可以是与正在保持云队列的远程服务器在通信上耦接的不同的远程服务器。

如上面所指出的,在一些情况下,所获得的授权令牌可以允许显示队列。在一些示例中,发送访问的请求可以包括发送对供显示的一个或更多个媒体项目的指示的请求。在一些实现中,一个或更多个媒体项目可以包括云队列中的所有媒体项目。在其他实现中,一个或更多个媒体项目可以包括云队列中的媒体项目的子集。子集可以包括当前正在播放的媒体项目,并且可能可以包括与队列内当前正在播放的媒体项目最接近的一个或更多个媒体项目。

还如上面所指出的,所获得的授权令牌可以允许对队列的回放。在这样的示例中,发送访问的请求可以包括发送对供回放的一个或更多个媒体项目的指示的请求。

在另外的示例中,所获得的授权令牌可以允许对队列的操纵(例如,向队列添加项目、从队列中移除项目、或者对队列内的项目进行重新排序)。利用这样的授权令牌,发送访问的请求可以包括发送操纵队列的请求。媒体回放系统中的控制设备可以基于接收到指示这样的操纵的输入数据来发送这样的请求。

c.接收媒体回放系统可以访问队列的指示

在块706处,方法包括接收媒体回放系统可以访问队列的指示。例如,媒体回放系统可以从远程服务器接收媒体回放系统可以访问先前被请求访问的特定队列中的一个或更多个媒体项目的指示。媒体回放系统中的设备可以通过一个或更多个网络经由网络接口来接收指示。

接收媒体回放系统可以访问队列的指示可以包括接收指示特定队列中的一个或更多个媒体项目的数据。如上面所指出的,在一些情况下,所获得的授权令牌可以包括允许显示队列的显示权限。在这样的情况下,媒体回放系统可以请求供显示的队列中的一个或更多个媒体项目的指示。之后,媒体回放系统可以接收指示特定队列中的一个或更多个媒体项目的数据。在一些情况下,方法还可以包括显示一个或更多个媒体项目的相应指示。例如,媒体回放系统中的控制设备可以使图形接口显示一个或更多个媒体项目的指示。可以将该指示显示在控制器接口的回放队列区如控制器接口400的回放队列区440中。

在其他情况下,接收媒体回放系统可以访问队列的指示可以包括接收:(i)指示特定队列中的一个或更多个媒体项目的数据,以及(ii)指示一个或更多个媒体项目的相应源的数据。如上面所指出的,在一些实例中,所获得的授权令牌可以包括允许操纵队列的队列权限。对队列的操纵可以包括对队列中的媒体项目的添加、移除或重新排序,并且对队列的操纵还可以包括改变队列的回放次序(例如,通过快进或快退命令)。在这样的情况下,媒体回放系统可以向远程服务器发送操纵队列的请求。之后,媒体回放系统可以接收队列的指示,可能可以在所请求的操纵之后显示队列。例如,媒体回放系统可以向远程服务器发送向特定队列添加一个或更多个媒体项目的请求。远程服务器可以添加一个或更多个媒体项目,并且向媒体回放系统发送以下接收数据:(i)指示特定队列中的一个或更多个媒体项目的接收数据,以及(ii)指示一个或更多个媒体项目的相应源的接收数据。在一些实施方式中,媒体回放系统可以向媒体回放系统的本地队列添加所指示的一个或更多个媒体项目。

在其他情况下,接收媒体回放系统可以访问一个或更多个媒体项目的指示可以包括媒体回放系统接收指示(i)特定队列中的一个或更多个媒体项目以及(ii)一个或更多个媒体项目的相应源的数据。如上面所指出的,在一些实例中,所获得的授权令牌可以包括允许对特定队列中的媒体项目的回放的回放权限。在这样的情况下,可能响应于接收到指示回放队列的请求的输入数据,媒体回放系统可以请求供回放的队列中的至少一个媒体项目的指示。之后,媒体回放系统可以接收指示(i)特定队列中的一个或更多个媒体项目以及(ii)一个或更多个媒体项目的相应源的数据。在一些实例中,媒体回放系统可以从相应源获得一个或更多个媒体项目中的至少一个媒体项目,可能用于回放所述至少一个媒体项目。

接收指示一个或更多个媒体项目的相应源的数据可以包括接收可以用于获得媒体项目的相应标识符。例如,如上面所指出的,在一些示例中,媒体项目的队列中的每个媒体项目被分配有唯一标识符。唯一标识符可以是统一资源标识符(URI)、统一资源定位符(URL)或者设备可以用以从本地音频内容源或联网音频内容源中查找和/或检索可能用于由实体回放的音频项目的其他的一些标识符。

在一些情况下,方法还可以包括接收如下指示:所获得的授权令牌已过期,使得对远程服务器处的媒体项目的队列的访问从媒体回放系统被撤回。如上面所指出的,在一些情况下,授权令牌可以授予给定会话的持续时间内对特定队列的访问。因此,授权令牌可以基于条件的发生而过期。例如,在其他示例中,授权令牌可以在以下情况下过期:在给定持续时间之后、在已经发生阈值次数的访问之后、在队列已被回放达阈值持续时间之后或者在队列的阈值数目的媒体项目已被回放之后。在一些情况下,远程服务器可能可以通过检测上述条件中的一个条件来确定授权令牌已过期。远程服务器然后可以发送所获得的授权令牌已过期的指示,媒体回放系统可以接收该指示。

在某些条件下,授权令牌可以被更新而不是过期。例如,远程服务器可以确定对特定队列的回放已经满足更新的至少一个条件,并且基于这样的确定来更新授权令牌。更新的示例条件可以是对特定队列的该回放超过阈值持续时间或对特定队列的该回放超过给定会话的阈值比例(例如,阈值数目的媒体项目已被回放)。在一些情况下,媒体回放系统可以基于在给定会话期间由媒体回放系统对队列中的媒体项目的回放,向远程服务器发送更新所接收的授权令牌的请求。媒体回放系统可以发送指示在会话期间对特定队列的回放的回放数据,远程队列根据所述回放数据可以确定对特定队列的回放已经满足更新的至少一个条件。在给定媒体回放系统有资格得到更新了的授权令牌的情况下,媒体回放系统可以接收更新了的授权令牌,所述更新了的授权令牌认证媒体回放系统在给定会话的第二持续时间内或在其他的一些适当持续时间内如较短持续时间内访问远程服务器处的队列。

Ⅳ.基于授权令牌来控制对云队列的访问的示例技术

如上面所指出的,本文所描述的实施方式可以包括基于授权令牌来控制对云队列的访问和/或访问云队列。图9示出了远程服务器可以控制由各种媒体回放系统对云队列的访问的示例方法。

a.接收授权令牌和对队列的访问的请求

在图9的块902处,方法包括接收授权令牌和对特定队列的访问的请求。例如,计算系统(例如,远程服务器)可以经由网络接口接收与特定媒体回放系统相关联的授权令牌,以及(ii)媒体回放系统访问远离媒体回放系统的(可能由计算系统保持的)媒体项目的队列的请求。

可能取决于哪个实体被分配来控制对云队列的访问,可以由各种实体来操作计算服务器。在一个示例中,云队列服务器606的远程服务器可以通过在通信上与系统耦接的一个或更多个网络从媒体回放系统610接收授权令牌和访问请求。在另一示例中,流式音频服务602的远程服务器可以通过在通信上与系统耦接的一个或更多个网络从媒体回放系统610接收授权令牌和访问请求。在另一种情况下,可以由云托管提供商代表正在控制对云队列的访问的实体来操作服务器。所接收的授权令牌可以采取上面所提供的示例授权令牌中的任何授权令牌以及任何其他适当授权令牌的形式。

如上面所指出的,实体可以在尝试执行关于队列的操作时向正在保持云队列的计算系统提供授权令牌。在给定授权令牌指示实体被授权执行操作和授权令牌有效的情况下,计算系统可以允许操作被执行并且可以执行操作。在一些情况下,实体可以在同一消息中提供授权令牌和访问请求。可替选地,实体可以在不同消息中提供授权令牌和访问请求。

如上面所指出的,在其他示例中,访问云队列可以包括显示云队列、回放云队列或操纵云队列。因此,在一些情况下,接收访问请求可以包括接收对供显示的一个或更多个媒体项目的指示的请求。在其他情况下,接收访问请求可以包括接收对供回放的一个或更多个媒体项目的指示的请求。在另外的示例中,所接收的授权令牌可以允许对队列的操纵(例如,向队列添加项目、从队列中移除项目或者对队列内的项目进行重新排序)。利用这样的授权令牌,接收访问请求可以包括接收操纵队列的请求。

可以基于某些条件来更新将授权令牌与实体相关联的数据以及操作。例如,可以根据被授权的设备(例如,具有认证设备更新数据的授权令牌的设备)的请求来更新数据。可替选地,可以作为注册程序的一部分来更新数据。例如,可以在新的媒体回放系统或设备被注册(例如,与特定用户账户相关联)时更新数据。作为另一示例,可以在新内容源如流式音频服务被注册时更新数据。

如上面所指出的,授权令牌可以在有限持续时间内授予对队列的访问。例如,所接收的授权可以在给定会话的持续时间内授予对队列的访问。因此,在一些情况下,访问队列请求可以包括在给定会话的持续时间(例如,在会话的剩余时间内)内访问队列的请求。

b.确定授权令牌认证的对队列的访问

在块904处,方法包括确定授权令牌认证的对队列的访问。例如,计算系统可以保持或访问指示每个被授予的授权令牌提供的访问的数据。计算系统可以基于这样的数据来确定对所接收的授权令牌提供的队列的访问。数据可以采取数据库的形式。

确定授权令牌认证的对队列的访问包括标识授权令牌提供访问的云队列。如上面所指出的,每个授权令牌可以与一个或更多个特定队列对应。计算系统可以保持或访问将每个授权令牌链接至一个或更多个特定队列的数据,计算系统可以在标识授权令牌提供访问的云队列时参考所述数据。

在一些实施方式中,确定授权令牌认证的对队列的访问包括确定授权令牌认证实体执行的一个或更多个操作。对云队列的访问可以采取可以关于云队列执行的的定义了的操作集合的形式。如上面所指出的,每个操作可以包括从实体(如媒体回放系统)向远程服务器发送的请求,在该请求被授权的情况下,远程服务器可以执行该请求。在一些情况下,可以在应用编程接口(API)或其他适当定义中定义操作。

可以基于访问的类型将操作划分为不同类别。例如,在显示时涉及的操作如请求供显示的云队列中的媒体项目可以被归类为显示操作。作为另一示例,在队列操纵时涉及的操作如向队列添加媒体项目、从队列中移除媒体项目或者对队列内的媒体项目进行重新排序可以被归类为操纵操作。另一类别的操作可以是回放操作,回放操作可以包括在队列的回放时涉及的操作。在一些情况下,这样的类别可以用于确定授权令牌认证的对队列的访问。例如,计算系统可以确定授权令牌认证哪个类别的操作。

在一些实施方式中,可以将操作划分为彼此不同的两个或更多个访问水平。例如,可以将操作划分为“完全”访问和部分访问,“完全”访问包括操作的完整集合,部分访问包括操作的子集。作为另一示例,每个水平可以包括特定类别的操作。例如,第一水平可以包括操纵和显示类别,而另一水平包括回放和显示类别。在这样的实施方式中,给定授权令牌可以认证实体执行给定水平内的操作。

如上面所指出的,在一些示例中,授权令牌可以具有有效性持续时间。例如,授权令牌可以在给定会话的持续时间内有效。在这样的情况下,确定授权令牌认证的对队列的访问可以包括确定是授权令牌仍然有效还是令牌已过期。授权令牌的过期可以导致撤回对队列的访问。例如,过期的授权令牌可以不提供对队列的任何访问,或者过期的授权令牌可以提供与在令牌有效时相比的有限访问。例如,给定令牌在有效时可以授权回放和显示操作,而在过期之后,给定令牌可以仅授权显示操作或完全不授权操作。

c.提供授权令牌认证的访问

在块906处,方法包括提供授权令牌认证的访问。给定授权令牌认证请求的情况下,提供授权令牌指示的访问可以包括执行所接收的媒体回放系统的访问的请求。例如,计算系统可以根据访问请求所指示的操作的类型,通过执行在队列的显示、回放或操纵时涉及的操作来提供对队列中的媒体项目的访问。

在一些情况下,授权令牌可能过期。在这样的情况下,向媒体回放系统提供授权令牌授权的访问可以包括向媒体回放系统发送如下指示:授权令牌已过期,使得对远程服务器处的媒体项目的队列的访问被撤回或者以其他方式被限制。基于这样的消息,媒体回放系统可以限制关于队列的某些操作。例如,媒体回放系统中的控制设备可以使图形接口显示对云队列的访问被撤回的指示,并且媒体回放系统中的控制设备可能可以禁用要求所撤回的访问的某些控件。

在一些情况下,方法还可以包括向实体(例如,媒体回放系统或设备)提供授权令牌。计算系统可能可以在会话的开始处在提供对队列的访问之前提供授权令牌。在一个示例中,计算系统可以接收对认证实体(例如,发送请求的实体,实体可以是媒体回放系统中的设备)访问媒体项目的特定队列(或者可能特定队列组)的授权令牌的请求。计算系统还可以接收一个或更多个证书,如账户的用户名称和口令,所述一个或更多个证书可以用于确定发出请求的实体被授权被提供所请求的授权令牌。在确定请求被授权时,计算系统可以向实体发送所请求的授权令牌。换言之,计算设备可以发送授权令牌和所请求的访问。

在一些实施方式中,计算系统可以接收给定会话的指示和对在该给定会话的持续时间内认证实体的授权令牌的请求。计算系统然后可能可以基于由实体提供的一个或更多个证书来向实体发送这样的授权令牌。计算系统然后可以向实体提供对队列的访问直到授权令牌过期为止。

如上面所指出的,在一些示例中,可能可以在过期之后基于一个或更多个条件来更新授权令牌。例如,计算系统可以接收更新所接收的授权令牌的请求。计算系统还可以接收回放历史数据,计算系统可以使用所述回放历史数据以确定授权令牌是否可以更新。例如,回放历史数据可以指示在给定会话期间队列中的媒体项目的回放历史,并且基于所接收的回放历史,计算系统可以确定在给定会话期间对队列中的媒体项目的回放超过用于更新授权令牌的阈值。基于这样的条件,计算系统可以向实体发送更新了的授权令牌,所述更新了的授权令牌认证媒体回放系统在附加时间内如给定会话的第二持续时间内访问远程服务器处的队列。

Ⅴ.提供访问控制水平的示例技术

如上面所指出的,本文所描述的实施方式可以包括提供对云队列的不同水平的访问。图10示出了向两个或更多个实体提供不同水平的访问的示例方法。

a.接收访问队列的请求

在方法1000的块1002处,方法包括接收对媒体项目的队列的访问的一个或更多个请求。例如,计算系统可以从第一媒体回放系统接收对媒体项目的队列的访问的请求。计算系统还可以从第二媒体回放系统接收对媒体项目的队列的访问的请求。计算系统可以通过一个或更多个网络经由网络接口来接收请求。作为一个示例,诸如云队列服务606的云服务的远程服务器可以从媒体回放系统610和媒体回放612接收访问云队列的相应请求。

在一些实施方式中,每个访问请求可以包括执行关于云队列中的一个或更多个操作的请求。操作可以包括上面结合发送或接收访问请求所指出的示例类型的操作中的任何操作。例如,在其他示例中,访问请求可以包括执行在云队列的显示、云队列的回放或云队列的操纵时涉及的操作的请求。

在一些实施方式中,访问请求可以包括计算系统可以认证对队列的访问的机制。例如,每个访问请求可以包括授权令牌。可替选地,每个访问请求可以包括一个或更多个证书。

c.授权对队列的访问

在块1004处,方法包括授予对队列的访问。例如,计算系统可以给第一媒体回放系统授予第一类型的访问并且可以给第二媒体回放系统授予第二类型的访问。如上面所指出的,对云队列的访问可以包括可以关于云队列来执行的定义了的操作集合。授予访问可以包括授权媒体回放系统执行关于队列的某些操作。如上面所指出的,媒体回放系统可以通过经由网络接口向计算系统发送对这样的操作的请求来执行队列操作。该计算系统保持或能够访问媒体回放系统正在尝试访问的云队列。

每种类型的访问可以提供不同水平的访问。例如,第二类型的访问可以提供“完全”访问,“完全”访问可以包括用于执行关于云队列的操作的完整集合的授权。第一类型的访问然后可以提供部分访问,部分访问可以包括用于执行操作的子集的授权。可替选地,第一类型的访问和第二类型的访问可以授权实体分别执行第一操作子集和第二操作子集。第一操作子集和第二操作子集可以包括相同操作中的一些操作,但第一操作子集和第二操作子集彼此不同在于相应集合不包括相同操作中的所有操作。

如所指出的,可以将操作划分为不同的类别。例如,在显示时涉及的操作如请求供显示的云队列中的媒体项目可以被归类为显示操作。作为另一示例,在队列操纵时涉及的操作如向队列添加媒体项目、从队列中移除媒体项目或者对队列内的媒体项目进行重新排序可以被归类为操纵操作。另一类别的操作可以是回放操作,回放操作可以包括在队列的回放时涉及的操作。在一些情况下,每种类型的访问可以包括执行某些类别的操作的授权。例如,可以授权第二类型的访问执行操纵和显示类别中的操作,而可以授权第一类型的访问执行回放和显示类别中的操作。

在一些情况下,访问的类型可以通过其相应的授权(或缺乏授权)来区分:所述授权(或缺乏授权)用于控制云队列中的哪个媒体项目当前正在播放和/或云队列中的媒体项目是正在播放还是暂停。媒体回放系统可以通过发送与各种传输控件对应的请求来控制云队列中的哪个媒体项目当前正在播放。例如,在其他示例中,媒体回放系统可以向远程服务器发送请求,该请求用于回放、暂停、跳到队列中的下一媒体项目,跳到队列中的前一媒体项目,跃到队列中的特定媒体项目(或位置)。在一些实施方式中,被授予第二类型的访问的媒体回放可以被授权执行全部传输功能集合,而被授予第一类型的访问的媒体回放系统可以被授权执行传输功能子集。例如,第一类型的访问可以授权回放和暂停,但是可能不授权改变当前正在播放的媒体项目(例如,跳或跃)的传输功能。

在一些情况下,“播放头”指示符可能可以通过参考队列中的特定位置来指示队列中当前正在播放的媒体项目。例如,返回参照图7,歌曲E可以是当前正在播放的媒体项目,并且播放头指示符可以通过参考位置5来指示歌曲E。计算系统可以保持或能够访问指示播放头的数据。队列的回放可以发生在播放头所指示的媒体项目处。影响当前正在播放的媒体项目的操作可以改变播放头所指示的位置,该位置又可以影响哪个媒体项目当前正在播放。

如上面所指出的,媒体回放系统可能可以通过一个或更多个回放设备来回放云队列。另外,两个或更多个媒体回放系统可以同步地回放云队列,以使得媒体回放系统提供联合的聆听体验。在一些示例中,第二类型的访问可以包括用于控制云队列中哪个媒体项目当前正在播放的授权。因此,被授予第二类型的访问的媒体回放系统可以请求改变云队列中当前正在播放的媒体项目,从而改变针对当前正在回放云队列的其他媒体回放系统的当前正在播放的媒体项目。

因此,被授权改变云队列中当前正在播放的媒体项目的媒体回放系统可以被称为“DJ”媒体回放系统。被授予第一类型的访问的媒体回放系统可以不被授权改变当前正在播放的媒体项目,因此前述媒体回放系统可以被称为“收听器”。在一些回放模式中,DJ媒体回放系统可以通过控制哪个媒体项目当前正在播放来控制云队列的哪个媒体项目被回放。作为“收听器”的媒体回放系统可以“遵循”由DJ媒体回放系统设置的回放顺序。

图11示出了包括远程服务器1102的示例环境1100,远程服务器1102包括云队列1112。远程服务器1102通过一个或更多个网络1110连接至媒体回放系统1104、媒体回放系1106以及媒体回放系统1108。网络1110可以包括:诸如因特网的一个或更多个广域网;以及一个或更多个局域网。在一个示例中,远程服务器1102可以向媒体回放系统1104授予第二类型的访问。在该示例中,第二类型的访问可以允许媒体回放系统1104改变云队列1112中当前正在播放的媒体项目(即,成为“DJ”)并且可能还可以通过对项目进行插入、移除或重新排序来操纵队列。

远程服务器1102可以向媒体回放系统1106和1108授予第一类型的访问。第一类型的访问可能可以如媒体回放系统1102(“DJ”)所指导来允许云队列1112的回放。例如,如所示出的,媒体回放系统1104可能可以通过改变或设置播放头的位置来将队列1112的当前媒体项目设置为位置3处的歌曲C。媒体回放系统1106和/或媒体回放系统1108可以根据第一类型的访问来访问队列1112。如所指出的,这可以包括如媒体回放系统1104所指导来回放队列1112。通过媒体回放系统1104对队列1112或当前正在播放的媒体项目做出的改变可以经由远程服务器1102传播至媒体回放系统1106和1108。例如,媒体回放系统1104可以发送将播放头从队列1112中的第一位置改变为队列1112中的第二位置(例如,快进到队列中的下一媒体项目)的请求。远程服务器1102可以接收该请求,确定授予媒体回放系统1104的访问授权该系统执行所请求的动作并且然后执行该请求。远程服务器1102可能可以通过向媒体回放系统1106和1108发送新的当前正在播放的媒体项目的指示来使媒体回放系统1106和1108的相应回放设备回放与第二位置对应的媒体项目。

方法还可以包括确定发出请求的实体是否被授权访问队列。例如,计算系统可以确定所接收的授权令牌或证书是否授权实体被授予实体所请求的访问。计算系统可以基于这样的确定来授予访问(或可以不授予访问)。

方法还可以包括确定哪个媒体回放系统被授予哪种类型的访问。如上面所指出的,在一些情况下,第二类型的访问可以授权比第一类型的访问多的关于队列的操作(例如,可以执行访问的操作的完整集合)。可替选地,第二类型的访问可以授权包括与第一类型的访问相比的较多的关于队列的控件的操作(例如,与回放和/或显示操作相比,用于执行操纵操作的授权)。因此,一些实施方式可以限制哪个(哪些)媒体回放系统被授予这样的访问。

在一些实施方式中,可以将每种类型的访问限制于有限数目的媒体回放系统。例如,可以将第二类型的访问限制于一个媒体回放系统。在这样的情况下,当接收到向媒体回放系统授予特定类型的访问的请求时,计算系统可以确定向媒体回放系统授予该种类型的访问是否将超过媒体回放系统的阈值数目。如果向媒体回放系统授予该种类型的访问将超过媒体回放系统的阈值数目,则计算系统可以拒绝向媒体回放系统授予特定类型的访问的请求,并且可能可以向发出请求的媒体回放系统发送拒绝的指示。

在一些情况下,计算系统可以使访问的类型在正在访问特定云队列的媒体回放系统之间循环。在这样的示例中,每个媒体回放系统可以被授予有限持续时间内的第二类型的访问,并且可以被授予其他时间处的第二类型的访问。例如,返回参照图11的DJ示例,媒体回放系统1104、1106和1108可以每三十分钟(或其他的某个适当持续时间)轮流作为DJ。在操作中,计算系统可以检测出第一媒体回放系统已被授予在阈值持续时间内进行第二类型的访问,并且基于这样的检测,给第二媒体回放系统授予第二类型的访问并且给第一媒体回放系统授予第一类型的访问。

在一些情况下,授予每个媒体回放系统的访问的类型可以基于与相应媒体回放系统相关联的用户账户。在这样的实施方式中,可以向用户账户被登录(或以其他方式关联的)的任何媒体回放系统授予向该用户账户授予的访问。特定用户账户可以与多个媒体回放系统相关联,使得多个媒体回放系统可以具有向用户账户授予的访问。

在一些实施方式中,计算系统可以向正在首次访问特定云队列的媒体回放系统(或用户账户)授予特定类型的访问。例如,在向实体授予对特定云队列的访问的第一实例时,计算系统可以向实体授予有限持续时间(例如,绝对时间的有限持续时间或回放时间的有限持续时间)内的第二类型的访问(例如,完全访问)。例如,在操作中,计算系统可以从第三媒体回放系统接收访问队列的请求,确定该请求是来自第三媒体回放系统的请求的第一实例,并且基于这样的确定,给第三媒体回放系统授予第二类型的访问(例如,完全访问)。

在示例中,一些类型的访问可以允许实体请求另一实体被授予特定类型的访问。例如,可以授权具有第二类型的访问的媒体回放系统向另一媒体回放系统(可能具有第一类型的访问)授予第二类型的访问。在操作中,计算系统可以从第二媒体回放系统接收向特定媒体回放系统授予特定类型的访问的请求,确定给第二媒体回放系统授予的访问的类型授权第二媒体回放系统授予特定类型的访问,并且基于这样的确定,向特定媒体回放系统授予第二类型的访问。

在一些情况下,向实体授予的访问的类型可以基于哪个实体创建了云队列。例如,与特定用户账户相关联的设备可以向计算系统发送建立云队列的请求。计算系统可以通过建立云队列来执行请求,并且根据已经建立了云队列向用户账户授予第二类型的访问。可以向访问云队列的其他用户账户授予第二类型的访问。如上面所指出的,向每个实体授予的访问的类型可能可以基于某些条件来改变。

c.提供访问的指示

在块1006处,方法包括提供访问的指示。计算系统可以提供第一媒体回放系统可以访问由第一类型的访问授权的队列的指示,并且可以提供第二媒体回放系统可以能够如第二类型的访问所授权的那样访问队列的指示。

在一些情况下,计算系统可以通过发送指示媒体回放系统已经被授予特定类型的访问的消息来指示该媒体回放系统可以访问由特定类型的访问授权的队列。例如,计算系统可以通过一个或更多个网络向每个媒体回放系统发送相应消息。在接收到消息之后,计算系统可以根据它们已经被授予的访问来发送访问队列的请求。

在其他情况下,计算系统可以通过计算系统应媒体回放系统的请求而执行的发送请求的指示来指示媒体回放系统可以访问由特定类型的访问授权的队列。例如,计算系统可以从第一媒体回放系统接收回放队列的请求,确定给第一媒体回放系统授予的第一类型的访问授权第一媒体回放系统回放队列;并且向第一媒体回放系统发送指示队列中的一个或更多个媒体项目的数据。在一些情况下,计算系统还可以发送指示一个或更多个媒体项目的相应源的数据,一个或更多个媒体项目可由第一媒体回放系统从相应源中播放。

Ⅵ.根据访问控制水平来访问队列的示例技术

如上面所指出的,本文所描述的实施方式可以包括提供对云队列的不同水平的访问。图12示出了使用一个或更多个不同访问水平来访问云队列的示例方法。

a.发送对队列的访问的请求

在方法1200的块1202处,方法包括发送对媒体项目的队列的访问的请求。媒体回放系统中的设备(例如,控制设备或回放设备)可以请求访问媒体项目的云队列。例如,设备可以向保持或能够访问云队列的计算系统发送回放、显示或操纵队列中的媒体项目的请求。本文中提供了访问队列的许多示例,并且其他示例也是可以的。例如,访问的请求可以包括授权令牌。

b.接收对队列的访问的指示

在块1204处,方法包括接收对队列的访问的指示。例如,设备可以(例如,在其他示例中,基于用户账户、特定设备或设备的类型或授权令牌)接收媒体回放系统(或设备)可以访问由特定类型的访问授权的队列的指示。如上面所指出的,对云队列的多种类型的访问是可以的。每种类型的访问可以允许关于队列的不同操作集合。在一些情况下,设备可以接收指示媒体回放系统已经被授予特定类型的访问的消息。可替选地,设备可以接收计算系统代表媒体回放系统执行的请求的指示。其他示例也是可以的。

c.接收队列中的媒体项目的指示

在块1206处,方法包括接收队列中的一个或更多个媒体项目的指示。例如,设备可以请求供显示或回放的一个或更多个媒体项目的指示,并且可以接收所请求的指示。可替选地,设备可以请求修改队列,并且在修改之后接收队列内的媒体项目的指示。

如上面所指出的,在一些情况下,访问队列可以包括回放队列。另外,在一些情况下,媒体回放系统可以基于指示队列的当前媒体项目的播放头来回放云队列。在回放期间,设备(例如,回放设备)可以接收播放头的相应位置的一个或更多个指示并且启动队列的与播放头同步的回放。如上面所指出的,多个媒体回放系统可以分别与播放头同步地回放队列,以便于媒体回放系统之间的联合的聆听体验。

Ⅶ.根据云队列设置来控制队列的访问的示例技术

如上面所指出的,本文所描述的实施方式可以包括基于云队列的各种设置或属性来控制云队列的访问。示例计算系统可以保持或访问多个云队列,每个云队列具有控制由设备访问相应云队列的相应属性。图13示出了包括具有两个或更多个访问状态的云队列的示例方法,其中,每个访问状态指示允许关于队列来执行的不同队列操作集合。

a.接收建立队列的请求

在方法1300的块1302处,方法包括接收建立媒体项目的队列的请求。例如,计算系统可以从媒体回放系统接收建立媒体项目的云队列的请求。计算系统可以在计算系统自身处建立云队列,或者可以使云队列建立在与该计算系统通信上耦接的另一计算系统处。

所建立的云队列可以包括零个或更多个媒体项目。在一些情况下,计算系统可以接收将一个或更多个媒体项目插入到所建立的云队列中的指示。可替选地,云队列可以被配置成包括一个或更多个媒体项目,但并非包括任何媒体项目。

可以由唯一标识符如统一资源标识符来标识所建立的云队列以区分所建立的云队列与计算系统可以保持或访问的其他云队列。所执行的关于云队列的操作可以通过参考唯一标识符来参考云队列。

图14A示出了包括通过一个或更多个网络1410连接的远程服务器1402和媒体回放系统1404的示例环境1400。为了建立云队列,媒体回放系统1404可以经由网络接口通过一个或更多个网络1410发送在远程服务器1402处建立云队列的请求。当接收到请求时,远程服务器1402可以建立云队列1412。

在云队列1412被建立之后,媒体回放系统可以访问云队列1412。诸如媒体回放系统中的回放设备和控制设备的计算设备以及可能的其他计算设备可以通过各种操作来访问云队列。本文公开了可以执行的关于云队列的操作的许多示例,并且其他示例也是可以的。可以访问云队列的媒体回放系统可以包括已经被授予访问的那些媒体回放系统。如上面所指出的,由于媒体回放系统1102建立了云队列1412,因此媒体回放系统1102可以被授予访问。访问队列可以包括建立与云队列1412的全部或一部分同步的本地队列1414。

图14B还示出了示例环境1400。除媒体回放系统1402之外,环境1400作为示例包括正在访问云队列1412的媒体回放系统1406和1408,并且同样地环境1400已经建立了对云队列1412进行镜像的相应本地队列1416和1418。如上面所指出的,在其他可能的特征中,媒体回放系统1406和1408可以访问云队列1412以同步地回放云队列1412的媒体项目。

b.向队列分配第一访问状态

在块1304处,方法包括向队列分配第一访问状态。例如,计算系统可以向云队列分配第一访问状态。访问状态可以指示某些实体被允许执行的关于队列的队列操作集合。

在一些情况下,第一访问状态可以是通常向新建立的云队列分配的初始访问状态。可替选地,访问状态可以包括针对新建立的云队列所请求的访问状态。返回参照图14A,远程服务器1402可以向云队列1412分配第一访问状态。

计算系统可以通过云队列的当前分配的访问状态来控制对云队列的访问。例如,第一访问状态可以指示至少一个媒体回放系统被授权执行关于队列的第一队列操作集合。换言之,给定队列被分配有第一访问状态的情况下,被授权访问云队列(可能通过证书或授权令牌)的实体可以被授权执行关于队列的第一队列操作集合。

云队列可以具有可能的访问状态的有限集合。在一些示例中,访问状态的集合可以包括第一访问状态和第二访问状态。第一访问状态和第二访问状态分别可以指示媒体回放系统被授权执行第一操作集合和第二操作集合。虽然第一操作集合和第二操作集合可以包括相同操作中的一些操作,但是所述集合彼此不同在于它们不包括相同的操作集合。

在一些情况下,第一队列操作集合可以包括云队列的回放(并且第二操作集合可以不包括回放)。在操作中,媒体回放系统可以启动云队列的回放。例如,图14的媒体回放系统1404可以启动云队列1412在媒体回放系统1402中的一个或更多个回放设备上的回放。远程服务器1402可以从媒体回放系统1404接收对供回放的队列1412中的一个或更多个媒体项目的指示的请求。这样的请求可以用于使本地队列1414与云队列1412同步。远程服务器1402可以确定队列被分配有第一访问状态使得媒体回放系统被授权回放云队列1412,并且基于这样的确定,向媒体回放系统1404发送队列中的一个或更多个媒体项目的指示并且还可以发送相应源的指示,根据所述相应源的指示,媒体回放系统1104可以检索一个或更多个媒体项目。

在一些情况下,第一队列操作集合可以包括修改队列(并且第二操作集合可以不包括修改)。图14的媒体回放系统1404可以通过向远程服务器1402发送请求来请求在媒体回放系统1402的一个或更多个回放设备上修改云队列1412。例如,远程服务器1402可以接收通过将一个或更多个另外的媒体项目插入到队列中来修改云队列1412的请求。远程服务器1402可以确定队列被分配有第一访问状态使得媒体回放系统被授权修改队列,并且基于所述确定,根据请求来修改队列并且向媒体回放系统1404(并且可能还向媒体回放系统1406和1408)发送一个或更多个另外的媒体项目的指示。

在一些实施方式中,云队列可以具有有限的“寿命”。云队列在某些条件下可能过期。在这样的实施方式中,可以在其寿命期间向云队列分配第一访问状态并且可以向已经达到“寿命结束”或过期的云队列分配第二访问状态。

c.检测触发器

在块1306处,方法包括检测指示队列的访问状态的改变的触发器。例如,图14B的远程服务器1402可以检测指示云队列1412的访问状态的改变的触发器。如上面所指出的,在一些实施方式中,云队列可以具有有限的“寿命”并且触发器可以指示云队列的“寿命结束”。在各种实施方式中,触发器可以与不同的条件对应。

在一些实施方式中,触发器可以基于阈值持续时间而发生。例如,触发器可以基于自某个参考事件起经过的阈值持续时间而发生。参考事件可以包括队列的建立或者可能可以包括队列被回放的最后一个实例。在这样的示例中,检测触发器可以包括确定自参考事件发生(例如,自从队列被建立)起已经过了阈值持续时间。可替选地,云队列可以被限制于在达到寿命结束之前的特定回放持续时间。例如,检测触发器可以包括确定队列被回放的持续时间超过阈值持续时间。在该示例中,参考事件可以包括队列的回放的启动。

触发器可以基于与对队列的访问的范围有关的其他条件。例如,检测触发器可以包括确定一个或更多个媒体回放系统已将队列中的媒体项目回放了多于阈值数目的次数。在示例中,每个媒体项目可以被限制于特定阈值次数的播放,或者队列中的媒体项目可以被限制于组合阈值(例如,500次播放)。可替选地,检测触发器可以包括确定阈值数目的媒体回放系统已访问了队列,或者可能队列已被访问了阈值数目的次数。

在一些情况下,触发器可以与云队列内的媒体项目的许可限制对应。计算系统可以接收指示对于队列内的媒体项目中的每个媒体项目的相应许可限制的数据,并且基于这样的数据来标识触发器。例如,可以将来自特定标签的媒体项目限制于每周播放五次。为了遵循这样的限制,计算系统可以在达到这样的阈值之后改变队列的访问状态。

d.将队列的访问状态修改为第二访问状态

在块1308处,方法包括将队列的访问状态从第一访问状态修改为第二访问状态。例如,计算系统可以基于检测到指示访问状态的改变的触发器(例如,当检测到触发器时)来修改访问状态。如上面所指出的,第二访问状态指示了媒体回放系统被授权执行第二队列操作集合。第二操作集合可以包括较少的操作,或者包括涉及较小访问范围的操作。

例如,第二操作集合可以包括对队列的回放,但是可以不包括对队列的修改(对队列的修改可以包括在第一操作集合内)。返回参照图14B,远程服务器1402可以将云队列1412的访问状态从第一访问状态改变为第二访问状态。之后,远程服务器1402可以从媒体回放系统1404接收修改云队列1412(如通过将一个或更多个另外的媒体项目包括在队列中、从队列中移除项目或者对队列内的项目进行重新排序)的请求。远程服务器1402可以确定云队列1412被分配有第二访问状态使得媒体回放系统不被授权修改队列而不是修改云队列1412,远程服务器1402可以向媒体回放系统1404发送媒体回放系统不被授权修改队列的指示。

作为另一示例,第二操作集合可包括对队列子集的回放。例如,可以通过许可或其他限制来限制队列中的媒体项目中的一些媒体项目,然而可以不限制其他项目。为了说明,远程服务器1402可以从媒体回放系统1406接收对供回放的云队列1412中的一个或更多个媒体项目的指示的请求。远程服务器1402可以确定云队列1412被分配有第二访问状态使得媒体回放系统被授权回放队列的子集。远程服务器1402可以标识包括在子集中的媒体项目,并且向媒体回放系统1406发送所标识的媒体项目的指示。

其他的操作组合也是可以的。作为另外的示例,第二操作集合可以包括对队列的显示(并且可以不包括对队列的回放或修改),以使得队列仅可用于查看。如上面所指出的,媒体回放系统中的控制设备可以使图形接口显示云队列的指示,云队列的指示可以包括云队列中的媒体项目的指示,并且可能还包括对媒体项目的排序。这样的显示可以在一些访问状态下而不是在其他访问状态下被授权。作为另一示例,第二操作集合可以不包括回放。

e.发送第二访问状态的指示

在块1310处,方法包括向媒体回放系统发送第二访问状态的指示。例如,返回参照图14B,远程服务器1402可以向媒体回放系统1404(并且可能还可以向媒体回放系统1404和1408)发送云队列1412的第二访问状态的指示。当接收到第二访问状态的指示时,对云队列1412的访问可以限制于第二操作集合。

在一些情况下,接收到第二访问状态的指示可以引起对云队列的本地副本的删除(或移除)。例如,远程服务器1402可以向媒体回放系统1404、1406和1408发送云队列1412的第二访问状态的指示,该指示可以引起对本地队列1414、1416和1418的删除。更特别地,该指示可以包括引起本地队列移除的指令。

在一些情况下,第二访问状态的指示可以基于所请求的操作。例如,当接收到执行操作的请求时,计算系统可以确定队列的被分配的访问状态是否指示这样的操作被授权,并且作为响应允许或拒绝执行操作的请求。在允许请求时,计算系统可以执行所请求的操作并且向发出请求的媒体回放系统发送操作的指示。在拒绝请求时,计算系统可以发送这样的操作不被授权的指示,或者可能可以发送队列被分配有特定状态而在这种状态下操作不被允许的指示。

在一些实施方式中,可以将队列的访问状态从第二访问状态修改回到第一访问状态。例如,可能在某些条件下,可以恢复已过期的云队列。如果队列的访问状态可以被修改,则媒体回放系统可以接收到访问状态可以被修改的指示。这样的媒体回放系统可能可以基于检测到请求访问队列的输入数据来请求修改访问状态。当接收到这样的请求时,媒体回放系统可能可以基于上面所指出的许可数据来确定这样的请求是否被授权,并且在给定这样的操作被授权的情况下修改访问状态。

Ⅷ.根据云队列设置来控制对本地队列的访问的示例技术

如上面所指出的,本文所描述的实施方式可以包括基于云队列的各种设置或属性来控制对云队列的访问。图15示出了涉及具有两个或更多个访问状态的云队列的示例方法1500,其中,每个访问状态指示被允许执行的关于与云队列相关联的本地队列的不同队列操作集合。本地队列可以是云队列的本地实例(或副本)。

a.接收队列和队列的第一访问状态的指示

在方法1500的块1502处,方法包括接收媒体项目的队列的指示和队列具有第一访问状态的指示。例如,参照图14B,媒体回放系统1404的设备(例如,回放设备200或控制设备300的实例)可以接收云队列1412的指示和云队列1412具有第一访问状态的指示。如上面所指出的,第一访问状态可以指示回放设备被授权执行第一队列操作集合,如上面所指出的操作。

b.建立本地队列

在块1504处,方法包括建立本地队列。例如,媒体回放系统1404的回放设备可以建立本地队列1414,本地队列1414可以是云队列1412中的包括云队列1412中指示的媒体项目的本地实例。在一些情况下,本地实例可以包括云队列1412中的媒体项目的子集。子集可以包括一个或更多个媒体项目的序列,所述一个或更多个媒体项目包括可能通过播放头被指定为当前正在播放的媒体项目的媒体项目。

c.接收队列的第二访问状态的指示

在块1506处,方法包括接收队列已被分配有第二访问状态的指示。例如,媒体回放系统1404的回放设备可以接收云队列1402已被分配有第二访问状态的指示。如上面所指出的,第二访问状态可以指示媒体回放系统1404的回放设备被授权执行第二操作集合。第二访问状态可以指示队列已过期(即,达到寿命结束)并且因此队列仅可用于与在其寿命期间可用的操作相比的有限操作集合。

d.将本地队列限制于第二队列操作集合

在块1508处,方法包括将本地队列限制于第二操作集合。例如,媒体回放系统1404中的回放设备可以将本地队列1414限制于第二操作集合。在操作中,回放设备可能可以从控制设备接收执行关于本地队列和/或云队列的操作的请求。当接收到请求时,回放设备可以确定所请求的操作是否在第二操作集合中,并且在给定操作被授权的情况下执行操作。

回放设备还可以向媒体回放系统1404中的其他设备如一个或更多个另外的回放设备以及可能一个或更多个控制设备发送第二访问状态的指示。这可以在媒体回放系统1404中的设备之间分配云队列的状态。在一些情况下,媒体回放系统1404可以移除本地队列1414。例如,媒体回放系统中的每个设备可能可以基于接收到第二访问状态的指示来移除与云队列有关的数据。

如上面所指出的,在本地队列被限制之后,媒体回放系统1404可以执行第二操作集合。第二操作集合可以是与第一操作集合相比的有限操作集合。例如,在其他示例中,可以将队列的回放限制于媒体项目的子集或队列的显示。

Ⅳ.显示云队列设置的示例技术

图16示出了涉及云队列访问设定的显示的示例方法1600。

a.云队列的显示指示

在方法1600的块1602处,媒体回放系统中的控制设备可以显示控制器接口,如图4的控制器接口400。控制器接口可以包括媒体回放系统当前正在访问或已访问的一个或更多个云队列的指示。例如,控制器接口可以在回放队列区如图4的回放队列区440中显示媒体回放系统当前正在访问的云队列(即,“活跃的”队列)。在一些情况下,控制器接口可以包括媒体回放系统已经建立或访问的其他云队列和/或本地队列的指示。接口还可以包括对云队列的回放和/或修改的控制。

b.接收队列访问状态的指示

在块1604处,该方法包括接收队列的访问状态的指示。例如,控制设备可以从媒体回放系统中的回放设备或者可能从保持云队列或能够访问云队列的远程服务器接收云队列的访问状态的指示。控制设备可以周期性地接收访问状态的指示,或者可以在访问状态改变时接收访问状态的指示。

在一些实施方式中,接收访问状态可以包括接收在改变访问状态的触发器事件发生以前剩余“寿命”的指示。如上面所指出的,远程服务器可以基于触发器来修改云队列的访问状态。另外,触发器可以涉及与已经发生的队列访问的范围有关的各种阈值。在队列的寿命期间,控制器设备可以接收在达到触发器阈值之前剩余的寿命的量的一个或更多个指示。例如,控制设备可以接收在已经过了阈值持续时间之前剩余的时间的量的指示。作为另一示例,控制设备可以接收在达到阈值次数的回放之前剩余的回放的次数的指示。其他示例也是可以的。

c.显示队列访问状态的指示

在块1606处,方法包括使图形接口显示云队列的访问状态的指示。在一些实施方式中,控制器接口可以包括访问状态的指示(例如,云队列是具有第一访问状态还是具有第二访问状态)。例如,控制器接口可以指示云队列受限于寿命或云队列已过期(例如,达到寿命结束)。当队列达到寿命结束时,控制器接口可以指示云队列被限制于某些操作(即,第二操作集合)。控制设备可以显示能够操作成执行不在第二操作集合内的操作的控制器接口的控制。控制器接口可以例如通过改变不可用项目的颜色或外观来在视觉上改变以指示某些控件或项目不可用。

如上面所指出的,远程服务器可以基于触发器来修改云队列的访问状态。另外,触发器可以涉及与已经发生的队列访问的范围有关的各种阈值。在队列的寿命期间,控制器接口可以包括在达到触发器阈值之前剩余的寿命的量的指示。例如,控制器接口可以包括在已经过了阈值持续时间之前剩余的时间的量的指示。作为另一示例,控制器接口可以示出进度条或其他指示符,进度条或其他指示符示出在达到阈值次数的播放之前剩余多少次播放。用于示出队列的剩余寿命的其他示例指示也是可以的。

Ⅴ.结论

以上描述公开了各种示例系统、方法、装置以及包括固件和/或在硬件上执行的软件等部件的制品等。应当理解,这些示例仅是示意性的,而不应当被视为限制。例如,可以想到,这些固件、硬件和/或软件方面或部件中的任一个或全部可以专有地实施成硬件、专有地实施成软件、专有地实施成固件、或者实施成硬件、软件和/或固件的任意组合。因此,所提供的示例不是用于实现这样的系统、方法、装置和/或制品的唯一方式。

如上面所指出的,示例技术可以包括基于授权令牌控制对云队列的访问。一方面,提供了一种方法。该方法可以包括获得与远程服务器处的媒体项目的特定队列对应的授权令牌。该方法还可以包括发送:(i)所获得的授权令牌,以及(ii)对特定队列中的一个或更多个媒体项目的访问的请求。该方法还可以包括接收媒体回放系统能够访问一个或更多个媒体项目的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括获得与远程服务器处的媒体项目的特定队列对应的授权令牌。所述功能还可以包括发送:(i)所获得的授权令牌,以及(ii)对特定队列中的一个或更多个媒体项目的访问的请求。所述功能还可以包括接收媒体回放系统能够访问一个或更多个媒体项目的指示。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括获得与远程服务器处的媒体项目的特定队列对应的授权令牌。所述功能还可以包括发送:(i)所获得的授权令牌,以及(ii)对特定队列中的一个或更多个媒体项目的访问的请求。所述功能还可以包括接收媒体回放系统能够访问一个或更多个媒体项目的指示。

再一方面,提供了另一方法。该方法可以包括接收:(i)与特定媒体回放系统相关联的授权令牌,以及(ii)由媒体回放系统对媒体项目的队列的访问的请求。该方法还可以包括确定授权令牌给媒体回放系统认证的对队列的访问。该方法还可以包括向媒体回放系统提供授权令牌给媒体回放系统认证的对媒体项目的访问。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收:(i)与特定媒体回放系统相关联的授权令牌,以及(ii)由媒体回放系统对媒体项目的队列的访问的请求。所述功能还可以包括确定授权令牌给媒体回放系统认证的对队列的访问。所述功能还可以包括向媒体回放系统提供授权令牌给媒体回放系统认证的对媒体项目的访问。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收:(i)与特定媒体回放系统相关联的授权令牌,以及(ii)由媒体回放系统对媒体项目的队列的访问的请求。所述功能还可以包括确定授权令牌给媒体回放系统认证的对队列的访问。所述功能还可以包括向媒体回放系统提供授权令牌给媒体回放系统认证的对媒体项目的访问。

还如上面所指示的,示例技术可以包括向实体授予相应类型的访问。在一方面,提供了一种方法。该方法可以包括接收:(i)来自第一媒体回放系统的对媒体项目的队列的访问的请求,以及(ii)来自第二媒体回放系统的对媒体项目的队列的访问的请求。该方法还可以包括:(i)给第一媒体回放系统授予第一类型的访问,以及(ii)给第二媒体回放系统授予第二类型的访问。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。该方法还可以包括提供:(i)第一媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示,以及(ii)第二媒体回放系统能够如第二类型的访问所授权的那样访问队列的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收:(i)来自多个第一媒体回放系统的对媒体项目的队列的相应访问的相应请求,以及(ii)来自第二媒体回放系统的对媒体项目的队列的访问的请求。所述功能还可以包括:(i)给第一媒体回放系统授予第一类型的访问,以及(ii)给第二媒体回放系统授予第二类型的访问。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括:(i)向第一媒体回放系统提供如第一类型的访问权限所授权的对队列的访问,以及(ii)向第二媒体回放系统提供如第二类型的访问权限所授权的对队列的访问。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收:(i)来自多个第一媒体回放系统的对媒体项目的队列的相应访问的相应请求,以及(ii)来自第二媒体回放系统的对媒体项目的队列的访问的请求。所述功能还可以包括:(i)给第一媒体回放系统授予第一类型的访问,以及(ii)给第二媒体回放系统授予第二类型的访问。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括:(i)向第一媒体回放系统提供如第一类型的访问权限所授权的对队列的访问,以及(ii)向第二媒体回放系统提供如第二类型的访问权限所授权的对队列的访问。

再一方面,提供了另一种方法。该方法可以包括发送对媒体项目的队列的访问的请求。该方法还可以包括接收媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。该方法还可以包括接收队列中的一个或更多个媒体项目的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括发送对媒体项目的队列的访问的请求。所述功能还可以包括接收媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括接收队列中的一个或更多个媒体项目的指示。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括发送对媒体项目的队列的访问的请求。所述功能还可以包括接收媒体回放系统能够如第一类型的访问所授权的那样访问队列的指示。第一类型的访问可以授权第一媒体回放系统对媒体项目的队列执行第一操作集合并且第二类型的访问可以授权第二媒体回放系统对媒体项目的队列执行第二操作集合,第二操作集合不同于第一操作集合。所述功能还可以包括接收队列中的一个或更多个媒体项目的指示。

如上面还指示的,示例技术可以包括基于云队列自身的配置或设置来控制对云队列的访问。在一方面,提供了一种方法。该方法可以包括接收建立媒体项目的队列的请求。该方法还可以包括向队列分配第一访问状态。第一访问状态可以指示至少一个媒体回放系统被授权执行第一队列操作集合。在向队列分配第一访问状态之后,该方法可以包括检测指示队列的访问状态的改变的触发器。基于所检测到的触发器,该方法可以包括将队列的访问状态从第一访问状态修改为第二访问状态。第二访问状态可以指示至少一个媒体回放系统被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。该方法还可以包括向媒体回放系统发送第二访问状态的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收建立媒体项目的队列的请求。所述功能还可以包括向队列分配第一访问状态。第一访问状态可以指示至少一个媒体回放系统被授权执行第一队列操作集合。在向队列分配第一访问状态之后,所述功能可以包括检测指示队列的访问状态的改变的触发器。所述功能可以包括基于检测到的触发器将队列的访问状态从第一访问状态修改为第二访问状态。第二访问状态可以指示至少一个媒体回放系统被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能还可以包括向媒体回放系统发送第二访问状态的指示。

在另一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收建立媒体项目的队列的请求。所述功能还可以包括向队列分配第一访问状态。第一访问状态可以指示至少一个媒体回放系统被授权执行第一队列操作集合。在向队列分配第一访问状态之后,所述功能可以包括检测指示队列的访问状态的改变的触发器。所述功能可以包括基于检测到的触发器将队列的访问状态从第一访问状态修改为第二访问状态。第二访问状态可以指示至少一个媒体回放系统被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能还可以包括向媒体回放系统发送第二访问状态的指示。

在另一方面,提供了另一种方法。该方法可以包括接收:(i)媒体项目的队列的指示,以及(ii)队列具有第一访问状态的指示。第一访问状态可以指示回放设备被授权执行第一队列操作集合。该方法还可以包括建立队列的本地实例。该方法还可以包括接收队列已被分配有第二访问状态的指示。第二访问状态可以指示回放设备被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。该方法可以包括将队列的本地实例限制于第二队列操作集合。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括接收:(i)媒体项目的队列的指示,以及(ii)队列具有第一访问状态的指示。第一访问状态可以指示回放设备被授权执行第一队列操作集合。所述功能还可以包括建立队列的本地实例。所述功能还可以包括接收队列已被分配有第二访问状态的指示。第二访问状态可以指示回放设备被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能可以包括将队列的本地实例限制于第二队列操作集合。

再一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括接收:(i)媒体项目的队列的指示,以及(ii)队列具有第一访问状态的指示。第一访问状态可以指示回放设备被授权执行第一队列操作集合。所述功能还可以包括建立队列的本地实例。所述功能还可以包括接收队列已被分配有第二访问状态的指示。第二访问状态可以指示回放设备被授权执行第二队列操作集合,第二队列操作集合不同于第一队列操作集合。所述功能可以包括将队列的本地实例限制于第二队列操作集合。

在另一方面,提供了一种方法。该方法可以包括在图形接口上显示队列的指示。该方法还可以包括接收队列的访问状态的指示。该方法还可以包括显示队列的访问状态的指示。

在另一方面,提供了一种设备。该设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中的程序逻辑,程序逻辑能够由至少一个处理器运行以执行功能。所述功能可以包括在图形接口上显示队列的指示。所述功能还可以包括接收队列的访问状态的指示。所述功能还可以包括显示队列的访问状态的指示。

又一方面,提供了一种非暂态计算机可读存储器。该非暂态计算机可读存储器存储有指令,所述指令能够由计算设备执行以使该计算设备执行功能。所述功能可以包括在图形接口上显示队列的指示。所述功能还可以包括接收队列的访问状态的指示。所述功能还可以包括显示队列的访问状态的指示。

主要在说明性的环境、系统、过程、步骤、逻辑块、处理以及直接或间接地与耦接至网络的数据处理设备的操作相类似的其他象征性表示的方面上,提出本说明书。本领域技术人员通常使用这些处理描述和表示来向本领域其他技术人员最有效地传达他们的工作内容。阐述了各种具体细节,以提供对本公开内容的透彻理解。然而,本领域技术人员应当理解,在没有特定、具体细节的情况下也可以实施本公开内容的某些实施方式。在其他实例中,没有详细描述熟知的方法、过程、组件和电路,以避免不必要地使实施方式的方面模糊不清。因此,本公开内容的范围由所附权利要求书而不是由以上对实施方式的描述来限定。

当所附权利要求书中的任意权利要求被理解成涵盖纯软件和/或固件的实现时,在此将至少一个示例中的至少一个单元明确限定成包括存储软件和/或固件的有形非暂态介质如存储器、DVD、CD、蓝光等。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1