确定内容对象目录中的冗余的制作方法

文档序号:6432302阅读:189来源:国知局
专利名称:确定内容对象目录中的冗余的制作方法
技术领域
一般地说,本发明涉及确定文件指纹以供识别,更具体地说,涉及确定文件目录中的冗余。
背景技术
计算机系统的缺点之一是有大量冗余文件被反复地复制和存储在多个目录中。尽管试图利用唯一的名字或特征来标识这些文件,但所造成的结果往往是这些冗余文件被多次存储在一个目录或计算机系统中。结果,在存储冗余文件时发生存储器浪费。再有,在一个计算机系统中一些文件或无辜地或有意地被误标识也是常有的事。结果,驻留在该系统中的文件可能有不正确的标识符,使它们不能被各种用户或应用程序正确地或有效地识别出来。
作为一个例子,在通过因特网下载音乐文件产业中,一个新的艺术家往往在一个受欢迎的艺术家的名下存储他们的新歌。其理论是通过把新歌存储在更受欢迎的艺术家名下,将会有更多人可能下载那个特定文件和聆听这位新艺术家的被误标识的歌。这通常被称作“Napster爆炸”。显然,新艺术家感觉利用Napster爆炸会有更大的机会被听众发现。例如,在对等网络中,一个人能访问另一个用户的目录并观看那个用户的可用文件。这样,控制该物理目录的用户能或者有意地或者有目的地误标识歌曲。在与另一用户的对等网络连接中涉及的Napster炸弹能误标识他或她的新歌并允许第二个用户下载那个文件供收听。这样,这第二个用户可能浪费大量时间去得到被误标识的歌的副本。
作为另一个例子,含有冗余数据的存储器系统浪费本可以更好地用于非冗余数据的存储空间。例如,当在正常的过程中复制和存储文件时,为更容易识别,由用户给予这些文件新的名字。结果,含有相同数据的多个文件被存储在一个计算机系统上。数日、数月或数年之后,难于根据文件特征或标识符(如文件名)来知道这些文件是否是冗余的。于是,它们只是被内务处理程序简单地维持在计算系统上。
随着通过计算机网络下载音频和视频文件供用户在其家用计算机中观看的这种下载活动的出现,有很大可能性不仅存储冗余文件而且存储Napster爆炸视频文件。结果,用户可能浪费大量时间在例如下载一个被误标识的视频文件,与占用存储空间不那么太大的音频文件相比,下载这种被误标识的视频文件所涉及的下载时间要明显多得多。再有,将存储数据或内容文件(如视频文件)的服务器或高速缓存计算机将有有限的存储容量用于存储目的。因此,希望能消除任何不必要的冗余文件。

发明内容
本发明的一个实施例提供一个系统用于消除计算机目录中存储的冗余文件。本发明的这一实施例能通过如下过程完成访问存储在存储器中的多个文件,这里每个文件被配置成由一个指纹标识;为存储在存储器中的每个文件确定一个指纹;建立一个标准,如冗余标准,以指出何时任何两个指纹是冗余的;比较为每个文件确定的指纹;以及根据该比较确定哪些文件是冗余的。
在一个方面,冗余文件能从存储器中被去除或删除。再有,能利用各种类型的指纹,如以快速付立叶变换(FFT)作为指纹,利用水印作为指纹,或利用CRC(循环冗余校验)作为指纹。
在一个实施例中,该系统能用于访问各种文件格式,如音频文件或视频文件。
在另一个实施例中,能通过访问一个文件向该文件提供一个标识符;取得该文件的频率表示;为该文件提供一个文件名;在一个目录中提供该文件名;以及使该文件的频率表示与该文件名关联,从而可经由该目录访问该频率表示。
同样,在本发明的各种实施例中能使用付立叶变换,能使用FFT,还能使用离散付立叶变换(DFT)。再有,频率表示能作为元数据被包括在一个地址列表中。
在本发明的另一个实施例中,能利用一种查找文件的方法,其作法是得到所希望文件的第一频率表示;访问第一个未知文件;得到该未知文件的第二频率表示;将所希望文件的第一频率表示与该未知文件的第二频率表示进行比较;以及根据比较结果确定该未知文件是否是所希望的文件。
再有,在这一实施例的各方面中,能利用不同的算法得到频率表示。例如,能利用FFT或离散付立叶变换(DFT)等来实现。
在这一实施例的另一方面中,能通过比较第一和第二频率表示的频率范围来实现频率比较,从而确定它们是否等同。
再有,这一实施例能利用一个解码器,以在得到一个文件的频率表示之前对那个文件解码。


图1提供一个流程图,说明根据本发明一个实施例去除冗余文件的方法。
图2提供一个流程图,说明根据本发明一个实施例标识目录中文件的方法。
图3提供一个流图,说明根据本发明一个实施例识别一个未知文件的方法。
图4显示用于实现图1、2、3中所示方法的系统。
图5显示用于实现图4中所示部件的系统。
具体实施例方式
随着通过计算机网络下载音频和视频文件的出现,能正确地识别适当的文件变得比以往更加重要。换言之,下载这类文件需要大量的计算资源,因为它们很占用存储器,它们不仅需要大量下载时间而且还因此占用大量计算带宽。因此,下载已被误标识的文件是无效能的,不能服务于请求被误标识的文件的用户要达到的目的。再有,计算机系统上的存储空间是一个一直存在的问题,因此,能识别出冗余文件并从计算机存储器中去除以造成更多的存储空间是有益的。
在本发明的一个实施例中,提供了识别计算机系统中冗余文件的方法。这种方法能用于识别用户自己的计算机上的文件以及识别他人计算机上的文件。在图1中,显示方法100,其中根据块104,存储在计算机存储器上的多个文件被访问。例如,在用户自己的计算机机上的文件能被访问。然后,根据块108,确定每个文件的指纹(fingerprint)。
确定指纹可采取多种形式。作为一例,可利用FFT。能根据任何从市场上可得到的计算FFT的程序或芯片来产生FFT,如在MIT由MatteoFrigo和Steven G.Johnson开发的而且当前可在FFTW.ORG网站免费得到的FFTW2.1.3版(计算付立叶变换、离散付立叶变换和快速付立叶变换的算法出现在例如Oppenheim和Willsky的《信号和系统》一书(Prentice Hall 1983出版)中)。
例如,利用FFT,能对一首歌曲的音频特性取样,并能对那首特定歌曲产生FFT。这样,便能产生那个文件的FFT特性。FFT特性随着该文件用于产生FFT的不同部分而改变。再有,所用歌曲段落的长度能影响所得到的FFT。
作为另一个例子,水印能用作一个文件的指纹。换言之,放在文件上的水印不仅能用于标识该文件的真实性,还能用于标识那个文件的特征。再有,能对特定文件产生CRC,从而导出那个文件的唯一标识符。
在块112中,建立一个冗余标准,从而指出何时两个文件是彼此冗余的。例如,在FFT的情况中,能利用对文件的采样要求来说明以指定的采样率对文件播放时间的头5分钟进行采样。再有,在比较所产生的两个文件的频率直方图时,直方图可变化一个预定的百分比。例如,如果对文件a产生一个直方图,对文件b产生一个直方图,这两个直方框的共同图案可能改变例如5%,但仍认为是冗余文件。可由用户选择用于确定文件是否冗余的各种特性。例如,可利用较严格的要求,如在确定两个文件是否彼此冗余时它们的指纹之间要求严格匹配。
在块116中,能对至少是一些文件的指纹进行比较。这样,如图1的块120中所示,能根据块116中的比较结果确定任何两个文件是否彼此冗余。所建立的冗余标准能用于提供判据,用于在比较中确定两个指纹是否满足所建立的冗余标准的判据。另一种作法中,即使没有已建立的标准,也能将比较结果显示给用户观察,以使用户能够确定这些指纹是否足够相似而被认为是冗余文件。
在块124中,任何已被确定为冗余的文件能被去除。例如,能显示文件和文件特性列表供用户观看,列表中显示哪些文件彼此冗余。这样,用户能对是否去除文件或把它们保持在文件系统上作出最终决定。可以预见,在大多数情况中,这类冗余文件将被简单地从存储器和文件目录中删除,从而释放出空间供新文件使用。另一种作法是,某些文件可被保留,尽管它们满足冗余标准。
确定冗余文件的方法适用于能被确定指纹的任何数量数据文件。例如,音频文件能容易地利用FFT算法确定指纹。类似地,视频文件能以FFT算法确定指纹。在音频文件的情况中,能通过建立FFT中标识的频率范围和必须匹配的那些频率的水平百分数来建立冗余标准。
一旦已产生了指纹,它能被保留并作为元数据附加到该文件的指示符。这样,它能与文件目录中的一个文件名关联。于是,能通过点击微软视窗文件目录中文件名旁边的FFT指示符来取出那个文件的FFT指纹。这只不过是涉及把FFT数据与文件目录中的文件名链接。这样,指纹能与文件一起存储在数据库中。作为这一关联的结果,指纹和文件名或其他标识符能在数据库中被编目(catalogue)。例如,如果由因特网上的一个实体创建一个视频文件数据库,该实体会创建一个内容对象主数据库,该内容对象用于流向正在观看的客户。这样,该实体能通过它的系统分发内容对象文件并使指纹与每个文件关联。主数据库还能保持每个文件的指纹并把指纹用于内务(housekeep)管理功能。例如,能在远程数据库如高速缓存服务器上实现这些内务管理功能,以去除存储在该高速缓存上的任何冗余内容文件。
在图2中,描述本发明的一个用于标识文件的实施例。在图2的流程图200中,一个文件被访问,如块204所示。例如,可简单地利用文件名作为标识符从一文件目录中访问该文件。然后,能如块208中指出的那样导出该文件的频率表示。作为一例,能利用该文件数据产生一个FFT,从而产生那个文件的FFT数据。在块212中,为该文件提供一个文件名。通常,这只不过是涉及使用一个先前曾用于访问该文件的同一个名字。然而,人们能容易地为该文件提供一个新名。在块216中,该文件名能被放在该文件的一个目录中。同样,这只不过是涉及把该文件存储在一个目录中的一个新名之下。此外,如块220中所示,该文件的频率表示与该文件名关联。如前文说明的那样,通过把由FFT产生的频率表示数据与在该文件目录中给出的文件名链接,便能实现这种关联。这样,如果希望进一步观看一个具有与之关联的频率表示的特定文件的其他标识符,则可提出该FFT数据或其他频率表现数据并观看那个文件的频率表示。在块224中,该频率表示能被一个指示符概括,该指示符作为文件描述符的一部分被显示。例如,能提供一个因特网地址的一个文件描述,其中频率数据作为元数据被关联,作为那个文件地址的一部分。
图3显示本发明的一个用于识别未知文件的实施例。在一些情况中,人们希望取一个已知的文件并搜索那个已知文件的其他出现情况。通常,这是利用与该文件数据关联的文件名和根据那个文件名进行搜索来实现的。这里的一个假设是该文件名未曾被误标签到那个文件数据。如上文中在Napster爆炸的情况中说明的那样,这是一个不正确的假设,因为文件名往往被有目的地不正确地列出,从而愚弄听众下载一个新艺术家的歌曲。这样,本发明的这一实施例能用于根据一首歌曲的频率特征进行搜索,这与使用易被破坏的简单的文件名的情况不同。
在图3中显示方法300,说明本发明的一个用于识别未知文件的实施例。在块304中,得到一个所希望的文件并产生那个文件的第一频率表示。例如,这能通过得到一个视频文件并根据那个视频文件的音频部分的头5分钟产生一个FFT来实现。另一种作法是,能在该视频文件的视频部分上完成FFT。这样便能产生一个指示该视频文件的频率表示作为指纹。在块308中,一个文件目录中的一个未知文件被访问。例如,一个高速缓存服务器能被访问,它存储多个文件供视频分发网络中的商业客户下载,从该高速缓存服务器中得到第一个未知文件。在块312中,产生这一未知文件的频率表示,从而产生第二频率表示用于与所希望文件的先前产生的频率表示进行比较。然后,在块316中进行所希望文件的第一频率表示与该未知文件的第二频率表示的比较。在块320中,根据这一比较确定该未知文件是否等同于所希望的文件。一个预定的标准能用于做出这一确定。可以预见,在确定时用户能被给出一个特征模板,从中选择要用于该标准的判据。另一种作法是,该标准能由一个标准化团体(body)预先定义,该团体曾建立判据用于确定何时两个文件等同。一旦做出确定,用户能根据该结论采取行动,如删除一个冗余文件或进行进一步的比较以确定更多的部分(如整个数据文件)是否等同。这样,一个程序能被设计成比较指纹的初始部分以排除显然不相似的文件,然后通过反复的过程根据其后的比较确定实际等同的那些文件。
图4显示本发明的一个实施例,它能用于实现图1、2、3的方法。在图4中显示系统400,其中显示一个网络,如因特网416。在图4中,显示装有文件数据库的第一计算机机412。再有,所示第二计算机404能通过网络416与第一计算机412通信。再有,所示第三计算机408能经由网络416与计算机404和408二者通信。只是作为举例,这能实现一个视频流网络,其中计算机404作为一个高速缓存服务器用于保持视频文件副本,它们被分发给客户,如使用第三计算机408的一个客户。利用第一计算机412能实现一个主计算机或主数据库。这样,主计算机将希望经常地希望消除在第一计算机412中它自己的数据库上存储的冗余文件以及在远程计算机(如高速缓存储服务器404)上存储的冗余文件。利用这一系统,在这三个计算机之间能建立对等通信。
图5概括地说明在各种一般被类似配置的处理系统内如何能以单独的或较为集成的方式实现单个系统部件。所示系统500包含的硬件部件经由总线508实现电耦合,这些硬件部件包括处理器501、输入设备502、输出设备503、存储设备504、计算机可读存储介质读出器505a、通信系统506、处理加速装置(如DSP或专用处理器)507和存储器509。计算机可读存储介质读出器505a进一步与计算机可读存储介质505b相连,这一组合可理解地代表远程的、本地的、固定的和/或可拆卸的存储设备加上存储介质、存储器等,用于暂时地和/或更永久性地包含计算机可读信息,这能包括存储设备504、存储器509和/或任何其他这类可访问的系统500资源。系统500还包含软件部件(显示为当前位于工作存储器591内),包括操作系统592以及其他代码593,如程序、小应用程序、数据等。
希望系统500作为一个实施替代物,主要是由于它的强的灵活性和可配置性。这样,例如,可能利用一个单一体系结构实现一个或多个服务器,它们能进一步根据当前所希望的协议、协议变体、扩展等加以配置。然而,对本领域技术人员显然能根据更具体的应用要求很好地利用许多基本的改变。例如,一个或多个部件可能作为一个系统500部件内(例如通信系统506内)的子部件。定制的硬件也可被利用并且/或特定的部件能以硬件、软件(包括所谓“可移植软件”,如小应用程序)或二者来实现。再有,尽管可以使用与诸如网络输入/输出设备(未画出)等其他计算设备的连接,但应该理解,还可以利用有线、无线、调制解调器和/或其他连接方式与其他计算设备连接。分布式处理、多点观看、信息转发、协作、远程信息检索和合并以及相关的能力每个都被考虑。操作系统的利用也将是变化的,这取决于特定的主机设备和/或过程类型(例如计算机、附属设备、便携设备等),而且肯定不会在所有情况中需要系统500的全部部件。
尽管已作为实现本发明的方法或装置描述了本发明的各种实施例,但应该理解,本发明能通过与计算机耦合的代码实现,例如驻留在计算机上的或可由计算机访问的代码。例如,软件和数据库能用于实现上文讨论的许多方法。这样,除了用硬件实现本发明的实施例外,还应指出,这些实施例能通过使用一个制造品来实现,该制造品包含一个计算机可读介质,其中具有体现的计算机可读程序代码,它使得能够实现本描述中公开的功能。所以,还希望以其程序代码手段实现的本发明实施例也被认为受本专利的保护。
还可预见,本发明的实施例还能作为载波中体现的计算机信号以及通过传输介质传播的信号(如电信号和光信号)来实现。这样,上文讨论的各种信息能被按格式编排在一个结构中,如数据结构,并作为电信号通过传输介质传输或存储在计算机可读介质上。
还应该指出,这里叙述的许多结构、材料和行动能被叙述为实现一个功能的手段或实现一个功能的步骤。所以,应该理解,这种语言有资格覆盖本说明书中公开的所有这些结构、材料或行动以及它们的等同物。
可以认为,根据本说明书本发明实施例的装置和方法以及伴随它的许多优点将能够被理解,而且显然在形式、构成及其部件的安排方面可以做出各种改变而不脱离本发明的精神和范围或牺牲它的全部实质性优点,这里上述描述的形式只是本发明的示例性实施例。
权利要求书(按照条约第19条的修改)1.一种为文件提供标识符的方法,所述方法包含访问所述文件;取得所述文件的频率表示;为所述文件提供文件名;在一目录中提供所述文件名;将所述文件的所述频率表示与所述文件名关联,从而可在所述述目录内可搜索到所述频率表示。
2.如权利要求1中描述的方法,这里所述频率表示包含一个快速付立叶变换。
3.如权利要求1中描述的方法,进一步包含配置一个地址列表,以所述频率表示的标识符作为所述地址列表中的元数据。
4.一种搜索视频文件的方法,所述方法包含得到所希望的视频文件的第一频率表示;访问第一个未知文件;得到所述未知文件的第二频率表示;将所述第一频率表示与所述第二频率表示进行比较;以及根据所述比较,确定所述未知文件是否是所述所希望的视频文件。
5.如权利要求4中描述的方法,这里所述得到所希望的视频文件的所述第一频率表示包含进行快速付立叶变换算法。
6.如权利要求4描述的方法,其中所述得到所述第一频率表示包含进行离散付立叶变换。
7.如权利要求4中描述的方法,其中所述将第一频率表示与第二频率表示进行比较包含比较所述第一和第二频率表示的频率范围。
8.如权利要求4中描述的方法,进一步包含
对所述未知文件解码。
9.一种确定内容对象目录中的冗余的方法,所述方法包含访问存储器上存储的多个文件,其中每个所述文件被配置成由一个指纹标识;为每个所述文件确定所述指纹;建立一个冗余标准,从而指出所述文件中任何两个的所述指纹是否彼此冗余;比较为每个所述文件确定的指纹;根据对所述指纹的比较和所述冗余标准,确定冗余文件。
10.如权利要求9中描述的方法,进一步包含从所述存储器中删除至少一个冗余文件。
11.如权利要求9中描述的方法,进一步包含利用快速付立叶变换算法计算所述指纹。
12.如权利要求9中描述的方法,进一步包含利用水印作为所述指纹。
13.如权利要求9中描述的方法,进一步包含利用循环冗余校验数据作为所述指纹。
14.如权利要求9中描述的方法,其中所述访问多个文件包含访问含有视频数据的多个文件。
15.如权利要求9中描述的方法,其中所述访问多个文件包含访问含有音频数据的多个文件。
16.如权利要求9中描述的方法,其中所述建立冗余标准包含确定由快速付立叶变换得到的频率图案中的频率范围用于比较所述指纹。
17.如权利要求9中描述的方法,进一步包含将指纹作为元数据附加到至少一个目录列表。
18.如权利要求9中描述的方法,进一步包括在一个数据库中利用从中产生所述指纹的文件对所述指纹编目。
权利要求
1.一种为文件提供标识符的方法,所述方法包含访问所述文件;取得所述文件的频率表示;为所述文件提供文件名;在一目录中提供所述文件名;将所述文件的所述频率表示与所述文件名关联,从而可经由所述目录访问所述频率表示。
2.如权利要求1中描述的方法,其中所述频率表示包含一个快速付立叶变换。
3.如权利要求1中描述的方法,进一步包含以所述频率表示的一个标识符配置一个地址列表。
4.一种搜索文件的方法,所述方法包含得到所希望文件的第一频率表示;访问第一个未知文件;得到所述未知文件的第二频率表示;将所述第一频率表示与所述第二频率表示进行比较;以及根据所述比较,确定所述未知文件是否是所述所希望的文件。
5.如权利要求4中描述的方法,其中所述得到所希望文件的所述第一频率表示包含进行快速付立叶变换算法。
6.如权利要求4描述的方法,其中所述得到所述第一频率表示包含进行离散付立叶变换。
7.如权利要求4中描述的方法,其中所述将第一频率表示与第二频率表示进行比较包含比较所述第一和第二频率表示的频率范围。
8.如权利要求4中描述的方法,进一步包含对所述未知文件解码。
9.一种确定内容对象目录中的冗余的方法,所述方法包含访问存储器上存储的多个文件,其中每个所述文件被配置成由一个指纹标识;为每个所述文件确定所述指纹;建立一个冗余标准,从而指出所述文件中任何两个的所述指纹是否彼此冗余;比较为每个所述文件确定的指纹;根据对所述指纹的比较和所述冗余标准,确定冗余文件。
10.如权利要求9中描述的方法,进一步包含从所述存储器中删除至少一个冗余文件。
11.如权利要求9中描述的方法,进一步包含利用快速付立叶变换算法计算所述指纹。
12.如权利要求9中描述的方法,进一步包含利用水印作为所述指纹。
13.如权利要求9中描述的方法,进一步包含利用循环冗余校验数据作为所述指纹。
14.如权利要求9中描述的方法,其中所述访问多个文件包含访问含有视频数据的多个文件。
15.如权利要求9中描述的方法,其中所述访问多个文件包含访问含有音频数据的多个文件。
16.如权利要求9中描述的方法,其中所述建立冗余标准包含确定由快速付立叶变换得到的频率图案中的频率范围用于比较所述指纹。
17.如权利要求9中描述的方法,进一步包含将指纹作为元数据附加到至少一个目录列表。
18.如权利要求9中描述的方法,进一步包括在一个数据库中利用从中产生所述指纹的文件对所述指纹编目。
全文摘要
标识文件和/或确定内容对象目录中冗余的系统(图1)。例如,该系统能访问存储器中存储的多个文件(104)。对于每个被访问的文件,能确定相应的指纹,如通过使用快速付立叶变换(108)。然后一个文件的频率表示能与一个目录中该文件的文件名关联,使得能经由该目录访问该文件的频率表示。能对文件指纹进行比较以识别冗余(112、116、120),其后这些冗余能被去除或删除(124)。
文档编号G06F17/30GK1596399SQ02823670
公开日2005年3月16日 申请日期2002年11月25日 优先权日2001年11月28日
发明者马克·R.·汤普森, 内森·F.·拉奇波斯基 申请人:奥罗卡斯特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1