图像形成装置、程序更新系统以及程序更新方法

文档序号:7684046阅读:141来源:国知局
专利名称:图像形成装置、程序更新系统以及程序更新方法
技术领域
本发明涉及一种图像形成装置、程序更新系统和程序更新方法。 更具体地,本发明涉及一种由多人使用的图像形成装置,包含该图像 形成装置的程序更新系统,以及用于更新所述图像形成装置中执行的 程序的程序更新方法。
背景技术
通常,多功能外设(MFP)通过执行程序实现功能。当一种新功能 被增加给MFP时,或当已安装的程序中已经发现了缺陷时,程序被更 新。为更新所述程序,必需从MFP的制造商所提供的万维网服务器下 载新程序,以例如重写在那之前存储在MFP中的程序。在有些情况下, 还有必要重新启动MFP。因此,更新存储在MFP中的程序需要一定时 间段。
此外,在MFP中重写程序的同时,或在MFP被重新启动的同时, MFP不可用。因而,对于由多个用户共享的MFP,更加期望以较低频 率进行程序更新。
日本专利公报No.2001 - 067228公开了 一种下载固件的方法,其 中主机个人计算机(PC)拥有部分或全部打印机固件,并且每当执行打 印处理时,打印机驱动程序将打印机的操作固件的状态与由使用中的 应用程序所请求的固件相比较,以便仅下载必要的模块给打印机侧。
然而,利用常规下载方法,仅在确定打印机中要执行的处理之后 才下载固件。这意味着从确定打印机中要执行的处理直到完成固件的下载,总是需要一定时间,这导致在执行处理之前需要长时间。

发明内容
考虑到上述问题而作出本发明,并且本发明的一个目的提供一种 不可用时间被缩短的图像形成装置。
本发明的另一个目的是提供确保缩短图像形成装置的不可用时 间的程序更新系统和程序更新方法。
为了实现上述目的,根据本发明的一个方面,提供了一种图像形 成装置,其能够与存储多种更新程序以及包含多种功能中的每种的更
新状态的服务器通信,其包含 一个程序存储部分,用来存储执行程 序; 一个功能执行部分,用来执行所述存储的执行程序,并且执行所 述多种功能中的至少一种功能; 一个性能存储部分,当执行多种功能 中的任何一种时,存储与功能的执行有关的性能信息; 一个确定部分, 基于存储在服务器中的性能信息和更新信息,确定执行程序内将被更 新的更新目标部分,以及从存储在服务器中的多种更新程序中确定用 于更新执行程序目标程序;以及一个更新部分,用来获得所确定的目 标程序,并且利用所获得的目标程序更新执行程序的更新目标部分。
根据本发明的另一个方面,提供了一种图像形成装置,其能够与 存储多种更新程序以及包含多种功能中的每种的更新状态的服务器 通信,其包含 一个程序存储部分,用来存储执行程序; 一个功能读 取部分,用来读取所存储的执行程序,并且执行所述多种功能中的至 少一种功能; 一个性能存储部分,当执行多种功能中的任何一种时, 存储与功能的执行有关的性能信息; 一个性能信息发送部分,用来将 存储在程序存储部分中的执行程序的版本信息和性能信息发送给服 务器; 一个接收部分,其响应于性能信息的发送,从服务器中接收执 行程序内将被更新的更新目标部分,并且从存储在服务器中的多种更 新程序中接收用于更新执行程序的目标程序;以及一个更新部分,用 来利用接收的目标程序更新执行程序的更新目标部分。
根据本发明的另一个方面,提供了一个程序更新系统,其包含一器,以及一个图像形成装置,其能够与所述服务器通信,其中所述图
像形成装置包含 一个程序存储部分,用来存储执行程序; 一个功能 读取部分,用来读取所存储的执行程序,并且执行所述多种功能中的 至少一种功能; 一个性能存储部分,当执行多种功能中的任何一种时, 存储与功能的执行有关的性能信息; 一个性能信息发送部分,用来将 存储在程序存储部分中的执行程序的版本信息和性能信息发送给服 务器; 一个接收部分,其响应于历史信息的发送,从服务器中接收执 行程序内将被更新的更新目标部分,并且从存储在服务器中的多种更 新程序中接收用于更新执行程序的目标程序;以及一个更新部分,其 利用所接收的目标程序更新执行程序的更新目标部分;并且其中所述 服务器包含 一个确定部分,基于从图像形成装置接收的性能信息和 更新信息,从存储在服务器中的多种更新程序中确定更新目标部分和 用于更新执行程序的目标程序;以及一个发送部分,其将确定的更新 目标部分和确定的目标程序发送给图像形成装置。
根据本发明的另 一个方面,提供了 一个图像形成装置的程序更新 方法,所述图像形成装置能够与存储多种更新程序以及包含多种功能 中的每种的更新状态的服务器通信,所述图像形成装置包含一个程序 存储部分,用来存储执行程序,其中所述程序更新方法包含步骤读 取所存储的执行程序,并且执行所述多种功能中的至少一种功能;当 执行多种功能中的任何一种时,存储与功能的执行有关的性能信息; 基于存储在服务器中的性能信息和更新信息,确定执行程序内将被更 新的更新目标部分,以及从存储在所述服务器中的多种更新程序中确 定用于更新执行程序的目标程序;获得所确定的目标程序;以及利用 所获得的目标程序更新执行程序的更新目标部分。根据本发明的另一个方面,提供了一个图像形成装置的程序更新 方法,所述图像形成装置能够与存储多种更新程序以及包含多种功能 中的每种的更新状态的服务器通信,所述图像形成装置包含一个程序 存储部分,用来存储执行程序,其中所述程序更新方法包含步骤读取所存储的执行程序,并且执行所述多种功能中的至少一种功能;当 执行多种功能中的任何一种时,存储与功能的执行有关的性能信息; 将存储在程序存储部分中的执行程序的版本信息和性能信息发送给 服务器;响应于所述性能信息的发送,从服务器接收执行程序内将被 更新的更新目标部分,以及从存储在服务器中的多种更新程序中接收 用于更新执行程序的目标程序;以及利用所接收的目标程序更新执行 程序的更新目标部分。
通过以下结合附图对本发明的详细描述,本发明的上述及其他目 的、功能、方面和优点会变得更加明显。


