(57)【要約】【課題】起動パフォーマンス改善のため、使用リソースの初期値を定義できるアプリケーションは、アプリケーション開始時に使用リソースの管理処理を省略する。【解決手段】情報処理装置であって、アプリケーションの使用リソースを管理する管理手段と、アプリケーションの使用リソースを計測する計測手段と、アプリケーションの起動時における使用リソースの初期値が定義されているか否かを判定する判定手段とを備え、前記管理手段は、アプリケーションの使用リソースの初期値が定義されている場合、当該アプリケーションの使用リソースの計測を当該アプリケーションの起動が完了するまで無効とし、前記定義された初期値を当該アプリケーションの起動完了時の使用リソースの初期値として設定し、アプリケーションの使用リソースの初期値が定義されていない場合、当該アプリケーションの使用リソースの計測を有効とし、当該アプリケーションの起動が完了した際に前記計測手段により計測された使用リソースを初期値として設定する。【選択図】  図６Ａ
2017054264.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
アプリケーションの使用リソースを管理する管理手段と、
アプリケーションの使用リソースを計測する計測手段と、
アプリケーションの起動時における当該アプリケーションの使用リソースの初期値が定義されているか否かを判定する第一の判定手段と
を備え、
前記管理手段は、
前記第一の判定手段によりアプリケーションの使用リソースの初期値が定義されていると判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を当該アプリケーションの起動が完了するまで無効とし、前記定義された初期値を当該アプリケーションの起動完了時の使用リソースの初期値として設定し、
前記第一の判定手段によりアプリケーションの使用リソースの初期値が定義されていないと判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を有効とし、当該アプリケーションの起動が完了した際に前記計測手段により計測された使用リソースを初期値として設定することを特徴とする情報処理装置。
【請求項２】
アプリケーションの使用リソースの初期値が、前記アプリケーションを実行する情報処理装置の機器構成に依存して変動する否かを判定する第二の判定手段を更に有し、
前記管理手段は、前記第二の判定手段により機器構成に依存して初期値が変動すると判定されたアプリケーションに対し、前記情報処理装置の機器構成に変更があった際に、前記計測手段による当該アプリケーションの使用リソースの計測を有効とし、当該アプリケーションの起動が完了した際に前記計測手段により計測された使用リソースを初期値として設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理手段は、前記第一の判定手段により使用リソースの初期値が定義されていると判定され、かつ、前記第二の判定手段により機器構成に依存して初期値が変動しないと判定されたアプリケーションに対し、前記計測手段による当該アプリケーションの使用リソースの計測を当該アプリケーションの起動が完了するまで無効とし、前記定義された初期値を当該アプリケーションの起動完了時の使用リソースの初期値として設定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
アプリケーションの使用リソースの初期値が、当該アプリケーションを実行する情報処理装置の機器構成に依存して変動するか否かの情報は、当該アプリケーションが有するファイルに含まれることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
アプリケーションが複数のタスクにより開始処理を行うか否かを判定する第三の判定手段を更に有し、
前記管理手段は、前記第三の判定手段により複数のタスクにて開始処理を行うアプリケーションであると判定されたアプリケーションに対し、前記計測手段による当該アプリケーションの使用リソースの計測を無効とし、前記複数のタスクの処理が完了した時点で当該アプリケーションの使用リソースの前記計測手段による計測を有効とすることを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記第三の判定手段は、アプリケーションの使用リソースの初期値として定義された値に基づいて、当該アプリケーションが複数のタスクにより開始処理を行うか否かを判定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
アプリケーションの使用リソースを管理する管理手段と、
アプリケーションの使用リソースを計測する計測手段と、
を有する情報処理装置におけるリソース管理方法であって、
アプリケーションの起動時における当該アプリケーションの使用リソースの初期値が定義されているか否かを判定し、
前記アプリケーションの使用リソースの初期値が定義されていると判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を当該アプリケーションの起動が完了するまで無効とし、前記定義された初期値を当該アプリケーションの起動完了時の使用リソースの初期値として前記管理手段に設定し、
前記アプリケーションの使用リソースの初期値が定義されていないと判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を有効とし、当該アプリケーションの起動が完了した際に前記計測手段により計測された使用リソースを初期値として前記管理手段に設定することを特徴とするリソース管理方法。
【請求項８】
コンピュータを、
アプリケーションの使用リソースを管理する管理手段、
アプリケーションの使用リソースを計測する計測手段、
アプリケーションの起動時における当該アプリケーションの使用リソースの初期値が定義されているか否かを判定する第一の判定手段
として機能させ、
前記管理手段は、
前記第一の判定手段によりアプリケーションの使用リソースの初期値が定義されていると判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を当該アプリケーションの起動が完了するまで無効とし、前記定義された初期値を当該アプリケーションの起動完了時の使用リソースの初期値として設定し、
前記第一の判定手段によりアプリケーションの使用リソースの初期値が定義されていないと判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を有効とし、当該アプリケーションの起動が完了した際に前記計測手段により計測された使用リソースを初期値として設定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、リソース管理方法、およびプログラムに関する。
【背景技術】
【０００２】
組込機器において、アプリケーションの実行環境である情報処理装置には、一般的に使用可能なリソースに制限がある。これに対し、アプリケーションの実動作中に情報処理装置の使用可能なリソースが不足することを無くし、アプリケーションが安定稼働することを保証するために、以下のようなことが行われる。まず、開発者はアプリケーションが使用するリソースの量について上限値を定める。そして、管理者がアプリケーションをインストールする際に、その上限値に基づいて、アプリケーション管理フレームワークは情報処理装置の使用可能なリソースを超えないことを確認する。
【０００３】
特許文献１では、まず、情報処理装置内でアプリケーションが使用するリソースの量を１回目の起動時に計測する。そして、２回目以降の起動時にはその計測値と他のアプリケーションの使用するリソースの量を合計して、アプリケーションを起動するか否かを決定している。特許文献１によれば、２回目以降の起動時に、計測値と情報処理装置内で起動されている他のアプリの使用リソースとの総和が使用可能なリソース量を超えない場合はアプリケーションを起動し、超える場合はアプリケーションの起動を待機する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２０６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、引用文献１では、アプリケーションの使用リソースの上限値による管理を行っていないため、アプリケーションの実動作中に使用リソース量が情報処理装置で使用可能なリソース量を超える場合に、アプリケーションを安定稼働する保証ができない。
【０００６】
また、アプリケーションのインストール時に使用可能なリソースを超えないことを確認するだけでは、アプリケーションが不正な処理を行った場合に、アプリケーションが安定稼働することを保証できない場合がある。この対策として、実動作中に各アプリケーションが要求してくるリソースを常に積算して、管理するリソースサービスの導入が考えられる。しかしながら、情報処理装置の起動中に各アプリケーションの使用リソースを管理していると起動パフォーマンスに影響してしまう課題がある。そこで、情報処理装置の起動時に各アプリケーションが使用するリソースを初期値として定義しておき、起動中はその初期値を使用リソースとして管理する方法も考えられる。しかし、アプリケーションの中には初期値を定義できないものがあるため、リソースサービスが実動作中の各アプリケーションの使用リソースを管理することができなくなり、アプリケーションが安定稼働することを保証できない。
【０００７】
上記課題を鑑み、本願発明は、アプリケーションに定義された情報に応じて、アプリケーション開始時にリソースの管理を省略することで、情報処理装置の起動パフォーマンスを改善することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、情報処理装置であって、アプリケーションの使用リソースを管理する管理手段と、アプリケーションの使用リソースを計測する計測手段と、アプリケーションの起動時における当該アプリケーションの使用リソースの初期値が定義されているか否かを判定する第一の判定手段とを備え、前記管理手段は、前記第一の判定手段によりアプリケーションの使用リソースの初期値が定義されていると判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を当該アプリケーションの起動が完了するまで無効とし、前記定義された初期値を当該アプリケーションの起動完了時の使用リソースの初期値として設定し、前記第一の判定手段によりアプリケーションの使用リソースの初期値が定義されていないと判定された場合、前記計測手段による当該アプリケーションの使用リソースの計測を有効とし、当該アプリケーションの起動が完了した際に前記計測手段により計測された使用リソースを初期値として設定する。
【発明の効果】
【０００９】
本発明により、情報処理装置の起動パフォーマンスを改善することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係るシステムの全体の構成例を示す図。
【図２】本発明に係る画像形成装置のハードウェアの構成例を示す図。
【図３】本発明に係るアプリケーション実行環境の構成例を示す図。
【図４】第一の実施形態に係るアプリケーションのファイル構成の例を示す図。
【図５】第一の実施形態に係るデータテーブルの構成例を示す図。
【図６Ａ】第一の実施形態に係るリソースサービスの処理を示すフローチャート。
【図６Ｂ】第一の実施形態に係るリソースサービスの起動処理を示すフローチャート。
【図６Ｃ】第一の実施形態に係るリソース取得処理を示すフローチャート。
【図６Ｄ】第一の実施形態に係るリソース解放処理を示すフローチャート。
【図６Ｅ】第一の実施形態に係るアプリケーション開始完了時の処理を示すフローチャート。
【図６Ｆ】第一の実施形態に係るアプリケーションインストール完了時の処理を示すフローチャート。
【図７】第二の実施形態に係るアプリケーションのファイル構成の例を示す図。
【図８】第二の実施形態に係るデータテーブルの構成例を示す図。
【図９Ａ】第二の実施形態に係るリソースサービスの起動処理を示すフローチャート。
【図９Ｂ】第二の実施形態に係るアプリケーション開始完了時の処理を示すフローチャート。
【図９Ｃ】第二の実施形態に係るアプリケーションインストール完了時の処理を示すフローチャート。
【図１０Ａ】第三の実施形態に係るリソースサービスの処理を示すフローチャート。
【図１０Ｂ】第三の実施形態に係るアプリケーション開始完了時の処理を示すフローチャート。
【図１０Ｃ】第三の実施形態に係る画像形成装置の起動完了時の処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
＜第一の実施形態＞
［システム構成］
図１は、本発明に係るシステム全体の構成例を示す図である。画像形成装置１００は、本実施形態を実装した情報処理装置の一例となる画像形成装置である。情報処理装置１０１は、画像形成装置１００を管理するための情報処理装置である。ネットワーク１２０は、画像形成装置１００と情報処理装置１０１を接続するネットワークである。情報処理装置１０１は、画像形成装置１００をネットワーク１２０経由で利用するために用いられる。
【００１３】
アプリケーションＡ１１０は、画像形成装置１００上で動作するアプリケーションの一つの例である。同様に、アプリケーションＢ１１１、アプリケーションＣ１１２は、画像形成装置１００上で動作するアプリケーションの他の例である。画像形成装置１００上では一つまたは複数のアプリケーションを動作させることが可能である。ここではアプリケーションを三つ例示している。以後、「アプリケーション１１ｎ」という表現は、アプリケーションＡ１１０、アプリケーションＢ１１１、アプリケーションＣ１１２により代表されるような一つまたは複数のアプリケーションを指す。
【００１４】
本システムの一般利用者および管理者は、画像形成装置１００の基本機能、アプリケーション１１ｎ、および、画像形成装置１００やアプリケーション１１ｎを管理するための情報処理装置１０１を利用することが可能である。利用に当たっては、画像形成装置１００を直接操作、もしくはネットワーク１２０経由で情報処理装置１０１から操作することが可能である。
【００１５】
図２は、本実施形態に係る画像形成装置１００のハードウェアの構成例を示す。画像形成装置１００は、コア部２００、ユーザインターフェース部２０１、記憶装置２０２、ネットワークインターフェース部２０３、スキャナー部２０４、プリンター部２０５、およびフィニッシャー部２０６を含んで構成される。ネットワークインターフェース部２０３はネットワーク１２０に接続するためのインターフェースである。コア部２００は、記憶装置２０２に格納されたプログラムを読み出して、以下に示す本願発明に係る各処理を実行する。情報処理装置１０１は、例えば、ＰＣやモバイル端末が該当し、その構成については一般的なものが利用できるため、ここでの詳細な説明は省略する。
【００１６】
なお、本明細書において、「リソース」とは、記憶装置２０２に含まれる揮発性／不揮発性の記憶領域や、コア部２００などの使用率（使用量）を指すが、これに限定するものではない。具体的な「リソース」の例としては、図４に示すリソース宣言ファイルにて定義されたものが挙げられる。本願発明に係る画像形成装置１００は、リソース宣言ファイルに定義されるような、各アプリケーションが使用するリソースの計測およびリソース管理が可能であるとする。
【００１７】
図３は、本実施形態に係る画像形成装置１００上でアプリケーション１１ｎを実行するためのアプリケーション実行環境の構成例を示す。本実施形態に係るアプリケーション実行環境は、コア部２００によって実現される。アプリケーション実行基盤３０１は、アプリケーションを実行するための基盤である。アプリケーション管理フレームワーク３０２は、アプリケーション１１ｎそれぞれのインストール、アンインストール、実行、および停止を管理する。アプリケーション実行環境内へアプリケーション１１ｎをインストールして実行するためには、アプリケーション管理フレームワーク３０２が利用される。アプリケーション管理フレームワーク３０２は、一般的な基本動作として、管理者がアプリケーション１１ｎのインストールのリクエストを行うことにより、インストール動作を行う。その際に、アプリケーション管理フレームワーク３０２は、そのアプリケーション１１ｎのリソース宣言ファイル４０２を参照して、そこに宣言されているリソース上限値が現在のアプリケーション実行環境内のリソースの空き容量の中に納まるか否かを判定する。もし納まらない場合、アプリケーション管理フレームワーク３０２は、そのアプリケーションのインストールを失敗させる。サポートライブラリ３０３は、アプリケーション１１ｎが画像形成装置１００の様々な機能を利用するためのライブラリである。
【００１８】
リソースサービス３０４は、アプリケーション１１ｎが使用するリソースを管理する。リソースサービス３０４の基本的な動作として、アプリケーション１１ｎが使用するリソースを管理する機能がある。まず、アプリケーション１１ｎが使用するリソースを管理する機能について説明する。一般的なアプリケーションは、リソースを取得する際、および解放する際にアプリケーション実行基盤３０１にリソース取得リクエスト、リソース解放リクエストを送る。一方、リソースサービス３０４対応のアプリケーション１１ｎは、リソースを取得する際、および解放する際にリソースサービス３０４に対してリソース取得リクエスト、リソース解放リクエストを送る。この時、リソースサービス３０４は、リソースサービス３０４が記憶しているリクエストを送ったアプリケーション１１ｎの使用リソース５０３に、リクエストされたリソースを、リソース取得の場合は加算し、リソース解放の場合は減算する。そして、リソースサービス３０４は、更新したアプリケーション１１ｎの使用リソース５０３と、そのアプリケーション１１ｎのリソースサービス用リソース上限値５０２とを比較する。その上で、リソースサービス３０４は、リソース上限値に達していなければリソースを確保してアプリケーション１１ｎへ返す。上限を超えてしまう場合には、リソースサービス３０４は、エラーをアプリケーション１１ｎへ返す。
【００１９】
図４は、本実施形態に係るアプリケーション１１ｎを構成する代表的なファイルの内容について解説するための図である。アプリケーション１１ｎはいくつかの種類のファイルを含んで構成される。アプリケーション実行コードファイル４００は、アプリケーションの実行コード等を含むファイルである。アプリケーション固定データファイル４０１は、アプリケーションが有する固定データを収めたファイルである。リソース宣言ファイル４０２は、本実施形態に係るアプリケーション１１ｎのリソース上限値や使用リソース初期値を宣言するためのファイルである。リソース宣言ファイル４０２は、アプリケーション１１ｎの開発者が開発段階で予め内容を記載しているものとする。
【００２０】
リソース宣言ファイル４０２は、内容として以下の記述を含んでいる。アプリケーションＩＤ４１０は、アプリケーション１１ｎを一意に識別するためのアプリケーションＩＤの値である。リソース上限値４１１は、アプリケーション１１ｎが使用するリソースの上限値の宣言である。リソースサービス用リソース上限値４１２は、アプリケーション１１ｎがリソースサービス３０４にリソースのリクエストを行って使用するリソースの上限値である。リソースサービス３０４は、アプリケーション１１ｎのリソース宣言ファイル４０２にリソースサービス用リソース上限値４１２が記載されているか否かに基づき、そのアプリケーション１１ｎがリソースサービス３０４に対応しているか否かを判定できる。使用リソース初期値４１３は、アプリケーション１１ｎがアプリケーション管理フレームワーク３０２によって開始処理がなされ、その開始処理が完了した時のアプリケーション１１ｎの使用リソースである。
【００２１】
画像形成装置１００の使用状態やユーザの使用状況に依存して、開始される度に使用リソースが変動するようなアプリケーションの場合、開発者は使用リソースを記載しない。本実施形態において、リソース宣言ファイル４０２に使用リソース初期値４１３が記載されていない場合、リソースサービス３０４は、アプリケーション１１ｎの開始処理中にも、使用リソース積算処理やリソース上限値比較処理を行う。ここでの使用リソース積算処理やリソース上限値比較処理が使用リソースを管理するための処理に相当する。本処理の詳細については処理フローと併せて説明する。なお、画像形成装置１００における使用リソースを管理するための処理はこれに限定するものでは無く、他の処理が含まれていてもよい。使用リソース初期値４１３が記載されている場合、リソースサービス３０４は、アプリケーション１１ｎの開始完了後から、使用リソース積算処理やリソース上限値比較処理を行う。また、使用リソース初期値４１３が記載されている場合、リソースサービス３０４は、リソースサービス３０４の開始処理の中で、アプリケーション１１ｎの使用リソース５０３を使用リソース初期値４１３に設定する。この初期値設定処理により、アプリケーション１１ｎが開始された後には、リソースサービス３０４は、そのアプリケーション１１ｎが使用リソース初期値４１３まですでにリソースを使用していると判定できる。
【００２２】
リソースサービス３０４も基本的にはアプリケーションの一つであり、図４に示すアプリケーション１１ｎと同様の構成である。リソースサービスの特徴は、他の不特定のアプリケーション１１ｎに対してサービスを提供する共通のアプリケーションプログラミングインターフェース（以下「ＡＰＩ」と略す）を提供する点である。また、ユーザが画像形成装置１００の電源を入れ、起動され始めると、リソースサービス３０４はどのアプリケーション１１ｎよりも先にアプリケーション管理フレームワーク３０２によって起動される。
【００２３】
図５は、本実施形態に係るリソースサービス３０４が、アプリケーション１１ｎが使用するリソースを管理するために必要とするデータを保持するためのデータテーブルの構成例を示す。データテーブル５００は、リソースサービス３０４によって記憶装置２０２に記憶される。
【００２４】
アプリケーションＩＤ５０１は、アプリケーション実行環境内にインストールされているリソースサービス３０４対応のアプリケーション１１ｎを一意に識別するためのアプリケーションＩＤを示す。リソースサービス用リソース上限値５０２は、アプリケーションＩＤ５０１に対応するアプリケーション１１ｎのリソース上限値を示す。使用リソース５０３は、アプリケーションＩＤ５０１に対応するアプリケーション１１ｎの使用リソースである。アプリケーション１１ｎがリソースサービス３０４にリソース取得、あるいはリソース解放のリクエストを送ると、リソースサービス３０４は、そのアプリケーション１１ｎの使用リソース５０３にリクエストされたリソース量の加算、あるいは減算を行う。その後、リソースサービス３０４は、使用リソース５０３とリソースサービス用リソース上限値５０２を比較し、アプリケーション１１ｎにリソースを返すか否かを判定する。使用リソース初期値５０４は、アプリケーションＩＤ５０１に対応するアプリケーション１１ｎの開始処理が完了した時点における、そのアプリケーション１１ｎの使用リソースの初期値を示す。
【００２５】
管理者がアプリケーション１１ｎのインストールをリクエストすると、アプリケーション管理フレームワーク３０２は、アプリケーション実行環境内にアプリケーション１１ｎをインストールする。アプリケーション１１ｎがインストールされると、リソースサービス３０４は、そのアプリケーション１１ｎのリソース宣言ファイル４０２を参照する。リソースサービス３０４は、アプリケーションＩＤ４１０、リソースサービス用リソース上限値４１２、および使用リソース初期値４１３を、データテーブル５００のアプリケーションＩＤ５０１、リソースサービス用リソース上限値５０２、および使用リソース初期値５０４にそれぞれ設定する。画像形成装置１００の使用状態やユーザの使用状況に依存して、開始される度に使用リソース初期値が変動するようなアプリケーション１１ｎの場合、使用リソース初期値５０４の値はｎ／ａとなる。
【００２６】
計測有効化状態５０５は、アプリケーション１１ｎがリソース取得、あるいはリソース解放のリクエストを送った後に、使用リソース積算処理や、リソース上限値比較処理をリソースサービス３０４が行うか否かを決定する際に用いられる情報である。リソースサービス３０４は、リソースサービス３０４の起動処理中に、インストールされているリソースサービス３０４対応のアプリケーション１１ｎに使用リソース初期値５０４が定義されているか否かを判定する。判定の結果、使用リソース初期値５０４が定義されている場合、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「無効」に設定する。その後、アプリケーション１１ｎの開始処理が完了した時に、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。判定の結果、使用リソース初期値５０４が定義されていない場合、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。このような計測有効化状態５０５の設定により、使用リソース初期値５０４が定義できないようなアプリケーション１１ｎにのみ、そのアプリケーション１１ｎの処理中に、使用リソース５０３の積算処理や比較処理を行うことができる。エントリー５１０は、ある一つのアプリケーション１１ｎに関するデータテーブル５００のエントリーである。
【００２７】
［処理フロー］
図６Ａは、本実施形態に係るリソースサービス３０４が開始されてから停止するまでの処理の流れを模式的に表したフローチャートである。ここで説明する処理は、ユーザによって画像形成装置１００の電源が入れられ、リソースサービス３０４が開始されてから、ユーザによって画像形成装置１００の電源が切られ、リソースサービス３０４が停止されるまでの一連の動作の中で実行されるものである。本実施形態において、本処理フローは、画像形成装置１００のコア部２００が記憶装置２０２に格納された図３に示す各ソフトウェアに対応するプログラムを順次読み出して実行することにより実現される。
【００２８】
Ｓ６００１にて、ユーザが画像形成装置１００の電源を入れると、アプリケーション管理フレームワーク３０２によってリソースサービス３０４が起動される。Ｓ６００１の処理の詳細は、図６Ｂを用いて後述する。この起動処理で、リソースサービス３０４は、リソースサービス３０４用のユーザインターフェース部２０１の登録や、ネットワークインターフェース部２０３の設定、データテーブル５００の作成を行う。起動処理が終わると、リソースサービス３０４は、リソースサービス３０４に対してリソース取得リクエストもしくはリソース解放リクエストが送られてきたことを検知できるようになる。
【００２９】
Ｓ６００２にて、リソースサービス３０４は、アプリケーション１１ｎからリソース取得リクエストが送られてきたか否かを判定する。リソースサービス３０４は、リソース取得リクエストを検知した場合（Ｓ６００２にてＹＥＳ）Ｓ６００３へ進み、検知していない場合は（Ｓ６００２にてＮＯ）Ｓ６００４へ進む。Ｓ６００３にて、リソースサービス３０４は、リソース取得リクエストに対するリソース取得処理を行い、その後、Ｓ６００４へ進む。Ｓ６００３の処理の詳細は、図６Ｃを用いて後述する。
【００３０】
Ｓ６００４にて、リソースサービス３０４は、アプリケーション１１ｎからリソース解放リクエストが送られてきたか否かを判定する。リソースサービス３０４は、リソース解放リクエストを検知した場合（Ｓ６００４にてＹＥＳ）Ｓ６００５へ進み、検知していない場合（Ｓ６００４にてＮＯ）Ｓ６００６へ進む。Ｓ６００５にて、リソースサービス３０４は、リソース解放リクエストに対するリソース解放処理を行い、その後、Ｓ６００６へ進む。Ｓ６００５の処理の詳細は、図６Ｄを用いて後述する。
【００３１】
Ｓ６００６にて、リソースサービス３０４は、アプリケーション管理フレームワーク３０２から送られるアプリケーション開始完了通知を検知したか否かを判定する。アプリケーション管理フレームワーク３０２は、リソースサービス３０４を起動した後、アプリケーション実行環境にインストールされているアプリケーション１１ｎを順に開始し始める。アプリケーション１１ｎそれぞれの開始処理が完了するたびに、アプリケーション管理フレームワーク３０２は、リソースサービス３０４にアプリケーション開始完了通知を送る。リソースサービス３０４は、アプリケーション開始完了通知を検知した場合（Ｓ６００６にてＹＥＳ）Ｓ６００７へ進み、検知していない場合は（Ｓ６００６にてＮＯ）Ｓ６００８へ進む。Ｓ６００７にて、リソースサービス３０４は、アプリケーション開始完了時の処理を行い、その後、Ｓ６００８へ進む。Ｓ６００７の処理の詳細は、図６Ｅを用いて後述する。
【００３２】
Ｓ６００８にて、リソースサービス３０４は、アプリケーション管理フレームワーク３０２から送られるアプリケーションインストール完了通知を検知したか否かを判定する。ユーザが、アプリケーション実行環境内にアプリケーション１１ｎのインストールをリクエストすると、アプリケーション管理フレームワーク３０２は、アプリケーション１１ｎをインストールする。その後、インストールの処理が完了すると、アプリケーション管理フレームワーク３０２は、リソースサービス３０４にアプリケーションインストール完了通知を送る。リソースサービス３０４は、アプリケーションインストール完了通知を検知した場合（Ｓ６００８にてＹＥＳ）Ｓ６００９へ進み、検知していない場合（Ｓ６００８にてＮＯ）Ｓ６００９へ進む。Ｓ６００９にて、リソースサービス３０４は、アプリケーションインストール完了時の処理を行い、その後、Ｓ６０１０へ進む。Ｓ６００９の処理の詳細は、図６Ｆを用いて後述する。
【００３３】
Ｓ６０１０にて、リソースサービス３０４は、アプリケーション管理フレームワーク３０２からリソースサービス３０４の停止リクエストが送られてきたか否かを検知する。ユーザが画像形成装置１００の電源を切った場合、もしくは管理者がリソースサービス３０４の停止をリクエストした場合、アプリケーション管理フレームワーク３０２はリソースサービス３０４に停止リクエストを送る。リソースサービス３０４は、停止リクエストを検知した場合（Ｓ６０１０にてＹＥＳ）Ｓ６０１１へ進み、検知していない場合（Ｓ６０１０にてＮＯ）Ｓ６００２へ戻り処理を繰り返す。
【００３４】
Ｓ６０１１にて、リソースサービス３０４は、停止処理として、データテーブル５００にあるアプリケーションＩＤ５０１、リソースサービス用リソース上限値５０２、および使用リソース初期値５０４を外部設定ファイル（不図示）に書き込む。また、リソースサービス３０４は、他の停止処理として、ユーザインターフェース部２０１の登録解除や、ネットワークインターフェース部２０３の解除設定を行う。その後、本処理フローは終了する。
【００３５】
リソースサービス３０４が開始されると、停止リクエストを受けるまでリソースサービス３０４は、リソース取得リクエスト、リソース解放リクエスト、アプリケーション開始完了通知、およびアプリケーションインストール開始完了通知を待つ。そして、リソースサービス３０４は、いずれかのリクエストあるいは通知を受けると、それに対応する処理を実行する。対応する各処理の詳細を、図６Ｂ〜図６Ｆを用いて説明する。
【００３６】
（リソースサービスの起動処理）
図６Ｂは、リソースサービス３０４の起動時に行われる処理の流れを模式的に表したフローチャートである。本処理フローは、図６ＡのＳ６００１の処理に対応する。
【００３７】
Ｓ６１０１にて、リソースサービス３０４は、初期処理として、リソースサービス３０４用のユーザインターフェース部２０１の登録、ネットワークインターフェース部２０３の設定、およびデータテーブル５００の初期化を行う。更に、リソースサービス３０４は、アプリケーション管理フレームワーク３０２からアプリケーション実行環境内にインストールされているアプリケーション１１ｎのアプリケーションＩＤ５０１を取得する。
【００３８】
Ｓ６１０２にて、リソースサービス３０４は、外部設定ファイル（不図示）から、アプリケーションＩＤ５０１、リソースサービス用リソース上限値５０２、および使用リソース初期値５０４を読み込む。ここでの外部設定ファイルは、記憶装置２０２に保持されているものとし、リソースサービス３０４の停止時に、リソースサービス３０４がデータテーブル５００に保持していたデータを書き込むことで生成される。そして、リソースサービス３０４は、読み込んだ内容をデータテーブル５００に定義する。
【００３９】
Ｓ６１０３〜Ｓ６１０８にて、リソースサービス３０４は、Ｓ６１０４〜Ｓ６１０７の処理を、データテーブル５００に定義されているアプリケーションＩＤ５０１の数だけ順に繰り返し実行する。
【００４０】
Ｓ６１０４にて、リソースサービス３０４は、アプリケーションＩＤ５０１に対する使用リソース初期値５０４がデータテーブル５００に定義されているか否かを判定する。定義されている場合（Ｓ６１０４にてＹＥＳ）Ｓ６１０６へ進み、定義されていない場合（Ｓ６１０４にてＮＯ）Ｓ６１０５へ進む。
【００４１】
Ｓ６１０５にて、リソースサービス３０４は、使用リソース初期値５０４が定義されているアプリケーションＩＤ５０１に対応する計測有効化状態５０５の値を「有効」に設定する。その後、Ｓ６１０８へ進む。
【００４２】
Ｓ６１０６にて、リソースサービス３０４は、使用リソース初期値５０４が定義されているアプリケーションＩＤ５０１に対する計測有効化状態５０５の値を「無効」に設定する。Ｓ６１０７にて、リソースサービス３０４は、使用リソース初期値５０４をデータテーブル５００から取得し、その値を使用リソース初期値５０４が定義されているアプリケーションＩＤ５０１に対する使用リソース５０３に設定する。その後、Ｓ６１０８へ進む。
【００４３】
Ｓ６１０８にて、アプリケーションＩＤ５０１の数だけＳ６１０４〜Ｓ６１０８の処理が繰り返されたと判定された場合、リソースサービス３０４は、起動処理を終了する。
【００４４】
以上の起動処理により、まず、リソースサービス３０４は、画像形成装置１００の起動時に開始されるアプリケーション１１ｎの情報を取得する。そして、リソースサービス３０４は、その情報からアプリケーション１１ｎが使用するリソースを管理するのに必要なデータテーブル５００を作成する。
【００４５】
（リソース取得処理）
図６Ｃは、アプリケーション１１ｎがリソースサービス３０４にリソース取得リクエストを送った時に、リソースサービス３０４が実行する処理の流れを模式的に表したフローチャートである。本処理フローは、図６ＡのＳ６００３の処理に対応する。
【００４６】
Ｓ６２０１にて、リソースサービス３０４は、リソース取得リクエストの送信元であるアプリケーション１１ｎに対応する計測有効化状態５０５の値をデータテーブル５００から参照し、「有効」に設定されているか否かを判定する。「有効」に設定されていた場合（Ｓ６２０１にてＹＥＳ）Ｓ６２０２へ進み、「無効」に設定されていた場合（Ｓ６２０１にてＮＯ）Ｓ６２０７へ進む。
【００４７】
Ｓ６２０２にて、リソースサービス３０４は、アプリケーション１１ｎがリソース取得リクエストしてきたリソースのリソース値を計測する。Ｓ６２０３にて、リソースサービス３０４は、Ｓ６２０２で計測したリソース値を、データテーブル５００にある使用リソース５０３の値に加算する。Ｓ６２０４にて、リソースサービス３０４は、Ｓ６２０３で加算を行った後の使用リソース５０３の値が、リソース取得リクエストの送信元であるアプリケーション１１ｎのリソースサービス用リソース上限値５０２の値を超えているか否かを判定する。超えている場合（Ｓ６２０４にてＹＥＳ）Ｓ６２０５へ進み、超えていない場合（Ｓ６２０４にてＮＯ）Ｓ６２０７へ進む。
【００４８】
Ｓ６２０５にて、リソースサービス３０４は、Ｓ６２０２で計測したリソース値を、データテーブル５００にあるリソース取得リクエストの送信元であるアプリケーション１１ｎの使用リソース５０３の値から減算する。これは、Ｓ６２０３にて加算した値を減算することで相殺している。Ｓ６２０６にて、リソースサービス３０４は、アプリケーション１１ｎに「使用リソースがリソース上限値を超えた」旨のエラーを返す。その後、本処理フローを終了する。
【００４９】
Ｓ６２０７にて、リソースサービス３０４は、リソース取得リクエストをアプリケーション実行基盤３０１に送る。アプリケーション実行基盤３０１は、リソース取得リクエストを受けると、リソースを取得し、リソースサービス３０４に取得したリソースを返す。このとき、アプリケーション実行基盤３０１は、リソースの取得に失敗した場合には、リソースサービス３０４に対し、その旨のエラーを返す。
【００５０】
Ｓ６２０８にて、リソースサービス３０４は、Ｓ６２０７でリソースを確保できたか否かを判定する。このとき、アプリケーション実行基盤３０１からリソース取得に失敗した旨のエラーが返ってきた場合には、リソースの確保ができず、取得に失敗したこととなる。リソースが確保できなかった場合、つまり、エラーが返ってきた場合（Ｓ６２０８にてＮＯ）Ｓ６２１０へ進み、リソースが確保できた場合、つまり、エラーが返ってきていない場合（Ｓ６２０８にてＹＥＳ）Ｓ６２０９へ進む。
【００５１】
Ｓ６２０９にて、リソースサービス３０４は、アプリケーション実行基盤３０１から取得したリソースを、リソース取得リクエストの送信元であるアプリケーション１１ｎに返す。その後、本処理フローを終了する。
【００５２】
Ｓ６２１０にて、リソースサービス３０４は、アプリケーション１１ｎに「リソース取得に失敗した」旨を示すエラーを返す。その後、本処理フローは終了する。
【００５３】
本処理フローについて、更に説明する。アプリケーション１１ｎがリソース取得リクエストをリソースサービス３０４に送ると、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値に従って、使用リソース積算処理や上限値比較処理を行うか否かを判定する。リソースサービス３０４がアプリケーション１１ｎの計測有効化状態５０５の値を「無効」に設定する条件は、そのアプリケーション１１ｎに対する使用リソース初期値５０４が定義されている時のみである。そして、リソースサービス３０４がデータテーブル５００の使用リソース初期値５０４を定義する条件は、そのアプリケーション１１ｎのリソース宣言ファイル４０２に使用リソース初期値４１３が記載されている時のみである。従って、アプリケーション１１ｎの使用リソース初期値４１３がリソース宣言ファイル４０２に記載されていない場合、リソースサービス３０４は、計測有効化状態５０５の値を「有効」に設定する。
【００５４】
これにより、リソースサービス３０４は、リソース宣言ファイル４０２に使用リソース初期値４１３が記載されていないアプリケーション１１ｎに対してのみ、常に使用リソース５０３の積算処理や上限値との比較処理を行うことができる。その結果、使用リソース初期値５０４が定義されているアプリケーション１１ｎにおいて、計測有効化状態５０５の値が「無効」の場合、使用リソース５０３の積算処理や上限値との比較処理を省くことができ、画像形成装置１００の起動パフォーマンスが向上される。
【００５５】
（リソース解放処理）
図６Ｄは、アプリケーション１１ｎがリソースサービス３０４にリソース解放リクエストを送った時に、リソースサービス３０４が実行する処理の流れを模式的に表したフローチャートである。本処理フローは、図６ＡのＳ６００５の処理に対応する。
【００５６】
Ｓ６３０１にて、リソースサービス３０４は、リソース解放リクエストの送信元であるアプリケーション１１ｎに対応する計測有効化状態５０５の値をデータテーブル５００から参照し、「有効」に設定されているか否かを判定する。「有効」に設定されていた場合（Ｓ６３０１にてＹＥＳ）Ｓ６３０２へ進み、「無効」に設定されていた場合（Ｓ６３０１にてＮＯ）Ｓ６３０３に進む。
【００５７】
Ｓ６２０２にて、リソースサービス３０４は、アプリケーション１１ｎがリソース解放リクエストをしたリソースのリソース値を計測する。
【００５８】
Ｓ６３０３にて、リソースサービス３０４は、リソース解放リクエストをアプリケーション実行基盤３０１に送る。アプリケーション実行基盤３０１は、リソース解放リクエストを受けるとリソースを解放し、リソースサービス３０４に正常処理ができた旨の応答を返す。このとき、アプリケーション実行基盤３０１は、リソースの解放に失敗した場合には、その旨のエラーをリソースサービス３０４に返す。
【００５９】
Ｓ６３０４にて、リソースサービス３０４は、Ｓ６３０３にてリソースを解放できたか否かを判定する。このとき、アプリケーション実行基盤３０１からリソース解放に失敗した旨のエラーが返ってきた場合には、リソースの開放ができず失敗したことになる。リソース解放に失敗した場合、つまり、エラーが返ってきた場合（Ｓ６３０４にてＮＯ）Ｓ６３０５へ進み、リソース解放が成功した場合、つまり、エラーが返ってきていない場合（Ｓ６３０４にてＹＥＳ）Ｓ６３０６へ進む。
【００６０】
Ｓ６３０５にて、リソースサービス３０４は、アプリケーション１１ｎに「リソース解放に失敗した」旨のエラーを返す。その後、本処理フローを終了する。
【００６１】
Ｓ６３０６にて、リソースサービス３０４は、リソース解放リクエストの送信元であるアプリケーション１１ｎに対する計測有効化状態５０５の値が「有効」に設定されているか否かを判定する。「有効」に設定されている場合（Ｓ６３０６にてＹＥＳ）Ｓ６３０７へ進み、「無効」に設定されている場合（Ｓ６３０６にてＮＯ）本処理フローを終了する。
【００６２】
Ｓ６３０７にて、リソースサービス３０４は、Ｓ６３０２で取得した解放リソースの計測値を、データテーブル５００の使用リソース５０３の値から減算する。その後、本処理フローを終了する。
【００６３】
本処理フローについて、更に説明する。アプリケーション１１ｎがリソース解放リクエストをリソースサービス３０４に送ると、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値に従って、使用リソース積算処理や上限値比較処理を行うか否かを判定する。
【００６４】
これにより、リソースサービス３０４は、リソース宣言ファイル４０２に使用リソース初期値４１３が記載されていないアプリケーション１１ｎに対してのみ、常に使用リソース５０３の減算処理を行うことができる。その結果、使用リソース初期値５０４が定義されているアプリケーションにおいて、計測有効化状態５０５の値が「無効」の場合、使用リソース５０３の減算処理を省くことができ、画像形成装置１００の起動パフォーマンスが向上される。
【００６５】
（アプリケーション開始完了時の処理）
図６Ｅは、アプリケーション管理フレームワーク３０２がアプリケーション１１ｎの開始処理を完了した後に、リソースサービス３０４が実行する処理の流れを模式的に表したフローチャートである。本処理フローは、図６ＡのＳ６００７の処理に対応する。
【００６６】
アプリケーション管理フレームワーク３０２がアプリケーション１１ｎを開始する条件は、ユーザが画像形成装置１００の電源を入れた後である。もしくは、管理者がアプリケーション実行環境にインストールされているアプリケーション１１ｎを開始するリクエストを送った後である。アプリケーション管理フレームワーク３０２がアプリケーション１１ｎの開始処理を完了すると、アプリケーション開始完了通知をリソースサービス３０４に送る。
【００６７】
Ｓ６４０１にて、リソースサービス３０４は、アプリケーション管理フレームワーク３０２からアプリケーション開始完了通知を受信する。
【００６８】
Ｓ６４０２にて、リソースサービス３０４は、データテーブル５００に開始完了したアプリケーション１１ｎに対する使用リソース初期値５０４が定義されているか否かを判定する。定義されている場合（Ｓ６４０２にてＹＥＳ）Ｓ６４０３へ進み、定義されていない場合（Ｓ６４０２にてＮＯ）本処理フローを終了する。
【００６９】
Ｓ６４０３にて、リソースサービス３０４は、使用リソース初期値５０４が定義されていたアプリケーションＩＤ５０１に対応する計測有効化状態５０５の値を「有効」に設定する。その後、本処理フローを終了する。
【００７０】
本処理フローについて、更に説明する。アプリケーション管理フレームワーク３０２がアプリケーション開始完了通知をリソースサービス３０４に送ると、リソースサービス３０４は、開始されたアプリケーション１１ｎの使用リソース初期値５０４が定義されているか否かを判定する。使用リソース初期値５０４が定義されていないアプリケーション１１ｎに関して、リソースサービス３０４はそのアプリケーション１１ｎの計測有効化状態５０５の値を「無効」に設定することはない。一方、使用リソース初期値５０４が定義されているアプリケーション１１ｎに関して、アプリケーション開始完了通知を受信する前までは、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「無効」に設定している。そこで、リソースサービス３０４は、開始されたアプリケーション１１ｎの使用リソース初期値５０４が定義されているか否かを判定し、定義されている場合のみ、そのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。
【００７１】
アプリケーション開始完了後にリソースサービス３０４が計測有効化状態５０５の値を「有効」に設定する。そのため、アプリケーション開始処理中の使用リソース５０３の積算処理や使用リソース５０３とリソースサービス用リソース上限値５０２の比較処理を省くことができる。その結果、画像形成装置１００のパフォーマンスを向上できる。
【００７２】
（アプリケーションインストール完了時の処理）
図６Ｆは、アプリケーション管理フレームワーク３０２がアプリケーション１１ｎのインストール処理を完了した後に、リソースサービス３０４が行う処理の流れを模式的に表したフローチャートである。本処理フローは、図６ＡのＳ６００９の処理に対応する。
【００７３】
アプリケーション管理フレームワーク３０２がアプリケーション１１ｎをインストールする条件は、管理者がアプリケーション実行環境にアプリケーション１１ｎをインストールするリクエストを送った後である。アプリケーション管理フレームワーク３０２がアプリケーション１１ｎのインストール処理を完了すると、アプリケーションインストール完了通知をリソースサービス３０４に送る。
【００７４】
Ｓ６５０１にて、リソースサービス３０４は、アプリケーション管理フレームワーク３０２からアプリケーションインストール完了通知を受信する。
【００７５】
Ｓ６５０２にて、リソースサービス３０４は、インストールされたアプリケーション１１ｎのリソース宣言ファイル４０２にリソースサービス用リソース上限値４１２が記載されているか否かを判定する。記載されている場合（Ｓ６５０２にてＹＥＳ）Ｓ６５０３へ進み、記載されていない場合（Ｓ６５０２にてＮＯ）本処理フローを終了する。
【００７６】
Ｓ６５０３にて、リソースサービス３０４は、インストールされたアプリケーション１１ｎのリソース宣言ファイル４０２からアプリケーションＩＤ４１０、およびリソースサービス用リソース上限値４１２を取得する。そして、リソースサービス３０４は、取得したアプリケーションＩＤ４１０、およびリソースサービス用リソース上限値４１２をデータテーブル５００のアプリケーションＩＤ５０１、およびリソースサービス用リソース上限値５０２にそれぞれ設定する。
【００７７】
Ｓ６５０４にて、リソースサービス３０４は、インストールされたアプリケーション１１ｎのリソース宣言ファイル４０２に使用リソース初期値４１３が記載されているか否かを判定する。記載されている場合（Ｓ６５０４にてＹＥＳ）Ｓ６５０６へ進み、記載されていない場合（Ｓ６５０４にてＮＯ）Ｓ６５０５へ進む。
【００７８】
Ｓ６５０５にて、リソースサービス３０４は、インストールされたアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。その後、本処理フローを終了する。
【００７９】
Ｓ６５０６にて、リソースサービス３０４は、インストールされたアプリケーション１１ｎのリソース宣言ファイル４０２から使用リソース初期値４１３を取得する。そして、リソースサービス３０４は、取得した使用リソース初期値４１３をデータテーブル５００の使用リソース初期値５０４に設定する。Ｓ６５０７にて、リソースサービス３０４は、インストールされたアプリケーション１１ｎに対する計測有効化状態５０５の値を「無効」に設定する。Ｓ６５０８にて、リソースサービス３０４は、使用リソース初期値５０４をデータテーブル５００から取得し、その値をインストールされたアプリケーション１１ｎに対する使用リソース５０３に設定する。その後、本処理フローを終了する。
【００８０】
本処理フローについて、更に説明する。アプリケーションインストール完了通知を受信すると、リソースサービス３０４は、インストールされたアプリケーション１１ｎのリソースサービス用リソース上限値４１２が記載されているか否かを判定する。使用リソース初期値５０４が記載されている場合、リソースサービス３０４は、インストールされたアプリケーション１１ｎをリソースサービス３０４に対応していると判定する。そして、リソースサービス３０４は、そのアプリケーション１１ｎのアプリケーションＩＤ４１０やおよびリソースサービス用リソース上限値４１２をデータテーブル５００に設定する。その後、リソースサービス３０４は、インスールされたアプリケーション１１ｎに使用リソース初期値４１３が記載されているか否かを判定する。使用リソース初期値４１３が記載されている場合、リソースサービス３０４は、インストールされたアプリケーション１１ｎの計測有効化状態５０５の値を、アプリケーション１１ｎが開始完了するまで「無効」に設定する。すなわち、リソースサービス３０４は、インストールされたアプリケーション１１ｎの開始処理中に、使用リソースの積算処理や使用リソースとリソースサービス用リソース上限値の比較処理を行わなくて良いと判定することができる。
【００８１】
以上、本実施形態では、リソースサービス３０４は、インストールされているアプリケーション１１ｎのリソース宣言ファイル４０２に使用リソース初期値４１３が記載されているか否かを判定する。すなわち、リソースサービス３０４は、インストールされたアプリケーション１１ｎが、画像形成装置１００の使用状態やユーザの使用状況に依存して、開始される度に使用リソース５０３が変動するようなアプリケーションか否かを判定できる。そして、その判定結果に基づいて、開発者が使用リソース初期値４１３を定義できないアプリケーション１１ｎに対してのみ、使用リソース積算処理や、上限値比較処理を実行することができる。
【００８２】
その結果、使用リソース初期値が定義されているか否かを判定し、定義されていないアプリケーションに対してのみアプリケーション開始時に使用リソース積算処理や上限値比較処理を行うことができ、画像形成装置の起動パフォーマンスを改善することができる。
【００８３】
＜第二の実施形態＞
次に本発明に係る第二の実施形態について図を用いて説明する。第一の実施形態では、開発者が使用リソース初期値４１３を定義できるアプリケーション１１ｎに対して、アプリケーション開始時の使用リソース積算処理や上限値比較処理を省いて、画像形成装置１００の起動パフォーマンスを向上させていた。そのために、ユーザの使用状況に依存して、開始される度に使用リソース５０３が変動するようなアプリケーション１１ｎか否かを、リソース宣言ファイル４０２に使用リソース初期値が記載されているか否かによって判定する必要があった。
【００８４】
しかしながら、開発者が使用リソース初期値４１３を記載できないアプリケーション１１ｎの中には、ユーザ先に設置される画像形成装置１００の機器構成が特定できないため、一意に使用リソース初期値４１３を定義できない場合がある。このような場合、使用リソースは、ユーザの使用状況には依存せず、画像形成装置１００の機器構成に依存して開始される度に変動する。設置される画像形成装置１００の機器構成は、一度設置されると滅多に変更されないため、画像形成装置１００の機器構成が定まればアプリケーション１１ｎの使用リソース初期値５０４も一意に定義することができる。一方、機器構成の全パターンに対応する使用リソース初期値４１３を開発者が定義する方法は、開発者への莫大な負担と多大な時間を要するため現実的ではない。
【００８５】
従って、本実施形態では、画像形成装置１００の機器構成が変更されたか否かを判定し、変更された場合のみ、リソースサービス３０４が使用リソース初期値５０４を定義する構成について説明する。本実施形態に係る機器構成とは、例えば、画像形成装置が備える排紙／給紙トレイの数、用紙のサイズ、給紙トレイの用紙の積載状況、接続された後処理装置などが挙げられるが、これらに限定するものではない。
【００８６】
本実施形態に係るシステムの構成例は第一の実施形態にて示した図１と同様である。また、本実施形態に係る画像形成装置１００のハードウェアの構成例は図２に示したものと同様である。本実施形態に係るアプリケーション１１ｎを実行するためのアプリケーション実行環境の構成例は図３に示したものと同様である。
【００８７】
図７は、本実施形態に係るアプリケーション１１ｎを構成する代表的なファイルの内容を示す図である。ここでは、第一の実施形態にて示した図４の構成に加え、機器構成依存７０１が含まれている。機器構成依存７０１は、アプリケーション１１ｎの使用リソース初期値が画像形成装置１００の機器構成に依存するか否かを示す。機器構成依存７０１は、リソースサービス３０４がそのアプリケーション１１ｎの使用リソース初期値５０４を定義するべきか否かを判定するために用いられる。機器構成依存７０１の値が「有」と記載されている場合、リソースサービス３０４は、そのアプリケーション１１ｎを、画像形成装置１００の機器構成が定まれば使用リソース初期値も一意に定義することができるアプリケーションであると判定する。機器構成依存７０１の値が「無」と記載されている場合、リソースサービス３０４は、そのアプリケーション１１ｎを、ユーザの使用状況に依存して、開始される度に使用リソースが変動するアプリケーションであると判定する。
【００８８】
図８は、本実施形態に係るリソースサービス３０４がアプリケーション１１ｎの使用するリソースを管理するために必要とするデータを保持するためのデータテーブルを模式的に表したものである。本実施形態に係るデータテーブル８００は、第一の実施形態にて示した図５の構成に加え、機器構成依存８０１を含んで構成される。データテーブル８００は、リソースサービス３０４によって記憶装置２０２に記憶される。
【００８９】
機器構成依存８０１は、アプリケーションＩＤ５０１に対応する使用リソース初期値５０４が画像形成装置１００の機器構成に依存するか否かを示す。管理者がアプリケーション１１ｎのインストールをリクエストすると、アプリケーション管理フレームワーク３０２は、アプリケーション実行環境内にアプリケーション１１ｎをインストールする。アプリケーション１１ｎがインストールされると、リソースサービス３０４は、そのアプリケーション１１ｎのリソース宣言ファイル４０２を参照する。そして、リソースサービス３０４は、機器構成依存７０１の値をデータテーブル８００の機器構成依存８０１に設定する。リソースサービス３０４は、データテーブル８００に定義された機器構成依存８０１の値を基に、使用リソース初期値５０４を定義するか否かを判定することができる。エントリー８１０は、ある一つのアプリケーション１１ｎに関するデータテーブル８００のエントリーである。
【００９０】
［処理フロー］
（リソースサービスの起動処理）
図９Ａは、本実施形態に係るリソースサービス３０４の起動時にアプリケーション１１ｎの使用リソースを管理するのに必要なデータテーブル８００の作成で、リソースサービス３０４が行う処理の流れを模式的に表したフローチャートである。なお、第一の実施形態にて示した図６Ｂと同じ処理については、同じ参照番号を付与し、説明を省略する。
【００９１】
Ｓ６１０１を実行した後、Ｓ９００１にて、リソースサービス３０４は、現在起動中である画像形成装置１００の機器構成の情報を読み込む。そして、リソースサービス３０４は、読み込んだ機器構成の情報を記憶装置２０２に記憶する。この時、リソースサービス３０４は、現在起動中の画像形成装置１００の機器構成と、起動前の画像形成装置１００の機器構成を記憶している。例えば、現状態でユーザが画像形成装置１００の電源を切り、再び電源を入れ直して、リソースサービス３０４が起動されると、リソースサービス３０４は、先ほどＳ９００１にて記憶した機器構成を起動前の機器構成であると判定する。そして、リソースサービス３０４は、新しく電源を入れ直された画像形成装置１００の機器構成の情報を読み込み記憶する。その後、Ｓ６１０２へ進む。
【００９２】
Ｓ６１０３の後、Ｓ９００２にて、リソースサービス３０４は、アプリケーションＩＤ５０１に対する機器構成依存８０１の値が「有」か「無」かを判定する。「無」の場合（Ｓ９００２にてＮＯ）Ｓ６１０４へ進み、「有」の場合（Ｓ９００２にてＹＥＳ）Ｓ９００３へ進む。
【００９３】
Ｓ９００３にて、リソースサービス３０４は、起動前の画像形成装置１００の機器構成と、Ｓ９００１にて記憶した画像形成装置１００の機器構成とを比較し、変化があるか否かを判定する。変化がある場合（Ｓ９００３にてＹＥＳ）Ｓ６１０５に進み、変化がない場合（Ｓ９００３にてＮＯ）Ｓ６１０６へ進む。
【００９４】
本処理フローについて、更に説明する。リソースサービス３０４が起動されると、リソースサービス３０４は、アプリケーション実行環境にインストールされているアプリケーション１１ｎの使用リソース初期値５０４が画像形成装置１００の機器構成に依存するか否かを判定する。画像形成装置１００の機器構成に依存があるアプリケーション１１ｎである場合、使用リソース初期値５０４が定義されているか否かに関わらず、画像形成装置１００の機器構成に変化があったか否かを判定する。そして、機器構成に変化があった場合、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。ここで、計測有効化状態５０５の値を「有効」に設定することで、リソースサービス３０４は、そのアプリケーション１１ｎの使用リソース初期値５０４を無視し、新しく計測し、そして再定義することができる。
【００９５】
（アプリケーション開始完了時の処理）
図９Ｂは、アプリケーション管理フレームワーク３０２がアプリケーション１１ｎの開始処理を完了した後に、本実施形態に係るリソースサービス３０４が実行する処理の流れを模式的に表したフローチャートである。なお、第一の実施形態にて示した図６Ｅと同じ処理については、同じ参照番号を付与し、説明を省略する。アプリケーション管理フレームワーク３０２がアプリケーション１１ｎを開始する条件は、ユーザが画像形成装置１００の電源を入れた後である。もしくは、管理者がアプリケーション実行環境にインストールされているアプリケーション１１ｎを開始するリクエストを送った後である。
【００９６】
Ｓ６４０２にてＮＯの場合、もしくは、Ｓ６４０３の処理の後、Ｓ９１０１にて、リソースサービス３０４は、データテーブル８００を参照し、開始されたアプリケーション１１ｎの機器構成依存８０１の値が「有」か「無」かを判定する。「有」の場合（Ｓ９１０１にてＹＥＳ）Ｓ９１０２に進み、「無」の場合（Ｓ９１０１にてＮＯ）本処理フローを終了する。
【００９７】
Ｓ９１０２にて、リソースサービス３０４は、起動前の画像形成装置１００の機器構成と、図９ＡのＳ９００１にて記憶した画像形成装置１００の機器構成とを比較し、変化があるか否かを判定する。変化がある場合（Ｓ９１０２にてＹＥＳ）Ｓ９１０３へ進み、変化がない場合（Ｓ９１０２にてＮＯ）本処理フローを終了する。
【００９８】
Ｓ９１０３にて、リソースサービス３０４は、アプリケーション１１ｎの使用リソース５０３を使用リソース初期値５０４に設定する。その後、本処理フローを終了する。
【００９９】
本処理フローについて、更に説明する。アプリケーション開始完了通知を受信すると、リソースサービス３０４は、開始されたアプリケーション１１ｎの使用リソース初期値５０４がデータテーブル８００に定義されているか否かを判定する。定義されている場合、そのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。次に、リソースサービス３０４は、開始されたアプリケーション１１ｎの使用リソース初期値５０４が画像形成装置１００の機器構成に依存するか否かを判定する。機器構成に依存する場合、画像形成装置１００の機器構成が起動前と比べ変化している時のみ、リソースサービス３０４は、そのアプリケーション１１ｎのその時点での使用リソース５０３を使用リソース初期値５０４として定義する。
【０１００】
これにより、開始されたアプリケーション１１ｎの使用リソース初期値が画像形成装置１００の機器構成に依存していても、リソースサービス３０４は、そのアプリケーション１１ｎの使用リソース初期値を計測し、定義することができる。また、リソースサービス３０４が使用リソース初期値を定義した後でも、画像形成装置１００の機器構成が変化すると、リソースサービス３０４は、アプリケーション１１ｎの使用リソース初期値を再計測し、再定義することができる。
【０１０１】
（アプリケーションインストール完了時の処理）
図９Ｃは、アプリケーション管理フレームワーク３０２がアプリケーション１１ｎのインストール処理を完了した後に、本実施形態に係るリソースサービス３０４が行う処理の流れを模式的に表したフローチャートである。なお、第一の実施形態にて示した図６Ｆと同じ処理については、同じ参照番号を付与し、説明を省略する。アプリケーション管理フレームワーク３０２がアプリケーション１１ｎをインストールする条件は、管理者がアプリケーション実行環境にアプリケーション１１ｎをインストールするリクエストを送った後である。
【０１０２】
Ｓ６５０５の処理の後、Ｓ９２０１にて、リソースサービス３０４は、インストールされたアプリケーション１１ｎの機器構成依存７０１の値が「有」か「無」かを判定する。「無」の場合（Ｓ９２０１にてＮＯ）Ｓ９２０２へ進み、「有」の場合（Ｓ９２０１にてＹＥＳ）Ｓ９２０３に進む。
【０１０３】
Ｓ９２０２にて、リソースサービス３０４は、データテーブル８００にあるインストールされたアプリケーション１１ｎの機器構成依存８０１の値を「無」に設定する。その後、本処理フローを終了する。
【０１０４】
Ｓ９２０３にて、リソースサービス３０４は、データテーブル８００にあるインストールされたアプリケーション１１ｎの機器構成依存８０１の値を「有」に設定する。その後、本処理フローを終了する。
【０１０５】
本処理フローについて、更に説明する。アプリケーション１１ｎがインストールされた後、リソースサービス３０４は、リソース宣言ファイルに使用リソース初期値が記載されているか否かを判定する。記載されていない場合、その理由として、開発者はそのアプリケーション１１ｎの使用リソース初期値が画像形成装置１００の機器構成に依存するため記載できなかった可能性がある。そのため、リソースサービス３０４は、インストールされたアプリケーション１１ｎの機器構成依存７０１の値が「有」か「無」かを判定する。そして、リソースサービス３０４は、その機器構成依存７０１の値を、データテーブル８００にあるインストールされたアプリケーション１１ｎの機器構成依存８０１の値に設定する。リソースサービス３０４は、データテーブル８００に設定した機器構成依存８０１を判定することで、開始されるアプリケーション１１ｎの使用リソース初期値が画像形成装置１００の機器構成に依存するか否かを判定することができる。
【０１０６】
以上、本実施形態では、リソースサービス３０４は、インストールされたアプリケーション１１ｎの使用リソース初期値が、画像形成装置１００の機器構成に依存するか否かを判定することができる。これにより、画像形成装置１００の機器構成が変更されたか否かを判定し、変更された場合のみ、リソースサービス３０４は、そのアプリケーション１１ｎの使用リソース初期値５０４を計測し、定義することができる。
【０１０７】
＜第三の実施形態＞
次に本発明に係る第三の実施形態について図を用いて説明する。第一の実施形態では、アプリケーション１１ｎの開始完了後に、リソースサービス３０４がそのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」にしていた。そして、この計測有効化状態５０５の値が「有効」であるか否かによって、リソースサービス３０４は、そのアプリケーション１１ｎの使用リソース積算処理やリソース上限値比較処理を行うか否かを判定していた。しかしながら、開始されるアプリケーション１１ｎの中には、アプリケーション管理フレームワーク３０２がアプリケーションの開始処理を実行中に、別タスクを新たに生成して、その別タスク上でも開始処理を行う場合がある。つまり、アプリケーションの開始処理において、複数のタスクが生じていることとなる。
【０１０８】
アプリケーション１１ｎが、別タスクを生成して、その別タスク上で開始処理を完了した場合には、アプリケーション管理フレームワーク３０２はその開始完了を検知することができない。リソースサービス３０４が別タスクでの開始処理も含めた複数のタスクにおける使用リソース積算処理やリソース上限値比較処理を省略するように制御することで、画像形成装置１００の起動パフォーマンスをさらに向上させることができる。そこで、開発者が別タスクの開始処理も含めて使用リソース初期値４１３をリソース宣言ファイル４０２に記載している場合には、リソースサービス３０４はそのアプリケーション１１ｎが別タスクで開始処理を行うかを判定する必要がある。また、アプリケーション１１ｎが別タスクで開始処理を行っている場合、元の開始処理のタスクに対応するアプリケーション完了通知では別タスクの開始処理完了を検知できないので、他の手段でアプリケーションの開始完了通知を検知する必要がある。このとき、他の手段のアプリケーションの開始完了通知としては、例えば、画像形成装置１００の起動完了通知が挙げられる。つまり、本実施形態においては、画像形成装置１００の起動完了通知を受信することで、アプリケーションの全ての開始処理に係るタスクが完了したと判定することができる。
【０１０９】
本実施形態では、アプリケーション１１ｎが別タスクで開始処理を行うかを判定し、別タスクで開始処理を行う場合のみ、別タスクの開始処理の使用リソースも含めて、使用リソース積算処理や上限値比較処理を省略する。
【０１１０】
本実施形態に係るシステムの構成例は図１に示したものと同様である。また、本実施形態に係る画像形成装置１００のハードウェアの構成例は図２に示したものと同様である。本実施形態に係るアプリケーション１１ｎを実行するためのアプリケーション実行環境の構成例は図３に示したものと同様である。
【０１１１】
本実施形態に係るアプリケーション１１ｎを構成するファイルの内容は図４に示したものと同様である。しかし、構成するファイルの内容は同じであるが、アプリケーション１１ｎが別タスクでも開始処理を行っている場合、開発者は別タスクでの開始処理の使用リソースも含めて使用リソース初期値４１３に記載している。
【０１１２】
本実施形態に係るリソースサービス３０４がアプリケーション１１ｎの使用するリソースを管理するために必要とするデータを保持するためのデータテーブルは図５に示したものと同様である。
【０１１３】
［処理フロー］
図１０Ａは、本実施形態に係るリソースサービス３０４が開始されてから停止するまでの処理の流れを模式的に表したフローチャートである。なお、第一の実施形態にて示した図６Ａと同じ処理については、同じ参照番号を付与し、説明を省略する。ここで説明する処理は、ユーザによって画像形成装置１００の電源が入れられ、リソースサービス３０４が開始されてから、ユーザによって画像形成装置１００の電源が切られ、リソースサービス３０４が停止されるまでの一連の動作内にて実行されるものである。
【０１１４】
アプリケーションの開始完了を検知した場合（Ｓ６００６にてＹＥＳ）Ｓ１０００１へ進む。Ｓ１０００１にて、リソースサービス３０４は、アプリケーション開始完了時の処理を行い、その後、Ｓ６００８へ進む。Ｓ１０００１の処理の詳細は、図１０Ｂを用いて後述する。
【０１１５】
アプリケーションインストール完了を検知していなかった場合（Ｓ６００８にてＮＯ）、もしくは、Ｓ６０９にてアプリケーションインストール完了時の処理が終了した後、Ｓ１０００２に進む。Ｓ１０００２にて、リソースサービス３０４は、画像形成装置１００の起動完了通知を検知したか否かを判定する。画像形成装置１００の起動完了通知を検知した場合（Ｓ１０００２にてＹＥＳ）Ｓ１０００３へ進み、検知していない場合（Ｓ１０００２にてＮＯ）Ｓ６０１０へ進む。なお、アプリケーション管理フレームワーク３０２は、画像形成装置１００にインストールされているアプリケーション１１ｎを順に開始し終えると、画像形成装置１００の起動完了通知を送る。リソースサービス３０４は、Ｓ１０００２にて、この画像形成装置１００の起動完了通知を検知したか否かを判定する。
【０１１６】
Ｓ１０００３にて、リソースサービス３０４は、画像形成装置１００の起動完了時の処理を実行し、その後、Ｓ６０１０へ進む。Ｓ１０００３の処理の詳細は、図１０Ｃを用いて後述する。
【０１１７】
（アプリケーション開始完了時の処理）
図１０Ｂは、アプリケーション管理フレームワーク３０２がアプリケーション１１ｎの開始処理を完了した後に、本実施形態に係るリソースサービス３０４が実行する処理の流れを模式的に表したフローチャートである。なお、第一の実施形態にて示した図６Ｅと同じ処理については、同じ参照番号を付与し、説明を省略する。なお、アプリケーション管理フレームワーク３０２がアプリケーション１１ｎを開始する条件は、ユーザが画像形成装置１００の電源を入れた後である。もしくは、管理者がアプリケーション実行環境にインストールされているアプリケーション１１ｎを開始するリクエストを送った後である。
【０１１８】
使用リソース初期値５０４が定義されている場合（Ｓ６４０２にてＹＥＳ）Ｓ１０１０１にて、リソースサービス３０４は、開始されたアプリケーション１１ｎの使用リソース初期値５０４のスレッド欄を参照し、１以上であると定義されているか否かを判定する。使用リソース初期値５０４のスレッド欄にて１以上と定義されている場合（Ｓ１０１０１にてＹＥＳ）Ｓ１０１０２へ進み、０と定義されている場合は（Ｓ１０１０１にてＮＯ）Ｓ６４０３へ進む。
【０１１９】
Ｓ１０１０２にて、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「無効」に設定する。その後、本処理フローを終了する。
【０１２０】
本処理フローについて、更に説明する。アプリケーション管理フレームワーク３０２がアプリケーション１１ｎを開始すると、リソースサービス３０４はそのアプリケーション１１ｎの使用リソース初期値５０４が定義されているか否かを判定する。そして、使用リソース初期値５０４が定義されている場合、その使用リソース初期値５０４に定義されているスレッド欄の値を参照する。このとき、アプリケーション１１ｎが別タスクでも開始処理を行う場合、そのアプリケーション１１ｎは新たにスレッドを生成して、そのスレッドで別タスクの開始処理を行う。従って、リソースサービス３０４は、開始されたアプリケーション１１ｎが別タスク上でも開始処理を行っているか否かを、そのアプリケーション１１ｎの使用リソース初期値を参照すれば判定することができる。参照の結果、スレッドの使用リソース初期値が１以上である場合、リソースサービス３０４は、開始されたアプリケーション１１ｎの計測有効化状態５０５の値を「無効」に設定する。一方、スレッドの使用リソース初期値が「０」である場合は、リソースサービス３０４は、開始されたアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。
【０１２１】
ここで、使用リソース初期値のスレッドの値が１以上である場合には計測有効化状態５０５の値を「無効」に設定しておき、その後、画像形成装置１００の起動が完了した時に計測有効化状態５０５の値を「有効」に設定する。画像形成装置１００の起動完了時に計測有効化状態５０５の値を「有効」に設定することで、画像形成装置１００の起動完了時まで、別タスクでも開始処理を行うアプリケーション１１ｎに対してのみ、使用リソースの積算処理やリソース上限値比較処理を省略できる。そして、別タスクで開始処理を行うアプリケーション１１ｎに対しては、第一の実施形態に示したように使用リソースの積算処理やリソース上限値比較処理を行うことができる。
【０１２２】
（画像形成装置起動完了時の処理）
図１０Ｃは、アプリケーション管理フレームワーク３０２が画像形成装置１００の起動完了通知を送った後に、本実施形態に係るリソースサービス３０４が実行する処理の流れを模式的に表したフローチャートである。
【０１２３】
Ｓ１０２０１にて、リソースサービス３０４は、アプリケーション管理フレームワーク３０２から画像形成装置１００の開始完了通知を受信する。
【０１２４】
Ｓ１０２０２〜Ｓ１０２０５にて、リソースサービス３０４は、Ｓ１０２０３〜Ｓ１０２０４の処理をデータテーブル５００に定義されているアプリケーションＩＤ５０１の数だけ順に繰り返し実行する。
【０１２５】
Ｓ１０２０３にて、リソースサービス３０４は、アプリケーションＩＤ５０１に対する使用リソース初期値５０４がデータテーブル５００に定義されているか否かを判定する。さらに、リソースサービス３０４は、そのアプリケーションＩＤ５０１に対する使用リソース初期値５０４のスレッドの値が１以上か否かを判定する。アプリケーションＩＤ５０１に対する使用リソース初期値５０４がデータテーブル５００に定義され、かつ、使用リソース初期値５０４のスレッドの値が１以上の場合（Ｓ１０２０３にてＹＥＳ）、Ｓ１０２０４へ進む。アプリケーションＩＤ５０１に対する使用リソース初期値５０４がデータテーブル５００に定義されていない、もしくは、使用リソース初期値５０４のスレッドの値が「０」の場合（Ｓ１０２０３にてＮＯ）、Ｓ１０２０５へ進む。
【０１２６】
Ｓ１０２０４にて、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」に設定する。その後、Ｓ１０２０５へ進む。
【０１２７】
Ｓ１０２０５にて、リソースサービス３０４は、アプリケーションＩＤ５０１の数だけＳ１０２０３〜Ｓ１０２０４の処理が繰り返されたと判定した場合、本処理フローを終了する。
【０１２８】
本処理フローについて、更に説明する。リソースサービス３０４は、画像形成装置１００の起動完了通知を受信すると、データテーブル５００に定義されているアプリケーション１１ｎの使用リソース初期値５０４が定義されているか判定する。さらに、使用リソース初期値のスレッドの値が１以上か否かを判定する。判定の結果、使用リソース初期値５０４がデータテーブル５００に定義されて、かつ、使用リソース初期値５０４のスレッドの値が１以上の場合のみ、リソースサービス３０４は、そのアプリケーション１１ｎの計測有効化状態５０５の値を「有効」にする。この判定処理により、別タスクで開始処理を行うアプリケーション１１ｎに対してのみ、リソースサービス３０４は計測有効化状態５０５の値を「有効」に設定することができる。
【０１２９】
以上、本実施形態では、開始されたアプリケーション１１ｎのスレッドの使用リソース初期値５０４から、リソースサービス３０４はそのアプリケーション１１ｎが別タスク上で開始処理を行うか否か判定することができる。そして、リソースサービス３０４は、別タスクでも開始処理を行うアプリケーションに対してのみ、別タスクの開始処理の使用リソースも含めて、使用リソース積算処理や上限値比較処理を省略することができる。
【０１３０】
＜その他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１３１】
１００：画像形成装置、１０１：管理用情報処理装置、１３０：ネットワーク、３０２：アプリケーション管理フレームワーク、３０４：リソースサービス、４０２：リソース宣言ファイル、４１２：リソース上限値、４１３：使用リソース初期値
【図１】
2017054264.tif 000003
【図２】
2017054264.tif 000004
【図３】
2017054264.tif 000005
【図４】
2017054264.tif 000006
【図５】
2017054264.tif 000007
【図６Ａ】
2017054264.tif 000008
【図６Ｂ】
2017054264.tif 000009
【図６Ｃ】
2017054264.tif 000010
【図６Ｄ】
2017054264.tif 000011
【図６Ｅ】
2017054264.tif 000012
【図６Ｆ】
2017054264.tif 000013
【図７】
2017054264.tif 000014
【図８】
2017054264.tif 000015
【図９Ａ】
2017054264.tif 000016
【図９Ｂ】
2017054264.tif 000017
【図９Ｃ】
2017054264.tif 000018
【図１０Ａ】
2017054264.tif 000019
【図１０Ｂ】
2017054264.tif 000020
【図１０Ｃ】
2017054264.tif 000021