CN103140827B - 存储系统及其使用的方法 - Google Patents

存储系统及其使用的方法 Download PDF

Info

Publication number
CN103140827B
CN103140827B CN201180047241.6A CN201180047241A CN103140827B CN 103140827 B CN103140827 B CN 103140827B CN 201180047241 A CN201180047241 A CN 201180047241A CN 103140827 B CN103140827 B CN 103140827B
Authority
CN
China
Prior art keywords
user
accumulation layer
file
document instance
data
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.)
Active
Application number
CN201180047241.6A
Other languages
English (en)
Other versions
CN103140827A (zh
Inventor
G·A·加奎特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103140827A publication Critical patent/CN103140827A/zh
Application granted granted Critical
Publication of CN103140827B publication Critical patent/CN103140827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays

Abstract

一种存储系统,包括:第一存储层;第二存储层;逻辑块,用于在所述第一存储层和所述第二存储层中存储文件实例;逻辑块,用于接收来自一组用户中的用户请求存取文件或者其实例;逻辑块,用于为请求存取文件的用户提供远程存取第一存储层上的文件实例,所述文件实例当前没有被用户组中的任何其他用户使用;逻辑块,用于设置第一存储层上的文件实例的所有权状态为请求存取文件的用户所拥有;以及逻辑块,用于设置第二存储层上的未使用文件实例的所有权状态从由请求存取文件的用户所拥有变为由先前拥有第一存储层上的文件实例的第二用户未拥有或者所拥有。

Description

存储系统及其使用的方法
背景技术
本发明涉及数据存储系统,并且更具体地,本发明涉及基于分级或者“分层”存储的系统,该系统能够被用于高性能、冗余数据系统。
电视已在全世界成为社会的主要支柱。近年来,录制电视节目的能力得到迅速发展,并且尤其是与数字视频录像机(DVR)相结合,例如TIVO品牌的DVR。一般地,订户有一个或者多个DVR在他的或者她的家里存在,当从电视台接收到电视节目时,这允许录制电视节目,并且根据需要进行回放。
为了提高效率和降低成本,远程存储数字视频录像机(RS-DVR)可用于在网络站点上存储大量的视频数据,其本质上将提供与本地数字视频录像机一样的功能。类似本地DVR,RS-DVR的用户将要录制的节目编程到RS-DVR系统中,并且在需要时播放录制的节目。在回放期间,用户可以使用特技模式中的任何一个(例如暂停、快进、快退等),并且内容供应商需要支持这些特技模式。例如,由于用于快进和快退的单独文件可能需要被存储,因此当使用特技模式时从硬盘驱动器存储节目并且流式传输节目的基于磁盘的流媒体系统可能需要额外的处理和在服务器部分上的存储。用户决定何时录像将被删除。从用户的观点来看仅有的区别是RS-DVR的存储器是物理上远程的,例如,其位于连接的内容提供商端处,而不是与传统本地DVR的情况一样位于连接的用户端处。
由于以较少的成本部署、管理和维护集中式存储器资源(与内容提供者在每个用户接入点处(例如,住所、工作场所、移动热点等)部署分布式存储器相反),因此相对每个用户都有本地DVR,RS-DVR是对内容提供者来说用以维持的更低成本存储解决方案。对于专业人员来说,维护集中的信息技术(I/T)设施比维护部署在用户接入点(可以被用户物理地更改或者损坏)处的多个本地DVR花费更少。
一个困扰RS-DVR服务实施的问题是需要为多用户一次提供海量数据的快速存取。此外,一些管辖区域的法规可能要求每个订户具有他或者她自己录制节目副本的所有权,其中所有权是订户、订户的设备等和给定录制节目的副本之间的某种关联。明显地,所需的数据容量可能是庞大到无法估计的。虽然RS-DVR中的更高速存储系统的实现(例如硬盘驱动器)工作良好,但是全磁盘系统的高成本使这种系统变得无法负担。因此,需要一种提供高性能与每单位数据的低存储成本相结合的方法。
存储器分级存储管理(HSM)系统的方法之前被认为对于高性能、高要求的系统(例如RS-DVR)过于缓慢。分级存储具有位于存储介质(例如硬盘、可重写光盘、非易失性存储器等)第一层上的活动文件和位于较便宜和/或者存取较慢的存储介质(例如磁带、数字磁带、硬盘、光盘等)的第二存储层上的存档文件,因其节省成本、节约能源等受到较慢的数据应用的欢迎。虽然整个HSM系统常见的方案是使用硬盘介质用于第一存储层以及使用磁带介质用于第二存储层,但是可以使用任何类型的介质。在一些HSM系统中,随机存取存储器介质(例如硬盘介质)主要用于第一层,同时顺序存取存储器介质(例如磁带介质)主要用于第二层。然而,传统HSM系统存在若干缺点限制它们的采用,特别是在高性能系统(例如RS-DVR)中。
对RS-DVR应用使用标准HSM的一个问题是数据可能需要很快地从较低、较慢的层(例如磁带)移动至较高、较快的层(例如磁盘)。标准HSM操作导致了这些高性能环境有太多的延时。例如,当到了存取已移动至磁带的数据的时候,可能需要大约10秒来安装磁带盒,15秒来加载磁带以及95秒或者更长时间来定位数据的开始,所述数据的开始可能被定位在磁带最远的一端处。在一些实例中,可能遇到的最坏的情况是读取存取时间高达大约2分钟,这在高性能环境中(例如视频回放)是不可接受的。由于用户一般期望当选中节目并选择“播放”时,节目就开始便利地播放,因此对于服务提供者来说,存取节目的任何显著延迟都是不可接受的。结果是迄今为止标准HSM系统用于RS-DVR系统中被认为是过于缓慢的。
发明内容
根据一个实施例的存储系统包括:第一存储层;第二存储层;第一逻辑块,用于在所述第一存储层和所述第二存储层中存储文件实例;第二逻辑块,用于从一组用户中的用户接收存取文件或者其实例的请求;第三逻辑块,用于为请求存取文件的用户提供对第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;第四逻辑块,用于设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及第五逻辑块,用于将第二存储层上的未使用的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的第二用户未拥有或者拥有。
根据一个实施例的方法包括:从一组用户中的用户接收存取文件或者其实例的请求;为请求存取文件的用户提供对存储系统的第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及将第二存储层上的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的用户未拥有或者拥有。
根据一个实施例的用于管理存储系统的计算机程序产品包括具有利用该计算机可读存储介质具现的计算机可读程序代码。所述计算机可读程序代码包括:计算机可读程序代码,被配置为从一组用户中的用户接收存取文件或者其实例的请求;被配置为请求存取文件的用户提供对存储系统的第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及将第二存储层上的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的用户未拥有或者拥有。
根据一个实施例的存储系统包括:第一存储层;第二存储层;第二逻辑块,用于接收来自用户的存取文件或者其实例的请求,其中所述用户与第二存储层上的文件实例相关联;第十一逻辑块,用于确定第一存储层上的每个文件实例的使用状态,其中所述使用状态包括已使用和未使用;以及第三逻辑块,用于为请求存取文件的用户提供对第一存储层上的、使用状态为未使用的文件实例的远程存取。
根据另一个实施例的存储系统包括:第一存储层;第二存储层;第十一逻辑块,用于确定位于存储系统第一存储层上的每个文件实例的使用状态,其中所述使用状态包括已使用和未使用;第二逻辑块,用于接收来自用户存取文件或者其实例的请求,其中所述用户与位于第二存储层上的文件实例相关联;第十四逻辑块,用于在存储系统第一存储层上创建未使用的文件实例;以及第三逻辑块,用于为请求存取文件的用户提供对位于存储系统第一存储层上的文件或者其一部分的未使用实例的远程存取。
下面结合附图的详细描述使得本发明的其它方面和实施例变得显而易见,所述描述通过示例的方式阐述了本发明的原理。
附图简述
现在将参考附图,仅通过示例的方式描述本发明的实施例。
图1示出了根据一个实施例的网络体系结构。
图2示出了根据一个实施例的可以与图1的服务器和/或者客户端相关联的代表性硬件环境。
图3示出了根据一个实施例的存储系统。
图4示出了根据一个实施例的用于RS-DVR系统的冗余数据保护方案。
图5示出了根据一个实施例的HSM移动至包括数据和元数据的第二存储层。
图6示出了根据一个实施例的“数据较少”文件从第二存储层移动至第一存储层。
图7示出了根据一个实施例的方法的流程图。
具体实施方式
以下描述的目的是为了阐明本发明的一般性原理,而并非意在限制这里所要求的创造性概念。进一步地,这里所描述的特定特征可用于结合在多种可能的组合和变换中所描述的其它特征。
除非在这里做出特别定义,这里所给出的所有术语都是指它们最宽泛的可能的解释,包括应用于本说明书的含义,以及本领域技术人员所理解的含义,和/或者在词典、论文等中所定义的含义。
必须注意的是,如本说明书和所附权利要求书使用的单数形式“一个”(“a”,“an”)和“该”(“the”)包括复数含义,除非另外指明。
下面的描述公开了基于分级或者“分层”存储的系统和其在高性能、高度冗余数据系统中的用途以及操作和/或者其组成部件的若干优选实施例。
在一些HSM系统中,在物理磁带的使用在除存取时间外的所有方面都是可接受的情况下,通常存在高度数据冗余。这种冗余性通常非常适合于数据重复删除(deduplicate)存储,然而在一些环境中,不允许数据重复删除存储,例如,在录制的电视节目的特定实例可能仅与一个订户相关联的情况下。在那些环境中,如果可以克服实现可接受存取时间的问题,就有机会使用物理磁带达到实施和使用的最低成本点。
在一些实施例中,为了解决HSM系统的存取时间限制,提出了允许在某些高性能、高冗余环境(例如远程存储数字视频录像机)中使用物理磁带的一系列技术。下列这些系统的示意性特征是单独和/或者共同解决存取时间问题的新方法:(1)使用重复数据删除复制技术,但仅对于HSM移动的预迁移部分;(2)通过使用唯一标识符(例如唯一节目标识符(UPI))实现重复数据删除的复制,而不是通过计算加密散列以试图确定两个文件是相同的;(3)使文件系统实施唯一标示符的保护,如果文件数据被修改,那么所述保护将唯一标识符改为空值(或者使用标志识别它);(4)一次传输一个文件至中间媒介功能,例如LTFS(缩写,对某些人代表线性磁带文件系统,对其他人代表长期文件系统),然后执行该文件的多个传输至下一存储层;(5)将一个大文件分成多个片段以增加可以从一个存储层移动至较低性能存储层的数据量;(6)使用具有存储控制限制的指针来限制可以由给定用户访问的片段的部分;以及(7)执行通常通过在多个所有权列表中移动所有权来控制的HSM策略。
必须注意的是,在本说明书中不同实施例可单独地或者以任何组合方式执行前述技术和特征。
在一个普通实施例中,存储系统包括:第一存储层;第二存储层;第一逻辑块,用于在所述第一存储层和所述第二存储层中存储文件实例;第二逻辑块,用于从一组用户中的用户接收存取文件或者其实例的请求;第三逻辑块,用于为请求存取文件的用户提供对第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;第四逻辑块,用于设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及第五逻辑块,用于将第二存储层上的未使用的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的第二用户未拥有或者拥有。
在另一个普通实施例中,方法包括:从一组用户中的用户接收存取文件或者其实例的请求;为请求存取文件的用户提供对存储系统的第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及将第二存储层上的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的用户未拥有或者拥有。
在另一个普通实施例中,用于管理存储系统的计算机程序产品包括具有利用该计算机可读存储介质具现的计算机可读程序代码。所述计算机可读程序代码包括:计算机可读程序代码,被配置为从一组用户中的用户接收存取文件或者其实例的请求;被配置为请求存取文件的用户提供对存储系统的第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及将第二存储层上的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的用户未拥有或者拥有。
在另一个普通实施例中,存储系统包括:第一存储层;第二存储层;第二逻辑块,用于接收来自用户的存取文件或者其实例的请求,其中所述用户与第二存储层上的文件实例相关联;第十一逻辑块,用于确定第一存储层上的每个文件实例的使用状态,其中所述使用状态包括已使用和未使用;以及第三逻辑块,用于为请求存取文件的用户提供对第一存储层上的、使用状态为未使用的文件实例的远程存取。
在另一个普通实施例中,存储系统包括:第一存储层;第二存储层;第十一逻辑块,用于确定位于存储系统第一存储层上的每个文件实例的使用状态,其中所述使用状态包括已使用和未使用;第二逻辑块,用于接收来自用户存取文件或者其实例的请求,其中所述用户与位于第二存储层上的文件实例相关联;第十四逻辑块,用于在存储系统第一存储层上创建未使用的文件实例;以及第三逻辑块,用于为请求存取文件的用户提供对位于存储系统第一存储层上的文件或者其一部分的未使用实例的远程存取。
这里提供的描述使得任何本领域的技术人员可实施和使用本发明,并且这些描述是在本发明特定的应用环境极其需求下提供的。实施例的各种修改对于本领域的技术人员来说是显而易见的,在不偏离本发明的精神及范围的前提下,此处定义的一般原理可以应用于其他的实施例和应用。因此,本发明并不意图限制与所示的实施例,而是应当与符合此处公开的原理和特征的最宽范围一致。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了根据一个实施例的网络体系结构100。在该网络体系结构100的上下文中,网络104和106可以各自采用任何形式,包括但不限于LAN、WAN(例如因特网)、WLAN、PSTN、内部电话网络等。
进一步包括至少一个耦合至临近网络108的数据服务器114,该临近网络可经由网关101从远程网络102访问。应该注意到的是数据服务器114(一个或多个)可以包括任何类型的计算设备/群件。耦合至每个数据服务器114的是多个用户设备116。这种用户设备116可以包括机顶盒(STB)、数字视频录像机(DVR)、台式计算机、笔记本电脑、手持式计算机、打印机或者包括适当逻辑块的任何其它类型的设备。在一个实施例中,应该注意到的是如以上描述的用户设备111还可以直接或者无线耦合至任何网络。
外围设备120或者一系列外围设备120(例如传真机、打印机、网络化存储单元、HSM系统等)可以耦合至网络104、106、108中的一个或者多个。应该注意到的是数据库、服务器和/或者额外组件可以与耦合至网络104、106、108的任何类型的网络元件一起使用或者集成到耦合至网络104、106、108的任何类型的网络元件中。在本说明书的上下文中,网络元件可以适用于网络的任何组件。
图2示出了根据一个实施例的与图1的用户设备111、116和/或者服务器114相关联的典型硬件环境。这些图示出了工作站的典型硬件配置,所述工作站包括中央处理单元210(例如微处理器)和多个通过系统总线212相互连接的其它单元。其它设备111、116(例如STB或者DVR)可以包括相似的、更多的、更少的和/或者不同的组件和/或者特征。此外,用户设备可以包括观看设备(例如电视机)、个人计算机(PC)、笔记本电脑、iPod、iPad等。
图2示出的工作站包括随机存取存储器(RAM)214、只读存储器(ROM)216、用于连接外围设备(例如磁盘存储单元220)至总线212的I/O适配器218、用于连接键盘224、鼠标226、扬声器228、麦克风232和/或者其它用户接口设备(例如触摸屏和数码相机(未示出))至总线212的用户接口适配器222、用于连接工作站至通信网络235(例如,数据处理网络)的通信适配器(接口)234和用于连接总线212至显示设备238的显示适配器236。
工作站可以具有驻留其上的操作系统,例如MicrosoftWINDOWSOperatingSystem(OS)、MACOS、UNIXOS、LINUXOS等。应当理解的是,优选实施例还可以在除那些提及的之外的平台和操作系统上实现。优选的实施例可以使用JAVA、PERL、C和/或者C++语言,或者其它编程语言,以及面向对象编程方法进行编写。可以使用面向对象编程(OOP),其已经越来越多地用于开发复杂应用。XML编码可以用于某些结构。
如本领域的技术人员所能理解的那样,在如图1示出的实施例中用户设备111、116和/或者服务器114是磁带驱动器或者硬盘驱动器(如图2所示)的情况下,接口234还可以在驱动器和主机(整体或者外部)之间提供通信以发送和接收数据并且用于控制驱动器的操作以及传输驱动器的状态至主机。
例如输入/输出或者I/O设备(包括但不限于键盘、显示器、指点设备等)的通信组件可以直接或者通过中间的I/O控制器耦合至系统。
通信组件(例如总线、接口、网络适配器等)还可以耦合至系统以使得数据处理系统(例如主机)通过中间的专用或者公共网络耦合至其他数据处理系统或者远程打印机或者存储设备。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的网络适配器类型。
显然地,上述方法的各种特征可以以任何方式组合,进而从上面给出的描述中创建多个组合。
本领域的技术人员应当清楚,本发明的方法可以在逻辑装置中适当地实现,所述逻辑装置包括用以执行这里提出的方法的各个步骤的逻辑块,并且该逻辑块可以包括硬件组件和/或者固件组件。
还应当理解,本发明的实施例可以以为客户部署的服务的形式来提供,以便根据需要提供服务。
根据各种实施例,一个或者多个I/T技术可以应用于集中式存储器/服务器解决方案,例如提供更可靠磁盘存储系统的廉价磁盘冗余阵列(RAID)、实现较低成本(对于获取和操作)解决方案的HMS、重复数据删除存储和重复数据删除复制。
注意,这些I/T技术中的任何一个可以以多个新的并且非显而易见的方式实现。例如,RAID和/或者HSM是可以在RS-DVR存储解决方案中以本文所公开的方法实现的标准技术,所述RS-DVR存储解决方案可以在各种实施例中实现。可以在各种实施例中实现的另一项I/T技术是重复数据删除复制。
作为一个示例,设想七个订户创建给定节目的录像并且这些录像以集中式RS-DVR解决方案存储。首先,所有录像都被存储在存储系统第一存储层中的硬盘上,并且硬盘上的录像由RAID保护。在制作这些录像之后,当前没有被主动观看的录像的子集通过HSM移动移动至存储系统第二存储层上的较低成本解决方案(例如根据一个实施例,支持第一存储层存储的物理磁带介质)。位于第二存储层(例如磁带)上的数据还可以由跨越驱动器间的冗余来保护,例如廉价磁带冗余阵列(RAIT)。
现在参照附图3,示出了根据一个实施例的存储系统300。注意,根据各种实施例,图3所示元件中的一些可以被实现为硬件和/或者软件。存储系统300可以包括存储系统管理器312,用于与位于第一存储层302和第二存储层306上的多个介质进行通信。第一存储层302可以优选地包括一个或者多个随机存取介质304,例如硬盘驱动器中的硬盘、非易失性存储器(NVM)等,以及本文提到的其它类型。第二存储层306可以优选地包括一个或者多个顺序存取介质308,例如磁带驱动器中的磁带、光学介质等,以及本文提到的其它类型。存储系统管理器312可以通过网络310(存储区域网络)与位于第一和第二存储层302、306上的存储介质304、308进行通信,如图3中示出的。当然,通过阅读本说明书,本领域的技术人员将会清楚的是,可以使用存储系统中的任何布置。
存储系统300还包括:第一逻辑块,用于在第一存储层302和第二存储层306中存储数据;第二逻辑块,用于接收来自一组用户中的用户存取文件或者其实例的请求;第三逻辑块,用于为请求存取文件的用户提供对位于第一存储层302上的如下文件实例的远程存取,所述文件实例当前没有被用户组中的任何其他用户使用;第四逻辑块,用于设置位于第一存储层302上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及第五逻辑块,用于将设置位于第二存储层306上未使用的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有位于第一存储层302的文件实例的第二用户未拥有或者所拥有。
在一些方法中,文件及其实例可以包括来自任何源的广播的视频数据,例如电视广播、通过网络的广播(例如因特网广播)、来自按需服务的广播(例如视频点播)作为接收自内容提供商的数据,卫星广播或者通过阅读本说明书本领域技术人员将会理解的传送内容给用户的任何其它方法。为了帮助读者理解概念,本文大多数描述指的是电视广播。这仅是通过示例方式进行说明并且各种实施例可以结合任何类型的广播、广播类型的组合和/或者从中得到的数据进行操作。
在一种方法中,文件及其实例可以包括来自广播来自任何源的视频数据,例如电视广播、通过网络(例如因特网广播)的广播、来自按需服务的广播(例如视频点播),当数据接收自内容提供者、卫星广播或通过阅读本说明书本领域的技术人员将会明白的任何其他传送内容给用户的方法。为了帮助读者理解概念,本文大部分的描述针对电视广播。但是这仅是通过示例方式并且不同的实施例可以与不同类型的的广播、广播类型的组合和/或从中得到的数据结合工作。
在一种方法中,文件及其实例可以是计划由用户录制并且后来由RS-DVR(例如存储系统300)录制的节目的全部或部分。通过阅读本说明书本领域的技术人员将会明白,文件及其实例可以包括视频数据和/或音频数据,以及任何伴随的元数据。可以计划录制任何电视广播,例如由有线电视供应商、卫星电视供应商、因特网内容供应商、网络站点提供的那些。
根据各种实施例,用户可以包括:例如与特定账户相关联的订户;操作STB、本地DVR、计算机、移动设备等的人;设备(例如STB、本地DVR、计算机、能够计划电视广播录制的无线设备);或者能够计划或者参与计划RS-DVR上的录制或存取位于RS-DVR上的录制节目的任何其它设备、系统或者人,或者它们的组合(例如与特定订户相关联的多个机顶盒),正如本领域的技术人员通过阅读本说明书将会清楚的那样。
在一些优选的实施例中,如本文所述,第一存储层302可以包括至少一个随机存取存储介质304,以及第二存储层306可以包括至少一个顺序存取存储介质308。特别地,顺序存储介质可以是容纳于磁带盒中的磁带,正如本领域的技术人员通过阅读本说明书将会清楚的那样。
在另一个实施例中,存储系统300可以包括:第六逻辑块,用于将每个用户关联到唯一用户标识符并且将在第一索引中存储该关联;第七逻辑块,用于将存储系统300上的每个文件实例通过唯一用户标识符关联到唯一用户并且在第二索引中存储该关联,以及第八逻辑块,用于将存储系统300上的每个文件实例关联到与文件实例的使用相关的一个使用状态并且将在第三索引中存储该关联。虽然索引没有在图3中示出,但是其可以被存储在第一存储层302或者任何其它易于存取的存储介质中。在进一步的实施例中,第一索引、第二索引和第三索引可以是标记语言索引文件,例如XML文件、HTML文件等。
在另一个实施例中,存储系统300可以包括:第九逻辑块,用于通过从第一存储层302复制文件的第二实例到第一存储层302上的另一个位置而在第一存储层302上创建文件实例。在另一个方法中,如果第二用户已经将所请求文件的第二实例记录到第一存储层302,但是当前没有在存取第二实例,那么第二实例可以被提供给请求存取文件的用户,从而避免了需要在存储系统上生成另一个文件实例。在该实施例中,提供给用户的第一存储层302上的文件实例可以具有被设置为由用户拥有的所有权状态,通过向用户提供存取位于第一存储层302上的文件,之前具有由用户拥有的所有权状态的任何实例(例如在第二存储层306上)可以被设置为由第二用户所拥有。
根据另一个实施例,存储系统300可以包括第十逻辑块,用于通过从第一存储层302或者第二存储层306复制文件实例而在第一存储层302上创建(由用户请求的)文件实例。
在一个优选的实施例中,任何文件实例可以能够一次由不多于一个用户拥有。如本文所述,这防止或禁止了多个用户访问单个文件实例,并且还防止了与知识产权所有权相关的问题被忽略和/或侵犯。
在另一个实施例中,系统300可以包括第十一逻辑块,用于确定位于存储系统300的第一存储层302上每个文件实例的使用状态。使用状态可以包括:“已使用”,表示实例当前正在由用户组中的一个用户进行存取;以及“未使用”,表示实例当前没有被任何用户存取,在预定的时间周期内(例如1秒钟、10秒钟、1分钟、10分钟等)没有被用户组中的任何用户存取,没有与用户组中的任何用户相关联,是孤立的等。
在另一个实施例中,存储系统300还可以包括第十二逻辑块,用于将位于第一存储层302的第一未使用文件实例的所有权状态由文件第一未使用实例的先前用户转移至请求存取该文件的用户,以及第十三逻辑块,用于将位于第二存储层306的未使用文件实例的所有权状态由请求存取文件的用户转移至先前用户。例如,所有权状态在请求存取文件的用户和先前用户之间或者在可能具有实例所有权的任何其它实体之间交换。
在一个方法中,在从一个用户接收存取文件或其实例的请求时,可以通过从第二存储层复制具未有使用状态的文件实例到第一存储层302来创建位于第一存储层302上的第二未使用文件实例。
对于本说明书的剩余部分,可以将存储系统的第一存储层描述为磁盘(对应于基于磁盘的存储层),同时可以将存储系统的第二存储层描述为磁带(对应于基于磁带的存储层)。当然,其它存储介质可以用于任何一层,这仅仅是用于说明目的,并且绝不将此处提供的实施例的适应性限制到存储介质类型和/或特征集合的任何特定设备。
根据一个实施例,图4示出了在最高层处的RAIT。首先,创建录制节目(被称为节目X)的用户列表。在一个实施例中,用户列表作为数据结构存在于软件中,并且在图4中显示为列表Subs_List_X。该列表包括录制节目X的每个用户的两部分信息。首先,列表包括用户编号,其可以用于识别给定用户(第一个这种用户的用户编号在图4中表示为S1)。其次,列表包括指向作为文件的录像的给定存储实例的指针(指向第一个这种文件的指针在图4中表示为*FA)。用户编号和文件指针对对于录制节目X的每个用户都是存在的。因此Subs_List_X中每个用户编号都是唯一的并且代表不同的用户。另外,Subs_List_X中每个文件指针都是唯一的,意味着那些用户中的每一个″拥有″唯一的录像实例。在优选实施例中,可以提供这种功能而不需要内容提供商的任何额外许可。
图4还示出了文件可能存在两部分,文件中的数据,和与该文件相关联的元数据。通常文件系统以两部分维护文件:写入存储介质(例如磁盘、磁带等)的数据范围和保留在某种类型的文件索引表中的文件元数据,例如如下所述。通常还将索引表存储至存储介质,并且为了快速存取,其第二副本通常保留在服务器存储器中,例如RAM,Flash等。
现参照图5,假设只有六个用户录制节目,并且存储系统想要使用HSM将第五用户副本移动至磁带。在HSM移动之前,行B1和B2分别表示存储至磁盘和磁带的录像。HSM移动始于在两个单独步骤中将数据和相关文件元数据移动至磁带(这两个步骤原则上可以以任何顺序执行),其本质上执行HSM移动的预迁移复制部分。
行B3示出了在预迁移之后存储至磁带的录像。在步骤3中,RAIT-5奇偶校验被重新计算以包括新文件。在步骤4中,释放预迁移副本的源副本,从本质上使转移成为迁移。曾经的录像源副本不再与任何给定用户相关联,并且因此可以被重写或者可选地用作备份。一个实施例在文件元数据中存储用户编号,在这种情况下释放文件意味着改变文件元数据。如果这样,那么RAID-5奇偶校验可以被重新计算以反映对将那些录像存储至磁盘的文件作出的任何改变。但是由于实际上仅有元数据发生了变化,因此所需要的RAID-5计算更新很可能仅仅是将更新反映至文件索引。第二实施例跟踪所有权变化,其通过Subs_List_X进行跟踪,并且所述所有权变化是仅有的必须改变的数据结构。该数据结构可以在存储器和磁盘上保留,使得能够通过该结构计算RAID奇偶校验的快速随机存取性能更新。如果“已释放的”磁盘空间接着被重写,那么数据区域可能被改变并且跨越该区域的RAID奇偶校验被重新计算。对任何选择,除非该数据区域实际上通过擦除或者重写而被改变,否则可能不需要改变在该录像数据部分上计算的RAID。B4示出了迁移完成之后录像被存储至磁盘。
现参照图6,六个用户录制节目并且存储系统想要通过使用HSM将六个用户的副本从磁带移动至磁盘。行B1和B2分别表示在HSM移动之前存储至磁盘和磁带的录像。通常通过在两个步骤中将数据和相关文件元数据移动至磁盘来执行HSM移动的预迁移副本部分以开始HSM移动。这些操作分别由DATAF和DATAC之间的粗箭头和细箭头指示。注意,无论如何,数据和元数据的这些副本在绝对必要时仅涉及实际数据移动。如将在以下所描述的,重复数据删除复制技术首先评估当前转移的数据是否已经在目的地处。如果是,那就不需要转移它。在所述情况下,由于当第五用户的录像在磁盘上时,它表示该数据的相同副本,因此文件的数据部分实际上已经存在。但是,如图5所示,第五用户的录像被迁移至磁带并且磁盘上的副本已经被释放。因此磁盘上的数据被孤立(例如未使用),并且当前可用于采用(adoption)。由于与图6中步骤1的部分相同的、可能将要移动的数据已经在目的地处存在,因此将其转移至那里将是浪费的。注意,行B3示出了在预迁移之后存储至磁盘的录像。
在步骤3中,重新计算RAID-5奇偶校验以包括新文件。如果实现了第一选项(在文件元数据中跟踪用户编码),那么这可能仅仅是需要的,并且如果是,那么对跨越文件索引的RAID-5检验的改变可能是唯一所做的改变。如果实现了第二选项(仅在Subs_List_X中跟踪用户编码),那么就对存储器中和磁盘上的Subs_List_X数据结构进行更新。在步骤4中,释放了预迁移副本的源副本,本质上使得转变从预迁移变为迁移,因此该文件已经被移动(即该用户录像不存在两个副本,只有一个)。曾经的录像源副本不再与任何给定用户相关联,并且因此可以被重写或者被指定作为备用以便其可以接着被重新使用。注意,在源处相同的两个选项是可用的:更新文件元数据(并且如果是,那么更新文件索引和跨越它的任何奇偶校验)或者仅更新跟踪这些改变的列表。在一个实施例中,如图4所示,可以使用当前用于跟踪磁盘和磁带副本的单个Sub_List_X。或者,在另一个实施例中,可以保留两个单独列表,一个用于磁盘上的副本以及另一个用于磁带上的副本。注意,除非其实际上通过擦除或者重写而改变,不需要改变在该录像数据部分上计算的RAIT。B4示出了在迁移完成之后存储至磁带的录像。
再次参照图6,示出了“数据-较少”的文件从磁带移动至磁盘,其允许用户快速获得对所请求录像的存取。即,如所描述的情况,示出的两个可能的移动实际上都是没有必要的。只有跟踪哪个录像实例由哪个用户所拥有的数据结构被更新并且该更新发生在存储器中以及磁盘上,所述存储器和磁盘两者都允许非常快速的随机存取(例如不足一秒)。如果用户所有权由存储至磁带的文件元数据跟踪,那么磁带上的文件索引将必须被更新并且这将限制文件移动可以完成得多快-大概花费至少30秒钟。因此,当该文件所有权由数据结构(例如图4中的Subs_List_X)跟踪并且不用经过存储至磁带的文件元数据时,可以实现显著的优点。注意,可以应用相同或者相似的原则以提供从磁盘至磁带的“数据-较少”的文件移动。例如,如果在图5中行B2的第四个框中不是“<空>”,而存在着与相同节目录像相关联的“数据”(当前不是由给定用户“拥有”的),这意味着它已经被孤立,那么步骤1(数据的转移)可以被跳过,这改变了图5中描述的文件移动,从而它是“数据-较少”的转移。
本发明各种实施例的一个益处是他们可以将现有技术用于其实现的一部分。下面将介绍可以在一些实施例中实现的各种技术的简要描述。根据一些实施例,本文所引用的″数据″、″数据对象″等可以指代在RS-DVR系统中使用的文件及其部分或者文件的实例或者文件的一部分的实例。类似地,本文所使用的″实例″可以指代文件的实例、文件一部分的实例、文件加更多数据的实例等。因此,例如,实例可以是副本、复制、或者复制的文件、该文件本身、文件的迁移、存储在特定存储系统中或者使用特定的技术存储的文件等。在RS-DVR系统中,文件可以包括表示由电视广播、网络(例如因特网)源、点播服务等生成的电视或者其它节目内容的数据作为从数据提供商等接收的数据。
RAID技术由于性能和可靠性原因广泛使用于I/T产业。在RAID中,条带化是指在多个磁盘上同时写入(或者读取)一些数据实体以获得更高性能——本质上是当前条带化的单个磁盘的性能和。根据一个实施例,在系统中采用的RAID可以利用条带化和/或者本领域已知的任何其它RAID技术。
在RAID中,纠错是指实践,其中冗余(“奇偶校验”)数据被存储以允许检测问题以及可能的修复(称作纠错或者容错)。
在RAID中,镜像是指将相同数据写入两个硬盘驱动器(HDD)而不是一个,并且是冗余的最简单形式。镜像被用于在服务器中实现高可用性(HA)(例如,数据被写入两个磁盘,并且如果第一磁盘失败,就从第二磁盘读取)。
在一个实施例中,包括使用RAID-1镜像和RAID-5条带化的RAID配置,依靠冗余,任何一个失败磁盘的损失都是可以容许的。RAID-5最简单的形式是通过简单的XOR的计算,其如果应用到相同输入(数据)的奇数组将导致该相同数据的又一个副本。
HSM技术由于成本原因广泛使用于I/T产业。HSM以存储分级为基础,例如其具有由与每个层相关的存取和/或者成本分开的存储层。简言之,最快存储器(例如SRAM)是最昂贵的的。虽然次最快存储器(例如DRAM)比SRAM稍微便宜,但是比更快的光纤通道(FC)磁盘的性能高得多,但是比磁盘贵得多。反过来虽然FC磁盘比较低成本的磁盘(例如SATA)的性能高得多,但是也更贵。并且虽然SATA比磁带的性能高得多(从随机存取的角度),但是也贵得多。对一些数据来说,重要的是在非常高性能的硅存储器(如SRAM)中保留数据并且因此需要承受额外成本。但是对于大多数数据来说,没有合理的商业原因在昂贵的存储器上存储数据——例如,其相对很少被存取以及当其被存取时,一些读取存取的延迟是可接受的。例如,将数据存储在近线磁带上,也就是在自动磁带库(ATL)中,可能完全是足够的。对大多数客户来说,通常没有一个单个存储器层是足够的。但是,当只有他们数据的小子集真正需要高性能存储器时,将他们的数据都保留在非常高性能的存储器上成本过高。类似地,由于针对他们数据的某个子集从性能角度是不够的,因此将他们的数据都以较能负担得起的存储器解决方案保留也是不可接受的,这是因为所述方案对他们数据中的大多数有足够性能,但是不是对他们的所有数据。
因此可以在高性能存储方案和低成本存储方案之间进行折衷,让一些数据暂时保留在高性能高成本存储器上。但是在大多数应用中,保留在该高级存储器中的数据随时间发生改变。曾经必须保留在高性能存储器上的一些数据可能逐渐相对废弃直到将其移动至较低性能、较低成本存储器是当前可以容忍的并且有成本优势的。简单的事实就是它是最经济的用于实现仅提供他们数据的足够性能和存储的系统。因此,一般的实践技术指定最小化较贵、较高性能存储层的每一层处的数据量并且将其推送至较低成本、较低性能的存储层。因此,经济高效的存储方案可以广泛应用HSM技术。于是,各种实施例可以采用任何类型的HSM,包括那些本文已公开的。
根据一个实施例,为了非常快速的存取,可以使用高速缓存,其将数据存储至高性能(并且因此高成本)存储层。存在多种形式的高速缓存。首先,″流通″式高速缓存(例如先进先出(FIFO)缓存器)将最近接收到的数据写入缓存器,有效地重写缓存器中已被释放用于重写的最旧的数据。在这种情况下,高速缓存策略严格基于收到的时间,将最高优先级赋予最近收到的数据。也就是说,FIFO通常被管理以使得如果较旧的数据还没有被从FIFO的输出端读出那么它们不会丢失。一些形式的握手处理通常用于FIFO的输出以确保该输出数据在允许其被重写之前已在其目的地被接收到。一旦FIFO输出的接收被确认,该位置保持输出数据被释放并且可以被重写。根据FIFO是如何实现的,被释放的数据可能在一段时间内不能被重写。例如,如果作为循环缓存器被管理,由于写操作开始绕回并重写它,较旧的数据直到已经接收到足够的数据都不会被重写。FIFO的一个用途是异步(或者同步但独立选通)时钟域之间的速度匹配接口。
易失性高速缓存是没有断电保护的数据存储。换句话说,断电足够长的时间将会造成存储在易失性存储器中的数据丢失。非易失性高速缓存是受到断电保护的数据存储。换句话说,一旦存储在真正的非易失性存储器中,即使不确定的断电持续时间(例如一年或更长)也不会造成存储在非易失性存储器中的数据丢失。易失性和非易失性存储器的例子为本领域的技术人员所公知并且可以在一些实施例中采用。
在写操作期间,写入高速缓存被用作高性能临时存储位置,直到数据可以被写入下一层级的存储器。由于写入延迟,这通常是在直接写入下一层存储器的延迟不是最慢的时候完成的。写入高速缓存有时与FIFO的管理方式类似。最近流行的非易失性存储箱(无论是固态驱动器、磁盘驱动器(或阵列)或磁带驱动器)具有某种形式的写入高速缓存。在一些情况下,DRAM写入高速缓存的易失性由应用所识别。例如,当写入至磁带时,在一些方法中标准假定未进行任何写入至磁带驱动器实际上是直到驱动器被迫“同步”才非易失性地存储在磁带上,其意味着迫使写入至非易失性存储器。在其他情况下,就像当写入磁盘时,假设可以是相反的,就是当驱动器作出已成功写入数据的响应时,写入程序才假设它永久保存(例如非易失地)。也就是说,绝大多数高性能磁盘系统执行写入高速缓存到他们系统内部的易失性存储器(例如内部的磁盘驱动器或阵列组件),而不需要应用知道它(例如透明地)。这些磁盘系统可以利用这个方案,是因为他们已经基本上做出了使用易失性存储器(例如DRAM)的非易失性系统解决方案,但是另外还使用了其他技术(例如备用电池以允许在断电的情况下写入到闪存或转存到磁盘)。一些写入缓存基本上是“流通”式,但是一些设备允许在之前接收到数据很久之后或数据已经流出高速缓存之后选择一些数据保持“固定”在高速缓存中,并且在读操作期间可以访问。
当由于存取时间直接从下一存储层读取的延时不是最慢时,读取高速缓存被用作从下一较慢存储层读取的数据的高性能临时存储位置。大多数现代非易失性存储系统(例如磁驱动器(或者阵列),或者甚至磁带驱动器)都具有某些形式的读取高速缓存。应该注意的是,读取高速缓存在断电的情况下通常明确的是易失性的,任何数据存取基本上被引导为在现在假设为空的读取高速缓存之后的较慢存储器处开始,即使读取数据随后必须流过该读取高速缓存。在不同的系统中使用不同的读取高速缓存策略。数据块或者文件存储器的读取高速缓存的最基本形式是在读取高速缓存中保持尽可能多的最近存取过的数据。在那种情况下,某数据块(或者文件,取决于存储器的类型)上次(或者频率)被存取的时间的度量被保持,在这种情况下,当读取高速缓存中需要新的存储空间时、最近最少使用(或者可选择的最不频繁使用)的数据被释放并允许被覆盖。保持所有最近最常存取数据的该策略适合于读取高速缓存。
数据复制和移动包括将数据从一个存储层移动至另一个。有时有多个存储层。在一个实施例中,系统包括最高性能存储层,其可以包括DRAM(例如作为读取式高速缓存或者写入式高速缓存的一部分),次最高性能存储层可以包括FC磁盘,以及较低性能存储层可以包括SATA磁盘。有额外的层针对甚至更慢的存取介质,例如近线存储器(ATL中的磁带)。在一些方法中,可以在存储系统内部或者通过软件在存储系统外部执行HSM。
在一个实施例中,数据移动可能发生在两个不同阶段:预迁移和迁移。首先,在一个方法中,预迁移将数据复制到下一个存储层。当一组数据已经被预迁移时,其完整副本存在于初始源层和目标层处。预迁移数据已经被复制。其次,当初始源层处的副本被释放用于重写和/或者被重写时迁移发生,从而保持寄存在系统中的唯一副本是位于下一层次的性能存储器上的那个,也就是在一个方法中已经由预迁移创建的数据的目标副本。当完成数据迁移时,数据基本上已经被移动。
在优选实施例中,存储系统包括两个主要存储层。第一存储层包括随机存取介质磁盘存储,例如磁盘阵列,其可由RAID保护或者不是,只是磁盘簇(JBOD)或者不是等,其可以使用SATAHDD并且可以包括磁盘阵列级处和HDD中的高速缓存。第二存储层可以包括顺序存取介质(例如物理磁带驱动)并且可以在磁带驱动中利用流通式高速缓存。第二存储层可以另外包括磁带载体,例如TSM或者LTFS。
根据一个实施例,一旦已经将文件预迁移至目的地,跟踪哪个录像实例属于哪个用户的列表或者索引可以被更新以指向由预迁移创建的目标副本。此外,在一个方法中,原始用户不再“拥有”或者与源副本相关联。从原始用户的“所有权”观点来看,录像已经被移动。因此在一些方法中,先前的实例可以被释放用于(1)擦除,(2)重写(例如用新录像),或者(3)用于一些其他用户接管所有权。
通常对HSM来说,在将给定数据实体(例如文件)从已预迁移改为已迁移时,先前的文件实例(预迁移副本的源)被释放用于重写。这就是说,它可以被擦除,但是其占用实际存储系统带宽,并且这通常是没有必要的。另一个选择是在优选方法中允许某个其他用户获得它的所有权,例如,作为被执行以对其它用户的录像进行HSM预迁移的重复数据删除复制的一部分。
当一个人在标准磁盘文件系统(如NTFS)中删除文件时,主文件表(MFT)中的行被删除,其删去了与该文件相关的所有元数据,包括在磁盘上其它地方写入的数据的指针。数据本身不是被主动擦除或者重写的。相反,包括数据的扇区被返回至可用扇区池中,以便它们可以在将来有可能被重写(由新文件)。它将来是否被重写完全取决于将来是否使用该磁盘空间。它可能从未被重写。但是,可以在实施例中需要的位置采取主动重写数据。
可以在各种实施例中利用重复删除数据复制(即重复删除数据)作为执行复制的带宽有效方法。在一个方法中,复制是这样的过程:数据对象(可以是文件、LUN、卷、范围等)通过该过程被复制。针对源对象,给予复制函数某个句柄,并且还将其定向至需要对象副本的位置-即目的地。然后复制函数在目的地处复制对象源。重复数据删除复制做类似的事情,只不过可能有更少的带宽。相反,希望看到该对象内的任何数据是否已经存在于目的地端处。如果是,就不需要将所有数据转移至目的地。相反,只有目的地上对象的丢失部分(例如被重写)被转移至目的地,从而节省带宽。
尽管有多个实现方法,但是重复数据删除复制中的通用概念保持一致。根据一个实施例,重复数据删除复制包括在开始转移操作之前确定数据是否存在于远端处。根据一些方法,用于执行这种检查的方法包括:(1)基于哈希的,(2)基于特征的,和(3)基于文件的。还可以使用其它已知技术。
在一个实施例中,基于哈希的重复数据删除复制利用密码校验和指示匹配。长且强的密码校验和(例如SHA-256)提供非常强的单向功能,例如如果两个数据点相同,那么当被处理时,它们将产生相同的SHA-256计算结果。另一方面,如果当被处理时,两个数据点(一个在源处,一个在目的地处)导致相同的SHA-256计算结果,那么它们成为除精确匹配以外的任何匹配的可能性异常小以至于没有实际意义。有时,其它额外检查(例如检查数据为相同长度)还被用于提供额外置信度,即计算相同哈希的两个数据实际相等。
在另一个实施例中,基于特征的重复数据删除复制用滑动窗口分析数据特征并且确定匹配的可能性。在通过带宽密集的位进行位比较确认标识之后,这些系统仅可以找到匹配,这可能不是高性能系统所期望的。
在一个优选实施例中,希望修改该技术并且使得重复数据删除复制到远程站点以满足带宽限制并且避免两个站点之间的连接上的延迟。在该实施例中,可以以高精确度确定数据相同,但不是绝对的精确度。例如,可以源对象(例如文件)上计算非常强的校验和。该对象的重复数据删除复制可以接着继续进行,假设看起来非常可能(虽然不确定)成为匹配数据点的任何数据点实际上都是匹配数据点。一旦完整数据集占据目的地端,那么系统可以通过在远端处计算整个数据集的强校验和以检验假设。如果该计算结果与源端处的相同强校验和的计算结果匹配,那么这指示目的地端中的数据的成功的重复数据删除复制,与它存在于源端处一样。
在另一个实施例中,基于文件的重复数据删除复制寻找完整文件以匹配,并且没有试图找到匹配的数据子集。在基于文件的重复数据删除情况下,校验和或者哈希可以在整个文件上进行计算。基于文件的重复数据删除还可以检查任何两个可疑的匹配文件还具有完全相同的长度。可选择地,文件名称还可以被用作可能匹配的线索;但是,文件无需改变文件的数据内容就可以被重命名。这不仅对于文件名称是正确的,而且对于与文件相关的任何元数据也是成立的。例如,两个文件可能具有相同的数据内容(例如,涉及磁盘上存储的数据,它们由文件系统的索引表指示(例如DOS的FAT、NTFS的MFT、LTFS的索引,等))。然而,文件的大部分元数据(包括文件名称和大多数扩展属性,但不包括长度)可能是完全不同的,这意味着许多文件元数据不可以被用于指示匹配。
一旦由上述重复数据删除复制技术中的任何一种建立,数据与一个或者多个数据对象的关联就可以以若干方法完成。
根据一个实施例,关联包括通过为预先存在的数据创建第二指针来创建文件副本(即重复数据删除存储技术)。
在另一个实施例中,关联包括通过从目的地处的现有实例复制以创建另一个新实例来在目的地处创建数据的另一个新实例,这可以比从源复制具有性能优势,尤其是如果当在本地存储系统内复制时可以创建新实例时。
在优选的实施例中,在“备份”副本可用的系统中,关联包括在目的地处“采用”没有关联的或者“孤立的”数据,例如数据不被任何文件元数据指示(在第一选项中),或者数据不被Subs_List_X指示(在第二选项中)。当不需要数据复制/移动时,采用孤立数据可以更好地创建新的本地副本。只有新的元数据和指针必须被放置在适当位置,这节省了带宽和处理容量。
在一些实施例中(如在RS-DVR情况下),如上所述不需要从数学上计算数据标识。例如,可以生成唯一节目标识符(UPI),其可以与某些数据集合相关联。该UPI可以与该录像的任何实例一起保留——例如作为该文件的扩展属性。这提供了非常方便的方式用于发现可能具有不同名称的所述两个文件(或者在元数据的某个其它部分中不同)实际上确实包括相同数据,同时与计算哈希或者校验和或者执行位对位比较相比节省了计算资源并且减少了计算时间。
在另一个实施例中,UPI(扩展)属性由文件系统保护,从而在文件中数据的任何操作都将导致该UPI被设置为空值。也就是说,如果数据被改变,那么文件系统通过销毁UPI保存该UPI与给定数据组的关联。例如,这可以通过使用文件系统(例如在磁带情况下的LTFS)来完成。在另一个实施例中,UPI可以被设置为任何其它值以指示底层数据发生变化。
在若干实施例中,集中式RS-DVR存储方案中的重复数据删除复制可以使得数据非常快地预迁移等待HSM从一个存储层到另一个。在另一个实施例中,它还可以被用于将磁盘上的数据预迁移至磁带。或者它可以被用于将磁带上的数据预迁移至磁盘。对本领域技术人员来说,其它用途也是显而易见的。
根据一个实施例,预迁移只是HSM移动中的第一步骤。第二步骤是释放源层中的数据,在此之后数据迁移完成。当重复数据删除复制当前被执行为HSM的一部分时的实际结果从宏观上来看是,其导致移动数据而不是复制数据。虽然当前将瞬时复制作为预迁移的一部分,但是一旦源被释放,由于目的地具有该数据文件的单独的实例——因此它确实被移动了而不是被复制了。在使用“原子交换”的实例中(由于备份副本不可用而是可能的),将第一数据文件的所有权从第一用户转移至第二用户。因此,在这些实例中,没有实际的数据移动,只有从一个数据文件到另一个数据文件的所有权转移。该“原子交换”可以通过保持两个列表(一个具有其最初的所有权,以及另一个列表具有已交换的所有权)来实现,从而提供对所需数据文件的存取。在一个实施例中,为了执行“原子交换”,指针从指向第一列表处转换到指向第二列表处,从而提供所有权的瞬时交换。注意,还可以在创建预迁移副本之后使用“原子交换”技术以完成迁移,在所述情况下,在“原子交换”完成时,磁盘副本被丢弃(而不是被孤立,但是被彻底释放用于重写)。
在一个示例中,希望将不同用户Y的当前位于磁带上的录像迁移至磁盘。如果使用HSM,那么操作包括两个标准步骤。首先,通过重复数据删除将数据从磁带预迁移至磁盘。在这种情况下,重复数据删除复制程序确定实际上已经存在位于磁盘上相同录像的未关联或者“被孤立”的副本。系统通过从源转移元数据并且通过跟踪文件所有权以关联用户ID的结构将从源处的数据改变为目的地处的数据,从而将元数据与被孤立的数据相关联来完成“复制”。该变化本质上采用目标位置处的数据,以使得它不再被孤立——并且因此不再可用于进一步的分配或者重写。其次,通过释放磁带上的源副本完成到磁盘的迁移。
释放磁带上的副本本质上“孤立了”该数据。这种孤立可以以若干方式发生。在第一示例中,虽然可以通过从存储至磁带的索引移除文件来删除文件,但是这可能需要30秒钟或者更长时间。另一个实施例是让所有权由一个或者多个外部数据结构跟踪。在该情况下,文件可以被非常快速地释放(在少于一秒钟之内)。在一个方法中,可以创建另一个索引,例如称为Orphan_List_X,其跟踪被释放的录像X。在该情况下,磁带上副本的释放涉及从Subs_List_X移除条目以及在Orphan_List_X中添加条目。可以非常快速地完成步骤1和2(例如在少于一秒钟内)是这种技术的好处。
在一个实施例中,重复数据删除复制被执行作为预迁移的一部分,数据的被孤立副本可以用作重复数据删除复制的一部分。同时,在优选实施例中,可以启用副本的开放和系统的用途。
例如,如果12个HDD包括系统并且RAID-5为RAID提供至少1/11=9%的开销,那么在一个10000个用户录制给定节目的实例中,RAID-5将需要9%x10000个或者900个HDD用作数据保护。本发明的一个实施例可以通过将10020个数据副本存储至磁盘的系统(每个录制它的用户一个副本以及20个备份)实现大约等效的保护。此外,备份可用于重新分配以替代保存用户录制的10000个HDD中的任何一个。这种优选实施例可以产生0.2%的开销而不是8%,从而将冗余的开销减少了40倍。
在一个实施例中,可以通过使用重复数据删除复制和只更新磁盘上的数据结构将文件从磁带非常快速地移至磁盘。这依靠查找磁盘上数据的孤立副本,即已经被释放并且可用于重写的数据。但是,在另一个实施例中,将孤立的数据分配给该录像的备用副本或者彻底释放孤立数据用于重写将允许更多的系统使用。在一个方法中,当预迁移的目的地作为“数据-较少”文件移动时,备份池被管理降低至适当大小以供在替代位于已经失败的HDD上的录像时使用。更开放地处理备份副本是更简单、更清洁、更有效并且不容易出错的。
用于在磁带和磁盘之间迁移数据的任何方法可以与本文所述实施例一起使用。在一个使用IBM的TSM的实施例中,iDataplex数据可以被发送至TSM的API(备份,存档或者HSM)中的一个,其中优选TSMHSMAPI。
TSM的可选择实施例可以使用长期文件系统(LTFS),这是用于磁带的真实文件系统。LTFS提供标准POSIX接口(例如fopen,fclose,fseek,fsync等),大多数任何应用可以写入,因此将iDataplex接口至它是简单的。可以创建与某个节目的录像相关联的UPI。此外,可以跟踪与该录像给定实例相关联的某个序数(例如实例编号)。可选择地,替代实例编号,可以跟踪文件指针或者存储实例的位置。可以通过外部表(例如图4中示出的类型)管理用户标识符和录像唯一的实例标识符之间的所有关联。如果位置是实例编号,则正如图4所示。如果跟踪某个顺序实例编号,那么除了图4所述的对(用户ID和文件指针)外,可以有与每个录像相关联的第三字段。此外,该信息可以被认为是与给定录像和给定用户的配对相关联的阵列,其可以有一个或者多个额外字段。由于具有针对每个录像的阵列的表被保持远离磁带本身,所以当录像被从磁盘HSM至磁带(或者反之亦然)时,其可以被电子更新以反映与“数据-较少”文件转移相关联的所有权改变。如果是,那么可以完成“数据-较少”HSM移动至磁带(或者从磁带移动),而无需实际安装或者更新任何磁带盒。
在一个实施例中,仅在节目开始由提供商(例如有线电视提供商或者卫星电视提供商)播放之前,评估由选择录制它(R)的用户数量组成,用为0的R指示没有录制录像。此外,还记录了每个用户的唯一标识(例如在Subs_List_X中)。
一个特定的实施例使用一些数量的足够备用(S)用于确保所有R用户将能够观看他们录制的节目,即使在S磁盘失败的情况下。
一旦录像实际上是完成的,那么系统的该实施例在磁盘上具有R+S个录像副本,可以合理地从谨慎的观点期待这足够满足最大数量的同时观看,也就是,甚至考虑了大于正常的一组同时观看者和失败。这是可以由考虑随时间真正的RS-DVR观看统计数字以及基于过去的插值有效方案来确定的。
当监控那些列表中的每一个中的项目数时,许多HSM流的控制可以通过在列表之间移动文件来进行。想象不是一个Subs_List_X,5个列表正在当前跟踪该信息,一个用于每个主要使用:(1)Disk_Viewing_X,其跟踪磁盘上的当前由用户存取的录像;(2)Disk_Owned_X,其跟踪磁盘上由用户拥有,但是当前没有被存取的录像;(3)Disk_Spare_X,如果保存用户拥有节目X的录像的HDD故障,其跟踪磁盘上可以被使用的冗余副本;(4)Tape_Owned_X,其跟踪磁带上由用户拥有的录像;以及(5)Tape_Spare_X,如果保存用户拥有录像的磁带故障,其跟踪磁带上可以被使用的冗余副本。
在录制之前,假设在Disk_Owned_X中为每个用户创建了一个信息阵列(该阵列可以是上面提到的用户录像对或者每个录像其可以包括超过2条信息),并且它具有针对打开文件的指针用于为用户录制节目X。注意,在一个实施例中,当它仍然在录制中时,如果用户选择开始观看他的录像,则将与该用户和录像相关的信息阵列从Disk_Owned_X移至Disk_Viewing_X列表。
类似地,在另一个实施例中,为与用户拥有的录像并行的冗余在磁盘上创建的每个备份存在一个阵列。
录制之后,HSM控制可以在Disk_Active_X中看到所有完成的录像作为闲置录像,这表示成本节省的机会,因此HSM移动可以开始将这些移至磁带,从而为它们中的每一个创建预迁移副本。通常,虽然可以有最大数量的可以被执行的同时HSM移动并且因此可能不是所有Disk_Active_X录像都可以被同时HSM,但是作为替代可以随时间分批操作。
在一个方法中,一旦在磁带上存在完整的预迁移副本,便可以迅速地完成迁移。从Disk_Active_X将与该用户在磁盘上录像相关的条目移动至Disk_Spare_X。并且在Tape_Owned_X中为该用户在磁带上的录像创建条目。当完成这些步骤时,该用户的录像从磁盘到磁带的移动已经完成。只要Disk_Active_X中有额外条目要被移动至磁带,HSM移动就继续。
在一个方法中,在该过程的任何时候,当前观看录像的用户可以中止观看(例如按下停止按钮以及从该录像的播放菜单退出)并且在那时可以将与该用户的录像相关的阵列从Disk_Viewing_X移动至Disk_Active_X并且变成至磁带的HSM移动的候选者。
在该过程的任何时候,当前没有在观看所保存录像的用户可以选择开始观看录像。这可以以很多方式发生。以下根据录像所在位置描述了两个示例性方式。
在第一实施例中,如果与所保存录像相关联的阵列在Disk_Active_X中,那么将它移动至Disk_Viewing_X,从而允许回放。
在第二实施例中,如果与录像相关联的阵列在Tape_Active_X中,那么首先将它从磁盘移动至磁带。如前所述,这通过“数据-较少”文件移动来实现。在Disk_Spare_X中的任何元素可以被看作节目X的被孤立录像,所述录像可以被采用。一旦确定该孤立录像,它将从Disk_Spare_X移除并且替代地变成该用户位于磁盘上的录像的预迁移副本。然后通过将与该用户在磁带上的录像关联的条目从Tape_Active_X移动至Tape_Spare_X来完成迁移。此外,在Disk_Viewing_X中为该用户在磁盘上的录像创建条目。根据一个方法,当完成这些步骤时(并且在存储器中数据结构的所有该操作可以在少于一秒内发生),该用户的录像从磁盘到磁带的移动已经完成。
在该过程中的任何时候,拥有录像的用户可以选择删除该录像。被删除的录像变成备用,并且如果该录像在Disk_Viewing_X或者Disk_Active_X中,就将它移动至Disk_Spare_X。如果该录像在Tape_Active_X中,就将它移动至Tape_Spare_X。
在上述所有步骤中,虽然录像的数量或者增长或者保持,但是从未减少。然而,HSM移动的一个目的是降低存储成本,这意味着在某种情况下磁盘上录像的数量应当被减少或者不再进一步增长。在一个实施例中,HSM过程监控磁盘上录像的总数(即在三个列表Disk_Viewing_X、Disk_Active_X和Disk_Spare_X中的总数)。此外,它评估磁盘上录像的总数以有效地为需要存取的所有用户提供存取。这里可以有下限,例如与Disk_Viewing_X相关联的所有录像必须保留在磁盘上。除了为观看目的要保留在磁盘上的数目以外,一些数量的录像可以被保留在磁盘上作为备用以替代故障磁盘上的任何录像。为了确保没有用户请求利用到磁带上必须被移动至磁盘的录像,可以周期性地或者不断地确定该备用值。
上限是已经保留录像(即还没有删除录像)的用户总数。对大量的给定节目X的保留录像来说,看起来异常不可能的可能性是该限制将会被靠近。相反,用户查看历史可能显示仅仅小部分数量的用户录像可以被保留在磁盘上,并且这可以潜在地满足所有同时观看者,观看者可以合理地期望高几率地看到。除了为了观看而保存在磁盘上的谨慎数量的录像(甚至考虑到将来的增加)以及被用于保护磁盘上的那些录像中的一个不受损失或者毁坏的备用的数量,磁盘上所有其它录像可以被移动至磁带并且在磁盘上真正释放。习惯上,当它们被彻底放入可用范围列表用于重写时,这些录像将在磁盘上被真正释放。在那时,它们将不再作为可以被采用的孤立录像被跟踪,相反地只是可用的磁盘空间。也就是说,如果必要的话(例如,如果观看者的增加超过Disk_Active_X和Disk_Spare_X中提供的允许的可能性),可以跟踪被释放但是还未被使用的录像用于可能的采用。
这些概念由以下表1中的示例示出。注意,到时间T20时,这里有四十个已经保留录像的用户(即没有删除它),但是这四十个中仅有七个被确定要被保留在磁盘上。其他33个在磁带上。注意,已经在磁盘上创建的96个录像最初已经被释放用于重写。类似地,释放了磁带上的副本中的17个。在磁带的情况下,虽然该空白空间陷入串行写入流内,但是当磁带盒的仍有效的内容被重写到另一个磁带并且原始磁带盒接着被释放用于完全的重写(被称为被放入备件组池中)时,其可以在未来某个时刻被回收。
可能增加的磁带存储的一方面是当数据变得无效时,需要回收丢失的空间——被称为回收处理。例如,由于60%的数据过期或者不被需要,因此原来装满有效数据的磁带可能再未来某时刻只包括40%的有效数据。在一个实施例中,备用可以针对特定磁带盒上的副本。在另一个实施例中,任何有效录像都可以从要被清空的给定磁带盒移动至另一个要被保留的磁带盒。因此如果磁带盒C仅有七个剩余有效录像(不在备用列表中),例如每个在50GB,并且磁带盒D有九个孤立的录像,则磁带盒C上的七个有效录像可以通过“数据-较少”转移移动至磁带盒D。由于这样已经清空了磁带盒C,因此它可以变成“备用”磁带盒并且可以从该磁带盒的开始被有效地重写。
如上所述,一些节目的相同录像的HSM移动至磁带可以通过第一个这种录像(文件)的标准转移并且接着通过“数据-较少”移动转移该录像的所有随后副本来完成。但是磁带驱动器可以有有限的缓冲存储和有限的智能。因此尽管可以想象到,磁带驱动器在一些情况下可以被用作某个“数据-较少”转移的目标(例如制造写入功能可以为相对少量的数据实现的一种特殊情况),但是它不能够处理一般情况(例如超过磁带驱动器缓存大小的非常大的文件)。在可选择的实施例中,利用LTFS作为HSM的引擎,可以通过上述“数据-较少”文件转移方法将该相同文件的下一个副本从iDataplex转移至LTFS。在又一个实施例中,LTFS一次可以接收一个文件(录像),还将该文件写入磁带预定数量的次数。注意,在某些环境下,这可能造成潜在的问题;然而,在一些情况下,“原子交换”方法的使用可以解决该问题。也就是说,如果在磁带上制作N个副本,但是起初这N个副本中没有一个被拥有,那么它们仅仅是预迁移副本。接着,利用前述“原子交换”技术,存在一个时间点,超过该时间点时拥有了磁带上所有这N个副本。此外,磁盘上的N个副本被丢弃(不是被孤立,但是被彻底释放以用于被重写)。因此,利用LTFS作为媒介的实施例能够显著地减少iDataplex需要提供以允许HSM移动的带宽。
现今使用的LTFS的一个上层接口是POSIX。在一个实施例中,被修改的POSIX可以通过扩展上层POSIX接口来允许应用进行“数据-较少”文件转移,以便除一个或者两个使得“数据-较少”文件副本能够被创建的扩展命令之外,它还支持所有标准POSIX命令。例如,如果除了标准POSIX命令(例如fopen,fclose,fseek等),如果LTFS还支持新的fclone命令以创建文件的另一个副本(例如可能为先前的文件,或者可能通过提供文件指针指向该先前文件),那么POSIXAPI可能已经充分地被扩展足以允许多个同时的文件转移。
在另一个实施例中,录像没有被存储为一个大文件,而是被存储为较短长度的文件的链接集。作为示例,该较短的文件可以具有长度为10分钟或者任何其它长度的视频。在该示例中,30分钟的录像是一组3个这种10分钟文件链接在一起。同样,3小时的录像是一组18个这样的10分钟文件链接在一起。注意,一旦节目的最初两个10分钟片段已经被存取和遍历,那么观看者显然当前正在观看第三片段,该观看者不需要再观看第一片段而在稍后删除该第一片段的可能性非常高。
由于这个倾向,一旦足够数量的用户已经观看它并且当前正在观看第三个10分钟片段,对录像的前10分钟磁带进行的HSM就可以积极地开始了。这假设有足够带宽来做到——但是这可以基本上通过循环当前正在存储备用片段的驱动器的分配来促进。如果当前正将第三片段存储至与第一片段不同的HDD,那么当前被用于存储第一片段的HDD可能是可用的——从而有足够的带宽,因此它们可以参与HSM迁移。
这可能允许对磁带进行更多的HSM,并且因此依靠磁盘上甚至更少的数据,这进一步帮助降低成本。例如,可以想象到的是,由于这里可能有一阵接近100个观看者同时重放至少该节目的一部分,因此如果整个录像当前被保留,然后可能有100个完整的录像被保留在磁盘上。但是至少对一个长的节目(例如2小时)来说,所有100个同时开始的机会(例如在10分钟内)不会太大。因此,系统可能能够在磁盘上存储每个片段的仅六个副本作为替代。
注意,在录制长的例外的编制过程中(例如较早开始、较晚结束等的录像),当不包括片段时,那么整个专用录像非常可能是唯一操作。然而,假设“正常”2小时的节目被录制为片段B、C、D、E、F和G。提早开始该录像5分钟产生部分片段,这里被称为A’,其对这一个用户可能是唯一的。类似地,更久地录制该节目产生部分片段,这里被称为H’,其对这一个用户可能是唯一的。由于A’和H’可以被该唯一用户单独处理,当将所有其它片段(B到G)与执行标准长度录像的用户保持共享时,其允许将大多数录像作为较大录像池的一部分来对待,其允许“数据-较少”片段文件移动(例如作为HSM的部分)。
相反对录制短的例外(例如较晚开始、较早结束的录像等)来说,可以存在相同的问题。在这种情况下,第一片段和最后片段对给出B’和G’来说可以是不规则的。
可选择地存储特定长度片段(例如在上述两个示例中的A’、B’、G’或者H’)是简单地存储整个10分钟片段(即A、B、G和H)还有指示给定用户可以观看相关片段位置的指针。例如,如果每个片段具有相关的开始指针,那么在A’和B’情况下,开始指针可以是非零的,用于指示该片段的一些数量的最初分钟必须被透明地跳过,从而对该用户来说,它们甚至不在那里。假设每个片段还具有相关的停止指针。在G’和H’的情况下,在10分钟片段结束之前,停止指针将被指向某处以指示该片段的一些数量的最后分钟将要透明地被跳过,从而对该用户来说它们甚至不在那里。在一个方法中,使用开始指针和停止指针可以允许所有录像包括一些整数数量的链接的等长录制片段。如果从系统观点来看这证明是较优的,那么所有片段可以恰好是10分钟长度(每上述示例)或者一些其它长度(例如1秒钟、1分钟、5分钟、30秒钟等)。
虽然今天的磁带驱动器提供最低成本形式的企业级存储,但是挑战仍然存在。最大的一个挑战是存取时间。如果磁带当前没有被安装,磁带上文件的随机存取可能需要1至2分钟或者更多时间(例如5-10秒安装、15秒加载/线程以及长达90秒寻找文件的开始位置),并且用户可能不会愿意等待2分钟才开始回放录像。而且,各代磁带之间的磁带数据速率的增长有时低于各代磁带之间容量的增长(例如LTO-4对LTO-3,或者LTO-5对LTO-4),这增加了磁带盒的填充时间。
虽然存储设备容量的持续的接近几何级的增长将需要驱动器数据速率的相应增长以保持填充时间恒定,但是增长的数据速率有时会不可接受地增加了驱动器成本。但是,如果当实现RS-DVR存储解决方案时可以沿着上面讨论的所有思路实现,这将导致“数据-较少”文件由磁带转移至磁盘,那么这允许磁带所有的主要问题被克服,以及使得最低成本形式的存储可以使用。无论填充时间还是存取时间都不是问题,两者都被作为后台进程的一部分被透明处理。
根据各种实施例使用本文所述的技术,可以构建基本上较低成本的RS-DVR解决方案,其在磁带上存储大部分的用户录像,已经达到了可接受的性能。
现参照图7,根据一个实施例示出了方法700。根据各种实施例,方法700可以在任何所需环境中实施,包括但不限于在图1-6示出的那些。当然,如本领域的技术人员通过阅读本说明书可以理解的,方法700可以包括与下面描述的那些相比或多或少的操作,并且在图7中示出。
在一个优选实施例中,图7中的操作可以由存储系统管理器实施,其可以包括用于执行以下方法步骤的逻辑块。
在操作702中,从用户组中的用户接收存取文件或者其实例的请求。如前所述,用户可以是任何类型的系统、设备等。如通过阅读本说明书本领域的技术人员将要理解的,人类用户还可以在用户的家里通过DVR、STB等或者通过任何其它设备输入该请求。此外,由于大多数内容提供商和服务提供商(例如有线电视提供商、卫星电视提供商等)仅提供服务给订户,因此用户组可以是针对特定服务的所有订户,或已经为特定频道、广播、体育活动等付费的一组用户等。当然,通过阅读本说明书用户的其他组或子组对本领域的技术人员来说将是显而易见的。
在一些方法中,用户可以与第二存储层上的文件实例相关联。在一些方法中该文件实例可能是未使用的。
在操作704中,为请求存取文件的用户提供对存储系统第一存储层上的当前没有被用户组中的任何其他用户使用的文件实例的远程存取。例如,在提供给用户之前,文件实例可以与用户组中的不同用户相关联,或者可以是没有与用户组中的任何用户相关联的瞬时备用实例。瞬时备用实例可以是曾经与用户相关联的实例,所述用户在某些情况下删除了该实例,这解除了该文件实例与用户的关联,但是还没有从存储系统重写实例。
在一个实施例中,文件的每个实例可以有与其相关联的使用状态,包括:已使用,表示实例当前正在由用户组中的一个用户进行存取;以及未使用,表示实例当前没有被用户组中的任何用户存取,例如在预定的时间段内。预定的时间段可以是本领域的技术人员所公知的任意时间值,例如1秒钟、10秒钟、30秒钟、1分钟、10分钟、1小时、1天等。
在操作706中,第一存储层上的文件实例的所有权状态被设置为由请求存取文件的用户所有。如前所述,所有权状态跟踪哪个用户具有存取存储系统上文件实例的权限,从而通过仅为一个用户提供存取一个文件实例来确保底层文件的知识产权得到保护。
在操作708中,第二存储层上的文件实例的所有权状态从由请求存取文件的用户拥有被设置为由先前拥有第一存储层上文件实例的用户未拥有或者拥有。例如,由于文件的任何实例能够每次由不超过一个用户拥有,因此当向用户提供对第一层上文件实例的存取时,可能先前与用户相关联的任何实例与用户解除关联,从而确保用户与实例一对一的关系。如果第一层上的文件实例不与任何用户相关联,那么第二存储层上的文件实例的所有权状态可以设置为未被拥有,以表明实例没有与任何用户相关联。
在更多的方法中,方法700可以包括将存储系统第一层上的第一未使用文件实例的所有权状态由第一未使用文件实例的先前用户转换到请求存取文件的用户,并且将存储系统第二层上未使用文件实例的所有权状态由请求存取文件的用户转换到先前用户。所有权状态可以包括:被拥有,其表示实例与用户组中的一个用户相关联,以及未被拥有,其表示实例未与用户组中的任何用户相关联。
在一个实施例中,可以确定存储系统第一层上的每个文件实例的使用状态。如本领域的技术人员在阅读本说明书之后将要明白的,使用状态可以包括:已使用和未使用,或者状态指示的任何其它组合。
在另一个方法中,方法700可以包括将用户组中的每个用户与唯一用户标识符相关联并且将该关联存储在第一索引中,将存储系统上的每个文件实例通过唯一用户标识符与用户组中的唯一用户相关联,并且将该关联存储在第二索引中,以及将存储系统上的每个文件实例关联到与文件实例的使用相关的一个使用状态并且将该关联存储在第三索引中。在进一步的实施例中,第一索引、第二索引和第三索引可以是标记语言索引文件。
如前所述,文件及其实例可以包括来自电视广播的视频数据。
在另一个实施例中,在从一个用户接收到存取文件或其实例的请求时,可以通过从存储系统第二层将使用状态为未使用的文件实例复制到存储系统的第一层,以创建存储系统第一层上的第二未使用文件实例。
根据另一个方法,存储系统的第一存储层可以包括至少一个随机存取存储介质,例如磁盘介质。此外,存储系统的第二存储层可以包括至少一个顺序存取存储介质,例如磁带介质。
在另一个实施例中,上述方法700可以在计算机程序产品中实现用于管理存储系统。例如,计算机程序产品可以包括具有随其实现的计算机可读程序代码的计算机可读存储介质,计算机可读程序代码包括:计算机可读程序代码,被配置为接收来自一组用户中的用户存取文件或者其实例的请求;计算机可读程序代码,被配置成为请求存取文件的用户提供远程存取存储系统第一存储层上的文件实例,所述文件实例当前没有被用户组中的任何其他用户使用;计算机可读程序代码,被配置为设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及计算机可读程序代码,被配置为设置位于第二存储层未使用文件实例的所有权状态从由请求存取文件的用户所拥有变为由先前拥有第一存储层上的文件实例的用户未拥有或者所拥有。任何文件实例可以能够同时被不超过一个用户所拥有。
就像本领域的技术人员在阅读本说明书后所明白的,计算机程序产品也可以包括上述任何实施例。
尽管上面描述了各种实施例,应当理解,它们仅仅作为示例以示例的方式呈现,而不是限制。因此,本发明的范围不应受上述示例性实施例的限制,其范围应根据所附权利要求及其等同特征来确定。

Claims (19)

1.一种存储系统,包括:
第一存储层;
第二存储层;
第一逻辑块,用于在所述第一存储层和所述第二存储层中存储文件实例;
第二逻辑块,用于从一组用户中的用户接收存取文件或者其实例的请求;
第三逻辑块,用于为请求存取文件的用户提供对第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;
第四逻辑块,用于设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及
第五逻辑块,用于将第二存储层上的未使用的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的第二用户未拥有或者拥有。
2.根据权利要求1所述的存储系统,其中所述文件及其实例包括来自广播的视频数据。
3.根据权利要求1所述的存储系统,其中第一存储层包括至少一个随机存取存储介质,以及其中第二存储层包括至少一个顺序存取存储介质。
4.根据权利要求3所述的存储系统,其中所述至少一个顺序存取存储介质是磁带介质。
5.根据权利要求1所述的存储系统,进一步包括:
第六逻辑块,用于将用户组中的每个用户与唯一用户标识符相关联并且在第一索引中存储该关联;
第七逻辑块,用于将存储系统上的每个文件实例通过所述唯一用户标识符与用户组中的唯一用户相关联并且在第二索引中存储该关联;以及
第八逻辑块,用于将存储系统上的每个文件实例关联到与文件实例的使用相关的一个使用状态并且在第三索引中存储该关联。
6.根据权利要求5所述的存储系统,其中第一索引、第二索引和第三索引是标记语言索引文件。
7.根据权利要求1所述的存储系统,进一步包括:第九逻辑块,用于通过从第一存储层复制文件的第二实例以在第一存储层上创建文件实例。
8.根据权利要求1所述的存储系统,进一步包括:第十逻辑块,用于通过从第二存储层复制文件实例到第一存储层以在第一存储层上创建文件实例。
9.根据权利要求1所述的存储系统,其中任何文件实例每次能够被不超过一个用户所拥有。
10.一种存储系统使用的方法,包括:
从一组用户中的用户接收存取文件或者其实例的请求;
为请求存取文件的用户提供对所述存储系统的第一存储层上的、当前没有被用户组中的任何其他用户使用的文件实例的远程存取;
设置第一存储层上的文件实例的所有权状态为由请求存取文件的用户所拥有;以及
将第二存储层上的文件实例的所有权状态从由请求存取文件的用户所拥有设置为由先前拥有第一存储层上的文件实例的用户未拥有或者拥有。
11.根据权利要求10所述的方法,进一步包括:
将用户组中的每个用户与唯一用户标识符相关联并且在第一索引中存储该关联;
将存储系统上的每个文件实例通过所述唯一用户标识符与用户组中的唯一用户相关联并且在第二索引中存储该关联;以及
将存储系统上的每个文件实例关联到与文件实例的使用相关的一个使用状态并且在第三索引中存储该关联。
12.根据权利要求10所述的方法,其中所述文件及其实例包括来自广播的视频数据。
13.根据权利要求10所述的方法,其中第一存储层包括至少一个随机存取存储介质,以及其中第二存储层包括至少一个顺序存取存储介质。
14.一种存储系统,包括:
第一存储层;
第二存储层;
第二逻辑块,用于接收来自用户的存取文件或者其实例的请求,其中所述用户与第二存储层上的文件实例相关联;
第十一逻辑块,用于确定第一存储层上的每个文件实例的使用状态,其中所述使用状态包括已使用和未使用;以及
第三逻辑块,用于为请求存取文件的用户提供对第一存储层上的、使用状态为未使用的文件实例的远程存取。
15.根据权利要求14所述的存储系统,进一步包括:
第十二逻辑块,用于将第一存储层上的未使用的文件实例的所有权状态从由该未使用的文件实例的先前用户所拥有变化为由请求存取文件的用户所拥有;以及
第十三逻辑块,用于将第二存储层上的文件实例的所有权状态从由请求存取文件的用户所拥有变化为由所述先前用户所拥有,
其中任何文件实例每次能够被不超过一个用户所拥有。
16.根据权利要求14所述的存储系统,进一步包括:
第四逻辑块,用于将第一存储层上的未使用的文件实例的所有权状态设置为由请求存取文件的用户所拥有;以及
第五逻辑块,用于将第二存储层上的文件实例的所有权状态从请求存取文件的用户所拥有设置为未被拥有,
其中任何文件实例每次能够被不超过一个用户所拥有。
17.根据权利要求14所述的存储系统,进一步包括:
第六逻辑块,用于将用户组中的每个用户与唯一用户标识符相关联并且在第一索引中存储该关联;
第七逻辑块,用于将存储系统上的每个文件实例通过所述唯一用户标识符与用户组中的唯一用户相关联并且在第二索引中存储该关联;以及
第八逻辑块,用于将存储系统上的每个文件实例关联到与文件实例的使用相关的一个使用状态并且在第三索引中存储该关联。
18.根据权利要求14所述的存储系统,其中所述文件及其实例包括来自广播的视频数据。
19.根据权利要求14所述的存储系统,其中第一存储层包括至少一个随机存取存储介质,以及其中第二存储层包括至少一个顺序存取存储介质。
CN201180047241.6A 2010-09-29 2011-08-19 存储系统及其使用的方法 Active CN103140827B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/893,968 2010-09-29
US12/893,968 US8645636B2 (en) 2010-09-29 2010-09-29 Methods for managing ownership of redundant data and systems thereof
PCT/EP2011/064282 WO2012041603A1 (en) 2010-09-29 2011-08-19 Managing ownership of redundant data in storage system

Publications (2)

Publication Number Publication Date
CN103140827A CN103140827A (zh) 2013-06-05
CN103140827B true CN103140827B (zh) 2016-04-13

Family

ID=44514728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180047241.6A Active CN103140827B (zh) 2010-09-29 2011-08-19 存储系统及其使用的方法

Country Status (3)

Country Link
US (1) US8645636B2 (zh)
CN (1) CN103140827B (zh)
WO (1) WO2012041603A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539154B2 (en) 2010-09-29 2013-09-17 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US8539165B2 (en) 2010-09-29 2013-09-17 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US20120078931A1 (en) 2010-09-29 2012-03-29 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US9003462B2 (en) * 2011-02-10 2015-04-07 Comcast Cable Communications, Llc Content archive model
CA2890596C (en) * 2011-11-07 2017-01-03 Nexgen Storage, Inc. Primary data storage system with deduplication
US8769627B1 (en) * 2011-12-08 2014-07-01 Symantec Corporation Systems and methods for validating ownership of deduplicated data
CN103780859B (zh) * 2012-10-26 2016-12-21 杭州海康威视系统技术有限公司 一种录像数据管理系统和方法
CN103108029B (zh) * 2012-12-13 2016-06-29 中国科学院深圳先进技术研究院 vod系统的数据访问方法
CN103152377B (zh) * 2012-12-13 2016-05-11 中国科学院深圳先进技术研究院 一种面向ftp服务的数据访问方法
US9720627B2 (en) 2013-01-17 2017-08-01 Western Digital Technologies, Inc. Data management for a data storage device
US9444889B1 (en) 2013-02-08 2016-09-13 Quantcast Corporation Managing distributed system performance using accelerated data retrieval operations
KR101505263B1 (ko) * 2013-03-07 2015-03-24 포항공과대학교 산학협력단 데이터 중복 제거 방법 및 장치
US9372868B2 (en) * 2013-12-04 2016-06-21 International Business Machines Corporation Efficiency of file synchronization in a linear tape file system
BR112016005391B8 (pt) * 2014-02-14 2022-10-25 Huawei Tech Co Ltd Método e servidor para buscar ponto divisório de corrente de dados com base em servidor
WO2016069031A1 (en) * 2014-11-01 2016-05-06 Hewlett Packard Enterprise Development Lp Managing a storage pool
US10194183B2 (en) 2015-12-29 2019-01-29 DISH Technologies L.L.C. Remote storage digital video recorder streaming and related methods
US9966152B2 (en) * 2016-03-31 2018-05-08 Samsung Electronics Co., Ltd. Dedupe DRAM system algorithm architecture
CN107346210B (zh) * 2016-05-06 2020-08-14 阿里巴巴集团控股有限公司 硬盘数据擦除方法、服务器及系统
CN106202350A (zh) * 2016-07-05 2016-12-07 浪潮(北京)电子信息产业有限公司 一种分布式文件系统自动精简配置的方法及系统
WO2018165961A1 (zh) * 2017-03-17 2018-09-20 深圳市秀趣品牌文化传播有限公司 增进电商平台访问速度的电商数据处理系统及方法
US10891257B2 (en) * 2018-05-04 2021-01-12 EMC IP Holding Company, LLC Storage management system and method
US11258853B2 (en) 2018-05-04 2022-02-22 EMC IP Holding Company, LLC Storage management system and method
US10860527B2 (en) 2018-05-04 2020-12-08 EMC IP Holding Company, LLC Storage management system and method
KR102525165B1 (ko) * 2018-12-18 2023-04-24 삼성전자주식회사 연산 회로를 포함하는 비휘발성 메모리 장치 및 이를 포함하는 뉴럴 네트워크 시스템
WO2023241783A1 (en) * 2022-06-14 2023-12-21 Huawei Technologies Co., Ltd. Device and method for improved redundant storing of sequential access data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1984299A (zh) * 2005-12-12 2007-06-20 Lg电子株式会社 在视频设备中再现传输流的方法及使用该方法的视频设备

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990810A (en) 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
US20040268386A1 (en) 2002-06-08 2004-12-30 Gotuit Video, Inc. Virtual DVD library
US7689532B1 (en) 2000-07-20 2010-03-30 Digimarc Corporation Using embedded data with file sharing
US7536524B2 (en) 1998-07-31 2009-05-19 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6209024B1 (en) 1999-04-05 2001-03-27 Diva Systems Corporation Method and apparatus for accessing an array of data storage devices by selectively assigning users to groups of users
US6289450B1 (en) 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US7110714B1 (en) 1999-08-27 2006-09-19 Kay Matthew W Television commerce system with program identifiers
JP2001325225A (ja) 2000-05-15 2001-11-22 Sony Corp コンテンツ管理システム及び方法
US8380630B2 (en) 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US6407680B1 (en) 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7762457B2 (en) 2001-07-10 2010-07-27 American Express Travel Related Services Company, Inc. System and method for dynamic fob synchronization and personalization
US20030110190A1 (en) 2001-12-10 2003-06-12 Hitachi, Ltd. Method and system for file space management
US7146522B1 (en) 2001-12-21 2006-12-05 Network Appliance, Inc. System and method for allocating spare disks in networked storage
US6648472B1 (en) 2002-09-09 2003-11-18 Kowa Company Ltd. Ophthalmic imaging apparatus
US7305386B2 (en) 2002-09-13 2007-12-04 Netezza Corporation Controlling visibility in multi-version database systems
US7065619B1 (en) 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
US7461088B2 (en) * 2003-12-15 2008-12-02 Apple Inc. Superset file browser
DE602004019308D1 (de) 2004-05-31 2009-03-19 Telecom Italia Spa Verfahren, telekommunikationsarchitektur, computerprogrammprodukt und system um digitale inhalte über kommunikationsnetze unter benutzern zu teilen
US7698517B2 (en) 2004-12-02 2010-04-13 Storagedna, Inc. Managing disk storage media
US7519627B2 (en) 2005-08-04 2009-04-14 International Business Machines Corporation Method for automatic deletion scheduling of the plurality of files in multi-user a digital playback system
US20070107012A1 (en) 2005-09-07 2007-05-10 Verizon Business Network Services Inc. Method and apparatus for providing on-demand resource allocation
US8526612B2 (en) 2006-01-06 2013-09-03 Google Inc. Selective and persistent application level encryption for video provided to a client
US8229897B2 (en) 2006-02-03 2012-07-24 International Business Machines Corporation Restoring a file to its proper storage tier in an information lifecycle management environment
US20070220592A1 (en) 2006-03-02 2007-09-20 Thomas Muehlbauer Comparing Media Files Against Database Content
JP4912026B2 (ja) 2006-04-27 2012-04-04 キヤノン株式会社 情報処理装置、情報処理方法
US20080005194A1 (en) 2006-05-05 2008-01-03 Lockheed Martin Corporation System and method for immutably cataloging and storing electronic assets in a large scale computer system
AU2007249777A1 (en) 2006-05-11 2007-11-22 Cfph, Llc Methods and apparatus for electronic file use and management
US7930749B2 (en) 2006-05-11 2011-04-19 Eacceleration Corp. Accelerated data scanning
US20080052349A1 (en) 2006-08-27 2008-02-28 Michael Lin Methods and System for Aggregating Disparate Batches of Digital Media Files Captured During an Event for the Purpose of Inclusion into Public Collections for Sharing
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
US7769971B2 (en) 2007-03-29 2010-08-03 Data Center Technologies Replication and restoration of single-instance storage pools
US20090037964A1 (en) 2007-08-02 2009-02-05 Youbiquity, Llc System for allocating mass storage for video-on-demand assets
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US20090204650A1 (en) 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
US7870105B2 (en) 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system
US20090210913A1 (en) 2008-02-14 2009-08-20 Macdonald J Andrew Method of customer pvr to network-based dvr synchronization
US7899850B2 (en) 2008-02-22 2011-03-01 Bycast, Inc. Relational objects for the optimized management of fixed-content storage systems
US7873619B1 (en) 2008-03-31 2011-01-18 Emc Corporation Managing metadata
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8630987B2 (en) 2008-07-16 2014-01-14 Cleversafe, Inc. System and method for accessing a data object stored in a distributed storage network
US8255409B2 (en) 2009-02-27 2012-08-28 Red Hat, Inc. Systems and methods for generating a change log for files in a managed network
EP2406759A4 (en) 2009-03-03 2014-04-02 Equifax Inc SYSTEMS AND METHODS FOR USING VERIFIED INFORMATION CARDS IN A COMMUNICATION NETWORK
US20100228773A1 (en) 2009-03-09 2010-09-09 Sony Corporation And Sony Electronics Inc. System and method for effectively utilizing a transport operator in an electronic network
US8250037B2 (en) 2009-03-27 2012-08-21 Bank Of America Corporation Shared drive data collection tool for an electronic discovery system
US20110119293A1 (en) 2009-10-21 2011-05-19 Randy Gilbert Taylor Method And System For Reverse Pattern Recognition Matching
US20120078931A1 (en) 2010-09-29 2012-03-29 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US8539154B2 (en) 2010-09-29 2013-09-17 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof
US8539165B2 (en) 2010-09-29 2013-09-17 International Business Machines Corporation Methods for managing ownership of redundant data and systems thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1984299A (zh) * 2005-12-12 2007-06-20 Lg电子株式会社 在视频设备中再现传输流的方法及使用该方法的视频设备

Also Published As

Publication number Publication date
US8645636B2 (en) 2014-02-04
US20120079184A1 (en) 2012-03-29
CN103140827A (zh) 2013-06-05
WO2012041603A1 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
CN103140827B (zh) 存储系统及其使用的方法
US9256630B2 (en) Managing ownership of redundant data
US8612682B2 (en) Methods for managing ownership of redundant data and systems thereof
US8650361B2 (en) Methods for managing ownership of redundant data and systems thereof
US8694729B2 (en) Methods for managing ownership of redundant data and systems thereof
US7574435B2 (en) Hierarchical storage management of metadata
US8478729B2 (en) System and method for controlling the storage of redundant electronic files to increase storage reliability and space efficiency
US9460106B2 (en) Data synchronization among file storages using stub files
US8230188B2 (en) Storage management apparatus, storage system, and storage management method
US20100257140A1 (en) Data archiving and retrieval system
WO2013073114A1 (en) Reading files stored on a storage system
US20050262316A1 (en) Backup acquisition method and disk array apparatus
KR101369813B1 (ko) 광 디스크 저장 시스템에 저장된 미디어에의 액세스, 압축 및 추적
CN103999058A (zh) 带驱动器系统服务器
US20050273650A1 (en) Systems and methods for backing up computer data to disk medium
US20180336238A1 (en) Data placement optimization
US9336293B2 (en) Data management apparatus and method for surveillance system
CN112181311B (zh) 一种循环录制方法、设备和存储介质
US8145602B2 (en) Storage apparatus, data restoration method and computer system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant