首页> 中国专利> 呈现更新信息有效传送到呈现服务客户端

呈现更新信息有效传送到呈现服务客户端

摘要

为促使呈现更新信息有效发送到与通信客户端如即时消息收发(IM)客户端相关联或集成的呈现服务客户端,单独计算装置可以被通知通信客户端何时变为休眠。该单独装置可以缓存去往通信客户端的呈现更新,每个呈现更新包括关于一组用于通过所述通信客户端相互通信的联系人至少一个的可用性的信息。当单独装置获知任一通信客户端已经停止休眠或已经发生将引起通信客户端停止休眠的事件时,缓存的呈现更新可以发送给呈现服务客户端。缓存组中的呈现更新可以被协调以删除废弃信息。结果可以是保持无线连接的带宽或者减少装置电源消耗。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-05-11

    授权

    授权

  • 2008-12-10

    实质审查的生效

    实质审查的生效

  • 2008-10-15

    公开

    公开

说明书

技术领域

本发明一般属于呈现服务,特别是到呈现服务客户端的呈现更新信息的有效传送。

背景技术

即时消息收发(IM)是一种已知的实质为在两个或多个通常基于打字文本的计算装置之间的几乎实时通信形式。文本(和,近来,其它数据类型,例如电子文档,流内容甚至话音)基于网络如因特网在计算装置之间传送。每个计算装置执行与IM服务关联的IM客户端软件应用(通常简化为“IM客户端”)。IM服务定义用于即时通信的协议,其可以是专用的。目前公共因特网上流行的即时消息收发服务包括.NET MessengerService,AOLInstant MessengerTM(AIM),ExcitePal,Gadu-Gadu,Google TalkTM,iChat,ICQ,Jabber,Qnext,QQ,Skypehe Yahoo!Messenger。多协议客户端如Gaim,TrillianTM和Miranda可以删除或减少用于不同IM服务的独立客户端软件应用的需要。流行的企业IM解决方案包括IBM Lotus SametimeTM,Novell GroupWise和MicrosoftOfficeLive Communication Server。

大多数而非全部IM服务具有关联的呈现服务。呈现服务允许每个用户看到是否在联系人的用户指定组(通常为“联系人表”,“密友列表”或“好友列表”)中的其它用户当前在线并可以用于交换即时消息。每个联系人的可用性可以通过呈现状态指示符如“可用”,“忙”,“空闲”,“不要打扰”,或者“外出午饭”等来指明,其由IM客户端显示。呈现信息通过呈现更新的方式更新,其自动发送给关于特定联系人组中已选择接收它们的用户。与IM客户端关联、许多情况下与其结合的呈现服务客户端处理呈现更新并通常保持呈现状态指示符用于显示给用户,典型地通过IM客户端用户接口的方式。呈现服务客户端也可以与其它类型的通信客户端关联使用,例如基于IP的语音(VoIP)客户端。当联系人的呈现服务客户端检测到联系人可用性已经改变,其自动地报告变更的可用性给其它用户。这典型地通过中央服务器完成,在即时消息收发系统的情况下是中央IM服务器。具体地,关于变更状态的报告发送给中央IM服务器,该中央IM服务器通过呈现更新报告变更的可用性,该呈现更新被发送到被选择接收该关于联系人的更新的所有已连接IM用户。呈现更新是一种通信(如消息),其提供用于通信(如即时消息收发)的联系人当前可用性的指示。呈现服务和即时消息收发进一步细节都在“RFC 2778-AModel for Presence and Instant Messaging”中描述,其可以在www.ietf.org/rfc2778.txt中得到并对本领域的技术人员而言是已知的。

在一些情况中,执行呈现服务客户端的计算装置是无线通信装置。例如,用于无线即时消息通信的装置和方法在美国专利公开号2006/0142030A1中描述,其在此结合参考。执行在无线通信装置上的IM客户端软件应用可以指“移动IM客户端”,相关呈现服务客户端可以指“移动呈现服务客户端”。移动呈现服务客户端可以通过无线连接接收呈现更新。如果呈现频繁并大量更新,如当无线通信装置用户的联系人列表中的联系人数量很大时,可能发生,并导致多种问题。第一,大量无线连接带宽被输入的呈现更新消耗。因为许多无线服务提供商基于(至少部分)接收的数据量向用户计费,接收频繁和大量的呈现更新不幸地增加用户费用。第二,接收和处理大量呈现信息可能消耗无线通信装置的大量电能,其将缩短电池寿命。如果每个呈现更新导致无线通信装置在一些短时间内从节电模式中“唤醒”并保持唤醒(没有节电)模式可能更加实际。第三,因为一些无线提供商或无线网络类型可以认为每一个或多个呈现更新的发送构成一个“呼叫”,任何用于保持装置的呼叫统计通过频繁的单个呈现更新的发送而可能被严重歪曲。最后,消息的频繁发送包括只包括一个呈现更新可能是无效率的,因为与每个消息关联的开销可能高到无法接受。这些缺点可能是呈现服务所特有的,不管它们是否与即时消息或其它通信形式(如VoIP)关联。需要一种减轻或者消除这些缺点的一个或多个方案。

发明内容

一方面,提供了一种计算机实现的方法,包括:接收在单独无线通信装置处执行或者包括单独无线通信装置的通信客户端已经变为休眠的指示符;响应所述接收,缓存去往与所述通信客户端关联的呈现服务客户端的呈现更新组,所述组的每个呈现更新包括关于一组通过所述通信客户端相互通信的联系人中的至少一个联系人的可用性的信息;接收指示任一所述通信客户端已经停止休眠或者已经发生将引起所述通信客户端停止休眠的事件的另一指示符;响应所述另一指示符的所述接收,通过无线连接发送所述呈现更新组到所述呈现服务客户端。

另一方面,提供了一种计算装置,包括至少一处理器和与所述至少一处理器通信的存储器,所述存储器存储指令,当其被至少一处理器执行时,使所述计算装置为:接收在单独无线通信装置处执行或包含单独无线通信装置的通信客户端已经休眠的指示符;响应所述指示符的接收,缓存去往与所述通信客户端关联的呈现服务客户端的一组呈现更新,所述组的每个呈现更新包括与一组用于通过所述通信客户端相互通信的至少一个联系人的可用性相关的信息;接收指明任一所述通信客户端已经停止休眠或者已经发生将引起通信客户端停止休眠的事件的另一指示符;响应所述另一指示符的接收,通过无线连接发送所述呈现更新组到所述呈现服务客户端。

另一方面,提供了存储指令的机器可读介质,当其被至少一处理器执行时,使所述计算装置为:接收在单独无线通信装置处执行或包含单独无线通信装置的通信客户端已经休眠的指示符;响应所述指示符的接收,缓存去往与所述通信客户端关联的呈现服务客户端的一组呈现更新,所述组的每个呈现更新包括与一组用于通过所述通信客户端相互通信的至少一个联系人的可用性相关的信息;接收指明任一所述通信客户端已经停止休眠或者已经发生将引起通信客户端停止休眠的事件的另一指示符;响应所述另一指示符的接收,通过无线连接发送所述呈现更新组到所述呈现服务客户端。

另一方面,提供了一种计算机实现的方法,包括,在无线通信装置:一旦检测到在所述无线通信装置上执行的通信客户端已经休眠,所述通信客户端用于使所述装置通过无线连接与用户指定联系人组中的任一个相互通信,并具有关联呈现服务客户端,用于通过所述无线连接接收关于通过所述无线通信客户端相互通信的所述联系人组的任一个的可用性的呈现更新,发送用于引起所述呈现更新缓存在单独计算装置中的通信;并一旦检测到所述通信客户端已经停止休眠,在所述呈现服务客户端通过所述无线连接从单独计算装置接收缓存的一组呈现更新。

另一方面,提供了一种无线通信装置,包括至少一处理器和与所述至少一处理器通信的存储器,所述存储器存储指令,当其被所述至少一处理器执行时,使装置为:一旦检测到在所述无线通信装置上执行的通信客户端已经休眠,所述通信客户端用于使所述装置通过无线连接与用户指定联系人组中的任一个相互通信,并具有关联呈现服务客户端,用于通过所述无线连接接收关于通过所述无线通信客户端相互通信的所述联系人组的任一个的可用性的呈现更新,发送用于引起所述呈现更新缓存在单独计算装置中的通信;并一旦检测到所述通信客户端已经停止休眠,在所述呈现服务客户端通过所述无线连接从所述单独计算装置接收缓存的一组呈现更新。

另一方面,提供了一种存储指令的机器可读介质,当其被至少一处理器执行时,使所述装置为:一旦检测到在所述无线通信装置上执行的通信客户端已经休眠,所述通信客户端用于使所述装置通过无线连接与用户指定联系人组中的任一个相互通信,并具有关联呈现服务客户端,用于通过所述无线连接接收关于通过所述无线通信客户端相互通信的所述联系人组的任一个的可用性的呈现更新,发送用于引起所述呈现更新缓存在单独计算装置中的通信;并一旦检测到所述通信客户端已经停止休眠,在所述呈现服务客户端通过所述无线连接从所述单独计算装置接收缓存的一组呈现更新。

其它方面和特征通过下面与附图关联的具体实施例的描述对本领域技术人员而言将变的明了。

附图说明

说明具体实施例的附图中:

附图1是具有关联呈现服务的IM系统示意图;

附图2是附图1的IM系统的无线通信装置组件的示意图;

附图3是与移动IM客户端软件应用关联的联系人列表的表示图;

附图4是说明附图1的IM系统的代理IM服务器软件组件的流程图;

附图5是说明附图1的IM系统的移动IM客户端软件应用组件的操作流程图;

附图6是通过在附图4中实施的代理IM服务器软件实现的状态机;

附图7是通过在附图5中实施的移动IM客户端软件实现的状态机;

附图8和9说明通过附图1的IM系统的无线通信装置组件发送的两种消息类型的格式;

附图10是通过附图1的IM系统的代理IM服务器组件缓存的呈现更新组的示意图;

附图11是附图10缓存的呈现更新组在经过协调后的示意图;

附图12说明了可选IM系统的示意图。

具体实施方式

参见附图1,描述了即时消息(IM)收发系统10。IM系统10允许与系统10连接(通过有线和无线连接)的多种类型计算装置的用户通过IM服务方式交换文本即时消息。虽然图1所示的IM系统10的一些方面是传统的,但仍将描述,系统10具备能有效地发送呈现更新信息到呈现服务客户端的新颖能力。

如所示的,所述IM系统10包括多个各自由用户24A,24B,24C和73操作的示例性计算装置20A,20B,20C和70、以及网络30(其在实施例中为公共因特网),IM服务器40,代理IM服务器50和无线网络60。

计算装置20A,20B和20C(统一为装置20和通用为装置20)是常用计算装置,如基于Intel或AMDTM处理器的个人计算机。计算装置20具有多种常用配件,如用于提供通过如数字用户线(DSL)或电缆调制解调器连接与因特网30连接的网络接口卡,输入装置如用于输入数据和控制设备20操作的键盘和鼠标,显示装置如用于显示执行软件应用的图形用户界面(GUI)的液晶显示器(LCD),和用于存储操作系统软件和可执行软件应用连同数据(未明确说明)的易失和非易失存储器。

每个装置20的存储器存储常用IM客户端软件应用(“IM客户端”)22。IM客户端22是计算机程序,其允许用户与其它在远程计算装置上执行兼容的IM客户端的特别IM服务的用户进行即时消息收发(如Yahoo!Messenger,AIM或Google TalkTM)。IM客户端22的任务包括根据用户请求发送和接收即时消息,并使用特定服务IM协议自动与中央IM服务器40相互通信,用于报告IM客户端用户(后者很有可能由集成在IM客户端22的呈现服务客户端处理)的可用性变更。IM客户端22可以是如GoogleTalkTM1.0.0.100客户端,带有语音的Yahoo!Messenger(测试版)(8.0.0.508),Windows Live Messenger 8.0客户端,或者GAIM2.0.0测试3.1客户端。

