CN102118378A - 3c协同设备、通信系统和通信方法 - Google Patents

3c协同设备、通信系统和通信方法 Download PDF

Info

Publication number
CN102118378A
CN102118378A CN2010100338039A CN201010033803A CN102118378A CN 102118378 A CN102118378 A CN 102118378A CN 2010100338039 A CN2010100338039 A CN 2010100338039A CN 201010033803 A CN201010033803 A CN 201010033803A CN 102118378 A CN102118378 A CN 102118378A
Authority
CN
China
Prior art keywords
cooperative device
xmpp
equipment
information
description file
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
Application number
CN2010100338039A
Other languages
English (en)
Inventor
奉飞飞
曹重英
郝鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Igrs Yunshi Information Technology Co., Ltd.
Original Assignee
Shenzhen Igrs Information Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Igrs Information Technology Ltd filed Critical Shenzhen Igrs Information Technology Ltd
Priority to CN2010100338039A priority Critical patent/CN102118378A/zh
Publication of CN102118378A publication Critical patent/CN102118378A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种3C协同设备,包括:3C协同单元,用于提供3C协同设备原有的功能;XMPP单元,用于提供XMPP规定的功能;所述3C协同单元具体用于将3C协同信息提供给所述XMPP单元,所述XMPP单元具体用于将3C协同信息封装在XMPP消息中,并将封装后的XMPP消息提供给XMPP服务器;所述XMPP单元具体用于从XMPP服务器获得携带3C协同信息的XMPP消息,并对获得的XMPP消息解封装,将得到的3C协同信息提供给所述3C协同单元。本发明还提供一种通信系统和两种基于所述通信系统的通信方法。本发明实现了在广域网范围内的3C协同设备之间的互联。

Description

3C协同设备、通信系统和通信方法
技术领域
本发明涉及通信技术,尤其涉及计算机、通信和消费类电子产品(3C,Computer Communication Consumer electronic)协同设备、通信系统和通信方法。
背景技术
3C协同设备是指在局域网内使用简单服务发现协议(SSDP,SimpleService Discovery Protocol)查找与发现设备和服务、使用简单对象访问协议(SOAP,Simple Object Access Protocol)调用服务的设备。3C协同设备具有智能互联、资源共享、协同服务等功能,为便于下文描述,这里将这些功能称为3C协同设备原有的功能。
目前,3C协同设备可以实现在局域网内的互联。但是,随着互联网及3C协同设备的普及,在广域网范围内实现3C协同设备之间的互联的需求不断增强,即,要求无论3C协同设备在哪里,只要具备互联网连接的条件,3C协同设备之间都可以实现互联,从而突破原有的3C协同设备之间只能在一个局域网内互联的局限。
本发明的发明人在仔细研究现有技术后发现,目前,还没有一种合适的技术方案能够实现在广域网范围内的3C协同设备之间的互联。
发明内容
本发明提供3C协同设备、通信系统和通信方法,用以实现在广域网范围内的3C协同设备之间的互联。
为此,本发明提供一种3C协同设备,包括:3C协同单元,用于提供3C协同设备原有的功能;XMPP单元,用于提供XMPP规定的功能;所述3C协同单元具体用于将3C协同信息提供给所述XMPP单元,所述XMPP单元具体用于将3C协同信息封装在XMPP消息中,并将封装后的XMPP消息提供给XMPP服务器;所述XMPP单元具体用于从XMPP服务器获得携带3C协同信息的XMPP消息,并对获得的XMPP消息解封装,将得到的3C协同信息提供给所述3C协同单元。
本发明提供一种通信系统,包括:3C协同设备和XMPP服务器;所述3C协同设备用于提供3C协同设备原有的功能和XMPP规定的功能;3C协同设备之间通过各自对应的XMPP服务器交互消息,交互的消息为携带3C协同信息的XMPP消息。
本发明提供一种基于上述通信系统的通信方法,包括:3C协同设备上线;3C协同设备与对应的XMPP服务器之间建立XML流;3C协同设备向对应的XMPP服务器提供上线信息;3C协同设备获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和设备/服务描述文件;3C协同设备向对应的XMPP服务器请求调用3C协同服务;3C协同设备获得对应的XMPP服务器返回的调用3C协同服务的结果。
本发明提供一种基于上述通信系统的通信方法,包括:3C协同设备上线;3C协同设备与对应的XMPP服务器之间建立XML流;3C协同设备向对应的XMPP服务器提供上线信息;3C协同设备向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息。
在本发明中,3C协同设备不但具有3C协同设备原有的功能,还具有XMPP规定的功能,3C协同设备之间可以使用携带3C协同信息的XMPP消息,通过各自对应的XMPP服务器进行交互。由于XMPP规定了XMPP设备之间可以通过各自对应的XMPP服务器实现远程交互,所以,本发明实现了在广域网范围内的3C协同设备之间的互联。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种3C协同设备的逻辑结构示意图;
图2为本发明提供的一种通信系统的示意图;
图3为本发明提供的另一种通信系统的示意图;
图4为本发明提供的基于图3或图4所示通信系统的一种通信方法的流程图;
图5为本发明提供的基于图3或图4所示通信系统的另一种通信方法的流程图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本领域技术人员清楚的理解本发明,首先介绍本发明涉及的一些专业知识。
本发明中的3C协同设备是指在局域网内使用SSDP查找与发现设备和服务、使用SOAP调用服务的设备,当然,本发明中的3C协同设备具有智能互联、资源共享、协同服务等功能。本发明将3C协同设备原本具有的这些功能称为3C协同设备原有的功能。
本发明中的3C协同设备可以产生3C协同信息。3C协同信息是指3C协同设备为实现3C协同设备原有的功能而产生的信息。在现有技术中,3C协同设备将3C协同信息封装在基于例如超文本传输协议(HTTP,HypertextTransfer Protocol)等协议的消息中,3C协同设备之间交互的是携带有3C协同信息的基于例如超文本传输协议(HTTP,Hypertext Transfer Protocol)等协议的消息。3C协同信息例如是宣告自己上线的上线信息、设备/服务描述文件、查找设备/服务的请求信息、请求指定的设备提供设备/服务描述文件的信息等信息。
在本发明中,将3C协同设备提供的服务称为3C协同服务。
在本发明中,3C协同设备例如是智能组和资源共享(IGRS,Intelligent    Grouping and Resource Sharing)设备或者是通用即插即用(UPnP,UniversalPlug and Play)设备。对应的,3C协同信息例如是IGRS信息或者是UPnP信息。
IGRS是为实现信息设备之间的智能互联、资源共享、协同服务而制定的一系列的通信协议,其中,最为核心的IGRS基础协议规定了IGRS设备之间相互发现及资源共享等机制,具体包括设备相互发现、设备间管道创建、服务发现、设备组管理、会话管理和服务访问等机制。
在现有技术中,IGRS设备在正常工作期间,将以一定的时间间隔向所连接的各个网络中按指定的组播地址发送设备/服务在线宣告信息。设备/服务在线宣告信息中可以包括设备/服务类型、设备/服务名称、根设备描述文档统一资源定位符(URL,Uniform Resource Locator)等设备信息。
在现有技术中,IGRS设备可通过在指定的组播地址上侦听设备/服务在线宣告信息,以发现网络上存在的IGRS设备/服务。IGRS设备可向所连接的各个网络中按指定的组播地址发送设备/服务查找请求,收到请求的符合查找条件的IGRS设备应向发起查找请求的IGRS设备返回设备/服务查找响应。
在现有技术中,上述宣告及查找功能的具体操作借鉴了SSDP中的相关机制。而类似的操作也将用于IGRS设备对于IGRS服务的宣告及查找。
在现有技术中,在进行上述宣告及查找操作后,IGRS设备可与目标IGRS设备建立起IGRS管道,并通过该管道获得相应目标IGRS设备/服务的描述文档。进而,IGRS设备可以通过与目标IGRS设备建立起会话,并使用SOAP,Simple ObjectAccess Protocol消息进行服务的调用。在IGRS基础协议中,描述文档获取、会话建立、服务调用均在HTTP的基础之上进行实现。
值得注意的是,在现有技术中,IGRS中的设备/服务发现协议使用的是本地组播地址。虽然本地组播地址的使用有效的控制了设备/服务宣告组播消息的传送范围,降低了网络带宽的消耗,但同时也使得IGRS设备/服务发现仅限于局域网范围内。此外,局域网中私有地址的使用也使得传统的IGRS难以在广域网范围内应用。
除IGRS技术之外,UPnP技术也是被广泛应用的协同服务技术之一。在现有技术中,UPnP的基本机制与上述描述类似,通过局域网范围内的组播实现设备/服务的宣告与查找,通过HTTP及SOAP实现设备/服务描述文件的获取以及服务的调用。因此,现有的UPnP协议同样存在难以在广域网范围内应用的问题。
在本发明中,3C协同设备除可以提供3C协同设备原有的功能外,还可以提供可扩展消息和在线协议(XMPP,Extensible Messaging and PresenceProtocol)规定的功能。
XMPP是由互联网工程任务组(IETF,The Internet Engineering Task Force)所制定的一种进行可扩展标记语言(XML,Extensible Markup Language)流传输的协议。XMPP起源于Jabber社区为即时消息及在线信息所做的工作,目前广泛应用于即时消息、在线信息、媒体格式协商及其他通用的XML传送应用中。RFC3920及RFC3921中定义了XMPP的核心协议,而XMPP标准化基金会(XSF,XMPP Standards Foundation)则定义了一系列的XMPP扩展协议(XEP,XMPP Extension Protocol)。
XMPP技术是一种分布式的、基于客户端/服务器架构的技术。XMPP客户端通过其帐号来进行标识,即通过Jabber标识(JID,Jabber Identifier)来进行标识。JID与电子邮件的地址较为类似,采用了node@domain/resource的结构,其中的node、domain以及resource字段分别标识了用户、用户连接的服务器以及用户用以连接网络的资源。
当XMPP客户端连接到其JID的domain字段所表示的XMPP服务器时,XMPP客户端与XMPP服务器将建立起一个双向的XML流。所有的XMPP客户端与XMPP服务器之间交互的信息均以XML节(XML Stanza)的形式通过XML流进行传送。XMPP协议规定了3种基本的XML节,即在线(Presence),消息(Message)及信息查询(IQ)节,分别用于在线信息、会话消息及信息查询的交互。
当一个JID为node1@domain1的XMPP客户端需要与一个JID为node2@domain2的XMPP客户端进行通信时,会将消息发送给domain1所对应的XMPP服务器。domain1所对应的XMPP服务器继而将消息转发至domain2所对应的XMPP服务器。domain2所对应的XMPP服务器将消息发送给JID为node2@domain2的XMPP客户端。
由于XMPP客户端之间通过XMPP服务器进行消息的交互,而XMPP服务器可以使用公有网IP地址,因此,即使两个XMPP客户端均在私有网络中,两个XMPP客户端之间存在着网络地址转换(NAT,Network AddressTranslation)设备或防火墙设备,两个XMPP客户端之间仍然可以通过XMPP服务器进行互联,从而穿越了NAT设备和防火墙设备进行消息的传送。
下面介绍本发明提供的一种3C协同设备。如图1所示,这种3C协同设备包括:3C协同单元101,用于提供3C协同设备原有的功能;XMPP单元102,用于提供XMPP规定的功能;3C协同单元101具体用于将3C协同信息提供给XMPP单元102,XMPP单元102具体用于将3C协同信息封装在XMPP消息中,并将封装后的XMPP消息提供给XMPP服务器;XMPP单元102具体用于从XMPP服务器获得携带3C协同信息的XMPP消息,并对获得的XMPP消息解封装,将得到的3C协同信息提供给3C协同单元101。
具体的,3C协同设备保留原有的功能,在实际应用中,可以由3C协同设备包括的3C协同单元提供原有的功能。另外,3C协同设备提供XMPP规定的功能,在实际应用中,可以由3C协同设备包括的XMPP单元提供XMPP规定的功能。
在现有技术中,3C协同设备需要将3C协同信息封装在HTTP等协议的消息中,3C协同设备的IP地址也要封装在HTTP等协议的消息中,3C协同设备之间交互的是携带有3C协同信息和3C协同设备的IP地址的HTTP等协议的消息。而在本发明中,XMPP单元102获得3C协同单元101提供的3C协同信息后,并不需要将3C协同信息封装在HTTP等协议的消息中,而是直接将3C协同信息封装在XMPP消息中。XMPP消息没有封装3C协同设备的IP地址,而是携带了3C协同设备的JID。具体的,XMPP单元102发给XMPP服务器的XMPP消息的源地址可以是发出所述XMPP消息的3C协同设备的JID,XMPP单元102从XMPP服务器获得的XMPP消息的目的地址可以是所述XMPP消息最后需要到达的3C协同设备的JID。
在本发明中,XMPP消息可以是指XML节。
在实际应用中,在3C协同设备上线后,XMPP单元102可以与XMPP服务器建立XML流。
在实际应用中,3C协同单元101提供给XMPP单元102的3C协同信息可以是3C协同单元101和XMPP单元102所在的3C协同设备宣告自己上线的上线信息,XMPP单元102可以将3C协同设备上线信息封装在Presence节中。
XMPP服务器在收到3C协同设备上线信息后,可以通知3C协同设备其有哪些联系人在线。这种情况下,XMPP单元102从XMPP服务器获得的XMPP消息中的3C协同信息可以是XMPP单元102所在的3C协同设备的联系人的在线信息,这个在线信息可以封装在Presence节中。
另外,XMPP服务器在向3C协同设备提供联系人的在线信息的同时,还可以向3C协同设备提供联系人的设备/服务描述文件或用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,其中,用于表示所述3C协同设备的联系人的设备/服务描述文件的信息可以是对应所述3C协同设备的联系人的设备/服务描述文件的哈希(HASH)值,也可以是所述3C协同设备的联系人的设备/服务描述文件的标识。具体的,XMPP单元102从XMPP服务器获得的XMPP消息中的3C协同信息还可以包括XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件或用于表示XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的信息,联系人的设备/服务描述文件和联系人的在线信息可以一同封装在Presence节中,或者,用于表示联系人的设备/服务描述文件的信息和联系人的在线信息可以一同封装在Presence节中。
在实际应用中,XMPP服务器可能会请求3C协同设备提供其设备/服务描述文件,3C协同设备收到这样的请求后,可以将其设备/服务描述文件提供给XMPP服务器。具体的,XMPP单元102从XMPP服务器获得的XMPP消息中的3C协同信息可以是查询XMPP单元102所在的3C协同设备的设备/服务描述文件的请求信息,这个请求信息可以封装在IQ节中。3C协同单元101提供给XMPP单元102的3C协同信息为3C协同单元101和XMPP单元102所在的3C协同设备的设备/服务描述文件,这个设备/服务描述文件可以封装在IQ节中。
当然,在实际应用中,3C协同设备也可以在没有收到XMPP服务器的请求的情况下,主动的将其设备/服务描述文件提供给XMPP服务器。
在实际应用中,3C协同设备也可以不向XMPP服务器提供3C协同设备的设备/服务描述文件,而是将用于表示3C协同设备的设备/服务描述文件的信息提供给XMPP服务器。
无论是3C协同设备的设备/服务描述文件,还是用于表示3C协同设备的设备/服务描述文件的信息,3C协同设备都可以将其封装在Presence节或IQ节中发送给XMPP服务器,在本实施例中,由XMPP单元102将其所在的3C协同设备的设备/服务描述文件或用于表示XMPP单元102所在的3C协同设备的设备/服务描述文件的信息封装在Presence节或IQ节中发送给XMPP服务器。
在实际应用中,用于表示3C协同设备的设备/服务描述文件的信息可以是对应3C协同设备的设备/服务描述文件的HASH值。具体的,3C协同设备可以对设备/服务描述文件进行HASH运算,得到一个HASH值。之后,3C协同设备将这个HASH值提供给XMPP服务器。XMPP服务器可以将得到的HASH值与之前保存的HASH值进行比较,如果XMPP服务器在保存的HASH值中查找到与得到的HASH值一致的HASH值,那么说明XMPP服务器之前已保存有这个HASH值对应的设备/服务描述文件,无需3C协同设备再次提供这个设备/服务描述文件;如果XMPP服务器在保存的HASH值中没有发现与得到的HASH值一致的HASH值,或者发现得到的HASH值与之前保存的对应同一个设备/服务描述文件的HASH值不一致,那么说明XMPP服务器之前并没有保存这个HASH值对应的设备/服务描述文件或者设备/服务描述文件已经发生变化,这种情况下,需要3C协同设备提供这个设备/服务描述文件。具体的,3C协同单元101提供给XMPP单元102的3C协同信息为3C协同单元101和XMPP单元102所在的3C协同设备的设备/服务描述文件对应的HASH值,XMPP单元102可以将这个HASH值封装在Presence节或IQ节中。
在实际应用中,用于表示3C协同设备的设备/服务描述文件的信息还可以是3C协同设备的设备/服务描述文件的标识。这个标识可以用整数型数值来表示,每当自己的设备/服务描述文件发生变化,3C协同设备都可以将标识的值以1为单位进行递增。当然,如果这个3C协同设备对应的XMPP服务器之前已经保存过这个3C协同设备的设备/服务描述文件,那么此时,这个XMPP服务器保存的对应这个3C协同设备的设备/服务描述文件的标识的值与这个3C协同设备修改后的对应这个3C协同设备的设备/服务描述文件的标识的值会不相同。这种情况下,当这个3C协同设备向这个XMPP服务器提供修改的标识的值时,XMPP服务器会因为之前保存的标识的值与收到的标识的值不一致,而向这个3C协同设备发出标识错误或请求提供设备/服务描述文件等信息,这个3C协同设备收到这样的信息后,可以将自己的设备/服务描述文件提供给这个XMPP服务器,这个XMPP服务器收到设备/服务描述文件后,可以将收到的设备/服务描述文件与之前收到的这个3C协同设备修改后的标识的值建立映射关系。
在实际应用中,3C协同设备可以向XMPP服务器请求查询指定的3C协同设备/服务的信息,XMPP服务器收到这个请求后,可以向XMPP服务器返回指定的3C协同设备/服务的信息。具体的,3C协同单元101提供给XMPP单元102的3C协同信息可以是查询指定的3C协同设备/服务的信息的请求信息,XMPP单元102可以将这个请求信息封装在IQ节中。XMPP单元102从XMPP服务器获得的XMPP消息中的3C协同信息可以是上述指定的3C协同设备/服务的信息。查询指定的3C协同设备/服务的信息的请求信息可以包括指定的3C协同设备/服务的类型、名称或标识等信息,XMPP服务器可以根据类型、名称或标识等信息查找指定的3C协同设备/服务的信息。需要说明的是,指定的3C协同设备/服务可以理解为指定的3C协同设备或者指定的3C协同设备提供的服务。
在实际应用中,XMPP服务器收到3C协同设备发出的查询指定的3C协同设备/服务的信息的请求后,除可以向3C协同设备提供指定的3C协同设备/服务的信息外,还可以向3C协同设备提供指定的3C协同设备的设备/服务描述文件或用于表示上述指定的3C协同设备的设备/服务描述文件的信息。具体的,XMPP单元102从XMPP服务器获得的XMPP消息中的3C协同信息还可以包括上述指定的3C协同设备的设备/服务描述文件或用于表示上述指定的3C协同设备的设备/服务描述文件的信息。
总之,对于设备/服务描述文件,XMPP单元102从XMPP服务器获得的XMPP消息中的3C协同信息可以是3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件、用于表示3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的信息、3C协同单元101指定的3C协同设备的设备/服务描述文件或用于表示3C协同单元101指定的3C协同设备的设备/服务描述文件的信息,携带3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件、用于表示3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的信息、3C协同单元101指定的3C协同设备的设备/服务描述文件或用于表示3C协同单元101指定的3C协同设备的设备/服务描述文件的信息的XMPP消息可以是Presence节,也可以是IQ节。
如果3C协同单元101确定收到的用于表示3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的信息与之前保存的用于表示3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的信息不一致,或者,如果3C协同单元101确定之前没有保存过用于表示3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的信息,则XMPP单元102可以向XMPP服务器发出提供3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的请求消息,XMPP单元102可以获得所述XMPP服务器提供的携带3C协同单元101和XMPP单元102所在的3C协同设备的联系人的设备/服务描述文件的XMPP消息。
如果3C协同单元101确定收到的用于表示3C协同单元101指定的3C协同设备的设备/服务描述文件的信息与之前保存的用于表示3C协同单元101指定的3C协同设备的设备/服务描述文件的信息不一致,或者,如果3C协同单元101确定之前没有保存过用于表示3C协同单元101指定的3C协同设备的设备/服务描述文件的信息,则XMPP单元102可以向XMPP服务器发出提供3C协同单元101指定的3C协同设备的设备/服务描述文件的请求消息,XMPP单元102可以获得所述XMPP服务器提供的携带所述指定的3C协同设备的设备/服务描述文件的XMPP消息。
在实际应用中,3C协同设备可以向XMPP服务器请求调用3C协同服务,XMPP服务器收到这个请求后,可以向3C协同设备返回调用的结果。具体的,3C协同单元101提供给XMPP单元102的3C协同信息可以是调用3C协同服务的请求信息,XMPP单元102可以将这个请求信息封装在IQ节中。XMPP单元102从XMPP服务器获得的XMPP消息中的3C协同信息可以是调用3C协同服务的结果信息。
由于3C协同设备可以应用在通信系统中,所以,本发明还提供了一种通信系统。这种通信系统包括:3C协同设备和XMPP服务器;所述3C协同设备用于提供3C协同设备原有的功能和XMPP规定的功能;3C协同设备之间通过各自对应的XMPP服务器交互消息,交互的消息为携带3C协同信息的XMPP消息。
在实际应用中,两个需要交互的3C协同设备既可以对应同一个XMPP服务器,也可以对应不同的XMPP服务器。当两个需要交互的3C协同设备对应同一个XMPP服务器时,两个3C协同设备通过同一个XMPP服务器交互消息。当两个需要交互的3C协同设备对应不同的XMPP服务器时,两个3C协同设备通过各自对应的不同的XMPP服务器交互消息。本发明提供了对应每一种情形的通信系统示意图。
如图2所示,通信系统包括第一3C协同设备201、XMPP服务器202和第二3C协同设备203,第一3C协同设备201与第二3C协同设备203对应的XMPP服务器都是XMPP服务器202,第一3C协同设备201与第二3C协同设备203之间通过XMPP服务器202交互消息。
如图3所示,通信系统包括第一3C协同设备301、第一XMPP服务器302、第二XMPP服务器303和第二3C协同设备304,第一3C协同设备301对应的XMPP服务器是第一XMPP服务器302,第二3C协同设备304对应的XMPP服务器是第二XMPP服务器303,第一3C协同设备301与第二3C协同设备304之间分别通过第一XMPP服务器302和第二XMPP服务器303交互消息。
在实际应用中,3C协同设备之间交互的消息是携带3C协同信息的XMPP消息。XMPP消息可以是XML节。XMPP消息中的源地址或目的地址可以是3C协同设备的JID。每个3C协同设备上线后,都可以与对应的XMPP服务器建立XML流。XML流的建立过程中可以使用XMPP核心协议所定义的数据加密及认证机制。
在建立起XML流后,3C协同设备可以执行上线通知功能。3C协同设备可以向对应的XMPP服务器发送携带有基于SSDP的上线信息的Presence节。对应的XMPP服务器收到携带有上线信息的Presence节后,可以检查3C协同设备的联系人列表,并可以将3C协同设备的在线信息以Presence节的形式发送给3C协同设备的联系人。同时,XMPP服务器也可以向3C协同设备发送携带有3C协同设备的联系人的在线信息的Presence节。联系人列表的维护可按照现有的XMPP规范进行。
3C协同设备向对应的XMPP服务器发送的携带有上线信息的Presence节中可以封装有3C协同设备的类型、能力等设备信息,这样,对应的XMPP服务器及其他3C协同设备可以通过这些信息确定3C协同设备的类型和能力等信息。
3C协同设备可以使用XML节向对应的XMPP服务器注册设备/服务描述文件。优选的,3C协同设备可以将设备/服务描述文件封装在发送给对应的XMPP服务器的IQ节中。对应的XMPP服务器收到IQ节后,保存3C协同设备的设备/服务描述文件。
在实际应用中,XMPP服务器可以使用XML节主动查询对应的3C协同设备的设备/服务描述文件。优选的,XMPP服务器可以使用IQ节查询对应的3C协同设备的设备/服务描述文件。对应的3C协同设备收到查询消息后,可以将自己的设备/服务描述文件封装在XML节中发送给XMPP服务器。优选的,对应的3C协同设备可以将自己的设备/服务描述文件封装在IQ节中。XMPP服务器收到设备/服务描述文件后,保存设备/服务描述文件。
一般情况下,设备/服务描述文件的数据量会比较大。为了在3C协同设备频繁上下线的环境中降低信令开销,3C协同设备在使用XML节进行设备/服务描述文件注册时,可以不将设备/服务描述文件本身封装在XML节中进行传送,而是可以将用于表示3C协同设备的设备/服务描述文件的信息封装在XML节中进行传送。对应的XMPP服务器在收到这个信息后,如果发现收到的用于表示3C协同设备的设备/服务描述文件的信息与之前保存的用于表示3C协同设备的设备/服务描述文件的信息不一致,或者,如果发现之前没有保存过用于表示3C协同设备的设备/服务描述文件的信息,则对应的XMPP服务器向3C协同设备发出提供3C协同设备的设备/服务描述文件的请求消息,3C协同设备将其设备/服务描述文件提供给对应的XMPP服务器。对应的XMPP服务器向3C协同设备发出的提供3C协同设备的设备/服务描述文件的请求消息可以是IQ节的形式,3C协同设备可以将其设备/服务描述文件封装在IQ节中发送给对应的XMPP服务器。
在实际应用中,用于表示3C协同设备的设备/服务描述文件的信息可以是对应3C协同设备的设备/服务描述文件的HASH值。具体的,3C协同设备先根据设备/服务描述文件进行HASH计算,得到一个HASH值,之后,将HASH值封装在XML进行传送。对应的XMPP服务器在收到HASH值后,可以将收到的HASH值与之前保存的HASH值进行对比,如果在保存的HASH值中没有发现收到的HASH值,或者发现收到的HASH值与对应同一个设备/服务描述文件的HASH值不一致,则对应的XMPP服务器可以使用XML节主动的向3C协同设备查询设备/服务描述文件。3C协同设备在收到查询消息后,将其设备/服务描述文件封装在XML节中发送给对应的XMPP服务器。XMPP服务器在收到设备/服务描述文件后,可以保存收到的设备/服务描述文件及对应的HASH值。
在实际应用中,用于表示3C协同设备的设备/服务描述文件的信息还可以是3C协同设备的设备/服务描述文件的标识。这个标识可以用整数型数值表示。每当3C协同设备的设备/服务描述文件发生变化时,3C协同设备可以将标识的值以1为单位进行递增。对应的XMPP服务器可以将收到的标识的值与之前保存的标识的值进行对比,以此来判断之前是否保存过3C协同设备的设备/服务描述文件或者3C协同设备的设备/服务描述文件是否发生变化。
3C协同设备可以使用XML节来查找指定的3C协同设备/服务。优选的,3C协同设备可以在发送给对应的XMPP服务器的IQ节中封装需要查找的3C协同设备/服务的类型、名称、标识等信息。对应的XMPP服务器在收到IQ节后,可以根据3C协同设备/服务的类型、名称、标识等信息查找到指定的3C协同设备/服务,并使用XMPP节向发起查找的3C协同设备返回查询响应。优选的,对应的XMPP服务器使用IQ节向发起查找的3C协同设备返回查询响应。该IQ节中可以包括指定的3C协同设备/服务的JID。另外,对应的XMPP服务器也可以将指定的3C协同设备的设备/服务描述文件封装在上述IQ节中发送给发起查找的3C协同设备。
在实际应用中,3C协同设备可以将基于SOAP的调用3C协同服务的请求信息封装在发送给对应的XMPP服务器的XML节中。优选的,封装在IQ节中。对应的XMPP服务器收到这个XML节后,可以将基于SOAP的3C协同服务的调用结果信息封装在返回给3C协同设备的XML节中。优选的,封装在IQ节中。
另外,3C协同设备可以获得对应的XMPP服务器提供的所述3C协同设备的联系人的设备/服务描述文件、用于表示所述3C协同设备的联系人的设备/服务描述文件的信息、所述3C协同设备指定的3C协同设备的设备/服务描述文件或用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息。
如果所述3C协同设备确定收到的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息不一致,或者,如果所述3C协同设备确定之前没有保存过用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,则所述3C协同设备向对应的XMPP服务器发出提供所述3C协同设备的联系人的设备/服务描述文件的请求消息,所述对应的XMPP服务器将所述3C协同设备的联系人的设备/服务描述文件提供给所述3C协同设备。
如果所述3C协同设备确定收到的用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息不一致,或者,如果所述3C协同设备确定之前没有保存过用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息,则所述3C协同设备向对应的XMPP服务器发出提供所述3C协同设备指定的3C协同设备的设备/服务描述文件的请求消息,所述对应的XMPP服务器将所述3C协同设备指定的3C协同设备的设备/服务描述文件提供给所述3C协同设备。
本发明还基于上述的通信系统,提供了两种通信方法。
一种通信方法如图4所示,包括:
S401:3C协同设备上线;
S402:3C协同设备与对应的XMPP服务器之间建立XML流;
S403:3C协同设备向对应的XMPP服务器提供上线信息;
S404:3C协同设备获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和设备/服务描述文件,或者,3C协同设备获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和用于表示所述3C协同设备的联系人的设备/服务描述文件的信息;
S405:3C协同设备向对应的XMPP服务器请求调用3C协同服务;
S406:3C协同设备获得对应的XMPP服务器返回的调用3C协同服务的结果。
在实际应用中,3C协同设备可以按照下述方式向对应的XMPP服务器提供上线信息,即,3C协同设备向对应的XMPP服务器发出携带有上线信息的Presence节。3C协同设备可以按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息,即,3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的在线信息的Presence节。3C协同设备也可以按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和设备/服务描述文件,即,3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的在线信息和设备/服务描述文件的Presence节。3C协同设备还可以按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,即,3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的在线信息和用于表示所述3C协同设备的联系人的设备/服务描述文件的信息的Presence节。
在实际应用中,3C协同设备可以按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的设备/服务描述文件或用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,即,3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的设备/服务描述文件或用于表示所述3C协同设备的联系人的设备/服务描述文件的信息的IQ节。
在实际应用中,在3C协同设备获得对应的XMPP服务器提供的所述3C协同设备的联系人的设备/服务描述文件或用于表示所述3C协同设备的联系人的设备/服务描述文件的信息之前,3C协同设备可以向对应的XMPP服务器请求提供联系人的设备/服务描述文件。
在实际应用中,如果3C协同设备确定收到的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息不一致,或者,如果所述3C协同设备确定之前没有保存过用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,则所述3C协同设备向对应的XMPP服务器发出提供所述3C协同设备的联系人的设备/服务描述文件的请求消息,所述对应的XMPP服务器将所述3C协同设备的联系人的设备/服务描述文件提供给所述3C协同设备。
在实际应用中,3C协同设备可以按照下述方式向对应的XMPP服务器请求提供联系人的设备/服务描述文件,即,3C协同设备向对应的XMPP服务器发出携带提供联系人的设备/服务描述文件的请求信息的IQ节。
在实际应用中,3C协同设备可以按照下述方式向对应的XMPP服务器请求调用3C协同服务,即,3C协同设备向对应的XMPP服务器发出携带调用3C协同服务的请求信息的IQ节。3C协同设备可以按照下述方式获得对应的XMPP服务器返回的调用3C协同服务的结果,即,3C协同设备获得对应的XMPP服务器发出的携带调用3C协同服务的结果信息的IQ节。
本发明提供的另一种通信方法如图5所示,包括:
S501:3C协同设备上线;
S502:3C协同设备与对应的XMPP服务器之间建立XML流;
S503:3C协同设备向对应的XMPP服务器提供上线信息;
S504:3C协同设备向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息。
在实际应用中,3C协同设备可以按照下述方式向对应的XMPP服务器提供上线信息,即,3C协同设备向对应的XMPP服务器发出携带有上线信息的Presence节。
在实际应用中,3C协同设备可以按照下述方式向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息,即,3C协同设备将所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息封装在Presence节或IQ节中,并将所述Presence节或IQ节发送给对应的XMPP服务器。
在3C协同设备向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息之前,3C协同设备获得对应的XMPP服务器发出的提供设备/服务描述文件的请求信息。所述请求信息可以封装在3C协同设备获得对应的XMPP服务器发出的IQ节中。
综上所述,在本发明中,3C协同设备不但具有3C协同设备原有的功能,还具有XMPP规定的功能,3C协同设备之间可以使用携带3C协同信息的XMPP消息,通过各自对应的XMPP服务器进行交互。由于XMPP规定了XMPP设备之间可以通过各自对应的XMPP服务器实现远程交互,所以,本发明实现了在广域网范围内的3C协同设备之间的互联。
在本发明中,可以使用JID作为3C协同设备的标识,3C协同设备在将3C协同信息封装在XMPP消息中时,不将3C协同设备的IP地址封装在XMPP消息中,这样可以避免出现3C协同设备之间IP地址冲突的情形。
在本发明中,3C协同设备可以先不直接将设备/服务描述文件本身提供给对应的XMPP服务器,而是可以先将用于表示设备/服务描述文件的标识提供给对应的XMPP服务器,如果3C协同设备提供的标识与对应的XMPP服务器之前保存的所述3C协同设备的设备/服务描述文件的标识相同,则3C协同设备不必将设备/服务描述文件本身提供给对应的XMPP服务器,这样可以减小3C协同设备向对应的XMPP服务器传送的数据量。
在本发明中,如果两个3C协同设备处于同一个局域网内,那么这两个3C协同设备之间可以使用原有的3C协同机制进行消息的交互,如果两个3C协同设备处于不同的局域网内,那么这两个3C协同设备之间使用XMPP机制进行消息的交互。所以,本发明可以兼容3C协同机制和XMPP机制。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (27)

