CN101677319A - 一种基于xmpp协议访问业务的方法、装置及系统 - Google Patents
一种基于xmpp协议访问业务的方法、装置及系统 Download PDFInfo
- Publication number
- CN101677319A CN101677319A CN200810222647A CN200810222647A CN101677319A CN 101677319 A CN101677319 A CN 101677319A CN 200810222647 A CN200810222647 A CN 200810222647A CN 200810222647 A CN200810222647 A CN 200810222647A CN 101677319 A CN101677319 A CN 101677319A
- Authority
- CN
- China
- Prior art keywords
- xmpp
- operational visit
- server
- service
- request
- 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
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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- 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/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Abstract
一种通信技术领域中基于XMPP协议访问业务的方法、装置及系统。可扩展消息在线协议XMPP客户端所属域的XMPP服务器接收通过XMPP协议承载的业务访问请求;所述XMPP服务器为业务访问请求选择路由路径,并按照所述路由路径转发所述业务访问请求到下一跳XMPP服务器,并依次转发到与业务服务器相连的XMPP网关;XMPP网关接收到所述业务访问请求后,调用业务服务器获得业务访问响应消息,转发所述业务访问响应消息至所述XMPP客户端所属域的XMPP服务器;所述XMPP客户端所属域的XMPP服务器将所述业务访问响应消息发送给XMPP客户端。本发明实施例采用XMPP协议访问业务,使业务服务器能主动推送状态信息给业务访问端,同时能够指定业务访问消息的路由路径,有利于平衡网络和业务的负载。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于可扩展消息在线协议(XMPP,Extensible Messaging and Presence Protocol)协议访问业务的方法、装置及系统。
背景技术
目前访问业务的方式逐渐向web服务方向发展,客户端访问web服务目前主要是通过简单对象访问协议(SOAP,Simple Object Access Protocol)消息与业务服务器交互。而且,SOAP协议通常承载在HTTP协议之上。由于HTTP协议是单向、无状态的协议,只支持请求/响应同步消息模式。当客户端访问有状态的业务时,特别是在访问某些需要花费较长时间才能执行的服务或获取异步消息时,采用HTTP承载的访问消息为了保持业务信息的同步,需要不停的轮询业务服务器,这是由于HTTP请求/响应的工作模式本身导致的问题,服务器无法主动推送业务信息给客户端,只能在客户端发送请求后才能返回响应信息。即使客户端具备接收HTTP请求的能力,但客户端或ISP可能部署防火墙,阻止了业务服务器主动推送消息至客户端。因此,在异步消息应用中,利用HTTP承载SOAP访问业务只能采用轮询的方式获取消息,这会导致增加网络通信开销和业务服务器的负载。
与本发明相关的另一现有技术的技术方案,提供了一种WS-Addressing的方案,在WS-Addressing中,采用的是类似于TCP/IP中采用的“下一跳”路由方式,只指定最终接收地址,而不指定中间需要经过的路由器。消息中包含有关消息来源和去向的信息,但不包含消息怎样到达的详细信息。当SOAP消息在网络上传输时,每个节点都会检查SOAP的标头以确定其目的地,然后该节点将消息发送到下一个更接近目的地的SOAP节点。这个过程一直继续,直到节点到达其目的地。
发明人在实现本发明过程中,发现上述现有技术二至少存在如下缺点:
WS-Addressing方案不能很好地满足访问一些业务的需求,比如为了平衡网络负载,路由器可能需要将不同请求指定不同的路由路径,最终达到相同的目的地;或者为了满足一些安全性要求高的应用,需要将业务访问消息按照特定的路径传输;或者需要经过某些特定的节点或其他策略性要求。
发明内容
本发明实施例提供一种基于XMPP协议访问业务的方法、装置及系统。
本发明实施例是通过以下技术方案实现的:
本发明实施例提供一种基于XMPP协议访问业务的方法,包括:
可扩展消息在线协议XMPP客户端所属域的XMPP服务器接收通过XMPP协议承载的业务访问请求;
所述XMPP服务器为业务访问请求选择路由路径,并按照所述路由路径转发所述业务访问请求到下一跳XMPP服务器,并依次转发到与业务服务器相连的XMPP网关;
XMPP网关接收到所述业务访问请求后,调用业务服务器获得业务访问响应消息,转发所述业务访问响应消息至所述XMPP客户端所属域的XMPP服务器;
所述XMPP客户端所属域的XMPP服务器将所述业务访问响应消息发送给XMPP客户端。
本发明实施例提供一种XMPP客户端设备,包括:
请求模块,用于使用XMPP协议发送业务访问请求;
接收模块,用于接收XMPP服务器发送的通过XMPP协议承载的业务访问响应消息。
本发明实施例提供一种XMPP服务器,包括:
流管理模块,用于管理与其他实体的可扩展标记语言XML流连接和会话状态;
路由模块,用于在各个实体之间建立的XML流上路由XMPP消息;
路由配置模块,用于获取及交换当前网络状况信息,根据网络状况、路由策略、以及服务质量QoS需求为XMPP消息选择路由路径。
本发明实施例提供一种XMPP网关,包括:
流管理模块,用于管理与其他实体的可扩展标记语言XML流连接和会话状态;
路由模块,用于在各个实体之间建立的XML流上路由XMPP消息;
路由配置模块,用于获取及交换当前网络状况信息,根据网络状况、路由策略、以及服务质量QoS需求为XMPP消息选择路由路径;
协议转换模块,用于XMPP消息与其他协议消息的相互转换;
业务调用模块,用于解析XMPP消息,调用业务服务器获得业务访问响应消息,并将业务访问响应消息封装在XMPP消息中。
本发明实施例提供一种基于XMPP协议访问业务的系统,包括:XMPP服务器、XMPP网关及业务服务器;
所述XMPP服务器用于接收通过XMPP协议承载的业务访问请求,为业务访问请求选择路由路径,以及按照所述路由路径转发所述业务访问请求直到与业务服务器相连的XMPP网关;
所述XMPP网关用于调用业务服务器,获得业务访问响应消息,转发所述业务访问响应消息给XMPP服务器;
所述业务服务器用于提供具体业务服务。
由上述本发明实施例提供的技术方案可以看出,本发明实施例采用XMPP协议访问业务,能够建立业务服务器与业务访问端的双向的连接,在具有状态的会话中,业务服务器能主动推送状态信息给业务访问端,保持业务状态信息的同步,避免客户端为获取会话状态周期性的轮询业务服务器,减少了服务器负载和网络流量,并提高了服务的实时性;
另外,由于在XMPP协议中扩展了路由路径元素,使业务访问端或XMPP服务器能够指定业务访问消息的路由路径,从而提高了业务访问的效率和可靠性,有利于平衡网络和业务的负载,实现对业务访问消息的策略、安全等控制。
附图说明
图1为本发明实施例一基于XMPP协议访问业务的系统架构图;
图2为本发明实施例一基于XMPP协议访问业务的系统中各设备模块示意图;
图3为本发明实施例二基于XMPP协议访问业务的方法操作流程图;
图4为本发明实施例三基于XMPP协议访问业务的方法操作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例采用可扩展消息在线协议(XMPP,Extensible Messagingand Presence Protocol)承载SOAP消息来访问业务。所述XMPP协议是一个基于开放式的可扩展标记语言(XML,Extensible Markup Language)协议,其采用XML流实现在任意两个网络终端间实时的交换结构化信息,具有跨平台、易扩展等特性。XMPP协议提供一个通用的可扩展的框架来交换XML数据,可以传输即时消息、文本、数据等各种XML数据。
本发明实施例采用XMPP协议承载SOAP消息来访问业务,可以使业务访问端与业务服务器都能主动发送消息至对方。解决了HTTP承载SOAP消息采用请求/响应模式的弊端,即业务服务器不能主动推送消息至业务访问端。
同时,本发明实施例对XMPP协议进行了扩展,在XMPP协议中定义了路由路径元素,使消息能按照设定的路径路由至目的地,克服了WS-Addressing方案存在的不能按照指定路径访问业务的问题。所述在XMPP协议中定义路由路径元素的方法可以为:在XMPP协议中扩展一个<service>节(service stanza),在<service>节定义访问业务所需的相关元素。<sevice>节具有两种类型(type),即该节的type属性值可以是’access’和’reply’。其中’access’类型的<service>节用于业务访问请求消息,而’reply’类型的<service>节用于业务访问响应消息。
在<service>节中定义消息路由路径元素<path>,其中包括<fwd>和<rev>子元素。在<fwd>和<rev>子元素中可以包含一个或多个<via>元素,用于记录消息需要经过的节点。XMPP服务器根据该路径信息转发消息。通过增加<path>元素使XMPP服务器根据网络状况、路由策略、QoS等需求为业务访问指定路由路径成为可能。
可选的,本发明实施例对XMPP协议的扩展还包括:增加指示业务访问的响应消息是否可以被XMPP服务器缓存的元素。所述增加指示业务访问的响应消息是否可以被XMPP服务器缓存的元素的方法可以为:在<service>节中定义<buffer>元素,该元素指示业务访问的响应消息是否可以被XMPP服务器缓存。如果<buffer>元素的值设置为’no’,表示不能缓存;如果<buffer>元素的值设置为’yes’,表示可以被XMPP服务器缓存。当响应消息到达XMPP客户端所属域的XMPP服务器时,该XMPP服务器判断XMPP客户端是否在线,如果XMPP客户端不在线,则XMPP服务器根据该<buffer>元素的值即可判断是否可以缓存该业务访问响应消息。该方案能够充分利用XMPP服务器的作用,增加消息处理的灵活性,避免XMPP客户端离线状况下,业务服务器发送消息失败的问题。
可选的,为了便于XMPP承载的SOAP与HTTP承载SOAP协议之间的转换,可以在<service>节中定义<SOAPAction>元素,对应于HTTP在标头中的<SOAPAction>。<SOAPAction>定义了SOAP请求的目的,服务器(例如过滤HTTP上SOAP请求消息的防火墙)可以使用SOAPAction的值决定是否过滤掉此消息。
下面以具体实施例说明基于上述XMPP协议访问业务的实现方式。
本发明实施例一提供一种基于XMPP协议访问业务的系统,如图1所示为该系统架构示意图,该系统包括:业务访问端10、XMPP服务器20(如图1中XMPP服务器A和XMPP服务器B)、业务管理服务器30、XMPP网关40及业务服务器50等设备。
所述业务访问端10为支持XMPP协议的客户端,即该业务访问端是一个XMPP客户端,该业务访问端10在所属域XMPP服务器A注册。其采用上述扩展后的XMPP协议访问业务,如图2中所示,该业务访问端10包括:
请求模块100,用于使用XMPP协议发送业务访问请求;该业务访问请求中可以携带有该业务访问端10指定的路由路径。
接收模块101,用于接收XMPP服务器20发送的通过XMPP协议承载的业务访问响应消息。即解析XMPP消息,获取业务访问结果数据。
可选的,若业务访问端10不知道业务访问信息,例如:业务服务器50的地址、参数等,则该业务访问端10还包括:
查询模块102,用于向XMPP服务器A发送业务查询请求,查询业务访问信息;所述业务查询请求中包含有需要访问的业务功能描述、关键字、参数信息及QoS需求。所述QoS需求可以包括:响应时间、安全性、费用等。
可选的,所述业务访问端10还可以设置有:
路由指定模块103,用于在所述业务访问请求中指定业务访问的路由路径,所述指定的路由路径可以是访问业务的整个路径,也可以是某段路径,或某个必经的节点,例如:XMPP服务器B。
该业务访问端10可以是最终业务的使用者,或者是业务组合应用者之一。
所述XMPP服务器20用于接收业务访问请求,为业务访问请求选择路由路径,转发所述业务访问请求接收业务访问端10通过XMPP协议承载的业务访问请求,为所述业务访问请求配置路由路径,以及按照所述路由路径转发业务访问请求直到与业务服务器相连的XMPP网关40;以及在接收到业务访问端10的业务查询请求后为业务访问端10查询业务访问信息,反馈给业务访问端10。该XMPP服务器20也可以根据所述业务访问信息本身构造业务访问请求。
如图2所示,所述XMPP服务器20主要包括:流管理模块200、路由模块201、路由配置模块202,可选的包括业务查询模块203、业务访问请求构造模块204和缓存模块205中的任意一个或多个。
所述流管理模块200,用于管理与其他实体的可扩展标记语言XML流连接和会话状态;例如管理XMPP客户端与其建立XML流连接、注册等。
路由模块201,用于在各个实体之间建立的XML流上路由XMPP消息;所述XMPP消息可以为业务访问请求或业务访问响应等消息。
路由配置模块202,用于获取及交换当前网络状况信息,根据网络状况、路由策略、以及服务质量QoS需求为XMPP消息选择路由路径。
所述业务查询模块203,用于接收业务访问端10发送的业务查询请求,根据所述业务查询请求通过业务管理服务器30查询获取业务访问信息(Web服务描述语言(WSDL,Web Services Description Language)消息等)。例如根据业务查询请求的QoS需求,查询业务管理服务器列表为客户端选择一个业务,并返回该业务的访问方法描述。
所述业务访问请求构造模块204,用于根据业务访问信息及业务查询请求构造业务访问请求。
所述缓存模块205,用于判断是否需要缓存发送给业务访问端10的业务访问响应消息或订阅数据,并将需要缓存内容缓存。所述判断是否需要缓存的方法包括:判断业务访问端10是否在线,若在线则不缓存,直接将业务访问响应消息或订阅数据发送至业务访问端10;若不在线,则根据消息中是否包含<buffer>元素,且<buffer>元素的值是否为“yes”进行判断,若是则能够缓存;若不包含<buffer>元素,或所包含的<buffer>元素的值为“no”,则不缓存。
图2中所示省略号表示在业务访问端10注册的XMPP服务器A和XMPP网关40之间可能存在多个XMPP服务器。
业务管理服务器30:用于负责业务注册,保存具体业务的功能描述信息,维护当前各业务服务器50的QoS信息(例如负载率、响应时间、是否可服务等),根据所述业务的功能描述信息可以为XMPP服务器20提供业务访问信息,即提供访问业务方法描述。该业务管理服务器30类似于或可以等同于web服务中的统一描述、发现和集成服务(UDDI,Universal Description,Discovery,and Integration))服务器。
所述XMPP网关40,主要用于调用业务服务器,获得业务访问响应消息,转发所述业务访问响应消息给XMPP服务器,且可以进行XMPP协议与其他协议之间的转换。该XMPP网关40是一个逻辑实体,物理位置可以是单独的XMPP服务器20,也可以是和业务服务器50集成在同一台机器中。该XMPP网关40是一个具有特定功能的XMPP服务器,该XMPP网关40除具有XMPP服务器20的功能模块外,如图2所示,还包括:
协议转换模块400,用于XMPP消息与其他协议消息的相互转换;例如业务服务器50只支持HTTP协议的请求消息,则协议转换模块需要将XMPP消息翻译为HTTP消息,XMPP网关40在接收到业务服务器505的HTTP应答消息情况下,将其转换为XMPP消息;
业务调用模块401,用于解析XMPP消息,调用业务服务器50获取业务访问响应消息,并将业务访问响应消息封装在XMPP消息中。
所述业务服务器50为用于提供具体服务的设备,可提供Web服务接口供其他设备访问;例如,从XMPP网关40接收业务访问请求,处理所述请求后,将响应消息发送给XMPP网关40。
上述本发明实施例一所述的系统采用XMPP协议作为业务访问的承载协议,能够建立业务服务器50与业务访问端10的双向的连接,在具有状态的会话中,业务服务器50能主动推送状态信息给业务访问端10,保持业务状态信息的同步,避免业务访问端为获取会话状态周期性的轮询业务服务器50,减少了各服务器负载和网络流量,并提高了服务的实时性;
另外,由于在XMPP协议中扩展了路由路径元素,使业务访问端10或XMPP服务器20能够指定业务访问消息的路由路径。XMPP服务器20可以根据业务访问消息中的QoS需求、网络状况、策略控制及安全等因素指定路由路径,从而提高了业务访问的效率和可靠性,有利于平衡网络和业务的负载,实现对业务访问消息的策略、安全等控制。
以及,利用XMPP客户端10需要注册到XMPP服务器20的特点,XMPP服务器在发送具体业务给XMPP客户端10时,可以检测XMPP客户端10是否在线,并根据消息类型判断是否可以缓存发送给XMPP客户端10的业务访问响应消息或订阅数据,解决了XMPP客户端10离线情况下,业务服务器50发送消息失败的问题。
本发明实施例二提供一种基于XMPP协议访问业务的方法,本实施例中假设XMPP客户端不知道具体业务的服务器地址,如图3所示,该方法操作流程包括:
步骤1:XMPP客户端所属域的XMPP服务器接收XMPP客户端发送的业务查询请求,请求获得业务访问信息;
由于本实施例中假设XMPP客户端不知道具体业务的服务器地址,则在发送业务访问请求前,向XMPP服务器发送业务查询请求,请求获得业务访问信息,所述业务查询请求中携带有:需要访问的业务功能、参数及QoS需求等信息。该业务查询请求可以封装在一个<IQ/>或<Message/>类型的XML节中发送给XMPP服务器。例如,该过程包括:
<iq from=′Alice@example.com′id=′s01′type=′get′>
<function>airline ticket</function>
<Qos>
<response-time>5</response-time>
</QoS>
</iq>;
需要说明的是,XMPP客户端在向所属域XMPP服务器发送所述业务查询请求前,需要向所属域XMPP服务器注册。
步骤2:XMPP服务器接收到XMPP客户端的业务查询请求后,向业务管理服务器查询获取业务访问信息;
XMPP服务器接收到业务查询请求后,从业务管理服务器列表中获取满足所述业务查询请求中所携带信息的业务。
步骤3:XMPP服务器接收业务管理服务器返回的业务访问信息;
业务管理服务器提供的满足所述业务查询请求中所携带信息的业务可能是1个、多个,或不存在。若存在多个业务,则业务管理服务器返回多个业务访问描述信息给XMPP服务器;如果业务管理服务器中不存在查询的业务,则返回错误信息,表示无对应业务。
例如,业务管理服务器返回的一个业务访问信息如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<definitions name=″Tickets″
targetNamespace=″www.airline.com/booktickets-interface″
xmlns=″http://schemas.xmlsoap.org/wsdl/″
xmlns:soap=″http://schemas.xmlsoap.org/wsdl/soap/″
xmlns:tns=″http://www.airline.com/bookTicketService″
xmlns:xsd=″http://www.w3.org/1999/XMLSchema″>
<portType name=″BookTicket″>
<operation name=″Query″>
.......
.......
</operation>
<operation name=″book″>
.......
.......
</operation>
</portType>
</definitions>;
步骤4:XMPP服务器将该业务访问信息封装在业务访问节中返回给XMPP客户端;
如果业务管理服务器返回多个业务访问描述信息,XMPP服务器根据业务定义的QoS等消息,选择一个业务。
该业务访问信息可以采用WSDL语言形式描述返回给XMPP客户端,其中包括业务访问所需的信息,例如业务地址(URL)、消息(<message>)、端口(<portType>)、数据类型(<types>)、绑定传输协议(<banding>)等。
例如返回如下信息:
<iq to=′Alice@example.com′from=′server@example.com′id=′s01′type=′result′>
<Wsdl>
....
</wsdl>
</iq>
如果业务管理服务器返回的是错误信息,则XMPP服务器也会向XMPP客户端反馈错误信息。
步骤5:XMPP客户端根据获得的业务访问信息生成业务访问请求,发送给XMPP服务器;
XMPP客户端生成业务访问请求一种实施例描述如下:
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-envelope″>
<env:Header>
...
</env:Header>
<env:Body>
<location>Shenzhen</location>
<date>2008-3-21</date>
</env:Body>
</env:Envelope>;
在生成上述业务访问请求后,将该业务访问请求封装在<service>节中,传输给XMPP服务器,如下:
<service to=′www.airline.com/portal/query′from=′Alice@exmaple.com′id=′s02′
type=′access′>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-envelope″>
<env:Header>
</env:Header>
<env:Body>
<location>Shenzhen</location>
<date>2008-3-21</date>
</env:Body>
</env:Envelope>
</soap>
</service>;
本发明另一种实施例可以在XMPP服务器获得业务访问信息及业务访问端提供的参数后自己构造业务访问请求,即业务访问端需要在发送业务查询请求的同时将业务访问参数发送给XMPP服务器,则XMPP服务器不必将业务访问信息反馈给XMPP客户端。因此步骤4、5为可选步骤。
步骤6:XMPP服务器为业务访问选择路由路径;
XMPP服务器根据所述业务访问请求消息的目的地址,查询网络状况及路由策略信息为该业务访问配置路径。
如果所述业务访问请求为XMPP客户端发送的,且其中包含了完整的路由路径,则XMPP服务器直接执行步骤7,如果业务访问请求中包含了不完整的路由路径,则XMPP服务器根据业务访问请求的QoS需求、路由策略、网络状况完善该路由路径,并将完善后的路由路径添加到XML消息的路由路径<path>元素中;若所述业务访问请求中没有包含路由路径信息,则由XMPP服务器根据业务访问请求的QoS需求、路由策略、网络状况为该业务访问配置完成的路由路径,并将路由路径添加到XML消息的路由路径<path>元素中;例如若当前业务访问请求消息需要经过SOAP://authentication.A.com节点对消息进行鉴权,则如下:
<service to=′www.airline.com/portal/query′from=′Alice@exmaple.com′id=′s02′
type=′access′>
<path>
<fwd>
<via>SOAP://authentication.A.com</via>
<via>SOAP://encryption.B.com</via>
</fwd>
<rev>
<via>server@example.com</via>
</rev>
</path>
<SOAPAction>www.airline.com/portal#query</SOAPAction>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Header>
<messageID>s000001</message>
</env:Header>
<env:Body>
<location>Shenzhen</location>
<date>2008-3-21</date>
</env:Body>
</env:Envelope>
</soap>
</service>;
步骤7:XMPP服务器将该业务访问请求转发至下一跳XMPP服务器;
XMPP服务器根据路由路径<path>中内容选择下一跳的XMPP服务器,在发送所述业务访问请求给下一跳XMPP服务器前,确定是否已经和下一跳XMPP服务器建立XML流连接,若没有建立,则先建立与下一跳XMPP服务器的XML流连接后,再发送该业务访问请求给下一跳XMPP服务器。
步骤8:下一跳XMPP服务器可以对该业务访问请求进行鉴权;
如果鉴权通过,则执行步骤9;如果鉴权失败,则结束操作,并向XMPP客户端发送鉴权失败通知。该步骤为可选步骤。
步骤9:下一跳XMPP服务器将该业务访问请求消息转发给下一跳XMPP服务器,直到XMPP网关;
下一跳XMPP服务器在鉴权通过后删除路由路径消息中的本节点信息,在逆向路径中增加本节点信息。然后将该消息转发给路由路径中的下一跳XMPP服务器;按照此方法直到将业务访问请求发送到与业务服务器相连的XMPP网关。例如,一种转发过程如下:
<service to=′www.airline.com/portal/query′from=′Alice@exmaple.com′id=′s02′
type=′access′>
<path>
<fwd>
<via>SOAP://encryption.B.com</via>
</fwd>
<rev>
<via>SOAP://authentication.A.com</via>
<via>server@example.com</via>
</rev>
</path>
<SOAPAction>www.airline.com/portal#query</SOAPAction>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Header>
</env:Header>
<env:Body>
<location>Shenzhen</location>
<date>2008-3-21</date>
</env:Body>
</env:Envelope>
</soap>
</service>;
步骤10:XMPP网关接收到业务访问请求后,提取业务访问请求消息,保存路径等信息,以便生成响应消息;
XMPP网关接收到业务访问请求消息后,提取封装在<service>节中的业务访问请求消息,保存该<service>节中的路由路径等信息,以便生成响应消息。
步骤11:XMPP网关调用业务服务器;
若业务服务器支持的消息格式与XMPP网关接收的业务访问请求的消息格式不一致,则XMPP网关将该业务访问请求转换为业务服务器支持的格式,调用业务服务器的服务;
步骤12:业务服务器处理调用,生成业务访问响应消息;
步骤13:XMPP网关接收业务服务器返回的业务访问响应消息;
例如,如下的业务服务器返回业务访问响应消息给XMPP网关的过程,
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-envelope″>
<env:Header>
<messageID>s000001</messageID>
</env:Header>
<env:Body>
<item>
<airline number>CA001</airline number>
<time>9:00AM</time>
<price>1800RMB</price>
...
</item>
<item>
...
</item>
</env:Body>
</env:Envelope>;
步骤14:XMPP网关将所述业务访问响应消息封装在XMPP消息中;
步骤15:XMPP网关确定业务访问响应消息的路由路径;
XMPP网关检测该业务访问响应消息对应的业务访问请求中是否带有路由路径信息,如果有,则将该根据该路由路径信息作为响应消息的路由路径。如果没有携带路由路径信息,则XMPP网关为该业务访问响应消息选择转发路径。例如,
<service to=′Alice@exmaple.com′from=′www.airline.com/portal/query′id=′s02′
type=′reply′>
<path>
<rev>
<via>SOAP://encryption.B.com</via>
<via>SOAP://authentication.A.com</via>
<via>server@example.com</via>
</rev>
</path>
SOAPAction>www.airline.com/portal#query</SOAPAction>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Header>
<messageID>s000001</messageID>
</env:Header>
<env:Body>
<item>
<airline number>CA001</airline number>
<time>9:00AM</time>
<price>1800RMB</price>
...
</item>
<item>
...
</item>
</env:Body>
</env:Envelope>
</soap>
</service>;
所述业务访问响应消息中携带的路由路径信息可以是对应的业务访问请求路由路径信息或逆向路径信息。
步骤16:XMPP网关转发业务访问响应消息直到与XMPP客户端直接相连的XMPP服务器;
该转发过程与业务访问请求路由类似,此处不再赘述。
步骤17:与XMPP客户端直接相连的XMPP服务器将路由等相关信息删除,然后将该业务访问响应消息发送给对应的XMPP客户端。
XMPP服务器检测到该响应消息的目的地址为其管理域内的客户端,则将路由信息等相关信息删除,然后将该响应消息发送给客户端。
<service to=′Alice@exmaple.com′from=′www.airline.com/portal/query′id=′s02′
type=′reply′>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-envelope″>
<env:Header>
<messageID>s000001</messageID>
</env:Header>
<env:Body>
<item>
<airline number>CA001</airline number>
<time>9:00AM</time>
<price>1800RMB</price>
...
</item>
<item>
...
</item>
</env:Body>
</env:Envelope>
</soap>
</service>。
本实施例采用XMPP协议作为业务网络的承载协议,能够建立业务服务器与业务访问端的双向的连接,在具有状态的会话中,业务服务器能主动推送状态信息给业务访问端,保持业务状态信息的同步,避免客户端为获取会话状态周期性的轮询业务服务器,减少了服务器负载和网络流量,并提高了服务的实时性;
另外,由于在XMPP协议中扩展了路由路径元素,使业务访问端或XMPP服务器能够指定业务访问消息的路由路径。XMPP服务器可以根据业务访问的QoS需求、网络状况、策略控制及安全等因素指定路由路径,从而提高了业务访问的效率和可靠性,有利于平衡网络和业务的负载,实现对业务访问消息的策略、安全等控制。
本发明实施例三提供一种基于XMPP协议访问业务的方法,本实施例以XMPP客户端订阅业务为例,假设XMPP客户端知道业务服务器的地址,如图4所示为本实施例所述方法流程图,包括如下步骤:
步骤400:XMPP客户端所属域的XMPP服务器接收XMPP客户端发送的业务订阅请求消息;例如,
<service to=′www.weather.com/portal/subscription′from=′Alice@exmaple.com′
id=′s03′type=′access′>
<buffer>yes</buffer>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Header>
</env:Header>
<env:Body>
<location>Shenzhen</location>
</env:Body>
</env:Envelope>
</soap>
</service>;
步骤401:XMPP服务器接收到所述业务订阅请求后,为其确定路由路径,过程如实施例1中所述,此处不再赘述。
步骤402:XMPP服务器将业务订阅请求转发至下一跳XMPP服务器,直至达到与业务服务器相连的XMPP网关;
当然,也可以不指定路由路径,则业务访问节中<path/>元素为空元素,表示不限定消息路由路径。XMPP服务器将订阅请求至下一跳XMPP服务器,直至达到与业务服务器相连的XMPP网关,例如,
<service to=′www.weather.com/portal/subscription′from=′Alice@exmaple.com′
id=′s03′type=′access′>
<path/>
<buffer>yes</buffer>
<SOAPAction>www.weather.com/portal/subscription</SOAPAction>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Header>
</env:Header>
<env:Bodv>
<location>Shenzhen</location>
</env:Body>
</env:Envelope>
</soap>
</service>;
步骤403:XMPP网关接收到业务订阅请求后,提取业务订阅请求消息,保存请求者(XMPP客户端)等信息,以便生成响应消息;
XMPP网关接收到<service>节后,提取封装在<service>节中的业务订阅请求消息,保存该<service>节中的请求者等信息,以便生成响应消息。
步骤404:XMPP网关调用业务服务器接口,发送订阅请求,订阅业务,例如,
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-envelope″>
<env:Header>
</env:Header>
<env:Body>
<location>Shenzhen</location>
</env:Body>
</env:Envelope>;
步骤405:业务服务器进行业务订阅处理;
步骤406:业务服务器返回订阅结果给该XMPP网关,即返回订阅确认消息;例如
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-envelope″>
<env:Body>
<state>successful</state>
</env:Body>
</env:Envelope>;
步骤407:XMPP网关将订阅结果封装在XMPP消息中;例如,
<service to=′Alice@exmaple.com′from=′www.weather.com/portal/subscription′
id=′s03′type=′reply′>
<SOAPAction>www.weather.com/portal/subscription</SOAPAction>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Body>
<state>successful</state>
</env:Body>
</env:Envelope>
</soap>
</service>;
步骤408:XMPP网关通过一个或多个XMPP服务器转发该订阅结果至订阅此业务的XMPP客户端。
XMPP网关通过一个或多个XMPP服务器转发该订阅结果,最后由订阅此业务的XMPP客户端所属域的XMPP服务器发送所述订阅结果给XMPP客户端。所述订阅结果包括订阅成功确认消息或订阅失败消息;
步骤409:当业务服务器端的业务逻辑触发业务订阅条件时,业务服务器处理订阅请求,生成订阅数据;例如,
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-envelope″>
<env:Header>
</env:Header>
<env:Body>
<weather>cloudy</weather>
<tempreture>15-23</tempreture>
</env:Body>
</env:Envelope>;
步骤410:业务服务器将订阅数据发送给XMPP网关;
步骤411:XMPP网关确定该订阅数据的路由路径,方式与实施例一中所述;例如,
<service to=′Alice@exmaple.com′from=′www.weather.com/portal/subscription′
id=′s03′type=′reply′>
<buffer>yes</buffer>
<SOAPAction>www.weather.com/portal/subscription</SOAPAction>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Body>
<state>successful</state>
</env:Body>
</env:Envelope>
</soap>
</service>;
步骤412:XMPP网关将该订阅数据发送至下一跳XMPP服务器,直至XMPP客户端所属域的XMPP服务器。
步骤413:XMPP服务器判断是否需要缓存该订阅数据;该步骤为可选步骤;
判断是否缓存的方法包括:首先判断XMPP客户端是否在线;如果不在线,则判断消息中是否包含<buffer>元素,且所包含的<buffer>元素的值是否为“yes”,如果是,执行步骤414则缓存所述订阅结果,在后续XMPP客户端登录到该XMPP服务器后,执行步骤415;如果不包含<buffer>元素或所包含的<buffer>元素的值为“no”,则不缓存,此时可选的向业务服务器发送响应失败相关信息;
若XMPP客户端在线,则执行步骤415:即直接将订阅数据发送给XMPP客户端,例如,
<service to=′Alice@exmaple.com′from=′www.weather.com/portal/subscription′
id=′s03′type=′reply′>
<SOAPAction>www.weather.com/portal/subscription</SOAPAction>
<soap>
<env:Envelope xmlns:env=″http://www.w3.org/2003/05/soap-
envelope″>
<env:Body>
<state>successful</state>
</env:Body>
</env:Envelope>
</soap>
</service>。
本实施例采用XMPP协议作为业务网络的承载协议,能够建立业务服务器与业务访问端的双向的连接,在具有状态的会话中,业务服务器能主动推送状态信息给业务访问端,保持业务状态信息的同步,避免客户端为获取会话状态周期性的轮询业务服务器,减少了服务器负载和网络流量,并提高了服务的实时性;另外,由于在XMPP协议中扩展了路由路径元素,使业务访问端或XMPP服务器能够指定业务访问消息的路由路径。XMPP服务器可以根据业务访问的QoS需求、网络状况、策略控制及安全等因素指定路由路径,从而提高了业务访问的效率和可靠性,有利于平衡网络和业务的负载,实现对业务访问消息的策略、安全等控制。且本实施例通过将消息缓存,解决了XMPP客户端离线情况下,业务服务器发送消息失败的问题。
综上所述,本发明实施例通过采用XMPP协议访问业务取得了如下显著进步:
能够建立业务服务器与业务访问端的双向的连接,在具有状态的会话中,业务服务器能主动推送状态信息给业务访问端,保持业务状态信息的同步,避免客户端为获取会话状态周期性的轮询业务服务器,减少了服务器负载和网络流量,并提高了服务的实时性;
另外,由于在XMPP协议中扩展了路由路径元素,使业务访问端或XMPP服务器能够指定业务访问消息的路由路径。XMPP服务器可以根据业务访问的QoS需求、网络状况、策略控制及安全等因素指定路由路径,从而提高了业务访问的效率和可靠性,有利于平衡网络和业务的负载,实现对业务访问消息的策略、安全等控制。
通过将消息缓存,解决了XMPP客户端离线情况下,业务服务器发送消息失败的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (19)
1、一种基于XMPP协议访问业务的方法,其特征在于,包括:
可扩展消息在线协议XMPP客户端所属域的XMPP服务器接收通过XMPP协议承载的业务访问请求;
所述XMPP服务器为业务访问请求选择路由路径,并按照所述路由路径转发所述业务访问请求到下一跳XMPP服务器,并依次转发到与业务服务器相连的XMPP网关;
XMPP网关接收到所述业务访问请求后,调用业务服务器获得业务访问响应消息,转发所述业务访问响应消息至所述XMPP客户端所属域的XMPP服务器;
所述XMPP客户端所属域的XMPP服务器将所述业务访问响应消息发送给XMPP客户端。
2、如权利要求1所述的方法,其特征在于,所述XMPP客户端所属域的XMPP服务器接收通过XMPP协议承载的业务访问请求前,还包括:
XMPP客户端所属域的XMPP服务器接收XMPP客户端发送的业务查询请求,请求获得业务访问信息;
XMPP服务器根据所述业务查询请求向业务管理服务器获取业务访问信息反馈给XMPP客户端。
3、如权利要求1所述的方法,其特征在于,所述XMPP客户端所属域的XMPP服务器接收通过XMPP协议承载的业务访问请求前,还包括:
XMPP客户端所属域的XMPP服务器接收XMPP客户端发送的业务查询请求,请求获得业务访问信息;
XMPP服务器根据所述业务查询请求向业务管理服务器获取业务访问信息;
XMPP服务器根据所述业务访问信息以及业务查询请求生成所述业务访问请求。
4、如权利要求1所述的方法,其特征在于,所述XMPP服务器为业务访问请求选择路由路径的方法包括:
如果所述业务访问请求中包含了完整的路由路径,则该业务访问请求中包含的路由路径即为XMPP服务器选择的路由路径;
如果所述业务访问请求中包含了不完整的路由路径,或所述业务访问请求中没有包含路由路径信息,则XMPP服务器根据查询的网络状况、路由策略,以及业务访问请求的服务质量QoS需求为该业务访问选择完善路由路径。
5、如权利要求1所述的方法,其特征在于,按照所述路由路径转发所述业务访问请求到下一跳XMPP服务器,并依次转发到与业务服务器相连的XMPP网关的方法包括:
XMPP服务器将业务访问请求发送给所述选择的路由路径中的下一跳XMPP服务器;
所述下一跳XMPP服务器在路由路径中删除本XMPP服务器信息,并在逆向路径中增加本XMPP服务器信息,然后将业务访问请求转发至下一跳XMPP服务器,直到与业务服务器相连的XMPP网关。
6、如权利要求1所述的方法,其特征在于,所述XMPP网关接收到所述业务访问请求后,调用业务服务器的相关业务前,还包括:
XMPP网关将所述业务访问请求转换为业务服务器支持的访问请求消息格式。
7、如权利要求6所述的方法,其特征在于,所述XMPP网关接收到所述业务访问请求后,调用业务服务器的相关业务前,还包括:
XMPP网关保存所述业务访问请求的路由路径信息或业务访问请求的XMPP客户端信息。
8、如权利要求7所述的方法,其特征在于,XMPP网关转发所述业务访问响应消息至所述XMPP客户端所属域的XMPP服务器的方法包括:
XMPP网关判断是否保存与所述业务访问响应消息对应的业务访问请求的路由路径信息;
若有,则按照所述路由路径转发所述业务访问响应消息至所述XMPP客户端所属域的XMPP服务器;
若没有,则根据保存的业务访问请求的XMPP客户端信息为所述业务访问响应消息生成路由路径,并根据该生成的业务访问响应消息的路由路径转发所述业务访问响应消息至所述XMPP客户端所属域的XMPP服务器。
9、如权利要求1至8中任一项所述的方法,其特征在于,所述XMPP协议中定义有<server>节,所述<server>节中包含消息路由路径元素<path>,在<path>元素中包含一个或多个子元素,用于记录所述路由路径必须经过的节点。
10、如权利要求9所述的方法,其特征在于,所述<server>节的属性type包括:access和reply,access表示业务访问请求消息,reply表示业务访问响应消息。
11、如权利要求1所述的方法,其特征在于,所述XMPP客户端所属域的XMPP服务器将所述业务访问响应消息发送给XMPP客户端的方法包括:
XMPP客户端所属域的XMPP服务器判断所述XMPP客户端是否在线;
若在线,则将所述业务访问响应消息发送给XMPP客户端;
若不在线,则判断所述业务访问响应消息中是否携带有缓存元素<buffer>,且所述<buffer>元素的值是否为“yes”,若是,则缓存所述业务访问响应消息,直到所述XMPP客户端登录后将该业务访问响应消息发送给所述XMPP客户端;若所述业务访问响应消息中没有携带<buffer>元素或所述携带的<buffer>元素值为“no”,则不缓存所述业务访问响应消息。
12、一种XMPP客户端设备,其特征在于,包括:
请求模块,用于使用XMPP协议发送业务访问请求;
接收模块,用于接收XMPP服务器发送的通过XMPP协议承载的业务访问响应消息。
13、如权利要求12所述的客户端设备,其特征在于,还包括:
查询模块,用于向XMPP服务器发送业务查询请求,查询业务访问信息;和/或
路由指定模块,用于在所述业务访问请求中指定业务访问的路由路径。
14、一种XMPP服务器,其特征在于,包括:
流管理模块,用于管理与其他实体的可扩展标记语言XML流连接和会话状态;
路由模块,用于在各个实体之间建立的XML流上路由XMPP消息;
路由配置模块,用于获取及交换当前网络状况信息,根据网络状况、路由策略、以及服务质量QoS需求为XMPP消息选择路由路径。
15、如权利要求14所述的XMPP服务器,其特征在于,还包括下述模块中的任意一个或多个:
业务查询模块,用于接收业务访问端发送的业务查询请求,根据所述业务查询请求查询业务访问信息;
业务访问请求构造模块,用于根据所述查询的业务访问信息及业务查询请求构造业务访问请求;
缓存模块,用于判断是否需要缓存发送给业务访问端的业务访问响应消息,并将需要缓存的业务访问响应消息缓存。
16、一种XMPP网关,其特征在于,包括:
流管理模块,用于管理与其他实体的可扩展标记语言XML流连接和会话状态;
路由模块,用于在各个实体之间建立的XML流上路由XMPP消息;
路由配置模块,用于获取及交换当前网络状况信息,根据网络状况、路由策略、以及服务质量QoS需求为XMPP消息选择路由路径;
协议转换模块,用于XMPP消息与其他协议消息的相互转换;
业务调用模块,用于解析XMPP消息,调用业务服务器获得业务访问响应消息,并将业务访问响应消息封装在XMPP消息中。
17、如权利要求16所述的XMPP网关,其特征在于,还包括下述模块中的任意一个或多个:
业务查询模块,用于接收业务访问端发送的业务查询请求,根据所述业务查询请求查询业务访问信息;
业务访问请求构造模块,用于根据所述查询的业务访问信息及业务查询请求构造业务访问请求;
缓存模块,用于判断是否需要缓存发送给业务访问端的业务访问响应消息,并将需要缓存的业务访问响应消息缓存。
18、一种基于XMPP协议访问业务的系统,其特征在于,包括:XMPP服务器、XMPP网关及业务服务器;
所述XMPP服务器用于接收通过XMPP协议承载的业务访问请求,为业务访问请求选择路由路径,以及按照所述路由路径转发所述业务访问请求直到与业务服务器相连的XMPP网关;
所述XMPP网关用于调用业务服务器,获得业务访问响应消息,转发所述业务访问响应消息给XMPP服务器;
所述业务服务器用于提供具体业务服务。
19、如权利要求18所述的系统,其特征在于,还包括:
业务管理服务器:用于负责业务注册,保存具体业务的功能描述信息,维护当前各业务服务器服务质量信息,为XMPP服务器提供业务访问信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810222647A CN101677319A (zh) | 2008-09-19 | 2008-09-19 | 一种基于xmpp协议访问业务的方法、装置及系统 |
PCT/CN2009/073768 WO2010031310A1 (zh) | 2008-09-19 | 2009-09-04 | 一种基于xmpp协议访问业务的方法、装置及系统 |
US13/051,757 US20110173324A1 (en) | 2008-09-19 | 2011-03-18 | Method, apparatus, and system for accessing services over the extensible messaging and presence protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810222647A CN101677319A (zh) | 2008-09-19 | 2008-09-19 | 一种基于xmpp协议访问业务的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101677319A true CN101677319A (zh) | 2010-03-24 |
Family
ID=42029738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810222647A Pending CN101677319A (zh) | 2008-09-19 | 2008-09-19 | 一种基于xmpp协议访问业务的方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110173324A1 (zh) |
CN (1) | CN101677319A (zh) |
WO (1) | WO2010031310A1 (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143181A (zh) * | 2011-03-31 | 2011-08-03 | 中国联合网络通信集团有限公司 | 网格环境中获取资源的方法及装置 |
WO2011144123A2 (zh) * | 2011-05-30 | 2011-11-24 | 华为技术有限公司 | 签约业务处理方法和网关及系统 |
CN102289737A (zh) * | 2011-07-29 | 2011-12-21 | 武汉大学 | 一种基于xmpp的物联网实体权属管理方法 |
CN102571857A (zh) * | 2010-12-27 | 2012-07-11 | 深圳市闪联信息技术有限公司 | 一种实现登录xmpp服务器的方法和系统 |
CN102857472A (zh) * | 2011-06-28 | 2013-01-02 | 上海地面通信息网络有限公司 | 一种为isp平台客户提供安全防护的防火墙系统 |
CN103200102A (zh) * | 2012-01-09 | 2013-07-10 | 中兴通讯股份有限公司 | 一种业务路由方法、装置和系统 |
CN103338182A (zh) * | 2013-05-09 | 2013-10-02 | 闫凤麒 | 一种基于扩展xmpp协议的健康数据通信方法 |
CN103413240A (zh) * | 2013-08-29 | 2013-11-27 | 广州龙媒计算机科技有限公司 | 基于供应商数据库用户交互系统的通信方法、设备及系统 |
CN103477600A (zh) * | 2010-04-07 | 2013-12-25 | 惠普发展公司有限责任合伙企业 | 设备消息传送 |
CN103782571A (zh) * | 2011-07-07 | 2014-05-07 | 思科技术公司 | 用于提供基于消息和事件的视频服务控制平面的系统和方法 |
CN104219296A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 一种Android云推送方法及系统 |
CN104506414A (zh) * | 2014-12-17 | 2015-04-08 | 北京邮电大学 | 一种基于即时消息模式实现综合消息化应用的系统及方法 |
CN105515947A (zh) * | 2015-12-03 | 2016-04-20 | 河北远东通信系统工程有限公司 | 一种基于xmpp的异构终端消息互通的方法、服务器及系统 |
CN105553818A (zh) * | 2015-12-10 | 2016-05-04 | 河北远东通信系统工程有限公司 | 一种基于xmpp协议实现电子公告的系统和方法 |
US9361052B2 (en) | 2011-09-28 | 2016-06-07 | Hewlett-Packard Development Company L.P. | Managing network connections |
CN108476219A (zh) * | 2016-01-13 | 2018-08-31 | 西门子股份公司 | 用于数据交换的方法和设备 |
WO2020248363A1 (zh) * | 2019-06-14 | 2020-12-17 | 平安科技(深圳)有限公司 | 服务器负载均衡方法及相关设备 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601115B2 (en) * | 2010-06-26 | 2013-12-03 | Cisco Technology, Inc. | Providing state information and remote command execution in a managed media device |
US9065831B2 (en) * | 2011-03-01 | 2015-06-23 | Cisco Technology, Inc. | Active load distribution for control plane traffic using a messaging and presence protocol |
US9235447B2 (en) | 2011-03-03 | 2016-01-12 | Cisco Technology, Inc. | Extensible attribute summarization |
CN104184651A (zh) * | 2013-05-28 | 2014-12-03 | 中国电信股份有限公司 | 即时信息传送方法、系统、接入服务器和客户端 |
US9444735B2 (en) | 2014-02-27 | 2016-09-13 | Cisco Technology, Inc. | Contextual summarization tag and type match using network subnetting |
US10904069B2 (en) * | 2016-11-29 | 2021-01-26 | Brother Kogyo Kabushiki Kaisha | Communication apparatus executing specific process related to security |
US10623505B2 (en) * | 2017-07-27 | 2020-04-14 | Cisco Technology, Inc. | Integrating service appliances without source network address translation in networks with logical overlays |
US11165863B1 (en) | 2017-08-04 | 2021-11-02 | 128 Technology, Inc. | Network neighborhoods for establishing communication relationships between communication interfaces in an administrative domain |
US20190253341A1 (en) * | 2018-02-15 | 2019-08-15 | 128 Technology, Inc. | Service Related Routing Method and Apparatus |
US10721286B2 (en) * | 2018-05-23 | 2020-07-21 | Open Text Sa Ulc | Communication management systems and methods for local delivery service |
ES2949148T3 (es) | 2018-07-30 | 2023-09-26 | Nagravision Sarl | Un método para transmitir mensajes entre un dispositivo y un servidor remoto |
JP7190837B2 (ja) * | 2018-07-31 | 2022-12-16 | キヤノン株式会社 | 中継装置、制御方法、及び、プログラム |
US10771570B2 (en) * | 2018-10-15 | 2020-09-08 | Citrix Systems, Inc. | Scalable message passing architecture a cloud environment |
CN109842620B (zh) * | 2019-01-21 | 2021-10-19 | 中国联合网络通信集团有限公司 | 业务发布方法及装置 |
US11658902B2 (en) | 2020-04-23 | 2023-05-23 | Juniper Networks, Inc. | Session monitoring using metrics of session establishment |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986036B2 (en) * | 2002-03-20 | 2006-01-10 | Microsoft Corporation | System and method for protecting privacy and anonymity of parties of network communications |
US7310659B1 (en) * | 2003-06-27 | 2007-12-18 | Sprint Communications Company L.P. | Interface and method for extending a target application over an instant message link of a communication network |
US7844675B2 (en) * | 2005-12-15 | 2010-11-30 | At&T Intellectual Property I, L.P. | Accessing web services |
US7814534B2 (en) * | 2006-09-08 | 2010-10-12 | Microsoft Corporation | Auditing authorization decisions |
US8180735B2 (en) * | 2006-12-29 | 2012-05-15 | Prodea Systems, Inc. | Managed file backup and restore at remote storage locations through multi-services gateway at user premises |
CN101212474B (zh) * | 2006-12-31 | 2010-08-11 | 中国科学院声学研究所 | 一种基于即时通信技术的文件发布方法 |
US8194657B2 (en) * | 2007-05-22 | 2012-06-05 | Actiontec Electronics, Inc. | Systems and methods for dynamic quality of service |
CN101291415B (zh) * | 2008-05-30 | 2010-07-21 | 华为终端有限公司 | 一种三维视频通信的方法、装置及系统 |
-
2008
- 2008-09-19 CN CN200810222647A patent/CN101677319A/zh active Pending
-
2009
- 2009-09-04 WO PCT/CN2009/073768 patent/WO2010031310A1/zh active Application Filing
-
2011
- 2011-03-18 US US13/051,757 patent/US20110173324A1/en not_active Abandoned
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103477600A (zh) * | 2010-04-07 | 2013-12-25 | 惠普发展公司有限责任合伙企业 | 设备消息传送 |
CN103477600B (zh) * | 2010-04-07 | 2017-03-22 | 惠普发展公司有限责任合伙企业 | 用于消息传送的设备、方法和系统 |
CN102571857A (zh) * | 2010-12-27 | 2012-07-11 | 深圳市闪联信息技术有限公司 | 一种实现登录xmpp服务器的方法和系统 |
CN102143181A (zh) * | 2011-03-31 | 2011-08-03 | 中国联合网络通信集团有限公司 | 网格环境中获取资源的方法及装置 |
CN102143181B (zh) * | 2011-03-31 | 2014-03-05 | 中国联合网络通信集团有限公司 | 网格环境中获取资源的方法及装置 |
WO2011144123A2 (zh) * | 2011-05-30 | 2011-11-24 | 华为技术有限公司 | 签约业务处理方法和网关及系统 |
CN102265567A (zh) * | 2011-05-30 | 2011-11-30 | 华为技术有限公司 | 签约业务处理方法和网关及系统 |
WO2011144123A3 (zh) * | 2011-05-30 | 2012-05-10 | 华为技术有限公司 | 签约业务处理方法和网关及系统 |
CN102265567B (zh) * | 2011-05-30 | 2014-07-30 | 华为技术有限公司 | 签约业务处理方法和网关及系统 |
CN102857472A (zh) * | 2011-06-28 | 2013-01-02 | 上海地面通信息网络有限公司 | 一种为isp平台客户提供安全防护的防火墙系统 |
CN103782571A (zh) * | 2011-07-07 | 2014-05-07 | 思科技术公司 | 用于提供基于消息和事件的视频服务控制平面的系统和方法 |
CN102289737A (zh) * | 2011-07-29 | 2011-12-21 | 武汉大学 | 一种基于xmpp的物联网实体权属管理方法 |
US9361052B2 (en) | 2011-09-28 | 2016-06-07 | Hewlett-Packard Development Company L.P. | Managing network connections |
CN103200102A (zh) * | 2012-01-09 | 2013-07-10 | 中兴通讯股份有限公司 | 一种业务路由方法、装置和系统 |
CN103200102B (zh) * | 2012-01-09 | 2018-02-13 | 中兴通讯股份有限公司 | 一种业务路由方法、装置和系统 |
CN103338182A (zh) * | 2013-05-09 | 2013-10-02 | 闫凤麒 | 一种基于扩展xmpp协议的健康数据通信方法 |
CN103338182B (zh) * | 2013-05-09 | 2016-11-02 | 闫凤麒 | 一种基于扩展xmpp协议的健康数据通信方法 |
CN103413240A (zh) * | 2013-08-29 | 2013-11-27 | 广州龙媒计算机科技有限公司 | 基于供应商数据库用户交互系统的通信方法、设备及系统 |
CN104219296A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 一种Android云推送方法及系统 |
CN104506414B (zh) * | 2014-12-17 | 2017-10-13 | 北京邮电大学 | 一种基于即时消息模式实现综合消息化应用的系统及方法 |
CN104506414A (zh) * | 2014-12-17 | 2015-04-08 | 北京邮电大学 | 一种基于即时消息模式实现综合消息化应用的系统及方法 |
CN105515947A (zh) * | 2015-12-03 | 2016-04-20 | 河北远东通信系统工程有限公司 | 一种基于xmpp的异构终端消息互通的方法、服务器及系统 |
CN105515947B (zh) * | 2015-12-03 | 2018-08-21 | 河北远东通信系统工程有限公司 | 一种基于xmpp的异构终端消息互通的方法、服务器及系统 |
CN105553818A (zh) * | 2015-12-10 | 2016-05-04 | 河北远东通信系统工程有限公司 | 一种基于xmpp协议实现电子公告的系统和方法 |
CN105553818B (zh) * | 2015-12-10 | 2018-07-10 | 河北远东通信系统工程有限公司 | 一种基于xmpp协议实现电子公告的系统和方法 |
CN108476219A (zh) * | 2016-01-13 | 2018-08-31 | 西门子股份公司 | 用于数据交换的方法和设备 |
CN108476219B (zh) * | 2016-01-13 | 2021-11-09 | 西门子股份公司 | 用于数据交换的方法和设备 |
WO2020248363A1 (zh) * | 2019-06-14 | 2020-12-17 | 平安科技(深圳)有限公司 | 服务器负载均衡方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2010031310A1 (zh) | 2010-03-25 |
US20110173324A1 (en) | 2011-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101677319A (zh) | 一种基于xmpp协议访问业务的方法、装置及系统 | |
EP2103085B1 (en) | Communications method for a packet-switched network and network employing the method | |
US9258132B2 (en) | NETCONF SNMP gateway | |
US7844745B1 (en) | Alternate home subscriber server (HSS) node to receive a request if a first HSS node cannot handle said request | |
Caporuscio et al. | ubiSOAP: A service-oriented middleware for ubiquitous networking | |
US8938502B2 (en) | Subscriber device and subscription management that supports real-time communication | |
US20110185082A1 (en) | Systems and methods for network virtualization | |
CN102893556A (zh) | 用于源对等体基于容量的Diameter负载共享的方法、系统和计算机可读介质 | |
EP1851647A2 (en) | Provisioning and management in a message publish/subscribe system | |
Lund et al. | Robust web services in heterogeneous military networks | |
EP2487844B1 (en) | Control unit and method for dynamically controlling the routing within a network | |
Srirama et al. | Scalable mobile web services mediation framework | |
Hmissi et al. | TD-MQTT: Transparent distributed MQTT brokers for horizontal IoT applications | |
Moritz et al. | Devices profile for web services in wireless sensor networks: Adaptations and enhancements | |
US7689648B2 (en) | Dynamic peer network extension bridge | |
WO2008065122A2 (en) | Node registering method | |
US20170150471A1 (en) | Message transmission method and node device based on network selection and time arrangement | |
Jeong et al. | Lisp controller: a centralized lisp management system for isp networks | |
WO2011026355A1 (zh) | 节点接入家乡代理的方法、家乡代理集群系统及业务路由器 | |
Zaplata et al. | Realizing mobile web services for dynamic applications | |
Derakhshan et al. | Enabling cloud connectivity using SDN and NFV technologies | |
JP4637562B2 (ja) | パッシブネットワークとアクティブネットワークの結合のためのゲートウェイ | |
JP5798075B2 (ja) | メッセージングサーバを用いた状態通知方法及びシステム | |
Sofia | An Overview on the Evolution of IoT Communication Approaches | |
Tan et al. | Lightweight messaging protocol for precision agriculture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100324 |