CN101292478A - 不同服务提供商之间的即时消息传递互操作性 - Google Patents
不同服务提供商之间的即时消息传递互操作性 Download PDFInfo
- Publication number
- CN101292478A CN101292478A CNA2006800367438A CN200680036743A CN101292478A CN 101292478 A CN101292478 A CN 101292478A CN A2006800367438 A CNA2006800367438 A CN A2006800367438A CN 200680036743 A CN200680036743 A CN 200680036743A CN 101292478 A CN101292478 A CN 101292478A
- Authority
- CN
- China
- Prior art keywords
- communication
- instant message
- elementary
- service provider
- message passing
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了一种用于帮助不同的即时消息传递服务提供商网络的客户端之间的即时消息传递通信的装置。该装置包括接口逻辑,用于接收与即时消息传递服务有关的通信,接收到的通信与外部即时消息传递服务提供商网络相关联,并且是根据次级协议来格式化的。转化逻辑将接收到的通信从次级协议转化成初级协议,该初级协议是接收方服务提供商网络本地的。通信随后可根据本地的初级协议被路由到初级网络的客户端。
Description
相关申请的交叉引用
本申请要求2005年10月7日提交的题为“INSTANT MESSAGINGINTEROPERABILITY BETWEEN DISPARATE SERVICE PROVIDERS”的在先提交美国临时专利申请No.60/724,577的优先权,在此通过引用将该临时专利申请并入,就如同在此完全阐述了一样。
技术领域
本发明一般地涉及经由诸如因特网或内联网之类的网络的即时消息传递(instant messaging),具体而言涉及不同的即时消息传递提供商的两个或更多个用户之间的即时消息传递。
背景技术
即时消息传递技术一般使得两个或更多个参与者能够通过诸如因特网或互联网(例如私有网络)之类的计算机网络或多或少地实时地进行通信。一般来说,每个参与者使用客户端计算机***来经由用户界面发送和接收消息(例如包括文本、语音、文件等等)。每个进行通信的客户端计算机经由网络连接到公共的即时消息传递服务提供商和连接服务器。连接服务器接收并处理来自参与者的消息,包括将它们转发到其他参与者的客户端***以便进行显示。连接服务器还可被配置为代表***发送消息,例如通知参与者某个伙伴参与者已经断开连接或者登出。
一般来说,即时消息传递应用软件被安装在每个客户端***处,以使客户端***能够被用作即时消息传递客户端。可以使即时消息传递软件能够从可经由因特网访问的网页下载。用户在客户端***上调用该软件,以通过与一个或多个其他参与者的即时消息传递来进行通信。客户端侧应用软件一般建立客户端***和连接服务器之间的连接,并且或者自动使用户登录到连接服务器中,或者提示用户输入登录所必需的信息,例如用户名和口令。用户随后可利用与当时登录到即时消息传递***中的一个或多个其他用户的即时消息传递来进行通信。
存在若干种已知的即时消息传递***和服务提供商,例如MSNMessenger、Yahoo!Messenger、AOLInstant Messenger(“AIM”)等等。一般来说,使用即时消息传递***之一的客户端不能与使用不同的即时消息传递***的客户端交换即时消息,因为大多数即时消息传递服务(或服务提供商)使用专有的解决方案。例如,使用MSNMessenger的用户一般可以与使用同一***(例如同一即时消息传递提供商)的其他客户端通信,但是不能与使用其他即时消息传递服务提供商(例如Yahoo!Messenger)的客户端通信。
因此,希望允许两个或更多个即时消息传递***网络之间的通信和互操作性(interoperability)。另外,希望为与一个或多个外部网络和即时消息传递提供商相关联的参与者提供存在性指示和好友(buddy)列表信息。
发明内容
根据本发明的一个方面和一个示例,提供了一种用于帮助不同即时消息传递服务提供商的用户之间的即时消息传递通信和事件的***。该***包括:与初级即时消息传递服务提供商网络相关联的接口逻辑,可操作来对从外部服务器接收的通信进行转化。具体而言,转化逻辑将从外部服务器接收到的通信从次级协议转化成初级协议,该初级协议是***本地的。
在一个示例中,一种用于帮助不同的即时消息传递服务提供商的用户之间的即时消息传递通信的装置包括接口逻辑和转化逻辑。接口逻辑接收与即时消息传递服务有关的通信,接收到的通信与外部即时消息传递服务提供商网络相关联,并且是根据次级协议来格式化的。该装置还包括转化逻辑,用于将接收到的通信从次级协议转化成初级协议,该初级协议是接收方服务提供商网络本地的。
在一些示例中,接收到的通信是从外部即时消息传递服务提供商网络接收的(例如外部网络客户端将通信路由到外部网络,外部网络进而又将通信路由到初级网络)。通信可包括各种即时消息传递通信和事件,例如预订请求、邀请请求、解除预订请求、观察者(watcher)通知等等。
另外,该装置还可包括网关事件服务器、事件服务器、SIP网关、边缘代理、会话管理器(例如用于存储运行时对话状态、SIP对话路由信息等)、网关数据库(例如用于存储好友列表、持续信息等)、连接服务器、连接管理器等等中的一个或多个,或者与其中的一个或多个通信。
根据另一示例,提供了一种用于帮助不同的即时消息传递服务提供商的用户之间的即时消息传递通信的方法。在一个示例中,该方法包括以下动作:接收来自外部即时消息传递服务提供商网络的与即时消息传递服务有关的通信,其中接收到的通信是根据次级协议来格式化的;以及将接收到的通信从次级协议转化成初级协议。
根据另一示例,提供了一种计算机可读介质,包括用于帮助通过不同服务提供商网络的即时消息传递通信的指令。在一个示例中,所述指令用于致使执行包括以下步骤的方法:对与即时消息传递服务有关并且去往初级即时消息传递服务提供商网络的通信进行转化,接收到的通信与外部即时消息传递服务提供商网络相关联,其中通信被从次级协议转化成初级协议,该初级协议是初级即时消息传递服务提供商网络本地的。
在结合附图和权利要求考虑具体实施方式时,将更好地理解本发明及其各个方面。
附图说明
图1示意性地图示了用于具有服务器到服务器互操作性的两个即时消息传递服务提供商之间的通信的示例性***和环境;
图2示意性地图示了与和外部或次级网络/即时消息传递服务提供商网络通信的第一即时消息传递提供商相关联的示例性初级网络后端;
图3示意性地图示了初级服务提供商网络后端和外部网络之间的示例性网关和连接;
图4示意性地图示了与和外部或次级网络/即时消息传递服务提供商通信的第一即时消息传递提供商相关联的示例性初级网络后端;
图5-21图示了与一个或多个外部网络/即时消息传递服务提供商通信的初级网络服务提供商后端的组件之间的各种示例性通信和事件流程;以及
图22图示了可用来实现本发明的各个方面的处理功能的示例性计算***。
具体实施方式
给出下面的描述是为了使本领域普通技术人员能够实现并使用本发明。对具体设备、技术和应用的描述只是作为示例提供的。本领域普通技术人员将很容易清楚看到对这里描述的示例的各种修改,并且这里定义的一般原理可以应用到其他示例和应用,而不脱离本发明的精神和范围。因此,本发明并不意图被限制到这里描述和示出的示例,而是应当符合与权利要求一致的范围。
图1图示了可以使用这里描述的一些方面的示例性***和环境。粗略地说,图示了有多个第一客户端110经由例如第一服务提供商协议登录的第一即时消息传递器(“IM”)服务提供商100以及有多个第二客户端112经由例如第二服务提供商协议登录的第二IM服务提供商102。第一和第二IM服务提供商100、102进行通信,以使第一客户端110能够与第二客户端112发送和接收即时消息。在一个示例中,通信直接在第一和第二网络100、102之间进行,例如在每个网络的相应服务器或者其他网络组件之间进行(而不是第一客户端110直接与第二网络102通信或者第二客户端112直接与第一网络100通信)。这种***可以允许不同的IM提供商之间的互操作性。
在一个示例中,第一和第二IM服务提供商100、102可以至少部分地经由基于会话发起协议(“SIP”)和针对即时消息传递和存在性支持扩展的会话发起协议(“SIMPLE”)的协议进行通信。SIP/SIMPLE例示了用于第一和第二IM服务提供商之间针对IM和存在性功能的互通信和互操作性的一种协议。另外,SIP/SIMPLE可针对语音、视频等等支持服务器到服务器互操作性。
在一个示例中,用于服务器到服务器互操作性目的的特定SIP/SIMPLE包括SIP RFC 3261、SIP RFC 3265和/或PIDF RFC 3863。另外,网络之间的通信可以以所需的安全级别和IP过滤通过TCP来进行服务器到服务器通信。
本领域普通技术人员将会认识到,各种其他通信协议(不论是开放的还是专有的)都是可能的并且已被设想到,不论是单独使用还是与其他通信***/方法结合使用。例如,取决于特定的IM服务提供商和所需的功能,可以对SIP/SIMPLE协议进行各种修改。例如,可以修改诸如SIP/SIMPLE之类的任何公知的协议,以更有效地(例如就传输速度、过程、成本等而言)用于给定网络内。另外,实现或帮助不同的IM提供商之间的通信和/或互操作性的诸如XMPP之类的其他适当的通信协议可被单独使用或者与SIP/SIMPLE协议结合使用。
客户端110和112例如可包括经由互联网浏览器、个人计算机、诸如蜂窝电话或膝上型个人计算机之类的移动设备等访问IM账户的用户。用户一般经由网络(例如因特网或内联网)连接到一个或多个服务器,这一个或多个服务器包括特定用户IM账户的相应IM服务提供商。网络还可以包括各种其他服务器,例如网关服务器、代理服务器、账户服务器、电子邮件服务器、移动服务器等等。
客户端经由计算机设备可经由无线网络进行通信,该无线网络例如是无线网关,例如蜂窝、卫星或其他无线网络。另外,计算机设备可经由诸如线缆或光纤网络之类的非无线网络或者无线和非无线***的组合进行通信。计算机设备可包括适当的硬件和软件,例如连接到诸如键盘之类的输入设备、网络接口、存储器和显示器的处理器。存储器可包括可与设备一起操作以执行这里描述的功能中的一些的逻辑或软件。设备可操作来包括适当的接口以用于消息传递设施,例如电子邮件收件箱、即时消息传递(IM)、短消息传递服务(SMS)、多媒体消息传递服务(MMS)等等。设备还可操作来显示用于访问因特网或用户账户的web浏览器,包括例如诸如Yahoo!邮件账户或Hotmail账户之类的web邮件环境。
网络100、102可与一个或多个服务器和数据库***通信或者包括一个或多个服务器和数据库***,该一个或多个服务器或数据库***彼此之间通信,并且能够与多个用户的设备通信。示例性的服务器***可包括各种路由器、数据库、网关和服务器,例如边缘或代理服务器、网关服务器、移动服务器、电子邮件服务器、web服务器、语音消息传递服务器等等。另外,网络20可包括实现各种用户、设备、服务器、代理、模块、客户端、处理器等等之间的通信的无线网络以及一个或多个局域网(LAN)和/或广域网(WAN),例如因特网。
在一个示例性操作中,用户经由客户端110利用有效的ID和口令登入初级网络。在用户成功登入到初级网络100中之后,客户端110和/或初级网络110发送对处于次级网络102上的好友的存在性/状态的预订,并且向次级网络102上的观察者(例如与客户端110相关联的客户端112)发送指示初级网络上的存在性/状态的通知。如果用户登出初级网络,则适当的预订/通知消息被发送给次级网络上的好友。
用户也可以阻止/忽略来自次级网络的联系人;利用来自次级网络的新联系人在次级网络上的ID来添加该新联系人;删除来自次级网络的联系人;并且对来自次级网络的联系人进行重命名。
图2图示了可以使用这里描述的一些方面的示例性IM服务提供商网络的概况。不是所有组件都是必需的,在不脱离各个发明的精神和范围的情况下可以在组件的布置和类型上作出变化。
在一个示例中,对应于第一IM服务提供商的初级或第一网络200包括边缘代理212。边缘代理212可以针对第一IM服务提供商和包括一个或多个IM服务提供商的一个或多个外部或外地网络(例如外地网络202)之间使用的SIP/SIMPLE或其他通信协议来配置。具体而言,边缘代理212提供到外部网络的连接处理和路由。边缘代理212组件是可选的,并且在其他示例中网关214可直接与另一服务器或网络组件通信(例如直接与另一网络的边缘代理或网络通信)。但是,实现通用的边缘代理212却使得更容易与多个外部网络结盟。边缘代理212的包括还有助于使去往一个或多个外部网络的联盟路由和连接处理集中化。
在该示例中,网关214是进入第一网络的最后的SIP节点,并且作为到外部网络的SIP端点来代理第一网络的客户端。因此,网关214包括可操作来将SIP/SIMPLE通信/事件等等转化成网络200的后端之内的本地或初级协议通信的逻辑。例如,网关214帮助将SIP流量转换成针对特定初级网络/IM服务提供商的本地或初级协议,反之亦然。一般来说,网关214(或者等同的组件)的缩放性限制依赖于SIP栈实现方式的性能(参考图3更详细描述)。另外,取决于特定网络和/或组件,在SIP层可以执行各种优化以实现批预订和通知,以提高缩放性。在一个示例中,网关214是SIP网关,其中SIP栈被优化以处理批预订和通知。
网关216包括网关事件服务器(ES),并且处理与各种后端服务器的通信,所述各种后端服务器例如是本地初级网络服务器,如反向好友(reverse buddy)事件服务器218、事件服务器220和连接服务器222。网关216还可操作来导出可与任何类型的外部IM/存在性协议结合使用的通用预订和对话模型。在一个示例中,网关216还是无状态的并且高度可缩放的。
网关216可包括或访问会话管理器242以存储运行时对话状态,并且可包括或访问用于存储外部用户的初级网络好友的好友存储装置240。好友存储装置240可包括用于存储外部用户的初级账户好友(例如Yahoo!好友、联系人等等)的数据库替代,所述初级账户好友例如可用外部用户地址或其他标识符来作为关键字。当来自外部用户的预订进入时,它们被对照好友存储装置240授权。这可以由SQL实现来进行,或者被专有数据库所替换。
会话管理器242一般存储对话的暂时状态。在一个示例中,会话管理器242在存储器存储中使用可缩放的分布式缓存机制,但是其他实现方式也是可能的。
可以包括来自第一网络后端上的各种其他服务器的额外支持。例如,rbum/rbes 218可操作来在反向好友列表中存储和检索外部id。事件服务器(ES)220可确定外部域,以便消息可被适当地转发到网关216,并从而转发到SIP网关214(并最终转发到适当的外部网络和外部用户)。
图3图示了示例性的网关300的组件的框图;例如包括SIP/SIMPLE网关(例如图2所示的SIP网关214)。SIP/SIMPLE网关包括“连接管理器”,该连接管理器可操作来处理与网络的任一侧上的其他组件/服务器的网络I/O(例如外部网络和初级网络/后端之间)。它还可操作以用于可选的传输层安全性(例如加密、授权等等),并且从其他组件中提取传输层细节。取决于与之交互的组件的信任级别,安全机制可以从简单的IP过滤到相互传输层安全性(MTLS)变化。在一个示例中,对于网络通信中的一些或全部可实现非常有效的基于异步队列(kqueue)的I/O。另外,连接池的大小和行为可经由配置参数来控制。
在一个示例中,网关包括SIP栈300,该SIP栈300可包括开放源SIP栈、商业SIP栈或专有SIP栈。另外,SIP抽象层320可操作来使网关实现的其余部分不知道正被使用的SIP栈310。通用的API和对象集合可提供这种抽象。结果,该设计非常有益于采用完全不同的或修改后的SIP实现方式(如果需要的话)。
在该示例中还包括了SIP端点存在性对话管理器330。例如,对于希望与外部/外地客户端(例如MSN客户端)通信的初级网络客户端,该组件创建逻辑SIP端接点(端点)。端接点是每当网络任一侧感兴趣时按需创建的。附加到这些端接点中的每一个的SIP SUBSCRIBE和INVITE对话被对话管理器跟踪和管理。以下的SIP功能可由SIP端点存在性对话管理器330代表初级网络客户端来处理:
代表初级网络客户端发送/接收SUBSCRIBE。
代表初级网络客户端跟踪、管理SUBSCRIBE对话(传入和传出的)。
代表初级网络客户端发送/处理SUBSCRIBE刷新。
代表初级网络客户端发送/接收NOTIFY。
解析和整理PDIF存在性信息(PDIF:存在性信息数据格式)。
将初级网络客户端存在性警告转换成PDIF格式。
代表初级网络客户端发送/接收INVITE。
代表初级网络客户端跟踪、管理INVITE对话。
代表初级网络客户端发送/接收IM。
代表初级网络客户端发送/接收键入通知。
代表初级网络客户端发送/接收UNSUBSCRIBE。
SIP端点存在性对话管理器330组件还可维护其自身的状态信息和查找表,以帮助将各种SIP对话映射到其相应的初级网络客户端端接点。另外,该组件可操作来为同一初级网络客户端维护多个存在点(MPOP)或多个端接点。
由于一般有多于一个网关机器在运行(例如在初级网络上),并且给定的端接点只在一个网关机器中有其相关联的状态,因此会话管理器(例如参见图4)还可以帮助在网络内将消息路由到适当的网关机器,反之亦然。适当的逻辑可以确保消息在适当的对话上下文中被处理,而不会危害***的可缩放性。
另外,在该示例中,网关包括SIP-本地桥340。SIP-本地桥340一般进行操作以将消息从SIP格式转换到本地后端格式,反之亦然,例如转换到网络本地格式,反之亦然。初级网络例如可包括使用相对快速、集中的状态存储装置的服务器,这使得各个机器无状态。这种体系结构一般实现了网关和初级网络服务器之间的无缝集群/负载平衡。SIP-本地桥340利用本地初级网络协议与这种初级网络服务器集群对话。它还接收和处理来自各个初级网络客户端的、以外部网络客户端为目标的消息。
图4-21图示了与一个或多个外部网络/即时消息传递服务提供商通信的第一网络后端的组件之间的各种示例性通信和事件流程。
图4图示了包括与外部网络通信的网关的初级服务提供商网络后端的整体体系结构。在该示例中,边缘代理(EP)412被提供用于去往和来自外部网络的访问控制、配设和路由,以及连接汇聚及去往和来自外部网络的SIP/SIMPLE消息转发。一般来说,边缘代理412可操作并被配置为与一个或多个域通信。另外,SIP网关(SGW)414进行操作以作为到外部网络的SIP端点来代理初级网络客户端,将初级网络即时消息传递请求映射到SIP/SIMPLE消息中,反之亦然。在一个示例中,SGW 414依赖于SIP栈(例如开放源SIP栈、商业SIP栈或者专有SIP栈),并且是有状态的。网关ES(GWES)416进行操作以处理域间网关请求(主要是IM和存在性);桥接SIP网关414和一个或多个初级网络后端服务器;GWES416在一个示例中是有状态的并且高度可缩放的。
该体系结构还包括为初级网络的后端服务器存储SIP对话路由信息的会话管理器(SM)442。例如,每个记录以初级网络客户端id、网关id和对话类型(IM、存在性等)作为关键字,并且包含指向保存相应SIP对话的特定SGW服务器414的SGW关键字。会话管理器服务器处于存储器缓存管理***中,该***支持数据分区和对等复制。
网关DB(GWDB)440存储外部用户的持续信息(例如好友列表或其他信息)。在一个示例中,MySQL服务器被用作持续存储装置。在一个示例中,GWDB 440被配置为支持数据分区和对等复制,但是缺乏shmproxy,例如连接汇聚能力。
图4图示了用于与外部网络通信的示例性体系结构的一种实现方式;但是各种其他体系结构也是可能的。例如,各种组件可被删除,并且/或者它们的功能可与其他组件相组合。例如,单个网关设备可包括用于执行GWES 416和SGW 414的功能的逻辑。另外,在一些示例中,边缘代理412可被去除,或者其功能由另一机器执行。
继续参考图4,图5图示了用户登录到初级网络中的情形。当用户在1.1登录时,事件服务器(ES)420(参见图4)执行以下操作:对于每个好友,ES 420识别他/她的域并且在登录前数据1.3中将该信息发送到客户端。另外,在登录1.3后,通知被发送到外部用户/观察者,例如反向好友(例如从ES服务器420到GWES 416到SGW 414再到外部网络;2.1-2.2)。在一个示例中,ES 420将用户登录通知给RBES(其可包括在ES400内),并且RBES利用域信息识别客户端反向好友列表上的外部用户/观察者,并且RBES向GWES 416发送通知。GWES 416从SM 442查找SGW关键字,相应地对外部观察者进行分类,并且向SGW 414发送通知。SGW 414在存储器缓存中查找针对外部观察者的对话,然后经由对话向外部网络发送SIP NOTIFY请求。如果SGW 414无法找到针对外部观察者的对话,则它应当向GWES 416发回解除预订请求以停止未来的通知。
另外,客户端预订外部好友的存在性信息(例如从ES 420到GWES416到SGW 414再到外部网络;3.1-3.5)。在一个示例中,ES 420利用联盟域信息来识别初级服务提供商用户的好友列表上的外部好友,并且向GWES 416发送预订请求。GWES 416向SGW 414发送预订请求,并且对于每个外部好友,SGW 414检查对于该预订是否已经存在对话。如果是,则它向外部网络发送请求以刷新预订;否则它为外部网络好友创建新的对话,并且向外部网络发送SIP SUBSCRIBE请求。当SGW 414获得来自外部网络的ok或差错响应时,它更新或删除相应的被缓存的对话,然后将响应传递到GWES 416。如果响应为“ok”,则GWES 416将SGW关键字保存到SM 442。如果预订由于禁止的差错而被拒绝,则意味着外部用户不再有效。GWES 416可从UDB 422和GWDB 440中去除外部用户,并且可以向初级网络客户端发送通知。
在一个示例中,针对成功预订的外部好友可发出初始存在性通知,并且该初始存在性通知可包括能被客户端过滤掉的离线通知(例如从外部网络到SGW 414到GWES 416再到初级网络客户端;4.1-4.3)。例如,外部网络向SGW 414发送通知。如果没有找到相应的对话,则SGW 414丢弃该通知;否则它将通知传递到GWES 416。GWES 416将通知转换成初级/本地格式或协议,并且GWES 416获得来自UM 420的目标连接信息并将通知递送到初级网络客户端。
图6图示了外部用户的示例性登录过程。在该示例中,当外部用户登录时,通知被发送到初级网络观察者(例如从外部网络路由到SGW 414,再到GWES 416,再到初级网络客户端;1.1-1.3)。具体而言,外部网络针对每个初级网络观察者向SGW 414发送在线通知。SGW 414查找针对初级网络观察者的相应对话,并且如果未找到对话,则SGW 414将向外部网络发送差错响应,并且该通知将不被递送。如果找到了对话,则SGW 414将通知转发到GWES 416,而GWES 416对通知进行过滤、转化,并将其递送到初级网络观察者。
外部用户随后可进行预订以观察初级网络客户端好友的存在性状态(例如从外部网络流到SGW 414再到GWES 416;2.1-2.5)。具体而言,外部网络发送针对每个初级网络好友的预订请求。SGW 414为该预订创建对话,并且将预订请求发送到GWES 416。GWES 416查找GWDB 440以检查初级网络客户端是否在外部用户的好友列表上,如果否,则它将该请求解释为添加好友(Add Buddy)请求。如果初级网络客户端在好友列表上但仍待批准,则GWES 416向SGW 414发送跟随有离线通知的ok响应。如果初级网络客户端是活动好友,则GWES 416向RBES 418发送请求,以将外部用户添加到初级网络客户端的反向好友列表,然后从UM420检索初级网络客户端的初始存在性状态,如果需要的话转化该状态,并将其发送到SGW 414。如果SGW 414获得来自GWES 416的ok响应,则它更新缓存中的对话,并将响应以及初始存在性状态通知传递到外部网络。如果SGW 414获得来自GWES 416的差错响应,则它删除缓存中的对话,并将差错响应发送到外部网络。
在一些示例中,对于一些网络后端,如果外部用户从多个位置登录,则用户将向初级网络发送多个预订。在这种情况下,SGW 414可在其存储器缓存中创建并保存以外部用户id为关键字的多个对话。如果后来初级网络客户端好友向外部用户发送存在性通知,则该通知将被递送到与利用SGW 414保存的多个对话相对应的每个外部位置。
图7和8分别图示了初级用户和外部用户的登出过程。如果初级网络客户端登出,则离线通知被发送到外部观察者(例如从ES 418/RBES到GWES 416到SGW 414再到外部网络;1.1-1.3)。另外,执行针对外部好友的存在性的解除预订过程(例如从ES 418到GWES 416;2.1-2.2)。例如,GWES 416从SM 442查找SGW关键字,并且将请求传递到相应的SGW 414。它随后从SM 442中去除SGW路由记录。SGW向外部网络发送解除预订请求,并且删除其存储器缓存中的相应对话。
如果外部用户登出,则离线通知被发送到初级网络客户端观察者(例如从外部网络到SGW 414到GWES 416再到初级网络客户端;1.1-1.3)。另外,执行初级网络客户端好友存在性的解除预订过程(例如从外部网络到SGW 414到GWES 416再到RBES 418;2.1-2.2)。SGW 414删除相应对话并且向GWES 416发送解除预订请求。GWES 416从SM 442中去除SGW 414路由,并从初级网络客户端好友的观察者列表(即反向好友列表)中去除外部用户。
图9和10图示了分别与初级网络客户端和外部用户改变其存在性状态相关联的过程。在一个示例中,初级网络客户端改变其存在性,其发出存在性通知。RBES 418利用联盟域信息识别哪些反向好友是来自外部网络的,并且向GWES 416发送通知。存在性通知变化随后被发送到外部观察者的外部网络。在一个示例中,GWES 416将初级网络客户端状态过滤或转化为适当的外部状态。GWES 416从SM 442查找SGW关键字,并且向SGW 414发送通知。对于每个现有的对话,SGW 414将通知发送到外部网络;如果没找到对话,则SGW 414应当向GWES 416发回解除预订请求以停止未来的通知。在一个示例中,如果初级网络客户端状态和外部状态之间不匹配,则通知被GWES 416过滤掉(丢弃)。
如果外部用户改变存在性状态,SGW 414则找出相应的对话(并且如果未找到对话则可向外部网络发送差错响应)。SGW 414将通知传递到GWES 416,并且GWES 416将存在性通知转化成初级网络客户端的匹配状态。如果需要,初级网络可利用定制消息来将非匹配状态转化成本地状态。GWES 416获得来自UM 420的目标连接信息,并且将通知递送到适当的初级网络客户端。
图11和12图示了用户终止来自不同提供商的用户的存在性预订的示例性过程。例如,在图11中,初级网络客户端终止来自外部用户的存在性预订,这对于垃圾信息控制等等可能是有益的。客户端对终止的请求被GWES 416处理,GWES 416请求终止外部用户的预订。GWES 416从GWDB 440获得外部用户的好友列表,并且GWES 416向RBES发送请求以从每个初级网络客户端好友的反向好友列表中去除外部用户。
终止请求随后被发送到外部用户(例如从GWES 416到SGW 414再到外部网络)。在一个示例中,GWES 416从SM 442查找SGW关键字,并且向SGW 414发送终止请求。GWES 416从SM 442中去除SGW路由记录,并且SGW 414清除其存储器缓存中的对话,并且向外部网络发送终止请求。外部网络向外部用户发送离线通知,并且外部网络适当地更新其预订记录。GWES 416将该请求记录在其终止日志中。
另外,如图12所示,外部网络可终止来自本地用户的存在性预订。在一个示例中,SGW 414接收终止初级网络客户端对外部用户的存在性的预订的请求。SGW 414清除其存储器缓存中的对话,并向GWES 416发送终止请求。GWES 416从SM 442中去除路由记录,并且GWES 416向初级网络客户端发送离线通知。如果在初级网络客户端看来外部用户已经是离线的,则初级网络客户端可判定该通知是否应当被过滤。
图13和14图示了本地用户添加外部好友的示例性过程。在第一示例图13中,初级网络客户端请求将外部用户添加为好友(例如添加到其好友列表等)。从外部网络,初始的离线通知2.1-2.3(作为对客户端的添加好友请求所触发的预订的确认)之后是在线通知3.1-3.3(该过程假定外部用户已经批准了初级网络客户端的添加好友请求)。
具体而言,当初级网络客户端请求添加外部用户时,ES 418将外部用户添加到UDB和UM 420中的初级网络客户端的好友列表,然后将请求传递到GWES 416,因为新的好友是外部用户。GWES 416随后将该信息传递到SGW 414,并且传递到外部网络,以预订外部用户的存在性(在初级网络客户端正在请求将外部用户添加为好友的情况下)。如果SGW 414获得来自外部网络的ok响应,则SGW 414将对话保存在存储器缓存中,并将响应传递到GWES 416。GWES 416将路由记录添加到SM 442,并且向初级网络客户端发送ok响应。如果SGW 414获得来自外部网络的指示外部id无效的差错响应,则SGW 414删除相应的对话并向GWES 416发送差错响应。GWES 416从UDB和UM 420中的初级网络客户端的好友列表中去除外部用户,并且向初级网络客户端发送差错响应。
从外部网络,离线通知最初作为对所发送的预订请求的确认被发送(例如从SGW 414到GWES 416再到初级网络客户端,通知外部用户离线)。初级网络客户端可判定是否丢弃初始离线通知。最后,从外部网络,表明用户在线的在线通知(假定外部用户已经批准了添加好友请求)被发送。
在一个示例中,在获得来自外部网络的对预订请求的ok响应后,外部用户立即被添加到初级网络客户端的好友列表。在该示例的特定配置上没有待决状态,因为不需要检测外部用户何时接受/拒绝添加请求。
图14图示了外部用户拒绝添加的示例。该过程/事件流程与图13的类似,只是缺少了最后的一系列事件3.1-3.3(例如缺少了外部用户接受添加)。
图15和16图示了用于将初级网络客户端添加为外部用户的好友的示例性过程。一般来说,外部用户请求将初级网络客户端添加为好友,并且初级网络客户端批准添加请求。
更具体而言,外部用户通过预订初级网络客户端的存在性来请求将初级网络客户端添加为好友(1.1)。SGW 414向GWES 416发送预订请求,GWES 416查找GWDB 440并且检测出该请求暗示着添加好友,因为初级网络客户端不在外部用户的好友列表上。GWES 416查找UDB 420以检查初级网络客户端id是否有效。如果否,则经由SGW 414向外部网络发送差错响应。如果初级网络id有效,则GWES 416向SGW 414发送ok响应。SGW 414在缓存中创建对话并将ok响应传递到外部网络。在一个示例中,外部用户被告知初级网络客户端离线(例如从GWES 416到SGW 414再到外部网络)。GWES 416在SM 442中添加路由记录,并且GWES 416以待决状态将初级网络客户端添加到GWDB 440中的外部用户的好友列表。最后(例如经由GWES 416到UM 420再到初级网络客户端)从初级网络客户端请求批准。
如果初级网络客户端批准添加请求,则ES 418向GWES 416发送添加好友批准请求。GWES 416将GWDB 440中初级网络客户端好友的状态从待决改变成活动。GWES 416向RBES 418发送更新请求,以将外部用户添加到初级网络客户端的反向好友列表。GWES 416获得来自UM 420的初级网络客户端的在线状态,并且将其转化成外部状态。初级网络客户端的在线存在性通知被发送到外部用户(例如经由GWES 416到SGW 414再到外部网络和用户)。
在GWDB 440中,每个好友记录包含一个状态(例如活动、待决、被拒绝)和一个时间戳。该状态可用于各种目的,例如管理添加好友流程,并且该时间戳可用于保护初级网络客户端免遭来自外部网络的过多SUBSCRIBE的危害,并且还可用于垃圾收集。
图15图示了初级网络客户端拒绝添加请求的示例。该过程/事件流程与图14的类似,只不过少了最后的一系列事件2.2-2.4。另外,事件2.1是在GWDB 440中的外部用户的好友列表上将初级网络客户端的状态从“待决”改成“被拒绝”。在一些示例中,外部网络不会将拒绝事件通知给外部用户,但为了避免每次外部用户重新登录时就有一个预订请求,初级网络可保存与被拒绝请求相关联的被拒绝状态。具有被拒绝状态的好友记录可在一定的时间段之后被作为垃圾收集。
图17和18图示了用于从外部网络服务提供商中删除好友的示例性过程。在图17中,初级网络客户端删除外部好友。在该示例中,GWES 416验证外部用户是初级网络客户端的好友,并且GWES 416从UDB和UM420中初级网络客户端的好友列表中去除外部用户。初级网络客户端随后被告知对被删除请求的响应(例如从GWES 416到CS 420再到初级网络客户端,诸如ok、差错等等的响应)。另外,GWES 416与SGW 414(从而与外部网络)通信,以解除对外部用户的存在性的预订并且清除对话和路由记录。
在图18中,示出了外部用户从其好友列表中删除初级网络客户端的情形。在该示例中,外部用户解除对初级网络客户端的存在性的预订。SGW 414清除对话,并且SGW 414向GWES 416发送解除预订请求。GWES 416从SM 442去除去往SGW 414的路由。另外,GWES 416从初级网络客户端的反向好友列表中去除外部用户。
图19图示了在初级网络客户端和外部用户之间开始IM会话的示例性过程。在该示例中,初级网络客户端利用初级网络客户端发起IM会话,以请求开始与外部用户的IM会话(例如来自初级网络客户端的请求被从ES 418传输到GWES 416)。GWES 416验证新的会话。在一个示例中,***检查初级网络客户端是否不支持基于IM的会话,如果是,则返回差错被发送到客户端,否则就向SGW 414发送开始IM会话请求。如果IM会话对话已经存在,则向GWES 416返回ok;否则向外部网络发送SIPINVITE请求。
SGW 414获得来自外部网络的响应,如果响应为ok,则会话对话被保存在缓存中,否则对话被删除。SGW 414还向GWES 416发送响应。GWES 416获得来自SGW 414的响应;如果响应为ok,则将SGW 414路由记录保存在SM中,并将响应传递到初级网络客户端。此时,初级网络客户端可发送IM通信。
在初级网络客户端利用不支持基于IM的会话的客户端来发起IM会话的示例中,过程如下。初级网络客户端向ES 418发送第一IM。ES 418识别接收者为外部用户(利用联盟域信息等),并将请求转发到GWES416。GWES 416查找SM 442,并且确定对于发送者和接收者尚不存在IM会话,因此它着手进行新会话验证(例如在此情况下是检查YPCminor)。如果验证失败,则差错被发送到初级网络客户端,否则第一IM被发送到SGW 414。SGW 414查找缓存,并且发现尚不存在会话,并且对IM进行缓存并向外部用户发送SIP INVITE请求。SGW 414获得来自外部用户的响应;如果会话被接受,则SGW 414更新缓存中的对话并将IM冲出到外部,而如果会话被拒绝,则SGW 414删除缓存中的初始对话并丢弃被缓存的IM,并且向GWES 416发送响应。如果会话被接受,则GWES 416获得来自SGW 414的响应,并且SGW 414将路由保存在SM442中。
图19还示出了外部用户发起与初级网络客户端的IM会话的示例。外部网络向SGW 414发送SIP INVITE。如果对于发送者和接收者已经存在IM对话(例如多个外部网络客户端正在运行),则SGW 414向外部用户发送SIP BYE以结束先前的会话,然后将新会话对话保存到缓存。SGW414向GWES 416发送开始IM请求,并且GWES 416验证新会话。例如,GWES 416检查初级网络客户端id是否有效,检查YPC限制,并且检查是否初级网络客户端(接收者)的忽略列表。如果验证ok,则GWES将SGW关键字保存在SM中,并且向SGW 414返回ok;否则它向SGW414发送差错。SGW 414检查来自GWES 416的响应,并且相应地更新或删除初始对话。SGW 414随后向外部网络发送ok或差错响应。
图20图示了用于初级网络客户端和外部用户之间的键入通知的示例性事件流程。在IM会话被建立之后,IM和键入通知请求可被交换。对于从初级网络到外部网络的请求,GWES 416从SM查找SGW关键字,然后将请求发送到相应的SGW 414服务器,SGW 414服务器随后将其转发到外部网络。对于从外部网络到初级网络的请求,SGW 414在缓存中查找相应的对话;如果未找到对话,则请求被丢弃;否则请求将被发送到GWES416,GWES 416随后将其递送到适当的初级网络客户端。
图21图示了用于结束初级网络和外部用户之间的IM会话的事件流程。如果初级网络客户端终止IM会话,则终止请求通过ES 418被传播到GWES 416以结束IM会话。GWES 416从SM 442查找SGW关键字,向SGW 414发送请求,并从SM 442删除SGW路由记录。SGW 414删除缓存中的对话,并且向外部用户发送SIP BYE以结束会话。
如果外部用户结束IM会话,则外部用户向SGW 414发送SIP BYE。SGW 414删除缓存中的对话并向GWES 416发送结束IM会话请求。GWES 416删除SM中的SGW路由记录。另外,GWES 416可向初级网络客户端发送结束IM会话请求。
图22图示了可用来实现本发明的各个方面的处理功能的示例性计算***600(例如用作网关服务器或机器)。相关领域的技术人员还将认识到如何利用其他计算机***或体系结构来实现本发明。计算***600例如代表桌面计算机、大型机、服务器、客户端或者给定的应用或环境可能需要或适合的任何其他类型的专用或通用计算设备。计算***600可包括一个或多个处理器,例如处理器604。处理器604可利用诸如微处理器、微控制器或其他控制逻辑之类的通用或专用处理引擎来实现。在该示例中,处理器604连接到总线602或其他通信介质。
计算***600还可包括主存储器608,该主存储器608优选为随机访问存储器(RAM)或其他动态存储器,用于存储处理器604将要执行的指令和信息。主存储器608还可用来存储处理器604要执行的指令的执行期间的其他临时变量或其他中间信息。计算***600同样可包括耦合到总线602用于为处理器604存储静态信息和指令的只读存储器(“ROM”)或其他静态存储设备。
计算***600还可包括信息存储机构610,信息存储机构610例如可包括介质驱动器612和可移动存储接口620。介质驱动器612可包括支持固定或可移动存储介质的驱动器或其他机构,例如硬盘驱动器、软盘驱动器、磁带驱动器、光盘驱动器、CD或DVD驱动器(R或RW)或者其他可移动或固定介质驱动器。存储介质618例如可包括硬盘、软盘、磁带、光盘、CD或DVD或被介质驱动器614读和写的其他固定或可移动介质。如这些示例所示,存储介质618可包括其中存储有特定的计算机软件或数据的计算机可读存储介质。
在替换实施例中,信息存储机构610可包括其他类似的器械,用于允许计算机程序或其他指令或数据被加载到计算***600中。这种器械例如可包括可移动存储单元622和接口620,例如程序卡盘和卡盘接口,可移动存储器(例如闪存或其他可移动存储器模块)和存储器插槽,以及允许软件和数据被从可移动存储单元618传送到计算***600的其他可移动存储单元和接口620。
计算***600还可包括通信接口624。通信接口624可用于允许软件和数据在计算***600和外部设备之间传送。通信接口624的示例可包括调制解调器、网络接口(例如以太网或其他NIC卡)、通信端口(例如USB端口)、PCMCIA插槽和卡等等。经由通信接口624传送的软件和数据采取信号的形式,信号可以是电子的、电磁的、光的,或者其他能够被通信接口624接收的信号。这些信号经由信道628被提供到通信接口624。该信道628可以承载信号,并且可以利用无线介质、有线或线缆、光纤或其他通信介质来实现。信道的一些示例包括电话线、蜂窝电话链路、RF链路、网络接口、局域网或广域网以及其他通信信道。
在本文档中,术语“计算机程序产品”和“计算机可读介质”一般可用于指诸如存储器608、存储设备618、存储单元622或信道628上的信号之类的介质。在向处理器604提供一个或多个指令的一个或多个序列以供执行时可涉及计算机可读介质的这些和其他形式。这种指令一般被称为“计算机程序代码”(它可以以计算机程序或其他编组的形式被编组),它们在被执行时使计算***600能够执行本发明的实施例的特征或功能。
在利用软件实现要素的实施例中,可将软件存储在计算机可读介质中并利用例如可移动存储驱动器614、驱动器612或通信接口624加载到计算***600中。控制逻辑(在该示例中是软件指令或计算机程序代码)在被处理器604执行时使处理器604执行这里描述的本发明的功能。
将会理解,出于清楚目的,以上描述已经参考不同的功能单元和处理器描述了本发明的实施例。但是,很明显,在不脱离本发明的情况下,可以使用不同功能单元、处理器或者域之间的任何适当的功能分布。例如,被示为由分开的处理器或控制器执行功能可由同一处理器或控制器执行。因此,对特定的功能单元的提及只应当被看作是对用于提供所描述功能的适当装置的提及,而不是指示严格的逻辑或物理结构或组织。
虽然已经联系一些实施例描述了本发明,但是并不意图限于这里阐述的具体形式。更确切地说,本发明的范围仅由权利要求所限。另外,虽然某个特征看来是联系特定实施例来描述的,但本领域的技术人员将会认识到所描述的实施例的各种特征可根据本发明被组合。
另外,虽然被分别列出,但多个装置、要素或方法步骤例如可由单个单元或处理器来实现。另外,虽然各个特征可被包括在不同的权利要求中,但这些特征可能被有利地组合,并且包括在不同的权利要求中并不意味着特征的组合不可行和/或有利。另外,特征被包括在一类权利要求中并不意味着限于该类别,更确切地说该特征在适当时同样可应用到其他权利要求类别。
虽然已经联系一些实施例描述了本发明,但是并不意图限于这里阐述的具体形式。更确切地说,本发明的范围仅由权利要求所限。另外,虽然某个特征看来是联系特定实施例来描述的,但本领域的技术人员将会认识到所描述的实施例的各种特征可根据本发明被组合。另外,联系某个实施例描述的本发明的一些方面可独立作为一个发明。
另外,将会理解,在不脱离本发明的精神和范围的情况下,本领域的技术人员可以进行各种修改和变更。本发明并不由前述示例性细节所限,而是根据权利要求来限定的。
Claims (30)
1.一种用于帮助不同的即时消息传递服务提供商网络的客户端之间的即时消息传递通信的装置,该装置包括:
接口逻辑,用于接收与外部即时消息传递服务提供商网络的即时消息传递服务有关的通信;以及
转化逻辑,用于将接收到的通信从次级协议转化成初级协议,该初级协议是接收方服务提供商网络本地的。
2.如权利要求1所述的装置,其中所述接收到的通信是从所述外部即时消息传递服务提供商网络接收的。
3.如权利要求1所述的装置,其中所述接收到的通信源自所述外部即时消息传递服务提供商网络的客户端,并且所述接收到的通信是通过所述外部即时消息传递服务提供商网络被路由到所述接口逻辑的。
4.如权利要求1所述的装置,其中所述接收到的通信包括来自由预订请求、邀请请求和解除预订请求构成的组中的至少一种通信。
5.如权利要求1所述的装置,所述接口逻辑还向所述外部即时消息传递服务提供商发送通信,并且所述转化逻辑还将所述通信从所述初级协议转化成所述次级协议。
6.如权利要求5所述的装置,其中所发送的通信包括来自由对观察者的通知、预订请求、邀请请求和解除预订请求构成的组中的至少一种通信。
7.如权利要求1所述的装置,其中所述接口逻辑和转化逻辑被包括于网关事件服务器中。
8.如权利要求1所述的装置,还包括会话管理器,其可操作来存储与所述接收到的通信相关联的运行时对话状态。
9.如权利要求1所述的装置,还包括用于处理所述接收到的通信的连接管理器,其中所述连接管理器包括端点存在性对话管理器。
10.如权利要求1所述的装置,其中所述次级协议包括SIP/SIMPLE协议。
11.一种用于帮助不同的即时消息传递服务提供商网络的客户端之间的即时消息传递通信的装置,该装置包括:
转化逻辑,用于将接收到的即时消息传递通信转化成与初级即时消息传递服务提供商网络相关联的初级协议,其中该接收到的通信与外部即时消息传递服务提供商网络有关。
12.如权利要求11所述的装置,其中所述通信是去往所述初级即时消息传递服务提供商网络的客户端的。
13.如权利要求11所述的装置,其中所述初级协议不同于所述外部即时消息传递服务提供商网络的协议。
14.如权利要求11所述的装置,其中所述通信是作为SIP/SIMPLE协议被所述转化逻辑接收的。
15.一种用于帮助不同的即时消息传递服务提供商网络的客户端之间的即时消息传递通信的方法,该方法包括以下动作:
接收来自外部即时消息传递服务提供商网络的与即时消息传递服务有关的通信,其中接收到的通信是根据次级协议来格式化的;以及
将所述接收到的通信从所述次级协议转化成初级协议。
16.如权利要求15所述的方法,其中所述接收到的通信是从所述外部即时消息传递服务提供商网络接收的。
17.如权利要求15所述的方法,其中所述接收到的通信源自所述外部即时消息传递服务提供商网络的客户端,并且所述接收到的通信是通过所述外部即时消息传递服务提供商网络被路由的。
18.如权利要求15所述的方法,其中所述接收到的通信包括由预订请求、邀请请求和解除预订请求构成的组中的至少一种通信。
19.如权利要求15所述的方法,还包括向所述外部即时消息传递服务提供商发送与所述即时消息传递服务有关的通信,其中所述通信是根据所述次级协议被发送的。
20.如权利要求15所述的方法,还包括根据所述初级协议将转化后的通信路由到初级网络的客户端。
21.如权利要求15所述的方法,还包括存储与接收到的通信相关联的运行时对话状态。
22.如权利要求15所述的方法,还包括利用端点存在性对话管理器来处理所述接收到的通信。
23.一种计算机可读介质,该计算机可读介质包括用于帮助通过不同服务提供商网络的即时消息传递通信的指令,所述指令用于致使执行包括以下步骤的方法:
对与即时消息传递服务有关并且去往初级即时消息传递服务提供商网络的通信进行转化,接收到的通信与外部即时消息传递服务提供商网络相关联,其中:
所述通信被从接收时的次级协议转化成初级协议,该初级协议是所述初级即时消息传递服务提供商网络本地的。
24.如权利要求23所述的计算机可读介质,其中所述通信是从所述外部即时消息传递服务提供商网络接收的。
25.如权利要求23所述的计算机可读介质,其中所述通信源自所述外部即时消息传递服务提供商网络的客户端,并且所述接收到的通信是通过所述外部即时消息传递服务提供商网络被路由到所述初级即时消息传递服务提供商网络的。
26.如权利要求23所述的计算机可读介质,其中所述接收到的通信包括由预订请求、邀请请求和解除预订请求构成的组中的至少一种通信。
27.如权利要求23所述的计算机可读介质,所述指令还致使执行发送与所述即时消息传递服务有关的通信的步骤,其中所述通信是根据所述次级协议被发送的。
28.如权利要求23所述的计算机可读介质,所述指令还致使执行将转化后的通信路由到所述初级即时消息传递服务提供商网络的客户端的步骤。
29.如权利要求23所述的计算机可读介质,所述指令还致使执行存储与接收到的通信相关联的运行时对话状态的步骤。
30.如权利要求23所述的计算机可读介质,所述指令还致使执行利用端点存在性对话管理器来处理所述接收到的通信的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72457705P | 2005-10-07 | 2005-10-07 | |
US60/724,577 | 2005-10-07 | ||
US11/528,753 | 2006-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101292478A true CN101292478A (zh) | 2008-10-22 |
Family
ID=40035688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800367438A Pending CN101292478A (zh) | 2005-10-07 | 2006-10-03 | 不同服务提供商之间的即时消息传递互操作性 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101292478A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209313A (zh) * | 2010-03-29 | 2011-10-05 | 华为技术有限公司 | 订阅呈现信息的方法、***、资源列表服务器及呈现服务器 |
CN103634279A (zh) * | 2012-08-23 | 2014-03-12 | 阿尔卡特朗讯公司 | 一种便利从sip用户建立到xmpp用户的通信连接的方法和设备 |
CN104811370A (zh) * | 2015-04-27 | 2015-07-29 | 北京北信源软件股份有限公司 | 一种基于标识的安全即时通信***架构 |
CN104811371A (zh) * | 2015-05-15 | 2015-07-29 | 北京北信源软件股份有限公司 | 一种全新的即时通信*** |
CN104811379A (zh) * | 2015-04-29 | 2015-07-29 | 北京北信源软件股份有限公司 | 用于即时通信服务器互联互通的路由器寻址方法 |
CN104836734A (zh) * | 2015-05-11 | 2015-08-12 | 北京北信源软件股份有限公司 | 一种全新的即时通信路由方法和路由器 |
CN104993998A (zh) * | 2015-05-26 | 2015-10-21 | 北京北信源软件股份有限公司 | 支持云部署的企业级安全即时通信***和方法 |
CN105072093A (zh) * | 2015-07-20 | 2015-11-18 | 北京北信源软件股份有限公司 | 一种用于即时通信***互联互通的装置和方法 |
CN106533894A (zh) * | 2015-09-11 | 2017-03-22 | 北京北信源软件股份有限公司 | 一种全新的安全的即时通信体系 |
CN109889423A (zh) * | 2017-12-06 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 一种消息处理方法、装置及存储介质 |
-
2006
- 2006-10-03 CN CNA2006800367438A patent/CN101292478A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011120369A1 (zh) * | 2010-03-29 | 2011-10-06 | 华为技术有限公司 | 订阅呈现信息的方法、***、资源列表服务器及呈现服务器 |
CN102209313A (zh) * | 2010-03-29 | 2011-10-05 | 华为技术有限公司 | 订阅呈现信息的方法、***、资源列表服务器及呈现服务器 |
CN103634279A (zh) * | 2012-08-23 | 2014-03-12 | 阿尔卡特朗讯公司 | 一种便利从sip用户建立到xmpp用户的通信连接的方法和设备 |
CN104811370A (zh) * | 2015-04-27 | 2015-07-29 | 北京北信源软件股份有限公司 | 一种基于标识的安全即时通信***架构 |
CN104811379B (zh) * | 2015-04-29 | 2017-12-08 | 北京北信源软件股份有限公司 | 用于即时通信服务器互联互通的路由器寻址方法 |
CN104811379A (zh) * | 2015-04-29 | 2015-07-29 | 北京北信源软件股份有限公司 | 用于即时通信服务器互联互通的路由器寻址方法 |
CN104836734B (zh) * | 2015-05-11 | 2018-04-03 | 北京北信源软件股份有限公司 | 一种全新的即时通信路由方法和路由器 |
CN104836734A (zh) * | 2015-05-11 | 2015-08-12 | 北京北信源软件股份有限公司 | 一种全新的即时通信路由方法和路由器 |
CN104811371B (zh) * | 2015-05-15 | 2018-04-03 | 北京北信源软件股份有限公司 | 一种全新的即时通信*** |
CN104811371A (zh) * | 2015-05-15 | 2015-07-29 | 北京北信源软件股份有限公司 | 一种全新的即时通信*** |
CN104993998A (zh) * | 2015-05-26 | 2015-10-21 | 北京北信源软件股份有限公司 | 支持云部署的企业级安全即时通信***和方法 |
CN104993998B (zh) * | 2015-05-26 | 2018-08-17 | 北京北信源软件股份有限公司 | 支持云部署的企业级安全即时通信***和方法 |
CN105072093A (zh) * | 2015-07-20 | 2015-11-18 | 北京北信源软件股份有限公司 | 一种用于即时通信***互联互通的装置和方法 |
CN105072093B (zh) * | 2015-07-20 | 2018-01-09 | 北京北信源软件股份有限公司 | 一种用于即时通信***互联互通的装置和方法 |
CN106533894A (zh) * | 2015-09-11 | 2017-03-22 | 北京北信源软件股份有限公司 | 一种全新的安全的即时通信体系 |
CN106533894B (zh) * | 2015-09-11 | 2019-05-21 | 北京北信源软件股份有限公司 | 一种全新的安全的即时通信体系 |
CN109889423A (zh) * | 2017-12-06 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 一种消息处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11240194B2 (en) | Instant messaging interoperability between disparate service providers | |
CN101292478A (zh) | 不同服务提供商之间的即时消息传递互操作性 | |
US7043538B2 (en) | Thin instant messaging proxy interface with persistent sessions | |
EP1370982B1 (en) | Realization of presence management | |
US9166937B2 (en) | Peer-to-peer email | |
CN1311671C (zh) | 用于多个即时消息传递登录会话的方法和*** | |
US8930479B2 (en) | Processing cellular telephone subscription for E-mail threads | |
EP1587239A1 (en) | Method of and apparatus for server-side management of buddy lists | |
US20080005294A1 (en) | Method and system for exchanging messages using a presence service | |
US8239464B2 (en) | Method and instantaneous messaging system for mobile terminals equipped with a virtual presence server configured to manage different contact lists of a single user | |
US20030158902A1 (en) | Multimedia instant communication system and method | |
US20070043820A1 (en) | System and method for obtaining remote instant messages | |
US9819700B2 (en) | System and method for passive communication services | |
CN102035655A (zh) | 端到端即时通讯的实现方法、端到端即时通讯终端及*** | |
US20090063638A1 (en) | Method and Apparatus for Processing Messages in Messaging System | |
US8301782B2 (en) | Stateless gateways having remote dialog store | |
JP4626834B2 (ja) | サーバ装置、情報処理方法 | |
Gao et al. | A study on jabber-based instant messaging system for mobile networks | |
Choi et al. | An asynchronous peer-to-peer service extension using the general e-mail service | |
KR20090064356A (ko) | 위치 정보를 이용한 선택적 통신수단 제공 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: FEIYANG MANAGEMENT CO., LTD. Free format text: FORMER OWNER: YAHOO CORP. Effective date: 20150123 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150123 Address after: The British Virgin Islands of Tortola Applicant after: Fly upward Management Co., Ltd Address before: American California Applicant before: Yahoo Corp. |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20081022 |