通信装置和命令发送方法转让专利

申请号 : CN200610083974.6

文献号 : CN100596362C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 下野雅树藤井宪一平田隆

申请人 : 佳能株式会社

摘要 :

本发明提供一种通信装置和命令发送方法。该通信装置通过第一协议获得通过网络与该通信装置连接的第一设备的状态,并接收通过该网络相互连接的该第一设备与第二设备之间的第二协议的消息。然后,该通信装置根据在接收该消息前后获得的该第一设备的状态,生成该第二协议的命令,并将其发送给该第二设备。

权利要求 :

1.一种通信装置,其包括:

获得部件,用于通过第一协议获得第一设备的状态,其中, 该第一设备通过网络与该通信装置连接;

接收部件,用于接收通过该网络相互连接的该第一设备与第 二设备之间的第二协议的消息;

协议记录表,用于存储以下内容:由所述接收部件接收到的 该第二协议的该消息;在所述接收部件接收到该第二协议的该消 息之前由所述获得部件获得的该第一设备的第一状态;以及在所 述接收部件接收到该第二协议的该消息之后由所述获得部件获得 的该第一设备的第二状态;

虚拟协议模块,用于基于存储在所述协议记录表中的该第二 协议的该消息、在所述接收部件接收到该第二协议的该消息之前 由所述获得部件获得的该第一设备的该第一状态和在所述接收部 件接收到该第二协议的该消息之后由所述获得部件获得的该第一 设备的该第二状态,创建用于将该第二设备的状态从与该第一状 态相对应的状态改变成与该第二状态相对应的状态的命令;以及发送部件,用于将由所述虚拟协议模块创建的该命令发送给 该第二设备。

2.根据权利要求1所述的通信装置,其特征在于,所述协议 记录表存储由所述获得部件获得的表示该第一设备的状态的数据 和由所述接收部件接收到的该消息,其中,该数据和该消息与该 第一设备的地址相关联。

3.根据权利要求1所述的通信装置,其特征在于,还包括命 令表,所述命令表存储表示是否可以通过该第一协议进行通信的 信息,其中,该信息与连接到该网络的各设备的地址相关联。

4.一种通信装置中的命令发送方法,其包括:

获得步骤,用于通过第一协议获得通过网络与该通信装置连 接的第一设备的状态;

接收步骤,用于接收通过该网络相互连接的该第一设备和第 二设备之间的第二协议的消息;

第一存储步骤,用于在协议记录表中存储以下内容:在所述 接收步骤中接收到的该第二协议的该消息;在所述接收步骤中接 收到该第二协议的该消息之前在所述获得步骤中获得的该第一设 备的第一状态;以及在所述接收步骤中接收到该第二协议的该消 息之后在所述获得步骤中获得的该第一设备的第二状态;

创建步骤,用于由虚拟协议模块基于在所述协议记录表中存 储的该第二协议的该消息、在所述接收步骤中接收到该第二协议 的该消息之前在所述获得步骤中获得的该第一设备的该第一状态 和在所述接收步骤中接收到该第二协议的该消息之后在所述获得 步骤中获得的该第一设备的该第二状态,创建用于将该第二设备 的状态从与该第一状态相对应的状态改变成与该第二状态相对应 的状态的命令;以及发送步骤,用于将在所述创建步骤中由所述虚拟协议模块创 建的该命令发送给该第二设备。

5.根据权利要求4所述的命令发送方法,其特征在于,在所 述第一存储步骤中存储在所述获得步骤中获得的表示该第一设备 的状态的数据和在所述接收步骤中接收到的该消息,其中,该数 据和该消息与该第一设备的地址相关联。

6.根据权利要求4所述的命令发送方法,其特征在于,还包 括第二存储步骤,所述第二存储步骤用于在命令表中存储表示是 否可以通过该第一协议进行通信的信息,其中,该信息与连接到 该网络的各设备的地址相关联。

说明书 :

技术领域

本发明涉及一种通信装置和命令发送方法。

背景技术