图l是根据本发明的实施例的 一种程序更新系统的示意图。 图2示出了服务器的硬件结构的例子。 图3是MFP的透视图。
图4的框图示出了MFP的电路结构的例子。
图5的功能框图示出了服务器中提供的CPU 201的功能以及HDD 207中存储的数据的例子。
图6示出了更新信息的例子。
图7的功能框图示出了 MFP中提供的CPU的功能以及快擦写存 储器中存储的数据的概况。
图8A和8B示出了快擦写存储器中的执行程序存储区的例子。
图9示出了性能信息的例子。
图10示出了缺陷出现信息列表的例子。
图ll示出了缺陷条件表的例子。
图12示出了紧急条件表的例子。
图13的流程解了程序更新处理的流程的例子。
图14的流程解了功能执行处理的流程的例子。
图15的流程解了历史更新处理的流程的例子。
图16的流程解了目标程序确定处理的流程的例子。图17的流程解了基于紧急度的目标程序确定处理的流程的例子。
图18的流程解了基于缺陷出现信息的目标程序确定处理的 流程的例子。
图19的流程解了基于历史信息的目标程序确定处理的流程 的例子。
图20的功能框图示出了修改中的服务器中所提供的CPU的功能
以及HDD中存储的数据的例子。
图21的功能框图示出了修改中的MFP中提供的CPU的功能以及 快擦写存储器中存储的数据的概况。
具体实施例方式
现在参考附图描述本发明的实施例。在下面的说明中,类似附图 标记表示具有类似名称和功能的类似部分,因此不重复其详细描述。
图l是根据本发明的实施例的一种程序更新系统的示意图。参考 图l,程序更新系统I包含多功能外设(MFP)IOO、 IOOA、 IOOB和IOOC 以及服务器200,它们被连接到网络2。
MFP 100、 IOOA、 IOOB以及IOOC是图像形成装置的例子。其在 硬件结构和功能上是完全一样的,因而此处代表性地说明MFP 100。 作为一个普通计算机的服务器200由例如MFP 100、 IOOA、 IOOB和 IOOC的厂商提供。服务器200存储由MFP 100、 IOOA、 IOOB和IOOC执 行的程序,并且响应于来自MFP 100、 IOOA、 IOOB和IOOC中的任何 一个的下载请求,发送所请求的程序。每次更新程序,服务器200就 在该时间点与包含从以前版本的程序改变的信息的更新信息相关地 存储所述程序。
网络2是一个局域网(LAN),其可以是有线或无线的。然而,不 限于此,网络2可以是诸如因特网、利用通用公共线路的网络等的广 域网(WAN)。
虽然在该例子中程序更新系统l包含服务器200和四个MFP 100 、IOOA、 IOOB和IOOC,但是其数量并不限于此。所需的是系统包含一 个服务器200和至少一个MFP。
图2示出了服务器的硬件结构的例子。参考图2,服务器200包含 一个中央处理单元(CPU)201 , 一个用作CPU 201的工作区的随机存取 存储器(RAM)205, —个用于存储将由CPU 201执行的程序的只读存储 器(ROM)206, 一个硬盘驱动器(HDD)207, 一个用于将服务器200连 接到网络2的通信接口(I/F)202, 一个具有键盘、鼠标等的输入部分 204,以及一个用于显示信息的监视器203。
图3是MFP的透视图。参考图3, MFP IOO包含一个自动文件馈送 机(ADF)IO, 一个图像读取部分20, 一个图像形成部分30, 一个纸张 馈送部分40,以及一个后处理部分50。
ADF 10自动地将放置在原件馈送托盘11上的多个原件逐个传递 到图^^读取部分20的压板玻璃上的预定原件读取位置,并且将其初始 图像由图像读取部分20读取的原件排出到原件排出托盘12上。图像读 取部分20包含利用光照射被传递到原件读取位置的原件的光源,以及 接收从所述原件反射的光的光电转换部件,并且根据原件大小扫描所 述原件图像。光电转换部件将所接收的光转换成电信号的图像数据, 并且输出该图像数据给图像形成部分30。纸张馈送部分40将存储在送 纸托盘中的纸张传递给图像形成部分30 。
图像形成部分30利用众所周知的电子照相术形成图像。其执行包 含对从图像读取部分20输入的图像数据的浓淡处理补偿的各种数据 处理,并且基于所处理的图像数据,在由纸张馈送部分40所馈送的一 张纸上形成图像。
后处理部分50将在其上形成图像的记录纸排出。后处理部分50 具有多个纸张排出托盘,以允许分类在其上所形成的图像的纸张以便 排出。后处理部分50还具有一个打孔部分和一个装订部分以允许所排 出的纸张被打孔或装订。MFP 100在其顶面上还包含操作面板9,其充 当用户界面。
虽然在本实施例中MFP 100、 IOOA、 IOOB和IOOC被示为图像形成装置的例子,但是所述图像形成装置可以是代替MFP的扫描仪、打 印机、传真机、个人计算机等。
图4的框图示出了MFP的电路结构的例子。参考图4, MFP 100 包含一个主电路IOI、 一个传真部分122,以及一个通信控制部分123。 主电路101被连接到ADF 10、图^象读取部分20、图像形成部分30、纸 张馈送部分40以及后处理部分50上。
主电路101包含CPU 111,被用作CPU lll的工作区的RAM 112, 用于存储由CPU 111执行的程序等的快擦写存储器113,显示部分114, 操作部分115,作为大容量存储器的HDD 116,以及数据通信控制部 分117。
CPU 111执行存储在快擦写存储器113中的执行程序以实现多个 功能。快擦写存储器113是EEPROM(电可擦可编程只读存储器)。
CPU111与显示部分114,操作部分115, HDD 116,以及数据通 信控制部分117连接,并且负责主电路101的总体控制。CPU lll还与 传真部分122,通信控制部分123, ADFIO,图像读取部分20,图像形 成部分30,纸张馈送部分40,以及后处理部分50相连接,并且负责 MFP IOO的总体控制。
显示部分114是诸如液晶显示器(LCD)、有机场致发光显示器 (ELD)等的显示设备,并且显示用户的指令项菜单,有关所获得的图 像数据的信息等。操作部分115配有多个键,并且根据用户的鍵操作, 接受诸如指令,字符和数字字符的数据的输入。操作部分115包含显 示部分114上提供的触摸面板。显示部分114和操作部分115构成MFP 100的顶端表面上提供的操作面板9。
数据通信控制部分117包含一个LAN终端118,其为根据诸如 TCP(传输控制协议)或UDP(用户数据报协议)的通信协议的通信接口, 以及一个串行通信的串行通信接口终端119。数据通信控制部分117根 据来自CPU lll的指令,针对连接到LAN终端118或串行通信接口终端 119的外部设备发送和接收数据。
当连接到网络2的LAN电缆被连接到LAN终端118时,数据通信控制部分117与另一个MFP IOOA, 100B, 100C,或经由LAN终端118 连接的服务器200通信。数据通信控制部分117还与连接到因特网的另 一个计算机通信。CPU 111可控制数据通信控制部分117以从服务器 200下栽程序,并且在快擦写存储器113中存储相同的程序,以便更新 所述程序。所述程序包含稍后将描述的执行程序。
当一个装置被连接到串行通信接口终端119时,数据通信控制部 分l 17与连接到串行通信接口终端119的装置通信以输入/输出图像数 据,所述装置可以是例如数字照相机,数字摄像机或个人数字助理。 内置有快擦写存储器的存储卡119A也可以被连接到串行通信接口终 端119上。CPU111可控制数据通信控制部分117,以从存储卡119A中 读取要由CPU 11 l执行的程序,并且在快擦写存储器113中存储相同的 程序,以便更新所述程序。
注意,用于存储由CPU111执行的程序的记录介质不局限于存储 卡119A。其可以是软盘,盒式磁带,光盘(CD-ROM(压缩光盘-ROM), MO(磁光盘),MD(小型软盘),DVD(数字通用光盘)),IC卡(包含存储 卡),光卡,或诸如掩模型ROM、EPROM(可擦可编程ROM), EEPROM 等的半导体存储器。可替换地,CPU111可从服务器200中下载程序并 且在快擦写存储器113中存储相同的程序,或服务器200可将程序写到 快擦写存储器113,并且此后,存储在快擦写存储器113中的程序可被 加载到RAM 112中,以便由CPU lll执行。如此处所使用的,所述,, 程序,,不仅包含可由CPU111直接执行的程序,而且还包含源程序,压 缩程序,加密程序等。
通信控制部分123是用于将CPU lll连接到公用交换电话网 (PSTN)7的调制解调器。MFP IOO被预先分配了 PSTN 7中的电话号码。 当有一个呼叫从连接到PSTN 7的传真机打到分配给MFP IOO的电话 号码时,通信控制部分123检测到呼叫。在检测到呼叫时,通信控制 部分123建立呼叫使传真部分122能进行通信。
传真部分122被连接到PSTN 7,并且将传真数据发送到PSTN 7 或从PSTN 7接收传真数据。图5的功能框图示出了服务器中提供的CPU 201的功能的例子, 连同HDD 207中存储的数据。参考图5, HDD 207以模块的形式存储由 MFP 100、 IOOA、 IOOB和IOOC执行的程序。相应于各个模块的程序 还被分成存储设备的至少一个功能部件。此处,HDD 207存储了;f莫块 A的程序221,模块B的程序225,模块C的程序227。
如此处所使用的,"模块"是指可由MFP 100、 IOOA、 IOOB和IOOC 执行的多种功能的的主要分类,其包含用于启动MFP的启动功能用 于经由操作面板9控制输入/输出的面板功能;用于接收数据的数据接 收功能;复制功能;扫描功能;用于管理HDD 116中存储的数据的BOX 功能;用于控制传真部分122的发送/接收的传真功能;用于控制ADF IO的ADF功能;用于控制后处理部分50的整理(finisher)功能;用于用 户认证的认证功能;用于转换数据文件格式的文件转换功能;用于处 理图像数据的图像处理功能;以及用于控制数据通信控制部分117的 网络功能。例如,引导功能的模块包含启动MFP100的功能和更新程 序的功能。面板功能的模块包含接受输入到面板的操作的面板接受处 理功能,以及显示面板上的信息的面板显示功能。数据接收功能的模 块包含的接收数据的数据接收处理功能。
模块A的程序221包含相应于功能A1的部分223A和相应于功能 A2的部分223B。模块B的程序225包含功能B1的部分227A和功能B2的 部分227B。模块C的程序227包含功能C1的部分229A和功能C2的部分 229B。虽然每个模块程序可以使其版本升级,但是HDD 207存储程序 的所有版本。以模块A的程序221为例,当功能A1的部分223A从版本 1.0被更新4次时,HDD 207将版本1.0程序、版本l.l程序、版本1.2程 序、版本1,3程序和版本1.4程序存储为功能A1的部分223A的程序。
图6示出了更新信息的例子,如上所述,HDD 207存储模块A - C 的程序,每个均包含针对包含在相应模块中的至少一个功能中的每个 的程序的多个版本。更新信息231将多个版本的程序与多种功能部分 中的一个分别联系起来,并且指定每个版本的更新内容和紧急度。参 考图6,相应于模块A的功能A1的部分的程序将被代表性地说明。版本1.0程序是最老的,版本l.l、版本1.2、版本1.3和版本1.4程序分别比 前面版本新。更新内容表明程序中从前面版本程序最新修改的内容。
版本1.1程序相对于版本1.0程序具有一个校正的错误。版本1.2程 序相对于版本l.l程序具有一部分删除的功能。版本1.3程序相对于版 本1.2程序具有一部分修改的功能。版本1.4程序相对于版本1.3程序具 有一部分增加的功能。
此外,更新信息231指定每个程序的紧急度。紧急度由管理程序 的版本的管理员分配,其可以是紧急度A, B以及C中的一个。紧急度 表明用于更新程序的重要程度,利用A表明最高的重要程度,C表明 最低的重要程度。此处,紧急度A被分配给版本1.1程序,紧急度B被 分配给版本1.2程序,而紧急度C被分配给版本1.3程序和版本1.4程序。
回到图5, CPU 201包含发送程序223A、 223B、 227A、 227B、 229A 和229B中的一个程序发送部分221,以及发送更新信息231的更新信息 发送部分213。服务器200能够经由通信I/F 202与MFP 100、 IOOA、 100B 和100C通信,并且当通信I/F 202从MFP 100、 IOOA、 100B和100C中 的一个接收更新信息的发送请求或程序的发送请求时,通信I/F 202将 更新信息的发送请求或程序的发送请求输出给CPU 201。程序的发送 请求包含用于程序的识别的识别信息。识别信息包含用于指定功能和 版本信息的功能规范信息。
当从通信I/F 202中输入更新信息的发送请求,更新信息发送部分 213读取更新信息231,并且控制通信I/F 202将更新信息231发送到发 送更新信息的发送请求的MFP 100、 IOOA、 IOOB和IOOC中的一个。 当从通信I/F 202输入程序的发送请求,程序发送部分211读取对应于 由功能规范信息指定的功能,并且具有由版本信息指定的版本的程序 223A、 223B、 227A、 227B、 229A和229B中的一个。然后,其控制通 信I/F 202以发送指定版本的读出程序给发送程序的发送请求的MFP 100、 IOOA、 IOOB和IOOC中的一个。
图7的功能框图示出了修改中的MFP IOO中提供的CPU 111A的 功能以及快擦写存储器113中存储的数据的概况。参考图7,快擦写存储器113存储执行程序71,性能信息73,以及缺陷出现信息列表75。 CPU lll包含 一个执行执行程序71以执行一种功能的功能执行部分 51; —个下载部分53以从服务器200中下栽程序; 一个更新部分55以 利用下栽的程序更新执行程序71; —个更新信息获得部分57以便从服 务器200中获得更新信息; 一个确定部分59以确定是否更新执行程序 71; —个历史更新部分63以更新性能信息73和缺陷出现信息列表75, 以及一个警告部分61以发出警告。
功能执行部分51将存储在快擦写存储器113中的执行程序71加栽 到RAM112,并且执行执行程序71。执行程序71具有启动部分,以及 功能A1、功能A2、功能B1、功能B2、功能C1和功能C2的部分。此处, 假定每个版本1.0的程序223A、 223B、 227A、 227B、 229A和229B被存 为执行程序71。
图8A示出快擦写存储器113的执行程序存储区的例子。参考图 8A,执行程序71的引导部分被存储在启动区域91中,以及功能A1、 A2、 Bl、 B2、 C1和C2被分别存储在区域82A、 83A、 85A、 86A、 88A、 和89A中。地址表被存储在位于启动区91与存储功能A1部分的区域 82A之间的区域93中。此外,在存储功能A1部分的区82A与存储功能 A2部分的区83A之间保证了相应于功能A1部分的备用区82B。在存储 功能A2部分的区83A与存储功能B1部分的区85 A之间保证了相应于功 能A2部分的备用区83B和相应于模块A的备用区81A。在存储功能B1 部分的区85A与存储功能B2部分的区86A之间保证了相应于功能B1部 分的备用区85B。在存储功能B2部分的区86A与存储功能C1部分的区 88A之间保证了相应于功能B2部分的备用区86B和相应于模块B的备 用区84A。在存储功能C1部分的区88A与存储功能C2部分的区89A之 间保证了相应于功能C1部分的备用区88B。在跟随存储功能C2部分的 区89A之后的地址中,相应于功能C2部分的备用区89B,相应于模块C 的备用区87A,以及相应于整个执行程序71的备用区95按照这样的顺 序被相继保证。
地址表利用地址和程序存储于其中的区域大小定义每个程序的对应关系。启动区具有记录于其上的启动程序以及执行程序71中的程 序更新程序。启动程序包含读取面板功能和数据接收功能的每个模块 的程序的命令。
回到图7,当打开电源时,功能执行部分51读取存储在启动区中 的启动程序给RAM 112对于执行。执行启动程序之后,功能执行部分 51读取存储在区93中的地址表。其参考地址表以指定其中存储面板功 能的程序的区,并且从执行的区读取面板功能的程序。此外,其参考 地址表以指定其中存储数据接收功能的程序的区,并且从执行的区读 取相关程序。
随着功能执行部分51执行面板功能的程序,其接受由用户输入给 操作部分115的操作。当接受操作时,功能执行部分51参考地址表以 指定其中存储相应于该操作的功能的程序的区,并且读取存储在指定 区中的程序以便执行。此外,随着功能执行部分51执行数据接收功能 的程序,数据通信控制部分117在其中输入从其它MFP IOOA、 IOOB、 IOOC,或连接到网络2的个人计算机(PC)中接收的操作。当输入操作 时,功能执行部分51参考地址表以指定其中存储相应于该操作的功能 的程序的区,并且读取存储在指定区中的程序以便执行。
当执行所述功能时,功能执行部分51在快擦写存储器113中存储 每个功能的性能作为性能信息。此外,如果当执行所述功能时出现诸 如误差的缺陷,则功能执行部分51在快擦写存储器113中存储缺陷出 现信息。
图9示出性能信息的例子。参考图9,性能信息73存储每个功能的 使用次数和频率。使用次数表明由功能执行部分51执行相关功能多少 次,以及频率是指由功能执行部分51执行功能的次数与由功能执行部 分51执行任意功能的总次数的比率。功能执行部分51可同时执行多个 功能。例如,其可同时执行复制功能和整理功能。在这种情况下,其 一次将总次数计数为全部。
图10示出了缺陷出现信息列表的例子。参考图IO,缺陷出现信息 列表75存储包含一组功能和缺陷代码, 一个缺陷等级,以及出现频率的缺陷出现信息。针对各种缺陷预定缺陷代码。针对每组功能和缺陷 代码预定缺陷等级。虽然相同的缺陷可针对不同功能出现,其可在缺
陷等级上有所不同。在图10中,出现于执行模块A的功能A2时的缺陷 代码C-0011的缺陷被分配了缺陷等级A,而出现于执行模块B的功能 B2时的相同缺陷代码C-0011的缺陷被分配缺陷等级B。出现频率是指 由缺陷代码指定的缺陷的出现次数与执行相关功能的总次数的比率。
回到图7,更新信息获得部分57将更新信息的发送请求发送到服 务器200,并且从服务器200中接收更新信息231。具体地,其控制数 据通信控制部分117来发送更新信息的发送请求,并且当数据通信控 制部分117从服务器200中接收更新信息231时,从数据通信控制部分 117输入更新信息231 。更新信息获得部分57输出从数据通信控制部分 117中输入的更新信息231给确定部分59和警告部分61 。
确定部分59基于存储在快擦写存储器113中的性能信息73,确定 是否更新执行程序71。当其决定更新执行程序71时,其确定用于更新 的程序(此后,被称作"目标程序")。具体地说,基于更新信息231,其
序更^版本的程序的功能。当性能信息具有之前已经执行指定功能的 记录时,确定更新执行程序71。此时,指定功能的较新版本的程序被 确定为目标程序。利用程序的功能和版本指定目标程序。其可被配置 成以性能信息具有以超过预定水平的频率执行指定功能的记录为条 件,而不是以性能信息具有之前已经执行相关功能的记录为条件来确 定更新执行程序。
此外,确定部分59基于缺陷出现信息列表75,确定是否更新执行 程序71。具体地,其读取存储在快擦写存储器113中的缺陷出现信息 列表75,并且指定包含在记录于缺陷出现信息列表75上的缺陷出现信 息中的功能(遭受缺陷)。然后,其确定包含在缺陷出现信息中的缺陷 等级和出现频率是否符合预定的缺陷条件。在其匹配的情况下,如果 在更新信息231中定义的、并且与指定功能(遭受缺陷)相关的那些程序 中间,存在具有比存储在快擦写存储器113中的执行程序71的指定功
20能部分的程序的更新版本的程序,则其确定更新执行程序71。此时, 与指定功能(遭受缺陷)相关的、并且具有比存储在快擦写存储器113
图ll示出了缺陷条件表的例子。定义缺陷条件的缺陷条件表由 MFP 100的管理员设置并且被预先存储在快擦写存储器113中。参考图 11,缺陷条件表定义了必须对其进行更新的缺陷等级。例如,编号l 的缺陷条件定义了如果缺陷等级是A,则必须更新。此外,缺陷条件 表定义了必须对其更新的一组缺陷等级、出现的次数和/或出现频率。 例如,编号2的缺陷条件定义了如果缺陷等级是B,出现的次数是两次 或更多,以及出现频率是50。/。或更多的话,则必须更新。更进一步, 缺陷条件表定义了必须对其进行更新的一组缺陷等级与功能。例如, 编号3的缺陷条件定义了如果缺陷等级是B或更高,即A或B,则必须 对功能A2更新。此外,缺陷条件表定义了必须对其进行更新的一组功 能和缺陷代码。例如,编号4的缺陷条件定义对于功能B1组和缺陷代 码C — 0003更新是必须的。
回到图7,确定部分59参考更新信息231中的紧急度,以便基于紧 急度确定是否更新执行程序71。具体地说,如果由更新信息231分配 给一个程序的紧急度符合预定的紧急条件,则其决定利用相关的程序 作为目标程序更新执行程序71。此外,确定部分59基于更新信息231 中的紧急度和性能信息确定是否更新执行程序71。具体地说,如果分 配给一个程序的紧急度,以及相关程序的功能的使用的次数或使用频 率符合紧急条件,则其决定利用相关的程序作为目标程序更新执行程 序71。
图12示出了紧急条件表的例子。参考图12,定义缺陷条件紧急条 件表由MFP 100的管理员设置并且被预先存储在快擦写存储器113中。 紧急条件表包含定义了必须对其进行更新的紧急度的紧急条件。例 如,编号1的紧急条件定义紧急度A要求更新。此外,紧急条件表包含 指出必须对其更新的一组紧急度和使用历史。例如,编号2的紧急条 件定义了紧急度为B或更高,特别为B,并且有一个使用历史的条件作为要求更新的条件。基于相应于所述程序的功能的性能信息73中的使 用的次数,确定使用历史的出现/不存在。如果使用的次数是l或更大, 则确定有使用的历史。此外,编号3的紧急条件定义了紧急度为C,有 使用的历史,并且使用频率是20%或更多的条件作为要求更新的条 件。基于相应于所述程序的功能的性能信息73中的使用的次数,确定 使用频率。
回到图7,当确定部分59决定更新执行程序71时,其通知更新部 分55用于指定目标程序的识别信息。识别信息包含用于指定程序的功 能和版本信息的功能规范信息。在已经确定多个目标程序的情况下, 用于指定各个目标程序的多条识别信息被通知给更新部分55。
当从确定部分59通知目标程序的识别信息时,更新部分55使下载 部分53从服务器200下栽所述目标程序。下栽部分53控制数据通信控 制部分117以发送包含在从更新部分55输入的通知中的识别信息给服 务器200,并且从服务器200中接收所发送的目标程序。下栽部分53将 接收的目标程序输出给更新部分55。当从下栽部分53输入目标程序 时,更新部分55利用该目标程序,部分地更新存储在快擦写存储器113 中的执行程序71。具体地说,其利用从服务器200接收的目标程序重 写部分执行程序71。此外,更新部分55在必要时重新启动CPU111。
现在将描述执行程序的部分更新。此处,将通过例子来说明利用 作为更新源的功能B2,的新程序(目标程序)来更新功能B2的程序的情 况。首先,参考图8A,功能B2的程序被写入存储功能B2的程序的区 86A中用于更新。如果功能B2,的程序的容量大于区86A的电容,则备 用区86B也被用于在其中写入程序。此外,如果功能B2,的程序的容量 大于区86A的容量与备用区86B的容量的总和,则备用区84A也被用于 在其中写入程序。
图8B示出了在更新功能B2的程序之后,快擦写存储器中的执行 程序存储区的例子。参考图8A和8B,功能B2,的程序被存储在相应于 存储功能B2的程序的区86A新区86C,备用区86B和部分备用区84A 中。备用区84A的剩余区84B被保留为新备用区。存储在区93中的地址表也被更新。具体地,将功能B2的程序与区86A联系起来的信息被修 改成将功能B2 ,的程序与区86C联系起来的信息。
如上所述,当更新功能B2的程序时,不必重写其它功能A1、 A2、 Bl、 C1和C2。这意^^未着不必重写整个执行程序71,而相反,可以部 分地重写程序。因此,与重写整个执行程序71的情况相比较,更新工 作所需的时间被减少了。当功能B2的程序的容量大于区86A的容量, 备用区86B的容量以及备用区84A的容量的总和时,存储在备用区84A 之后的地址中的功能C1的程序和功能C2的程序也被重写。在这种情 况下,使用相应于整个执行程序71的备用区95。即使在这种情况下, 也不必重写存储在功能B2的程序被存储于其中的区86A前面的地址中 的功能A1、 A2和B1,因而,可部分地更新执行程序71。
回到图7,更新部分55在预定时间利用从服务器200接收的目标程 序部分地更新存储在快擦写存储器113中的执行程序71。预定的时间 可以是在输入关掉MFP IOO的电源的指令之后,在接通MFP IOO的 电源之后,由用户预定的时间等。预定时间优选地被设置于MFP 100 可能很少会被使用的时区内,例如其可以是夜间。虽然在重写执行程 序或其然后被重新启动期间,MFP100不可用,但是在输入打开或关 掉电源的指令之后,或在预定时间使用MFP IOO是不可能或只有非常 小的可能性。因而,当用户试图^f吏用MFP IOO时,可能4吏MFP100立 即就绪。此外,每个MFP 100、 IOOA、 IOOB和IOOC的预定时间最好 不同,以阻止MFP同时更新执行程序。这避免了两个或更多MFP同时 变成不可用的意外事件。
历史更新部分63获得存储在每个其它MFP IOOA、 IOOB和IOOC 中的性能信息,并且利用所获得的性能信息更新存储在快擦写存储器 113中的性能信息73。因此,MFP100的快擦写存储器113存储基于由 MFPIOO、 IOOA、 IOOB和IOOC执行的功能的性能信息。MFPIOOA、 IOOB和IOOC的使用状态可被返回给MFP 100,其保证用于更新执行程 序71的程序被恰当地确定。此外,即使在主要使用其它MFP IOOA、 IOOB和IOOC之一的用户使用MFP IOO的时候,与安装在主要使用的MFP中相同的程序也在MFP IOO执行,因此,用户可使MFP IOO执行 与主要使用的MFP中所执行的相同的功能。
此外,历史更新部分63获得存储在其它MFP IOOA、 100B和100C 中的缺陷出现信息列表,并且利用包含在所获得的缺陷出现信息列表 中的缺陷出现信息更新存储在快擦写存储器113中的缺陷出现信息列 表75。由于MFP IOOA、 100B和100C中出现缺陷的状态可被返回给 MFP100,所以可以恰当地确定用于更新执行程序的程序。此外,即 使出现在其它MFP IOOA、 100B和100C中的任何一个的缺陷还没有出 现于MFP100中,也可以肯定能预先阻止缺陷的出现。
警告部分61具有从更新信息获得部分57中输入的更新信息231 。 警告部分61确定在功能执行部分51执行一种功能之前是否必须更新 执行程序71。此处,由功能执行部分51执行的功能被称作"目标功能"。 警告部分61参考更新信息231以确定是否存在用于更新相应于目标功 能的执行程序71的部分的程序。对于有关是否存在用于更新相应于目 标功能的执行程序71中的部分的程序的判定,在相应于目标功能的执 行程序71的部分的程序版本与更新信息231中定义的目标功能的程序 版本之间做出比较。如果更新信息231了定义比相应于目标功能的执 行程序71中的部分的程序版本新的程序,则确定存在用于更新相应于 目标功能的执行程序71的部分的程序。
当警告部分61确定存在用于更新相应于目标功能的执行程序71 的部分的程序时,其发出一个警告。例如,警告可以是输出到显示部分 114的警告信息,或从喇叭输出的警告声音。当用户在操作部分115处 输入指令以更新执行程序71时,警告部分61接受更新指令,并且输出 相同的指令给更新部分55。更新指令包含用于更新相应于目标功能的 执行程序71的部分的指定目标程序的识别信息。识别信息包含用于指 定功能的功能规范信息和版本信息。当更新部分55接受更新指令时, 其使下栽部分53从服务器200中下栽由识别信息指定的程序,并且利 用下载的程序更新执行程序。
如果用户没有通过操作部分115输入指令来更新执行程序,则警告部分61无需将更新指令输出给更新部分55,就将执行许可输出给功 能执行部分51。当输入执行许可时,功能执行部分51根据先前输入的 操作执行功能。
存在一种情况,其中即使在服务器200存储用于更新执行程序的 一部分的程序时,如果相关部分对应于之前尚未被用户使用的功能或 使用频率较低的功能,则不利用所述程序更新执行程序71。然而,当 用户试图使MFP IOO实际执行所述功能时,发出警告来通知用户出现 可被用于更新相应于相关功能的执行程序71的部分的程序。这允许用 户在该时间点处选择是否更新程序,并且利用该更新程序执行所述功 能,或无需更新而利用当前版本的程序执行所述功能。
图13的流程解了程序更新处理的流程的例子,如CPU111执 行存储在快擦写存储器113中的执行程序71,所述程序更新处理由 CPU lll执行。MFP IOO启动之后,CPU lll将存储在快擦写存储器 113中的执行程序71加栽到RAM 112,并且执行执行程序71的引导部 分。执行程序71的引导部分包含程序更新程序。
参考图13,首先,CPU 111从服务器200中获得更新信息(步骤 SOl)。其将更新信息的发送请求发送给服务器200,并且从服务器200 中接收所发送的更新信息231。然后,其确定是否已经接受了一个操 作(步骤S02)。如果是,则处理前进到步骤S03;否则,处理前进到步 骤S04。当用户在操作部分115处输入了一个捧作时,从操作部分115 接受输入操作。进一步地,在MFP IOO由其它MFP IOOA、 IOOB、 100C 中的一个或连接到网络2的PC远距控制的情况下,当数据通信控制部 分117从远程控制源的装置接收一个操作时,从数据通信控制部分117 接受所述操作。
在随后的步骤S03中,根据在步骤S02中所接受的操作,进行功 能执行处理以执行一个功能。稍后将详细地描述功能执行处理。在随 后步骤S04中,确定是否是指定的定时。如果是,则处理前进到步骤 S05;否则,处理返回到步骤S02。指定的定时是预定的,其可以是例 如输入关掉MFP IOO的电源的指令之后,打开MFP IOO的电源之后,或由用户预定的时间。指定的定时优选地被设置在MFP IOO不太可能 被使用的时区内。这是由于当更新执行程序71或在稍后描述的处理中 重新启动MFP IOO时,MFP IOO在相关时间段内将是不可用的。
在步骤S05中,执行历史更新过程。稍后将详细描述的历史更新 过程是从其它MFP IOOA、 IOOB和IOOC中收集性能信息和缺陷出现信 息,以及更新存储在MFP 100的快擦写存储器113中的性能信息73和缺 陷出现信息列表75的处理。
在步骤S06中,执行目标程序确定处理。稍后将详细描述的目标 程序确定处理是确定用于更新执行程序71的目标程序的处理。由于在 步骤S05中执行历史更新过程,所以在MFPIOO、 IOOA、 IOOB和IOOC 中共享性能信息73和缺陷出现信息列表75。这保证了适当功能和版本 的程序被确定为目标程序。此外,确定出现在其它MFP中的缺陷的地 址的功能和版本的程序可被确定为目标程序。因此,可以在MFPIOO 中阻止其它MFP所遭受的缺陷的出现.
在步骤S07中,确定目标程序是否已经由目标程序确定处理确定 了,如果是,则处理前进到步骤S08;否则,处理返回到步骤S02。这 是由于如果没有用于更新相同程序的目标程序,则不可能更新执行程 序71。
在步骤S08中,从服务器200中获得目标程序。具体地说,包含指 定目标程序的识别信息的发送请求被发送到服务器200,并且接收从 服务器200中发送的目标程序。识别信息包含功能和版本信息。从服 务器200接收的目标程序被存储在快擦写存储器113中(步骤S09),并且 利用所述目标程序更新执行程序71(步骤S10)。具体地,利用目标程序 重写相应于该功能的执行程序71的部分。
在随后步骤S11中,确定重新启动是否是必须的。如果是,则处 理前进到步骤S12;否则,执行由目标程序更新的执行程序71,并且 处理返回到步骤S02。在步骤S12中,执行重新启动,并且终止处理。
图14的流程解了功能执行处理的流程的例子,其在图13中所 示的程序更新处理的步骤S03中被执行。参考图14,确定是否有用于更新执行程序71目标程序目标程序(步骤S21)。具体地,参考更新信息, 确定在相应于图12的步骤S02中所接受的操作的功能("目标功能")的 程序中间,是否存在比相应于目标功能的执行程序71的部分的程序更 新版本的程序。如果存在这样的程序,则该程序被确定为目标程序。 如果存在目标程序,则处理前进到步骤S22;否则,处理前进到步骤 S24。在步骤S22中,输出一个警告。此处,在显示部分114上显示指 出存在用于更新功能以及查询是否要更新程序的程序的消息。可选 地,可以听到蜂鸣器响。
在步骤S23中,确定来自用户的更新指令是否已被接受。当用户 按下用于输入更新指令、提供于操作部分115中的鍵时,从操作部分 115接受了更新指令。当接受了更新指令时,处理前进到图13中所示 的程序更新处理中的步骤S08。如果不接受更新指令,则处理前进到 步骤S24。当接受更新指令时,从服务器200接收在步骤S21中已被确 认存在的目标程序,并且利用从服务器接收的程序部分更新执行程序 71。因而,当用户输入一个操作时,基于最近更新的执行程序71执行 相应于该操作的功能。因此,在一个适当时间可以将执行程序更新到 较新版本。此外,可以阻止缺陷的出现。
在步骤S24中,针对相应于该操作的功能执行执行程序71部分。 CPU 11 l基于图13中所示的程序更新处理的步骤S02中所接受的操作, 指定多种功能中的任何一种,并且执行相应于指定功能的执行程序71 的部分。同样地,基于执行程序71执行相应于该操作的功能。功能可 以是被分类为上面描述的模块的多种功能中的任何一种,其包含例如 启动功能,面板功能,数据接收功能,复制功能,扫描功能,BOX功 能,传真功能,ADF功能,整理功能,认证功能,文件转换功能,图 像处理功能,以及网络功能。 一个操作可指定多种功能,在这种情况 下执行相应于各个指定功能之一的执行程序71的部分。
在随后的步骤S25中,基于在步骤S24中执行功能的结果,更新 存储在快擦写存储器113中的性能信息73。具体地说,所执行功能的 使用次数递增l,并且在性能信息73中还更新了频率。然后,确定是否出现缺陷(步骤S26)。如果缺陷作为执行功能的结果出现,则处理前 进到步骤S27;否则,处理跳过步骤S27回到程序更新处理。在步骤S27 中,基于在步骤S24中执行功能的结果,更新存储在快擦写存储器113 中的缺陷出现信息列表75。具体地说,针对包含指定执行功能的信息 和相应于出现缺陷的缺陷代码的缺陷出现信息,更新出现频率。
图15的流程解了历史更新处理的流程的例子,其在图13中所 示的程序更新处理的步骤S05中被执行。参考图15,从其它MFP IOOA、 100B和100C中收集性能信息(步骤S31)。具体地说,性能信息的发送 请求被发送到其它MFP IOOA、 IOOB和IOOC中的每个,并且从其中的 每个接收性能信息。利用所接收的性能信息更新存储在快擦写存储器 113中的性能信息73(步骤S32)。同样地,基于MFPIOO、 IOOA、 100B 和100C中执行的功能的性能信息被存储在MFP IOO的快擦写存储器 113中。
接下来,从其它MFP IOOA、 IOOB和IOOC中收集缺陷出现信息(步 骤S33)。具体地说,缺陷出现信息列表的发送请求被发送到其它MFP IOOA、 IOOB和IOOC中的每个,并且从其中的每个接收列表。然后,
在快擦写存储器113中的缺陷出现信息列表75(步骤S34)。这使得出现 在其它MFP100A、 IOOB和IOOC的任何一个中的缺陷的缺陷出现信息 能被存储在MFP100中。因此,利用可阻止缺陷出现的较新版本的程 序可以部分更新执行程序71 。
图16的流程解了目标程序确定处理的流程的例子,其在图13 中所示的程序更新处理的步骤S06中被执行。参考图16,首先,从服 务器200中获得更新信息231(步骤S41)。具体地说,更新信息231的发 送请求被发送到服务器200,并且接收从服务器200中发送的更新信息 231。然后,执行基于紧急度的目标程序确定处理。
接下来,确定是否存在缺陷出现信息(步驟S43)。具体地,确定 缺陷出现信息是否被存储在缺陷出现信息列表75中。如果是,则处理 前进到步骤S44;否则,处理跳过步骤S44前进到步骤S45。在步骤S44中,执行基于缺陷出现信息的目标程序确定处理,并且处理前进到步骤S45。在步骤S45中,执行基于历史信息的目标程序确定处理,并且 处理回到程序更新处理。图17的流程解了基于紧急度的目标程序确定处理的流程的 例子,其在图16中的步骤S42中被执行。参考图17, CPU111参考更新 信息231以确定是否存在被分配了紧急度A的程序(步骤S51)。如果存 在紧急度A的程序,则处理前进到步骤S52;否则,处理前进到步骤S54。 在步骤S52中,提取紧急度A的程序。如果存在两个或更多被分配紧急 度A的程序,则提取全部程序。在提取的程序中间,确定最新版本的 程序为用作目标程序的程序(步骤S53),并且处理前进到步骤S54。在 从服务器200接收图6中所示的更新信息231的情况下,模块A的功能 Al的版本l.l程序被确定为目标程序。在步骤S54中,确定是否存在被分配紧急度B的程序。如果有, 提取相关程序,并且处理前进到步骤S55。否则,处理前进到步骤S59。 在步骤S55中,从快擦写存储器113中读出性能信息73。然后,针对相 应于步骤S54中提取的紧急度B的程序的功能,确定是否存在使用的历 史(步骤S56)。如果之前已经至少执行了一次该功能,则判定存在使用 的历史。如果存在使用的历史,则处理前进到步骤S57;否则,处理 前进到步骤S59。在从服务器200接收图6中所示的更新信息的情况下,被分配紧急 度B的程序为模块A的功能A1的版本1.2程序,模块C的功能C1的版 本l.l程序,以及模块C的功能C2的版本1.2程序。接下来,参考图9中 所示的性能信息73,模块A的功能A1之前已被使用了十次,所以判定 存在其使用的历史。至于模块C的功能C1和C2,之前没有使用过它们, 所以确定没有其使用的历史。在步骤S57中,确定在步骤S56中被确认有使用历史的、即在该 例子中功能A1的版本1.2程序的紧急度B的程序是否具有比此时已被 设置成目标程序的程序更新的版本。如果具有较新版本,则处理前进 到步骤S58;否则,处理前进到步骤S59。此处,对于模块A的功能A1的程序,版本l.l程序已被设置成目标程序。因而,确定程序具有新版本。在步骤S58中,在步骤S56中被确认有使用历史的程序被确定为用 作目标程序的程序,来取代步骤S53中被设置成目标程序的程序。此 处,模块A的功能A1的版本1.2程序被确定为目标程序。这是为了将较 新版本的程序设置为目标程序。如果在步骤S53中尚未确定用作目标 程序的程序,则在步骤S56中被确认有使用历史的程序被确定为用作 目标程序的程序。在步骤S59中,确定是否存在一个被分配了紧急度C的程序。如 果是,处理前进到步骤S60;否则,处理回到目标程序确定处理。在 步骤S60中,从快擦写存储器113中读出性能信息73。然后,确定与在 步骤S59中确认存在的紧急度为C的程序中的更新部分相应的功能是 否以20。/。或更高的使用频率被使用过(步骤S61)。如果使用频率为20% 或更多,选择相关程序,并且处理前进到步骤S62。否则,处理回到 目标程序确定处理。当从服务器200接收图6中所示的更新信息时,参考图9中所示的性能信息73,被分配紧急度c并且其功能的使用频率为2or。或更多的程序是模块A的功能A1的版本1.3和版本1.4程序,以及模块A的功能 A2的版本1.1和版本1.2程序。当对于相同功能存在多个版本程序时, 选择较新的一个版本。因此,选择了功能A1的版本1.4程序和功能A2 的版本1.2程序。在步骤S62中,确定步骤S61中所选择的程序、即该例子中功能 A1的版本1.4程序和功能A2的版本1.2程序是否每个均有比此时已被 设置成目标程序的程序更新的版本。如果是,则处理前进到步骤S63; 否则,处理回到目标程序确定处理。在步骤S63中,在步骤S59中所选 择的程序每个均被确定为用作目标程序的程序,来取代步骤S53或S58 中被设置成目标程序的程序。这是为了将较新版本的程序设置为目标 程序。如果在步骤S53或S58中没有确定用作目标程序的程序,则在步 骤S59中所选择的程序被确定为用作目标程序的程序。此处,由于模 块A的功能A1的版本1.2程序在那之前已被确定为目标程序,所以功能A1的版本1.4程序和功能A2的版本1.2程序两者都被确定为目标程序。图18的流程解了基于缺陷出现信息的目标程序确定处理的 流程的例子,其在图16中的步骤S44中被执行。参照图18, CPU 111 从存储在快擦写存储器113中的缺陷出现信息列表75中读取缺陷出现 信息(步骤S71),并且读取缺陷条件(步骤S72)。此处,假定读取包含 在图10中所示的缺陷出现信息列表75和图11中所示的缺陷条件的缺 陷出现信息。在下面的步骤中,提取符合缺陷条件的缺陷出现信息以 确定用作目标程序的程序。在步骤S73中,确定是否存在被分配了缺陷等级A的任何缺陷出 现信息。如果是,则处理前进到步骤S74;否则,处理前进到步骤S77。 在步骤S74中,确定是否有用于更新执行程序71的功能的程序。具体 地,确定更新信息是否包含任何具有包含在被分配了缺陷等级A的缺 陷出现信息的功能,以及具有比相应于相关功能的执行程序71的部分 更新版本的程序。如果有这样的程序,则处理前进到步骤S75;否则, 处理前进到步骤S77。在图10中所示的缺陷出现信息列表中,编号3的 缺陷出现信息被分配了缺陷等级A,并且功能为模块A的功能A2。在 从服务器200接收图6中所示的更新信息231的情况中,存在使模块A的 功能A2的部分更新的版本1.2程序。因而,在这种情况下,处理前进 到步骤S75。在步骤S75中,确定在其中更新了包含在被分配了缺陷等级A的 缺陷出现信息的功能的部分、步骤S74中确认出现的的程序,即该例 子中的版本1.2程序是否具有比此时已被设置成目标程序的程序更新 的版本。如果是,则处理前进到步骤S76;否则,处理前进到步骤S77。 此处,功能A2的版本1.2程序已被设置成目标程序,因而处理前进到 步骤S77。在步骤S76中,其中更新了包含在被分配了缺陷等级A的缺陷出 现信息中的功能的部分的程序被确定为用作目标程序的程序,取代在 那之前已被设置成目标程序的程序。这是为了将较新版本的程序设置 为目标程序。在步骤S77中,确定是否有任何被分配了缺陷等级B的缺陷出现 信息。如果是,则处理前进到步骤S78;否则,处理前进到步骤S82。 在步骤S78中,确定包含在被分配缺陷等级B的缺陷出现信息的功能之 前是否已经出现两次或更多次,并且其出现频率是否为50%或更多。 如果该条件满足,则处理前进到步骤S79;否则,处理前进到步骤S82。在步骤S79中,确定更新信息是否包含任何具有包含在被分配缺 陷等级B的缺陷出现信息的功能,并且可以更新执行程序71中的功能 的部分的程序。如果有这样的程序,则选择该程序,并且处理前进到 步骤S80。否则,处理前进到步骤S82。在图10中所示的缺陷出现信息 列表75中,编号1和编号5的缺陷出现信息被分配了缺陷等级B。对于 编号l的缺陷出现信息,出现的次数是一次,并且出现频率是10%, 因此不满足所述条件。另一方面,对于编号5的缺陷出现信息,出现 的次数是四次,并且出现频率是57%,因此满足所述条件.编号5的 缺陷出现信息的功能是模块B的功能B2。此处,参考图6中所示的更新 信息,具有模块B的功能B2,并且版本比执行程序71中的功能B2部分 的版本1.0程序新的程序是功能B2的版本1.2程序。因而,在这种情况 下,选择功能B2的版本1.2程序,并且处理前进到步骤S80。在步骤S80中,确定在步骤S79中所选择的程序,即该例子中的 功能B2的版本1.2程序;i否具有比此时已被设置成目标程序的程序更 新的版本。如果是,则处理前进到步骤S81;否则,处理前进到步骤 S82。在步骤S81中,在步骤S79所选择的、用于更新执行程序71的程 序被确定为用作目标程序的程序,取代在那之前已被设置成目标程序 的程序。这是为了将较新版本的程序设置为目标程序。此处,功能B2 的版本1.2程序被最新确定为目标程序。在步骤S82中,确定是否有任何缺陷出现信息匹配其它缺陷条件。 如果有,提取相关缺陷出现信息,并且处理前进到步骤S83。否则, 处理前进到步骤S86。在步骤S83中,确定更新信息是否包含任何具有 包含在所提取缺陷出现信息中的的功能,并且可以更新相应于相关功 能的执行程序71部分的程序。如果是,选择该程序,并且处理前进到步骤S84。否则,处理前进到步骤S86。在图ll中所示的缺陷条件表中, 剩余的缺陷条件有编号3和编号4。编号3的缺陷条件要求功能是A2并 且缺陷等级是B或更大。编号4的缺陷条件要求功能为B1并且缺陷代码 为C- 0003。在图9中所示的缺陷出现信息列表75中,匹配编号3的缺 陷条件的缺陷出现信息为编号3的缺陷出现信息,而没有匹配编号4的 缺陷条件的缺陷出现信息。因而,提取编号3的缺陷出现信息。包含 在编号3的缺陷出现信息中的功能为功能A2。具有功能A2,并且版本本1.2程序。因而,在这种情况下,处理前进到步骤S84。在步骤S84中,确定步骤S83中所选择的程序的版本是否比此时 已被设置成目标程序的程序版本新。如果是,则处理前进到步驟S85; 否则,处理前进到步骤S86。此处,功能A2的版本1.2程序已被设置成 目标程序,因而处理前进到步骤S86。在步骤S85中,步骤S83中所选 择的程序被确定为用作目标程序的程序,取代在那之前已被设置成目 标程序的程序,这是为了将较新版本的程序设置为目标程序。在步骤S86中,清除缺陷出现信息,并且处理回到目标程序确定 处理。这是因为,由于确定用于基于缺陷出现信息更新执行程序的程 序的处理已经完成,所以即使利用相同的缺陷出现信息执行上述处 理,结果也将会相同。图19的流程解了基于历史信息的目标程序确定处理的流程 的例子,其在图16中的步骤S45中被执行。参照图19,读取存储在快 擦写存储器113中的性能信息(步骤S91)。然后,从更新信息中指定的 程序中选出一个程序作为处理的目标(步骤S92),并且确定相应于作为 处理目标的程序的更新部分的功能的使用的次数是否超过阈值T(步 骤S93)。如果使用的次数超过阈值T,则处理前进到步骤S94;否则, 处理前进到步骤S96。阈值T由MFP IOO的管理员或制造商预先设置。 例如,当图6中所示的更新信息中的模块C的功能C1被设置成处理目 标时,参考图9中所示的性能信息,模块C的功能C1的使用的次数是 零。在这种情况下,处理前进到步骤S96。在步骤S94中,确定作为处理目标的程序的版本是否比此时已被 设置成目标程序的程序的版本更新。如果是,则处理前进到步骤S95; 否则,处理前进到步骤S96。在步骤S95中,作为处理目标的程序被确 定为用作目标程序的程序,取代在那之前已被设置成目标程序的程 序,以便将较新版本的程序设置为目标程序。在步骤S96中,确定是否有作为下一个处理的目标的程序。如果 有,则处理返回到步骤S92;否则,处理回到目标程序确定处理。当假定阈值T是10时,根据图9中所示的性能信息73,模块A的功 能A1的使用的次数等于或大于阈值T。同样地,在模块A的功能A1的 版本1.0到1.4程序中间的最新版本的程序上执行步骤S94中的处理。功 能A1的版本1.4程序已被设置成目标程序,因而不执行步骤S95。根据图16中所示的目标程序确定处理,功能Al的版本1.4程序并 且功能A2的版本1.2程序被设置成目标程序。因此,在执行程序71中, 相应于功能A1的部分被更新成版本1.4程序,而相应于功能A2的部分 被更新成版本1.2程序,从而部分地更新执行程序71。相应于其它功能 Bl、 B2、 C1和C2的部分未被更新,而保留为版本l.O。如上所述,根据本实施例的MFP IOO执行存储在快擦写存储器 113中的执行程序71,并且如果执行多种功能中的至少一个,则其针 对每一执行功能,更新指出已经执行所述功能的性能信息73。然后, 基于存储在服务器200中的性能信息73和更新信息231,其确定将被更 新的执行程序71中的功能,并且还从存储在服务器中的程序223A 、 223B、 227A、 227B、 229A和229B的多个版本中确定用于更新执行程 序71的适当版本的程序为目标程序。然后,其下载目标程序,并且利 用该目标程序更新执行程序71。同样地,不必利用存储在服务器200中的程序223A、 223B、 227A、 227B、 229A和229B的多个版本中间的最新版本的程序更新执行程序。 仅在相应于之前已经执行的功能的部分中,相应于遭受缺陷的功能的 部分中,或相应于被分配了高紧急度的功能的部分中部分地更新执行 程序71。这减少了更新执行程序的次数。此外,即使在尽管较新版本的程序被存储在服务器200中,但是 尚未更新执行程序71的情况下,当接受执行可被相关版本的程序更新 的功能的指令时,输出一个警告。这允许当发出指令执行该功能时, 更新执行程序71。此外,可以在指定时间更新执行程序71。这保证了在MFP 100 不太可能被使用的时区内更新执行程序。更进一步,从其它MFP 100A、 100B和100C中收集性能信息和缺 陷出现信息,并且基于它们更新存储在自身装置中的性能信息73和缺 陷出现信息列表75。这保证了可确定用于更新的程序反映其它MFP 100A、 100B和100C的使用历史,并且出现在其它MFP中的缺陷可被 阻止出现于自身装置中。修改在上面描述的实施例中,MFP 100、 100A、 100B和100C确定是 否更新执行程序71。在该修改中,这样配置,使服务器200确定是否 更新存储在每个MFP 100、 IOOA、 100B和100C中的执行程序71。图20的功能框图示出了修改例中服务器中提供的CPU 201 A的功 能以及HDD 207中存储的数据的例子。参照图20,修改的功能框图不 同于图5中所示的,其中增加了历史接收部分215和比较确定部分217。 历史接收部分215从MFP100、 IOOA、 100B和100C的任何一个中接收 历史。此处,假定从MFP100接收历史。历史包含性能信息73、缺陷 出现信息列表75、以及存储在MFP 100中的执行程序71的各个功能的 程序的版本。历史接收部分215将所接收的历史,用于指定发送历史 的MFP的装置识别信息,以及执行程序71的各个功能的程序的版本输 出给比较确定部分217。比较确定部分217基于从历史接收部分215输入的历史中的性能 信息,确定是否更新执行程序71。当其决定更新执行程序时,其确定 用于更新的程序(此后,被称作"目标程序")。具体地说,基于存储在 HDD 207中的更新信息231,其指定具有比相应在MFP IOO中执行程序 71的功能的程序更新版本的程序的功能。当性能信息具有之前已经执行指定功能的记录时,确定更新执行程序71。此时,指定功能的较新 版本的程序被确定为目标程序。利用程序的功能和版本指定目标程 序。其也可以被配置成不以性能信息具有之前执行的指定功能的记录 为条件,而是性能信息具有利用超过指定等级的频率执行指定功能的 记录为条件来确定更新执行程序。此外,比较确定部分217基于包含在从历史接收部分215输入的历 史中的缺陷出现信息列表75,确定是否更新执行程序71。具体地说, 其指定包含在记录于缺陷出现信息列表75上的缺陷出现信息中的功 能(遭受缺陷)。然后,其确定包含在缺陷出现信息中的缺陷等级和出 现频率是否符合预定的缺陷条件。在其匹配的情况下,如果在更新信 息231中定义的、并且与指定功能(遭受缺陷)相关的那些程序中间,存 在具有比相应于指定功能的执行程序71中的部分的版本新的程序,则 其确定更新执行程序71。此时,与指定功能(遭受缺陷)相关的,并且 具有比存储在快擦写存储器113中的执行程序71的相关功能的部分的 版本新的程序被确定为目标程序。服务器200在HDD 207中存储图11 中所示的缺陷条件表。比较确定部分217参考更新信息231中的紧急度,基于该紧急度确 定是否更新执行程序71。具体地说,如果由更新信息231分配给该程 序的紧急度匹配预定的紧急条件,则确定利用相关的程序作为目标程 序来更新执行程序71。此外,比较确定部分217基于更新信息231中的 紧急度和性能信息决定是否更新执行程序71。具体地说,如果分配给 该程序的紧急度,以及相关程序的功能的使用次数或使用频率匹配紧 急条件,则确定利用相关的程序作为目标程序来更新执行程序71。服 务器200在HDD 207中存储图12中所示的紧急条件表。当确定更新执行程序71时,比较确定部分217将指定用于更新执 行程序71的目标程序的识别信息输出给程序发送部分211。目标目标 程序发送部分211从HDD 207中读出从比较确定部分217输入的识别 信息所指定的目标程序,并且将所读出的目标程序发送到发送历史的 MFPIOO、 IOOA、 IOOB和IOOC中的一个。图21的功能框图示出了修改中的MFP IOO中提供的CPU 111A的 功能以及快擦写存储器113中存储的数据的概况。参照图21,该修改 的功能框图不同于图7中的,其中删除了确定部分59,增加了历史发 送部分65,并且修改了更新部分55A。参照图21,历史发送部分65将包含存储在快擦写存储器l 13中的 性能信息73和缺陷出现信息列表75的历史,以及执行程序71的各个功 能的版本发送给服务器200。响应于由历史发送部分65发送历史,下 栽部分53接收从服务器200中发送的目标目标程序,并且输出所接收 的目标程序给更新部分55A。当下栽部分53接收该目标程序时,更新 部分55A利用该目标程序更新存储在快擦写存储器113中由目标程序 指定的执行程序71中的该部分,使得执行程序71被更新部分55A部分 更新。在根据修改的程序更新系统中,MFP 100、 IOOA、 IOOB和IOOC 中的每个类似于上面描述的那些起作用。此外,服务器200负责确定 是否更新存储在每个MFP 100、 IOOA、 100B和100C中的执行程序71, 其可以减少各个MFP 100、 IOOA、 IOOB和IOOC的负担。虽然在以上实施例中已经描述了程序更新系统l,但是本发明当 然可被理解为包含图13-19中所示的处理的程序更新方法,或用于使计算机执行相关处理的程序更新程序。虽然已经详细地描述和示出了本发明,可以很清楚地理解其仅用 来说明和示例而不是用来限定的,本发明的精神和范围仅由所附权利 要求书限制。
权利要求
1.一种图像形成装置,其能够与存储多种更新程序以及包含多种功能中的每种的更新状态的更新信息的服务器通信,该图像形成装置包括一个程序存储部分,用来存储执行程序;一个功能执行部分,用来执行所述存储的执行程序,并且执行所述多种功能中的至少一种功能;一个性能存储部分,当执行所述多种功能中的任何一种时,存储与功能的执行有关的性能信息;一个确定部分,基于所述性能信息和存储在所述服务器中的所述更新信息,确定所述执行程序内将被更新的一个更新目标部分,以及从存储在所述服务器中的所述多种更新程序中确定用于更新所述执行程序的目标程序;以及一个更新部分,用来获得所述确定的目标程序,并且利用所述所获得的目标程序更新所述执行程序的所述更新目标部分。
2. 如权利要求1所述的图像形成装置,其中所述确定部分将与包 含在所述性能信息中的所述功能相关的所述执行程序中的 一 个部分 确定为所述更新目标部分,并且将其中更新了与包含在所述性能信息 中的所述功能相关的所述多种更新程序中的一种更新程序确定为所 述目标程序。
3. 如权利要求1所述的图像形成装置,其中 所述性能信息包含执行所述功能的频率,以及 所述确定部分将与所述性能信息中的所述频率不小于指定值的所述功能相关的所述执行程序中的一个部分确定为所述更新目标部 分,并且将其中更新了与包含在所述性能信息中的所述功能相关的所 述多种更新程序中的一种更新程序确定为所述目标程序。
4. 如权利要求1所述的图像形成装置,还包括一个警告部分,当 接受指令执行所述功能时,参考所述更新信息,并且如果在所述多种更新程序中存在任何更新程序,则输出一个警告,在所述任何更新程 序中与指示针对其接受执行指令的所述功能相关的部分被更新。
5. 如权利要求1所述的图像形成装置,其中 所述性能信息包含将指定当执行所述功能时出现的缺陷的缺陷识别信息与所述功能联系起来的缺陷信息,以及所述确定部分将与包含在所述缺陷信息中的所述功能相关的所 述执行程序中的一个部分确定为所述更新目标部分,并且将其中更新 了与包含在所述缺陷信息中的所述功能相关的部分的所述多种更新 程序中的 一种更新程序确定为所述目标程序。
6. 如权利要求1所述的图像形成装置,其中所述更新信息包含针对所述多种更新程序中的每种更新程序,表 明相应于所述多种功能中的每种的更新紧急度的紧急信息,以及所述确定部分不考虑所述性能信息,将与相应于表明指定的紧急 度的所述紧急信息的所述功能相关的所述执行程序中的一个部分确 定为所述更新目标部分,并且将其中更新了相应于所述更新目标部分 的一个部分的所述多种更新程序中的一种更新程序确定为所述目标 程序。
7. 如权利要求1所述的图像形成装置,其中所述更新部分在指定 的定时,获得所迷确定目标程序,并且利用所述所获得的目标程序更 新所述执行程序的所述更新目标部分。
8. 如权利要求1所述的图像形成装置,还包括 一个性能信息收集部分,从另一个图像形成装置获得有关所述其它图像形成装置执行所述多种功能中的任何一种的事件的性能信息。 以及一个性能信息更新部分,利用从所述其它图像形成装置获得的所 述性能信息更新存储在所述性能存储部分中的所述性能信息。
9. 如权利要求1所述的图像形成装置,其中所述性能信息包含表 明执行所述功能的信息。
10. —种图像形成装置,其能够与存储多种更新程序以及包含多种功能中的每种的更新状态的服务器通信,该图像形成装置包括一个程序存储部分,用来存储执行程序;一个功能执行部分,用来读取所述的存储执行程序,并且执行所 述多种功能中的至少一种功能;一个性能存储部分,当执行所述多种功能中的任何一种时,存储 与功能的执行有关的性能信息;一个性能信息发送部分,用来将存储在所述程序存储部分中的所 述执行程序的版本信息和所述性能信息发送给所述服务器;一个接收部分,其响应于所述性能信息的发送,从所述服务器中 接收所述执行程序内将被更新的更新目标部分,并且从存储在所述服 务器中的所述多种更新程序中接收用于更新所述执行程序的目标程 序;以及一个更新部分,利用所述接收的目标程序更新所述执行程序的所 述更新目标部分。
11. 如权利要求10所述的图像形成装置,还包括 一个更新信息接收部分,用来从所述服务器中接收所述更新信息;一个指令接受部分,用来接受执行一种功能的指令; 一个确定部分,基于所述更新信息,确定是否更新与由所述接受的指令指定的所述功能相关的所迷执行程序中的一个部分;以及 一个警告部分,当所述确定部分确定更新所述部分时,输出一个警告。
12. 如权利要求10所述的图像形成装置,其中所述更新部分在指 定的定时,利用所述接收的目标程序更新所述执行程序的所述更新目 标部分。
13. 如权利要求10所述的图像形成装置,还包括 一个性能信息收集部分,从另一个图像形成装置获得有关所述其它图像形成装置执行所述多种功能中的任何一种的事件的性能信息。 以及一个性能信息更新部分,利用从所述其它图像形成装置获得的所 述性能信息更新存储在所述性能存储部分中的所述性能信息。
14. 一种程序更新系统,包含一个存储多种更新程序以及包含多 种功能中的每种的更新状态的更新信息的服务器以及一个能够与所 述服务器通信的图像形成装置,所述图像形成装置包括一个程序存储部分,用来存储执行程序;一个功能执行部分,用来读取所述的存储执行程序,并且执行所 述多种功能中的至少一种功能;一个性能存储部分,当执行所述多种功能中的任何一种时,存储 与功能的执行有关的性能信息;一个性能信息发送部分,用来将存储在所述程序存储部分中的所 述执行程序的版本信息和所述性能信息发送给所述服务器;一个接收部分,其响应于所述性能信息的发送,从所述服务器中 接收所述执行程序内将被更新的更新目标部分,并且从存储在所述服 务器中的所述多种更新程序中接收用于更新所述执行程序的目标程 序;以及一个更新部分,利用所述接收的目标程序更新所述执行程序的所 述更新目标部分;以及 所述服务器包括一个确定部分,基于从所述图像形成装置接收的所述性能信息和 所述更新信息,从存储在所述服务器中的所述多种更新程序中确定用 于更新所述执行程序的所述更新目标部分和所述目标程序;以及一个发送部分,将所述确定更新目标部分和所述确定目标程序发 送给所述图像形成装置。
15. 如权利要求14所述的程序更新系统,其中所述确定部分将与 包含在所述性能信息中的所述功能相关的所述执行程序中的 一个部 分确定为所述更新目标部分,并且将其中更新了与包含在所述性能信 息中的所述功能相关的所述多种更新程序中的一种更新程序确定为所述目标程序。
16. 如权利要求14所述的程序更新系统,其中 所述性能信息包含执行所述功能的频率,以及 所述确定部分将与所述性能信息中的所述频率不小于给定数值的所述功能相关的所述执行程序中的一个部分确定为所述更新目标 部分,并且将其中更新了与包含在所述性能信息中的所述功能相关的 所述多种更新程序中的一种更新程序确定为所述目标程序。
17. 如权利要求14所述的程序更新系统,其中 所述性能信息包含将指定当执行所述功能时出现的缺陷的缺陷识别信息与所述功能联系起来的缺陷信息,以及所述确定部分将与包含在所述缺陷信息中的所述功能相关的所 述执行程序中的一个部分确定为所述更新目标部分,并且将其中更新 了与包含在所述缺陷信息中的所述功能相关的部分的所述多种更新 程序中的一种更新程序确定为所述目标程序。
18. 如权利要求14所述的程序更新系统,其中 所述更新信息包含针对所述多种更新程序中的每种更新程序,表明相应于所述多种功能中的每种的更新紧急度的紧急信息,以及所述确定部分不考虑所述性能信息,将与相应于表明指定的紧急 度的所述紧急信息的所述功能相关的所述执行程序中的 一个部分确 定为所述更新目标部分,并且将其中更新了相应于所述更新目标部分 的一个部分的所述多种更新程序中的一种更新程序确定为所述目标 程序。
19. 一种用于图像形成装置的程序更新方法,所述图像形成装置 能够与存储多种更新程序以及包含多种功能中的每种的更新状态的 服务器通信,所述图像形成装置包含一个程序存储部分,用来存储执行程序, 所述程序更新方法包括步骤读取所述存储的执行程序,并且执行所述多种功能中的至少一种功能;当执行所述多种功能中的任何一种时,存储与功能的执行有关的性能信息;基于所述性能信息和存储在所述服务器中的所述更新信息,确定 所述执行程序内将被更新的一个更新目标部分,以及从存储在所述服 务器中的所述多种更新程序中确定用于更新所述执行程序的目标程 序;获得所述确定的目标程序;并且利用所述所获得的目标程序更新所述执行程序的所述更新目标部分。
20.—种用于图像形成装置的程序更新方法,所述图像形成装置 能够与存储多种更新程序以及包含多种功能中的每种的更新状态的 服务器通信,所述图像形成装置包含一个程序存储部分,用来存储执行程序, 所述程序更新方法包括下列步骤读取所述存储的执行程序,并且执行所述多种功能中的至少一种功能;当执行所述多种功能中的任何一种时,存储与功能的执行有关的 性能信息;将存储在所述程序存储部分中的所述执行程序的版本信息以及 所述性能信息发送给所述服务器;响应于所述性能信息的发送,从所述服务器中接收所述执行程序 内将被更新的更新目标部分,并且从存储在所述服务器中的所述多种 更新程序中接收用于更新所述执行程序的目标程序;以及利用所述接收的目标程序更新所述执行程序的所述更新目标部分。
全文摘要
本发明涉及一种图像形成装置、程序更新系统和程序更新方法。为缩短不可用时间,MFP可以与存储多种更新程序连同包含多种功能的更新状态的服务器通信,并且包含一个快擦写存储器以存储执行程序;一个功能执行部分,用来执行执行程序并且执行所述功能中的至少一种功能;一个性能存储部分,当执行所述功能中的任何一个时,在快擦写存储器中存储与功能的执行有关的性能信息;一个确定部分,用来基于存储在服务器中的性能信息和更新信息,从存储在服务器中的更新程序中确定执行程序内将被更新的更新目标部分和用于更新执行程序的目标程序;以及一个更新部分,用来利用所确定的目标程序更新执行程序的更新目标部分。
文档编号H04N1/00GK101295260SQ20081000965
公开日2008年10月29日 申请日期2008年2月19日 优先权日2007年4月23日
发明者望月孝俊, 板东亮二 申请人:柯尼卡美能达商用科技株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1