CN1708755B - 用于同步为处理中断的同步过程而提供的数据的方法、设备和系统 - Google Patents
用于同步为处理中断的同步过程而提供的数据的方法、设备和系统 Download PDFInfo
- Publication number
- CN1708755B CN1708755B CN038249065A CN03824906A CN1708755B CN 1708755 B CN1708755 B CN 1708755B CN 038249065 A CN038249065 A CN 038249065A CN 03824906 A CN03824906 A CN 03824906A CN 1708755 B CN1708755 B CN 1708755B
- Authority
- CN
- China
- Prior art keywords
- equipment
- data
- synchronous
- update identifier
- synchronization
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- Y—GENERAL 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Abstract
本发明提供一种方法、网络设备和系统,用于允许恢复先前未完成的同步会话,其中该先前未完成的同步会话在它的执行期间被中断。原理上,先前未完成的同步会话的恢复基于根据创造性构思的下列操作。建立用于同步第一和第二设备之间的数据的通信连接。第一和第二设备的每个包括预定义的待同步的数据记录集合。在第一和第二设备之间传送第一和第二更新标识符。所述第一更新标识符指示已经在它们之间执行的先前完成的同步会话,并且第二更新标识符指示已经在它们之间执行的先前未完成的同步会话。在第一和第二设备之间交换同步相关信息。这里,交换的同步相关信息包括在先前未完成的同步会话期间还没有交换的同步相关信息的部分。根据交换的同步相关信息同步在第一和第二设备中的数据。用第二更新标识符的内容更新第一更新标识符的内容。
Description
发明背景
1.发明领域
本发明分别涉及一种方法和一种设备,用于一个同步的客户设备和一个同步的服务器设备之间的数据同步,并进一步涉及相应的同步设备。更具体地,本发明分别涉及用于数据同步的一种方法和一种设备,允许改善对有效同步过程的中断的处理。
2.相关领域的描述
数据同步对于用户来说是周知的概念或技术,该用户分别具有至少两个不同的使用中的电子设备并利用这些电子设备来处理相同类型的数据。通常,同步发生在终端设备(例如移动电话)和服务器设备(例如在本地PC或专门的同步服务器中的应用)之间。来自比如便携计算机、PDA终端(个人数字助理)、移动电话、移动工作站或传呼机的终端的数据能够与联网设备同步,所述联网设备充当由联网应用、桌面计算机的应用表示的同步服务器,或者该数据能够与其他管理电信系统的数据存储的应用同步,其中术语“数据存储”应当被尽量宽泛地理解,即应当涵盖任意的数据集合。特别地,通常去同步日历数据、联系数据、电子邮件应用的数据以及与设备/应用设置和配置有关的数据。
同步已被基于对不兼容的不同制造商所特定的协议的使用。这限制了终端或数据类型的使用,并经常给用户带来麻烦。特别地,在移动通信中,重要的是无论使用什么终端和应用,数据都能够被检索和更新。
为了改善应用数据的同步,设计了已知的并被称为同步标记语言SyncML的语言,它是基于可扩展标记语言(XML)的。通过使用一个应用SyncML格式的消息的SyncML同步协议,可在联网终端和任何类型的网络服务器之间同步任何应用的数据。SyncML同步协议在无线和固定两种网络中工作,并且支持若干传送协议。以上提到的SyncML同步技术分别特别地解决了数据存储或数据库的同步。
常规地,在明确的时间点上执行数据记录的同步以便协调,即以便使存储在不同存储位置,即在不同的同步设备管理和应用存储位置的两个各别地预定义的数据记录集合保持一致,从而在该明确时间点处在所说存储位置上得到数据记录的两个等价集合。在明确的时间点执行数据记录的同步进一步是指同步会话。在这样的同步会话期间通过交换信息、指令和命令来获得数据记录的集合的同步,以允许参与的同步的设备修改其存储的数据记录集合,从而使它们协调,其中该修改操作包括:数据的增加、数据的删除、添加数据到当前数据、更新数据等等。为了实际的目的,通过在同步设备之间传递一个或多个消息来执行所要求的信息和命令的交换,消息的每一个包含在每个同步设备上执行协调所需的所有要求的信息、指令和命令的一个明确的子集。另外,确认一个或多个消息的每一个,以便指明根据它的包含在其中的消息信息的成功操作。
基本地,在也指代为慢速同步的全同步过程或也指代为常规或快速同步的递增同步过程中可以分别地处理和执行上述的同步过程。在执行全或慢速同步过程的同步会话期间,分别协调在两个参与的同步设备中的所有预定义的数据记录集合。在执行递增或快速同步过程的同步会话期间,在两个参与的同步设备中分别将最后完成的同步会话的时间点记入日志(log),并且如果在两个同步设备中存储的记入日志的时间点只与从为同步选择该记入日志的时间点以来修改的数据记录匹配,那么从同步过程中排除所有其他的时间点。因此,通过同步设备将数据记录的修改、增加或删除时间点记入日志,便可以维护一个变更日志。可替换地,可以以另一种方式确定修改,比如调查记录的修改时间戳,如果存在这种信息的话。在SyncML标准中定义和使用两种同步过程,即所谓的慢速和所谓的快速(常规)同步。可以得到和使用其他类型的同步过程,但是这些其它同步过程可以被缩小为前述的基本同步过程。
当一个记录和/或一组记录已经与其他数据库同步时,将确认发送回记录的发送者。在同步应用中可实现两种用于处理确认的基本方式。在第一实现中,优选地在这样的一个或多个变更日志中由同步设备确认和用日志记录一个数据记录或一批数据记录的每个成功同步。在第二实现中,在同步会话结束时处理确认,即两个同步设备一指明同步会话和对应的所使用的连接通信的正常关闭就处理确认。另外,在同步会话的结束时处理确认和更新指定最后完成的同步会话的时间点是基本上同时进行操作的.如果以慢速同步过程的方式执行同步会话,很明显,就不需要考虑指定最后完成的同步会话的时间点。
第一实现主要解决用于同步例如相互高速连接的分布式数据库的同步应用,以便维护和保证数据完整性。在这种实现中,用于存储和维护每个数据记录的变更日志的容量要求、用于处理变更日志的处理能力的要求以及用于交换必要的确认的网络带宽要求不是太重要。从对存储在诸如移动电话、手持设备、个人数字助理、通信器等小型电子设备中的数据进行同步来看,存储容量和处理能力受限,使得每个数据记录的变更日志的存储、维护和处理麻烦、低效,并且有时甚至是不可能的。另外,由所要求的确认而导致的网络通信量是不可接受的,因为在移动通信环境中它还是昂贵和时间密集的。
第二实现适用于较小的电子设备并受到SyncML标准的支持,在该实现中,在会话结束时执行时间戳的更新和对项的确认的处理。然而,这种实现引起的问题是不提供对当前执行的同步会话的中断。在并行操作的同步会话期间维护交换的同步信息是不可能的,因为由于中断的缘故,而不能在同步会话结束时完成时间戳(同步锚(anchor))的更新和确认的处理。即使在会话期间处理了数据项的确认,慢速同步的中断也会因为只在会话结束时更新时间戳,而导致已经处理的同步信息的丢失。在上述两种情况下,必须完整地重复同步会话,以便保证数据的完整性。根据与同步有关的信息量,即根据待同步的数据记录的数量,在通常包括若干同步消息的单个同步会话期间交换十分巨大数量的消息。例如在同步会话期间可以同步500个数据记录的400个数据记录,并出现中断。在随后的同步会话中,无论同步是作为快速还是慢速同步过程进行操作,必须再次同步所有500个数据记录。
发明概述
本发明的目的是提供一种允许恢复中断的同步会话的方法,以便避免中断的同步会话的完全重复。构建用于恢复中断的同步会话的措施,使得不要求高的存储容量、高的处理能力、高数量的交换的确认,也不需要高的通信带宽。本方法适于以经济的方式在小的电子设备中实现。
根据本发明的实施例,提供了允许恢复先前未完成的同步会话的方法,其中先前未完成的同步会话在其操作期间被中断。通过下列操作实现恢复先前未完成的同步会话。
建立用于第一设备和第二设备之间的数据同步的通信连接。第一设备和第二设备的每个包括待同步的数据记录集合。常规地,在数据存储器或由对应的应用维护的数据库中组织数据记录。
在一个实施例中,本发明提供用于恢复与两个设备之间的数据交换有关的先前未完成的同步会话的中断。该方法的特征在于步骤:将用于恢复的警告信号从第一设备发送到第二设备,恢复信号包含与请求恢复先前未完成的同步会话有关的信息。用于恢复的警告信号可至少是直接警告代码或类似直接地指示由服务器演绎的恢复会话或信号,例如在会话中使用的时间戳的指示或会话的其他标识。该方法的特征还在于步骤:将用于警告信号的状态从第二设备发送到第一设备,警告信号表示与待执行的同步类型有关的信息。与用于恢复的警告信号的状态有关的信息可包括用于覆盖(override)先前未完成的同步会话的较早同步类型的信息。
在本发明的可替换实施例中,将第一更新标识符和第二标识符从第一设备传递到第二设备或从第二设备传递到第一设备。传送的方向取决于什么设备指示先前未完成的同步会话的恢复以及同步的方向。指示设备将两个标识符都传送给对方。第一更新标识符指定已经在第一设备和第二设备之间执行的先前完成的同步会话。在先前完成的同步会话的初始化期间,已经在第一设备和第二设备中存储了第一更新标识符。更具体地,存储标识符的值,但是值的名称或存储位置可根据实施而变化。通常,第一更新标识符是用于将先前完成的同步会话的开始时间的时间戳记入日志。可替换地,标识符可以是任何以有序的或至少在某种程度上有序的方式或部分随机的方式产生的数值,例如单调增加的数字整数串、文本串,或它们的组合。根据本发明,第二更新标识符指定已经在第一设备和第二设备之间执行的先前未完成的同步会话。在先前未完成的同步会话的初始化期间,已经在第一设备和第二设备中存储了第二更新标识符。通常,第二更新标识符也类似为时间戳或用于指示中断的先前同步会话的开始时间的时间戳。然而,在现有技术中,仅在同步会话期间而不在中断或完成会话之后定义第二更新标识符的特性和用途。
根据本方法的方法具有四个用于同步的步骤。第一步骤包括建立用于第一设备和第二设备之间的数据同步的通信连接,第一设备和第二设备的每个包括待同步的数据集合。第二步骤包括传送第一更新标识符和第二更新标识符,第一更新标识符指示已经在第一设备和第二设备之间执行的先前完成的同步事件,至少已经在第一设备中存储了第一更新标识符的值,第二更新标识符指示已经在第一设备和第二设备之间开始的先前未完成的同步事件,至少已经在第一设备中存储了第二更新标识符的值。第三步骤包括检索或形成已经在先前未完成的同步事件期间成功同步的数据的指示。第一步骤包括使用该指示、同步在先前未完成的同步事件期间还没有成功同步的数据;和(4)在至少第一设备中,用所述第二更新标识符的值更新第一更新标识符的值。
该方法还可以包括传送与先前未完成的同步事件有关的附加信息的步骤,并且该附加信息包括至少一个来自一个组的信息,该组包括关于先前未完成的同步的信息,以及关于根据接收的同步有关的信息而成功同步的数据的信息。
该方法还可以包括在第一设备和第二设备的至少一个中执行的步骤:在第一比较中,比较从第一设备传送的第一更新标识符的值与存储在第二设备中的第一设备的第二更新标识符的值;并且在第二比较中,比较从第一设备传送的第二更新标识符的值与存储在第二设备中的第一设备的第二更新标识符的值,以及执行下列选项的至少一个:
1)如果第二比较产生一个真值,则同步第一设备和第二设备之间的数据的进一步步骤、该数据包括在先前未完成的同步事件期间没有交换的数据。
2)如果第二比较产生一个假值,则同步第一设备和第二设备之间的数据,该数据至少包括在先前未完成的同步事件期间已经同步的数据。
3)如果第一比较产生一个假值,则同步第一设备和第二设备之间的数据的进一步步骤,该数据至少包括在先前完成的同步事件期间已经同步的数据。
4)如果第一比较产生一个真值,则同步第一设备和第二设备之间的数据的进一步步骤,该数据在先前完成的同步事件期间没有被同步。
建立用于同步的通信连接的步骤可包括传送初始消息的步骤,该初始消息指令第一设备和第二设备的至少一个以准备恢复先前未完成的同步。
同步可以基于根据SyncML标准的同步协议,第一更新标识符是LAST(最后)同步锚。第二更新标识符可以至少是NEXT(下一个)同步锚和PAUSE(暂停)同步锚的其中之一。另外,与先前未完成的同步事件有关的附加信息可包括来自同步事件会话标识符(会话ID)、同步消息标识符(消息ID)和确认的数据及它们相应的数据存储的一个或多个标识符的组的至少一个信息。更进一步,在发送第一和第二更新标识符之前,附加的信息已经被存储在至少第一设备中。
在该方法中,如果已经成功地接收用于数据或包含数据的消息的确认,那么已经成功地同步了数据,并且该确认指示数据或消息的同步的肯定或者否定状态。
本发明还提供用于同步的软件工具,包括用于执行前述方法的步骤的程序部分,其中软件工具用于在处理设备、终端设备、通信设备或网络设备上执行的计算机程序中实现,还提供用于对其同步的计算机程序或计算机程序产品。
本发明还提供在网络中使用的并能够同步数据的设备,该设备具有存储介质、通信接口、检索或形成部件以及更新部件。存储介质具有预定义的待同步的数据的集合。通信接口为数据的同步建立到在网络中使用的另一个设备的通信连接,用于将第一更新标识符和第二更新标识符与另一个网络设备通信并且用于与另一个网络设备交换数据。第一更新标识符指示已经用另一个网络设备执行的先前完成的同步事件,已经至少在该网络设备中存储第一更新标识符。第二更新标识符指示先前未完成的同步事件,已经至少在网络设备中存储第二更新标识符,其中数据至少包括在先前未完成的同步事件期间没有同步的数据。检索或形成部件检索或形成在先前未完成的同步事件期间已经同步的数据的指示,已经在网络设备中存储了该指示。同步部件根据指示同步数据。更新部件将存储的第一更新标识符的内容更新为存储的第二更新标识符的内容。
通信接口可以适用于传送与先前未完成的同步事件有关的补充的附加信息。附加信息可包括来自一个组的至少一个信息,该组包括关于先前未完成的同步的信息、关于同步有关信息的最后一次成功交换的信息和关于根据接收的同步有关的信息成功同步的数据的信息。
设备还可包括用于比较的部件,使得在第一比较中,比较从该设备传送的第一更新标识符的值与存储在另一个设备中的该设备的第二更新标识符的值;并且在第二比较中,比较从第一设备传送的第二更新标识符的值与存储在另一个设备中的该设备的第二更新标识符的值。用于执行与所述方法有关的在上面讨论的前述选项的至少一个的部件。
本发明还提供用于同步的系统,包括第一网络设备和第二网络设备,其中每个设备包括元件用于执行类似于上面讨论的与本发明的整个方法和设备有关的步骤。
本发明提供了一种用于恢复与两个设备之间的数据交换有关的先前未完成的同步会话的中断的方法,其特征在于该方法包括步骤:将用于恢复的警告信号从第一设备发送到第二设备,该用于恢复的警告信号包含与请求恢复所述先前未完成的同步会话有关的信息;以及将用于所述警告信号的状态从所述第二设备发送到所述第一设备,该警告信号的状态表示与待执行的同步类型有关的信息。
本发明提供了一种用于恢复与两个设备之间的数据交换有关的先前未完成的同步会话的中断的设备,其特征在于该设备包括:将用于恢复的警告信号从第一设备发送到第二设备的装置,该用于恢复的警告信号包含与请求恢复所述先前未完成的同步会话有关的信息;以及将用于所述警告信号的状态从所述第二设备发送到所述第一设备的装置,该警告信号的状态表示与待执行的同步类型有关的信息。
本发明提供了一种用于同步的方法,包括:建立用于同步第一设备和第二设备之间的数据的通信连接,所述第一设备和第二设备的每个包括待同步的数据集合;传送第一更新标识符和第二更新标识符,所述第一更新标识符指示已经在所述第一设备和所述第二设备之间执行的先前完成的同步事件,至少已经在所述第一设备中存储了所述第一更新标识符的值,所述第二更新标识符指示已经在所述第一设备和所述第二设备之间开始的先前未完成的同步事件,至少已经在所述第一设备中存储了所述第二更新标识符的值;检索或形成已经在所述先前未完成的同步事件期间成功同步的数据的指示;使用所述指示,同步还没有在所述先前未完成的同步事件期间成功同步的数据;以及至少在所述第一设备中,用所述第二更新标识符的所述值更新所述第一更新标识符的所述值。
本发明提供了一种在网络中使用的并能够同步数据的设备,包括:存储介质,包括预定义的待同步的数据集合;通信接口,用于建立用来同步数据到网络中使用的另一个设备的通信连接,以便与所述另一个网络设备进行第一更新标识符和第二更新标识符的通信,并且用于与所述另一个网络设备交换数据,其中所述第一更新标识符指示已经用所述另一个网络设备执行的先前完成的同步事件,已经至少在所述网络设备中存储所述第一更新标识符,所述第二更新标识符指示先前未完成的同步事件,已经至少在所述网络设备中存储所述第二更新标识符,其中所述数据至少包括在所述先前未完成的同步事件期间没有同步的数据;检索或形成部件,用于检索或形成在所述先前未完成的同步事件期间已经同步的数据的指示,已经在所述网络设备中存储所述指示;同步部件,用于根据所述指示同步数据;和更新部件,用于将存储的所述第一更新标识符的内容更新为存储的所述第二更新标识符的内容。
本发明提供了一种用于同步的系统,包括第一网络设备和第二网络设备,其中所述第一网络设备包括:存储介质,包括预定义的待同步的数据集合;通信接口,用于建立用来同步数据到在网络中使用的所述第二设备的通信连接,用于将第一更新标识符和第二更新标识符传递到所述第二网络设备,和用于与所述第二网络设备交换数据,检索或形成部件,用于检索或形成在所述先前未完成的同步事件期间已经同步的数据的指示,已经在所述第一网络设备中存储了所述指示;同步部件,用于根据所述指示同步数据;和更新部件,用于将存储的所述第一更新标识符的内容更新为存储的所述第二更新标识符的内容;其中所述第二网络设备包括:存储介质,包括预定义的待同步的数据集合;通信接口,用于建立用来同步数据到在网络中使用的所述第一设备的通信连接,用于将第一更新标识符和第二更新标识符传递到所述第一网络设备,和用于与所述第一网络设备交换数据,所述第二更新标识符和所述第二更新标识符被存储,同步部件,用于根据所述指示同步数据;更新部件,用于将存储的所述第一更新标识符的内容更新为存储的所述第二更新标识符的内容;以及用于比较的部件,在第一比较中,用于比较从所述第一网络设备传送的所述第一更新标识符的值与存储在所述第二网络设备中的所述第一更新标识符的值;并且在第二比较中,用于比较从所述第一网络设备传送的所述第二更新标识符的值与存储在所述第二网络设备中的所述第二更新标识符的值,其中所述第一更新标识符指示已经用所述第二网络设备执行的先前完成的同步事件,至少已经在一个网络设备中存储了所述第一更新标识符,所述第二更新标识符指示已经用所述第二网络设备执行的先前未完成的同步事件,至少已经在一个网络设备中存储所述第二更新标识符,以及其中如果所述比较产生相同的标识符,则所述数据至少包括在所述先前未完成的同步事件期间没有同步的数据,所述交换的信息基于所述指示。
附图简述
参考附图,并通过实施例的方式更详细地描述本发明,其中:
图1显示了说明一组示例电子设备的示意图,在示例电子设备之间信息同步是可操作的;
图2显示根据本发明的实施例的同步过程的时序图,同步过程包括在同步的客户设备和同步的服务器设备之间交换的若干消息;
图3a显示类似于图2的并根据本发明的实施例中断或停止的同步过程的时序图;
图3b显示根据本发明的实施例恢复图3a的中断或停止的同步过程的同步过程的时序图;
图4显示根据在图3b中所示的同步过程和根据本发明的实施例的XML编码的同步消息的摘录;
图5显示说明根据本发明的实施例的同步的客户设备和同步的服务器设备所包括的部件的示例框图;
图6显示根据本发明的实施例恢复图3a的中断或停止的同步过程的同步过程的时序图;
图7显示根据本发明的实施例恢复图3a的中断或停止的同步过程的同步过程的时序图;以及
图8显示根据本发明的实施例恢复图3a的中断或停止的同步过程的同步过程的时序图。
发明详述
下面,将以支持SyncML同步标准的系统的观点来描述本发明的实施例,而这并不将本发明限制于此。可以从公开地提供完全标准文档的SyncML初始获得与SyncML标准有关的信息。在图中所示的相同或等效部分、部件和/或操作将使用相同的参考数字引用。
图1显示了说明一组示例电子设备的示意图,在示例电子设备之间信息同步是可操作的。例如移动终端的特定数据存储内容应当与指定设备所提供的数据存储内容相协调,该指定设备例如提供可通过若干不同的移动和/或固定终端的方式访问的该数据存储内容的中心存储器。常规地,移动终端担当协调或同步与特定的预定义应用有关的数据的同步客户端,预定义的应用运行在这些同步客户端,具有由中心地存储该应用有关数据的专用服务器设备所提供的一个数据存储或若干数据存储的内容。图1说明了可进行同步操作的多个可能的客户设备和服务器设备。通常,客户设备是诸如移动电话或个人数字助理(PDA)的移动工作站17、诸如笔记本电脑的移动计算机15、诸如数码相机的存储数字数据的电子设备16以及诸如桌面计算机(PC)的固定终端。另外,专用同步服务器设备可以是诸如桌面计算机的固定终端10、例如将它们的同步能力作为联网的同步应用进行操作的专用网络服务器11、或者甚至是例如运行同步服务器应用的诸如笔记本的移动计算机12。应当指出,虽然以与专用服务设备连接的移动终端的角度描述了给出的同步的概念,客户设备的功能不限于上述的移动终端。
经由适当的逻辑通信连接建立根据SyncML协议标准的对应的同步过程。该逻辑通信连接是由与传送协议结合的任何通信网络提供的,同步协议适用于所述传送协议。合适的通信网络不仅可以是局域网(LAN)或可能包括互联网和公司的企业网的广域网(WAN),还可以是诸如通用串行总线(USB)或标准串行通信(例如RS-232)的基于布线的串行网络。经由诸如支持全球移动通信系统(GSM)业务和/或支持通用分组无线业务(GPRS)的移动网络的无线通信网络、诸如通用移动电信系统(UMTS)网络、无线局域网(WLAN)、诸如蓝牙网络、无线本地环路(WLL)或红外线网络(IrDA)的短程无线电通信网络的第三代移动通信网络也可连接参与的同步设备。参与同步设备之间的逻辑通信连接可由单个前述类型的通信网络提供,也可由若干个前述类型的通信网络提供,若干个前述类型的通信网络通过与通信网络连接互连的专用网络路由设备互连,并且如果需要,翻译各个应用的通信网络的数据协议。
关于SyncML协议标准、SyncML同步协议以及因此还关于SyncML设备管理协议,在根据所应用的通信网络的类型的适当协议的之上实现SyncML设备管理协议。其上可以实现SyncML同步协议的适当协议是超文本传送协议(HTTP)、无线应用协议(WAP)标准的无线会话协议(WSP)、用于诸如通用串行总线(USB)或RS-232的电缆连接或用于短程射频连接(蓝牙)或用于红外线连接(IrDA)的对象交换协议(OBEX)、传送控制协议/网际协议(TCP/IP)栈和在传送层服务之上的由电子邮件协议(例如简单邮件传送协议,SMTP)提供的协议。
可根据使用例如短消息SMS(短消息服务)或其他信令类型传送方法(例如USSD;非结构化补充业务数据)、电路交换数据呼叫、分组交换数据传送服务以及传呼消息服务、经由蜂窝广播提供的消息等等的基础网络执行在较低层的传送。
在下面,应当尽量广义地理解术语数据存储,即应该覆盖由待访问的数据存储器提供的任意数据集合。特别地,数据集合与特定应用相关,并且可组织该数据集合来满足应用的特定要求,比如日历应用、目录应用、合同应用(例如vcard应用)、电子邮件应用等的数据。另外,可将任意数据集合组织到一个或多个数据库中,数据库包括提供待访问的数据的数据记录。另外,术语数据存储还应当被分别理解为覆盖网络数据服务或联网的服务,即被理解为覆盖类似于数据存储的由待访问的联网服务提供的任意数据集合。常规地,网络服务基于具有与特定服务有关的数据存储内容的数据存储。
下面的顺序图描述根据本发明的方法的实施例的操作序列。所描述的操作顺序只是示例性的而非限制性的。基于类似或有关的操作序列的进一步实现也是可能的。
图2显示根据本发明的实施例的同步过程的时序图,同步过程包括在同步客户设备和同步服务器设备之间交换的若干消息。
SyncML同步会话在概念上被界定在所谓的SyncML包中。SyncML包仅仅是用于一个或多个SyncML消息的概念上的架构,其中一个或多个SyncML消息在同步设备之间被物理地交换并且被要求传送一组同步信息和命令。不是所有的SyncML包都涉及由SyncML标准提供的任何类型的同步。SyncML消息的实际数量取决于待传送的信息量。
在下列列表中描述了对SyncML包的粗略概观。可以从SyncML标准文档获得详细的描述。
包0-同步消息的初始化。客户设备可接收未经请求的消息,即所谓的“通知”或“警告”,用于命令引起接收设备建立背部连接(backconnecting)以开始同步会话。注意到,用其它方式可以引起接收通知的相同效果。
包1-从客户设备到服务器设备的初始化。传送一个或多个初始化消息,例如包括:客户设备信息(设备标识符等)、客户设备属性、客户鉴权、同步类型、其数据记录将被同步的数据库的识别、存储的LAST锚、新的NEXT锚等。
包2-从服务器设备到客户设备的初始化。传送一个或多个初始化消息,例如包括:服务器设备信息(设备标识符等)、服务器设备属性、服务器鉴权、关于包括在一个或多个客户初始化消息中的信息的响应和状态信息。
包1和2是初始化阶段部分。下面的包3到6是同步消息的同步阶段部分。
包3-客户到服务器同步。传送一个或多个客户同步消息,例如包括:客户数据修改,即在同步初始化中识别的客户数据库的数据的任何变化等。在快速同步过程的情况下,只报告自先前的同步会话(LAST锚)以来被修改的数据记录,在慢速同步过程的情况下,报告全部的数据记录。
包4-服务器到客户的同步。传送一个或多个服务器同步消息,例如包括:关于服务器对传送的客户数据修改的分析的信息,以及还有服务器数据修改,即在同步初始化中识别的服务器数据库的数据的任何变化等。在快速同步过程的情况下,只报告自先前的同步会话(LAST锚)以来被修改的数据记录,在慢速同步过程的情况下,报告全部的数据记录。
包5-数据更新状态、映射操作。传送一个或多个更新状态消息,例如包括:关于数据更新(由于服务器修改的同步)的结果的信息、用于映射本地唯一标识符(LUID)和全局唯一标识符(GUID)等的映射操作(表)等等。本地唯一标识符是指配给数据记录并在客户端是本地唯一的标识符,即每个设备和应用。本地唯一标识符允许识别数据记录。全局唯一标识符是指配给数据记录并在服务器端上是本地唯一的标识符。
包6-映射确认。传送一个或多个映射确认,例如包括:由服务器通知客户设备接收一个或多个数据更新状态消息等等的确认。
取决于分别包含在客户消息或服务器消息中的同步信息和命令,根据包3的客户消息可引起根据包4的服务器响应消息,并且反之亦然。
同步消息的每个消息包含会话标识符(会话ID),使得消息可以与不同的同步会话关联。每个消息包含消息标识符(消息ID),从而防止了分别在客户设备上和在服务器设备上交换的消息的不一致。另外,每个包类型的每个最后的消息包含指示这是最后一个消息的最终指示符。
进一步由哪种信息(哪个数据记录)将要同步来区别同步过程(慢速或快速同步,即数据记录的总数或仅自明确的时间点以来的修改的数量),在该过程中,执行(在客户设备或服务器设备或两种设备中的)设备同步,并且通过该过程,开始设备同步。同步的类型可以是例如双向同步、慢速同步、仅来自客户的单向同步、仅来自客户的刷新同步、仅来自服务器的单向同步、仅来自服务器的刷新同步和服务器警告同步。
枚举的同步本身类型的命名描述了同步过程并易于理解。更详细描述可参考SynML标准文档。
通过举例,图2所示的时序图和同步过程分别基于快速双向同步类型,尽管本发明的范围试图包括其他的同步类型。客户100与服务器110同步。根据上面对包序列的描述,描述的同步会话包括初始化阶段210,之后跟随的同步阶段的每个包括若干同步消息。所有的同步消息包含相同的会话ID(没有描述)。
在客户100和服务器110的初始化阶段210期间,两种设备交换设备信息(设备标识符等等)、设备属性、设备鉴权信息。客户100还定义同步的类型(这里为快速双向同步类型)并向服务器110报告存储的LAST锚和新定义的NEXT锚。服务器110比较由客户100传送的LAST锚和存储在服务器110中的对应值,并且如果存储的和接收的LAST锚匹配,那么使LAST锚和NEXT锚一致以允许快速同步。直到客户100传送这个新定义的NEXT锚的时刻,NEXT锚的状态(内容)在服务器110中是未定义的(现有技术未定义的,即现有技术的双向同步过程不为它提供任何特别的值)(用“?”符号指示)。如果这些锚不匹配,则慢速同步被警告给客户100。通过参考对应于包1消息的客户初始化消息的第一操作200和参考对应于包2消息的服务器初始化消息的第二操作201,说明在初始化阶段210期间的信息交换。分别由操作200和201参考的两种消息包含相同的消息ID 1。
在完成初始化阶段210之后,客户100准备同步211,即识别根据接收的LAST锚修改的数据记录。由操作203参考的客户同步消息(包3消息类型)包含第一批客户修改,这里为总共十个被识别的修改的五个修改。可以注意到,客户修改包括命令和/或数据内容。命令主要包括增加、更新、删除等,这些命令用数据内容完成以同步相应的数据记录。另外,该消息还包含根据先前的服务器初始化消息的状态信息。服务器110接收该第一客户同步消息、分析接收的客户修改、解决从客户修改出现的可能冲突以及处理客户修改(操作212)。将由操作204所参考的对应的服务器同步消息(包4消息类型)传送到客户,该消息包含客户修改确认以及分析和同步处理的状态信息。由操作230参考的客户同步消息和由操作204参考服务器同步消息都可由公共消息ID识别,这里为消息ID 2。然而应当指出,消息编号可偏离上面已经给出的。实际上,使用消息编号的唯一目的是每个设备将消息编号看作是一致的,即对于客户和服务器的编号甚至不需要匹配。
下面的由操作206参考的客户同步消息(包3消息类型)包含第二批客户修改,这里为总共十个被识别的修改的剩余五个修改。该客户同步消息另外还包含指明这是包含客户修改的最后的客户同步消息的最终指示符。服务器110接收该最后的客户同步消息、分析接收的客户修改、解决从客户修改出现的可能冲突、处理客户修改,并且由于最终指示符而准备(在考虑了服务器的LAST锚而识别的)待传送到客户100的服务器修改(操作212)。将由操作207参考的对应的服务器同步消息(包4消息类型)传送到客户,该消息包含服务器修改、客户修改确认以及分析和同步处理的状态信息。根据图2所描述的同步会话,单个服务器同步消息足够用于将所有识别的服务器修改传送到客户,使得该消息还包含最终指示符。在操作214中,客户100处理接收的服务器修改。分别由操作206和207参考的消息都包含相同的消息ID 3。
由于服务器修改,随后将由操作208参考的客户更新状态消息(包5消息类型)传送到服务器110,其包含确认信息和同步状态信息,并且如果需要,到服务器110的映射操作处理指配本地唯一标识符和全局唯一标识符的数据记录映射表。最后并且未描述的客户更新状态消息可由服务器110利用一个或多个映射确认消息(包6消息类型)来响应。
最后,关闭同步会话和通信连接,通过该同步会话和通信连接,传递该会话的同步消息。在其中没有检测到关于同步会话和通信连接的结束化的错误的情况下,存储在同步会话的开始时定义的NEXT锚的内容。在操作215中在客户100上以及在操作216中在服务器上执行这种指配(实际上,服务器可能不调用LAST锚,然而存储给锚的值是由客户发送的NEXT锚的值)。因此,下列的快速同步过程是可能的。
注意到,在同步会话的开始定义NEXT锚并且在同步会话的适当结束化之后将NEXT锚内容指配给LAST锚阻止了由于在同步过程期间在客户端或服务器端上的数据记录的修改而引起的冲突。另外应当注意的是,描述的LAST锚和NEXT锚的内容仅仅明确了它们的用途。对于实际目的,LAST锚和NEXT锚通常由日期值和时间值组成,或从这两个值导出,或者它们是其他类型的数值。这种组成类型可保证分别生成明确的LAST和NEXT锚。
图3a显示根据本发明的实施例的与图2类似并且被中断或停止的同步过程的时序图。在图3a中描述的同步会话与参考图2所示的这个应当相同,即以相同的方式执行初始条件、操作200-204及操作210-212。相应地,在图3a中描述的操作和在图2中描述的并与图3a共有的相应操作引用为相同的参考数字。
在图3a中,省略了客户100和服务器110的初始化阶段和对应的初始化消息。显示了关于第一客户同步消息(包3类型)包含10个客户修改的前5个的操作203,以及关于第一服务器同步消息(包4消息类型)包含对应于客户修改的状态信息的操作204。
在操作205中,同步被中断或停止。可由于若干原因引起中断或停止,例如在用户交互时、由用户主动的、在客户100或服务器110例如由于缺少电池或蓄电池容量而掉电时、在丢失通信连接时,例如由于无线通信网络中覆盖范围丢失、由于通信连接中的干扰而停止同步会话,这里只给出了可能原因中的选择。
为了允许恢复根据本发明方法的实施例的同步会话,客户100和服务器110用日志记录与未完成的同步会话有关的信息。允许恢复未完成的同步会话的该信息至少在客户100中包括至少在客户100和服务器110中都记入日志的LAST锚和NEXT锚。另外,该信息还可包括未完成的同步会话的会话ID、最后适当传送的并且客户100为之接收确认的消息的消息ID、以及一个或多个唯一数据记录标识符,即根据那些修改的数据记录的本地唯一标识符或全局唯一标识符已经被传送并且在未完成的同步会话期间这些标识符的传送已经被确认。
可替换地,不将NEXT锚用于记录未完成的同步会话被启动的时刻,而定义一个新的锚,例如PAUSE锚,并特别将其用于恢复未完成的同步会话。在下面,参考NEXT锚描述创新的概念,但不限于该创新概念。为了使以下的描述适应于这样的新的PAUSE锚,术语NEXT锚被术语PAUSE锚简单地替换。
图3b显示根据本发明的实施例恢复图3a的中断或停止的未完成的同步会话的同步会话的时序图。
通过参考新的初始化消息(包1类型)的操作250启动恢复同步会话,新的初始化消息包括指明客户100打算供服务器110使用的警告命令,从而恢复上面参考图3a所描述的先前未完成的同步会话。该新的初始化消息至少包含根据先前未完成的同步会话的中断(图3a中的操作205)被记入日志的LAST锚和NEXT锚。服务器从客户接收这些LAST锚和NEXT锚,并将它们与由其本身记入日志的那些LAST锚和NEXT锚作比较。应当指出,与图2中示出的同步会话以及图3a中示出的它的类似情况比较,在服务器端NEXT锚分别具有定义良好的状态和内容。
客户100和/或服务器110中的至少一个可根据LAST锚中的一个是否匹配和/或NEXT锚是否匹配来命令、启动或执行下列四个不同操作的任何一个,如下所示:
1)如果接收和记入日志的LAST锚以及接收和记入日志的NEXT锚都匹配,则服务器110通过传送参考操作251并包含至少用于确认的LAST锚和NEXT锚的服务器初始化消息(包2类型)来确定恢复未完成的同步会话(恢复快速同步)。用于允许恢复的那个确定可以是附加地基于与待恢复的未完成的同步会话有关的其它信息(参考图3a中的操作205)。例如,在记入日志的锚的检查操作期间,参考前述的记入日志的未完成的同步会话的会话ID和/或记入日志的最后适当传送的消息的消息ID。
2)如果已接收和记入日志的LAST锚匹配而接收和记入日志的NEXT锚不匹配,则由服务器命令在参考图2所示的一类(常规)快速同步会话。失配的NEXT锚阻止参考图3a所描述的未完成的同步会话的恢复。
3)如果接收和记入日志的LAST锚不匹配而接收和记入日志的NEXT锚匹配,则由服务器命令恢复慢速同步会话。没有在图3b中描述这种恢复慢速同步会话。简而言之,恢复慢速同步会话交换与同步有关的信息,该信息允许同步所有预定义用于被同步的数据记录。但是该与同步有关的信息被从已经在图3a所示的未完成的同步会话期间成功交换并同步的恢复慢速同步会话排除。
4)如果接收和记入日志的LAST锚以及接收和记入日志的NEXT锚都不匹配,则既不能启动恢复快速同步会话也不能启动恢复快速同步会话。并且,快速同步是不可能的。必须执行包括预定义用于被同步的所有数据记录的交换的完成的慢速同步会话(如前所述,未在图3b中示出),以便建立两个参与设备之间适当的同步状态。
下面的描述基于以下假设:第一情况(接收和记入日志的LAST锚以及接收和记入日志的NEXT锚都匹配)是正确的。还在图3b中指明这种情况,图3b具有客户100和服务器110两者的记入日志的LAST锚和NEXT锚的说明。服务器110传送参考操作251并包含至少用于确认的LAST锚和NEXT锚的服务器初始化消息(包2类型)。
如参考图3a所示的操作205描述的那样,与未完成的同步会话有关的其它日志信息在它们的中断时被记入日志。如前所述,该信息可包括至少以下的其中一个:未完成的同步会话的会话ID、最后适当传送的消息的消息ID和一个或多个唯一数据记录标识符,即是根据那些已被传送的修改的数据记录的本地唯一标识符或全局标识符,并且这些传送在未完成的同步会话期间已经被确认。应当指出,由本地唯一标识符提供的信息可能不够,并且作为本地唯一标识符的补充可能必须用日志记录数据库标识符。本地唯一标识符和相关的数据库标识符的组合能够(明确地)确认由本地唯一标识符引用的对应数据记录。数据库标识符可以是本领域中已知的统一资源定位器(URL)。
存储的LAST锚、存储的NEXT锚和存储的与未完成的同步会话有关的信息允许重建(重新建立)先前未完成的同步会话在中断瞬间的状态。这类重建现在允许生成由图2中所示的操作206-208参考的消息,图2说明完成的同步会话,并且不适用于图3a,图3a说明相同的但由于在由操作204参考的同步消息的传送之后的中断而未完成的同步会话(图2和图3a)。
由操作250和251参考的客户初始化消息和服务器初始化消息都还包括例如参考图2中所示的操作200和201描述的用于建立同步会话所需的信息。
这里,假设满足了恢复未完成的同步会话的条件,并且未完成的同步会话已被重构,这使客户100能够继续执行根据本发明的方法的实施例。由操作252参考的客户同步消息(包3类型)对应于图2所示的由操作206参考的第二客户同步消息。该客户同步消息由此包括10个修改的最后5个和最终指示符以指明该消息是当前同步会话的最后的客户同步消息。另外,消息编号,即消息ID适用于当前的恢复同步会话,并因此图3b中的客户同步消息具有在(由操作250和操作251参考的)初始化消息的先前消息ID 1之后的消息ID 2。(重要的是注意本发明的范围试图包括其他类型的消息编号会话)。
服务器110通过传送由操作253参考的服务器同步消息(包3类型)来响应客户同步设备,该服务器同步消息对应于图2所示的由操作206参考的第二客户同步消息。该服务器同步消息包含服务器修改、客户修改确认以及分析和同步处理的状态信息。根据图2所描述的同步会话,单个服务器同步消息足够用于将所有识别的服务器修改传送到客户,使得该消息还包含最终指示符。分别由操作252和操作253参考的消息都包含相同的消息ID 2。
由于服务器修改,之后将由操作254参考的客户更新状态消息(包5消息类型)传送到服务器110,其包含确认信息和同步状态信息,并且如果需要,到服务器110的映射操作处理指配有本地唯一标识符和全局唯一标识符的数据记录映射表。该客户更新状态消息也由此对应于由参考图2描述的操作208参考的客户更新状态消息。最后,虽然未作描述,服务器110可利用一个或多个映射确认消息(包6消息类型)响应客户更新状态消息。
最终,结束同步会话和通信连接,通过该同步会话和通信连接,传递该会话的同步消息。如果没有检测到关于同步会话和通信连接的结束化的错误,将在同步会话的开始时定义的NEXT锚的内容指配给LAST锚。在操作260中在客户100上以及在操作261中在服务器110上执行这种指配。因此,下列的快速同步过程是可操作的。注意到,在同步会话的开始定义NEXT锚并且在同步会话的适当结束化之后将NEXT锚内容指配给LAST锚阻止了由于在同步过程期间在客户端或服务器端上的数据记录的修改而引起的冲突。另外应当注意的是,描述的LAST锚和NEXT锚的内容仅仅明确了它们的用途。对于实际目的,LAST锚和NEXT锚通常由日期值和时间值组成,或从这两个值导出。这种组成类型可保证分别生成明确的LAST和NEXT锚。
应当进一步指出,在未完成的同步会话的恢复期间没有考虑在未完成的同步会话之后并在恢复同步会话之前对数据记录的修改。恢复同步会话建立数据记录或包括它们的数据存储的状态,就像已经成功完成了未完成的同步会话。因为这一原因,在恢复同步会话的初始化期间不更新表示同步会话的时间戳的NEXT锚。可通过在成功恢复同步会话之后启动同步会话来同步在未完成的同步会话之后发生的修改,特别地,由于存储在客户100和服务器110中的LAST锚被更新并有效,可以启动快速同步会话。
在本发明的实施例的上下文中已经描述的确认可被解释为任何类型的对从其他终端接收的数据的响应,包括数据或消息的同步的肯定或否定状态。通常,确认将确定记录的更新,但是确认还可以承载成功操作的信息,比如由未发现的记录引起的信息。然而,这种错误的处理不是本发明的讨论的问题,而是将该问题留给以某种方式实现对错误的处理。但是错误的发生不应当妨碍会话的回复,也就是,会话应当在与是否在其之前的数据项中存在错误无关的第一未确认的数据项处恢复。
图4显示根据在图3b中所示的同步过程和根据本发明的实施例的XML编码的同步消息的摘录。
为了保证容易的和可操作的实施,选择工业标准的可扩展标记语言(XML)用于规范化同步设备和应用的同步消息(使用纯文本或无线二进制XML,无线应用协议使用的二进制技术)。在静态代码和运行时执行空间两者中的所有公共移动设备的存储器容量中已经设计了SyncML。特别地,二进制编码的可扩展标记语言(WBXML)通常用作编码数据以降低存储消息所要求的存储器并降低处理和传送该数据所需的资源。
SyncML包含一组定义良好的消息(如上所示),被表示为XML文档或为多用途因特网邮件扩展(MINE)实体。表示规范详细说明了XML文档类型描述(DTD),其允许所有信息要求的表示,以执行包括数据、元数据和命令的同步。同步规范详细说明了遵循DTD的SyncML消息,以便允许SyncML客户和SyncML服务器交换添加、删除、更新和其他状态信息。
其他DTD定义设备上的信息(诸如存储器空间)和各种类型的元信息(比如安全凭证)的表示。SyncML消息在概念上基于如由表示协议定义的容器概念。每个SyncML消息包含SyncML头部段和SyncML主体段。SyncML头部包含路由、会话、鉴权和消息信息,而SyncML主体段包含各种定义良好的同步数据,该同步数据包括状态信息以及同步命令,每一个形成一个子容器。
在图4中所示的基于XML编码是根据参考图3b所描述的由操作252参考的客户同步消息的SyncML消息的示例纯文本编码的摘录。描述的基于XML编码包含从第3行扩展到第9行的SyncML头部段和从第10行扩展到第57行的SyncML主体段。
第1行和第2行包含关于使用的XML编码的公共信息和用于文本表示和SyncML版本信息的字符编码。
每个SyncML头部包含在一个同步会话期间有效的文档类型定义版本信息(VerDTD,第4行)、SyncML协议版本信息(VerProto,第5行)、会话标识符(SessionID,第6行),从而指配所有明确的属于其的同步消息和增加的消息标识符(MsgID,第7行),使得每个接收同步设备随后接收具有增加的消息标识符数字的同步消息。在SyncML头部中包含作为例子描述的SyncML头部的前述的元素、进一步可选的和必要的元素。
SyncML主体包含若干逻辑和独立的子段。第一状态信息子段从第11行扩展到第19行。该第一状态信息子段与待同步的数据记录的参考寻址有关。特别地,目标参考(TargetRef,第16行)定义用于寻址客户的全球移动设备标识符(IMEI),在该情况下客户为蜂窝通信设备,而源参考(SourceRef,第17行)定义用于寻址服务器的统一资源标识符(URI),在该情况下服务器为可经由HTTP(超文本传送协议)访问的联网服务器设备。各个数据记录和数据存储的进一步寻址是基于该参考地址信息。还可以包括进一步状态信息子段的任意号码,该号码由从第20行扩展到第22行的第二状态信息子段指明。例如,将确认编码为状态信息。
SyncML主体段进一步包含被进一步再分的同步子段。作为例子,包括关于联系方式的添加的客户所指明的修改。第26行包含客户的联系方式数据库的相关寻址路径,而第29行包含服务器的联系方式数据库的相关寻址路径。相关寻址路径与上述的参考寻址有关。从第31行扩展到第36行的元子段包含关于待添加到服务器中的联系方式数据库的数据记录(联系方式)的附加的元信息。从第37行扩展到第51行的子段包含添加指令和对应的联系方式数据内容。在第40行,在第46行到第48行中的内容数据的数据格式被定义为x-vcard元类型,而在第46行到第48行对应的数据内容是令人满意的。用于唯一地参考客户中的这个联系方式的本地唯一标识符(LUID)被包括在第44行中。可进一步包括进一步的同步信息子段的任何号码,该号码是由从第52行扩展到第54行的进一步同步信息子段指明的。
在第56行包含的最终指令向服务器指明该示例客户同步消息是用于同步的最后的消息,该消息包含待报告给服务器的客户修改。
根据本发明的实施例的用于恢复先前未完成同步会话的前述方法可在客户设备和服务器设备中以各种方式实现。下列实现是基于SyncML标准实现的示例实现,在SyncML标准实现中,部件具有增强的功能和能力,以便还适用于根据本发明的实施例操作。
图5显示说明由根据本发明的实施例的同步客户设备和同步服务器设备组成的部件的示例框图。图5描述了表示提供联网的同步服务的网络设备的服务器110。由一个或多个服务器应用112和对应关联的一个或多个数据存储器部件111表示联网的同步服务。一个或多个服务器应用112向数据同步提供由作为联网设备的客户100的一个或多个客户应用102表示的其他应用。一个或多个数据存储器部件111保存用于由一个或多个服务器应用112处理的并因而用于与客户同步的数据记录,其中一个或多个数据存储器部件111是例如一个或若干数据库。服务器110和客户100通过通信网络传送而被连接。参考图1示出并讨论对用于连接客户100和服务器110的适当通信网络的选择。
一个或多个服务器应用112使用作为同步服务器引擎113实现的数据同步协议,同步服务器引擎113是服务器110的部件或服务器上的进程。通过客户应用分别访问所提供的同步服务器网络服务和资源,数据同步协议在通信网络上是清楚显现的。同步服务器代理115对同步服务器引擎113到网络的访问和通信进行接口和管理,并分别使能与客户100和一个或多个客户应用102的数据同步操作的通信。通过包含同步接116和同步适配器117,同步代理115执行接口和通信,其中同步接116是例如到同步适配器117的应用程序接口(API)。同步适配器117分别是服务器110的部件或服务器上的进程,在概念上服务器110与客户端上的对应的同步适配器107通信。同步适配器117主要负责建立和维护服务器110和客户100之间的网络通信连接,即一个或多个提供数据同步服务的服务器应用112和一个或多个访问并应用该数据同步服务的客户应用102之间的网络通信连接。
在客户端,具有一个或多个存储可由一个或多个客户应用102访问的数据记录的关联的数据存储器部件101的一个或多个客户应用102使用同步客户代理105、同步接106和同步适配器107,以访问所提供的服务器同步服务。同步客户代理105使能分别与服务器110和一个或多个服务器应用112的数据同步操作的通信。同步接口106类似地表示例如到同步适配器107的应用程序接口(API)。
例如通过在同步客户代理115和同步服务器代理105中实现一个或多个代码段,根据本发明的实施例的前述方法被包括在服务器110和客户100的上述概念性部件构架中,其中一个或多个代码段包括指令,该指令在它们执行时执行用于恢复未完成的同步会话的方法的实施例。这种方式的实现保证了在同步会话的中断的情况下,用于恢复该中断的同步会话所要求的信息被记入日志或存储在客户110和服务器110中。
图6-8显示了根据本发明用于恢复与两个设备之间的数据交换有关的先前未完成的同步会话的中断的方法的可替换实施例。该方法特征在于步骤:将用于恢复的警告信号从第一设备发送到第二设备,恢复信号包含与请求恢复先前未完成同步会话有关的信息。如举例的方式示出,第一设备是客户,并且第二设备是服务器。该方法的特征还在于步骤:将用于警告信号的状态从第二设备发送到第一设备,警告信号表示与待执行的同步类型有关的信息。与用于恢复的警告信号的状态有关的信息可包括用于接受恢复会话或覆盖先前未完成同步会话的较早的同步类型的信息。如果覆盖了较早的同步类型,那么服务器命令客户使用不同的同步类型。如果同步被中断,“Next”锚或第二更新标识符可以或不可以被更新。如果在中断之后或在暂停期间“Next”锚被更新,这就允许在中断期间同步可能被修改的数据项,从而允许更好的用户感受。
在图6中,在步骤302客户将用于恢复的警告信号发送给服务器。在步骤304,服务器用警告信号的状态应答回客户,该状态包含会话的恢复是否完成的指示。在步骤306中,客户使用先前中断的同步会话的同步类型(例如,快速或慢速同步)并且交换剩余的客户数据。在步骤308、310完成同步会话,这些步骤类似于以上关于图3b讨论的步骤253、254。在前述步骤中,包括了同步会话的恢复和对先前中断的同步会话的同步类型的确定。客户一发送了恢复警告代码,服务器就同意恢复会话并发送在警告元素中用于对应的服务器端的数据存储的适当警告代码。客户必须利用该警告代码来恢复同步会话。这避免了会话中断时在客户端存储同步类型。
另外,本发明的范围试图包括这些实施例,使得无论何时发生中断,客户应当发送用于恢复的警告。这即使在客户接收了用于所有项的状态并且在恢复会话中不再发送新的或修改的项时也可以应用。换句话说,如果传送没有被良好地或适当地断开,那么客户必须请求恢复而不是开始新的同步会话。通过这样做,这允许服务器只发送没有获得状态的项。
图7显示由服务器对恢复会话的覆盖。在该情况下,客户对恢复的要求在步骤302不可被服务器接受,因此通过分别发送例如在步骤320中的状态508(刷新同步)或状态509(另一个同步类型)、或者任何用于相同目的的其它适当的代码、跟在后面的在警告代码201(慢速同步)或2XX(用于另一种同步类型)中的适当的同步类型,服务器能覆盖较早的同步类型。在步骤322,客户使用由服务器指定的同步类型并发送所有的项,而不仅仅是剩下的5个数据项。本发明的范围不趋于被限制于任何特定的状态代码号。使用其他状态代码号来展示实施例。
图8显示了慢速同步会话的恢复。客户请求对通过警告服务器进行恢复并且如果该恢复可被服务器接受,那么在步骤330中发送关于“用于恢复的警告”的200状态(OK)。另外,服务器在警告元素中发送用于对应的服务器端的数据存储的警告201。这类似于上面关于图6、关于对同步类型的确定的讨论;然而,注意如何区分慢速同步和强完全慢速同步的恢复是很重要的,因为警告201当前意味着慢速同步并且客户可开始一个完全慢速同步。为了在慢速同步和完全慢速同步的恢复之间区分,在步骤330客户可通过查看发送到“用于恢复的警告”的状态代码来进行判定。200代码意思是恢复慢速同步(可替换的是具有用于所有不同同步类型的状态代码,例如发送220而不是200来确认开始一个恢复会话是可以的),以及508代码意思是完全慢速同步。参考上述的内容,完全慢速同步可以通过发送508状态来实现,状态508(要求的刷新)是关于跟随有警告201的用于恢复的警告。通过这样,客户将知道不能恢复先前中断的慢速同步,相反,必须使用从一开头就开始的完全慢速同步。这不意味着开始新的同步会话,而是可以在需要时结束这样做。
根据另一个实施例,可能具有附加的警告代码来指明“用于暂停的警告”:这将允许以良好的方式中断同步会话。恢复可以根据在说明书早先描述的步骤。这个警告代码仅能帮助实现良好的方式来中断通常由用户启动的同步会话。当第二设备接收这样的警告时,它可通过状态代码响应该警告,由此第一设备可以推理其是否也能够转到“暂停模式”。自然地,不更新“LAST”更新标识符。第一或第二设备之后可发送指示给另一个设备,以便恢复暂停的同步会话。例如,第一设备可发送包含用于恢复的警告信号的消息给第二设备,由此这些设备可以继续暂停的同步。
随着技术的进步,对于本领域的技术人员来说显然本发明的思想可以以不同的和广泛的方式来实现。因此,本发明及其实施例不限制于上述的例子,而可以在权利要求的范围内变化。
Claims (13)
1.一种用于同步的方法,包括:
-建立用于同步第一设备和第二设备之间的数据的通信连接,所述第一设备和第二设备的每个包括待同步的数据集合;
-传送第一更新标识符和第二更新标识符,所述第一更新标识符指示已经在所述第一设备和所述第二设备之间执行的先前完成的同步事件,至少已经在所述第一设备中存储了所述第一更新标识符的值,所述第二更新标识符指示已经在所述第一设备和所述第二设备之间开始的先前未完成的同步事件,至少已经在所述第一设备中存储了所述第二更新标识符的值;
-检索或形成已经在所述先前未完成的同步事件期间成功同步的数据的指示;
-使用所述指示,同步还没有在所述先前未完成的同步事件期间成功同步的数据;以及
-至少在所述第一设备中,用所述第二更新标识符的所述值更新所述第一更新标识符的所述值。
2.根据权利要求1的方法,其中该方法还包括:
-传送与所述先前未完成的同步事件有关的附加信息,并且该附加信息包括至少一个来自以下组的信息,该组包括关于所述先前未完成的同步的信息,以及关于根据接收的同步有关的信息而成功同步的数据的信息。
3.根据权利要求1的方法,还包括:
在所述第一设备和所述第二设备的至少一个中:
-在第一比较中,比较从所述第一设备传送的所述第一更新标识符的值与存储在所述第二设备中的所述第一设备的所述第二更新标识符的值;
-在第二比较中,比较从所述第一设备传送的所述第二更新标识符的值与存储在所述第二设备中的所述第一设备的所述第二更新标识符的值;
-执行下列选项的至少一个:
-如果所述第二比较产生一个真值,则同步所述第一设备和所述第二设备之间的数据,所述数据包括在所述先前未完成的同步事件期间没有交换的数据;
-如果所述第二比较产生一个假值,则同步所述第一设备和所述第二设备之间的数据,所述数据包括至少已经在所述先前未完成的同步事件期间被同步的数据;
-如果所述第一比较产生一个假值,则同步所述第一设备和所述第二设备之间的数据,所述数据包括已经在所述先前完成的同步事件期间被同步的数据;和
如果所述第一比较产生一个真值,
-则同步所述第一设备和所述第二设备之间的数据,所述数据在所述先前完成的同步事件期间还没有被同步。
4.根据权利要求1的方法,其中建立用于同步的通信连接还包括:
-传送命令所述第一设备和所述第二设备的至少一个的初始消息,以准备恢复所述先前未完成的同步。
5.根据权利要求1的方法,其中所述同步基于根据所述SyncML标准的同步协议,所述第一更新标识符是最后同步锚。
6.根据权利要求5的方法,其中所述第二更新标识符至少是下一个同步锚和暂停同步锚的其中之一。
7.根据权利要求2的方法,其中与所述先前未完成的同步事件有关的所述附加信息包括来自以下组的至少一个信息,该组是同步事件会话标识符(会话ID)、同步消息标识符(消息ID)和确认的数据及其它们相应的数据存储的一个或多个标识符。
8.根据权利要求7的方法,其中在传送所述第一和第二更新标识符之前至少已经将所述附加信息存储在所述第一设备中。
9.根据权利要求1的方法,其中如果已经成功接收了用于数据或包含所述数据的消息的确认,则已经成功地同步了所述数据,其中所述确认指明所述数据或所述消息的同步的肯定或否定状态。
10.一种在网络中使用的并能够同步数据的设备,包括:
-存储介质,包括预定义的待同步的数据集合;
-通信接口,用于建立用来同步数据到网络中使用的另一个设备的通信连接,以便与所述另一个网络设备进行第一更新标识符和第二更新标识符的通信,并且用于与所述另一个网络设备交换数据,
其中所述第一更新标识符指示已经用所述另一个网络设备执行的先前完成的同步事件,已经至少在所述网络设备中存储所述第一更新标识符,所述第二更新标识符指示先前未完成的同步事件,已经至少在所述网络设备中存储所述第二更新标识符,
其中所述数据至少包括在所述先前未完成的同步事件期间没有同步的数据;
-检索或形成部件,用于检索或形成在所述先前未完成的同步事件期间已经同步的数据的指示,已经在所述网络设备中存储所述指示;
-同步部件,用于根据所述指示同步数据;和
-更新部件,用于将存储的所述第一更新标识符的内容更新为存储的所述第二更新标识符的内容。
11.根据权利要求10的设备,其中
-所述通信接口适用于传送与所述先前未完成的同步事件有关的补充的附加信息,
其中所述附加信息包括来自一个组的至少一个信息,该组包括关于所述先前未完成的同步的信息、关于同步有关信息的最后一次成功交换的信息和关于根据接收的同步有关信息而被成功同步的数据的信息。
12.根据权利要求10或11的设备,还包括:
-用于比较的部件,在第一比较中,用于比较从所述设备传送的所述第一更新标识符的值与存储在另一个设备中的该设备的所述第二更新标识符的值;并且在第二比较中,用于比较从所述第一设备传送的所述第二更新标识符的值与存储在另一个设备中的该设备的所述第二更新标识符的值,所述部件用于执行下列选项的至少一个:
-如果所述第二比较产生一个真值,则同步所述设备和所述另一个设备之间的数据,所述数据包括在所述先前未完成的同步事件期间没有交换的数据;
-如果所述第二比较产生一个假值,则同步所述设备和所述另一个设备之间的数据,所述数据包括至少已经在所述先前未完成的同步事件期间被同步的数据;
-如果所述第一比较产生一个假值,则同步所述设备和所述另一个设备之间的数据,所述数据包括已经在所述先前完成的同步事件期间被同步的数据;和
如果所述第一比较产生一个真值,
-则同步所述设备和所述另一个设备之间的数据,所述数据在所述先前完成的同步事件期间还没有被同步。
13.一种用于同步的系统,包括第一网络设备和第二网络设备,其中所述第一网络设备包括:
-存储介质,包括预定义的待同步的数据集合;
-通信接口,用于建立用来同步数据到在网络中使用的所述第二设备的通信连接,用于将第一更新标识符和第二更新标识符传递到所述第二网络设备,和用于与所述第二网络设备交换数据,
-检索或形成部件,用于检索或形成在所述先前未完成的同步事件期间已经同步的数据的指示,已经在所述第一网络设备中存储了所述指示;
-同步部件,用于根据所述指示同步数据;和
-更新部件,用于将存储的所述第一更新标识符的内容更新为存储的所述第二更新标识符的内容;
其中所述第二网络设备包括:
-存储介质,包括预定义的待同步的数据集合;
-通信接口,用于建立用来同步数据到在网络中使用的所述第一设备的通信连接,用于将第一更新标识符和第二更新标识符传递到所述第一网络设备,和用于与所述第一网络设备交换数据,所述第二更新标识符和所述第二更新标识符被存储,
-同步部件,用于根据所述指示同步数据;
-更新部件,用于将存储的所述第一更新标识符的内容更新为存储的所述第二更新标识符的内容;以及
-用于比较的部件,在第一比较中,用于比较从所述第一网络设备传送的所述第一更新标识符的值与存储在所述第二网络设备中的所述第一更新标识符的值;并且在第二比较中,用于比较从所述第一网络设备传送的所述第二更新标识符的值与存储在所述第二网络设备中的所述第二更新标识符的值,
其中所述第一更新标识符指示已经用所述第二网络设备执行的先前完成的同步事件,至少已经在一个网络设备中存储了所述第一更新标识符,所述第二更新标识符指示已经用所述第二网络设备执行的先前未完成的同步事件,至少已经在一个网络设备中存储所述第二更新标识符,以及
其中如果所述比较产生相同的标识符,则所述数据至少包括在所述先前未完成的同步事件期间没有同步的数据,所述交换的信息基于所述指示。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/236,010 | 2002-09-03 | ||
US10/236,010 US20040044799A1 (en) | 2002-09-03 | 2002-09-03 | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
US10/291,192 | 2002-11-08 | ||
US10/291,192 US9792343B2 (en) | 2002-09-03 | 2002-11-08 | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
PCT/IB2003/003737 WO2004023233A2 (en) | 2002-09-03 | 2003-09-03 | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1708755A CN1708755A (zh) | 2005-12-14 |
CN1708755B true CN1708755B (zh) | 2010-09-08 |
Family
ID=31977595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN038249065A Expired - Lifetime CN1708755B (zh) | 2002-09-03 | 2003-09-03 | 用于同步为处理中断的同步过程而提供的数据的方法、设备和系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20040044799A1 (zh) |
EP (1) | EP1980954A1 (zh) |
JP (1) | JP4829316B2 (zh) |
CN (1) | CN1708755B (zh) |
MY (1) | MY146705A (zh) |
Families Citing this family (117)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689721B2 (en) * | 1998-05-29 | 2010-03-30 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US20040044799A1 (en) * | 2002-09-03 | 2004-03-04 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
EP1398883A1 (en) * | 2002-09-12 | 2004-03-17 | Nokia Corporation | Code phase acquisition |
US20040230670A1 (en) * | 2002-11-25 | 2004-11-18 | Markus Schmidt-Karaca | Method and system for representing, configuring and deploying distributed applications |
US7533158B2 (en) * | 2003-01-17 | 2009-05-12 | At&T Intellectual Property I, L.P. | System and method for handling digital content delivery to portable devices |
US7409460B1 (en) * | 2003-05-12 | 2008-08-05 | F5 Networks, Inc. | Method and apparatus for managing network traffic |
US20070276911A1 (en) * | 2003-07-11 | 2007-11-29 | Soujanya Bhumkar | Method and System for Transferring Contact Information and Calendar Events to a Wireless Device Via E-Mail |
US20050060578A1 (en) * | 2003-09-17 | 2005-03-17 | Sony Corporation | Method of and system for authentication downloading |
US20050060370A1 (en) * | 2003-09-17 | 2005-03-17 | Sony Corporation | Version based content distribution and synchronization system and method |
US7925790B2 (en) * | 2003-09-17 | 2011-04-12 | Sony Corporation | Middleware filter agent between server and PDA |
US7735000B2 (en) * | 2003-09-25 | 2010-06-08 | Sony Corporation | Information and content exchange document type definitions to support content distribution |
KR100584316B1 (ko) * | 2003-10-17 | 2006-05-26 | 삼성전자주식회사 | 단말장치와 서버간의 프레전스 정보 데이터 동기화를 위한시스템 및 방법 |
US7437484B2 (en) * | 2003-12-29 | 2008-10-14 | International Business Machines Corporation | Method for optimizing synchronization |
KR100557192B1 (ko) * | 2004-04-06 | 2006-03-03 | 삼성전자주식회사 | 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템. |
US20060041893A1 (en) * | 2004-08-20 | 2006-02-23 | Microsoft Corporation | Extensible device synchronization architecture and user interface |
US7672978B2 (en) * | 2004-08-20 | 2010-03-02 | Nokia Corporation | Handling of content in a data processing device |
US20060074841A1 (en) * | 2004-09-27 | 2006-04-06 | Harikrishnan Sugumaran | Method, system, and program for translating and interfacing between data pools and product information management (PIM) systems |
WO2006053019A2 (en) * | 2004-11-08 | 2006-05-18 | Sharpcast, Inc. | Method and apparatus for a file sharing and synchronization system |
US8682844B2 (en) * | 2005-01-28 | 2014-03-25 | Sap Ag | Method and apparatus for collision resolution in an asynchronous database system |
US7783746B2 (en) * | 2005-06-30 | 2010-08-24 | Infinera Corporation | Efficient synchronization of element management systems to network element attributes |
US8001076B2 (en) * | 2005-07-12 | 2011-08-16 | International Business Machines Corporation | Ranging scalable time stamp data synchronization |
US20070038703A1 (en) * | 2005-07-14 | 2007-02-15 | Yahoo! Inc. | Content router gateway |
US20070014307A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | Content router forwarding |
US20070016636A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | Methods and systems for data transfer and notification mechanisms |
US20070014277A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | Content router repository |
US7623515B2 (en) * | 2005-07-14 | 2009-11-24 | Yahoo! Inc. | Content router notification |
US7849199B2 (en) * | 2005-07-14 | 2010-12-07 | Yahoo ! Inc. | Content router |
US7631045B2 (en) * | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
US20070079260A1 (en) * | 2005-10-04 | 2007-04-05 | Bhogal Kulvir S | Method and apparatus to transmit a calendar event in target calendaring system format |
US8095599B2 (en) | 2005-10-20 | 2012-01-10 | International Business Machines Corporation | Mail-based web application and document delivery |
US8024290B2 (en) | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US8065680B2 (en) * | 2005-11-15 | 2011-11-22 | Yahoo! Inc. | Data gateway for jobs management based on a persistent job table and a server table |
US9367832B2 (en) * | 2006-01-04 | 2016-06-14 | Yahoo! Inc. | Synchronizing image data among applications and devices |
US7877797B2 (en) | 2006-02-23 | 2011-01-25 | Microsoft Corporation | Non-intrusive background synchronization when authentication is required |
KR100724879B1 (ko) * | 2006-03-06 | 2007-06-04 | 삼성전자주식회사 | 휴대단말기의 서머타임정보 업데이트 방법 |
CN100450108C (zh) * | 2006-03-23 | 2009-01-07 | 华为技术有限公司 | 一种采用数据同步处理电子邮件的系统、装置及方法 |
KR100772879B1 (ko) * | 2006-04-19 | 2007-11-02 | 삼성전자주식회사 | 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법 |
US7509350B2 (en) * | 2006-06-01 | 2009-03-24 | Research In Motion Limited | Method and apparatus for synchronizing of databases |
DE602006002597D1 (de) * | 2006-06-01 | 2008-10-16 | Research In Motion Ltd | Verfahren und Vorrichtung zur Synchronisierung von Datenbanken |
US8572182B2 (en) | 2006-07-21 | 2013-10-29 | Blackberry Limited | Handling notifications in instant messaging systems |
US20080034008A1 (en) * | 2006-08-03 | 2008-02-07 | Yahoo! Inc. | User side database |
US8151201B2 (en) * | 2006-08-17 | 2012-04-03 | Research In Motion Limited | User interface manager and method for reacting to a change in system status |
CA2660366C (en) * | 2006-08-17 | 2016-08-09 | Research In Motion Limited | Enhanced user interface manager and method for managing non-contemporaneous user interface modules |
JP4222404B2 (ja) * | 2006-10-18 | 2009-02-12 | 船井電機株式会社 | クライアント・サーバシステム |
US7653664B2 (en) * | 2006-11-03 | 2010-01-26 | Microsoft Corporation | Anchor for database synchronization excluding uncommitted transaction modifications |
US8149748B2 (en) * | 2006-11-14 | 2012-04-03 | Raytheon Company | Wireless data networking |
KR101221672B1 (ko) * | 2006-11-30 | 2013-01-14 | 재단법인서울대학교산학협력재단 | 데이터 동기화 시스템 |
US7805403B2 (en) * | 2007-01-07 | 2010-09-28 | Apple Inc. | Synchronization methods and systems |
US7715444B2 (en) * | 2007-02-02 | 2010-05-11 | Palm, Inc | Resuming a previously interrupted peer-to-peer synchronization operation |
US20080270629A1 (en) * | 2007-04-27 | 2008-10-30 | Yahoo! Inc. | Data snychronization and device handling using sequence numbers |
CN101340286B (zh) * | 2007-05-30 | 2011-03-30 | 华为技术有限公司 | 会话连接发起方法及设备 |
CN101374144B (zh) * | 2007-08-21 | 2012-04-25 | 华为技术有限公司 | 控制会话的数据同步的方法、装置和系统 |
CN101387972B (zh) * | 2007-09-14 | 2010-06-09 | 英业达股份有限公司 | 应用软件网络同步系统及其方法 |
US8131759B2 (en) * | 2007-10-18 | 2012-03-06 | Asurion Corporation | Method and apparatus for identifying and resolving conflicting data records |
US20090196311A1 (en) * | 2008-01-31 | 2009-08-06 | Microsoft Corporation | Initiation and expiration of objects in a knowledge based framework for a multi-master synchronization environment |
KR101430517B1 (ko) * | 2008-01-31 | 2014-08-19 | 삼성전자주식회사 | 복수의 데이터 통신장치들 간의 데이터 동기 방법 |
US20090234872A1 (en) * | 2008-03-11 | 2009-09-17 | Microsoft Corporation | Synchronization of disconnected/offline data processing/entry |
US20100131398A1 (en) * | 2008-03-20 | 2010-05-27 | Theresa Molloy | System and method for providing market insight regarding securities trading |
US8135769B2 (en) * | 2008-06-06 | 2012-03-13 | Apple Inc. | Synchronization improvements |
US20090307280A1 (en) * | 2008-06-06 | 2009-12-10 | Mccarthy Brendan A | Synchronization improvements |
US8429123B2 (en) * | 2008-06-06 | 2013-04-23 | Apple Inc. | Synchronization improvements |
US20090319593A1 (en) * | 2008-06-18 | 2009-12-24 | International Business Machines Corporation | Optimized Message Format for Synchronization Flows Between Transaction Processing Systems |
US8135670B2 (en) * | 2008-07-22 | 2012-03-13 | International Business Machines Corporation | Embedded change logging for data synchronization |
US8209437B2 (en) * | 2008-09-25 | 2012-06-26 | Rockliffe Systems, Inc. | Personal information management data synchronization |
US20100268784A1 (en) * | 2009-04-17 | 2010-10-21 | Marc Henness | Data synchronization system and method |
JP5061166B2 (ja) | 2009-09-04 | 2012-10-31 | Kii株式会社 | データ同期システムおよびデータ同期方法 |
US8924592B2 (en) * | 2009-09-29 | 2014-12-30 | Citrix Systems, Inc. | Synchronization of server-side cookies with client-side cookies |
EP2393238A1 (en) * | 2010-06-01 | 2011-12-07 | HTC Corporation | Communication apparatus and method thereof |
US8516062B2 (en) | 2010-10-01 | 2013-08-20 | @Pay Ip Holdings Llc | Storage, communication, and display of task-related data |
US8918467B2 (en) | 2010-10-01 | 2014-12-23 | Clover Leaf Environmental Solutions, Inc. | Generation and retrieval of report information |
GB2485241A (en) | 2010-11-05 | 2012-05-09 | Bluecava Inc | Incremental browser-based fingerprinting of a computing device |
CN102013123B (zh) * | 2010-11-22 | 2013-04-24 | 北京亚博高腾科技有限公司 | 防止利用外插输入设备进行操作的彩票机 |
CN102651683A (zh) * | 2011-02-24 | 2012-08-29 | 中国电信股份有限公司 | 用户分组信息的同步方法、系统及服务器 |
US9060239B1 (en) * | 2011-08-09 | 2015-06-16 | Zscaler, Inc. | Cloud based mobile device management systems and methods |
US9369433B1 (en) | 2011-03-18 | 2016-06-14 | Zscaler, Inc. | Cloud based social networking policy and compliance systems and methods |
US20130086437A1 (en) | 2011-09-30 | 2013-04-04 | Microsoft Corporation | Communicating unexpected collaboration server responses on reconnection |
US8392617B1 (en) * | 2011-12-06 | 2013-03-05 | Google Inc. | Browsing context continuation across multiple devices |
US20150205463A1 (en) * | 2012-06-26 | 2015-07-23 | Google Inc. | Method for storing form data |
US10057318B1 (en) | 2012-08-10 | 2018-08-21 | Dropbox, Inc. | System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients |
US9357922B2 (en) | 2013-03-04 | 2016-06-07 | Hello Inc. | User or patient monitoring systems with one or more analysis tools |
US9532716B2 (en) | 2013-03-04 | 2017-01-03 | Hello Inc. | Systems using lifestyle database analysis to provide feedback |
US9320434B2 (en) | 2013-03-04 | 2016-04-26 | Hello Inc. | Patient monitoring systems and messages that send alerts to patients only when the patient is awake |
US9345403B2 (en) | 2013-03-04 | 2016-05-24 | Hello Inc. | Wireless monitoring system with activity manager for monitoring user activity |
US9339188B2 (en) | 2013-03-04 | 2016-05-17 | James Proud | Methods from monitoring health, wellness and fitness with feedback |
US9330561B2 (en) | 2013-03-04 | 2016-05-03 | Hello Inc. | Remote communication systems and methods for communicating with a building gateway control to control building systems and elements |
US9634921B2 (en) | 2013-03-04 | 2017-04-25 | Hello Inc. | Wearable device coupled by magnets positioned in a frame in an interior of the wearable device with at least one electronic circuit |
US9398854B2 (en) | 2013-03-04 | 2016-07-26 | Hello Inc. | System with a monitoring device that monitors individual activities, behaviors or habit information and communicates with a database with corresponding individual base information for comparison |
US20140249994A1 (en) | 2013-03-04 | 2014-09-04 | Hello Inc. | Wearable device with unique user ID and telemetry system for payments |
US9430938B2 (en) | 2013-03-04 | 2016-08-30 | Hello Inc. | Monitoring device with selectable wireless communication |
US9432091B2 (en) | 2013-03-04 | 2016-08-30 | Hello Inc. | Telemetry system with wireless power receiver and monitoring devices |
US9737214B2 (en) | 2013-03-04 | 2017-08-22 | Hello Inc. | Wireless monitoring of patient exercise and lifestyle |
US9159223B2 (en) | 2013-03-04 | 2015-10-13 | Hello, Inc. | User monitoring device configured to be in communication with an emergency response system or team |
US9345404B2 (en) | 2013-03-04 | 2016-05-24 | Hello Inc. | Mobile device that monitors an individuals activities, behaviors, habits or health parameters |
US9298882B2 (en) * | 2013-03-04 | 2016-03-29 | Hello Inc. | Methods using patient monitoring devices with unique patient IDs and a telemetry system |
US9848776B2 (en) | 2013-03-04 | 2017-12-26 | Hello Inc. | Methods using activity manager for monitoring user activity |
US9526422B2 (en) | 2013-03-04 | 2016-12-27 | Hello Inc. | System for monitoring individuals with a monitoring device, telemetry system, activity manager and a feedback system |
US9406220B2 (en) | 2013-03-04 | 2016-08-02 | Hello Inc. | Telemetry system with tracking receiver devices |
US9392939B2 (en) | 2013-03-04 | 2016-07-19 | Hello Inc. | Methods using a monitoring device to monitor individual activities, behaviors or habit information and communicate with a database with corresponding individual base information for comparison |
US9405816B2 (en) * | 2013-03-05 | 2016-08-02 | Microsoft Technology Licensing, Llc | Reconciliation of geo-replicated database clusters |
KR102020358B1 (ko) * | 2013-03-14 | 2019-11-05 | 삼성전자 주식회사 | 단말 및 그 단말에서 애플리케이션 동기화 방법 |
WO2015115963A1 (en) * | 2014-01-31 | 2015-08-06 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for mapping identities to device-to-device synchronization sequences |
GB2527798A (en) * | 2014-07-02 | 2016-01-06 | Ibm | Synchronizing operations between regions when a network connection fails |
JP6442230B2 (ja) | 2014-10-31 | 2018-12-19 | キヤノン株式会社 | 情報処理装置、同期制御方法、及びプログラム |
US9606856B2 (en) | 2014-12-03 | 2017-03-28 | International Business Machines Corporation | Event logging and error recovery |
US20170091253A1 (en) * | 2015-09-29 | 2017-03-30 | Dropbox, Inc. | Interrupted synchronization detection and recovery |
US10452635B2 (en) | 2016-03-23 | 2019-10-22 | Microsoft Technology Licensing, Llc | Synchronizing files on different computing devices using file anchors |
US11297058B2 (en) | 2016-03-28 | 2022-04-05 | Zscaler, Inc. | Systems and methods using a cloud proxy for mobile device management and policy |
US20180054480A1 (en) * | 2016-08-17 | 2018-02-22 | Microsoft Technology Licensing, Llc | Interrupt synchronization of content between client device and cloud-based storage service |
US11341100B2 (en) * | 2016-12-12 | 2022-05-24 | Egnyte, Inc. | System and method for eliminating full rescan synchronizations on service restarts |
CN109391656B (zh) * | 2017-08-09 | 2021-10-08 | 中兴通讯股份有限公司 | 一种设备管理会话的恢复方法、装置、客户端及服务器 |
CN109587065B (zh) | 2017-09-28 | 2021-02-23 | 北京金山云网络技术有限公司 | 转发报文的方法、装置、交换机、设备及存储介质 |
CN108377265B (zh) * | 2018-02-07 | 2020-10-16 | 南京南瑞继保电气有限公司 | 一种电力系统中控制保护分布式系统的实时同步方法 |
US11334596B2 (en) | 2018-04-27 | 2022-05-17 | Dropbox, Inc. | Selectively identifying and recommending digital content items for synchronization |
US10795747B2 (en) * | 2018-05-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | File synchronizing service status monitoring and error handling |
CN110765204B (zh) * | 2019-09-30 | 2022-02-01 | 武汉达梦数据库股份有限公司 | 一种对增量同步异常中断情况的处理方法和装置 |
CN110781373B (zh) * | 2019-10-29 | 2022-09-06 | 北京字节跳动网络技术有限公司 | 榜单更新方法、装置、可读介质和电子设备 |
CN111737204B (zh) * | 2020-06-12 | 2024-03-19 | 北京百度网讯科技有限公司 | 文件目录遍历方法、装置、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312922A (zh) * | 1998-08-11 | 2001-09-12 | 艾利森电话股份有限公司 | 容错计算机系统 |
EP1227396A1 (en) * | 2001-01-24 | 2002-07-31 | Microsoft Corporation | A method, system and computer program product for synchronizing data represented by different data structures by using update notifications |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684990A (en) | 1995-01-11 | 1997-11-04 | Puma Technology, Inc. | Synchronization of disparate databases |
US6477545B1 (en) | 1998-10-28 | 2002-11-05 | Starfish Software, Inc. | System and methods for robust synchronization of datasets |
US6810405B1 (en) * | 1998-08-18 | 2004-10-26 | Starfish Software, Inc. | System and methods for synchronizing data between multiple datasets |
US6516314B1 (en) | 1998-11-17 | 2003-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Optimization of change log handling |
US7007003B1 (en) * | 1998-12-04 | 2006-02-28 | Intellisync Corporation | Notification protocol for establishing synchronization mode for use in synchronizing databases |
US6247135B1 (en) * | 1999-03-03 | 2001-06-12 | Starfish Software, Inc. | Synchronization process negotiation for computing devices |
US6535892B1 (en) | 1999-03-08 | 2003-03-18 | Starfish Software, Inc. | System and methods for exchanging messages between a client and a server for synchronizing datasets |
US6820204B1 (en) * | 1999-03-31 | 2004-11-16 | Nimesh Desai | System and method for selective information exchange |
US6549917B1 (en) * | 1999-04-29 | 2003-04-15 | Waveware Communications, Inc. | Synchronization of host computers and handheld remote computers |
US6829655B1 (en) * | 2001-03-28 | 2004-12-07 | Siebel Systems, Inc. | Method and system for server synchronization with a computing device via a companion device |
US7072911B1 (en) * | 2001-07-27 | 2006-07-04 | Novell, Inc. | System and method for incremental replication of changes in a state based distributed database |
US7761535B2 (en) | 2001-09-28 | 2010-07-20 | Siebel Systems, Inc. | Method and system for server synchronization with a computing device |
US20030194999A1 (en) * | 2002-04-16 | 2003-10-16 | Quick Roy Franklin | Method and apparatus for reestablishing crypto-sync synchronization in a communication system |
US20040044799A1 (en) | 2002-09-03 | 2004-03-04 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
-
2002
- 2002-09-03 US US10/236,010 patent/US20040044799A1/en not_active Abandoned
- 2002-11-08 US US10/291,192 patent/US9792343B2/en not_active Expired - Lifetime
-
2003
- 2003-09-02 MY MYPI20033311 patent/MY146705A/en unknown
- 2003-09-03 CN CN038249065A patent/CN1708755B/zh not_active Expired - Lifetime
- 2003-09-03 EP EP20080104710 patent/EP1980954A1/en not_active Ceased
-
2009
- 2009-01-26 JP JP2009014610A patent/JP4829316B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312922A (zh) * | 1998-08-11 | 2001-09-12 | 艾利森电话股份有限公司 | 容错计算机系统 |
EP1227396A1 (en) * | 2001-01-24 | 2002-07-31 | Microsoft Corporation | A method, system and computer program product for synchronizing data represented by different data structures by using update notifications |
Non-Patent Citations (1)
Title |
---|
FRED HALSALL.Data communications, computer networks, and opensystems, 3rd ed..ADDISON-WESLEY PUBLISHER.1992,567-570. * |
Also Published As
Publication number | Publication date |
---|---|
US20040044799A1 (en) | 2004-03-04 |
EP1980954A1 (en) | 2008-10-15 |
JP4829316B2 (ja) | 2011-12-07 |
CN1708755A (zh) | 2005-12-14 |
US20040205263A1 (en) | 2004-10-14 |
MY146705A (en) | 2012-09-14 |
US9792343B2 (en) | 2017-10-17 |
JP2009140515A (ja) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1708755B (zh) | 用于同步为处理中断的同步过程而提供的数据的方法、设备和系统 | |
CN1656468B (zh) | 用于同步不同数据存储器中数据存储方式的方法、设备和系统 | |
CN100401289C (zh) | 配置同步会话 | |
US5588148A (en) | Method for managing data transfer between computing devices | |
CN101395838B (zh) | 数据同步方法、系统和装置 | |
CN1729468B (zh) | 数据同步 | |
CN100586112C (zh) | 即时通讯中建立联系人列表、管理联系人信息的方法 | |
CN100589400C (zh) | 用于管理树状数据交换的方法和设备 | |
CN1527227B (zh) | 用于过程控制系统的分布式数据访问方法和设备 | |
CN101009516B (zh) | 一种进行数据同步的方法、系统及装置 | |
EP2317785B1 (en) | Address list system and implementation method thereof | |
US20060200583A1 (en) | System and method for synchronisation of data between service portals and access platforms for services using such a synchronization system | |
CN100531261C (zh) | 用于专用无线网络中短信服务的方法 | |
CN101500208A (zh) | 设备间数据同步的方法和系统 | |
CN101964739B (zh) | 数据传送方法、装置及系统 | |
KR100728076B1 (ko) | 인터럽트된 동기화 프로세스의 처리를 제공하는 데이터를동기화하는 방법, 장치 및 시스템 | |
CN103455599A (zh) | 用于数据同步的方法、设备和系统 | |
CN105007310A (zh) | 信息同步方法、装置和系统 | |
CN101730085A (zh) | 通信录数据同步方法和系统 | |
JP2000020370A (ja) | データ同期処理装置 | |
KR101258990B1 (ko) | 장치관리 클라이언트로부터 객체 회수방법 및 이와 관련된 장치관리 시스템 | |
CN2929830Y (zh) | 一种搜索引擎服务器和搜索系统 | |
CN102497631A (zh) | 查号的方法及装置 | |
CN101437221A (zh) | 基于OMA SyncML协议的移动号簿数据处理方法 | |
KR100752930B1 (ko) | 종합 물류정보망에서 위치 추적을 위한 무선 통신시스템및 그 위치 추적방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160118 Address after: Espoo, Finland Patentee after: NOKIA TECHNOLOGIES OY Address before: Espoo, Finland Patentee before: NOKIA Corp. |
|
CX01 | Expiry of patent term |
Granted publication date: 20100908 |
|
CX01 | Expiry of patent term |