服务提供系统、服务提供方法及其程序的制作方法

文档序号:7619251阅读:136来源:国知局
专利名称:服务提供系统、服务提供方法及其程序的制作方法
技术领域
本发明涉及服务提供设备、客户站、包括这些设备和站的服务提供系统、以及服务提供方法,它们经由通信介质提供预定的服务。
背景技术
近来,已经开发了称为通用即插即用(UPnP,商标)的协议,以允许家庭中的个人计算机、其外围设备、以及消费电子产品相互通信。
另一方面,已知从客户站接受对服务的请求并向该客户站提供服务的服务提供设备。而且,与通过因特网的通信的广泛使用相一致,除了个人计算机之外,已经开发了多种联网的设备。例如,包括个人数字助理(PDA)和蜂窝电话的用户交互式设备,包括扫描仪、打印机、复印机、和数码相机的图像处理装置,甚至是包括电视机、空调和冰箱的消费电子产品等已经被快速地联网。
根据这一情形,为了改善联网设备的可用性和可操作性,已经提出了多种协议,用于提供自动网络地址设定单元,搜索提供服务的联网设备的搜索单元,以及用于控制网络设备的应用程序软件、使用软件、和操作系统的自动安装单元。这些协议的示例包括上述的UPnP(商标),其最初是由微软公司扶植的,日本商业机器和信息系统工业协会(JBMIA)开发的BMLinks,以及由苹果计算机有限公司开发、在OSX中支持的Renedzvous。
但是,在UPnP(商标)当前的消息传送规范中,设备通知所有向该设备发送请求的控制点用于接收信息的URL(下文中,将URL称为控制URL)。在这样的规范中,设备向所有控制点通知控制URL,而没有访问限制。由于控制URL允许恶意的第三方访问控制服务器并且访问设备命令,因此设备有可能受到第三方的拒绝服务(DoS)攻击。也就是说,如果设备向未授权站通知控制URL,则该未授权站可以容易地连接到联网的设备,从而引起安全问题。

发明内容
本发明关注用于改善网络通信中的安全级别的服务提供系统、服务提供方法及其程序。
根据本发明的一个方面,用于控制服务提供设备的方法包括步骤确定服务提供设备是否已经获得访问服务提供设备的客户站的全局地址;当确定步骤确定服务提供设备还没有获得全局地址时,请求客户站通知该客户站的全局地址;和基于客户站是否响应于在请求步骤的请求而向服务提供设备通知了全局地址来向该客户站提供不同的服务。


从下面结合附图的描述中,本发明的其他特征和优点将会更加明显,其中在附图中,相同的附图标记指示相同和相似的部件。
图1是根据本发明实施例的协议控制系统的方框图。
图2示出了实现图1所示的客户站100或打印机200的功能的硬件结构。
图3示出了UPnP(商标)的第一至第六阶段。
图4是图3所示第一至第六阶段中的第二至第六阶段中控制点和设备之间的数据流图。
图5示出了根据该实施例、描述有关打印机200的信息的第一描述数据。
图6示出了根据该实施例、描述有关由打印机提供的服务的信息的第二描述数据。
图7是图解说明打印机在图4的步骤S402的详细处理的流程图。
图8是图解说明客户站在图4的步骤S402的详细处理的流程图。
具体实施例方式
下面将参考附图详细描述本发明的实施例。
把根据该实施例控制网络中的通信协议的协议控制系统作为示例进行描述。首先,将描述在经由网络提供打印服务的服务提供系统中使用的协议控制系统。图1是根据本发明实施例的协议控制系统(服务提供系统)的方框图。服务提供设备的示例包括打印机200、传真机、扫描仪、数码相机、蜂窝电话、复印机、和集成这些设备的多功能装置(未示出)。
如图1所示,客户站100经由网络300连接到打印机(服务提供设备)。而且,如图1所示,客户站100包括通用操作系统(OS)105,例如微软公司的Windows和苹果计算机有限公司的MacOS。此外,客户站100包括应用程序101,其是能够在OS105上运行的通用应用程序。
客户站100的UPnP(商标)协议处理单元103允许客户站100在网络300上发现设备、控制该设备、和通过使用UPnP协议基于XML(可扩展标记语言)和SOAP(简单对象访问协议)来获取该设备的状态。例如,当应用程序101是字处理器时,应用程序101创建的文档由打印机驱动器102转换为可打印数据,并由UPnP协议处理单元103作为打印作业提交到打印机。支持UPnP协议的打印机(例如,打印机200)连接到网络300并由UPnP协议处理单元103发现。
另一方面,打印机200是能够连接到网络300的联网设备。打印机200包括协议栈210,用于堆叠用于TCP(传输控制协议)、UDP(用户数据报协议)、IPv6(网际协议版本6)的协议。打印机200还用作服务提供设备,用于经由网络300提供打印服务。打印机200还包括HTTP处理单元202,作为协议栈201的较高层。HTTP处理单元202分析HTTP请求并执行其响应处理。打印机200还包括用于处理SOAP的SOAP处理单元203,和用于处理UPnP协议的UPnP协议处理单元204,作为HTTP处理单元202的较高层。
此外,打印机200实现由UPnP论坛建立的PrintBasic服务。UPnP协议处理单元204具有分析打印作业和由服务定义的属性信息并向打印机控制器206提交打印请求的功能。
图2示出了实现图1所示的客户站100和打印机200的功能的硬件结构。如图2中所示,客户站100或打印机200包括中央处理单元(CPU)401,执行存储在只读存储器(ROM)402或硬盘(HD)404中的软件(程序)。CPU401通过执行软件来进行连接到系统总线406的每个设备的整体控制。
随机访问存储器(RAM)403用作CPU401的主存储器和工作区。LAN卡405经由网络300执行客户站100(或打印机200)和另一个联网设备(或另一个网络站)之间的双向数据通信,所述网络300是局域网(LAN)。
下面将简要说明UPnP(商标)规范。如图3所示,UPnP具有六个阶段。图3示出了UPnP(商标)的这六个阶段。如此处所使用的,术语“控制点”是指属于UPnP(商标)网络的客户端,即这一实施例中的客户站100。而且,术语“设备”是指向UPnP(商标)网络提供一个服务或多个服务的设备,即这一实施例中的打印机200。
如图3中所示,在第一阶段,即寻址阶段,设备(打印机200)自动生成链接局部(link-local)地址并获得这一地址。然后,在第二阶段,即发现阶段(检测阶段),设备(打印机200)根据简单服务发现协议(SSDP)通告服务。从而,控制点(客户站100)可以发现这一设备(打印机200)。
在第三阶段,即在描述阶段,控制点(客户站100)获取设备(打印机200)的描述(参见下面描述的图5)和服务的描述(参见下面描述的图6)。如此处所使用的,描述是控制设备所需要的一组信息项。更具体的,描述包括表示URL(设备的GUI)、控制URL(控制服务器的入口点和设备命令的入口点),事件预约URL(设备的服务登记),和服务控制协议(SCP)描述(用于设备的语言)。
在第四阶段,即在控制阶段,控制点(客户站100)将控制消息发送给服务的控制URL。控制消息经由SOAP/HTTP协议发送。此后,在第五阶段,即事件(Eventing)阶段,事件目的地向事件源发送接受消息(预约消息),该事件源随后响应于服务状态的改变向事件目的地,即控制点(客户站100),发送状态改变的通知。
在第六阶段,即在表示(presentation)阶段,控制点(客户站100)从表示URL获取页面(设备的GUI),并将所获得的页面传送至浏览器,从而用户可以经由浏览器来控制该设备。通过处理上述的第一至第六阶段,客户站100可以获取有关UPnP(商标)网络300中打印机200的信息,以利用由打印机200提供的服务。
图4是图3所示的第一至第六阶段的第二至第六阶段中控制点(客户站100)和设备(打印机200)之间的数据流程图。如图4所示,在步骤S401,作为发现阶段中的处理,设备(打印机200)首先向控制点(客户站100)通告服务。
在步骤S402,作为描述阶段中的处理,控制点(客户站100)随后获取设备(打印机200)的描述(下文中称为“第一描述数据”),如图5所示,和服务的描述(下文中称为“第二描述数据”),如图6所示。图5示出了根据这一实施例描述有关打印机200的信息的第一描述数据的示例。图6示出了根据这一实施例描述有关由打印机200提供的服务的第二描述数据的示例。
在这一实施例中,在步骤S402,当获取有关设备(打印机200)的第一描述数据和有关服务(打印服务)的第二描述数据时,控制点(客户站100)执行本实施例特有的处理。下面将参考图7和8描述该特有处理的细节。首先,下面将简要描述该特有处理。
根据该实施例,客户站100可以具有两个地址由UPnP指定的链接局部地址,和在因特网世界中唯一的指定地全局地址。此处,链接局部地址总是在UPnP的寻址阶段被指定给一个实现UPnP的信息技术(IT)产品。链接地址被认为是低可信的地址,即非通用地址。相反,全局地址被认为是高可信的地址,即在因特网上唯一地指定的通用地址。
因此,通过确定从容户站100到打印机200的访问正在使用链接局部地址还是全局地址,打印机200可以改变许可给客户站100的控制区域,以便提高安全级别。从而,与已知的通信方法相比,在家庭中使用允许通信的协议(例如,UPnP(商标)协议)的PC、其外围设备、和消费电子产品之间的通信中,可以提高安全级别。
在步骤S403,作为控制阶段的处理,控制点(客户站100)读取第二描述数据,并将控制消息发送到服务的控制URL。在步骤S404,作为事件阶段的处理,作为事件源的设备(打印机200)根据改变将服务状态改变的通知发送到控制点(客户站100)。
在步骤S405,作为表示阶段的处理,设备(打印机200)将用于浏览器的页面信息发送到控制点(客户站100)。因而,控制点(客户站100)可以将所需要的页面传送到浏览器,以便允许用户经由浏览器来控制设备(打印机200)。
下面将详细描述作为这一实施例中特有的处理的、图4的步骤S402中的处理(描述阶段中的处理)。首先,下面将参考图4详细描述打印机200在步骤S402中的处理。图7是图解说明打印机200在图4的步骤S402中的详细处理的流程图。
如图7中所示,打印机200通过执行用于步骤S402中的处理(即,描述阶段的处理)的程序来开始处理(步骤S700)。在步骤S701,打印机200确定客户站100是使用链接局部地址访问还是全局地址访问来发送SSDP请求。如果打印机200确定客户站100使用链接局部地址访问(步骤S701的否),则处理继续到步骤S702,在该步骤中,打印机200中的UPnP协议处理单元204的全局地址通知请求单元请求客户站100通知全局地址。此后,在步骤S703,打印机200确定客户站100是否响应于在步骤S702的请求返回了全局地址。
如果打印机200确定客户站100返回了全局地址(步骤S703的是),则处理继续到步骤S704,在该步骤中打印机200将打印机200的控制URL发送至客户站100。处理随后继续到步骤S705,在该步骤中,描述阶段完成。但是,如果打印机200确定客户站100使用全局地址访问(步骤S701中的是),则打印机200的处理继续到步骤S704。如果,在步骤S703,打印机200确定客户站100没有返回全局地址(步骤S703的否),则处理继续到步骤S706,在该步骤中,打印机200仅通知表示URL,而不通知控制URL。随后,处理继续到步骤S705。
下面将详细描述客户站100在步骤S402的处理。图8是图解说明客户站100在图4的步骤S402处的详细处理的流程图。链接局部地址描述为“fe80:0000:0000:0000<接口ID>”(16进制数字),另一方面,全局地址从“001”(2位格式)开始。在RFC2374(http//www.ietf.org/rfc/rfc2374.txt)中描述了其细节。在这一实施例的步骤S701或图7的其他步骤中,通过提取包含在从源接收的包中的地址并检查所提取的包信息,程序可以确定所述源通知了一个链接局部地址还是一个全局地址。
如图8中所示,客户站100通过执行用于步骤S402的处理(即,描述阶段的处理)的程序开始进行处理(步骤S800)。在步骤S801,客户站100首先等待来自打印机200的、对于全局地址通知的请求。如上所述,从图7的步骤S702的处理发出对于全局地址通知的请求。
如果客户站100从打印机200接收到对于全局地址通知的请求(步骤S801的是),则处理继续到步骤S802,在该步骤中,客户站100的UPnP协议处理单元103中的全局地址通知处理单元104确定客户站100是否具有全局地址。
如果确定客户站100具有全局地址(步骤S802的是),则处理继续到步骤S803,在该步骤中,UPnP协议处理单元103将全局地址的通知发送至打印机200。随后处理继续到步骤S804。在步骤S804,客户站100从打印机200接收控制URL。处理随后继续到步骤S805。在步骤S805,客户站100终止描述阶段的处理。
但是,如果在步骤S801客户站100没有从打印机200接收到对于全局地址通知的请求(步骤S801的否),则客户站100的处理继续到步骤S804。如果在步骤S802中确定客户站100不具有全局地址,则处理继续到步骤S806,在该步骤中,客户站100从打印机200接收表示URL,并且处理继续到步骤S805。如上所述,在步骤S806接收的表示URL是打印机200在图7的步骤S706发送给客户站100的表示URL。
如图7和8中所示,通过执行描述阶段的处理,打印机200将控制URL的通知发送至使用全局地址访问打印机200客户站100,所述控制URL许可打印机200的高级别或细节级控制。相反,当客户站100访问打印机200而不发送全局地址的通知时(即,通过使用链接局部地址),则打印机200向客户站100通知表示URL,其将打印机200的访问限制到一个预定的范围。也就是说,向打印机200通知全局地址并访问该打印机200的客户站100可以执行打印机200的较高级和更精确级别的控制。因此,由于打印机200的控制级别对于仅向打印机200通知低可信的链接局部地址的客户站100可以是有限制的,因此能够提高安全级别。
此外,在较高的概念级,连接到网络的设备(打印机200)确定在UPnP(商标)的描述阶段,来自控制点(客户站100)的访问是使用链接局部地址的访问还是使用全局地址的访问。如果确定该访问是使用链接局部地址的访问,则设备请求控制点向该设备通知全局地址。如果控制点(客户站100)向设备通知了全局地址,则设备向控制点通知控制URL,该控制URL允许设备的整体控制。但是,如果控制点没有向设备通知全局地址,则设备不向控制点通知控制URL,而是只通知表示URL,该表示URL是设备的GUI并且其仅允许对设备的受限的访问。由此,通过将仅具有低可信(非通用)链接局部地址的IT产品与具有高可信(通用)全局地址的IT产品相区别,可以提高UPnP(商标)的安全级别。
另外,根据另一个实施例,下面将描述UPnP和IPv6在同一个网络共存的情形。在考虑到IPv6在未来的广泛使用时,期望这一情形。当UPnP和IPv6在同一个网络共存时,一些IT产品具有由UPnP和IPv6指定的链接局部地址和全局地址两者。就链接局部地址而言,链接局部地址总是在UPnP的寻址阶段被指定给实现UPnP的IT产品。因此,该地址是低可信的(非通用)。实现IPv6的IT产品总是自动生成链接局部地址。因此,该IT产品的地址也是低可信的(非通用)。本发明也可以应用于这样的情形。
上述实施例中图4、7和8中所示的处理由CPU401完成,该CPU401执行关于从存储器读取的处理的程序。但是,本发明不限于此。可选择的,一些或全部所述的处理可以由专用的硬件来完成。而且,上述存储器可以是计算机可读和计算机可写记录介质,包括例如磁光盘单元和闪存的非易失性存储器、例如CD-ROM(只读光盘存储器)的只读存储器、除了RAM之外的易失性存储器、或他们的结合。
结合图4、7和8描述的功能可以通过计算机可读记录介质中执行这些功能的记录程序和通过从记录介质读出程序并执行该程序的计算机系统来完成。如此处所使用的,术语“计算机系统”是指操作系统(OS)和包括外围设备的硬件。更具体的,上述实施例的功能可以由下面的处理来完成在该处理中,在从记录介质中读出的程序存储在插入计算机的另加的扩充卡的存储器中或连接到计算机的另加的扩充单元的存储器中之后,所述另加的扩充卡或另加的扩充单元中的CPU执行在上面的实施例中描述的一些或全部功能。
另外,术语“计算机可读记录介质”是指例如软盘、磁光盘、ROM、CD-ROM(只读光盘存储器)等可移除介质,和安装在计算机系统中的存储器单元,例如硬盘。此外,术语“计算机可读记录介质”包括对于预定的时间段保存有程序的存储器,例如安装在计算机系统中的易失性存储器(RAM),所述计算机系统在经由诸如因特网的网络和诸如电话线的通信线路传送所述程序时用作服务器和客户端。
此外,所述程序可以经由传输介质或传输介质中的发射波从在存储单元中存储程序的计算机系统传送到另一个计算机系统。如此处所使用的,术语“传输介质”是指能够发送信息的介质,包括例如因特网的网络(通信网络)和例如电话线的通信线路(通信线)。
所述程序可以用来完成上述的一些功能。另外,所述程序可以是一个与预存在计算机系统中的程序一起完成上述功能的程序,即该程序可以是一个称为差(difference)文件的文件(差程序)。
此外,本发明可以应用到一个程序产品,其包括用于记录作为本发明的实施例的程序的计算机可读记录介质。上述程序、记录介质、传输介质、和程序产品都包括在本发明的精神和范围内。
尽管上面参照示例性实施例描述了本发明,但应当理解本发明不限于所公开的实施例。相反,本发明旨在覆盖包括在所附权利要求的精神和范围内的各种修改和等价的布置。随后的权利要求的范围将被给予最宽的解释,从而包含所有这样的修改和等价结构和功能。
权利要求
1.一种服务提供系统,包括客户站;配置用来向客户站提供服务的服务提供设备;所述服务提供设备包括确定单元,配置用来确定服务提供设备是否已经获得访问服务提供设备的客户站的全局地址;通知请求单元,配置用来响应确定单元所确定的服务提供设备尚未获得全局地址,请求客户站向服务提供设备通知该客户站的全局地址;和服务提供单元,配置用来基于客户站是否响应于来自通知请求单元的请求向服务提供设备通知全局地址来向客户站提供不同的服务;和所述客户站包括检查单元,配置用来当从服务提供设备接收向服务提供设备通知全局地址的请求时,确定客户站是否保存有全局地址;和通知单元,配置用来响应于检查单元确定客户站保存有全局地址而向服务提供设备通知全局地址。
2.如权利要求1所述的服务提供系统,其中与尚未响应于来自通知请求单元的请求而向服务提供设备通知全局地址的客户站相比,所述服务提供设备的服务提供单元向已经响应于来自通知请求单元的请求而向服务提供设备通知全局地址的客户站提供较高级别的服务。
3.如权利要求2所述的服务提供系统,其中当客户站能够通过控制服务提供设备利用该服务并且服务提供设备向客户站提供控制服务提供设备所需的控制信息时,与尚未向服务提供设备通知全局地址的客户站相比,服务提供设备的服务提供单元向已经向服务提供设备通知全局地址的客户站提供较宽控制范围的控制信息。
4.如权利要求1所述的服务提供系统,其中所述客户站和服务提供设备用包括通用即插即用UPnP协议的通信协议相互通信。
5.如权利要求2所述的服务提供系统,其中所述客户站和服务提供设备用包括通用即插即用UPnP协议的通信协议相互通信。
6.如权利要求3所述的服务提供系统,其中由服务提供设备的确定单元、通知请求单元、和服务提供单元执行的处理以及由客户站的检查单元和通知单元执行的处理是在通用即插即用UPnP协议的描述阶段执行的处理。
7.一种服务提供系统中的服务提供方法,所述服务提供系统包括客户站和配置用来向客户站提供服务的服务提供设备,所述方法包括步骤通过服务提供设备确定服务提供设备是否已经获得访问服务提供设备的客户站的全局地址;通过服务提供设备响应确定步骤所确定的提供设备尚未获得全局地址,请求客户站向服务提供设备通知该客户站的全局地址;根据客户站是否响应于在请求步骤的请求向服务提供设备通知全局地址,通过服务提供设备向客户站提供不同的服务;响应于从服务提供设备接收到向服务提供设备通知全局地址的请求,通过客户站检查客户站是否保存有全局地址;和响应于检查步骤中所确定的客户站保存有全局地址,通过客户站向服务提供设备通知全局地址。
8.如权利要求7所述的服务提供方法,其中客户站和服务提供设备之间的通信协议是通用即插即用UPnP协议。
9.一种用于向客户站提供服务的服务提供设备,包括确定单元,配置用来确定服务提供设备是否已经获得访问服务提供设备的客户站的全局地址;通知请求单元,配置为当确定单元确定服务提供设备尚未获得全局地址时,请求客户站向服务提供设备通知该客户站的全局地址;和服务提供单元,配置为基于客户站是否响应于来自通知请求单元的请求向服务提供设备通知全局地址而向客户站提供不同的服务。
10.如权利要求9所述的服务提供设备,其中与尚未响应于来自通知请求单元的请求而向服务提供设备通知全局地址的客户站相比,所述服务提供单元向已经响应于来自通知请求单元的请求而向服务提供设备通知全局地址的客户站提供较高级别的服务。
11.如权利要求9所述的服务提供系统,其中当客户站能够通过控制服务提供设备利用该服务并且服务提供设备向客户站提供控制服务提供设备所需的控制信息时,与尚未向服务提供设备通知全局地址的客户站相比,服务提供单元向已经向服务提供设备通知全局地址的客户站提供较宽控制范围的控制信息。
12.如权利要求9所述的服务提供系统,其中所述客户站和服务提供设备之间的通信协议包括通用即插即用UPnP协议。
13.如权利要求9所述的服务提供系统,其中由确定单元、通知请求单元、和服务提供单元执行的处理是在通用即插即用UPnP协议的描述阶段执行的处理。
14.一种控制服务提供设备以向客户站提供服务的方法,包括步骤确定服务提供设备是否已经获得访问服务提供设备的客户站的全局地址;当确定步骤确定服务提供设备尚未获得全局地址时,请求客户站通知该客户站的全局地址;和基于客户站是否响应于在请求步骤的请求向服务提供设备通知全局地址而向客户站提供不同的服务。
15.如权利要求14所述的控制服务提供设备的方法,其中与尚未响应于来自通知请求步骤的请求而向服务提供设备通知全局地址的客户站相比,所述服务提供步骤向已经响应于来自通知请求步骤的请求而向服务提供设备通知全局地址的客户站提供较高级别的服务。
16.如权利要求14所述的控制服务提供设备的方法,其中当客户站能够通过控制服务提供设备利用该服务并且服务提供设备向客户站提供控制服务提供设备所需的控制信息时,与尚未向服务提供设备通知全局地址的客户站相比,服务提供步骤向已经向服务提供设备通知全局地址的客户站提供较宽控制范围的控制信息。
17.如权利要求14所述的控制服务提供设备的方法,其中所述客户站和服务提供设备之间的通信协议是通用即插即用UPnP协议。
18.如权利要求14所述的控制服务提供设备的方法,其中在确定步骤、请求步骤、和提供步骤执行的处理是在通用即插即用协议UPnP的描述阶段执行的处理。
19.一种计算机可读记录介质,其存储有用于使得计算机执行下面的方法步骤的控制程序确定计算机是否已经获得访问计算机的客户站的全局地址;当确定步骤确定计算机尚未获得全局地址时,请求客户站通知该客户站的全局地址;和基于客户站是否响应于在请求步骤的请求向计算机通知全局地址而向客户站提供不同的服务。
全文摘要
本发明公开一种控制服务提供设备的方法,包括步骤确定服务提供设备是否已经获得访问服务提供设备的客户站的全局地址;当确定步骤确定服务提供设备尚未获得全局地址时,请求客户站通知该客户站的全局地址;和基于客户站是否响应于在请求步骤的请求向服务提供设备通知全局地址而向客户站提供不同的服务。
文档编号H04L29/08GK1708007SQ20051007642
公开日2005年12月14日 申请日期2005年6月7日 优先权日2004年6月8日
发明者饭塚纮子 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1