通知方法、连接装置、通信方法以及程序的制作方法

文档序号:7634834阅读:151来源:国知局
专利名称:通知方法、连接装置、通信方法以及程序的制作方法
技术领域
本发明涉及通知方法、连接装置、连接装置中的通信方法以及程序。
背景技术
近年来随着网络的普及,不仅是个人计算机,便携电话或者电子设备等各种设备也能够与网络连接,相互协作利用电子设备等的环境当然已经在办公用途中普及,而且,以前一直单独使用的家电产品或其它电器产品也与网络连接,已经普及到家庭用途。
因而,特别要求与网络连接的各种设备的连接容易性和设定容易性。
能够满足这种要求的技术之一,存在称为通用型即插即用(UPnPUniversal Plug and Play)的技术。UPnP对于连接到网络上的设备(以下,简称为设备。)能够即插即用,并且,还具有不需要安装驱动软件等,且不依赖于在各设备上动作的OS(操作系统)的种类的特征。
如果使用UPnP,则设备能够自动地进行加入到网络上,动态地取得IP地址,或者将自身的功能进行通知,或者对于其它设备的存在和功能取得信息等所有的动作,能够成为真正的网络零设定。进而,设备能够相互直接通信,由此,能够成为对等网络。
关于UPnP的详细标准,记载在Universal Plug and Play DeviceArchitecture Version 1.0(通用型即插即用设备体系结构)中。
然而,在上述的现有技术中,在能够动态地取得IP地址,或者将自身功能进行通知的UPnP等中,存在着例如不能够发现、控制跨网络的设备,即,不能够使用不是同一个子网络的设备的问题。

发明内容
发明要解决的课题本发明是对于上述的问题而完成的,目的在于向经过第1网络和第2网络连接的第3网络上连接的装置通知能够利用第1网络上连接的设备。
另外,本发明是针对上述的问题而完成的,目的在于经过第1网络和第2网络连接的第3网络上连接的装置能够在第3网络内使用有效的目的地信息向第1网络上连接的设备发送消息。
用于解决课题的方法为了达到上述目的,本申请的第1方案在第1连接装置连接第1网络和第2网络,第2连接装置连接第2网络和第3网络,向第3网络上连接的装置通知在第1网络上连接的设备的信息的通知方法中,特征是,第1连接装置识别在第1网络上连接的设备,经过第2网络向第2连接装置发送所识别的设备的信息,第2连接装置接收从第1连接装置发送的信息,根据接收到的信息,向第3网络发送表示能够利用所识别的设备的消息。
本申请的第2方案在第1连接装置连接第1网络和第2网络,第2连接装置连接第2网络和第3网络,向第3网络上连接的装置通知对于第1网络上连接的设备的消息的目的地消息的通知方法中,特征是,第1连接装置取得对应于第1网络上连接的设备的消息的第1目的地信息,经过第2网络向第2连接装置发送所取得的第1目的地信息,第2连接装置接收从第1连接装置发送的第1目的地信息,在第2连接装置的识别符上添加对应于上述设备的识别符,生成对应于上述设备的消息的第2目的地信息,向第3网络发送包括所生成的第2目的地信息的消息。
发明的效果如以上说明的那样,依据本发明,使用者能够发现并利用在自身的网络中不存在的设备。
由此,能够容易地进行与网络上连接的各种设备的连接。进而,能够增加设备的利用机会。
本发明的其它特征以及优点将从参照附图的以下说明中明确。另外,在附图中,在相同或者同样的结构中标注相同的参考号码。


附图包含在说明书中,构成其一部分,表示本发明的实施形态,与其记述一起在说明本发明的原理中使用。
图1是系统总体的结构图。
图2是计算机系统的框图。
图3是UPnP设备代理(proxy)装置的框图。
图4是分析单元模块的结构图。
图5是设备管理表的概念图。
图6是再生单元模块的结构图。
图7是虚拟设备管理表的概念图。
图8是设备单元模块的结构图。
图9是连接请求SOAP消息的结构图。
图10是连接请求SOAP的响应消息的结构图。
图11是切断请求SOAP消息的结构图。
图12是遥控设备信息SOAP消息的结构图。
图13是SCPD的概念图。
图14是设备控制信息SOAP消息的结构图。
图15是事件签约请求SOAP消息的结构图。
图16是事件处理信息SOAP消息的结构图。
图17是系统的结构图。
图18是UPnP设备代理装置登录服务器模块的结构图。
图19是管理表的概念图。
图20是管理者PC的UPnP设备代理装置登录/连接画面的概念图。
图21是UPnP设备代理装置登录SOAP消息的结构图。
具体实施例方式
使用

设置UPnP设备代理装置,扫描UPnP的各协议消息,取得设备的设备信息(设备描述Device description),设备的服务信息(服务描述Service description),向与其成对的UPnP设备代理装置传送,在上述UPnP设备代理装置上,虚拟地再现UPnP对应设备的本发明的实施形态。
<系统整体结构>
图1是本发明实施例中的系统整体的结构图。如图1所示,PC等计算机系统即利用者PC102经过UPnP设备代理装置101,与互联网等外部网络100连接。在外部网络100中,不同的子网络经过UPnP设备代理装置103连接,在该网络102中,连接有UPnP标准设备即打印机110、数码照相机111、扫描仪112、数码摄像机113。在本实施例中,举出了上述的设备,而只要是UPnP标准的设备,就不限于上述的设备。
UPnP设备代理装置103是第1连接装置,UPnP设备代理装置101是第2连接装置。UPnP设备代理装置103连接到第1网络120和第2网络100上,UPnP设备代理装置101连接到第2网络100和第3网络105上。
在本实施形态中,向第3网络105上连接的装置即利用者PC102通知第1网络120上连接的设备110、111、112、113的信息。即,UPnP设备代理装置103识别第1网络120上连接的设备,经过第2网络100向UPnP设备代理装置101发送所识别的设备的信息。UPnP设备代理装置101接收从UPnP设备代理装置103发送来的信息,根据接收到的信息,向第3网络105发送表示能够利用所识别的设备的消息。
另外,在本实施形态中,向第3网络105上连接的装置即利用者PC102通知对于第1网络120上连接的设备(例如打印机110)的消息的目的地信息(URL)。即,UPnP设备代理装置103取得对于第1网络120上连接的打印机110的消息的第1目的地信息(URL),经过第2网络100向UPnP设备代理装置101发送所取得的第1目的地信息(URL)。UPnP设备代理装置101接收从UPnP设备代理装置103发送的第1目的地信息(URL),在UPnP设备代理装置101的识别符(IP地址)上添加对于打印机110的识别符(端口号),生成对于打印机110的消息的第2目的地信息(URL),向第3网络发送包括所生成的第2目的地信息(URL)的消息。
进而,UPnP设备代理装置101当从利用者PC102接收到以上述第2目的地信息(URL)为目的地的第1发送消息后,向UPnP设备代理装置103发送包括与包含在上述第2目的地信息(URL)中的上述识别符(端口号)相对应的上述第1目的地信息(URL)以及上述第1发送消息的内容的第2发送消息。UPnP设备代理装置103接收从UPnP设备代理装置101发送的第2发送消息,把上述第1目的地信息作为目的地,发送包括上述第1发送消息的内容的第3发送消息。
图1的利用者PC102是具有利用者利用跨越互联网100的设备,或者阅览资源等各种功能的所谓计算机,是由CPU、ROM、RAM、HDD等构成的计算机系统。
在本实施例中,为了简化说明,说明计算机系统是一台的情况,而即使在同一个段内存在多台利用者PC102的情况下也能够同样实施。
进而,利用者PC102一侧的网络105与UPnP标准的设备侧的网络103的对应是一对一的,这是为了简化实施例而采用的方便的形态,即使是一对n、n对n的结构也能够同样实施。
<计算机系统的框图>
图2是表示作为本发明的一个实施形态而例举出的利用者PC102的计算机系统的结构的框图。
202是随机存取存储器(以下记为RAM),作为CPU201的主存储器、执行程序的区域、该程序的执行区以及数据区而发挥功能。
203是存储CPU201的处理动作顺序的只读存储器(以下记为ROM)。在ROM203中有记录了进行信息处理装置的设备控制的系统程序即基本软件(操作系统,以下记为OS)的程序ROM、记录了用于使系统动作所必需的信息等的数据ROM。代替ROM203,也有使用后述的HDD209的情况。
204是网络接口(NETIF),进行用于经过网络进行信息处理装置之间的数据传输的控制或者连接状况的诊断。
205是视频RAM(VRAM),在表示信息处理装置的工作状态的后述的CRT206的画面上展开所显示的图像,进行其显示的控制。206是显示装置,例如是监视器等。以下记为CRT。
207是用于控制来自后述的外部输入装置208的输入信号的控制器。208是用于受理信息处理装置的利用者对于信息处理装置进行的操作的外部输入装置,例如是键盘或者鼠标等点击设备,以下仅记为KB。
209是硬盘驱动器(HDD),在应用程序或者图像信息的数据保存用途中使用。作为本实施例中的应用程序,是执行构成本实施例的各种处理单元的软件程序等。
210是外部输入输出装置,例如是输入输出软盘(登录商标)驱动器、CDROM驱动器等可移动盘的装置,在从上述应用程序的媒体的读出等中使用。以下,仅记为FDD。另外,还能够把保存在HDD209中的应用程序或者数据保存到FDD210中使用。
200是用于把上述各单元之间连接起来的输入输出总线(地址总线、数据总线以及控制总线)。
<设备代理装置的框图>
图3是表示作为本发明的一个实施形态,例举出的设备代理装置101的结构的框图。设备代理装置101存在用计算机系统实现其功能的形态以及作为其专用设备安装的形态,而在本发明的实施形态中,两种方法都能够实现。图3说明设备代理装置101的结构,而设备代理装置103也具有同样的结构。在用计算机系统实现设备代理装置101、103的形态中,系统结构与图2相同,图3表示软件模块的结构。
UPnP设备代理装置101包括控制单元300、分析单元301、再生单元302、设备单元303。
控制单元300具有控制上述分析单元301、上述再生单元302、上述设备单元303的功能。
分析单元301具有接收并分析UPnP的各协议消息的功能、处理XML数据的功能以及存储设备的IP地址、设备的控制URL、设备的事件URL等的功能。
再生单元302具有从上述设备描述、上述服务描述生成虚拟设备的功能。
设备单元303具有自身即UPnP设备代理装置101作为UPnP设备而动作的功能和作为虚拟设备而动作的功能。在图1的例子中,再生单元302生成与打印机110到数码摄像机113的4个设备的每一个相对应的4个设备单元303。
<系统处理整体的流程>
使用图1说明作为本发明实施形态的系统的处理整体的流程。
这里,为了简单,假定在网络120上除了UPnP设备代理装置103以外,仅连接打印机110,利用者PC102利用经过互联网等网络100的打印机100的情况。这里,作为代表性的说明使用了打印机110,而代替打印机,如果是数码照相机111、数码摄像机112、扫描仪113等其它UPnP标准的设备,则也能够同样实现除了各设备特有的功能以外的处理。
首先,利用者PC102发现UPnP设备代理装置101,对于UPnP设备代理装置101,进行向UPnP设备代理装置103的连接请求。
另一方面,在网络120中,公告SSDP(简单服务发现协议,以下,记为SSDP。SSDP是在UPnP下规定的设备发现协议。)的Alive消息(报告自身能够在网络上应用的消息),UPnP设备代理装置103经常接收这些消息,在内部保持该所接收到的消息(即使仅是该消息,也能够识别打印机110)。
另外,在接收到来自UPnP设备代理装置101的连接请求的时刻,UPnP设备代理装置103向自身所属的网络120发送SSDP的搜索消息,等待响应。如果有响应,则从响应消息中取得在自身所属的网络120上连接的UPnP对应设备的信息。在这里识别为打印机120。
UPnP设备代理装置103向UPnP设备代理装置101以SOAP发送这样取得的打印机110的设备、服务描述所需要的信息。
UPnP设备代理装置101接收前面发送来的信息,根据接收到的信息,生成具有UPnP功能的虚拟打印机110V。虚拟打印机110V(即,UPnP设备代理装置101的设备单元303)向网络105发送SSDP的Alive消息。
即,作为第1连接装置的UPnP设备代理装置103识别在第1网络120上连接的设备110,经过第2网络100向作为第2连接装置的UPnP设备代理装置101发送所识别的设备的信息。UPnP设备代理装置101接收从UPnP设备代理装置103发送来的信息,根据接收的信息,向第3网络105发送表示能够利用所识别的设备的消息(Alive消息)。
利用者PC102接收前面的SSDP的Alive消息,发现虚拟打印机110V。或者,利用者PC102向网络105发送SSDP的搜索消息,得到来自UPnP设备代理装置101的响应(表示能够利用具有所识别的功能的设备的消息)。
利用者PC102从浏览器等打开虚拟打印机110V的显示页,发出印刷请求。或者,使用专用应用程序,根据UPnP所规定的控制协议发出印刷请求。
接收到印刷请求的虚拟打印机110V(即,UPnP设备代理装置101的设备单元303)向UPnP设备代理装置103发送其印刷请求。
接收到印刷请求的UPnP设备代理装置103向打印机110发送该消息。UPnP设备代理装置103从打印机110接收对于前面的印刷请求的响应,向UPnP设备代理装置101发送该消息。
接收到对于前面的印刷请求的响应的UPnP设备代理装置101向利用者PC102发送该消息。
利用者PC102对于UPnP设备代理装置101发出切断请求。
实施例1以下,在实施例1中,根据上述的内容说明上述形态的各处理的详细处理的过程。在以下的实施例1的说明中,系统整体的结构图、计算机系统的框图、UPnP设备代理装置的框图与图1到图3相同。UPnP设备代理装置之间的消息收发使用SOAP,适用于以下说明的UPnP设备代理装置之间的所有的消息收发。
<分析单元模块结构和功能>
图4是表示作为本发明的一个实施形态所例举的分析单元301的结构的模块结构图。
分析单元301包括控制模块400、设备发现接收模块401、HTTP客户模块402、XML处理模块403、设备管理模块404、调度模块405。
控制模块400具有进行上述的设备发现接收模块401、HTTP客户模块402、XML处理模块403、设备管理模块404的控制和从各模块的接口收发数据等的功能。
设备发现接收模块401具有接收SSDP的消息、设备检索请求或者设备公告的功能。
HTTP客户模块402具有经过HTTP(混合文本传输协议。以下,记为HTTP。)取得确定的文本的功能。
XML处理模块403具有通过XML数据的功能或者进行元素的抽取、添加、变更、清除等功能。
设备管理模块404具有管理从上述设备发现接收模块401取得的设备信息的后述的设备管理表500,并对于该表进行数据的检索、添加、变更、清除的功能。
调度模块405具有接收从成对的上述设备代理装置101发送来的指令和消息的HTTP服务器功能、向实际设备发送设备控制指令和事件处理指令的功能以及接收事件消息的功能。
<设备管理表>
图5是作为本实施例中的一个实施形态例举出的上述设备管理模块404保持的设备管理表500的概念图。
设备管理表500包括UDN项目501、DescURL项目502、LifeTime项目503和LatestTime项目504。设备管理表500对于各个项目,能够进行检索、读写、添加、清除,对于一个项目唯一地确定其它项目。
UDN项目501是识别设备的识别符,保存设备描述的UDN标签值。DescURL项目502保存设备保持的设备描述的URL。
LifeTime项目503保存SSDP的设备公告中的公告有效时间,例如,保存SSDP的NOTIFY指令的HTTP标题“CACHE-CONTROLMAX-AGE”的值。LatestTime项目504保存各设备发出SSDP的Alive消息的最后时刻。
<再生单元模块结构和功能>
图6是表示作为本发明的一个实施形态例举出的再生单元302的结构的模块结构图。
再生单元302包括再生控制模块600、虚拟设备生成模块601、HTTP服务器模块602、XML处理模块603、虚拟设备管理模块604。
再生控制模块600具有进行虚拟设备生成模块601、HTTP服务器模块602、XML处理模块603、虚拟设备管理模块604的控制和从各模块的接口收发数据等的功能。
虚拟设备生成模块601具有从设备、服务描述生成虚拟设备的功能。
HTTP服务器模块602是所谓的HTTP服务器,具有依照来自客户的请求提供文本等的功能。
XML处理模块603具有与上述的XML处理模块403相同的功能。
虚拟设备管理模块604具有保存实际设备的信息的后述的虚拟设备管理表700,并具有对于该表进行数据的检索、添加、变更、清除的功能。
<虚拟设备管理表>
图7是作为本实施例的一个实施形态例举出的虚拟设备管理模块604保持的虚拟设备管理表700的概念图。
虚拟设备管理表700包括UDN项目701、ControlURL项目702、eventSubURL项目703和CallBackURL项目704。虚拟设备管理表700对于各个项目,能够进行检索、读写、添加、清除,对于一个项目唯一的确定CallBackURL项目704以外的其它的项目。另外,能够把与前面唯一确定的记录有关的CallBackURL项目704的值确定为大于等于1个。
UDN项目701是识别设备的识别符,保存设备描述的UDN标签的值。
ControlURL项目702保存接受实际设备即原来设备的控制指令的终点的URL。eventSubURL项目703保存实际设备即原来设备的事件签约的终点的URL。CallBackURL项目704保存用于向签约了事件的利用者PC102发送的事件消息的终点的URL。
<设备单元模块结构和功能>
图8是表示作为本发明的一个实施形态例举出的设备单元303的结构的模块结构图。
设备单元303包括主控制模块801、HTTP服务器模块802、HTTP客户模块803、XML处理模块804、事件处理模块805、设备控制模块806、发现模块807。
主控制模块801具有进行HTTP服务器模块802、HTTP客户模块803、XML处理模块804、事件处理模块805、设备控制模块806、发现模块807的控制和从各模块的接口收发数据等的功能。进而,具有保持并提供自身的设备描述、服务描述以及显示文本的功能,提供用于连接到处在外部网络上的UPnP设备代理装置101上的功能的功能。
HTTP服务器模块802具有与上述HTTP服务器模块602相同的功能。
HTTP客户模块803具有与上述HTTP客户模块402相同的功能。
XML处理模块804具有与上述XML处理模块403相同的功能。
事件处理模块805具有满足在UPnP下规定的设备事件的协议GENA(类事件通知构造。以下记为GENA。)的功能,具有受理事件签约,向利用者PC102等发行事件的功能。
设备控制模块806具有受理、分析在UPnP下规定的控制协议即SOAP(参照W3C XML协议工作组)消息,进行依照该指令的实际处理或者虚拟处理的功能。
发现模块807具有满足在UPnP下规定的设备发现协议即SSDP的功能,具有进行对于Alive公告、ByeBye公告、搜索(检索)的响应处理的功能。
<UPnP设备代理装置101的发现>
作为UPnP设备代理装置101自身UPnP对应设备安装,能够按照UPnP规定的过程,从同一个网络105内的外部设备发现并加以利用。
作为利用者PC102发现UPnP设备代理装置101的方法,有接收UPnP设备代理装置101发行的SSDP的Alive消息的方法,利用者PC102向网络105发送SSDP搜索消息,UPnP设备代理装置101返送对于该消息的响应的两种方法。这些方法基于UPnP规定的Discovery的协议。
在利用者PC102中,作为上述发现的方法,微软公司的OS即Windows(登录商标)XP标准地安装有UPnP的客户功能,在利用者PC102使用上述OS的情况下,自动地进行SSDP的Alive消息的接收、SSDP的搜索的发送等。另外,通过生成进行上述发现过程的专用的应用程序,也能够作为发现的方法加以利用。
在本发明的实施例中,说明利用者PC102利用上述的Windows(登录商标)XP作为OS的情况。
如果结束上述的发现过程,则在Explore(微软公司制)的“我的网络”文件夹中显示表示UPnP设备代理装置101的图标。
当双击上述图标后,则启动Internet Explore(微软公司制)等浏览器,显示包括输入了连接目标的文本输入区的页。
<UPnP设备代理装置连接处理>
在上述浏览器的文本输入区中输入UPnP设备代理装置103的IP地址或者主机名,按下连接按钮。通过按下上述连接按钮,从上述浏览器向UPnP设备代理装置101发送连接请求的消息。
UPnP设备代理装置101的HTTP服务器模块802接收上述连接请求的消息,主控制模块801从所接收到的消息取得从上述浏览器输入的连接目标(UPnP设备代理装置103)的IP地址或者主机名。
主控制模块801经过HTTP客户模块803,向UPnP设备代理装置103发送如图9那样的操作名connect、作为其变量记入了UPnP设备代理装置101的IP地址或者主机名的SOAP消息。
UPnP设备代理装置103的HTTP服务器模块802接收上述连接请求SOAP消息。在XML处理模块804中处理所接收的消息,取得前面的UPnP设备代理装置101的IP地址或者主机名,主控制模块801将其传送给控制单元300,并传送给分析单元301的控制模块400。
另外,UPnP设备代理装置101的主控制模块801作为前面接收到的上述连接请求的SOAP消息的响应,经过HTTP客户模块803向UPnP设备代理装置101返送如图10那样的作为返回值记入了UPnP设备代理装置103的IP地址或者主机名的SOAP Respons消息。
<UPnP设备信息收集>
上述的连接处理结束以后,UPnP设备代理装置103开始检索自身所属的网络102上连接的UPnP对应设备。
分析单元301的控制模块400使用XML处理模块403生成SSDP的搜索消息,经过HTTP客户模块402发送到网络120并等待响应。该作业以适当的间隔反复进行到来自UPnP设备代理装置101的切断请求发生为止。
在该反复过程中,如果有来自UPnP对应设备的响应,则HTTP客户模块402接收上述响应消息,传送到控制模块400。
与上述的作业并行,设备发现接收模块401进行经过网络120接收SSDP的NOTIFY消息的准备。UPnP对应设备按照一定的时间间隔,在网络上公告SSDP的NOTIFY消息。持续进行接收作业,与上述相同直到来自UPnP设备代理装置101的切断请求发生为止。接收了上述NOTIFY消息的设备发现接收模块401把该消息传送到控制模块400。
UPnP设备代理装置103从对于搜索消息的响应或者NOTIFY消息,取得与设备有关的消息。
以下,表示NOTIFY消息的一个例子。
NOTIFY*HTTP/1.1HOST239.255.255.2501900CACHE-CONTORLmax-age=30LOCATIONhttp://192.168.1.11/printer/devicedsc.xmlNTurnschemas-upnp-orgprintbasic1NTSssdpaliveUSNuuidupnp-printbasic111接收到上述的响应、NOTIFY消息的控制模块400从上述消息,取得设备描述的URL(LOCATION标题的值是设备描述的URL)、UDN(USN标题的值是UDN)、NTS标题的值以及CACHE-CONTORL的值。UPnP设备代理装置103还能够从对于搜索消息的响应取得这些信息。把上述设备描述URL、UDN、NTS标题的值以及CACHE-CONTORL的值传送到设备管理模块404。
取得上述值的设备管理模块404以UDN的值为密钥,检索设备管理表500。在上述的检索中存在该记录而且NTS标题的值是“SSDPALIVE”的情况下,在当前的时刻更新LatestTime504的值。在存在记录而且NTS标题的值是“SSDPBYEBYE”的情况下,清除该记录。
另外,在上述的检索中不存在该记录的情况下,分别在表500的502、501、503、504中插入设备描述的URL,UDN、CACHE-CONTORL的值、当前的时刻。
如上所述,作为第1连接装置的UPnP设备代理装置103识别第1网络120上连接的设备。另外,第1连接装置即UPnP设备代理装置103取得对于第1网络120上连接的设备的消息的目的地信息(设备描述的URL)。
<UPnP设备信息转移>
在上述的作业以后,设备管理模块404当存在上述的记录而且NTS标题的值是“SSDPBYEBYE”时,使用操作名“byebye”、作为其变量上述所取得的UDN的值,生成如图11那样的SOAP消息。
另外,当不存在上述的记录时,经过HTTP客户模块402从上述设备描述的URL(图5的502的值)取得设备、服务描述,使用插入到上述记录中的双方的值,生成如图12那样的操作名“remoteAlive”、作为其变量添加了上述UDN(图5的501的值)和UPnP设备代理装置103的IP地址或者主机名,作为其附件上述所取得的设备、服务描述的SOAP消息。另外,根据上述取得的设备描述的URL生成URLBase标签的要素,包含在SOAP消息的附件中。关于URLBase在后面叙述。向UPnP设备代理装置101发送上述生成的消息。这里,设备描述是关于设备的信息,是按照UPnP规定的设备类型、厂商名、型号名、编号等。服务描述是该设备所提供的服务(如果是打印机则是打印等)的接口的记述。从设备描述的URL取得这些信息。
如上所述,第1连接装置即UPnP设备代理装置103识别第1网络120上连接的设备(例如打印机110),经过第2网络100向第2连接设备即UPnP设备代理装置101发送所识别的设备的信息。在该识别中,从来自设备(例如打印机110)的消息(对于搜索消息的响应消息或者NOTIFY消息),取得设备保持的设备描述的保存场所的信息(URL)。而且,从该设备描述的保存场所的信息(URL),取得设备的信息(设备、服务描述)。该设备信息的一个例子是其设备的类型,其它的例子是该设备提供的服务或者功能(例如打印等)。
另外,第1连接装置即UPnP设备代理装置103取得对于第1网络120上连接的设备(例如打印机110)的消息的目的地信息(URLBase),经过第2网络100向第2连接装置即UPnP设备代理装置101发送所取得的目的地信息(URLBase)。
与上述的信息收集作业成对,反复进行上述作业消息生成、消息发送。
<虚拟UPnP设备的生成、消除>
UPnP设备代理装置101的HTTP服务器模块602接收从上述UPnP设备代理装置103发送来的上述SOAP消息。即,HTTP服务器模块602是连接到第2网络100上的第1连接单元,从连接装置即UPnP设备代理装置103经过第2网络100接收对于第1网络120上连接的设备(例如打印机110)的消息的第1目的地信息(URLBase)。
向再生控制模块600传送所接收到的上述SOAP消息,再生控制模块600在XML处理模块603中处理上述消息。再生控制模块600从处理结果取出上述SOAP消息的操作名和其变量部分等。
在操作名是“byebye”时,再生控制模块600把上述SOAP消息的变量的值即UDN传送到虚拟设备管理模块604。只接收到上述UDN的虚拟设备管理模块604以上述UDN为密钥检索虚拟设备管理表700,清除该记录。进而,向控制单元300发送对于所生成的虚拟设备发行SSDPBYEBYE消息的处理请求。控制单元300向发现模块807进行指示,以便向主控制模块801发行以上述的UDN为变量的SSDPBYEBYE。被指示的发现模块807向网络105发送以上述的UDN为变量的SSDPBYEBYE消息(用于通知上述UDN的设备是不可利用的消息)。然后,控制模块801结束自身的过程。
在操作名是“remoteAlive”时,再生控制模块600把上述SOAP消息(图12)的变量的值即UDN、UPnP设备代理装置103的IP地址或者主机名、设备、服务描述传送到虚拟设备管理模块604。
接收到上述的值的虚拟设备管理模块604由XML处理模块603从设备描述取出“ControlURL”标签、“eventSubURL”标签的值。把上述取出的值插入到虚拟设备管理表700的702、703中,把UDN插入到虚拟设备管理表700的701中。进而,如以下那样改写标签的要素,生成图13所示的信息。
“friendlyName”标签是在原来的值(包含在图12所示的操作名“remoteAlive”消息中的值)上添加了UPnP设备代理装置103的IP地址或者主机名和“.”的值。friendlyName表示设备的(人可读取的)名称。
“URLBase”标签是把UPnP设备代理装置101的IP地址和端口号组合起来的URL。URLBase是成为用于访问设备的基础的URL。该端口号与UDN(识别设备的识别符)相对应,UPnP设备代理装置101根据该端口号,识别成为对象的设备。
“SCPDURL”标签是“/service/service.xml”。SCPDURL是表示记述了设备提供的服务的XML文件的URL。“ControlURL“标签是“/Control”。“eventSubURL”标签是“/event”。
虚拟设备管理模块604从上述服务描述取得显示页,使用上述改写了的设备描述和上述服务描述,新生成设备单元过程。
所生成的设备单元的主控制模块801向网络105发送SSDPALIVE消息。SSDPALIVE消息与在<UPnP设备信息收集>中表示的NOTIFY消息相同,包括设备描述的URL(LOCATION标题的值)、UDN(USN标题的值是UDN)、NTS标题的值(SSDPALIVE)以及CACHE-CONTORL的值。该设备描述的URL如上所述包括改写了的URLBase的值。另外,CACHE-CONTOL的值是预定的值(例如20秒)。
即,主控制模块801是连接到第3网络105上,接收给预定的目的地(UPnP设备代理装置101的IP地址)的消息的第2连接单元。另外,虚拟设备管理模块604是在上述预定的目的地(UPnP设备代理装置101的IP地址)上添加对于上述设备的识别符(端口号),生成对于上述设备的消息的第2目的地信息(URLBase)的生成单元。主控制模块801向第3网络发送包括所生成的第2目的地信息的消息。
如上所述,第2连接装置即UPnP设备代理装置101接收从第1连接装置即UPnP设备代理装置103发送的信息,根据接收到的信息,向第3网络105发送表示所识别的设备是可利用的消息(SSDPALIVE消息)。该消息包括设备描述保存地点的信息(URL)。该保存位置的信息(URL)把UPnP设备代理装置101的识别信息(IP地址)和识别设备的识别符(端口号)组合起来而生成(URLBase)。
另外,第2连接装置即UPnP设备代理装置101接收从第1连接装置即UPnP设备代理装置103发送的第1目的地信息(URLBase),在UPnP设备代理装置101的识别符(IP地址)上添加对于设备(例如打印机110)的识别符(端口号),生成对于上述设备的消息的第2目的地信息(URLBase),向第3网络发送包括所生成的第2目的地信息(URLBase)的消息(SSDPALIVE消息)。另外,第2目的地信息是把UPnP设备代理装置101的IP地址与端口号组合起来的URL。
<设备单元设备控制模块和事件处理模块>
设备控制模块806在前面进行了说明,接受来自UPnP客户的控制请求执行实际设备的操作。然而,在这里新生成的设备是虚拟设备110V,在实际设备110中进行把上述控制请求转移到实际设备110中的处理。
另外,事件处理模块也同样地向实际设备110进行事件的签约、事件发行的传送。
上述那样的实际安装由于不依赖于各种实际设备的功能,因此被编程为进行通用的转移处理。
<设备的控制>
利用者PC102如上所述,能够控制根据SSDPALIVE消息等发现的虚拟设备(例如虚拟的打印机110)。利用者PC102使用包含在SSDPALIVE消息中的URLBase,确定该虚拟设备。
从利用者PC102接受了设备的控制请求的UPnP设备代理装置101的HTTP服务器模块802向设备控制模块806传送上述请求。该控制请求的目的地包括URLBase,UPnP设备代理装置101根据包含在该URLBase中的端口号,确定成为控制对象的虚拟设备,相对应的设备单元303受理该控制请求,进行处理。
接收到上述请求的设备控制模块806以自身的UDN(与包含在URLBase中的端口号相对应的UDN)为密钥,经由控制单元300,委托虚拟设备管理模块604检索上述UDN的ControlURL。接收到检索委托的虚拟设备管理模块604用上述的UDN检索虚拟设备管理表700。从该记录取出ControlURL项目702的值,经由控制单元300提供给设备控制模块806。
接收到上述ControlURL的值的设备控制模块806把图14那样的操作名“control”、其变量的值作为上述ControlURL的值(添加了URLBase的值),生成添加了上述请求的SOAP消息,经由HTTP客户模块803向UPnP设备代理装置103发送。
即,第2连接装置即UPnP设备代理装置101当从在第3网络105上连接的装置即利用者PC102接收到以第2目的地信息(URLBase)作为目的地的第1发送消息(控制请求)后,向第1连接装置即UPnP设备代理装置103发送包括与包含在上述第2目的地信息(URLBase)中的上述识别符(端口号)相对应的上述第1目的地信息(URLBase)以及上述第1发送消息(控制请求)的内容的第2发送消息(SOAP消息)。第2目的地信息是把UPnP设备代理装置101的IP地址与端口号组合起来的URL。
接收到上述SOAP消息的UPnP设备代理装置103的分析单元301的调度模块405使用XML处理模块403进行处理,取得操作的变量和添加信息(来自利用者PC102的控制请求)。
调度模块405经由HTTP客户模块402,把上述添加消息作为SOAP消息,向上述变量的URL发送。即,第1连接装置即UPnP设备代理装置103接收从第2连接装置UPnP设备代理装置101发送的第2发送消息(SOAP消息),把上述第1目的地信息(URLBase)作为目的地,发送包括上述第1发送消息(控制请求)的内容的第3发送消息(SOAP消息)。
等待上述SOAP消息的响应,在接收到响应以后,调度模块405生成操作“control”的SOAP响应,把实际设备的控制响应作为添加,向UPnP设备代理装置101返送。
接收到上述SOAP响应的UPnP设备代理装置101的设备单元303的设备控制模块806使用XML处理模块804,从上述SOAP响应消息取出上述添加消息,作为SOAP响应,向利用者PC102返送。
<设备事件签约>
从设备利用者PC102接收到设备的事件签约请求的UPnP设备代理装置101的HTTP服务器模块802向事件处理模块805传送包含在事件签约请求的HTTP标题中的CALLBACK的值。
接收到上述CALLBACK的值的事件处理模块805以自身的UDN为密钥,经由控制单元300,委托虚拟设备管理模块604在上述UDN的CallbackURL的项目中插入上述CALLBACK的值。
接受了委托的虚拟设备管理模块604用上述UDN检索虚拟设备管理表700。在该记录CallBackURL项目704中插入上述CALLBACK的值。进而,取得上述该记录的eventSubURL项目703的值。
接收到上述eventSubURL项目703的值的事件处理模块805生成图15那样的操作名“eventSub”、以其变量的值作为上述UDN、上述eventSubURL项目703的值的SOAP消息,经由HTTP客户模块803向UPnP设备代理装置103发送。
接收到上述SOAP消息的UPnP设备代理装置103的分析单元301的调度模块405使用XML处理模块403进行处理,取得操作的变量。
调度模块405经由HTTP客户模块402向上述变量的URL发送UPnP规定的事件签约消息。这时,使用上述变量的UDN,把CALLBACK标题的值设定成http://192.168.1.218022/uuidhogeprinter000/event。
调度模块405向UPnP设备代理装置101发送SOAP响应。
<设备事件处理>
在从实际设备110报告了事件的情况下,UPnP设备代理装置103的调度模块405将其接收,从所接收的索引名取出设备UDN,添加操作名“event”、作为变量来自上述UDN和设备110报告的事件的消息,生成图16那样的SOAP消息,向UPnP设备代理装置101发送上述生成的SOAP消息。
UPnP设备代理装置101的HTTP服务器模块602接收上述SOAP消息,由XML处理模块603进行处理。再生控制模块600从处理的结果取得UDN和添加消息。
再生控制模块600以上述UDN为密钥,经由控制单元300委托虚拟设备管理模块604,以便取得上述UDN的CallBackURL项目的值。
接受了委托的虚拟设备管理模块604用上述UDN检索虚拟设备管理表700。从该记录CallBackURL704取得值。
再生控制模块600经由控制单元300取得上述CallBackURL项目的值,对于该值,发送上述SOAP的添加消息。
实施例2在上述的说明中,在UPnP设备代理装置连接处理中,在上述浏览器的文本输入区中输入UPnP设备代理装置103的IP地址或者主机名,而利用像图17那样在网络100上敷设的上述UPnP设备代理装置登录服务器2001,也能够实现UPnP设备代理装置连接处理。
<UPnP设备代理装置登录服务器的模块结构和功能>
图18是表示作为本发明的一个实施形态例举出的UPnP设备代理装置登录服务器2001的结构的模块结构图。
登录、管理UPnP设备代理组装置或者进行其信息提供的UPnP设备代理装置登录服务器2001由登录控制模块2100、HTTP服务器模块2101、表管理模块2102、XML处理模块2103构成。
登录控制模块2100进行上述HTTP服务器模块2101、表管理模块2102、页生成模块2103的控制和从各模块接口的数据收发等。
HTTP服务器模块2101具有与HTTP服务器模块602相同的功能。
表管理模块2102具有管理UPnP设备代理装置的信息的后述的UPnP代理管理表2200,具有对于该表进行数据的检索、添加、变更、清除的功能。
XML处理模块2103具有与上述XML处理模块403相同的功能。
<UPnP代理管理表>
图19是作为本实施例中的一个实施形态例举出的表管理模块2102保持的UPnP代理管理表2200的概念图。
UPnP代理管理表2200包括HostName项目2201、IPAddress项目2202、Place项目2203和Comment项目2204。UPnP代理管理表2200能够对于各个项目进行检索、读写、添加、清除。
HostName项目2201保存UPnP设备代理装置的主机名。IPAddress项目2202保存UPnP设备代理装置的IP地址。Place项目2203保存UPnP设备代理装置的设置场所等信息。Comment项目2204保存UPnP设备代理装置的任意的信息等。
<UPnP设备代理登录>
说明登录上述UPnP设备代理装置101的处理的流程。
当双击Explore(微软公司制)的“我的网络”文件夹中表示UPnP设备代理装置101的图标后,则启动Internet Explore(微软公司制)等浏览器,显示如图20那样的页。
利用者PC102的利用者在代理登录的场所和注释的文本输入区中输入适当的信息,按下登录按钮。在利用者PC102的利用者按下了上述登录按钮的同时,利用者PC102发送消息,UPnP设备代理装置101的HTTP服务器模块802接收上述消息。
主控制模块801从上述消息取得上述利用者输入的上述场所和注释,取得自身的主机名、IP地址,使用操作名“registration”、作为其变量,使用上述场所、上述注释、上述主机名和上述IP地址,生成如图21那样的SOAP消息。经过HTTP客户模块803,向UPnP设备代理装置登录服务器2001发送上述SOAP消息。
HTTP服务器模块2101接收上述SOAP消息,由XML处理模块2103进行处理。作为上述SOAP消息的处理结果,登录控制模块2100取得UPnP设备代理装置101的主机名、IP地址、上述利用者输入的Place的值、Comment的值。把上述取得的值传送到表管理模块2102,表管理模块2102插入到UPnP代理管理表2200中。插入以后,登录控制模块2100向UPnP设备代理装置101发送SOAP响应。
接收到SOAP响应的UPnP设备代理装置101的HTTP客户模块803把上述SOAP响应消息传送到主控制模块801,在XML处理模块804中进行处理。从处理结果,在利用者PC的浏览器上显示传达该含义的页。
<使用了UPnP设备代理装置登录服务器的连接>
说明使用了上述UPnP设备代理装置登录服务器的连接处理的流程。
在利用者PC102中,当双击Explore(微软公司制)等“我的网络”文件夹中表示UPnP设备代理装置101的图标后,则启动InternetExplore(微软公司制)等的浏览器,显示图20那样的页。
即,利用者PC102当双击表示UPnP设备代理装置101的图标后,连接到UPnP设备代理装置101上,则UPnP设备代理装置101从第2网络100上连接的装置即UPnP设备代理装置登录服务器2001取得所登录的信息(包括UPnP设备代理装置101的信息即主机名或者IP地址)。利用者PC102反映UPnP设备代理装置101取得的信息,显示图20那样的页。
利用者PC102的利用者从连接目标一览的列表选择连接的主机名(UPnP设备代理装置103的主机名),确认场所、注释栏,按下连接按钮。
另外,在UPnP设备代理装置103一侧,也进行把UPnP设备代理装置103登录到UPnP设备代理装置登录服务器2001中的处理。图20表示在选择了Proxy101的情况下,登录了代理登录的场所是东京办公室1,作为注释有打印机的情况。
以下,进行与在实施例1的<UPnP设备代理装置连接处理>中,在浏览器的文本输入区中输入UPnP设备代理装置103的IP地址或者主机名,按下了浏览器的连接按钮以后相同的处理(向UPnP设备代备装置101的连接请求消息的发送以后的处理)。
通过把记录了实现上述实施形态功能的软件的程序代码的存储媒体(或者记录媒体)供给到系统或者装置中,其系统或者装置的计算机(或者CPU和MPU)读出并执行存储媒体中保存的程序代码,当然也能够达到本发明的目的,这是不言而喻的。在这种情况下,成为从存储媒体读出的程序代码自身实现上述的实施形态的功能,存储了其程序代码的存储媒体构成本发明。另外,不仅是通过计算机执行读出的程序,实现上述实施形态的功能的情况,根据其程序代码的指示,在计算机上工作的操作系统(OS)等进行实际处理的一部分或者全部,通过其处理,实现上述实施形态的功能的情况当然也包括在内。
进而,从存储媒体读出的程序代码写入到插入在计算机中的功能扩展卡或者与计算机连接的功能扩展单元中具备的存储器中以后,根据其程序代码的指示,其功能扩展卡或者功能扩展单元中具备的CPU等进行实际处理的一部分或者全部,通过其处理实现上述实施形态的功能的情况当然也包括在内。
本发明不限于上述实施形态,在不脱离本发明的精神以及范围内,能够进行各种变更以及变形。从而,为了公开本发明的范围,添加了以下的权利要求。
优先权的主张本发明以2004年4月2日提出的日本国专利申请特愿2004-126845号为基础,主张优先权,在这里引用其全部记载内容。
权利要求
1.一种通知方法,是第1连接装置连接第1网络和第2网络,第2连接装置连接第2网络和第3网络,向第3网络上连接的装置通知在第1网络上连接的设备的信息的通知方法,其特征在于第1连接装置识别在第1网络上连接的设备,经过第2网络向第2连接装置发送所识别的设备的信息,第2连接装置接收从第1连接装置发送的信息,根据接收到的信息,向第3网络发送表示能够利用所识别的设备的消息。
2.一种通知方法,是第1连接装置连接第1网络和第2网络,第2连接装置连接第2网络和第3网络,向第3网络上连接的装置通知对于第1网络上连接的设备的消息的目的地信息的通知方法,其特征在于第1连接装置取得对应于第1网络上连接的设备的消息的第1目的地信息,经过第2网络向第2连接装置发送所取得的第1目的地信息,第2连接装置接收从第1连接装置发送的第1目的地信息,在第2连接装置的识别符上添加对应于上述设备的识别符,生成对应于上述设备的消息的第2目的地信息,向第3网络发送包括所生成的第2目的地信息的消息。
3.根据权利要求2所述的通知方法,其特征在于第2连接装置当从第3网络上连接的装置接收到以上述第2目的地信息为目的地的第1发送消息后,向第1连接装置发送包括与上述第2目的地信息中包含的上述识别符相对应的上述第1目的地信息以及上述第1发送消息的内容的第2发送消息,第1连接装置接收从第2连接装置发送来的第2发送消息,以上述第1目的消息为目的地,发送包括上述第1发送消息的内容的第3发送消息。
4.根据权利要求1所述的通知方法,其特征在于第2连接装置从第2网络上连接的装置取得第1连接装置的信息,根据取得的信息,与第1连接装置连接。
5.一种连接装置,经过第2网络与第1网络和第2网络上连接的其它连接装置连接的同时,连接到第3网络,其特征在于包括第1连接单元,与第2网络连接;以及第2连接单元,与第3网络连接,接收给预定的目的地的消息,上述第1连接单元经过第2网络从上述其它连接装置接收对应于第1网络上连接的设备的消息的第1目的地信息,上述第2连接单元具有在上述预定的目的地上添加对应于上述设备的识别符,生成对应于上述设备的消息的第2目的地信息的生成单元,并向第3网络发送包括所生成的第2目的地信息的消息。
6.根据权利要求5所述的连接装置,其特征在于当从第3网络上连接的装置接收到以上述第2目的地信息为目的地的第1发送消息后,向第1连接装置发送包括与上述第2目的地信息中包含的上述识别符相对应的上述第1目的地信息以及上述第1发送消息的内容的第2发送消息。
7.一种通信方法,是经过第2网络与第1网络及第2网络上连接的其它连接装置连接的同时,连接到第3网络,并接收经过第3网络发送的给预定的目的地的消息的连接装置的通知方法,其特征在于经过第2网络从上述其它连接装置接收对应于第1网络上连接的设备的消息的第1目的地信息,在上述预定的目的地上添加对应于上述设备的识别符,生成对应于上述设备的消息的第2目的地信息,向第3网络发送包括所生成的第2目的地信息的消息。
8.根据权利要求7所述的通信方法,其特征在于当从第3网络上连接的装置接收到以上述第2目的地信息为目的地的第1发送消息后,向第1连接装置发送包括与上述第2目的地信息中包含的上述识别符相对应的上述第1目的地信息以及上述第1发送消息的内容的第2发送消息。
9.一种程序,其特征在于用于使计算机作为如权利要求5中记述的连接装置进行动作。
全文摘要
UPnP设备代理装置(103)识别网络(120)上连接的设备,向UPnP设备代理装置(101)发送所识别的设备的信息,UPnP设备代理装置(101)接收从UPnP设备代理装置(103)发送的信息,根据接收的信息,向网络(105)发送表示所识别的设备是可利用的消息。
文档编号H04L29/08GK1947106SQ20058001245
公开日2007年4月11日 申请日期2005年4月7日 优先权日2004年4月22日
发明者下野雅树, 藤井宪一, 平田隆 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1