在各种配置和层中存在许多用于通信的协议。例如,国际标 准化组织(ISO)、国际电信联盟(ITU)等已将分层协议模型标 准化为七层OSI参考模型。根据该模型可以对协议进行分类。目前 因特网标准的IP是第三层(网络层)协议;TCP和UDP是第四层 (传输层)协议;HTTP、FTP、SMTP、POP等是第五层(会话 层)或更高层(会话层)协议。此外,还存在包括在网络设备和 家电产品中使用的UPnP的综合协议(integrated protocol)。在 网络设备和家电产品上安装这些通信协议已成为惯例,从而确保 各节点之间的可相互操作性(interoperability)。
然而,如上所述,存在各种通信协议,并且存在相互不同的 标准、规范和目的。此外,事实上,存在几种不同的协议来达到 相同的目的。
因此,在购买网络设备或家电产品时,用户必须选择在其上 安装有相同协议的产品。此外,即使当选择了其上安装有相同协 议的产品时,也可能由于协议本身的版本升级、安装在新产品上 的新的协议的出现等原因而不能确保这些设备之间或这些产品之 间的可相互操作性。
为了解决这样的问题,日本特开平8-97878号公报公开了一 种用于在采用不同协议的网络上的节点之间进行通信的技术。在 该文献中,公开了这样一种技术:使关于网络上的节点(设备) 使用哪种协议的信息与该设备的地址和协议的种类相关联,存储 该信息,并基于所存储的信息为各设备选择协议,从而进行通信。 为了实现该技术,必须在各设备上预先安装几种协议。在各设备 中,对可安装的协议的数量有限制,因而实际上不可能安装所有 已有的协议。此外,利用该技术,不可能对付未安装的协议和未 知的协议。
如上所述,在使用采用不同协议的网络设备和家电产品的情 况下,或即使在使用相同协议的情况下,由于版本的不同,也不 能确保网络设备和家电产品之间的可相互操作性。
此外,上述文献中所述的技术涉及产品出厂前典型采用的处 理方法,根本没有考虑产品出厂后的方法。为了将上述文献中所 述的技术应用于出厂后的产品,必须进行以下处理:例如,允许 用户更新产品的固件,或召回产品以重新写入产品的程序,这是 不合实际的。

发明内容

本发明的目的是解决传统技术的上述缺点。
此外,本发明的特征是提供一种与网络连接的网络设备或家 电产品等设备不更新该设备的固件,就可以对付未知协议的技术。
根据本发明,提供一种通信装置,该通信装置包括:
获得部件,用于通过第一协议获得第一设备的状态,其中, 该第一设备通过网络与该通信装置连接;
接收部件,用于接收通过该网络相互连接的该第一设备与第 二设备之间的第二协议的消息;
协议记录表,用于存储以下内容:由所述接收部件接收到的 该第二协议的该消息;在所述接收部件接收到该第二协议的该消 息之前由所述获得部件获得的该第一设备的第一状态;以及在所 述接收部件接收到该第二协议的该消息之后由所述获得部件获得 的该第一设备的第二状态;
虚拟协议模块,用于基于存储在所述协议记录表中的该第二 协议的该消息、在所述接收部件接收到该第二协议的该消息之前 由所述获得部件获得的该第一设备的该第一状态和在所述接收部 件接收到该第二协议的该消息之后由所述获得部件获得的该第一 设备的该第二状态,创建用于将该第二设备的状态从与该第一状 态相对应的状态改变成与该第二状态相对应的状态的命令;以及
发送部件,用于将由所述虚拟协议模块创建的该命令发送给 该第二设备。
此外,根据本发明,提供了一种通信装置中的命令发送方法, 该命令发送方法包括:
获得步骤,用于通过第一协议获得通过网络与该通信装置连 接的第一设备的状态;
接收步骤,用于接收通过该网络相互连接的该第一设备和第 二设备之间的第二协议的消息;
第一存储步骤,用于在协议记录表中存储以下内容:在所述 接收步骤中接收到的该第二协议的该消息;在所述接收步骤中接 收到该第二协议的该消息之前在所述获得步骤中获得的该第一设 备的第一状态;以及在所述接收步骤中接收到该第二协议的该消 息之后在所述获得步骤中获得的该第一设备的第二状态;
创建步骤,用于通过虚拟协议模块基于在所述协议记录表中 存储的该第二协议的该消息、在所述接收步骤中接收到该第二协 议的该消息之前在所述获得步骤中获得的该第一设备的该第一状 态和在所述接收步骤中接收到该第二协议的该消息之后在所述获 得步骤中获得的该第一设备的该第二状态,创建用于将该第二设 备的状态从与该第一状态相对应的状态改变成与该第二状态相对 应的状态的命令;以及
发送步骤,用于将在所述创建步骤中由所述虚拟协议模块创 建的该命令发送给该第二设备。
该发明内容没有列举出所有必要的特性。因而,这些特性组 的子组合也可以是本发明。
通过以下结合附图的说明,本发明的其它特征、目的和优点 是显而易见的,其中,相同的附图标记在全部附图中表示相同或 相似的部分。

