JP5020121B2 - 情報処理装置、画像形成装置および情報処理方法 - Google Patents

情報処理装置、画像形成装置および情報処理方法 Download PDF

Info

Publication number
JP5020121B2
JP5020121B2 JP2008040269A JP2008040269A JP5020121B2 JP 5020121 B2 JP5020121 B2 JP 5020121B2 JP 2008040269 A JP2008040269 A JP 2008040269A JP 2008040269 A JP2008040269 A JP 2008040269A JP 5020121 B2 JP5020121 B2 JP 5020121B2
Authority
JP
Japan
Prior art keywords
resource
virtual machine
amount
function
information processing
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
JP2008040269A
Other languages
English (en)
Other versions
JP2009199334A (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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2008040269A priority Critical patent/JP5020121B2/ja
Publication of JP2009199334A publication Critical patent/JP2009199334A/ja
Application granted granted Critical
Publication of JP5020121B2 publication Critical patent/JP5020121B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、画像形成装置および情報処理方法に関するものである。
従来から、画像形成装置でプログラムが実行される際に使用されるリソースを適切に管理することが要求されている。リソースを適切に管理しないと、印刷処理などの途中でメモリ領域、ネットワークソケットなどのリソースが足りなくなり、処理がエラー終了することがある。
また、最近では、画像形成装置の基本的な機能の他に、機能を拡張するための様々なアプリケーションを追加することが提案されており、リソース使用量が増大する傾向にあるため、リソース管理の重要性はさらに高まってきている。
そのようなリソース管理を行う画像形成装置が提案されている(例えば、特許文献1,2参照)。
さらに、オペレーティングシステム(以下、OSという)上で動作する仮想マシンが設けられ、仮想マシン上でアプリケーションを実行可能な画像形成装置が提案されている(例えば特許文献1参照)。特許文献1では、仮想マシンで使用されるリソース量を管理するリソース管理部がOS上に設けられている。つまり、このリソース管理部により仮想マシン上で使用されるリソース量が一定量以下に制限される。
特開2003−330732号公報 特開2006−209735号公報
上記の装置では、OS上でリソース管理部が動作するため、仮想マシンでの使用リソース量を管理するためには、仮想マシンから使用リソース量への通知が必要になる。このため、仮想マシンをカスタム化する必要があり、汎用の仮想マシンをそのまま使用することは困難である。
本発明は、上記の問題に鑑みてなされたものであり、仮想マシンをカスタム化せずに、仮想マシン上で使用されるリソースの量を管理することができる情報処理装置、画像形成装置および情報処理方法を得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係る情報処理装置は、演算処理装置で動作する仮想マシンと、仮想マシン上で動作し、仮想マシン上で動作するアプリケーションが使用するリソースの使用量を管理するリソース管理部と、仮想マシン上で実行されるリソース操作関数を含むリソース操作ライブラリと、仮想マシン上で動作し、アプリケーションにおいて使用されているクラスのオブジェクトをメモリに展開するとともに、クラスデータを解析し、オブジェクト内に記述されているリソース操作ライブラリにおけるリソース操作関数を、カスタム関数に置き換えるクラスローダとを備える。そして、カスタム関数が実行されると、カスタム関数の実行によるリソース使用量の変化量がリソース管理部に通知される。
これにより、リソース管理部が仮想マシン上で動作するため、仮想マシン自体は、汎用の仮想マシンを使用することができる。このため、仮想マシンをカスタム化せずに、仮想マシン上で使用されるリソースの量を管理することができる。ひいては、リソース管理のために必要となる開発規模を小さくすることができる。また、実行されるとリソース量が増加または減少するライブラリ関数が、リソース使用量の変化量を通知する関数へ置き換えられるため、リソース管理部は、アプリケーションが使用するライブラリ関数で使用/解放されるリソース量を考慮して、リソース量を管理することができる。
また、本発明に係る情報処理装置は、上記の情報処理装置に加え、次のようにしてもよい。この場合、クラスローダは、メモリに展開するオブジェクトのメモリ使用量をリソース管理部に通知する。
これにより、リソース管理部は、クラスローディングによるメモリ使用量に基づき、リソースとしてのメモリ領域を管理することができる。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、クラスローダは、使用可能なメモリ領域がオブジェクトの展開に必要なメモリ領域より少ない場合には、オブジェクトの展開を禁止する。
これにより、クラスローディングによりメモリ領域が使用される際に、仮想マシン上で使用しているメモリ使用量が、メモリ領域の容量上限値を超えることを防止することができる。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、オブジェクトが解放される場合、オブジェクトの解放によるリソース使用量の減少量がリソース管理部に通知される。
これにより、リソース管理部は、オブジェクト解放を考慮して、リソースとしてのメモリ領域を管理することができる。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、カスタム関数が実行されると、カスタム関数の実行によるリソース使用量の変化量がリソース管理部に通知されるとともに、そのカスタム関数に置き換えられたリソース操作関数が呼び出され実行される。
これにより、カスタム関数自体には、リソース使用量の変化量を通知する処理のみを実行すればよいため、カスタム関数の開発が簡単になる。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、カスタム関数が実行されると、使用可能なリソース量が、カスタム関数が使用するリソース量より少ない場合には、リソース操作関数の実行が禁止される。
これにより、ライブラリ関数が実行される際に、仮想マシン上で使用しているリソース量が、リソース量の上限値を超えることを防止することができる。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、リソース管理部は、リソース使用量の変化量の通知に応じて、各時点での使用リソース量または使用可能なリソース量の情報を保持する。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、リソースは、所定量のメモリ領域、所定数のネットワークソケットおよび所定数のスレッドのうちの少なくとも1つを含むものとされる。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、仮想マシンは、Java仮想マシンとされる。
これにより、仮想マシンとして、汎用のJava仮想マシンを使用することができるため、リソース管理のために必要となる開発規模を小さくすることができる。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、仮想マシンは、演算処理装置で動作するオペレーティングシステム上で動作する。
本発明に係る画像形成装置は、画像形成処理を行う画像形成処理部と、演算処理装置で動作する仮想マシンと、仮想マシン上で動作し画像形成処理部を使用するアプリケーションと、仮想マシン上で動作し、アプリケーションが使用するリソースの使用量を管理するリソース管理部と、仮想マシン上で実行されるリソース操作関数を含むリソース操作ライブラリと、仮想マシン上で動作し、アプリケーションにおいて使用されているクラスのオブジェクトをメモリに展開するとともに、クラスデータを解析し、オブジェクト内に記述されているリソース操作ライブラリにおけるリソース操作関数を、カスタム関数に置き換えるクラスローダとを備える。そして、カスタム関数が実行されると、カスタム関数の実行によるリソース使用量の変化量がリソース管理部に通知される。
これにより、リソース管理部が仮想マシン上で動作するため、仮想マシン自体は、汎用の仮想マシンを使用することができる。このため、仮想マシンをカスタム化せずに、仮想マシン上で使用されるリソースの量を管理することができる。
本発明に係る情報処理方法は、演算処理装置で仮想マシンを動作させ、仮想マシン上で動作するアプリケーションが使用するリソースの使用量を管理するリソース管理部を仮想マシン上で動作させ、仮想マシン上で動作するクラスローダで、アプリケーションにおいて使用されているクラスのオブジェクトをメモリに展開するとともに、クラスデータを解析し、オブジェクト内に記述されている、仮想マシン上で実行されるリソース操作ライブラリにおけるリソース操作関数を、カスタム関数に置き換え、カスタム関数が実行されると、カスタム関数の実行によるリソース使用量の変化量をリソース管理部に通知するものである。
これにより、リソース管理部が仮想マシン上で動作するため、仮想マシン自体は、汎用の仮想マシンを使用することができる。このため、仮想マシンをカスタム化せずに、仮想マシン上で使用されるリソースの量を管理することができる。
本発明によれば、仮想マシンをカスタム化せずに、仮想マシン上で使用されるリソースの量を管理することができる。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係る画像形成装置の構成を示すブロック図である。図1に示す画像形成装置は、情報処理装置の一例である。
図1において、CPU11は、プログラムを実行し、プログラムに記述された処理を実行する演算処理装置である。また、ROM12は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM13は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
HDD14は、各種プログラム、データなどを格納する記録媒体としてのハードディスク駆動装置である。HDD14には、OSプログラム31、VMプログラム32、基本リソース操作ライブラリ33、カスタムリソース操作ライブラリ34、アプリケーション管理プログラム35、リソース管理プログラム36、基本機能プログラム37、およびアプリケーションプログラム38が格納されている。
OSプログラム31は、オペレーティングシステムのプログラムである。オペレーティングシステムとしては、Linux(登録商標)、VxWorksなどが使用される。
VMプログラム32は、仮想マシンのプログラムである。仮想マシンとしては、この実施の形態では、Java(登録商標)仮想マシンが使用される。Java(登録商標)仮想マシン環境では、バイトコードと呼ばれる中間コードで記述されたプログラムが仮想マシンにより解釈され実行される。
基本リソース操作ライブラリ33は、リソースを使用したり解放したりする処理を記述されたライブラリ関数(以下、リソース操作関数という)を有するプログラムである。リソースとしては、所定量のメモリ領域、所定数のネットワークソケット、所定数のスレッドなどが考えられる。
カスタムリソース操作ライブラリ34は、基本リソース操作ライブラリ33の各リソース操作関数に対応するライブラリ関数(以下、カスタム関数という)を有するプログラムである。カスタム関数には、対応するリソース操作関数を呼び出す処理、およびカスタム関数(呼び出すリソース操作関数を含む)により使用または解放されるリソース量(つまり、空きリソースの変化量)を通知する処理が記述される。
アプリケーション管理プログラム35は、アプリケーションプログラム38をロードしてアプリケーションを起動する処理が記述されたプログラムである。アプリケーション管理プログラム35には、クラスローダプログラムが含まれる。
リソース管理プログラム36は、仮想マシン上で使用されるリソース量を管理する処理が記述されたプログラムである。
基本機能プログラム37は、印刷、コピー、ファクシミリ送信、ファクシミリ受信などの画像形成処理が記述されたプログラムである。
アプリケーションプログラム38は、基本機能プログラムによる画像形成処理を使用するアプリケーションのプログラムである。
なお、ライブラリ33,34およびプログラム35〜38は、仮想マシン上で動作するプログラムである。
図2は、図1に示すライブラリ33,34およびプログラム35〜38により実現される処理部を階層的に示す図である。
図2において、OS51は、CPU11によりOSプログラム31が実行されることで実現される処理部である。
また、VM52は、CPU11によりVMプログラム32が実行されることで実現される処理部である。VM52は、OS51上で動作する仮想マシンである。
また、基本リソース操作処理部53は、CPU11により基本リソース操作ライブラリ33の1または複数のライブラリ関数(つまり、リソース操作関数)が実行されることで実現される処理部である。
また、カスタムリソース操作処理部54は、CPU11によりカスタムリソース操作ライブラリ34の1または複数のライブラリ関数(つまり、カスタム操作関数)が実行されることで実現される処理部である。カスタム関数が実行されると、カスタム関数の実行によるリソース量の変化量がリソース管理部56に通知される。カスタム関数が実行されると、使用可能なリソース量が、カスタム関数が使用するリソース量より少ない場合には、リソース操作関数の実行が禁止される。つまり、カスタムリソース操作処理部54は、使用可能なリソース量が、カスタム関数が使用するリソース量より少ない場合には、リソース操作関数の実行を禁止し、カスタム関数の実行によるリソース量の変化量をリソース管理部56に通知する。なお、リソース操作関数の実行が禁止される場合には、使用リソース量は増減しないため、リソース管理部56への通知は行われない。
また、アプリケーション管理部55は、CPU11によりアプリケーション管理プログラム35が実行されることで実現される処理部である。アプリケーション管理部55は、カスタムクラスローダ61を有する。
カスタムクラスローダ61は、アプリケーション58において使用されているクラスのオブジェクトをRAM13に展開する処理部である。さらに、カスタムクラスローダ61は、そのオブジェクトのメモリ使用量をリソース管理部56に通知する。また、カスタムクラスローダ61は、使用可能なメモリ領域がオブジェクトの展開に必要なメモリ領域より少ない場合には、オブジェクトの展開を禁止する。なお、オブジェクトの展開が禁止された場合、メモリ使用量は増加しないため、リソース管理部56への通知は行われない。
また、カスタムクラスローダ61は、アプリケーション58において使用されているクラスのクラスデータを取得して解析し、オブジェクト内に記述されているリソース操作ライブラリにおけるリソース操作関数を、カスタム関数に置き換える。
また、リソース管理部56は、CPU11によりリソース管理プログラム36が実行されることで実現される処理部である。リソース管理部56は、VM52上で動作するアプリケーション58が使用するリソースの使用量を管理する処理部である。リソース管理部56は、使用しているリソース量の変化量の通知に応じて、各時点での使用リソース量または使用可能なリソース量の情報を保持するリソース監視部と、リソースの残存量を測定し、リソース残存量の問い合わせに応答するリソース測定部とを有する。
また、基本機能処理部57は、CPU11により基本機能プログラム37が実行されることで実現される処理部である。基本機能処理部57は、VM52に依存せず、OS51上で動作し、画像形成処理に必要なデータ処理を実行するとともに、通信装置16、印刷装置17および読取装置18を制御する。
また、アプリケーション58は、CPU11によりアプリケーションプログラム38が実行されることで実現される処理部である。アプリケーション58は、基本機能処理部57の機能を使用した複雑なアプリケーション処理を実行する。
処理部53,54,57、管理部55,56およびアプリケーション58は、それぞれ、VM52上で動作する。VM52がJava(登録商標)仮想マシンである場合、処理部53,54,57、管理部55,56およびアプリケーション58のプログラムは、それぞれ、バイトコードで記述され、Java仮想マシンで解釈された上でCPU11により実行される。
また、図1において、操作パネル15は、入力装置と表示装置を有する。入力装置は、ユーザによる操作を検出し、操作に応じた電気信号を出力する装置である。入力装置としては、例えばタッチパネル、キーなどが使用される。表示装置は、画像データに対応する画像信号を生成し表示する装置である。表示装置としては、液晶ディスプレイなどが使用される。
また、通信装置16は、コンピュータネットワークおよび/または電話回線に接続され、基本機能処理部57により制御され、外部から印刷、ファクシミリ送信などのジョブを受信したり、外部へのファクシミリ送信を実行したりする装置である。通信装置16としては、ネットワークインタフェースカード、モデムなどが使用される。
また、印刷装置17は、基本機能処理部57により制御され印刷データに基づき所定の媒体への印刷を行う装置である。
また、読取装置18は、基本機能処理部57により制御され所定の媒体から光学的に画像を読み取り画像データとして出力する装置である。
これらの装置16,17,18により、印刷、コピー、ファクシミリ送信、ファクシミリ受信などの画像形成処理が実現される。
次に、上記装置の動作について説明する。
VM52がJava(登録商標)仮想マシンとされる場合、VM52で実行されるプログラムは、クラス単位で定義されている。そして、プログラムの実行時には、クラスのインスタンスであるオブジェクトがRAM13に展開される。オブジェクトはバイトコードで記述される。そして、オブジェクトの内容が順番にVM52により解釈されて、プログラムに記述されている処理が順番に実行される。このとき、処理によっては、リソースを確保したり、解放したりすることがある。
以下、(a)クラスローディング、(b)オブジェクトの実行、(c)オブジェクトの解放の順番で、本実施の形態におけるリソース管理について説明する。
まず、クラスローディングにおけるリソース管理処理について説明する。図3は、図2におけるカスタムクラスローダ61の動作を説明するフローチャートである。
クラスローダ61は、対象のクラスデータを、アプリケーションプログラム38、ライブラリ33などから取得する(ステップS1)。アプリケーションプログラム38、ライブラリ33などは、ファイルとしてHDD14に格納されていてもよいし、外部サーバに格納されていてもよい。外部サーバからクラスデータを取得する場合には、クラスローダ61は、通信装置16により外部サーバにアクセスし、クラスデータをダウンロードする。
クラスローダ61は、クラスデータを取得すると、クラスデータの先頭から順番に1ラインずつコードを読み込み(ステップS2)、そのコード内に基本リソース操作ライブラリ33のリソース操作関数の呼出が存在するか否かを判定する(ステップS3)。
そのコードにリソース操作関数の呼出が存在する場合、クラスローダ61は、そのリソース操作関数の呼出を、そのリソース操作関数に対応するカスタム関数の呼出に置き換えた後(ステップS4)、そのコードを解釈する(ステップS5)。
一方、そのコードにリソース操作関数の呼出が存在しない場合、クラスローダ61は、そのコードをそのまま解釈する(ステップS5)。
そして、クラスローダ61は、クラスデータにおけるコードをすべて解釈したか否かを判定する(ステップS6)。解釈していないコードがある場合には、クラスローダ61は、次のコードを読み込み(ステップS2)、そのコードについてステップS3からステップS5までの処理を同様に実行する。
このようにして、クラスデータにおけるすべてのコードの解釈が完了すると、クラスローダ61は、すべてのコードの解釈結果に基づきRAM13に展開されるオブジェクトのサイズを計算し(ステップS7)、リソース管理部56に通知する(ステップS8)。
そして、クラスローダ61は、すべてのコードの解釈結果に基づきそのクラスに対応するオブジェクトをRAM13に展開する(ステップS9)。
なお、ステップS8でリソース管理部56にメモリ使用量の増加を通知する前に、クラスローダ61は、RAM13に確保されているリソースとしてのメモリ領域において、増加分以上の空き領域があるか否かをリソース管理部56に問い合わせ、十分な空き領域がある場合のみ、ステップS8およびステップS9の処理を実行するようにしてもよい。十分な空き領域がない場合には、エラー処理が実行され、ステップS8およびステップS9の処理は実行されない。
このようにして、クラスローディング時には、オブジェクト展開による所定のメモリ領域における使用量が考慮されて、リソース管理が行われる。
次に、オブジェクト実行時のリソース管理処理について説明する。図4は、実施の形態におけるカスタム関数実行時の処理について説明するフローチャートである。
オブジェクト実行時に、クラスローダ61により置き換えられたカスタム関数が呼び出されると、まず、そのカスタム関数で使用されるリソースが、そのカスタム関数で使用される量だけ確保可能か否かが判定される(ステップS21)。このとき、リソース管理部56に、そのリソースについての残存量が問い合わせられ、それに対する応答、およびカスタム関数で記述されている使用リソース量に基づき、判定が行われる。
そのカスタム関数で使用されるリソースが、そのカスタム関数で使用される量だけ確保可能であると判定された場合、カスタム関数の実行で増加するリソース使用量がリソース管理部56に通知され(ステップS22)、そのカスタム関数に対応するリソース操作関数が呼び出される(ステップS23)。
一方、そのカスタム関数で使用されるリソースが、そのカスタム関数で使用される量だけ確保可能ではないと判定された場合、リソース操作関数は呼び出されず、エラー処理が実行される(ステップS24)。
なお、リソースを解放するリソース操作関数がカスタム関数で呼び出される場合には、カスタム関数の実行で減少するリソース使用量がリソース管理部56に通知され、そのカスタム関数に対応するリソース操作関数が呼び出される。
このようにして、オブジェクト実行時には、リソース操作を行う関数の呼び出しによるリソース使用量の増減が考慮されて、リソース管理が行われる。
次に、オブジェクト解放時のリソース管理処理について説明する。図5は、実施の形態におけるオブジェクト解放時の処理について説明するフローチャートである。
クラスローディングにより展開されたオブジェクトは、オブジェクトを解放するリソース操作関数の呼出、またはガベージコレクタによるガベージコレクションにより解放される。オブジェクトが解放されると、そのオブジェクトにおいて使用されていたリソースも解放される。なお、オブジェクトを解放するリソース操作関数の呼出は、クラスローダ61により、対応するカスタム関数の呼び出しに置き換えられる。
そして、オブジェクトを解放するカスタム関数の呼び出し、またはガベージコレクションが発生すると、解放されるリソース量、つまりリソース使用量の減少分がリソース管理部56に通知され(ステップS41)、リソース操作関数を呼び出すことでリソースが解放される(ステップS42)。
このようにして、オブジェクト解放時には、解放されるリソース量に基づく、リソース使用量の減少が考慮されて、リソース管理が行われる。
以上のように、上記実施の形態によれば、リソース管理部56は、VM52上で動作し、VM52上で動作するアプリケーション58が使用するリソースの使用量を管理する。これにより、リソース管理部56が仮想マシン上で動作するため、仮想マシン自体は、汎用の仮想マシンを使用することができる。このため、仮想マシンをカスタム化せずに、仮想マシン上で使用されるリソースの量を管理することができる。ひいては、リソース管理のために必要となる開発規模を小さくすることができる。また、リソース管理部56は、VM52上で動作するため、OS51に依存せずに済む。つまり、同一種類のVM52が実装されていれば、OS51の種類に関係なく、同一のリソース管理部56を使用することができる。
また、上記実施の形態によれば、クラスローダ61は、VM52上で動作し、RAM13に展開するオブジェクトのメモリ使用量をリソース管理部56に通知する。これにより、リソース管理部56は、クラスローディングによるメモリ使用量に基づき、リソースとしてのメモリ領域を管理することができる。また、クラスローダ61は、使用可能なメモリ領域がオブジェクトの展開に必要なメモリ領域より少ない場合には、オブジェクトの展開を禁止するようにしてもよい。これにより、クラスローディングによりメモリ領域が使用される際に、仮想マシン上で使用しているメモリ使用量が、メモリ領域の容量上限値を超えることを防止することができる。
また、上記実施の形態によれば、オブジェクトが解放される場合、オブジェクトの解放によるリソース使用量の減少量がリソース管理部56に通知される。これにより、リソース管理部56は、オブジェクト解放を考慮して、リソースとしてのメモリ領域を管理することができる。
また、上記実施の形態によれば、クラスローダ61は、クラスデータを解析し、オブジェクト内に記述されている基本リソース操作ライブラリ33におけるリソース操作関数を、カスタム関数に置き換える。そして、カスタム関数がVM52上で実行されると、カスタム関数の実行によるリソース使用量の変化量がリソース管理部56に通知される。これにより、実行されるとリソース量が増加または減少するライブラリ関数が、リソース量の変化量を通知する関数へ置き換えられるため、リソース管理部56は、アプリケーションが使用するライブラリ関数で使用/解放されるリソース量を考慮して、リソース量を管理することができる。
上述のように、リソース管理に関連する処理部(リソース管理部56、カスタムリソース操作処理部54およびクラスローダ61)は、すべてVM52上で動作するため、OS51に依存せずに済む。つまり、同一種類のVM52が実装されていれば、OS51の種類に関係なく、これらを使用することができる。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態では、情報処理装置の一例として画像形成装置を挙げているが、画像形成装置以外の組み込み装置にも適用可能である。
また、上記実施の形態において、VM52として、Java仮想マシンの代わりに、他の仮想実行環境を使用してもよい。
また、上記実施の形態において、図1および図2では、アプリケーションプログラム38およびアプリケーション58は、1つのみを示しているが、それらは複数でもよい。
また、上記の実施の形態では、クラスローダ61によりクラスローディング時にリソース操作関数がカスタム関数に置き換えられているが、事前にアプリケーションプログラム38においてリソース操作関数の代わりにカスタム関数が記述されるようにしてもよい。
また、上記の実施の形態において、リソース使用量の上限値は、機能ごと、アプリケーション58ごとなど、複数の条件のそれぞれに対して異なるように設定してもよい。また、予め設定されるリソース使用量の上限値に対する所定の割合に到達したらリソースを新たに確保できないようにしてもよい。
本発明は、例えば、仮想マシンを備えている組み込み装置に適用可能である。
本発明の実施の形態に係る画像形成装置の構成を示すブロック図である。 図1に示すライブラリおよびプログラムにより実現される処理部を階層的に示す図である。 図2におけるカスタムクラスローダの動作を説明するフローチャートである。 実施の形態におけるカスタム関数実行時の処理について説明するフローチャートである。 実施の形態におけるオブジェクト解放時の処理について説明するフローチャートである。
符号の説明
11 CPU(演算処理装置)
13 RAM(メモリ)
33 基本リソース操作ライブラリ(リソース操作ライブラリ)
51 オペレーティングシステム
52 VM(仮想マシン)
56 リソース管理部
57 基本機能処理部(画像形成処理部)
58 アプリケーション
61 カスタムクラスローダ(クラスローダ)

Claims (12)

  1. 演算処理装置で動作する仮想マシンと、
    前記仮想マシン上で動作し、前記仮想マシン上で動作するアプリケーションが使用するリソースの使用量を管理するリソース管理部と、
    前記仮想マシン上で実行されるリソース操作関数を含むリソース操作ライブラリと、
    前記仮想マシン上で動作し、前記アプリケーションにおいて使用されているクラスのオブジェクトをメモリに展開するとともに、クラスデータを解析し、前記オブジェクト内に記述されている前記リソース操作ライブラリにおけるリソース操作関数を、カスタム関数に置き換えるクラスローダとを備え、
    前記カスタム関数が実行されると、前記カスタム関数の実行によるリソース使用量の変化量が前記リソース管理部に通知されること、
    を特徴とする情報処理装置。
  2. 前記クラスローダは、前記メモリに展開するオブジェクトのメモリ使用量を前記リソース管理部に通知すること、
    を特徴とする請求項1記載の情報処理装置。
  3. 前記クラスローダは、使用可能なメモリ領域が前記オブジェクトの展開に必要なメモリ領域より少ない場合には、前記オブジェクトの展開を禁止することを特徴とする請求項2記載の情報処理装置。
  4. 前記オブジェクトが解放される場合、前記オブジェクトの解放によるリソース使用量の減少量が前記リソース管理部に通知されることを特徴とする請求項2記載の情報処理装置。
  5. 前記カスタム関数が実行されると、前記カスタム関数の実行によるリソース使用量の変化量が前記リソース管理部に通知されるとともに、そのカスタム関数に置き換えられた前記リソース操作関数が呼び出され実行されることを特徴とする請求項記載の情報処理装置。
  6. 前記カスタム関数が実行されると、使用可能なリソース量が、前記カスタム関数が使用するリソース量より少ない場合には、前記リソース操作関数の実行が禁止されることを特徴とする請求項記載の情報処理装置。
  7. 前記リソース管理部は、リソース使用量の変化量の通知に応じて、各時点での使用リソース量または使用可能なリソース量の情報を保持することを特徴とする請求項1記載の情報処理装置。
  8. 前記リソースは、所定量のメモリ領域、所定数のネットワークソケットおよび所定数のスレッドのうちの少なくとも1つを含むことを特徴とする請求項1記載の情報処理装置。
  9. 前記仮想マシンは、Java仮想マシンであることを特徴とする請求項1記載の情報処理装置。
  10. 前記仮想マシンは、前記演算処理装置で動作するオペレーティングシステム上で動作することを特徴とする請求項1記載の情報処理装置。
  11. 画像形成処理を行う画像形成処理部と、
    演算処理装置で動作する仮想マシンと、
    前記仮想マシン上で動作し前記画像形成処理部を使用するアプリケーションと、
    前記仮想マシン上で動作し、前記アプリケーションが使用するリソースの使用量を管理するリソース管理部と、
    前記仮想マシン上で実行されるリソース操作関数を含むリソース操作ライブラリと、
    前記仮想マシン上で動作し、前記アプリケーションにおいて使用されているクラスのオブジェクトをメモリに展開するとともに、クラスデータを解析し、前記オブジェクト内に記述されている前記リソース操作ライブラリにおけるリソース操作関数を、カスタム関数に置き換えるクラスローダとを備え、
    前記カスタム関数が実行されると、前記カスタム関数の実行によるリソース使用量の変化量が前記リソース管理部に通知されること、
    を特徴とする画像形成装置。
  12. 演算処理装置で仮想マシンを動作させ、
    前記仮想マシン上で動作するアプリケーションが使用するリソースの使用量を管理するリソース管理部を前記仮想マシン上で動作させ、
    前記仮想マシン上で動作するクラスローダで、前記アプリケーションにおいて使用されているクラスのオブジェクトをメモリに展開するとともに、クラスデータを解析し、前記オブジェクト内に記述されている、前記仮想マシン上で実行されるリソース操作ライブラリにおけるリソース操作関数を、カスタム関数に置き換え、
    前記カスタム関数が実行されると、前記カスタム関数の実行によるリソース使用量の変化量を前記リソース管理部に通知する、
    ことを特徴とする情報処理方法。
JP2008040269A 2008-02-21 2008-02-21 情報処理装置、画像形成装置および情報処理方法 Expired - Fee Related JP5020121B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008040269A JP5020121B2 (ja) 2008-02-21 2008-02-21 情報処理装置、画像形成装置および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008040269A JP5020121B2 (ja) 2008-02-21 2008-02-21 情報処理装置、画像形成装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2009199334A JP2009199334A (ja) 2009-09-03
JP5020121B2 true JP5020121B2 (ja) 2012-09-05

Family

ID=41142764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008040269A Expired - Fee Related JP5020121B2 (ja) 2008-02-21 2008-02-21 情報処理装置、画像形成装置および情報処理方法

Country Status (1)

Country Link
JP (1) JP5020121B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215444A1 (en) * 2002-03-25 2004-10-28 Patel Mukesh K. Hardware-translator-based custom method invocation system and method
JP2003323405A (ja) * 2002-05-02 2003-11-14 Itmanage Inc アプリケーションサーバ監視システム
JP2004312711A (ja) * 2003-03-25 2004-11-04 Ricoh Co Ltd 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法
JP4215037B2 (ja) * 2004-12-27 2009-01-28 セイコーエプソン株式会社 リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法

Also Published As

Publication number Publication date
JP2009199334A (ja) 2009-09-03

Similar Documents

Publication Publication Date Title
US9542228B2 (en) Image processing apparatus, control method thereof and storage medium
US8438567B2 (en) Information processing device and image processing apparatus
JP2014170515A (ja) 機器、情報記録プログラム、及び情報記録方法
JP5782055B2 (ja) 画像形成装置
EP3789867A1 (en) Application and information processing apparatus
JP6179200B2 (ja) 情報処理装置、機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP5381059B2 (ja) 機器、ログ記録制御方法、及びプログラム
US20100211873A1 (en) Apparatus and method of controlling information processing apparatus, and recording medium storing controlling program
US8261288B2 (en) Application platform
JP5020121B2 (ja) 情報処理装置、画像形成装置および情報処理方法
US11397603B2 (en) Information processing apparatus, control method therefor, and program
JP2015197845A (ja) 情報処理装置及びその制御方法、並びにプログラム
US11146707B2 (en) Method for installing application by image formation device, and image formation device using same method
JP2008305021A (ja) 情報処理装置及びアプリケーション管理方法
JP6078515B2 (ja) 電子機器およびプログラム
JP2013149026A (ja) 情報処理装置、制御方法、およびそのプログラム
JP2011197827A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2012059106A (ja) カスタマイズ装置、印刷システム、カスタマイズ方法およびカスタマイズプログラム
JP6555908B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2019046001A (ja) アプリケーション移植支援装置、アプリケーション移植支援プログラムおよびアプリケーション移植方法
JP5836814B2 (ja) 画像形成装置、制御方法及びプログラム
JP2011060236A (ja) 情報処理装置、開発支援プログラム、及びソフトウェア統合開発環境
JP5337686B2 (ja) アプリケーションプログラム生成方法および画像形成装置
JP2018192740A (ja) 画像形成装置、情報処理方法及びプログラム
JP2020177424A (ja) 情報処理装置およびその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120403

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5020121

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees