CN102077547A - 用于对等网络的优化容错机制 - Google Patents

用于对等网络的优化容错机制 Download PDF

Info

Publication number
CN102077547A
CN102077547A CN2009801252007A CN200980125200A CN102077547A CN 102077547 A CN102077547 A CN 102077547A CN 2009801252007 A CN2009801252007 A CN 2009801252007A CN 200980125200 A CN200980125200 A CN 200980125200A CN 102077547 A CN102077547 A CN 102077547A
Authority
CN
China
Prior art keywords
node
peer
data
key
treatment facility
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
CN2009801252007A
Other languages
English (en)
Other versions
CN102077547B (zh
Inventor
D·通布罗夫
J·F·雷伊
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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 Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN102077547A publication Critical patent/CN102077547A/zh
Application granted granted Critical
Publication of CN102077547B publication Critical patent/CN102077547B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种包括一组节点(N1,N2,N3,N4,N5,N6)的对等网络,该组节点分布于一组处理设备(M1,M2,M3)之中并且被安排成圆形以使得每个节点具有唯一的后继节点,每个节点具有用于存储关联于密钥的数据(D)的存储器并且当接收包含密钥的请求时提供关联于该密钥的数据,并且存储于第一节点的存储器中的每个数据项被复制到与该第一节点不同的第二节点的存储器中。所述第二节点是从部署于与所述第一节点部署于其上的处理设备不同的处理设备组上的节点之中选出的。

Description

用于对等网络的优化容错机制
技术领域
本发明涉及一组处理设备上的对等网络部署。它具体地涉及针对电信应用而使用这些对等网络。
背景技术
特别是在一组处理节点上分配某些电信应用是已知的。以这种方式,每个节点仅处理针对该应用的一部分请求并且可以基于处理这些请求所需要的资源而在需要时动态地调整节点数目。这种结构也意味着可以通过节点间的固有冗余性而容易地使得应用是容错的。然而,对于某些应用而言,在这组节点内进行上下文信息定位仍然存在问题。例如信令单元的某些应用可以请求在向它发送的两个消息之间存储上下文。这个上下文可以被用来适当地处理下一个消息。这是针对SIP或“代理SIP”信令单元的情形,该信令单元必须基于SIP(会话起始协议)会话的状态来处理请求。
对于这种应用,也必须首先存储这个上下文信息并且其次能够在适当的时刻定位所述信息。
一种可能的方法涉及使用一种集中式数据库,每个节点都能访问该数据库并且能在该数据库中存储和检索它所管理的会话的上下文信息。
然而,当这个集中式数据库被实现在硬盘上或等价的硬件载体上时,信息访问时间变得受限并且使得这种解决方案不适合于需要很短的响应时间的应用,例如电信应用。
在存储器中实现数据库消除了这种访问时间问题,但是为了分配访问负载并满足容错限制而包含冗余这一需求使得系统相当复杂。实际上,它涉及构造与处理节点组不同的基础网络。除了这种方法在智能水平方面不十分令人满意这一事实之外,它还导致配置问题并且既不灵活也不易于管理。
通过使用分布式散列表而实现的对等网络被用来以自动的并且对于应用开发人员和位于该应用外部且应当与该应用通信的设备透明的方式来解决这些问题。
图1示出了包括N个节点X1,X2,X3,X4...XN的对等网络。
要存储的上下文信息关联于在这组节点上所分发的密钥。通常,这个分发是通过散列函数来执行的,该散列函数被用来将密钥空间投射到节点空间同时获得这些节点之间的良好负载分配。
上下文信息可以从密钥中找到。同一散列函数的应用被用来确定关联于这个密钥的节点,然后取回存储于该节点中且关联于该密钥的信息。
为了使得系统是容错的,通常将密钥与上下文信息之间的每个关联复制在第二节点上。通过这种方式,如果第一节点不再工作,则该上下文信息可以从这个第二节点取回。
通常用来确定哪个节点必须存储上下文信息的拷贝的一种简单算法涉及选择后继节点,也就是说遵循对等网络顺序的节点。这种选择的优势在于当节点发生故障时,上下文信息的拷贝可以被立即定位。这由此避免了故障之后的不确定时期,这需要附加的过程来正确地管理这个时期而不会对请求做出不正确的响应。
因此,如果应用于所要求的密钥的散列函数指定节点X2并且这个节点在发生故障之后不再可访问或不再包含信息,则系统自动地确定所请求的上下文信息的拷贝位于节点X3中。
对等网络的这些实现在下面这篇文章中有详细说明“Chord:A Scalable Peer-to-peer Lookup Service for Internet Applications”,作者是Ian Stoica,Robert Morris,David Karger,M.Frans Kaashoek和Hari Balakrishnan,ACM SIGCOMM 2001,San Diego,CA,2001年8月,第149-160页。
存在描述用于改进“Chord”网络中的容错的方法的文章。例如,由Haifeng Yu,Philip B.Gibbons和Suman Nath所著的文章“Availability of multi-object operations”建议检查数据是如何在这种网络中被复制的。
然而,在实践中,容错的技术问题一直都存在。对等网络在实践中是部署于处理设备网络上的。由于这些设备越来越强大,将几个节点部署于一个设备上是有利的;而不是安排比节点数目少的若干处理设备。
在图1的例子中,节点X2和X3位于设备M2上,节点X1和XN位于设备M1上并且节点X4位于设备M3上。
结果,如果处理设备发生故障,则所出现的节点可能会受到影响并且不再工作。因此,如果处理设备M2出故障,则两个节点X2和X3不再工作。
另外,根据涉及定位后继节点上的信息拷贝的传统算法,存储于节点X2上的信息被复制在节点X3上。结果,不管是何种现有技术容错机制,关联于该节点的上下文信息都不再可用。
现有技术因而不适于提供足够的容错。本发明的目的是通过改进对对等网络的管理来克服这种不足。
发明内容
为此,本发明的目的是一致包括一组节点的对等网络,该组节点分布于一组处理设备之间并且被安排成圆形从而使得每个节点都具有唯一的后继节点,每个节点具有存储器用来存储关联于密钥的数据,并且当收到包含密钥的请求时提供关联于该密钥的数据,并且存储于第一节点的存储器中的每个数据项都被复制在与该第一节点不同的第二节点的存储器中。
这个对等网络的特征在于,所述第二节点是从部署于与所述第一节点部署于其上的处理设备不同的一组处理设备上的节点之中选出的。
根据本发明的实施例,所述第二节点可以是所述圆形中的第一个节点,该第一节点部署于与所述第一节点不同的处理设备上。
至少一个节点可以拥有同步信息,该同步信息在已检测到所述圆形中的在它之前的节点的输出之后取第一值,并且在对包含于在它之前的所述节点内的数据进行重新同步的阶段之后取第二值,其中所述节点被设计用来根据关联于密钥的数据在其存储器中的存在以及所述同步信息来对包含该密钥的请求做出响应。
所述数据还可以被复制在所述网络的不止一个节点的存储器中。
参考附图
参考附图,通过阅读下面的描述本发明将变得更加明显。
图1(之前已描述)示出了符合现有技术的对等网络;
图2示出了根据本发明的部署于一组处理设备上的对等网络;
图3示出了根据本发明的通信单元。
具体实施方式
图2示出了部署于包括3个处理设备M1、M2、M3的网络上的对等网络。它由安排在圆形C上的一组节点N1、N2、N3、N4、N5、N6组成。每个节点由此具有唯一一个后继节点和唯一一个前任节点。
每个节点具有用于存储关联于密钥的数据的存储器。
通常,散列函数关联于整个对等网络,并且使之能够基于数据项来确定密钥。所述密钥本身使之能够确定网络中的节点。
这样,为了在这种对等网络中存储新的值,该散列函数应当被应用于该值从而确定关联的密钥,并且然后存储请求应当被发送到通过该密钥所确定的节点。
为了定位保存的数据,该密钥也直接确定了包含它的节点。
存在这些机制的不同实现,并且它们在现有技术中被详细地描述。例如,上述关于Chord的文章指出了这些机制的通用实现。
每个数据项也被复制,即拷贝到与通过散列函数而确定的节点不同的节点的存储器中。根据本发明,这个第二节点是从部署于一组处理设备上的节点之中选出的,该组节点与所述第一节点部署于其上的处理设备是不同的。
优选地,该第二节点是圆形C中的紧随其后的那个节点并且部署于与所述第一节点不同的处理设备上。
在图2的例子中,将散列函数应用于数据D使之能够确定节点N2以保存它。这个节点N2部署于处理设备M2上。
圆形C被安排成使得节点N2的后继者是节点N3。然而,这个节点N3部署于与节点N2相同的处理设备M2上并且因而是不适合的。
部署于不同处理设备上的紧随节点N2之后的节点是节点N4。在本发明的这个优选实现中,节点N4是被选择用来存储复制数据D到它的存储器中的那个节点。
如果处理设备M2将变成不可工作的,则节点N2和N3也会变成这样,并且对等网络在剩余的节点N1、N4、N5、N6之中重新安排自己。这种重新安排阶段对于本领域技术人员是已知的并且在文献中有所描述,特别是在上面提到的文章中。
由于数据D已被复制到节点N4,因此它们仍存在于对等网络中。
当只有节点N2变成不可工作时情形是一样的。尽管节点N3仍可工作并且因而仍是对等网络中的成员,然而数据D也按照相同的规则被复制到节点N4的存储器中。
以这种方式,统一地应用一个规则,并且为了定位保存于对等网络中的数据项D,传统机制应当首先被用来定位关联于所搜寻数据的节点,然后应当确定紧随其后的部署于不同处理设备上的节点。
只要节点从对等网络中退出,例如在发生故障之后,网络就重新安排自己。这种重新安排节点会导致所保存数据的重新分配,以及特别是基于所复制的数据对之前包含于节点N2存储器中的数据的复制。直到已完全重新安排了所述数据,对等网络才进行重新同步阶段。
本发明的机制在管理这个同步阶段中产生另一个问题。
这是因为在这个同步阶段期间,位于从对等网络中退出的节点与紧随其后的部署于不同处理设备上的节点之间的节点不能明确知道它们的位置。
在图2的例子中,在节点N2退出后,包含关联于数据D的密钥的请求通过应用散列函数而到达节点N3。
这个节点N3在其存储器中没有数据D。
然而,重要的是它不利用报告该数据D不存在的消息来答复该请求。
本发明因而也包括一种用于预防来自所查询节点的提前的且不正确的响应的机制。
应当指出,简单的机制在于系统地发送请求到紧随其后的节点。然而,这种机制非常昂贵,因为对于不具有相应数据的节点而言它涉及每个请求的额外传输。换言之,每当数据项不存在于对等网络中时,其涉及对消息的无用传输。
这种机制因而是不可接受的。
根据本发明的一个实现,节点N3拥有取两个值的同步信息。
只要节点N3检测到在对等网络中位于它前面的节点N2的输出,同步信息就取第一值。
在重新同步包含于节点内的数据的阶段之后,该同步信息取第二值。这个数据重新同步阶段是在网络的重新安排期间进行的,这在节点退出时被触发。
在重新安排阶段之后,节点N3的数据与包含于下一节点中的数据同步。因此,数据D从节点N4被拷贝到节点N3。节点N4将数据D保存为冗余拷贝。
节点N3对包含密钥的请求的响应取决于该节点存储器中的数据的存在和同步信息的值。
如果所请求的数据在该节点的存储器中,则该节点通过提供该数据来答复该请求。
否则,如果同步信息具有第一值,则该请求被发送至下一节点;而如果同步信息具有第二值,则节点N3利用指示所搜寻的数据不在对等网络内的消息来做出响应。
根据一个变型,只要同步信息拥有第一值,则节点N3就等待同步阶段的结束。那时,它根据所请求的数据是否存在于其存储器中来做出响应。
另一个变型可以在于用指示它仍未能做出响应的消息来答复该请求,并且请求该请求的发送方重复其请求。
图3示出了根据本发明的对等网络对于通信单元的应用。这可以是通信结构中的应用服务器,例如IMS(IP多媒体子系统)结构。它也可以是信令单元,例如符合由IETF的RFC 3261所指定的SIP(会话起始协议)协议的代理,或IMS结构中的CSCF功能(呼叫会话控制功能)。
这个通信单元E2具有用于通过通信网络NTEL接收来自另一单元E1的请求Req的装置。请求Req由负载分配模块LB来处理,该模块用于针对通信会话的每个第一请求来确定由哪个节点N1,N2,N3,N4,N5处理该请求。这些节点构成如上所述的对等网络Np2p
对所述请求的处理会导致上下文信息的生成,该信息对于处理属于同一会话的另一请求而言可能是有用的或必需的。它因而关联于密钥并且被存储于与该密钥对应的节点中。
通过应用于会话标识符(例如发送的通信单元E1的IP地址,SIP请求的“call ID”报头,等等)的散列函数来进行关联。这个散列函数的结果可以直接给出节点号模网络中的节点数目。这些不同的机制在现有技术中是已知的并且不在本申请中详细描述。可以参考之前提到的涉及“Chord”机制的文章以获得更多的细节。
在图3的例子中,上下文信息C被存储在节点N2中。它被复制在没有部署在同一处理设备的紧随其后的节点中。假设这是节点N4。
这样,属于同一会话的后续请求可以通过取回存在于节点N2上的文本信息来被处理,并且在该节点出故障的情况下是在后继节点N4上。
由于这两个节点N2和N4不在同一个处理设备上,它们同时出故障的概率很低。
本发明因而解决了技术问题,而基本上没有更改对等网络管理的已知机制。

Claims (6)

1.一种包括一组节点(N1,N2,N3,N4,N5,N6)的对等网络,该组节点分布于一组处理设备(M1,M2,M3)之中并且被安排成圆形以使得每个节点具有唯一的后继节点,每个节点具有用于存储关联于密钥的数据(D)的存储器并且当接收包含密钥的请求时提供关联于该密钥的数据,并且存储于第一节点的存储器中的每个数据项被复制到与该第一节点不同的第二节点的存储器中,其特征在于,所述第二节点是从部署于与所述第一节点部署于其上的处理设备不同的处理设备组上的节点之中选出的。
2.根据权利要求1所述的对等网络,其中,所述处理设备的数目小于所述节点的数目。
3.根据权利要求1或2所述的对等网络,其中,所述第二节点是部署于与所述第一节点的处理设备不同的处理设备上的所述圆形内的第一个节点。
4.根据前述权利要求之一所述的对等网络,其中,至少一个节点具有同步信息,该同步信息在已经检测到在所述圆形中位于该至少一个节点之前的节点的输出时取第一值,并且在所述位于该至少一个节点之前的节点内所包含的数据的重新同步阶段之后取第二值,其中,所述节点被设计用来根据其存储器中的关联于密钥的数据的存在和所述同步信息来对包含该密钥的请求做出响应。
5.根据前述权利要求之一所述的对等网络,其中,所述数据被复制在所述网络的不止一个节点的存储器中。
6.一种通信单元(E2),其包括根据前述权利要求之一的对等网络(Np2p)。
CN200980125200.7A 2008-11-27 2009-11-20 用于对等网络的优化容错机制 Expired - Fee Related CN102077547B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0858060A FR2938997A1 (fr) 2008-11-27 2008-11-27 Mecanisme de tolerance aux fautes optimise pour reseau pair-a-pair
FR0858060 2008-11-27
PCT/FR2009/052241 WO2010061103A1 (fr) 2008-11-27 2009-11-20 Mecanisme de tolerance aux fautes optimise pour reseau pair-a-pair

Publications (2)

Publication Number Publication Date
CN102077547A true CN102077547A (zh) 2011-05-25
CN102077547B CN102077547B (zh) 2016-04-20

Family

ID=41009973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980125200.7A Expired - Fee Related CN102077547B (zh) 2008-11-27 2009-11-20 用于对等网络的优化容错机制

Country Status (7)

Country Link
US (1) US8682976B2 (zh)
EP (1) EP2192739B1 (zh)
JP (1) JP5575142B2 (zh)
KR (1) KR101584837B1 (zh)
CN (1) CN102077547B (zh)
FR (1) FR2938997A1 (zh)
WO (1) WO2010061103A1 (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204509A1 (en) * 2002-04-29 2003-10-30 Darpan Dinker System and method dynamic cluster membership in a distributed data system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212206B1 (en) * 1998-03-05 2001-04-03 3Com Corporation Methods and computer executable instructions for improving communications in a packet switching network
JP2008129694A (ja) * 2006-11-17 2008-06-05 Brother Ind Ltd 情報配信システム、情報配信方法、配信装置及びノード装置等
US8238237B2 (en) * 2007-06-18 2012-08-07 Sony Computer Entertainment Inc. Load balancing distribution of data to multiple recipients on a peer-to-peer network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204509A1 (en) * 2002-04-29 2003-10-30 Darpan Dinker System and method dynamic cluster membership in a distributed data system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAIFENG YU ET AL: "Availability of Multi-Object Operations", 《USENIX NSDI’06 TECHNICAL PAPER》 *

Also Published As

Publication number Publication date
KR101584837B1 (ko) 2016-01-12
JP5575142B2 (ja) 2014-08-20
EP2192739B1 (fr) 2018-04-18
JP2012510228A (ja) 2012-04-26
CN102077547B (zh) 2016-04-20
EP2192739A1 (fr) 2010-06-02
US20100131611A1 (en) 2010-05-27
WO2010061103A1 (fr) 2010-06-03
US8682976B2 (en) 2014-03-25
KR20110089160A (ko) 2011-08-04
FR2938997A1 (fr) 2010-05-28

Similar Documents

Publication Publication Date Title
CN102035886B (zh) 联盟基础结构内的一致性
Aspnes et al. Skip graphs
US7644087B2 (en) Method and apparatus for data management
US8914333B2 (en) Systems for storing files in a distributed environment
US20090144338A1 (en) Asynchronously replicated database system using dynamic mastership
JP4291077B2 (ja) 分散ストレージ装置のファイル管理方法及び分散ストレージシステム
US20090144220A1 (en) System for storing distributed hashtables
JP2016053951A (ja) 情報中心ネットワークにわたって分布及びフォールトトレラント状態を維持するシステム及び方法
US8478898B2 (en) System and method for routing directory service operations in a directory service network
US8559445B2 (en) Systems and methods for distributing data
US20110225120A1 (en) System for maintaining a distributed database using leases
US20090144333A1 (en) System for maintaining a database
EP2502415A2 (en) Record operation mode setting
CN102077547A (zh) 用于对等网络的优化容错机制
CN101605150B (zh) 对等网络的优化容错机制
CN101322383A (zh) 用于确定文件的对等体网络来源站的方法和对等体网络
CN116431594A (zh) 一种数据存储方法及装置、计算机可读存储介质
Peruru A reliable and scalable addressing scheme for data distribution
US20080056274A1 (en) Method and apparatus for dynamically maintaining a routing database for a SIP server
Kussmaul System Architecture-Distributed B-Trees Version
KR20120089370A (ko) P2p 네트워크 노드의 자체 포함된 리부트

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160420

Termination date: 20171120

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