CN102273167B - 用于对等网络中数据管理的方法和*** - Google Patents
用于对等网络中数据管理的方法和*** Download PDFInfo
- Publication number
- CN102273167B CN102273167B CN200880132570.9A CN200880132570A CN102273167B CN 102273167 B CN102273167 B CN 102273167B CN 200880132570 A CN200880132570 A CN 200880132570A CN 102273167 B CN102273167 B CN 102273167B
- Authority
- CN
- China
- Prior art keywords
- peer
- entities
- data object
- group
- list
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种在包括多个对等实体的对等***中管理数据对象的存储的方法,其中,对于要存储到对等***中的每个数据对象:a)形成对等实体的群组,以便所述群组满足根据预定稳定性规则的稳定性要求;b)将数据对象存储到所述群组的每个对等实体中,其特征在于:c)所述群组的每个对等实体生成和保存包括所述群组的对等实体的与数据对象相关联的群组列表。
Description
技术领域
本发明涉及对等网络中的数据管理。
背景技术
如R.Bhagwan等人所述(“Replication Strategies for HighlyAvailable Peer-to-Peer Storage”,FuDiCo学报:Future directions inDistributed Computing,2002年6月),在过去几年中,对等网络已经成为大规模内容共享的极受欢迎的机制。与在几个高度可靠的服务器中集中管理数据的传统客户机-服务器应用不同,对等***将数据存储、计算、通信和管理的负担分布到数千个单独客户机工作站之间。现在人们正在研究使对等***具有高度可用性的难题。事实上,对等***的单独管理的工作站可以被接通和断开,加入和离开***,具有断续连通性,并且可能由低成本可靠性部件构成。因此,重要的是具有某种形式的冗余度来保持数据的可用性。
John A.Chandy(“Storage Allocation in Unreliable Peer-to-PeerSystems”,2006可靠***和网络国际会议(2006InternationalConference on Dependable Systems and Networks(DSN))会刊,Philadelphia,USA,2006)提出了一种把注意力集中在正在发布对象并且必须在每个节点具有有限存储的约束下决定将对象的片段放置在什么地方以便使对象的可用性最大的节点上的存储分布策略。该策略使用将一个对象分解成n个片段并分配给n个对等体,但只需要m个片段来恢复数据的m/n擦除码。此外,假设每个节点跟踪***中的K个其它节点的可用性。这K个节点提供了我们可以从中选择n个节点用于冗余的一组节点,这n个节点应该选择成使对象的可用性最大。本申请人注意到,根据这种策略,一旦分配了副本,就没有任何副本维护策略来管理***动态性。因此,关于节点移除,保证不了对象是持久的。
F.M.Cuenca-Acuna等人(“Autonomous Replication for HighAvailability in Unstructured P2P Systems”,第22届可靠分布***IEEE国际论坛(22nd IEEE International Symposium on ReliableDistributed Systems)(SRDS′03))会刊公开了在对等团体之间支持基于内容的搜索,排序,和检索的发布/预订***(PlanetP***)。在PlanetP***中,复制算法规定每个成员定期地从本地存储在其中的一组囤积文件中选择一个文件,并设法提高它生成文件的附加随机擦除编码片段和将它推送给另一个对等体(目标)的可用性。该目标如果在它的复制存储装置中存在足够大的自由空间就接受和保存输入片段。如果没有足够大空间,就拒绝复制请求或逐出足够多的片段来接受新片段。这些牺牲品使用更有可能选择更高可用性片段的加权随机选择过程来选择。目的是朝着共同目标可用性的方向提高共享文件的可用性。本申请人注意到,根据这种策略,存储完整文件或代码片段的成员不是根据它们稳定地保留在***中的单独概率,而是根据全局平均可用性参数来评估。
本申请人面临着提供一种在数据存储和检索方面保证高性能和可靠性的对等***的问题。
发明内容
于是,在第一方面中,本发明涉及一种在包括多个对等实体的对等***中管理数据对象的存储的方法,其中,对于要存储到对等***中的每个数据对象:
a)形成对等实体的群组(group),使得所述群组满足根据预定稳定性规则的稳定性要求;
b)将数据对象存储到所述群组的每个对等实体中,
其特征在于:
c)所述群组的每个对等实体生成和保存所述群组的对等实体的与数据对象相关联的群组列表。
根据本发明的方法,将每个数据对象存储到满足预定稳定性要求的对等实体的群组中的对等***中,并且所述群组的每个对等实体保存具有存储这种数据对象的对等实体的群组列表。因此,每个对等实体被随时通知有关与它本身存储相同数据的对等实体的情况。这样就有利地使所述群组的对等实体能够随时监视所述群组的稳定性,并且,当由于对等***的动态性而不再满足稳定性要求时,改变所述群组的组成,以便恢复稳定性要求。
因此,一旦将数据对象存储到对等***中,尽管对等实体可能以不可预知的方式进入和离开的对等***动态性,但可以保证持久和健壮的存储。
本发明的方法还能够提高数据对象更新过程的效率,因为更新数据对象的请求一到达本地存储数据对象的对等实体,后者(由于它保存的群组列表)能够将该请求传递给存储这种数据对象的群组的所有其它对等实体。因此,可以使数据对象在同时访问和更新方面保持一致。
从属权利要求列出了本发明的具体实施例。
根据一个优选实施例,所述对等***是非结构化对等***。所述非结构化对等***优选地支持统一采样机制。
但是,本发明也可以应用于支持统一采样机制的结构化对等***。
有利的是,步骤a)和b)由希望将数据对象存储到对等***中的对等***的对等实体执行。步骤a)和b)也可以由本地存储数据对象的对等***的对等实体执行。
有利的是,根据本发明的方法,根据所述预定稳定性规则定期检查在步骤a)中形成的所述群组的稳定性要求是否随时间得到保持。在否定的情况下,通过加入或移除对等实体有利地改变所述群组的组成,以便使所述群组返回到满足稳定性要求。有利的是,在每次改变所述群组的组成时,通知所述群组的所有对等实体,以便它们可以更新它们的群组列表。
根据本发明的一个优选实施例,在步骤a)中形成的群组的对等实体根据旨在随时间保持群组的稳定性要求的共同选择准则挑选所述群组的一个主对等实体。在这个实施例中,所挑选主对等实体有利地根据所述预定稳定性规则定期检查所述群组的稳定性要求是否得到保持。在否定的情况下,所述主对等实体通过加入或移除对等实体有利地改变所述群组的组成,以便使所述群组返回到满足稳定性要求。有利的是,在每次改变所述群组的组成时,所述主对等实体都更新它的群组列表。有利的是,在每次改变所述群组的组成时,所述主对等实体都通知所述群组的所有对等实体,以便它们可以更新它们的与数据对象相关联的群组列表。
有利的是,所述共同选择准则规定,选择在所述对等***中具有长持久时间的所述群组的对等实体。优选的是,所述共同选择准则规定,选择所述群组的对等实体当中,在所述对等***中具有最长持久时间的对等实体。
有利的是,根据所述对等***中与所述群组的每个对等实体相关联的持久时间(会话时间)检查稳定性要求。有利的是,所述群组的每个对等实体(定期或按请求地)向所述群组的主对等实体发送包括其当前会话时间的消息。
优选的是,通过使用如下稳定性函数f(G)检查稳定性要求:
其中,NG是属于所述群组的对等实体的数量;Si代表所述群组的第i对等实体的当前会话时间(用小时表达);Sshort和Slong(Sshort<Slong)用小时表达,代表两个会话时间值(通常短的会话时间值和通常长的会话时间值);h代表模拟无故障服务器所必需的会话时间短于Sshort的对等实体的最小数量;ws/h代表具有会话时间Si<Sshort的对等实体的权重;wm/h代表具有会话时间Si的对等实体的权重,其中Sshort≤Si<Slong;以及wl/h代表具有会话时间Si≥Slong的对等实体的权重,其中ws=1和ws<wm<wl。
有利的是,所述主对等实体也根据指示所述群组的对等实体存在于对等***中/从对等***离开的信息随时间保持稳定性要求。
有利的是,所述群组的对等实体定期地向所述主对等实体发送指示它们存在于所述对等***中的心跳消息。
有利的是,当所述主对等实体未从所述群组的对等实体接收到预期心跳消息时,从其群组列表中移除它。有利的是,所述主对等实体还通知所述群组的所有对等实体,以便它们可以更新它们的与数据对象相关联的群组列表。
有利的是,所述群组的主对等实体定期地向所述群组的其它对等实体发送指示它存在于所述对等***中的心跳消息。
有利的是,当所述群组的对等实体未从所述主对等实体接收到预期心跳消息时,它们从其群组列表中移除它。另外,它们有利地根据所述共同选择准则,在所述群组的对等实体当中选择一个新的主对等实体。
通常,所述对等***的每个对等实体都保存包括所述对等***的若干对等实体的邻居列表。
有利的是,所述对等***的每个对等实体都保存包括存储到所述对等***中的数据对象的列表的接入点表格(APT),其中每个数据对象与存储该数据对象的所述对等***的对等实体相关联。由于这种特征,当接收到检索数据对象或更新数据对象的请求的对等实体本身未本地存储数据对象时,它可以检查它的APT是否包括有关存储所述数据对象的对等实体的信息,在肯定的情况下,它可以将所述请求转发给所述对等实体,而不是将所述请求转发给随机选择的对等实体。因此,提高了在本发明的对等***中成功检索/更新数据对象的概率。
有利的是,存储至少一个数据对象和保存包括本身存储数据对象的对等实体的相应群组列表的所述对等***的每个对等实体与所述对等***的另一个对等实体定期交换有关至少一个所存储数据对象和相应群组列表的信息。有利的是,存储多个数据对象和保存相应多个群组列表的所述对等***的每个对等实体与所述对等***的另一个对等实体定期交换有关所存储数据对象和相应多个群组列表的信息。所述另一个对等实体是有利地从对等实体的所述邻居列表中随机选择的。这样就有利地允许在所述对等***上统一分配有关存储在所述对等***中的数据对象和有关存储所述数据对象的对等实体的群组的组成的信息。
有利的是,在每次与所述另一个对等实体交换信息时,每个对等实体通过使用在与所述另一个对等实体交换信息时接收的信息,用另一个数据对象/相关联对等实体对取代存储在其中的数据对象/相关联对等实体对来更新它的APT表格。这样就有利地允许在所述对等***的每个对等实体本地管理的APT之间统一分配有关所述对等***中存储数据对象的对等实体的信息。
通常,在每次交换信息时,每个对等实体还与所述另一个对等实体交换有关从所述对等实体本身保存的邻居列表中选择的至少一个对等实体的信息。所述至少一个对等实体可以随机地或根据预定准则从所述邻居列表中选择出来。
有利的是,当在所述定期信息交换之一时,所述对等实体认识到另一个对等实体存储了与所述对等实体相同的数据对象,但另一个对等实体保存的与所述数据对象相关联的群组列表不同于所述对等实体本身保存的与所述数据对象相关联的群组列表时,则所述对等实体执行适用于修改它的群组列表以便包括属于两个不同群组列表的所有对等实体的恢复过程。
此外,如下面更详细所述,为了恢复所述对等***中存储相同数据对象但由于某些原因分解成两个(或更多个)群组的对等实体的群组,这种恢复过程是有利的。
有利的是,根据所述恢复过程,所述对等实体还将有关修改的群组列表的信息发送给属于修改的群组列表的对等实体,以便它们可以修改它们的与相关数据对象相关联的群组列表。
有利的是,根据所述恢复过程,当修改的群组列表的对等实体修改了它们的群组列表时,它们有利地根据所述共同选择准则挑选新共同主对等实体。然后,与上面已经公开的方式相同,所述新的主对等实体将随时间保持所述群组的稳定性要求。
有利的是,当所述对等***的多个对等实体之一通过请求实体(例如,用户或另一个对等实体)接收到从所述对等***中检索数据对象的请求时,它检查是否本地存储了数据对象,在肯定的情况下,将数据对象提供给所述请求实体。在否定的情况下,访问它的APT表格,以检查是否存在有关存储所请求数据对象的对等实体的信息,在肯定的情况下,所述对等实体将针对数据对象的请求发送给在其APT表格中找到的对等实体。在否定的情况下,将针对数据对象的请求发送给从其邻居列表中选择(通常以随机方式)的对等实体。有利的是,如果预定TTL(存活时间)还未期满,则将所述请求发送给从邻居列表中选择的对等实体。如果TTL已期满,则结束所述过程。
有利的是,为了保证在所述对等***中检索数据对象的给定固定概率,尽管TTL和所述对等***的大小(就对等实体的数量和存储在***中的数据对象的数量而言)因***动态性而可能继续扩大的事实,但每个对等实体有利地适用于根据其APT的内容的分析,尤其,通过查看包括在其APT表格中的数据对象的可变性,对存储在所述对等***中的数据对象的总数的估计,随时间调适其APT的大小。因此,检索数据对象的概率保持不变,与***的大小和动态性无关。
有利的是,当所述对等***的多个对等实体之一通过请求实体(例如,用户或另一个对等实体)接收到更新数据对象的请求时,它检查是否本地存储了数据对象,在肯定的情况下,更新本地存储在其中的数据对象,并且将更新请求转发给包括在它的与数据对象本身相关联的群组列表中的对等实体。只有当有必要时(也就是说,只有当数据对象还未更新时)才有利地更新数据对象。在否定的情况下,所述对等实体访问它的APT表格,以检查是否存在有关存储数据对象的对等实体的信息,在肯定的情况下,有利地将更新请求发送给在其APT表格中找到的对等实体。在否定的情况下,所述对等实体将所述请求发送给从其邻居列表中选择(通常以随机方式)的对等实体。有利的是,如果预定TTL(存活时间)还未期满,则将所述请求发送给从邻居列表中选择的对等实体。如果TTL已期满,则结束所述过程。
在第二方面中,本发明涉及包括多个对等实体的对等***,其中每个对等实体包括在接收到将数据对象存储到所述对等***中的请求的时候,适用于执行如下操作的模块:
-形成所述对等***的对等实体的群组,使得所述群组满足根据预定稳定性规则的稳定性要求;以及
-将存储数据对象的指令发送给所述群组的每个对等实体,
其特征在于:
-所述指令包括有关形成所述群组的对等实体的信息;并且
-所述对等***的每个对等实体还包括在接收到所述指令的时候,适用于存储数据对象以及生成和保存与所述数据对象相关联的群组列表的模块,所述群组列表具有包括在所接收的指令中的对等实体。
从属权利要求列出了本发明的特定实施例。
所述模块可以是硬件模块,软件模块,固件模块或它们的任何组合。
存储数据对象的请求可以由任何请求实体提出。所述请求实体可以是对等实体的用户或适用于提出请求的任何设备。
一旦存储了数据对象,每个对等实体的模块就有利地适用于根据共同选择准则,在与所述数据对象相关联的群组列表的对等实体当中挑选一个主对等实体。
每个对等实体的模块有利地是这样的,当所述对等实体被选为与数据对象相关联的一个群组的主对等实体时,它们适用于根据所述预定稳定性规则定期检查所述群组的稳定性要求是否得到保持。在否定的情况下,所述模块有利地适用于通过加入或移除对等实体改变所述群组的组成,以便使所述群组返回到满足稳定性要求。有利的是,在每次改变所述群组的组成时,所述模块适用于通知所述群组的对等实体,以便它们可以更新它们的与数据对象相关联的群组列表。有利的是,在每次改变所述群组的组成时,所述模块适用于更新它们的与数据对象相关联的群组列表。
有利的是,每个对等实体的模块适用于定期发送指示所述对等实体存在于所述对等***之内的心跳消息。
通常,每个对等实体的模块有利地适用于保存包括所述对等***的若干对等实体的邻居列表。
优选的是,每个对等实体的模块有利地适用于保存包括存储在所述对等***内的数据对象的列表的接入点表格(APT),其中每个数据对象与存储该数据对象的所述对等***的对等实体相关联。
有利的是,每个对等实体的模块适用于与所述对等***的另一个对等实体定期交换有关存储在其中的数据对象的信息(如果存在的话)、和相应群组列表。
有利的是,在每次与所述另一个对等实体交换信息之后,每个对等实体的模块适用于通过使用在与所述另一个对等实体交换信息时接收的信息,用另一个数据对象/相关联对等实体对取代存储在APT中的数据对象/相关联对等实体对来更新对等实体的APT。
有利的是,当在所述定期信息交换之一时,所述对等实体的模块认识到另一个对等实体存储了与所述对等实体相同的数据对象,但另一个对等实体保存的与所述数据对象相关联的群组列表不同于所述对等实体本身保存的与所述数据对象相关联的群组列表时,则所述对等实体模块适用于执行适用于修改对等实体群组列表以便包括属于两个不同群组列表的所有对等实体的恢复过程。
有利的是,根据所述恢复过程,所述对等实体的模块还适用于将有关修改的群组列表的信息发送给属于修改的群组列表的所有对等实体,以便它们也可以修改它们的与相关数据对象相关联的群组列表。
有利的是,每个对等实体的模块是这样的,当所述对等实体通过请求实体(例如,用户或另一个对等实体)接收到从所述对等***中检索数据对象的请求时,它们适用于检查所述对等实体是否本地存储了数据对象,在肯定的情况下,将数据对象提供给所述请求实体。在否定的情况下,所述模块适用于访问所述对等实体的APT,以检查是否存在有关存储所请求数据对象的对等实体的信息。
有利的是,每个对等实体的模块是这样的,当所述对等实体通过请求实体(例如,用户或另一个对等实体)接收到更新数据对象的请求时,它们适用于检查所述对等实体是否本地存储了数据对象,在肯定的情况下:
-如果有必要(也就是说,如果数据对象还未更新),更新数据对象;以及
-将更新请求发送给包括在与数据对象本身相关联的对等实体群组列表中的所有对等实体。
在否定的情况下,所述模块适用于访问对等实体的APT,以检查是否存在有关存储数据对象的对等实体的信息。在肯定的情况下,所述模块有利地适用于将更新请求发送给在APT表格中找到的对等实体。在否定的情况下,所述模块有利地适用于将所述请求发送给从对等实体邻居列表中选择(通常以随机方式)的对等实体。
关于本发明的这个第二方面的进一步特征,参考上面关于本发明的第一方面所述的那些特征。
附图说明
通过参考附图对仅仅作为非限制性例子提供的本发明的一些示范性实施例作如下详细描述,本发明的特征和优点将更加显而易见,在附图中:
-图1示意性地示出了根据本发明一个实施例的对等***;
-图2示意性地示出了图1的对等***的示范性实现情形;
-图3示意性地示出了根据本发明一个实施例的数据对象存储过程的流程图;
-图4a和4b示意性地示出了根据本发明一个实施例的概况(profile)数据结构和存储对象数据结构;
-图5示意性地示出了根据本发明一个实施例保持对等实体群组稳定的过程的流程图;
-图6a和6b示意性地示出了根据本发明一个实施例的混洗操作的示范性情形;
-图7示意性地示出了根据本发明一个实施例的数据对象分配的示范性情形;
-图8示意性地示出了根据本发明一个实施例在混洗操作期间交换的消息的结构的例子;
-图9示意性地示出了根据本发明一个实施例的APT表格的结构的例子;
-图10示意性地示出了根据本发明一个实施例的数据对象检索过程的流程图;
-图11是根据图10的实施例实现的数据对象检索过程的示范性情形;
-图12示意性地示出了根据本发明一个实施例的数据对象更新过程的流程图;以及
-图13a和13b示意性地示出了根据本发明一个实施例的恢复过程的示范性情形。
具体实施方式
图1示出了包括多个对等实体100的对等***1000。
在对等***1000中,每个对等实体100有利地通过标识符(例如,IP地址)唯一地标识。
为了保证对等实体随时间的连接,每个对等实体100保持与多个相邻对等实体(下文也称为邻居)链接。
每个对等实体100有利地保存具有与之链接的相邻对等实体的标识符的本地邻居列表(在图中未示出)。与给定对等实体的链接的创建或删除可以通过将给定对等实体的标识符加入所述本地列表中或从所述本地列表中删除来进行。
根据一个优选实施例,对等***1000是非结构化对等***,其中对等***的布局与数据存储在***中的位置无关,并且根据随机方案链接对等实体。
相邻对等实体之间的关系有利地根据支持统一采样机制的预定叠层(overlay)维护协议来管理。
例如,叠层维护协议可以是S.Voulgaris等人所公开的那种类型的(“CYCLON:Inexpensive Membership Management forUnstructured P2P Overlays”,Journal of Network and SystemsManagement,13(2),2005),它遵循对等实体与叠层中它们的邻居进行连续定期闲聊活动的主动手段。定期闲聊阶段(名为“混洗周期”)具有在相邻对等实体之间随机混合邻居列表的目的。
假设对等实体100适用于根据共同通信协议(例如,TCP/IP)交换数据。
如图2所示,可以将对等实体100部署在通过通信网络1010(例如,互联网或电信网络提供商提供的网络平台)互连的可能数量巨大的服务器1030(和服务器的群集)和最终用户终端1020上。另外,最终用户终端1020可以通过电信接入网1012(诸如ADSL,拨号,GPRS,3G UMTS,WiFi,WiMax等)与通信网络1010连接。
就硬件,软件,操作***等而言,服务器1030可以是异构的。
最终用户终端1020通常是最终用户拥有和管理的设备。
最终用户终端1020示范性地可以是像,例如,蜂窝式电话、PDA、膝上型计算机、个人计算机等那样的移动或固定设备。
于是,对等实体100在可用性和物理资源(例如,存储容量)这两方面都是异构的。
事实上,对等实体100可以处于两种可用类别:总是在线(always-on)和循环(cycled)。服务器1030通常是总是在线类别的,因为它们几乎总是在线,并且通常具有较大可用存储量。另一方面,最终用户终端1020通常是循环类别的,因为它们通常在一天的大部分时间里是下线的,并且可能具有较小的可用于共享的存储空间。
无论如何,每个对等实体100都有利地包括一些存储数据对象的存储空间。
在下文中,示范性地假设,在任何时候,***1000的总存储容量都达到允许存储数据对象的程度。
还示范性地假设,可以将数据对象******1000中,并且只由代表数据对象的拥有者的对等实体更新。
对等***1000中的每个数据对象都通过标识符被唯一标识。
在本说明书和权利要求书中,术语“数据对象”用于指示数据对象本身或数据对象的片段(例如,根据擦除码)。一般说来,术语“数据对象”用于指示代表任何类型的信息的数据结构。
数据对象的例子可以是代表用户概况(包括例如设备的IP地址和用户的ID)、视频和/或音频文件、文本文件等的数据结构。
对等实体100包括适用于在本发明的各个方面中实现本发明的(软件和/或硬件)模块。
图3示意性地示出了根据本发明一个实施例将数据对象存储到对等***1000中的数据对象存储过程。
根据显示在图3中的过程,当代表数据对象的拥有者的对等实体100希望将数据对象存储到对等***1000中时,它创建一个群组(方框30),并且将在它的相邻对等实体当中随机选择的一个对等实体加入该群组中(方框31)。拥有者对等实体可以是该群组的一部分也可以不是该群组的一部分。
然后,拥有者对等实体计算该群组的稳定性值,以验证该群组内的数据对象的预期持久性(方框32),并且将获得的稳定性值与代表期望稳定性值的阈值相比较(方框33)。当该稳定性值高于阈值时,拥有对等实体将存储数据对象的指令发送给该群组的每个对等实体,以便将数据对象的副本存储到该群组的每个对等实体中(方框34)。该指令有利地包括形成该群组的对等实体的列表。
如果该稳定性值小于阈值,那么,拥有者对等实体将在其相邻对等实体当中随机选择的另一个对等实体加入该群组中(方框35),并且在方框32上继续执行该过程。
优选的是,通过使用由本申请人自己定义的如下稳定性函数f(G)计算一个群组的稳定性:
其中,NG是属于该群组的对等实体的数量,Si代表该群组的第i对等实体的当前会话时间(用小时表达)。会话时间代表对等实体在***中的持久时间,用于量化每个对等实体的预期可用性。
在公式中考虑了与会话时间的三个不同范围相对应的三个可用性水平:低可用性水平(Si<Sshort)、中等可用性水平(Sshort≤Si≤Slong)和高可用性水平(Si≥Slong)。
因此,根据该公式,fi可以是取决于会话时间Si的三个值当中的一个:如果Si低于参数Sshort(代表用小时表达的短会话的典型持续时间,例如,Sshort=2小时),那么,fi=ws/h;如果Si在Sshort与Slong之间(后者代表用小时表达的长会话的典型持续时间,例如,Slong=7小时),那么,fi=wm/h;以及如果Si在Slong以上,那么,fi=wl/h。Sshort和Slong是可以由***管理人员根据对等***特有的特性调整的全***(system-wide)参数(对于所有对等实体都相同)。此外,Sshort代表可以将短于它的会话时间Si认为是短会话时间的会话持续时间,即,非常动态对等实体的会话时间;反之,Slong代表可以将长于它的会话时间Si认为是长会话时间的会话持续时间,即,非常稳定对等实体的会话时间。
h是全***参数(对所有对等实体都相同),它代表模拟无故障服务器所必需的具有最小预期会话持续时间(即,具有短于Sshort的会话持续时间)的对等实体的预测最小数量(例如,h=10)。可以根据对等***1000的动态性(就对等实体进入/退出对等***1000的进入/退出速率而言)调整h的值。
ws/h代表具有小会话时间(即,Si<Sshort)的对等实体的权重;wm/h代表具有中等会话时间(即,Sshort≤Si<Slong)的对等实体的权重;以及wl/h代表具有大会话时间(即,Si≥Slong)的对等实体的权重。
ws,wm,wl是全***参数(对所有对等实体都相同),ws等于1并且可以根据***特性以及根据管理人员的偏好调整wm和wl。但是,必须满足如下关系:ws<wm<wl。
示范性值可以是,在h=10的情况下,wm=3和wl=9;ws被默认设置成1。示范性值1/h,3/h和9/h已经由本申请人根据在真正对等***中到今天为止观察到的对等体行为而确定。
可替代的是,ws,wm和wl可以是参数h的函数,例如,它们分别等于h/10,h/2和h。
为了计算稳定性函数f(G),对等实体可以从对等实体本身中或从中心数据库中检索在计算中牵涉到的对等实体的会话时间。
根据稳定性函数f(G),将群组G的稳定性值计算为属于群组G的所有对等实体的fi之和。
一旦稳定性函数f(G)具有至少等于1的值(即,当存储数据对象的副本的对等实体全局地具有与无故障服务器类似的预期稳定性值时),认为群组G是稳定的。这也说明了为什么ws必须设置成1:以这种方式,如果一个群组G恰好由Si<Sshort的h个对等实体形成,则f(G)加在一起是1,并且该群组是稳定的。这就保证了如果将副本存储到一组非常不稳定对等实体中,倘若这些对等实体或多或少独立地离开***,则它们多得足以保证在预期时段内不会所有对等实体都离开***。
稳定性函数f(G)背后的主要思想是基于下述观察:存储到无故障服务器的数据对象总是可用的。因此,考虑到对等实体是异构的,并且因此具有不同预期可用性,稳定性函数f(G)计算多少对等实体足够用来模拟无故障服务器。
为了保证存储在对等***1000中的数据对象的副本的可靠管理,存储给定数据对象的副本的每个对等实体100有利地保存存储数据对象的副本的群组的所有其它对等实体的联系信息(例如,IP地址)。
图4a和4b示出了每个对等实体100本地存储和管理的数据结构的例子。
图4a示出了概况数据结构,其中每个对等实体存储对(下文称为概况)的列表,每个对包括数据对象的标识符(ID)和属于存储这个数据对象的群组的所有对等实体的网格标识符(例如,IPA,...,IPX和IPB,...,IPY)的列表。
图4b示出了存储对象数据结构,其中对于概况数据结构中的每一对,对等实体存储包括数据对象的标识符和与该标识符相关联的数据对象本身的对。
注意,一旦形成一个群组,它的稳定性值就可能取决于属于它的对等实体的行为而随时间而变。尤其,该群组的稳定性值随着对等实体在***1000中的持久时间增长而随时间升高。另一方面,每当该群组的对等实体离开对等***1000时,该群组的稳定性值就减小。
根据本发明的一个优选实施例,一旦形成一个群组,它的稳定性值就受到该群组的一个对等实体(下文称为主对等实体)监视并随时间保持稳定。
主对等实体可以由该群组的对等实体根据共同确定准则选择。例如,可以选择具有最长会话时间或数值最小网格标识符的对等实体。
如图5所示,主对等实体适用于定期计算该群组的当前稳定性值(方框51)。
该群组的当前稳定性值有利地通过应用稳定性函数f(G)来计算。主对等实体可以通过将适当请求发送给该群组的其它当前对等实体或通过与它们定期交换适当消息来获取它们的当前会话时间。
每次计算时,主对等实体都将计算的稳定性值与第一阈值相比较(方框52)。
如果计算的稳定性值低于第一阈值,则用新对等实体扩大该群组(方框53),并且在方框51上继续执行该过程。
如果计算的稳定性值高于第一阈值,则将计算的稳定性值与第二阈值相比较,第二阈值高于第一阈值(方框54)。如果计算的稳定性值高于第二阈值,则通过删除一个对等实体(优选的是最稳定对等实体)缩小该群组(方框55),并且在方框51上继续执行该过程。
第一阈值可以与用在参考图3公开的过程中的阈值相同。
为了避免对等实体进入/退出该群组的连续流动,使用两个阈值是有利的。
根据另一个实施例,可以使用单个阈值。单个阈值可以与用在参考图3公开的过程中的阈值相同。
每当群组的组成发生变化时,主对等实体都有利地更新它的概况数据结构,并且通知该群组的所有对等实体,使得它们可以相应地更新它们的概况数据结构。
当扩大该群组时,可以随机地从主对等实体的邻居中和/或从该群组的一些对等实体的邻居中选择新对等实体。
新选择的对等实体将更新它们的概况数据结构,以便加入包括存储在该群组中的数据对象的标识符和构成该群组的所有对等实体的标识符的列表的对。此外,新选择的对等实体将更新它们的存储对象数据结构,以便加入包括该群组存储的数据对象的标识符和数据对象本身的对。
根据上面公开的内容,很清楚,本发明实现了一种自适应机制,根据该自适应机制,群组的稳定性值随时间被监视并被保持在期望稳定性值。事实上,当当前稳定性值下降到预定阈值以下时,主对等实体通过请求其它对等实体加入该群组来充实该群组并存储该数据对象的副本。另一方面,当当前稳定性值超过预定阈值时,主对等实体请一些对等实体离开该群组。
有利的是,主对等实体将离开该群组的请求发送给将其删除不会导致该群组的稳定性值下降到阈值以下的具有最长观察到的会话时间的对等实体。
这样就使总是在线型的对等实体可以在可能时均匀分布在对等***1000的群组之间。
考虑到对等***1000是异构的,对等实体100可以是总是在线型的或循环型的,以及不存在对等实体行为的先验知识(就对等***1000中的持久时间而言),本发明的自适应机制是有利的,因为它使群组的组成取决于该群组的对等实体的行为而随时间连续得到调整。
尤其,尽管对等实体100可以以动态和不可预知的方式加入和离开***1000的事实,但通过使群组的稳定性值随时间保持稳定,本发明的自适应机制通过使数据对象的复制系数(即,该群组的对等实体的数量)保持最小化而保证了健壮的数据检索。
有利的是,在每个群组中,主对等实体是唯一一个能够影响该群组的组成的对等实体。因此,可以通过其主对等实体的动作(扩大或缩小该群组以便使群组的稳定性值随时间保持稳定)或当该群组的对等实体有意离开对等***1000(例如,因为用户关闭了他的最终用户终端)或出故障(例如,因为最终用户终端的电池耗尽了)时改变群组的组成。示范性地假设对等实体不能自主决定离开该群组,除非它离开对等***1000。
有利的是,群组的每个对等实体定期将消息(在现有技术中称为心跳消息)发送给该群组的主对等实体,以向其通知它存在于对等***1000之中(即,它“活着”)。
类似地,群组的每个主对等实体定期将心跳消息发送给该群组的所有对等实体,以向它们通知它活着。
心跳消息的使用有利地允许从***1000中检测对等实体的离开。
尤其,主对等实体有利地控制成定期从该群组的所有对等实体接收预期心跳消息。如果主对等实体未从该群组的一个对等实体接收到预期心跳消息,它就怀疑这样的对等实体离开了***1000。当主对等实体怀疑一个对等实体离开***1000时,它就从主对等实体的概况数据结构中,与该群组存储的数据对象的标识符相关联的标识符(例如,在图4a中,IPA,....,IPX)的列表中移除受怀疑对等实体的标识符。而且,主对等实体还将有关受怀疑对等实体的情况通知该群组的其它对等实体,以便它们可以相应地更新它们的概况数据结构。
另外,如果在根据图5的过程的定期计算期间,剥离了受怀疑对等实体的群组的稳定性值下降到第一阈值以下,则主对等实体将一个或多个新对等实体加入该群组中,以便使该群组的稳定性值随时间保持稳定。
同样,群组的每个对等实体有利地控制成定期从当前主对等实体接收预期心跳消息。如果未从主对等实体接收到预期心跳消息,它就怀疑主对等实体可能离开了对等***1000,并且根据上述共同确定准则挑选新的主对等实体。而且,当对等实体怀疑主对等实体离开时,它就从概况数据结构中,与相关数据对象标识符相关联的标识符的列表中移除主对等实体的网络地址。
由于对等***1000的异步性,可能发生一些对等实体受到错误怀疑的情况。此外,当怀疑主对等实体离开,以及该群组的其它对等实体挑选了新的主对等实体时,可能发生不同对等实体挑选了不同主节点的情况。这可能引起群组分解(partition)。
事实上,由于对等***的异步性,不同对等实体可能在不同时刻发送心跳消息。另外,不存在心跳信息一旦被发送出来,就被接收方(addressee)对等实体实际接收到的控制。
注意,虽然一个群组的分解不影响数据对象的持续性,但影响数据对象更新的一致性。事实上,可能发生只有属于分解群组之一的数据对象的副本被更新和保持一致的情况。
本发明通过规定在每次混洗操作时,对等实体100交换有关它们存储的数据对象的信息,即,有关它们是其组成部分的群组的信息,克服了这个问题。
如上所述,混洗操作由对等实体100定期执行,以便根据像,例如,S.Voulgaris等人通过上述文章(“CYCLON:InexpensiveMembership Management for Unstructured P2P Overlays”,Journalof Network and Systems Management,13(2),2005)公开的那种预定叠层维护协议来管理相邻对等实体之间的关系。
图6a示出了示范性情形,示出当数据对象分布是示范性地显示在图7中的那种时,对等实体B2和对等实体B5在混洗操作期间可以交换的信息。
在该示范性情形中,B1的邻居是B2和B4;B2的邻居是B1,B3和B5;B3的邻居是B2和B5;B4的邻居是B1和B5;B5的邻居是B2,B3,B4和B6;以及B6的邻居是B5。此外,示出了三个群组,其中:群组1存储标识符是“Zoe”的数据对象的副本并且包括对等实体B1,B2,B3;群组2存储标识符是“Bob”的数据对象的副本并且包括对等实体B3,B4,和B5;以及群组3存储标识符是“Steve”的数据对象的副本并且包括对等实体B5和B6。
于是,在B1的概况数据结构中,存在Zoe-B1,B2,B3对。在B2的概况数据结构中,存在Zoe-B1,B2,B3对。在B3的概况数据结构中,存在Zoe-B1,B2,B3对,以及Bob-B3,B4,B5对。在B4的概况数据结构中,存在Bob-B3,B4,B5对。在B5的概况数据结构中,存在Bob-B3,B4,B5对,以及Steve-B5,B6对。在B6的概况数据结构中,存在Steve-B5,B6对。
在图6a和6b中,每个对等实体也与各自APT(接入点表格)相关联。
APT是每个对等实体100保存的表格,它包括存储到对等***1000中的数据对象的列表,其中每个数据对象与存储数据对象(即,数据对象的副本或数据对象本身)的对等***的对等实体相关联。如图6和9所示,APT中的每个条目是一个对,其中第一元素是数据对象标识符并且第二元素是属于该存储数据对象的群组的对等实体的标识符(例如,IP地址)的对。
如图6a所示,在混洗操作中,B2向B5发送消息,该消息包括对等实体标识符(例如,B2的邻居的一个随机子集-在本例中,B3和B1-和B2的标识符)和B2存储的数据对象的标识符(在本例中,Zoe)的列表,以及属于存储所述数据对象的群组的对等实体(在本例中,B1,B2,B3)的相应列表。类似地,B5向B2发送消息,该消息包括对等实体标识符(例如,B5的邻居的一个随机子集-在本例中,B3和B6-和B5的标识符)和B5存储的数据对象的标识符(在本例中,Zoe和Steve)的列表,以及属于存储所述数据对象的群组的对等实体(在本例中,B3,B4,B5,和B5,B6)的相应列表。
图8示出了在混洗操作中交换的消息的示范性结构。
如图6b所示,在每次混洗操作中,每个对等实体用从其它对等实体在混洗操作期间接收的信息当中随机选择的新对来取代它的APT的随机选择对。在本例中,作为执行图6a的混洗操作的结果,在B2的APT中,已经用Steve-B5对取代了Zoe-B2对,而在B5的APT中,已经用Zoe-B2对取代了Bob-B4对。
根据本发明的一个优选实施例,当在混洗操作中交换消息期间,属于一个群组的对等实体检测到存储相同数据对象的另一个对等实体属于不同群组时,该对等实体开始恢复过程。有利的是,在该恢复过程中,该对等实体将属于两个群组的对等实体合并成单个合并群组。然后,它向属于该单个合并群组的所有对等实体发送适当消息来恢复该群组。该消息将包括对等实体的列表和数据对象的最后更新。一旦该群组被恢复,就选择新的主对等实体。根据上面公开的过程,新的主对等实体将监视新群组的稳定性值以便使它保持在期望阈值上。
图13示出了示范性情形,其中对等实体B2和B5两者均存储数据对象Steve,但分别属于两个不同群组:B1,B2和B5,B6。
图13a示出了一种混洗操作,其中B2向B5发送消息,该消息包括对等实体标识符(例如,B2,B3,B1)和B2存储的数据对象的标识符(Steve)的列表,以及在B2的概况数据结构中,与所述数据对象相关联的对等实体(在本例中,B1,B2)的列表。类似地,B5向B2发送消息,该消息包括对等实体标识符(例如,B5,B3,B6)和B5存储的数据对象的标识符(Bob和Steve)的列表,以及在B5的概况数据结构中,与所述数据对象相关联的对等实体(在本例中,B3,B4,B5和B5,B6)的各自列表。
图13b示出了执行混洗和恢复操作的结果,根据该操作,在B2和B5的概况数据结构中,两个群组B1,B2,和B5,B6被合并成单个群组B1,B2,B5,B6。
为了从对等***1000中检索数据对象,用户可以有利地调用将数据对象标识符作为输入传递给部署在其最终用户终端(例如,移动电话)上的对等实体100的数据对象检索过程。
根据显示在图10中的示范性实施例,在接收到所述输入时(方框11),对等实体100访问它的存储对象数据结构,以检查对等实体本身是否存储了所请求的数据对象(方框12)。在肯定的情况下,对等实体100检索所请求的数据对象,并且将它返还给用户(方框13)。
在方框12否定的情况下,对等实体100访问它的APT,以检查是否存在存储所请求数据对象的对等实体的标识符(方框14)。
在方框14肯定的情况下,对等实体100将请求发送给从它的APT中检索的对等实体(方框15),后者在接收到请求时,将自己执行图10的步骤,即方框11-17。
在方框14否定的情况下,对等实体100检查预定TTL(存活时间)是否已期满(方框15)。
如果TTL还未期满,对等实体100将请求发送给从它的邻居列表中随机选择的对等实体(方框17),该对等实体在接收到请求时,将自己执行图10的步骤,即方框11-17。
如果TTL已期满,则结束该过程。
于是,当找到管理搜索到的数据对象的对等实体时,或当给定数量的步骤(通过TTL定义)期满时,结束数据对象检索过程。就***可缩放性而言,这样做是有利的。
图11示出了普通用户从对等实体B4开始数据对象检索过程以便获取标识符是Zoe的数据对象的例子。对等实体B4在它的概况数据结构中和在它的APT中搜索标识符Zoe,但没有找到。因此,它将数据对象检索请求发送给B2,即,从它的邻居列表(未示出)中获取的随机对等实体。B2重复相同操作。这个过程一直继续到数据对象检索请求到达其概况数据结构或APT包括标识符Zoe的对等实体。在本例中,这个对等实体用B3表示,B3将请求转发给在B3的APT中与Zoe相关联的对等实体(B1)。作为存储数据对象Zoe的群组的一部分的对等实体B1从它的存储对象数据结构中检索数据对象Zoe,并且将这个信息返还给原始请求者,即,B4。在所搜索数据对象不存在的情况下,在预定数量的步骤(由TTL参数定义)之后终止该过程。
在一个优选实施例中,尽管随机路径具有给定TTL并且对等***1000的大小可能因它的动态性而继续扩大的事实,本发明保证了成功检索到数据对象的给定固定概率。
如上所述,本发明实现了在***1000中每个对等实体本地管理APT表格来存储存储数据对象的对等实体的标识符的分布式索引。
本申请人观察到,找到数据对象的概率与存储在对等***中的数据对象的数量成反比,而与APT表格的大小和TTL数成正比,TTL数定义数据对象检索过程可以持续的步骤的最大数量。
形式上,本申请人发现,这样的概率可以通过如下公式给出:
根据这种认知,在本发明的一个优选实施例中,本申请人采用了尽管对等***的动态性,但仍然可以使检索数据对象的概率保持不变的适当APT管理机制。
所采用的机制与L.Massoulié等人提出的采样和冲突机制(“Peercounting and sampling in overlay networks:random walk methods”,第二十五届分布式计算原理年度ACM论坛(the twenty-fifth annualACM symposium on Principles of distributed computing,2006)会刊类似,规定每个对等实体适用于连续分析其本地APT的内容,并通过查看包括在其APT表格中的数据对象标识符的可变性,估计数据对象的总数。然后,每个对等实体将这种估计用于在运行时调适APT大小。
根据这种机制,如果存储在对等***1000中的数据对象的数量增大,则APT的大小也增大。因此,尽管TTL和对等***1000的大小可能因它的动态性而继续扩大的事实,但仍然可以使成功检索到对等***1000中的数据对象的概率保持不变。
存储在对等***1000中的数据对象可以由数据对象的拥有者在任何时候修改。
根据本发明的一个优选实施例,一旦数据对象的拥有者生成其数据对象的更新,就将所述更新应用于存储在***1000中的数据对象的所有副本。
尤其,当代表数据对象的拥有者的对等实体100生成数据对象的新的更新时,它就将该更新发送给从其相邻对等实体中随机选择的对等实体。
如图12示范性所示,当对等实体接收到更新数据对象的请求时(方框121),它就在其概况数据结构(或存储对象数据结构)中检验它是否存储了数据对象(方框122)。如果该对等实体存储了数据对象,那么,它就本地应用数据对象的更新(如果这个更新以前未曾应用过-方框123-124),然后,通过从其概况数据结构中检索存储数据对象的群组的所有其它对等实体的标识符,它将更新转发给这样的对等实体(方框125)。在接收到更新时,所述其它对等实体将自己执行方框121-129的更新过程。
如果该对等实体未存储数据对象,那么,它就访问它的APT,以检查是否存在存储数据对象的对等实体的标识符(方框126)。在肯定的情况下,它就将更新发送给这个对等实体(方框127),在接收到更新时,这个对等实体本身将执行方框121-129的更新过程。在否定的情况下,它就检查TTL参数(方框128),如果TTL还未期满,它就将更新转发给从其邻居中随机选择的对等实体(方框129)。
根据生成它们的次序有利地应用更新。由于通信信道会弄乱消息的次序,所以通过数据对象-序号对唯一地标识每个更新。后者代表生成更新的次序,并且定义当接收到时应该应用更新的次序。
Claims (15)
1.一种用于在包括多个对等实体的对等***中管理数据对象的存储的方法,其中,对于要存储到对等***中的每个数据对象:
a)形成对等实体的群组,使得所述群组满足根据预定稳定性规则的稳定性要求,
b)将数据对象存储到所述群组的每个对等实体中,
c)所述群组的每个对等实体生成和保存所述群组的对等实体的与数据对象相关联的群组列表,
其特征在于:
在步骤a)中形成的群组的对等实体根据共同选择准则挑选所述群组的一个主对等实体,所述主对等实体根据所述预定稳定性规则定期检查所述群组的稳定性要求是否随时间被保持,
以及其中,如果在定期检查时,所述群组的稳定性要求未得到满足,则所述主对等实体通过加入或移除对等实体来改变所述群组的组成,以便使所述群组返回到满足所述稳定性要求。
2.根据权利要求1所述的方法,其中,在每次改变所述群组的组成时,所述主对等实体都通知所述群组的所有对等实体,使得它们能够更新它们的与数据对象相关联的群组列表。
3.根据权利要求1所述的方法,其中,所述对等***的每个对等实体保存包括存储到所述对等***中的数据对象的列表的接入点表格,其中每个数据对象与存储该数据对象的所述对等***的对等实体相关联。
4.根据权利要求3所述的方法,其中,存储至少一个数据对象并保存相应群组列表的所述对等***的每个对等实体与所述对等***的另一个对等实体定期交换有关至少一个所存储数据对象和相应群组列表的信息。
5.根据权利要求4所述的方法,其中,在每次与所述另一个对等实体交换信息时,每个对等实体通过使用在与所述另一个对等实体交换信息时接收的信息,用另一对数据对象和相关联对等实体取代存储在其中的一对数据对象和相关联对等实体来更新它的接入点表格。
6.根据权利要求4或5所述的方法,其中,当在所述定期信息交换中的一次定期信息交换时,所述对等实体认识到所述另一个对等实体存储了与所述对等实体相同的数据对象,但该另一个对等实体保存的与所述数据对象相关联的群组列表不同于所述对等实体本身保存的与所述数据对象相关联的群组列表时,则所述对等实体修改它的群组列表,以便包括属于两个不同群组列表的所有对等实体。
7.根据权利要求6所述的方法,其中,所述对等实体还将有关修改的群组列表的信息发送给属于修改的群组列表的所有对等实体,使得它们也能够修改它们的与相关数据对象相关联的群组列表。
8.根据权利要求7所述的方法,其中,修改的群组列表的对等实体根据所述共同选择准则挑选共同主对等实体。
9.根据权利要求3所述的方法,其中,当所述对等***的多个对等实体之一通过请求实体接收到从所述对等***检索数据对象的请求时,检查是否本地存储了该数据对象,在肯定的情况下,将该数据对象提供给所述请求实体。
10.根据权利要求9所述的方法,其中,当所述对等实体未本地存储该数据对象时,该对等实体访问它的接入点表格,以检查是否存在有关存储了所请求数据对象的所述对等***的对等实体的信息,在肯定的情况下,将针对数据对象的请求发送给这样的对等实体。
11.根据权利要求1所述的方法,其中,当所述对等***的多个对等实体之一通过请求实体接收到更新数据对象的请求时,检查是否本地存储了该数据对象,在肯定的情况下,更新本地存储在其中的该数据对象,并且将更新请求转发给包括在与所述数据对象相关联的其群组列表中的对等实体。
12.根据权利要求3所述的方法,其中,当所述对等***的多个对等实体之一通过请求实体接收到更新数据对象的请求时,检查是否本地存储了该数据对象,在肯定的情况下,更新本地存储在其中的该数据对象,并且将更新请求转发给包括在与所述数据对象相关联的其群组列表中的对等实体。
13.根据权利要求12所述的方法,其中,当所述对等实体未本地存储该数据对象时,该对等实体访问它的接入点表格,以检查是否存在有关存储了该数据对象的所述对等***的对等实体的信息,在肯定的情况下,将更新请求发送给这样的对等实体。
14.一种包括多个对等实体的对等***,其中每个对等实体包括在接收到将数据对象存储到所述对等***中的请求时,适用于执行如下操作的模块:
-形成所述对等***的对等实体的群组,使得所述群组满足根据预定稳定性规则的稳定性要求,
-将存储数据对象的指令发送给所述群组的每个对等实体,所述指令包括有关形成所述群组的对等实体的信息;
并且其中,所述对等***的每个对等实体还包括在接收到所述指令时,适用于存储数据对象以及生成和保存与所述数据对象相关联的群组列表的模块,所述群组列表具有包括在所接收的指令中的对等实体,
其特征在于:
所述对等***的对等实体还包括适于根据共同选择准则挑选所述群组的一个主对等实体的模块,所述主对等实体根据所述预定稳定性规则定期检查所述群组的稳定性要求是否随时间被保持,所述主对等实体包括适于如果在定期检查时,所述群组的稳定性要求未得到满足,则通过加入或移除对等实体来改变所述群组的组成,以便使所述群组返回到满足所述稳定性要求的模块。
15.一种包含在包括多个对等实体的对等***中的对等实体,该对等实体包括在接收到将数据对象存储到所述对等***中的请求时,适用于执行如下操作的模块:
-形成所述对等***的对等实体的群组,使得所述群组满足根据预定稳定性规则的稳定性要求;
-将存储数据对象的指令发送给所述群组的每个对等实体,所述指令包括有关形成所述群组的对等实体的信息;
并且其中,所述对等实体还包括在接收到来自对等***中其他对等实体的存储数据对象的指令时,适用于存储数据对象以及生成和保存与数据对象相关联的群组列表的模块,所述群组列表具有包括在所接收的指令中的对等实体,
其特征在于:
所述对等实体还包括适于根据共同选择准则挑选所述群组的一个主对等实体的模块,所述主对等实体根据所述预定稳定性规则定期检查所述群组的稳定性要求是否随时间被保持,所述主对等实体包括适于如果在定期检查时,所述群组的稳定性要求未得到满足,则通过加入或移除对等实体来改变所述群组的组成,以便使所述群组返回到满足所述稳定性要求的模块。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2008/011143 WO2010075868A1 (en) | 2008-12-30 | 2008-12-30 | Method and system for data management in peer-to- peer network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102273167A CN102273167A (zh) | 2011-12-07 |
CN102273167B true CN102273167B (zh) | 2014-11-26 |
Family
ID=41112587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880132570.9A Active CN102273167B (zh) | 2008-12-30 | 2008-12-30 | 用于对等网络中数据管理的方法和*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US9077727B2 (zh) |
EP (1) | EP2374255B1 (zh) |
CN (1) | CN102273167B (zh) |
WO (1) | WO2010075868A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2234375A1 (en) * | 2009-03-24 | 2010-09-29 | Thomson Licensing | device and method for controlling dissemination of content data between peers in a P2P mode, by using a two-level randomized peer overlay and a dynamic unchoke mechanism |
US20130232198A1 (en) * | 2009-12-21 | 2013-09-05 | Arbitron Inc. | System and Method for Peer-to-Peer Distribution of Media Exposure Data |
US20110153391A1 (en) * | 2009-12-21 | 2011-06-23 | Michael Tenbrock | Peer-to-peer privacy panel for audience measurement |
EP2469882A3 (en) * | 2010-12-23 | 2013-10-09 | BlackBerry Limited | Social media shuffle system and application |
US20120185595A1 (en) * | 2011-01-17 | 2012-07-19 | Alcatel-Lucent Usa Inc. | Traffic Localization Mechanism For Distributed Hash Table Based Peer-To-Peer Networks |
US9081735B2 (en) * | 2011-02-12 | 2015-07-14 | International Business Machines Corporation | Collaborative information source recovery |
US9436748B2 (en) | 2011-06-23 | 2016-09-06 | Simplivity Corporation | Method and apparatus for distributed configuration management |
KR20140054175A (ko) * | 2011-08-26 | 2014-05-08 | 엘지전자 주식회사 | WFD(Wireless Fidelity Direct) P2P(Peer to Peer) 통신을 위한 이웃 발견 방법 및 이를 위한 장치 |
KR101404596B1 (ko) | 2012-05-03 | 2014-06-11 | (주)엔써즈 | 이미지에 기반하여 동영상 서비스를 제공하는 시스템 및 방법 |
WO2014010962A1 (en) * | 2012-07-11 | 2014-01-16 | Samsung Electronics Co., Ltd. | Scheme for device discovery and p2p group formation |
US9131353B2 (en) | 2013-05-08 | 2015-09-08 | Intel Corporation | Apparatus, system and method of setting up an application service platform (ASP) peer to peer (P2P) group |
GB2524074A (en) | 2014-03-14 | 2015-09-16 | Ibm | Processing data sets in a big data repository |
CN104935657A (zh) * | 2015-06-15 | 2015-09-23 | 清华大学深圳研究生院 | 主动推送信息的方法和嵌入式节点操作*** |
CN106604363B (zh) * | 2016-12-07 | 2019-07-30 | Oppo广东移动通信有限公司 | 一种无线保真Wi-Fi扫描方法、移动终端及存储介质 |
FR3061391B1 (fr) * | 2016-12-27 | 2019-05-31 | Worldline | Reseau informatique de noeuds communiquant entre eux par messages en pair a pair et procede d'interconnexion entre noeuds associe |
CN107135108A (zh) * | 2017-05-25 | 2017-09-05 | 深圳市伊特利网络科技有限公司 | 网络连接列表的更新方法及*** |
WO2018214106A1 (zh) * | 2017-05-25 | 2018-11-29 | 深圳市伊特利网络科技有限公司 | 网络连接列表的更新方法及*** |
US10447765B2 (en) * | 2017-07-13 | 2019-10-15 | International Business Machines Corporation | Shared memory device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262360A (zh) * | 2008-04-11 | 2008-09-10 | 中国电信股份有限公司 | 一种实时流媒体多点传输的方法和设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039694B2 (en) | 2000-05-02 | 2006-05-02 | Sun Microsystems, Inc. | Cluster membership monitor |
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US7197565B2 (en) * | 2001-01-22 | 2007-03-27 | Sun Microsystems, Inc. | System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection |
US7783777B1 (en) * | 2003-09-09 | 2010-08-24 | Oracle America, Inc. | Peer-to-peer content sharing/distribution networks |
US20080147821A1 (en) * | 2006-12-19 | 2008-06-19 | Dietrich Bradley W | Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes |
-
2008
- 2008-12-30 US US13/143,053 patent/US9077727B2/en active Active
- 2008-12-30 WO PCT/EP2008/011143 patent/WO2010075868A1/en active Application Filing
- 2008-12-30 EP EP08875135.9A patent/EP2374255B1/en not_active Not-in-force
- 2008-12-30 CN CN200880132570.9A patent/CN102273167B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262360A (zh) * | 2008-04-11 | 2008-09-10 | 中国电信股份有限公司 | 一种实时流媒体多点传输的方法和设备 |
Non-Patent Citations (2)
Title |
---|
Dependable Systems and Networks (DSN’06).Storage Allocation in Unreliable Peer-to-Peer Systems.《Dependable Systems and Networks (DSN’06)》.2006,第227-236页. * |
Storage Allocation in Unreliable Peer-to-Peer Systems;Dependable Systems and Networks (DSN’06);《Dependable Systems and Networks (DSN’06)》;20060625;第227-236页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2010075868A8 (en) | 2010-09-02 |
US20110276633A1 (en) | 2011-11-10 |
WO2010075868A1 (en) | 2010-07-08 |
EP2374255B1 (en) | 2017-03-15 |
US9077727B2 (en) | 2015-07-07 |
EP2374255A1 (en) | 2011-10-12 |
CN102273167A (zh) | 2011-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102273167B (zh) | 用于对等网络中数据管理的方法和*** | |
Guidi et al. | DiDuSoNet: A P2P architecture for distributed Dunbar-based social networks | |
SG173868A1 (en) | Method and system for transmitting information based on social network | |
Shen et al. | Social-P2P: An online social network based P2P file sharing system | |
Xu et al. | A path-traceable query routing mechanism for search in unstructured peer-to-peer networks | |
Arour et al. | Learning model for efficient query routing in P2P information retrieval systems | |
Carchiolo et al. | An adaptive overlay network inspired by social behaviour | |
Yoichi et al. | Consistency preservation of replicas based on access frequency for content sharing in hybrid peer-to-peer networks | |
Wu et al. | State-based search strategy in unstructured P2P | |
Ye et al. | Peer-to-peer replication with preferences | |
Forestiero et al. | Antares: An ant-inspired P2P information system for a self-structured grid | |
Hegedus et al. | Gossip-based learning under drifting concepts in fully distributed networks | |
Liu et al. | Managing peer-to-peer networks with human tactics in social interactions | |
Kwon et al. | Adaptive tree-based P2P video streaming multicast system under high peer-churn rate | |
Eftychiou et al. | A dynamically semantic platform for efficient information retrieval in P2P networks | |
Tian et al. | Constructing efficient peer-to-peer overlay topologies by adaptive connection establishment | |
Bioglio et al. | A game theory framework for ISP streaming traffic management | |
Zhang et al. | A case for coalitions in data swarming systems | |
Raftopoulou et al. | Peer Rewiring in Semantic Overlay Networks under Churn: (Short Paper) | |
Ma et al. | Data resource discovery model based on hybrid architecture in data grid environment | |
Tewari | Performance study of peer-to-peer file sharing | |
Frey et al. | Adaptation for the masses: Towards decentralized adaptation in large-scale p2p recommenders | |
Kobusinska et al. | Data Replication Based on Common Interests in P2P Social Networks | |
Kumar et al. | Distributed context aware collaborative filtering approach for P2P service selection and recovery in wireless mesh networks | |
Ullah et al. | Improving performance of ALM systems with Bayesian estimation of peers dynamics |
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 |