首页> 中国专利> 软件管理装置、软件分发服务器、软件分发系统及软件安装方法

软件管理装置、软件分发服务器、软件分发系统及软件安装方法

摘要

一种软件管理装置、软件分发服务器、软件分发系统及软件安装方法。软件管理装置包括软件信息获取单元,当接收对将软件组件安装到由用户所指定的图像形成装置上的第一安装请求时,从软件分发服务器获取有关请求安装的软件组件的软件信息;请求生成单元,基于有关请求安装的软件组件的软件信息和有关所指定的图像形成装置的设备信息而生成对安装请求安装的软件组件的第二安装请求;以及请求发送单元,向所指定的图像形成装置发送第二安装请求,以使得请求安装的软件组件被安装在所指定的图像形成装置上。

著录项

  • 公开/公告号CN102024122A

    专利类型发明专利

  • 公开/公告日2011-04-20

    原文格式PDF

  • 申请/专利权人 株式会社理光;

    申请/专利号CN201010521047.4

  • 发明设计人 千代直贵;奈须政巳;

    申请日2010-09-14

  • 分类号G06F21/22;

  • 代理机构北京银龙知识产权代理有限公司;

  • 代理人许静

  • 地址 日本东京都

  • 入库时间 2023-12-18 02:05:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-07-10

    授权

    授权

  • 2011-06-08

    实质审查的生效 IPC(主分类):G06F21/22 申请日:20100914

    实质审查的生效

  • 2011-04-20

    公开

    公开

说明书

相关申请的交叉引用

本发明要求在日本于2009年9月15日提交的日本申请No.2009-213412的优先权,并通过引用其整体内容而并入。

技术领域

本发明一般地关注于软件管理装置、软件分发服务器、软件分发系统、软件安装方法。

背景技术

近年来,典型地配置图像形成装置,使得由用户或作为第三方的供货商开发的新附加应用软件(下文中,“应用”)能够安装到图像形成装置上。已经提出了多种用于将诸如应用的程序代码安装到多功能外设(Multifunctionperipheral,MFP)的技术(例如参见日本专利No.3602036)。

然而,当用户操作图像形成装置来执行安装时,传统技术是有缺陷的,因为需要将新软件组件安装到图像形成装置上的用户具有关于何种软件组件已经被安装到该图像形成装置上的知识,其将用户执行的安装操作变得复杂。

本发明考虑上述情况而做出,并且目的在于提供一种软件管理装置,其有利于由用户、软件分发服务器、软件分发系统、软件安装方法和计算机程序产品执行的安装操作。

发明内容

本发明的目的在于至少部分地解决传统技术中的问题。

根据本发明的一方面,提供了一种连接到软件分发服务器的软件管理装置,该软件分发服务器通过网络将软件组件分发到一个或多个图像形成装装置。软件管理装置包括:设备信息接收单元,在预定定时从外部实体接收设备信息,设备信息包含有关已安装在图像形成装置上的软件组件的已安装软件信息;设备信息存储单元,存储由设备信息接收单元所接收的设备信息;软件信息获取单元,当接收到用于将软件组件安装到用户所指定的图像形成装置上的第一安装请求时,从软件分发服务器获取有关请求安装的软件组件的软件信息;请求生成单元,基于有关请求安装的软件组件的软件信息和有关所指定的图像形成装置的设备信息,生成用于安装请求安装的软件组件的第二安装请求;以及请求发送单元,向所指定的图像形成装置发送第二安装请求,以使得请求安装的软件组件被安装在所指定的图像形成装置上。

根据本发明的另一方面,提供了软件分发服务器,经由网络连接到一个或多个图像形成装置以及管理软件组件的安装的软件管理装置,以及将软件组件分发到一个或多个图像形成装置,软件分发服务器包括:软件存储单元,存储软件组件和有关软件组件的软件信息;软件信息请求接收单元,从软件管理装置接收对有关请求安装的软件组件的软件信息的信息请求;软件信息提取单元,当接收到信息请求时,从软件存储单元提取有关请求安装的软件组件的软件信息;以及软件信息发送单元,向软件管理装置发送有关请求安装的软件组件的所提取的软件信息。

根据本发明的另一方面,提供了一种软件分发系统,包括:一个或多个图像形成装置;软件分发服务器,向所述一个或多个图像形成装置分发软件组件;以及软件管理装置,经由网络连接到图像形成装置,以及连接到软件分发服务器,并且管理对软件组件的安装,其中,图像形成装置在预定定时向软件管理装置发送包含有关已安装在图像形成装置上的软件组件的已安装软件的信息的设备信息;软件管理装置包括:设备信息接收单元,从所述一个或多个图像形成装置接收设备信息;设备信息存储单元,存储所接收的设备信息;软件信息获取单元,当接收到用于将软件组件安装到由用户所指定的图像形成装置上的第一安装请求时,向软件分发服务器发送对于有关请求安装的软件组件的软件信息的信息请求,以及从软件分发服务器接收有关请求安装的软件组件的软件信息;请求生成单元,基于有关请求安装的软件组件的软件信息以及有关所指定的图像形成装置的设备信息,生成安装请求安装的软件组件的第二安装请求;以及请求发送单元,向所指定的图像形成装置发送第二安装请求,以使得请求安装的软件组件被安装在所指定的图像形成装置上,以及所述软件分发服务器包括:软件存储单元,存储软件组件和有关软件组件的软件信息;软件信息请求接收单元,接收信息请求;以及软件信息发送单元,从软件存储单元获取有关在信息请求中所指定的请求安装的软件组件的软件信息,并向软件管理装置发送所获得的软件信息。