虽然在附图1中仅描述了三个计算装置20A,20B,20C和三个相应用户24A,24B,24C,应当明白计算装置和相应用户的数量实际上可以远大于3,可能有几百个或更多。

计算装置70是捷讯研究公司(RIM)的BlackBerryTM双向寻呼设备。该装置70是无线通信装置,其可以替代作为“移动装置”或“移动站”。该装置70执行移动IM客户端软件应用(“移动IM客户端”)134。如IM客户端22,移动IM客户端134是计算机程序,其使装置70允许用户73与其它相同IM服务的用户进行即时消息收发。移动IM客户端134的功能包括发送和接收用户73请求的即时消息。移动IM客户端134具有集成的呈现服务客户端135,其可以使用可操作IM协议自动地与中央服务器40相互通信,用于报告用户73的可用性的变更。呈现服务客户端135还保存用户定义联系人列表71,用于识别IM系统10中与用户73频繁联系的所有用户,将在下面详细描述。如将显而易见的,呈现服务客户端135结合与IM代理服务器50的程序逻辑协同的程序逻辑(如下所述),用于支持呈现业务更新信息有效发送到装置70。

IM服务器40是执行具有集成呈现服务功能的常用IM服务器软件42的常用服务器。IM服务器软件42执行公共IM服务,如Yahoo!Messenger,AIM或Google TalkTM),其便于IM客户端之间的即时消息收发,如IM客户端22和移动IM客户端134,在多个远程计算装置上执行,如装置20A,20B,20C和70。IM服务被称为“公共”服务在于其通常可接入选择订购该服务的公共成员。这有别于企业IM服务,如IBM Lotus SametimeTM,NovellGroupWise和MicrosoftOffice Live Communication Server,其典型地配置于通常不可接入公共网的安全企业网中。包括企业IM服务的可选择的实施例将在下面描述。IM服务器软件42的功能包括当其登录(或连接)IM服务时,注册IM用户,接收由IM客户端22和134自动发送的用户可用性的报告,响应接收的报告,发送相关用户可用性变更的呈现更新到所有被选择接收该更新的用户。

IM服务器软件42保持通用联系人列表44。通用联系人列表44是每个IM服务每个用户的最新联系人列表信息的融合,其在本实施例中包括IM用户24A,24B,24C和73。IM服务器软件42保持通用联系人列表44,用于支持呈现服务能力。每次当IM服务器软件42接收来自特定IM用户(或相关呈现服务客户端)的IM客户端22或者134的该用户的变更可用性相关的报告时,软件42查询列表44,用于确定其它哪个IM用户已经表示有兴趣接收关于该IM用户的呈现更新。IM服务器软件42而后进行发送呈现更新到那些用户。结果,为每个用户提供了关于感兴趣的IM联系人的可用性的最新信息。联系人列表44可以采用例如数据库记录或电子文件的形式。

代理IM服务器50是执行代理IM服务器软件52的通用服务器。位于IM系统10中的代理IM服务器50的作用在于从无线通信装置70和其它任意通过无线网络60(在附图1中没有示出)与代理服务器50通信的无线通信装置的角度,作为IM服务器40的代理。代理IM服务器50从无线通信装置70接收去往IM服务器40的相关IM通信。该通信基于IM服务的专用协议,但是由无线网络60使用的一个或多个下层传输和网络无线网络协议来实施。例如,协议可以包括封装了所支持的即时消息收发功能的专用RIMBlackBerryTM即时消息(BBIM)协议,或者经修改的无线友好版本的本地Yahoo!协议。代理IM服务器50依次中继这些通信到实际IM服务器40。为了中继通信,代理IM服务器50本质上保持在可操作IM服务协议中的通信实质,但转换下层传输和网络机制为任何适用网络30的协议。在实施例描述中,网络30是公共因特网,该公共因特网的协议典型地包括TCP/IP。在相反方向上,代理IM服务器50作为移动IM客户端134的代理,接收所有去往无线通信装置70的IM相关通信,并反向转换下层协议。IM相关通信的类型可以通过包括即时消息和呈现更新的代理IM服务器50中继。

代理IM服务器软件52结合与呈现服务客户端135的程序逻辑协同的程序逻辑,用于有效发送呈现更新信息到装置70。根据该程序逻辑,当IM客户端软件应用134已变为休眠,代理IM服务器软件52缓存去往无线通信装置70的呈现更新。该缓存导致呈现更新54的缓存组,该组在附图1示意性地表示。一旦移动IM客户端软件应用134停止休眠或者即将停止休眠,呈现更新54最终发送给无线通信装置,其将在下面更一步描述。当移动IM客户端134一段时间后还没有休眠,在服务器50中可能没有缓存的呈现更新54的组。

代理IM服务器软件52还存储针对充当其代理的每个移动IM客户端的联系人列表。附图1中,只示出了一个联系人列表71,对应于移动IM客户端134。联系人列表识别IM系统10中的用户73所频繁联系的所有用户。联系人列表71由用户通过与移动IM客户端软件应用134和装置70处的集成呈现服务客户端135的交互而生成,并由移动IM客户端134基于无线网络60自动通信到代理IM服务器50。与在与代理IM服务器50无线通信的其他无线通信装置处执行的其他移动IM客户端134的实例相对应的其他联系人列表为了清楚而被省略。联系人列表71在下面将更详细的描述。

代理IM服务器软件52的可执行图像(即机器可读指令)在被服务器50执行前可以从机器可读介质55中装载到服务器50的易失或非易失存储器中。介质55可以进一步包括移动IM客户端软件应用134(包括呈现业务客户端135)的可执行图像,其可以基于无线网络60通过空中下载的方式下载到无线通信装置70中。

