通过基于知识的同步来忘记项的制作方法

文档序号:6595293阅读:297来源:国知局
专利名称:通过基于知识的同步来忘记项的制作方法
通过基于知识的同步来忘记项背景计算机技术(例如,微处理器速度、存储器容量、数据传输带宽、软件功能等等)的进步已经广泛地有助于各种产业中增加的计算机应用程序。通常提供常常被配置成服务器阵列的日益强大的服务器系统来为起源于例如诸如万维网等外部源的请求提供服务。随着可用电子数据的量的增长,以促进用户友好的和快速的数据搜索和检索的可管理方式存储这样的数据变得更加重要。用户常常将相同的信息存储在多于一个的设备或位置中,且数据的复制或同步是通常被用来确保每一数据存储具有相同的信息的过程。例如,用户可以在许多不同的设备或位置中维护电子通信录或一组电子邮件消息。这样的用户还可以使用与每一位置相关联的应用程序来修改联系人信息或发送/接收电子邮件地址。不考虑在何处或如何做出改变,复制的主要目的是确保最终在其他设备/所存储位置中反映在特定设备上或在特定位置中做出的改变。一种普通的复制方法涉及跟踪在先前的复制之后发生的改变。例如,寻求复制另一设备的设备可以提交对这样的其他设备的改变的请求。期望其他设备发送的改变是自最后的复制起已发生的那些改变。响应于对已更新信息的请求的设备或“复制品”可以检查在先前的复制之后被加上时间戳的任何改变。带有这样的时间戳的任何改变可以在随后被发送给复制请求的设备。通常,这样的复制要求每一复制品知晓其他复制品或它正在其中操作的复制拓扑。每一复制品还可以维护在其他复制品上已经复制了什么改变的记录。实际上,每一复制品可以维护关于它认为什么被存储在该拓扑内的其他复制品上的信息。当在相同的同步社区或拓扑中包括多于两个的复制品时,复制的挑战变得更为复杂。这些挑战中,存在涉及基于复制设备的次序用过期的数据替换更为当前的数据、复制已经同步的复制数据、以及将同步的数据报告为冲突的问题。作为一个示例,考虑包括三个复制品的同步社区。在时刻1处,用户更新复制品1。 在时刻2处,更新复制品2中的相同的数据。然后,复制品2复制复制品3且复制品2中做出的改变被合并到复制品3中。如果复制品3随后接收来自复制品1的改变,则用来自复制品1的原始数据替换最初在复制品2上更新的数据,即使来自复制品1的改变不是最近的改变。此外,如果复制品错误地认为它们的信息是不同步的,则通信资源会被无效地分配,且因此执行不必要的同步操作。在上面的三个复制品的同步社区的示例中,如果用户更新复制品1,则这样的改变然后可以被复制到复制品2。然后,复制品2可以将其改变复制到复制品3,其中来自复制品2的信息(这当前也是来自复制品1的信息)在复制品3上被改变。同样地,复制品3然后可以关于复制品1进行复制。在一些情况中,复制品3可以知道复制品1已经被更新——然而不知道复制品1上的信息的版本。因而,复制品3可以将其信息复制到复制品1,即使相同的信息已经在复制品1上。此外,当在随后的时刻复制品 1复制复制品2或执行其他成对复制时,可以继续附加的不必要的复制。其他复制挑战涉及即使在没有实际的冲突存在时也实际上作为冲突而出现的所复制的数据。在上面给定的示例中,最初,在复制品1上的信息可以更新并被复制到复制品2。随后,复制品1上的信息然后可以被复制到复制品3。然后,复制品2和复制品3尝试复制,不料发现它们中的每一个都具有自它们的上次复制之后发生的改变(来自复制品1的复制)。即使改变是相同的,但复制品2和复制品3可以断定冲突存在。另一组问题与在特定时刻数据存储中的数据的部分复制有关。例如,数据存储可以包括诸如收件箱文件夹或包括含有已保存电子邮件消息的文件夹的其他文件夹等各种文件夹中的电子邮件消息。在一些情况中,用户期望将改变复制到全部电子邮件文件夹 (例如,当复制设备之间的通信带宽较大时),同时在更有限的带宽的情况中仅诸如收件箱等特定文件夹要求复制。在另一示例中,用户可以在所有情况中仅同步他们的整个组的数据的部分。举例来说,用户可以期望在台式计算机或服务器上维护所有电子邮件,但是仅将他们的收件箱和所选择的一组文件夹同步到具有有限存储的小设备。在这样的情况中,一些信息可以从不与特定设备同步。在另一示例中,数据存储可以包括数字音乐文件,其中用户可以将整个数字音乐库与便携式音乐播放器或带有大的硬盘驱动器的计算机进行同步。这样的用户也可以期望仅想在其上存储所选择的一组音乐的、采用带有有限量的闪速存储器的小的便携式音乐播放器。在一个示例中,这样的要同步的音乐还可以包括具有预先确定的质量的数字音乐文件(例如,评级为“四星”或“五星”,或者在特定时段内下载)。另外,在同步特定的一组数据时会出现各种附加问题。例如,数据可以在一个时刻或者在一个设备上符合过滤准则且可以在所期望的一组数据中,然而在另一时刻或在另一设备上不符合这样的准则(且因此不在所期望的一组数据中)。另外,即使在数据可以例如在一些同步期间是数据的完全集的子集且在其他同步期间是数据的完全集时,每一复制品也可能需要继续维护对它已经从不同的设备同步的数据的理解。概述以下呈现了简化的概述,以便提供对在此描述的一些方面的基本理解。本发明内容不是所要求保护的本主题的广泛概览。它既不旨在标识所要求保护的本主题的关键元素或重要元素,也不描绘其范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更详细的描述的序言。本主题发明允许从端点移除数据,同时在同步与其相关联的数据源时不将这样的移除传播到其他端点——经由实现“已忘记的项”。这样的已忘记的项表示可以从同步端点本地移除的、但在同步期间不导致在其他节点处的移除的项(例如,作为同步的结果无法进行自动的移除/删除)。因此,被指定为“已忘记”的项表示对端点来说已知的并被从其删除——然而在再次与该复制品重新同步时被再次引入到其中且再次出现(例如,作为创建)的项。这与从不被再次引入的本地删除的项形成对比,除非用户/复制品复位本地的删除(要求显式动作),此时它们有效地变成已忘记的项且可以被同步回来。此外,已忘记的项可以采用附加元数据,例如以指示项是否是已忘记的项的附加位的形式。通常,复制品可以维护被表示为促进高效复制的“知识”的元数据。在相关的方面中,忘记从未被本地修改的项(诸如“计时单位计数=0”等的最后修改的本地计数器)可以容易地通过使得它们的元数据和数据被完全移除来执行。此外, 由于通常复制品从不修改这样的项,所以这样的复制品知道对其执行的所有本地改变。在另一方面中,忘记已经被本地修改的项(最后修改的本地“计时单位计数>0”)可以使得它们的数据被移除,然而它们的同步元数据应被保存,其中指示该项被忘记的位被设置为真。同样地,关于回忆已忘记的项的场景,在一个方面中,由于它们从未被本地修改而在不保留元数据的情况下被忘记的项可以在同步会话期间被常规地同步且不要求执行任何附加动作。此外,其较旧版本被目标端点知道、但最后修改的计时单位计数不被包含在源的知识中的项要求附加动作,附加动作可以包括以下各项中的一个或多个1)保持关于这样的项的减少的知识(要求专门的知识操作和/或将知识分成两个片段)。对这样的项的本地更新要求改变复制品ID,至少对那些项或可能地对整个复制品来说是这样;2)对不知晓所有本地修改的改变进行延期——即使不同步项的较旧版本;3)在检测到项的较旧版本时产生冲突且要求用户介入;和4)在项的较旧版本进来时改变复制品ID。为实现前述的和相关的目的,在此结合下列描述和附图描述所要求保护的本主题的某些说明性的方面。这些方面指示可以实践的本主题的各种方式,所有这些方式都预期是在所要求保护的本主题的范围内。当结合各图考虑时,可以从下列详细描述明显看出其他优点和新颖特征。附图简述

图1阐释根据本主题发明的一方面的实现已忘记的项的同步系统的框图。图2是阐释根据本主题发明的一方面的在已删除的项和已忘记的项之间进行对比的框图。图3阐释根据进一步的方面的将项指定为已忘记的项的指定组件的框图。图4阐释根据本主题发明的一方面的实现从未被本地修改的已忘记的项的相关方法。图5阐释将已经被本地修改的项指定为已忘记的项的进一步的方法。图6阐释根据本主题发明的进一步方面的回忆已忘记的项的相关方法。图7阐释根据一方面的其中可结合指定已忘记的项来实现经过滤的复制的系统的示例性方面。图8阐释可以促进将项指定为已忘记的项的推理组件。图9是根据本主题发明的一方面的可以用作建立已忘记的项的部分的样本计算环境的示意图。图10阐释用于实现本主题发明的各种方面的示例性环境。详细描述现在参考附图描述本主题发明的各种方面,附图中,类似的附图标记贯穿全文指代相似的或对应的元素。然而,应理解,各图及其相关的详细描述不旨在将所要求保护的本主题限制在所公开的特定形式。相反,其意图是覆盖落在所要求保护的本主题的精神和范围内的所有修改、等效物和替代物。图1阐释表示根据本主题发明的一方面的在同步期间实现已忘记的项的同步社区的端点的网络100。端点的网络100从端点102移除数据,同时在同步与其相关联的数据源时不将这样的移除传播到其他端点101、103、105 (1到n,其中η是整数)——经由将项指定为已忘记的项110、112、114(1到n,n是整数)。已忘记的项110、112、114表示在同步过程期间可以从同步端点102本地移除的、但不导致在其他节点101、103、105处的删除的项。端点101、102、103、105中的每一个都可以通过通信链路电耦合到各个复制品。在此同步社区100中,尽管并非全部复制品都通过通信链路直接地连接,但任何复制品中的改变都可以被复制到在同步社区100内的任何其他复制品。例如,对端点中的项执行的改变可以与“改变ID”相关联,“改变ID”可以包括包含复制品的ID和与该改变相关联的版本的对。此外,改变ID可以包括指示这样的改变是关于复制品“A”执行的或者与复制品“A”相关联且用于与其关联的版本的指定。与节点相关联的每一复制品可以维护表示促进高效复制的“知识”的元数据。例如,这样的知识可以包括表示特定复制品知晓的改变的元数据。因此,其他复制品可以免除跟踪任何其他特定的复制品已经知道的内容,因为此信息可以由每一复制品所维护的知识来有效地表示。可以以多个方式来存储或表示这样的元数据或知识,以便支持例如以下的操作 (1)将改变添加到知识的表示,(2)评估改变是否被包括在知识的表示中,以及(3)将两个知识的表示组合在一起,以便形成单个知识的表示。例如,知识可以被表示为对或改变ID 的向量,其中每一对或改变ID是复制品的ID以及与该改变与相关联的最大版本。这样的表示可以被称为“知识向量”。期望将其数据与另一复制品同步的复制品;(其中期望从另一复制品接收它不具有的任何改变的复制品)——可以最初将其知识供应给其他复制品。此外,为了减少表示要在进行复制的复制品之间发送的知识的数据量,知识还可以被表达为如先前所解释的知识向量。因而,在各复制品之间发送的知识不需要包括每一改变ID,但可以是表示多个改变ID的向量的形式。其他复制品还可以采用它已经从第一复制品接收的知识来列举它具有的但第一复制品不具有的任何改变,且然后将任何这样的改变发送回给第一复制品。随后,第一复制品然后可以评估任何所接收的改变是否与它维护的任何改变冲突,且然后将它认为是适当的或有效的(例如,非冲突的)任何改变合并到其数据存储。第一复制品也可以更新其知识表示,以使得知识表示包括它已经接收的新的改变。应明白,单次复制可以将改变从一个复制品传递到另一复制品。同样地,为实现两个复制品之间的复制以使得这两个复制品都具有来自其他复制品的改变,可以并行地—— 例如,在相同的时刻——或同步地相继执行两次单向同步或复制。在其他方面中,改变可以仅在一个方向上流动——其中复制品可以合并来自另一复制品的改变——然而不改变这样的其他复制品中的数据(例如,单向同步)。在其他方面中,也可以在同步请求期间指定或提供过滤器,其中这样的过滤器表示用来标识数据存储中的特定的一组项的构造。此外,在复制期间,然后可以使用过滤器来过滤由列举改变的复制品所标识的改变,以使得只有由过滤器标识改变才被返回给请求者。例如,在由移动电话表示的经过滤的复制品中,存储约束可以本地保证对在复制品的过滤器中的项的删除,其中过滤器部分地或整体地标识在各复制品之间被复制的特定的一组数据。图2阐释在根据进一步方面的实现本主题发明的已忘记的项210和本地删除的项 215之间的示例性对比。这样的已忘记的项210与从未被再次引入的本地删除的项215形成对比,除非用户/复制品复位本地删除(要求显式的动作),此时它们有效地变成已忘记的项且可以被同步回来。此外,已忘记的项210可以采用例如指示项是否已忘记的项的附加位的形式的附加元数据。通常,复制品可以维护被表示为促进高效复制的“知识”的元数据。因此,一旦发生接下来的同步,这样的已删除的项就不应再次出现。相比之下,由于复制品的过滤器和项改变——复制品忘记落在该复制品的过滤器之外的项,且这样的已忘记的项应在它们一移动回到过滤器中就复原。图3阐释将项指定为可以与复制品A 302相关联的已忘记的项360、370、380的指定组件301。这样的已忘记的项360、370、380表示可以从同步端点被本地移除的、但在同步期间不导致在其他节点处的删除的项。因此,被指派成“已忘记”的项表示对端点来说是已知的且被从其删除——然而一旦再次与复制品重新同步就被再次引入到其中且再次出现 (例如,作为创建)——的项。下列讨论与通过两个复制品(复制品A 302和复制品B 304)在端点A、B之间的一般同步有关。一般地,期望将改变从一个端点传递到另一端点。尽管如此,如果项被指定为从一个端点移除这样的项的已忘记的项,则在同步期间这样的项不被从另一端点移除。复制品A 302包括在此示例中被标记为Ka的知识308。知识308可以包括改变ID 的列表。复制品A 302还包括在此示例中被标记为Δ A的一组改变306。类似地,复制品B 304包括被标记为Kb的知识312和被标记为Δβ的一组改变310,且各自都与改变ID相关联。为了开始复制,在时刻1处的操作350中,复制品A 302将同步请求发送给复制品 B 304。同步请求包括复制品A的知识308。在被称为“改变列举”的操作352的一个特定方面中,复制品B 304然后可以将知识308与同它的一组改变310中的每一改变相关联的版本进行比较,且由此关于其改变310中的哪些已经在复制品A的改变306中以及不出现在复制品A中的改变做出判决。换种说法,代替检查复制品B中的改变中的每一个,复制品 B可以将知识308与由复制品B维护的每一项相关联的版本进行比较。使用任一过程,复制品B可以列举复制品A不知晓的改变。例如,如果复制品A的知识向量是Α3Β12且复制品B具有与改变ID Β13和Β14的版本相关联的当前改变,那么,要发送给复制品A的所列举的改变可以包括与改变ID Β13和Β14相关联的那些改变。在一个方面中,如果对相同的项做出由Β13和Β14标识的改变,则可以仅发送Β14。结果,在时刻2处的操作354中,复制品B 304可以仅将与不被包括在复制品A的知识308中的版本相关联的复制品B的改变310的部分发送给复制品A 302。使用改变314 来阐释这样的改变。除了所列举的改变之外,复制品B 304也可以将复制品B的知识312 发送给复制品A 302。 在此示例中,复制品A具有最初在复制品A中的全部改变的知识,只要那些改变没有被由复制品B 304发送的改变所取代。另外,复制品B已经发送在复制品B中但不是已经在复制品A中的全部改变,因此复制品A也具有关于复制品B 304所知晓的全部改变的信息。因此,在时刻3处的操作356中,复制品A可以更新其知识308以便反映改变314的添加。在此情况中,这可以简单地通过将复制品A的知识308添加到复制品B的知识312 并将结果定义为复制品A的知识308的新值来完成。在此时刻,如果不是已经完成,则复制品A也可以合并从复制品B接收的任何改变。通过此机制,执行高效的复制,其中仅复制所需要的改变,且其中仅要求个体复制品维护关于驻留在特定复制品内的改变的信息以及关于复制品所知晓的先前的改变的信息。除了列举改变之外,复制品知识也可以被用于检测在各改变之间的冲突。对已经发起同步操作且已经从另一复制品接收改变和所学习的知识两者的复制品来说,这是常见的任务——发起的复制品然后可以常常想要判断从其他复制品接收的任何改变是否与已经在该复制品中的改变冲突。在此上下文中,冲突被定义为在没有另一改变的知识的情况下就做出的改变。如果在有另一改变的知识的情况下做出改变,那么,后一种改变——在有其他改变的知识的情况下做出的改变——可以被认为是确定的改变,且可以认为没有发生冲突。图4阐释根据本主题发明的一方面的实现从未被本地修改的已忘记的项的相关方法400。尽管在此将示例性方法阐释和描述为代表各种事件和/或动作的一系列的框,但本主题发明不受所阐释的这样的框的排序所限制。举例来说,根据本发明,除了在此阐释的排序之外,一些动作或事件可以以不同的次序发生和/或与其他动作或事件同时发生。另外,根据本主题发明实现的方法并非要求所有所阐释的框、事件或动作。此外,应明白,可以结合在此所阐释和描述的方法以及未阐释或描述的其他系统和装置来实现根据本发明的示例性方法和其他方法。最初,且在410处,可以选择未被本地修改的项以便将其指定为已忘记的项。如果所关联的最后本地修改计时单位计数(tickcoimt)是0且因此指示它从未被本地修改,则可以标识这样的项。接下来,且在420处,由于这样的项从未被复制品修改——它因而知道对其执行的全部本地改变,且可以标识这样的信息。在430处,可以从端点完全移除元数据和所标识的信息。因而,且在440处,然后可以将端点与另一端点同步,且从其移除已忘记的项。图5阐释将已经被本地修改的项指定为已忘记的项的进一步的方法500。最初,且在510处,选择具有大于0的最后本地修改计时单位计数的项。这样的本地计时单位计数指示项已经被本地修改。随后,且在520处,保存与这样的项相关联的同步元数据,且将项指定为已忘记的项。因而,且在530处,可以从端点移除其他数据(例如,除了所保存的元数据之外)。然后,可以将端点与其他端点同步,其中从同步端点本地移除被指定为已忘记的项的项,且然而在同步期间这样的移除不导致在其他节点处的删除。图6阐释根据本主题发明的进一步方面的回忆已忘记的项的相关方法600。最初, 且在610处,关于已忘记的项是否被视为已经被本地修改做出确定。如果不是,则在620处可以在同步期间以常规方式同步这样的项,且没有对执行任何附加动作的要求。否则,方法行进到动作632、634、636、638,其中可以实现下列动作的任一个或其组合在632处,本主题发明可以减少关于这样的项的知识(要求专用的知识操作和/ 或将知识分成两个片段)。对这样的项的本地更新要求改变复制品ID,至少对那些项来说或可能地对整个复制品来说是这样。在634,本主题发明可以对不知晓所有本地修改的改变进行延期——即使不同步该项的较旧版本。在636处,另一方面在检测到项的较旧版本时, 会产生冲突,且要求用户介入。类似地,且在638处,进一步方面在项的较旧版本进来时,会改变复制品ID。图7阐释根据一方面的其中可以结合指定已忘记的项来实现经过滤的复制系统的示例性方面。系统700表示经过滤的复制系统710、项数据存储模块720、知识存储模块 730、过滤器存储模块740、改变列举模块750以及改变合并模块760。项数据存储720可以被配置成存储和管理由经过滤的复制系统复制的一组数据。 例如,经过滤的复制系统710可以包括作为其数据的部分的电子邮件消息,其中项数据存储模块720还可以存储电子邮件消息数据以及诸如电子邮件文件夹信息之类的与存储和访问电子邮件消息相关的其他数据并提供对这些数据的访问。在另一方面中,由项数据存储模块720存储的数据可以包括计算设备上的持久数据,诸如电子邮件消息,以及所有类型的、存储所有种类的数据的其他计算机可读文件(例如,数据存储模块720可以拥有一个或多个版本的特定数据项)。在另一方面中,项数据存储模块720可以存储相同的数据项的多个版本之间的差异。这样可以允许通过将一个或多个改变应用到数据项的特定的完整版本来构造不同的完整版本。在另外的方面中,项数据存储模块不能存储项数据信息本身且可以改为提供对被存储在其他地方的这样的项数据信息的访问。知识存储模块730可以被配置成存储和管理关于经过滤的复制系统710知晓的改变和数据的知识。例如,知识存储模块730可以被配置成存储、管理知识向量以及其他知识的表示并提供对知识向量以及其他知识的表示的访问。此外,过滤器存储模块740可以被配置成存储和管理关于复制中所使用的过滤器的数据。例如,在一些实现中,过滤器存储模块740可以被配置成存储、管理过滤器并提供对过滤器的访问,如系统所预先确定的。如先前所解释的,在其他方面中,过滤器存储模块可以不存储过滤器信息本身且可以改为提供对被存储在其他地方的这样的过滤器信息的访问。同样地,改变列举模块750可以被配置成执行从另一复制品接收对复制的请求所必需的任务、标识其他复制品不知晓的改变以及将那些改变和任何其他有用的知识返回给发起请求的复制品。这样的改变合并模块760可以被配置成执行向另一复制品发起并传送对复制的请求、且然后在其他复制品已经响应之后针对冲突评估所返回的数据并将适当的改变合并到项数据存储模块720、知识存储模块730和/或过滤器存储模块740中所必需的任务。经过滤的复制系统710包含上面讨论的各种模块,这些模块可以执行各种任务且提供与使用过滤器复制数据相关联的各种功能。应明白,尽管经过滤的复制系统710包含各种模块,但在其他方面中,单个模块可以执行与系统中的模块相关联的多于一个的任务或功能。例如,可以依赖于项数据存储模块720来存储系统中所有数据,包括关于项的数据以及关于知识和过滤器的数据。作为另一示例,单个模块可以执行与改变列举模块750和改变合并模块760相关联的任务。类似地,各模块可以执行附加相关任务且可以驻留在多于一个的计算设备上。例如,在一种实现中,改变列举模块750和改变合并模块760可以驻留在特定计算设备上,而项数据存储模块720、知识存储模块730和过滤器存储模块740驻留在一个或多个其他计算设备上。如先前所解释的,可以维护用于要与在被呈现为已忘记的项的指定下同步的项的多个元数据。这可以包括版本信息和标识符信息末端。此外,本地设置的计时单位计数可以维护对被本地修改的项的跟踪。同样地,可以以“改变请求知识”的形式维护关于设备端点的信息并向源通知差异的构造(例如,如下文详细解释的△)的信息,其中可以通过调用Excludeltem(排除项)来排除仍然存储它们的来自本地知识的元数据的所有已忘记的项来构造这样的改变请求知识。另外,知识元数据可以表示涉及源何时发送改变的信息,它还可以提供已经知道的正在发送的数据的目的地。关于已忘记的项的较旧版本,这样的已忘记的项的较旧版本通常要求改变本地复制品ID。然后可以就新的复制品ID而询问末端提供器,且末端提供器可以设置内部标志以便在同步会话结束时改变复制品ID。此外,可以移除关于必须保留的已忘记的项的所有元数据(例如,如果假设此类被指定为已忘记的项的项被本地修改)。以下提供示例性编程接口和API,供其他开发者生成用于数据源的同步提供器以及应用已忘记的项的功能性。例如,可以询问提供器以便获得新的复制品ID,且如果提供器遵循标准ID格式则可以自动地生成此新的复制品ID——或者如果提供器使用客户ID格式则要求它通过其ID生成接口生成新的复制品ID。例如
权利要求
1.一个计算机实现的系统,包括以下计算机可执行组件其间具有数据同步的多个节点;以及与节点相关联的已忘记的项,在所述数据同步期间,对所述已忘记的项的移除不能自动地传播从其他节点移除所述已忘记的项。
2.如权利要求1所述的计算机实现的系统,其特征在于,还包括将项指定为所述节点的所述已忘记的项的指定器组件。
3.如权利要求1所述的计算机实现的系统,其特征在于,还包括与所述节点相关联的本地计数器,用于标识对复制品的本地修改。
4.如权利要求1所述的计算机实现的系统,其特征在于,还包括管理对所存储数据的改变的知识的知识存储模块。
5.如权利要求4所述的计算机实现的系统,其特征在于,还包括维护标识所存储数据中的预定的一组数据的过滤器的过滤器存储模块。
6.如权利要求4所述的计算机实现的系统,其特征在于,还包括评估数据复制品之间的冲突的改变合并模块。
7.如权利要求4所述的计算机实现的系统,其特征在于,还包括管理所存储数据的项数据存储模块。
8.如权利要求1所述的计算机实现的系统,其特征在于,还包括促进将项指定为已忘记的项的推理组件。
9.一种计算机实现的方法,包括以下计算机可执行动作从节点移除已忘记的项;将所述节点与其他节点同步;以及维护所述其他节点中的已忘记的项。
10.如权利要求9所述的计算机实现的方法,其特征在于,还包括将在所述节点处尚未被本地修改的项指定为所述已忘记的项。
11.如权利要求10所述的计算机实现的方法,其特征在于,还包括标识与所述已忘记的项相关的所有元数据。
12.如权利要求11所述的计算机实现的方法,其特征在于,还包括移除所有所述元数据。
13.如权利要求9所述的计算机实现的方法,其特征在于,还包括将已被本地修改的项指定为所述已忘记的项。
14.如权利要求13所述的计算机实现的方法,其特征在于,还包括保存与所述已忘记的项相关联的同步元数据。
15.如权利要求14所述的计算机实现的方法,其特征在于,还包括从所述节点移除除所述同步元数据之外的与所述已忘记的项相关联的所有数据。
16.如权利要求10所述的计算机实现的方法,其特征在于,还包括在与所述其他节点的进一步同步期间在所述节点处回忆所述已忘记的项。
17.如权利要求13所述的计算机实现的方法,其特征在于,还包括在与所述其他节点的进一步同步期间检测所述项的较旧版本。
18.如权利要求13所述的计算机实现的方法,其特征在于,还包括在所述节点与所述其他节点的进一步同步期间改变所述项的复制品ID。
19.如权利要求9所述的计算机实现的方法,其特征在于,还包括在所述节点处接收第一复制品知识值,所述第一复制品知识值表示对第一复制品所知晓的所存储数据的改变的知识,以及将所述第一复制品知识值与同对第二复制品中的所存储数据的改变相关联的版本进行比较,以标识所述第一复制品不知晓的、所述第二复制品所知道的改变。
20.一个计算机实现的系统,包括以下计算机可执行组件用于在与节点同步时从所述节点移除项而不从其他节点移除所述项的装置;以及用于指定项以从所述节点移除的装置。
全文摘要
允许从端点移除数据、同时在同步与端点相关联的数据源时不将这样的移除传播到其他端点的系统和方法。指定组件可以将项指示为已忘记的项,其中这样的项对端点来说是已知的并被从其删除——然而在再次与该复制品重新同步时被再次引入到其中且再次出现(例如,作为创建)。此外,已忘记的项可以采用例如以指示项是否是已忘记的项的附加位的形式的附加元数据。
文档编号G06F9/44GK102187329SQ200980142527
公开日2011年9月14日 申请日期2009年10月16日 优先权日2008年10月21日
发明者L·格沃茨德兹, M·R·克拉克, S·穆亨坦, L·诺维克, A·B·沙哈 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1