CN105493465A - 网络环境中的用于云计算的基于XMPP的UPnP设备架构 - Google Patents

网络环境中的用于云计算的基于XMPP的UPnP设备架构 Download PDF

Info

Publication number
CN105493465A
CN105493465A CN201480041072.9A CN201480041072A CN105493465A CN 105493465 A CN105493465 A CN 105493465A CN 201480041072 A CN201480041072 A CN 201480041072A CN 105493465 A CN105493465 A CN 105493465A
Authority
CN
China
Prior art keywords
upnp
xmpp
network
entity
joint
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.)
Granted
Application number
CN201480041072.9A
Other languages
English (en)
Other versions
CN105493465B (zh
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN105493465A publication Critical patent/CN105493465A/zh
Application granted granted Critical
Publication of CN105493465B publication Critical patent/CN105493465B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2812Exchanging configuration information on appliance services in a home automation network describing content present in a home automation network, e.g. audio video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

提供了用于网络环境中的针对云计算的基于可扩展通讯和表示协议(XMPP)的通用即插即用(UPnP)设备架构的示例方法,并且该示例方法包括将根据UPnP设备架构协议的第一内容映射至根据可扩展通讯和表示协议(XMPP)的至少一个节,生成包括该至少一个节和根据UPnP设备控制协议(DCP)格式化的第二内容的数据,以及通过XMPP网络将数据在可扩展标记语言(XML)流中从第一UPnP网络中的第一UPnP实体发送至第二远程UPnP网络中的第二UPnP实体。在特定实施例中,第二内容包括在适当的设备描述和服务描述中传达的厂商特定信息。

Description

网络环境中的用于云计算的基于XMPP的UPnP设备架构
相关申请的交叉引用
本申请基于35U.S.C.§119(e)要求于2013年7月20日提交的序列号为61/856,689的美国临时申请“1-1474:XMPPASUPNPARCHITECTUREBASISFORCLOUDCOMPUTING”的优先权权益,它的全部公开内容通过引用合并于此。
技术领域
本发明一般地涉及通信领域,更具体地,涉及网络环境中的用于云计算的基于可扩展通讯和表示协议(XMPP)的通用即插即用(UPnP)设备架构(UDA)。
背景技术
通过互联网云连接的UPnP设备的概念是通信市场中的新兴趋势。应用和其他类型的家庭网络的实现方式(例如,公用设施供应商的智能电网)所实现的云服务中的最新进展有望冲击市场的动态。在这样的背景下,连通性无处不在是技术目标和挑战,通信技术正朝其迅速地发展。然而,缺乏适当的能共同操作的通信协议机制用于与先进的UPnP设备和服务的激增相结合的云服务递送,可能使得许多用户在大量应用之间切换或对他们的平台缺乏支持感到沮丧。
附图说明
为了提供本公开和特征和它们的优势的更完整的理解,参考下面的描述,结合附图,其中相似的参考编号表示相似的部分,其中:
图1是示出用于网络环境中的用于云计算的基于XMPP的UPnP设备架构的通信系统的简化框图;
图2是示出通信系统的实施例的示例细节的简化框图;
图3是示出通信系统的实施例的其他示例细节的简化框图;
图4是示出通信系统的实施例的其他示例细节的简化框图;
图5是示出通信系统的实施例的其他示例细节的简化框图;
图6是示出通信系统的实施例的其他示例细节的简化框图;
图7是示出通信系统的实施例的其他示例细节的简化框图;以及
图8是示出可以与通信系统的实施例相关联的示例操作的简化流程图。
具体实施方式
概述
提供了用于网络环境中的用于云计算的基于XMPP的UPnP设备架构的示例方法,并且该示例方法包括:将根据UDA协议的第一内容(例如,以数字形式或模拟形式编码的文本、数字、或符号信息)映射(例如,变换、转化、转换、表示)至根据XMPP的至少一个节(stanza),生成包括根据UPnP设备控制协议(DCP)的第二内容和该至少一个节的数据,以及通过XMPP网络将该数据从第一UPnP网络(例如,其中UPnP设备被配置为根据UPnP协议进行通信的网络)中的第一UPnP实体发送至第二远程UPnP网络中的第二UPnP实体。
示例实施例
转向图1,图1是示出根据一个示例实施例的用于网络环境中的用于云计算的基于XMPP的UPnP设备架构的通信系统10的简化框图。图1示出了通过XMPP网络14(3)经由XMPP服务器18与另一个远程网络14(2)中的另一个UPnP实体12(2)传输数据16的网络14(1)中的UPnP实体12(1)。在各种实施例中,数据16包括节20,其中节20包裹了根据UPnP设备控制协议(DCP)22而格式化的并且使用TCP/IP报头24(或根据其他合适的通信协议报头)来发送的内容。
如本文所使用的,术语“UPnP实体”包括服务的物理的或逻辑的容器(例如,可以在其本身之内包括其他组件的任意软件或硬件组件)。如设备描述文档(DDD)中所描述的,单一UPnP实体可以包括多个服务和嵌套的(例如,嵌入式的)设备。一般意义上,UPnP实体在可能的设备层级(例如,类似于树形结构)中被描述。每一个UPnP实体可以提供包括具体功能的零个或多个服务。例如,录像机(VCR)UPnP实体可以包括磁带传送服务、调谐器服务以及时钟服务。在另一个示例中,TV/VCR组合物UPnP实体可以包括嵌套的设备(包括TV和VCR)。UPnP实体可以包括(例如,与被动设备进行通信并且控制被动设备的)控制点、或(例如,仅与控制点进行通信,并且不与其他被动设备进行通信的)被动装置。例如,UPnP实体12(2)可以包括被动设备,并且UPnP实体12(1)可以包括控制点。
一般意义上,UPnP实体可以包括(通过示例的方式而不是限制性的)个人计算机、照相机、电视机、打印机、互联网网关、无线保真接入点、移动设备(例如智能电话、蜂窝电话和膝上型计算机)和能够根据(如由UPnP论坛、国际标准化组织(ISO)、国际电工委员会(IEC)和其它类似的标准化组织标准化和指定的)UPnP协议运行任意其他网络元件。
网络元件意味着包括计算机、网络装置、服务器、路由器、交换机、网关、网桥、负载均衡器、防火墙、处理器、模块、或可操作以在网络环境中交换信息的任意其他合适的设备、组件、元件或对象。此外,网络元件可以包括促进其操作的任意合适的硬件、软件、组件、模块、接口、或对象。这可以包括允许有效交换数据或信息的适当的算法和通信协议。
服务指示UPnP网络中最小的控制单元。每一个服务公开动作(例如,服务被配置来执行的功能或方法)并且用状态变量(例如,属性)来模拟其状态。例如,时钟服务可以用状态变量(例如,current_time)和两个动作(例如,set_time和get_time)来模拟,其中状态变量指定时钟的状态,两个动作允许控制服务。此外,一些UPnP服务可以定义状态变量的节制策略(例如,不是针对基本状态变量的每一个改变都生成事件通知,而是仅当满足某些条件时生成事件通知)。例如,可以仅当状态变量的值改变了某一最小量时才发送事件通知。转回到UPnP时钟的示例,时钟可以在1小时的节制时间下每小时提供事件。
“XMPP”网络是可以根据由XMPP标准化组织、和互联网工程任务组(IETF)在各种请求注释(RFC)和互联网草稿(如在http://www.xmpp.org处提供的,它的全部公开内容通过引用合并于此)中标准化的和指定的XMPP协议(包括XMPP扩展协议(XEP))支持(例如,促进、准许、允许、辅助、协助等等)通信的任意网络。
如本文所使用的,术语“节”包括通过XML流(例如,用于交换XML元素的容器)在两个XMPP实体之间经由网络发送结构化信息的原子级(例如,基础)语义单元(例如,一小片结构化数据,包括可扩展标记语言(XML)中的信息的片段)。XML流作为会话期间发送的基本上所有节的信封。至少有三种节可用:消息(message)(例如,提供用于广义消息发送的推送机制)、存在(presence)(例如,提供用于广播关于网络可用性的信息的专用发布-订阅机制)、和IQ(“信息(Info)/查询”的简称,对数据提供更结构化的交换的请求-响应机制)。因此,根据XMPP标准,节是第一级元素(例如,在XML流的深度=1处),其元素名称为“消息”、“存在”、或“iq”,并且其符合条件的命名空间为‘jabber:client’或‘jabber:server’。注意,指定节的变量的具体值可以基于XMPP标准的变型适当地改变,并且所有这些变型/改变都被包括在通信系统10的实施例的广义范围之内。节通常适当地包括一个或多个子元素(具有伴随的属性、元素、和XML字符数据)以表达期望的信息。
为了说明通信系统10的技术的目的,理解可以遍历图1中示出的系统的通信是重要的。下面的基本信息可以被视为基础,从中可以适当地解释本公开。仅为说明的目的切实地提供这样的信息,并且因此,不应当以任何方式被解释为限制本公开和它的潜在应用的广泛范围。
UPnPTM技术指定了用于对等、易于使用、灵活、到不同设备(例如,家庭装置、无线设备、和计算机)的ad-hoc或无管理网络的基于标准的连接的架构。UPnP技术提供了分布式、开放的联网架构,该联网架构利用传输控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、和web技术(例如,超文本传输协议(HTTP)、和可扩展标记语言(XML))来实现无缝邻近联网以及联网的设备之间的控制、发现和数据传输。某些通信可以基于有线协议,该有线协议是声明性的、用XML表示的并经由HTTP通信的。
UPnP技术使用协议栈,相比于传统TCP/IP协议栈,该协议栈包括最高层处的UPnP设备控制协议(DCP),然后是UPnP论坛规范、再然后是UPnP设备架构(UDA)协议。在最高层处,消息在逻辑上仅包括关于它们的设备和根据DCP而格式化的相应服务的UPnP厂商特定信息,该信息可以描述各种设备和服务的期望的(例如,标准化的)功能。沿着协议栈向下移动,厂商内容通过由UPnP论坛工作委员会定义的信息来补充。包括该内容的消息在诸如简单服务发现协议(SSDP)、服务控制协议声明(SCPD)、通用事件通知架构(GENA)和简单对象访问协议(SOAP)之类的各种UDA协议中被托管。通过UDP多播消息来传递SSDP。通过HTTP来传递SOAP和GENA消息。最终,通过IP来传递所有消息。
UDA支持针对来自广泛厂商范围的广泛设备种类的自动发现、零配置和“不可见”联网。因此,UPnP实体可以动态地加入UPnP网络、获得IP地址、传达它的能力、和学习UPnP网络上的其他UPnP实体的存在和能力。此外,UPnP实体可以平滑地(例如,不留下任何不期望的状态)且自动地(例如,无需人工干预)离开UPnP网络。
UPnPDCP指定用于创建设备描述和服务描述的标准化模式或模板。换句话说,哪些类型的服务被包括在哪些类型的实体中是利用适当的厂商扩展、由UPnP论坛工作委员会确定并且在可应用的DCP中被标准化的。因为不同种类的UPnP实体与服务和嵌入式设备的不同集合相关联(例如,VCR中的服务不同于与打印机相关联的服务),所以每一个设备类型的标准化(一般地)指定其所提供的具体服务集合(反之亦然)。位于UPnP实体处的XML设备描述文档和XML服务描述文档分别捕获设备描述和服务描述。类似于设备描述,服务描述信息是标准化XML服务描述文档的一部分。到服务描述文档的指针(例如,统一资源定位符(URL))通常被包括在设备描述文档中。
通常,设备描述包括描述UPnP实体的功能的两个部分:(1)关于实体的一般信息(例如,设备类型(例如,媒体服务器、媒体渲染器等等)、实体的唯一标识号(例如,通用唯一标识符(UUID))、制造商名称、和友好名称(例如,用于用户界面的目的));和(2)关于实现的服务和如何使用该服务的信息(例如,下载服务描述文档的URL、公布SOAP动作的URL、公布GENA订阅/退订消息的URL等等)。注意,设备描述文档和服务描述文档的结构是标准化的(例如,采用根据SCPD的XML格式);然而内容是特定于域的。因此,动作定义和状态变量定义位于适当的特定于域的DCP。
厂商用特定于包括具体设备或服务的UPnP实体的信息(例如,设备名称、型号、制造商名称、和到适当的服务描述文档的URL)填写相关的设备描述和服务描述模板。数据被根据UDA(例如,XML设备描述模板)封装到特定于UPnP的协议中。在使用SSDP、GENA、和SOAP格式化并且通过HTTP和其他这样的协议传递消息之前,特定于UPnP的信息被插入至所有这些消息中。
在根据UDA规范进行操作期间,在UPnP实体已经获得UPnP网络上的地址(例如,IP地址)之后,发现操作被执行。SSDP指定服务可以在UPnP网络上被发现的方式。当控制点(例如,具有能够发现和控制UPnP网络上的设备的控制器功能的UPnP实体)被添加至UPnP网络时,SSDP允许控制点搜索UPnP网络上感兴趣的UPnP实体。通常,控制点发送SSDP搜索请求以发现UPnP网络上可用的UPnP实体(例如,包括UPnP设备和服务)。UPnP实体针对搜索请求监听多播端口。当接收到搜索请求时,UPnP实体检查搜索标准以确定匹配。如果找到匹配,则将单播SSDP响应发送至控制点。
此外,当UPnP实体被添加至网络时,SSDP允许新添加的UPnP实体将它的服务通告给网络上的UPnP控制点。UPnP实体当被加入网络中时将通告它所支持的服务的多个SSDP存在公告发送出去。存在公告和单播设备响应消息两者都包括指向设备描述文档(其可以包括指向服务描述文档的另一指针)的位置的指针(例如,URL)。SSDP还使得UPnP实体(包括相关联的(一个或多个)设备和(一个或多个)服务)得体地离开网络(例如,用SSDP再见通知)。
一般地,有四种SSDP消息可用:(1)活跃消息,该活跃消息指示UPnP实体在网络上是活跃的;(2)再见消息,该再见消息指示UPnP实体正在离开网络;(3)M搜索消息,UPnP控制点可使用该M搜索消息针对某些类型的设备的存在来查询网络;以及(4)M搜索响应,其中UPnP实体响应控制点查询。通常,每一个SSDP消息包括消息类型、UUID、设备描述文档的位置(例如,URL)、设备类型消息、和活跃时间(例如,在活跃时间期间,UPnP实体再次发送消息,并且如果在活跃时间期间没有再次发送消息,则控制节点假定该实体已经离开网络)。
在UPnP控制点检索设备描述文档之后,UPnP控制点使用SOAP控制相应的UPnP实体。SOAP指定用于使用XML和HTTP执行远程过程调用(例如,用于控制的目的)的协议和格式。UPnP使用SOAP将控制消息传递至UPnP实体并且将结果或错误返回至UPnP控制点。每一个UPnP控制请求均为SOAP消息,该SOAP消息包括要调用的动作以及一组可应用的参数(例如,变量和相应的数据值、事件特征等等)。响应是包括状态、返回值、和任意返回参数的SOAP消息。
每一个服务可以通过XML中表达的和使用GENA格式化的事件消息来公布与可应用的服务描述中所列出的服务相对应的变量的改变更新。在一个示例中,对接收事件通知感兴趣的UPnP控制点可以通过发送GENA请求(例如,SUBSCRIBE消息)来订阅事件源(例如,UPnP设备或服务),该GENA请求包括感兴趣的服务、要将事件发送至的位置(例如,它自己的HTTP服务器位置(例如,地址/端口))、和事件通知的订阅时间(例如,活跃时间,在活跃时间期间UPnP控制点刷新订阅)。UPnP控制点还可以发送UNSUBSCRIBE命令以从事件源退订。对订阅请求的响应通常包括由UPnP实体确定的订阅标识符(SID)和活跃时间。当UPnP实体出现状态改变时,它将改变作为事件发送信号给感兴趣的订户。事件被表达为包括状态变量和状态变量的有效载荷的XML文档。XML文档中的元数据包括SID和序列号。
一般意义上,UPnP技术被限制于本地家庭网络。因此,两个不同UPnP网络之间的连接是困难的。存在某些机制允许远程访问UPnP实体。例如,UPnP远程访问机制指定两个远程UPnP设备之间进行通信的安全通道。例如,诸如电话之类的远处设备可以通过所建立的虚拟专用网(VPN)通道来连接至家庭网络以查看家庭网络中的设备。在这样的情景中,发现消息完全不同于UDA规范--原来的SSDP消息(指示设备存在于网络上)在VPN的每个端点被重新创建。在家庭到家庭(H2H)连接中,对VPN的两端上的IP地址的约束被人工地添加以实现两个UPnP网络之间的连接。然而,这样的机制不能按比例缩放,例如,在不同网络上具有无数不同UPnP实体的大型云计算应用中。
XMPP已经被用来在音频/视频(A/V)应用中扩展跨越网络的UPnP连接。XMPP是用于基于XML的面向消息的中间件的通信协议。具体地,XMPP促进服务(该服务在本地驻留或跨网络)的发现(例如,XEP-0030)以及服务的可用性(例如,通过存在)。XMPP经由两个(或更多个)实体之间的网络通过包括一个或多个节的XML流进行操作。通常使用分布式客户端-服务器架构来实现XMPP,其中客户端连接至服务器以获得到网络的访问,从而与其他实体(该其他实体可以与其他服务器相关联)交换节。客户端连接至服务器、交换节以及结束连接的过程包括下面的操作:(1)确定要连接的IP地址和端口;(2)打开TCP连接;(3)通过TCP打开XML流;(4)将资源绑定至流;(5)与网络上的其他实体交换无限数量的节;(6)关闭XML流;以及(7)关闭TCP连接。此外,在XMPP之内,一个服务器可以选择性地连接至另一个服务器以实现域间或服务器间通信。
然而,扩展跨网络的UPnP连接的XMPP机制在应用级操作并且仅针对特定DCP(即,AVDCP)成功地运行。因此,根据UPnPAVDCP指定的UPnP媒体服务器(称作Coherence)将本地文件或在线媒体输出至UPnP客户端。应用级代理(称作Mirabeau)允许在两个或更多个局域网之间通过互联网将XMPP用作传输方式来共享UPnP内容。使用感应管(例如,使用网络套接字或私有D总线提供触点到触点联网的连接),Coherence连接至XMPP(例如,jabber)账号、加入聊天室并开始向聊天室的其他参与者(其在XMPP登记簿中被列出)提供数据。当参与者加入聊天室时,本地Coherence实例开始连接至聊天室中可用的管并且将它们转换为本地UPnP实体。因此,机制将DCP和底层UDA修改到如UPnP标准中指定的它们不会被用于寻址、发现、控制、和事件功能的范围。此外,机制显然地在不对UPnP协议栈中的底层协议做出任何改变的情况下通过XMPP转换UPnPAVDCP。
通信系统10被配置为通过提供网络环境中的用于云计算的基于XMPP的UDA的系统和方法来解决这些问题(以及其他问题)。根据通信系统10的实施例,UPnP实体12(1)和12(2)可以将根据UDA协议的第一内容映射至至少一个节20,生成包括根据UPnPDCP22的第二内容和节20的数据16,以及通过XMPP网络14(3)将数据16分别发送至UPnP实体12(2)和12(1)。注意,在每一个UPnP实体12(1)和12(2)处生成的数据16可以包括不同内容。例如,从UPnP实体12(1)发送至UPnP实体12(2)的数据可以包括事件信息;在从UPnP实体12(2)到UPnP实体12(1)的相反方向中发送的数据可以指示相应的响应。在通信系统10的特定实施例中,可以在每一个UPnP实体12(1)和12(2)处将根据适当的UDA协议的发现、描述、控制和事件提供转换为根据XMPP使用节20的通信。
在操作期间,UPnP实体12(1)和12(2)可以登录到XMPP网络14(3),从而公告XMPP网络14(3)上相应的XMPP客户端的存在。在一些实施例中,每一个XMPP客户端可以表示单一UPnP设备描述,其可以包括一个或多个UPnP实体(例如,UPnP实体)。在其他实施例中,每一个XMPP客户端可以表示多个设备描述,其可以指示(但不一定指示)在不用任何特殊指定的情况下其中具有多个设备和服务的单一物理箱(例如,具有DVD播放器能力的TV)。在各种实施例中,UPnP实体12(1)和12(2)可以将登记簿节(例如,<iq/>节,其包括将要被添加至登记簿集合的新登记簿项)发送至XMPP服务器18,从而将相应的UPnP实体添加至特定UPnP组。XMPP服务器18可以处理登记簿节并且根据标准XMPP继续添加登记簿项。UPnP组登记簿可以指示基本上所有可用于与网络14(1)和14(2)中的适当的UPnP控制点进行通信的UPnP实体的列表。
在各种实施例中,UDA协议的发现操作可以被转换为XMPP。因此,UPnP实体12(1)和12(2)可以在根据XMPP的<presence/>节中传输根据SSDP的发现信息。在各种实施例中,根据XMPP的现有存在类型消息可以被映射至SSDP公告;在其他实施例中,可以添加新的存在状态。表明活跃或离开的信令可以在<presence/>节(中被指示例如,<presence/>节中的通过发信号来通知“离开”或“可用”的信息可以直接被映射至UPnP存在指示,分别例如“UPnP再见”或“UPnP活跃”)并且被发送至XMPP服务器18。XMPP服务器18可以在可应用的UPnP组登记簿中维护存在信息(例如,表明可用或不可用的状态)。
此外,UPnP再见SSDP通告(例如,ssdp:byebye)可以被映射至<presence/>节并且被发送至XMPP服务器18。基本上所有订阅的UPnP/XMPP客户端可以从XMPP服务器18得到<presence/>节更新。在各种实施例中,网络14(1)和14(2)中的UPnP控制点可以查询XMPP网络14(3)以检测可应用的UPnP组上的活跃的实体。在使用登记簿机制的实施例中,UPnP控制点可用检索来自XMPP服务器18的指定登记簿,并且确定其中每一个列出的UPnP实体的活跃的存在状态是否被设置。因此,至少SSDP活跃、再见和更新可以根据通信系统10的各种实施例被映射至XMPP<presence/>节。
发现信息可以包括UPnP设备描述和服务描述,其中根据UDA,可以在相应的文档中提供该UPnP设备描述和服务描述。在各种实施例中,可以根据XMPP在登记簿节中引用(例如,耦合、包括、链接、或以其他方式嵌入)包括UPnP设备描述和服务描述的发现信息。在一些实施例中,在映射至XMPP期间,整个文档可以被表达为登记簿节中的额外参数。例如,根据UDA的HTML格式下的设备描述和服务描述可以被嵌入在根据XEP-0071的登记簿节中。在其他实施例中,登记簿节(或其他节,例如流发起节)可以指示足够的信息以从由特定URL指定的位置(例如,使用XEP-0095,诸如UPnP实体或XMPP服务器之类的请求者可以从该位置下载文件(流))下载设备描述和服务描述文档。在其他实施例中,节文件传输机制(例如,根据XEP-0096)可以被用来下载设备描述和服务描述。因此,根据DDD和SCPD(以及其他协议/格式)的设备和服务描述可以被映射至<iq/>请求/响应通信中的XMPP能力交换(例如,根据XEP-0030、XEP-0127、和/或XEP-0115)。
在发现完成之后,UPnP实体12(1)和12(2)可以根据UDA规范交换控制信息,其中这些UDA规范被映射至XMPP。控制信息可以在UPnP实体之间被互相交换、被与另一个UPnP控制点交换、或被交换以处理UPnP实体本身的动作。控制信息包括在UPnP实体12(1)和12(2)的相应服务描述中被指定的动作。在一些实施例中,这些动作可以采用根据SOAP的格式被发布至服务描述中指定的URL。通信系统10的实施例可以将SOAP格式下的动作转换为SOAP节(例如,根据XEP-0072)。因此,基本上服务描述中所描述的所有动作(也包括相应的参数和类型)都可以在XMPP域中被重复使用。UDA规范的SOAP请求和响应文档中所描述的XML格式化可以被保留在SOAP节中,在适当情形下包裹附加的XML(例如,从而传递包括目的地和接收信息的服务和设备信息)。在一些实施例中,根据SOAP的每个动作可以由至少第一XMPP通知和第二XMPP通知替代,其中第一XMPP通知调用操作,并且第二XMPP通知将响应中继回发送者。
可以根据GENA执行UPnP实体12(1)与12(2)之间以及与任何UPnP控制点之间的基于UDA规范的事件通知,该事件通知可以在XMPP域中用适当的修改(例如,根据XEP-0060、XEP-0248)来重复使用。在各种实施例中,控制点对事件数据的订阅可以被映射至适当的<iq/>节(具有要注册的有效载荷)。例如,UPnP特定订阅消息可以被映射至相应的<iq/>节,该相应的<iq/>节订阅接收事件数据的XMPP客户端。在一些实施例中,XMPP服务器18(或其他合适的网络元件)基本上可以保留所订阅的XMPP客户端的所有信息。因此,当事件发生时,XMPP服务器18(或其他合适的网络元件)可以访问信息以将事件数据发送至订阅的XMPP客户端。类似的<iq/>节可以被用来退订每一个XMPP客户端。
在一些实施例中,每一个GENA订阅消息可以由至少两个通知来替代,一个是调用订阅的通知,另一个是如果订阅成功则向发送者中继回响应的通知。在一些实施例中,新<iq/>节可以包括事件的注册和XML状态变量文档到订阅的XMPP客户端的传递。可以通过适当的<iq/>节将事件公布给订阅的XMPP客户端,并且接收者可以在另一个<iq/>节中传输对该事件的响应以确认接收。根据UDA规范的GENA事件文档的XML格式化可以在<iq/>节中被重复使用,在适当情形下,在GENA事件文档周围包裹附加的XML(例如,从而传递事件源的服务和设备信息)。在示例实施例中,利用适当的修改(例如,将根据GENA协议的HTTP报头重新格式化为根据XMPP的XML),UPnP订阅消息的原始有效载荷可以在<iq/>节中被重复使用。在另一个示例实施例中,在内容被格式化为HTTP报头的情况下,UPnP订阅消息的原始有效载荷可以在<iq/>节中被使用。
在一些实施例中,来自特定XMPP客户端的订阅消息可以将XMPP客户端添加至群组聊天室(例如,根据XEP-0045)。因此,基本上聊天室中的每一个XMPP客户端当在聊天室中进行通信时都可以得到相同的事件数据。事件数据可以被格式化为聊天消息(例如,根据XEP-0085)。在一些实施例中,XMPP通信可以被提供为多用户聊天室经验(例如,具有用户定义的私有房间和公知的公共场所)。局域网通信可以使用传统UPnP,而远程网络之间的通信可以通过多用户聊天室来实现。在一些实施例中,诸如FacebookTM聊天和其他这样的聊天室之类的社交媒体也可以被用于远程网络中的UPnP实体之间的通信。
通信系统10的实施例可以用XMPP替代UDA技术(包括发现、描述、控制、和事件提供),例如,以便UPnPDCP可以在XMPP域中被重复使用。通信系统10的实施例可以利用现有DCP(无需修改);因此DCP信息是XMPP通知的一部分。通信系统10的实施例可以很容易升级到具有现有编程资源的云接口。本文所描述的机制可以针对跨广域网的UPnP连接提供安全、单播、可扩展的通信技术。
转向通信系统10的基础设施,网络14(1)-14(3)的网络拓扑可以包括任意数量的XMPP服务器、UPnP实体、硬件加速器、虚拟机、交换机和路由器、和互相连接的其他节点,从而形成大型复杂网络。节点可以是任意电子设备、客户端、服务器、对等端、服务、应用、或能够通过网络中的通信信道发送、接收、或转发消息的其他对象。图1的元件可以通过采用任何合适的连接(有线或无线)的一个或多个接口(其针对电子通信提供可行的途径)被互相耦合。此外,这些元件中的任一个或多个可以根据具体配置需要被组合或从架构中移除。
通信系统10可以包括能够针对网络中电子发送或接收数据分组进行TCP/IP通信的配置。通信系统10还可以适当地且根据具体需要,结合用户数据报协议/互联网协议(UDP/IP)或任意其他合适的协议进行操作。此外,网关、路由器、交换机、和任意其他合适的节点(物理的或虚拟的)可以被用来协助网络14(1)-14(3)中各种节点之间的电子通信。
示例网络环境可以通过物理基础设施(可以包括一个或多个网络)被配置,并且还可以被配置为下面的任意形式,包括但不限于局域网(LAN)(例如,网络14(1)和14(2))、无线局域网(WLAN)、VLAN、城域网(MAN)、广域网(WAN)(例如,网络14(3))、内联网、外联网、任意其它适当的架构或系统、或促进网络中通信的它们的任意组合。在一些实施例中,通信链路可以表示支持LAN环境的任意电子链路,例如,电缆、以太网、无线技术(例如,IEEE802.11x)、ATM、光纤、电源线等等、或它们的任意合适的组合。在其他实施例中,通信链路可以表示通过任意适当的介质(例如,数字用户线(DSL)、电话线、T1线、T3线、无线、卫星、光纤、电缆、以太网等等、或它们的任意组合)和/或通过诸如广域网(例如,互联网)之类的任意附加网络的远程连接。
注意,分配至图1的元件的数字和字母命名方式不意味着任何类型的层级;该命名方式是任意的并且仅被用于教导目的。这样的命名方式不应当以任何方式被解释以限制它们在潜在环境(可以从图像系统10的特征中获益)中的能力、功能、或应用。应当理解的是,图1中示出的通信系统10被简化以便于说明。
XMPP服务器18作为XMPP通信的智能抽象层,其管理来自其他XMPP实体(例如,能够理解和解释XMPP协议的网络元件)的连接或其他XMPP实体的会话,并且通过XMPP网络14(3)在这样的实体之间适当地路由数据。在各种实施例中,XMPP服务器18可以包括机架式服务器、刀片服务器、或其它合适的网络元件、或者位于这些网络元件中、或者在这些网络元件上运行。此外,通信系统10可以包括其他XMPP服务器和UPnP实体,为了简单起见这些在本文中未示出。
转向图2,图2是示出通信系统10的实施例的示例细节的简化的框图。示例UPnP实体12包括处理器30和存储器元件32。UPnP模块34包括根据DCP格式化的内容36和根据UDA栈格式化的内容38。UPnP到XMPP映射模块40可以将根据UDA栈格式化的内容38的一部分映射至一个或多个节20。在示例实施例中,发现信息42(根据SSDP)、描述信息44(根据DDD和服务控制协议描述(SCPD))、控制信息46(根据SOAP)、和提供事件信息48(根据GENA)可以分别被映射至存在节52、登记簿节54、SOAP节56、和GENA节58。数据生成模块可以生成数据16,该数据16包括根据DCP格式化的内容36和一个或多个节20。发送模块62可以通过XMPP网络(例如,14(3))在XML流中将数据16从示例UPnP实体12发送至另一个UPnP实体12。处理器30和存储器元件32可以促进本文所描述的操作。
注意,通信系统10的实施例可以使用或重复使用各种XEP(在做出合适的修改的情况下或在不做出合适的修改的情况下),以将根据UDA的内容38映射至根据XMPP的一个或多个节20。在www.xmpp.org/extensions中由XMPP标准化组织公布的所有这些XEP的规范的全部公开内容通过引用合并于此。仅作为示例,并且不作为限制,这样的XEP的非穷尽的列表包括:XEP-0030(服务发现)、XEP-0045(多用户聊天)、XEP-0060(发布订阅)、XEP-0071(XHTML-1.0集成)、XEP-0072(通过XMPP的SOAP)、XEP-0085(聊天状态通知)、XEP-0095(流发起)、XEP-0096(流发起文件传输)、XEP-0115(实体能力)、XEP-0127(通过XMPP的通用警告协议)、和XEP-0248(PubSub集合节点)。
转向图3,图3是示出通信系统10的实施例的其他示例细节的简化框图。UPnP网络14(1)中的UPnP实体12(1)与另一个远程UPnP网络14(2)中的UPnP实体12(2)通过XMPP网络14(3)经由XMPP服务器18(1)和18(2)进行通信。在各种实施例中,XMPP网络14(3)可以包括WAN(例如,互联网);UPnP网络14(1)和14(2)可以包括位于不同地理位置并且彼此互相远离的不同家庭(或商业)网络(例如,LAN)。在各种实施例中,从UPnP实体12(1)和12(2)到相应的XMPP服务器18(1)和18(2)的通信可以根据被映射至XMPP的UDA;XMPP服务器18(1)和XMPP服务器18(2)可以根据XMPP协议。
此外,UPnP实体12(1)可以根据UDA(在不映射至XMPP的情况下)与UPnP网络14(1)中的另一个UPnP实体12(3)进行通信。例如,UPnP实体12(1)可以作为网络14(1)和14(2)中的UPnP控制点。在UPnP网络14(1)之内,UPnP实体12(1)可以使用传统UDA进行通信(例如,在不映射至XMPP的情况下);而UPnP实体12(1)可以使用UDA/XMPP与远程网络14(2)进行通信(例如,根据UDA被映射至XMPP的内容)。
转向图4,图4是示出通信系统10的实施例的其他示例细节的简化框图。协议栈70指示传统UPnP协议栈的简化视图,该协议栈70包括UPnPDCP22、SSDP42、SOAP46、和GENA48。UPnP到XMPP映射模块40可以将协议栈70映射至XMPP栈72,该XMPP栈72包括相同(例如,重复使用的)UPnPDCP22、发现节74(例如,包括存在节52和登记簿54)、SOAP节56、和GENA节58。
转向图5,图5是示出通信系统10的实施例的其他示例细节的简化框图。可以在XMPP客户端(例如,UPnP实体12)与XMPP服务器18之间建立XMPP会话76。XML流78(1)和78(2)可以携带适当的节20,节20将根据UDA格式化的内容38映射至根据XMPP的格式。通过实例的方式,而不是限制的方式,节20可以包括发现节74(包括存在节52和登记簿54)、SOAP节56、和GENA节58。
根据XMPP标准,通过开始XML<stream>标签(具有适当的属性和命名空间声明)明显地表示每一个XML流78(1)和78(2)的开始,并且通过结束XML</stream>标签明显地表示每一个XML流78(1)和78(2)的结束。在每一个XML流78(1)和78(2)的寿命期间,发起相应的XML流的实体可以通过每一个XML流78(1)和78(2)发送无限多个XML元件(例如,节20和被用来协商相应的XML流的其他元素)。“发起流”从发起实体(通常是XMPP客户端77或另一个XMPP服务器)到接收实体(通常是XMPP服务器18)被协商,并且可以被看作对应于发起实体与接收实体的XMPP会话76。发起流实现从发起实体到接收实体的单向通信;为了实现从接收实体到发起实体的信息交换,接收实体在相反的方向上协商响应流。
每一个XML流78(1)和78(2)可以包括各种属性,例如,‘去往’(例如,由接收实体服务的主机名称)、‘来自’(例如,由准许访问发起实体的接收实体服务的主机名称)、‘id’(例如,由接收实体创建的唯一标识符,该唯一标识符作为发起实体与接收实体的流的会话秘钥)、‘xml:lang’(例如,通过该流发送的任意人类可读XML字符数据的默认语言)、和‘版本’(例如,发送所支持的特定XMPP版本的信令)。
转向图6,图6是示出根据通信系统10的实施例的示例发现节74的简化框图。节80表示登记簿节54的示例,该示例将具有XMPPJID‘MyMediaServermyhome.com’的项(例如,MyMediaServer)提供给在具有JID‘myaccountmyhome.com/MediaServer’的资源MediaServer处的UPnP组(例如,我的账户)的登记簿。节82表示存在节54的示例,该示例将UPnP实体的状态设置为“活跃”。节84表示另一个存在节54的示例,该示例指示UPnP实体正在离开网络。节86表示存在节54的示例,该示例通过XMPP网络将UPnP实体已经离开网络的更新发送至三个订阅的客户端。节88表示针对登记簿上的所有活动(例如,活跃)UPnP实体查询XMPP服务器18中的登记簿的示例。节90表示登记簿节56(或其他合适的<iq/>节)的示例,该示例将设备描述文档嵌入节之内。
转向图7,图7是示出根据通信系统10的实施例的示例GENA节58的简化框图。节92表示示例专用的XMPP<iq/>订阅消息,其中使用了UPnP订阅消息的原始有效载荷(例如,内容被格式化为HTTP报头)。节94表示对成功订阅的示例响应,其中以XML方式使用UPnP订阅消息的原始有效载荷(例如,HTTP报头被重新格式化为XML)。节96表示指示事件的示例消息,其中消息包括具有适当的服务标识并且被发送至订阅的客户端的信息,其中事件属性集的XML格式化与UPnP论坛规范保持一致。节98表示对事件通知消息的示例响应(例如,用来确认接收)。
转向图8,图8是示出可以与通信系10的实施例相关联的示例操作100的简化流程图。在102处,根据UDA的内容38可以在第一UPnP网络14(1)中的第一UPnP实体12(1)中被映射至根据XMPP的节20。在一些实施例中,发现信息42(根据SSDP)、描述信息44(根据DDD和SCPD)、控制信息46(根据SOAP)、和提供事件信息48(根据GENA)可以分别被映射至存在节52、登记簿节54、SOAP节56、和GENA节58。在104处,可以生成包括节20和UPnPDCP22的数据16。在106处,数据16可以在XML流(例如,XML流78)中经由第三网络14(3)中的XMPP服务器18被发送至第二UPnP网络14(2)中的第二UPnP实体12(2)。
注意,在本说明书中,对被包括在“一个实施例”、“示例实施例”、“实施例”、“另一个实施例”、“一些实施例”、“各种实施例”、“其他实施例”、“可替代的实施例”等等中的各种特征的引用旨在表明任意这样的特征被包括在本公开的一个或多个实施例中,而不一定要在相同实施例中被组合。
还要注意,本文的说明书中使用的‘应用’可以包括可执行文件,该可执行文件包括可以在计算机上被理解并且被处理的指令,该‘应用’还可以进一步包括在执行期间加载的库模块、对象文件、系统文件、硬件逻辑、软件逻辑、或任意其他可执行模块。此外,词语“优化”、“最优化”、和相关的术语是本领域的术语,这些术语指指定的结果的速度和/或效率上的提升,并且不意味着指示用于实现指定的结果的过程已经被实现或能够实现“最优”或完美速度/完美效率状态。
在示例实现中,本文概括的活动中的至少一些部分可以在软件中被实现(例如,UPnP实体12)。在一些实施例中,一个或多个这些特征可以在硬件中被实现,在这些元件的外部被提供,或以任意适当的方式被合并,从而实现期望的功能。各种网络元件(例如,UPnP实体12)可以包括软件(或往复式软件),该软件为了实现本文所概述的操作可以协调。在其他实施例中,这些元件可以包括促进其操作的任意合适的算法、硬件、软件、组件、模块、接口、或对象。
此外,本文所描述和示出的UPnP实体12(和/或它们的相关联结构)还可以包括用于在网络环境中接收、发送、和/或通信数据或信息的合适的接口。此外,与各种节点相关联的一些处理器和存储器可以被移除、或可以被合并,这样单一处理器和单一存储器元件负责某些活动。一般意义上,附图中所描述的布置可以比它们的表示更具有逻辑性,而物理架构可以包括各种排列、组合、和/或这些元件的混合物。必须注意,无数可能的设计配置可以被用来实现本文所概述的操作目标。因此,相关联的基础设施具有无数合适的布置、设计选择、设备可能、硬件配置、软件实现、设备选项等等。
在示例实施例中,一个或多个存储器元件(例如,存储器元件32)可以存储被用于本文所描述的操作的数据。这包括存储器元件能够在非暂态介质中存储指令(例如,软件、逻辑、代码等等),这样指令被执行以完成本说明书中所描述的活动。处理器可以执行与数据相关联的任意类型的指令,从而完成在本文说明书中所详细描述的操作。在一个示例中,处理器(例如,处理器30)可以将元件或物体(例如,数据)从一个状态或事物转换为另一个状态或事物。在另一个示例中,本文所概述的活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本文所标识的元件可以是一些类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、包括数据逻辑、软件、代码、电子指令、闪存、光盘、CD-ROM、DVDROM、磁卡或光卡、适于存储电子指令的其他类型的机器可读介质的ASIC,或它们的任意合适的组合。
这些设备还可以(适当的和根据具体需要)将信息保存在任意合适的类型的非暂态存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM)等等)、软件、硬件、或任意其他合适的组件、识别、元件、或对象中。在通信系统10中被跟踪、被发送、被接收、或被存储的信息可以(基于具体需要和实现)在任意数据库、寄存器、表、缓存、队列、控制列表、或存储结构中被提供,所有这些信息都可以在任意合适的时间帧中被引用。本文所讨论的任意存储器表项应当被解释为被涵盖在广义术语‘存储器元件’的范围之内。类似地,本说明书中所描述的任意潜在的处理元件、模块、和机器应当被解释为被涵盖在广义术语‘处理器’的范围之内。
同样值得注意的是,参考前述附图所描述的操作和步骤仅示出了可以由系统(或在系统之内)执行的一些可能的情景。在不偏离所讨论的概念的范围的情况下,可以(适当地)删除或移除这些操作中的一些,或可以修改或改变这些步骤。此外,可以相当程度地改变这些操作的时序,并且仍然实现本公开所教导的结果。为了示例和讨论的目的已经提供了前述操作流程。系统提供了极大的灵活性,其中在不偏离所讨论的概念的教导的情况下,可以提供任意合适的布置、年表、配置、和时序机制。
虽然已经参考具体布置和配置详细描述了本公开,但是在不偏离本公开的范围的情况下,可以显著地改变这些示例配置和布置。例如,虽然已经参考具体通信交换(包括某些网络访问)和协议描述了本公开,但是通信系统10可以适用于其他交换或路由协议。此外,虽然已经参考促进通信过程的具体元件和操作示出了通信系统10,但是这些元件和操作可以被实现通信系统10的期望的功能的任意合适的架构或过程替换。
本领域的普通技术人员可以查明许多其他改变、替代、变型、变化、和修改,并且值得注意的是,本公开包括落入附加权利要求的范围之内的所有这样的改变、替代、变型、变化、和修改。为了协助美国专利商标局(USPTO),并且此外,本申请上发出的任何专利的任何读者在解释本文的附加权利要求时,申请人期望注意,申请人:(a)除非在具体权利要求中专门使用词语“用于…装置”或“用于…步骤”,不旨在要求任何附加权利要求援引在提交日存在的35USC第112条的第六款(6);以及(b)不旨在要求本说明书的任何陈述以任何方式(没有在附加权利要求中反映的)限制本公开。

