访问网络上的媒体的制作方法

文档序号:6755273阅读:174来源:国知局
专利名称:访问网络上的媒体的制作方法
发明
背景技术
领域本发明涉及数字媒体,更具体地来说涉及访问网络上的数字媒体。
背景技术
在信息时代中最重要的莫过于计算机可以共享信息的能力。网络是计算机赖以彼此通信的机制。一般来说,提供资源的设备称为服务器(server(s)),而利用这些资源的设备称为客户(client(s))。根据具体的网络类型,设备可以专用于一种类型的任务或可以同时作为客户和服务器,具体视它是提供还是请求资源。
人们希望共享的资源类型越来越与娱乐相关。具体来说,音乐、电影、图片和印刷品都属于人们希望从网络上访问的娱乐相关媒体的类型。例如,虽然音乐库可能在书房的家庭计算机中,但是媒体拥有者可能希望在客厅听音乐。
但是,共享媒体数据可能是网络密集型处理操作。人们倾注了大量资源为减少网络上的负载和增加网络处理大量数据传输的能力。随着压缩技术的发展和网络带宽不断增大,通过网络的信息吞吐量逐年迅猛增长。
虽然期望的技术在许多应用中表现不错,但是人们仍在不断努力以进一步提高传输数字媒体的能力。

发明内容
本发明提出一种检索网络上的媒体的方法。首先,客户连接到含有服务器的网络。该服务器包括至少一个含有媒体和相关媒体信息的媒体数据库。该客户则在服务器上查询媒体信息的至少一部分,然后响应查询接收媒体信息。该客户然后利用客户端媒体管理系统来管理接收到的媒体信息。管理接收到的媒体信息包括选择媒体。该客户然后请求网络上所选择的媒体,并响应该请求接收请求的媒体。
在另一个方面,在连接到网络之后,客户在服务器上查询服务器信息和容量。客户然后接收响应,该响应标识该服务器并通知客户有关该服务器的能力。接收到服务器信息之后,客户在服务器上查询数据库枚举,并接收枚举所有数据库、有多少媒体可用以及有多少媒体集合可用的响应。在数据库标识之后,客户在服务器上查询数据库中媒体集合的枚举,并接收标识媒体集合的响应。该客户然后在服务器上查询与所标识媒体集合相关的数据,该查询可以请求与缺省情况下所提供不同的层次的细节。对媒体集合查询的响应按请求的层次的细节标识与所标识媒体集合相关的数据。该客户然后执行所标识的媒体集合,从而当媒体集合需要媒体时从服务器请求媒体并接收所请求的媒体。
在再一个方面,本发明提出一种方法确保在客户上的媒体数据库表示是最新的。所述服务器首先提供媒体数据库,只要所述媒体数据库被修改,则该媒体数据库更新当前修订指示符。然后,服务器从客户接收请求,所述请求与数据库有关,该数据库含有客户提供的修订指示符。在接收到所述请求之后,所述服务器将当前的修订指示符与客户提供的修订指示符比较。如果所述客户提供的修订指示符与所述当前修订指示符不匹配,则所述服务器然后以至少含有所述当前修订指示符的一个标识的响应来响应所述请求。


