用于无线环境中的数据集同步的方法和设备的制作方法

文档序号:7938519阅读:106来源:国知局
专利名称:用于无线环境中的数据集同步的方法和设备的制作方法
技术领域
所揭示的方面涉及无线通信装置,且更特定来说涉及用于以无线方式同步存储于无线通信装置上的数据集和存储于网络位点处的对应数据集的系统、方法和设备。
背景技术
同步是在两个或两个以上装置之间同步单个文件(又称为数据集)的过程。所述过程是通过在装置之间自动来回复制改变,直到数据集在装置之间大体上均等为止来实施的。 文件或数据集的同步在无线环境中变得较常见。举例来说,用户的存储在无线装置上的联系列表可与其它无线装置或与联网的数据库同步。在移动到触发数据交换的在线模式之前以离线模式使用应用程序的实例中,数据集的同步尤其有利。示范性应用程序包含电子邮件(email),其中用户在离线模式期间输入电子邮件,且随后一旦装置返回到在线模式,电子邮件便被发送到网络数据库。同步过程还实施于社区类型的环境中,其中多个用户通过共享的网络数据库进行交互。举例来说,在无线环境中,允许用户参与实时视频游戏的游戏社区还提供了在中央网络数据库处存储和共享游戏信息。此些社区活动还倾向于在离线模式中使用,其中用户可对用户的本地存储的数据库做出改变,且当用户移动到在线模式时所述改变被与网络数据库同步。 在一种方法中,可通过将例如个人数据助理(PDA)等的无线装置对接到具有到达个人计算机的串行连接的对接装置来本地进行同步。此类型的同步要求无线装置和计算机彼此紧密靠近。然而,功能较为强大的无线装置的出现已使得可经由无线网络远程同步数据集。 数据的远程同步已经由同步标记语言(SyncML)实现,其提供用于无线网络的公用数据同步协议。SyncML依赖于可扩展标记语言(XML)作为在无线同步("sync")会话期间发生的所有SyncML通信的下伏载体协议。由此,在任意一个同步会话期间在无线装置与网络服务器之间发送多个消息。另外,每一消息的数据结构较大,导致交换消息的高带宽要求。因此,SyncML是相对复杂的同步过程,其必须交换多个消息、需要大量网络带宽,且要求相对长的时间量来完成。与蜂窝式网络的限制(例如,可能的信号损失、带宽限制等)相联系的SyncML过程的复杂性造成同步过程较不可靠。举例来说,连接失败或在同步过程期间丢失连接常常导致需要执行完全同步过程。在完全同步过程期间,将整个数据集而不是仅将发生的改变传送到无线装置或网络。
7
因此,存在开发用于无线开发(wireless development)的同步过程的需要,其与 当前无线解决方案相比较不复杂、更有效率且更稳健。

发明内容
在此方面,可通过本发明方面实现简单性,与当前无线同步过程相比,本发明方面 使用较少的网络资源且要求较少的历史数据。使用较少网络资源可导致更有效率的同步过 程,因为完成同步循环的时间可减少。另外,所描述的同步过程允许无线网络故障发生而不 一定需要服务器与无线装置之间的数据集的完全同步。 特定来说,本发明方面提供了用于以无线方式同步存储于无线装置上和网络装置 (例如网络服务器或数据库)处的数据集的方法、装置、系统和计算机程序产品。本发明方 面提供了简化且有效率的同步过程,借此可在无线装置与网络装置之间的无线通信的单个 往返行程中完成同步。单个往返行程通信提供了网络资源的较少使用、较短的总体同步循 环时间,且减少了造成同步过程失败的例如呼叫丢失等的无线网络故障的可能性。另外,通 过创建允许网络数据集与无线装置数据集无关(即,网络服务器可能不要求完全的改变历 史且网络服务器可能不需要知道无线装置数据集版本)的同步过程,进一步实现了简化和 效率。本发明的方面还提供稳健的同步过程,使得通信失败允许重新应用所述同步过程,而
不必实施数据集的完全同步。在此方面,本发明适合于同步在无线社区类型环境(例如无 线游戏社区等)中或在提供离线模式使用的应用程序(例如电子邮件、游戏等)中使用的 数据集。 在一个方面中,定义一种用于无线装置上的数据集的同步的方法。所述方法包含 产生包含当前无线装置数据集版本的针对数据集的同步请求消息;以无线方式将所述同步 请求消息传送到网络装置;以及响应于所述同步请求消息的所述传送,以无线方式接收包 含网络装置数据集版本号的同步确认消息。所述同步请求消息和所述同步确认消息可操作 以提供基于所述无线装置与所述网络装置之间的通信的单个往返行程的同步。在某些方面 中,所述方法可包含如果所述确认消息中的所述网络数据集版本号不同于所述当前无线装 置版本号,那么将所述当前无线装置版本号改变为所述网络数据集版本号。另外,所述同步 确认消息可包含同步状态指示符和/或包含所述网络装置数据集中的一个或一个以上经 改变数据项目的网络装置改变列表,且因此所述方法可包含根据所述网络装置改变列表来 改变所述无线装置数据集。 在方法的某些方面中,产生同步请求消息可进一步包含检验用于所述无线装置 数据集中的每一数据项目的改变指示符的状态;基于用于所述数据项目中的一者或一者以 上的改变指示符指示改变而编译包含一个或一个以上经改变数据项目的无线装置改变列 表;以及在所述同步请求消息中包含所述无线装置改变列表。 在某些方面中,经由例如JavaScript对象符号(JS0N)协议等的轻型数据交换载 体协议传送所述同步请求消息和所述同步确认消息。 在某些方面中,如果同步状态指示符指示同步失败,那么所述方法可进一步包含 基于所述同步失败指示符起始所述无线装置与所述网络装置之间的完全同步。在其它方面 中,如果无线装置未能在预定时间周期之后接收到同步确认消息,那么可通过产生且传送 同步请求消息来起始新的同步会话。
8
又一相关方面由至少一个处理器提供。所述处理器经配置以包含第一模块,其用 于产生包含当前无线装置数据集版本号的针对数据集的同步请求消息;第二模块,其用于 以无线方式将所述同步请求消息传送到网络装置;以及第三模块,其用于响应于所述同步 请求消息的所述传送,以无线方式接收包含网络装置数据集版本号的同步确认消息。所述 同步请求消息和所述同步确认消息可操作以提供基于所述无线装置与所述网络装置之间 的通信的单个往返行程的同步。 另一相关方面由一种包含计算机可读媒体的计算机程序产品定义。所述媒体包
含用于致使计算机产生包含当前无线装置数据集版本号的针对数据集的同步请求消息的
至少一个指令;用于致使所述计算机以无线方式将所述同步请求消息传送到网络装置的至 少一个指令;以及用于致使所述计算机响应于所述同步请求消息的所述传送,以无线方式
接收包含网络装置数据集版本号的同步确认消息的至少一个指令。所述同步请求消息和所 述同步确认消息可操作以提供基于所述无线装置与所述网络装置之间的通信的单个往返 行程的同步。
又一相关方面由一种设备定义。所述设备包含用于产生包含当前无线装置数据
集版本号的针对数据集的同步请求消息的装置;用于以无线方式将所述同步请求消息传送
到网络装置的装置;以及用于响应于所述同步请求消息的所述传送,以无线方式接收包含
网络装置数据集版本号的同步确认消息的装置。所述同步请求消息和所述同步确认消息可
操作以提供基于所述无线装置与所述网络装置之间的通信的单个往返行程的同步。
又一方面由一种无线通信装置提供。所述装置包含计算机平台,其包含一存储器
和至少一个处理器;数据集,其存储在所述存储器中且包含多个数据项目;以及同步模块,
其存储在所述存储器中且可由所述至少一个处理器执行。所述同步模块可操作以产生包含
当前无线装置数据集版本号的针对所述数据集的同步请求消息,将所述同步请求消息传送
到网络装置,且响应于所述同步请求消息的所述传送而接收包含网络装置数据集版本号的
同步确认消息。所述同步请求消息和所述同步确认消息可操作以提供基于所述无线装置与
所述网络装置之间的通信的单个往返行程的同步。所述同步模块可进一步可操作以如果所
述确认消息中的所述网络装置数据集版本号不同于所述当前无线装置版本号,那么将所述
当前无线装置版本号改变为所述网络数据集版本号。所述同步模块可进一步可操作以接收
同步确认消息,所述同步确认消息包含同步状态指示符和/或包含所述网络装置数据集中
的一个或一个以上经改变数据项目的网络装置改变列表,且所述设备可操作以根据所述网
络装置改变列表来改变所述无线装置数据集。 在替代方面中,所述同步模块进一步可操作以检验用于所述无线装置数据集中的 每一数据项目的改变指示符的状态,基于状态改变指示符而编译包含一个或一个以上经改 变数据项目的无线装置改变列表,以及在所述同步请求消息中包含所述无线装置改变列 表。 在所述无线装置的某些方面中,经由例如JavaScript对象符号(JS0N)协议等的 轻型数据交换载体协议传送所述同步请求消息和所述同步确认消息。 在所述无线装置的某些方面中,所述同步模块进一步可操作以接收包含同步失败 指示符的同步确认消息,且进一步可操作以起始无线装置与网络装置之间的完全同步。
又一方面由一种用于网络装置上的数据集的同步的方法提供。所述方法包含在网络装置处以无线方式接收包含无线装置数据集版本号的同步请求消息;将所述无线装置 数据集版本号与当前网络装置数据集版本号进行比较;如果所述比较指示所述无线装置数 据集版本号不同于所述网络装置数据集版本号,那么编译包含一个或一个以上经改变数据 项目的网络装置数据集改变列表;产生包含所述当前网络装置数据集版本号和任何经编译 网络装置数据集改变列表的同步确认消息;以及以无线方式传送所述同步确认消息。所述 同步请求消息和所述同步确认消息可操作以提供基于无线装置与所述网络装置之间的通 信的单个往返行程的同步。 在所述方法的某些方面中,接收同步请求消息可进一步包含接收包含无线装置数 据集改变列表的同步请求消息,所述无线装置数据集改变列表包含一个或一个以上经改变 数据项目,以及在所述网络装置数据集中改变所述无线装置数据集改变列表中包含的所述 经改变数据项目。在所述方法的某些方面中,对所述网络装置数据集做出改变可包含为在 所述无线装置数据集上已删除的数据项目提供删除指示符而不从所述网络装置数据集删 除所述数据项目。 所述方法的某些方面可进一步包含基于所述数据项目中的改变而更新数据项目 版本号,以及更新所述网络装置数据集版本号以反映最高定序的经改变数据项目的版本 号。在此些方面中,产生同步确认消息可包含产生包含所述经更新网络装置数据集版本号 和任何经编译网络装置数据集改变列表的同步确认消息。 在所述方法的某些方面中,经由例如JavaScript对象符号(JS0N)协议等的轻型 数据交换载体协议传送所述同步请求消息和所述同步确认消息。 又一方面由至少一种处理器提供。所述处理器包含第一模块,其用于在网络装置
处以无线方式接收包含无线装置数据集版本号的同步请求消息;第二模块,其用于将所述
无线装置数据集版本号与当前网络装置数据集版本号进行比较;第三模块,其用于如果所
述比较指示所述无线装置数据集版本号不同于所述网络装置数据集版本号,那么编译包含
一个或一个以上经改变数据项目的网络装置数据集改变列表;第四模块,其用于产生包含
所述当前网络装置数据集版本号和任何经编译网络装置数据集改变列表的同步确认消息;
以及第五模块,其用于以无线方式传送所述同步确认消息。所述同步请求消息和所述同步
确认消息可操作以提供基于无线装置与所述网络装置之间的通信的单个往返行程的同步。 另一相关方面由一种包含计算机可读媒体的计算机程序产品定义。所述媒体包
含用于致使计算机在网络装置处以无线方式接收包含无线装置数据集版本号的同步请求
消息的至少一个指令;用于致使所述计算机将所述无线装置数据集版本号与当前网络装置
数据集版本号进行比较的至少一个指令;以及用于致使所述计算机如果所述比较指示所述
无线装置数据集版本号不同于所述网络装置数据集版本号,那么编译包含一个或一个以上
经改变数据项目的网络装置数据集改变列表的至少一个指令。所述媒体还包含用于致使
所述计算机产生包含所述当前网络装置数据集版本号和任何经编译网络装置数据集改变
列表的同步确认消息的至少一个指令;以及用于致使所述计算机以无线方式传送所述同步
确认消息的至少一个指令。所述同步请求消息和所述同步确认消息可操作以提供基于无线
装置与所述网络装置之间的通信的单个往返行程的同步。 又一方面由一种设备提供。所述设备包含用于在网络装置处以无线方式接收包 含无线装置数据集版本号的同步请求消息的装置;用于将所述无线装置数据集版本号与当
10前网络装置数据集版本号进行比较的装置;以及用于如果所述比较指示所述无线装置数据
集版本号不同于所述网络装置数据集版本号,那么编译包含一个或一个以上经改变数据项
目的网络装置数据集改变列表的装置。所述设备另外包含用于产生包含所述当前网络装
置数据集版本号和任何经编译网络装置数据集改变列表的同步确认消息的装置;以及用于
以无线方式传送所述同步确认消息的装置。所述同步请求消息和所述同步确认消息可操作
以提供基于无线装置与所述网络装置之间的通信的单个往返行程的同步。
—方面还由一种网络装置提供。所述网络装置包含计算机平台,其包含一存储器
和至少一个处理器;数据集,其存储在所述存储器中且包含多个数据项目;以及同步模块,
其存储在所述存储器中且可由所述至少一个处理器执行。所述同步模块可操作以接收包
含无线装置数据集版本号的同步请求消息,将所述无线装置数据集版本号与当前网络装置
数据集版本号进行比较,如果所述比较指示所述无线装置数据集版本号不同于所述网络装
置数据集版本号,那么编译包含一个或一个以上经改变数据项目的网络装置数据集改变列
表,产生包含所述当前网络装置数据集版本号和任何经编译网络装置数据集改变列表的同
步确认消息,以及以无线方式传送所述同步确认消息。所述同步请求消息和所述同步确认
消息可操作以提供基于无线装置与所述网络装置之间的通信的单个往返行程的同步。 因此,本发明方面中的一者或一者以上提供了以无线方式同步存储于无线装置上
和网络装置(例如网络服务器或数据库)处的数据集。如所描述,本发明方面提供了简化
且有效率的同步过程,借此可在无线装置与网络装置之间的无线通信的单个往返行程中完
成同步。单个往返行程通信提供了网络资源的较少使用、较短的总体同步循环时间,且减少
了造成同步过程失败的例如呼叫丢失等的无线网络故障的可能性。另外,通过创建允许网
络数据集与无线装置数据集无关(即,网络服务器不要求完全的改变历史且网络服务器不需
要知道无线装置数据集版本)的同步过程来进一步实现简化和效率。本发明的方面还提供稳
健的同步过程,使得通信失败允许重新应用所述同步过程,而不必实施数据集的完全同步。


