JP4373742B2 - 画像形成装置およびアプリ起動制限方法 - Google Patents

画像形成装置およびアプリ起動制限方法 Download PDF

Info

Publication number
JP4373742B2
JP4373742B2 JP2003317280A JP2003317280A JP4373742B2 JP 4373742 B2 JP4373742 B2 JP 4373742B2 JP 2003317280 A JP2003317280 A JP 2003317280A JP 2003317280 A JP2003317280 A JP 2003317280A JP 4373742 B2 JP4373742 B2 JP 4373742B2
Authority
JP
Japan
Prior art keywords
application
image forming
forming apparatus
resource
activation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003317280A
Other languages
English (en)
Other versions
JP2004122773A (ja
Inventor
邦洋 秋吉
光男 安藤
浩行 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003317280A priority Critical patent/JP4373742B2/ja
Priority to EP20030255730 priority patent/EP1398948B1/en
Priority to US10/660,723 priority patent/US20040109188A1/en
Priority to CNA031648738A priority patent/CN1495580A/zh
Priority to CN2006101214658A priority patent/CN1921546B/zh
Publication of JP2004122773A publication Critical patent/JP2004122773A/ja
Priority to US11/923,178 priority patent/US8516475B2/en
Priority to US11/923,207 priority patent/US8305591B2/en
Priority to US11/923,236 priority patent/US8752041B2/en
Application granted granted Critical
Publication of JP4373742B2 publication Critical patent/JP4373742B2/ja
Priority to US13/628,933 priority patent/US9019516B2/en
Priority to US13/907,384 priority patent/US9167113B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Description

この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供するアプリケーションのリソース使用量に応じてアプリケーションの起動の制限を行う画像形成装置および起動制限方法に関するものである。
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
このような従来の複合機では、メモリなどの限られたリソース(資源)の範囲内でプリンタ、コピー、ファクシミリ、スキャナなどの各機能単位ですべてのアプリケーションプログラムが起動される。言い換えれば、従来の複合機では、すべてのアプリケーションプログラムを起動できる程度のリソースが用意されており、アプリケーションプログラムが起動不可能になる状況が生じる場合は想定されていなかった。
特開2002−82806号公報
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
このような新規な複合機では、アプリケーションの少なくとも2つが共通的に必要とするサービスを提供するコントロールサービスをアプリケーションと別個に設けた構成となっているため、アプリケーションのサイズが従来の複合機で動作するアプリケーションプログラムのサイズに比べて小さなものとなっており、アプリケーションの起動および終了が頻繁に行われる。
このため、複合機に搭載されているメモリなどのリソースの使用状況は頻繁に変化し、すべてのアプリケーションを起動した状態とすることができない場合も生じてくる。このような状況でアプリケーションを起動しても、アプリケーションが不正に終了してしまい、複合機の動作が不安定になるという問題がある。
また、かかる新規な複合機は、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載可能な構成となっている。このため、かかる複合機では、出荷時に搭載されているコピー、プリンタ、スキャナ、ファクシミリといった画像形成装置特有のアプリケーション以外に、従来の複合機とは異なるユーザやサードベンダが開発した新規アプリケーションなども多数起動可能となっている。このように、コピー、プリンタ、ファクシミリ、スキャナなど複合機であらかじめ提供されている特有のアプリケーションは、限りのあるリソースを意識して開発されている。一方、第三者が開発する新規アプリケーションの場合は、開発するベンダによって必ずしもリソースを意識して開発されていない。従って、リソース使用量のわからない新規アプリケーションを起動させた場合、複合機の動作が不安定となる可能性が高く、さらに、アプリケーションが使用するリソース量が複合機で使用可能な残リソース量を越えた場合は、リソース不足により複合機の動作が停止するという従来の複合機では問題にならなかった新規な課題が生じてくる。
この発明は上記に鑑みてなされたもので、画像形成装置で使用可能なリソース量情報と、起動しようとするアプリケーションが必要とする必要リソース量とに基づいて、アプリケーションを起動制限することを可能とする画像形成装置を提供することを目的とする。
上記目的を達成するため、請求項1に記載の発明は、複数のアプリケーションを搭載可能に構成された画像形成装置において、前記画像形成装置に搭載された複数のアプリケーションのうち、起動の対象とされたアプリケーションが、前記画像形成装置特有のアプリケーションであるか否かを判定する判定手段と、前記判定手段により、起動の対象とされた前記アプリケーションが、前記画像形成装置特有のアプリケーションでないと判定された場合に、起動の対象とされた前記アプリケーションを実行するために必要な必要リソースの情報と、前記画像形成装置において使用できる使用可能リソースの情報とを取得する情報取得手段と、前記情報取得手段により取得された前記必要リソースの情報と前記使用可能リソースの情報とを比較し、比較の結果に基づき、起動の対象とされた前記アプリケーションに対する起動制限処理を行う起動制限手段とを備える。
本発明によれば、必要リソース情報と、使用可能リソース情報とを比較して起動制限処理を行うこととしたため、リソースが不足しているにもかかわらずアプリケーションを起動することを防止でき、画像形成装置のシステムの安定性を向上させることができる。
請求項2に記載の発明は、請求項1の記載において、前記情報取得手段は、前記アプリケーションの実行ファイルに含まれる必要リソース情報を取得するものである。また、請求項3に記載の発明は、請求項2の記載において、前記情報取得手段は、前記アプリケーションを仮起動することにより、前記必要リソース情報を取得するものである。
本発明によれば、アプリケーションの作成時に実行ファイルに含められた必要リソース情報を取得できる。
請求項4に記載の発明は、請求項1の記載において、前記情報取得手段は、前記必要リソースの情報として、前記アプリケーションが実行された際に使用したリソース量の実績値を取得する。
本発明によれば、実績値を取得するので、正確な必要リソースの情報を取得できる。
請求項5に記載の発明は、請求項4の記載において、前記情報取得手段は、前記実績値を、プロセスが使用するリソースに関する情報を保持するシステム情報から取得するものである。
本発明によれば、正確な必要リソースの情報を取得できる。
請求項6に記載の発明は、請求項1ないし5のうちいずれか1項の記載において、前記情報取得手段は、前記必要リソースの情報として、前記アプリケーションが使用するメモリ領域容量を取得するものである。
本発明によれば、メモリ領域が不足しているか否かのチェックを行うことができる。
請求項7に記載の発明は、請求項6の記載において、前記メモリ領域容量はヒープ領域容量であるとするものである。
本発明によれば、ヒープ領域が不足しているか否かのチェックを行うことができる。
請求項8に記載の発明は、請求項1の記載において、前記起動制限手段は、前記使用可能リソースのうち前記必要リソースの占める割合を、前記画像形成装置におけるオペレーションパネルに表示するものである。
本発明によれば、起動しようとするアプリケーションが使用するリソース量が、使用可能リソース量の中で占める割合をユーザが把握することができる。
請求項9に記載の発明は、請求項1の記載において、前記起動制限手段は、前記起動制限処理として、前記必要リソースの量が前記使用可能リソースの量を超える場合に、前記画像形成装置におけるオペレーションパネルに警告を表示するものである。本発明によれば、ユーザがリソース不足を知ることができる。
請求項10に記載の発明は、請求項9の記載において、前記起動制限手段は、前記アプリケーションが、前記使用可能リソースとは異なるリソースを、前記使用可能リソースの代わりに使用することができる場合には、アプリケーションに当該異なるリソースを使用させるものである。
本発明によれば、あるリソースが不足している場合でも、他のリソースを用いることにより、アプリケーションを実行することができる。
請求項11に記載の発明は、請求項1の記載において、前記必要リソースは、前記アプリケーションが使用する機器であり、前記起動制限手段は、当該機器が前記画像形成装置に備えられていないときに、前記起動制限処理を行うものである。
本発明によれば、例えば、ADFを使用するアプリケーションを、ADFを装着していない画像形成装置で起動しようとしたときに、起動制限処理を行うことができる。
請求項12に記載の発明は、請求項1ないし11の記載において、画像形成処理で使用されるハードウェア資源と、ハードウェア資源の制御を行うコントロールサービスと、コントロールサービスをサーバとしたクライアントプロセスとして動作し、前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスを有するものである。また、請求項13に記載の発明は、請求項12の記載において、前記仮想アプリケーションサービスは前記情報取得手段及び前記起動制限手段を含むものである。
請求項14〜26に記載の発明は、上記の画像形成装置に適した方法の発明であり、請求項27〜30に記載の発明は、上記の画像形成装置に適したプログラム、記録媒体の発明である。これらの発明によっても、上記の画像形成装置の発明と同様の作用効果を奏する。
本発明によれば、必要リソース情報と、使用可能リソース情報とを比較して起動制限処理を行うこととしたため、リソースが不足しているにもかかわらずアプリケーションを起動することを防止でき、画像形成装置のシステムの安定性を向上させることができる。
以下に添付図面を参照して、この発明にかかる画像形成装置およびアプリ起動制限方法の好適な実施の形態を詳細に説明する。
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101と、カラーレーザプリンタ(Color LP)102と、スキャナ、ファクシミリ、ハードディスク、メモリ、ネットワークインタフェースなどのハードウェアリソース103を有するとともに、プラットホーム120とアプリケーション(以下、アプリともいう)130と仮想アプリケーションサービス(VAS:Virtual Application Service)140から構成されるソフトウェア群110とを備えている。
一般のパーソナルコンピュータの場合、多数のアプリを順次起動していくと、リソース不足が生じてストールする可能性がある。一方、本発明のような複合機の場合は、複合機に予めインストールされている複合機特有のコピー、プリンタ、スキャナ、ファクシミリといったアプリに関しては、ストールして利用できなくなることない。
しかし、ユーザやサードベンダなどが開発した新規アプリが搭載可能な複合機の場合、複数のアプリケーションが起動設定されている状態で、更に新規のアプリケーションを起動設定した場合、リソース不足が生じることが考えられる。
なお、起動設定とは、インストールされているアプリケーションを、複合機の電源投入時に起動するように設定することである。すなわち、本実施の形態の複合機では、アプリケーションをインストールしただけではアプリケーションは起動せず、起動させるには、起動設定をする必要がある。なお、起動設定をすることにより、当該アプリケーションを起動させる旨を示す情報が複合機の記憶装置に記憶される。そして、電源投入時に、その情報が参照され、そのアプリケーションが起動される。
なお、起動設定という方法をとらずに、アプリを随時起動できるように複合機を構成することも可能である。
複合機100における仮想アプリケーションサービス(VAS)140は、アプリ130とプラットホーム120との間に配置されている。このVAS140は、アプリの使用するリソース使用量に関する使用予定リソース情報(必要リソース情報ともいう)を例えばアプリケーションから取得して、リソース使用情報ファイルをハードディスク(HD)に生成する(後述する図2のHD200)。取得する使用予定リソース情報としては、メモリに確保されるテキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズがある。ここで、テキストメモリ領域とは、各アプリのプログラムがロードされるメモリ領域である。ヒープ領域とは、各アプリが動的に確保するメモリ領域である。スタック領域とは、各アプリが実行されるとき、または各アプリが内部のモジュールを呼び出すときに使用する引数などを格納するために確保される領域である。
アプリケーションから使用予定リソース量を取得する場合、アプリケーションの開発時に、アプリケーションの実行ファイル中にアプリケーションが使用するリソースに関する情報を含めておく。そして、VAS140はアプリケーションを、後述する仮起動することにより、プロセス間通信によりアプリケーションからリソースに関する情報を取得する。
また、アプリケーションとは別のファイルに当該アプリケーションが使用するリソースに関する情報を記録しておくことにより、VAS140は当該ファイルを参照することによっても使用予定リソース量を取得できる。
また、当該アプリが実際に複合機で実行されたことがある場合には、当該アプリのリソース使用実績値を取得することにより、当該アプリが必要とするリソース量を取得できる。
また、VAS140は、既に起動設定されているアプリ及びシステムプログラムのリソース使用量と、複合機が有する総リソース量とから、複合機で使用可能なリソース量を取得する。既に起動設定されているアプリ及びシステムプログラムのリソース使用量として、例えば、これらのプログラムが複合機で実行されることにより複合機に記録される実績値を用いることができる。また、既に起動設定されているアプリ及びシステムプログラムのリソース使用量をリソース使用情報ファイルに記録しておき、これを参照するようにしてもよい。このリソース使用量を、複合機の総リソース量から引くことにより、複合機で使用可能なリソース量を求めることができる。
そして、VAS140は、あるアプリに対する起動設定時に、当該アプリの使用予定リソース量と、複合機で使用可能なリソース量とを比較する。そして、リソースが不足していれば、起動制限する。すなわち、起動設定しない。また、起動設定しないことの他、アプリが制限起動モードを有している場合には、アプリが制限起動モードで起動されるように設定を行う。なお、制限起動モードとは、例えば、メモリ領域が不足している場合に、メモリの代わりにハードディスクを使用して実行させるモードのことである。
また、上記のように、起動設定時ではなく、起動設定されたアプリが起動するときにVAS140がリソースチェックを行い、起動制限を行うことも可能である。
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(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、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御を行う。
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とを有している。これらの各アプリは、複合機特有(画像形成装置特有)のアプリであり、起動時にVAS140に対して自プロセスのプロセスIDとともにアプリ登録要求メッセージを送信し、アプリ登録要求メッセージを受信したVAS140によって、起動したアプリに対する登録処理が行われる。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機100には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規アプリ117,118を開発して搭載することが可能となっている。図1では、この新規アプリ117,118を搭載した例を示している。この新規アプリ117,118は、複合機特有のアプリ以外のアプリに相当するものである。
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。
図2に複合機100のハードウェア構成例を示す。
複合機100は、コントローラ160と、オペレーションパネル175と、ファックスコントロールユニット(FCU)176と、プリンタ等の画像形成処理に特有のハードウェア資源であるエンジン部177とを含む。コントローラ160は、CPU161と、システムメモリ162と、ノースブリッジ(NB)163と、サウスブリッジ(SB)164と、ASIC166と、ローカルメモリ167と、HDD168と、ネットワークインターフェースカード(NIC)169と、SDカード用スロット170と、USBデバイス171と、IEEE1394デバイス172と、セントロニクス173とを含む。なお、メモリ162、167はRAM、ROM等を含む。FCU176およびエンジン部177は、コントローラ160のASIC166にPCIバス178で接続されている。
CPU161が、複合機100にインストールされるアプリケーション、コントロールサービス等のプログラムを、メモリから読み出して実行する。
図3は、実施の形態1にかかる複合機100のVAS140の構成と、VAS140と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。
仮想アプリケーションサービス(VAS)140のプロセスには、ディスパッチャ144と、制御スレッド143と、リソース使用情報取得スレッド141と、アプリ起動制限手段としてのアプリ起動制限スレッド142とが動作している。
ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信を監視し、受信したメッセージに応じて制御スレッド143、リソース使用情報取得スレッド141、アプリ起動制限スレッド142に対して処理要求を行うものである。
アプリケーションを起動する場面において、実施の形態1の複合機100では、ディスパッチャ144は、コントロールサービスからアプリ起動要求メッセージを受信したとき、受信したアプリ起動要求メッセージを制御スレッド143に送信し、制御スレッド143からリソース使用情報取得スレッド141とアプリ起動制限スレッド142に対して処理要求を行う。
また、起動設定の場面でも、例えば、ディスパッチャ144が処理要求メッセージを制御スレッド143に送信し、制御スレッド143からリソース使用情報取得スレッド141とアプリ起動制限スレッド142に対して処理要求を行う。
制御スレッド143は、ディスパッチャ144からの処理要求メッセージを受信して、リソース使用情報取得処理およびアプリ起動制限処理を行う。ここで、アプリ起動制限処理とは、必ずアプリ起動制限を行うものではなく、起動するアプリのリソース使用量に応じて、アプリを制限的に起動する場合も含む。
また、制御スレッド143は、HD200に格納されたリソース使用情報ファイル201を参照することにより、インストールされたアプリの中でリソース使用量に関するリソース使用情報が記録されていないアプリの有無を判別することができる。そして、制御スレッド143は、リソース使用情報取得スレッドからリソース使用情報を取得して、アプリ起動制限スレッド142に送信する。なお、アプリ起動制限スレッド142が、リソース使用情報ファイル201を参照してもよい。アプリ起動制限スレッド142では、複合機の総リソース量から既に起動設定されているアプリが使用するリソースを除いた使用可能なリソース量情報と、これから起動設定、もしくは、これから起動しようとする新規アプリが使用する予定の使用予定リソース量とを比較して、使用予定リソース量の方が使用可能なリソース量を越えている場合は、起動制限処理を行う。
リソース使用情報取得スレッド141は、制御スレッド143から処理要求を受けると、汎用OS121が管理するRAM210上のproc構造体211(またはu領域212)を参照して、起動しようとするアプリが使用するテキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズを取得して、リソース使用情報ファイル201としてハードディスク(HD)200に生成する。かかるリソース使用情報は、アプリごとのレコードとして記録される。また、前述したように、リソース使用情報取得スレッド141は、アプリの実行ファイル中に含まれる当該アプリの使用予定リソース情報を取得し、それをリソース使用情報ファイル201に記録してもよい。
また、リソース使用情報取得スレッド141は、複合機における使用可能リソース量を算出するために必要な、現在のプロセスが使用しているリソース量もproc構造体211から取得できる。
上記のように各スレッドが処理を行う代わりに、VAS140が1プロセスで処理を行うようにしてもよい。
上記VAS140のプログラムは、ソフトウェア開発キット(SDK:Software Development Kit)等の一部または全部として、CD−ROMまたはFD(フレキシブルディスク)などの記憶媒体に実行可能な形式またはインストール可能な形式のファイルで提供される。また、このような実行可能な形式またはインストール可能な形式のVAS140のプログラムファイルを、ネットワーク経由で取得可能な方法で提供するようにしても良い。
図4は、HD200に格納されるリソース使用情報ファイル201の内容例を示す説明図である。図4に示すように、リソース使用情報ファイル201には、アプリID(プロダクトIDともいう)ごとに、テキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズなどが記録されている。
なお、このファイルにアプリが使用する機器(ADFなど)を記録しておいてもよい。これにより、複合機における実際の機器構成により起動制限を行うことも可能になる。
図5は、リソース使用情報取得スレッド141が参照するproc構造体211の一例を示す説明図である。図5に示すように、proc構造体211には、各プロセスごとに、プロセスID(p_pid)、テキストメモリ領域サイズ、ヒープメモリ領域サイズ、スタック領域サイズなどが格納されている。このproc構造体211は、プロセス実行時、プロセス終了時、およびプロセスの状態が変化したときに汎用OS121によって更新される。
また、リソース使用情報取得スレッド141は、汎用OS121のシステムコールあるいはコントロールサービスで提供されるサービス関数呼び出しによって、proc構造体211から、既に起動設定されているアプリやシステムが使用するリソース量を取得し、総リソース量からそのリソース量を除いた使用可能な残リソース量(例えば、テキストメモリ領域の残容量、ヒープ領域の残容量、スタック領域など)を取得する。
アプリ起動制限スレッド142は、コントロールサービス層150から新規アプリの起動要求があった場合、もしくは起動設定要求があった場合、リソース使用情報ファイル201を参照して、その新規アプリが使用するリソース使用量に関する情報を取得する。また、アプリ起動制限スレッド142は、前記の残リソース量を、例えば、リソース使用情報取得スレッド141から取得する。そして、両者を比較して、アプリの起動を制限する必要があるか否かを判断する。
起動設定においては、アプリ起動制限スレッド142は、アプリ起動制限が必要と判断すると、画面に後述するような警告を表示する。
また、実際の起動の場面においては、アプリ起動制限スレッド142は、アプリ起動制限が必要と判断すると、アプリ起動要求のあったアプリに対して起動制限要求メッセージを送信する。一方、アプリ起動制限をすべきでないと判断した場合は、アプリ起動要求のあったアプリに対して起動要求メッセージを送信して、アプリの通常起動処理が行われる。
図6は、複合機のオぺレーションパネル上にユーザアプリの起動制限レベルをヒストグラムで表示した図である。この図は、起動設定時に表示されるものである。図6に表示されるヒストグラムは、コピーアプリなどの複合機特有のアプリやシステムプログラムが使用するリソースを除いた使用可能な残リソース量のみを示したものである。すなわち、残リソースを複数のユーザアプリ(新規アプリ)でどのように分配して利用すれば良いかをユーザが視覚的に判断できるようにしたものである。ヒストグラムの内訳は、1番目に起動設定したユーザアプリ221のリソース使用量と、2番目に起動設定したユーザアプリ222のリソース使用量とがそれぞれ表示され、これから起動設定しようとする3番目のユーザアプリ223の場合は、予想リソース使用量を示している。図6の例では、3番目のユーザアプリ223を起動すると残リソース量が危険レベルに達するので、起動設定できない。ここでは、残リソース量をヒストグラムで表すだけでなく、起動制限レベルを安全(青)、注意(黄)、危険(赤)の3段階に色分け表示して、さらに視認効果を向上させている。なお、これ以外にも、危険レベルになると表示を点滅させたり、音声ガイダンスや警告音を発するようにしても勿論良い。
上記のようなヒストグラムを含む、起動設定時にオペレーションパネルに表示される画面の例を次に示す。なお、これから説明する画面は、例えば、VAS140が表示を行う。
図7は、「簡易スキャナ」と「簡易コピー」が既に起動設定されている場合の起動設定画面を示す図である。同図に示すように、「簡易スキャナ」と「簡易コピー」が使用するメモリ消費量が右側のヒストグラム251に表示される。
ここで、次に「簡易プリント」を起動設定するためにこれを選択すると、図8に示すように、「簡易プリント」の部分が数秒間ブリンクする。そして、メモリ消費量は100パーセントとなり、これもブリンクする。
その後、図9又は図10に示す画面が表示される。図9は、他のアプリケーションの選択を促す画面である。OKを押すことにより、図7の画面に戻る。図10は、メモリ不足でも起動設定を可能とする画面の例である。なお、キーが割り付けられていないアプリケーションを選択した場合には、図11に示す画面が表示される。
図7の状態から、「簡易スキャナ」を選択し、起動設定が完了すると、図12の画面を経て、図13に示す画面が表示される。図13に示すように、「簡易スキャナ」の予定メモリ消費量の分だけ、ヒストグラムの表示値が増加(252)する。
あるアプリの起動設定を解除する際には図14〜図18に示す画面が表示される。
図14の状態から、起動設定解除しようとする「簡易スキャナ」を指定し、OKを押すと、図15に示すように、「簡易スキャナ」がブリンク表示される。ここでOKを押すことにより、図16の画面が表示され、OKを押すことにより、図17の画面を経て図18の画面が表示される。図18に示すように、「簡易スキャナ」の分のメモリ消費量の分がヒストグラムから減少する。
次に、複合機100のVAS140によるアプリ起動制限処理について図19のフローチャートを参照して説明する。図19に示す処理は、起動設定時におけるVAS140による処理を示すフローチャートである。
まず、VAS140があるアプリに対する起動設定要求を受信すると(ステップS601)、VAS140は、そのアプリに対するリソース使用情報ファイルが作成されているか否かをHD200を参照して判断する(ステップS602)。
リソース使用情報ファイルが作成されている場合、VAS140は、リソース使用情報をリソース使用情報ファイル201から取得する(ステップS603)。また、上記ステップS602で、新規アプリのリソース使用情報ファイルが作成されていなかった場合は、VAS140は、リソース使用情報ファイルを作成する(ステップS604)。これは、例えば、制御スレッド143が、リソース使用情報取得スレッド141に対してリソース使用情報ファイルを作成するように処理要求することにより、リソース使用情報取得スレッド141が作成を行う。
ステップS604のリソース使用情報ファイルの作成処理の詳細なサブルーチンは、後述する図21のフローチャートを用いて説明する。このリソース使用情報ファイルが作成処理されると、上記したステップS603の処理が行われる。
続いて、VAS140は、既に起動設定されているアプリおよびシステムプログラムが使用するリソースを除いた使用可能なリソース量情報を取得する(ステップS605)。既に起動設定されているアプリおよびシステムプログラムが使用するリソースは、汎用OS121のシステムコールあるいはコントロールサービス層150で提供されるサービス関数呼び出しを用いることにより、proc構造体から取得できる。なお、既に起動設定されているアプリのうち、リソース使用情報ファイルにリソース情報を有するものに対しては、リソース使用情報ファイルからリソース情報を取得してもよい。
続いて、VAS140は、起動設定しようとするアプリが使用する予定の使用予定リソース量に関する情報と、使用可能なリソース量情報とを比較する(ステップS606)。ここで、アプリ起動制限スレッド142は、使用予定リソース量が使用可能リソース量を越えているか否かを判断し(ステップS607)、越えている場合は、図9に示したような画面を表示して、ユーザに警告を行う(ステップS608)。越えていない場合、通常のアプリ起動設定処理が行われる(ステップS609)。
なお、起動設定しようとするアプリケーションが、メモリの代わりにハードディスクを使用して実行できるモードを有している場合には、図9に示した警告に代えて、そのモードを使用するか否かをユーザに尋ねる画面を表示してもよい。ユーザがそのモードを使用することを選択した場合には、起動時にそのモードでアプリが起動される。なお、そのモードを有していることは、VAS140がアプリ情報を取得するときに把握し、その旨をリソース使用情報ファイルに記録しておくことができる。
図20は、起動設定したアプリを起動する場合に、起動制限処理を行う場合のフローチャートである。
まず、ディスパッチャ144がコントロールサービス層150からアプリ起動要求メッセージを受信すると、アプリ起動要求メッセージをそのアプリのプロセスIDとともに制御スレッド143に受け渡す。制御スレッド143は、アプリ起動要求メッセージとプロセスIDとをディスパッチャ144から受信すると、起動要求のあったアプリが複合機特有のアプリか否かを判断する(ステップS701)。複合機特有のアプリ以外のアプリの場合、すなわち、新規アプリに対する起動要求があった場合(ステップS702)、制御スレッド143は、そのアプリのリソース使用情報ファイルが作成されているか否かをHD200を参照して判断する(ステップS703)。
リソース使用情報ファイルが作成されている場合、制御スレッド143は、起動要求のあった新規アプリのリソース使用情報をリソース使用情報ファイル201からアプリ起動制限スレッド142へ送る(ステップS604)。また、上記ステップS703で、新規アプリのリソース使用情報ファイルが作成されていなかった場合は、制御スレッド143は、リソース使用情報取得スレッド141に対してリソース使用情報ファイルを作成するように処理要求する(ステップS705)。このリソース使用情報ファイルが作成処理されると、上記したステップS704の処理が行われる。
続いて、VAS140は、図19と同様に、使用可能な残リソース量を取得する(ステップS706)。
また、アプリ起動制限スレッド142では、起動要求のあった新規アプリが使用する使用予定リソース量に関する情報と、複合機で使用可能なリソース量情報とを比較する(ステップS707)。
ここで、アプリ起動制限スレッド142は、リソース使用量がリソース量を越えているか否かを判断し(ステップS708)、越えている場合、画面に警告を表示して当該アプリの起動を制限する。(ステップS709)。また、新規アプリが起動制限モードを有している場合には、そのモードを使用するか否かをユーザに問い合わせる画面を表示し、そのモードで実行することが許可された場合にのみ、そのモードでアプリを起動するようにしてもよい。使用予定リソース量が使用可能リソース量を越えていない場合、アプリ起動制限処理は行わず、通常のアプリ起動処理が行われる(ステップS710)。このステップS710の通常のアプリ起動処理は、図20の最初のステップS601において、複合機特有のアプリに対する起動要求があった場合も同様に行われる。本発明において、複合機特有のアプリの場合は、使用するリソースがあらかじめ確保されているため、何時起動処理を行ってもリソース不足が生じない。
図21は、リソース使用情報ファイルの作成処理の動作を説明するフローチャートである。
まず、リソース使用情報を得たいアプリをVAS140が仮起動させる(ステップS801)。そして、プロセス間通信によりリソース情報をアプリから取得する(ステップS802)。仮起動させることにより得たリソース情報に基づき、HD200内のリソース使用情報ファイル201に各アプリ単位でリソース使用情報ファイルを作成する(ステップS803)。図4は、作成されたリソース使用情報ファイルの一例を示したものであるが、アプリIDごとに、その使用リソースとして、テキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズごとにリソース量が格納されている。
また、起動設定しようとするアプリが既に実行されたことがあり、リソース使用量の実績値がproc構造体211にある場合には、アプリからリソース情報を取得することに代えて、当該実績値を取得してもよい。この実績値を用いて、リソース使用情報ファイルをアプリが起動されるたびに更新すれば、学習機能を持たせたのと同様に常に正確なリソース使用情報を得ることができる。なお、取得する度に実績リソース量が変動する場合は、実績値の平均値、あるいは、最大値(MAX)を、リソース使用情報ファイルに記録するリソース情報として使用できる。
このRAM210のproc構造体211のリソース使用情報を使ってリソース使用情報ファイルを作成する場合は、リソース使用情報取得スレッド141がアプリID、プロセスIDとリソース使用情報取得要求メッセージを制御スレッド143から受信すると、RAM210のproc構造体211を参照して該当するアプリIDのプロセスIDのブロックの位置を検索する。そして、検索されたプロセスIDのブロックから、テキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズのリソース使用情報を取得し、アプリIDとともにリソース使用情報ファイル201に記録する。
次に、アプリケーションの仮起動について説明する。仮起動は、複合機のリソースを使用することになるアプリの通常起動(アプリ本来の機能を奏するための起動を通常起動と呼ぶ)とは別の起動である。仮起動では、アプリはアプリ本来の動作に必要なメモリ確保等のリソース取得を行わず、VAS140とのプロセス間通信処理のみを行う。そして、アプリは、リソース情報をVAS140に提供する。仮起動したアプリのプロセスは、VAS140との通信処理が終了すれば終了する。また、アプリの仮起動に関する機能は、アプリ本来の機能によらず、本実施の形態における複合機100で動作するアプリに共通する機能である。従って、例えば、ベンダーがアプリを開発する場合、ベンダーに、仮起動の機能を含むプログラムテンプレートを提供し、そのプログラムテンプレートを用いてベンダーが複合機用のアプリを開発することができる。なお、アプリにリソース情報を含めるには、例えば、ベンダーが、使用予定リソース情報を記録したインクルードファイルを作成し、アプリのコンパイル時にインクルードする。
図22に、仮起動の機能を含むアプリのプログラム記述(メイン関数)の概要を示す。なお、この記述を上記のプログラムテンプレートとして提供する。
図22に示すように、このプログラム記述は、アプリケーションを仮起動するか通常起動するかを引数(−v)によって指定する。これにより、VASがアプリを起動する際に、通常起動と仮起動とを容易に使い分けることができる。すなわち、引数(−v)を使って仮起動を指定すると、仮起動が実行され、アプリ情報提供処理がなされる。また、仮起動が指定されていない場合は、通常起動を行って、アプリ本来の動作を行う。
このように、実施の形態1にかかる複合機100では、アプリが使用するリソース使用量に関する情報を取得してリソース使用情報ファイル201を生成し、複合機で使用可能なリソース量と、起動設定要求された新規アプリの使用予定リソース量とを比較して、使用予定リソース量が使用可能リソース量を越えている場合は、新規アプリの起動を制限するので、リソース不足により動作が不安定になったり、ストールする心配がなくなり、ユーザやサードベンダが開発した新規アプリを自由に搭載して起動させることができる。
また、実施の形態1にかかる複合機100では、新規アプリのリソース使用状況によって複合機特有のアプリの実行ができなくなることを未然に回避して、複合機100のシステムの安定性を向上させることができる。
なお、実施の形態1にかかる複合機100では、VAS140が全てのアプリケーション130に対してリソース使用情報取得処理、アプリ起動制限処理を行っているが、一部のアプリに対してのみかかる処理を行うように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリにのみリソース使用情報取得処理、アプリ起動制限処理を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成しても良い。
また、新規アプリのリソース使用量が変動することを考えると、使用予定リソース量が使用可能リソース量を越えないまでも、一定の範囲内にある場合は、新規アプリの起動を制限するようにしてもよい。
(実施の形態2)
実施の形態1にかかる複合機100は、VAS140が全アプリケーションに対して1つのみ存在するものであったが、この実施の形態2にかかる複合機では、各アプリごとに一つのVASが起動し、各VASは対応するアプリに対してのみリソース使用情報取得およびアプリ起動制限を行うものである。
図23は、実施の形態2にかかる複合機800の構成を示すブロック図である。図23に示すように、複合機800では、複数の仮想アプリケーションサービス(VAS)841〜848がアプリケーション130の各アプリごとに動作している点が、実施の形態1にかかる複合機100と異なっている。
VAS841〜848は、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116、新規アプリ117および118に対応して、リソース使用情報取得処理およびアプリ起動制限処理を行う。
図24は、実施の形態2にかかる複合機800のVAS841〜848の構成と、VAS841〜848と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。
また、実施の形態2にかかる複合機800では、実施の形態1の複合機100と異なり、図24に示すように、各VAS841〜848と各アプリとの間にはVAS制御プロセス(デーモン)801が動作している。
このVAS制御プロセス(デーモン)801は、各アプリに対応したVAS841〜848を生成する。また、VAS制御プロセス801は、HD200に格納されたリソース使用情報ファイル201を参照して、起動要求もしくは起動設定要求が行われたアプリについて、リソース使用情報ファイル201にリソース使用情報が記録されているか否かをチェックして、リソース使用情報ファイルを作成する必要があるか否かを判断する。そして、アプリのリソース使用情報が記録されていない場合は、リソース使用情報取得スレッド141がリソース使用情報を取得して、アプリ起動制限スレッド142に送るとともに、リソース使用情報ファイル201を作成する。また、アプリのリソース使用情報が記録されている場合は、リソース使用情報ファイル201からリソース使用情報を読み出してアプリ起動制限スレッド142に送る。
仮想アプリケーションサービス(VAS)841〜848のプロセスには、ディスパッチャ144と、リソース使用情報取得スレッド141と、アプリ起動制限スレッド142とが動作している。これらの各スレッドの機能は、実施の形態1における対応するスレッドの機能と同様である。
このように実施の形態2にかかる複合機800によれば、実施の形態1にかかる複合機100と同様に、複合機800のシステムの安定性を向上させることができる。
また、実施の形態2にかかる複合機800では、VAS841〜848は起動されるアプリケーション130ごとに別個に起動されるので、複数のアプリケーション130に対する起動制限処理を各アプリケーション130に対応したVAS841〜848によって並列に実行できることから、起動アプリケーションに対する起動制限処理を効率的に行うことができる。
なお、実施の形態2にかかる複合機800では、全てのアプリごとに別個にVAS841〜848を起動していたが、一部のアプリに対してのみVASを起動するように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリに対してのみVAS847,848を起動してリソース使用情報の取得処理やアプリ起動制限処理を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成することができる。
また、実施の形態1および2にかかる複合機100,800では、リソースとして、テキストメモリ領域、ヒープ領域、スタック領域などを利用してリソース使用情報取得およびアプリ起動制限を行っていたが、かかるリソースは一例であって、これ以外のリソースを利用した構成としても勿論良い。
実施の形態1にかかる複合機の構成を示すブロック図である。 実施の形態1にかかる複合機のハードウェア構成図である。 実施の形態1にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。 実施の形態1にかかる複合機におけるリソース使用情報ファイルの内容例を示す説明図である。 実施の形態1にかかる複合機におけるVASのリソース使用情報取得スレッドが参照するproc構造体の一例を示す説明図である。 複合機のオぺレーションパネル上にユーザアプリの起動制限レベルをヒストグラムで表示した図である。 「簡易スキャナ」と「簡易コピー」が既に起動設定されている場合の起動設定画面を示す図である。 「簡易プリント」を選択した場合の画面である。 他のアプリケーションの選択を促す画面である。 メモリ不足でも起動設定を可能とする画面の例である。 キーが割り付けられていないアプリケーションを選択した場合の画面である。 起動設定が完了したことを示す画面である。 「簡易スキャナ」の起動設定が完了した後の画面である。 起動設定済みのアプリケーションを示す画面である。 「簡易スキャナ」を選択した場合の画面である。 起動設定解除を確認する画面である。 解除が完了したことを示す画面である。 解除後の画面である。 起動設定時における起動制限処理手順を示すフローチャートである。 起動時における起動制限処理手順を示すフローチャートである。 リソース使用情報ファイルの作成処理のフローチャートである。 仮起動の機能を含むアプリのプログラム記述(メイン関数)の概要を示す図である。 実施の形態2にかかる複合機の構成を示すブロック図である。 実施の形態2にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。
符号の説明
100 複合機
101 白黒レーザプリンタ
102 カラーレーザプリンタ
103 ハードウェアリソース
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117,118 新規アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 アプリケーション
140,841〜848 仮想アプリケーションサービス(VAS)
141 リソース使用情報取得スレッド
142 アプリ起動制限スレッド
143 制御スレッド
144 ディスパッチャ
150 コントロールサービス層
200 ハードディスク(HD)
201 リソース使用情報ファイル
210 RAM
211 proc構造体
212 u領域
221 ユーザアプリ
222 ユーザアプリ
223 ユーザアプリ
800 複合機
801 VAS制御プロセス(デーモン)

Claims (30)

  1. 複数のアプリケーションを搭載可能に構成された画像形成装置において、
    前記画像形成装置に搭載された複数のアプリケーションのうち、起動の対象とされたアプリケーションが、前記画像形成装置特有のアプリケーションであるか否かを判定する判定手段と、
    前記判定手段により、起動の対象とされた前記アプリケーションが、前記画像形成装置特有のアプリケーションでないと判定された場合に、起動の対象とされた前記アプリケーションを実行するために必要な必要リソースの情報と、前記画像形成装置において使用できる使用可能リソースの情報とを取得する情報取得手段と、
    前記情報取得手段により取得された前記必要リソースの情報と前記使用可能リソースの情報とを比較し、比較の結果に基づき、起動の対象とされた前記アプリケーションに対する起動制限処理を行う起動制限手段と
    を備えたことを特徴とする画像形成装置。
  2. 前記情報取得手段は、前記アプリケーションの実行ファイルに含まれる必要リソース情報を取得する請求項1に記載の画像形成装置。
  3. 前記情報取得手段は、前記アプリケーションを仮起動することにより、前記必要リソース情報を取得する請求項2に記載の画像形成装置。
  4. 前記情報取得手段は、前記必要リソースの情報として、前記アプリケーションが実行された際に使用したリソース量の実績値を取得する請求項1に記載の画像形成装置。
  5. 前記情報取得手段は、前記実績値を、プロセスが使用するリソースに関する情報を保持するシステム情報から取得する請求項4に記載の画像形成装置。
  6. 前記情報取得手段は、前記必要リソースの情報として、前記アプリケーションが使用するメモリ領域容量を取得する請求項1ないし5のうちいずれか1項に記載の画像形成装置。
  7. 前記メモリ領域容量はヒープ領域容量である請求項6に記載の画像形成装置。
  8. 前記起動制限手段は、前記使用可能リソースのうち前記必要リソースの占める割合を、前記画像形成装置におけるオペレーションパネルに表示する請求項1に記載の画像形成装置。
  9. 前記起動制限手段は、前記起動制限処理として、前記必要リソースの量が前記使用可能リソースの量を超える場合に、前記画像形成装置におけるオペレーションパネルに警告を表示する請求項1に記載の画像形成装置。
  10. 前記起動制限手段は、前記アプリケーションが、前記使用可能リソースとは異なるリソースを、前記使用可能リソースの代わりに使用することができる場合には、アプリケーションに当該異なるリソースを使用させる請求項9に記載の画像形成装置。
  11. 前記必要リソースは、前記アプリケーションが使用する機器であり、前記起動制限手段は、当該機器が前記画像形成装置に備えられていないときに、前記起動制限処理を行う請求項1に記載の画像形成装置。
  12. 画像形成処理で使用されるハードウェア資源と、
    ハードウェア資源の制御を行うコントロールサービスと、
    コントロールサービスをサーバとしたクライアントプロセスとして動作し、前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスを有する請求項1ないし11のうちいずれか1項に記載の画像形成装置。
  13. 前記仮想アプリケーションサービスは前記情報取得手段及び前記起動制限手段を含む請求項12に記載の画像形成装置。
  14. 複数のアプリケーションを搭載可能に構成された画像形成装置におけるアプリケーションの起動制限方法であって、
    前記画像形成装置に搭載された複数のアプリケーションのうち、起動の対象とされたアプリケーションが、前記画像形成装置特有のアプリケーションであるか否かを判定する判定ステップと、
    前記判定ステップにおいて、起動の対象とされた前記アプリケーションが、前記画像形成装置特有のアプリケーションでないと判定された場合に、起動の対象とされた前記アプリケーションを実行するために必要な必要リソースの情報と、前記画像形成装置において使用できる使用可能リソースの情報とを取得する情報取得ステップと、
    前記情報取得ステップにおいて取得された前記必要リソースの情報と前記使用可能リソースの情報とを比較し、比較の結果に基づき、起動の対象とされた前記アプリケーションに対する起動制限処理を行う起動制限ステップと
    を備えたことを特徴とする起動制限方法。
  15. 前記情報取得ステップにおいて、前記画像形成装置は、前記アプリケーションの実行ファイルに含まれる必要リソース情報を取得する請求項14に記載の起動制限方法。
  16. 前記情報取得ステップにおいて、前記画像形成装置は、前記アプリケーションを仮起動することにより、前記必要リソース情報を取得する請求項15に記載の起動制限方法。
  17. 前記情報取得ステップにおいて、前記画像形成装置は、前記必要リソースの情報として、前記アプリケーションが実行された際に使用したリソース量の実績値を取得する請求項14に記載の起動制限方法。
  18. 前記画像形成装置は、前記実績値を、プロセスが使用するリソースに関する情報を保持するシステム情報から取得する請求項17に記載の起動制限方法。
  19. 前記情報取得ステップにおいて、前記画像形成装置は、前記必要リソースの情報として、前記アプリケーションが使用するメモリ領域容量を取得する請求項14ないし18のうちいずれか1項に記載の起動制限方法。
  20. 前記メモリ領域容量はヒープ領域容量である請求項19に記載の起動制限方法。
  21. 前記起動制限ステップにおいて、前記画像形成装置は、前記使用可能リソースのうち前記必要リソースの占める割合を、前記画像形成装置におけるオペレーションパネルに表示する請求項14に記載の起動制限方法。
  22. 前記起動制限ステップにおいて、前記画像形成装置は、前記起動制限処理として、前記必要リソースの量が前記使用可能リソースの量を超える場合に、前記画像形成装置におけるオペレーションパネルに警告を表示する請求項14に記載の起動制限方法。
  23. 前記起動制限ステップにおいて、前記画像形成装置は、前記アプリケーションが、前記使用可能リソースとは異なるリソースを、前記使用可能リソースの代わりに使用することができる場合には、アプリケーションに当該異なるリソースを使用させる請求項22に記載の起動制限方法。
  24. 前記必要リソースは、前記アプリケーションが使用する機器であり、前記起動制限ステップにおいて、前記画像形成装置は、当該機器が前記画像形成装置に備えられていないときに、前記起動制限処理を行う請求項14に記載の起動制限方法。
  25. 前記画像形成装置は、
    画像形成処理で使用されるハードウェア資源と、
    ハードウェア資源の制御を行うコントロールサービスと、
    コントロールサービスをサーバとしたクライアントプロセスとして動作し、前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスを有する請求項14ないし24のうちいずれか1項に記載の起動制限方法。
  26. 前記情報取得ステップ及び前記起動制限ステップは、前記仮想アプリケーションサービスにより実行される請求項25に記載の起動制限方法。
  27. 複数のアプリケーションを搭載可能に構成された画像形成装置を、
    前記画像形成装置に搭載された複数のアプリケーションのうち、起動の対象とされたアプリケーションが、前記画像形成装置特有のアプリケーションであるか否かを判定する判定手段、
    前記判定手段により、起動の対象とされた前記アプリケーションが、前記画像形成装置特有のアプリケーションでないと判定された場合に、起動の対象とされた前記アプリケーションを実行するために必要な必要リソースの情報と、前記画像形成装置において使用できる使用可能リソースの情報とを取得する情報取得手段、
    前記情報取得手段により取得された前記必要リソースの情報と前記使用可能リソースの情報とを比較し、比較の結果に基づき、起動の対象とされた前記アプリケーションに対する起動制限処理を行う起動制限手段、
    として機能させるプログラム。
  28. 前記情報取得手段は、前記アプリケーションの実行ファイルに含まれる必要リソース情報を取得する請求項27に記載のプログラム。
  29. 前記情報取得手段は、前記アプリケーションを仮起動することにより、前記必要リソース情報を取得する請求項28に記載のプログラム。
  30. 請求項27ないし29のうちいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2003317280A 2002-09-13 2003-09-09 画像形成装置およびアプリ起動制限方法 Expired - Lifetime JP4373742B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2003317280A JP4373742B2 (ja) 2002-09-13 2003-09-09 画像形成装置およびアプリ起動制限方法
EP20030255730 EP1398948B1 (en) 2002-09-13 2003-09-12 Image forming apparatus, methods used therein and a computer readable storage medium
US10/660,723 US20040109188A1 (en) 2002-09-13 2003-09-12 Image forming apparatus and methods used in the image forming apparatus
CN2006101214658A CN1921546B (zh) 2002-09-13 2003-09-15 成像装置及用在成像装置中的方法
CNA031648738A CN1495580A (zh) 2002-09-13 2003-09-15 成象装置及用在成象装置中的方法
US11/923,178 US8516475B2 (en) 2002-09-13 2007-10-24 Image forming apparatus and methods used in the image forming apparatus
US11/923,207 US8305591B2 (en) 2002-09-13 2007-10-24 Image forming apparatus and methods used in the image forming apparatus
US11/923,236 US8752041B2 (en) 2002-09-13 2007-10-24 Image forming apparatus and methods used in the image forming apparatus
US13/628,933 US9019516B2 (en) 2002-09-13 2012-09-27 Image forming apparatus and methods used in the image forming apparatus
US13/907,384 US9167113B2 (en) 2002-09-13 2013-05-31 Image forming apparatus and methods used in the image forming apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002269280 2002-09-13
JP2003317280A JP4373742B2 (ja) 2002-09-13 2003-09-09 画像形成装置およびアプリ起動制限方法

Publications (2)

Publication Number Publication Date
JP2004122773A JP2004122773A (ja) 2004-04-22
JP4373742B2 true JP4373742B2 (ja) 2009-11-25

Family

ID=32301638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003317280A Expired - Lifetime JP4373742B2 (ja) 2002-09-13 2003-09-09 画像形成装置およびアプリ起動制限方法

Country Status (1)

Country Link
JP (1) JP4373742B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4215037B2 (ja) 2004-12-27 2009-01-28 セイコーエプソン株式会社 リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法
JP5273222B2 (ja) * 2005-03-14 2013-08-28 株式会社リコー 機器、情報処理方法、プログラム、及び記録媒体
US8488135B2 (en) 2005-03-14 2013-07-16 Ricoh Company, Ltd. Easy modification to method of controlling applications in image forming apparatus
JP5013999B2 (ja) * 2007-07-10 2012-08-29 株式会社リコー 画像形成装置、プログラム制御方法、及び制御プログラム
US9003394B2 (en) 2007-07-10 2015-04-07 Ricoh Company, Ltd. Program determining apparatus and program determining method
JP4793419B2 (ja) * 2008-09-25 2011-10-12 富士ゼロックス株式会社 情報処理装置、画像形成装置およびプログラム
JP5478368B2 (ja) * 2010-06-03 2014-04-23 日本電信電話株式会社 メモリ消費量測定方法及びメモリ消費量測定プログラム
JP5392203B2 (ja) 2010-08-19 2014-01-22 株式会社リコー 情報処理装置、情報処理システム、インストール支援方法、及びインストール支援プログラム
JP5948855B2 (ja) * 2011-02-16 2016-07-06 株式会社リコー 機器、プログラム管理方法、プログラム管理プログラム、及び記録媒体
JP5498986B2 (ja) * 2011-04-28 2014-05-21 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5263358B2 (ja) * 2011-09-09 2013-08-14 株式会社リコー 情報処理装置、プログラム制御方法、及び制御プログラム
JP5949529B2 (ja) * 2012-12-21 2016-07-06 富士ゼロックス株式会社 画像処理装置及びプログラム
JP5686154B2 (ja) * 2013-05-02 2015-03-18 株式会社リコー 情報処理装置、プログラム制御方法、及び制御プログラム
JP6235973B2 (ja) * 2014-08-22 2017-11-22 日本電信電話株式会社 サーバ
JP2018128530A (ja) * 2017-02-07 2018-08-16 株式会社東芝 画像処理装置及び情報提供方法
JP2021105752A (ja) * 2018-04-17 2021-07-26 京セラドキュメントソリューションズ株式会社 電子機器、情報処理プログラムおよび情報処理システム

Also Published As

Publication number Publication date
JP2004122773A (ja) 2004-04-22

Similar Documents

Publication Publication Date Title
JP4276909B2 (ja) 画像形成装置およびアプリ起動制御方法
US8614807B2 (en) Image forming apparatus, user restriction method and use history generation method
US9167113B2 (en) Image forming apparatus and methods used in the image forming apparatus
JP4373742B2 (ja) 画像形成装置およびアプリ起動制限方法
US8115943B2 (en) Image forming apparatus and print process method
US20110066960A1 (en) Program download system, program download method, image forming apparatus, program delivery server, and download program
JP4344203B2 (ja) 画像形成装置および情報表示方法
JP2004110779A (ja) 画像形成装置
JP2004297792A (ja) 画像形成装置及び機能キー割り付け方法
CN110784606B (zh) 图像处理装置、图像处理***以及应用启动控制方法
JP2004303210A (ja) ファイル作成方法、サーバ、コンピュータ端末、記録媒体、情報処理装置及びプログラム追加システム
JP2004030601A (ja) リソース情報によりアプリケーション起動判断を行う装置及び方法
JP2004005612A (ja) リソース情報を取得する装置及び方法
JP4394740B2 (ja) 画像形成装置、方法、及びプログラム
JP4565024B2 (ja) アプリケーションプログラム、画像形成装置、及びアプリケーションプログラム実行方法
JP4128506B2 (ja) 画像形成装置およびアプリケーション情報取得方法
JP4001531B2 (ja) 画像形成装置
JP4676977B2 (ja) 画像形成装置、アプリケーション情報取得方法、及びプログラム
JP2006311590A (ja) 画像形成装置およびアプリケーションインストール方法
JP4246560B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP2004127253A (ja) 情報処理装置およびバージョンチェック方法
JP4677054B2 (ja) 画像形成装置、プログラム、記録媒体、及び方法
JP5333561B2 (ja) 情報処理装置、プログラム、及び方法
JP2003330735A (ja) 画像形成装置および共有メモリ調停方法
JP2006271005A (ja) 画像形成装置およびアプリケーションインストール方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090901

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090904

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4373742

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

EXPY Cancellation because of completion of term