首页> 中国专利> 用于在对等系统中对事务进行所有权转移的方法和设备

用于在对等系统中对事务进行所有权转移的方法和设备

摘要

本发明涉及在对等网络(30)中执行变更的所有权转移的方法、设备和协议。该设备或对等体可以是汽车、车库、录像机(VCR)、个人数字助理(PDA)、手机、气候系统、电视、灯、咖啡机、收音机、DVD播放器、CD播放器、信息面板、网络平板电脑、智能远端、电话应答机、个人电脑(VCR)。所述方法包括如下步骤:尝试,借助于第一设备(31)来尝试查找将接受提交所述变更的责任的第二设备(32);转移,借助于所述第一设备将提交该变更的责任转移到所述第二设备并将该变更传播到所述第二设备,其中全局提交状态变量也被转移到所述第二设备并且其中所述全局提交状态变量在所述第二设备上保存着;设置,当所述第一设备重新进入网络并检查该全局提交状态变量的状态之时,借助于所述第一设备将局部提交状态变量设置为“临时的”,表示该设备将表现得好像该全局变量通过了一样的,其中所述第一设备在随着把该局部提交状态变量设置为表示真实提交的‘空的’之时,保持等待直到它得到确认:该全局提交状态变量也被设置为‘空的’;或设置,借助于所述第一设备将局部提交状态变量设置为表示真实提交的‘空的’;以及传播,当在所述第二设备上接收到并接受提交该变更的责任之时,借助于所述第二设备将所述变更传播到一个或多个所述变更相关的设备(33、34)。

著录项

  • 公开/公告号CN1759395A

    专利类型发明专利

  • 公开/公告日2006-04-12

    原文格式PDF

  • 申请/专利权人 皇家飞利浦电子股份有限公司;

    申请/专利号CN200480006705.9

  • 发明设计人 W·F·J·方蒂恩;A·斯尼特斯恩;

    申请日2004-03-09

  • 分类号G06F17/30;H04L29/08;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人程天正

  • 地址 荷兰艾恩德霍芬

  • 入库时间 2023-12-17 17:03:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-05-25

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20090415 终止日期:20100309 申请日:20040309

    专利权的终止

  • 2009-04-15

    授权

    授权

  • 2006-06-07

    实质审查的生效

    实质审查的生效

  • 2006-04-12

    公开

    公开

说明书

本发明涉及一种在对等(peer-to-peer)网络中执行变更的所有权转移的方法。

该变更是在所述对等网络中的各种设备之间转移的。

本发明也涉及一种用于执行该方法计算机系统。

本发明还涉及一种用于执行该方法的计算机程序产品。

另外,本发明涉及一种用于变更的所有权转移的协议。

本发明还涉及一种相当于对等体的设备,所述对等体属于所述对等网络。

该发明还涉及一种包括存储在计算机可读介质上以执行所述方法的代码装置的计算机程序产品。

WO 02/39305揭示了借助于代理控制(delegated control)的信息管理。一种信息管理系统在数据集上采用代理控制。所述信息管理系统包括相交互来存储信息的多个软件和多个计算机。所述代理控制是从委托系统(作为所谓的“委托方”)到代理系统对所述数据集进行临时或部分的转移。

众所周知的是,在分布式数据库中提交事务或代理控制是很困难的。当前在本领域中有三种可供选择的基本事务模型:

第一,发起部分发送更新到中央事务服务器,这个服务器负责更新所有相关部分并提交变更。

第二,发起部分将更新传播到数据库相关的所有部分,并且它一从所有相关部分获得消息:它们接到了该更新,就提交变更。

第三,这种提交不被显式地执行。存在只是传播变更并假定提交的协议,例如所谓的“gossip(会话)协议”(参见下面的参考)。

David Kempe、Jon M.Kleinberg、以及Alan J.Demers的Spatialgossip and resource locations(空间会话和资源定位),在ACM Symposium on Theory of Computing(关于计算理论的ACM讨论会)中的第163-172页(2001)。

Alan Demers、Dan Greene、Carl Houser、Wes Irish、以及JohnLarson的Epidemic algorithms for replicated databasemaintenance(用于复制的数据库维护的流行算法),SIGOPS,22(1):8-32,1987。

