CN101971174B - 用于在网络中提供数据一致性的方法和程序 - Google Patents

用于在网络中提供数据一致性的方法和程序 Download PDF

Info

Publication number
CN101971174B
CN101971174B CN200980107876.3A CN200980107876A CN101971174B CN 101971174 B CN101971174 B CN 101971174B CN 200980107876 A CN200980107876 A CN 200980107876A CN 101971174 B CN101971174 B CN 101971174B
Authority
CN
China
Prior art keywords
data object
consistance
node
network
equipment
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.)
Expired - Fee Related
Application number
CN200980107876.3A
Other languages
English (en)
Other versions
CN101971174A (zh
Inventor
A·埃布斯
B·赖芬豪舍
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.)
GIP AG
Original Assignee
GIP AG
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 GIP AG filed Critical GIP AG
Publication of CN101971174A publication Critical patent/CN101971174A/zh
Application granted granted Critical
Publication of CN101971174B publication Critical patent/CN101971174B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • 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/18File system types
    • G06F16/188Virtual file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Circuits Of Receivers In General (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种用于在驻留在非存储器耦合网络的分布式节点上的数据对象的实例之间提供一致性的方法和程序。为了创建用于提供根据上述的特征的一致性的方法和程序,该方法和程序允许基本上任意数据对象或数据对象实例之间的一致性,并且在这一点上是可充分自由伸缩的且也不需要用于数据对象的中央存储器或服务器,根据本发明提出:对于由节点处理的数据对象的每个实例,生成平台无关唯一元数据,并且在所述元数据和基于该元数据来操作的一致性协议的帮助,使元数据且因此各数据对象保持一致。

Description

用于在网络中提供数据一致性的方法和程序
本发明涉及一种用于在驻留在非存储器耦合网络的分布式节点上的数据对象的实例之间提供一致性的方法和程序。
具体地,在现有技术中已知在并行计算机上用于所谓的高速缓存一致性的方法,其中多个处理器各自具有专用的相关联的高速缓冲存储器,并且存储器和处理器通常通过总线连接在一起。高速缓存一致性是通过监控对公用存储器或至少在诸如例如分布式存储器的情况下的公用存储器地址空间的访问,以及通过确定与各个高速缓存线的一致性的状态的关联来维持的。如本领域技术人员一般所公知的,在这一方面,例如使用所谓的MESI协议,其中MESI是修改、互斥、共享、无效的缩写,其中所提到的每一项分别定义数据对象的访问状态,该访问状态进而提供高速缓存线的各个最新的版本。
通过监控存储器访问,每个处理器或高速缓冲存储器的每个控制逻辑系统可以确定高速缓存线的任何副本是否被修改或盖写,这通常具有其它高速缓冲存储器中的任何其它副本被视为无效并且因此这些其它副本不再能被访问的结果。这确保每个处理器仅仅访问相应的最新高速缓存线。
相反,在非存储器耦合网络中交换且由多个用户或节点保持并且可能被修改的数据对象不以高速缓存线的形式存在,却原则上涉及取决于硬件和应用程序的任何结构。在实践中,准确地说在诸如例如因特网等大型且广泛分布的网络的情况下,对于在涉及到处理特定数据对象的所有节点之间的数据通信量或实际上本地存储器访问的监控是不可行的;所以基于高速缓存线一致性的从存储器耦合网络已知的方法不能转移到这样的网络。
然而,另一方面,对可能远离彼此并通过WAN(广域网)或因特网连接在一起的用户而言存在相当多的需求,这些用户连接在一起以共同对一个或同一个通常复杂的数据对象进行操作,且为了这个目的数据对象的相应实例必须存储在其本地节点上或被下载。即使是以相对大的公司网的内联网形式连接的计算机或节点也不能实现高速缓存一致性方法,或者仅能在有关监控数据通信量方面以相当大程度的复杂性和花费并以显著修改的形式来实现这些方法;所以也存在对提供数据一致性的改进方法的需求。很多公司也具有仅通过因特网连接在一起的分布式站点,然而在这种情况下在各个站点处的用户或雇员以及也可能通过因特网在路上某处连接的移动用户必须对一个或同一个数据对象进行操作,为了这个目的数据对象的相应实例,更具体地是相应的最新实例必须被加载。
作为示例,极其大量的文档被部分地产生并由在非常远离彼此的位置活动且处理同一对象的多个用户处理完全是常见的,在这种情况下这一数据对象的各个实例总是保持一致是绝对必要的。相应的相对复杂的文档可例如是描述和定义接口协定的文档。
考虑到所述现有技术,本发明的目的是提供一种用于提供根据本说明书的开头部分中提到的特征的一致性的方法和程序;该方法和程序允许原则上任何数据对象或数据对象的实例之间的一致性,在这一点上该方法和程序是可充分自由伸缩的并且也不需要用于数据对象的任何中央存储器或服务器。
对于在本发明书的开头部分中提到的方法,上述目的是这样达到的:对于由节点处理的数据对象的每一个实例,生成平台不相关唯一元数据并通过一致性协议至少在保持相应数据对象的实例的网络的所有节点之间传递该元数据。
可以明白,在这一点上,通信不必要即时发生,因此如果相应的通信最迟在节点调用所考虑的数据对象的实例时实现就是足够的。
对于文档的实例分别生成的且是平台无关且唯一的(即,对于数据对象的实例是唯一的)元数据即使是对于任何大小的数据对象也仅具有相对有限的(恒定大的)范围,且该元数据可在没有网络上的显著负荷的情况下传递;在这点上,主要的关注较少在于网络上的任何负荷,而主要针对网络的节点之间的一致通信量的减少。事实上,元数据也不必要完全在节点间传递,而是根据本发明的一实施例,如果状态机的状态转换以及对数据对象所执行的相关联的操作(读取、写入、擦除……)至少在保持相应数据对象的实例的网络的所有节点之间传送就是足够的。
因此,各个所涉及的计算机和应用程序以及相应的一致性网络的节点要求显著减少的数据通信量和吞吐量以达到数据对象一致性,以及要求与目前为止用已知方法可能达到一致性的复杂程度和时间及计算工作方面的花费相比相应降低的复杂程度和时间及计算工作方面的花费。
根据本发明,调用所考虑的数据对象来进行处理或者也仅仅进行读取的每个节点获得元数据,因而获得关于哪个实例是相应的最新实例的信息。借助元数据与对象的各个实例的唯一关联,节点从而也获得该数据对象的最新版本或该数据对象的最新实例的地址或存储位置的细节,然后可提供该最新实例。
在这一方面,根据一实施例,元数据包含对应于一致性性协议的状态机。状态机形成元数据的一部分,其中对数据对象的任何访问以特征方式反映。因此,它们尤其适用于传达数据对象的一致性。
即使各个节点可具有非常不同的用于处理数据对象的硬件和软件组件,共同的一致性协议也由可能处理数据对象的所有节点独立于本地硬件和软件来正确地生成及解释。此外,处理数据对象这个术语用于表示被链接来调用或存储数据对象的任何过程,即任何要读取、处理、修改和写入或存储的请求。
此外,根据一实施例,规定一致性协议是使得使用该一致性协议的节点可以形成覆盖网络。
在这一点上,本发明的一实施例提供一种定义覆盖网络的服务,这允许在覆盖网络的至少一些节点之间的数据对象的请求和通信。该服务包括用于对远程节点寻址,用于实现一致性协议,读取、发送和接收元数据所必需的软件组件,以及用于本地存储器和文件系统的和到网络的接口。
具体地,该服务因此定义了在应用程序和一致性网络之间的接口。
在这一点上,该服务也可是用于各个数据对象的应用程序的一部分。
根据一实施例,覆盖网络所基于的网络可以是因特网,并且在这种情况下该覆盖网络也可使用因特网协议。这样,有可能借助于普遍的标准,因而用于产生适当的服务程序的复杂性和花费得以减少。
在这一点上,根据一实施例,通信可根据SIP(会话发起协议)或http标准来实现。
本发明特别地可用于分别表示至少一个应用程序下的完整数据对象的数据对象,这与一般仅包含不能被特定应用程序处理的数据对象的小部分或甚至部分的高速缓存线形成对比。这样的完整数据对象的示例有文本文档、图形、表格、音频数据文件、电影数据文件、流片段、软件程序、子程序和程序例程、以及分别由安装在操作系统层之上的节点上的应用程序处理的其它数据对象。
此外,本发明的使用特别旨在用于为数据对象定义至少一个顺序形式表示的应用程序,这通常是为能够通过网络传送数据对象所必需的。
根据一实施例,根据本发明的方法的使用旨在用于交换Java、.NET或XML格式的数据对象的应用程序。
根据本发明的方法的配置还规定数据对象的每个实例包含对所有节点的引用,该这些节点保持该数据对象的实例。这使得在每次本地调用数据对象时所有节点被自动供应相应的元数据成为可能,其中这些节点保持数据对象的实例,从而确保每个节点被通知到关于在另一节点上对数据对象的调用的信息。
根据本发明的一种部署,具体地,可产生被标识为一致性对象的数据对象,它主要包括在节点上准备齐全的应用程序的数据对象列表。
此外,一实施例可规定数据对象是节点列表,对于这些节点,在应用程序下相干一致性对象在节点上准备齐全。
上面已经提到,期望当启动应用程序时或当应用程序调用要保持一致的数据对象时,根据数据对象的当前一致实例实现对节点列表中的其它可用节点的自动查询。
一致性性协议可具体包括MESI协议但并不局限于此。
还期望数据对象或数据对象的实例由标识来唯一地表征。
特别地,除了上面提到的唯一的标识符,数据对象的实例的标识还可包括其存储位置。
数据对象的实例的标识还可包含其上保持该数据对象的网络元件的节点名称,以及对象名称。此外,对象的标识可包括相关联的应用程序的名称和/或该对象上一次改变(写入过程)的时刻。这单独从数据对象的标识提供对关于最新版本和最新存储位置的问题的回答,以使任何其它节点在需要时可单独从数据对象的标识确定它可以直接调用或加载所考虑的实例中的哪一个。
根据本发明的一实施例,规定一致性节点与每个一致性代理相关联,其中一致性节点形成覆盖网络,一致性代理在逻辑上排列在应用程序和本地存储器接口之间并形成对于网络的接口。在这一点上,到网络的接口也可以是间接的接口,其中一致性代理也通过居间的一致性节点连接到网络,在这种情况下一致性节点具有一致性代理接口、网络接口、一致性控制逻辑和一致性高速缓存。
在这一点上,一致性节点可被本地安装在一致性代理的计算机上,安装在网络中的远程计算机上,以及特别地也安装在运营商或提供商的网络节点上。
从以下对一优选实施例的描述以及相关联的附图中,本发明的更多优点、特征和可能的使用将变得显而易见,在附图中:
图1示出了所谓一致性代理的框图,
图2示出了具有一致性代理和一致性节点的网络的框图,
图3示出了类似于图2但具有非本地一致性节点的框图,
图4示出了在本地打开要与本地一致性节点中的相应过程保持一致的数据对象的流程图,
图5示出了一致性节点的简图,
图6示出了一致性代理的方法和参数,
图7示出了基于SIP实现一致性节点之间的通信的网络接口,以及
图8示出了属于一致性节点的一致性高速缓存的简图。
实施例:
我们来考虑一组人希望共同照管文档中的信息项的情况。这些人例如属于不同公司,在不同的、相互独立的(本地)网络上工作,并且不能访问公用中央文件服务器以及公用存储器或存储器地址空间。虽然如此,这些集合起来的信息项要被输入一公用文档,这里假设是Excel表格。
在这种情况下,现有技术的普遍过程涉及这些人通过电子邮件来彼此发送该文档。一旦一个人做出改变并愿意将其传递出去,这个人就将该文档发送给其他人。可能地,愿意做出改变的人通过询问其他人他们是否做出还未被发送的改变来确保他或她仍然具有最新版本。如果这些人中的一人愿意仅仅读取该文档但希望确定该文档是最新版本,则也要求这种查询。
这样,该Excel表格的各个副本的一致性不是系统性地确保的,而是必须在读取和写入操作之前和之后由操作该系统的人来手动实现。
以下描述的一致性服务确保Excel表格(所谓的一致性对象)的所有副本(所谓的实例)之间的一致性,而不需要共同操作的人必须手动发送数据文件。这里描述多个变型,这些变型因增加功能而且还通过增加结构复杂性而不同,但各自确保Excel数据文件的副本之间的一致性。
变型1-一致性文件系统
共同操作的人中的每一人例如从其上提供使用一致性服务的应用程序的网站加载特殊软件,并将该软件安装在其本地计算机上。在我们的示例中,应用程序是所谓的一致性文件系统。这提供了被组织成目录树的文件系统的普通功能,特别是写入和读取数据文件,特别之处在于一致性文件系统的各个本地实例一起彼此比较以实现一致性数据文件库存。在Windows计算机上,一致性文件系统链接到驱动器字母,在UNIX计算机上,其链接到所谓的挂载点,而在其他环境中也有相应机制。
从上述Excel用户的角度,具体地,Excel表格必须被存储在一致性文件系统上,即在相应的驱动器字母或挂载点下。因此,用户可以读取和写入Excel数据文件,并且可以确定他或她、他自己或她自己以及还有他或她的伙伴从事于最新数据。
组件和接口
一致性文件系统由应用程序专用相干性代理来实施,该代理进而使用一致性网络。其它任何应用程序进而由专用代理来实施。
一致性代理[100]具有三个接口(见图1)。
1.VFSS接口[110]将该代理连接到Windows或UNIX系统的虚拟文件系统开关[010],就如也由诸如NTFS和UFS等本地文件系统或诸如Samba/SMB或NFS等网络文件系统和协议来实现的那样。因此一致性文件系统可被通过标准I/O[020]操作的任何应用程序所使用。
2.存储接口[120]将该代理连接到计算机的本地标准文件系统,例如在NTFS或UFS下的目录或分区。这样,一致性文件系统也可实际存储数据文件。
3.一致性代理接口[130]将代理[100]连接到一致性网络的一致性节点[200]。一致性文件系统的任何其它代理也被连接到这一一致性节点。
图1示出了一致性文件系统如何中断经由VFSS接口链接的(未修改的)应用程序与经由存储接口链接的(未修改的)本地文件系统之间的直接通信。通信改为经由一致性接口[130]来转向。借助这种转向,通过经由一致性节点与其它一致性代理的通信,可能实现和确保文件(这里是Excel表格)的互斥一致性副本被读取和写入。
在网络技术方面,对一致性节点的放置,多种变化是可能的-我们将其称为属性一致性粒度。
1.一致性节点可被本地安装在用户的计算机上,见图2。这样的本地一致性节点仅对用户的对象实现一致性并允许一致性应用程序的构造,而不需要涉及电信提供商或运营商。
2.一致性节点可在网络侧实现,例如作为因特网的一部分,见图3。通常这样的拓扑结构可被电信提供商或运营商采用以例如基于地理邻近性或其它良好连接来优化通信效率。
极端或混合形式也是可能的。例如,一致性节点可专为单独的应用程序而构造,或者在企业的LAN中仅为一部门提供一致性。分别为每个单独的一致性节点建立一致性粒度是有可能的。
操作模式-加载
在正在进行的操作中,用户可以简单地加载他的文档,并且在这样做时确定他打开了最新的版本。
具有本地请求的过程
对于在应用程序执行操作时一致性代理[100]中的过程的描述如下:在我们的示例中,应用程序是一致性文件系统和到一致性代理操作系统的虚拟文件系统开关[010]的接口。因此对于所有操作系统的操作在现有技术中是已知的。我们来考虑打开数据文件的操作。这一操作具有通常包括目录结构中的文件路径并且因此是唯一的文件名作为参数;我们将其总体定义为“文件名”(见图6)。在我们的示例中,用该文件名作为对象标识符[215],一致性代理[100](见图1)的一致性代理接口[130](见图1)调用一致性节点[200](见图1)的方法GET[211](见图6)。对象标识符是元数据的一部分。
图4描述了在通过一致性代理接口[210](见图5)实现对该接口[210](见图5)的四种方法[211-214](见图6)的其中一种的调用时,在一致性节点[200](见图1)中的过程:在该示例中方法GET[211](见图6)用对象标识符[215](见图6)来调用。该对象标识符通过一致性控制逻辑[230](见图5)的散列函数[231](见图5)被复制到一致性引用[316](见图8)上。在该实施例中,借助对象标识符[215]和散列函数[231]、节点名称[232]、应用程序名称[233]、一致性标识符[234]和元信息[310]项与对象的关联,元数据被唯一地生成和关联。控制逻辑[230](见图5)检查这一一致性引用[316](见图5)是否被包含在一致性高速缓存[240](见图5)的元信息[310](见图5)项中。
说明:一致性节点[200](见图1)的一致性高速缓存[240](见图5)中的一致性元信息[310](见图5)项包括三部分,见图8。
1.一致性引用[316]是在一致性高速缓存[240]中唯一的对一致性代理的一致性对象的键。该引用通过高速缓存控制逻辑[230]的散列函数[231]从对象标识符[215]形成。
2.到一致性引用[316]的一致性目录[313]包含存储由[316]引用的一致性对象的实例的那些其它一致性节点(图3中的[220.2]和[200.3])的列表。因此,目录[313]定义了对象实例的限制的各个最新的拓扑结构。基于目录的一致性的使用与现有技术相对应。
3.一致性状态[314]是对应于状态机,即所谓的一致性机的状态之一。各个节点的一致性机根据一同步过程,即所谓的一致性协议来一致地改变它们的状态。这种协议与现有技术相对应;这种协议的一个已知示例是MESI协议。
当存在这一具有适当引用[316]的条目时,逻辑[230]检查相关联的一致性状态[314]是否具有有效一致性值:
·或者:如果由引用[316]标识的对象仍然是一致的-在上述MESI协议的示例中将是状态M、E和S-则接口[210]的方法GET[211]将空回答传递回调用代理,即,具有空对象[217]的回答。于是代理使用它自己的对象的副本-在一致性文件系统的示例中它通过接口[120]从本地计算机的“正常”文件系统加载该副本-并在一致性文件系统的示例中通过接口[110]传递给应用程序。
·或者:如果由引用[316]标识的对象不再是一致的-在上述MESI协议的示例中将是状态I-那么一致性节点由远程请求(如下)通过网络接口[220]加载一致性网络外的一致性对象的一致性副本。该副本通过接口[210]作为对象[217]传递回代理。代理更新它自己的副本并将一致性对象传递给应用程序。
一致性模式中的本地请求中所涉及的过程组件在图4中以控制流程图示出。
用状态机和目录产生一致性的概念是公认的现有技术,例如在DE 103 41563A1中所公开的,但是局限于存储器耦合。本发明基于这一概念,并实现用于下一代网络和未来因特网的一致性服务。
关于远程请求的过程
接下来是对在通过网络接口[220]实现调用时在一致性节点[200]中的过程的描述:一致性通信通过SIP方法[221](图7)发送到网络接口[220]并且通过SIP报文封装为传输层;SIP(会话发起协议)是本领域技术人员已知的并在RFC 3261中详述。诸如例如IMS(因特网多媒体子系统)等网络的SIP基础结构的使用即使在关于移动用户和诸如防火墙等安全措施时也确保远程一致性节点的寻址和可达性,同时还通过IP网确保传输上的良好性能。一致性性通信的特定表达通过“c=”-连接和“a=”-属性字段被编码在“内容类型”字段和SDP描述中。SDP(会话描述协议)在RFC 2327中详述。
关于在一致性节点中的远程请求的过程组件类似于本地请求而进行,并且在这点上是本身已知的。然而在本案中具有本发明的特性:如下所述建立相关远程节点。通过散列函数[231]和在整个一致性网络上唯一的经由控制逻辑[230]的节点名称[232]和应用程序名称[233]生成的一致性标识符[234],从对象标识符[215]生成一致性引用[316]。根据一实施例,它具有如下结构:
coherence://sipserver//application/path/name
在这一情况下,sipserver是作为SIP地址的节点名称,application是应用程序名称,而path/name是一致性引用[316]。
类似于通过SIP的一致性协议的信令,要在节点之间传送的一致性对象的传输发生在通过RTP由SIP握手协商的多媒体会话中;实时传输协议在RFC3550中详述。
总之,我们通过因特网使基于SIP的一致性可用。这与并行计算机不相似,也使本发明区别于现有技术。
操作模式-存储
用户一旦再次存储他的文件,就可以确保其他所有用户(和他或她他自己或她自己)下次加载文件时在开放条件下接收这一因此是最新的版本。在存储后的过程就类似于在一致性代理[100]和一致性节点[200]之间的加载而发生。
在一致性文件系统的示例中,由于文件上的已知标准操作,锁定情形以例如仅第一用户可打开文件来进行读取和写入但其它用户仅能打开文件来进行读取从而没有形成不一致性的方式发生。
操作模式-初始化
在上述包括指定的三个订户的示例中(见图3),各个一致性代理通过一致性网络连接在一起。该一致性网络包括极好的网络元件,即连接到一致性代理和其它一致性节点的一致性节点,并且安排和传输一致性通信。一致性代理的用户,如一致性文件系统,留心具有他愿意与其共同从事于文档的其他用户的列表。这种访问控制与文件系统和中央文件服务器上的常见访问控制相对应。
变型2-活动文档
更为高度专业的实现允许甚至更好的在由多人同时处理期间保持文档一致性的方法。适用于该目的的例如Microsoft Office应用程序等应用程序中的一致性插件,使用其嵌入DCOM服务器的能力,允许作为所谓的活动一致性文档的文档来即时地保持共同输入一致而不需单独的存储过程。因此,在Excel表格中,一致性可在所有单元格级改进。

Claims (50)

1.一种用于在驻留在非存储器耦合网络的分布式节点上的数据对象的实例之间提供一致性的方法,其特征在于:
对于由节点处理的数据对象的每个实例,生成平台无关的唯一的元数据;并且
通过所述元数据和对所述元数据起作用的一致性协议使所述元数据和所述数据对象保持一致;
其中使用所述一致性协议的所述节点形成覆盖网络,并且
提供定义所述覆盖网络的服务,所述服务允许在所述覆盖网络的至少一部分节点之间的数据对象的请求和通信,
其中,借助元数据与数据对象的各个实例的唯一关联,所述节点获得数据对象的最新实例或所述数据对象的最新实例的地址或存储位置的细节,并提供所述最新实例。
2.如权利要求1所述的方法,其特征在于,对应于所述一致性协议的状态机被包含在所述元数据中。
3.如权利要求2所述的方法,其特征在于,所述状态机的状态转换和对所述数据对象执行的相关联的操作通过所述一致性协议至少在保持相应数据对象的实例的网络的所有节点之间传送,其中对所述数据对象执行的相关联的操作包括:读取、写入、擦除。
4.如权利要求1所述的方法,其特征在于,数据对象的每个实例包含到所有节点的引用,所述所有节点保持所述数据对象的实例。
5.如权利要求1所述的方法,其特征在于,对每个数据对象提供一致性对象,所述一致性对象是应用程序的已在所述节点上准备齐全的数据对象的列表。
6.如权利要求1所述的方法,其特征在于,所述服务是用于所述数据对象的应用程序的一部分。
7.如权利要求1所述的方法,其特征在于,所述服务定义节点和所述网络之间的接口。
8.如权利要求1所述的方法,其特征在于,所述覆盖网络所基于的网络使用因特网协议。
9.如权利要求1所述的方法,其特征在于,所述一致性协议使用会话发起协议(SIP)标准或http标准实现通信。
10.如权利要求1所述的方法,其特征在于,所述数据对象分别是在至少一个应用程序下的完整的数据对象。
11.如权利要求10所述的方法,其特征在于,所述应用程序为所述数据对象定义至少一个顺序形式的表示。
12.如权利要求1所述的方法,其特征在于,所述数据对象是Java、.NET、COM或XML对象。
13.如权利要求5所述的方法,其特征在于,在应用程序每次调用要保持一致的数据对象时,根据所述数据对象的当前一致实例实现对所述一致性对象列表中的、所述网络的其它可用节点的自动查询。
14.如权利要求1所述的方法,其特征在于,所述一致性协议包括无效协议,诸如例如MSI、MOSI、MESI、MOESI,或基于更新的协议,诸如例如SYNAPSE或DRAGON。
15.如权利要求1所述的方法,其特征在于,除了协议数据,数据对象的所述实例的标识还包括其存储器位置。
16.如权利要求1所述的方法,其特征在于,所述数据对象的标识是唯一的。
17.如权利要求1所述的方法,其特征在于,所述数据对象的标识包含其上保持所述数据对象的网络元件的节点名称和对象名称。
18.如权利要求1所述的方法,其特征在于,所述数据对象的实例的标识包括相关联的应用程序的名称。
19.如权利要求1所述的方法,其特征在于,所述数据对象的实例的标识包括由写入操作所进行的上一次改变的时间。
20.如权利要求1所述的方法,其特征在于,用于所述数据对象的应用程序在同时修改同一数据对象的相应实例的多个节点之间提供直接通信。
21.如权利要求1所述的方法,其特征在于,所述数据对象是以下对象中的至少一种:文本文档、图形、表格、音频文件、视频文件、流片段、软件程序的元素、子程序的元素和程序例程的元素。
22.如权利要求1所述的方法,其特征在于,每个节点具有一致性代理,所述一致性代理在逻辑上排列在应用程序和本地存储器接口之间并形成到所述网络的接口。
23.如权利要求22所述的方法,其特征在于,所述一致性代理通过一致性节点连接到所述网络,其中所述一致性节点具有一致性代理接口、网络接口、一致性控制逻辑和一致性高速缓存。
24.如权利要求23所述的方法,其特征在于,所述一致性节点是本地安装在所述一致性代理的节点上的一致性节点。
25.如权利要求23所述的方法,其特征在于,所述一致性节点是安装在所述网络或所述网络的另一节点上,特别是提供商或运营商节点上的一致性节点。
26.一种用于在驻留在非存储器耦合网络的分布式节点上的数据对象的实例之间提供一致性的设备,包括:
用于对于由节点处理的数据对象的每个实例,生成平台无关的唯一的元数据的装置;并且
用于通过所述元数据和对所述元数据起作用的一致性协议使所述元数据和所述数据对象保持一致的装置;
其中使用所述一致性协议的所述节点形成覆盖网络,并且
提供定义所述覆盖网络的服务,所述服务允许在所述覆盖网络的至少一部分节点之间的数据对象的请求和通信,
其中,借助元数据与数据对象的各个实例的唯一关联,所述节点获得数据对象的最新实例或所述数据对象的最新实例的地址或存储位置的细节,并提供所述最新实例。
27.如权利要求26所述的设备,其特征在于,对应于所述一致性协议的状态机被包含在所述元数据中。
28.如权利要求27所述的设备,其特征在于,所述状态机的状态转换和对所述数据对象执行的相关联的操作通过所述一致性协议至少在保持相应数据对象的实例的网络的所有节点之间传送,其中对所述数据对象执行的相关联的操作包括:读取、写入、擦除。
29.如权利要求26所述的设备,其特征在于,数据对象的每个实例包含到所有节点的引用,所述所有节点保持所述数据对象的实例。
30.如权利要求26所述的设备,其特征在于,包括:用于对每个数据对象提供一致性对象的装置,所述一致性对象是应用程序的已在所述节点上准备齐全的数据对象的列表。
31.如权利要求26所述的设备,其特征在于,所述服务是用于所述数据对象的应用程序的一部分。
32.如权利要求26所述的设备,其特征在于,所述服务定义节点和所述网络之间的接口。
33.如权利要求26所述的设备,其特征在于,所述覆盖网络所基于的网络使用因特网协议。
34.如权利要求26所述的设备,其特征在于,所述一致性协议使用会话发起协议(SIP)标准或http标准实现通信。
35.如权利要求26所述的设备,其特征在于,所述数据对象分别是在至少一个应用程序下的完整的数据对象。
36.如权利要求35所述的设备,其特征在于,所述应用程序为所述数据对象定义至少一个顺序形式的表示。
37.如权利要求26所述的设备,其特征在于,所述数据对象是Java、.NET、COM或XML对象。
38.如权利要求30所述的设备,其特征在于,在应用程序每次调用要保持一致的数据对象时,根据所述数据对象的当前一致实例实现对所述一致性对象列表中的、所述网络的其它可用节点的自动查询。
39.如权利要求26所述的设备,其特征在于,所述一致性协议包括无效协议,诸如例如MSI、MOSI、MESI、MOESI,或基于更新的协议,诸如例如SYNAPSE或DRAGON。
40.如权利要求26所述的设备,其特征在于,除了协议数据,数据对象的所述实例的标识还包括其存储器位置。
41.如权利要求26所述的设备,其特征在于,所述数据对象的标识是唯一的。
42.如权利要求26所述的设备,其特征在于,所述数据对象的标识包含其上保持所述数据对象的网络元件的节点名称和对象名称。
43.如权利要求26所述的设备,其特征在于,所述数据对象的实例的标识包括相关联的应用程序的名称。
44.如权利要求26所述的设备,其特征在于,所述数据对象的实例的标识包括由写入操作所进行的上一次改变的时间。
45.如权利要求26所述的设备,其特征在于,用于所述数据对象的应用程序在同时修改同一数据对象的相应实例的多个节点之间提供直接通信。
46.如权利要求26所述的设备,其特征在于,所述数据对象是以下对象中的至少一种:文本文档、图形、表格、音频文件、视频文件、流片段、软件程序的元素、子程序的元素和程序例程的元素。
47.如权利要求26所述的设备,其特征在于,每个节点具有一致性代理,所述一致性代理在逻辑上排列在应用程序和本地存储器接口之间并形成到所述网络的接口。
48.如权利要求47所述的设备,其特征在于,所述一致性代理通过一致性节点连接到所述网络,其中所述一致性节点具有一致性代理接口、网络接口、一致性控制逻辑和一致性高速缓存。
49.如权利要求48所述的设备,其特征在于,所述一致性节点是本地安装在所述一致性代理的节点上的一致性节点。
50.如权利要求48所述的设备,其特征在于,所述一致性节点是安装在所述网络或所述网络的另一节点上,特别是提供商或运营商节点上的一致性节点。
CN200980107876.3A 2008-03-06 2009-02-27 用于在网络中提供数据一致性的方法和程序 Expired - Fee Related CN101971174B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102008012979.8 2008-03-06
DE102008012979A DE102008012979A1 (de) 2008-03-06 2008-03-06 Verfahren und Programm zum Bereitstellen von Datenkohärenz in Netzwerken
PCT/EP2009/052418 WO2009109535A2 (de) 2008-03-06 2009-02-27 Verfahren und programm zum bereitstellen von datenkohärenz in netzwerken

Publications (2)

Publication Number Publication Date
CN101971174A CN101971174A (zh) 2011-02-09
CN101971174B true CN101971174B (zh) 2014-10-15

Family

ID=40934905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980107876.3A Expired - Fee Related CN101971174B (zh) 2008-03-06 2009-02-27 用于在网络中提供数据一致性的方法和程序

Country Status (9)

Country Link
US (1) US8296368B2 (zh)
EP (1) EP2250588B1 (zh)
CN (1) CN101971174B (zh)
AT (1) ATE523850T1 (zh)
BR (1) BRPI0909108A2 (zh)
DE (1) DE102008012979A1 (zh)
ES (1) ES2372262T3 (zh)
HK (1) HK1150890A1 (zh)
WO (1) WO2009109535A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892820B2 (en) 2010-03-19 2014-11-18 Netapp, Inc. Method and system for local caching of remote storage data
KR101598746B1 (ko) * 2012-10-22 2016-02-29 인텔 코포레이션 고성능 상호연결 물리 계층
US20140114928A1 (en) 2012-10-22 2014-04-24 Robert Beers Coherence protocol tables
US10110700B2 (en) * 2014-03-31 2018-10-23 Oracle International Corporation Multiple on-die communication networks
US10417128B2 (en) 2015-05-06 2019-09-17 Oracle International Corporation Memory coherence in a multi-core, multi-level, heterogeneous computer architecture implementing hardware-managed and software managed caches
CN108415986B (zh) * 2018-02-11 2020-10-30 杭州朗和科技有限公司 一种数据处理方法、装置、系统、介质和计算设备
US11360906B2 (en) 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency
EP4012871B1 (de) 2020-12-08 2023-06-07 Gip Ag Verfahren zum gerichteten übertragen von energie in form von energiepaketen

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6917967B2 (en) * 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6529921B1 (en) * 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
US6925515B2 (en) * 2001-05-07 2005-08-02 International Business Machines Corporation Producer/consumer locking system for efficient replication of file data
US7032077B2 (en) 2002-12-23 2006-04-18 Hewlett-Packard Development Company, L.P. Multiple cache coherency
US7454576B2 (en) * 2004-12-27 2008-11-18 Intel Corporation System and method for cache coherency in a cache with different cache location lengths
US7757047B2 (en) * 2005-11-12 2010-07-13 Oracle America, Inc. Missing store operation accelerator
US7480770B2 (en) * 2006-06-14 2009-01-20 Sun Microsystems, Inc. Semi-blocking deterministic directory coherence
EP2132951A1 (en) * 2007-03-30 2009-12-16 Société de commercialisation des produits de la recherche appliquée Socpra - Sciences et Génie s.e.c Session mobility between communicating devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6917967B2 (en) * 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems

Also Published As

Publication number Publication date
WO2009109535A3 (de) 2009-11-05
BRPI0909108A2 (pt) 2015-08-25
CN101971174A (zh) 2011-02-09
WO2009109535A2 (de) 2009-09-11
HK1150890A1 (zh) 2012-01-13
DE102008012979A1 (de) 2009-09-10
EP2250588B1 (de) 2011-09-07
ES2372262T3 (es) 2012-01-17
US8296368B2 (en) 2012-10-23
ATE523850T1 (de) 2011-09-15
EP2250588A2 (de) 2010-11-17
US20110082904A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
CN101971174B (zh) 用于在网络中提供数据一致性的方法和程序
US7451236B2 (en) Document distribution and storage system
US7756836B2 (en) Peer-to-peer file sharing
US8285925B1 (en) Management of object mapping information corresponding to a distributed storage system
US7634728B2 (en) System and method for providing a runtime environment for active web based document resources
US8069144B2 (en) System and methods for asynchronous synchronization
EP1681629B1 (en) Method and system for transitioning between synchronous and asynchronous communication modes
US8090681B2 (en) Resolving conflicts in content management systems
CN101568919B (zh) 具有分布式存储的联网计算机系统中的单个数据视图
US6578054B1 (en) Method and system for supporting off-line mode of operation and synchronization using resource state information
EP1681652B1 (en) Method and system for synchronizing multiple user revisions to a shared object
JP5193056B2 (ja) 無線装置の最新データを維持するための方法及びシステム
CN100465937C (zh) 通过网络以事务形式办理文件操作的方法与系统
KR20000028677A (ko) 클라이언트와 적응형 동기 및 변형 서버를 위한 방법,장치, 프로그램 저장장치
EP2048855A2 (en) Information transmitting system, information processing apparatus, information managing apparatus, and information transmitting method
US20040163037A1 (en) System and method for invoking WebDAV methods via non-WebDAV protocols
JP2005063374A (ja) データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。
KR20210082481A (ko) 데이터베이스 관리 서비스 제공 시스템
US8521771B1 (en) Management of class-associated object mapping information corresponding to a distributed storage system
US20060168138A1 (en) Resource providing system, mediating agent, resource providing method and computer program product
Ahamad et al. Scalable information sharing in large scale distributed systems
Pilioura et al. Seamless federation of heterogeneous service registries
CN117785800A (zh) 分布式文件内容管理方法、装置、系统及存储介质
Pereira et al. Web service and business process execution on peer-to-peer environments
Chi et al. An Active Peer-to-Peer System for Heterogeneous Service Provisioning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1150890

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1150890

Country of ref document: HK

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: 20141015

Termination date: 20200227