当结合附图而考虑时,通过阅读后面的对本发明的当前优选实施例的详细描述,将更好了解本发明的上述以及其他目的、特征、优点以及技术与产业的重要性。

附图说明

图1是根据本发明的第一实施例的软件分发系统的网络配置图;

图2是例示管理装置500的功能配置的框图;

图3是例示设备信息的示例数据结构的解释性图;

图4是例示软件信息的示例数据结构的解释性图;

图5是例示第二安装请求的示例数据结构的解释性图;

图6是例示软件分发服务器400的功能配置的框图;

图7是例示中介(intermediary)装置200的功能配置的框图;

图8是例示设备信息流的顺序图;

图9是例示用于根据第一实施例的安装处理的控制流程的顺序图;

图10是根据第一实施例的用于软件信息提取处理和安装请求创建处理的流程的流程图;

图11是例示软件信息提取的例子的解释性图;

图12是例示根据第一实施例的管理装置1200的功能配置的框图;

图13是例示根据本发明的第二实施例的软件分发服务器1300的功能配置的框图;

图14是例示根据第二实施例的用于安装处理的控制流程的顺序图;

图15是根据第二实施例由软件分发服务器执行的软件信息提取处理的流程的流程图;

图16是由管理装置1200执行的安装请求创建处理的流程的流程图;

图17是根据本发明的第三实施例的软件分发系统的网络配置图;

图18是根据第三实施例的MFP 1700的功能框图;

图19是例示根据第三实施例的用于安装处理的控制流程的顺序图;以及

图20是根据第三实施例的MFP1700的功能框图。

具体实施方式

下面参考附图详细描述了本发明的示例性实施例。将通过举例的方式描述这些实施例,在每个实施例中,将根据本发明的一个方面的图像形成装置实现于具有复印机功能、打印机功能、扫描仪功能和传真机功能的至少两种功能的多功能外设(MFP)中,然而,能够将图像形成装置实现于诸如复印机、打印机、传真机或扫描仪的任何图像形成装置中。

<第一实施例>

图1是根据本发明的第一实施例的软件分发系统的网络配置图。如图1所示,软件分发系统包括中介装置200、许可管理服务器300、软件分发服务器400、作为软件管理装置而服务的管理装置500以及使用诸如因特网的网络80相互连接的web服务器600。在中介装置200和网络80之间提供防火墙90。将多个MFP或更具体地MFP 100a、100b和100c(此后,用“MFP 100”指示非特定的多个MFP之一)连接到中介装置200。

防火墙90监控从外部跨界进入的流量,并检测和阻塞未授权的电子访问,以防止由经过诸如公共线路或因特网的外部网络而闯入中介装置200的第三方执行的未授权的操作。

存储软件组件的软件分发服务器400是将一个或多个软件组件经由中介装置200分发给MFP100的服务器装置,该软件组件是将由MFP100执行的多种应用软件包。

许可管理服务器300是经由中介装置200管理对应用软件组件的许可(授权)以及由MFP100执行的功能的许可(授权)的装置,该应用软件组件由软件分发服务器400提供并被安装到MFP100上。

web服务器600是包括用于诸如应用的软件分发的门户(portal)站点的服务器装置。用户从个人计算机(PC)(未示出)、MFP100或者类似的访问在web服务器600中的用于分发的门户站点,以购买所需的应用软件包。当用户已经从web服务器600购买了软件时,将被描述为要在其上安装所购买的软件的安装目标的MFP100的设备标识(ID)和所购买的软件的产品ID以及产品密钥连同安装请求(下文中,“第一安装请求”)一起从web服务器600传送到管理装置500。

管理装置500经由中介装置200远程管理MFP100。更具体地,管理装置500是放置在MFP100的制造商、服务提供商或者类似的服务中心的服务器装置。当从web服务器600接收到第一安装请求时,管理装置500从软件分发服务器400接收从中要获得待安装软件组件的位置的统一资源定位符(URL)(下文中,“软件获取URL”),以及从中要获得依赖软件的位置的URL(下文中,“依赖软件获取URL”)。管理装置500查阅指出已安装在指定为安装目标的MFP100之上的软件组件的状态的设备信息,以确定MFP100所必需的依赖软件组件。而且,管理装置500发送用于安装待安装软件组件和依赖软件组件的第二安装请求。

中介装置200是对在MFP100和软件分发服务器400以及许可管理服务器300之间执行的处理起媒介作用的装置。更具体地,中介装置200用逐MFP方式在常规时间间隔收集指示已安装在MFP100上的软件组件的状态的设备信息,并将此逐MFP的设备信息发送给管理装置500。

中介装置200向软件分发服务器400发送对待安装软件组件的请求,并从那里接收该软件。中介装置200也向许可管理服务器300发送对该待安装软件组件的许可的请求,并从那里接收该许可。中介装置200连同这样所获得的软件组件和许可一起向MFP100发送安装软件的请求,以使得MFP100安装待安装软件。

MFP100是具有多种功能以作为复印机、传真机、打印机等而服务的装置。经由诸如局域网(LAN)的本地网络将MFP100连接到中介装置200。图1示出了一个例子,那里有连接到网络的3个MFP,或者具体地MFP100a、100b和100c;然而,MFP的数量不限于3个,以及软件分发系统可包括一个、两个、四个或更多在线的MFP。MFP100包括应用安装控制单元,其在从中介装置200接收软件组件、许可连同安装请求时,执行对请求中所指定的软件组件的安装。

