即时消息设备/服务器协议的制作方法

文档序号:7641679阅读:183来源:国知局

专利名称::即时消息设备/服务器协议的制作方法
技术领域
:本申请涉及用于即时消息(IM)的协议,特别地涉及用于在客户端设备和企业IM服务器之间的即时消息通信的协议。
背景技术
:例如个人计算机、无线移动设备、智能电话、个人数字助理等等通信设备经常向用户提供数据通信能力。此类通信的当前热门形式就是即时消息(IM),在由具有用户图形界面(GUI)的客户端应用帮助下,有各自通信设备的两个或更多用户可以加入会话数据通信交换。为了实现IM消息交换,用户可以邀请他人同意接收IM消息并且被添加到该用户的IM联系人列表中(有时称为IM好友或者同意成为潜在IM消息接收者的伙伴)。可以根据各自的呈现信息(presenceinformation)保持用于会话的特别联系能力。来开始IM会话,用户由联系人列表的联系人列表条目表示的联系人并输入消息。如果需要的话,可以邀请额外的联系人加入群消息。原先IM消息仅限于文本,更新的协议支持文件传输和基于数据通信的语音。在进行会话之外,IM用户可以邀请伙伴加入在线游戏,其中两个(或更多游戏者)依次在游戏中互相对抗。在众多游戏中,例如,可以把例如跳棋或纸牌的传统桌上和纸牌游戏改造成IM游戏。在客户端设备之间的IM通信由IM服务器实现,在上下文中例如服务于多个客户端设备的商业企业,是提供IM服务的企业服务器(以下称为"企业IM服务器")。特殊企业的客户端设备通过该企业的企业IM服务器(或服务器)进行IM通信。企业IM服务器可以向客户端设备提供例如联系人列表管理、呈现信息管理、消息路由、登陆和存档、加密、安全(如病毒扫描)、认证,等等的功能。在众多服务器中,从不同实体例如国际商用机器公司的IBMLotusSameTime、Novell公司的NovellGroupWise⑧、微软的MicrosoftOffice实时通信服务器,可以得到商用的企业IM服务器。这些服务器可以用于多种客户端设备,包括从潜在的很多不同制造商或提供商可用的例如智能电话和PDA、PC以及其它设备的无线移动设备。可以配置客户端设备来在客户端一侧运行源于客户端设备提供商或者从其它应用提供商的IM应用。经常当在进入市场最终向用户发行之前配置客户端设备时,要使用的企业IM服务器还是未知的。偶尔,个别的客户端设备在其一生中可能和不同企业IM服务器一起使用。因此需要为在要符合多个企业IM服务器的客户端设备上执行而配置IM应用。类似地需要为实现具有不同客户端设备的IM通信配置企业IM服务器。因此需要一个或更多的这些需求的解决方案。
发明内容本领域普通技术人员应当理解本发明的主旨适用于通过有线或无线移动通信以及通过包括在例子中讨论的无线移动通信能力的无线移动通信设备和网络接收的消息,而不应加以限制。提供了IM设备/服务器通信协议,来实现在可以用于和不同IM服务器通信的客户端设备上的单独协议的执行。在实施例中,客户端设备每次和一个IM服务器进行通信。虽然并没有明确的意图来实现不同IM群落的融合,这里描述的通信协议可以在技术上实现该融合。根据协议的一个特征,企业IM服务器为用户定义id标签来识别用户的联系人列表的状态。然后客户端设备可以保持联系人列表的本地拷贝。客户端在登陆时发送此id而服务器可以用id来判定联系人列表是非已经更改。如果没有,则不需要发送联系人列表。根据协议的另一个特征,企业IM服务器自动发送联系人列表以及响应于初始登陆而不是响应于分开的特别请求呈现更新。根据协议的另一个特征,客户端设备使用中的图像和文本来提供类似特别桌面变化的经验。也使用这些来定义服务器的能力。为了更容易理解本发明主旨,结合附图的例子说明实施例,其中图1是说明无线移动通信网络和与该网络通信的移动站例子的相关元件的框图2是在无线移动通信网络中通信的移动站的详图3是为通过企业IM服务器IM通信配置的通信网络的图4是图3的网络的典型的客户端设备元件和IM服务器元件的框图5和6是IM应用实施例的典型的GUI显示视图;图7是表示用于配置客户端设备IM能力的操作流程图;以及图8A和8B是表示根据实施例使用IM协议的设备/服务器通信的操作流程图。具体实施例方式图1包括通过无线移动通信网络104通信的移动站102的通信系统IOO的框图。移动站102优选地包括视觉显示器112、键盘114以及可能的一个或多个辅助用户接口(UI)116,每个都和控制器106相连接。控制器106还和射频(RF)收发器电路108以及天线110相连接。典型地,控制器106具体为运行存储器元件(未示出)中的操作系统软件的中中央处理器(CPU)。控制器106通常控制移动站102的所有操作,而关于通信功能的信号处理操作典型地在RF收发器电路108中处理。控制器106接口到设备显示器112来显示收到的信息、存储的信息、用户输入以及等等。通常提供可以是电话类型键盘或完整的字母数字键盘的键盘114来键入存储在移动站102中的数字、传送到网络104的信息、打电话的电话号码、在移动站102上执行的命令,以及其它可能或者不同的用户输入。移动站102通过天线110经过无线移动链接向网络104发送通信信号以及从网络104接收通信信号。RF收发器电路108执行和无线电网络(RN)128类似的功能,包括例如调制/解调以及可能的编码/解码和加密/解密。还预期RF收发器电路108可以执行无线电网络128执行的以外的特定功能。本领域技术人员应当了解RF收发器电路108会适于移动站102在其中工作的特定的无线移动网络。移动站102包括用于接收一个或多个可充电电池124的电池接口122。电池124向移动站102中的电子电路提供电力,并且电池接口122为电池124提供机械和电子连接。电池接口122和校准给设备的电力的校准器126相连接。当移动站102完全工作时,典型地只有当其向网络发送时打开RF收发器电路108的RF发射机,并且在其它时候关掉以节省资源。类似地,在指定的时间段期间,典型地周期性地关掉RF收发器电路108的RF接收机以节省电力直到需要接收信号或信息为止(如果真有其事的话)。移动站102使用存储模块120工作,例如用户识别模块(SIM)或者可移动用户识别模块(R-UIM),在接口118连接到或插入移动站102。作为SIM或R-UIM的可替换方案,移动站102可以基于由服务提供商到非易失性存储器的内部存储器中编程的配置数据工作。移动站102可以由单个单元组成,例如识字通信设备、蜂窝电话、具有数字和语音通信能力的多功能通信设备、能用于无线移动通信的个人数字助理(PDA),或者具有内置调制解调器的计算机。可选地,移动站102可以是具有多个分立元件的多模块单元,包括但不限于计算机或其它和无线移动调制解调器相连接的设备。特别地,例如在图l的移动站框图中,可以把RF收发器电路108和天线110实现为能插入笔记本电脑端口的无线调制解调器单元。在此情况下,笔记本电脑包括显示器112、键盘114,以及一个或多个辅助用户接口116,而控制器106可以保留在和计算机CPU通信的无线调制解调器单元中或者具体实现为计算机的CPU。还预期计算机或其它通常不能进行无线移动通信的设备可以适于与例如上面所述之一的单个单元设备的RF收发器电路108和天线110相连接并且有效地采取控制。这样的移动站102可以有更多特殊实现,如下所述的关于图2的移动站202的。移动站102在无线移动通信网络104中并通过无线移动通信网络104进行通信。在图l的实施例中,无线移动网络104是基于码分多址复用(CDMA)技术支持第三代(3G)的网络。特别地,无线移动网络104是包括如图1所示连接的固网元件的CDMA2000网络。CDMA2000-类型的无线移动网络104包括无线电网络(RN)128、移动交换中心(MSC)130,7号信令系统(SS7)网络140、家庭场所注册/认证中心(HLR/AC)138、分组数据服务节点(PDSN)132、IP网络134,以及远程认证拨号用户服务(RADIUS)服务器136。SS7网络140在通信上和网络142(例如公共交换电话网络或PSTN)相连接,而IP网络在通信上和网络144(例如因特网)相连接。本领域技术人员应当了解这里的技术可以采用其它网络和相关技术,在其它技术中,包括GPRS、E-GPRS和UMTS无线电网络。在工作时,移动站102和执行例如呼叫建立、呼叫处理以及移动管理功能的无线电网络128进行通信。无线电网络128包括为特定的通常称为"单元"的覆盖区域提供无线移动网络覆盖的多个基站收发器系统。无线电网络128的给定基站收发器系统,例如图l中所示的这个,向其单元中的移动站发送通信信号并从其接收通信信号。基站收发器系统通常在其控制器的控制下执行如调制和可能的编码和/或要根据特定的通常是预定的通信协议和参传输到移动站的信号加密的功能。基站收发器系统类似地对任何从其单元内的移动站102接收到的通信信号进行解调并可能的解码和解密,如果有必要的话。通信协议和参数可以在不同网络间变化。例如,一个网络可以采用和其它网络不同的调制方案并工作在不同频率下。基于其特殊的协议版本,下属服务也可以不同。如图1通信系统100所示的无线链接代表一个或多个不同信道,典型地是不同的射频(RF)信道,并且与在无线移动网络104和移动站102之间使用的协议相关。RF信道是必须节省的有限资源,典型地源于全部带宽的限制和移动站102的电池电力限制。本领域技术人员应当了解实际上的无线移动网络根据网络覆盖需要的全部区域可以包括上百个单元。所有相关元件可以由由多个网络控制器控制的多个交换机和路由器(未示出)连接起来。对所有在网络提供商注册的移动站102,永久数据(例如移动站102用户的档案)和临时数据(例如移动站102的当前位置)存储在HLR/AC138中。在对移动站102进行语音呼叫的情况下,询问HLR/AC138来判定移动站102的当前位置。MSC130的来访位置注册处(VLR)负责一组位置区域并存储这些当前在其负责区域中的移动站的数据。这包括为了更快的接入从HLR/AC138向VLR传输的部分永久移动站数据。然而,MSC130的VLR也分配和存储本地数据,例如临时认证。由HLR/AC138认证移动站102系统接入。为了在基于CDMA2000的网络中向移动站102提供分组数据服务,无线电网络128和PDSN132进行通信。PDSN132通过IP网络134提供到因特网144(或企业内部互联网、无线应用协议(WAP)服务器、企业IM服务器s,等等)的接入。PDSN132还在移动IP网络中提供国外代理(FA)功能以及虚拟专用网络的分组传输。PDSN132有IP地址范围并执行IP地址管理、会话维持,以及可选的缓冲。RADIUS服务器136负责执行关于分组数字服务的认证、授权和计费(AAA)的功能,并可以用作AAA服务器。无线移动通信网络104还包括可以和IP网络134相连接的手机数字集群(PoC)服务器137。PoC服务器137工作以实现移动站和网络104之间的PoC个体和集群通信会话。传统PoC通信会话包括在移动站终端用户之间的会话连接,称为会话"参与者",以很像传统的步话机或双向无线电的半双工模式一次与一个用户通信。本领域技术人员应当了解无线移动网络104可以和其它系统相连接,可能包括在图l中为明确示出的其它网络。网络通常会以正在进行的基础的至少某些内存分页和系统信息进行传输,即使没有实际上交换分组数据。虽然网络包括很多部分,但是这些部分都一起工作来得到在无线移动链接上特定的行为。图2是优选的移动站202的详细框图。移动站202优选地是具有至少语音和先进数据通信能力的双向通信设备,包括和其它计算机系统进行通信的能力。根据移动站202提供的功能,可以称为数字消息设备、双向寻呼机、具有数字消息能力的蜂窝电话、无线因特网用具,或者数据通信设备(有或没有电话能力)。移动站202可以和在其地理覆盖区域内的多个基站收发器系统200中的任一个进行通信。移动站202通常具有通信子系统211,包括接收机212、发射机214,以及相关元件,例如一个或多个(优选地为嵌入的或内置的)天线器件216和218、本地晶振(LOs)213,和例如数字信号处理器(DSP)220的处理模块。通信子系统211与图1所示的RF收发器电路108和天线110类似。如通信领域技术人员应当了解的,通信子系统211特别的设计取决于移动站202将要在其中工作的通信网络。完成要求的网络注册和激活程序后,移动站202可以经过网络发送和接收通信信号。将天线216通过网络接收到的信号输入接收机212,接收机可以执行普通接收机功能,例如信号放大、降频变换、滤波、信道选择以及等等,以及如在图2的例子所示的模数(A/D)转换。收到的信号的A/D转换允许更复杂的通信功能,例如要在DSP220中执行的解调和解码。例如由DSP220以类似的方式处理要发射的信号,包括调制和编码。把这些DSP处理的信号输入到发射机214来进行数模(D/A)转换、升频转换、滤波、放大并由天线218经过通信网络发射。DSP220不止处理通信信号,还提供接收机和发射机控制。例如,通过在DSP220中实现的自动增益控制算法可以对在接收机212和发射机214中的施加到通信信号的增益进行合适的控制。网络接入和用户或者移动站202的用户相关,因此移动站202需要存储模块262,例如例如用户识别模块(SIM)卡或者可移动用户识别模块(R-UIM),可以插入或和移动站202的接口264相连接来在网络中工作。可替换的,存储模块262可以是由服务提供商配置数据编程的非易失性存储器以便移动站202可以在网络中工作。因为移动站202是移动电池供电设备,它还包括用于接收一个或多个可充电电池256的电池接口254。这样的电池256向移动站202中的大部分或全部电子电路提供电力,而电池接口254向它提供机械和电子连接。电池接口254和向所有电路提供电源V+的校准器(图2中未示出)相连接。移动站202包括控制移动站202全部操作的微处理器238(是图l的控制器106的一个实现)。该控制包括本应用的网络选择技术。由通信子系统211执行包括至少数据和语音通信的通信功能。微处理器238还和另外的设备子系统互动,例如显示器222、闪存224、随机接入存储器(RAM)226、辅助输入/输出(I/O)子系统228、串口230、键盘232、扬声器234、麦克风236、短距离通信子系统240,以及任何其它通常在242指定的设备子系统。图2中所示的一些子系统执行通信相关功能,而其它子系统可以提供"常驻的"或设备上的功能。特别地,例如键盘232和显示器222的一些子系统,即可以例如用于通信相关功能,例如键入用于经过通信网络传输的文本,也可以用于设备常驻功能,例如计算器或者任务列表。微处理器238使用的操作系统软件优选地存储在例如闪存224的永久性存储器中,可替换的可以是只读存储器(ROM)或类似存储器件(未示出)。本领域技术人员应当了解操作系统、特别的设备应用,或者其部分可以临时地载入例如RAM226的非永久性存储器。微处理器238,在其操作系统功能以外,优选地执行移动站202上的软件应用。一套控制至少包括数据和语音通信应用的基本设备操作的预定应用程序通常在其制造期间安装在移动站202上。优选地可以载入移动站202的应用程序可以是个人信息管理(PIM)应用程序,具有组织和管理和用户相关的数据项目的能力,例如但不限于电子邮件、日历事件、语音邮件、约会以及任务项目。自然地,在移动站202和SIM262上有一个或多个存储器以实现PIM数据项目和其它信息的存储。PIM应用程序优选地具有通过无线网络发送和接收数据项目的能力。在优选的实施例中,PIM数据项目是无缝集成、同步的,并通过无线网络更新存储的移动站用户的对应的数据项目和/或与计算机主机系统相关的,从而在移动站202上关于这些项目创建镜像计算机主机。当计算机主机系统是移动站用户的办公室或企业计算机系统时这是特别有利的。另外的应用也可以通过网络、辅助1/0子系统228、串口230、短距离通信子系统240、或任何其它合适的子系统242载入移动站202,并由用户安装在RAM226中或优选地安装在非易失性存储器中(未示出)来由微处理器238执行。在应用安装上这样的灵活性增加了移动站202的功能并可以提供加强的设备上功能、通信相关功能,或两者都提供。例如,安全通信应用可以实现用移动站202执行电子商务功能以及其它这样的财务往来。在数据系统模式下,将由通信子系统211处理收到的例如文本消息、电子邮件消息或网页下载的信号,并输入到微处理器238。微处理器238还将优选地处理用于输出到显示器222或可替换的到辅助I/0装置228的信号。移动站202的用户可以用例如键盘232和显示器222以及可能的辅助1/0装置228组织例如电子邮件消息的数据项目。键盘232优选地是完整的字母数字键盘和/或电话类型键盘。这些构成项目可以由通信子系统211经过通信网络传输。对于语音通信,移动站202的全部操作是充分类似的,除了把收到的信号输出到扬声器234以及由麦克风236产生用于传输的信号以外。可替换的语音或音频I/0子系统,例如语音消息录制子系统,也可以在移动站202上实现。虽然语音或音频信号输出优选地由扬声器234完成,也可以用显示器222在语音呼叫期间提供主叫用户身份指示,或其它语音呼叫相关信息,如某些例子那样。图2中的串口230通常在个人数字助理(PDA)类型的通信设备中实现,因为需要和用户的台式计算机同步,虽然台式机是可选的元件。串口230允许用户设置参数选择通过外部装置或软件应用并通过除了由无线移动通信网络以外的到移动站202的信息或软件下载提供扩展移动站202的能力。可替换的下载路径可以用来例如通过直接的并从而可靠可信赖的连接把密匙载入移动站202,从而提供加密设备通信。图2的短距离通信子系统240是额外的在移动站202和不同系统或设备之间提供通信的可选元件,不一定要是类似的设备。例如,子系统240可以包括红外装置和相关电路及元件,或者蓝牙TM通信模块来提供类似使能的系统和设备的通信。蓝牙TM是蓝牙SIG公司的注册商标。例如移动站202或PC等等的客户端设备可以适用于通过编程指令和存储的数据或者其它客户端设备有效的来提供即时消息(IM)通信。即时消息提供会话的对话典型地包括在通过通信网络连接的两个客户端设备用户之间的数据消息的交换。如本领域技术人员将会了解的,IM系统或"呈现和即时消息系统"允许用户互相订阅并被通知其状态变化(例如即时消息通信的可达性),以及用户互相发送简短的即时消息。在"RFC2778-呈现和即时消息的模型"中讨论了IM进一步的细节,由因特网协会维护并可在http:〃www.faqs.org/rfcs/rfc2778.html上找到。图3说明用于在客户端设备202、308和310之间通过企业IM服务器304进行IM消息通信的IM通信网络300的实施例。客户端设备202包括如前所述且如下面所述配置的移动站。客户端设备202通过各自的无线移动网络元件(通常指定具有移动站104)经公共因特网协议(IP)网络306和企业IM服务器306相连接。当所示企业IM服务器304直接和公网相连接时,本领域技术人员应当了解在企业设置中可以用包括防火墙等等的其它设备将服务器304前移。客户端设备308和310包括PC、笔记本、工作站等等,通过公共IP网络306(例如通过虚拟专用网(VPN)隧道等)或者专网312和IM服务器304相连接。包括具有IM服务器软件的服务器计算设备的企业IM服务器306例如可以从IBM、Novell、微软或其它上面提到过的公司获得并按这里进一步描述的进行配置。IM通信网络300是实施例例子。可以采用其它专网或公网或者更少的网络。图4是根据实施例表示典型的用于IM通信客户端设备和服务器元件400的框图。客户端设备元件402包括缓冲器、队列或其它用于设备/服务器消息404(典型地一个用于入站、一个用于出站)的结构、具有GUI408的IM管理元件406、一个或多个配置文件409、联系人列表410以及当前会话消息412的缓冲器或其它结构。可以把这样的元件402存储在客户端设备的一个或多个存储设备中或者其它本地和客户端设备相连接的存储设备中。把配置文件409载入并注册到客户端IM管理(应用程序)404来提供具有印记的、本地化的图形、文本以及在可应用的服务器能力上的细节。图形和文本定义有助于配置IM应用的外表和感觉。可以载入用于确定不同企业IM服务器类型(例如同一时间、分组方式)等等的多个这样的文件并在由使用定义IM服务的配置ID实现的类型之间进行选择。从而可以根据客户端设备与之通信的企业IM服务器对不同设备类型(无线和有线)普遍地提供特别的用户体验。可以把GUI408配置来表示需要的图形和文本等等,以及为对所选服务器来说特殊的服务特性配置IM管理元件。服务器元件422包括类似的元件但是适于对多个客户端提供服务。服务器元件422包括缓冲器、队列或其它用于设备/服务器消息424(例如一个用于入站、一个用于出站)的结构、具有GUI428的IM管理元件426、多个用于每个用户的用户联系人列表440,包括例如对应的联系人列表430到客户端设备元件402的列表410。可以把这样的元件402存储在服务器304的一个或多个存储设备中或者其它本地和服务器304相连接的存储设备中。例如,联系人列表440可以保持和服务器304相连接的数据库。虽然未示出,服务器304可以在存档或其它形式中保持IM会话消息和/或为用户维持行为日志。对本领域普通技术人员来说,虽然没有示出或描述这些结构,由IM管理元件426提供的其它服务是显然的。IM管理元件406根据这里描述的协议和企业IM服务器304进行设备/服务器消息通信。这些消息可以如下按命令类型广泛地归类为会话管理、联系人列表管理、呈现管理、IM会话消息以及多参与者会话。这些命令和消息按照下面进一步描述的排序。IM管理元件406通过GUI408产生适当的设备/服务器消息来在可用的时候向服务器304发送来对用户控制进行响应,并通过GUI408和任何相关的API或其它用于客户端设备(未示出)的其它应用的机制来对从服务器304接收到的从而定义或更新联系人列表和会话消息并通知用户设备/服务器消息进行答复。GUI408使用联系人列表410为用于控制呈现外貌和IM功能的面向联系人列表接口提供支持。列表410包括电子标签(etag)410A以及一个或多个联系人群体。每个群体具有群体名称410B(例如用于显示的目的)以及群体ID410C。每个群体内的联系人包括联系人名称410D、联系人ID410E、阻塞状态410F、等待状态410G以及例如呈现状态、状态消息和状态图标(未示出)的在线数据410H。类似地,服务器304维持etag430A联系人列表数据(例如430B、430C、410D、410E)和通信状态以及在线数据(例如430E-430H)的服务器实例。由IM管理元件406维持的但是未示出的额外数据包括用于定义和IM服务器的会话的用户ID和密码、服务器名称和端口、初始化状态图标参考、用户的显示名称和联系人ID、说明正确配置的配置ID。把配置文件409载入和注册到IM应用来提供具有印记的、本地化的图形、文本以及在服务器能力上的细节。如本领域普通技术人员所理解的,在例如IM管理和GUI元件406及408的元件之间制造明线有时候是困难的。还应该理解的,在其上或用于客户端设备的具有其它元件(未示出)的元件406、408接口,例如操作系统、通信子系统、可用的PIM或其它元件等等。图5说明由用于IM应用406的例子GUI406提供的用于视觉上表示和与在联系人列表410中定义的数据互动的IM屏幕的典型视图500。视图500包括表示为用户显示名称迈克的"迈克的联系人列表"的标题部分502,以及表现包括列表入口,特别是联系人列表入口用于当前会话504、当前游戏506、个体联系人508、联系人群体510、离线联系人512以及等待联系人514的联系人列表503接口。应当理解,视图500以通过元件516("+")和518("-")允许列表项目展开和縮进的形式提供分级列表。联系人可用包括个体用户联系人508或用于在IM应用中辅助联系人的组织的群体联系人510(例如周五午饭群体)。还可以根据呈现信息对联系人分组。联系人群体512包括对IM通信当前离线的联系人的列表,而群体514表示根据IM的订阅方面正在申请加入迈克的联系人列表的邀请决议的联系人的列表。用户可以移动迈克的联系人的视图500通过移动该视图的焦点来和GUI的不同元件互动,例如元件或列表的个体项目的展开。可以通过不同方式说明焦点,例如通过反转视频模式等等。可以用输入设备例如箭头键、滚动条、定点设备等等实现移动或其它导航。一旦用户选择了特定元件,则可以调用特定的命令。可以通过一个或多个菜单或用在文献中常见的预定按键等等的调用来表示可选项。图6说明和联系人"史蒂芬尼B"的当前会话的典型的IM视图600,并包括标题部分602,说明联系人和消息历史部分604;用于表示IM会话消息交换(从元件储备412)的以及可选的消息发送和回答状态指示器606。还提供具有光标610的消息合成部分608来合成联系人保持的IM会话消息。如提到过的,客户端设备(例如202、308或310)根据到普通客户端用于即时消息服务的服务器协议和企业IM服务器304进行。协议的优点是促进了可以用来通过服务器代理和不同企业IM服务器相连接的单设备即时消息客户端的发展/实现。设备/服务器通信包括命令以及如果可用的答复。用根据网络层和/或任何中间层传输协议通过网络传输的数据包定义通信。在本实施例中,在GME包中发送命令和答复。优选地为传输对GME包进行加密。每个GME包可用包括一个或多个包含命令或答复的消息。命令或答复优选地是标签长度编码(TLE)以节省传输带宽。这在例如用于向设备202传输的无线通信网络(例如104)中特别有利。每个字段包括单字节标签,跟着是比特扩展长度和消息数据。未识别字段可以跳过Message(消息)=*tletle二taglengthdata(标签长度数据)tag(标签)=OCTETlength(长度)二1-40CTETdata(数据)=0*OCTETTags下面定义标签,并且标签只在每个tle字段中是惟一的。每个TLE字段中的字段规则地符合它们在本文档中的呈现。每个类型具有如本文档中定义的单个类型,而字符串优选地使用UTF8编码。如果没有预期的元件,则协议实现优选地使用从下面的值直到明确的定义了默认值为止:布尔-假;整数-O;以及字符串-空。对于包括结果代码的包,丢失的结果代码意味着成功。结果代码如下100-拒绝请求;200-成功/接受请求;以及300-未成功/错误。服务器可以运行多个IM服务。在这种情况下,所有源于客户端设备的包在开头包括识别该包要提供的服务的额外的整数字段。在GME包中,使用例如〃IM〃的内容ID来指定IM通信。以TLE形式的服务应用日企表明配置ID来向客户端提供正确的图形、文本以及支持特别IM服务器特性的服务细节。如所提到过的,设备/服务器消息可以如下按命令类型广泛地归类为会话管理、联系人列表管理、在线管理、IM会话消息、多参与者会话以及下面要进一步描述的消息序列。会话管理命令包括登录请求、登录答复、登出以及保持联机。设备发送登录请求作为对客户端要求登录的反应。假设GME包是加密的,所以可以立刻发送用户Id和密码。下表描述了登录请求登录请求标签l<table>complextableseeoriginaldocumentpage18</column></row><table>来自服务器的登录答复包括结果代码。如果成功,登录结果之后紧跟着并自动地是根据下表的联系人列表更新,如果必要的话,离线消息,以及接收联系人通知标签2<table>complextableseeoriginaldocumentpage18</column></row><table><table>complextableseeoriginaldocumentpage19</column></row><table>当用户登出时,设备向服务器发送本包。设备不向服务器要求答复。当服务器把用户登出时,它向设备发送本包。它也不向设备要求答复。在这种情况下,服务器优选地向用户提供为什么出现登出的解释。<table>complextableseeoriginaldocumentpage19</column></row><table>可以配置客户端向服务器发送消息以保持会话活跃。设备每隔15分钟(例如)向服务器发送本包。服务器应在下一个周期之前用同样的包答复。如果服务器不能答复,它把用户从服务中登出,而当其看见在下一个周期之前没有答复时,设备把用户从客户端登出。<table>complextableseeoriginaldocumentpage19</column></row><table>联系人列表管理命令包括如下命令类型来管理联系人列表410和430:联系人列表更新、添加组请求、添加组答复、删除组请求、删除组答复、重命名组请求、重命名组答复、添加联系人请求、添加联系人答复、接受联系人请求、接受联系人答复、删除联系人请求、删除联系人答复、重命名联系人请求、重命名联系人答复、移动联系人请求、移动联系人答复、阻塞联系人请求,以及阻塞联系人答复。客户端的IM管理元件406典型地不跟踪从客户端设备初始化的命令。同样地,配置服务器答复来包括答复中的所有需要的信息。把etag作为用于联系人列表410和430的当前状态的不透明字符串标记来对待。由客户端存储etag,并且不从其得到含义。随着改变联系人列表内容并且在登录时(见登录请求)报告给IM服务器304的答复更新etag。IM服务器304可以用该值来表示联系人列表的当前状态,可以以两个例子的方式用最后的联系人列表改变或者联系人列表内容的哈希表的时间来定义该值,,从而检测在登录是是否有必要更新联系人列表。联系人ID和和群体ID是用于独立于它们的友谊或显示名称而跟踪联系人或群体的标记。客户端从这些ID得不到含义而仅仅需要对它们做精确的比较(布尔结果)。在登录时从服务器发送联系人列表更新。客户端设备(IM管理元件406)用消息的内容替换任何本地联系人列表实例。联系人列表更新标签6<table>complextableseeoriginaldocumentpage20</column></row><table>群体标签<table>complextableseeoriginaldocumentpage20</column></row><table>联系人标签<table>complextableseeoriginaldocumentpage20</column></row><table>等待<table>complextableseeoriginaldocumentpage21</column></row><table>下列表格添加组请求、添加组答复、删除组请求、删除组答复、重命名组请求以及重命名组答复提供用于管理群体添加、删除和重命名的命令和各自的答复。添加组请求标签7<table>complextableseeoriginaldocumentpage21</column></row><table>删除组答复标签IO<table>complextableseeoriginaldocumentpage22</column></row><table><table>complextableseeoriginaldocumentpage23</column></row><table>下列命令和答复描述用于管理群体中的联系人的消息操作。添加联系人请求命令向特定群体添加联系人。联系人可以是或者不是和在添加联系人答复中返回的联系人ID—致的。在所有其它消息中,在添加联系人答复中的联系人ID惟一地指定用户。只有当收到添加联系人答复时,才把联系人添加到客户端设备联系人列表410中。添加联系人请求标签13<table>complextableseeoriginaldocumentpage23</column></row><table>服务器优选地在发送本消息后立刻为新添加的联系人发送更新在线(见下面)。添加联系人答复<table>complextableseeoriginaldocumentpage23</column></row><table><table>complextableseeoriginaldocumentpage24</column></row><table>接受联系人请求<table>complextableseeoriginaldocumentpage24</column></row><table>接受联系人答复标签16<table>complextableseeoriginaldocumentpage24</column></row><table>删除联系人请求标签17<table>complextableseeoriginaldocumentpage24</column></row><table><table>complextableseeoriginaldocumentpage25</column></row><table>删除联系人答复标签18<table>complextableseeoriginaldocumentpage25</column></row><table><table>complextableseeoriginaldocumentpage26</column></row><table><table>complextableseeoriginaldocumentpage27</column></row><table>阻塞联系人请求标签21<table>complextableseeoriginaldocumentpage27</column></row><table>标签22<table>complextableseeoriginaldocumentpage27</column></row><table>在线,通信指示的可达性,是IM概念的重要部分。用户在线状态可以根据代理协议变化。〃状态图标〃仅仅是向用户显示状态资源的索引,而设备从其得不到任何含义。用户的或联系人的可达性(已登录或已登出)是有意义的,然而,应将其在〃可达〃字段发送。下列和在线相关的命令运行用户指明当前在线偏好以及从IM服务器接收其它联系人的当前更新在线设置标签23在线<table>complextableseeoriginaldocumentpage27</column></row><table><table>complextableseeoriginaldocumentpage28</column></row><table>更新在线<table>complextableseeoriginaldocumentpage28</column></row><table>本协议的IM会话消息命令是正在键入、消息和多方消息。在会话期间,正在键入命令说明客户端设备的用户正在键入消息或者用户与之进行会话的联系人正在键入。消息和多方消息命令提供在两个参与者的会话中用于发送到单个联系人或者在多个参与者的会话(多方聊天)中发送到一个或多个联系人的消息。正在键入标签25<table>complextableseeoriginaldocumentpage28</column></row><table><table>complextableseeoriginaldocumentpage29</column></row><table>多方聊天必须在多方聊天中发送或接收消息之前开始。也就是说,接受邀请答复或邀请参与者答复(见下面)包必须在第一个多方消息包z刖。多方消息<table>complextableseeoriginaldocumentpage29</column></row><table>IM会话可以是多参与者的,其中三个或更多联系人加入IM通信,邀请联系人加入特定会话。IM服务器向在多参与者会话中的每个人组播邀请参与者请求组播、邀请参与者答复,以及离开会话组播。对此有多个模型。l.用户可以邀请某人加入已有会话。2.用户可以创建独立于个体会话的会议。邀请参与者请求标签27<table>complextableseeoriginaldocumentpage29</column></row><table><table>complextableseeoriginaldocumentpage30</column></row><table>标签29<table>complextableseeoriginaldocumentpage31</column></row><table><table>complextableseeoriginaldocumentpage32</column></row><table>设备A和B在会话中。<table>complextableseeoriginaldocumentpage33</column></row><table>下面的讨论说明用于在之前讨论的商用企业IM服务器的不同的几个协议变量。同一时间联系人有四个字符串变量1.登录Id,例如yyipl。这是唯一的并且不可修改的。2.用户Id,例如CN=YvonneYipl/0U=TestIDs/0=0ntario。这是唯一的并且不可修改的。3.名称,例如YvonneYipl/TestIDs/Ontario。4.昵称,由在联系人列表中有联系人的用户修改。在这里描述的IM协议中,联系人只有联系人ID和名称。一般地,联系人ID意味着同一时间用户Id而名称意味着同一时间昵称,如果存在的fi舌,否则它意味着同一时间名称。下面阐明不同情况<table>complextableseeoriginaldocumentpage33</column></row><table><table>complextableseeoriginaldocumentpage34</column></row><table>在IM会话或聊天方面,同一时间服务器只对多参与者聊天保持跟踪会话Id。设备在消息包(标签26)中发送会话Id,但是同一时间服务器会忽略它并在消息包(标签26)中会话Id的位置答复空,虽然安装要求将其标记。然而同一时间服务器会记住并使用多方消息包(标签36)中的会话Id字段。对于多参与者消息(多方聊天),不在同一时间中使用邀请参与者请求组播(标签34)。在邀请参与者答复(标签28)方面,同一时间不让用户拒绝会议邀请。因此,如果被邀请者拒绝邀请的话,邀请者不会收到邀请参与者答复。然而,设备让用户拒绝邀请一在那样的情况下,以消息包(标签26)向邀请者发送拒绝消息。下面表明表示在线的同一时间状态图标的索引<table>complextableseeoriginaldocumentpage34</column></row><table>对LCS服务器,当LCS服务器收到移动联系人请求时,如果移动成功的话,它用删除联系人答复然后是添加联系人答复来答复。否则,它用移动联系人答复来答复。下面表明表示在线的LCS状态图标的索引:<table>complextableseeoriginaldocumentpage35</column></row><table>图7是表示用于配置(有时称为预定)客户端设备IM能力的操作700的流程图。在步骤702,客户端设备(例如202)接收预定数据(例如IM应用指令和基本数据元件的软件构造)。该预定可以包括具有图形、文本和IM服务器能力各自的定义IM配置文件(例如409)。在步骤704,客户端设备接收到定义客户端设备服务(例如用户定义、数据或数据和语音服务定义、企业配置和规则,等等)的服务定义,包括具有定义上述配置ID的IM服务器设置。可选地在这个时间可以预设IM配置文件。在步骤706用配置ID决定合适的配置文件409,而在步骤708根据所述设备/服务器协议用客户端设备进行IM通信。图8A和8B描述服务器用于管理代表特殊客户端设备(即对于其企业用户)的联系人列表的操作800和820。操作800表示接收管理(即改变)联系人列表(例群体或联系人入口)(步骤802)的客户端请求的步骤,更新联系人列表(804)并维持表示在服务器上的联系人列表流通(currency)的相关etag(步骤806)。在步骤808,向客户端设备提供IM服务器的etag值作为对客户端设备的联系人管理请求的答复。客户端设备(未示出)保持该etag值并在如参考图8B中操作820所述的客户端设备的任何登录请求中返回。然后图8B的在步骤822和824,IM服务器定义联系人列表而服务器创建etag值。可以在预设的IM服务器上的用户账户上执行这些步骤822和824并且在首次登录之前执行步骤或者可以对后来的登录用步骤804和806来执行步骤。在步骤826接收到具有客户端设备的etag值的客户端设备登录请求。响应于对关于服务器etag值(即如果不相等)的客户端的etag的流通,接着响应于(成功)登录,发送联系人自动地列表更新消息来代替任何客户端设备的保持联系人列表410。可以发送进一步自动消息,例如给在联系人列表更新中的任何联系人的更新在线(步骤826)。其它消息可以是消息类型(标签26)或者接受联系人请求(未示出)。当主要讨论参考在企业服务器和例如智能PDA或智能电话的手持移动设备之间提供协议时,可以根据在例如个人计算机(笔记本、台式机)、工作站以及类似配置来进行网络通信的设备的其它计算设备上的协议实现客户侧IM应用。上述实施例仅仅是例子。在不脱离本发明的精神和范围的情况下,本领域普通技术人员可以进行改变、修改以及对特定实施例的变化。这里描述的主旨在所附权利要求中想要覆盖和包括所有合适的技术上的改变。权利要求1.一种客户端数据通信设备,包括通信子系统,用于和IM服务器进行数据通信;IM应用程序,用于通过IM服务器进行IM通信;至少两个配置文件,用于配置所述IM应用程序来和不同类型IM服务器进行通信;以及服务定义,指定IM应用程序与其进行通信的IM服务器类型之一,从而决定各自的配置文件来配置IM应用程序。2.如权利要求1所述的设备,其中每个配置文件包括用于配置IM应用程序外表和感觉的定义。3.如权利要求2所述的设备,其中每个配置文件还包括指定用于IM应用程序的服务器能力的定义。4.如权利要求1所述的设备,其中IM应用程序使用用于与不同类型IM服务器进行IM通信而定义的通用设备/服务器协议。5.如权利要求4所述的设备,其中所述设备包括存储在设备中的联系人列表,并且其中协议在设备和服务器之间交换标签值,所述标签值由服务器定义来表示联系人列表流通,从而指示IM服务器响应于流通变化提供更新的联系人列表。6.如权利要求5所述的设备,其中所述协议指定如果必要的话,响应于登录会话而自动地提供更新的联系人列表。7.如权利要求6所述的设备,其中所述协议指定响应于登录会话自动地给更新的联系人列表的联系人提供更新的呈现信息。8.—种配置用于IM通信的客户端数据通信设备的方法把IM应用程序存储到用于和IM服务器进行IM通信的设备,所述IM应用程序使用为与不同类型IM服务器进行IM通信而定义的通用设备/服务器协议;以及把服务定义存储到设备,所述定义指定IM通信服务来使能IM应用程序。9.如权利要求8所述的方法,包括存储两个或更多配置文件,用于配置用于与不同类型IM服务器进行通信的IM应用程序。10.如权利要求9所述的方法,其中所述服务定义指定IM应用程序与其进行通信的IM服务器类型之一,从而确定各自的配置文件来配置IM应用程序。11.如权利要求10所述的方法,其中每个配置文件包括用于配置IM应用程序的外表和感觉的定义。12.如权利要求11所述的方法,其中每个配置文件还包括指定用于IM应用程序的服务器能力的定义。13.如权利要求8所述的方法,其中配置IM应用程序把用于IM通信的联系人列表存储在设备中,并且其中协议在设备和服务器之间交换标签值,所述标签值由服务器定义来表示联系人列表流通,从而指示IM服务器响应于流通变化来提供更新的联系人列表。14.如权利要求13所述的方法,其中协议指定如果必要的话,响应于登录会话自动地提供更新的联系人列表。15.—种即时消息系统,包括具有IM应用程序的IM服务器以及多个客户端设备;至少一个计算机网络,与IM服务器和客户端设备相连接;以及将至少一些客户端和IM服务器的IM应用程序配置用于使用为与不同类型IM服务器进行IM通信而定义的通用设备/服务器协议。16.如权利要求15所述的即时消息系统,其中至少一些客户端设备的每一个包括两个或更多配置文件,用于配置IM应用程序来与不同类型IM服务器进行通信。17.如权利要求16所述的即时消息系统,其中至少一些客户端设备的每一个包括指定IM应用程序与其进行通信的IM服务器类型之一的服务定义,从而确定各自的配置文件来配置IM应用程序。18.如权利要求17的即时消息系统,其中每个配置文件包括用于配置IM应用程序的外表和感觉的定义。19.如权利要求15的即时消息系统,其中每个IM应用程序配置用于把用于IM通信的客户端各自的联系人列表存储在客户端设备中,并且其中协议在设备和服务器之间交换标签值,所述标签值由服务器定义来表示所述联系人列表流通,从而指示IM服务器响应于流通变化来提供更新的联系人列表。20.如权利要求19的即时消息系统,其中协议指定如果必要的话,响应于客户端设备和IM服务器之间的登录会话自动地提供更新的联系人列表。21.如权利要求15的即时消息系统,其中至少部分客户端通过无线通信网络和IM服务器相连接。22.—种计算机可读媒质,包括在由处理器执行时调整客户端通信设备来与IM服务器进行即时消息(IM)通信的指令和数据,所述指令和数据调整处理器。全文摘要一种通用IM设备/服务器协议,允许用于和不同企业IM服务器类型进行通信的客户端设备上的IM应用的单个实现。协议定义了服务器维持的标签来识别联系人列表流通,这是为客户端设备的管理。客户端设备接收和保持标签并在登录时提供标签。只有在标签指明的客户端设备联系人列表实例不是当前实例时,服务器自动发送联系人列表更新。在登录时可以自动发送在线更新,而客户端设备不需要在登录时分别要求联系人列表或在线更新。客户端设备可以是预定的,分别具有图形、文本以及关于多个服务器类型的服务器能力。可以响应于服务信息来选择特定的IM配置。文档编号H04L29/02GK101346949SQ200680048507公开日2009年1月14日申请日期2006年5月2日优先权日2005年10月21日发明者克里斯托弗·R·沃莫尔德,安德里亚·马洛莱斯库,格哈德·德尔克瑞查·克拉森申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1