首页 / 专利库 / 版权及相关权 / 表演者 / 本地和远程媒体项的管理

本地和远程媒体项的管理

阅读:855发布:2020-12-12

专利汇可以提供本地和远程媒体项的管理专利检索,专利查询,专利分析的服务。并且一种在客户端设备处的方法包括显示与媒体项集合对应的媒体库信息。媒体项包括一个或者多个本地媒体项和一个或者多个远程媒体项,该一个或者多个本地媒体项包括在客户端设备处存储的媒体项,该一个或者多个远程媒体项包括在远程系统处存储而未在客户端设备处存储的媒体项。该方法还包括:与显示媒体库信息并发地显示标识远程媒体项的供给;检测与标识相应远程媒体项的供给的用户交互;以及响应于检测到用户交互,发起用于向客户端设备下载相应远程媒体项的副本以用于在客户端设备处存储的过程。,下面是本地和远程媒体项的管理专利的具体信息内容。

1.一种方法,包括:
在具有显示器的客户端设备处:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个本地媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个远程媒体项;
与显示所述媒体库信息并发地显示标识所述远程媒体项的供给;
检测用于激活对相应远程媒体项的回放的用户命令;
响应于检测到所述用户命令,发起用于播放所述相应远程媒体项的过程,包括:
从所述远程系统向所述客户端设备处的高速缓存下载所述相应远程媒体项的副本,以及
播放所述高速缓存中的所述相应远程媒体项的所述副本;以及
维持关于所述相应远程媒体项的所述供给。
2.根据权利要求1所述的方法,其中播放所述副本包括:在所述副本被完整地下载之前,开始播放所述高速缓存中的所述相应远程媒体项的所述副本。
3.一种方法,包括:
在具有显示器的客户端设备处:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个本地媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个远程媒体项;
与显示所述媒体库信息并发地显示标识所述远程媒体项的供给;
检测与标识相应远程媒体项的供给的用户交互;以及
响应于检测到所述用户交互,发起用于向所述客户端设备下载所述相应远程媒体项的副本以用于在所述客户端设备处存储的过程。
4.根据权利要求3所述的方法,还包括:通过按照包括一个或者多个本地媒体项和一个或者多个远程媒体项的播放列表所确定的顺序播放所述播放列表中的所述媒体项,来对关于所述播放列表的预定义用户命令做出响应。
5.根据权利要求3所述的方法,还包括:
确定所述客户端设备是否具有与所述远程系统的连接;
在与所述远程系统的连接存在时,通过按照包括一个或者多个本地媒体项和一个或者多个远程媒体项的播放列表所确定的顺序播放所述播放列表中的所述媒体项,来对关于所述播放列表的预定义用户命令做出响应;以及
在与所述远程系统的连接不存在时,通过按照所述播放列表所确定的所述顺序仅播放所述播放列表中的所述本地媒体项,来对关于所述播放列表的预定义用户命令做出响应。
6.根据权利要求3所述的方法,其中下载所述相应远程媒体项的副本包括下载所述副本以用于在所述客户端设备处存储。
7.根据权利要求3所述的方法,其中下载所述相应远程媒体项的副本包括向高速缓存中下载所述副本。
8.根据权利要求1-7中的任一权利要求所述的方法,
其中显示所述媒体库信息包括显示标识所述本地媒体项和所述远程媒体项的列表;并且
其中显示所述供给包括显示标识所述列表中的所述远程媒体项的相应图标。
9.根据权利要求8所述的方法,
其中标识所述远程媒体项的所述相应图标是交互式的;并且
其中检测与对应于所述相应远程媒体项的所述供给的交互包括检测与对应于所述相应远程媒体项的所述相应图标的交互。
10.根据权利要求8-9中的任一权利要求所述的方法,
其中所述列表中的所述媒体项的顺序与相应媒体项是本地媒体项还是远程媒体项无关。
11.根据权利要求8-9中的任一权利要求所述的方法,
其中标识所述媒体项的所述列表按照从包括标题、表演者或者作者、专辑或者汇集、评价、时间和格的集合中选择的一个或者多个特性排序,并且其中所述列表中的所述媒体项的所述顺序与哪些列举的媒体项是本地媒体项以及哪些列举的媒体项是远程媒体项无关。
12.根据前述权利要求中的任一权利要求所述的方法,
其中显示所述媒体库信息包括显示包括一个或者多个汇集的汇集图库,其中多个所述媒体项中的每个媒体项与相应汇集关联;并且
其中显示所述供给包括显示用于标识与一个或者多个远程媒体项分别关联的相应汇集的相应图标。
13.根据权利要求12所述的方法,
其中显示所述供给包括:针对具有一个或者多个远程媒体项的相应汇集,显示指示所述相应汇集中的远程媒体项计数的数目。
14.根据权利要求12-13中的任一权利要求所述的方法,还包括:
检测与对应于如下汇集的供给的交互,所述汇集具有将所述汇集标识为与一个或者多个远程媒体项相关联的图标;以及
响应于检测到所述交互,发起用于向所述客户端设备下载与所述汇集关联的所述远程媒体项中的至少一个远程媒体项的相应副本以用于在所述客户端设备处存储的过程。
15.根据任一前述权利要求所述的方法,其中所述远程媒体项中的一个或者多个远程媒体项是已经从所述客户端设备移除的对应本地媒体项的副本。
16.根据任一前述权利要求所述的方法,其中所述远程媒体项中的一个或者多个远程媒体项与数字媒体商店处的数字媒体购买相对应并且不具有对应本地媒体项。
17.根据任一前述权利要求所述的方法,还包括在所述客户端设备处本地存储用于所述媒体项集合中的每个媒体项的元数据,用于相应媒体项的本地存储的所述元数据包括存储位置信息,所述存储位置信息指示所述相应媒体项是否被本地存储在所述客户端设备处、以及所述相应媒体项是否被远程存储在所述远程系统处。
18.根据权利要求17所述的方法,其中用于所述相应媒体项的本地存储的所述元数据包括源标记,所述源标记指示所述相应媒体项是否是在预定义数字媒体商店处购买的。
19.根据权利要求17-18中的任一权利要求所述的方法,还包括在向所述客户端设备下载相应媒体项时,更新用于所述相应媒体项的所述元数据中的文件路径。
20.根据权利要求17-18中的任一权利要求所述的方法,还包括响应于预定义触发条件而发起本地存储的所述元数据与在所述远程系统处存储的对应元数据的同步。
21.根据权利要求17-20中的任一权利要求所述的方法,其中在所述存储位置信息指示相应媒体项被本地存储在所述客户端设备处时,所述存储位置信息还指示所述相应媒体项是经久地存储在所述客户端设备处还是缓存在所述客户端设备处。
22.根据权利要求17-21中的任一权利要求所述的方法,其中用于相应媒体项的所述存储位置信息包括从以下各项构成的集合中选择的状态信息:本地存储、本地缓存、远程存储和多个转移状态。
23.根据权利要求22所述的方法,其中所述多个转移状态包括:向本地存储装置转移、向高速缓存转移、进行中的购买交易和正从本地存储装置删除。
24.根据任一前述权利要求所述的方法,其中所述远程媒体项中的一个或者多个远程媒体项包括在所述客户端设备处缓存的对应副本,其中缓存的所述副本根据高速缓存管理策略而经受从所述客户端设备处的高速缓存的驱逐。
25.根据任一前述权利要求所述的方法,还包括在显示与所述媒体项集合对应的所述媒体库信息时,抑制对已经被标记为隐藏的远程媒体项的显示。
26.根据权利要求1-25中的任一权利要求所述的方法,还包括接收用于从所述客户端设备删除相应本地媒体项并且将所述相应本地媒体项标记为隐藏的用户命令。
27.根据权利要求1-26中的任一权利要求所述的方法,其中在所述客户端设备具有与所述远程系统的在线连接时,执行对与所述媒体项集合对应的所述媒体库信息的显示;所述方法还包括:
在所述客户端设备离线时,显示与所述本地媒体项对应的所述媒体库信息,并且抑制对与在所述远程系统处存储而未在所述客户端设备处存储的所述远程媒体项对应的媒体库信息的显示。
28.根据权利要求1-26中的任一权利要求所述的方法,其中在所述客户端设备具有与所述远程系统的在线连接时,执行对与所述媒体项集合对应的所述媒体库信息的显示,并且在所述远程系统处存储而未在所述客户端设备处存储的所述远程媒体项中的一个或者多个远程媒体项是一个或者多个媒体项的播放列表的成员;所述方法还包括:
在所述客户端设备离线时,显示与所述播放列表对应的所述媒体库信息,包括显示与在所述远程系统处存储而未在所述客户端设备处存储的所述远程媒体项对应的所述媒体库信息、连同标识所述播放列表中的所述远程媒体项的可视标记。
29.根据权利要求1-26中的任一权利要求所述的方法,其中在所述客户端设备具有与所述远程系统的在线连接时,执行对与所述媒体项集合对应的所述媒体库信息的显示;所述方法还包括:
在所述客户端设备离线时,显示与所述媒体项集合对应的所述媒体库信息,包括:
根据第一预定义格式化,显示用于在所述客户端设备处存储的所述一个或者多个本地媒体项的媒体库信息;以及
根据与所述第一预定义格式化视觉上不同的第二预定义格式化,显示用于在所述远程系统处存储而未在所述客户端设备处存储的所述一个或者多个远程媒体项的媒体库信息。
30.根据任一前述权利要求所述的方法,其中所述本地媒体项中的一个或者多个本地媒体项具有在所述远程系统处存储的相应的对应副本。
31.根据任一前述权利要求所述的方法,还包括:确定相应媒体项是否被存储在所述客户端设备和所述远程系统二者处;并且如果所述相应媒体项被存储在所述远程系统处并且没有对应副本被存储在在所述客户端设备处,则显示标识所述相应媒体项的供给。
32.根据权利要求3-31中的任一权利要求所述的方法,其中显示媒体库信息还包括抑制对所述媒体项集合中的、与预定义过滤准则匹配的相应媒体项的显示。
33.根据权利要求3-32中的任一权利要求所述的方法,其中向所述客户端设备下载以用于在所述客户端设备处存储的所述相应远程媒体项的所述副本具有一个或多个预定义质量度量,其不同于对应的先前被删除的本地媒体项的所述一个或者多个预定义质量度量。
34.根据权利要求3-32中的任一权利要求所述的方法,还包括:响应于预定义用户命令,用从所述远程系统下载的更高质量媒体项取代相应本地媒体项,所述更高质量媒体项具有与所述相应本地媒体项的内容对应的内容。
35.一种方法,包括:
服务器设备处:
从第一客户端设备接收与用户关联的第一媒体库信息;
至少基于所述第一媒体库信息来识别:
在与所述用户关联的所述第一客户端设备处存储的一个或者多个客户端媒体项,以及与所述用户关联的、不具有在所述第一客户端设备处存储的对应副本的一个或者多个服务器媒体项,包括未被包括在所述第一媒体库信息中的一个或者多个新服务器媒体项;
以及
向所述第一客户端设备发送第二媒体库信息,所述第二媒体库信息包括与包括所述新服务器媒体项的所述服务器媒体项和所述客户端媒体项对应的信息;其中所述第二媒体库信息被发送给所述第一客户端设备,以用于在所述第一客户端设备处向所述用户呈现,并且用于取代或者更新所述第一客户端设备处的所述第一媒体库信息。
36.根据权利要求35所述的方法,其中所述第二媒体库信息将不具有在所述第一客户端设备处存储的对应副本的所述服务器媒体项指示为可下载到所述第一客户端设备。
37.根据权利要求36所述的方法,还包括:在所述第二媒体库信息中包括与用于不具有在所述第一客户端设备处存储的对应副本的所述服务器媒体项的交互供给对应的标记,所述交互供给将不具有在所述第一客户端设备处存储的对应副本的所述服务器媒体项指示为可下载的,并且其中响应于检测到与相应供给的用户交互,所述对应服务器媒体项向所述第一客户端设备的下载被激活。
38.根据权利要求35-37中的任一权利要求所述的方法,其中所述新服务器媒体项包括与从数字媒体商店的购买对应的一个或者多个服务器媒体项。
39.根据权利要求35-38中的任一权利要求所述的方法,其中所述新服务器媒体项包括与在与所述用户关联的第二客户端设备处存储的相应客户端媒体项对应的一个或者多个服务器媒体项。
40.根据权利要求35-39中的任一权利要求所述的方法,其中所述识别还识别与在所述第一客户端设备处存储的相应副本对应的一个或者多个服务器媒体项。
41.根据权利要求35-40中的任一权利要求所述的方法,还包括:
从所述第一客户端设备接收信息,所述信息指示已经从所述第一客户端设备删除了相应客户端媒体项;以及
响应于接收到所述信息,生成第三媒体库信息以取代或者更新所述第二媒体库信息,其中:
如果所删除的所述客户端媒体项对应于相应服务器媒体项,则所述第三媒体库信息包括将所述相应服务器媒体项指示为可下载到所述第一客户端设备的信息;并且如果所删除的客户端媒体项不具有在所述服务器设备处存储的对应服务器媒体项,则所述第三媒体库信息排除关于所删除的所述客户端媒体项的信息。
42.根据权利要求41所述的方法,还包括:
从所述第一客户端设备接收对于删除所述相应服务器媒体项的用户请求;以及响应于接收到所述用户请求,生成第四媒体库信息以取代或者更新所述第三媒体库信息,所述第四媒体库信息排除与所述相应服务器媒体项对应的信息。
43.根据权利要求35-42中的任一权利要求所述的方法,其中所述第二库信息包括如下信息,该信息将所述客户端媒体项和服务器媒体项组织成一个或者多个汇集并且将包括不具有对应客户端媒体项的一个或者多个服务器媒体项的汇集指示为具有可下载媒体项。
44.一种方法,包括:
在具有显示器的客户端设备处:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个媒体项;
与显示所述媒体库信息并发地显示标识在远程系统处存储的所述媒体项的供给;
检测用于激活对在远程系统处存储的相应媒体项的回放的用户命令;
响应于检测到所述用户命令,发起用于播放在远程系统处存储的所述相应媒体项的过程,包括:
从远程系统向所述客户端设备处的高速缓存下载在所述远程系统处存储的所述相应媒体项的副本,以及
播放所述高速缓存中的所述相应媒体项的所述副本;以及
维持关于在远程系统处存储的所述相应媒体项的所述供给。
45.一种方法,
在具有显示器的客户端设备处:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个媒体项;
与显示所述媒体库信息并发地显示标识在远程系统处存储的所述媒体项的供给;
检测与标识在远程系统处存储的相应媒体项的供给的用户交互;以及
响应于检测到所述用户交互,发起用于向所述客户端设备下载在远程系统处存储的所述相应媒体项的副本以用于在所述客户端设备处存储的过程。
46.一种客户端设备,包括:
一个或者多个处理器;
存储器;以及
一个或者多个程序,其中所述一个或者多个程序被存储于所述存储器中并且被配置为由所述一个或者多个处理器执行,所述一个或者多个程序包括用于以下操作的指令:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个本地媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个远程媒体项;
与显示所述媒体库信息并发地显示标识所述远程媒体项的供给;
检测用于激活对相应远程媒体项的回放的用户命令;以及
响应于检测到所述用户命令,发起用于播放所述相应远程媒体项的过程,包括:
从所述远程系统向所述客户端设备处的高速缓存下载所述相应远程媒体项的副本;
播放所述高速缓存中的所述相应远程媒体项的所述副本;以及
维持关于所述相应远程媒体项的所述供给。
47.一种客户端设备,包括:
一个或者多个处理器;
存储器;以及
一个或者多个程序,其中所述一个或者多个程序被存储于所述存储器中并且被配置为由所述一个或者多个处理器执行,所述一个或者多个程序包括用于以下操作的指令:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个本地媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个远程媒体项;
与显示所述媒体库信息并发地显示标识所述远程媒体项的供给;
检测与标识相应远程媒体项的供给的用户交互;以及
响应于检测到所述用户交互,发起用于向所述客户端设备下载所述相应远程媒体项的副本以用于在所述客户端设备处存储的过程。
48.一种服务器设备,包括:
一个或者多个处理器;
存储器;以及
一个或者多个程序,其中所述一个或者多个程序被存储于所述存储器中并且被配置为由所述一个或者多个处理器执行,所述一个或者多个程序包括用于以下操作的指令:
从第一客户端设备接收与用户关联的第一媒体库信息;
至少基于所述第一媒体库信息来识别:
在与所述用户关联的所述第一客户端设备处存储的一个或者多个客户端媒体项,以及与所述用户关联的、不具有在所述第一客户端设备处存储的对应副本的一个或者多个服务器媒体项,包括未被包括在所述第一媒体库信息中的一个或者多个新服务器媒体项;
以及
向所述第一客户端设备发送第二媒体库信息,所述第二媒体库信息包括与包括所述新服务器媒体项的所述服务器媒体项和所述客户端媒体项对应的信息;其中所述第二媒体库信息被发送给所述第一客户端设备,以用于在所述第一客户端设备处向所述用户呈现,并且用于取代或者更新所述第一客户端设备处的所述第一媒体库信息。
49.一种存储一个或者多个程序的计算机可读存储介质,所述一个或者多个程序包括指令,所述指令在由具有一个或者多个处理器和存储器的客户端设备执行时使得所述设备:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个本地媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个远程媒体项;
与显示所述媒体库信息并发地显示标识所述远程媒体项的供给;
检测用于激活对相应远程媒体项的回放的用户命令;以及
响应于检测到所述用户命令,发起用于播放所述相应远程媒体项的过程,包括:
从所述远程系统向所述客户端设备处的高速缓存下载所述相应远程媒体项的副本;
播放所述高速缓存中的所述相应远程媒体项的所述副本;以及
维持关于所述相应远程媒体项的所述供给。
50.一种存储一个或者多个程序的计算机可读存储介质,所述一个或者多个程序包括指令,所述指令在由具有一个或者多个处理器和存储器的计算机执行时使得所述设备:
显示与媒体项集合对应的媒体库信息,所述媒体项包括:
在所述客户端设备处存储的一个或者多个本地媒体项,以及
在远程系统处存储而未在所述客户端设备处存储的一个或者多个远程媒体项;
与显示所述媒体库信息并发地显示标识所述远程媒体项的供给;
检测与标识相应远程媒体项的供给的用户交互;以及
响应于检测到所述用户交互,发起用于向所述客户端设备下载所述相应远程媒体项的副本以用于在所述客户端设备处存储的过程。
51.一种存储一个或者多个程序的计算机可读存储介质,所述一个或者多个程序包括指令,所述指令在由具有一个或者多个处理器和存储器的计算机执行时使得所述设备:
从第一客户端设备接收与用户关联的第一媒体库信息;
至少基于所述第一媒体库信息来识别:
在与所述用户关联的所述第一客户端设备处存储的一个或者多个客户端媒体项,以及与所述用户关联的、不具有在所述第一客户端设备处存储的对应副本的一个或者多个服务器媒体项,包括未被包括在所述第一媒体库信息中的一个或者多个新服务器媒体项;
以及
向所述第一客户端设备发送第二媒体库信息,所述第二媒体库信息包括与包括所述新服务器媒体项的所述服务器媒体项和所述客户端媒体项对应的信息;其中所述第二媒体库信息被发送给所述第一客户端设备,以用于在所述第一客户端设备处向所述用户呈现,并且用于取代或者更新在所述第一客户端设备处的所述第一媒体库信息。
52.一种系统,包括:
一个或者多个处理器;
存储器;以及
一个或者多个程序,其中所述一个或者多个程序被存储于所述存储器中并且被配置为由所述一个或者多个处理器执行,所述一个或者多个程序包括用于执行根据权利要求1-45所述的方法中的任一方法的指令。
53.一种设备,包括:
一个或者多个处理器;
存储器;以及
一个或者多个程序,其中所述一个或者多个程序被存储于所述存储器中并且被配置为由所述一个或者多个处理器执行,所述一个或者多个程序包括用于执行根据权利要求1-45所述的方法中的任一方法的指令。
54.一种存储一个或者多个程序的计算机可读存储介质,所述一个或者多个程序包括指令,所述指令在由具有一个或者多个处理器和存储器的计算机执行时使得所述设备执行根据权利要求1-45所述的方法中的任一方法。

说明书全文

本地和远程媒体项的管理

技术领域

[0001] 本申请一般地涉及媒体项的管理。

背景技术

[0002] 数字内容、诸如音乐和电影的购买和消费已经增长至其与传统媒体、诸如物理盘抗衡的程度。另外,移动设备的普及已经进一步开启用于在活动中以及在家里消费数字内容的机会。
[0003] 然而,随着用户每个人具有越来越多的设备,在这样的设备上的数字内容的管理变得越来越繁琐和困难。由于在用户设备、例如家用计算机和智能电话上对数字内容的购买和存储分离,所以在设备上的数字内容库也分离。为了保证对用户的数字内容库的全面访问,用户必须将数字内容库和文件跨他的设备来同步,这可能是耗时的和繁琐的。发明内容
[0004] 根据一些实施例,在具有显示器的客户端设备处执行一种方法。该方法包括:显示与媒体项集合对应的媒体库信息,该媒体项包括:一个或者多个本地媒体项,该一个或者多个本地媒体项包括在客户端设备处存储的媒体项;以及一个或者多个远程媒体项,该一个或者多个远程媒体项包括在远程系统处存储而未在客户端设备处存储的媒体项;与显示媒体库信息并发地显示标识远程媒体项的供给(affordance);检测用于激活对相应远程媒体项的回放的用户命令;响应于检测到用户命令,发起用于播放相应远程媒体项的过程,包括:从远程系统向客户端设备处的高速缓存下载相应远程媒体项的副本,并且播放高速缓存中的相应远程媒体项的副本;以及维持关于相应远程媒体项的供给。
[0005] 根据一些实施例,在具有显示器的客户端设备处执行一种方法。该方法包括:显示与媒体项集合对应的媒体库信息,该媒体项包括:一个或者多个本地媒体项,该一个或者多个本地媒体项包括在客户端设备处存储的媒体项;以及一个或者多个远程媒体项,该一个或者多个远程媒体项包括在远程系统处存储而未在客户端设备处存储的媒体项;与显示媒体库信息并发地显示标识远程媒体项的供给;检测与标识相应远程媒体项的供给的用户交互;以及响应于检测到用户交互,发起用于向客户端设备下载相应远程媒体项的副本以用于在客户端设备处存储的过程。
[0006] 根据一些实施例,在具有显示器的客户端设备处执行一种方法。该方法包括:显示与媒体项集合对应的媒体库信息,该媒体项包括:在客户端设备处存储的一个或者多个媒体项,和在远程系统处存储而未在客户端设备处存储的一个或者多个媒体项;与显示媒体库信息并发地显示标识在远程系统处存储的媒体项的供给;检测用于激活对在远程系统处存储的相应媒体项的回放的用户命令;响应于检测到用户命令,发起用于播放在远程系统处存储的相应媒体项的过程,包括:从远程系统向客户端设备处的高速缓存下载在远程系统处存储的相应媒体项的副本,以及播放高速缓存中的相应媒体项的副本;以及维持关于在远程系统处存储的相应媒体项的供给。
[0007] 根据一些实施例,在具有显示器的客户端设备处执行一种方法。该方法包括:显示与媒体项集合对应的媒体库信息,媒体项包括:在客户端设备处存储的一个或者多个媒体项和在远程系统处存储而未在客户端设备处存储的一个或者多个媒体项;与显示媒体库信息并发地显示标识在远程系统处存储的媒体项的供给;检测与标识在远程系统处存储的相应媒体项的供给的用户交互;以及响应于检测到用户交互,发起用于向客户端设备下载在远程系统处存储的相应媒体项的副本以用于在客户端设备处存储的过程。
[0008] 根据一些实施例,一种客户端设备包括显示器、一个或者多个处理器、存储器以及一个或者多个程序;一个或者多个程序被存储于存储器中并且被配置为由一个或者多个处理器执行,并且一个或者多个程序包括用于执行以上描述的方法中的任一方法的操作的指令。根据一些实施例,一种在客户端设备上的图形用户接口,客户端设备具有显示器、存储器和用于执行在存储器中存储的一个或者多个程序的一个或者多个处理器,该图形用户接口包括如在以上描述的方法中的任一方法中显示的要素中的一个或者多个要素,其响应于输入而被更新,如在以上描述的方法中的任一方法中所描述的那样。根据一些实施例,一种计算机可读存储介质具有在其中存储的指令,该指令在由具有显示器的客户端设备执行时使该设备执行以上描述的方法中的任一方法的操作。根据一些实施例,一种客户端设备包括:显示器;以及用于执行以上描述的方法中的任一方法的操作的装置。根据一些实施例,一种用于在具有显示器的客户端设备中使用的信息处理设备包括用于执行以上描述的方法中的任一方法的操作的装置。
[0009] 根据一些实施例,在服务器设备处执行一种方法。该方法包括:从第一客户端设备接收与用户关联的第一媒体库信息;至少基于第一媒体库信息来识别:在与用户关联的第一客户端设备处存储的一个或者多个客户端媒体项,以及与用户关联的、不具有在第一客户端设备处存储的对应副本的一个或者多个服务器媒体项、包括不在第一媒体库信息中包括的一个或者多个新服务器媒体项;以及向第一客户端设备发送第二媒体库信息,第二媒体库信息包括与包括新服务器媒体项的服务器媒体项和客户端媒体项对应的信息;其中向第一客户端设备发送第二媒体库信息以用于在第一客户端设备处向用户呈现并且用于取代或者更新在第一客户端设备处的第一媒体库信息。
[0010] 根据一些实施例,一种服务器设备包括一个或者多个处理器、存储器和一个或者多个程序。一个或者多个程序被存储于存储器中并且被配置为由一个或者多个处理器执行。一个或者多个程序包括用于以下操作的指令:从第一客户端设备接收与用户关联的第一媒体库信息;至少基于第一媒体库信息来识别:在与用户关联的第一客户端设备处存储的一个或者多个客户端媒体项,以及与用户关联的、不具有在第一客户端设备处存储的对应副本的一个或者多个服务器媒体项、包括不在第一媒体库信息中包括的一个或者多个新服务器媒体项;以及向第一客户端设备发送第二媒体库信息,第二媒体库信息包括与包括新服务器媒体项的服务器媒体项和客户端媒体项对应的信息;其中向第一客户端设备发送第二媒体库信息以用于在第一客户端设备处向用户呈现并且用于取代或者更新在第一客户端设备处的第一媒体库信息。
[0011] 根据一些实施例,一种计算机可读存储介质具有在其中存储的指令,该指令在由服务器设备执行时使设备:从第一客户端设备接收与用户关联的第一媒体库信息;至少基于第一媒体库信息来识别:在与用户关联的第一客户端设备处存储的一个或者多个客户端媒体项,以及与用户关联的、不具有在第一客户端设备处存储的对应副本的一个或者多个服务器媒体项、包括不在第一媒体库信息中包括的一个或者多个新服务器媒体项;以及向第一客户端设备发送第二媒体库信息,第二媒体库信息包括与包括新服务器媒体项的服务器媒体项和客户端媒体项对应的信息;其中向第一客户端设备发送第二媒体库信息以用于在第一客户端设备处向用户呈现并且用于取代或者更新在第一客户端设备处的第一媒体库信息。
[0012] 根据一些实施例,一种服务器设备包括:用于从第一客户端设备接收与用户关联的第一媒体库信息的装置;用于至少基于第一媒体库信息来识别以下媒体项的装置:在与用户关联的第一客户端设备处存储的一个或者多个客户端媒体项,以及与用户关联的、不具有在第一客户端设备处存储的对应副本的一个或者多个服务器媒体项、包括不在第一媒体库信息中包括的一个或者多个新服务器媒体项;以及用于向第一客户端设备发送第二媒体库信息的装置,第二媒体库信息包括与包括新服务器媒体项的服务器媒体项和客户端媒体项对应的信息;其中向第一客户端设备发送第二媒体库信息以用于在第一客户端设备处向用户呈现并且用于取代或者更新在第一客户端设备处的第一媒体库信息。
[0013] 根据一些实施例,一种用于在服务器设备中使用的信息处理设备包括:用于从第一客户端设备接收与用户关联的第一媒体库信息的装置;用于至少基于第一媒体库信息来识别以下媒体项的装置:在与用户关联的第一客户端设备处存储的一个或者多个客户端媒体项,以及与用户关联的、不具有在第一客户端设备处存储的对应副本的一个或者多个服务器媒体项、包括未在第一媒体库信息中包括的一个或者多个新服务器媒体项;以及用于向第一客户端设备发送第二媒体库信息的装置,第二媒体库信息包括与包括新服务器媒体项的服务器媒体项和客户端媒体项对应的信息;其中向第一客户端设备发送第二媒体库信息以用于在第一客户端设备处向用户呈现并且用于取代或者更新在第一客户端设备处的第一媒体库信息。附图说明
[0014] 为了更好地理解前述实施例及其附加实施例,应当结合以下附图参照以下具体实施方式,在附图中,相似标号贯穿各图指代对应部分。
[0015] 图1是图示根据一些实施例的媒体消费和获取环境的框图
[0016] 图2是根据一些实施例的示例性客户端设备的框图。
[0017] 图3是根据一些实施例的示例性多功能设备的框图。
[0018] 图4是根据一些实施例的远程服务器和远程存储装置的框图。
[0019] 图5是根据一些实施例的数字媒体商店服务器和数字媒体商店存储装置的框图。
[0020] 图6A-图6E图示根据一些实施例的用于管理媒体项的示例性用户接口。
[0021] 图7是图示根据一些实施例的播放媒体项的方法的流程图
[0022] 图8A-图8E是图示根据一些实施例的下载媒体项的方法的流程图。
[0023] 图9A-图9B是图示根据一些实施例的更新媒体库信息的方法的流程图。