下面详细描述管理装置500。图2是示出了管理装置500的功能配置的框图。如图2中所示,管理装置500主要包括通信单元501、软件信息提取单元502、安装请求生成单元503和硬盘驱动器(HDD)510。

通信单元501从web服务器600接收第一安装请求,其包含由用户指定作为安装目标的MFP100(后文中,“安装目标MFP100”)的设备ID、以及由用户所指定的待安装软件组件的产品名称、产品ID和产品密钥。通信单元501也执行作为设备信息接收单元的功能,设备信息接收单元在常规时间间隔从中介装置200接收关于MFP100的设备信息,并将设备信息存储在HDD510中。

设备信息包含唯一标识了MFP100的设备ID,指示MFP100的类型的设备系统信息以及关于已经安装在该MFP100上的软件组件的信息并且对应于已安装软件信息的软件设置信息。图3是例示设备信息的示例性数据结构的解释性图。

如图3所示,将设备信息配置为使得将设备系统信息进一步链接到详细信息表,以及使得将软件设置信息进一步链接到关于软件设置信息的详细信息表。为安装到MFP100的每个软件组件提供软件设置信息,并以逐软件的方式将其链接到详细信息。换句话说,在多个软件组件已经被安装到MFP100的情况下,将设备信息配置为包含多个软件设置信息片段,将每个片段链接到详细信息表。

如图3中所示,设备系统信息的详细信息表包含关于MFP100的设备码、序列号、型号(model)、语言、安装位置等信息。如图3中所示,软件设置信息的详细信息表包含关于软件组件的类别、唯一标识软件组件的产品ID、产品名、过期日期、许可ID等信息。为每个MFP100,或者换句话说,以逐设备ID的方式将如上所述的此类设备信息存储在HDD510中。

返回参看图2,通信单元501执行作为软件信息获取单元的功能,软件信息获取单元向软件分发服务器400发送包含产品ID的软件信息获取(GET)请求,并接收来自软件分发服务器400的软件信息,该产品ID包含于从web服务器200所提供的指定待安装的软件组件的第一安装请求中。

图4是例示软件信息的示例性数据结构的解释性图。如图4中所示,除了待安装软件组件的产品ID和软件获取URL之外,软件信息还包含依赖软件组件的产品ID和获取URL,依赖软件组件是在安装待安装软件组件之前需要安装的软件组件。依赖软件组件的产品ID和软件获取URL对应于依赖软件信息。在一些情况下,待安装软件组件涉及多个依赖软件组件。除了在图4中给出的信息片段,软件信息还包含有关类别、产品密钥的信息,以及关于对每个待安装软件组件以及依赖软件组件的是否需要软件验证的信息。

返回参看图2,通信单元501进一步执行作为请求发送单元的功能,请求发送单元基于设备信息和软件信息生成第二安装请求,并向中介装置200发送第二安装请求。

软件信息提取单元502比较包含于安装目标MFP100的软件设置信息中的产品ID与所接收的软件信息中的待安装软件组件和待安装软件组件所依赖的依赖软件组件的每个的产品ID。接着,软件信息提取单元502提取属于每个尚未安装在安装目标MFP100上的依赖软件组件的产品ID、软件获取URL、产品密钥、关于是否需要软件验证的信息以及类似内容。软件设置信息对应于存储在HDD510中的关于安装目标MFP100的设备信息中的已安装软件信息。这防止对已安装的依赖软件组件的重叠安装。

安装请求生成单元503基于由软件信息提取单元502提取的待安装软件组件和依赖软件组件的每个的产品ID和软件获取URL而生成第二安装请求,用于使得MFP 100安装待安装软件组件和依赖软件组件。

图5是例示第二安装请求的示例数据结构的解释性图。如图5所示,将第二安装请求配置为除了安装目标的设备ID之外还包含待安装软件目标的类别、产品ID、产品密钥、软件获取URL等,以及由软件信息提取单元502从依赖软件信息中提取的依赖软件组件的产品ID、产品密钥、软件获取URL等。

下面详细描述软件分发服务器400。图6是例示软件分发服务器400的功能配置的框图。如图6中所示,软件分发服务器400包括通信单元401以及HDD410。

作为软件安装包的软件组件以及在图4中示出的对应于该软件组件的软件信息存储在HDD410中。

当接收到来自管理装置500的对软件信息的软件信息的获取请求时,通信单元401从HDD中检索(retrieve)对应于在软件信息获取请求中指定的产品ID的软件信息,并向管理装置500发送所检索的软件信息。当从中介装置200接收到软件请求时,通信单元501从HDD510检索所指定的软件组件,并将所检索的软件组件分发到中介装置200。

下面详细描述中介装置200。图7是例示中介装置200的功能配置的框图。如图7所示,中介装置200实质上包括通信单元201、软件获取单元202、许可获取单元205、设备信息管理单元203以及安装请求单元204。

通信单元201在对应于预定定时的常规时间间隔从MFP100接收设备信息,将该设备信息存储在HDD210中,以及也向管理装置500发送该设备信息。设备信息管理单元203管理存储在HDD210中的设备信息。

图8是例示设备信息流的顺序图。如图8所示,中介装置200在常规时间间隔从MFP100接收设备信息(步骤S801),并在常规时间间隔向管理装置500发送设备信息(步骤S802)。

