(57)【要約】【課題】  処理プログラムの更新に対応して外部装置を制御する。【解決手段】  情報処理装置は、外部装置に処理させるデータを出力する処理を定めた処理プログラムを実行するタスクが出力するデータに従って外部装置を制御する外部装置制御部５１と、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを判定する判定部５４と、を備え、外部装置制御部５１は、処理プログラムのバージョンが既知のバージョンと同じ場合に、既知のバージョンに対して予め定められた処理を実行し、処理プログラムのバージョンが既知のバージョンよりも新しいと判定された場合に、未知のバージョンに対して予め定められた処理を実行する。【選択図】        図４
2018005322.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に処理させるデータを出力する処理を定めた処理プログラムを実行するタスクが出力するデータに従って前記外部装置を制御する外部装置制御手段と、
前記処理プログラムのバージョンが既知のバージョンよりも新しいか否かを判定する判定手段と、を備え、
前記外部装置制御手段は、前記処理プログラムのバージョンが前記既知のバージョンと同じ場合に、前記既知のバージョンに対して予め定められた処理を実行し、前記処理プログラムのバージョンが前記既知のバージョンよりも新しいと判定された場合に、未知のバージョンに対して予め定められた処理を実行する、情報処理装置。
【請求項２】
前記処理プログラムのバージョンを識別するための識別情報を取得する識別情報取得手段を、さらに備え、
前記判定手段は、前記取得された識別情報により表されるバージョンが前記既知のバージョンよりも新しいか否かを判定する、情報処理装置。
【請求項３】
前記識別情報は、前記バージョンに対応するバージョン番号を含み、
前記判定手段は、前記取得された識別情報に含まれるバージョン番号が、前記既知のバージョンに対応するバージョン番号よりも大きいか否かを判定する、請求項２に記載の情報処理装置。
【請求項４】
前記識別情報は、前記処理プログラムのバージョンの公開時期を含み、
前記判定手段は、前記識別情報に含まれる公開時期が、前記既知のバージョンの公開時期よりも後であるか否かを判定する、請求項２または３に記載の情報処理装置。
【請求項５】
前記判定手段は、前記処理プログラムを実行するタスクが出力するデータの形式が、予め定められた形式であるか否かを判定する、請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
前記判定手段は、前記処理プログラムを実行するタスクが出力するコマンドが、予め定められたコマンドであるか否かを判定する、請求項１〜５のいずれかに記載の情報処理装置。
【請求項７】
前記処理プログラムの１以上の既知のバージョンと、当該既知のバージョンに対応する処理と、を関連付けた関連付テーブルを記憶するテーブル記憶手段、をさらに備え、
前記判定手段は、前記処理プログラムのバージョンが前記関連付テーブルに含まれるバージョンよりも新しいか否かを判定する、請求項１〜６のいずれかに記載の情報処理装置。
【請求項８】
前記判定手段は、
ユーザーに対して前記処理プログラムのバージョンが前記既知のバージョンよりも新しいか否かの問い合わせを行う問い合わせ手段と、
前記問い合わせに対する回答を受け付ける回答受付手段と、を含む、請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
前記処理プログラムのバージョンが前記既知のバージョンよりも新しいと判定された場合に、前記外部装置を前記未知のバージョンに対応させるために前記外部装置に更新を指示する更新指示手段をさらに備える、請求項１〜８のいずれかに記載の情報処理装置。
【請求項１０】
外部装置に処理させるデータを出力する処理を定めた処理プログラムを実行するタスクが出力するデータに従って前記外部装置を制御する外部装置制御手段を備えた情報処理装置で実行される動作更新方法であって、
前記処理プログラムのバージョンが既知のバージョンよりも新しいか否かを判定する判定ステップと、
前記処理プログラムのバージョンが前記既知のバージョンと同じ場合に、前記外部装置制御手段に前記既知のバージョンに対して予め定められた処理を実行させ、前記処理プログラムのバージョンが前記既知のバージョンよりも新しいと判定された場合に、前記外部装置制御手段に未知のバージョンに対して予め定められた処理を実行させる処理実行ステップと、を含む動作更新方法。
【請求項１１】
外部装置に処理させるデータを出力する処理を定めた処理プログラムを実行するタスクが出力するデータに従って前記外部装置を制御する外部装置制御手段を備えた情報処理装置を制御するコンピュータで実行される動作更新プログラムであって、
前記処理プログラムのバージョンが既知のバージョンよりも新しいか否かを判定する判定ステップと、
前記処理プログラムのバージョンが前記既知のバージョンと同じ場合に、前記外部装置制御手段に前記既知のバージョンに対して予め定められた処理を実行させ、前記処理プログラムのバージョンが前記既知のバージョンよりも新しいと判定された場合に、前記外部装置制御手段に未知のバージョンに対して予め定められた処理を実行させる処理実行ステップと、を前記コンピュータに実行させる動作更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、動作更新方法および動作更新プログラムに関し、特に、外部装置の動作を制御することが可能な情報処理装置、その情報処理装置で実行される動作更新方法および動作更新プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピューター（以下「ＰＣ」という）等の情報処理装置は、複合機（以下「ＭＦＰ」という）等の外部装置を制御するために、プリンタドライバプログラムがインストールされる。以下、情報処理装置が備えるＣＰＵがプリンタドライバプログラムを実行するタスクを、単に「プリンタドライバ」という。
【０００３】
また、情報処理装置には、オペレーションシステムプログラム（以下「ＯＳプログラム」という）またはアプリケーションプログラムがインストールされている。プリンタドライバは、情報処理装置が備えるＣＰＵがアプリケーションプログラムを実行するタスクまたはＯＳプログラムを実行するタスクの出力に従ってＭＦＰを制御する。
【０００４】
ところで、ＯＳプログラムまたはアプリケーションプログラムのバージョンによって、プリンタドライバの動作が異なることがある。そのため、ＯＳプログラムまたはアプリケーションプログラムのバージョンが更新された場合、その新たなバージョンにプリンタドライバの動作を対応させる必要がある。
【０００５】
情報処理装置がインターネットに接続されている場合には、外部のサーバーからインターネットを介してプリンタドライバの動作を自動更新するための更新情報を取得することができる。しかしながら、セキュリティ上の理由から、情報処理装置と外部との通信が遮断される場合があり、または情報処理装置にインストールされているプログラムの自動更新が禁止される場合がある。このような場合には、ＯＳプログラムまたはアプリケーションプログラムのバージョンが更新されても、プリンタドライバの動作を自動更新することはできない。
【０００６】
例えば、特開２０００−２２２１４６号公報には、所定の操作に基づいて印刷要求および同印刷要求における印刷データを生成するアプリケーションプログラムの所定の情報に応じて同印刷データの描画能力を切換えるとともに、同描画能力に基づいて上記印刷データを変換する印刷データ変換装置であって、上記印刷要求を入力すると上記所定の情報を取得する情報取得手段と、上記情報取得手段が取得した所定の情報に基づいて上記印刷データの描画能力を切換える描画能力切換手段と、上記印刷データを入力するとともに、上記描画能力切換手段にて切換えられた描画能力に基づいて同印刷データのデータ形式を変換する印刷データ変換手段と、上記印刷データ変換手段にて変換された印刷データを出力する印刷データ出力手段とを具備する印刷データ変換装置が記載されている。
【０００７】
しかしながら、特開２０００−２２２１４６号公報に記載の印刷データ変換装置では、アプリケーションプログラムの種類およびバージョン情報と描画能力との対応を示す対応テーブルが予め用意され、その対応テーブルを参照して、印刷データの描画能力が切換えられる。そのため、使用されるアプリケーションプログラムの種類およびバージョン情報が、対応テーブルに含まれていない場合には、印刷データの描画能力を切換えることができない。したがって、未知のバージョンのアプリケーションプログラムが使用される場合には、ＭＦＰ等の外部装置を適切に制御することができない。
【特許文献１】特開２０００−２２２１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
この発明は上述した問題点を解決するためになされたもので、この発明の目的は、処理プログラムの更新に対応して外部装置を制御することが可能な情報処理装置を提供することである。
【０００９】
この発明の他の目的は、処理プログラムの更新に対応して外部装置を制御することが可能な動作更新方法を提供することである。
【００１０】
この発明のさらに他の目的は、処理プログラムの更新に対応して外部装置を制御することが可能な動作更新プログラムを提供することである。
【課題を解決するための手段】
【００１１】
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、情報処理装置は、外部装置に処理させるデータを出力する処理を定めた処理プログラムを実行するタスクが出力するデータに従って外部装置を制御する外部装置制御手段と、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを判定する判定手段と、を備え、外部装置制御手段は、処理プログラムのバージョンが既知のバージョンと同じ場合に、既知のバージョンに対して予め定められた処理を実行し、処理プログラムのバージョンが既知のバージョンよりも新しいと判定された場合に、未知のバージョンに対して予め定められた処理を実行する。
【００１２】
この局面に従えば、処理プログラムのバージョンが既知のバージョンと同じ場合に、既知のバージョンに対して予め定められた処理が実行され、処理プログラムのバージョンが既知のバージョンよりも新しい場合に、未知のバージョンに対して予め定められた処理が実行される。これにより、外部のサーバーから更新情報を取得することができない場合であっても、未知のバージョンに対応する処理を実行することができる。その結果、処理プログラムの更新に対応して外部装置を制御することが可能な情報処理装置を提供することができる。
【００１３】
好ましくは、処理プログラムのバージョンを識別するための識別情報を取得する識別情報取得手段を、さらに備え、判定手段は、取得された識別情報により表されるバージョンが既知のバージョンよりも新しいか否かを判定する。
【００１４】
この局面に従えば、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを適切に判定することができる。
【００１５】
好ましくは、識別情報は、バージョンに対応するバージョン番号を含み、判定手段は、取得された識別情報に含まれるバージョン番号が、既知のバージョンに対応するバージョン番号よりも大きいか否かを判定する。
【００１６】
この局面に従えば、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを容易に判定することができる。
【００１７】
好ましくは、識別情報は、処理プログラムの公開時期を含み、判定手段は、識別情報に含まれる公開時期が、既知のバージョンの公開時期よりも後であるか否かを判定する。
【００１８】
この局面に従えば、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを容易に判定することができる。
【００１９】
好ましくは、判定手段は、処理プログラムを実行するタスクが出力するデータの形式が、予め定められた形式であるか否かを判定する。
【００２０】
この局面に従えば、処理プログラムのバージョンが変更されたことを判定することができる。
【００２１】
好ましくは、判定手段は、処理プログラムを実行するタスクが出力するコマンドが、予め定められたコマンドであるか否かを判定する。
【００２２】
この局面によれば、処理プログラムのバージョンが変更されたことを判定することができる。
【００２３】
好ましくは、処理プログラムの１以上の既知のバージョンと、当該既知のバージョンに対応する処理と、を関連付けた関連付テーブルを記憶するテーブル記憶手段、をさらに備え、判定手段は、処理プログラムのバージョンが関連付テーブルに含まれるバージョンよりも新しいか否かを判定する。
【００２４】
この局面によれば、関連付テーブルを参照して、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを容易に判定することができる。また、処理プログラムのバージョンが既知のバージョンである場合に、関連付テーブルを参照して、当該既知のバージョンに対応する処理を容易に特定することができる。
【００２５】
好ましくは、判定手段は、ユーザーに対して処理プログラムのバージョンが既知のバージョンよりも新しいか否かの問い合わせを行う問い合わせ手段と、問い合わせに対する回答を受け付ける回答受付手段と、を含む。
【００２６】
この局面によれば、ユーザーの回答に従ってバージョンが新しいか否かを判定するので、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを確実に判定することができる。
【００２７】
好ましくは、処理プログラムのバージョンが既知のバージョンよりも新しいと判定された場合に、外部装置を未知のバージョンに対応させるために外部装置に更新を指示する更新指示手段をさらに備える。
【００２８】
この局面によれば、外部装置を変更後の処理プログラムに対応させることができる。
【００２９】
この発明の他の局面によれば、動作更新方法は、外部装置に処理させるデータを出力する処理を定めた処理プログラムを実行するタスクが出力するデータに従って外部装置を制御する外部装置制御手段を備えた情報処理装置で実行される動作更新方法であって、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを判定する判定ステップと、処理プログラムのバージョンが既知のバージョンと同じ場合に、外部装置制御手段に既知のバージョンに対して予め定められた処理を実行させ、処理プログラムのバージョンが既知のバージョンよりも新しいと判定された場合に、外部装置制御手段に未知のバージョンに対して予め定められた処理を実行させる処理実行ステップと、を含む。
【００３０】
この局面に従えば、処理プログラムの更新に対応して外部装置を制御することが可能な動作更新方法を提供することができる。
【００３１】
この発明のさらに他の局面によれば、動作更新プログラムは、外部装置に処理させるデータを出力する処理を定めた処理プログラムを実行するタスクが出力するデータに従って外部装置を制御する外部装置制御手段を備えた情報処理装置を制御するコンピュータで実行される動作更新プログラムであって、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを判定する判定ステップと、処理プログラムのバージョンが既知のバージョンと同じ場合に、外部装置制御手段に既知のバージョンに対して予め定められた処理を実行させ、処理プログラムのバージョンが既知のバージョンよりも新しいと判定された場合に、外部装置制御手段に未知のバージョンに対して予め定められた処理を実行させる処理実行ステップと、をコンピュータに実行させる。
【００３２】
この局面に従えば、処理プログラムの更新に対応して外部装置を制御することが可能な動作更新プログラムを提供することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の第１の実施の形態の１つにおけるプリントシステムの全体概要の一例を示す図である。
【図２】本実施の形態におけるＰＣのハードウェア構成の概要の一例を示すブロック図である。
【図３】本実施の形態におけるＭＦＰのハードウェア構成の概要を示すブロック図である。
【図４】ＰＣが備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示すブロック図である。
【図５】関連付テーブルの一例を示す図である。
【図６】第１の実施の形態における動作更新処理の流れの一例を示すフローチャートである。
【図７】第１の変形例における動作更新処理の流れの一例を示すフローチャートである。
【図８】第２の変形例におけるＰＣが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図９】第２の変形例における動作更新処理の流れの一例を示すフローチャートである。
【図１０】第２の実施の形態におけるＰＣが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図１１】第２の実施の形態における動作更新処理の流れの一例を示すフローチャートである。
【図１２】第３の実施の形態におけるＰＣが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図１３】第３の実施の形態における動作更新処理の流れの一例を示すフローチャートである。
【図１４】第４の実施の形態におけるＰＣが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図１５】第４の実施の形態における動作更新処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３４】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００３５】
図１は、本発明の第１の実施の形態の１つにおけるプリントシステムの全体概要の一例を示す図である。図１を参照して、プリントシステム１は、複合機であるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００と、パーソナルコンピューター（ＰＣ）２００，２００Ａ，２００Ｂと、を含む。ＭＦＰ１００およびＰＣ２００，２００Ａ，２００Ｂは、ローカルエリアネットワーク（ＬＡＮ）３に接続されている。以下、ＰＣ２００，２００Ａ，２００Ｂを総称してＰＣ２００という場合がある。
【００３６】
ＰＣ２００，２００Ａ，２００Ｂは、一般的なコンピューターであり、オペレーティングシステム（ＯＳ）プログラムおよびアプリケーションプログラムがインストールされている。また、ＰＣ２００，２００Ａ，２００Ｂは、オペレーションシステムプログラム（以下「ＯＳプログラム」という）がインストールされるとともに、ＭＦＰ１００を制御するためのプリンタドライバプログラムがインストールされている。本例において、ＯＳプログラムは処理プログラムの例である。ＰＣ２００，２００Ａ，２００Ｂは、ＯＳプログラムの現在のバージョンに応じて、ＭＦＰ１００に対して異なる処理を実行する。
【００３７】
ＰＣ２００，２００Ａ，２００Ｂのハードウェア構成および機能は同じなので、ここでは、ＰＣ２００を例に説明する。ＰＣ２００，２００Ａ，２００Ｂと同様にＬＡＮ３に接続可能であれば、ＰＣ２００，２００Ａ，２００Ｂの代わりに、スマートフォン、タブレット端末またはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）など、ユーザーが携帯して使用する携帯情報装置が用いられてもよい。
【００３８】
図２は、本実施の形態におけるＰＣのハードウェア構成の概要の一例を示すブロック図である。図２を参照して、ＰＣ２００は、ＰＣ２００の全体を制御するための中央演算処理装置（ＣＰＵ）２０１と、ＣＰＵ２０１が実行するためのプログラムを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＣＰＵ２０１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、データを不揮発的に記憶するハードディスクドライブ（ＨＤＤ）２０４と、ＣＰＵ２０１をＬＡＮ３に接続する通信部２０５と、情報を表示する表示部２０６と、ユーザーの操作の入力を受け付ける操作部２０７と、外部記憶装置２０９と、を含む。
【００３９】
ＣＰＵ２０１は、インターネットに接続されたコンピューターからプログラムをダウンロードしてＨＤＤ２０４に記憶する、または、ネットワークに接続されたコンピューターがプログラムをＨＤＤ２０４に書込みするようにして、ＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０３にロードしてＣＰＵ２０１で実行する。ＨＤＤ２０４は、ＯＳプログラムおよびアプリケーションプログラムを記憶する。また、ＨＤＤ２０４は、ＯＳプログラムの１以上の既知のバージョンと、当該既知のバージョンに対応する処理と、を関連付けた関連付テーブルを記憶する。関連付テーブルの詳細については後述する。
【００４０】
ＣＰＵ２０１のソフトウェアアーキテクチャとして、ＣＰＵ２０１には、オペレーティングシステム（ＯＳ）層が形成され、その上の階層に、アプリケーション層が形成される。ＯＳ層は、ＣＰＵ２０１がＯＳプログラムを実行するタスクが属する。ＯＳ層に属するタスクは、ＰＣ２００のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、通信部２０５、表示部２０６、操作部２０７および外部記憶装置２０９を含む。ＯＳ層に属するタスクは、アプリケーション層から入力されるオペレーティングコマンドにしたがって、ハードウェア資源を制御する。アプリケーション層は、ＣＰＵ２０１がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがＰＣ２００にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。さらに、アプリケーションプログラムを実行するタスクは、ＰＣ２００を操作する操作ユーザーによる指示に基づいて、アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。アプリケーションプログラムで定められる複数種類の処理は、ＣＰＵ２０１がアプリケーションプログラムを実行することにより生成されるデータを、ＭＦＰ１００にプリントさせる処理を少なくとも含む。
【００４１】
外部記憶装置２０９は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０９Ａが装着される。本実施の形態においては、ＣＰＵ２０１は、ＲＯＭ２０２またはＨＤＤ２０４に記憶されたプログラムを実行する例を説明するが、ＣＰＵ２０１は、外部記憶装置２０９を制御して、ＣＤ−ＲＯＭ２０９ＡからＣＰＵ２０１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ２０３に記憶し、実行するようにしてもよい。
【００４２】
なお、ＣＰＵ２０１が実行するためのプログラムを記憶する記録媒体としては、ＣＤ−ＲＯＭ２０９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリ等の媒体でもよい。ここでいうプログラムは、ＣＰＵ２０１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４３】
図３は、本実施の形態におけるＭＦＰ１００のハードウェア構成の概要を示すブロック図である。図３を参照して、画像処理装置として機能するＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００４４】
自動原稿搬送装置１２０は、原稿トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。
【００４５】
画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
【００４６】
メイン回路１１０は、ＭＦＰ１００の全体を制御するＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００４７】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶するとともに、画像形成部１４０でプリント可能なプリントデータに変換して、画像形成部１４０に出力する。これにより、画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００４８】
通信Ｉ／Ｆ部１１２は、ＬＡＮ３にＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１１２は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続された他のコンピューターまたはデータ処理装置と通信する。なお、通信Ｉ／Ｆ部１１２が接続されるネットワークは、ＬＡＮ３に限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）、インターネット等であってもよい。
【００４９】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取画像を一時的に記憶する。
【００５０】
操作パネル１６０は、ＭＦＰ１００の上面に設けられる。操作パネル１６０は、表示部１６１と操作部１６３とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。なお、ＬＣＤに代えて、画像を表示する装置であれば、例えば、有機ＥＬ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイを用いることができる。
【００５１】
操作部１６３は、タッチパネル１６５と、ハードキー部１６７とを含む。タッチパネル１６５は、静電容量方式である。なお、タッチパネル１６５は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。ハードキー部１６７は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。
【００５２】
外部記憶装置１１７は、ＣＰＵ１１１により制御され、ＣＤ−ＲＯＭ１１８が装着される。本実施の形態においては、ＣＰＵ１１１は、ＲＯＭ１１３に記憶されたプログラムを実行する例を説明するが、ＣＰＵ１１１は、外部記憶装置１１７を制御して、ＣＤ−ＲＯＭ１１８からＣＰＵ１１１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ１１４に記憶し、実行するようにしてもよい。
【００５３】
なお、ＣＰＵ１１１が実行するためのプログラムを記憶する記録媒体としては、ＣＤ−ＲＯＭ１１８に限られず、フレキシブルディスク、カセットテープ、光ディスク、ＩＣカード、光カード、半導体メモリ等の媒体でもよい。さらに、ＣＰＵ１１１がネットワークに接続されたコンピューターからプログラムをダウンロードしてＨＤＤ１１５に記憶する、または、ネットワークに接続されたコンピューターがプログラムをＨＤＤ１１５に書込みするようにして、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードしてＣＰＵ１１１で実行するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５４】
図４は、ＰＣが備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示すブロック図である。ここでは、ＰＣ２００が備えるＣＰＵ２０１の機能を示している。図４に示す機能は、ハードウェアで実現するようにしてもよいし、ＰＣ２００が備えるＣＰＵ２０１に、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０９Ａに記憶されたプログラムを実行させることにより、ＣＰＵ２０１で実現するようにしてもよい。ここで、ＰＣ２００が備えるＣＰＵ２０１にプログラムを実行させる場合を例に説明する。
【００５５】
図４を参照して、ＰＣ２００が備えるＣＰＵ２０１は、外部装置制御部５１と、テーブル記憶部５２と、識別情報取得部５３と、判定部５４と、テーブル更新部５５と、更新指示部５６と、操作受付部５７とを、含む。
【００５６】
外部装置制御部５１は、プリンタドライバに相当し、ＯＳ層またはアプリケーション層に属するタスクが出力するデータに従ってＭＦＰ１００を制御する。ここでは、外部装置制御部５１は、予め定められた複数の動作モードのうち、選択された動作モードで動作する。複数の動作モードは、ＯＳプログラム６１の既知のバージョンに対応する既知の動作モードと、ＯＳプログラム６１の未知のバージョンに対応する暫定動作モードとを含む。既知のバージョンは、既に公開されているバージョンであり、バージョン番号等がＰＣ２００において認識されている。ＣＰＵ２０１が、既知の動作モードの動作内容に対応する処理を実行するためのプログラムまたはデータが、関連付テーブル６２とともに、既知の動作モードと関連付けてＨＤＤ２０４に記憶されている。未知のバージョンは、既知のバージョンより新しいバージョンであり、バージョン番号等がＰＣ２００において認識されていない。暫定動作モードの動作内容は、ＯＳプログラム６１の新しいバージョンの公開に備えて、ＯＳプログラム６１の供給元から予め通知される。このため、ＣＰＵ２０１が、暫定動作モードの動作内容に対応する処理を実行するためのプログラムまたはデータが、暫定動作モードと関連付けてＨＤＤ２０４に記憶されている。
【００５７】
プリンタドライバの動作内容は、例えば、ＭＦＰ１００に送信するデータの形式またはコマンド、表示部２０６に表示すべきユーザーインターフェース（ＵＩ）画面、ＭＦＰ１００との間で構築される印刷用の通信経路の種類、参照データの位置等を定める。動作内容は、既知の動作モードおよび暫定動作モード毎に定められる。参照データの位置は、例えば、ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅｓ）プロトコルにおける探索結果の格納場所を含む。ＷＳＤポートを使用してネットワーク上のデバイスを探索する場合、検出されたデバイスのＩＰアドレスは、ＯＳプログラム６１によって規定される場所に格納される。ＯＳプログラム６１のバージョンが異なると、ＩＰアドレスの格納場所が異なることがある。そのため、動作モード毎に、参照すべきＩＰアドレスの格納場所が規定される。
【００５８】
テーブル記憶部５２は、ＯＳプログラム６１の１以上の既知のバージョンと、当該既知のバージョンに対応する動作モードとを関連付けた関連付テーブル６２をＨＤＤ２０４に記憶する。関連付テーブル６２は、既知のバージョンに対応するバージョン番号と既知のバージョンに対応する動作モードとを少なくとも関連付ける。関連付テーブル６２は、バージョン番号ごとに関連付レコードを含み、関連付レコードは、既知のバージョンに対応するバージョン番号と、既知のバージョンの公開時期と、既知のバージョンに対応する動作モードとを関連付ける。以下、既知のバージョンに対応するバージョン番号および動作モードをそれぞれ既知のバージョン番号及び既知の動作モードと呼ぶ。関連付テーブル６２に含まれる既知のバージョンは、デフォルトとして定められた既知のバージョンと、後述のテーブル更新部５５により追加された既知のバージョンとを含む。
【００５９】
識別情報取得部５３は、ＨＤＤ２０４に記憶されるＯＳプログラム６１の現在のバージョンを識別するための識別情報を取得して、判定部５４に出力する。現在のバージョンは、ＰＣ２００にインストールされたバージョンであり、ＣＰＵ２０１は、現在のバージョンのＯＳプログラム６１を実行する。識別情報取得部５３は、ＣＰＵ２０１がＯＳプログラム６１を実行するタスクからＯＳプログラム６１の現在のバージョンの識別情報を取得する。識別情報は、例えば、現在のバージョンに対応するバージョン番号および現在のバージョンの公開時期を含む。
【００６０】
判定部５４は、識別情報取得部５３から識別情報が入力される。判定部５４は、識別情報に基づいて、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいか否かを判定する。ここでは、判定部５４は、識別情報に含まれる現在のバージョンに対応するバージョン番号を含む関連付レコードが関連付テーブル６２に含まれる場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンと判定する。判定部５４は、ＯＳプログラム６１の現在のバージョンが既知のバージョンである場合、当該既知のバージョンを識別するための既知バージョン識別情報を外部装置制御部５１に出力する。ここでの既知バージョン識別情報は、識別情報に含まれるバージョン番号である。
【００６１】
判定部５４は、識別情報に含まれる現在のバージョンに対応するバージョン番号を含む関連付レコードが関連付テーブル６２に含まれない場合、現在のバージョンに対応するバージョン番号が、既知のバージョン番号よりも大きいか否かを判定する。具体的には、判定部５４は、ＨＤＤ２０４に記憶される関連付テーブル６２を参照して、識別情報に含まれるバージョン番号が、関連付テーブル６２に含まれる関連付レコードで定められた既知のバージョン番号のうち最も大きいバージョン番号よりも大きいか否かを判定する。判定部５４は、識別情報に含まれる現在のバージョンに対応するバージョン番号を含む関連付けレコードが関連付テーブル６２に含まれておらず、かつ、識別情報に含まれるバージョン番号が、関連付テーブル６２に含まれる関連付レコードで定められる既知のバージョン番号のうち最も大きいバージョン番号よりも小さい場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンであると判定し、当該既知のバージョンを識別するための既知バージョン識別情報を外部装置制御部５１に出力する。ここでの既知バージョン識別情報は、関連付テーブル６２に含まれる関連付レコードで定められる既知のバージョン番号のうち最も大きいバージョン番号である。
【００６２】
判定部５４は、識別情報に含まれる現在のバージョンに対応するバージョン番号を含む関連付レコードが関連付テーブル６２に含まれておらず、かつ、識別情報に含まれるバージョン番号が、関連付テーブル６２に含まれる関連付レコードで定められる既知のバージョン番号のうち最も大きいバージョン番号よりも大きい場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいと判定する。判定部５４は、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しい場合、更新指示を外部装置制御部５１、更新指示部５６およびテーブル更新部５５に出力する。更新指示は、現在のバージョンを識別するためのバージョン番号を含む。
【００６３】
外部装置制御部５１は、判定部５４から既知バージョン識別情報が入力されることに応じて、既知の動作モードで動作する。具体的には、外部装置制御部５１は、関連付テーブル６２を参照して、既知バージョン識別情報であるバージョン番号に対応する動作モードを特定し、特定した動作モードで動作する。また、外部装置制御部５１は、判定部５４から更新指示が入力されることに応じて、暫定動作モードで動作する。
【００６４】
テーブル更新部５５は、判定部５４から更新指示が入力される場合、未知のバージョンに対応するバージョン番号と、当該バージョンに対応する動作モードとを関連付ける。具体的には、テーブル更新部５５は、判定部５４から更新指示が入力されることに応じて、更新指示に含まれるバージョン番号と、ＨＤＤ２０４に記憶される暫定動作モードとを含む関連付レコードを生成し、関連付レコードを、ＨＤＤ２０４に記憶されている関連付テーブル６２に追加する。テーブル更新部５５により関連付テーブル６２に新たに追加される関連付レコードは、それに含まれるバージョン番号および動作モードが既知のバージョン番号および既知の動作モードを示す。
【００６５】
更新指示部５６は、判定部５４から更新指示が入力される場合、ＭＦＰ１００を未知のバージョンに対応させるためにＭＦＰ１００に更新を指示する。具体的には、更新指示部５６は、判定部５４から更新指示が入力されることに応じて、通信部２０５を制御し、予めＨＤＤ２０４に記憶された更新プログラムをＭＦＰ１００に送信する。更新プログラムは、ＯＳプログラム６１の新しいバージョンに対応するためにＭＦＰ１００の動作を更新するためのプログラムであり、暫定動作モードに対応してＨＤＤ２０４に記憶される。ＭＦＰ１００の通信Ｉ／Ｆ部１１２が更新プログラムを受信すると、ＭＦＰ１００が備えるＣＰＵ１１１は、受信された更新プログラムを実行することにより、その後に外部から受信されるデータまたはコマンドに従って実行する動作を変更する。
【００６６】
操作受付部５７は、ユーザーによる操作を受け付ける。ユーザーが操作部２０７を操作して、新しいバージョンに対応するバージョン番号および新しいバージョンに対応する動作モードを入力する場合、操作受付部５７は、入力されたバージョン番号および動作モードを操作情報として受け付け、テーブル更新部５５に出力する。テーブル更新部５５は、操作受付部５７から操作情報が入力されることに応じて、操作情報に含まれる新しいバージョンに対応するバージョン番号と動作モードとを含む関連付レコードを生成し、関連付レコードを、ＨＤＤ２０４に記憶されている関連付テーブル６２に追加する。この場合、新しいバージョンに対応する動作モードの動作内容に対応する処理をＣＰＵ２０１が実行するためのプログラムまたはデータを、ユーザーが操作部２０７を介して入力する場合、テーブル更新部５５は、操作受付部５７により受け付けられたプログラムまたはデータと新しい動作モードとを関連付けてＨＤＤ２０４に記憶する。なお、新しいバージョンに対応する動作モードと、その動作モードの動作内容に対応する処理をＣＰＵ２０１が実行するためのプログラムまたはデータを、ＣＤ−ＲＯＭ２０９Ａ等の記憶媒体に記憶するようにしてもよい。この場合、ユーザーが、プログラムまたはデータが記憶されたＣＤ−ＲＯＭ２０９Ａを外部記憶装置２０９に装着し、操作部２０７に読取を指示する操作を入力すれば、テーブル更新部５５は、外部記憶装置２０９を介してＣＤ−ＲＯＭ２０９Ａに記憶されたプログラムまたはデータと動作モードとを取得し、取得されたプログラムまたはデータと新しい動作モードとを関連付けてＨＤＤ２０４に記憶する。
【００６７】
図５は、関連付テーブル６２の一例を示す図である。図５の関連付テーブル６２は、既知のバージョン番号、既知のバージョンの公開日および既知の動作モードを関連付けた関連付レコードを含む。図５の関連付テーブル６２においては、バージョン番号「３０００」、公開時期「○／△△／□□」、および動作モード「Ａモード」を関連付けた関連付レコードＲ１と、バージョン番号「５０００」、公開時期「××／▽▽／◇◇」、および動作モード「Ｂモード」を関連付けた関連付レコードＲ２を含む。
【００６８】
なお、判定部５４、テーブル更新部５５、更新指示部５６、操作受付部５７および識別情報取得部５３の機能を、プリンタドライバプログラムを実行するタスクである外部装置制御部５１が有するようにしてもよい。
【００６９】
図６は、第１の実施の形態における動作更新処理の流れの一例を示すフローチャートである。動作更新処理は、ＰＣ２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０９Ａに記憶されたプログラムを実行することにより、ＣＰＵ２０１により実行される処理である。
【００７０】
図６を参照して、ＣＰＵ２０１は、ＯＳ層またはアプリケーション層に属するタスクがデータまたはコマンドを出力したか否かを判断する（ステップＳ０１）。例えば、ユーザーが操作部２０７を操作して印刷を指示することにより、ＯＳ層またはアプリケーション層に属するタスクがデータまたはコマンドを出力する。ＯＳ層またはアプリケーション層に属するタスクがデータまたはコマンドを出力するまで待機状態となり（ステップＳ０１でＮｏ）、ＯＳ層またはアプリケーション層に属するタスクがデータまたはコマンドを出力したならば（ステップＳ０１でＹｅｓ）、処理をステップＳ０２に進める。
【００７１】
ステップＳ０２においては、ＯＳプログラム６１の現在のバージョンを識別するための識別情報を取得し、処理をステップＳ０３に進める。ステップＳ０３においては、ステップＳ０２で取得した識別情報に基づいて、現在のバージョンが既知のバージョンであるか否かを判断する。具体的には、ステップＳ０２で取得した識別情報に含まれるバージョン番号と同じバージョン番号を含む関連付レコードが、ＨＤＤ２０４に記憶された関連付テーブル６２に含まれるならば、現在のバージョンが既知のバージョンであると判断する。現在のバージョンが既知のバージョンである場合、処理をステップＳ０４に進めるが、そうでなければ処理をステップＳ０５に進める。
【００７２】
ステップＳ０４においては、ＨＤＤ２０４に記憶された関連付テーブル６２を参照して、動作モードを現在のバージョンに対応する動作モードに設定し、処理を終了する。例えば、図５の関連付テーブル６２を参照し、識別情報に含まれるバージョン番号が「３０００」である場合、ＭＦＰ１００の動作モードを「Ａモード」に設定し、取得された識別情報に含まれるバージョン番号が「５０００」である場合、ＭＦＰ１００の動作モードを「Ｂモード」に設定する。
【００７３】
ステップＳ０５においては、ステップＳ０２で取得した識別情報に基づいて、現在のバージョンに対応するバージョン番号が既知のバージョン番号よりも大きいか否かを判断する。具体的には、ＨＤＤ２０４に記憶された関連付テーブル６２を参照して、ステップＳ２で取得した識別情報に含まれるバージョン番号を、関連付テーブル６２に含まれる関連付レコードで定められるバージョン番号のうち最も大きいバージョン番号と比較する。現在のバージョンに対応するバージョン番号が既知のバージョン番号よりも大きい場合、処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０６に進める。
【００７４】
ステップＳ０６においては、ＨＤＤ２０４に記憶された関連付テーブル６２に含まれる関連付レコードで定められる既知のバージョン番号のうち最も大きいバージョン番号に対応する動作モードに設定し、処理を終了する。例えば、図５の関連付テーブル６２を参照し、識別情報に含まれるバージョン番号が「４０００」である場合、識別情報に含まれるバージョン番号と同じバージョン番号を含む関連付レコードが関連付テーブル６２に含まれず、かつ、識別情報に含まれるバージョン番号が、関連付テーブル６２に含まれる関連付レコードで定められる既知のバージョン番号のうち最も大きいバージョン番号よりも小さい。この場合、ＭＦＰ１００の動作モードを、関連付テーブル６２に含まれる関連付レコードで定められる既知のバージョン番号のうち最も大きいバージョン番号「５０００」に対応する動作モード「Ｂモード」に設定する。
【００７５】
ステップＳ０７においては、動作モードをＨＤＤ２０４に記憶される暫定動作モードに設定し、処理をステップＳ０８に進める。ステップＳ０８においては、ＨＤＤ２０４に記憶された関連付テーブル６２を更新し、処理をステップＳ１０に進める。具体的には、識別情報に含まれるバージョン番号と暫定動作モードとを含む関連付レコードを生成し、関連付レコードを、ＨＤＤ２０４に記憶されている関連付テーブル６２に追加する。例えば、識別情報が示すバージョン番号が「７０００」である場合、バージョン番号「７０００」と暫定動作モードとを含む関連付レコードを関連付テーブル６２に追加する。
【００７６】
ステップＳ０９においては、ＭＦＰ１００の動作の更新が必要か否かを判断する。ＭＦＰ１００の動作が、新しい動作モードでの制御に対応していない場合には、ＭＦＰ１００の動作の更新が必要となる。例えば、新しい動作モードで既知の動作モードと異なる新しいコマンドを使用する場合、ＭＦＰ１００が新しいコマンドを解釈することができず、エラーが発生することがある。そのような場合には、ＭＦＰ１００の動作の更新が必要である。ＭＦＰ１００の動作の更新が必要である場合には、処理をステップＳ１０に進めるが、そうでなければ処理を終了する。
【００７７】
ステップＳ１０においては、通信部２０５を制御して、ＭＦＰ１００に更新プログラムを送信し、処理を終了する。更新プログラムは、暫定動作モードに関連付けてＨＤＤ２０４に記憶されている。更新プログラムは、例えば、新しい動作モードで使用されるコマンドを解釈するためのプログラムを含む。ＭＦＰ１００の通信Ｉ／Ｆ部１１２が更新プログラムを受信すると、ＣＰＵ１１１が更新プログラムを実行することにより、ＲＯＭ１１３またはＨＤＤ１１５に記憶されたプログラムを更新する。なお、新しい動作モードで使用されるデータまたはコマンドをＭＦＰ１００が解釈することができない場合に、ＣＰＵ２０１は、当該データまたはコマンドをＭＦＰ１００が解釈可能なデータおよびコマンドに変換してＭＦＰ１００に送信するようにしてもよい。
【００７８】
以上説明したように本実施の形態におけるＰＣ２００，２００Ａ，２００Ｂは、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいか否かを判定し、ＯＳプログラム６１の現在のバージョンが既知のバージョンと同じ場合に、プリンタドライバの動作モードを既知の動作モードに設定して既知のバージョンに対して予め定められた処理を実行し、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しい場合に、プリンタドライバの動作モードを暫定動作モードに設定して未知のバージョンに対して予め定められた処理を実行する。これにより、外部のサーバーからプリンタドライバの更新情報を取得することができない場合であっても、ＯＳプログラム６１の未知のバージョンに対応する処理を実行することができる。その結果、ＯＳプログラム６１の更新に対応してＭＦＰ１００を制御することができる。また、ユーザーがプリンタドライバを更新するための作業を行う必要がなく、ユーザーがＰＣ２００，２００Ａ，２００Ｂを再起動させる必要もないので、ユーザーの負担が軽減されるとともに、ユーザーの業務が妨げられることが防止される。
【００７９】
また、ＰＣ２００，２００Ａ，２００Ｂは、ＯＳプログラム６１の現在のバージョンを識別するための識別情報を取得し、識別情報に含まれるバージョン番号が、既知のバージョンに対応するバージョン番号よりも大きいか否かを判定する。これにより、ＯＳプログラム６１のバージョンが既知のバージョンよりも新しいか否かを容易に判定することができる。
【００８０】
また、ＰＣ２００，２００Ａ，２００Ｂは、ＯＳプログラム６１の複数の既知のバージョンと、当該既知のバージョンに対応する動作モードとを関連付けた関連付テーブル６２を記憶しているので、関連付テーブル６２を参照して、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいか否かを容易に判定することができる。また、ＯＳプログラム６１の現在のバージョンが既知のバージョンである場合に、関連付テーブル６２を参照して、当該既知のバージョンに対応する動作モードを容易に特定することができる。
【００８１】
また、ＰＣ２００，２００Ａ，２００Ｂは、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しい場合において、ＭＦＰ１００の動作の更新が必要であれば、ＭＦＰ１００に更新プログラムを送信し、ＭＦＰ１００を未知のバージョンに対応させる。これにより、ＭＦＰ１００を変更後のＯＳプログラム６１に対応させることができる。
【００８２】
＜第１の変形例＞
第１の変形例におけるＰＣ２００は、ＣＰＵ２０１が有する判定部５４を変更したものである。第１の変形例における判定部５４は、識別情報に含まれる現在のバージョンに対応するバージョン番号を含む関連付レコードが関連付テーブル６２に含まれる場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンと判定し、当該既知のバージョンを識別するための既知バージョン識別情報を外部装置制御部５１に出力する。
【００８３】
判定部５４は、識別情報に含まれる現在のバージョンに対応するバージョン番号を含む関連付レコードが関連付テーブル６２に含まれない場合、現在のバージョンの公開時期が、既知のバージョンの公開時期よりも遅いか否かを判定する。具体的には、判定部５４は、ＨＤＤ２０４に記憶される関連付テーブル６２を参照して、識別情報に含まれる現在のバージョンの公開時期が、関連付テーブル６２に含まれる関連付レコードで定められた公開時期のうち最も遅い公開時期よりも遅いか否かを判定する。判定部５４は、識別情報に含まれる公開時期が、関連付テーブル６２に含まれる関連付レコードで定められる公開時期のうち最も遅い公開時期よりも早い場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンであると判定し、当該既知のバージョンを識別するための既知バージョン識別情報を外部装置制御部５１に出力する。ここでの既知バージョン識別情報は、関連付テーブル６２に含まれる関連付レコードで定められる既知のバージョン番号のうち最も大きいバージョン番号である。
【００８４】
判定部５４は、識別情報に含まれる公開時期が、関連付テーブル６２に含まれる関連付レコードで定められる公開時期のうち最も遅い公開時期よりも遅い場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいと判定し、更新指示を外部装置制御部５１、更新指示部５６およびテーブル更新部５５に出力する。
【００８５】
図７は、第１の変形例における動作更新処理の流れの一例を示すフローチャートである。図７を参照して、第１の変形例における動作更新処理が図６に示した処理と異なる点は、ステップＳ０５がステップＳ０５Ａに変更された点である。その他の処理は、図７に示した処理と同じなので、ここでは説明を繰り返さない。
【００８６】
ステップＳ０５Ａにおいて、ＣＰＵ２０１は、ステップＳ２で取得した識別情報に基づいて、現在のバージョンの公開時期が既知のバージョンの公開時期よりも遅いか否かを判定する。具体的には、ＨＤＤ２０４に記憶された関連付テーブルを参照して、ステップＳ２で取得した識別情報に含まれる公開時期を、関連付テーブルに含まれる関連付レコードで定められる公開時期のうち最も遅い公開時期と比較する。現在のバージョンの公開時期が既知のバージョンの公開時期よりも遅い場合、処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０６に進める。
【００８７】
このように第１の変形例におけるＰＣ２００，２００Ａ，２００Ｂは、取得した識別情報に含まれる公開時期が、既知のバージョンの公開時期よりも遅いか否かを判定するので、ＯＳプログラム６１のバージョンが既知のバージョンよりも新しいか否かを容易に判定することができ、ＯＳプログラム６１の更新に対応してＭＦＰ１００を制御することができる。
【００８８】
＜第２の変形例＞
図８は、第２の変形例におけるＰＣ２００が備えるＣＰＵ２０１が有する機能の一例を示すブロック図である。図８を参照して、第２の変形例におけるＣＰＵ２０１が有する機能が図４に示した機能と異なる点は、判定部５４が判定部５４Ａに変更された点である。判定部５４Ａは、問い合わせ部５８および回答受付部５９を含む。
【００８９】
問い合わせ部５８は、識別情報取得部５３から入力される識別情報に基づいて、ＯＳプログラム６１の現在のバージョンが既知のバージョンであるか否かを判定する。問い合わせ部５８は、ＯＳプログラム６１の現在のバージョンが既知のバージョンである場合、既知バージョン識別情報を外部装置制御部５１に出力し、ＯＳプログラム６１の現在のバージョンが既知のバージョンでない場合、ユーザーに対してＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンであるか否かを問い合わせる。例えば、問い合わせ部５７は、問い合わせ画面を生成し、表示部２０６に表示する。問い合わせ画面は、例えば、「オペレーションプログラムのバージョンは、○○ですか？」という文字列と、「はい」ボタンおよび「いいえ」ボタンとを含む。ユーザーは、問い合わせ画面が表示されると、操作部２０７を操作して、ＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンであるか否かを回答する。具体的には、ユーザーは、ＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンである場合に、操作部２０７を操作して問い合わせ画面の「はい」ボタンを選択し、ＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンと異なる場合、操作部２０７を操作して問い合わせ画面の「いいえ」ボタンを選択することにより回答する。
【００９０】
回答受付部５９は、問い合わせに対するユーザーからの回答を受け付ける。回答受付部５９は、ＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンであるとの回答を受け付けた場合、更新指示を外部装置制御部５１、更新指示部５６およびテーブル更新部５５に出力する。
【００９１】
図９は、第２の変形例における動作更新処理の流れの一例を示すフローチャートである。図９を参照して、第２の変形例における動作更新処理が図６に示した処理と異なる点は、ステップＳ０５が、ステップＳ３１、ステップＳ３２、ステップＳ３３に変更された点である。その他の処理は、図６に示した処理と同じなので、ここでは説明を繰り返さない。
【００９２】
ステップＳ３１において、ＣＰＵ２０１は、ユーザーに対してＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンであるか否かを問い合わせ、処理をステップＳ３２に進める。例えば、問い合わせ画面を生成し、表示部２０６に表示する。
【００９３】
ステップＳ３２においては、問い合わせに対するユーザーからの回答を受け付け、処理をステップＳ３３に進める。ステップＳ３３においては、ステップＳ３２で受け付けた回答が、ＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンであるとの回答であるか否かを判断する。ＯＳプログラム６１の現在のバージョンが予め定められた未知のバージョンであるとの回答を受け付けた場合、処理をステップＳ０８に進めるが、そうでなければ処理をステップＳ０６に進める。
【００９４】
このように第２の変形例におけるＰＣ２００，２００Ａ，２００Ｂは、ユーザーの回答に従ってＯＳプログラム６１の現在のバージョンが新しいか否かを判定するので、処理プログラムのバージョンが既知のバージョンよりも新しいか否かを確実に判定することができ、ＯＳプログラム６１の更新に対応してＭＦＰ１００を制御することができる。
【００９５】
＜第２の実施の形態＞
図１０は、第２の実施の形態におけるＰＣ２００が備えるＣＰＵ２０１が有する機能の一例を示すブロック図である。図１０を参照して、第２の実施の形態におけるＣＰＵ２０１が有する機能が図４に示した機能と異なる点は、判定部５４が、判定部５４Ｂに変更された点である。
【００９６】
ＯＳプログラム６１のバージョンが異なると、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが異なることがある。ＯＳ層またはアプリケーション層に属するタスクが出力するデータは、例えば、ＣＰＵ２０１が各種のプログラムを実行することにより生成されたデータである。ＯＳ層またはアプリケーション層に属するタスクが出力するコマンドは、例えば、ＭＦＰ２００にプリントを指示するプリントコマンドである。プリントコマンドは、例えば、ＰＪＬ（Ｐｒｉｎｔ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ＰｒｉｎｔＴｉｃｋｅｔ、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）を含む。
【００９７】
第２の実施の形態における判定部５４Ｂは、識別情報取得部５３から入力される識別情報に基づいて、ＯＳプログラム６１の現在のバージョンが既知のバージョンであるか否かを判定し、ＯＳプログラム６１の現在のバージョンが既知のバージョンである場合、既知バージョン識別情報を外部装置制御部５１に出力する。また、判定部５４Ｂは、ＯＳプログラム６１の現在のバージョンが既知のバージョンでない場合、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドに基づいて、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいか否かを判定する。ここでは、ＯＳプログラム６１の未知のバージョンに対応するデータ形式およびコマンドが未知データコマンド情報６４としてＨＤＤ２０４に予め記憶される。ＯＳプログラム６１の未知のバージョンに対応するデータ形式およびコマンドは、当該バージョンの公開に備えて、ＯＳプログラム６１の供給元から予め通知される。判定部５４Ｂは、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれる場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいと判定し、更新指示を外部装置制御部５１、更新指示部５６およびテーブル更新部５５に出力する。
【００９８】
図１１は、第２の実施の形態における動作更新処理の流れの一例を示すフローチャートである。図１１を参照して、第２の実施の形態における動作更新処理が図６に示した処理と異なる点は、ステップＳ０５、ステップＳ０６が、ステップＳ４１、ステップＳ４２に変更された点である。その他の処理は、図６に示した処理と同じなので、ここでは説明を繰り返さない。
【００９９】
ステップＳ４１においては、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＯＳプログラム６１の未知のバージョンに対応するか否かを判断する。具体的には、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれるか否かを判断する。ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれる場合、処理をステップＳ０８に進め、そうでなければ処理をＳ４２に進める。
【０１００】
ステップＳ４２においては、ユーザーに対してエラーを通知し、処理を終了する。例えば、識別情報に含まれるバージョン番号を含むエラー画面を生成し、表示部２０６に表示する。ユーザーは、エラー画面のバージョン番号を参照して、現在のバージョンに対応する動作モードを設定するための操作が必要であることを知ることができる。現在のバージョンに対応する動作モードが既知の動作モードとしてＨＤＤ２０４に記憶された関連付テーブル６２に含まれている場合には、その既知の動作モードを指定する。例えば、動作モードが同じでバージョン番号が異なる場合である。現在のバージョンに対応する動作モードがＨＤＤ２０４に記憶された関連付テーブル６２に含まれていない場合には、現在のバージョンに対応する動作モード、および当該動作モードの動作内容が入力されてもよい。例えば、現在の動作モードの動作内容に対応する処理をＣＰＵ２０１が実行するためのプログラムまたはデータが、動作モードと関連付けてＣＤ−ＲＯＭ２０９Ａ等の記憶媒体に記憶される。ユーザーは、プログラムまたはデータが記憶されたＣＤ−ＲＯＭ２０９Ａを外部記憶装置２０９に装着し、操作部２０７に読取を指示する操作を入力すれば、ＣＰＵ２０１は、外部記憶装置２０９を介してＣＤ−ＲＯＭ２０９Ａからプログラムまたはデータと動作モードとを読み出し、読み出したプログラムまたはデータを実行することにより、現在のバージョンに対応する動作モードを設定することができる。あるいは、インターネットに接続されたコンピューターからプログラムまたはデータをダウンロードし、ダウンロードしたプログラムまたはデータをＣＰＵ２０１が実行することにより、現在のバージョンに対応する動作モードを設定してもよい。
【０１０１】
以上説明したように第２の実施の形態におけるＰＣ２００，２００Ａ，２００Ｂは、ＯＳ層またはアプリケーション層が属するタスクが出力するデータの形式またはコマンドが、予め定められたデータ形式またはコマンドであるか否かを判定するので、ＯＳプログラム６１のバージョンが変更されたことを判定することができ、ＯＳプログラム６１の更新に対応してＭＦＰ１００を制御することができる。
【０１０２】
＜第３の実施の形態＞
図１２は、第３の実施の形態におけるＰＣ２００が備えるＣＰＵ２０１が有する機能の一例を示すブロック図である。図１２を参照して、第３の実施の形態におけるＣＰＵ２０１が有する機能が図４に示した機能と異なる点は、判定部５４、テーブル更新部５５が、判定部５４Ｃ、テーブル更新部５５Ａに変更された点である。また、ＨＤＤ２０４には、未知データコマンド情報６４Ａ、および補助暫定動作モードの動作内容に対応する処理をＣＰＵ２０１が実行するためのプログラムまたはデータが予め記憶されている。例えば、未知データコマンド情報６４Ａ、および、プログラムまたはデータは、ＭＦＰ１００をメンテナンスするサービスマンからＣＤ−ＲＯＭ等の記録媒体に記録されて提供され、ユーザーにより、補助暫定動作モードと関連付けてＨＤＤ２０４に記憶される。
【０１０３】
第３の実施の形態における判定部５４Ｃは、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいか否かを判定するとともに、アプリケーションプログラムの現在のバージョンが既知のバージョンよりも新しいか否かを判定する。第３の実施の形態におけるアプリケーションプログラムは、処理プログラムの一例である。ここでは、判定部５４Ｃは、識別情報取得部５３から入力される識別情報に基づいて、現在のバージョンに対応するバージョン番号が、既知のバージョン番号よりも大きいか否かを判定し、現在のバージョンに対応するバージョン番号が、既知のバージョン番号よりも大きい場合にＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいと判定する。ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しい場合、更新指示を外部装置制御部５１、更新指示部５６およびテーブル更新部５５Ａに出力する。なお、判定部５４Ｃは、第１の実施の形態における第１の変形例と同様に、現在のバージョンの公開時期が、既知のバージョンの公開時期よりも遅い場合に、現在のバージョンが既知のバージョンよりも新しいと判定してもよい。また、判定部５４Ｃは、第１の実施の形態における第２の変形例と同様に、ユーザーに対して問い合わせを行い、現在のバージョンが既知のバージョンよりも新しいとの回答を受け付けた場合に、現在のバージョンが既知のバージョンよりも新しいと判定してもよい。
【０１０４】
判定部５４Ｃは、ＯＳプログラム６１の現在のバージョンが既知のバージョンである場合、アプリケーション層に属するタスクが出力するデータの形式またはコマンドに基づいて、アプリケーションプログラムの現在のバージョンが既知のバージョンよりも新しいか否かを判定する。現在のバージョンは、ＰＣ２００にインストールされたバージョンであり、ＣＰＵ２０１は、現在のバージョンのアプリケーションプログラムを実行する。ここでは、アプリケーションプログラムの未知のバージョンに対応するデータ形式およびコマンドが未知データコマンド情報６４ＡとしてＨＤＤ２０４に記憶される。アプリケーションプログラムの未知のバージョンに対応するデータ形式およびコマンドは、当該バージョンの公開に備えて、アプリケーションプログラムの供給元から予め通知される。
【０１０５】
判定部５４Ｃは、アプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４Ａに含まれない場合、アプリケーションプログラムの現在のバージョンが既知のバージョンであると判定し、既知バージョン識別情報を外部装置制御部５１に出力する。一方、アプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４Ａに含まれる場合、判定部５４Ｃは、アプリケーションプログラムの現在のバージョンが既知のバージョンよりも新しいと判定し、関連付テーブル６２に含まれる関連付レコードのうち識別情報取得部５３から入力される識別情報を含む関連付レコードを識別するためのレコード識別情報をテーブル更新部５５Ａに出力する。
【０１０６】
例えば、アプリケーションプログラムのバージョンが異なると、アプリケーションプログラムの実行によって表示可能なＵＩ画面に含まれる印刷設定の項目が異なる場合がある。そのため、ＭＦＰ１００に印刷を指示する際に参照すべき印刷設定の項目が、動作モードによって異なってもよい。また、アプリケーションプログラムのバージョンが異なると、アプリケーション層に属するタスクが出力するデータの形式が異なることがある。そのため、当該データをＭＦＰ１００に送信する際のデータの圧縮形式が異なることがある。そのため、ＭＦＰ１００に印刷を指示する際のデータの圧縮形式が、動作モードによって異なってもよい。
【０１０７】
テーブル更新部５５Ａは、判定部５４Ｃから更新指示が入力される場合、更新指示に含まれるバージョン番号と、ＨＤＤ２０４に記憶される暫定動作モードとを含む関連付レコードを生成し、関連付レコードを、ＨＤＤ２０４に記憶されている関連付テーブル６２に追加する。テーブル更新部５５Ａは、判定部５４Ｃからレコード識別情報が入力される場合、関連付テーブル６２に含まれる関連付レコードのうちレコード識別情報により識別される関連付レコードで定められる既知の動作モードを、補助暫定動作モードに変更する。補助暫定動作モードの動作内容に対応する処理をＣＰＵ２０１が実行するためのプログラムまたはデータは、例えば、ＭＦＰ１００をメンテナンスするサービスマンより提供され、補助暫定動作モードと関連付けてＨＤＤ２０４に記憶されている。このため、外部装置制御部５１は、補助暫定動作モードで動作するので、新たなバージョンのアプリケーションプログラムを実行するタスクが出力するデータまたはコマンドに対応する処理を実行することができる。
【０１０８】
図１３は、第３の実施の形態における動作更新処理の流れの一例を示すフローチャートである。図１３を参照して、第３の実施の形態における動作更新処理が図６に示した処理と異なる点は、ステップＳ０３で「Ｙｅｓ」の場合の処理としてステップＳ５１、ステップＳ５２、ステップＳ５３が追加された点である。その他の処理は、図６に示した処理と同じなので、ここでは説明を繰り返さない。
【０１０９】
ステップＳ５１において、ＣＰＵ２０１は、アプリケーション層に属するタスクが出力したデータの形式またはコマンドが、アプリケーションプログラムの未知のバージョンに対応するか否かを判断する。具体的には、アプリケーション層に属するタスクが出力したデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４Ａに含まれる場合、アプリケーションプログラムの未知のバージョンに対応すると判断する。アプリケーション層に属するタスクが出力したデータの形式またはコマンドが、アプリケーションプログラムの未知のバージョンに対応する場合、処理をステップＳ５３に進めるが、そうでなければ処理をステップＳ０４に進める。
【０１１０】
ステップＳ５３においては、ＨＤＤ２０４に記憶される関連付テーブル６２を更新し、処理をステップＳ５４に進める。具体的には、ステップＳ０２で取得した識別情報に含まれるバージョン番号を含む関連付レコードで定められる既知の動作モードを、補助暫定動作モードに更新する。ステップＳ５４においては、動作モードを補助暫定動作モードに設定し、処理を終了する。
【０１１１】
以上説明したように第３の実施の形態におけるＰＣ２００，２００Ａ，２００Ｂは、アプリケーションプログラムの現在のバージョンが既知のバージョンよりも新しいか否かを判定し、アプリケーションプログラムの現在のバージョンが既知のバージョンよりも新しい場合に、プリンタドライバの動作モードを補助暫定動作モードに設定して未知のバージョンに対して予め定められた処理を実行する。これにより、外部のサーバーからプリンタドライバの更新情報を取得することができない場合であっても、アプリケーションプログラムの未知のバージョンに対応する処理を実行することができる。その結果、アプリケーションプログラムの更新に対応してＭＦＰ１００を制御することができる。
【０１１２】
＜第４の実施の形態＞
図１４は、第４の実施の形態におけるＰＣ２００が備えるＣＰＵ２０１が有する機能の一例を示すブロック図である。図１４を参照して、第４の実施の形態におけるＣＰＵ２０１が有する機能が図４に示した機能と異なる点は、判定部５４が、判定部５４Ｄに変更された点、テーブル記憶部５２、識別情報取得部５３、テーブル更新部５５、操作受付部５７が、削除された点である。また、第４の実施の形態におけるＨＤＤ２０４には、関連付テーブル６２が記憶されておらず、第２の実施の形態と同様に、未知データコマンド情報６４が記憶されている。
【０１１３】
第４の実施の形態における判定部５４Ｄは、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドに基づいて、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいか否かを判定する。第４の実施の形態におけるＯＳプログラムは、処理プログラムの一例である。判定部５４Ｄは、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれる場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいと判定し、更新指示を外部装置制御部５１および更新指示部５６に出力する。判定部５４Ｄは、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれていない場合、ＯＳプログラム６１の現在のバージョンが既知のバージョンと判定し、更新指示を出力することなく動作モードを既知の動作モードに維持する。
【０１１４】
図１５は、第４の実施の形態における動作更新処理の流れの一例を示すフローチャートである。図１５を参照して、第４の実施の形態における動作更新処理が図６に示した処理と異なる点は、ステップＳ０２、ステップＳ０３、ステップＳ０４、ステップＳ０５、ステップＳ０６、ステップＳ０８が、ステップＳ６１に変更された点である。その他の処理は、図６に示した処理と同じなので、ここでは説明を繰り返さない。
【０１１５】
ステップＳ６１においては、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＯＳプログラム６１の未知のバージョンに対応するか否かを判断する。具体的には、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれるか否かを判断する。ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれる場合、処理をステップＳ０７に進め、そうでなければ処理を終了する。これにより、ＯＳ層またはアプリケーション層に属するタスクが出力するデータの形式またはコマンドが、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれる場合には、動作モードが暫定制御モードに切り替えられ、ＨＤＤ２０４に記憶された未知データコマンド情報６４に含まれない場合には、動作モードが既知の動作モードに維持される。
【０１１６】
以上説明したように、第４の実施の形態におけるＰＣ２００，２００Ａ，２００Ｂは、ＯＳ層またはアプリケーション層が属するタスクが出力するデータの形式またはコマンドが、予め定められたデータ形式またはコマンドであるか否かを判定するので、ＯＳプログラム６１のバージョンが変更されたことを判定することができ、ＯＳプログラム６１の更新に対応してＭＦＰ１００を制御することができる。
【０１１７】
なお、第４の実施の形態におけるＣＰＵ２０１は、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しいか否かを判定し、ＯＳプログラム６１の現在のバージョンが既知のバージョンよりも新しい場合に、動作モードを暫定動作モードに切り替えるが、これに代えて、アプリケーションプログラムの現在のバージョンが既知のバージョンよりも新しいか否かを判定し、アプリケーションプログラムの現在のバージョンが既知のバージョンよりも新しい場合に、動作モードを予め定められた動作モードに切り替えてもよい。この場合におけるアプリケーションプログラムは、処理プログラムの一例である。この場合には、アプリケーションプログラムのバージョンが変更されたことを判定することができ、アプリケーションプログラムの更新に対応してＭＦＰ１００を制御することができる。
【０１１８】
なお、上述した実施の形態においては、外部装置の一例として、ＭＦＰ１００を説明したが、プリンターまたはファクシミリ装置等、ＰＣ２００，２００Ａ，２００Ｂが制御対象とする周辺装置であってもよい。
【０１１９】
また、上述した実施の形態においては、プリントシステム１について説明したが、図６、図７、図９、図１１、図１３、図１５に示した処理をＰＣ２００、２００Ａ、２００Ｂに実行させる動作更新方法および、その動作更新方法をＰＣ２００、２００Ａ、２００Ｂが備えるＣＰＵに実行させる動作更新プログラムとして捉えることができるのは言うまでもない。
【０１２０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１２１】
＜付記＞
（１）前記外部装置制御手段は、前記処理プログラムを実行するタスクが出力するデータおよびコマンドを、前記外部装置が解釈可能なデータおよびコマンドに変換する変換手段を含む、請求項１〜９のいずれかに記載の情報処理装置。
（２）ユーザーによる操作を受け付ける操作受付手段と、
前記受け付けられた操作に従って前記関連付テーブルを更新する更新するテーブル更新手段と、をさらに備える、請求項７記載の情報処理装置。
（３）１以上の処理プログラムそれぞれのバージョン番号と、当該バージョン番号で特定されるバージョンに対応する処理と、を関連付けた関連付テーブルを記憶するテーブル記憶手段と、
前記取得された識別情報のバージョンが前記既知のバージョンよりも新しいと判定された場合に、未知のバージョンのバージョン番号と、前記未知のバージョンに対して予め定められた処理と、を関連付けることにより前記関連付テーブルを更新するテーブル更新手段と、をさらに備える、請求項７記載の情報処理装置。
（４）前記処理プログラムは、オペレーティングシステムプログラムを含む、請求項１〜９のいずれかに記載の情報処理装置。
（５）前記外部装置は画像を処理する画像処理装置を含む、請求項１〜９のいずれかに記載の情報処理装置。
【符号の説明】
【０１２２】
１  プリントシステム、３  ＬＡＮ、５１  外部装置制御部、５２  テーブル記憶部、５３  識別情報取得部、５４  判定部、５４Ａ，５４Ｂ，５４Ｃ，５４Ｄ  判定部、５５，５５Ａ  テーブル更新部、５７  操作受付部、５６  更新指示部、５９  回答受付部、６１  ＯＳプログラム、６２  関連付テーブル、６４，６４Ａ  未知データコマンド情報、１００，２００  ＭＦＰ、１１４，２０３  ＲＡＭ、１１０  メイン回路、１１１，２０１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３，２０２，２０３  ＲＯＭ、１１５，２０４  ＨＤＤ、１１６  ファクシミリ部、１１７，２０９  外部記憶装置、１１８，２０９Ａ  ＣＤ−ＲＯＭ、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  操作パネル、１６１，２０６  表示部、１６３，２０７  操作部、１６５  タッチパネル、１６７  ハードキー部、２００，２００Ａ，２００Ｂ  ＰＣ、２０５  通信部、Ｒ１，Ｒ２  関連付レコード
【図１】
2018005322.tif 000003
【図２】
2018005322.tif 000004
【図３】
2018005322.tif 000005
【図４】
2018005322.tif 000006
【図５】
2018005322.tif 000007
【図６】
2018005322.tif 000008
【図７】
2018005322.tif 000009
【図８】
2018005322.tif 000010
【図９】
2018005322.tif 000011
【図１０】
2018005322.tif 000012
【図１１】
2018005322.tif 000013
【図１２】
2018005322.tif 000014
【図１３】
2018005322.tif 000015
【図１４】
2018005322.tif 000016
【図１５】
2018005322.tif 000017