图1是根据一方面的用于存储于一个或一个以上无线装置上的数据集与存储于
网络装置处的对应数据集的无线同步的系统的方框图; 图2是根据一方面的用于同步的无线装置数据集的方框图; 图3是根据一方面的用于同步的网络装置数据集的方框图; 图4是根据一方面的经配置以用于数据集同步的无线通信装置的方框图; 图5是根据一方面的经配置以用于数据集同步的网络装置的方框图; 图6是根据一方面的无线通信网络的方框图; 图7是根据一方面的数据集同步的实例; 图8是根据另一方面的数据集同步的另一实例; 图9是根据一方面的用于无线通信装置上的数据集同步的方法的流程图;以及
图10是根据一方面的用于网络装置上的数据集同步的方法的流程图。
具体实施例方式
下文现在将参看附图更完全地描述本发明的装置、设备、方法、计算机可读媒体和
11处理器,附图中展示本发明的方面。然而,所述装置、设备、方法、计算机可读媒体和处理器 可以许多不同形式实施,且不应解释为限于本文陈述的方面,而是,提供这些方面以使得本 发明将为详尽且完整的,且将本发明的范围完全传达给所属领域的技术人员。相同标号始 终表示相同元件。 如本文使用,词语"示范性"意味着"用作实例、例子或说明"。本文描述为"示范 性"的任何方面均不一定解释为比其它方面优选或有利。 本文描述的一个或一个以上方面是结合无线通信装置。无线通信装置也可称为订 户台、订户单元、移动台、移动装置、远程台、接入点、远程终端、接入终端、用户终端、用户代 理、用户装置或用户设备。订户台可为蜂窝式电话、无绳电话、会话起始协议(SIP)电话、无 线本地回路(WLL)台、个人数字助理(PDA)、具有无线连接能力的手持式装置,或连接到无 线调制解调器的其它处理装置。 本发明方面中的一者或一者以上提供用于以无线方式同步存储于无线装置上和 网络装置(例如网络服务器或数据库)处的数据集的方法、系统、设备和计算机程序产品。 本发明方面中的一者或一者以上提供了简化且有效率的同步过程,借此可在无线装置与网 络装置之间的无线通信的单个往返行程中完成同步。另外,通过创建允许网络数据集与无 线装置数据集无关(即,网络服务器可能不要求完全的改变历史且网络服务器可能不需要 知道或跟踪每一无线装置的无线装置数据集版本)的同步过程来进一步实现简化和效率。 本发明的方面还提供稳健的同步过程,使得通信失败允许重新应用所述同步过程,而不必 实施数据集的完全同步。在此方面,本发明方面中的一者或一者以上适合于同步在无线社 区类型环境(例如无线游戏社区等)中或在提供离线模式使用的应用程序(例如电子邮 件、游戏等)中使用的数据集。 参看图l,根据本发明方面提供用于无线数据集同步的系统的方框图描绘。系统 IO包含一个或一个以上无线装置12和一网络装置14,例如具有对应数据库的网络服务器, 无线装置12和网络装置14经由无线网络16无线通信。无线装置12中的一者或一者以上 和网络装置14将存储需要同步的数据集18和48。在一些方面中,例如在无线社区类型环 境中,网络装置14可起初将网络装置数据集48分布到一个或一个以上无线装置12,所述无 线装置12存储所接收的数据集作为无线装置数据集18。随着时间过去,网络服务器14和 一个或一个以上无线装置12中的任一者或两者可更新其相应的数据集48和18。由此,系 统10提供允许一个或一个以上无线装置12和网络装置14经由无线通信同步其相应数据 集18和48的设备和方法。 无线装置12包含计算机平台20,其具有处理器22和存储器24。无线装置12的 存储器24包含同步模块26,其可操作以同步数据集18和48。同步模块26可依赖于轻型 数据交换协议作为载体协议,以便将同步过程限于无线装置12与网络装置14之间的无线 通信的单个往返行程。轻型数据交换协议可在特征上基于两个结构、一名称/配对值集合 以及一有序值列表而建置。名称/值对可包含对象、记录、结构、字典、散列表、有键列表、关 联数组等。有序值列表可包含数组、向量、列表、序列或列表。轻型数据交换协议的一个实 例是JavaScript 对象符号(JS0N)。在JS0N中,对象是无序的一组名称/值对,数组是有 序的值集合,且值可为字符串、数字、真/假/空指示符、对象或数组。不同于其它数据交换 协议,JSON支持数组,且由此需要较简单的语法和较少的标记。JSON的规则且简单的语法
12结构与内建的数值和数组支持相结合提供了在更简单的分析、更接近的数据结构表示以及 更小大小的消息方面优于其它数据交换协议的更好优点。 同步模块26可操作以产生同步请求消息30,其传输到网络装置14且操作以请求 与网络装置14的数据集同步。同步请求消息30形成单个往返行程同步过程的第一分支。 在一些方面中,同步模块26可进一步编译无线装置改变列表28,其指示从先前同步过程以 来对数据集18做出的改变。改变可包含对数据集18的添加、插入和/或删除。同步模块 26还可操作以用于例如在同步请求消息30中将无线装置改变列表28传送到网络装置14。 同步模块26还可操作以接收同步确认消息32,其形成单个往返行程同步过程的第二分支。 同步确认消息32用以检验同步过程的完成。此外,同步确认消息32可包含网络装置改变 列表34,其指示自从先前同步过程以来对对应网络数据集48做出的改变。因此,系统10有 利地提供经由同步请求消息30和同步确认消息32在单个往返行程中无线装置数据集18 与网络装置数据集48之间的同步。 无线装置数据集18将在特征上具有版本号19,其指示对应于来自与网络数据库 的上次同步的网络数据库版本的数据集版本。此外,每一无线装置数据集18将包含一个或 多个数据项目36。数据项目36可包含一个或一个以上数据字段38。应注意,虽然说明的 数据项目36包含不同数目的数据字段,但任何数据项目36可能包含任何数目的数据字段 38。根据一些方面,对数据集做出的改变反映在数据项目36方面而非数据字段38方面,例 如,如果相应数据项目的任何字段改变,那么将相应数据项目视为被改变。因此,为了提供 具有幂等性质的同步过程(其意味着对无线装置数据集的改变导致对网络数据集和/或另 一无线装置数据集的相同改变),无线装置改变列表28包含关于数据项目的改变。因此,无 线装置改变列表28包含所有正被添加或删除,或已被添加、删除或改变对应数据字段的任 何数据项目。 网络装置14包含计算机平台40,其具有处理器42和存储器44。网络装置14的 存储器44包含同步模块46,其可操作以同步网络装置数据集48和一个或一个以上无线装 置数据集18。类似于无线装置12上的同步模块26,同步模块46可利用相同的轻型数据交 换协议作为载体协议,以便减小带宽且允许同步过程在无线装置12与网络装置14之间的 无线通信的单个往返行程中发生。 同步模块46可操作以接收同步请求消息30且在请求消息30中实施任何无线装 置改变列表28。同步模块46还可操作以编译网络改变列表34,其指示自从相应无线装置 12采取的先前同步过程以来对网络数据集48做出的改变。换句话说,网络装置改变列表 34包括基于所接收无线装置数据集版本19与网络数据集版本50之间的差异的网络数据集 48中的"增量"或净改变。同步模块46另外可操作以用于在同步确认消息32中将网络装 置改变列表34传送到请求的无线装置12。 根据本发明方面,网络数据集48将在如何指示改变方面不同于对应的无线装置 数据集18。网络数据集48将在特征上具有版本号50,其指示网络数据集版本。每一数据 集48将包含一个或多个数据项目52。类似于形成无线装置数据集18的数据项目36,每一 数据项目52可包含一个或一个以上数据字段54。根据本发明方面,对网络数据集48做出 的改变反映在数据项目32方面,其指示对一个或一个以上数据字段54的改变。
网络数据集48中的每一数据项目50将具有对应的版本号56,其指示当前数据项
13目版本。在一个方面中,数据项目版本号56在所有数据项目上是唯一的,且是基于对相应 数据项目做出的改变而更新。举例来说,在某些方面中,网络数据集版本号50反映最高编 号的数据项目版本号56。由此,在一个方面中,当网络装置14接收到指示当前无线装置数 据集版本号19的同步请求消息30时,且在执行任何无线装置改变列表28之后,同步模块 46将网络装置数据集版本号50与无线装置版本号19进行比较,且编译网络装置改变列表 34,所述网络装置改变列表34包含具有大于无线装置版本号19(即,当前无线装置数据集 版本号19与当前网络装置数据集版本号50之间的增量)的版本号56的数据项目52。在 一个方面中,为了在执行无线装置改变列表28之后仅向相应无线装置12提供净改变,进而 进一步减小消息的大小,网络装置改变列表34中将不包含任何具有在基于无线装置改变 列表28的增量内的版本56的数据项目52。在此情况下,相应无线装置12已在无线装置的 无线装置数据集18中具有相应数据项目的最新值。下文将论述对数据项目版本号56以及 其如何用以编译网络装置改变列表34的进一步解释。 图2是根据本发明方面的无线装置数据集18的方框图表示。数据集18包含指示 数据集id/名称的数据集识别符70和指示当前数据集版本号的数据集版本号19。数据集 版本号19可在同步过程的成功完成后更新。数据集18还包含一个或多个数据项目36,其 各自具有一个或一个以上数据字段38。如先前所述,对数据集的改变可反映在数据项目36 方面而非反映在数据字段38方面。因此,为了确保同步过程的幂等性质(其意味着对无线 装置数据集的改变导致对网络数据集和/或另一无线装置数据集的相同改变),无线装置 改变列表包含呈数据项目形式的改变。数据集18还包含用于每一数据项目的改变指示符 72,其指示自从先前同步过程以来数据项目中是否已发生改变。在一个方面中,改变指示符 字段72可包括用以指示对数据项目的改变的修改位(dirty bit)。修改位提供了基于更改 或改变对数据项目进行标记或加旗标。 举例来说,在一个方面中,如果相关联数据项目自从先前同步过程以来未经历任 何改变,那么改变指示符72可具有"0"值。此外,如果相关联数据项目已经更新(例如,对 数据项目的插入、删除或改变)或如果相应数据项目是新添加的数据项目,那么改变指示 符72可具有"l"值。另外,如果相应数据项目已经删除,那么改变指示符72可具有"2"值。 改变指示符是在编译无线装置改变列表28(如图1所示)时使用。如果改变指示符72指 示改变,例如,如果指示符被设定为"1"或"2",那么无线装置改变列表28中将包含对应的 数据项目。 一旦同步过程成功完成,那么将所有改变指示符复位以指示没有进行任何改变, 例如复位到"0"。 根据一个方面,可能必须经由改变指示符72在已经更新或添加的数据项目(例 如,具有设定为"l"的改变指示符的数据项目)与已经删除的数据项目(例如,具有设定为 "2"的改变指示符的数据项目)之间进行区分。这是因为网络数据集处理数据项目的删除 的方式不同于处理对数据项目的改变或添加的方式,且因此,需要经由改变列表28向网络 通知数据项目是否已经删除。 图3是根据本发明方面的网络装置数据集48的方框图表示。网络装置数据集48 包含指示数据集id/名称的网络装置数据集识别符80和指示当前数据集版本号的数据集 版本号50。网络装置数据集48还包含多个数据项目52,其各自具有一个或一个以上数据 字段54。每一数据项目具有对应的数据项目版本号56。
反映指派给数据项目52的最高版本号56的数据集版本号50可在实施无线装置 改变列表28(图1所示)时(其修正已经改变的数据项目的版本号56)更新。举例来说, 如果无线装置改变列表28包含对三个数据项目的改变,且当前网络装置数据集版本号50 为"16",那么对改变的实施将导致三个数据项目52将分别被指派"17"、" 18"和"19"的数 据项目版本号56,且网络数据集版本号将被更新为"19"(即,指派给网络装置数据集48内 的数据项目52的最高版本号56)。 网络装置数据集48还可包含删除指示符82,其在一个实例中称为墓碑 (tombstone)。墓碑指示符82将经设定以指示相关联数据项目52已经从数据集删除。然 而,经删除数据项目52将通常被维持在数据集48中至少历时预定时间周期,以用于提供在 网络装置处重新创建数据集的先前版本(如果应用程序规定此情况)的手段。另外,通过 提供指示数据项目52已经删除的墓碑82,对更新或以另外方式改变带墓碑的数据项目52 的后续尝试被忽略。 参看图4,根据一个方面,描绘无线装置12的详细方框图表示。无线装置12可包 含任何类型的计算机化通信装置,例如蜂窝式电话、个人数字助理(PDA)、双向文本寻呼机、 便携式计算机,以及甚至单独的计算机平台,其具有无线通信入口且还可能具有到达网络 或因特网的有线连接。无线通信装置可为远程从属装置,或不具有其最终用户而是仅在无 线网络上传送数据的其它装置,例如远程传感器、诊断工具、数据中继器等。用于数据集同 步的本发明设备和方法可因此对任何形式的包含无线通信入口的无线通信装置或无线计 算机模块执行,包含但不限于无线调制解调器、PCMCIA卡、接入终端、桌上型计算机或其任 何组合或子组合。 无线装置12包含计算机平台20,其可在无线网络上传输数据,且可接收并执行例 行程序和应用程序。计算机平台20包含存储器24,存储器24可包括易失性和非易失性存 储器,例如只读和/或随机存取存储器(RAM和ROM) 、 EPR0M、 EEPR0M、快闪卡或计算机平台 中常见的任何存储器。此外,存储器24可包含一个或一个以上快闪存储器单元,或可为任 何次级或三级存储装置,例如磁性媒体、光学媒体、磁带或者软磁盘或硬磁盘。
此外,计算机平台20还包含处理器22,其可为专用集成电路("ASIC")或其它芯 片集、处理器、逻辑电路或其它数据处理装置。处理器22或例如ASIC等的其它处理器可执 行应用程序编程接口 ( "API")层100,其与任何驻存的程序介接,例如存储于无线装置12 的存储器24中的同步模块26。 API 100通常是在相应无线装置上执行的运行时间环境。一 种此类运行时间环境是由加利福尼亚圣地亚哥的高通公司(QUALCO匪Incorporated)开发 的无线二进制运行时间环境(Binary Runtime Environment for Wireless , BREW②)软 件。可利用其它运行时间环境,其例如操作以控制无线计算装置上的应用程序的执行。
处理器22包含以硬件、固件、软件及其组合实施的各种处理子系统102,其允许实 现通信装置12的功能性和通信装置在无线网络上的可操作性。举例来说,处理子系统100 允许起始和维持与其它联网装置的通信且与其交换数据。在将通信装置定义为蜂窝式电话 的方面中,通信处理器22可另外包含一个处理子系统100或处理子系统100的组合,例如 声音、非易失性存储器、文件系统、传输、接收、搜索程序、层1、层2、层3、主控制、远程程序、 手持机、电源管理、数字信号处理器、消息接发、呼叫管理器、Bluetooth②系统、Bluetooth⑧ LPOS、位置引擎、用户接口、休眠、数据服务、安全性、鉴定、USIM/SIM、语音服务、图形、USB、
15例如MPEG等的多媒体、GPRS等(为了清楚,其全都没有在图2中个别描绘)。对于所揭示 方面,处理器22的处理子系统100可包含与同步模块26交互的任何子系统组件。
计算机平台20另外包含以硬件、固件、软件及其组合实施的通信模块108,其允许 实现无线通信装置12的各种组件之间以及通信装置12与无线网络16之间的通信。在所 描述的方面中,通信模块108允许实现无线通信装置12与网络装置14之间的所有同步讯 务(correspondence)的通信。通信模块108可包含必备的硬件、固件、软件和/或其组合 以用于建立无线网络通信连接。 另外,无线通信装置12具有用于产生对通信装置的输入的输入机制118,和用于 产生供通信装置的用户使用的信息的输出机制120。举例来说,输入机制102可包含例如 按键或键盘、鼠标、触摸屏幕显示器、麦克风等的机制。在某些方面中,输入机制118提供了 以用户输入来起始同步过程。此外,例如,输出机制120可包含显示器、音频扬声器、触觉反 馈机制等。在所说明的方面中,输出机制104可包含显示器,其可操作以显示指示同步被起 始、在进程中、成功完成和/或失败等的消息。 计算机平台20的存储器24包含同步模块26,其可操作以同步数据集18。同步模 块26可由预定用户动作、预定装置动作和/或在预定时间起始。用户动作可包含接合预定 用户接口,例如无线装置上的指定的小键盘或按钮。预定装置动作可包含无线网络信号的 激发,以使得只要将装置触发到在线模式便发生同步,以适应在离线模式期间对数据集做 出的改变。 同步模块26可依赖于轻型数据交换协议作为载体协议,以便将同步过程限于无 线装置12与网络装置14之间的无线通信的单个往返行程。轻型数据交换协议可在特征上 建置于两个结构、一名称/配对值集合以及一有序值列表上。名称/值对可包含对象、记录、 结构、字典、散列表、有键列表、关联数组等。有序值列表可包含数组、向量、列表、序列或列 表。轻型数据交换协议的一个实例是JavaScript 对象符号(JSON)。在JSON中,对象是
无序的一组名称/值对,数组是有序的值集合,且值可为字符串、数字、真/假/空指示符、 对象或数组。 同步模块26包含同步请求消息产生器104,其可操作以产生和传送同步请求消息 30。同步请求消息包含当前数据集版本号19,且如果自从先前同步会话以来已对数据集18 发生任何改变,那么还包含无线装置改变列表28。由此,同步请求消息产生器104包含改 变列表编译器106,其可操作以编译数据集18中的自从先前同步会话以来已经改变的数据 项目36的改变列表28。在此方面,编译器106检查例如修改位等的改变指示符72以检验 是否已发生改变。如果改变指示符72指示改变,那么将数据项目添加到改变列表28。如 先前所述,在某些方面中,同步过程涉及数据项目36,而非数据项目的子集(称为数据字段 38(如图1所示))。因此,改变的整个数据项目36包含在改变列表28中。然而应注意, 在某些方面中,可能仅将相应数据字段38和对对应数据项目36的参考包含于改变列表28 中。 如先前所述,改变指示符72可指示添加的数据项目、对数据项目的插入、对数据 项目的删除、对数据项目的改变或删除的数据项目。为了确保在网络装置14处适当地并入 改变,改变指示符72可在添加或改变的数据项目与删除的数据项目之间进行区分。举例来 说,添加或改变的数据项目可被指派"l"的位值,且删除的数据项目可被指派"2"的值。
16
—旦同步请求消息产生器104已产生同步请求消息30,无线装置12便实施通信模 块108以便利同步请求消息30的无线通信。根据本发明方面,同步请求消息的通信形成了 完成同步过程所需的通信的单个往返行程的第一分支。 同步模块26另外包含同步确认消息实施器110,其可操作以用于从网络装置14接 收同步确认消息32且相应地处理消息。同步确认消息32形成了完成同步过程所需的通信 的单个往返行程的第二分支。在某些方面中,同步确认消息32可包含指示在网络装置级处 同步是否成功的同步状态指示符,以及网络装置数据集版本号50(图1所示)。在其它方面 中,同步确认消息32就其本身来说包括成功同步会话的指示符。 在一些应用中,同步确认消息32可包含网络装置改变列表34,其对应于对应网 络装置数据集48(图1所示)中的已经改变且需要并入无线装置数据集18中的数据项目 52(图1所示)。由此,同步确认消息实施器110包含数据集更新器112,其可操作以用于根 据所接收的网络装置改变列表34对数据集19中的数据项目36做出改变。另外,数据集更 新器112包含版本更新器116,其可操作以用于更新无线装置数据集18的版本号19以反映 如同步确认消息32中指示的当前网络装置版本号50。数据集更新器112包含改变指示符 复位器116,其可操作以在通知同步过程的成功完成时复位所有改变指示符72以指示"无 改变"状态。 参看图5,根据另一方面,说明可操作以用于同步数据集的网络装置14的方框图。 网络装置14可包括任何类型的硬件、服务器、个人计算机、微型计算机、主计算机或任何专 用或通用计算装置的任何计算装置中的至少一者。此外,本文描述为在网络装置14上操 作或由网络装置14执行的模块和应用程序可完全在网络装置14上执行,或者在其它方面 中,单独的服务器、数据库或计算机装置可协同工作以向各方提供呈可用格式的数据,和/ 或在无线装置12与由网络装置14执行的模块和应用程序之间的数据流中提供单独的控制 层。 网络装置14包含计算机平台40,其可在无线网络16(图1所示)上传输和接收 数据,且可执行例行程序和应用程序。计算机平台40包含存储器42,其可包括易失性和非 易失性存储器,例如只读和/或随机存取存储器(RAM和ROM) 、 EPROM、 EEPROM、快闪存储卡 或计算机平台中常见的任何存储器。此外,存储器42可包含一个或一个以上快闪存储器单 元,或可为任何次级或三级存储装置,例如磁性媒体、光学媒体、磁带或者软磁盘或硬磁盘。
此外,计算机平台40还包含处理器44,其可为专用集成电路("ASIC")或其它芯 片集、逻辑电路或其它数据处理装置。处理器44包含以硬件、固件、软件及其组合实施的 各种处理子系统130,其允许实现网络装置14的功能性和网络装置在无线网络上的可操作 性。举例来说,处理子系统130允许起始和维持与其它联网装置的通信且与其交换数据。对 于所揭示的方面,处理器44的处理子系统130可包含与同步模块46交互的任何子系统组 件。 计算机平台40进一步包含以硬件、固件、软件及其组合实施的通信模块132,其允 许实现网络装置14的各种组件之间以及网络装置14与无线通信装置12之间的通信。通 信模块132可包含必备的硬件、固件、软件和/或其组合以用于建立无线通信连接。通信模 块132可操作以接收在无线网络16上传送的同步请求消息30,且在无线网络16上传送同 步确认消息32。
网络装置14的存储器42包含同步模块46,其可操作以接收和处理同步请求消息 30,且响应于请求消息30而产生和传送同步确认消息32。由此,同步模块46包含同步请 求消息实施器134,其可操作以接收请求消息30且相应地处理消息。如果无线装置数据集 18 (图1和4所示)自从先前同步会话以来已经历数据项目36 (图1和4所示)改变,那么 同步请求消息30将包含无线装置改变列表28,其包含已改变的数据项目。
同步请求消息实施器134另外包含数据集更新器136,其可操作以根据无线装置 改变列表28更新网络装置上的对应数据集48。由此,数据集更新器136将根据无线装置 改变列表28中的经改变数据项目来改变数据项目52,例如添加到数据项目、从数据项目删 除、改变数据项目、添加数据项目或删除数据项目。数据集更新器136包含数据项目版本更 新器138,其可操作以用于基于对数据项目的改变来更新数据项目52的版本号56。每一数 据项目52被指派版本号56且对数据项目52的任何改变均将指示新的版本号56。版本号 56是从当前网络装置数据集版本号50之后的下一号开始循序指派的。举例来说,如果当前 数据集版本号50是"20",且无线装置改变列表28包含对四个数据项目的改变,那么数据项 目52将被指派经更新的版本号56 :"21"、"22"、"23"和"24"。数据集更新器136另外包含 数据集版本更新器140,其可操作以用于基于对数据集48中的任何数据项目52的改变来更 新网络装置数据集48的版本号50。在一个实例中,数据集版本号48等同于最高数据项目 版本号56。因此,在其中四个数据项目52改变且指派"21 "、"22"、"23"和"24"的经更新 版本号56的先前提出实例中,网络装置数据集版本号50从"20"更新到"24"。
另外,数据集更新器136将包含删除指示符设定器142,其可操作以用于针对已从 数据集48删除的任何数据项目52设定删除指示符82 (另外称为墓碑)。在此方面,正被删 除的数据项目52被指派经更新的版本号56,且删除指示符82被设定。删除指示符82提 供了将删除的项目52标记为删除但以另外方式维持在数据集48内。通过在数据集48中 维持删除的数据项目52,网络装置可重新创建数据集的先前版本(如果同步会话批准此情 况)且阻止更新相应带墓碑的数据项目52的未来尝试。 同步模块46另外包含可操作以产生同步确认消息32的同步确认消息产生器144, 同步确认消息32包含同步状态指示符(例如,同步成功、同步失败等)以及网络装置数据 集48的经更新和/或当前版本号50。如果网络装置数据集48自从与请求的无线装置12 的先前同步会话以来已经历数据项目52改变,那么同步确认消息32可另外包含网络装置 改变列表34。由此,同步确认消息产生器144包含改变列表编译器146以用于编译网络装 置改变列表34。网络装置改变列表34将包含具有版本号56的数据项目52,所述版本号56 大于同步请求消息30中指示的无线装置12的版本号19且小于或等于在网络装置数据集 48的更新之前网络装置数据集48的版本号50(即,在接收到同步请求消息30后网络装置 数据集48的版本号50)。 在同步确认消息32的产生后,经由通信模块132将消息传送到请求的无线装置 12。类似于同步请求消息30,可经由例如JavaScript对象符号(JSON)协议的轻型数据交 换载体协议传送同步确认消息32。 图6表示蜂窝式网络的方框图。无线网络16可包括蜂窝式网络,且由此可经实施 以向网络装置14传送同步请求消息30和从网络装置14接收同步确认消息32。参看图6, 在一个方面中,无线装置12包含无线通信装置,例如蜂窝式电话。在本发明方面中,无线通
18信装置经配置以经由蜂窝式网络150通信。蜂窝式网络150向无线通信装置12提供了分别 向网络装置14传送同步请求消息30和从网络装置14接收同步确认消息32的能力。蜂窝 式电话网络150可包含经由运营商网络154连接到有线网络152的无线网络16。图6是更 完全地说明无线通信网络的组件以及本发明系统的一个方面的元件的相互关系的代表图。 蜂窝式电话网络150仅是示范性的,且可包含例如无线通信装置12的远程模块借以在彼此 之间和/或在无线网络16的组件(包含但不限于,无线网络运营商和/或服务器)之间无 线通信的任何系统。 在网络150中,例如网络服务器的网络装置14可经由有线网络152(例如,局域 网,LAN)与用于存储数据集48的单独网络数据库156通信。此外,数据管理服务器158可 与网络装置14通信以提供后处理能力、数据流控制等。网络装置14、网络数据库156和数 据管理服务器158可与提供蜂窝式电信服务所需的任何其它网络组件一起存在于蜂窝式 电话网络150上。网络装置14和/或数据管理服务器158经由数据链路160和162与运营 商网络154通信,所述数据链路可为例如因特网、安全LAN、WAN或其它网络的数据链路。运 营商网络154控制发送到移动交换中心("MSC")164的消息(大体上为数据包)。此外,运 营商网络154通过例如因特网和/或POTS ("普通老式电话服务")的网络162与MSC 164 通信。通常,在网络162中,网络或因特网部分传送数据,且P0TS部分传送语音信息。MSC 164可通过例如用于数据传送的数据网络和/或因特网部分和用于语音信息的P0TS部分的 另一网络168连接到多个基站("BTS")166。 BTS 166最终通过任何可接受的无线方法以 无线方式向无线通信装置12广播消息。 图7和8提供根据本发明方面的数据集同步的实例。参看图7,在同步会话之前,无 线装置数据集200处于版本"3"且对应的网络服务器数据集300处于版本"4"。无线装置 数据集200的版本"3"包含三个数据项目210,名为"profile. im"、"profile. tagline"和 "profile, avatar"。每一数据项目210具有对应的值220 :"profile. im"值是"PLAYER45", "profile. tagline,,值是"GO TME !",且"profile. avatar"值是"Abe. png"。每一数据 项目210具有对应的改变指示符字段230。改变指示符字段230指示名为"profile, im" 和"profile, avatar"的数据项目210自从先前同步会话以来没有经历任何改变,且名为 "profile, tagline"的数据项目210自从先前同步会话以来已经历改变。
网络服务器数据集300的版本"4"包含四个数据项目310,名为"profile, im"、 "profile, tagline,,、"profile. age,,禾口"profile, avatar,,。每一数据项目310具有对应的 值320-"profile. im"值是"PLAYER45"'"profile. tagline"值是"THE BEST ! "'"profile. age"值是"22",且"profile. avatar"值是"Abc. png"。每一数据项目310具有对应的版本 号340 :"profile. im,,是版本'T, "profile, tagline,,是版本"3,,, "profile, age,,是版本 "4",且"profile, avatar"是版本"2"。此外,每一数据项目310可具有对应的删除指示符 350(另外称为墓碑)以指示相应数据项目已从相应数据集删除。在数据集300中,没有数 据项目310被删除,且因此没有设定墓碑以指示删除。 接着基于同步请求消息30而发生无线装置数据集200与网络服务器数据集300 之间的同步。特定来说,无线装置12产生同步请求消息30且将同步请求消息30发送到网 络装置14。如果适用,那么无线装置12基于具有值"l"的改变指示符230而编译改变列表 28,其在此情况下包含数据项目"profile. tagline"和对应值"LET' S PLAY !"。由此,在此情况下,无线装置改变列表28和当前无线装置数据集版本19(即,版本"3")被包含在传 送到网络服务器的同步请求消息30中。又,在事件355处,网络服务器14接收同步请求消 息30,且如果适用,便实施改变列表28中的改变,更新对应的改变数据项目版本号340,且 更新网络服务器数据集版本号50。 网络服务器数据集360描绘在无线装置改变列表中的改变已被实施、数据项目版 本号已被修正且网络服务器数据集版本号已被修正之后的数据集。具体来说,已基于无线 装置改变列表28而改变名为"profile, tagline"的数据项目310以反映"G0 TME !"的 值。此外,用于名为"profile, tagline"的数据项目310的数据项目版本号340已经从版 本"3"更新到版本"5",且网络服务器数据集版本号50已经从版本"4"更新到版本"5",其 中版本"5"对应于最高定序的数据项目版本340。 另夕卜,响应于接收到同步请求消息30,网络服务器14产生同步确认消息32且将同 步确认消息32发送到请求的无线装置12。同步确认消息32包含最新的无线装置数据集 版本50,且如果适用,那么可包含网络装置改变列表34以使请求的无线装置与相应数据集 的最新版本同步。在此情况下,例如一旦已在网络服务器处实施无线装置改变,那么网络服 务器便编译网络服务器改变列表34以供包含于同步确认消息32内,且将所述确认消息传 送到无线装置。网络装置改变列表34包含具有大于所接收无线装置数据集版本号直到网 络服务器数据集的当前版本号的版本号减去由无线装置改变列表28引起的任何改变(例 如,最近网络装置数据集版本与当前无线装置数据集版本之间的增量)的所有数据项目。 因此,在图7的实例中,网络服务器改变列表34包含具有值"22"的名为"profile. age"的 数据项目310,因为对应数据项目版本号为"4",其大于无线装置版本号"3";但不包含名为 "profile, tagline"的数据项目310的值"G0 TIME !",因为此数据项目版本是基于无线装 置改变列表28。此外,在某些方面中,同步确认消息32可包含同步状态指示符。因此,在所 说明实例中,同步确认消息包含网络服务器数据集版本号"5"、网络装置改变列表34,且可 包含"同步成功"指示符。 无线装置数据集240描绘在已接收到同步确认消息32、网络装置改变列表34 已被实施且无线装置版本号19已被修正之后的数据集。具体来说,具有值"22"的名为 "profile, age"的数据项目210已添加到数据集240,且数据集版本号19已从"3"更新到 "5"。 参看图8,继续先前实例,基于使用无线装置数据集250的应用程序的操作,对应 于名为"profile, tagline"的数据项目210的值220已被清除或删除。由此,在同步会话 之前,无线装置数据集250具有值为"5"的版本19,且对应网络服务器数据集360具有值为 "5"的版本50。无线装置数据集250的版本"5"包含四个数据项目210,名为"profile. im"、 "profile, tagline,,、"profile. age,,禾口"profile, avatar,,。每一数据项目210具有对应的 值220 -"profile. im"值是"PLAYER45","profile, tagline"值是空或删除,"profile. age" 值是"22",且"prof ile. avatar"值是"Abc. png"。每一数据项目210具有对应的改变指示 符字段230。改变指示符字段230指示名为"profile, im"、"profile. age"和"profile. avatar"的数据项目210自从先前同步会话以来尚未经历改变,且名为"profile. tagline" 的数据项目210自从先前同步会话以来已被删除。在此情况下,通过将对应于改变指示符 230的位设定为"2"来指示数据项目210的删除。
网络装置数据集370的版本"5"包含四个数据项目310,名为"profile, im"、 "profile. tagline,V'profile. age,,禾口"profile avatar.,,。每一数据项目310具有对应的 值320-"profile. im"值是"PLAYER45","profile. tagline"值是"Go TIME ! "'"profile. age"值是"22",且"prof ile. avatar"值是"Abe. png"。此外,每一数据项目310具有对应 的片反本号340 -"profile, im,,是片反本"l,,, "profile, tagline,,是片反本"5,,, "profile, age,, 是版本"4",且"profile avatar"是版本"2"。另外,每一数据项目310可具有对应的删除 指示符(另外称为墓碑)350以指示相应数据项目已从数据集删除。对于网络装置数据集 370,没有数据项目310被删除,且因此没有设定墓碑350以指示删除。
接着基于由相应无线装置12产生且发送到相应网络装置14的同步请求消息30 而发生无线装置数据集250与网络服务器数据集370之间的同步。在此情况下,无线装置 编译包含数据项目"profile, tagline"和用于对应改变指示符230的值"2"的无线装置改 变列表28,借此表示从无线装置数据集250删除相应数据项目。 无线装置改变列表28和无线装置数据集版本19的当前值(例如,在此情况下为 版本"5")被包含于传送到具有对应网络装置数据集的网络装置14的同步请求消息30中。 而网络装置接收同步请求消息30,且在事件375处,实施无线装置改变列表28中的改变,更 新相应的改变数据项目版本号340,且更新网络服务器数据集版本号50。
网络服务器数据集380描绘在无线装置改变列表30中的改变已被实施、数据 项目版本号已被修正且网络服务器数据集版本号已被修正之后的数据集。具体来说,名 为"profile, tagline"的数据项目310具有以一个值(在此实例中为"X")更新的墓 碑指示符350,所述值指定相应数据项目已被从网络装置数据集删除。此外,用于名为 "profiletagline"的数据项目310的数据项目版本号340已从版本"5"更新到版本"6"以 反映对数据项目的改变,且网络服务器数据集版本号已从版本"5"更新到版本"6",其中版 本"6"是最高定序的数据项目版本340。 —旦改变已经实施,网络服务器便产生同步确认消息32且将确认消息传送到无 线装置。由于自从先前同步会话以来在网络装置数据集380中没有发生改变,因此不编译 网络服务器改变列表34,且因此同步确认消息中不包含网络服务器改变列表34。由此,在 图8的实例中,同步确认消息32包含经更新的网络服务器数据集版本号50。因此,在所说 明实例中,同步确认消息32包含网络服务器数据集版本号"6"。 无线装置数据集260描绘在已接收到同步确认消息32且无线装置版本号19已被 修正之后的数据集。在此情况下,由于无线装置数据集的先前版本指示数据项目被删除,因 此在接收到同步确认消息32后,无线装置12能够从无线装置数据集删除相应数据项目。具 体来说,名为"profile. tagline"的数据项目210已被从无线装置数据集260删除,且数据 集版本号19已从"5"更新到"6"。 应注意,可能利用其它方法来从无线装置数据集删除数据项目。举例来说,由于可 将数据项目的删除视为重要类型的更新或改变,因此系统可允许网络装置例如通过在网络 装置改变列表32中包含墓碑指示符350以向无线装置确认从无线装置数据集删除相应数 据项目是适当的来确认删除。 参看图9,描绘用于无线装置处的数据集同步的方法的流程图。在事件400处,在 无线装置处起始同步会话。同步会话的起始可通过预定用户动作(例如接合预定小键盘)、
21预定事件(例如触发在线模式)、预定时间和/或类似物来完成。在事件410处,同步模块 检查数据集中的每一数据项目的改变指示符,且在事件420处,确定改变指示符中的任一 者是否已经设定以指示对数据项目的改变、数据项目的添加或数据项目的删除。
如果确定改变指示符中的一者或一者以上已经设定以指示对数据项目的改变,那 么在事件430处,基于改变指示符设定而编译无线装置改变。举例来说,指示对数据项目的 改变或数据项目的添加的改变指示符将要求在经编译的改变列表中并入所改变的或添加 的数据项目。另外,指示数据项目的删除的改变指示符将要求在经编译改变列表中的改变 中识别数据项目和删除指示符。 在事件440处,产生同步请求消息,其包含当前无线装置数据集版本号,且如果适 用,则包含无线装置改变列表。在事件450处,将同步请求消息传送到网络装置。在某些方 面中,经由例如JavaScript对象符号(JSON)协议等的轻型数据交换载体协议传送同步请 求消息。 在事件460处,无线装置确定预定时间是否已过去。所述预定时间通常经定义以 提供用以接收同步确认消息的可允许时间。如果预定时间已过去,那么会话假定包含同步 请求消息的通信失败或包含同步确认消息的通信已失败。如果预定时间已过去,那么方法 返回到事件400,且起始新的同步会话。由此,本发明方面允许了稳健的同步方法,借此通信 失败提供了起始新的"软"同步会话而无需执行"完全"同步程序(即,交换和替换存储于 无线装置或网络装置处的整个数据集)。然而应注意,可例如在预定数目的"软"同步失败 之后和/或基于从网络装置接收到错误消息而实施"完全"同步,如下文所述。
在事件470处,如果预定时间未过去,意味着同步会话仍在可允许的时间限制内, 那么无线装置从网络装置(另外称为同步服务器)接收同步确认消息。同步确认消息包含 当前网络装置数据集版本号、同步状态指示符以及任何适用的网络装置改变列表。任选地, 在事件480处,检查同步状态指示符以确定在网络装置处是否成功执行同步。如果同步不 成功,那么在事件490处,无线装置起始"完全"同步程序。在一个方面中,完全同步要求无 线装置将整个数据集传送到网络装置以用于完全同步。 如果同步状态指示符指示在网络装置处同步成功,那么在事件500处,无线装置 确定同步确认消息是否包含网络装置改变列表。如果在确认消息中包含改变列表,那么在 事件510处,对数据集实施适当的改变,包含对数据项目的改变、添加数据项目和/或从数 据集删除数据项目。 一旦对数据集的改变已实施,在事件520处,便更新无线装置数据集 版本号以反映如确认消息中指示的网络装置数据集的版本号。在事件530处,将所有数据 项目改变指示符复位以指示"无改变",且无线装置等待直到在事件400处起始新的同步会 话。 如果在事件500处,无线装置确定同步确认消息中不包含改变列表,那么在事件 540处,确定当前无线装置数据集版本号是否不同于如确认消息中指示的网络装置数据集 修正号。如果数据集版本号不同,那么在事件520处,更新无线装置数据集版本号以反映如 确认消息中指示的网络装置数据集的版本号,且在事件530处,将所有数据项目改变指示 符复位以指示"无改变",且无线装置等待直到在事件400处起始新的同步会话。如果数据 集版本号并非不同,那么在事件530处,将所有数据项目改变指示符复位以指示"无改变", 且无线装置等待直到在事件400处起始新的同步会话。
参看图10,描绘用于网络装置处的数据集同步的方法的流程图。在事件600处,网 络装置接收来自无线装置的同步请求消息。在事件610处,确定请求消息是否包含无线装 置改变列表。如果请求消息中包含改变列表,那么在事件620处,确定是否列表中的任何改 变对应于数据项目删除。如果改变对应于删除,那么在事件630处,针对删除的数据项目设 定墓碑/删除指示符,且在事件640处,更新用于删除项目的数据项目版本号。经更新数据 项目版本号反映在最高数据项目版本号之后的下一序号。 在事件650处,确定是否在改变列表中提供了额外的数据项目删除。如果改变列 表中包含额外删除,那么过程返回到事件630,且针对额外删除的数据项目提供墓碑/删除 指示符,且在事件640处,更新用于删除项目的数据项目版本号。如果在事件650处,确定 改变列表中不包含额外删除,那么在事件660处,确定列表中的任何改变是否对应于数据 项目改变和/或数据项目添加。 如果改变对应于添加/改变,那么在事件670处,确定在网络装置数据集中的正被 改变的数据项目是否具有墓碑/删除指示符(借此指示对相应数据项目无法做出进一步 更新)。如果正被改变的数据项目具有墓碑/删除指示符,那么在事件680处,过程前进到 事件710以确定在改变列表中是否存在任何其余的具有更新/添加的项目,其随后返回到 事件670,如上所述。如果正被改变的数据项目不具有墓碑/删除指示符,那么在事件690 处,通过用改变列表中的数据项目替换当前网络装置数据集中的数据项目来进行适用的数 据项目改变,或对数据集进行适用的数据项目添加。在事件700处,更新用于经改变的或添 加的数据项目的数据项目版本号。经更新的数据项目版本号反映在最高数据项目版本号之 后的下一序号。 在事件710处,确定是否有任何额外数据项目改变或添加保留在改变列表中。如 果额外改变/添加存在于改变列表中,那么过程返回到事件670。如果没有额外改变/添加 存在于改变列表中,那么在事件720处,将网络装置数据集版本号设定为最高数据项目版 本号。另外,在事件660处,如果改变列表不包含任何改变/添加,那么在事件720处,将网 络装置数据集版本号设定为最高数据项目版本号。 在事件730处,无线装置编译数据项目的网络装置改变列表,所述数据项目具有 大于如请求消息中指示的无线装置版本号且直到恰在接收到请求消息之前的网络装置数 据集版本号的版本号。 任选地,在事件740处,确定同步过程是否成功。在一个实例中,不成功的同步过 程可为各种原因的结果,包含但不限于,网络装置处的数据库故障、为产生存储器空间而清 除带墓碑项目,或可能需要无线装置执行完全同步的任何其它原因,例如无线装置已长时 间没有连接到无线网络。如果同步不成功,那么在事件750处,产生同步错误消息,且在事 件760处,将同步错误消息传送到请求的无线装置。 如果确定同步过程是成功的,那么在事件770处,产生同步确认消息,其包含当前 网络装置数据集版本号、同步状态指示符以及(如果适用)网络装置改变列表。在事件780 处,将同步确认消息传送到请求的无线装置。 如果在事件610处,确定同步请求消息不包含无线装置改变列表,那么在事件790 处,确定无线装置数据集版本号是否不同于当前网络装置数据集版本号。如果无线装置数 据集版本号并非不同于当前网络装置数据集版本号,那么在事件750处,网络装置产生包
23含当前网络装置数据集版本号和同步状态指示符的同步确认消息。 如果无线装置数据集版本号不同于当前网络装置数据集版本号,那么在事件730 处,无线装置编译数据项目的网络装置改变列表,所述数据项目具有大于如请求消息中指 示的无线装置版本号且直到恰在接收到请求消息之前的网络装置数据集版本号的版本号。 在事件740处,确定同步过程是否成功。如果同步不成功,那么在事件750处,产生同步错 误消息,且在事件760处,将同步错误消息传送到请求的无线装置。 如果确定同步过程是成功的,那么在事件770处,产生同步确认消息,其包含当前 网络装置数据集版本号、同步状态指示符以及(如果适用)网络装置改变列表。在事件780 处,将同步确认消息传送到请求的无线装置。 结合本文揭示的实施例描述的各种说明性逻辑、逻辑块、模块和电路可用通用处 理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可 编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文描述的功能的 任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规 处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如DSP与微处 理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器,或任何其它此种配 置。另外,至少一个处理器可包括可操作以执行上文所述步骤和/或动作中的一者或一者 以上的一个或一个以上模块。 此外,个别地或以任何组合,结合本文揭示的方面描述的方法或算法的步骤和/ 或动作可直接以硬件、以处理器执行的软件模块或以两者的组合来实施。软件模块可驻存 在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可拆 卸式盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体可耦合 到处理器,使得处理器可从存储媒体读取信息和向存储媒体写入信息。在替代方案中,存储 媒体可与处理器成一体式。此外在某些方面中,处理器和存储媒体可驻存在ASIC中。另 外,ASIC可驻存在用户终端中,在替代方案中,处理器和存储媒体可作为离散组件驻存在用 户终端中。另外,在某些方面中,方法或算法的步骤和/或动作可作为代码和/或指令中的 一者或任何组合或集合而驻存在可并入到计算机程序产品中的机器可读媒体和/或计算 机可读媒体上。 虽然上述揭示内容展示说明性方面和/或实施例,但应注意,在不脱离如所附权 利要求书定义的所描述方面和/或实施例的范围的情况下可在本文中做出各种改变和修 改。此外,虽然所描述实施例的元件可以单数形式描述或主张,但也预期复数形式,除非明 确规定限于单数形式。另外,任何方面和/或实施例的全部或一部分可与任何其它方面和 /或实施例的全部或一部分一起利用,除非另外规定。 因此,本发明方面提供了用于以无线方式同步存储于无线装置上和网络装置(例 如网络服务器或数据库)处的数据集的方法、装置、系统和计算机程序产品。如所描述,本 发明方面提供了简化且有效率的同步过程,借此可在无线装置与网络装置之间的无线通信 的单个往返行程中完成同步。单个往返行程通信提供了网络资源的较少使用、较短的总体 同步循环时间,且减少了造成同步过程失败的例如呼叫丢失等无线网络故障的可能性。另 外,通过创建允许网络数据集与无线装置数据集无关(即,网络服务器不要求完全的改变 历史且网络服务器不需要知道无线装置数据集版本)的同步过程来进一步实现简化和效率。本发明的方面还提供稳健的同步过程,使得通信失败允许重新应用所述同步过程,而不 必实施数据集的完全同步。 得益于上述描述和相关联图式中呈现的教示的益处的本领域技术人员将明了许 多修改和其它方面。因此应了解,所述本发明方面将不限于所揭示的特定方面,且所述修改 和其它方面希望包含在所附权利要求书的范围内。虽然本文采用特定术语,但其是仅在一 般且描述性意义上使用且不用于限制目的。因此,希望所描述方面涵盖所有属于所附权利 要求书的精神和范围内的所有此些更改、修改和变化。此外,在详细描述或权利要求书中 使用术语"包含"的程度上,希望此术语以类似于当用作权利要求中的过渡词语时解释术语 "包括"时的方式为开放性的。
权利要求
一种用于使无线装置上的数据集同步的方法,所述方法包括产生包含当前无线装置数据集版本号的针对数据集的同步请求消息;以无线方式将所述同步请求消息传送到网络装置;响应于所述同步请求消息的所述传送,以无线方式接收包含网络装置数据集版本号的同步确认消息;且其中所述同步请求消息和所述同步确认消息可操作以提供基于所述无线装置与所述网络装置之间的通信的单个往返行程的同步。
2. 根据权利要求1所述的方法,其中产生同步请求消息进一步包括 检验用于所述无线装置数据集中的每一数据项目的改变指示符的状态; 基于用于所述数据项目中的一者或一者以上的所述改变指示符指示改变而编译包含一个或一个以上经改变数据项目的无线装置改变列表;以及 在所述同步请求消息中包含所述无线装置改变列表。
3. 根据权利要求1所述的方法,其进一步包括如果所述确认消息中的所述网络装置数 据集版本号不同于所述当前无线装置版本号,那么将所述当前无线装置版本号改变为所述 网络装置数据集版本号。
4. 根据权利要求1所述的方法,其中以无线方式接收同步确认消息进一步包括接收包 含所述网络装置数据集中的一个或一个以上经改变数据项目的网络装置改变列表。
5. 根据权利要求4所述的方法,其进一步包括根据所述网络装置改变列表来改变所述 无线装置数据集。
6. 根据权利要求1所述的方法,其中经由轻型、支持数组的数据交换载体协议传送所 述同步请求消息和所述同步确认消息。
7. 根据权利要求6所述的方法,其中经由JavaScript对象符号(JS0N)协议传送所述 同步请求消息和所述同步确认消息。
8. 根据权利要求1所述的方法,其中以无线方式接收同步确认消息进一步包括选自由 同步成功指示符和同步失败指示符组成的群组的同步状态指示符。
9. 根据权利要求8所述的方法,其中以无线方式接收包含同步失败指示符的同步确认 消息进一步包括基于所述同步失败指示符起始所述无线装置与所述网络装置之间的完全 同步。
10. 根据权利要求9所述的方法,其进一步包括将所述当前无线装置数据集传送到所 述网络装置;接收所述网络装置数据集以及将所述当前无线装置数据集改变为所述网络装 置数据集。
11. 至少一种经配置以用于数据集的同步的处理器,其包括第一模块,其用于产生包含当前无线装置数据集版本号的针对数据集的同步请求消息;第二模块,其用于以无线方式将所述同步请求消息传送到网络装置;以及 第三模块,其用于响应于所述同步请求消息的所述传送,以无线方式接收包含网络装置数据集版本号的同步确认消息,其中所述同步请求消息和所述同步确认消息可操作以提供基于所述无线装置与所述网络装置之间的通信的单个往返行程的同步。
12. —种用于数据集的同步的计算机程序产品,其包括 计算机可读媒体,其包括用于致使计算机产生包含当前无线装置数据集版本号的针对数据集的同步请求消息 的至少一个指令;用于致使所述计算机以无线方式将所述同步请求消息传送到网络装置的至少一个指令;用于致使所述计算机响应于所述同步请求消息的所述传送以无线方式接收包含网络 装置数据集版本号的同步确认消息的至少一个指令,其中所述同步请求消息和所述同步确认消息可操作以提供基于所述无线装置与所述 网络装置之间的通信的单个往返行程的同步。
13. —种设备,其包括用于产生包含当前无线装置数据集版本号的针对数据集的同步请求消息的装置; 用于以无线方式将所述同步请求消息传送到网络装置的装置;以及用于响应于所述同步请求消息的所述传送以无线方式接收包含网络装置数据集版本 号的同步确认消息的装置,其中所述同步请求消息和所述同步确认消息可操作以提供基于所述无线装置与所述 网络装置之间的通信的单个往返行程的同步。
14. 一种无线通信装置,其包括 计算机平台,其包含一存储器和至少一个处理器; 数据集,其存储在所述存储器中且包含多个数据项目;以及同步模块,其存储在所述存储器中、可由所述至少一个处理器执行且可操作以 产生包含当前无线装置数据集版本号的针对所述数据集的同步请求消息,将所述同步请求消息传送到网络装置,且响应于所述同步请求消息的所述传送而接收包含网络装置数据集版本号的同步确认消息,其中所述同步请求消息和所述同步确认消息可操作以提供基于所述无线装置与所述网络装置之间的通信的单个往返行程的同步。
15. 根据权利要求14所述的装置,其中所述同步模块进一步可操作以检验用于所述无 线装置数据集中的每一数据项目的改变指示符的状态,基于所述状态改变< 指示符而编译包 含一个或一个以上经改变数据项目的无线装置改变列表,以及在所述同步请求消息中包含 所述无线装置改变列表。
16. 根据权利要求14所述的装置,其中所述同步模块进一步可操作以如果所述确认消息中的所述网络装置数据集版本号不同于所述当前无线装置版本号,那么将所述当前无 线装置版本号改变为所述网络装置数据集版本号。
17. 根据权利要求14所述的装置,其中所述同步模块进一步可操作以以无线方式接收 同步确认消息,所述同步确认消息包含网络装置改变列表,所述网络装置改变列表包含所 述网络装置数据集中的一个或一个以上经改变数据项目。
18. 根据权利要求17所述的装置,其中所述同步模块进一步可操作以根据所述网络装 置改变列表来改变所述无线装置数据集。
19. 根据权利要求14所述的装置,其中所述同步请求消息和所述同步确认消息是经由轻型、支持数组的数据交换载体协议传送。
20. 根据权利要求19所述的装置,其中所述同步请求消息和所述同步确认消息是经由 JavaScript对象符号(JS0N)协议传送。
21. 根据权利要求14所述的装置,其中所述同步确认消息进一步包括选自由同步成功 指示符和同步失败指示符组成的指示符群组的同步状态指示符。
22. 根据权利要求21所述的装置,其中可操作以以无线方式接收包含同步状态指示符 的同步确认消息的所述同步模块进一步可操作以基于所述同步失败指示符起始所述无线 装置与所述网络装置之间的完全同步。
23. 根据权利要求22所述的装置,其中所述同步模块进一步可操作以将所述当前无线 装置数据集传送到所述网络装置;响应于传送所述当前无线装置数据集而接收所述网络装 置数据集,以及将所述当前无线装置数据集改变为所述网络装置数据集。
24. —种用于使网络装置上的数据集同步的方法,所述方法包括 在网络装置处以无线方式接收包含无线装置数据集版本号的同步请求消息; 将所述无线装置数据集版本号与当前网络装置数据集版本号进行比较; 如果所述比较指示所述无线装置数据集版本号不同于所述网络装置数据集版本号,那么编译包含一个或一个以上经改变数据项目的网络装置数据集改变列表;产生包含所述当前网络装置数据集版本号和任何经编译网络装置数据集改变列表的同步确认消息;以及以无线方式传送所述同步确认消息,其中所述同步请求消息和所述同步确认消息可操作以提供基于无线装置与所述网络 装置之间的通信的单个往返行程的同步。
25. 根据权利要求24所述的方法,其中接收同步请求消息进一步包括接收包含一个或 一个以上经改变数据项目的无线装置数据集改变列表。
26. 根据权利要求25所述的方法,其进一步包括在所述网络装置数据集中改变所述无 线装置数据集改变列表中所包含的所述经改变数据项目。
27. 根据权利要求25所述的方法,其中在所述网络装置数据集中改变所述经改变数据 项目进一步包括为所述无线装置数据集上已删除的数据项目提供删除指示符而不从所述 网络装置数据集删除所述数据项目。
28. 根据权利要求26所述的方法,其进一步包括基于所述数据项目中的所述改变而更 新数据项目版本号,以及更新所述网络装置数据集版本号以反映最高定序的经改变数据项 目的所述版本号。
29. 根据权利要求28所述的方法,其中产生同步确认消息进一步包括产生包含所述经 更新网络装置数据集版本号和任何经编译网络装置数据集改变列表的同步确认消息。
30. 根据权利要求24所述的方法,其中经由轻型、支持数组的数据交换载体协议传送 所述同步请求消息和所述同步确认消息。
31. 根据权利要求30所述的方法,其中经由JavaScript对象符号(JS0N)协议传送所 述同步请求消息和所述同步确认消息。
32. 根据权利要求24所述的方法,其中所述网络装置在接收到所述同步请求消息之前 不知道所述无线装置数据集版本号。
33. 至少一种经配置以用于数据集的同步的处理器,其包括第一模块,其用于在网络装置处以无线方式接收包含无线装置数据集版本号的同步请 求消息;第二模块,其用于将所述无线装置数据集版本号与当前网络装置数据集版本号进行比较;第三模块,其用于如果所述比较指示所述无线装置数据集版本号不同于所述网络装 置数据集版本号,那么编译包含一个或一个以上经改变数据项目的网络装置数据集改变列 表;第四模块,其用于产生包含所述当前网络装置数据集版本号和任何经编译网络装置数 据集改变列表的同步确认消息;以及第五模块,其用于以无线方式传送所述同步确认消息,其中所述同步请求消息和所述同步确认消息可操作以提供基于无线装置与所述网络 装置之间的通信的单个往返行程的同步。
34. —种用于数据集的同步的计算机程序产品,其包括 计算机可读媒体,其包括用于致使计算机在网络装置处以无线方式接收包含无线装置数据集版本号的同步请 求消息的至少一个指令;用于致使所述计算机将所述无线装置数据集版本号与当前网络装置数据集版本号进 行比较的至少一个指令;用于致使所述计算机如果所述比较指示所述无线装置数据集版本号不同于所述网络 装置数据集版本号那么编译包含一个或一个以上经改变数据项目的网络装置数据集改变 列表的至少一个指令;用于致使所述计算机产生包含所述当前网络装置数据集版本号和任何经编译网络装 置数据集改变列表的同步确认消息的至少一个指令;以及用于致使所述计算机以无线方式传送所述同步确认消息的至少一个指令,其中所述同步请求消息和所述同步确认消息可操作以提供基于无线装置与所述网络 装置之间的通信的单个往返行程的同步。
35. —种设备,其包括用于在网络装置处以无线方式接收包含无线装置数据集版本号的同步请求消息的装置;用于将所述无线装置数据集版本号与当前网络装置数据集版本号进行比较的装置;用于如果所述比较指示所述无线装置数据集版本号不同于所述网络装置数据集版本 号那么编译包含一个或一个以上经改变数据项目的网络装置数据集改变列表的装置;用于产生包含所述当前网络装置数据集版本号和任何经编译网络装置数据集改变列 表的同步确认消息的装置;以及用于以无线方式传送所述同步确认消息的装置,其中所述同步请求消息和所述同步确认消息可操作以提供基于无线装置与所述网络 装置之间的通信的单个往返行程的同步。
36. —种网络装置,其包括计算机平台,其包含一存储器和至少一个处理器; 数据集,其存储在所述存储器中且包含多个数据项目;同步模块,其存储在所述存储器中、可由所述至少一个处理器执行且可操作以接收包 含无线装置数据集版本号的同步请求消息;将所述无线装置数据集版本号与当前网络装置 数据集版本号进行比较,如果所述比较指示所述无线装置数据集版本号不同于所述网络装 置数据集版本号,那么编译包含一个或一个以上经改变数据项目的网络装置数据集改变列 表;产生包含所述当前网络装置数据集版本号和任何经编译网络装置数据集改变列表的同 步确认消息;以及以无线方式传送所述同步确认消息,其中所述同步请求消息和所述同步确认消息可操作以提供基于无线装置与所述网络 装置之间的通信的单个往返行程的同步。
37. 根据权利要求36所述的装置,其中所述同步模块进一步可操作以接收同步请求消 息,所述同步请求消息包含无线装置数据集改变列表,所述无线装置数据集改变列表包含 一个或一个以上经改变数据项目。
38. 根据权利要求37所述的装置,其中所述同步模块进一步可操作以在所述网络装置 数据集中改变所述无线装置数据集改变列表中所包含的所述经改变数据项目。
39. 根据权利要求37所述的装置,其中同步模块进一步可操作以为所述无线装置数据 集上已删除的数据项目提供删除指示符而不从所述网络装置数据集删除所述数据项目。
40. 根据权利要求37所述的装置,其中所述同步模块进一步可操作以基于所述数据项 目中的所述改变而更新数据项目版本号,以及更新所述网络装置数据集版本号以反映最高 定序的经改变数据项目的所述版本号。
41. 根据权利要求40所述的装置,其中所述同步模块进一步可操作以产生包含所述经 更新网络装置数据集版本号和任何经编译网络装置数据集改变列表的同步确认消息。
42. 根据权利要求36所述的装置,其中所述网络装置在接收到所述同步请求消息之前 不知道所述无线装置数据集版本号。
全文摘要
本发明提供了用于以无线方式使存储于无线装置上和网络装置(例如网络服务器或数据库)处的数据集同步的方法、设备、系统和计算机程序产品。本发明方面提供了简化且有效率的同步过程,借此可在所述无线装置与所述网络装置之间的无线通信的单个往返行程中完成同步。单个往返行程同步实现了网络资源的较少使用、较短的总体同步循环时间,且减少了造成同步过程失败的例如呼叫丢失等无线网络故障的可能性。另外,通过创建允许网络数据集与无线装置数据集无关(即,网络服务器不要求完全的改变历史且网络服务器不需要知道无线装置数据集版本)的同步过程,进一步实现了简化和效率。所述同步可应用于基于网络的游戏应用程序。
文档编号H04L29/08GK101743736SQ200880020531
公开日2010年6月16日 申请日期2008年6月19日 优先权日2007年6月19日
发明者布雷恩·H·凯利, 苏迪尔·科甘蒂, 马修·霍尔菲尔德 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1