CN1520562A - 用于中央同步服务器的缓存机构的系统和方法 - Google Patents

用于中央同步服务器的缓存机构的系统和方法 Download PDF

Info

Publication number
CN1520562A
CN1520562A CNA028127234A CN02812723A CN1520562A CN 1520562 A CN1520562 A CN 1520562A CN A028127234 A CNA028127234 A CN A028127234A CN 02812723 A CN02812723 A CN 02812723A CN 1520562 A CN1520562 A CN 1520562A
Authority
CN
China
Prior art keywords
buffer
renewal
data stores
client
new
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.)
Pending
Application number
CNA028127234A
Other languages
English (en)
Inventor
乌韦・汉斯曼
乌韦·汉斯曼
・黑珀尔
斯特凡·黑珀尔
・施托贝尔
托马斯·施托贝尔
斯・海因茨曼
道格拉斯·海因茨曼
逖姆・普拉卡亚萨
阿普拉逖姆·普拉卡亚萨
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 CN1520562A publication Critical patent/CN1520562A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Abstract

本发明公开了使用与后端数据存储器相连的中央同步服务器在不同客户端之间进行数据同步的新同步结构,所述后端数据存储器还提供缓存器,该缓存器通过指派唯一缓存器标识(ID)将传入的更新永久缓冲到永久存储器中。写入新记录项到缓存器的同步服务器与从后端复制到缓存器的更新之间的写入冲突可以使用基于缓存器ID的阻塞机制来解决,使得在同步会话期间,只要来自客户端的具有相同缓存器ID的传入更新没有完全写入缓存器中,后端更新就被阻塞。本发明最好适于这样的同步结构,其具有大量的客户端连接到中央同步服务器,而后端数据存储器的阻塞,到后端数据存储器的连接和传输为最小。

Description

