JP6953947B2 - 情報処理装置、ファームウェア更新プログラム - Google Patents

情報処理装置、ファームウェア更新プログラム Download PDF

Info

Publication number
JP6953947B2
JP6953947B2 JP2017182415A JP2017182415A JP6953947B2 JP 6953947 B2 JP6953947 B2 JP 6953947B2 JP 2017182415 A JP2017182415 A JP 2017182415A JP 2017182415 A JP2017182415 A JP 2017182415A JP 6953947 B2 JP6953947 B2 JP 6953947B2
Authority
JP
Japan
Prior art keywords
state
firmware
version
verification
unverified
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.)
Active
Application number
JP2017182415A
Other languages
English (en)
Other versions
JP2019057217A (ja
Inventor
勝彦 穐田
勝彦 穐田
悠史 岡本
悠史 岡本
一美 澤柳
一美 澤柳
山田 匡実
匡実 山田
敦史 田村
敦史 田村
康孝 伊藤
康孝 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2017182415A priority Critical patent/JP6953947B2/ja
Priority to CN201811084735.1A priority patent/CN109542363A/zh
Priority to US16/138,505 priority patent/US20190095192A1/en
Publication of JP2019057217A publication Critical patent/JP2019057217A/ja
Application granted granted Critical
Publication of JP6953947B2 publication Critical patent/JP6953947B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/15Indexing scheme related to printer interfaces for computers, indexing schema related to group G06F3/12
    • G06F2206/1506Degraded mode, e.g. in view of consumables depleted, thresholds reached
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

この発明は、情報処理装置、およびファームウェア更新プログラムに関し、特に、エラーが発生しないことの検証が未完了のファームウェアで更新する情報処理装置、その情報処理装置で実行されるファームウェア更新プログラムに関する。
従来の複合機で代表される画像形成装置は、ファームウェアがインストールされており、中央演算装置がそのファームウェアを実行することにより動作する。このため、ファームウェアがバージョンアップする場合には、画像形成装置は、新たなバージョンのファームウェアをダウンロードして、インストールする必要がある。
例えば、特開2009−187377号公報には、複数のソフトウェアファイルを記憶する記憶手段と、前記記憶手段に記憶されたソフトウェアファイルを用いて、前記画像形成装置が提供する機能を実行する実行手段と、前記記憶手段に記憶された複数のソフトウェアファイルのうちの少なくとも1つのソフトウェアファイルを更新するための更新用ソフトウェアファイルを、情報処理装置から受信する受信手段と、前記受信手段で受信した更新用ソフトウェアファイルに基づいてソフトウェアファイルが更新された後、当該更新されたソフトウェアファイルを用いた機能が実行される場合、当該実行される機能の動作確認を行うように制御する制御手段と、を有することを特徴とする画像形成装置が記載されている。
一方、新たなバージョンのファームウェアが開発される場合、通常は、新たなバージョンのファームウェアで定められる複数の処理のすべてにおいて、エラーが発生することなく正常に動作することを検証する作業が完了した後に、新たなファームウェアが配布される。この検証作業には所定の期間が必要とされるため、一部の処理について検証が終了していない場合には、他の処理について検証する作業が完了しているにも拘らず、配布することができない。このため、ユーザーが画像形成装置を使用する態様が、検証が完了した処理を使用するが、検証が完了していない処理を使用しない態様の場合であっても、新たなバージョンのファームウェアで定められる複数の処理のすべてにおいて検証作業が完了した後でなければ、新たなファームウェアをインストールすることができないといった問題があった。
特開2009−187377号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、新バージョンのファームウェアをできるだけ早くインストールすることが可能な情報処理装置を提供することである。
この発明の他の目的は、ユーザーによる使用実績に応じて新たなバージョンのファームウェアをインストールすることが可能な情報処理装置を提供することである。
この発明のさらに他の目的は、新バージョンのファームウェアを情報処理装置にできるだけ早くインストールすることが可能なファームウェア更新プログラムを提供することである。
この発明のさらに他の目的は、ユーザーによる使用実績に応じて新たなバージョンのファームウェアを情報処理装置にインストールすることが可能なファームウェア更新プログラムを提供することである。
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、情報処理装置は、インストールされた第1のバージョンのファームウェアを実行する制御手段と、サーバーから第1のバージョンよりも新しい第2のバージョンのファームウェアと、第2のバージョンのファームウェアで定められる複数の処理ごとに検証されるまでの状態を示す検証状態情報との組を取得するダウンロード手段と、第1のバージョンのファームウェアを第2のバージョンのファームウェアで更新する更新手段と、検証状態情報は、複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、エラーが発生しないことの検証が終了した終了状態と、終了状態以外の未検証状態とを含み、検証状態情報に基づいて、複数の処理のうち検証状態情報が未検証状態を示す未検証処理の設定可否状態を、未検証処理を制御手段に実行させるユーザーによる設定が不可能な無効状態に設定する制限手段と、を備える。
この局面に従えば、第2のバージョンのファームウェアと検証状態情報との組が取得され、第1のバージョンのファームウェアが第2のバージョンのファームウェアで更新され、第2のバージョンのファームウェアで定められる複数の処理のうち未検証処理の設定可否状態を無効状態に設定するので、エラーが発生しないことの検証が終了していない処理がユーザーによる指示により実行されないようにして、エラーが発生しないことの検証が終了した処理がユーザーによる指示により実行されるようにすることができる。その結果、新バージョンのファームウェアをできるだけ早くインストールすることが可能な情報処理装置を提供することができる。
好ましくは、未検証状態は、エラーが発生することが確認されているエラー状態を含み、制御手段が実行した実行処理の履歴を記憶する履歴記憶手段と、履歴で特定される実行処理に対して、第2のバージョンのファームウェアと組になる検証状態情報がエラー状態を示す場合、更新手段による第2のバージョンのファームウェアのインストールを禁止する禁止手段と、をさらに備える。
この局面に従えば、設定される確率の高い実行処理がエラー状態の場合には、第2のバージョンのファームウェアをインストールしないので、ユーザーによる使用実績に応じて第2のバージョンのファームウェアをインストールすることができる。
この発明の他の局面によれば、情報処理装置は、インストールされた第1のバージョンのファームウェアを実行する制御手段と、制御手段が実行した実行処理の履歴を記憶する履歴記憶手段と、サーバーから第1のバージョンよりも新しい第2のバージョンのファームウェアと、第2のバージョンのファームウェアで定められる複数の処理ごとに検証されるまでの状態を示す検証状態情報との組を取得するダウンロード手段と、第1のバージョンのファームウェアを取得された第2のバージョンのファームウェアで更新するために、第2のバージョンのファームウェアをインストールする更新手段と、検証状態情報は、複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、検証が終了した終了状態と、終了状態以外の未検証状態と、を含み、未検証状態は、エラーが発生することが確認されているエラー状態を含み、履歴で特定される実行処理に対して、第2のバージョンのファームウェアと組になる検証状態情報がエラー状態を示す場合、更新手段による第2のバージョンのファームウェアのインストールを禁止する禁止手段と、を備える。
この局面に従えば、第2のバージョンのファームウェアと検証状態情報との組が取得され、実行した処理の履歴が記憶され、履歴で特定される実行処理に対して検証状態情報がエラー状態を示す場合、第2のバージョンのファームウェアのインストールを禁止する。このため、過去に実行された実行処理に対して検証状態情報がエラー状態を示す場合には、第2のバージョンのファームウェアをインストールすることなく、過去に実行された実行処理に対して検証状態情報がエラー状態を示さない場合に第2のバージョンのファームウェアをインストールする。その結果、ユーザーによる使用実績に応じて新たなバージョンのファームウェアをインストールすることが可能な情報処理装置を提供することができる。
好ましくは、未検証状態は、エラーが発生することが確認されていない未確認状態を含み、更新手段により第2のバージョンのファームウェアがインストールされた後、検証状態情報に基づいて、複数の処理のうち検証状態情報が未確認状態を示す未検証処理の設定可否状態を、未検証処理を制御手段に実行させるユーザーによる設定が不可能な無効状態に設定する制限手段を、さらに備える。
この局面に従えば、エラーが発生しないことの検証が終了していない処理がユーザーによる指示により実行されないようにして、エラーが発生しないことの検証が終了した処理がユーザーによる指示により実行されるようにすることができる。
好ましくは、制限手段により設定可否状態が無効状態に設定された未検証処理の設定可否状態を、ユーザーによる制御手段に実行させる設定が可能な有効状態に設定する解除手段を、さらに備える。
この局面に従えば、ユーザーにより入力される操作に従って、未検証処理の設定可否状態を、ユーザーによる設定が可能な有効状態に設定するので、ユーザーは、エラーが発生しないことの検証が終了していない処理を実行させる設定が可能となる。未検証処理であってもエラーが発生しない場合があるので、ユーザーが未検証処理を実行させることができるようにして、利便性を向上させることができる。
好ましくは、解除手段により未検証処理の設定可否状態が有効状態に設定される場合に、検証が終了していないことを示す警告メッセージをユーザーに通知する解除時警告手段を、さらに備える。
この局面に従えば、未検証処理が有効状態に設定される場合に、検証が終了していないことを通知するので、ユーザーにエラーが発生する危険性があることを知らせることができる。
好ましくは、ユーザーにより入力される操作に従って、解除手段により設定可否状態が有効状態に設定された未検証処理を制御手段に実行させる設定がされることに応じて、検証が終了していないことを示す警告メッセージをユーザーに通知する設定時警告手段を、さらに備える。
この局面に従えば、ユーザーが未検証処理を実行する設定する操作を入力した段階で、検証が終了していないことを知らせるので、未検証処理の実行を指示したユーザーに、エラーが発生する危険性があることを知らせることができる。
好ましくは、解除手段により設定可否状態が有効状態に設定された未検証処理を制御手段に実行させるユーザーによる操作が入力されることに応じて、第1のバージョンのファームウェアをインストールし、制御手段により未検証処理が実行された後に、第2のバージョンのファームウェアをインストールする一時更新手段を、さらに備える。
この局面に従えば、設定可否状態が有効状態に設定された未検証処理を実行させるユーザーによる操作が入力されることに応じて、第1のバージョンのファームウェアをインストールするので、第1のバージョンのファームウェアを実行する制御手段によって未検証処理に対応する処理が実行される。このため、未検証処理を確実に実行することができる。また、未検証処理が実行された後に第2のバーションのファームウェアをインストールするので、未検証処理以外の処理を実行させるユーザーによる操作が入力される場合には、最新のバージョンのファームウェアが実行されるので、できるだけ最新のバージョンのファームウェアを利用することが可能となる。
好ましくは、解除手段は、第2のバージョンのファームウェアをインストールした後の未検証処理に対して、第1のバージョンのファームウェアがインストールされた状態における設定可否状態が制御手段に実行させるユーザーによる設定が可能な有効状態に設定されている場合、未検証処理の設定可否状態を有効状態に設定する。
この局面に従えば、第2のバージョンのファームウェアをインストールする前の第1のバージョンのファームウェアがインストールされた状態における設定可否状態が有効状態に設定されている場合、未検証処理の設定可否状態を、有効状態に設定するので、ファームウェアの更新前後で、ユーザーが設定可能な処理をできるだけ同じにすることがきる。
好ましくは、それに対応する検証状態情報が未検証状態を含まないファームウェアがインストールされた状態における制御手段が実行可能な複数の処理それぞれの設定可否状態を更新前状態として取得する更新前状態取得手段と、第2のバージョンのファームウェアで定められる複数の処理のうち終了状態が設定された検証完了処理に対して、更新前状態で定められた設定可否状態を設定する設定手段と、をさらに備える。
この局面に従えば、検証が終了した検証完了処理に対しては、第1のバージョンのファームウェアがインストールされた状態における設定可否状態が設定されるので、ユーザーは、ファームウェアの更新前後で、ユーザーが設定可能な処理をできるだけ同じにすることがきる。
好ましくは、更新手段により第2のバージョンのファームウェアがインストールされることに応じて、他の情報処理装置に第2のバージョンのファームウェアをインストールさせるとともに、制御手段が実行可能な複数の処理のうち検証状態情報が未検証状態を示す未検証処理の設定可否状態を、他の情報処理装置に設定させるグループ設定手段を、さらに備える。
この局面に従えば、他の情報処理装置に新たなファームウェアをインストールさせるとともに、未検証処理それぞれに対する設定可否状態を設定させるので、他の情報処理装置におけるファームウェアをバージョンアップさせる操作と、そのファームウェアに対して設定する操作とを簡略にすることができる。
好ましくは、外部のサーバーにより提供されるサービスが検証された状態を示す外部検証状態情報を取得する外部検証状態情報取得手段と、外部検証状態情報は、エラーが発生しないことを検証する作業状態を示し、検証が終了した終了状態と、終了状態以外の未検証状態とを含み、制限手段は、外部検証状態情報に基づいて、外部検証状態情報が未検証状態を示す未検証サービスを外部のサーバーに実行させる設定を不可能な無効状態に設定する。
この局面に従えば、外部検証状態情報が取得され、外部のサーバーにより提供されるサービスが検証の終了していない未検証状態を示す未終了サービスを、無効状態に設定するので、エラーが発生しないことの検証が終了していないサービスの提供を受ける処理が実行されるのを制限できる。その結果、サーバーにインストールされた新バージョンのサービスの提供をできるだけ早く受けることができる。
好ましくは、更新手段により第1のバージョンのファームウェアが第2のバージョンのファームウェアで更新されることに応じて、第2のバージョンのファームウェアを、他の情報処理装置にインストールさせるために、第2のバージョンのファームウェアと設定可否状態とを送信するインストール指示手段を、さらに備える。
この局面に従えば、他の情報処理装置に第2のバージョンのファームウェアをインストールし、情報処理装置で設定された設定可否情報と同じ設定可否状態が設定されるので、他の情報処理装置の負荷を低減することができる。
好ましくは、第2のバージョンのファームウェアで定められる複数の処理のうち検証状態情報によって未検証状態に設定されている未検証処理に対して、検証のための作業の優先順位を決定する優先順位決定手段を、さらに備える。
この局面に従えば、未検証処理に対して優先順位が決定されるので、ファームウェアで定められている複数の処理を検証する作業の順序を通知することができる。
好ましくは、優先順位決定手段は、制御手段が実行した実行処理ほど優先順位を高くする。
この局面に従えば、情報処理装置で実行された実績のある処理ほど優先順位が高くなるので、情報処理装置の使用実績に応じてファームウェアが検証されるようにすることができる。
好ましくは、優先順位決定手段は、設定可否状態が有効状態に設定されている未検証処理ほど、優先順位を高くする。
この局面に従えば、設定可否状態が有効状態に設定されている未検証処理ほど優先順位が高くなるので、ユーザーにより使用される可能性のある処理を優先してファームウェアが検証されるようにすることができる。
この発明の他の局面によれば、ファームウェア更新プログラムは、インストールされた第1のバージョンのファームウェアを実行する制御ステップと、サーバーから第1のバージョンよりも新しい第2のバージョンのファームウェアと、第2のバージョンのファームウェアで定められる複数の処理ごとに検証されるまでの状態を示す検証状態情報との組を取得するダウンロードステップと、第1のバージョンのファームウェアを第2のバージョンのファームウェアで更新する更新ステップと、検証状態情報は、複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、エラーが発生しないことの検証が終了した終了状態と、終了状態以外の未検証状態とを含み、検証状態情報に基づいて、複数の処理のうち検証状態情報が未検証状態を示す未検証処理の設定可否状態を、未検証処理を実行させるユーザーによる設定が不可能な無効状態に設定する制限ステップと、を情報処理装置を制御するコンピューターに実行させる。
この局面に従えば、新バージョンのファームウェアを情報処理装置にできるだけ早くインストールすることが可能なファームウェア更新プログラムを提供することができる。
この発明のさらに他の局面によれば、ファームウェア更新プログラムは、インストールされた第1のバージョンのファームウェアを実行する制御ステップと、制御ステップにおいて実行された実行処理の履歴を記憶する履歴記憶ステップと、サーバーから第1のバージョンよりも新しい第2のバージョンのファームウェアと、第2のバージョンのファームウェアで定められる複数の処理ごとに検証された状態を示す検証状態情報との組を取得するダウンロードステップと、第1のバージョンのファームウェアを取得された第2のバージョンのファームウェアで更新するために、第2のバージョンのファームウェアをインストールする更新ステップと、検証状態情報は、複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、検証が終了した終了状態と、終了状態以外の未検証状態とを含み、未検証状態は、エラーが発生することが確認されているエラー状態を含み、履歴で特定される実行処理に対して、第2のバージョンのファームウェアと組になる検証状態情報がエラー状態を示す場合、更新ステップにおいて第2のバージョンのファームウェアがインストールされるのを禁止する禁止ステップと、を情報処理装置を制御するコンピューターに実行させる。
この局面に従えば、ユーザーによる使用実績に応じて新たなバージョンのファームウェアを情報処理装置にインストールすることが可能なファームウェア更新プログラムを提供することができる。
本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。 本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。 本実施の形態におけるMFPのハードウェア構成の概要の一例を示すブロック図である。 第1の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。 第1の実施の形態におけるファームウェア更新処理の流れの一例を示すフローチャートである。 グループ設定処理の流れの一例を示すフローチャートである。 第1の実施の形態における操作受付処理の流れの一例を示すフローチャートである。 第2のバージョンのファームウェアに対する検証状態情報の一例を示す図である。 設定可否状態の一例を示す図である。 第1のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す図である。 第2のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す第1の図である。 第2のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す第2の図である。 第2のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す第3の図である。 設定画面の一例を示す図である。 第3のバージョンのファームウェアに対する検証状態情報の一例を示す図である。 履歴情報の一例を示す図である。 優先順位の一例を示す図である。 第1の実施の形態の変形例におけるMFPが有するCPUの機能の概要の一例を示すブロック図である。 第1の変形例におけるファームウェア更新処理の流れの一例を示すフローチャートである。 第1の変形例における操作受付処理の流れの一例を示すフローチャートである。 第2の実施の形態におけるMFPが有するCPUの機能の概要の一例を示すブロック図である。 第2の実施の形態におけるファームウェア更新処理の流れの一例を示すフローチャートである。 更新判断処理の流れの一例を示すフローチャートである。 第3の変形例におけるMFPが有するCPUの機能の概要の一例を示すブロック図である。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
<第1の実施の形態>
図1は、本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。図1を参照して、情報処理システム1は、複合機であるMFP(Multi Function Peripheral)100,100A,100Bと、サーバー200と、を含む。
MFP100,100A,100Bは、情報処理装置の一例であり、画像データに基づいて用紙などの記録媒体に画像を形成するための画像形成機能を少なくとも備えている。MFP100,100A,100Bは、画像形成機能に加えて、原稿を読み取るための原稿読取機能、およびファクシミリデータを送受信するファクシミリ送受信機能を備えてもよい。サーバー200は、一般的なコンピューターである。
サーバー200およびMFP100,100A,100Bそれぞれは、ネットワーク3に接続される。ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。ネットワーク3は、さらに、インターネットに接続されてもよい。この場合、サーバー200およびMFP100,100A,100Bそれぞれは、ネットワーク3を介してインターネットに接続されたコンピューターと互いに通信可能である。また、ネットワーク3は、LANに限らず、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワークであってもよい。さらに、ネットワーク3は、インターネットなどのワイドエリアネットワーク(WAN)であってもよい。
本実施の形態において、サーバー200は、MFP100,100A,100Bにインストールされるファームウェアを管理する。具体的には、サーバー200は、MFP100,100A,100Bにインストールされるファームウェアを記憶しており、MFP100,100A,100Bからの要求に応じて、要求されたバージョンのファームウェアを送信する。MFP100,100A,100Bそれぞれは、自装置にインストールされているファームウェアのバージョンを管理する。例えば、MFP100は、サーバー200にファームウェアの最新のバージョンを問い合わせることにより、自装置にインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアがサーバー200により配布されているか否かを判断する。例えば、MFP100に第1のバージョンのファームウェアがインストールされている状態で、サーバー200が第1のバージョンよりも新しい第2のバージョンのファームウェアを配布する場合、MFP100は、サーバー200に第2のバージョンのファームウェアの送信を要求する。サーバー200は、MFP100からの要求に応じて、第2のバージョンのファームウェアをMFP100に送信するので、MFP100は、サーバー200から送信されてくる第2のバージョンのファームウェアをインストールする。
また、サーバー200に記憶される第2のバージョンのファームウェアは、検証状態情報と関連付けられる場合がある。検証状態情報は、第2のバージョンのファームウェアで定められる複数の処理それぞれについて、エラーが発生しないことを検証する作業の進捗を示す検証状態を示す情報である。検証状態は、検証が完了している終了状態と、検証が終了していない未検証状態とを含む。また、未検証状態は、エラーが発生することが確認されているエラー状態と、エラーが発生することが確認されていない未確認状態と、を含む。サーバー200は、MFP100からの第2のバージョンのファームウェアが要求される場合、第2のバージョンのファームウェアに検証状態情報が関連付けられている場合、第2のバージョンのファームウェアとともに検証状態情報を、MFP100に送信する。
また、サーバー200は、MFP100,100A,100Bそれぞれに所定のサービスを提供する。サーバー200は、サービスを提供するためのアプリケーションプログラムを実行することにより、MFP100,100A,100Bからの要求に応じてサービスを提供する。サーバー200が提供するサービスは、限定するものではないが、画像データに基づいて画像から文字を抽出する文字認識処理、文字データの言語を別の言語に変換する翻訳処理、データのフォーマットを変換するフォーマット変換処理である。ここで、サーバー200がサービスを提供するために実行するアプリケーションプログラムをサービス提供プログラムという。サービス提供プログラムが、新たな機能が追加されるなどしてバージョンアップされる場合、そのバージョンアップ後のサービス提供プログラムで定められる複数の処理それぞれにおいて、エラーが発生しないことが検証されている場合と、エラーが発生しないことが検証されていない場合とがある。この場合、サーバー200は、サーバー用検証状態情報を提供する。サーバー用検証状態情報は、サービス提供プログラムで定められる複数の処理それぞれに対して、検証が完了している終了状態と、検証が終了していない未検証状態とを含むサーバー用検証状態を示す情報である。また、未検証状態は、エラーが発生することが確認されているエラー状態と、エラーが発生することが確認されていない未確認状態と、を含む。
MFP100,100A,100Bそれぞれにおいては、サーバー200によるサービスの提供を受けるためのアプリケーションプログラムがインストールされている。ここでは、サーバー200によるサービスの提供を受けるためのアプリケーションプログラムをサービス指示プログラムという。MFP100,100A,100Bそれぞれは、サービス指示プログラムを実行することにより、サーバー200にサービスを提供させ、サーバー200からサービスの提供を受ける。
図2は、本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、サーバー200は、サーバー200の全体を制御するための中央演算装置(CPU)201と、CPU201が実行するためのプログラムを記憶するROM(Read Only Memory)202と、CPU201の作業領域として使用されるRAM(Random Access Memory)203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をネットワーク3に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置208と、を含む。
表示部206は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置である。操作部207は、キーボードなどのハードキーである。また、操作部207は、タッチパネルであってもよい。タッチパネルは、表示部206の上面または下面に表示部206に重畳して設けられる。タッチパネルは、表示部206の表示面中でユーザーにより指示された位置を検出する。
通信部205は、CPU201をネットワーク3に接続するためのインターフェースである。通信部205は、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)等の通信プロトコルで、ネットワークに接続されたMFP100,100A,100Bと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。サーバー200に、MFP100,100A,100BそれぞれのIP(Internet Protocol)アドレスを登録しておくことにより、サーバー200は、MFP100,100A,100Bそれぞれと通信することができ、データの送受信が可能となる。
HDD204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、HDD204に記録されたプログラムを、RAM203にロードして実行する。
外部記憶装置208は、プログラムを記憶したCD−ROM(Compact Disk ROM)209が装着される。CPU201は、外部記憶装置208を介してCD−ROM209にアクセス可能である。CPU201は、外部記憶装置208に装着されたCD−ROM209に記録されたプログラムをRAM203にロードして実行する。なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM209に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROMまたはEPROM(Erasable Programmable ROM)などの半導体メモリであってもよい。
また、CPU201が実行するプログラムは、CD−ROM209に記録されたプログラムに限られず、HDD204に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、ネットワーク3に接続された他のコンピューターが、HDD204に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、サーバー200が、ネットワーク3またはインターネットに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD204に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
MFP100,100A,100Bのハードウェア構成および機能は同じなので、ここでは、MFP100を例に説明する。図3は、本実施の形態におけるMFPのハードウェア構成の概要の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
自動原稿搬送装置120は、原稿トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。
画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
メイン回路110は、MFP100の全体を制御するCPU(中央演算処理装置)111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するとともに、画像形成部140で印刷可能な印刷データに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
通信I/F部112は、ネットワーク3にMFP100を接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワーク3に接続されたサーバー200または他のMFP100A,100Bと通信する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取画像を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられる。操作パネル160は、表示部161と操作部163とを含む。表示部161は、例えば、液晶表示装置(LCD)であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。なお、LCDに代えて、画像を表示する装置であれば、例えば、有機EL(electroluminescence)ディスプレイを用いることができる。
操作部163は、タッチパネル165と、ハードキー部167とを含む。タッチパネル165は、静電容量方式である。なお、タッチパネル165は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。
タッチパネル165は、その検出面が表示部161の上面または下面に表示部161に重畳して設けられる。ここでは、タッチパネル165の検出面のサイズと、表示部161の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル165は、ユーザーが、表示部161の表示面を指示する位置を検出面で検出し、検出した位置の座標をCPU111に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル165が出力する座標を、表示面の座標に置き換えることができる。
ハードキー部167は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。タッチパネル165は、表示部161の表示面中でユーザーにより指示された位置を検出する。ユーザーがMFP100を操作する場合は直立した姿勢となる場合が多いので、表示部161の表示面、タッチパネル165の操作面およびハードキー部167は、上方を向いて配置される。ユーザーが表示部161の表示面を容易に視認することができ、ユーザーが指で操作部163を容易に指示することができるようにするためである。
外部記憶装置117は、CPU111により制御され、CD−ROM118、または半導体メモリが装着される。本実施の形態においては、CPU111は、ROM113に記憶されたプログラムを実行する例を説明するが、CPU111は、外部記憶装置117を制御して、CD−ROM118からCPU111が実行するためのプログラムを読出し、読み出したプログラムをRAM114に記憶し、実行するようにしてもよい。
なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、CD−ROM118に限られず、フレキシブルディスク、カセットテープ、光ディスク、ICカード、光カード、半導体メモリ等の媒体でもよい。さらに、CPU111がネットワーク3に接続されたコンピューターからプログラムをダウンロードしてHDD115に記憶する、または、ネットワーク3に接続されたコンピューターがプログラムをHDD115に書き込みするようにして、HDD115に記憶されたプログラムをRAM114にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、第1の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。図4に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶されたファームウェア更新プログラムを実行することにより、CPU111により実現される機能である。図4を参照して、CPU111は、更新前状態取得部51と、外部検証状態取得部53と、ダウンロード部55と、更新部57と、設定可否情報管理部59と、制御部61と、警告部63と、設定値設定部65と、グループ設定部67と、優先順位決定部69と、を含む。
ダウンロード部55は、MFP100にインストールされているファームウェアのバージョンを管理し、現在インストールされているファームウェアよりも新しいファームウェアが存在する場合に、新しいファームウェアを、サーバー200からダウンロードする。具体的には、ダウンロード部55は、通信I/F部112を制御して、サーバー200に最新のファームウェアのバージョン番号を問合せ、サーバー200から返信されてくるバージョン番号と、現在インストールされているファームウェアのバージョン番号とを比較することにより、現在インストールされているファームウェアよりも新しいファームウェアが存在すると判断する。
ここで、現在インストールされているファームウェアを第1のバージョンとし、第1のバージョンのファームウェアよりも新しい第2のバージョンのファームウェアが、サーバー200に記憶されている場合を例に説明する。この場合、ダウンロード部55は、通信I/F部112を制御して、サーバー200に第2のバージョンのファームウェアを要求し、サーバー200が送信する第2のバージョンのファームウェアを受信する。ダウンロード部55は、サーバー200から受信された第2のバージョンのファームウェアを、更新部57に出力し、検証状態情報を設定可否情報管理部59に出力する。
また、サーバー200は、第2のバージョンのファームウェアに検証状態情報が関連付けられている場合、MFP100からの第2のバージョンのファームウェアが要求される場合、第2のバージョンのファームウェアとともに検証状態情報を、MFP100に送信する。このため、ダウンロード部55は、通信I/F部112が、第2のバージョンのファームウェアとともに検証状態情報を受信する場合、検証状態情報を設定可否情報管理部59に出力する。
更新部57は、ダウンロード部55から第2のバージョンのファームウェアが入力されることに応じて、第2のバージョンのファームウェアをインストールすることにより、第1のバージョンのファームウェアを第2のバージョンのファームウェアに更新する。
更新前状態取得部51は、それに対応する検証状態情報が未検証状態を含まないファームウェアがインストールされた状態における設定可否状態を更新前状態として取得する。設定可否状態は、ファームウェアで定められる複数の処理ごとに、その処理をユーザーが実行させる設定が可能か否かを示す状態である。設定可否状態は、その処理を実行させるユーザーによる設定が可能な有効状態と、その処理を実行させるユーザーによる設定が不可能な無効状態とを含む。更新前状態取得部51は、取得された更新前状態を示す更新前状態情報を設定可否情報管理部59に出力する。ここでは、第1のバージョンのファームウェアがインストールに対応する検証状態情報が未検証状態を含まない場合を例に説明する。この場合、更新前状態取得部51は、第1のバージョンのファームウェアがインストールされた状態における設定可否状態を更新前状態として取得し、更新前状態を示す更新前状態情報を設定可否情報管理部59に出力する。
外部検証状態取得部53は、サーバー200において、サーバー200にインストールされているサービス提供プログラムが新たなバージョンに更新される場合、新たなバージョンのサービス提供プログラムに対応するサーバー用検証状態情報をサーバー200から取得する。具体的には、通信I/F部112を制御して、サーバー200に最新バージョンのサービス提供プログラムに対応するサーバー用検証状態を要求し、サーバー200が送信するサーバー用検証状態情報を受信する。外部検証状態取得部53は、サーバー用検証状態情報を設定可否情報管理部59に出力する。
設定可否情報管理部59は、更新前状態取得部51から更新前状態情報が入力され、外部検証状態取得部53からサーバー用検証状態情報が入力され、ダウンロード部55から検証状態情報が入力される。設定可否情報管理部59は、更新部57により第2のバージョンのファームウェアがインストールされることに応じて、検証状態情報と更新前状態情報とに基づいて、第2のバーションのファームウェアで定められる複数の処理ごとに設定可否状態を設定する。設定可否情報管理部59は、第2のバージョンのファームウェアに対して設定された設定可否状態を、設定値設定部65およびグループ設定部67に出力する。
設定可否情報管理部59は、サーバー用検証状態情報に基づいて、サーバー用検証状態情報が未検証状態を示す未検証サービスを外部のサーバーに実行させる設定を不可能な無効状態に設定する。これにより、CPU111がサービス指示プログラムを実行するタスクである制御部61において、未検証サービスを外部のサーバーに実行させる処理が実行されないので、サーバー200においてエラーが発生しないことの検証が終了していないサービスの提供を受ける処理が実行されるのを制限できる。したがって、サーバー200にインストールされた新バージョンのサービス提供プログラムで定められるサービスの提供をできるだけ早く受けることができる。
検証状態情報は、ダウンロード部55によりダウンロードされた第2のバージョンのフォームウェアで定められる複数の処理ごとに検証状態を定める。検証状態は、検証が終了した終了状態と、終了状態以外の未検証状態とを含む。設定可否状態は、複数の処理ごとにその処理を実行させるユーザーによる設定の可否を示し、その処理を実行させるユーザーによる設定が可能な有効状態と、その処理を実行させるユーザーによる設定が不可能な無効状態と、を含む。
設定可否情報管理部59は、設定部71と、制限部73と、解除部75と、を含む。設定部71は、第2のバージョンのフォームウェアで定められる複数の処理のうち検証状態情報によって終了状態に設定されている検証完了処理それぞれについて、設定可否状態を設定する。設定部71は、第2のバージョンのフォームウェアで定められる複数の処理のうち検証完了処理それぞれの設定可否状態を更新前状態情報と同じ状態に設定する。具体的には、設定部71は、検証完了処理に対して更新前状態情報によって有効状態に設定されていれば設定可否状態を有効状態に設定し、更新前状態情報によって無効状態に設定されていれば設定可否状態を無効状態に設定する。
制限部73は、第2のバージョンのフォームウェアで定められる複数の処理のうち検証状態情報によって未検証状態に設定されている未検証処理それぞれについて、設定可否状態を、無効状態に設定する。これにより、未検証処理の設定可否状態が無効状態に設定されるので、ユーザーは未検証処理を実行させる設定が不可能となる。制限部73は、設定可否状態を無効状態に設定した未検証処理を識別するための処理識別情報を解除部75に出力する。
解除部75は、制限部73によって設定可否状態が無効状態に設定された未検証処理の処理識別情報が入力される。未検証状態は、エラーが発生することが確認されているエラー状態と、エラーが発生することが確認されていない未確認状態と、を含む。解除部75は、制限部73から入力される処理識別情報で特定される未検証処理のうち検証状態情報によって未確認状態が設定されている未確認処理について、ユーザーが操作部163に入力する操作に従って、設定可否状態を有効状態に設定する。未確認処理は、エラーが発生することが確認されていないので、エラーが発生しない可能性がある。このため、ユーザーによる使用を可能にすることで、ユーザーの利便性を向上させることができる。
また、解除部75は、制限部73から入力される処理識別情報で特定される未検証処理のうち検証状態情報によってエラー状態が設定されているエラー処理については、ユーザーが操作部163に入力する操作を受け付けても、設定可否状態を有効状態に設定することなく、警告部63に警告指示を出力する。警告指示は、エラー処理の処理識別情報を含む。エラー処理は、エラーが発生することが確認されているので、エラー処理を実行させるユーザーによる設定を不可能にして、エラーが発生しないようにすることができる。解除部75は、設定可否状態を有効状態に設定した未確認処理の処理識別情報を、警告部63に出力する。
なお、解除部75は、制限部73から入力される処理識別情報で特定される未確認処理について、更新前状態情報によって有効状態に設定されている場合に、設定可否状態を有効状態に設定するようにしてもよい。ユーザーによる操作が不要なので、ユーザーの作業を簡易にすることができる。この場合においても解除部75は、設定可否状態を有効状態に設定した未確認処理の処理識別情報を警告部63に出力する。
警告部63は、解除時警告部81と、設定時警告部83と、を含む。解除時警告部81は、解除部75から設定可否状態が有効状態に設定された未確認処理の処理識別情報が入力される場合、表示部161に第1警告メッセージを表示する。第1警告メッセージは、設定可否状態が有効状態に設定された未検証処理の検証が終了していないことを示す。第1警告メッセージは、設定可否状態が有効状態に設定された未確認処理の処理識別情報を少なくとも含むようにしてもよい。また、第1警告メッセージは、未確認処理を実行する場合にエラーが発生する場合があることを示すメッセージであってもよい。
なお、検証状態として、未確認状態が、特定の場合にエラーが発生することが確認されている特定未確認状態を含むようにしてもよい。特定の場合は、例えば、他の処理と組み合わせて実行される場合である。この場合、解除時警告部81は、解除部75から入力される処理識別情報で特定される未確認処理の検証状態が特定未確認状態の場合、表示部161に、エラーが発生する条件を示す第1警告メッセージを表示する。例えば、第1警告メッセージは、組み合わせできない他の処理を通知するメッセージである。このため、ユーザーは、設定可否状態を変更する段階で、エラーが発生する条件を知ることができる。
また、解除時警告部81は、解除部75から警告指示が入力されることに応じて、表示部161に第2警告メッセージを表示する。第2警告メッセージは、エラーが発生するために、警告指示に含まれる処理識別情報で特定されるエラー処理を実行する設定が不可であることをユーザーに通知するメッセージである。
制御部61は、インストールされたファームウェアを実行し、ファームウェアで定められた処理を設定値に従って実行する。第1のバージョンのファームウェアがインストールされている状態においては、制御部61は、第1のバージョンのファームウェアで定められた処理を設定値に従って実行する。制御部61は、更新部57によって第2のバージョンのファームウェアがインストールされた後は、第2のバージョンのファームウェアで定められた処理を設定値に従って実行する。
設定値設定部65は、設定可否情報管理部59から第2のバーションのファームウェアで定められる複数の処理ごとに設定可否状態が入力される。設定値設定部65は、ユーザーが操作部163に入力する操作に従って、第2のバーションのファームウェアで定められる複数の処理のうち、設定可否状態が有効状態に設定されている処理それぞれに設定値を設定する。設定値設定部65は、ユーザーが操作部163に入力する操作の対象となる処理の設定可否状態が有効状態に設定されている場合は、設定値を設定し、ユーザーが操作部163に入力する操作の対象となる処理の設定可否状態が無効状態に設定されている場合は、設定値を設定することなく、警告部63に警告指示を出力する。警告指示は、ユーザーが操作部163に入力する操作の対象となる処理の処理識別情報を含む。設定値設定部65は、第2のバーションのファームウェアで定められる複数の処理それぞれに対して設定された設定値を、制御部61に出力する。
設定値設定部65は、ユーザーにより入力される操作の対象となる処理の検証状態が未検証状態の場合、ユーザーにより入力される操作の対象となる処理の処理識別情報を、警告部63に出力する。
設定時警告部83は、設定値設定部65から入力される処理識別情報で特定される処理の検証状態が未確認状態の場合、表示部161に第1警告メッセージを表示する。第1警告メッセージは、設定値設定部65から入力される処理識別情で特定される未確認処理の検証が終了していないことを示す。これにより、ユーザーが処理を実行させるための設定値を設定する操作をしている最中に、第1警告メッセージを表示するので、設定値を設定しているユーザーに、その設定値を設定した処理の検証が終了していないことを通知することができる。このため、ユーザーは、未確認処理を実行させるか否かを、設定値を設定する段階で選択することができる。
さらに、設定時警告部83は、設定値設定部65から入力される処理識別情報で特定される処理の検証状態が特定未確認状態の場合、表示部161にエラーが発生する条件を示す第1警告メッセージを表示する。例えば、第1警告メッセージは、組み合わせできない他の処理を示すメッセージである。このため、ユーザーは、設定値を設定する段階で、エラーが発生しないように処理を組み合わせた設定をすることができる。
また、設定時警告部83は、設定値設定部65から警告指示が入力される場合、表示部161に第2警告メッセージを表示する。第2警告メッセージは、エラーが発生するために、警告指示に含まれる処理識別情報で特定されるエラー処理を実行する設定が不可であることをユーザーに通知するメッセージである。
グループ設定部67は、設定可否情報管理部59から第2のバージョンのファームウェアに対応する設定可否状態が入力される。グループ設定部67は、MFP100の設定が変更されることに応じて、MFP100と同一のグループに属する他の装置に第2のバージョンのファームウェアをインストールさせるとともに、MFP100の設定可否状態と同じ設定可状態に設定させる。グループは、それぞれにインストールされるファームウェアが同一の装置を含む。ここでは、MFP100,100A,100Bが同一のグループに属する場合を例に説明する。
グループ設定部67は、設定可否情報管理部59から第2のバージョンのファームウェアに対応する設定可否状態が入力されることに応じて、同一グループに属する他の装置、例えばMFP100Aに第2のバージョンのフォームウェアをインストールさせ、MFP100と同じ設定可否状態に設定させるために、インストール指示を送信する。インストール指示は、第2のバージョンのフォームウェアと、MFP100に設定されている設定可否状態とを含む。MFP100Aにおいては、インストール指示に従って、第2のバージョンのファームウェアをインストールするとともに、インストール指示に含まれる設定可否状態を設定する。同一グループは、同一の種類のファームウェアがインストールされる装置の集合である。
優先順位決定部69は、ダウンロードされた第2のバージョンのファームウェアで定められる複数の処理のうち検証状態情報によって未検証状態に設定されている未検証処理に対して、検証のための作業の優先順位を決定する。優先順位決定部69は、決定した優先順位をサーバー200に通知する。このため、未検証処理に対して優先順位が決定されるので、第2のバージョンのファームウェアで定められている複数の処理を検証する作業の順序を検証作業の担当者に通知することができる。
具体的には、優先順位決定部69は、制御部61により過去に実行された頻度の高い実行処理程高い優先順位を決定する。このため、MFP100で実行された実績のある実行処理ほど優先順位が高くなるので、MFP100の使用実績に応じて第2のバージョンのファームウェアが検証されるようにすることができる。
また、優先順位決定部69は、MFP100において設定可否状態が有効状態に設定されている未検証処理ほど、高い優先順位を決定するようにしてもよい。これによれば、ユーザーにより使用される可能性のある処理を優先して検証されるようにすることができる。
なお、優先順位決定部69は、履歴のみから優先順位を決定するようにしてもよいし、設定可否状態のみから優先順位を決定するようにしてもよいし、履歴および設定可否状態を組み合わせて優先順位を決定するようにしてもよい。
なお、優先順位の決定は、サーバー200において実行するのが好ましい。このため、MFP100,100A,100Bそれぞれは、サーバー200が優先順位を決定するために必要な状態である履歴および設定可否状態をサーバー200に送信し、サーバー200がMFP100,100A,100Bそれぞれから受信される情報に基づいて検証作業を実行する処理の優先順位を決定する。
図5は、第1の実施の形態におけるファームウェア更新処理の流れの一例を示すフローチャートである。ファームウェア更新処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶されたファームウェア更新プログラムを実行することにより、CPU111により実行される処理である。図5を参照して、実現される機能である。図4を参照して、CPU111は、更新ファームウェアが存在するか否かを判断する。現在インストールされているファームウェアよりもバージョンの新しいファームウェアが存在するならば更新ファームウェアが存在すると判断する。サーバー200に問い合わせることにより、更新ファームウェアが存在するか否かを判断する。更新ファームウェアが存在するならば(ステップS01でYES)処理をステップS02に進めるが、更新ファームウェアが存在しなければ処理をステップS14に進める。
ステップS02においては、新しいバージョンのファームウェアをダウンロードする。具体的には、サーバー200にダウンロード要求を送信し、ダウンロード要求を受信するサーバー200が送信するファームウェアを受信する。ここで、現在インストールされているファームウェアを第1のバージョンのファームウェアといい、サーバー200からダウンロードするファーウェアを第2のバージョンのファームウェアという。
ステップS03においては、サーバー200から検証状態情報を取得する。サーバー200が第2のバージョンのファームウェアとともに送信する検証状態情報を受信する。次のステップS04においては、現在設定されている設定可否状態を取得する。設定可否状態は、現在インストールされている第1のバージョンのファームウェアに対して設定されている設定可否状態である。そして、ダウンロードした第2のバージョンのファームウェアをインストールすることにより、第1のバージョンのファームウェアを第2のバージョンのファームウェアで更新する(ステップS05)。
次のステップS06においては、第2のバージョンのファームウェアにより定められた複数の処理のうちから1つを処理対象となる処理として選択する。次のステップS07においては、更新前状態において、選択された処理に対して設定可否状態が有効状態に設定されているか否かを判断する。設定可否状態が有効状態に設定されているならば処理をステップS08に進めるが、そうでなければ処理をステップS12に進める。ステップS12においては、第2のバージョンのファームウェアで定められる複数の処理のうち選択された処理に対する設定可否状態を無効状態に設定し、処理をステップS13に進める。第1のバージョンのファームウェアにおいて無効状態に設定されている場合に、第2のバージョンのファームウェアにおいて無効状態に設定するので、更新前後で設定可否状態を同じ値に設定することができる。
ステップS08においては、選択された処理に対する検証状態によって処理を分岐させる。検証状態はステップS03において取得された検証状態情報によって定められている。検証状態が終了状態ならば処理をステップS09に進め、検証状態がエラー状態ならば処理をステップS10に進め、検証状態が未確認状態ならば処理をステップS11に進める。ステップS09においては、第2のバージョンのファームウェアで定められる複数の処理のうち選択された処理に対する設定可否状態を有効状態に設定し、処理をステップS13に進める。第1のバージョンのファームウェアにおいて有効状態に設定されている場合に、第2のバージョンのファームウェアにおいて有効状態に設定するので、更新前後で設定可否状態を同じ値に設定することができる。また、検証状態が終了状態なので、第2のバージョンのファームウェアにおいてエラーが発生しないことが確認されているので、有効に設定しても第2のバージョンのファームウェアを正常に実行させることができる。
ステップS10においては、第2のバージョンのファームウェアで定められる複数の処理のうち選択された処理に対する設定可否状態を無効状態に設定し、処理をステップS13に進める。第1のバージョンのファームウェアにおいて有効状態に設定されている場合であっても、第2のバージョンのファームウェアにおいて無効状態に設定する。検証状態がエラー状態の場合、第2のバージョンのファームウェアにおいてエラーが発生することが確認されているので、設定可否状態を無効状態に設定して、処理が実行されないようにして、第2のバージョンのファームウェアを正常に実行させることができる。
ステップS11においては、第2のバージョンのファームウェアで定められる複数の処理のうち選択された処理に対する設定可否状態を無効状態に設定し、処理をステップS13に進める。第1のバージョンのファームウェアにおいて有効状態に設定されている場合であっても、第2のバージョンのファームウェアにおいて無効状態に設定する。検証状態が未確認状態の場合、第2のバージョンのファームウェアにおいてエラーが発生しないことが確認されていないので、設定可否状態を無効状態に設定して、処理が実行されないようにして、第2のバージョンのファームウェアを正常に実行させることができる。
ステップS13においては、第2のバージョンのファームウェアにより定められた複数の処理のうちステップS06において処理対象に選択されていない処理が存在するか否かを判断する。未選択の処理が存在するならば処理をステップS06に戻すが、存在しなければ処理をステップS14に進める。
ステップS14においては、設定可否状態を有効状態切り換える切換操作を受け付けたか否かを判断する。ユーザーが操作部163に入力する切換操作を受け付けたならば処理をステップS15に進めるが、そうでなければ処理をステップS06に戻す。ステップS15においては、切換操作の対象となる処理を特定し、処理をステップS16に進める。ステップS16においては、特定された処理の検証状態によって処理を分岐する。現在インストールされているファームウェアで定められる複数の処理のうちステップS15において特定された処理に対応する検証状態を判断する。検証状態は、ステップS03において、最後に取得された検証状態情報を参照して、決定する。検証状態が終了状態ならば処理をステップS17に進め、検証状態が未確認状態ならば処理をステップS18に進め、検証状態がエラー状態ならば処理をステップS19に進める。ステップS17においては、設定可否状態を有効状態に設定し、処理をステップS20に進める。
ステップS18においては、第1警告メッセージを表示部161に表示し、処理をステップS17に進める。ステップS17においては、設定可否状態を有効状態に設定し、処理をステップS20に進める。第1警告メッセージは、設定可否状態が有効に設定される処理が、エラーが発生しないことが確認されていない処理であることを通知するメッセージである。設定可否状態が有効に設定されるので、設定可否状態を設定する時点で、ユーザーは、その処理を実行させる設定をすることができるが、その処理が実行された場合にエラーが発生する場合があることを知ることができる。また、未確認処理の検証状態が特定未確認状態の場合、エラーが発生する条件を示す第1警告メッセージを表示する。例えば、第1警告メッセージは、組み合わせできない他の処理を通知するメッセージである。このため、ユーザーは、設定可否状態を変更する段階で、ユーザーは、その処理を実行させる設定をすることができるが、エラーが発生する条件を知ることができる。
ステップS19においては、第2警告メッセージを表示部161に表示し、処理をステップS06に戻す。第2警告メッセージは、処理を実行させるとエラーが発生することを通知するためのメッセージである。このため、ユーザーは、設定可否状態を設定する時点で、処理を実行させるとエラーが発生するために、設定可否状態を有効に設定することができないことを知ることができる。また、処理がステップS19に進む場合、設定可否状態が無効状態に設定された状態が維持されるので、ユーザーがその処理を実行させる設定をすることができないようにして、エラーが発生するのを防止することができる。ステップS20においては、グループ設定処理を実行し、処理をステップS01に戻す。
図6は、グループ設定処理の流れの一例を示すフローチャートである。図6を参照して、MFP100と同じグループに属するMFPを選択する(ステップS31)。ここでは、MFP100A、100BがMFP100と同じグループに属し、MFP100Aを選択する場合を例に説明する。
そして、選択されたMFP100AからMFP100Aに設定されている設定可否状態を取得する(ステップS32)。通信I/F部112を制御して、MFP100Aにインストール指示を送信する。インストール指示は、第2のバージョンのフォームウェアと、MFP100に設定されている設定可否状態とを含む。インストール指示を受信するMFP100Aにおいては、インストール指示に従って、第2のバージョンのファームウェアをインストールするとともに、インストール指示に含まれる設定可否状態を設定する。
ステップS34においては、ステップS31において選択されていないMFPが存在するか否かを判断する。未選択のMFPが存在するならば処理をステップS31に戻すが、そうでなければ処理をファームウェア更新処理に戻す。ここでは、MFP100Bが未選択なので、処理をステップS31に戻し、MFP100Bにインストール指示を送信する(ステップS33)。
図7は、第1の実施の形態における操作受付処理の流れの一例を示すフローチャートである。操作受付処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された操作受付プログラムを実行することにより、CPU111により実行される処理である。操作受付プログラムは、ファームウェア更新プログラムの一部である。図7を参照して、MFP100が備えるCPU111は、ユーザーが操作部163に入力する設定操作を受け付けたか否かを判断する(ステップS41)。設定操作は、MFP100に処理を実行させるための設定値を設定する操作である。設定操作は、MFP100にインストールされているファームウェアにより定められる複数の処理のいずれかに設定値を設定する操作である。設定値は、その処理を実行するか否かを示す値を含む。処理に対して設定可否状態が有効状態に設定されている処理に対して設定操作を受け付けるが、処理に対して設定可否状態が無効状態に設定されている処理に対しては設定操作を受け付けない。無効状態に設定されている処理に対しては、設定操作が入力することができないからである。設定操作を受け付けたならば処理をステップS42に進めるが、そうでなければ処理をステップS48に進める。
ステップS42においては、設定操作に対応する処理を特定し、処理をステップS43に進める。設定操作がMFP100にインストールされているファームウェアにより定められて複数の処理のいずれであるかを特定する。そして、特定された処理に対する検証状態によって処理を分岐させる(ステップS43)。ステップS43においては、検証状態が終了状態ならば処理をステップS46に進め、未確認状態ならば処理をステップS44に進め、エラー状態ならば処理をステップS45に進める。
ステップS44においては、第1警告メッセージを表示部161に表示し、処理をステップS46に進める。第1警告メッセージは、設定可否状態が有効に設定される処理が、エラーが発生しないことが確認されていない処理であることを通知するメッセージである。このため、ユーザーは、設定可否状態を変更する段階で、エラーが発生する危険性があることを知ることができる。また、検証状態が特定未確認状態の場合、エラーが発生する条件を示す第1警告メッセージを表示部161に表示する。ここでの第1警告メッセージは、例えば、組み合わせできない他の処理を通知するメッセージである。このため、ユーザーは、設定可否状態を変更する段階で、エラーが発生する条件を知ることができる。
ステップS45においては、第2警告メッセージを表示部161に表示し、処理をステップS46に進める。第2警告メッセージは、処理を実行させるとエラーが発生するために、警告指示に含まれる処理識別情報で特定されるエラー処理を実行する設定が不可であることをユーザーに通知するメッセージである。このため、ユーザーは、設定値を設定する時点で、その設定値で処理を実行させるとエラーが発生するために、設定値を設定することができないことを知ることができる。
ステップS46においては、ステップS41において受け付けられた設定操作に従って、ステップS42において特定された処理に対する設定値を設定し、処理をステップS47に進める。処理がステップS44から進む場合、設定値が設定されるので、ユーザーは、その処理を実行させるための設定をすることができるが、ステップS44において第1警告メッセージが表示されるので、設定値を設定する時点でその処理が実行された場合にエラーが発生する場合があることを知ることができる。
ステップS47においては、ユーザーが操作部163に入力する実行指示操作を受け付けたか否かを判断する。実行指示操作は、MFP100に処理を実行させるための操作である。実行指示操作は、MFP100にインストールされているファームウェアにより定められて複数の処理の1以上を実行させる操作である。実行指示操作を受け付けたならば処理をステップS48に進めるが、そうでなければ処理をステップS41に戻す。ステップS48においては、ステップS46において設定された設定値に従って、MFP100にインストールされているファームウェアにより定められて複数の処理の1以上を実行し、処理を終了する。
<具体例>
図8は、第2のバージョンのファームウェアに対する検証状態情報の一例を示す図である。図8を参照して、第1のバージョンをバージョン1.1.1とし、第1のバージョンのファームウェアで定められるプリント機能に含まれる4つの処理それぞれの検証状態を示している。検証状態情報は、処理ごとの検証状態を示す。ここでは、プリント機能が、プリントデータを受信する通信プロトコルが異なるRAW、LPD(Line Printer Daemon Protocol)、IPP(Internet Printing Protocol)、SMB(Server Message Block)の4つの処理を含む場合を示している。
処理RAWに対して、検証状態に終了状態が設定され、処理LPDに対して、検証状態に終了状態が設定され、処理IPPに対して、検証状態にエラー状態が設定され、処理SMBに対して、検証状態に未確認状態が設定されている。
図9は、設定可否状態の一例を示す図である。ここでは、第1のバージョン1.1.0のファームウェアに対して設定される設定可否状態と、第2のバージョン1.1.1のファームウェアに対して設定される設定可否状態と、を示している。ここでは、第2のバージョンのファームウェアに対する設定可否状態は、図8に示した第2のバージョンのファームウェアに対する検証状態情報が取得される場合に設定される値を示している。
図9を参照して、処理RAWに対して、第1のバージョン1.1.0のファームウェアに対して設定可否状態が有効状態を示す設定値「有効」に設定され、処理RAWに対して検証状態に終了状態が設定されているので、第2のバージョン1.1.1のファームウェアに対して設定可否状態が第1のバージョン1.1.1のファームウェアに対して設定されている設定可否状態と同じ有効状態を示す設定値「有効」に設定される。
処理LPDに対して、第1のバージョン1.1.0のファームウェアに対して設定可否状態が無効状態を示す設定値「無効」に設定され、処理LPDに対して検証状態に終了状態が設定されているので、第2のバージョン1.1.1のファームウェアに対して設定可否状態が第1のバージョン1.1.1のファームウェアに対して設定されている設定可否状態と同じ無効状態を示す設定値「無効」に設定される。
処理IPPに対して、第1のバージョン1.1.0のファームウェアに対して設定可否状態が有効状態を示す設定値「有効」に設定され、処理IPPに対して検証状態にエラー状態が設定されているので、第2のバージョン1.1.1のファームウェアに対して設定可否状態が無効状態を示す設定値「不可」に設定される。ここで、設定値「不可」は、その処理に対する設定可否状態が無効状態であって検証状態がエラー状態であることを示す設定値である。
処理SMBに対して、第1のバージョン1.1.0のファームウェアに対して設定可否状態が有効状態を示す設定値「有効」に設定され、処理SMBに対して検証状態に未確認状態が設定されているので、第2のバージョン1.1.1のファームウェアに対して設定可否状態が無効状態を示す設定値「無効」に設定される。ここで、設定値「無効」は、その処理に対する設定可否状態が無効状態であって検証状態が未確認状態であることを示す設定値である。
図10は、第1のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す図である。図10を参照して、プリント機能に対して、処理RAWが有効状態に設定されていることを示す設定値「有効」が設定されており、処理LPDが無効状態に設定されていることを示す設定値「無効」が設定されており、処理IPPが有効状態に設定されていることを示す設定値「有効」が設定されており、処理SMBが有効状態に設定されていることを示す設定値「有効」が設定されている。
図11は、第2のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す第1の図である。図11を参照して、プリント機能に対して、処理RAWが有効状態に設定されていることを示す設定値「有効」が設定されており、処理LPDが無効状態に設定されていることを示す設定値「無効」が設定されている。処理IPPが無効状態に設定されていることを示す設定値「不可」が設定されており、処理SMBが無効状態に設定されていることを示す設定値「無効」が設定されている。
図12は、第2のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す第2の図である。図11に示した設定可否状態設定画面が表示されている状態で、処理SMBに対する設定可否状態を設定する領域301が有効状態を示す設定値「有効」に変更される状態を示している。この場合、「SMB印刷は、動作検証中のため、正常に動作しない可能性があります。」の文字列を含むメッセージ303が第1警告メッセージとして表示される。これにより、ユーザーにSMB印刷を実行させる設定をすることができるが、エラーが発生する場合があることを通知することができる。
図13は、第2のバージョンのファームウェアがインストールされている状態における設定可否状態設定画面の一例を示す第3の図である。図11に示した設定可否状態設定画面が表示されている状態で、処理IPPに対する設定可否状態を設定する領域311が設定値「有効」に変更される状態を示している。ここでは、処理SMBの検証状態が、複数部数を印刷する複数部数印刷処理と組み合わせて実行される場合にエラーが発生することが確認されている特定未確認状態である場合を例に示している。
この場合、「IPP印刷は、複数部印刷に失敗する場合があります。」の文字列を含むメッセージ313が第1警告メッセージとして表示される。これにより、ユーザーにIPP印刷を実行させる設定をすることができるが、特定の処理として複数部印刷の処理と組み合わせて実行させる設定をする場合にエラーが発生することを通知することができる。
図14は、設定画面の一例を示す図である。図14に示す設定画面は、図12に示した設定可否状態設定画面で、処理SMBの設定可否状態が有効状態に設定された後に、表示される設定画面を示す。図14を参照して、設定画面は、処理RAW、処理LPD、処理IPPおよび処理SMBそれぞれを使用するための設定値を設定するためのラジオボタン321〜324を含む。ラジオボタン321〜324は、排他的に選択可能であり、いずれか1つを選択することが可能である。図14においては、処理SMBに対応するラジオボタン324が選択され、処理SMBを使用するための設定値が設定されていることを示している。また、処理IPPの設定可否状態は無効状態を示す「不可」が設定されているので、ラジオボタン323を選択することができないことが示される。図では、ラジオボタン323を選択することができないことを点線で示している。なお、ラジオボタン323を選択する指示を受け付ける場合に、「IPP印刷は、複数部印刷に失敗する場合があります。」の文字列を含むメッセージを第1警告メッセージとして表示するようにしてもよい。
処理SMBの検証状態は、未確認状態なので、処理SMBに対応するラジオボタン324が選択された段階で、「SMB印刷は、動作検証中のため、正常に動作しない可能性があります。」の文字列を含むメッセージ325が表示される。これにより、ユーザーが処理を実行させるための設定値を設定する段階で、エラーが発生しないことが確認されていないことを通知することができる。
図15は、第3のバージョンのファームウェアに対する検証状態情報の一例を示す図である。図15を参照して、第3のバージョンをバージョン1.1.3とし、第3のバージョンのファームウェアで定められるプリント機能に含まれる4つの処理それぞれの検証状態を示している。検証状態情報は、処理ごとの検証状態を示す。
処理RAWに対して、検証状態に終了状態が設定され、処理LPD、処理IPPおよび処理SMBに対して、検証状態にそれぞれ未確認状態が設定されている。
図16は、履歴情報の一例を示す図である。図16を参照して、履歴情報は、処理ごとの、ユーザー名、ファイル名、処理を実行した結果、処理が実行された完了日を定める。ここでは、処理RAWがユーザー「AAA」により、ファイル名「test.txt」のデータを対象に、2017年3月20日の18時00分に正常に実行された履歴と、処理SMBがユーザー「CCC」により、ファイル名「hogehoge.txt」のデータを対象に、2017年3月22日の11時00分に正常に実行された履歴と、を含む。
図17は、優先順位の一例を示す図である。図17を参照して、優先順位は、検証が完了していない処理ごとに定められる。処理RAWの検証状態は終了状態で検証が終了しているので、優先順位は付されない。図16に示した履歴情報において、処理RAWと処理IPPが実行された実績があるので、処理IPPの優先順位が最も高い値である「1」に設定される。これにより、過去に使用された実績のある処理ほど優先して検証が実行されるので、できるだけ早くユーザーが正常な状態で使用することができるファームウェアを提供することができる。処理LPDの優先順位が「3」、処理SMBの優先順位が「2」に設定されている。これは、図12に示した設定可否状態設定画面において、処理SMBの設定可否状態が有効状態に設定されており、処理LPDの設定可否状態が無効状態に設定されていることによる。換言すれば、設定可否状態が有効状態に設定されている処理を、設定可否状態が無効状態に設定されている処理よりも優先順位を高くする。これにより、使用される可能性の高い処理ほど優先して検証が実行されるので、できるだけ早くユーザーが正常な状態で使用することができるファームウェアを提供することができる。
以上説明したように第1の実施の形態におけるMFP100は、情報処理装置として機能し、第2のバージョンのファームウェアと検証状態情報との組をサーバー200からダウンロードし、第1のバージョンのファームウェアを第2のバージョンのファームウェアで更新し、第2のバージョンのファームウェアで定められる複数の処理のうち未検証処理の設定可否状態を無効状態に設定し、設定可否状態が無効状態に設定された未検証処理の設定可否状態を、ユーザーによる実行させる設定が可能な有効状態に設定する。このため、ユーザーは、エラーが発生しないことの検証が終了していない処理を実行させる設定が可能となる。未検証処理であってもエラーが発生しない場合があるので、ユーザーが未検証処理を実行させることができるようにして、利便性を向上させることができる。
また、未検証処理の設定可否状態が有効状態に設定される場合に、検証が終了していないことを示す第1警告メッセージをユーザーに通知するので、ユーザーにエラーが発生する危険性があることを知らせることができる。
また、ユーザーにより入力される操作に従って、設定可否状態が有効状態に設定された未検証処理を実行させる設定がされることに応じて、検証が終了していないことを示す第1警告メッセージをユーザーに通知するので、未検証処理の実行を指示したユーザーに、エラーが発生する危険性があることを知らせることができる。
また、第2のバージョンのファームウェアで定められる未検証処理の設定可否状態を、第2のバージョンのファームウェアをインストールする前の第1のバージョンのファームウェアがインストールされた状態における設定可否状態が有効状態に設定されている場合、有効状態に設定するので、ファームウェアの更新前後で、ユーザーが設定可能な処理をできるだけ同じにすることができる。
また、検証が終了した検証完了処理に対しては、第1のバージョンのファームウェアがインストールされた状態における設定可否状態が設定されるので、ユーザーは、ファームウェアの更新前後で、ユーザーが設定可能な処理をできるだけ同じにすることができる。
また、MFP100と同一グループに属する他のMFP100A,100Bに第2のバージョンのファームウェアをインストールさせるとともに、MFP100に設定された設定可否状態を設定させるので、MFP100A,100Bそれぞれにおけるファームウェアをバージョンアップさせる操作と、そのファームウェアに対して設定する操作とを簡略にすることができる。
また、サーバー200からサーバー用検証状態情報を取得し、サーバー200により提供されるサービスが検証の終了していない未検証状態を示す未終了サービスを、無効状態に設定するので、エラーが発生しないことの検証が終了していないサービスの提供を受ける処理が実行されるのを制限できる。したがって、サーバーにインストールされた新バージョンのサービスの提供をできるだけ早く受けることができる。
<第1の変形例>
第1の実施の形態におけるMFP100は、検証状態が未検証状態の処理に対して、検証状態が未確認状態の場合に、ユーザーが設定可否状態を有効状態に設定することができるが、検証状態がエラー状態の場合に、ユーザーが設定可否状態を有効状態に設定することができないようにした。第1の変形例においては、検証状態が未検証状態の処理に対して、検証状態が未確認状態の場合に加えてエラー状態の場合にも、ユーザーが未検証状態の未検証処理を実行するための設定ができるようにしたものである。
図18は、第1の実施の形態の変形例におけるMFPが有するCPUの機能の概要の一例を示すブロック図である。図18を参照して、図4に示した機能と異なる点は、更新部57、解除部75、設定値設定部65、解除時警告部81および設定時警告部83が、更新部57A、解除部75A、設定値設定部65A、解除時警告部81Aおよび設定時警告部83Aに変更された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。更新部57Aは、一時更新部77を含む。
解除部75Aは、制限部73によって設定可否状態が無効状態に設定された未検証処理の処理識別情報が入力される。未検証状態は、エラーが発生することが確認されているエラー状態と、エラーが発生することが確認されていない未確認状態と、を含む。解除部75Aは、制限部73から入力される処理識別情報で特定される未検証処理について、ユーザーが操作部163に入力する操作に従って、設定可否状態を有効状態に設定する。解除部75Aは、設定可否状態を有効状態に設定した未検証処理の処理識別情報を警告部63に出力する。
なお、解除部75Aは、制限部73から入力される処理識別情報で特定される未検証処理について、更新前状態情報によって設定可否状態が有効状態に設定されている場合に、設定可否状態を有効状態に設定するようにしてもよい。ユーザーによる操作が不要なので、ユーザーの作業を簡易にすることができる。この場合においても解除部75Aは、設定可否状態を有効状態に設定した未検証処理の処理識別情報を警告部63に出力する。
解除時警告部81Aは、解除部75Aから未検証処理の処理識別情報が入力され、未検証処理の検証状態が未確認状態の場合、表示部161に第1警告メッセージを表示する。第1警告メッセージは、未検証処理の検証状態が未確認状態の場合、設定可否状態が有効状態に設定された未検証処理の検証が終了していないことを示す。第1警告メッセージは、未確認処理を実行する場合にエラーが発生する場合があることを示すメッセージであってもよい。また、第1警告メッセージは、未検証処理の検証状態が特定未確認状態の場合、エラーが発生する条件を示す。例えば、第1警告メッセージは、組み合わせできない他の処理を通知するメッセージである。
また、解除時警告部81Aは、解除部75から未検証処理の処理識別情報が入力され、未検証処理の検証状態がエラー状態の場合、表示部161に第3警告メッセージを表示する。第3警告メッセージは、未検証処理の実行が指示される場合には、旧バージョンのファームウェアに更新されることを通知するためのメッセージである。
設定値設定部65Aは、設定可否情報管理部59から第2のバーションのファームウェアで定められる複数の処理ごとに設定可否状態が入力される。設定値設定部65Aは、ユーザーが操作部163に入力する操作に従って、第2のバーションのファームウェアで定められる複数の処理のうち、設定可否状態が有効状態に設定されている処理それぞれに設定値を設定する。設定値設定部65Aは、設定可否状態が無効状態に設定されている処理については、設定値を設定しない。設定値設定部65Aは、第2のバーションのファームウェアで定められる複数の処理それぞれに対して設定された設定値を、制御部61に出力する。
設定値設定部65Aは、ユーザーにより入力される操作の対象となる処理の検証状態が未検証状態の場合、操作の対象となる未検証処理の処理識別情報を設定時警告部83Aに出力する。未検証状態は、未確認状態とエラー状態とを含む。また、設定値設定部65は、ユーザーにより入力される操作の対象となる処理の検証状態がエラー状態の場合、一時更新部77に更新指示を出力する。
設定時警告部83Aは、設定値設定部65から未検証処理の処理識別情報が入力され、未検証処理の検証状態が未確認状態の場合、表示部161に第1警告メッセージを表示する。第1警告メッセージは、未検証処理の検証状態が未確認状態の場合、設定可否状態が有効状態に設定された未検証処理の検証が終了していないことを示す。第1警告メッセージは、未確認処理を実行する場合にエラーが発生する場合があることを示すメッセージであってもよい。また、第1警告メッセージは、未検証処理の検証状態が特定未確認状態の場合、エラーが発生する条件を示す。例えば、第1警告メッセージは、組み合わせできない他の処理を通知するメッセージである。このため、ユーザーは、未確認処理を実行させるか否かを、設定値を設定する段階で選択することができる。
また、設定時警告部83Aは、設定値設定部65から未検証処理の処理識別情報が入力され、未検証処理の検証状態がエラー状態の場合、表示部161に第3警告メッセージを表示する。第3警告メッセージは、旧バージョンのファームウェアに更新されることを通知するためのメッセージである。このため、ユーザーは、設定値を設定する段階で、エラーが発生しないように処理を組み合わせた設定をすることができる。このため、ユーザーは、未確認処理を実行させるか否かを、設定値を設定する段階で選択することができる。
一時更新部77は、第2のバージョンのファームウェアがインストールされている状態で、設定値設定部65Aから更新指示が入力されることに応じて、第1のバージョンのファームウェアをインストールすることによりファームウェアを更新する。一時更新部77は、第2のバージョンのファームウェアをインストールした後に、設定値設定部65Aにより設定された設定値に従った処理が制御部61により実行され、その処理が終了すると、第2のバージョンのファームウェアをインストールすることによりファームウェアを更新する。
制御部61は、インストールされたファームウェアを実行し、ファームウェアで定められた処理を設定値に従って実行する。第1のバージョンのファームウェアがインストールされている状態においては、制御部61は、第1のバージョンのファームウェアで定められた処理を設定値に従って実行する。制御部61は、更新部57によって第2のバージョンのファームウェアがインストールされた後は、第2のバージョンのファームウェアで定められた処理を設定値に従って実行する。
未確認処理は、エラーが発生することが確認されていないので、エラーが発生しない可能性がある。このため、ユーザーによる使用を可能にすることで、ユーザーの利便性を向上させることができる。また、エラー処理は、エラーが発生することが確認されているので、第2のバージョンのファームウェアでエラーが発生することが事前にわかっている。このため、ユーザーによりエラー処理を実行させる設定がされる場合には、第1のバージョンのファームウェアをインストールするので、エラーが発生しないようにすることができる。また、処理を実行した後に第2のバージョンのファームウェアがインストールされた状態となるので、最新のバージョンのファームウェアがインストールされた状態にすることができる。
図19は、第1の変形例におけるファームウェア更新処理の流れの一例を示すフローチャートである。図5に示した処理と異なる点は、ステップS19がステップS19Aに変更された点である。その他の処理は、図5に示した処理と同じなので、ここでは説明を繰り返さない。
ステップS19Aにおいては、第3警告メッセージを表示部161に表示し、処理をステップS17に進める。第3警告メッセージは、ステップS15において特定される処理が実行される場合には、旧バージョンのファームウェアに更新することを通知するためのメッセージである。ユーザーは、設定可否状態を設定する時点で、処理を実行させるとエラーが発生するために、旧バージョンのファームウェアをインストールした後に処理が実行されることを知ることができる。また、処理がステップS19Aに進む場合、次のステップS17において設定可否状態が有効状態に設定される。
図20は、第1の変形例における操作受付処理の流れの一例を示すフローチャートである。第1の変形例における操作受付処理が、図7に示した操作受付処理と異なる点は、ステップS43およびステップS45がステップS43AおよびステップS45Aに変更された点、ステップS48に代えて、ステップS51〜ステップS55が追加された点である。その他の処理は、図7に示した処理と同じなのでここでは説明を繰り返さない。
ステップS43Aにおいては、ステップS42において特定された処理に対する検証状態によって処理を分岐させる。図19に示したファームウェア更新処理において、検証状態が未確認状態またはエラー状態いずれかの処理がユーザーにより有効状態に設定される場合がある。このため、ステップS41において受け付けられる設定操作は、検証状態が終了状態、未確認状態およびエラー状態のいずれかの処理に対する設定操作が受け付けられる。このため、ステップS43Aにおいては、検証状態が終了状態ならば処理をステップS46に進め、未確認状態ならば処理をステップS44に進め、エラー状態ならば処理をステップS45Aに進める。
ステップS44においては、第1警告メッセージを表示部161に表示し、処理をステップS46に進める。第1警告メッセージは、設定可否状態が有効に設定される処理が、エラーが発生しないことが確認されていない処理であることを通知するメッセージである。
ステップS45Aにおいては、第3警告メッセージを表示部161に表示し、処理をステップS46に進める。第3警告メッセージは、ステップS15において特定される処理が実行される場合には、旧バージョンのファームウェアに更新することを通知するためのメッセージである。
ステップS46においては、ステップS41において受け付けられた設定操作に従って、ステップS42において特定された処理に対する設定値を設定し、処理をステップS47に進める。処理がステップS44から進む場合、設定値が設定されるので、ユーザーは、その処理を実行させるための設定をすることができるが、ステップS44において第1警告メッセージが表示されるので、設定値を設定する時点でその処理が実行された場合にエラーが発生する場合があることを知ることができる。また、処理がステップS45Aから進む場合、設定値が設定されるので、ユーザーは、その処理を実行させるための設定をすることができるが、ステップS45Aにおいて第3警告メッセージが表示されるので、設定値を設定する時点で、旧バージョンのファームウェアで処理が実行されることを知ることができる。
ステップS47においては、ユーザーが操作部163に入力する実行指示操作を受け付けたか否かを判断する。実行指示操作を受け付けたならば処理をステップS51に進めるが、そうでなければ処理をステップS41に戻す。
ステップS51においては、MFP100にインストールされている第2のバージョンのファームウェアにより定められて複数の処理のうち、ステップS46において設定された設定値に従って実行される1以上の処理のうちに検証状態がエラー状態の処理が存在するか否かを判断する。エラー状態の処理が1つでも存在すれば処理をステップS52に進めるが、そうでなければ処理をステップS55に進める。ステップS55においては、ステップS46において設定された設定値に従って、MFP100にインストールされている第2のファームウェアにより定められた複数の処理の1以上を実行し、処理を終了する。
ステップS52においては、旧バージョンのファームウェアをインストールし、処理をステップS53に進める。ここでは、第2のバージョンのファームウェアがンストールされているので、第2のバージョンのファームウェアより前にインストールされていた第1のバージョンのファームウェアをインストールする。
そして、ステップS46において設定された設定値に従って、MFP100にインストールされている第1のファームウェアにより定められた複数の処理の1以上を実行し(ステップS53)、処理をステップS54に進める。ステップS54においては、新バージョンのファームウェアをインストールし、処理を終了する。ここでは、ステップS52において第1のバージョンのファームウェアがンストールされているので、第1のバージョンのファームウェアより新しい第2のバージョンのファームウェアをインストールし、処理を終了する。
なお、第1の変形例においては、検証状態がエラー状態のエラー処理が実行される場合に、旧バージョンのファームウェアをインストールして、処理を実行するようにしたが、検証状態が未確認状態の未確認処理が実行される場合にも、旧バージョンのファームウェアをインストールして、処理を実行するようにしてもよい。
第1の変形例におけるMFP100は、設定可否状態が有効状態に設定された未検証処理を実行させるユーザーによる操作が入力されることに応じて、第1のバージョンのファームウェアをインストールし、未検証処理が実行された後に、第2のバージョンのファームウェアをインストールする。このため、未検証処理を確実に実行することができる。また、未検証処理が実行された後に第2のバーションのファームウェアをインストールするので、未検証処理以外の処理を実行させるユーザーによる操作が入力される場合には、最新のバージョンのファームウェアが実行されるので、できるだけ最新のバージョンのファームウェアを利用することが可能となる。
<第2の変形例>
第1の実施の形態におけるMFP100は、検証状態が未検証状態の処理に対して、検証状態が未確認状態の場合に、ユーザーが設定可否状態を有効状態に設定することができるが、検証状態がエラー状態の場合に、ユーザーが設定可否状態を有効状態に設定することができないようにした。また、第1の変形例においては、検証状態が未検証状態の処理に対して、検証状態が未確認状態の場合に加えてエラー状態の場合にも、ユーザーが設定可否状態を有効状態に設定することができるようにしたものである。
第2の変形例におけるMFP100は、検証状態が未検証状態の処理に対して、検証状態が未確認状態およびエラー状態のいずれの場合であっても、ユーザーが設定可否状態を有効状態に設定することができないようにしたものである。この場合、図4に示した機能において、解除部75、警告部63は不要である。
また、図5に示したファームウェア更新処理において、ステップS16において、検証状態が未確認状態およびエラー状態の場合に、処理をステップS01に戻すようにすればよい。
以上説明したように、第2の変形例におけるMFP100は、情報処理装置として機能し、第2のバージョンのファームウェアと検証状態情報との組をサーバー200からダウンロードし、第1のバージョンのファームウェアを第2のバージョンのファームウェアで更新し、第2のバージョンのファームウェアで定められる複数の処理のうち未検証処理の設定可否状態を無効状態に設定する。このため、エラーが発生しないことの検証が終了していない処理がユーザーによる指示により実行されないようにして、エラーが発生しないことの検証が終了した処理がユーザーによる指示により実行されるようにすることができる。このため、新バージョンのファームウェアで定められて複数の処理のすべてにおいて検証が完了していない状態でもファームウェアをインストールすることができるので、新バージョンのファームウェアをできるだけ早くインストールすることができる。
<第2の実施の形態>
第1の実施の形態におけるMFP100は、第2のバージョンのファームウェアに対応する検証状態情報に係わらず、第2のバージョンのファームウェアをインストールする。第2の実施の形態におけるMFP100は、第2のバージョンのファームウェアで定められる複数の処理のうち第1のバージョンのファームウェアで定められた複数の処理であって過去に実行したことのある処理の検証状態がエラー状態の場合、第2のバージョンのファームウェアをインストールしないようにしたものである。
図21は、第2の実施の形態におけるMFPが有するCPUの機能の概要の一例を示すブロック図である。図21を参照して、図4に示した機能と異なる点は、更新部57、設定値設定部65、設定部71、制限部73、解除部75、解除時警告部81および設定時警告部83が、更新部57B、設定値設定部65B、設定部71B、制限部73B、解除部75B、解除時警告部81Aおよび設定時警告部83Aに変更された点、履歴記憶部91および禁止部93が追加された点である。その他の機能は、図4に示した機能と同じであり、解除時警告部81Aおよび設定時警告部83Aは、図18に示したそれらと同じなので、ここでは説明を繰り返さない。
履歴記憶部91は、制御部61が実行した処理の履歴をHDD115に記憶する。履歴記憶部91は、HDD115に記憶された処理の履歴を禁止部93に出力する。
禁止部93は、ダウンロード部55から第2のバージョンのファームウェアの検証状態情報が入力され、履歴記憶部91から処理の履歴が入力される。禁止部93は、処理の履歴で特定される実行処理に対して、その実行処理が検証状態情報によってエラー状態を示す場合、第2のバージョンのファームウェアのインストールを禁止する。具体的には、禁止部93は、第2のバージョンのファームウェアのインストールを禁止する場合、更新部57Bに禁止信号を出力する。
更新部57Bは、禁止部93から禁止信号が入力されない場合、ダウンロード部55から第2のバージョンのファームウェアをインストールすることにより、第1のバージョンのファームウェアを第2のバージョンのファームウェアで更新する。更新部57Bは、禁止部93から禁止信号が入力される場合、ダウンロード部55から第2のバージョンのファームウェアをインストールすることなく、第1のバージョンのファームウェアを第2のバージョンのファームウェアで更新しない。
ここでは、第1のバージョンのファームウェアで定められる複数の処理それぞれの検証状態情報が終了状態である場合を例に説明する。
更新部57Bによって第2のファームウェアがインストールされていない場合、第1のバージョンのファームウェアがインストールされている。この場合、設定部71Bは、検証完了処理に対して更新前状態情報によって有効状態に設定されていれば設定可否状態を有効状態に設定し、更新前状態情報によって無効状態に設定されていれば設定可否状態を無効状態に設定する。
また、設定部71Bは、更新部57Bによって第2のファームウェアがインストールされている場合、第2のバージョンのフォームウェアで定められる複数の処理のうち検証完了処理それぞれの設定可否状態を更新前状態情報と同じ状態に設定する。具体的には、設定部71Bは、検証完了処理に対して更新前状態情報によって有効状態に設定されていれば設定可否状態を有効状態に設定し、更新前状態情報によって無効状態に設定されていれば設定可否状態を無効状態に設定する。
制限部73Bは、更新部57Bによって第2のファームウェアがインストールされている場合、第2のバージョンのフォームウェアで定められる複数の処理のうち検証状態情報によって未検証状態に設定されている未検証処理それぞれについて、設定可否状態を、無効状態に設定する。これにより、未検証処理の設定可否状態が無効状態に設定されるので、ユーザーは未検証処理を実行させる設定が不可能となる。制限部73Bは、設定可否状態を無効状態に設定した未検証処理を識別するための処理識別情報を解除部75Bに出力する。
解除部75Bは、制限部73Bによって設定可否状態が無効状態に設定された未検証処理の処理識別情報が入力される。未検証状態は、エラーが発生することが確認されているエラー状態と、エラーが発生することが確認されていない未確認状態と、を含む。解除部75Bは、制限部73Bから入力される処理識別情報で特定される未検証処理のうち検証状態情報によって未確認状態が設定されている未確認処理について、ユーザーが操作部163に入力する操作に従って、設定可否状態を有効状態に設定する。未確認処理は、エラーが発生することが確認されていないので、エラーが発生しない可能性がある。このため、ユーザーによる使用を可能にすることで、ユーザーの利便性を向上させることができる。また、解除部75Bは、制限部73Bから入力される処理識別情報で特定される未検証処理のうち検証状態情報によってエラー状態が設定されているエラー処理については、ユーザーが操作部163に入力する操作を受け付けても、設定可否状態を有効状態に設定しない。エラー処理は、エラーが発生することが確認されているので、エラー処理を実行させるユーザーによる設定を不可能にして、エラーが発生しないようにすることができる。解除部75Bは、設定可否状態を有効状態に設定した未確認処理の処理識別情報を警告部63に出力する。
なお、解除部75Bは、制限部73Bから入力される処理識別情報で特定される未検証処理のうち検証状態情報によって未確認状態が設定されている未確認処理について、更新前状態情報によって有効状態に設定されている場合に、設定可否状態を有効状態に設定するようにしてもよい。ユーザーによる操作が不要なので、ユーザーの作業を簡易にすることができる。この場合においても解除部75Bは、設定可否状態を有効状態に設定した未確認処理の処理識別情報を警告部63に出力する。
設定値設定部65Bは、更新部57Bによって第2のバージョンのファームウェアがインストールされておらず、第1のバージョンのファームウェアがインストールされている場合、設定可否情報管理部59から第1のバーションのファームウェアで定められる複数の処理ごとに設定可否状態が入力される。設定値設定部65Bは、ユーザーが操作部163に入力する操作に従って、第1のバーションのファームウェアで定められる複数の処理のうち、設定可否状態が有効状態に設定されている処理それぞれに設定値を設定する。設定値設定部65Bは、設定可否状態が無効状態に設定されている処理については、設定値を設定しない。設定値設定部65Bは、第1のバーションのファームウェアで定められる複数の処理それぞれに対して設定された設定値を、制御部61に出力する。
設定値設定部65Bは、更新部57Bによって第2のバージョンのファームウェアがインストールされている場合、設定可否情報管理部59から第2のバーションのファームウェアで定められる複数の処理ごとに設定可否状態が入力される。設定値設定部65Bは、ユーザーが操作部163に入力する操作に従って、第2のバーションのファームウェアで定められる複数の処理のうち、設定可否状態が有効状態に設定されている処理それぞれに設定値を設定する。設定値設定部65Bは、設定可否状態が無効状態に設定されている処理については、設定値を設定しない。設定値設定部65Bは、第2のバーションのファームウェアで定められる複数の処理それぞれに対して設定された設定値を、制御部61に出力する。
設定値設定部65Bは、ユーザーにより入力される操作の対象となる処理の検証状態が未検証状態の場合、ユーザーにより入力される操作の対象となる処理の処理識別情報を、警告部63に出力する。
図22は、第2の実施の形態におけるファームウェア更新処理の流れの一例を示すフローチャートである。図22を参照して、図5に示した第1の実施の形態におけるファームウェア更新処理と異なる点は、ステップS03とステップS04との間にステップS51およびステップS52が追加された点である。その他の処理は、図5に示した処理と同じなのでここでは説明を繰り返さない。
ステップS51においては、更新判断処理を実行し、処理をステップS52に進める。ステップS52においては、更新判断処理を実行した結果、更新禁止と判断されたか否かを判断する。更新禁止と判断されたならば処理をステップS01に戻すが、更新禁止と判断されなければ処理をステップS04に進める。
図23は、更新判断処理の流れの一例を示すフローチャートである。更新判断処理は、図22のステップS51において実行される処理である。図23を参照して、HDD115に記憶されている履歴を読み出す(ステップS61)。履歴は、MFP100が過去に実行した処理を示し、過去に実行された処理を識別するための処理識別情報を含む。そして、読み出した履歴のうちから1つの履歴を選択する(ステップS62)。次のステップS63においては、選択された履歴に含まれる処理識別情報で特定される処理に対応する検証状態がエラー状態を示すか否かを判断する。エラー状態を示すならば処理をステップS64に進めるが、そうでなければ処理をステップS65に進める。ステップS64においては、更新禁止に設定し、処理をステップS65に進める。
ステップS65においては、ステップS61において読み出された履歴のうちにステップS62において選択されていない履歴が存在するか否かを判断する。未選択の履歴が存在するならば処理をステップS62に戻すが、存在しなければ処理をファームウェア更新処理に戻す。
過去に実行したことのある処理の少なくとも1つにおいて、検証状態がエラー状態の場合に、更新禁止に設定するので、MFP100で実行される可能性の高い処理でエラーが発生することが確認されているファームウェアをインストールしないようにして、利便性が損なわれないようにすることができる。
第2の実施の形態におけるMFP100が備えるCPU111においては、図7に示した操作受付処理と同じ処理が実行される。
第2の実施の形態におけるMFP100は、第2のバージョンのファームウェアと検証状態情報との組をサーバー200からダウンロードし、第2のバージョンのファームウェアで定められた複数の処理のうちに、過去に実行した処理の履歴で特定される実行処理に対して検証状態情報がエラー状態を示す処理が存在する場合、第2のバージョンのファームウェアのインストールを禁止する。このため、過去に実行された実行処理に対して検証状態情報がエラー状態を示す場合には、第2のバージョンのファームウェアをインストールすることなく、過去に実行された実行処理に対して検証状態情報がエラー状態を示さない場合に第2のバージョンのファームウェアをインストールする。このため、ユーザーによる使用実績に応じて新たなバージョンのファームウェアをインストールすることができる。
<第3の変形例>
第2の実施の形態におけるMFP100においては、第2のバージョンのファームウェアで定められた複数の処理のうちに、第1のバージョンのファームウェアで定められた複数の処理であって過去に実行したことのない処理の検証状態がエラー状態の場合がある。このため、第2の実施の形態におけるMFP100においては、検証状態が未検証状態の処理に対して、検証状態が未確認状態の場合に、ユーザーが設定可否状態を有効状態に設定することができるが、検証状態がエラー状態の場合に、ユーザーが設定可否状態を有効状態に設定することができない。第3の変形例においては、検証状態が未検証状態の処理に対して、検証状態が未確認状態の場合に加えてエラー状態の場合にも、ユーザーが設定可否状態を有効状態に設定することができるようにしたものである。
図24は、第3の変形例におけるMFPが有するCPUの機能の概要の一例を示すブロック図である。図24を参照して、図21に示した機能と異なる点は、更新部57B、解除部75Bおよび設定値設定部65Bが、更新部57C、解除部75Cおよび設定値設定部65Cに変更された点である。その他の機能は、図21に示した機能と同じなので、ここでは説明を繰り返さない。更新部57Cは、一時更新部77を含む。
解除部75Cは、制限部73Bによって設定可否状態が無効状態に設定された未検証処理の処理識別情報が入力される。未検証状態は、エラーが発生することが確認されているエラー状態と、エラーが発生することが確認されていない未確認状態と、を含む。解除部75Cは、制限部73Bから入力される処理識別情報で特定される未検証処理について、ユーザーが操作部163に入力する操作に従って、設定可否状態を有効状態に設定する。解除部75Cは、設定可否状態を有効状態に設定した未検証処理が、検証状態が未確認状態の未確認処理の場合は未確認処理の処理識別情報を警告部63に出力する。
なお、解除部75Cは、制限部73Bから入力される処理識別情報で特定される未検証処理について、更新前状態情報によって設定可否状態が有効状態に設定されている場合に、設定可否状態を有効状態に設定するようにしてもよい。ユーザーによる操作が不要なので、ユーザーの作業を簡易にすることができる。この場合においても解除部75Cは、設定可否状態を有効状態に設定した未検証処理が、検証状態が未確認状態の未確認処理の場合は未確認処理の処理識別情報を警告部63に出力する。
設定値設定部65Cは、設定可否情報管理部59から第2のバーションのファームウェアで定められる複数の処理ごとに設定可否状態が入力される。設定値設定部65Cは、ユーザーが操作部163に入力する操作に従って、第2のバーションのファームウェアで定められる複数の処理のうち、設定可否状態が有効状態に設定されている処理それぞれに設定値を設定する。設定値設定部65Cは、設定可否状態が無効状態に設定されている処理については、設定値を設定しない。設定値設定部65Cは、第2のバーションのファームウェアで定められる複数の処理それぞれに対して設定された設定値を、制御部61に出力する。
設定値設定部65Cは、ユーザーにより入力される操作の対象となる処理の検証状態が未検証状態の場合、操作の対象となる未検証処理の処理識別情報を設定時警告部83Aに出力する。未検証状態は、未確認状態とエラー状態とを含む。また、設定値設定部65Cは、ユーザーにより入力される操作の対象となる処理の検証状態がエラー状態の場合、一時更新部77に更新指示を出力する。
一時更新部77は、第2のバージョンのファームウェアがインストールされている状態で、設定値設定部65Cから更新指示が入力されることに応じて、第1のバージョンのファームウェアをインストールすることによりファームウェアを更新する。一時更新部77は、第2のバージョンのファームウェアをインストールした後に、設定値設定部65Cにより設定された設定値に従った処理が制御部61により実行され、その処理が終了すると、第2のバージョンのファームウェアをインストールすることによりファームウェアを更新する。
未確認処理は、エラーが発生することが確認されていないので、エラーが発生しない可能性がある。このため、ユーザーによる使用を可能にすることで、ユーザーの利便性を向上させることができる。また、エラー処理は、エラーが発生することが確認されているので、第2のバージョンのファームウェアでエラーが発生することが事前にわかっている。このため、ユーザーによりエラー処理を実行させる設定がされる場合には、第1のバージョンのファームウェアをインストールするので、エラーが発生しないようにすることができる。また、処理を実行した後に第2のバージョンのファームウェアがインストールされた状態となるので、最新のバージョンのファームウェアがインストールされた状態にすることができる。
第3の変形例におけるMFP100が備えるCPU111においては、図22に示したファームウェア更新処理と同じ処理が実行されるとともに、図20に示した操作受付処理と同じ処理が実行される。
なお、上述した実施の形態においては、ファームウェアがインストールされる情報処理装置の一例としてMFP100を例に説明したが、図5、図19または図22に示したファームウェア更新処理、および図7または図20に示した操作受付処理を、MFP100に実行させるファームウェア更新方法、また、そのファームウェア更新方法をMFP100のCPU111に実行させるファームウェア更新プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 情報処理システム、3 ネットワーク、100,100A,100B MFP、200 サーバー、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 HDD、116 ファクシミリ部、117 外部記憶装置、120 自動原稿搬送装置、130 原稿読取部、140 画像形成部、150 給紙部、160 操作パネル、161 表示部、163 操作部、165 タッチパネル、167 ハードキー部、201 CPU、202 ROM、203 RAM、204 HDD、205 通信部、206 表示部、207 操作部、209 外部記憶装置、51 更新前状態取得部、53 外部検証状態取得部、55 ダウンロード部、57,57A,57B,57C 更新部、59,59B 設定可否情報管理部、61 制御部、63 警告部、65,65A,65B,65C 設定値設定部、67 グループ設定部、69 優先順位決定部、71,71B 設定部、73,73B 制限部、75,75A,75B,75C 解除部、77 一時更新部、81 解除時警告部、83 設定時警告部、91 履歴記憶部、93 禁止部。