使用这种服务器的第一种选择是个难题,因为不是所有分布式数据库都具有控制例如P2P(对等peer to peer)系统中的所有事务的中央处理器。而在这样情况下,第一个选择就存在问题问题。

另外,一些分布式数据库具有不总是和所有相关部分和/或中央事务服务器相联系的部分,即,ad-hoc连接,而在这样情况下第二选择就存在问题。结果,发起部分也许就不能提交变更。

在许多情况下,不显式地提交并不是一种选择方案,因为这意味着关于提交存在不确定性。在这种情况下,第三选择就存在问题。

这样就在对等通信中提出了没有足够可靠/健壮的事务模型的问题,也即,这样的一个问题:例如对数据库、文件等等的变更的事务(其中该数据库、该文件等驻留在不同于希望使得变更得到执行的对等体之外的其它对等体之上),在一些场合中就不被执行。因而,所述文件、数据库等等就保持未被更新的状态-更糟的是-所述变更的请求者并不知道这个情况。

大家从本领域技术可知的是:对等是一种通信模型,其中每一方(即每一个对等体)都具有相同能力,并且每一方也能启动通信会话。可与对等通信模型形成对照的其它模型包括客户机/服务器模型和主/从模型,这二者在本领域都是公知的。在一些情况中,对等通信是通过赋予每个通信节点服务器和客户机这两种能力来实现的。在最近的应用中,对等已涉及描述这样的应用,其中用户能够使用因特网来与彼此直接或通过一个居中服务器来交换文件、更新数据库。

在因特网上,对等(称为P2P)是一种瞬时因特网网络类型,其允许一组具有相同联网程序的计算机用户(对等体)与彼此相连,并直接从另一方的硬件设备访问文件。Napster和Gnutella是这种类型的对等软件的代表。一些公司正着眼于P2P的优势,将其用作员工共享文件、更新和访问公用数据库、信息等等而不涉及维护集中服务器的开支的方式,以及用作企业彼此直接交换信息的方式。

当应用因特网P2P之时,在本领域中大家都知道用户必须首先下载并执行一个对等联网程序,例如,Gnutella-net是这些分散式P2P程序中最受欢迎的程序之一,因为它允许用户交换所有类型的文件。在启动该程序之后,用户输入另一属于该网络的计算机的IP地址,典型地,用户获得下载的Web页会列出几个IP地址作为开始的位置。一旦该计算机发现另一网络成员在线,它就会连在那个用户的连接上,其已经从另一用户的连接获得它们的IP地址等等。

在本领域中大家还都知道,对等的用户能够选择一次寻找多少个成员连接,并确定他们想要共享、更新或密码保护哪些文件、数据库、信息项,但是所述问题还有待解决。

但是,在本发明的所述方法包括图4中所述的步骤之时,所述问题被这一方法解决了。

因此本发明的优点在于:分别提出的方法和协议能够实现对提交变更的责任进行代理。

该发明还具有这样的优点,即使变更的启动者(如所要求的第一设备)不再连接着,也能够实现对变更进行的提交。

在大多数情况下,分布式数据库的完整性能够得到维护和保证。此外,由于没有中央服务器,所以使对等网络能够不怎么会受到攻击,并且还使数目任意多的对等体的通信能够实现,即该网络能够扩大或缩小且仍具有所述优点。

出于之前相对于该方法所描述的相同原因,所述系统、协议和设备分别提供相同的优点并且解决相同的问题。

下面将与优选实施例结合并参考附图来更充分地说明该发明,其中:

图1示出了与系统相联系的对等体把一个更新的责任转移到一个与该系统持久联系的对等体的各种方式。

图2示出了随着提交状态变量的状态变更而进行的责任转移。

图3示出了一个设备网络;

图4示出了一种在对等网络中执行变更的所有权转移的方法;

图5示出了在事务所有权转移期间提交状态变量的变更。

贯穿本发明的说明书,将事务理解为如下:

在计算机程序设计中,事务通常表示信息交换和相关工作(例如数据库或文件的更新)的序列,为了满足请求的目的和为了保证数据库或文件的完整性,该序列被作为一个单元来处理。对于要完成的事务,以及要变为持久性的数据库或文件的变更来说,该事务必须要在整体上完成。典型的商业事务可以是由客户打进电话并由客户代表输入计算机的目录商品订单。该订单事务包括检查存货数据库,确认该项目是有的,下订单,以及确认该订单已经下了和出货的预期时间。如果这被认为是单个事务,那么所有步骤都必须在该事务成功之前完成,并且数据库被实际变更以反映该新订单。如果在该事务成功完成之前发生某事,对数据库的任何变更都必须被记住,以便可以撤消(例如,回滚)它们。

图1示出了与系统相联系的对等体将更新的责任转移到一个与该系统持久联系的对等体的各种方式。

在该图中,参考数字(a)示出了与系统临时联系的对等体将更新(黑点)的责任(正方形)转移到一个与该系统持久联系的对等体。

参考数字(b)示出了第二对等体是怎样接受以及发起者是怎样进行临时提交(白点)的。

参考数字(c)示出了接受者将该变更传播到其它相关部分。

参考数字(d)示出了其它对等体如何确认收到该变更并且示出了该变更被提交(灰点)了。

参考数字(e)示出了如果该发起者再次和系统相联系,它就会检查该变更的状态。

参考数字(f)示出了在该系统中接受者确认收到该提交。

图2示出了随着提交状态变量的状态变更而进行的责任转移。

这个图示出了与图1的三个差别:

1)原始接受者将该责任传播到其它对等体(原因可能是3)。

2)该发起者假定真实提交(commit)而不是临时提交。

3)对等体的范围受到更大的限制。

参考数字(a)示出了一个与系统临时联系的对等体将更新(黑点)的责任(正方形)转移到一个与系统持久联系的对等体。参考数字(b)示出第二对等体接受了并且示出了发起者假定它能够进行真实提交(灰点)。参考数字(c)示出了接受者将传播该变更(黑点)以及与它相联系的其它相关对等体的责任(正方形)。参考数字(d)示出了两个接受对等体都接受了责任并且原始接受者进行真实提交。参考数字(e)示出了代理接受者将该更新传播到更进一步的对等体。参考数字(f)示出了最后的更新接收对等体确认在它们的系统中收到所述提交,并且代理接受者也这样做。后者还分解该更新任务。

相对于状态过渡,提出了三种类型提交,这些提交在具有各种状态(即真实提交状态、临时提交状态或假定提交状态)的提交状态变量中相应地得到反映,但是假定提交不是一种独立的状态,即,它与真实提交是相同的状态,不过是通过不同过渡到达的。

假定提交状态是没有被确认的真实提交。初始状态不被提交。最终状态被提交。这与真实提交状态完全相同。不同点就在于:真实提交获得居间确认。注意,假定提交状态可能会存在危险,因为如果更新没有被其它对等体提交,那么即使假定了该更新要发生,它也会导致不一致。出于这个原因可以应用临时提交状态。所以,假定提交状态和临时提交状态之间的不同点在于:在后一种情况中,还有一个指示该提交(临时状态)未得到确认的标志(或相似的指示)。如果该确认后来才有,这个标志就可以除去,也就是,该提交状态变为(真实)提交,即真实提交状态。所以,临时提交状态被看作这样的‘真实’提交,对于其而言,预计确认会晚来到。

所以,关于提交,提交状态变量就存在四种状态。仅着眼于提交,0和3之间并没有不同,即数据库在一个更新状态下使用3种,不过没有任何更新处于挂起:

(0)没有更新挂起=没有关于提交的状态

(1)未提交的=更新挂起;

(2)临时提交=更新被提交到该数据库,但是未经确认;以及

(3)真实提交=更新被确认(其它提交)或被假定且被提交。

在状态(0)中,一个更新请求被接收,这使得它进入状态(1)。对等体现在可以等待着直到它获得一个确认(真实提交=状态(3))为止,假定确认(假定提交=状态(3)),或暂时假装它具有该确认,因为它期望它稍后将获得它(临时提交=状态(2))。

