服务提供设备和控制服务提供设备的方法

文档序号:7925423阅读:197来源:国知局
专利名称:服务提供设备和控制服务提供设备的方法
技术领域
本发明涉及服务提供设备、客户站、包括这些设备和站的服务提 供系统、以及服务提供方法,它们经由通信介质提供预定的服务。
背景技术
近来,已经开发了称为通用即插即用(UPnP,商标)的协议, 以允许家庭中的个人计算机、其外围设备、以及消费电子产品相互通
另 一方面,已知从客户站接受对服务的请求并向该客户站提供服务 的服务提供设备。而且,与通过因特网的通信的广泛使用相一致,除了 个人计算机之外,已经开发了多种联网的设备。例如,包括个人数字助 理(PDA)和蜂窝电话的用户交互式设备,包括扫描仪、打印机、复印 机、和数码相机的图像处理装置,甚至是包括电视机、空调和冰箱的消 费电子产品等已经被快速地联网。
根据这一情形,为了改善联网设备的可用性和可操作性,已经提出 了多种协议,用于提供自动网络地址设定单元,搜索提供服务的联网设 备的搜索单元,以及用于控制网络设备的应用程序软件、使用软件、和 操作系统的自动安装单元。这些协议的示例包括上述的UPnP (商 标),其最初是由微软公司扶植的,日本商业机器和信息系统工业协 会(JBMIA)开发的BMLinks,以及由芊果计算机有限公司开发、 在OS X中支持的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,例如微软公司的\¥11^0\^@和苹果计算机有限公司的Mac OS 。此外,客户站100包括应用程序101,其是能够在OS 105上 运行的通用应用程序。
客户站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协i义的
UPnP协议处理单元204,作为HTTP处理单元202的较高层。
此外,打印机200实现由UPnP论坛建立的PrintBasic服务。 UPnP协议处理单元204具有分析打印作业和由服务定义的属性信息 并向打印机控制器206提交打印请求的功能。
图2示出了实现图1所示的客户站100和打印机200的功能的硬 件结构。如图2中所示,客户站100或打印机200包括中央处理单元 (CPU) 401,执行存储在只读存储器(ROM) 402或硬盘(HD ) 404中的软件(程序)。CPU 401通过执行软件来进行连接到系统总 线406的每个设备的整体控制。
随^/L访问存储器(RAM) 403用作CPU 401的主存储器和工作 区。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,作为控制阶段的处理,控制点(客户站IOO)读取 第二描述数据,并将控制消息发送到服务的控制URL。在步骤 S404,作为事件阶段的处理,作为事件源的设备(打印机200)根据 改变将服务状态改变的通知发送到控制点(客户站100)。
在步骤S405,作为表示阶段的处理,设备(打印机200)将用于 浏览器的页面信息发送到控制点(客户站100)。因而,控制点(客 户站100)可以将所需要的页面传送到浏览器,以便允许用户经由浏 览器来控制设备(打印机200)。
下面将详细描述作为这一实施例中特有的处理的、图4的步骤 S402中的处理(描述阶段中的处理)。首先,下面将参考图4详细描 述打印机200在步骤S402中的处理。图7是图解说明打印机200在 图4的步骤S402中的详细处理的流程图。
如图7中所示,打印机200通过执行用于步骤S402中的处理 (即,描述阶段的处理)的程序来开始处理(步骤S700 )。在步骤 S701,打印机200确定客户站IOO是使用链接局部地址访问还是全局 地址访问来发送SSDP请求。如果打印才几200确定客户站100使用链 接局部地址访问(步骤S701的否),则处理继续到步骤S702,在该 步骤中,打印机200中的UPnP协议处理单元204的全局地址通知请 求单元请求客户站10.0通知全局地址。此后,在步骤S703,打印机 200确定客户站100是否响应于在步骤S702的请求返回了全局地 址。
如果打印机200确定客户站100返回了全局地址(步骤S703的
是),则处理继续到步骤S704,在该步骤中打印机200将打印机200 的控制URL发送至客户站100。处理随后继续到步骤S705,在该步 骤中,描述阶段完成。但是,如果打印机200确定客户站IOO使用全 局地址访问(步骤S701中的是),则打印机200的处理继续到步骤 S704。如果,在步骤S703,打印机200确定客户站100没有返回全 局地址(步骤S703的否),则处理继续到步骤S706,在该步骤中, 打印机200仅通知表示URL,而不通知控制URL。随后,处理继续 到步骤S705。
下面将详细描述客户站100在步骤S402的处理。图8是图解说 明客户站100在图4的步骤S402处的详细处理的流程图。链接局部 地址描述为"fe80:0000:0000:000(X接口 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是否具有全局地址。
如果确定客户站IOO具有全局地址(步骤S802的是),则处理继 续到步骤S803,在该步骤中,UPnP协i义处理单元103将全局地址的 通知发送至打印机200。随后处理继续到步骤S804。在步骤S804, 客户站100从打印机200接收控制URL。处理随后继续到步骤
S805。在步骤S805,客户站IOO终止描述阶段的处理。
但是,如果在步骤S801客户站100没有从打印机200接收到对 于全局地址通知的请求(步骤S801的否),则客户站100的处理继续 到步骤S804。如果在步骤S802中确定客户站100不具有全局地址, 则处理继续到步骤S806,在该步骤中,客户站100从打印机200接 收表示URL,并且处理继续到步骤S805。如上所述,在步骤S806 接收的表示URL是打印机200在图7的步骤S706发送给客户站100 的表示URL。
如图7和8中所示,通过执行描述阶段的处理,打印机200将控 制URL的通知发送至4吏用全局地址访问打印机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中所示的处理由CPU 401完成,该 CPU401执行关于从存储器读取的处理的程序。但是,本发明不限于 此。可选择的, 一些或全部所述的处理可以由专用的^^件来完成。而 且,上述存储器可以是计算机可读和计算机可写记录介质,包括例如 磁光盘单元和闪存的非易失性存储器、例如CD-ROM (只读光盘存 储器)的只读存储器、除了 RAM之外的易失性存储器、或他们的结 合。
结合图4、 7和8描述的功能可以通过计算机可读记录介质中执 行这些功能的记录程序和通过从记录介质读出程序并执行该程序的计 算机系统来完成。如此处所使用的,术语"计算机系统"是指操作系 统(OS)和包括外围设备的硬件。更具体的,上述实施例的功能可 以由下面的处理来完成在该处理中,在从记录介质中读出的程序存 储在插入计算机的另加的扩充卡的存储器中或连接到计算机的另加的 扩充单元的存储器中之后,所述另加的扩充卡或另加的扩充单元中的 CPU执行在上面的实施例中描述的一些或全部功能。
另外,术语"计算机可读记录介质"是指例如软盘、磁光盘、 ROM、 CD-ROM (只读光盘存储器)等可移除介质,和安装在计算 机系统中的存储器单元,例如硬盘。此外,术语"计算机可读记录介 质"包括对于预定的时间段保存有程序的存储器,例如安装在计算机 系统中的易失性存储器(RAM),所述计算机系统在经由诸如因特网 的网络和诸如电话线的通信线路传送所述程序时用作服务器和客户端。
此外,所迷程序可以经由传输介质或传输介质中的发射波从在存 储单元中存储程序的计算机系统传送到另 一个计算机系统。如此处所 使用的,术语"传输介质"是指能够发送信息的介质,包括例如因特 网的网络(通信网络)和例如电话线的通信线路(通信线)。
所述程序可以用来完成上述的一些功能。另外,所述程序可以是 一个与预存在计算机系统中的程序一起完成上述功能的程序,即该程
序可以是一个称为差(difference)文件的文件(差程序)。
此外,本发明可以应用到一个程序产品,其包括用于记录作为本 发明的实施例的程序的计算机可读记录介质。上述程序、记录介质、 传输介质、和程序产品都包括在本发明的精神和范围内。
尽管上面参照示例性实施例描述了本发明,但应当理解本发明 不限于所公开的实施例。相反,本发明旨在覆盖包括在所附权利要求 的精神和范围内的各种修改和等价的布置。随后的权利要求的范围将 被给予最宽的解释,从而包含所有这样的修改和等价结构和功能。
权利要求
1.一种用于向客户站提供服务的服务提供设备,包括检测单元,配置为检测客户站的访问;通知请求单元,配置为请求访问服务提供设备的客户站向服务提供设备通知该客户站的全局地址;确定单元,配置为确定客户站是否响应来自通知请求单元的请求向服务提供设备通知全局地址;和服务提供单元,配置为基于确定单元的确定结果向客户站提供服务;其中,如果确定单元确定客户站向服务提供设备通知全局地址,则与向通知链接局部地址的客户站所提供的服务相比,服务提供单元提供受限较少的服务。
2. 如权利要求1所述的服务提供设备,其中所述客户站和服务提 供设备之间的通信协议包括通用即插即用UPnP协议。
3. 如权利要求1所述的服务提供设备,其中由通知请求单元、确 定单元和服务提供单元执行的处理是在通用即插即用UPnP协议的描述 阶段执行的处理。
4. 一种控制服务提供设备的方法,所述服务提供设备用于向客户 站提供服务,所述方法包括步骤检测步骤,检测客户站的访问;通知请求步骤,请求访问服务提供设备的客户站向服务提供设备通 知该客户站的全局地址;确定步骤,确定客户站是否响应通知请求步骤的请求向服务提供设 备通知全局地址;和服务提供步骤,基于确定步骤的结果向客户站提供服务;其中,如果确定步骤确定客户站向服务提供设备通知全局地址,则在服务提供步骤中,与向通知链接局部地址的客户站所提供的服务相比,提供受限较少的服务。
5. 如权利要求4所述的控制服务提供设备的方法,其中所述客户 站和服务提供设备之间的通信协议是通用即插即用UPnP协议。
6. 如权利要求4所迷的控制服务提供设备的方法,其中在通知请 求步骤、确定步骤和服务提供步骤执行的处理是在通用即插即用UPnP 协议的描述阶段执行的处理。
全文摘要
本发明公开一种用于向客户站提供服务的服务提供设备和控制服务提供设备的方法,所述服务提供设备包括检测单元,配置为检测客户站的访问;通知请求单元,配置为请求访问服务提供设备的客户站向服务提供设备通知该客户站的全局地址;确定单元,配置为确定客户站是否响应来自通知请求单元的请求向服务提供设备通知全局地址;和服务提供单元,配置为基于确定单元的确定结果向客户站提供服务;其中,如果确定单元确定客户站向服务提供设备通知全局地址,则与向通知链接局部地址的客户站所提供的服务相比,服务提供单元提供受限较少的服务。
文档编号H04L12/00GK101350838SQ20081021505
公开日2009年1月21日 申请日期2005年6月7日 优先权日2004年6月8日
发明者饭塚纮子 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1