CN1776682A - 管理电子文件系统中的列表和其它项 - Google Patents

管理电子文件系统中的列表和其它项 Download PDF

Info

Publication number
CN1776682A
CN1776682A CNA2005101271730A CN200510127173A CN1776682A CN 1776682 A CN1776682 A CN 1776682A CN A2005101271730 A CNA2005101271730 A CN A2005101271730A CN 200510127173 A CN200510127173 A CN 200510127173A CN 1776682 A CN1776682 A CN 1776682A
Authority
CN
China
Prior art keywords
tabulation
storage
item
organized
agency
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.)
Granted
Application number
CNA2005101271730A
Other languages
English (en)
Other versions
CN100498777C (zh
Inventor
T·P·麦基
W·R·史密斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1776682A publication Critical patent/CN1776682A/zh
Application granted granted Critical
Publication of CN100498777C publication Critical patent/CN100498777C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices

Abstract

提供允许在有向无环图(DAG)中组织项的电子文件系统组织结构。尽管项可以如在树结构中那样被分层组织,项也可以有多个直接父项。电子文件系统还可以访问多个不同的存储。另外,讨论了用于当跨不同存储处理和重新组织项时管理项的技术。例如,讨论了用于管理拥有全部处于同一第一存储中的多个直接父项的项的技术,其中该项被移动或复制到第二不同存储。这些技术中的某一些可以更紧密地匹配用户的意图和/或从用户的观点具有可预测的结果。通过这样做,在一个组织上执行的动作不会以未预料到的或非预期的方式来影响其它组织。

Description

管理电子文件系统中的列表和其它项
技术领域
本发明的各方面一般针对管理诸如利用能访问一个或多个项存储的有向无环图体系结构的电子文件系统等电子文件系统中的项。
背景技术
现代电子文件系统一般在分层的树结构中存储文件。树的每一节点被认为是含有一个或多个文件的文件夹。通常,在这样的电子文件系统中,项的位置受文件系统定义的组织所限制。例如,在众多文件系统中,每一文件位于一个(且仅一个)文件夹中。换言之,每一文件只有一个直接父节点。尽管在多年前,这可能是良好的,但是这样的树结构正变得相当限制。传统的分层树结构是不灵活的;在树中,文件生存周期和文件组织是合并的。即,仅当文件拥有相对于其它文件或文件夹所组织的位置时,文件才能够存在。另外,文件不能被放置在多个组织中。这意味着如果用户想要在多个文件夹中查看一个文件,例如,用户必须制作该文件的多个副本。这对用户而言是乏味且易出错的,并浪费存储空间。
需要开发一种更容易地允许用户共享对文件的访问以及控制该访问的新的电子文件系统组织结构。有了该组织结构,在管理该组织结构中的项中出现新的挑战。
发明内容
本发明的各方面针对提供一种允许在有向无环图(DAG)中组织项的电子文件系统组织结构。这意味着尽管项可以如在树结构中那样被分层地组织,项也可以有多个直接父项。DAG组织结构允许多个父项但是不允许子项是作为该项的直接或间接父项的项的父项。换言之,DAG允许多个分支进入或离开项,但是不允许环状分支。该组织结构提供了适当地处理多用户文件共享和访问控制所需的灵活性。
本发明的其它方面针对提供能访问多个不同存储的电子文件系统。存储是数据的内部一致性表示。存储可以横跨多个物理存储设备(例如,硬盘),但是文件系统在概念上认为存储是一个存储单元。存储可以保证该存储内的项和该存储内的持有链接,但是不保证另一个存储中的项和持有链接。另外,项生存周期和链接一致性的规则可以在相同的存储内应用,但是不必跨越不同存储。在某些实施例中,项可以仅拥有与其处于相同存储中的一个或多个父项。换言之,父项和子项之间的持有链接不跨越存储。
本发明的另外一些方面处理当跨不同存储操纵和重新组织项时如何管理这些项。例如,这些方面处理对拥有全部都在相同的第一存储中的多个直接父项的项会发生什么,项将移至或复制到第二不同存储的哪里。尽管可能存在一种以上方法来管理这样的操作,但是某些方法可能更紧密地匹配用户的意图和/或从用户观点来看具有更多可预测的结果。
考虑下文对说明性实施例的详细描述,本发明的这些和其它方面会变得显而易见。
附图说明
当结合附图阅读时,能更好地理解前述对本发明的概述,以及下文中对说明性实施例的详细描述,附图作为示例而非作为关于所要求保护的本发明的限制而被包括在内。
图1是可用于本发明的各方面的说明性计算设备的功能框图。
图2根据本发明的至少一个方面在功能上示出了可以被采取来跨存储移动项的步骤。
图3根据本方面的至少一个方面在功能上示出了可以被采取来移回项的步骤,从而该步骤是图2所示的操作的逆操作。
图4根据本发明的至少一个方面在功能上示出了可以被采取来将项添加至列表的步骤。
图5根据本发明的至少一个方面在功能上示出了可以被采取来将项从列表中移除的步骤。
图6根据本发明的至少一个方面在功能上示出了可以被采取来复制项的步骤。
图7根据本发明的至少一个方面在功能上示出了可以被采取来在相同的存储内移动列表的步骤。
图8根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“浅”移动列表的步骤。
图9根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“浅”移回列表的步骤,从而该步骤是图8中所示的操作的逆操作。
图10根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“结构”移动列表的步骤。
图11根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“结构”移回列表的步骤,从而该步骤是图10中所示的操作的逆操作。
图12根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“深”移动列表的步骤。
图13根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“深”移回列表的步骤,从而该步骤是图12中所示的操作的逆操作。
图14根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“浅”复制列表的步骤。
图15根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“结构”复制列表的步骤。
图16根据本发明的至少一个方面在功能上示出了可以被采取来跨存储“深”复制列表的步骤。
图17根据本发明的至少一个方面在功能上示出了可以被采取来擦去列表的步骤。
图18根据本发明的至少一个方面在功能上示出了可以被采取来回收列表的步骤。
具体实施方式
说明性计算环境
本发明的各方面可以结合诸如图1中说明性地示出的计算机100等计算设备来使用。计算机100的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器130在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。
系统存储器130包括易失性或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机100中元件之间传递信息的基本例程,它通常存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。计算机100也存储和/或执行操作系统134、一个或多个应用程序135、其它程序模块136和/或程序数据137。计算机100也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。可以使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,例如,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。在所示示例中,硬盘驱动器141例如可以被认为是一个存储,而在光盘驱动器155中使用的CD ROM可以被认为是另一个不同的存储。另外,硬盘驱动器141内的分区可以被认为是不同的存储。作为另一个示例,多个内置硬盘驱动器可以按所需的被配置为单个大存储或多个较小的独立存储。
存储在各个计算机存储介质中任何一个上的数据可以用各种格式来存储。例如,数据可以存储在诸如文件或其它项等离散的部分中。电子文件系统可以是操作系统134的一部分和/或可以从操作系统中分离,它可以负责管理存储、检索和/或搜索计算机存储介质上的项和其它数据。电子文件系统可以被实现为软件、硬件和/或固件。
用户可以通过输入设备,诸如键盘162和/或定点设备161(通常指鼠标、跟踪球或触摸垫)向计算机100输入命令和信息。其它输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线121的用户输入接口160连接至处理单元120,但也可以由其它接口或总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121。计算机100还可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围接口195连接至系统总线121。
在某些方面,提供了笔数字化仪165和附属的笔或触针166,以数字化地捕捉手画线输入。尽管示出了笔数字化仪165和用户输入接口160之间的直接连接,但在实际上,笔数字化仪165可以直接地、通过并行端口或其它接口以及通过系统总线121或者有线或者无线地来耦合至处理器单元120。笔166还可以含有用于确定电子墨迹的笔划的其它传感系统,包括例如加速计和磁强计。
计算机100可使用至一个或多个远程计算机,诸如远程计算机180的逻辑连接在网络化环境下操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机100描述的许多或所有元件,尽管在图1中仅作为示例示出存储器存储设备181。如图1中所示计算机100外部的说明性的逻辑连接包括局域网(LAN)171和/或广域网(WAN)173,且也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。计算机100还可以包括有线和/或无线能力。例如,网络接口170可以是蓝牙、SWLan和/或IEEE 802.11兼容的。可以理解,可以结合这些协议或替代这些协议来使用其它无线通信协议。
当在LAN网络环境中使用时,计算机100通过网络接口或适配器170连接至局域网171。当在WAN网络环境中使用时,计算机100通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。调制解调器172可以是内置或外置的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。
计算机100外部的远程计算机180和/或其它设备的存储介质也可被认为是可由电子文件系统通过计算机100外部的逻辑连接来访问的附加存储。例如,远程计算机180的硬盘驱动器可以由在计算机100上执行的电子文件系统访问,且硬盘驱动器(和/或诸如另一个硬盘驱动器等与硬盘驱动器组合的其它存储设备)本身也可被认为是存储。或者,计算机100外部的一个或多个服务器可以由电子文件系统通过因特网来访问,且这些服务器或服务器组中的每一个可以被认为是存储。
电子文件系统所利用的说明性组织结构
在计算机100上执行的电子文件系统可以利用项的有向无环图(DAG)组织。项可以是几乎任何类型的离散数据结构,诸如文件(例如,文字处理文件、照片、MP3歌曲等)、联系人、日历项、电子邮件项或者甚至是其它项的列表。列表类型的项可以是或可以不是已排序列表,且可以被认为是类似于传统文件夹。当列表列出项时,该列表被认为是父项,而该项被认为是子项。此处,如果项是由父列表列出的,子项被称为直接在父列表下组织。这也被称为父列表和子项之间的持有关系。此处,如果项是在父列表下直接或间接组织的,则子项被称为在父列表下组织,如下文关于图7所示的。为了提供完全DAG体系结构的添加的灵活性,多个不同的列表可以都列出或在下方含有相同的项。换言之,一个项可以拥有多个父项。
例如,图7的顶端部分在功能上示出了可以由电子文件系统利用和管理的说明性组织结构。在该示例中,列表L2直接在列表L1、列表L4和列表L6中的每一个下组织。这样,列表L2拥有三个直接父项。列表L3直接在列表L2下组织,但是它也在列表L1、L6和L4下(虽然是间接地)组织。非列表项I1(例如,文件或纯粹不用文件流来模式化的背后无文件(non-file-backed)项)直接在列表L3下组织,并间接在列表L1、L2、L4和L6下组织。非列表项I2直接在列表L2下组织,且间接在列表L1、L4和L6下组织。
另外,电子文件系统可以提供在其中可以放置一个或多个项的一个或多个工作空间。工作空间中的项可以拥有或不拥有相对于该工作空间中另一个项的组织。例如,项L1、L2、L3、L4、L6、I1和I2可以在相同的工作空间中,该工作空间可以在功能上看作是封住这些项的盒子。这些项中的每一个拥有相对于其它项的组织。然而,列表L5(图7)也可以位于相同的工作空间中但可以不拥有相对于其它项的组织。在该示例中,列表L5被认为是“浮动”项,如同列表L1和L4一样。如果项没有被任何其它项持有或在任何其它项之下组织,那么该项是浮动项。如果项被置于工作空间中,它将保持在该工作空间中直到它被从工作空间中移除。这样,在工作空间内,项可以按照(或者可以不按照)所需的组织,而不影响该项是否在工作空间内。
一旦利用了上述的组织结构,存在管理项时需要考虑的某些问题。例如,因为项可以直接或间接地在一个以上父列表下组织,因此存在多种可能的方式来处理移动或复制项的请求。可能用户想要从一个父列表处而不必从其它父列表处移动项。事实上,用户可能甚至不知道其它父列表的存在或它们持有试图移动的项。以下描述这些情景的示例和说明性解决方案。
非列表项操作
以下是可以在项上执行的操作的示例。操作可以在同一存储内或跨存储(“横跨存储”)进行。例如,项可以从一个位置移动到同一存储内的另一个位置。或者,项可以横跨存储从一个存储移至另一个存储。下文将描述这两者的示例。
移动项-横跨存储
为讨论的目的,假定持有链接不能横跨存储。从而,如果项同时位于第一存储的两个不同组织中(例如,在两个不同的列表中),且如果用户试图将这些组织中的一个移动至第二存储,那么存在处理该问题的若干可能的方式。参考图2,例如,项I1同时由存储1中的列表L1和L2持有。存储2含有列表L3。假设用户想要将项I1从列表L2移动至列表L3。第一种可能是,将项I1移动至存储2以使得位于列表L3中。然而,这可能打破I1也位于列表L1和L2的组织。这可能不是用户的意图,尤其考虑用户可能没有与列表L1交互过,且实际上甚至可能不知道列表L1。第二种可能是项I1将被复制到列表L3。然而,这也会改变整个组织,因为现在将有项I1的两个副本。这可能不是期望的结果,因为用户想要移动项I1(而不是复制项I1),这可能是为了释放存储1的存储空间。第三种可能是移动操作可能失败,但是大多数用户会觉得该结果是令人恼怒的。第四种可能是将项I1转化为代理项。代理项是对被指向项(即项I1)的元数据的快捷方式或指针。第四种可能允许组织尽可能接近地模拟移动前的组织。
参考显示了第四种可能的图2,使用有圆圈的数字显示步骤(不必按照顺序排列),而将项显示为框。如该示例中所示,在步骤1和2中,项I1从存储1的列表L2移动至存储2中的列表L3。具体地,在步骤1中,项I1被串行化为二进制大对象(blob)B1,B1表示项I1的副本。然后,在步骤2中,二进制大对象B1被反串行化为项I1(2),该项由列表L3持有。尽管在此处将该新的项称为项I1(2),然而项I1(2)是原始项I1的副本。命名方案仅用于讨论的目的,且仅用于区分项I1(2)在技术上不是原始的项I1。换言之,项I1(2)可以利用不同于原始项I1的存储(例如,不同的硬盘驱动器上的不同扇区),即使它在其它方面是项I1的副本。副本可以通过将项(例如,项I1)串行化为二进制大对象且然后将该二进制大对象反串行化为另一个项(例如,项I1(2))来制作。
仍旧参考图2,在步骤3中,项I1被转化为指向项I1(2)的快捷方式(或代理项)。代理项是指向或链接至目标项但不含有目标项的所有实质数据的项。其原因是用户仅想要从列表L2中移动项I1,但是不必也从也拥有项I1上的持有链接的列表L1中移动。这样,通过创建对项I1(2)的代理项,在列表L1下方观察的用户仍旧将看到项I1好像它从未被移动操作影响。这可能是仅请求从列表L2中移动项I1而没有涉及列表L1的用户的意图。同样,通过重置或将项I1转化为代理项,释放了存储1中的存储空间,这与用户将项I1从存储1移动到存储2的意图一致。如果原始项I1被维护在存储1中,因为它也被列表L1持有,那么移动操作可能没有释放存储1中的存储空间。这样的结果可能与用户的意图相背。最后,在步骤4中,列表L2和项I1之间的关系被这样处理,使得项I1不再由列表L2列出,如用户可能的意图。这样,结果是项I1现在由列表L1(虽然作为代理项)和列表L3列出,但是不由列表L2列出。
移回项-横跨存储
如前所述,可能想要以最可能匹配用户期望和希望的可预测方式在项上操作。这包括可逆性。换言之,可能希望通过启动改变一个或多个项的组织的第一动作,且然后通过执行逆动作,组织应该还原为第一动作之前存在的原始组织。尽管可逆性不是必须的,但是对此处描述某些或全部操作可能是合乎需要的。例如,如果用户最初如关于图2描述的将项I1移动至列表L3,那么然后如果用户立即执行将项I1(2)移动至列表L2的移动操作,那么所得的组织较佳地应当与最初的移动操作之前的原始组织相同。这在图3中说明性地示出。首先,在步骤1中,项I1(2)被串行化为表示项I1(2)的副本的二进制大对象B1。在步骤2中,确定是否存在目标是将被移动的项的代理项。在该示例中,这样的代理项的确存在;代理项I1目标为将被移动的项I1(2)。如果这样的代理项存在,那么该代理项被移除并使用项I1(2)的副本替换,在这一情况下,项I1(2)的副本也被称为项I1。如果这样的代理项不存在,那么不需移除或替换代理项。在任一情况下,项I1(2)被复制为项I1,项I1可通过将二进制大对象B1反串行化为项I1来完成。在步骤3中,因为项I1(2)仅由单个列表-列表L3列出,因此不需在列表L3下创建项I1的代理项。这样,项I1(2)从列表L3中移除(并从存储2中擦去)。由此,将项I1(2)移回列表L2的结果是与图2所示的原始组织相同的组织。
添加项
图4示出了其中项I1被添加至列表L1的说明性实施例。在该示例中,可以执行其中在项I1和列表L1之间创建持有关系的单个步骤,使得列表L1持有项I1。当然,项I1也可以被添加至其它列表,因为多个列表可以持有相同的项。另外,项I1也可以被添加,使得它不被任何列表所持有。这样的项在此处被称为浮动项。
移除项
图5示出了其中从列表L1中移除项I1(但是没有被回收或擦去)的说明性实施例。在这一情况下,项I1仅由列表L1持有,所以一旦从列表L1中移除,项I1称为不被任何列表持有的浮动项。如果项I1也被例如列表L2等其它列表所持有,那么从列表L1移除项I1的结果可能是项I1仅由列表L2持有。
复制项-同一存储
参考图6中示出的说明性实施例,用户可以请求在同一存储中复制项I1。一种可能是副本(项I1(2))被创建为浮动项。另一种可能是项I1(2)以与原始项I1相同的方式来组织。在后一情况下,在步骤1中,项I1被串行化为表示项I1的副本的二进制大对象B1。然后在步骤2中,二进制大对象B1被反串行化为项I1(2),并建立列表L1和项I1(2)之间的持有关系以匹配原始项I1和列表L1之间的持有关系。如果项I1由列表L1和另一个列表L2两者所持有,则项I1(2)仍旧被复制,使得它仅由列表L1所持有。这是因为在该示例中,原始项I1在列表L1的上下文中被复制,而列表L1的上下文中的动作不会影响诸如列表L2等其它独立列表。
列表操作
上述示例处理非列表项上的操作。可以执行非列表项上的其它操作,诸如回收和擦去。另外,也可以在列表上执行操作。这些被称为列表操作。例如,列表可以被复制、移动、添加、删除、回收或擦去。现在描述列表操作的示例。取决于如何执行列表操作,列表操作可以或多或少地影响围绕所选择的一个或多个列表的组织。
移动列表-同一存储
例如,列表可以在同一存储内被移动。这可以是相当直截了当的操作,诸如图7中所示的。这里,用户想要将列表L2从从列表L1移至列表L5。这样,从列表L1到列表L2的持有链接被打破,且从列表L5至列表L2建立了新的持有链接。因为该移动是在同一存储内做出的,因此无需影响诸如列表L3、L4和L6以及项I1和I2等剩余组织。
浅移动列表浅-横跨存储
此处描述的是存储之间的列表移动操作的三种形式。在第一种形似中,可以诸如图8中所示的执行“浅”移动。浅移动也被称为浅移动列表操作,它仅移动所选列表。这样,例如,当用户想要将列表L2从存储1的列表L1中浅移动至存储2中的列表L5时,可以执行下列步骤。在步骤1中,列表L2被串行化来创建表示列表L2的副本的二进制大对象B1。在步骤2中,二进制大对象B1被反串行化为列表L2(2),它是列表L2的副本。在步骤3中,因为仅有所选择的列表L2应该被移动至存储2中,所以创建列表L3的代理项,且创建从列表L2(2)至该代理项的持有链接。类似地,在步骤4中,创建项I2的代理项,且创建从列表L2(2)至该代理项的持有链接。这样,所得的组织是仅有所选择的列表L2本身被移动。在步骤5中,因为原始项L2由另一个列表(即,列表L6)所持有,因此项L2不应该被简单地擦去。否则,这会扰乱不被明确请求改变的组织。如前所述,用户仅想要从列表L1中而非任何其它列表中移动列表L2。这样,项L2或者被替换或者被转化为L2(2)的代理项,使得它仍旧可以被列表L6引用(在同一存储内)。在步骤6和7中,因为原始列表L2不再存在于存储1中,而是成为存储2中的列表L2(2),所以不再存在对列表L2和列表L3之间以及列表L2和项I2之间的持有链接的任何需求。这样,移除这些持有链接。因为项I2不再由任何其它列表所持有,因此项I2成为浮动项。作为这些操作的结果,存储2现在含有列表L2(2),列表L2(2)持有指向存储1中的列表L3和项I2的代理项。
浅移回列表-横跨存储
如前所述,当执行操作时,可能希望其逆操作会得到原始组织。现在在图9中示出这样的情景,其中用户想要将列表L2(2)从存储2中的列表L5中移动至存储1中的列表L1。在步骤1中,列表L2(2)被串行化以创建表示列表L2(2)的副本的二进制大对象B1。在步骤2中,确定存储1中是否存在列表L2(2)的代理项。在这一情况下,这样的代理项的确存在,使得使用二进制大对象B1替换该代理项,二进制大对象B1被反串行化为列表L2。换言之,解除列表L2的远程代理项对本地存储1的引用。同样,按照用户请求,列表L2被添加至列表L1。如果这样的代理项不存在,那么二进制大对象B1将仅被反串行化为列表L2并被添加至列表L1。在步骤3中,列表L3被添加至列表L2,来匹配L3的代理项(存储2中)的组织。在步骤4中,项I2被添加至列表L2,以匹配项I2的代理项(也在存储2中)的组织。这是通过解除项I2的代理项对本地存储1的引用来完成的。在步骤5中,对列表L3、项I2和列表L2(2)的代理项被擦去。如图9中所示的所得的组织与图8中所示的原始组织相同。
移动列表结构-横跨存储
结合图10描述此处讨论的移动列表操作的第二种形式。在该实例中,用户请求列表L2和列表L2下对应的组织结构从存储1中的列表L1移动至存储2中的列表L5。用户可能想要复制其中结构支持要求扩展存储空间的一组项的结构(但不是结构中所有非列表项)。例如,播放列表可以含有多个列表,每位歌手一个列表,在每一列表下有多个音乐文件。可以期望这样的播放列表中的文件总计为上千兆字节的音乐和/或视频数据。在这一情况下,用户可能不想通过将这些大文件从第一存储复制到第二存储来浪费存储空间(以及可能的网络带宽),而是相反,仅能够使用第二存储中复制的结构来引用原始存储中的文件。在步骤1中,列表L2被串行化为表示列表L2的副本的二进制大对象B1。在步骤2中,二进制大对象B1被反串行化为列表L2(2),它是列表L2的副本且现在被列表L5所持有。因为这是结构移动命令,所以也移动列表L3下的结构,即组织。与此相反,在前述关于图8讨论的浅移动命令中,仅移动列表L2。从而,在步骤3中,列表L3被串行化为表示列表L3的副本的二进制大对象B2,而在步骤4中,二进制大对象B2被反串行化为列表L3(2),它是列表L3的副本且现在被列表L2(2)所持有。也存在由原始列表L2直接或间接持有的若干非列表项(I1和I2),但是因为这些项不是结构化的,所以它们不被移动至存储2。相反,在步骤5和6中,在存储2中创建指向项I1和I2的代理项,而项I1和I2保留在存储1中。同样,因为原始列表L2和L3不再存在于存储1中(仅他们的代理,将在以下描述),所以在步骤7中,移除列表L3和项I1之间的持有关系,在步骤9中移除列表L2和列表L3之间的持有关系,且在步骤10中,移除列表L2和项I2之间的持有关系。因为项I1和I2不由其它任何列表所持有,所以项I1和I2成为浮动项。同样,因为列表L2和L3原始是由其它列表所持有的(分别是列表L1和L4),为了能够由列表L1和L4列出,它们不能在不维持存储1中对其的某些引用的情况下而被简单地移除。这样,在步骤8和11中,列表L2和L3的每一个使用存储1中分别指向存储2中的列表L2(2)和L3(2)的代理来替换。
结构移回列表-横跨存储
参考图11,用户现在想要执行与图10中执行的操作相反的操作。换言之,用户现在想要将列表L2(2)结构移回至存储1的列表L1下。在步骤1中,列表L2(2)被串行化为表示列表L2(2)的副本的二进制大对象B1,且在步骤2中,二进制大对象B1被反串行化为列表L2,且确定存储1中是否存在指向列表L2的代理项。在该情况下的确存在,所以使用列表L2替换代理项。同样,在步骤3中,列表L3(2)被串行化为表示列表L3(2)的副本的二进制大对象B2,且在步骤4中,二进制大对象B2被反串行化为列表L3且替换存储1中的代理项L3。在步骤5和6中,在列表L2和项I2以及列表L3和向I1之间建立持有链接。系统建立这些持有链接以便反映列表L2(2)和项I2以及列表L3(2)和项I1之间的现有结构。在步骤7和9中,项I1和I2的代理项被擦去。在步骤8和10中,列表L2(2)和L3(2)被擦去。这些操作导致存储2仅含有列表L5,而剩余的列表位于存储1中。如可见的,所得的结构与图10中所示操作之前存在的结构相同。
深移动列表-横跨存储
结合图12描述了此处讨论的移动列表的第三种形式。在该实例中,用户请求列表L2和列表L2下的所有对应的结构和项从存储1的列表L1中移动至存储2的列表L5中。在步骤1中,列表L2被串行化为表示列表L2的副本的二进制大对象B1,且在步骤2中,二进制大对象B1被反串行化为列表L2(2),它是存储2中的列表2的副本。同样,在列表L5和列表L2(2)之间建立持有链接。因为列表L2下的所有结构和项被移动至存储2,因此对于剩余的结构和项进行类似的操作。这样,在步骤3中,列表L3被串行化为表示列表L3的副本的二进制大独享B2,且在步骤4中,二进制大对象B2被反串行化为列表L3(2)。在列表L2(2)和列表L2(2)之间建立持有链接,以反映存储1中现有的结构。在步骤5中,项I2被串行化为表示项I2的副本的二进制大对象B3,且在步骤6中,二进制大对象B3被反串行化为项I2(2)。在列表L2(2)和项I2(2)之间建立持有链接,以反映存储1中现有的结构。在步骤7中,项I被串行化为表示I1的副本的二进制大对象B4,并且在步骤8中,二进制大对象B4被反串行化为项I1(2)。在列表L3(2)和项I1(2)之间建立持有链接,以反映存储1中的现有的结构。在步骤9和10中,从存储1中擦去项I1和I2。因为列表L2和L3是由多个列表所持有的,它们不能简单地从存储1中完全移除。换言之,例如,完全移除列表L2的任何痕迹会导致L2不再由列表L6所列出,这可能不是用户的意图。从而,在步骤11和12中,列表L2和L3用存储1中使用指向存储2中它们各自目标列表L2(2)和L3(2)的代理所替换。同样,移除列表L2和L3之间的持有链接,如同移除列表L1和L2之间的持有链接。这些操作的结果是,列表2以及由列表2直接或间接持有的所有结构和项(即,列表L3和项I1和I2)从存储1移动至存储2。
深移回列表-横跨存储
参考图13,用户现在想要执行与图12中所执行的功能相反的功能。换言之,用户现在想要将列表L2(2)深移回至存储1的列表L1下。在步骤1中,列表L2(2)被串行化为表示列表L2(2)的副本的二进制大对象B1。在步骤2中,使用从二进制大对象B1的反串行化所得的列表L2来替换指向列表L2的代理项。类似地,在步骤3中,列表L3(2)被串行化为表示列表L3(2)的副本的二进制大对象B2,且在步骤4中,使用从二进制大对象B2的反串行化所得的列表L3来替换指向列表L3的代理项。也为非列表项重复该过程。在步骤5中,项I2(2)被串行化为表示项I2(2)的副本的二进制大对象B3,且在步骤6中,二进制大对象B3被反串行化为项I2。同样地,建立列表L2和项I2之间的持有关系来匹配列表L2(2)和项I2(2)之间先前的持有关系。在步骤7中,项I1(2)被串行化为表示项I1(2)的副本的二进制大对象B4,且在步骤8中,二进制大对象B4被反串行化为项I1。同样地,建立列表L3和项I1之间的持有关系来匹配列表L3(2)和项I1(2)之间先前的持有关系。然后,在步骤9-12中,项I1(2)、I2(2)、L3(2)和L2(2)被擦去,因为它们移动且不由任何其它项所持有。如果这些项由另一个项所持有,那么它们可以使用代理项来替换而不是被擦去。结果与根据图12执行的原始深移动列表命令之前存在的结构相同。
浅复制列表-横跨存储
参考图14,用户现在想要将列表L2从存储1复制到存储2,且将该新复制的列表在列表L5下组织。然而,用户不想要复制列表L2下的每一项,仅是那些由列表L2所直接持有的项(列表项和非列表项)。这被称为列表的浅复制。为了执行该命令,在步骤1中,列表L2(将要被复制的列表)被串行化为表示列表L2的副本的二进制大对象B1。在步骤2中,二进制大对象B1被反串行化为新的列表L2(2),它是列表L2的完全相同的副本,除了它位于存储2中而非存储1中。同样,按照用户所需,在现有列表L5和列表L2(2)之间创建持有关系。如果用户决定复制列表L2而不将它置于存储2中的另一列表中,那么列表L2(2)将成为存储2中的浮动项。在步骤3中,指向列表L3的代理项被创建并在列表L2(2)下持有。这是为了匹配原始列表L2和原始列表L3之间的持有关系。类似地,在步骤4中,指向项I2的代理项被创建并在列表L2(2)下持有。这是为了匹配原始项I2和原始列表L2之间的持有关系。结果是列表L2被复制,且指向列表L2下的原始项的代理项被置于列表L2的副本(即列表L2(2))下。以这种方式,系统仅制作用户特别选择来复制的项(即,列表L2)的副本,这样,以最可能匹配用户意图的方式行动。
结构复制列表-横跨存储
结合图15描述了复制列表操作的第二种形式。在该实例中,用户请求复制列表L2和列表L2下对应的结构,使得副本由存储2中的列表L5所持有。从而,在步骤1中,列表L2被串行化为表示列表L2的副本的二进制大对象B1。在步骤2中,二进制大对象B1被反串行化为列表L2(2),且在列表L5和列表L2(2)之间建立持有关系。在步骤3中,列表L3被串行化为表示列表L3的副本的二进制大对象B2。在步骤4中,二进制大对象B2被反串行化为列表L3(2),且在列表L2(2)和列表L3(2)之间建立持有关系以匹配列表L2和列表L3之间的持有关系。在步骤5和6中,目标为项I1和I2的代理项被创建,且其每一个被置于持有关系中以分别匹配项I1和I2。
这样,该操作的结果是列表L2、列表L2直接持有的非列表项以及列表L2下持有的结构被复制到存储2中,而对于列表L2下所持有的但不是直接在列表L2下方的项,在存储2中创建目标为存储1中的原始项的代理项。
深复制列表-横跨存储
结合图16描述了复制列表操作的另一个形式。在该实例中,用户请求列表L2以及列表L2下的所有项被深复制,使得副本在存储2中的列表L5下被持有。该操作类似于结构复制,除了复制所有的项,不论它们是列表还是非列表。从而,在步骤1中,列表L2被串行化为表示列表L2的副本的二进制大对象B1。在步骤2中,二进制大对象B1被反串行化为列表L2(2),且在列表L5和列表L2(2)之间建立持有关系。在步骤3中,列表L3被串行化为表示列表L3的副本的二进制大对象B2。在步骤4中,二进制大对象B2被反串行化为列表L3(2),且在列表L2(2)和列表L3(2)之间建立持有关系以匹配列表L2和列表L3之间的持有关系。在步骤5和6中,项I1和I2被复制到存储2上,而不是创建代理项。这样,在步骤5中,项I2被串行化为表示项I2的副本的二进制大对象B3。在步骤6中,二进制大对象B3被反串行化为项I2(2),且在列表L2(2)下持有以匹配列表L2和项I2之间的持有关系。同样地,在步骤7中,项I1被串行化为表示项I1的副本的二进制大对象B4。在步骤8中,二进制大对象B4被反串行化为项I1(2),项I1(2)在列表L3(2)下持有以匹配列表L3和项I1之间的持有关系。这样,该操作的结果是列表L2以及列表L2下的所有项被复制到存储2。
擦去
图17示出可以与关于擦去项和多个用户对项的访问的讨论来结合使用的示例项结构。在允许多个用户访问同一项和不需其它用户同意而允许单个用户擦去或以其它方式移除这些项之间存在平衡。
在图7示出的说明性结构中,根工作空间“\”直接持有表示分别授权给用户1和用户2的工作空间U1和U2。工作空间U1直接持有工作空间“UDR1”和“Shared”。工作空间U2直接持有工作空间“UDR2”。工作空间UDR1和Shared都直接持有列表L1。工作空间UDR2直接持有列表L2。列表L1和L2都直接持有项I1。
假定在该示例中,用户1创建了列表L1和项I1,且通过建立L1和Shared之间的持有链接(即,通过将列表L1置于工作空间Shared中)来与用户2共享这两项。还假定用户2随后将项I1添加至列表L2。由此,用户2对列表L1和项I1拥有全部权限。然而,假定用户1对列表L2没有权限。在这种情况下,存在对用户1可用的各种组织和生存周期操作。例如,用户1可以从列表L1中移除项I1。项I1将仍旧保留在列表L2以及工作空间UDRI和Shared中。或者,用户1可以从所有的列表中移除列表L1。在这种情况下,项I1将仍旧保留在列表L2中。或者,用户1可以从工作空间UDR或者工作空间Shared中移除列表L1。在该情况下,从中移除列表L1的工作空间中,列表L1和项I1将不再可用。然而,这对其它工作空间没有影响。
另一种选择是,用户1可以从所有的工作空间中移除列表L1。在该情况下,列表L1将一起从存储中被擦去。用户1可能放弃对项I1的兴趣,而项I1将仅在列表L2中对用户2可用。又一选择是,用户1可以放弃对项I1的兴趣,可能是因为用户1不再需要项I1且不在乎在其上发生的事。因此,项I2现在仅在列表L2中对用户2可用。再一种选择是,用户1可以擦去项I1。在该情况下,删除了从列表L1到项I1的持有链接。然而,从列表L2到项I1的链接可能悬挂(即,可能存在但是不指向任何项)。悬挂链接可以保留或可以在下一次打开列表L2时或任何时间被自动清除。
回收
关于图18讨论项的回收,将分为五个标记的部分。如图18的部分1所示,根工作空间“\”直接持有工作空间U1和U2,其每一个分别表示授权给用户1和用户2的工作空间。工作空间U1直接持有列表L1,列表L1又直接持有项I1。工作空间U2直接持有列表L2,列表L2也又直接持有项I1。这样,项I1由列表L1和L2共享。
参考图18的部分2,假定用户1想要回收项I1。在该情况下,项I1可以从用户1的观点被回收(如由工作空间U1发出的虚线所示)。然而,从用户2的观点,项I2仍旧保留在列表L2中。参考图18的部分3,如果用户1清空回收站,那么用户1放弃对项I1的所有兴趣。然而,再一次,项I1仍旧保留在用户2的列表L2中,因为用户2没有请求对项I1的任何操作。
下一步,参考图18的部分4,假定在用户1清空回收站之后,用户2之后想要回收项I1。在该情况下,项I1将从用户2的观点在回收站中出现(如由工作空间U2发出的虚线所示)。参考图18的部分5,当用户2清空回收站时,项I1被完全地删除了,因为没有列表持有项I1。如果另一个列表持有项I1,那么项I1仍旧保留在该其它列表下被持有。
结论
因此,描述了一种新颖的电子文件系统和在这样的系统中管理项的方法。尽管如此处根据本发明的各方面所描述的说明性实施例是作为示例显示的,但是可以理解,本发明不限于这些实施例。

Claims (24)

1.在含有能访问第一和第二存储的电子文件系统的计算机中,一种方法,包括以下步骤:
从所述第一存储中选择第一项,所述第一项组织在所述第一存储中的第一列表下;
响应于选择第一项,确定所述第一项是否也组织在所述第一存储中的第二列表下;
基于所述第一项,在所述第二存储中存储第二项;以及
响应于确定所述第一项组织在所述第二列表下,在所述第一存储中创建目标为所述第二存储中的第二项的第一代理项,所述第一代理项组织在所述第二列表下但不组织在所述第一列表下。
2.如权利要求1所述的方法,其特征在于,还包括从所述第一存储移除所述第一项的步骤。
3.如权利要求2所述的方法,其特征在于,还包括生成作为所述第一项的副本的第二项的步骤。
4.如权利要求3所述的方法,其特征在于,所述生成第二项的步骤包括生成基于所述第一项的二进制大对象、将所述二进制大对象发送给所述第二存储、并将所述二进制大对象转化为所述第二项。
5.如权利要求1所述的方法,其特征在于,还包括以下步骤:
在所述第二存储中选择所述第二项;
响应于选择第二项,确定在所述第一存储中是否存储所述第一代理项;
响应于确定存在所述第一代理项,从所述第一存储中移除所述第一代理项;以及
基于所述第二项在所述第一存储中存储第三项。
6.如权利要求5所述的方法,其特征在于,还包括生成作为所述第二项的副本的第三项。
7.如权利要求1所述的方法,其特征在于,所述第一项和第二项的每一项是文件。
8.如权利要求1所述的方法,其特征在于,所述第一项和第二项的每一项是列表。
9.如权利要求1所述的方法,其特征在于,所述第一项在所述第一和第二列表两者下组织。
10.一种存储计算机可执行指令的计算机可读介质,当执行所述指令时,使计算机执行如权利要求1所述的步骤。
11.一种存储计算机可执行指令的计算机可读介质,当执行所述指令时,使计算机执行如权利要求5所述的步骤。
12.在含有能访问第一和第二存储的电子文件系统的计算机中,一种方法,包括以下步骤:
从所述第一存储中选择第一列表;
基于所述第一列表在所述第二存储中存储第二列表;
确定项是否组织在所述第一列表下;以及
响应于确定所述项组织在所述第一列表下,在所述第二存储中创建目标为所述第一存储中的项的代理项,所述代理项组织在所述第二列表下。
13.如权利要求12所述的方法,其特征在于,所述项是文件。
14.如权利要求12所述的方法,其特征在于,所述第二列表是所述第一列表的副本。
15.如权利要求12所述的方法,其特征在于,还包括在所述创建代理项的步骤之后在所述第一存储中维护所述第一列表的步骤。
16.如权利要求12所述的方法,其特征在于,所述确定的步骤包括确定所述项是否直接组织在所述第一列表下,且所述创建步骤是响应于所述项直接组织在所述第一列表下确定的。
17.如权利要求12所述的方法,其特征在于,所述确定步骤包括确定所述项是否是非列表项,且所述创建步骤还响应于所述项是非列表项的确定。
18.如权利要求17所述的方法,其特征在于,还包括以下步骤:
确定第三列表是否组织在所述第一列表下;以及
响应于确定所述第三列表组织在所述第一列表下,基于所述第三列表,在所述第二存储中创建第四列表,所述第四列表组织在所述第二列表下。
19.如权利要求18所述的方法,其特征在于,所述第四列表是所述第三列表的副本。
20.一种存储计算机可执行指令的计算机可读介质,当执行所述指令时,使计算机执行如权利要求12所述的步骤。
21.在含有能访问第一和第二存储的电子文件系统的计算机中,一种方法,包括以下步骤:
从所述第一存储中选择第一列表,所述第一列表拥有组织在所述第一列表下的一个或多个列表;
对组织在所述第一列表下的所述一个或多个列表的每一个,确定各个列表是否也直接组织在不同于所述第一列表的列表下;
对组织在所述第一列表下的所述一个或多个列表的每一个,响应于确定各个列表不直接组织在不同于所述第一列表的列表下,将各个列表移动至所述第二存储;
对组织在所述第一列表下的所述一个或多个列表的每一个,响应于确定各个列表直接组织在不同于所述第一列表的列表下,将所述各个列表移动至所述第二存储,并在所述第一存储中创建目标为目前在所述第二存储的各个列表的代理项,所述代理项直接组织在不同于所述第一列表的列表下。
22.如权利要求21所述的方法,其特征在于,所述第一列表拥有组织在所述第一列表下的一个或多个非列表项,所述方法还包括以下步骤:
对组织在所述第一列表下的所述一个或多个非列表项的每一个,将各个非列表项移动至所述第二存储。
23.如权利要求22所述的方法,其特征在于,所述一个或多个非列表项中的每一个是文件。
24.一种存储计算机可执行指令的计算机可读介质,当执行所述指令时,使计算机执行如权利要求21所述的步骤。
CNB2005101271730A 2004-11-15 2005-11-15 管理电子文件系统中的列表和其它项 Expired - Fee Related CN100498777C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/986,961 2004-11-15
US10/986,961 US7801854B2 (en) 2004-11-15 2004-11-15 Managing lists and other items in an electronic file system

Publications (2)

Publication Number Publication Date
CN1776682A true CN1776682A (zh) 2006-05-24
CN100498777C CN100498777C (zh) 2009-06-10

Family

ID=35929840

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101271730A Expired - Fee Related CN100498777C (zh) 2004-11-15 2005-11-15 管理电子文件系统中的列表和其它项

Country Status (5)

Country Link
US (1) US7801854B2 (zh)
EP (1) EP1657653A3 (zh)
JP (1) JP2006146907A (zh)
KR (1) KR20060054099A (zh)
CN (1) CN100498777C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153525A (zh) * 2017-03-23 2017-09-12 北京空间飞行器总体设计部 基于柔性带权有向图模型的卫星指令序列生成方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962566B2 (en) * 2006-03-27 2011-06-14 Sap Ag Optimized session management for fast session failover and load balancing
US7640249B2 (en) * 2006-03-29 2009-12-29 Sap (Ag) System and method for transactional session management

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159692A (en) * 1985-07-01 1992-10-27 Canon Kabushiki Kaisha Image file system with multiple control image transfer between first and second filing system storage
JP2973800B2 (ja) * 1993-11-05 1999-11-08 株式会社日立製作所 電子ファイル装置
US6356946B1 (en) * 1998-09-02 2002-03-12 Sybase Inc. System and method for serializing Java objects in a tubular data stream
US6271846B1 (en) * 1998-09-30 2001-08-07 International Business Machines Corporation Method for reanchoring branches within a directory tree
US6922708B1 (en) * 1999-02-18 2005-07-26 Oracle International Corporation File system that supports transactions
US6639615B1 (en) * 1999-05-28 2003-10-28 Unisys Corporation Generic method for programmatically locating any document in a computer network system
JP2003022206A (ja) * 2001-07-06 2003-01-24 Fujitsu Ltd ファイル管理プログラムおよびファイル管理装置
EP1300757A1 (en) * 2001-10-02 2003-04-09 Sun Microsystems, Inc. Shareable installation hierarchies
US6829617B2 (en) * 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
AU2003250883A1 (en) * 2002-07-11 2004-02-02 International Business Machines Corporation A method and system for extending the file system api
US6947950B2 (en) * 2002-11-06 2005-09-20 Oracle International Corporation Techniques for managing multiple hierarchies of data from a single interface
US7272258B2 (en) * 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US7743022B2 (en) * 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US7281014B2 (en) * 2003-04-14 2007-10-09 Novell, Inc. Method and apparatus for moving data between storage devices
US7467168B2 (en) * 2003-06-18 2008-12-16 International Business Machines Corporation Method for mirroring data at storage locations
US7428546B2 (en) * 2003-08-21 2008-09-23 Microsoft Corporation Systems and methods for data modeling in an item-based storage platform
US7216127B2 (en) * 2003-12-13 2007-05-08 International Business Machines Corporation Byte stream organization with improved random and keyed access to information structures

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153525A (zh) * 2017-03-23 2017-09-12 北京空间飞行器总体设计部 基于柔性带权有向图模型的卫星指令序列生成方法

Also Published As

Publication number Publication date
KR20060054099A (ko) 2006-05-22
CN100498777C (zh) 2009-06-10
JP2006146907A (ja) 2006-06-08
US20060106886A1 (en) 2006-05-18
EP1657653A2 (en) 2006-05-17
EP1657653A3 (en) 2006-08-23
US7801854B2 (en) 2010-09-21

Similar Documents

Publication Publication Date Title
JP6971542B2 (ja) 不揮発性メモリ装置におけるデータ特性基盤データ配置を活用するためのインターフェイス提供方法及びシステム並びに不揮発性メモリ装置とそのデータ特性基盤データ配置方法
CN102567140B (zh) 使用变化日志的文件系统备份
US8548950B2 (en) Method and system for data archiving
CN101044483A (zh) 跨越多个位置的存储池空间分配
US20060206507A1 (en) Hierarchal data management
CN1773509A (zh) 计算机文件系统
CN1770114A (zh) 存储网络中的复制操作
CN1770088A (zh) 存储网络中的增量备份操作
CN1917522A (zh) 处理对象的方法和系统
CN1577287A (zh) 与物理存储表示无关地同步逻辑视图
CN102567489B (zh) 搜索文件
CN1892613A (zh) 备份数据协调方法和系统
CN101067822A (zh) 用于元数据的分级存储管理的方法和系统
CN102567457A (zh) 对象模型到键值数据模型的映射
CN101046772A (zh) 回收存储器中的空间的方法和装置
CN103902632A (zh) 键值存储系统中构建文件系统的方法、装置及电子设备
CN1959672A (zh) 文件系统完整性的优化启动验证
CN1917449A (zh) 处理对象的方法和系统
CN101061467A (zh) 远程存储数据副本
CN1764901A (zh) 用于将计算机中的文件、目录和面向应用的文件的至少一个恢复成先前状态的设备
CN1770115A (zh) 存储网络中的恢复操作
CN1719422A (zh) 一种存储器文件数据虚拟存取方法
CN1609851A (zh) 用于识别和存储表格变化的系统和方法
WO2012041667A1 (en) Enhancing data store backup times
US20140304235A1 (en) System and method for maintaining a file system at a computing device

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090610

Termination date: 20191115