具体实施方式

[0024] 示例性设备
[0025] 现在将具体参照实施例,这些实施例的示例在附图中被图示。在以下具体描述中,阐述许多具体细节以便提供对本发明的透彻理解。然而,本领域普通技术人员将清楚,无这些具体细节仍可实现各种实施例。在其它实例中,未具体描述熟知的方法、过程、部件、电路和网络以免不必要地模糊实施例的各方面。
[0026] 也将理解,虽然术语第一、第二等可以在这里用来描述各种要素,但是这些要素不应受这些术语限制。这些术语仅用来区分一个要素和另一要素。例如,第一接触可以被称为第二接触并且类似地,第二接触可以被称为第一接触,而不改变该描述的含义,只要一致地重新命名“第一接触”的所有出现并且一致地重新命名“第二接触”的所有出现即可。第一接触和第二接触都是接触,但是它们不是相同接触。
[0027] 这里所使用的术语体系仅用于描述具体实施例而不旨在于限制权利要求的目的。如在实施例的描述和所附权利要求中所使用的,除非上下文另有明示,否则单数形式“一”和“该”旨在于也包括复数形式。还将理解,如这里所用术语“和/或”指代并且涵盖关联列举项中的一个或者多个项的任何和所有可能组合。还将理解,术语“包括”和/或“包含”在本说明书中使用时指定存在陈述的特征、整件、步骤、操作、要素和/或部件、但是不排除存在或者添加一个或者多个其它特征、整件、步骤、操作、要素、部件和/或其组。
[0028] 如这里所使用的术语“如果”根据上下文可以被解释为意味着“在......时”或者“响应于确定”或者“响应于检测到”。相似地,根据上下文,可以将短语“如果确定”或者“如果检测到[陈述的条件或者事件]”解释为意味着“在确定......时”或者“响应于确定”或者“在检测到[陈述的条件或者事件]时”或者“响应于检测到[陈述的条件或者事件]”。
[0029] 图1是图示根据一些实施例的媒体环境100的框图。媒体环境100包括与用户关联的客户端设备102和106。在一些实施例中,客户端设备102是便携式设备(例如,智能电话、写字板计算机、便携式媒体播放器等),并且客户端设备106是台式计算机、膝上型计算机或者上网本计算机。客户端设备102和106可以通过一个或者多个网络110(例如无线网络、局域网、广域网、移动电话网络、因特网等)和/或直接有线或者无线连接(例如通过通用串行总线(USB)、蓝牙等)相互通信。
[0030] 客户端设备102和106分别包括媒体库240(图2)和媒体库340(图3)。媒体库240和340二者与用户关联。在一些实现方式中,媒体库240和340相互同步,并且媒体库
240和340同步到存储于别处的与用户关联的“主(master)”媒体库。在一些实施例中,同步媒体库包括同步媒体库元数据和同步媒体项文件。在同步之间,媒体库240和340可能由于相应设备上的不同用户动作而有分歧。客户端设备102和106分别包括提供用户接口的媒体管理应用104和108,该用户接口用于管理在相应设备处存储的媒体库并且用于向远程服务器112和数字媒体商店(store)服务器116提供接口。客户端设备102和106各自通过一个或者多个网络110与远程服务器112和数字媒体商店服务器116通信。
[0031] 数字媒体商店服务器116和数字媒体商店存储装置118提供用于获取数字媒体内容的数字集市。数字媒体商店服务器116提供用户接口,用户在他们的相应用户账户下登录之后通过该用户接口可以浏览和/或搜寻数字媒体项、获取数字媒体项(例如,依赖于特定项而免费或者付费)以用于向媒体库中添加、并且管理他们的账户。数字媒体商店存储装置118存储实际媒体项文件。数字媒体项的示例包括音乐、播客(podcast)或者其它音频、视频、电子书和应用。
[0032] 远程服务器112和远程存储装置114提供与用户隔离的存储空间以用于用户存储数据,该数据包括媒体库和数字媒体项。用户在登录到他们的账户之后可以向它们在远程存储装置114中的预留存储空间中上传数据、从该存储空间下载数据并且管理存储的数据。远程服务器112提供用于上传、下载和管理存储的数据的接口。远程服务器112和数字媒体商店服务器116通过网络110相互通信并且分别与客户端设备102和106通信。可以向远程存储装置114上传或者从远程存储装置114下载的数据的示例包括数字媒体项(包括不是从数字媒体商店服务器116获取的项、例如从紧致盘摘录(rip)的音乐)、相片、文档和与这些项中的任何项关联的元数据。
[0033] 客户端设备102和106的用户具有通过远程服务器112在远程存储装置114处存储的“主”媒体库。“主”媒体库(例如,与用户关联的用户媒体库441(图4))是用于用户的权威(authoritative)媒体库并且包括媒体项和有关数据。客户端设备102和106与远程服务器112通信以与用户的“主”媒体库同步。
[0034] 在一些实施例中,用户针对数字媒体商店服务器116和远程服务器112二者使用相同的用户账户。也就是说,用户从数字媒体商店服务器116获取数字媒体项并且在相同证书下在远程服务器112处存储数据,并且获取的数字媒体项和存储的数据与相同用户关联。
[0035] 在一些实施例中,当用户将在客户端设备102或者106处的媒体库同步到远程服务器112处的“主”媒体库时,远程服务器112尝试将在客户端设备102或者106处的媒体项(或者至少尚未匹配的媒体项)匹配到在数字媒体商店存储装置118存储的媒体项。为了匹配,在远程存储装置114处存储对在数字媒体商店存储装置118处存储的媒体项的引用取代实际媒体项文件,由此保留用户存储空间以用于其它数据。
[0036] 图2是图示根据一些实施例的客户端设备102的框图。触敏显示器212有时为了方便而被称为“触摸屏”并且也可以已知为或者被称为触敏显示器系统。设备102包括存储器202(该存储器可以包括一个或者多个计算机可读存储介质)、存储器控制器222、一个或者多个处理单元(CPU,有时被称为处理器)220、外设接口218、RF电路208、音频电路210、扬声器211、麦克213、输入/输出(I/O)子系统206、其它输入或者控制设备216和外部端口224。设备102可选地包括一个或者多个光学传感器264。这些部件通过一个或者多个通信总线或者信号线203通信。
[0037] 应当理解,设备102仅为便携式多功能设备的一个示例,并且设备102可以具有比所示更多或者更少的部件、可以组合两个或者更多部件或者可以具有部件的不同配置或者布置。例如,在一些实现方式中,设备102具有非触敏显示器而非触摸屏212,其中用户使用其它输入或者控制设备216来录入输入。图2中所示各种部件在包括一个或者多个信号处理和/或专用集成电路硬件软件或者硬件和软件二者的组合中实施。
[0038] 存储器202包括高速随机存取存储器并且通常也包括非易失性存储器,诸如一个或者多个磁盘存储设备、闪速存储器设备或者其它非易失性固态存储器设备。设备102的其它部件、诸如CPU220和外设接口218对存储器202的访问可选地(但是通常)由存储器控制器222控制。
[0039] 外设接口218可以用来将设备的输入和输出外设耦合到CPU220和存储器202。一个或者多个处理器220运行或者执行存储器202中存储的各种软件程序和/或指令集以执行用于设备102的各种功能并且处理数据。
[0040] 在一些实施例中,在单个芯片、诸如芯片204上实施外设接口218、CPU220和存储器控制器222。在一些其它实施例中,在分离芯片上实施它们。
[0041] RF(射频)电路208接收和发送也被称为电磁信号的RF信号。RF电路208将电信号转换成电磁信号/从电磁信号转换成电信号并且经由电磁信号与通信网络和其它通信设备通信。RF电路208通常包括用于执行这些功能的熟知电路,包括但不限于天线系统、RF收发器、一个或者多个放大器、调谐器、一个或者多个振荡器数字信号处理器、CODEC芯片组、用户标识模(SIM)卡、存储器等。RF电路208与网络、诸如也被称为万维网(WWW)的因特网、内联网通信和/或通过无线通信与无线网络、诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN)以及其它设备通信。无线通信使用多个通信标准、协议和技术中的任何通信标准、协议和技术,这些通信标准、协议和技术包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行分组接入(HSDPA)、高速上行分组接入(HSUPA)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE802.11a、IEEE802.11b、IEEE802.11g和/或IEEE802.11n)、因特网协议语音(VoIP)、Wi-MAX、用于电子邮件的协议(例如,因特网消息接入协议(IMAP)和/或邮局协议(POP))、即时消息收发(例如,可扩展消息收发和存在协议(XMPP)、用于即时消息收发和存在利用扩展的会话发起协议(SIMPLE)、即时消息收发和存在服务(IMPS))和/或短消息服务(SMS)或者包括截至本文献的提交日尚未开发的通信协议的任何其它适当通信协议。
[0042] 音频电路210、扬声器211和麦克风213在用户与设备102之间提供音频接口。音频电路210从外设接口218接收音频数据、将音频数据转换成电信号并且向扬声器211发送电信号。扬声器211将电信号转换成人类可听声波。音频电路210还接收麦克风213从声波转换的电信号。音频电路210将电信号转换成音频数据并且向外设接口218发送音频数据以用于处理。外设接口218从存储器202和/或RF电路208取回和/或向存储器202和/或RF电路208发送音频数据。在一些实施例中,音频电路210还包括头戴式机插孔(未示出)。头戴式耳机插孔提供在音频电路210与可移除音频输入/输出外设、诸如仅输出头戴式收话器或者具有输出(例如,用于一只或者两只耳朵的头戴式收话器)和输入(例如,麦克风)二者的头戴式耳机之间的接口。
[0043] I/O子系统206将设备102上的输入/输出外设、诸如触摸屏212和其它输入控制设备216耦合到外设接口218。在一些实现方式中,I/O子系统206包括显示器控制器256和用于其它输入或者控制设备的一个或者多个输入控制器260。一个或者多个输入控制器260从/向其它输入或者控制设备216接收/发送电信号。其它输入控制设备216可选地包括物理按钮(例如,推动按钮、摇杆按钮等)、拨盘、滑块开关、操纵杆、点击轮等等。在一些实施例中,输入控制器260耦合到以下各项中的任一项(或者未耦合到以下各项):键盘、红外线端口、USB端口和指针设备、诸如鼠标。一个或者多个物理按钮可选地包括用于扬声器211和/或麦克风213的音量控制的增/减按钮。一个或者多个物理按钮可选地包括推动按钮。
[0044] 触敏显示器212在设备与用户之间提供输入接口和输出接口。显示器控制器256从/向触摸屏212接收和/或发送电信号。触摸屏212向用户显示可视输出。可视输出通常包括图形、文本、图标、视频及其任何组合(统称为“图形”)。在一些实施例中,可视输出中的一些或者所有可视输出与用户接口对象对应。
[0045] 触摸屏212具有基于触觉和/或触知接触而从用户接受输入的触敏表面、传感器或者传感器集合。触摸屏212和显示器控制器256(与存储器202中的任何关联模块和/或指令集一起)检测触摸屏212上的接触(和接触的任何移动或者中断)并且将检测到的接触转换成与在触摸屏212上显示的用户接口对象(例如,一个或者多个软键、图标、网页或者图像)的交互(interaction)。在一个示例性实施例中,在触摸屏212与用户之间的接触点与用户的手指对应。
[0046] 触摸屏212通常使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术或者LED(发光二极管)技术,但是在其它实施例中可选地使用其它显示器技术。在一些实现方式中,触摸屏212和显示器控制器256使用现在已知或者以后开发的多种触摸感测技术中的任何触摸感测技术以及其它接近传感器阵列或者用于确定与触摸屏212的一个或者多个接触点的其它元件来检测接触及其任何移动或者中断,前述多种触摸感测技术包括但不限于电容、电阻、红外线和表面声波技术。在一个示例性实施例中,使用投射互电容感测技术、诸如在来自加州库比蒂诺苹果公司的 iPod 和 中发现的投射互电容感测技术。
[0047] 触摸屏212通常具有超过100dpi的视频分辨率。在一些实施例中,触摸屏具有近似160dpi的视频分辨率。用户使用任何适当物体或者附件、诸如触笔、手指等等来与触摸屏212产生接触。在一些实施例中,用户接口被设计用于主要通过基于手指的接触和手势(gesture)工作,其可能由于手指在触摸屏上的更大接触面积而不如基于触笔的输入精确。在一些实施例中,设备将粗略的、基于手指的输入转换成精确指针/光标位置或者命令以用于执行用户希望的动作。
[0048] 在一些实施例中,除了触摸屏之外,设备102还包括用于激活或者去激活特定功能的触板(未示出)。在一些实施例中,触板是设备的触敏区域,与触摸屏不同,该触敏区域不显示可视输出。触板是触敏表面,该触敏表面与触摸屏212分离或者是触摸屏形成的触敏表面的延伸。
[0049] 设备102还包括用于向各种部件供电的功率系统262。功率系统262通常包括功率管理系统、一个或者多个功率源(例如,电池、交变电流(AC))、再充电系统、功率故障检测电路、功率转换器或者逆变器、功率状态指示器(例如,发光二极管(LED))和与在便携式设备中的功率生成、管理和分布关联的任何其它部件。
[0050] 在一些实施例中,设备102还包括一个或者多个光学传感器264。图2示出耦合到I/O子系统206中的光学传感器控制器258的光学传感器。光学传感器264可选地包括电荷耦合器件(CCD)或者互补金属化物半导体(CMOS)光电晶体管。光学传感器264从环境接收通过一个或者多个透镜投射的光并且将光转换成代表图像的数据。结合也被称为相机模块的成像模块(未示出),光学传感器264捕获静止图像或者视频。在一些实施例中,光学传感器位于设备102的背部,与在设备的前部的触摸屏显示器212相对,从而可以使用触摸屏显示器作为用于静止和/或视频图像获取的取景器。在一些实施例中,另一光学传感器位于设备的前部,从而可以当用户在触摸屏显示器上查看其他视频会议参与者时获得用户的图像以用于视频会议。
[0051] 设备102可选地还包括一个或者多个接近传感器266。图2示出耦合到外设接口218的接近传感器266。可替换地,接近传感器266耦合到I/O子系统206中的输入控制器
260。在一些实施例中,接近传感器在多功能设备放置于用户的耳朵附近时(例如,在用户发出电话呼叫时)关断和禁用触摸屏212。
[0052] 在一些实现方式中,设备102还包括一个或者多个加速度计268。图2示出耦合到外设接口218的加速度计268。可替换地,加速度计268耦合到I/O子系统206中的输入控制器260。在一些实施例中,基于从一个或者多个加速度计接收的数据的分析以纵向视图或者横向视图在触摸屏显示器上显示信息。设备102除了加速度计268之外可选地还包括用于获得关于设备102的位置和定向(例如,纵向或者横向)的信息的磁计(未示出)和GPS(或者GLONASS或者其它全球导航系统)接收器(未示出)。
[0053] 在一些实施例中,在存储器202中存储的软件部件包括操作系统226、通信模块(或者指令集)228、接触/运动模块(或者指令集)230、图形模块(或者指令集)232、文本输入模块(或者指令集)234和应用(或者指令集)236。
[0054] 操作系统226(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或者嵌入式操作系统、诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、功率管理等)的各种软件部件和/或驱动器并且有助于在各种硬件与软件部件之间的通信。
[0055] 通信模块228有助于通过一个或者多个外部端口224与其它设备通信并且还包括用于处理RF电路208和/或外部端口224接收的数据的各种软件部件。外部端口224(例如,通用串行总线(USB)、FIREWIRE等)被适配用于直接或者通过网络(例如,因特网、无线LAN等)间接耦合到其它设备。在一些实施例中,外部端口是与在iPod(苹果公司的商标)设备上使用的30管脚连接器相同、相似和/或兼容的多管脚(例如,30管脚)连接器。
[0056] 接触/运动模块230检测与触摸屏212(结合显示器控制器256)和其它触敏设备(例如,触板或者物理点击轮)的接触。接触/运动模块230包括用于执行与接触的检测有关的各种操作的各种软件部件,这些操作诸如是确定接触是否已经发生(例如,检测手指向下事件)、确定是否存在接触的移动并且跟踪跨越触敏表面的移动(例如,检测一个或者多个手指拖动事件)、以及确定接触是否已经停止(例如,检测手指向上事件或者接触中断)。接触/运动模块230从触敏表面接收接触数据。在一些实现方式中,确定接触点的由一系列接触数据代表的移动包括确定接触点的速度(量值)、速率(量值和方向)和/或加速度(量值和/或方向的改变)。这些操作可以应用于单个接触(例如,一个手指接触)或者多个同时接触(例如,“多触摸”/多手指接触)。在一些实施例中,接触/运动模块230和显示器控制器256检测触板上的接触。
[0057] 在一些实现方式中,接触/运动模块230被配置为检测用户的手势输入。在触敏表面上的不同手势具有不同接触模式。因此,通过检测特定接触模式来检测手势。例如,检测手指轻敲手势包括检测手指向下事件、继而检测在与手指向下事件相同的位置(或者基本上相同的位置)(例如,在图标的位置处)的手指向上(提起)事件。作为另一示例,检测触敏表面上的手指挥动手势包括检测手指向下事件、继而检测一个或者多个手指拖动事件并且随后继而检测手指向上(提起)事件。
[0058] 图形模块232包括用于在触摸屏212或者其它显示器上呈现和显示图形的各种已知软件部件,包括用于改变显示的图形的强度的部件。如这里所使用的术语“图形”包括可以向用户显示的任何对象,该对象包括而不限于文本、网页、图标(诸如,包括软键的用户接口对象)、数字图像、视频、动画等。
[0059] 在一些实施例中,图形模块232存储代表待使用图形的数据。在一些实现方式中,向每个图形指配对应代码。图形模块232从应用等接收指定待显示的图形的一个或者多个代码,如果有必要则连同坐标数据和其它图形属性数据一起接收、然后生成用于向显示器控制器256输出的屏幕图像数据。
[0060] 文本输入模块234提供用于在各种应用(例如,媒体管理模块104和需要文本输入的任何其它应用)中录入文本的软键盘,该文本输入模块可选地是图形模块232的部件。
[0061] 在一些实现方式中,应用236包括以下模块(或者指令集)或者其子集或者超集:
[0062] ·媒体管理模块104;
[0063] ·可选地由视频播放器模块和音频播放器模块组成的视频和音频播放器模块237;以及
[0064] ·浏览器模块238。
[0065] 可以在存储器202中存储的其它应用236的示例包括字处理应用、图像编辑应用、绘图应用、演示应用、电子表格应用、有JAVA功能的应用、加密、数字权利管理、语音识别、语音复制、联系人、电子邮件、即时消息收发、图像管理、日历、搜索、备注、计算器、电话、视频会议等。
[0066] 媒体管理模块104包括用于呈现关于媒体项的信息(例如,名称、表演者等和有关艺术作品)并且根据用于播放媒体项的用户指令激活视频和音频播放器模块237的可执行指令。媒体管理模块104还向远程服务器112和数字媒体商店服务器116提供用户接口。
[0067] 视频和音乐播放器模块237包括允许用户下载和回放在一个或者多个文件格式、诸如MP3或者AAC文件中存储的记录的音乐和其它声音文件的可执行指令以及用于(例如,在触摸屏212上或者经由外部端口224在外部连接的显示器上)显示、呈现或者以其他方式回放视频的可执行指令。在一些实施例中,设备102包括MP3播放器、诸如iPod(苹果公司的商标)的功能。
[0068] 浏览器模块238包括用于根据用户指令浏览因特网的可执行指令,这些指令包括搜索、链接到、接收和显示网页或者其部分以及链接到网页的附件和其它文件。在一些实施例中,使用浏览器模块238来访问与远程服务器112和数字媒体商店服务器116的用户接口。
[0069] 存储器202还包括媒体库240。媒体库240包括媒体项242、媒体艺术作品243和媒体元数据244。媒体项242对应于在设备102处(在媒体库240中)本地存储的和在远程存储装置114(基于上传)或者数字媒体商店存储装置118处(基于匹配)存储的媒体项(例如,音乐文件和/或视频文件)。根据是否在客户端设备106处存储了本地副本或者版本,在媒体库240中的相应媒体项是实际媒体项文件或者是对远程存储的媒体项文件的引用(或者在一些实现方式中为二者)。
[0070] 媒体艺术作品243包括与相应媒体项242关联的图形文件(例如,专辑封面艺术品)。媒体元数据244包括与媒体项242关联的元数据(例如,标题、表演者、作者、专辑或者汇集(collection)、放映、发行、回放次数、存储位置等)。媒体元数据244通常包括用于媒体库240中的每个不同媒体项的相应元数据条目,包括本地存储的媒体项和未在本地存储的媒体项。
[0071] 用户的媒体库240中的远程媒体项由媒体元数据244中的元数据条目代表,这些远程媒体项是除了媒体项242之外的媒体项(本地存储的、但是也在远程存储装置114或者数字媒体商店存储装置118处存储的媒体项)。那些元数据条目提供充分信息以在用户的媒体项的列表中包括这些媒体项(有时被称为“”媒体项或者远程媒体项)、在播放列表中包括这些媒体项、以及从“云”(例如,从远程存储装置114或者数字媒体商店存储装置118)访问(例如,播放或者下载)这些媒体项。
[0072] 可选地,用于媒体项242的媒体元数据条目还指定与在远程存储装置114或者数字媒体商店存储装置118处存储的媒体文件或者对象对应的媒体标识符。可选地,用于在媒体高速缓存245(以下讨论)中暂时存储的媒体项242的媒体元数据条目包括用于在媒体高速缓存245中(即,在存储器202中)定位这些媒体项的本地副本的标记(indicia)。
[0073] 存储器202还包括媒体高速缓存245。在一些境况中(例如,在对播放列表中的项播放时),客户端设备102从远程服务器112下载媒体项用于回放、但是不用于在客户端设备102处“持久”(例如,非瞬态或者经久)存储。在媒体高速缓存245中缓存下载的媒体项。可选地,在以后回放中都从媒体高速缓存245播放缓存的媒体项,只要该媒体项尚未从远程服务器112下载用于在客户端设备102处持久存储。(注意,为“持久”存储而下载的媒体项仍然可以根据用户的显式删除命令或者动作来删除,但是未必经受自动驱逐(eviction)。)缓存的媒体项根据高速缓存驱逐策略(例如,最近最少使用或者“LRU”策略,其中首先驱逐最近最少播放的媒体项)而经受从媒体高速缓存245的驱逐。在一些实施例中,可以将缓存的媒体项转换成持久存储的媒体项(例如,通过从媒体高速缓存245向存储器202中的用于媒体项242的持久存储空间复制或者移动缓存的媒体项)而不是再次下载该媒体项。
[0074] 在一些实施例中,在存储器202中“持久”存储的媒体项也经受自动驱逐(例如,根据LRU策略;根据最少频繁使用或者“LFU”策略,其中其相应回放计数最低的媒体项被驱逐)。自动驱逐这样的媒体项帮助保留存储空间以用于消费最多的媒体项。被自动驱逐的持久存储的媒体项可以被重新下载到持久存储装置中。在一些其它实施例中,在存储器202中持久存储的媒体项不经受自动驱逐。在一些实现方式中,持久存储的媒体项经受从智能电话和写字板计算机的自动驱逐,但是不经受从客户端设备、诸如台式和膝上型计算机的自动驱逐,这些智能电话和写字板计算机与膝上型和台式计算机比通常具有相对有限的存储资源(例如,存储器202)。
[0075] 在一些实现方式中或者在一些境况中(例如,在客户端设备102处的可用存储空间降至特定阈值时),当下载媒体项用于在媒体高速缓存245中缓存时,与该媒体项被下载以用于持久存储时相比、该项的更低质量(例如,更低比特速率)版本被下载。
[0076] 在一些实施例中,在下载媒体项用于持久存储时,如果与数字媒体商店存储装置118或者远程存储装置114的网络连接质量欠佳或者成本高(例如,每单位数据成本与网络连接关联),则客户端设备102下载媒体项的更低质量版本。在一些这样的实施例中,当客户端设备102在免费和/或质量好(例如,快速)的网络连接(例如,在家里的Wi-Fi)上并且可选地一个或者多个附加条件被满足(例如,客户端设备102被插上电源而不是依靠电池运行、无其它应用在客户端设备102上运行、可用存储空间的数量在阈值以上)时,客户端设备102自动下载媒体项的更高质量版本。
[0077] 在一些实施例中或者在一些境况中,在下载媒体项用于持久存储时,客户端设备102从在附近的具有该媒体项的另一客户端设备102或者106(例如,通过自组织无线网络)而不是从数字媒体商店存储装置118或者远程存储装置114下载该媒体项。
[0078] 在一些实施例中和/或在一些境况中,流式传输媒体项用于回放而不是首先向媒体高速缓存245下载媒体项并且从媒体高速缓存245播放该媒体项。
[0079] 以上标识的模块、程序或者应用中的每个模块、程序或者应用对应于用于执行以上描述的一个或者多个功能和在本申请中描述的方法(例如,这里描述的计算机实施的方法和其它信息处理方法)的可执行指令集。这些模块(即,指令集)不必被实施为分离软件程序、过程或者模块,并且因此在不同实施例中可以组合或者另外重新布置这些模块的各子集。在一些实施例中,存储器202存储以上标识的模块和数据结构的子集。另外,存储器202可以存储以上未描述的附加模块和数据结构。
[0080] 在一些实施例中,设备102是如下设备,其中排他地通过触摸屏和/或触板执行设备上的预定义功能集的操作。通过使用触摸屏和/或触板作为用于设备102的操作的主要输入控制设备,减少了设备102上的物理输入控制设备(诸如,推动按钮、拨盘等)的数目。
[0081] 在一些实现方式中,排他地通过触摸屏和/或触板执行的预定义功能集包括在用户接口之间的导航。在一些实施例中,触板在由用户触摸时从可以在设备102上显示的任何用户接口向主要、开始或者根菜单导航设备102。在这样的实施例中,触板可以被称为“菜单按钮”。在一些其它实施例中,菜单按钮是物理推动按钮或者其它物理输入控制设备而不是触板。
[0082] 图3是图示根据一些实施例的客户端设备106的框图。客户端设备106通常包括一个或者多个处理单元(CPU,有时被称为处理器)310、一个或者多个网络或者其它通信接口360、存储器370、I/O接口350和用于互连这些部件的一个或者多个通信总线320。I/O接口350可以包括显示器352、键盘/鼠标354、触敏表面(例如,触板)355和外部端口356(例如,用于连接到其它外部设备)。
[0083] 存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或者其它随机存取固态存储器设备;并且可选地包括非易失性存储器,诸如一个或者多个磁盘存储设备、光盘存储设备、闪速存储器设备或者其它非易失性固态存储设备。存储器370可选地包括与CPU310远离地定位的一个或者多个存储设备。存储器370或者可替换地在存储器370内的非易失性存储器设备包括非瞬态计算机可读存储介质。在一些实现方式中,存储器370或者存储器370的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:
[0084] ·操作系统326,其包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、功率管理等)的过程并且有助于在各种硬件与软件部件之间的通信;
[0085] ·通信模块328,其用于经由一个或者多个通信网络接口360(有线或者无线)和一个或者多个通信网络,诸如因特网、其它广域网、局域网、城域网等将客户端设备106连接到其它设备或者系统(例如,客户端设备102、远程服务器112、数字媒体商店服务器116);
[0086] ·接触/运动模块330,用于执行与接触的检测有关的各种操作,诸如确定接触是否已经发生(例如,检测手指向下事件)、确定是否存在接触的移动并且跟踪跨越触敏表面的移动(例如,检测一或者多个手指拖动事件)、确定接触是否已经停止(例如,检测手指向上事件或者接触中断)以及检测手势;
[0087] ·图形模块332,用于在显示器352或者其它显示器上呈现和显示图形、包括改变显示的图形的强度;
[0088] ·文本输入模块334,其可选地是图形模块332的部件,用于为用于在各种应用中录入文本的物理键盘提供软键盘或者键映射;
[0089] ·应用336;
[0090] ·媒体库340;以及
[0091] ·媒体高速缓存345。
[0092] 应用336可以包括以下模块(或者指令集)或者其子集或者超集:
[0093] ·媒体管理模块108;
[0094] ·可选地由视频播放器模块和音频播放器模块组成的视频和音频播放器模块337;以及
[0095] ·浏览器模块338。
[0096] 可以在存储器370中存储的其它应用336的示例包括字处理应用、图像编辑应用、绘图应用、演示应用、电子表格应用、有JAVA功能的应用、加密、数字权利管理、语音识别、语音复制、联系人、电子邮件、即时消息收发、图像管理、日历、搜索、备注、计算器、电话、视频会议等。
[0097] 媒体管理模块108包括用于呈现关于媒体项的信息(例如,名称、表演者等和有关艺术作品)并且根据用于播放媒体项的用户指令激活视频和音频播放器模块337的可执行指令。媒体管理模块108还向远程服务器112和数字媒体商店服务器116提供用户接口。
[0098] 视频和音乐播放器模块337包括允许用户下载和回放在一个或者多个文件格式、诸如MP3或者AAC文件中存储的记录的音乐和其它声音文件的可执行指令以及用于(例如,在显示器352上或者经由外部端口356在外部连接的显示器上)显示、呈现或者以其他方式回放视频的可执行指令。
[0099] 浏览器模块338包括用于根据用户指令浏览因特网的可执行指令,这些指令包括搜索、链接到、接收和显示网页或者其部分以及链接到网页的附件和其它文件。在一些实施例中,可以使用浏览器模块338来访问与远程服务器112和数字媒体商店服务器116的用户接口。
[0100] 存储器370还包括媒体库340。媒体库340包括仅本地媒体项341、媒体项342(以下描述)、媒体艺术作品343和媒体元数据344。
[0101] 仅本地媒体项341不具有在远程存储装置114或者数字媒体商店存储装置118处存储的对应副本或者版本。在一些实施例中,仅本地媒体项341包括不适合向远程存储装置114上传或者基于预定义准则的匹配(例如,媒体项文件太大、媒体项文件为特定类型或者质量太差)、并且因此保持在客户端设备106本地的媒体项。
[0102] 媒体项342对应于在客户端106(在媒体库340中)本地和在远程存储装置114(基于上传)或者数字媒体商店存储装置118(基于匹配)处存储的媒体项(例如,音乐文件和/或视频文件)。根据是否在客户端设备106处存储了本地副本或者版本,在用户的媒体库340中的相应媒体项是实际媒体项文件或者是对远程存储的媒体项文件的引用(或者,在一些实现方式中为二者)。在一些实施例中,媒体项342还包括在客户端设备106处存储的如下媒体项:这些媒体项尚未被上传到远程存储装置114和/或尚未匹配到数字媒体商店存储装置118中的媒体项(例如,因为设备106在同步之间)、并且因此还不具有在远程存储装置114或者数字媒体商店存储装置118处存储的对应副本或者版本、但是以其他方式适合于被匹配和/或上传(例如,如果媒体项适合于匹配、但是未发现实际匹配,则该媒体项被上传)。
[0103] 媒体艺术作品343包括与相应媒体项342或者341关联的图形文件(例如,专辑封面艺术品)。
[0104] 媒体元数据344包括与媒体项342和仅本地媒体项341关联的元数据(例如,标题、表演者、作者、专辑或者汇集、放映、发行、回放次数、存储位置等)。媒体元数据344通常包括用于媒体库340中的每个不同媒体项的相应元数据条目,这些媒体项包括本地存储的媒体项和未在本地存储的媒体项。
[0105] 在用户的媒体库340中的远程媒体项由媒体元数据344中的元数据条目代表,这些媒体项不是仅本地媒体项341并且也不是媒体项342(本地存储、但是也在远程存储装置114或者数字媒体商店存储装置118处存储的媒体项)。这些元数据条目提供充分信息以在用户的媒体项的列表中包括这些媒体项(有时被称为“云”媒体项或者远程媒体项)、在播放列表中包括这些媒体项、以及从“云”(例如,从远程存储装置114或者数字媒体商店存储装置118)访问(例如,播放或者下载)这些媒体项。
[0106] 仅本地媒体项341和媒体项342一起包括在用户的媒体库中的本地存储的媒体项的本地媒体数据库。用于该本地媒体数据库中的媒体项的媒体元数据条目指定如下位置(例如,包括路径和文件名的文件位置),该位置指示这些媒体项在存储器370中本地存储于何处。可选地,用于媒体项342的媒体元数据条目还指定与在远程存储装置114或者数字媒体商店存储装置118处存储的媒体文件或者对象对应的媒体标识符。可选地,用于在媒体高速缓存345(以下讨论)中暂时存储的媒体项342的媒体元数据条目包括用于在媒体高速缓存345中(即,存储器370中)定位这些媒体项的本地副本的标记。通常,用于在远程存储装置114处存储的每个媒体文件或者对象的媒体标识符相对于用于在远程存储装置114处存储的所有其它媒体文件或者对象的媒体标识符是唯一的。相似地,用于在媒体高速缓存345中存储的每个媒体文件或者对象的媒体标识符相对于用于在媒体高速缓存345中存储的所有其它媒体文件或者对象的媒体标识符是唯一的,并且用于在数字媒体商店存储装置118中存储的每个媒体文件或者对象的媒体标识符相对于用于在数字媒体商店存储装置118中存储的所有其它媒体文件或者对象的媒体标识符是唯一的。
[0107] 存储器370还包括媒体高速缓存345。如以上指出的那样,在一些境况中,客户端设备106从远程服务器112下载媒体项用于回放,但是不用于在客户端设备106处“持久”(例如,非瞬态或者经久)存储。在这些境况中,在媒体高速缓存345中缓存下载的媒体项。可以在以后回放中(都从媒体高速缓存345)播放缓存的媒体项,只要该媒体项尚未从远程服务器112下载用于在客户端设备106处持久存储。(注意,为“持久”存储而下载的媒体项仍然可以根据用户的显式删除命令或者动作来删除,但是不经受自动驱逐。)缓存的媒体项根据高速缓存驱逐策略(例如,LRU策略,其中首先驱逐最近最少播放的媒体项)而经受从媒体高速缓存345的驱逐。在一些实施例中或者在一些境况中,将缓存的媒体项转换成持久存储的媒体项(例如,通过从媒体高速缓存345向存储器370中的用于媒体项342的持久存储空间移动或者传送缓存的媒体项)而不是再次下载该媒体项。
[0108] 在一些实施例中和/或在一些境况中,当下载媒体项用于在媒体高速缓存345中缓存时,与该媒体项被下载以用于持久存储时相比,该项的更低质量(例如,更低比特速率)版本被下载。
[0109] 在一些实施例中和/或在一些境况中,在下载媒体项用于持久存储时,客户端设备106从在附近的具有该媒体项的另一客户端设备102或者106(例如,通过自组织无线网络)而不是从数字媒体商店存储装置118或者远程存储装置114下载该媒体项。
[0110] 在一些实施例中和/或在一些境况中,在下载媒体项用于持久存储时,如果与数字媒体商店存储装置118或者远程存储装置114的网络连接质量欠佳或者成本高(例如,每单位数据成本与网络连接关联),则客户端设备106下载媒体项的更低质量版本。当客户端设备106在免费和/或质量好(例如,快速)的网络连接上并且可选地一个或者多个附加条件被满足(例如,客户端设备106被插上电源而不是依靠电池运行、无其它应用在客户端设备106上运行、可用存储空间的数量在阈值以上)时,客户端设备106自动下载媒体项的更高质量版本。
[0111] 以上标识的模块、程序或者应用中的每个模块、程序或者应用对应于用于执行以上描述的一个或者多个功能和在本申请中描述的方法(例如,这里描述的计算机实施的方法和其它信息处理方法)的可执行指令集。这些模块(即,指令集)不必被实施为分离软件程序、过程或者模块,并且因此在不同实施例中可以组合或者另外重新布置这些模块的各子集。在一些实施例中,存储器370存储以上标识的模块和数据结构的子集。另外,存储器370可以存储以上未描述的附加模块和数据结构。
[0112] 图4是图示根据一些实施例的远程服务器112和远程存储装置114的框图。远程服务器112通常包括一个或者多个处理单元(CPU,有时被称为处理器)410、一个或者多个网络或者其它通信接口460、存储器470和用于互连这些部件的一个或者多个通信总线420。
[0113] 存储器470包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或者其它随机存取固态存储器设备;并且可选地包括非易失性存储器、诸如一个或者多个磁盘存储设备、光盘存储设备、闪速存储器设备或者其它非易失性固态存储设备。存储器470可选地包括与CPU410远离地定位的一个或者多个存储设备。存储器470或者可替换地在存储器470内的非易失性存储器设备包括非瞬态计算机可读存储介质。在一些实现方式中,存储器470或者存储器470的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:
[0114] ·操作系统426,其包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、功率管理等)的过程并且有助于在各种硬件与软件部件之间的通信;
[0115] ·通信模块428,其用于经由一个或者多个通信网络接口460(有线或者无线)和一个或者多个通信网络,诸如因特网、其它广域网、局域网、城域网等将远程服务器112连接到其它设备或者系统(例如,客户端设备102和106、数字媒体商店服务器116);
[0116] ·账户管理模块436,用于提供用于管理用户账户的过程和接口;
[0117] ·媒体库模块437,用于执行关于媒体库的同步操作和其它过程以及用于访问在远程存储装置114中存储的媒体库;以及
[0118] ·媒体匹配模块438,用于结合数字媒体商店服务器116处的媒体匹配模块538(图5)执行用于匹配客户端设备102和106上的媒体项与在数字媒体商店存储装置118处存储的媒体项的操作。
[0119] 远程存储装置114包括用户媒体库440和用户媒体项445。用户媒体项是从客户端设备(例如,客户端设备102、106)上传的用于在远程存储装置114处存储的媒体项文件。在一些实现方式中,与特定用户441或者用户账户关联的媒体库包括媒体项引用442、媒体网络443和媒体元数据444。
[0120] 媒体项引用442包括以下各项中的一项或者多项:对属于用户的用户媒体项445的引用、对数字媒体商店存储装置118中的由用户获取(例如,购买)的媒体项或者与用户的客户端设备102和106上的媒体项匹配的媒体项的引用、以及对在客户端设备102和106本地存储的媒体项(无论它们是在存储装置114或者118存储的媒体项的对应副本或者版本还是在客户端设备本地)的引用。在一些实施例中,媒体项引用442可以根据媒体项存储在何处、通过路径或者媒体标识符(有时被称为标识符编号,即使该标识符严格上说是字符串)来引用媒体项。媒体艺术作品443是与媒体项引用442所引用的相应媒体项关联的图形文件(例如,专辑封面艺术品)。可选地,媒体艺术作品443包括当前未与相应媒体项关联的附加图形。媒体元数据444是与媒体项引用442所引用的媒体项关联的元数据(例如,标题、表演者、作者、专辑或者汇集、放映、发行、回放次数等)。
[0121] 应当理解,尽管在本申请中有时将远程服务器112描述为单个服务器或者单个服务器系统,但是服务器计算机的分布式系统可以用来实施远程服务器112的功能。将远程服务器112描述为单个服务器仅为了方便和便于理解。另外,尽管将远程存储装置114描绘为通过通信总线420来访问,但是远程存储装置114可以在一些实施例中是远程服务器112通过网络110访问的分布式的、网络访问的存储装置或者某个其它形式的分布式存储装置。
[0122] 图5是图示根据一些实施例的数字媒体商店服务器116和数字媒体商店存储装置118的框图。数字媒体商店服务器116通常包括一个或者多个处理单元(CPU,有时被称为处理器)510、一个或者多个网络或者其它通信接口560、存储器570和用于互连这些部件的一个或者多个通信总线520。
[0123] 存储器570包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或者其它随机存取固态存储器设备;并且可选地包括非易失性存储器、诸如一个或者多个磁盘存储设备、光盘存储设备、闪速存储器设备或者其它非易失性固态存储设备。存储器570可选地包括与CPU510远离地定位的一个或者多个存储设备。存储器570或者可替换地在存储器570内的非易失性存储器设备包括非瞬态计算机可读存储介质。在一些实现方式中,存储器570或者存储器570的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:
[0124] ·操作系统526,其包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、功率管理等)的过程并且有助于在各种硬件与软件部件之间的通信;
[0125] ·通信模块528,其用于经由一个或者多个通信网络接口560(有线或者无线)和一个或者多个通信网络,诸如因特网、其它广域网、局域网、城域网等将数字媒体商店服务器116连接到其它设备或者系统(例如,客户端设备102和106、远程服务器112);
[0126] ·账户管理模块536,用于提供用于管理用户账户的过程和接口;
[0127] ·商店接口537,用于提供用于用户浏览、搜寻和获取数字媒体项的接口;以及[0128] ·媒体匹配模块538,用于执行用于匹配客户端设备102和106上的媒体项与在数字媒体商店存储装置118处存储的媒体项的操作。
[0129] 数字媒体商店存储装置118包括数字商店媒体项540、数字媒体商店媒体艺术作品542和数字媒体商店媒体元数据544。
[0130] 数字媒体商店媒体项540是被提供用于购买或者由数字媒体商店服务器116进行的其它获取的媒体项。数字媒体商店媒体艺术作品542是与相应数字媒体商店媒体项540关联的图形文件(例如,相册封面艺术品)。可选地,媒体网络542包括当前不与相应媒体项关联的附加图形文件。数字媒体商店媒体元数据544是与数字媒体商店媒体项540关联的元数据(例如,标题、表演者、作者、专辑或者汇集、放映、发行、回放次数等)。
[0131] 应当理解,尽管在本申请中将数字媒体商店服务器116描述为单个服务器或者单个服务器系统,但是服务器计算机的分布式系统可以用来实施数字媒体商店服务器116的功能。将数字媒体商店服务器116描述为单个服务器仅为了方便和便于理解。另外,尽管将数字媒体商店存储装置118描绘为通过通信总线520来访问,但是数字媒体商店存储装置118可以在一些实施例中是数字媒体商店存储装置118通过网络110访问的分布式的、网络访问的存储装置或者某个其它形式的分布式存储装置。
[0132] 如以上描述的那样,客户端设备102和106分别包括媒体库240和340,这些媒体库有时同步到用户的用户媒体库441。媒体库240在与用户媒体库441同步时成为用户媒体库441的镜像并且包括与用户媒体库441中的相同的媒体项。在客户端设备102处存储的媒体库240具有用户媒体库441中的媒体项中的一些或者所有媒体项的本地副本或者版本,并且其余媒体项引用远程存储的副本或者版本。在一些实现方式中,即使在客户端设备处未存储用户的媒体库441中的媒体项的本地副本,媒体库240仍然工作,因为它包括用于用户的媒体库441中的媒体项的元数据、由此使那些项能够被访问(例如,用于回放或者下载、用于创建和管理包括这些项的播放列表)。
[0133] 媒体库340在与用户媒体库441同步时成为用户媒体库441的镜像并且包括与用户媒体库441中的相同的媒体项。在一些实施例中,媒体库340可以具有在客户端设备106处存储的、用户媒体库441中的媒体项中的一些或者所有媒体项的本地副本或者版本,并且其余媒体项引用远程存储的副本或者版本。媒体库340可选地包括在客户端设备106本地的一些媒体项,这些媒体项不能被上传或者匹配并且以其他方式而在远程存储装置114或者数字媒体商店存储装置118中没有对应副本或者版本。在一些实施例中,不在用户媒体库441中的这些本地媒体项在用户媒体库441中被指示为在客户端设备本地。
[0134] 在一些实施例中,在更新用于特定用户的用户媒体库441时,远程服务器112向与该特定用户关联的客户端设备(例如,设备102、106)发送推送通知以同步媒体库,从而在客户端设备上的媒体库240和340与更新的用户媒体库441同步。
[0135] 在一些实施例中,在同步媒体库240或者340与用于特定用户的用户媒体库441时,该同步是增量同步。在增量同步期间,客户端设备102或者106仅接收在媒体库240或者340与用于该特定用户的当前用户媒体库441之间的不同。
[0136] 用户接口和关联过程
[0137] 图6A-图6E图示根据一些实施例的用于管理媒体项的示例性用户接口。图6A图示在客户端设备106处的媒体管理应用108的用户接口600-A。用户接口600-A包括侧栏602(有时被称为源列表),该侧栏具有通向用户的媒体库、数字媒体商店和播放列表的各方面的链接。通向用户的媒体库的各方面的链接例如包括音乐链接604,该音乐链接是通向用户在用户的媒体库340中的音乐媒体项的显示(例如,图6B的媒体项列表620或者专辑图库626)的链接。尽管该示例示出音乐媒体列表,但是在其它实现方式中,媒体列表包括一个或者多个其它媒体类型、诸如电影、幻灯片、电子书、杂志等。
[0138] 在一些实施例中,如果媒体库340包括未在本地存储(即,在远程存储装置114或者数字媒体商店存储装置118存储)的媒体项,则在音乐链接604(或者更一般地,媒体链接)旁边显示云图标603。在一些实现方式中,“未在本地存储的媒体项”包括在媒体高速缓存345(图3)中存储的、但是未在媒体库340中存储的媒体项,并且在这样的实现方式中,即使用户的账户中的每个媒体项被存储在媒体库340或者媒体高速缓存345中,只要用户的账户中的至少一个媒体项未存储于媒体库340中,就仍然在音乐链接604旁边显示云图标603。
[0139] 侧栏602还包括指向数字媒体商店服务器116提供的数字媒体商店的链接606和指向通过数字媒体商店获取的媒体项的播放列表608的链接。
[0140] 侧栏602还包括指向各种播放列表的链接,这些链接包括指向基于对音乐媒体项和在音乐媒体项之间的相似性的分析而生成的计算机生成的播放列表的链接610、指向随机生成的播放列表的链接614、指向根据用户指定或者预定义规则生成的播放列表的链接616和指向用户定义(例如,用户直接选择将被包括的媒体项)的播放列表的链接618。在一些实施例中,如果媒体库340包括未在客户端设备102或者106处本地存储的媒体项,则在播放列表链接旁边显示云图标603。在一些实施例中,播放列表610、614和616根据境况由客户端设备102或者数字媒体商店服务器116处的媒体管理应用104生成。
[0141] 音乐媒体项列表620列举媒体库340中的音乐媒体项622。通常,按照歌曲名称、按照专辑名称、按照表演者姓名、按照按表演者排列的专辑、按照风格、按照评价等以字母顺序列举音乐媒体项。例如,如图6A中描绘的那样,列表620显示按照按表演者排列的专辑组织的音乐媒体项列表。
[0142] 未在本地存储的音乐媒体项622(即,在远程存储装置114或者数字媒体商店存储装置118存储的、但是未在媒体库340中本地存储的音乐媒体项)旁边显示显示的图标623(有时被称为供给(affordance)、下载图标或者下载供给)。在一些实施例中,用户可以与用于特定远程存储的音乐媒体项622的图标623交互以发起下载该项用于在客户端设备
106处本地存储。例如,项622-2和622-3未在本地存储,但是可以通过点击(或者以其他方式选择)对应图标623来下载副本以用于本地存储。在该上下文中,本地存储意味着在客户端设备106处经久或者持久存储,与在媒体高速缓存345中暂时缓存相反。在一些实施例中,持久地显示图标623以指示对应项的存储状态(例如,本地存储、远程存储或者缓存)。图标623可以根据对应项的存储状态具有不同外观。如以上描述的那样,如果未在本地存储一个项,则用户可以选择对应图标623以发起下载该项。在下载完成时,对应图标
623改变外观以反映新存储状态。
[0143] 本地存储的音乐媒体项622不具有图标623。例如,项622-1和622-4在本地存储。在一些实施例中,音乐媒体项622可以具有附加状态,并且可以对于这样的项显示与附加状态对应的图标。例如,可以对于由于客户端设备106离线而不可访问的、远程存储的项显示图标。作为另一示例,可以对于排他地在客户端设备106本地的项(例如,因为该项不适合上传或者匹配)显示图标。
[0144] 也可以从用户接口600-A播放音乐媒体项622。例如,用户可以选择音乐媒体项622并且激活回放按钮624以播放选择的项。如果播放的项是远程存储的项(例如,项622-2或者项622-3),则从远程存储装置114或者数字媒体商店存储装置118下载该项并且在媒体高速缓存345中对其进行缓存,并且播放该缓存的项。由于媒体高速缓存345不是持久存储装置,所以在高速缓存中的项根据预定义驱逐规则或者准则而经受驱逐(即,删除)的意义上,该项仍然被视为未在本地存储。
[0145] 图6B图示客户端设备106处的媒体管理应用108的用户接口600-B。用户接口600-B示出音乐媒体项汇集628的图库626。在一些实施例中,音乐媒体项的汇集是专辑、按照相同表演者的音乐媒体项汇集、播放列表、风格等。在图6B中,汇集628是专辑。对于包括未在本地存储的至少一个音乐媒体项的汇集628显示图标630。例如,汇集628-1和
628-2各自具有未在本地存储的一个或者多个音乐媒体项,并且汇集628-3的所有音乐媒体项都在本地存储。
[0146] 在用户接口600-B中,用户可以选择汇集以显示该汇集中的项并且激活对该项的回放。如果汇集包括未在本地存储的项,则用户可以下载它们(一些或者全部)并且播放它们(例如,通过选择该项并且点击播放按钮624)。如以上讨论的那样,在播放未在本地存储的项时,该项被下载并且在媒体高速缓存345中被缓存并且仍然被视为未在本地存储。
[0147] 图6C图示在客户端设备102处的媒体管理应用104的用户接口631。在用户接口631中显示歌曲(即,音乐媒体项)列表632。在用户接口631中还显示栏633,其中用户可以选择用于使音乐媒体项显示的多种方式之一(例如,按照汇集、按照播放列表、按照表演者或者按照专辑)。
[0148] 在歌曲列表632中列举音乐媒体项634。未在客户端设备102处本地存储的音乐媒体项、诸如项634-1和634-2具有并排显示的图标636(有时被称为供给、下载图标或者下载供给)。在一些实施例中,图标636是交互式的;用户可以选择图标636(例如,通过轻敲触摸屏212上的图标636)以发起向客户端设备102下载对应项634以用于持久存储。在正在进行对项的下载以用于持久存储时,如在对于项634-4的情况中那样,显示图标638。图标638包括圆形进度栏包围的停止下载按钮。圆形进度栏指示下载的进度,并且可以选择(例如,通过轻敲触摸屏212上的图标638)停止下载按钮以停止下载。在另一方面,项
634-3对应于本地(持久)存储的媒体项,并且对于该媒体项未显示图标636。在一些实施例中,持久地显示图标636以指示对应项的存储状态(例如,本地存储、远程存储或者缓存)。图标636可以根据对应项的存储状态具有不同外观。如以上描述的那样,如果未在本地存储项,则用户可以选择对应图标636以发起对该项的下载。在下载完成时,对应图标
636改变外观以反映新存储状态。
[0149] 图6D图示客户端设备102中的媒体管理应用104的用户接口640,其中客户端设备102这里具有比图6C中描绘的形状规格(例如,如在智能电话中那样)更大的形状规格(例如,如在写字板或者膝上型计算机中那样)。在用户接口640中显示播放列表642的播放列表图库。对于其音乐媒体项正在播放的播放列表(例如,播放列表624-6)显示图标644。对于包括未在本地存储的一个或者多个音乐媒体项的播放列表显示图标646。在一些实施例中,在图标646内显示播放列表中未在本地存储的音乐媒体项的数目。例如,图6D中的图标646包括数目“7”,该数目指示未在本地存储的播放列表642-6中的七个项。可以响应于用户对播放列表的选择(例如,通过轻敲触摸屏212上的播放列表)来显示播放列表中的项。
[0150] 图6E图示客户端设备102中的媒体管理应用104的用户接口650,其中客户端设备102这里具有比图6C中描绘的形状规格(例如,如在智能电话中那样)更大的形状规格(例如,如在写字板或者膝上型计算机中那样)。在图6E中,在用户接口650中的列表651中显示播放列表642-6的内容。播放列表项列表651包括音乐媒体项652。对于未在本地存储的项652、诸如项652-1和652-4(例如,在其内或者与之相邻地)显示图标636。在一些实施例中,图标636是交互供给;用户可以选择图标636(例如,通过轻敲触摸屏212上的图标636)以发起向客户端设备102下载对应项652以用于持久存储。在正在进行对项的下载以用于持久存储时,如在对于项652-3的情况中那样,显示图标638。图标638包括圆形进度栏包围的停止下载按钮。圆形进度栏指示下载的进度,并且可以选择(例如,通过轻敲触摸屏212上的图标638)停止下载按钮以停止下载。在另一方面,项652-2对应于本地(持久)存储的媒体项,并且对于该媒体项未显示图标636。
[0151] 对于项652-4显示图标644(有时被称为回放图标);即使未在本地存储652-4,仍然对它进行回放。向媒体高速缓存245中下载项652-4,并且播放缓存的项。也应当理解,未在本地存储的项可以在相同或者另一未在本地存储的项正在被下载以用于持久存储之时被播放。例如,在图6E中,项652-3正在被下载,并且项652-4并发地在播放。
[0152] 在一些实现方式中,用户接口650包括“下载全部”按钮654。用户可以选择“下载全部”按钮654(例如,通过轻敲触摸屏212上的图标654)以开始下载在显示的播放列表中的、未在本地存储的项(例如,项652-1)以用于持久存储。用户还可以选择个别图标636以个别地下载对应媒体项。在一些实施例中,对于具有远程存储而未在本地存储的一个或者多个媒体项的汇集(例如,专辑)显示“下载全部”按钮654。
[0153] 图7是图示根据一些实施例的播放媒体项的方法700的流程图。在客户端设备处执行(例如,图2的设备102或者图3的设备106)方法700。可以组合方法700中的一些操作和/或可以改变一些操作的顺序。
[0154] 设备显示(702)与媒体项集合对应的媒体库信息,这些媒体项包括:一个或者多个本地媒体项,该一个或者多个本地媒体项包括在客户端设备处存储的媒体项;以及一个或者多个远程媒体项,该一个或者多个远程媒体项包括在远程系统处存储而未在客户端设备处存储的媒体项。例如,在图6A中,显示媒体项列表620。媒体项列表620包括本地存储的媒体项(例如,项622-1、622-4)和远程存储而未在本地存储的项(例如,项622-2、622-3)。作为另一示例,在图6E中,在用户接口650中显示播放列表项列表651。播放列表项列表651包括本地存储的项(例如,项652-2)和远程存储而未在本地存储的项(例如,项652-1、652-4)。注意,在一些境况中,存在零个在客户端设备处存储的本地媒体项。另外,在一些境况中,存在零个在远程系统处存储的但是未在客户端设备处存储的远程媒体项(即,在远程系统处存储的所有媒体项也存储于客户端设备处)。这里关于播放、操纵或者显示关于非本地内容的信息而描述的功能无论客户端设备当前是否存储任何本地项都适用。相似地,这里关于播放、操纵或者显示关于本地存储的内容的信息而描述的功能无论用户账户当前是否包括远程存储而未在本地存储的任何项都适用。
[0155] 设备与显示媒体库信息并发地显示(704)标识远程媒体项的供给。例如,在图6A中,对于项622-2和622-3显示图标623。作为另一示例,在图6E中,对于项652-1和652-4显示图标636。
[0156] 设备检测(706)用于激活对相应远程媒体项的回放的用户命令。例如,在图6A中,用户可以选择项622-1并且点击播放按钮624或者双击项622-1。作为另一示例,在图6E中,用户可以选择媒体项652(例如,通过轻敲触摸屏212上的项)以播放它。
[0157] 响应于检测到用户命令,设备发起(708)用于播放相应远程媒体项的过程,包括:从远程系统向客户端设备处的高速缓存下载(710)相应远程媒体项的副本,以及播放(712)高速缓存中的相应远程媒体项的副本。例如,响应于用于播放项622-1的用户命令(例如,点击播放按钮624),向媒体高速缓存356中下载项622-1,并且播放缓存的项。作为另一示例,响应于用于播放项652-4的用户命令,向媒体高速缓存245中下载项652-4,并且播放缓存的项。
[0158] 在一些实施例中,播放副本包括在该副本被完整地下载之前开始播放高速缓存中的相应远程媒体项的副本(714)。可以在完成向高速缓存中的下载之前播放缓存的项。如果在用于播放项的用户命令与开始回放之间存在延迟,则这缩短了该延迟。
[0159] 设备维持(716)关于相应远程媒体项的供给。继续对于播放的远程媒体项显示供给。例如,在图6E中,继续对于项652-4显示图标636。
[0160] 应当理解,图7中的操作已经被描述的特定顺序仅为示例性的而不旨在于指示描述的顺序是可以执行操作的仅有顺序。本领域普通技术人员将认识到用于对这里描述的操作重新排序的各种方式。此外,应当注意,这里关于方法800(例如,图8A-图8E)描述的其它过程的细节也以类似方式适用于以上关于图7描述的方法700。例如,以上参照方法700描述的本地媒体项和远程媒体项可以具有这里参照方法800描述的本地媒体项和远程媒体项的特性中的一个或者多个特性。为了简洁,这里不重复这些细节。
[0161] 图8A-图8E是图示根据一些实施例的下载媒体项的方法800的流程图。在电子设备(例如,图2的设备102或者图3的设备106)处执行方法800。可以组合方法800中的一些操作和/或可以改变一些操作的顺序。
[0162] 设备显示(802)与媒体项集合对应的媒体库信息,媒体项包括:一个或者多个本地媒体项,该一个或者多个本地媒体项包括在客户端设备处存储的媒体项;以及一个或者多个远程媒体项,该一个或者多个远程媒体项包括在远程系统处存储而未在客户端设备处存储的媒体项。例如,在图6A中,显示媒体项列表620。媒体项列表620包括本地存储的媒体项(例如,项622-1、622-4)和远程存储而未在本地存储的项(例如,项622-2、622-3)。作为另一示例,在图6E中,在用户接口650中显示播放列表项列表651。播放列表项列表
651包括本地存储的项(例如,项652-2)和远程存储而未在本地存储的项(例如,项652-1、
652-4)。如以上指出的那样,在一些境况中,存在零个在客户端设备处存储的本地媒体项。
另外,在一些境况中,存在零个在远程系统处存储的但是未在客户端设备处存储的远程媒体项(即,在远程系统处存储的所有媒体项也存储于客户端设备处)。这里关于播放、操纵或者显示关于非本地内容的信息而描述的功能无论客户端设备当前是否存储任何本地项都适用。相似地,这里关于播放、操纵或者显示关于本地存储的内容的信息而描述的功能无论用户账户当前是否包括远程存储而未在本地存储的任何项都适用。
[0163] 在一些实施例中,显示媒体库信息还包括抑制对媒体项集合中的、与预定义过滤准则匹配的相应媒体项的显示(804)。在显示媒体库信息时,可以根据过滤准则(例如,基于内容评价的父母过滤器或者其它用户指定或者用户定义的过滤器)从显示中隐藏一些媒体项。
[0164] 设备与显示媒体库信息并发地显示(806)标识远程媒体项的供给。例如,在图6A中,对于项622-2和622-3显示图标623。作为另一示例,在图6E中,对于项652-1和652-4显示图标636。
[0165] 设备检测(808)与标识相应远程媒体项的供给的用户交互。例如,在图6A中,用户点击用于媒体项622-2或者622-3的图标623。作为另一示例,在图6C中,用户对用于项634-1或者634-2的图标636执行手势(例如,轻敲)。
[0166] 响应于检测到用户交互,设备发起(810)用于向客户端设备下载相应远程媒体项的副本以用于在客户端设备处存储的过程。例如,响应于用户点击用于媒体项622-2的图标623,客户端设备106发起向客户端设备106下载项622-2。作为另一示例,响应于用户对用于媒体项634-2的图标636执行手势,客户端设备102发起向客户端设备102下载媒体项634-2。
[0167] 在一些实施例中,下载相应远程媒体项的副本包括下载该副本以用于在客户端设备处存储(812)。下载媒体项可以用于在客户端设备处持久存储。
[0168] 在一些实施例中,下载相应远程媒体项的副本包括向高速缓存中下载该副本(814)。媒体项的下载可以用于在高速缓存中存储,其中媒体项副本经受自动驱逐。
[0169] 在一些实施例中,设备通过以包括一个或者多个本地媒体项和一个或者多个远程媒体项的播放列表所确定的顺序播放该播放列表中的媒体项来对关于该播放列表的预定义用户命令做出响应(816)。在用户发出用于播放媒体项播放列表的命令并且播放列表包括本地媒体项和远程媒体项时,客户端设备尝试以播放列表的顺序来播放它们。
[0170] 在一些实施例中,设备确定(818)客户端设备是否具有与远程系统的连接。设备在与远程系统的连接存在时,通过以包括一个或者多个本地媒体项和一个或者多个远程媒体项的用户定义的播放列表所确定的顺序播放该用户定义的播放列表中的媒体项来对关于该用户定义的播放列表的预定义用户命令做出响应(820)。设备在与远程系统的连接不存在时,通过以所述用户定义的播放列表所确定的顺序仅播放用户定义的播放列表中的本地媒体项来对关于用户定义的播放列表的预定义用户命令做出响应(822)。例如,客户端设备确定它是否具有通过网络110与远程服务器112的连接。在用户发出用于播放媒体项播放列表的命令并且播放列表包括本地媒体项和远程媒体项时,客户端设备尝试按照播放列表的顺序播放它们。如果客户端设备具有与远程服务器112的连接,则客户端设备播放在播放列表中的本地和远程媒体项二者。如果客户端设备不具有与远程服务器112的连接(例如,由于任一个离线),则客户端设备仅播放在播放列表中的本地媒体项并且略过远程媒体项。
[0171] 在一些实施例中,播放列表是用户定义的播放列表或者计算机生成的播放列表(例如,根据用户定义的规则来生成、基于对媒体项的分析来生成或者随机生成)。
[0172] 在一些实施例中,显示媒体库信息包括显示标识本地媒体项和远程媒体项的列表,并且显示供给包括显示相应图标,这些图标标识列表中的远程媒体项。例如,在图6A中,按照按表演者排列的专辑以歌曲列表的形式显示媒体库信息,并且对于该列表中的远程媒体项、诸如项622-2和622-3显示图标623。作为另一示例,在图6C中,显示歌曲列表,并且对于远程媒体项634-1和634-2显示图标636。
[0173] 在一些实施例中,标识远程媒体项的相应图标是交互供给。检测与对应于相应远程媒体项的供给的交互包括检测与对应于相应远程媒体项的相应图标的交互。在一些实现方式中,图标623是交互式的并且被配置用于在被用户点击时激活或者发起过程。相似地,在一些实现方式中,图标636是交互式的并且被配置用于在用户对它执行预定义手势(例如,轻敲手势)时激活或者发起过程。
[0174] 在一些实施例中,列表中的媒体项的顺序与相应媒体项是本地媒体项还是远程媒体项无关(828)。按照不受媒体项是本地媒体项还是远程媒体项影响的顺序来列举列表中的媒体项。
[0175] 在一些实施例中,按照从由标题、表演者或者作者、专辑或汇集、出版商、发行、评价、时间和风格构成的集合中选择的一个或者多个特性对标识媒体项的列表排序,并且其中列表中的媒体项的顺序与哪些列举的媒体项是本地媒体项并且哪些列举的媒体项是远程媒体项无关(830)。例如,按照按表演者排列的专辑对图6A中的媒体项列表排序而不考虑媒体项是本地媒体项还是远程媒体项。相似地,在图6C中,在考虑媒体项是本地媒体项还是远程媒体项的情况下按照字母和数字顺序列举媒体项。
[0176] 在一些实施例中,显示媒体库信息包括显示包括一个或者多个汇集的汇集图库,其中多个媒体项中的每个媒体项与相应汇集关联;并且显示供给包括显示用于标识与一个或者多个远程媒体项分别关联的相应汇集的相应图标(832)。汇集可以是音乐媒体项、视频媒体项、杂志媒体项等的汇集。汇集的示例包括专辑、按照特定表演者的音乐媒体项、特定风格的音乐媒体项、播客的片段、电视连续剧的片段等。在一些实施例中,汇集还包括播放列表。在一些实现方式中,汇集包括如下汇集,这些汇集包括两个或者更多不同媒体类型的媒体项(例如,音乐媒体项和视频媒体项)。
[0177] 例如,在图6B中,显示专辑图库626。专辑图库626中的专辑628包括媒体库中的媒体项。对于包括一个或者多个远程媒体项的专辑、诸如专辑628-1显示图标630。作为另一示例,在图6D中,对于播放列表642-6显示图标646。
[0178] 在一些实施例中,设备检测(834)与对应于汇集的供给的交互,该汇集具有将汇集标识为与一个或者多个远程媒体项关联的图标;并且响应于检测到交互,发起(836)用于向客户端设备下载与汇集关联的远程媒体项中的至少一个远程媒体项的相应副本以用于在客户端设备处存储的过程。例如,在图6B中,用户可以点击对于专辑628-1显示的图标630以发起下载专辑628-1中的远程媒体项中的一个或者多个远程媒体项。
[0179] 在一些实施例中,显示供给包括对于具有一个或者多个远程媒体项的相应汇集显示指示相应汇集中的远程媒体项计数的数目(838)。例如,在图6D中,用于播放列表642-6的图标646包括指示播放列表642-6中的、未在客户端设备本地存储的媒体项计数的数目。
[0180] 在一些实施例中,远程媒体项中的一个或者多个远程媒体项是已经从客户端设备移除的对应本地媒体项的副本(840)。远程媒体项可以是先前本地存储的媒体项,其已经被删除、留下远程媒体项。如在本文中别处讨论的那样,在一些实现方式中,与剩余远程媒体项对应的、被删除的本地存储的媒体项的内容无需与远程媒体项的内容相同。
[0181] 在一些实施例中,远程媒体项中的一个或者多个远程媒体项对应于在数字媒体商店处的数字媒体购买并且不具有对应本地媒体项(842)。在一个示例中,远程媒体项是从数字媒体商店购买的媒体项,并且因此是用户的媒体库的一部分,但是尚未被下载到客户端设备。
[0182] 在一些实施例中,设备在客户端设备处本地存储(844)用于媒体项集合中的每个媒体项的元数据,用于相应媒体项的本地存储的元数据包括存储位置信息,该存储位置信息指示相应媒体项是否在客户端设备处本地存储以及相应媒体项是否在远程系统处远程存储。例如,在客户端设备102处,媒体元数据244(或者在客户端设备106处的媒体元数据344)包括用于媒体库中的媒体项中的每个媒体项的元数据。用于媒体项的媒体元数据包括关于媒体项存储在何处的信息,诸如本地(媒体元数据包括通向本地文件的路径)和/或远程(媒体元数据包括对远程项的引用)。
[0183] 在一些实施例中,用于相应媒体项的本地存储的元数据包括源标记,该源标记指示相应媒体项是否是在预定义数字媒体商店处购买的(846)。例如,如果从数字媒体商店购买了媒体项,则用于该媒体项的媒体元数据可以包括在数字媒体商店内使用的媒体项的标识符。
[0184] 在一些实施例中,在存储位置信息指示在客户端设备处本地存储相应媒体项时,存储位置信息还指示相应媒体项是经久地存储在客户端设备处还是缓存在客户端设备处(848)。如以上描述的那样,在客户端设备处存储的媒体项可以是在客户端设备处经久地存储或是在客户端设备处缓存。用于该项的媒体元数据可以包括如下数据,该数据指示该媒体项是经久地存储还是缓存在客户端设备处。
[0185] 在一些实施例中,用于相应媒体项的存储位置信息包括从以下各项构成的集合中选择的状态信息:本地存储、本地缓存、远程存储和多个转移状态(850)。媒体库中的媒体项可以具有多个存储状态之一,这些存储状态包括在客户端设备处本地存储(有或者无对应远程存储的媒体项)、本地缓存(即,远程存储的但是在本地缓存用于回放)、远程存储以及多个转移状态中的任何转移状态。
[0186] 在一些实施例中,多个转移状态包括:向本地存储装置转移、向高速缓存转移、进行中的购买交易和正从本地存储装置删除(852)。转移状态可以包括正在向客户端设备下载以用于持久存储(即,向本地存储装置转移)、正在向客户端设备下载以用于缓存(即,向高速缓存转移)、进行中的购买交易(例如,其中用户已经从数字媒体商店进行购买并且商店正在处理该购买)和正从本地存储装置删除(例如,在用户已经从另一设备指令删除本地存储的项和对应远程存储的项并且尚未在客户端设备处执行该删除时)。
[0187] 在一些实施例中,响应于预定义触发条件,设备发起(854)本地存储的元数据与在远程系统处存储的对应元数据的同步。响应于触发条件,客户端设备将媒体元数据与远程服务器112/远程存储装置114同步。触发条件的示例包括调度的同步时间的到达或者引起对媒体库的显著改变的用户动作(例如,删除本地存储的媒体项)。
[0188] 在一些实施例中,设备在相应媒体项被下载到客户端设备时更新用于相应媒体项的元数据中的文件路径(855)。在远程存储的媒体项被下载到客户端设备时,更新元数据以包括通向下载的副本的文件路径。
[0189] 在一些实施例中,远程媒体项中的一个或者多个远程媒体项包括在客户端设备处缓存的对应副本,其中缓存的副本根据高速缓存管理策略而经受从客户端设备处的高速缓存的驱逐(856)。如以上描述的那样,可以在客户端设备处播放远程存储的媒体项。为了播放远程存储的媒体项,客户端设备向高速缓存(例如,高速缓存245或者345)中下载远程存储的媒体项的副本,并且播放缓存的副本。可以根据高速缓存管理策略(例如,首先删除最近最少使用的文件)而从客户端设备删除(例如,自动删除而无用户动作)缓存的副本。
[0190] 在一些实施例中,在显示与媒体项集合对应的媒体库信息时,设备抑制(858)对已经被标记为隐藏的远程媒体项的显示。可以根据用户命令将媒体库中的一个或者多个媒体项标记为隐藏。当在客户端设备处(例如,在用户接口600或者631或者640或者650中)向用户显示媒体库信息时,不显示被标记为隐藏的那些项。在一些实施例中,存在用户可以从显示隐藏的媒体项的媒体管理应用104/108导航到的用户接口,并且从该用户接口,用户可以取消隐藏这些隐藏的项中的任何项或者采取其它动作(例如,从用户的媒体库完整删除项)。
[0191] 在一些实施例中,设备接收(860)用于从客户端设备删除相应本地媒体项并且将该相应本地媒体项标记为隐藏的用户命令。在用户发出用于从客户端设备删除本地存储的媒体项的命令时,可以保持待删除的媒体项的文件而不是实际删除,但是代之以将其标记为隐藏。因此在媒体库中保持、但是向用户隐藏(即,未在典型使用中向用户显示)该媒体项。
[0192] 在一些实施例中,在客户端设备具有与远程系统的在线连接之时执行显示与媒体项集合对应的媒体库信息(862)。在客户端设备离线时,设备显示(863)与本地媒体项对应的媒体库信息并且抑制显示与在远程系统处存储而未在客户端设备处存储的远程媒体项对应的媒体库信息。在客户端设备离线、并且因此远程服务器112不可用或者远程服务器112以其他方式不可用时,远程存储的媒体项在客户端设备处不可访问。当在客户端设备离线之时在客户端设备处显示关于媒体库的信息时,可以因此不向用户显示与远程存储的媒体项对应的信息。可替换地,以在媒体项集合中可视地区分远程存储的媒体项与本地存储的媒体项的方式显示与远程存储的媒体项对应的信息。在一些实现方式中,可视地区分标记包括变灰或者另一不同颜色或者阴影。
[0193] 在一些实施例中,在客户端设备具有与远程系统的在线连接之时执行显示与媒体项集合对应的媒体库信息,并且在远程系统处存储而未在客户端设备处存储的远程媒体项中的一个或者多个远程媒体项是一个或者多个媒体项的播放列表的成员(864)。在客户端设备离线时,设备显示(865)与播放列表对应的媒体库信息,包括显示与在远程系统处存储而未在客户端设备处存储的远程媒体项对应的媒体库信息连同与标识播放列表中的远程媒体项的可视标记。在客户端设备离线时,并且因此远程服务器112不可用或者远程服务器112以其他方式不可用时,远程存储的媒体项在客户端设备处不可访问。在远程存储的项是播放列表的成员并且用于播放列表的信息被显示时,显示与远程存储的项对应的信息。在一些实现方式中,与远程存储的项对应的信息以将其与播放列表中的本地存储的媒体项区分的方式被显示。例如,可视地区分标记包括变灰或者另一不同颜色或者阴影。
[0194] 在一些实施例中,在客户端设备具有与远程系统的在线连接之时执行显示与媒体项集合对应的媒体库信息(866)。在客户端设备离线时,设备显示(868)与媒体项集合对应的媒体库信息、包括:根据第一预定义格式化显示用于在客户端设备处存储的一个或者多个本地媒体项的媒体库信息(870);并且根据与第一预定义格式化可视地不同的第二预定义格式化显示用于在远程系统处存储而未在客户端设备处存储的一个或者多个远程媒体项的媒体库信息(872)。在客户端设备在线并且具有与远程服务器112的连接之时执行在客户端设备处对媒体库信息的显示,但是也可以在客户端离线之时执行该显示。在客户端设备离线、并且因此远程服务器112不可用或者远程服务器112以其他方式不可用时,远程存储的媒体项在客户端设备处不可访问。当在客户端设备处显示关于媒体库的信息时,用一种格式化形式(例如,正常颜色字体)显示与本地存储的媒体项对应的信息,并且用不同格式化形式(例如,变灰字体)显示与远程存储的媒体项对应的信息。不可访问的远程存储的媒体项因此区别于即使在远程服务器112不可用时仍然可访问的本地存储的媒体项。
[0195] 在一些实施例中,本地媒体项中的一个或者多个本地媒体项具有在远程系统处存储的相应对应副本(874)。本地媒体项可以具有在远程存储装置114或者数字媒体商店存储装置118处存储的对应副本或者版本。对应副本或者版本可以以各种方式出现。例如,对应副本或者版本可以是本地媒体项向远程存储装置114的上传。在另一示例中,对应副本或者版本可以是来自数字媒体商店的、匹配到本地媒体项的项。在又一示例中,本地媒体项可以是对应副本或者版本向客户端设备的下载。
[0196] 在一些实施例中,设备确定(876)相应媒体项是否被存储在客户端设备和远程系统二者处并且如果相应媒体项被存储在远程系统处并且在客户端设备处没有存储对应副本,则显示标识该相应媒体项为远程媒体项的供给。可选地,客户端设备周期性地验证媒体库中的本地存储的项是否仍然在客户端设备处存在。如果确定了本地存储的项不再在客户端设备处存在,则将该项标识为远程存储的项(假设仍然远程地存储对应远程存储的媒体项)并且对于该项显示供给(例如,图标623或者636)。
[0197] 在一些实施例中,向客户端设备下载的用于在客户端设备处存储的相应远程媒体项的副本具有与对应的先前删除的本地媒体项的一个或者多个预定义质量度量不同的预定义质量度量(878)。在一些实施例中,匹配媒体项与数字媒体商店的项的过程的一部分包括允许用户从数字媒体商店存储装置118下载可以具有与原有本地存储的项不同的质量级别(例如,不同比特速率、更少损失编码)的匹配项。另外,在删除原有本地存储的项并且用户想要使相同项再次在本地存储时,用户可以使可以具有与原有本地存储的项不同的质量级别的匹配远程媒体项下载以用于在客户端设备处存储。
[0198] 在一些实施例中,响应于预定义用户命令,设备用从远程系统下载的更高质量的媒体项取代(880)相应本地媒体项,更高质量的媒体项具有与相应本地媒体项的内容对应的内容。在一些实施例中,匹配媒体项与数字媒体商店的项的过程的一部分包括,即使来自数字媒体商店存储装置118的匹配项具有更高质量(例如,更高比特速率、更少损失编码),仍然允许用户从数字媒体商店存储装置118下载匹配项以取代原有本地存储的项。可以根据用户命令来执行该取代。
[0199] 应当理解,图8A-图8E中的操作已经被描述的的特定顺序仅为示例性的而不旨在于指示描述的顺序是可以执行操作的仅有顺序。本领域普通技术人员将认识到用于对这里描述的操作重新排序的各种方式。此外,应当指出,这里关于方法700(例如,图7)描述的其它过程的细节也以类似方式适用于以上关于图8A-图8E描述的方法800。为了简洁,这里不重复这些细节。
[0200] 图9A-图9B是图示根据一些实施例的更新媒体库信息的方法900的流程图。在服务器或者服务器系统(例如,远程服务器112)处执行方法900。可以组合方法900中的一些操作和/或可以改变一些操作的顺序。
[0201] 服务器从第一客户端设备接收(902)与用户关联的第一媒体库信息。在客户端设备(例如,客户端设备102或者106)与远程服务器112通信以同步媒体库时,远程服务器112接收用于用户的媒体库240或者340(例如,媒体库244或者344)的数据或者信息。
[0202] 服务器至少基于第一媒体库信息来识别(904):在与用户关联的第一客户端设备处存储的一个或者多个客户端媒体项和与用户关联的、不具有在第一客户端设备处存储的对应副本的一个或者多个服务器媒体项,包括未在第一媒体库信息中包括的一个或者多个新服务器媒体项。远程服务器112比较接收的媒体库信息与用于对应用户媒体库441的数据或者信息以识别媒体库中的、在第一客户端设备处存储的媒体项(客户端媒体项)和远程存储而未在第一客户端设备处存储的媒体项(服务器媒体项)。被识别为远程存储而未在本地存储的媒体项可以包括不在第一客户端设备处的媒体库中的一个或者多个“新”媒体项(因为该项从与用户关联的第二客户端设备同步到服务器);这些项从第一客户端设备的观点来看是新的。
[0203] 在一些实施例中,新服务器媒体项包括与从数字媒体商店的购买(906)对应的一个或者多个服务器媒体项。例如,从第一客户端设备的观点来看是新的媒体项可以是使用第二客户端设备来访问数字媒体商店服务器116而从数字媒体商店购买的媒体项。购买的项被同步到远程服务器112和远程存储装置114,但是尚未同步到第一客户端设备。
[0204] 在一些实施例中,新服务器媒体项包括与在与用户关联的第二客户端设备处存储的相应客户端媒体项对应的一个或者多个服务器媒体项(908)。例如,从第一客户端设备的观点来看是新的媒体项可以是向第二客户端设备添加(例如,从摘录紧致盘生成的音乐媒体项)并且同步到远程服务器112和远程存储装置114、但是尚未同步到第一客户端设备的媒体项。
[0205] 在一些实施例中,该识别还识别与在第一客户端设备处存储的相应副本对应的一个或者多个服务器媒体项(910)。对媒体项的识别可以包括识别与在第一客户端设备处存储的媒体项对应的远程存储的媒体项。例如,该识别可以包括将在第一客户端设备处存储的媒体项匹配到在数字媒体商店存储装置118中的媒体项。该识别还可以包括验证与在第一客户端设备处的相应客户端媒体项对应的服务器媒体项仍然在远程存储装置114或者数字媒体商店存储装置118处存储而未(根据从第二客户端设备发出的用户命令)被删除。
[0206] 服务器向第一客户端设备发送(912)第二媒体库信息,第二媒体库信息包括与包括新服务器媒体项的服务器媒体项和客户端媒体项对应的信息;其中向第一客户端设备发送第二媒体库信息以用于在第一客户端设备处向用户呈现并且用于取代或者更新在第一客户端设备处的第一媒体库信息。远程服务器112生成更新的媒体库信息并且向第一客户端设备发送更新的媒体库信息以更新或者取代在第一客户端设备处的媒体库信息。更新的媒体库信息包括关于新服务器媒体项以及在第一客户端设备的媒体库中的其它媒体项的信息。可以向第一客户端设备的用户显示更新的媒体库信息。
[0207] 在一些实施例中,第二媒体库信息指示不具有在第一客户端设备处存储的对应副本的服务器媒体项可下载到第一客户端设备(914)。更新的媒体库信息指示媒体库中的媒体项中的哪个媒体项未在第一客户端设备处存储。
[0208] 在一些实施例中,服务器在第二媒体库信息中包括(916)与用于服务器媒体项的交互供给对应的标记,这些服务器媒体项不具有在第一客户端设备处存储的对应副本,交互供给指示不具有在第一客户端设备处存储的对应副本的服务器媒体项为可下载的,并且其中响应于检测到与相应供给的用户交互,激活对应服务器媒体项向第一客户端设备的下载。更新的媒体库信息标识哪些媒体项未在第一客户端设备处本地存储。在第一客户端设备处,对于这些标识的项显示交互供给(例如,图6A的图标623或者图6C或者6E的图标636)。可选地,用户与交互供给中的一个或者多个交互供给交互以激活对应媒体项向第一客户端设备的下载。
[0209] 在一些实施例中,第二库信息包括如下信息,该信息将客户端媒体项和服务器媒体项组织成一个或者多个汇集并且将包括不具有对应客户端媒体项的一个或者多个服务器媒体项的汇集指示为具有可下载媒体项(918)。例如,可以基于专辑、表演者、播放列表成员关系、出版商、工作室、风格等将媒体项组织成汇集,并且媒体库信息包括用于媒体项的专辑信息、表演者信息等。可选地,具有一个或者多个远程媒体项(远程存储而未在第一客户端设备处存储的媒体、排除缓存的项)的汇集由第二库信息中的标记来标识。
[0210] 在一些实施例中,在服务器从第一客户端设备接收(920)指示已经从第一客户端设备删除了相应客户端媒体项的信息时,服务器通过生成(922)第三媒体库信息以取代或者更新第二媒体库信息来做出响应。如果删除的客户端媒体项对应于相应服务器媒体项,则第三媒体库信息包括指示相应服务器媒体项可下载到第一客户端设备的信息(924)。如果删除的客户端媒体项不具有在服务器设备处存储的对应服务器媒体项,则第三媒体库信息排除关于删除的客户端媒体项的信息(926)。通常根据用户命令从第一客户端设备删除在第一客户端设备处本地存储的媒体项。远程服务器112接收关于删除的信息(例如,在同步操作期间)并且生成更新的媒体库信息以反映该删除。如果删除的媒体项对应于远程存储的媒体项,则将该项指示为远程存储而未在本地存储的、因此可下载的项。如果删除的媒体项不具有对应远程存储的媒体项,则从更新的媒体库信息排除关于删除的项的信息。作为结果,删除的项不再在媒体库中。
[0211] 在一些实施例中,在服务器从第一客户端设备接收(928)对于删除相应服务器媒体项的用户请求时,服务器通过生成(930)第四媒体库信息以取代或者更新第三媒体库信息来做出响应,第四媒体库信息排除与相应服务器媒体项对应的信息。例如,远程服务器112可以接收对于删除与被删除的本地存储的媒体项对应的远程存储的媒体项的用户请求或者命令。响应于该请求或者命令,生成排除关于被删除的远程存储的媒体项的信息的新媒体库信息;向库隐藏远程存储的媒体项。在一些境况中(例如,在被删除的媒体项不是用户从数字媒体商店购买或者以其他方式获得的时),从远程存储装置114删除该远程存储的媒体项。
[0212] 应当理解,图9A-图9B中的操作已经被描述的特定顺序仅为示例性的而不旨在于指示描述的顺序是可以执行操作的仅有顺序。本领域普通技术人员将认识到用于对这里描述的操作重新排序的各种方式。
[0213] 在以上描述的实施例中的许多实施例中,关于播放或者操纵非本地内容而描述的功能无论客户端设备当前是否存储任何本地项都适用。相似地,在以上描述的实施例中的许多实施例中,关于播放或者操纵本地存储的内容而描述的功能无论用户账户当前是否包括远程存储、但是未在本地存储的任何项都适用。
[0214] 已经出于说明的目的而参照具体实施例描述了前文说明书。然而,以上说明性讨论不旨在于穷举本发明或者使本发明限于公开的精确形式。许多修改和变化鉴于以上教导是可能的。选择和描述实施例以便最佳地说明本发明的原理及其实际应用以由此使本领域其他技术人员能够最佳地利用本发明和各种实施例,这些实施例具有如与设想的特定使用相适应的各种修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