背景技术
为了能够检测并控制连接到网络的装置,将一种称为通用即插即用(UPnP)的协议标准化(例如,参考非专利文献,“Universal Plug andPlay Device Architecture Version 1.0”,[在线],2000年7月8日,UPnP论坛,[搜索日期:2000年3月25日],因特网URL:http://www.upnp.org/download/UPnPDA10_20000613.htm)。
UPnP使用标准的传输控制协议/因特网协议(TCP/IP)和因特网协议,并实现如下功能,例如获取关于其它装置的存在和功能的信息,以及通知自身拥有的功能。因此,能够容易地进行***设备的安装、设置以及添加。
UPnP网络的基本部件是装置、服务以及控制点。UPnP装置是支持服务的装置,服务是用于控制的最小单元。例如,VTR装置包括磁带传送服务、调谐服务以及时钟服务。控制点是可以检测和控制其它装置的控制器。
新连接到网络的UPnP装置获取用于加入网络的IP地址。IP地址的获取是通过动态主机配置协议(DHCP)服务器自动地为每个装置所支持的DHCP客户机分配地址而进行的。
当为新装置分配了IP地址并且可以进行通信时,新装置(i)组播传输(UDP:用户数据报协议)每个装置和服务的通用事件通知结构(GENA,Generic Event Notification Architecture)广告,以及(ii)宣布其存在(活跃传输(alive transmission))。此外,新装置传输广告服务的检测消息。这里,需要在到期之前重传该广告。另外,在装置离线之前,该装置传输说明退出的消息。
网络上的控制点能够(i)组播简单服务发现协议(SSDP,SimpleService Discover Protocol)检测消息,以及(ii)搜索相关的装置和服务(M-Search)。使用上述技术,例如,在控制点是视频控制应用的情况下,(i)可以搜索作为音频和视频(AV)内容的服务器的装置,(ii)可以显示网络上所有的视频设备,以及(iii)可以选择作为所期望的内容的服务器的视频设备。
图6是显示传统网络***的结构框图。如图6所示,网络***包括:服务器31,它是包含服务器功能的装置;客户机32;以及网络3。客户机32包括控制点功能以及显示接收译码的呈现装置(renderer)功能。
CPU 301根据管理程序执行用于管理连接到网络3的装置的处理。ROM 105保存用于启动服务器31的启动程序。启动之后,服务器31执行预定处理,比如上述DHCP和Alive传输。
在客户机32中,CPU 201(i)使图形用户界面(GUI)控制器210和用户操作界面(IF)211显示菜单屏幕“装置选择”,并且(ii)使消息通信单元212通过通信IF207传输M-Search消息,用于在服务器中搜索网络3上的装置。
M-Search消息具有使用超文本转输协议组播(HTTPMU)的SSDP请求格式,其中HTTPMU在UDP上使用超文本转输协议(HTTP)。这里,作为搜索标准,包括由UPnP论坛定义的“媒体服务器”服务(例如,参考非专利文献,“Media Server:1 Device Template Version1.0”,[在线],2002年6月25日,PnP论坛,[搜索日期:2000年3月25日],因特网<URL:http://www.UPnP.org/standardizeddcps/documents/MediaServer 1.0.pdf>)。接收到M-Search消息的装置(i)监听该消息的标准组播地址,并且(ii)回答该装置所支持的服务是否符合检测消息的搜索标准。
在服务器31的ROM 105中,将“媒体服务器”存储为装置信息。服务器31的搜索信息判断单元106将ROM 105的装置信息与通过通信IF 307和消息通信单元312接收的M-Search消息的内容进行比较。通过比较,如果搜索信息判断单元106确认存在符合M-Search内容的装置信息,则搜索信息判断单元106将该事实通知给消息通信单元312。然后,消息通信单元312生成表示上述的符合搜索条件的消息,并通过通信IF 307对客户机32作出响应。使用附加了SSDP头的单播UDP将对搜索请求的响应传输到发起搜索的客户机32的IP地址。
对搜索请求的响应包括可以获取装置描述的统一资源定位符(URL)。在客户机32中,为了获取UPnP的装置描述,经由通信IF 207和消息通信单元212接收响应的装置信息获取单元208使消息通信单元212(i)生成关于包含在响应消息中的URL的HTTP GET请求,以及(ii)通过通信IF 207发出HTTP GET请求。为响应通过通信IF307接收的HTTP GET请求,服务器31的消息通信单元312(i)通过搜索信息判断单元106获取包含在ROM 105中的装置描述信息,以及(ii)通过通信IF单元307向客户机32返回装置描述信息。
装置描述信息以可扩展标记语言(XML)格式列出关于装置的属性,例如关于由装置类型提供的服务集合的信息、装置型号名称、型号、制造商名称、关于产品的描述信息、序列号、友好名称(装置名称)以及图标。
客户机32的装置信息获取单元208(i)通过通信IF 207和消息通信单元212接收装置描述信息,并且(ii)请求CPU 201分析该信息。然后,CPU 201分析XML格式的列表,并获取诸如装置型号名称和友好名称的信息。CPU 201使用所获取的信息使GUI控制器210和用户操作IF 211顺序地在监视器上显示符合搜索条件的装置的列表,这里也就是媒体服务器装置。显示屏的例子如图7所示。
服务描述的指针(URL)包含在装置描述信息中。并且,可以像装置描述一样通过对其URL的HTTP GET请求来获取服务描述。图7是包含所有服务的列表的XML文件,比如veranda-specific信息、嵌入式装置的定义、装置展示的URL、以及控制和事件(eventing)的URL。因此,通过访问从客户机32的控制点选择的装置(这里为服务器31)的装置描述的控制URL,可以控制该装置。使用简单对象访问协议(SOAP)执行访问。
在获取用于通知由装置所保存的内容列表的内容目录服务(CDS)的信息之后,客户机32的控制点使用所述控制,通过访问其中描述的URL获取AV内容的数据流。当客户机32的CPU 201命令消息通信单元212访问服务器31的URL时,消息通信单元212根据该指令(i)生成使用HTTP GET请求获取数据的消息,以及(ii)使通信IF 201将所生成的消息传输到通信IF 307的预定端口。根据该请求,服务器31在使用数据输出管理单元303调整传输定时、速率等等的同时,通过通信IF 307输出包含在内容数据记录再生单元302中的数据。客户机32在使用数据输入管理单元203调整请求以便解码器202能够处理请求的同时,(i)从通信IF 207接收数据流,以及(ii)使用解码器202执行再生。
此外,如果客户机32将URL注册(事件的注册)在包含于服务器31中的装置描述的eventSubURL中,当服务器31的状态变化时,该变化能够被通知到通过客户机32所注册的上述URL(CALLBACK头的URL)。例如,如果由于由记录引起的内容删除、名称改变、新的添加,使得内容列表信息在服务器31一端改变,那么该变化能够被通知给客户机32。
这里,连接到网络并保存AV内容的服务器装置需要处理来自网络的威胁。特别地,假定有下列威胁:从因特侵入记录器;从脆弱的无线局域网(LAN)侵入记录器;家人从家内网络(in-home network)侵入个人专用记录器;由从因特网传输的未授权请求阻塞用户通信;等等。
作为克服上述威胁的对策,未来对于连接到网络的用户AV装置需要访问限制,比如(i)当访问时,对不希望向第三方公开的信息进行认证,以及(ii)拒绝来自因特网的访问。
但是,与个人计算机(PC)等等不同,用户AV装置具有较差的输入***。并且,每次访问时迫使用户在客户机装置端输入口令将导致大量负担。此外,可以想到预先在服务器装置端注册允许进行访问的客户机装置(控制点)的方法。但是,在上述情况下,需要输入大量的字符,这对于用户来讲是很大的负担。
作为对上述问题的改进手段,可以有以下方法用于(i)显示可以从服务器进行访问的客户机装置的列表,以及(ii)选择并注册允许其进行访问的客户机装置。但是,根据UPnP,如上所述,为将被控制的一端的装置定义对于广告和搜索的响应。另一方面,在常规使用中不需要由服务器装置发现客户机装置端,并且没有上述对广告和搜索定义的响应。所以,有一个问题,在服务器装置端不能确认可以进行访问的客户机装置(存在于网络上的控制点)。
具体实施方式
考虑到上述问题,本发明的目的是通过将附加结构最小化为UPnP安装装置,使用简单过程来实现网络AV客户机装置的注册。
以下,将参照附图说明根据本发明的实施例。
(第一实施例)
图1是显示根据本发明的第一实施例的网络***的结构实例的框图。在图1中,与图6相同的部件具有相同的代码。根据本发明的网络***,服务器1和客户机2的处理与如图6所示的传统网络***不同。
在如图1所示的服务器1中,CPU 101使监视器使用GUI控制器110和用户操作IF 111显示从地址获取单元113和通信IF 107获取的信息。并且,CPU 101使设备注册单元109(i)通过用户操作IF 111在存储单元114中注册以及删除由用户指定的装置的装置信息,以及(ii)获取存储在存储单元114中的装置信息。内容数据记录再生单元102记录并再生AV内容。数据输出管理单元103管理记录在内容数据记录再生单元102中的AV内容。搜索信息判断单元106搜索存储在ROM 105中的信息,并从ROM 105获取所需的信息。通信IF 107管理到网络3的数据的输入和输出。装置信息获取单元108通过CPU101和装置注册单元109从存储单元114获取所需的装置信息。GUI控制器110通过用户操作IF 111在监视器上显示可以判断希望被注册的装置的图形用户界面(GUI)。用户操作IF 111向用户显示信息并接收来自用户的指令。消息通信单元112生成消息并通过通信IF 107传送消息。地址获取单元113从由通信IF 107收到的消息获取客户机2的介质访问控制(MAC)地址和IP地址。
此外,在客户机2中,CPU 201使用GUI控制器210和用户操作IF 111使监视器显示通过存储单元214、装置信息获取单元208以及消息通信单元212获取的信息。并且,CPU 201管理存储在存储单元214中的装置信息的输入和输出。ROM 205存储装置信息。通信IF 207管理到网络3的数据的输入和输出。消息通信单元212生成消息,并通过通信IF 207传送消息。搜索信息判断单元206(i)将由消息通信单元212收到的消息内容与存储在ROM 205中的信息进行比较,以及(ii)从ROM 205获取所需的信息。装置信息获取单元208通过CPU 201获取存储在存储单元214中的装置信息。GUI控制器210生成以GUI呈现给用户的信息,并通过用户操作IF 211进行显示。用户操作IF 211输入用户的指令。并且,数据输入管理单元203使解码器202解码从通信IF 207接收的数据。
图8A是服务器1和客户机2之间的通信序列示图。首先,通过服务器1的GUI控制器110和用户操作IF111显示“客户机注册”的菜单屏幕。然后,服务器1的消息通信单元112通过通信IF 107将M-Search请求传输到网络3上的装置(S10)。
尽管来自普通AV客户机装置的M-Search请求搜索“媒体服务器”,消息通信单元112生成如图4A所示的搜索“客户机装置”的消息。
当接收到上述“客户机装置”搜索时,具有“客户机装置”作为装置信息的装置,即与客户机注册有关并且将被注册在服务器中的客户机装置,响应客户机装置符合搜索条件这一事实(S11)。将“ClientDevice”作为装置信息存储在客户机2的ROM 205中。常规客户机装置(控制点)不能响应装置搜索。但是,客户机2的搜索信息判断单元206将ROM 205的信息与从消息通信单元212接收的M-Search内容进行比较。作为比较结果,如果搜索信息判断单元206确认符合M-Search内容的信息存在,则消息通信单元212(i)生成指示上述与搜索条件的一致性的消息,如图4B所示,并且(ii)通过通信IF 207响应服务器1。
对由服务器1接收的搜索请求的响应包括可以获取装置描述的URL。为了获取UPnP的装置描述,服务器1的装置信息获取单元108使用消息通信单元112,通过通信IF 107向包含在响应消息中的URL发出通信Inter-HTTP GET请求(S12)。客户机2的消息通信单元212通过通信IF 207接收HTTP GET请求。搜索信息判断单元206(i)将ROM 205的信息与从消息通信单元212接收的HTTP GET请求的内容进行比较,以及(ii)将由ROM 205所存储的装置描述信息输出到消息通信输出单元212。消息通信输出单元212通过通信IF 207将从搜索信息判断单元206获取的装置描述信息传输到服务器1(S13)。
除由装置类型提供的服务集合的信息之外,装置描述信息还包括:装置型号名称、型号、制造商名称、关于产品的说明信息、序列号、作为用于指定装置的信息的友好名称以及关于图标的信息。
在从客户机2接收到响应消息以便能够根据装置描述信息,使用装置型号名称、友好名称等等判断希望为用户注册的装置之后,服务器1的CPU 101使GUI控制器110通过用户操作IF 111在监视器上连续地显示符合搜索条件的装置的列表。
图2显示显示屏幕的例子。如图2所示,监视器显示装置名称、型号等等。将关于从地址获取单元113获取的每个客户机的MAC地址和IP地址的信息添加到每个装置信息。
根据通过用户操作IF 111的输入,当指定客户机2时,通过GUI控制器110将关于客户机2的信息传输到CPU 101。CPU 101将关于客户机2的信息传输到装置注册单元109。装置注册单元109使存储单元114存储客户机2的装置描述信息、MAC地址以及IP地址。同时,GUI控制器110通过添加关于所指定的客户机2的信息生成并显示已注册装置的列表。
根据本实施例,如图3所示,在显示屏幕上显示上述已注册装置的列表,并将已注册装置显示为“registered”。根据本实施例,将注册号码设置为最大为四。不需要存储客户机的所有装置描述信息,可以仅仅存储用于区分用户以便取消已注册的客户机的注册的信息,例如友好名称。此外,MAC地址和IP地址都不必注册,可以仅仅注册用于后面提到的访问限制过程的信息。
根据通过用户操作IF 111的输入,如果重新选择了客户机2,则通过GUI控制器110将关于重新选择的客户机2的信息传输到CPU101。CPU 101使装置注册单元109取消存储在存储单元114中的装置的注册,并且显示屏变为图2。
通过使用如上所述的结构,服务器1可以注册预定数量的客户机(根据本实施例,最大为四)。
这里,与增加客户机装置注册功能的全新协议的情况相比,在注册客户机时通过使用UPnP的M-Search功能,可以通过共享SSDP等最小化附加结构。特别地,在服务器和客户机功能存储在一个包的情况下,通过共享搜索消息生成部分、搜索结果的GUI显示部分等等,可以提高功能的效果。
如上所述,搜索“客户机装置”以便生成在LAN之内的客户机装置的列表。但是,可以通过列出LAN之内的所有的使用UpnP的可即插即用装置生成LAN之内的客户机装置的列表。此外,可以搜索指示接收和解码再生功能的“媒体呈现”服务。
根据本实施例,将注册数量设置为四,但号码不局限于此。
(第二实施例)
根据本实施例,将说明使用关于根据第一实施例的网络***中的已注册客户机的信息限制访问的例子。
服务器1的通信IF 107使用多个IP端口接收来自其它装置的访问。UPnP在家内分布,并且最好UPnP装置排除来自家外的访问。所以,服务器1执行下列处理。
地址获取单元113根据从通信IF 107接收的消息获取访问装置的IP地址。服务器1使CPU 101(i)计算(a)通过装置注册单元109获取的存储在存储单元114中的服务器1的自身地址与(b)子网掩码设置之间的“与”(AND),(ii)进一步计算访问装置的IP地址和子网掩码设置之间的“与”(AND),以及(iii)比较这两个“与”的结果。作为比较结果,通过使通信IF 107阻塞来自非对应装置的访问,CPU 101可以拒绝来自外部的访问。连接网络3和外部网络的路由装置(图中未显示)也可以被用于拒绝来自外部的访问。
除拒绝上述来自家外部的访问之外,服务器1还使用以下过程拒绝来自除存储单元114中注册的客户机装置以外的其它装置的访问。
图8B是服务器1和客户机2之间的通信序列框图。在使客户机2的GUI控制器210和用户操作IF 211显示如图7所示的“功能选择”菜单屏幕之后,消息通信单元212通过通信IF 207将用于搜索服务器的M-Search消息传输到网络3上的装置(S20)。M-Search包在网络3上流动,并且包括IP地址信息。
在从通信IF 107接收M-Search消息之后,服务器1从地址获取单元113获取消息发送者的IP地址。地址获取单元113进一步(i)获取与所获取的IP地址相关的消息发送者的MAC地址,并且(ii)将MAC地址输出到CPU 101。
CPU 101将(i)通过设备注册单元109存储在存储单元114中的装置的MAC地址与(ii)使用地址获取单元113获取的消息发送者的MAC地址进行比较。如果消息发送者的MAC地址没有注册在存储单元114中,则CPU 101将这个事实通知给消息通信单元112(S21)。消息通信单元112不将所传输的消息输出到搜索信息判断单元106,并中止该消息。因此,不会接受来自除已注册装置之外的其它装置的访问。
根据本实施例,将MAC地址用于上述比较。但是,可以将IP地址存储在存储单元中,并且可以通过使用该IP地址执行比较。从安全性的观点来看,认为使用不随网络环境变化而改变并且没有专业技能就不能伪造的MAC地址进行的访问拒绝比使用IP地址更安全。
(第三实施例)
根据如第二实施例所述的方法,服务器1不响应M-Search,并且不能确认网络上存在的未注册装置的数量。此外,在将服务器1用作客户机装置的情况下,如果符合来自另一个服务器的搜索,则服务器1需要响应来自该另一个服务器的M-Search。但是,有一个问题,即服务器1无法响应来自该另一个服务器的上述M-Search。
根据第三实施例,将说明作为另一个映射方法的例子,其中,服务器1响应M-Search但不响应下列装置描述信息获取和服务描述信息获取。
图8C是服务器1和客户机2之间的通信序列框图。像传统网络***一样,服务器1的搜索信息判断单元106将ROM 105的信息与通过通信IF 107和消息通信单元112接收的M-Search内容进行比较(S30)。作为比较结果,在确认符合M-Search内容的信息存在之后,搜索信息判断单元106将该事实传输给消息通信单元112。消息通信单元112生成指示符合搜索条件的消息,并通过通信IF 107响应客户机2(S31)。
客户机2的装置信息获取单元208通过通信IF 207和消息通信单元212获取上述响应以便获取UPnP的装置描述,该装置信息获取单元208使消息通信单元212通过通信IF 207发出HTTP GET请求(S32)。
服务器1使用通信IF 107和地址获取单元113获取所接收的HTTP GET请求的发送者的MAC地址。
CPU 101将(i)通过设备注册单元109存储在存储单元114中的装置的MAC地址与(ii)使用地址获取单元113获取的HTTP GET请求的发送者的MAC地址进行比较。如果没有将发送者的MAC地址注册在设备注册单元109中,则CPU 101(i)生成对由消息通信单元112传输的HTTP GET请求的指示“由于未注册的No good(NG)”的HTTP响应,并且(ii)通过通信IF 107响应客户机2(S33)。
图5显示响应消息的例子。由于该响应消息,服务器1不接受来自己注册装置之外的其它装置的对装置描述信息的请求。
通过通信IF 207和消息通信单元212接收到指示“由于未注册的NG”的消息之后,客户机2的CPU 201分析该HTTP响应,并了解由于未注册而拒绝该请求。
因此,不会接受来自己注册装置之外的其它装置的对于服务描述信息获取的请求。
(第四实施例)
根据第三实施例的方法,因为服务器1不响应装置描述信息获取和服务描述信息获取,因此不能确认网络上存在什么类型的未注册装置。此外,在将服务器1用作客户机装置以及符合来自另一个服务器的搜索的情况下,如果服务器的外部用户(ex-user)注册该客户机装置,则希望被注册的装置需要从装置列表中选择。但是,有一个问题,即不能获取用于选择的足够信息(型号、设备名等等)。
因此,根据本实施例,将在下面说明作为另一个映射方法的对策,其中服务器1响应M-Search、装置描述信息获取、以及服务描述信息获取,但不响应内容列表获取请求。
图8D是服务器1和客户机2之间的通信序列框图。客户机2的CPU 201使GUI控制器210和用户操作IF 211显示菜单屏幕“功能选择”。然后,消息通信单元212通过通信IF 207传输用于在服务器中搜索网络3上的装置的M-Search消息(S40)。
将“Media Server”作为装置信息存储在服务器1的ROM 105中。服务器1的搜索信息判断单元106将ROM 105的信息与通过通信IF107和消息通信单元112接收的M-Search内容进行比较。通过比较,在确认存在符合M-Search内容的信息之后,搜索信息判断单元106(i)使消息通信单元112生成指示符合搜索条件的消息,并且(ii)通过通信IF 107响应客户机2(S41)。
客户机2的装置信息获取单元208通过消息通信单元212和通信IF 207向包含在通过通信IF 207和消息通信单元212所接收的响应消息中的URL发出HTTP GET请求(S42)。服务器1(i)从搜索信息判断单元106获取包含在ROM 105中的装置描述信息,以及(ii)通过通信IF 107将来自消息通信单元112的装置描述信息传输到客户机2(S43)。
在通过通信IF 207和消息通信单元212接收到装置描述信息之后,客户机2的装置信息获取单元208将信息输出到CPU 201。CPU201分析XML格式的列表,并获取诸如装置型号名称和友好名称的信息。CPU 201使用所获取的信息通过GUI控制器210和用户操作IF连续地显示符合搜索条件的装置的列表。
客户机2使用指向包含在装置描述信息中的服务描述的指针(URL)以对所述URL的HTTP GET获取服务描述。
客户机2的控制点使用控制通过SOAP消息请求内容交付服务(CDS)的内容列表信息(S44)。这里,在接收到请求内容列表的SOAP消息之后,服务器1使用通信IF 107和地址获取单元113获取发送者的MAC地址。CPU 101将(i)通过设备注册单元109存储在存储单元114中的装置的MAC地址与(ii)使用地址获取单元113所获取的发送者的MAC地址进行比较。如果没有注册发送者的MAC地址,则CPU101(i)使用消息通信单元112生成如图5所示的NG响应,以及(ii)通过通信IF 107响应客户机2(S45)。
类似地,对控制(即控制URL)的访问,以及对事件注册(即事件SubURL)的访问,根据MAC地址注册执行拒绝。此外,流获取,即对内容目录服务中所描述的URL的访问根据MAC地址注册执行拒绝。
客户机2的CPU 201指示消息通信单元212访问服务器1的URL。然后,消息通信单元212(i)根据上述指示生成通过HTTP GET请求数据获取的消息,以及(ii)使通信IF 207将消息传输到服务器1的通信IF 107的预定端口。服务器1将(i)存储在存储单元114中的装置的MAC地址与(ii)使用地址获取单元113所获取的HTTP GET发送者的MAC地址进行比较。如果没有注册发送者的MAC地址,则服务器1(i)使用消息通信单元112生成如图5所示的NG响应,以及(ii)通过通信IF 107响应客户机2。服务器1(i)按照惯例,响应来自具有已注册MAC地址的装置的请求,并且同时在数据输出管理单元103中调整传输定时和速率,(ii)通过通信IF 107输出包含在内容数据记录再生单元102中的数据。客户机2在使用数据输入管理单元203调整请求以便解码器202能够处理的同时,(i)从通信IF 207接收数据流,并(ii)使解码器202进行再生。
简单地通过判断为获取服务列表、内容列表和内容数据已失败,不能分析如图5所示的NG响应的内容的客户机不能继续前进。另一方面,可以理解NG响应的内容的客户机2在通过通信IF 207和消息通信单元212接收到NG响应之后,使用CPU 201解释NG响应的内容。CPU 201将NG响应与存储在存储单元214中的消息进行比较。在该消息符合NG响应的字符串的情况下,CPU 201(i)使GUI控制器210生成诸如“在服务器中注册当前装置”的消息,以及(ii)通过用户操作IF 211在监视器上显示该消息。用户通过阅读显示在监视器上的消息找出无法获取服务列表、内容列表以及内容的原因。并且,根据如第一实施例所述的过程,用户可以执行诸如将客户机2注册到服务器1中的对策。在执行上述注册之后,如果客户机2试图再次从服务器1获取内容列表信息,则已正确注册了客户机2的服务器1响应该获取请求(S46)。因此,客户机2可以执行服务器1的内容列表和内容再生。
尽管上面仅仅详细地描述了本发明的一些典型实施例,但是本领域的技术人员将会容易地理解,在不实质上脱离本发明的新方法和优点的情况下可以对典型实施例进行多种修改。因此,应当将所有这样的修改包含在本发明的范围内。