无线网络60是移动数据通信网,例如MobitexTM,DataTACTM或通用分组无线业务(GPRS)网络。无线网络60可以指定为任何执行多种语音通信的网络,如高级移动电话服务(AMPS),时分多址(TDMA),码分多址(CDMA),个人通信业务(PCS)。全球移动通信(GSM),第三代无线或通用移动电信标准(UMTS),用于支持在无线通信装置70的语音通信。无线网络60实现代理IM服务器50和无线通信装置70之间的无线连接。无线网络60经过网络拓扑的适当修改可选择地为IEEE 802.11(“WiFi”)兼容无线网络。

参考附图2,附图1的无线通信装置70将被更详细的描述。装置70是具有语音和数据通信能力的双向RF通信装置。装置70包括机壳,键盘74,显示屏76其可以是彩色液晶显示屏(LCD)。处理器,名为微型处理器78的处理器,被耦合到键盘74和显示屏76。响应用户74在键盘74上的动作并基于无线网络60接收数据和/或语音信息,该处理器78控制显示屏76的操作,以及无线通信装置70的所有操作。键盘可以包括模式选择键,或者其它硬件或软件用于在文本输入和电话输入之间进行选择。

无线通信装置70的其它多个组件在附图2中示意性地表示。这些包括:通信子系统100;短距离通信子系统102;一组辅助I/O装置106;串行端口108;扬声器111;麦克风112;以及包括闪存116和随机存取存储器(RAM)118的存储器;多个其它装置子系统120。装置70可以有电池121,为装置的激活组件供电。在当前实施例中,无线通信装置70包括语音通信能力。但是,语音通信能力没有在可选择实施例表示。

处理器78执行操作系统软件(没有具体描述),其可以在持久性存储器中,如闪存116,或可以存储在其它类型的计算机可读存储装置中,如只读存储器(ROM-没有详细描述)或其它存储介质中。本实施例的操作系统是由移动研究有线公司(RIM)设计的专有的、多任务操作系统,其具有在多个、当前执行的软件应用中切换的能力。在任何给定时间,一个应用在前台执行的同时一个或多个应用可以在后台执行。与装置70相互的用户73可以引起操作系统将后台执行应用变更为前台执行应用(反之亦然),按照现有技术中已知的方式。执行的应用可以暂时装载,整个或部分进入易失存储,如RAM 118。通过无线通信装置接收的通信信号还可以存储在RAM 118中。

闪存116存储多个软件应用130,132和134,其可以由处理器78执行。一组预先设定的应用可以控制基本装置操作,如语音和数据通信130和132,可以在装置70的生产期间安装。其它应用可以在生产期间或之后安装。这些其他应用包括移动IM客户端软件应用134和集成呈现服务客户端135,其是本发明的关注点,将在下面详细描述。闪存116可以进一步包括多个其它软件模块136。每个模块136可以具有关联图标,其通过操作系统在主屏幕中显示(这对于移动IM客户端134也正确)。这组图标可以认为“带”。带中图标的用户选择可以引起相应模块136(或客户端134)的调用。

RAM 118存储联系人列表71。如上所述,联系人列表71是由用户73生成的用于识别IM系统10中用户所频繁联系的所有用户。列表71可以是数据记录,电子文件或其它数据表述格式。虽然在附图2中列表71与IM客户端软件应用134分离地被示出,应当理解列表71形成RAM 118中的部分应用134,其中应用134还可以在其执行期间被存储。联系人列表71在附图3中将更详细描述。

参考附图3,联系人列表71以表的形式表示。该表的每一行表示单个IM联系人。为了简略,只在附图3中列出了三个IM联系人;可表示的IM联系人的实际数量可以大于三个。每个联系人由“联系人姓名”栏中的联系人的IM用户名来识别。在所述实施例中,表中的1,2和3行的用户名“Joe”,“Bob”和“Mary”各自表示附图1中的用户24A,24B和24C。“登录通知”栏表示用户73的优选用于接收由行表示的相关IM联系人的即刻登录通知。该栏的“激活”值表示用户73希望当联系人登录时即刻通知,其还表示代理IM服务器50不应该缓存该联系人的呈现更新。“禁用”值表示不需要该通知,从而呈现更新可以缓存。“状态”栏表示当前联系人的呈现更新状态(即用于即时消息收发的联系人可用性),由接收的相关联系人的呈现更新来确定。在所述实施例中,状态表示用户“Joe”可用于即时消息收发;用户“Bob”空闲;而用户“Mary”外出午饭。“Joe”和“Bob”的状态可以基于自动检测的这些客户端22的激活或未激活,由这些用户各自的IM客户端22报告。相反,“Mary”的状态可以由用户手动设置。为了清楚,术语“登录通知”指“离线”到“非离线”呈现的变更。例如,如果用户“隐身”登录(在一些网络中允许),这可以构成登录通知。

返回参考附图2,通信功能,包括数据和语音通信,通过通信子系统100和可能通过短距离通信子系统102,由装置70执行。通信子系统100包括接收器150,发送器152以及一个或多个天线154和156。另外,通信子系统100还包括处理模块,例如数字信号处理器(DSP)158,本地振荡器(LO)160。通信子系统100的具体设计和实施取决于无线通信装置70所在的通信网络的实施需要。例如,无线通信装置70的通信子系统100可以设计为实施于MobitexTM,DataTACTM或者GPRS移动数据网络,也可以设计为实施于多种语音通信网络中的任意一种,如AMPS,TDMA,CDMA,PCS,GSM,WiFi,3G无线和/或UMTS。其它类型数据和语音网络,单独或集成,也可以由无线通信装置70利用。

网络接入请求改变取决于通信系统的类型。例如,在MobitexTM和DataTACTM中,无线通信装置使用唯一个人识别码或与每个装置相关联的PIN来注册到网络。但是,在GPRS网络,网络接入与订购用户或装置用户相关。GPRS装置因此需要订购用户识别模块,通常指SIM卡,为了在GPES网络中使用。