返回参看图7,当从管理装置500接收到第二安装请求时,软件获取单元202向软件分发服务器400发送对待安装软件组件以及在第二安装请求中指定的依赖软件组件的请求。接着,管理装置500从软件分发服务器400接收待安装软件组件和依赖软件组件。

当从管理装置500接收到第二安装请求时,许可获取单元205向许可管理服务器300发送对待安装软件组件和在第二安装请求中指定的依赖软件组件的许可的请求,并从许可管理服务器300接收许可。

安装请求单元204将所获得的软件组件和许可一起连同安装请求向安装目标MFP100发送。当接收到安装请求时,MFP100开始安装。

下面描述根据第一实施例的在如上所述而配置的软件分发系统中执行的安装处理。图9是例示根据第一实施例的用于安装处理的控制流程的顺序图。

当管理装置500已经从web服务器600接收到第一安装请求时(步骤S1001),管理装置500向软件分发服务器400发送软件信息获取请求(步骤S1002)。作为响应,软件分发服务器400向管理装置500发送有关在该请求中指定的软件组件的软件信息(步骤S1003)。管理装置500基于设备信息和软件信息提取安装目标MFP100所需的依赖软件信息,并使用所提取的依赖软件信息和关于待安装软件组件的软件信息生成第二安装请求(步骤S1004)。管理装置500向中介装置200发送第二安装请求(步骤S1006)。

当接收到第二安装请求时,中介装置200向软件分发服务器400发送软件请求,以获取在第二安装请求中指定的待安装软件组件和依赖软件组件(步骤S1007),以及从软件分发服务器400接收这些必要的软件组件(步骤S1008)。中介装置200向许可管理服务器300发送许可请求,以获取在第二安装请求中指定的待安装软件组件和依赖软件组件的许可(步骤S1009),以及从许可管理服务器300接收许可(步骤S1010)。中介装置200连同所接收的软件组件和许可一起向被指定为安装目标的MFP100发送安装请求(步骤S1011)。当接收到该安装请求时,MFP100开始安装待安装软件组件和为安装待安装软件组件所必需的依赖软件组件。当已经将软件组件安装到MFP100上,以及因而增加了安装到MFP100上的软件组件的数量时,MFP100向中介装置200发送包含有关附加安装的软件组件的信息的设备状态改变通知(步骤S1012)。当接收到设备状态改变通知时,中介装置200将此设备状态改变通知转移给管理装置500(步骤S1013)。当接收到设备状态改变通知时,管理装置500向设备信息中增加有关设备状态改变通知中的附加安装的软件组件的信息。

下面详细描述在步骤S1003由管理装置500执行的软件信息提取处理以及安装请求创建处理。图10是根据第一实施例的关于软件信息提取处理和安装请求创建处理的经过的流程图。

安装请求生成单元503从HDD510检索对应于安装目标MFP100的设备ID的设备信息(步骤S1101)。安装请求生成单元503生成空的第二安装请求,并在第二安装请求中设置安装目标MFP100的设备ID。此外,安装请求生成单元503在第二安装请求中设置在从软件分发服务器400供给的软件信息中指定的待安装软件组件的类别、产品ID、产品密钥、关于是否需要软件验证的信息、软件获取URL等(步骤S1102)。

软件信息提取单元502确定所检索的设备信息中是否包含在所接收的软件信息中指定的依赖软件组件的产品ID(步骤S1103)。如果设备信息不包含该产品ID(在步骤S1103中,否),则尚未将对应于该产品ID的依赖软件组件安装在MFP100之上。相应地,安装请求生成单元503在第二安装请求中设置未安装的依赖软件组件的类别、产品ID、产品密钥、关于是否需要软件验证的信息、软件获取URL等,使得安装未安装的依赖软件组件(步骤S1104)。

相反,如果设备信息包含在软件信息中指定的依赖软件组件的产品ID(在步骤S1103中,是),则对应于该产品ID的依赖软件组件已经被安装在MFP100之上。相应地,由于对依赖软件组件的安装是非必要的,则跳过在步骤S1104要执行的操作,以及将第二安装请求设置为不包含关于依赖软件组件的信息。

软件信息提取单元502确定在步骤S1103或S1104要执行的操作对在软件信息中指定的所有依赖软件组件的每个是否已执行(步骤S1105)。如果尚未完成该操作(在步骤S1105中,否),重复要在步骤S1103或S1104执行的操作。如果操作已经完成(在步骤S1105中,是),处理结束。

如图11中例示,描述了一种示例性情况,其中有关MFP100的设备信息指示软件组件B和软件组件D已经安装在MFP100上。在此情况下,假设软件组件A已经被指定为待安装软件组件,而软件组件A所依赖的依赖软件组件是软件组件B、软件组件C和软件组件D。

根据第一实施例,由于软件组件B和软件组件D已经安装于MFP100之上,因而不必安装软件组件B和软件组件D。相应地,在此情况下,将第二安装请求设置为仅包含关于作为待安装软件组件的软件组件A和作为依赖软件组件的软件组件C的软件获取URL等信息,并将第二安装请求发送给中介装置200。

这消除了MFP100的用户确定是否有已安装于MFP100的待安装软件组件所依赖的依赖软件的需要。而且,这消除了从由软件获取URL所指出的位置下载待安装软件组件和依赖软件组件的需要。因而,第一实施例有利于由用户在MFP100上所执行的安装操作。在第一实施例中,由于基于经由中介装置200从MFP100接收的设备信息而生成第二安装请求,可用有利于由用户执行的安装操作的方式而基于MFP100的使用状态来执行对软件组件的安装。

