著录项信息
专利名称 | 装置控制设备、客户端设备、装置控制方法和装置控制系统 |
申请号 | CN201080050211.6 | 申请日期 | 2010-11-02 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2012-07-18 | 公开/公告号 | CN102597974A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F13/00 | IPC分类号 | G;0;6;F;1;3;/;0;0查看分类表>
|
申请人 | 佳能成像系统株式会社 | 申请人地址 | 日本新潟县
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 佳能成像系统株式会社 | 当前权利人 | 佳能成像系统株式会社 |
发明人 | 远藤亮;宫下良介;根岸命 |
代理机构 | 北京魏启学律师事务所 | 代理人 | 魏启学 |
摘要
提供一种装置控制设备,其使得可以不必通过客户端设备进行装置监视(轮询),从而降低网络流量。装置服务器(200)根据用于识别本地连接至装置服务器(200)的装置的装置信息,获取用于监视基于装置信息所识别出的装置的状态变化的触发检测算法和定义文件中的至少一个,并且基于所获取的触发检测算法和定义文件中的至少一个监视本地连接的装置。然后,当检测到装置的状态变化时,装置服务器(200)经由网络(500)向客户端PC(100)发送表示检测到状态变化的触发通知,并且响应于来自接收到触发通知的客户端PC(100)的连接请求,开始与客户端PC(100)的会话。
1.一种装置控制设备,其经由网络与客户端设备连接,并且本地连接至装置,其中,所述装置控制设备虚拟地控制所述客户端设备和所述装置,如同所述客户端设备和所述装置经由所述装置控制设备直接相互连接,所述装置控制设备包括:
装置信息获取部件,用于获取用于识别本地连接至所述装置控制设备的装置的装置信息;
监视信息获取部件,用于根据所述装置信息获取部件所获取的装置信息,获取用于监视基于所述装置信息所识别出的装置的状态变化的触发检测算法和定义文件中的至少一个;
监视信息存储部件,用于存储所述监视信息获取部件所获取的触发检测算法和定义文件中的至少一个;
装置监视部件,用于基于存储在所述监视信息存储部件中的触发检测算法和定义文件中的至少一个,监视本地连接的所述装置,其中,所述定义文件是存储所述装置监视部件基于所述触发检测算法进行监视所需的信息的数据文件,所述触发检测算法是对监视所述装置的状态的执行过程进行描述的程序代码;
触发通知发送部件,用于在所述装置监视部件检测到所述装置的状态变化时进行操作,以经由所述网络向所述客户端设备发送表示检测到所述状态变化的触发通知,其中,所述触发通知被所述客户端设备用来开始所述客户端设备和所述装置控制设备之间的会话,并且所述会话构成所述客户端设备占用本地连接至所述装置控制设备的所述装置的通信;
以及
会话控制部件,用于响应于来自接收到所述触发通知的所述客户端设备的连接请求,开始与所述客户端设备的所述会话,其中,响应于所述客户端设备经由已经根据所述触发通知所开始的所述会话而判断为完成了包括唯一识别所述装置的信息的数据的发送或接收,所述客户端设备断开所述会话。
2.根据权利要求1所述的装置控制设备,其特征在于,当检测到所述装置的连接时,所述装置信息获取部件从所检测到的装置获取所述装置信息。
3.一种客户端设备,其经由网络连接至装置控制设备,所述装置控制设备本地连接至装置,所述客户端设备包括:
装置信息获取部件,用于从所述装置控制设备获取与本地连接至所述装置控制设备的装置有关的装置信息;
驱动器软件组件生成部件,用于基于所述装置信息获取部件所接收到的装置信息来识别与所述装置的数据的发送或接收所需的驱动器软件组件,并且生成所述驱动器软件组件;
虚拟控制部件,用于利用所述驱动器软件组件来虚拟地控制所述装置,如同所述装置直接连接至所述客户端设备;
监视信息存储部件,用于存储用于监视所述装置的状态变化的触发检测算法和定义文件中的至少一个,其中,所述触发检测算法有一个以上,所述定义文件有一个以上,所述定义文件是存储所述装置监视部件基于所述触发检测算法进行监视所需的信息的数据文件,所述触发检测算法是对监视所述装置的状态的执行过程进行描述的程序代码;
监视信息指定部件,用于从存储在所述监视信息存储部件中的触发检测算法和定义文件中的至少一个,指定适合基于所述装置信息获取部件所获取的装置信息而识别出的装置的触发检测算法和定义文件中的至少一个;
监视信息发送部件,用于将所述监视信息指定部件所指定的触发检测算法和定义文件中的至少一个发送至所述装置控制设备;
触发通知接收部件,用于从检测到所述装置的状态变化的所述装置控制设备接收表示检测到所述装置的状态变化的触发通知;以及
会话控制部件,用于响应于所述触发通知接收部件所接收到的触发通知,开始与所述装置控制设备的会话,其中,响应于所述客户端设备经由已经根据所述触发通知所开始的所述会话而判断为完成了包括唯一识别所述装置的信息的数据的发送或接收,断开所述会话。
4.一种由装置控制设备执行的装置控制方法,其中,所述装置控制设备经由网络与客户端设备连接,并且所述装置控制设备本地连接至装置,其中,所述装置控制设备虚拟地控制所述客户端设备和所述装置,如同所述客户端设备和所述装置经由所述装置控制设备直接相互连接,所述装置控制方法包括以下步骤:
装置信息获取步骤,用于获取用于识别本地连接至所述装置控制设备的装置的装置信息;
监视信息获取步骤,用于根据在所述装置信息获取步骤中获取的装置信息,获取用于监视基于所述装置信息所识别出的装置的状态变化的触发检测算法和定义文件中的至少一个;
监视信息存储步骤,用于存储在所述监视信息获取步骤中获取的触发检测算法和定义文件中的至少一个;
装置监视步骤,用于基于在所述监视信息存储步骤中存储的触发检测算法和定义文件中的至少一个,监视本地连接的所述装置,其中,所述定义文件是存储所述装置监视步骤基于所述触发检测算法进行监视所需的信息的数据文件,所述触发检测算法是对监视所述装置的状态的执行过程进行描述的程序代码;
触发通知发送步骤,用于在所述装置监视步骤中检测到所述装置的状态变化时,经由所述网络向所述客户端设备发送表示检测到所述状态变化的触发通知,其中,所述触发通知被所述客户端设备用来开始所述客户端设备和所述装置控制设备之间的会话,并且所述会话构成所述客户端设备占用本地连接至所述装置控制设备的所述装置的通信;以及会话控制步骤,用于响应于来自接收到了所述触发通知的所述客户端设备的连接请求,开始与所述客户端设备的会话,其中,响应于所述客户端设备经由已经根据所述触发通知所开始的所述会话而判断为完成了包括唯一识别所述装置的信息的数据的发送或接收,所述客户端设备断开所述会话。
5.根据权利要求4所述的装置控制方法,其特征在于,在所述装置信息获取步骤中,当检测到所述装置的连接时,从所检测到的装置获取所述装置信息。
6.一种由客户端设备执行的装置控制方法,其中,所述客户端设备经由网络连接至装置控制设备,所述装置控制设备本地连接至装置,所述装置控制方法包括以下步骤:
装置信息获取步骤,用于从所述装置控制设备获取与本地连接至所述装置控制设备的装置有关的装置信息;
驱动器软件组件生成步骤,用于基于所述装置信息获取步骤所接收到的装置信息来识别与所述装置的数据的发送或接收所需的驱动器软件组件,并且生成所述驱动器软件组件;
虚拟控制步骤,用于利用所述驱动器软件组件来虚拟地控制所述装置,如同所述装置直接连接至所述客户端设备;
监视信息存储步骤,用于存储用于监视所述装置的状态变化的触发检测算法和定义文件中的至少一个,其中,所述触发检测算法有一个以上,所述定义文件有一个以上,所述定义文件是存储所述装置控制设备基于所述触发检测算法进行监视所需的信息的数据文件,所述触发检测算法是对监视所述装置的状态的执行过程进行描述的程序代码;
监视信息指定步骤,用于从在所述监视信息存储步骤中存储的触发检测算法和定义文件中的至少一个,指定适合基于在所述装置信息获取步骤中获取的装置信息而识别出的装置的触发检测算法和定义文件中的至少一个;
监视信息发送步骤,用于将在所述监视信息指定步骤中指定的触发检测算法和定义文件中的至少一个发送至所述装置控制设备;
触发通知接收步骤,用于从检测到所述装置的状态变化的所述装置控制设备接收表示检测到所述装置的状态变化的触发通知;以及
会话控制步骤,用于响应于在所述触发通知接收步骤中接收到的触发通知,开始与所述装置控制设备的会话,其中,响应于所述客户端设备经由已经根据所述触发通知所开始的所述会话而判断为完成了包括唯一识别所述装置的信息的数据的发送或接收,断开所述会话。
7.一种装置控制系统,其包括装置控制设备和客户端设备,其中,所述装置控制设备和所述客户端设备经由网络相互连接,并且被配置成装置本地连接至所述装置控制设备,其中,所述装置控制设备虚拟地控制所述客户端设备和所述装置,如同所述客户端设备和所述装置经由所述装置控制设备直接相互连接,
其中,所述装置控制设备包括:
装置信息获取部件,用于获取用于识别本地连接至所述装置控制设备的装置的装置信息;
监视信息获取部件,用于根据所述装置信息获取部件所获取的装置信息,获取用于监视基于所述装置信息所识别出的装置的状态变化的触发检测算法和定义文件中的至少一个;
第一监视信息存储部件,用于存储所述监视信息获取部件所获取的触发检测算法和定义文件中的至少一个;
装置监视部件,用于基于存储在所述第一监视信息存储部件中的触发检测算法和定义文件中的至少一个,监视本地连接的所述装置,其中,所述定义文件是存储所述装置监视部件基于所述触发检测算法进行监视所需的信息的数据文件,所述触发检测算法是对监视所述装置的状态的执行过程进行描述的程序代码;
触发通知发送部件,用于在所述装置监视部件检测到所述装置的状态变化时进行操作,以经由所述网络向所述客户端设备发送表示检测到所述状态变化的触发通知,其中,所述触发通知被所述客户端设备用来开始所述客户端设备和所述装置控制设备之间的会话,并且所述会话构成所述客户端设备占用本地连接至所述装置控制设备的所述装置的通信;
以及
会话控制部件,用于响应于来自接收到所述触发通知的所述客户端设备的连接请求,开始与所述客户端设备的会话,其中,响应于所述客户端设备经由已经根据所述触发通知所开始的所述会话而判断为完成了包括唯一识别所述装置的信息的数据的发送或接收,所述客户端设备断开所述会话,以及
其中,所述客户端设备包括:
装置信息获取部件,用于从所述装置控制设备获取与本地连接至所述装置控制设备的装置有关的装置信息;
驱动器软件组件生成部件,用于基于所述装置信息获取部件所接收到的装置信息来识别与所述装置的数据的发送或接收所需的驱动器软件组件,并且生成所述驱动器软件组件;
虚拟控制部件,用于利用所述驱动器软件组件来虚拟地控制所述装置,如同所述装置直接连接至所述客户端设备;
第二监视信息存储部件,用于存储用于监视所述装置的状态变化的触发检测算法和定义文件中的至少一个,其中,所述触发检测算法有一个以上,所述定义文件有一个以上,所述定义文件是存储所述装置控制设备基于所述触发检测算法进行监视所需的信息的数据文件,所述触发检测算法是对监视所述装置的状态的执行过程进行描述的程序代码;
监视信息指定部件,用于从存储在所述第二监视信息存储部件中的触发检测算法和定义文件中的至少一个,指定适合基于所述装置信息获取部件所获取的装置信息而识别出的装置的触发检测算法和定义文件中的至少一个;
监视信息发送部件,用于将所述监视信息指定部件所指定的触发检测算法和定义文件中的至少一个发送给所述装置控制设备;
触发通知接收部件,用于从检测到所述装置的状态变化的所述装置控制设备接收表示检测到所述装置的状态变化的触发通知;以及
会话控制部件,用于响应于所述触发通知接收部件所接收到的触发通知,开始与所述装置控制设备的会话,其中,响应于所述客户端设备经由已经根据所述触发通知所开始的所述会话而判断为完成了包括唯一识别所述装置的信息的数据的发送或接收,断开所述会话。
装置控制设备、客户端设备、装置控制方法和装置控制系统\n技术领域\n[0001] 本发明涉及一种装置控制设备、客户端设备、装置控制方法和装置控制系统,尤其涉及一种装配有用于经由网络控制装置的功能的装置控制设备、客户端设备、装置控制方法和装置控制系统。\n背景技术\n[0002] 随着网络的广泛使用,公开了一种用于使得能够通过网络上的客户端个人计算机(PC)使用传统上通过例如与PC的本地连接而使用的装置(外围装置)的装置服务器。\n[0003] 例如,提出了用于经由装置服务器使得网络上的客户端PC能够使用诸如打印机、存储器或扫描器等的装置作为共享装置的一些方法。\n[0004] 作为该方法之一,提出了这样一种方法,在该方法中,将专用应用程序软件(以下称为“实用程序”)预先装载进客户端PC中,并且在访问装置的情况下,用户操作预先装载的实用程序,使客户端PC将要访问的装置虚拟地识别为本地连接装置,从而使得用户可以从网络上的客户端PC如同该装置是本地连接装置一样地访问该装置。\n[0005] 在该方法中,需要用户的会话(连接)开始和结束操作,占用与装置服务器的会话,直到用户使用实用程序执行装置终止操作为止,这使得其它客户端PC不能使用该装置。\n[0006] 为了解决上述问题,公开了一种网络文件管理系统,在该网络文件管理系统下,装置服务器允许特定客户端PC仅在传送具有由块头所指定的数据长度的块数据期间,作为数据传送占用状态与装置进行数据传送。\n发明内容\n[0007] 技术问题\n[0008] 当然,专利文献1公开的网络文件管理系统使得多个客户端PC可以无需在客户端PC上执行手动操作的情况下共享装置。\n[0009] 然而,在连接客户端PC非常频繁地需要占用状态的装置的情况下,由于在客户端PC占用经由网络与其连接的一个装置的状态下该客户端PC不能使用其它装置的技术限制,所以客户端PC难以同时使用其它装置。\n[0010] 特别地,当装置是IC卡阅读器时,需要周期性询问(轮询)是否检测到了IC卡,即周期性进行装置监视处理(状态变化检测处理)。通常,通过安装在客户端PC中的装置驱动器执行装置监视处理。\n[0011] 为此,客户端PC经由网络频繁占用IC卡阅读器,并且在装置占用期间,网络流量明显增大。因此,希望使装置占用最小化。\n[0012] 此外,在频繁占用装置并且数据经常在网络上流动的状态下,数据易受黑客攻击。\n这在安全方面不是所期望的。\n[0013] 另外,当将上述装置监视处理(状态变化检测处理)配置成装置服务器仅存储适用于特定装置的触发检测算法以避免根据不同装置进行不同的处理的型号依赖性时,装置服务器丧失其通用性。另一方面,当将适用于系统中存在的各种装置的触发检测算法都存储在装置服务器中时,可以保持装置服务器的通用性。然而,装置服务器需要大容量的存储区域,这导致制造成本增大。\n[0014] 本发明的第一目的是提供一种装置控制设备、客户端设备、装置控制方法和装置控制系统,其中,装置控制设备设置有传统地在客户端设备中实现的装置监视处理(状态变化检测处理),因而装置控制设备在无需与客户端设备通信的情况下,独立监视装置的状态变化,并且当检测到装置的状态变化时,装置控制设备将检测到状态变化通知给客户端设备,从而不必通过客户端设备进行装置监视(轮询),并且使得可以降低网络流量。\n[0015] 本发明的第二目的是提供一种装置控制设备、客户端设备、装置控制方法和装置控制系统,其中,使用装置的状态变化作为触发,进行客户端设备和装置之间的通信,从而仅在客户端设备需要占用装置时,才使得客户端设备能够占用装置,由此降低了安全性弱点,并且即使频繁需要占用各装置,也使得客户端设备能够同时使用多个装置。\n[0016] 本发明的第三目的是提供一种装置控制设备、客户端设备、装置控制方法和装置控制系统,其中,从装置服务器动态安装或下载适用于当前监视的装置的触发检测算法和定义文件,因而装置服务器能够在保持其通用性的同时执行对各种装置的检测处理。\n[0017] 问题的解决方案\n[0018] 为了实现上述目的,根据本发明的第一方面,提供一种装置控制设备,其经由网络与客户端设备连接,并且本地连接至装置,所述装置控制设备包括:装置信息获取部件,用于获取用于识别本地连接至所述装置控制设备的装置的装置信息;监视信息获取部件,用于根据所述装置信息获取部件所获取的装置信息,获取用于监视基于所述装置信息所识别出的装置的状态变化的触发检测算法和定义文件中的至少一个;监视信息存储部件,用于存储所述监视信息获取部件所获取的触发检测算法和定义文件中的至少一个;装置监视部件,用于基于存储在所述监视信息存储部件中的触发检测算法和定义文件中的至少一个,监视本地连接的所述装置;触发通知发送部件,用于在所述装置监视部件检测到所述装置的状态变化时进行操作,以经由所述网络向所述客户端设备发送表示检测到所述状态变化的触发通知;以及会话控制部件,用于响应于来自接收到所述触发通知的所述客户端设备的连接请求,开始与所述客户端设备的会话。\n[0019] 为了实现上述目的,根据本发明的第二方面,提供一种客户端设备,其经由网络连接至装置控制设备,所述装置控制设备本地连接至装置,所述客户端设备包括:装置信息获取部件,用于从所述装置控制设备获取与本地连接至所述装置控制设备的装置有关的装置信息;监视信息存储部件,用于存储用于监视所述装置的状态变化的触发检测算法和定义文件中的至少一个,其中,所述触发检测算法有一个以上,所述定义文件有一个以上;监视信息指定部件,用于从存储在所述监视信息存储部件中的触发检测算法和定义文件中的至少一个,指定适合基于所述装置信息获取部件所获取的装置信息而识别出的装置的触发检测算法和定义文件中的至少一个;监视信息发送部件,用于将所述监视信息指定部件所指定的触发检测算法和定义文件中的至少一个发送至所述装置控制设备;触发通知接收部件,用于从检测到所述装置的状态变化的所述装置控制设备接收表示检测到所述装置的状态变化的触发通知;以及会话部件,用于响应于所述触发通知接收部件所接收到的触发通知,开始与所述装置控制设备的会话。\n[0020] 为了实现上述目的,根据本发明的第三方面,提供一种由装置控制设备执行的装置控制方法,其中,所述装置控制设备经由网络与客户端设备连接,并且所述装置控制设备本地连接至装置,所述装置控制方法包括以下步骤:装置信息获取步骤,用于获取用于识别本地连接至所述装置控制设备的装置的装置信息;监视信息获取步骤,用于根据在所述装置信息获取步骤中获取的装置信息,获取用于监视基于所述装置信息所识别出的装置的状态变化的触发检测算法和定义文件中的至少一个;监视信息存储步骤,用于存储在所述监视信息获取步骤中获取的触发检测算法和定义文件中的至少一个;装置监视步骤,用于基于在所述监视信息存储步骤中存储的触发检测算法和定义文件中的至少一个,监视本地连接的所述装置;触发通知发送步骤,用于在所述装置监视步骤中检测到所述装置的状态变化时,经由所述网络向所述客户端设备发送表示检测到所述状态变化的触发通知;以及会话控制步骤,用于响应于来自接收到了所述触发通知的所述客户端设备的连接请求,开始与所述客户端设备的会话。\n[0021] 为了实现上述目的,根据本发明的第四方面,提供一种由客户端设备执行的装置控制方法,其中,所述客户端设备经由网络连接至装置控制设备,所述装置控制设备本地连接至装置,所述装置控制方法包括以下步骤:装置信息获取步骤,用于从所述装置控制设备获取与本地连接至所述装置控制设备的装置有关的装置信息;监视信息存储步骤,用于存储用于监视所述装置的状态变化的触发检测算法和定义文件中的至少一个,其中,所述触发检测算法有一个以上,所述定义文件有一个以上;监视信息指定步骤,用于从在所述监视信息存储步骤中存储的触发检测算法和定义文件中的至少一个,指定适合基于在所述装置信息获取步骤中获取的装置信息而识别出的装置的触发检测算法和定义文件中的至少一个;监视信息发送步骤,用于将在所述监视信息指定步骤中指定的触发检测算法和定义文件中的至少一个发送至所述装置控制设备;触发通知接收步骤,用于从检测到所述装置的状态变化的所述装置控制设备接收表示检测到所述装置的状态变化的触发通知;以及会话步骤,用于响应于在所述触发通知接收步骤中接收到的触发通知,开始与所述装置控制设备的会话。\n[0022] 为了实现上述目的,根据本发明的第五方面,提供一种装置控制系统,其包括装置控制设备和客户端设备,其中,所述装置控制设备和所述客户端设备经由网络相互连接,并且被配置成装置本地连接至所述装置控制设备,其中,所述装置控制设备包括:装置信息获取部件,用于获取用于识别本地连接至所述装置控制设备的装置的装置信息;监视信息获取部件,用于根据所述装置信息获取部件所获取的装置信息,获取用于监视基于所述装置信息所识别出的装置的状态变化的触发检测算法和定义文件中的至少一个;第一监视信息存储部件,用于存储所述监视信息获取部件所获取的触发检测算法和定义文件中的至少一个;装置监视部件,用于基于存储在所述第一监视信息存储部件中的触发检测算法和定义文件中的至少一个,监视本地连接的所述装置;触发通知发送部件,用于在所述装置监视部件检测到所述装置的状态变化时进行操作,以经由所述网络向所述客户端设备发送表示检测到所述状态变化的触发通知;以及会话控制部件,用于响应于来自接收到所述触发通知的所述客户端设备的连接请求,开始与所述客户端设备的会话,以及其中,所述客户端设备包括:装置信息获取部件,用于从所述装置控制设备获取与本地连接至所述装置控制设备的装置有关的装置信息;第二监视信息存储部件,用于存储用于监视所述装置的状态变化的触发检测算法和定义文件中的至少一个,其中,所述触发检测算法有一个以上,所述定义文件有一个以上;监视信息指定部件,用于从存储在所述第二监视信息存储部件中的触发检测算法和定义文件中的至少一个,指定适合基于所述装置信息获取部件所获取的装置信息而识别出的装置的触发检测算法和定义文件中的至少一个;监视信息发送部件,用于将所述监视信息指定部件所指定的触发检测算法和定义文件中的至少一个发送给所述装置控制设备;触发通知接收部件,用于从检测到所述装置的状态变化的所述装置控制设备接收表示检测到所述装置的状态变化的触发通知;以及会话部件,用于响应于所述触发通知接收部件所接收到的触发通知,开始与所述装置控制设备的会话。\n[0023] 本发明的优点效果\n[0024] 根据本发明,装置控制设备设置有传统地在客户端设备中实现的装置监视处理(状态变化检测处理),因而在无需与客户端设备通信的情况下,独立监视装置的状态变化,并且当检测到装置的状态变化时,装置控制设备将检测到状态变化通知给客户端设备。\n因此,不必通过客户端设备进行装置监视(轮询),这使得可以降低网络流量。\n[0025] 根据本发明,使用装置的状态变化作为触发,建立客户端设备和装置之间的通信,因而仅在客户端设备需要占用装置时,才使得客户端设备能够占用装置,由此降低了安全性弱点,并且即使频繁需要占用装置,也使得客户端设备能够同时使用多个装置。\n[0026] 根据本发明,从装置控制设备动态安装或下载适用于当前监视的装置的触发检测算法和定义文件中的至少一个,因而装置控制设备可以在保持其通用性的同时执行对各种装置的检测处理。\n附图说明\n[0027] 图1是根据本发明第一实施例的装置控制系统的示意性框图。\n[0028] 图2是用于说明图1中的客户端PC 100的硬件结构和软件结构的框图。\n[0029] 图3是用于说明图1中的装置服务器200的硬件结构和软件结构的框图。\n[0030] 图4是在将装置300连接至装置服务器200时图3中的装置服务器200所执行的装置信息获取处理的流程图。\n[0031] 图5是由图1中的客户端PC 100所执行的与装置300相关联的虚拟化控制处理和用于发送定义文件115和触发检测算法116的发送处理的流程图。\n[0032] 图6是用于说明包含在图5的步骤S511所发送的定义文件115和触发检测算法\n116的安装协议的电子消息(包)的数据结构的图。\n[0033] 图7是用于说明图6中的定义文件115的数据结构的图。\n[0034] 图8是用于说明图7中的命令770的数据结构的图。\n[0035] 图9是图3中的装置服务器200所执行的装置信息获取之后的控制处理的流程图。\n[0036] 图10是在图9的步骤S910由装置服务器200所执行的触发检测处理的流程图。\n[0037] 图11是图1中的客户端PC 100所执行的数据发送/接收处理的流程图。\n[0038] 图12是用于说明在图9的步骤S907或者图11的步骤S1104所发送/接收的数据发送/接收包的数据结构的图。\n[0039] 图13是根据本发明第二实施例的装置控制系统的示意性框图。\n[0040] 图14是用于说明图13中的网络装置250的硬件结构和软件结构的框图。\n具体实施方式\n[0041] 下面将参考示出本发明的实施例的附图详细说明本发明。\n[0042] 下面说明本发明的第一实施例。\n[0043] 1.装置控制系统的结构\n[0044] 图1是根据本发明第一实施例的装置控制系统的示意性框图。\n[0045] 如图1所示,装置控制系统包括客户端PC 100(100A、100B)、装置服务器\n200(200A、200B)和装置300(300A、300B)。\n[0046] 装置服务器200和装置300经由符合诸如USB(通用串行总线)或IEEE 1394等的接口的连接线缆400相互连接。此外,装置服务器200和客户端PC(PC 100A、PC 100B)经由有线或无线网络500相互连接。\n[0047] 接着顺次说明形成图1的装置控制系统的设备。\n[0048] 2.客户端PC 100的结构\n[0049] 图2是用于说明图1中的客户端PC 100的硬件结构和软件结构的框图。\n[0050] 参考图2,客户端PC 100是根据本发明第一实施例的客户端设备的例子。客户端PC 100包括经由内部总线107相互连接的CPU 101、输入部102、显示部103、存储器104、通信部105和外部存储部106。\n[0051] CPU 101用作中央处理控制单元,并且执行存储在存储器104或外部存储部106中的预定程序,从而对客户端PC 100的操作进行整体控制。\n[0052] 输入部102用作操作部,经由输入部102,进行各种输入操作和指示操作等。输入部102包括键盘、鼠标等。\n[0053] 显示部103用作用于显示各种画面等的显示器。显示部103包含在客户端PC 100中,或者从外部连接至客户端PC 100。\n[0054] 存储器104用作包括ROM(只读存储器)和RAM(随机存取存储器)的存储区域。\n存储器104存储预定程序和数据。\n[0055] 通信部105提供与例如通过诸如以太网(Ethernet,注册商标)等的有线网络或者使用IEEE 802.11a或IEEE 802.11g的无线网络实现的网络500所采用的通信方法兼容的网络包发送/接收及通信控制用的接口。客户端PC 100可以经由通信部105进行与装置服务器200的数据发送/接收。\n[0056] 外部存储部106存储诸如OS 108、应用程序109、常驻模块110、装置驱动器111、USB类驱动器112、USB虚拟总线装置113、通信控制部114、定义文件115和触发检测算法\n116等的各种软件程序和各种类型的数据。\n[0057] 在CPU 101的控制下,将存储在外部存储部106中的软件程序和/或数据读取至存储器104,并且执行该软件程序和/或数据。\n[0058] 装置驱动器111、USB类驱动器112和USB虚拟总线装置113是通过利用常驻模块\n110获取和登记与装置300有关的装置信息所动态生成的驱动器软件组件。\n[0059] 应用程序109是用于经由驱动器软件组件(装置驱动器111、USB类驱动器112和USB虚拟总线装置113)和通信控制部114向装置300发送数据发送/接收请求的软件组件。\n[0060] 下面,将顺次详细说明常驻模块110、装置驱动器111、USB类驱动器112、USB虚拟总线装置113、通信控制部114、定义文件115和触发检测算法116。\n[0061] 常驻模块110是在OS 108启动时总是待机或运行的软件组件。常驻模块110与网络500上的装置服务器200进行数据发送/接收,从而识别与装置服务器200连接的装置300并且接收与装置300有关的装置信息。然后,常驻模块110基于所接收到的装置信息,唯一识别与装置300的数据发送/接收所需的驱动器软件组件(USB虚拟总线装置113、USB类驱动器112和装置驱动器111),并且顺次动态生成驱动器软件组件。\n[0062] 装置驱动器111是如下的软件组件:该软件组件响应于例如来自OS 108或应用程序109(以下称为“较高层软件”)的指示,生成要发送给装置300的控制命令,并且将来自装置300的对控制命令的响应发送给较高层软件。\n[0063] USB类驱动器112是如下的软件组件:该软件组件生成即插即用事件并且生成控制命令的发送/接收中使用的USB端口从而将装置驱动器111装载进上一层中。此外,USB类驱动器112是如下的软件组件:该软件组件将由装置驱动器111所生成的控制命令转换成USB包,以将USB包发送给USB虚拟总线装置113;以及将从USB虚拟总线装置113所接收到的USB包转换成控制命令,以将控制命令发送给装置驱动器111。\n[0064] USB虚拟总线装置113是如下的软件组件:该软件组件在经由装置驱动器111和USB类驱动器112从应用程序109接收到数据发送/接收请求时提供与将装置300直接连接至(本地连接至)客户端PC 100的情况下相同的行为(虚拟化控制)。该“虚拟化控制”使得能够以与将装置300本地连接至客户端PC 100的状态相同的状态进行数据发送/接收。\n[0065] 通信控制部114是如下的软件组件:该软件组件进行从USB虚拟总线装置113所接收到的USB包与经由装置服务器200和网络500所进行的通信用的网络包之间的协议转换,从而控制经由通信部105与装置服务器200的数据发送/接收。在经由USB虚拟总线装置113接收到从应用程序109所发送的数据发送/接收请求时,通信控制部114开始与装置服务器200的会话(连接),并且在完成数据发送/接收之后断开会话。\n[0066] 各定义文件115是用于存储与在装置服务器200对装置300执行监视时所需的触发检测算法116相关联的命令、信息等的数据文件(图7)。\n[0067] 各触发检测算法116是描述装置服务器200监视对象装置300并且检测装置300的状态变化的执行过程的程序代码。读取相关定义文件115以执行状态变化检测,并且根据上述执行过程执行与装置300相关联的监视处理(以下称为“触发检测处理”)。\n[0068] 定义文件115和触发检测算法116是用于监视装置300的一对监视程序(监视信息)。定义文件115和触发检测算法116均根据装置300的型号而不同。为此,客户端PC 100存储与各个装置300相对应的一个以上的定义文件115和一个以上的触发检测算法\n116。图2示出用于1~N的N个型号的定义文件115和触发检测算法116。\n[0069] 3.装置服务器200的结构\n[0070] 图3是用于说明图1中的装置服务器200的硬件结构和软件结构的框图。\n[0071] 参考图3,装置服务器200是根据本发明第一实施例的装置控制设备的例子。装置服务器200包括经由内部总线206相互连接的CPU 201、存储器202、通信部203、USB接口\n204和外部存储部205。\n[0072] CPU 201、存储器202、通信部203和内部总线206在结构上与客户端PC 100的相同。\n[0073] USB接口204提供与装置300连接的接口。USB接口204用作符合例如USB(通用串行总线)规范的输入和输出接口。\n[0074] 外部存储部205存储诸如通信控制部207和装置控制部208等的软件功能单元以及数据。\n[0075] 在CPU 201的控制下,将存储在外部存储部205中的软件功能单元和/或数据读取至存储器202,并且执行该软件功能单元和/或数据。\n[0076] 下面将顺次详细说明通信控制部207和装置控制部208。\n[0077] 通信控制部207控制(开始和断开)与经由通信部203和网络500而连接的客户端PC 100的会话。通信控制部207进行发送至客户端PC 100的或从客户端PC 100所接收到的网络包与发送至装置300的或从装置300所接收到的USB包之间的协议转换,从而中介(中继)客户端PC 100和装置300之间的数据发送/接收。\n[0078] 装置控制部208是如下的功能单元:该功能单元存储定义文件209、触发检测算法\n210和装置信息211、并且在监视装置300的同时检测装置300的状态变化从而将检测到状态变化通知给客户端PC 100。\n[0079] 存储在装置控制部208中的定义文件209和触发检测算法210在结构上与存储在客户端PC 100的外部存储部106中的定义文件115和触发检测算法116相同。然而,装置服务器200存储仅用于监视(轮询)与装置服务器200所连接的装置300所需的定义文件\n209和触发检测算法210。\n[0080] 装置信息211是用于识别装置300的信息。装置信息211包括基于装置制造商所分配的用于识别各制造商的供应商ID(VID)、基于装置型号所分配的用于识别各型号的产品ID(PID)和基于装置所分配的用于识别各装置的序列号。例如,在将装置300连接至装置服务器200时,通过装置控制部208从装置300获取装置信息。\n[0081] 装置控制部208基于从装置300所获取的装置信息211,识别所连接的装置300的型号。此外,装置控制部208从客户端PC 100接收与所识别出的装置300的型号相关联的定义文件115和触发检测算法116,并且将所接收到的定义文件115和触发检测算法116存储在存储器202中,作为定义文件209和触发检测算法210。然后,装置控制部208使用所存储的定义文件209和触发检测算法210,以预定时间间隔对所连接的装置300执行后面参考图10所述的监视(轮询)处理,从而检测装置300的状态变化并且将所检测到的状态变化通知给客户端PC 100。\n[0082] 装置的状态变化包括例如对卡阅读器执行卡读取操作、按下打印机或扫描器的操作按钮等。客户端PC 100使用检测到装置300的状态变化作为触发,开始与装置服务器\n200的会话。\n[0083] 4.装置300的结构\n[0084] 装置300(300A、300B)是具有USB接口的通用输入和输出装置,例如是诸如卡阅读器或打印机等的单功能外围设备(SFP),或者是不仅装配有打印功能而且还装配有扫描功能、复制功能和存储功能的多功能外围设备(MFP)。然而,这不是限制性的,并且装置300可以是任何类型的装置。\n[0085] 此外,尽管在本实施例中,作为单独的设备形成装置服务器200和装置300,但是这不是限制性的,并且可以将装置服务器200和装置300整合成单个设备,以将装置服务器\n200容纳在装置300的机壳中。\n[0086] 在由上述设备所形成的图1的装置控制系统中,装置服务器200获取与所连接的装置300有关的装置信息,并且将装置信息发送给客户端PC 100。客户端PC 100基于所获取的与装置300有关的装置信息,从外部存储部106读出用于检测装置300的状态变化的定义文件115和触发检测算法116,并且将定义文件115和触发检测算法116发送给装置服务器200。装置服务器200将从客户端PC 100接收到的定义文件115和触发检测算法116作为定义文件209和触发检测算法210存储在装置控制部208中,并且使用定义文件209和触发检测算法210监视(轮询)装置300。在检测到装置300的状态变化时,装置控制部\n208经由通信控制部207和通信部203,向客户端PC 100发送表示检测到状态变化的信息(以下称为“触发通知”)。在从装置服务器200接收到触发通知时,客户端PC 100开始与装置服务器200的会话,并且经由装置服务器200与装置300进行数据发送/接收。\n[0087] 5.在将装置300连接至装置服务器200时所执行的处理\n[0088] 图4是在将装置300连接至图3的装置服务器200时装置服务器200所执行的装置信息获取处理的流程图。\n[0089] 参考图4,在将装置300连接至装置服务器200时,装置服务器200执行该装置信息获取处理。\n[0090] 首先,装置控制部208经由USB接口204从装置300获取用于识别装置300的装置信息,并且将装置信息存储在装置控制部208中(步骤S401)。装置信息包括基于装置制造商的用于识别制造商的供应商ID(VID)、基于装置型号所分配的用于识别型号的产品ID(PID)和基于装置所分配的用于识别装置的序列号。\n[0091] 然后,装置控制部208判断从装置300所获取的装置信息是否存储了序列号(步骤S402)。\n[0092] 如果在步骤S402判断为所获取的装置信息没有存储序列号(步骤S402为“否”),则根据装置服务器200的固有信息和装置服务器200的连接端口固有信息,生成序列号,并且将该序列号添加至装置信息(步骤S403),随后终止该处理。另一方面,如果所获取的装置信息存储有序列号(步骤S402为“是”),则立即终止该处理。因此,即使在将没有存储各自的序列号的相同类型的多个装置300连接至装置服务器200时,也变得可以识别各装置300。\n[0093] 在本处理中,在将多个装置300连接至装置服务器200的情况下,以装置为单位重复进行该装置信息获取处理。\n[0094] 装置服务器200的固有信息是用于识别装置服务器200的信息。该固有信息包括例如分配给装置服务器200的IP地址、MAC地址、序列号(制造编号)等。然而,该固有信息不局限于这些信息项中的一个,而且可以是它们的任一组合。\n[0095] 装置服务器200的连接端口固有信息是用于识别装置服务器200的连接端口的信息。该连接端口固有信息包括例如装置服务器200中所设置的USB端口的编号和IEEE 1394端口的编号,但是不局限于此。\n[0096] 6.由客户端PC 100所执行的与装置300相关联的虚拟化控制处理和用于定义文件等的发送的发送处理\n[0097] 图5是由图1中的客户端PC 100所执行的与装置300相关联的虚拟化控制处理以及用于发送定义文件115和触发检测算法116的发送处理的流程图。\n[0098] 6-1.由客户端PC 100执行的与装置300相关联的虚拟化控制处理[0099] 参考图5,为了经由装置服务器200识别与网络500连接的装置300,客户端PC \n100中的常驻模块110经由通信部105向装置服务器200广播搜索包(步骤S501)。具体地,常驻模块110使用UDP(用户数据报协议)等协议经由装置服务器200进行搜索(询问)。\n[0100] 常驻模块110等待来自装置服务器200的响应(步骤S502)。如果没有来自装置服务器200的响应(步骤S502为“否”),则常驻模块110在不执行虚拟化控制处理的情况下终止该处理。\n[0101] 另一方面,如果存在来自装置服务器200的响应(步骤S502为“是”),则常驻模块\n110获取包含在来自装置服务器200的响应电子消息中的装置信息(描述符)(步骤S503)。\n[0102] 常驻模块110基于所获取的装置信息中所包含的、装置描述符中所描述的供应商ID(VID)和产品ID(PID)以及串描述符中所描述的序列号和装置名称来识别装置。此外,常驻模块110识别接口描述符中所描述的接口编号。基于与上述所识别出的各个装置有关的信息,常驻模块110唯一识别虚拟化控制处理所需的驱动器软件组件(USB虚拟总线装置\n113、USB类驱动器112和装置驱动器111)(步骤S504),然后顺次地动态生成驱动器软件组件(步骤S505~S507)。\n[0103] 此后,常驻模块110启动应用程序109,并且启动用于从应用程序109控制驱动器软件组件的接口(步骤S508)。因此,开始与装置300相关联的虚拟化控制处理。\n[0104] 6-2.由客户端PC 100所执行的用于发送定义文件等的发送处理\n[0105] 然后,客户端PC 100基于所获取的装置信息而识别装置300的类型(型号),并且判断在外部存储部106中是否存储了与装置300相关联的定义文件115和触发检测算法\n116(步骤S509)。\n[0106] 如果在外部存储部106中存储了与基于所获取的装置信息识别出的装置300相关联的定义文件115和触发检测算法116(步骤S 509为“是”),则客户端PC 100开始与装置服务器200的会话(步骤S510)。然后,客户端PC 100对以下参考图6所述的、包含与装置300相关联的定义文件115和触发检测算法116的用于安装的电子消息(包)进行编码,并且将该电子消息(包)发送给与装置300连接的装置服务器200(步骤S511)。在发送电子消息之后,客户端PC 100断开与装置服务器200的会话(步骤S512),随后终止该处理。\n[0107] 另一方面,如果在外部存储部106中没有存储与基于所获取的装置信息识别出的装置300相关联的定义文件115和触发检测算法116(步骤S 509为“否”),则客户端PC \n100进行错误通知(步骤S513),随后终止该处理。通过经由例如显示部103向用户通知没有存储相关联的定义文件115和触发检测算法116、并且提示用户安装定义文件115和触发检测算法116来实现错误通知。\n[0108] 7.用于安装的包的数据结构\n[0109] 图6是用于说明包含图5的步骤S511所发送的定义文件115和触发检测算法116的安装协议的电子消息(包)的数据结构的图。\n[0110] 该包包括签名数据610、电子消息大小620、命令ID 630、供应商ID 640、产品ID \n650、序列号660、定义文件115和触发检测算法116。\n[0111] 基于上述项中包括的供应商ID 640、产品ID 650和序列号660,可以唯一识别装置300的类型(型号)。从存储在外部存储部106中的N对定义文件115和触发检测算法\n116中,针对基于所获取的装置信息识别出的各装置300,选择相关联的一对定义文件115和触发检测算法116,并且将其存储在该包中。可以选择的对的数量不局限于一对,并且可以选择多对。\n[0112] 7-1.定义文件115的数据结构\n[0113] 图7是用于说明图6中的定义文件115的数据结构的图。\n[0114] 参考图7,定义文件115包含执行触发检测算法116所需的命令和信息。定义文件\n115包括数据长度710、分配给与触发检测算法116相关联的装置300的供应商ID 720和产品ID 730、接口编号740、命令数(n)750、用于基于来自装置300的响应判断装置300的状态是否改变的键信息760、以及用于描述与装置300相关联的触发检测处理(监视处理)所需的过程的一个以上的命令770。命令770具有按照上述顺序分别分配的标号1~n(n:\n命令数(n)750的值)。\n[0115] 7-2.命令的数据结构\n[0116] 图8是用于说明图7中的命令770的数据结构的图。\n[0117] 如图8所示,命令770包括命令大小810、由用于发出命令所需的USB标准所定义的传输类型820、要通过控制传输的Setup Token所发送的传输参数830、终点地址840、表示来自装置300的响应是否包含状态变化信息的键判断标志850、以及要向装置300发出的装置专用命令860。命令770存储用于发出一个命令的参数。\n[0118] 8.装置服务器200的控制流程\n[0119] 图9是图3中的装置服务器200所执行的装置信息获取之后的控制处理的流程图。\n[0120] 参考图9,装置服务器200装配有下面的四个功能:\n[0121] (1)用于向客户端PC 100通知从装置300所获取的装置信息的功能;\n[0122] (2)用于开始与客户端PC 100的会话、并且接收用于监视装置300所需的定义文件115和触发检测算法116的功能;\n[0123] (3)用于开始与客户端PC 100的会话、并且进行客户端PC100和装置300之间的数据发送/接收的功能;以及\n[0124] (4)用于以预定时间间隔监视(轮询)装置300、检测装置300的状态变化和向客户端PC 100发送触发通知的功能。\n[0125] 8-1.用于发送装置信息的处理\n[0126] 功能(1)对应于图9的步骤S901~S903。\n[0127] 装置服务器200判断是否从客户端PC 100接收到了连接请求(步骤S901)。当接收到了连接请求时(步骤S901为“是”),如果连接请求不是TCP连接请求,而是例如UDP连接请求(询问)(步骤S902为“否”),则装置服务器200将装置信息通知给客户端PC100(步骤S 903),并且重复进行步骤S901及随后的步骤。\n[0128] 8-2.TCP会话处理\n[0129] 功能(2)和功能(3)分别对应于图9的步骤S901~S902和步骤S904~S908。\n[0130] 装置服务器200判断是否从客户端PC 100接收到了连接请求(步骤S901)。当接收到了连接请求时(步骤S 901为“是”),如果连接请求是TCP连接请求(步骤S902为“是”),则装置服务器200开始与客户端PC 100的会话(步骤S904)。\n[0131] 然后,通信控制部207判断从客户端PC 100所接收到的电子消息(包)是用于安装定义文件115和触发检测算法116还是用于数据发送/接收(步骤S905)。\n[0132] 如果在步骤S905判断为电子消息是用于安装,则将电子消息中所包含的定义文件115和触发检测算法116分别作为定义文件209和触发检测算法210存储在装置控制部\n208中(步骤S906),然后处理进入步骤S908。\n[0133] 如果在步骤S905判断为电子消息是用于数据发送/接收,则向装置300发送/从装置300接收数据(步骤S907),然后处理进入步骤S908。下面将参考图12详细说明在步骤S907所发送/接收的数据的数据发送/接收包的数据结构。\n[0134] 在下面的步骤S908,断开与客户端PC 100的会话(步骤S908),并且重复进行步骤S901及随后的步骤。\n[0135] 8-3.触发检测处理\n[0136] 功能(4)对应于图9的步骤S901及步骤S909~S910。\n[0137] 当从客户端PC 100没有接收到连接请求,并且装置服务器200处于接收待机时(步骤S901为“否”),如果在装置控制部208中存储有与所连接的装置300相关联的定义文件209和触发检测算法210(步骤S909为“是”),则使用定义文件209和触发检测算法210执行以下参考图10所述的与装置300相关联的触发检测处理(监视处理)(步骤S910),然后重复进行步骤S901及随后的步骤。\n[0138] 图10是在图9的步骤S910中由装置服务器200所执行的触发检测处理的流程图。\n[0139] 参考图10,当开始触发检测算法210时,装置控制部208读入定义文件209,将定义文件209解码成图7所示的形式,然后在存储器202中设置触发检测处理(监视处理)所需的装置300的专用信息(步骤S1001)。\n[0140] 然后,装置控制部208判断分配给命令770的标号是否小于命令数(n)750的值(步骤S1002),从而判断该标号是否达到了定义文件209中所述的命令数(n)750的值(步骤S1002)。\n[0141] 如果在步骤S1002判断为该标号没有达到定义文件209中所述的命令数(n)750的值(步骤S1002为“是”),则读出存储器202中所设置的命令770之一,并且将命令770解码成图8所示的形式(步骤S1003)。\n[0142] 装置控制部208确定解码后的命令770中所述的传输类型820(步骤S1004)。装置控制部208基于该确定的结果设置传输参数830(步骤S1005),然后将设置了传输参数\n830和命令860的电子消息发送给装置300(步骤S1006)。\n[0143] 装置控制部208等待来自装置300的对在步骤S1006所发送的电子消息的响应。\n在接收到来自装置300的响应时(步骤S1007),装置控制部208判断命令770的键判断标志850是否有效(步骤S1008)。\n[0144] 如果在步骤S1008判断为命令770的键判断标志850有效(步骤S1008为“是”),则装置控制部208还判断所接收到的数据是否包含与键信息760一致的数据(步骤S1009)。\n[0145] 如果在步骤S1008判断为所接收到的数据包含与键信息760一致的数据(步骤S1009为“是”),则装置控制部208判断为检测到了装置300的状态变化,并且向客户端PC \n100发送触发通知(步骤S1010),随后终止该处理。\n[0146] 另一方面,如果在步骤S1008判断为命令770的键判断标志850无效(步骤S1008为“否”),或者如果在步骤S1009判断为所接收到的数据没有包含与键信息760一致的数据,则将标号增大1以读出下一命令(步骤S1011),此后,重复进行步骤S1002及随后的步骤。然后,当在步骤S1002判断为标号达到了定义文件209中所述的命令数(n)750的值时,这意为读出了所有命令770(即,没有检测到状态变化),则终止该处理。\n[0147] 9.用于数据发送/接收的客户端PC 100的控制\n[0148] 图11是图1中的客户端PC 100所执行的数据发送/接收处理的流程图。\n[0149] 经由装置栈(装置驱动器111、USB类驱动器112、USB虚拟总线装置113和通信控制部114)执行该处理。\n[0150] 参考图11,客户端PC 100等待,直到常驻模块110从装置服务器200接收到触发通知为止(步骤S1101)。\n[0151] 在从装置服务器200接收到触发通知时(步骤S1101为“是”),常驻模块110通知应用程序109接收到了触发通知。当应用程序109判断为需要与装置300进行数据发送/接收时,应用程序109经由通信控制部114开始与装置服务器200的TCP会话(步骤S1102)。\n[0152] 当开始与装置服务器200的会话失败时(步骤S1103为“否”),则终止该处理。\n[0153] 当开始与装置服务器200的会话成功时(步骤S1103为“是”),应用程序109经由装置栈(装置驱动器111、USB类驱动器112、USB虚拟总线装置113和通信控制部114)进行与装置服务器200的数据发送/接收(步骤S1104)。下面将参考图12详细说明在步骤S1104所发送/接收的数据发送/接收包的数据结构。\n[0154] 重复进行步骤S1104,直到完成数据发送/接收为止(步骤S1105为“否”)。\n[0155] 当完成了所有的数据发送/接收时(步骤S1105为“是”),客户端PC 100断开与装置服务器200的TCP会话(步骤S1106),随后终止该处理。\n[0156] 10.包的数据结构\n[0157] 图12是用于说明在图9的步骤S907或图11的步骤 1104所发送/接收的数据发送/接收包的数据结构的图。\n[0158] 参考图12,数据发送/接收包包括协议头1200和USB传输数据1210。装置控制部208分析该包以识别装置300。\n[0159] 协议头1200包括用于识别该系统所使用的协议的签名数据1201、电子消息大小\n1202、分配给要发出至装置服务器200的命令的命令ID 1203(bulk-in传输请求)、供应商ID(VID)1204、产品ID(PID)1205和序列号1206等。\n[0160] 可以通过协议头1200的上述项中所包括的供应商ID 1204、产品ID 1205和序列号1206唯一识别装置300。\n[0161] 如上所述,本实施例的装置服务器200装配有通常在客户端PC中实现的用于装置监视处理(状态变化检测处理)的功能,从而使得装置服务器200可以在无需与客户端PC \n100通信的情况下,独立监视装置300的状态变化,并且当检测到装置300的状态变化时,将所检测到的状态变化发送给客户端PC 100作为触发通知。因此,可以不必通过客户端PC \n100对装置300进行监视,这使得可以降低网络500的流量。\n[0162] 此外,根据本实施例的装置服务器200,由于使用装置300的状态变化作为触发,建立客户端PC 100和装置300之间的通信,所以客户端PC 100可以仅在需要时才占用装置300,这使得不仅可以降低安全性弱点,而且还使得即使频繁需要占用各装置300的话,可以同时使用多个装置300。\n[0163] 此外,根据本实施例的装置服务器200,客户端PC 100将适用于要监视的装置300的触发检测算法动态安装或下载至装置服务器200,从而可以在保持装置服务器200的通用性的同时执行对各种装置300的触发检测处理。\n[0164] 下面说明本发明的第二实施例。\n[0165] 第二实施例与装置服务器200装配有触发检测功能的上述第一实施例的区别在于,不是装置服务器200,而是装配有触发检测功能的网络装置对应于装置控制设备,并且检测其它装置的状态变化。网络装置包括与诸如LAN等的网络连接从而使得多个用户可以使用的装置(例如,网络打印机)。\n[0166] 通过将对装置服务器200的说明解释为对网络装置250的说明,参考图2和4~\n12所述的第一实施例的结构全部适用于第二实施例。\n[0167] 图13是根据本发明第二实施例的装置控制系统的示意性框图。\n[0168] 如图13所示,第二实施例的装置控制系统包括客户端PC100(100A、100B)、网络装置250、装置服务器200和装置300(300A、300B)。除以网络装置250替换装置服务器200A以外,本实施例的装置控制系统在结构上与参考图1所述的第一实施例的装置控制系统相同。\n[0169] 图14是用于说明图13中的网络装置250的硬件结构和软件结构的框图。\n[0170] 参考图14,网络装置250的特征在于装配有触发检测功能和在外部存储部255中设置有装置功能部262。除另外设置的装置功能部262以外,CPU 251、存储器252、通信部\n253、USB接口254、内部总线256、通信控制部257、装置控制部258、定义文件259、触发检测算法260和装置信息261均与相应的CPU 201、存储器202、通信部203、USB接口204、内部总线206、通信控制部207、装置控制部208、定义文件209、触发检测算法210和装置信息\n211相同。\n[0171] 如上所述,根据本实施例的网络装置250,通过装配相当于第一实施例的装置服务器200的触发检测功能的触发检测功能,网络装置250不仅能够作为装置进行其本身的功能,例如,类似于网络打印机,而且还能够监视与其本地连接的装置300(例如,卡阅读器),并且在检测到装置300的状态变化时,能够将检测到的状态变化发送给客户端PC 100作为触发通知。\n[0172] 注意,本发明不局限于上述实施例,并且在不脱离本发明的精神和范围的情况下,可以以各种形式来实现。\n[0173] 尽管以上将从客户端PC 100接收到的定义文件115和触发检测算法116作为定义文件209和触发检测算法210存储(安装)在装置服务器200或网络装置250(以下将两者通称为“装置服务器200”)中,但是,可以从经由USB接口204所连接的便携式存储介质获取定义文件115和触发检测算法116,并且将其存储在装置控制部208中。可选地,可以另外设置用于管理整个系统的管理服务器,从而使得经由网络从该管理服务器获取定义文件115和触发检测算法116,并且将其存储在装置控制部208中。\n[0174] 此外,如果将与先前已连接的装置的型号相同的型号的装置300连接至装置服务器200,并且与该型号相关联的定义文件209和触发检测算法210已存储(安装)在装置服务器200中,则装置服务器200无需存储从客户端PC 100所接收到的定义文件115和触发检测算法116。此外,装置服务器200可以通知客户端PC100不必发送定义文件115和触发检测算法116。\n[0175] 尽管在图10的步骤S1010,向单个客户端PC 100发送触发通知,但是这不是限制性的,而且可以向多个客户端PC 100发送触发通知。在这种情况下,装置服务器200可以允许多个客户端PC 100中发出了连接请求的第一客户端PC 100建立与装置300的连接。\n可选地,装置服务器200可以进行控制,以允许发出了连接请求的所有客户端PC 100中的预定数量的客户端PC100建立与装置300的连接。此外,当特定客户端PC 100由于电源关闭或故障而不能接收触发通知时,可以进行控制以使得可以将触发通知发送给作为可选发送目的地的另一客户端PC100。\n[0176] 在上述实施例中,说明了将与装置300相关联的定义文件115和触发检测算法116都存储在客户端PC 100中、并且装置服务器200从客户端PC 100接收定义文件115和触发检测算法116的方法(结构)。然而,本发明还可以采用下面的方法(结构):\n[0177] (1)预先将所需的触发检测算法116存储(预先装载)在装置服务器200中,并且仅将定义文件115存储在客户端PC 100中。在这种情况下,装置服务器200从客户端PC \n100仅接收与基于装置信息识别出的装置300的型号相关联的定义文件115。\n[0178] 对于例如下面的情况可以采用该结构:例如,由于对软件和硬件的规格和设计的依赖性、或者由于与系统的操作和管理有关的原因,对装置服务器200的访问受限,因此不可以接收和执行(或者安装)触发检测算法(程序代码)。该结构的优点在于,预先将触发检测算法(程序代码)存储在装置服务器中,这使得难以进行篡改。\n[0179] 在这种情况下,在图5的步骤S509,客户端PC 100不判断外部存储部106是否存储了触发检测算法116,而是仅判断外部存储部106是否存储了定义文件115。然后,仅将相关联的定义文件115发送给装置服务器200。换句话说,发送不包含图6中的“触发检测算法116”项的包。另一方面,在图9的步骤S 906,接收到该包的装置服务器200仅将定义文件115作为定义文件209存储在装置控制部208中。\n[0180] (2)可以将装置控制系统配置成仅当在装置服务器200中没有存储与所识别出的装置300的型号相关联的触发检测算法或定义文件时,装置服务器200才从例如客户端PC \n100获取所需的触发检测算法或者所需的定义文件。\n[0181] 此外,装置服务器200或客户端PC 100可以管理触发检测算法和定义文件,并且判断是否需要添加或更新触发检测算法或定义文件。利用该结构,装置服务器200可以仅在需要添加或更新时才获取全部或一部分触发检测算法和定义文件。\n[0182] 此外,可以将装置控制系统配置成装置服务器200访问客户端PC 100以下载(获取)触发检测算法和/或定义文件,而不是如上述实施例中一样从客户端PC 100接收触发检测算法和/或定义文件。在这种情况下,客户端PC 100仅需要向装置服务器200通知客户端PC 100存储有相关联的触发检测算法和/或定义文件。\n[0183] 还可以将多个定义文件与上述触发检测算法中的一个相关联,从而以相互相关联的方式控制多个装置300。例如,在以相互相关联的方式控制装置A和装置B的情况下,进行控制以使得在从这两个装置接收到触发通知之后,开始装置A的操作。\n[0184] 注意,本发明还可应用于将型号不同的多个装置300连接至装置服务器200的情况。在这种情况下,装置服务器200以型号为单位存储与各个装置相关联的定义文件和触发检测算法(多对)。然后,基于适于各装置的触发检测算法和定义文件的各组合来执行触发检测处理,从而可以检测各个装置的状态变化。\n[0185] 应该理解,还可以通过向系统或设备提供存储有实现上述实施例任一个的功能的软件的程序代码的存储介质、并且使该系统或设备的计算机(或者CPU或MPU)读出并执行存储在该存储介质中的程序代码来实现本发明的目的。\n[0186] 在这种情况下,从存储介质读取的程序代码本身实现上述实施例任一个的功能,因此,存储有该程序代码的计算机可读存储介质构成本发明。\n[0187] 此外,还可以通过使运行在计算机上的OS(操作系统)等基于该程序代码的指示进行部分或全部实际操作来实现上述实施例任一个的功能。\n[0188] 此外,通过将从存储介质读出的程序代码写入设置在插入计算机的扩展板上的存储器或设置在与计算机连接的扩展单元中的存储器中、然后使设置在该扩展板或扩展单元中的CPU等基于该程序代码的指示进行部分或全部实际操作,实现上述实施例任一个的功能。\n[0189] 用于提供该程序代码的存储介质的例子包括软盘(floppy,注册商标)、硬盘、磁光盘、诸如CD或DVD等的光盘、磁带、非易失性存储卡和ROM。可选地,可以经由网络下载该程序代码。\n[0190] 附图标记列表\n[0191] 100(100A、100B)客户端PC\n[0192] 101CPU\n[0193] 102输入部\n[0194] 103显示部\n[0195] 104存储器\n[0196] 105通信部\n[0197] 106外部存储部\n[0198] 107内部总线\n[0199] 108OS\n[0200] 109应用程序\n[0201] 110常驻模块\n[0202] 111装置驱动器\n[0203] 112USB类驱动器\n[0204] 113USB虚拟总线装置\n[0205] 114通信控制部\n[0206] 115定义文件\n[0207] 116触发检测算法\n[0208] 200(200A、200B)装置服务器\n[0209] 201CPU\n[0210] 202存储器\n[0211] 203通信部\n[0212] 204USB接口\n[0213] 205外部存储部\n[0214] 206内部总线\n[0215] 207通信控制部\n[0216] 208装置控制部\n[0217] 209定义文件\n[0218] 210触发检测算法\n[0219] 211装置信息\n[0220] 250网络装置\n[0221] 251CPU\n[0222] 252存储器\n[0223] 253通信部\n[0224] 254USB接口\n[0225] 255外部存储部\n[0226] 256内部总线\n[0227] 257通信控制部\n[0228] 258装置控制部\n[0229] 259定义文件\n[0230] 260触发检测算法\n[0231] 261装置信息\n[0232] 262装置功能部\n[0233] 300(300A、300B)装置\n[0234] 400连接线缆\n[0235] 500网络
法律信息
- 2020-10-23
未缴年费专利权终止
IPC(主分类): G06F 13/00
专利号: ZL 201080050211.6
申请日: 2010.11.02
授权公告日: 2016.02.10
- 2016-02-10
- 2012-09-19
实质审查的生效
IPC(主分类): G06F 13/00
专利申请号: 201080050211.6
申请日: 2010.11.02
- 2012-07-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-10-12
|
2003-09-02
| | |
2
| | 暂无 |
2001-07-17
| | |
3
| |
2004-03-31
|
2001-11-28
| | |
4
| |
2004-06-09
|
2003-11-21
| | |
5
| | 暂无 |
2000-07-31
| | |
6
| |
2001-08-01
|
2000-01-20
| | |
7
| |
2003-07-02
|
2001-12-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |