APP下载

融合地址簿系统关键技术研究*

2010-06-11彭荣群糜正琨张培阳

电信科学 2010年2期
关键词:联系人客户端终端

彭荣群,糜正琨,张培阳

(南京邮电大学通信与信息工程学院 南京 210003)

1 引言

随着电信网络向全IP网络的演进,各种灵活的通信新业务不断出现,特别在3G通信中,引入了多种新业务,如数字家庭业务、网上银行业务、视频电话业务等。一般每一种业务都有自己的地址簿,如手机地址簿、SIM卡地址簿、ISP提供的地址簿以及某些特定业务的地址本等,这使用户面临同时处理多个终端的多个地址簿的问题。由于每个终端都是独立地存储数据,当某个终端丢失或出现故障时,丢失的地址簿信息很难恢复。特别是当联系人信息改变时,为了保持联系人信息可用,需要手动修改各个终端上的地址簿数据,过程相当繁琐。为了适应这样的通信新环境,提升用户体验,有必要开发一种融合的地址簿系统。

vCard[1],即电子商务卡或电子名片(electronic business card,versit Card)是目前常用的一种电子地址簿格式,它实现了传统名片上个人信息的自动交换,主要应用于互联网电子邮件、语音邮件、Web浏览器、电话相关应用、呼叫中心、视频会议、个人信息管理(personal information manager,PIM)、PDA、寻呼、传真、办公设备以及智能卡等。vCard不但可以包含姓名、地址、电话号码等文本信息,还可以包含URL、商标、图片甚至声音片段等信息。

中国移动基于vCard开发了PIM业务[2],它为用户提供个性化服务,用户可以将终端上的PIM数据备份到网络侧的服务器上,或从网络侧的服务器获取PIM信息同步到终端,或者从移动终端备份到本地计算机上,最终达到移动终端、网络服务器以及其他个人终端个人信息同步的目的。PIM服务基于同步标记语言(synchronization markup language,SyncML[3])协议来实现。

中国联通北京分公司的如意通信录业务[4]是为联通手机用户提供的基于互联网技术的增值业务,用户使用该业务可以把手机通信录、个人电话本、单位通信录、客户名片等各种联系人的信息保存到如意通信录系统中,并可以通过互联网或手机短信等方式进行实时更新、管理。用户通过该产品可以批量上传所有零散分布的通信录信息,随时随地轻松查询各个联系人的详细信息,用任何连接Internet的个人电脑编辑和更新手机通信录中的联系方式,制作、存储自己及好友的电子名片等。

以上几种地址簿系统,虽然存储了用户的各种地址簿信息,并且可以把地址簿备份到网络侧方便用户管理,但是对于地址簿中信息的改变,都没有一种机制能即时自动地更新到本地地址簿中。

融合地址簿(converged address book,CAB)系统提供了这样一种机制,它既可以使用户方便地管理本地终端上的地址簿信息,又可以使用户方便地管理存储在网络上的地址簿信息。CAB系统的核心是位于网络侧的地址簿信息存储,它不但要便于用户访问和管理,还要能通过订阅与同步机制时刻保持与各种终端数据更新的同步,而且当网络侧存储的地址簿信息改变时,系统也要把改变的数据同时同步到用户的各个终端。

开放移动联盟(open mobile alliance,OMA)在 2008 年6月正式启动了CAB系统的研究[5],参加的成员有ATT、Ericsson、Orange、Nokia、Samsung Electronics、T-Mobile、RIM以及中国的中国移动、华为和中兴等通信公司,各成员都提出了自己的系统架构和关键技术解决方案。本文是作者关于CAB标准的部分研究成果。目前,在OMA中需求文档(requirement document,RD)和架构文档(architecture document,AD)阶段已经结束,技术规范(technical specification,TS)阶段正在进行中。

2 融合地址簿系统构架

(1)系统功能

根据OMA的CAB需求文档[6],CAB系统应具备以下功能特征。

·管理

管理CAB,CAB系统提供CAB用户融合地址簿的网络存储和管理功能;管理个人联系卡(personal contact card,PCC),CAB系统允许 CAB用户发布和管理(增、删、改)其存储于网络数据库的PCC信息,PCC信息经授权后以视图的形式发布给其他人。

·同步

同步CAB,地址簿的信息应能在CAB用户所有设备间更新同步;同步PCC,PCC的信息应在CAB用户所有设备间更新同步。

·订阅

CAB用户可订阅其他CAB用户的PCC信息并获得其更新信息。

·共享

CAB用户可通过消息机制与其他用户共享其PCC和CAB的数据。

·搜索

CAB可以搜索CAB系统或其他地址簿系统内的联络信息。

· 与传统地址簿系统互通

CAB系统应能与传统地址簿系统交互,这就使得CAB用户可从传统地址簿系统导入或导出数据。

· 状态和通告信息

CAB用户在下列情况下应获得通告信息:来自于其他CAB用户的联络预约授权请求;订阅的PCC信息发生修改;被其他CAB用户加入其地址簿;联络状态信息传送。

·安全

能保证只有授权的用户才能使用CAB功能,同时要保证数据的完整性和安全性。

(2)系统架构

关于 CAB系统架构,相关研究人员提出了 A[7]、B[8]、C[9]、D[10]4种CAB体系架构,它们各有特色和不足。4种架构模型虽各有差异,但它们均包括CAB客户端、CAB服务器和XDM(XML document management,XML 文档管理)[11]服务器(XDMS)。4种架构模型的主要差异是同步方式,即使用XDM方式的同步还是使用基于OMA DS(data synchronization,数据同步)[12]的SyncML同步。本文在详细分析了这4种已有体系架构的基础上,提出了一个融合各种架构优点、能完全实现需求文档所规定功能的CAB架构,如图1所示。本架构采用DS系统实现客户端地址簿与网络侧地址簿的同步;采用XDM系统实现对存储在网络上的 PCC、CAB、UPP(user policy and preference,用户策略和偏好)等XML形式文档的管理和维护;采用DM(device management,器件管理)[13]系统实现设备的初始化和终端能力信息的获取。另外,在本架构中还引入在席(presence)系统信息以提高用户体验。

(3)模块主要功能

系统主要包含三大模块,分别为CAB客户端、CAB服务器和XDM引擎。

· CAB客户端

数据同步客户端发送和接收来自同步服务器的同步操作;器件管理客户端接收终端设备初始化的配置参数以及软件更新;XDM客户端实现对网络侧地址簿数据的管理(增加、删除、修改、搜索等)操作;在席客户端完成与在席相关的功能。

· CAB服务器

数据同步服务器接收来自数据同步客户端的同步请求,并对请求进行对应的响应操作;接收来自CAB的更改信息,并将更改同步到该用户的所有终端设备上。

器件管理服务器为CAB用户的终端设备进行初始化参数配置以及后续的更新配置,更新CAB用户终端设备上的软件。

订阅功能模块主要负责对用户的偏好及策略进行查询,获得用户定义的订阅列表,然后代表用户对列表中的联系人信息进行订阅。

广告订阅模块使得用户能够邀请对方来订阅自己的联系视图,它以通知的形式告知被邀请方,并通过订阅功能模块和订阅代理实现接受邀请后的订阅;另外,它能够结合XDM的搜索代理,实现CAB用户(企业用户)的广告发布。

互通模块完成与非CAB地址簿或外部地址簿的交互功能。

· XDM引擎

CAB XDMS:以XML格式存储CAB系统的各种数据,接收来自客户端的请求完成对数据的管理操作,接收对数据的订阅请求并在被订阅的数据修改后发出通知,接收来自客户端的查询请求并返回查询结果,包括3种数据服务器:CAB XDMS、PCC XDMS 和 UPP XDMS。

聚合代理:负责对接入的CAB用户进行安全认证;负责 CAB 用 户 XCAP(XML configuration access protocol,XML配置和访问协议)请求到各个XDMS或者网络互通模块的选路;负责共享请求到共享服务器的选路;负责搜索请求到搜索代理的选路;负责将用户对在席信息订阅规则的修改发送至在席XDMS。

搜索代理:将来自聚合代理的用户搜索请求发送至本域或外域的XDM服务器;接收来自本域或外域XDM服务器的响应信息;将搜索结果合并后返回给用户。

订阅代理:接收来自CAB用户的订阅请求,执行后台的订阅操作;接收来自XDMS被订阅信息改变的通告,聚集后发给订阅者。

联系共享:接收来自聚合代理的共享请求,并路由到相应的存储服务器中(CAB XDMS,PCC XDMS或者用户存储模块),将响应发送至聚合代理模块处理。

SIP/IP内核:路由本地用户和外域实体间的SIP请求和响应。

网络互通代理:路由本地用户和外域实体间的XCAP、Xquery请求和响应。

(4)主要外部接口或参考点

· 参考点XDM-1

处在XDM客户端和SIP/IP内核之间,传送订阅消息,采用SIP[14]。

· 参考点XDM-3

处在XDM客户端和聚合代理之间,传送数据管理(增加、删除、更改等)消息,采用 XCAP[15]。

· 参考点XDM-4

处在聚合代理和订阅功能模块或互通模块之间,传送数据管理消息,采用 XCAP。

· 参考点XDM-5

处在XDM客户端和聚合代理之间,传送数据搜索消息,采用 XQuery协议[16]。

· 参考点XDM-7

处在聚合代理和互通模块之间,传送搜索外部数据消息,采用 XQuery协议。

· 参考点XDM-10

处在广告订阅模块和SIP/IP内核之间,传送订阅消息,采用 SIP。

·接口DS-1,2

处在数据同步客户端和数据同步服务器之间,传送数据同步消息,采用SyncML协议。

3 关键技术

能保证本地地址簿随着联系信息改变而同步更新的技术是订阅/通告机制和同步机制,二者也是CAB系统中的关键技术。

(1)订阅/通告机制

订阅/通告机制的基本思想是用户对感兴趣的数据发送订阅请求,在XDMS中产生订阅关系;当被订阅的数据发生改变时,系统会立刻产生一个数据改变通告(里面包含有改变的数据)发给订阅者,使订阅者及时获得更改的数据,从而保持本地数据的最新性。

订阅过程可分为由客户端发起的订阅、由CAB服务器发起的订阅、根据UPP发起的自动订阅以及邀请订阅等。无论是哪种订阅形式,最终的结果都是在XDMS中建立起一种订阅关系,之后在被订阅的数据发生改变时能够及时获得这些更改的数据。不失一般性,本文以客户端发起的订阅为例来阐述订阅过程。订阅流程如图2所示。

对于流程中的每一个步骤,在图中已经说明得很清楚了,由于篇幅所限不再赘述,在此只作几点说明。

· 在步骤7中,PCC取被订阅者的UPP,目的是获知被订阅者的哪些PCC数据可以订阅。在步骤10.b中,订阅功能模块取订阅者自己的UPP是为了获知当收到了更改的被订阅数据时订阅者如何处理,是直接发送给终端还是处理后发送给CAB。

· 根据订阅/通告机制[17]规范,一旦订阅关系建立,即使没有数据改变,PCC也要把当前数据发送给订阅者,即步骤 9a~12a。

·13.b “CAB通过同步机制将更新的数据同步到订阅者的各个终端”的具体步骤参见图3中的步骤5~11。

(2)同步机制

订阅/通告机制保证了用户能及时获知联系人数据的更改,但是当用户有多个终端设备时,为了保持各种设备之间地址簿的同步更新,还需要同步机制来完成。

同步机制由处于CAB服务器中的数据同步服务器完成,采用SyncML接口协议。同步方式可以分为直接或间接添加同步,复制、移动、软删除或硬删除同步,局部或全局替换同步,过滤同步以及同步恢复等。图3所示为直接添加联系人信息的同步过程,其应用场景为:用户持有多个终端,每个终端上都存储有网络地址簿的一个子集。当其中的一个终端手动添加了新的联系人信息,数据同步客户端会将新添加的信息自动更新到网络地址簿;一旦网络地址簿更新,数据同步服务器会自动及时地把更新的数据推送到用户持有的每一个终端上,这样的同步机制就保证了用户的所有终端都持有最新的地址簿信息。

对以上流程的每个步骤不做详细描述,在此只作几点说明。

·客户端与服务器之间的每一次同步会话必须进行同步初始化,包括同步数据库指定、同步类型协商和设备信息交互(步骤2和9)。

·客户端与服务器之间的同步会话一般分为3个阶段:同步初始化、同步数据交换和同步数据识别符映射阶段(步骤 9、10和 11)。

·服务器向客户端发起同步交互之前会与UPP交互获取用户同步偏好,然后进行数据同步前的处理(步骤 6 和 7)。

· 同步过程必须由客户端首先发起,所以当服务器想同步数据时,必须向客户端发送一个同步会话请求,客户端收到会发起同步初始化过程,同步才能开始(步骤 8)。

4 系统仿真

(1)仿真系统结构

为了实现CAB需求文档描述的CAB功能特征,我们对CAB系统进行仿真,仿真结构如图4所示。CAB客户端由操作界面和本地数据存储组成。操作界面由CAB的各个功能特征组成。其中,PCC/AB管理模块用于对个人信息或联系人信息以及视图(包括搜索视图)执行增、删、改等操作;搜索模块用于对PCC信息及个人的联系人信息执行搜索操作;同步模块用于对同一用户多个终端的数据执行同步操作;订阅/邀请订阅模块用于根据开放的视图对多个联系人执行订阅和邀请订阅操作;共享模块用于对个人信息或联系人信息执行共享操作,接受共享方可以同时是多个CAB用户;LAWMO(lock and wipe management object,上锁和擦除管理对象)模块用于对同一用户不同终端设备执行锁定和擦除数据操作。本地数据存储用于本地存储CAB用户的PCC及AB等信息。CAB服务器由服务器处理模块和网络存储模块组成。其中,服务器处理模块用于解析和处理客户端的请求信息,网络存储模块采用SQL Server 2005,在网络侧存储CAB用户的PCC信息及AB等信息。CAB客户端和服务器之间采用SOCKET通信,在网络中传输XML格式数据文档和操作指令。