用于中央同步服务器 的缓存机构的系统和方法
技术领域
本发明涉及不同客户端之间的数据同步的方法和系统,尤其涉及使用经网络与后端数据存储器相连的中央同步服务器在移动客户端之间进行的数据同步。
背景技术
同步可以被定义为在不同客户端之间保持数据的一致性,例如,保持笔记本日历和个人数字助理(PDA)日历之间数据的一致性,并且这些客户端的数据用不同的标识符以不同的数据格式存储。同步数据也可以包括完备的计算机程序或这些程序的部分。
通常,通过使用中央同步服务器,数据可以在不同的客户端之间进行交换(见图1)。中央同步服务器可以本地存储所有的数据(即在使用私人数据格式时),这些数据通常由具有高负载的运营商(例如,雅虎)使用,或者可以直接访问像DB2、Domino或Exchange那样的后端数据存储器。对后端数据存储器的直接访问所具有的不利之处是,同步过程可能非常耗费时间,这取决于中央同步服务器和后端数据存储器之间的业务量。对移动电话的用户而言这是非常不利的,因为他们必须为与后端数据存储器的连接时间支付费用。
美国专利5,974,238描述了存于手提式计算机和主计算机的数据之间的动态同步的装置,其中手提式计算机和主计算机每个均具有包含至少一个公共数据集合的多个数据集合,每个计算机具有公共数据集合的副本。手提式计算机具有处理器,通信端口和数据同步引擎。数据同步引擎具有伪缓存器,和一个或多个连接到伪缓存器的标记。当数据被写入主存储器时,和/或当相关伪缓存器标记无效时,数据要进行同步。通过严格遵守一组协议,取得数据的一致,因为系统总是知道谁拥有数据,谁拥有数据的副本,谁对数据进行了更改。数据同步引擎解析副本中的任何差异并使得主计算机和手提式计算机中存储有公共数据集合的相同副本。
这项现有技术专利并不涉及使用后端数据存储器的同步结构。因此,上述所提到的涉及后端数据存储器的问题不能被该项专利处理和解决。
发明内容
因此本发明的目的在于提供一种新方法和系统,用于在使用与后端数据存储器相连的中央同步服务器但避免了现有技术方案的缺点的同步结构中的数据同步。
该目的通过独立权利要求的方案来实现。进一步的优选实施例如从属权利要求所述。
本发明公开了使用与后端数据存储器相连的中央同步服务器在不同客户端之间进行数据同步的新同步结构,所述后端数据存储器还提供缓存器,该缓存器通过指派唯一缓存器标识(ID)将传入的更新永久缓冲到永久存储器中。写入新记录项到缓存器的同步服务器与从后端复制到缓存器的更新之间的写入冲突可以使用基于缓存器ID的阻塞机制来解决,使得在同步会话期间,只要来自客户端的具有相同缓存器ID的传入更新没有完全写入缓存器中,后端更新就被阻塞。在本发明的进一步的优选实施例中,时间标志被缓存机构额外赋给每个更新,从而允许只有当时间标志较新时,才在缓存器中缓存更新。缓冲到该缓存器中的更新可以通过缓存机构以不同模式,例如批处理模式或连续模式,在后端数据存储器和客户端之间往返复制。本发明最好适于这样的同步结构,其具有大量的客户端连接到中央同步服务器,而后端数据存储器的阻塞,到后端数据存储器的连接和传输为最小。中央同步服务器与后端数据存储器的分离并使用缓存器允许比直接访问后端数据存储器处理更高的负载,因为缓存机构能够批处理更新请求并仅将批处理发送到后端数据存储器,这比针对每个更新请求均与后端数据存储器联系的方式更加有效。
附图说明
本发明将结合附图进行更详细的描述,其中:
图1示出了本发明可基于的简化同步结构;
图2示出了最好可被本发明实施的SyncML通信协议;
图3示出了直接访问后端数据存储器的现有技术同步结构;
图4示出了使用发明缓存机构的同步结构;
图5示出了如图4所示使用提供有时间标志的缓存机构的本发明同步结构的优选实施例;
图6示出了经过中央同步服务器连接到缓存器的客户端之间更新同步的方法步骤;
图7示出了利用缓存器对后端数据存储器的更新进行复制的方法步骤;
图8示出了利用后端数据存储器对缓存器中出现的更新进行复制的方法步骤;
图9示出了本发明的扩展缓存机构。
具体实施方式
使用中央同步服务器的不同客户端之间的同步基于通常包括下列步骤的同步协议:
预同步:为了准备进行实际的同步,在可以实际同步之前必须采取的某些动作。这些动作分成下列类别:认证,授权和确定客户端能力。认证确保服务器是其要求的服务器,客户端是其要求的客户端。授权检查客户端是否被允许执行所请求的动作(例如,删除,更新或仅仅建立新记录项)。最后,服务器确定设备能力(例如,最大缓冲器的大小)以优化流向客户端的数据流。
同步:这是交换同步数据的部分。在两个同步方之间,所有数据记录的本地ID都被映射成双方已知的全局ID。因此每一方都具有一个将本地ID映射到全局ID的映射表。于是,只有更新过的、新的或删除的记录项被交换。如果双方更新相同的数据记录项,将会产生冲突。这种更新冲突可以用不同的方式加以解决:尝试合并更新,复制记录项,让一个记录项优先于另一个记录项,或只是简单地报告冲突,以便用户能够来解决。
后同步:在后同步过程中,进行所有的清理工作,例如更新映射表,报告未解决的冲突等等。
广泛使用的同步协议是SyncML。SyncML为独立于传输协议的同步提供了基于XML的传输协议。每个同步消息均是一个XML文件。通常的SyncML系统如图2所示,其中应用B(例如个人数字助理)正通过它的客户端同步引擎发送同步数据到SyncML框架。SyncML框架将API调用(例如更新,创建,...)和数据转换成有效的SyncML文件并将其发送到服务器。在服务器侧,SyncML框架接收该文件,对其进行分析,然后将命令和数据发送到服务器同步引擎,服务器同步引擎则与应用A(例如,笔记本上的Lotus Notes日历)进行对话。
在图3中,给出了现有技术中直接访问后端数据存储器的同步结构。客户端A和B可以是移动客户端(例如,移动电话或个人数字助理),其与中央同步服务器(同步服务器(SynchServer),特别是同步引擎(SyncEngine))具有有线或无线连接。来自移动客户端的更新或新记录项经SyncML适配器发送到同步引擎。中央同步服务器针对后端数据存储器直接读出和写入更新。中央同步服务器和后端数据存储器之间的通信可以是Java JDBC调用,ODBC调用,SOAP或HTTP请求,或专用通信协议。后端数据存储器可以是类似Oracle或IBM DB2的关系数据库,或者类似Microsoft Exchange或LotusDomino的非关系型数据库。后端数据存储器经Intranet或Internet与中央同步服务器相连。这可能在下列情形产生瓶颈:
与后端数据存储器的慢速连接;
在后端数据存储器上进行的读/写是慢操作;
后端数据存储器无法进行很好的调节;
后端数据存储器不支持精细粒度的数据记录或块的阻塞。
图4给出了本发明的基本同步结构。与现有技术中的同步结构(见图3)相比较,本发明基本上提供了永久(permanent)缓存器24,和将更新缓冲到缓存器24中并将使缓存的更新与各个客户端2、4同步的缓存机构。该永久缓存器24可以是像Oracle或IBMDB2这样的关系数据库,也可以通过例如JDBC调用进行访问。缓存机构最好包括缓存监视器20,后端监视器18和缓存器管理部件。缓存监视器20控制从缓存器到后端数据存储器16的客户端更新的复制。后端监视器18控制从后端数据存储器到缓存器24的后端更新的复制。缓存器管理部件23为中央同步服务器6(同步服务器),缓存监视器20和后端监视器18提供用于访问已缓存的更新的接口。缓存器管理部件23也提供创建缓存器ID,将缓存器ID映射到后端ID和将后端ID映射到缓存器ID的功能。当中央同步服务器6正将更新写入缓存器24时,缓存监视器20以及后端监视器18接收至少含有指派给待缓存的更新的缓存器ID的消息。借助于含有后端ID和指派的缓存器ID的映射表26,只要来自客户端的具有相同缓存器ID的更新没有完全被缓冲到缓存器24中,后端监视器18就阻塞每个传入更新从后端数据存储器到缓存器24的缓冲。最好由中央同步服务器启动的同步过程被针对缓存监视器20的同步启动调用(beginSync)打开,并且被针对缓存监视器20的同步结束调用(endSync)关闭。在同步会话期间,缓存监视器20不允许复制带有缓冲到缓存器24中的beginSync调用的缓存器ID的更新。
图5示出了本发明的进一步的优选实施例。与图4中所示的基本同步结构相比,这个优选实施例还包含永久(persistent)存储器22。永久存储器22代替图4中的缓存器管理部件23,并提供后端ID和缓存器ID之间的映射,确保只有具有较新的时间标志的更新才被写入缓存器24中。例如客户端A2打开与中央同步服务器6(同步服务器)的同步会话,并发送至少包含本地通用标识符(LUID),版本号和要更新的数据的更新1。LUID唯一标识客户端数据存储器上的数据记录。中央同步服务器6具有映射表10,用于将客户端的LUID(包含客户端ID和数据库URI)映射到缓存器ID,缓存器ID用于在缓存器24上标识更新请求。客户端使用递增计数器作为时间标志,因为许多移动客户端2、4在其数据存储器中不支持时间标志。同步服务器6的同步引擎12(同步引擎)部分知道将更新的版本号映射8到同步会话时间标志。同步引擎12正将带有同步会话时间标志和缓存器ID的更新发送到永久存储器22。永久存储器22将此更新的时间标志与缓存器中的更新的时间标志相比较。如果更新请求的时间标志较新,则该更新请求被缓冲到缓存器24中。如果更新请求不新,则此更新请求被忽略。同时,出现后端数据存储器16中的更新,并且后端监视器18正通过包含时间标志,后端ID和要更新的数据的更新19来调用永久存储器22。永久存储器22将后端ID映射到所指派的缓存器ID,比较时间标志,并且如果传入更新的时间较新,更新缓存器24。这两个更新的结果如图6所示。
图6示出了如何使来自客户端的更新通过中央同步服务器与缓存器中的数据同步的本发明方法步骤。
客户端,例如移动电话,请求2与同步服务器(同步服务器)进行同步会话。在更新能够被发送到中央同步服务器之前,必须完成客户端和中央同步服务器之间的认证。如果认证成功4,则中央同步服务器接受同步过程,并且客户端可以发送其更新6。
更新最好包含版本号,LUID和要更新的数据。中央同步服务器接收8更新,并利用映射表将版本号转换成所指派的时间标志。在下一步骤中,利用含有LUID和其指派的缓存器ID的映射表对更新的LUID进行映射10。如果LUID不包含12在缓存器映射表中,永久存储器创建14新的缓存器ID并用它来更新映射表。如果该LUID已经含于缓存器映射表中,中央同步服务器请求16永久存储器在缓存器中缓冲更新。接着,永久存储器检查18、20传入更新的时间标志,和缓存器中已缓冲的具有相同缓存器ID的更新的时间标志。如果传入更新的时间标志较新,则传入更新覆盖22缓存器中的旧更新。如果时间标志较旧,则传入更新被忽略21。
图7示出了来自后端数据存储器的更新如何在缓存器中被复制的方法步骤。假定访问后端数据存储器的应用在后端数据存储器中更新记录项,例如一位秘书可以在后端数据存储器中产生其主管的日历数据的更新。每个记录更新包含后端ID,时间标志和要更新的数据。按照下列模式可将更新数据发送到后端监视器:
后端数据存储器向后端监视器通知每个新记录项或更新。后端监视器为接收更新而发起读请求。这种模式被称为推送(push)模式,或者
后端监视器周期性地启动针对后端数据存储器的查询。后端数据存储器返回更新或新记录项的后端ID。借助于该后端ID,后端监视器启动对那些更新的访问。这种模式被称为轮询(polling)模式。
后端监视器从后端检索更新并将后端数据格式转换成包含后端ID和时间标志的缓存器数据格式4、6。后端监视器将更新发送8到永久存储器,该永久存储器根据映射表将后端ID映射到指派的缓存器ID。如果后端ID没有含在映射表中,永久存储器创建新缓存器ID 12并将新缓存器ID.和指派的后端ID插入到映射表14中。接着永久存储器将检查传入更新的时间标志与缓存器中已存在的更新(如果有)的时间标志。
如果传入时间标志较新,则缓存器中的更新被覆盖20。如果该时间标志较旧,则传入更新被忽略18。
图8示出了如何通过同步服务器(同步服务器)在后端数据存储器中复制缓存器中出现的更新的方法步骤。按照如图6所示的方法步骤,在缓存器中更新记录项。永久存储器现在向缓存监视器通知4缓存器中的新记录项。缓存监视器使用6映射表选择对应于新记录的缓存器ID的指派后端ID。如果该缓存器ID在映射表中没有指派的后端ID,缓存监视器被启动以创建新的后端记录项。起初,缓存监视器将含有时间标志和记录项数据的缓存器数据转换10成后端系统的数据格式,与后端数据存储器建立连接,并在后端数据存储器中创建12含有时间标志,更新数据和后端ID的新记录项。新后端ID经缓存监视器被发送到永久存储器16,此永久存储器将这个新后端ID插入含有缓存器ID和相应指派的后端ID的映射表中。如果该缓存器ID在映射表中有指派的后端ID,则通知20缓存监视器在后端中启动该更新记录项。缓存监视器将更新记录项的缓存器数据格式转换22成后端数据格式,含有时间标志和后端ID的更新记录项在后端存储器中得到执行24。
图9示出了扩展缓存机构。这里外部应用10经拦截器(interceptor)12访问后端数据存储器16。拦截器12了解同步服务器的缓存器24,并在从后端数据存储器16检索数据之前首先查看该缓存器。这解决了读写冲突问题,但是从外部应用的观点来看,当然这是一种低性能的折衷考虑。
总之,与最接近的现有技术相比,本发明的优点如下:
后端数据存储器的每一次变化都立即复制到缓存器中。当存在缓存器复制时,不阻塞同步服务器。当同步服务器正对缓存器进行写入操作时,缓存器和后端数据存储器的更新均被完全阻塞。为了取得最高性能,可针对实际使用情景,例如批处理或滴流(trickle)模式,对缓存器更新策略和后端更新策略进行更精细的调节。
如果需要,外部应用的读写冲突可以通过使用拦截器进行解决。

