允许同步具备不同能力的不同设备中的数据的方法和设备的制作方法

文档序号:6409323阅读:190来源:国知局
专利名称:允许同步具备不同能力的不同设备中的数据的方法和设备的制作方法
技术领域
本发明涉及同步包括电信和计算设备的不同设备上的数据存储器。更具体而言,本发明涉及同步不同设备上的数据存储器,每个设备具有其中一个或更多数据分量不同的数据存储器。
背景技术
目前,对于从事商业活动的人来说,有可能利用移动电话或掌上型(手持)计算机上的数据存储器来使用该移动电话或掌上型计算机上的电子邮件应用程序和日程应用程序(即,用于跟踪约定的应用程序),并让助理使用台式机上的相同应用程序,从而跟踪该助理代表商人发送和接收的电子邮件,并使用台式机上的数据存储器跟踪该商人的约定。因此,当改变任何一个数据存储器(移动设备上的数据存储器和台式机上的数据存储器)时,需要同步该数据存储器,其中每个数据存储器包括用于电子邮件和日程应用程序的数据项(这里也称之为数据单元)。在同步不同设备上所运行的两个应用程序所使用的各个数据存储器(即,同步数据项和数据结构或两个数据存储器的数据组织结构)时,通常的方法被安排用于根据一种协议设定两个数据存储器的内容相互对应,在该协议中传送自最后同步起的变化,(根据某种策略)解决在两个设备所作改变之间的冲突,并改变一个或两个数据存储器中的数据项或其组织结构或两者均改变。
正在开发一种基于所谓的SyncML(同步标记语言)来同步这种数据存储器的设备,该同步标记语言由所谓的SyncML发起者所开发。(有关SyncML的信息参见http://www.syncml.org/,包括用于SyncML的标准和规范,以及SyncML发起者,特别是包括SyncML表示协议和SyncML同步协议。)SyncML为一种用于跨越多个网络、平台和设备普遍同步远程数据(即,在不同设备中存储的数据项,因此位于不同的数据存储器中)和个人信息的公共语言的开放式工业标准。利用SyncML,能够在通过一个或多个互连网络连接的不同设备上同步数据项、但不包括数据结构,这些网络例如包括,通用移动电信系统(UMTS)、无线接入网(UTRAN)和因特网,其中通信可能为全部或部分是无线的或者可能为有线的。因此,设备例如借助固定网络(包括无线网络)、红外、电缆或蓝牙等进行通信。
直到目前,移动数据同步的进展主要由种种限制来确定。数据存储器同步基于一组不同的、专有协议,每种协议只工作于非常有限数量的设备、系统和数据类型。这些不可互操作的技术已经使得用户、制造商、服务提供商和开发人员的任务变得复杂化。而且,不同的、专有数据存储器同步协议的激增已经阻碍了移动设备的扩展使用,并限制了数据访问和传送以及用户的移动性。
随着移动计算和通信设备的日益流行,不论用户所处位置如何,他们都想要使用任何可获得的设备来访问更新的信息和应用程序(促进了对诸如SyncML标准之类开放标准的需求)。有时候,用户想要同步的两个不同设备(即想要在不同的设备上同步各个数据存储器)其能力也不同;一个设备不能够处理在第一设备中所保存记录的全部数据字段。在这种情况下,通常促使用户建立一种映射或其他同步安排,以用来指示将要如何处理在一个设备而不是在另一个设备的存储器中所出现的字段,即所谓的问题字段。通常提前发生这种建立,并且包括一个第一设备的数据字段到第二设备的数据字段的单调映射。这种建立可能会麻烦,如果不这样做将会导致数据丢失。
例如在Crozier的美国专利第5701423号中描述了第一和第二数据存储器之间问题字段的映射,其中在该专利中公开了,在同步之前,用户将映射第一数据存储器中的全部字段到第二数据存储器中的各个字段,而不管用户是否使用这些字段。这种建立过程耗时并且在有些情况下浪费时间(当用户从不使用问题字段结束时),如果修改任何一个设备的配置就会导致问题。
在目前典型的同步情况中,用户将操作两种不同的设备并且忙碌于同步服务,操作用作客户机/服务器模型中的服务器的第三台机器,以同步这两个设备。
因此,需要一种方式,以便通过这种方式能够警告相对于另一个、第二设备具有问题字段的第一设备的用户使用第一设备的问题字段(字段不存在于该设备的数据存储器中,而是存在于第一设备正在与其同步的另一个设备的数据存储器中),但是直到实际使用发生时才警告,从而,用户不必有必须在其实际发生之前关注映射问题的负担。

发明内容
因此,在本发明的第一方面提供了一种方法,在该方法中,通过同步两个客户机数据存储器与服务器设备所主管(host)的服务器数据存储器,将第一客户机设备所主管的第一客户机数据存储器相对于第二客户机设备所主管的第二客户机数据存储器同步,两个客户机数据存储器每个都包括各种数据分量(例如,记录字段),该方法的特征在于相对于第一客户机数据存储器的至少一个数据分量,形成指示两个客户机数据存储器结构的结构信息,第二客户机数据存储器不具有一个相应的数据分量或不具有两个或更多组合起来对应于该至少一个数据分量的数据分量;检测第一客户机数据存储器中至少一个数据分量的使用;并设定第一客户机数据存储器中的至少一个数据分量相对于第二客户机数据存储器的对应关系。
根据本发明的第一方面,服务器可检测第一客户机数据存储器的至少一个数据分量的使用,服务器通过设定该对应关系来响应,以便指示包括在至少一个数据单元分量中的以下同步信息,既不包含在第二客户机数据存储器中也不包含在一个或更多指示的第二客户机数据存储器的数据分量中(因此,在信息包括在两个或更多数据分量的情况下,组合使用这些数据分量来保存该信息)。
再根据本发明的第一方面,在形成结构信息之后,服务器保存该结构信息,进一步,服务器检测第一客户机数据存储器的至少一个数据分量的使用,并基于所保存的结构信息来进行检测。
再根据本发明的第一方面,服务器检测第一客户机数据存储器的至少一个数据分量的使用,然后为至少一个数据分量确定是否该至少一个数据分量存在第二客户机数据存储器的一个或更多的相应数据分量。
再根据本发明的第一方面,所述对应关系将第一客户机设备的至少一个数据分量关联到第二客户机设备的任何一个数据分量,其中第二设备的数据分量没有必要在结构上与第一客户机设备的至少一个数据分量相同,或者关联到第二客户机设备的两个或更多数据分量的组合。
再根据本发明的第一方面,可以通过第一客户机设备的用户设定该对应关系并指示给服务器。可替换地,可由服务器自动地设定这种对应关系。再可替换地,可通过服务器自动确定所建议的对应关系并向第一客户机设备的用户提出建议。
再根据本发明的第一方面,通过给用户提供一个指示已经使用至少一个数据分量的消息来警告第一客户机设备的用户。而且,可借助第一客户机设备的用户接口或者是服务器的用户接口来警告第一客户机设备的用户。
再根据本发明的第一方面,服务器可至少部分基于设定的对应关系来同步两个客户机设备的数据存储器。
再根据本发明的第一方面,指示结构的信息可包括有关第二设备的制造商或模型的信息、或有关第二客户机设备所使用与第二数据存储器相关的软件的信息。
再根据本发明的第一方面,指示结构的信息可包括表征第二客户机设备所支持数据分量的数据。
再根据本发明的第一方面,指示结构的信息可保存在服务器上。
再根据本发明的第一方面,指示结构的信息可至少部分地保存在第一客户机设备上或第二客户机设备上。
在本发明的第二方面,提供了一种包括用于执行或启动(相对于设定对应关系)根据本发明第一方面所提供方法的步骤的设备。而且,该设备可以为无线通信终端或有线通信终端,以及可以为服务器设备或客户机设备。
在本发明的第三方面,提供了一种包括第一客户机设备和第二客户机设备还有服务器设备的系统,第一客户机设备具有第一客户机数据存储器以及第二客户机设备具有第二客户机数据存储器,通过相对于服务器设备所主管的服务器数据存储器同步两个客户机数据存储器,第一客户机数据存储器全部或部分地保持与第二客户机数据存储器同步,两个客户机数据存储器每个都包括各种数据分量,该系统特征在于该服务器设备包括用于相对于第一客户机数据存储器的至少一个数据分量,形成指示两个客户机数据存储器结构的结构信息的装置,其中第二客户机数据存储器不具有一个相应的数据分量或不具有两个或更多组合起来对应于该至少一个数据分量的数据分量;用于检测第一客户机数据存储器中至少一个数据分量的使用的装置;以及用于记录第一客户机数据存储器中的至少一个数据分量相对于第二客户机数据存储器的对应关系的装置。
在本发明的第四方面,提供了一种包含用于电信设备命令的计算机程序,以便电信设备执行或启动(相对于设定的对应关系)根据本发明第一方面所提供方法的步骤。
因此,本发明提供了一种方法和相应的同步字段扫描装置(SFS),借此能够提前预测由于问题字段(在一个设备的数据存储器的记录中,而不是在另一个设备数据存储器的相应记录中出现的字段)而引起的同步两个(或更多)设备中的问题情况,以及用户不必负担映射处理(以设定一个对应关系),直到实际上使用问题字段为止。本发明通过在某些情况下自动建议一种映射(对应关系),以及不需要映射问题字段而直到实际使用它为止,从而简化了将多个设备附加到一项同步服务(操作一个主管用于同步多个设备的软件的服务器)的映射处理。
本发明所需的信令根据所谓的SyncML标准、用于在多个网络、平台和设备上普遍同步远程数据和个人信息的开放工业标准来提供。(参见SyncML.org网站。)当前标准允许在配置消息中发送所支持字段(在设备数据存储器中出现的全部字段),并且在同步结束时(借助所谓的请求用户动作的消息)警告用户同步的可能错误或其他异常状态。


通过阅读以下结合附图的详细描述,本发明的上述和其他目的、特征和优点将变得显而易见,其中图1为两个客户机(诸如移动电话和膝上型计算机)和一个交换SyncML消息以便同步两个客户机设备数据存储器的(例如由同步服务操作的)服务器的方框图/流程图,图中示出了可与服务器的服务器同步代理相关联操作的同步字段扫描装置,并根据本发明来提供和操作该同步字段扫描装置;
图2图示了建立同步字段扫描装置在确定何时存在首次使用客户机数据存储器中的字段时所使用滤波器的流程图,该字段没有出现在其他客户机数据存储器中(即问题字段);以及图3图示了当发现使用问题字段时同步字段扫描装置以及服务器的同步代理所采取动作的流程图。
具体实施例方式
现在以以下所述为上下文描述本发明,其中SyncML用于同步用作客户机/服务器模型中的客户机的两个或更多设备以及同步用作服务器的一个设备的各个数据存储器,并且本发明用作同步服务。除了使用SyncML之外,应该理解本发明同样适用于根据当前或未来的其他协议或格式的同步,诸如IrMC等级4、HotSync、IntelliSync、PCSync、MAL等等。还应该理解尽管这里描述的本发明用于具有服务器设备、运行一种服务、同步两个客户机设备,本发明还包括一次只包含两个设备的情形,一个设备用作服务器而另一个设备用作客户机。
本发明的本质在于服务器设备所主管的扫描模块,这里称之为同步字段扫描装置(SFS),以便与服务器设备的同步代理和同步引擎对接,并保存(潜在的)问题字段的记录,这里使用术语问题字段用于指示记录的任何字段,或者通常指示一些数据组织结构的任何数据分量,它们出现在一个客户机设备中,而没有出现在另一个客户机设备的数据存储器中。当问题字段被首次使用时,SFS警告两个设备的用户,因此允许用户延迟寻址问题字段,直到实际使用它为止。
SyncML背景知识SyncML使用正如在扩展标记语言(XML)1.0中所阐述的所谓扩展标记语言(XML)的语法,它是万维网协会(W3C)XML机构的一个产品,网址为http://www.w3.org。有关XML的信息请参见http://www.w3.org/XML。
SyncML消息为嵌套结构,能够将一个或更多的SyncML消息联合为所谓的SyncML包。SyncML消息为单独的由一个或更多单元类型的一个或更多的单元所构成的XML文档。文档由SyncHdr单元类型所规定的标题、SyncBody单元类型所规定的主体构成。SyncML标题规定了有关SyncML消息的路由和版本信息。SyncML主体为用于一个或更多SyncML命令的容器。SyncML命令通过相应的单元类型规定。SyncML命令用作其他单元类型的容器,这些单元类型描述了SyncML命令的具体细节,包括任何数据或元信息。
SyncML规定了请求命令和响应命令。请求命令例如包括Add(该命令允许始发者要求将一个或更多的数据单元添加到接收者可访问的数据中);Alert(允许始发者通知接收者有关条件);Copy(允许始发者要求复制接收者可访问的一个或更多的数据单元);Delete(允许始发者要求删除或存档接收者可访问的一个或更多的数据单元);获取(允许始发者要求从接收者那里得到一个或更多的数据单元);以及搜索(允许始发者要求对接收者可访问的一个或更多的数据单元执行提供的查询)。目前唯一的响应命令为状态(指示操作的完成状态或处理前一请求时发生的错误);以及结果(用于返回获取或搜索SyncML命令的数据结果)。
如上所述,SyncML表示协议(即SyncML消息)是由XML单元类型构成的文档标记。单元类型根据其目的或用途、父母单元、内容或使用以及内容模型的任何限制来定义。单元类型包括所谓的公共使用单元、消息容器单元、数据描述单元、协议管理单元,以及协议命令单元。
公共使用单元类型为其他SyncML单元类型所使用的单元类型,例如包括归档,用于指示删除命令所规定的数据应该通过删除命令的接收者归档,而不是将它简单地删除。因此,删除命令能够使用归档公共使用单元,并因此在本文中称之为归档公共使用单元类型的父母单元。另一个公共使用单元类型为Cmd单元类型,它用于规定状态单元类型所引用的SyncML命令(因此在本文中状态单元类型为父母单元)。另一种就是CmdID单元类型,它用于规定SyncML消息中唯一的命令标识符,并且能够具有各种父母单元,包括Add、Alert、Atomic、Copy、Delete、Exec、Get、Map、Put、Replace、Results、Search、Sequence、Status和Sync。
消息容器单元类型提供了支持SyncML消息的基本容器。三个这种单元类型是SyncML,用于为SyncML消息规定容器,并且它不具备父母,这是因为它是所谓的根或文档单元;SyncHdr,用于在SyncML消息中为版本信息或路由信息(或者二者)规定容器,并让SyncML单元作为父母单元;和SyncBody,用于为SyncML消息的主体或内容规定容器,而且也让SyncML单元作为父母单元。
数据描述单元用作SyncML消息中所交换数据的容器单元;数据描述单元包括以下的单元类型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使用。
最后,存在各种协议命令单元。这些包括上述已经提到的命令单元,即例如用于规定添加数据到数据集合中、并由(父母单元)Atomic、Sequence、Sync、SyncBody、Delete、Replace等等所使用的Add。
在标准SyncML表示协议中阐述了上述的所有单元类型,该协议可在以下因特网地址获得http://www.syncml.org/docs/syncml_represent_v11_20020215.pdf。
除了用于同步数据存储器以外,SyncML(即该语言)还能够用于设备管理,具体而言,用于在客户机和该客户机的管理服务器之间传送管理动作。参见http://www.syncml.org/可找到该规范,即SyncML设备管理协议。SyncML设备管理协议允许对管理对象执行管理命令,并且它使用类似于SyncML同步协议和SyncML表示协议的包格式。管理对象可能反映了设备的一组配置参数。对该对象采取的动作可能包括读取和设置参数键和值。另一个管理对象可能为设备上的软件应用程序运行环境。对这种类型的对象所采取的动作可能包括安装、升级或卸载软件单元。SyncML设备管理协议命令所表示的动作在SyncML表示协议,设备管理用途中描述。所使用的命令和消息结构同样对应于SyncML同步协议。(因此,用于管理协议的所谓文档类型定义为来自SyncML同步协议的文档类型定义,)本发明的同步字段扫描装置现在参考图1,图中所示为第一客户机设备10,它用于同步客户机数据存储器10c与第二客户机设备11的相应数据存储器11c,并且两个数据存储器都与服务器设备12中的相应数据存储器12c同步。
在图1所示例的结构中,服务器设备12作为同步服务操作,并典型不用于直接输入数据到它所保持的数据存储器12c中,以便同步两个客户机设备10、11的相应数据存储器。但是,如上所述,本发明还理解为这种情形,其中一个或另一个客户机设备10、11代替用作服务器设备(在客户机/服务器模型中),并且用户在这种情况下不直接将数据输入到服务器设备的数据存储器中。
两个客户机设备10、11的数据存储器能够用于设备管理或用于保存用户数据,诸如例如电子邮件、地址簿条目、日程安排或通常为任何形式的数字内容。数据存储器通常包括一个(或甚至更多的)系统目录结构并可能还包括一个或更多的内部目录结构(即,如给操作系统建议的一个或更多应用程序所保存的内部目录结构),并且任何目录结构能够表示为文件夹的树形结构,每个文件夹能够包括一个或更多的数据单元(诸如文件,即在系统目录结构中所保存的单元或数据,或内部目录中的应用程序所保存的单元或数据,诸如电子邮件应用程序所保存的电子邮件)以及一个或更多的其他树形结构文件夹。在优选实施例中,如上所述,同步通过交换SyncML消息而发生。
正如已经说明的,客户机设备10、11扮演了客户机/服务器模型中的客户机角色,并根据SyncML协议发起同步,客户机(通常为膝上型电脑或便携式电话或其他无线终端)首先发送它数据存储器10c中的全部变化给服务器设备12,通常远程同步连接到因特网的服务器。
在图1中,第二客户机设备11包括与图所示的用于第一设备的相同的全部组件(诸如同步代理和应用程序),但是为了清楚地示出第二设备11的全部组件,只示出了对应于第一客户机设备10的客户机数据存储器10c的客户机数据存储器11c。客户机10、11和服务器12都能够包括一个或更多的应用程序实体10a、12a,并且它们还每个都包括一个(类属的,即对于特定应用程序不是特定的)同步代理10b、12b。服务器还包括一个同步引擎12f。应该注意到,服务器不需要包括任何应用程序实体,在所述的结构中,服务器最不可能包括应用程序实体。但是,如果服务器确实包括了一个应用程序实体12a,该应用程序实体12a与客户机应用程序实体10a的不同之处在于不仅与服务器同步代理对接,而且与服务器同步引擎12f对接,在客户机10中没有对应的部件。同理,服务器同步代理12c与客户机同步代理10c的不同之处在于它还与服务器同步引擎12f对接。
如上所述,客户机应用程序实体10a例如是用于跟踪商人约定的日程应用程序。如果在第一客户机设备10上进行约定,那么将约定信息作为一个新文件存储在第一客户机数据存储器10c中。以后,在请求客户机10或服务器12提示时,服务器数据存储器12c通过交换SyncML消息与第一客户机数据存储器10c在新数据(即,新文件)方面同步。这同样适用于第二客户机设备11和服务器设备12。通过这种方式,第一和第二客户机设备10、11根据当第一设备10相对于服务器设备12同步时和第二设备11与服务器设备同步之间的时间间隔,最终实现完全或部分同步。
仍参考图1,在同步中所使用的SyncML消息可根据各种传输连接14,例如包括超文本传输协议(HTTP)、无线会话协议(WSP)、以及对象交换协议(OBEX)来传送。(可使用任何类型的物理层连接提供该传输连接,包括无线连接或有线连接。)如图所示,当服务器设备12传送SyncML消息给第一客户机设备10(反之亦然)时,服务器同步代理12b使用一个同步接口(I/F)12d来给服务器同步适配器12e提供消息,该服务器同步适配器12e进而又通过传输连接14将该SyncML消息提供给第一客户机设备10。在接收端,客户机同步适配器10e接收SyncML消息,并将它传送给客户机同步I/F10d,它进而又将该消息提供给客户机同步代理10b。
现在,根据本发明并仍然参考图1,同步字段扫描装置(SFS)12g包括在服务器设备12中,并且可以结合服务器同步代理12b操作,即SFS与服务器同步代理12b对接。假设第一客户机设备10已经与服务器设备12同步,当第二客户机设备11首先与服务器12同步时,服务器的SFS 12g编辑问题字段的列表,并且它将基于第一客户机设备和第二客户机设备的设备类型进行监视问题字段,在每个首次同步过程中指示两种设备类型。之后,通常假设第一客户机设备10在它的数据存储器10c中包括问题字段,尽管当然,通常两个客户机设备都能够保存(不同的)问题字段(或字段都能够以不同的格式出现,在这种情况下,能够在一个或另一个设备中考虑问题字段),当然,通过以下所述的更简单的成对扩展,本发明可应用于保持多于两个客户机设备(全部或部分)同步的情况。
在优选实施例中,为了编辑该列表或问题字段,作为这里所谓的SFS滤波器12h一部分存储(但是还能够按照需要开发,在某些实施例中能够在一个个字段的基础上根据需要开发,而代替对被同步的两个客户机设备的各个数据存储器中的全部字段,从而列表其本身实际上从不存在),在优选实施例中,SFS使用客户机设备制造商提供的信息,指示通过不同客户机设备上的相应应用程序使用什么字段的信息。(服务器设备12当然包括任何客户机设备所使用的位于其数据存储器12c中的全部字段)。可替换地,SFS能够使用设备在同步消息中发送的字段信息(除了设备类型信息以外),假设每个客户机设备在每个同步中指示客户机设备使用全部字段(以便客户机设备在以后被添加到被同步客户机设备的集合中时,总是可获得该字段信息)。
当SFS观察问题字段的首次使用时,在优选实施例中,如下所述,它警告服务器同步代理,该服务器同步代理进而又使用该字段发信号通知客户机设备。(还有可能是警告的其他响应,如下所述。)与同步代理10b、12b相类似,SFS对于给定的客户机设备来说是类属的,(服务器设备主管的)SFS用于监视客户机设备的全部应用程序的数据存储器,它还用于任何客户机设备。另一方面,SFS所创建的SFS滤波器当然要特殊化;对于每个不同的数据存储器和客户机设备的每个组合存在不同的SFS滤波器。
现在参考图2以及图1,在优选实施例中,SFS 12g在两个客户机10、11每个都参与到与服务器12的第一同步会话中之后,创建SFS滤波器12h。在每个客户机设备的第一会话中,服务器检测客户机设备的类型,并使用该类型信息为客户机设备对创建SFS滤波器。提供图2,并假设第二客户机设备11已经经过了与服务器设备12的首次同步,而第一客户机设备还未经历它的首次同步。图2所示为经历其第一同步的第一客户机设备同步代理10b,然后,通过服务器12的SFS 12g为该对客户机设备10、11创建SFS滤波器12h。为了创建SFS滤波器12h,在步骤21中,SFS 12g(基于同步过程中所提供的信息)校验第一客户机设备10的设备类型。在下一步骤22,SFS校验用于每个客户机设备10、11的标准格式文档22a、22b,以确定对于该对设备10、11来说是否存在任何问题字段。在优选实施例中,标准格式文档22a、22b由SyncML发起者(一群公司实体联合起来工作以使SyncML可用于同步数据存储器)提供。在优选实施例中,SyncML发起者管理不同客户机设备的映射文档格式的字段(阐述提供映射信息字段的格式),并出版不同的厂商文档,该文档描述了当不同设备类型主管应用程序时,哪些字段由哪些应用程序所使用。然后,在下一步骤23,SFS为该对客户机设备10、11创建SFS滤波器12h(或在接下来同步之后更新SFS滤波器12h)。如此创建的SFS滤波器可包含字段或可能为空。在下一步骤24,如果SFS滤波器为空,一个与SFS滤波器12h相关的属性,称作扫描属性,被设定为不扫描,否则将其设定为扫描。
可考虑相对于第一客户机数据存储器10c的至少一个数据分量/问题字段,在步骤23中所创建的SFS滤波器12h包含或指向指示两个客户机数据存储器10c、11c结构的结构信息。该结构信息可具体为问题字段的列表,或者为能够从中推导问题字段列表的信息,诸如第一和第二客户机设备10、11的各个设备类型(例如通过各个制造商或各个型号标识符予以指示),或者第一客户机设备10上的应用程序10a以及第二客户机设备11上的相应应用程序(未示出)的软件和版本号。在SFS滤波器12h只包括例如两个客户机设备10、11中每个设备的型号(可从中推导设备类型)的情况下,SFS 12g将参考一个或更多的从属文件/数据存储器(优选通过SyncML发起者获得),其指示字段由(设备的)哪种型号的哪个应用程序所使用。从属文件例如由客户机设备10、11所主管或由服务器12,或服务器12或一个或另一个客户机设备10、11可访问的另一个实体而主管。因此在这些实施例中,SFS滤波器12h能够分布于不同的文件上,也许分布在不同设备上。作为另一种可能,SFS滤波器甚至作为问题字段的简单列表,并由一个或两个客户机设备主管;如果第一客户机设备具有一个问题字段,而且第二客户机设备也具有一个问题字段,那么用于两个客户机设备(相对于被同步的数据存储器10c、11c)的SFS滤波器部分将由第一客户机设备10主管(该部分包括在第一数据存储器10c而不是第二数据存储器中所出现的问题字段),并且部分由第二客户机设备11主管(该部分包括在第二数据存储器11c而不是第一数据存储器10c中出现的问题字段)。
现在参考图3以及还参考图1,所示为在为该对客户机设备10、11已经创建SFS滤波器12h之后,第一客户机设备同步代理10b与服务器设备同步代理12b同步的例子,例如在图2中所示例。在图3所示例的情况中,在第一客户机设备10和服务器设备12每个都执行所需用于建立它们之间连接的各个步骤31a、31b之后,然后每个执行所需用于同步其各个数据存储器10c、12c的各个步骤32a、32b。在同步之后,在下一步骤33,SFS 12g校验确定是否将该对客户机设备10、11的扫描属性设定为扫描。如果这样的话,在下一步骤34,SFS分析第一客户机设备10数据存储器10c中的变化,如通过服务器数据存储器12c所反映的(由于当SFS执行分析时,在该时间点上同步服务器数据存储器12c和第一客户机数据存储器10c)。如果SFS检测已经使用了问题字段,它将警告服务器同步代理12b。然后,在下一步骤35,服务器同步代理校验问题字段的使用是否为第一客户机设备的首次使用(典型地通过IMEI即国际移动设备标识符来标识),如果该使用为第一次使用,服务器同步代理则警告操作第一客户机设备10的用户正在(首次使用)使用一个问题字段以及需要一种映射(对应关系)。在下一步骤36,客户机设备10的用户为问题字段设定对应关系/映射(以便然后它不再为一个问题字段),对应关系可以为空对应关系,即第一数据存储器10c中的问题字段不是简单地映射到第二数据存储器11c的任何字段,(到数据存储器11c中的具体字段的)直接对应关系、或者一对多对应关系(即,因此第一数据存储器10c的问题字段中的信息映射到第二数据存储器11c中的两个或更多字段中)。然后,在下一步骤3 7,服务器同步代理12b记录用户所设定的对应关系(例如,在单独的表中或与服务器12的数据存储器12c相关联,以显示如何映射已为其设定对应关系的字段)。如果用户设定的对应关系为空对应关系,则在下一步骤38,服务器12设定一个服务标记(再例如,在单独的表中或与服务器12的数据存储器12c相关联)以用来指示为两个客户机数据存储器10c、11c并未执行完全同步。在任一情况下,在下一步骤39,服务器(12)从问题字段的列表中删除该字段。
代替客户机设备10的用户(手动)为第一数据存储器10c中的问题字段设定一个对应关系,以便将它映射到第二数据存储器11c中的零个字段、一个字段或字段组合,可以通过服务器同步代理12b或SFS 12g自动地确定对应关系,并且经第一客户机设备10的用户同意或者不经过其同意就能实现。另外,如果为问题字段设定一个空对应关系,则能够在第一次使用之后每次使用该问题字段时提醒用户,并在第一次使用之后给一个提供映射的机会,还可以在以后每次使用时给予拒绝警告的机会。如果在第一次使用之后用户设定一个非空对应关系,以及如果没有使用其他对其只强制使用一个空对应关系的问题字段,那么用于指示只有部分同步的服务标记将被更新以反映执行完全的同步。
应该理解,尽管在图3所示例的情况中,特定实体执行特定的功能,例如服务器同步代理12b记录用户所设定的对应关系,通过不同实体执行相同或替换功能的实施例也是有可能的,并且为本发明的意图所在。例如,SFS 12g能够通知用户第一次使用第一客户机数据存储器10c中的问题字段,并与用户相互作用,以便最终得到在服务器12上记录的用于该问题字段的对应关系。在优选实施例中,如用户不想为问题字段提供映射,则用户能够指示服务器同步代理是否应该警告用户下一次使用该问题字段。如果使用不是首次使用并且用户已经选择了不提醒正在没有映射而再次使用问题字段的选项,那么服务器同步代理将简单地更新服务标记,该标记指示只能部分地同步不同客户机设备10、11的数据存储器。
讨论优选地,SFS 12g包括一个主部分和一个单独的SFS管理工具,以及SFS管理工具为每个不同的应用程序和每个正在同步的不同设备将字段数据输入到SFS设备字段配置工具中(未示出,但还将保留在服务器12中以便SFS 12g访问)。然后,SFS 12g根据设备字段配置工具来产生SFS滤波器12h。当首次使用客户机设备10或11上的问题字段以及该字段对于服务器设备12变为已知时,服务器设备12则决定如何根据专用逻辑进行响应,包括,在通常存在不止一个客户机的情况下,提供信息给不同的客户机10、11。
优选地,用于一对客户机设备10、11的SFS滤波器不应该是用户专用的,即在不工作中将能够根据用于同步的该对或客户机设备的设备类型信息产生该字段扫描。
优选地,将由SyncML发起者(或在不同于SyncML的技术的情况下的相应组织)标准化终端字段信息,即SyncML发起者将保持通用的字段标准列表可用。(列表访问应该是免费的,或仅限于SyncML发起者,或在专有同步协议的情况下,实施许可。)在这种安排中,当新的终端进入到市场中时,任何同步服务提供商/运营商都能比较新的终端与通用字段标准。如果发现任何仍未包括在通用字段标准中的字段,就会将它们报告给SyncML发起者。如果没有发现这些字段,那么预先存在的通用字段标准将用于提供字段映射到任何其他与字段映射标准兼容的终端中。所以,如果本发明的SFS将会在其配置中包含字段映射标准信息,SFS将只需要以一种标准化方式被告知新进入市场终端的字段配置。
另外优选地,能够禁用SFS,以便在某些情况下最大化性能,诸如当只有一个客户机设备时;只有一个客户机设备以及还有一个具有全部字段的服务器,以便用户不可能具有映射问题的字段,因为服务器然后将包括客户机所包括的全部字段,并且只有这些字段;存在多个客户机设备但其类型全部相同;以及存在多个不同类型的设备(以及还有一个服务器),但是全部设备所使用的字段都相同。但是,对于一些具备用户自定义字段的客户机设备类型,例如诺基亚9210,如果不止一个客户机设备经由服务器(不时地)同步时,那么应该总是能够进行扫描设置。
再优选地,服务器逻辑通过基于定义的扫描设置发起扫描处理来控制SFS。
本发明的SFS能够实现为驻留在除了服务器设备之外的设备上。甚至它能够远离服务器。但是就性能来说,优选为SFS驻留在服务器设备上。
如上所述,代替在同步会话之后立即实质上运行,SFS能够作为一项调度任务参加,并被调度用于在低负荷时间运行。
使用根据本发明的SFS提供了将用于字段映射文档的格式标准化作为SyncML发起者的一部分的可能性,并且允许多个厂家更大的互操作性。因此,根据本发明,不同的厂家以公共的方法通告其设备所支持的字段。通过这种方式,SFS的操作能够更加自动化。
如上所述,SFS添加它所发现的任何问题字段到以下问题字段的列表中。当SFS警告设备的用户,它已经检测到问题字段的首次使用时,用户所采取的动作为单个字段映射,或者系统能够自动地尝试解决该问题(或,向用户建议最可能的映射替换字段),例如通过在一个设备的接触卡(contact card)所包括的一些字段未包括在其他设备的接触卡中的情况下,创建多个接触卡,该客户机设备的多个接触卡的字段然后将组合用于保存其他客户机设备的全部字段值,其中该设备不具有另一个设备的全部字段(假设只有一个客户机设备丢失了另一个设备中的某些字段)。
在一些实施例中,可能被称之为配置文件的东西可以用于提供SFS操作的逻辑。例如,如果手持装置总是只具有为接触卡定义的名字和电话号码字段,传真字段首次用于手持装置(通过服务器)与之同步的另一个设备,那么能够将配置文件用于指示不采取任何动作查找如何处理其他设备的传真数据字段内容。
除了由于一个设备包括另一个设备(通常)未使用的字段的问题之外,本发明包含了考虑在两个不同设备上的字段用于保存相同的信息,但是该信息由于不同的大小或类型而不兼容(即例如一个为整数以及一个为浮点数),或其最大大小不同。例如,如果大的图像插入到一个设备的字段中,该图像大小大于第二个设备能够处理的大小,根据本发明在每一情况下将采取一些动作来解决该问题。例如,在第二设备上允许较小的图像大小的情况下,当它与第二设备同步时,能够缩小该图像。
还应该注意到,未来的设备可能使得用户能够在工作中创建新的数据字段,使任何的现有映射废弃。本发明包含了这种发展,它让SFS连续地检查不同设备所同步的字段,并因此在每个新字段的定义或者产生问题字段或者消除问题字段的情况下,为每一对客户机设备更新SFS滤波器(因为例如,一对设备的其中之一的字段已经被再定义为与该对设备中另一个设备的相应字段兼容)。
除了上述实施例以外,本发明还根据需要由若干实施例构成,其中根据需要形成SFS滤波器12h但不保留。在这些实施例中,在同步过程中,假设第一客户机设备10(如上所述)具有一个问题字段(该字段出现在第一客户机设备10的数据存储器10c中,但不出现在第二客户机设备11的数据存储器11c中或以不同格式出现),服务器12依次遇到每个字段,它根据服务器可访问的信息(诸如第二客户机设备的设备类型和制造商以及型号)以及指示(几乎相同的)字段是否出现在第二客户机设备11中(如果字段先前为一个问题字段,则已经为该字段提供了映射)的信息,或者如果第二客户机设备11此时连接到服务器12,则通过询问第二客户机设备有关第二客户机设备的数据存储器11c中出现的字段,来确定该字段是否为问题字段。在另外的、相同实施例中,在同步第一客户机设备时,服务器12为两个客户机设备10、11的数据存储器10c、11c形成(构造)完整的SFS滤波器,但在同步之间不保持SFS滤波器12h。在这种其他相同的实施例中,服务器12可以再次(可能通过因特网)访问有关第二客户机设备11中所出现字段的信息,或者如果在同步第一客户机设备10时,第二客户机设备附加到服务器上,服务器可能询问第二客户机设备以确定在第二客户机设备的数据存储器11c中出现了哪些字段。
当在第一客户机设备10上首次使用问题字段时,通常第一客户机设备10的用户远离服务器12,并且通过作为第一客户机设备10上的用户接口系统一部分的显示屏被警告使用该字段(以及被通知服务器已经自动设置映射/对应关系,并且提供映射/对应关系,或要求提供一个映射/对应关系)。但是,另外一种可能是,对于用户来说,在同步过程中与服务器12对接或与服务器12和第一客户机设备10两者对接,在这种情况下,通过第一客户机设备的用户接口(如果可操作,即如果该设备不处于睡眠模式或因为它被插入到与服务器连接的滑板中而被服务器冻结)或服务器的用户接口警告用户。
本发明的范围应该理解,上述结构仅仅是为了示例本发明原理的应用。本领域的普通技术人员可以设计出大量的修改和替换结构而不会背离本发明的范围,所附权利要求的目的在于覆盖这些修改和结构。
权利要求
1.一种通过同步两个客户机数据存储器(10c、11c)与服务器设备(12)所主管的服务器数据存储器(12c),将第一客户机设备(10)所主管的第一客户机数据存储器(10c)相对于第二客户机设备(11)所主管的第二客户机数据存储器(11c)同步的方法,两个客户机数据存储器(10c、11c)每个都包括各种数据分量,该方法的特征在于相对于第一客户机数据存储器(10c)的至少一个数据分量,形成(23、29)指示两个客户机数据存储器(10c、11c)结构的结构信息,第二客户机数据存储器(11c)不具有一个相应的数据分量或不具有两个或更多组合起来对应于该至少一个数据分量的数据分量;检测(34)第一客户机数据存储器(10c)中至少一个数据分量的使用;以及设定(36)第一客户机数据存储器(10c)中的至少一个数据分量相对于第二客户机数据存储器(11c)的对应关系。
2.根据权利要求1所述的方法,其中,所述服务器(12)检测(34)第一客户机数据存储器(10c)的至少一个数据分量的使用,所述服务器(12)通过设定所述对应关系来进行响应,以便指示在随后的同步中包括在至少一个数据单元分量中的信息,既不包含在第二客户机数据存储器(11c)中也不包含在第二客户机数据存储器(11c)的一个或多个所指示的数据分量中。
3.根据权利要求2所述的方法,其中,在形成(23、29)结构信息之后,所述服务器(12)保存(23、29)该结构信息,该服务器(12)进一步检测(34)第一客户机数据存储器(10c)的至少一个数据分量的使用,并基于所保存的结构信息来进行检测。
4.根据权利要求2所述的方法,其中,所述服务器(12)检测(34)第一客户机数据存储器(10c)的至少一个数据分量的使用,然后为至少一个数据分量确定该至少一个数据分量在第二客户机数据存储器(11c)中是否有一个或更多的相应数据分量。
5.根据权利要求2-4其中任何之一所述的方法,其特征进一步在于,所述对应关系将第一客户机设备(10)的至少一个数据分量关联到第二客户机设备(11)的任何一个数据分量,其中第二设备的数据分量没有必要在结构上与第一客户机设备(10)的至少一个数据分量相同,或者关联到第二客户机设备(11)的两个或更多数据分量的组合。
6.根据权利要求2-5的其中任何之一所述的方法,其中,通过第一客户机设备(10)的用户来设定该对应关系并指示给服务器(12)。
7.根据权利要求2-5的其中任何之一所述的方法,其中,由服务器(12)自动地设定所述对应关系。
8.根据权利要求2-5的其中任何之一所述的方法,其中,通过服务器(12)自动确定所建议的对应关系并向第一客户机设备(10)的用户提出建议。
9.根据权利要求2-8的其中任何之一所述的方法,其中,通过给用户提供一个指示已经使用至少一个数据分量的消息来警告第一客户机设备(10)的用户。
10.根据权利要求9所述的方法,其中,可借助第一客户机设备(10)的用户接口来警告第一客户机设备(10)的用户。
11.根据权利要求9所述的方法,其中,可借助服务器(12)的用户接口来警告第一客户机设备(10)的用户。
12.根据上述权利要求的其中任何之一所述的方法,其特征进一步在于,所述服务器(12)可至少部分基于设定的对应关系来同步两个客户机设备(10、11)的数据存储器(11c)。
13.根据上述权利要求的其中任何之一所述的方法,其特征进一步在于,指示结构的信息可包括有关第二客户机设备(11)的制造商或型号的信息、或有关第二客户机设备(11)所使用与第二数据存储器(11c)有关的软件的信息。
14.根据上述权利要求的其中任何之一所述的方法,其特征进一步在于,指示结构的信息可包括表征第二客户机设备(11)所支持数据分量的数据。
15.根据上述权利要求的其中任何之一所述的方法,其特征进一步在于,指示结构的信息可保存在服务器(12)上。
16.根据上述权利要求的其中任何之一所述的方法,其特征进一步在于,指示结构的信息可至少部分地保存在第一客户机设备(10)上或第二客户机设备(11)上。
17.一种包括用于执行或启动根据上述权利要求其中任何之一所述任何步骤的设备(10、11、12)。
18.根据权利要求17所述的设备(10、11、12),其中,该设备为无线通信终端或有线通信终端。
19.根据权利要求17所述的设备(10、11、12),其中,该设备为服务器设备(12)。
20.根据权利要求17所述的设备(10、11、12),其中,该设备为客户机设备(10、11)。
21.一种设备(12),包括用于执行如权利要求1所述步骤的装置,用于形成(23、29)结构信息并检测(34)至少一个数据分量的使用。
22.一种设备(10、11),包括用于执行如权利要求1所述步骤的装置,用于设定(36)对应关系。
23.一种包括第一客户机设备(10)和第二客户机设备(11)还有服务器设备(12)的系统,第一客户机设备具有第一客户机数据存储器(10c),第二客户机设备具有第二客户机数据存储器(11c),通过相对于服务器设备(12)所主管的服务器数据存储器(12c)同步两个客户机数据存储器(10c、11c),第一客户机数据存储器(10c)全部或部分地保持与第二客户机数据存储器(11c)同步,两个客户机数据存储器(10c、11c)每个都包括各种数据分量,该系统的特征在于该服务器设备(12)包括用于相对于第一客户机数据存储器(10c)的至少一个数据分量,形成(23、29)指示两个客户机数据存储器(10c、11c)结构的结构信息的装置,其中第二客户机数据存储器(11c)不具有一个相应的数据分量,或者不具有两个或更多组合起来对应于该至少一个数据分量的数据分量;用于检测(34)第一客户机数据存储器(10c)中至少一个数据分量的使用的装置;以及用于记录(37)第一客户机数据存储器(10c)中的至少一个数据分量相对于第二客户机数据存储器(11c)的对应关系的装置。
24.一种为电信设备(10、11、12)提供命令的计算机程序,以便当在该设备上运行程序时,使电信设备(10、11、12)执行或启动如权利要求1-16所述的任何步骤。
全文摘要
其中两个(或更多)客户机设备(10、11)的用户通过一个服务器(12)(例如,用作同步服务的服务器)以一种用户可接受的方式保持数据存储器同步的系统,每个客户机装置主管一个数据存储器(10c、11c),即使其中的一个数据存储器(10c)包括不位于其他数据存储器(11c)中的数据分量(诸如记录的一个字段)(或者相对于该数据分量仍未设定从一个数据存储器(10c)到另一个数据存储器(11c)的对应关系,可能包括空对应关系)。任何这种所谓的问题字段通常由服务器所主管的同步字段扫描装置(12g)来监视,只有当用户首次为数据分量提供一个值时,该扫描装置才警告用户该数据分量为一个问题字段。
文档编号G06F15/167GK1656480SQ03811480
公开日2005年8月17日 申请日期2003年5月13日 优先权日2002年5月20日
发明者A·基斯基宁 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1