(57)【要約】【課題】カスタマイズされたプログラムに対して上書きするか否かを判定すること。【解決手段】情報処理装置１００は、ファームウェアの更新によって少なくとも１つのプログラムの更新が可能な情報処理装置１００であって、更新対象のプログラムが同一プログラムであるか否かを識別する情報である識別情報を含む既知リストを用いて、前記更新対象のプログラムの新旧を判定する新旧判定部１０と、前記更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、前記既知リストに含まれるプログラムである場合、前記更新対象のプログラムを、前記更新対象のプログラムを更新する一斉配信プログラムで上書きする上書き判定部１２と、を備える。【選択図】図２
2020087422.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアの更新によって少なくとも１つのプログラムの更新が可能な情報処理装置であって、
更新対象のプログラムが同一プログラムであるか否かを識別する情報である識別情報を含む既知リストを用いて、前記更新対象のプログラムの新旧を判定する新旧判定部と、
前記更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、前記既知リストに含まれるプログラムである場合、前記更新対象のプログラムを、前記更新対象のプログラムを更新する一斉配信プログラムで上書きする上書き判定部と、
を備える情報処理装置。
【請求項２】
前記更新対象のプログラムがカスタマイズされたプログラムである場合、前記識別情報を用いて前記更新対象のプログラムのカスタマイズ番号が同一であるか否かを判定し、前記カスタマイズ番号が同一のときには、新しいプログラムのバージョンの値に基づいて、前記更新対象のプログラムの更新が可能か否かを判定し、前記カスタマイズ番号が同一ではないときには、前記既知リストに存在する前記識別情報のプログラムのみ更新可能とする更新許否判定部を備える請求項１に記載の情報処理装置。
【請求項３】
前記新旧判定部は、前記一斉配信プログラムの部番が前記更新対象のプログラムの部番と同一であるか否かを判定し、同一である場合には、前記一斉配信プログラムのバージョンと前記更新対象のプログラムのバージョンとの比較により、前記更新対象のプログラムの新旧を判定する請求項１に記載の情報処理装置。
【請求項４】
前記上書き判定部は、前記一斉配信プログラムの部番を変更した場合、前記既知リストを用いて、前記更新対象のプログラムの新旧を判定する請求項１に記載の情報処理装置。
【請求項５】
前記更新許否判定部は、異なる機種の場合、前記識別情報が一致するか否かを判定することにより、前記更新対象のプログラムの更新が可能か否かを判定する請求項２に記載の情報処理装置。
【請求項６】
前記更新許否判定部は、新たな機能を有効化するタイミングにおいて、複数の前記更新対象のプログラムの内、少なくとも１つが更新許可されていない場合には、複数の全ての前記更新対象のプログラムの更新の実行をさせない請求項２に記載の情報処理装置。
【請求項７】
前記更新許否判定部は、同一の機能の場合、機器内のカスタマイズされたプログラムの有無にかかわらずＲＯＭの更新を許可する請求項２に記載の情報処理装置。
【請求項８】
前記更新許否判定部は、前記既知リストを用いてカスタマイズされたプログラムムの上書きを行う請求項２に記載の情報処理装置。
【請求項９】
自動機能有効化設定時は、ＲＯＭの更新は可能だが新機能のＡｃｔｉｖａｔｅは実施されずユーザにその旨が通知される請求項１に記載の情報処理装置。
【請求項１０】
ユーティリティからの機能Ａｃｔｉｖａｔｅ時はＡｃｔｉｖａｔｅは実施されずユーザにその旨が通知される請求項１に記載の情報処理装置。
【請求項１１】
ファームウェアの更新によって少なくとも１つのプログラムの更新が可能なコンピュータが、
更新対象のプログラムが同一プログラムであるか否かを識別する情報である識別情報を含む既知リストを用いて、前記更新対象のプログラムの新旧を判定し、
前記更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、前記既知リストに含まれるプログラムである場合、前記更新対象のプログラムを、前記更新対象のプログラムを更新する一斉配信プログラムで上書きする情報処理方法。
【請求項１２】
ファームウェアの更新によって少なくとも１つのプログラムの更新が可能なコンピュータに、
更新対象のプログラムが同一プログラムであるか否かを識別する情報である識別情報を含む既知リストを用いて、前記更新対象のプログラムの新旧を判定させ、
前記更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、前記既知リストに含まれるプログラムである場合、前記更新対象のプログラムを、前記更新対象のプログラムを更新する一斉配信プログラムで上書きさせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェアの更新によって少なくとも１つのプログラムの更新が可能な情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
特許文献１には、取得したファームウェアのデータセットにカスタマイズデータが含まれている場合、当該カスタマイズデータを適用するか否かを判定し、判定の結果に応じて当該カスタマイズデータを適用する技術が開示されている。データセットは、ファームウェアで処理されるデータの纏まりである。以下では説明を簡単化するため「ファームウェア」を単に「ＦＷ」（Firm Ware）と称する場合がある。特許文献１に開示される技術によれば、プログラムへのカスタマイズ設定を、誤った組み合わせのファームウェアに適用してしまうことを防止できる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に開示される技術では、カスタマイズされたプログラム、部番が変更されたプログラムなどが更新される場合、単純なバージョンの数字を比較する新旧判定が行われるため、カスタマイズされたプログラムに対して更新されたプログラムを上書きするか否かを適切に判定できないという課題がある。
【０００４】
本発明は、上記課題に鑑み、カスタマイズされたプログラムに対して上書きするか否かを判定する。
【課題を解決するための手段】
【０００５】
上記課題に鑑み、本発明に係る情報処理装置は、ファームウェアの更新によって少なくとも１つのプログラムの更新が可能な情報処理装置であって、更新対象のプログラムが同一プログラムであるか否かを識別する情報である識別情報を含む既知リストを用いて前記更新対象のプログラムの新旧を判定する新旧判定部と、前記更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、前記既知リストに含まれるプログラムである場合、前記更新対象のプログラムを、前記更新対象のプログラムを更新する一斉配信プログラムで上書きする上書き判定部とを備える。
【発明の効果】
【０００６】
本発明によれば、カスタマイズされたプログラムに対して上書きするか否かを判定するという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態に係る情報処理装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態に係る情報処理装置のソフトウェア構成例を示す図である。
【図３】パッケージデータのリリース体系例について説明するための図である。
【図４】パッケージに含まれる複数のＦＷと、複数のＦＷのそれぞれの既知リストと、既知部番との一例を示す図である。
【図５】新旧判定部１１及び上書き判定部１２による動作を中心に示す第１フローチャートである。
【図６】更新許否判定部１３による動作を中心に示す第２フローチャートである。
【図７】新旧判定部１１による動作を中心に示す第３フローチャートである。
【図８】更新許否判定部１３による動作を中心に示す第４フローチャートである。
【図９】更新許否プログラムがある場合の更新処理のフローチャートである。
【図１０】ユーティリティからの新機能のアクティベートを実行する場合のフローチャートである。
【図１１】カスタマイズプログラム搭載時の新機能の自動アクティベートを実行する場合のフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための形態について図面を用いて説明する。
【０００９】
図１は本発明の実施の形態に係る情報処理装置のハードウェア構成例を示す図である。情報処理装置１００は画像形成装置である。画像形成装置は、例えば複合機、複写機、スキャナ、ファクシミリ、プリンタなどである。情報処理装置１００は、エンジン部１、操作部２、通信Ｉ／Ｆ（InterFace）３、ＣＰＵ（Central Processing Unit）４、ＲＯＭ（Read Only Memory）５、ＲＡＭ（Random Access Memory）６及びＨＤＤ（Hard Disk Drive）７を備える。
【００１０】
エンジン部１は、複合機の機能、複写機の機能、スキャナの機能、ファクシミリの機能又はプリンタの機能を、画像形成装置に対して実現させるための、汎用的な情報処理と行う。さらにエンジン部１は、通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙などのシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部などを備える。
【００１１】
操作部２は、ユーザによるコピー機などの操作を受け付けると共に、当該操作に応じた情報を不図示の画面に表示することによりユーザに情報を提供するユーザインタフェースである。通信Ｉ／Ｆ３は、情報処理装置１００をネットワーク２００に接続するための通信インタフェースである。ネットワーク２００は、インターネット、イントラネットなどである。なおネットワーク２００は、インターネット又はイントラネットに限定されず、情報の伝達が可能な通信網であればよく、携帯端末用のネットワークであってもよい。ＣＰＵ４は、本体の動作を統括的に制御する。ＣＰＵ４は、ＲＡＭ６をワークエリア（作業領域）として、ＲＯＭ５、ＨＤＤ７などに格納されたプログラムを実行することによって、情報処理装置１００全体の動作を制御する。これにより、ＣＰＵ４は、前述した複合機の機能、複写機の機能、スキャナの機能、ファクシミリの機能又はプリンタの機能を実現する。
【００１２】
図２は本発明の実施の形態に係る情報処理装置のソフトウェア構成例を示す図である。情報処理装置１００は、ＦＷ更新制御部１０、新旧判定部１１、上書き判定部１２、更新許否判定部１３、画像形成部１４、電力状態制御部１５及び操作制御部１６を備える。本実施の形態に係る情報処理装置１００では、ＦＷ更新制御部１０、新旧判定部１１、上書き判定部１２及び更新許否判定部１３の機能に特徴がある。情報処理装置１００は、旧部番リスト（包含プログラムリスト）を用いて、以下のような更新時における新旧判定を行う。当該プログラムは、例えば、カスタマイズされたプログラムの更新、カスタマイズされたプログラムが標準反映されたプログラムの更新、新規受注に伴う番号変更時のプログラムの更新、サフィックス一巡等による部番変更時のプログラムの更新などである。以下では、ＦＷ更新制御部１０、新旧判定部１１、上書き判定部１２及び更新許否判定部１３の構成及び動作を中心に説明する。
【００１３】
ＦＷ更新制御部１０は、新旧判定部１１、上書き判定部１２及び更新許否判定部１３のそれぞれの判定結果に基づいて、以下の判定を行う。第１の判定は、ＦＷが更新対象のＦＷであるか否かを判定し、さらにＦＷの更新を許可するか拒否するか（更新拒否）の判定である。第２の判定は、新旧判定による更新Ｓｋｉｐの判定である。具体的には、第２の判定は、ＦＷ更新制御部１０においてＦＷの更新を許可すると判定された場合でも、新旧判定の結果、更新Ｓｋｉｐをすべきか否かの判定である。新旧判定の結果は、新旧判定部１１によるＦＷの判定結果である。第３の判定は、カスタマイズＦＷの上書き判定である。カスタマイズＦＷは、特別にカスタマイズされたパッケージである。特別にカスタマイズされたパッケージは、後述する「特注ＣＳ」及び「個別ＬＲＣ」のそれぞれに相当する。ＦＷ更新制御部１０の具体的な動作例については後述する。
【００１４】
新旧判定部１１は、ＦＷを受信し、受信したＦＷが、既存のＦＷよりも新しいＦＷであるか否かの判定（新旧判定）を行う。既存のＦＷは、ＲＯＭ５、ＨＤＤ７などに格納されているプログラムである。この新旧判定では、既知リストが利用される。既知リストについては、後述する図４の説明の中で詳細に説明する。また新旧判定部１１の具体的な動作例についても後述する。
【００１５】
上書き判定部１２は、受信されたＦＷを既存のＦＷに上書きするか否かを判定する。例えば、更新対象のプログラムがカスタマイズされたプログラムである場合、このプログラムが、既知リストに含まれているプログラムであれば、一斉配信プログラムで上書きする。一斉配信プログラムは、例えばネットワーク２００を介して情報処理装置１００に一斉配信される更新用プログラムである。以下では、一斉配信プログラムを「標準ＦＷ」と称する場合がある。上書き判定部１２の具体的な動作例については後述する。
【００１６】
更新許否判定部１３は、カスタマイズプログラムを更新する場合、カスタマイズプログラムが、同一カスタマイズ又は同一プログラムであるか否かを確認し、同一である場合には、バージョンの値に基づいて、カスタマイズプログラムの更新許否を判定する。カスタマイズプログラムは、カスタマイズされたプログラムを意味する。更新許否は、カスタマイズプログラムの更新を許可するか拒否するかを意味する。更新許否判定部１３は、カスタマイズプログラムが、同一カスタマイズ又は同一プログラムであるか否かを確認した結果、同一ではない場合、既知リストに存在する同一モジュールＩＤのプログラムのみを更新可能とする。同一モジュールＩＤについては、後述する図４の説明の中で詳細に説明する。
【００１７】
画像形成部１４は、前述した複合機の機能、複写機の機能、スキャナの機能、ファクシミリの機能又はプリンタの機能を実行する手段である。画像形成部１４は、例えば図１に示されるエンジン部１及びＣＰＵ４などで実行されるプログラムによって実現される。
【００１８】
電力状態制御部１５は、情報処理装置１００の起動、情報処理装置１００のシャットダウン、起動後の情報処理装置１００の省電力モード（ホットスタンバイ状態）への移行、情報処理装置１００の省電力モードからの復帰などを制御する。電力状態制御部１５は、例えば、情報処理装置１００が省電力モードである場合、パネルタッチ操作、タイマ、ネットワーク経由の外部アクセスなどをトリガにして、情報処理装置１００を省電力モードから復帰させる。
【００１９】
操作制御部１６は、ユーザの操作を受け付ける入力部と、ユーザに通知するメッセージを表示する表示部とを有する。操作制御部１６には、図１に示す操作部２が含まれる。操作制御部１６は、ユーザが行う操作を受け付けるとともに、各種の情報を表示する。また操作制御部１６は、ユーザが行う操作の全般を制御する機能部でもある。例えば、操作制御部１６は、主電源をオン状態又はオフ状態にする物理スイッチとして機能し、さらにタッチパネルへの操作を検出する検出部としても機能する。
【００２０】
図３はパッケージデータのリリース体系例について説明するための図である。図３に示される「Package」(パッケージ)は、複数のＦＷを含むプログラム群を表す。パッケージの具体例は、図４において説明する。図３にも戻り、図３に示される「Ver1.0」から「Ver1.6」は、パッケージのバーションを示す情報である。「特注ＣＳ」は、特注でカスタマイズされたパッケージである。「個別ＬＲＣ」は、個別にカスタマイズされたパッケージである。なお、「特注ＣＳ」は、特注のＦＷ群又は特注のプログラム群であるため、「特注ＦＷ」、「特注プログラム」のように称する場合がある。また「特注ＣＳ」及び「個別ＬＲＣ」のそれぞれは、特別にカスタマイズされたパッケージであるため「カスタマイズＦＷ」と総称する場合がある。カスタマイズＦＷは、既知リストを有す。既知リストの具体例は後述する。
【００２１】
このように、既知リストを有すことによって、情報処理装置１００は、バージョンアップして良いカスタマイズＦＷであると認識することができ、さらに、バージョンアップして良いカスタマイズＦＷであると認識するものだけを更新することができる。バージョンアップして良いカスタマイズＦＷであるとの判断は、新しいバージョンのＦＷに対しては、更新を許可するという扱いになる。
【００２２】
なお、ＦＷの復元などによっては、新しいバージョンのＦＷではなく、古いバージョンのＦＷへの更新を許可する場合もある。従来では、異部番が含まれるＦＷに対して、"新しいバージョンのＦＷである"、という判断ができなかった。本実施の形態に係る情報処理装置１００では、このようなＦＷに対して、既知リストを参照することよって、正確にＦＷの新旧判定（更新許可Ｖｅｒｓｉｏｎ判定）が可能となる。「異部番」とは、モデルの違いによって変更された後の部番、個別にカスタマイズされたことによって変更された後の部番、特注でカスタマイズされたことによって変更された後の部番、運用都合で変更された後の部番などである。これを応用することによって、すなわち既知リストを参照することによって、標準ＦＷ（一斉配信のプログラム）に含まれる既知リストに、反映済み個別プログラム（カスタマイズプログラム）を登録した場合には、標準プログラムへの復帰も可能となる。
【００２３】
図４はパッケージに含まれる複数のＦＷと、複数のＦＷのそれぞれの既知リストと、既知部番との一例を示す図である。図４に示されるパッケージ３００には、複数のＦＷ、例えばコピーＦＷ、スキャナＦＷ、プリンタＦＷ及びシステムＦＷが含まれる。図４の左側には、コピーＦＷ、スキャナＦＷ、プリンタＦＷ及びシステムＦＷのそれぞれの部番とバージョンが示される。図４の右側には、コピーＦＷ、スキャナＦＷ及びシステムＦＷのそれぞれに含まれる既知リスト及び既知部番が示される。既知部番は、前述した同一モジュールＩＤ（更新対象のプログラムが同一プログラムであるか否かを識別する情報である識別情報）に相当する。既知部番はプログラムとして含まれている古い部番（既知の部番）である。但し、既知部番は、同一モジュールＩＤと必ずしも同一であるとは限らない。同一モジュールＩＤは、更新対象のプログラムが同一プログラムであるか否かを識別する情報である。
【００２４】
コピーＦＷ、スキャナＦＷ及びシステムＦＷのそれぞれには、既知リストが含まれている。これらの既知リストには、既知部番が含まれる。既知部番は、カスタマイズＦＷ（特注／個別）のそれぞれを識別する部番、新しいバージョンのＦＷの部番とは異なる部番を表す。既知部番は、新しいバージョンのＦＷに付与される部番（新部番）よりも古い部番（旧部番）である。新部番は、図４の左側に示される「ＡＡＡ」、「ＢＢＢ」、「ＣＣＣ」、「ＤＤＤ」などである。
【００２５】
例えば、コピーＦＷの既知リストに含まれる「既知部番：ＣＳ１３３０２」は、特注で製作されたカスタマイズＦＷの部番を表す。コピーＦＷの既知リストに含まれる「既知部番：ＬＲＣ１５４０２」は、個別に製作されたカスタマイズＦＷの部番を表す。プリンタＦＷの既知リストに含まれる「既知部番：ＣＣ−２」は、バージョン「１．００」のプリンタＦＷ（新しいバージョンのＦＷ）を識別する「部番：ＣＣＣ」とは異なる部番である。システムＦＷの既知リストに含まれる「既知部番：ＤＤ−１」は、バージョン「２．５０」のシステムＦＷ（新しいバージョンのＦＷ）を識別する「部番：ＤＤＤ」とは異なる部番である。そのため、同一機種又は同一モデルの同一プログラムであれば、既知リストを参照することよって、正確にＦＷの新旧判定（更新許可Ｖｅｒｓｉｏｎ判定）が可能となるため、既知リストに含まれている部番とは異なるＦＷへの更新が可能となる。
【００２６】
スキャナＦＷには、既知リストが含まれていない。スキャナＦＷの更新対象は、同一機種又は同一モデルのスキャナプログラムの内、部番が「ＢＢＢ」であるバージョン違いのスキャナＦＷのみである。
【００２７】
次に、情報処理装置１００の動作を説明する。図５は新旧判定部１１及び上書き判定部１２による動作を中心に示す第１フローチャートである。情報処理装置１００がＦＷを受信すると（ステップＳ１）、情報処理装置１００では、予め設定されたＦＷ数に達するまでステップＳ２〜Ｓ１０までの処理が繰りかえされる（ステップＳ２、ステップＳ１０）。
【００２８】
情報処理装置１００は、受信したＦＷ（更新対象）が、カスタマイズＦＷであるか否か判定する（ステップＳ３）。受信したＦＷ（更新対象）がカスタマイズＦＷである場合（ステップＳ３，Ｙｅｓ）、情報処理装置１００は、ステップＳ４の処理を行う。受信したＦＷ（更新対象）がカスタマイズＦＷではない場合（ステップＳ３，Ｎｏ）、情報処理装置１００は、ステップＳ７の処理を行う。
【００２９】
ステップＳ４において、情報処理装置１００は、カスタマイズＦＷが既知リストに存在するか否かを判定する。カスタマイズＦＷが既知リストに存在する場合（ステップＳ４，Ｙｅｓ）、情報処理装置１００では、既知リストのカスタマイズＦＷに対して、受信したＦＷによる上書きを許可する判定がなされる（ステップＳ５）。
【００３０】
カスタマイズＦＷが既知リストに存在しない場合（ステップＳ４，Ｎｏ）、情報処理装置１００では、既知リストのカスタマイズＦＷに対して、受信したＦＷによる上書きを拒否する判定がなされる（ステップＳ６）。
【００３１】
ステップＳ７において、情報処理装置１００は、更新対象のＦＷが既知リストに存在するか否かを判定する。更新対象のＦＷが既知リストに存在する場合（ステップＳ７，Ｙｅｓ）、情報処理装置１００は、受信したＦＷが既存のＦＷより新しいと判定する（ステップＳ８）。
【００３２】
ステップＳ７に戻り、更新対象のＦＷが既知リストに存在しない場合（ステップＳ７，Ｎｏ）、情報処理装置１００は、受信したＦＷが既存のＦＷより古いと判定する（ステップＳ９）。
【００３３】
ステップＳ８及びステップＳ９の新旧判断の結果によってＦＷを更新するか否かの判定については、実行するＦＷ更新機能（目的）によって異なる。
【００３４】
情報処理装置１００は、ステップＳ５、ステップＳ６、ステップＳ８及びステップＳ９のそれぞれの判定結果に応じて、ＦＷの更新を行う（ステップＳ１１）。
【００３５】
図６は更新許否判定部１３による動作を中心に示す第２フローチャートである。図６に示されるフローチャートは、図５に示されるフローチャートが一部変更されたものである。図６に示されるフローチャートには、ステップＳ４とステップＳ６との間に、ステップＳ２０の処理が追加されている。図６に示されるフローチャートでは、カスタマイズＦＷが既知リストに存在しない場合に、更新対象のＦＷのカスタマイズ番号が同一であるか否かの判定が行われる。ステップＳ２０以外の処理は、図５に示される内容と同様のため、以下では説明を割愛する。
【００３６】
カスタマイズＦＷが既知リストに存在しない場合（ステップＳ４，Ｎｏ）、情報処理装置１００は、更新対象のＦＷのカスタマイズ番号が同一であるか否かを判定する（ステップＳ２０）。更新対象のＦＷのカスタマイズ番号が同一であるか否かを判定は、同一モジュールＩＤ（既知番号）が、更新対象のＦＷのカスタマイズ番号と同一であるか否かにより行われる。その結果、更新対象のＦＷのカスタマイズ番号が同一である場合（ステップＳ２０，Ｙｅｓ）、ステップＳ５の処理（上書き許可判定）が行われる。
【００３７】
更新対象のＦＷのカスタマイズ番号が同一ではない場合（ステップＳ２０，Ｎｏ）、ステップＳ６の処理（上書き拒否判定）が行われる。
【００３８】
このように情報処理装置１００の更新許否判定部１３は、更新対象のプログラムがカスタマイズされたプログラムである場合、識別情報を用いて更新対象のプログラムのカスタマイズ番号が同一であるか否かを判定する。そして、更新許否判定部１３は、カスタマイズ番号が同一のときには、新しいプログラムのバージョンの値に基づいて、更新対象のプログラムの更新が可能か否かを判定する。更新許否判定部１３は、カスタマイズ番号が同一ではないときには、既知リストに存在する識別情報のプログラムのみ更新可能とする。この構成により、カスタマイズされたプログラムに対し、カスタマイズされている内容が含まれているのか否かを考慮して、正しく更新許否判定ができる。なお、カスタマイズされたプログラムは、いわゆる特注プログラムや個別プログラムであり、基本的に特注番号、個別番号毎に個々に独立している。基本的に上書き禁止となるが、契約や運用によっては、特注番号の振り直しや、追加特注となるケースが存在し、旧カスタマイズ内容を包含した新カスタマイズとなる場合がある。その場合に限り上書きをする必要があるので、その判定を行う。単純な新旧判定ではなく、機能が包含されているか否かを既知リストを用いて実施する。
【００３９】
図７は新旧判定部１１による動作を中心に示す第３フローチャートである。図７に示されるフローチャートは、図５に示されるフローチャートが一部変更されたものである。図７に示されるフローチャートには、ステップＳ７とステップＳ９との間に、ステップＳ３０及びステップ３１の処理が追加されている。図７に示されるフローチャートでは、更新対象のＦＷが非カスタマイズプログラム（カスタマイズされていないＦＷ）であり、かつ、更新対象のＦＷが既知リストに存在しない場合において、受信したＦＷの部番が既存のＦＷの部番と同一であるか否かが判定される。さらに、受信したＦＷのバージョンと既存のＦＷのバージョンとが比較されることによって、受信したＦＷの新旧判定が行われる。ステップＳ３０及びステップ３１以外の処理は、図５に示される内容と同様のため、以下では説明を割愛する。
【００４０】
ステップＳ７において、更新対象のＦＷが既知リストに存在しない場合（ステップＳ７，Ｎｏ）、情報処理装置１００は、受信したＦＷの部番が既存のＦＷの部番と同一であるか否かを判定する（ステップＳ３０）。
【００４１】
受信したＦＷの部番が既存のＦＷの部番と同一である場合（ステップＳ３０，Ｙｅｓ）、ステップＳ３１の処理が行われる。受信したＦＷの部番が既存のＦＷの部番と同一ではない場合（ステップＳ３０，Ｎｏ）、ステップＳ９の処理が行われる。
【００４２】
ステップＳ３１において、情報処理装置１００は、受信したＦＷのバージョンと既存のＦＷのバージョンとを比較する。比較の結果、受信したＦＷのバージョンが既存のＦＷのバージョンより新しい場合（ステップＳ３１，Ｙｅｓ）、ステップＳ８の処理が行われる。受信したＦＷのバージョンが既存のＦＷのバージョンより新しくない場合（ステップＳ３１，Ｎｏ）、ステップＳ９の処理が行われる。
【００４３】
このように情報処理装置１００の新旧判定部１１は、一斉配信プログラムの部番が更新対象のプログラムの部番と同一であるか否かを判定する、そして、新旧判定部１１は、同一である場合、一斉配信プログラムのバージョンと更新対象のプログラムのバージョンとの比較により、更新対象のプログラムの新旧を判定する。この構成により、同一部番であれば基本的に同一バージョン体系で表現されるのでバージョンだけで新旧判定が可能となる為既知リストを用いなくても良いという効果を得られる。
【００４４】
図８は更新許否判定部１３による動作を中心に示す第４フローチャートである。図８に示されるフローチャートは、図６に示されるフローチャートが一部変更されたものである。図８に示されるフローチャートには、ステップＳ２とステップＳ３との間に、ステップＳ４０の処理が追加されている。図８に示されるフローチャートでは、受信されたＦＷが、更新許可条件を満たすか否かの判定が行われる。更新許可条件は、異機種のプログラム、仕向け先が異なる機器のプログラム、非搭載プログラム、不正プログラム（署名不正）などを情報処理装置１００へ書き込む条件である。更新許可条件を満たさないとは、これらのプログラムの情報処理装置１００への書き込み条件が満たされないことを示す。
【００４５】
受信したＦＷが更新許可条件を満たさない場合（ステップＳ４０，Ｎｏ）、情報処理装置１００は、ステップＳ５の処理を行う。すなわち、受信したＦＷの新旧判定が行われず、その代わりに上書き拒否判定がなされる。その結果、既知リストのカスタマイズＦＷが、更新対象から除外される。受信したＦＷが更新許可条件を満たす場合（ステップＳ４０，Ｙｅｓ）、情報処理装置１００は、ステップＳ３の処理を行う。
【００４６】
図９は更新許否プログラムがある場合の更新処理のフローチャートである。図９に示されるフローチャートは、図５に示されるフローチャートが一部変更されたものである。図９に示されるフローチャートは、ステップＳ１０の後の処理が異なる。
【００４７】
情報処理装置１００は、新機能のＡｃｔｉｖａｔｅの為のＦＷ更新（複数のプログラムを含むパッケージ更新）ではない場合は、更新可能なプログラムだけ更新する。新機能のＡｃｔｉｖａｔｅの為のＦＷ更新（複数のプログラムを含むパッケージ更新）の場合は、全てのプログラムが更新可能な場合はそのままプログラムを更新し、新機能のＡｃｔｉｖａｔｅを行う（ＡＣＴのＶｅｒｓｉｏｎを上げる）。「ＡＣＴのＶｅｒｓｉｏｎ」は、機能バージョンを意味し、例えばROMバージョン（リリースバージョン）とは異なり、機能（群）がどこまで有効かを示すバージョンである。特注、個別のプログラム（カスタマイズされたプログラム）によって、更新が共用されないプログラムがあった場合、情報処理装置１００は、機器構成によりＡｃｔｉｖａｔｅできない旨を表示し、ユーザが了承して更新を指示した場合、許容されたプログラムのみ更新される。Ａｃｔｉｖａｔｅは実施されない（ＡＣＴのＶｅｒｓｉｏｎは変わらない）。ユーザが了承しない場合はプログラムの更新も実施しない。
【００４８】
具体的には、ステップＳ２１において、情報処理装置１００の更新許否判定部１３は、新機能のＡｃｔｉｖａｔｅの為のＦＷ更新（複数のプログラムを含むパッケージ更新）であるか否かを判定し、新機能のＡｃｔｉｖａｔｅの為のＦＷ更新である場合（ステップＳ２１，Ｙｅｓ）、ステップＳ２３の処理が行われる。すなわち、更新許否判定部１３は、新機能を有効化（新機能のＡｃｔｉｖｅｔｅ）するタイミングにおいて、更新対象のＦＷの内、少なくとも１つが更新許可されている場合、更新対象のＦＷが全て更新許可されているか否かを判断する。
【００４９】
更新対象のＦＷが全て更新許可されている場合（ステップＳ２３，Ｙｅｓ）、情報処理装置１００は、更新対象のＦＷを全て更新し（ステップＳ２４）、新機能が有効化（新機能のＡｃｔｉｖｅｔｅ）されて（ステップＳ２５）、処理が終了する。
【００５０】
更新対象のＦＷが全て更新許可されていない場合（ステップＳ２３，Ｎｏ）、情報処理装置１００は、機器構成により新機能を有効化（新機能のＡｃｔｉｖｅｔｅ）ができない旨を表示する（ステップＳ２６）。この表示は、例えば操作部２に設けられる画面に表示することで行われる。
【００５１】
ステップＳ２６の後、新機能を有効化できない旨の表示に対してユーザが了承して更新を指示した場合（ステップＳ２７，Ｙｅｓ）、ステップＳ２２の処理、すなわち許可されたＦＷのみ更新され、新機能のＡｃｔｉｖｅｔｅは実施されない（ＡＣＴのＶｅｒｓｉｏｎは変わらない）。
【００５２】
更新許否判定部１３は、新機能のＡｃｔｉｖａｔｅの為のＦＷ更新ではない場合（ステップＳ２１，Ｎｏ）、更新許可されたＦＷのみ更新され（ステップＳ２２）、処理が終了する。すなわち、複数の更新対象のプログラムの内、少なくとも１つが更新許可されていない場合には、複数の更新対象の全てのプログラムの更新の実行をさせない。ステップＳ２１で判定される更新対象のＦＷからは、図８の更新条件を満たしていないＦＷが除かれる。
【００５３】
図９に示されるフローチャートは、受信したＦＷ群（パッケージ）に組み合わせがあり、必要なＦＷが全て更新されなければ、次回起動時に情報処理装置１００が正しく動作しないケースなどを想定したものである。例えば、機器内ＦＷ（既存のＦＷ）がカスタマイズされているために、組み合わされたＦＷの一部を更新できない場合、組み合わされたＦＷの幾つかは、機器（情報処理装置１００）に書き込まれる。ところが、カスタマイズプログラムへの上書きが禁止されているプログラムは、機器に書き込まれないため、情報処理装置１００が次回起動する際、不具合が発生してしまう。これを防ぐために、情報処理装置１００は、更新対象の全てのＦＷが更新許可になる場合のみ、更新処理を行う。
【００５４】
例えばカスタマイズされたプログラムを含むプログラム群であるパッケージをリリースした後、標準プログラムの不具合修正を行いversionが上がった際に、カスタマイズされたプログラムが入っている機器には標準のアップデート版を反映させることができない。同一のカスタマイズされたプログラムに対策版標準FWを加えた特注版パッケージを作り直した場合、パッケージの作り直しと、評価の工数が発生する（特注件数とVersionUP数に応じて必要工数が嵩む）。大きな機能追加/変更を加える場合、API仕様が変更になりプログラム間で互換性が保てないので、カスタマイズされたプログラムが入っている機器には標準のアップデート版を反映させることができないようにしている。大きな機能追加/変更での組み合わせは、新たな機能を有効化するタイミングでしか発生しないようにすることで、単純なアップデートであれば、機能追加ではないので組み合わせは発生せず、プログラムの書き換えを許容することができるようになる。
【００５５】
なお、新旧判定の結果、更新をＳｋｉｐした場合に関しても、組み合わせについては問題がないため、判断としては更新するか否かではなく、更新許可となる。なお、「図８の更新条件を満たしていないものは除く」としているのは、オプション装置用のＦＷなど、機器に装着されているか否かで更新許可になるか否かが変わるものに関しては、機器に装着していないＦＷで組み合わせが起きることはないためである。すなわち、構成上存在しないＦＷなので組み合わせにならないためである。
【００５６】
以上に説明したように本発明の実施の形態に係る情報処理装置１００は、更新対象のプログラムが同一プログラムであるか否かを識別する情報である識別情報を含む既知リストを用いて、更新対象のプログラムの新旧を判定する新旧判定部を備える。また情報処理装置１００は、更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、既知リストに含まれるプログラムである場合、更新対象のプログラムを、更新対象のプログラムを更新する一斉配信プログラムで上書きする上書き判定部を備える。この構成により、同一部番であれば基本的に同一バージョン体系で表現されるのでバージョンだけで新旧判定が可能となるため、既知リストを用いなくても、旧部番リスト（包含プログラムリスト）により、更新時の新旧判定を行うことができる。
【００５７】
また、新旧判定部は、一斉配信プログラムの部番を変更した場合、既知リストを用いて、更新対象のプログラムの新旧を判定する。この構成により、カスタマイズされたプログラムだけでなく、運用都合などによる部番変更時にも正しく新旧判定できるという効果が得られる。
【００５８】
また、更新許否判定部は、異なる機種の場合、識別情報が一致するか否かを判定することにより、更新対象のプログラムの更新が可能か否かを判定する。この構成により、異なる機種向けのＦＷを機器に入れるという誤操作を防ぐという効果が得られる。
【００５９】
また本実施の形態に係る情報処理方法は、ファームウェアの更新によって少なくとも１つのプログラムの更新が可能なコンピュータが、識別情報を含む既知リストを用いて、更新対象のプログラムの新旧を判定する。さらに、本実施の形態に係る情報処理方法は、更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、既知リストに含まれるプログラムである場合、更新対象のプログラムを、更新対象のプログラムを更新する一斉配信プログラムで上書きする。これにより、カスタマイズされたプログラムに対して上書きするか否かを適切に判定できるコンピュータを得ることができる。
【００６０】
本実施の形態に係るプログラムは、ファームウェアの更新によって少なくとも１つのプログラムの更新が可能なコンピュータに、識別情報を含む既知リストを用いて、更新対象のプログラムの新旧を判定させる。さらに、本実施の形態に係るプログラムは、更新対象のプログラムが、カスタマイズされたプログラムであり、かつ、既知リストに含まれるプログラムである場合、更新対象のプログラムを、更新対象のプログラムを更新する一斉配信プログラムで上書きさせる。これにより、コンピュータに対して、カスタマイズされたプログラムに対して上書きするか否かを適切に判定させることができる。
【００６１】
図１０はユーティリティからの新機能のアクティベートを実行する場合のフローチャートである。ステップＳ３０において例えばアプリケーションマーケットなどのユーティリティから新機能のＡｃｔｉｖａｔｅ指示（操作）をした場合、機器内にカスタマイズプログラムが存在する場合（ステップＳ３１，Ｙｅｓ）、情報処理装置１００は、機器構成によりＡｃｔｉｖａｔｅできない旨を表示する（ステップＳ３２）。「アプリケーションマーケットなどのユーティリティから新機能のＡｃｔｉｖａｔｅ指示（操作）をした場合[0]」は、アプリケーションマーケット等からダウンロードされてインストールされることである。この操作は、情報処理装置１００の操作２で行われる。例えば通常部番が「D123456」であり、カスタマイズ部番が「CS12345」である場合、これらの部番の文字列を比較することによって、機器内にカスタマイズプログラムが存在するか否かを判定できる。機器内にカスタマイズプログラムが存在しない場合（ステップＳ３１，Ｎｏ）、新機能のＡｃｔｉｖａｔｅするには、図９の処理手順を踏む必要がある。
【００６２】
図１１はカスタマイズプログラム搭載時の新機能の自動アクティベートを実行する場合のフローチャートである。ステップＳ４０において情報処理装置１００が起動し、自動機能有効化設定（自動Ａｃｔｉｖａｔｅ設定）がなされている場合（ステップＳ４１，Ｙｅｓ）、機器内に新機能が存在するか否か判断される（ステップＳ４２）。
【００６３】
機器内に新機能が存在する場合（ステップＳ４２，Ｙｅｓ）に、機器内にカスタマイズプログラムが存在するとき（ステップＳ４３，Ｙｅｓ）、情報処理装置１００は、ＲＯＭ５の更新は可能だが、機器構成によりＡｃｔｉｖａｔｅできなかった旨を表示する（ステップＳ３２）。
【００６４】
機器内に新機能が存在する場合（ステップＳ４２，Ｙｅｓ）に、機器内にカスタマイズプログラムが存在しないとき（ステップＳ４３，Ｎｏ）、新機能のＡｃｔｉｖａｔｅするには、図９の処理手順を踏む必要がある。
【００６５】
自動機能有効化設定（自動Ａｃｔｉｖａｔｅ設定）がなされていない場合（ステップＳ４１，Ｙｅｓ）、また機器内に新機能が存在しない場合（ステップＳ４２，Ｎｏ）、ステップＳ４４の処理が終了した場合、又はテップＳ４５の処理が終了した場合、ステップＳ４６において起動処理が行われる。
【符号の説明】
【００６６】
１        ：エンジン部
２        ：操作部
３        ：通信Ｉ／Ｆ
４        ：ＣＰＵ
５        ：ＲＯＭ
６        ：ＲＡＭ
７        ：ＨＤＤ
１０      ：ＦＷ更新制御部
１１      ：新旧判定
１１      ：新旧判定部
１２      ：上書き判定部
１３      ：更新許否判定部
１４      ：画像形成部
１５      ：電力状態制御部
１６      ：操作制御部
３１      ：ステップ
１００    ：情報処理装置
２００    ：ネットワーク
３００    ：パッケージ
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特開２０１７−１０７３４１号公報
【図１】
2020087422.tif 000003
【図２】
2020087422.tif 000004
【図３】
2020087422.tif 000005
【図４】
2020087422.tif 000006
【図５】
2020087422.tif 000007
【図６】
2020087422.tif 000008
【図７】
2020087422.tif 000009
【図８】
2020087422.tif 000010
【図９】
2020087422.tif 000011
【図１０】
2020087422.tif 000012
【図１１】
2020087422.tif 000013