当所需网络注册或激活过程已经完成,无线通信装置70可以通过通信网络60发送和接收通信信号。通过天线154从通信网络60接收的信号被路由到接收器150,其提供用于信号放大,下变频,滤波,信号选择等,还可以提供模数转换。接收信号的模数转换允许DSP 158实现更多的复杂通信功能,例如,解调和解码。按照类似的方式,发送到网络60的信号由DSP 158处理(如调制和编码)然后提供给发送器152用于数模转换,上变频,滤波,放大并通过天线156发送给通信网络60(或多个网络)。

除了处理通信信号之外,DSP 158用于接收器150和发送器152的控制。例如,应用于接收器150和发送器152通信信号上的增益可以通过在DSP 158上实现的自动增益控制算法来适应性控制。

在数据通信模式中,接收信号,例如即时消息,文本消息或者下载的网页,由通信子系统100处理并输入到微处理器78。接收信号然后进一步由微处理器78处理并输出给显示屏76,例如,根据可执行软件应用或模块,或可选择地一些其它辅助I/O装置106。装置用户还可以使用键盘74和/或诸如触摸板、跟踪球、滚动开关、拇指轮等一些其它类型的I/O装置106来编辑数据内容,例如即时消息或这电子邮件消息。编辑的数据内容然后通过通信子系统100基于通信网络60发送。装置70的即时消息数据通信在下面将更详细描述。

在语音通信模式中,装置的整个操作实质上与数据通信模式类似,除了接收信号输出给扬声器111,用于发送的信号由麦克风112生成。可选择的语音或音频I/O子系统,例如语音消息记录子系统,也可以在装置70上执行。另外,显示屏76也可以用于语音通信模式,例如显示呼叫方的身份,语音通信持续时间,或者其它语音呼叫相关信息。

短距离通信子系统102可以使无线通信装置70和其它不必为类似的邻近的系统或装置之间通信。例如,短距离通信子系统可以包括红外线装置及相关电路和组件,或者蓝牙TM通信模块,用于与具有类似功能的系统和装置通信。

附图4-11示出了所述实施例的操作,用于有效地发送呈现更新信息给呈现服务客户端。附图4和5是各自说明代理IM服务器软件52的操作400和移动IM客户端软件应用134的操作500流程图。附图6和7各自说明在运行400和500过程期间由代理IM服务器软件52和无线通信装置70实现的状态机600和700。参考附图4,应当明了,所述操作400关于单个IM客户端134,代理IM服务器软件52可以同时执行关于多个支持IM客户端的操作400。还应当明了,用于处理各种其他类型的IM相关消息(如即时消息,其以非规则间隔接收)的IM服务器软件52的操作为了更清楚而在图4中被省略。参考附图5,将明了,由呈现服务客户端135执行的所述操作。

如附图1指出的,初始假设用户24A,24B,24C和73已经使用他们的IM客户端22或134以指定将对IM服务的其它用户已知的“Joe”,“Bob”,“Mary”和“Steve”(各自)的IM用户名。还假设,当操作开始,假定在上午11:15,只有用户24C(“Mary”)和73(“Steve”)各自己经调用了他们的IM客户端22和134并登录到IM服务。两个用户的IM状态初始为“可用”,更一步,假设用户73已经列出用户Joe,Bob和Mary在他的联系人列表71中,具有关于这些用户的被禁用登录通知,如附图3所示。

在下面运行的描述中,下列定义将被使用:

(1)用户激活:在无线通信装置70,当装置70没有处于键盘锁定状态或密码锁定状态(如下定义)时,键盘74或其它辅助I/O输入装置106(如触摸屏,跟踪球,拇指轮或鼠标)的任何操作被认为是用户激活。当装置70为键盘锁定或密码锁定状态,任何这种操作-包括输入密码或试图解锁装置(也就是解除装置的键盘锁定状态或密码锁定状态)的操作被认为不是用户激活操作。关于软件应用的用户激活表示由可执行软件应用检测到的用户激活,也可以指为用户与软件应用的交互。

(2)按键锁定:当装置70拒绝除了预先定义的解除装置70的键盘锁定状态的解锁组合的所有输入时,装置70被认为是按键锁定或“保持”状态。该状态的目的在于装置70的“锁定按键”有效地避免意外生成虚假输入,可能发生如当装置70在用户衣服的口袋里或钱包中时,如果按键不注意地被按下。通过电子-机械输入机制或控制操作,如滑动开关阻止无意地按下,或在预设时间段内没有用户激活后自动设置装置为键盘锁定状态。通过输入预设解锁组合装置可以解除按键锁定状态,其可以是控制的补充操作(如在相反方向滑动滑动开关使装置变为按键锁定状态)。如果是BlackBerry装置,只有在密码锁定(下面描述)不可用时,键盘锁定才可用。为了按键锁定BlackBerry装置,选择GUI控制。为了解锁BlackBerry装置,拇指轮连续按两下。根据无线通信装置70的类型和厂商,当装置按键锁定时,应用数据可见或不可见。例如,但按键锁定时,BlackBerry装置不显示任何应用数据。因此,对于BlackBerry装置而言键盘锁定状态几乎与密码锁定状态(下面描述)一样,除了不需要密码输入用于解锁装置。这对其它类型的无线装置不一定正确。

(3)密码锁定:当访问装置时必需输入密码时,装置70被认为处于密码锁定状态。依据检测装置已经放入皮套或检测到预设时间段内用户未激活,在用户启动或自动地设置装置为密码锁定状态。当在该状态时,没有应用数据(包括呈现信息,在IM客户端软件应用134的情况)在装置的显示屏上显示直到输入正确密码。

(4)呈现信息可显示:当无线通信装置70有能力实时在显示屏76显示当前IM联系人呈现信息时,呈现信息被认为在无线通信装置70通过IM客户端软件应用134或呈现服务客户端135显示。在BlackBerry装置的情况下,该发生在:(a)IM客户端软件应用134在前台执行;(b)装置没有按键锁定;和(c)装置没有密码锁定。在其它类型的无线通信装置下,为了考虑的呈现信息可显示,达到状态的设置可以是不同的。例如,一些装置有能力处于“呈现信息不可显示”状态,即使当键盘锁定,如果当键盘锁定,他们继续显示当前应用。另一个例子,IM客户端软件应用GUI可以最小化因此在常规意识下可以不被认为“处于前台”,但是可以继续显示至少一些当前呈现信息,如图标“系统盘”或类似GUI构件,该情况下呈现信息仍认为可显示。

(5)呈现信息不可显示:当装置70不能在显示屏76实时显示应用的当前IM联系人呈现信息时,在无线通信装置70通过IM客户端软件应用,呈现信息被认为不可显示。在BlackBerry装置情况下,这可以是装置未能满足如上所述条件(a),(b)和(c)之一。在一些无线通信装置实施例中,“呈现信息不可显示”状态还可以被输入,当装置显示已经设置为节电模式或者当已经启动屏幕保护,这些情况的每一个阻止当前IM呈现信息被用户看到。

参考附图6,在代理IM服务器50处,由代理IM服务器软件52执行的初始状态是发送呈现更新状态602。在该状态中,任何由代理IM服务器软件52从IM服务器40接收关于用户Joe,Bob和Mary任一用户的呈现更新通过无线网络60发送(中继)给移动IM客户端软件134和集成呈现服务客户端135。因此,例如,如果用户Mary在上午11:16临时设置她的状态(手动)为“请勿打扰”而后通过与她的在计算装置20C(附图1)上的客户端22交互,在上午11:17手动更新她的状态为“可用”,两个反映这些可用性变更的呈现更新几乎实时地通过IM服务器40接收,并通过无线网络60中继到移动IM客户端134/呈现服务客户端135。这在附图4中通过操作S402和S404表示。

在无线通信装置70,假设,在上述11:15开始,装置70没有按键锁定也没有密码锁定,移动IM客户端134在前台执行。参考附图7,由无线通信装置70执行的初始状态相应地为移动IM客户端激活状态702。在该状态下,任何从代理IM服务器软件52接收的呈现更新(诸如以上所提到的两个)由移动IM客户端134的呈现服务客户端处理,在装置70的显示屏76上显示的联系人列表的GUI显示中反映任何可用性的变更。这种呈现更新的接收不会导致状态机700的状态变化,因此表示为状态702回到状态702的转变724。当在状态702接收到即时消息,发生相同的转变724。

假设,在上午11:25,移动IM客户端软件应用134变为“休眠”。这可以由两种方式的一种而发生。首先,呈现信息可以变为不显示(如上所述)并在预设时间T0如5分钟内保持不显示(附图7,转变710)。如果上述条件(a),(b)或(c)中的一个没有满足,呈现信息可以变为不显示。例如如果用户73通过在时间T0内前台执行不同的应用(如电子邮件应用)使移动IM客户端134作为后台过程执行,条件(a)不再满足。用户可以决定使用该不同应用而不关闭IM客户端软件应用134,因为他知道:如果IM客户端软件应用134在该不同应用正在使用时接收到即时消息,装置70将生成通知音或其它即时消息的用户通知,以便用户如果需要可以选择切换回IM应用。需要呈现信息保持至少T0时间内不显示的基本原理将在下面描述。其次,可以在至少T1时间内没有与IM客户端软件应用134的用户交互(附图7,转变712)。需要在至少T1时间内缺少用户激活的基本原理将在下面描述。在任一情况下,软件应用134转变为新的移动IM客户端休眠状态704。

参考附图5,其示出了具有集成呈现服务客户端135的IM客户端软件应用134的操作,相应地使S502的决定为肯定的。结果,通信被发送给代理IM服务器软件52使其开始缓存去往装置70的呈现更新(附图5,S504)。在本实施例中,该通信采用HOLD消息800的格式,其格式在附图8中描述。如附图8所示,HOLD消息800具有消息类型字段802和使用/禁用字段804,其在本实施例中每个1字节长度。消息类型字段802中的值0x43表示消息适用于这里所述呈现更新信息的有效发送机制。消息类型字段804中的值0x01表示“使用”,即保持呈现更新消息。

HOLD消息800由代理IM服务器软件52在其发送后短时间内接收到,导致状态机600从发送呈现更新状态602到保持呈现更新状态604的转变610(附图6)。HOLD消息800作为移动IM客户端134已经变为休眠(附图4,S402)的指示符。结果,代理IM服务器软件52开始缓存去往移动IM客户端134(S406)的任何呈现更新。

在接下来的40分钟,假设关于用户Joe,Bob和Mary的四个呈现更新由代理IM服务器软件52接收并缓存。缓存的呈现更新54组在附图10中以表的形式描述。

参考附图10,每一个呈现更新表示为表内的一行。对于每个呈现更新,表示了时间戳信息,联系人姓名信息,和呈现事件信息。时间戳信息表示呈现更新接收的时间。联系人姓名信息表示发送呈现更新的相关联系人的IM用户名。呈现更新事件表示发生了影响即时消息收发的联系人可用性的事件。因此,如图10所示,各自在上午11:26和11:28,用户Joe和Bob使用他们的IM客户端22登录到IM服务。在上午11:48,Bob的IM客户端报告了“空闲”的状态,其源于用户Bob与他的IM客户端22在预设的时间段(例如10分钟)内未能交互。然后,在下午12:00,用户Mary手动设置她的状态为“外出午饭”,使其它用户知道她将不可用。

其后,在无线通信装置70发生了导致移动IM客户端134停止休眠的事件。该事件可能是如下之一:呈现信息再一次变为可显示(附图7,转变714-这假设转变710已经是IM客户端软件应用134为状态704的原因);与IM客户端软件应用134的用户交互(附图7,转变716-这假设转变712已经是IM客户端软件应用134为状态704的原因);或者由移动IM客户端软件应用134接收任一来自另一IM用户的即时消息或者关于感兴趣IM联系人的登录通知(附图7,转变718),任一可以引起装置70生成通知(例如,铃声或振动)。在转变714的情况下,引起转变的事件例如可以是用户密码登录引起装置离开密码锁定状态或者用户操作装置控制引起装置离开按键锁定状态,接着为用户与IM客户端134的交互。

应当明白,转变718不同于转变714和716,因为其基于代理IM服务器软件52在IM客户端34(因为即时消息或者登录通知将来自IM代理服务器软件52)知道前知道的条件(即接收即时消息或者登录通知)。因为这个原因,当发生转变718,也就是说,代理IM服务器软件52已经“使IM客户端134离开休眠模式”。这与IM客户端134基于IM客户端134本地已知而代理IM服务器50未知的条件“使其本身离开休眠模式”相反(如转变714和716)。

不管状态714,716和718发生哪个,软件应用134将已经从移动IM客户端休眠状态704转变回移动IM客户端激活状态702。应当明了,输入返回移动IM客户端激活状态702不是必然意味呈现信息已再一次变为可显示(假设转变710已经是状态机700为状态704的原因)。例如,如果在IM客户端134处已经接收到即时消息但装置70保持密码锁定,状态机700能在状态702,而不管呈现信息保持不可显示的事实。

到移动IM客户端激活状态702的转变714和716反映了移动IM客户端134已经停止休眠的事实。这在S506检测到(附图5)。因此,当转变714或716任一为状态702发生,从装置70发送通信,引起代理IM服务器软件52发送任何缓存的呈现更新到呈现服务客户端135(附图5,S508)。在本实施例中,通信采用UNHOLD消息900格式,其格式在附图9中描述。如附图9所示,UNHOLD消息900具有与附图8的HOLD消息800一样的格式,具有消息类型字段902和使用/禁用字段904,每个一字节长度。相同值0x43如在消息类型字段802出现在消息类型字段902,然而在消息类型字段804的值0x00表示“禁用”,即不保持呈现更新消息。

参考附图4,UNHOLD消息900由代理IM服务器软件52接收并作为移动IM客户端134已经停止休眠的指示符(S408),这触发了状态机600从保持呈现更新状态604返回为发送呈现更新状态602的转变612(附图6)。

再次参考附图7,应当明了,转变718不能引起UNHOLD消息从装置70发送到代理IM服务器50(不同于转变714和716)。这将避免不必要消息业务并保存带宽。UNHOLD消息是不必要的,因为代理IM服务器软件52将知道引起转变718-也就是即时消息或登录通知的接收-的任一事件,甚至在IM客户端软件应用134知道他们之前,假定中继这种通信消息到应用134在其中执行的装置70。因此,当代理IM服务器软件52接收到任一即时消息或登录通知,这作为IM客户端软件应用134在不久的将来将停止休眠的指示符,在代理IM服务器软件52中继通信给应用134从而引起图7的转变718之后。更具体地,参考附图6,如果去往移动IM客户端134的即时消息在代理IM服务器软件52接收(例如来自在另一计算装置20处的IM客户端22),然后状态机600将执行从保持呈现更新状态604到发送呈现更新状态602的转变614。类似地,如果接收到关于感兴趣联系人的登录通知(例如用户命名在用户73的联系人列表71中),将发生从状态604到状态606的转变616。因此,缓存的呈现更新发送给IM客户端软件应用134,不管应用134没有发送UNHOLD消息给代理IM服务器软件52的事实。

其次,代理IM服务器软件52进行发送缓存的呈现更新54(附图10)到呈现服务客户端135的处理。参考附图4,初始作出是否其可以协调任何缓存组54中的呈现更新的决定(S410)。当两个或多个呈现更新可以组合成单个呈现更新的协调,其中忽略过时的呈现信息,这是协调是可能的。例如,参考附图10,可以决定在上午11:28接收的用户Bob的“登录”呈现更新是过时的,因为之后在上午11:48接收的用户Bob的呈现更新指示用户Bob是“空闲”的(因为之后的状态内在地指示Bob已经登录)。结果,通过从组54中删除前一个呈现更新,两个呈现更新可以被协调(S412)。这生成一个新的、协调后的呈现更新组54’,如附图11所示。优选地,组54’的大小比原始组54’更小。当组54’被发送到装置70处的移动客户端软件应用134时(附图4,S414),这减少了使用的带宽量。此外,到了协调后的呈现更新可以在单个“突发数据”中全部发送的程度,与分别地发送呈现更新比较改进了有效性。更有效的结果是装置可以被编程,以便在每一次接收到呈现更新时,从节电模式中“唤醒”并在某个最小时间段保持在“唤醒”状态(非节电)模式,因为当呈现更新以突发数据形式到达时,装置可以在唤醒状态上花费更少的时间。当通过单个消息的方式发送多个呈现更新时也可以提高有效性,在该情况下,与每个呈现更新在分离的消息中发送比较,可以减少与每个呈现更新关联的开销。此外,在具有消息压缩的无线网络中,当多个呈现更新在一个消息中发送时,可实现的压缩程度比当呈现更新单独发送时更高,因为对更大的消息而言压缩具有更好的效率。同时,可以提高由想进行一个或多个呈现更新的每一个传输以构成“呼叫”的无线提供商或无线网络保持的呼叫统计数据的准确性。另一个协调的实例是对于能够指示IM联系人正在收听的当前歌曲的IM客户发生的,其中关于先前听过的歌曲的呈现更新被忽略。

其次,当移动IM客户端软件应用134随着时间的过去变为休眠和停止休眠,附图4和附图5的操作400和500,以及状态机600和700的转变按照需要重复。