Claims (18)

  1. インストールされた第1のバージョンのファームウェアを実行する制御手段と、
    サーバーから前記第1のバージョンよりも新しい第2のバージョンのファームウェアと、前記第2のバージョンのファームウェアで定められる複数の処理ごとに検証されるまでの状態を示す検証状態情報との組を取得するダウンロード手段と、
    前記第1のバージョンのファームウェアを前記第2のバージョンのファームウェアで更新する更新手段と、
    前記検証状態情報は、前記複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、エラーが発生しないことの検証が終了した終了状態と、前記終了状態以外の未検証状態とを含み、
    前記検証状態情報に基づいて、前記複数の処理のうち前記検証状態情報が前記未検証状態を示す未検証処理の設定可否状態を、前記未検証処理を前記制御手段に実行させるユーザーによる設定が不可能な無効状態に設定する制限手段と、を備えた情報処理装置。
  2. 前記未検証状態は、エラーが発生することが確認されているエラー状態を含み、
    前記制御手段が実行した実行処理の履歴を記憶する履歴記憶手段と、
    前記履歴で特定される実行処理に対して、前記第2のバージョンのファームウェアと組になる前記検証状態情報が前記エラー状態を示す場合、前記更新手段による前記第2のバージョンのファームウェアのインストールを禁止する禁止手段と、をさらに備えた、請求項1に記載の情報処理装置。
  3. インストールされた第1のバージョンのファームウェアを実行する制御手段と、
    前記制御手段が実行した実行処理の履歴を記憶する履歴記憶手段と、
    サーバーから前記第1のバージョンよりも新しい第2のバージョンのファームウェアと、前記第2のバージョンのファームウェアで定められる複数の処理ごとに検証されるまでの状態を示す検証状態情報との組を取得するダウンロード手段と、
    前記第1のバージョンのファームウェアを取得された前記第2のバージョンのファームウェアで更新するために、前記第2のバージョンのファームウェアをインストールする更新手段と、
    前記検証状態情報は、前記複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、検証が終了した終了状態と、前記終了状態以外の未検証状態と、を含み、
    前記未検証状態は、エラーが発生することが確認されているエラー状態を含み、
    前記履歴で特定される実行処理に対して、前記第2のバージョンのファームウェアと組になる前記検証状態情報が前記エラー状態を示す場合、前記更新手段による前記第2のバージョンのファームウェアのインストールを禁止する禁止手段と、を備えた情報処理装置。
  4. 前記未検証状態は、エラーが発生することが確認されていない未確認状態を含み、
    前記更新手段により前記第2のバージョンのファームウェアがインストールされた後、前記検証状態情報に基づいて、前記複数の処理のうち前記検証状態情報が前記未確認状態を示す未検証処理の設定可否状態を、前記未検証処理を前記制御手段に実行させるユーザーによる設定が不可能な無効状態に設定する制限手段を、さらに備えた請求項3に記載の情報処理装置。
  5. 前記制限手段により設定可否状態が無効状態に設定された前記未検証処理の設定可否状態を、ユーザーによる前記制御手段に実行させる設定が可能な有効状態に設定する解除手段を、さらに備えた請求項1、2および4のいずれかに記載の情報処理装置。
  6. 前記解除手段により前記未検証処理の前記設定可否状態が前記有効状態に設定される場合に、検証が終了していないことを示す警告メッセージをユーザーに通知する解除時警告手段を、さらに備えた請求項5に記載の情報処理装置。
  7. ユーザーにより入力される操作に従って、前記解除手段により前記設定可否状態が有効状態に設定された前記未検証処理を前記制御手段に実行させる設定がされることに応じて、検証が終了していないことを示す警告メッセージをユーザーに通知する設定時警告手段を、さらに備えた請求項5または6に記載の情報処理装置。
  8. 前記解除手段により前記設定可否状態が有効状態に設定された前記未検証処理を前記制御手段に実行させるユーザーによる操作が入力されることに応じて、前記第1のバージョンのファームウェアをインストールし、前記制御手段により前記未検証処理が実行された後に、前記第2のバージョンのファームウェアをインストールする一時更新手段を、さらに備えた請求項5に記載の情報処理装置。
  9. 前記解除手段は、前記第2のバージョンのファームウェアをインストールした後の前記未検証処理に対して、前記第1のバージョンのファームウェアがインストールされた状態における設定可否状態が前記制御手段に実行させるユーザーによる設定が可能な有効状態に設定されている場合、前記未検証処理の設定可否状態を有効状態に設定する、請求項5〜8のいずれかに記載の情報処理装置。
  10. それに対応する検証状態情報が未検証状態を含まないファームウェアがインストールされた状態における前記制御手段が実行可能な複数の処理それぞれの設定可否状態を更新前状態として取得する更新前状態取得手段と、
    前記第2のバージョンのファームウェアで定められる複数の処理のうち終了状態が設定された検証完了処理に対して、前記更新前状態で定められた設定可否状態を設定する設定手段と、をさらに備えた請求項1、2、4〜9のいずれかに記載の情報処理装置。
  11. 前記更新手段により前記第2のバージョンのファームウェアがインストールされることに応じて、他の情報処理装置に前記第2のバージョンのファームウェアをインストールさせるとともに、前記制御手段が実行可能な複数の処理のうち前記検証状態情報が前記未検証状態を示す未検証処理の前記設定可否状態を、前記他の情報処理装置に設定させるグループ設定手段を、さらに備えた請求項1、2、4〜10のいずれかに記載の情報処理装置。
  12. 外部のサーバーにより提供されるサービスが検証された状態を示す外部検証状態情報を取得する外部検証状態情報取得手段と、
    前記外部検証状態情報は、エラーが発生しないことを検証する作業状態を示し、検証が終了した終了状態と、前記終了状態以外の未検証状態とを含み、
    前記制限手段は、前記外部検証状態情報に基づいて、前記外部検証状態情報が前記未検証状態を示す未検証サービスを前記外部のサーバーに実行させる設定を不可能な無効状態に設定する、請求項1、2、4〜11のいずれかに記載の情報処理装置。
  13. 前記更新手段により前記第1のバージョンのファームウェアが前記第2のバージョンのファームウェアで更新されることに応じて、前記第2のバージョンのファームウェアを、他の情報処理装置にインストールさせるために、前記第2のバージョンのファームウェアと前記設定可否状態とを送信するインストール指示手段を、さらに備えた請求項1、2、4〜12のいずれかに記載の情報処理装置。
  14. 前記第2のバージョンのファームウェアで定められる複数の処理のうち検証状態情報によって未検証状態に設定されている未検証処理に対して、検証のための作業の優先順位を決定する優先順位決定手段を、さらに備えた、請求項1〜13のいずれかに記載の情報処理装置。
  15. 前記優先順位決定手段は、前記制御手段が実行した実行処理ほど優先順位を高くする、請求項14に記載の情報処理装置。
  16. 前記第2のバージョンのファームウェアで定められる複数の処理のうち前記検証状態情報によって前記未検証状態に設定されている未検証処理に対して、検証のための作業の優先順位を決定する優先順位決定手段を、さらに備え、
    前記優先順位決定手段は、前記設定可否状態が有効状態に設定されている未検証処理ほど、優先順位を高くする、請求項1、2、4〜13のいずれかに記載の情報処理装置。
  17. インストールされた第1のバージョンのファームウェアを実行する制御ステップと、
    サーバーから前記第1のバージョンよりも新しい第2のバージョンのファームウェアと、前記第2のバージョンのファームウェアで定められる複数の処理ごとに検証されるまでの状態を示す検証状態情報との組を取得するダウンロードステップと、
    前記第1のバージョンのファームウェアを前記第2のバージョンのファームウェアで更新する更新ステップと、
    前記検証状態情報は、前記複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、エラーが発生しないことの検証が終了した終了状態と、前記終了状態以外の未検証状態とを含み、
    前記検証状態情報に基づいて、前記複数の処理のうち前記検証状態情報が前記未検証状態を示す未検証処理の設定可否状態を、前記未検証処理を実行させるユーザーによる設定が不可能な無効状態に設定する制限ステップと、を情報処理装置を制御するコンピューターに実行させるファームウェア更新プログラム。
  18. インストールされた第1のバージョンのファームウェアを実行する制御ステップと、
    前記制御ステップにおいて実行された実行処理の履歴を記憶する履歴記憶ステップと、
    サーバーから前記第1のバージョンよりも新しい第2のバージョンのファームウェアと、前記第2のバージョンのファームウェアで定められる複数の処理ごとに検証された状態を示す検証状態情報との組を取得するダウンロードステップと、
    前記第1のバージョンのファームウェアを取得された前記第2のバージョンのファームウェアで更新するために、前記第2のバージョンのファームウェアをインストールする更新ステップと、
    前記検証状態情報は、前記複数の処理ごとにエラーが発生しないことが検証されるまでの作業の進捗状態を示し、検証が終了した終了状態と、前記終了状態以外の未検証状態とを含み、
    前記未検証状態は、エラーが発生することが確認されているエラー状態を含み、
    前記履歴で特定される実行処理に対して、前記第2のバージョンのファームウェアと組になる前記検証状態情報が前記エラー状態を示す場合、前記更新ステップにおいて前記第2のバージョンのファームウェアがインストールされるのを禁止する禁止ステップと、を情報処理装置を制御するコンピューターに実行させるファームウェア更新プログラム。