<第二实施例>

在根据第一实施例的软件分发系统中,管理装置500做出关于哪个依赖软件组件已安装在安装目标MFP100上的确定,并基于确定的结果而生成不包含有关已安装依赖软件组件的信息的第二安装请求。相反,在本发明的第二实施例中,软件分发服务器做出关于哪个依赖软件组件已安装于安装目标MFP100之上的确定,并向管理装置发送有关确定结果的通知,管理装置接下来基于该结果生成第二安装请求。

根据第二实施例的软件分发系统具有同第一实施例类似的网络配置。然而,根据第二实施例的管理装置和软件分发服务器的配置不同于第一实施例中的那些。

图12是例示根据第一实施例的管理装置1200的功能配置的框图。根据第二实施例的管理装置1200实质上包括通信单元1201、安装请求生成单元1203以及如同在第一实施例中那样存储设备信息的HDD510。

通信单元1201从web服务器600接收第一安装请求,并如同在第一实施例中那样向中介装置200发送第二安装请求。通信单元1201基于待安装软件组件的产品ID以及在第一安装请求中由设备ID所指定的设备信息而获取软件设置信息。更具体地,通信单元1201从设备信息中获取已安装在由设备ID所指定的MFP100上的软件组件的产品ID,生成包含该产品ID的软件信息获取请求,并向软件分发服务器1300发送该软件信息获取请求。通信单元1201从软件分发服务器1300接收包含除已安装软件组件(其为依赖软件组件)之外的有关待安装软件组件所依赖的依赖软件组件的信息的软件信息。

安装请求生成单元1203生成第二安装请求,其包含在所接收的软件信息中指定的安装软件组件和依赖软件组件的诸如产品ID和软件获取URL的信息。

图13是例示根据第二实施例的软件分发服务器1300的功能配置的框图。如图13所示,根据第二实施例的软件分发服务器1300主要包括通信单元401、软件信息提取单元1303以及HDD410。通信单元401和HDD410的功能和配置类似于在第一实施例中的那些。

根据第二实施例的软件信息提取单元1303从HDD410中检索对应于在软件信息获取请求中指定的待安装软件组件的产品ID的软件信息。接下来,软件信息提取单元1303同所检索的软件信息相对照地检查安装在由软件信息获取请求中指定的安装目标MFP100上的软件组件,以便提取出包含尚未安装在MFP100上的软件组件(其为依赖软件组件)的产品ID、软件获取URL等的软件信息。

下面描述根据第二实施例如上所描述而配置的在软件分发系统中执行的安装处理。图14是例示根据第二实施例的用于安装处理的控制流的顺序图。

当从web服务器600接收到第一安装请求时(步骤S1501),管理装置1200从HDD510中读取对应于在第一安装请求中指定的安装目标MFP100的设备ID的设备信息,并从设备信息中获得有关已安装软件组件的信息,即,软件设置信息(步骤S1502)。管理装置1200向软件分发服务器1300生成包含软件设置信息(关于已安装软件组件的信息)的软件信息获取请求(步骤S1503)。

当接收到软件信息获取请求时,软件分发服务器400提取关于尚未安装到安装目标MFP100上的软件组件的软件信息(步骤S1504),并向管理装置1200发送所提取的软件信息(步骤S1505)。

管理装置500接收软件信息,基于软件信息生成第二安装请求(步骤S1506),并向中介装置200发送第二安装请求(步骤S1507)。以同在第一实施例中的那些步骤类似的方式执行从步骤S1508到S1514要执行的后续操作。

下面描述在步骤S1504由软件分发服务器执行的软件信息提取处理。图15是根据第二实施例的关于由软件分发软件服务器执行的软件信息提取处理的流程的流程图。

软件分发服务器1300的软件信息提取单元1303从HDD410中检索对应于在由管理装置1200提供的软件信息获取请求中指定的待安装软件组件的产品ID的软件信息(步骤S1601)。

软件信息提取单元1303从所检索的软件信息中删除有关已安装软件信息——或者更具体地,属于在软件信息获取请求中指定的已安装软件组件的产品ID、软件获取URL等——的信息。因而,软件信息提取单元1303提取有关安装目标MFP100所需的软件组件的软件信息(步骤S1602)。接下来,将软件信息发送给管理装置1200。

下面描述在步骤S1506将由管理装置1200执行的安装请求创建处理。图16是由管理装置1200所执行的关于安装请求创建处理的流程的流程图。

管理装置1200的安装请求生成单元1203读取由软件分发服务器1300所提供的软件信息(步骤S1701)。安装请求生成单元1203生成空的第二安装请求,并在第二安装请求中设置安装目标MFP100的设备ID。此外,安装请求生成单元1203在第二安装请求中设置在软件信息中指定的待安装软件组件的产品ID、产品密钥和软件获取URL(步骤S1702)。

接下来,安装请求生成单元1203在第二安装请求中设置在软件信息中指定的依赖软件组件(更具体地,为MFP100所必需的依赖软件组件)的产品ID、产品密钥以及软件获取URL(步骤S1703)。将因而生成的第二安装请求发送给中介装置200。