(2)XML 格式数据文档

我们在仿真中对PCC信息和联系人信息采用XML格式在网络中传输,客户端或服务器收到XML格式数据后对其解析再分别存入本地数据存储模块和服务器数据存储模块,即SQL Server 2005。采用上述处理方法出于以下几点考虑:一是XML在Internet环境中具有跨平台的特点,因此采用XML格式传输可以使仿真程序不依赖于平台,可移植性高;二是CAB系统的联系人信息形式单一,是一种结构化的文档信息。因此,采用XML可以方便地处理联系人信息,而且效率更高。下面是我们设计的部分XML格式的PCC信息:

对以上XML格式文档作几点说明。

· 第一行“XML”标记说明它是一个 XML文档,后面两个属性表明了它的版本号和编码标准。

· “PCC”是根元素,其他子元素如“用户名”、“真实姓名”、“性别”必须包含在根元素中。

· 子元素还可以包含子元素,如子元素“生日”包含子元素“月”和“日”,没有子元素的元素称为树叶,如“Zhang San”、“张三”、“男”等。

(3)仿真结果

CAB用户对客户端界面的各个功能模块执行操作,服务器根据收到的操作指令解析并与SQL Server 2005进行交互,获取相应信息并转换成XML格式数据文档发给CAB客户端,CAB客户端对收到的XML格式文档进行解析并显示在相应界面上同时存入本地数据存储模块中。根据上述简要操作流程,通过仿真我们实现了CAB的大部分功能需求,包括PCC/AB管理(包括对视图的增、删、改等管理操作)、订阅/邀请订阅(包括同一时刻对多个人的订阅和邀请订阅的操作)、共享(包括同一时刻被共享方是多个CAB或非CAB用户,接受共享方也是多个CAB用户的操作)、搜索(包括搜索结果的摘要返回和根据用户的搜索视图返回相应搜索结果的操作)、同步(包括同一用户多个终端的PCC信息及联系人信息的同步操作)以及LAWMO(包括同一用户对某个被盗或丢失终端的锁定和擦除数据操作)。实验表明,该仿真能有效地满足CAB系统的功能性需求,对于进一步研究CAB系统的应用有着积极的促进作用。

5 结束语

采用订阅通告/机制和数据同步技术,克服了传统地址簿中因联系人信息改变而使本地地址簿数据失效的问题,还可以保证用户持有的各个终端的地址簿数据同步更新。融合地址簿系统极大地方便了用户对本地地址簿和网络地址簿的管理,在未来的通信系统,特别在3G通信中将会获得广泛的应用。

1 IETF,RFC2426.vCard MIME directory profile,September 1998,http://www.ietf.org/rfc/rfc2426.txt

2 中国移动PIM业务.http://www.chinamobile.com/whatsnew/newrelease/pim/

3 OMA,OMA-TS-SyncML-RepPro-V1_2,SyncML representation protocol,June 2007

4 中国联通北京分公司如意通信录业务. http://www.bj.chinaunicom.com/products/sjgdhlwyw/zzyw/txl/

5 Open Mobile Alliance(tm).http://www.openmobilealliance.org/

6 OMA,OMA-RD-CAB-V1_0.Converged address book requirements,December 2008

7 OMA,OMA-MWG-CAB-2008-0112.CAB architecture modelA,October 2008

8 OMA,OMA-MWG-CAB-2008-0108.CAB architecturemodelB,October 2008

9 OMA,OMA-MWG-CAB-2008-0114.CAB architecture model C,October 2008

10 OMA,OMA-MWG-CAB-2008-0129.CAB architecture model D,October 2008

11 OMA, OMA-AD-XDM-V2_0.XML document management architecture,September 2008

12 OMA,OMA-TS-DS-V2.1.Data synchronization syntax,November 2008

13 OMA,OMA-AD-DM-V1_3.Devicemanagementarchitecture,January 2009

14 IETF,RFC 3261.SIP:session initiation protocol,June 2002,http://www.ietf.org/rfc/rfc3261.txt

15 IETF,RFC 4825.The extensible markup language (XML)configuration access protocol(XCAP),May 2007

16 W3C Recommendation,XQuery 1.0.An XML query language,January 2007,http://www.w3.org/TR/2007/RFC-xquery-20070123

17 IETF,RFC 3265.SIP-specific event notification,June 2002,http://www.ietf.org/rfc/rfc3265.txt

猜你喜欢

联系人客户端终端
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
让重要联系人更醒目
为每个联系人设定不同的铃声
如何看待传统媒体新闻客户端的“断舍离”?
教你将手机联系人导出到Excel
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
多功能北斗船载终端的开发应用
ABB Elastimold 10kV电缆终端及中间接头