(57)【要約】【課題】  画像形成装置の機種ごとに異なるプラットフォームを構築する際の開発コストを低くする。【解決手段】  配信サーバー５は、プラットフォーム拡張モジュールを配信する。複合機１、複合機２およびプリンター３は、それぞれ、プラットフォームコアモジュール１１，１２，１３を実行して自機の機種に対応する１または複数の拡張モジュールを特定し配信サーバー５などから取得し、プラットフォームコアモジュール１１，１２，１３および取得した拡張モジュールとを実行してプラットフォームを形成し、プラットフォーム上でアプリケーションプログラムを実行する。【選択図】  図１
2011248536.tif 000002
【特許請求の範囲】
【請求項１】
プラットフォーム拡張モジュールを配信する配信サーバーと、
プラットフォームコアモジュールを実行して自機の機種に対応する１または複数のプラットフォーム拡張モジュールを特定し前記配信サーバーからダウンロードし、前記プラットフォームコアモジュールおよびダウンロードした前記プラットフォーム拡張モジュールとを実行してプラットフォームを形成し、前記プラットフォーム上でアプリケーションプログラムを実行する画像形成装置と、
を備えることを特徴とする画像形成システム。
【請求項２】
プラットフォームコアモジュールを不揮発性の記憶媒体に記憶している記憶手段と、
前記プラットフォームコアモジュールを実行して自機の機種に対応する１または複数のプラットフォーム拡張モジュールを特定し外部装置から取得し、前記プラットフォームコアモジュールおよび取得した前記プラットフォーム拡張モジュールとを実行してプラットフォームを形成し、前記プラットフォーム上でアプリケーションプログラムを実行する演算処理装置と、
を備えることを特徴とする画像形成装置。
【請求項３】
前記演算処理装置は、取得した前記プラットフォーム拡張モジュールを前記記憶手段に記憶し、自機の機種に対応するプラットフォーム拡張モジュールが前記記憶手段に記憶されている場合には、前記自機の機種に対応するプラットフォーム拡張モジュールを前記外部装置から取得せずに、前記記憶手段から読み出して実行することを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記演算処理装置は、アップデートされた前記自機の機種に対応するプラットフォーム拡張モジュールを前記外部装置から取得して、取得した前記プラットフォーム拡張モジュールで、前記記憶手段に記憶されている前記プラットフォーム拡張モジュールを更新することを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記演算処理装置は、前記プラットフォームコアモジュールを実行して、自機の機種に対応するプラットフォーム拡張モジュールのうち、取得が許可されているプラットフォーム拡張モジュールのみを前記外部装置から取得し、前記プラットフォームコアモジュールおよび取得した前記プラットフォーム拡張モジュールとを実行してプラットフォームを形成することを特徴とする請求項２記載の画像形成装置。
【請求項６】
プリント、スキャン、およびファクシミリ通信のいずれかを実行する内部装置を備え、
前記プラットフォーム拡張モジュールは、前記アプリケーションプログラムから呼び出し可能なアプリケーションプログラムインターフェースと、前記内部装置を制御するためのプログラムとを有することを特徴とする請求項２記載の画像形成装置。
【請求項７】
ネットワークに接続可能な通信装置を備え、
前記外部装置は、前記ネットワークに接続された配信サーバーであり、
前記演算処理装置は、前記プラットフォームコアモジュールを実行して自機の機種に対応するプラットフォーム拡張モジュールを前記配信サーバーからダウンロードし、前記プラットフォームコアモジュールおよびダウンロードした前記プラットフォーム拡張モジュールとを実行してプラットフォームを形成し、前記プラットフォーム上でアプリケーションプログラムを実行すること、
を特徴とする請求項２記載の画像形成装置。
【請求項８】
前記記憶手段は、当該画像形成装置の機種を識別するための機種固有情報を記憶しており、
前記演算処理装置は、前記プラットフォームコアモジュールを実行して前記機種固有情報を読み出し、前記機種固有情報に対応するプラットフォーム拡張モジュールを外部装置から取得し、前記プラットフォームコアモジュールおよび取得した前記プラットフォーム拡張モジュールとを実行してプラットフォームを形成し、前記プラットフォーム上でアプリケーションプログラムを実行すること、
を特徴とする請求項２記載の画像形成装置。
【請求項９】
プラットフォームコアモジュールを画像形成装置で実行するステップと、
前記プラットフォームコアモジュールに従って前記画像形成装置の機種に対応する１または複数のプラットフォーム拡張モジュールを特定するステップと、
前記特定した前記プラットフォーム拡張モジュールを外部装置から前記画像形成装置へ取得するステップと、
前記画像形成装置で、前記プラットフォームコアモジュールおよび取得した前記プラットフォーム拡張モジュールとを実行して、アプリケーションプログラムを実行可能なプラットフォームを形成するステップと、
を備えることを特徴とするプラットフォーム形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成システム、画像形成装置、およびプラットフォーム形成方法に関するものである。
【背景技術】
【０００２】
近年、プリンターや複合機などの画像形成装置において、オペレーティングシステム（以下、ＯＳという）、仮想マシンなどを利用したプラットフォームを形成し、そのプラットフォーム上で、プリント、コピーなどのアプリケーションプログラムを実行するものが提案されている（例えば特許文献１参照）。
【０００３】
また、ホスト装置において、Ｊａｖａ（登録商標）中間コードを印刷データに付加し、画像形成装置において、印刷データに付加されている中間コードを、Ｊａｖａ（登録商標）仮想マシン上で実行するシステムも提案されている（例えば特許文献２参照）。
【０００４】
また、複数のプロセスでそれぞれＪａｖａ（登録商標）仮想マシンを動作させ、基本アプリケーションと拡張アプリケーションとを異なるプロセスのＪａｖａ（登録商標）仮想マシンで実行させる画像形成装置が提案されている（例えば特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−０８２８０６号公報
【特許文献２】特開２００８−２６０３０４号公報
【特許文献３】特開２００９−１３４６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像形成装置の機能や仕様は機種ごとに異なる。例えば、複合機は、プリント機能、スキャン機能、コピー機能、ファクシミリ通信機能などを有するが、プリンターは、プリント機能のみを有する。また、ハイエンドの複合機は、Ａ３などの比較的大きなサイズの用紙についてコピー、スキャンおよび印刷を行えるが、ローエンドの複合機は、そのような比較的大きなサイズの用紙についてコピー、スキャンおよび印刷を行えない。
【０００７】
このため、画像形成装置の開発時には、機種ごとに異なるプラットフォームが設計、開発される。そして、機種ごとに異なるプラットフォームが予め構成され、画像形成装置には、そのプラットフォーム上で動作するアプリケーションがインストールされる。
【０００８】
このように、機種ごとに異なるプラットフォームを開発する必要があるため、開発コストが高くなっている。
【０００９】
なお、ハイエンド複合機用のプラットフォームを、ローエンド複合機やプリンターに実装して使用することも考えられる。しかし、ハイエンド複合機のほうが多くの機能を有するため、プラットフォームのプログラムサイズも大きくなる。このため、ハイエンド複合機用のプラットフォームを、ローエンド複合機やプリンターに実装すると、装置内の不揮発性メモリーの記憶領域を大きくする必要があり、装置のコストアップにつながってしまい、好ましくない。
【００１０】
本発明は、上記の問題に鑑みてなされたものであり、機種ごとに異なるプラットフォームを構築する際の開発コストを低くすることができる画像形成システムおよびプラットフォーム形成方法、並びにそのシステムや方法で使用可能な画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明では以下のようにした。
【００１２】
本発明に係る画像形成システムは、プラットフォーム拡張モジュールを配信する配信サーバーと、プラットフォームコアモジュールを実行して自機の機種に対応する１または複数のプラットフォーム拡張モジュールを特定し配信サーバーからダウンロードし、プラットフォームコアモジュールおよびダウンロードしたプラットフォーム拡張モジュールとを実行してプラットフォームを形成し、プラットフォーム上でアプリケーションプログラムを実行する画像形成装置とを備える。
【００１３】
これにより、プラットフォームコアモジュールに、機種に応じたプラットフォーム拡張モジュールが適応的に付加されて各画像形成装置においてプラットフォームが形成される。このため、複数の機種で共通する機能については１つのプラットフォーム拡張モジュールを開発すればよく、機種ごとに異なるプラットフォームを構築する際の開発コストを低くすることができる。
【００１４】
本発明に係る画像形成装置は、プラットフォームコアモジュールを不揮発性の記憶媒体に記憶している記憶手段と、プラットフォームコアモジュールを実行して自機の機種に対応する１または複数のプラットフォーム拡張モジュールを特定し外部装置から取得し、プラットフォームコアモジュールおよび取得したプラットフォーム拡張モジュールとを実行してプラットフォームを形成し、プラットフォーム上でアプリケーションプログラムを実行する演算処理装置とを備える。
【００１５】
これにより、プラットフォームコアモジュールに、機種に応じたプラットフォーム拡張モジュールが適応的に付加されて各画像形成装置においてプラットフォームが形成される。このため、複数の機種で共通する機能については１つのプラットフォーム拡張モジュールを開発すればよく、機種ごとに異なるプラットフォームを構築する際の開発コストを低くすることができる。
【００１６】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、演算処理装置は、取得したプラットフォーム拡張モジュールを記憶手段に記憶し、自機の機種に対応するプラットフォーム拡張モジュールが記憶手段に記憶されている場合には、自機の機種に対応するプラットフォーム拡張モジュールを外部装置から取得せずに、記憶手段から読み出して実行する。
【００１７】
これにより、画像形成装置の次回起動時に外部装置が使用できなくなっていても、プラットフォームを形成することができる。
【００１８】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、演算処理装置は、アップデートされた自機の機種に対応するプラットフォーム拡張モジュールを外部装置から取得して、取得したプラットフォーム拡張モジュールで、記憶手段に記憶されているプラットフォーム拡張モジュールを更新する。
【００１９】
これにより、複数の機種で共通する機能については１つのプラットフォーム拡張モジュールのアップデータを開発すればよく、プラットフォームのアップデートのコストも同様に低減される。
【００２０】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、演算処理装置は、プラットフォームコアモジュールを実行して、自機の機種に対応するプラットフォーム拡張モジュールのうち、取得が許可されているプラットフォーム拡張モジュールのみを外部装置から取得し、プラットフォームコアモジュールおよび取得したプラットフォーム拡張モジュールとを実行してプラットフォームを形成する。
【００２１】
これにより、特定の機能を実現するプラットフォーム拡張モジュールの取得を許可しないことで、特定の機能の使用制限を行うことができる。
【００２２】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、画像形成装置は、プリント、スキャン、およびファクシミリ通信のいずれかを実行する内部装置を備える。そして、プラットフォーム拡張モジュールは、アプリケーションプログラムから呼び出し可能なアプリケーションプログラムインターフェースと、内部装置を制御するためのプログラムとを有する。
【００２３】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、画像形成装置は、ネットワークに接続可能な通信装置を備える。そして、外部装置は、ネットワークに接続された配信サーバーであり、演算処理装置は、プラットフォームコアモジュールを実行して自機の機種に対応するプラットフォーム拡張モジュールを配信サーバーからダウンロードし、プラットフォームコアモジュールおよびダウンロードしたプラットフォーム拡張モジュールとを実行してプラットフォームを形成し、プラットフォーム上でアプリケーションプログラムを実行する。
【００２４】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、記憶手段は、当該画像形成装置の機種を識別するための機種固有情報を記憶している。そして、演算処理装置は、プラットフォームコアモジュールを実行して機種固有情報を読み出し、機種固有情報に対応するプラットフォーム拡張モジュールを外部装置から取得し、プラットフォームコアモジュールおよび取得したプラットフォーム拡張モジュールとを実行してプラットフォームを形成し、プラットフォーム上でアプリケーションプログラムを実行する。
【００２５】
本発明に係るプラットフォーム形成方法は、プラットフォームコアモジュールを画像形成装置で実行するステップと、プラットフォームコアモジュールに従って画像形成装置の機種に対応する１または複数のプラットフォーム拡張モジュールを特定するステップと、特定したプラットフォーム拡張モジュールを外部装置から画像形成装置へ取得するステップと、画像形成装置で、プラットフォームコアモジュールおよび取得したプラットフォーム拡張モジュールとを実行して、アプリケーションプログラムを実行可能なプラットフォームを形成するステップとを備える。
【００２６】
これにより、プラットフォームコアモジュールに、機種に応じたプラットフォーム拡張モジュールが適応的に付加されて各画像形成装置においてプラットフォームが形成される。このため、複数の機種で共通する機能については１つのプラットフォーム拡張モジュールを開発すればよく、機種ごとに異なるプラットフォームを構築する際の開発コストを低くすることができる。
【発明の効果】
【００２７】
本発明によれば、画像形成装置の機種ごとに異なるプラットフォームを構築する際の開発コストを低くすることができる
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の実施の形態に係る画像形成システムの構成を示すブロック図である。
【図２】図２は、図１における複合機１のプラットフォーム形成前の構成を示すブロック図である。
【図３】図３は、図１における複合機２のプラットフォーム形成前の構成を示すブロック図である。
【図４】図４は、図１におけるプリンター３のプラットフォーム形成前の構成を示すブロック図である。
【図５】図５は、図１における配信サーバー５の構成を示すブロック図である。
【図６】図６は、図５におけるプラットフォーム拡張モジュール３１１の構成を示すブロック図である。
【図７】図７は、図１に示すシステムにおける複合機１のプラットフォーム形成について説明するシーケンス図である。
【図８】図８は、図１における複合機１のプラットフォーム形成後の構成を示すブロック図である。
【図９】図９は、図１における複合機２のプラットフォーム形成後の構成を示すブロック図である。
【図１０】図１０は、図１におけるプリンター３のプラットフォーム形成後の構成を示すブロック図である。
【発明を実施するための形態】
【００２９】
以下、図に基づいて本発明の実施の形態を説明する。
【００３０】
図１は、本発明の実施の形態に係る画像形成システムの構成を示すブロック図である。
【００３１】
図１に示すシステムでは、複数の画像形成装置である複合機１、複合機２、およびプリンター３がネットワーク４に接続されており、さらに、そのネットワーク４に配信サーバー５が接続されている。ネットワーク４は、ローカルエリアネットワークでもよいし、インターネットなどの広域ネットワークでもよい。
【００３２】
複合機１は、画像形成装置の一例であって、ハイエンドの複合機である。複合機２は、画像形成装置の一例であって、ローエンドの複合機である。プリンター３は、画像形成装置の一例である。
【００３３】
複合機１、複合機２、およびプリンター３は、初期状態では、プラットフォームを形成するためのプログラムモジュールのうち、プラットフォームコアモジュール１１，１２，１３をそれぞれ有する。
【００３４】
プラットフォームコアモジュール１１，１２，１３は、各装置１，２，３の機種固有情報に基づき各装置１，２，３に必要なプラットフォーム拡張モジュール（以下、単に拡張モジュールという）を特定し、特定した拡張モジュールを、配信サーバー５のプラットフォーム拡張モジュールデータベース２１からダウンロードしたり、メモリデバイス６から読み込んだりするための基本プログラムモジュールである。メモリデバイス６は、可搬性のある、複合機１，２に着脱可能なメモリデバイスである。メモリデバイス６としては、ＵＳＢメモリ、ＣＦメモリなどが使用される。
【００３５】
図２は、図１における複合機１のプラットフォーム形成前の構成を示すブロック図である。
【００３６】
複合機１は、プリント、コピー、スキャン、ファクシミリ通信などの機能を有するハイエンド複合機である。複合機１は、内部装置として、印刷装置４１と、画像読取装置４２と、ファクシミリ装置４３と、操作パネル４４と、通信装置４５と、記憶装置４６と、演算処理装置４７と、周辺機器インターフェース４８とを備える。
【００３７】
印刷装置４１は、印刷データに基づいて書類画像を印刷する内部装置である。印刷データは、図示せぬホスト装置から受信されるＰＤＬ（Page Description Language）データなどから生成されたり、画像読取装置４２により読み取られた画像データやファクシミリ装置４３により受信されたファクシミリ信号から得られる画像データから生成されたりする。
【００３８】
また、画像読取装置４２は、文書から文書画像を光学的に読み取り、文書画像の画像データを生成する内部装置である。
【００３９】
また、ファクシミリ装置４３は、送信すべき文書の画像データから得られるファクシミリ信号を送信したり、ファクシミリ信号を受信したりする内部装置である。
【００４０】
また、操作パネル４４は、複合機１の筐体表面に配置され、ユーザーに対して各種情報を表示する表示装置と、ユーザー操作を検出する入力装置とを有する。表示装置としては例えば液晶ディスプレイが使用される。入力装置としては、キースイッチ、タッチパネルなどが使用される。操作パネル４４は、印刷用紙のサイズ、タイプ、印刷部数、両面／片面印刷設定などといった印刷設定の入力などのための操作画面の表示に使用される。
【００４１】
また、通信装置４５は、ネットワーク４に接続可能であって、ネットワーク４に接続されている装置（配信サーバー５など）と通信可能な装置である。通信装置４５としては、例えば、ネットワークインターフェースが使用される。
【００４２】
また、記憶装置４６は、各種プログラムおよび各種データを格納可能な装置である。記憶装置４６としては、ハードディスクドライブ、不揮発性メモリーなどの不揮発性の記憶媒体が使用される。
【００４３】
記憶装置４６には、初期状態での複合機１の動作に必要なプログラムおよびデータが予め格納される。
【００４４】
初期状態では、記憶装置４６には、ＯＳ、仮想マシンなどのプログラムモジュールとプラットフォームコアモジュール１１が記憶されており、印刷装置４１を制御するためのプログラムモジュール、画像読取装置４２を制御するためのプログラムモジュール、ファクシミリ装置４３を制御するためのプログラムモジュールなどは記憶されていない。
【００４５】
また、記憶装置４６には、複合機１の機種およびその機種に必要な拡張モジュールを示す機種固有情報５１が記憶されている。
【００４６】
また、記憶装置４６には、プラットフォーム６１上で実行可能なアプリケーションプログラム５２が記憶されている。プラットフォーム６１がＪａｖａ（登録商標）仮想マシンを有する場合、アプリケーションプログラム５２は、Ｊａｖａ（登録商標）アプリケーションのプログラムである。プラットホーム６１は、アプリケーションプログラム５２を実行可能な実行基盤である。
【００４７】
また、演算処理装置４７は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを有するコンピュータであり、記憶装置４６などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。ここでは、演算処理装置４７は、プログラムをシングルプロセスで実行する。
【００４８】
複合機１の起動後に、記憶装置４６に格納されている図示せぬＯＳのプログラム、プラットフォームコアモジュール１１などが演算処理装置４７により適宜実行される。これにより、プラットフォーム６１の一部である、ＯＳ、仮想マシン、プラットフォームコアモジュール１１によるコア部７１が実現される。なお、ＯＳは、通信装置４５および周辺機器インターフェース４８を制御して、外部装置とデータ通信を行う通信処理部を有する。
【００４９】
複合機１に必要な拡張モジュールがなくプラットフォーム全体が形成される前の状態では、複合機１がこのように構成されている。
【００５０】
図３は、図１における複合機２のプラットフォーム形成前の構成を示すブロック図である。
【００５１】
複合機２は、プリント、コピー、スキャン、ファクシミリ通信などの機能を有するローエンド複合機である。複合機２は、内部装置として、印刷装置１４１と、画像読取装置１４２と、ファクシミリ装置１４３と、操作パネル１４４と、通信装置１４５と、記憶装置１４６と、演算処理装置１４７と、周辺機器インターフェース１４８とを備える。
【００５２】
これらの内部装置は、複合機１の内部装置とほぼ同様であるが、複合機２はローエンド機であるため、仕様が異なる。例えば、複合機１の印刷装置４１は、最大でＡ３サイズの印刷用紙に印刷を行えるが、複合機２の印刷装置１４１は、最大でＡ４サイズまでしか印刷を行うことができない。同様に、例えば、複合機１の印刷装置４１は、最大でＡ３サイズの印刷用紙に印刷を行えるが、複合機２の印刷装置１４１は、最大でＡ４サイズまでしか印刷を行うことができない。同様に、例えば、画像読取装置４２は、最大でＡ３サイズの原稿の画像読取を行えるが、複合機２の画像読取装置１４２は、最大でＡ４サイズの原稿までしか画像読取を行うことができない。
【００５３】
初期状態では、記憶装置１４６には、ＯＳ、仮想マシンなどのプログラムモジュールとプラットフォームコアモジュール１２が記憶されており、印刷装置１４１を制御するためのプログラムモジュール、画像読取装置１４２を制御するためのプログラムモジュール、ファクシミリ装置１４３を制御するためのプログラムモジュールなどは記憶されていない。
【００５４】
また、記憶装置１４６には、複合機２の機種およびその機種に必要な拡張モジュールを示す機種固有情報１５１が記憶されている。
【００５５】
また、記憶装置１４６には、プラットフォーム１６１上で実行可能なアプリケーションプログラム１５２が記憶されている。プラットフォーム１６１がＪａｖａ（登録商標）仮想マシンを有する場合、アプリケーションプログラム１５２は、Ｊａｖａ（登録商標）アプリケーションのプログラムである。プラットホーム１６１は、アプリケーションプログラム１５２を実行可能な実行基盤である。アプリケーションプログラム１５２は、複合機１のアプリケーションプログラム５２と同一のものでもよい。
【００５６】
また、演算処理装置１４７は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを有するコンピュータであり、記憶装置１４６などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。ここでは、演算処理装置１４７は、プログラムをシングルプロセスで実行する。
【００５７】
複合機２の起動後に、記憶装置１４６に格納されている図示せぬＯＳのプログラム、プラットフォームコアモジュール１２などが演算処理装置１４７により適宜実行される。これにより、プラットフォーム１６１の一部である、ＯＳ、仮想マシン、プラットフォームコアモジュール１２によるコア部１７１が実現される。なお、ＯＳは、通信装置１４５および周辺機器インターフェース１４８を制御して、外部装置とデータ通信を行う通信処理部を有する。
【００５８】
複合機２に必要な拡張モジュールがなくプラットフォーム全体が形成される前の状態では、複合機２がこのように構成されている。
【００５９】
図４は、図１におけるプリンター３のプラットフォーム形成前の構成を示すブロック図である。
【００６０】
プリンター３は、プリント機能を有する。プリンター３は、内部装置として、印刷装置２４１と、操作パネル２４４と、通信装置２４５と、記憶装置２４６と、演算処理装置２４７とを備える。
【００６１】
これらの内部装置は、複合機１，２の内部装置とほぼ同様であるが、プリンター３は、単機能の画像形成装置であるため、画像読取装置、ファクシミリ装置などの、他の機能のための内部装置を有していない。
【００６２】
初期状態では、記憶装置２４６には、ＯＳ、仮想マシンなどのプログラムモジュールとプラットフォームコアモジュール１３が記憶されており、印刷装置２４１を制御するためのプログラムモジュールなどは記憶されていない。
【００６３】
また、記憶装置２４６には、プリンター３の機種およびその機種に必要な拡張モジュールを示す機種固有情報２５１が記憶されている。
【００６４】
また、記憶装置２４６には、プラットフォーム２６１上で実行可能なプリント用のアプリケーションプログラム２５２が記憶されている。プラットフォーム２６１がＪａｖａ（登録商標）仮想マシンを有する場合、アプリケーションプログラム２５２は、Ｊａｖａ（登録商標）アプリケーションのプログラムである。プラットホーム２６１は、アプリケーションプログラム２５２を実行可能な実行基盤である。アプリケーションプログラム２５２は、複合機２のアプリケーションプログラム１５２のうちのプリント用のアプリケーションプログラムと同一のものでもよい。
【００６５】
また、演算処理装置２４７は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを有するコンピュータであり、記憶装置２４６などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。ここでは、演算処理装置２４７は、プログラムをシングルプロセスで実行する。
【００６６】
プリンター３の起動後に、記憶装置２４６に格納されている図示せぬＯＳのプログラム、プラットフォームコアモジュール１３などが演算処理装置２４７により適宜実行される。これにより、プラットフォーム２６１の一部である、ＯＳ、仮想マシン、プラットフォームコアモジュール１３によるコア部２７１が実現される。なお、ＯＳは、通信装置２４５を制御して、外部装置とデータ通信を行う通信処理部を有する。
【００６７】
プリンター３に必要な拡張モジュールがなくプラットフォーム全体が形成される前の状態では、プリンター３がこのように構成されている。
【００６８】
図５は、図１における配信サーバー５の構成を示すブロック図である。
【００６９】
図５に示すように、配信サーバー５は、記憶装置３０１、演算処理装置３０２および通信装置３０３を有する装置である。
【００７０】
記憶装置３０１は、各種プログラムおよび各種データを格納可能な装置である。記憶装置３０１としては、ハードディスクドライブ、不揮発性メモリーなどの不揮発性の記憶媒体が使用される。記憶装置３０１には、配信サーバー５の動作に必要なプログラムおよびデータが予め格納される。また、記憶装置３０１には、複数の拡張モジュール３１１が予め格納されている。
【００７１】
複数の拡張モジュール３１１は、画像形成装置の複数の機種にそれぞれ対応するプログラムモジュールである。なお、複数の機種で同一の拡張モジュール３１１を使用するようにしてもよい。
【００７２】
図６は、図５における拡張モジュール３１１の構成を示すブロック図である。拡張モジュール３１１は、アプリケーションプログラム５２，１５２，２５２から呼び出し可能なアプリケーションプログラムインターフェースを有するプログラム３１１ａと、そのプログラム３１１ａの実行時に使用されるデータ３１１ｂとを有する。プログラム３１１ａは、プリント、スキャン、ファクシミリ通信などを実行する内部装置を制御するためのプログラム、プリントジョブなどのジョブ管理を実行するプログラムなどである。
【００７３】
また、演算処理装置３０２は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを有するコンピュータであり、記憶装置３０１などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。
【００７４】
配信サーバー５の起動後に、記憶装置３０１に格納されている図示せぬプログラムが演算処理装置３０２により適宜実行される。この実施の形態では、演算処理装置３０２により、図示せぬＯＳ、モジュール配信制御部３２１などの処理部が実現される。なお、ＯＳは、通信装置３０３を制御して、外部装置とデータ通信を行う通信処理部を有する。
【００７５】
モジュール配信制御部３２１は、通信装置３０３でネットワーク４を介して拡張モジュール要求を受信すると、要求された拡張モジュール３１１を読み出し、要求元の画像形成装置（ここでは、複合機１、複合機２およびプリンター３のいずれか）へ通信装置３０３で送信する処理部である。
【００７６】
例えば、モジュール配信制御部３２１は、ウェブサーバーを有し、ＨＴＴＰ（Hypertext Transfer Protocol）コマンドとしての拡張モジュール要求を受信し、ＨＴＴＰコマンドで指定された拡張モジュール３１１を送信するようにしてもよい。
【００７７】
あるいは、例えば、モジュール配信制御部３２１は、ウェブサーバー、データベースエンジンおよびＣＧＩ（Common Gateway Interface）を有し、ＨＴＴＰコマンドとしての拡張モジュール要求を受信すると、ＣＧＩを実行するようにしてもよい。その場合、そのＣＧＩが実行されると、ＣＧＩが、データベースエンジンを使用して、ＨＴＴＰコマンドで指定された拡張モジュール３１１を読み出して、ウェブサーバーがその拡張モジュール３１１を送信する。
【００７８】
このモジュール配信制御部３２１と拡張モジュール３１１でプラットフォーム拡張モジュールデータベース２１が構成される。
【００７９】
また、通信装置３０３は、ネットワーク４に接続され、ネットワーク４に接続されている装置（複合機１，２、プリンター３など）と通信可能な装置である。通信装置３０３としては、例えば、ネットワークインターフェースが使用される。
【００８０】
次に、上記システムにおける各装置のプラットフォーム形成について説明する。
【００８１】
まず、複合機１のプラットフォーム形成について説明する。図７は、図１に示すシステムにおける複合機１のプラットフォーム形成について説明するシーケンス図である。
【００８２】
複合機１が起動すると、図２に示すように、プラットフォームコアモジュール１１が演算処理装置４７により実行され、コア部７１が起動する。コア部７１は、拡張モジュールの更新条件を満たすか否かを判定し、プラットフォームモジュールの更新条件を満たす場合には、以下の処理を実行する（ステップＳ１）。更新条件は、今回の起動がユーザーによる最初の起動であること、記憶装置４６に拡張モジュールが記憶されていないこと、定期的な更新タイミングであることなどとされる。
【００８３】
まず、コア部７１は、複合機１の機種固有情報５１を読み出し（ステップＳ２）、その機種固有情報５１に基づき複合機１に必要な拡張モジュール３１１（つまり、拡張モジュール３１１の名称、ファイル名、ＵＲＩ（Uniform Resource Identifier）などの識別情報）を特定する（ステップＳ３）。
【００８４】
このとき、拡張モジュールが記憶装置４６に記憶されている場合、コア部７１は、配信サーバー５にアクセスして、配信サーバー５に記憶されている拡張モジュールの日付やバージョンを取得し、配信サーバー５に記憶されている拡張モジュールの日付やバージョンと記憶装置４６に記憶されている拡張モジュールとを比較して、記憶装置４６に記憶されている拡張モジュールより新しいバージョンの拡張モジュールが配信サーバー５に存在する場合には、その最新バージョンの拡張モジュールを、複合機１に必要な拡張モジュール３１１とみなす。
【００８５】
そして、コア部７１は、ＯＳの通信処理部および通信装置４５を使用して、配信サーバー５へ、特定した１または複数の拡張モジュール３１１の拡張モジュール要求を送信する（ステップＳ４）。拡張モジュール要求は、例えば、ＨＴＴＰコマンドである。例えば、複合機１に必要な拡張モジュール３１１として、印刷装置４１を制御するプリントモジュール、画像読取装置４２を制御するスキャンモジュール、ファクシミリ装置４３を制御するＦＡＸモジュールなどが特定される。
【００８６】
配信サーバー５では、通信装置３０３を介してモジュール配信制御部３２１がその拡張モジュール要求を受信すると、拡張モジュール要求で指定された拡張モジュールを読み出し、要求元である複合機１へ送信する（ステップＳ５）。
【００８７】
複合機１では、コア部７１は、その拡張モジュール３１１を受信し、記憶装置４６に記憶させる（ステップＳ６）。コア部７１は、このように、拡張モジュール３１１を配信サーバー５からダウンロードしてもよいし、メモリデバイス６から周辺機器インターフェース４８で読み出すようにしてもよい。
【００８８】
図８は、図１における複合機１のプラットフォーム形成後の構成を示すブロック図である。図８に示すように、複合機１に必要な拡張モジュール３１１として、プリントモジュール４０１、スキャンモジュール４０２、ＦＡＸモジュール４０３などが記憶装置４６に記憶される。
【００８９】
これにより、複合機１に必要な拡張モジュール３１１がインストールされた状態となり、プラットフォーム６１全体が形成可能となる。
【００９０】
その後、アプリケーションプログラム５２がプラットフォーム６１上で実行されると、必要に応じて、それらのモジュール４０１，４０２，４０３のプログラムが実行される（ステップＳ７）。
【００９１】
例えば、プリントアプリケーション４２１やコピーアプリケーション４２４からプリントモジュール４０１が呼びされると、プリントモジュール４０１が実行され、演算処理装置４７は、プリント部４１１として動作し、印刷装置４１を制御する。また、スキャンアプリケーション４２２やコピーアプリケーション４２４からスキャンモジュール４０２が呼び出されると、スキャンモジュール４０２が実行され、演算処理装置４７は、スキャン部４１２として動作し、画像読取装置４２を制御する。また、ＦＡＸアプリケーション４２３からＦＡＸモジュール４０３が呼び出されると、ＦＡＸモジュール４０３が実行され、演算処理装置４７は、ＦＡＸ部４１３として動作し、ファクシミリ装置４３を制御する。
【００９２】
このように、複合機１に必要な拡張モジュールがインストールされた後に、アプリケーションプログラム５２によるアプリケーション４２１〜４２４からの内部装置４１〜４３の操作が可能となる。
【００９３】
次に、複合機２のプラットフォーム形成について説明する。
【００９４】
複合機２も、複合機１と同様に、複合機２に必要な拡張モジュール３１１を配信サーバー５および／またはメモリデバイス６から取得し記憶装置１４６に記憶する。これにより、複合機２に必要な拡張モジュール３１１が複合機２にインストールされる。
【００９５】
図９は、図１における複合機２のプラットフォーム形成後の構成を示すブロック図である。図９に示すように、複合機２に必要な拡張モジュール３１１として、プリントモジュール５０１、スキャンモジュール５０２、ＦＡＸモジュール５０３などが記憶装置１４６に記憶される。
【００９６】
例えば、複合機１の印刷装置４１および画像読取装置４２の仕様と、複合機２の印刷装置１４１および画像読取装置１４２の仕様が異なる場合、プリントモジュール４０１およびスキャンモジュール４０２とは異なるプリントモジュール５０１およびスキャンモジュール５０２が取得され、インストールされる。一方、例えば、複合機１のファクシミリ装置４３の仕様と、複合機２のファクシミリ装置１４３の仕様が同一である場合、ＦＡＸモジュール４０３と同一のＦＡＸモジュール５０３が取得され、インストールされる。
【００９７】
これにより、複合機２に必要な拡張モジュール３１１がインストールされた状態となり、プラットフォーム１６１全体が形成可能となる。
【００９８】
その後、アプリケーションプログラム１５２がプラットフォーム１６１上で実行されると、必要に応じて、それらのモジュール５０１，５０２，５０３のプログラムが実行される。
【００９９】
例えば、プリントアプリケーション５２１やコピーアプリケーション５２４からプリントモジュール５０１が呼びされると、プリントモジュール５０１が実行され、演算処理装置１４７は、プリント部５１１として動作し、印刷装置１４１を制御する。また、スキャンアプリケーション５２２やコピーアプリケーション５２４からスキャンモジュール５０２が呼び出されると、スキャンモジュール５０２が実行され、演算処理装置１４７は、スキャン部５１２として動作し、画像読取装置１４２を制御する。また、ＦＡＸアプリケーション５２３からＦＡＸモジュール５０３が呼び出されると、ＦＡＸモジュール５０３が実行され、演算処理装置１４７は、ＦＡＸ部５１３として動作し、ファクシミリ装置１４３を制御する。
【０１００】
このように、複合機２に必要な拡張モジュールがインストールされた後に、アプリケーションプログラム１５２によるアプリケーション５２１〜５２４からの内部装置１４１〜１４３の操作が可能となる。
【０１０１】
次に、プリンター３のプラットフォーム形成について説明する。
【０１０２】
プリンター３も、複合機１，２と同様に、プリンター３に必要な拡張モジュール３１１を配信サーバー５から取得し記憶装置２４６に記憶する。これにより、プリンター３に必要な拡張モジュール３１１がプリンター３にインストールされる。
【０１０３】
図１０は、図１におけるプリンター３のプラットフォーム形成後の構成を示すブロック図である。図１０に示すように、プリンター３に必要な拡張モジュール３１１として、プリントモジュール６０１などが記憶装置２４６に記憶される。プリンター３には画像読取装置およびファクシミリ装置がないため、スキャンモジュール、ＦＡＸモジュールおよびコピーモジュールは、インストールされない。
【０１０４】
複合機２の印刷装置１４１の仕様と、プリンター３の印刷装置２４１の仕様が異なる場合、プリントモジュール５０１とは異なるプリントモジュール６０１が取得され、インストールされる。一方、複合機２の印刷装置１４１の仕様と、プリンター３の印刷装置２４１の仕様が同一である場合、プリントモジュール５０１と同一のプリントモジュール６０１が取得され、インストールされる。
【０１０５】
これにより、プリンター３に必要な拡張モジュール３１１がインストールされた状態となり、プラットフォーム２６１全体が形成可能となる。
【０１０６】
その後、アプリケーションプログラム２５２がプラットフォーム２６１上で実行されると、必要に応じて、それらのモジュール６０１のプログラムが実行される。
【０１０７】
例えば、プリントアプリケーション６２１からプリントモジュール６０１が呼びされると、プリントモジュール６０１が実行され、演算処理装置２４７は、プリント部６１１として動作し、印刷装置２４１を制御する。
【０１０８】
このように、プリンター３に必要な拡張モジュールがインストールされた後に、アプリケーションプログラム２５２によるアプリケーション６２１からの内部装置２４１の操作が可能となる。
【０１０９】
以上のように、上記実施の形態によれば、配信サーバー５は、拡張モジュール３１１を画像形成装置へ配信する。複合機１、複合機２およびプリンター３は、それぞれ、プラットフォームコアモジュール１１，１２，１３を実行して自機の機種に対応する１または複数の拡張モジュール３１１を特定し配信サーバー５などから取得し、プラットフォームコアモジュール１１，１２，１３および取得した拡張モジュール３１１とを実行してプラットフォーム６１，１６１，２６１を形成し、プラットフォーム６１，１６１，２６１上でアプリケーションプログラム５２，１５２，２５２を実行する。
【０１１０】
これにより、プラットフォームコアモジュール１１，１２，１３に、機種に応じた拡張モジュール３１１が適応的に付加されて各画像形成装置においてプラットフォームが形成される。このため、複数の機種で共通する機能については１つのプラットフォーム拡張モジュールを開発すればよく、機種ごとに異なるプラットフォームを構築する際の開発コストを低くすることができる。
【０１１１】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【０１１２】
例えば、上記実施の形態において、コア部７１、１７１，２７１は、取得した拡張モジュール３１１を不揮発性の記憶装置４６に記憶させず、演算処理装置４７，１４７，２４７内の揮発性のＲＡＭに一時的に保持するようにしてもよい。この場合、複合機１，２およびプリンター３がシャットダウンすると、拡張モジュール３１１が消失するため、複合機１，２およびプリンター３は、起動のたびに拡張モジュール３１１をダウンロードする。
【０１１３】
また、上記実施の形態において、操作パネル４４，１４４，２４４を制御するプログラムは、コア部７１，１７１，２７１に含めておいてもよいし、１つの拡張モジュール３１１としてインストールされるようにしてもよい。アプリケーションプログラム５２，１５２，２５２から操作パネル４４，１４４，２４４を使用する場合、そのプログラムが呼び出される。
【０１１４】
また、上記実施の形態において、フィニッシャーなどのオプション機能の有無を示す情報を機種固有情報に含め、オプション機能の有無に応じて異なる拡張モジュール３１１を取得するようにしてもよい。
【０１１５】
また、上記実施の形態において、配信サーバー５は、暗号化された拡張モジュール３１１を画像形成装置（複合機１，２およびプリンター３）に配信し、画像形成装置（複合機１，２およびプリンター３）がその暗号化された拡張モジュール３１１を復号し、復号後の拡張モジュール３１１を使用するようにしてもよい。また、拡張モジュール３１１には、改ざん検出のための電子署名を付すようにしてもよい。
【０１１６】
また、上記実施の形態において、機種固有情報から特定される拡張モジュールごとに取得の可否を示す機能許可情報を機種固有情報に含めておき、コア部７１，１７１，２７１は、自機に必要な拡張モジュールのうち、機能許可情報で取得が許可されているもののみを取得するようにしてもよい。その場合、機能許可情報は、管理者などの特定ユーザーのみにより設定可能としてもよい。これにより、取得が許可されていない拡張モジュールは取得されないため、記憶装置４６，１４６，２４６のメモリ使用量を低減することができる。
【０１１７】
また、上記実施の形態において、機種固有情報５１，１５１，２５１とアプリケーションプログラム５２，１５２，２５２とは異なる記憶装置に記憶されていてもよい。
【０１１８】
また、上記実施の形態において、拡張モジュール３１１とともに、各装置１，２，３で使用されるアプリケーションプログラム５１，１５１，２５１を、機種固有情報に基づいて特定し、拡張モジュール３１１とともに配信サーバー５からダウンロードするようにしてもよい。
【０１１９】
また、上記実施の形態において、コア部７１，１７１，２７１が、機種固有情報５１，１５１，２５１における機種名などの機種固有識別子を配信サーバー５へ送信し、配信サーバー５のモジュール配信制御部３２１がその機種固有識別子に対応する拡張モジュール３１１を特定して、複合機１，２およびプリンター３へ送信するようにしてもよい。
【産業上の利用可能性】
【０１２０】
本発明は、例えば、機種ごとに機能や仕様の異なる画像形成装置に適用可能である。
【符号の説明】
【０１２１】
１，２  複合機（画像形成装置の例）
３  プリンター（画像形成装置の例）
４  ネットワーク
５  配信サーバー（外部装置の一例）
６  メモリデバイス（外部装置の一例）
１１，１２，１３  プラットフォームコアモジュール
４１，１４１，２４１  印刷装置（内部装置の例）
４２，１４２  画像読取装置（内部装置の例）
４３，１４３  ファクシミリ装置（内部装置の例）
４５，１４５，２４５  通信装置
４６，１４６，２４６  記憶装置（記憶手段の一例）
４７，１４７，２４７  演算処理装置
５１，１５１，２５１  機種固有情報
５２，１５２，２５２  アプリケーションプログラム
６１，１６１，１６２  プラットフォーム
３１１  プラットフォーム拡張モジュール
【図１】
2011248536.tif 000003
【図２】
2011248536.tif 000004
【図３】
2011248536.tif 000005
【図４】
2011248536.tif 000006
【図５】
2011248536.tif 000007
【図６】
2011248536.tif 000008
【図７】
2011248536.tif 000009
【図８】
2011248536.tif 000010
【図９】
2011248536.tif 000011
【図１０】
2011248536.tif 000012