如上所述,在第二实施例中,获得了与第一实施例所获得的类似效果。而且,根据第二实施例,软件分发服务器1300做出关于哪个依赖软件已经被安装在安装目标MFP100上的确定,并基于确定的结果向管理装置1200发送软件信息,管理装置1200接下来基于该软件信息生成第二安装请求。相应地,由于从提取MFP100所需的软件信息到创建第二安装请求的操作能被分布化,因而增强了操作的效率。

在第一和第二实施例中,采用了其中当接收第二安装请求时,中介装置200分别从软件分发服务器400和许可管理服务器300获得待安装软件组件和许可并向MFP100发送待安装软件组件和许可的配置;然而,该配置不限于此。例如,可选地可采用其中管理装置500另一配置,其中分别从软件分发服务器400和许可管理服务器300获取待安装软件组件和许可,并向中介装置200发送待安装软件和许可,而中介装置200接下来连同安装请求一起向MFP100发送待安装软件组件和许可。

<第三实施例>

在第一和第二实施例中,已经经由中介装置200执行从MFP100接收设备信息,以及向MFP100发送安装请求。相反,在根据本发明的第三实施例中,直接地向MFP100发送数据并从中接收数据,而不经过中介装置200。

图17是根据第三实施例的软件分发系统的网络配置图。如图17所示,根据第三实施例的软件分发系统包括由网络80彼此连接的管理装置500、软件分发服务器400、许可管理服务器300、web服务器600以及MFP1700(1700a、1700b和1700c),但不包括中介装置200。

对管理装置500、软件分发服务器400、许可管理服务器300以及web服务器600的配置类似于第一实施例中的那些。注意,管理装置500直接从MFP1700直接接收设备信息,并直接向MFP1700发送第二安装请求。

下面描述MFP1700。图18是根据第三实施例的MFP1700的功能框图。如图18所示,MFP1700包括黑白激光打印机(黑白LP)101、彩色激光打印机(彩色LP)102、HDD103、包括扫描仪、传真机以及存储器的硬件资源104、通信接口(I/F)105和包括平台120和应用130的软件组110。

在根据第三实施例的MDP1700中,将设备信息、从软件分发服务器400下载的应用软件包、固件包、包信息、作为用于安装处理的操作指令而服务的指令以及从许可管理服务器300下载的应用的许可文件存储在HDD103中。也将安装处理的进展记录在HDD103中。

平台120包括控制服务、系统资源管理器(SRM)123和通用操作系统(OS)121,每个控制服务解释由应用提供的处理请求,并发出对硬件资源的资源请求,系统资源管理器(123)管理一个或更多硬件资源并仲裁来自控制服务的资源请求。

控制服务包括多个服务模块,或者具体地包括系统控制服务(SCS)122、引擎控制服务(ECS)124、存储控制服务(MCS)125、操作板控制服务(Operationpanel control service,OCS)126、传真机控制服务(FCS)127、网络控制服务(NCS)128、网络远程服务(NRS)129和应用安装控制服务131。平台120包括应用编程接口(API),其允许使用预定功能接收来自应用130的处理请求。

作为诸如UNIX(注册商标)的通用操作系统的通用OS121将平台120的软件程序和应用130作为并行处理而同时执行。

SRM123同SCS122合作而执行用于系统控制和资源管理的进程。更具体地,SRM123执行用于根据从上层提供的请求执行仲裁、运行和控制处理,该上层使用诸如扫描仪单元、打印机单元或者类似的引擎的硬件资源、存储器、HDD文件、或者主机输入/输出(I/O)(例如,与并行接口兼容的(Centronics-compatible)I/F、网络I/F、IEEE1394(电气与电子工程师协会1394)I/F或者RS-232C I/F)。

更具体地,SRM123确定所请求的硬件资源是否可用(即,所请求的硬件资源当前是否用于另一请求),以及如果所请求的硬件资源可用,向高层发送所请求的硬件资源可用的通知。SRM123也响应于来自高层的请求,而安排对硬件资源利用的调度,并直接执行所请求的操作(例如,存储器分配、文件创建或使得打印机引擎执行送纸或成像)。

SCS122执行用于应用管理、操作单元控制、显示系统相关的屏幕(screen)、用发光二极管(LED)的指示、资源管理、对应用中断的控制等处理。

ECS124执行对包括黑白LP101、彩色LP102、扫描仪和传真机的硬件资源104的引擎控制的处理。

MCS125执行图像存储器的分配和释放、HDD的利用、对图像数据的压缩和解压缩等处理。

FCS127执行用于提供API的处理,API允许通过使用公共交换电话网络(PSTN)或集成服务数据网络(ISDN)网络向系统控制器的每个应用层发送传真或从系统控制器的每个应用层接收传真,在管理多个传真数据片段的备份SRAM(BKM)中存储传真数据并从中检索传真数据,为传真发送而扫描,打印所接收到的传真数据,以及通过使用组合的功能的发送和接收。

NCS128执行用于提供在需要网络I/O的应用之间共同的服务的处理。更具体地,NCS128为通过使用多种协议经由网络而接收的数据片段向应用的分配以及从应用向网络的数据传输起媒介作用。

OCS126执行控制作为操作员(用户)和装置之间的接口的操作板(控制板)和控制装置的处理。当按下(或触摸)操作板上的按键时,OCS126将其识别为按键事件。OCS126包括作为OCS处理的部分以及作为OCS库的部分,OCS处理将对应于因而被识别的按键的按键事件功能发送到SCS122。在OCS库中,事先存储使得多种图像根据来自应用130和控制服务的任何之一的请求在操作板上被渲染并显示的渲染功能、用于控制板的其他控制功能等。将OCS库实现为同应用130和控制服务的多种模块相链接。可配置整个OCS126,以便作为OCS处理而操作。可选地,可将整个OCS126配置为OCS库。

应用安装控制服务131执行在常规时间间隔向管理装置500发送包含有关诸如安装在MFP1700上的应用的软件的信息以及有关设备的信息的设备信息的处理。当从管理装置500接收第二安装请求时,应用安装控制服务131执行向软件分发服务器400发出对由第二安装请求中的产品ID所指定的待安装软件组件的分发请求、从软件分发服务器400接收待安装软件组件以及安装待安装软件组件的处理。当从管理装置500接收第二安装请求时,应用安装控制服务131也执行向许可管理服务器300发出对由第二安装请求中的产品ID所指定的许可的请求,以从许可管理服务器300获取许可的处理。

NRS129经由网络执行的与设备远程管理相关的功能(例如用于经由网络的数据发送和接收的数据转换)以及调度器功能的处理。

应用130包括打印机应用111、复印机应用112、传真机应用113、扫描仪应用114、网络文件应用115、进程检查应用116以及web应用117,打印机应用111为用于具有页描述语言(PDL)和附言(Post script,PS)的打印机的应用,复印机应用112是用于复印机的应用,传真机应用113是用于传真机的应用,扫描仪应用114是用于扫描仪的应用,网络文件应用115是用于网络文件的应用,进程检查应用116是用于进程检查的应用,web应用117作为web服务器(超文本传输协议(http)服务器)并在执行于客户终端的web浏览器上显示多种屏幕。

由应用130所执行的每个处理和由控制服务所执行的处理通过执行功能调用和响应于功能调用的返回值传输以及交换用于处理间通信的消息而向用户提供了与诸如复印机、打印机、扫描仪、传真机或者类似的图像形成操作相关的服务。

如上所述,根据第三实施例的MFP1700包括多个应用130和多种控制服务,其每个作为处理而运行。在每个处理中生成一个或多个线程,其中线程同时运行。控制服务向应用130提供公共服务。相应地当进程和线程彼此合作而执行处理间通信时,同时执行大量处理以及同时运行线程,以向用户提供同诸如复印机、打印机、扫描仪、传真机或者类似的图像形成操作相关的服务。

配置MFP1700,使得诸如MFP1700的客户或第三方供货商的第三方能在应用层上开发外部应用172,并将外部应用172安装在应用层上,应用层是控制服务层的上层。外部应用172是从软件分发服务器400下载并由应用安装控制服务131安装的应用。图18例示了应用在运行的状态。

根据第三实施例,应用程序130的多个处理和控制服务的多个处理在MFP1700中运行;然而,可选地,能够配置MFP1700使得在MFP1700上运行应用程序1300的单一处理和控制服务的单一处理。可用逐应用的方式将应用添加到应用130或从应用130删除。换句话说,如上所述,可将外部应用172安装到MFP1700或从MFP1700卸载。

下面描述在根据如上所述而配置的第三实施例的软件分发系统中执行的安装处理。图19是例示根据第三实施例的用于安装处理的控制流的顺序图。

以同在第一实施例中的那些步骤相类似的方式执行从步骤S2001到S2004要执行的操作,在步骤S2001,接收第一安装请求,在步骤S2004生成第二安装请求。当已经生成了第二安装请求时,管理装置500向由web服务器600所指定的MFP1700的地址发送第二安装请求(步骤S2006)。

当从管理装置500接收了第二安装请求时,MFP1700向软件分发服务器400发出对由第二安装请求中的产品ID所指定的软件组件的分发请求(步骤S2007),并从软件分发服务器400接收软件组件(步骤S2008)。

MFP1700通过使用应用安装控制服务131向许可管理服务器300发送对由在第二安装请求中的产品ID所指定的软件组件的许可的许可请求(步骤S2009),并从许可管理服务器300接收许可(步骤S2010)。此后,MFP1700执行在第二安装请求中指定的软件组件的安装。由于安装到MFP1700上的软件组件的数量已经因而被增加,MFP1700直接向管理装置500发送设备状态改变通知(步骤S2012)。

如上所述,在第三实施例中,获得了同第一实施例所获得的类似效果。而且,根据第三实施例,由于管理装置500和MFP1700彼此直接交换多种数据片段和请求,因而能够缩短安装所需的时间周期。

在第三实施例中,利用了这样的配置,其中当接收到第二安装请求时,MFP1700因而分别从软件分发服务器400和许可管理服务器300获得待安装软件组件和许可;然而,该配置不限于此。例如,可选地可利用另一配置,其中管理装置500因而分别从软件分发服务器400和许可管理服务器300获得待安装软件和许可,并向MFP100发送待安装软件组件和许可。

图20是例示根据第三实施例的MFP1700的硬件配置的框图。如图20所示,MFP1700包括同外围组件接口(PCT)总线连接在一起的控制器10和引擎60。控制器10是控制整个MFP1700、渲染、通信和经由操作单元(未示出)而进入的输入的控制器。引擎60是可连接到PCI总线的打印机引擎等。引擎60的例子包括单色绘图仪、单鼓彩色绘图仪、四鼓彩色绘图仪、扫描仪以及传真机单元。除了诸如绘图仪的被称为引擎部分的之外,引擎60还包括执行误差扩散、伽玛校正等图像处理部分。

