[go: up one dir, main page]

CN1520562A - System and method for a caching mechanism for a central synchronization server - Google Patents

System and method for a caching mechanism for a central synchronization server 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
cache
backend
data
buffer
update
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
Chinese (zh)
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/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention discloses a new synchronization architecture for data synchronization between different clients using a central synchronization server connected to a back-end data store, said back-end data store further providing a cache which permanently buffers incoming updates into a persistent store by assigning a unique cache Identification . Write conflicts between a sync server writing a new entry to a cache and updates replicated from the back-end to the cache can be resolved using a blocking mechanism based on the cache ID, such that during a sync session, back-end updates are blocked as long as incoming updates from a client with the same cache ID are not completely written into the cache. The invention is preferably adapted to a synchronization structure with a large number of clients connected to a central synchronization server, while the blocking of the back-end data store, the connection and transmission to the back-end data store is minimal.

Description

The system and method that is used for the buffer memory mechanism of central synchronization server
Technical field
The present invention relates to the method and system of the data sync between the different clients, relate in particular to the data sync that central synchronization server that use links to each other with back-end data stores through network is carried out between mobile client.
Background technology
Can be defined in the consistance that keeps data between the different clients synchronously, for example, the consistance that keeps data between notebook calendar and the PDA(Personal Digital Assistant) calendar, and the data of these clients are stored with different data layouts with different identifiers.Synchrodata also can comprise the complete computer program or the part of these programs.
Usually, by using central synchronization server, data can exchange (see figure 1) between different clients.Central synchronization server can locally be stored all data (promptly when using the private data form), these data usually by the operator with high capacity (for example, Yahoo) uses, perhaps can directly visit the back-end data stores as DB2, Domino or Exchange.The disadvantage that direct visit had to back-end data stores is, synchronizing process may expend time in very much, and this depends on the portfolio between central synchronization server and the back-end data stores.This is very disadvantageous for the user of mobile phone, because they are necessary for the tie-time defrayment with back-end data stores.
United States Patent (USP) 5,974,238 have described the device of the dynamic synchronization between the data that are stored in hand-held computer and principal computer, wherein hand-held computer and principal computer each all have a plurality of data acquisitions that comprise the set of at least one common data, each computing machine has the copy of common data set.Hand-held computer has processor, communication port and data synchronization engine.Data synchronization engine has pseudo-buffer and one or more mark that is connected to pseudo-buffer.When data are written into primary memory, and/or when relevant pseudo-buffer marked invalid, data will be carried out synchronously.By strictly observing one group of agreement, obtain the unanimity of data, because system always knows who has data, and who has the copy of data, and who changes data.Data synchronization engine is resolved any difference in the copy and is made the identical copies that stores the common data set in principal computer and the hand-held computer.
This prior art patent does not relate to the synchronization structure that uses back-end data stores.Therefore, the above-mentioned problem of mentioning that relates to back-end data stores can not be handled and solve by this patent.
Summary of the invention
Therefore the object of the present invention is to provide a kind of new method and system, be used for using the central synchronization server that links to each other with back-end data stores but having avoided the data sync of synchronization structure of the shortcoming of prior art scheme.
This purpose realizes by the scheme of independent claims.Further preferred embodiment is as described in the dependent claims.
The invention discloses central synchronization server that use links to each other with back-end data stores and between different clients, carry out the new synchronization structure of data sync, described back-end data stores also provides buffer, and the renewal that this buffer will import into by the unique buffer sign of appointment (ID) forever is buffered in the permanent storage.Write the new record item to writing to conflict and to use obstruction mechanism to solve between the synchronization server of buffer and the renewal that copies to buffer from the rear end based on buffer ID, make during simultaneous session, as long as the renewal of importing into same buffer ID from client does not write in the buffer fully, the rear end is upgraded and is just got clogged.In further preferred embodiment of the present invention, time tag is buffered mechanism and additionally composes to each renewal, thereby allows to have only when the time sign is new, just buffer update in buffer.The renewal that is buffered in this buffer can be by buffer memory mechanism with different mode, and for example batch mode or continuous mode come and go between back-end data stores and client and duplicate.The present invention preferably is suitable for such synchronization structure, and it has a large amount of clients and is connected to central synchronization server, and the obstruction of Back end data storer, to the connection of back-end data stores be transmitted as minimum.The separating and use buffer to allow to handle higher load of central synchronization server and back-end data stores than direct access back end data stores, because buffer memory mechanism can the batch processing update request also only send to back-end data stores with batch processing, this is than all more effective with the mode that back-end data stores is got in touch at each update request.
Description of drawings
The present invention will be described in more detail in conjunction with the accompanying drawings, wherein:
Fig. 1 show the present invention can based on the simplification synchronization structure;
Fig. 2 shows preferably can be by SyncML communication protocol of the invention process;
Fig. 3 shows the prior art synchronization structure of direct access back end data stores;
Fig. 4 shows the synchronization structure that uses invention buffer memory mechanism;
Fig. 5 shows the preferred embodiment that uses the synchronization structure of the present invention of the buffer memory mechanism that provides time tag as shown in Figure 4;
Fig. 6 shows to be connected to through central synchronization server and upgrades synchronous method step between the client of buffer;
Fig. 7 shows the method step that utilizes buffer that the renewal of back-end data stores is duplicated;
Fig. 8 shows the method step that utilizes back-end data stores that the renewal that occurs in the buffer is duplicated;
Fig. 9 shows expansion buffer memory of the present invention mechanism.
Embodiment
Use between the different clients of central synchronization server synchronously based on the synchronous protocol that generally includes the following step:
Presynchronization: for prepare to carry out actual synchronously, some action that must take before can actual synchronization.These actions are divided into following classification: authentication, authorize and definite client end capacity.Authentication guarantees that server is the server of its requirement, and client is the client of its requirement.Whether the authorization check client is allowed to carry out the action of being asked (for example, deletion is upgraded or only set up the new record item).At last, server determines that capacity of equipment (for example, the size of largest buffer) flows to the data stream of client with optimization.
Synchronously: this is the part of exchange synchrodata.Between two synchronous sides, the local ident of all data recording all is mapped to the known Global ID of both sides.Therefore each side has a mapping table that local ident is mapped to Global ID.So, have only entry that upgraded, new or deletion to be exchanged.If both sides upgrade identical data recording item, will produce conflict.This update inconsistency can be solved with different modes: attempt merging and upgrade, the duplicated record item allows an entry have precedence over another entry, or just report conflict simply, so that the user can solve.
The back is synchronous: in the synchronizing process of back, carry out all cleaning works, for example upgrade mapping table, report unsolved conflict or the like.
Widely used synchronous protocol is SyncML.SyncML provides host-host protocol based on XML synchronously for what be independent of host-host protocol.Each synchronization message all is XML files.Common SyncML system wherein uses B (for example personal digital assistant) and just sends synchrodata to the SyncML framework by its client synchronization engine as shown in Figure 2.The SyncML framework with API Calls (for example upgrade, create ...) become effective SyncML file with data-switching and send it to server.At server side, the SyncML framework receives this document, and it is analyzed, and will order then with data and send to server sync engine, and server sync engine then engages in the dialogue with application A (for example, the Lotus Notes calendar on the notebook).
In Fig. 3, provided the synchronization structure of direct access back end data stores in the prior art.Customer end A and B can be mobile client (for example, mobile phone or personal digital assistant), and itself and central synchronization server (synchronization server (SynchServer), particularly synchronization engine (SyncEngine)) have wired or wireless connection.Renewal or new record item from mobile client send to synchronization engine through the SyncML adapter.Renewal is directly read and write to central synchronization server at back-end data stores.Communication between central synchronization server and the back-end data stores can be that Java JDBC calls, and ODBC calls, SOAP or HTTP request, or private communication protocol.Back-end data stores can be the relational database of similar Oracle or IBM DB2, the non-relational database of perhaps similar Microsoft Exchange or LotusDomino.Back-end data stores links to each other with central synchronization server through Intranet or Internet.This may produce bottleneck in following state:
With being connected at a slow speed of back-end data stores;
The read/write of carrying out on back-end data stores is to operate slowly;
Back-end data stores can't well be regulated;
Back-end data stores is not supported the data recording of fine granulation or the obstruction of piece.
Fig. 4 has provided basic synchronization structure of the present invention.Compare with synchronization structure (see figure 3) of the prior art, the present invention provides permanent (permanent) buffer 24 basically and has been buffered to renewal in the buffer 24 and will makes the renewal of buffer memory and buffer memory mechanism that each client 2,4 is synchronous.This permanent buffer 24 can be the relational database as Oracle or IBMDB2, also can call by for example JDBC to conduct interviews.Buffer memory mechanism preferably includes cache monitor device 20, back end monitor 18 and buffer management component.What cache monitor device 20 control client of 16 from the buffer to the back-end data stores was upgraded duplicates.What back end monitor 18 control rear end of 24 from the back-end data stores to the buffer was upgraded duplicates.Buffer management parts 23 are central synchronization server 6 (synchronization server), and cache monitor device 20 and back end monitor 18 are provided for visiting the interface of the renewal of buffer memory.Buffer management parts 23 also provide creates buffer ID, buffer ID is mapped to rear end ID and rear end ID is mapped to the function of buffer ID.When central synchronization server 6 was just writing buffer 24 with renewal, cache monitor device 20 and back end monitor 18 received the message that contains the buffer ID that is assigned to the renewal for the treatment of buffer memory at least.Mapping table 26 by means of the buffer ID that contains rear end ID and appointment, as long as be not buffered to fully in the buffer 24 from the renewal with same buffer ID of client, back end monitor 18 is just blocked each and is imported renewal buffering of 24 from the back-end data stores to the buffer into.Preferably called (beginSync) at the synchronous startup of cache monitor device 20 and opened, and called (endSync) by same EOS and close at cache monitor device 20 by the synchronizing process of central synchronization server startup.During simultaneous session, cache monitor device 20 does not allow to duplicate and has a renewal that is buffered to the buffer ID that the beginSync in the buffer 24 calls.
Fig. 5 shows further preferred embodiment of the present invention.Compare with the basic synchronization structure shown in Fig. 4, this preferred embodiment also comprises (persistent) storer 22 forever.Permanent storage 22 replaces the buffer management parts 23 among Fig. 4, and the mapping between rear end ID and the buffer ID is provided, and guarantees that the renewal that only has newer time tag just is written in the buffer 24.For example customer end A 2 is opened the simultaneous session with central synchronization server 6 (synchronization server), and is sent to and comprises local general identifier (LUID) less, version number and want the renewal 1 of data updated.Data recording on the LUID unique identification client data storer.Central synchronization server 6 has mapping table 10, is used for the LUID (comprising client id and database URI) of client is mapped to buffer ID, and buffer ID is used for identifying update request on buffer 24.Client uses count-up counter as time tag, because many mobile clients 2,4 are not supported time tag in its data-carrier store.Synchronization engine 12 (synchronization engine) part of synchronization server 6 knows that the version number's mapping 8 that will upgrade is to the simultaneous session time tag.The renewal that synchronization engine 12 just will have simultaneous session time tag and buffer ID sends to permanent storage 22.Permanent storage 22 is compared the time tag of the renewal in the time tag of this renewal and the buffer.If the time tag of update request is newer, then this update request is buffered in the buffer 24.If update request is not new, then this update request is left in the basket.Simultaneously, the renewal in the back-end data stores 16 occurs, and back end monitor 18 is just by comprising time tag, rear end ID and want the renewal 19 of data updated to call permanent storage 22.Permanent storage 22 is mapped to the buffer ID that is assigned with rear end ID, time tag relatively, and if to import time of renewal into newer, upgrade buffer 24.The result of these two renewals as shown in Figure 6.
How Fig. 6 makes from the renewal of the client the inventive method step by the data sync in central synchronization server and the buffer if showing.
Client, mobile phone for example, request 2 is carried out simultaneous session with synchronization server (synchronization server).Before renewal can be sent to central synchronization server, must finish the authentication between client and the central synchronization server.If authentication success 4, then central synchronization server is accepted synchronizing process, and client can send its renewal 6.
Upgrade and preferably to comprise version number, LUID and want data updated.Central synchronization server receives 8 and upgrades, and utilizes mapping table version number to be converted to the time tag of being assigned.In next step, utilize the mapping table of the buffer ID that contains LUID and its appointment that the LUID that upgrades is shone upon 10.If LUID does not comprise 12 in the register map table, permanent storage is created 14 new buffer ID and is upgraded mapping table with it.If this LUID has been contained in the register map table, central synchronization server request 16 permanent storagies cushion renewal in buffer.Then, the time tag of the renewal with same buffer ID that has cushioned in the time tag of renewal and the buffer is imported in permanent storage inspection 18,20 into.If it is newer to import the time tag of renewal into, then imports into and upgrade the old renewal that covers in 22 buffers.If time tag is older, then imports renewal into and be left in the basket 21.
Fig. 7 shows the method step how renewal from back-end data stores is replicated in buffer.Suppose that being applied in of access back end data stores upgrade entry, for example secretary can produce its person in charge's calendar data in back-end data stores renewal in the back-end data stores.Each record upgrades and to comprise rear end ID, time tag and want data updated.New data more can be sent to back end monitor according to following modes:
Back-end data stores monitor is to the back-end notified each new record item or renewal.Back end monitor is initiated read request for receiving to upgrade.This pattern is called as propelling movement (push) pattern, perhaps
Back end monitor periodically starts the inquiry at back-end data stores.Back-end data stores is returned the rear end ID of renewal or new record item.By means of this rear end ID, back end monitor starts the visit to those renewals.This pattern is called as poll (polling) pattern.
Back end monitor upgrades and the Back end data format conversion is become to comprise the buffer data layout 4,6 of rear end ID and time tag from the rear end retrieval.Back end monitor will be upgraded and send 8 to permanent storage, and this permanent storage is mapped to rear end ID according to mapping table the buffer ID of appointment.If rear end ID is not contained in the mapping table, permanent storage is created new buffer ID 12 and the rear end ID of new buffer ID. and appointment is inserted in the mapping table 14.Then permanent storage imports inspection into the time tag of already present renewal (if there is) in the time tag of renewal and the buffer.
If the introduction time sign is newer, then the renewal in the buffer is capped 20.If this time tag is older, then imports renewal into and be left in the basket 18.
Fig. 8 shows the method for updating step that how occurs in the duplicate cache device in back-end data stores by synchronization server (synchronization server).According to method step as shown in Figure 6, in buffer, upgrade entry.Permanent storage is notified the item of the new record in 4 buffers to the cache monitor device now.The cache monitor device uses the appointment rear end ID of 6 mapping tables selection corresponding to the buffer ID of new record.If this buffer ID does not have the rear end ID of appointment in mapping table, the cache monitor device is activated to create new rear end entry.Originally, the cache monitor device will contain the data layout of 10 one-tenth back-end systems of buffer data-switching of time tag and entry data, connect with back-end data stores, and establishment 12 contains time tag in back-end data stores, more the new record item of new data and rear end ID.New rear end ID is sent to permanent storage 16 through the cache monitor device, and this permanent storage inserts this new rear end ID in the mapping table of the rear end ID that contains buffer ID and respective assigned.If this buffer ID has the rear end ID of appointment in mapping table, then notify 20 cache monitor devices in the rear end, to start this renewal entry.The cache monitor device will upgrade 22 one-tenth Back end data forms of buffer Data Format Transform of entry, and the renewal entry that contains time tag and rear end ID obtains carrying out 24 in back-end memory.
Fig. 9 shows expansion buffer memory mechanism.Here applications 10 is through blocker (interceptor) 12 access back end data stores 16.Blocker 12 is understood the buffer 24 of synchronization server, and at first checks this buffer before back-end data stores 16 retrieve data.This has solved the read/write conflict problem, and still from the viewpoint of applications, this is a kind of compromise consideration of low performance certainly.
In a word, compare with immediate prior art, advantage of the present invention is as follows:
The variation each time of back-end data stores all copies in the buffer immediately.When existing buffer to duplicate, do not block synchronization server.When synchronization server when buffer carries out write operation, the renewal of buffer and back-end data stores is all by total blockage.In order to obtain peak performance, can use sight at reality, for example batch processing or drip (trickle) pattern is carried out meticulousr adjusting to buffer update strategy and rear end update strategy.
If desired, the read/write conflict of applications can solve by using blocker.