从上述描述应当明了,对于每个转变为移动IM客户端激活状态702,状态机700保持该状态至少T0或者T1。这是有意识完成的,以确保一旦移动IM客户端134停止休眠,其在非休眠状态将消耗至少T0或T1时间(即状态702)。如果没有完成,并且如果当状态机转变为状态702,已经出现另外引起转变710或712的条件之一,结果是立即转变回移动IM客户端休眠状态704。因为转变为移动IM客户端激活状态702引起UNHOLF消息900发送给软件52(至少在转变714和716的情况中)并且转回为移动IM客户端休眠状态704的转变引起从装置70发送HOLD消息800到代理IM服务器软件52,该快速的转变导致在无线通信装置70和代理IM服务器50之间不必要的通信忙乱。需要状态机700保持在状态702至少T0或T1时间用于减少该可能性。另一种方式,如果用户最近已经接收到即时消息,用户很可能很快再次接收另一即时消息。因此需要阻止太快转变回状态704,即使例如用户已经将应用设置为后台或密码锁定(或按键锁定)该装置。当然,对于一些实施例,或者在特定情况下,可以决定附加的消息流量是可接受的。这种情况下,最小的持续时间段可以减少,或者在T0的情况下,一起避免。使用两个时间段T0和T1允许配置系统行为的灵活性。在一些实施例中,不需要这种灵活性,从而使得只有一个时间段可以用于两个转变(如果时间段T0和T1都设置成相同的持续时间,这将有效地发生)。

在上述实施例中,代理IM服务器软件52在其上执行的代理IM服务器50可以通过存储和转发去往无线通信装置70的通信(不仅只有即时消息,还有其他通信消息如电子邮件)的中继服务器的方式,发送IM消息业务给无线通信装置70。在常规配置中,中继服务器可以置于附图1的代理IM服务器50和无线网络60之间。中继服务器因此可以作为“瓶颈”用于通信,包括IM通信消息,去往无线通信装置70。通过以这种方式实现代理IM服务器软件52,缓存呈现更新的能力可以方便地设置在服务器52处,或者针对单个IM服务或者针对多于一个的IM服务,因为所有发往或来自无线通信装置70的IM相关通信将通过中继服务器路由。此外,因为不需要修改IM服务器软件42,这种能力可以由除了IM服务提供商的一个实体实现。当然,这种实现是不需要的。例如,在可选择的实施例中,上述结合附图4和6描述的代理服务器的能力可以在IM服务器40上实现。

在另一个可选的实施例中,当企业IM服务器用于提供IM服务给连接到企业内的安全团体网络的用户时,如上所述结合附图4和6的代理服务器的能力可以在连接到团体网络的服务器上实现,而不是中继服务器。附图12示出了描述这种可能的可选实施例。

如附图12所示,IM系统1000包括如上所述N个执行客户端IM软件22的示例性计算装置1002A到1002N。装置1002A到1002N连接到安全局域网(LAN)1004,其由企业管理。连接到LAN 1004的企业IM服务器1006,如IBM Lotus SametimeTM,Novell GroupWise和MicrosoftOffice LiveCommunication Server。企业IM服务器提供IM服务给装置1002A到1002N的用户,还提供给无线通信装置的远程用户,如执行具有集成呈现服务客户端135的移动IM客户端软件应用134的装置70。进一步连接到LAN 1004的是执行代理IM服务器软件52’的代理IM服务器50’,其与上述的服务器50和服务软件50’类似。需要注意的是,在附图12的实施例中,代理IM服务器在Black Enterprise ServerTM上实现,与附图1所示的不同。BES通常用于管理无线通信装置如装置70用户的电子邮件帐户,并通过防火墙1010、因特网30、中继服务器1008和无线网络60的方式“推”(转发)任何接收的消息到无线通信装置。在这种场景下,这对于在BES上运行代理IM服务器软件52’是所需的,因此BES作为“瓶颈“用于来自或发往无线通信装置70和可能的其他无线通信装置的IM通信消息。代理IM服务器软件52’可以由商业名BlackBerry协作服务软件来指定。为了清楚,省略了服务器50’其他组件。

对本领域的技术人员而言,应当明了可以对上述实施例作出未脱离本发明实质的修改。例如,无线通信装置70不需要使用专有RIM操作系统的BlackBerry装置。其他形式的无线通信装置,如基于WinCE或者PalmOS操作系统的装置,或者甚至可能执行的操作系统不能进行多任务处理的装置,也可以使用。

在一些实施例中,HOLD和UNHOLD的消息格式可以不同于如附图8和9所示的格式。例如,Hold消息可以是由IM客户端134发送给一个或多感兴趣联系人的“登录通知警告”的一部分。

对于代理IM服务器软件52存储联系人列表71不是绝对需要的。因为来自IM服务器40的呈现更新可以包含所有IM客户端软件应用134需要的信息,代理IM服务器软件52可以简单保持缓存的呈现更新54而不保持联系人列表71。

在上述实施例中,当关于IM联系人的登录通知启用时,根本没有缓存用于联系人(是否登录通知或其它)的呈现更新。在可选择的实施例,这种设置可以仅阻止缓存登录通知。其他类型的呈现更新仍可以缓存。

根本地,应当明了,本发明描述的技术内容应用于任何通信系统的呈现服务和呈现服务客户端,不管与即时消息,VoIP呼叫,或其它关联。呈现服务客户端可以集成于通信客户端软件应用(如IM客户端或VoIP客户端)或与其关联。这种通信客户端软件应用可以用固件或硬件取代软件来实现,因此可以通常指“通信客户端”。因此术语“通信客户端”可以指代在无线通信装置处执行的软件或固件应用或无线通信装置本身。通常,IM联系人可以指通常用于这种系统的“联系人”。

同样,应当明了,本发明应用于点对点实施例,其中不存在中间或中央服务器。在这种实施例中,呈现更新一般地可以直接从任意已发生呈现状态变更的装置发送到一个或多个其他已经配置用于接收(例如在呈现服务客户端)关于该装置呈现更新的装置(端点)。在这种实施例中,一旦接收到指示在第二装置处执行的或者包括第二装置的通信客户端已经休眠的指示符,已发生呈现变更的第一无线通信装置可以缓存发往第二(端点)无线通信装置的呈现更新。一旦接收到指示通信客户端已经停止休眠的另一指示符,一组缓存的呈现更新,可以协调以删除冗余或过时的信息,可以被发送给第二装置。

其他修改对本领域的技术人员显而易见,因此,本发明由权利要求定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号