CN1859393A - 一种协商设备信息的系统及方法 - Google Patents
一种协商设备信息的系统及方法 Download PDFInfo
- Publication number
- CN1859393A CN1859393A CN200610003835.8A CN200610003835A CN1859393A CN 1859393 A CN1859393 A CN 1859393A CN 200610003835 A CN200610003835 A CN 200610003835A CN 1859393 A CN1859393 A CN 1859393A
- Authority
- CN
- China
- Prior art keywords
- information
- server
- device information
- client
- class
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
Abstract
本发明公开了一种协商设备信息的系统及方法,包括客户端和与客户端进行消息交互的服务器,该系统还包括存储有设备信息的设备信息服务器,分别与客户端和服务器进行信息交互,为客户端和服务器提供设备信息。本发明提供的系统及方法节省了进行数据同步网络的带宽以及节省数据同步时间。更进一步地,该系统支持对动态设备信息的协商。
Description
技术领域
本发明涉及在数据同步过程中处理设备信息的技术,特别涉及一种在数据同步过程中协商设备信息的系统及方法。
背景技术
为了在多个平台及网络之间实现个人信息及企业的数据同步,于2000年2月份创建了SyncML iniative。创建SyncML iniative的目的在于,使用户、设备开发商、基础构件开发商、数据提供商、应用软件开发商以及服务提供商协同工作,真正实现使用任何客户端均可随时随地的访问任何网络数据。
SyncML的典型应用是移动设备和网络服务设备之间的数据同步,除此之外,还可以用于两台对等设备的数据同步,如在两台计算机之间进行数据同步。图1为现有技术在客户端与服务器之间进行数据同步示意图:在经过同步初始化阶段的设备信息协商以后,客户端将自身修改的数据发送给服务器进行存储;服务器将自身修改的数据发送给客户端进行存储,以保证双方数据的同步。
目前,进行数据同步的同步类型主要有表1所示的几种。
同步类型 | 描述信息 |
双向同步(Two-waysync) | 双向同步是通常所使用的一种同步方式。采用该方式,同步的客户端和服务器相互仅交换彼此设备中的数据修改信息,未修改的数据信息不交换。客户端首先发送其修改信息。 |
慢同步(Slow sync) | 慢同步是双向同步的一种特殊类型,不同之处在于必须对数据进行逐条、逐个字段的进行比较处理。同步时,客户端必须把自身所有数据都发送到服务 |
器,然后服务器对客户端发送的数据和服务器自身数据进行逐个字段的同步分析。 | |
客户端单向同步(One-way syncfrom client only) | 客户端单向同步是一种单边方式的同步。只有客户端发送其数据修改信息到服务器,而服务器并不把服务器的数据修改信息发给客户端。 |
客户端刷新(Refreshsync from clientonly) | 客户端刷新是一种单边方式的同步。客户端把自身所有数据都发送到服务器,服务器用客户端发送的数据来覆盖服务器中该用户的所有数据,即服务器中的数据和客户端的数据完全一致。 |
服务器单向同步(One-way syncfrom server only) | 服务器单向同步和客户端单向同步类似。只有服务器发送其数据修改信息到客户端,而客户端并不把自身的数据修改信息发给服务器。 |
服务器刷新(Refreshsync from serveronly) | 服务器刷新和客户端刷新类似。服务器把自身存储的用户所有数据都发送给客户端,客户端用服务器发送的数据来覆盖客户端自身的所有数据,即客户端中的数据和服务器中的用户数据完全一致。 |
服务器通知同步(Server AlertedSync) | 服务器通知同步是指由服务器首先提醒客户端来执行同步操作,即由服务器指示客户端开始一个特定类型的同步操作,仅仅是服务器通知客户端,要求其发起某种同步,后续同步方式可能为以上六种同步方式。 |
表1
以下采用双向同步的例子说明如何进行数据同步。其他同步类型的数据同步都是双向同步的特殊情况,例如,慢同步可以看成是客户端和服务器发送全部用户数据的双向同步、单项同步是单方向发送用户数据的双向同步、刷新同步是单方向发送用户数据的慢同步等。
图2为现有技术采用双向同步类型在客户端与服务器之间进行数据同步的方法流程图,该方法涉及的实体有客户端和服务器,其具体步骤为:
步骤200、客户端向服务器发送同步初始化包。
步骤201、服务器向客户端发送同步初始化包。
步骤200以及步骤201主要进行同步初始化,同步初始化主要完成身份鉴权、需要同步的数据的协商以及设备信息的协商等,其中,设备信息的协商为支持同步哪些数据以及支持哪些同步类型等。
步骤202、客户端向服务器发送同步数据。
步骤203、服务器向客户端发送同步数据。
在步骤202以及步骤203中,客户端根据数据的状态,数据的状态可以为新增、更新、删除以及移动等,将发生修改的数据发送给服务器,服务器根据接收到的数据修改自身存储的数据以达到数据同步的目的后,也根据自身存储的数据的状态,将发生修改的数据发送给客户端,客户端根据接收到的数据修改自身存储的数据以达到数据同步的目的。
步骤204、客户端接收到同步数据后,向服务器发送确认同步完成消息。
步骤205、服务器接收到同步数据后,向客户端发送确认同步完成消息。
在图2所述的方法中,很多步骤都使用了消息包,这是因为:客户端和服务器之间的具有相同功能的交互过程需要持续多次才能完成,而在表示时,只用了一来一回的两种消息包。
图3为现有技术实现数据同步过程的系统示意图,如图所示:该系统包括客户端和服务器,客户端可以与服务器进行消息交互。其中,在客户端侧还具有客户端数据库,用于存储客户端所属用户需要的数据,该客户端数据库可以设置在客户端中,也可以单独设置;在服务器侧还具有服务器数据库,用于存放服务器的数据,该服务器数据库可以设置在服务器中或者单独设置。
客户端通常可以为计算机、移动终端或个人数字助理(PDA)等智能终端。在客户端数据库存储的数据可以包括:通讯录、日程、便笺和电子邮件等。这些数据均有标准规范定义其格式,客户端可以将所存储的数据转换成标准格式的数据发送给服务器,服务器对接收到的数据处理后可以将处理后的数据保存在服务器数据库中。服务器通常可以为计算机或进行数据同步网络的网络服务器,可以接收来自客户端的数据同步消息或数据同步命令,也可以向客户端发送数据同步消息或数据同步命令。以上简单介绍了客户端和服务器之间的数据同步过程,目前,在进行数据同步的初始化阶段,客户端和服务器之间要进行设备能力的协商,其具体步骤如图4所示:
步骤400、客户端向服务器发送数据同步初始化消息(SyncML InitializationMessage),索取服务器设备信息并且携带客户端设备信息。
在SyncML Initialization Message的<Results>命令标签中包含客户端设备信息,在<Get>命令标签中包含索取服务器设备信息。
步骤401、服务器根据客户端的请求,向客户端发送服务器设备信息。
在图4中,如果客户端不需要服务器设备信息,可以不索取服务器设备信息,省略步骤401。
同样地,服务器也可以向客户端索取客户端设备信息,其具体步骤如图5所示:
步骤500、客户端向服务器发送SyncML Initialization Message,索取服务器设备信息。
步骤501、服务器向客户端发送SyncML Initialization Message,索取客户端设备信息以及携带服务器设备信息。
在SyncML Initialization Message的<Results>命令标签中包含服务器设备信息,在<Get>命令标签中包含索取客户端设备信息的请求。
步骤502、客户端向服务器发送SyncML Initialization Message,携带客户端设备信息。
在SyncML Initialization Message的<Results>命令标签中包含客户端设备信息。设备信息主要用于客户端和服务器进行内容适配。例如:客户端和服务器都支持通讯同步,但是由于不同厂商的客户端可能支持的设备信息不一样,比如支持的通讯录版本不一致,支持的版本相同但支持的字段不一样,这些都必须进行服务器与客户端之间的设备能力协商,从而使双方确定对方的设备能力,进行内容适配,完成数据同步。
设备信息的数据结构如图6所示,与设备相关的设备信息包括:设备制造商、设备型号、软件版本号、硬件版本号和客户端类别等;与同步数据相关的设备信息包括:支持的同步数据类型、支持的同步数据属性、支持的同步数据属性值和支持的同步数据参数等;与数据存储相关的设备信息包括:本地数据存储统一资源标识(URI,Uniform Resource Identifier)、最大网络统一标识(GUID)、支持存储的同步数据类型、数据存储容量和支持的同步方式等;与扩展机制相关的设备信息是自定义的扩展元素名和扩展元素值。
这些设备信息都可以用标签语言进行描述后存储在服务器数据库和客户端数据库中,或者在客户端和服务器之间进行交互。
这种在数据同步初始化阶段进行的设备信息协商过程存在着缺点:首先,设备信息中大部分为静态信息,从客户端出厂或客户端设置同步时就固定了,而目前却要在每一次设备信息协商时进行传送,浪费了进行数据同步网络的带宽以及延长了数据同步的时间,增加使用客户端的用户的流量费;其次,SyncMLInitialization Message中的<Get>命令无法精确获取到设备信息的某个特定元素或者属性值;最后,对于设备信息中的动态信息缺乏协商机制,如支持可插拔存储设备的客户端,当其最大存储容量由于插入了存储设备而变更时,无法与服务器进行协商。
发明内容
有鉴于此,本发明的主要目的在于一方面提供一种协商设备信息的系统,该系统能够节省进行数据同步网络的带宽以及节省数据同步时间。更进一步地,该系统支持对动态设备信息的协商。
本发明另一方面提供一种协商设备信息的方法,该方法能够节省进行数据同步网络的带宽以及节省数据同步时间。更进一步地,能够对动态设备信息进行协商。
根据上述目的,本发明的技术方案是这样实现的:
一种协商设备信息的系统,包括客户端和与客户端进行消息交互的服务器,该系统还包括存储有设备信息的设备信息服务器,分别与客户端和服务器进行信息交互,为客户端和服务器提供设备信息。
所述的设备信息为客户端设备信息和服务器设备信息。
所述的设备信息服务器为一个或者一个以上,所述设备信息服务器为一个以上时,分别存储客户端设备信息和服务器设备信息、或者按照设定的规则同时存储客户端设备信息和服务器设备信息。
所述的设备信息服务器根据客户端的更新请求更新自身存储的设备信息,在服务器订阅设备信息变更通知时,向服务器发送更新设备信息的通知;
或者所述的设备信息服务器根据服务器的更新请求更新自身存储的设备信息,在客户端订阅设备信息变更通知时,向客户端发送更新设备信息的通知。
所述的订阅设备信息变更通知为会话初始化协议SIP消息或者超文本传输协议HTTP消息;
所述的更新设备信息的通知为SIP消息或者HTTP消息。
该系统还包括位于客户端和设备信息服务器之间的客户端代理,用于客户端通过客户端代理与设备信息服务器进行消息交互。
所述的客户端代理单独设置或集成在客户端。
所述的客户端与客户端代理、客户端代理与设备信息服务器、设备信息服务器与服务器之间的交互消息为非压缩的消息或者压缩后的消息。
所述的非压缩的消息采用扩展标记语言访问和配置协议XCAP。
该系统还包括位于设备信息服务器和服务器之间的设备信息管理模块,用于服务器通过设备信息管理模块与设备信息服务器进行消息交互。
所述的设备信息管理模块单独设置或集成在服务器中。
该系统还包括与设备信息管理模块相连接的设备信息缓存管理模块,用于缓存从设备信息服务器中获取的设备信息以及检查缓存是否需要更新。
所述的设备信息缓存管理模块单独设置或集成在服务器中。
所述的设备信息为:基本设备信息、设备能力信息、设备配置信息或/和用户配置信息。
所述的设备能力信息为同步数据库能力信息、通讯能力信息、同步类型信息、全局同步特征信息或/和设备动态能力信息。
一种协商设备信息的方法,设置存储有设备信息的网络实体,该网络实体还存储有设备信息与识别标识的对应关系,该方法还包括:
A、发起数据同步过程的网络实体向目的数据同步过程的网络实体发送携带自身识别标识的数据同步初始化请求;
B、目的数据同步过程的网络实体根据该请求携带的识别标识,访问所设置网络实体,根据所设置网络实体存储的对应关系和设备信息获取该请求携带的识别标识对应的设备信息,向发送数据同步过程的网络实体发送该请求的响应。
步骤B所述的该请求的响应还携带目的数据同步过程的网络实体的识别标识,在步骤B之后,该方法还包括:
C、发起数据同步过程的网络实体根据该请求的响应携带的识别标识,访问所设置网络实体,根据所设置网络实体存储的对应关系和设备信息获取该请求的响应携带的识别标识对应的设备信息。
在步骤B之后,该方法进一步包括更新所设置网络实体存储的设备信息的步骤,具体为:
发起数据同步过程的网络实体或目的数据同步过程的网络实体向所设置网络实体发送携带更新的设备信息的更新请求,所设置网络实体根据该更新请求携带的设备信息更新自身存储的设备信息。
所述发送的更新请求携带的设备信息为设备信息中的一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性。
该方法进一步包括:
发起数据同步过程的网络实体或目的数据同步过程的网络实体预先向所设置网络实体订阅了设备信息变更通知,所设置网络实体更新自身存储的设备信息后,向发起数据同步过程的网络实体或目的数据同步过程的网络实体发送更新设备信息通知,通知发起数据同步过程的网络实体或目的数据同步过程的网络实体获取更新的设备信息。
所述的订阅设备信息变更通知为会话初始化协议SIP消息或者超文本传输协议HTTP消息;
所述的更新设备信息的通知为SIP消息或者HTTP消息。
所述订阅设备信息变更通知为携带一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性的订阅设备信息变更通知;
所述更新设备信息通知为携带一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性的更新设备信息通知。
该方法进一步包括:
发起数据同步过程的网络实体或目的数据同步过程的网络实体向所设置网络发送查询是否更新设备信息的请求,所设置的网络实体判断自身存储的设备信息是否进行了更新,如果是,返回更新后的设备信息;否则,返回未更新设备信息响应。
所述查询是否更新设备信息请求为携带一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性的更新设备信息请求。
所述的发起数据同步过程的网络实体为客户端或服务器;
所述的目的数据同步过程的网络实体为服务器或客户端。
所述服务器获取到客户端设备信息后,该方法进一步包括:
服务器将客户端设备信息对应于客户端的识别标识进行缓存。
所述缓存之后,在进行下一次数据同步初始化时,该方法包括服务器直接获取所缓存的客户端设备信息的步骤,具体为:
客户端向服务器发送携带自身识别标识的数据同步初始化请求,服务器直接获取所缓存的对应于该请求携带的识别标识的客户端设备信息。
在直接获取客户端设备信息之前,该方法还包括:
服务器判断自身缓存的对应于该请求携带的识别标识的客户端设备信息是否发生了更新,如果否,则直接获取客户端设备信息;否则,执行步骤B获取客户端设备信息。
所述判断是否发生了更新的过程为:
服务器判断自身缓存的对应于该请求携带的识别标识的客户端设备信息与所设置网络实体存储的对应于该请求携带的识别标识的客户端设备信息是否相同,如果不相同,则发生了更新;如果相同,则未发生更新。
所述判断是否发生了更新的过程为:
服务器判断缓存客户端设备信息的时间点是否与客户端发送的更新客户端设备信息的时间点相同,如果不相同,则发生了更新;如果相同,则未发生更新。
所述判断是否发生了更新的过程为:
服务器判断是否接收到了所订阅的客户端的设备信息变更通知;如果是,则发生了更新;否则,则未发生更新。
所述的识别标识为统一资源标识URI、设备基本信息和用户帐号名中的一个或者组合。
所述的设备信息为:基本设备信息、设备能力信息、设备配置信息或/和用户配置信息。
所述的设备能力信息为同步数据库能力信息、通讯能力信息、同步类型信息、全局同步特征信息或/和设备动态能力信息。
从上述方案可以看出,本发明在进行数据同步的网络中设置了存储客户端设备信息和服务器设备信息的网络实体,当客户端和服务器之间进行设备信息的协商时,客户端或服务器可以根据对方的识别标识从该网络实体中获取与对方的识别标识相对应的设备信息,而不需要像现有技术那样客户端和服务器分别将自身的设备信息发送给对方,从而节省了进行数据同步网络的带宽以及节省数据同步时间。本发明还可以精确地获取到部分设备信息、设备信息中的特定元素或者设备信息中的属性值。
更进一步地,当客户端设备信息或服务器设备信息进行动态更新后,本发明设置的存储客户端设备信息和服务器设备信息的网络实体可以更新自身存储的设备信息并向服务器或客户端发送更新对方设备信息的通知,通知服务器或客户端从该网络实体获取更新后的对方的设备信息,因此,本发明提供的系统及方法可以实现动态设备信息的协商。
附图说明
图1为现有技术在客户端与服务器之间进行数据同步示意图。
图2为现有技术采用双向同步类型在客户端与服务器之间进行数据同步的方法流程图。
图3为现有技术实现数据同步过程的系统示意图。
图4为现有技术客户端和服务器之间进行设备能力协商实施例一的流程图。
图5为现有技术客户端和服务器之间进行设备能力协商实施例二的流程图。
图6为设备信息的数据结构示意图。
图7为本发明在数据同步过程中协商设备信息的系统示意图。
图8为本发明在数据同步过程中协商设备信息的系统实施例一的示意图。
图9为本发明在数据同步过程中协商设备信息的系统实施例二的示意图。
图10为本发明具有设备信息缓存管理模块的系统示意图。
图11为客户端或服务器使用本发明提供的系统获取对方的设备信息的示意图。
图12为客户端使用本发明提供的系统更新设备信息服务器中存储的客户端设备信息的示意图。
图13为本发明在数据同步过程中进行设备信息协商的方法流程图。
图14为本发明的设备信息的数据结构示意图。
图15为本发明在客户端发起数据同步初始化过程时,服务器获取客户端设备信息的方法流程图。
图16为本发明当服务器自身缓存了客户端设备信息以及客户端设备信息与URI的对应关系后,客户端再发起数据同步初始化过程,服务器获取客户端设备信息的方法流程图。
图17为本发明服务器在订阅客户端设备信息变更的通知后,存储有客户端设备信息和服务器设备信息的网络实体向服务器发送更新客户端设备信息的通知的方法流程图。
图18为本发明服务器判断客户端设备信息是否发生更新的方法流程图。
图19为本发明采用扩展User Agent Profile时客户端向服务器发送或者更新的方法实施例一的示意图。
图20为本发明采用扩展User Agent Profile时客户端向服务器发送或者更新的方法实施例二的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照附图,对本发明进行进一步详细的说明。
本发明在进行数据同步的网络中设置设备信息服务器,用于保存客户端设备信息和服务器设备信息,当客户端和服务器进行数据同步时,都可以到设置的设备信息服务器中获取到对方的设备信息,从而不需要像现有技术那样将自身的设备信息发送给对方,从而节省了进行数据同步的网络的带宽以及节省了进行数据同步过程所用的时间。
图7为本发明在数据同步过程中协商设备信息的系统示意图,如图所示:该系统包括客户端和服务器,在客户端侧具有客户端数据库以及在服务器侧具有服务器数据库,其中,客户端和服务器之间进行消息交互;客户端从客户端数据库获取客户端数据;服务器从服务器数据库获取服务器数据;客户端数据库可以集成在客户端中,也可以单独设置;服务器数据库可以集成在服务器中,也可以单独设置。
该系统还包括存储有客户端设备信息和服务器设备信息的设备信息服务器,用于当客户端或服务器向设备信息服务器发送获取设备能力消息后,向客户端或服务器发送所存储的服务器设备信息或客户端设备信息;或者当客户端或服务器向设备信息服务器订阅更改设备信息的通知后,设备信息服务器当更改设备信息时给客户端或服务器发送更改设备信息的通知;或者当客户端或服务器向设备信息服务器发送查询更改的设备信息时,向客户端或服务器发送更改的设备信息;或者客户端或服务器向设备信息服务器发送修改设备信息的请求,设备信息服务器根据该请求修改所存储的设备信息。
在设备信息服务器存储的客户端设备信息和服务器设备信息都用识别标识进行标识,如用URI、设备基本信息或用户帐号名中的一个或者组合进行标识,当客户端或服务器要获取对方的设备信息时,只需要从对方获取对方的识别标识,然后客户端或服务器向设备信息服务器发送携带对方的识别标识的获取设备能力消息,设备信息服务器确定该消息携带的对方的识别标识对应的设备信息,发送给客户端或服务器。
在本发明中,设备信息服务器可以设置为两个,分别保存客户端设备信息和服务器设备信息;设备信息服务器也可以设置多个,其中一个保存服务器设备信息,其他不同的设备信息服务器分别保存不同客户端设备信息;还可以根据设定的规则将服务器设备信息与客户端设备信息同时保存在多个设备信息服务器中。
设备信息服务器的主要功能包括:保存并且维护客户端设备信息和服务器设备信息;接收来自客户端和服务器的订阅设备信息的变更请求,处理并返回响应;根据客户端或者服务器的订阅设备信息的变更请求向其发送变更后的设备信息;支持服务器或者客户端查询对方的设备信息是否发生改变。
如果现有技术的客户端不支持直接访问设置的设备信息服务器,如当出于带宽限制或者安全性考虑时,本发明还可以在数据同步的网络中设置客户端代理(Client Proxy),该Client Proxy位于客户端与设置的设备信息服务器之间,用于客户端通过Client Proxy访问设置的设备信息服务器,获取服务器的设备信息,其示意图如图8所示。该Client Proxy可以设置在客户端内部或单独设置。
Client Proxy可以为超文本传输协议(HTTP)代理,用于客户端访问设置的设备信息服务器,其主要功能为:支持向客户端发起认证,认证方式为通用认证架构(GAA,Generic Authentication Architecture)或者超文本传输协议摘要认证(HTTP,Digest Authentication);转发客户端的请求到设备信息服务器,转发服务器通过设备信息服务器发送的响应到客户端;可以使用传输层安全加密协议(TLS),保证客户端和Client Proxy之间的通信安全;服务器通过设备信息服务器与Client Proxy之间与客户端交互,还可以启动压缩功能,缩短交互时间;支持客户端通过Client Proxy向设备信息服务器发起订阅服务器设备信息变更的请求和接收返回的响应。
在本发明中,客户端与Client Proxy之间、Client Proxy与设备信息服务器之间以及设备信息服务器与服务器之间都采用扩展标记语言访问和配置协议(XCAP,The Extensible Markup Language(XML)Configuration AccessProtocol),XCAP是一种基于HTTP的协议,通过HTTP GET和HTTP PUT命令来获取和修改扩展标记语言(XML,Xtensible Markup Language)文档信息。该XML文档用于保存设备信息,客户端或服务器通过XCAP根据识别标识访问采用XML文档保存的设备信息,其访问行为包括:获取、更新、删除整个XML文档;获取、更新、删除XML文档中某个特定设备信息元素或其属性。
如果现有技术的服务器不支持直接访问设置的设备信息服务器,如当处于安全性考虑时,本发明还可以在数据同步的网络中设置设备信息管理模块,该设备信息管理模块位于服务器与设置的设备信息服务器之间,用于服务器通过设备信息管理模块访问设置的设备信息服务器,获取客户端设备信息,其示意图如图9所示,该设备信息管理模块可以设置在服务器内部或单独设置。
对于客户端的一些设备信息,如客户端的静态能力信息,由于在客户端出厂后就不会改变,所以采用本发明提供的系统在进行一次客户端与服务器之间的设备能力协商之后,可以设置设备信息缓存管理模块,用于存储这些客户端设备信息,这样,就可以保证服务器在以后的同步过程中不需要每一次都到设备信息服务器中获取客户端设备信息。具有设备信息缓存管理模块的系统示意图如图10所示:该设备信息缓存管理模块与设备信息管理模块相连接,用于缓存通过设备信息管理模块服务获取的客户端设备信息。
当服务器支持访问设置的设备信息服务器时,设备信息缓存管理模块与服务器之间直接相连接,进行消息交互。
以下采用图8所示的系统举二个具体的例子说明客户端或服务器如何使用本发明提供的系统的。
第一个具体实施例:客户端或服务器使用本发明提供的系统获取对方的设备信息。
图11为客户端或服务器使用本发明提供的系统获取对方的设备信息的示意图:首先,客户端向服务器发送数据同步初始化请求,其中附带客户端设备信息对应的URI;其次,服务器根据该请求携带的URI到设备信息服务器获取客户端设备信息;然后,服务器向客户端返回数据同步初始化请求的响应,响应中携带服务器设备信息对应的URI;再次,客户端根据该响应携带的URI向Client Proxy发送请求,请求获取该URI对应的服务器设备信息;最后,Client Proxy根据该URI到设备信息服务器获取服务器设备信息,并返回给客户端,完成设备信息的协商过程。
第二个具体实施例:当客户端设备信息或服务器设备信息发生变更时,客户端使用本发明提供的系统更新设备信息服务器中存储的设备信息。
图12为客户端使用本发明提供的系统更新设备信息服务器中存储的客户端设备信息的示意图:首先,客户端设备信息发生了变更,客户端向ClientProxy发送携带变更了客户端设备信息的更新设备信息请求;其次,ClientProxy转发该请求给设备信息服务器;最后,设备信息服务器根据该请求携带的变更了客户端设备信息对自身存储的客户端设备信息进行更新,将更新了的客户端设备信息发送给服务器,从而使服务器得知客户端设备信息发生了更新。
在本发明中,在发送更新设备信息请求时,也可以不携带变更了客户端设备信息,而是当设备信息服务器接收到该请求后,直接到客户端去获取变更了的客户端设备信息。
当进行更新客户端设备信息时,本发明中的更新设备信息请求可以携带客户端设备信息中的一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性,这样,更新时,就只是更新了客户端设备信息中的一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性。
服务器可以订阅设备信息变更通知,这种订阅可以是针对设备信息中的整个文档、某些特定的元素或者其属性。当设备信息中的文档发生变更时,仅仅会通知属于服务器订阅范围内发生变更的设备信息;如果发生变更的信息较少,可以在发送给服务器的设备信息变更通知中携带这些变更的信息,如果发生变更的信息较多,可以仅仅向设备信息服务器发送设备信息变更通知,由服务器直接到设备信息服务器获取更新了的客户端设备信息。
同样地,当服务器设备信息变更时,也可以采用类似于图12的过程更新设备信息服务器中存储的服务器设备信息以及通知客户端。
这样,就可以完成了动态设备信息的协商过程。
为了节省进行数据同步网络的带宽以及节省数据同步时间,本发明还提供了一种在数据同步过程中进行设备信息协商的方法,该方法首先将客户端设备信息和服务器设备信息存储在进行数据同步的网络中的其他网络实体中,并且设置客户端设备信息和服务器设备信息与识别标识的映射关系,该识别标识可以为URI、设备基本信息或用户帐号名中的一个或者组合。当客户端或服务器要获取对方的设备信息时,可以根据对方的识别标识从存储有客户端设备信息和服务器设备信息的网络实体中获取与对方识别标识对应的客户端设备信息或服务器设备信息。
当然,存储的客户端设备信息为多个客户端的客户端设备信息。
图13为本发明在数据同步过程中进行设备信息协商的方法流程图,假设客户端或服务器为发起数据同步初始化请求的发起数据同步过程的网络实体,对应地,服务器或客户端为接收数据同步初始化请求的目的数据同步过程的网络实体,其具体步骤为:
步骤1300、发起数据同步过程的网络实体向目的数据同步过程的网络实体发起数据同步初始化请求,该请求携带发起数据同步过程的网络实体的识别标识。
步骤1301、目的数据同步过程的网络实体根据该请求携带的发起数据同步过程的网络实体的识别标识,访问存储有客户端设备信息和服务器设备信息的网络实体,获取对应于发起数据同步过程的网络实体的识别标识的设备信息。
步骤1302、目的数据同步过程的网络实体将自身的识别标识携带在该请求的响应中发送给发起数据同步过程的网络实体。
步骤1303、发起数据同步过程的网络实体根据该请求的响应携带的目的数据同步过程的网络实体的识别标识,访问存储有客户端设备信息和服务器设备信息的网络实体,获取对应于目的数据同步过程的网络实体的识别标识的设备信息。
这样,就完成了数据同步初始化阶段的设备信息协商过程。
当然,本发明在发起数据同步过程的网络实体不需要获取目的数据同步过程的网络实体的设备信息时,也可以不执行步骤1302和步骤1303,而直接执行完1301就结束。
在本发明中,设备信息的数据结构示意图如图14所示:设备信息包括基本设备信息、设备能力信息、设备配置信息或/和用户配置信息。
其中,基本设备信息包括生产厂家、终端型号、软件、硬件版本或/和终端类别等;设备能力信息包括同步数据库能力信息、通讯能力信息、同步类型信息、全局同步特征信息或/和设备动态能力信息;设备配置信息包括设备存储容量或/和对某个数据类型的容量限额等信息;用户配置信息包括设备处于某种配置状态下,预先配置的一些设备信息或/和配置等信息。
设备能力信息中的同步数据库能力信息包括:支持哪些同步数据库:例如通讯录、电子邮件或/和日程等;某个同步数据库支持的版本、字段、属性和属性值:例如支持通讯录vCard 3.0,支持“电话号码”或/和“家庭地址”等字段。
设备能力信息中的通讯能力信息包括支持的通讯网络、支持的传输协议或/和支持的通讯方式。支持的通讯网络可以为通用分组无线服务(GPRS)网络、或者第三代(3G)通信网络等;支持的传输协议可以为HTTP、蓝牙或红外等;支持的通讯方式可以为短信、WAP Push或会话初始话协议(SIP)Push等。
设备能力信息中的同步类型信息包括支持的同步类型,比如双向同步、单向同步或/和智能同步。
设备能力信息中的全局同步特征信息包括是否支持大对象同步、支持的GUID的长度、支持保存的变更数或/和支持的同步消息大小限制。
设备能力信息中的设备动态能力信息包括是否禁用同步数据库或/和是否禁用大对象同步。
举一个例子说明设备信息的设置。假设设备处于飞行模式时,设置的设备信息为:同步Email时,不同步其附件,仅同步其邮件内容;禁用大对象同步功能;处于蓝牙通讯时,允许同步大对象和同步邮件附件。设置的用户配置信息:白天8:00~18:00,启用实时同步功能,实时获取最新的email;晚上18:00~21:00,禁用实时同步功能;服务器禁止下发同步通知。
设备信息的存储格式如下所示:
<基本设备信息>
<厂家>Huawei</厂家>
<型号>U636</型号>
</基本设备信息>
<设备能力信息>
<同步数据库能力信息>
<通讯录 属性:是否禁用>版本3.0,支持字段...........</通讯录>
<通讯能力信息>............</通讯能力信息>
<同步类型信息>............</同步类型信息>
<全局同步特征信息>............</全局同步特征信息>
</设备能力信息>
<设备存储信息>............<设备存储信息>
<设备配置信息>.............<设备存储信息>
<用户配置信息>.............<设备存储信息>
以下举两个具体的实施例说明本发明提供的方法。
图15为本发明在客户端发起数据同步初始化过程时,服务器获取客户端设备信息的方法流程图,其具体步骤为:
步骤1500、服务器接收到客户端发送的数据同步初始化请求。
步骤1501、服务器判断该数据同步初始化请求是否携带有客户端设备信息,如果是,转入步骤1506;否则,转入步骤1502。
步骤1502、服务器判断该数据同步初始化请求是否携带有客户端设备信息对应的URI,如果是,执行步骤1504;否则,执行步骤1503。
步骤1503、服务器向客户端返回数据同步初始化失败响应,该响应要求客户端重新发起数据同步初始化过程,结束本流程。
步骤1504、服务器根据该数据同步初始化请求携带的URI访问存储有客户端设备信息和服务器设备信息的网络实体,获取对应于该URI的客户端设备信息。
步骤1505、服务器缓存获取的客户端设备信息并且缓存客户端设备信息与URI的对应关系,用于在下一次数据同步初始化过程中直接根据客户端设备信息对应的URI获取自身缓存的客户端设备信息,结束本流程。
步骤1506、服务器向客户端返回数据同步初始化成功响应,结束本流程。
当服务器自身缓存了客户端设备信息以及客户端设备信息与URI的对应关系后,客户端再发起数据同步初始化过程,服务器获取客户端设备信息的方法流程图如图16所示,其具体步骤为:
步骤1600、服务器接收到携带客户端设备信息对应的URI的数据同步初始化请求。
步骤1601、服务器根据自身缓存的客户端设备信息与URI的对应关系判断是否缓存了该请求携带的URI对应的客户端设备信息,如果是,则转入步骤1603;否则,转入步骤1602。
步骤1602、服务器按照图15所述的步骤从存储有客户端设备信息和服务器设备信息的网络实体获取该请求携带的URI对应的客户端设备信息并缓存,结束本流程。
步骤1603、服务器向客户端返回数据同步初始化成功响应,结束本流程。
在图16的步骤1603之前,服务器还可以判断客户端设备能力是否进行了更新,即判断同一URI对应的自身缓存的客户端设备信息是否与存储有客户端设备信息和服务器设备信息的网络实体存储的客户端设备信息相同,如果是,则执行步骤1603;否则,则按照步骤1602执行。
本发明为了支持对动态设备信息的协商,服务器可以向存储有客户端设备信息和服务器设备信息的网络实体订阅客户端设备信息变更的通知,当存储有客户端设备信息和服务器设备信息的网络实体中存储的客户端设备信息更新后,就会根据服务器的订阅主动向服务器发送客户端设备信息的变更通知,通知服务器更新自身缓存的客户端设备信息。
其中订阅设备信息变更的通知以及设备信息的变更通知可以采用SIP消息或HTTP消息。
图17为本发明服务器在订阅客户端设备信息变更的通知后,存储有客户端设备信息和服务器设备信息的网络实体向服务器发送更新客户端设备信息的通知的方法流程图,其具体步骤为:
步骤1700、服务器向存储有客户端设备信息和服务器设备信息的网络实体发送订阅客户端设备信息变更的通知。
步骤1701、存储有客户端设备信息和服务器设备信息的网络实体接收到该订阅通知后,保存服务器的订阅通知。
步骤1702、客户端向存储有客户端设备信息和服务器设备信息的网络实体发送更新客户端设备信息的请求,该请求携带更新的客户端设备信息。
步骤1703、存储有客户端设备信息和服务器设备信息的网络实体根据该请求携带的更新的客户端设备信息更新自身存储的客户端设备信息。
步骤1704、存储有客户端设备信息和服务器设备信息的网络实体根据保存的服务器的订阅通知向服务器发送更新客户端设备信息的通知。
在具体实现中,客户端也可以定期更新客户端设备信息,即在设定的时间点上定期更新客户端设备信息。客户端还可以将更新客户端设备信息的时间点发送给服务器,由服务器根据该时间点判断自身缓存的客户端设备信息是否为最新的客户端设备信息,其具体步骤如图18所示:
步骤1800、服务器判断客户端是否向自身发送了更新客户端设备信息的时间点信息,如果是,执行步骤1801;否则,执行步骤1802。
步骤1801、服务器判断接收到的时间点信息与自身缓存的客户端设备信息的时间点信息是否相同,如果是,执行步骤1807;否则,执行步骤1806。
步骤1802、服务器判断自身是否向存储有客户端设备信息和服务器设备信息的网络实体已经订阅了客户端设备信息变更的通知,如果是,执行步骤1805;否则,执行步骤1803。
步骤1803、服务器向存储有客户端设备信息和服务器设备信息的网络实体发送查询更新客户端设备信息请求,转入步骤1804。
步骤1804、存储有客户端设备信息和服务器设备信息的网络实体判断自身所存储的客户端设备信息是否有更新,如果是,向服务器发送已经更新客户端设备信息的通知,转入步骤1806;否则,向服务器发送没有更新客户端设备信息的通知,转入步骤1807。
步骤1805、服务器判断是否接收到了客户端设备信息更新通知,如果是,转入步骤1806;否则,转入步骤1807。
步骤1806、服务器确定客户端设备信息已经进行了更新,结束本流程。
步骤1807、服务器确定客户端设备信息没有发生更新,结束本流程。
在本发明中,所保存的设备信息的每一条都可以具有属性,如是否禁用属性或是否为动态信息属性等,在进行设备信息更新时,也可以将设备信息的属性进行修改。本发明的设备信息可以用标签语言进行描述。
举两个具体的实施例进行说明:
具体实施例一,假设张三的设备信息如下:
<设备信息>
<基本设备信息>
<生产厂家>华为技术有限公司</生产厂家>
<型号>3G-001</型号>
<软件版本号>2.0</软件版本号>
<硬件版本号>1.22I</硬件版本号>
<设备编号>1218182THD000001-2</设备编号>
<设备类型>PDA</设备类型>
</基本设备信息>
<设备能力信息><同步数据库能力信息><数据存储库1 是否禁用='否'>
<地址>./contacts</地址>
<显示名>Phonebook</显示名>
<最大的GUID长度>32</最大的GUID长度>
<首选的可接收数据>
<类型>通讯录text/vcard</类型>
<版本>3.0</版本>
</首选的可接收数据>
<首选的可发送数据>
<类型>通讯录text/x-vcard</类型>
<版本>3.0</版本>
</首选的可发送数据>
<支持的同步数据能力>
<类型>通讯录text/vcard</类型>
<版本>3.0</版本>
<属性>
<属性名>BEGIN</属性名>
<属性值>VCARD</属性值>
</属性>
</支持的同步数据能力></同步数据库能力信息><通讯能力信息><蓝牙/><红外/></通讯能力信息><同步类型信息>
<同步类型>1</同步类型>
<同步类型>2</同步类型>
<同步类型>7</同步类型></同步类型信息><全局同步特征信息>
<支持大对象同步>是</支持大对象同步>
<支持的最大修改数>1000</支持的最大修改数></全局同步特征信息></设备能力信息><设备存储信息>
<内存大小>
<最大内存>32650</最大内存>
<最大存储数据个数>250</最大存储数据个数>
</内存大小></设备存储信息><设备配置信息><模式1>
<模式名>飞行模式</模式名>
<Email同步>禁止同步附件。。。</Email同步><模式1></模式1></设备配置信息><用户配置信息><配置1>
<同步时间段1>8:00~18:00</同步时间段1>
<同步数据类型>Email</同步数据类型>
<同步方式>实时同步</同步方式>
</配置1>
<配置2>
<同步时间段2>18:00~21:00</同步时间段2>
<同步数据类型>Email</同步数据类型>
<同步方式>实时同步</同步方式>
</配置2></用户配置信息></设备信息>
除了<基本设备信息>需要客户端在数据同步初始化时每次向服务器发送以外,其他的客户端设备信息都可以保存在存储有客户端设备信息和服务器设备信息的网络实体上,通过识别标识访问。
第二个实施例,客户端设备信息更新实施例:
首先,服务器订阅了客户端设备信息变更的通知;
其次,客户端对客户端设备信息做如下修改:A、将支持大对象改为禁用;B、将通讯录同步禁用;客户端将更新请求发送到存储有客户端设备信息和服务器设备信息的网络实体完成更新,该请求携带的更新客户端设备信息包括:
<同步特征信息>
<是否支持大对象属性:是否禁用>
<同步类型属性:是否禁用>
</同步特征信息>
<数据存储信息禁用>
<类型>通讯录</类型>
.........
</数据存储信息>
<数据存储信息启用>
<类型>短信</类型>
.........
</数据存储信息>
<数据存储信息启用>
<类型>Email</类型>
.........
</数据存储信息>
再次,存储客户端设备信息和服务器设备信息的网络实体根据该请求更新自身存储的客户端设备信息后,向服务器发送更新客户端设备信息的通知;
如果通知消息中直接携带了变更的设备信息,则服务器直接缓存,如果通知消息中未携带变更的设备信息,则服务器到存储客户端设备信息和服务器设备信息的网络实体上获取更新的客户端设备信息并缓存。
在这个实施例中,由于客户端设备信息中的大对象功能以及通讯录同步被禁用,则在数据同步过程中,服务器不会发送大对象,也不会主动要求客户端发起通讯录的数据同步,从而减少了不必要的设备信息协商和垃圾数据的传输。
在本发明中,设备信息还可以表示为用户代理特性(User Agent Profile),该User Agent Profile用于描述终端能力信息,包括五个方面的内容:硬件能力,包括显示屏象素和屏幕大小等信息、软件能力,包括是否支持下载和支持哪些软件类型等信息、网络能力,包括是否支持通用无线分组网络(GPRS,General Packet Radio Service)、无线传输层安全协议(WTLS,WirelessTransport Layer Security)等信息、浏览器能力,包括是否支持显示框架(Frame)和表格(Table)等信息;彩信能力,包括彩信最大容量以及字符集等信息。本发明获取User Agent Profile的方式可以包括无线会话协议(WSP,Wireless Session Protocol)以及HTTP GET等。
为了实现本发明,需要扩展User Agent Profile,使其支持数据同步所需要的设备信息描述。
采用扩展User Agent Profile时客户端向服务器发送或者更新的方法实施例一的示意图如图19所示:
首先、客户端通过HTTP请求将要发送给服务器或者更新的设备信息发送到WAP网关(Gateway);
其次、WAP Gateway通过HTTP请求将要发送给服务器或者更新的设备信息转发给服务器。
采用扩展User Agent Profile时客户端向服务器发送或者更新的方法实施例二的示意图如图20所示:
首先、客户端通过WSP连接(Connect)请求与WAP Gateway建立连接,WAP Gateway通过HTTP PUT向服务器发送HTTP PUT请求,与服务器建立连接;
其次、客户端通过WSP请求向服务器发送客户端的设备信息或更新请求,该客户端的设备信息通过WAP Gateway转发。
如果是发送客户端的设备信息,则在WSP请求的消息头中包含Profile域;如果是发送更新请求,则包含Profile-diff域。
采用扩展User Agent Profile实现本发明的缺点在于:无法支持订阅,客户端会将发生变更的设备信息都传送到服务器;仅仅支持将客户端的设备信息发送到服务器,而缺少服务器将设备信息发送给客户端的机制,如果增加这种机制,对于User Agent Profile的架构改动较大。
在本发明中,客户端和服务器的地位属于对等的,对于功能比较强大的客户端,如PDA或计算机等客户端,也可以按照服务器一样的架构以及处理流程进行设备信息协商过程;对于功能比较弱的服务器,本发明也可以按照客户端一样的架构以及处理流程进行设备信息协商过程,如不使用缓存机制、采用压缩技术等。
采用本发明提供的系统及方法,能够简化设备信息协商的过程,降低进行数据同步的网络流量,缩短数据同步时间;采用本发明提供的系统及方法,设备信息发生动态更新后,可以及时更新服务器和客户端中缓存的设备信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (34)
1、一种协商设备信息的系统,包括客户端和与客户端进行消息交互的服务器,其特征在于,该系统还包括存储有设备信息的设备信息服务器,分别与客户端和服务器进行信息交互,为客户端和服务器提供设备信息。
2、如权利要求1所述的系统,其特征在于,所述的设备信息为客户端设备信息和服务器设备信息。
3、如权利要求2所述的系统,其特征在于,所述的设备信息服务器为一个或者一个以上,所述设备信息服务器为一个以上时,分别存储客户端设备信息和服务器设备信息、或者按照设定的规则同时存储客户端设备信息和服务器设备信息。
4、如权利要求1所述的系统,其特征在于,所述的设备信息服务器根据客户端的更新请求更新自身存储的设备信息,在服务器订阅设备信息变更通知时,向服务器发送更新设备信息的通知;
或者所述的设备信息服务器根据服务器的更新请求更新自身存储的设备信息,在客户端订阅设备信息变更通知时,向客户端发送更新设备信息的通知。
5、如权利要求4所述的系统,其特征在于,所述的订阅设备信息变更通知为会话初始化协议SIP消息或者超文本传输协议HTTP消息;
所述的更新设备信息的通知为SIP消息或者HTTP消息。
6、如权利要求1所述的系统,其特征在于,该系统还包括位于客户端和设备信息服务器之间的客户端代理,用于客户端通过客户端代理与设备信息服务器进行消息交互。
7、如权利要求6所述的系统,其特征在于,所述的客户端代理单独设置或集成在客户端。
8、如权利要求6所述的系统,其特征在于,所述的客户端与客户端代理、客户端代理与设备信息服务器、设备信息服务器与服务器之间的交互消息为非压缩的消息或者压缩后的消息。
9、如权利要求8所述的系统,其特征在于,所述的非压缩的消息采用扩展标记语言访问和配置协议XCAP。
10、如权利要求1所述的系统,其特征在于,该系统还包括位于设备信息服务器和服务器之间的设备信息管理模块,用于服务器通过设备信息管理模块与设备信息服务器进行消息交互。
11、如权利要求10所述的系统,其特征在于,所述的设备信息管理模块单独设置或集成在服务器中。
12、如权利要求1或10所述的系统,其特征在于,该系统还包括与设备信息管理模块相连接的设备信息缓存管理模块,用于缓存从设备信息服务器中获取的设备信息以及检查缓存是否需要更新。
13、如权利要求12所述的系统,其特征在于,所述的设备信息缓存管理模块单独设置或集成在服务器中。
14、如权利要求1、2、3或4所述的系统,其特征在于,所述的设备信息为:基本设备信息、设备能力信息、设备配置信息或/和用户配置信息。
15、如权利要求14所述的系统,其特征在于,所述的设备能力信息为同步数据库能力信息、通讯能力信息、同步类型信息、全局同步特征信息或/和设备动态能力信息。
16、一种协商设备信息的方法,其特征在于,设置存储有设备信息的网络实体,该网络实体还存储有设备信息与识别标识的对应关系,该方法还包括:
A、发起数据同步过程的网络实体向目的数据同步过程的网络实体发送携带自身识别标识的数据同步初始化请求;
B、目的数据同步过程的网络实体根据该请求携带的识别标识,访问所设置网络实体,根据所设置网络实体存储的对应关系和设备信息获取该请求携带的识别标识对应的设备信息,向发送数据同步过程的网络实体发送该请求的响应。
17、如权利要求16所述的方法,其特征在于,步骤B所述的该请求的响应还携带目的数据同步过程的网络实体的识别标识,在步骤B之后,该方法还包括:
C、发起数据同步过程的网络实体根据该请求的响应携带的识别标识,访问所设置网络实体,根据所设置网络实体存储的对应关系和设备信息获取该请求的响应携带的识别标识对应的设备信息。
18、如权利要求16所述的方法,其特征在于,在步骤B之后,该方法进一步包括更新所设置网络实体存储的设备信息的步骤,具体为:
发起数据同步过程的网络实体或目的数据同步过程的网络实体向所设置网络实体发送携带更新的设备信息的更新请求,所设置网络实体根据该更新请求携带的设备信息更新自身存储的设备信息。
19、如权利要求18所述的方法,其特征在于,所述发送的更新请求携带的设备信息为设备信息中的一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性。
20、如权利要求18所述的方法,其特征在于,该方法进一步包括:
发起数据同步过程的网络实体或目的数据同步过程的网络实体预先向所设置网络实体订阅了设备信息变更通知,所设置网络实体更新自身存储的设备信息后,向发起数据同步过程的网络实体或目的数据同步过程的网络实体发送更新设备信息通知,通知发起数据同步过程的网络实体或目的数据同步过程的网络实体获取更新的设备信息。
21、如权利要求20所述的方法,其特征在于,所述的订阅设备信息变更通知为会话初始化协议SIP消息或者超文本传输协议HTTP消息;
所述的更新设备信息的通知为SIP消息或者HTTP消息。
22、如权利要求20所述的方法,其特征在于,所述订阅设备信息变更通知为携带一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性的订阅设备信息变更通知;
所述更新设备信息通知为携带一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性的更新设备信息通知。
23、如权利要求18所述的方法,其特征在于,该方法进一步包括:
发起数据同步过程的网络实体或目的数据同步过程的网络实体向所设置网络发送查询是否更新设备信息的请求,所设置的网络实体判断自身存储的设备信息是否进行了更新,如果是,返回更新后的设备信息;否则,返回未更新设备信息响应。
24、如权利要求23所述的方法,其特征在于,所述查询是否更新设备信息请求为携带一类或一类以上设备信息、一类或一类以上设备信息的部分元素、一类或一类以上设备信息的特定元素或/和一类或一类以上设备信息的特定元素的一个或一个以上属性的更新设备信息请求。
25、如权利要求16、17、18、20或23所述的方法,其特征在于,所述的发起数据同步过程的网络实体为客户端或服务器;
所述的目的数据同步过程的网络实体为服务器或客户端。
26、如权利要求25所述的方法,其特征在于,所述服务器获取到客户端设备信息后,该方法进一步包括:
服务器将客户端设备信息对应于客户端的识别标识进行缓存。
27、如权利要求26所述的方法,其特征在于,所述缓存之后,在进行下一次数据同步初始化时,该方法包括服务器直接获取所缓存的客户端设备信息的步骤,具体为:
客户端向服务器发送携带自身识别标识的数据同步初始化请求,服务器直接获取所缓存的对应于该请求携带的识别标识的客户端设备信息。
28、如权利要求27所述的方法,其特征在于,在直接获取客户端设备信息之前,该方法还包括:
服务器判断自身缓存的对应于该请求携带的识别标识的客户端设备信息是否发生了更新,如果否,则直接获取客户端设备信息;否则,执行步骤B获取客户端设备信息。
29、如权利要求28所述的方法,其特征在于,所述判断是否发生了更新的过程为:
服务器判断自身缓存的对应于该请求携带的识别标识的客户端设备信息与所设置网络实体存储的对应于该请求携带的识别标识的客户端设备信息是否相同,如果不相同,则发生了更新;如果相同,则未发生更新。
30、如权利要求28所述的方法,其特征在于,所述判断是否发生了更新的过程为:
服务器判断缓存客户端设备信息的时间点是否与客户端发送的更新客户端设备信息的时间点相同,如果不相同,则发生了更新;如果相同,则未发生更新。
31、如权利要求28所述的方法,其特征在于,所述判断是否发生了更新的过程为:
服务器判断是否接收到了所订阅的客户端的设备信息变更通知;如果是,则发生了更新;否则,则未发生更新。
32、如权利要求16、17、26、27、28或29所述的方法,其特征在于,所述的识别标识为统一资源标识URI、设备基本信息和用户帐号名中的一个或者组合。
33、如权利要求16、17、18、19、20、22、23、24、26、27、28或29所述的方法,其特征在于,所述的设备信息为:基本设备信息、设备能力信息、设备配置信息或/和用户配置信息。
34、如权利要求33所述的方法,其特征在于,所述的设备能力信息为同步数据库能力信息、通讯能力信息、同步类型信息、全局同步特征信息或/和设备动态能力信息。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610003835.8A CN100531212C (zh) | 2006-01-21 | 2006-01-21 | 一种协商设备信息的系统、方法 |
CN200780000197.7A CN101313549B (zh) | 2006-01-21 | 2007-01-19 | 一种协商设备信息的系统、方法及装置 |
EP07702150.9A EP1924046B1 (en) | 2006-01-21 | 2007-01-19 | A system, method and device for negotiating the equipment information |
PCT/CN2007/000219 WO2007082487A1 (fr) | 2006-01-21 | 2007-01-19 | Système, procédé et dispositif de négociation de l'information d'un équipement |
US12/101,652 US7925792B2 (en) | 2006-01-21 | 2008-04-11 | Method and system for negotiating device information, and device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610003835.8A CN100531212C (zh) | 2006-01-21 | 2006-01-21 | 一种协商设备信息的系统、方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1859393A true CN1859393A (zh) | 2006-11-08 |
CN100531212C CN100531212C (zh) | 2009-08-19 |
Family
ID=37298255
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610003835.8A Active CN100531212C (zh) | 2006-01-21 | 2006-01-21 | 一种协商设备信息的系统、方法 |
CN200780000197.7A Active CN101313549B (zh) | 2006-01-21 | 2007-01-19 | 一种协商设备信息的系统、方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780000197.7A Active CN101313549B (zh) | 2006-01-21 | 2007-01-19 | 一种协商设备信息的系统、方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7925792B2 (zh) |
EP (1) | EP1924046B1 (zh) |
CN (2) | CN100531212C (zh) |
WO (1) | WO2007082487A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752294A (zh) * | 2012-06-19 | 2012-10-24 | 中国科学院计算技术研究所 | 基于设备能力的多终端数据同步方法和系统 |
WO2013000383A1 (zh) * | 2011-06-27 | 2013-01-03 | 华为终端有限公司 | 设备管理的方法、装置和系统 |
CN103036970A (zh) * | 2012-12-11 | 2013-04-10 | 北京奇虎科技有限公司 | 一种页面内容订阅方法和系统 |
CN103609193A (zh) * | 2011-06-24 | 2014-02-26 | 华为技术有限公司 | 识别终端类型的方法及无线接入网设备 |
CN109413714A (zh) * | 2018-10-12 | 2019-03-01 | Oppo广东移动通信有限公司 | 用户代理信息的处理方法、装置、存储介质及终端 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626128B2 (en) | 2011-04-07 | 2014-01-07 | Microsoft Corporation | Enforcing device settings for mobile devices |
US8010997B2 (en) * | 2005-06-30 | 2011-08-30 | Microsoft Corporation | Enforcing device settings for mobile devices |
CN101316221B (zh) * | 2007-05-30 | 2012-04-04 | 华为终端有限公司 | 通知消息处理方法及设备 |
CN101340286B (zh) * | 2007-05-30 | 2011-03-30 | 华为技术有限公司 | 会话连接发起方法及设备 |
TW200929974A (en) * | 2007-11-19 | 2009-07-01 | Ibm | System and method for performing electronic transactions |
WO2009118045A1 (en) * | 2008-03-27 | 2009-10-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatuses for providing services |
EP2347545A1 (en) * | 2009-04-27 | 2011-07-27 | International Business Machines Corporation | Message switching |
CN101883419A (zh) * | 2009-05-06 | 2010-11-10 | 中兴通讯股份有限公司 | 客户端信息的同步方法和系统 |
US9264522B1 (en) * | 2009-09-03 | 2016-02-16 | Sprint Communications Company L.P. | Ensuring communication device capabilities comply with content provider specifications |
US20110191456A1 (en) * | 2010-02-03 | 2011-08-04 | Sling Media Pvt Ltd | Systems and methods for coordinating data communication between two devices |
US8856349B2 (en) | 2010-02-05 | 2014-10-07 | Sling Media Inc. | Connection priority services for data communication between two devices |
EP2596654A4 (en) * | 2010-07-23 | 2016-12-21 | ERICSSON TELEFON AB L M (publ) | MEDIATION SERVER, METHOD OF CONTROLLING THE SAME, COMMUNICATION DEVICE, CONTROL METHOD THEREFOR, ACCOUNT SUPPLY SERVER, AND ASSOCIATED METHOD |
EP3518504B1 (en) * | 2010-12-30 | 2020-09-16 | Peerapp, Ltd. | Methods and systems for transmission of data over computer networks |
US8769525B2 (en) * | 2011-01-31 | 2014-07-01 | Digi International Inc. | Remote firmware upgrade device mapping |
JP2012190298A (ja) * | 2011-03-11 | 2012-10-04 | Sony Corp | 電子機器および電子機器の制御方法、プログラム、並びに記録媒体 |
US8954542B2 (en) * | 2011-06-14 | 2015-02-10 | Avaya Inc. | Method and system for transmitting and receiving configuration and registration information for session initiation protocol devices |
CN103136218A (zh) * | 2011-11-21 | 2013-06-05 | 财团法人资讯工业策进会 | 数据同步系统及应用数据同步系统的数据同步方法 |
CN104427357A (zh) * | 2013-09-04 | 2015-03-18 | 中兴通讯股份有限公司 | 语言种类设置方法和装置 |
US9681472B2 (en) * | 2014-01-31 | 2017-06-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for mapping identities to device-to-device synchronization sequences |
KR101683251B1 (ko) * | 2014-03-27 | 2016-12-06 | 한국전자통신연구원 | 센서 네트워크에서 센서 노드 설정 방법, 보안 설정 방법 및 이를 포함하는 센서 네트워크 시스템 |
JP6378567B2 (ja) * | 2014-07-23 | 2018-08-22 | キヤノン株式会社 | 装置、方法、プログラム |
WO2019136407A1 (en) * | 2018-01-08 | 2019-07-11 | Equifax Inc. | Facilitating entity resolution, keying, and search match without transmitting personally identifiable information in the clear |
JP6464544B1 (ja) * | 2018-06-05 | 2019-02-06 | デジタルア−ツ株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム |
CN111131351B (zh) * | 2018-10-31 | 2022-09-27 | 中国移动通信集团广东有限公司 | 一种物联网设备型号的确认方法及装置 |
CN109788027B (zh) * | 2018-12-13 | 2022-04-15 | 平安科技(深圳)有限公司 | 数据同步方法、装置、服务器及计算机存储介质 |
CN112291209B (zh) * | 2020-10-16 | 2022-04-15 | 武汉中科通达高新技术股份有限公司 | 一种前端设备目录获取方法及装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6425126B1 (en) * | 1999-05-19 | 2002-07-23 | International Business Machines Corporation | Apparatus and method for synchronizing software between computers |
TW579463B (en) * | 2001-06-30 | 2004-03-11 | Ibm | System and method for a caching mechanism for a central synchronization server |
JP2002366521A (ja) * | 2002-03-08 | 2002-12-20 | Patent One Kk | バーコード発行方法、携帯端末装置及び認証方法 |
DE60229885D1 (de) * | 2002-04-17 | 2008-12-24 | Nokia Corp | Verfahren und netzwerkeinrichtung zur synchronisation von durch einen router gerouteten datenbankdaten |
US7318073B2 (en) * | 2002-05-31 | 2008-01-08 | Microsoft Corporation | System and method for downloading information to a mobile device |
JP4360778B2 (ja) | 2002-06-10 | 2009-11-11 | 健 坂村 | Icカードの接続情報管理システム、接続情報管理方法、icカード、サーバ、端末装置 |
US7206788B2 (en) | 2002-07-30 | 2007-04-17 | Microsoft Corporation | Schema-based services for identity-based access to device data |
WO2004038546A2 (en) * | 2002-10-21 | 2004-05-06 | Bitfone Corporation | System with required enhancements to syncml dm environment to support firmware updates |
US20040088335A1 (en) * | 2002-11-05 | 2004-05-06 | Microsoft Corporation | Method and system for ghosting a property during synchronization |
FI116426B (fi) * | 2003-05-02 | 2005-11-15 | Nokia Corp | Laitteenhallinnan aloittaminen hallintapalvelimen ja asiakkaan välillä |
US20050164692A1 (en) * | 2003-09-11 | 2005-07-28 | Voice Signal Technologies, Inc. | Method and apparatus for back-up of customized application information |
WO2006018030A1 (en) * | 2004-08-14 | 2006-02-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for sofware program synchronization |
US20060074996A1 (en) * | 2004-10-05 | 2006-04-06 | International Business Machines Corporation | System and method for synchronizing data |
US8024290B2 (en) * | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
CN101326521B (zh) * | 2005-12-16 | 2012-08-15 | 艾利森电话股份有限公司 | Xml文档管理器服务器方法和装置 |
-
2006
- 2006-01-21 CN CN200610003835.8A patent/CN100531212C/zh active Active
-
2007
- 2007-01-19 WO PCT/CN2007/000219 patent/WO2007082487A1/zh active Application Filing
- 2007-01-19 EP EP07702150.9A patent/EP1924046B1/en active Active
- 2007-01-19 CN CN200780000197.7A patent/CN101313549B/zh active Active
-
2008
- 2008-04-11 US US12/101,652 patent/US7925792B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103609193A (zh) * | 2011-06-24 | 2014-02-26 | 华为技术有限公司 | 识别终端类型的方法及无线接入网设备 |
CN103609193B (zh) * | 2011-06-24 | 2017-11-17 | 华为技术有限公司 | 识别终端类型的方法及无线接入网设备 |
WO2013000383A1 (zh) * | 2011-06-27 | 2013-01-03 | 华为终端有限公司 | 设备管理的方法、装置和系统 |
CN102752294A (zh) * | 2012-06-19 | 2012-10-24 | 中国科学院计算技术研究所 | 基于设备能力的多终端数据同步方法和系统 |
CN103036970A (zh) * | 2012-12-11 | 2013-04-10 | 北京奇虎科技有限公司 | 一种页面内容订阅方法和系统 |
CN109413714A (zh) * | 2018-10-12 | 2019-03-01 | Oppo广东移动通信有限公司 | 用户代理信息的处理方法、装置、存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN100531212C (zh) | 2009-08-19 |
EP1924046B1 (en) | 2014-03-12 |
US7925792B2 (en) | 2011-04-12 |
CN101313549A (zh) | 2008-11-26 |
EP1924046A4 (en) | 2009-01-21 |
EP1924046A1 (en) | 2008-05-21 |
US20080189363A1 (en) | 2008-08-07 |
WO2007082487A1 (fr) | 2007-07-26 |
CN101313549B (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1859393A (zh) | 一种协商设备信息的系统及方法 | |
CN1154298C (zh) | 分布式网络计算系统及该系统用的信息交换装置和方法 | |
CN1299222C (zh) | 存在管理的实现 | |
CN1656468A (zh) | 用于同步不同数据存储器中数据存储方式的方法和设备 | |
CN1222896C (zh) | 用户简档数据的管理 | |
CN100336018C (zh) | 用于对应用启动进行管理的便携式终端和方法 | |
CN1269337C (zh) | 内容自适应服务控制方法 | |
CN1859332A (zh) | 一种采用数据同步处理电子邮件的系统、装置及方法 | |
CN1711784A (zh) | 用于发送sms以及文本消息的系统和方法 | |
CN1525709A (zh) | 名称解析服务器和分组传送设备 | |
CN1722170A (zh) | 内容系统、内容终端、参考服务器、内容程序和参考程序 | |
CN1703700A (zh) | 为了经同步的内容显示使网络接入点的关联小型端口协作的方法和装置 | |
CN1703701A (zh) | 用于管理门户服务器中的门户构件集合的方法和装置 | |
CN1863095A (zh) | 一种电子设备及其管理系统 | |
CN1276575A (zh) | 数据库存取系统 | |
CN100343835C (zh) | 信息处理方法和设备 | |
CN101064866A (zh) | 一种短信的路由寻址方法及系统 | |
CN1889742A (zh) | 基于设备管理的数据共享方法及其数据备份恢复方法 | |
CN101040543A (zh) | 发送应用特定的登记或撤销登记数据的方法和系统、服务器和通信终端 | |
CN1859392A (zh) | 业务编址方法、系统及其应用 | |
CN101076198A (zh) | 多媒体彩像业务实现方法 | |
CN101047705A (zh) | 用户代理档案信息的上报处理方法、服务器及其用户终端 | |
CN1894992A (zh) | 位置信息通知系统和方法、终端位置特定装置和保密检查装置 | |
CN101047655A (zh) | 一种基于ip传输的消息路由方法和系统 | |
CN1630278A (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 |