标记网络媒体设备上的搜寻内容项的制作方法

文档序号:6349227阅读:158来源:国知局
专利名称:标记网络媒体设备上的搜寻内容项的制作方法
技术领域
本发明涉及一种网络媒体设备,更具体地涉及标记和获取网络媒体设备中的搜寻内容项。
背景技术
近来,诸如电视机、DVD播放器、数字摄像机(DVR)和MP3音乐播放器的家用媒体设备的趋势是将家中的这些设备经由局域网进行互连。已提出的或可用的家用媒体设备的联网方案使用以太网或IEEE 1934,通过铜线、光纤、无线传输或它们的组合来连接这些设备。大多数方案通常将设备看作不同的单个实例设备。网络的使用可能被限于提供远程访问来控制这些设备、以及将流传输内容从解码设备(例如DVD播放器)传输到呈现设备(例如TV)。逐渐地,家用媒体设备中使用的内容作为编码为文件或文件组的数字数据而保持在媒体设备中,并存储到磁盘或闪存媒体设备上,所述磁盘或闪存媒体设备要么直接连接到上述媒体设备,要么由上述设备通过网络访问。这样的内容由包括电影、电视节目、 音乐和数字照片的各种媒体类型组成。

发明内容
根据第一方面,本发明提供一种方法,包括在用于所述媒体设备网络中的第一设备的内容目录中插入用于期望内容项的第一期望内容ID,所述网络中的设备的内容目录包括存在于所述设备中的内容的内容ID以及所述设备期望的内容的内容ID;比较所述网络中的其它设备的内容目录,以判定是否任何所述其它设备具有包含所述第一期望内容ID 的内容目录;针对在其内容目录中具有所述第一期望内容ID的设备,判定所述期望内容是否存在于所述其它设备中;以及如果所述期望内容存在于所述其它设备中,将所述期望内容的复本传送给所述第一设备。根据第二方面,本发明提供了一种方法,包括在计算机系统的内容目录中放置至少一个内容位置标志符,所述内容位置标志符识别所述计算机系统正在搜寻的特定内容, 所述计算机系统与多个计算机系统互联;将所述计算机系统的所述目录中的内容与所述多个计算机系统中的内容进行同步;允许所述计算机系统在同步期间向所述多个计算机系统中的至少一个通知所述特定内容的存在;以及在所述同步之后从所述多个计算机系统中的至少一个获得所述特定内容。根据第三方面,本发明提供了一种系统,包括多个互连的媒体播放器,每个媒体播放器能够访问内容项,所述媒体播放器能够彼此交换所述内容项;每个设备中的内容列表,包含所述设备中的每个内容项的列表以及所述设备的期望内容项的列表;以及每个设备上的每个内容列表的二叉树表示。根据第四方面,本发明提供了一种用于在媒体设备网络中提供期望内容的计算机程序产品,所述计算机程序产品包括其中包含计算机可用程序代码的计算机可用介质,所述计算机可用程序代码包括配置来进行以下操作的计算机可用程序代码为设备机群中的每个设备生成二叉树,所述二叉树表示驻存在所述设备中的内容的所有复本的位置以及用于所述设备的期望内容;在每个设备中存储用于所述机群中的多个其它设备的所述二叉树;使用用于所述多个其它设备的所述二叉树来确定所述期望内容的位置;以及从所确定的位置获得所述期望内容。根据另一方面,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序运行在计算机上时,执行本发明的步骤。


