CN101416183A - 保存无线设备当前数据的方法和系统 - Google Patents

保存无线设备当前数据的方法和系统 Download PDF

Info

Publication number
CN101416183A
CN101416183A CNA2006800463628A CN200680046362A CN101416183A CN 101416183 A CN101416183 A CN 101416183A CN A2006800463628 A CNA2006800463628 A CN A2006800463628A CN 200680046362 A CN200680046362 A CN 200680046362A CN 101416183 A CN101416183 A CN 101416183A
Authority
CN
China
Prior art keywords
change
data
synchronizer
equipment
record
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.)
Granted
Application number
CNA2006800463628A
Other languages
English (en)
Other versions
CN101416183B (zh
Inventor
A·布卢姆
C·德雷珀
T·恩戈
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.)
Good Technology Software Inc
Original Assignee
Good Technology Inc
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 Good Technology Inc filed Critical Good Technology Inc
Publication of CN101416183A publication Critical patent/CN101416183A/zh
Application granted granted Critical
Publication of CN101416183B publication Critical patent/CN101416183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

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

Abstract

公开了一种系统。所述系统包括用于接收表示对存在于设备上的数据改变的请求的服务器。所述请求是从连接到服务器的设备接收的。所述服务器包括第一同步器,其通过网络服务描述识别所述改变。所述服务器还包括第二同步器,其将被识别的改变与在所述设备上的数据同步以更新设备上的数据。

Description

保存无线设备当前数据的方法和系统
技术领域
本发明一般涉及网络数据服务领域。更具体地,本发明涉及保存无线设备当前数据的方法和系统。
背景技术
最近几年出现了很多无线数据处理设备。这些设备包括无线个人数字助理(PDA),例如配备有数据处理能力(例如,包括无线应用协议(WAP)支持)的Treo 650手持蜂窝电话,以及,最近的无线传讯装置。
随着无线设备使用的增加,使这种无线设备上所关心的数据尽可能是最近的变得越来越重要;但也是难处理的。例如,更新无线设备上的数据的常规方法需要所有数据同步以及直接对数据库做出改变。这种对数据库的改变需要无线设备在线。而且,诸如触发器、程序调用、查询等的改变直接施加于数据库会使系统(例如,服务器)不稳定,这对任务关键的系统是有问题的。当要更新的数据量相当大时,如在处理企业业务数据时,该问题会进一步恶化。
发明内容
在一个实施例中,公开了一种保存无线设备当前数据的系统。所述系统包括服务器,用于接收表示对存在于设备上的数据的改变的请求。所述请求从通过无线网络连接到所述服务器的所述设备中被接收。所述服务器包括第一同步器,用于通过网络服务(web service)描述来识别改变。所述第一同步器包括业务记录同步器。所述服务器还包括第二同步器,用于将被识别的改变下载到设备以更新设备上的数据。下载所述改变包括将被识别的改变与设备上的数据同步以更新设备上的已有数据。
在另一实施例中,公开了一种方法。所述方法包括从设备接收请求。所述请求表示对存在于设备上的数据的改变。所述方法还包括通过网络服务描述来识别改变,以及将被识别的改变与设备上的数据同步以更新设备上的已有数据。
附图说明
通过联系以下附图的下列详细说明将更好地理解本发明,其中:
图1所示为实现本发明的元件的网络的一个实施例;
图2所示为保存无线设备当前数据的架构的一个实施例;
图3所示为业务记录同步器的内部结构的一个实施例;
图4所示为下载和上传数据改变的处理;以及
图5所示为计算机系统的一个实施例。
具体实施方式
根据一个实施例,公开了一种监控对无线设备的连接的机制。在以下说明中,出于解释目的,提出许多具体的细节以提供对本发明彻底的理解。但是,对本领域技术人员很显然的是,没有这些具体细节中的某些也可以实施本发明。在其他示例中,以框图形式示出公知的结构和设备以避免不理解本发明的基本原理。
说明书中提及“一个实施例”或“实施例”表示联系实施例说明的特定特点、结构或特征包括在本发明的至少一个实施例中。在说明书的各个地方出现的短语“在一个实施例中”不必都指同一实施例。
图1所示为网络架构的一个实施例。图1中示出“用户站点”120且可以是任何局域或广域网,其中多个服务器103和客户机110通信。例如,用户站点120可包括单个公司维护的所有服务器和客户机。
服务器103可为网络用户提供多个不同的消息和组件服务102(例如,电子邮件、即时消息发送、列入日程等等)。但是,本发明的基本原理不限于任何特定的消息/组件平台。
在一个实施例中,接口100通过外部数据网络170和/或无线服务供应商网络171将服务102保存的数据对象(例如,电子邮件消息、即时消息、日程数据等等)转发到多个无线数据处理设备(在图1中由设备130表示)。例如,服务器103作为网络服务的代理,在无线网络上递送数据到各种移动设备130。
在一个实施例中,接口100是适用于利用特定服务102工作的软件模块。但是,应注意,接口100可实现在硬件或硬件和软件的任何组合中而仍然遵守本发明的基本原理。
在一个实施例中,外部数据网络170包括多个数据库、服务器/客户机(未示出)和其他联网硬件(例如,路由器、集线器等),用于在接口100和设备130之间传输数据。在一个实施例中,接口100将数据封装在具有识别设备130的地址的一个或多个包中(例如,如32比特Mobitex接入号(“MAN#”))。
外部数据网络170将包发送到无线服务供应商网络171,无线服务供应商网络171则将包(或其中包含的数据)通过无线通信链路发送到设备130。在一个实施例中,无线服务供应商网络是CDMA 2000网络。但是,可以采用各种其他网络类型(例如,Mobitex、GPRS、PCS等)而仍然遵守本发明的基本原理。
应注意,网络服务供应商网络171和外部数据网络170(和相关接口100)可由相同的组织拥有/操作或,可替换地,外部数据网络170的拥有者/运营商可出租无线服务供应商网络的无线服务。本发明的基本原理不限于任何特定服务配置。
图2所示为保存无线设备202当前数据的架构的一个实施例。在示出的实施例中,无线处理设备(设备)202连接到服务器204并与服务器204通信。设备202包括具有移动计算机系统或设备的任何设备,如便携计算机、移动电话(例如,移动蜂窝电话、智能电话等)、个人数字助理(PDA)、掌上电脑等。服务器204还与提供网络服务的企业服务器(enterprise server)(企业服务器)220通信。期望服务器204和企业网络服务服务器(WS服务器)220通过网络互相通信。可以在线或离线的设备202以及服务器204通过公开的网络服务和网络服务应用与后端WS服务器220通信。所述网络可包括局域网(LAN)、广域网(WAN)、城域网(MAN)、因特网、内部互联网等等。而且,所述网络连接到无线网络并与无线网络通信。服务器204可包括由位于加利福尼亚州圣克拉拉的卓越技术(Good Technology)公司提供的GoodLinkTM服务器、Good接入网络服务(GAWS)服务器等。WS服务器220的例子包括位于德国瓦尔道夫(Walldorf)的SAP AG开发的网络应用服务器以及位于纽约阿蒙克的国际商业机器公司(
Figure A200680046362D0009184318QIETU
)开发的WebSphere应用服务器。
在一个实施例中,服务器204包括订阅管理器210、网络服务(WS管理器)212、业务记录同步器(业务记录同步)214,以及数据同步器(数据同步)216。数据同步器216包括通用数据同步器。订阅管理器210用于管理与设备202相关的网络服务查询订阅。例如,订阅管理器210用于通过定义的查询网络服务操作轮流查询(poll)对象数据。每个查询订阅使用具有用于识别一组业务数据的自变量的网络服务调用(service call)。例如,可以进行限定一组高优先级的销售帐户的查询。而且,多查询订阅可分享具有不同自变量的同一种网络服务方法调用。而且,在一个应用中,可为每一用户和/或设备202定义多查询订阅。换言之,可采用若干组每次使用的业务数据。
WS管理器212处理网络服务请求并为设备202作出响应(包括提出请求时的认证)。订阅管理器210接收到命令(例如,定期触发的命令)时,WS管理器212调用网络服务,检索(retrieve)业务数据,并更新业务记录同步214。业务记录同步214为每个设备202管理记录识别和同步状态的认知,包括记录的任何重叠冗余。业务记录同步214使用对设备202上数据进行直接跟踪和同步的数据同步216。业务记录同步214用于管理业务记录识别和订阅的改变,数据同步216使用业务记录同步214的数据库206以跟踪任何数据并将该数据与设备202同步。
当设备202在线或离线时,用户可改变设备202上的数据。所述改变可包括修改和/或删除已有数据和/或将新数据添加到已有数据。然后改变在服务器204被认可并被数据同步216同步到用于该特定设备202的数据库206。然后服务器过程利用在服务器数据库206上的用户改变作为适当的XML网络服务净荷(playload),调用可扩展标记语言(XML)以及简单对象访问协议(SOAP)网络服务改变(例如,更新、删除、添加、创建等等)操作。例如,管理员或开发者可使用服务器204上的数据管理器214在该网络服务的建立过程期间识别网络服务改变操作。当订阅管理器210运行时,这些改变将最终传回业务记录同步214及其高速缓存208。
使用网络服务、由在WS服务器220上的网络服务描述语言(WSDL)224所描述的XML网络服务中可用的业务操作时(WSDL包括数据描述/元数据),获得典型地围绕这种业务操作的必需的业务逻辑。网络服务提供由WSDL 224所描述的操作,该操作被WS管理器212使用。WSDL 224所描述的这些操作可包括查询、创建、更新和删除操作,共同称为QCUD操作。该查询表现为订阅管理器210可定期查询数据,而认为创建、更新和删除操作是可选的。而且,这些网络服务QCUD操作可通过网络服务接口222而被执行。
在一个实施例中,随后改变被报告给数据库206并对数据库206做改变以及稍后通过服务器204上的同步器216与设备202同步。这种机制可称为数据改变的下载。通过数据同步216将数据改变下载到设备202可以在设备202在线或断开时进行。数据库206包括对应于多个设备202的数据,而高速缓存208包括对应于单个设备202的数据。这样,即使偶尔断开设备202,该设备202可以保持当前的频繁改变的数据,该数据通过WS服务器220来自由网络服务公开的后端应用。
在一个实施例中,在WS服务器220,已有数据已改变。订阅管理器210定时地使用WS管理器212以向网络服务查询数据。响应包括如W SDL 224所描述的记录,使用预定义记录边界XML路径(XPath)识别这些记录且将这些记录从响应中提取出来。XPath指用于识别用于处理的X ML元素的可扩展样式表语言(XSL)样式表中的子语言。它还用于计算数字和操作串。如果可能,记录主键或唯一标识符也被XPATH识别。否则,主键被计算为记录内容的散列(hash)。然后记录被传递到业务记录同步214以认出哪些给定设备202已改变。使用高速缓存208,业务记录同步214可检测设备202当前具有什么以及什么已改变。业务记录同步214使用数据同步216以将最新的改变下载到设备202。
在一个实施例中,然后使用服务器204上的数据同步216将数据改变与设备202同步以将数据改变下载到设备202。与上传一样,仅下载数据改变,无需将所有数据下载到设备202。这一机制使得设备202继续保存当前的或更新的数据。无需将设备处理器和带宽与连续处理来自后端网络服务的大的XML查询响应相联系就可以实现,因为仅上传或下载数据改变,消除了费时和延迟的大量的完全更新数据和少量增加的改变。而且,使用服务器204及其组件(例如,订阅管理器210、WS管理器212、业务记录同步214、数据同步216等等)来保持数据是当前的并仅使用任意的企业数据在设备202被更新而不需要定制编程。
图3所示为业务记录同步214的内部结构的一个实施例。如图所示,业务记录同步214与高速缓存208、数据同步216以及数据库206通信。数据同步216包括与数据同步网络314、数据库206上的数据同步存储316、以及业务记录同步214上的记录管理器302通信的通用数据同步312。高速缓存208包括与业务记录同步214通信的业务记录高速缓存318。可为每个设备分配单个业务记录高速缓存318。
从网络服务响应提取的WS业务记录306,当出现时或存储在无线设备上时表示记录,表示一块企业数据(例如,帐户数据、产品数据、客户数据、联系人和票据等)。数据库中类似主键的键被考虑以及数据库中每行可以是表示业务记录的记录。从网络服务查询订阅中提取识别WS业务记录306的键。可以通过由管理员配置的网络服务响应中的xpath来识别该键。如果没被配置,它可以是WS业务记录306的内容的散列。这个键可用于索引WS业务记录306。
高速缓存208用于缓存业务记录306,这样可以为给定设备或用户保存哪些数据是新的、更新的、或删除的认知,例如通过将已有数据与数据改变相比较,可以确定高速缓存数据的改变。而且,缓存业务记录306提供业务记录306的暂时仓库并帮助获得更好的性能。业务记录高速缓存318被加载为必需的(例如,延迟实例化)。而且,可以清除那些暂时不用的(这由管理员确定)业务记录306以节约存储器。此外,表示已经同步的无内容代理记录也可存储在高速缓存208,其可不需要从业务记录高速缓存318中清除业务记录306。
用户通过相应的设备通过订阅管理器可以向业务记录组联系(association)304注册查询说明书以识别一组关心的WS业务记录306。记录组联系304可用于通过确定特定记录306属于哪一组或与哪一组相关,帮助避免复制每个与设备相关的高速缓存208中的记录数据。订阅管理器可以用于为每一个设备管理各个组。接口被采用并用于将组的记录组联系304更新到记录306。
对每个用户空间,WS业务记录键映射308在数据同步216保存记录键与其相关数据识别(数据ID)之间的双向一对一映射。此映射也持续在永久存储中并在启动时加载。在一个实施例中,记录组联系304、记录高速缓存310以及WS记录键映射308可不暴露在记录管理器包之外。
在启动或初始化时,在一个实施例中,记录管理器302意识到哪些记录306存储在每个设备中。而且,在初始化时,并非通用数据同步312可用的所有内容都要加载。例如,下列活动可保持隐藏或被避免:(1)加载每个同步器数据ID与用于每个设备的记录键之间的映射;(2)加载启动的但不要求通过依赖数据ID—键的映射而加载的任何记录以帮助来自同步器的延迟负载。可采用混合的方案使新的或更新的记录的内容保持在存储器中直到它被写入同步器;以及(3)可以根据需要创建记录组联系304。例如,记录管理器302可工作于此假设:如果并非用户查询订阅的一部分的WS业务记录306中的任何一个可从同步器中移除,而数据ID-键映射因此解除相关。但是记录管理器302可能不直接移除来自网络服务的任何记录306。
对于操作,WS业务记录306可以跨无线设备被复制,因为存储器中的信息可基于每个相应的设备而被保持。记录306的这种复制虑及较简单的实施以及记录306的同步并帮助避免潜在的冲突。记录管理器302可支持以下操作情形:(1)创建(例如,创建和/或分配数据ID以及进一步创建如数据ID所识别的WS业务记录306);(2)读(例如,为给定的设备访问记录306的最新版本);(3)更新(例如,使记录306被更新);以及(4)组更新(例如,更新整个组的WS业务记录306)。记录管理器302可以明显地或不明显地支持记录306的删除操作。例如,使用业务记录组联系310,适当的WS记录306可以被识别以从同步器中清除。此外,单个的记录创建或更新可使与未订阅的系统组相关的记录306避免其自动删除。当组更新(例如,UpdateGroup())方法识别出此记录306属于记录组联系310的组时,记录306然后可自动转移到用户定义的组。
在一个实施例中,对每个订阅,订阅管理器(例如,图2的订阅管理器210)可使用WS管理器(图2的212)调用注册的查询网络服务调用。然后结果可被WS管理器转变成一组记录且之后一组更新操作被施加给记录管理器302。通过记录组联系310,记录管理器302将每个WS业务记录306的映射保存在一个或多个组中。当更新组时,给定设备的记录高速缓存318可清楚地保存每个记录306的下列状态中的一个或多个:(1)新的(例如,记录306对服务器是新的);(2)更新的(例如,改变的记录306的内容不同于存储在高速缓存208中的);(3)删除的(例如,记录管理器302确定记录306不属于与设备相关的任何组);以及(4)同步中(例如,IN_SYNC,指业务记录306已与设备同步)。
在实施时,在一个实施例中,一旦进行组更新,可执行同步器定期或立即更新。当对高速缓存执行延迟负载时,通过参考可表明设备或高速缓存是否以前知道此记录的WS记录键的映射308来确定记录是否是新的。如果设备已具有特定的记录,则加载此记录并比较以帮助判定记录是新的、相同的或更新的。如果记录是相同的,则该记录可带有IN_SYNC状态被插入高速缓存;否则,记录被更新以及稍后发送到设备。
当调用具有本文中别处所述的新的组识别(例如,组ID)的组更新时,可自动创建记录组。对同一组ID的任何随后的更新可根据需要或期望自动触发设备的更新。为了移除组,调用无记录的组更新足以触发设备上数据的移除。记录管理器302可服务于同步器对任何WS业务记录306进行创建、读和更新操作。如图所示,记录管理器302可使用各组件306—310及其操作以帮助执行其功能。
对于表示更新的数据改变,记录同步214被立即更新。记录同步214还提供异步的创建和更新操作。但是,对于表示删除的数据改变,记录同步214可以不立即被更新,因为设备可能具有多查询订阅,这表示独立于任何组而被创建的任何记录306,可能在还没有被创建的另一订阅中。因此,例如,可采用删除操作的用于挑选记录的延迟的垃圾收集,以及可立即删除与组不相关的任何记录306。
虽然记录同步214可不依赖记录键生成的执行,为了一致性可对服务器使用单独的标准执行。很多参数可用于记录键生成,如可采用类型(例如,类型=账户)和键内容(例如,键内容=<账户ID>34534097345</账户ID>)或可使用组合类型和键内容的单独执行(例如,键=账户:34534097345)。此外,因为记录内容可用,所以可基于整个内容作为键来创建散列码。因此,记录内容的改变可导致为了新记录清除旧记录或有效地在同步器中具有添加/删除操作对。而且,创建键时可生成散列码,包括根据真实用户定义的键内容的一个以及根据记录内容的另一个。这个机制使得具有简单的键-映射数据库,同时保持相同效果和效率。为了具有合理的键大小,开发者/管理员可选择定义键。
WS业务记录键映射308可通过WS记录键映射接口320为每个设备保存的记录键及其相关数据ID之间的联系。WS记录键映射308在初始化时持续和加载。同步器帮助清楚地保存此映射并与同步器中的实际数据一致而进行适当的添加和删除。可使用基于每个服务器使用的映射大小的公式确定记录键映射308的大小,该服务器使用的映射大小例如是编号(number)设备、用户定义键的平均大小、基于散列的键大小、每个设备保持的平均记录、每个映射条目的数据ID大小等等。而且,该机制足够灵活使得可以根据改变的需求或目的进行无缝地变更,而不影响性能水平。此外,可使用与服务器兼容和可集成的数据库。WS业务记录306包括提供接入到记录的接口322。还提供接入到其他组件的接口,如通用数据同步312的接口324和数据同步存储316的接口326。
图4示出了下载和上传数据改变的过程。在处理框402,在服务器接受数据改变或数据改变请求。数据改变在无线处理设备被用户启动并通过网络传送到服务器。在一个实施例中,在服务器接收数据改变请求。数据改变请求可以随着用户尝试对设备上的已有数据进行改变而触发。在服务器收到的请求表示用户通过设备请求的数据改变。然后在处理框404数据改变在服务器被逐个地识别。识别可包括使用包含在WSDL的描述或元数据,以及使用网络服务查询,通过各个键识别每个记录。识别可包括识别对已有数据所做的改变的类型(例如,添加、删除、修改、创建等等)。例如,新数据是否被创建并添加到已有数据和/或是否对已有数据做出改变。这些改变可表示为由网络服务提供的且由在网络服务服务器的WSDL描述的QCUD操作(例如,查询、创建、更新和删除操作)。然后这些QCUD操作被在服务器的WS管理器使用。然后数据改变可存储在服务器高速缓存中。
识别还包括在判定框406确定数据改变中是否存在在服务器没有解决的任何冲突。冲突可包括不能与其他数据改变和/或存在于服务器高速缓存、服务器数据库和/或设备中的一个或多个的已有数据相一致的数据改变。如果存在这种冲突,则在处理框412,可以将冲突下载到设备上用于手动调整与设备上的已有数据一致。例如,冲突可包括由于不适当的改变、不正确的改变、不可接受的改变、不认可的改变以及不及时的改变(例如,对不存在的一块数据做改变,由于系统限制而做出不可接受的改变,等等)中的一个或多个而导致的数据(例如,记录)的变化。例如,用户A和B分别通过访问设备A和B请求对共同的一组已有数据做不同的改变(例如,用户A和B都可访问的相同记录或同一组记录)。
我们假设,设备A然后在接下来的2小时保持离线,因为用户A从丹佛飞往洛杉矶,而设备B保持在线并被用户B使用。为了清楚,假设没有其他复杂情况或请求发生,在这种情况下,用户B提交的数据改变有可能在服务器被接受并下载到设备B。而设备A接收冲突或冲突通知。用户A可随后选择将改变合并到设备A,用以前提交的改变或新的改变改写用户B的数据改变,或简单地手动地在设备A输入来自设备B的改变。
再参考判定框406,如果没有冲突,则在一个实施例中,在408上传数据改变。上传数据改变可包括根据网络服务提供的且如WSDL所描述的QCUD操作使数据改变与网络服务服务器一致。与网络服务服务器一致的或上传到网络服务服务器的数据改变仅表示对设备上的已有数据提交的改变,由此不需要上传所以数据。然后数据改变被调整一致并存储在服务器数据库中。在一个实施例中,单个服务器高速缓存可被分配给或对应于单个无线设备并可包括存在于对应设备上的数据。在一个实施例中,服务器数据库可对应于与服务器通信的几个或所有无线设备,并可包括表示存在于所有这些设备上的集体的数据的数据。
在一个实施例中,然后在处理框410,下载数据改变。将数据改变下载到设备可当设备在线、离线、连接或断开连接时进行。下载包括将数据改变与设备上的已有数据同步使得已有数据被更新且是当前的。使用数据同步器执行将数据改变与设备同步,因为通过记录同步器将数据改变传递给它。而且,对设备提交的数据改变,接受数据改变、识别数据改变、确定冲突、上传数据改变、将数据改变存储在高速缓存和数据库、以及下载冲突也可当设备在线、离线、连接或断开连接时被执行。例如,当设备在线时用户可通过设备处理数据改变的请求,但是这种数据改变的下载或与设备同步可在设备离线或断开连接时发生。类似地,一旦设备在线时用户可以手动解决冲突,但是,在这之前,当设备离线或断开连接时,冲突可传递到设备。
如5所示为其上可实现设备130和/或服务器103的计算机系统500。计算机系统500包括传递信息的系统总线520,以及连接到总线520用于处理信息的处理器510。根据一个实施例,处理器510是使用大量摩托罗拉ARM系列微处理器的处理器中的一个实现的。但是本领域普通技术人员能明白可以使用其他处理器。
计算机系统500还包括连接到总线520用于存储信息和处理器510要执行的指令的随机存取存储器(RAM)或其他动态存储设备525(此处称为主存储器)。主存储器525还可用于在处理器510执行指令期间存储临时变量或其他中间信息。计算机系统500还可包括连接到总线520用于存储静态信息和处理器510使用的指令的只读存储器(ROM)和/或其他静态存储设备526。
数据存储设备525如磁盘或光盘及其相应的驱动也可连接到计算机系统500用于存储信息和指令。计算机系统500也可通过I/O接口530连接到第二I/O总线550。多个I/O设备可连接到I/O总线550,I/O设备包括显示设备524、输入设备(例如,字母数字输入设备523和/或光标控制设备522)。
通信设备521用于通过网络170接入其他计算机(服务器或客户机)。通信设备521可包括调制解调器、网络接口卡或其他公知的接口设备,如用于连接到以太网、令牌环或其他类型网络的接口设备。
本发明的实施例可包括上述各步骤。步骤可体现在机器可执行的指令中。指令可用于使通用或专用处理器执行某些步骤。可替换地,这些步骤可由包含用于执行该步骤的硬线逻辑的具体的硬件组件或由编程计算机组件和定制硬件组件的任何组合来执行。
本发明的元件也可提供为用于存储机器可执行指令的机器可读介质。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM、磁光盘、ROM、RAM、EPROM、EEPROM、磁或光卡、传播介质或适合存储电子指令的其他类型的介质/机器可读介质。例如,本发明可被下载作为计算机程序,其可通过包含在载波或其他传播介质中的数据信号,通过通信链路(例如,调制解调器或网络连接)从远程计算机(例如,服务器)传递到请求的计算机(例如,客户机)。
通过上述说明,出于解释的目的,提出很多具体细节以提供对本发明的全面理解。但是对本领域技术人员来说很显然的是,不具有这些具体细节中的某些也可实现本发明。例如,虽然示出为到在服务器103上执行的服务102的接口100(见图1);应理解本发明的基本原理是可实现在单个客户机上,其中客户机通过网络传输数据。因此,本发明的范围和主旨应根据所附的权利要求而判断。

Claims (20)

1、一种系统,包括:
具有数据的设备;以及
用于从所述设备接收请求的服务器,所述请求表示对所述数据的改变,所述服务器包括
第一同步器,用于通过网络服务描述来识别所述改变,以及
第二同步器,用于将被识别的所述改变与所述设备上的所述数据同步以更新所述数据。
2、根据权利要求1所述的系统,其中所述第一同步器包括记录同步器,所述第二同步器包括数据同步器。
3、根据权利要求1所述的系统,其中所述网络服务描述通过存在于网络服务服务器中的网络服务描述语言来提供,所述网络服务服务器通过网络与所述服务器连接。
4、根据权利要求3所述的系统,其中所述网络服务描述包括用于帮助识别所述改变的信息,所述信息还描述表示对所述数据进行的所述改变的操作。
5、根据权利要求4所述的系统,其中所述操作包括查询操作、创建操作、更新操作以及删除操作中的一个或多个,其中所述操作通过网络服务接口被实施。
6、根据权利要求1所述的系统,其中所述第一同步器还用于跟踪所述改变,以及将该改变传送给所述第二同步器以将该改变下载到所述设备,所述改变的下载包括将该改变与所述设备上的所述数据同步。
7、根据权利要求6所述的系统,其中所述第一同步器还用于管理在一个或多个高速缓存和数据库中的一个或多个改变识别以及改变同步状态。
8、根据权利要求1所述的系统,其中所述服务器还包括订阅管理器,用于管理所述设备的网络服务查询订阅,通过定义的查询操作帮助轮流查询对象数据,以及通过所述服务器处的网络服务管理器来定期查询记录。
9、根据权利要求8所述的系统,其中所述网络服务管理器向所述订阅管理器提供由网络服务描述语言所描述的记录,其中通过预定的记录边界所述记录被识别并被提取。
10、根据权利要求9所述的系统,其中所述网络服务管理器还将所述改变上传到所述网络服务服务器,所述改变的上传包括将所述改变与所述网络服务服务器以及所述第一同步器同步。
11、根据权利要求9所述的系统,其中所述网络服务管理器还代表所述设备调用所述网络服务服务器、检索数据、更新所述第一同步器、以及管理网络服务请求和在所述服务器和所述网络服务服务器之间的响应。
12、一种方法,包括:
从具有数据的设备接收请求,所述请求表示对所述数据的改变;
通过网络服务描述来识别所述改变;以及
将被识别的改变与在所述设备上的所述数据同步以更新所述数据。
13、根据权利要求12所述的方法,其中通过包括记录同步器的第一同步器来执行所述改变的识别,以及通过包括数据同步器的第二同步器来执行所述被识别的改变的同步。
14、根据权利要求12所述的方法,其中通过存在于网络服务服务器中的网络服务描述语言来提供所述网络服务描述,所述网络服务服务器通过网络与所述服务器连接。
15、根据权利要求14所述的方法,其中所述网络服务描述包括帮助识别所述改变的信息,所述信息还描述表示要对所述数据进行的改变的操作。
16、根据权利要求12所述的方法,还包括通过网络服务管理器将所述改变上传到所述网络服务服务器,所述改变的上传包括将所述改变与所述网络服务服务器以及所述第一同步器同步。
17、一种机器可读介质,在该机器可读介质上存储有表示指令集的数据,当所述指令集由机器执行时,使所述机器:
从具有数据的设备接收请求,所述请求表示对所述数据的改变;
通过网络服务描述来识别所述改变;以及
将被识别的改变与在所述设备上的所述数据同步以更新所述数据。
18、根据权利要求17所述的机器可读介质,其中通过存在于网络服务服务器中的网络服务描述语言来提供所述网络服务描述,所述网络服务服务器通过网络与所述服务器连接。
19、根据权利要求17所述的机器可读介质,其中所述指令集在被所述机器执行时,还使所述机器通过第一同步器跟踪所述改变,以及所述第一同步器将所述改变传送给第二同步器以将所述改变下载到所述设备,所述改变的下载包括将所述改变与在所述设备上的所述数据同步。
20、根据权利要求17所述的机器可读介质,其中所述指令集在被所述机器执行时,还使所述机器通过网络服务管理器将所述改变上传到所述网络服务服务器,所述改变的上传包括将所述改变与所述网络服务服务器以及所述第一同步器同步。
CN2006800463628A 2005-12-08 2006-12-07 保存无线设备当前数据的方法和系统 Active CN101416183B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/298,079 2005-12-08
US11/298,079 US7631017B2 (en) 2005-12-08 2005-12-08 Method and system for maintaining current data for wireless devices
PCT/US2006/047146 WO2007067797A2 (en) 2005-12-08 2006-12-07 Method and system for maintaining current data for wireless devices

Publications (2)

Publication Number Publication Date
CN101416183A true CN101416183A (zh) 2009-04-22
CN101416183B CN101416183B (zh) 2013-07-24

Family

ID=38123562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800463628A Active CN101416183B (zh) 2005-12-08 2006-12-07 保存无线设备当前数据的方法和系统

Country Status (5)

Country Link
US (2) US7631017B2 (zh)
EP (1) EP1960914A4 (zh)
JP (1) JP5193056B2 (zh)
CN (1) CN101416183B (zh)
WO (1) WO2007067797A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815084B (zh) * 2009-12-31 2012-11-07 优视科技有限公司 一种用于用户终端文件管理系统及其应用方法
CN103098024A (zh) * 2010-07-20 2013-05-08 赛贝斯股份有限公司 移动中间设备场景中的成员跟踪和数据逐出
CN103324679A (zh) * 2013-05-28 2013-09-25 杭州朗和科技有限公司 一种缓存服务器中数据更新的控制方法和设备

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676162B2 (en) * 2005-05-24 2014-03-18 Marshall Feature Recognition Llc Remote subscriber identification (RSID) system and method
CN100407656C (zh) * 2005-12-09 2008-07-30 华为技术有限公司 对终端设备进行管理的方法和系统
WO2007115254A2 (en) * 2006-03-31 2007-10-11 Visto Corporation System and method for searching disparate datastores via a remote device
US7881315B2 (en) * 2006-06-27 2011-02-01 Microsoft Corporation Local peer-to-peer digital content distribution
US20080066181A1 (en) * 2006-09-07 2008-03-13 Microsoft Corporation DRM aspects of peer-to-peer digital content distribution
US8037110B2 (en) * 2007-12-27 2011-10-11 Microsoft Corporation Business data access client for online/offline client use
US20090228542A1 (en) * 2008-03-06 2009-09-10 Microsoft Corporation Occasionally-connected support through off-line service-supplied proxies
US8606877B2 (en) * 2008-05-01 2013-12-10 Tibco Software Inc. Java virtual machine having integrated transaction management system
US8458128B2 (en) * 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services
US8954488B2 (en) * 2009-01-21 2015-02-10 Microsoft Corporation Extensibility for web based diagram visualization
US20110078332A1 (en) * 2009-09-25 2011-03-31 Poon Roger J Method of synchronizing information across multiple computing devices
US8407723B2 (en) * 2009-10-08 2013-03-26 Tibco Software, Inc. JAVA virtual machine having integrated transaction management system and facility to query managed objects
US20130097116A1 (en) * 2011-10-17 2013-04-18 Research In Motion Limited Synchronization method and associated apparatus
US20130159389A1 (en) * 2011-12-19 2013-06-20 Microsoft Corporation Utilizing Dynamic Heuristic Transitions between Local and Remote Data for Displaying Electronic Communications
US20140189063A1 (en) * 2012-12-27 2014-07-03 Dropbox, Inc. Content delivery via an online synchronized content management system
US20140229438A1 (en) * 2013-02-12 2014-08-14 Dropbox, Inc. Multiple platform data storage and synchronization
SG11201605786SA (en) * 2014-03-31 2016-10-28 Oracle Int Corp Infrastructure for synchronization of mobile device with mobile cloud service
US10715502B2 (en) * 2015-12-31 2020-07-14 Verisign, Inc. Systems and methods for automating client-side synchronization of public keys of external contacts
US10671371B2 (en) * 2018-06-12 2020-06-02 International Business Machines Corporation Alerting an offline user of a predicted computer file update

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611849B1 (en) * 2000-09-29 2003-08-26 Palm Source, Inc. System for synchronizing databases on multiple devices utilizing a home base
TW579463B (en) * 2001-06-30 2004-03-11 Ibm System and method for a caching mechanism for a central synchronization server
US7447799B2 (en) 2002-04-24 2008-11-04 Good Technology, Inc. System and method for automatically updating a wireless device
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
JP2004086800A (ja) * 2002-08-29 2004-03-18 Mitsubishi Electric Corp データ同期システムおよびデータ同期方法
US20040054793A1 (en) * 2002-09-16 2004-03-18 Richard Coleman System and method for high performance shared web hosting
US7346635B2 (en) * 2003-01-21 2008-03-18 Connection Concepts, Inc. System and method for transferring a database from one location to another over a network
WO2004064481A2 (en) * 2003-01-23 2004-08-05 Dexterra, Inc. System and method for mobile data update
US7406464B2 (en) * 2003-12-08 2008-07-29 Ebay Inc. Custom caching
JP2005222130A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd プログラム管理方法及び実施装置並びに処理プログラム
EP1569136B1 (en) * 2004-02-26 2008-09-10 Research In Motion Limited An apparatus and method for processing web service descriptions
US20050227683A1 (en) 2004-03-22 2005-10-13 Motorola, Inc. Apparatus and method for over the air software repair
US20050216524A1 (en) * 2004-03-23 2005-09-29 Integrated Data Corporation Smart and selective synchronization between databases in a document management system
US7650432B2 (en) * 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US7353227B2 (en) * 2004-07-23 2008-04-01 Sap Aktiengesellschaft Conflict resolution engine
US7634519B2 (en) * 2004-12-17 2009-12-15 International Business Machines Corporation Bypassing an intermediate synchronization server of a three tiered synchronization system
CN101151841A (zh) 2004-12-23 2008-03-26 捷讯研究有限公司 主机和客户手持设备之间连续pim同步的系统和方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815084B (zh) * 2009-12-31 2012-11-07 优视科技有限公司 一种用于用户终端文件管理系统及其应用方法
CN103098024A (zh) * 2010-07-20 2013-05-08 赛贝斯股份有限公司 移动中间设备场景中的成员跟踪和数据逐出
CN103098024B (zh) * 2010-07-20 2016-03-09 赛贝斯股份有限公司 移动中间设备场景中的成员跟踪和数据逐出
CN103324679A (zh) * 2013-05-28 2013-09-25 杭州朗和科技有限公司 一种缓存服务器中数据更新的控制方法和设备
CN103324679B (zh) * 2013-05-28 2017-03-08 杭州朗和科技有限公司 一种缓存服务器中数据更新的控制方法和设备

Also Published As

Publication number Publication date
US8108344B2 (en) 2012-01-31
US20070136390A1 (en) 2007-06-14
EP1960914A4 (en) 2009-11-11
JP5193056B2 (ja) 2013-05-08
EP1960914A2 (en) 2008-08-27
WO2007067797A3 (en) 2008-08-14
US20100070472A1 (en) 2010-03-18
JP2009518757A (ja) 2009-05-07
WO2007067797A2 (en) 2007-06-14
US7631017B2 (en) 2009-12-08
CN101416183B (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
CN101416183B (zh) 保存无线设备当前数据的方法和系统
US9256655B2 (en) Dynamic access of data
US6816944B2 (en) Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
AU2006217563B2 (en) Distributed asset management system and method
CN101621405B (zh) 分布式管理监控系统及其监控方法、创建方法
US6349311B1 (en) Storage of reverse delta updates
CN100433001C (zh) 更新历史记录管理装置以及更新历史记录管理方法
US8122490B2 (en) Transfer server of a secure system for unattended remote file and message transfer
CN101160797B (zh) 动态订阅数据的方法
JP2003520363A (ja) 部分的に複製されるデータベースシステムのネットワークにおけるデータメンテナンス方法
MX2007015188A (es) Infraestructura de manejo de configuracion de granja de servidor extensible y que responde automaticamente.
US20050055422A1 (en) Transfer client of a secure system for unattended remote file and message transfer
JP2009518757A5 (zh)
US7536435B2 (en) Transfer client of a secure system for unattended remote file and message transfer
US7584277B2 (en) Transfer server of a secure system for unattended remote file and message transfer
JP5984355B2 (ja) 分散型データベースシステムおよび分散型データ処理システム
JP3811615B2 (ja) 情報配信システム、装置及び方法並びに記録媒体
US20020052887A1 (en) Method and system for distributing master file
CN101364224A (zh) 用于信息管理的系统和方法
JPH10301786A (ja) ネットワーク経由によるソフトウェアの自動インストール方式
JPH1115903A (ja) 営業店顧客情報の更新処理をするシステム
JP2002049485A (ja) ソフトウェア配布システム
JP3359057B2 (ja) 資源のバージョン管理方法
JPH08166918A (ja) サーバ・クライアント処理システムにおける業務情報管理方法
JPH0520280A (ja) 複合電子計算機システムのプログラム分配方式

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