CN101521712A - 图像处理设备及信息处理方法 - Google Patents
图像处理设备及信息处理方法 Download PDFInfo
- Publication number
- CN101521712A CN101521712A CN200910118076A CN200910118076A CN101521712A CN 101521712 A CN101521712 A CN 101521712A CN 200910118076 A CN200910118076 A CN 200910118076A CN 200910118076 A CN200910118076 A CN 200910118076A CN 101521712 A CN101521712 A CN 101521712A
- Authority
- CN
- China
- Prior art keywords
- module
- identification information
- unit
- information
- checking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00281—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
- H04N1/00307—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a mobile telephone apparatus
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G15/00—Apparatus for electrographic processes using a charge pattern
- G03G15/50—Machine control of apparatus for electrographic processes using a charge pattern, e.g. regulating differents parts of the machine, multimode copiers, microprocessor control
- G03G15/5075—Remote control machines, e.g. by a host
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G2215/00—Apparatus for electrophotographic processes
- G03G2215/00025—Machine control, e.g. regulating different parts of the machine
- G03G2215/00109—Remote control of apparatus, e.g. by a host
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G2215/00—Apparatus for electrophotographic processes
- G03G2215/00025—Machine control, e.g. regulating different parts of the machine
- G03G2215/00126—Multi-job machines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0094—Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Facsimiles In General (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明提供一种图像处理设备及信息处理方法。标识信息获取单元获取用于识别模块的标识信息。验证单元基于包括表示是否允许通过标识信息识别的模块的定制的信息的验证信息,验证通过标识信息识别的模块是否是可定制的。当验证单元验证通过标识信息识别的模块是可定制的时,控制单元执行通过标识信息识别的模块的定制。
Description
相关申请的交叉参考
本申请主张于2008年2月28日递交的日本优先权文件No.2008-048562的优先权,在此将该文件的全部内容并入本文作为参考。
技术领域
本发明涉及用于定制图像处理设备中的软件程序模块的技术。
背景技术
通常,多功能产品(MFP)具有在该产品中安装的各种应用。近年来,通过尺寸上小于处理模块的处理单元来配置用于这些应用的软件程序。该种小处理单元的修改方便了根据用户的要求提供灵活的服务。
如果经由网络将MFP连接到个人计算机(PC),则能够通过PC定制MFP中的软件程序。因此,可以根据用户要求来执行软件定制并对用户提供灵活的服务。
然而,传统地,MFP的软件定制被限于具有定制权的管理员。在该情况下,用户不可能独立定制软件程序。
实际上,通过允许由用户进行软件定制,能够容易地修改MFP的应用以适合个人的目的。因此,不完全希望将软件定制限制到管理员。
在允许由用户进行软件定制的情况下,首先必需验证用户。日本专利申请公开No.2004-5408揭示了一种验证MFP的用户的技术。
然而,仅对于用户来执行该种验证,而不对要定制的软件程序执行该种验证。
更具体地,MFP中的某些软件程序使用例如用户的私人信息或重要信息等保密数据。因此,为了保护该种保密数据,必需验证用于定制的每一个软件程序,而不是验证用户。该种特征有助于确定允许被定制的软件程序及不允许被定制的软件程序。
发明内容
本发明的目的是至少部分地解决现有技术中的问题。
根据本发明的一个方面,提供一种图像处理设备,包括:要被定制的模块;
标识信息获取单元,该标识信息获取单元获取用于识别所述模块的标识信息;验证单元,用于基于验证信息验证通过所述标识信息识别的模块是否是可定制的,所述验证信息包括指示是否允许对所述标识信息识别的模块进行定制的信息;及控制单元,用于当所述验证单元验证了通过所述标识信息识别的模块是可定制的时,执行通过所述标识信息识别的模块的定制。。
另外,根据本发明的另一方面,提供一种图像处理方法,包括:获取用于识别要被定制的模块的标识信息;基于验证信息验证通过所述标识信息识别的模块是否是可定制的,所述验证信息包括指示是否允许对所述标识信息识别的模块进行定制的信息;当在验证步骤中通过所述标识信息识别的模块被验证为是可定制的时,执行通过所述标识信息识别的模块的定制。。
当联系附图考虑时,通过阅读本发明的当前优选实施例的下面的具体描述,将更好的理解本发明的以上和其它目的、特点、优点及技术和工业意义。
附图说明
图1是根据本发明第一实施例的MFP的示例性配置的框图;
图2是用于解释在MFP中安装的应用的示例性模块配置的示意图;
图3是MFP的示例性硬件配置的示意图;
图4是用于解释连接MFP的网络的示例性网络配置的示意图;
图5是MFP中的MFP激活装置的示例性配置的框图;
图6是用于解释由MFP中的认证控制服务(CCS)执行的验证处理的示意图;
图7是MFP中的程序信息文件数据库(程序IDDB)的示例性表格结构的示意图;
图8是用于解释验证文件的概念的示意图;
图9是用于解释从激活MFP到更新模块的处理的流程图;
图10是用于解释MFP中的程序激活单元激活控制服务和应用程序的处理的流程图;
图11是用于解释MFP中的只读存储器(ROM)更新应用程序存储更新数据的处理的流程图;
图12是ROM更新应用程序存储更新数据的示例性更新数据区的示意图;
图13是用于解释***控制服务(SCS)选择更新数据并发出ROM更新命令的处理的流程图;
图14是用于解释SCS选择更新数据并发出ROM更新命令的另一处理的流程图;
图15是用于解释由CCS执行的验证处理的流程图;
图16是用于解释由CCS执行的另一验证处理的流程图;
图17是解释ROM更新单元更新闪存的处理的流程图;
图18是用于解释根据连接MFP的网络的本发明第二实施例的示例性网络配置的示意图;
图19是用于解释根据第二实施例的由CCS执行的验证处理的示意图;
图20是根据第二实施例在验证设置信息中包括的验证服务器的示例性地址的示意图;
图21是根据第二实施例由SOAP代理服务器产生的用于传送的简单对象访问协议(SOAP)消息中的数据的示例性数据结构的示意图;
图22是由SOAP代理服务器产生的SOAP消息的示例性结构的示意图;
图23是用于解释验证服务器执行验证处理的时序的时序示意图。
具体实施方式
下面,参考附图具体说明本发明的示例性实施例。本发明不限于这些示例性实施例。更具体地,虽然参考包括图像处理设备的MFP给出了示例性实施例,但是示例性实施例还能够应用于任意其它的图像处理设备。
参考执行复印、传真(FAX)、打印、扫描、输入图像分配(例如,从原件扫描的图像或从打印机或传真单元输入的图像)等各种功能的MFP 100给出下面的描述。
通过使用两种验证方法能够使MFP 100中的模块或子模块得到验证。第一种验证方法是本地(local)验证方法,其中,MFP 100自身执行验证,第二种验证方法是远程验证方法,其中,请求经由网络连接到MFP 100的验证服务器(例如,网络(NT)服务器或轻量级目录访问协议(LDAP)服务器)来执行验证。下面给出根据本发明的第一实施例的本地验证方法的描述。
首先,参考图1描述根据第一实施例的MFP 100的示例性配置。
如图1所示,MFP 100包括黑白行式打印机(B&W LP)101、彩色行式打印机(彩色LP)102、硬盘驱动(HDD)103、网络接口(I/F)105、同步动态随机访问存储器(SDRAM)106、其它硬件资源104(例如,扫描仪、传真单元及存储器)以及软件组110。软件组110包括软件平台120和应用150。
软件平台120包括各种控制服务、***资源管理器(SRM)123及操作***(OS)121。控制服务解释来自应用150的处理请求并产生关于硬件资源的资源获取请求。SRM 123管理一个或多个硬件资源并对通过控制服务而产生的资源获取请求进行仲裁。
控制服务是服务模块,即SCS 122、引擎控制服务(ESC)124、存储器控制服务(MCS)125、操作面板控制服务(OCS)126、传真控制服务(FCS)127、网络控制服务(NCS)128、用户信息控制服务(UCS)128以及CCS 130。
软件平台120还包括应用程序接口(API),对API编程以通过使用预定的功能从应用150接收处理请求。
OS 121是能够并行执行来自软件平台120及应用150的软件程序作为处理的例如UNIX(注册商标)等通用OS。
SRM 123配置以与SCS 122一起执行***控制和资源管理的处理。例如,如果更高级别层(higher-level layer)发出使用例如引擎、存储器、HDD文件或者扫描单元或打印单元的主输入/输出(I/O)(例如,中心I/F、网络I/F、IEEE0394I/F或RS232C I/F)等硬件资源的请求,则SRM 123的处理基于该发出的请求来执行资源仲裁及执行控制。
更具体地,SRM 123确定更高级别层请求的硬件资源是否是可用的(即,所请求的硬件资源是否被分配给其它请求)。如果所请求的硬件资源是可用的,则SRM 123将关于所请求的硬件资源的可用性通知更高级别层。此外,SRM123还执行更高级别层所请求的硬件资源的使用调度(scheduling)。例如,SRM123根据来自更高级别层的请求来指示打印机引擎执行例如纸张运送、图像信息、存储器分配或文件产生等操作。
配置SCS 122以执行应用管理、操作单元控制、***屏幕显示、发光二极管(LED)显示、资源管理及中断应用控制等处理。
配置ECS 124以执行例如B&W LP 101、彩色LP 102、HDD 103、扫描单元及传真单元等硬件资源的引擎控制的处理。
配置MCS 125以执行图像存储器的分配/解除分配、HDD使用及图像数据的压缩/扩展。
配置OCS 126以控制操作面板170作为MFP100的操作员(用户)和MFP100的控制***之间的通信工具。OCS 126包括OCS处理部分和OCS库部分。OCS处理部分获得在操作面板170上的按键按下(或接触操作)作为按键事件并将与该按键事件相应的按键事件功能发送到SCS 122。OCS库部分包括预先注册例如用于输出各种屏幕的屏幕输出功能或关于操作面板170的控制功能等功能的库。
保持OCS库被链接到应用150和控制服务中的模块。同时,OCS 126可以被完全配置以用作OCS处理或可以被完全配置以用作OCS库。
配置FCS 127执行经由公共交换电话网络(PSTN)或综合服务数字网(ISDN)对***控制器的每一个应用层提供用于传真发送/传真接收的应用、在候补静态随机访问存储器(BKM)中存储的传真数据的注册/提取、传真数据的读取、接收到的传真的打印及综合传送/接收的处理。
配置NCS 128以执行对例如在MFP 100中安装的并需要网络I/O的扫描应用程序114等的应用程序提供可共享的服务的处理。更具体地,NCS 128执行将从网络接收到的数据分配给应用程序或将来自应用程序的数据发送到网络的中间处理。
配置UCS 129以执行参考用户数据库(未示出)并管理MFP 100的用户的用户信息的处理。更具体地,UCS 129确定存储与特定请求相应的用户信息的存储器单元,从该存储器单元获得用户信息,并将该用户信息发送到应用程序。
配置CCS 130以通过参考在HDD 103中存储的验证文件226来执行验证用于定制的模块或子模块的处理。后文具体描述CCS 130的配置。
应用150包括多个应用程序,即,打印应用程序111、复印应用程序112、传真应用程序113、扫描应用程序114、自动邮件发送应用程序115、处理确认应用程序116、及ROM更新应用程序117。
在这些应用程序中,打印应用程序111、复印应用程序112、传真应用程序113、扫描应用程序114、自动邮件发送应用程序115及处理确认应用程序116是可以受到定制的应用程序。
在MFP 100中,在应用150中安装多于一个的模块。当用户确定定制应用150时,CCS 130确定是否验证在用于定制的应用150中的每一个模块,并基于验证结果控制模块的定制。
这里,认为应用150中的独立并可拆分的软件单元(应用程序)为模块。图2是用于解释应用150中的示例性模块配置的示意图。在应用150中,通过子模块200a到200n的组合来配置每一个独立的应用程序(111到115)。
与应用150中的应用程序类似,软件平台120中的每一个控制服务也是通过子模块的组合而配置的模块(服务模块)。
同时,可以执行其它更小的软件单元的验证,而不执行模块或子模块的验证。即使在那种情况下,也可以执行本地验证方法。
在图2所示的模块配置中,例如地址提取子模块200m等子模块使用包括例如用户的私人信息等的地址簿。因此,为了保护私人信息,必需限制地址提取子模块200m的定制。
返回图1,ROM更新应用程序117是被配置以更新ROM的应用程序,在ROM中存储模块或子模块并且ROM包括数据获取单元151、存储单元152及通知单元153。ROM更新应用程序117能够以远程的方式更新ROM和应用150。
数据获取单元151获取用于定制(更新)的更新数据及用于识别要定制的模块(或子模块)的模块ID(或子模块ID)。
存储单元152在SDRAM 106中存储所识别的模块(或所识别的子模块)的更新数据。
通知单元153将在SDRAM 106中的更新数据的存储通知给SCS 122。随后,SCS 122开始更新ROM数据。
同时,MFP 100包括MFP激活单元140,当MFP 100开启时,MFP激活单元140控制软件组100的操作并将MFP 100激活到可用状态。后文具体描述MFP激活单元140的配置。
图3是MFP 100的示例性硬件配置的示意图。如图3所示,MFP 100包括控制器面板300、操作面板310、传真控制单元(FCU)320、通用串行总线(USB)端口330、局域网(LAN)面板350(能兼容100BASE-TX/100 BASE-T或无线LAN)、IEEE1394 I/F 340及打印机360。在控制器面板300中,将中央控制单元(CPU)302、SDRAM106、静态随机访问存储器(SRAM)306、闪存存储器304(下文称为“闪存ROM 304”)、闪存卡I/F 308及HDD 103连接到专用集成(ASIC)电路301。将操作面板310直接连接到ASIC 301,而经由外设部件互联(PCI)总线将FCU 320、USB端口330、IEEE1394 I/F 340、LAN面板350及打印机360连接到ASIC 301。
闪存ROM 304用于在产品装载时存储应用150中的应用程序、软件平台120中的控制服务以及SRM 123中的程序。
SRAM 306用于存储关于环境的信息(例如,模式标记),在该环境中执行程序。
可以使用USB端口330、IEEE1394 I/F 340或LAN面板350以将MFP 100连接到PC。
因此,除了从操作面板310直接发出的定制请求,MFP 100可以接收从所连接的PC发出的定制请求。图4是用于解释连接MFP 100的网络的示例性网络配置的示意图。除了MFP 100,还将模块数据提供服务器401和MFP 403连接到网络400。经由LAN 404将PC 402连接到MFP 100。
将由用户从PC 402发出的定制请求发送到MFP 100。
模块数据提供服务器401提供要定制的模块(或子模块)的更新数据。
模块数据提供服务器401用于存储与各种类型的模块(或子模块)相应的更新数据。例如,某些更新数据可以相应于可由具有模块数据提供服务器401的登录权的用户自由访问的模块(或子模块)。另一方面,某些更新数据可以相应于使用例如用户的私人信息或重要信息等保密数据的模块(或子模块)。限制对MFP 100提供该种模块(或子模块)的更新数据。
当经由LAN 404接收到来自PC 402的定制请求(例如,更新请求)时,MFP 100经由网络400从模块数据提供服务器401装载软件定制功能并在闪存存储器(闪存ROM)中存储该功能。这样,MFP 100使自身准备基于来自远程PC的定制请求的应用程序的定制。
同时,在下面的描述中,虽然作为定制的示例执行更新应用程序,但是还可以执行其它定制功能。
MFP 100具有关于经由网络400从远程来源接收到的更新请求的验证功能。因此,根据模块类型(或子模块类型),MFP 100可以通过相应的更新数据限制更新特定模块类型(或子模块类型)。
在开启MFP 100之后,当MFP激活单元140激活MFP 100时更新模块(或子模块)。下面给出MFP激活单元140的具体描述。
图5是MFP激活单元140的示例性配置的框图。MFP激活单元140包括ROM监视器510、程序激活单元520及ROM更新单元530。
当MFP 100被开启时MFP激活单元140起作用并激活MFP 100的控制单元和应用。
ROM监视器510被存储在闪存ROM 304的引导向量中并在开启MFP 100之后被初次装载。
可以通过从MFP 100的外部发出的外部装载命令和从MFP 100的内部发出的内部装载命令中的任意一个来装载ROM监视器510。例如,当MFP 100经由网络接收到相应于模块的更新数据的数据包并存储这些数据包之后远程重启动MFP 100时,可以发出用于ROM监视器510的装载命令。
当装载时,ROM监视器510执行例如硬件初始化、控制面板诊断、软件初始化及OS 121的启动等功能。
程序激活单元520包括模式设置单元521、服务层激活单元522、应用激活单元523及应用激活信息设置单元524。
当由OS 121调用程序激活单元520时,程序激活单元520被激活并且然后在必要时激活应用150或软件平台120。
更具体地,例如,还可以使用OS 121的内核程序作为程序激活单元520。在该情况下,OS 121一启动,就激活程序激活单元520并在程序激活单元520中建立根文件***。随后,在根文件***上安装关于应用150的文件***及软件平台,由此,应用150中的程序和软件平台120开始运行。
通过激活程序激活单元520的模式来确定程序激活单元520的功能。即,以两种激活模式激活程序激活单元520,即,普通模式和ROM更新模式。在程序激活单元520的普通模式中,激活MFP 100以执行例如复印、打印、扫描及传真等普通功能。在程序激活单元520的ROM更新模式中,激活MFP 100以更新闪存ROM 304。
当以ROM更新模式激活程序激活单元520时,基于在HDD或存储卡中存储的更新数据,或经由网络提供的更新数据,更新在闪存ROM 304中的模块(或子模块)。
基于在SRAM 306中存储的模式标记,模式设置单元521设置程序激活单元520的模式为普通模式和ROM更新模式中的任意一个。根据由模式设置单元521设置的模式来装载程序激活单元520。
服务层激活单元522获取OS 121的引导信息并激活控制服务。
当激活模式是ROM更新模式时,应用激活信息设置单元524起作用获取关于每一个应用程序的激活信息,并在环境变量中设置激活信息。
应用激活单元523以两种激活模式激活应用。例如,当激活模式是ROM更新模式时,应用激活单元523获取关于ROM更新应用程序117的激活信息,然后激活ROM更新应用程序117。因此,ROM更新应用程序117、SCS 112及CCS 130执行各自的处理。最后,ROM更新单元530更新闪存ROM 304。
另一方面,当激活模式是普通模式时,应用激活单元523获取关于每一个应用的激活信息并激活每一个应用。
ROM更新单元530包括ROM更新命令解释单元531、SRAM处理单元532、ROM更新处理单元533及显示控制单元534。
ROM更新命令解释单元531解释从SCS 122发出的ROM更新命令。
ROM更新处理单元533基于更新目标(destination)地址和ROM更新命令来更新闪存ROM 304中的程序。
SRAM处理单元532在SRAM 306中存储在ROM更新过程中的全部信息。
显示控制单元534控制显示ROM更新进程中的进展的用户显示。
如果当激活模式是ROM更新模式时激活应用激活单元523,则最终激活ROM更新应用程序117。在ROM更新应用程序117获取更新数据之后,SCS122开始处理。即,SCS 122调用用于执行验证处理的CCS 130。下面给出CCS130的具体描述。
图6是用于解释由CCS 130执行的验证处理的示意图。由CCS 130执行的验证处理包括控制线程(thread)601、验证线程602及可扩展标记语言(XML)转换线程603。在验证处理中,CCS 130验证用于定制的每一个模块(或每一个子模块),将每一个模块的验证结果转换为XML格式,并在HDD 103中以XML格式存储验证结果作为验证文件226。
除了验证文件226,HDD 103用于存储验证设置信息611和程序IDDB612。
验证设置信息611包括关于验证处理和验证方法的信息。验证处理单元可以是验证线程602或经由网络400连接到MFP 100的验证服务器的主要部分(body)。验证方法可以是已知验证方法和原始验证方法中的任意一个。在第一实施例中,验证设置信息611包括验证线程602通过参考在HDD 103中存储的程序IDDB 612来执行验证的通知。
程序IDDB 612用于存储用于识别将要为了定制而被验证的模块的模块ID(或子模块ID)。图7是存储模块ID(或子模块ID)的程序IDDB 612的示例性表格结构的示意图。
在程序IDDB 612中还存储使用包括用户的地址信息的地址簿的模块(或子模块)的模块ID(或子模块ID)。限制该模块(或子模块)的定制以保护保密数据(私人信息或重要信息)。
返回图6,控制线程601控制CCS 130的各种功能。例如,当接收到来自SCS 122的程序的验证请求时,控制线程601产生验证线程602及XML转换线程603,并指示这些线程执行它们各自的处理。控制线程601还执行验证方法的选择和在SCS 122中的进程间通信过程中的信息的传送/接收。此外,可以配置控制线程601以设置验证设置信息611。
验证线程602从HDD 103中读取验证设置信息611并通过在验证设置信息611中指定的验证方法来验证模块(或子模块)。
关于CCS 130,SCS 122执行例如初始化设置的请求及在验证处理中的验证屏幕的显示等处理。
在验证处理中,首先,验证线程602通过参考验证设置信息611确定验证方法。
随后,通过执行所确定的验证方法,验证线程602将在更新请求中指定的模块(或子模块)的模块ID(或子模块ID)与在程序IDDB 612中存储的模块ID(或子模块ID)比较,验证用于更新的每一个模块(或每一个子模块),并产生用于每一个模块(或每一个子模块)的验证结果(例如,验证成功、验证失败)。
然后,XML转换线程603将用于每一个模块(或每一个子模块)的验证结果转换为XML格式并在HDD 103中以XML格式存储验证结果作为验证文件226。可以通过任何已知的转换方法将验证结果转换为XML格式。
图8是用于解释验证文件226的概念的示意图。在图8所示的验证文件226中,以XML格式列出为了定制而验证的模块(或子模块)的模块ID(或子模块ID)。在以模块为基础定制(更新)应用程序时参考验证文件226。
这样,当更新MFP 100中的应用程序时,存储的验证文件226可用于反复校验(cross-checking)。同时,更新验证文件226或通过使用已更新的验证文件226来反复校验不限于在激活MFP 100时。换句话说,可以在任何时间来执行更新验证文件226或通过使用已更新的验证文件226进行反复校验。
在第一实施例中,不识别发出定制请求的MFP 100的用户。然而,还可以关于每一个用户单独地更新验证文件226。
通过参考验证文件226,ROM更新单元530可以更新关于每一个模块(或每一个子模块)的闪存ROM 304。
图9是用于解释从激活MFP 100到更新模块(或子模块)的处理的流程图。
首先,MFP激活单元140中的ROM监视器510执行硬件初始化(步骤S901)。
然后,ROM监视器510执行控制面板诊断(步骤S902)和软件初始化(步骤S903)。
ROM监视器510从闪存ROM 304获取模块标识信息(步骤S904)。模块标识信息用于识别MFP的模块,该信息是用于每一个模块的唯一的数据。
验证线程602从在HDD 103中存储的程序IDDB 612中读取模块ID(或子模块ID)(步骤S905)。相应于在闪存ROM 304中指定的模块标识信息在验证文件226中存储所读取的模块ID(或子模块ID)。
然后ROM监视器510启动OS 121(步骤S906)。
OS 121激活程序激活单元520,程序激活单元520然后激活控制服务和应用(步骤S907)。仅在更新ROM的情况下激活ROM更新应用程序117。否则,完成处理。
当被激活时,ROM更新应用程序117在SDRAM 106中存储用于ROM更新的更新数据(步骤S908)。
从所存储的更新数据,SCS 122选择要使用的更新数据(步骤S909)。为此,SCS 122通过使用在验证文件226中存储的模块ID(或子模块ID)来验证更新数据。
然后,ROM更新单元530通过相应的所选择的更新数据来更新模块(或子模块)(步骤S910)。
图10是用于具体解释在步骤S907中陈述的激活控制服务和应用程序的处理的流程图。
程序激活单元520中的模式设置单元521检测在SRAM 306中存储的远程ROM更新标记的状态(步骤S1001)。
在为了重启动而临时关闭MFP 100之前将远程ROM更新标记设为开。在MFP 100被激活状态的过程中,当NCS 128从PC 402或模块数据提供服务器401接收到更新请求时,NCS 128将MFP重启动请求发送到SCS 122。然后SCS 122将SRAM 306中的远程ROM更新标记设置为开并发出MFP重启动命令从而MFP 100重启动。这样,当为了重启动而临时关闭MFP 100时,远程ROM更新标记保持为开。然而,当关闭MFP 100时,将远程ROM更新标记将设置为关。
当远程ROM更新标记被设置为开时(步骤S1001中为开),模式设置单元521以ROM更新模式来装载程序激活单元520(步骤S1002)。
随后,服务层激活单元522从闪存ROM 304安装文件***(步骤S1003)并从闪存ROM 304中获取关于例如SCS 122、ECS 124、MCS 125及CCS 130等控制服务的控制服务激活信息(步骤S1004)。关于CCS 130的控制服务激活信息包括验证文件226、程序IDDB 612及验证设置信息611。
服务层激活单元522在环境变量中设置所获取的控制服务激活信息(步骤S1005)。
然后,服务层激活单元522激活OS 121中的SCS 122、ECS 124、MCS 125及CCS 130(步骤S1006)。这时,在每一个控制服务(包括SCS 122)中开始ROM更新模式线程。在CCS 130中也开始控制线程601、验证线程602及XML转换线程603。
在SCS 122中的ROM更新模式线程开始之后,服务层激活单元522在环境变量中设置被激活的控制服务的控制服务激活信息(步骤S1007)。
控制服务激活信息是每一个控制服务的程序标识信息并包括例如在每一个控制服务中的处理的处理ID或模块的模块名称等信息。
然后,应用激活信息设置单元524从闪存ROM 304安装文件***(步骤S1008)。
应用激活信息设置单元524搜索在文件***中存储的应用程序,提取应用程序,并获取MFP 100中被激活的应用程序的应用激活信息(步骤S1009)。
然后,应用激活信息设置单元524在环境变量中设置应用激活信息(步骤S1010)。
应用激活信息是在MFP 100中可执行的应用程序的标识信息并包括例如在每一个应用程序中的模块的模块ID或模块名称等信息。将控制服务激活信息及应用激活信息发送到SCS 122。然而,在程序激活单元520的ROM更新模式中,仅将ROM更新应用程序117的应用激活信息发送到SCS 122。
然后,应用激活单元523激活ROM更新应用程序117(步骤S1011)。将控制服务激活信息发送到SCS 122的控制服务,而将应用激活信息发送到SCS122的应用程序。当激活模式是ROM更新模式时,不激活除了ROM更新应用程序117之外的应用。
返回步骤S1001,当远程ROM更新标记被设置为关时(步骤S1001中为关),模式设置单元521将激活模式设置为普通模式(步骤S1012)。
随后,服务层激活单元522从闪存ROM 304安装文件***(步骤S1013)。
服务层激活单元522获取关于例如SCS 122、ECS 124、MCS 125等控制服务的控制服务激活信息(步骤S1014)。
然后,服务层激活单元522激活OS 121中的SCS 122、ECS 124、MCS 125(步骤S1015)。这时,在每一个被激活的控制服务中开始普通模式线程。
随后,应用激活单元523从闪存ROM 304安装文件***(步骤S1016)。
然后,应用激活单元523从所安装的文件***中获取在MFP 100中可执行的应用激活信息(步骤S1017)。
最后,应用激活单元523激活应用程序(步骤S1018)。然而,在步骤S1018不激活ROM更新应用程序117。
如上所述,在步骤S1011激活ROM更新应用程序117。当ROM更新应用程序117完成更新处理时,对模块(或子模块)(向该模块(或子模块)发出了更新请求)进行关于定制的验证。随后,仅服务层程序的经验证通过的模块或应用程序的经验证通过的模块接受定制。
如果CCS 130也要被定制,则首先执行该定制。作为结果,可以通过使用经定制的CCS 130来验证服务层程序的模块或应用程序的模块。
在经由网络远程定制MFP 100中的应用程序的情况下(后文具体描述),关于用于应用程序的定制请求来执行验证。
在步骤S1011中激活的ROM更新应用程序117使用SCS 122中的ROM更新模式线程并执行闪存ROM 304中的内容的重写/写。
为此,ROM更新应用程序117使用SCS 122和MCS 125的控制服务。更具体地,ROM更新应用程序117使用ROM更新模式线程,并将更新数据存储到HDD 103或闪存卡307中或将经由网络由模块数据提供服务器401提供的更新数据存储到SDRAM 303中的更新数据区。通过MCS 125来分配更新数据区。
图11是用于解释ROM更新应用程序117存储更新数据的处理的流程图。在该处理过程中,由于MFP 100工作于ROM更新模式,因此可以执行关于控制服务和应用程序的ROM更新。
首先,ROM更新应用程序117中的数据获取单元151获取更新数据。更具体地,数据获取单元151读取在HDD 103或闪存卡307中存储的更新数据,或经由网络400从模块数据提供服务器401接收更新数据(步骤S1101)。
除了更新数据之外,数据获取单元151还读取/接收要更新的模块的模块ID(或子模块的子模块ID)。
然后,ROM更新应用程序117中的存储单元152请求MCS 125分配用于存储更新数据文件的更新数据的SDRAM 303中的更新数据区(步骤S1102)。在接收到请求时,MCS 125中的ROM更新模式线程分配SDRAM 303中的更新数据区,并将初始地址和更新数据区的大小发送到ROM更新应用程序117。
随后,存储单元152根据SDRAM 303中的更新数据区的初始地址打开更新数据文件的更新数据(步骤S1103)。在该处理过程中,存储单元152从接收到的更新数据文件中移除数据更新不需要的网络信息(例如,目标网络地址或包长度),并以相关方式在SDRAM 303中的更新数据区中仅存储更新必需的数据。
图12是ROM更新应用程序117存储更新数据的示例性更新数据区的示意图。如图12所示,更新数据区包括报头(header)部分1201和数据部分1202。
报头部分1201用于存储要更新的每一个模块的报头块。每一个报头块包括是随后报头块的区距的随后报头区距(offset)、是相应于当前模块的更新数据的区距的更新数据区距、更新数据大小、是当前模块的标识信息的模块ID1203、是闪存ROM 304中的当前模块的相对地址的更新目标地址以及是当前模块的大小的更新目标区长度。
本文中,模块表示MCS 125、ECS 124或NCS 128中的控制服务程序、打印应用程序111或复印应用程序112中的应用程序以及打印机引擎(例如,B&W LP 101或彩色LP102)或扫描仪引擎的引擎程序。配置该种程序以能够被更新。
所读取/接收的更新数据是相应于上述模块的修改程序的被压缩的二进制数据。当打开SDRAM 303中的压缩更新数据时,ROM更新应用程序117扩展更新数据。
除模块ID之外,报头部分1201中的模块ID 1203还可用于存储作为子模块的标识信息的子模块ID。数据部分1202用于存储每一个模块(或每一个子模块)的更新数据的内容。这样,更新数据区被配置来以可区别的方式存储每一个模块(或每一个子模块)的更新数据。
可以通过参考相应于每一个模块(或每一个子模块)的报头块中的更新数据区距来确定每一个模块(或每一个子模块)的更新数据的开始位置。
返回图11,ROM更新应用程序117中的通知单元153对SCS 122通知SDRAM 303中的更新数据区的初始地址,在该地址中存储更新数据文件中的更新数据(步骤S1104)。随后,SCS 122中的ROM更新模式开始选择更新数据的处理。
即,SCS 122中的ROM更新模式线程参考SDRAM 303中的更新数据区并根据MFP 100的配置选择更新数据。
图13和14是用于解释SCS 122中的ROM更新模式线程选择更新数据并发出ROM更新命令的处理的流程图。
首先,SCS 122中的ROM更新模式线程检查SDRAM 303中的模块ID数据或更新数据(模块ID、版本信息、更新目标地址、更新数据区距及更新数据大小)在SRAM 306中是否可用(步骤S1301)。更具体地,在ROM更新处理开始时将更新数据从闪存ROM 304写入SRAM 306中。从SRAM 306中按顺序读取该更新数据以执行ROM更新。如果ROM更新的处理被中断,则未处理的更新数据继续存储在SRAM 306中。
当确定更新数据在SRAM 306中可用时(步骤S1301为是),则SCS 122中的ROM更新模式线程确定在中断之后ROM更新的处理已经重新开始,并从SRAM 306中获取更新数据(步骤S1302)。
随后,SCS 122中的ROM更新模式线程参考SDRAM 303中的初始报头块(步骤S1303)。
然后,SCS 122中的ROM更新模式线程从当前报头块中获取模块ID(步骤S1304)并将模块ID输出到CCS 130。
CCS 130执行通过接收到的模块ID识别的模块的验证(步骤S1305)并在验证文件中存储验证结果。后文具体描述验证处理。
然后,SCS 122中的ROM更新模式线程参考验证文件,并基于验证结果来确定是否允许相应模块的定制(步骤S1306)。当确定不允许定制时(步骤S1306为否),***控制进行到步骤S1310。
当确定允许定制时(步骤S1306为是),SCS 122中的ROM更新模式线程确定从当前报头块中获取的模块ID是否相应于在步骤S1302中从SRAM 306获取的更新数据(步骤S1307)。
当确定从当前报头块中获取的模块ID相应于从SRAM 306中获取的更新数据时(步骤S1307为是),SCS 122中的ROM更新模式线程从SRAM 306中选择模块ID的更新数据,并从当前报头块中获取更新目标地址、更新数据区距及更新数据大小(步骤S1308)。
然后,SCS 122中的ROM更新模式线程设置作为变量的更新目标地址、更新数据区距及更新数据大小,该变量被称为“受到更新的变量”(步骤S1309)。
另一方面,当确定从当前报头块中获取的模块ID不相应于从SRAM 306中获取的更新数据时(步骤S1307为否),SCS 122中的ROM更新模式线程不从SRAM 306中选择该模块ID的更新数据,并且***控制前进到步骤S1310。
随后,SCS 122中的ROM更新模式线程参考当前报头块中的随后报头区距,并确定随后的报头块是否存在(步骤S1310)
当确定随后报头块存在时(步骤S1310为是),SCS 122中的ROM更新模式线程参考SDRAM 303中的随后报头块(步骤S1311)。随后,对于在步骤S1311中提到的随后报头块重复从步骤S1304到步骤S1310的处理。
另一方面,当确定没有随后的报头块存在时(步骤S1310为否),SCS 122中的ROM更新模式线程确定已经选择了相应于报头块中的全部模块ID的更新数据,激活ROM更新单元530,对ROM更新单元530发出ROM更新命令,并将“受到更新的变量”发送到ROM更新单元530(步骤S1312)。
返回步骤S1301,当确定在SRAM 306中没有存储更新数据时(步骤S1301为否),***控制前进到图14所示的S1401。
更具体地,SCS 122中的ROM更新模式线程等待直到ROM更新应用程序117对SCS 122通知SDRAM 303中的更新数据区的初始地址。当SCS 122接收到初始地址时,SCS 122中的ROM更新模式线程参考SDRAM 303中的初始报头块(步骤S1401),从该报头块获取模块ID(步骤S1402),并将模块ID输出到CCS 130。
CCS 130执行通过接收到的模块ID而识别的模块的验证(步骤S1403),并在验证文件中存储验证结果。后文具体描述验证处理。
然后,SCS 122中的ROM更新模式线程参考验证文件,并基于验证结果确定是否允许相应模块的定制(步骤S1404)。当确定不允许定制时(步骤S1404为否),***控制前进到步骤S1408。
当确定允许定制时(步骤S1404为是),SCS 122中的ROM更新模式线程确定从当前报头块中获取的模块ID是否相应于在环境变量中设置的控制服务或应用程序(步骤S1405)。
当确定从当前报头块中获取的模块ID相应于在环境变量中设置的控制服务或应用程序时(步骤S1405为是),SCS 122中的ROM更新模式线程选择该模块ID的更新数据,并从当前报头块中获取更新目标地址、更新数据区距及更新数据大小(步骤S1406)。
然后,SCS 122中的ROM更新模式线程将更新目标地址、更新数据区距及更新数据大小设置为“受到更新的变量”(步骤S1407)。
另一方面,当确定从当前报头块中获取的模块ID不相应于在环境变量中设置的控制服务模块或应用程序时(步骤S1405为否),SCS 122中的ROM更新模式线程不选择模块ID的更新数据,并且***控制前进到步骤S1408。
随后,SCS 122中的ROM更新模式线程参考当前报头块的随后报头区距并确定随后的报头块是否存在(步骤S1408)。当确定随后报头块存在时(步骤S1408为是),SCS 122中的ROM更新模式线程参考SDRAM 303中的随后报头块(步骤S1409)。随后,对于在步骤S1409中提到的随后报头块重复从步骤S1402到步骤S1408的处理。
另一方面,当确定没有随后的报头块存在时(步骤S1408为否),SCS122中的ROM更新模式线程确定已经选择了相应于报头块中的全部模块ID的更新数据,激活ROM更新单元530,对ROM更新单元530发出ROM更新命令,并将“受到更新的变量”发送到ROM更新单元530(步骤S1410)。
这样,从在更新数据区中存储的更新数据中选择相应于为了在MFP 100中定制而经验证的模块的更新数据。随后,ROM更新单元530通过所选择的更新数据更新闪存ROM 304。
图15是用于解释在图13中的步骤S1305和图14中的步骤S1403中由CCS130执行的验证处理的流程图。
对于验证处理,CCS 130中的控制线程601产生验证线程602和XML转换线程603。控制线程601读取验证设置信息611并指示验证线程602执行验证。
更具体地,首先,验证线程602读取由SCS 122输入并与要定制的模块相应的模块ID moduleIDz(步骤S1501)。
然后,验证线程602从程序IDDB 612中提取与多个可定制的模块相应的多个模块ID moduleIDi(步骤S1502)。
验证线程602确定moduleIDz是否是moduleIDi中的一个(步骤S1503)。
当确定moduleIDz是moduleIDi中的一个时(步骤S1503为是),验证线程602验证通过moduleIDz所识别的模块为可定制的。然后,XML转换线程603在具有XML格式的验证文件226中添加moduleIDz(步骤S1504)。如果验证文件226不存在,则XML转换线程603新创建验证文件226。
另一方面,当确定moduleIDz不是moduleIDi中的一个时(步骤S1503为否),验证线程602不验证通过moduleIDz所识别的模块为可定制的(步骤S1505)。
这样,模块ID用于在验证处理过程中的反复校验。同时,还可以以类似的方式通过使用子模块ID来验证子模块。
当要以多批处理定制多个模块时,为了定制仅验证没有被定制的模块。为此,已经定制的模块的模块ID可以存储在HDD 103中作为更新数据,可对没有包括在该更新数据中的模块进行关于定制的验证。
图16是用于解释CCS 130通过使用子模块ID执行的另一验证处理的流程图。
通常,通过子模块来配置应用程序中的模块。在第一实施例中,当应用程序包括不可定制的子模块时,阻止子模块被定制。不可定制的子模块的示例是使用包括私人信息的地址簿的子模块。因此,可以认为包括使用地址簿的子模块的应用程序使用了私人信息。
在验证处理过程中,首先,验证线程602读取由SCS 122输入并包括要定制的子模块的应用程序APX(步骤S1601)。
然后,验证线程602从程序IDDB 612中提取与多个可定制的子模块相应的多个子模块ID sub-moduleIDi(步骤S1602)。
验证线程602确定与应用程序程序APX中要定制的子模块相应的子模块ID sub-moduleIDx是否是sub-moduleIDi中的一个(步骤S1603)。
当确定sub-moduleIDx是sub-moduleIDi中的一个时(步骤S1603为是),验证线程602验证通过sub-moduleIDx所识别的子模块为可定制的。然后,XML转换线程603在具有XML格式的验证文件226中添加应用程序程序APX的标识信息及子模块ID sub-moduleIDx(步骤S1604)。如果验证文件226不存在,则XML转换线程603新创建验证文件226。
另一方面,当确定sub-moduleIDx不是sub-moduleIDi中的一个时(步骤S1603为否),验证线程602不验证通过sub-moduleIDx所识别的子模块为可定制的(步骤S1505)。
这样,在验证处理过程中,通过使用应用程序中的子模块的子模块ID来执行反复校验。此外,使用私人信息的子模块未被进行定制验证。该种验证处理能够对使用私人信息的任何应用程序进行定制验证。
此外,通过在程序IDDB 612中注册使用私人信息的模块(或子模块)的模块ID(或子模块ID),可以检验要定制的模块(或子模块)是否是这些注册模块(或注册子模块)中的一个。
图17是用于解释ROM更新单元530更新闪存ROM 304的处理的流程图。
首先,在被SCS 122中的ROM更新模式线程激活并在接收到来自SCS 122的ROM更新命令时,ROM更新单元530开始使用更新数据更新闪存ROM304。ROM更新单元530中的ROM更新命令解释单元531解释ROM更新命令。
然后,ROM更新单元530中的SRAM处理单元532从“受到更新的变量”中按顺序提取模块ID、更新目标地址、更新数据区距及更新数据大小,并在SRAM 306中存储该信息(步骤S1701)。即使由于错误在步骤S1701中断更新闪存ROM 304的处理,也可以在重新激活ROM更新单元530之后执行随后的处理。
ROM更新单元530中的ROM更新处理单元533参考在SDRAM 303中的初始地址中存储的更新数据区距中指定的地址,读取与更新数据大小相等的数据作为更新数据,并通过读取的更新数据来更新在闪存ROM 304中的更新目标地址中存储的模块(步骤S1702)。
然后,ROM更新处理单元533检查SDRAM 303中的更新数据与闪存ROM304中的经更新的模块数据之间的一致性(步骤S1703)。
如果确定SDRAM 303中的更新数据与闪存ROM 304中的经更新的模块数据不一致(步骤S1703为否),则ROM更新单元530中的显示控制单元534显示表示更新处理中的故障的错误消息(步骤S1704),并且***控制返回到步骤S1702。
如果确定SDRAM 303中的更新数据与闪存ROM 304中的经更新的模块数据一致(步骤S1703为是),则ROM更新处理单元533确定“受到更新的变量”是否包括模块ID、更新目标地址、更新数据区距及更新数据大小的随后的设置(步骤S1705)。
如果确定“受到更新的变量”包括模块ID、更新目标地址、更新数据区距及更新数据大小的随后的设置(步骤S1705为是),则ROM更新处理单元533通过使用模块ID、更新目标地址、更新数据区距及更新数据大小的随后的设置来执行根据步骤S1702的更新处理。这样,ROM更新处理单元533对从SCS 122接收的模块ID、更新目标地址、更新数据区距及更新数据大小的每一个设置执行根据步骤S1702的更新处理。
如果确定“受到更新的变量”不包括模块ID、更新目标地址、更新数据区距及更新数据大小的随后的设置(步骤S1705为否),则SRAM处理单元532清除SRAM 306(步骤S1706)并完成更新处理。
这样,通过执行验证处理,在闪存ROM 304中仅存储被验证和被选择的模块(或子模块)。
即,当MFP 100接收到来自操作面板310或PC 402的更新请求时,闪存卡307中的更新数据或来自模块数据提供服务器401的更新数据受到关于每一个模块(或子模块)的验证和选择,并通过经验证和选择的更新数据更新闪存ROM 304中的模块。
传统地,当用户被授权来执行软件定制时,维护由软件程序使用的保密数据(例如,私人信息)的安全性变得困难。相反,在MFP 100中,可以确定每一个模块(或子模块)是否是可定制的并防止使用保密数据的模块(或子模块)被定制。这有助于保护保密数据。
因此,在MFP 100中,可以对每一个模块(或子模块)进行定制验证。换句话说,在定制应用程序过程中,MFP 100具有验证应用程序中的每一个模块(或子模块)的功能。作为结果,确定允许定制哪个模块(或子模块)从而提高MFP 100的安全性变为可能。
具体地,在MFP 100中,在程序IDDB 612中注册使用地址簿的模块(或子模块)的模块ID(或子模块ID)。这有助于防止第三人访问用户的私人信息。
此外,通过存储关于使用私人信息的不可定制的模块的信息,对该模块应用使用限制成为可能。这也有助于提高MFP 100的安全性。
私人信息的示例是用户的网络地址。当使用网络时,网络地址相当于邮件地址并且对于用户的安全性是尤其重要的。因此,对使用该种私人信息的模块(或子模块)的定制应用限制能够提高安全性。
此外,由于MFP 100被配置来在本地执行验证,因此更高效地执行验证处理。
如上所述,在第一实施例中,验证线程602执行本地验证方法。然而,还可以执行远程验证。下面给出根据本发明的第二实施例由验证服务器执行的远程验证方法的描述。在第二实施例中,MFP 100的配置与在第一实施例中所描述的配置相同。因此,不重复该描述。
图18是用于解释连接MFP 100的网络400的根据第二实施例的示例性网络配置。如图18所示,将验证服务器1801连接到网络400。
验证服务器1801参考程序IDDB 612并验证用于定制的模块(或子模块)。
图19是用于解释根据第二实施例由CCS 130执行的验证处理的示意图。由CCS 130执行的处理包括控制线程601、验证线程1901及XML转换线程603。CCS 130执行验证用于定制的每一个模块(或每一个子模块)、将每一个模块的验证结果转换为XML格式及在HDD 103中以XML格式存储验证文件226的处理。
HDD 103用于存储验证文件226、验证设置信息1902及设备ID1903。验证设置信息1902包括请求验证验证服务器1801和验证服务器1801的地址的指令(见图20)。设备ID 1903用于识别MFP 100。
当验证线程1901参考验证设置信息1902时,验证线程1901获取请求验证验证服务器1801和验证服务器1801的地址的指令。然后,验证线程1901访问验证服务器1801并请求其执行验证。为此,验证线程1901通过使用NCS128将HDD 103中的设备ID 1903和要定制的模块ID(或子模块ID)发送到验证服务器1801。
然后,验证服务器1801通过在程序IDDB 612中注册的相应于设备ID的模块ID(或子模块ID)反复校验所接收到的模块ID(或接收到的子模块ID),执行相应模块(或相应子模块)的验证,并将验证结果发送到MFP 100中的验证线程1901。同时,由验证线程1901执行的验证处理与参考图16描述的验证处理相同。
这样,在经由网络400连接到MFP 100的验证服务器中也能够执行模块(或子模块)的验证。该种配置能够执行更安全的验证。
在验证线程1901请求验证服务器1801执行验证之前,XML转换线程603将验证请求转换为XML格式并产生SOAP消息。另一方面,当验证服务器1801发送包括验证结果的SOAP消息时,XML转换线程603将SOAP消息从XML格式转换为验证线程1901可识别的格式,并将验证结果发送到验证线程1901。这样,验证服务器1801和MFP 100以SOAP消息的形式进行通信。
更具体地,NCS 128用于执行SOAP消息通信。为此,NCS 128包括SOAP代理服务器1911、SOAP接收器1912、超文本传输协议(HTTP)服务提供线程1913、文件传输协议(FTP)服务提供线程1914及简单邮件传输协议(SMTP)服务提供线程1915。
SOAP代理服务器1911用作消息传送单元,包括XML格式的验证文件226,并产生用于传送的SOAP消息,在该消息中对于例如网络上的其它MFP、PC或管理服务器等目标SOAP服务器指定统一资源标识符(URI)。
SOAP代理服务器1911对在SOAP消息中指定的地址产生SOAP消息。在第二实施例中,将用于SOAP消息传送的目标设置为验证设置信息1902。
SOAP接收器1912用作消息接收单元,该接收单元接收并解释SAOP消息,将经过解释的SOAP消息发送到其它控制服务或应用程序。更具体地,SOAP接收器1912选择用于经过解释的SOAP消息的目标并将经过解释的SOAP消息传送到所选择的目标或通知所选择的目标接收SOAP消息。
图21是由SOAP代理服务器1911产生的用于传送顶SOAP消息中的数据的示例性数据结构的示意图。在图21中,仅示出数据结构,没有示出例如XML标签等其它部分。如图21所示,SOAP消息的主体包括在验证过程中验证服务器1801可以参考的设备ID和模块ID(或子模块ID)。
图22是由SOAP代理服务器1911产生的SOAP消息的示例性结构的示意图。如图22所示,SOAP消息包括标题(header)2200及SOAP信包(envelope)2210,SOAP信包进一步包括SOAP标题2211和SOAP消息主体2212。
在SOAP标题2211中,指定SOAP消息的目标的URI。在SOAP消息主体2212中,以XML格式***图21中示出的数据作为<SOAP-ENV:Body>标签的元素。
图23是用于解释验证服务器1801执行验证处理的时序的时序示意图。
首先,CCS 130从在HDD 103中存储的验证设置信息311中读取验证服务器1801的地址(步骤S2301)。
然后,CCS 130使用验证服务器1801的地址以向该地址发送MFP 100的设备ID和要定制的模块(或子模块)的模块ID(或子模块ID)(步骤S2302)。
然后,验证服务器1801将所接收到的模块ID(或接收到的子模块ID)与在程序IDDB 612中注册的相应于所接收到的设备ID的模块ID(或子模块ID)反复校验,执行相应模块(或相应子模块)的验证,并将验证结果发送到CCS130(步骤S2303)。
这样,由于CCS 130从验证服务器1801接收验证结果,因此CCS 130能够基于验证结果来执行模块(或子模块)的定制。
根据第二实施例,配置MFP 100以经由网络400通过PC来定制MFP 100。此外,能够在验证服务器1801上执行用于定制的验证。这能够远程控制MFP100。
另外,通过请求经由网络400连接到MFP 100的验证服务器1801执行验证,能够获得更客观的验证结果。
这样,根据本发明的一个方面,可以提高图像处理设备的软件安全性。
虽然为了彻底并清楚的揭示,已经关于特定实施例描述了本发明,但是后附权利要求并不因此被限制,而是被解释为包括落入本文阐述的基本宗义内的对于本领域技术人员可能出现的所有的修改和替换结构。
Claims (8)
1.一种图像处理设备,包括:
要被定制的模块;
标识信息获取单元,该标识信息获取单元获取用于识别所述模块的标识信息;
验证单元,用于基于验证信息验证由所述标识信息识别的模块是否是可定制的,所述验证信息包括指示是否允许对所述标识信息识别的模块进行定制的信息;及
控制单元,用于当所述验证单元验证了由所述标识信息识别的模块是可定制的时,执行由所述标识信息识别的模块的定制。
2.根据权利要求1所述的图像处理设备,进一步包括存储器单元,用于存储所述验证信息,其中,
所述验证单元基于在该存储器单元中存储的验证信息来验证由所述标识信息识别的模块是否是可定制的。
3.根据权利要求1所述的图像处理设备,其中,所述验证单元通过向验证装置发出验证请求并从该验证装置获取验证结果来验证由所述标识信息识别的模块是否是可定制的,所述验证装置拥有所述验证信息并经由网络连接到所述图像处理设备。
4.根据权利要求1到3中任一权利要求所述的图像处理设备,其中,
所述模块包括子模块;
所述标识信息用于进一步识别所述子模块;
所述验证单元进一步验证由所述标识信息识别的子模块是否是可定制的;及
所述控制单元以子模块为单元执行所述模块的定制。
5.根据权利要求1所述的图像处理设备,进一步包括更新数据获取单元,该更新数据获取单元获取用于要被定制的每个模块的更新数据,其中,
所述控制单元以模块为单元使用获取的更新数据来更新所述模块。
6.根据权利要求1到5中任一权利要求所述的图像处理设备,其中,所述验证信息包括指示不允许对使用私人信息的模块进行定制的信息。
7.根据权利要求1到6中任一权利要求所述的图像处理设备,其中,所述标识信息获取单元从经由网络连接到所述图像处理设备的信息处理装置中获取标识信息。
8.一种图像处理方法,包括:
获取步骤,获取用于识别要被定制的模块的标识信息;
验证步骤,基于验证信息验证由所述标识信息识别的模块是否是可定制的,所述验证信息包括指示是否允许对所述标识信息识别的模块进行定制的信息;及
定制步骤,当在所述验证步骤中由所述标识信息识别的模块被验证为是可定制的时,执行由所述标识信息识别的模块的定制。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008048562A JP5081668B2 (ja) | 2008-02-28 | 2008-02-28 | 画像処理装置、情報処理方法及び情報処理プログラム |
JP2008048562 | 2008-02-28 | ||
JP2008-048562 | 2008-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101521712A true CN101521712A (zh) | 2009-09-02 |
CN101521712B CN101521712B (zh) | 2011-05-18 |
Family
ID=41014272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101180763A Expired - Fee Related CN101521712B (zh) | 2008-02-28 | 2009-02-27 | 图像处理设备及信息处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090222928A1 (zh) |
JP (1) | JP5081668B2 (zh) |
CN (1) | CN101521712B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5728240B2 (ja) | 2011-02-08 | 2015-06-03 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
US8924443B2 (en) * | 2012-10-05 | 2014-12-30 | Gary Robin Maze | Document management systems and methods |
JP6720790B2 (ja) * | 2016-09-12 | 2020-07-08 | 株式会社リコー | 情報処理装置、プログラムおよび情報処理方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860214A (en) * | 1987-01-22 | 1989-08-22 | Ricoh Company, Ltd. | Inference system |
JPH06250837A (ja) * | 1993-02-25 | 1994-09-09 | Ricoh Co Ltd | スケジューリング処理方式 |
FR2837944B1 (fr) * | 2002-03-26 | 2004-07-09 | Oberthur Card Syst Sa | Procede et dispositif de validation automatique d'un programme informatique utilisant des fonctions de cryptographie |
US7372999B2 (en) * | 2002-09-09 | 2008-05-13 | Ricoh Company, Ltd. | Image coder and image decoder capable of power-saving control in image compression and decompression |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
US7386176B2 (en) * | 2002-11-15 | 2008-06-10 | Ricoh Company, Ltd. | Image sending apparatus and image receiving apparatus for sending and receiving code sequence data |
JP2004172766A (ja) * | 2002-11-18 | 2004-06-17 | Ricoh Co Ltd | 画像閲覧装置、画像閲覧保存方法、プログラム及び記録媒体 |
US7474792B2 (en) * | 2002-12-02 | 2009-01-06 | Ricoh Company, Ltd. | Image processing apparatus for using distortion amount information |
JP2004186871A (ja) * | 2002-12-02 | 2004-07-02 | Ricoh Co Ltd | 画像処理装置、撮像装置、プログラム及び記憶媒体 |
US7644288B2 (en) * | 2003-03-19 | 2010-01-05 | Ricoh Company, Ltd. | Image forming apparauts that checks authenticity of an update program |
JP4298371B2 (ja) * | 2003-05-13 | 2009-07-15 | キヤノン株式会社 | 画像形成装置及び当該装置におけるプログラム起動方法、画像形成システム及びそのプログラムと記憶媒体 |
US7549042B2 (en) * | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
JP2006005910A (ja) * | 2004-05-19 | 2006-01-05 | Ricoh Co Ltd | 画像形成装置の機能設定方法 |
JP2006059154A (ja) * | 2004-08-20 | 2006-03-02 | Sharp Corp | ファームウェア管理サーバ、プログラム、及び記録媒体 |
JP2006079415A (ja) * | 2004-09-10 | 2006-03-23 | Konica Minolta Business Technologies Inc | プログラム更新システムおよびプログラム更新方法 |
JP2006092194A (ja) * | 2004-09-22 | 2006-04-06 | Fuji Xerox Co Ltd | 障害復旧支援装置および障害復旧支援システム |
JP4813078B2 (ja) * | 2005-04-12 | 2011-11-09 | 株式会社エヌ・ティ・ティ・ドコモ | 移動機及び機種依存データ管理方法 |
JP4760150B2 (ja) * | 2005-06-10 | 2011-08-31 | コニカミノルタビジネステクノロジーズ株式会社 | アプリケーション開発用プログラムおよび画像処理装置 |
JP2007004377A (ja) * | 2005-06-22 | 2007-01-11 | Ricoh Co Ltd | 画像形成装置及びファームウェアの更新方法 |
JP2007228558A (ja) * | 2006-01-27 | 2007-09-06 | Ricoh Co Ltd | ファイル配信システム及びファイル配信方法 |
JP4848190B2 (ja) * | 2006-02-08 | 2011-12-28 | 株式会社リコー | アプリケーション実行装置、アプリケーション実行方法及びアプリケーション実行プログラム |
JP2008052062A (ja) * | 2006-08-24 | 2008-03-06 | Ricoh Co Ltd | 表示装置、表示装置の表示方法、プログラム及び記録媒体 |
JP2008258994A (ja) * | 2007-04-06 | 2008-10-23 | Ricoh Co Ltd | 画像処理装置 |
JP4948311B2 (ja) * | 2007-08-01 | 2012-06-06 | キヤノン株式会社 | ライセンス管理システム、ライセンス管理方法、及びコンピュータプログラム |
-
2008
- 2008-02-28 JP JP2008048562A patent/JP5081668B2/ja not_active Expired - Fee Related
-
2009
- 2009-02-05 US US12/366,212 patent/US20090222928A1/en not_active Abandoned
- 2009-02-27 CN CN2009101180763A patent/CN101521712B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101521712B (zh) | 2011-05-18 |
JP5081668B2 (ja) | 2012-11-28 |
JP2009205539A (ja) | 2009-09-10 |
US20090222928A1 (en) | 2009-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102195961B (zh) | 图像形成***以及图像形成方法 | |
US8613063B2 (en) | Information processing apparatus, information processing method, and recording medium | |
CN101287052B (zh) | 控制装置、图像装置控制***及控制方法 | |
CN101187964B (zh) | 安全打印***和方法 | |
US7117493B2 (en) | Image formation system, software acquisition method, and computer product | |
CN101166156B (zh) | 文档管理***和文档管理方法 | |
US20080183905A1 (en) | System and method of seamlessly switching between embedded and external functions on a multi-function printer | |
EP1398954B1 (en) | Image forming apparatus and use control method | |
US20120086989A1 (en) | Browser-based scanning utility | |
JP5053072B2 (ja) | 多機能プリンタなどの画像処理装置における組み込み機能と外部機能のシームレスな切り換え、機能の除去および追加、画像のサムネイル/プレビューならびにユーザー認証のためのシステムおよび方法 | |
JP4407594B2 (ja) | 複合機 | |
US20100214600A1 (en) | Image forming apparatus, delivery system, image processing method, program, and recording medium | |
US8373868B2 (en) | System and method to allow the removal and addition of functions on a multi-function printer | |
CN110262725A (zh) | 信息处理装置、信息处理装置的控制方法和存储介质 | |
JP2006012136A (ja) | ユーザの指紋に基づくドキュメント処理の制御 | |
US20040255113A1 (en) | Digital certificate management system, apparatus and software program | |
JP2006040278A (ja) | ディジタルプリントファイルを印刷する方法および上記方法を適用したプリンタ | |
CN101521712B (zh) | 图像处理设备及信息处理方法 | |
CN103116478A (zh) | 信息处理***、信息处理设备及按钮处理方法 | |
CN101465929A (zh) | 图像处理装置及其控制方法 | |
US7844689B2 (en) | Managing configuration request received via network | |
US20100223340A1 (en) | System for remotely scanning a document | |
US20080174821A1 (en) | System and method for custom branding of document processing devices | |
US20100134816A1 (en) | Systems and methods for control of multifunction peripherals | |
JP2004005409A (ja) | 情報処理装置及び認証方法並びに認証プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110518 Termination date: 20200227 |