Claims (20)

1.一种方法,包括:
将根据通用即插即用(UPnP)设备架构协议的第一内容映射至根据可扩展通讯和表示协议(XMPP)的至少一个节;
生成包括所述至少一个节和根据UPnP设备控制协议(DCP)格式化的第二内容的数据;以及
通过XMPP网络将所述数据在可扩展标记语言(XML)流中从第一UPnP网络中的第一UPnP实体发送至第二远程UPnP网络中的第二UPnP实体。
2.如权利要求1所述的方法,其中,所述第一内容包括根据简单服务发现协议(SSDP)的发现信息,其中所述发现信息的一部分被映射至根据XMPP的适当的<presence/>节。
3.如权利要求2所述的方法,其中,所述发现信息包括UPnP设备描述和服务描述,其中所述UPnP设备描述和服务描述在根据XMPP的登记簿节中被引用。
4.如权利要求2所述的方法,其中,所述第一UPnP实体和所述第二UPnP实体作为相应的XMPP客户端登录到所述XMPP网络,其中每个XMPP客户端表示至少一个UPnP实体。
5.如权利要求1所述的方法,其中,所述第一内容包括根据简单对象访问协议(SOAP)的控制信息,其中根据SOAP的所述控制信息被映射至根据XMPP的SOAP节。
6.如权利要求5所述的方法,其中,所述控制信息包括在所述第一UPnP实体和所述第二UPnP实体的服务描述中指定的动作,其中根据SOAP的每个动作由至少第一XMPP通知和第二XMPP通知替代,其中所述第一XMPP通知调用动作并且所述第二XMPP通知中继响应。
7.如权利要求1所述的方法,其中,所述第一内容包括根据通用事件通知架构(GENA)协议的事件信息,其中所述事件信息被映射至包括根据XMPP的至少一个适当的<iq/>节的GENA节。
8.如权利要求7所述的方法,其中,所述<iq/>节将订阅消息嵌入所述第一UPnP实体的GENA协议中以接收事件数据,其中根据GENA协议的超文本传输协议(HTTP)报头被重新格式化为根据XMPP的XML。
9.如权利要求1所述的方法,其中,所述第二内容包括在适当的设备描述和服务描述中传达的厂商特定信息。
10.如权利要求1所述的方法,其中,根据UPnPDCP格式化的所述第二内容在无需UPnPDCP规范的修改的情况下在所述数据中被重复使用。
11.一种非暂态有形介质,其包括用于运行的指令,所述指令当被处理器运行时可操作以执行操作,所述操作包括:
将根据UPnP设备架构协议的第一内容映射至根据XMPP的至少一个节;
生成包括所述至少一个节和根据UPnPDCP格式化的第二内容的数据;以及
通过XMPP网络将所述数据在XML流中从第一UPnP网络中的第一UPnP实体发送至第二远程UPnP网络中的第二UPnP实体。
12.如权利要求11所述的介质,其中,所述第一内容包括根据SSDP的发现信息,其中所述发现信息的一部分被映射至根据XMPP的适当的<presence/>节。
13.如权利要求11所述的介质,其中,所述第一内容包括根据SOAP的控制信息,其中根据SOAP的所述控制信息被映射至根据XMPP的SOAP节。
14.如权利要求11所述的介质,其中,所述第一内容包括根据GENA协议的事件信息,其中所述事件信息被映射至根据XMPP的至少一个适当的<iq/>节。
15.如权利要求11所述的介质,其中,所述第二内容包括在适当的设备描述和服务描述中传达的厂商特定信息。
16.一种装置,包括:
存储器元件,所述存储器元件用于存储数据;以及
处理器,其中所述处理器运行与所述数据相关联的指令,其中所述处理器和所述存储器元件协作,使得所述装置被配置为:
将根据UPnP设备架构协议的第一内容映射至根据XMPP的至少一个节;
生成包括所述至少一个节和根据UPnPDCP的第二内容的数据;以及
通过XMPP网络将所述数据在XML流中从第一UPnP网络中的第一UPnP实体发送至第二远程UPnP网络中的第二UPnP实体。
17.如权利要求16所述的装置,其中,所述第一内容包括根据SSDP的发现信息,其中所述发现信息的一部分被映射至根据XMPP的适当的<presence/>节。
18.如权利要求16所述的装置,其中,所述第一内容包括根据SOAP的控制信息,其中根据SOAP的所述控制信息被映射至根据XMPP的SOAP节。
19.如权利要求16所述的装置,其中,所述第一内容包括根据GENA协议的事件信息,其中所述事件信息被映射至根据XMPP的至少一个适当的<iq/>节。
20.如权利要求16所述的装置,其中,所述第二内容包括在适当的设备描述和服务描述中传达的厂商特定信息。
CN201480041072.9A 2013-07-20 2014-06-20 网络环境中的用于云计算的基于XMPP的UPnP设备架构的方法、装置和非暂态有性介质 Expired - Fee Related CN105493465B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361856689P 2013-07-20 2013-07-20
US61/856,689 2013-07-20
US14/132,213 US9560145B2 (en) 2013-07-20 2013-12-18 XMPP based UPNP device architecture for cloud computing in a network environment
US14/132,213 2013-12-18
PCT/US2014/043476 WO2015012983A1 (en) 2013-07-20 2014-06-20 Xmpp based upnp device architecture for cloud computing in a network environment

Publications (2)

Publication Number Publication Date
CN105493465A true CN105493465A (zh) 2016-04-13
CN105493465B CN105493465B (zh) 2018-09-25

Family

ID=52344515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480041072.9A Expired - Fee Related CN105493465B (zh) 2013-07-20 2014-06-20 网络环境中的用于云计算的基于XMPP的UPnP设备架构的方法、装置和非暂态有性介质

Country Status (4)

Country Link
US (1) US9560145B2 (zh)
EP (1) EP3025475B1 (zh)
CN (1) CN105493465B (zh)
WO (1) WO2015012983A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560145B2 (en) 2013-07-20 2017-01-31 Cisco Technology, Inc. XMPP based UPNP device architecture for cloud computing in a network environment
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US11146416B2 (en) * 2015-12-24 2021-10-12 Intel Corporation Universal interface for sensor devices
CN111371897B (zh) * 2020-03-12 2022-10-04 深圳市共进电子股份有限公司 一种基于组网系统的反向连接方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008083391A2 (en) * 2006-12-29 2008-07-10 Prodea Systems, Inc. A multi-services application gateway and system employing the same
GB2445791A (en) * 2007-01-17 2008-07-23 Electricpocket Ltd Interconnection of Universal Plug and Play Networks using eXtensible Messaging and Presence Protocol Streams
CN102316091A (zh) * 2010-05-28 2012-01-11 丛林网络公司 用于内容分发网络的应用层流量优化增强
CN103098433A (zh) * 2010-04-18 2013-05-08 Voxeo研究有限公司 用于xmpp协议的servlet api和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US20040255029A1 (en) * 2003-06-16 2004-12-16 Microsoft Corporation Discovery and control protocol for intelligent displays
US20060143295A1 (en) * 2004-12-27 2006-06-29 Nokia Corporation System, method, mobile station and gateway for communicating with a universal plug and play network
US7567553B2 (en) * 2005-06-10 2009-07-28 Swift Creek Systems, Llc Method, system, and data structure for providing a general request/response messaging protocol using a presence protocol
ITTO20060083A1 (it) * 2006-02-07 2007-08-08 St Microelectronics Srl Dispositivo "plug-and-play" per applicazioni video-voce su reti a commutazione di pacchetto
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US20090010184A1 (en) * 2007-07-05 2009-01-08 Vesa Luiro Device and method for bidirectional communication
US9560145B2 (en) 2013-07-20 2017-01-31 Cisco Technology, Inc. XMPP based UPNP device architecture for cloud computing in a network environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008083391A2 (en) * 2006-12-29 2008-07-10 Prodea Systems, Inc. A multi-services application gateway and system employing the same
GB2445791A (en) * 2007-01-17 2008-07-23 Electricpocket Ltd Interconnection of Universal Plug and Play Networks using eXtensible Messaging and Presence Protocol Streams
CN103098433A (zh) * 2010-04-18 2013-05-08 Voxeo研究有限公司 用于xmpp协议的servlet api和方法
CN102316091A (zh) * 2010-05-28 2012-01-11 丛林网络公司 用于内容分发网络的应用层流量优化增强

Also Published As

Publication number Publication date
US9560145B2 (en) 2017-01-31
CN105493465B (zh) 2018-09-25
EP3025475A1 (en) 2016-06-01
WO2015012983A1 (en) 2015-01-29
US20150026307A1 (en) 2015-01-22
EP3025475B1 (en) 2019-11-06

Similar Documents

Publication Publication Date Title
US7640329B2 (en) Scaling and extending UPnP v1.0 device discovery using peer groups
US7647394B2 (en) Scaling UPnP v1.0 device eventing using peer groups
US7912959B2 (en) Architecture for building a peer to peer messaging platform
US7764675B2 (en) Peer-to-peer connection between switch fabric endpoint nodes
US7493413B2 (en) APIS to build peer to peer messaging applications
EP2854374B1 (en) Method and device for managing terminal in home network and home network
KR100978336B1 (ko) 리모트 액세스
EP2520049B1 (en) Method and apparatus for using service of home network device based on remote access
JP2015043208A (ja) 中央発見機構を利用する通信装置、及び個別の方法
EP3396899A1 (en) System and method of multi-media conferencing between universal plug and play (upnp) enabled telephony devices and wireless area network (wan) devices
JP2004288187A (ja) ネットワークを介した機器情報の管理装置およびその方法
WO2008087374A2 (en) SYSTEM AND METHOD FOR REMOTELY ACCESSING UNIVERSAL PLUG AND PLAY (UPnP) NETWORKS
CN105493465B (zh) 网络环境中的用于云计算的基于XMPP的UPnP设备架构的方法、装置和非暂态有性介质
WO2018106159A1 (en) Methods and apparatus for operating and managing a constrained device within
CN108243026A (zh) 局域网设备通信管理方法、系统及网关设备
Hornsby et al. XMPP-based wireless sensor network and its integration into the extended home environment
KR100724940B1 (ko) Dlna 시스템에서의 dms의 컨텐츠 업데이트 방법
KR20070060997A (ko) 웹서비스를 이용한 홈네트워크 미디어 컨텐츠 제공 시스템및 그 방법
US20100049804A1 (en) Instant Messaging
JP5394704B2 (ja) 情報通信システム、及びソフトウェア更新方法
Kim et al. Internet home network electrical appliance control on the internet with the UPnP expansion
Klauck Seamless integration of smart objects into the internet using XMPP and mDNS/DNS-SD
CN114500660B (zh) 请求处理方法、装置、设备及计算机可读存储介质
JP5723011B2 (ja) UPnPテレフォニーを用いるメモ共有方法及び装置
Ishikawa et al. Peer-to-peer networking platform and its applications for mobile phones

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180925

Termination date: 20210620