以下に添付図面を参照して、この発明にかかる画像形成装置の好適な実施の形態を詳細に説明する。
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。本実施の形態にかかる複合機100は、複合機の出荷後に、顧客、サードベンダなどの第三者が外部アプリを開発し、開発された外部アプリケーションを複合機用のインストーラで複合機のハードディスク装置(HDD)にインストールし、HDDの診断後、外部アプリ起動部によってインストールされた外部アプリをHDDから起動することが可能となっている。また、本実施の形態では、外部アプリをICカードに実行可能な形式で保存し、このICカードを複合機100のICカードインタフェース部に装着してICカードからも外部アプリを起動することが可能となっている。さらに、本実施の形態の複合機100では、このようにHDDにインストールされている外部アプリの起動とICカードに保存されている外部アプリの起動を切り替えて行うことが可能となっている。
図1に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、ハードディスク装置(HDD) 103と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース104を有するとともに、プラットホーム120と、アプリケーション130と、複合機初期化部129と、HDD診断部132と、外部アプリ起動部131とから構成されるソフトウェア群110とを備えている。
外部アプリ起動部131は、HDD103の診断結果が正常である場合に、HDD103にインストールされている外部アプリ117を起動するものである。また、外部アプリ起動部131は、ICカードなどの記憶媒体に保存された外部アプリ117を起動する。さらに、外部アプリ起動部131は、外部アプリ117のHDD103からの起動とICカードからの起動とを選択することもできる。
複合機初期化部129は、汎用OS121の上で最初に起動されるプロセスであり、コントロールサービスやアプリケーション130(外部アプリ117を除く)の起動およびHDD診断部132および外部アプリ起動部131の起動を行うものである。
HDD診断部132は、HDD103の物理的欠陥やHDD103に生成されたファイルシステムの整合性などを診断し、診断結果をメッセージ送信などのプロセス間通信を利用して外部アプリ起動部131に送信するものである。
プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。なお、このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース104のエンジンの制御を行う。
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ117を開発して搭載することが可能となっている。図1では、この外部アプリ117を搭載した例を示している。
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスをそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。
インストーラ118は、第三者が開発した外部アプリ117を、HDD103にインストールするものである。本実施の形態にかかる複合機100では、フラッシュカードなどのICカードの記憶媒体に外部アプリ117を格納し、インストーラ118によって外部アプリ117をHDD103にインストールし、外部アプリ起動部131によって、HDD103から外部アプリ117を起動してアプリケーション層で動作させるようになっている。一方、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116などの複合機100の出荷時に提供されるアプリケーション130、各コントロールサービス、HDD診断部132および外部アプリ起動部131は、フラッシュメモリに出荷時に組み込まれており、複合機100の起動時(電源投入時)に複合機初期化部129によって起動されるようになっている。
次に、外部アプリ起動部131の構成について説明する。図2は、実施の形態1にかかる複合機100の外部アプリ起動部131の機能的構成を示すブロック図である。外部アプリ起動部131は、図2に示すように、初期化部201と、オプション解析部202と、HDD診断結果通信部203と、フラッシュメモリ管理部204と、起動設定処理部205と、アプリケーション記述処理部206と、ライセンス判断部207と、アプリケーション起動部208とから構成される。
また、HDD103には、一または複数の外部アプリ117と、HDD103から起動する外部アプリ117を指定したデータを設定した起動設定ファイル221と、外部アプリ117の各種情報が設定されたアプリケーション記述ファイル222とが格納されている。
また、ICカード240にも、一または複数の外部アプリ117と、起動する外部アプリ117を指定したデータを設定した起動設定ファイル221と、外部アプリ117の各種情報が設定されたアプリケーション記述ファイル222とが格納されている。このICカード240は、例えばフラッシュカードなどの不揮発性記憶媒体であり、ICカードインタフェース部230によってデータの入出力が行われる。また、ICカード240として、SD(Secure Digital)カードを使用することもできる。なお、本実施の形態では、起動設定ファイル221とアプリケーション記述ファイル222は、いずれも対象となる外部アプリ117が保存されている記憶媒体に格納されているが、外部アプリ117を格納した記憶媒体とは異なる記憶媒体、例えばフラッシュメモリ210、ネットワークを介して接続されたサーバにおける記憶媒体に格納した構成としても良い。
フラッシュメモリ210には、起動選択データ211と、拡張機能設定データ213と、外部アプリ存否データ214と、コンフィグレーションファイル212とが格納されている。各データおよびファイルの詳細については後述する。なお、本実施の形態では、これらの各データおよびファイルをフラッシュメモリ210に格納しているが、不揮発性メモリであれば他の記憶媒体に格納するように構成しても良い。
初期化部201は、外部アプリ起動部131の初期化処理を行うものである。オプション解析部202は、外部アプリ起動部131が複合機初期化部129から起動されるときに指定されたコマンドのオプションパラメータを解析するものである。
HDD診断結果通信部203は、HDD診断部132によって行われるHDD103の診断の終了待ちを行い、その診断結果をメッセージなどのプロセス間通信によって受信する。また、HDD診断結果通信部203は、受信した診断結果によってHDD103の状態を判定する。
フラッシュメモリ管理部204は、フラッシュメモリ210に格納されているデータやファイルの設定内容の読み出し、および書き込みを行うものである。具体的には、フラッシュメモリ管理部204は、起動選択データ211を読み込み、外部アプリ117を起動する媒体の判断を行う。また、フラッシュメモリ管理部204は、拡張機能設定データ213を読み込み、外部アプリ117による拡張機能の利用の可否を判断する。さらにフラッシュメモリ管理部204は、外部アプリ存否データ214の書き込みを行う。
起動設定処理部205は、HDD103およびICカード240に格納されている起動設定ファイル221を読み出して、その解析処理を行うものである。また、起動設定処理部205は、起動設定ファイル221にプログラム名称が設定されているか否かを調べて、外部アプリ117がインストールされているか否かを判断する。アプリケーション記述処理部206は、HDD103に格納されているアプリケーション記述ファイル222を読み出して、その解析処理を行うものである。ライセンス判断部207は、アプリケーション記述ファイル222に設定されているライセンスキーの正当性を判断するものである。
アプリケーション起動部208は、HDD103およびICカード240に格納されている外部アプリ117を起動するものである。このとき、アプリケーション記述ファイル222に設定されている実行コマンドを発行することにより、外部アプリ117を起動する。
次に、HDD103およびICカード240に格納されている起動設定ファイル221の内容について説明する。起動設定ファイル221は、HDD103にインストールされている外部アプリ117のプログラム名称のリストを記述するものであり、インストーラ118によって外部アプリ117をHDD103にインストールするたびに各外部アプリ117のプログラム名称が次の形式で追加される。
「プログラム名称 外部アプリのプログラムファイル名」
図3は、起動設定ファイル221の内容の一例を示す説明図である。外部アプリ117のプログラムファイル名には、HDD103に生成されたファイルシステムにおけるプログラムファイル名が、図3の例(xx.xxx.sample、yy.yy.test等)に示すように記述される。このプログラム名称は一つの複合機100内で一意の名称である必要がある。
次に、HDD103およびICカード240に格納されているアプリケーション記述ファイル222の内容について説明する。アプリケーション記述ファイル222は、外部アプリ117ごとに存在し、外部アプリ117のプログラムの属性情報を記述したものである。アプリケーション記述ファイル222は、外部アプリ117とともに、インストール用記憶媒体に格納され、外部アプリ117のHDD103のインストール時に外部アプリ117とともにHDD103に格納される。従って、HDD103に複数の外部アプリ117が保存されている場合には、各外部アプリ117に対応して複数のアプリケーション記述ファイル222が存在する。
図4は、アプリケーション記述ファイル222の内容の一例を示す説明図である。図4に示すように、アプリケーション記述ファイル222には、プログラム名称、表示名称、バージョン、ベンダ名称、実行コマンド、インストールメディア番号、インストールメディア総数、インストール済インストールメディア総数、インストール日時、ライセンスキーの各項目が設定されている。
ここで、プログラム名称、表示名称、バージョン、ベンダ名称、実行コマンドの項目は、インストール用記憶媒体への外部アプリ117の格納時に外部アプリ117の開発者によって設定される。プログラム名称は、外部アプリ117のプログラム名を示すものであり、インストール後、このプログラム名称が起動設定ファイル221のプログラム名称となる。
表示名称は、外部アプリ117の表示名称であり、インストーラ118による外部アプリ117のインストール時および外部アプリ起動部131による外部アプリ117の起動時にオペレーションパネルの表示部に表示されるものである。
バージョンは、外部アプリ117のバージョン情報を示す文字列であり、インストーラ118による外部アプリ117のインストール時および外部アプリ起動部131による外部アプリ117の起動時にオペレーションパネルの表示部に表示されるものである。
ベンダ名称は、外部アプリ117を開発したベンダ名称を表す文字列であり、インストーラ118による外部アプリ117のインストール時および外部アプリ起動部131による外部アプリ117の起動時にオペレーションパネルの表示部に表示されるものである。
実行コマンドは、外部アプリ117の実行のためのコマンドを相対パスにより指定したものである。必要な場合には、コマンドラインオプションも指定可能である。外部アプリ起動部131により、ここで設定されたコマンドが実行される。
インストールメディア番号は、外部アプリ117が複数枚のインストール用記憶媒体に分割されている場合に、その媒体が何枚目のものであるかを示すものである。記憶媒体が1枚だけの場合には0が指定される。インストールメディア番号は、インストーラ118による外部アプリ117のインストール時にオペレーションパネルの表示部に表示されるものである。
インストールメディア総数は、外部アプリ117が複数枚のインストール用記憶媒体に分割されている場合に、その総数が指定される。記憶媒体が1枚だけの場合には0が指定される。
インストール済インストールメディア総数は、インストール済みインストールメディア総数を指定したものである。
インストール日時は、インストールされた日時を示すものである。インストーラ118のユーザインタフェースに表示される。
ライセンスキーは、外部アプリ117のライセンスキーを指定したものである。インストール時にユーザにより入力された文字列が保存されるようになっている。
上記の例では、起動設定ファイルとアプリケーション記述ファイルは外部アプリがHDD103にインストールされるときにHDD103に格納されるものとしているが、起動設定ファイルとアプリケーション記述ファイルの各々は、上記と異なる任意の方法でHDD103やICカード240、もしくはその他の場所に格納することが可能である。
次に、フラッシュメモリ210に格納されている各データおよびファイルについて説明する。コンフィグレーションファイル212は、コントロールサービスおよびプリンタアプリ111、コピーアプリ112などの予め組み込まれている既存のアプリケーション130の中で起動すべきプログラムが設定されたものであり、複合機100の電源投入時に複合機初期化部129によって参照される。
図5は、起動選択データ211、拡張機能設定データ213、外部アプリ存否データ214の設定内容を示す説明図である。起動選択データ211は、起動する外部アプリ117の保存先(保存媒体)、すなわち外部アプリ117をどの媒体から起動するかを設定したものである。図5に示すように、起動選択データ211には、「HDD」または「ICカード」が設定可能であり、複数選択することも可能である。すなわち「HDD」および「ICカード」の双方を設定可能することもできる。この起動選択データ211は、オペレーションパネル910に表示される初期設定画面によって設定され、外部アプリ起動部131によって参照される。
起動選択データ211に「HDD」が設定されている場合には、HDD103に格納されている外部アプリ117のみが起動され、起動選択データ211に「ICカード」が設定されている場合には、ICカード240に保存されている外部アプリ117のみが起動される。また、起動選択データ211に「HDDおよびICカード」の双方が設定されている場合には、HDD103とICカード240に格納されている外部アプリ117が起動される。
拡張機能設定データ213は、外部アプリ117による拡張機能を使用するか否か、すなわち、外部アプリ117を起動するか否かを設定するものである。図5に示すように、拡張機能設定データ213には、「起動」または「起動しない」が設定される。拡張機能設定データ213は、オペレーションパネル910に表示される初期設定画面によって設定され、外部アプリ起動部131から参照される。拡張機能設定データ213に「起動」が設定されている場合には、外部アプリ117の起動処理が行われ、「起動しない」が設定されている場合には外部アプリ117の起動処理は行われない。
外部アプリ存否データ214は、外部アプリ117がHDD103またはICカード240にインストールされているか否かを示す情報であり、外部アプリ起動部131によって設定され、SCS122によって参照される。外部アプリ存否データ214に「有」が設定されている場合には、SCS122によって初期設定画面に拡張機能設定の項目が表示され、「無」が設定されている場合には、初期設定画面に拡張機能設定の項目は表示されない。
次に、このように構成された本実施の形態の複合機100において、外部アプリ117の起動の前提となる複合機100の初期化処理について説明する。
図6は、複合機初期化部129による初期化処理の手順を示すフローチャートである。複合機100が電源投入されると、ROMモニタ(図示せず)によって、まずハードウェア資源の初期化、コントローラボードの診断が行われた後、汎用OS121が起動する。そして、ROMモニタが複合機初期化部129を汎用OS121上で起動する。この複合機初期化部129は、汎用OS121上で最初に起動されるプロセスとなる。
起動された複合機初期化部129は、フラッシュメモリ210からコンフィグレーションファイル212を読み込み、コンフィグレーションファイル212に設定されている内容からコントロールサービスの起動を行う(ステップS601)。次に、コンフィグレーションファイル212の設定内容に従って、プリンタアプリ111、コピーアプリ112、スキャナアプリ114、ファックスアプリ113、ネットファイルアプリ115および工程検査アプリ116などの予め組み込まれている既存アプリの起動を行う(ステップS602)。そして、HDD診断部132を起動して、HDD103の診断処理を実行させる(ステップS603)。これによって、HDD103の物理的欠陥の検査、ファイルシステムの検査などの診断処理が開始される。次に、外部アプリ起動部131の起動を行う(ステップS604)。
次に、複合機初期化部129によって起動された外部アプリ起動部131による外部アプリ117の起動処理について説明する。図7は、外部アプリ起動部131による外部アプリ117の起動処理の手順を示すフローチャートである。
外部アプリ起動部131は、まずフラッシュメモリ210から拡張機能設定データ213を読み出し、外部アプリ117による拡張機能を使用するか否かを判断するため、拡張機能設定データ213に「起動」が設定されているか否かを調べる(ステップS701)。そして、拡張機能設定データ213に「起動なし」が設定されている場合には(ステップS701:No)、外部アプリ117の起動は行わず終了する。
一方、拡張機能設定データ213に「起動」が設定されている場合には(ステップS701:Yes)、次に、フラッシュメモリ210から起動選択データ211を読み出し、外部アプリ117を起動する媒体を判断するため、起動選択データ211の設定内容を調べる(ステップS702)。そして、起動選択データ211の設定がHDDを含む場合、すなわち、「HDD」か「HDDおよびICカード」の場合には(ステップS702:HDD含む)、起動媒体としてHDD103が含まれるので、HDD診断部132による診断結果の通知待ち状態となる。
そしてHDD診断部132から診断結果を受信すると(ステップS703)、診断結果が異常なしか否かを判断する(ステップS704)。診断結果が異常ありの場合(ステップS704:No)には、エラーメッセージなどをオペレーションパネル910の表示部に出力して、外部アプリ117の起動は行わない。
一方、診断結果が異常なしの場合には(ステップS704:Yes)、外部アプリ117がインストールされているか否かを判断するため、起動設定ファイル221が起動選択データ211で設定された保存先の媒体に存在するか否かを調べる(ステップS705)。
すなわち、起動選択データ211の設定で外部アプリ117をHDD103から起動する場合にはHDD103に起動設定ファイル221が存在するか否かを調べ、起動選択データ211の設定で外部アプリ117をICカード240から起動する場合にはICカード240に起動設定ファイル221が存在するか否かを調べる。また、起動選択データ211の設定で外部アプリ117をHDD103およびICカード240の双方から起動する場合には双方の媒体に起動設定ファイル221が存在するか否かを調べる。
そして、起動設定ファイル221が存在しない場合には(ステップS705:No)、その媒体に外部アプリ117はインストールされていないと判断し、フラッシュメモリ210の外部アプリ存否データ214に「無」を設定する(ステップS712)。
一方、起動設定ファイル221が存在する場合には(ステップS705:Yes)、さらにその起動設定ファイル221に外部アプリ117のプログラム名称の設定が記述されているか否かを調べる(ステップS706)。起動設定ファイル221に外部アプリ117のプログラム名称の設定が記述されていない場合には(ステップS706:No)、その媒体に外部アプリ117はインストールされていないと判断し、フラッシュメモリ210の外部アプリ存否データ214に「無」を設定する(ステップS712)。
一方、起動設定ファイル221に外部アプリ117のプログラム名称の設定が記述されている場合には(ステップS706:Yes)、外部アプリ117がインストールされていると判断し、フラッシュメモリ210の外部アプリ存否データ214に「有」を設定する(ステップS707)。
次に、外部アプリ起動部131は、起動選択データ211で設定された保存先の媒体から外部アプリ117のアプリケーション記述ファイル222を読み込む(ステップS708)。そして、アプリケーション記述ファイル222に設定されているライセンスキーが期限切れや異常でないかなど、ライセンスキーの有効性について判断する(ステップS709)。このとき、ライセンスキーが無効と判断した場合には外部アプリ117の起動は行わず、その旨のエラーメッセージをオペレーションパネル910の表示部に出力する。
ライセンスキーが有効の場合、外部アプリ起動部131は、起動選択データ211で設定された保存先の媒体から外部アプリ117の起動を行う(ステップS710)。そして、上記ステップS708からS710までの処理を、起動設定ファイル221に設定されているすべての外部アプリ117について繰り返し行う(ステップS711)。これによって、図2に示すように、指定された媒体にインストールされているすべての外部アプリ117が起動され、アプリケーション層で実行されることになる。
上記の手順において、外部アプリ存否データ214を外部アプリ起動部131により設定することに代えて、外部アプリを媒体等に記録するときに、外部アプリ存否データ214を所定の場所に記録してもよい。
ここで、拡張機能設定データおよび起動選択データの内容は、複合機100のオペレーションパネル910から初期設定画面を用いて設定することが可能となっている。
図8は、初期設定画面の内容を示す説明図である。初期設定画面は、SCS122によってOCS126の関数ライブラリの描画関数を呼び出すことによりオペレーションパネル910に表示される。このとき、図2に示すように、SCS122は、フラッシュメモリ210の外部アプリ存否データ214を参照し、外部アプリ存否データ214が「有」に設定されている場合、すなわち起動選択データ211で設定されている媒体に外部アプリ117がインストールされている場合に、図8に示す初期設定画面の管理者用設定画面に「拡張機能の起動」の項目を表示する。この「拡張機能の起動」の項目では、「する」と「しない」が選択可能となっており、「する」を選択するとSCS122によって拡張機能設定データ213に「起動」が設定され、「しない」を選択するとSCS122によって拡張機能設定データ213に「起動しない」が設定される。
また、図8に示す初期設定画面の管理者用設定画面では、起動選択データ211の設定を行うための「起動選択」の項目が表示される。この「起動選択」の項目では、「HDD」、「ICカード」、「HDDおよびICカード」が選択可能となっており、SCS122によって選択された内容が起動選択データ211に設定される。
次に、本実施の形態の複合機100のハードウェア構成について説明する。図9は、図1に示した実施の形態1の複合機100のハードウェア構成図である。図9に示すように、この複合機は、CPU902、SDRAM903、SRAM908、フラッシュメモリ(フラッシュROM)210、ICカードインタフェース部230およびHDD103などをASIC901に接続したコントローラボード900と、オペレーションパネル910と、ファックスコントロールユニット(FCU)920と、USB930と、IEEE1394 940と、プリンタ950とから構成されている。オペレーションパネル910はASIC901に直接接続され、FCU920、USB930、IEEE1394 940およびプリンタ950はPCIバスを介してASIC901に接続されている。
フラッシュメモリ210は、上述した通り、起動選択データ211と、拡張機能設定データ213と、外部アプリ存否データ214と、コンフィグレーションファイル212とが格納されている。また、フラッシュメモリ210には、汎用OS121、コントロールサービスおよびプリンタアプリ111、コピーアプリ112などの既存アプリケーション130のプログラムが格納されている。
ICカードインタフェース部230は、ICカード240を挿入して、ICカード240とデータのやりとりを行うインタフェースである。ICカード240は、インストール用記憶媒体として使用することができ、この場合には開発された外部アプリ117をICカード240に格納して、インストーラ118によって外部アプリ117をICカード240からHDD103にインストールされることになる。また、ICカード240から直接外部アプリを起動することもできる。
このように実施の形態1にかかる複合機100では、外部アプリ起動部131が、HDD103またはICカード240のいずれか若しくは双方を起動先として選択し、選定された起動先に格納されている外部アプリ117を起動しているので、外部アプリ117を容易に起動することができ、複合機100に外部アプリ117で提供される多種多様な機能を実現させることができる。
また、実施の形態1にかかる複合機100では、HDD103やICカード240から必要な外部アプリ117が保存されている媒体を選択して起動することができ、メモリ容量など資源に制限のある複合機100において、外部アプリ117による必要な機能を支障なく実現させることができる。
なお、上記の実施の形態においては、プログラムとしての外部アプリ起動部を複合機内に備えていたが、外部アプリ起動部を例えばICカードに格納しておき、ICカードから複合機内にインストール、もしくは、ICカードから起動してもよい。また、外部アプリ起動部を、画像形成装置にネットワークを介して接続されたコンピュータに格納しておき、そのコンピュータから複合機にインストール、もしくは、そのコンピュータから外部アプリ起動部を起動してもよい。このことは他の実施の形態においても同様である。
(実施の形態2)
実施の形態1にかかる複合機100は、HDD103、ICカード240またはその双方を初期設定画面で選択させて、選択された保存媒体にインストール(保存)されている外部アプリ117をすべて起動していたが、この実施の形態2にかかる複合機100は、インストール(保存)されている外部アプリ117の中から必要な外部アプリ117をさらに選定して起動するものである。
実施の形態2にかかる複合機100の機能的構成、ハードウェア構成および外部アプリ起動部131の構成は、実施の形態1の複合機100と同様である。
本実施の形態の複合機100では、フラッシュメモリ210に格納されている拡張機能設定データ213の設定内容と外部アプリ起動部131による起動処理が実施の形態1と異なっている。
図10は、実施の形態2の複合機100における拡張機能設定データ213の設定内容の一例を示す説明図である。図10に示すように、拡張機能設定データ213は、実施の形態1と同様に外部アプリ117による拡張機能を使用するか否か(外部アプリ117を起動するか否か)の設定の他、インストールされている外部アプリ117ごとに、各外部アプリ117を「起動する」か「起動しない」かが設定される。かかる外部アプリ117ごとの起動の要否は、拡張機能が「起動する」に設定されている場合にのみオペレーションパネル910に表示される初期設定画面によって設定され、外部アプリ起動部131から参照される。拡張機能設定データ213の各外部アプリ117に「起動する」が設定されている場合には、外部アプリ117の起動処理が行われ、「起動しない」が設定されている場合には外部アプリ117の起動処理は行われない。
次に、実施の形態2にかかる複合機100の外部アプリ起動部131による外部アプリ117の起動処理について説明する。図11は、外部アプリ起動部131による外部アプリ117の起動処理の手順を示すフローチャートである。
外部アプリ117による拡張機能を使用するか否かの判断(ステップS1101)からライセンスキーの有効性の判断(ステップS1109)までの処理については、実施の形態1の複合機100の外部アプリ起動処理(図7のステップS701〜S709)と同様である。
ライセンスキーが有効の場合、外部アプリ起動部131は、起動選択データ211で設定された保存先の媒体から外部アプリ117の起動を行う(ステップS1110)。そして、ステップS1108からS1110までの処理を、拡張機能設定データ213で「起動」に設定されている外部アプリ117のみに対して繰り返し行う(ステップS1111)。これによって、インストールされている外部アプリ117の中で、拡張機能設定データ213で「起動」に設定されているすべての外部アプリ117が起動され、アプリケーション層で実行されることになる。従って、起動選択データ211で、「HDD」と「ICカード」の双方が設定されている場合には、HDD103とICカード240に格納されているすべての外部アプリ117の中から拡張機能設定データ213で設定された外部アプリ117が選択されて起動されることになる。
ここで、拡張機能設定データ213の中の外部アプリ117の起動可否のデータは、複合機100のオペレーションパネル910から、初期設定画面を用いて設定することが可能である。図12は、実施の形態2の複合機100においてオペレーションパネル910に表示される初期設定画面の内容例を示す説明図である。初期設定画面は、図12に示す初期設定画面の管理者用設定画面に「拡張機能の起動」、「起動選択」の項目とともに、「外部アプリ起動」の項目を表示する。この「外部アプリ起動」の項目では、「する」と「しない」が選択可能となっており、「する」を選択するとSCS122によって拡張機能設定データ213に「起動」が設定され、「しない」を選択するとSCS122によって拡張機能設定データ213に「起動しない」が設定される。なお、他の項目の設定時の処理については、実施の形態1の複合機100における初期設定画面と同様である。
図12に示す設定画面では、例えば、起動選択でHDDを選択した場合には、HDDに格納されているアプリケーションが、「外部アプリ起動」の項目に表示される。
このように実施の形態2にかかる複合機100では、外部アプリ起動部131が、拡張機能設定データを参照し、「起動」が設定されている外部アプリ117のみを選択して起動しているので、外部アプリ117が多数インストールされている場合にも必要な拡張機能のみを実行することができ、複合機100のメモリ容量などの資源の節約を図るとともに処理効率を向上させることができる。
(実施の形態3)
実施の形態1および2にかかる複合機100は、HDD103、ICカード240からの外部アプリ117の起動を行うものであったが、この実施の形態3にかかる複合機100は、さらにネットワークに接続されたコンピュータに保存されている外部アプリ117を起動可能とするものである。また、外部アプリ117の起動先を、HDD103、ICカード240およびネットワークの間で選択可能とするものである。
本実施の形態における外部アプリ起動部によるネットワーク上のコンピュータからの外部アプリケーションの起動は、コンピュータから外部アプリケーションをダウンロードして一時的に保存して起動する他、コンピュータから外部アプリケーションを複合機にインストールしてから起動する場合も含まれる。
実施の形態3にかかる複合機100の機能的構成およびハードウェア構成は実施の形態1および2の複合機100と同様である。実施の形態3にかかる複合機100は、外部アプリ起動部の構成および外部アプリ117の起動処理、フラッシュメモリ210に格納する起動選択データの内容が実施の形態1の複合機100と異なっている。
図13は、実施の形態3の複合機100における外部アプリ起動部1331の機能的構成およびネットワークに接続された構成を示すブロック図である。外部アプリ起動部1331は、図13に示すように、初期化部201と、オプション解析部202と、HDD診断結果通信部203と、フラッシュメモリ管理部204と、起動設定処理部205と、アプリケーション記述処理部206と、ライセンス判断部207と、アプリケーション起動部208と、通信部1332とから構成される。
また、HDD103およびICカード240にはそれぞれ、実施の形態1の複合機100と同様に、一または複数の外部アプリ117と、各媒体から起動する外部アプリ117を指定したデータを設定した起動設定ファイル221と、外部アプリ117の各種情報が設定されたアプリケーション記述ファイル222とが格納されている。
フラッシュメモリ210には、起動選択データ1351と、拡張機能設定データ213と、外部アプリ存否データ214と、コンフィグレーションファイル212とが格納されている。
本実施の形態にかかる複合機100は、インターネット1310などのネットワークに接続されており、インターネット1310上にはコンピュータ1320とコンピュータ1340が接続されている。
コンピュータ1320は、そのハードディスク装置などの保存領域に起動設定ファイル1321と、一または複数の外部アプリ117と、外部アプリ117に対応したアプリケーション記述ファイル1322とを保存している。一方、コンピュータ1340には、起動設定ファイル1341が保存されている。
外部アプリ起動部1331の通信部1332は、このインターネット1310を介して、httpプロトコルまたはftpプロトコルに従ってコンピュータ1320またはコンピュータ1340から起動設定ファイル1321、1341、アプリケーション記述ファイル1322の受信、外部アプリ117の受信を行うものである。
次に、インターネット1310上のコンピュータ1320に格納されている起動設定ファイル1321、およびコンピュータ1340に格納されている起動設定ファイル1341の内容について説明する。図14は、インターネット1310上のコンピュータ1320に格納されている起動設定ファイル1321、もしくはコンピュータ1340に格納されている起動設定ファイル1341の内容の一例を示す説明図である。
インターネット1310上のコンピュータに1320,1340保存されている起動設定ファイル1321、1341は、基本的には複合機100のHDD103およびICカード240の起動設定ファイル221と同様に、インストールされている外部アプリ117のプログラム名称のリストを記述するものである。ただし、起動設定ファイル1321、1341は、複合機100からhttpプロトコルでアクセスされる場合には、図14に示すように、http形式で記述されている。なお、ftpプロトコルでアクセスされる領域に起動設定ファイル1321、1341がある場合には、HDD103およびICカード240の起動設定ファイル221と同様の形式で記述される。
また、プログラム名称は、コンピュータ1320のアプリ保存領域のURLを含めて記述される。なお、このプログラム名称は一つのコンピュータ内で一意の名称である。
なお、本実施の形態では、インターネット1310上の起動設定ファイルは、起動設定ファイル1321のように外部アプリ117のアプリ保存領域のあるコンピュータ1320と同じサイトにある他、起動設定ファイル1341のように外部アプリ117のアプリ保存領域のあるコンピュータ1320と異なるサイトのコンピュータ1340に存在するように構成しても良い。後者の場合には、起動設定ファイル1341のプログラム名称は、外部アプリ117のアプリ保存領域のあるコンピュータ1320のURLを指定するように記述する必要がある。また、ネットワークを介して外部アプリを起動する場合の起動設定ファイルを複合機100内に格納しておいてもよい。
次に、本実施の形態の複合機100で使用する起動選択データ1351について説明する。図15は、起動選択データ1351の設定内容の一例を示す説明図である。起動選択データ1351は、外部アプリ117の保存先(保存媒体、アプリ保存領域)を示すものである。図15に示すように、起動選択データ1351には、「HDD」、「ICカード」、「http」または「ftp」が設定可能であり、この中から複数の項目を設定することも可能である。この起動選択データ1351は、オペレーションパネル910に表示される初期設定画面によって設定され、外部アプリ起動部131によって参照される。
起動選択データ1351に「HDD」が設定されている場合には、HDD103に格納されている外部アプリ117のみが起動され、起動選択データ211に「ICカード」が設定されている場合には、ICカード240に保存されている外部アプリ117のみが起動される。
また、起動選択データ1351に「http」または「ftp」が設定されている場合には、インターネット1310上のアプリ保存領域に格納されている外部アプリ117を受信して起動する。このとき、「http」の設定時にはhttpプロトコルでインターネット1310上のアプリ保存領域にアクセスし、「ftp」の設定時にはftpプロトコルでインターネット1310上のアプリ保存領域にアクセスする。
また、起動選択データ1351には、起動設定ファイルアドレス(URL)がhttpプロトコルでアクセスする場合とftpプロトコルでアクセスする場合の両方について設定される。この起動設定ファイルアドレスもオペレーションパネル910に表示される初期設定画面によって設定され、外部アプリ起動部131によって参照される。
すなわち、外部アプリ起動部131は、まず起動選択データ1351に設定されている起動設定ファイルアドレスのURLを参照する。このURL指定されたインターネット1310上の起動設定ファイル1321もしくは1341を参照し、起動設定ファイル1321もしくは1341に指定されているURLのアプリ保存領域から外部アプリ117を受信して起動する。
また、拡張機能設定データ213は、実施の形態1と同様のデータ構造とすることができる。更に、拡張機能設定データに実施の形態2と同様に、外部アプリ117ごとに「起動」、「起動しない」の設定を行い、外部アプリ117によって拡張機能設定データ213に「起動」と設定されている外部アプリ117のみを選択して起動するように構成することも可能である。
次に、実施の形態3にかかる複合機100の外部アプリ起動部1331による外部アプリ117の起動処理について説明する。図16は、外部アプリ起動部1331による外部アプリ117の起動処理の手順を示すフローチャートである。
外部アプリ起動部1331は、まずフラッシュメモリ210から拡張機能設定データ213を読み出し、外部アプリ117による拡張機能を使用するか否かを判断するため、拡張機能設定データ213に「起動」が設定されているか否かを調べる(ステップS1601)。そして、拡張機能設定データ213に「起動なし」が設定されている場合には(ステップS1601:No)、外部アプリ117の起動は行わず終了する。
一方、拡張機能設定データ213に「起動」が設定されている場合には(ステップS1601:Yes)、次に、フラッシュメモリ210から起動選択データ1351を読み出し、外部アプリ117を起動する媒体を判断するため、起動選択データ1351の設定内容を調べる(ステップS1602)。そして、起動選択データ1351の設定がHDDを含む場合には(ステップS1602:Yes)、HDD診断部132による診断結果の通知待ち状態となる。
そしてHDD診断部132から診断結果を受信すると(ステップS1603)、診断結果が異常なしか否かを判断する(ステップS1604)。診断結果が異常ありの場合(ステップS1604:No)には、エラーメッセージなどをオペレーションパネル910の表示部に出力して、外部アプリ117の起動は行わない。
一方、診断結果が異常なしの場合には(ステップS1604:Yes)、インターネット1310上の外部アプリ117を起動するか否か判断するため、起動選択データ1351に「http」または「ftp」が設定されているか否か調べる(ステップS1605)。そして、「http」または「ftp」が設定されている場合には、起動選択データ1351の起動設定ファイルアドレスで指定されたURLにアクセスする(ステップS1606)。ここで、起動選択データ1351に「http」が設定されている場合にはhttpプロトコルで、起動選択データ1351に「ftp」が設定されている場合にはftpプロトコルでURLにアクセスする。
そして、外部アプリ起動部1331は、外部アプリ117が存在するか否かを判断するため、起動選択データで指定された媒体に起動設定ファイルが存在するか否かを調べる(ステップS1607)。ここで、起動選択の設定が「HDD」または「ICカード」の場合には、当該媒体に起動設定ファイル221が存在するか否かを調べる。また、起動選択の設定が「http」または「ftp」の場合には、ステップS1606でアクセスしたURLに起動設定ファイル1321もしくは1341が存在するか否かを調べる。
そして、起動設定ファイルが存在しない場合には(ステップS1607:No)、その起動選択先に外部アプリ117はインストールされていないと判断し、フラッシュメモリ210の外部アプリ存否データ214に「無」を設定する(ステップS1614)。
一方、起動設定ファイルが存在する場合には(ステップS1607:Yes)、さらにその起動設定ファイルに外部アプリ117のプログラム名称の設定が記述されているか否かを調べる(ステップS1608)。起動設定ファイルに外部アプリ117のプログラム名称が記述されていない場合には(ステップS1608:No)、その起動選択先に外部アプリ117はインストールされていないと判断し、フラッシュメモリ210の外部アプリ存否データ214に「無」を設定する(ステップS1614)。
一方、起動設定ファイルに外部アプリ117のプログラム名称の設定が記述されている場合には(ステップS1608:Yes)、起動選択先に外部アプリ117がインストールされていると判断し、フラッシュメモリ210の外部アプリ存否データ214に「有」を設定する(ステップS1609)。
次に、外部アプリ起動部1331は、起動選択データ1351で設定された起動選択先の媒体またはアプリ保存領域から外部アプリ117のアプリケーション記述ファイル222を読み込む(ステップS1610)。そして、アプリケーション記述ファイル222に設定されているライセンスキーが期限切れや異常でないかなど、ライセンスキーの有効性について判断する(ステップS1611)。このとき、ライセンスキーが無効と判断した場合には外部アプリ117の起動は行わず、その旨のエラーメッセージをオペレーションパネル910の表示部に出力する。
ライセンスキーが有効の場合、外部アプリ起動部131は、起動選択データで設定された保存先の媒体から外部アプリ117の起動を行う(ステップS1612)。
このとき、起動選択データ1351の起動選択がhttpもしくはftpに設定されている場合には、起動設定ファイル1321もしくは1341でURLとともに指定されたアプリ保存領域から外部アプリ117を複合機100に一時的にダウンロードして、ダウンロードした外部アプリ117を起動する。
そして、上記ステップS1610からS1612までの処理を、起動設定ファイル221に設定されているすべての外部アプリ117について繰り返し行う(ステップS1613)。
なお、インターネット1310上のアプリ保存領域の外部アプリ117を起動する場合には、複数の外部アプリ117をその都度ダウンロードすると通信効率が悪いため、最初にアプリ保存領域のURLにアクセスしたときに、起動設定ファイル1321もしくは1341で設定されている外部アプリ117を一括して複合機100にダウンロードしておくことが好ましい。
以上の処理によって、図2に示すように、指定された起動選択先にインストールされているすべての外部アプリ117が起動され、アプリケーション層で実行されることになる。
ここで、本実施の形態の複合機100でも起動選択データ1351の内容は、複合機100のオペレーションパネル910から設定することが可能となっている。図17は、初期設定画面の内容を示す説明図である。初期設定画面は、実施の形態1と同様に、SCS122によってOCS126の関数ライブラリの描画関数を呼び出すことによりオペレーションパネル910に表示される。このとき、図17に示すように、SCS122は、フラッシュメモリ210の外部アプリ存否データ214を参照し、外部アプリ存否データ214が「有」に設定されている場合、すなわち起動選択データで設定されている起動選択先に外部アプリ117がインストールされている場合に、図17に示す初期設定画面の管理者用設定画面に「拡張機能の起動」、「起動選択」および「起動設定ファイルアドレス」の項目を表示する。「拡張機能の起動」の項目は、実施の形態1の複合機100の初期設定画面と同様である。
また、「起動選択」の項目は、起動選択データ1351の起動選択に対応したものであり、「HDD」、「ICカード」、「http」、「ftp」およびこれらを複数組み合わせたものが選択可能となっており、SCS122によって選択された内容が起動選択データ1351に設定される。
また、「起動設定ファイルアドレス」の項目では、起動設定ファイル1321,1341の存在するアドレスを指定する。かかる指定は、httpプロトコル使用時と、ftpプロトコル使用時の2つのパターンを指定するようになっている。かかる項目で設定された内容もSCS122によって起動選択データ1351に設定される。
このように実施の形態3にかかる複合機100では、外部アプリ起動部1331が外部アプリ117を格納するインターネット1310上のアプリ保存領域とHDD103とICカード240とから一または複数を起動先として選択して外部アプリ117を起動しているので、外部アプリ117がインターネット1310に存在する場合でも、外部アプリ117を容易に起動することができ、複合機100に多種多様な機能を実現させることができる。
なお、実施の形態3では、コンピュータ1320にのみ外部アプリ117が保存されているが、インターネット1310上の複数の領域に外部アプリ117が保存されている場合にも本発明を適用することが可能である。この場合には、起動選択データ1351に複数の起動設定ファイルのURLを設定するか、起動設定ファイルに各アプリ保存領域のURLを設定するように構成する。
また、実施の形態3の複合機100では、インターネット1310上のアプリ保存領域に保存されている外部アプリ117を起動する場合、起動するごとに外部アプリ117をダウンロードして起動しているが、初めてアプリ保存領域の該当する外部アプリ117にアクセスしたときに、当該外部アプリ117を複合機100にダウンロードするとともにインストールし、2回目以降の起動の場合には、インストールされたHDD103から外部アプリ117を起動するように構成しても良い。
(実施の形態4)
実施の形態1〜3においては、外部アプリ起動部131は図1に示すように複合機100内に備えられていた。実施の形態4は、VAS(Virtual Application Service)に外部アプリ起動部131の機能を持たせる形態である。
この場合の複合機100の機能構成を図18に示す。同図に示すように、VAS140がアプリとコントロールサービスの間に設けられる。VAS140は、アプリに対してはサーバプロセスとして動作し、各コントロールサービスに対してはクライアントプロセスとして動作するソフトウェアモジュールであり、アプリで使用するAPIと、コントロールサービスが提供するAPIとのバージョン差を吸収したり、アプリに対してコントロールサービスの特定の機能を隠蔽するといった機能を有している。
このVAS140に外部アプリ起動部131の機能を持たせ、VAS140が起動設定ファイル等を参照することにより、これまでに説明した外部アプリ起動部131と同様にして外部アプリの起動を行う。更に、VAS140は、アプリを仮起動させ、アプリに関する情報(使用するリソースなど)をアプリから取得し、そのアプリが複合機100で実行できるか否かを判断する起動制御の機能も有している。なお、仮起動とは、VAS140とアプリとがプロセス間通信をして、VAS140がアプリに関する情報を取得するためだけにアプリを起動することである。アプリはこのような仮起動ができるように作成されており、VAS140から仮起動をパラメータにより指定されたときに仮起動する。
また、上記の実施の形態1〜3では、SCS122の機能により表示される初期設定画面から、起動先やどの外部アプリを起動するかの指示を行い、起動選択情報や拡張機能設定データを作成していたが、VAS140が選択画面を表示し、起動選択情報や拡張機能設定データを作成してもよい。
VAS自体は、例えば、複合機初期化部129により起動される。また、VAS140自体を複合機の外部の媒体(ICカード、ネットワークを介して接続されたサーバ等)に格納しておき、そこからVAS140を起動することも可能である。
以下、本明細書に開示される構成を例示的に列挙する。
(第1項) 画像形成処理に関するシステム側の処理を行うサービスモジュールを有し、当該サービスモジュールとは別にアプリケーションを搭載可能に構成された画像形成装置において、
アプリケーションを格納した少なくとも1つの場所を示す起動選択情報を参照し、当該起動選択情報に従って前記少なくとも1つの場所からアプリケーションを起動するアプリケーション起動手段を備えたことを特徴とする画像形成装置。
本構成によれば、種々の場所に外部アプリケーションが保存されている場合でも必要な外部アプリケーションが保存されている媒体を選択して起動することができる。すなわち、アプリケーションの起動を選択的に行える、多種多様な機能を提供することができる画像形成装置を提供できる。
(第2項) 前記少なくとも1つの場所は、ハードディスク装置、画像形成装置に着脱可能な記憶媒体、及び、ネットワークを介して画像形成装置に接続されるコンピュータのうちの1つ又は複数である第1項に記載の画像形成装置。
(第3項) 前記起動選択情報の設定画面を前記画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記起動選択情報として格納する手段を有する第1項に記載の画像形成装置。
本構成によれば、起動させるアプリケーションが格納されている場所の中で利用者に所望の場所を選択させることができ、画像形成装置に多種多様な機能を柔軟に実現させることができる。
(第4項) 前記アプリケーション起動手段は、アプリケーションに関する情報を参照することにより、当該アプリケーションを起動する第1項ないし3項のうちいずれか1項に記載の画像形成装置。
このアプリケーションに関する情報は、例えば、アプリケーションが格納されている媒体に格納されているアプリケーションの名称やアドレス情報である。これにより、目的のアプリケーションを確実に起動できる。
(第5項) 前記情報はアプリケーションのアドレス情報である第4項に記載の画像形成装置。
(第6項) 前記アプリケーション起動手段は、アプリケーションに関する情報の有無により、前記場所にアプリケーションがインストールされているか否かを判断し、インストールされていると判断した場合に前記アプリケーションを起動する第1項ないし3項のうちいずれか1項に記載の画像形成装置。
本構成によれば、インストール済みのアプリケーションを自動的に把握して起動することができ、外部アプリケーションの起動を容易に行うことができる。
上記情報の保存先は特に限定されるものではなく、アプリケーションの保存媒体と同一の媒体としたり、外部アプリケーションの保存媒体とは無関係の媒体に保存することができる。
(第7項) 前記アプリケーション起動手段は、所定のアプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に所定のアプリケーションを起動することを示す情報が設定されている場合に、当該所定のアプリケーションを起動する第1項ないし6項のうちいずれか1項に記載の画像形成装置。
上記の所定のアプリケーションは、例えば外部アプリケーションである。本発明によれば、所定のアプリケーションが存在する場合でも、当該アプリケーションによる拡張機能を利用しない場合には、拡張機能を実行せずに出荷後の機能だけを利用して、画像形成装置の資源の節約を図るとともに処理効率を向上させることができる。
(第8項) 前記アプリケーション起動手段は、アプリケーションごとに、当該アプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に起動することを示す情報が設定されているアプリケーションのみを起動する第1項ないし6項のうちいずれか1項に記載の画像形成装置。
本構成によれば、アプリケーションが多数インストールされている場合にも必要な機能のみを実行することができ、画像形成装置の資源の節約を図るとともに処理効率を向上させることができる。
(第9項) 前記設定情報の設定画面を画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記設定情報として格納する手段を有する第7項または8項に記載の画像形成装置。
本構成によれば、利用者にとって所望のアプリケーションの起動を指定することができる。
(第10項) 前記画像形成装置は、前記サービスモジュールに対してクライアントプロセスとして動作し、前記アプリケーションに対してサーバプロセスとして動作する仮想アプリケーションサービスを更に有し、該仮想アプリケーションサービスが前記アプリケーション起動手段を含む第1項に記載の画像形成装置。
本構成によれば、仮想アプリケーションサービスが、起動選択情報に従って種々のアプリケーションの起動を行うことが可能となる。
(第11項) 前記画像形成装置は、ネットワークを介して当該画像形成装置に接続されるコンピュータから、アプリケーションをhttpプロトコル又はftpプロトコルによって受信し、前記アプリケーション起動手段は、受信したアプリケーションを起動する第2項に記載の画像形成装置。
本構成によれば、ネットワーク上のアプリケーションを一般的なネットワークプロトコルであるhttpプロトコル又はftpプロトコルによって受信するので、プログラム作成労力の軽減を図ることができる。
(第12項) 画像形成処理に関するシステム側の処理を行うサービスモジュールを有し、当該サービスモジュールとは別にアプリケーションを搭載可能に構成された画像形成装置を、
アプリケーションを格納した少なくとも1つの場所を示す起動選択情報を参照し、当該起動選択情報に従って前記少なくとも1つの場所からアプリケーションを起動するアプリケーション起動手段として機能させるプログラム。
(第13項) 前記少なくとも1つの場所は、ハードディスク装置、画像形成装置に着脱可能な記憶媒体、及び、ネットワークを介して画像形成装置に接続されるコンピュータのうちの1つ又は複数である第12項に記載のプログラム。
(第14項) 前記画像形成装置を、前記起動選択情報の設定画面を前記画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記起動選択情報として格納する手段として更に機能させる第12項に記載のプログラム。
(第15項) 前記アプリケーション起動手段は、アプリケーションに関する情報を参照することにより、当該アプリケーションを起動する第12項ないし14項のうちいずれか1項に記載のプログラム。
(第16項) 前記情報はアプリケーションのアドレス情報である第15項に記載のプログラム。
(第17項) 前記アプリケーション起動手段は、アプリケーションに関する情報の有無により、前記場所にアプリケーションがインストールされているか否かを判断し、インストールされていると判断した場合に前記アプリケーションを起動する第12項ないし14項のうちいずれか1項に記載のプログラム。
(第18項) 前記アプリケーション起動手段は、所定のアプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に所定のアプリケーションを起動することを示す情報が設定されている場合に、当該所定のアプリケーションを起動する第12項ないし17項のうちいずれか1項に記載のプログラム。
(第19項) 前記アプリケーション起動手段は、アプリケーションごとに、当該アプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に起動することを示す情報が設定されているアプリケーションのみを起動する第12項ないし17項のうちいずれか1項に記載のプログラム。
(第20項) 前記画像形成装置を、前記設定情報の設定画面を画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記設定情報として格納する手段として更に機能させる第18項または19項に記載のプログラム。
(第21項) 前記アプリケーション起動手段は、ネットワークを介して画像形成装置に接続されるコンピュータから、アプリケーションをhttpプロトコル又はftpプロトコルによって受信し、受信したアプリケーションを起動する第13項に記載のプログラム。
外部アプリ起動部のプログラムによれば、画像形成装置に外部アプリケーションの起動を選択的に行える機能を提供することができる。
(第22項) 第12項ないし21項のうちいずれか1項に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。