CN1656468A - 用于同步不同数据存储器中数据存储方式的方法和设备 - Google Patents

用于同步不同数据存储器中数据存储方式的方法和设备 Download PDF

Info

Publication number
CN1656468A
CN1656468A CNA038122456A CN03812245A CN1656468A CN 1656468 A CN1656468 A CN 1656468A CN A038122456 A CNA038122456 A CN A038122456A CN 03812245 A CN03812245 A CN 03812245A CN 1656468 A CN1656468 A CN 1656468A
Authority
CN
China
Prior art keywords
data
equipment
carrier store
server
sync agent
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
CNA038122456A
Other languages
English (en)
Other versions
CN1656468B (zh
Inventor
J·皮斯帕南
M·萨希诺贾
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN1656468A publication Critical patent/CN1656468A/zh
Application granted granted Critical
Publication of CN1656468B publication Critical patent/CN1656468B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

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

Abstract

一种使用SyncML或其它类型标记语言的方法,通过该方法,两个设备(11 12)同步数据在设备(11 12)所维护的各数据存储器(11c 12c)中的组织方式;和根据所述方法操作的设备(11 12),以及一种对应的计算机程序,通过该程序,任一设备(11 12)可根据所述方法操作。根据所述方法,通过交换消息(21)的步骤(31e 31j),两个设备(11 12)针对包含数据单元和其它可能文件夹的文件夹使其各自的数据存储器(11c 12c)同步,消息(21)包括涉及文件夹的数据标识元素(28 29),以便能够就文件夹使数据存储器(11c 12c)同步,消息中在数据单元的任何引用之外提供数据标识元素(28 29)。

Description

用于同步不同数据存储器 中数据存储方式的方法和设备
技术领域
本发明涉及如何使不同设备上保持诸如桌面日历和电子邮件等一个或多个应用数据项的各个数据存储器同步。更具体地说,本发明涉及如何同步此类数据存储器的数据结构。
背景技术
现在,一个商人可能使用移动电话或掌上型(手持式)计算机(或一些其它移动终端)上的电子邮件应用和日历应用(以记住约会),并让助手在台式计算机上使用相同的应用以记住由助手代表该商人发送和接收的电子邮件,并记住该商人的约会。在这种安排下,经常出现的情况是电子邮件应用的数据项(此处也称为数据单元)和日历的数据项保持在移动电话的数据存储器和台式计算机上的另一个数据存储器中。因此,在对任一数据存储器(各包括电子邮件和日历应用数据项)进行变更时,需要使这些数据存储器同步。使在不同设备上运行的两个应用所用的相应数据存储器同步(即使两个数据存储器的数据项和数据结构同步)时,根据一种传达自上次同步以来的变更的协议来使两个数据存储器的内容彼此一致,(根据某种策略)解决在两个设备上所作改变之间的冲突,并且改变一个或两个数据存储器中的数据项或其组织或二者。
正在根据所谓的SyncML(同步标记语言)开发一种工具,用于使这种数据存储器同步,SyncML正在SyncML Initiative(SyncML发起组织)领导下进行开发。(参见http://www.syncml.org/以了解有关SyncML的信息,包括SyncML的标准和规范以及有关SyncMLInitiative的信息,特别是包括SyncML表示协议和SyncML同步协议)。SyncML是一种通用同步公用语言的开放式工业标准,用于实现跨多个网络、平台和设备的远程数据(即存储在不同设备并因此在不同数据存储器中的数据项)和个人信息的通用同步。利用SyncML,可在经一个或多个互连网络连接的不同设备上同步数据项,但不能同步数据结构,所述互连网络包括例如通用移动电信系统(UMTS)、无线电接入网络(UTRAN)和因特网,其中,通信可以完全或部分是无线的,或可以是有线的。因此,设备可以经例如固定网络(包括无线网络)、红外线、电缆或蓝牙进行通信。
除用于使数据存储器同步外,SyncML(即所述语言)还可用于设备管理,并且更具体地说,可用于在客户机和客户机的管理服务器之间传送管理动作。参见http://www.syncml.org/以得到所述规范、SyncML设备管理协议。SyncML设备管理协议允许在管理对象上执行管理命令,并且它使用类似于SyncML同步协议和SyncML表示协议的数据包格式。管理对象可反映设备的一组配置参数。可以对此对象采取的操作可包括读取和设置参数键和值。另一管理对象可以是设备上软件应用的运行时间环境。可对此类型对象采取的动作可包括安装、升级或卸载软件元素。动作由SyncML设备管理协议命令表示,这些命令在SyncML表示协议设备管理用法(SyncMLRepresentation Protocol,Device Management Usage)中描述。使用的命令和消息结构完全对应于SyncML同步协议的结构。(因此,所谓的管理协议文档类型定义是SyncML同步协议的文档类型定义。)
迄今为止,移动数据同步的进展大部分由约束确定。数据存储同步一直基于一组不同的专有协议,每个协议仅对有限数量的设备、系统和数据类型有作用。这些非互操作的技术使用户、制造商、业务提供商和开发商的任务变得复杂。此外,不同的专有数据存储同步协议的大量增加已经对移动设备的扩展使用设置了障碍,约束了数据访问和传送,并限制了用户的移动性。
随着移动计算和通信设备的普及,用户希望能在任何位置,使用任一可用设备访问更新信息和应用,这提示需要一种开放标准如SyncML标准。
SyncML使用在可扩展标记语言(XML)1.0中所造成的所谓的可扩展标记语言(XML)的语法;可扩展标记语言(XML)1.0是万维网联合(W3C)XML行动组的产品,该行动组的网站为:http://www.w3.org。有关XML的信息,参见http://www.w3.org/XML。
术语数据项或数据单元在本文使用时,指组织成本文称为文件夹的数据单元,所述文件夹又组成本文所述的目录结构,也称为数据结构。参照图4,它显示了包括不同文件夹的目录结构,每个文件夹可包括一个或多个数据单元。
术语目录结构或数据结构及术语文件夹要从广义上理解。首先,文件夹应理解为数据单元的任意容器。因此,例如,不同操作系统(如微软公司提供的Windows)中所谓的文件夹应按本文所用的术语文件夹来理解,但因此是关系数据库的一个表中的记录,这是因为此类表中的记录包括字段,而字段是数据单元。甚至可以将这种字段视为文件夹,因为字段可包含字符、数字或可视为数据单元的其它元素,因此每个字段是一个文件夹。
术语目录结构或数据结构指数据存储器中文件夹的安排,例如,由操作系统维护的目录中的文件夹树状结构,这种情况下,数据单元将是文件。但术语目录结构或数据结构应理解为还包括由应用内部维护的目录结构,即不由操作系统维护,而是由在操作系统下运行的应用维护的目录结构。一个示例是由大多数电子邮件应用维护的目录结构,这些电子邮件应用通常总是包括至少两个文件夹:接收电子邮件(收件箱)文件夹和发送电子邮件(发送)文件夹。此外,术语目录结构或数据结构也应理解为包括由不同应用共享的内部目录结构(这样,目录结构不是只在一个应用的内部,而是属于几个接口通常设计良好的应用,任一应用可改变它)。此外,术语目录结构或数据结构还应理解为包括系统目录结构和内部目录结构两者。在内部目录由电子邮件应用维护的情况下,数据单元将是一个电子邮件、一种内部文件。在任一类型的目录结构中,文件夹通常可以包括属于不同应用的数据单元,并且根据所维护的与数据单元相关联的某一属性;或者根据保持属于其的所有数据单元而无论这些数据单元在何处的专用表的应用,应用知道某个数据单元是否属于它或另一应用。同样地,如上所述,文件夹可表示例如数据库表中的一个记录,或者甚至是此类记录内的一个字段,因此,术语目录结构或数据结构还应理解为包括甚至数据库结构(文件夹是记录时)或记录结构(文件夹是字段时)。重要的是要理解术语文件夹因此可广泛地用于表示任何数据单元容器,并且术语目录结构或数据结构具有相应广泛的含意。
应用的用户可以改变属于应用的数据单元(如添加新数据单元,或者由于用户已使用应用改变了数据单元的内容而将数据单元替换为更新版本等),以及改变数据项存储方式(如,添加新文件夹并从现有文件夹中搬移一些数据单元到该新文件夹中),即改变数据存储到单元及文件夹(即,整体目录结构)的方式。然而,根据用于SyncML的现有技术,如果用户改变设备上的文件夹,SyncML无法用于使该设备上的数据存储器与另一设备上维护的对应数据存储器同步;用于SyncML的现有技术只允许有关数据单元变化的同步。
SyncML消息是一种嵌套结构,并且一个或多个SyncML消息可与所述SyncML数据包相关联。SyncML Message是由一个或多个元素组成的单独XML文档,并且每个元素属于一种或多种元素类型。该文档由SyncHdr元素类型指定的标题和由SyncBody元素类型指定的正文组成。SyncML标题指定有关SyncML消息的路由和版本信息。SyncML正文是用于一个或多个SyncML命令的容器。SyncML命令由单独的元素类型指定。SyncML命令充当其它元素类型的容器,所述其它元素类型描述SyncML命令细节,包括任意数据或元信息。
SyncML定义请求命令和响应命令。例如,请求命令包括:添加(允许始发方要求将一个或多个数据单元添加到接收方可访问的数据中的命令);提醒(允许始发方通知某个条件的接收方);复制(允许始发方要求复制接收方可访问的一个或多个数据单元);删除(允许始发方要求删除或归档接收方可访问的一个或多个数据单元);获得(允许始发方从接收方请求一个或多个数据单元);以及检索(允许始发方要求对接收方可访问的一个或多个数据单元执行提供的查询)。当前仅有的响应命令如下:状态(表示操作的完成状态或者在处理前一请求时出现的错误);以及结果(用于返回获得或检索SyncML命令的数据结果)。
SyncML使用标识符识别数据单元或文件夹。标识符包括在所谓的源和目标元素类型中,并可以是统一资源标识符(URI)、统一资源名称(URN)和文本名称的组合。(为表示国际移动设备标识符(IMEI),SyncML使用IMEI URN类型。IMEI URN指定有效的15位IMEI。另外,SyncML使用SyncML URN类型来识别SyncML特定的名称空间和独特的名称。其它URN类型也可用在LocURI元素类型中。)
如前所述,SyncML表示协议(即,SyncML消息)是由XML元素类型组成的文档标记。元素类型是根据其用途或用法、父元素、有关内容或使用与内容模型的任何限制来定义的。元素类型包括所谓的通用元素、消息容器元素、数据描述元素、协议管理元素和协议命令元素。
通用(common use)元素类型是由其它SyncML元素类型使用的元素类型,包括例如归档,用于指示删除命令中指定的数据应该由删除命令的接收方归档,而不是简单地被删除。因此,删除命令可使用实现通用元素,因此在此上下文中被称为归档通用元素类型的父元素。另一通用元素类型是Cmd元素类型,它用于指定由状态元素类型引用的SyncML命令(因此状态元素类型在此上下文中是父元素)。另一个是CmdID元素类型,它用于指定SyncML消息独有的命令标识符,并可具有不同的父元素,包括:Add、Alert、Atomic、Copy、Delete、Exec、Get、Map、Put、Replace、Results、Search、Sequence、Status和Sync。
本发明尤其要注意的是公共元素类型(common element type)LocName、LocURI、Source和Target。LocName用于指定目标或源地址的显示名称,因此可将Target或Source作为父元素。LocURI指定目标或源特定地址,并因此也可以将Target或Source作为父元素。公共元素类型Source用于指定源路由或映射信息;其父元素包括:Item、Map、MapItem、Search、Sync和SyncHdr。Target用于指定目标路由或映射信息,其父元素包括:Item、Map、MapItem、Search、Sync和SyncHd。
消息容器元素类型为SyncML消息提供了基本容器支持。三个此类元素类型为:SyncML,用于指定SyncML消息容器,且由于它是所谓的根或文档元素而不具有父元素;SyncHdr,用于指定SyncML消息中修订信息或路由信息(或两者)的容器,并将SyncML元素作为父元素;以及SyncBody,用于指定SyncML消息正文或内容的容器,并也将SyncML元素作为父元素。
数据描述元素用作在SyncML Message中交换的数据的容器元素;数据描述元素包括以下元素类型:Data,用于指定离散SyncML数据,并由(父元素)Alert、Cred、Item、Status和Search元素类型使用;Item,用于指定项目数据的容器,并由(父元素)Add、Alert、Copy、Delete、Exec、Get、Put、Replace、Results和Status使用;以及Meta,用于指定有关父元素类型的元信息,并由(父元素)Add、Atomic、Chal、Copy、Cred、Delete、Get、Item、Map、Put、Replace、Results、Search、Sequence和Sync使用。
协议管理元素目前只包括元素类型Status,用于为所示SyncML命令指定请求状态代码并由(父元素)SyncBody使用。
最后,存在协议命令元素。这些元素包括已经提到的命令无素,即,例如:Add,用于指定要添加到数据集合中的数据,由(父元素)Atomic、Sequence、Sync、SyncBody使用;Delete;Replace等。
所有上述元素类型在标准SyncML表示协议中提出,该协议可从如下因特网址获得:
http://www.syncml.org/docs/syncml_represent_v11_20020215.pdf。
如果同一应用负责根据同步协议处理数据并处理通信,则传达目录结构变化不是问题。但就更一般的问题而言,其中每个设备上几个应用共享组织为目录结构的一个数据存储器,在目录结构的一个或多个文件夹中存储其各自的数据单元,这样,如何才能最好地同时安排数据单元和文件夹的同步,即如何构建达此目的的同步协议并不清楚。根据开放标准SyncML同步协议(SyncML Initiative的一项成果),具有要(在任一方面)同步的相应数据存储器的两个远程设备中的每个设备包括同步(Sync)代理(每个设备一个,因此可能服务多个不同应用)和一个或多个应用实体,并且以下同步协议(即,根据标准中所造成的同步协议通信)不是应用的责任,而是同步代理的责任。(只有同步代理而非应用理解SyncML。)但只有应用知道自最近已经执行的同步以来数据单元是否已改变。有关如何扩展SyncML同步协议的一些选项要求在每个应用中包括SyncML的知识,如同步代理中对什么进行编码,并且一些选项要求同步代理能够以不同应用的方式解释数据单元。
所需要的是一种供SyncML(或任一相似的同步语言)使用的方法,以将对同步代理的要求降到最低的方式引用数据组织方面,如目录结构中的文件夹,从而避免不得不复制代码或文件夹信息。
本发明公开内容
因此,在本发明的第一方面,提供了一种方法,由结合第一数据存储器起作用的第一同步代理和结合第二数据存储器起作用的第二同步代理使用,借助这种方法,使所述第一数据存储器与所述第二数据存储器同步,所述数据存储器各自由与所述第一和第二同步代理不同的相应的第一和第二应用用于将数据作为数据单元存储在文件夹中,所述文件夹结合起来定义了数据结构;所述方法包括:所述第一和第二同步代理建立传输连接以便允许所述第一和第二同步代理通信的步骤;以及所述第二同步代理经所述传输连接向所述第一同步代理发送消息的步骤,所述消息使用标记语言表示,并具有至少一个数据标识元素(术语数据标识元素在此处用于表示SyncML中所谓的Target元素或SyncML中所谓的Source元素,但要理解为还包括类似于SyncML的任一标记语言中的类似元素,因此,术语数据标识元素与术语数据元素截然不同,数据元素指SyncML或类似语言中包含数据单元的元素);其中在所述消息中传送有关所述第一或第二数据存储器所述数据结构变化的信息;而且其中有关所述第一或第二数据存储器所述数据结构变化的所述信息放置在所述至少一个数据标识元素中。
根据本发明的第一方面,所述至少一个数据标识元素可以在数据元素的外部,即不包含在数据元素中(即,SyncML标记语言的数据描述元素或类似标记语言的类似元素的一种特殊类型)。同样地,根据本发明的第一方面,有关所述第一或第二数据存储器所述数据结构变化的所述信息可包括文件夹的标识。而且,所述至少一个数据标识元素可以是target元素或source元素。而且,所述数据标识元素还可以包含在协议命令元素中,并且所述协议命令元素结合所述数据标识元素可指示有关所述第一或第二数据存储器的数据结构变化的信息。而且,所述数据标识元素还可以包含由第二同步代理指定的(标记语言SyncML中的)所谓LocURI元素(或类似标记语言中的类似元素),并且有关所述第一或第二数据存储器的数据结构变化的信息可在所述LocURI元素中提供。
仍根据本发明的第一方面,第一设备可容纳所述第一同步代理及所述第一数据存储器和所述第一应用,并且第二设备可容纳第二同步代理及所述第二数据存储器和所述第二应用。此外,所述第一设备可用作客户机/服务器协议中的客户机,并且所述第二设备可用作所述客户机/服务器协议中的服务器;并且所述消息可由所述客户机提供给所述服务器。此外,所述第一设备也可用作客户机/服务器协议中的服务器,并且所述第二设备可用作所述客户机/服务器协议中的客户机;并且所述消息可由所述服务器提供给所述客户机,以及传送所述消息的步骤可以响应于客户机消息,并且(还)可包括解决与服务器所容纳的数据存储器有关的客户消息所造成的任何冲突。
仍根据本发明的第一方面,所述第一应用可响应所述消息中包括的任何数据元素,并且所述第一同步代理可响应所述数据标识元素,并在所述第一应用根据所述消息中包括的任何数据元素传送的信息对所述第一数据存储器的数据单元进行任何改变前,可根据所述数据标识元素传送的信息,改变所述数据存储器的数据结构。而且,所述第二同步代理可在所述数据标识元素中提供有关所述第一或第二数据存储器的数据结构变化的信息,并且所述第二应用可在数据元素中提供有关所述第一或第二数据存储器中数据单元变化的信息。而且,所述第一同步代理还可响应所述消息,从所述数据标识元素中提取有关所述数据结构变化的信息,并可将该信息提供给同步引擎或应用实体。
在本发明的第二方面中,提供了一种设备,这种设备在有关第一设备操作和第二设备操作的方面,按照本发明第一方面来运行。根据本发明的第二方面,所述设备可以是无线通信终端。而且,作为替代,所述设备还可以是有线通信终端。而且,设所述备还可作为客户机服务器模型中的服务器,并可包括用于解决消息所造成的冲突的同步引擎。
根据本发明的第三方面,提供了一种系统,它包括与本发明第二方面一样的第一设备,其中所述第一设备在客户机服务器模型中用作服务器,并包括用于解决消息所造成的冲突的同步引擎;并且还包括本发明第二方面中的第二设备,其中所述第二设备用作客户机服务器模型中的客户机。
根据本发明的第四方面,提供了一种计算机程序,用于指示电信设备(11 12)的操作指令,以便电信设备(11 12)可涉及第一同步代理且也涉及第二同步代理的本发明第一方面操作。
在本发明的第五方面,提供了一种计算机程序,用于向同步代理指示操作指令,以便同步代理可根据涉及第一同步代理且也涉及第二同步代理的本发明第一方面操作。
因此,本发明扩展了SyncML,以提供一种针对文件夹变化使数据存储器同步的方式,数据存储器可由应用结合用户数据或设备管理来使用;现在,一个数据存储器中文件夹和数据单元的变化均可在另一数据存储器中反应出来。
本发明具有的优点是不要求对设备上的每个应用进行编码以便理解SyncML,而只需与设备的同步代理和服务器上的同步代理接口。另外,本发明避免了不得不在每个设备的同步代理中包括如何解释共享数据存储器的不同应用的数据单元的任何知识,而该数据存储器与另一设备上对应的数据存储器同步。
附图简述
通过理解结合附图给出的详细说明,将明白本发明的上述和其它目的、特征和优点,附图中:
图1是根据本发明,客户机(如移动电话)和服务器(如网络服务器或PC)交换SyncML消息以使其各自的数据存储器同步的方框图/流程图;
图2是根据本发明的SyncML消息的示意图;
图3是一个流程图,说明在同步期间使用根据本发明构造的消息在客户机组件与服务器组件之间进行协作的一种方案;以及
图4是目录结构的示意图(根据现有技术)。
实施本发明的最佳模式
现在参照图1,图中显示客户机11正在使数据存储器11c与服务器12的对应服务器数据存储器12c同步。(数据存储器可用于设备管理或者保持用户数据,如电子邮件。)数据存储器通常可以包括一个(或甚至多个)系统目录结构,并且还可能包括一个或多个内部目录结构(即,内部目录结构是不由操作系统而由一个或多个应用维护的一种目录结构),任一目录结构可如图4所示,因此,目录结构是文件夹的树状结构,每个文件夹可包括一个或多个数据单元(如文件,即在系统目录结构中维护的数据单元,或在内部目录中由应用维护的单元或数据,如由电子邮件应用维护的电子邮件)及树状结构的一个或多个其它文件夹。同步通过交换SyncML消息进行,但也可使用根据任何类似结构或相似的语言的消息。一些交换的SyncML消息包括用于针对数据单元使数据存储器11c 12c同步的命令,一些用于针对数据组织使这些数据存储器同步,即,使得两个数据存储器在文件夹上具有等效的结构,至少在涉及执行同步所代表的应用范围内。客户机11是客户机/服务器模型中起客户机作用的任一设备,根据SyncML协议,客户机(通常是膝上型计算机或便携式电话或其它无线终端)将其数据存储器11c中的所有变化发送到服务器12,即所述客户机/服务器模型中起服务器作用的设备(例如,通常为台式计算机)。(在使其各自的数据存储器同步的两个设备中,具有更大计算能力的设备通常承担服务器的角色。)
客户机11和服务器12包括一个或多个相应的应用实体11a 12a,并且它们还包括(一般,即,不特定于某种特殊应用)相应的同步代理11b 12b。服务器应用实体12a与客户机应用实体11a的不同之处在于:它不仅与服务器同步代理接口,而且也与服务器同步引擎12f接口,该引擎在客户机11中没有对应物。同样地,服务器同步代理12c与客户机同步代理11c的不同之处在于:它还与服务器同步引擎12f连接。客户机/服务器应用实体11a/12a例如是用于记住某个商人约会的日历应用。如果在客户机设备11上制定了约会,则该约会信息会作为新文件存储在客户机数据存储器11c中。以后,在客户机11请求或服务器12提示时,数据存储器12c会就新数据(即,新文件)与客户机数据存储器11c进行同步。另外,如果客户机数据存储器11c上的目录结构发生变化,则客户机数据存储器11c和服务器数据存储器12c必须再次进行同步,这种情况下涉及的是目录结构,即,涉及的是什么文件夹用于保持应用的数据单元。而且,服务器数据存储器12c上所作的任何变化,包括用于应用11a 12a的文件夹或数据单元的变化,均将通过交换SyncML消息来请求使客户机数据存储器11c和服务器数据存储器12c同步。
仍参照图1,SyncML消息可通过不同的传输连接14传送,包括例如超文本传输协议(HTTP)、有线会话协议(WSP)和对象交换协议(OBEX)。(传输连接可使用任一种类的物理层连接提供,包括无线连接或有线连接。)如图所示,在服务器12将SyncML消息传送到客户机11(反之亦然)时,服务器同步代理12b使用同步接口(I/F)12d向服务器同步适配器12e提供消息,而该适配器又将SyncML消息经传输连接14提供给客户机11。在接收端,客户机同步适配器11e接收SyncML消息,并将它传送到客户机同步I/F 11d,而该接口又将它提供给客户机同步代理11b。
现在,为了针对文件夹及数据单元变化使数据存储器11c 12c同步(以便相同的数据单元在每个设备上相同或等效的文件夹中,并且每个对应数据单元的内容相同),本发明让SyncML使用与改变数据单元相同的命令来改变文件夹;因此,通过发送消息来改变文件夹,所述消息传送诸如Sync、Add、Replace和Delete等操作元素(协议命令元素),其中,在本文所谓的数据标识元素,即DATA元素外部的TARGET或SOURCE元素内引用受影响的文件夹。为改变数据单元,根据现有技术的SyncML需要一条消息,该消息引用嵌套在操作元素中DATA元素内数据单元。正是利用了DATA元素外部对受影响文件夹的引用(即数据描述元素),使本发明优于引用受影响文件夹的其它可能方案(即,不必复制代码以允许每个应用实现SyncML解析,且不必在每个同步代理中包括用于解释每个不同应用数据单元的代码)。
现在参照图2,因此,根据本发明,在数据元素28 29(即,特殊类型的数据描述元素)之外(即不包含在其中)的协议命令元素25(如replace)的Source元素26和Target元素27的LocURI元素26a27a中,标识或指示了在使这些数据存储器11c 12c同步的过程中受影响的文件夹(且因此在目录方面的数据组织)。Target和Source元素在此处均称为数据标识元素,以表示与包含数据单元的数据元素2829截然不同。根据本发明的数据标识元素一般嵌在非数据元素容器(如item元素)中,而该容器又嵌在协议命令元素24中。协议命令元素24作为SyncBody容器元素23的一部分传送,该容器元素与SyncHdr容器元素22一起均包括在SyncML容器元素,即SyncML消息21中。
数据单元和文件夹均发生变化时,必须先使文件夹同步,并且会制定消息,以便先改变文件夹,然后再改变数据单元。每次(对数据单元或文件夹的)改变通过一个操作元素来实现。文件夹变化应安排在任何数据单元变化之前。
因此,根据本发明,在消息中发送文件夹变化时,例如,在添加新文件夹到客户机时,使操作元素“add”的数据元素(即,特殊类型的数据描述元素)为空,或者在消息中不指示此类(“add”)元素,并且在任一数据元素外部的数据标识元素(Source元素或Target元素)的LocURI元素内传送文件夹信息(文件夹的ID和完整路径)。
下面的SyncML消息片段说明在replace命令内如何寻址标识符为7、且位于标识符为1的文件夹内的文件夹。
<Replace>
        <Item>
            <Source>
               <LocURI>./1/7/</LocURI>
                 <LocName>My own messages</LocName>
            </Source>
</Replace>
当寻址文件夹中的数据单元时(不同于寻址文件夹本身),文件夹标识符和有关目录结构根(在树状结构的情况下)的文件夹路径在操作元素,即协议命令元素(如Replace或Delete)的Target和Source公共元素类型中的LocURI内传送。下面的示例说明,当标识符为7的文件夹位于标识符为1的文件夹内时,如何对文件夹7中具有本地唯一标识符(LUID)123的项目寻址。
<Replace>
        <Item>
            <Source>
               <LocURI>./1/7/123</LocURI>
                 <LocName>Hi there!</LocName>
            </Source>
</Replace>
下面是根据本发明的SyncML消息示例,该消息包括用于在接收方(可以是客户机或服务器)中创建文件夹信息的操作元素(命令)。在示例中,使用了明文XML;在无线环境中,通常不使用明文,而会使用WBXML(无线二进制XML)。
<SyncML>
<SyncHdr>
   <VerDTD>1.0</VerDTD>
   <VerProto>SyncML/1.0</VerProto>
   <SessionID>1</SessionID>
   <MsgID>2</MsgID>
   <Target><LocURI>OBEX://123456/messaging-server</LocURI></Target>
   <Source><LocURI>IMEI:493005100592800</LocURI></Source>
</SyncHdr>
<SyncBody>
   <Sync>
     <CmdID>3</CmdID>
     <Target>
        <LocURI>./Messaging/MMS</LocURI>
     </Target>
     <Source>
        <LocURI>./MMS</LocURI>
     <Source>
     <Replace>
        <!--Sending the folder structure-->
        <CmdID>4</CmdID>
        <Item>
         <Source>
           <LocURI>./100/</LocURI>
           <LocName>My Folder</LocName>
          </Source>
        </Item>
     </Replace>
</SyncML>
以上SyncML消息片段将LocURI为./100/的文件夹重命名为“Myfolder”。
同步
根据本发明,可以像在例如规范即SyncML同步协议1.1版中所述的那样来实现(双向)同步,扩充如下:
如果前一次同步后客户机的文件夹结构有修改,则应满足Sync元素内操作元素(如Replace、Add和Delete)的以下要求。
应在发送任何消息对象前发送文件夹信息,即,在指定定义对消息对象的任何修改的命令前,应在修改数据包中指定Replace命令。
不应为Item元素指定Data元素。
如果操作不是删除,则Item元素中Meta元素内的Mark元素应用于在承载有关文件夹的信息(例如,文件夹的类型)。
如果操作不是删除,则Item元素的Source元素内的LocName元素应指定文件夹的可显示名称。
Item元素中Source元素内的LocURI元素应指定文件夹标识符和文件夹的完整路径,即,所有可能的子文件夹标识符也应在LocURI元素中指定。文件夹标识符应该用斜杠(“/”)定界。
如果在前一次同步后客户机的消息对象中有修改,则应满足Sync元素内操作元素的以下要求。
如果操作不是删除,则Item元素中Source元素内的LocName元素应指定消息的可显示名称。
如果操作不是删除,则Item元素中Meta元素内的Mark元素应用于在承载有关消息状态的信息(例如,已读/未读信息)。
Item元素中Source元素内的LocURI元素应指定项目的标识符,包括完整的路径,即,所有可能的文件夹和子文件夹标识符也应在LocURI元素中指定。项目标识符(即,LUID)应始终作为LocURI元素中的最后一个值显示。文件夹标识符应用斜杠(“/”)定界。
下面是客户机向服务器发送修改的示例。
<SyncML>
<SyncHdr>
      <VerDTD>1.0</VerDTD>
      <VerProto>SyncML/1.0</VerProto>
       <SessionID>1</SessionID>
       <MsgID>2</MsgID>
       <Target><LocURI>OBEX://123456/messaging-server</LocURI></Target>
       <Source><LocURI>IMEI:493005100592800</LocURI></Source>
   </SyncHdr>
   <SyncBody>
      <Status>
        <CmdID>1</CmdID>
        <MsgRef>1</MsgRef>
        <CmdRef>0</CmdRef>
        <Cmd>SyncHdr</Cmd>
        <TargetRef>IMEI:493005100592800</TargetRef>
        <SourceRef>OBEX://123456/messaging-server</SourceRef>
        <Data>212</Data><!--Statuscode for OK,authenticated for session-->
    </Status>
    <Status>
       <CmdID>2</CmdID>
       <MsgRef>1</MsgRef>
       <CmdRef>5</CmdRef>
       <Cmd>Alert</Cmd>
       <TargetRef>./MMS</TargetRef>
       <SourceRef>./Messaging/MMS</SourceRef>
       <Data>200</Data><!--Statuscode for Success-->
       <Item>
          <Data>
           <Anchor                                            xmlns=′syncml:metinf′><Next>200005022T093223Z</Next></Anchor>
         </Data>
       </Item>
    </Status>
    <Sync>
       <CmdID>3</CmdID>
       <Target>
          <LocURI>./Messaging/MMS</LocURI>
       </Target>
       <Source>
          <LocURI>./MMS</LocURI>
       </Source>
       <Meta>
         <Mem xmlns=′syncml:metinf'>
            <FreeMem>8100</FreeMem>
            <!--Free memory(bytes)in MMS database on a device-->
  <FreeId>81</FreeId>
  <!--Number of free records in MMS database--></Mem></Meta><Replace><!--Sending the folder structure--><CmdID>4</CmdID><Item>
   <Source>
      <LocURI>./100/</LocURI>
      <LocName>My Folder</LocName>
   </Source></Item></Replace><Replace><!--Sending the folder structure--><CmdID>5</CmdID><Item>
   <Source>
      <LocURI>./102/</LocURI>
      <LocName>My messages</LocName>
   </Source></Item></Replace><Replace><!--Sending the actual message--><CmdID>6</CmdID><Meta>
 <Type xmlns=′syncml:metinf'>application/wap.mms-message</Type></Meta><Item>
   <Source>
      <LocURI>./100/123</LocURI>
      <LocName>Hi there!</LocName>
   </Source>
   <Data><!--The MMS data would be placed here.--></Data><Meta>
 <Mark xmlns=′syncml metinf>unread</Mark>
 <!--Items status is′unread′--></Meta></Item></Replace>
      </Sync>
      <Final/>
   </SyncBody>
</SyncML>
如果在前一次同步后服务器的文件夹结构有修改,则应满足Sync元素内操作元素的以下要求。
应在发送任何消息对象前发送文件夹信息,例如,在指定定义对消息对象的修改的任何命令前,应在修改数据包中指定Replace命令。
不应为Item元素指定Data元素。
如果操作不是删除,则Item元素中Meta元素内的Mark元素应用于承载有关文件夹的信息(例如,文件夹的类型)。
如果操作不是删除,则Item元素的Target内的LocName元素应指定文件夹的可显示名称。
如果操作是添加,则Source元素的LocName应指定文件夹的可显示名称。
Item元素的Target元素内的LocURI元素应指定客户端文件夹标识符和文件夹的完整路径,即,所有可能的子文件夹标识符也应在LocURI元素中指定。文件夹标识符应该用斜杠(“/”)定界。
如果操作是添加,则Source元素的LocURI应指定服务器端文件夹标识符和路径。Target元素的LocURI应指定客户机的文件夹路径。文件夹标识符不应在Target LocURI内指定。
如果在前一次同步后服务器的消息对象有修改,则应满足Sync元素内操作元素的以下要求。
如果操作是添加,则Item元素中Source内的LocName应指定消息的可显示名称。Item元素中Source内的LocURI元素应指定项目的标识符,包括完整的路径,即,所有可能的文件夹和子文件夹标识符也应在LocURI元素中指定。项目标识符(即,GUID)应始终作为LocURI元素中的最后一个值显示。文件夹标识符应该用斜杠(“/”)定界。Target元素的LocURI应指定客户机的文件夹路径,但项目标识符不应在Target LocURI内指定。
如果操作是修改,则Item元素中Target内的LocName元素应指定消息的可显示名称。Item元素中Target内的LocURI元素应指定项目的标识符,包括完整的路径,即,所有可能的文件夹和子文件夹标识符也应在LocURI元素中指定。项目标识符(即,LUID)应始终作为LocURI元素中的最后一个值显现。文件夹标识符应该用斜杠(“/”)定界。
如果操作是删除,则Item元素中Source内的LocURI元素应指定客户端项目标识符,包括客户机的完整路径,即,所有可能的文件夹和子文件夹标识符也应在LocURI元素中指定。文件夹标识符应该用斜杠(“/”)定界。
如果操作不是删除,则Item元素中Meta元素内的Mark元素应用于承载有关消息状态的信息(例如,已读/未读信息)。
下面是服务器向客户机发送修改的示例。<SyncML>
<SyncHdr>
  <VerDTD>1.0</VerDTD>
  <VerProto>SyncML/1.0</VerProto>
  <SessionID>1</SessionID>
  <MsgID>2</MsgID>
  <Target><LocURI>IME:493005100592800</LocURI></Target>
  <Source><LocURI>OBEX://123456/messaging-server</LocURI></Source></SyncHdr><SyncBody>
  <Stataus>
    <CmdID>1</CmdID>
    <MsgRef>2</MsgRef><CmdRef>0</CmdRef><Cmd>SyncHdr</Cmd>
    <TargetRef>OBEX://123456/messaging-server</TargetRef>
    <SourceRef>IMEI:493005100592800</SourceRef>
    <Data>200</Data>
  </Status>
  <Stataus><!--This is a status for the client modifications to the server.-->
    <CmdID>2</CmdID>  <MsgRef>2</MsgRef><CmdRef>3</CmdRef><Cmd>Sync</Cmd><TargetRef>./Messaging/MMS</TargetRef><SourceRef>./MMS</SourceRef><Data>200</Data><!--Statuscode for success--></Status><Stataus><CmdID>3</CmdID><MsgRef>2</MsgRef><CmdRef>4</CmdRef><Cmd>Replace</Cmd><SourceRef>./100/</SourceRef><Data>200</Data><!--Statuscode for success--></Status><Status><CmdID>3</CmdID><MsgRef>2</MsgRef><CmdRef>4</CmdRef><Cmd>Replace</Cmd><SourceRef>./102/</SourceRef><Data>200</Data><!--Statuscode for Success--></Status><Status><CmdID>3</CmdID><MsgRef>2</MsgRef><CmdRef>6</CmdRef><Cmd>Replace</Cmd><SourceRef>./100/123</SourceRef><Data>200</Data><!--Statuscode for Success--></Status><Sync><CmdID>4</CmdID><Target><LocURI>./MMS</LocURI></Target><Source><LocURI>./Messaging/MMS</LocURI></Source><Add>
 <!-Sending the folder structure-->
 <CmdID>5</CmdID>
 <Item>
     <Target>
        <LocURI>./102/</LocURI>
     </Target>
     <Source>
        <LocURI>./4044/223</LocURI>
        <LocName>My Own Message</LocName>
     </Source>
 </Item></Add><Replace>
 <CmdID>6</CmdID>
          <Meta>
             <Type xmlns=′syncml:metinf'>application/wap.mms-message</Type>
          </Meta>
          <Item>
           <Target>
              <LocURI>./102/1023</LocURI>
              <LocName>A holiday picture.</LocName>
           </Target>
           <Data><!--The MMS data would be placed here.--></Data>
           <Meta>
              <Mark xmlns=′syncml:metinf′>send</Mark>
           </Meta>
       </Item>
    </Replace>
    <Add>
       <CmdID>7</CmdID>
       <Meta>
          <Type xmlns=′syncml:metinf'>application/wap.mms-message</Type>
       </Meta>
       <Item>
           <Target>
              <LocURI>./102</LocURI>
           </Target>
           <Source>
              <LocURI>./4044/1980556</LocURI>
              <LocName>Hello John!</LocName>
            </Source>
           <Data><!--The MMS data would be placed here.--></Data>
        <Meta>
           <Mark xmlns=′syncml:metinf>read</Mark>
        </Meta>
       </Item>
     </Add>
  </Sync>
  <Final/></SyncBody></SyncML>
在具有命令标识符(ID)5的上述命令中,服务器对名为“My OwnMessages”的文件夹使用全局唯一标识符(GUID)./4044/223/。如SyncML同步协议(标准)1.1版第5.3节中所述,客户机同步代理将为文件夹指定LUID,且随后将向服务器返回显示(客户机的)LUID如何与(服务器的)GUID相关联的地图。(参见第5.3.1节提供的示例。)
一些文件夹处理
如前所述,文件夹只是同步会话中的另一对象。例如,假设用户在客户机设备(例如,膝上型计算机或移动电话)中创建了新文件夹,客户机因此必须在下次同步会话中发送包含有关新文件夹信息的Replace命令。根据本发明,这将通过以下SyncML消息片段来完成:
<Sync>
   <CmdID>4</CmdID>
   <Target><LocURI>./MMS</LocURI></Target>
   <Source><LocURI>./Messaging/MMS</LocURI></Source>
   <Replace>
     <CmdID>5</CmdID>
     <Item>
        <Source>
           <LocURI>./4/7/</LocURI>
           <LocName>My messages</LocName>
        </Source>
     </Item>
   </Replace>
</Sync>
在接收方接收不包含Data元素的操作(即,Replace或Add)时,它应假定操作是文件夹处理操作。
创建文件夹
通过指定Replace或Add命令,可完成文件夹创建。下面是如何在客户机的收件夹(客户端收件夹具有标识符1011)中创建具有文件夹标识符7的新文件夹的示例。
<Add>
  <CmdID>4</CmdID>
  <Item>
  <Target>
     <LocURI>./1011/</LocURI>
     <Target>
     </Source>
     <Source>
        <LocURI>./1/7/</LocURI>
      <LocName>New Folder</LocName>
      </Source>
  </Item>
</Add>
客户机应向服务器返回映射信息,为服务器指出服务器文件夹的标识符如何与客户机文件夹的标识符相关,并且服务器应使用客户机文件夹标识符识别文件夹。因此,由服务器发送的操作元素中Item元素内的Target元素应始终包括客户端文件夹路径。
如果已在服务器上创建了新文件夹,并且消息已添加到该文件夹,则服务器必须在服务器修改数据包的第一个消息中发送其文件夹操作(即,包含文件夹信息的Add命令),并且不得在消息中指定Final标记。客户机必须能够在随后的消息中向服务器返回文件夹标识符映射信息,这样,服务器可以在包含实际消息的Add操作的Target元素内指定客户机的文件夹标识符。
重命名文件夹
由于文件夹的显示名称已在LocName元素内传送,因此无需用于重命名文件夹的特殊操作。因此,在文件夹的可显示名称改变后,应发送Replace命令,并且LocName元素应包含文件夹的新可显示名称。
移动文件夹
由于文件夹的完整路径在LocURI元素内传送,因此无需用于移动文件夹的特殊操作。因此,在文件夹已移入另一文件夹中时,应发送Replace命令,并且新文件夹路径应包括在LocURI元素中。如果在服务器中已创建了新文件夹,并且现有文件夹已移入新文件夹中,则服务器应先将新文件夹添加到客户机,并在收到文件夹标识符映射信息后,服务器应移动现有文件夹,即,它随后应发送包含新客户端文件夹路径的Replace命令。
应用元素、同步元素和同步引擎之间的合作
图1中及图3中显示了客户机和服务器应用11a 11b与同步单元11b 12b及服务器同步引擎12协作处理数据组织(目录结构)变化的一个可能方案,但这种方案不是本发明的主题。重要的是要理解本发明使得客户机和服务器同步单元11b 12b无需为提取与数据组织变化相关的信息而将SyncML消息向下解析到数据元素层次,并且客户机和服务器应用11a 12a无需理解有关目录结构的任何信息,便可访问其各自的数据存储器11c 12c以添加、替换或删除数据。
不过,再次参照图1和图3,在用于使两个数据存储器11c 12c同步的一种方案中,在第一步骤31a中,服务器同步代理12b与客户机同步代理11b建立传输连接(意味着客户机同步代理采取相应的操作,但图3中未显示)。在下一步骤31b中,客户机应用11a(假定只有一个应用,但可能不止一个,所有应用均共享相同的数据存储器)确定自上一次同步后客户机数据存储器11c中的变化,并且客户机同步代理对数据存储器11c中的文件夹执行相同的操作。接着,在步骤31c中,如上所述,同步代理将文件夹变化放置在使用数据标识元素以引用受影响文件的命令(协议命令元素)中,其中数据标识元素在任何数据元素外部。接着,在步骤31d中,应用将数据单元变化放置在使用数据描述元素(data、item或meta元素)的命令中。接着,在步骤31e中,同步代理向服务器12发送携带具有数据描述元素和数据标识元素(在任何数据元素外部)的命令的消息。
接着,在服务器12上,在下一步骤31f中,同步代理12b从带有在任何数据元素之外的客户机数据标识元素的任何命令中提取文件夹变化信息,并根据包含客户机数据标识元素的那些命令,向同步引擎12f指示自上一次同步后客户机数据存储器数据结构发生的变化。在下一步骤31g中,同步引擎解决文件夹冲突,并向服务器同步代理12b提供净文件夹变化;服务器同步代理12b对服务器数据存储器12c作相应的文件夹改变;并且服务器同步代理随后向(服务器)同步代理提供其余消息(传递客户机的任何数据单元变化)。在下一步骤31h中,同步引擎12f解决与服务器数据存储器的任何数据单元冲突,如果对客户机数据存储器11c所作的改变均将对服务器数据存储器12c作出,则会造成这种冲突;并且同步引擎12f将净数据单元变化提供给服务器应用12a。在下一步骤31i中,服务器应用按照指示对服务器数据存储器12c作数据单元变化,并且将对客户机数据存储器11c所作的净数据单元变化放置在适当的命令中。随后,在下一步骤31j中,服务器同步代理收集对客户机数据存储器11c中文件夹所作的净变化,并添加包括指示受影响文件夹的数据标识元素的对应命令,数据标识元素放置在消息内任何数据元素外部。(消息随后发送到客户机。)
客户机11收到服务器消息时,在下一步骤31k中,客户机同步代理11b通过向下解析命令,但不包括命令中所含的任何数据元素,提取所有文件夹变化,并相应地改变客户机数据存储器11c,并向应用11a提供有关数据单元变化的所有命令。最后,在步骤31m中,应用11a根据客户机同步代理11b提供的命令改变客户机数据存储器11c。
本发明范围
要理解上述方案只是为了说明本发明原理的应用。在不脱离本发明范围的情况下,本领域的技术人员可以设计不同的修改和替代方案,并且所附权利要求书旨在涵盖此类修改和方案。

Claims (24)

1.一种方法,由结合第一数据存储器(11c 12c)起作用的第一同步代理(11b 12b)和结合第二数据存储器(11c 12c)起作用的第二同步代理(11b 12b)使用,通过这种方法使所述第一数据存储器(11c 12c)与所述第二数据存储器(11c 12c)同步,所述数据存储器(11c 12c)各自由不同于所述第一和第二同步代理(11b 12b)的相应的第一和第二应用(11a 12a)用于将数据作为数据单元存储在文件夹中,所述文件夹结合起来定义数据结构;所述方法包括:
所述第一和第二同步代理(11b 12b)建立传输连接(14),以允许所述第一和第二同步代理(11b 12b)之间进行通信;
其特征在于所述方法还包括:
所述第二同步代理(11b 12b)经所述传输连接(14)向所述第一同步代理(11b 12b)传送消息(21),所述消息(21)用标记语言表示,并具有至少一个数据标识元素(26 27),并且在所述消息中的所述至少一个标识元素中包括有关所述第一或第二数据存储器(11c 12c)的所述数据结构变化的信息。
2.如权利要求1所述的方法,其特征在于:所述至少一个数据标识元素(26 27)不包含在数据元素(28 29)中。
3.如权利要求1或2所述的方法,其特征在于:有关所述第一或第二数据存储器(11c 12c)的所述数据结构的变化的所述信息包括文件夹标识。
4.如权利要求1至3中任意一项所述的方法,其特征在于:所述至少一个数据标识元素(26 27)是target元素(27)或source元素(26)。
5.如权利要求1至4中任意一项所述的方法,其特征在于:所述数据标识元素(26 27)包含在协议命令元素(26)中,并且所述协议命令元素(24)结合所述数据标识元素(26 27)以指示有关所述第一或第二数据存储器(11c 12c)的所述数据结构变化的所述信息。
6.如权利要求1至5中任意一项所述的方法,其特征在于:所述数据标识元素(26 27)包含由所述第二同步代理(11b 12b)指定的LocURI元素(26a 27a),并且有关所述第一或第二数据存储器(11c12c)的所述数据结构变化的所述信息在所述LocURI元素中提供。
7.如权利要求1至6中任意一项所述的方法,其特征在于:第一设备(11 12)容纳所述第一同步代理(11b 12b)、所述第一数据存储器(11c 12c)和所述第一应用(11a 12a),并且第二设备(11 12)容纳所述第二同步代理(11b 12b)、所述第二数据存储器(11c 12c)和所述第二应用(11a 12a)。
8.如权利要求7所述的方法,其特征在于:所述第一设备(11 12)充当客户机/服务器协议中的客户机,并且所述第二设备(11 12)充当所述客户机/服务器协议中的服务器;并且所述消息(21)由所述客户机提供给所述服务器。
9.如权利要求7或8所述的方法,其特征在于:所述第一设备(11 12)充当客户机/服务器协议中的服务器,并且所述第二设备(1112)充当所述客户机/服务器协议中的客户机;并且所述消息(21)由所述服务器提供给所述客户机;以及传送所述消息(21)的步骤可以响应于客户机消息(21),并且包括解决由有关所述服务器所容纳的所述数据存储器(11c 12c)的所述客户机消息(21)造成的任何冲突。
10.如权利要求1至9中任意一项所述的方法,其特征在于:所述第一应用(11a 12a)响应所述消息(21)中包括的任何数据元素(28 29),并且所述第一同步代理(11b 12b)响应所述数据标识元素(26 27),并在所述第一应用(11a 12a)根据所述消息(21)中包括的任何数据元素传送的信息对所述第一数据存储器(11c 12c)的所述数据单元作任何改变前,根据所述数据标识元素(26 27)传送的信息,改变所述数据存储器(11c 12c)的所述数据结构。
11.如权利要求1至10中任意一项所述的方法,其特征在于:所述第二同步代理(11b 12b)在所述数据标识元素(26 27)中提供有关所述第一或第二数据存储器(11c 12c)的所述数据结构变化的信息,并且所述第二应用(11a 12a)在数据元素(28 29)中提供有关所述第一或第二数据存储器(11c 12c)中数据单元变化的信息。
12.如权利要求1至11中任意一项所述的方法,其特征在于:所述第一同步代理(11b 12b)响应于所述消息(21),从所述数据标识元素(26 27)中提取所述数据结构变化的所述信息,并将所述信息提供给同步引擎(12f)或应用实体(11a 12a)。
13.一种设备(11 12),它容纳第一同步代理(11b 12b)及第一数据存储器(11c 12c)和第一应用(11a 12a),所述第一同步代理(11b 12b)结合所述第一数据存储器(11c 12c)起作用,用于使所述第一数据存储器(11c 12c)与第二数据存储器(11c 12c)同步,所述第二数据存储器(11c 12c)由还容纳第二同步代理(11b 12b)的另一设备(11 12)容纳,所述第一数据存储器(11c 12c)将数据作为数据单元存储在文件夹中,以供不同于所述第一同步代理(11b12b)的第一应用(11a 12a)使用,所述文件夹结合起来定义数据结构,所述设备的特征在于:
所述第一同步代理(11b 12b)包括响应从所述第二同步代理(11b12b)经传输连接(14)传来的消息(21)的组件,所述消息(21)使用标记语言表示,并具有至少一个数据标识元素(26 27),并且所述消息在所述至少一个标识元素(26 27)中包括有关所述第一数据存储器(11c 12c)或另一设备(11 12)中的第二数据存储器(11c12c)的所述数据结构变化的信息。
14.如权利要求13所述的设备,其特征在于:所述至少一个数据标识元素(26 27)不包含在数据元素(28 29)中。
15.如权利要求13或14所述的设备,其特征在于:有关所述第一或第二数据存储器(11c 12c)的所述数据结构变化的所述信息包括文件夹标识。
16.如权利要求13至15中任意一项所述的设备,其特征在于:所述至少一个数据标识元素(26 27)是target元素(27)或source元素(26)。
17.如权利要求13至16中任意一项所述的设备,其特征在于:所述数据标识元素(26 27)包含在协议命令元素(26)中,并且所述协议命令元素(26)结合所述数据标识元素(26 27)以指示有关所述第一或第二数据存储器(11c 12c)的所述数据结构变化的信息。
18.如权利要求13至17中任意一项所述的设备,其特征在于:所述数据标识元素(26 27)包含由所述第二同步代理(11b 12b)指定的LocURI元素(26a 27a),并且有关所述第一或第二数据存储器(11c 12c)的所述数据结构变化的所述信息在所述LocURI元素(26a27a)中提供。
19.如权利要求13所述的设备,其特征在于:所述设备(11 12)是无线通信终端。
20.如权利要求13所述的设备,其特征在于:所述设备(11 12)是有线通信终端。
21.如权利要求13所述的设备(12),其特征在于:所述设备(12)在客户机服务器模型中作为服务器操作,并包括同步引擎(12f),所述引擎(12f)包括用于解决所述消息(21)所造成的冲突的组件。
22.一种系统,它包括如权利要求13所述的多个设备(11 12),其中:所述所述多个设备(11 12)中的一个设备(12)可作为客户机服务器模型中的服务器操作,且包括同步引擎(12f),所述引擎(12f)包括用于解决所述消息(21)所造成的冲突的组件,而且所述多个设备(11 12)中的另一设备(11)可作为所述客户机服务器模型中的客户机操作。
23.一种计算机程序,用于向电信设备(11 12)提供指令,以便所述电信设备(11 12)可根据有关第一设备及第二设备的权利要求7所述的方法操作。
24.一种计算机程序,用于向同步代理(11b 12b)提供指令,以便所述同步代理(11b 12b)可根据有关所述第一同步代理(11b12b)及所述第二同步代理(11b 12b)的权利要求1所述的方法操作。
CN038122456A 2002-04-02 2003-03-26 用于同步不同数据存储器中数据存储方式的方法、设备和系统 Expired - Lifetime CN1656468B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/115,268 US6721871B2 (en) 2002-04-02 2002-04-02 Method and apparatus for synchronizing data stores with respect to changes in folders
US10/115,268 2002-04-02
PCT/IB2003/001097 WO2003083684A1 (en) 2002-04-02 2003-03-26 Method and apparatus for synchronizing how data is stored in different data stores

Publications (2)

Publication Number Publication Date
CN1656468A true CN1656468A (zh) 2005-08-17
CN1656468B CN1656468B (zh) 2010-06-23

Family

ID=28673745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038122456A Expired - Lifetime CN1656468B (zh) 2002-04-02 2003-03-26 用于同步不同数据存储器中数据存储方式的方法、设备和系统

Country Status (8)

Country Link
US (2) US6721871B2 (zh)
EP (1) EP1490779A4 (zh)
JP (1) JP4405812B2 (zh)
KR (1) KR100994139B1 (zh)
CN (1) CN1656468B (zh)
AU (1) AU2003212573A1 (zh)
RU (1) RU2337398C2 (zh)
WO (1) WO2003083684A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101160903A (zh) * 2005-10-27 2008-04-09 华为技术有限公司 一种实现数据同步的方法、系统、客户端及服务器
CN100391168C (zh) * 2006-03-08 2008-05-28 华为技术有限公司 一种管理同步标记语言终端设备的方法、系统及终端
CN100428244C (zh) * 2005-12-13 2008-10-22 国际商业机器公司 同步企业应用变化历史的装置、系统以及方法
CN1976274B (zh) * 2005-11-15 2010-12-29 乐金电子(中国)研究开发中心有限公司 利用错误确认代码的同步方法及其移动终端及其服务器
CN101083537B (zh) * 2006-05-31 2011-10-05 华为技术有限公司 一种实现设备管理的方法、装置和系统
CN1956452B (zh) * 2005-10-27 2012-02-29 华为技术有限公司 一种实现数据同步的方法、系统、客户端及服务器
CN101802815B (zh) * 2007-09-14 2013-07-17 微软公司 数据-驱动同步

Families Citing this family (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
KR100317303B1 (ko) * 2000-01-10 2001-12-22 구자홍 방송 프로그램 녹화 및 재생시 a/v와 데이터간 동기화장치
EP1225516A1 (en) * 2001-01-22 2002-07-24 Sun Microsystems, Inc. Storing data of an XML-document in a relational database
US7962622B2 (en) 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7596565B2 (en) * 2001-08-07 2009-09-29 Good Technology System and method for maintaining wireless file folders at a wireless device
US7155483B1 (en) 2001-08-07 2006-12-26 Good Technology, Inc. Apparatus and method for conserving bandwidth by batch processing data transactions
US7743119B2 (en) 2001-08-07 2010-06-22 Motorola, Inc. System and method for mapping identification codes
US8126889B2 (en) 2002-03-28 2012-02-28 Telecommunication Systems, Inc. Location fidelity adjustment based on mobile subscriber privacy profile
US8918073B2 (en) 2002-03-28 2014-12-23 Telecommunication Systems, Inc. Wireless telecommunications location based services scheme selection
US7426380B2 (en) 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
US8290505B2 (en) 2006-08-29 2012-10-16 Telecommunications Systems, Inc. Consequential location derived information
US8027697B2 (en) * 2007-09-28 2011-09-27 Telecommunication Systems, Inc. Public safety access point (PSAP) selection for E911 wireless callers in a GSM type system
US9154906B2 (en) 2002-03-28 2015-10-06 Telecommunication Systems, Inc. Area watcher for wireless network
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
US7076567B1 (en) * 2002-04-25 2006-07-11 Oracle International Corporation Simplified application object data synchronization for optimized data storage
US7836015B1 (en) * 2002-05-02 2010-11-16 Access Systems Americas, Inc. Fast synchronization of computer databases using coverage status
US7428544B1 (en) 2002-06-10 2008-09-23 Microsoft Corporation Systems and methods for mapping e-mail records between a client and server that use disparate storage formats
US7031973B2 (en) * 2002-06-10 2006-04-18 Microsoft Corporation Accounting for references between a client and server that use disparate e-mail storage formats
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US20030236842A1 (en) * 2002-06-21 2003-12-25 Krishnamurti Natarajan E-mail address system and method for use between disparate client/server environments
PT1518381E (pt) * 2002-06-28 2007-11-19 Nokia Corp Método e dispositivo para recuperar informação de acesso a armazenadores de dados
US8516034B1 (en) 2002-07-08 2013-08-20 Good Technology Software, Inc System and method for modifying application behavior based on network bandwidth
US7222139B2 (en) * 2002-07-30 2007-05-22 International Business Machines Corporation Method, system and program for synchronizing data
US7787489B2 (en) * 2002-10-07 2010-08-31 Oracle International Corporation Mobile data distribution
JP2006507580A (ja) * 2002-11-21 2006-03-02 ノキア コーポレイション 移動通信装置用の装置管理用ツリーの設定を可能にするオブジェクトを定義する方法および装置
US7216133B2 (en) * 2003-07-29 2007-05-08 Microsoft Corporation Synchronizing logical views independent of physical storage representations
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US20050055698A1 (en) * 2003-09-10 2005-03-10 Sap Aktiengesellschaft Server-driven data synchronization method and system
US7080104B2 (en) 2003-11-07 2006-07-18 Plaxo, Inc. Synchronization and merge engines
US7389324B2 (en) 2003-11-07 2008-06-17 Plaxo, Inc. Viral engine for network deployment
US20070180127A1 (en) 2003-11-11 2007-08-02 Nokia Corporation Preconfigured syncml profile categories
US7424293B2 (en) 2003-12-02 2008-09-09 Telecommunication Systems, Inc. User plane location based service using message tunneling to support roaming
US7260186B2 (en) 2004-03-23 2007-08-21 Telecommunication Systems, Inc. Solutions for voice over internet protocol (VoIP) 911 location services
US20080126535A1 (en) 2006-11-28 2008-05-29 Yinjun Zhu User plane location services over session initiation protocol (SIP)
US20080090546A1 (en) 2006-10-17 2008-04-17 Richard Dickinson Enhanced E911 network access for a call center using session initiation protocol (SIP) messaging
US7797386B2 (en) * 2004-02-27 2010-09-14 Research In Motion Limited System and method for remotely configuring a desktop mailbox
US7433936B2 (en) * 2004-03-11 2008-10-07 Microsoft Corporation Connectivity objects under a mobile device management tree
US20050240680A1 (en) * 2004-04-27 2005-10-27 Jose Costa-Requena Method and apparatus for a life management server
US7778962B2 (en) * 2004-04-30 2010-08-17 Microsoft Corporation Client store synchronization through intermediary store change packets
US7395446B2 (en) * 2004-05-03 2008-07-01 Microsoft Corporation Systems and methods for the implementation of a peer-to-peer rule-based pull autonomous synchronization system
US20050262166A1 (en) * 2004-05-05 2005-11-24 Microsoft Corporation Method and system for synchronizing data between electronic devices
US20050273472A1 (en) * 2004-06-04 2005-12-08 Prakash Reddy Verifying incremental updates to hierarchicaly structured information
US7672978B2 (en) * 2004-08-20 2010-03-02 Nokia Corporation Handling of content in a data processing device
US7702669B2 (en) 2004-09-02 2010-04-20 Ringcentral, Inc. Synchronization in unified messaging systems
US6985105B1 (en) 2004-10-15 2006-01-10 Telecommunication Systems, Inc. Culled satellite ephemeris information based on limiting a span of an inverted cone for locating satellite in-range determinations
US7629926B2 (en) 2004-10-15 2009-12-08 Telecommunication Systems, Inc. Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas
US20060136473A1 (en) * 2004-12-20 2006-06-22 Lamb James A Service data organization
CN100388209C (zh) * 2005-01-05 2008-05-14 英业达股份有限公司 防止数据处理混乱的方法
US7996493B2 (en) * 2005-03-10 2011-08-09 Microsoft Corporation Framework for managing client application data in offline and online environments
WO2006102474A2 (en) * 2005-03-21 2006-09-28 Dexterra, Inc. Adapter architecture for mobile data system
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US8117277B2 (en) * 2005-04-27 2012-02-14 Microsoft Corporation Component based infrastructure for sharing files
US7634514B2 (en) * 2005-05-09 2009-12-15 Microsoft Corporation Synchronizing file system directories
US7734737B2 (en) * 2005-05-26 2010-06-08 Nokia Corporation Device management with configuration information
NO20052719D0 (no) * 2005-06-06 2005-06-06 Ericsson Telefon Ab L M Synkronisering av informasjonsenheter med tilhorende referanser
US8849968B2 (en) 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8401002B2 (en) 2005-06-22 2013-03-19 Research In Motion Limited Exchange and use of globally unique device identifiers for circuit-switched and packet switched integration
US8626128B2 (en) * 2011-04-07 2014-01-07 Microsoft Corporation Enforcing device settings for mobile devices
US8660573B2 (en) 2005-07-19 2014-02-25 Telecommunications Systems, Inc. Location service requests throttling
CA2513016A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
CA2513019A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for communicating state information between a server and a mobile device browser with version handling
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513022A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
CA2513014A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server
CA2513010A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device
US20070049288A1 (en) * 2005-08-24 2007-03-01 Lamprecht Leslie J Creating optimum temporal location trigger for multiple requests
US20070077920A1 (en) * 2005-09-15 2007-04-05 Phillip Weeks Methods, systems and computer program products for aggregating communications and media data
US9282451B2 (en) 2005-09-26 2016-03-08 Telecommunication Systems, Inc. Automatic location identification (ALI) service requests steering, connection sharing and protocol translation
US7825780B2 (en) 2005-10-05 2010-11-02 Telecommunication Systems, Inc. Cellular augmented vehicle alarm notification together with location services for position of an alarming vehicle
US7907551B2 (en) 2005-10-06 2011-03-15 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) location based 911 conferencing
US8467320B2 (en) 2005-10-06 2013-06-18 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) multi-user conferencing
US8074231B2 (en) 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
US8015319B2 (en) * 2005-10-27 2011-09-06 Huawei Technologies Co., Ltd. Method, system, client and server for implementing data sync
US8291101B1 (en) * 2005-12-08 2012-10-16 Juniper Networks, Inc. Synchronization of mutually shared data stored on network devices
US7739234B1 (en) * 2005-12-15 2010-06-15 Teradata Us, Inc. Techniques for synchronizing data store tables
KR100765770B1 (ko) * 2006-01-23 2007-10-15 삼성전자주식회사 가상 장치를 이용한 휴대용 기기의 데이터 관리 방법, 장치및 사용자 인터페이스 방법
CN100493090C (zh) * 2006-01-25 2009-05-27 中国移动通信集团公司 移动终端与服务器之间的数据同步方法
US8150363B2 (en) 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
US8059789B2 (en) 2006-02-24 2011-11-15 Telecommunication Systems, Inc. Automatic location identification (ALI) emergency services pseudo key (ESPK)
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
US7899450B2 (en) 2006-03-01 2011-03-01 Telecommunication Systems, Inc. Cellular augmented radar/laser detection using local mobile network within cellular network
US9167553B2 (en) 2006-03-01 2015-10-20 Telecommunication Systems, Inc. GeoNexus proximity detector network
US7471236B1 (en) 2006-03-01 2008-12-30 Telecommunication Systems, Inc. Cellular augmented radar/laser detector
CN100450108C (zh) * 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
KR100782858B1 (ko) * 2006-04-11 2007-12-06 삼성전자주식회사 홈 네트워크 디바이스들의 컨텐츠를 동기화하는 방법 및장치
US8208605B2 (en) 2006-05-04 2012-06-26 Telecommunication Systems, Inc. Extended efficient usage of emergency services keys
US7958270B2 (en) * 2006-06-09 2011-06-07 Laurent Frederick Sidon Distribution of files from mobile devices
US7577691B2 (en) * 2006-08-02 2009-08-18 Microsoft Corporation Extending hierarchical synchronization scopes to non-hierarchical scenarios
US20080057902A1 (en) * 2006-08-30 2008-03-06 Laurent Frederick Sidon Distribution of customized ringtones for mobile devices
WO2008057477A2 (en) 2006-11-03 2008-05-15 Telecommunication Systems, Inc. Roaming gateway enabling location based services (lbs) roaming for user plane in cdma networks without requiring use of a mobile positioning center (mpc)
US7774464B2 (en) * 2006-12-28 2010-08-10 Nokia Corporation Automatic syncML client profile creation for new servers
US7778971B2 (en) * 2007-01-07 2010-08-17 Apple Inc. Synchronization methods and systems
US7739410B2 (en) * 2007-01-07 2010-06-15 Apple Inc. Synchronization methods and systems
US7660831B2 (en) * 2007-01-07 2010-02-09 Apple Inc. Synchronization methods and systems
US8239504B2 (en) * 2007-01-07 2012-08-07 Apple Inc. Synchronization methods and systems
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US20080163743A1 (en) * 2007-01-07 2008-07-10 Freedman Gordon J Synchronization methods and systems
US7761414B2 (en) * 2007-01-07 2010-07-20 Apple Inc. Asynchronous data synchronization amongst devices
US7716281B2 (en) * 2007-02-12 2010-05-11 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US8050386B2 (en) 2007-02-12 2011-11-01 Telecommunication Systems, Inc. Mobile automatic location identification (ALI) for first responders
US7751807B2 (en) 2007-02-12 2010-07-06 Oomble, Inc. Method and system for a hosted mobile management service architecture
US20080195962A1 (en) * 2007-02-12 2008-08-14 Lin Daniel J Method and System for Remotely Controlling The Display of Photos in a Digital Picture Frame
US8024400B2 (en) 2007-09-26 2011-09-20 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US8789063B2 (en) 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US8375086B2 (en) * 2007-05-31 2013-02-12 International Business Machines Corporation Shared state manager and system and method for collaboration
US8209540B2 (en) 2007-06-28 2012-06-26 Apple Inc. Incremental secure backup and restore of user settings and data
CN101355726A (zh) * 2007-07-25 2009-01-28 国际商业机器公司 基于多媒体消息传递服务的数据库同步方法和系统
US8185087B2 (en) 2007-09-17 2012-05-22 Telecommunication Systems, Inc. Emergency 911 data messaging
US7929530B2 (en) 2007-11-30 2011-04-19 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US9130963B2 (en) 2011-04-06 2015-09-08 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US8068587B2 (en) 2008-08-22 2011-11-29 Telecommunication Systems, Inc. Nationwide table routing of voice over internet protocol (VOIP) emergency calls
US8892128B2 (en) 2008-10-14 2014-11-18 Telecommunication Systems, Inc. Location based geo-reminders
EP2347395A4 (en) 2008-10-14 2016-11-02 Telecomm Systems Inc Location Based Approach Alert
KR100935831B1 (ko) 2008-11-17 2010-01-08 우용태 복수의 이벤트 식별자가 포함된 데이타구조체를 이용한 데이타동기화 방법 및 상기 방법을 이용한 데이타 백업솔루션
US8799214B2 (en) 2008-11-21 2014-08-05 At&T Intellectual Property I, L.P. Methods, computer program products, and systems for automatically synchronizing directory structures across different applications
US8051209B2 (en) * 2008-11-26 2011-11-01 Microsoft Corporation Minimizing conflicts when synchronizing interrelated data between two systems
KR101711863B1 (ko) 2008-11-26 2017-03-13 캘거리 싸이언티픽 인코포레이티드 애플리케이션 프로그램의 상태에 대한 원격 액세스를 제공하기 위한 방법 및 시스템
CN101778486B (zh) * 2008-11-27 2012-09-05 华为终端有限公司 设备管理服务器、客户端及目标操作对象定位方法
US20100153335A1 (en) 2008-12-12 2010-06-17 Microsoft Corporation Synchronizing multiple classes with disparate schemas in the same collection
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9301191B2 (en) 2013-09-20 2016-03-29 Telecommunication Systems, Inc. Quality of service to over the top applications used with VPN
US8867485B2 (en) 2009-05-05 2014-10-21 Telecommunication Systems, Inc. Multiple location retrieval function (LRF) network having location continuity
US20110145187A1 (en) * 2009-12-16 2011-06-16 Sap Ag Conflict framework for guided structure synchronization
US9026582B2 (en) * 2010-03-23 2015-05-05 Htc Corporation Device management methods and related apparatus for enhancing applicability of status messages in response to commands
WO2012005769A1 (en) 2010-07-09 2012-01-12 Telecommunication Systems, Inc. Location privacy selector
US8336664B2 (en) 2010-07-09 2012-12-25 Telecommunication Systems, Inc. Telematics basic mobile device safety interlock
US8688087B2 (en) 2010-12-17 2014-04-01 Telecommunication Systems, Inc. N-dimensional affinity confluencer
US8942743B2 (en) 2010-12-17 2015-01-27 Telecommunication Systems, Inc. iALERT enhanced alert manager
WO2012087353A1 (en) 2010-12-22 2012-06-28 Telecommunication Systems, Inc. Area event handling when current network does not cover target area
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
US8682321B2 (en) 2011-02-25 2014-03-25 Telecommunication Systems, Inc. Mobile internet protocol (IP) location
US8700567B2 (en) * 2011-02-28 2014-04-15 Hitachi, Ltd. Information apparatus
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
EP2702546B1 (en) * 2011-04-29 2021-03-03 American Greetings Corporation Systems, methods and apparatuses for creating, editing, distributing and viewing electronic greeting cards
EP2745467A4 (en) 2011-08-15 2015-10-14 Calgary Scient Inc METHOD FOR FLOW CONTROL AND RELIABLE COMMUNICATION IN A COMMUNITY ENVIRONMENT
CA2844871C (en) 2011-08-15 2021-02-02 Calgary Scientific Inc. Non-invasive remote access to an application program
US8649806B2 (en) 2011-09-02 2014-02-11 Telecommunication Systems, Inc. Aggregate location dynometer (ALD)
US9479344B2 (en) 2011-09-16 2016-10-25 Telecommunication Systems, Inc. Anonymous voice conversation
JP6322140B2 (ja) 2011-09-30 2018-05-09 カルガリー サイエンティフィック インコーポレイテッド 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張
WO2013048551A1 (en) 2011-09-30 2013-04-04 Telecommunication Systems, Inc. Unique global identifier for minimizing prank 911 calls
RU2477884C1 (ru) * 2011-10-13 2013-03-20 Открытое акционерное общество "Концерн "Созвездие" Способ повышения скорости поиска данных с использованием адаптивных носителей данных
AU2012342170B2 (en) 2011-11-23 2017-03-09 Calgary Scientific Inc. Methods and systems for collaborative remote application sharing and conferencing
US9313637B2 (en) 2011-12-05 2016-04-12 Telecommunication Systems, Inc. Wireless emergency caller profile data delivery over a legacy interface
US9264537B2 (en) 2011-12-05 2016-02-16 Telecommunication Systems, Inc. Special emergency call treatment based on the caller
US8984591B2 (en) 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US9384339B2 (en) 2012-01-13 2016-07-05 Telecommunication Systems, Inc. Authenticating cloud computing enabling secure services
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US8688174B2 (en) 2012-03-13 2014-04-01 Telecommunication Systems, Inc. Integrated, detachable ear bud device for a wireless phone
US9307372B2 (en) 2012-03-26 2016-04-05 Telecommunication Systems, Inc. No responders online
US9544260B2 (en) 2012-03-26 2017-01-10 Telecommunication Systems, Inc. Rapid assignment dynamic ownership queue
US9575816B2 (en) * 2012-03-29 2017-02-21 Via Technologies, Inc. Deadlock/livelock resolution using service processor
US9338153B2 (en) 2012-04-11 2016-05-10 Telecommunication Systems, Inc. Secure distribution of non-privileged authentication credentials
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
KR102131457B1 (ko) * 2012-07-27 2020-07-08 한성대학교 산학협력단 데이터 동기화를 수행하는 단말 및 서버
WO2014028712A1 (en) 2012-08-15 2014-02-20 Telecommunication Systems, Inc. Device independent caller data access for emergency calls
US9208346B2 (en) 2012-09-05 2015-12-08 Telecommunication Systems, Inc. Persona-notitia intellection codifier
CN103780464A (zh) * 2012-10-19 2014-05-07 深圳市中兴微电子技术有限公司 一种家庭网络内容处理方法和装置
US9456301B2 (en) 2012-12-11 2016-09-27 Telecommunication Systems, Inc. Efficient prisoner tracking
US8903959B2 (en) 2013-01-08 2014-12-02 Lyve Minds, Inc. Storage network data distribution
US8983047B2 (en) 2013-03-20 2015-03-17 Telecommunication Systems, Inc. Index of suspicion determination for communications request
US9282169B1 (en) * 2013-07-12 2016-03-08 Oxygen Cloud, Inc. Real-time user interaction-based alterations to the scope of data synchronization between client and remote devices
US9408034B2 (en) 2013-09-09 2016-08-02 Telecommunication Systems, Inc. Extended area event for network based proximity discovery
US9516104B2 (en) 2013-09-11 2016-12-06 Telecommunication Systems, Inc. Intelligent load balancer enhanced routing
US9479897B2 (en) 2013-10-03 2016-10-25 Telecommunication Systems, Inc. SUPL-WiFi access point controller location based services for WiFi enabled mobile devices
US9686205B2 (en) 2013-11-29 2017-06-20 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US9678678B2 (en) 2013-12-20 2017-06-13 Lyve Minds, Inc. Storage network data retrieval
US10243891B2 (en) * 2014-08-14 2019-03-26 Oath Inc. Cross-device integration system and method
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
KR20170110612A (ko) 2015-01-30 2017-10-11 캘거리 싸이언티픽 인코포레이티드 고 확장가능한, 고장 저항력이 있는 원격 액세스 아키텍처 및 접속 방법
CN105634925B (zh) * 2016-01-20 2018-11-09 北京乐动卓越科技有限公司 一种用户间可扩展的通信方法及系统
US11310314B1 (en) * 2017-07-28 2022-04-19 Zero Cognitive Systems, Inc. Automatic data synchronization across applications installed on multiple devices via mail server
RU2750642C2 (ru) * 2019-11-27 2021-06-30 Акционерное общество "Лаборатория Касперского" Система и способ регистрации уникального идентификатора мобильного устройства

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592664A (en) 1991-07-29 1997-01-07 Borland International Inc. Database server system with methods for alerting clients of occurrence of database server events of interest to the clients
US5392390A (en) 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
DE69433372T2 (de) 1993-04-05 2004-10-14 Motorola, Inc., Schaumburg Selektivruf mit mehreren verteilten Ausgängen
US5758354A (en) 1995-04-28 1998-05-26 Intel Corporation Application independent e-mail synchronization
US5647002A (en) 1995-09-01 1997-07-08 Lucent Technologies Inc. Synchronization of mailboxes of different types
US5774717A (en) * 1995-12-15 1998-06-30 International Business Machines Corporation Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US5778389A (en) * 1996-05-23 1998-07-07 Electronic Data Systems Corporation Method and system for synchronizing computer file directories
US5948059A (en) 1997-03-21 1999-09-07 International Business Machines Corporation Method and apparatus for synchronizing multimedia messages in different servers
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6018762A (en) 1998-03-31 2000-01-25 Lucent Technologies Inc. Rules-based synchronization of mailboxes in a data network
KR100521332B1 (ko) 1998-07-14 2006-03-09 삼성전자주식회사 외부 전자 장치들과 통신 가능한 카드 타입의 개인 정보 관리시스템 및 그의 통신 방법
GB2342258B (en) 1998-09-30 2003-07-23 Sony Uk Ltd Data symbol counting device synchronising device and method
US6480953B1 (en) * 1999-12-13 2002-11-12 International Business Machines Corporation Method and apparatus for ensuring system configuration data structure coherency across multiple controllers in a data storage system
KR100541756B1 (ko) 1999-12-17 2006-01-10 주식회사 케이티 무선통신 시스템에서 대용량 데이터 전송방법
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US6697805B1 (en) * 2000-04-14 2004-02-24 Microsoft Corporation XML methods and systems for synchronizing multiple computing devices
US20050055382A1 (en) * 2000-06-28 2005-03-10 Lounas Ferrat Universal synchronization
US20020059299A1 (en) * 2000-07-14 2002-05-16 Frederic Spaey System and method for synchronizing databases
US20020090934A1 (en) * 2000-11-22 2002-07-11 Mitchelmore Eliott R.D. Content and application delivery and management platform system and method
US8463744B2 (en) 2001-01-03 2013-06-11 International Business Machines Corporation Method and system for synchronizing data
US6941326B2 (en) * 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
WO2002077862A1 (en) * 2001-03-27 2002-10-03 British Telecommunications Public Limited Company File synchronisation
US6839564B2 (en) 2001-04-25 2005-01-04 Nokia Corporation Synchronization of database data
US20040093342A1 (en) * 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
US20030078890A1 (en) * 2001-07-06 2003-04-24 Joachim Schmidt Multimedia content download apparatus and method using same
US7058948B2 (en) * 2001-08-10 2006-06-06 Hewlett-Packard Development Company, L.P. Synchronization objects for multi-computer systems
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US7526575B2 (en) * 2001-09-28 2009-04-28 Siebel Systems, Inc. Method and system for client-based operations in server synchronization with a computing device
US7570668B2 (en) * 2001-10-03 2009-08-04 Nokia Corporation Data synchronization
US7155521B2 (en) * 2001-10-09 2006-12-26 Nokia Corporation Starting a session in a synchronization system
KR100959019B1 (ko) 2003-02-14 2010-05-24 주식회사 케이티 SIP 기반의 프락시 서버에서의 SIP 메시지forking을 이용한 실시간 과금 데이터 수집 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101160903A (zh) * 2005-10-27 2008-04-09 华为技术有限公司 一种实现数据同步的方法、系统、客户端及服务器
CN1956452B (zh) * 2005-10-27 2012-02-29 华为技术有限公司 一种实现数据同步的方法、系统、客户端及服务器
CN101160903B (zh) * 2005-10-27 2013-03-20 华为技术有限公司 一种实现数据同步的方法、系统、客户端及服务器
CN1976274B (zh) * 2005-11-15 2010-12-29 乐金电子(中国)研究开发中心有限公司 利用错误确认代码的同步方法及其移动终端及其服务器
CN100428244C (zh) * 2005-12-13 2008-10-22 国际商业机器公司 同步企业应用变化历史的装置、系统以及方法
CN100391168C (zh) * 2006-03-08 2008-05-28 华为技术有限公司 一种管理同步标记语言终端设备的方法、系统及终端
CN101083537B (zh) * 2006-05-31 2011-10-05 华为技术有限公司 一种实现设备管理的方法、装置和系统
CN101802815B (zh) * 2007-09-14 2013-07-17 微软公司 数据-驱动同步

Also Published As

Publication number Publication date
US20040225731A1 (en) 2004-11-11
CN1656468B (zh) 2010-06-23
US9594821B2 (en) 2017-03-14
AU2003212573A1 (en) 2003-10-13
WO2003083684A1 (en) 2003-10-09
EP1490779A1 (en) 2004-12-29
JP2005521946A (ja) 2005-07-21
RU2004131856A (ru) 2005-05-10
JP4405812B2 (ja) 2010-01-27
US6721871B2 (en) 2004-04-13
EP1490779A4 (en) 2008-06-18
US20030191827A1 (en) 2003-10-09
KR100994139B1 (ko) 2010-11-15
RU2337398C2 (ru) 2008-10-27
KR20040099392A (ko) 2004-11-26

Similar Documents

Publication Publication Date Title
CN1656468A (zh) 用于同步不同数据存储器中数据存储方式的方法和设备
CN1222896C (zh) 用户简档数据的管理
CN1299222C (zh) 存在管理的实现
CN1859393A (zh) 一种协商设备信息的系统及方法
CN1154298C (zh) 分布式网络计算系统及该系统用的信息交换装置和方法
CN1154935C (zh) 设备控制装置及设备判断方法
CN100336352C (zh) 内容发布系统、描述数据发布设备和内容发布方法
CN1138215C (zh) 用于归档和访问电子报文的数据处理系统和方法
CN1276575A (zh) 数据库存取系统
CN1881903A (zh) 文件版本管理装置及方法和程序
CN1703700A (zh) 为了经同步的内容显示使网络接入点的关联小型端口协作的方法和装置
CN1551016A (zh) 文件管理方法及其装置和注解信息产生方法及其装置
CN1264090A (zh) 图像数据通信系统、服务器系统和控制方法及其记录媒体
CN1722170A (zh) 内容系统、内容终端、参考服务器、内容程序和参考程序
CN1353539A (zh) 可移动存储媒体、移动信息终端及其文件管理方法
CN1859332A (zh) 一种采用数据同步处理电子邮件的系统、装置及方法
CN1445705A (zh) 服务提供系统、方法、程序以及存储介质
CN1836235A (zh) 用于确定网络系统的用户之间的关系的系统和方法
CN1111795C (zh) 利用网络的信息分发系统
CN1828606A (zh) 信息提供方法以及门户站点系统
CN1681287A (zh) 数字照相机、像簿管理方法、像簿管理程序产品、以及像簿管理程序传送介质
CN1745369A (zh) 信息处理装置、信息处理方法及计算机程序
CN1290026C (zh) 信息提供系统和信息服务设备
CN1601543A (zh) 工作流管理设备及方法
CN1340173A (zh) 注册方法和设备、信息处理方法和设备、提供方法和设备以及程序存储介质

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: 20160111

Address after: Espoo, Finland

Patentee after: NOKIA TECHNOLOGIES OY

Address before: Espoo, Finland

Patentee before: NOKIA Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20100623