控制器10包括中央处理单元(CPU)11、北桥(NB)13、系统存储器(下文中,“MEM-P”)12、南桥(SB)14、本地存储器(下文中,“MEM-C”)17、应用专用集成电路(ASIC)16和HDD103,其中加速图形接口(AGP)总线15连接于NB13和ASIC16之间。MEM-P12进一步包括只读存储器(ROM)12a和随机访问存储器(RAM)12b。

CPU11控制整个MFP1700,并包括包含NB13、MEM-P12和SB14的芯片组。将CPU11经由该芯片组连接到另一设备。

NB13是用于将CPU11连接到MEM-P12、SB14和AGP总线15的桥。NB13包括PCI主控、AGP目标和控制来往于MEM-P12的读和写的存储器控制器等。

包括ROM12a和RAM12b的MEM-P12是作为用于存储程序代码和数据的存储器、用于从中加载程序代码和数据的存储器、用于为打印机的渲染的存储器等而使用的系统存储器。ROM12a是作为用于存储程序代码和数据的存储器而使用的只读存储器。RAM12b是作为用于从中加载程序代码和数据的存储器、用于为打印机的渲染的存储器等而使用的可写可读存储器。

SB14是用于将NB13连接到PCI设备和外围设备的桥。经由PCI总线将SB14连接到NB13,网络I/F等也连接到PCI总线。

作为在图像处理中使用的集成电路(IC)的ASIC16包括用于图像处理的硬件组件,并具有作为将AGP总线15、PCI总线、HDD103和MEM-C17彼此连接的桥的功能。ASIC16包括PCI目标和AGP主控、作为ASIC16的核心而服务的仲裁(ARB)、控制MEM-C17的存储器控制器、由硬件逻辑执行有关图像旋转等数据处理的多个直接存储器访问控制器(DMAC),以及执行经由PCI总线往来于引擎60的数据传输的PCI单元。经由PCI总线将传真机控制单元(FCU30)、通用串行总线(USB)40和IEEE1394I/F 50连接到ASIC16。将操作和显示单元20直接连接到ASIC16。

MEM-C17是用于作为复制图像缓冲和代码缓冲而使用的本地存储器。HDD103是用于在其中存储图像数据、程序代码、字体数据和表单的存储装置。

AGP总线15是用于被引进来加速图形操作的图形加速器卡的总线接口,并允许以高吞吐量直接访问MEM-P12,以加速同图形加速器卡有关的操作。

以预先安装在ROM等的方式提供将由MFP1700执行的安装程序代码。

根据第三实施例,可配置将由MFP1700执行的安装程序代码,以作为记录在诸如压缩盘只读存储器(CD-ROM)、软盘(Flexible disk,FD)、压缩盘可重记录(CD-R)或数字通用盘(DVD)的计算机可读介质中以可安装或可执行格式的形式提供。

将由根据第三实施例的MFP1700执行的安装程序代码可被配置为存储在连接到诸如因特网的网络的计算机中,使得通过经由网络的下载而提供安装程序代码。将由根据第三实施例的MFP1700执行的安装程序代码可被配置为经由诸如因特网的网络提供或分发。

将由根据第三实施例的MFP1700执行的安装程序代码具有包含应用安装控制服务131的模块结构。从实际硬件的视角,CPU(处理器)从ROM中读取安装程序代码,并执行安装程序来将应用安装控制服务131加载到主存储器设备,以在主存储器设备中生成应用安装控制服务131。

尽管已经关于应用在MFP1700上的安装而描述了第三实施例,此技术可应用于不同于该应用的软件程序。

根据这些实施例的管理装置500、软件分发服务器400、许可管理服务器300和web服务器600的每个具有利用典型计算机的硬件配置,并包括诸如CPU的控制设备、诸如ROM和/或RAM的存储设备、诸如HDD和/或CD驱动的外部存储设备、显示设备以及诸如键盘和/或鼠标的输入设备。

根据这些实施例的将由管理装置执行的软件信息提取程序和安装请求生成程序以及将由软件分发服务器执行的软件信息提取程序,可被以记录在诸如CD-ROM、FD、CD-R或DVD的计算机可读介质中以可安装或可执行格式的形式提供。

根据这些实施例的将由管理装置执行的软件信息提取程序和安装请求生成程序以及将由软件分发服务器执行的软件信息提取程序,可被配置为存储在连接到诸如因特网的网络的计算机中,使得可通过经由网络下载而提供。根据这些实施例的将由管理装置执行的软件信息提取程序和安装请求生成程序以及将由软件分发服务器执行的软件信息提取程序可被配置为经由诸如因特网的网络提供或分发。

根据这些实施例的将由管理装置执行的软件信息提取程序和安装请求生成程序以及将由软件分发服务器执行的软件信息提取程序,可被配置为以预先安装在ROM等中的形式提供。

根据这些实施例的将由管理装置执行的软件信息提取程序和安装请求生成程序以及将由软件分发服务器执行的软件信息提取程序,具有包含上述单元的模块结构。从实际硬件的视角,CPU(处理器)从存储介质中读取软件信息提取程序和安装请求生成程序,并执行软件信息提取程序和安装请求生成程序,以将单元加载到主存储设备上,以在主存储设备上生成这些单元。

尽管已经为完全且清楚地公开而关于特定实施例描述了本发明,但所附的权利要求将并非如此限定,而是将被解释为体现将对所属领域技术人员而言可能出现的适当地落入了此处所列出的基本教导的所有调整和可选构造。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号