CN101772767A - 元数据的物理储存库 - Google Patents
元数据的物理储存库 Download PDFInfo
- Publication number
- CN101772767A CN101772767A CN200880102008A CN200880102008A CN101772767A CN 101772767 A CN101772767 A CN 101772767A CN 200880102008 A CN200880102008 A CN 200880102008A CN 200880102008 A CN200880102008 A CN 200880102008A CN 101772767 A CN101772767 A CN 101772767A
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- network
- network equipment
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于元数据的网络储存库的方法和装置。数据储存库的各实施例包括用于存储包含一个或多个数据内容项的数据的存储器,其中每一数据内容项与零个或更多个元数据项相关联,并且其中每一数据内容项与一句柄相关联且每一元数据项与一属性名相关联。数据储存库还包括被配置成与客户机设备通信的网络接口和被配置成控制数据在存储器内的存储的控制单元,其中控制单元提供向存储器写入数据或从中读出数据的功能并且其中控制单元在不进行解释的情况下传输数据。
Description
技术领域
本发明的各实施例一般涉及网络领域,并且更具体地涉及用于元数据的网络储存库的方法和装置。
背景
网络可包括多个个人电子娱乐媒体设备的互连。各种媒体设备可以连网在一起以共享数据、增加便捷、并更充分地利用每一元件。例如,家庭中的某些设备可以连接在一起。在这样的环境中,存在着流传输数据媒体内容来用于音频、视频、游戏和其他用途的多个可能的源和用户。
在这样的网络内,存在着各种不同数据类型和格式的数据连同连接元数据,其中元数据指的是关于其他数据的信息。例如,与数字音乐相关联的元数据可包括关于艺术家、歌曲标题、专辑封面、发行日期的信息,以及其他信息。数字数据的储存库通常支持浏览、过滤、或在该储存库搜索具有特定属性的数据的能力。这通常通过将相关联的元数据存储在支持这些操作的数据库中来实现。在当代***中,数据库和数据储存库通常联合成单个***。例如,数字音乐***维护歌曲数据库,而DVR(数字录像机)可维护其自己的所记录的电视节目的数据库。
然而,在互连网络中,存在着跨网络来共享数据储存库的需求。对数据储存库的共享引入了用于维护相关元数据的复杂化。例如,储存库的每一客户机可对于要在数据库中存储的格式和数据类型有不同要求。此外,每一客户机所添加的值的一部分可以是所支持的查询类型和响应于这些查询所提供的性能。支持可满足网络中的所有需求的单个数据库格式是不切实际的,尤其是在将要被存储在数据库中的可能的元数据集合不能被预先确定的情况下。例如,数字媒体储存库可包括个人照片和家庭电影、付费电影内容、电视录像、数字音乐、以及其他数据。元数据集合可以是内容专用的、个性化的(如用户评级)、供应商专用的、或专用于其他因素。另一方面,完全开放的数据库尽管允许各种各样的数据类型,将与性能和自定义需求相反。
发明内容
提供了用于元数据的网络储存库的方法和装置。
在本发明的第一方面,一种数据储存库可包括用于存储包含一个或多个数据内容项的数据的存储器,其中每一数据内容项与零个或更多个元数据项相关联,并且其中每一数据内容项与一句柄相关联且每一元数据项与一属性名相关联。该数据储存库还包括被配置成与客户机设备通信的网络接口和被配置成控制数据在存储器内的存储的控制单元,其中控制单元提供向存储器写入数据或从中读出数据的功能并且其中控制单元在不进行解释的情况下传输数据。
在本发明的第二方面,一种网络设备可包括与网络数据储存库进行通信的网络接口,其中该数据储存库持有内容数据和元数据的集合作为不透明数据,每一数据内容项与一句柄相关联且每一元数据项与一属性名相关联。该网络设备还包括控制对网络数据储存库的访问的网络单元,网络单元利用内容句柄和元数据属性名提供用于内容数据和元数据集合的数据库功能。该网络设备还可包括用于存储来自网络数据储存库的一个或多个元数据项的高速缓存存储器。
在本发明的第三方面,一种网络可包括包含数据库的第一网络设备,该数据库包含多个数据内容项,每一数据内容项具有零个或更多个相关联的元数据项,其中该第一网络设备持有这些数据内容项和元数据项作为不透明数据。该网络还包括包含高速缓存来自第一网络设备的一个或多个元数据项的高速缓存存储器的第二网络设备,其中该第二网络设备提供对数据库中包含的数据的数据访问。
在本发明的第四方面,一种方法可包括将数据存储在数据储存库中,该数据包括多个内容数据项,并且每一内容数据项与零个或更多个元数据项相关联。该方法还包括将每一内容数据项与一句柄相关联以及将每一元数据项与一属性名相关联,并且利用内容数据的句柄和元数据的属性名在不解释数据的情况下向客户机设备提供对该数据的访问。
附图简述
本发明的各实施例在各附图中是作为示例而非作为限制示出的,在附图中相同的附图标记指代相同的元素。
图1是包括网络数据储存库的网络的实施例的图示;
图2示出用于高速缓存元数据的实施例;
图3示出网络数据储存库的实施例;
图4是用于存储元数据的高速缓存和数据储存库的实施例的图示;
图5示出用于在数据储存库中使用的元数据属性的实施例;
图6是示出用于维护来自网络数据储存库的元数据的高速缓存的过程的实施例的流程图;
图7是网络设备的实施例的图示;
图8是网络设备的各组件的实施例的图示;以及
图9是娱乐网络的实施例的图示。
详细描述
本发明的各实施例一般针对用于元数据的网络储存库的方法和装置。
如此处所使用地,“娱乐网络”指的是用于在设备之间传递媒体内容(包括音乐、音频/视频、游戏、照片、以及其他)的互连网络。娱乐网络可包括个人娱乐网络(如家庭中的网络)、商业环境中的娱乐网络、或娱乐设备的任何其他网络。在这样的网络中,某些网络设备可以是媒体内容的源,如数字电视调谐器、有线电视机顶盒、视频存储服务器、和其他源设备。其他设备可以显示或使用媒体内容,如数字电视机、家庭影院***、音频***、游戏***、以及其他设备。此外,某些设备意在存储或传输媒体内容,如视频和音频存储服务器。某些设备可以执行多媒体功能。在某些实施例中,各网络设备可以共同位于单个局域网中。在其他实施例中,各网络设备可以跨多个网络段,如通过局域网之间的隧道。娱乐网络可包括多个数据编码和加密过程。
如此处所使用地,“数据”指的是内容数据、内容数据的元数据、以及任何其他类型的数据。
如此处所使用地,“不透明数据”是在不解释该数据的情况下传递或以其他方式处理的数据。
在某些实施例中,网络包括内容数据和元数据的通用储存库。在某些实施例中,许多不同类型的数据和元数据存在于使用单个存储的储存库中。在某些实施例中,在不管所存储的数据的类型的情况下在通用储存库中提供对媒体元数据的存储。这样的数据储存库可以存储多种不同类型和格式的数据。在某些实施例中,数据储存库以不透明的方式存储数据,数据储存库在不解释数据并且不了解所存储的数据的格式或类型的情况下操作。在某些实施例中,元数据以允许在网络设备中简单地高速缓存数据的方式来存储。在某些实施例中,网络允许以可由具有有限的处理和缓冲能力的网络设备访问的形式来存储和高速缓存网络数据。
在一个示例中,网络可以是包括多个互连娱乐设备的娱乐网络。在这样的网络中,存储服务器可以担当多种不同类型和格式的媒体数据的网络储存库。在这样的网络中的网络设备(如在一个示例中是机顶盒)可包括关于所存储的电影或电视节目的元数据的高速缓存,媒体数据和原始元数据存储在存储服务器上。在这样的实施例中,高速缓存需要以与存储服务器上存在的元数据相关的最新状态来维护。
在本发明的一实施例中,包含数据和相关联的元数据(如媒体内容和相关联的媒体内容元数据)的数据库是在低资源环境中支持的,该数据库包括搜索和过滤选项。一般而言,常规数据库对于可存储在该数据库中的数据的类型和格式而言是高度专用的。然而,诸如媒体内容和相关联的元数据等数据对于类型和格式而言变化极大。在某些实施例中,数据库对于所允许的数据类型和格式而言不受约束,并且数据类型和格式对数据库来说可以是未知的。在常规数据库中,数据库后端(包括数据储存库和数据存取器集合)会支持数据存储和一组标准的数据库操作。然而,这些数据库操作一般很复杂并且是数据专用的。在支持各种各样类型和格式的数据的数据库中,这样的数据库功能对实现而言是不切实际的,尤其是在其中数据元素具有有限的存储器或处理能力的低资源环境中。
在某些实施例中,数据库储存库提供对不透明数据项的网络访问。在某些实施例中,对于存储在数据库中的数据的操作驻留在该数据的相应客户机中而非驻留在数据库中,同时数据库被划分来提供对数据的存储。在某些实施例中,数据库***受限于文件复制语义,允许客户机作为原子单元来读写文件。在某些实施例中,在不要求数据库储存库对元数据进行任何解释的情况下提供对数据库的访问。在某些实施例中,元数据包括过滤能力,允许使用低资源并且在不知道所存储的数据的实际格式或内容的情况下进行数据搜索。
在某些实施例中,提供了用于限制在数据库客户机/前端和数据库储存库/后端之间所需的文件传输的机制。在某些实施例中,提供了高效地高速缓存并访问不透明数据项,同时最小化带宽和访问请求的过程。
在某些实施例中,储存库持有互异的、在此被称为内容的数据集。在某些实施例中,储存库在第一次存储每一内容片段或项时,向该内容分配本地唯一的不重复的标识符(即“句柄”)。该句柄由储存库的客户机用来指特定内容片段及其相关联的元数据。在一典型实现中,句柄可以是具有固定格式的指定,如具有固定表示法的整数(例如,32位大端(endian)或64位大端),但该句柄不限于任何特定表示法。该句柄可被认为是储存库中用作持有实际内容和元数据的容器的目录或文件夹。在一个示例中,目录(其可被称为内容)可进一步包括一个或多个文件,该一个或多个文件含有所存储的内容连同可包含相关联的元数据的另一目录(其可被称为元数据)。
在某些实施例中,元数据对应于描述相关联的数据的属性。在对数据储存库的结构和相关联的元数据的描述中,使用文件***术语作为示例,因为这一类型的***是普遍使用的并且可以用各种各样的实施例来实现,如个人计算机上的***、网络附连存储、便携式设备、单片解决方案、以及其他***。然而,各实施例不限于文件***并可以在其他基础结构中实现。在某些实施例中,文件大小提供属性的大小。每一元数据元素具有名称(即,键)、长度(即,文件大小)、以及相关联的值(文件内容)。在利用文件***术语时,元数据目录中的每一文件可表示一个元数据(即,属性)。使用文件***作为示例,文件名称对应于元数据属性的名称,并且文件内容对应于相关联的值。在典型的存储***中,名称被表示成文本串。在某些实施例中,为支持低资源实现,所有名称改为被表示成具有固定格式(例如,32位大端)的整数。使用固定格式的整数因而可减轻可变长度串处理的负担并简化属性名的缓冲区管理,如在提供请求来检索特定属性的值时。
为允许在数据储存库中高速缓存数据,在某些实施例中,网络数据储存库包括用于存储时间戳或其他时间值的存储器或寄存器,该时间值表示对存储在数据储存库中的数据的最后变更。在某些实施例中,时间值是每次存在数据变更时(如在新存储、修改、或删除任何数据时)单调增加的代数(generation count,即GC),但还可以使用其他类型的时间值。在某些实施例中,将数据储存库的代数与高速缓存存储的代数进行比较。如果数据储存库的代数高于高速缓存的代数(指示数据储存库中的时间值较晚),则储存库数据已被变更并且在高速缓存中需要更新。在某些实施例中,在不需要对数据储存库内的数据进行任何解释的情况下,如在其中不透明的类型和格式未知的情况下,作出关于更新的判断。在某些实施例中,每一内容项(如媒体数据的每一电影、歌曲、照片等)和/或每一元数据项还包括日期戳或存储的其他时间值,这可被用来更详细地标识哪些元数据元素需要高速缓存。
在某些实施例中,如果代数指示变更,则***可向高速缓存提供数据储存库中包含的所有相关元数据。在数据储存库中的数据不频繁变更和/或要传输的元数据的量相对较小的情况下,该过程是可行的。然而,传输所有数据会因为数据量或数据修改的频率而是困难的。
在某些实施例中,更新元数据的过程涉及确定存储的代数是否比高速缓存的代数老。存储随后可以请求两个代数之间被更新的所有元数据。高速缓存设备随后再次请求存储的代数。如果存储的代数不再比高速缓存老,则高速缓存已经完全更新。如果代数具有较老代数,则这指示已经作出另一变更并且另一更新循环可以发生。这可以继续,直到日期相匹配或直到高速缓存确定存储被变更得过于频繁以致不能持续更新高速缓存为止。
为减少在更新中需要从数据储存库传输到数据高速缓存的数据量,在某些实施例中,可利用日志来记录任何数据变更。日志可被用来将到高速缓存的数据传输只限于该日志中所反映的经修改的数据元素。在一简单形式中,日志可表示元数据中存在变更的每一数据元素的列表。在某些实施例中,日志不表示数据的类型或格式。
在某些实施例中,将对数据进行周期性更新循环。更新循环的开始能以多种方式发生。在一个实施例中,高速缓存可以简单地周期性地向存储询问其当前GC,以适当的时间间隔来轮询存储。在另一实施例中,数据储存库可以向网络上的设备广播关于任何数据变更的信息,并且具有数据高速缓存的设备可对该广播作出响应以例如将设备的数据高速缓存与数据储存库同步。
在某些实施例中,为使数据储存库便宜且在广大范围上可用,单片解决方案是合乎需要的。然而,单片解决方案通常不包括支持标准数据库操作所需的存储器、逻辑、和处理资源。元数据通常以可变长度文本串形式表示,这在单片环境中不易于支持,甚至不提供全数据库支持。在某些实施例中,为网络数据储存库来简化数据库操作,数据库操作一般由客户机提供给储存库,这可帮助启用用于网络设备的单片解决方案。
在某些实施例中,***提供用以下方式存储任意和可扩展元数据的机制,该方式是允许有能力的客户机维护元数据的本地高速缓存(如在自定义数据库中),同时还允许简单客户机使用一组简单规则来浏览、过滤、并搜索元数据。此外,元数据的类型和值是以服从低资源实现的不透明的方式来对待的。在某些实施例中,操作在互连网络中在不使用中央服务器的情况下提供。
图1是包括网络数据储存库的网络的实施例的图示。在该图示中,网络105包括多个网络设备,这些网络设备可包括网络设备A 110、网络设备B 115、网络设备C 120、以及网络数据储存库125。该网络可包括但不限于包含多个媒体设备的个人娱乐网络。在某些实施例中,网络数据储存库125包括数据内容和关于该数据内容的元数据130的数据库。内容数据可以是例如媒体数据,元数据描述该媒体数据。在某些实施例中,内容数据和元数据130可供其他网络设备110-120中的任一个访问。
在某些实施例中,元数据以不透明的方式来存储,使其可以存储用于各种不同协议的元数据。在某些实施例中,网络数据储存库可以不理解元数据,数据根据字段的名称来存储在各个字段中。在某些实施例中,元数据可被高速缓存在一个或多个其他网络设备中。
在一个示例中,数据和元数据130可包括电影数据和关于该电影数据的元数据。如果网络设备A 110是例如电视机监视器的机顶盒,则网络设备A 110可维护电影元数据的高速缓存以便可以在不访问网络数据储存库125的情况下访问和搜索该数据。在某些实施例中,其他网络设备和网络数据储存库用来维护高速缓存的数据以与所存储的元数据相匹配。
图2示出用于高速缓存元数据的实施例。如图所示,网络设备205与网络数据储存库225进行通信。网络数据储存库225包括数据集230和关于该数据的元数据235。在一示例中,数据230可包括多种不同类型的媒体数据,有适当的元数据来描述该媒体数据。网络数据储存库225还包括用于在网络上通信的网络接口。网络设备205包括用于存储元数据215的高速缓存210,并且还包括用于在网络上通信的网络接口220。
在某些实施例中,网络设备205的元数据215被用来提供对该信息的更快的访问。网络设备205和数据储存库225用来维护元数据215的当前状态,这在数据储存库中的元数据235的存储存在变更的情况下可能需要更新。然而,网络设备205和数据储存库225可以是轻量的网络设备,具有最小处理能力。在某些实施例中,数据储存库不了解元数据的格式或内容。
在某些实施例中,储存库的客户机可能希望支持比数据储存库的机制所支持的数据库查询更高级的数据库查询,或可能希望提供跨多个储存库统一的数据库。在这种情况下,客户机可能希望将元数据高速缓存在其自己的数据库中。在不支持高速缓存的情况下,客户机在满足任何查询之前将需要在储存库中查询元数据,这是随着储存库中的项的数量的增加而变得不切实际的过程。在这些操作中,需要维护高速缓存中的元数据与数据储存库中的元数据的同步。然而,同步在网络数据储存库中变得更加复杂。除其他问题,其他设备可在该客户机设备不知道的情况下对元数据作出更新。
在某些实施例中,为便于客户机设备的远程高速缓存,储存库维护对关于数据储存库的代数或其他时间值的使用,代数被用来确立元数据的相对年龄。例如,代数可以是在每次储存库变更时,如在每次添加内容项或元数据项、变更元数据项的值、变更内容项、删除元数据项的时侯,递增的单调递增整数。在该示例中,代数应永远不会减少,并且因此其表示法应当足以容纳该数据储存库的寿命期间的变更。
在某些实施例中,简单的高速缓存技术将涉及客户机在储存库中查询当前代数并将该代数记录在该客户机中。该客户机随后在储存库查询其整个元数据集合,并且将该元数据添加到客户机的高速缓存中。客户机可周期性地在储存库中查询当前代数。如果当前代数与客户机所记录的代数值不同(即,储存库的时间值比客户机的时间值晚),则客户机在储存库中查询整个元数据集合并相应地更新该客户机的高速缓存。然而,这一方法在操作上很昂贵,尤其是在对储存库的变更很频繁或在存在大量元数据的情况下。
在某些实施例中,数据储存库还可包括每一内容片段的修改时间(MT)属性。只要内容片段或其元数据变更,则当前代数被记录为相关联的修改时间。使用这一方法,客户机可以在储存库中当前代数(如上所述),并且如果它不同,则通过包括其知道的最晚代数来继续查询经更新内容的列表。在储存库接收到这样的查询时,储存库在内容列表上迭代,并将每一修改时间与来自客户机的代数进行比较,返回具有较低代数的每一内容片段的句柄。客户机随后只请求新的或经修改的那些内容片段的元数据。
该使用修改时间的方法需要客户机收集每一经修改的内容片段的所有元数据。在某些实施例中,可通过包括除内容修改时间之外元数据的每一项的修改时间来进一步增强修改时间。以此方式,查询只返回已被变更的内容和属性,而非与该内容相关联的所有元数据。
图3示出网络数据储存库的实施例。在该图示中,数据储存库302可以是网络的元素,并且可以被用来存储各种类型和格式的数据。数据储存库303可包括控制数据储存库的操作的控制单元303,其中控制单元可以是处理器、控制逻辑、或其他硬件或软件控制。每一数据内容元素由被定义为固定数位的整数的句柄来指定。例如,数据储存库302中的内容可包括与句柄304(作为示例,整数10101010)和句柄340(整数11011111)相关的内容。句柄340与内容306相关联,内容306包括数据元素330。句柄还与元数据308相关联,每一元数据项具有名称和值,如分别具有值312、316、320、和324的名称310、314、318、和322。类似地,句柄340与包括数据元素366的内容342相关联。该句柄还与元数据342相关联,每一个项具有名称和值,如分别具有值348、352、和364的名称346、350、和362。
另外,数据储存库302包括存储在寄存器或其他存储器中的日期戳或其他时间值,其在此被称为代数370,它在每次存在对数据储存库数据或元数据的任何变更时增加。在某些实施例中,代数370将与客户机设备的代数相比较以确定高速缓存是否最新。在某些实施例中,每一内容项(如数据330)包括修改时间MT 372,这是数据的最后修改的时间并可以表示在该变更时当时的代数。在某些实施例中,修改时间可被用来确定相对于客户机的高速缓存而言哪些内容项已被变更。在某些实施例中,每一元数据项还可包括修改时间,如元数据名322的MT 374。MT 374将反映元数据被最后变更时当时的代数。在某些实施例中,每一元数据项的修改时间可被用来将对客户机高速缓存的更新限于已被变更的元数据项。
在某些实施例中,在***中使用诸如代数和修改时间等时间值可使客户机在面对多个数据添加和修改时能够快速同步其高速缓存。然而,适度地处理对数据的删除可造成更多困难。为发现哪一内容片段已被删除,需要客户机查询整个储存库。类似地,为发现已删除的元数据项,需要客户机查询内容片段的所有元数据。
在某些实施例中,数据储存库维护最近的内容删除的日志,记录了内容句柄和代数。在客户机查询储存库变更时,数据储存库还将来自客户机的代数与存储在删除日志中的时间进行比较。如果客户机的代数超过日志中的最晚项,则这指示自从客户机高速缓存的最后更新以来没有删除任何项并且因此什么也不返回。如果客户机的代数在日志中的任何删除时间后继续,则客户机随后可查询整个储存库来发现删除了什么。这样的查询所消耗的时间可通过频繁轮询储存库来最小化。如果客户机的代数落入日志中的项删除时间内(一些删除较老,而一些删除较新),则储存库返回具有超过该客户机的代数的删除时间的内容句柄。
在某些实施例中,扩展日志来进一步包括对内容的更新。在这样的实施例中,不需要储存库跨该储存库的所有内容来迭代比较代数。在某些实施例中,日志还可包括对各单独的元数据更新的记录。如果包括该信息,则该信息可用于标识高速缓存中需要更新的各个元数据项而不跨所有这样的元数据来迭代。为确定要存储在日志中的元素,设计者可以平衡各个元素,如使用日志所节省的时间、数据储存库接收到的查询的数量、以及所需要的日志的大小。
图4是用于存储元数据的高速缓存和数据储存库的实施例的图示。数据储存库400包括存储在寄存器或其他存储器中的代数404,代数在每次对数据储存库内的数据或元数据作出变更时增加。在某一时间点,GC等于值X。在该示例中,在某一时间点,数据储存库包括具有句柄A 406且包含内容A 408的内容条目,该内容与元数据A1410和元数据A2412相关联;以及具有句柄B 414且包含内容B 416的内容条目,该内容与元数据B1 418和元数据B2 420相关联。
在该图示中,客户机设备的高速缓存430旨在与数据储存库400的元数据保持同步。高速缓存当前具有代数Y。然而,已经作出了变更,并且因此高速缓存不是最新。高速缓存代数Y因此将小于储存库代数X。如图所示,高速缓存430包括元数据A1 434、元数据B1 438、元数据B2 438、元数据B3 440、以及元数据C1 442。因此,高速缓存可能缺少元数据A2(较晚输入的),可能包括已删除元数据B3,并可能包括已删除内容项的元数据C1。(在该图示中,具有同一指定的元数据未被变更。)
在某些实施例中,客户机设备可以周期性地轮询储存库400。在这种情况下,储存库将返回代数404,客户机设备将确定其大于高速缓存430的代数Y。在某些实施例中,高速缓存可以请求返回数据储存库400的所有元数据。然而,这将导致超过所需的元数据。在某些实施例中,内容元素408和416可各自包括可被用于确定哪一内容元素已被变更的修改时间。在某些实施例中,元数据元素410、412、418、以及420可各自包括可被用于标识哪一元数据元素已被变更的修改时间。
在某些实施例中,数据储存库可具有数据日志450或与其相关联,数据日志旨在帮助数据储存库来对查询作出响应。在某些实施例中,数据日志允许储存库用较少元数据来响应或更快速地用正确的数据响应。在某些实施例中,日志450可包括已删除内容452的句柄连同指示该数据何时被删除的修改时间。在这一情况下,日志揭示内容元素C 454在时刻a被删除而内容元素D 455在时刻b被删除。将修改时间与代数432相比较可以确定例如内容D 455在高速缓存430最后更新之前被修改并且因此不需要更新,但内容C 454在高速缓存430最后更新之后被修改并且因此需要更新来移除与已删除内容相关的元数据(在这一情况下是元数据C1 442)。
在某些实施例中,日志450还可包括已变更数据456的句柄,连同该变更的修改时间。在这一情况下,对储存库的查询揭示内容A 458在时刻c被修改,内容B 460在时刻b被修改,而内容C 458在时刻a(其被删除的时刻)被修改。该信息可以与高速缓存430的代数432相比较,并可指示内容A中的变更意味着与内容A相关的所有元数据应被提供给高速缓存(元数据A1 410和元数据A2 412,从而将缺少的元数据A2 412添加到高速缓存)。此外,内容B中的变更意味着应当提供与内容B相关的所有元数据(元数据B1 418和元数据B2 420,从而允许从高速缓存中移除已删除元数据B3 440)。
在某些实施例中,日志450还可包括已变更元数据元素464的名称。在该图示中,对日志的查询可指示元数据A2 466在时刻c(其被添加到储存库的时刻)被变更,元数据B3468在时刻d(其被从储存库删除的时刻)被变更,而元数据C1 470在时刻a(该内容被删除的时刻)被变更。高速缓存430的代数432与每一元数据条目的代数的比较将指示对高速缓存的更新将包括向高速缓存430添加元数据A2和从高速缓存430删除元数据B3。
图4是某些实施例中的日志的操作的简化图示。在某些实施例中,日志条目可包括图4中未示出的附加信息,或可排除图4中示出的某一信息。
在某些实施例中,以分层结构的方式来分配元数据的属性名。顶层属性类将属性名分成宽泛的类别。例如,媒体数据属性可包括电影内容、音乐内容、照片内容、设备属性、供应商专用属性等。在某些实施例中,属性类被表示成固定格式的整数,具有针对特定用途分配的值范围。例如,可以向公知属性类分配第一值范围。可向供应商专用属性分配第二值范围,例如全局授权机构负责向各个供应商分配唯一值。可不定义第三值范围以使应用程序可以利用这些值而不必向全局授权机构请求。在该示例中,冲突可在使用第三值范围时产生,如尝试将同一值用于不同的目的,并且应用程序设计者可负责处理这一问题。
在某些实施例中,属性类型定义属性类的子类别,从而允许类专用的值。在某些实施例中,向特定用途分配范围。公知值包括属性类型,如名称、艺术家、评级、持续时间、图标等。公知值可进一步由分配授权机构来分组以便于过滤操作。在一示例中,所有视频相关属性可以分组在一起以便在解析对特定属性的请求时可以使用范围检查。另一范围可以保留来用于扩展名(extension),这具有与以上相对于属性类描述的相同的说明(caveat)。
在某些实施例中,基于数字的格式在呈现给用户时可被映射到基于串的表示法。然而,实际储存库的设计不需要这样的映射,并且因此该过程对轻量设备(如单片)中的实现而言可以简化。
在某些实施例中,数据储存库本身不需要知道分配给属性的范围或知道属性类和类型的解释。在某些实施例中,在特定类和类型的属性(元数据项)被存储在数据储存库中时,数据储存库在逻辑上创建使用属性类作为其名称的目录(如果需要)并在其中存储名称为属性类型的文件。在某些实施例中,数据储存库将在不解释的情况下利用该属性来存储和检索任何值,因为文件内容也可作为不透明数据来对待。
在一操作中,外部客户机(如远程网络设备)可能希望基于特定属性来导航网络数据储存库。数据储存库提供数据存储中所包含的内容句柄的枚举。因为客户机可能位于远程,所以支持使用句柄(其是简单的整数)集合来对请求进行响应可帮助降低网络通信量。在某些实施例中,属性名可以是固定长度串。使用固定长度串属性名可用于允许以与整数值的比较相类似的方式的、简单的字节级比较,同时还允许用户在较低的数据冲突风险的情况下使用扩展名,数据冲突会在将同一名称用于不同属性时发生。在其他实施例中,可改为使用可变长度串来用作属性名,例如串的长度被包括在属性中。
在某些实施例中,增强方案允许客户机基于特定元数据片段的值来搜索内容。客户机提交属性类和类型连同不透明数据以与存储在储存库中的值进行匹配。在该操作中,不需要储存库解释任何元数据的值。相反,储存库可简单地比较每一对应的元文件(meta-file)的内容并返回匹配的内容的句柄。
在某些实施例中,更高级的数据储存库可包括对这样的精确匹配查询集合的布尔操作的集合的支持。例如,客户机可通过发送包括属性类、类型和值的一系列元组来提出查询。这些元素可以形成布尔查询的各个项。这些项之间的关系可用于允许复杂查询,如寻找在特定一年发行的特定流派的所有电影。在某些实施例中,这样的精确匹配过滤器可以容易地由低资源设备在可用于存储查询的存储内支持。在某些实施例中,如果客户机向储存库通知应如何解释属性值,则更复杂的查询是可能的。在某些实施例中,如果所允许的解释的集合被保持为最小,则可以启用低资源实施例。例如,如果支持32位和64位大端整数,则数字范围检查是可能的,如寻找在1970年代发行的所有内容。此外,如果支持子串匹配,则可在所存储的值中的任何位置寻找精确匹配,如寻找演职员中有特定演员的所有电影。如果进一步指定大小写和字符集,则还可以进行更智能的匹配,但这伴随着本地化或增加资源的成本。在某些实施例中,低成本过滤技术能适用于按照数字属性类和类型形式以及不透明值的方式存储元数据的这一方案。
图5示出用于在数据储存库中使用的元数据属性的实施例。在该图示中,属性类502可包括多个元数据属性。在某些实施例中,这些属性具有被分配为数字值(如,固定数位整数值)的名称。在某些实施例中,这些值可以形成值范围550,作为说明将其示为从十六进制值00000000到FFFFFFFF的范围。在该总体值范围内,可以出于某些目的而确立各个范围,这些范围定义属性类内的属性类型。在一示例中,可以针对已知属性504的属性类型来确立第一范围,可以针对供应商专用属性506的属性类型来确立第二范围,以及可以针对未定义属性508的属性类型来确立第三范围。
在已知属性504内,存在提供用于视频属性510和用于音频属性512等属性类型的子范围。视频属性可包括诸如视频标题518、视频类型520、视频评级522、以及其他等元数据。音频属性可包括音频标题518、艺术家520、音乐流派522、以及其他。在供应商专用属性506内,存在用于供应商A 514的子范围和用于供应商B 516的子范围。
在某些实施例中,储存库机制可包括在数据储存库在被变更时发出通知的能力,从而减少或消除客户机设备进行轮询的需求。在某些实施例中,可允许客户机为变更通知而注册。客户机的注册需要在储存库一方进行记录保持和连接管理以支持该过程。在某些其他实施例中,储存库可广播通知以使所有感兴趣的各方都监听到。在某些实施例中,该通知指示数据储存库中已有变更。在某些实施例中,该通知可包括关于该变更的其他信息。该通知的增强可包括例如新的代数、已变更内容句柄、已变更元数据项、以及已变更元数据值。在某些实施例中,可以合并多个通知,这用来在修改很频繁时减少喋喋不休(chatter)。
图6是示出用于维护来自网络数据储存库的元数据的高速缓存的过程的实施例的流程图。在该过程中,特定数据和元数据可以被存储在数据储存库中602。在存储这样的数据时,设置代数(或其他时间值),该代数表示储存库的当前状态。随后可接收来自网络设备的对数据储存库的查询以查找当前代数604。这之后是针对当前代数来请求某些类型的所有元数据的查询。这可包括初始化高速缓存或高速缓存的一部分,如在网络设备首次连接或初始化时。随后将所得元数据高速缓存在网络设备中,并且将该高速缓存的代数设为数据储存库的代数608。在某一时间点,数据储存库中可能存在变更610。这一变更使得递增数据储存库的代数。此外,如果存在与该数据储存库相关联的日志,则可以创建该日志中的适当条目。
在某些实施例中,过程可通过例如网络设备对数据储存库的周期性检查(轮询)来启动,或通过从数据储存库到网络设备的、向网络设备警告对储存库数据的变更的广播消息来启动612。网络设备在数据储存库中查询储存库的当前代数614。如果储存库的代数不大于高速缓存的代数,则自高速缓存的最后更新以来没有变更并且正常操作可以继续618。如果储存库的代数大于高速缓存的代数(指示储存库的时间值晚于高速缓存的时间值),则自高速缓存的最后更新以来已有一个或多个变更,并且网络设备作出对自高速缓存的代日期以来的变更的查询620。获取已变更项目可包括搜索储存库和/或在日志与数据储存库相关联的情况下检查日志条目622。随后可请求任何已变更的元数据元素624。取决于数据储存库鉴别哪些元素已经变更的能力,已变更元数据可包括数据高速缓存中已经存在的全部或部分元素。数据储存库随后向高速缓存提供已变更元数据元素,并且高速缓存的代数被重新设置成从数据储存库接收到的代数626。随后可以对数据储存库的当前代数进行另一查询628。如果储存库的代数大于高速缓存的代数630,则已经对数据储存库作出了另外的变更,并且更新循环可返回到关于自高速缓存的代数以来已经发生的任何变更的查询620。如果储存库的代数不大于高速缓存的代数630,则没有对数据储存库的另外的变更并且操作可以继续618。
图7是网络设备的实施例的图示。在某些实施例中,网络设备705是具有至少一个物理网络接口(如以太网MAC地址)的实体。如图7所示,该网络设备包括两个网络接口710和715。在某些实施例中,网络设备因此是物理实体。在某些实施例中,网络设备包括一个或多个代理,每一代理是驻留在网络设备上的逻辑实体。网络设备上可存在多个代理。例如,图7示出网络设备705,网络接口710经由通信管理器720提供对代理730、735和740的访问以及经由通信管理器725提供对代理745和750的访问,并且经由通信管理器730提供对代理755和760的访问。在某些实施例中,独立于网络设备IP地址并跨设备复位操作,向每一代理分配全局唯一标识符来将其与其他代理区分开。以此方式,旨在针对代理755的命令可寻址到该代理的唯一地址,并且该消息随后通过网络接口715定向到代理755。
在某些实施例中,代理担当网络设备内的通信端点并且提供特定一组能力和相关联的行为。代理可包括媒体源、媒体宿、媒体控制器、以及其他元件。在一个示例中,代理可以提供视频流服务。在该示例中,该代理响应于各个消息来查询和***体流,并且在被指示时,该代理可自治地将媒体流传递给另一代理。在某些实施例中,在任何时刻代理都具有仅仅一个活动的媒体会话,从而允许相对简单的操作。由于代理可以发送和接收消息、响应于这些消息来修改内部状态、并且具有执行持续动作作为副作用的能力,所以该代理可被看作担当活动对象。
在某些实施例中,代理可通过通信管理器来在娱乐网络上通信。在某些实施例中,每个设备可有一个或多个通信管理器,如图7中的通信管理器720、725和730。在某些实施例中,多个代理可由单个通信管理器来管理,如代理730、735和740由通信管理器720来管理。在某些实施例中,通信管理器负责路由进出绑定到该通信管理器的代理的消息。该过程可包括向同一网络设备本地的其他代理传递消息,将来自各个代理的消息复用在到远程网络设备上的代理的外出连接上,并处理广播请求。在某些实施例中,代理可只绑定到一个通信管理器,并且通信管理器可只绑定到一个网络接口。
在某些实施例中,显示器管理器是管理显示设备上的资源的代理。具体地,显示器管理器负责授予对显示资源和屏幕几何的访问。在某些实施例中,每一显示设备对于每一相关的I/O设备集合(如视频输出、图形输出、音频输出、以及用户输入)只具有一个显示器管理器。在某些实施例中,代理与会话管理器一起工作来协调媒体内容在显示设备上的传递和显示,从而授予对显示设备资源的访问。在某些实施例中,显示器管理器表示用户会话的起始点和对会话管理器的委托控制。
在某些实施例中,会话管理器是为活动用户协调媒体内容集合的代理。在某些实施例中,一旦选择,会话管理器就发起与对应的显示器管理器的远程屏上(on-screen)显示会话,并开始执行管理网络中的其他设备的应用程序。在某些实施例中,显示器管理器向会话管理器转发输入事件并授予对其显示资源的访问权限,会话管理器可将该显示资源委托给其他代理,从而允许其他代理将内容传递给显示器。在一个示例中,显示器管理器可以向在机顶盒内执行的会话管理器授予访问权限。会话管理器可发起与该显示器的远程UI(用户界面)会话,并允许网络设备的用户选择要从远程视频存储设备播放的视频。在某些实施例中,会话管理器可将访问权限传递给视频服务器,并指导视频服务器将媒体流传送到显示器。在某些实施例中,会话管理器维护管理用户在利用媒体内容时的体验所必需的状态。
图8是网络设备的各组件的实施例的图示。在该图示中,网络设备805可以是娱乐网络中的任何设备,包括但不限于图1中示出的设备。例如,该网络设备可以是电视机、机顶盒、存储单元、游戏控制台(其例如可以利用二维或三维图形数据)、或其他媒体设备。在某些实施例中,网络设备805包括提供网络功能的网络单元810。网络功能包括但不限于生成、发送、存储、和接收媒体数据流。网络单元810可被实现为单个片上***(SoC)或被实现为多个组件。
在某些实施例中,网络单元810包括用于处理数据的处理器。对数据的处理可包括生成媒体数据流,操纵数据流来发送或存储,以及解密和解码数据流来使用。网络设备还可包括支持网络操作的存储器,如DRAM(动态随机存取存储器)820或其他类似存储器和闪存825或其他非易失性存储器。
网络设备805还可包括经由一个或多个网络接口855分别用于在网络上发送数据或从网络接收数据的发送器830和/或接收器840。发送器830或接收器840可以连接到有线传输电缆(包括例如以太网电缆850)或连接到无线单元。发送器830或接收器840可以用一条或多条线,如用于数据发送的线835和用于数据接收的线845,耦合到网络单元810来用于数据传输和控制信号。还可以存在附加连接。网络设备805还可包括用于该设备的媒体操作的多个组件,它们在此未示出。
图9是娱乐网络的实施例的图示。在该图示中,娱乐网络***900允许任何兼容媒体设备连接到该网络。该连接被示为到娱乐网络905的连接。在某些实施例中,这些设备用作没有中心网络服务器的网络。通过该娱乐网络,媒体数据流可以在任何连接设备之间传输。另外,可以通过该网络远程地控制设备。设备可经由任何已知连接器和连接协议(包括同轴电缆、以太网电缆、和火线)以及经由Wi-Fi、蓝牙和其他无线技术的无线连接来连接到该网络。
在某些实施例中,设备可包括任何媒体源或接收者。在图9中,办公室910可以经由调制解调器922提供到网络905的因特网连接920。从因特网接收到的数据可包括任何流传输媒体源,包括但不限于,所购买的音频文件(如下载的音乐文件)、视频文件(如电影、电视、以及其他)、以及计算机游戏。办公室910还可连接到利用监视器926的个人计算机924,监视器926除其他功能之外可显示某些媒体流或操作某些计算机游戏。
娱乐网络还可与卧室912中的设备相连接,这些设备例如包括向电视机932提供数据的机顶盒930。另外,卧室(或任何其他地方)可包含媒体存储单元928。媒体存储单元928可从连接到网络905的任何源接收数据并可向连接到网络905的任何数据接收者提供数据。媒体存储单元928可包含用于该网络的任何类型的媒体流数据。
该***还可包括接收来自例如电缆或光纤***934或圆盘式卫星天线网络936的输入的客厅914。来自这些源的输入可被提供给连接到网络905的机顶盒938和第二电视机940。视频游戏单元942同样连接到网络905以在客厅电视机940上显示。可以存在具有连网设备的任何数量的其他房间,如包含连接到网络905的第三电视机944的厨房。其他网络设备也可存在,包括但不限于,可包括遍布房屋的扬声器的立体声音频***。
另外,任何数量的移动个人电子设备可连接到该网络。这些设备可经由电缆或经由无线信号连接,包括但不限于蓝牙、Wi-Fi、红外、或其他类似无线通信协议。每一这样的协议需要到该网络的接口(其在图9中未示出),如Wi-Fi基站。这样的移动个人电子设备可包括数字照相机946、蜂窝电话948、个人音乐设备950、或摄像机952。另外,当汽车954靠近网络905时(如当在房屋的车库中时),该汽车中包含的移动***可连接到该网络。在移动个人电子设备处于该网络的范围内时,其可例如自动地连接到该网络。一旦连接,这些设备可用于通过该网络获取数据或向该网络提供数据,包括向这些设备的可能的自动更新或下载。在一个示例中,用户能够通过该网络访问移动个人电子设备中的任何一个所包含的数据,如访问存储在数字照相机946上的照片、经由机顶盒938访问存储在客厅电视机940上的数据。在某些实施例中,图9中示出的网络设备是设计为具有有限的网络处理和缓冲能力的低资源设备。
在以上描述中,出于说明目的阐述了众多具体细节以便提供对本发明的全面理解。然而,对本领域技术人员将显而易见的是,没有这些具体细节也可实践本发明。在其他情况下,公知结构和设备以框图的形式示出。在所示组件之间可能有中间结构。此处所描述或示出的各组件可具有未示出或描述的附加输入或输出。
本发明可包括各种过程。本发明的过程可由硬件组件来执行或可以用机器可执行指令来实现,这可被用于使得用这些指令编程的通用或专用处理器或逻辑电路执行这些过程。或者,这些过程可由硬件和软件的组合来执行。
本发明的各部分可以作为计算机程序产品来提供,计算机程序产品可包括其上存储有计算机程序指令的计算机可读介质,计算机程序指令可被用来对计算机(或其他电子设备)进行编程来执行根据本发明的过程。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(压缩盘只读存储器)、以及磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储电子指令的其它类型的介质/机器可读介质。此外,本发明还可作为计算机程序产品来下载,其中该程序可以从远程计算机发送到作出请求的计算机。
许多方法是以其最基本的形式来描述的,但可以向这些方法中的任一个添加或从中删除各个过程并且可以向所描述的消息中的任一个添加或从中减去信息,而不背离本发明的基本范围。对本领域技术人员而言显而易见的是,还可以作出许多修改和改编。各具体实施例不是为了限制本发明而是为了说明本发明来提供的。本发明的范围不是由以上提供的各具体示例来确定的,而是仅由所附权利要求书来确定的。
当提到元件“A”耦合至元件“B”或与其相耦合时,元件A可直接耦合至元件B,或通过例如元件C间接地耦合。当说明书或权利要求书声明组件、特征、结构、过程、或特性A“引起”组件、特征、结构、过程或特性B时,它意味着“A”至少是“B”的部分起因,但还可能有帮助引起“B”的至少一个其它组件、特征、结构、过程或特性。如果说明书指示“可”、“可能”或“可以”包括组件、特征、结构、过程或特性,则不一定必须包括该特定组件、特征、结构、过程或特性。如果说明书或权利要求引用“一”或“一个”元件,这不意味着仅有一个所描述的元件。
实施例是本发明的实现或示例。在本说明书中对“实施例”、“一个实施例”、“某些实施例”或“其他实施例”的引用意味着结合这些实施例所描述的特定特征、结构或特性被包括在至少某些实施例中,但不一定被包括在所有实施例中。“实施例”、“一个实施例”、或“某些实施例”的多次出现不一定都指代相同的实施例。应当理解,在对本发明的示例性实施例的以上描述中,出于流水线化本发明以及帮助理解各发明性方面中的一个或多个的目的,本发明的各个特征有时被一起分组在单个实施例、附图、或对实施例或附图的描述中。然而,本发明的方法不应被解释为反映所要求保护的发明需要比在每一权利要求中明确表述的特征更多的特征的意图。相反,如所附权利要求书所反映的,各发明性方面在于比单个在以上公开的实施例的所有特征要少的特征。因此,权利要求书据此特意合并到本说明书中,每一权利要求都独立作为本发明的一单独实施例。
Claims (33)
1.一种数据储存库,包括:
被配置成存储包括一个或多个数据内容项的数据的存储器,每一数据内容项与零个或更多个元数据项相关联,其中每一数据内容项与一句柄相关联并且其中每一元数据项与一属性名相关联;
被配置成与客户机设备进行通信的网络接口;以及
被配置成控制数据在所述存储器中的存储的控制单元,其中所述控制单元提供向所述存储器写入数据和从中读出数据的功能,其中所述控制单元被配置成在不进行解释的情况下传输所述数据。
2.如权利要求1所述的数据储存库,其特征在于,所述客户机被配置成使用所述控制单元的功能来提供用于所述数据储存库的数据库功能。
3.如权利要求1所述的数据储存库,其特征在于,每一数据项的句柄是整数值。
4.如权利要求1所述的数据储存库,其特征在于,第一元数据项的属性名是整数值、固定长度串、或可变长度串中的一个。
5.如权利要求1所述的数据储存库,其特征在于,所述控制单元被配置成按所存储数据的字节级比较来搜索数据元素。
6.如权利要求1所述的数据储存库,其特征在于,还包括用于存储时间值的寄存器。
7.如权利要求6所述的数据储存库,其特征在于,在对所存储的数据内容项或元数据项进行变更时所述时间值递增,其中所述数据储存库至少部分地基于所述数据储存库的时间值与所述客户机设备的时间值的比较来向所述客户机设备提供一个或多个元数据项。
8.如权利要求7所述的数据储存库,其特征在于,每一数据内容项与一修改时间相关联,该修改时间等于在所述数据内容项被最后修改时所述数据储存库的时间值。
9.如权利要求8所述的数据储存库,其特征在于,每一元数据项与一修改时间相关联,该修改时间等于在所述元数据项被最后修改时所述数据储存库的时间值。
10.如权利要求8所述的数据储存库,其特征在于,还包括日志,所述日志记录关于所述数据存储中的变更的条目。
11.一种网络设备,包括:
被配置成与网络数据储存库进行通信的网络接口,所述数据储存库持有内容数据和元数据的集合作为不透明数据,每一数据内容项与一句柄相关联并且每一元数据项与一属性名相关联;
控制对所述网络数据储存库的访问的网络单元,所述网络单元利用所述内容句柄和所述元数据属性名来提供用于所述内容数据和元数据的集合的数据库功能;以及
存储来自所述网络数据储存库的一个或多个元数据项的高速缓存存储器。
12.如权利要求11所述的网络设备,其特征在于,还包括持有所述网络设备的时间值的寄存器,在存储在所述网络设备中的元数据被更新时,所述网络设备设置所述寄存器以与所述网络数据储存库的时间值相匹配,其中在所述网络设备储存库的当前时间值晚于所述网络设备的时间值的情况下,所述网络设备请求对所述网络设备的元数据的更新。
13.如权利要求12所述的网络设备,其特征在于,所述网络设备请求所述网络数据储存库的时间值。
14.如权利要求13所述的网络设备,其特征在于,请求所述网络设备的时间值包括周期性地轮询所述网络数据储存库。
15.如权利要求11所述的网络设备,其特征在于,所述元数据对所述网络设备描述媒体数据。
16.如权利要求15所述的网络设备,其特征在于,所述网络设备包括娱乐设备。
17.一种网络,包括:
包含数据库的第一网络设备,所述数据库被配置成包含多个数据内容项,每一数据内容项具有零个或更多个相关联的元数据项,所述第一网络设备被配置成持有所述数据内容项和元数据项作为不透明数据;以及
包含高速缓存来自所述第一网络设备的一个或多个元数据项的高速缓存存储器的第二网络设备,所述第二网络设备被配置成提供对所述数据库中包含的数据的数据访问。
18.如权利要求17所述的网络,其特征在于,所述数据库包括多种类型的内容数据。
19.如权利要求18所述的网络,其特征在于,还包括第三网络设备,其中所述第二网络设备被配置成访问所述数据库中具有第一格式的元数据并且所述第三网络设备被配置成访问所述数据库中具有第二格式的元数据。
20.如权利要求18所述的网络,其特征在于,所述多种类型的内容数据包括视频数据、音频数据、照片数据、以及二维和三维图形数据中的一种或多种。
21.如权利要求17所述的网络,其特征在于,所述第一网络设备和所述第二网络设备是个人娱乐设备。
22.如权利要求17所述的网络,其特征在于,所述第一网络设备包括代数,所述代数随所述数据库中的每一变更而增加。
23.如权利要求22所述的网络,其特征在于,所述第二网络设备包括代数,在所述第二网络设备的高速缓存存储器中的元数据被更新时,所述第二网络设备的代数被设置成所述第一网络设备的代数。
24.如权利要求23所述的网络,其特征在于,所述第二网络设备被配置成响应于所述第一网络设备的代数与所述第二网络设备的代数的比较来更新所述第二设备的高速缓存存储器中的元数据。
25.如权利要求24所述的网络,其特征在于,所述第二设备被配置成以特定时间间隔来轮询所述第一设备,并且其中所述第一设备被配置成响应于所述轮询来向所述第二设备提供所述第一设备的代数。
26.如权利要求24所述的网络,其特征在于,所述第一设备被配置成在对所述数据库的变更发生时发送广播,并且其中第二设备被配置成响应于所述广播来获取所述第一设备的代数。
27.一种方法,包括:
将数据存储在数据储存库中,所述数据包括多个内容数据项,每一内容数据项与零个或更多个元数据项相关联,
将每一内容数据项与一句柄相关联,并将每一元数据项与一属性名相关联;以及
利用所述内容数据的句柄和所述元数据的属性名在不解释所述数据的情况下向客户机设备提供对所述数据的访问。
28.如权利要求27所述的方法,其特征在于,所述内容数据项包括多种数据格式。
29.如权利要求27所述的方法,其特征在于,提供对所述数据的访问包括基于所存储的数据字节的比较来搜索数据项。
30.如权利要求27所述的方法,其特征在于,所述属性名构成属性类。
31.如权利要求30所述的方法,其特征在于,所述属性类包括多个属性类型,每一属性类型指定一元数据类别。
32.如权利要求27所述的方法,其特征在于,还包括设置所述数据储存库的时间值,每次所述数据储存库中的数据变更时所述时间值增加;
将当前时间值发送给客户机;
接收来自所述客户机的、对在所述客户机的时间值之后已变更的元数据的请求;以及
将元数据集合发送给所述客户机。
33.如权利要求32所述的方法,其特征在于,还包括在所述数据储存库中搜索在所述客户机的时间值之后已变更的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/836,082 US8468212B2 (en) | 2007-08-08 | 2007-08-08 | Network repository for metadata |
US11/836,082 | 2007-08-08 | ||
PCT/US2008/069363 WO2009020729A2 (en) | 2007-08-08 | 2008-07-07 | Network repository for metadata |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101772767A true CN101772767A (zh) | 2010-07-07 |
Family
ID=39797261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880102008A Pending CN101772767A (zh) | 2007-08-08 | 2008-07-07 | 元数据的物理储存库 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8468212B2 (zh) |
EP (1) | EP2186023A2 (zh) |
JP (2) | JP5425070B2 (zh) |
KR (1) | KR101470991B1 (zh) |
CN (1) | CN101772767A (zh) |
TW (1) | TWI376611B (zh) |
WO (1) | WO2009020729A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108464007A (zh) * | 2016-04-13 | 2018-08-28 | 谷歌有限责任公司 | 视频元数据关联推荐 |
CN109219472A (zh) * | 2016-07-05 | 2019-01-15 | 株式会社万代 | 游戏装置、游戏用物品以及程序 |
CN110704538A (zh) * | 2019-09-29 | 2020-01-17 | 深圳市迅雷网络技术有限公司 | 一种多盘数据的处理方法、装置、***及介质 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552491B1 (en) * | 2007-12-04 | 2017-01-24 | Crimson Corporation | Systems and methods for securing data |
US8583610B2 (en) * | 2008-03-04 | 2013-11-12 | International Business Machines Corporation | Dynamically extending a plurality of manageability capabilities of it resources through the use of manageability aspects |
US7953777B2 (en) * | 2008-04-25 | 2011-05-31 | Yahoo! Inc. | Method and system for retrieving and organizing web media |
US8407194B1 (en) * | 2009-01-15 | 2013-03-26 | Privity Systems Inc. | Data classification and privacy repository |
US8533230B2 (en) * | 2009-06-24 | 2013-09-10 | International Business Machines Corporation | Expressing manageable resource topology graphs as dynamic stateful resources |
US8812585B2 (en) | 2010-03-29 | 2014-08-19 | Google Inc. | Trusted maps: updating map locations using trust-based social graphs |
US8312055B2 (en) * | 2010-06-11 | 2012-11-13 | Sony Corporation | Content alert upon availability for internet-enabled TV |
CN102682043B (zh) * | 2011-04-14 | 2013-11-27 | 天脉聚源(北京)传媒科技有限公司 | 一种分布式数据库连接方法 |
US8862492B1 (en) | 2011-04-29 | 2014-10-14 | Google Inc. | Identifying unreliable contributors of user-generated content |
US8700580B1 (en) | 2011-04-29 | 2014-04-15 | Google Inc. | Moderation of user-generated content |
US8533146B1 (en) | 2011-04-29 | 2013-09-10 | Google Inc. | Identification of over-clustered map features |
US8745084B2 (en) * | 2011-07-20 | 2014-06-03 | Docscorp Australia | Repository content analysis and management |
US9257056B2 (en) | 2011-10-31 | 2016-02-09 | Google Inc. | Proactive user-based content correction and enrichment for geo data |
US8832116B1 (en) * | 2012-01-11 | 2014-09-09 | Google Inc. | Using mobile application logs to measure and maintain accuracy of business information |
KR101638656B1 (ko) | 2012-08-23 | 2016-07-11 | 엘에스산전 주식회사 | 산업용 자동화를 위한 클라우드 컴퓨팅 기반의 데이터 공유 시스템 및 산업용 기기 관리 장치 |
US9015212B2 (en) * | 2012-10-16 | 2015-04-21 | Rackspace Us, Inc. | System and method for exposing cloud stored data to a content delivery network |
US9081826B2 (en) | 2013-01-07 | 2015-07-14 | Facebook, Inc. | System and method for distributed database query engines |
WO2015042719A1 (en) * | 2013-09-27 | 2015-04-02 | Saliba Jad John | Methods, systems, and devices for identifying an application type of unknown data |
AU2015207840B2 (en) * | 2014-07-31 | 2020-06-18 | Samsung Electronics Co., Ltd. | System and method of managing metadata |
US9626271B2 (en) * | 2014-09-26 | 2017-04-18 | Oracle International Corporation | Multivariate metadata based cloud deployment monitoring for lifecycle operations |
US10785116B1 (en) * | 2017-01-12 | 2020-09-22 | Electronic Arts Inc. | Computer architecture for asset management and delivery |
US10298895B1 (en) * | 2018-02-15 | 2019-05-21 | Wipro Limited | Method and system for performing context-based transformation of a video |
KR20200112386A (ko) * | 2019-03-22 | 2020-10-05 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11768767B2 (en) * | 2021-10-29 | 2023-09-26 | Micro Focus Llc | Opaque object caching |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339392A (en) * | 1989-07-27 | 1994-08-16 | Risberg Jeffrey S | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
US5870746A (en) * | 1995-10-12 | 1999-02-09 | Ncr Corporation | System and method for segmenting a database based upon data attributes |
JPH09305473A (ja) | 1996-05-16 | 1997-11-28 | Fuji Xerox Co Ltd | 検索システムにおけるキャッシング方式 |
US6226666B1 (en) * | 1997-06-27 | 2001-05-01 | International Business Machines Corporation | Agent-based management system having an open layered architecture for synchronous and/or asynchronous messaging handling |
JP3763992B2 (ja) * | 1999-03-30 | 2006-04-05 | 富士通株式会社 | データ処理装置及び記録媒体 |
US6516336B1 (en) * | 1999-09-08 | 2003-02-04 | International Business Machines Corporation | Method and system for using a two-tiered cache |
US7178100B2 (en) * | 2000-12-15 | 2007-02-13 | Call Charles G | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers |
US20020143976A1 (en) * | 2001-03-09 | 2002-10-03 | N2Broadband, Inc. | Method and system for managing and updating metadata associated with digital assets |
WO2002078286A2 (en) * | 2001-03-27 | 2002-10-03 | Bea Systems, Inc. | System and method for managing objects and resources with access rights embedded in nodes within a hierarchical tree structure |
EP1248206A1 (en) * | 2001-04-05 | 2002-10-09 | Sun Microsystems, Inc. | Method and apparatus for database table definition |
US6839812B2 (en) * | 2001-12-21 | 2005-01-04 | Intel Corporation | Method and system to cache metadata |
US6954748B2 (en) | 2002-04-25 | 2005-10-11 | International Business Machines Corporation | Remote data access and integration of distributed data sources through data schema and query abstraction |
WO2004029771A2 (en) * | 2002-09-26 | 2004-04-08 | Video Furnace, Inc. | Digital content delivery and viewing system and method |
US7620535B2 (en) * | 2002-12-19 | 2009-11-17 | Computer Associates Think, Inc. | Method and apparatus for the simulation of computer networks |
US7555504B2 (en) * | 2003-09-23 | 2009-06-30 | Emc Corporation | Maintenance of a file version set including read-only and read-write snapshot copies of a production file |
CN101099149B (zh) | 2004-01-16 | 2011-12-14 | 希尔克瑞斯特实验室公司 | 元数据代理服务器及方法 |
US20060041596A1 (en) | 2004-08-19 | 2006-02-23 | Vlad Stirbu | Caching directory server data for controlling the disposition of multimedia data on a network |
US7272592B2 (en) * | 2004-12-30 | 2007-09-18 | Microsoft Corporation | Updating metadata stored in a read-only media file |
US7818350B2 (en) | 2005-02-28 | 2010-10-19 | Yahoo! Inc. | System and method for creating a collaborative playlist |
US8762403B2 (en) * | 2005-10-10 | 2014-06-24 | Yahoo! Inc. | Method of searching for media item portions |
US20070083380A1 (en) * | 2005-10-10 | 2007-04-12 | Yahoo! Inc. | Data container and set of metadata for association with a media item and composite media items |
US20070156770A1 (en) | 2005-10-18 | 2007-07-05 | Joel Espelien | System and method for controlling and/or managing metadata of multimedia |
US20080032739A1 (en) * | 2005-12-21 | 2008-02-07 | Faraz Hoodbhoy | Management of digital media using portable wireless devices in a client-server network |
EP1963958B1 (en) | 2005-12-21 | 2019-04-24 | Digimarc Corporation | Rules driven pan id metadata routing system and network |
US8719341B2 (en) * | 2005-12-27 | 2014-05-06 | Qurio Holdings, Inc. | System and method for accessing and managing mobile device metadata |
-
2007
- 2007-08-08 US US11/836,082 patent/US8468212B2/en active Active
-
2008
- 2008-07-07 WO PCT/US2008/069363 patent/WO2009020729A2/en active Application Filing
- 2008-07-07 KR KR1020107005044A patent/KR101470991B1/ko active IP Right Grant
- 2008-07-07 CN CN200880102008A patent/CN101772767A/zh active Pending
- 2008-07-07 EP EP08772438A patent/EP2186023A2/en not_active Ceased
- 2008-07-07 JP JP2010520042A patent/JP5425070B2/ja active Active
- 2008-07-10 TW TW097126140A patent/TWI376611B/zh active
-
2013
- 2013-06-17 US US13/919,773 patent/US9934227B2/en active Active
- 2013-11-26 JP JP2013243786A patent/JP5756508B2/ja active Active
-
2017
- 2017-10-31 US US15/799,977 patent/US11138150B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108464007A (zh) * | 2016-04-13 | 2018-08-28 | 谷歌有限责任公司 | 视频元数据关联推荐 |
CN109219472A (zh) * | 2016-07-05 | 2019-01-15 | 株式会社万代 | 游戏装置、游戏用物品以及程序 |
CN109219472B (zh) * | 2016-07-05 | 2022-04-01 | 株式会社万代 | 游戏装置、游戏用物品以及记录介质 |
CN110704538A (zh) * | 2019-09-29 | 2020-01-17 | 深圳市迅雷网络技术有限公司 | 一种多盘数据的处理方法、装置、***及介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5756508B2 (ja) | 2015-07-29 |
US11138150B2 (en) | 2021-10-05 |
WO2009020729A3 (en) | 2009-04-02 |
US20180052859A1 (en) | 2018-02-22 |
US9934227B2 (en) | 2018-04-03 |
KR101470991B1 (ko) | 2014-12-09 |
KR20100066488A (ko) | 2010-06-17 |
TWI376611B (en) | 2012-11-11 |
JP5425070B2 (ja) | 2014-02-26 |
JP2014063512A (ja) | 2014-04-10 |
JP2010536096A (ja) | 2010-11-25 |
WO2009020729A2 (en) | 2009-02-12 |
US20140032619A1 (en) | 2014-01-30 |
EP2186023A2 (en) | 2010-05-19 |
US8468212B2 (en) | 2013-06-18 |
US20090043786A1 (en) | 2009-02-12 |
TW200921431A (en) | 2009-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101772767A (zh) | 元数据的物理储存库 | |
US7571167B1 (en) | Peer-to-peer network content object information caching | |
US9667717B2 (en) | Personal digital server (PDS) | |
CA2753525C (en) | Content provisioning and revenue disbursement | |
KR100813982B1 (ko) | 모바일 단말기와 근거리 서버간의 콘텐츠 공유 방법 | |
JP6062863B2 (ja) | 効率的な検索を可能にするためのサーバに基づくメディアコンテンツ及びlanに基づくメディアコンテンツを集約する方法及び装置 | |
CN101729442A (zh) | 一种实现内容共享的方法和装置 | |
US6363375B1 (en) | Classification tree based information retrieval scheme | |
JP2007514208A (ja) | デジタル権利およびコンテンツアセットを管理するシステムおよび方法 | |
KR20060117934A (ko) | 가상 콘텐트 디렉토리 서비스 | |
CN101304360A (zh) | 一种虚拟化用户数字终端的***与方法 | |
CN104041060A (zh) | 用于内容目录服务器呈现的设备和方法 | |
CN101290620A (zh) | 一种基于数字对象的媒体资产处理方法及*** | |
US7739317B2 (en) | Data serialization and transfer | |
EP3577587B1 (en) | Satellite and central asset registry systems and methods and rights management systems | |
KR101344828B1 (ko) | 디지털 콘텐츠 유통 방법 및 시스템 | |
JP4543532B2 (ja) | 情報通信システム | |
US9258175B1 (en) | Method and system for sharing playlists for content stored within a network | |
KR20130039003A (ko) | 휴대용 단말기의 메타데이터 데이터베이스 복사를 이용한 멀티미디어 공유장치 및 방법 | |
US8271508B2 (en) | Automated storage and retrieval of data | |
KR20120076467A (ko) | 미디어 콘텐츠에 대한 연관 정보를 제공하는 방법, 장치 및 시스템 | |
KR20130004750A (ko) | 다중 운영 체제 기반의 홈 서버 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100707 |