附图说明

包括在说明书中并构成说明书的一部分的附图,示出了本发 明的实施例,并与说明书一起用来解释本发明的原理。
图1示出用于解释根据本发明一实施例的通信系统的整体结 构的图;
图2是示出根据本发明该实施例的各设备的控制器的硬件结 构的框图;
图3是示出根据该实施例的协议学习控制功能(protocol learning control function)的模块结构的框图;
图4是示出根据该实施例的命令表的例子的图;
图5是示出根据该实施例的协议记录表的例子的图;
图6是示出根据本发明该实施例的通信系统的结构的概念图;
图7示出用于解释根据本发明该实施例的通信系统(图6)中 的数据流和处理流的图;以及
图8示出用于解释在显示器(显示单元)(节点B)与数字照相 机(节点C)之间的图像数据传送序列(协议B)的图。

具体实施方式

以下将参照附图对本发明的优选实施例进行详细说明。应该 注意,以下所述的实施例不限制通过权利要求定义的本发明的范 围,并且,在实施例中所述的所有特征的组合不是本发明解决问 题所必不可少的。
图1示出用于解释根据本发明一实施例的通信系统的整体结 构的图。
在该通信系统中,连接到网络100的有:数字照相机101、数 字摄像机102、打印机103、扫描仪104、以及投影仪105。在本实 施例中,对将这些设备连接到网络100的情况进行说明,但是,本 发明不局限于此。
每个上述设备都具有执行安装在各设备上的程序所需的资 源,该资源包括运算功能(MPU、以及程序存储器等)和数据保 持功能(存储器等)。每一设备还具有控制设备本身的控制功能、 通过网络100与其它设备进行通信的通信功能、以及后面所述的协 议学习控制功能。这里应该注意,将对以下情况进行说明:基于 主处理单元(MPU)进行的控制,实现所述各种功能,其中根据 存储在存储器中的程序来执行该控制。
图2是示出根据本发明该实施例的上述各设备的控制器的硬 件结构的框图。为了实现照相机或打印机等功能,除图2中所示的 结构外,照相机、打印机和扫描仪等各设备均包括各自的功能。 例如,打印机包括打印机引擎,照相机包括镜头单元,图像处理 单元包括操作单元等。这里省略了对用于实现这些功能的结构的 说明。
附图标记200表示用于进行各单元之间的连接的输入/输出总 线(地址总线、数据总线和控制总线)。计时器201基于来自MPU 206的指令进行计时操作,并允许以指定的时间间隔生成中断。该 计时器具有所谓的看门狗计时器(watchdog timer)功能和计时 功能。ROM 202存储由MPU 206执行的程序代码和无变化的固定 数据。作为主存储器的RAM 203提供执行程序时的工作区。并行 I/O控制器204用以将由MPU 206处理的并行数据直接输入/输出 到外部设备。串行I/O控制器205用以在将由MPU 206处理的并行 数据转换成串行数据之后将其输出,或将接收到的串行数据转换 成并行数据。MPU 206顺序执行程序指令,并且同时执行中断控 制等。设备控制器207连接到硬盘和显示器(显示单元)等一般的 外部输入/输出设备,并控制这些设备。DMAC 208是DMA控制器, 并控制存储器与外部设备之间的DMA数据传送。A/D转换器209 接收模拟信号,并将其转换成数字信号。这里,接收由传感器等 传感到的模拟信号并将其数字化。D/A转换器210将数字信号转换 成模拟信号,并且使用转换后的信号来控制外部致动器 (actuator)等的操作。
图3是示出根据本实施例的协议学习控制功能300的模块结构 的框图。
协议学习控制功能300被安装在上述数字照相机101、数字摄 像机102、扫描仪103、打印机104和投影仪105等设备上。这里, 通过MPU 206和存储在ROM 202中的程序来实现协议学习控制 功能300。
协议学习控制功能300包括命令调度(command dispatch) 模块301、协议控制模块302、协议模块303、学习控制模块304、 虚拟协议模块305、表读取/写入模块306、协议监视模块307、命 令表308、以及协议记录表309。以下将对各模块进行详细说明。
命令调度模块301接受来自安装在如上述数字照相机101或 数字摄像机102等设备上的应用程序(存储在ROM 202中)的请 求。然后,命令调度模块301在激活产品出厂前所安装的已有协议 与激活通过学习获得的新的虚拟协议之间进行选择。命令调度模 块301访问后面说明的命令表308,从而判断是选择已有协议还是 选择新的虚拟协议。此外,命令调度模块301还具有基于上述判断 结果调用后面说明的协议控制模块302和学习控制模块304中的任 何一个的功能。
协议控制模块302控制后面说明的协议模块303。此外,协议 控制模块302还具有接受来自学习控制模块304的请求的功能和传 送该结果的功能。
协议模块303在其上安装有UPnP(Universal Plug and Play,通用即插即用)、Jini和Jxta等设备控制协议,并具有各协 议的功能。这里,假定在产品出厂前预先安装了协议,但是,本 发明不局限于这些协议。
学习控制模块304接受来自命令调度模块301的请求,并控制 后面说明的虚拟协议模块305。此外,学习控制模块304具有向协 议控制模块302发出请求的功能、控制协议监视模块307以开始或 停止网络消息等的监视的功能、以及接收来自协议监视模块307 的消息的功能。学习控制模块304控制后面说明的表读取/写入模 块306,并传送消息。响应于来自学习控制模块304的指令,虚拟 协议模块305通过网络100将消息发送给另一设备,并从另一设备 接收消息。
响应于来自学习控制模块304的指令,表读取/写入模块306 指示后面说明的命令表308和协议记录表309读取/写入数据,并基 于这些指令传送数据。
响应于来自学习控制模块304的指令,协议监视模块307监视 流过网络100的消息,并获得该消息。此外,协议监视模块307还 具有将该相同的消息发送给学习控制模块304的功能。命令表308 是用于以可检索数据永久存储后面说明的数据的数据库;可以检 索、读取/写入、添加或删除该数据库的内容。协议记录表309是 用于以可检索的数据永久存储后面说明的数据的数据库;可以检 索、读取/写入、添加或删除该数据库的内容。
图4是示出根据本实施例的命令表308的例子的图。
命令表308具有IP地址列401和Existing列402。对于每一列, 可以进行检索、读取/写入、添加和删除。这里,为IP地址列401 的每一内容唯一指定Existing列402的内容。与网络100连接的设 备的IP地址被存储在IP地址列401中。字符串“True”(表示安装有 已有协议)或字符串“false”(表示未安装已有协议)被存储在 Existing列402中。后面将对在Existing列402中使用“True”或 “false”的目的进行说明。
图5是示出根据本实施例的协议记录表309的例子的图。
协议记录表309具有IP地址列501、消息列502、before Stat 列503、afterStat列504、以及existingCommand列505。对于每 一列,可以进行内容的检索、读取/写入、添加和删除。为IP地址 列501的每一内容唯一指定消息列502、beforeStat列503、 afterStat列504、以及existingCommand列505的内容。与网络 100连接的设备的IP地址被存储在IP地址列501中。当前监视的流 过网络100的消息被存储在消息列502中。表示与网络100连接的 设备的状态的信息被存储在before Stat列503和afterStat列504 中。beforeStat列503表示在发送消息列502中所述的消息之前的 设备(通过IP地址指定的)的状态,afterStat列504表示在发送 该消息之后的设备的状态。设备的产品出厂前预先安装在该设备 上的协议的命令被存储在existingCommand列505中;该命令对 应于消息列502中所示的通过消息发送的内容。
将参照图4和5对本实施例的说明性例子进行说明。图5的附图 标记510表示具有IP地址为“192.168.0.11”的打印机103的协议记 录表309的条目。这里,在接收列502中所述的消息之前,打印机 103的状态为“空闲(idle)”;在接收列502中所述的消息之后,该 状态变为“处理中(processing)”。此外,参照条目510,在 existingCommand列505中存储用于指示打印机103进行打印的 相应命令“打印”,因为如果处于空闲状态的打印机103接收到“打 印”命令,则将打印机103的状态从“空闲”改变为“处理中”。
此外,图5的附图标记511表示具有IP地址为“192.168.0.20” 的扫描仪104的协议记录表309的条目。这里,在接收列502中所 述的消息之前,扫描仪104的状态为“空闲”;在接收列502中所述 的消息之后,该状态变为“处理中”。此外,参照条目511,在 existingCommand列505中存储用于指示扫描仪104进行扫描的 相应命令“扫描”,因为如果处于空闲状态的扫描仪104接收到“扫 描”命令,则将扫描仪104的状态从“空闲”改变为“处理中”。
此外,图5的附图标记512表示具有IP地址为“192.168.0.12” 的照明设备(未示出)的协议记录表309的条目。这里,在接收列 502中所述的消息之前,该照明设备的状态为“关闭”;在接收列502 中所述的消息之后,该状态变为“打开”。此外,参照条目512,在 existingCommand列505中存储用于指示该照明设备打开的相应 命令“lightOn”。
将参照图6对根据本实施例的通信系统中的处理流进行说明。
图6是示出根据本发明该实施例的通信系统的结构的概念图。
参照图6,节点A 600、节点B 601和节点C 602各对应于图1 的数字照相机101、数字摄像机102、打印机103、扫描仪104、投 影仪105等。然而,本发明不局限于上述设备。
这里,假定在节点A 600和节点B 601上安装作为已有协议的 协议UPnP,并且假定在节点B 601和节点C 602上安装作为新协 议的协议XMLWebService。然而,本发明不局限于上述协议。
这里,将对当节点A 600和节点B 601使用已有协议(协议 UPnP(以下称之为协议A)),而节点B 601和节点C 602使用新协 议(协议XMLWeb Service(以下称之为协议B))时的处理流进行 说明。更具体地,将对节点A 600学习通过节点B 601和节点C 602 之间的协议B通信的状态,从而节点A 600可以使用协议B的处理 流进行说明。
节点A 600的学习控制模块304指示节点A 600的协议控制模 块302获得节点B 601的状态。响应于该指示,节点A 600的协议 控制模块302通过协议A获得节点B 601的状态。节点A 600的学习 控制模块304接收由此获得的节点B 601的状态和节点B 601的IP 地址,将它们传送给节点A 600的表读取/写入模块306,并指示协 议记录表309来保持它们。表读取/写入模块306进行对节点A 600 的协议记录表309的IP地址列501和beforeStat列503的写入。
将参照图5对说明性例子进行说明。
这里,将对节点B 601为打印机103的情况进行说明。在初始 状态下,节点B 601在接收消息之前处于“空闲”状态。随后,打印 机103的IP地址被写入条目510的IP地址列501,并将接收前的状 态“空闲”记录在beforeStat列503。
随后,节点A 600的学习控制模块304指示节点A 600的协议 监视模块307监视并记录从节点C 602流到网络100的消息。当将 某一消息从节点C 602发送到节点B 601时,协议监视模块307获 得并保持该消息,并将其传送给学习控制模块304。在接收该消息 后,学习控制模块304指示节点A 600的表读取/写入模块306进行 写入。表读取/写入模块306将所获得的消息写入具有该IP地址(消 息发送目的地地址)的记录的消息列502。
在图5的例子中,消息的内容被记录在记录510的消息列502 上。
在指示写入该消息后,节点A 600的学习控制模块304指示节 点A 600的协议控制模块302与上述类似地获得节点B 601的状态。 响应于该指示,协议控制模块302通过协议A获得节点B 601的状 态。节点A 600的学习控制模块304接收由此获得的节点B 601的 状态和节点B 601的IP地址,将它们传送给节点A 600的表读取/ 写入模块306,并指示节点A 600的协议记录表309来保持它们, 由此表读取/写入模块306进行对与节点A 600的协议记录表309的 IP地址列501中的IP地址相对应的条目的afterStat列504的写入。
在图5的例子中,节点A 600识别出:在从节点C 602接收图5 的条目510的消息列502中所示的消息之后,将节点B 601的状态 从“空闲”变为“处理中”。于是,“处理中”被存储在条目510的 afterStat列504中。
通过该方式,节点A 600重复上述操作:获得节点B 601的状 态,将其记录在表309中,获得并记录从节点C 602发送到节点B 601的消息,并获得和记录节点B 601的状态。
通过重复上述操作,节点A的学习控制模块304使用表读取/ 写入模块306,从而读取记录在节点A 600的协议记录表309上的 数据。基于由此读取的数据,将从节点C 602接收消息之前的节点 B 601的状态与接收该消息之后的节点B 601的状态进行比较。然 后,从节点A 600具有的协议A(已有协议)的命令中选择出允许 发生这种状态改变的一个命令,并通过表读取/写入模块306将其 写入协议记录表309的existingCommand列505。
在图5的例子中,在条目510的existingCommand列505上记 录“打印”,该“打印”是允许将打印机103从“空闲”状态改变为“处理 中”的命令并是与协议A共用的命令。
通过该方式,节点A 600的学习控制模块304使用表读取/写入 模块306,从而记录节点B 601的IP地址。此外,节点A 600的学 习控制模块304将该IP地址记录在图4中所示的命令表308的IP地 址列401上,并在Existing列402上记录“True”(表示安装有协议A (已有协议))。此外,节点A 600的学习控制模块304将节点C 602 的IP地址记录在命令表308的IP地址列401上,并在Existing列 402上记录“false”(表示未安装协议A)。
对于其它设备,节点A 600通过与上述过程类似的过程,为协 议记录表309和命令表308类似地创建数据,使它们与各设备的IP 地址相关联,并将它们记录在该表的各条目上。
当从安装在数字照相机101、数字摄像机102等上的应用程序 接受请求时,节点A 600获得消息的目的地IP地址。然后,使用表 读取/写入模块306从命令表308的IP地址列401中具有相同值的条 目中获得Existing列402的内容。如果Existing列402的内容是 “True”,则判断出将要使用已有协议A,并激活协议控制模块302; 如果Existing列402的内容是“false”,则判断出将要使用协议B(新 协议),并将该命令传送给学习控制模块304。通过该方式,使用 Existing列402的内容,“True”和“false”,判断是使用协议A还是 使用协议B。
在接收该命令和IP地址后,学习控制模块304使用表读取/写 入模块306访问协议记录表309。然后,学习控制模块304进一步 从IP地址列501中具有相同的IP地址的条目中导出记录在 existingCommand列505上的命令,并且还从该条目的消息列502 中获得消息,并将该消息和该命令传送给虚拟协议模块305,由此 节点A 600的虚拟协议模块305利用消息列502的消息代替协议A 的命令“打印”,并将该消息通过虚拟协议B发送给例如节点C 602。
因而,基于在节点B 601与节点C 602通信时从节点B 601获 得的信息,节点A 600获得在节点B 601与节点C 602之间使用的 协议B的命令(虚拟协议B的命令)。因此,节点A 600可以通过虚 拟协议B与节点C 602进行通信。
在上述说明中,对图5的条目510的情况进行了说明。然而, 在条目记录511和512的情况下也可以类似地创建数据。
将参照图7中所示的流程图对上述节点A到C中的通信处理进 行说明。
图7示出用于解释根据本发明该实施例的通信系统(图6)中 的数据流和处理流的图。
在节点A 600中,学习控制模块304指示协议控制模块302获 得节点B 601的状态。响应于该指示,协议控制模块302通过协议 A询问(701)节点B 601其状态。在步骤702,协议控制模块302 接收从节点B 601发回的状态(在该例子中为“空闲”),并获得节 点B 601的状态。更具体地,通过以协议A(第一协议)与经由网 络100连接的节点B 601(第一设备)进行通信,节点A 600的协 议控制模块302获得节点B 601的状态。将由此获得的节点B 601 的状态记录(720)在与协议记录表309的节点B 601的IP地址相 对应的条目上。这里,将节点B 601的IP地址记录在协议记录表309 的IP地址列501上,并将所获得的状态记录在beforeStat列503上。
监视从节点C 602流到网络100的消息;当将某一消息703从 节点C 602发送到节点B 601时,节点B 601开始与该消息703相对 应的处理705。节点A 600的协议监视模块307获得(704)从节点 C 602发送到节点B 601的消息703,并将其传送给学习控制模块 304。更具体地,节点A 600的协议监视模块307获得通过经由网 络100连接的节点B 601与节点C 602(第二设备)之间的协议B(第 二协议)发送的消息703。于是,将所获得的消息703写入(721) 具有节点B 601的IP地址的条目510的协议记录表309的消息列 502中。
随后,在步骤706,节点A 600指示节点B 601获得节点B 601 的状态。在该状态,节点B 601已经开始了其处理705,因而已将 其状态从“空闲”改变为“处理中”。通过该方式,节点A 600通过协 议A获得(707)节点B 601的状态。更具体地,通过以协议A(第 一协议)与经由网络100连接的节点B 601(第一设备)进行通信, 节点A 600的协议控制模块302获得节点B 601的状态。这里,与 节点B 601的IP地址一起接收由此获得的节点B 601的状态,将该 节点B 601的状态传送给表读取/写入模块306,并将其记录(722) 在协议记录表309上。在对于节点B 601或其它节点进行上述处理 的情况下,使所接收到的多个消息和由该消息引起的节点的状态 变化与各节点的IP地址相关联,并将其记录在协议记录表309上。
随后,在步骤708,节点A 600的学习控制模块304使用表读 取/写入模块306读取记录在协议记录表309上的数据。基于由此读 取的数据,将从节点C 602接收消息前的节点B 601的状态与接收 该消息后的节点B 601的状态进行比较。然后,从节点A 600具有 的协议A的命令中选择允许发生这种状态变化的命令,并通过表读 取/写入模块306将其写入协议记录表309的existingCommand列 505中。
例如,在节点B 601是打印机的情况下,当接收到命令“打印” 时,将打印机的状态从“空闲”改变为“处理中”。因此,在图5的例 子中,在条目510的existingCommand列505上记录协议A的相应 命令“打印”。从而,将“false”记录在与节点C 602相对应的命令表 308的Existing列402上。更具体地,基于在接收消息703前后所 获得的节点B 601的状态变化,使消息703与协议A(第一协议) 的命令(该例子中为“打印”)相关联。
随后,在步骤709,虚拟协议模块305通过利用消息列502的 消息代替例如协议A的命令“打印”,创建虚拟协议B。随后,在步 骤710,判断是否指示与节点C 602进行通信。如果是,则流程进 入步骤711以确认与记录在命令表308上的节点C 602的IP地址相 对应的Existing列402的内容。这里,所记录的数据为“false”,因 此,根据在步骤709所创建的虚拟协议B(712),进行与节点C 602 的通信。具体地,例如,在节点C是扫描仪的情况下,如果希望通 过该扫描仪来扫描图像,则发送与记录在图5的条目511上的 existingCommand“扫描”相对应的消息列502的消息。更具体地, 基于在接收消息703前后所获得的节点B 601的状态变化,节点A 600的虚拟协议模块305创建协议B的命令,并将该命令发送给节 点C 602。更详细地,基于协议A的相关命令(例如,“扫描”)和 该消息,创建协议B的相应命令,并将其发送给节点C 602。
在图6的结构中,节点A到C可以是任何设备。特别地,通过 学习在各节点之间传送图像时所使用的协议,可以在处理图像(文 件等)的所有节点(设备)中得到有效利用。例如,在打印机接 收图像数据的情况下,这意味着打印,而在照相机的情况下,是 将该图像数据存储在其中。
图8示出用于解释显示器(显示单元)(节点B)与数字照相机 (节点C)之间的图像数据传送序列(协议B)的图。同样,在这 种情况下,意图是:节点A具有协议A,并监控节点B的状态,以 通过协议B进行通信。
假定在步骤801前节点A已经识别出节点B处于“空闲”状态。 与图7的步骤701和702类似,可以通过协议A从节点B 601获得该 状态。随后,在步骤801,从节点C发送表示存在作业的消息 (CreateJob)。在对该请求做出应答“OK”时(802),将节点B的 状态从“空闲”改变为“准备就绪”。节点A 600获得通过节点B 601 与节点C 602之间的协议B发送的消息(CreateJob)。节点A 600 通过协议A从节点B 601获得节点B 601的状态“准备就绪”。
随后,在步骤803,将待显示的数据(消息(Send))从节点 C发送到节点B。因而,节点B的状态从“准备就绪”切换到表示已 经接收到数据的模式“接收到”(开始显示)。节点A 600获得通过 节点B 601与节点C 602之间的协议B发送的消息(Send)。节点A 600通过协议A从节点B 601获得节点B 601的状态“接收到”(开始 显示)。
在获得这些信息并将其存储在协议记录表309中之后,节点A 确定与允许将显示器(节点B)的状态从“空闲”切换到“准备就绪” 的命令(801)相对应的协议A的命令。此外,节点A确定与允许 将显示器(节点B)的状态从“准备就绪”切换到“接收到”的命令 (803)相对应的协议A的命令。这些命令用以创建虚拟协议B, 从而使节点A与节点C(数字照相机)之间的通信成为可能。更具 体地,基于节点B的状态变化,节点A可以知道用以通过协议B发 送数据的命令(CreateJob,Send)。
为了将图像数据从节点A传送到节点C(数字照相机),首先, 将与协议B的“CreateJob”相对应的消息发送给节点C(照相机)。 在对该消息做出应答“OK”时,节点C(数字照相机)的状态从“空 闲”切换到“准备就绪”。
随后,将与已被附加了待保存的数据(图像)的协议B的“Send” 相对应的消息从节点A发送给节点C。因而,节点C的状态从“准备 就绪”切换到表示已经接收到数据的模式“接收到”(开始图像保 存)。更具体地,在通过协议B将数据发送给节点C时,节点A创建 基于节点B的状态变化学习的协议B的用于发送数据的命令,并将 其发送给节点C。
如上所述,通过预先创建的虚拟协议B,使节点A与节点C之 间的通信成为可能。
应该注意,本发明包括这样一种情况:将实现上述实施例的 功能的软件程序直接或远程提供给系统或装置,该系统或装置的 计算机读取并执行由此提供的程序代码,从而实现以上功能。在 这种情况下,程序功能无需具有程序的结构。因此,为了在计算 机中实现本发明的功能处理而被安装在计算机中的程序代码本身 同样实现了本发明。换句话说,本发明还包括用于实现本发明的 功能处理的计算机程序本身。在这种情况下,程序功能可具有任 何程序结构,例如,目标代码、由解释程序执行的程序、或提供 给操作系统的脚本数据。
用于提供程序的存储介质的例子包括:软盘(floppy,注册 商标)、硬盘、光盘、磁光盘、CD-ROM、非易失性存储卡、ROM、 以及DVD。还可以这样来提供该程序:使用客户计算机的浏览器 创建与因特网上的网站的连接,从而将本发明的计算机程序本身 或包含压缩后的自动安装功能的文件从该网站下载到硬盘等存储 介质。还可以这样来实现本发明:将构成本发明的程序的程序代 码分成多个文件,并从不同网站下载各文件。换句话说,在本发 明的权利要求中还包括允许将用于在计算机中实现本发明的功能 处理的程序文件下载给多个用户的WWW服务器。
此外,还可以这样来实现本发明:加密本发明的程序,将其 存储在CD-ROM等存储介质中,将该存储介质分发给用户,允许 满足预定要求的用户通过因特网从网站下载解密密钥信息,并允 许这些用户通过使用该密钥信息对加密的程序进行解密,从而将 该程序安装在用户计算机中。
除通过由计算机执行所读取的程序实现根据上述实施例的功 能的情况以外,基于该程序的指示运行在计算机上的操作系统等 也可以执行部分或全部实际处理,从而可以通过该处理实现上述 实施例的功能。
此外,在将从存储介质中读取的程序写入插入计算机中的功 能扩展板或与计算机连接的功能扩展单元中提供的存储器之后, 安装在该功能扩展板或该功能扩展单元上的CPU等基于该程序的 指示,执行全部或部分实际处理,从而可以通过该处理实现上述 实施例的功能。
本发明不局限于上述实施例,在本发明的精神和范围内,可 以做出各种改变和修改。因此,为了向公众告知本发明的范围, 做出以下权利要求。