Claims (16)

1.一种通过使用中央同步服务器(6)在不同客户端(2、4)之间同步数据的系统,所述中央同步服务器具有到所述客户端(2、4)的连接,和到后端数据存储器(16)的连接,其中所述客户端具有产生要同步的数据的程序,与所述中央同步服务器进行同步的同步引擎,其中所述后端数据存储器(16)具有与外部应用(15)之间的数据连接,以允许在所述后端数据存储器(16)中进行所述数据的更新,其中所述系统的特征在于以下部件:
缓存器(24),用于永久缓存所述后端数据存储器(16)和所述客户端(2、4)的更新,和
缓存机构部件,用于控制和执行将更新缓存到所述缓存器(24)的操作,并且将所缓存的更新复制到所述各个客户端和所述后端数据存储器(16)。
2.如权利要求1所述的系统,其中所述缓存机构具有缓存器管理部件(23),它通过指派唯一缓存器标识(ID)提供在所述缓存器(24)中缓存所述客户端(2、4)的更新的功能,并且从所述缓存器(24)向所述客户端(2、4)复制更新,所述缓存机构还具有后端监视器(18),其中在同步会话期间,如果来自所述客户端的具有相同缓存器ID的更新没有完全被写入缓存器(24)中,后端监视器(18)阻塞更新从所述后端数据存储器到所述缓存器的缓存。
3.如权利要求1所述的系统,其中所述缓存机构具有永久存储器(22),其提供这样的功能,其中仅当时间标志比在所述缓存器(24)中缓存或正在缓存的具有相同缓存器ID的更新的时间标志新时,该功能将所述客户端或所述后端数据存储器(16)的更新缓存到所述缓存器(24)中。
4.如权利要求3所述的系统,其中所述永久存储器(22)还提供将缓存器ID映射到后端ID的功能。
5.如权利要求2所述的系统,其中所述缓存机构具有缓存监视器(20),它以批处理或连续滴流模式将更新从所述缓存器(24)复制到后端数据存储器(16)。
6.如权利要求2所述的系统,其中所述缓存机构具有后端监视器(18),它以批处理或连续滴流模式在所述缓存器(24)和后端数据存储器(16)之间复制更新。
7.如权利要求1所述的系统,其中所述缓存器(24)和所述后端数据存储器(16)是数据库。
8.如权利要求1所述的系统,其中所述客户端(2、4)是移动客户端。
9.如权利要求1所述的系统,其中同步协议是SyncML。
10.一种使用如权利要求1-9所述的系统在客户端之间进行更新同步的方法,包括步骤:
通过所述客户端的同步引擎从所述客户端接收包含版本号,LUID和更新数据的更新(2),
使用映射表将所述更新的版本号映射到所指派的同步时间标志(8),
使用映射表将所述更新的LUID映射到所指派的缓存器ID(10),
仅当所述更新的时间标志比所述缓存器中具有相同缓存器ID的更新的时间标志新时,将包含时间标志和缓存器ID的更新数据缓存到所述缓存器中(20),
使用映射表将所述更新的缓存器ID映射到所指派的后端ID(6),
将所述更新的缓存器数据格式转换成所述后端数据存储器的数据格式(22),
启动所述后端数据存储器中包含更新数据,时间标志和后端ID的更新(24)。
11.一种使用如权利要求1-9所述的系统在客户端之间进行更新同步的方法,包括步骤:
通过所述客户端的同步引擎从所述客户端接收包含版本号,LUID和更新数据的更新,
使用映射表将所述更新的版本号映射到所指派的同步时间标志,
使用映射表将所述更新的LUID映射到所指派的缓存器ID,
仅当所述更新的时间标志比所述缓存器中具有相同缓存器ID的更新的时间标志新时,将包含时间标志和缓存器ID的更新数据缓存到所述缓存器中,
如果将缓存器ID映射到后端ID的操作不成功,生成新的后端ID,
将所述更新的缓存器数据格式转换成所述后端数据存储器的数据格式,
启动所述后端数据存储器中的所述更新的新记录项,所述新记录项包含新记录项数据,时间标志和后端ID,
将新的后端ID插入到映射表中。
12.如权利要求10或11所述的方法,其中在所述客户端和所述中央同步服务器之间使用的同步协议是SyncML,并且所述中央同步服务器接收的所述更新被表示成XML文件。
13.一种使用如权利要求1-9所述的系统从所述后端数据存储器向所述缓存器复制更新的方法,包括步骤:
由所述中央同步服务器从所述后端数据存储器接收包含更新数据,时间标志和后端ID的更新,
将所述后端更新的后端数据格式转换成缓存器数据格式,
使用映射表将后端ID映射成缓存器ID,
仅当时间标志比所述缓存器中缓存的具有相同缓存器ID的更新的时间标志新时,从所述后端数据存储器向所述缓存器缓存所述更新。
14.如权利要求13所述的方法,其中在同步会话期间,如果来自所述客户端的具有相同缓存器ID的更新数据没有完全被写入到所述缓存器中,阻塞从所述后端数据存储器到所述缓存器的更新缓存。
15.如权利要求13所述的方法,还包括步骤:
当从后端ID到缓存器ID的映射不成功时,生成新的缓存器ID,和
将所述新的缓存器ID插入到映射表中。
16.一种存储在数字计算机的内存中的计算机程序产品,包含当所述产品在计算机上运行时用于执行根据权利要求10至15的方法的软件代码部分。
CNA028127234A 2001-06-30 2002-06-25 用于中央同步服务器的缓存机构的系统和方法 Pending CN1520562A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01115979 2001-06-30
EP01115979.5 2001-06-30

Publications (1)

Publication Number Publication Date
CN1520562A true CN1520562A (zh) 2004-08-11

Family

ID=8177909

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA028127234A Pending CN1520562A (zh) 2001-06-30 2002-06-25 用于中央同步服务器的缓存机构的系统和方法

Country Status (7)

Country Link
US (1) US7539778B2 (zh)
EP (1) EP1407387A2 (zh)
KR (1) KR100592647B1 (zh)
CN (1) CN1520562A (zh)
AU (1) AU2002313483A1 (zh)
TW (1) TW579463B (zh)
WO (1) WO2003005206A2 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384110C (zh) * 2004-08-31 2008-04-23 华为技术有限公司 一种SyncML同步请求消息重定向的方法
CN100407623C (zh) * 2005-02-23 2008-07-30 腾讯科技(深圳)有限公司 一种通信系统中用户数据更新的方法及系统
CN102004780A (zh) * 2010-11-23 2011-04-06 中兴通讯股份有限公司 一种数据同步方法及装置
CN101390094B (zh) * 2006-02-22 2011-04-13 微软公司 针对复制数据库的分布式冲突解决
CN101496000B (zh) * 2006-07-31 2011-05-25 微软公司 通过web聚合的双向多主同步
CN101385017B (zh) * 2005-08-15 2011-06-08 微软公司 部分项改变跟踪和同步
CN102460409A (zh) * 2009-06-05 2012-05-16 微软公司 利用服务器存储模型来同步文件分区
CN104106060A (zh) * 2012-02-16 2014-10-15 微软公司 支持通知阻塞的功率高效代理通信
US8984392B2 (en) 2008-05-02 2015-03-17 Microsoft Corporation Document synchronization over stateless protocols
CN105574158A (zh) * 2015-12-15 2016-05-11 广州品唯软件有限公司 数据库缓存数据的刷新方法及其系统
CN108470006A (zh) * 2017-02-23 2018-08-31 西部数据技术公司 用于进行非阻塞控制同步操作的技术
CN109213792A (zh) * 2018-07-06 2019-01-15 武汉斗鱼网络科技有限公司 数据处理的方法、服务端、客户端、装置及可读存储介质
CN109788027A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 数据同步方法、装置、服务器及计算机存储介质
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023358A1 (en) * 2002-09-09 2004-03-18 Koninklijke Philips Electronics N.V. A data network, user terminal and method for providing recommendations
KR100625653B1 (ko) * 2004-07-01 2006-09-20 에스케이 텔레콤주식회사 기업용 무선 어플리케이션 서비스를 위한 싱크 시스템 및그 처리방법
US7395258B2 (en) * 2004-07-30 2008-07-01 International Business Machines Corporation System and method for adaptive database caching
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
KR100597586B1 (ko) * 2004-12-09 2006-07-06 한국전자통신연구원 세션 관리 기능을 이용한 데이터 동기화 방법
US7693888B2 (en) * 2005-05-10 2010-04-06 Siemens Communications, Inc. Data synchronizer with failover facility
EP1894370B1 (en) 2005-06-13 2011-11-09 ST-Ericsson SA Electronic device, method for frame synchronization, and mobile device
US8024290B2 (en) * 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US7631017B2 (en) * 2005-12-08 2009-12-08 Motorola, Inc. Method and system for maintaining current data for wireless devices
US9367832B2 (en) 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
CN100531212C (zh) * 2006-01-21 2009-08-19 华为技术有限公司 一种协商设备信息的系统、方法
US7925624B2 (en) * 2006-03-31 2011-04-12 Amazon Technologies, Inc. System and method for providing high availability data
US7707136B2 (en) * 2006-03-31 2010-04-27 Amazon Technologies, Inc. System and method for providing high availability data
US7937361B2 (en) * 2006-04-28 2011-05-03 Research In Motion Limited Method of reflecting on another device a change to a browser cache on a handheld electronic device, and associated device
KR100844361B1 (ko) * 2006-06-20 2008-07-07 계명대학교 산학협력단 자료 동기화 게이트웨이 시스템 및 방법
US20070297458A1 (en) * 2006-06-27 2007-12-27 Microsoft Corporation Efficient and layered synchronization protocol for database systems
US7523141B2 (en) * 2006-07-31 2009-04-21 Microsoft Corporation Synchronization operations involving entity identifiers
WO2009027138A1 (en) 2007-08-30 2009-03-05 International Business Machines Corporation Accessing data entities
US9401957B2 (en) * 2007-09-14 2016-07-26 International Business Machines Corporation System and method for synchronization between servers
US8959199B2 (en) * 2008-03-18 2015-02-17 Reduxio Systems Ltd. Network storage system for a download intensive environment
US8019863B2 (en) 2008-03-28 2011-09-13 Ianywhere Solutions, Inc. Synchronizing events between mobile devices and servers
US8943271B2 (en) 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
US8176256B2 (en) * 2008-06-12 2012-05-08 Microsoft Corporation Cache regions
US9747340B2 (en) * 2008-06-19 2017-08-29 Microsoft Technology Licensing, Llc Method and system of using a local hosted cache and cryptographic hash functions to reduce network traffic
US9286293B2 (en) * 2008-07-30 2016-03-15 Microsoft Technology Licensing, Llc Populating and using caches in client-side caching
US8612383B2 (en) * 2008-11-05 2013-12-17 Mastercard International Incorporated Method and systems for caching objects in a computer system
US8626800B2 (en) * 2008-12-09 2014-01-07 International Business Machines Corporation Synchronization of artifacts across different domains
US20110061046A1 (en) * 2008-12-18 2011-03-10 Virtual Computer, Inc. Installing Software Applications in a Layered Virtual Workspace
US8918380B2 (en) * 2009-07-09 2014-12-23 Norsync Technology As Methods, systems and devices for performing incremental updates of partial databases
US20110093619A1 (en) * 2009-10-16 2011-04-21 Ianywhere Solutions, Inc. Synchronizing Tasks between Mobile Devices and Servers
US8484256B2 (en) * 2010-01-13 2013-07-09 International Business Machines Corporation Transformation of logical data objects for storage
WO2011114720A1 (ja) * 2010-03-17 2011-09-22 株式会社日立製作所 計算機システム、記録媒体及び保守支援システム
EP2567334A4 (en) 2010-05-07 2014-11-05 Google Inc CACHING ELECTRONIC DOCUMENT RESOURCES IN A CLIENT DEVICE HAVING ELECTRONIC RESOURCE DATA BASED
US8510373B2 (en) * 2010-08-30 2013-08-13 Sap Ag Data synchronization and disablement of dependent data fields
ES2805755T3 (es) 2011-03-10 2021-02-15 Amadeus Sas Sistema y método para sincronización de sesión con sistemas externos independientes
SG190505A1 (en) * 2011-11-24 2013-06-28 Chikka Pte Ltd System and method for detecting broadband service and a charging mechanism for same
US8874682B2 (en) 2012-05-23 2014-10-28 Sybase, Inc. Composite graph cache management
US9110807B2 (en) 2012-05-23 2015-08-18 Sybase, Inc. Cache conflict detection
US9274668B2 (en) 2012-06-05 2016-03-01 Dimensional Insight Incorporated Guided page navigation
US10445674B2 (en) 2012-06-05 2019-10-15 Dimensional Insight Incorporated Measure factory
US10671955B2 (en) 2012-06-05 2020-06-02 Dimensional Insight Incorporated Dynamic generation of guided pages
US10755233B2 (en) 2012-06-05 2020-08-25 Dimensional Insight Incorporated Guided page navigation
US10095672B2 (en) 2012-06-18 2018-10-09 Novaworks, LLC Method and apparatus for synchronizing financial reporting data
US9288077B1 (en) * 2012-09-28 2016-03-15 Emc Corporation Cluster file system with server block cache
US9507842B2 (en) * 2013-04-13 2016-11-29 Oracle International Corporation System for replication-driven repository cache invalidation across multiple data centers
CN103716370B (zh) * 2013-10-13 2018-01-02 北界创想(北京)软件有限公司 在多个客户端之间进行数据同步的方法和装置
US9112890B1 (en) 2014-08-20 2015-08-18 E8 Storage Systems Ltd. Distributed storage over shared multi-queued storage device
JP6254293B2 (ja) * 2014-09-15 2017-12-27 華為技術有限公司Huawei Technologies Co.,Ltd. データ重複排除方法及びストレージアレイ
US9274720B1 (en) 2014-09-15 2016-03-01 E8 Storage Systems Ltd. Distributed RAID over shared multi-queued storage devices
JP6231669B2 (ja) * 2014-09-15 2017-11-15 華為技術有限公司Huawei Technologies Co.,Ltd. データ書込み要求処理方法及びストレージアレイ
US9519666B2 (en) 2014-11-27 2016-12-13 E8 Storage Systems Ltd. Snapshots and thin-provisioning in distributed storage over shared storage devices
US9529542B2 (en) 2015-04-14 2016-12-27 E8 Storage Systems Ltd. Lockless distributed redundant storage and NVRAM caching of compressed data in a highly-distributed shared topology with direct memory access capable interconnect
US9525737B2 (en) 2015-04-14 2016-12-20 E8 Storage Systems Ltd. Lockless distributed redundant storage and NVRAM cache in a highly-distributed shared topology with direct memory access capable interconnect
US10496626B2 (en) 2015-06-11 2019-12-03 EB Storage Systems Ltd. Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect
US9842084B2 (en) 2016-04-05 2017-12-12 E8 Storage Systems Ltd. Write cache and write-hole recovery in distributed raid over shared multi-queue storage devices
US10031872B1 (en) 2017-01-23 2018-07-24 E8 Storage Systems Ltd. Storage in multi-queue storage devices using queue multiplexing and access control
US10261843B2 (en) * 2017-03-16 2019-04-16 International Business Machines Corporation Speculative execution management in a coherent accelerator architecture
US10685010B2 (en) 2017-09-11 2020-06-16 Amazon Technologies, Inc. Shared volumes in distributed RAID over shared multi-queue storage devices
US11080265B2 (en) 2019-04-24 2021-08-03 Microsoft Technology Licensing, Llc Dynamic hash function composition for change detection in distributed storage systems
US11055274B2 (en) 2019-04-24 2021-07-06 Microsoft Technology Licensing, Llc Granular change detection in distributed storage systems
US11061936B2 (en) 2019-04-24 2021-07-13 Microsoft Technology Licensing, Llc Property grouping for change detection in distributed storage systems
KR102421397B1 (ko) 2019-07-25 2022-07-18 주식회사 디에스랩글로벌 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법
US11936525B2 (en) * 2019-10-01 2024-03-19 Lenovo (Singapore) Pte. Ltd. Determining a time to perform an update
KR102350282B1 (ko) * 2020-07-24 2022-01-13 주식회사 엘지유플러스 다중 데이터베이스의 동기화를 위한 장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061714A (en) * 1997-05-07 2000-05-09 International Business Machines Corporation Persistent cache synchronization and start up system
US6810405B1 (en) * 1998-08-18 2004-10-26 Starfish Software, Inc. System and methods for synchronizing data between multiple datasets
US6862617B1 (en) * 1998-10-12 2005-03-01 Microsoft Corp. System and method for synchronizing objects between two devices
US6779042B1 (en) * 1999-09-10 2004-08-17 Ianywhere Solutions, Inc. System, method, and computer program product for enabling on-device servers, offline forms, and dynamic ad tracking on mobile devices
US6587921B2 (en) * 2001-05-07 2003-07-01 International Business Machines Corporation Method and apparatus for cache synchronization in a clustered environment
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US7130882B1 (en) * 2002-06-20 2006-10-31 Microsoft Corporation Caching mechanism using intervening network caching policies

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384110C (zh) * 2004-08-31 2008-04-23 华为技术有限公司 一种SyncML同步请求消息重定向的方法
CN100407623C (zh) * 2005-02-23 2008-07-30 腾讯科技(深圳)有限公司 一种通信系统中用户数据更新的方法及系统
CN101385017B (zh) * 2005-08-15 2011-06-08 微软公司 部分项改变跟踪和同步
CN101390094B (zh) * 2006-02-22 2011-04-13 微软公司 针对复制数据库的分布式冲突解决
CN101496000B (zh) * 2006-07-31 2011-05-25 微软公司 通过web聚合的双向多主同步
US8984392B2 (en) 2008-05-02 2015-03-17 Microsoft Corporation Document synchronization over stateless protocols
US8572030B2 (en) 2009-06-05 2013-10-29 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
CN102460409A (zh) * 2009-06-05 2012-05-16 微软公司 利用服务器存储模型来同步文件分区
WO2012068787A1 (zh) * 2010-11-23 2012-05-31 中兴通讯股份有限公司 一种数据同步方法及装置
CN102004780A (zh) * 2010-11-23 2011-04-06 中兴通讯股份有限公司 一种数据同步方法及装置
US9760413B2 (en) 2012-02-16 2017-09-12 Microsoft Technology Licensing, Llc Power efficient brokered communication supporting notification blocking
CN104106060A (zh) * 2012-02-16 2014-10-15 微软公司 支持通知阻塞的功率高效代理通信
US9317344B2 (en) 2012-02-16 2016-04-19 Microsoft Technology Licensing, Llc Power efficient brokered communication supporting notification blocking
CN104106060B (zh) * 2012-02-16 2017-04-12 微软技术许可有限责任公司 支持通知阻塞的功率高效代理通信
CN105574158A (zh) * 2015-12-15 2016-05-11 广州品唯软件有限公司 数据库缓存数据的刷新方法及其系统
CN105574158B (zh) * 2015-12-15 2019-03-12 广州品唯软件有限公司 数据库缓存数据的刷新方法及其系统
CN108470006A (zh) * 2017-02-23 2018-08-31 西部数据技术公司 用于进行非阻塞控制同步操作的技术
US11288201B2 (en) 2017-02-23 2022-03-29 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
CN109213792A (zh) * 2018-07-06 2019-01-15 武汉斗鱼网络科技有限公司 数据处理的方法、服务端、客户端、装置及可读存储介质
CN109788027A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 数据同步方法、装置、服务器及计算机存储介质
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase

Also Published As

Publication number Publication date
AU2002313483A1 (en) 2003-01-21
US20040153576A1 (en) 2004-08-05
US7539778B2 (en) 2009-05-26
KR20040010677A (ko) 2004-01-31
EP1407387A2 (en) 2004-04-14
WO2003005206A3 (en) 2004-02-12
WO2003005206A2 (en) 2003-01-16
TW579463B (en) 2004-03-11
KR100592647B1 (ko) 2006-06-23

Similar Documents

Publication Publication Date Title
CN1520562A (zh) 用于中央同步服务器的缓存机构的系统和方法
US7404011B2 (en) System and method for accessing different types of back end data stores
US7222139B2 (en) Method, system and program for synchronizing data
KR100462839B1 (ko) 모바일 환경에서의 이동 클라이언트와 서버간의 데이터동기화 및 갱신 충돌 해결 방법
US7788243B2 (en) System and methods for optimizing data transfer among various resources in a distributed environment
JP5193056B2 (ja) 無線装置の最新データを維持するための方法及びシステム
US20130332566A1 (en) Providing local access to managed content
CN1339134A (zh) 具有至少两个主机数据库和一个远程数据库的数据库系统以及同步这样的数据库的方法
CN101184106A (zh) 一种移动数据库的关联事务处理方法
CN101046821A (zh) 通用数据库操纵器
WO2007035653A2 (en) Providing direct access to distributed managed content
CN1848849A (zh) 复制目录修改的方法和装置
US20040148302A1 (en) Compressed data structure for extracted changes to a database and method of generating the data structure
US20020016935A1 (en) Method and apparatus for scanning records
EP1131756B1 (en) Protocol for synchronizing parallel processors in a mobile communications system
CN1185596C (zh) 分布式案件管理系统及其方法
AU2002351296A1 (en) System and method for processing a request using multiple database units
Cui Ldap directory template model on multi-master replication
Li et al. On demand synchronization and load distribution for database grid-based Web applications
Li et al. The research and application of embedded mobile database
Le et al. A transaction model for Supporting mobile Collaborative Works
Chen Google big table
EP1298538B1 (en) Method and computer system for identifying object suppliers in a computer network
CN117648297A (zh) 基于对象存储小文件离线合并方法、系统、设备及介质
GB2403825A (en) Method and apparatus for providing access to data from a heterogeneous storage environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20040811