参考如下附图及说明,可以更好地理解本发明。
图1以框图说明可实施本发明的示范环境;图2以框图说明图1所示服务器中服务器端媒体管理系统的组织结构;
图3以框图说明图1所示客户中客户端媒体管理系统的组织结构;图4A以示意控制流程图说明可用于确定图2所示服务器端媒体管理系统的功能的一种技术;图4B以示意控制流程图说明可用于枚举图2所示服务器端媒体管理系统的数据库的一种技术;图4C以示意控制流程图说明可用于填充图5所示客户端媒体管理系统的歌曲记录部分的一种技术;图4D以示意控制流程图说明可用于枚举图2所示服务器端媒体管理系统的播放列表的一种技术;图4E以示意控制流程图说明可用于填充图6所示客户端媒体管理系统的播放列表记录部分的一种技术;图4F以示意控制流程图说明一旦从图7所示客户端媒体管理系统中选择一首歌曲可用于从歌曲数据库检索一首歌曲的一种技术;图5以框图说明如图4B所示接收到对服务器-数据库请求的回复之后客户端媒体管理系统的组织结构;图6以框图说明如图4C所示接收到对数据库-歌曲请求的回复之后客户端媒体管理系统的组织结构;图7以框图说明如图4E所示接收到对播放列表-歌曲请求的回复之后客户端媒体管理系统的组织结构;图8以示意控制流程图说明可用于确保图1所示的客户和服务器是同步的一种技术;以及图9以示意图说明可实施本发明各种实施例的示范计算设备。
要明确在上述附图中,相似的引用号指相似的结构组件。还要明确的是附图所示内容并不一定按比例绘制。
具体实施例方式
在下文中,给出许多具体细节描述,以便透彻地理解本发明。但是,对于本领域技术人员来说,显然可以不同于部分或所有这些具体细节来实施本发明。在另一些例子中,未就一些熟知的处理操作步骤进行细节描述,以免不必要地使本发明不明显。
本发明一般允许客户机器访问服务器上的媒体数据库。该服务器上的数据和元数据以各种方式描述和组织媒体,并允许服务器操纵该媒体。不是服务器来执行媒体管理系统,客户请求数据和元数据,并利用有关本地媒体管理系统的信息,有效地在客户上创建对该服务器的表示。一旦在客户上通过客户端媒体管理系统选择了媒体,则客户可以从服务器请求该媒体,服务器可以向客户传送该媒体。
本发明可以支持“胖(thick)”客户和“瘦(thin)”客户。胖客户通常是运行于支持完整用户界面能力和具有相当的处理器和存储器资源的硬件上的诸如苹果计算机公司(Cupertino,CA)的iTunesTM软件等的软件程序。瘦客户通常是运行于可能有有限用户界面能力和缩减了处理和存储器资源的硬件上的软件程序。本发明顾及适于胖客户的健壮控制特征,但是也可以适用于瘦客户的最低控制特征。
一般来说,客户首先发出请求,以确定服务器上媒体是否可用。然后,该客户可以发出一系列的请求,以在客户上创建服务器上可用的媒体的表示。该表示包含有关服务器上可用的媒体的信息(“媒体信息”)。胖客户可以选择检索服务器的可用媒体的完整表示,而瘦客户可以选择检索服务器的可用媒体的部分表示。在从服务器接收到媒体信息之后,客户(根据其用户指令)可以搜索、浏览、排序或以其他方式与现在位于客户上的媒体信息进行交互。再者,该客户(根据其用户的指令)通常选择要表示的媒体项目(例如进行播放)。在此情况中,所选媒体项目的媒体内容从服务器流式传输到客户。
此外,当媒体数据库被更改时,客户可以从服务器接收通知。多个连接可以允许客户利用一个连接来访问媒体,同时利用另一个连接来等待该数据库已被更改的通知或浏览媒体列表。
图1以框图说明可实施本发明的示范环境。网络105将服务器110连接到各个客户115、120、125和130。网络105一般可以是数据网络,如LAN、WAN和因特网。服务器110可以或者也可以不是专用的设备,在图1所示的实例中,服务器110是一个通用计算机。各个客户115、120、125和130可以是胖客户或瘦客户,具有不同级别的处理能力。客户可以包括便携式计算机115、台式计算机120、专用设备(如苹果计算机公司(Cupertino,CA)的iPodsTM125或者设计为在网络105上工作的网络明白的(network-aware)音频/视频组件130。为简明起见,下文的讨论将假定仅便携式计算机客户115在从服务器110请求信息。
图2以框图说明服务器110中服务器端媒体管理系统200的组织结构。服务器端媒体管理系统200包括媒体管理器210和音乐数据库205。媒体管理器210控制对音乐数据库205的访问。更具体地来说,媒体管理器210从客户115接收到请求,访问音乐数据库,并向客户115返回响应。
音乐数据库205具有用于分类、标识和/或描述音乐数据库205中的媒体(即媒体项目)的多个记录215和220。为简明起见,下文的讨论将假定服务器110上所含的数字媒体只含有可以通过网络105上流式传输的音乐文件。应该明确的是在本文献中对“歌曲”或“音乐”的任何引用可以概括为任何形式的数字媒体,其可以包括声音文件、图片数据、电影、文本文件或可以数字形式存储在计算机上的任何其他类型的媒体。同样地,对“播放列表”的任何引用可以概括为媒体集合,包括混合的数字媒体的集合。
媒体管理器210具有或可以获取有关数据库205的信息,其可以包含例如,服务器的名称、所用的数据库版本、所需的安全性类型、可用于服务器的数据库的数量、是否支持非标准内容代码、是否支持永久标识等。本领域技术人员应熟知的,有关数据库205的信息可以单个记录文件的形式存在,或可以部分或完全在需要时生成,以根据需要标识各种信息片段。
歌曲记录215包含有关数据库205中可用的每个媒体项目的元数据。该元数据可以包括例如,歌曲名称、标识号、永久标识号、艺术家、专辑、歌曲大小、歌曲格式、要求的比特率以及任何其他适当的信息。当然,信息的类型可以取决于媒体的类型。视频文件还可以具有导演和制作人字段,但是可能不会使用专辑字段。静态图片则无需比特率信息。虽然某些字段可能是标准的,但是其他可能是专用于某些应用的。例如,视频信号可以具有辅助音频节目(SAP)信息。结合图4A描述了一种用于确保客户可以适当地处理非标准内容代码的机制。
标识号和永久标识号可以同时使用。如果支持的话,可以在重启时利用永久标识来访问服务器上的相同信息。通常,服务器每次在媒体管理系统200重启时赋予每个记录一个新的标识号。但是,只要记录可用,则永久标识号不变。
播放列表记录220包含有关音乐数据库205中可用的每个播放列表的信息。再者,给定播放列表的信息可以包含该播放列表内每首歌曲的标识号。播放列表是可以按或可以不按任何特定顺序的媒体的集合。用户可以选择按流派、风格、艺术家、听众或任何其他有意义的设置来组合媒体。虽然服务器110上的播放列表220通常只包含它自己的音乐数据库205所含的媒体,播放列表记录220没理由不能包含存储在其他服务器上的媒体或播放列表。但是,可能需要使用某些非标准内容代码,视服务器端媒体管理系统200的实施而定。
图3以框图说明客户115中的一个上的客户端媒体管理系统300的组织结构。客户端媒体管理系统300包括媒体管理器305。媒体管理器305通过网络105与服务器端媒体管理系统200的媒体管理器210交互,以便在客户115上复制在服务器110的音乐数据库205的至少一部分。当客户端媒体管理系统300首次启动时,它无法访问服务器110上的媒体,因为它还没有有关什么媒体可用的任何信息。
图4A以示意控制流程图说明可用于确定服务器端媒体管理系统200的特征的一种技术。客户115和服务器110执行的操作由对应的垂直线403和406表示。在409,客户115连接到网络105,首先知道服务器110。客户115可以采用允许它与网络105交互的任何连接机制。例如,如果客户115是苹果计算机公司(Cupertino)的iBookTM,它可以采用苹果计算机公司(Cupertino,CA)的RendezvousTM联网技术,以便自动与网络105配置自己。如果该客户不知道服务器110,则可以采用其它机制。例如,用户可以手工搜索服务器110,或者用户可以直接输入服务器110的地址。
一旦客户115知道服务器110,则它可以在412向服务器110发送服务器-信息请求。在尝试任何其他事务之前,通常利用服务器-信息请求从服务器获取信息。如果网络105采用TCP/IP协议,则该请求可以格式化为HTTP GET请求。GET请求还可以允许附加扩充内容添加到该请求中,允许例如客户115包含有关客户端媒体管理系统300的信息。
在415,服务器以描述服务器支持或需要的一系列特征的信息响应该服务器-信息请求。该信息可以例如包含有关服务器端媒体管理系统200的信息、可用数据库的数量、是否需要和需要什么登录程序、是否支持更新、是否支持永久标识号、是否支持非标准内容代码以及协议版本。
在415提供到客户115的信息允述客户端媒体管理系统300了解服务器110的能力。虽然客户115可以标识服务器110,但是客户115还没有有关可用媒体的任何信息。
如果客户115在418确定服务器110以指示支持非标准内容代码的指示响应服务器-信息请求,则在421客户115可选地发送内容代码请求。内容代码请求是一种机制,通过该机制,客户115获取服务器110支持的内容代码列表和向其映射的相关字符串名称。
包含该字符串名称允许多个开发商利用相同的代码供他们各自的产品用。例如,一个开发商可以对允许用户通过网络购买对应专辑的特征指定代码“16000”;而另一个开发商可以对向用户提供当前欣赏的歌曲的歌词的特征指定相同的代码。通过允许包含字符串名称,客户115可以判断它是否可以支持内容代码。可以例如通过包含开发商的URL作为字符串名称的一部分来确保字符串名称的唯一性。
在424,服务器110响应内容代码请求以代码及其相关联的字符串名称。在427,客户115可以只忽略它识别不了的代码/字符串对。否则,对于客户115识别的那些代码/字符串对,客户115将该代码与相关的字符串名称相关联。
在430,客户115登录到服务器110。登录操作过程可以要求输入用户名称(或帐户名称)以及密码,由此可以认证该客户的用户。仅在服务器要求的情况下,才执行登录程序。某些安全性协议可能需要客户115作出的每个将来的请求包含某些参数,如会话标识号。
一旦登录,客户115准备开始填充音乐数据库205的本地表示。图4B以示意控制流程图说明可用于枚举服务器端媒体管理系统200的数据库的一种技术。客户115和服务器110执行的操作由对应的垂直线403和406表示。在433,客户115可以发出服务器-数据库请求,该请求可用于从服务器110检索所有音乐数据库的列表。服务器-数据库请求还可以包含索引范围和/或查询。虽然同时支持胖客户和瘦客户都可用,但是瘦客户可能使用索引范围和/或查询来限制每次服务器响应中所含的数据量。
索引范围可以用于任何请求中,以基于第一个项目的位置(或索引)以及所请求的项目的数量,将响应中返回的项目约束在总项目集合的一个子集内。例如,索引范围可以用于请求来自服务器第二音乐数据库,来自音乐数据库的歌曲10到20,来自音乐数据库的最后5个播放列表,来自给定的播放列表的前5首歌曲,或者音乐数据库中的第42首歌曲。
查询可以用于任何请求中,基于指定的准则,将响应中返回的项目约束在总项目集合的一个子集内。例如,查询可以请求给定年份之后在数据库中的歌曲;其名称含有某个词汇的播放列表;在数据库中其名称不含给定词汇的歌曲;或上述的某种组合。
在436上处理服务器-数据库请求之后,服务器110在439发出响应。如果没有给定索引范围和/或查询,响应会包含在服务器110可用的音乐数据库的完整列表以及有关一个或多个音乐数据库的信息。有关每个数据库的信息可以例如包括数据库标识号、永久数据库标识号、每个数据库的名称、歌曲的数量以及播放列表的数量。利用这些信息,客户端媒体管理系统300知道服务器110上一个或多个音乐数据库的一般结构。
图5以框图说明接收到对服务器-数据库请求的回复之后,如图3所示的客户端媒体管理系统300的组织结构。在442,客户115可以标识音乐数据库510,可用歌曲记录515的数量以及可用播放列表520的数量。一旦已知音乐数据库510的一般结构,客户115就可以利用任何数量的技术来填充它的表示。
图4C以示意控制流程图说明可用于对于特定数据库510填充客户端媒体管理系统300的歌曲记录515部分的一种技术。客户115和服务器110执行的操作由对应的垂直线403和406表示。在445,客户发出数据库-歌曲请求,以获取有关可用歌曲的元数据。
胖客户可以选择发出数据库-歌曲请求,以便它可以面对负载网络业务。一旦接收到并存储了有关歌曲的元数据,客户115则无需再次请求该元数据。播放列表只需正确地标识歌曲(例如利用歌曲标识号),客户端媒体管理系统300可以将其与已经接收到的元数据相关联。
瘦客户可以选择发出索引范围、查询、元数据字段说明符(specifier)或一起跳过445。元数据字段说明符会指示仅需要某些元数据字段。使用445的胖客户还可以选择采用这些相同索引范围、查询或元数据字段说明符技术。例如,将歌曲元数据请求仅限于某个流派的歌曲是用于向用户提供不同的用户体验的一种技术。
服务器110在448执行任何必要的过滤操作,然后在451发出回复。图6以框图说明接收到对数据库-歌曲请求的回复之后,客户端媒体管理系统300在453的组织结构。歌曲记录605可以是服务器端歌曲记录215的部分或完整表示,其元数据可能包含例如,歌曲名称、标识号、永久标识号、艺术家、专辑、歌曲大小、歌曲格式、要求的比特率以及任何其他适当的信息。如果服务器端管理系统200具有多个数据库,需要对每个数据库发出数据库-歌曲请求(如果使用的话)。
图4D以示意控制流程图说明可用于枚举服务器端媒体管理系统200的播放列表记录220部分的一种技术。客户115和服务器110执行的操作由对应的垂直线403和406表示。
在454,客户发出数据库播放列表请求,以获取可用播放列表的列表。服务器110上的播放列表可以是用户标识的,也可以由服务器端媒体管理系统200自动生成。例如,可以自动创建一个“基本播放列表”作为含有整个歌曲数据库205中的所有歌曲的特殊播放列表,同时“约翰列农播放列表”可作为用户创建的约翰列农的歌曲集合。
在接收到数据库-播放列表请求和执行任何必要的过滤操作之后,服务器110在457发出回复。该回复包含音乐数据库205中的所有播放列表的列表以及有关这些播放列表的信息。有关播放列表的信息可以包含例如,该播放列表的标识号和/或永久标识号,以及可以提供的任何其他信息(例如播放列表中的歌曲是按顺序播放还是打乱顺序播放)。可以需要发出多个数据库播放列表请求来填充多个数据库。
图4E以示意控制流程图说明可用于填充客户端媒体管理系统300的播放列表记录520部分的一种技术。客户115和服务器110执行的操作由对应的垂直线403和406表示。一旦在460标识了播放列表,则在463客户115发送对该播放列表的播放列表-歌曲请求。根据是否执行了操作445至451,播放列表歌曲请求还可以请求传送随每个歌曲的元数据,以填充歌曲记录605。不具有通知服务器110已经接收的歌曲记录605的机制的胖客户可能导致接收到重复歌曲记录605的风险,而不保留歌曲记录605的瘦客户可以随同每个播放列表一起请求歌曲元数据来获益。
在接收到播放列表-歌曲请求和执行任何必要的过滤操作之后,服务器110在466发出回复,其中含有请求的信息。图7以框图说明在469接收到对播放列表-歌曲请求的回复之后客户端媒体管理系统300的组织结构。每次完成客户115与服务器110之间的播放列表-歌曲事务处理,填充另一个播放列表记录705。播放列表记录705可以是对应的服务器端播放列表记录220的部分或完整表示。可以需要发出多个播放列表-歌曲请求填充多个播放列表。
图4F以示意控制流程图说明可用于在选择歌曲时从歌曲数据库205中检索歌曲的一种技术。客户115和服务器110执行的操作由对应的垂直线403和406表示。
在472,客户115发出歌曲-数据请求,以从服务器110检索歌曲数据。如果单个歌曲以多种格式存储在服务器100上,歌曲数据请求可以包含格式指示符。格式指示符可以指定该歌曲是以例如MPEG 3编码数据(“mp3”)、MPEG 4高级音频编码(“m4a”)音频交换文件格式(“aiff”)或windows声音文件(“wav”)等来请求的。在475,服务器110将音频文件传送到客户115。在一个实施例中,服务器110通过将歌曲数据附加到http头来流式传输该歌曲,从而使客户115负责对适应在客户115上播放歌曲的数据进行分析。
上文描述假定未采用机制在服务器端媒体管理系统200上的数据在会话期间被修改的情况下更新客户115。例如,播放列表705的客户端表示可以不精确地表示最新版本的对应服务器端播放列表记录220。
图8以示意控制流程图说明可用于确保客户115和服务器110同步的一种技术。客户115和服务器110执行的操作由对应的垂直线805和810表示。
在815,客户115发出更新请求,以从服务器110检索媒体数据。更新请求可以是一个标记,该标记告知服务器110当服务器110上的数据(例如音乐数据库205)变更时客户115希望被告知。在一个实施例中,该标记是修订指示符,如修订编号或时间戳。
在820,服务器110处理更新请求。在一个实施例中,在服务器的音乐数据库相对于客户对那个音乐数据库的表示有更改时,服务器110才响应更新请求。如果在815使用修订编号,则服务器110将客户115提供的修订号与当前修订号比较,以判断是否发生更改。服务器110的修订号表示服务器110上音乐数据库205的版本。对记录215或220的任何后续更改都可能导致服务器110将其修订号按1递增。根据系统的要求,可以对记录215或220的一组更改分批处理,由此修订号仅递增一次。可以通过标准技术来执行分批处理,包括按操作(例如将文件作为一组向服务器添加)、按时间(例如上次更改发生之后等待某段时间以保证不发生其他更改)或按操作的次数(例如某个次数更改之后更改修订号)。
一旦服务器110确定客户提供提供的修订号不再等于当前修订号,在825发出回复。在一个实施例中,该回复将包含服务器的当前修订号。虽然服务器110可以继续监视服务器的当前修订号的变化,但是客户115可以重发新的具有服务器当前修订号的更新请求,实质上以更新的修订号重复操作815。一些系统可以使客户115始终以客户生成修订号“1”开始,而服务器110失始终以修订号“2”开始,以便强使服务器110在第一次接收到更新请求时发出更新回复。此方法可能服务器-数据库请求向客户115提供用于填充它的音乐数据库205的本地表示的动力(参见图4B,在433)。此外,还可以利用更新回复来通知客户115服务器将终止连接(可能因为超时或服务器关闭),可能通过发送当前修订号0来实现。
除了更新请求外,客户115还可以在请求433、445、454和463的任何一个中包含修订号字段。服务器110然后基于逐个请求检查提供请求的修订号那个特定请求的修订号。如果这些修订号不匹配,则服务器110发出更新回复,以指定当前修订号和可能对应的回复。否则,服务器110答应前文所述的请求。
在一个实施例中,数据库请求433、445、454和463还支持递增的更新,以便减少网络通信量(以及通过更大的响应性来提高用户体验)。递增更新允许客户仅请求从历史修订号更改到当前修订号。例如,如果客户115以来自修订“5”的信息填充它的播放列表记录705,然后服务器110通知该客户最新的修订是“8”,则客户可以发出新的播放列表-歌曲请求463,仅请求从修订“5”更改到修订“8”的信息。只要服务器110保持或具有根据每个修订号对修改的历史记录的访问,就可以答应递增请求。
但是,优化可允许服务器110确定应答递增的请求是否实际比重发整个回复更有效。在某些情况中(例如删除了播放列表中的一半以上的歌曲时),以完整的播放列表-歌曲回复466而非递增回复来回复占用较少网络资源。但是,当播放列表-歌曲回复466提供完整的回复时,该回复最好包含该数据不表示递增更新的指示,由此客户115可以正确地处理信息。
一般来说,本发明的技术可以软件或硬件来实施。例如,它们可以在操作系统中、分开的用户过程中、绑定到网络应用程序中的库程序包中、或专门构造的机器上实施。在本发明的特定实施例中,本发明的技术以诸如操作系统和/或运行于操作系统上的应用程序等的软件来实施。
本发明技术的软件或软件/硬件混合实施方式可以通过存储在存储器中的计算机程序选择性激活或重新配置的通用可编程机器上实施。在另一个实施例中,本发明的技术可以在通用网络主机机器上实现,如个人计算机、工作站或服务器。再者,本发明至少部分可以在通用计算机设备上实施。
现在参见图9,适于实施本发明技术的计算机设备900包括主中央处理单元(CPU)905、接口910、存储器915和总线920。当在适当的软件或固件的控制下操作时,CPU905可以负责实施与期望的计算设备功能相关联的特定功能。CPU905最好在包括操作系统(例如Mac OS X)的软件以及任何适当的应用程序软件(例如iTunes)控制下实现所有这些功能。
CPU 905可以包括一个或多个处理器,如摩托罗拉系列的微处理器或MIP S系列的微处理器。在另一个实施例中,处理器是用于控制计算设备900的操作的特殊设计的硬件。
接口910通常设为接口卡。一般来说,它们控制网络上数据分组的发送和接收,有时支持与计算系统900一起使用的其他外围设备。在可以提供的接口中有以太网接口、帧中继接口、电缆接口、DSL接口、令牌环接口等。此外,各种非常高速度的接口还可以提供如以太网接口、千兆位以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、ASI接口、DHEI接口等。一般来说,这些接口可以包括适合与适当媒体通信的端口。在一些情况中,它们还可以包括独立的处理器,以及在某些情况中包括易失RAM。
无论计算设备的配置如何,它都可以采用一个或多个存储器模块(如存储器915),配置为存储数据、程序指令和/或其他与本文所述技术功能相关的其他信息。例如,程序指令可以控制操作系统的操作和/或一个或多个应用程序。
因为可以采用此信息和程序指令来实施所述的系统/方法,所以本发明涉及包括程序指令、状态信息等的机器可读媒体,用于执行上述的各种操作。机器可读的媒体实例包括但不限于磁媒体,如硬盘、软盘以及磁带;光媒体,如CD-ROM磁盘;磁光媒体,如光磁软盘;以及专门配置存储程序指令的硬件设备、如只读存储器设备(ROM)和随机存取存储器(RAM)。本发明还可以在适当媒体上传送的载波来实施,如空气波、光线路、电线路、等。程序指令的实例包括机器代码(如编译器生成的代码)以及计算机可以(例如利用解释器)执行的高级的代码。
虽然图示和描述的是本发明的示范实施例和应用,但是还可能有属于本发明概念、范围和精神的许多变化和修改,本领域技术人员在阅读本申请文献之后能够显而易见设想到这些变化。因此,本发明的这些实施例应视为说明性的,而非限定性的,而且本发明不限于所给出的具体细节,本发明可以在所附权利要求的范围和等效范围内进行修改。
权利要求
1.一种检索数字媒体的方法,包括在服务器上查询所述服务器的特征;接收所述服务器的所述特征,所述特征包括有关至少一个数字媒体数据库的信息,其中有关所述至少一个数字媒体数据库的信息包含有关记录的元数据,所述记录涉及数字媒体元数据或媒体集合数据或二者;在所述服务器上查询填充与所述元数据相关联的记录所需的信息;以及接收填充与所述元数据相关的记录所需的所述信息。
2.如权利要求1所述的方法,其特征在于所述记录涉及数字媒体元数据和媒体集合,以及需要多个查询以填充与所述元数据相关联的记录。
3.如权利要求1的方法,还包括利用本地数据库管理系统来管理所述数字媒体元数据记录及所述媒体集合数据记录中所含的信息。
4.如权利要求1所述的方法,其特征在于所述服务器是网络上的远程设备。
5.如权利要求1-4的任何一项所述的方法,还包括从网络上请求媒体;以及接收所请求的媒体。
6.如权利要求5的方法,还包括在客户设备上表示所接收的媒体,其中表示所接收的媒体包括为用户播放所述媒体。
7.如权利要求6所述的方法,其特征在于所述客户设备是或具有媒体播放器。
8.如权利要求6所述的方法,其特征在于所接收的媒体涉及歌曲。
9.如权利要求1-8任何一项所述的方法,其特征在于所述方法作为指令而存储在计算机可读媒体上。
10.一种检索媒体的方法,包括连接到服务器,所述服务器包括媒体信息;在所述服务器上查询所述媒体信息的至少一部分;响应所述查询接收元数据,至少一个元数据项目与媒体或媒体集合相关联;以及请求与所述至少一个元数据项目相关联的信息。
11.如权利要求10所述的方法,其特征在于所述方法由客户端媒体管理系统执行;所述查询指示所述部分;以及所述部分至少部分基于所述客户端媒体管理系统是否限制用户接口能力。
12.如权利要求10所述的方法,其特征在于所述方法由客户端媒体管理系统执行;所述查询指示所述部分;所述部分至少部分基于所述客户端媒体管理系统是否有有限的存储器,由此所述有限的存储器不足以存储从所述服务器可得的所有媒体信息。
13.如权利要求10所述的方法,其特征在于所述查询指示所述部分;所述部分至少部分基于向用户提供定制的体验。
14.如权利要求10所述的方法,其特征在于所述服务器是网络上的远程设备。
15.一种在网络上检索媒体的方法,包括连接到含有服务器的网络;在所述服务器上查询服务器能力;接收描述所述服务器的对服务器能力查询的响应;在所述服务器上查询数据库枚举;接收描述至少一个数据库的对数据库枚举查询的响应,所述描述包括有多少媒体及有多少媒体集合从所述至少一个数据库中可得;从所述至少一个数据库中选择数据库;在所述服务器上查询所选数据库中的媒体集合的枚举;接收描述所述媒体集合的对媒体集合枚举查询的响应;从所描述的媒体集合中选择媒体集合;在所述服务器上查询与所选媒体集合相关联的数据,所述媒体集合数据查询可以请求与缺省下提供的不同的级别的细节;接收对媒体集合数据查询的响应,所述响应以所请求级别细节描述与所选媒体集合相关联的数据;基于所述媒体集合确定需要什么媒体;当需要所述媒体时从所述服务器请求媒体;以及接收所请求的媒体。
16.如权利要求15所述的方法,还包括在所述数据库标识查询之前登录到所述服务器。
17.如权利要求15所述的方法,还包括在所述服务器上查询内容代码;以及接收对内容代码查询的响应,所述响应包含支持的字符串名称和所述服务器将那些支持的字符串名称与之相关联的对应代码的列表。
18.如权利要求15所述的方法,其特征在于所述缺省级别的细节不包括媒体细节。
19.如权利要求18所述的方法,还包括在所述服务器上查询所述数据库中的媒体细节;接收对媒体细节查询的响应,所述响应描述所述媒体的细节。
20.如权利要求19所述的方法,其特征在于如果与所述数据库枚举查询一起包含数据库枚举过滤器,所述响应只包含未被所述数据库枚举过滤器排除的数据库描述;如果与所述媒体细节查询一起包含媒体细节过滤器,所述响应只包含未被所述媒体细节过滤器排除的媒体细节;如果与所述媒体集合枚举查询一起包含媒体集合枚举过滤器,所述响应只包含未被所述媒体集合枚举过滤器排除的媒体集合描述;以及如果与所述媒体集合数据查询一起包含媒体集合数据过滤器,所述响应只包含未被所述媒体集合数据过滤器排除的媒体集合数据。
21.如权利要求19所述的方法,其特征在于如果与所述数据库枚举查询一起包含数据库枚举索引范围,所述响应只包含落入所述数据库枚举索引范围内的数据库描述;如果与所述媒体细节查询一起包含媒体细节索引范围,所述响应只包含未被所述媒体细节索引范围排除的媒体细节;如果与所述媒体集合枚举查询一起包含媒体集合枚举索引范围,所述响应只包含落入所述媒体集合标识索引范围内的媒体集合描述;以及如果与所述媒体集合数据查询一起包含媒体集合数据索引范围,所述响应只包含落入所述媒体集合数据索引范围内的媒体集合数据。
22.如权利要求15所述的方法,其特征在于描述包含永久标识符。
23.如权利要求15所述的方法,还包括通过含有客户生成的修订指示符的更新请求查询所述服务器;以及如果服务器生成的当前修订指示符不对应于所述更新请求中所含的客户生成的修订指示符,则接收含有所述服务器生成的当前修订指示符的对所述更新请求的响应。
24.如权利要求19所述的方法,其特征在于所述数据库枚举查询包含客户生成的数据库枚举修订指示符;如果服务器生成的当前数据库枚举修订指示符不对应于所述客户生成的数据库枚举修订指示符,则对所述数据库枚举查询的响应含有所述服务器生成的当前数据库枚举修订指示符;所述媒体细节查询包含客户生成的媒体细节修订指示符;如果服务器生成的当前媒体细节修订指示符不对应于所述客户生成的媒体细节修订指示符,则对所述媒体细节查询的响应含有所述服务器生成的当前媒体细节修订指示符;所述媒体集合枚举查询包含客户生成的媒体集合枚举修订指示符;如果服务器生成的当前媒体集合枚举修订指示符不对应于所述客户生成的媒体集合枚举修订指示符,则对所述媒体集合枚举查询的响应含有所述服务器生成的当前媒体集合枚举修订指示符;所述媒体集合数据查询包含客户生成的媒体集合数据修订指示符;以及如果服务器生成的当前媒体集合数据修订指示符不对应于所述客户生成的媒体集合数据修订指示符,则对所述媒体集合数据查询的响应含有所述服务器生成的当前媒体集合数据修订指示符。
25.如权利要求24所述的方法,还包括如果对所述数据库枚举查询的响应包含所述服务器生成的当前数据库枚举修订指示符,则重发所述数据库枚举查询;如果对所述媒体细节查询的响应包含所述服务器生成的当前媒体细节修订指示符,则重发所述媒体细节查询;如果对所述媒体集合枚举查询的响应包含所述服务器生成的当前媒体集合枚举修订指示符,则重发所述媒体集合枚举查询;以及如果对所述媒体集合数据查询的响应包含所述服务器生成的当前媒体集合数据修订指示符,则重发所述媒体集合数据查询。
26.如权利要求25所述的方法,其特征在于重发所述数据库枚举查询包含所述服务器生成的当前数据库枚举修订指示符和所述客户生成的数据库枚举修订指示符;重发所述媒体细节查询包含所述服务器生成的当前媒体细节修订指示符和所述客户生成的媒体细节修订指示符;重发所述媒体集合枚举查询包含所述服务器生成的当前媒体集合枚举修订指示符和所述客户生成的媒体集合枚举修订指示符;以及重发所述媒体集合数据查询包含所述服务器生成的当前媒体集合数据修订指示符和所述客户生成的媒体集合数据修订指示符。
27.如权利要求26所述的方法,其特征在于对重发所述数据库枚举查询的响应包含仅提供了递增变更的指示;对重发所述媒体细节查询的响应包含仅提供了递增变更的指示;对重发所述媒体集合枚举查询的响应包含仅提供了递增变更的指示;以及对重发所述媒体集合数据查询的响应包含仅提供了递增变更的指示。
28.如权利要求26所述的方法,其特征在于对重发所述数据库枚举查询的响应包含没有提供递增变更的指示;对重发所述媒体细节查询的响应包含没有提供递增变更的指示;对重发所述媒体集合枚举查询的响应包含没有提供递增变更的指示;以及对重发所述媒体集合数据查询的响应包含没有提供递增变更的指示。
29.一种传送媒体的方法,包括接收服务器信息的查询;发送对服务器信息查询的响应;接收数据库枚举查询;发送描述至少一个可用数据库的对数据库枚举查询的响应,所述描述包括有多少媒体可用以及有多少媒体集合可用;接收请求媒体集合的枚举的查询;发送描述所述媒体集合的对所述媒体集合枚举查询的响应;接收请求与标识的媒体集合相关联的数据的媒体集合数据查询,所述媒体集合数据查询指示细节的级别;发送对所述媒体集合媒体查询的响应,所述响应以适当级别的细节描述与所标识的媒体集合相关联的媒体;接收媒体请求;以及传送所请求的媒体。
30.一种在网络上检索媒体的方法,包括设置客户端媒体管理系统;连接到含有服务器的网络,所述服务器包括至少一个媒体数据库,所述至少一个媒体数据库包括媒体和相关联的媒体信息;在所述服务器上查询所述媒体信息的至少一部分;响应所述查询接收媒体信息;基于通过所述客户端媒体管理系统与所述媒体信息的交互选择至少一个媒体;从所述网络上请求所选媒体;以及接收所请求的媒体。
31.如权利要求30所述的方法,其特征在于所述查询指示所述部分;所述部分至少部分基于所述客户端媒体管理系统是否具有有限的用户接口能力。
32.如权利要求30所述的方法,其特征在于所述查询指示所述部分;所述部分至少部分基于所述客户端媒体管理系统是否具有有限的存储器,由此所述有限的存储器不足以存储从所述服务器可得的所有所述媒体信息。
33.如权利要求30所述的方法,其特征在于所述查询指示所述部分;所述部分至少部分基于向用户提供定制的体验。
34.一种提供媒体的方法,包括通知客户有关特征,所述特征包括有关至少一个数字媒体数据库的信息;其中有关所述至少一个数字媒体数据库的信息包含有关记录的元数据;所述记录涉及数字媒体元数据或媒体集合数据或二者;响应来自所述客户的信息的请求,所述响应包含所述客户可用于填充与所述元数据相关联的记录的信息。
35.如权利要求34所述的方法,还包括只要所述至少一个数字媒体数据库被修改,则更新当前修订指示符;从所述客户接收请求,所述请求涉及所述至少一个数字媒体数据库,所述请求包含客户提供的修订指示符;将所述当前修订指示符与所述客户提供的修订指示符比较;以及如果所述客户提供的修订指示符与所述当前修订指示符不匹配,则以含有所述当前修订指示符的至少一个标识的响应来响应所述请求。
36.如权利要求35所述的方法,还包括只要所述数据库被修改,则向所述客户提供所述当前修订指示符。
37.如权利要求35所述的方法,还包括维护来自每个修订指示符的修改的历史记录。
38.如权利要求37所述的方法,其特征在于来自所述客户的请求又包含历史修订指示符;以及在所述响应中提供所述信息是否表示递增信息的指示。
39.如权利要求38所述的方法,还包括确定是传送(i)所述数据库的整个内容还是(ii)仅递增变化更有效率,所述递增变化对应于从所述历史修订指示符到所述当前修订指示符所作的修改。
40.一种确保在客户上的媒体数据库表示是最新的方法,包括设置媒体数据库;只要所述媒体数据库被修改,则更新当前修订指示符;从所述客户接收请求,所述请求涉及含有客户提供的修订指示符的数据库;将所述当前修订指示符与所述客户提供的修订指示符比较;以及如果所述客户提供的修订指示符与所述当前修订指示符不匹配,则以含有所述当前修订指示符的至少一个标识的响应来响应所述请求。
41.如权利要求40所述的方法,还包括只要所述数据库被修改,则向所述客户提供所述当前修订指示符。
42.如权利要求40所述的方法,还包括维护来自每个修订指示符的修改的历史记录。
43.如权利要求42所述的方法,其特征在于来自所述客户的所述请求又包含历史修订指示符;以及在所述响应中提供所述信息是否表示递增信息的指示。
44.如权利要求43所述的方法,还包括确定传送(i)所述数据库的整个内容还是(ii)仅递增变化更有效率,所述递增变化对应于从所述历史修订指示符到所述当前修订指示符所作的修改。
45.一种计算设备,包括处理器;与所述处理器可操作连接的存储器;其中,所述处理器可操作执行包括如下操作的指令连接到服务器,所述服务器包括媒体信息;在所述服务器上查询所述媒体信息的至少一部分;响应所述查询接收媒体信息;响应所述查询请求与所述媒体信息相关联的至少一个媒体项目;以及接收所述媒体项目。
46.如权利要求45所述的计算设备,其特征在于所述处理器还可操作执行包括如下操作的指令在所述服务器上查询服务器能力;以及接收描述所述服务器的对服务器能力查询的响应。
47.如权利要求45所述的计算设备,其特征在于所述处理器还可操作执行包括如下操作的指令在所述服务器上查询数据库枚举;以及接收描述至少一个数据库的对数据库枚举查询的响应,所述描述包括从所述至少一个数据库中可得多少媒体以及可得多少媒体集合或两者。
48.如权利要求45所述的计算设备,其特征在于在所述服务器上查询所述媒体信息的至少一部分是媒体集合的至少一部分的枚举的请求。
49.一种计算设备,包括处理器;与所述处理器可操作连接的存储器;以及与所述处理器可操作连接的网络接口;其中,所述处理器可操作执行包括如下操作的指令连接包括服务器的网络,所述服务器具有媒体数据库;在所述服务器上查询所述服务器的特征,接收所述服务器的所述特征,所述特征包括有关至少一个数字媒体数据库的信息,其中有关每个数字媒体数据库的信息包含有关记录的元数据,所述记录涉及数字媒体元数据和媒体集合数据;在所述服务器上查询填充所述数字媒体元数据记录所需的信息;接收填充所述数字媒体元数据记录所需的信息;在所述服务器上查询填充所述媒体集合数据记录所需的信息;接收填充所述媒体集合数据记录所需的信息;利用本地数据库管理系统管理所述数字媒体元数据记录以及所述媒体集合数据记录中所含的信息;从所述网络上请求媒体;以及接收所请求的媒体。
全文摘要
访问网络上的媒体的方法和装置。本发明一般允许在网络上提供媒体。客户从服务器请求媒体信息,以便该客户可以创建服务器数据库的本地表示。然后该客户就可以在本地管理媒体信息。当客户选择期望的媒体时,它从网络上请求所选内容。服务器则传送所选媒体。
文档编号G11B27/00GK1768338SQ200480008880
公开日2006年5月3日 申请日期2004年4月15日 优先权日2003年4月25日
发明者A·雅瓦, J·L·罗宾, D·赫勒 申请人:苹果电脑公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1