Claims (16)

1.一种通过使用中央同步服务器(6)在不同客户端(2、4)之间同步数据的系统,所述中央同步服务器具有到所述客户端(2、4)的连接,和到后端数据存储器(16)的连接,其中所述客户端具有产生要同步的数据的程序,与所述中央同步服务器进行同步的同步引擎,其中所述后端数据存储器(16)具有与外部应用(15)之间的数据连接,以允许在所述后端数据存储器(16)中进行所述数据的更新,其中所述系统的特征在于以下部件:1. A system for synchronizing data between different clients (2, 4) by using a central synchronization server (6) having a connection to said clients (2, 4) and a The connection of the end data storage (16), wherein the client has a program to generate the data to be synchronized, and the synchronization engine for synchronizing with the central synchronization server, wherein the back-end data storage (16) has a connection with the external application ( 15) data connection between to allow updating of said data in said backend data store (16), wherein said system is characterized by the following components: 缓存器(24),用于永久缓存所述后端数据存储器(16)和所述客户端(2、4)的更新,和a cache (24) for permanently caching updates of said backend data storage (16) and said clients (2, 4), and 缓存机构部件,用于控制和执行将更新缓存到所述缓存器(24)的操作,并且将所缓存的更新复制到所述各个客户端和所述后端数据存储器(16)。A caching mechanism component for controlling and executing caching of updates to said cache (24), and replicating cached updates to said respective clients and said backend data store (16). 2.如权利要求1所述的系统,其中所述缓存机构具有缓存器管理部件(23),它通过指派唯一缓存器标识(ID)提供在所述缓存器(24)中缓存所述客户端(2、4)的更新的功能,并且从所述缓存器(24)向所述客户端(2、4)复制更新,所述缓存机构还具有后端监视器(18),其中在同步会话期间,如果来自所述客户端的具有相同缓存器ID的更新没有完全被写入缓存器(24)中,后端监视器(18)阻塞更新从所述后端数据存储器到所述缓存器的缓存。2. The system of claim 1, wherein said cache mechanism has a cache management component (23) that provides caching of said client in said cache (24) by assigning a unique cache identification (ID). (2, 4) update function, and copy updates from said cache (24) to said client (2, 4), said caching mechanism also has a backend monitor (18), where in a sync session Meanwhile, if the update from the client with the same cache ID is not completely written into the cache (24), the backend monitor (18) blocks updating the cache from the backend data storage to the cache . 3.如权利要求1所述的系统,其中所述缓存机构具有永久存储器(22),其提供这样的功能,其中仅当时间标志比在所述缓存器(24)中缓存或正在缓存的具有相同缓存器ID的更新的时间标志新时,该功能将所述客户端或所述后端数据存储器(16)的更新缓存到所述缓存器(24)中。3. The system as claimed in claim 1, wherein said caching mechanism has a persistent storage (22) which provides the function that only if the time stamp has This function caches updates of said client or said backend data store (16) in said cache (24) when the time stamp of updates for the same cache ID is new. 4.如权利要求3所述的系统,其中所述永久存储器(22)还提供将缓存器ID映射到后端ID的功能。4. The system of claim 3, wherein the persistent storage (22) further provides a function of mapping cache IDs to backend IDs. 5.如权利要求2所述的系统,其中所述缓存机构具有缓存监视器(20),它以批处理或连续滴流模式将更新从所述缓存器(24)复制到后端数据存储器(16)。5. The system of claim 2, wherein said cache mechanism has a cache monitor (20) that copies updates from said cache (24) to a backend data store ( 16). 6.如权利要求2所述的系统,其中所述缓存机构具有后端监视器(18),它以批处理或连续滴流模式在所述缓存器(24)和后端数据存储器(16)之间复制更新。6. The system of claim 2, wherein said caching mechanism has a back-end monitor (18) that runs between said cache (24) and back-end data storage (16) in batch or continuous trickle mode. Copy updates between. 7.如权利要求1所述的系统,其中所述缓存器(24)和所述后端数据存储器(16)是数据库。7. The system of claim 1, wherein the cache (24) and the backend data store (16) are databases. 8.如权利要求1所述的系统,其中所述客户端(2、4)是移动客户端。8. The system of claim 1, wherein the clients (2, 4) are mobile clients. 9.如权利要求1所述的系统,其中同步协议是SyncML。9. The system of claim 1, wherein the synchronization protocol is SyncML. 10.一种使用如权利要求1-9所述的系统在客户端之间进行更新同步的方法,包括步骤:10. A method for performing update synchronization between clients using the system according to claims 1-9, comprising the steps of: 通过所述客户端的同步引擎从所述客户端接收包含版本号,LUID和更新数据的更新(2),receiving an update from said client via said client's sync engine (2) comprising a version number, LUID and update data, 使用映射表将所述更新的版本号映射到所指派的同步时间标志(8),mapping said updated version number to an assigned synchronization time stamp (8) using a mapping table, 使用映射表将所述更新的LUID映射到所指派的缓存器ID(10),mapping said updated LUIDs to assigned buffer IDs using a mapping table (10), 仅当所述更新的时间标志比所述缓存器中具有相同缓存器ID的更新的时间标志新时,将包含时间标志和缓存器ID的更新数据缓存到所述缓存器中(20),caching updated data comprising a time stamp and a buffer ID into said buffer only if said updated time stamp is newer than an updated time stamp in said buffer having the same buffer ID (20), 使用映射表将所述更新的缓存器ID映射到所指派的后端ID(6),mapping said updated cache IDs to assigned backend IDs using a mapping table (6), 将所述更新的缓存器数据格式转换成所述后端数据存储器的数据格式(22),converting the updated buffer data format into the data format of the backend data store (22), 启动所述后端数据存储器中包含更新数据,时间标志和后端ID的更新(24)。Initiate an update (24) of said backend data storage containing update data, time stamp and backend ID. 11.一种使用如权利要求1-9所述的系统在客户端之间进行更新同步的方法,包括步骤:11. A method for performing update synchronization between clients using the system according to claims 1-9, comprising the steps of: 通过所述客户端的同步引擎从所述客户端接收包含版本号,LUID和更新数据的更新,receiving an update from said client via said client's sync engine, comprising a version number, LUID and update data, 使用映射表将所述更新的版本号映射到所指派的同步时间标志,mapping said updated version number to an assigned synchronization timestamp using a mapping table, 使用映射表将所述更新的LUID映射到所指派的缓存器ID,mapping said updated LUID to an assigned buffer ID using a mapping table, 仅当所述更新的时间标志比所述缓存器中具有相同缓存器ID的更新的时间标志新时,将包含时间标志和缓存器ID的更新数据缓存到所述缓存器中,caching updated data comprising a timestamp and a cache ID into said cache only if said updated timestamp is newer than an updated timestamp in said cache with the same cache ID, 如果将缓存器ID映射到后端ID的操作不成功,生成新的后端ID,If the operation of mapping the cache ID to the backend ID is unsuccessful, generate a new backend ID, 将所述更新的缓存器数据格式转换成所述后端数据存储器的数据格式,converting the updated buffer data format into the data format of the backend data store, 启动所述后端数据存储器中的所述更新的新记录项,所述新记录项包含新记录项数据,时间标志和后端ID,start the updated new entry in the backend data store, the new entry includes new entry data, time stamp and backend ID, 将新的后端ID插入到映射表中。Insert the new backend ID into the mapping table. 12.如权利要求10或11所述的方法,其中在所述客户端和所述中央同步服务器之间使用的同步协议是SyncML,并且所述中央同步服务器接收的所述更新被表示成XML文件。12. A method as claimed in claim 10 or 11, wherein the synchronization protocol used between the client and the central synchronization server is SyncML, and the updates received by the central synchronization server are represented as XML files . 13.一种使用如权利要求1-9所述的系统从所述后端数据存储器向所述缓存器复制更新的方法,包括步骤:13. A method of replicating updates from said backend data store to said cache using the system of claims 1-9, comprising the steps of: 由所述中央同步服务器从所述后端数据存储器接收包含更新数据,时间标志和后端ID的更新,receiving by said central synchronization server from said backend data store an update comprising update data, a time stamp and a backend ID, 将所述后端更新的后端数据格式转换成缓存器数据格式,converting the backend data format of the backend update into a cache data format, 使用映射表将后端ID映射成缓存器ID,Use the mapping table to map the backend ID to the cache ID, 仅当时间标志比所述缓存器中缓存的具有相同缓存器ID的更新的时间标志新时,从所述后端数据存储器向所述缓存器缓存所述更新。Caching the update from the backend data store to the cache only if the timestamp is newer than an update cached in the cache with the same cache ID. 14.如权利要求13所述的方法,其中在同步会话期间,如果来自所述客户端的具有相同缓存器ID的更新数据没有完全被写入到所述缓存器中,阻塞从所述后端数据存储器到所述缓存器的更新缓存。14. The method of claim 13, wherein during a synchronization session, if updated data from the client with the same cache ID has not been completely written into the cache, blocking data from the backend memory to the update cache of the cache. 15.如权利要求13所述的方法,还包括步骤:15. The method of claim 13, further comprising the step of: 当从后端ID到缓存器ID的映射不成功时,生成新的缓存器ID,和generate a new cache ID when the mapping from backend ID to cache ID was unsuccessful, and 将所述新的缓存器ID插入到映射表中。Insert the new cache ID into the mapping table. 16.一种存储在数字计算机的内存中的计算机程序产品,包含当所述产品在计算机上运行时用于执行根据权利要求10至15的方法的软件代码部分。16. A computer program product stored in the memory of a digital computer, comprising software code portions for performing the method according to claims 10 to 15 when said product is run on the computer.
CNA028127234A 2001-06-30 2002-06-25 System and method for a caching mechanism for a central synchronization server Pending CN1520562A (en)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=8177909

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA028127234A Pending CN1520562A (en) 2001-06-30 2002-06-25 System and method for a caching mechanism for a central synchronization server

Country Status (7)

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

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384110C (en) * 2004-08-31 2008-04-23 华为技术有限公司 A Method of SyncML Synchronization Request Message Redirection
CN100407623C (en) * 2005-02-23 2008-07-30 腾讯科技(深圳)有限公司 A method and system for updating user data in a communication system
CN100573515C (en) * 2004-12-17 2009-12-23 国际商业机器公司 Method and apparatus for handling null update events in a three-tier synchronization system
CN102004780A (en) * 2010-11-23 2011-04-06 中兴通讯股份有限公司 Method and device for synchronizing data
CN101390094B (en) * 2006-02-22 2011-04-13 微软公司 Distributed conflict resolution for replicated databases
CN101496000B (en) * 2006-07-31 2011-05-25 微软公司 Two-way multi-master synchronization via web aggregation
CN101385017B (en) * 2005-08-15 2011-06-08 微软公司 Partial item change tracking and synchronization
CN102460409A (en) * 2009-06-05 2012-05-16 微软公司 Synchronizing file partitions utilizing a server storage model
CN104106060A (en) * 2012-02-16 2014-10-15 微软公司 Power-efficient proxy communication with notification blocking support
US8984392B2 (en) 2008-05-02 2015-03-17 Microsoft Corporation Document synchronization over stateless protocols
CN105574158A (en) * 2015-12-15 2016-05-11 广州品唯软件有限公司 Refreshing method and system of database caching data
CN108470006A (en) * 2017-02-23 2018-08-31 西部数据技术公司 Techniques for performing non-blocking controlled synchronous operations
CN109213792A (en) * 2018-07-06 2019-01-15 武汉斗鱼网络科技有限公司 Method, server-side, client, device and the readable storage medium storing program for executing of data processing
CN109788027A (en) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 Method of data synchronization, device, server and computer storage medium
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005538442A (en) * 2002-09-09 2005-12-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data network, user terminal and method for providing recommendations
KR100625653B1 (en) * 2004-07-01 2006-09-20 에스케이 텔레콤주식회사 Sync system for enterprise wireless application service and its processing method
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 (en) * 2004-12-09 2006-07-06 한국전자통신연구원 How to synchronize data using session management function
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
US7631045B2 (en) 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US7623515B2 (en) 2005-07-14 2009-11-24 Yahoo! Inc. Content router notification
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 (en) * 2006-01-21 2009-08-19 华为技术有限公司 System and method of consulting device information
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 (en) * 2006-06-20 2008-07-07 계명대학교 산학협력단 Data Synchronization Gateway System and Method
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
US8176256B2 (en) * 2008-06-12 2012-05-08 Microsoft Corporation Cache regions
US8943271B2 (en) 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
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
US20110055299A1 (en) * 2008-12-18 2011-03-03 Virtual Computer, Inc. Managing User Data 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
US20120150951A1 (en) * 2010-03-17 2012-06-14 Hitachi, Ltd Computer system, recording medium and maintenance support system
WO2011140427A2 (en) * 2010-05-07 2011-11-10 Google Inc. Caching electronic document resources in a client device having an electronic resource database
US8510373B2 (en) * 2010-08-30 2013-08-13 Sap Ag Data synchronization and disablement of dependent data fields
EP2501106B1 (en) 2011-03-10 2020-04-29 Amadeus S.A.S. System and method for session synchronization with independent external systems
SG190505A1 (en) * 2011-11-24 2013-06-28 Chikka Pte Ltd System and method for detecting broadband service and a charging mechanism for same
US9110807B2 (en) * 2012-05-23 2015-08-18 Sybase, Inc. Cache conflict detection
US8874682B2 (en) 2012-05-23 2014-10-28 Sybase, Inc. Composite graph cache management
US9274668B2 (en) * 2012-06-05 2016-03-01 Dimensional Insight Incorporated Guided page navigation
US10755233B2 (en) 2012-06-05 2020-08-25 Dimensional Insight Incorporated Guided page navigation
US10671955B2 (en) 2012-06-05 2020-06-02 Dimensional Insight Incorporated Dynamic generation of guided pages
US10445674B2 (en) 2012-06-05 2019-10-15 Dimensional Insight Incorporated Measure factory
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 (en) * 2013-10-13 2018-01-02 北界创想(北京)软件有限公司 The method and apparatus that data syn-chronization is carried out between multiple client
US9112890B1 (en) 2014-08-20 2015-08-18 E8 Storage Systems Ltd. Distributed storage over shared multi-queued storage device
BR112016003843B1 (en) * 2014-09-15 2019-04-24 Huawei Technologies Co., Ltd. DATA-RECORD PROCESSING AND STORAGE ARRANGEMENT PROCEDURE
BR112016003763B1 (en) * 2014-09-15 2019-04-02 Huawei Technologies Co., Ltd. DATA DUPLICATION METHOD AND STORAGE ARRANGEMENT.
US9274720B1 (en) 2014-09-15 2016-03-01 E8 Storage Systems Ltd. Distributed RAID over shared multi-queued storage devices
US9519666B2 (en) 2014-11-27 2016-12-13 E8 Storage Systems Ltd. Snapshots and thin-provisioning in distributed storage over shared storage devices
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
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
US12039477B1 (en) 2015-05-29 2024-07-16 Dimensional Insight Incorporated Dynamic generation of guided pages
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
US11061936B2 (en) 2019-04-24 2021-07-13 Microsoft Technology Licensing, Llc Property grouping 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
KR102421397B1 (en) 2019-07-25 2022-07-18 주식회사 디에스랩글로벌 Method of building backend with automatic programming code generation
US11936525B2 (en) * 2019-10-01 2024-03-19 Lenovo (Singapore) Pte. Ltd. Determining a time to perform an update
KR102350282B1 (en) * 2020-07-24 2022-01-13 주식회사 엘지유플러스 Apparatus and method for synchronization of multiple databases

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
AU4674400A (en) * 1999-09-10 2001-04-10 Avantgo, Inc. System, method, and computer program product for interactive interfacing with 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 (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384110C (en) * 2004-08-31 2008-04-23 华为技术有限公司 A Method of SyncML Synchronization Request Message Redirection
CN100573515C (en) * 2004-12-17 2009-12-23 国际商业机器公司 Method and apparatus for handling null update events in a three-tier synchronization system
CN100407623C (en) * 2005-02-23 2008-07-30 腾讯科技(深圳)有限公司 A method and system for updating user data in a communication system
CN101385017B (en) * 2005-08-15 2011-06-08 微软公司 Partial item change tracking and synchronization
CN101390094B (en) * 2006-02-22 2011-04-13 微软公司 Distributed conflict resolution for replicated databases
CN101496000B (en) * 2006-07-31 2011-05-25 微软公司 Two-way multi-master synchronization via web aggregation
US8984392B2 (en) 2008-05-02 2015-03-17 Microsoft Corporation Document synchronization over stateless protocols
CN102460409A (en) * 2009-06-05 2012-05-16 微软公司 Synchronizing file partitions utilizing a server storage model
US8572030B2 (en) 2009-06-05 2013-10-29 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
CN102004780A (en) * 2010-11-23 2011-04-06 中兴通讯股份有限公司 Method and device for synchronizing data
WO2012068787A1 (en) * 2010-11-23 2012-05-31 中兴通讯股份有限公司 Data synchronization method and device
CN104106060A (en) * 2012-02-16 2014-10-15 微软公司 Power-efficient proxy communication with notification blocking support
US9317344B2 (en) 2012-02-16 2016-04-19 Microsoft Technology Licensing, Llc Power efficient brokered communication supporting notification blocking
CN104106060B (en) * 2012-02-16 2017-04-12 微软技术许可有限责任公司 Power-efficient proxy communication with notification blocking support
US9760413B2 (en) 2012-02-16 2017-09-12 Microsoft Technology Licensing, Llc Power efficient brokered communication supporting notification blocking
CN105574158A (en) * 2015-12-15 2016-05-11 广州品唯软件有限公司 Refreshing method and system of database caching data
CN105574158B (en) * 2015-12-15 2019-03-12 广州品唯软件有限公司 Database cache data refresh method and system
CN108470006A (en) * 2017-02-23 2018-08-31 西部数据技术公司 Techniques for performing non-blocking controlled synchronous operations
US11288201B2 (en) 2017-02-23 2022-03-29 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
CN109213792A (en) * 2018-07-06 2019-01-15 武汉斗鱼网络科技有限公司 Method, server-side, client, device and the readable storage medium storing program for executing of data processing
CN109788027A (en) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 Method of data synchronization, device, server and computer storage medium
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
US20040153576A1 (en) 2004-08-05
WO2003005206A2 (en) 2003-01-16
TW579463B (en) 2004-03-11
KR100592647B1 (en) 2006-06-23
US7539778B2 (en) 2009-05-26
WO2003005206A3 (en) 2004-02-12
KR20040010677A (en) 2004-01-31
AU2002313483A1 (en) 2003-01-21
EP1407387A2 (en) 2004-04-14

Similar Documents

Publication Publication Date Title
CN1520562A (en) System and method for a caching mechanism for a central synchronization server
US7404011B2 (en) System and method for accessing different types of back end data stores
US7222139B2 (en) Method, system and program for synchronizing data
KR100462839B1 (en) Method for database synchronization and conflict resolution between clients and server of mobile system
US6321236B1 (en) Distributing database differences corresponding to database change events made to a database table located on a server computer
CN1339134A (en) Database system having at least two host databases and one remote database and method of synchronizing such databases
JP5193056B2 (en) Method and system for maintaining up-to-date data of wireless devices
CN1272721C (en) Electronic document management method and program
EP2380090B1 (en) Data integrity in a database environment through background synchronization
CN101046821A (en) Generic Database Manipulator
US20060230078A1 (en) Replicating modifications of a directory
CN1126054C (en) Protocol for synchronizing parallel processors in mobile communiacation system
JP2005063374A (en) Data management method, data management apparatus, program therefor, and recording medium
CN1682215A (en) database synchronization
US20030115202A1 (en) System and method for processing a request using multiple database units
Li et al. The research and application of embedded mobile database
Cui Ldap directory template model on multi-master replication
EP1298538B1 (en) Method and computer system for identifying object suppliers in a computer network
JP3374320B2 (en) Database access method and system using stateless protocol
CN119513082A (en) Data processing method, electronic device and storage medium
HK1075308A1 (en) Method and system for validating remote database
HK1075308B (en) Method and system for validating remote database

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