如果(最终)确认到来,状态(2)就变成状态(3)。状态(3)等于状态(0),即,相当于没有更新处于挂起的已更新状态。

图3示出了一种设备网络。所述设备网络是借助于参考数字30来图示的。如将在下一个图中更详细说明的那样,第一设备,参考数字31会尝试查找另一个对等体,即第二设备,参考数字32,第二设备将接受提交变更的责任。因此,所述第二设备将会把该变更传播到至少一个另外的设备,例如参考数字33和34,假定对于这些设备来说所述变更是相关的。在该网络中可以有更多的设备存在,例如参考数字35、36和37。该网络是出于说明性的目的而示出的,任何其它的对等体或设备的动态或静态拓扑结构或布置方案也都可以应用在本发明中。

所述设备中的任何一个可以是汽车、车库、录像机(VCR)、个人数字助理(PDA)、手机、气候系统、电视、灯、咖啡机、收音机、DVD播放器、CD播放器、信息面板、网络平板电脑、智能远端、电话应答机或个人电脑。作为一个实例,在原则上,可访问该网络的灯可以把变更(时间表变更)传送到例如个人数字助理(PDA)、网络平板电脑、智能远端、电话应答机和/或个人电脑,因此就保证了用户多半会接收到所述时间表变更。

所提及的设备备选方案可以理解为与在该因特网上找到的类型相似的瞬时网络的对等类型中对应的对等体,该因特网允许一组具有相同或相似的联网程序或协议的计算机用户(能够访问他们对应的对等体或设备)与彼此相连,并从另一个用户的硬件设备、存储器等等直接访问和/或更新文件、数据库,等等。对等网络只不过是一个对等体的网络,因特网、Gnutella软件、计算机都只是具体实现形态的例子。

所述状态变更可以应用在用于变更的所有权转移的协议中,也就是,该协议将包括具有不同状态(即真实提交和临时提交)的提交状态变量。如果更新请求的发起者试图转移提交的责任,那么它也会传递它在该责任被另一个对等体接受时它所将处的状态。该发起者可能是未被提交的,被提交的或被临时提交的。第一种情况(即发起者是未被提交的)根据本发明就被避免了,因为接受者需要等待来自发起者的提交。第二种情况(即发起者是被提交的)被提交的发起者不需要来自接受者朝着发起者的进一步动作。第三种情况(即发起者被临时提交的)意味着该接受者需要紧记:该发起者稍后也许会想要确认或需要确认。

注意,任何类型的提交都是一种状态变更,即假定提交不是一种状态,它是一种状态过渡。

该协议可以应用在例如对等网络或没有中央服务器的类似网络中的各种设备(与对等体相似)之间对变更进行所有权转移上,实际上它也能够应用在具有中央服务器的系统中,但是比较没有意义。

所述变更可以是对数据库和/或对文件做出任何变更。附加地或可供选择地,所述变更可以是对任何信息项做出变更,该信息项是诸如变量、一个或多个参数、一个或多个状态标志、字符串变量,等等。

换句话说,所述变更可以具有这样的效果:文本、数字信息、图像、视频、声音以及它们的组合随后在文件和/或数据库中得到更新。

该文件和/或数据库可以单独或分布式存储在对等网络或类似网络上通信的任一设备中。

在下面示出了该发明的各种实际应用,该更新与所述变更类似。

实例1)移动提交:

Johan把某些图纸忘在他家里的储藏室中。他没有时间去取它们,所以让Hendrik帮他去取它们。他在他的PDA设备上变更他家的安全设置,以使Hendrik能够进入他的车库、他的书房以及打开他的储藏室。但是,出于安全的原因,不能在线变更这些设置。他将更新这些设置的责任转移到他的车,并把他的车钥匙给了Hendrik。Hendrik使用Johan的车开车到Johan的家。当Hendrik到达Johan的家的时候,该车-作为该网络中的另一设备-将安全设置的更新转移到车库。该车库将该变更传播到家里的其余设备,这样Hendrik就能够取得他要取的东西。当Hendrik离开的时候,安全设置-即新的变更被回复,这样Hendrik就不能再次进入。该车库-作为该网络中的再另一设备-向车通知这个更新(即该变更)。Johan回到办公室后,该车更新Johan的PDA上的设置,Johan能够相信一切又都回到常态。Hendrik把图纸交给他。

