CN1114869C - 维持复制一致性的计算机、数据共享系统和方法 - Google Patents

维持复制一致性的计算机、数据共享系统和方法 Download PDF

Info

Publication number
CN1114869C
CN1114869C CN99120897A CN99120897A CN1114869C CN 1114869 C CN1114869 C CN 1114869C CN 99120897 A CN99120897 A CN 99120897A CN 99120897 A CN99120897 A CN 99120897A CN 1114869 C CN1114869 C CN 1114869C
Authority
CN
China
Prior art keywords
request
modification
data
modification request
computing machine
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
CN99120897A
Other languages
English (en)
Other versions
CN1252568A (zh
Inventor
根岸康
M·阿乌哈
田胡和哉
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1252568A publication Critical patent/CN1252568A/zh
Application granted granted Critical
Publication of CN1114869C publication Critical patent/CN1114869C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

为了提高拷贝的更新效率,减少更新拷贝所需要的存储器量。本发明是通过跟另一台计算机交换数据修改请求,以维持复制内容一致性的一台计算机。这一计算机包括:有共享数据的复制品;用于从另一台计算机接收修改复制数据修改请求的接收器和不管修改请求的接收顺序为收到的每一修改请求根据接收到的修改请求利用修改请求里的信息控制复制的更新顺序。不管修改请求的接收顺序,也就是另一台计算机的发送顺序,能够根据收到的修改请求确定复制更新的顺序。因此,可以提高通信效率,减少需要的存储量。

Description

维持复制一致性的计算机、数据共享系统和方法
本发明涉及一种系统,其中的计算机保存了共享数据的复制,并通过交换数据修改请求来维持复制内容的一致性,本发明更具体地涉及复制的更新顺序控制。
传统的数据共享系统利用下述方法来确定复制的更新顺序。
(1)在许多情况下,假定其中的计算机总是用通信线路连接起来的数据共享系统,包括在每次更新数据时都发布通知的一种机制。在此情形,保证了每次更新数据时,复制的更新顺序都跟数据修改请求的顺序对应。下文中这样一种顺序过程叫做先入先出顺序。然而,有时会在办公室外的远处用便携式终端来读取、浏览和/或编辑办公室的计算机里的数据;由于用于这种便携式终端的无线公用网所提供的通信质量比普通的LAN(局域网)所提供的通信质量差,经常会出现数据包传输故障。于是一般而言,随着对数据传递顺序的限制变得更严,传输代价也会随之相应地变高。限制最严的先入先出传输顺序开销最大。因为使用无线公用网本身也非常昂贵,所以这一传输开销是一个严重的问题。
(2)在数据共享系统如Lotus Notes(美国莲花发展公司的一个商标)里,假定其中的操作也是在断开通信线路时完成的,采用了类似于批处理的一种一次性处理来更新复制。在这种系统里,更新数据时不能访问数据。另外,如果复制的更新过程被断开通信线路所打断,所进行的更新过程的顺序通常是不确定的也就是说,不知道已经更新到了哪一个数据。
EP0794646(日本公布的未经审查的专利申请第Hei9-24642号)公布了一种数据管理系统,用于管理共享数据文件的复制,这些文件保存在可以用移动通信网相互连接的多个计算机系统里。该数据管理系统包括:储存跟共享数据文件的每一份复制有关、针对这些复制的修改记录的记录装置;用于通过跟移动通信网的连接提取为共享数据文件的其它复制储存的记录的装置;将提取的记录合并起来产生修改顺序的合并装置;将事先规定的规则应用于修改顺序从而解决修改顺序冲突问题的解决冲突的装置;根据解决了冲突问题的修改顺序,修改共享文件的复制的装置。在此情形,假设冲突说的是在对共享文件的同一次编辑中需要并行修改多个数据。另外假设,冲突的解决指的是用一种特殊的顺序重新安排相互冲突的数据修改操作。这一数据管理系统只是用来解决数据修改冲突。为了解决冲突问题,当判断是否发生了冲突时,与修改有关的所有数据必须准备好。也就是说,修改冲突解决好之前,无法修改共享数据文件的复制。因此,缺少与修改有关的甚至一组数据,也无法完成修改过程。另外,存储接收到的与修改有关的数据给存储容量增加了负担。这对只有很小的存储容量用于通信的一台移动终端而言,是一个非常严重的问题。此外,如果因为存储容量不够而必须重新发送数据,就会出现另一个问题。
如上所述按照惯例,更新复制时如果在数据发送过程中断开通信线路,那么通信效率、需要的存储容量和处理过程就会出现问题。
因此,本发明的一个目的是提供一种方法和一种设备,用于复制的更新过程中提高通信效率。
本发明的另一个目的是提供一种方法和一种设备,用于减少复制更新所需要的存储量。
本发明还有一个目的,就是提供一种方法和一种设备,用于确定修改请求要对哪一个复制进行更新,即使在复制更新完成以前就断开了通信线路。
本发明再一个目的就是清楚地标明复制更新的处理顺序。
为了实现以上目的,本发明是通过跟另一台计算机交换数据修改以维持复制内容一致性的一台计算机。该计算机包括:存储包括共享数据的一个复制的装置;从另一台计算机接收修改复制中数据的请求的一个接收器;一个控制器,用于不管修改请求的接收顺序,为接收到的每一修改请求,利用修改请求里的信息根据接收到的修改请求,控制所述复制的更新时序。可以不考虑修改请求的接收时序,也就是其它计算机的发送时序,而是根据接收到的修改请求确定复制的更新时序。所以,可以提高通信效率,降低需要的存储容量。
修改请求里包括的信息有:说明没有修改顺序限制的一个标志(优选实施方案里的普通(Ordinary));第一标志,它说明在当前修改请求之前针对所述复制的所有修改请求完成以后,根据当前修改请求更新所述复制(优选实施方案中的前向刷新);第二标志,它说明根据当前修改请求更新了所述复制以后,将针对所述复制完成当前修改请求之后的修改请求(优选实施方案中的后向刷新);或者第三标志,它说明在当前修改请求之前针对所述复制的所有修改请求完成以后,根据当前修改请求更新所述复制,而且根据当前修改请求更新了所述复制以后,将针对所述复制完成当前修改请求之后的所有修改请求(双向刷新)。这样就可以明确地标明复制的更新顺序。
修改请求里包括的信息还包括:已经生成的修改请求号(第一号码:优选实施方案里BT的值),它包括所述第二或第三标志;和在包括第二或第三标志的最后一个修改请求之后已经生成的修改请求号(第二号码:优选实施方案里SBT的值)。于是可以提供一种机制,即使在完成更新之前就断开了通信线路,这种机制也能证实哪些修改请求已经被收到并被用于更新复制。
控制器可以储存第一和第二管理值(优选实施方案中一个过程里BT的值和SBT的值),这些管理值分别对应于第一和第二号码,且规定了复制的更新顺序。因此能够更容易地确定复制的更新顺序。
如果复制是根据修改请求来更新的,控制器就能将修改请求里的第一和第二号码作为第三和第四号码(响应BT和SBT的值)储存起来。该计算机还可以包括一个发送器,用于向另一台计算机发出对复制中的数据进行修改的请求,控制器能够将第三和第四号码包括在这一修改请求里。结果是,即使断开了一条通信线路,发送源也能确定应该重发哪一个修改请求、删除哪一个修改请求。
已经介绍了接收端计算机的配置。发送端的计算机包括:一个包括共享数据的复制品;指令对复制里包括的数据进行修改,并标明数据修改请求的修改顺序信息的装置;产生修改请求的装置,该修改请求对应于数据修改指令,并包括所述修改顺序信息;和发送所述修改请求的一个发送器,这种发送方式不证实修改请求的产生顺序和发送顺序是否相同。如上所述,清楚地标定了每一数据的修改顺序信息,该信息包括在修改请求里,这样接收方可以利用该信息。另外,为了提高通信效率,这一信息的发送方式是它不证实修改请求的产生顺序和发送顺序是否相同。这种方式包括通信线路被断开、重新连接上并重发信息这一情况。
该修改请求可以跟前述修改请求一样包括同样的信息。
该计算机还可以包括一个接收器,用于从另一台计算机接收对复制里的数据进行修改的请求,接收到的修改请求可以包括说明复制已经被目标计算机根据发送的修改请求所修改的响应信息(优选实施方案里的响应BT的值和响应SBT的值)。因此,修改请求的执行得到了保证,不需要重新发送。也就是说,该计算机还包括利用响应信息以确定是否要删除已经发送了的修改请求的装置。
单一一台计算机就可以包括发送端的组件和接收端的组件,并且这样的计算机能够用于构成一个数据共享系统。
到此为止,已经说明了计算机的构造,计算机要进行的处理可以由程序来完成。这一程序可以存在软盘或光盘只读存储器上,或者另一种存储装置里。
图1说明是本发明中的数据共享系统。
图2是修改请求中BT和SBT的值、响应BT和响应SBT的值、响应确认BT和响应确认SBT的值的关系流程图。
图3说明如何将BT和SBT的值赋给修改请求。
图4说明如何执行和删除修改请求。
图5说明图4中接收队列的状态。
图6是执行和删除修改请求的过程流程图。
图1是本发明的数据共享系统的构造图。数据共享系统100包括一台计算机A(1)和一台计算机B(3)。计算机的编号不限于到两个为止,为了更容易地理解这一实施方案给出的解释,只用了两台计算机。在本发明中,计算机A(1)和计算机B(3)的组成部件相同,但图1中只画出了计算机A(1)的部件。计算机A(1)和计算机B(3)都包括一个或多个应用程序5、一个复制控制器7、一个发送队列9、一个接收队列11、一个数据包发送器13、一个数据包接收器15和一个数据存储装置17。
应用程序5向复制控制器7发出请求,让它产生、搜索、引用和删除数据,等等。发送如产生或修改数据这样的数据修改请求时,标明复制的更新顺序。根据本发明,复制更新顺序的标志有普通、前向刷新、后向刷新和双向刷新。既然除了数据修改以外的数据访问跟普通的数据库访问方式相同,因此这里不再详细介绍。
普通标记用于说明进行修改时,对相应复制的更新顺序没有任何限制。前向刷新标记用于说明只有在前面对复制的所有修改完成以后,才对复制里的数据进行更新。后向刷新标记用于说明只有当前复制数据修改完成以后,才对复制数据进行随后的修改。双向刷新标记用于说明应用前向刷新和后向刷新两种标记的方式。描述上述四种标记时根据的是发送/接收信息的顺序,例如,在1993年6月《电气和电子工程师协会的并行和分布式系统学报(IEEE Transactions on Parallel andDistributed Systems)》第4卷第6期里Mohan Ahuja的文章“F信道的一种实现方法”。但是,在这篇文章中既没有描述也没有讲授在数据共享系统里应用标记。此外,在这篇文章中既没有描述也没有讲授下文中将介绍的涉及发送队列和接收队列的部分。
从应用程序5收到访问请求时,复制控制器7就访问存在数据存储装置17里的数据,并在发送队列9里加入一个数据包发送请求。另外,复制控制器7检查接收队列11的状态,并根据标定的顺序更新复制,以便响应存在接收队列11里的修改请求。可以将复制控制器7分成访问数据存储装置17的部分和给要被访问的内容做标记的部分。根据本发明,不处理应用程序5产生的冲突和应用程序5里数据修改请求与存在接收队列11里的数据修改请求之间的冲突,应用程序5对数据的修改和存在接收队列11里的数据修改请求被独立处理。如果发生冲突,可能用常规方法来解决,或者上述两个处理过程中的任何一个都可能被忽略。
数据存储装置17用于储存复制,它也具有普通数据库的功能。也就是说,根据从复制控制器7收到的请求,产生、搜索、引用或删除数据。
发送队列9用于管理数据包发送请求。数据包发送请求包括应用程序5准备的数据修改请求的类型和内容、更新顺序的标记和产生发送请求时的BT的值以及SBT的值。发送队列9里BT的值和SBT的值是用于队列管理的数据。BT的值表示从应用程序5收到的那些个数据修改(也叫做数据修改请求),其中的更新顺序或者是后向刷新,或者是双向刷新。BT的值由复制控制器7来管理。SBT的值用来表示从最后一次后向刷新或双向刷新到最近的修改请求之间的那些个数据修改请求。SBT的值也由复制控制器7来管理。
给出的其它信息包括计算机B(3)收到的,针对复制实行的,最后一次修改请求里用于管理BT的值的响应确认BT的值;和计算机B(3)收到的,针对复制实行的,最后一次修改请求里用于管理SBT的响应确认SBT的值。这些数据由数据包接收器15来管理。
接收队列11用于管理尚未被利用来进行更新的数据包里的修改请求,尽管已经收到了数据包。除了修改请求以外,还有过程中的BT,它表示当前可以完成的修改请求的BT的值;过程中SBT的值,它表示当前可以执行的修改请求SBT的值;响应BT的值,它表示复制控制器7处理过的最后的修改请求所包括的BT的值;和响应SBT的值,它表示复制控制器7处理过的最后的修改请求所包括的SBT的值。这些数字由复制控制器7管理。
数据包发送器13监视发送队列9和接收队列11、产生必要的数据包并将其发送给通信媒介19。数据包发送器13顺序地发送存在发送序列9里的发送请求,这种发送方式不证实计算机B(3)接收请求的顺序是否跟发送队列9里的储存顺序(产生顺序)一样。具体而言,并不是要等到证实了前面的数据包已经被按照产生顺序接收到了才发送,而是只管按顺序发送数据包。当发送的目标计算机B(3)接收一个数据包失败时,就将该数据包重发。可能要重复发送同一个数据包直到证实已经收到了该数据包并且更新过程已经完成。此时,可以使用响应确认BT的值和响应确认SBT的值。发送顺序可以跟发送请求的产生顺序完全不同。
数据包发送器从发送队列9选择一个数据包发送请求,准备好并发送响应队列里包括了响应BT的值和响应SBT的值的数据包。响应BT的值和响应SBT的值用于改变存在计算机B(3)的发送序列9里的响应确认BT的值和响应确认SBT的值。如果发送队列没有储存任何发送请求,那就只发送响应BT的值和响应SBT的值。
数据包接收器15检查收到的数据包的内容以及发送队列9和接收队列11的状态,并更新这些队列。也就是说,数据包接收器15利用收到的数据包里的响应BT和SBT的值来更新发送序列9里的响应确认BT和SBT的值。如果响应BT的值>响应确认BT的值,就利用响应BT的值和响应SBT的值更新响应确认BT的值和响应确认SBT的值。如果响应BT的值=响应确认BT的值,就检查响应SBT的值>响应确认SBT的值是否成立。如果这一条件成立,就利用响应SBT的值更新响应确认SBT的值。如果这一条件不成立,就不更新响应确认BT和SBT的值。
收到的数据包里可能有重复的修改请求。因此,数据包接收器15检查收到的数据包里修改请求所包括的BT的值和SBT的值。于是,如果接收队列9里的修改请求具有相同的BT的值和SBT的值,就删除后一个收到的修改请求。
还有,收到的数据包里的修改请求可能是一个已经执行了的请求。这样,通过引用接收队列11,数据包接收器15将删除BT的值小于响应BT的值的一个修改请求、BT的值等于响应BT的值的一个修改请求和SBT的值小于响应SBT的值的一个请求。
可以从发送队列9里删除响应确认BT≥包括的BT,或者响应确认BT=包括的BT以及响应确认SBT≥包括的SBT的发送请求。发送请求可以由数据包接收器15或发送器13来删除。
检查收到的数据包里修改请求包括的BT和SBT,按照BT和SBT的上升顺序重新排列接收队列11里储存的修改请求。这一处理也可以由数据包接收器15或复制控制器7来完成。
通信媒介19既可以是无线的,也可以是有线的,还可以是这两者的组合。本发明的特征在于它能够处理通过不可靠的通信网络发送数据所产生的问题。
通过参考图2,将说明BT的值、SBT的值、响应BT的值、响应SBT的值、响应确认BT的值和响应确认SBT的值的关系以及它们的更新。
图2说明在复制控制器7完成与存储在计算机A(1)的接收队列11A里的数据包1有关的修改请求以后所进行的过程。这里,“A”用于识别计算机A的组件,同样,“B”用于识别计算机B的组件。执行修改请求时,复制控制器7利用数据包1里BT的值和SBT的值来更新接收队列11A里的响应BT的值和响应SBT的值(步骤1000)。更新了的响应BT和SBT的值被放入准备发往计算机B(3)的发送队列9A里的数据包2(步骤1100)。当数据包发送器13A发送数据包2时(步骤1200),计算机B(3)的数据包接收器15B收到它,并将它存入接收队列11B作为数据包2’。如上所述,数据包接收器15B利用与数据包2’里的修改请求有关的响应BT和响应SBT的值,来确认是否应当更新发送队列9B里的响应确认BT和SBT的值。因为在图2中假定满足了以上条件之一,所以对响应确认BT和SBT的值进行更新(步骤1300)。于是,将响应确认BT的值跟发送队列9B里的修改请求所包括的BT的值进行比较,将响应确认SBT的值跟发送队列9B里修改请求所包括的SBT的值进行比较(步骤1400)。这样获得两个比较结果,然后将数据包1’删除(步骤1500)。删除了发送队列9B里的数据包1’以后,就不再将它发送给计算机A(1)。
参考图3~6,现在介绍执行接收队列11里的修改请求时复制控制器7所进行的处理。首先,将参考图3描述对BT和SBT的赋值。在图3中,当修改请求里更新顺序为普通时就赋值0;更新顺序为后向刷新时就赋值B;为双向刷新时就赋值T;前向刷新时就赋值F。下标用来说明每一标记的出现顺序。首先,将BT和SBT的值初始化为0。然后,当应用程序5在步骤(1)标明为普通时,就将数据修改请求O1标为(0,0)。应当记为(BT,SBT)。然后,将SBT的值加一。如果在步骤(2)有普通标志,就给数据修改请求O2赋值(0,1)。接着,又将SBT的值加一。因此,当步骤(3)被标为后向刷新时,就给数据修改请求B1赋值(0,2),然后清除SBT的值,BT的值加一。
当步骤(4)标双向刷新时,就给数据修改请求T1赋值(1,0)。在此情形,又将SBT的值清除,将BT的值加一。当(5)标为普通时,给数据修改请求O3赋值(2,0),然后SBT的值加一。步骤(6)又标为普通,给数据修改请求O4赋值(2,1),SBT的值加一。(7)标为前向刷新,给数据修改请求F1赋值(2,2),将SBT的值加一。
现在参考图4说明数据包发送器13将包括图3所示的数据修改请求的数据包发送给计算机B(3)时,所进行的处理。数据包接收器15B收到数据包,它们的顺序为O1、B1、O2、T1、O4、F1和O3,见图4。应当指出在图4的实例中数据修改请求是一个一个地接收和处理的。如果接收队列11B里储存了多个数据修改请求,如上所述,就将它们按BT的值和SBT的值递增的顺序来重新排列。除了图4中的实例所描述的顺序过程以外,还可以一次接收几个数据包。
首先,将过程中BT的值和SBT的值初始化成0。在步骤(1)数据包接收器15B收到数据修改请求O1,将它加入接收队列11B。图5的(1)左边说明接收队列11B的状态。复制控制器7B利用过程中BT和SBT的值,以及数据修改请求O1中BT和SBT的值,来决定是否能够执行数据修改请求O1。判断依据如下:
(a)将数据更修改请求的更新顺序标为普通或后向刷新的情形
可以执行有关的数据修改,如果:
数据修改请求里BT的值≤过程中BT的值。
(b)将数据修改请求的更新顺序标为后向刷新或双向刷新的情形
可以执行有关的数据修改,如果:
数据修改请求里BT的值=过程中BT的值;和
数据修改请求里SBT的值=过程中SBT的值。
在图4的步骤(1)里,标志为普通,数据修改请求里BT的值和过程里BT的值都是0。根据上述判断依据,可以执行修改请求。因此,复制控制器7B进行数据修改O1。在图4的步骤(1)里,将“o”输入“修改执行”行。
然后检查是否能够从接收队列11B里删除数据修改请求O1。这一判断是通过比较数据修改请求里BT的值是否等于过程中BT的值和数据修改请求里SBT的值是否等于过程中SBT的值来完成的。如果这一条件成立,过程中BT和SBT的值也被更新。更新方法如下:
(a)将数据修改请求的更新顺序标为普通或前向刷新的情形
过程中SBT的值=过程中SBT的值+1。
(b)将数据修改请求的更新顺序标为后向刷新或双向刷新的情形
过程中BT的值=过程中BT的值+1;和
过程中SBT的值=0。
既然上述条件成立,复制控制器7B就能从接收队列11B中删除数据修改请求O1。于是在图4中将“o”输入“删除”行。既然数据修改请求O1被设成普通,过程中SBT的值就被加一,这跟上述更新方法一样。所以,接收队列11B里没有任何数据修改请求,如同图5中步骤(1)的箭头所示。
此后,在步骤(2)数据包接收器15B接收数据修改请求B1。既然标为后向刷新,就将数据修改请求B1里BT的值跟过程中BT的值进行比较,以确定判断条件是否成立。这样,复制控制器7B执行数据修改请求B1。在图4的步骤(2)里将“o”输入“修改执行”行。然而,由于数据修改请求B1中SBT的值不等于过程中SBT的值,不能从接收队列11B里删除数据修改请求B1。如图5中的步骤(2)所示,数据包接收器15B收到的数据修改请求B1仍然留在接收队列11B里。但是,不需要让整个修改请求留在接收队列11B里。既然已经完成了数据修改请求,就可以删除与数据修改请求直接相关的数据,必须保留数据修改请求里仅有的另一个基本数据,如BT和SBT的值和标明的更新顺序。图5里用虚线框来说明这种情形。因此,将B1输入虚线框。
在步骤(3)数据包接收器15B接收数据修改请求O2。数据修改请求O2里BT的值为0,SBT的值为1。既然SBT的值小于数据修改请求B1里SBT的值,如图5里步骤(3)所示,数据包接收器15B更新接收队列11B,这样将数据修改请求O2放在第一,将数据修改请求B1放在第二。既然数据修改请求O2里BT的值和过程里BT的值都是“0”,复制控制器7B就认定能够执行数据修改请求O2,并执行这一请求。将“o”输入图4中(3)的“修改执行”行。此外,既然数据修改请求O2里BT的值跟过程里BT的值一样,而且数据修改请求O2里SBT的值跟过程里SBT的值也一样,复制控制器7B就删除数据修改请求O2。将“o”输入图4中(3)的“删除”行。
既然更新顺序为普通,而且BT的值跟过程里BT的值相同,SBT的值跟过程里SBT的值也相同,就将过程中SBT的值加一。此时,过程中BT的值为0,过程中SBT的值为2。所以,留在接收队列11B中数据修改请求B1的BT和SBT的值跟过程中BT的值和过程中SBT的值相同。于是复制控制器7B删除接收队列11B里的数据修改请求B1。在图4中的步骤(3)到步骤(2)用一个箭头表示删除数据修改请求B1。图5中步骤(3)的右侧说明接收队列11B是空的。此外,既然删除了的数据修改请求里的更新顺序为后向刷新,而且数据修改请求里BT和SBT的值分别等于过程中BT和SBT的值,复制控制器7B就将过程中BT的值加一,并清除过程中SBT的值。
在步骤(4)数据包接收器15B接收一个数据请求T1。既然数据修改请求T1里BT的值跟过程中BT的值一样,而且数据修改请求T1里SBT的值跟过程里SBT的值一样,复制控制器7B就执行数据修改请求T1。在图4的步骤(4)将“o”输入“修改执行”行。另外,既然可以删除数据修改请求T1,复制控制器7B就从接收队列11B里将它删除。在图4的步骤(4)里将“o”输入“删除”行。还是在图5的步骤(4)中,数据修改请求T1临时存在接收队列11B里,然后被删除,接收队列11B变成空队列。既然数据修改请求T1被标为双向刷新,就将过程中BT的值加一,将过程中SBT的值清除。
数据包接收器15B在步骤(5)里接收一个数据请求O4。既然更新顺序是普通,而且数据修改请求O4里BT的值和过程里BT的值都是2,复制控制器7B就执行数据修改请求O4。“o”被输入图4中步骤(5)的“修改执行”行。然而,由于过程中SBT的值跟数据修改请求O4里SBT的值不同,因此不能从接收队列11B里删除数据修改请求O4。图5中的步骤(5)说明,执行完数据修改请求O4以后,数据修改请求O4被放入虚线框里,并保留在接收队列11B里。
数据包接收器15B在步骤(6)接收数据修改请求F1。数据包接收器15B检查数据修改请求F1里BT和SBT的值,以便将数据修改请求F1加在数据修改队列11B的数据修改请求O4后。复制控制器7B判断是否能够执行数据修改请求F1。既然数据修改请求F1里SBT的值跟过程中SBT的值不同,就不能执行数据修改请求F1,因此,也不能从接收队列11B里将它删除。图5中的步骤(6)说明两个数据修改请求都保留在接收队列11B里的状态。
数据包接收器15B在步骤(7)接收一个数据修改请求O3。数据包接收器15B检查数据修改请求O3里BT和SBT的值,并对接收队列11B进行重新排序。如图5的步骤(7)所示,数据修改请求O3排在第一,数据修改请求O4排在第二,数据修改请求F1排在第三(见图5中步骤(7)的最左边)。因为数据修改请求O3里BT的值跟过程里BT的值相同,所以复制控制器7B执行数据修改请求O3。“o”被输入图4中步骤(7)里的“修改执行”行。另外,因为数据修改请求O3里SBT的值跟过程里SBT的值相同,所以复制控制器7B删除数据修改请求O3(见图5中步骤(7)里从左开始数第二个方框)。“o”被输入图4里步骤(7)的“删除”行。因为数据修改请求O3的更新顺序为普通,而且数据修改请求O3里BT和SBT的值分别跟过程中BT和过程中SBT的值相同,所以复制控制器7B将过程中SBT的值加一。于是,所得到的过程中BT的值和过程中SBT的值跟接收队列11B里数据修改请求O4里BT的值和SBT的值相同。所以,复制控制器7B从接收队列11B删除数据修改请求O4(见图5中步骤(7)里从左边数起第三个方框)。从步骤(7)到(5)的箭头表示删除已经完成。
此外,既然数据修改请求O4里BT和SBT的值分别跟过程中BT和SBT的值相同,而且数据修改请求O3里的更新顺序是普通,复制控制器7B就将过程中SBT的值加一。结果,步骤(6)不能执行的数据修改请求F1里BT和SBT的值分别跟过程中BT的值和过程中SBT的值相同。复制控制器7B执行数据修改请求F1,并从接收队列11B里将它删除。图5中步骤(7)最右边的状态说明接收队列11B终于空了。图4中从步骤(7)到步骤(6)的虚线说明执行数据修改请求和删除数据修改请求都是可能的。
图6说明前面介绍的整个处理过程。首先,如果收到一个修改请求并将它加入接收队列11,或者如果从步骤2200收到一条指令,就检查步骤2000标定的修改请求能否执行(步骤2100)。这一判断是通过标明更新顺序和BT、SBT的值来进行的,这些全都包括在修改请求里。如果不能执行修改请求,就开始处理储存在接收队列11里随后的修改请求(步骤2200)。当接收队列11里没有任何随后的修改请求时,程序就等待接收修改请求。虽然图6没有画出,每次修改请求进入接收队列11时,都将队列11里的数据包按BT和SBT的值的上升顺序重新排序。如果修改请求是可以执行的,就执行它(步骤2300)。检查接收队列11里有没有可以删除的修改请求(步骤2400)。如果有这样的修改请求,就将它删除(2600)。在步骤2600里,复制控制器7也利用被删除了的修改请求里BT和SBT的值,来更新接收队列11里的响应BT和响应SBT的值。删除了修改请求以后,根据需要改变过程中BT和SBT的值。如果没有任何修改请求能够被删除,程序就返回步骤2200。删除了修改请求以后,检查处理是否已经结束。如果处理还没有结束,程序就返回步骤2200。确认处理已经结束了以后,在步骤2700里中止处理。
如上所述,每次接收到修改请求时,数据包接收器15都更新接收队列11里的修改请求的顺序,并通过确定是否能够执行修改请求,来决定每个修改请求的执行时序/顺序。这一操作跟接收顺序毫无关系。即使修改请求的接收顺序跟产生顺序不同,也能识别并执行可执行的修改请求,这样就能提高处理效率。另外,因为一些修改请求在执行完以后可以删除,所以能够提高存储器的利用效率。即使不能删除执行过的修改请求,也只需保留该请求的基本信息,存储器的利用效率提高得更多。
虽然图1的数据共享系统只有两台计算机,但实际上它可以有三台或更多的计算机。应当指出,为了实现本发明,每两台计算机都需要前面介绍的配置。
前面介绍的实施方案可以有多种变化,其中的组件也不必配置在同一台计算机里。可以根据需要将数据包接收器15和复制控制器7的功能分配给这两个组件中的任何一个,而且这些部件还能够被集成化。同样,能够将数据存储装置17和复制控制器7集成起来。在上述实施方案中,修改请求的执行和删除都是独立完成的,但实际上可以将它们同时实施。此时,必须将BT的值和SBT的值分开存储,以便更新响应BT和响应SBT的值。另外,除了管理响应确认BT和响应确认SBT的值以外,每次收到响应BT和响应SBT的值时,都能够删除包括同样的BT和SBT的值的修改请求。可以将发送队列和接收队列存在主存储器或专用存储器里。已经执行了的修改请求不能保留在接收队列里,可以用另一个队列或表来更新过程中BT和SBT的值。此外,除了管理过程中SBT的值以外,需要时也可以考虑包括相同BT的值的接收队列里的修改请求。
本发明能够提供一种方法和一种设备,用于在复制更新期间提高通信效率。
本发明能够提供一种方法和一种设备,用于减少更新复制所需要的存储量。
本发明能够提供一种方法和一种设备,用于确定修改请求更新哪一个复制,即使在更新复制之前通信线路就已经断开。
能够清楚地标明复制的更新顺序。
例如,要复制多张大型图像的数据,这些图像数据分成多段来发送。此时,不必控制图像数据段的发送顺序。但最好是这样,即使在复制过程中有意或无意地断开通信线路,只要复制了尽可能多的数据段,就能够得到完整的图像数据。如果采用传统的先入先出方式来复制图像数据,只要复制了每一图像数据段的末尾就可以肯定复制了完整的图像数据。但在此时,传输开销非常大。另外,即使图像数据是用一个批处理过程来复制的,一旦线路断开,根本不能保证每一图像数据段的所有数据都已被复制。根据本发明,如果在一组图像数据的末尾标明前向刷新方式,发送顺序就不限于一个图像的数据的发送,而且能够控制图像的数据发送顺序。如果更新了末尾的数据,就能保证整个图像的数据都已被复制。
下面介绍一个实例,在这个实例中,要复制售货员的个人信息和他或她的月销售图。假设个人信息包括雇员号和姓名、部门、组和电话号码,月销售图包括雇员号和日销售额。销售记录输出程序从月销售图获得雇员号,以搜索个人信息,输出对应的姓名、部门和组以及电话号码。在这一实例中,如果没有个人信息,即使有月销售图,输出程序也不能输出对应于月销售图的姓名等等。如果要复制的多组数据互相相关,有时就需要互相相关的数据的复制顺序得到保证,这样,即使在复制过程中断开通信线路,才不至于出现相关关系中的冲突。将传统的先入先出顺序用于复制时,复制顺序是由个人信息和月销售图里数据的产生顺序来保证的。然而,在先入先出顺序里也复制了不需保证顺序的其它数据,还会有不必要的传输系统开销。为了复制进行批处理时,如果在复制完成之前中断了通信线路,就得不到复制顺序。根据本发明,将最终个人信息的产生标为双向刷新,然后准备月销售图。结果,保证了个人信息和月销售图的复制顺序。这一过程的传输开销可以降到最低。

Claims (16)

1.一种计算机,用于通过跟另一台计算机交换数据修改请求,来维持复制内容的一致性,该计算机包括:
存储包括共享数据的一个复制的装置;
一个接收器,用于从另一台计算机接收对所述复制里的数据进行修改的请求;和
一个控制器,不管修改请求的接收顺序,用于为接收到的每一修改请求,根据收到的修改请求利用修改请求里的信息,控制所述复制的更新时序。
2.权利要求1的计算机,其中所述修改请求里的信息包括:
一个标志,它说明修改顺序没有限制;
第一标志,它说明在当前修改请求之前针对所述复制的所有修改请求完成以后,根据当前修改请求更新所述复制;
第二标志,它说明根据当前修改请求更新了所述复制以后,将针对所述复制完成当前修改请求之后的修改请求;或者
第三标志,它说明在当前修改请求之前针对所述复制的所有修改请求完成以后,就根据当前修改请求更新所述复制,并根据当前修改请求更新了所述复制以后,将针对所述复制完成当前修改请求之后的所有修改请求。
3.权利要求2的计算机,其中修改请求里的信息还包括:
已经生成的修改请求号(第一号码),它包括所述第二或第三标志;和
在包括第二或第三标志的最后一个修改请求之后已经生成的修改请求号(第二号码)。
4.权利要求3的计算机,其中的控制器储存第一和第二管理值,这些管理值分别对应于第一和第二号码,并规定了复制的更新顺序。
5.权利要求3的计算机,其中,如果更新复制根据的是所述修改请求,所述控制器就将所述修改请求里包括的第一和第二号码作为第三和第四号码储存起来。
6.权利要求5的计算机,还包括一个发送器,用于向另一台计算机发送修改所述复制数据的请求,其中的控制器让所述修改请求包括第三和第四号码。
7.一种计算机,用于通过跟另一台计算机交换数据修改请求,而维持复制内容的一致性,该计算机包括:
存储包括共享数据的一个复制的装置;
指令对复制里包括的数据进行修改,并标明数据修改请求的修改顺序信息的装置;
产生修改请求的装置,该修改请求对应于数据修改指令,并包括所述修改顺序信息;和
发送所述修改请求的一个发送器,这种发送方式不证实修改请求的产生顺序和发送顺序是否相同。
8.权利要求7的计算机,其中修改顺序信息包括:
一个标志,它说明修改顺序没有限制;
第一标志,它说明在当前修改请求之前针对所述复制的所有修改请求完成以后,就根据当前修改请求更新所述复制;
第二标志,它说明根据当前修改请求更新了所述复制以后,将针对所述复制完成当前修改请求之后的修改请求;或者
第三标志,它说明在当前修改请求之前针对所述复制的所有修改请求完成以后,就根据当前修改请求更新所述复制,而且根据当前修改请求更新了所述复制以后,将针对所述复制完成当前修改请求之后的所有修改请求。
9.权利要求8的计算机,其中的修改请求还包括:
已经生成的修改请求号(第一号码),它包括所述第二或第三标志;和
在包括第二或第三标志的最后一个修改请求之后已经生成的修改请求号(第二个号码)。
10.权利要求7的计算机,还包括一个接收器,用于从另一台计算机接收对复制里的数据进行修改的请求,其中接收到的修改请求包括说明所述复制已经被一台目标计算机根据发送的修改请求所修改的响应信息。
11.权利要求10的计算机,还包括利用所述响应信息来确定是否删除已经发送了的修改请求的装置。
12.权利要求7的计算机,还包括:一个控制器,不管修改请求的接收顺序,用于为接收到的每一修改请求,根据接收到的修改请求,控制所述复制的更新顺序。
13.一种计算机,用于通过跟另一台计算机交换数据修改请求,维持复制内容的一致性,这种计算机包括:
存储包括共享数据的一个复制的装置;
一个接收器,用于从另一台计算机接收对复制里的数据进行修改的请求;
一个控制器,不管修改请求的接收顺序,用于为接收到的每一修改请求,利用修改请求里的信息根据接收到的修改请求,控制所述复制的更新时序。
指令对复制里包括的数据进行修改,并标明数据修改请求的修改顺序信息的装置;
产生修改请求的装置,该修改请求对应于数据修改指令,并包括所述修改顺序信息;和
发送所述修改请求的一个发送器,这种发送方式不证实修改请求的产生顺序和发送顺序是否相同。
14.一种数据共享系统,用于通过在计算机之间交换数据而维持复制内容的一致性,每一台所述计算机都包括:
存储包括共享数据的一个复制的装置;
一个接收器,用于从另一台计算机接收对复制里的数据进行修改的请求;
一个控制器,不管修改请求的接收顺序,用于为接收到的每一修改请求,利用修改请求里的信息根据接收到的修改请求,控制所述复制的更新时序。
指令对复制里包括的数据进行修改,并标明数据修改请求的修改顺序信息的装置;
产生修改请求的装置,该修改请求对应于数据修改指令,并包括所述修改顺序信息;和
发送所述修改请求的一个发送器,这种发送方式不证实修改请求的产生顺序和发送顺序是否相同。
15.通过在有复制的计算机之间交换数据修改请求而维持复制内容一致性的一种方法,该复制包括共享数据,该方法包括以下步骤:
从另一台计算机接收对复制里的数据进行修改的请求;和
不管修改请求的接收顺序,为接收到的每一修改请求,利用修改请求里包括的信息根据接收到的修改请求控制复制的更新时序。
16.通过在有复制的计算机之间交换数据修改请求而维持复制内容一致性的一种方法,该复制包括共享数据,该方法包括以下步骤:
指令对复制里包括的数据进行修改,并标明数据修改请求的修改顺序信息;
产生修改请求,该修改请求对应于对数据的所述修改,并包括所述修改顺序信息;和
发送所述修改请求,这种发送方式不证实修改请求的产生顺序和发送顺序是否相同。
CN99120897A 1998-10-22 1999-10-08 维持复制一致性的计算机、数据共享系统和方法 Expired - Fee Related CN1114869C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP30100798A JP3578385B2 (ja) 1998-10-22 1998-10-22 コンピュータ、及びレプリカ同一性保持方法
JP301007/1998 1998-10-22

Publications (2)

Publication Number Publication Date
CN1252568A CN1252568A (zh) 2000-05-10
CN1114869C true CN1114869C (zh) 2003-07-16

Family

ID=17891717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99120897A Expired - Fee Related CN1114869C (zh) 1998-10-22 1999-10-08 维持复制一致性的计算机、数据共享系统和方法

Country Status (6)

Country Link
US (1) US6571278B1 (zh)
JP (1) JP3578385B2 (zh)
KR (1) KR100359960B1 (zh)
CN (1) CN1114869C (zh)
IL (1) IL131710A (zh)
TW (1) TW505852B (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US7200869B1 (en) * 2000-09-15 2007-04-03 Microsoft Corporation System and method for protecting domain data against unauthorized modification
CN100437569C (zh) * 2000-10-09 2008-11-26 最佳收益有限公司 数据处理方法和装置
KR100637990B1 (ko) * 2001-03-26 2006-10-23 듀아키시즈 가부시키가이샤 프로토콜 이중화 장치 및 프로토콜 이중화 방법
US7139932B2 (en) * 2002-01-03 2006-11-21 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
JP3500379B1 (ja) * 2002-06-28 2004-02-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置、プログラム及びゲーム装置の制御方法
US8374966B1 (en) 2002-08-01 2013-02-12 Oracle International Corporation In memory streaming with disk backup and recovery of messages captured from a database redo stream
JP4227399B2 (ja) * 2002-11-29 2009-02-18 キヤノン株式会社 情報処理方法及び装置
US7739240B2 (en) * 2002-12-09 2010-06-15 Hewlett-Packard Development Company, L.P. Replication and replica management in a wide area file system
GB0229572D0 (en) * 2002-12-19 2003-01-22 Cognima Ltd Quality of service provisioning
WO2004077298A1 (en) * 2003-02-28 2004-09-10 Canon Kabushiki Kaisha Information processing method and apparatus
US20050257219A1 (en) * 2004-04-23 2005-11-17 Holt John M Multiple computer architecture with replicated memory fields
US20050262513A1 (en) * 2004-04-23 2005-11-24 Waratek Pty Limited Modified computer architecture with initialization of objects
US7707179B2 (en) * 2004-04-23 2010-04-27 Waratek Pty Limited Multiple computer architecture with synchronization
US20060095483A1 (en) * 2004-04-23 2006-05-04 Waratek Pty Limited Modified computer architecture with finalization of objects
US20060253844A1 (en) * 2005-04-21 2006-11-09 Holt John M Computer architecture and method of operation for multi-computer distributed processing with initialization of objects
US7849452B2 (en) * 2004-04-23 2010-12-07 Waratek Pty Ltd. Modification of computer applications at load time for distributed execution
US7844665B2 (en) * 2004-04-23 2010-11-30 Waratek Pty Ltd. Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers
US7680793B2 (en) 2005-10-07 2010-03-16 Oracle International Corporation Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers
US8015236B2 (en) * 2005-10-25 2011-09-06 Waratek Pty. Ltd. Replication of objects having non-primitive fields, especially addresses
US7660960B2 (en) * 2005-10-25 2010-02-09 Waratek Pty, Ltd. Modified machine architecture with partial memory updating
US20070100828A1 (en) * 2005-10-25 2007-05-03 Holt John M Modified machine architecture with machine redundancy
US7958322B2 (en) * 2005-10-25 2011-06-07 Waratek Pty Ltd Multiple machine architecture with overhead reduction
US7581069B2 (en) * 2005-10-25 2009-08-25 Waratek Pty Ltd. Multiple computer system with enhanced memory clean up
US7849369B2 (en) * 2005-10-25 2010-12-07 Waratek Pty Ltd. Failure resistant multiple computer system and method
US7761670B2 (en) * 2005-10-25 2010-07-20 Waratek Pty Limited Modified machine architecture with advanced synchronization
US7801856B2 (en) 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types
US7849151B2 (en) * 2006-10-05 2010-12-07 Waratek Pty Ltd. Contention detection
WO2008040076A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Contention resolution with echo cancellation
US20080134189A1 (en) * 2006-10-05 2008-06-05 Holt John M Job scheduling amongst multiple computers
WO2008040078A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Synchronization with partial memory replication
US20100054254A1 (en) * 2006-10-05 2010-03-04 Holt John M Asynchronous data transmission
US20080126506A1 (en) * 2006-10-05 2008-05-29 Holt John M Multiple computer system with redundancy architecture
US20080140863A1 (en) * 2006-10-05 2008-06-12 Holt John M Multiple communication networks for multiple computers
WO2008040085A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Network protocol for network communications
US20080126572A1 (en) * 2006-10-05 2008-05-29 Holt John M Multi-path switching networks
US20080120475A1 (en) * 2006-10-05 2008-05-22 Holt John M Adding one or more computers to a multiple computer system
WO2008040069A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Hybrid replicated shared memory
EP2069930A4 (en) * 2006-10-05 2012-05-30 Waratek Pty Ltd ADVANCED CONTENT DETECTION
US20080140801A1 (en) * 2006-10-05 2008-06-12 Holt John M Multiple computer system with dual mode redundancy architecture
US20080140975A1 (en) * 2006-10-05 2008-06-12 Holt John M Contention detection with data consolidation
US20080133859A1 (en) * 2006-10-05 2008-06-05 Holt John M Advanced synchronization and contention resolution
US7894341B2 (en) * 2006-10-05 2011-02-22 Waratek Pty Ltd. Switch protocol for network communications
WO2008040066A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Redundant multiple computer architecture
US20080120478A1 (en) * 2006-10-05 2008-05-22 Holt John M Advanced synchronization and contention resolution
WO2008040075A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Contention detection with modified message format
US8473564B2 (en) * 2006-10-05 2013-06-25 Waratek Pty Ltd. Contention detection and resolution
WO2008040080A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Silent memory reclamation
US20080184071A1 (en) * 2006-10-05 2008-07-31 Holt John M Cyclic redundant multiple computer architecture
US20100121935A1 (en) * 2006-10-05 2010-05-13 Holt John M Hybrid replicated shared memory
WO2008040079A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Multiple network connections for multiple computers
US20080250221A1 (en) * 2006-10-09 2008-10-09 Holt John M Contention detection with data consolidation
US8316190B2 (en) 2007-04-06 2012-11-20 Waratek Pty. Ltd. Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping
US9197486B2 (en) 2008-08-29 2015-11-24 Google Inc. Adaptive accelerated application startup
CN105071839B (zh) * 2015-08-17 2018-02-23 贵阳朗玛信息技术股份有限公司 蓝牙设备通信方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01200457A (ja) * 1988-02-05 1989-08-11 Hitachi Ltd 分散システムでのノード間メッセージ追い越し処理方式
JP3020539B2 (ja) * 1990-03-07 2000-03-15 株式会社日立製作所 並列動作型データベース管理方式
KR940005779B1 (ko) * 1991-12-31 1994-06-23 재단법인 한국전자통신연구소 캐쉬데이타의 공유상태 및 변경상태를 알리는 회로
JPH06110759A (ja) * 1992-09-30 1994-04-22 Toshiba Corp ファイルシステム
JP3182000B2 (ja) * 1992-10-20 2001-07-03 富士通株式会社 複合情報処理システムにおける拡張記憶装置
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
JP2557192B2 (ja) * 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
US5796999A (en) * 1994-04-15 1998-08-18 International Business Machines Corporation Method and system for selectable consistency level maintenance in a resilent database system
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
US5581753A (en) * 1994-09-28 1996-12-03 Xerox Corporation Method for providing session consistency guarantees
JPH08123714A (ja) * 1994-10-21 1996-05-17 Hitachi Ltd ファイル形式を集中変換するシステム
JPH0981430A (ja) * 1995-09-05 1997-03-28 Internatl Business Mach Corp <Ibm> ファイル・システム
US5978813A (en) * 1995-09-25 1999-11-02 International Business Machines Corporation System for providing synchronization between a local area network and a distributing computer environment
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
GB9604987D0 (en) 1996-03-08 1996-05-08 Ibm Data management system and method for replicated data
US5787262A (en) * 1996-06-26 1998-07-28 Microsoft Corporation System and method for distributed conflict resolution between data objects replicated across a computer network
US5893116A (en) * 1996-09-30 1999-04-06 Novell, Inc. Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
JPH10154094A (ja) * 1996-11-22 1998-06-09 Nec Corp マスタメンテナンス集中更新方式
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
JPH11127188A (ja) * 1997-10-20 1999-05-11 Fujitsu Ltd 蓄積交換型電子会議システムにおける情報伝達装置及び方法並びに情報伝達プログラムを記録した媒体

Also Published As

Publication number Publication date
JP2000132443A (ja) 2000-05-12
CN1252568A (zh) 2000-05-10
IL131710A (en) 2002-12-01
IL131710A0 (en) 2001-03-19
US6571278B1 (en) 2003-05-27
TW505852B (en) 2002-10-11
KR100359960B1 (ko) 2002-11-04
KR20000028662A (ko) 2000-05-25
JP3578385B2 (ja) 2004-10-20

Similar Documents

Publication Publication Date Title
CN1114869C (zh) 维持复制一致性的计算机、数据共享系统和方法
KR101566566B1 (ko) 리치 클라이언트와 브라우저 클라이언트 간의 스프레드시트 협업
EP0329779B1 (en) Session control in network for digital data processing system which supports multiple transfer protocols
US7624189B2 (en) Transferring data between computers for collaboration or remote storage
US8972348B2 (en) Method and system for supporting off-line mode of operation and synchronization
US8935560B2 (en) System and method of file locking in a network file system federated namespace
CN1542637A (zh) 同步在对等计算设备中共享的数据的方法和系统
JPH0656598B2 (ja) コンピュータシステム・コンプレックス及びその操作方法
CN1681248A (zh) 服务器与客户端间传送用于数据同步的数据的方法与系统
CN109032796B (zh) 一种数据处理方法和装置
JPH0594344A (ja) データ処理システムにおける効率的な文書形式変換のための方法
CN1146816A (zh) 数据存储器
US8782116B2 (en) Method and device for processing digital data with a unique identifier
CN110389935A (zh) 一种启动小程序的方法、设备和计算机存储介质
CN1598848A (zh) 撤消先前已发送的电子邮件消息的系统、装置与方法
US7055128B2 (en) System and method to communicate, collect and distribute generated shared files
US20070271239A1 (en) Method for transferring data between terminal apparatuses in a transparent computation system
JPH113368A (ja) 分散環境におけるスケジュールデータ管理方法及びシステム及びスケジュールデータ管理プログラムを格納した記憶媒体
JPH0855069A (ja) ネットワークシステム
US8185911B2 (en) System and method for simplification of data structure in wireless communications
GB2420882A (en) Database synchronisation system
EP1715412B1 (en) System and method for simplification of data structure in wireless communications
JPS63655A (ja) 計算機ネツトワ−クにおける共有デ−タの更新方法
CA2452893A1 (en) Method and apparatus for storing and managing contacts in a distributed collaboration system
CN113138965A (zh) 一种基于大文件的存储管理方法及装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030716

Termination date: 20101008