从本地网络来控制远程网络中的设备的制作方法

文档序号:7849372阅读:143来源:国知局
专利名称:从本地网络来控制远程网络中的设备的制作方法
技术领域
本发明一般涉及电信技术,更具体而言,涉及从本地网络来控制远程网络中的设备。
背景技术
各种已知的技术被用来建立从ー个网络到另ー网络的连接,为了例如从本地网络来支配远程网络实体;例如VPN (虚拟私有网络)安全通道。另ー广泛使用的解决方案在于利用MS (IP多媒体子系统)架构。这些现有的基于VPN通道或MS架构的解决方案相对昂贵且应用很复杂。此外, 基于VPN通道的解决方案会出现地址冲突问题。MS架构不一定对大众市场的用户免费可 用。在大众市场领域,UPnP/DLNA标准优先作为用于共享、广播并控制数字内容的标准。目前,符合UPnP (通用即插即用)标准的各种设备项目在家庭中普遍使用,特别是具有媒体服务器(例如TwonkyMedia、视窗(Windows)媒体播放器11等)、媒体渲染器(STB、DMA音频、IP-无线电等)和媒体播放器(游戏操纵器、数字相框等)的多媒体领域。但是,ー种UPnP网络中的设备项目没有被设计为与另ー UPnP网络中的设备项目进行通信。特别地,在UPnP标准中,没有解决方案用于远程控制该实体。特别地,用于发现UPnP实体的机制使用“多播”模式中的命令发送器,其仅能够发现在本地网络中存在的实体,而不能发现远程网络中存在的那些实体。因此,需要一种用于从本地网络来控制远程网络中的实体的简单的解决方案,一种适于远程控制UPnP设备形式的实体的解决方案。

发明内容
本发明的ー个目标是修复现有技术中的问题、缺陷或不足,和/或提供其改进。根据第一方面,本发明涉及一种从被称为本地网络的第一网络来控制远程网络中的至少ー个UPnP设备的方法,该方法由第一网络中的第一中继模块来实现,该第一中继模块被配置为至少与远程网络中的第二中继模块进行通信,所述方法包括-通过所述第二中继模块来获取UPnP设备的至少ー个标识符的步骤,该UPnP设备是通过与所述第二中继模块关联的UPnP控制点在一个所述远程网络中检测到的;-记录接收到的至少ー个标识符的步骤,该至少ー个标识符与提供所述至少ー个标识符的第二中继模块的标识信息相关;-通过与第二中继模块关联的控制点来控制所述远程网络中的UPnP设备的步骤,该第二中继模块通过所记录的与该UPnP设备的标识符相关联的所述标识数据来标识。本发明因此基于分别位于本地网络和远程网络中的中继模块的使用、来提供本地网络和远程网络之间的通信机制,该中继模块各自被设计为互相通信,并提供设备的标识符的列表,该列表可以通过该中继模块来控制。
特别地,与能够控制通过该标识符所标识的设备的中继模块的标识数据相关联、通过本地中继模块来存储这些标识符中的ー个,这使能够随后通过相关的中继模块并通过与该相关中继模块关联的控制点来向该设备发送请求。通过与该UPnP设备在同一网络中的控制点来远程控制UPnP设备的这个方法可用于这个网络中的已经由UPnP控制点检测到的任意UPnP设备。因此,与控制点相关的单个中继模块足以在每个网络中使其可能远程控制该网络中的所有UPnP设备。此外,不仅是标识符、而且用来描述远程网络中的UPnP设备的信息,可被本地网络的中继模块直接使用来远程控制这些UPnP设备,所述UPnP设备是在根据UPnP/DLNA标准而使用的发现阶段期间由控制点搜集的。没有额外的发现阶段被用来获取该信息。根据ー个实施例,根据本发明的方法还包括-通过所述第二中继模块向远程网络中的第二UPnP设备发送请求的步骤,该第二中继模块由所记录的与所述UPnP设备的标识符相关联的标识数据来标识; -通过所述第二中继模块从第二UPnP设备接收对所述请求的响应的步骤。本地中继模块通过远程中继模块来和远程网络中的UPnP实体进行通信,用于发送请求并接收对这些请求的响应。与本地中继模块交互的远程中继模块构成远程网络中的UPnP设备的代表实体(或根据盎格鲁撒克逊(Anglo — Saxon)术语的“代理”),尤其相对于本地中继模块,作为远程网络中的UPnP设备的代表。根据另ー实施例,根据本发明的方法还包括-通过第二中继模块来接收用于本地网络中的UPnP设备的请求的步骤,-将所述请求发送到相关UPnP设备的步骤;-向所述第二中继模块发送对所述请求的响应的步骤,该响应是根据相关UPnP设备所提供的响应来构建的。远程中继模块通过本地中继模块与本地网络中的UPnP实体进行通信,用于发送请求并接收对这些请求的响应。与远程中继模块通信的本地中继模块构成代表实体(或根据盎格鲁撒克逊术语的“代理”),尤其相对于远程中继模块,作为不能与这个本地网络之外的实体和/或非UPnP实体进行通信的、本地网络中的UPnP设备的代表。根据另ー实施例,根据本发明的方法还包括针对至少一个所述第二中继模块来记录数据的步骤,该数据表示授权或禁止对该第二中继模块所发起的请求进行响应。这使其可能保护在本地中继模块和远程中继模块之间进行的交換,在于本地中继模块只能向具有响应授权的已知远程中继模块发送响应。根据本发明的另ー实施例,根据本发明的方法还包括当要由第一中继模块发送到一个所述第二中继模块的请求或对该请求的响应包含本地网络中的内容服务器所引用的内容的地址时,将该地址转换为已转换地址的步骤,该已转换地址将用于接入本地网络的网关的互联模块指定为可从其使用这个内容的实体。这具有避免由于将远程网络中引用的内容与本地网络中的实体进行共享而带来的地址冲突的作用。根据另ー实施例,根据本发明的方法还包括当由第一中继模块接收且由ー个所述第二中继模块发起的请求或对该请求的响应包含远程网络中的内容服务器所引用的内容地址时,将该地址转换为已转换地址的步骤,该已转换地址将用于接入本地网络的网关的互联模块指定为可从其使用这个内容的实体。这具有避免由于将远程网络中引用的内容与本地网络中的实体进行共享而带来的地址冲突的作用。根据另ー实施例,根据本发明的方法还包括通过本地网络中的UPnP控制点来控制本地网络中的UPnP设备的步骤。本地中继模块由此还能控制本地网络中的UPnP实体。通过对于用户来说透明的方式,能够通过该本地中继模块来控制本地网络中的UPnP实体以及远程网络中的UPnP实体二者。根据另ー实施例,根据本发明的方法还包括-询问本地网络的UPnP控制点、以获取由该UPnP控制点在第一网络中检测到的第一 UPnP设备的至少ー个标识的步骤。-记录所接收到的与标识第一中 继模块的标识数据相关联的标识作为可经由其来控制第一 UPnP设备的实体的步骤。由此,本地中继模块具有本地网络中的UPnP实体的标识符,其可用来标识希望通过UPnP控制点来控制的实体。根据另ー实施例,根据本发明的方法还包括创建可从第一中继模块控制的至少ー个UPnP设备的列表的步骤,该列表包含已接收的一个所述第二中继模块的标识符或者本地网络的ー个UPnP控制点的标识符。由于本地中继模块能够知道本地网络中的UPnP设备的标识符以及远程网络中的UPnP设备的标识符二者,通过对于用户来说透明的方式,可以通过该本地中继模块来控制本地网络中的UPnP实体以及远程网络中的UPnP实体二者。根据另ー实施例,根据本发明的方法还包括记录与联系人的标识符相关的、远程网络中的至少ー个所述第二中继模块的标识数据的步骤,该联系人是该远程网络的用户。优选地,对本地中继模块可与之通信的远程中继模块的管理和标识通过与联系人关联来实现,该联系人是远程网络的用户,并被认为是本地网络的至少ー个用户的朋友。对本地网络的接入可以仅被授权给后ー用户的已知用户。可以将上述各个实施例结合在一起来实现本发明。根据优选的实现,根据本发明的方法的各个步骤通过计算机软件或程序来应用,该软件包括软件指令,该软件指令被设计为由根据本发明的中继模块的数据处理器来执行,并被设计为支配这个方法的各个步骤的执行。因此,本发明的另ー主题是适于被计算机或数据处理器执行的程序,该程序包括指令,该指令用于支配上述方法的各个步骤的执行。该程序可使用任意程序语言并具有源代码、目标代码或源代码和目标代码之间的代码的形式,例如部分编译的形式,或者任意其它想要的形式。本发明的另ー主题是ー种信息介质,可以被数据处理器读取,并包含如上所述的程序的指令。信息介质可以是能存储程序的任意实体或设备。例如,介质可包括存储装置,例如ROM如CD ROM或微电子电路R0M,或者磁记录装置如磁盘(软盘)或硬盘。 此外,信息介质可以是可传输介质例如电或光信号,其可以通过电缆或光缆、通过无线电或其它方式来路由。根据本发明的程序可具体地从因特网类型的网络来下载。或者,信息介质可以是集成电路,程序可被包含于其中,该电路适于执行或被用于执行所讨论的方法。根据ー个实施例,本发明可通过软件和/或硬件组件的方式来实现。为此,术语“模块”在本文档中可对应于软件组件和硬件组件二者或者对应于硬件和软件组件的集合。软件组件对应于一个或多个计算机程序,程序的一个或多个子例程,或者更具体地,能够实现如下针对相关模型来描述的功能或一组功能的程序或软件的任意元素。这样的软件组件由物理实体(終端、服务器、网关、机顶盒、路由器等)的数据处理器来执行,井能够访问该物理实体的硬件资源(存储器、记录介质、通信总线、输入/输出电子卡、用户接ロ
坐、
ノ o以类似的方式,硬件组件对应于能实现如下针对相关模块所描述的功能或ー组功能的硬件装置的任意元素。它可以是能被编程或与集成处理器一起执行软件的硬件组件,例如集成电路、智能卡、存储卡、用于固件执行的电子卡等。
相关地,根据第二方面,本发明涉及本地网络中的中继模块,其被称为本地中继模块,被配置为与远程网络中的至少ー个第二中继模块进行通信,并包括-用于通过所述ー个所述第二中继模块来获取UPnP设备的至少ー个标识符的装置,该UPnP设备是通过与所述第二中继模块关联的UPnP控制点在一个所述远程网络中检测到的;-用于记录至少ー个接收到的标识符的装置,该标识符与提供所述至少一个标识符的第二中继模块的标识信息相关;-用于通过与第二中继模块关联的控制点来控制所述远程网络中的UPnP设备的装置,该第二中继模块由所记录的与该UPnP设备的标识符相关联的标识数据来标识。根据本发明的方法所阐述的优势可以直接转用于根据本发明的中继模块。更具体而言,根据本发明的中继模块包括用于实现根据本发明的方法的步骤的装置。根据第三方面,本发明涉及远程网络中的中继模块,其被配置为与根据本发明的第二方面的第一中继模块进行通信,该中继模块包括-用于向所述第一中继模块提供UPnP设备的至少ー个标识符的装置,该UPnP设备是通过与所述中继模块关联的UPnP控制点在远程网络中检测到的;-针对由第一中继模块发起的请求、控制所述远程网络中的UPnP设备的装置。根据第四方面,本发明涉及第一网络中的UPnP控制点,其与根据本发明的第三方面的第一中继模块关联-用于向第一中继模块提供由所述UPnP控制点所检测到的UPnP设备的至少ー个标识符的装置;-用于控制第一网络中的UPnP设备的装置,所述装置被配置为,针对来自第一中继模块的请求、向一个所述UPnP设备发送UPnP请求。“控制点”是指ー个UPnP实体,被设计为检测UPnP设备在网络中的存在性,并通过UPnP命令来控制这些设备。典型地,它涉及UPnP/DLNA标准中被称为“控制点”(CP)、“数字媒体控制器”(DMC)或者“数字媒体播放器”(DMP)的实体,后ー实体包含DMC的功能。


本发明的其它目标、特征和优势将通过下列作为非限制性的例子并參考附图所给出的描述而变得明显,在附图中
-图I示意性地表示包含根据本发明的中继模块的通信系统;-图2示意性地表示在本发明的一个实施例中使用、并包含根据本发明的中继模块的机顶盒的架构;-图3到6示意性地表示在第一使用场景下的根据本发明的一个实施例的方法的步骤;-图7到10示意性地表示在第二使用场景下的根据本发明的一个实施例的方法的步骤。
具体实施例方式将在下列应用的情形中更详细地描述本发明从不同于远程网络的被称为本地网络中的网络设备项目来控制位于被称为远程网络的第一网络中的远程实体。它解决了当设 备项目和本地网络都不具有与该远程网络或这些远程实体进行通信的部件时所出现的通信阻断问题。这些远程实体例如可以是通过UPnP协议来控制的实体。本发明尤其可能从本地网络来控制远程网络中的UPnP实体,并且就好像该远程实体构成本地网络的一部分,并且以对于本地网络的用户来说透明的方式这么做。通过提供从本地网络来控制远程网络中的UPnP实体的可能性,本发明特别提供了对UPnP命令机制的扩展。因此,本发明修复了 UPnP标准中指定的UPnP协议所固有的限制,该协议当前仅允许从本地网络中的设备项目对同一本地网络中的UPnP实体进行支配。例如,本发明可被用于通过本地网络中的呈现设备来呈现远程网络中的内容服务器所引用的内容,并通过远程网络中的呈现设备来呈现本地网络中的内容服务器所引用的内容。这些内容例如是多媒体内容(视频和/或音乐剪辑)。内容服务器例如是根据UPnP (通用即插即用)标准的内容服务器。这样的内容服务器在UPnP架构的上下文中被称为“数字媒体服务器”(DMS)。呈现设备例如是根据UPnP(通用即插即用)标准的呈现设备。这样的内容服务器在UPnP架构的上下文中被称为“数字媒体渲染器”(DMR)。本发明还可用于根据UPnP标准的其它类型实体的远程命令,尤其是被称为“数字媒体打印机”设备的设备命令。UPnP标准为UPnP实体之间的对等网络类型的互连提供方法和架构。每个UPnP实体可以被物理地集成到本地网络中的一个终端或者集成到网关类型的设备项目、机顶盒(STB)、NAS (网络附加存储)类型的存储路由器或服务器等。UPnP标准中提供的通信机制被设计为允许UPnP实体之间的互操作性。UPnP协议尤其使用TCP/UDP/IP (传输控制协议/用户报文协议/互联网协议)协议来传送UPnP请求。在本文档的上下文中,如果实体符合UPnP标准或另一等价或衍生标准,尤其是如果它使用符合该标准的命令协议,则该实体被称为UPnP实体。本发明提出的机制还可以被转到用于网络中的实体命令的其它协议,例如“ B0NJ0UR ” 协议。图I中示出的系统被组织在三个本地网络RS_A、RS_B和RS_J (每个例如是家用网络的形式)以及扩展网络RI (例如因特网)附近。假设本地网络RS_A (或RS_B,或RS_J)属于名为Alice (或Bob,或John)的用户。系统还包括下列实体-用户Alice的设备项目MT_A,形式为例如移动终端,软件应用程序HUI_A在其中运行;-家用网关GW_A、GW_B、GW_J,分别用作接入网络RS_A、RS_B、RS_J的网关,这些网关通过运营商(即扩展网络RI接入的提供商)的网络ROP将连接到这些网络中的一个的设备项目与扩展网络RI互连, -符合UPnP标准的内容服务器DMS_A、DMS_B、DMS_J,分别连接到网络RS_A、RS_B、RS_J;-符合UPnP标准的内容呈现设备DMR_A、DMR_B、DMR_J,分别连接到网络RS_A、RS_B、RS_J ;-符合UPnP标准的控制点DMC_A、DMC_B、DMC_J,分别连接到网络RS_A、RS_B、RS_J ;-分别与控制点DMC_A、DMC_B、DMC_J 关联的中继模块 DMCP_A、DMCP_B、DMCP_J,分别连接到网络RS_A、RS_B、RS_J ;-域名服务器DNSl(域名服务器,DynDNS),存在于网络运营商(即家用网关GW_A的提供商)的运营商网络ROP中,该运营商网络ROP为网络RS_A、RS_B、RS_J形成网络以接入因特网。为模块或实体的引用加上的下标A、B或J因此被用来指定每个模块的位置如果模块属于Alice的网络,则下标为A ;如果它属于Bob的网络,则下标为B,且如果它属于John的网络,则下标为J。在本发明的上下文中,为了简化说明的目的,假设具有相同引用(GW_、DMCP_、DMR_、DMS等)但具有不同下标(A、B或J)的两个模块功能相同,在于它们对其分别所属的网络中的实体起到同样的角色。内容服务器内容服务器DMS_A、DMS_B、DMS_J中的每个是符合UPnP标准的内容服务器,或“数字媒体服务器”(DMS)。因此,它具有符合UPnP标准的命令接ロ,并可以仅通过UPnP请求来控制。UPnP请求通常是经由代表“UPnP服务”的目标实体的编程软件接ロ(API,应用编程接ロ)、通过函数调用来发送的。旱现设备呈现设备DMR_A、DMR_B、DMR_J中的每个是符合UPnP标准的呈现设备、或“数字媒体渲染器”(DMR)。因此,它具有符合UPnP标准的命令接ロ,并可以仅通过UPnP请求来控制。UPnP 控制点UPnP控制点DMC_A、DMC_B、DMC_J中的每个符合UPnP标准或DMC (“数字媒体控制”)或CP (即“控制点”)。根据UPnP/DLNA标准中提供的设备发现机制,每个控制点负责检测包含该控制点的网络中所连接的UPnP设备。因此,每个控制点保留最新的已连接UPnP设备的列表,并检测出现(新连接的设备)和消失(设备的断开)。
每个控制点还可被设计为向其所属的网络中存在的所有UPnP设备发送UPnP请求。这些请求,尤其被称为“Browse”的UPnP请求,用于浏览UPnP内容服务器的内容目录(CDS、内容目录服务),或者是被称为“SetAVTransportURI”或“Play”的请求,用于控制对DMR (数字媒体渲染器)类型的UPnP呈现设备上的内容的呈现。在本发明的上下文中,控制点DMC_A、DMC_B、DMC_J与中继模块DMCP_A、DMCP_B、DMCP_J关联,井向该中继模块发送关于检测到的UPnP设备的信息标识符,通过这些设备实现的服务的描述。在一个实施例中,在UPnP设备的连接/断开发生时,每个控制点通知与之关联的中继模块。中继模块由此可发送信号将这个连接/断开通知到与之建立通信链路的任意其它远程中继模块。所讨论的远程中继模块然后可以

-停止向检测到断开的控制点发送要被转换的请求;-或者,相反,开始向检测到UPnP设备的连接的控制点发送要被转换的请求,该请求将被转换为UPnP请求,然后被发送到该UPnP设备。网关假设家用网关GW_A、GW_B、GW_J功能相同。这里详细描述的关于网络RS A中的实体的网关GW A的功能可以被直接转用于其它网关GW_B、GW_J。网关GW A是用于网络RS_A与因特网RI通过接入提供商的网络ROP进行互连的网关。它允许网络RS_A中的終端接入到因特网RI。相反,假设授予了该接入的权限,该网关允许不同于网络RS_A的其它网络中的设备项目与本地网络RS_A中的设备项目进行通信。网关GW_A包括互连模块CG_A,其使用网络RS_A和因特网RI之间的互连的功能。为此,它包括第一通信接ロ,用于和网络RS_A中的实体进行通信;以及第二通信接ロ,用于通过因特网RI尤其与网络RS_A之外的实体进行通信。该第二接ロ被用来与网络ROP的运营商的因特网服务提供商(ISP)并与域名服务器DNSl进行通信。互连模块CG_A包括被称为输入互连模块ICG_A的第一子模块,其能够接收从远程网络流到网络RS_A的数据流,并将它发送到该网络RS_A中的接收设备项目。在这方面,输入互连模块ICG_A用作反向代理。输入互连模块0CG_A还能够在接收之后解密流入的数据流,在根据HTTPS协议来发送所述数据流时,其相当于将HTTPS协议转换为HTTP。互连模块CG_A还包括被称为输出互连模块0CG_A的另一子模块,其能够将离开网络RS_A的流出的数据流发送到远程网络中的设备项目。输出互连模块0CG_A还能够在发送之前加密流出的数据流,在根据HTTP协议来发送该数据流时,其相当于将HTTP协议转换为 HTTPS。实现HTTP到HTTPS的转换以及相反过程的模块ICG_A和0CG_A的存在,保护了从ー个网络发送到另ー网络的数据,尤其是发送到呈现设备的内容,并填补了 UPnP呈现设备的功能空缺,后者不支持HTTPS协议;它们不能与其所在的网络之外的实体安全地通信。类似于网关GW_A,网络GW_B (或者GW_J)包含输入互连模块ICG_B (或者ICG_J)和输出互连模块0CG_B (或者0CG_J),它们与刚才描述的输入互连模块ICG_A和输出互连模块0CG_A功能相同。域名服务器DNSl
服务器DNSl维护了在公共地址和分配给其管理的设备项目的名称之间的映射表。特别地,分配给家用网关GW_A的名称是静态的,即不会改变,但是家用网关GW_A的公共地址会周期性地改变。因此,为了与家用网关GW_A通信,需要知道其当前的公共地址,且为此,基于本地网关GW_A的名称来询问服务器DNS1。该名称对应于该网关所管理的网络域名,其形式例如是myhome.homecins.org该名称由提供本地网关GW_A的网络运营商来自动分配,或者由该网关的用户来手动配置,在该第二情形中与家用网关GW_A关联的域名的配置是通过互连模块CG_A来实现的,该互连模块为此目的与服务器DNSl通信。互连模块CG_A还包括UPnP设备I⑶(互联网网关设备)或CGI (通用网关接ロ)形式的寻址模块,负责将公共端口和地址与网络RS_A中的设备项目的私有端口和地址进行映射,以允许网络RS_A外部的设备通过公共端口和地址来和该网络RS_A中的该设备项 目进行通信在接收发送到该公共端口和地址的数据时,互连模块CG_A通过确定要接收该数据的网络RS_A中的设备项目内部的地址和端ロ来进行地址转换。该寻址模块CG_A尤其还被用来替换与中继模块DMCP_A通信的远程中继模块DMCP_B 或 DMCP_J。中继樽块中继模块0103_ム、0103_8、0103_1功能相同。相对于这里详细描述的网络RS_A中的实体,中继模块DMCP_A的功能可被直接转用于其它中继模块DMCP_B、DMCP_J。中继模块DMCP_Ai代表实体(根据盎格鲁撒克逊术语的代理实体):它用作在終端MT_A上运行的应用程序HUI_A和Alice的网络RS_A的UPnP控制点之间通信的媒介。由于中继模块DMCP_A的存在,Alice的网络RS_A中的UPnP控制点可以被不符合UPnP的实体或者和/或不是该网络的一部分的实体来远程控制。中继模块DMCP_A能和远程网络中的中继模块进行通信,在该例子中,分别和在Bob的网络RS_B的设备项目中运行的中继模块DMCP_B以及在John的网络RS_J的设备项目中运行的中继模块DMCP_C进行通信。该对话是根据合适的方法、例如通过远程过程调用或者“网络服务”类型的请求来实现的,该远程过程调用或者“网络服务”类型的请求符合从例如XML RPC、SOAP和REST中选择的协议。在该情况下使用HTTP协议来传输在中继模块DMCP_A和中继模块DMCP_B或DMCP_J之间交换的请求。为了弥补由于从另一网络中的实体来访问ー个网络中存储的内容可能带来的地址冲突,中继模块DMCP_A使用两个内容地址转换函数。在UPnP标准中,内容的地址是URI (统ー资源标识符)的形式、并同引用该内容的UPnP内容服务器保存在该内容的元数据中。内容C的地址0RIG_URI_C的形式为http://DMS_IP/objectID=1234其中,- “DMS_IP”是引用该内容的内容服务器的IP地址;- “1234”是引用该内容的内容服务器所分配的内容C的标识符。中继模块DMCP_A所执行的第一地址转换函数被称为“源变换”函数。它在于修改内容的地址0RIG_URI_C,从而将输入互连模块ICG_A指定为可从其使用内容的实体。进行该修改,从而在变换之后获取的地址SOURCE_URI_C中保留原始地址ORIG_URI_C。该“源变换”地址转换对于避免与内容服务器或内容的可能的地址冲突是必要,该内容来自不同于其中存储内容C的网络的另ー网络。它由中继模块DMCP_A在网络RS_A的内容服务器所引用的所有内容的URI地址上实现,即在由中继模块DMCP_A发送到例如远程网络RS_B或RS_J的请求或对请求的响应中所包含的地址。“源变换”函数在于,在内容的URI地址中使用输入互连模块ICG_A的IP地址和端口号作为可从其得到内容的实体的标识符,从而转换之后的URI地址适于经由家用网关Gff_A的输入互连模块ICG_A从网络RS_A外部的实体来访问该内容。在应用“源变换”函数来转换之后所获 取的地址S0URCE_URI_C的形式为http://ICG_A_IP:ICG_A_PORT/getContent uri=ORIG_URI_CI其中,- “ICG_A_IP”是输入互连模块ICG_A的IP地址,即家用网关GW_A的公共IP地址;- “ICG_A_P0RT”是输入互连模块ICG_A的因特网端口号。该地址转换操作可以由中继模块DMCP_A来实现,因为后者知道參数ICG_A_IP和ICG_A_P0RT。逆变换在于提取变换之前的原始URI地址(0RIG_URI_C),当从远程网络RS_B或RS_J发送到本地网络RS_A中的实体的、包含该地址S0URCE_URI_C的流入请求或响应到达输入互连模块ICG_A吋,该逆变换是通过输入互连模块ICG_A来实现的。包含原始地址0RIG_URI_C的请求然后被输入互连模块ICG_A发送到本地网络RS_A中的实体,该实体在地址0RIG_URI_C中被标识为可从其获取内容的实体。由中继模块DMCP_A实现的第二地址转换函数被称为“目的变换”函数。它在于修改内容的地址S0URCE_URI_C,即已经最频繁地经历远程中继模块DMCP_B或DMCP_J所实现的“源变换”函数的地址,从而将输出互连模块0CG_A指定为可从其得到内容的实体。该修改被实现,从而在变换之后获取的地址DEST_URI_C中保留地址S0URCE_URI_C。这样的“目的变换”地址转换对于避免与内容服务器或内容的可能的地址冲突是必要的,该内容来自与其中存储内容C的网络不同的另ー网络。它由中继模块DMCP_A在远程网络RS_B或RS_J的内容服务器所引用的所有内容的URI地址上实现,即在由中继模块DMCP_A接收到的、来自远程网络例如RS_B或RS_J的请求或请求响应中包含的地址。“目的变换”函数在于,在内容的URI地址中,使用输出互连模块0CG_A的IP地址和端口号作为可从其得到该内容的实体的标识符,从而URI地址在转换之后适于通过输出互连模块0CG_A从网络RS_A内部的实体来访问该内容。在应用“目的变换”函数来转换之后所获取的地址DEST_URL_C的形式为http://0CG_A_IP:0CG_A_P0RT/getContent uri=S0URCE_URI_C其中,- “ 0CG_A_IP ”是输出互连模块0CG_A内部的IP地址,即家用网关GW_A的私有IP地址(在网络RS_A内部);- “0CG_A_P0RT”是输出互连模块0CG_A的内部因特网端口号。该地址转换操作可通过中继模块DMCP_A来实现,因为后者知道參数0CG_A_IP和OCG_A_PORT。逆变换在于提取变换之前的原始URI地址(S0URCE_URI_C),当从本地网络RS_A,送到远程网络RS_B或RS_J的、包含该地址DEST_URI_C的流出请求或响应到达输出互连模块0CG_A时,通过输出互连模块0CG_A来实现该逆变换。包含地址S0URCE_URI_C的请求然后被输出互连模块0CG_A发送到远程网络RS_B或RS_J中的输入互连模块,该输入互连模块在地址S0URCE_URI_C中被标识为可从其获取内容的实体。中继模块DMCP_A还被设计为将通过远程中继模块(DMCP_B或 DMCP_J)获取的UPnP设备列表与本地网络RS_A中的UPnP设备列表放到一起。这些设备列表尤其是内容服务器的列表或呈现设备的列表。中继模块DMCP_A还被设计为从Alice的终端MT_A中使用的应用程序HUI_A接收例如符合HTTP协议的请求。由此接收的每个HTTP请求将被发送到UPnP控制点与中继模块DMCP_A关联的UPnP控制点(DMC_A)、或者与远程中继模块(DMCP_B或DMCP_J)关联的远程 UPnP 控制点(DMC_B 或 DMC_J)。当接收UPnP控制点位于本地网络时,请求被中继模块DMCP_A以命令进行转换,然后被发送到该本地UPnP控制点。对该命令的响应通过本地UPnP控制点被传输到发送中继模块 DMCP_A。当UPnP控制点位于远程网络时,在请求被该远程中继模块转换然后以命令形式传输到这个远程UPnP控制点之前,该请求首先以HTTP请求的形式被中继模块DMCP_A发送到与该远程UPnP控制点关联的远程中继模块(DMCP_B或DMCP_J)。对该命令的响应相继地由远程UPnP控制点然后由与该远程UPnP控制点关联的远程中继模块(DMCP_B或DMCP_J)传输到所述发送中继模块DMCP_A。中继模块DMCP_A然后代表应用程序HUI_A作为UPnP控制点DMC_A的“代表”。此外,中继模块DMCP_A作为远程中继模块(DMCP_B或DMCP_J)的通信代理,其自身是远程UPnP控制点(DMC_B或DMC_J)的代表。由于各个中继模块DMCP_A、DMCP_B和DMCP_J的存在,互相通信,且每个作为UPnP控制点的代表,提供这些中继模块的网络之一的UPnP实体中的每个可以从不构成该实体所属的网络的一部分的设备项目来远程控制。由(本地或远程)UPnP控制点接收的命令本身被转换为符合UPnP标准的UPnP请求,被发送到其中发现目标控制点的网络中的UPnP实体,(本地或远程)UPnP控制点接收对UPnP请求的响应,基于该响应,该控制点将对其自己接收到命令的响应发送到与之关联的中继模块。应用稈序在Alice的终端MT_A中使用的应用程序HUI_A被用来向中继模块DMCP_A发送各种请求-对可从中继模块DMCP_A来控制的UPnP内容服务器进行标识的请求;-对可从中继模块DMCP_A来控制的UPnP呈现设备进行标识的请求;-对可从中继模块DMCP_A来控制的UPnP内容服务器所引用的内容进行浏览的请求;-通过可从中继模块DMCP_A来控制的UPnP呈现设备、对可从中继模块DMCP_A来控制的UPnP内容服务器所引用的内容进行呈现的请求;通过应用程序HUI_A来发送的请求例如根据HTTP协议来发送,然后被中继模块DMCP_A转换为命令以发送到UPnP控制点。在实践中,对于可被UPnP控制点发送到UPnP设备的任意UPnP请求,应用程序HUI_A可以将请求发送到中继模块DMCP_A,从而该中继模块将命令发送到与之关联的控制点DMC_A,且从而该控制点将所讨论的UPnP请求发送到该UPnP设备。用户接ロ可用于终端MT_A的用户,从而该用户可以控制应用程序HUI_A,尤其是选择要呈现的多媒体内容、并开始呈现该内容。该用户接ロ例如由网页构成,该网页由构成网络服务器的中继模块DMCP_A来掌控,并在经因特网RI与中继模块DMCP_A建立通信会话期间被发送到终端MT_A,终端MT_A和中继模块DMCP_A例如通过HTTP协议进行通信。该用户接ロ还可被包含在软件程序中, 该软件程序被嵌入到终端MT_A中,并通过HTTP协议与中继模块DMCP_A进行通信。远稈网络管理樽块中继模块DMCP_A耦接到远程网络管理模块RNM_A(RNM表示“远程网络管理”)。该模块被用来存储远程网络中的实体的寻址数据。在网络RS_A属于Alice的情况下,与Alice的联系人的标识(电子邮件地址、联系人的名字或姓、联系人的电话号码或其它信息)关联,该模块RNM_A被设计为记录网关的寻址地址,该网关用于接入属于该联系人的远程网络。如果,例如,Bob被包含在Alice的联系人中,则Bob的网络的接入网关GW_B的寻址数据以网络域名或网关公共名称的形式来存储,基于该名称,可通过询问服务器DNSl来获取当前被分配给接入网关GW_B的IP地址。当远程网络的中继模块DMCP_B或DMCP_J未包含于用于接入远程网络的接入网关Gff_B或GW_J时,模块RNM_A被设计为,与Alice的联系人的标识关联,记录在这个远程网络中存在的至少ー个中继模块DMCP_B或DMCP_J的寻址数据。这些寻址数据包括例如接入网关GW_B或GW_J的外部端口号,其被映射到远程网络内部的IP地址、并且在该远程网络中被分配给中继模块DMCP_B或DMCP_J。与中继模块之间的通信可以由远程网络外部的实体通过该端口号以及与接入网关GW_B或GW_J关联的网络域名来建立。当远程网络的中继模块DMCP_B或DMCP_J未包含于用于接入远程网络的接入网关Gff_B或GW_J时,与用于接入远程网络的接入网关GW_B或GW_J关联的网络域名足以从该远程网络外部的实体来与这个中继模块DMCP_B或DMCP_J进行通信。Alice的联系人的网络的中继模块的寻址数据可由Alice通过为此目的提供的用户接ロ并基于Bob提供的信息来手动记录。当Bob授权Alice接入他的网络时,在Bob的应用程序HUI_B中还可提供通过终端MT_B开始向Alice发送消息的功能,该消息包含中继模块DMCP_B的寻址数据。中继模块DMCP_A、DMCP_B或DMCP_J中的每个被设计为询问分别与之关联的远程网络管理模块RNM_A、RNM_B或RNM_C,用于获取在远程网络中存在的中继模块的寻址数据。映射表中继模块DMCP_A耦接到映射表UMT_A (UMT表示“UDN映射表”),该映射表管理在UPnP设备的标识符与中继模块的寻址数据之间的关联,通过该关联,可以从另一中继模块来控制这些模块。在UPnP标准中,UPnP设备通过UDN (唯一设备名称)标识符来标识。
该映射表UMT_A被设计,从而当UPnP设备位于给定的远程网络中吋,与该UPnP设备的UDN标识符关联,它可以记录在该远程网络中存在的远程中继模块的寻址数据。该映射表UMT_A被设计,从而当UPnP设备位于其中包含所关联的中继模块DMCP_A所在的本地网络中吋,与该UPnP设备的UDN标识符关联,它可以记录默认寻址数据(例如值为零),该默认寻址数据表示如下事实,即可由其来控制该本地UPnP设备的中继模块位于本地网络中、并对应于与该映射表UMT_A关联的中继模块DCMP_A的事实。网络的中继模块的寻址数据作为该中继模块的标识数据,并允许该网络外部的设备与该中继模块进行通信。它们包括-该网络的标识,形式为网络域名,对于服务器DNSl是已知的,基于该网络标识,可以获取用于接入该网络的网关的IP地址,-公共端口号,被该接入网关分配给该中继模块,基于该公共端口号,网关的寻址模块确定关联的内部地址和端ロ号。
中继模块DCMP_A、DMCP_B或DMCP_J中的每个被设计为用远程网络中的UPnP设备的UDN标识符和中继模块(在中继模块DMCP_A的情况下是DMCP_B、DCMP_J)的寻址数据来提供与之关联的映射表UMT_A、UMT_B或UMT_J,该寻址数据提供该标识符、并且位于其中找到该远程UPnP设备的远程网络中。中继模块DCMP_A、DMCP_B或DMCP_J中的每个还被设计为用本地网络RS_A的UPnP设备的UDN标识符和表示中继模块DMCP_A的寻址数据来提供与之关联的映射表UMT_A、UMT_B或UMT_J,通过该寻址数据,该本地UPnP设备在本地网络RS_A中存在。相反,中继模块DCMP_A、DMCP_B或DMCP_J中的每个被设计为询问与之关联的映射表UMT_A、UMT_B或UMT_J,以确定远程中继模块(在中继模块DMCP_A的情况下是DMCP_B、DCMP_J)的寻址数据,将针对给定UDN标识符所标识的UPnP设备的请求发送到该寻址数据。访问控制模块中继模块DMCP_A耦接到访问控制模块ACM_A (ACM表示“访问控制管理器”),其管理对远程中继模块(在中继模块DMCP_A的情况下是DMCP_B、DCMP_J)的访问授权。该模块被设计为,与远程中继模块或远程网络的标识关联,记录表示授权或禁止对来自该远程中继模块的请求进行响应的信息项。这些授权或禁止例如由Alice通过为此提供的用户接ロ来手动输入。所述标识例如以中继模块寻址数据的形式被记录,如在映射表UMT_A中所记录以及如模块RNM_A所配置。根据ー个实施例,这些授权或禁止被细化,以定义远程中继模块是否被授权-访问本地网络中的内容,以及/或-控制本地网络中的UPnP内容服务器,和/或-控制本地网络中的UPnP呈现设备。当然可以想到用于管理授权或禁止的更精确的规则通过内容、通过UPnP内容服务器、通过UPnP呈现设备、通过被请求的操作等。为了验证对远程中继模块的授权或禁止,从ー个中继模块发送到另一中继模块的请求包含发送该请求的远程中继模块的标识以及发现该远程中继模块的网络的标识。该标识作为请求的參数被插入,或被插入到请求的头部数据中(请求的发送者的标识字段中)。还可以想到标识远程中继模块的任意其它方法。还可以想到远程中继模块的鉴别。
中继模块DCMP_A、DMCP_B或DMCP_J中的每个被设计为询问与之关联的访问控制模块ACM_A、ACM_B或ACM_J,以确定它是否被授权对来自其可与之通信的远程中继模块(在中继模块DMCP_A的情况下是DMCP_B、DCMP_J)的请求进行响应。刚才描述的模块可以位于网络RS_A的各种设备项目中,只要这些模块能够以所述方式来互相通信。中继模块DMCP_A被包含在本地网关GW_A中或网络RS_A的另ー设备项目中。但是,当然能够想到,该模块的各种功能以分布的方式来实现,即在独立的物理设备项目中实现,只要在分别实现这些功能的每个的实体之间提供通信链路。当中继模块DMCP_A未包含于家用网关GW_A中时,中继模块DMCP_A被设计为将寻址数据发送到互连模块CG_A的寻址模块,从而该寻址模块可以路由到请求被发送到的中 继模块DMCP_A。为此,中继模块DMCP_A将端ロ号和IP地址发送到互连模块CG_A的寻址模块,由此可以到达中继模块DMCP_A。对应于与家用网关GW_A关联的公共网络的名称及分配给中继模块DMCP_A的公共端口号,存储该端口号及IP地址。当中继模块DMCP_A被包含于家用网关GW_A中时,在家用网关GW_A中不需要寻址设备来从网络RS_A外部的设备项目到达中继模块DMCP_A。远程网络管理模块RNM_A、访问控制模块ACM_A和映射表UMT_A被包含在网关GW_A、在与该网关关联的机顶盒、或者在网络RS_A中具有这些实体操作所需资源(处理器、存储器等)的任意其它设备项目。图2示出了一个实施例,其中,中继模块DMCP_A、UPnP控制点DMC_A、远程网络管理模块RNM_A、访问控制模块ACM_A以及映射表UMT_A被合并在与网关GW_A通信的机顶盒H2H_A中。在该假设中,这些各个模块可以对应于同一软件程序的功能或组件,这些模块之间的通信然后可简单地通过函数调用来实现。根据本发明的控制方法将在本发明的两种使用场景的上下文中更详细地描述。第一场景根据本发明的控制方法的第一例子将针对图3到6通过下列场景来更详细地描述,在该场景期间,Alice通过其应用程序HUI_A选择在位于Bob的网络RS_B中的内容服务器DMS_B上存储的内容C_B,并将它呈现在网络RS_A中的UPnP呈现设备DMR_A上。在该上下文中,Alice的网络RS_A被称为“本地网络”,且其它网络RS_B和RS_J被称为“远程网絡”。这同样应用于属于这些网络的(本地或远程)实体。该第一场景包含四个连续的阶段。在第一阶段,如图3所示,Alice使用其应用程序HUI_A来显示属于Alice、Bob或John的网络、并可从Alice的网络来控制的UPnP呈现设备,然后从这些设备中选择她想要呈现内容C_B的UPnP呈现设备。在该阶段,中继模块DMCP_A通过这个或这些网络中的中继模块DMCP_B和/或DMCP_J以及与之关联的控制点来获取远程网络RS_B和/或RS_J中的UPnP呈现设备的标识符。在步骤301中,应用程序HUI_A将被称为“GetAllMediaRenderers”的请求发送到本地中继模块DMCP_A,以获取属于Al ice、Bob或John的网络、并可以从Alice的网络来控制的UPnP呈现设备的列表。在步骤302中,在接收到该请求时,本地中继模块DMCP_A询问本地网络RS_A中与之关联的控制点DMC_A,以获取Alice的本地网络RS_A中的UPnP呈现设备的列表。正如所知道的,这些UPnP设备由控制点DMC_A通过应用以UPnP/DLNA标准提供的设备发现机制来检测的。在返回获取的列表中,每个呈现设备由唯一的UDN标识符来标识。在步骤303中,本地中继模块DMCP_A通过下列方式来更新映射表UMT_A :与步骤302中接收到的每个UDN标识符相关联,记录标识用于提供该UDN标识符的中继模块的寻址数据。在该例子中,由于列表是由本地中继模块DMCP_A自己通过询问与之关联的控制点来获取的,与接收到的UDN标识符中的每个相关联,记录默认寻址数据的项(例如值为零),以表示它是本地网络中的UPnP呈现设备。在步骤304中,本地中继模块DMCP_A询问远程网络管理模块RNM_A,以获取Alice的联系人的远程网络中存在的远程中继模块的寻址数据在该例子中,这些远程中继模块是Bob和John的网络中的中继模块DMCP_B和DMCP_J。 在步骤305中,本地中继模块DMCP_AM后通过使用获取用于该模块的寻址数据来询问姆个远程中继模块,以通过发送被称为“GetLocalMediaRenderers”的请求来获取该远程中继模块所标识的UPnP呈现设备的列表。在步骤306中,在接收到请求“GetLocalMediaRenderers”时,Bob和John的远程中继模块DMCP_B和DMCP_J询问其各自的访问控制模块ACM_B或ACM_J,以确定它们是否被授权对来自Alice的本地中继模块DMCP_A的请求进行响应。在步骤307中,如果这些远程中继模块中的ー个具有需要的授权,则它询问其相关的UPnP控制点(DMC_B或DMC_J),以获取发现该UPnP控制点的本地网络中的UPnP呈现设备的列表,并将由此获取的列表发送到本地中继模块DMCP_A。在该列表中,每个呈现设备由唯一的UDN标识符来标识。在步骤307中,如果远程中继模块DMCP_B或DMCP_J中的一个没有被授权对本地中继模块DMCP_A进行响应,它不发送响应,或者它发送具有空列表的响应,或者它发送用于表示所请求的操作被拒绝的错误码。在步骤308中,本地中继模块DMCP_A接收远程中继模块(DMCP_B和/或DMCP_J)所产生的列表,然后通过下列方式来更新映射表UMT_A:与每个接收到的UDN标识符相关联,记录已经提供该M)N标识符的远程中继模块DMCP_B或DMCP_J的寻址数据。在步骤309中,本地中继模块DMCP_A在单个列表中集中步骤303或307中接收到的UPnP呈现设备的各个列表,然后将该集中列表发送到应用程序HUI_A。该集中列表表示可从Alice的网络来控制的所有呈现设备。在步骤310中,Alice从集中列表中选择她想要呈现内容C_B的呈现设备在该例子中,假设Alice选择Alice的网络中的呈现设备DMR_A。在第二阶段,如图4所示,Alice使用其应用程序HUI_A来显示属于Alice、Bob或John的网络、并可从Alice的网络来控制的UPnP内容服务器的列表,然后,从这些服务器中选择用于存储要呈现的内容C_B的UPnP内容服务器。该第二阶段以类似于第一阶段的方式来实现,除了它涉及UPnP内容服务器而不是UPnP呈现设备的标识。在该阶段,中继模块DMCP_A通过这个或这些远程网络RS_B和/或RS_J中的中继模块DMCP_B和/或DMCP_J以及与之关联的控制点来获取该远程网络中的UPnP内容服务器的标识符。在步骤401中,应用程序HUI_A将被称为“GetAllMediaServers”的请求发送到本地中继模块DMCP_A,以获取属于Al ice、Bob或John的网络、并可以从Alice的网络来控制的UPnP内容服务器的列表。在步骤402中,在接收到该请求时,本地中继模块DMCP_A询问本地网络RS_A中与之关联的控制点DMC_A,以获取Alice的本地网络RS_A中的UPnP内容服务器的列表。正如所知道的,这些UPnP设备由控制点DMC_A通过使用以UPnP/DLNA标准所提供的设备发现机制来检测的。在返回获取的列表中,每个内容服务器由唯一的UDN标识符来标识。在步骤403中,本地中继模块DMCP_A通过下列方式来更新映射表UMT_A :与步骤402中接收到的每个UDN标识符相关联,记录用于标识已经提供这个UDN标识符的中继模块的寻址数据。在该例子中,由于列表是由本地中继模块DMCP_A自己通过询问与之关联的 UPnP控制点来获取的,与接收到的UDN标识符中的每个相关联,记录寻址数据的默认项(例如值为零),以表示它是本地网络中的UPnP内容服务器,其可以通过与该网络中的中继模块DMCP_A关联的UPnP控制点DMC_A、通过本地网络来控制。在步骤404中,本地中继模块DMCP_A询问远程网络管理模块RNM_A以获取在Alice的联系人的远程网络中存在的远程中继模块的寻址数据在该例子中,这些远程中继模块是Bob和John的网络中的中继模块DMCP_B和DMCP_J。在步骤405中,本地中继模块DMCP_A然后通过使用针对该模块获取的寻址数据来询问姆个远程中继模块,以通过发送被称为“GetLocalMediaServers”的请求来获取该远程中继模块所标识的UPnP内容服务器的列表。在步骤406中,在接收到“GetLocalMediaServers”请求时,Bob和John的远程中继模块DMCP_B和DMCP_J询问其各自的访问控制模块ACM_B或ACM_J,以确定它们是否被授权对来自Alice的本地中继模块DMCP_A的请求进行响应。在步骤407中,如果这些远程中继模块中的ー个具有需要的授权,它询问其相关的UPnP控制点(DMC_B或DMC_J),以获取其中发现该UPnP控制点的本地网络中的UPnP内容服务器的列表,并将由此获取的列表发送到本地中继模块DMCP_A。在该列表中,每个内容服务器由唯一的M)N标识符来标识。在步骤407中,如果远程中继模块DMCP_B或DMCP_J中的一个没有被授权对本地中继模块DMCP_A进行响应,它不发送响应,或者它发送具有空列表的响应,或者它发送错误码表示所请求的操作被拒绝。在步骤408中,本地中继模块DMCP_A接收远程中继模块(DMCP_B和/或DMCP_J)所产生的列表,然后通过下列方式来更新所述映射表UMT_A :与每个接收到的UDN标识符相关联,记录已经提供该UDN标识符的远程中继模块DMCP_B或DMCP_J的寻址数据。在步骤409中,本地中继模块DMCP_A在单个列表中集中在步骤403或407中接收到的UPnP内容服务器的各个列表,然后将该集中列表发送到应用程序HUI_A。该集中列表表示Alice可通过其应用程序HUI_A控制的所有内容服务器。在步骤410中,Alice从集中列表中选择用于存储要呈现的内容C_B的内容服务器在该例子中,假设Al i ce选择Bob的网络中的内容服务器DMS_B。在第三阶段,如图5所示,Alice咨询内容服务器DMS_B中的内容的列表,以从中选择要呈现的内容C_B。
在该阶段,中继模块DMCP_A通过中继模块DMCP_B来控制远程网络RS_B中的内容服务器DMS_B,该中继模块DMCP_B提供该UPnP内容服务器的标识符以及与该中继模块关联的控制点的标识符。在步骤501中,应用程序HUI_A.用以询问内容服务器DMS_B的请求发送到本地中继模块DMCP_A,以获取在该内容服务器上存储的内容的列表。该请求包含专用于相关内容服务器DMS_B的UDN标识符,该标识符被标记为UDN_DMS_B。在步骤502中,本地中继模块DMCP_A通过读取映射表UMT_A来获取在步骤408中存储的与标识符UDN_DMS_B关联的寻址数据在该例子中,这些寻址数据是Bob的网络中的远程中继模块DMCP_B的寻址数据。这意味着,相关内容服务器01^_8构成其中找到该远程中继模块DMCP_B的远程网络RS_B的一部分。本地中继模块DMCP_A然后将应用程序HUI_A的请求转换为适于发送到远程中继模块DMCP_B的请求,该请求包含标识符UDN_DMS_B,并被设计为使得远程中继模块DMCP_B发送查询请求,以通过与中继模块关联 的DMC来查询内容服务器DMS_B。在步骤503中,本地中继模块DMCP_A将由此形成的请求发送到远程中继模块DMCP_B。在步骤504中,在接收到该请求吋,远程中继模块DMCP_B询问其访问控制模块ACM_B,以确定它是否被授权对来自Alice的本地中继模块DMCP_A的该请求进行响应。在步骤505中,如果远程中继模块DMCP_B具有所需的授权,它向与之关联、包含标识符UDN_DMS_B的控制点DMC_B发送命令,从而控制点DMC_B询问内容服务器DMS_B来获取该服务器所存储的内容的列表。如果没有(授权),则不发送命令。在步骤506中,控制点DMC_B将被称为“Browse”的命令发送到内容服务器DMS_B。在步骤507中,控制点DMC_B接收对来自内容服务器DMS_B的“Browse”请求的响应。该响应包括内容的列表、其元数据以及各个URI地址。在步骤508中,远程中继模块DMCP_B从控制点DMC_B接收在对来自内容服务器DMS_B的“Browse”请求的响应中所包含的信息,尤其是内容的列表、元数据及URI地址。在步骤509中,远程中继模块DMCP_B通过应用被称为“源变换”的变换函数来修改该列表中的所有内容的URI地址。内容服务器DMS_B所提供的内容C_B的原始URI地址被标记为0RIG_URI_C_B,且通过对源URI地址0RIG_URI_C_B应用“源变换”函数,由远程中继模块DMCP_B产生的URI地址被标记为S0URCE_URI_C_B。地址S0URCE_URI_C_B将输入互连模块ICG_B指定为可从其得到内容C_B的实体。在步骤510中,远程中继模块DMCP_B向本地中继模块DMCP_A发送内容列表,包括在应用“源变换”函数之后所得到的地址作为URI地址。 在步骤511中,本地中继模块DMCP_A从远程中继模块DMCP_B接收响应,并通过应用被称为“目的变换”的变换函数,来修改该列表中的所有内容的URI地址。通过对URI地址S0URCE_URI_C_B来应用“目的变换”函数,由本地中继模块DCMP A产生的URI地址被标记为DEST_URI_C_B。地址DEST_URI_C_B将输出互连模块0CG_A指定为可从其得到内容C_B的实体。在步骤512中,本地中继模块DMCP_A向应用程序HUI_A发送内容的列表,包括在应用“目的变换”函数之后所得到的地址作为URI地址。
在步骤513中,应用程序HUI_A向Alice展示接收到的内容的列表,且Alice从中选择内容C_B以呈现在呈现设备DMR_A上。在第四阶段,如图6所示,Alice继续在其呈现设备DMR_A上呈现内容C B。在步骤601中,应用程序HUI_A将呈现请求发送到其本地中继模块DMCP_A,以开始在呈现设备DMR_A上呈现内容C_B,该请求包括内容C_B的URI地址DEST_URI_C_B以及专用于相关的呈现设备DMR_A的UDN标识符,该标识符被标记为UDN_MDR_A。在步骤602中,本地 中继模块DMCP_A通过读取映射表UMT_A来获取所存储的与标识符UDN_DMR_A关联的寻址数据在该例子中,这些寻址数据是用于标识本地模块的寻址数据(例如值为零),即Alice的网络的本地中继模块DMCP_A。这意味着,相关的呈现设备DMR A构成其中该本地中继模块DMCP_A所位于的本地网络RS_A的一部分。本地中继模块DMCP_A由此将来自应用程序HUI A的请求转换为与之关联的控制点DMC_A的命令。该命令包含内容C_B的URI地址DEST_URI_C_B和标识符UDN_MDR_A,且其目标是开始向该标识符所标识的呈现设备(即呈现设备DMR_A)发送请求来开始内容C_B的呈现。在步骤603中,本地中继模块DMCP_A将由此形成的命令发送到控制点DMC_A。在步骤604中,控制点DMC_A向呈现设备DMR_A发送被称为“SetAVTransportURI ’,的UPnP请求,包含URI地址DEST_URI_C_B,该请求被用来标识要呈现的内容。在步骤605中,控制点DMC_A然后向呈现设备DMR_A发送被称为“Play”的UPnP请求,该请求被用来开始呈现预先通过请求“SetAVTransport URI ”标识的内容。在步骤606中,呈现设备DMR A发送“GET”类型的HTTP请求,以获取由请求“SetAVTransportURI”所标识的内容C_B,该请求包括URI地址DEST_URI_C_B。由于其构成,该URI地址将输出互连模块0CG_A标识为可从其得到内容的实体,该请求被路由到该输出互连模块0CG_A。 在步骤607中,在接收到该请求时,互连模块CG_A从地址DEST_URI_C_B中提取地址S0URCE_URI_C_B,然后在转发该请求之前,在接收到的HTTP请求中用地址S0URCE_URI_C_B来替换地址DEST_URI_C_B。由于其构成,该URI地址S0URCE_URI_C_B将输入互连模块ICG_B标识为可从其得到内容的实体,该请求被重定向到输入互连模块ICG_B。在步骤608中,在接收到该请求时,输入互连模块ICG_B从地址S0URCE_URI_C_B中提取地址0RIG_URI_C_B,然后在转发该请求之前,在接收到的HTTP请求中用地址0RIG_URI_C_B来替换地址S0URCE_URI_C_B。由于其构成,该URI地址0RIG_URI_C_B将内容服务器DMS_B标识为可从其得到内容的实体,该请求被重定向到该内容服务器DMS_B。在步骤609中,在接收到该请求时,内容服务器DMS_B通过发送内容数据来响应HTTP请求“GET”,该响应被发送到HTTP请求的发送者,即呈现设备DMR_A。后者然后能呈现内容C_B。第二场景本发明的应用的第二例子将针对图7到10通过下列场景来更详细地描述,其间,Alice通过其应用程序HUI_A来请求在位于Alice的网络中的内容服务器上存储的内容C_A,以呈现在Bob的网络中的UPnP呈现设备DMR_B上。在该上下文中,Alice的网络RS_A被称为“本地网络”,且其它网络RS_B和RS_J被称为“远程网絡”。这同样应用于属于这些网络的(本地或远程)实体。
该第二场景包含四个连续的阶段。在第一阶段,如图7所示,Alice使用其应用程序HUI_A来显示属于Alice、Bob或John的网络、并可从Alice的网络来控制的UPnP呈现设备的列表,然后从这些设备中选择想在上面呈现内容C_A的UPnP呈现设备。在该阶段,中继模块DMCP_A通过这个或这些网络中的中继模块DMCP_B和/或DMCP_J以及与之关联的控制点来获取远程网络RS_B和/或RS_J中的UPnP呈现设备的标识符。该第一阶段的步骤701到709与步骤301到309分别相同。它们最终通过本地中继模块DMCP_A向应用程序HUI_A提供集中列表,该集中列表表示可以从Alice的网络尤其通过应用程序HUI_A来控制的所有呈现设备。在步骤710中,Alice从集中列表中选择她想要呈现内容C_A的呈现设备假设Alice选择Bob的网络中的呈现设备DMR_B。 在第二阶段期间,如图8所示,Alice使用其应用程序HUI_A来显示属于Alice、Bob或John的网络、并且可从Alice的网络来控制的UPnP内容服务器的列表,然后从这些服务器中选择用于存储要呈现的内容C_A的UPnP内容服务器。在该阶段,中继模块DMCP_A通过这个或这些网络中的中继模块DMCP_B和/或DMCP_J或者与之关联的控制点来获取远程网络RS_B和/或RS_J中的UPnP内容服务器的标识符。该第二阶段的步骤801到809分别与步骤401到409相同。其最終通过本地中继模块DMCP_A向应用程序HUI_A提供集中列表,该集中列表表示可以从Alice的网络尤其通过应用程序HUI_A来控制的所有内容服务器。在步骤810中,Alice从集中列表中选择用于存储要呈现的内容C_A的内容服务器;这里假设Alice选择Alice的网络中的内容服务器DMS_A。在第三阶段,如图9所示,Alice咨询内容服务器DMS_A中的内容的列表,以从中选择要呈现的内容C_A。在步骤901中,应用程序HUI_A将询问内容服务器DMS_A的请求发送到本地中继模块DMCP_A,以获取在该内容服务器上存储的内容列表。该请求包含专用于相关内容服务器DMS_A的UDN标识符,该标识符被标记为UDN_DMS_A。在步骤902中,本地中继模块DMCP_A通过读取映射表UMT_A来获取所存储的与标识符UDN_DMS_B关联的寻址数据在该例子中,这些寻址数据是对本地模块(即Alice的网络中的本地中继模块DMCP_A)进行标识的寻址数据(例如值为零)。这意味着,相关的内容服务器DMS_A构成其中找到该本地中继模块DMCP_A的本地网络RS_A的一部分。本地中继模块DMCP_A因此将应用程序HUI_A的请求转换为与之关联的控制点DMC_A的命令,该命令包含标识符UDN_DMS_A,并被设计为开始向该标识符所标识的内容服务器(即内容服务器DMS_A)发送用于询问该服务器的请求。在步骤903中,本地中继模块DMCP_A将由此形成的命令发送到控制点DMC_A。在步骤904中,控制点DMC_A向内容服务器DMS_A发送被称为“Browse”的UPnP请求,以获取在该服务器中存储的内容的列表。在步骤905中,控制点DMC_A接收对UPnP请求“Browse”的响应。该响应包括内容的列表、其元数据以及相应的URI地址。在步骤906中,本地中继模块DMCP_A从控制点DMC_A接收在对来自内容服务器DMS_A的“ Browse”请求的响应中所包含的信息内容的列表、元数据及URI地址。在步骤907中,本地中继模块DMCP_A将接收到的内容的列表发送到应用程序HUI_A。在该情形下,本地中继模块DMCP_A没有实现内容的URI地址的变换,因为内容被存储在本地网络中。在步骤908中,应用程序HUI_A向Alice展示接收到的内容列表,且Alice从中选择要呈现在呈现设备DMR_B上的内容C_A。在第四阶段期间,如图10所示,Alice决定开始在Bob的呈现设备DMR_B上读取内容C_A。
在该阶段,中继模块DMCP_A通过中继模块DMCP_B来控制远程网络RS_B中的呈现设备DMR_B,该中继模块DMCP_B提供该UPnP呈现设备的标识符以及与之关联的控制点的标识符。在步骤1001中,应用程序HUI_A向本地中继模块DMCP_A发送呈现请求,以开始在呈现设备DMR_B上呈现内容C_A,该请求包括内容C_A的URI地址0RIG_URI_C_A以及专用于相关呈现设备DMR_B的UDN标识符,该标识符被标记为UDN_DMR_B。在步骤1002中,本地中继模块DMCP_A通过读取映射表UMT_A来获取与标识符UDN_DMR_B关联而存储的寻址数据在该例子中,这些寻址数据是Bob的网络中的远程中继模块DMCP_B的寻址数据。这意味着,相关的呈现设备DMR_B构成其中找到该远程中继模块DMCP_B的远程网络RS_B的一部分。本地中继模块DMCP_A因此将应用程序HUI_A的请求转换为适于发送到远程中继模块DMCP_B的请求。该请求包含标识符UDN_DMR_B以及内容C_A的URI地址S0URCE_URI_C_A,该URI地址是通过应用被称为“源变换”的变换函数从URI地址0RIG_URI_C_A得到的。该请求被设计为使得远程中继模块DMCP_B向呈现设备DMR_B发送呈现请求。地址S0URCE_URI_C_A将输入互连模块ICG_A指定为可从其得到内容C_A的实体。在步骤1003中,本地中继模块DMCP_A将由此形成的请求发送到远程中继模块DMCP_B。在步骤1004中,在接收到该请求时,远程中继模块DMCP_B询问其访问控制模块ACM_B,以确定它是否被授权对来自Alice的本地中继模块DMCP_A的请求进行响应。在步骤1005中,如果远程中继模块DMCP_B具有需要的授权,则它产生包含呈现设备DMR_B的标识符UDN_DMR_B以及内容C_A的URI地址DEST_URI_C_A的命令,该URI地址DEST_URI_C_A是通过应用被称为“目的变换”的变换函数从URI地址S0URCE_URI_C_A得到的。地址DEST_URI_C_A将输出互连模块0CG_B指定为可从其得到内容C_A的实体。远程中继模块DMCP_B将该命令发送到与之关联的控制点DMC_B,以开始在该呈现设备上呈现该内容。如果远程中继模块DMCP_B不具有需要的授权,则没有命令被发送。在步骤1006中,控制点DMC_B向呈现设备DMR_B发送被称为“SetAVTransportURI”的UPnP请求,其包含URI地址DEST_URI_C_A,该请求被用来标识要被呈现的内容。在步骤1007中,控制点DMC_B然后向呈现设备DMR_B发送被称为“Play”的UPnP请求,该请求被用来开始呈现预先由请求“SetAVTransportURI ”所标识的内容。在步骤1008中,呈现设备DMR B发送“GET”类型的HTTP请求,以获取由请求“SetAVTransportURI”所标识的内容C_A的数据,该请求包含URI地址DEST_URI_C_A。由于其构成,该URI地址将输出互连模块0C_B标识为可从其得到内容的实体,该请求被路由到输出互连模块0CG_B。在步骤1009中,在接收到该请求时,输出互连模块0CG_B从地址DEST_URI_C_A中提取地址S0URCE_URI_C_A,然后在转发该请求之前,在接收到的HTTP请求中用地址S0URCE_URI_C_A 来替换地址 DEST_URI_C_A。由于其构成,该 URI 地址 S0URCE_URI_C_A 将输入互连模块ICG_A标识为可从其得到内容的实体,该请求被重定向到输入互连模块ICG_A0在步骤1010中,在接收到该请求时,输入请求模块ICG_A从地址S0URCE_URI_C_A中提取地址0RIG_URI_C_A,然后在转发该请求之前,在接收到的HTTP请求中用地址0RIG_ URI_C_A来替换地址S0URCE_URI_C_A。由于其构成,该URI地址0RIG_URI_C_A将内容服务器DMS_A标识为可从其得到内容的实体,该请求被重定向到内容服务器DMS_A。在步骤1011中,在接收到该请求时,内容服务器DMS_A通过发送内容数据来响应HTTP请求GET,该响应被发送到HTTP请求的发送者,即呈现设备DMR_B。后者然后能够呈现内容C_A。其它场景本发明可用于如下的任意其它场景需要从本地网络来控制远程网络中的UPnP实体,呈现驻留在另ー远程网络或同一远程网络中的呈现设备上的远程内容,浏览位于各个远程网络中的服务器上的内容,等等。
权利要求
1.一种从被称为本地网络的第一网络(RS_A)来控制远程网络(RS_B、RS_J)中的至少一个UPnP设备的方法,该方法由第一网络中的第一中继模块(DMCP_A)来实现,该第一中继模块被配置为与远程网络中的至少一个第二中继模块(DMCP_B、DMCP_J)通信,所述方法包括 -通过所述第二中继模块来获取UPnP设备(DMS_B、DMR_B、DMS_J、DMR_J)的至少一个标识符的步骤,该UPnP设备是通过与所述第二中继模块关联的UPnP控制点在一个所述远程网络中检测到的; -记录接收到的至少一个标识符的步骤,该标识符与提供所述至少一个标识符的第二中继模块的标识数据关联; -通过与第二中继模块关联的控制点来控制所述远程网络中的UPnP设备的步骤,该第二中继模块由所记录的与该UPnP设备的标识符相关联的标识数据来标识。
2.如权利要求I所述的方法,包括 -通过所述第二中继模块向远程网络中的第二 UPnP设备发送请求的步骤,该第二中继模块通过所记录的与所述UPnP设备的标识符相关联的标识数据来标识; -通过所述第二中继模块来从第二 UPnP设备接收对所述请求的响应的步骤。
3.如权利要求I所述的方法,包括 -通过第二中继模块来接收针对本地网络(RS_A)中的UPnP设备的请求的步骤, -将所述请求发送到相关UPnP设备的步骤; -向所述第二中继模块发送对所述请求的响应的步骤,该响应是根据相关的UPnP设备所提供的响应来构建的。
4.如权利要求3所述的方法,包括针对至少一个所述第二中继模块来记录数据的步骤,该数据表示授权或禁止对该第二中继模块所发起的请求进行响应。
5.如权利要求2或3所述的方法,包括当要由第一中继模块发送到一个所述第二中继模块的请求或对请求的响应包含本地网络(RS_A)中的内容服务器所引用的内容的地址时,将该地址转换为已转换地址的步骤,该已转换地址将用于接入本地网络(RS_A)的网关的互联模块(ICG_A)指定为可从其得到该内容的实体。
6.如权利要求2或3所述的方法,包括当由第一中继模块接收并由一个所述第二中继模块发起的请求或对请求的响应包含由远程网络(RS_B、RS_J)中的内容服务器所引用的内容的地址时,将该地址转换为已转换地址的步骤,该已转换地址将用于接入本地网络(RS_A)的网关的互联模块(OCG_A)指定为可从其得到该内容的实体。
7.如权利要求I所述的方法,包括 -询问本地网络(RS_A)的UPnP控制点、以获取由该UPnP控制点在第一网络中检测到的第一 UPnP设备的至少一个标识的步骤; -记录接收到的与用于标识第一中继模块的标识数据相关联的标识、作为可经由其来控制第一 UPnP设备的实体的步骤。
8.如权利要求7所述的方法,包括创建可从第一中继模块(DMCP_A)控制的至少一个UPnP设备的列表的步骤,该列表包含已接收的一个所述第二中继模块(DMCP_B、DMCP_J)的标识符或者本地网络(RS_A)的一个UPnP控制点的标识符。
9.如权利要求I所述的方法,包括通过本地网络(RS_A)的UPnP控制点来控制本地网络(RS_A)的UPnP设备的步骤。
10.如权利要求I所述的方法,包括记录与联系人的标识符相关的、远程网络(RS_B、RS_J)中的至少一个所述第二中继模块(DMCP_B、DMCP_J)的标识数据的步骤,该联系人是该远程网络(RS_B、RS_J )的用户。
11.一种第一网络(RS_A)中的中继模块(DMCP_A),被配置为与远程网络(RS_B,RS_J)中的至少一个第二中继模块(DMCP_B,DMCP_J)通信,并包括 -用于通过一个所述第二中继模块来获取UPnP设备(DMS_B、DMR_B、DMS_J、DMR_J)的至少一个标识符的装置,该UPnP设备是通过与所述第二中继模块关联的UPnP控制点在一个所述远程网络中检测到的; -用于记录接收到的至少一个标识符的装置,该至少一个标识符与提供所述至少一个 标识符的第二中继模块的标识数据关联; -用于通过与第二中继模块关联的控制点来控制所述远程网络中的UPnP设备的装置,该第二中继模块由所记录的与该UPnP设备的标识符相关联的标识数据来标识。
12.—种远程网络(RS_A)中的中继模块(DMCP_A),被配置为与如权利要求11所述的第一中继模块通信,包括 -用于向所述第一中继模块提供UPnP设备(DMS_B,DMR_B, DMS_J, DMR_J)的至少一个标识符的装置,该UPnP设备是通过与所述中继模块关联的UPnP控制点在远程网络中检测到的; -针对由第一中继模块发起的请求、用于控制所述远程网络中的UPnP设备的装置。
13.—种第一网络的UPnP控制点,与如权利要求12所述的第一中继模块关联; -用于向第一中继模块提供由所述UPnP控制点所检测到的UPnP设备(DMS_B, DMR_B, DMS_J, DMR_J)的至少一个标识符的装置; -用于控制第一网络中的UPnP设备的装置,被配置为针对来自第一中继模块的请求、向一个所述UPnP设备发送UPnP请求。
全文摘要
本发明允许通过本地网络(RS_A)的本地中继模块(DMCP_A)从本地网络(RS_A)控制远程网络(RSJ3、RS_J)的至少一个UPnP设备,该本地中继模块(DMCP_A)能够与远程网络(RS_B、RS_J)中的至少一个远程中继模块(DMCP_B、DMCP_J)通信。所述中继模块包括用于通过远程中继模块来获取UPnP设备(DMSJ3、DMR_B、DMS_J、DMR_J)的至少一个标识符的装置,该UPnP设备是通过与该远程中继模块关联的UPnP控制点在远程网络中检测到的;用于记录接收到的至少一个标识符的装置,该标识符与提供所述标识符的远程中继模块的标识数据关联;用于通过与远程中继模块关联的监控点来控制所述远程网络中的UPnP设备的装置,所述远程中继模块由所记录的与该UPnP设备的标识符相关联的标识数据来标识。
文档编号H04L12/46GK102859946SQ201180021469
公开日2013年1月2日 申请日期2011年3月3日 优先权日2010年3月3日
发明者V.墨菲, R.阿格罗 申请人:法国电信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1