实例2)在许多个对等体或设备上更新代码或参数的射后不理(fire and forget)的方法:

Pieter邀请Fien来他家做客吃晚餐。出乎意料地,她答应了。他使用他的手机-作为该网络中的再另一设备-来为与Fien一起的晚餐准备他周围的家。他没有时间仔细检查所有需要的变更,但是他的电话应答机(作为另一设备,等等)接受了将这个信息传播到所有相关设备的责任。当他的PVR(作为另一设备,等等)取得这个消息的时候,它准备记录Pieter打算看的实况转播的板球比赛。气候系统(作为另一设备,等等)准备将温度从通常的18度提高到19.5摄氏度。厨房针对两个人的某种等级的晚餐检查它的库存。它决定定购一些Cajun食品。消息传送服务在他的相应设备(例如他的PDA上)重新安排与24小时牙医预约的时间。当Pieter到家的时候,他立即知道:除了一个变更之外所有由于与Fien的晚餐所引起的变更都是成功的,所以他可以休息一下,期待Fien的到来。有一个障碍,重新安排他的牙医的预约没有成功,他将不得不亲自安排一个新的预约。Cajun食品将在Fien之前15分钟到达,所以Pieter有时间将它放在他自己的烹饪器皿中。

其它实例:

-一组持久性对等体在一定程度上把中央服务器朝向多个ad-hoc连接的设备模拟。在家中Wubbo具有几个一起处理他的日程的持久性对等体。任何一个设备都可以总是将该日程的项目卸载到所述持久性对等体(即设备)中的任何一个并信赖正被提交的变更。

-在挂起的关闭进行之前,快速卸载更新。Carol的智能远端(作为另一设备,等等)可以在因功率损失所引起的即将来临的关闭之前,不提交所有挂起的变更。它将责任转移到墙中的应答器(作为其它设备,等等)中的一个。

-一个任务也许需要一系列设备,这些设备每个执行一个子任务。任务的责任和该任务一起传播。

图4示出了一种在对等网络中执行变更的所有权转移的方法。所述对等网络与来自上述图中的设备网络相似,即该变更的所有权转移可以在所述网络中的设备之间执行。

在下面的步骤之前,假定一个变更始发于一个设备。这可以在下一个图图5中看到,在本方法的描述中也概括地涉及了图5。在图5(a)中,所要求的发起者或第一设备(对应于图3中的参考数字31)试图查找另一个设备,即第二设备,参考数字32,等等。在这一阶段,只有第一设备知道该变更,因为该变更还没被传送给任何其它设备。两个提交状态变量被实例化了,它们(首先)都是由这个发起者来保存的。第一提交状态变量具有局部范围,表示本地数据库的状态(该阶段的值:‘挂起’)。第二提交状态变量具有全局范围,表示该变更是否已被在所有相关对等体中提交了(该阶段的值:‘挂起’)。

第二设备在前面叫做接受者,因为它可以接受提交所述变更的责任。