现在将参照优选实施例仅通过示例来描述本发明,如以下附图所示图1示出了根据现有技术的设备的内容机群(cluster)的框图,在该内容机群中可以实施本发明的优选实施例;图2示出了根据本发明的优选实施例的二叉树的图;图3示出了根据本发明的优选实施例的、用于从这种设备的网络中的多个媒体设备获得期望内容的处理的流程图;图4示出了根据本发明的优选实施例的、用于在设备网络中的各设备之间同步内容列表的处理的流程图;以及图5示出了根据本发明的优选实施例的、对于实施本发明的一个实施例有用的信息处理系统的高级框图。
具体实施例方式本发明的优选实施例提供了一种系统、方法以及计算机可读介质,用于标记和获取网络媒体设备上的搜寻内容项。虽然已经付出了大量的努力来建立所需要的联网协议和内容保护系统,以便防止许可内容的未授权散布,然而关于在这些网络媒体设备上保持和可获得的内容的智能管理却很少有创新。将期望对保持内容的数据文件进行智能管理。该领域的当前状态一般限于将内容从一个设备显式地复制到另一设备。数字摄像机确实具有创建“搜索列表”的能力,所述“搜索列表”由设备将用于自动记录复本的搜索标准组成。用户显式地或使用匹配模式来输入各种搜索项获取所有“^ar Trek”的节目片段,或者获取在标题中具有Mar Trek的任何节目“* Star Trek*”。这种搜索依赖于视频传送源(电缆或卫星或因特网)提供的电视节目的元数据描述(标题、演员、导演、概况、日期、风格、原始播放/重播)来应用这些搜索项。市场上具有这种能力的产品的示例是TiVo DVR。在TiVo的情况中,这种搜索仅应用到用户在其上创建该搜索的单个TiVo设备。此外,其仅用于在经由馈送该TiVo设备的视频源(电缆或卫星)广播时指示TiVo记录节目。其不具有从网络上的其他内容保持设备获得内容数据的复本的能力。Apple的Apple TV产品中具有经由设备与登台(staging)服务器的同步来显式地请求将在所述设备上提供的内容的能力。这里,Apple TV设备包含内部硬盘驱动器,可以将内容复制在该内部硬盘驱动器上用于以后的回放。从在同一个家中运行的PC上的、通过网络与Apple TV设备连接的iTimes应用获得内容。自动地选择为下一同步操作中可获得的任何内容作为要复制的内容,或者通过显式地选择已经存在于PC上的内容来选择要复制的内容。然而,Apple TV的方案不允许设备用户创建选择性请求,以复制还未存在于PC 上的内容项。其还限制于在仅仅一个PC作为数据源的情况下工作。现在参考图1,其示出了根据现有技术的示例性内容机群10,在该内容机群中可以实施本发明的优选实施例。诸如计算机12、机顶盒14、数字摄像机(DVR) 16、DVD播放器 18、MP3播放器20和移动电话22的多个设备全部连接到诸如局域网(LAN)或广域网(WAN) 的网络Μ。在本发明的某些优选实施例中,网络可以使用以太网或IEEE 1394,通过铜线、 光纤、无线传输或这些方法的组合来连接设备。机顶盒14、DVR 16和DVD播放器各自连接到一个或多个电视机25上。计算机12还包括外部存储单元沈、外部显示单元28和处理器 30。应该理解,计算机12以外的其他设备14-22全部可以包括内部或外部存储器单元、显示单元和处理器。期望每个设备能够访问存储在任一设备12-22中的内容。关于各个设备中的内容的信息存储在内容列表中,所述内容列表包括对于每个内容项的唯一标识符(ID)以及内容项的每个已知复本(copy)和保持该复本的设备的列表。内容机群中的内容项由与该内容项唯一关联的标识符识别,从而相同内容项(例如电影或歌曲)的任何两个或多个实例将具有相同的内容标识符,而不论其存储在哪个设备上。可以应用本发明的优选实施例的内容机群10的一个实例在IBM 的高级安全内容机群技术(Advanced Secure Content Cluster Technology, ASCCT)中,其包括以保持在设备上的内容项的列表为特征的内容目录、以及存在于该机群中的其他设备上的内容项的复本(r印lica)的列表。IBM是国际商业机器公司在美国和/或其他国家的商标。IBM ASCCT提供了快速同步协议,机群中的设备通过该协议发布表示保持在该设备上的内容项的散列(hash)树。通过获取每个所保持的内容项的内容ID并将其与具有相同的开始两个字符的其他内容项分为一组,来构建表示保持在设备上的内容的散列树。内容ID是确定性地获得的 16字节的值,从而诸如同一电影的两个相同内容项将具有同一值。这通过将用于该内容项的内容通用资源名(URN)作为AES-U8散列函数的输入来实现,所述AES-U8散列函数将内容(URN)变换为统计上独特的16字节值。由内容的创建者或发布者将内容URN分配到内容项。该值用于唯一地识别内容项。机群中的每个设备彼此交换它们各自的内容状态树。通过将来自一设备的当前树与之前接收到的树进行比较,容易检测哪些内容组已经进行了添加或删除。接收设备进行的二次比较允许该接收设备确定其必须从另一设备取出的树的叶,从而其可以更新其本地内容列表。可以使用简单的“相等(equality)”比较运算符进行树的这种比较。例如,如果对值进行异或O(OR)并且结果全是0,则该分支中没有变化。如当前所描述的IBM ASCCT中的内容目录仅管理本地设备上的内容项以及在其它设备上的内容复本的列表。图2示出了根据本发明的优选实施例的作为二叉树32的示例性内容状态树。在此示例中,使用内容ID的开始两个字符作为分组标准,将AESU8用作散列,以产生128比特/16字节的散列值。这将为设备内容列表产生散列树32。因为示例内容ID是以16进制表达的、具有以下字符范围
的16字节的值,所以此示例树32具有256个叶 33。使用这种内容ID的开始两个字节产生256个可能的组,其开始两个字节的值的范围从00至FF。从而,这产生9层的树以及511个节点,每个节点保持16字节的散列值。因此, 整个树的大小是8176字节。二叉树的每个节点具有相同的大小,这是因为散列函数总是返回固定数目的比特。结果,散列树可以表示为连续的字节序列,其由沿着穿过该树的固定路径而附接在一起的节点的值组成。穿过树的固定路径的示例是宽度优先路径,其从根节点34开始,然后是下一层的最左边的节点36,并接着顺次穿过该下一层的每个节点,直到最右边的节点37。一层一层地重复此过程直到到达叶的最后一层,以同样的方式遍历最后一层的叶。该系统可以使用任何路径遍历方法,只要其被所有设备一致地遵守。将上述用于遍历的宽度优先的方法应用于上述示例,将产生示例树的以下8176 字节的字符串表达。[节点1]访字节[节点2]16字节…[节点δ11]16字节=范围在
中的8176 字节的字符串如果其中内容条目的组改变,则特定组的叶节点的值将改变。如果对组添加新的项,或者从组中移除项,或者如果组中的任何内容条目改变,则将发生这样的改变。因此,由被施加了改变的组的散列值的改变反映内容列表的任何改变或者内容列表中的元素的任何改变。继而,因为基于较低层计算每个较高层,所以树中由下向上反映叶节点的改变。最终,根节点34的值将改变。给定层中的节点的改变反映在其之下的节点中已经发生了一个或多个改变。因此,可以通过简单地检查根节点34看出是否整个内容列表已经发生了任何改变。如果其有新值,则列表中已经发生了一个或多个改变。通过从根节点34向下移动对比地检查树32可以得出改变的位置。给定层中节点的改变表示其下方的节点的改变。节点没有改变反映其下方的分支中的任何节点都未发生改变。这形成了用于首先检测内容列表是否已发生改变、并定位已经发生改变的地方的高效的机制。通过存储给定内容列表的最近存储的树以及将其与同一列表的最近的散列树进行比较,可以高效地确定该列表是否已经改变,并且如果改变了,则可以识别它们中具有改变的那些组。这样的比较的一个优点在于,与为了寻找改变而顺序搜索所有叶节点相比,可以更快地确定改变的叶节点的值的位置,只要不是所有叶节点都已改变。机群中的每个设备与每个其它设备交换它的内容状态树。通过将来自一设备的当前树与之前接收到的树进行比较,容易检测哪些内容组已经具有添加或移除。接收设备进行的第二比较允许其确定其必须从另一设备取回(retrieve)树的哪些叶,以更新其本地内容列表。可以使用简单的“相等”比较运算符来进行树的这种比较;例如,如果对值进行 XOR并且结果全是0,则该分支中不存在改变。这是可能的,这是因为,所使用的散列函数使得所有值都具有相同长度。这些比较执行很快,因为它们仅需要基本(primitive)操作,而不是更慢、更复杂的比较逻辑。通过在设备之间交换内容列表树的所表达的二叉树,可以使用少量数据来确定必须交换内容列表的哪些部分以获得有关保持在另一设备上的复本的信息,或者来将另一设备上的内容包括在总的内容列表中。通过四步处理构建表示内容列表的二叉树。首先,基于某些分组标准将内容列表中的条目划分为组。可接受的标准的实际示例将是内容ID的开始两个字节。所述组不需要是在统计上均勻地分布的,所述组也没有除将列表分解为可以用于建立散列树的部分的特性之外的其它特性。第二步是计算每个划分后的组中的内容条目的列表的散列。这些散列值每个组一个地形成散列树的叶。在第三步中,通过根据树中紧挨在组合在一起的节点下方的两个节点的散列计算新的更高节点的值来计算二叉树,并接着将其散列化。如果在给定层中存在奇数个节点,则新层中的最后一个节点包含其下方的剩下的(Odd-OUt)单个节点的散列。在第四步中,沿树向上重复上面的第三步,直到计算出了单个根节点。这四步产生了二叉树,该二叉树表示根据其建立该二叉树的内容列表的当前状态。所使用的划分标准将决定该列表将被分解为的组数。这继而决定了树中的叶数, 并继而决定树的高度,其决定树的总大小、表示树所花费的数据量、设备之间必须传输的数据量、以及设备必须比较以便确定与其同步的设备是否具有其想获得的内容列表数据的数据量。产生更宽的树的划分使得可以更精细地追踪内容列表的改变,然而树的尺寸可能迅速变大。根据本发明的优选实施例,允许设备插入其内容目录中本地不具有的内容的内容 ID。其效果将是允许设备检测机群中其它设备什么时候具有带有匹配的内容ID的内容。为了实现这一点,设备需要获得内容ID的方法以及确保其不向其它设备误表示其具有该内容的方法。为了计算期望内容的内容ID,设备将必须获得用于该内容的内容URN。这可以通过各种方法完成,诸如查询已建立的内容URN条目的数据库,或者可以从其它内容项的元数据获得该内容URN。元数据可以包括类似内容(如相关节目)的内容URN、内容的特别版本、或者以不同编码(诸如分辨率或质量)来编码的内容版本。可以通过检查用于内容项的复本条目,进行作为用于搜寻内容的位置标志符 (place holder)的内容ID相对于实际内容实例的消除多义(disambiguation)。因为保持内容的设备还在其已知复本的列表中列出其本地复本,所以这仅是检查该设备是否被列出为保持了复本实例的问题。如果不存在复本实例,则该内容ID是用于期望的内容的位置标志{寸ο内容位置标志符的引入使得由设备进行的各种新操作能够智能地与内容项一起工作。在本发明的各个优选实施例中,这些操作可以包括(1)移动设备上的内容的自动供应;( 内容项的自动备份;C3)网络上不适当或禁止的材料的自动报警;(4)从在线内容提供商进行内容自动购买;以及(5)创建网络的所有设备或用户的搜寻内容的总列表。下面更详细地描述这五个操作。移动设备上的内容的自动提供可以通过将内容位置标志符放置到移动设备的内容目录中来实现。当发现在网络上可得到期望的内容时,则可以触发设备从保持该内容的复本的设备之一获得内容的复本。内容项的自动备份可以通过创建备份设备来实现,所述备份设备包含用于机群想要确保自动进行备份或复制复本的内容的条目。使用与用于提供移动设备的方法类似的方法,当检测到在网络上可得到内容时,将触发备份设备执行对该内容的备份操作。
网络上不适当或禁止材料的自动报警可以通过将内容项放置到监视设备的内容目录中来实现。当发现了匹配内容时,将触发诸如请求处理设备删除该内容、或者向用户或日志发布警报的动作。从在线内容提供商自动购买内容可以通过具有连接到网络并与上述设备同步的 (虚拟或真实)设备的在线内容提供商实现。该设备能够检测内容位置标志符的存在并接着将所请求的内容提供给该设备。此操作可以包括经由预先安排的账户进行自动记账 (billing)。网络的所有设备或用户的搜寻内容的总列表的创建可以通过与网络上可得的设备同步、并建立由设备搜寻的搜寻内容组成的新列表来实现。这将允许更高级的操作,诸如请求实例对请求材料的分级,其继而可以用于确定向网络传输的优先级。其它更高级的操作可以包括定价算法的应用、或者确定期望内容的最优传输的处理。当遍布许多不同的家庭网络进行时,使用本发明的教导的期望内容的此聚合 (aggregation)可以用于建立期望内容的列表,其继而可以由内容提供商用来进行他们应该提供哪些内容的通知(informed)决定。图3示出了根据本发明的优选实施例的获取期望内容的处理的流程图。在方框40 中,将内容位置标志符放置在识别网络设备的期望内容的内容目录中。在方框41中,将该目录中的内容与网络中的其它媒体设备中的内容同步。在判定框42中,判定在同步期间是否发现期望内容。如果发现期望内容,则在方框44中,在同步期间向媒体设备之一通知期望内容的存在。在方框46中,最初请求期望内容的媒体设备从网络中的媒体设备之一接收期望的内容。如果在方框42中未发现期望内容,则处理返回到方框41,以继续同步直到同步完成。图4示出了根据本发明的优选实施例的、用于在设备机群中的设备之间同步内容列表的处理50的流程图。在方框52中,从设备接收当前二叉树。接着,在菱形判定框M 中,处理判定当前树是否与从该设备接收的前一树不同。如果其不同,则在方框56中,处理确定哪些叶已经改变。如果当前树没有不同,则处理返回方框52中,以处理下一设备。然后,在方框58,更新所有改变的叶。在方框60中,处理50移回方框52,以处理下一设备,直到已经处理了机群中的所有设备。如可以从以上公开看出的,本发明的优选实施例提供了一种系统,通过该系统可以标记和获取内容网络媒体设备机群上的搜寻内容项。如本领域的技术人员将理解的,本发明可以体现为系统、方法或计算机程序产品。 因此,本发明可以采用完全硬件实施例的形式、完全软件实施例(包括固件、常驻软件、微代码等)的形式、或者组合软件和硬件方面的实施例的形式,这里,可以将它们全部总称为 “电路”、“模块”或“系统”。此外,本发明可以采用在任何有形表达介质中体现的计算机程序或计算机程序产品的形式,该有形表达介质具有在介质中体现的计算机可用程序代码。可以采用一个或多个计算机可用或计算机可读介质的任何组合。计算机可用或计算机可读介质例如可以是但不限于电子、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。计算机可读介质的更具体示例(非穷举列表)将包括以下具有一条或多条线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CDROM)、光学存储设备、传输介质(诸如支持因特网或内联网的那些)、或者磁存储设备。注意,计算机可用或计算机可读介质甚至可以是其上打印了程序的纸或其它合适的介质,因为可以例如通过纸或其它介质的光学扫描电子地获取程序,然后如果需要,将其编译,解析,或者其它合适方式的处理,并接着存储在计算机存储器中。在此文档的上下文中,计算机可用或计算机可读介质可以是任何可以包含、存储、传输、 传播或传送程序的介质,该程序由指令执行系统、装置或设备使用或结合它们使用。计算机可用介质可以包括其中体现计算机可用程序代码的传播数据信号,其在基带中或者作为载波的一部分。可以使用任何合适的介质传输计算机可用程序代码,包括但不限于无线、有线线路、光纤线缆、RF等。可以以一个或多个编程语言的任何组合书写用于执行本发明的操作的计算机程序代码,所述编程语言包括面向对象的编程语言(诸如JaVa、Smalltalk、C++等)以及传统的过程编程语言(诸如“C”编程语言或类似的语言)。程序代码可以作为单机软件包整个地在用户的计算机上执行,部分地在用户的计算机上执行,或者部分在用户计算机上且部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。参照根据本发明的优选实施例的方法、装置(系统)以及计算机程序产品的流程图和/或框图描述本发明。将理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以通过计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、 专用计算机、或其它用于产生机器的可编程数据处理装置的处理器,从而通过计算机或其它可编程数据处理装置的处理器执行所述指令时,创建用于实现流程图和或框图块中指定的功能/动作的手段。这些计算机程序指令还可以存储在计算机可读介质中,其可以指引计算机或其它可编程数据处理装置以特定的方式发挥作用,从而存储在计算机可读介质中的指令产生包括实现流程图和/或框图块中指定的功能/动作的指令手段的产品。计算机程序指令也可以加载到计算机或其它可编程数据处理装置上,以使得在计算机或其它可编程装置上执行一系列操作步骤来产生计算机实现的处理,从而在计算机或其它可编程装置上执行的指令提供用于实现在流程图和/或框图块中指定的功能/动作的处理。附图中的流程图和框示了根据本发明的各种优选实施例的系统、方法和计算机程序产品的可能实施方式的结构、功能和操作。在此方面,流程图或框图中的每个块可以表示代码的模块、片段或部分,其包括用于实施指定的逻辑功能的一个或多个可执行指令。 还应该注意,在某些替代实施方式中,块中描述的功能可以不以图中描述的顺序进行。例如,取决于所涉及的功能,顺序示出的两个块可以实际上基本同时执行,或者这些块有时可以以相反的顺序执行。还将注意,框图和/或流程图的每个块以及框图和/或流程图中的块的组合可以通过基于专用硬件的系统或者通过专用硬件和计算机指令的组合实现,该基于专用硬件的系统执行指定的功能或动作。图5是示出对于实现本发明的一个优选实施例有用的信息处理系统的高级框图。 计算机系统包括一个或多个处理器,诸如处理器102。处理器102连接到通信基础结构104(例如,通信总线、交叉条、或网络)。以此示例性计算机系统描述各种软件优选实施例。 在阅读此描述之后,对于相关领域的普通技术人员而言,如何使用其它计算机系统和/或计算机架构实现本发明将变得很明显。计算机系统可以包括显示接口 106,其转发来自通信基础结构104(或来自未示出的帧缓冲器)的图形、文字和其它数据,用于显示在显示单元108上。计算机系统还包括主存储器110,优选为随机存取存储器(RAM),并且还可以包括辅助存储器112。辅助存储器 112可以包括例如硬盘驱动器114和/或可移除存储驱动器116,其例如表示软盘驱动器、 磁带驱动器、或光盘驱动器。可移除存储驱动器116以本领域普通技术人员公知的方式从可移除存储单元118读取和/或向其写入。可移除存储单元118表示例如软盘、紧凑盘、磁带或光盘等,其由可移除存储驱动器116读取和写入。如将可以理解的,可移除存储单元 118包括其中存储了计算机软件和/或数据的计算机可读介质。在本发明的替代实施例中,辅助存储器112可以包括允许将计算机程序或其它指令加载到计算机系统的其它类似装置。这样的装置可以包括例如可移除存储单元120和接口 122。这种装置的示例可以包括程序卡带和卡带接口(诸如视频游戏设备中出现的)、可移除存储器芯片(诸如EPROM或PR0M)及其关联的插口、以及允许将软件和数据从可移除存储单元120传送到计算机系统的其它可移除存储单元120和接口 122。计算机系统还可以包括通信接口 124。通信接口 IM允许在计算机系统和外部设备之间传送软件和数据。通信接口 1 的示例可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、或个人计算机存储卡国际协会(PCMCIA)插槽和卡等。经由通信接口 IM 传送的软件和数据是以信号的形式,该信号可以是例如电子、电磁、光信号、或能够被通信接口 IM接收的其它信号。经由通信路径(即,信道)1 将这些信号提供给通信接口 124。 此通信路径126携带信号,并且可以使用线或线缆、光纤、电话线、蜂窝电话链路、RF链路和 /或其它通信信道来实现。在此文档中,术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”用于总地指代诸如主存储器110和辅助存储器112、可移除存储驱动器116、以及安装在硬盘驱动器114中的硬盘的介质。计算机程序(也称为计算机控制逻辑)存储在主存储器110和/或辅助存储器 112中。也可以经由通信接口 IM接收通信计算机程序。当执行这种计算机程序时,使得计算机系统能够执行这里所说明的本发明的特征。具体地,当执行计算机程序时,使得处理器 102能够执行计算机系统的特征。因此,这种计算机程序表示计算机系统的控制器。根据以上描述,可以看出,本发明提供了一种用于实现本发明的优选实施例的系统、计算机程序产品和方法。权利要求中对元素单数形式的引用不意味着“仅一个”,而是表示“一个或多个”,除非明确表明。本权利要求书意在包括上述示例实施例的元素的、当前或将来变得对本领域普通技术人员公知的所有结构和功能等同体。本文中,没有权利要求
元素在35U.S.C.部分112第6段之下构建,除非明确地使用语句“用于......的装置”或
“用于......的步骤”描述该元素。这里使用的术语仅是为了描述具体实施例的目的而不意在限制本发明。如这里所使用的,单数形式“一个a”、“一个(an)”和“该(the) ”意在也包括复数形式,除非上下文清楚表明不是如此。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指出所述特征、实体、步骤、操作、元素和/或组件的存在,而不排除一个或多个其它特征、实体、步骤、 操作、元素、组件和/或它们的组合的存在或添加。 权利要求中的所有装置或步骤以及功能元素的对应结构、材料、动作及等同体意在包括具体要求保护的、用于与其它要求保护的元素组合地执行功能的任何结构、材料或动作。已经为了说明和描述的目的呈现了本发明的描述,但所述描述不意在为穷举的,且不将本发明限制到所公开的形式。在不偏离本发明的范围和精神的情况下,许多修改和改变对于本领域的技术人员而言将是显而易见的。选择和说明本发明的优选实施例,以便最好地说明本发明的原理和实际应用,并使得本领域的其他普通技术人员能够对于适用于特定预期应用的各种实施例和各种修改而理解本发明。
权利要求
1.一种用于在媒体设备网络中提供内容项的方法,所述方法包括以下步骤 在用于所述媒体设备网络中的第一设备的内容目录中插入用于期望内容项的第一期望内容ID,所述网络中的设备的内容目录包括存在于所述设备中的内容的内容ID、以及所述设备所期望的内容的内容ID ;比较所述网络中的其它设备的内容目录,以判定是否任何所述其它设备具有包含所述第一期望内容ID的内容目录;针对在其内容目录中具有所述第一期望内容ID的设备,判定所述期望内容是否存在于所述其它设备中;以及响应于判定所述期望内容存在于所述其它设备中,将所述期望内容的复本传送给所述第一设备。
2.如权利要求1所述的方法,其中判定所述第一期望内容是否存在于所述其它设备中的步骤包括以下步骤通过判定具有所述第一期望内容ID的内容的复本是否存在于所述其它设备的内容目录中来识别期望内容,其中复本的不存在表示所述内容是期望内容。
3.如权利要求1或2所述的方法,还包括以下步骤创建所述网络中的所述设备中的每个数字内容项的二叉树,每个内容项由所述树中的叶节点表示,其中任何所述设备中的任何内容项的改变导致所述二叉树的改变。
4.如权利要求3所述的方法,其中所述比较的步骤还包括通过将用于每个设备的所述二叉树与每一个其它设备进行交换来周期性地更新每个设备中的所述二叉树;通过将当前树的根节点与之前存储的根节点进行比较来判定是否存在任何对二叉树的改变;以及响应于判定当前根节点不同,通过仅更换发生改变的所述根节点下方的那些节点来为所述设备更新本地存储的二叉树。
5.如权利要求4所述的方法,其中所述创建二叉树还包括使用预定划分标准,根据内容ID来划分所述二叉树中的节点;以及基于所述划分按内容ID将所述节点分组。
6.一种用于在计算机系统网络中提供内容项的方法,所述方法包括以下步骤在计算机系统的内容目录中放置至少一个内容位置标志符,所述内容位置标志符识别所述计算机系统正在搜寻的内容项,所述计算机系统与多个计算机系统互联;将所述计算机系统的所述目录中的内容项与所述多个计算机系统中的内容项进行同步;允许所述计算机系统在同步期间向所述多个计算机系统中的至少一个通知所述内容项的存在;以及在所述同步之后从所述多个计算机系统中的至少一个获得所述内容项。
7.如权利要求6所述的方法,其中所述同步的步骤包括在所述目录中利用唯一的内容通用资源名URN识别每个内容项;以及在所述目录中列出所述多个计算机系统之中的、包括所述系统正在搜寻的所述内容项的实例的一组计算机系统。
8.如权利要求7所述的方法,其中所述放置的步骤包括利用特定内容URN识别所述内容项。
9.如权利要求6至8中的任一项所述的方法,还包括将所述内容目录表示为二叉树的步骤。
10.如权利要求6至9中的任一项所述的方法,其中所述内容项是期望备份的内容。
11.如权利要求6至10中的任一项所述的方法,其中所述内容项是所述计算机系统上不允许的内容。
12.如权利要求6至11中的任一项所述的方法,其中所述内容项是要购买的内容。
13.如权利要求12所述的方法,还包括以下步骤在所述获得所述内容项之前自动设置购买所述内容项的顺序。
14.如权利要求6至13中的任一项所述的方法,还包括以下步骤建立遍布所述网络的搜寻内容的总列表。
15.如权利要求14所述的方法,还包括以下步骤基于所述总列表中被搜寻的所述内容项的实例数对多个内容项分级。
16.如权利要求14或15所述的方法,使用所述总列表来确定哪些内容要提供给所述网
17.一种用于管理内容项的系统,所述系统包括多个互连的媒体播放器,每个媒体播放器能够访问内容项,所述媒体播放器能够彼此交换所述内容项;每个设备中的内容列表,包含所述设备中的每个内容项的列表以及所述设备的期望内容项的列表;以及每个设备上的每个内容列表的二叉树表示。
18.如权利要求17所述的系统,还包括构建装置,用于通过将每个所述内容项的散列表示放置在所述二叉树的叶节点上,并且将所述二叉树上的高节点计算为低节点的散列值直到计算出根节点,来构建所述二叉树表示,其中任何所述设备中的任何内容项的改变导致所述根节点的改变。
19.一种用于在媒体设备网络中提供内容项的计算机程序产品,所述计算机程序产品包括其中包含计算机可用程序代码的计算机可用介质,所述计算机可用程序代码包括配置来进行以下操作的计算机可用程序代码为设备机群中的每个设备生成二叉树,所述二叉树表示驻存在所述设备中的内容的所有复本的位置以及对于所述设备的内容项;在每个设备中存储用于所述机群中的多个其它设备的所述二叉树;使用用于所述多个其它设备的所述二叉树来确定所述内容项的位置;以及从所确定的位置获得所述内容项。
20.如权利要求19所述的计算机程序产品,其中所述使用所述二叉树包括通过判定具有所述第一期望内容ID的内容项的复本是否存在于所述其它设备的内容目录中来识别所述内容项,复本的不存在表示所述内容是所述内容项。
21.一种计算机程序,其存储在计算机可读介质上并且可加载到数字计算机的内部存储器中,其包括软件代码部分,当所述程序在计算机上运行时,执行权利要求1至16中的任一项所述的方法。
全文摘要
根据本发明的优选实施例,提供了一种系统、方法和计算机程序产品,用于标记和获取搜寻内容。优选实施例包括一种方法,其包括在用于媒体设备网络中的第一设备的内容目录中插入用于期望内容项的第一期望内容ID。网络中的设备的内容目录包括存在于所述设备中的内容的内容ID以及所述设备期望的内容的内容ID。比较网络中的其它设备的内容目录,以判定是否任何其它设备具有包含第一期望内容ID的内容目录。针对在其内容目录中具有第一期望内容ID的设备,判定所述期望内容是否存在于所述其它设备中,并且如果所述期望内容存在于其它设备中,则将期望内容的复本传送给所述第一设备。
文档编号G06F17/30GK102428464SQ201080021218
公开日2012年4月25日 申请日期2010年6月24日 优先权日2009年6月30日
发明者G.M.迈尔斯, R.G.迪恩 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1