JP4504447B2 - 画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体 - Google Patents

画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP4504447B2
JP4504447B2 JP2008265684A JP2008265684A JP4504447B2 JP 4504447 B2 JP4504447 B2 JP 4504447B2 JP 2008265684 A JP2008265684 A JP 2008265684A JP 2008265684 A JP2008265684 A JP 2008265684A JP 4504447 B2 JP4504447 B2 JP 4504447B2
Authority
JP
Japan
Prior art keywords
application
resource
image forming
forming apparatus
amount
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 - Fee Related
Application number
JP2008265684A
Other languages
English (en)
Other versions
JP2009032287A (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 JP2008265684A priority Critical patent/JP4504447B2/ja
Publication of JP2009032287A publication Critical patent/JP2009032287A/ja
Application granted granted Critical
Publication of JP4504447B2 publication Critical patent/JP4504447B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Debugging And Monitoring (AREA)
  • Control Or Security For Electrophotography (AREA)

Description

この発明は、アプリケーションが使用するリソースに関する情報を取得するための技術に関する。
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
このような従来の複合機では、メモリなどの限られたリソース(資源)の範囲内でプリンタ、コピー、ファクシミリ、スキャナなどの各機能単位ですべてのアプリケーションプログラムが起動される。言い換えれば、従来の複合機では、すべてのアプリケーションプログラムを起動できる程度のリソースを用意しており、アプリケーションプログラムが起動不可能になる状況が生じる場合は想定されていない。
特開平11−112701号公報
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
このような新規な複合機では、アプリケーションの少なくとも2つが共通的に必要とするサービスを提供するコントロールサービスをアプリケーションと別個に設けた構成となっているため、アプリケーションのサイズが従来の複合機で動作するアプリケーションプログラムのサイズに比べて小さなものとなっており、アプリケーションの起動および終了が頻繁に行われる。
このため、複合機に搭載されているメモリなどのリソースの使用状況は頻繁に変化し、すべてのアプリケーションを起動した状態とすることができない場合も生じてくる。このような状況でアプリケーションを起動しても、アプリケーションが不正に終了してしまい、複合機の動作が不安定になるという問題がある。
また、かかる新規な複合機は、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載可能な構成となっている。このため、複合機には、その出荷時に搭載されるコピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるアプリケーションの他、従来の複合機と異なり、このようなユーザやサードベンダが開発した新規アプリケーションなど、アプリケーションが多数起動可能となっている。コピー、プリンタ、ファクシミリ、スキャナなどの複合機であらかじめ提供されるアプリケーションの場合、限りのあるリソースを意識した構造となっているが、第三者が開発する新規アプリケーションの場合には、開発するベンダによって必ずしもリソースを意識した構造となっていない場合も考えられる。このため、限りのあるリソースの範囲内で新規アプリケーションの起動を行うと複合機が不安定になる可能性が高いという従来の複合機では問題にならなかった新規な課題が生じてくる。
このような課題を解決するには、アプリケーションが使用するリソースの種類や量と、複合機が実際に備えているリソースに基づき、必要に応じてアプリケーションの起動制限を行なうことが必要になる。このためには、アプリケーションが使用するリソースの種類や量を取得しておく必要がある。
この発明は上記に鑑みてなされたもので、アプリケーションが使用するリソースに関する情報を取得するとともに、取得した情報を用いてアプリケーションの起動判断を行う技術を提供することを目的とする。
上記の目的を達成するために、請求項1に記載の発明は、所定のサービスプログラムと、アプリケーションと、当該アプリケーションを実行させるためのリソースを備えた画像形成装置であって、前記画像形成装置は、前記アプリケーションが固定的に使用するリソースの量である使用予定リソース量を格納したアプリケーション情報格納手段と、使用量が動的に変動するリソースに関し、前記アプリケーションが使用した量の実績値であるリソース使用量を格納したリソース使用情報格納手段と、を備えており、前記画像形成装置が、前記所定のサービスプログラムを実行することにより、前記アプリケーションの起動の際に、前記アプリケーション情報格納手段から、前記アプリケーションの使用予定リソース量を取得し、前記リソース使用情報格納手段から、前記アプリケーションのリソース使用量を取得し、更に、前記アプリケーションが固定的に使用するリソースに関する前記画像形成装置における使用可能量を取得し、前記使用量が動的に変動するリソースに関する前記画像形成装置における使用量を取得し、前記アプリケーションが固定的に使用するリソースに関する前記使用予定リソース量と、当該リソースの使用可能量とを比較し、前記使用量が動的に変動するリソースに関する前記リソース使用量と、当該リソースの使用量とを比較することにより、前記アプリケーションの起動を継続するか否かを判断することを特徴とする画像形成装置である。
請求項2に記載の発明は、前記アプリケーションの起動を継続するか否かを判断する処理において、前記固定的に使用するリソースに関する前記使用予定リソース量が、前記使用可能量を超える場合に、前記アプリケーションの起動を継続できないと判断し、前記アプリケーションに、起動停止要求を送信することを特徴とする請求項1に記載の画像形成装置である。
請求項3に記載の発明は、前記アプリケーションが固定的に使用するリソースはメモリであり、前記使用量が動的に変動するリソースはCPUであることを特徴とする請求項1又は2に記載の画像形成装置である。
また、請求項4に記載の発明は、前記アプリケーション情報格納手段は、前記アプリケーションに関して、前記画像形成装置に実装されるべき機器を示す機器構成情報を更に格納しており、前記アプリケーションの起動を継続するか否かを判断する処理において、前記アプリケーション情報格納手段から前記機器構成情報を取得し、前記画像形成装置のメモリから前記画像形成装置に実装されている機器を示す機器構成情報を取得し、これらの機器構成情報を比較することを特徴とする請求項1ないし3のうちいずれか1項に記載の画像形成装置である。
請求項5に記載の発明は、前記画像形成装置に実装された各機器から機器構成情報を受信し、当該機器構成情報をメモリに格納する手段を更に有することを特徴とする請求項4に記載の画像形成装置である。
請求項6に記載の発明は、前記機器構成情報を格納したことを通知するためのメッセージを、前記画像形成装置において実行されるソフトウエアモジュールに送信する手段を有することを特徴とする請求項5に記載の画像形成装置である。本発明によれば、前記画像形成装置において実行されるソフトウエアモジュールが機器構成情報が格納されていることを認識できる。そして、ソフトウエアモジュールが上記メモリにアクセスすることにより機器構成情報を取得できる
請求項に記載の発明は、請求項1ないしのうちいずれか1項の記載において、前記画像形成装置は、予め組み込まれたソフトウェアを備えており、前記アプリケーションは、前記予め組み込まれたソフトウェアとは別に前記画像形成装置に搭載されるプログラムであるとしたものである。
請求項に記載の発明は、請求項1ないしのうちいずれか1項の記載において、前記画像形成装置は、画像形成処理におけるハードウェアリソースと、当該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、を備え、前記所定のサービスプログラムは、前記コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスプログラムであるとしたものである。
本発明によれば、リソース情報を用いることにより、画像形成装置にアプリケーションを追加する際に、リソース量に応じた起動判断を行うことが可能となる。
請求項16に記載の発明は上記画像形成装置の発明に対応するアプリケーション起動判断方法の発明である。請求項1721に記載の発明は上記画像形成装置の発明に対応するプログラムの発明である。請求項22に記載の発明は、当該プログラムを記録したコンピュータ読み取り可能な記録媒体の発明である。
上記のように本発明によれば、アプリケーションが使用するリソースに関する情報を取得するとともに、取得した情報を用いてアプリケーションの起動判断を行うことが可能となる。
以下に添付図面を参照して、本発明の実施の形態である画像形成装置について詳細に説明する。
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、スキャナ、ファクシミリ、ハードディスク、メモリ(RAM、ROMなど)、ネットワークインタフェースなどのハードウェアリソース103を有するとともに、プラットホーム120とアプリケーション130と仮想アプリケーションサービス(VAS:Vertial Application Service)140から構成されるソフトウェア群110とを備えている。
仮想アプリケーションサービス(VAS)140は、アプリケーション130とプラットホーム120の間に配置される。VAS140は、アプリケーション130の各アプリが初めて起動されたときに、各アプリが使用するリソースの使用状況を取得して、リソース使用情報ファイルをハードディスク(HD)に生成する。取得するリソースとしては、メモリに確保されるテキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズである。ここで、テキストメモリ領域とは、アプリケーション130の各アプリのプログラムがロードされるメモリ領域である。ヒープ領域とは、各アプリが動的に確保するメモリ領域であり、各アプリが使用する作業領域を含む。スタック領域とは、各アプリが実行されるとき、または各アプリが内部のモジュールを呼び出すときに使用する引数などを格納するために確保される領域である。
また、VAS140は、各アプリの起動が2回目以降の場合、リソース使用情報ファイルからアプリが必要とする各リソースの容量を取得するとともに、各リソースの残容量を取得して、両者を比較し、アプリの起動の可否を判断する。具体的には、リソースの残容量がアプリが必要とする各リソースの容量より小さい場合には、起動されたアプリに対して起動停止要求メッセージを送信する。
なお、図1は、全てのアプリケーションに対してVAS140が配置される例を示しているが、図2に示すように、新規アプリケーションにのみに対して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によって、起動したアプリに対する登録処理が行われるようになっている。なお、図2に示す構成の場合には、VAS140が配置されていないアプリケーションは、アプリ登録要求メッセージをSCS122に対して送信する。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機100には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規アプリ117,118を開発して搭載することが可能となっている。図1、図2では、この新規アプリ117,118を搭載した例を示している。
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。
図3は、実施の形態1にかかる複合機100のVAS140の構成と、VAS140と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図3では、アプリケーション130の例として、プリンタアプリ111、コピーアプリ112、新規アプリ117,118を示しているが、他のアプリでも同様の構成である。
仮想アプリケーションサービス(VAS)140のプロセスには、ディスパッチャ144と、制御スレッド143と、リソース使用情報取得スレッド141と、アプリ起動判断スレッド142とが動作している。
ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信を監視し、受信したメッセージに応じて制御スレッド143、リソース使用情報取得スレッド141、アプリ起動判断スレッド142に処理要求を行うものである。実施の形態1の複合機100では、ディスパッチャ144は、各アプリが起動する際にアプリからアプリ登録要求メッセージを受信したとき、受信したアプリ登録要求メッセージを制御スレッド143に送信するようになっている。
制御スレッド143は、ディスパッチャ144からアプリ登録要求メッセージを受信してアプリ登録処理を行う。ここで、アプリ登録処理とは、RAM210にアプリ登録テーブル(図示せず)を生成し、アプリ登録要求メッセージを送信したアプリの識別情報であるアプリIDをアプリ登録テーブルに記録する処理をいう。
また、制御スレッド143は、HD200に格納されたリソース使用情報ファイル201を参照して、アプリ登録要求を行ったアプリについて、リソース使用情報が記録されているか否かをチェックすることにより、アプリの起動が初回の起動か2回目以降の起動かを判断する。そして、初回の起動である場合にはリソース使用情報取得スレッド141に対してアプリID、アプリのプロセスIDとともにリソース使用情報取得処理要求を行い、2回目以降の起動である場合には、アプリ起動判断スレッド142に対してアプリID、アプリのプロセスIDとともにアプリ起動判断処理要求を行う。
リソース使用情報取得スレッド141は、制御スレッド143からの処理要求を受けると、汎用OS121が管理するRAM210上のproc構造体211(またはu領域212)を参照して、各アプリが使用するテキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズ、CPU占有時間を取得して、リソース使用情報ファイル201としてハードディスクに生成する。かかるリソース使用情報はアプリごとのレコードとして記録される。なお、上記のCPU占有時間とは、例えば最近のCPU占有時間である。
上記VAS140のプログラムは、ソフトウェア開発キット(SDK:Software Development Kit)等の一部または全部として、CD−ROMまたはFD(フレキシブルディスク)などの記憶媒体に実行可能な形式またはインストール可能な形式のファイルで提供される。また、このような実行可能な形式またはインストール可能な形式のVAS140のプログラムファイルを、ネットワーク経由で取得可能な方法で提供するようにしても良い。なお、複合機100にインストールされるアプリケーションについてもCD−ROMまたはFD(フレキシブルディスク)などの記憶媒体に格納して提供できる。更に、ネットワーク経由で取得可能な方法で提供するようにしても良い。
図4は、HD200に格納されるリソース使用情報ファイル201の内容例を示す説明図である。図4に示すように、リソース使用情報ファイル201には、アプリIDごとに、テキストメモリサイズ、ヒープサイズ、スタックサイズ、CPU占有時間が記録されている。
図5は、リソース使用情報取得スレッド141が参照するproc構造体211の一例を示す説明図である。図5に示すように、proc構造体211には、各プロセスごとに、プロセスID(p_pid)、CPU占有時間、テキストメモリサイズ、ヒープメモリサイズ、スタックサイズなどが格納されている。このproc構造体211は、プロセス実行時、プロセス終了時、およびプロセスの状態が変化したときに汎用OS121によって更新される。proc構造体211の各情報は、VAS140からのシステムコールによってVAS140が取得することができる。
アプリ起動判断スレッド142は、アプリの起動が2回目以降である場合に、リソース使用情報ファイル201を参照して、アプリ登録要求を行ったアプリが必要とする各リソースの容量を取得する。また、アプリ起動判断スレッド142は、汎用OS121のシステムコールあるいはコントロールサービスで提供されるサービス関数呼び出しにより、proc構造体211を参照することにより、画像メモリ領域の残容量、ヒープ領域の残容量、スタック領域の残容量を取得する。そして、両者を比較して、アプリ起動の可否を判断する。また、アプリ起動判断スレッド142は、汎用OS121のシステムコールあるいはコントロールサービスで提供されるサービス関数呼び出しにより、CPU稼働率を取得する。
そして、CPU稼働率が一定値を超えているか否か、およびCPU占有時間が一定時間を超えているか否かによってアプリ起動の可否を判断する。なお、CPU占有時間とCPU稼働率との関係、すなわち、CPU稼働率の値に応じてアプリ起動すべきと判断するCPU占有時間の関係は予め定めておくが、複合機100によって任意に定めることができる。
アプリ起動判断スレッド142は、アプリ起動が可能と判断した場合には、アプリ登録要求をしたアプリに対して起動可能メッセージを送信する。一方、アプリ起動を続行すべきでないと判断した場合には、アプリ登録要求をしたアプリに対して起動終了要求メッセージを送信する。
次に、このように構成された複合機100のVAS140によるアプリ起動判断処理について説明する。図6は、VAS140の制御スレッド143によるアプリ登録およびアプリ起動回数判断の処理手順を示すフローチャートである。
ディスパッチャ144が起動する際に、アプリからアプリ登録要求メッセージを受信すると、アプリ登録要求メッセージをそのアプリのプロセスIDとともに制御スレッド143に受け渡す。制御スレッド143は、アプリ登録要求メッセージとプロセスIDをディスパッチャ144から受信すると(ステップS501)、アプリを識別するアプリIDを決定し、アプリ登録テーブル(図示せず)にアプリIDを記録することにより、アプリ登録を行う(ステップS502)。なお、アプリIDは、コピーアプリ112、プリンタアプリ111など既存のアプリケーションについては、予め定められており、各アプリIDをVAS140が内部で保持している。また、サードベンダなどが開発した新規アプリ117,118については、最初の起動時におけるアプリ登録処理の中で決定される。
そして、制御スレッド143は、HD200に格納されているリソース使用情報ファイル201を参照し(ステップS503)、リソース使用情報ファイル201の中にアプリ登録処理で登録したアプリIDのリソース使用情報が格納されているか否かをチェックすることにより、アプリ登録要求を行ったアプリが最初の起動か、2回目以降の起動かを判断する(ステップS504)。
そして、リソース使用情報ファイル201の中にアプリ登録要求を行ったアプリのアプリIDに対するリソース使用情報が格納されていない場合には(ステップS504:No)、初回の起動であると判断し、アプリが使用するリソースのリソース使用情報を取得するため、リソース使用情報取得スレッド141に対して、アプリIDおよびアプリのプロセスIDとともにリソース使用情報取得要求メッセージを送信する(ステップS505)。
一方、リソース使用情報ファイル201の中にアプリ登録要求を行ったアプリのアプリIDに対するリソース使用情報が格納されている場合には(ステップS504:Yes)、2回目以降の起動であると判断し、アプリ起動の可否を判断するため、アプリ起動判断スレッド142に対し、アプリIDおよびアプリのプロセスIDとともにアプリ起動判断要求メッセージを送信する(ステップS506)。
図7は、リソース使用情報取得スレッド141によるリソース使用情報取得の処理手順を示すフローチャートである。リソース使用情報取得スレッド141では、アプリの最初の起動時に次の処理が実行される。
リソース使用情報取得スレッド141は、アプリID、プロセスIDとリソース使用情報取得要求メッセージを制御スレッド143から受信すると(ステップS601)、proc構造体211を参照して該当するアプリIDのプロセスIDのブロックの位置を検索する(ステップS602)。そして、検索されたプロセスIDのブロックから、テキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズおよびCPU占有時間のリソース使用情報を取得する(ステップS603)。そして、取得したこれらのリソース使用情報を、アプリIDとともにリソース使用情報ファイル201に記録する(ステップS604)。これにより、アプリが起動時に必要となるリソースの情報がリソース使用情報ファイル201に格納されることになる。
図8は、アプリ起動判断スレッド142によるアプリ起動可否判断の処理手順を示すフローチャートである。アプリ起動判断スレッド142では、アプリの2回目以降の起動時に次の処理が実行される。
アプリ起動判断スレッド142は、アプリID、プロセスIDとアプリ起動判断要求メッセージを制御スレッド143から受信すると(ステップS701)、HD200に格納されているリソース使用情報ファイル201から該当するアプリIDのリソース使用情報のレコードを検索し、テキストメモリ領域サイズ、ヒープ領域サイズ、スタック領域サイズおよびCPU占有時間を取得する(ステップS702)。次に、アプリ起動判断スレッド142は、システムコールあるいはコントロールサービス関数の呼び出しによって、proc構造体から各プロセスによるリソースの使用量を取得することにより、現在におけるメモリの残容量を得る(ステップS703)。このとき、取得される残容量は、テキストメモリ領域の残容量、ヒープ領域の残容量、スタック領域の残容量である。
そして、アプリ起動判断スレッド142は、リソース使用情報ファイル201から取得したアプリ起動に必要なテキストメモリ領域サイズとテキストメモリ領域の残容量とを比較する(ステップS704)。比較の結果、テキストメモリ領域サイズがテキストメモリ領域の残容量より大きい場合には(ステップS704:No)、アプリを実行することができないと判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。
一方、テキストメモリ領域サイズがテキストメモリ領域の残容量以下の場合には(ステップS704:Yes)、アプリ実行に必要なテキストメモリ領域を現在の状況で確保できると判断する。そして、次に、リソース使用情報ファイル201から取得したアプリの実行に必要なヒープ領域サイズとヒープ領域の残容量とを比較する(ステップS705)。比較の結果、ヒープ領域サイズがヒープ領域の残容量より大きい場合には(ステップS705:No)、アプリを実行することができないと判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。
一方、ヒープ領域サイズがヒープ領域の残容量以下の場合には(ステップS705:Yes)、アプリ実行に必要なヒープ領域を現在の状況で確保できると判断する。そして、次に、リソース使用情報ファイル201から取得したアプリの実行に必要なスタック領域サイズとスタック領域の残容量とを比較する(ステッ
プS706)。比較の結果、スタック領域サイズがスタック領域の残容量より大きい場合には(ステップS706:No)、アプリを実行することができないと判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。
一方、スタック領域サイズがスタック領域の残容量以下の場合には(ステップS706:Yes)、アプリ実行に必要なスタック領域を現在の状況で確保できると判断する。そして、次に、システムコールの発行によって、現在のCPU稼働率を取得する(ステップS707)。そして、予め定めたCPU稼働率に対して許容された時間内にCPU占有時間が含まれるか否かを判断する(ステップS708)。そして、許容された時間外である場合(ステップS708:No)、例えば、CPU稼働率50〜60%のとき、CPU占有時間が60ms以下の場合にはアプリ起動を続行する対応関係を定めている場合において、CPU稼働率55%で、かつCPU占有時間が80msである場合には、かかる状態でアプリを実行するとシステム全体が不安定になると判断して、アプリに対してアプリ起動終了要求メッセージを送信する(ステップS709)。
一方、CPU占有時間が許容された時間内である場合(ステップS708:Yes)、たとえば上記例のCPU稼働率55%でCPU占有時間が40msの場合には、アプリ実行が安定動作すると判断する。これにより、すべてのリソースを確保できることがわかったので、次に、アプリ起動判断スレッド142は、アプリに対してアプリ起動可能通知メッセージを送信する(ステップS710)。
なお、各アプリは、アプリ起動判断スレッド142からアプリ起動可能通知メッセージを受信すると、そのまま処理実行を継続する。一方、各アプリは、アプリ起動判断スレッド142からアプリ起動終了要求メッセージを受信すると、ただちにアプリの実行を終了する。また、アプリ起動終了要求メッセージを受信したアプリが、それまでに確保していたリソースを解放してから実行を停止するようにしてもよい。
なお、アプリ起動判断スレッド142は、アプリの起動を停止すべきとの判断をした場合には、更に、MCS125などのコントロールサービスに対して、テキストメモリ領域、ヒープ領域あるいはスタック領域を増大して確保する旨の要求メッセージを送信して、アプリ起動に必要なサイズを確保してからアプリに対して起動可能通知メッセージを送信するように構成しても良い。この場合には、単にアプリ起動終了要求を行う場合に比べて、ユーザの利便性の向上を図ることができる。
このように、実施の形態1にかかる複合機100では、仮想アプリケーションサービス140のリソース使用情報取得スレッド141によって、アプリケーション130が使用するリソースに関する情報を取得してリソース使用情報ファイル201を生成することが可能である。そして、アプリ起動判断スレッド142によって、アプリケーション130が起動されたときに、テキストメモリ領域残容量、ヒープ領域残容量、スタック領域残容量、CPU稼働率を取得し、取得したこれらのリソースの状態と、リソース使用情報ファイル201の中に記録されたアプリケーション130が使用するリソースの情報とに基づいてアプリケーション130の起動可否を判断することができる。これにより、リソースの状況によってアプリケーション130の実行ができなくなることを未然に回避して、複合機100のシステムの安定性を向上させることができる。また、サードベンダが開発した新規アプリ117,118がリソースの限界を意識した処理を行っていない場合でも、リソース不足に伴ってシステムが不安定になることを回避でき、複合機100のシステムの安定性を向上させることができる。
なお、実施の形態1にかかる複合機100では、VAS140が全てのアプリケーション130に対してリソース使用情報取得処理、アプリ起動判断処理を行っているが、図2に示したように一部のアプリに対してのみかかる処理を行うように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリにのみリソース使用情報取得処理、アプリ起動判断処理を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成しても良い。
また、上記のように初回の起動時のリソースの使用量をリソース使用情報ファイル201に記録して後の起動判断に用いる他、アプリケーションが実行されているその実行期間(起動から終了まで)の中で定期的にproc構造体を参照することによりリソースの使用量を複数回取得し、その中の平均値をリソース使用情報ファイル201に記録するようにしてもよい。また、複数回取得した中での最大値をリソース使用情報ファイル201に記録するようにしてもよい。
また、上記の実施の形態のように、初回の実行時の値を求めて記録しておくことの他、アプリケーションの実行の度に上記の平均値を求め、その平均値が前回の平均値を超えた場合にリソース使用情報ファイル201を更新するようにしてもよい。また、アプリケーションの実行の度に上記の最大値を求め、その最大値が前回の最大値を超えた場合にリソース使用情報ファイル201を更新するようにしてもよい。更に、アプリケーションの実行毎の上記平均値を別に記録しておき、これらの中の平均値をリソース使用情報ファイル201に記録するようにしてもよい。また、アプリケーションの実行毎の上記最大値を別に記録しておき、これらの中の平均値又は最大値をリソース使用情報ファイル201に記録するようにしてもよい。
(実施の形態2)
次に本発明の実施の形態2について説明する。実施の形態1では、VAS140がアプリケーションの起動可否を判断していたが、実施の形態2では、VAS140からリソース量に関する判定メッセージをアプリケーションが受信することにより、アプリケーションが起動の可否等を判断することも可能な構成としている。また、メモリやCPUのみでなく、複合機に接続されているユニットなどのシステム機器構成情報も取得することが可能であり、これを起動の判断に使用することが可能となっている。
実施の形態2の構成は、図1、もしくは図2に示した実施の形態1の構成と同様である。また、以下説明するVAS140による処理は、図3に示したようにスレッドとして実行してもよいし、VAS140のプロセスとして実行してもよい。
実施の形態1では、アプリの起動実績を記録したリソース使用情報ファイルをアプリケーションが使用を予定するリソース量を格納したファイルとして使用しているが、実施の形態2では、CPU使用量のように使用量が動的に変動するリソースについては実績を記録したリソース使用情報ファイルを使用し、メモリ領域のようにアプリケーションが固定的に使用するリソースについては、アプリケーションから起動時に申告される使用リソース情報を使用する。なお、この使用リソース情報は、アプリケーションの初回の起動時にVAS140がアプリケーションから(より詳細には所定のメモリ領域から)取得し、アプリケーション管理ファイルとして複合機のハードディスクに記録されるものである。なお、固定的に使用するリソースとは、アプリケーションの実行の度における使用量の変化がないか、変化が少ないリソースのことである。
図9にアプリケーション管理ファイルの内容例を示す。同図に示すように、アプリケーション名、バージョンなどの情報と、メモリやシステム機器構成を含む使用リソース情報が記録されている。また、RAM(本実施の形態では複合機のNV−RAM(nonvolatile RAM)を使用する)にアプリケーション管理ファイルのHD200における場所を示す情報が格納される。
図10に、新規アプリケーションに係るNV−RAMの構成例とHDの構成例を示す。なお、ここでいう新規アプリケーションとは、図1、図2におけるアプリケーション117、118に対応するものである。
同図に示すように、NV−RAMには登録済みの新規アプリケーション毎に、アプリケーションのプロダクトID、使用NV−RAMサイズ、NV−RAMにおける使用領域の開始アドレスを示すオフセットなどが記録される。また、NV−RAMに記録されたプロダクトIDに対応してHD200に当該アプリケーション用の領域が設けられる。
例えば、アプリケーション1に対応して、HD200にディレクトリが設けられ、その中に、アプリケーション1に対してシステム(VAS140)が使用する領域とアプリケーション1自身が使用する領域が設けられる。図9に示したアプリケーション管理ファイルはシステム使用領域の中に格納される。
次に、アプリケーションの起動の際に、VAS140が実行する処理を図11のフローチャートを用いて説明する。
実施の形態1と同様に、アプリケーションが起動する際に、VAS140がアプリ登録要求メッセージを受信すると(ステップS801)、当該アプリケーションに対応するアプリケーション管理ファイルがあるか否かをHD200にアクセスすることにより調べる(ステップS802)。アプリケーション管理ファイルがなければ、アプリケーションから申告される情報に基づきそれを作成する(ステップS803)。なお、アプリケーション管理ファイルがあるか否かはNV−RAMにアクセスすることにより判断してもよい。
アプリケーション管理ファイルがあればそこから当該アプリケーションが使用する予定のリソース情報を取得する(ステップS804)。なお、アプリケーション管理ファイルを用いる代わりにアプリケーションから申告されるリソース情報を用いてもよい。また、CPU使用量(実績値)に関しては、実施の形態1で説明したような方法でCPU使用量に関するリソース使用情報ファイルを作成しておき、そこから取得する。すなわち、CPU使用量に関しては初回の起動時には判断に用いず、2回目以降の起動時に判断に用いる。なお、CPU使用量を起動の判断に用いないようにしてもよい。また、リソース使用情報ファイルの内容を、アプリケーション管理ファイルに記録するようにしてもよい。
次に、現在の複合機100におけるリソース情報を取得する(ステップS805)。そして、メモリ容量などのリソースに関しては現在の複合機100における残容量を求めておく。そして、ステップS804にて取得した使用予定リソース量と現在のリソース量とを、使用予定リソースにおける個々のリソース毎に比較することにより、使用予定リソース量が現在のシステムリソース量を超えているか否かを調べる(ステップS806)。また、システム機器構成についてのリソース(ユニット等)については、アプリケーションが使用する予定のリソースが現在のリソースの中にあるか否かを調べる(ステップS806)。
使用予定リソース量が現在のシステムリソース量を超えてらず、かつ、不足しているシステム機器構成リソースがない場合には、アプリケーションの起動を継続する(ステップS807)。使用予定リソース量が現在のシステムリソース量を超えているリソースがある場合、もしくは、不足しているシステム機器構成リソースがある場合、リソース判定結果通知メッセージをアプリケーションに対して送信する(ステップS808)。このメッセージの内容に基づき、アプリケーションは起動を継続するか否かの判断を行う。なお、本実施の形態ではリソース判定結果通知メッセージは、使用予定リソース毎に、アプリケーションが必要とするシステム機器構成(ユニットなど)上のリソースについては当該リソースの有無(有りの場合OK、無しの場合NG)、また、メモリ領域などのリソースについては使用予定リソース量が現在のシステムリソース量を超えていなければOK、超えていればNGを示す情報が含まれる。
次に、リソース判定結果通知メッセージを受信したアプリケーションの動作について図12を参照して説明する。
VAS140からリソース判定結果通知メッセージを受信すると(ステップS901)、メッセージに含まれる最初のリソースについて、当該リソースがNG判定か否かをチェックする(ステップS902)。
NG判定でなければ次のリソースがあるか否かをチェックして(ステップS903)、あれば次のリソースについてのチェックを行う。ステップS902でNG判定であれば、当該リソースに関する制限モードがあれば当該リソースに関する使用不可フラグをアプリケーションに設定する(ステップS904のYES、ステップS905)。なお、制限モードとしては、一部のシステム機器構成における機器などを使用しないこと、もしくは、所定のメモリ領域の使用量を削減することなどがあるが、図12に示す例は、対象のリソースを使用しない場合について示している。
この場合、アプリケーションが操作パネル上に当該リソースがNG判定であることを表示し、制限モードでの動作を許容するか否かをユーザに問い合わせ、ユーザが制限モードでの動作を許容する場合のみ制限付きで起動を続行するようにしてもよい。
また、CPUパワーが不足しているとの判定結果に対しては、その旨を操作パネルに表示し、動作が遅くなることを許容するか否かをユーザに問い合わせ、許容する場合に起動を継続するといった処理も可能である。
ステップS903において次のリソース情報がない場合には、アプリケーションの起動を継続するか、もしくは制限付き起動手続きを行う(ステップS906)。
ステップS904において制限動作モードがない場合には、アプリケーション起動終了手続きを行う(ステップS907)。図13を用いてこの処理の手順について説明する。
まず、操作部表示に関するリソースを開放する(ステップS1001)。そして、これまでに確保したメモリを開放し(ステップS1002)、VAS140に対してアプリケーション登録抹消要求を行う(ステップS1003)。次に、プロセス間通信の停止処理を行い(ステップS1004)、システムコールによる自プロセスの終了を行う(ステップS1005)。なお、必要に応じて上記の処理の前に、使用者への通知、スキャナ、プロッタの解放、ネットワークリソースの解放を行う。
なお、図11に示したステップS806において、使用予定リソース量が現在のシステムリソース量を超えているリソースがある場合であって、当該リソースがアプリケーションにとって必須の固定的に使用するメモリ領域(テキストメモリ領域、ヒープ領域、スタック領域)である場合には、VAS140が当該アプリケーションは起動できないことを判断し、上記のリソース判定結果通知メッセージとして起動停止要求をアプリケーションに送信するようにしてもよい。この場合、アプリケーションはすぐに図13に示した処理を実行する。また、VAS140が、アプリケーションが制限付き起動をするかどうかを判断し、制限付き起動が可能と判断した場合には、その旨をアプリケーションに通知してもよい。この場合、VAS140がユーザに制限付き起動を問い合わせるようにすることができる。
上記のように起動の判断におけるリソース情報として、図9の「システム構成関連」として示したシステム機器構成に関する情報も用いることにより、例えば、パンチやステープル機能を有する機器が複合機100に実装されていなければ使用できないアプリケーションを、そのような機器が複合機に取り付けられていないないにもかかわらず起動するといった無駄な起動を抑制できる。
また、起動の判断に上記の情報に加えて機種情報を用いても良い。これにより、機種、モデルによる機能の差異に起因する機能不全や動作不良を抑制することが可能となる。
なお、図11のフローにおいて、VAS140が、アプリケーションが使用を予定しているリソース情報の取得(ステップS804)を行わずに、アプリケーションに現状の機器構成情報と残存リソース量をそのままリソース判定結果通知メッセージとして送信し、アプリケーション側で必要リソースの判断を行うようにしてもよい。この場合、アプリケーションが保持する使用予定リソースを一つ一つリソース判定結果メッセージにおけるリソースと比較し、使用予定リソースの有無を判定し、起動の判断をアプリケーションが行う。
また、図11に示す処理は、アプリケーションの起動時毎に行ってもよいし、当該アプリケーションのインストール時のみに行う事もできる。
次に、図11のステップS805におけるVAS140による現在のリソース情報の取得手順について説明する。
現在の複合機100のリソース情報の取得においては、システム機器構成に関する情報とメモリ領域等のシステムリソース量を取得する。ステップS805の処理手順を説明する前にシステム機器構成情報取得について説明する。
システム機器構成情報は、コントロールサービス層のサービスモジュール(以下、例としてSCS122がシステム機器構成情報を取得する場合について説明する)が取得してシステム機器構成情報構造体に格納する。図14のフローチャートを参照してSCS122がシステム機器構成情報を取得する場合の手順について説明する。
複合機100の主電源が投入されると(ステップS1101)、SCS122は複合機100の各ユニット接続センサ及び各ユニットから機器構成情報の通知を受ける(ステップS1102)。SCS122は通知されたシステム機器構成情報をシステム機器構成情報構造体に格納する(ステップS1103)。システム機器構成情報構造体の構成例を図15に示す。すなわち、図15に示す項目の情報をSCS122が取得し、システム機器構成情報構造体に格納する。
その後、システム機器構成情報構造体を共有メモリ上(物理的にはRAM上)に配置し(ステップS1104)、SCS122に対して登録要求を行ったサービスモジュールやアプリケーションに対して、システム機器構成情報を取得したことを示すシステム機器構成情報通知メッセージを発行する(ステップS1105)。例えば、VAS140が起動されるときにシステム機器構成情報通知メッセージがSCS122からVAS140に通知される。
上記のようにしてシステム機器構成情報構造体が共有メモリ上に配置されることにより他のモジュール(VASなど)がシステム機器構成情報構造体にアクセスしてシステム機器構成情報を取得することが可能となる。
次に、図16を参照して、図11のステップS805におけるVAS140による現在のリソース情報の取得の処理手順について説明する。
まず、VAS140はシステム機器構成情報通知メッセージを受信済みか否かをチェックする(ステップS1201)。受信済みでなければ所定の時間間隔で受信済みか否かのチェックを繰り返す。なお、所定の時間経過してもシステム機器構成情報通知受信を確認できない場合にはタイムアウトとなりシステムエラーとなる。
システム機器構成情報通知メッセージを受信済みである場合には、システム機器構成情報構造体にアクセスすることによりシステム機器構成情報を取得する(ステップS1202)。続いて、proc構造体にアクセスすることによりシステムリソース量(メモリ領域など)を取得する(ステップS1203)。
以上の処理により、使用予定リソースとの比較のために使用する現状のリソース情報を取得することが可能となる。
(実施の形態3)
実施の形態1、2においては使用予定リソースとの比較のために、メモリ領域などの現在のリソース使用量をproc構造体から取得していたが、実施の形態3では、現在のリソース使用量を取得せず、予め新規アプリケーション用にリソースを割り当てておく。そして、割り当てたリソース量と、新規アプリケーションが使用しようとするリソース量とを比較して起動の判断を行うようにする。なお、予め割り当てたリソース量は例えばアプリケーション管理ファイルに記録しておく。
すなわち、例えば、実施の形態1の図8のフローにおいて、現状のリソース使用量を取得する(ステップS703)代わりに、予め割り当てておいたリソース量を例えばアプリケーション管理ファイルから取得する。そして、そのリソース量とアプリケーションが使用するリソース量とを比較して起動の判断を行う。
なお、複数の新規アプリケーションが起動される場合には、複数の新規アプリケーションに対してまとめて所定のリソース量を割り当ててもよいし、起動される可能性のある新規アプリケーション個々に対してそれぞれのリソース量を割り当ててもよい。
前者の場合、まず1つの新規アプリケーションが起動したら、割り当てられたリソース総量から当該新規アプリケーションが使用を予定しているリソース量を減じ、次に起動した新規アプリケーションについては減じた結果のリソース量と使用予定リソース量とを比較して起動に関する判断を行う。これ以降に起動する新規アプリケーションについても同様である。
また、後者の場合には、例えば新規アプリケーションが使用する予定のリソース量を調べてその量を割り当てる。また、複数の新規アプリケーションに対して等分に割り当ててもよい。
上記の方法は、メモリ領域のようにアプリケーションが固定的に必要とするリソースに対して有効である。CPU使用量等予め割り当てができないリソースについては、判断に用いないか、実施の形態1、2の方法を用いて判断を行う。
(実施の形態4)
実施の形態1にかかる複合機100は、VAS140が全アプリケーションに対して1つのみ存在するものであったが、この実施の形態4にかかる複合機では、各アプリごとに一つのVASが起動し、各VASは対応するアプリに対してのみリソース使用情報取得およびアプリ起動判断を行うものである。また、実施の形態4では実施の形態1の動作を例にとり説明するが、実施の形態2、3についてもVASの構成を実施の形態4のような構成にすることができる。
図17は、実施の形態4にかかる複合機800の構成を示すブロック図である。図17に示すように、複合機800では、複数の仮想アプリケーションサービス(VAS)841〜848がアプリケーション130の各アプリごとに動作している点が、実施の形態1にかかる複合機100と異なっている。
VAS841〜848は、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116、新規アプリ117および118に対応して、リソース使用情報取得処理およびアプリ起動判断処理を行うようになっている。なお、図18に示すように、新規アプリケーションに対してのみVASを備えるようにしてもよい。
図19は、実施の形態4にかかる複合機800のVAS841〜848の構成と、VAS841〜848と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図17では、アプリケーション130として、プリンタアプリ111、コピーアプリ112、新規アプリ117,118の例を示し、更にこれら各アプリに対応したVAS841,842,847および848を例として示しているが、他のアプリの場合も同様の構成である。
また、実施の形態4にかかる複合機800では、実施の形態1の複合機100と異なり、図19に示すように、各VAS841〜848と各アプリとの間にはVAS制御プロセス(デーモン)801が動作している。
このVAS制御プロセス(デーモン)801は、各アプリからアプリ登録要求メッセージを受信してアプリ登録処理を行うとともに、アプリ登録要求を行ったアプリに対応したVAS841〜848を生成する。また、VAS制御プロセス801は、HD200に格納されたリソース使用情報ファイル201を参照して、アプリ登録要求を行ったアプリについて、リソース使用情報が記録されているか否かをチェックすることにより、アプリの起動が初回の起動か2回目以降の起動かを判断する。そして、初回の起動である場合にはアプリに対応するVAS841〜848に対してアプリID、アプリのプロセスIDとともにリソース使用情報取得処理要求を行い、2回目以降の起動である場合にはアプリに対応するVAS841〜848に対してアプリID、アプリのプロセスIDとともにアプリ起動判断処理要求を行うようになっている。
仮想アプリケーションサービス(VAS)841〜848のプロセスには、ディスパッチャ144と、リソース使用情報取得スレッド141と、アプリ起動判断スレッド142とが動作している。
ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信を監視し、受信したメッセージに応じてリソース使用情報取得スレッド141、アプリ起動判断スレッド142に処理要求を行うものである。実施の形態2の複合機800では、ディスパッチャ144は、VAS制御プロセス801から、アプリID、アプリのプロセスIDとともに、リソース使用情報取得処理要求メッセージまたはアプリ起動判断処理要求メッセージを受信するようになっている。ディスパッチャ144は、リソース使用情報取得処理要求メッセージを受信したときには、アプリID、アプリのプロセスIDとともに受信したリソース使用情報取得処理要求メッセージをリソース使用情報取得スレッド141に送信し、アプリ起動判断要求メッセージを受信したときには、アプリID、アプリのプロセスIDとともに受信したアプリ起動判断要求メッセージをアプリ起動判断スレッド142に送信するようになっている。
リソース使用情報取得スレッド141は、ディスパッチャ144からのリソース使用情報取得要求メッセージを受信すると、実施の形態1におけるVAS140と同様に、アプリ起動に必要なリソースの情報を取得してリソース使用情報ファイル201をハードディスク(HD)200に生成する。
アプリ起動判断スレッド142は、ディスパッチャ144からのアプリ起動判断要求メッセージを受信すると、実施の形態1におけるVAS140と同様に、リソース使用情報ファイル201を参照して、アプリ起動判断処理を行う。
実施の形態4の複合機800におけるVAS841〜848のリソース使用情報取得スレッド141によって実行されるリソース使用情報取得処理、およびアプリ起動判断スレッド142によって実行されるアプリ起動判断処理については、実施の形態1の複合機100におけるVAS140の各スレッドによる処理と同様である。
このように実施の形態4にかかる複合機800によれば、実施の形態1にかかる複合機100と同様に、複合機800のシステムの安定性を向上させることができる。
また、実施の形態4にかかる複合機800では、VAS841〜848は起動されるアプリケーション130ごとに別個に起動されるので、複数のアプリケーション130の起動判断処理を、各アプリケーション130に対応するVAS841〜848で並列に実行することができ、アプリケーションの起動判断処理を効率的に行うことができる。
なお、実施の形態4にかかる複合機800では、全てのアプリごとに別個にVAS841〜848を起動していたが、図18に示したように一部のアプリに対してのみVASを起動するように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリに対してのみVAS847,848を起動してリソース使用情報の取得処理やアプリ起動判断処理を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成することができる。
また、実施の形態1および4にかかる複合機100,800では、リソースとして、テキストメモリ領域、ヒープ領域、スタック領域、CPU占有時間、CPU稼働率を利用してリソース使用情報取得およびアプリ起動判断を行っていたが、かかるリソースは一例であり、他のリソースを利用した構成としても良い。
また、VASに構成として上記の構成の他、図20(a)〜(c)に示す構成のようにすることもできる。
図20(a)は、各アプリケーションに対して起動されるVASを、親VASの子プロセスとする場合であり、親VAS自体は画面制御権(ユーザインターフェース)を持たない。図20(b)は、親VAS自体は画面制御権(ユーザインターフェース)を持つ場合である。図20(c)は、各アプリケーションに対応するVASの機能をスレッドとして提供する場合を示している。
なお、本明細書で説明した画像形成装置等の構成は例えば次のようにまとめることができる。
(構成1)
アプリケーションを実行させるためのリソースを備えた装置であって、
前記アプリケーションの実行中に、該アプリケーションが使用するリソースに関するリソース情報を取得し、該リソース情報を記憶装置に格納する取得手段を有することを特徴とする装置。
本構成によれば、アプリケーションが実行されている際に、そのアプリケーションが使用するリソースに関する情報を取得するので、例えば、アプリケーションの起動判断のための的確な情報を取得することができる。
(構成2)
前記取得手段は、前記アプリケーションが使用するリソースの使用量を定期的に取得し、定期的に取得した使用量に基づき前記リソース情報を生成し、該リソース情報を格納する構成1に記載の装置。
(構成3)
前記リソース情報は、定期的に取得した使用量の平均値又は最大値である構成2に記載の装置。
(構成4)
前記アプリケーションの起動から終了までの期間における前記平均値又は最大値を、起動から終了まで毎に記録しておき、
前記リソース情報として、起動から終了まで毎に記録した複数の平均値の平均値又は最大値、又は、起動から終了まで毎に記録した複数の最大値の平均値又は最大値を用いる構成3に記載の装置。
上記の構成によれば、定期的に取得した複数の値を用いるので、1回だけ取得した値に比べてリソースの使用量として妥当な値を取得することができる。
(構成5)
前記取得手段は、前記装置におけるプロセスが使用するリソースに関する情報を保持するシステム情報から前記アプリケーションが使用するリソースに関する情報を前記リソース情報として取得することを特徴とする構成1ないし4のうちいずれか1項に記載の装置。本構成によれば、効率的にリソース情報を取得できる。
(構成6)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成1に記載の装置。
本構成によれば、リソース情報を用いることにより、組み込み装置にアプリケーションを追加する際に、リソース量に応じた起動判断を行うことが可能となる。
(構成7)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得手段を有する構成6に記載の装置。
本構成によれば、リソース情報を用いることにより、画像形成装置にアプリケーションを追加する際に、リソース量に応じた起動判断を行うことが可能となる。
(構成8)
アプリケーションを実行させるためのリソースを備えた装置であって、
前記装置に取り付けられた前記リソースとしての各機器から機器構成情報を受信し、該機器構成情報を記憶装置に格納する手段を有することを特徴とする装置。
本構成によれば、前記装置の機器構成情報を取得することが可能となる。
(構成9)
前記機器構成情報を格納したことを通知するためのメッセージを、前記装置において実行されるソフトウエアモジュールに送信する手段を有する構成8に記載の装置。
本構成によれば、前記装置において実行されるソフトウエアモジュールが機器構成情報が格納されていることを認識できる。そして、ソフトウエアモジュールが上記記憶装置にアクセスすることにより機器構成情報を取得できる。
(構成10)
アプリケーションを実行させるためのリソースを備えた装置であって、
アプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルと、
該アプリケーションが起動する際に、該アプリケーションが使用する予定のリソースに関する情報を前記アプリケーション管理ファイルから取得する取得手段と
を有することを特徴とする装置。
本構成によれば、アプリケーション管理ファイルにアクセスするだけでリソースに関する情報を取得できるようになる。
(構成11)
前記アプリケーション管理ファイルは、メモリ関連の情報と、前記装置の機器構成に関する情報とを含む構成10に記載の装置。
本構成によれば、アプリケーション管理ファイルにアクセスするだけでメモリ関連の情報と、前記装置の機器構成に関する情報とを取得できるようになる。
(構成12)
アプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルを更に有し、
該アプリケーションが起動する際に、該アプリケーションが固定的に使用するリソースに関する情報を前記アプリケーション管理ファイルから取得する構成1に記載の装置。本構成によれば、アプリケーションが固定的に使用するリソースを効率的に取得できる。
(構成13)
前記アプリケーション管理ファイルにおける前記リソースに関する情報は、前記アプリケーションの起動時に該アプリケーションから取得される情報である構成10に記載の装置。
(構成14)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成10に記載の装置。
(構成15)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得手段を有する構成14に記載の装置。
(構成16)
アプリケーションを実行させるためのリソースを備えた装置における処理方法であって、
前記アプリケーションの実行中に、該アプリケーションが使用するリソースに関するリソース情報を取得し、該リソース情報を記憶装置に格納する取得ステップを有することを特徴とする方法。
(構成17)
前記取得ステップにおいて、前記装置は、前記アプリケーションが使用するリソースの使用量を定期的に取得し、定期的に取得した使用量に基づき前記リソース情報を生成し、該リソース情報を格納する構成16に記載の方法。
(構成18)
前記リソース情報は、定期的に取得した使用量の平均値又は最大値である構成17に記載の方法。
(構成19)
前記アプリケーションの起動から終了までの期間における前記平均値又は最大値を、起動から終了まで毎に記録しておき、
前記リソース情報として、起動から終了まで毎に記録した複数の平均値の平均値又は最大値、又は、起動から終了まで毎に記録した複数の最大値の平均値又は最大値を用いる構成18に記載の方法。
(構成20)
前記取得ステップにおいて、前記装置は、前記装置におけるプロセスが使用するリソースに関する情報を保持するシステム情報から前記アプリケーションが使用するリソースに関する情報を前記リソース情報として取得することを特徴とする構成16ないし19のうちいずれか1項に記載の方法。
(構成21)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成16に記載の方法。
(構成22)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得ステップを実行する構成21に記載の方法。
(構成23)
アプリケーションを実行させるためのリソースを備えた装置における処理方法であって、
前記装置に取り付けられた前記リソースとしての各機器から機器構成情報を受信し、該機器構成情報を記憶装置に格納するステップを有することを特徴とする方法。
(構成24)
前記機器構成情報を格納したことを通知するためのメッセージを、前記装置において実行されるソフトウエアモジュールに送信するステップを更に有する構成23に記載の方法。
(構成25)
アプリケーションを実行させるためのリソースを備えた装置における処理方法であって、
前記装置は、アプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルを有し、
該アプリケーションが起動する際に、該アプリケーションが使用する予定のリソースに関する情報を前記アプリケーション管理ファイルから取得する取得ステップを有することを特徴とする方法。
(構成26)
前記アプリケーション管理ファイルは、メモリ関連の情報と、前記装置の機器構成に関する情報とを含む構成25に記載の方法。
(構成27)
前記装置はアプリケーションが使用するリソースに関する情報を含むアプリケーション管理ファイルを更に有し、
該アプリケーションが起動する際に、該アプリケーションが固定的に使用するリソースに関する情報を前記アプリケーション管理ファイルから取得する構成16に記載の方法。
(構成28)
前記アプリケーション管理ファイルにおける前記リソースに関する情報は、前記アプリケーションの起動時に該アプリケーションから取得される情報である構成25に記載の方法。
(構成29)
前記装置は、予め組み込まれたソフトウェアによりサービスを提供する組み込み装置であり、
前記実行されるアプリケーションは、該予め組み込まれたソフトウェアとは別に前記装置に搭載されるアプリケーションである構成25に記載の方法。
(構成30)
前記装置は画像形成装置であり、該画像形成装置は、
画像形成処理におけるハードウェアリソースと、
該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、
該コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービス部とを備え、
仮想アプリケーションサービス部は、前記取得ステップを実行する構成29に記載の方法。
(効果)
上記の構成によれば、アプリケーションが使用するリソースに関する情報を取得することが可能となる。また、このようにリソースに関する情報を取得することができることにより、アプリケーションが使用するリソースの量と、複合機が実際に備えているリソースの状態に基づき、必要に応じてアプリケーションの起動制限を行うか否かの判断を行なうことが可能となる。
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
実施の形態1にかかる複合機の構成を示すブロック図である。 実施の形態1にかかる複合機の構成の他の例を示すブロック図である。 実施の形態1にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。 実施の形態1にかかる複合機におけるリソース使用情報ファイルの内容例を示す説明図である。 実施の形態1にかかる複合機におけるVASのリソース使用情報取得スレッドが参照するproc構造体の一例を示す説明図である。 実施の形態1にかかる複合機におけるVASの制御スレッドよるアプリ登録およびアプリ起動回数判断の処理手順を示すフローチャートである。 実施の形態1にかかる複合機におけるVASのリソース使用情報取得スレッドによるリソース使用情報取得の処理手順を示すフローチャートである。 実施の形態1にかかる複合機におけるVASのアプリ起動判断スレッドによるアプリ起動可否判断の処理手順を示すフローチャートである。 実施の形態2にかかる複合機におけるアプリケーション管理ファイルの内容例を示す図である。 実施の形態2にかかる複合機におけるNV−RAMの構成例とHDの構成例を示す図である。 実施の形態2にかかる複合機におけるアプリケーションの起動の際に、VASが実行する処理を示すフローチャートである。 リソース判定結果通知メッセージを受信したアプリケーションの動作を示すフローチャートである。 アプリケーション起動終了手続きを示すフローチャートである。 実施の形態2にかかる複合機においてシステム機器構成情報を取得する手順を示すフローチャートである。 実施の形態2にかかる複合機におけるシステム機器構成情報構造体の構成例を示す図である。 実施の形態2にかかる複合機における現在のリソース情報の取得の処理手順を示すフローチャートである。 実施の形態4にかかる複合機の構成を示すブロック図である。 実施の形態4にかかる複合機の構成の他の例を示すブロック図である。 実施の形態4にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。 複合機におけるVASの構成を示す図である。
符号の説明
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領域
800 複合機
801 VAS制御プロセス

Claims (22)

  1. 所定のサービスプログラムと、アプリケーションと、当該アプリケーションを実行させるためのリソースを備えた画像形成装置であって、
    前記画像形成装置は、
    前記アプリケーションが固定的に使用するリソースの量である使用予定リソース量を格納したアプリケーション情報格納手段と、
    使用量が動的に変動するリソースに関し、前記アプリケーションが使用した量の実績値であるリソース使用量を格納したリソース使用情報格納手段と、を備えており、
    前記画像形成装置が、前記所定のサービスプログラムを実行することにより、
    前記アプリケーションの起動の際に、前記アプリケーション情報格納手段から、前記アプリケーションの使用予定リソース量を取得し、前記リソース使用情報格納手段から、前記アプリケーションのリソース使用量を取得し、
    更に、前記アプリケーションが固定的に使用するリソースに関する前記画像形成装置における使用可能量を取得し、前記使用量が動的に変動するリソースに関する前記画像形成装置における使用量を取得し、
    前記アプリケーションが固定的に使用するリソースに関する前記使用予定リソース量と、当該リソースの使用可能量とを比較し、前記使用量が動的に変動するリソースに関する前記リソース使用量と、当該リソースの使用量とを比較することにより、前記アプリケーションの起動を継続するか否かを判断する
    ことを特徴とする画像形成装置。
  2. 前記アプリケーションの起動を継続するか否かを判断する処理において、前記固定的に使用するリソースに関する前記使用予定リソース量が、前記使用可能量を超える場合に、前記アプリケーションの起動を継続できないと判断し、前記アプリケーションに、起動停止要求を送信する
    ことを特徴とする請求項1に記載の画像形成装置
  3. 前記アプリケーションが固定的に使用するリソースはメモリであり、前記使用量が動的に変動するリソースはCPUである
    ことを特徴とする請求項1又は2に記載の画像形成装置
  4. 前記アプリケーション情報格納手段は、
    前記アプリケーションに関して、前記画像形成装置に実装されるべき機器を示す機器構成情報を更に格納しており、
    前記アプリケーションの起動を継続するか否かを判断する処理において、前記アプリケーション情報格納手段から前記機器構成情報を取得し、前記画像形成装置のメモリから前記画像形成装置に実装されている機器を示す機器構成情報を取得し、これらの機器構成情報を比較する
    ことを特徴とする請求項1ないし3のうちいずれか1項に記載の画像形成装置。
  5. 前記画像形成装置に実装された各機器から機器構成情報を受信し、当該機器構成情報をメモリに格納する手段を更に有することを特徴とする請求項に記載の画像形成装置。
  6. 前記機器構成情報を格納したことを通知するためのメッセージを、前記画像形成装置において実行されるソフトウエアモジュールに送信する手段を有することを特徴とする請求項に記載の画像形成装置。
  7. 前記画像形成装置は、予め組み込まれたソフトウェアを備えており、前記アプリケーションは、前記予め組み込まれたソフトウェアとは別に前記画像形成装置に搭載されるプログラムであることを特徴とする請求項1ないしのうちいずれか1項に記載の画像形成装置。
  8. 前記画像形成装置は、
    画像形成処理におけるハードウェアリソースと、
    当該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、を備え、
    前記所定のサービスプログラムは、前記コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスプログラムであることを特徴とする請求項1ないし7のうちいずれか1項に記載の画像形成装置。
  9. 所定のサービスプログラムと、アプリケーションと、当該アプリケーションを実行させるためのリソースを備えた画像形成装置が実行するアプリケーション起動判断方法であって、
    前記画像形成装置は、
    前記アプリケーションが固定的に使用するリソースの量である使用予定リソース量を格納したアプリケーション情報格納手段と、
    使用量が動的に変動するリソースに関し、前記アプリケーションが使用した量の実績値であるリソース使用量を格納したリソース使用情報格納手段と、を備えており、
    前記画像形成装置が、前記所定のサービスプログラムを実行することにより、
    前記アプリケーションの起動の際に、前記アプリケーション情報格納手段から、前記アプリケーションの使用予定リソース量を取得し、前記リソース使用情報格納手段から、前記アプリケーションのリソース使用量を取得し、
    更に、前記アプリケーションが固定的に使用するリソースに関する前記画像形成装置における使用可能量を取得し、前記使用量が動的に変動するリソースに関する前記画像形成装置における使用量を取得し、
    前記アプリケーションが固定的に使用するリソースに関する前記使用予定リソース量と、当該リソースの使用可能量とを比較し、前記使用量が動的に変動するリソースに関する前記リソース使用量と、当該リソースの使用量とを比較することにより、前記アプリケーションの起動を継続するか否かを判断する
    ことを特徴とするアプリケーション起動判断方法。
  10. 前記アプリケーションの起動を継続するか否かを判断する処理において、前記固定的に使用するリソースに関する前記使用予定リソース量が、前記使用可能量を超える場合に、前記アプリケーションの起動を継続できないと判断し、前記アプリケーションに、起動停止要求を送信する
    ことを特徴とする請求項9に記載のアプリケーション起動判断方法
  11. 前記アプリケーションが固定的に使用するリソースはメモリであり、前記使用量が動的に変動するリソースはCPUである
    ことを特徴とする請求項9又は10に記載のアプリケーション起動判断方法
  12. 前記アプリケーション情報格納手段は、
    前記アプリケーションに関して、前記画像形成装置に実装されるべき機器を示す機器構成情報を更に格納しており、
    前記アプリケーションの起動を継続するか否かを判断する処理において、前記アプリケーション情報格納手段から前記機器構成情報を取得し、前記画像形成装置のメモリから前記画像形成装置に実装されている機器を示す機器構成情報を取得し、これらの機器構成情報を比較する
    ことを特徴とする請求項9ないし11のうちいずれか1項に記載のアプリケーション起動判断方法。
  13. 前記画像形成装置における機器構成情報取得手段が、前記画像形成装置に実装された各機器から機器構成情報を受信し、当該機器構成情報をメモリに格納することを特徴とする請求項12に記載のアプリケーション起動判断方法
  14. 前記機器構成情報取得手段が、前記機器構成情報を格納したことを通知するためのメッセージを、前記画像形成装置において実行されるソフトウエアモジュールに送信することを特徴とする請求項13に記載のアプリケーション起動判断方法
  15. 前記画像形成装置は、予め組み込まれたソフトウェアを備えており、前記アプリケーションは、前記予め組み込まれたソフトウェアとは別に前記画像形成装置に搭載されるプログラムであることを特徴とする請求項ないし14のうちいずれか1項に記載のアプリケーション起動判断方法
  16. 前記画像形成装置は、
    画像形成処理におけるハードウェアリソースと、
    当該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、を備え、
    前記所定のサービスプログラムは、前記コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスプログラムであることを特徴とする請求項ないし15のうちいずれか1項に記載のアプリケーション起動判断方法
  17. アプリケーションと、当該アプリケーションを実行させるためのリソースを備えた画像形成装置に、アプリケーション起動判断処理を実行させるためのプログラムであって、
    前記画像形成装置は、
    前記アプリケーションが固定的に使用するリソースの量である使用予定リソース量を格納したアプリケーション情報格納手段と、
    使用量が動的に変動するリソースに関し、前記アプリケーションが使用した量の実績値であるリソース使用量を格納したリソース使用情報格納手段と、を備えており、
    前記画像形成装置に、
    前記アプリケーションの起動の際に、前記アプリケーション情報格納手段から、前記アプリケーションの使用予定リソース量を取得し、前記リソース使用情報格納手段から、前記アプリケーションのリソース使用量を取得するステップと、
    更に、前記アプリケーションが固定的に使用するリソースに関する前記画像形成装置における使用可能量を取得し、前記使用量が動的に変動するリソースに関する前記画像形成装置における使用量を取得するステップと、
    前記アプリケーションが固定的に使用するリソースに関する前記使用予定リソース量と、当該リソースの使用可能量とを比較し、前記使用量が動的に変動するリソースに関する前記リソース使用量と、当該リソースの使用量とを比較することにより、前記アプリケーションの起動を継続するか否かを判断するステップと
    を実行させるためのプログラム。
  18. 前記アプリケーションの起動を継続するか否かを判断するステップにおいて、前記画像形成装置に、前記固定的に使用するリソースに関する前記使用予定リソース量が、前記使用可能量を超える場合に、前記アプリケーションの起動を継続できないと判断し、前記アプリケーションに、起動停止要求を送信するステップ
    を実行させる請求項17に記載のプログラム
  19. 前記アプリケーションが固定的に使用するリソースはメモリであり、前記使用量が動的に変動するリソースはCPUである
    ことを特徴とする請求項17又は18に記載のプログラム
  20. 前記アプリケーション情報格納手段は、
    前記アプリケーションに関して、前記画像形成装置に実装されるべき機器を示す機器構成情報を更に格納しており、
    前記アプリケーションの起動を継続するか否かを判断するステップにおいて、前記画像形成装置に、前記アプリケーション情報格納手段から前記機器構成情報を取得し、前記画像形成装置のメモリから前記画像形成装置に実装されている機器を示す機器構成情報を取得し、これらの機器構成情報を比較する
    ステップを実行させる請求項17ないし19のうちいずれか1項に記載のプログラム。
  21. 前記画像形成装置は、
    画像形成処理におけるハードウェアリソースと、
    当該ハードウェアリソースの制御に関するサービスを複数のアプリケーションに共通に提供するコントロールサービス部と、を備え、
    前記プログラムは、前記コントロールサービス部をサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスプログラムであることを特徴とする請求項17ないし20のうちいずれか1項に記載のプログラム
  22. 請求項17ないし21のうちいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008265684A 2002-04-26 2008-10-14 画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体 Expired - Fee Related JP4504447B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008265684A JP4504447B2 (ja) 2002-04-26 2008-10-14 画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002127079 2002-04-26
JP2008265684A JP4504447B2 (ja) 2002-04-26 2008-10-14 画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003120251A Division JP2004005612A (ja) 2002-04-26 2003-04-24 リソース情報を取得する装置及び方法

Publications (2)

Publication Number Publication Date
JP2009032287A JP2009032287A (ja) 2009-02-12
JP4504447B2 true JP4504447B2 (ja) 2010-07-14

Family

ID=40402663

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008182850A Expired - Fee Related JP4565024B2 (ja) 2002-04-26 2008-07-14 アプリケーションプログラム、画像形成装置、及びアプリケーションプログラム実行方法
JP2008265684A Expired - Fee Related JP4504447B2 (ja) 2002-04-26 2008-10-14 画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008182850A Expired - Fee Related JP4565024B2 (ja) 2002-04-26 2008-07-14 アプリケーションプログラム、画像形成装置、及びアプリケーションプログラム実行方法

Country Status (1)

Country Link
JP (2) JP4565024B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7343344B2 (ja) 2019-09-25 2023-09-12 愛知時計電機株式会社 圧力センサ

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6044248B2 (ja) * 2012-10-05 2016-12-14 富士ゼロックス株式会社 情報処理装置、応用プログラム導入装置およびプログラム
GB2525874A (en) * 2014-05-07 2015-11-11 Ibm Measurement of computer product usage
JP6447959B2 (ja) * 2016-03-25 2019-01-09 京セラドキュメントソリューションズ株式会社 画像形成装置およびアプリ起動管理プログラム
JP7442775B2 (ja) 2021-11-23 2024-03-05 合同会社on flow 回線品質測定方法、回線品質測定装置及び回線品質測定プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010828A (ja) * 1998-06-24 2000-01-14 Sharp Corp アプリケーションデータ処理装置及びその制御プログラムを記憶した媒体
JP2001166969A (ja) * 1999-12-10 2001-06-22 Toshiba Corp プログラム動作情報表示システム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001331348A (ja) * 2000-05-24 2001-11-30 Nec Software Kobe Ltd プロセスメモリ消費量増加傾向検出方式

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0368044A (ja) * 1989-08-07 1991-03-25 Nec Corp 動的メモリ制御方式
JPH0721063A (ja) * 1993-06-30 1995-01-24 Mitsubishi Electric Corp 計算機システム監視装置
JP2000298591A (ja) * 1999-04-14 2000-10-24 Nec Corp プログラム起動装置、プログラム起動方法及び記録媒体
US7028298B1 (en) * 1999-09-10 2006-04-11 Sun Microsystems, Inc. Apparatus and methods for managing resource usage
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010828A (ja) * 1998-06-24 2000-01-14 Sharp Corp アプリケーションデータ処理装置及びその制御プログラムを記憶した媒体
JP2001166969A (ja) * 1999-12-10 2001-06-22 Toshiba Corp プログラム動作情報表示システム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001331348A (ja) * 2000-05-24 2001-11-30 Nec Software Kobe Ltd プロセスメモリ消費量増加傾向検出方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7343344B2 (ja) 2019-09-25 2023-09-12 愛知時計電機株式会社 圧力センサ

Also Published As

Publication number Publication date
JP2009037611A (ja) 2009-02-19
JP4565024B2 (ja) 2010-10-20
JP2009032287A (ja) 2009-02-12

Similar Documents

Publication Publication Date Title
JP4276909B2 (ja) 画像形成装置およびアプリ起動制御方法
US20030218765A1 (en) Apparatus for controlling launch of application and method
JP4344203B2 (ja) 画像形成装置および情報表示方法
JP2004297792A (ja) 画像形成装置及び機能キー割り付け方法
JP6066006B2 (ja) 画像形成装置
JP2004030601A (ja) リソース情報によりアプリケーション起動判断を行う装置及び方法
JP2004005612A (ja) リソース情報を取得する装置及び方法
JP4373742B2 (ja) 画像形成装置およびアプリ起動制限方法
JP4504447B2 (ja) 画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体
JP2004114674A (ja) 画像形成装置、記憶領域確保方法
JP4153152B2 (ja) アプリ実行制御システム、アプリ実行制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4394740B2 (ja) 画像形成装置、方法、及びプログラム
JP4128506B2 (ja) 画像形成装置およびアプリケーション情報取得方法
JP5262495B2 (ja) 電子機器,遠隔管理システム,制御方法,プログラム,および記録媒体
JP4001531B2 (ja) 画像形成装置
JP2006311590A (ja) 画像形成装置およびアプリケーションインストール方法
JP4676977B2 (ja) 画像形成装置、アプリケーション情報取得方法、及びプログラム
JP4246560B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP4677054B2 (ja) 画像形成装置、プログラム、記録媒体、及び方法
JP2006271005A (ja) 画像形成装置およびアプリケーションインストール方法
JP2003330735A (ja) 画像形成装置および共有メモリ調停方法
JP4011423B2 (ja) 画像形成装置およびアプリケーションid割付方法
JP2009065713A (ja) 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体
JP2005229270A (ja) 画像形成装置、インタフェース方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100315

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: 20100413

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: 20100422

R150 Certificate of patent or registration of utility model

Ref document number: 4504447

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: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees