(57)【要約】【課題】  プログラムを記憶する容量を可能な限り少なくしつつ処理を実行する。【解決手段】  ＭＦＰは、ファームウェアプログラムを実行することにより、ハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行部５３と、ＡＰＩコマンドで記述されたアプリケーションプログラムを実行することにより、ＡＰＩコマンドにより特定される処理を処理実行部５３に実行させるアプリケーション実行部５１と、処理実行部５３およびプリケーション実行部５１それぞれが作業領域として使用するＲＡＭと、複数種類のファームウェアプログラムのうち処理実行部５３により実行されない１以上の不実行ファームウェアプログラムを決定する不実行プログラム決定部５５と、不実行ファームウェアプログラムをＲＡＭから削除するアンインストール部５７と、を備える。【選択図】        図４
2015035098.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のファームウェアプログラムのうち１以上のファームウェアプログラムを実行することにより、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、
前記処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、前記アプリケーションインターフェースコマンドにより特定される処理を前記処理実行手段に実行させるアプリケーション実行手段と、
前記処理実行手段および前記プリケーション実行手段それぞれが作業領域として使用する記憶手段と、
前記複数種類のファームウェアプログラムのうち前記処理実行手段により実行されない１以上の不実行ファームウェアプログラムを決定する不実行プログラム決定手段と、
前記複数種類のファームウエアプログラムのうち前記不実行プログラム決定手段により決定された不実行ファームウェアプログラムを前記記憶手段から削除するアンインストール手段と、を備えたデータ処理装置。
【請求項２】
前記複数種類のハードウェア資源は、基本ハードウェア資源と拡張ハードウェア資源と、を含み、
前記複数種類のファームウェアプログラムは、それが実行されることにより制御対象となる基本ハードウェア資源に基づいて複数の基本グループのいずれかに分類されており、
前記複数の基本グループそれぞれに分類された１以上のファームウェアプログラムは、前記複数の基本グループごとに、それが実行されることにより制御対象となるハードウェア資源であって当該基本グループに対応する基本ハードウェア資源とは別の拡張ハードウェア資源に基づいて１以上の拡張グループに分類されており、
前記不実行プログラム決定手段は、前記アプリケーション実行手段が実行するアプリケーションプログラムにより特定されるアプリケーションインターフェースコマンドにより特定される処理が前記処理実行手段により実行される場合に前記処理実行手段によって制御される１以上のハードウェア資源を特定する実行資源特定手段と、
前記複数の基本グループのうちから前記実行資源特定手段により特定される１以上のハードウェア資源のうち基本ハードウェア資源に対応する基本グループを第１実行グループとして特定する第１実行グループ特定手段と、
前記特定された第１実行グループに含まれる１以上の拡張グループのうち、前記実行資源特定手段により特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定する第２実行グループ特定手段と、
前記特定された第１実行グループに含まれる１以上の拡張グループのうち前記特定された第２実行グループ以外の１以上の待機グループそれぞれに分類された１以上のファームウェアプログラムを前記不実行ファームウェアプログラムに決定する第１決定手段と、を含む請求項１に記載のデータ処理装置。
【請求項３】
前記アプリケーション実行手段は、ユーザーにより指定された処理条件を含むジョブを受け付けるジョブ受付手段と、
前記受け付けられたジョブに含まれる処理条件により特定されるアプリケーションプログラムを実行するジョブ実行手段と、を含み、
前記不実行プログラム決定手段は、前記ジョブ受付手段により受け付けられた前記ジョブに含まれる前記処理条件に基づいて、前記処理実行手段が実行するデータ処理を実行処理に決定する実行処理決定手段と、
前記第２実行グループに特定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、前記実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する第２決定手段と、をさらに含む請求項２に記載のデータ処理装置。
【請求項４】
複数種類のファームウェアプログラムのうち１以上のファームウェアプログラムを実行することにより、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、
前記処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、前記アプリケーションインターフェースコマンドにより特定される処理を前記処理実行手段に実行させるアプリケーション実行手段と、
前記処理実行手段および前記プリケーション実行手段それぞれが作業領域として使用する記憶手段と、を備えたデータ処理装置で実行されるプログラムアンインストール方法であって、
前記複数種類のファームウェアプログラムのうち前記処理実行手段により実行されない１以上の不実行ファームウェアプログラムを決定する不実行プログラム決定ステップと、
前記複数種類のファームウエアプログラムのうち前記不実行プログラム決定ステップにおいて決定された不実行ファームウェアプログラムを前記記憶手段から削除するアンインストールステップと、を含むプログラムアンインストール方法。
【請求項５】
前記複数種類のハードウェア資源は、基本ハードウェア資源と拡張ハードウェア資源と、を含み、
前記複数種類のファームウェアプログラムは、それが実行されることにより制御対象となる基本ハードウェア資源に基づいて複数の基本グループのいずれかに分類されており、
前記複数の基本グループそれぞれに分類された１以上のファームウェアプログラムは、前記複数の基本グループごとに、それが実行されることにより制御対象となるハードウェア資源であって当該基本グループに対応する基本ハードウェア資源とは別の拡張ハードウェア資源に基づいて１以上の拡張グループに分類されており、
前記不実行プログラム決定ステップは、前記アプリケーション実行手段が実行するアプリケーションプログラムにより特定されるアプリケーションインターフェースコマンドにより特定される処理が前記処理実行手段により実行される場合に前記処理実行手段によって制御される１以上のハードウェア資源を特定する実行資源特定ステップと、
前記複数の基本グループのうちから前記実行資源特定ステップにおいて特定される１以上のハードウェア資源のうち基本ハードウェア資源に対応する基本グループを第１実行グループとして特定する第１実行グループ特定ステップと、
前記特定された第１実行グループに含まれる１以上の拡張グループのうち、前記実行資源特定ステップにおいて特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定する第２実行グループ特定ステップと、
前記特定された第１実行グループに含まれる１以上の拡張グループのうち前記特定された第２実行グループ以外の１以上の待機グループそれぞれに分類された１以上のファームウェアプログラムを前記不実行ファームウェアプログラムに決定する第１決定ステップと、を含む請求項４に記載のプログラムアンインストール方法。
【請求項６】
前記アプリケーション実行手段は、ユーザーにより指定された処理条件を含むジョブを受け付けるジョブ受付手段と、
前記受け付けられたジョブに含まれる処理条件により特定されるアプリケーションプログラムを実行するジョブ実行手段と、を含み、
前記不実行プログラム決定ステップは、前記ジョブ受付手段により受け付けられた前記ジョブに含まれる前記処理条件に基づいて、前記処理実行手段が実行するデータ処理を実行処理に決定する実行処理決定ステップと、
前記第２実行グループに特定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、前記実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する第２決定ステップと、をさらに含む請求項５に記載のプログラムアンインストール方法。
【請求項７】
複数種類のファームウェアプログラムのうち１以上のファームウェアプログラムを実行することにより、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、
前記処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、前記アプリケーションインターフェースコマンドにより特定される処理を前記処理実行手段に実行させるアプリケーション実行手段と、
前記処理実行手段および前記プリケーション実行手段それぞれが作業領域として使用する記憶手段と、を備えたデータ処理装置を制御するコンピュータで実行されるプログラムアンインストールプログラムであって、
前記複数種類のファームウェアプログラムのうち前記処理実行手段により実行されない１以上の不実行ファームウェアプログラムを決定する不実行プログラム決定ステップと、
前記複数種類のファームウエアプログラムのうち前記不実行プログラム決定ステップにおいて決定された不実行ファームウェアプログラムを前記記憶手段から削除するアンインストールステップと、を前記コンピュータに実行させるプログラムアンインストールプログラム。
【請求項８】
前記複数種類のハードウェア資源は、基本ハードウェア資源と拡張ハードウェア資源と、を含み、
前記複数種類のファームウェアプログラムは、それが実行されることにより制御対象となる基本ハードウェア資源に基づいて複数の基本グループのいずれかに分類されており、
前記複数の基本グループそれぞれに分類された１以上のファームウェアプログラムは、前記複数の基本グループごとに、それが実行されることにより制御対象となるハードウェア資源であって当該基本グループに対応する基本ハードウェア資源とは別の拡張ハードウェア資源に基づいて１以上の拡張グループに分類されており、
前記不実行プログラム決定ステップは、前記アプリケーション実行手段が実行するアプリケーションプログラムにより特定されるアプリケーションインターフェースコマンドにより特定される処理が前記処理実行手段により実行される場合に前記処理実行手段によって制御される１以上のハードウェア資源を特定する実行資源特定ステップと、
前記複数の基本グループのうちから前記実行資源特定ステップにおいて特定される１以上のハードウェア資源のうち基本ハードウェア資源に対応する基本グループを第１実行グループとして特定する第１実行グループ特定ステップと、
前記特定された第１実行グループに含まれる１以上の拡張グループのうち、前記実行資源特定ステップにおいて特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定する第２実行グループ特定ステップと、
前記特定された第１実行グループに含まれる１以上の拡張グループのうち前記特定された第２実行グループ以外の１以上の待機グループそれぞれに分類された１以上のファームウェアプログラムを前記不実行ファームウェアプログラムに決定する第１決定ステップと、を含む請求項７に記載のプログラムアンインストールプログラム。
【請求項９】
前記アプリケーション実行手段は、ユーザーにより指定された処理条件を含むジョブを受け付けるジョブ受付手段と、
前記受け付けられたジョブに含まれる処理条件により特定されるアプリケーションプログラムを実行するジョブ実行手段と、を含み、
前記不実行プログラム決定ステップは、前記ジョブ受付手段により受け付けられた前記ジョブに含まれる前記処理条件に基づいて、前記処理実行手段が実行するデータ処理を実行処理に決定する実行処理決定ステップと、
前記第２実行グループに特定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、前記実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する第２決定ステップと、をさらに含む請求項８に記載のプログラムアンインストールプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像形成装置、プログラムインストール方法およびプログラムインストールプログラムに関し、特に、プログラムを実行可能な画像形成装置、その画像形成装置で実行されるプログラムインストール方法およびプログラムインストールプログラムに関する。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）で代表される画像形成装置は、アプリケーションプログラムをインストール可能なものがある。ＭＦＰを制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、インストールされたアプリケーションプログラムを、作業領域として使用するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）にロードして実行する。このため、ＲＡＭの容量が少ない場合には、ＣＰＵは、アプリケーションプログラムをＲＡＭにロードすることができず、アプリケーションプログラムを実行することができない。
【０００３】
特開２０１２−０６９０７９号公報には、組込システムを有する電子機器において、１または複数のインストール済みのアプリケーションデータを前記インストール済みアプリケーションごとに記憶する第１内部記憶装置と、前記第１内部記憶装置より容量の大きい第２内部記憶装置と、一時使用アプリケーションをインストールする際に、前記１または複数のインストール済みのアプリケーションデータのいずれか１つを前記第１内部記憶装置から消去して前記第２内部記憶装置に待避させ、前記一時使用アプリケーションのアプリケーションデータを前記第１内部記憶装置に記憶させ、一時使用終了後に前記一時使用アプリケーションをアンインストールする際に、前記一時使用アプリケーションのアプリケーションデータを前記第１内部記憶装置から消去し、前記第２内部記憶装置に待避させた前記アプリケーションデータを前記第１内部記憶装置に復元するアプリケーション管理部と、を備えることを特徴とする電子機器が記載されている。
【０００４】
しかしながら、従来の電子機器は、複数のインストール済みのアプリケーションデータのうちから第１内部記憶装置から消去して、第２内部記憶装置に待避させるアプリケーションプログラムを、ユーザーが選択しなければならない。このため、ユーザーは、消去してもよいアプリケーションデータを選択するための専門的な知識が必要となる。また、消去するアプリケーションデータを誤って削除する場合には、一時使用アプリケーションのアプリケーションデータを実行することが気なくなる場合があるといった問題がある。
【特許文献１】特開２０１２−０６９０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、ファームウェアプログラムを記憶する容量を可能な限り少なくしつつ処理を実行することが可能なデータ処理装置を提供することである。
【０００６】
この発明の他の目的は、ファームウェアプログラムを記憶する容量を可能な限り少なくしつつ処理を実行することが可能なプログラムインストール方法を提供することである。
【０００７】
この発明のさらに他の目的は、ファームウェアプログラムを記憶する容量を可能な限り少なくしつつ処理を実行することが可能なプログラムインストールプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上述した目的を達成するためにこの発明のある局面によれば、データ処理装置は、複数種類のファームウェアプログラムのうち１以上のファームウェアプログラムを実行することにより、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、アプリケーションインターフェースコマンドにより特定される処理を処理実行手段に実行させるアプリケーション実行手段と、処理実行手段およびプリケーション実行手段それぞれが作業領域として使用する記憶手段と、複数種類のファームウェアプログラムのうち処理実行手段により実行されない１以上の不実行ファームウェアプログラムを決定する不実行プログラム決定手段と、複数種類のファームウエアプログラムのうち不実行プログラム決定手段により決定された不実行ファームウェアプログラムを記憶手段から削除するアンインストール手段と、を備える。
【０００９】
この局面に従えば、複数種類のファームウェアプログラムのうち実行されない１以上の不実行ファームウェアプログラムを決定し、不実行ファームウェアプログラムを、処理実行手段およびプリケーション実行手段それぞれが作業領域として使用する記憶手段から削除する。このため、記憶手段の記憶容量を多くしつつ、処理を実行することができる。その結果、ファームウェアプログラムを記憶する容量を可能な限り少なくしつつ処理を実行することが可能なデータ処理装置を提供することができる。
【００１０】
好ましくは、複数種類のハードウェア資源は、基本ハードウェア資源と拡張ハードウェア資源と、を含み、複数種類のファームウェアプログラムは、それが実行されることにより制御対象となる基本ハードウェア資源に基づいて複数の基本グループのいずれかに分類されており、複数の基本グループそれぞれに分類された１以上のファームウェアプログラムは、複数の基本グループごとに、それが実行されることにより制御対象となるハードウェア資源であって当該基本グループに対応する基本ハードウェア資源とは別の拡張ハードウェア資源に基づいて１以上の拡張グループに分類されており、不実行プログラム決定手段は、アプリケーション実行手段が実行するアプリケーションプログラムにより特定されるアプリケーションインターフェースコマンドにより特定される処理が処理実行手段により実行される場合に処理実行手段によって制御される１以上のハードウェア資源を特定する実行資源特定手段と、複数の基本グループのうちから実行資源特定手段により特定される１以上のハードウェア資源のうち基本ハードウェア資源に対応する基本グループを第１実行グループとして特定する第１実行グループ特定手段と、特定された第１実行グループに含まれる１以上の拡張グループのうち、実行資源特定手段により特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定する第２実行グループ特定手段と、特定された第１実行グループに含まれる１以上の拡張グループのうち特定された第２実行グループ以外の１以上の待機グループそれぞれに分類された１以上のファームウェアプログラムを不実行ファームウェアプログラムに決定する第１決定手段と、を含む。
【００１１】
この局面に従えば、アプリケーションプログラムにより特定される処理が処理実行手段によって実行される場合に処理実行手段によって制御される１以上のハードウェア資源を特定し、特定された１以上のハードウェア資源のうち基本ハードウェア資源に対応する基本グループを第１実行グループとして特定し、特定された第１実行グループに含まれる１以上の拡張グループのうち、特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定し、第１実行グループに含まれる１以上の拡張グループのうち第２実行グループ以外の１以上の待機グループそれぞれに分類された１以上のファームウェアプログラムを不実行ファームウェアプログラムに決定する。第１実行グループに分類されるファームウェアプログラムは、基本ハードウェア資源を制御するので、制御されない拡張ハードウェア資源を制御対象とするファームウェアプログラムが不実行ファームウェアプログラムに決定される。基本ハードウェア資源が制御されている間は、別のアプリケーションプログラムが実行される場合は、その別のアプリケーションプログラムにより特定される処理が、基本ハードウェア資源を制御する場合には、別のアプリケーションプログラムにより特定される処理を実行することができない。したがって、別のアプリケーションプログラムを実行するまで、別のアプリケーションプログラムにより特定される処理が実行される場合に制御対象となる拡張ハードウェア資源を制御対象とするファームウェアプログラムを消去することができる。
【００１２】
好ましくは、アプリケーション実行手段は、ユーザーにより指定された処理条件を含むジョブを受け付けるジョブ受付手段と、受け付けられたジョブに含まれる処理条件により特定されるアプリケーションプログラムを実行するジョブ実行手段と、を含み、不実行プログラム決定手段は、ジョブ受付手段により受け付けられたジョブに含まれる処理条件に基づいて、処理実行手段が実行するデータ処理を実行処理に決定する実行処理決定手段と、第２実行グループに特定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する第２決定手段と、をさらに含む。
【００１３】
この局面に従えば、受け付けられたジョブに含まれる処理条件に基づいて、実行処理を決定し、第２実行グループに特定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する。実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムは、受け付けられたジョブを実行する場合に実行されることがない。このため、ジョブを実行する間に実行されることのないファームウェアプログラムを消去することができる。
【００１４】
この発明の他の局面によれば、プログラムアンインストール方法は、複数種類のファームウェアプログラムのうち１以上のファームウェアプログラムを実行することにより、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、アプリケーションインターフェースコマンドにより特定される処理を処理実行手段に実行させるアプリケーション実行手段と、処理実行手段およびプリケーション実行手段それぞれが作業領域として使用する記憶手段と、を備えたデータ処理装置で実行されるプログラムアンインストール方法であって、複数種類のファームウェアプログラムのうち処理実行手段により実行されない１以上の不実行ファームウェアプログラムを決定する不実行プログラム決定ステップと、複数種類のファームウエアプログラムのうち不実行プログラム決定ステップにおいて決定された不実行ファームウェアプログラムを記憶手段から削除するアンインストールステップと、を含む。
【００１５】
この局面に従えば、ファームウェアプログラムを記憶する容量を可能な限り少なくしつつ処理を実行することが可能なプログラムアンインストール方法を提供することができる。
【００１６】
好ましくは、複数種類のハードウェア資源は、基本ハードウェア資源と拡張ハードウェア資源と、を含み、複数種類のファームウェアプログラムは、それが実行されることにより制御対象となる基本ハードウェア資源に基づいて複数の基本グループのいずれかに分類されており、複数の基本グループそれぞれに分類された１以上のファームウェアプログラムは、複数の基本グループごとに、それが実行されることにより制御対象となるハードウェア資源であって当該基本グループに対応する基本ハードウェア資源とは別の拡張ハードウェア資源に基づいて１以上の拡張グループに分類されており、不実行プログラム決定ステップは、アプリケーション実行手段が実行するアプリケーションプログラムにより特定されるアプリケーションインターフェースコマンドにより特定される処理が処理実行手段により実行される場合に処理実行手段によって制御される１以上のハードウェア資源を特定する実行資源特定ステップと、複数の基本グループのうちから実行資源特定ステップにおいて特定される１以上のハードウェア資源のうち基本ハードウェア資源に対応する基本グループを第１実行グループとして特定する第１実行グループ特定ステップと、特定された第１実行グループに含まれる１以上の拡張グループのうち、実行資源特定ステップにおいて特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定する第２実行グループ特定ステップと、特定された第１実行グループに含まれる１以上の拡張グループのうち特定された第２実行グループ以外の１以上の待機グループそれぞれに分類された１以上のファームウェアプログラムを不実行ファームウェアプログラムに決定する第１決定ステップと、を含む。
【００１７】
好ましくは、アプリケーション実行手段は、ユーザーにより指定された処理条件を含むジョブを受け付けるジョブ受付手段と、受け付けられたジョブに含まれる処理条件により特定されるアプリケーションプログラムを実行するジョブ実行手段と、を含み、不実行プログラム決定ステップは、ジョブ受付手段により受け付けられたジョブに含まれる処理条件に基づいて、処理実行手段が実行するデータ処理を実行処理に決定する実行処理決定ステップと、第２実行グループに特定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する第２決定ステップと、をさらに含む。
【００１８】
この発明のさらに他の局面によれば、プログラムアンインストールプログラムは、複数種類のファームウェアプログラムのうち１以上のファームウェアプログラムを実行することにより、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能な処理実行手段と、処理実行手段との間で予め定められたアプリケーションインターフェースコマンドで記述されたアプリケーションプログラムを実行することにより、アプリケーションインターフェースコマンドにより特定される処理を処理実行手段に実行させるアプリケーション実行手段と、処理実行手段およびプリケーション実行手段それぞれが作業領域として使用する記憶手段と、を備えたデータ処理装置を制御するコンピュータで実行されるプログラムアンインストールプログラムであって、複数種類のファームウェアプログラムのうち処理実行手段により実行されない１以上の不実行ファームウェアプログラムを決定する不実行プログラム決定ステップと、複数種類のファームウエアプログラムのうち不実行プログラム決定ステップにおいて決定された不実行ファームウェアプログラムを記憶手段から削除するアンインストールステップと、をコンピュータに実行させる。
【００１９】
この局面に従えば、ファームウェアプログラムを記憶する容量を可能な限り少なくしつつ処理を実行することが可能なプログラムアンインストールプログラムを提供することができる。
【００２０】
好ましくは、複数種類のハードウェア資源は、基本ハードウェア資源と拡張ハードウェア資源と、を含み、複数種類のファームウェアプログラムは、それが実行されることにより制御対象となる基本ハードウェア資源に基づいて複数の基本グループのいずれかに分類されており、複数の基本グループそれぞれに分類された１以上のファームウェアプログラムは、複数の基本グループごとに、それが実行されることにより制御対象となるハードウェア資源であって当該基本グループに対応する基本ハードウェア資源とは別の拡張ハードウェア資源に基づいて１以上の拡張グループに分類されており、不実行プログラム決定ステップは、アプリケーション実行手段が実行するアプリケーションプログラムにより特定されるアプリケーションインターフェースコマンドにより特定される処理が処理実行手段により実行される場合に処理実行手段によって制御される１以上のハードウェア資源を特定する実行資源特定ステップと、複数の基本グループのうちから実行資源特定ステップにおいて特定される１以上のハードウェア資源のうち基本ハードウェア資源に対応する基本グループを第１実行グループとして特定する第１実行グループ特定ステップと、特定された第１実行グループに含まれる１以上の拡張グループのうち、実行資源特定ステップにおいて特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定する第２実行グループ特定ステップと、特定された第１実行グループに含まれる１以上の拡張グループのうち特定された第２実行グループ以外の１以上の待機グループそれぞれに分類された１以上のファームウェアプログラムを不実行ファームウェアプログラムに決定する第１決定ステップと、を含む。
【００２１】
好ましくは、アプリケーション実行手段は、ユーザーにより指定された処理条件を含むジョブを受け付けるジョブ受付手段と、受け付けられたジョブに含まれる処理条件により特定されるアプリケーションプログラムを実行するジョブ実行手段と、を含み、不実行プログラム決定ステップは、ジョブ受付手段により受け付けられたジョブに含まれる処理条件に基づいて、処理実行手段が実行するデータ処理を実行処理に決定する実行処理決定ステップと、第２実行グループに特定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、実行処理に決定されたデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する第２決定ステップと、をさらに含む。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。
【図２】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図３】ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。
【図４】ＭＦＰが備えるＣＰＵが有する機能の一例をＲＡＭに記憶されるプログラムとともに示すブロック図である。
【図５】ファームウェアプログラムの分類の一例を示す図である。
【図６】データ処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２４】
図１は、本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。図１を参照して、ＭＦＰ１００は、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００２５】
自動原稿搬送装置１２０は、原稿給紙トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。
【００２６】
画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成する。
【００２７】
図２は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図２を参照して、ＭＦＰ１００は、メイン回路１１０を含む。メイン回路１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ）１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００２８】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。ＨＤＤ１１５は、アプリケーションプログラムおよびデータを記憶する。ＣＰＵ１１１は、ＲＯＭ１１３に記憶されたプログラムをＲＡＭ１１４にロードして実行する。また、ＣＰＵ１１１は、ＨＤＤ１１５に記憶されたアプリケーションプログラムをＲＡＭ１１４にロードして実行する。
【００２９】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶するか、または、画像形成部１４０でプリント可能なプリントデータに変換して、画像形成部１４０に出力する。これにより、画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部１１６は、原稿読取部１３０によって読み取られたデータ、またはＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００３０】
通信Ｉ／Ｆ部１１２は、ネットワーク５にＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１１２は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
【００３１】
外部記憶装置１１７は、ＣＰＵ１１１により制御され、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１８、または半導体メモリーが装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８または半導体メモリーにアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装表されたＣＤ−ＲＯＭ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、通信Ｉ／Ｆ部１１２に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３２】
なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリーであってもよい。
【００３３】
操作パネル１６０は、表示部１６１と操作部１６３とを含む。表示部１６１は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、複数のキーからなるハードキー部１６７と、を含む。ハードキー部１６７が含む複数のキーそれぞれは、接点スイッチを含み、ＣＰＵ１１１に接続される。ハードキーは、操作ユーザーにより押下されると接点を閉じて、ＣＰＵ１１１に接続される回路を閉じる。ハードキーは、ＭＦＰ１００を操作する操作ユーザーにより押下されている間は回路を閉じ、操作ユーザーにより押下されていない間は回路を開く。
【００３４】
操作部１６３は、ハードキー部１６７が有する複数のキーが押下されると、押下されたキーに対応する指示、文字、数字などのデータの入力を受け付ける。タッチパネル１６５は、表示部１６１の上面または下面に設けられ、操作ユーザーにより指示された位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、マルチタッチ対応のタッチパネルであり、ユーザーがマルチタッチ操作を入力する場合、ユーザーにより同時に指示された複数の位置にそれぞれ対応する複数の座標をＣＰＵ１１１に出力する。また、タッチパネル１６５は、ユーザーがシングルタッチ操作を入力する場合に、ユーザーにより指示された単一の位置に対応する座標をＣＰＵ１１１に出力する。
【００３５】
タッチパネル１６５は、表示部１６１の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル１６５は、表示部１６１に重畳して設けられるので、タッチパネル１６５は、操作ユーザーが表示部１６１の表示面を指示すれば、表示部１６１の表示面中で操作ユーザーが指示した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。操作部１６３が受け付け可能な操作は、ハードキー部１６７が有する複数のキーを押下する操作、タッチパネル１６５を指示するシングルタッチ操作およびマルチタッチ操作を含む。
【００３６】
図３は、ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。図３を参照して、ＣＰＵ１１１には、オペレーティングシステム（ＯＳ）層が形成され、その上の階層に、ＭＦＰプロセス層が形成される。ＭＦＰプロセス層の上層に、アプリケーションプラットフォーム（ＰＦ）層、アプリケーション層の順に形成される。
【００３７】
ＯＳ層は、ＣＰＵ１１１がＯＳプログラムを実行するタスクが属する。ＯＳ層に属するタスクは、ＭＦＰ１００のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、通信Ｉ／Ｆ部１１２、ＨＤＤ１１５、ファクシミリ部１１６、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、操作パネル１６０を含む。ＯＳ層に属するタスクは、ＭＦＰプロセス層から入力されるオペレーティングコマンドに従って、ハードウェア資源を制御する。また、ＯＳ層は、ＭＦＰプロセス層との間で、ハードウェア資源の１つである操作部１６３が受け付け可能な複数種類の操作それぞれを識別するための操作識別情報を共有しており、ＯＳ層に属するタスクは、操作部１６３によって操作ユーザーによる操作が検出されることに応じて、検出された操作を示す操作識別情報をＭＦＰプロセス層に出力する。
【００３８】
アプリケーション層は、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがＭＦＰ１００にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。
【００３９】
アプリケーションプログラムを実行するタスクは、アプリケーションプログラムによって定められた複数種類の処理を実行する。複数種類の処理は、ＭＦＰプロセス層において実行される処理をＭＦＰプロセス層に属するタスクに実行させる処理を含む。アプリケーションプログラムを実行するタスクは、ＭＦＰプロセス層に属するタスクに処理を実行させる場合、ＡＰＩコマンドを出力する。
【００４０】
さらに、アプリケーションプログラムを実行するタスクは、ＭＦＰ１００を操作する操作ユーザーが入力する操作に基づいて、アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。ＭＦＰ１００を操作する操作ユーザーが入力する操作は、操作ユーザーが操作部１６３を操作して入力することにより、ＯＳ層において受け付けられる。
【００４１】
アプリケーションＰＦ層は、アプリケーション層とＭＦＰプロセス層との間に配置され、ＣＰＵ１１１がＭＦＰ制御プログラムを実行するタスクが属する。ＭＦＰ制御プログラムは、ＭＦＰ１００のメーカーにより生成されたプログラムであり、ファームウェアともいう。ＣＰＵ１１１は、ＲＯＭ１１３またはＨＤＤ１１５に記憶されたＭＦＰ制御プログラムを、ＲＡＭ１１４にロードして実行する。
【００４２】
アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクを調停するとともに、アプリケーション層に属する複数のタスクが出力するＡＰＩコマンドを制御するタスクが属する。具体的には、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクそれぞれが出力するＡＰＩコマンドを受け付け、受け付けられたＡＰＩコマンドを、予め定められた規則に従って内部コマンドに変換することにより標準化し、内部コマンドをＭＦＰプロセス層に出力する。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。また、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクのいずれか１つをカレント状態に決定する。そして、ＯＳ層において受け付けられ、ＭＦＰプロセス層に属するタスクから入力される操作を、アプリケーション層に属する複数のタスクのうちカレント状態に決定したカレントタスクに出力する。
【００４３】
ＡＰＩコマンドと内部コマンドとは予め対応付けられている。例えば、ＡＰＩコマンドと内部コマンドとを対応付けたコマンド対応テーブルを記憶しておくようにすればよい。ＡＰＩコマンドと内部コマンドとは、１対１に対応してもよいし、１つのＡＰＩコマンドに２以上の内部コマンドの組が対応していてもよい。さらに、バージョンの異なる複数のＡＰＩコマンドに対して、１つの内部コマンド、または複数の内部コマンドからなる１組が対応していてもよい。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。内部コマンドは、ＭＦＰ１００のハードウェア資源に依存するコマンドである。内部コマンドは、通常は、公開されていないが、公開されていてもよい。
【００４４】
ＭＦＰプロセス層は、アプリケーションＰＦ層とＯＳ層との間に配置され、ＣＰＵ１１１が、アプリケーションＰＦ層と同様にＭＦＰ制御プログラムを実行するタスクが属する。ＭＦＰプロセス層は、アプリケーションＰＦ層に属するタスクが出力する内部コマンドを、ＯＳ層に属するタスクが解釈可能なオペレーティングコマンドに変換し、ハードウェア資源を制御するためにオペレーティングコマンドをＯＳ層に属するタスクに出力する。なお、実際には、内部コマンドを、ＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドに変換する場合があるが、ここでは説明のために、内部コマンドとＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドとの関係は１対１として、説明する。
【００４５】
また、ＭＦＰプロセス層は、アプリケーションＰＦ層に属するタスクが出力する内部コマンドによって定まるデータ処理を実行する。内部コマンドにより定まるデータ処理は、例えば、データを記憶する処理、データを読み出しする処理、画像データを加工する画像処理を含む。
【００４６】
上述したように、アプリケーションプログラムは、ＭＦＰ１００に、Ｗｅｂページ、画像データ等のコンテンツを表示するコンテンツ表示処理、コピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送信処理、データを記憶する処理、データを読み出しする処理、画像データを加工する画像処理等を実行させるためのアプリケーションプログラムである。
【００４７】
図４は、ＭＦＰが備えるＣＰＵが有する機能の一例をＲＡＭに記憶されるプログラムとともに示すブロック図である。図４に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたプログラムを実行することにより、ＣＰＵ１１１により実現される機能である。具体的には、ＣＰＵ１１１が、ＯＳプログラム、ＭＦＰ制御プログラム、およびアプリケーションプログラムを実行することにより、ＣＰＵ１１１により実現される。
【００４８】
図４を参照して、ＣＰＵ１１１は、アプリケーションプログラムを実行するアプリケーション実行部５１と、ＭＦＰ制御プログラムを実行する処理実行部５３と、不実行プログラム決定部５５と、アンインストール部５７と、を含む。アプリケーション実行部５１と、不実行プログラム決定部５５と、アンインストール部５７とは、図３に示したソフトウェアアーキテクチャにおいてアプリケーション層に属する。処理実行部５３は、図３に示したソフトウェアアーキテクチャにおいて、アプリケーションＰＦ層、ＭＦＰプロセス層およびＯＳ層に属する。
【００４９】
アプリケーション実行部５１は、ＣＰＵ１１１がＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたアプリケーションプログラムをＲＡＭ１１４にロードして実行することによってＣＰＵ１１１に形成される機能である。アプリケーション実行部５１は、ジョブ受付部８１と、ジョブ実行部８３と、を含む。ジョブ受付部８１は、ユーザーがＭＦＰ１００に入力するジョブを受け付け、受け付けられたジョブを、ジョブ実行部８３に出力する。ジョブは、ユーザーにより指定された処理条件を含む。処理条件は、例えば、処理の内容を特定する処理特定情報と、特定される処理を実行するために用いる設定値を含む。処理の内容を特定する処理特定情報は、例えば、コンテンツ表示処理、コピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送信処理、データを記憶する処理、データを読み出しする処理、画像データを加工する画像処理のいずれかを特定する設定値である。特定される処理を実行するために用いる設定値は、例えば、コピー処理が特定される場合は、プリント条件を含む。プリント条件は、２つの画像を重畳するオーバーレイの有無、表カバーの有無、綴じ代の領域を確保の有無、スタンプの画像を重畳するスタンプの有無、を含む。ジョブ受付部８１は、ユーザーが操作部１６３を操作してジョブを入力する場合、操作部１６３に入力されるジョブを受け付ける。また、ジョブ受付部８１は、ユーザーがパーソナルコンピュータ（以下「ＰＣ」という）を操作してジョブを入力する場合、通信Ｉ／Ｆ部１１２がＰＣから受信するジョブを受け付ける。
【００５０】
ジョブ実行部８３は、ジョブ受付部８１からジョブが入力されることに応じて、ジョブを実行する。具体的には、ジョブに含まれる処理条件に従ってアプリケーションプログラムを特定し、特定したアプリケーションプログラムを処理条件に従って実行する。具体的には、ジョブ実行部８３は、アプリケーションプログラムに記述されたアプリケーションインターフェースコマンド（以下「ＡＰＩコマンド」という）を、処理実行部５３に出力する。ジョブ実行部８３は、処理条件に含まれるユーザーにより指定された設定値に基づいて、ＡＰＩコマンドを処理実行部５３に出力する。設定値は、アプリケーションプログラムに記述されたＡＰＩコマンドに引数として渡される。アプリケーション実行部５１は、ＡＰＩコマンドと、ユーザーにより指定された設定値との組を不実行プログラム決定部５５に出力する。
【００５１】
ジョブ実行部８３は、ジョブ受付部８１からジョブが入力されることに応じて、ジョブを実行する前の段階で、ジョブにより特定されるアプリケーションプログラムと、ジョブに含まれる処理条件との組を不実行プログラム決定部５５に出力する。
【００５２】
処理実行部５３は、ＲＯＭ１１３またはＨＤＤ１１５に記憶されたＭＦＰ制御プログラムをＲＡＭ１１４にロードして実行する。ＭＦＰ制御プログラムは、複数種類のファームウェアプログラムを含む。
【００５３】
処理実行部５３は、アプリケーション実行部５１が出力するＡＰＩコマンドを受け付け、ＡＰＩコマンドを予め定められた規則に従って内部コマンドに変換する。処理実行部５３は、ＲＯＭ１１３またはＨＤＤ１１５に記憶された複数種類のファームウェアプログラムのうち内部コマンドに対応するファームウェアプログラムを実行することによって、複数種類のハードウェア資源を制御する処理と、予め定められたデータ処理と、を実行可能である。処理実行部５３は、複数種類のハードウェア資源を制御する処理を実行する場合、内部コマンドをオペレーティングコマンドに変換し、オペレーティングコマンドをＯＳ層に属するタスクに出力する。
【００５４】
ハードウェア資源は、ここでは、通信Ｉ／Ｆ部１１２、ＨＤＤ１１５、ファクシミリ部１１６、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、操作パネル１６０を含む。データ処理は、限定するものではないが、画像形成部１４０が画像を形成するためのデータを生成するプリントデータ生成処理、画像各種の設定値にデフォルトの値を設定する設定値管理処理、各種のデータを管理するデータ管理処理、画像データを処理する画像処理を含む。設定値管理処理は、複数のハードウェア資源を制御するために用いられる設定値にデフォルトの値を設定するための処理であり、例えば、使用される言語の設定、ＭＦＰ１００に割り当てられたネットワークアドレスの設定、パスワードの設定を含む。データ管理処理は、例えば、ＭＦＰ１００の使用が許可されたユーザのユーザーＩＤおよびパスワードを設定する認証情報設定処理、電子メールアドレスまたはファクシミリ番号等を登録または編集するアドレス管理処理を含む。画像処理は、明度の変化を平滑化するスムージング処理、エッジ部分を強調する先鋭化処理、色変換する色変換処理等を含む。
【００５５】
複数種類のハードウェア資源は、基本ハードウェア資源を含む。基本ハードウェア資源は、複数種類のハードウェア資源のうちから予め定められたハードウェア資源である。基本ハードウェア資源に対して拡張ハードウェア資源が定まる。拡張ハードウェア資源は、複数種類のハードウェア資源のうち基本ハードウェア資源以外のハードウェア資源である。基本ハードウェア資源は、拡張ハードウェア資源を兼ねるものがある。
【００５６】
複数種類のファームウェアプログラムは、それがＣＰＵ１１１により実行されることにより制御対象となる基本ハードウェア資源に基づいて複数の基本グループのいずれかに分類される。ここでは、基本ハードウェア資源を、画像形成部１４０と、原稿読取部１３０と、ファクシミリ部１１６とする場合を例に説明する。この場合、複数のファームウェアプログラムは、基本ハードウェア資源である画像形成部１４０を制御するための複数のファームウェアプログラムと、基本ハードウェア資源である原稿読取部１３０を制御するための複数のファームウェアプログラムと、基本ハードウェア資源であるファクシミリ部１１６を制御するための複数のファームウェアプログラムと、に分類される。基本ハードウェア資源である画像形成部１４０を制御するための複数のファームウェアプログラムが分類される基本グループを第１の基本グループといい、基本ハードウェア資源である原稿読取部１３０を制御するための複数のファームウェアプログラムが分類される基本グループを第２の基本グループといい、基本ハードウェア資源であるファクシミリ部１１６を制御するための複数のファームウェアプログラムが分類される基本グループを第３の基本グループという。
【００５７】
複数の基本グループそれぞれに分類された１以上のファームウェアプログラムは、複数の基本グループごとに、それが実行されることにより制御対象となるハードウェア資源であって当該基本グループに対応する基本ハードウェア資源とは別の拡張ハードウェア資源に基づいて１以上の拡張グループに分類される。
【００５８】
図５は、ファームウェアプログラムの分類の一例を示す図である。図５を参照して、第１の基本グループに分類されるファームウェアプログラムは、画像形成部１４０を基本ハードウェア資源とするファームウェアプログラムであり、ブログラム識別情報「ＰＣプリント」、「コピープリント」、および「ＢｏｘＴｏプリント」のファームウェアプログラムである。
【００５９】
ブログラム識別情報「ＰＣプリント」のファームウェアプログラムは、ネットワークに接続されたＰＣから受信されるプリントデータの画像を形成する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源である画像形成部１４０に加えて、拡張ハードウェア資源として通信Ｉ／Ｆ部１１２を制御対象とする。ブログラム識別情報「ＰＣプリント」のファームウェアプログラムは、第１の基本グループに含まれる第１拡張グループに分類される。
【００６０】
プログラム識別情報「コピープリント」のファームウェアプログラムは、原稿を読み取って得られる画像データの画像を形成する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源である画像形成部１４０に加えて、拡張ハードウェア資源として原稿読取装置１３０を制御対象とする。プログラム識別情報「コピープリント」のファームウェアプログラムは、第１の基本グループに含まれる第２拡張グループに分類される。
【００６１】
プログラム識別情報「ＢｏｘＴｏプリント」のファームウェアプログラムは、ＨＤＤ１１５に記憶されたデータの画像を形成する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源である画像形成部１４０に加えて、拡張ハードウェア資源としてＨＤＤ１１５を制御対象とする。プログラム識別情報「ＢｏｘＴｏプリント」のファームウェアプログラムは、第１の基本グループに含まれる第３拡張グループに分類される。
【００６２】
第２の基本グループに分類されるファームウェアプログラムは、原稿読取装置１３０を基本ハードウェア資源とするファームウェアプログラムであり、ブログラム識別情報「スキャンＴｏＦＴＰ」、および「スキャンＴｏＢｏｘ」のファームウェアプログラムである。プログラム識別情報「スキャンＴｏＦＴＰ」のファームウェアプログラムは、原稿読取装置１３０で原稿を読み取って得られる画像データをＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のプロトコルでデータ送信する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源である原稿読取装置１３０に加えて、拡張ハードウェア資源として通信Ｉ／Ｆ部１１２を制御対象とする。プログラム識別情報「スキャンＴｏＦＴＰ」のファームウェアプログラムは、第２の基本グループに含まれる第１拡張グループに分類される。
【００６３】
プログラム識別情報「スキャンＴｏＢｏｘ」のファームウェアプログラムは、原稿読取装置１３０で原稿を読み取って得られる画像データをＨＤＤ１１５に記憶する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源である原稿読取装置１３０に加えて、拡張ハードウェア資源としてＨＤＤ１１５を制御対象とする。プログラム識別情報「スキャンＴｏＢｏｘ」のファームウェアプログラムは、第２の基本グループに含まれる第２拡張グループに分類される。
【００６４】
第３の基本グループに分類されるファームウェアプログラムは、ファクシミリ部１１６を基本ハードウェア資源とするファームウェアプログラムであり、ブログラム識別情報「Ｇ３ＦＡＸ」、「ＢｏｘＴｏＦＡＸ」、および「外部データＴｏＦＡＸ」のファームウェアプログラムである。プログラム識別情報「Ｇ３ＦＡＸ」のファームウェアプログラムは、原稿読取装置１３０で原稿を読み取って得られる画像データをファクシミリ送信する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源であるファクシミリ部１１６に加えて、拡張ハードウェア資源として原稿読取装置１３０を制御対象とする。プログラム識別情報「Ｇ３ＦＡＸ」のファームウェアプログラムは、第３の基本グループに含まれる第１拡張グループに分類される。
【００６５】
プログラム識別情報「ＢｏｘＴｏＦＡＸ」のファームウェアプログラムは、ＨＤＤ１１５に記憶されたデータをファクシミリ送信する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源であるファクシミリ部１１６に加えて、拡張ハードウェア資源としてＨＤＤ１１５を制御対象とする。プログラム識別情報「ＢｏｘＴｏＦＡＸ」のファームウェアプログラムは、第３の基本グループに含まれる第２拡張グループに分類される。
【００６６】
プログラム識別情報「外部データＴｏＦＡＸ」のファームウェアプログラムは、ネットワークに接続されたコンピューターに記録されたデータをファクシミリ送信する処理をＣＰＵ１１１に実行させるファームウェアプログラムであり、基本ハードウェア資源であるファクシミリ部１１６に加えて、拡張ハードウェア資源として通信Ｉ／Ｆ部１１２を制御対象とする。プログラム識別情報「外部データＴｏＦＡＸ」のファームウェアプログラムは、第３の基本グループに含まれる第３拡張グループに分類される。
【００６７】
図４に戻って、不実行プログラム決定部５５は、実行資源特定部６１と、第１実行グループ特定部６３と、第２実行グループ特定部６５と、第１決定部６７と、データ処理決定部７１と、第２決定部７３と、を含む。
【００６８】
実行資源特定部６１は、アプリケーション実行部５１からアプリケーションプログラムが入力され、アプリケーションプログラムに記述されたＡＰＩコマンドが、処理実行部５３によって実行される場合に処理実行部５３によって制御される１以上のハードウェア資源を特定する。実行資源特定部６１は、アプリケーション実行部５１が実行するアプリケーションプログラムを解析し、アプリケーションプログラムに記述されているＡＰＩコマンドを特定する。実行資源特定部６１は、ＨＤＤ１１５に記憶に記憶されたコマンドテーブルを参照して、ＡＰＩコマンドに対応するファームウェアを特定し、そのファームウェアが処理実行部５３によって実行される場合に制御されるハードウェア資源を特定する。コマンドテーブルは、ＡＰＩコマンドと、そのＡＰＩコマンドが処理実行部５３に入力される場合に処理実行部５３により実行されるファームウェアプログラムとを関連付ける。実行資源特定部６１は、特定されたハードウェア資源を識別するための資源識別情報を第１実行グループ特定部６３および第２実行グループ特定部６５に出力する。アプリケーションプログラムが複数のＡＰＩコマンドで記述されている場合、実行資源特定部６１は、複数のＡＰＩコマンドにそれぞれ対応する複数のハードウェア資源を特定する。
【００６９】
第１実行グループ特定部６３は、実行資源特定部６１から資源識別情報が入力され、複数の基本グループのうちから実行資源特定部６１から入力される資源識別情報で特定されるハードウェア資源のうちから基本ハードウェア資源を特定し、特定した基本ハードウエア資源に対応する基本グループを第１実行グループとして特定する。第１実行グループ特定部６３は、第１実行グループに特定された基本グループを識別するための基本グループ識別情報を、第２実行グループ特定部６５および第１決定部６７に出力する。
【００７０】
第２実行グループ特定部６５は、実行資源特定部６１から資源識別情報が入力され、第１実行グループ特定部６３から基本グループ識別情報が入力される。第２実行グループ特定部６５は、基本グループ識別情報で特定される第１実行グループに含まれる１以上の拡張グループのうち、実行資源特定部６１から入力される資源識別情報により特定される１以上のハードウェア資源であって基本ハードウェア資源とは別の拡張ハードウェア資源に対応する拡張グループを第２実行グループとして特定する。第２実行グループ特定部６５は、第２実行グループに特定した拡張グループを識別するための拡張グループ識別情報を第１決定部６７に出力する。
【００７１】
第１決定部６７は、第１実行グループ特定部６３から基本グループ識別情報が入力され、第２実行グループ特定部６３から拡張グループ識別情報が入力される。第１実行グループ特定部６３から入力される基本グループ識別情報は、第１実行グループに決定された基本グループを示す。第２実行グループ特定部６３から入力される拡張グループ識別情報は、第１実行グループに決定された基本グループに含まれる１以上の拡張グループのうち第２実行グループに決定された拡張グループを示す。
【００７２】
第１決定部６７は、第１実行グループに決定された基本グループに含まれる１以上の拡張グループのうち、第２実行グループに決定された拡張グループ以外の１以上の拡張グループを待機グループに決定する。第１決定部６７は、決定した１以上の待機グループにそれぞれ分類された１以上のファームウェアプログラムを不実行ファームウェアに決定する。第１決定部６７は、不実行ファームウエアに決定された１以上のファームウェアプログラムそれぞれを識別するためのプログラム識別情報をアンインストール部５７に出力する。また、第１決定部６７は、第２実行グループ特定部６３から入力される拡張グループ識別情報を第２決定部７３に出力する。
【００７３】
データ処理決定部７１は、アプリケーション実行部５１からアプリケーションプログラムと処理条件とが入力される。データ処理決定部７１は、アプリケーション実行部５１が実行するアプリケーションプログラムを解析し、アプリケーションプログラムに記述されているＡＰＩコマンドを特定する。データ処理決定部７１は、特定されたＡＰＩコマンドと処理条件に含まれるユーザにより指定された設定値とに基づいて、処理実行部５３によって１以上のデータ処理が実行されるか否かを判断する。データ処理決定部７１は、処理実行部５３によって実行されると判断されたデータ処理を実行処理に決定し、実行処理に決定されたデータ処理を識別するためのデータ処理識別情報を第２決定部７３に出力する。
【００７４】
例えば、２つの画像を重畳するオーバーレイのデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、オーバーレイのデータ処理を実行処理に決定するが、設定値「無」が設定されている場合には、オーバーレイのデータ処理を実行処理に決定しない。表カバーを追加するデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、表カバーを追加するデータ処理を実行処理に決定するが、設定値「無」が設定されている場合には、表カバーを追加するデータ処理を実行処理に決定しない。綴じ代の領域を確保するデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、綴じ代の領域を確保するデータ処理を実行処理に決定するが、設定値「無」が設定されている場合には、綴じ代の領域を確保するデータ処理を実行処理に決定しない。スタンプの画像を重畳するデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、スタンプの画像を重畳するデータ処理を実行処理に決定するが、設定値「無」が設定されている場合には、スタンプの画像を重畳するデータ処理を実行処理に決定しない。
【００７５】
第２決定部７３は、第１決定部６７から拡張グループ識別情報が入力され、データ処理決定部７１からデータ処理識別情報が入力される。第１決定部６７から入力される拡張グループ識別情報は、第２実行グループに決定された拡張グループを示す。データ処理決定部７１から入力されるデータ処理識別情報は、実行処理に決定されたデータ処理を示す。第２決定部７３は、第２実行グループに決定された拡張グループに分類された１以上のファームウェアプログラムプログラムのうちから、データ処理決定部７１から入力されるデータ処理識別情報で特定されるデータ処理以外のデータ処理に対応するファームウェアプログラムを不実行ファームウェアプログラムに決定する。
【００７６】
第２決定部７３は、不実行ファームウエアに決定された１以上のファームウェアプログラムそれぞれを識別するためのプログラム識別情報をアンインストール部５７に出力する。
【００７７】
アンインストール部５７は、第１決定部６７および／または第２決定部７３からプログラム識別情報が入力されることに応じて、ＲＡＭ１１４に記憶されているファームウェアプログラムのうち、第１決定部６７および／または第２決定部７３から入力されるプログラム識別情報で特定されるファームウェアプログラムのすべてを消去する。
【００７８】
図６は、データ処理の流れの一例を示すフローチャートである。データ処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたデータ処理プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図６を参照して、ＣＰＵ１１１は、ジョブを受け付けたか否かを判断する（ステップＳ０１）。ユーザーが操作部１６３を操作してジョブを入力する場合、操作部１６３に入力されるジョブを受け付ける。また、ユーザーがＰＣを操作してジョブを入力する場合、通信Ｉ／Ｆ部１１２がＰＣから受信するジョブを受け付ける。ジョブを受け付けたならば処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ１３に進める。
【００７９】
ジョブは、ユーザーにより指定された処理条件を含む。処理条件は、例えば、ユーザーが原稿を読み取って用紙に原稿の画像を形成するコピー処理のジョブを入力する場合、処理条件は、コピー処理を特定する処理特定情報と、原稿を読み取るための読取条件と、画像を形成するための画像形成条件と、を含む。読取条件は、原稿サイズ、解像度等を含む。画像形成条件は、用紙サイズ、オーバーレイの有無、表カバーの有無、綴じ代の領域を確保の有無、スタンプの画像を重畳するスタンプの有無、を含む。
【００８０】
ステップＳ０２においては、ステップＳ０１において受け付けられたジョブから処理条件を抽出する。次のステップＳ０３においては、処理条件に設定されている処理特定情報からアプリケーションプログラムを決定する。ステップＳ０４においては、ステップＳ０１において受け付けられたジョブをＲＡＭ１１４に一時記憶し、処理をステップＳ０５に進める。
【００８１】
ステップＳ０５においては、アプリケーションプログラムにより制御される基本ハードウェア資源を特定する。具体的には、アプリケーションプログラムに記述されたＡＰＩコマンドが実行される場合に制御されるハードウェア資源のうちから基本ハードウェア資源を特定する。基本ハードウェア資源は、複数種類のハードウェア資源のいずれかであって予め定められたハードウェア資源である。ここでは、基本ハードウェア資源は、画像形成部１４０と、原稿読取部１３０と、ファクシミリ部１１６とする場合を例に説明する。
【００８２】
次のステップＳ０６においては、第１実行グループを決定する。第１実行グループは、ステップＳ０５において特定された基本ハードウェア資源に対応する基本グループである。基本グループは、複数種類のファームウェアプログラムを分類する基準であり、３つの基本ハードウェア資源のいずれかに対応する。
【００８３】
ステップＳ０７においては、アプリケーションプログラムにより制御される拡張ハードウェア資源を特定する。拡張ハードウェア資源は、複数種類のハードウェア資源のいずれかであって基本ハードウェア資源以外のハードウェア資源である。このため、アプリケーションプログラムに記述されたＡＰＩコマンドが実行される場合に制御されるハードウェア資源のうちから拡張ハードウェア資源を特定する。具体的には、ステップＳ０６において第１実行グループに決定された基本グループに含まれる１以上の拡張グループを特定し、１以上の拡張グループにそれぞれ対応する１以上の拡張ハードウェア資源のうちアプリケーションプログラムに記述されたＡＰＩコマンドが実行される場合に制御されるハードウェア資源を拡張ハードウェア資源に特定する。
【００８４】
次のステップＳ０８においては、第２実行グループを決定する。第２実行グループは、ステップＳ０６において第１実行グループに決定された基本グループに含まれる１以上の拡張グループであって、ステップＳ０７において特定された１以上の拡張ハードウェア資源に対応する拡張グループである。拡張グループは、基本グループに分類された複数種類のファームウェアプログラムを分類する基準である。
【００８５】
ステップＳ０９においては、待機グループが存在するか否かを判断する。待機グループは、ステップＳ０６において第１実行グループに決定された基本グループに含まれる１以上の拡張グループであって、ステップＳ０８において第２実行グループに決定された拡張グループ以外の拡張グループである。待機グループが存在するならば、処理をステップＳ１０に進めるが、そうでなければ処理をステップＳ１２に進める。
【００８６】
ステップＳ１０においては不実行ファームウェアを決定する。ステップＳ０９において決定された待機グループに分類されたファームウェアプログラムを不実行ファームウェアに決定する。そして次のステップＳ１１においては、不実行ファームウェアに決定されたファームウェアプログラムをアンインストールし、処理をステップＳ１３に進める。具体的には、不実行ファームウェアに決定されたファームウェアプログラムをＲＡＭ１１４から消去する。一方、ステップＳ１２においては、すべてのファームウェアプログラムをインストールし、処理をステップＳ１３に進める。具体的には、すべてのファームウェアプログラムをＲＡＭ１１４にロードする。
【００８７】
ステップＳ１３においては、実行するべきジョブが存在するか否かを判断する。具体的には、ＲＡＭ１１４にジョブが記憶されているか否かを判断する。ジョブが存在するならば、処理をステップＳ１４に進めるが、そうでなければ処理をステップＳ０１に戻す。
【００８８】
ステップＳ１４においては、実行処理を決定する。実行処理は、ステップＳ０３において決定されたアプリケーションプログラムにより実行されるデータ処理である。具体的には、アプリケーションプログラムを解析し、アプリケーションプログラムに記述されているＡＰＩコマンドと、ステップＳ０２において抽出された処理条件に含まれる設定値とに基づいて、アプリケーションプログラムにより実行されるデータ処理を実行処理に決定する。例えば、２つの画像を重畳するオーバーレイのデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、オーバーレイのデータ処理を実行処理に決定する。表カバーを追加するデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、表カバーを追加するデータ処理を実行処理に決定する。綴じ代の領域を確保するデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、綴じ代の領域を確保するデータ処理を実行処理に決定する。スタンプの画像を重畳するデータ処理に対応するＡＰＩコマンドに対して設定値「有」が設定されている場合には、スタンプの画像を重畳するデータ処理を実行処理に決定する。
【００８９】
ステップＳ１５においては、不実行データ処理が存在するか否かを判断する。ステップＳ０８において第２実行グループに決定された拡張グループに分類されている１以上のファームウェアプログラムプログラムのうちに、ステップＳ１４において実行処理に決定されたデータ処理以外のデータ処理を実行させるファームウェアプログラムが存在する場合、そのファームウェアブログラムにより実行されるデータ処理を不実行データ処理に決定する。不実行データ処理が決定される場合には、処理をステップＳ１６に進めるが、そうでなければ処理をステップＳ０１に戻す。
【００９０】
ステップＳ１６においては、ステップＳ１５において不実行データ処理に決定されたデータ処理に対応するファームウェアプログラムを不実行ファームウェアに決定する。そして次のステップＳ１７においては、ステップＳ１６において不実行ファームウェアに決定されたファームウェアプログラムをアンインストールし、処理をステップＳ１８に進める。具体的には、不実行ファームウェアに決定されたファームウェアプログラムをＲＡＭ１１４から消去する。
【００９１】
ステップＳ１８においては、ステップＳ０４においてＲＡＭ１１４に記憶された。ジョブを実行し、処理をステップＳ１９に進める。ステップＳ１９においては、ステップＳ１８において実行されたジョブをＲＡＭ１１４から削除し、処理をステップＳ０１に戻す。
【００９２】
例えば、ＭＦＰ１００が、ＰＣからプリントジョブを受信する場合、ＣＰＵ１１１は、プリントジョブを実行するために、プリントデータの画像を形成するアプリケーションプログラムを実行する。この場合に、アプリケーションプログラムが実行されて制御対象となるハードウェア資源は、通信Ｉ／Ｆ部１１２および画像形成部１３０である。画像形成部１３０が基本ハードウェア資源であり、通信Ｉ／Ｆ部１１２が拡張ハードウェア資源である。したがって、第１の基本グループが第１実行グループに決定され、第１拡張グループが第２実行グループに決定される。そして、第１の基本グループに含まれる第１〜第３拡張グループのうち第２実行グループである第１拡張グループ以外の第２拡張グループおよび第３拡張グループそれぞれに含まれるファームウェアプログラムが不実行プログラムに決定される。  具体的には、プログラム識別情報「コピープリント」のファームウェアプログラムおよびブログラム識別情報「ＢｏｘＴｏプリント」のファームウェアプログラムが不実行プログラムに決定される。
【００９３】
不実行プログラムが制御対象とする基本ハードウェア資源は、ＣＰＵ１１１がジョブを実行することにより制御対象となっている。このため、不実行プログラムを起動する新たなジョブが受け付けられる場合であっても、その新たなジョブを直ちに実行することはできない。このため、不実行プログラムをＲＡＭ１１４から消去しても、新たな待ち状態が発生することがない。
【００９４】
さらに、第２の基本グループに分類されるファームウェアプログラムと、第３の基本グループに分類されるファームウェアプログラムとは、不実行ファームウェアプログラムには決定されない。このため、原稿読取装置１３０およびファクシミリ部１１６を制御対象とするアプリケーションプログラムを実行することが可能なので、そのようなアプリケーションプログラムを用いるジョブを、現在実行中のアプリケーションプログラムと並行して実行することができる。
【００９５】
さらに、ＣＰＵ１１１は、ジョブを実行する前の段階において、第１実行グループに含まれる第２実行グループに分類されたプログラム識別情報「ＰＣプリント」のファームウェアプログラムで実行可能なデータ処理のうちから不実行データ処理を特定し、不実行データ処理に対応するファームウェアを、さらに、不実行ファームウェアプログラムに決定し、それをＲＡＭ１１４から消去する。例えば、処理条件に含まれるプリント条件において、オーバーレイのデータ処理に対応するＡＰＩコマンドに対して設定値「無」が設定されている場合には、オーバーレイのデータ処理に対応するファームウェアをＲＡＭ１１４から消去する。表カバーを追加するデータ処理に対応するＡＰＩコマンドに対して設定値「無」が設定されている場合には、表カバーを追加するデータ処理に対応するファームウェアをＲＡＭ１１４から消去する。綴じ代の領域を確保するデータ処理に対応するＡＰＩコマンドに対して設定値「無」が設定されている場合には、綴じ代の領域を確保するデータ処理に対応するファームウェアをＲＡＭ１１４から消去する。スタンプの画像を重畳するデータ処理に対応するＡＰＩコマンドに対して設定値「無」が設定されている場合には、スタンプの画像を重畳するデータ処理に対応するファームウェアをＲＡＭ１１４から消去する。
【００９６】
ジョブを実行する前の段階において、不実行データ処理を特定するので、複数のジョブが投入される場合であっても、ジョブごとに不実行データ処理を特定することができる。また、ジョブを実行する前の段階で、そのジョブの実行で実行されないファームウェアプログラムをＲＡＭ１１４から消去することができるとともに、そのジョブの実行に必要なファームウェアプログラムをＲＡＭ１１４に記憶することができる。
【００９７】
また、ＲＡＭ１１４から不実行ファームウェアプログラムを消去することにより、ＲＡＭ１１４の空き容量が増加するので、ＲＡＭ１１４を有効に利用することができる。例えば、ＲＡＭ１１４の不実行プログラムに代えて、別のプログラムをロードすることができるので、ＣＰＵ１１１は、新たなプログラムを実行することができる。
【００９８】
なお、上述した実施の形態においては、データ処理装置の一例としてＭＦＰ１００について説明したが、図６に示したデータ処理を、ＭＦＰ１００に実行させるデータ処理方法、また、そのデータ処理方法をＭＦＰ１００が備えるＣＰＵ１１１に実行させるためのデータ処理プログラムとして、発明を捉えることができるのは言うまでもない。
【００９９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１００】
１００  ＭＦＰ、５  ネットワーク、５１  アプリケーション実行部、５３  処理実行部、５５  不実行プログラム決定部、５７  アンインストール部、６１  実行資源特定部、６３  第１実行グループ特定部、６５  第２実行グループ特定部、６７  第１決定部、７１  データ処理決定部、７３  第２決定部、８１  ジョブ受付部、８３  ジョブ実行部、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部。
【図１】
2015035098.tif 000003
【図２】
2015035098.tif 000004
【図３】
2015035098.tif 000005
【図４】
2015035098.tif 000006
【図５】
2015035098.tif 000007
【図６】
2015035098.tif 000008