1.一种3C协同设备,其特征在于,包括:
3C协同单元,用于提供3C协同设备原有的功能;
可扩展消息处理现场协议XMPP单元,用于提供XMPP规定的功能;
所述3C协同单元具体用于将3C协同信息提供给所述XMPP单元,所述XMPP单元具体用于将3C协同信息封装在XMPP消息中,并将封装后的XMPP消息提供给XMPP服务器;
所述XMPP单元具体用于从XMPP服务器获得携带3C协同信息的XMPP消息,并对获得的XMPP消息解封装,将得到的3C协同信息提供给所述3C协同单元。
2.如权利要求1所述的设备,其特征在于,XMPP消息为可扩展性标记语言XML节。
3.如权利要求1所述的设备,其特征在于,所述XMPP单元发给XMPP服务器的XMPP消息的源地址为所述3C协同设备的Jabber标识JID,所述XMPP单元从XMPP服务器获得的XMPP消息的目的地址为所述3C协同设备的JID。
4.如权利要求1所述的设备,其特征在于,所述XMPP单元具体用于在所述3C协同设备上线后,与XMPP服务器建立XML流。
5.如权利要求1-4任意一项所述的设备,其特征在于,所述3C协同单元提供给所述XMPP单元的3C协同信息为所述3C协同设备上线信息,所述XMPP单元将所述3C协同设备上线信息封装在在线Presence节中;
所述XMPP单元从XMPP服务器获得的XMPP消息中的3C协同信息为所述3C协同设备的联系人的在线信息,所述XMPP单元从XMPP服务器获得的携带所述在线信息的XMPP消息为Presence节。
6.如权利要求1-4任意一项所述的设备,其特征在于,所述XMPP单元从XMPP服务器获得的XMPP消息中的3C协同信息为查询所述3C协同设备的设备/服务描述文件的请求信息,所述XMPP单元从XMPP服务器获得的携带所述请求信息的XMPP消息为信息查询IQ节;
所述3C协同单元提供给所述XMPP单元的3C协同信息为所述3C协同设备的设备/服务描述文件,所述XMPP单元将所述3C协同设备的设备/服务描述文件封装在1Q节中。
7.如权利要求1-4任意一项所述的设备,其特征在于,所述3C协同单元提供给所述XMPP单元的3C协同信息为所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息,所述XMPP单元将所述用于表示所述3C协同设备的设备/服务描述文件的信息封装在Presence节或IQ节中。
8.如权利要求1-4任意一项所述的设备,其特征在于,所述XMPP单元从XMPP服务器获得的XMPP消息中的3C协同信息为所述3C协同设备的联系人的设备/服务描述文件、用于表示所述3C协同设备的联系人的设备/服务描述文件的信息、所述3C协同单元指定的3C协同设备的设备/服务描述文件或用于表示所述3C协同单元指定的3C协同设备的设备/服务描述文件的信息,携带所述3C协同设备的联系人的设备/服务描述文件、用于表示所述3C协同设备的联系人的设备/服务描述文件的信息、所述3C协同单元指定的3C协同设备的设备/服务描述文件或用于表示所述3C协同单元指定的3C协同设备的设备/服务描述文件的信息的XMPP消息为Presence节或IQ节;
如果所述3C协同单元确定收到的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息不一致,或者,如果所述3C协同单元确定之前没有保存过用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,则所述XMPP单元向XMPP服务器发出提供所述3C协同设备的联系人的设备/服务描述文件的请求消息,所述XMPP单元获得所述XMPP服务器提供的携带所述3C协同设备的联系人的设备/服务描述文件的XMPP消息;
如果所述3C协同单元确定收到的用于表示所述3C协同单元指定的3C协同设备的设备/服务描述文件的信息与之前保存的用于表示所述3C协同单元指定的3C协同设备的设备/服务描述文件的信息不一致,或者,如果所述3C协同单元确定之前没有保存过用于表示所述3C协同单元指定的3C协同设备的设备/服务描述文件的信息,则所述XMPP单元向XMPP服务器发出提供所述3C协同单元指定的3C协同设备的设备/服务描述文件的请求消息,所述XMPP单元获得所述XMPP服务器提供的携带所述3C协同单元指定的3C协同设备的设备/服务描述文件的XMPP消息。
9.如权利要求1-4任意一项所述的设备,其特征在于,所述3C协同单元提供给所述XMPP单元的3C协同信息为查询指定的3C协同设备/服务的信息的请求信息,所述XMPP单元将所述请求信息封装在IQ节中;
所述XMPP单元从XMPP服务器获得的XMPP消息中的3C协同信息为所述指定的3C协同设备/服务的信息。
10.如权利要求1-4任意一项所述的设备,其特征在于,所述3C协同单元提供给所述XMPP单元的3C协同信息为调用3C协同服务的请求信息,所述XMPP单元将所述请求信息封装在IQ节中;
所述XMPP单元从XMPP服务器获得的XMPP消息中的3C协同信息为调用3C协同服务的结果信息。
11.一种通信系统,其特征在于,包括:
3C协同设备和XMPP服务器;
所述3C协同设备用于提供3C协同设备原有的功能和XMPP规定的功能;
3C协同设备之间通过各自对应的XMPP服务器交互消息,交互的消息为携带3C协同信息的XMPP消息。
12.如权利要求11所述的系统,其特征在于,XMPP消息为XML节。
13.如权利要求11所述的系统,其特征在于,XMPP消息中的源地址或目的地址为3C协同设备的JID。
14.如权利要求11所述的系统,其特征在于,每个3C协同设备上线后,都与对应的XMPP服务器建立XML流。
15.如权利要求11所述的系统,其特征在于,所述3C协同设备具体用于向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息;
如果所述对应的XMPP服务器确定收到的用于表示所述3C协同设备的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备的设备/服务描述文件的信息不一致,或者,如果所述对应的XMPP服务器确定之前没有保存过用于表示所述3C协同设备的设备/服务描述文件的信息,则所述对应的XMPP服务器向所述3C协同设备发出提供所述3C协同设备的设备/服务描述文件的请求消息,所述3C协同设备将所述3C协同设备的设备/服务描述文件提供给所述对应的XMPP服务器。
16.如权利要求11所述的系统,其特征在于,所述3C协同设备具体用于获得对应的XMPP服务器提供的所述3C协同设备的联系人的设备/服务描述文件、用于表示所述3C协同设备的联系人的设备/服务描述文件的信息、所述3C协同设备指定的3C协同设备的设备/服务描述文件或用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息;
如果所述3C协同设备确定收到的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息不一致,或者,如果所述3C协同设备确定之前没有保存过用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,则所述3C协同设备向对应的XMPP服务器发出提供所述3C协同设备的联系人的设备/服务描述文件的请求消息,所述对应的XMPP服务器将所述3C协同设备的联系人的设备/服务描述文件提供给所述3C协同设备;
如果所述3C协同设备确定收到的用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息不一致,或者,如果所述3C协同设备确定之前没有保存过用于表示所述3C协同设备指定的3C协同设备的设备/服务描述文件的信息,则所述3C协同设备向对应的XMPP服务器发出提供所述3C协同设备指定的3C协同设备的设备/服务描述文件的请求消息,所述对应的XMPP服务器将所述3C协同设备指定的3C协同设备的设备/服务描述文件提供给所述3C协同设备。
17.一种基于权利要求11-16任意一项所述通信系统的通信方法,其特征在于,包括:
3C协同设备上线;
3C协同设备与对应的XMPP服务器之间建立XML流;
3C协同设备向对应的XMPP服务器提供上线信息;
3C协同设备获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和设备/服务描述文件,或者,3C协同设备获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和用于表示所述3C协同设备的联系人的设备/服务描述文件的信息;
3C协同设备向对应的XMPP服务器请求调用3C协同服务;
3C协同设备获得对应的XMPP服务器返回的调用3C协同服务的结果。
18.如权利要求17所述的方法,其特征在于,3C协同设备按照下述方式向对应的XMPP服务器提供上线信息:3C协同设备向对应的XMPP服务器发出携带有上线信息的Presence节;
3C协同设备按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息:3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的在线信息的Presence节;或者,
3C协同设备按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和设备/服务描述文件:3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的在线信息和设备/服务描述文件的Presence节;或者,
3C协同设备按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的在线信息和用于表示所述3C协同设备的联系人的设备/服务描述文件的信息:3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的在线信息和用于表示所述3C协同设备的联系人的设备/服务描述文件的信息的Presence节。
19.如权利要求18所述的方法,其特征在于,3C协同设备按照下述方式获得对应的XMPP服务器提供的所述3C协同设备的联系人的设备/服务描述文件或用于表示所述3C协同设备的联系人的设备/服务描述文件的信息:3C协同设备获得对应的XMPP服务器发出的携带所述3C协同设备的联系人的设备/服务描述文件或用于表示所述3C协同设备的联系人的设备/服务描述文件的信息的IQ节。
20.如权利要求17所述的方法,其特征在于,在3C协同设备获得对应的XMPP服务器提供的所述3C协同设备的联系人的设备/服务描述文件或用于表示所述3C协同设备的联系人的设备/服务描述文件的信息之前,还包括:3C协同设备向对应的XMPP服务器请求提供联系人的设备/服务描述文件。
21.如权利要求17所述的方法,其特征在于,如果所述3C协同设备确定收到的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息与之前保存的用于表示所述3C协同设备的联系人的设备/服务描述文件的信息不一致,或者,如果所述3C协同设备确定之前没有保存过用于表示所述3C协同设备的联系人的设备/服务描述文件的信息,则所述3C协同设备向对应的XMPP服务器发出提供所述3C协同设备的联系人的设备/服务描述文件的请求消息,所述对应的XMPP服务器将所述3C协同设备的联系人的设备/服务描述文件提供给所述3C协同设备。
22.如权利要求20或21所述的方法,其特征在于,3C协同设备按照下述方式向对应的XMPP服务器请求提供联系人的设备/服务描述文件:3C协同设备向对应的XMPP服务器发出携带提供联系人的设备/服务描述文件的请求信息的IQ节。
23.如权利要求17所述的方法,其特征在于,3C协同设备按照下述方式向对应的XMPP服务器请求调用3C协同服务:3C协同设备向对应的XMPP服务器发出携带调用3C协同服务的请求信息的IQ节;
3C协同设备按照下述方式获得对应的XMPP服务器返回的调用3C协同服务的结果:3C协同设备获得对应的XMPP服务器发出的携带调用3C协同服务的结果信息的IQ节。
24.一种基于权利要求11-16任意一项所述通信系统的通信方法,其特征在于,包括:
3C协同设备上线;
3C协同设备与对应的XMPP服务器之间建立XML流;
3C协同设备向对应的XMPP服务器提供上线信息;
3C协同设备向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息。
25.如权利要求24所述的方法,其特征在于,3C协同设备按照下述方式向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息:3C协同设备将所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息封装在Presence节或IQ节中,并将所述Presence节或IQ节发送给对应的XMPP服务器。
26.如权利要求24或25所述的方法,其特征在于,在3C协同设备向对应的XMPP服务器提供所述3C协同设备的设备/服务描述文件或用于表示所述3C协同设备的设备/服务描述文件的信息之前,还包括:3C协同设备获得对应的XMPP服务器发出的提供设备/服务描述文件的请求信息。
27.如权利要求26所述的方法,其特征在于,所述请求信息封装在3C协同设备获得对应的XMPP服务器发出的IQ节中。
CN2010100338039A 2010-01-05 2010-01-05 3c协同设备、通信系统和通信方法 Pending CN102118378A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010100338039A CN102118378A (zh) 2010-01-05 2010-01-05 3c协同设备、通信系统和通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010100338039A CN102118378A (zh) 2010-01-05 2010-01-05 3c协同设备、通信系统和通信方法

Publications (1)

Publication Number Publication Date
CN102118378A true CN102118378A (zh) 2011-07-06

Family

ID=44216971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010100338039A Pending CN102118378A (zh) 2010-01-05 2010-01-05 3c协同设备、通信系统和通信方法

Country Status (1)

Country Link
CN (1) CN102118378A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104540042A (zh) * 2014-12-01 2015-04-22 北京阅视无限科技有限公司 基于xmpp通信的机顶盒远程多屏交互控制方法及系统
CN112565056A (zh) * 2020-11-11 2021-03-26 中国软件与技术服务股份有限公司 一种即时通讯处理群发上线、下线消息的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008087374A2 (en) * 2007-01-17 2008-07-24 Electric Pocket Limited SYSTEM AND METHOD FOR REMOTELY ACCESSING UNIVERSAL PLUG AND PLAY (UPnP) NETWORKS

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008087374A2 (en) * 2007-01-17 2008-07-24 Electric Pocket Limited SYSTEM AND METHOD FOR REMOTELY ACCESSING UNIVERSAL PLUG AND PLAY (UPnP) NETWORKS

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104540042A (zh) * 2014-12-01 2015-04-22 北京阅视无限科技有限公司 基于xmpp通信的机顶盒远程多屏交互控制方法及系统
CN112565056A (zh) * 2020-11-11 2021-03-26 中国软件与技术服务股份有限公司 一种即时通讯处理群发上线、下线消息的方法和装置

Similar Documents

Publication Publication Date Title
CN103108089B (zh) 网络系统的连线建立管理方法及其相关系统
CN1327355C (zh) 地址变换装置、消息处理方法及服务器
US20050216569A1 (en) Method for implementing content delivery network (cdn) internetworking, respective networks and interface component
CN103107983B (zh) 网络系统的数据管理方法及其相关系统
CN102148863A (zh) 一种m2m业务消息传递的方法及装置
CA2884683C (en) Split network address translation
CN106604119B (zh) 一种用于智能电视私有云设备的网络穿透方法及系统
CN102811223A (zh) Dlna设备共享方法及装置
CN101355492B (zh) 简单对象访问协议路由方法及路由系统以及相关设备
CN101895520A (zh) 微技系统的数据共享方法、服务器以及数据共享系统
CN102710485A (zh) 透明代理方法及代理服务器
CN101197724A (zh) 基于IPv6的IGRS家庭网络中信息家电的远程控制系统和方法
CN111464431B (zh) 一种基于节点的即时消息互通方法及即时消息互通系统
JP2002152269A (ja) インターネット通信方法{AmethodforanInternetCommunication}
CN102035655A (zh) 端到端即时通讯的实现方法、端到端即时通讯终端及系统
CN107046537B (zh) 一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法
CN102118378A (zh) 3c协同设备、通信系统和通信方法
EP1495620A1 (en) Digital item adaptation negotiation mechanism
CN101834915A (zh) 一种基于配电房采集数据的nat穿透系统及方法
CN112887452B (zh) 局域网间通信方法与系统、nat网关
Lai et al. A novel NAT-based approach for resource load balancing in fog computing architecture
CN101465783A (zh) 异构家庭网络设备之间的连接方法、装置及连接网桥
JP4718638B2 (ja) Tcp/ip基盤のアドレス変更方法及び装置
US9369523B2 (en) Method for exchanging network messages in distributed manner
CN101325585B (zh) 文件传输方法、互连网关和客户端

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: BEIJING IGRS YUNSHI INFORMATION TECHNOLOGY CO., LT

Free format text: FORMER OWNER: SHENZHEN IGRS INFORMATION TECHNOLOGY LTD.

Effective date: 20120807

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 100080 HAIDIAN, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20120807

Address after: 100080, room 10, two North 0811 street, Haidian District, Beijing, Haidian

Applicant after: Beijing Igrs Yunshi Information Technology Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District science and Technology Park South seven Digital Technology Park A3 building 6 floor

Applicant before: Shenzhen Igrs Information Technology Ltd.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110706