在步骤100(图1a、图2a、图5(b),第一设备可以尝试查找将接受提交所述变更的责任的第二设备。

该尝试也许证实为不成功,即所有提交状态(提交状态变量)保持为‘挂起’,第一设备将不得不再试一次(以找到另一个设备来接受提交所述变更的责任),或者该尝试证实是成功的,即,下一步。

在步骤200(图1b、图2b、图5(c),所述第一设备可以在那时将提交该变更的责任转移到所述第二设备。这意味着将该变更传播到接受者(第二设备)。此外,这意味着保存该全局提交状态变量的责任被转移到第二设备。这个全局变量的位置将在第二设备上。

在步骤300,该发起者,即所述第一设备可以将它的局部提交状态变量设置为‘临时的’(图1b、图2b,图5(d2)),这表示该设备将表现得像该全局向量通过了一样,但是它随着把局部提交状态变量设置为‘空的’等待着,直到它得到确认:全局提交状态变量也被设置为了‘空的’,例如,在所述第一设备再次进入所述网络并检查全局提交状态变量之时就是这样。

正常的程序是首先检查数据库的所有部分是否都接受一定的变更,然后将它提交(即,实际把它进行到底)。如果数据库是分布式的,那么设备不得不将变更传播到所有相关部分,并且它们不得不说它们接受该变更。它们通过将带有那个意思的消息发送到负责提交该变更的数据库的部分(正保存全局提交状态变量),来执行后者。在P2P设置中,这通常是该发起者(第一设备),根据本发明,它是接受者(第二设备)。如果接受者具有来自所有应当应用该变更的对等体(设备)的确认:它们将实际应用该变更,那么接受者就知道该变更被全局地提交了,所以全局提交状态变量可以被设置为空的。

局部提交状态变量指示本地数据库是否已应用该变更。

全局提交状态变量指示是否所有对等体都已应用该变更。

可供选择地,在步骤310,局部提交状态变量可以被设置为表示真实提交的‘空的’(图2b,图5(d1))。

所述第一设备在重新进入该网络之前可能会等待或必须等待一定数量的时间,因此-处于未连接的情形-资源可以被馈送给与该网络通信之外的其它任务,即,当所述第一设备是个人录像机之时,它可以把它的资源专用于记录电影。

在步骤400,所述第二设备可以将所述变更传播到所述变更相关到的一个或多个设备(图1c、图2c、图5(e、f、g、h))。这是当提交该变更的责任被在所述第二设备上接收和接受之时的情况。

在这里,该方法可以成功完成,即在这里该变更的所有权转移已经被成功转移了。

但是,所述方法还可以包括下面两个步骤。

在步骤500,所述第一设备可以将临时提交的局部提交状态变量转换为真实提交。这是当所述第一设备重新进入所述网络并从所述第二设备(图5(i))接收一个指示成功提交的消息之时的情况。

此外,所述第一设备还可以在进入该网络之前等待一定数量的时间。所述第一设备可能会有这样的经历-根据前面的情形消耗在未连接上-在第二设备最后将提供成功提交消息之前它将花费一些时间。

发起设备(所述第一设备)也可以在未连接上之后在预定数量的时间内将临时状态转换为‘空的’状态。

在步骤600,所述第一设备可以从所述第二设备接收一个表示提交不成功的消息。这是当所述第二设备没有成功地执行全局提交变更之时的情况,例如,原因在于第二设备未能联系到所有相关对等体,或原因在于一个或多个对等体拒绝提交该变更(例如,是由于对更新加锁或使更新冲突所引起的)。所述消息可以在所述第一设备下一次进入所述网络之时接收。

该方法可以在这里成功地结束;但是所述方法另外还可以包括下面的步骤。

在不偏离该发明的概念的情况下,变量的值和参数的名字可以被变更。例如参数“全局提交状态”的值可以是“提交”而不是“空的”,以指示该提交是成功的。

在步骤700,所述第一设备可以回滚所述变更。这是例如当局部提交状态(变量)是临时提交并且步骤600发生之时的情况。其它对等体(设备)没有提交,所以在该发起者(第一设备)上的临时提交需要被回滚。如果步骤600发生并且发起者先前已执行了一个真实提交,那么就所述变更而言局部提交状态变量就不再存在了并且数据库也不一致了。为了补救该情况,发起者可以再次启动相同的变更(即重试)或启动新的变更以抵消第一变更并解除该不一致性。

计算机可读介质可以是磁带、光盘、数字化多功能盘(DVD)、压缩盘(可记录CD或可写的CD)、小型盘、硬盘、软盘、智能卡、PCMCIA卡,等等。

在权利要求中,任何放在括号之间的附图标记都不应该被理解为限定该权利。单词“包括”不排除不同于权利要求中所列出的那些的元件或步骤的存在。在元件之前的“一个”或“一种”不排除多个这样的元件的存在。

该发明可以借助于包括几个有差别元件的硬件来实现,以及借助于适当编程的计算机来实现。在列举了几个装置的设备权利要求中,这些装置中的几个可以通过一个且相同的硬件项来加以具体化。在互不相同的从属权利要求中记载着某些措施这一事实,并不表明这些措施不能得到有利的应用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号