JP2017182415A 2017-09-22 2017-09-22 情報処理装置、ファームウェア更新プログラム Active JP6953947B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017182415A JP6953947B2 (ja) 2017-09-22 2017-09-22 情報処理装置、ファームウェア更新プログラム
CN201811084735.1A CN109542363A (zh) 2017-09-22 2018-09-18 信息处理装置、存储了固件更新程序的计算机可读的记录介质
US16/138,505 US20190095192A1 (en) 2017-09-22 2018-09-21 Information processing apparatus and firmware update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017182415A JP6953947B2 (ja) 2017-09-22 2017-09-22 情報処理装置、ファームウェア更新プログラム

Publications (2)

Publication Number Publication Date
JP2019057217A JP2019057217A (ja) 2019-04-11
JP6953947B2 true JP6953947B2 (ja) 2021-10-27

Family

ID=65806613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017182415A Active JP6953947B2 (ja) 2017-09-22 2017-09-22 情報処理装置、ファームウェア更新プログラム

Country Status (3)

Country Link
US (1) US20190095192A1 (ja)
JP (1) JP6953947B2 (ja)
CN (1) CN109542363A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6833074B2 (ja) * 2018-01-31 2021-02-24 富士通フロンテック株式会社 紙葉類取扱装置および紙葉類取扱装置におけるpldのコンフィギュレーション方法
JP7118714B2 (ja) * 2018-04-13 2022-08-16 キヤノン株式会社 画像形成装置、および、該画像形成装置の制御方法、制御プログラム
CN110489137B (zh) * 2018-05-15 2024-04-09 恩智浦美国有限公司 用于更新无线充电器中的固件的系统和方法
CN110677250B (zh) * 2018-07-02 2022-09-02 阿里巴巴集团控股有限公司 密钥和证书分发方法、身份信息处理方法、设备、介质
CN110795774B (zh) 2018-08-02 2023-04-11 阿里巴巴集团控股有限公司 基于可信高速加密卡的度量方法、设备和系统
CN110795742B (zh) 2018-08-02 2023-05-02 阿里巴巴集团控股有限公司 高速密码运算的度量处理方法、装置、存储介质及处理器
CN110874478B (zh) 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 密钥处理方法及装置、存储介质和处理器
JP7077896B2 (ja) * 2018-09-25 2022-05-31 ブラザー工業株式会社 通信装置及び通信装置のためのコンピュータプログラム
JP7166904B2 (ja) * 2018-12-19 2022-11-08 キヤノン株式会社 情報処理システム及び制御方法
JP7123843B2 (ja) * 2019-03-29 2022-08-23 日立Astemo株式会社 演算装置、判定方法
JP2021002081A (ja) * 2019-06-19 2021-01-07 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP7417193B2 (ja) * 2020-03-04 2024-01-18 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム
CN111998510B (zh) * 2020-08-28 2022-02-18 海信(山东)空调有限公司 一种空调器及其控制方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2778786B2 (ja) * 1990-03-02 1998-07-23 富士通株式会社 データ更新・復元処理方式
JP2001117821A (ja) * 1999-10-22 2001-04-27 Sony Corp 記録媒体、編集装置、記録システム
JP3788235B2 (ja) * 2000-12-20 2006-06-21 富士ゼロックス株式会社 インターネットファクシミリ装置およびその制御方法
EP1396178A1 (en) * 2001-05-16 2004-03-10 Koninklijke Philips Electronics N.V. Computer-controlled x-ray imaging device
JP4820698B2 (ja) * 2006-07-03 2011-11-24 株式会社フジキン 圧力式流量制御装置の絞り機構下流側バルブの作動異常検出方法
US7844970B2 (en) * 2006-08-22 2010-11-30 International Business Machines Corporation Method and apparatus to control priority preemption of tasks
US9354864B2 (en) * 2008-05-08 2016-05-31 Dialogic Corporation Package header system and method to facilitate streaming a single firmware file upgrade
KR20100081720A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 포타 서비스 방법 및 시스템
JP2011039721A (ja) * 2009-08-10 2011-02-24 Fuji Xerox Co Ltd 情報処理装置及びプログラム
EP2513797A4 (en) * 2009-12-14 2016-09-28 Daj Asparna Ltd REVISION CONTROL SYSTEM AND METHOD
JP5499979B2 (ja) * 2010-07-30 2014-05-21 株式会社リコー 画像形成装置と画像形成装置の連携シナリオ作成方法とプログラムとコンピュータ読み取り可能な記録媒体
JP2012174196A (ja) * 2011-02-24 2012-09-10 Canon Inc クラウドコンピューティングシステム、その制御方法、およびそのプログラム
JP2014085951A (ja) * 2012-10-25 2014-05-12 Ubic:Kk ソースコード管理システム及びソースコード管理方法並びにソースコード管理プログラム
JP2014164677A (ja) * 2013-02-27 2014-09-08 Hitachi Ltd 仕様検証支援装置、仕様検証支援方法及びプログラム
JP6083302B2 (ja) * 2013-04-02 2017-02-22 コニカミノルタ株式会社 画像形成装置およびプログラム
CN103257872B (zh) * 2013-04-15 2016-11-23 中国信息安全测评中心 一种计算机的嵌入式控制系统及其更新方法
JP6379599B2 (ja) * 2014-04-02 2018-08-29 富士通株式会社 適用判定プログラム、適用判定方法、及び適用判定装置
CN104102519A (zh) * 2014-07-24 2014-10-15 英业达科技有限公司 机架式服务器系统的固件更新方法及其装置
US10318271B2 (en) * 2015-01-05 2019-06-11 Irdeto Canada Corporation Updating software components in a program
US10025287B2 (en) * 2015-03-30 2018-07-17 Rockwell Automation Germany Gmbh & Co. Kg Method for assignment of verification numbers
US20170142156A1 (en) * 2015-11-12 2017-05-18 Toyota Infotechnology Center Usa, Inc. Application Assurance for Open Platform In-Vehicle Infotainment System
US10430263B2 (en) * 2016-02-01 2019-10-01 Electro Industries/Gauge Tech Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices

Also Published As

Publication number Publication date
JP2019057217A (ja) 2019-04-11
CN109542363A (zh) 2019-03-29
US20190095192A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
JP6953947B2 (ja) 情報処理装置、ファームウェア更新プログラム
US20170111247A1 (en) Device management apparatus, device management system, device management method, and computer-readable recording medium
US11778110B2 (en) Image processing apparatus displaying a home screen in a fixed button mode in a state where acquisition of a recommended button information is unavailable
JP6265007B2 (ja) 情報処理装置、画像形成装置、文書管理システム、文書管理方法
JP2017111757A (ja) 情報処理装置、プログラムおよび情報処理システム
US20100245897A1 (en) Electronic apparatus and image forming system
JP2010063087A (ja) 画像形成装置、ログ蓄積方法、およびログ蓄積プログラム
JP2009301387A (ja) 画像処理装置、データ処理装置、認証方法、定義データ更新方法、認証プログラムおよび定義データ更新プログラム
US9407785B2 (en) Processing apparatus, processing method and computer-readable storage medium
JP2007293737A (ja) ソフトウェア資源の登録管理方法、電子機器、プログラム
JP6759897B2 (ja) 情報処理装置、情報処理プログラム、情報処理システムおよび情報処理方法
JP2011257936A (ja) 表示システム、表示装置、画像形成装置、表示方法、及びコンピュータプログラム
US11533305B2 (en) Authentication system, assistance server and non-transitory computer-readable recording medium encoded with assistance program
US11586404B2 (en) Job processing system
JP2015079483A (ja) 情報処理装置、消耗品発注方法、およびプログラム
JP7155973B2 (ja) 画像処理装置、ウイルスチェック方法およびウイルスチェックプログラム
JP7027827B2 (ja) サーバー、ジョブ管理方法およびジョブ管理プログラム
JP6801258B2 (ja) 情報処理装置、動作更新方法および動作更新プログラム
US11474802B2 (en) Information processing apparatus
US7333226B2 (en) Program distribution from a program distribution source to an image forming apparatus
US11880616B2 (en) Information processing system, control method therefor, and computer-readable storage medium
US20200285744A1 (en) Information processing apparatus, function executability determination method and non-transitory computer-readable recording medium encoded with function executability determination program
JP6838583B2 (ja) 画像処理装置
JP6478062B2 (ja) 通信装置および通信プログラム
JP6648642B2 (ja) 印刷システム、情報処理システムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210817

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210913

R150 Certificate of patent or registration of utility model

Ref document number: 6953947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150