(57)【要約】【課題】汎用的なアプリ管理の仕組みを提供すること。【解決手段】機器クラス、省エネクラス、アプリクラス、画面クラス、設定者クラス、ＳＰ設定者クラス、ＵＰ設定者クラスおよび遠隔設定者クラスを用いてアプリ管理部を実現し、設定要求を受け付けた機器クラスが省エネクラスおよびアプリクラスに、電力状態および動作制限状態の変更を指示するとともに、アプリクラスが画面クラスに対し利用権の取得を指示することととし、また、設定者の種別に応じてＳＰ設定者クラス、ＵＰ設定者クラスおよび遠隔設定者クラスのいずれかのクラスを用いるよう構成する。【選択図】        図７
2006221454.tif 000002
【特許請求の範囲】
【請求項１】
機能設定がおこなわれる際に提供機能の縮退をおこなうアプリを管理対象とするアプリ管理装置であって、
前記アプリと一対一に対応し、該アプリについての機能設定をおこなうアプリ設定手段と、
前記アプリが動作する装置の電力切替を指示する電力切替手段と、
機能設定要求を受け付けたならば前記アプリ設定手段および前記電力切替手段を用いて該機能設定要求の内容を実行する機器管理手段と
を備えたことを特徴とするアプリ管理装置。
【請求項２】
前記アプリ設定手段は、
前記アプリが保持する動作状態の移行を管理するアプリ状態管理手段と、
前記アプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手段と  をさらに備えたことを特徴とする請求項１に記載のアプリ管理装置。
【請求項３】
前記アプリ状態管理手段は、
前記アプリの動作制限状態を管理する動作制限管理手段と、
前記機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手段と
をさらに備えたことを特徴とする請求項２に記載のアプリ管理装置。
【請求項４】
前記設定状態管理手段は、設定者の種別ごとに前記設定可否状態を管理することを特徴とする請求項２または３に記載のアプリ管理装置。
【請求項５】
機能設定がおこなわれる際に提供機能の縮退をおこなうアプリを管理対象とするアプリ管理プログラムであって、
前記アプリと一対一に対応し、該アプリについての機能設定をおこなうアプリ設定手順と、
前記アプリが動作する装置の電力切替を指示する電力切替手順と、
機能設定要求を受け付けたならば前記アプリ設定手順および前記電力切替手順を用いて該機能設定要求の内容を実行する機器管理手順と
をコンピュータに実行させることを特徴とするアプリ管理プログラム。
【請求項６】
前記アプリ設定手順は、
前記アプリが保持する動作状態の移行を管理するアプリ状態管理手順と、
前記アプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手順と  をさらにコンピュータに実行させることを特徴とする請求項５に記載のアプリ管理プログラム。
【請求項７】
前記アプリ状態管理手順は、
前記アプリの動作制限状態を管理する動作制限管理手順と、
前記機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手順と
をさらにコンピュータに実行させることを特徴とする請求項６に記載のアプリ管理プログラム。
【請求項８】
前記設定状態管理手順は、設定者の種別ごとに前記設定可否状態を管理することを特徴とする請求項６または７に記載のアプリ管理プログラム。
【請求項９】
機能設定がおこなわれる際に提供機能の縮退をおこなうアプリを管理対象とするアプリ管理機能を有する画像形成装置であって、
前記アプリ管理機能は、
前記アプリと一対一に対応し、該アプリについての機能設定をおこなうアプリ設定手段と、
前記アプリが動作する装置の電力切替を指示する電力切替手段と、
機能設定要求を受け付けたならば前記アプリ設定手段および前記電力切替手段を用いて該機能設定要求の内容を実行する機器管理手段と
を備えたことを特徴とする画像形成装置。
【請求項１０】
前記アプリ設定手段は、
前記アプリが保持する動作状態の移行を管理するアプリ状態管理手段と、
前記アプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手段と  をさらに備えたことを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記アプリ状態管理手段は、
前記アプリの動作制限状態を管理する動作制限管理手段と、
前記機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手段と
をさらに備えたことを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
前記設定状態管理手段は、設定者の種別ごとに前記設定可否状態を管理することを特徴とする請求項１０または１１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能設定がおこなわれる際に提供機能の縮退をおこなうアプリを管理対象とするアプリ管理装置、アプリ管理プログラムおよび画像形成装置に関し、特に、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるアプリ管理装置、アプリ管理プログラムおよび画像形成装置に関するものである。
【背景技術】
【０００２】
従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、ＵＮＩＸ（登録商標）などの汎用ＯＳ上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。
【０００３】
ところが、上記プリンタアプリ、コピーアプリおよびスキャナアプリは、それぞれエンジン制御、メモリ制御およびシステム制御などを別個におこなっているので、重複処理という無駄が生じていた。
【０００４】
このため、特許文献１では、複合機に搭載される複数のアプリケーションがそれぞれ担っていたエンジン制御、メモリ制御およびシステム制御などの処理を共通処理部分（プラットホーム）として各アプリケーションから括り出すことにより、アプリケーションの開発効率の向上を図っている。
【０００５】
【特許文献１】特開２００２−０８４３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この特許文献１で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではない。このため、複合機上のアプリケーションには、開発効率の向上を図るうえで改善の余地が残されている。
【０００７】
たとえば、プリンタアプリやコピーアプリといった各アプリの動作設定を管理するアプリ管理処理では、設定画面の利用権取得や電力状態の変更といった処理をおこなったうえで各アプリに対する設定処理をおこなう必要があった。これらの処理は、複合機に搭載される各アプリケーションに共通して存在する処理であるが、ハードウェアを直接制御する処理ではないため各アプリケーションで別個に実現されており、共通化することが可能である。
【０００８】
また、近年の複合機では、ネットワークを介した端末装置から各アプリの設定処理をおこなうことが可能となっており、複合機を直接操作して設定処理をおこなう場合と、ネットワークを介して設定処理をおこなう場合とでは、設定対象となる項目を変更する場合も多い。さらに、設定処理をおこなう利用者には、一般利用者、保守要員（サービスパーソン）などがあり、これらの利用者ごとに設定対象となる項目を変更する必要がある。
【０００９】
これらのことから、複合機に搭載されるアプリケーションのアプリ管理処理をいかにして汎用的に、かつ、効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、アプリケーションの管理処理をおこなうアプリ管理装置についても同様に生ずる課題である。
【００１０】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるアプリ管理装置、アプリ管理プログラムおよび画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、請求項１の発明にかかるアプリ管理装置は、機能設定がおこなわれる際に提供機能の縮退をおこなうアプリを管理対象とするアプリ管理装置であって、前記アプリと一対一に対応し、該アプリについての機能設定をおこなうアプリ設定手段と、前記アプリが動作する装置の電力切替を指示する電力切替手段と、機能設定要求を受け付けたならば前記アプリ設定手段および前記電力切替手段を用いて該機能設定要求の内容を実行する機器管理手段とを備えたことを特徴とする。
【００１２】
また、請求項２の発明にかかるアプリ管理装置は、請求項１に記載の発明において、前記アプリ設定手段は、前記アプリが保持する動作状態の移行を管理するアプリ状態管理手段と、前記アプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手段とをさらに備えたことを特徴とする。
【００１３】
また、請求項３の発明にかかるアプリ管理装置は、請求項２に記載の発明において、前記アプリ状態管理手段は、前記アプリの動作制限状態を管理する動作制限管理手段と、前記機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手段とをさらに備えたことを特徴とする。
【００１４】
また、請求項４の発明にかかるアプリ管理装置は、請求項２または３に記載の発明において、前記設定状態管理手段は、設定者の種別ごとに前記設定可否状態を管理することを特徴とする。
【００１５】
また、請求項５の発明にかかるアプリ管理プログラムは、機能設定がおこなわれる際に提供機能の縮退をおこなうアプリを管理対象とするアプリ管理プログラムであって、前記アプリと一対一に対応し、該アプリについての機能設定をおこなうアプリ設定手順と、前記アプリが動作する装置の電力切替を指示する電力切替手順と、機能設定要求を受け付けたならば前記アプリ設定手順および前記電力切替手順を用いて該機能設定要求の内容を実行する機器管理手順とをコンピュータに実行させることを特徴とする。
【００１６】
また、請求項６の発明にかかるアプリ管理プログラムは、請求項５に記載の発明において、前記アプリ設定手順は、前記アプリが保持する動作状態の移行を管理するアプリ状態管理手順と、前記アプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手順とをさらにコンピュータに実行させることを特徴とする。
【００１７】
また、請求項７の発明にかかるアプリ管理プログラムは、請求項６に記載の発明において、前記アプリ状態管理手順は、前記アプリの動作制限状態を管理する動作制限管理手順と、前記機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手順とをさらにコンピュータに実行させることを特徴とする。
【００１８】
また、請求項８の発明にかかるアプリ管理プログラムは、請求項６または７に記載の発明において、前記設定状態管理手順は、設定者の種別ごとに前記設定可否状態を管理することを特徴とする。
【００１９】
また、請求項９の発明にかかる画像形成装置は、機能設定がおこなわれる際に提供機能の縮退をおこなうアプリを管理対象とするアプリ管理機能を有する画像形成装置であって、前記アプリ管理機能は、前記アプリと一対一に対応し、該アプリについての機能設定をおこなうアプリ設定手段と、前記アプリが動作する装置の電力切替を指示する電力切替手段と、機能設定要求を受け付けたならば前記アプリ設定手段および前記電力切替手段を用いて該機能設定要求の内容を実行する機器管理手段とを備えたことを特徴とする。
【００２０】
また、請求項１０の発明にかかる画像形成装置は、請求項９に記載の発明において、前記アプリ設定手段は、前記アプリが保持する動作状態の移行を管理するアプリ状態管理手段と、前記アプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手段とをさらに備えたことを特徴とする。
【００２１】
また、請求項１１の発明にかかる画像形成装置は、請求項１０に記載の発明において、前記アプリ状態管理手段は、前記アプリの動作制限状態を管理する動作制限管理手段と、前記機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手段とをさらに備えたことを特徴とする。
【００２２】
また、請求項１２の発明にかかる画像形成装置は、請求項１０または１１に記載の発明において、前記設定状態管理手段は、設定者の種別ごとに前記設定可否状態を管理することを特徴とする。
【発明の効果】
【００２３】
請求項１にかかるアプリ管理装置によれば、管理対象となるアプリと一対一に対応し、このアプリについての機能設定をおこなうアプリ設定手段と、かかるアプリが動作する装置の電力切替を指示する電力切替手段と、機能設定要求を受け付けたならばアプリ設定手段および電力切替手段を用いて機能設定要求の内容を実行する機器管理手段とを備えるよう構成したので、機能設定をおこなう際に必要な処理を体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００２４】
また、請求項２にかかるアプリ管理装置によれば、アプリ設定手段は、管理対象となるアプリが保持する動作状態の移行を管理するアプリ状態管理手段と、かかるアプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手段とをさらに備えるよう構成したので、アプリの動作状態と、設定者ごとの設定可否状態とを体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００２５】
また、請求項３にかかるアプリ管理装置によれば、アプリ状態管理手段は、管理対象となるアプリの動作制限状態を管理する動作制限管理手段と、機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手段とをさらに備えるよう構成したので、各アプリの動作制限状態と、利用権の取得状態とを体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００２６】
また、請求項４にかかるアプリ管理装置によれば、設定状態管理手段は、設定者の種別ごとに前記設定可否状態を管理するよう構成したので、設定者の種別に応じた設定処理を容易におこなうことができるとともに、設定者の種別が追加された場合であっても保守作業を容易におこなうことができるという効果を奏する。
【００２７】
また、請求項５にかかるアプリ管理プログラムによれば、管理対象となるアプリと一対一に対応し、このアプリについての機能設定をおこなうアプリ設定手順と、かかるアプリが動作する装置の電力切替を指示する電力切替手順と、機能設定要求を受け付けたならばアプリ設定手順および電力切替手順を用いて機能設定要求の内容を実行する機器管理手順とをコンピュータに実行させるよう構成したので、機能設定をおこなう際に必要な処理を体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００２８】
また、請求項６にかかるアプリ管理プログラムによれば、アプリ設定手順は、管理対象となるアプリが保持する動作状態の移行を管理するアプリ状態管理手順と、このアプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手順とをさらにコンピュータに実行させるよう構成したので、アプリの動作状態と、設定者ごとの設定可否状態とを体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００２９】
また、請求項７にかかるアプリ管理プログラムによれば、アプリ状態管理手順は、管理対象となるアプリの動作制限状態を管理する動作制限管理手順と、機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手順とをさらにコンピュータに実行させるよう構成したので、各アプリの動作制限状態と、利用権の取得状態とを体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００３０】
また、請求項８にかかるアプリ管理プログラムによれば、設定状態管理手順は、設定者の種別ごとに前記設定可否状態を管理するよう構成したので、設定者の種別に応じた設定処理を容易におこなうことができるとともに、設定者の種別が追加された場合であっても保守作業を容易におこなうことができるという効果を奏する。
【００３１】
また、請求項９にかかる画像形成装置によれば、管理対象となるアプリと一対一に対応し、このアプリについての機能設定をおこなうアプリ設定手段と、かかるアプリが動作する装置の電力切替を指示する電力切替手段と、機能設定要求を受け付けたならばアプリ設定手段および電力切替手段を用いて機能設定要求の内容を実行する機器管理手段とを備えるよう構成したので、機能設定をおこなう際に必要な処理を体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００３２】
また、請求項１０にかかる画像形成装置によれば、アプリ設定手段は、管理対象となるアプリが保持する動作状態の移行を管理するアプリ状態管理手段と、かかるアプリの設定をおこなう設定者ごとの設定可否状態を管理する設定状態管理手段とをさらに備えるよう構成したので、アプリの動作状態と、設定者ごとの設定可否状態とを体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００３３】
また、請求項１１にかかる画像形成装置によれば、アプリ状態管理手段は、管理対象となるアプリの動作制限状態を管理する動作制限管理手段と、機能設定をおこなうための操作部に関する利用権の取得状態をあらわす利用権状態を管理する操作部利用権管理手段とをさらに備えるよう構成したので、各アプリの動作制限状態と、利用権の取得状態とを体系的に管理することにより、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができるという効果を奏する。
【００３４】
また、請求項１２にかかる画像形成装置によれば、設定状態管理手段は、設定者の種別ごとに前記設定可否状態を管理するよう構成したので、設定者の種別に応じた設定処理を容易におこなうことができるとともに、設定者の種別が追加された場合であっても保守作業を容易におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００３５】
以下に添付図面を参照して、この発明にかかるアプリ管理装置、アプリ管理プログラムおよび画像形成装置の最良な実施の形態を詳細に説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、アプリ管理をおこなう各種装置に適用することができる。
【００３６】
まず、本実施の形態に係る画像形成装置（以下「複合機」と言う）１の概要について図１、図２、図３、図１０および図１１を用いて説明する。図１は、本実施の形態に係る複合機１を取り巻くネットワーク環境を説明するためのネットワーク図であり、図２は、図１に示した複合機１のハードウェア構成を示すブロック図であり、図３は、図１に示した複合機１のソフトウェアとハードウェアの関係を説明するための説明図である。また、図１０は、複合機１に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図１１は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【００３７】
図１に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ（ＰＣ）などの機器は、ＬＡＮ（Local Area Network）などのネットワークに接続され、相互に通信することが通常となった。たとえば、同図に示したように、かかるネットワークには、クライアントＰＣ、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバ、ＦＴＰ（File Transfer Protocol）サーバ、サーバＰＣなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
【００３８】
このようなネットワーク化の進展に伴い、複合機１もネットワークに接続され、ＰＣ等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
【００３９】
たとえば、複合機１は、通常のコピー機能に加えて、クライアントＰＣからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントＰＣからのファックス要求により文書データ等をサーバＰＣに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。
【００４０】
こうして複合化とネットワーク化の進展により必要となった多くの機能を実現するため、複合機１に搭載されるソフトウェアは、規模が大きく、複雑なものとなっている。そして、それにともなって、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。
【００４１】
図２は、かかる複合機１のハードウェア構成を示すブロック図である。同図に示すように、この複合機１は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ１０は、複合機１全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００４２】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ(Random Access Memory)１２ｂとをさらに有する。
【００４３】
ＣＰＵ１１は、複合機１の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００４４】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００４５】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００４６】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００４７】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
【００４８】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００４９】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００５０】
図３は、かかる複合機１のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施の形態の特徴部分であるアプリ管理部１１１ｂを含む統合アプリケーション１１０と、ソフトウェア１００およびハードウェア２００の階層関係を示している。同図に示すように、ハードウェア２００は、ハードウェアリソース２０１を有し、このハードウェアリソース２０１は、スキャナ２０１ａ、プロッタ２０１ｂ、ＨＤＤ（Hard Disk Drive）２０１ｃ、ネットワーク２０１ｄおよびその他のリソース２０１ｅを有する。なお、その他のリソース２０１ｅは、２０１ａ〜２０１ｄ以外のハードウェアリソース２０１のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
【００５１】
また、かかるハードウェア２００に搭載されるソフトウェア１００は階層化されており、オペレーティングシステム１０３の上層にはサービス層１０２が構築され、このサービス層１０２の上層にはアプリケーション層１０３が構築されている。そして、サービス層１０２は、各ハードウェアリソース（２０１ａ〜２０１ｅ）を制御するドライバーに相当する、スキャナ制御１０２部ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、配信／メール送受信制御部１０２ｄ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇを有する。
【００５２】
ここで、図３に示したソフトウェア１００が、かかる階層構造をとるに至った経緯について、図１０および図１１を用いて説明する。図１０は、複合機１に搭載されるソフトウェア構成の変遷を示す説明図である。図１０のサービス層分離前アプリケーション５０１に示すように、多機能化した複合機１に搭載されるソフトウェアは、コピーアプリケーション、ＦＡＸアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図３に示したオペレーティングシステム１０３上で動作していた。
【００５３】
しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー（サービス層１０２）を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。
【００５４】
そこで、図１０のサービス層分離後アプリケーション５０２に示すように、サービス層分離前アプリケーション５０１のサービス層１０２相当部分を括りだしサービス層１０２とするとともに、各アプリケーションは、このサービス層１０２の上層であるアプリケーション層１０１に構築する構成とした。かかる階層化構成をとることにより、各アプリケーションはスリム化され開発労力も軽減された。
【００５５】
しかしながら、複合機１のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層１０１の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部１０２ａや蓄積制御部１０２ｃといったドライバーと通信をおこなう処理などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。
【００５６】
この問題を解決するため、図１０の共通ルーチン分離アプリケーション５０３に示すように、かかる同様な処理（共通処理部分）を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。
【００５７】
しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。
【００５８】
そこで、図１０のオブジェクト指向アプリケーション５０４に示すように、オブジェクト指向による設計手法（オブジェクトモデリング）により、かかる複数のアプリケーションを、統合アプリケーション１１０に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション１１０を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。
【００５９】
このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。
【００６０】
図１１は、図１０に示したサービス層分離後アプリケーション５０２の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層１０２の各ドライバーの関係を示した説明図である。同図に示すように、アプリケーション層１０１は、コピーアプリケーション１２０、スキャナアプリケーション１３０、ファックスアプリケーション１４０およびプリンタアプリケーション１５０を有する。
【００６１】
たとえば、コピーアプリケーション１２０は、コピー機能を実現するために、スキャナ制御部１０２ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃおよびその他の制御部１０２ｇとデータの送受信をおこなう。また、ファックスアプリケーション１４０は、ファックス機能を実現するために、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇとデータの送受信をおこなう。このように、アプリケーション層１０１の各アプリケーションとサービス層１０２の各ドライバー間の通信は、複雑なものとなっていた。
【００６２】
図３の説明に戻ると、上述したオブジェクトモデリングにより、アプリケーション層１０１に存在した複数のアプリケーションは、統合アプリケーション１１０に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション１１０を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層１０１のアプリケーションと、サービス層１０２の各ドライバー間の通信は、図１１と比較して単純になっている。
【００６３】
次に、統合アプリケーション１１０の内部構成について説明する。図４は、統合アプリケーション１１０の内部構成を示すブロック図である。同図に示すように、統合アプリケーション１１０は、操作系サブシステム１１１と、管理系サブシステム１１２と、実行系サブシステム１１３とを有する。
【００６４】
操作系サブシステム１１１は、マンマシンインタフェースおよびアプリ管理を担当するソフトウェア群である。具体的には、この操作系サブシステム１１１は、ユーザの要求を受け付ける処理と、この要求の実行を指示する処理と、この要求の実行状況と実行結果についての情報をユーザに提供する処理をおこなう。
【００６５】
管理系サブシステム１１２は、複合機１の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム１１２は、ハードウェアリソース２０１およびこのハードウェアリソース２０１が保持するデータ状態を管理するサービスをおこなう。
【００６６】
実行系サブシステム１１３は、ユーザからの要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム１１３は、コピー要求がなされた場合には、原稿の読み取りから成果物の出力までの処理をおこなう。
【００６７】
操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３は、必要に応じて相互に処理を依頼してその結果を送り合う。このようにそれぞれのサブシステムが協調し合って、統合アプリケーション１１０全体として複合機１に必要とされるサービスの提供をおこなう。
【００６８】
そして、操作系サブシステム１１１は、マンマシンインタフェースを担当する操作制御部１１１ａと、本実施の形態の特徴部分であるアプリ管理部１１１ｂとをさらに有する。このアプリ管理部１１１ｂは、管理対象となるアプリの振る舞いを決定する状態を管理し、この状態の移行可否判定および移行にともなう処理をおこなう処理部である。
【００６９】
図５は、図４に示した各サブシステムを、ＵＭＬ（Unified Modeling Language）のクラス図（ＵＭＬクラス図）に置き換えた図である。ここで、ＵＭＬとは、ＯＭＧ（Object Management Group）が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このＵＭＬは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
【００７０】
図５に示すように、統合アプリケーション１１０は複数のパッケージを有し、また、この統合アプリケーション１１０自体もひとつのパッケージとなっている。ここで、パッケージとはＵＭＬモデルの各構成要素（シンボル）をグループ化したものであり、左上にタブのついたフォルダの形をしたシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。
【００７１】
図５に示したように、統合アプリケーション１１０は、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３の３つのパッケージを内部に有するパッケージである。さらに、操作系サブシステム１１１は、操作制御部１１１ａと、本実施の形態の特徴部分であるアプリ管理部１１１ｂとを内部に有するパッケージである。
【００７２】
そして、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３を相互に結ぶ直線は、各パッケージ間に処理依頼（たとえば、メッセージ送受信）などの関連があることを示している。なお、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すＵＭＬのシンボルである。
【００７３】
次に、本実施の形態の特徴部分であるアプリ管理部１１１ｂについて詳細に説明する。なお、このアプリ管理部１１１ｂは、オブジェクト指向に基づいて設計するにあたって、既存の処理を単純にオブジェクト化せず、機能追加や改修をより一層容易におこなうことができるようにオブジェクトモデルを構成した。かかるオブジェクトモデルの構成について図６を用いて説明しておく。
【００７４】
図６は、アプリ管理において使用する各種状態について示す図である。同図に示すように、複合機１の利用状態には、通常利用と設定利用とがある。ここで、通常利用とは、たとえば、一般利用者がコピーをとったりＦＡＸを送信したりするように、複合機１がサービスを提供している状態を指す。また、設定利用とは、たとえば、一般利用者がコピーの記録紙のサイズを設定したり、保守要員が複合機１のメンテナンスをおこなったりするように、複合機１の設定状態を変更している状態を指す。
【００７５】
そして、かかるアプリ管理において使用する各種状態としては、同図に示したように、電力状態、動作制限状態および利用権状態がある。ここで、電力状態とは、通常待機状態や省電力状態といった複合機１の電力状態を指す。通常待機状態とは、複合機１がサービス提供可能な状態で待機している状態のことをあらわし、省電力状態とは、電力消費を抑えるために所定箇所への電源供給を停止したり抑制したりしている状態のことをあらわしている。たとえば、この省電力状態では操作パネルを非表示にすることがおこなわれる。
【００７６】
また、動作制限状態とは、各アプリが提供するサービス（機能）が、縮退して提供されているか否かをあらわす状態を指し、動作制限が「無し」の場合には、機能を縮退させることなく機能提供をおこなっている状態をあらわしている。一方、動作制限が「有り」の場合には、機能を縮退させて機能提供をおこなっている状態をあらわしている。
【００７７】
また、利用権状態とは、複合機１の操作パネルを排他的に使用しているか否かをあらわす状態を指している。たとえば、利用者が複合機１を操作してコピー機能を利用する場合には、利用者が操作パネルの利用権を取得する必要がある。図６に示した利用権状態が「有り」とは、操作パネルを独占的に利用する利用権を取得した状態をあらわしており、利用権状態が「無し」とは、かかる利用権を取得する必要がなく利用権を取得していない状態をあらわしている。
【００７８】
図６に示した利用状態が「通常利用」である場合について、電力状態、動作制限状態および利用権状態をみてみると、これらの状態には相関関係がなく、各状態の組み合わせを自由におこなえることがわかる。一方、利用状態が「設定利用」である場合には、電力状態が「通常待機」であり、動作制限状態が「有り」であり、利用権状態が「有り」であることから、電力状態、動作制限状態および利用権状態がそれぞれ一意に決定されることがわかる。
【００７９】
すなわち、利用状態が「設定利用」である場合には、設定処理をおこなうために電力状態を通常待機とし、設定処理中のアプリ機能を縮退させるために動作制限状態を有り（制限有り）とし、操作パネルの利用権を取得するために利用権状態を有りとする必要がある。
【００８０】
従来のアプリ管理処理においては、設定利用の場合において各状態間に上記した関係があるにもかかわらず、各状態の変更処理を各アプリがそれぞれおこなっており、かかる変更処理の効率が悪いうえに、各アプリのメンテナンスが容易ではないという問題があった。
【００８１】
そこで、本発明に係るアプリ管理処理では、設定利用の場合において各状態間に上記した関係があることに着目し、各状態にオブジェクトモデルをそれぞれ対応させ、これらのオブジェクトモデルの関係からアプリ管理処理を構成することとした。このようにすることで、各アプリの状態管理が簡潔となり、各状態の変更処理を効率よくおこなうことができるとともに、各アプリのメンテナンスを容易におこなうことができる。
【００８２】
このように、本実施の形態の特徴部分であるアプリ管理部１１１ｂは、上記した電力状態、動作制限状態および利用権状態にそれぞれ対応したクラス構成とし、さらに、設定処理をおこなう設定者に対応するクラスを設け、このクラスを特化することにより設定者の種別に応じたサブクラスをそれぞれ設けることとした。そして、これらのクラスに対応するオブジェクトを生成し、生成したオブジェクトの協調関係によりアプリ管理処理の仕組みを提供することとした。
【００８３】
図７は、このようにして設計したアプリ管理部１１１ｂのクラス構成を示すＵＭＬクラス図である。同図に示すように、アプリ管理部１１１ｂは、複合機１の運用状態を管理し、運用状態の移行時に省エネクラス３２０およびアプリクラス３３０に電力状態および動作制限状態の変更を指示する機器クラス３１０、複合機１の電力状態を管理し、機器クラス３１０の指示によりかかる電力状態を変更する省エネクラス３２０、各アプリの動作制限状態を管理し、操作部の利用権取得および設定者との対応付けをおこなうアプリクラス３３０、利用権状態を管理し、アプリクラス３３０の指示により利用権の取得および返還をおこなう画面クラス３４０、設定処理の設定可否状態を管理する設定者クラス３５０を有する。
【００８４】
また、設定者クラス３５０の属性および操作を継承したサブクラスとして、ＳＰ設定者クラス３５１、ＵＰ設定者３５２および遠隔設定者３５３を有する。なお、ＳＰ設定者クラス３５１は、サービスパーソン用のサービス設定（Service Program設定）に対応しており、ＵＰ設定者クラス３５２は、一般利用者用のユーザ設定（User Program設定）に対応しており、遠隔設定者クラス３５３は、ネットワークを介した設定に対応している。
【００８５】
なお、請求項における機器管理手段および手順は機器管理クラス３１０に、電力切替手段および手順は省エネクラス３２０に、動作制限管理手段および手順はアプリクラス３３０に、操作部利用権管理手段および手順は画面クラス３４０に、設定状態管理手段および手順は設定者クラス３５０に、それぞれ対応している。
【００８６】
次に、クラスとＵＭＬクラス図におけるクラスの記述方法について説明しておく。クラスとは、オブジェクト指向システムを構成するオブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性と処理を定義するとともに、継承関係や集約関係といった、他のクラスとの関係を定義するものである。
【００８７】
ＵＭＬクラス図におけるクラスは、３段の区画を有する矩形として記述される。それぞれの区画は、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、機器クラス３１０を示す矩形の名前区画は、かかるクラスのクラス名が「機器」であることを示し、属性区画は、かかるクラスが有する属性が、「運用状態」であることを示し、操作区画は、かかるクラスが有する操作が、「設定開始（）」であることを示している。
【００８８】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラム（統合アプリケーション１１０）の一部として含まれるので、あらかじめＲＯＭ１２ａに格納されたこのプログラムが実行されると、各クラスはＲＡＭ１２ｂの所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ１２ｂ上に展開される。したがって、クラスを実体化したオブジェクトは、ＲＡＭ１２ｂ上の各データ（属性）の書き込みおよび読み出しをすることが可能となる。
【００８９】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「設定開始（）」のように「（）」記号を付することが通例であり、「（引数１，引数２）」のように、かかる操作に引き渡す引数を記述する場合もある。
【００９０】
次に、本実施の形態の特徴部分であるアプリ管理部１１１ｂのクラスの概要について説明する。上述したように、アプリ管理部１１１ｂは、機器クラス３１０、省エネクラス３２０、アプリクラス３３０、画面クラス３４０、設定者クラス３５０を有し、設定者クラス３５０のサブクラスとしてＳＰ設定者クラス３５１、ＵＰ設定者クラス３５２および遠隔設定者クラス３５３を有する。以下では、まず、これらのクラスの概要について説明する。
【００９１】
機器クラス３１０は、設定者による設定要求を操作制御部１１１ａを介して受け付け、運用状態の移行時に省エネクラス３２０およびアプリクラス３３０に電力状態および動作制限状態の変更を指示するクラスである。具体的には、この機器クラス３１０は、属性として運用状態３１０ａを有し、操作として設定開始（）３１０ｂを有する。なお、かかる機器クラス３１０を実体化した機器オブジェクト３１０Ａが生成されると、運用状態３１０ａはＲＡＭ１２ｂ上に展開されるので、このデータ（属性）の書き込みおよび読出しをおこなうことが可能となる。
【００９２】
運用状態３１０ａは、複合機１がサービスを提供しているのか、なんらかの機能設定がおこなわれているのか、といった複合機１としての状態を保持する。たとえば、この運用状態３１０ａには、一般利用者がコピーをとったりＦＡＸを送信したりするように、複合機１がサービスを提供している状態をあらわす「通常利用」状態や、一般利用者がコピーの記録紙のサイズを設定したり保守要員が複合機１のメンテナンスをおこなったりするように設定項目の変更中である状態をあらわす「設定利用」状態がある。
【００９３】
また、設定開始（）３１０ｂは、設定者の操作に基づいて操作制御部１１１ａを介して呼び出され、複合機１の運用状態を受け取ると受け取った情報を運用状態３１０ａに格納するとともに、省エネオブジェクト３２０Ａおよびアプリオブジェクト３３０Ａに対して設定処理にともなう指示をおこなう。
【００９４】
省エネクラス３２０は、複合機１の電力状態を管理し、機器クラス３１０の指示によりかかる電力状態を変更するクラスである。具体的には、この省エネクラス３２０は、属性として電力状態３２０ａを有し、操作として解除（）３２０ｂを有する。なお、かかる省エネクラス３２０を実体化した省エネオブジェクト３２０Ａが生成されると、電力状態３２０ａはＲＡＭ１２ｂ上に展開されるので、このデータ(属性)の書き込みおよび読み出しをおこなうことが可能となる。
【００９５】
電力状態３２０ａは、複合機１の電力状態を保持する。この電力状態３２０ａには複数の段階があり、たとえば、通常待機状態や省電力状態といった各段階において電力の供給状態が異なる。なお、この省電力状態にさらに複数の段階を設けることとしてもよい。また、解除（）３２０ｂは、機器クラス３１０を実体化した機器オブジェクト３１０Ａから呼び出され、省電力状態を解除して通常待機状態に戻す処理をおこなう。
【００９６】
アプリクラス３３０は、各アプリの動作制限状態を管理し、操作部の利用権取得および設定者との対応付けをおこなうクラスである。具体的には、このアプリクラス３３０は、属性として動作制限状態３３０ａおよび種類３３０ｂを有し、操作として制限開始（）３３０ｃを有する。なお、かかるアプリクラス３３０を実体化したアプリオブジェクト３３０Ａが生成されると、動作制限状態３３０ａおよび種類３３０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ(属性)の書き込みおよび読み出しをおこなうことが可能となる。
【００９７】
動作制限状態３３０ａは、各アプリが提供できる機能（動作）に制限があるか否かをあらわす動作制限状態を保持する。なお、各アプリは設定処理などの要因により提供できる機能が制限されることがあるものとする。また、種類３３０ｂは、各アプリオブジェクト３３０Ａと対応するアプリを識別するための識別情報を保持する。この識別情報としては、複合機１上で動作する各アプリを識別できる文字列や番号といったものが用いられる。
【００９８】
また、制限開始（）３３０ｃは、機器クラス３１０を実体化した機器オブジェクト３１０Ａから呼び出され、対応するアプリに対し動作制限をかけ、通常は提供している機能を提供不可とする処理をおこなう。
【００９９】
画面クラス３４０は、アプリクラス３３０の指示により利用権の取得および返還をおこなうクラスである。この利用権とは、操作パネルなどの操作部を独占する権利であり、かかる利用権を取得することで、各アプリに対する設定処理が可能となる。具体的には、この画面クラス３４０は、属性として利用権状態３４０ａを有し、操作として獲得（）３４０ｂを有する。
【０１００】
なお、本実施例においては利用権の返還をおこなう操作について説明していないが、利用権の返還処理をおこなう操作を有することとしてもよい。また、かかる画面クラス３４０を実体化した画面オブジェクト３４０Ａが生成されると、利用権状態３４０ａはＲＡＭ１２ｂ上に展開されるので、このデータ(属性)の書き込みおよび読み出しをおこなうことが可能となる。
【０１０１】
利用権状態３４０ａは、操作パネルなどの操作部を独占する権利である利用権を取得しているか否かの状態を保持する。また、獲得（）３４０ｂは、アプリクラス３３０を実体化したアプリオブジェクト３３０Ａから呼び出され、かかる利用権を取得していない場合に、利用権を取得する処理をおこなう。
【０１０２】
設定者クラス３５０は、設定者が設定処理をおこなうことができるか否かをあらわす設定可否状態を管理して設定許可を与える処理をおこなうクラスであり、後述するＳＰ設定者クラス３５１、ＵＰ設定者クラス３５２および遠隔設定者クラス３５３の上位クラス（スーパークラス）でもある。このため、設定者クラス３５０の属性および操作は、下位クラス（サブクラス）であるＳＰ設定者クラス３５１、ＵＰ設定者クラス３５２および遠隔設定者クラス３５３に継承される。なお、ＳＰ設定者クラス３５１、ＵＰ設定者クラス３５２および遠隔設定者クラス３５３の機能を設定者クラス３５０が有する構成としてもよい。
【０１０３】
具体的には、この設定者クラス３５０は、属性として設定可否状態３５０ａを有し、操作として設定許可（）３５０ｂを有する。なお、かかる設定者クラス３５０を実体化した設定者オブジェクト３５０Ａが生成されると、設定可否状態３５０ａはＲＡＭ１２ｂ上に展開されるので、このデータ(属性)の書き込みおよび読み出しをおこなうことが可能となる。また、設定可否状態３５０ａおよび設定許可（）３５０ｂは、ＳＰ設定者クラス３５１、ＵＰ設定者クラス３５２および遠隔設定者クラス３５３に継承さる。
【０１０４】
設定可否状態３５０ａは、設定者が各アプリの設定処理をおこなうことができる状態にあるか否かをあらわす設定可否状態を保持する。また、設定許可（）３５０ｂは、アプリクラス３３０を実体化したアプリオブジェクト３３０Ａから呼び出され、設定者に対して設定許可を与える処理をおこなう。なお、この設定許可（）３５０ｂは継承先のサブクラスにおける具体的な処理でオーバーライド（override）されることとしてもよい。
【０１０５】
ＳＰ設定者クラス３５１は、サービスパーソン用のサービス設定（Service Program設定）に特化した設定者クラス３５０のサブクラスであり、ＵＰ設定者クラス３５２は、一般利用者用のユーザ設定（User Program設定）に特化した設定者クラス３５０のサブクラスであり、遠隔設定者クラス３５３は、ネットワークを介した設定に特化した設定者クラス３５０のサブクラスである。
【０１０６】
このように、設定者クラス３５０を特化したサブクラスを設けることとしたので、設定者の種別によって異なる処理部分のみを、各サブクラスにおいておこなうことにより、効率的なプログラム開発が可能となるとともに、プログラムの保守性を向上させることができる。なお、本実施例においては、図７の３５１〜３５３に示した３つのサブクラスを設けることとしたが、設定者の種別が増えた場合には同様の手順でサブクラスを追加することができる。
【０１０７】
次に、図１０に示した各クラス間の関係について説明する。同図に示したように、ＵＭＬクラス図においては、クラス間に何らかの関係がある場合には、それらのクラスを表す矩形の間が直線で結ばれる。この直線の両端付近の文字はクラスのロールを表し、数字はクラスの多重度を表す。ここで、ロールとは、直線で結ばれた他方のクラスに対する当該クラスの役割のことであり、多重度とは、直線で結ばれた他方のクラスのオブジェクトと関連付けられて生成されるオブジェクトの数のことである。
【０１０８】
たとえば、アプリクラス３３０からみた設定者クラス３５０の役割は「設定者」であり、設定者クラス３５０からみたアプリクラス３３０の役割は「設定対象」である。また、アプリクラスの多重度は「１」であり、設定者クラス３５０の多重度は「０．．１」である。ここで、「０．．１」は、かかる設定者クラス３５０の多重度が、０〜１の範囲であることを示している。すなわち、１つのアプリオブジェクト３３０Ａに対応する設定者オブジェクト３５０Ａは０個または１個存在する。
【０１０９】
まず、機器クラス３１０とアプリクラス３３０とのクラス関係について説明する。アプリクラス３３０は複合機１内の各アプリと１対１に対応している。また、機器クラス３１０は複合機１内に１個だけ存在しており、すべてのアプリクラス３３０を管理している。したがって、複合機１内には機器オブジェクト３１０Ａは１個のみ存在し、アプリオブジェクト３３０Ａは、１個以上ｎ個以下の範囲で存在する。なお、かかる多重度の上限数はｎ個としているものの、当然に、ハードウェア仕様などによる制限を受ける。
【０１１０】
次に、機器クラス３１０と省エネクラス３２０とのクラス関係について説明する。省エネクラス３２０は、複合機１の電力状態を管理するクラスであるので、複合機１内に１個だけ存在する。また、上述したように機器クラス３１０も複合機１内に１個だけ存在する。したがって、機器オブジェクト３１０Ａおよび省エネオブジェクト３２０Ａは１対１の関係を有する。
【０１１１】
次に、アプリクラス３３０と画面クラス３４０とのクラス関係について説明する。各アプリクラス３３０は、対応するアプリの操作部利用権を管理するための画面クラス３４０をそれぞれ有している。したがって、アプリオブジェクト３３０Ａと画面オブジェクト３４０Ａとは１対１の関係で存在する。
【０１１２】
次に、アプリクラス３３０と設定者クラス３５０とのクラス関係について説明する。各アプリクラス３３０は、対応するアプリが設定利用状態にある場合には、設定者クラス３５０との関係をもつ。この場合、アプリクラス３３０からみた設定者クラス３５０の役割は「設定者」であり、設定者クラス３５０からみたアプリクラス３３０の役割は「設定対象」である。一方、対応するアプリが通常利用状態にある場合には、設定者クラス３５０との関係を有しない。したがって、設定者オブジェクト３５０Ａは、１個のアプリオブジェクト３３０Ａに対して０個以上１個以下の範囲で存在する。
【０１１３】
最後に、設定者クラス３５０と、ＳＰ設定者クラス３５１、ＵＰ設定者３５２および遠隔設定者３５３とのクラス関係について説明する。上述したように、設定者クラス３５０は、ＳＰ設定者クラス３５１、ＵＰ設定者３５２および遠隔設定者３５３のスーパークラスであり、ＳＰ設定者クラス３５１、ＵＰ設定者３５２および遠隔設定者３５３は、設定者クラス３５０のサブクラスである。なお、これらのサブクラスは設定者クラス３５０の属性および操作を継承する。
【０１１４】
次に、図７に示した各クラスの操作の実行手順について例をあげて説明する。図８は本実施の形態の特徴部分であるアプリ管理部１１１ｂが設定要求を受け付けた場合における実行手順の一例を示すＵＭＬシーケンス図である。なお、図８においては、サービスパーソンによる設定要求を受け付けた場合における操作の実行手順について示している。
【０１１５】
ここで、ＵＭＬシーケンス図について説明しておく。図８の上部に並んだ矩形は、それぞれがクラスのオブジェクトを示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線（ライフライン）であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間（活性期間）を示す。そして、各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれるの操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。
【０１１６】
図８に示すように、設定者（サービスパーソン）が複合機１の操作パネルを操作して設定要求をおこなうと、操作制御部１１１ａは、設定処理の開始をおこなうために、機器オブジェクト３１０Ａの設定開始（）３１０ｂを呼び出す（ステップＳ１０１）。設定開始（）３１０ｂを呼び出された機器オブジェクト３１０Ａは、複合機１の電力状態を「省電力」状態から「通常待機」状態に移行するために省エネオブジェクト３２０Ａの解除（）３２０ｂを呼び出す（ステップＳ１０２）。そして、解除（）３２０ｂを呼び出された省エネオブジェクト３２０Ａは、電源状態を「通常待機」状態に移行させる。なお、電源状態がすでに「通常待機」状態にある場合には、省エネオブジェクト３２０Ａは状態移行の処理をおこなわない。
【０１１７】
つづいて、解除（）３２０ｂを呼び出した機器オブジェクト３１０Ａは、該当するアプリの動作制限をおこなうためにアプリオブジェクト３３０Ａの制限開始（）３３０ｃを呼び出す（ステップＳ１０３）。そして、制限開始（）３３０ｃを呼び出されたアプリオブジェクト３３０Ａは動作制限状態３３０ｂを参照し、動作制限を開始できる状態ならば動作制限処理を開始し、開始できない状態ならば動作制限処理を拒否する。この動作制限処理は、ＳＰ設定、ＵＰ設定などの設定種別によって異なる。
【０１１８】
図８においては、サービスパーソンによる設定要求を受け付けた場合を示しているので、アプリオブジェクト３３０ＡはＳＰ設定者オブジェクト３５１を生成するために、ＳＰ設定者オブジェクト３５１の生成（）を呼び出す（ステップＳ１０４）。ここで、この生成（）は、すべてのオブジェクトが有する操作であり、この生成（）を呼び出すことにより各オブジェクトはＲＡＭ１２ｂ上に実体化される。
【０１１９】
そして、アプリオブジェクト３３０Ａは、設定処理をおこなうための利用権を取得するために画面オブジェクト３４０Ａの獲得（）３４０ｂを呼び出し（ステップＳ１０５）、利用権を取得できた場合には、さきに生成したＳＰ設定者オブジェクト３５１Ａの設定許可（）３５０ｂを呼び出すことにより（ステップＳ１０６）、設定者に対して設定許可を与える。なお、獲得（）３４０ｂを呼び出された画面オブジェクト３４０Ａは、未だ利用権を取得していない場合には、利用権を取得したうえで利用権状態３４０ａを変更するが、すでに利用権を取得している場合には特に処理はおこなわない。
【０１２０】
ここで、ＳＰ設定者オブジェクト３５１Ａの設定許可（）３５０ｂの呼び出しにより、ＳＰ設定者オブジェクトが管理する設定可否状態３５０ａが状態遷移をおこなう様子について図９を用いて説明する。図９は、設定者クラスの状態遷移を示すＵＭＬ状態遷移図である。
【０１２１】
図９は、状態遷移の開始状態（図９の黒丸）から終了状態（図９の二重黒丸）までの状態遷移を示しており、設定可否状態３５０ａが「許可待ち中」および「操作中」の二つの状態を有し、これらの状態間を遷移することを示している。同図に示したように、「許可待ち中」状態において設定許可（）３５０ｂが呼び出されると、状態は「操作中」に遷移する。この「操作中」状態は、設定者が設定操作をおこなっている状態をあらわしている。
【０１２２】
なお、図７に示したクラス図においては、設定者クラス３５０が操作として設定許可（）３５０ｂのみを有する場合について説明しているが、この設定許可（）３５０ｂに加えて設定禁止（）という操作を有することとしてもよい。この場合、図９に示した状態遷移図において、「許可待ち中」および「操作中」状態で、この設定禁止（）が呼び出されると状態遷移の終了状態（図９の二重黒丸）に移行することになる。
【０１２３】
上述してきたように、本実施の形態では、機器クラス、省エネクラス、アプリクラス、画面クラス、設定者クラス、ＳＰ設定者クラス、ＵＰ設定者クラスおよび遠隔設定者クラスを用いてアプリ管理部を実現し、設定要求を受け付けた機器クラスが省エネクラスおよびアプリクラスに、電力状態および動作制限状態の変更を指示するとともに、アプリクラスが画面クラスに対し利用権の取得を指示することととし、また、設定者の種別に応じてＳＰ設定者クラス、ＵＰ設定者クラスおよび遠隔設定者クラスのいずれかのクラスを用いるよう構成したので、ソフトウェア開発者やソフトウェア保守要員が、機能追加や改修を容易におこなうことができるとともに、汎用的なアプリ管理の仕組みを効率よく実現することができる。
【０１２４】
なお、本実施の形態の複合機で実行されるアプリ管理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、ＣＰＵ１１が上記記憶媒体から、アプリ管理プログラムを読み出してＭＥＭ−Ｐ１２上にロードすることで、複合機に、上述した各ステップ、各手段または各部を実現させる。
【０１２５】
また、アプリ管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかるアプリ管理プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【産業上の利用可能性】
【０１２６】
以上のように、本発明にかかるアプリ管理装置、アプリ管理プログラムおよび画像形成装置は、各種装置上で動作するアプリケーションプログラムの管理に有用であり、特に、画像形成装置上で動作するアプリケーションプログラムの管理に適している。
【図面の簡単な説明】
【０１２７】
【図１】複合機をとりまくネットワーク環境を示すネットワーク図である。
【図２】複合機のハードウェアを説明するための説明図である。
【図３】複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【図４】統合アプリケーションの構成を説明するための説明図である。
【図５】統合アプリケーションの構成を表したＵＭＬクラス図である。
【図６】アプリ管理において利用する各種状態について示す図である。
【図７】アプリ管理部のクラス構成を示すＵＭＬクラス図である。
【図８】アプリ管理部が設定要求を受け付けた場合における実行手順の一例を示すＵＭＬシーケンス図である。
【図９】設定者クラスの状態遷移を示すＵＭＬ状態遷移図である。
【図１０】複合機に搭載されるソフトウェア構成の変遷を示す説明図である。
【図１１】従来の複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【符号の説明】
【０１２８】
１        画像形成装置（複合機）
１０      コントローラ
１１      ＣＰＵ
１２      ＭＥＭ−Ｐ
１２ａ    ＲＯＭ
１２ｂ    ＲＡＭ
１３      ＮＢ
１４      ＳＢ
１５      ＡＧＰ
１６      ＡＳＩＣ
１７      ＭＥＭ−Ｃ
１８      ＨＤＤ
２０      キーボード（オペレーションパネル）
３０      ＦＣＵ
４０      ＵＳＢ
５０      ＩＥＥＥ１３９４
６０      エンジン部（Engine）
１００    ソフトウェア
１０１    アプリケーション層
１０２    サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３    オペレーティングシステム
１１０    統合アプリケーション
１１１    操作系サブシステム
１１１ａ  操作制御部
１１１ｂ  アプリ管理部
１１２    管理系サブシステム
１１３    実行系サブシステム
１２０    コピーアプリケーション
１３０    スキャナアプリケーション
１４０    ファックスアプリケーション
１５０    プリンタアプリケーション
２００    ハードウェア
２０１    ハードウェアリソース
２０１ａ  スキャナ
２０１ｂ  プロッタ
２０１ｃ  ＨＤＤ
２０１ｄ  ネットワーク
２０１ｅ  その他のリソース
３１０    機器クラス（機器管理手段の一例）
３１０Ａ  機器オブジェクト（機器管理手段の一例）
３１０ａ  運用状態
３１０ｂ  設定開始（）
３２０    省エネクラス（電力切替手段の一例）
３２０Ａ  省エネオブジェクト（電力切替手段の一例）
３２０ａ  電力状態
３２０ｂ  解除（）
３３０    アプリクラス(動作制限管理手段の一例)
３３０Ａ  アプリオブジェクト（動作制限管理手段の一例）
３３０ａ  動作制限状態
３３０ｂ  種類
３３０ｃ  制限開始（）
３４０    画面クラス（操作部利用権管理手段の一例）
３４０Ａ  画面オブジェクト（操作部利用権管理手段の一例）
３４０ａ  利用権状態
３４０ｂ  獲得（）
３５０    設定者クラス（設定状態管理手段の一例）
３５０Ａ  設定者オブジェクト（設定状態管理手段の一例）
３５０ａ  設定可否状態
３５０ｂ  設定許可（）
３５１    ＳＰ（Service Program）設定者クラス
３５１Ａ  ＳＰ設定者オブジェクト
３５２    ＵＰ（User Program）設定者クラス
３５２Ａ  ＵＰ設定者オブジェクト
３５３    遠隔設定者クラス
３５３Ａ  遠隔設定者オブジェクト
【図１】
2006221454.tif 000003
【図２】
2006221454.tif 000004
【図３】
2006221454.tif 000005
【図４】
2006221454.tif 000006
【図５】
2006221454.tif 000007
【図６】
2006221454.tif 000008
【図７】
2006221454.tif 000009
【図８】
2006221454.tif 000010
【図９】
2006221454.tif 000011
【図１０】
2006221454.tif 000012
【図１１】
2006221454.tif 000013