(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
ハードウェアを含む資源であって、プリンタ部を含む資源とスキャナ部を含む資源との少なくとも一方を含む複数の資源と、
複数のアプリケーションと、
前記アプリケーションからの指示に応じて１以上の資源のそれぞれに前記資源に対応する処理を実行させる制御部と、
前記制御部による前記１以上の資源のそれぞれに前記資源に対応する処理を実行させることを排他的に許可する１つの管理部と、
を備え、
前記制御部は、前記複数の資源に対応する複数の資源制御部を備え、
前記１つの管理部は、前記複数のアプリケーションに対して共通に使用され、
前記管理部は、ユーザによって前記複数のアプリケーションのうち特定のアプリケーションが指定された場合に、
前記特定のアプリケーションの指示に応じて処理を実行する１以上の第１種資源を特定し、
前記１以上の第１種資源のそれぞれの処理が、他のアプリケーションのために許可されているか否かを判断し、
前記１以上の第１種資源による全ての処理が他のアプリケーションのために許可されていないことを含む実行条件が満たされる場合に、前記１以上の第１種資源による全ての処理を、他のアプリケーションのために許可することを禁止し、前記特定のアプリケーションのために許可し、
前記１以上の第１種資源に対応する１以上の資源制御部は、前記実行条件が満たされる場合に、前記特定のアプリケーションからの指示に応じて、前記１以上の第１種資源のそれぞれに、前記資源に対応する処理を実行させ、
前記画像処理装置は、前記複数のアプリケーションのそれぞれに関して、前記アプリケーションに対応する１以上の機能を示す１以上の機能情報のそれぞれと、資源と、の対応関係を表す管理情報であって、前記複数の資源のうち、各機能情報に対応する前記第１種資源を特定する情報を含む前記管理情報を格納する記憶装置を備え、
前記管理部は、前記管理情報を参照して、前記特定のアプリケーションに対応する１以上の機能に対応付けられた前記１以上の第１種資源を特定し、
前記管理情報は、前記複数の機能情報を示す第１要素群と、前記複数の資源を示す第２要素群と、の対応関係を示すテーブルであって、前記第２要素群の前記資源が前記第１要素群の前記機能情報に対応付けられた前記第１種資源であるか否かを示すテーブルを含み、
前記第１要素群は、前記画像処理装置の複数の機種であって前記複数の資源の少なくとも一部が互いに異なる前記複数の機種に共通に使用され、
前記管理情報によって前記機能情報に対応付けられる前記第１種資源の少なくとも一部は、前記機種に応じて異なっている、
画像処理装置。
【請求項２】
画像処理装置であって、
ハードウェアを含む資源であって、プリンタ部を含む資源とスキャナ部を含む資源との少なくとも一方を含む複数の資源と、
複数のアプリケーションと、
前記アプリケーションからの指示に応じて１以上の資源のそれぞれに前記資源に対応する処理を実行させる制御部と、
前記制御部による前記１以上の資源のそれぞれに前記資源に対応する処理を実行させることを排他的に許可する１つの管理部と、
を備え、
前記制御部は、前記複数の資源に対応する複数の資源制御部を備え、
前記１つの管理部は、前記複数のアプリケーションに対して共通に使用され、
前記管理部は、ユーザによって前記複数のアプリケーションのうち特定のアプリケーションが指定された場合に、
前記特定のアプリケーションの指示に応じて処理を実行する１以上の第１種資源を特定し、
前記１以上の第１種資源のそれぞれの処理が、他のアプリケーションのために許可されているか否かを判断し、
前記１以上の第１種資源による全ての処理が他のアプリケーションのために許可されていないことを含む実行条件が満たされる場合に、前記１以上の第１種資源による全ての処理を、他のアプリケーションのために許可することを禁止し、前記特定のアプリケーションのために許可し、
前記１以上の第１種資源に対応する１以上の資源制御部は、前記実行条件が満たされる場合に、前記特定のアプリケーションからの指示に応じて、前記１以上の第１種資源のそれぞれに、前記資源に対応する処理を実行させ、
前記画像処理装置は、前記複数のアプリケーションのそれぞれに関して、前記アプリケーションに対応する１以上の機能を示す１以上の機能情報のそれぞれと、資源と、の対応関係を表す管理情報であって、前記複数の資源のうち、各機能情報に対応する前記第１種資源を特定する情報を含む前記管理情報を格納する記憶装置を備え、
前記管理部は、前記管理情報を参照して、前記特定のアプリケーションに対応する１以上の機能に対応付けられた前記１以上の第１種資源を特定し、
前記管理情報は、さらに、前記機能情報と第２種資源との対応関係を表し、
前記特定のアプリケーションに対応する１以上の機能に対応付けられた前記第２種資源は、前記特定のアプリケーションからの指示に応じて処理を実行する資源とは異なる資源であり、
前記実行条件は、前記特定のアプリケーションに対応する１以上の機能に対応付けられた前記第２種資源による全ての処理が、他のアプリケーションのために許可されていないことを含む、
画像処理装置。
【請求項３】
画像処理装置であって、
ハードウェアを含む資源であって、プリンタ部を含む資源とスキャナ部を含む資源との少なくとも一方を含む複数の資源と、
複数のアプリケーションと、
前記アプリケーションからの指示に応じて１以上の資源のそれぞれに前記資源に対応する処理を実行させる制御部と、
前記制御部による前記１以上の資源のそれぞれに前記資源に対応する処理を実行させることを排他的に許可する１つの管理部と、
を備え、
前記制御部は、前記複数の資源に対応する複数の資源制御部を備え、
前記１つの管理部は、前記複数のアプリケーションに対して共通に使用され、
前記アプリケーションは、前記複数の資源制御部のうちの第１資源制御部が前記第１資源制御部に対応する資源に処理を実行させることが許可されるか否かを、確認し、
前記複数の資源制御部のうちの第２資源制御部は、前記第２資源制御部が前記第２資源制御部に対応する資源に処理を実行させることが許可されるか否かを、確認する、
画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記管理部は、ユーザによって前記複数のアプリケーションのうち特定のアプリケーションが指定された場合に、
前記特定のアプリケーションの指示に応じて処理を実行する１以上の第１種資源を特定し、
前記１以上の第１種資源のそれぞれの処理が、他のアプリケーションのために許可されているか否かを判断し、
前記１以上の第１種資源による全ての処理が他のアプリケーションのために許可されていないことを含む実行条件が満たされる場合に、前記１以上の第１種資源による全ての処理を、他のアプリケーションのために許可することを禁止し、前記特定のアプリケーションのために許可し、
前記１以上の第１種資源に対応する１以上の資源制御部は、前記実行条件が満たされる場合に、前記特定のアプリケーションからの指示に応じて、前記１以上の第１種資源のそれぞれに、前記資源に対応する処理を実行させる、
画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記複数のアプリケーションのそれぞれに関して、前記アプリケーションに対応する１以上の機能を示す１以上の機能情報のそれぞれと、資源と、の対応関係を表す管理情報であって、前記複数の資源のうち、各機能情報に対応する前記第１種資源を特定する情報を含む前記管理情報を格納する記憶装置を備え、
前記管理部は、前記管理情報を参照して、前記特定のアプリケーションに対応する１以上の機能に対応付けられた前記１以上の第１種資源を特定する、
画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記管理情報は、前記複数の機能情報を示す第１要素群と、前記複数の資源を示す第２要素群と、の対応関係を示すテーブルであって、前記第２要素群の前記資源が前記第１要素群の前記機能情報に対応付けられた前記第１種資源であるか否かを示すテーブルを含み、
前記第１要素群は、前記画像処理装置の複数の機種であって前記複数の資源の少なくとも一部が互いに異なる前記複数の機種に共通に使用され、
前記管理情報によって前記機能情報に対応付けられる前記第１種資源の少なくとも一部は、前記機種に応じて異なっている、
画像処理装置。
【請求項７】
請求項１、５、６のいずれか１項に記載の画像処理装置であって、
前記管理情報は、さらに、前記機能情報と第２種資源との対応関係を表し、
前記特定のアプリケーションに対応する１以上の機能に対応付けられた前記第２種資源は、前記特定のアプリケーションからの指示に応じて処理を実行する資源とは異なる資源であり、
前記実行条件は、前記特定のアプリケーションに対応する１以上の機能に対応付けられた前記第２種資源による全ての処理が、他のアプリケーションのために許可されていないことを含む、
画像処理装置。
【請求項８】
請求項１、２、４、５、６、７のいずれか１項に記載の画像処理装置であって、
前記アプリケーションは、
ユーザインターフェース部と、
制御コア部と、
を含み、
前記特定のアプリケーションの前記ユーザインターフェース部は、ユーザから前記特定のアプリケーションの指定を受け付け、前記管理部によって許可された場合に、ユーザから前記特定のアプリケーションの実行に必要な設定情報を取得し、
前記特定のアプリケーションの前記制御コア部は、前記ユーザインターフェース部から取得した前記設定情報にしたがって、前記資源制御部に前記指示を出力する、
画像処理装置。
【請求項９】
請求項１から８のいずれか１項に記載の画像処理装置であって、
予め決められたアプリケーションからの指示に応じて複数の資源制御部が複数の資源のそれぞれに前記資源に対応する処理を実行させる場合に、前記複数の資源のそれぞれの処理が許可されるタイミングは、前記複数の資源のうちの少なくとも２つの資源の間で異なっている、
画像処理装置。
【請求項１０】
請求項１から９のいずれか１項に記載の画像処理装置であって、
前記１つの管理部は、前記資源制御部が前記資源に前記資源に対応する処理を実行させることを許可するか否かを判断する１つの判断部を備える、
画像処理装置。
【請求項１１】
請求項１から１０のいずれか１項に記載の画像処理装置であって、
前記アプリケーションを新しいアプリケーションに更新する更新部を備え、
前記管理部は、更新前のアプリケーションからの指示に対応する１以上の資源のそれぞれの処理を許可するための条件を、前記新しいアプリケーションからの指示に対応する１以上の資源のそれぞれの処理に適用する、
画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置における資源の管理に関する。
【背景技術】
【０００２】
画像処理装置としては、印刷部とスキャナ部などの複数のハードウェア資源を備える装置が、知られている（複合機とも呼ばれる）。このような画像処理装置において、複数の資源を排他制御するための構成として、１つのリソース管理手段と１つの排他制御手段とが、複数のアプリケーションと複数のリソースとの間で、複数の資源の管理と排他制御とを行う技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１９７３７７号公報
【特許文献２】特開２０１０−１２４４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の資源のそれぞれの処理の実行と排他制御とは、画像処理装置のアプリケーションとハードウェア資源とに密接に関わっている。従って、複数の資源のそれぞれの処理の実行と排他制御とは、画像処理装置のアプリケーションとハードウェア資源とに適合するように、構成される。従って、複数の資源のそれぞれの処理の実行と排他制御とを行うための構成は、複雑であった。
【０００５】
本開示は、複数の資源のそれぞれの処理の実行と排他制御とを行うための構成を、簡素化できる技術を開示する。
【課題を解決するための手段】
【０００６】
本開示は、例えば、以下の適用例を開示する。
【０００７】
［適用例１］
画像処理装置であって、ハードウェアを含む資源であって、プリンタ部を含む資源とスキャナ部を含む資源との少なくとも一方を含む複数の資源と、複数のアプリケーションと、前記アプリケーションからの指示に応じて１以上の資源のそれぞれに前記資源に対応する処理を実行させる制御部と、前記制御部による前記１以上の資源のそれぞれに前記資源に対応する処理を実行させることを排他的に許可する１つの管理部と、を備え、前記制御部は、前記複数の資源に対応する複数の資源制御部を備え、前記１つの管理部は、前記複数のアプリケーションに対して共通に使用される、画像処理装置。
【０００８】
この構成によれば、複数の資源制御部が複数の資源に対応するので、１つの制御部が複数の資源に対応する場合と比べて、各資源制御部の構成を簡素化できる。また、１つの管理部が、複数の資源のそれぞれの処理の排他的な許可を行うので、適切な排他制御を容易に実現できる。以上により、複数の資源のそれぞれの処理の実行と排他制御とを行うための構成を、簡素化できる。
【０００９】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施例としての画像処理システムを示す説明図である。
【図２】複合機１００の機能的な構成を示すブロック図である。
【図３】画面の例を示す説明図である。
【図４】アプリケーションによる処理の例を示すフローチャートである。
【図５】管理部５００による処理の例を示すフローチャートである。
【図６】管理データベース１３８の一部の例を示す概略図である。
【図７】資源制御部による処理の例を示すフローチャートである。
【図８】第２ボタンＢ０２が指定された場合に進行する処理の例を示すシーケンス図である。
【図９】第２ボタンＢ０２が指定された場合に進行する処理の例を示すシーケンス図である。
【図１０】第２ボタンＢ０２が指定された場合に進行する処理の別の例を示すシーケンス図である。
【図１１】第２ボタンＢ０２が指定された場合に進行する処理の別の例を示すシーケンス図である。
【図１２】更新部４００による処理の例を示すフローチャートである。
【図１３】管理データベースの別の実施例を示す説明図である。
【発明を実施するための形態】
【００１１】
Ａ．第１実施例：
Ａ１．システムについて：
図１は、一実施例としての画像処理システムを示す説明図である。この画像処理システム１０００は、ネットワークＬＮＴと、ネットワークＬＮＴに接続された複合機１００とパーソナルコンピュータ９００とを含んでいる。
【００１２】
パーソナルコンピュータ９００は、プロセッサ（例えば、ＣＰＵ）と、不揮発性記憶装置（例えば、ハードディスクドライブ）と、揮発性記憶装置（例えば、ＤＲＡＭ）とを有するコンピュータである（図示省略）。
【００１３】
複合機１００は、プロセッサ１１０と、揮発性記憶装置１２０と、不揮発性記憶装置１３０と、表示部１４０と、操作部１５０と、通信インタフェース１７０と、スキャナ部１８０と、プリンタ部１８５と、画像データ処理部１８６と、モデム１８７と、を有している。これらの要素は、バスを介して互いに接続されている。
【００１４】
プロセッサ１１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置１２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置１３０は、例えば、フラッシュメモリである。
【００１５】
不揮発性記憶装置１３０は、ホーム画面プログラム１３１と、アプリケーションプログラム１３２ａ〜１３２ｃを含む複数のアプリケーションプログラム１３２と、制御プログラム１３４ａ〜１３４ｃを含む複数の制御プログラム１３４と、更新プログラム１３６と、管理プログラム１３７と、管理データベース１３８と、を格納している。プロセッサ１１０は、プログラムを実行することによって、種々の機能を実現する（詳細は、後述）。プロセッサ１１０は、プログラムの実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置１２０、不揮発性記憶装置１３０のいずれか）に、一時的に格納する。本実施例では、上記のプログラムと、管理データベース１３８とは、複合機１００の製造者によって、ファームウェアとして、不揮発性記憶装置１３０に予め格納されている。
【００１６】
表示部１４０は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部１５０は、ユーザによる操作を受け取る装置であり、例えば、表示部１４０上に重ねて配置されたタッチパネルである。ユーザは、操作部１５０を操作することによって、種々の指示を複合機１００に入力可能である。
【００１７】
通信インタフェース１７０は、他の装置と通信するためのインタフェースである（例えば、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。通信インタフェース１７０には、ネットワークＬＮＴが接続されている。
【００１８】
スキャナ部１８０は、ＣＣＤやＣＭＯＳなどの光電変換素子を用いて光学的に原稿等の対象物を読み取ることによって、読み取った画像（「スキャン画像」と呼ぶ）を表すスキャンデータを生成する。スキャンデータは、例えば、カラーのスキャン画像を表すＲＧＢのビットマップデータである。
【００１９】
画像データ処理部１８６は、スキャンデータの色調を補正する電子回路である（本実施例では、ＡＳＩＣ（Application Specific Integrated Circuit））。色調補正は、スキャンデータによって表される画像の色を、好ましい色に補正する処理である。本実施例では、画像データ処理部１８６は、予め決められた関数に従って、補正前の色値（ここでは、ＲＧＢの各色成分の階調値）を、補正後の色値に変換する。補正後の色値と補正前の色値との対応関係を定める方法としては、関数を用いる方法に代えて、他の任意の方法（例えば、ルックアップテーブルを用いる方法）を採用可能である。
【００２０】
プリンタ部１８５は、用紙（印刷媒体の一例）上に画像を印刷する装置である。本実施例では、プリンタ部１８５は、シアンＣとマゼンタＭとイエロＹとブラックＫのそれぞれのインクを用いるインクジェット式の印刷装置である。なお、プリンタ部１８５としては、他の方式（例えば、レーザ方式）の印刷装置を採用してもよい。
【００２１】
モデム１８７は、電話回線に接続するためのインタフェースである。モデム１８７は、ファクシミリの送受信に利用される。
【００２２】
複合機１００は、ユーザの指示に従ってスキャナ部１８０を駆動し、対象物を光学的に読み取ることによって、対象物を表すスキャンデータを生成する。そして、複合機１００は、他の装置（例えば、パーソナルコンピュータ９００）に、スキャンデータを送信することができる（「ＰＣスキャン」とも呼ぶ）。また、複合機１００は、スキャンデータによって表される画像をプリンタ部１８５に印刷させることができる（「コピー」とも呼ぶ）。
【００２３】
図２は、複合機１００の機能的な構成を示すブロック図である。図中には、複合機１００に設けられたハードウェア資源であるスキャナ部１８０とプリンタ部１８５と画像データ処理部１８６とモデム１８７と不揮発性記憶装置１３０と、これらのハードウェア資源を用いて種々の処理を実行するための複数の処理部と、が示されている。複数の処理部としては、コピーアプリケーション２１０とＰＣスキャンアプリケーション２２０とを含む複数のアプリケーションと、制御部３００と、更新部４００と、管理部５００と、ホーム画面処理部６００と、が示されている。制御部３００は、複数の資源制御部３１０〜３５０（具体的には、スキャナ部制御部３１０と、プリンタ部制御部３２０と、データ処理部制御部３３０と、モデム制御部３４０と、記憶装置制御部３５０）を含んでいる。点線８００で囲まれた複数の処理部は、いずれも、プログラムを実行するプロセッサ１１０（図１）によって、実現される。
【００２４】
コピーアプリケーション２１０は、スキャナ部１８０を用いて生成されたスキャンデータによって表される画像をプリンタ部１８５に印刷させるアプリケーションである。ＰＣスキャンアプリケーション２２０は、スキャナ部１８０を用いて生成されたスキャンデータを、ネットワークＬＮＴを通じて他の装置（例えば、パーソナルコンピュータ９００）に送信するアプリケーションである。これらのアプリケーション２１０、２２０は、それぞれ、ユーザインターフェース部２１２、２２２と、制御コア部２１４、２２４と、を有している。以下、ユーザインターフェース部を、単に「ＵＩ部」とも呼ぶ。制御コア部を、単に「コア部」とも呼ぶ。ＵＩ部２１２、２２２は、ユーザによって入力された情報を取得する処理部である（以下、ＵＩ部を、「取得部」とも呼ぶ）。コア部２１４、２２４は、ＵＩ部２１２、２２２によって取得された情報に従って、制御部に指示を出力する処理部である（以下、コア部を、「指示部」とも呼ぶ）。アプリケーション２１０、２２０を含む複数のアプリケーションは、互いに異なるアプリケーションプログラム１３２（図１）によって実現される。また、ＵＩ部とコア部とは、互いに異なるプログラムによって実現される。１つのアプリケーションプログラムは、ＵＩ部のプログラムとコア部のプログラムとを含んでいる。
【００２５】
資源制御部３１０〜３５０は、アプリケーションの指示に応じて、ハードウェア資源１８０、１８５、１８６、１８７、１３０を、それぞれ制御する。具体的には、スキャナ部制御部３１０は、スキャナ部１８０を制御し、そして、プリンタ部制御部３２０は、プリンタ部１８５を、データ処理部制御部３３０は、画像データ処理部１８６を、モデム制御部３４０は、モデム１８７を、記憶装置制御部３５０は、不揮発性記憶装置１３０を、それぞれ制御する。資源制御部３１０〜３５０は、対応するハードウェア資源のいわゆるデバイスドライバを含んでいる。資源制御部３１０、３２０、３３０、３４０、３５０は、互いに異なる制御プログラム１３４（図１）によって実現される。
【００２６】
更新部４００は、アプリケーションを実現するプログラムを、新しいプログラムに更新する処理部である。更新部４００は、更新プログラム１３６（図１）によって実現される。管理部５００は、ハードウェア資源による処理を排他的に許可する処理部である。管理部５００は、判断部５１０と管理データベース１３８とを含んでいる。判断部５１０は、管理プログラム１３７によって実現される。
【００２７】
ホーム画面処理部６００は、表示部１４０に表示されるホーム画面を制御する処理部である。ホーム画面は、「コピー」などの処理を指定する指示を受け付けるための画面である。ホーム画面処理部６００は、ホーム画面プログラム１３１（図１）によって実現される。
【００２８】
Ａ２．アプリケーションによる処理について：
図３（Ａ）は、ホーム画面の例を示す説明図である。このホーム画面Ｄ１は、複合機１００の電源がオンされた後に表示される標準の画面である。プロセッサ１１０は、複合機１００の電源が投入されたことに応じて、ホーム画面プログラム１３１を実行する。プロセッサ１１０は、表示部１４０にホーム画面を表示し、そして、操作部１５０に入力されるユーザの指示を取得する。ホーム画面の表示と指示の取得とは、ホーム画面処理部６００の機能に含まれる。
【００２９】
以下、ホーム画面プログラム１３１に従ってプロセッサ１１０が処理を実行することを、ホーム画面処理部６００が処理を実行する、とも表現する。図２の他の処理部についても、同様である。一般的に、プログラムに従ってプロセッサ１１０が処理を実行することを、そのプログラムに対応する処理部が処理を実行する、とも表現する。
【００３０】
ホーム画面Ｄ１は、３つのボタンＢ０１、Ｂ０２、Ｂ０３を表している。第１ボタンＢ０１は、「スキャン」の処理を開始するためのボタンであり、図示しないスキャンのためのアプリケーションに対応付けられている。第２ボタンＢ０２は、「コピー」の処理を開始するためのボタンであり、コピーアプリケーション２１０（図２）に対応付けられている。第３ボタンＢ０３は、「ファクシミリ送信」の処理を開始するためのボタンであり、図示しないファクシミリ送信のためのアプリケーションに対応付けられている。ユーザは、操作部１５０上の所望のボタンと重なる位置をタッチすることによって、所望のボタン（ひいては、ボタンに対応付けられたアプリケーション）を指定できる。
【００３１】
ホーム画面Ｄ１上のボタンが指定された場合、指定されたボタンに対応付けられたアプリケーションが、起動する（以下「指定アプリケーション」とも呼ぶ）。例えば、第２ボタンＢ０２が指定された場合、コピーアプリケーション２１０が起動する。指定アプリケーションが起動すると、指定アプリケーションと管理部５００と資源制御部とによって、指定アプリケーションに対応付けられた処理（例えば、「コピー」など）が進行する。
【００３２】
図４は、アプリケーションによる処理の例を示すフローチャートである。図５は、管理部５００による処理の例を示すフローチャートである。図６は、管理部５００によって参照される管理データベース１３８の一部の例を示す概略図である。図７は、資源制御部による処理の例を示すフローチャートである。図８、図９は、第２ボタンＢ０２（図３）が指定された場合に進行する処理の例を示すシーケンス図である。図９は、図８の続きを示している。図中では、処理を示す符号として、文字「Ｓ」と、文字「Ｓ」に続く数字と、を組み合わせた符号を用いる。図８、図９には、図３、図５、図７のそれぞれに含まれる複数の処理のうちの一部が抜粋して示されている。以下、第２ボタンＢ０２（図３）が指定されたこととして、説明する。
【００３３】
第２ボタンＢ０２（図３）が指定されたことによって、コピーアプリケーション２１０（図２）のＵＩ部２１２（「コピーＵＩ部２１２」とも呼ぶ）が起動する。図４のＳ１００では、コピーＵＩ部２１２は、管理部５００に、処理の実行が許可されるか否かを問い合わせる。この問い合わせには、機能を示す情報である機能情報が含まれる。以下、機能情報を、「機能ラベル」または、単に「ラベル」とも呼ぶ。ＵＩ部は、ＵＩ部に予め対応付けられたラベルを表す情報を、管理部５００に送信する。図８のＳ１００に示すように、コピーアプリケーション２１０のコピーＵＩ部２１２には、「CopyApp_Copy」というラベルが対応付けられている。このラベルは、「コピー」という機能を示している。
【００３４】
図５（Ａ）は、問い合わせに応じて実行される処理の例を示すフローチャートである。Ｓ２００では、管理部５００の判断部５１０は、管理データベース１３８（図６）を参照して、問い合わせによって示されるラベル（「対象ラベル」と呼ぶ）に対応付けられた「MUST」の資源を特定する。
【００３５】
図６は、管理データベース１３８に含まれるテーブルの一部の概要を示している。行は、ラベルを示し、列は、資源を示している。資源としては、「デバイス」の資源と「アプリケーション」の資源とが、示されている。
【００３６】
ラベルとしては、コピーを示す「CopyApp_Copy」と、コピーに含まれるスキャン部分を示す「CopyApp_Scan_Portion」と、ＰＣスキャンを示す「ScanApp_PullScan」と、印刷を示す「PrintCoordinator_Print」と、不揮発性記憶装置１３０へのデータ格納を示す「FlStorageLibSystem_FlWrite」と、が示されている。
【００３７】
「デバイス」の資源は、ハードウェアを含む資源を示している。図６の例では、スキャナ部１８０を示す「SCAN」と、画像データ処理部１８６を示す「ASIC_IMG」と、プリンタ部１８５を示す「PRINT」と、不揮発性記憶装置１３０を示す「FLSTORAGE」と、が示されている。
【００３８】
「アプリケーション」の資源は、図１、図２に示す複数のアプリケーションを示している。図６には、コピーアプリケーション２１０を示す「COPY」と、ＰＣスキャンアプリケーション２２０を示す「PC_SCAN」と、が示されている。アプリケーションは、ソフトウェア資源とも呼べる。
【００３９】
最下行には、各資源の実行権を有する処理の識別子（「オーナＩＤ」とも呼ぶ）が示されている。実行権は、資源による処理を実行するための権限である。本実施例では、１つの資源の実行権は、１つの処理に付与され得る。複数の処理は、同時に１つの資源の実行権を有することができない。資源の実行権が処理に付与されている場合、同じ資源を使用する別の処理は実行権を得ることができので、別の処理は禁止される。実行権がいずれの処理にも付与されていない場合、すなわち、資源がフリーである場合、オーナＩＤの欄は、空欄である。
【００４０】
管理データベース１３８は、ラベルの機能に対する資源の属性を示している。属性としては、「取得属性」と「解放属性」とが、設定されている。「取得属性」は、処理の実行を許可するか否かの判断のために参照される。「取得属性」は、「MUST」と「CHK_FREE」と「CAND」と「NONE」とから選択される。「解放属性」については、後述する。
【００４１】
「MUST」は、ラベルの機能を実行する場合に使用される資源、すなわち、ラベルの機能に必要な資源を示している。例えば、コピーに含まれるスキャン部分を示す「CopyApp_Scan_Portion」に対応付けられた「SCAN（スキャナ部１８０に対応する）」の属性は、「MUST」である。
【００４２】
「CHK_FREE」は、ラベルの機能のために処理を実行する資源ではないが、ラベルの機能と競合する資源を示している。例えば、コピーに含まれるスキャン部分を示す「CopyApp_Scan_Portion」に対応付けられた「FLSTORAGE（不揮発性記憶装置１３０に対応する）」の属性は、「CHK_FREE」である。本実施例では、スキャナ部１８０による処理に起因するプロセッサ１１０の負荷と、不揮発性記憶装置１３０へのデータ格納（例えば、電話帳を表すデータの格納）に起因するプロセッサ１１０の負荷とが、高い。スキャナ部１８０を使用する機能と、不揮発性記憶装置１３０を使用する機能とが、並行して実行される場合には、プロセッサ１１０の負荷が過剰となる場合がある。そこで、本実施例では、スキャナ部１８０を使用する機能は、不揮発性記憶装置１３０と競合し、不揮発性記憶装置１３０を使用する機能は、スキャナ部１８０と競合することとしている。
【００４３】
「CAND」は、問い合わせ元のＵＩ部と同じアプリケーションのコア部の機能、または、アプリケーションの指示に応じて資源を制御する資源制御部の機能に必要な資源を示している。
【００４４】
「NONE」は、ラベルの機能の処理に関する判断に無関係な資源を示している。なお、「CAND」の資源も、ラベルの機能の処理に関する判断に無関係である。
【００４５】
図５（Ａ）のＳ２００では、判断部５１０では、管理データベース１３８を参照し、対象ラベルに対応付けられた「MUST」の資源を特定する。図６、図８の例では、問い合わせ元がコピーＵＩ部２１２であり、対象ラベルは、「CopyApp_Copy」であるので、「MUST」の資源は、「COPY」である。
【００４６】
図５（Ａ）のＳ２１０では、判断部５１０は、Ｓ２００で特定された資源のうちの少なくとも１つの資源の実行権が、他の処理（例えば、他のアプリケーション）に付与されているか否かを判断する。図６の実施例では、特定された資源のうちの少なくとも１つにオーナＩＤが設定されている場合に、判断結果が「Ｙｅｓ」である。特定された全ての資源のオーナＩＤの欄が空欄である場合に、判断結果が「Ｎｏ」である。判断結果が「Ｙｅｓ」である場合、Ｓ２４０で、判断部５１０は、処理の実行を許可しないと判断し、判断結果を問い合わせ元に通知する。そして、図５（Ａ）の処理が終了する。
【００４７】
Ｓ２００で特定された全ての資源がフリーである場合（Ｓ２１０：Ｎｏ）、Ｓ２２０で、判断部５１０は、管理データベース１３８を参照し、対象ラベルに対応付けられた「CHK_FREE」の資源を特定する。図６、図８の例では、対象ラベル（CopyApp_Copy）に対応付けられた「CHK_FREE」の資源は、「PC_SCAN」と「FLSTORAGE」とである。
【００４８】
図５（Ａ）のＳ２３０では、判断部５１０は、Ｓ２２０で特定された資源のうちの少なくとも１つの資源の実行権が、他の処理（例えば、他のアプリケーション）に付与されているか否かを判断する。判断結果が「Ｙｅｓ」である場合、Ｓ２４０で、判断部５１０は、処理の実行を許可しないと判断し、判断結果を問い合わせ元に通知する。そして、図５（Ａ）の処理が終了する。
【００４９】
Ｓ２２０で特定された全ての資源がフリーである場合（Ｓ２３０：Ｎｏ）、Ｓ２５０で、判断部５１０は、新たなオーナＩＤを生成し、対象ラベルに対応付けられた「MUST」の資源の実行権を、生成したオーナＩＤに付与する。そして、判断部５１０は、処理の実行を許可することと、新たなオーナＩＤとを、問い合わせ元に通知する。これにより、「MUST」の資源による処理は、問い合わせ元の処理部（ひいては、指定アプリケーション）に許可され、他の処理（ひいては、他のアプリケーション）に対しては禁止される。図８の例では、「PC_SCAN」と「FLSTORAGE」とがフリーであることとする。そして、判断部５１０は、Ｓ２５０で、新たにオーナＩＤ１を生成し、管理データベース１３８（図６）の「COPY」の資源のオーナＩＤの欄にオーナＩＤ１を登録する。そして、生成したオーナＩＤ１を、コピーアプリケーション２１０（具体的には、コピーＵＩ部２１２）に通知する。
【００５０】
図４のＳ１１０では、コピーＵＩ部２１２は、管理部５００から判断結果の通知を受信し、処理の実行が許可されたか否かを判断する。処理の実行が許可されなかった場合（Ｓ１１０：Ｎｏ）、コピーＵＩ部２１２は、図４の処理を終了する。この際、コピーＵＩ部２１２は、表示部１４０に、ビジー状態を示す情報を表示してもよい。処理の実行が許可された場合（Ｓ１１０：Ｙｅｓ）、コピーＵＩ部２１２は、Ｓ１２０で、処理の実行に必要な設定情報を取得する。
【００５１】
図３（Ｂ）は、Ｓ１２０でコピーＵＩ部２１２によって表示部１４０に表示される設定画面の例である。この設定画面Ｄ２は、印刷部数の入力フィールドＦ１と、用紙サイズの入力フィールドＦ２と、スタートボタンＢｓと、を表している。ユーザは、操作部１５０上の所望のフィールドと重なる位置をタッチすることによって、各情報を変更できる。図４のＳ１２０では、コピーＵＩ部２１２は、各フィールドＦ１、Ｆ２に入力された情報を取得する。また、ユーザは、操作部１５０上のスタートボタンＢｓと重なる位置をタッチすることによって、スタートボタンＢｓを操作できる。
【００５２】
図４のＳ１３０では、コピーＵＩ部２１２は、スタートボタンＢｓが操作されたか否かを判断する。コピーＵＩ部２１２は、スタートボタンＢｓが操作されるまで、Ｓ１２０を繰り返す。
【００５３】
スタートボタンＢｓが操作された場合（Ｓ１３０：Ｙｅｓ）、Ｓ１４０で、コピーＵＩ部２１２は、Ｓ１２０で取得した情報と、管理部５００から通知されたオーナＩＤとを、同じアプリケーション（ここでは、コピーアプリケーション２１０）のコア部２１４に供給する。以下、コピーアプリケーション２１０のコア部２１４を、「コピーコア部２１４」とも呼ぶ。
【００５４】
Ｓ１５０では、コピーコア部２１４は、受信した情報を用いて、指示データを生成する。指示データは、資源制御部に対する指示を表すデータである。指示の対象の資源制御部は、アプリケーションに予め対応付けられている。例えば、コピーアプリケーション２１０には、スキャナ部制御部３１０とプリンタ部制御部３２０とデータ処理部制御部３３０とが対応付けられている。コピーコア部２１４は、スキャナ部制御部３１０用の指示データと、プリンタ部制御部３２０用の指示データと、データ処理部制御部３３０用の指示データとを、生成する。図３（Ｂ）の情報が用いられる場合、スキャナ部制御部３１０用の指示データは、Ａ４サイズの領域をスキャンする指示を表し、プリンタ部制御部３２０用の指示データは、Ａ４サイズの用紙に２部印刷する指示を表し、データ処理部制御部３３０用の指示データは、スキャンデータに所定の色調補正を行う指示を表している。
【００５５】
図４のＳ１６０では、コピーコア部２１４は、管理部５００に、処理の実行が許可されるか否かを問い合わせる。この問い合わせには、コア部に予め対応付けられた機能ラベルを表す情報と、ＵＩ部から通知されたオーナＩＤを表す情報と、が含まれる。図８のＳ１６０に示すように、コピーコア部２１４には、「CopyApp_Scan_Portion」というラベルが予め対応付けられている。
【００５６】
管理部５００の判断部５１０は、問い合わせに応じて、図５（Ａ）の処理を実行する。Ｓ２５０では、コア部によってオーナＩＤが指定されているので、判断部５１０は、新たなオーナＩＤを発行せずに、指定されたオーナＩＤを用いる。図５（Ａ）の他の処理は、図４のＳ１００で説明した処理と、同じである。図８のＳ１６０に続くＳ２５０では、判断部５１０は、「CopyApp_Scan_Portion」に対応付けられた「MUST」の資源である「SCAN」と「ASIC_IMG」との実行権を、オーナＩＤ１に付与する。そして、判断部５１０は、処理の実行を許可することを、問い合わせ元（ここでは、コピーコア部２１４）に通知する。
【００５７】
図４のＳ１７０では、コピーコア部２１４は、管理部５００から許可通知が届いたか否かを判断する。コピーコア部２１４は、許可通知を受信するまで、Ｓ１６０を繰り返す。
【００５８】
許可通知を受信した場合（Ｓ１７０：Ｙｅｓ）、Ｓ１８０で、コピーコア部２１４は、Ｓ１５０で生成した指示データを、資源制御部に供給する。図８の例では、コピーコア部２１４は、スキャナ部制御部３１０とプリンタ部制御部３２０とデータ処理部制御部３３０とに、指示データを送信する（Ｓ１８０）。なお、図中では、データ処理部制御部３３０の図示が省略されている。
【００５９】
スキャナ部制御部３１０などの資源制御部は、アプリケーション（ここでは、コア部）から受信した指示データに従って、資源を制御する処理を実行する。図７は、資源制御部による処理の例を示すフローチャートである。まず、スキャナ部制御部３１０とデータ処理部制御部３３０とを例として用いてフローチャートを説明し、次に、プリンタ部制御部３２０を例として用いてフローチャートを説明する。
【００６０】
Ｓ４００では、スキャナ部制御部３１０は、資源を制御するための制御データを、指示データに従って生成する。図３（Ｂ）の情報が用いられる場合、Ａ４サイズの領域をスキャンするための制御データが生成される。Ｓ４００の次の処理は、資源制御部の種類に応じて異なっている。資源制御部の処理に新たな許可が必要である場合、処理は、Ｓ４１０に移行する。資源制御部の処理に新たな許可が不要である場合、処理は、Ｓ４３０に移行する。また、この場合、Ｓ４４５は省略される。新たな許可が必要であるか否かは、予め、資源制御部毎に決められている。
【００６１】
本実施例では、資源制御部に対応する資源の実行権がアプリケーションによって取得される場合、新たな許可は不要である。例えば、図６の例では、スキャナ部制御部３１０の「SCAN」の実行権とデータ処理部制御部３３０の「ASIC_IMG」の実行権とは、コピーアプリケーション２１０のコピーコア部２１４によって取得される。従って、スキャナ部制御部３１０の処理とデータ処理部制御部３３０の処理とには、新たな許可は不要である。また、プリンタ部制御部３２０の「PRINT」の実行権は、コピーアプリケーション２１０によって取得されない。従って、プリンタ部制御部３２０の処理には、新たな許可が必要である。
【００６２】
図７のＳ４３０では、スキャナ部制御部３１０は、スキャナ部制御部３１０に対応付けられた対象装置（ここでは、スキャナ部１８０）に、Ｓ４００で生成した制御データを供給する。Ｓ４４０では、スキャナ部１８０は、受信した制御データに従って、スキャン処理を実行する。図３（Ｂ）の情報が用いられる場合、スキャナ部１８０は、Ａ４サイズの領域をスキャンすることによって、スキャンデータを生成する。Ｓ４５０では、スキャナ部制御部３１０は、スキャナ部１８０による処理が終了したことに応じて、終了通知を、指示データの送信元（ここでは、コピーコア部２１４）に供給する。そして、スキャナ部制御部３１０による図７の処理が終了する。
【００６３】
データ処理部制御部３３０は、Ｓ４００で、指示データに従って制御データを生成する。図３（Ｂ）の情報が用いられる場合、所定の色調補正を行うための制御データが生成される。データ処理部制御部３３０の処理には、新たな許可は不要であるので、処理は、Ｓ４３０に移行する。Ｓ４３０では、データ処理部制御部３３０は、データ処理部制御部３３０に対応付けられた画像データ処理部１８６に、制御データを供給する。Ｓ４４０では、画像データ処理部１８６は、受信した制御データに従って、スキャナ部１８０からスキャンデータを取得し、取得したスキャンデータに色調補正を行う。これにより、最終的なスキャンデータが生成される。Ｓ４５０では、データ処理部制御部３３０は、画像データ処理部１８６による処理が終了したことに応じて、終了通知を、指示データの送信元（ここでは、コピーコア部２１４）に供給する。そして、データ処理部制御部３３０による図７の処理が終了する。
【００６４】
図８では、データ処理部制御部３３０による処理の図示が省略されている。図示するように、スキャナ部制御部３１０によるＳ４３０に続いてスキャンが行われ、Ｓ４５０で終了通知がコピーアプリケーション２１０に供給される。
【００６５】
図４のＳ１９０では、コピーコア部２１４は、管理部５００に、資源の解放を要求する。この要求には、コピーコア部２１４の機能ラベル（「対象ラベル」と呼ぶ）を表す情報と、Ｓ１６０で用いたオーナＩＤ（「対象オーナＩＤ」と呼ぶ）を表す情報とが含まれる。後述するように、ラベルを表す情報は、要求から省略され得る。
【００６６】
図５（Ｂ）は、資源の解放の要求に応じて実行される処理の例を示すフローチャートである。Ｓ３００では、管理部５００の判断部５１０は、要求によってラベルが指定されているか否かを判断する。ラベルが指定されている場合、Ｓ３１０で、判断部５１０は、管理データベース１３８を編集して、対象オーナＩＤと対象ラベルとで特定される資源を解放する。
【００６７】
上述したように、管理データベース１３８（図６）は、ラベルに対する資源の解放属性を示している。解放属性は、資源を解放するために、すなわち、実行権を削除するために参照される。「MUST」は、実行権を削除すべき資源を示している。「IF_I_GOT」は、対象オーナＩＤに実行権が付与されている場合に実行権を削除すべき資源を示している。「NONE」は、資源の解放の処理に無関係な資源を示している。
【００６８】
解放属性は、同じ機能ラベルの取得属性に従って設定された実行権を削除するように、予め決定されている。具体的には、同じ機能ラベルの取得属性と解放属性との関係は、以下の通りである。取得属性が「MUST」または「CAND」である資源の解放属性は、「MUST」または「IF_I_GOT」に設定されている。取得属性が「CHK_FREE」または「NONE」である資源の解放属性は、「NONE」に設定されている。
【００６９】
図５（Ｂ）のＳ３１０では、判断部５１０は、対象ラベルに対応付けられた「MUST」の資源の実行権と、「IF_I_GOT」の資源の実行権とを、削除する。実行権の削除によって、管理データベース１３８（図６）のオーナＩＤの欄が空欄になる。これにより、「MUST」または「IF_I_GOT」の資源による処理は、他の処理（ひいては、他のアプリケーション）に対して、許可可能になる。そして、判断部５１０は、確認応答を要求元（ここでは、コピーコア部２１４）に通知する。Ｓ３１０の処理が終了したことに応じて、図５（Ｂ）の処理は終了する。
【００７０】
図８の例では、コピーアプリケーション２１０のＳ１９０での対象ラベルは、「CopyApp_Scan_Portion」である。従って、「MUST」または「IF_I_GOT」の資源は、「SCAN」と「ASIC_IMG」とである。Ｓ１９０に続くＳ３１０では、判断部５１０は、「SCAN」の実行権と「ASIC_IMG」の実行権とを削除し、確認応答をコピーコア部２１４に供給する。
【００７１】
次に、プリンタ部制御部３２０を例として用いて図７の説明を行う。Ｓ４００では、プリンタ部制御部３２０は、プリンタ部１８５を制御するための制御データを、指示データに従って生成する。プリンタ部制御部３２０は、画像データ処理部１８６から補正済のスキャンデータを取得し、取得したスキャンデータを用いてプリンタ部１８５のための制御データを生成する。制御データは、例えば、スキャンデータに対する色変換処理とハーフトーン処理とによって生成される。このような制御データは、印刷データとも呼ばれる。図３（Ｂ）の情報が用いられる場合、Ａ４サイズの用紙に２部印刷するように構成された制御データが生成される。プリンタ部制御部３２０の処理には新たな許可が必要なので、プリンタ部制御部３２０は、Ｓ４００の後、Ｓ４１０に移行する。
【００７２】
Ｓ４１０では、プリンタ部制御部３２０は、管理部５００に、処理の実行が許可されるか否かを問い合わせる。この問い合わせには、プリンタ部制御部３２０に予め対応付けられた「PrintCoordinator_Print」というラベルを表す情報が含まれる。
【００７３】
管理部５００の判断部５１０は、問い合わせに応じて、図５（Ａ）の処理を実行する。図５（Ａ）の処理は、図４のＳ１００で説明した処理と、同じである。プリンタ部制御部３２０によってオーナＩＤが指定されていないので、判断部５１０は、Ｓ２５０では、新たなオーナＩＤを発行し、新たなオーナＩＤと、処理の実行を許可することとを、問い合わせ元（ここでは、プリンタ部制御部３２０）に通知する。図８の例では、プリンタ部制御部３２０による問い合わせ（Ｓ４１０）に応じて、Ｓ２５０で、管理部５００は、新たなオーナＩＤ２をプリンタ部制御部３２０に通知している。
【００７４】
図７のＳ４２０では、プリンタ部制御部３２０は、管理部５００から許可通知が届いたか否かを判断する。プリンタ部制御部３２０は、許可通知を受信するまで、Ｓ４１０を繰り返す。許可通知を受信した場合（Ｓ４２０：Ｙｅｓ）、Ｓ４３０で、プリンタ部制御部３２０は、プリンタ部制御部３２０に対応付けられた資源（ここでは、プリンタ部１８５）に、Ｓ４００で生成した制御データを供給する。Ｓ４４０では、プリンタ部１８５は、受信した制御データに従って、印刷処理を実行する。図８の例では、プリンタ部制御部３２０によるＳ４３０に続いて印刷が行われる。
【００７５】
プリンタ部１８５による印刷が終了したことに応じて、図７のＳ４４５では、プリンタ部制御部３２０は、管理部５００に、資源の解放を要求する。この解放要求には、ラベルを表す情報は含まれず、Ｓ４２０で取得されたオーナＩＤ（「対象オーナＩＤ」と呼ぶ）を表す情報が含まれる。解放要求に応じて、管理部５００の判断部５１０は、図５（Ｂ）の処理を実行する。ラベルが指定されていない場合（Ｓ３００：Ｎｏ）、Ｓ３２０で、判断部５１０は、対象オーナＩＤによって特定される資源を解放する。具体的には、判断部５１０は、対象オーナＩＤに付与された全ての実行権を削除する。そして、判断部５１０は、確認応答を、要求元（ここでは、プリンタ部制御部３２０）に通知する。Ｓ３２０の処理が終了したことに応じて、図５（Ｂ）の処理は終了する。図７のＳ４５０では、プリンタ部制御部３２０は、管理部５００からの確認応答を受信したことに応じて、終了通知を、指示データの送信元（ここでは、コピーコア部２１４）に供給する。そして、プリンタ部制御部３２０による図７の処理が終了する。
【００７６】
図９の例では、プリンタ部制御部３２０による解放要求（Ｓ４４５）に応じて、管理部５００は、資源を解放し、そして、確認応答を通知している（Ｓ３２０）。プリンタ部制御部３２０は、Ｓ４５０で、終了通知を、コピーアプリケーション２１０に供給している。
【００７７】
図４のＳ１９５では、コピーＵＩ部２１２は、コピーアプリケーション２１０に対応付けられた全ての資源制御部から終了通知を受信したことに応じて、管理部５００に、資源の解放を要求する。この要求には、ラベルを表す情報は含まれず、Ｓ１１０で取得されたオーナＩＤ（「対象オーナＩＤ」と呼ぶ）を表す情報が含まれる。解放要求に応じて、管理部５００の判断部５１０は、図５（Ｂ）の処理を実行する。ラベルが指定されていないので、判断部５１０は、Ｓ３２０で、対象オーナＩＤに付与された全ての実行権を削除し、確認応答を、要求元（ここでは、コピーＵＩ部２１２）に通知する。図４のＳ１９５が終了したことに応じて、図４の処理が終了する。
【００７８】
図９の例では、コピーアプリケーション２１０による解放要求（Ｓ１９５）に応じて、管理部５００は、資源を解放し、確認応答をコピーアプリケーション２１０に通知している。
【００７９】
なお、図４のＳ１６０、Ｓ１７０、Ｓ１９０は、省略される場合がある。Ｓ１６０、Ｓ１７０、Ｓ１９０が省略されるか否かは、予め、アプリケーション毎に決められている。
【００８０】
図１０、図１１は、第２ボタンＢ０２（図３）が指定された場合に進行する処理の別の例を示すシーケンス図である。図１１は、図１０の続きを示している。図８、図９の処理との差異は、図８、図９の処理に、太線で示す処理が追加された点だけである。図１０、図１１中の図８、図９と同じ処理は、図８、図９の例と同じく進行する。以下、追加された処理について説明し、図８、図９と同じ処理の説明を省略する。
【００８１】
図１０の例では、スキャナ部１８０による処理の実行権と、画像データ処理部１８６による処理の実行権とが、コピーアプリケーション２１０（オーナＩＤ１）に付与されている状態で、パーソナルコンピュータ９００が、ユーザの指示に応じて、ＰＣスキャンの開始要求を、複合機１００に送信している（Ｓ９００）。この要求に応じて、ＰＣスキャンアプリケーション２２０のＵＩ部２２２（「ＰＣスキャンＵＩ部２２２」とも呼ぶ）が起動する。そして、ＰＣスキャンＵＩ部２２２は、図４のフローチャートに従って、処理を実行する。なお、ＰＣスキャンＵＩ部２２２は、パーソナルコンピュータ９００からの要求を通じてユーザによる指定を受け付けている、ということができる。
【００８２】
図４のＳ１００では、ＰＣスキャンＵＩ部２２２は、管理部５００に、処理の実行が許可されるか否かを問い合わせる。この問い合わせには、ＰＣスキャンＵＩ部２２２に予め対応付けられた「ScanApp_PullScan」というラベルを表す情報が含まれる。管理部５００の判断部５１０は、問い合わせに応じて、図５（Ａ）の処理を実行する。Ｓ２００では、対象ラベルに対応付けられた「MUST」の資源として「SCAN」と「ASIC_IMG」とが特定される。図１０の例では、これらの資源の処理の実行権は、オーナＩＤ１に付与されている。従って、Ｓ２１０の判断結果は、「Ｙｅｓ」である。判断部５１０は、Ｓ２４０で、処理の実行を許可しないと判断し、判断結果を問い合わせ元（ここでは、ＰＣスキャンＵＩ部２２２）に通知する。
【００８３】
図４のＳ１１０では、ＰＣスキャンＵＩ部２２２は、処理の実行が許可されなかったと判断し（Ｓ１１０：Ｎｏ）、図４の処理を終了する。この際、ＰＣスキャンＵＩ部２２２は、ビジー状態の通知を、パーソナルコンピュータ９００に送信する。図１０には、Ｓ９００、Ｓ１００、Ｓ２４０、Ｓ１１０の処理が示されている。
【００８４】
図１１に示すように、パーソナルコンピュータ９００は、別のタイミングで、再び、ユーザの指示に応じて、ＰＣスキャンの開始要求を、複合機１００に送信している（Ｓ９１０）。ＰＣスキャンＵＩ部２２２は、パーソナルコンピュータ９００からの要求に応じて、図４の処理を実行する。Ｓ１００では、ＰＣスキャンＵＩ部２２２は、管理部５００に、処理の実行が許可されるか否かを問い合わせる。この段階では、図１０のコピーアプリケーション２１０による解放要求（Ｓ１９０）によって、「SCAN」と「ASIC_IMG」とが解放済である。管理部５００の判断部５１０は、処理の実行を許可すると判断する（図５（Ａ）、Ｓ２１０：Ｎｏ、Ｓ２３０：Ｎｏ）。判断部５１０は、Ｓ２５０で、「SCAN」と「ASIC_IMG」との実行権を新たなオーナＩＤに付与し、処理の実行を許可することと、新たなオーナＩＤとを、問い合わせ元であるＰＣスキャンＵＩ部２２２に通知する。図１１の例では、管理部５００は、ＰＣスキャンアプリケーション２２０の問い合わせ（Ｓ１００）に応じて、新たなオーナＩＤ３を通知している（Ｓ２５０）。
【００８５】
ＰＣスキャンＵＩ部２２２は、図４のＳ１１０〜Ｓ１４０の処理を実行する。Ｓ１２０では、パーソナルコンピュータ９００から、スキャンの設定情報を取得する。設定情報は、例えば、用紙サイズを含んでいる。ＰＣスキャンアプリケーション２２０のＰＣスキャンコア部２２４は、図４のＳ１５０、Ｓ１８０を実行する。ＰＣスキャンアプリケーション２２０が図４の処理を実行する場合には、Ｓ１６０、Ｓ１７０、Ｓ１９０は省略される。スキャナ部制御部３１０とデータ処理部制御部３３０とは、ＰＣスキャンコア部２２４からの指示データ（Ｓ１８０）に応じて、図７の処理を実行する。スキャナ部制御部３１０とデータ処理部制御部３３０とは、処理が終了したことに応じて、終了通知をＰＣスキャンアプリケーション２２０に供給する（Ｓ４５０）。以上により、スキャンデータが生成される。図１１には、Ｓ１８０、Ｓ４３０、Ｓ４５０が示されている（データ処理部制御部３３０の処理の図示は省略されている）
【００８６】
ＰＣスキャンＵＩ部２２２は、スキャナ部制御部３１０とデータ処理部制御部３３０とからの終了通知に応じて、管理部５００に、資源の解放を要求する（図４：Ｓ１９５）。管理部５００の判断部５１０は、対象オーナＩＤに付与された全ての実行権を削除し、確認応答を、要求元（ここでは、ＰＣスキャンＵＩ部２２２）に通知する（図５（Ｂ）、Ｓ３２０）。図１１の例では、Ｓ１９５、Ｓ３２０によって、オーナＩＤ３に付与された全ての実行権が、削除される。また、図４では図示が省略されているが、ＰＣスキャンＵＩ部２２２は、スキャンデータの生成が終了したことに応じて、スキャンデータをデータ処理部制御部３３０から取得し、取得したスキャンデータをパーソナルコンピュータ９００に送信する（図１１：Ｓ９３０）。また、ＰＣスキャンＵＩ部２２２は、Ｓ９３０で、全ての処理が終了したことを、パーソナルコンピュータ９００に通知する。
【００８７】
図１０、図１１の例に示すように、スキャナ部１８０の処理と画像データ処理部１８６の処理とは、１つのアプリケーション（例えば、コピーアプリケーション２１０）に許可されている場合には、他のアプリケーション（例えば、ＰＣスキャンアプリケーション２２０）には許可されない。このように、各資源の処理は、１つのアプリケーションに対して排他的に許可される。従って、複数のアプリケーションが同じ資源の処理を同時に使用することに起因して処理に不具合が生じることが、抑制される。
【００８８】
以上のように、本実施例では、複数の資源制御部３１０〜３５０が、複数の資源１８０、１８５、１８６、１８７、１３０にそれぞれ対応しているので、１つの制御部が複数の資源に対応する場合と比べて、各資源制御部３１０〜３５０の構成を簡素化できる。また、１つの管理部５００が、複数のアプリケーションによって共通に使用され、そして、複数の資源のそれぞれの処理の排他的な許可を行うので、適切な排他制御を容易に実現できる。以上により、複数の資源のそれぞれの処理の実行と排他制御とを行うための構成を、簡素化できる。
【００８９】
また、図５（Ａ）で説明したように、管理部５００の判断部５１０は、指定アプリケーションに対応付けられた１以上の「MUST」の資源のそれぞれの処理が他のアプリケーションのために許可されているか否かを判断する（Ｓ２１０）。そして、１以上の「MUST」の資源（「第１種資源」とも呼ぶ）による全ての処理が他のアプリケーションのために許可されていないことを含む実行条件が満たされる場合に（Ｓ２１０：Ｎｏ、かつ、Ｓ２３０：Ｎｏ）、判断部５１０は、１以上の第１種資源による全ての処理を、他のアプリケーションのために許可することを禁止し、指定アプリケーションのために許可する。従って、指定アプリケーションの指示に応じて１以上の第１種資源が処理を実行する場合に、管理部５００は、適切に、資源の処理を許可できる。例えば、管理部５００は、１つの資源の処理を２つのアプリケーションに誤って同時に許可することを防止できる。
【００９０】
また、図１、図５、図６で説明したように、不揮発性記憶装置１３０には、機能ラベルと資源の属性との対応関係を表す管理データベース１３８が格納されている。機能ラベルは、機能を示す情報である。各アプリケーションには、予め、１以上の機能ラベルが対応付けられている。例えば、コピーアプリケーション２１０には、コピーＵＩ部２１２の「CopyApp_Copy」と、コピーコア部２１４の「CopyApp_Scan_Portion」との２つの機能ラベルが対応付けられている。ＰＣスキャンアプリケーション２２０には、１つの機能ラベル「ScanApp_PullScan」が対応付けられている。資源の属性（取得属性）は、第１種資源に対応する「MUST」を含む複数の属性から選択される。管理部５００は、このような管理データベース１３８を参照して、機能ラベルに対応付けられた第１種資源を、適切に特定できる。従って、管理部５００は、適切に、資源の処理を許可できる。
【００９１】
また、管理データベース１３８によって表される資源の属性（取得属性）は、「CHK_FREE」を含む複数の属性から選択される（以下、「CHK_FREE」の資源を「第２種資源」とも呼ぶ）。第２種資源は、指定アプリケーションからの指示に応じて処理を実行する資源とは異なる資源である。図５（Ａ）で説明したように、処理の実行が許可されるための条件は、機能ラベルに対応付けられた第２種資源による全ての処理が、他のアプリケーションのために許可されていないことを含んでいる（Ｓ２３０：Ｎｏ）。従って、第２種資源が、指定アプリケーションからの指示に応じて実行される処理に影響を及ぼす場合に、管理部５００は、適切に、資源の処理を許可できる。例えば、競合する２つの資源が、同時に処理を実行することが、抑制される。
【００９２】
また、図４、図７、図８で説明したように、コピーアプリケーション２１０からの指示に応じて、スキャナ部制御部３１０とプリンタ部制御部３２０とは、スキャナ部１８０とプリンタ部１８５とに処理を実行させる。まず、スキャナ部１８０がスキャンデータを生成し、次に、プリンタ部１８５が、スキャンデータを用いて画像を印刷する。ここで、プリンタ部１８５の処理が許可されるタイミング（図７：Ｓ４１０、Ｓ４２０）は、スキャナ部１８０の処理が許可されるタイミング（図４：Ｓ１６０、Ｓ１７０）よりも、遅い。従って、仮に他のアプリケーションがプリンタ部１８５を使用している場合であっても、スキャナ部１８０の処理が許可されることによって、コピーに含まれるスキャンと印刷とのうちのスキャンを先に進行できる。この結果、コピーが開始されるまでの待ち時間が長くなることを抑制できる。このように、複数の資源のそれぞれの処理が許可されるタイミングが、少なくとも２つの資源の間で異なる場合には、一部の資源の処理を先に進行させることができるので、待ち時間を短縮できる。
【００９３】
また、図３（Ａ）、図４で説明したように、アプリケーションのＵＩ部は、ユーザからアプリケーションが指定された場合に、起動する。このように、ＵＩ部は、ユーザからのアプリケーションの指定を受け付ける。そして、ＵＩ部は、管理部５００によって許可された場合に（図４、Ｓ１１０：Ｙｅｓ）、アプリケーションに対応付けられた処理の実行に必要な設定情報を取得する（図４：Ｓ１２０）。コア部は、ＵＩ部から取得した設定情報に従って、資源制御部に指示を出力する（図４：Ｓ１８０）。このように、アプリケーションがＵＩ部とコア部とを含むので、アプリケーションによって実行される処理の自由度を向上できる。例えば、コピーＵＩ部２１２の問い合わせ結果が「許可」である場合には、コピーコア部２１４の問い合わせ結果が「許可」であるための条件が満たされるよりも先に、コピーＵＩ部２１２が処理を開始できる。
【００９４】
また、図４、図７、図８で説明したように、スキャナ部１８０による処理の実行が許可されるか否かは、アプリケーションによって確認される。プリンタ部１８５による処理の実行が許可されるか否かは、プリンタ部制御部３２０によって確認される。このように、アプリケーションによる確認と資源制御部による確認とを用いることによって、処理の自由度を向上できる。例えば、プリンタ部制御部３２０は、プリンタ部１８５の処理が許可されるか否かを、自分で確認できる。従って、プリンタ部制御部３２０は、バッファメモリ（例えば、不揮発性記憶装置１３０）に１以上の未処理の印刷ジョブの情報を保持し、プリンタ部１８５の処理が許可される毎に、１つの印刷ジョブを実行してもよい。
【００９５】
また、図２に示すように、管理部５００は、複数のアプリケーションによって共通に使用される１つの判断部５１０を備えている。この１つの判断部５１０が資源の処理を許可するか否かを判断するので、管理部５００は、適切に、資源の処理を許可できる。例えば、管理部５００は、１つの資源の処理を２つのアプリケーションに誤って同時に許可することを防止できる。
【００９６】
Ａ３．更新部４００による処理について：
図１２は、更新部４００による処理の例を示すフローチャートである。更新部４００は、ユーザの指示に応じて起動し、図１２の処理を実行する。Ｓ５００では、更新部４００は、ユーザによって指定された提供装置から、新しいアプリケーションプログラムを取得する。提供装置としては、任意の装置を指定可能である。例えば、ユーザは、ネットワークＬＮＴに接続された図示しないサーバを指定してもよい。また、ユーザは、複合機１００の図示しない装置インタフェース（例えば、ＵＳＢインタフェース）に接続された記憶装置を指定してもよい。
【００９７】
Ｓ５１０では、更新部４００は、新しいアプリケーションプログラムを、不揮発性記憶装置１３０に格納する。Ｓ５２０では、更新部４００は、新しいアプリケーションプログラムに対応する旧プログラムを、不揮発性記憶装置１３０から削除する。そして、図１２の処理が終了する。
【００９８】
新しいアプリケーションプログラムは、管理部５００に問い合わせを行う場合に、対応する旧プログラムと同じ機能ラベルを用いるように構成されている。従って、管理部５００は、管理データベース１３８（図６）に従って、旧アプリケーションからの指示に対応する１以上の資源のそれぞれの処理を許可するための条件を、新アプリケーションからの指示に対応する１以上の資源のそれぞれの処理に適用する。この結果、アプリケーションプログラムの更新が容易である。例えば、管理データベース１３８の更新が不要である。
【００９９】
Ｂ．第２実施例：
図１３は、管理データベースの別の実施例を示す説明図である。図６に示す管理データベース１３８との差異は、画像データ処理部１８６を示す「ASIC_IMG」が省略されている点だけである。この管理データベース１３８ａは、画像データ処理部１８６とデータ処理部制御部３３０とが省略された機種に適用される。この機種では、スキャナ部制御部３１０（図２）が、画像データ処理部１８６の代わりに、スキャンデータの色調補正を行う。
【０１００】
機能ラベルは、管理データベース１３８ａ（図１３）と管理データベース１３８（図６）との間で共通である。機能ラベルに対応付けられる第１種資源（「MUST」の資源）の少なくとも一部は、管理データベース１３８ａ（図１３）と管理データベース１３８（図６）との間で異なっている。このように、複数の機種の間で第１種資源の少なくとも一部が異なる場合に、各機種の管理部５００は、共通の機能ラベルを用いて表された管理データベース１３８、１３８ａを参照することによって、適切に第１種資源を特定できる。従って、各機種の管理部５００は、適切に、資源の処理を許可できる。また、管理データベースの機種依存性を小さくできるので、複数の機種のそれぞれのための管理データベースを準備する負担を軽減できる。
【０１０１】
Ｃ．変形例：
（１）アプリケーションと第１種資源との対応関係を表す情報としては、機能ラベルと資源との対応関係を表すテーブル（図６、図１３）に代えて、他の任意の情報を採用可能である。例えば、機能ラベルを用いずに、アプリケーションと資源との対応関係を表すテーブルを採用してもよい。また、「CAND」が省略されてもよい。この場合、「CAND」は、「NONE」に置換される。また、同じアプリケーションに対応付けられた機能ラベルが、複合機１００の機種に応じて異なっていてもよい。
【０１０２】
（２）資源による処理の実行を許可するための実行条件としては、図５で説明した条件に変えて、他の種々の条件を採用可能である。例えば、図５のフローチャートにおいて、Ｓ２２０、Ｓ２３０が省略されてもよい。この場合、実行条件は、Ｓ２１０の判断結果がＮｏであることである。管理データベース１３８、１３８ａからは、「CHK_FREE」の属性が省略される。
【０１０３】
また、図６、図１３の実施例では、実行条件は、ハードウェア資源の排他性に加えて、アプリケーション（ソフトウェア資源）の排他性も、含んでいる。これに代えて、実行条件から、アプリケーションの排他性が省略されてもよい。例えば、図６、図１３の管理データベース１３８、１３８ａから、アプリケーションの資源に関する情報が省略されてもよい。
【０１０４】
（３）上記実施例では、図４のＳ１００、Ｓ１１０、Ｓ１６０、Ｓ１７０、図７のＳ４１０、Ｓ４２０に示すように、複数の資源の間で、資源の処理の実行が許可されるタイミングが異なっている。これに代えて、指定アプリケーションに対応付けられた１以上の資源のそれぞれの処理の実行が許可されるタイミングが、同じであってもよい。例えば、アプリケーションは、図４のＳ１００、Ｓ１１０で、全ての資源の処理の実行権を取得してもよい。また、アプリケーションは、Ｓ１６０、Ｓ１７０で、全ての資源の処理の実行権を取得してもよい。
【０１０５】
（４）１つのアプリケーションは、ＵＩ部とコア部とに分割されずに、１つの処理部として処理を実行してもよい。例えば、図４の複数の処理のうち、Ｓ１４０、Ｓ１９０が省略され、アプリケーションが、残りの全ての処理を実行してもよい。さらに、Ｓ１６０、Ｓ１７０が省略されてもよい。
【０１０６】
（５）上記実施例では、図４のＳ１００、Ｓ１１０、Ｓ１６０、Ｓ１７０、図７のＳ４１０、Ｓ４２０に示すように、アプリケーションと資源制御部とが、資源による処理の実行が許可されるか否かを確認している。これに代えて、資源制御部は確認せず、アプリケーションが、資源による処理の実行が許可されるか否かを確認してもよい。また、アプリケーションは確認せず、資源制御部が、資源による処理の実行が許可されるか否かを確認してもよい。
【０１０７】
（６）管理部５００から判断部５１０が省略されてもよい。この場合、アプリケーションと資源制御部とが、共通の管理部（ここでは、管理データベース１３８、１３８ａ）を参照して、資源による処理の実行が許可されるか否かを判断すればよい。
【０１０８】
（７）図１２の実施例において、更新前のアプリケーションに対応付けられた資源の処理を許可するための条件を、新しいアプリケーションに対応付けられた資源の処理に適用するための構成としては、新しいアプリケーションが更新前のアプリケーションと同じ機能ラベルを用いるという構成に代えて、他の任意の構成を採用可能である。例えば、更新部４００は、アプリケーションを更新する場合に、新しいアプリケーションに同じ条件が適用されるように、管理データベース１３８、１３８ａに、新しいアプリケーションに関する情報を登録してもよい。なお、更新部４００を省略してもよい。
【０１０９】
（８）複合機１００の構成としては，図１に示す構成に代えて、他の種々の構成を採用可能である。例えば、複合機１００に設けられるハードウェア資源としては、ハードウェア資源１８０、１８５、１８６、１８７、１３０の組み合わせに代えて、他の種々の組み合わせを採用可能である。例えば、モデム１８７と画像データ処理部１８６との少なくとも一方が省略されてもよい。また、スキャナ部１８０とプリンタ部１８５とのいずれか一方が省略されてもよい。また、複合機の複数の機種の間で複数のハードウェア資源の少なくとも一部が互いに異なる場合、例えば、特定のハードウェア資源は、第１機種に設けられ、第２機種からは省略される。このように、複数の機種の間で異なるハードウェア資源、すなわち、複数の機種のうち一部の機種に設けられるハードウェア資源としては、画像データ処理部１８６に代えて、他の任意のハードウェア資源を採用可能である。いずれの場合も、複合機１００に設けられるハードウェア資源としては、スキャナ部（例えば、スキャナ部１８０（図１））とプリンタ部（例えば、プリンタ部１８５（図１））との少なくとも一方を含む複数のハードウェア資源を採用することが好ましい。
【０１１０】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の資源制御部３１０〜３５０の少なくとも１つを、専用のハードウェア回路によって実現してもよい。
【０１１１】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【０１１２】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１１３】
１００...複合機、１１０...プロセッサ、１２０...揮発性記憶装置、１３０...不揮発性記憶装置、１３１...ホーム画面プログラム、１３２、１３２ａ〜１３２ｃ...アプリケーションプログラム、１３４、１３４ａ〜１３４ｃ...制御プログラム、１３６...更新プログラム、１３７...管理プログラム、１３８...管理データベース、１４０...表示部、１５０...操作部、１７０...通信インタフェース、１８０...スキャナ部、１８５...プリンタ部、１８６...画像データ処理部、１８７...モデム、２１０...コピーアプリケーション、２１２...ユーザインターフェース部、２１４...コピーコア部、３００...制御部、３１０...スキャナ部制御部、３２０...プリンタ部制御部、３３０...データ処理部制御部、３４０...モデム制御部、３５０...記憶装置制御部、４００...更新部、５００...管理部、５１０...判断部、６００...ホーム画面処理部、８００...点線、９００...パーソナルコンピュータ、１０００...画像処理システム、Ｄ１...ホーム画面、Ｄ２...設定画面、Ｆ１、Ｆ２...入力フィールド、Ｂｓ...スタートボタン、Ｂ０１...第１ボタン、Ｂ０２...第２ボタン、Ｂ０３...第３ボタン、ＬＮＴ...ネットワーク、
【図１】
0006515689.tif 000002
【図２】
0006515689.tif 000003
【図３】
0006515689.tif 000004
【図４】
0006515689.tif 000005
【図５】
0006515689.tif 000006
【図６】
0006515689.tif 000007
【図７】
0006515689.tif 000008
【図８】
0006515689.tif 000009
【図９】
0006515689.tif 000010
【図１０】
0006515689.tif 000011
【図１１】
0006515689.tif 000012
【図１２】
0006515689.tif 000013
【図１３】
0006515689.tif 000014