专利名称:用于公共网络环境中的upnp服务的设备和方法
技术领域:
本发明的各方面涉及一种用于公共网络环境中的通用即插即用(UPnP)服 务的设备和方法,更具体地讲,涉及一种构建专用网络并去除不必要的UPnP 通信量以在比如公寓大楼的公共网络环境中支持UPnP服务的设备和方法。
背景技术:
最近,随着互联网的广泛使用以及数字技术的发展,有关行业正在从事 改进家庭联网技术,以在家中连接PC、网络设备、音频/视频(A/V)设备、电 子家庭装置、家庭自动化装置等。
通用即插即用(UPnP)是家庭网络领域中的主要行业标准之一,它提供多 种UPnP服务(比如使用UPnP装置发现功能搜索执行UPnP功能的所有装置, 以及通过UPnP控制点来执行装置控制、媒体播放和媒体传输)。
在UPnP装置检测处理中,发送IP多播包以检测UPnP装置,并且相应
的UPnP装置通过单播响应包传输,所述单播是一种用于在网络上单个发送 器和单个接收器之间执行通信的通信系统。
图1是示出公共网络的结构的示图。通常,在图l示出的网络结构中, 公共IP和专用IP共存于比如公寓大楼(apartment complex)或工厂大楼 (industrial complex)的大规模网络环境中。在下面的描述中,公寓大楼结构将 作为示例。
大楼路由器101是用于在公共IP和专用IP之间提供连接的路由器或网 关。在从大楼中分配的专用IP向外部发送数据的情况下,大楼路由器101执 行将数据映射到已经被限制性分配的公共IP的操作。在向专用IP发送通过 公共IP接收的数据的情况下,大楼路由器执行将数据映射到相应的专用IP 的操作。大楼路由器101还准备、管理和转换映射表。
公寓单元或层单元连接装置102是这样的装置它将大楼中的专用IP分 发到公寓大楼的各家和各层,并执行相应IP的交换或路由。根据大楼中家庭 的数目,连接装置102被构造为执行集线器的功能,或者执行交换功能或路 由功能。
家庭连接装置103执行与各个家庭的IP装置的连接,向外部发送家庭中 产生的数据,以及向家庭中的IP装置传送流到家庭的数据。通常,家庭连接 装置103包括用作转发器、集线器和路由器的复用器。
UPnP家庭网络104可以是包括用于使用UPnP功能的共享服务的UPnP 装置103a,并且能够在IP网络被共享的环境下执行服务和装置的自动共享的 服务网络。UPnP装置103a包括在UPnP装置架构中定义的所有IP装置和具 有UPnP模块的控制点以及在UPnP AV架构中定义的UPnP媒体服务器、渲 染器和AV控制点。
在图l中,定义的网络以IPC类或子类为单位来定义各个家庭。因此, 所有的UPnP多播包可通过集线器、交换机、路由器等被发送到其他家庭。
然而,由于UPnP多播包具有TTL(生存时间)值4并且使用多播地址被 发送的事实而存在问题。设置TTL值为4指示可通过四个路由器来执行发送。 因此,在如图l所示的定义的网络中,发送的UPnP多播包可到达所有家庭 的UPnP装置103a。另外,通过使用多播地址,能够识别和分析相应的多播 IP的所有装置可响应UPnP多播包。
因此,所有家庭的具有UPnP模块的装置可接收UPnP装置发现多播包, 响应并发送请求包。然而,这引起UPnP内容和控制装置的共享不以家庭为 单位而执行,而是以整个单元(即,所有的家庭)而执行的问题。
结果,不能保护隐私(包括个人隐私和家庭成员的内容),也不能保证控 制装置的安全性,从而装置易受到严重攻击。
因此,在将UPnP应用到网络时,需要划分家庭网络以按照家庭为单位 保证隐私保护和安全性的方案。
另外,由于多播包总是被发送到所有的端口,并且已经接收到相应多播 包的装置使用单播包作出响应,所以这可能会影响整个网络通信量开销。结 果,多播包被拷贝并被发送到所有端口,这可引起公寓单元或层单元连接装 置102的处理性能降低。
为了保证UPnP装置的安全性并防止UPnP装置的性能降低,公开号为
2005-0240758的美国未审查专利公开了 一种"controlling device on an internal network from an external network"。 然而,上述问题仍没有解决。
发明内容
本发明的各方面提供了 一种保护隐私(包括个人隐私和以公共网络为单 元的内容)的用于公共网络环境中的通用即插即用(UPnP)服务的设备和方法。
本发明的各方面还提供了这样一种用于公共网络环境中的UPnP服务的 设备和方法,所述设备和方法通过减小由UPnP多播包引起的不必要的网络 通信量的发生来防止公寓单元或层单元连接装置的性能的降低。
根据本发明的一方面,提供了 一种用于公共网络环境中的通用即插即用 (UPnP)服务的设备,所述设备包括UPnP多播监控模块,监控输入帧,并且 如果该帧是UPnP多播帧,则请求丟弃该帧;丢弃控制模块,如果UPnP多播 监控模块请求丢弃该帧,则丟弃控制模块丢弃该帧;切换管理模块,登记和 管理关于丟弃的帧的信息。
根据本发明的另 一方面,提供了 一种用于公共网络环境中的通用即插即 用(UPnP)服务的方法,所述方法包括监控输入帧;如果该帧是UPnP多播 帧,则请求丟弃该帧;如果请求丟弃该帧,则丢弃该帧;登记和管理关于丢 弃的帧的信息。
根据本发明的一方面,提供了 一种用于公共网络环境中的通用即插即用 (UPnP)服务的设备,所述设备包括UPnP多播监控模块,确定输入帧是否是 UPnP多播帧;丢弃控制模块,如果UPnP多播监控模块确定该帧是UPnP多 播帧,则丟弃控制模块丢弃该帧。
根据本发明的另 一方面,提供了 一种用于公共网络环境中的通用即插即 用(UPnP)服务的方法,所述方法包括确定输入帧是否是UPnP多播帧;如 果该帧被确定为是UPnP多播帧,则丢弃该帧。
本发明的另外的方面和/或优点将会在下面的描述中部分地阐述,部分 地,从下面的描述中这些方面和/或优点将会清楚或者通过实施本发明而被了 解。
下面通过结合附图对本发明的实施例的描述,本发明的这些和/或其他方
面和优点将会清楚并更容易理解,其中 图1是示出公共网络的结构的示图2是示出根据本发明实施例的用于公共网络环境中的UPnP服务的设 备的结构的框图3是示出根据本发明实施例的转换UPnP多播IP的MAC地址的结果 的示图4是示出根据本发明实施例的用于公共网络环境中的UPnP服务的方 法的流程图。
具体实施例方式
现在将详细描述本发明实施例,其示例在附图中示出,其中,相同的标 号始终指示相同的部件。下面参照附图来描述这些实施例以解释本发明。
将参照示出框图和流程图的附图来描述本发明的各方面,以解释根据本 发明实施例的用于在公共网络环境中的UPnP服务的设备和方法。应该理解, 可通过计算机程序指令来实现流程图的每一块以及流程图中多个块的结合。 这些计算机程序指令可被提供给通用计算机、专用计算机或其他可编程数据 处理设备的处理器以产生机器,从而这些经计算机或其他可编程数据处理设 备的处理器执行的指令创建实现在一个流程图块或者多个流程图块中指定的 功能的装置和/或方法。
这些计算机程序指令还可被存储在计算机可用或者计算机可读存储器 中,所述计算机可用或者计算机可读存储器可指导计算机或者其他可编程数 据处理设备以特定的方式工作,从而存储在计算机可用或者计算机可读存储 器中的这些指令可产生包括实现在一个流程图块或者多个流程图块中指定的
功能的指令的一件产品。
计算机程序指令还可被加载到计算机或者其他可编程数据处理设备以使 得一系列的操作在计算机或者其他可编程设备上执行以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供实现在一个流程图块 或多个流程图块中指定的功能的4喿作。
另外,流程图中的每一块可表示模块、代码段或者一部分代码,其包括 一个或者多个可实现指定的逻辑功能的可执行指令。还应该注意到,在一些 可选的实现中,在块中表示的功能可不按顺序发生。例如,根据涉及的功能,
实际上连续显示的两个块可基本同时执行,或者有时还可以相反的顺序执行。
图2是示出根据本发明实施例的用于在公共网络环境中的UPnP服务的 设备200的结构的框图。在图2中,示出了具有通用即插即用(UPnP)多播侦 听功能的公寓单元或层单元连接装置、或者家庭连接装置。应该理解,本发 明的各方面并不限于家庭或公寓,而可被应用到公共网络环境中的任何UPnP服务。
图2中示出的设备200的功能基于LAN交换。然而,设备200的功能还 可被应用到具有MAC地址转换功能等的公寓单元或层单元连接装置,或者
家庭连接装置。
用于在公共网络环境中的UPnP服务的设备200包括物理连接模块201, 与公共网络的各个单元(比如家庭、办公室和教室等)的外部线缆连接;转发器 202a和202b,通过转发器202a和202b发送和/或接收具有兼容性的网络信号 (比如10Base-T和100Base-T); UPnP多播监控模块203,监控输入到转发器 202a和202b的帧的指定的必要部分,并请求丢弃帧;丟弃控制模块204;选 择和丟弃已经被请求丟弃的帧;切换管理模块205,登记和管理关于丢弃的 帧的信息;和緩冲器206a和206b,存储发送的帧,或者由于转发器202a和 202b需要不同大小的发送的帧,所以将发送的帧转换到必要的帧的大小以发 送转换的帧。在下面的描述中,家庭将被用作公共网络的单元(专用网络)的示 例。
这里使用的术语"模块"指的是,但并不限于,执行特定任务的软件或 硬件组件,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。模块可被 构造为驻留在可寻址存储介质上,以及在一个或多个处理器上执行。因而, 举例来说,模块可包括组件(例如软件组件、面向对象的软件组件、类组 件和任务组件)、进程、函数、属性、过程、子程序、程序代码段、驱动程序、 固件、微码、电路、数据、数据库、数据结构、表、数组和变量。在组件和 模块中所提供的功能可被组合成更少的组件和模块,或者进一步分为另外的
组件和模块。
物理连接模块201连接相应的线缆,从而数据被发送到外部或者被发送 到其他家庭。由于物理连接模块201的各个连接部件是执行网桥功能的端口, 所以物理连接模块201管理哪些装置被连接到与所述端口连接的区段。
UPnP多播监控才莫块203对输入到转发器的帧的UPnP IP和UPnP MAC
地址中的一个或者多个执行监控。如果没有找到相应的UPnP IP和/或UPnP MAC地址,则UPnP多播监控模块203停止监控并等待下一帧以监控该下一帧。
如果找到了 UPnP IP和/或UPnP MAC地址,则UPnP多播监控模块203 将关于相应的帧的信息传送到丟弃控制模块204,从而丢弃控制模块204丟 弃相应的UPnP多播帧。
如果将被丟弃的UPnP多播帧被存储在緩冲器206a和206b中,则丢弃 控制模块204丟弃存储在緩冲器中的UPnP多播帧。作为选4奪,如果将被丢 弃的UPnP多播帧位于切换管理模块205中,而没有被存储在緩冲器206a和 206b中,则丢弃控制模块204搜索并丢弃相应的帧。为了搜索相应的帧,丢 弃控制模块204可从UPnP多播监控模块203接收必要的信息。
除了将输入帧的头值改变为打算输出的帧的头值之外,切换管理模块 205还登记和管理关于将被丢弃的相应帧的信息。
图3是示出根据本发明实施例的转换UPnP多播IP的MAC地址的结果 的示图。参照图3, UPnP多播IP被确定为将使用类D IP地址239.255.255.250: 1900被发送。因此,为了将UPnP多播IP发送到IEEE 802.3网络,IEEE 802.3 MAC地址被转换为Ox 01-00-5e-7f-ff-fa的地址结构。具有目的地址结构Ox 01 -00-5e-7f-ff-fa的帧被传送到在相应的网络中存在的所有装置。
图4是示出根据本发明实施例的用于公共网络环境中的UPnP服务的方 法的流程图。参照图2和图4,物理连接模块201接收帧,并且接收的帧经 过相应的转发器202(操作S401)。
接下来,UPnP多播监控模块203通过监控接收的帧确定接收的帧是 UPnP相关的巾贞还是从外部输入的帧(操作S402)。
如果接收的帧是从外部输入的帧,那么接收的帧与UPnP多播帧不相关。 因此,UPnP多播监控模块203停止监控相应的帧,并对下一帧进行监控(操 作S403)。
如果接收的帧是UPnP相关的帧,则因为如图3所示的通信地址(比如 IEEE 802.3 MAC地址)的多播/广播位被设置在UPnP多播IP中,所以UPnP 多播监控模块203监控该位(操作S404)。
如果没有设置该相应位,那么相应帧不具有UPnP多播IP。在这种情况 下,UPnP多播监控模块203停止监控相应帧,并对下一帧进行监控。
另一方面,如果已经设置了该相应位,则UPnP多播监控模块203通过 监控帧的目的地址来检查帧的目的地址是否与相应的UPnP MAC地址一致 (操作S405)。
如图3所示,UPnP MAC地址具有Ox 01-00-5e-7f-ff-fa的地址结构。如 果接收的帧的MAC地址不具有0x01-00-5e-7f-ff-fa的地址结构,则UPnP多 播监控模块203停止当前监控,并对下一帧进行监控。
如果UPnP MAC地址具有Ox 01-00-5e-7f-ff-fa的地址结构,则UPnP多 播监控模块203监控IP头部分的目的地址(操作S406)。
UPnP IP头的目的地址字段具有IP地址239.255.255.250。也就是说, 239.255.255.250是UPnP通信量的标准目的IP地址。由于UPnP多播地址是 唯一的,所以如果当前监控的帧在目的地址字段具有UPnP多播地址,那么 该帧是UPnP多播帧。
如果相应的IP头的目的地址不是239.255.255.250,则UPnP多播监控模 块203停止相应的监控,并对下一帧进行监控。
如果当前监控的帧是UPnP多播帧(即,在操作S406中,UPnP多播监控 模块203确定该帧的目的IP地址是239.255.255.250),那么可从緩冲器206a 和206b或者切换管理模块205丢弃该帧。在这种情况下,UPnP多播监控模 块203将丟弃该相应帧所需的信息发送到丢弃控制模块204,并对下一帧进 行监控。
如上所述,根据依据本发明各方面的用于公共网络环境中的UPnP服务 的设备和方法,可获得下面所述的一个或者多个效果。专用网络以公共网络 为单位而被构造以支持由很多单元共享的公共网络环境中的UPnP服务,并 且可以保护隐私(包括个人隐私和单元成员的内容)。此外,减少由UPnP多播 包引起的不必要的网络通信量的发生,从而可防止例如公寓单元或层单元连 接装置的性能的降低。
尽管已经显示并描述了本发明的几个实施例,但是本领域的技术人员应 该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种 改变,本发明的范围由权利要求及其等同物限定。
权利要求
1、一种用于公共网络环境中的UPnP服务的设备,所述设备包括UPnP多播监控模块,监控输入帧,并且如果该帧是UPnP多播帧,则请求丢弃该帧;丢弃控制模块,如果UPnP多播监控模块请求丢弃该帧,则丢弃控制模块丢弃该帧;切换管理模块,登记和管理关于丢弃的帧的信息。
2、 如权利要求l所述的设备,其中,UPnP多播监控模块监控输入帧的 头以确定该帧是否是UPnP多播帧。
3、 如权利要求l所述的设备,其中,该帧被输入到转发器。
4、 如权利要求2所述的设备,其中,UPnP多播监控模块确定UPnP IP 是否被包括在该帧的头中以确定该帧是否是UPnP多播帧。
5、 如权利要求2所述的设备,其中,UPnP多播监控模块确定UPnPMAC
6、 如权利要求1所述的设备,其中,UPnP多播监控模块确定多播和/ 或广播位是否被设置在UPnP多播IP中以确定该帧是否是UPnP多播帧。
7、 如权利要求l所述的设备,其中,如果将被丢弃的帧被存储在緩冲器 中,则丢弃控制模块丢弃存储在緩冲器中的帧。
8、 如权利要求l所述的设备,其中,如果将被丢弃的帧被存储在切换管 理模块中,则丟弃控制模块丢弃存储在切换管理模块中的帧。
9、 如权利要求l所述的设备,其中,UPnP多播监控模块确定该帧是否 是从公共网络的外部输入,如果确定该帧从所述外部输入,则确定该帧不是 UPnP多播帧。
10、 如权利要求1所述的设备,其中,如果UPnP多播监控模块确定该 帧不是UPnP多播帧,则UPnP多播监控模块停止监控该帧。
11、 如权利要求l所述的设备,其中,所述设备是家庭连接装置。
12、 如权利要求l所述的设备,其中,所述设备是公寓单元或层单元连接装置。
13、 一种用于公共网络环境中的UPnP服务的方法,所述方法包括 监控输入帧; 如果该帧是UPnP多播帧,则请求丢弃该帧; 如果请求丢弃该帧,则丟弃该帧; 登记和管理关于丢弃的帧的信息。
14、 如权利要求13所述的方法,其中,监控输入帧的步骤包括 监控输入帧的头以确定该帧是否是UPnP多播帧。
15、 如权利要求13所述的方法,其中,该帧被输入到转发器。
16、 如权利要求14所述的方法,其中,监控输入帧的头的步骤包括 确定UPnP IP是否被包括在该帧的头中以确定该帧是否是UPnP多播帧。
17、 如权利要求14所述的方法,其中,监控输入帧的头的步骤包括多播帧。 、 、"、 、
18、 如权利要求13所迷的方法,其中,监控输入帧的步骤包括 确定多播和/或广播位是否被设置在UPnP多播IP中以确定该帧是否是UPnP多播帧。
19、 如权利要求13所述的方法,其中,丢弃该帧的步骤包括 如果将被丟弃的帧被存储在緩冲器中,则丢弃存储在緩冲器中的帧。
20、 如权利要求13所述的方法,其中,丢弃该帧的步骤包括 如果将被丢弃的帧被存储在切换管理模块中,则丢弃存储在切换管理模块中的帧。
21、 如权利要求13所述的方法,其中,监控输入帧的步骤包括 确定该帧是否从公共网络的外部输入;如果确定该帧从所述外部输入,则确定该帧不是UPnP多播帧。
22、 如权利要求13所述的方法,还包括 如果该帧被确定为不是UPnP多播帧,则停止监控该帧。
23、 一种用于公共网络环境中的UPnP服务的设备,所述设备包括 UPnP多播监控模块,确定输入帧是否是UPnP多播帧; 丢弃控制模块,如果UPnP多播监控模块确定该帧是UPnP多播帧,则丢弃控制模块丢弃该帧。
24、 如权利要求23所述的设备,还包括 切换管理模块,登记和管理关于丢弃的帧的信息。
25、 如权利要求23所述的设备,其中,如果UPnP多播监控模块确定该 帧是UPnP多播帧,则UPnP多播监控模块请求丢弃该帧。
26、 如权利要求23所述的设备,其中,UPnP多播监控模块监控输入帧 的头以确定该帧是否是UPnP多播帧。
27、 如权利要求26所述的设备,其中,UPnP多播监控模块确定UPnP IP 是否被包括在该帧的头中以确定该帧是否是UPnP多播帧。
28、 如权利要求26所述的设备,其中,UPnP多播监控模块确定UPnP MAC地址是否被包括在该帧的头中以确定该帧是否是UPnP多播帧。
29、 如权利要求23所述的设备,其中,UPnP多播监控模块确定多播和 /或广播位是否被设置在UPnP多播IP中以确定该帧是否是UPnP多播帧。
30、 如权利要求23所述的设备,其中,UPnP多播监控模块确定帧是否 是从公共网络的外部输入,如果该帧是从所述外部输入,则确定该帧不是 UPnP多播帧。
31、 一种用于公共网络环境中的通用即插即用UPnP服务的方法,所述 方法包括确定输入帧是否是UPnP多播帧; 如果该帧被确定为是UPnP多播帧,则丢弃该帧。
32、 如权利要求31所述的方法,还包括 登记和管理关于丢弃的帧的信息。
33、 如权利要求31所述的方法,还包括如果该帧被确定为是UPnP多 播帧,则请求丟弃该帧。
34、 如权利要求31所述的方法,其中,确定输入帧是否是UPnP多播帧 的步骤包括监控输入帧的头以确定该帧是否是UPnP多播帧。
35、 如权利要求34所述的方法,其中,监控输入帧的头的步骤包括 确定UPnP IP是否被包括在该帧的头中以确定该帧是否是UPnP多播帧。
36、 如权利要求34所述的方法,其中,监控输入帧的头的步骤包括确定UPnP MAC地址是否被包括在该帧的头中以确定该帧是否是UPnP 多播帧。
37、 如权利要求31所述的方法,其中,确定输入帧是否是UPnP多播帧 的步骤包括确定多播和/或广播位是否被设置在UPnP多播IP中以确定该帧是否是 UPnP多播帧。
38、如权利要求31所述的方法,其中,确定输入帧是否是UPnP多播帧 的步骤包括确定该帧是否从公共网络的外部输入;如果该帧被确定为是从所述外部输入,则确定该帧不是UPnP多播帧。
全文摘要
一种用于在公共网络环境中的通用即插即用(UPnP)服务的设备和方法,所述设备包括UPnP多播监控模块,监控输入到转发器的帧的头,并请求丢弃该帧;丢弃控制模块,选择并丢弃被请求丢弃的帧;切换管理模块,登记和管理关于丢弃的帧的信息。
文档编号H04L29/06GK101115071SQ200710139119
公开日2008年1月30日 申请日期2007年7月25日 优先权日2006年7月25日
发明者朴仁昊, 申东润 申请人:三星电子株式会社