(57)【特許請求の範囲】
【請求項１】
１又は複数のデバイスが接続される情報処理装置であって、
前記デバイスを利用する処理の要求を受け付ける受付手段と、
前記デバイスに対する電力供給の開始を制御する供給制御手段と、
前記受付手段が受け付けた前記処理の要求に基づき、前記処理を実行するときに利用する利用デバイスドライバを特定するドライバ特定手段と、
前記ドライバ特定手段が特定した前記利用デバイスドライバの起動を制御する起動制御手段と、
前記ドライバ特定手段が特定した前記利用デバイスドライバの起動を許可するか否かを判定する起動許可判定手段とを有し、
前記起動許可判定手段は、
前記ドライバ特定手段が特定した前記利用デバイスドライバの現在の利用数と、該利用デバイスドライバに対して設定された機能提供を行う機能提供ソフトウェアからの最大利用許可数と、を比較し、現在の利用数が最大利用可能数を超えた場合に、前記利用デバイスドライバとは異なる代替ドライバに切り替え、
前記供給制御手段は、
前記受付手段が受け付けた前記処理の要求に基づき特定された、前記処理を実行するときに利用する前記代替ドライバが対応する利用デバイスに対して、電力供給を開始することを特徴とする情報処理装置。
【請求項２】
前記起動許可判定手段によって現在の利用数が最大利用可能数を超えたと判定された場合に、起動制御対象とする前記代替ドライバが存在するか否かを判定し、
前記代替ドライバが存在しない場合には、前記機能提供が行われると、前記最大利用許可数を超過による利用不許可の結果が通知されるエラー処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ドライバ特定手段は、
前記機能提供ソフトウェアの識別子と前記利用デバイスの識別子とが対応付けられたデバイス対応情報に基づき、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアが、前記処理を実行するときに利用する前記利用デバイスを特定し、
前記利用デバイスの識別子と該利用デバイスに対応する前記利用デバイスドライバの識別子とが対応付けられたドライバ対応情報に基づき、特定した前記利用デバイスに対応する前記利用デバイスドライバを特定し、
前記起動制御手段に対し、特定した前記利用デバイスドライバの起動を要求し、
前記供給制御手段に対し、起動した前記利用デバイスドライバが対応する前記利用デバイスに対する電力供給の開始を要求することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記ドライバ特定手段は、
前記デバイス対応情報に基づき特定した前記利用デバイスが、当該情報処理装置に接続されているか否かを判定し、
接続されていると判定した前記利用デバイスの識別子に基づき、前記ドライバ対応情報を参照し、特定した前記利用デバイスドライバが、当該情報処理装置にインストールされているか否かを判定し、
前記起動制御手段に対し、インストールされていると判定した前記利用デバイスドライバの起動を要求することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ドライバ特定手段は、
前記起動許可判定手段が起動を許可すると判定した場合に、前記起動制御手段に対し、前記利用デバイスドライバの起動を要求することを特徴とする請求項１ないし４のいずれか一項に記載の情報処理装置。
【請求項６】
前記起動許可判定手段は、
前記ドライバ特定手段が特定した前記利用デバイスドライバの現在の利用数と、該利用デバイスドライバに対して設定された前記機能提供ソフトウェアからの最大利用許可数と、を比較し、現在の利用数が最大利用可能数より小さい場合に、前記利用デバイスドライバの起動を許可し、
前記ドライバ特定手段は、
前記起動許可判定手段が起動を許可すると判定した前記利用デバイスドライバが起動されているか否かを判定し、
前記起動制御手段に対し、起動されていないと判定した前記利用デバイスドライバの起動を要求することを特徴とする請求項１ないし５のいずれか一項に記載の情報処理装置。
【請求項７】
前記ドライバ特定手段が特定した前記利用デバイスドライバの終了を制御する終了制御手段を有し、
前記ドライバ特定手段は、
前記受付手段が受け付けた前記処理の終了に基づき、前記処理を実行するときに利用した利用デバイスドライバを特定し、
前記供給制御手段は、
前記起動制御手段が終了した前記利用デバイスドライバが対応する前記利用デバイスに対して、電力供給を停止することを特徴とする請求項１ないし６のいずれか一項に記載の情報処理装置。
【請求項８】
前記ドライバ特定手段が特定した前記利用デバイスドライバの終了を許可するか否かを判定する終了許可判定手段を有し、
前記ドライバ特定手段は、
前記終了許可判定手段が終了を許可すると判定した場合に、前記起動制御手段に対し、前記利用デバイスドライバの終了を要求することを特徴とする請求項３に記載の情報処理装置。
【請求項９】
前記終了許可判定手段は、
前記利用デバイスドライバの識別子と該利用デバイスドライバの現在の利用数とが対応付けられたドライバ状態情報に基づき、前記ドライバ特定手段が特定した前記利用デバイスドライバが、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアと異なる機能提供ソフトウェアから利用されていないか否かを判定し、利用されていないと判定した場合に、前記利用デバイスドライバの終了を許可し、
前記ドライバ特定手段は、
前記起動制御手段に対し、前記終了許可判定手段が許可した前記利用デバイスドライバの終了を要求することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記受付手段が受け付けた前記処理の要求に基づき、前記処理を実行するときに利用する利用デバイスを特定し、前記利用デバイスの利用状態に基づき、電力供給を開始するか否かを判定する供給判定手段を有し、
前記供給制御手段は、
前記供給判定手段による判定結果に基づき、前記利用デバイスに対して、電力供給を開始することを特徴とする請求項３に記載の情報処理装置。
【請求項１１】
前記供給判定手段は、
機能提供を行う機能提供ソフトウェアの識別子と前記利用デバイスの識別子とが対応付けられたデバイス対応情報に基づき、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアが、前記処理を実行するときに利用する前記利用デバイスを特定し、
前記利用デバイスの識別子と該利用デバイスの利用状態値とが対応付けられたデバイス状態情報に基づき、前記利用デバイスのうち、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアと異なる機能提供ソフトウェアから利用されていない利用デバイスに対して、電力供給を開始すると判定し、
前記供給制御手段に対し、電力供給の開始を要求することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記処理を実行するときに前記利用デバイスの利用を許可するか否かを判定する利用許可判定手段を有し、
前記供給判定手段は、
前記利用許可判定手段がデバイス利用を許可すると判定した場合に、前記利用デバイスに対して、電力供給を開始すると判定することを特徴とする請求項１０又は１１に記載の情報処理装置。
【請求項１３】
複数の前記機能提供ソフトウェアのデバイス利用に対する排他制御により同一デバイスが利用可能か否かを判定する排他制御判定手段を有し、
前記排他制御判定手段は、
複数の前記機能提供ソフトウェアに対して、排他制御を行うデバイスの現在の利用数と、該デバイスに対して設定された前記機能提供ソフトウェアからの最大利用可能数と、を比較し、現在の利用数が最大利用可能数より小さい場合に、デバイス利用が可能であると判定し、
前記利用許可判定手段は、
前記排他制御判定手段がデバイス利用可能と判定した場合に、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアに対して、デバイス利用を許可すると判定することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアに対して、利用者が前記処理の要求を行う権限を有しているか否かを判定する利用権限判定手段を有し、
前記利用権限判定手段は、
利用者情報に前記処理の要求を行う権限が設定されていた場合に、利用者が前記処理の要求を行う権限を有していると判定し、
前記利用許可判定手段は、
前記利用権限判定手段が要求権限を有していると判定した場合に、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアに対して、デバイス利用を許可すると判定することを特徴とする請求項１２又は１３に記載の情報処理装置。
【請求項１５】
前記機能提供ソフトウェアによるデバイス利用開始時間が所定時間内か否かを判定する利用開始時間判定手段を有し、
前記利用開始時間判定手段は、
前記デバイス利用開始時間として取得した現在時間が、前記利用デバイスに対して設定された利用許可開始時間から利用許可終了時間の範囲内であった場合に、前記デバイス利用開始時間が所定時間内であると判定し、
前記利用許可判定手段は、
前記利用開始時間判定手段が所定時間内であると判定した場合に、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアに対して、デバイス利用を許可すると判定することを特徴とする請求項１２ないし１４のいずれか一項に記載の情報処理装置。
【請求項１６】
前記機能提供ソフトウェアからの利用に応じたデバイス累積利用時間が所定時間内か否かを判定する累積利用時間判定手段を有し、
前記累積利用時間判定手段は、
前記機能提供ソフトウェアからの利用に応じて記録された累積利用時間が、前記利用デバイスに対して設定された累積利用許可時間内であった場合に、前記デバイス累積利用時間が所定時間内であると判定し、
前記利用許可判定手段は、
前記累積利用時間判定手段が所定時間内であると判定した場合に、前記受付手段が受け付けた前記処理を実行する機能提供ソフトウェアに対して、デバイス利用を許可すると判定することを特徴とする請求項１２ないし１５のいずれか一項に記載の情報処理装置。
【請求項１７】
請求項１ないし１６のいずれか一項に記載の情報処理装置が、所定の画像処理機能を有する装置であることを特徴とする情報処理装置。
【請求項１８】
１又は複数のデバイスが接続される情報処理装置における電源管理方法であって、
前記デバイスを利用する処理の要求を受け付ける受付手順と、
前記デバイスに対する電力供給の開始を制御する供給制御手順と、
前記受付手順で受け付けた前記処理の要求に基づき、前記処理を実行するときに利用する利用デバイスドライバを特定するドライバ特定手順と、
前記ドライバ特定手順で特定した前記利用デバイスドライバの起動を制御する起動制御手順と、
前記ドライバ特定手順で特定した前記利用デバイスドライバの起動を許可するか否かを判定する起動許可判定手順とを有し、
前記起動許可判定手順により、
前記ドライバ特定手順で特定した前記利用デバイスドライバの現在の利用数と、該利用デバイスドライバに対して設定された機能提供を行う機能提供ソフトウェアからの最大利用許可数と、を比較し、現在の利用数が最大利用可能数を超えた場合に、前記利用デバイスドライバとは異なる代替ドライバに切り替え、
前記供給制御手順により、
前記受付手順で受け付けた前記処理の要求に基づき特定された、前記処理を実行するときに利用する前記代替ドライバが対応する利用デバイスに対して、電力供給を開始することを特徴とする電源管理方法。
【請求項１９】
１又は複数のデバイスが接続される情報処理装置における電源管理プログラムであって、
コンピュータを、
前記デバイスを利用する処理の要求を受け付ける受付手段と、
前記デバイスに対する電力供給の開始を制御する供給制御手段と、
前記受付手段が受け付けた前記処理の要求に基づき、前記処理を実行するときに利用する利用デバイスドライバを特定するドライバ特定手段と、
前記ドライバ特定手段が特定した前記利用デバイスドライバの起動を制御する起動制御手段と、
前記ドライバ特定手段が特定した前記利用デバイスドライバの起動を許可するか否かを判定する起動許可判定手段として機能させ、
前記起動許可判定手段が、
前記ドライバ特定手段が特定した前記利用デバイスドライバの現在の利用数と、該利用デバイスドライバに対して設定された機能提供を行う機能提供ソフトウェアからの最大利用許可数と、を比較し、現在の利用数が最大利用可能数を超えた場合に、前記利用デバイスドライバとは異なる代替ドライバに切り替え、
前記供給制御手段が、
前記受付手段で受け付けた前記処理の要求に基づき特定された、前記処理を実行するときに利用する前記代替ドライバが対応する利用デバイスに対して、電力供給を開始するように動作させる電源管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の電源管理を行う技術に関するものである。
【背景技術】
【０００２】
近年、オフィス環境を含む電子機器を使用する環境での省電力化への意識が高まっている。そこで、省電力化を実現する電子機器の電力制御に係る技術が提案されている。
【０００３】
例えば、特許文献１には、自らが判断した時間の間、省エネモードを維持する画像形成装置に係る技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の電源管理では、電子機器が省エネモードから復帰した際に、不必要に電力を消費してしまう。
【０００５】
電子機器は、複数のデバイスで構成されている。このような電子機器において、省電力化を実現するためには、電源管理において、デバイスに対する電力供給を停止し、省エネモードに移行する方法がとられている。しかし、従来の電源管理では、利用者から処理要求を受け付けて、電子機器が省エネモードから復帰した際に、受け付けた処理要求を実行する上で不要なデバイスにまで電力供給が開始される。そのため、余分な電力を消費することになる。
【０００６】
このように、効率的な省電力化実現の観点から、電源管理では、利用者の処理要求を実行するために利用するデバイスに対して、電力供給の開始・停止を制御することが望ましい。
【０００７】
本発明は上記従来技術の問題点を鑑み提案されたものであり、効率的な省電力化を実現できる情報処理装置、電源管理方法、及び電源管理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る情報処理装置は、１又は複数のデバイスが接続される情報処理装置であって、前記デバイスを利用する処理の要求を受け付ける受付手段と、前記デバイスに対する電力供給の開始を制御する供給制御手段と、前記受付手段が受け付けた前記処理の要求に基づき、前記処理を実行するときに利用する利用デバイスドライバを特定するドライバ特定手段と、前記ドライバ特定手段が特定した前記利用デバイスドライバの起動を制御する起動制御手段と、前記ドライバ特定手段が特定した前記利用デバイスドライバの起動を許可するか否かを判定する起動許可判定手段とを有し、前記起動許可判定手段は、  前記ドライバ特定手段が特定した前記利用デバイスドライバの現在の利用数と、該利用デバイスドライバに対して設定された機能提供を行う機能提供ソフトウェアからの最大利用許可数と、を比較し、現在の利用数が最大利用可能数を超えた場合に、前記利用デバイスドライバとは異なる代替ドライバに切り替え、前記供給制御手段は、前記受付手段が受け付けた前記処理の要求に基づき特定された、前記処理を実行するときに利用する前記代替ドライバが対応する利用デバイスに対して、電力供給を開始することを特徴とする。
【０００９】
上記目的を達成するため、本発明に係る電源管理方法は、１又は複数のデバイスが接続される情報処理装置における電源管理方法であって、前記デバイスを利用する処理の要求を受け付ける受付手順と、前記デバイスに対する電力供給の開始を制御する供給制御手順と、前記受付手順で受け付けた前記処理の要求に基づき、前記処理を実行するときに利用する利用デバイスドライバを特定するドライバ特定手順と、前記ドライバ特定手順で特定した前記利用デバイスドライバの起動を制御する起動制御手順と、前記ドライバ特定手順で特定した前記利用デバイスドライバの起動を許可するか否かを判定する起動許可判定手順とを有し、前記起動許可判定手順により、前記ドライバ特定手段が特定した前記利用デバイスドライバの現在の利用数と、該利用デバイスドライバに対して設定された機能提供を行う機能提供ソフトウェアからの最大利用許可数と、を比較し、現在の利用数が最大利用可能数を超えた場合に、前記利用デバイスドライバとは異なる代替ドライバに切り替え、前記供給制御手順により、前記受付手順で受け付けた前記処理の要求に基づき特定された、前記処理を実行するときに利用する前記代替ドライバが対応する利用デバイスに対して、電力供給を開始することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、効率的な省電力化を実現できる情報処理装置、電源管理方法、及び電源管理プログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図２】本発明の第１の実施形態に係る情報処理装置のソフトウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係る電源管理の機能構成例を示す図である。
【図４】本発明の第１の実施形態に係るデバイス対応情報のデータ例を示す図である。
【図５】本発明の第１の実施形態に係るデバイス状態情報のデータ例を示す図である。
【図６】本発明の第１の実施形態に係る電源管理の処理手順例を示すシーケンス図である。
【図７】本発明の第１の実施形態に係る電力供給判定の処理手順例を示すフローチャートである。
【図８】本発明の第２に実施形態に係る電源管理の機能構例を示す図である。
【図９】本発明の第２の実施形態に係るデバイス対応情報のデータ例を示す図である。
【図１０】本発明の第２の実施形態に係るデバイス状態情報のデータ例を示す図である。
【図１１】本発明の第２の実施形態に係る利用時間情報のデータ例を示す図である。
【図１２】本発明の第２の実施形態に係る累積利用時間情報のデータ例を示す図である。
【図１３】本発明の第２の実施形態に係る電力供給判定の処理手順例を示すフローチャートである。
【図１４】本発明の第２の実施形態に係るデバイス対応情報のデータ例を示す図である。
【図１５】本発明の第２の実施形態に係る電源管理の処理手順例（排他制御例１）を示すシーケンス図である。
【図１６】本発明の第２の実施形態に係るデバイス状態情報のデータ遷移例を示す図である。
【図１７】本発明の第２の実施形態に係るデバイス対応情報のデータ例を示す図である。
【図１８】本発明の第２の実施形態に係る電源管理の処理手順例（排他制御例２）を示すシーケンス図である。
【図１９】本発明の第２の実施形態に係るデバイス状態情報のデータ遷移例を示す図である。
【図２０】本発明の変形例に係る電源管理システムの構成例を示す図である。
【図２１】画像処理装置のハードウェア構成例を示す図である。
【図２２】本発明の第３の実施形態に係る情報処理装置のソフトウェア構成例を示す図である。
【図２３】本発明の第３の実施形態に係る電源管理の機能構成例を示す図である。
【図２４】本発明の第３の実施形態に係るデバイス対応情報のデータ例を示す図である。
【図２５】本発明の第３の実施形態に係るドライバ対応情報のデータ例を示す図である。
【図２６】本発明の第３の実施形態に係る電源管理の処理手順例（電力供給開始時）を示すシーケンス図である。
【図２７】本発明の第３の実施形態に係る電源管理の処理手順例（電力供給停止時）を示すシーケンス図である。
【図２８】本発明の第３の実施形態に係る利用ドライバ特定の処理手順例を示すフローチャートである。
【図２９】本発明の第３の実施形態に係る電源管理の処理手順例（デバイス切断による電力供給停止時）を示すシーケンス図である。
【図３０】本発明の第３の実施形態に係るドライバ対応情報設定の処理手順例を示すフローチャートである。
【図３１】本発明の第４の実施形態に係る電源管理の機能構成例を示す図である。
【図３２】本発明の第４の実施形態に係る最大利用許可情報のデータ例を示す図である。
【図３３】本発明の第４の実施形態に係るドライバ状態情報のデータ例を示す図である。
【図３４】本発明の第４の実施形態に係る利用ドライバ特定・起動許可判定の処理手順例（電力供給開始時）を示すフローチャートである。
【図３５】本発明の第４の実施形態に係る利用ドライバ特定・終了許可判定の処理手順例（電力供給停止時）を示すフローチャートである。
【図３６】本発明の第４の実施形態に係る電源管理の処理手順例（アプリ（１）のデバイス利用時）を示すシーケンス図である。
【図３７】本発明の第４の実施形態に係るドライバ状態情報のデータ遷移例を示す図である。
【図３８】本発明の第４の実施形態に係る電源管理の処理手順例（アプリ（１），（２）間の排他制御時）を示すシーケンス図である。
【図３９】本発明の第４の実施形態に係る電源管理の処理手順例（アプリ（１）のデバイス利用終了時）を示すシーケンス図である。
【図４０】本発明の第４の実施形態に係るドライバ状態情報のデータ遷移例を示す図である。
【図４１】本発明の第４の実施形態に係る電源管理の処理手順例（アプリ（２）のデバイス利用時）を示すシーケンス図である。
【図４２】本発明の第４の実施形態に係るドライバ状態情報のデータ遷移例を示す図である。
【図４３】本発明の変形例に係るドライバ対応情報のデータ例を示す図である。
【図４４】本発明の変形例に係る利用ドライバ特定・起動許可判定の処理手順例（電力供給開始時）を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な実施の形態（以下「実施形態」という）について、図面を用いて詳細に説明する。
【００１３】
［第１の実施形態］
＜ハードウェア構成＞
図１は、本実施形態に係る情報処理装置１００のハードウェア構成例を示す図である。
図１に示すように、情報処理装置１００は、入力装置１０１、表示装置１０２、ドライブ装置１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、インタフェース装置１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００１４】
入力装置１０１は、キーボードやマウスなどを含み、情報処理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどを含み、情報処理装置１００による処理結果を表示する。
【００１５】
インタフェース装置１０７は、情報処理装置１００を所定のデータ伝送路に接続するインタフェースである。これにより、情報処理装置１００は、インタフェース装置１０７を介して、他の機器（非図示）とデータ通信を行うことができる。
【００１６】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する情報処理システム（例えば「Ｗｉｎｄｏｗｓ（商標又は登録商標）」や「ＵＮＩＸ（商標又は登録商標）」などの基本ソフトウェアであるＯＳ（Operating System））、及びシステム上において各種機能（例えば「電源管理機能」）を提供するアプリケーションなどがある。
【００１７】
また、ＨＤＤ１０８は、格納しているプログラムやデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。なお、端末３００からの受信データ（ジョブデータ）は、ＨＤＤ１０８の所定の記憶領域に格納・蓄積され、ＤＢにより管理される。
【００１８】
ドライブ装置１０３は、着脱可能な記録媒体１０３ａとのインタフェースである。これにより、情報処理装置１００は、ドライブ装置１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、例えば、フロッピー（商標又は登録商標）ディスク、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびに、ＳＤメモリカード（SD memory card）やＵＳＢメモリ（Universal Serial Bus memory）などがある。
【００１９】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、情報処理装置１００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、情報処理システム設定、及びネットワーク設定などのプログラムやデータが格納されている。
【００２０】
ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（「ＨＤＤ」や「ＲＯＭ」など）から、プログラムやデータをＲＡＭ（メモリ）上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００２１】
＜ソフトウェア構成＞
図２は、本実施形態に係る情報処理装置１００のソフトウェア構成例を示す図である。
図２に示すように、情報処理装置１００は、アプリケーションＡＰ及び電源管理システム１０などを有している。
【００２２】
アプリケーションＡＰは、利用者に所定の機能提供を行うソフトウェアである。アプリケーションＡＰは、提供機能を実現するためのプログラムや各種データを含む機能実現ソフトウェアである。図２には、各提供機能に対応する複数のアプリケーション（１）ＡＰ１から（Ｎ）ＡＰｎを有している例が示されている。
【００２３】
電源管理システム１０は、デバイスＤＶの電源管理機能を提供するソフトウェアである。電源管理システム１０は、電源管理機能を実現するためのプログラムや各種データを含む機能実現ソフトウェアである。図２には、提供機能により利用される複数のデバイス（１）ＤＶａから（Ｎ）ＤＶｎを有している例が示されている。なお、本実施形態では、入力装置１０１、表示装置１０２、ドライブ装置１０３、及びインタフェース装置１０７などが、これらのデバイスＤＶにあたる。
【００２４】
アプリケーションＡＰは、ＯＳ上又は電源管理システム１０上で動作するように開発・実装される。また、電源管理システム１０は、ＯＳ上で動作するように開発・実装される。その開発・実装方法には、例えば、ＳＤＫ（Software Development Kit）を用いる方法などがある。
【００２５】
これにより、アプリケーションＡＰは、ＳＤＫから提供されるＡＰＩ（Application Program Interface）を介して、ＯＳが提供する情報処理機能又はシステム１０が提供する電源管理機能と連携動作できる。また、電源管理システム１０は、ＳＤＫから提供されるＡＰＩを介して、ＯＳが提供する情報処理機能と連携動作できる（ミドルウェアとして機能できる）。
【００２６】
具体的に本実施形態では、上記ソフトウェアが次のように連携動作し、電源管理機能が実現される。
【００２７】
アプリケーションＡＰは、利用者からデバイスＤＶを利用する処理要求を受け付けると、利用者の処理要求に従って、提供機能を実現するための処理を行う。このとき、アプリケーションＡＰは、電源管理システム１０に対して、処理要求を受け付けた旨を通知する。その結果、電源管理システム１０では、ＯＳを介して、要求処理を実現するための利用デバイスＤＶに対して、電力供給を開始する。
【００２８】
これを受けて、アプリケーションＡＰは、ＯＳを介して、利用デバイスＤＶを用いて要求処理を行い、処理が終了すると、電源管理システム１０に対して、要求処理が終了した旨を通知する。その結果、電源管理システム１０では、ＯＳを介して、要求処理を実現するための利用デバイスＤＶに対して、電力供給を停止する。
【００２９】
以上のように、本実施形態に係る情報処理装置１００は、上記ハードウェア構成及び上記ソフトウェア構成により、電源管理機能（電源管理サービス）を提供することができる。なお、本実施形態では、電源管理を行う電子機器の一例として情報処理装置１００を例に説明を行うが、この限りでない。本実施形態は、複数のデバイスＤＶを備え、上記電源管理システム１０が動作可能な電子機器であれば適用可能である。
【００３０】
＜電源管理機能＞
本実施形態に係る電源管理機能について説明する。
本実施形態に係る情報処理装置１００では、利用者に機能提供を行うアプリケーション（機能実現ソフトウェア）と機能提供時の利用デバイスとが対応付けられた情報に基づき、デバイスに対する電力供給の開始・停止を制御する。本実施形態に係る情報処理装置１００は、このような電源管理機能を有している。
【００３１】
従来の電源管理では、利用者から処理要求を受け付けて、電子機器が省エネモードから復帰した際に、受け付けた処理要求を実行する上で不要なデバイスにまで電力供給が開始され、不必要に電力を消費してしまう。
【００３２】
そこで、本実施形態に係る情報処理装置１００では、利用者の要求処理を実行するために利用する利用デバイスに対して、電力供給を開始・停止する仕組みとした。
【００３３】
これにより、本実施形態に係る情報処理装置１００は、利用者の処理要求を実行する上で不要なデバイスに電力を供給しない環境を提供する。その結果、本実施形態に係る情報処理装置１００では、効率的な省電力化が実現できる。
【００３４】
以下に、本実施形態に係る電源管理機能の構成とその動作について説明する。
図３は、本実施形態に係る電源管理の機能構成例を示す図である。
図３に示すように、本実施形態に係る電源管理機能は、処理要求受付部１１、供給判定部１２、供給制御部１３、及び情報管理部３１などを有している。これらの機能部は、上記電源管理システム１０により実現される機能である。
【００３５】
情報管理部３１は、デバイスＤＶに対する電力供給の開始・停止を制御するために用いる情報（以下「制御情報」という）を管理する機能部である。情報管理部３１は、制御情報保持部２０にアクセスし、所定のデータ操作により、制御情報を管理する。なお、制御情報保持部２０は、例えば、情報処理装置１００が備える記憶装置（ＨＤＤ）の所定の記憶領域にあたる。また、所定のデータ操作には、他の機能部からの要求に応じた、データ参照（取得）、データ登録（保存：書き込み）、データ更新（変更：上書き）、及びデータ削除（消去）などがある。
【００３６】
ここで、制御情報について説明する。
本実施形態では、制御情報保持部２０に、図４及び図５に示すような制御情報を保持している。
【００３７】
図４は、本実施形態に係るデバイス対応情報２０Ｄ１のデータ例を示す図である。
図４に示すように、デバイス対応情報２０Ｄ１は、［アプリ識別］及び［利用デバイス］などの情報項目が、アプリ（提供機能）単位で対応付けられている。この情報により、アプリケーションＡＰと機能提供時の利用デバイスＤＶとの対応関係が管理される。
【００３８】
［アプリ識別］項目は、アプリケーションＡＰを識別する情報（以下「アプリ識別情報」という）が設定される項目である。項目値には、例えば、アプリケーションＡＰにユニークに割り当てられたＩＤ値（アプリＩＤ）や文字列値（アプリ名）などがある。［利用デバイス］項目は、アプリケーションＡＰが機能提供時に利用するデバイスＤＶを識別する情報（以下「デバイス識別情報」という）が設定される項目である。項目値には、例えば、デバイスＤＶにユニークに割り当てられたＩＤ値（デバイスＩＤ）や文字列値（デバイス名）などがある。
【００３９】
これらの項目値は、例えば、管理者が、搭載アプリケーションＡＰと利用デバイスＤＶとに基づき、予め設定しておく。よって、情報管理部３１は、管理者に対し、これらの項目値を設定可能な設定機能（所定のツール）を提供し、設定機能を介して入力値を受け付けると、制御情報保持部２０にアクセスし、入力値をデバイス対応情報２０Ｄ１の項目値として設定する。これにより、アプリ単位でデバイス対応情報２０Ｄ１が登録される。なお、情報管理部３１は、アプリケーションＡＰのインストールに連動して、デバイス対応情報２０Ｄ１を登録するようにしてもよい。この場合、インストールされたアプリケーションＡＰに関する情報（インストール情報）などに基づき、利用デバイスＤＶを特定し、デバイス対応情報２０Ｄ１を登録する。
【００４０】
図５は、本実施形態に係るデバイス状態情報２０Ｄ２のデータ例を示す図である。
図５に示すように、デバイス状態情報２０Ｄ２は、［搭載デバイス］及び［利用状態］などの情報項目が、デバイス単位で対応付けられている。この情報により、デバイスＤＶごとの利用状態が管理される。
【００４１】
［搭載デバイス］項目は、情報処理装置１００が備えるデバイスＤＶを識別する情報（以下「デバイス識別情報」という）が設定される項目である。項目値には、例えば、搭載デバイスＤＶにユニークに割り当てられたＩＤ値（デバイスＩＤ）や文字列値（デバイス名）などがある。［利用状態］項目は、機能提供時のアプリケーションＡＰによるデバイスＤＶの利用状態を示す情報（以下「利用状態情報」という）が設定される項目である。項目値には、例えば、デバイスＤＶの利用状態を示す利用状態値（"利用中"／"利用停止中"）などがある。
【００４２】
［搭載デバイス］項目の値は、例えば、管理者が、電源管理対象とするデバイスＤＶに基づき、予め設定しておく。なお、この項目値の設定方法は、デバイス対応情報２０Ｄ１と同様である。また、［利用状態］項目の値は、［搭載デバイス］項目の設定と連動して、予め決めておいた"利用停止中"の利用状態値（デフォルト値）が設定される。これにより、デバイス単位でデバイス状態情報２０Ｄ２が登録される。
【００４３】
以後、デバイス状態情報２０Ｄ２は、アプリケーションＡＰからのデバイス利用に応じて、次のように更新される。情報管理部３１は、制御情報保持部２０にアクセスし、デバイス状態情報２０Ｄ２の利用状態情報に利用デバイスＤＶの利用状態値（"利用中"／"利用停止中"）を設定する。これにより、デバイス単位でデバイス状態情報２０Ｄ２が更新される。
【００４４】
図３の説明に戻る。処理要求受付部１１は、アプリケーションＡＰからの処理要求通知を受け付ける機能部である。処理要求受付部１１は、通知時にアプリケーションＡＰからアプリ識別情報を受け取ることで、処理要求を受け付ける。処理要求受付部１１は、受け付けた処理要求に応じた利用デバイスＤＶの電力供給結果（開始・停止結果）を要求元（アプリケーション）に応答する。また、処理要求受付部１１は、利用デバイスＤＶの要求処理を終えたアプリケーションＡＰからの処理終了通知も受け付ける。
【００４５】
供給判定部１２は、利用デバイスＤＶに対して、電力供給を開始・停止するか否かを判定する機能部である。供給判定部１２は、上記判定を制御情報に基づき行う。具体的には、次の通りである。
【００４６】
例えば、電力供給の開始を判定する場合、供給判定部１２は、情報管理部３１を介して制御情報保持部２０にアクセスし、処理要求通知受付時に受け取ったアプリ識別情報に基づき、制御情報に含まれるデバイス対応情報２０Ｄ１を参照する。供給判定部１２は、アプリ識別情報に対応付けられたデバイス識別情報に基づき、処理要求を受け付けたアプリケーションＡＰの利用デバイスＤＶを特定する。つまり、供給判定部１２は、制御情報に基づき、電源管理対象の利用デバイスＤＶを特定する。
【００４７】
次に、供給判定部１２は、特定した利用デバイスＤＶのデバイス識別情報に基づき、制御情報に含まれるデバイス状態情報２０Ｄ２を参照する。供給判定部１２は、デバイス識別情報に対応付けられた利用状態情報に基づき、特定した利用デバイスＤＶに対して、電力供給を開始するか否かを判定する。このとき、供給判定部１２は、特定した利用デバイスＤＶのうち、利用状態情報が示す利用状態が"利用停止中"の利用デバイスＤＶに対して、電力供給を開始すると判定する。
【００４８】
例えば、電力供給の停止を判定する場合、供給判定部１２は、情報管理部３１を介して制御情報保持部２０にアクセスし、処理終了通知受付時に受け取ったアプリ識別情報に基づき、デバイス対応情報２０Ｄ１を参照する。供給判定部１２は、アプリ識別情報に対応付けられたデバイス識別情報に基づき、処理要求を受け付けたアプリケーションＡＰの利用デバイスＤＶを特定する。
【００４９】
次に、供給判定部１２は、特定した利用デバイスＤＶのデバイス識別情報に基づき、デバイス状態情報２０Ｄ２を参照する。供給判定部１２は、デバイス識別情報に対応付けられた利用状態情報に基づき、特定した利用デバイスＤＶに対して、電力供給を停止するか否かを判定する。このとき、供給判定部１２は、特定した利用デバイスＤＶのうち、利用状態情報が示す利用状態が"利用中"の利用デバイスＤＶに対して、電力供給を停止すると判定する。
【００５０】
供給制御部１３は、利用デバイスＤＶに対する電力供給の開始・停止を制御する機能部である。供給制御部１３は、上記判定結果に基づき行う。供給制御部１３は、供給判定部１２から受け取ったデバイス識別情報に基づき、供給開始／停止と判定された利用デバイスＤＶを特定する。供給制御部１３は、供給開始と判定されたデバイスＤＶに対して、電力供給の開始を指示する。一方、供給制御部１３は、供給停止と判定されたデバイスＤＶに対して、電力供給の停止を指示する。
【００５１】
以上のように、本実施形態に係る電源管理機能は、上記各機能部が連携動作することにより実現される。なお、上記各機能部は、情報処理装置１００に搭載（インストール）されるプログラム（電源管理機能を実現するソフトウェア）が、演算装置（ＣＰＵ）により、記憶装置（「ＨＤＤ」や「ＲＯＭ」）からメモリ（ＲＡＭ）上に読み出され、以下の処理が実行されることで実現される。
【００５２】
本実施形態に係る電源管理機能の詳細な動作（機能部群の連携動作）について、処理手順を示すシーケンス図及びフローチャートを用いて説明する。
【００５３】
《電源管理の主な処理》
図６は、本実施形態に係る電源管理の処理手順例を示すシーケンス図である。図６に示す例は、情報処理装置１００における処理手順例であり、アプリケーション（１）ＡＰ１が、機能提供時に３つのデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用する場合を想定したものである。よって、制御情報には、アプリケーション（１）ＡＰ１と利用デバイス（デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃ）との対応関係がデバイス対応情報２０Ｄ１に設定されており、利用デバイスＤＶごとの利用状態がデバイス状態情報２０Ｄ２に設定されているものとする。
【００５４】
図６に示すように、電源管理システム１０は、処理要求受付部１１が、アプリケーション（１）ＡＰ１からの処理要求通知を受け付ける（ステップＳ１０１）。このとき、処理要求受付部１１は、アプリケーション（１）ＡＰ１からアプリ識別情報を受け取る。
【００５５】
電源管理システム１０は、処理要求受付部１１が供給判定部１２に対し、要求処理の実行に伴う利用デバイスＤＶへの電力供給の開始判定を要求する（ステップＳ１０２）。このとき、供給判定部１２は、処理要求受付部１１からアプリ識別情報を受け取る。
【００５６】
電源管理システム１０は、供給判定部１２が、開始判定要求に応じて供給判定を行う（ステップＳ１０３）。このとき、供給判定部１２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（１）ＡＰ１を特定する。供給判定部１２は、制御情報に基づき、特定したアプリケーション（１）ＡＰ１が利用するデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給判定部１２は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を開始するか否かを判定する。なお、電力供給の開始判定処理については、図７を用いて後述する。
【００５７】
電源管理システム１０は、供給判定部１２が利用デバイスＤＶに対して、電力供給を開始すると判定した場合、供給制御部１３に対し、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対する電力供給の開始を要求する（ステップＳ１０４）。このとき、供給制御部１３は、供給判定部１２からデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報を受け取る。
【００５８】
電源管理システム１０は、供給制御部１３が、供給開始要求に従って電力供給を開始する（ステップＳ１０５）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給開始と判定されたデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を開始する。
【００５９】
電源管理システム１０は、正常に電力供給が開始されると、供給制御部１３が供給判定部１２に対し、電力供給の開始結果（正常に開始された旨）を返す（ステップＳ１０６）。
【００６０】
これを受けて電源管理システム１０は、供給判定部１２が情報管理部３１に対し、制御情報に含まれるデバイス状態情報２０Ｄ２の利用状態情報の更新を要求する（ステップＳ１０７）。このとき、情報管理部３１は、供給判定部１２からデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報及び最新の利用状態情報を受け取る。
【００６１】
電源管理システム１０は、情報管理部３１が、制御情報保持部２０にアクセスし、デバイス状態情報２０Ｄ２の利用状態情報を更新する（ステップＳ１０８）。このとき、情報管理部３１は、デバイス識別情報に基づき、電力供給が開始されたデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対応する利用状態情報を参照する。情報管理部３１は、参照した利用状態情報に最新の利用状態情報"利用中"を設定し、利用状態値（設定値）を更新する。
【００６２】
その後、電源管理システム１０は、供給判定部１２が、処理要求受付部１１を介して、アプリケーション（１）ＡＰ１に対し、電力供給結果（電力供給開始ＯＫの旨）を返す（ステップＳ１０９，Ｓ１１０）。
【００６３】
これにより、アプリケーション（１）ＡＰ１では、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用し、要求処理が実行される（ステップＳ１１１）。
【００６４】
その結果、電源管理システム１０は、処理要求受付部１１が、アプリケーション（１）ＡＰ１からの要求処理終了通知を受け付ける（ステップＳ１１２）。このとき、処理要求受付部１１は、アプリケーション（１）ＡＰ１からアプリ識別情報を受け取る。
【００６５】
電源管理システム１０は、処理要求受付部１１が供給判定部１２に対し、要求処理の実行に伴う利用デバイスＤＶへの電力供給の停止判定を要求する（ステップＳ１１３）。このとき、供給判定部１２は、処理要求受付部１１からアプリ識別情報を受け取る。
【００６６】
電源管理システム１０は、供給判定部１２が、停止判定要求に応じて供給判定を行う（ステップＳ１１４）。このとき、供給判定部１２は、アプリ識別情報に基づき、機能提供を行ったアプリケーション（１）ＡＰ１を特定する。供給判定部１２は、制御情報に基づき、特定したアプリケーション（１）ＡＰ１が利用したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給判定部１２は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を停止するか否かを判定する。なお、電力供給の停止判定処理については、図７を用いて後述する。
【００６７】
電源管理システム１０は、供給判定部１２が利用デバイスＤＶに対して、電力供給を停止すると判定した場合、供給制御部１３に対し、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対する電力供給の停止を要求する（ステップＳ１１５）。このとき、供給制御部１３は、供給判定部１２からデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報を受け取る。
【００６８】
電源管理システム１０は、供給制御部１３が、供給停止要求に従って電力供給を停止する（ステップＳ１１６）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給停止と判定されたデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を停止する。
【００６９】
電源管理システム１０は、正常に電力供給が停止されると、供給制御部１３が供給判定部１２に対し、電力供給の停止結果（正常に停止された旨）を返す（ステップＳ１１７）。
【００７０】
これを受けて電源管理システム１０は、供給判定部１２が情報管理部３１に対し、制御情報に含まれるデバイス状態情報２０Ｄ２の利用状態情報の更新を要求する（ステップＳ１１８）。このとき、情報管理部３１は、供給判定部１２からデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報及び最新の利用状態情報を受け取る。
【００７１】
電源管理システム１０は、情報管理部３１が、制御情報保持部２０にアクセスし、デバイス状態情報２０Ｄ２の利用状態情報を更新する（ステップＳ１１９）。このとき、情報管理部３１は、デバイス識別情報に基づき、電力供給が停止されたデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対応する利用状態情報を参照する。情報管理部３１は、参照した利用状態情報に最新の利用状態情報"利用停止中"を設定し、利用状態値（設定値）を更新する。
【００７２】
《電力供給判定の処理》
図７は、本実施形態に係る電力供給判定の処理手順例を示すフローチャートである。図７に示す例は、供給判定部１２により、上記ステップＳ１０３，Ｓ１１４で実行される処理手順例である。
【００７３】
図７に示すように、供給判定部１２は、処理要求受付部１１から受け取ったアプリ識別情報に基づき、特定アプリケーションＡＰからの処理要求を受け付けたかを判定する（ステップＳ２０１）。このとき、供給判定部１２は、情報管理部３１を介して、制御情報保持部２０にアクセスする。供給判定部１２は、アプリ識別情報に基づき、制御情報保持部２０で保持するデバイス対応情報２０Ｄ１を参照する。供給判定部１２は、参照したデバイス対応情報２０Ｄ１にアプリ識別情報が登録されているか否かを判定する。このようにして、供給判定部１２は、デバイスＤＶを利用した機能提供が許可されたアプリか否かのアプリ認証を行う。
【００７４】
供給判定部１２は、アプリ識別情報が登録されていない場合（ステップ２０１：ＮＯ）、所定のエラー処理を行う（ステップＳ２０９）。このとき行うエラー処理は、機能提供が許可されていない旨をアプリケーションＡＰに通知するなどである。
【００７５】
一方、供給判定部１２は、アプリ識別情報が登録されている場合（ステップＳ２０１：ＹＥＳ）、アプリ識別情報に基づき、制御情報保持部２０で保持するデバイス対応情報２０Ｄ１を参照する（ステップＳ２０２）。
【００７６】
供給判定部１２は、アプリ識別情報に対応付けられたデバイス識別情報に基づき、処理要求を受け付けたアプリケーションＡＰの利用デバイスＤＶを特定する（ステップＳ２０３）。
【００７７】
供給判定部１２は、特定した利用デバイスＤＶのデバイス識別情報に基づき、制御情報保持部２０で保持するデバイス状態情報２０Ｄ２を参照する（ステップＳ２０４）。
【００７８】
供給判定部１２は、参照したデバイス状態情報２０Ｄ２に、特定した利用デバイスＤＶのデバイス識別情報が登録されているか否かを判定する（ステップＳ２０５）。
【００７９】
供給判定部１２は、デバイス識別情報が登録されていない場合（ステップ２０５：ＮＯ）、所定のエラー処理を行う（ステップＳ２０９）。このとき行うエラー処理は、処理要求に対して、デバイス利用が許可されていない旨をアプリケーションＡＰに通知するなどである。
【００８０】
一方、供給判定部１２は、デバイス識別情報が登録されている場合（ステップ２０５：ＹＥＳ）、デバイス識別情報に対応付けられた利用状態情報に基づき、利用デバイスＤＶの中から、利用状態に応じて電源管理対象とするデバイスＤＶを特定する（ステップＳ２０６）。このとき、供給判定部１２は、処理要求受付部１１から電力供給の開始判定要求を受け付けた場合、利用デバイスＤＶの中から、利用状態値が"利用停止中"のデバイスＤＶを電源管理対象として特定する。一方、供給判定部１２は、処理要求受付部１１から電力供給の停止判定要求を受け付けた場合、利用デバイスＤＶの中から、利用状態値が"利用中"のデバイスＤＶを電源管理対象として特定する。
【００８１】
供給判定部１２は、電源管理対象とするデバイスＤＶが特定されたか否かを判定する（ステップＳ２０７）。
【００８２】
供給判定部１２は、電源管理対象とするデバイスＤＶが特定された場合（ステップＳ２０７：ＹＥＳ）、供給制御部１３に対し、電源管理対象とするデバイスＤＶに対する電力供給の開始又は停止を要求する（ステップＳ２０８）。
【００８３】
このように、供給判定部１２は、処理要求受付部１１から電力供給の開始判定要求を受け付けた場合、アプリケーションＡＰに対応して、デバイス状態情報２０Ｄ２に登録されている利用デバイスＤＶのうち、利用状態値が"利用停止中"のデバイスＤＶに対して、電力供給を開始すると判定する。一方、処理要求受付部１１から電力供給の停止判定要求を受け付けた場合には、アプリケーションＡＰに対応して、デバイス状態情報２０Ｄ２に登録されている利用デバイスＤＶのうち、利用状態値が"利用中"のデバイスＤＶに対して、電力供給を停止すると判定する。
【００８４】
これにより、本実施形態では、要求処理を行うアプリケーションＡＰの利用デバイスＤＶに対して、電力供給を開始／停止するか否かが判定される。
【００８５】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、供給判定部１２により、利用者に機能提供を行うアプリケーションＡＰと機能提供時の利用デバイスＤＶとが対応付けられた制御情報（デバイス対応情報及びデバイス状態情報）に基づき、利用者からの要求処理を行うアプリケーションＡＰの利用デバイスＤＶに対して、電力供給を開始又は停止するか否かを判定する。情報処理装置１００は、供給制御部１３により、供給判定部１２の判定結果に基づき、利用デバイスＤＶに対する電力供給の開始・停止を制御する。
【００８６】
これによって、本実施形態に係る情報処理装置１００では、利用者の処理要求を実行する上で不要なデバイスＤＶに電力を供給しない環境が提供でき、効率的な省電力化が実現できる。
【００８７】
［第２の実施形態］
本実施形態では、アプリケーション（要求処理）によるデバイスの利用許可判定と連携し、該デバイスに対する電力供給を制御する技術を提案する。
【００８８】
なお、以降では、上記実施形態と異なる事項について説明し、同じ事項については、同一参照符号を付し、その説明を省略する。
【００８９】
＜電源管理機能＞
図８は、本実施形態に係る電源管理の機能構例を示す図である。
図８に示すように、本実施形態に係る電源管理機能では、供給判定部１２が、アプリケーションＡＰによるデバイスＤＶの利用を許可するか否かを判定する利用許可判定部１２０を有している。なお、本実施形態では、利用許可判定部１２０が、利用許可判定を行う複数の機能部を有している。具体的には、排他制御による利用許可判定を行う排他制御判定部１２１、利用権限による利用許可判定を行う利用権限判定部１２２、利用開始時間による利用許可判定を行う利用開始時間判定部１２３、及び累積利用時間による利用許可判定を行う累積利用時間判定部１２４などを有している。
【００９０】
排他制御判定部１２１は、複数のアプリケーションＡＰのデバイス利用に対する排他制御により同一デバイスＤＶが利用可能か否かを判定する機能部である。排他制御判定部１２１は、利用可否の判定結果に基づき、利用許可判定を行う。このとき、排他制御判定部１２１は、機能提供を行うアプリケーションＡＰの全ての利用デバイスＤＶに対して、利用可能と判定された場合、デバイス利用を許可すると判定する。
【００９１】
利用権限判定部１２２は、アプリケーションＡＰに対して、処理要求を行った利用者が処理要求を行う権限を有しているか否かを判定する機能部である。利用権限判定部１２２は、利用者の利用者情報に含まれる権限情報に基づき、権限設定の有無判定を行う。
【００９２】
なお、ここでいう「利用者」とは、情報処理装置１００において、利用者認証に成功し、ログインした利用者（以下「ログイン利用者」という）にあたり、権限情報は、利用者認証時の照合情報にあたる利用者情報に含まれる。また、照合情報は、機器による内部認証の場合、情報処理装置１００が備える記憶装置の所定の記憶領域に保持される。一方、照合情報は、機器からの外部認証の場合、情報処理装置１００と所定のデータ伝送路で接続される認証サーバ（非図示）が備える記憶装置の所定の記憶領域に保持される。
【００９３】
よって、利用権限判定部１２２は、機器による内部認証の場合、情報処理装置１００で保持するログイン利用者の権限情報に基づき、権限設定の有無判定を行う。一方、利用権限判定部１２２は、機器からの外部認証の場合、認証サーバ（非図示）から取得したログイン利用者の権限情報に基づき、権限設定の有無判定を行う。利用権限判定部１２２は、権限設定有無の判定結果に基づき、利用許可判定を行う。このとき、利用権限判定部１２２は、要求権限が設定されており、ログイン利用者が処理要求を行う権限を有していると判定された場合、デバイス利用を許可すると判定する。
【００９４】
利用開始時間判定部１２３は、アプリケーションＡＰによるデバイス利用開始時間（現在時間）が所定時間内か否かを判定する機能部である。利用開始時間判定部１２３は、利用時間の判定結果に基づき、利用許可判定を行う。このとき、利用開始時間判定部１２３は、デバイス利用開始時間が所定時間内と判定された場合、デバイス利用を許可すると判定する。
【００９５】
累積利用時間判定部１２４は、アプリケーションＡＰからの利用実績に応じたデバイス累積利用時間が所定時間内か否かを判定する機能部である。累積利用時間判定部１２４は、累積利用時間の判定結果に基づき、利用許可判定を行う。このとき、累積利用時間判定部１２４は、累積利用時間が所定時間内と判定された場合、デバイス利用を許可すると判定する。
【００９６】
以降には、上記機能部が利用許可判定時に用いる各情報と、該情報を用いた利用許可判定について説明する。
【００９７】
（１）：デバイス対応・状態情報と該情報を用いた利用許可判定
図９は、本実施形態に係るデバイス対応情報２０Ｄ１のデータ例を示す図である。
図９に示すデバイス対応情報２０Ｄ１には、アプリケーション単位で、利用デバイスＤＶの［排他制御］項目ＲＤの値が設定されている。［排他制御］項目ＲＤは、排他制御時に用いる情報（以下「排他制御情報」という）が設定される項目である。項目値には、例えば、利用デバイスＤＶに対して、排他制御を行うか否かを示す排他制御値（真偽値又は数値）などがある。
【００９８】
［排他制御］項目ＲＤの値は、例えば、管理者が、搭載アプリケーションＡＰと利用デバイスＤＶとに基づき、予め設定しておく。よって、情報管理部３１は、管理者に対し、［アプリ識別］項目、［利用デバイス］項目、及び［排他制御］項目ＲＤの値を設定可能な設定機能を提供し、設定機能を介して入力値を受け付けると、制御情報保持部２０にアクセスし、入力値をデバイス対応情報２０Ｄ１の項目値として設定する。
【００９９】
なお、［排他制御］項目ＲＤの値が真偽値の場合には、次のような意味をもつ。例えば、図９に示すデバイス対応情報２０Ｄ１には、アプリＩＤ値'ＡＰ０００３'に対応するアプリケーションＡＰの利用デバイス「ディスプレイ」に対して、排他制御値'ｆａｌｅｓ'が設定されている。この値は、利用デバイス「ディスプレイ」に対して、排他制御を行わないことを意味している。一方、利用デバイス「カードリーダ」に対して、排他制御値'ｔｒｕｅ'が設定されている。この値は、利用デバイス「カードリーダ」に対して、排他制御を行うことを意味している。
【０１００】
なお、［排他制御］項目ＲＤの値が数値の場合には、次のような意味をもつ。例えば、図９に示すデバイス対応情報２０Ｄ１には、アプリＩＤ値'ＡＰ０００１'に対応するアプリケーションＡＰの利用デバイス「ディスプレイ」に対して、排他制御値'２'が設定されている。この値は、利用デバイス「ディスプレイ」に対して、排他制御を行うことを意味し、さらに、最大２つのアプリケーションＡＰから利用可能であることを意味している。このように、本実施形態では、排他制御値に、アプリケーションＡＰによる利用デバイスＤＶの最大利用可能数が２以上の数値で設定できる。
【０１０１】
図１０は、本実施形態に係るデバイス状態情報２０Ｄ２のデータ例を示す図である。
図１０に示すデバイス状態情報２０Ｄ２には、デバイスＤＶの利用状態情報に０以上の数値が設定されている。利用状態値が数値の場合には、次のような意味をもつ。例えば、図１０に示すデバイス状態情報２０Ｄ２には、デバイス「キーボード」に対して、利用状態値'０'が設定されている。この値は、デバイス「キーボード」がアプリケーションＡＰから利用されていないことを意味する。また、デバイス「ディスプレイ」に対して、利用状態値'１'が設定されている。この値は、デバイス「ディスプレイ」が１つのアプリケーションＡＰから利用されていることを意味する。また、デバイス「ＨＤＤ」に対して、利用状態値'２'が設定されている。この値は、デバイス「ＨＤＤ」が２つのアプリケーションＡＰから利用されていることを意味する。このように、本実施形態では、利用状態値に、デバイスＤＶがアプリケーションＡＰから利用されているか否か、また、利用されている場合、デバイスＤＶの現在の利用数が設定できる。
【０１０２】
（１−１）：排他制御による利用許可判定
排他制御判定部１２１は、上記デバイス対応情報２０Ｄ１の排他制御情報及び／又は上記デバイス状態情報２０Ｄ２の利用制御情報に基づき、次のような利用許可判定を行う。
【０１０３】
排他制御判定部１２１は、デバイス対応情報２０Ｄ１を参照し、供給判定部１２で特定された利用デバイスＤＶのデバイス識別情報に対応付けられた排他制御情報に基づき、利用デバイスＤＶに対して、排他制御を行うか否かを判定する。
【０１０４】
（１−１−１）：排他制御値が真偽値の場合の判定
排他制御判定部１２１は、全ての利用デバイスＤＶの排他制御値が'ｆａｌｅｓ'の場合、排他制御を行わないと判定し、判定結果に基づき、デバイス利用を許可すると判定する。一方、排他制御判定部１２１は、利用デバイスＤＶの排他制御値が１つでも'ｔｒｕｅ'の場合、排他制御を行うと判定し、該当する利用デバイスＤＶの利用状態を確認する。
【０１０５】
排他制御判定部１２１は、排他制御値が'ｔｒｕｅ'の利用デバイスＤＶのデバイス識別情報に基づき、デバイス状態情報２０Ｄ２を参照する。排他制御判定部１２１は、デバイス識別情報に対応付けられた利用状態情報に基づき、該当する全ての利用デバイスＤＶが利用可能か否かを判定する。排他制御判定部１２１は、該当する全ての利用デバイスＤＶの利用状態値が'０'（利用状態が"利用停止中"）の場合、デバイス利用可能であると判定し、判定結果に基づき、デバイス利用を許可すると判定する。一方、排他制御判定部１２１は、該当する利用デバイスＤＶの利用状態値が１つでも１以上の数値（利用状態が"利用中"）の場合、デバイス利用不可能と判定し、判定結果に基づき、デバイス利用を許可しないと判定する。
【０１０６】
（１−１−２）：排他制御値が数値の場合の判定
排他制御判定部１２１は、利用デバイスＤＶの排他制御値が１つでも１以上の数値設定の場合、排他制御を行うと判定し、該当する利用デバイスＤＶの利用状態を確認する。
【０１０７】
排他制御判定部１２１は、数値が設定された排他制御値の利用デバイスＤＶのデバイス識別情報に基づき、デバイス状態情報２０Ｄ２を参照する。排他制御判定部１２１は、デバイス識別情報に対応付けられた利用状態情報に基づき、該当する全ての利用デバイスＤＶが利用可能か否かを判定する。排他制御判定部１２１は、該当する全ての利用デバイスＤＶの利用状態値と対応する排他制御値とを比較し、全ての比較結果が「利用状態値が排他制御値より小さい値」の場合、デバイス利用可能であると判定し、判定結果に基づき、デバイス利用を許可すると判定する。一方、排他制御判定部１２１は、比較結果が１つでも「利用状態値が排他制御値以上の値」の場合、デバイス利用不可能と判定し、判定結果に基づき、デバイス利用を許可しないと判定する。
【０１０８】
（２）：利用時間情報と該情報を用いた利用許可判定
図１１は、本実施形態に係る利用時間情報２０Ｄ３のデータ例を示す図である。
本実施形態では、制御情報に、図１１に示すような利用時間情報２０Ｄ３が含まれる。利用時間情報２０Ｄ３は、［搭載デバイス］及び［利用許可時間］などの情報項目が、デバイス単位で対応付けられている。この情報により、デバイスＤＶごとに利用許可時間の範囲が管理される。
【０１０９】
［搭載デバイス］項目は、搭載デバイスＤＶのデバイス識別情報が設定される項目である。また、［利用許可時間］項目は、デバイスＤＶに対して、利用が許可された時間の範囲（利用期間）を示す情報（以下「利用許可時間情報」という）が設定される項目である。項目値には、例えば、デバイスＤＶの利用期間を示す利用許可開始時間と利用許可終了時間との組み合わせ値（Ｓ［ｈｈ：ｍｍ］−Ｅ［ｈｈ：ｍｍ］）などがある。
【０１１０】
これらの項目値は、例えば、管理者が、電源管理対象とするデバイスＤＶに基づき、予め設定しておく。よって、情報管理部３１は、管理者に対し、これらの項目値を設定可能な設定機能を提供し、設定機能を介して入力値を受け付けると、制御情報保持部２０にアクセスし、入力値を利用時間情報２０Ｄ３の項目値として設定する。これにより、デバイス単位で利用時間情報２０Ｄ３が登録される。
【０１１１】
（２−１）：利用開始時間による利用許可判定
利用開始時間判定部１２３は、上記利用時間情報２０Ｄ３の利用許可時間情報に基づき、次のような利用許可判定を行う。
【０１１２】
利用開始時間判定部１２３は、利用時間情報２０Ｄ３を参照し、供給判定部１２で特定された利用デバイスＤＶのデバイス識別情報に対応付けられた利用許可時間情報に基づき、全ての利用デバイスＤＶにおいて、アプリケーションＡＰからのデバイス利用開始時間が利用許可時間内か否かを判定する。
【０１１３】
利用開始時間判定部１２３は、アプリケーションＡＰからの処理要求受付時の現在時間をデバイス利用開始時間として取得する。なお、時間取得は、例えば、情報処理装置１００が備える時計回路（非図示）などから取得すればよい。利用開始時間判定部１２３は、取得した現在時間が、全ての利用デバイスＤＶの利用許可時間情報に設定された利用許可開始時間から利用許可終了時間の範囲内か否かを判定する。利用開始時間判定部１２３は、全ての判定結果が利用許可時間の範囲内であった場合、利用許可時間内のデバイス利用であると判定し、判定結果に基づき、デバイス利用を許可する判定する。一方、利用開始時間判定部１２３は、判定結果が１つでも利用許可時間の範囲内でなかった場合、利用許可時間外のデバイス利用であると判定し、判定結果に基づき、デバイス利用を許可しないと判定する。
【０１１４】
（３）：累積利用時間情報と該情報を用いた利用許可判定
図１２は、本実施形態に係る累積利用時間情報２０Ｄ４のデータ例を示す図である。
本実施形態では、制御情報に、図１２に示すような累積利用時間情報２０Ｄ４が含まれる。累積利用時間情報２０Ｄ４は、［搭載デバイス］、［累積利用許可時間］、及び［累積利用時間］などの情報項目が、デバイス単位で対応付けられている。この情報により、デバイスＤＶごとに現在の累積利用時間と累積利用許可時間とが管理される。
【０１１５】
［搭載デバイス］項目は、搭載デバイスＤＶのデバイス識別情報が設定される項目である。［累積利用許可時間］項目は、デバイスＤＶに対して、利用が許可された累積利用時間を示す情報（以下「累積利用許可時間情報」という）が設定される項目である。項目値には、例えば、デバイスＤＶの累積利用許可時間を示す値（［ｈｈ：ｍｍ］）などがある。［累積利用時間］項目は、デバイスＤＶの利用時間が累積された累積利用時間を示す情報（以下「累積利用時間情報」という）が記録される項目である。
【０１１６】
［搭載デバイス］項目及び［累積利用許可時間］項目の値は、例えば、管理者が、電源管理対象とするデバイスＤＶに基づき、予め設定しておく。よって、情報管理部３１は、管理者に対し、なお、この項目値の設定方法は、利用時間情報２０Ｄ３と同様である。また、［累積利用時間］項目の値は、［搭載デバイス］項目及び［累積利用許可時間］項目の設定と連動して、予め決めておいた累積利用時間の初期値（デフォルト値）が設定される。これにより、デバイス単位で累積利用時間情報２０Ｄ４が登録される。
【０１１７】
以後、累積利用時間情報２０Ｄ４は、アプリケーションＡＰからのデバイス利用に応じて、次のように更新される。情報管理部３１は、制御情報保持部２０にアクセスし、累積利用時間情報２０Ｄ４の累積利用時間情報に、現在の設定値（記録値）に利用デバイスＤＶの利用時間値を加算した値（累積値）を設定する。これにより、デバイス単位で累積利用時間情報２０Ｄ４が更新される。
【０１１８】
（３−１）：累積利用時間による利用許可判定
累積利用時間判定部１２４は、上記累積利用時間情報２０Ｄ４の累積利用許可時間情報及び累積利用時間情報に基づき、次のような利用許可判定を行う。
【０１１９】
累積利用時間判定部１２４は、累積利用時間情報２０Ｄ４を参照し、供給判定部１２で特定された利用デバイスＤＶのデバイス識別情報に対応付けられた累積利用許可時間情報及び累積利用時間情報に基づき、全ての利用デバイスＤＶにおいて、アプリケーションＡＰによるデバイス累積利用時間が累積利用許可時間内か否かを判定する。
【０１２０】
累積利用時間判定部１２４は、各利用デバイスＤＶの累積利用時間情報に記録された累積利用時間が、同利用デバイスＤの累積利用許可時間情報に設定された累積利用許可時間の範囲内か否かを判定する。累積利用時間判定部１２４は、全ての判定結果が累積利用許可時間の範囲内であった場合、デバイス利用可能であると判定し、判定結果に基づき、デバイス利用を許可する判定する。一方、累積利用時間判定部１２４は、判定結果が１つでも累積利用許可時間の範囲内でなかった場合（累積許可時間を超過している場合）、デバイス利用不可能であると判定し、判定結果に基づき、デバイス利用を許可しないと判定する。
【０１２１】
図８の説明に戻る。供給判定部１２は、上記機能部による利用許可の判定結果に基づき、利用デバイスＤＶに対する電力供給の開始を制御する。つまり、供給判定部１２は、上記機能部により、アプリケーションＡＰに対して、デバイス利用を許可すると判定された場合に、利用デバイスＤＶに対して、電力供給を開始すると判定し、供給制御部１３に対し、電力供給の開始を要求する。
【０１２２】
なお、本実施形態では、利用デバイスＤＶに対する電力供給の停止制御を、次のように行う。供給判定部１２は、デバイス状態情報２０Ｄ２を参照し、利用状態情報に基づき、利用デバイスＤＶの利用状態値が'１'であった場合、利用デバイスＤＶに対して、電力供給を停止すると判定し、供給制御部１３に対し、電力供給の停止を要求する。
【０１２３】
上述したように、利用状態値'１'は、１つのアプリケーションＡＰがデバイスＤＶを利用していることを意味しており、該アプリケーションＡＰは、要求処理を終了したアプリケーションＡＰにあたる。よって、利用デバイスＤＶに対して、電力供給を停止してもよい。一方、利用状態値が２以上の場合には、２つ以上のアプリケーションＡＰがデバイスＤＶを利用していることを意味しており、要求処理を終了したアプリケーションＡＰ以外のアプリケーションＡＰが利用中であることになる。よって、利用デバイスＤＶに対して、電力供給を継続しておく必要がある。
【０１２４】
以上のように、本実施形態に係る電源管理機能は、上記各機能部が連携動作することにより実現される。
【０１２５】
本実施形態に係る電源管理機能の詳細な動作（機能部群の連携動作）について、処理手順を示すフローチャート及びシーケンス図を用いて説明する。
【０１２６】
《電力供給判定の処理》
図１３は、本実施形態に係る電力供給判定の処理手順例を示すフローチャートである。図１３には、供給判定部１２により、アプリケーションＡＰによるデバイスＤＶの利用許可判定と連携し、該デバイスＤＶに対する電力供給の開始制御を行う際に実行される処理手順例が示されている。また、図１３に示す処理は、上記各機能部による利用許可判定において利用が許可された場合に電力供給を開始する処理手順例である。なお、以下の説明では、図７と同じ処理について、その説明を簡略化する。
【０１２７】
図１３に示すように、供給判定部１２は、処理要求受付部１１から受け取ったアプリ識別情報に基づき、特定アプリケーションＡＰからの処理要求を受け付けたかを判定する（ステップＳ３０１：アプリ認証）。
【０１２８】
供給判定部１２は、アプリ識別情報が登録されていない場合（ステップ３０１：ＮＯ）、所定のエラー処理を行う（ステップＳ３１６）。このとき行うエラー処理は、機能提供が許可されていない旨をアプリケーションＡＰに通知するなどである。
【０１２９】
一方、供給判定部１２は、アプリ識別情報が登録されている場合（ステップＳ３０１：ＹＥＳ）、アプリ識別情報に基づき、制御情報保持部２０で保持するデバイス対応情報２０Ｄ１を参照する（ステップＳ３０２）。
【０１３０】
供給判定部１２は、アプリ識別情報に対応付けられたデバイス識別情報に基づき、処理要求を受け付けたアプリケーションＡＰの利用デバイスＤＶを特定する（ステップＳ３０３）。
【０１３１】
供給判定部１２は、特定した利用デバイスＤＶのデバイス識別情報に基づき、制御情報保持部２０で保持するデバイス状態情報２０Ｄ２を参照する（ステップＳ３０４）。
【０１３２】
供給判定部１２は、参照したデバイス状態情報２０Ｄ２に特定した利用デバイスＤＶのデバイス識別情報が登録されているか否かを判定する（ステップＳ３０５）。
【０１３３】
供給判定部１２は、デバイス識別情報が登録されていない場合（ステップ３０５：ＮＯ）、所定のエラー処理を行う（ステップＳ３１６）。このとき行うエラー処理は、処理要求に対して、デバイス利用が許可されていない旨をアプリケーションＡＰに通知するなどである。
【０１３４】
一方、供給判定部１２は、デバイス識別情報が登録されている場合（ステップ３０５：ＹＥＳ）、排他制御判定部１２１による利用許可判定処理（ステップＳ３０６，Ｓ３０７：第１の利用許可判定段階）を行う。
【０１３５】
排他制御判定部１２１は、制御情報保持部２０で保持するデバイス対応情報２０Ｄ１の排他制御情報に基づき、利用デバイスＤＶに対して、排他制御を行うか否かを判定する（ステップＳ３０６）。このとき、排他制御判定部１２１は、デバイス対応情報２０Ｄ１を参照し、登録されていると判定されたデバイス識別情報に対応付けられた排他制御情報に基づき、上記判定を行う。
【０１３６】
排他制御判定部１２１は、全ての利用デバイスＤＶの排他制御値が'ｆａｌｅｓ'又は'０'の数値設定の場合、排他制御を行わないと判定し（ステップＳ３０６：ＮＯ）、利用権限判定部１２２による利用許可判定処理（ステップＳ３０８：第２の利用許可判定段階）に移行する。
【０１３７】
一方、排他制御判定部１２１は、利用デバイスＤＶの排他制御値が１つでも'ｔｒｕｅ'又は１以上の数値設定の場合、排他制御を行うと判定し（ステップＳ３０６：ＹＥＳ）、排他制御による該当利用デバイスＤＶの利用可否判定処理（ステップＳ３０７）を行う。
【０１３８】
排他制御判定部１２１は、制御情報保持部２０で保持するデバイス状態情報２０Ｄ２の利用状態情報に基づき、該当利用デバイスＤＶが利用可能か否かを判定する（ステップＳ３０７）。このとき、排他制御判定部１２１は、デバイス状態情報２０Ｄ２を参照し、該当利用デバイスＤＶのデバイス識別情報に対応付けられた利用状態情報に基づき、上記判定を行う。また、排他制御判定部１２１は、排他制御値が数値設定の場合、該当する全ての利用デバイスＤＶの利用状態値と対応する排他制御値とを比較し、全ての比較結果に基づき、デバイス利用の可否を判定する。
【０１３９】
排他制御判定部１２１は、該当利用デバイスＤＶの利用状態値が１つでも１以上の数値（利用状態が"利用中"）の場合、又は、比較結果が１つでも「利用状態値が排他制御値以上の値」の場合、デバイス利用不可能であると判定し（ステップＳ３０７：ＮＯ）、デバイス利用を許可しないと判定する。その結果、供給判定部１２は、利用許可の判定結果に基づき、デバイス利用不許可の旨をアプリケーションＡＰに通知するエラー処理を行う（ステップＳ３１６）。
【０１４０】
一方、排他制御判定部１２１は、全ての該当利用デバイスＤＶの利用状態値が'０'（利用状態が"利用停止中"）の場合、又は、全ての比較結果が「利用状態値が排他制御値より小さい値」の場合、デバイス利用可能であると判定し（ステップＳ３０７：ＹＥＳ）、利用権限判定部１２２による利用許可判定処理（ステップＳ３０８：第２の利用許可判定段階）に移行する。
【０１４１】
利用権限判定部１２２は、処理要求を行ったログイン利用者の利用者情報に含まれる権限情報に基づき、該利用者が処理要求を行う権限を有しているか否かを判定する（ステップＳ３０８）。このとき、利用権限判定部１２２は、内部認証時に用いた情報処理装置１００で保持する利用者情報、又は、外部認証時に用いた認証サーバ（非図示）で保持する利用者情報を参照する。
【０１４２】
利用権限判定部１２２は、ログイン利用者が処理要求を行う権限を有していない場合（ステップＳ３０８：ＮＯ）、デバイス利用を許可しないと判定する。その結果、供給判定部１２は、利用許可の判定結果に基づき、デバイス利用不許可の旨をアプリケーションＡＰに通知するエラー処理を行う（ステップＳ３１６）。
【０１４３】
一方、利用権限判定部１２２は、ログイン利用者が処理要求を行う権限を有している場合（ステップＳ３０８：ＹＥＳ）、利用開始時間判定部１２３による利用許可判定処理（ステップＳ３０９，Ｓ３１０：第３の利用許可判定段階）に移行する。
【０１４４】
利用開始時間判定部１２３は、利用デバイスＤＶのデバイス識別情報に基づき、制御情報保持部２０で保持する利用時間情報２０Ｄ３を参照する（ステップＳ３０９）。
【０１４５】
利用開始時間判定部１２３は、利用デバイスＤＶのデバイス識別情報に対応付けられた利用許可時間情報に基づき、全ての利用デバイスＤＶにおいて、デバイス利用開始時間が利用許可時間内か否かを判定する。（ステップＳ３１０）。このとき、利用開始時間判定部１２３は、処理要求受付時の時間であるデバイス利用開始時間が、全ての利用デバイスＤＶの利用許可時間情報に設定された利用許可開始時間から利用許可終了時間の範囲内か否かを判定する。
【０１４６】
利用開始時間判定部１２３は、判定結果が１つでも利用許可時間の範囲内でなかった場合（ステップＳ３１０：ＮＯ）、デバイス利用を許可しないと判定する。その結果、供給判定部１２は、利用許可の判定結果に基づき、デバイス利用不許可の旨をアプリケーションＡＰに通知するエラー処理を行う（ステップＳ３１６）。
【０１４７】
一方、利用開始時間判定部１２３は、全ての判定結果が利用許可時間の範囲内であった場合（ステップＳ３１０：ＹＥＳ）、累積利用時間判定部１２４による利用許可判定処理（ステップＳ３１１，Ｓ３１２：第４の利用許可判定段階）に移行する。
【０１４８】
累積利用時間判定部１２４は、利用デバイスＤＶのデバイス識別情報に基づき、制御情報保持部２０で保持する累積利用時間情報２０Ｄ４を参照する（ステップＳ３１１）。
【０１４９】
累積利用時間判定部１２４は、利用デバイスＤＶのデバイス識別情報に対応付けられた累積利用許可時間情報及び累積利用時間情報に基づき、全ての利用デバイスＤＶにおいて、累積利用時間が累積利用許可時間内か否かを判定する。（ステップＳ３１２）。このとき、累積利用時間判定部１２４は、各利用デバイスＤＶの累積利用時間情報に記録された累積利用時間が、同利用デバイスＤの累積利用許可時間情報に設定された累積利用許可時間の範囲内か否かを判定する。
【０１５０】
累積利用時間判定部１２４は、判定結果が１つでも累積利用許可時間の範囲内でなかった場合（ステップＳ３１２：ＮＯ）、デバイス利用を許可しないと判定する。その結果、供給判定部１２は、利用許可の判定結果に基づき、デバイス利用不許可の旨をアプリケーションＡＰに通知するエラー処理を行う（ステップＳ３１６）。
【０１５１】
一方、累積利用時間判定部１２４は、全ての判定結果が累積利用許可時間の範囲内であった場合（ステップＳ３１２：ＹＥＳ）、デバイス利用を許可すると判定する。
【０１５２】
その結果、供給判定部１２は、デバイス識別情報に対応付けられた利用状態情報に基づき、利用デバイスＤＶの中から、利用状態に応じて電源管理対象とするデバイスＤＶを特定する（ステップＳ３１３）。このとき、供給判定部１２は、処理要求受付部１１から電力供給の開始判定要求を受け付けた場合、利用デバイスＤＶの中から、利用状態値が'０'（利用状態が"利用停止中"）のデバイスＤＶを電源管理対象として特定する。
【０１５３】
供給判定部１２は、電源管理対象とするデバイスＤＶが特定されたか否かを判定する（ステップＳ３１４）。
【０１５４】
供給判定部１２は、電源管理対象とするデバイスＤＶが特定された場合（ステップＳ３１４：ＹＥＳ）、供給制御部１３に対し、電源管理対象とするデバイスＤＶに対する電力供給の開始を要求する（ステップＳ３１５）。
【０１５５】
このように、供給判定部１２は、処理要求受付部１１から電力供給の開始判定要求を受け付けた場合、アプリケーションＡＰに対応して、デバイス状態情報２０Ｄ２に登録されている利用デバイスＤＶのうち、利用状態値が"利用停止中"のデバイスＤＶに対して、電力供給を開始すると判定する。
【０１５６】
これにより、本実施形態では、要求処理を行うアプリケーションＡＰからのデバイス利用が許可された場合に、利用デバイスＤＶに対して、電力供給を開始するか否かが判定される。
【０１５７】
なお、上記処理手順では、利用許可判定部１２０の処理が、第１の利用許可判定段階から第４の利用許可判定段階の順に実行される例について説明を行ったが、本発明は、この実行順に限定されるものではない。また、上記処理手順では、排他制御により利用許可判定（第１）、利用権限による利用許可判定（第２）、利用開始時間による利用許可判定（第３）、及び累積利用時間による利用許可判定（第４）の４つの利用許可判定処理の組み合わせについて説明を行ったが、この限りでない。少なくとも１つ利用許可判定と連携させて電力供給を制御するようにしてもよい。つまり、利用許可判定部１２０は、排他制御判定部１２１、利用権限判定部１２２、利用開始時間判定部１２３、及び累積利用時間判定部１２４のうち、少なくもと１つの機能部を有していればよい。
【０１５８】
ここからは、排他制御による利用許可判定と連携した電力供給の制御例（動作とデータ遷移）について、具体的な場面を想定し、説明する。
【０１５９】
《排他制御による利用許可判定と連携した電源管理の処理：その１》
図１４は、本実施形態に係るデバイス対応情報２０Ｄ１のデータ例を示す図である。
図１４に示すデバイス対応情報２０Ｄ１には、アプリＩＤ値'ＡＰ０００１'及び'ＡＰ００２'それぞれに対応する２つのアプリケーションＡＰの利用デバイス「デバイスＡ」に対して、排他制御を行うことが設定されており、さらに、利用デバイス「デバイスＡ」に対して、最大利用可能数'２'が設定されている。
【０１６０】
一方、デバイス対応情報２０Ｄ１には、アプリＩＤ値'ＡＰ０００１'又は'ＡＰ００２'いずれかに対応するアプリケーションＡＰの「デバイスＢ」又は「デバイスＣ」に対して、排他制御を行わないことが設定されている。
【０１６１】
つまり、アプリＩＤ値'ＡＰ０００１'のアプリケーションＡＰは、機能提供時に「デバイスＡ」及び「デバイスＢ」を利用し、アプリＩＤ値'ＡＰ０００２'のアプリケーションＡＰは、機能提供時に「デバイスＡ」及び「デバイスＣ」を利用する。その中で、最大２つのアプリケーションＡＰからの利用が可能な「デバイスＡ」は排他制御される。一方、「デバイスＢ」及び「デバイスＣ」は排他制御されない。
【０１６２】
図１５は、本実施形態に係る電源管理の処理手順例（排他制御例１）を示すシーケンス図である。図１５の例は、図１４に示すデバイス対応情報２０Ｄ１に基づき、電源管理が行われた場合の処理手順例である。また、本例は、アプリＩＤ値'ＡＰ０００１'のアプリケーション（１）ＡＰ１とアプリＩＤ値'ＡＰ０００２'のアプリケーション（２）ＡＰ２とが、機能提供時に３つのデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用する場合の排他制御による電源管理を想定したものである。
【０１６３】
一方、図１６は、本実施形態に係るデバイス状態情報２０Ｄ２のデータ遷移例を示す図である。図１６には、図１５に示す処理によるデバイス状態情報２０Ｄ２のデータ遷移例が示されている。
【０１６４】
以下に、図１５の処理手順について説明するが、図６と同じ処理については、その説明を簡略化する。
【０１６５】
図１５に示すように、電源管理システム１０では、アプリケーション（１）ＡＰ１が、既にデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂを利用し、要求処理が実行されている（ステップＳ４０１）。図１６（Ａ）に示すデバイス状態情報２０Ｄ２には、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂの利用状態が反映されている例（利用状態更新後のデータ例）が示されている。
【０１６６】
このとき、電源管理システム１０は、処理要求受付部１１が、アプリケーション（２）ＡＰ２からの処理要求通知を受け付けると（ステップＳ５０１）、供給判定部１２に対し、要求処理の実行に伴う利用デバイスＤＶへの電力供給の開始判定を要求する（ステップＳ５０２）。
【０１６７】
電源管理システム１０は、供給判定部１２が、開始判定要求に応じて、排他制御による利用許可判定と連携した供給判定を行う（ステップＳ５０３）。このとき、供給判定部１２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（２）ＡＰ２を特定する。供給判定部１２は、制御情報に基づき、特定したアプリケーション（２）ＡＰ２が利用するデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃを特定する。供給判定部１２は、特定したデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃに対して、電力供給を開始するか否かを、アプリケーション（１）ＡＰ１との排他制御による利用許可の判定結果（排他制御判定部による判定結果）に基づき、判定する。
【０１６８】
排他制御判定部１２１は、制御情報に含まれるデバイス対応情報２０Ｄ１を参照し、デバイス（Ａ）ＤＶａの排他制御値'２'に基づき、デバイス（Ａ）ＤＶａに対して、排他制御を行うと判定する。一方、排他制御判定部１２１は、デバイス（Ｃ）ＤＶｃの排他制御値'ｆａｌｅｓ'に基づき、デバイス（Ｃ）ＤＶｃに対して、排他制御を行わないと判定する。排他制御判定部１２１は、制御情報に含まれるデバイス状態情報２０Ｄ２を参照し、デバイス（Ａ）ＤＶａの利用状態値'１'と排他制御値'２'との比較し、利用状態値が排他制御値より小さいことから、アプリケーション（２）ＡＰ２に対して、デバイス（Ａ）ＤＶａの利用を許可すると判定する。これにより、排他制御判定部１２１では、デバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃの利用が許可される。
【０１６９】
その結果、供給判定部１２は、デバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃのうち、電力供給が開始されていないデバイス（Ｃ）ＤＶｃに対して、電力供給を開始すると判定する。
【０１７０】
電源管理システム１０は、供給判定部１２が供給制御部１３に対し、デバイス（Ｃ）ＤＶｃに対する電力供給の開始を要求する（ステップＳ５０４）。
【０１７１】
電源管理システム１０は、供給制御部１３が、供給開始要求に従って電力供給を開始する（ステップＳ５０５）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給開始と判定されたデバイス（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ｃ）ＤＶｃに対して、電力供給を開始する。
【０１７２】
電源管理システム１０は、正常に電力供給が開始されると、供給制御部１３が供給判定部１２に対し、電力供給の開始結果（正常に開始された旨）を返す（ステップＳ５０６）。
【０１７３】
これを受けて電源管理システム１０は、供給判定部１２が情報管理部３１に対し、デバイス状態情報２０Ｄ２の利用状態情報の更新を要求する（ステップＳ５０７）。
【０１７４】
電源管理システム１０は、情報管理部３１が、制御情報保持部２０にアクセスし、デバイス状態情報２０Ｄ２の利用状態情報を更新する（ステップＳ５０８）。その結果、図１６（Ｂ）に示すようなデバイス状態情報２０Ｄ２に更新される。具体的には、デバイス（Ａ）ＤＶａの利用状態値'１'が'２'に更新され、デバイス（Ｃ）ＤＶｃの利用状態値'０'が'１'に更新される。
【０１７５】
その後、電源管理システム１０は、供給判定部１２が、処理要求部１１を介して、アプリケーション（２）ＡＰ２に対し、電力供給結果（電力供給開始ＯＫの旨）を返す（ステップＳ５０９，Ｓ５１０）。
【０１７６】
これにより、アプリケーション（２）ＡＰ２では、デバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃを利用し、要求処理が実行される（ステップＳ５１１）。
【０１７７】
またこのとき、電源管理システム１０は、処理要求受付部１１が、アプリケーション（１）ＡＰ１からの要求処理終了通知を受け付けると（ステップＳ４０２）、処理要求受付部１１が供給判定部１２に対し、要求処理の実行に伴う利用デバイスＤＶへの電力供給の停止判定を要求する（ステップＳ４０３）。
【０１７８】
電源管理システム１０は、供給判定部１２が、停止判定要求に応じて供給判定を行う（ステップＳ４０４）。このとき、供給判定部１２は、アプリ識別情報に基づき、アプリケーション（１）ＡＰ１を特定する。供給判定部１２は、制御情報に基づき、特定したアプリケーション（１）ＡＰ１が利用したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂを特定する。供給判定部１２は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂに対して、電力供給を停止するか否かを判定する。
【０１７９】
供給判定部１２は、制御情報に含まれるデバイス状態情報２０Ｄ２を参照し、デバイス（Ａ）ＤＶａの利用状態値が'２'であることから（他のアプリケーションＡＰが利用中のため）、デバイス（Ａ）ＤＶａに対して、電力供給を停止しないと判定する。また、供給判定部１２は、デバイス（Ｂ）ＤＶｂの利用状態値が'１'であることから（他のアプリケーションＡＰが利用していないため）、デバイス（Ｂ）ＤＶｂに対して、電力供給を停止すると判定する。
【０１８０】
電源管理システム１０は、供給判定部１２が供給制御部１３に対し、デバイス（Ｂ）ＤＶｂに対する電力供給の停止を要求する（ステップＳ４０５）。
【０１８１】
電源管理システム１０は、供給制御部１３が、供給停止要求に従って電力供給を停止する（ステップＳ４０６）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給停止と判定されたデバイス（Ｂ）ＤＶｂを特定する。供給制御部１３は、特定したデバイス（Ｂ）ＤＶｂに対して、電力供給を停止する。
【０１８２】
電源管理システム１０は、正常に電力供給が停止されると、供給制御部１３が供給判定部１２に対し、電力供給の停止結果（正常に停止された旨）を返す（ステップＳ４０７）。
【０１８３】
これを受けて電源管理システム１０は、供給判定部１２が情報管理部３１に対し、デバイス状態情報２０Ｄ２の利用状態情報の更新を要求する（ステップＳ４０８）。
【０１８４】
電源管理システム１０は、情報管理部３１が、制御情報保持部２０にアクセスし、デバイス状態情報２０Ｄ２の利用状態情報を更新する（ステップＳ４０９）。その結果、図１６（Ｃ）に示すようなデバイス状態情報２０Ｄ２に更新される。具体的には、デバイス（Ａ）ＤＶａの利用状態値'２'が'１'に更新され、デバイス（Ｂ）ＤＶｂの利用状態値'１'が'０'に更新される。
【０１８５】
《排他制御と連携した電源管理の処理：その２》
図１７は、本実施形態に係るデバイス対応情報２０Ｄ１のデータ例を示す図である。
図１７に示すデバイス対応情報２０Ｄ１には、アプリＩＤ値'ＡＰ０００１'及び'ＡＰ００２'それぞれに対応する２つのアプリケーションＡＰの利用デバイス「デバイスＡ」に対して、排他制御を行うことが設定されている。
【０１８６】
一方、デバイス対応情報２０Ｄ１には、アプリＩＤ値'ＡＰ０００１'又は'ＡＰ００２'いずれかに対応するアプリケーションＡＰの「デバイスＢ」又は「デバイスＣ」に対して、排他制御を行わないことが設定されている。
【０１８７】
つまり、アプリＩＤ値'ＡＰ０００１'のアプリケーションＡＰは、機能提供時に「デバイスＡ」及び「デバイスＢ」を利用し、アプリＩＤ値'ＡＰ０００２'のアプリケーションＡＰは、機能提供時に「デバイスＡ」及び「デバイスＣ」を利用する。その中で、１つのアプリケーションＡＰからの利用が可能な「デバイスＡ」は排他制御される。一方、「デバイスＢ」及び「デバイスＣ」は排他制御されない。
【０１８８】
図１８は、本実施形態に係る電源管理の処理手順例（排他制御例２）を示すシーケンス図である。図１８の例は、図１７に示すデバイス対応情報２０Ｄ１に基づき、電源管理が行われた場合の処理手順例である。また、本例は、アプリＩＤ値'ＡＰ０００１'のアプリケーション（１）ＡＰ１とアプリＩＤ値'ＡＰ０００２'のアプリケーション（２）ＡＰ２とが、機能提供時に３つのデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用する場合の排他制御による電源管理を想定したものである。
【０１８９】
一方、図１９は、本実施形態に係るデバイス状態情報２０Ｄ２のデータ遷移例を示す図である。図１９には、図１８に示す処理によるデバイス状態情報２０Ｄ２のデータ遷移例が示されている。
【０１９０】
以下に、図１８の処理手順について説明するが、図１６と同じ処理については、その説明を簡略化する。
【０１９１】
図１８に示すように、電源管理システム１０では、アプリケーション（１）ＡＰ１が、既にデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂを利用し、要求処理が実行されている（ステップＳ６０１）。図１９（Ａ）に示すデバイス状態情報２０Ｄ２には、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂの利用状態が反映されている例（利用状態更新後のデータ例）が示されている。
【０１９２】
このとき、電源管理システム１０は、処理要求受付部１１が、アプリケーション（２）ＡＰ２からの処理要求通知を受け付けると（ステップＳ７０１）、供給判定部１２に対し、要求処理の実行に伴う利用デバイスＤＶへの電力供給の開始判定を要求する（ステップＳ７０２）。
【０１９３】
電源管理システム１０は、供給判定部１２が、開始判定要求に応じて、排他制御による利用許可判定と連携した供給判定を行う（ステップＳ７０３）。このとき、供給判定部１２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（２）ＡＰ２を特定する。供給判定部１２は、制御情報に基づき、特定したアプリケーション（２）ＡＰ２が利用するデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃを特定する。供給判定部１２は、特定したデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃに対して、電力供給を開始するか否かを、アプリケーション（１）ＡＰ１との排他制御による利用許可の判定結果（排他制御判定部による判定結果）に基づき、判定する。
【０１９４】
排他制御判定部１２１は、制御情報に含まれるデバイス対応情報２０Ｄ１を参照し、デバイス（Ａ）ＤＶａの排他制御値'１'に基づき、デバイス（Ａ）ＤＶａに対して、排他制御を行うと判定する。一方、排他制御判定部１２１は、デバイス（Ｃ）ＤＶｃの排他制御値'ｆａｌｅｓ'に基づき、デバイス（Ｃ）ＤＶｃに対して、排他制御を行わないと判定する。排他制御判定部１２１は、制御情報に含まれるデバイス状態情報２０Ｄ２を参照し、デバイス（Ａ）ＤＶａの利用状態値'１'と排他制御値'１'との比較し、利用状態値が排他制御値と同じことから、アプリケーション（２）ＡＰ２に対して、デバイス（Ａ）ＤＶａの利用を許可しないと判定する。これにより、排他制御判定部１２１では、利用デバイスＤＶの中で、利用が許可されない利用デバイスＤＶが１つでも存在するため、デバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃの両方の利用を許可しない。
【０１９５】
その結果、電源管理システム１０は、供給判定部１２が、処理要求部１１を介して、アプリケーション（２）ＡＰ２に対し、利用許可結果（デバイス利用不許可の旨）を返す（ステップＳ７０４，Ｓ７０５）。
【０１９６】
このとき、電源管理システム１０は、処理要求受付部１１が、アプリケーション（１）ＡＰ１からの要求処理終了通知を受け付けると（ステップＳ６０２）、処理要求受付部１１が供給判定部１２に対し、要求処理の実行に伴う利用デバイスＤＶへの電力供給の停止判定を要求する（ステップＳ６０３）。
【０１９７】
電源管理システム１０は、供給判定部１２が、停止判定要求に応じて供給判定を行う（ステップＳ６０４）。このとき、供給判定部１２は、アプリ識別情報に基づき、アプリケーション（１）ＡＰ１を特定する。供給判定部１２は、制御情報に基づき、特定したアプリケーション（１）ＡＰ１が利用したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂを特定する。供給判定部１２は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂに対して、電力供給を停止するか否かを判定する。
【０１９８】
供給判定部１２は、制御情報に含まれるデバイス状態情報２０Ｄ２を参照し、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂの利用状態値が'１'であることから（他のアプリケーションＡＰが利用していないため）、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂに対して、電力供給を停止すると判定する。
【０１９９】
電源管理システム１０は、供給判定部１２が供給制御部１３に対し、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂに対する電力供給の停止を要求する（ステップＳ６０５）。
【０２００】
電源管理システム１０は、供給制御部１３が、供給停止要求に従って電力供給を停止する（ステップＳ６０６）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給停止と判定されたデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂを特定する。供給制御部１３は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂに対して、電力供給を停止する。
【０２０１】
電源管理システム１０は、正常に電力供給が停止されると、供給制御部１３が供給判定部１２に対し、電力供給の停止結果（正常に停止された旨）を返す（ステップＳ６０７）。
【０２０２】
これを受けて電源管理システム１０は、供給判定部１２が情報管理部３１に対し、デバイス状態情報２０Ｄ２の利用状態情報の更新を要求する（ステップＳ６０８）。
【０２０３】
電源管理システム１０は、情報管理部３１が、制御情報保持部２０にアクセスし、デバイス状態情報２０Ｄ２の利用状態情報を更新する（ステップＳ６０９）。その結果、図１９（Ｂ）に示すようなデバイス状態情報２０Ｄ２に更新される。具体的には、デバイス（Ａ）ＤＶａの利用状態値'１'が'０'に更新され、デバイス（Ｂ）ＤＶｂの利用状態値'１'が'０'に更新される。
【０２０４】
またこのとき、電源管理システム１０は、処理要求受付部１１が、アプリケーション（２）ＡＰ２からの処理要求通知を受け付けると（ステップＳ７０６）、供給判定部１２に対し、要求処理の実行に伴う利用デバイスＤＶへの電力供給の開始判定を要求する（ステップＳ７０７）。
【０２０５】
電源管理システム１０は、供給判定部１２が、開始判定要求に応じて、排他制御による利用許可判定と連携した供給判定を行う（ステップＳ７０８）。このとき、供給判定部１２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（２）ＡＰ２を特定する。供給判定部１２は、制御情報に基づき、特定したアプリケーション（２）ＡＰ２が利用するデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃを特定する。供給判定部１２は、特定したデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃに対して、電力供給を開始するか否かを、アプリケーション（１）ＡＰ１との排他制御による利用許可の判定結果（排他制御判定部による判定結果）に基づき、判定する。
【０２０６】
排他制御判定部１２１は、制御情報に含まれるデバイス対応情報２０Ｄ１の排他制御情報に基づき、デバイス（Ａ）ＤＶａに対して、排他制御を行うと判定し、デバイス（Ｃ）ＤＶｃに対して、排他制御を行わないと判定する。排他制御判定部１２１は、制御情報に含まれるデバイス状態情報２０Ｄ２を参照し、デバイス（Ａ）ＤＶａの利用状態値'０'と排他制御値'１'との比較し、利用状態値が排他制御値より小さいことから、アプリケーション（２）ＡＰ２に対して、デバイス（Ａ）ＤＶａの利用を許可すると判定する。これにより、排他制御判定部１２１では、デバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃの利用が許可される。
【０２０７】
その結果、供給判定部１２は、電力供給が停止しているデバイス（Ａ）ＤＶａと電力供給が開始されていないデバイス（Ｃ）ＤＶｃとに対して、電力供給を開始すると判定する。
【０２０８】
電源管理システム１０は、供給判定部１２が供給制御部１３に対し、デバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃに対する電力供給の開始を要求する（ステップＳ７０９）。
【０２０９】
電源管理システム１０は、供給制御部１３が、供給開始要求に従って電力供給を開始する（ステップＳ７１０）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給開始と判定されたデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃに対して、電力供給を開始する。
【０２１０】
電源管理システム１０は、正常に電力供給が開始されると、供給制御部１３が供給判定部１２に対し、電力供給の開始結果（正常に開始された旨）を返す（ステップＳ７１１）。
【０２１１】
これを受けて電源管理システム１０は、供給判定部１２が情報管理部３１に対し、デバイス状態情報２０Ｄ２の利用状態情報の更新を要求する（ステップＳ７１２）。
【０２１２】
電源管理システム１０は、情報管理部３１が、制御情報保持部２０にアクセスし、デバイス状態情報２０Ｄ２の利用状態情報を更新する（ステップＳ７１３）。その結果、図１９（Ｃ）に示すようなデバイス状態情報２０Ｄ２に更新される。具体的には、デバイス（Ａ）ＤＶａの利用状態値'０'が'１'に更新され、デバイス（Ｃ）ＤＶｃの利用状態値'０'が'１'に更新される。
【０２１３】
その後、電源管理システム１０は、供給判定部１２が、処理要求部１１を介して、アプリケーション（２）ＡＰ２に対し、電力供給結果（電力供給開始ＯＫの旨）を返す（ステップＳ７１４，Ｓ７１５）。
【０２１４】
これにより、アプリケーション（２）ＡＰ２では、デバイス（Ａ）ＤＶａ，（Ｃ）ＤＶｃを利用し、要求処理が実行される（ステップＳ７１６）。
【０２１５】
このように、電源管理システム１０では、デバイスＤＶの排他制御情報に基づき、複数のアプリケーションＡＰからの同一デバイス利用が排他制御され、デバイス利用可能であった場合、アプリケーションＡＰからの利用が許可され、利用デバイスＤＶの電力供給が制御される。
【０２１６】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、供給判定部１２により、利用者に機能提供を行うアプリケーションＡＰと機能提供時の利用デバイスＤＶとが対応付けられた制御情報（デバイス対応情報及びデバイス状態情報）に基づき、利用者からの要求処理を行うアプリケーションＡＰの利用デバイスＤＶに対して、電力供給を開始又は停止するか否かを判定する。このとき、供給判定部１２は、利用許可判定部１２０により、アプリケーションＡＰからデバイスＤＶの利用を許可するか否かを判定し、利用許可の判定結果に基づき、利用デバイスＤＶに対して、電力供給を開始又は停止するか否かを判定する。情報処理装置１００は、供給制御部１３により、供給判定部１２の判定結果に基づき、利用デバイスＤＶに対する電力供給の開始・停止を制御する。
【０２１７】
これによって、本実施形態に係る情報処理装置１００では、第１の実施形態と同様の効果を奏するとともに、電子機器において、省電力化を実現するための各種制御設定が可能な環境が提供できる。
【０２１８】
＜変形例＞
図２０は、本変形例に係る電源管理の機器構成例を示す図である。
上記実施形態では、電源管理の機器構成を、情報処理装置１００を例に電子機器単体とする場合の例を説明したが、この限りでない。例えば、図２０に示すように、複数の機器構成により実現することもできる。
【０２１９】
図２０には、サーバＳＶと電子機器ＥＤとが接続され、データ通信可能な機器構成例が示されている。
【０２２０】
（Ａ）に示す機器構成では、サーバＳＶが有する電源管理システム１０が、自機が有するアプリケーションＡＰからの処理要求に応じて、電子機器ＥＤが備えるデバイスＤＶの電力供給を制御する。具体的には、次のように行われる。
【０２２１】
サーバＳＶは、電源管理システム１０により、電力供給の開始判定を行い、電子機器ＥＤに対して、アプリケーションＡＰの利用デバイスＤＶの電力供給開始を指示する制御信号を送信する。その結果、電子機器ＥＤでは、該当デバイスＤＶの電力供給が開始され、サーバＳＶに対して、電力供給結果（正常開始）が送信される。これを受けてサーバＳＶは、アプリケーションＡＰにより、電子機器ＥＤに対して、処理条件データや処理データを送信し、デバイスＤＶを利用した処理の実行を要求する。これにより、電子機器ＥＤでは、アプリケーションＡＰが利用者から受け付けた要求処理が実行され、サーバＳＶに対して、処理結果が送信される。
【０２２２】
サーバＳＶは、電源管理システム１０により、電力供給の停止判定を行い、電子機器ＥＤに対して、アプリケーションＡＰの利用デバイスＤＶの電力供給停止を指示する制御信号を送信する。その結果、電子機器ＥＤでは、該当デバイスＤＶの電力供給が停止され、サーバＳＶに対して、電力供給結果（正常停止）が送信される。
【０２２３】
一方、（Ｂ）に示す機器構成では、電子機器ＥＤが有する電源管理システム１０が、サーバＳＶが有するアプリケーションＡＰからの処理要求に応じて、自機が備えるデバイスＤＶの電力供給を制御する。具体的には、次のように行われる。
【０２２４】
サーバＳＶは、アプリケーションＡＰにより、電子機器ＥＤに対して、処理条件データや処理データを送信し、デバイスＤＶを利用した処理の実行を要求する。これを受けて電子機器ＥＤは、電源管理システム１０により、電力供給の開始判定を行い、アプリケーションＡＰの利用デバイスＤＶの電力供給を開始し、アプリケーションＡＰが利用者から受け付けた要求処理を実行する。その後、電子機器ＥＤは、電源管理システム１０により、電力供給の停止判定を行い、利用デバイスＤＶの電力供給を停止し、サーバＳＶに対して、処理結果を送信する。
【０２２５】
ここで、（Ａ）と（Ｂ）の機器構成を比較してみる。（Ａ）に示す機器構成では、電源管理機能がサーバＳＶに集約されていることから、管理対象とする電子機器ＥＤの増減などに柔軟に対応できる。一方、（Ｂ）に示す機器構成では、電源管理機能を電子機器ＥＤが有することから、サーバＳＶと電子機器ＥＤとのデータ通信を伴うことなく電力供給が制御でき、管理対象とする電子機器ＥＤが多数存在する場合であっても、電源管理に係る通信負荷を軽減できる。
【０２２６】
このようなことから、（Ａ）又は（Ｂ）の機器構成により、電源管理機能を実現する場合には、管理者が運用上のメリット・デメリットを考慮し、適宜選択すればよい。
【０２２７】
以上のように、電源管理機能は、複数の機器構成であっても実現できる。
【０２２８】
また、上記実施形態では、情報処理装置１００が、制御情報としてデバイス対応情報２０Ｄ１を保持する構成について説明を行ったが、この限りでない。例えば、情報処理装置１００は、自機と異なる装置に保持されるデバイス対応情報２０Ｄ１を、所定のデータ伝送路（ネットワーク）を介して参照する構成であってもよい。
【０２２９】
また、上記実施形態では、情報処理装置１００を電子機器ＥＤの一例として説明を行ったが、この限りでない。例えば、図２１に示すような画像処理装置２００などであってもよい。図２１には、画像処理装置２００の１つである複合機のハードウェア構成例が示されている。なお、画像処理装置２００には、複合機の他に、プリンタ、スキャナ、プロジェクタなどがある。上記実施形態に係る電源管理機能は、電源管理対象となるデバイスＤＶを１又は複数備えた電子機器ＥＤであれば適用できる。
【０２３０】
［第３の実施形態］
本実施形態では、アプリケーション（要求処理）によるデバイス利用時の利用ドライバの起動・終了制御と連携し、利用デバイスに対する電力供給を制御する技術を提案する。
【０２３１】
なお、以降では、上記実施形態と異なる事項について説明し、同じ事項については、同一参照符号を付し、その説明を省略する。
【０２３２】
デバイスＤＶは、デバイスドライバ（以下単に「ドライバ」という）により制御される。ドライバは、アプリケーションＡＰ（デバイスを利用するソフトウェア）に対して、デバイス利用時の入出力インタフェース機能を提供するソフトウェアである。デバイスＤＶの仕様や制御方法は、製品によって大きく異なるため、ＯＳが単独で全ての製品をサポートすることは難しい。そのため、デバイスメーカは、自社製品を制御するためのドライバを提供し、利用者はそれをＯＳにインストールして使用する。
【０２３３】
このように、ドライバがインストールされた情報処理装置１００では、デバイスＤＶの接続に応じて、該デバイスＤＶに対応するドライバ（接続デバイス用のドライバ）が起動される。そのため、情報処理装置１００では、例えば、利用者がアプリケーションＡＰ（要求処理）の利用デバイスＤＶとは異なるデバイスＤＶ（利用しないデバイス）を接続した場合に、必要のないドライバが起動されることになる。その結果、情報処理装置１００では、不要なソフトウェアが起動することで、ＣＰＵ１０６やＲＡＭ１０４（メモリ）への負荷が高くなり、電力消費につながる。
【０２３４】
よって、情報処理装置１００では、省電力化の観点から、利用ドライバの起動・終了と利用デバイスＤＶに対する電力供給とを組み合わせて制御することが、より効果的である。
【０２３５】
＜ソフトウェア構成＞
図２２は、本実施形態に係る情報処理装置１００のソフトウェア構成例を示す図である。
図２２に示すように、本実施形態に係る情報処理装置１００では、電源管理システム１０に加えて、ドライバ管理システム４０を有している。
【０２３６】
ドライバ管理システム４０は、ドライバＤＤの管理機能を提供するソフトウェアである。ドライバ管理システム４０は、ドライバ管理機能を実現するためのプログラムや各種データを含む機能実現ソフトウェアである。図２２には、各デバイスＤＶに対応する複数のドライバ（１）ＤＤ１から（Ｎ）ＤＤｎを有している例が示されている。なお、本実施形態では、ドライバＤＤがＯＳにインストールされている例が示されている。
【０２３７】
アプリケーションＡＰは、ＯＳ上、電源管理システム１０上、又はドライバ管理システム４０上で動作するように開発・実装される。また、ドライバ管理システム４０は、電源管理システム１０と同様に、ＯＳ上で動作するように開発・実装される。
【０２３８】
これにより、アプリケーションＡＰは、ＯＳが提供する情報処理機能又はシステム４０が提供するドライバ管理機能と連携動作できる。また、ドライバ管理システム４０は、ＯＳが提供する情報処理機能又はシステム１０が提供する電源管理機能と連携動作できる（ミドルウェアとして機能できる）。
【０２３９】
具体的に本実施形態では、上記ソフトウェアが次のように連携動作し、電源管理機能が実現される。
【０２４０】
アプリケーションＡＰは、利用者からデバイスＤＶを利用する処理要求を受け付けると、利用者の処理要求に従って、提供機能を実現するための処理を行う。このとき、アプリケーションＡＰは、ドライバ管理システム４０に対して、処理要求を受け付けた旨を通知する。ドライバ管理システム４０では、要求処理を実現するための利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）を起動し、電源管理システム１０に対して、利用デバイスＤＶに対する電力供給の開始を要求する。その結果、電源管理システム１０では、ＯＳを介して、利用デバイスＤＶに対して、電力供給を開始する。
【０２４１】
これを受けて、アプリケーションＡＰは、ＯＳを介して、利用デバイスＤＶを用いて要求処理を行い、処理が終了すると、ドライバ管理システム４０に対して、要求処理が終了した旨を通知する。ドライバ管理システム４０では、要求処理を実現するための利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）を終了し、電源管理システム１０に対して、利用デバイスＤＶに対する電力供給の停止を要求する。その結果、電源管理システム１０では、ＯＳを介して、利用デバイスＤＶに対して、電力供給を停止する。
【０２４２】
以上のように、本実施形態に係る情報処理装置１００は、上記ソフトウェア構成により、ドライバ管理機能（ドライバの起動・終了制御）と連携した電源管理機能（電源管理サービス）を提供することができる。
【０２４３】
＜電源管理機能＞
図２３は、本実施形態に係る電源管理の機能構成例を示す図である。
図２３に示すように、本実施形態に係る電源管理機能は、電源管理システム１０、ドライバ管理システム４０、及びデバイス検知部７１が連携動作することにより実現される。
【０２４４】
本実施形態に係る電源管理システム１０は、供給制御部１３のみを有し、要求に応じて、デバイスＤＶに対する電力供給を制御する。
【０２４５】
一方、本実施形態に係るドライバ管理システム４０は、処理要求受付部４１、利用ドライバ特定部４２、起動・終了制御部４３、及び情報管理部６１などを有し、アプリケーションＡＰ（処理要求）に応じて、利用ドライバＤＤの起動・終了を制御するとともに、利用デバイスＤＶに対する電力供給の制御要求を行う。なお、デバイス検知部７１は、情報処理装置１００へのデバイスＤＶの接続を検知する機能部である。
【０２４６】
情報管理部６１は、利用ドライバＤＤの起動・終了を制御するために用いる制御情報を管理する機能部である。情報管理部６１は、制御情報保持部５０にアクセスし、所定のデータ操作により、制御情報を管理する。なお、制御情報保持部５０は、例えば、情報処理装置１００が備える記憶装置（ＨＤＤ）の所定の記憶領域にあたる。また、所定のデータ操作には、他の機能部からの要求に応じた、データ参照（取得）、データ登録（保存：書き込み）、データ更新（変更：上書き）、及びデータ削除（消去）などがある。
【０２４７】
ここで、制御情報について説明する。
本実施形態では、制御情報保持部５０に、図２４及び図２５に示すような制御情報を保持している。
【０２４８】
図２４は、本実施形態に係るデバイス対応情報５０Ｄ１のデータ例を示す図である。
図２４に示すように、デバイス対応情報５０Ｄ１は、［アプリ識別］及び［利用デバイス］などの情報項目が、アプリ（提供機能）単位で対応付けられている。この情報により、アプリケーションＡＰと機能提供時の利用デバイスＤＶとの対応関係が管理される。なお、デバイス対応情報５０Ｄ１は、第１の実施形態で説明を行ったデバイス対応情報２０Ｄ１と同じデータであることから、ここでの説明を省略する。
【０２４９】
図２５は、本実施形態に係るドライバ対応情報５０Ｄ２のデータ例を示す図である。
図２５に示すように、ドライバ対応情報５０Ｄ２は、［デバイス識別］及び［利用ドライバ］などの情報項目が、デバイス単位で対応付けられている。この情報により、機能提供時の利用デバイスＤＶと利用ドライバＤＤとの対応関係が管理される。
【０２５０】
［デバイス識別］項目は、デバイス識別情報が設定される項目である。［利用ドライバ］項目は、機能提供時の利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）を識別する情報（以下「ドライバ識別情報」という）が設定される項目である。項目値には、例えば、ドライバＤＤにユニークに割り当てられたＩＤ値（ドライバＩＤ）や文字列値（ドライバ名）などがある。
【０２５１】
これらの項目値は、例えば、管理者が、搭載デバイスＤＶ又は情報処理装置１００に接続可能なデバイスＤＶと搭載ドライバＤＤとに基づき、予め設定しておく。よって、情報管理部６１は、管理者に対し、これらの項目値を設定可能な設定機能（所定のツール）を提供し、設定機能を介して入力値を受け付けると、制御情報保持部５０にアクセスし、入力値をドライバ対応情報５０Ｄ２の項目値として設定する。これにより、デバイス単位でドライバ対応情報５０Ｄ２が登録される。なお、情報管理部６１は、ドライバＤＤのインストールに連動して、ドライバ対応情報５０Ｄ２を登録するようにしてもよい。この場合、インストールされたドライバＤＤに関する情報（インストール情報）などに基づき、対応付けるデバイスＤＶを特定し、ドライバ対応情報５０Ｄ２を登録する。なお、デバイス検知部７１からのデバイス検知結果の通知に連動させて、ドライバ対応情報５０Ｄ２を登録するようにしてもよい。
【０２５２】
図２３の説明に戻る。処理要求受付部４１は、第１の実施形態で説明を行った処理要求受付部１１と同じ機能部である。よって、ここでの説明は、異なる点のみとする。処理要求受付部４１は、受け付けた処理要求に応じた利用ドライバＤＤの制御結果（起動・終了結果）及び利用デバイスＤＶの電力供給結果（開始・停止結果）を要求元（アプリケーション）に応答する。
【０２５３】
利用ドライバ特定部４２は、利用者からの要求処理を行うアプリケーションＡＰの利用ドライバＤＤを特定する機能部である。利用ドライバ特定部４２は、利用ドライバＤＤの特定を制御情報に基づき行う。具体的には、次の通りである。
【０２５４】
利用ドライバ特定部４２は、情報管理部６１を介して制御情報保持部５０にアクセスし、処理要求通知受付時に受け取ったアプリ識別情報に基づき、制御情報に含まれるデバイス対応情報５０Ｄ１を参照する。利用ドライバ特定部４２は、アプリ識別情報に対応付けられたデバイス識別情報に基づき、処理要求を受け付けたアプリケーションＡＰの利用デバイスＤＶを特定する。つまり、利用ドライバ特定部４２は、制御情報に基づき、電源管理対象の利用デバイスＤＶを特定する。
【０２５５】
次に、利用ドライバ特定部４２は、情報管理部６１を介して制御情報保持部５０にアクセスし、アプリ識別情報に対応付けられたデバイス識別情報に基づき、制御情報に含まれるドライバ対応情報５０Ｄ２を参照する。利用ドライバ特定部４２は、デバイス識別情報に対応付けられたドライバ識別情報に基づき、利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）を特定する。つまり、利用ドライバ特定部４２は、制御情報に基づき、起動・終了制御対象の利用ドライバＤＤを特定する。
【０２５６】
なお、利用ドライバ特定部４２は、処理要求受付部４１が受け付けた要求処理に応じて、上記方法により、起動・終了制御対象の利用ドライバＤＤを特定する。具体的には、利用ドライバ特定部４２は、受け付けた要求処理が「処理要求通知」であった場合、起動制御対象の利用ドライバＤＤを特定する。一方、利用ドライバ特定部４２は、受け付けた要求処理が「処理終了通知」であった場合、終了制御対象の利用ドライバＤＤを特定する。
【０２５７】
利用ドライバ特定部４２は、上記特定結果に基づき、後述する起動・終了制御部４３に対して、利用ドライバＤＤの起動・終了制御を要求するとともに、電源管理システム１０（供給制御部）に対して、利用デバイスＤＶに対する電力供給の制御を要求する。
【０２５８】
なお、利用ドライバ特定部４２は、デバイス検知部７１からのデバイス検知結果に基づき、上記起動・終了制御の要求及び電力供給制御の要求を行う。具体的には、次の通りである。
【０２５９】
利用ドライバ特定部４２は、デバイス検知結果に基づき、特定した利用デバイスＤＶが、情報処理装置１００に接続されているか否かを判定する。また、利用ドライバ特定部４２は、特定した利用ドライバＤＤが、情報処理装置１００にインストールされているか否かを判定する。その結果、利用ドライバ特定部４２は、利用デバイスＤＶが接続されており、かつ、利用ドライバＤＤがインストール済みの場合、上記起動・終了制御の要求及び電力供給制御の要求を行う。つまり、利用デバイスＤＶが接続されていない場合や利用ドライバＤＤがインストールされていない場合には、上記起動・終了制御の要求及び電力供給制御の要求を行わない。
【０２６０】
これにより、不要なデバイスＤＶに電力供給されることも、不要なドライバＤＤが起動されることもない。よって、効率的な省電力化を実現できる。
【０２６１】
なお、利用ドライバ特定部４２は、利用デバイスＤＶが接続されている場合、後述する起動・終了制御部４３に対して、特定した利用ドライバＤＤのドライバ識別情報を渡し、上記起動・終了制御を要求する。また、利用ドライバ特定部４２は、起動・終了結果（正常起動・正常終了の旨）を受けて、電源管理システム１０（供給制御部）に対して、特定した利用デバイスＤＶのデバイス識別情報を渡し、上記電力供給制御を要求する。
【０２６２】
起動・終了制御部４３は、利用ドライバＤＤの起動・終了を制御する機能部である。起動・終了制御部４３は、上記特定結果に基づき行う。起動・終了制御部４３は、利用ドライバ特定部４２から受け取ったドライバ識別情報に基づき、起動／終了制御対象の利用ドライバＤＤを特定し、起動／終了する。起動・終了制御部４３は、利用ドライバ特定部４２から起動要求を受け付けると、起動制御対象の利用ドライバＤＤを起動する。一方、起動・終了制御部４３は、利用ドライバ特定部４２から終了要求を受け付けると、終了制御対象の利用ドライバＤＤを起動する。起動・終了制御部４３は、起動・終了結果をドライバＤＤから受け取り、利用ドライバ特定部４２に渡す。
【０２６３】
これにより、アプリケーションＡＰは、利用ドライバＤＤを介して、利用デバイスＤＶを利用し、要求処理を実行する。
【０２６４】
以上のように、本実施形態に係る電源管理機能は、上記各機能部が連携動作することにより実現される。
【０２６５】
本実施形態に係る電源管理機能の詳細な動作（機能部群の連携動作）について、処理手順を示すフローチャート及びシーケンス図を用いて説明する。
【０２６６】
《利用ドライバの起動・終了と連携した電源管理の主な処理》
図２６は、本実施形態に係る電源管理の処理手順例（電力供給開始時）を示すシーケンス図である。図２６に示す例は、情報処理装置１００における処理手順例であり、アプリケーション（１）ＡＰ１が、機能提供時に３つのデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用する場合を想定したものである。よって、制御情報には、アプリケーション（１）ＡＰ１と利用デバイス（デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃ）との対応関係がデバイス対応情報５０Ｄ１に設定されており、利用デバイスＤＶと利用ドライバ（ドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃ）との対応関係がドライバ対応情報５０Ｄ２に設定されているものとする。
【０２６７】
図２６に示すように、まず、情報処理装置１００は、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃの接続をデバイス検知部７１により検知する（ステップＳ８０１）。その結果、デバイス検知部７１からは、ドライバ管理システム４０（利用ドライバ特定部）に対して、検知結果が渡される（ステップＳ８０２）。
【０２６８】
ドライバ管理システム４０は、処理要求受付部４１が、アプリケーション（１）ＡＰ１からの処理要求通知を受け付ける（ステップＳ９０１）。このとき、処理要求受付部４１は、アプリケーション（１）ＡＰ１からアプリ識別情報を受け取る。
【０２６９】
ドライバ管理システム４０は、処理要求受付部４１が利用ドライバ特定部４２に対し、要求処理の実行に伴う利用ドライバＤＤの特定（処理要求通知受付時の利用ドライバ特定）を要求する（ステップＳ９０２）。このとき、利用ドライバ特定部４２は、処理要求受付部４１からアプリ識別情報を受け取る。
【０２７０】
ドライバ管理システム４０は、利用ドライバ特定部４２が、処理要求通知受付時の利用ドライバ特定（起動制御対象特定）を行う（ステップＳ９０３）。このとき、利用ドライバ特定部４２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（１）ＡＰ１を特定する。利用ドライバ特定部４２は、制御情報（デバイス対応情報）に基づき、特定したアプリケーション（１）ＡＰ１が利用するデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する（アプリ識別情報に対応付けられたデバイス識別情報を取得する）。利用ドライバ特定部４２は、制御情報（ドライバ対応情報）に基づき、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対応するドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する（デバイス識別情報に対応付けられたドライバ識別情報を取得する）。なお、起動制御対象である利用ドライバ特定処理については、図２８を用いて後述する。
【０２７１】
ドライバ管理システム４０は、利用ドライバ特定部４２が起動・終了制御部４３に対し、ドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの起動を要求する（ステップＳ９０４）。このとき、起動・終了制御部４３は、利用ドライバ特定部４２からドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報を受け取る。
【０２７２】
ドライバ管理システム４０は、起動・終了制御部４３が、起動要求に従って該当ドライバＤＤを起動する（ステップＳ９０５）。このとき、起動・終了制御部４３は、ドライバ識別情報に基づき、起動要求されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する。起動・終了制御部４３は、特定したデバイス（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを起動する。
【０２７３】
ドライバ管理システム４０は、起動・終了制御部４３からの起動結果（正常起動の旨）を受けて、利用ドライバ特定部４２が電源管理システム１０（供給制御部）に対し、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃ（起動した利用ドライバが対応するデバイス）に対する電力供給の開始を要求する（ステップＳ９０６）。このとき、電源管理システム１０（供給制御部）は、利用ドライバ特定部４２からデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報を受け取る。
【０２７４】
電源管理システム１０は、供給制御部１３が、供給開始要求に従って電力供給を開始する（ステップＳ９０７）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給開始するデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を開始する。
【０２７５】
電源管理システム１０は、正常に電力供給が開始されると、供給制御部１３がドライバ管理システム４０（利用ドライバ特定部）に対し、電力供給の開始結果（正常に開始された旨）を返す（ステップＳ９０８）。
【０２７６】
これを受けてドライバ管理システム４０は、利用ドライバ特定部４２が、処理要求受付部４１を介して、アプリケーション（１）ＡＰ１に対し、ドライバ起動・電力供給結果（利用ドライバの起動と利用デバイスの電力供給開始ＯＫの旨）を返す（ステップＳ９０９，Ｓ９１０）。
【０２７７】
これにより、アプリケーション（１）ＡＰ１では、起動されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを介して、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用し、要求処理が実行される（ステップＳ９１１）。
【０２７８】
図２７は、本実施形態に係る電源管理の処理手順例（電力供給停止時）を示すシーケンス図である。
【０２７９】
その結果、ドライバ管理システム４０は、処理要求受付部４１が、アプリケーション（１）ＡＰ１からの処理終了通知を受け付ける（ステップＳ９１２）。このとき、処理要求受付部４１は、アプリケーション（１）ＡＰ１からアプリ識別情報を受け取る。
【０２８０】
ドライバ管理システム４０は、処理要求受付部４１が利用ドライバ特定部４２に対し、終了した要求処理の利用ドライバＤＤの特定（処理終了通知受付時の利用ドライバ特定）を要求する（ステップＳ９１３）。このとき、利用ドライバ特定部４２は、処理要求受付部４１からアプリ識別情報を受け取る。
【０２８１】
ドライバ管理システム４０は、利用ドライバ特定部４２が、処理終了通知受付時の利用ドライバ特定（終了制御対象特定）を行う（ステップＳ９１４）。このとき、利用ドライバ特定部４２は、アプリ識別情報に基づき、機能提供を行ったアプリケーション（１）ＡＰ１を特定する。利用ドライバ特定部４２は、制御情報（デバイス対応情報）に基づき、特定したアプリケーション（１）ＡＰ１が利用したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する（アプリ識別情報に対応付けられたデバイス識別情報を取得する）。利用ドライバ特定部４２は、制御情報（ドライバ対応情報）に基づき、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対応するドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する（デバイス識別情報に対応付けられたドライバ識別情報を取得する）。なお、終了制御対象である利用ドライバ特定処理については、図２８を用いて後述する。
【０２８２】
ドライバ管理システム４０は、利用ドライバ特定部４２が起動・終了制御部４３に対し、ドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの終了を要求する（ステップＳ９１５）。このとき、起動・終了制御部４３は、利用ドライバ特定部４２からドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報を受け取る。
【０２８３】
ドライバ管理システム４０は、起動・終了制御部４３が、終了要求に従って該当ドライバＤＤを起動する（ステップＳ９１６）。このとき、起動・終了制御部４３は、ドライバ識別情報に基づき、終了要求されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する。起動・終了制御部４３は、特定したデバイス（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを終了する。
【０２８４】
ドライバ管理システム４０は、起動・終了制御部４３からの終了結果（正常終了の旨）を受けて、利用ドライバ特定部４２が電源管理システム１０（供給制御部）に対し、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃ（終了した利用ドライバが対応するデバイス）に対する電力供給の停止を要求する（ステップＳ９１７）。このとき、電源管理システム１０（供給制御部）は、利用ドライバ特定部４２からデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報を受け取る。
【０２８５】
電源管理システム１０は、供給制御部１３が、供給停止要求に従って電力供給を停止する（ステップＳ９１８）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給停止するデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を停止する。
【０２８６】
電源管理システム１０は、正常に電力供給が停止されると、供給制御部１３がドライバ管理システム４０（利用ドライバ特定部）に対し、電力供給の停止結果（正常に停止された旨）を返す（ステップＳ９１９）。
【０２８７】
これにより、処理要求前に情報処理装置１００に接続されたデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃが切断できる。
【０２８８】
《利用ドライバ特定の処理》
図２８は、本実施形態に係る利用ドライバ特定の処理手順例を示すフローチャートである。図２８に示す例は、利用ドライバ特定部４２により、上記ステップＳ９０３，Ｓ９１４で実行される処理手順例である。
【０２８９】
図２８に示すように、利用ドライバ特定部４２は、処理要求受付部４１から受け取ったアプリ識別情報に基づき、特定アプリケーションＡＰからの処理要求を受け付けたかを判定する（ステップＳ１００１）。このとき、利用ドライバ特定部４２は、情報管理部６１を介して、制御情報保持部５０にアクセスする。利用ドライバ特定部４２は、アプリ識別情報に基づき、制御情報保持部５０で保持するデバイス対応情報５０Ｄ１を参照する。利用ドライバ特定部４２は、参照したデバイス対応情報５０Ｄ１にアプリ識別情報が登録されているか否かを判定する。このようにして、利用ドライバ特定部４２は、デバイスＤＶを利用した機能提供が許可されたアプリか否かのアプリ認証を行う。
【０２９０】
利用ドライバ特定部４２は、アプリ識別情報が登録されていない場合（ステップ１００１：ＮＯ）、所定のエラー処理を行う（ステップＳ１０１２）。このとき行うエラー処理は、機能提供が許可されていない旨をアプリケーションＡＰに通知するなどである。
【０２９１】
一方、利用ドライバ特定部４２は、アプリ識別情報が登録されている場合（ステップＳ１００１：ＹＥＳ）、アプリ識別情報に基づき、制御情報保持部５０で保持するデバイス対応情報５０Ｄ１を参照する（ステップＳ１００２）。
【０２９２】
利用ドライバ特定部４２は、アプリ識別情報に対応付けられたデバイス識別情報に基づき、処理要求を受け付けたアプリケーションＡＰの利用デバイスＤＶを特定する（ステップＳ１００３）。
【０２９３】
利用ドライバ特定部４２は、特定した利用デバイスＤＶのデバイス識別情報とデバイス検知部７１からの検知結果とに基づき、特定した利用デバイスＤＶが接続中（接続済み）か否かを判定する（ステップＳ１００４）。
【０２９４】
利用ドライバ特定部４２は、利用デバイスＤＶが接続中（接続済み）でない場合（ステップ１００４：ＮＯ）、所定のエラー処理を行う（ステップＳ１０１２）。このとき行うエラー処理は、機能提供時の利用デバイスＤＶが接続されていない旨をアプリケーションＡＰに通知するなどである。
【０２９５】
一方、利用ドライバ特定部４２は、利用デバイスＤＶが接続中（接続済み）の場合（ステップ１００４：ＹＥＳ）、特定した利用デバイスＤＶのデバイス識別情報に基づき、制御情報保持部５０で保持するドライバ対応情報５０Ｄ２を参照する（ステップＳ１００５）。
【０２９６】
利用ドライバ特定部４２は、デバイス識別情報に対応付けられたドライバ識別情報に基づき、利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）を特定する（ステップＳ１００６）。
【０２９７】
利用ドライバ特定部４２は、特定した利用ドライバＤＤのドライバ識別情報に基づき、特定した利用ドライバＤＤがインストール済みか否かを判定する（ステップＳ１００７）。
【０２９８】
利用ドライバ特定部４２は、利用ドライバＤＤがインストール済みでない場合（ステップ１００７：ＮＯ）、所定のエラー処理を行う（ステップＳ１０１２）。このとき行うエラー処理は、機能提供時の利用ドライバＤＤがインストールされていない旨をアプリケーションＡＰに通知するなどである。
【０２９９】
一方、利用ドライバ特定部４２は、利用ドライバＤＤがインストール済みの場合（ステップ１００７：ＹＥＳ）、電源管理対象とする利用デバイスＤＶと、該利用デバイスＤＶに対応するドライバＤＤ（起動・終了制御対象とする利用ドライバ）とを特定する（ステップＳ１００８）。つまり、利用ドライバ特定部４２は、上記接続状況及び上記インストール状況に応じて、電源管理対象の利用デバイスＤＶと起動・終了制御対象の利用ドライバＤＤとを特定する。
【０３００】
このとき、利用ドライバ特定部４２は、処理要求受付部４１から処理要求通知を受け付けた場合、接続中の利用デバイスＤＶを電力供給の開始対象として特定し、該利用デバイスＤＶに対応するインストール済みのドライバＤＤ（利用ドライバ）を起動制御対象として特定する。
【０３０１】
一方、利用ドライバ特定部４２は、処理要求受付部４１から処理終了通知を受け付けた場合、接続中の利用デバイスＤＶを電力供給の停止対象として特定し、該利用デバイスＤＶに対応するインストール済みのドライバＤＤ（利用ドライバ）を終了制御対象として特定する。なお、未接続の利用デバイスＤＶや該利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）、又は、未インストールの利用ドライバＤＤや該利用ドライバＤＤが対応する接続中のデバイスＤＶ（利用デバイス）などは、電源管理対象及び起動・終了制御対象としない。
【０３０２】
利用ドライバ特定部４２は、電源管理対象の利用デバイスＤＶと起動・終了制御対象の利用ドライバＤＤとが特定されたか否かを判定する（ステップＳ１００９）。
【０３０３】
利用ドライバ特定部４２は、電源管理対象の利用デバイスＤＶと起動・終了制御対象の利用ドライバＤＤとが特定された場合（ステップＳ１００９：ＹＥＳ）、起動・終了制御部４３に対し、特定された利用ドライバＤＤの起動又は終了を要求する（ステップＳ１０１０）。
【０３０４】
利用ドライバ特定部４２は、起動・終了結果を受けて、電源管理システム１０（供給制御部）に対し、起動又は終了された利用ドライバＤＤが対応するデバイスＤＶ（特定された利用デバイス）に対する電力供給の開始又は停止を要求する（ステップＳ１０１１）。
【０３０５】
このように、利用ドライバ特定部４２は、処理要求受付部４１から処理要求通知を受け付けた場合、接続中の利用デバイスＤＶに対応するインストール済みのドライバＤＤ（利用ドライバ）の起動を要求し、利用デバイスＤＶに対する電力供給の開始を要求する。一方、処理要求受付部４１から処理終了通知を受け付けた場合には、接続中の利用デバイスＤＶに対応する動作中のドライバＤＤ（利用ドライバ）の終了を要求し、利用デバイスＤＶに対する電力供給の停止を要求する。
【０３０６】
これにより、本実施形態では、不要なデバイスＤＶに対する電力供給や不要なドライバＤＤの起動が行われない効率的な省電力化を実現する環境を提供する。
【０３０７】
《デバイス切断時の電源管理の処理》
図２９は、本実施形態に係る電源管理の処理手順例（デバイス切断による電力供給停止時）を示すシーケンス図である。図２７には、アプリケーションＡＰからの処理終了通知受付時における利用ドライバＤＤの終了制御や利用デバイスＤＶに対する電力停止制御の処理手順例を示したが、この限りでない。例えば、利用デバイスＤＶが情報処理装置１００に挿抜接続可能なデバイスＤＶであった場合には、アプリケーションＡＰからの処理終了通知を受け付ける前に、デバイスＤＶの接続が切断される場面も考えられる。図２９には、このような場面に対応する電源管理の処理手順例が示されている。図２９に示す例は、アプリケーション（１）ＡＰ１が、機能提供時に３つのデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用中に、これらの利用デバイスＤＶの接続が切断された場合を想定したものである。
【０３０８】
図２９に示すように、情報処理装置１００は、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃの切断をデバイス検知部７１により検知する（ステップＳ１１０１）。その結果、デバイス検知部７１からは、ドライバ管理システム４０（利用ドライバ特定部）に対して、検知結果が渡される（ステップＳ１１０２）。
【０３０９】
ドライバ管理システム４０は、アプリケーション（１）ＡＰ１の処理中（処理終了通知受付前）に利用デバイスＤＶの切断結果を受け付けると、利用ドライバ特定部４２が、利用デバイス切断時の利用ドライバ特定（終了制御対象特定）を行う（ステップＳ１１０３）。以降の処理は、図２７に示したステップＳ９１５からＳ９１９の処理を同じである。
【０３１０】
ドライバ管理システム４０は、電源管理システム１０（供給制御部）からの電力供給結果を受け付けると、利用ドライバ特定部４２が、処理要求受付部４１を介して、アプリケーション（１）ＡＰ１に対し、ドライバ終了・電力供給結果（利用ドライバの終了と利用デバイスの電力供給停止の旨）を返す（ステップＳ１１０９，Ｓ１１１０）。
【０３１１】
これにより、アプリケーション（１）ＡＰ１では、処理中にデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃが切断された旨の通知を受け付ける。
【０３１２】
《ドライバ対応情報設定の処理》
図３０は、本実施形態に係るドライバ対応情報設定の処理手順例を示すフローチャートである。ここで、情報管理部６１によるドライバ対応情報５０Ｄ２の設定処理について説明する。
【０３１３】
図３０に示すように、情報管理部６１は、設定要求を受け付けると（ステップＳ１２０１：ＹＥＳ）、制御情報保持部５０にアクセスし、制御情報であるドライバ対応情報５０Ｄ２を参照する（ステップＳ１２０２）。
【０３１４】
情報管理部６１は、デバイス検知部７１からの検知結果に基づき、接続検知されたデバイスＤＶからデバイス情報を取得し（ステップＳ１２０３）、ＯＳからインストール済みドライバＤＤのドライバ情報を取得する（ステップＳ１２０４）。
【０３１５】
情報管理部６１は、取得した各種情報（デバイス情報及びドライバ情報）に基づき、所定のＧＵＩを有する設定画面を生成し、表示装置１０２に表示する（ステップＳ１２０５）。
【０３１６】
これにより、管理者は、設定画面上でデバイスＤＶを指定し、該デバイスＤＶに対応するドライバＤＤを指定することで、ドライバ設定を行う。
【０３１７】
情報管理部６１は、設定画面を介して、ドライバ設定を受け付けると（ステップＳ１２０６：ＹＥＳ）、受け付けた設定値（指定されたドライバ識別情報）を、ドライバ対象情報５０Ｄ２の該当情報項目に項目値として記録し（ステップＳ１２０７）、登録・更新する。このとき、情報管理部６１は、設定画面上で指定されたデバイスＤＶのデバイス識別情報に基づき、ドライバ対象情報５０Ｄ２内に、一致するデバイスＤＶの登録情報（［デバイス識別］項目）が存在するか否かを判定する。情報管理部６１は、一致するデバイスＤＶの登録情報が存在する場合、一致した［デバイス識別］項目に対応付けられた［利用ドライバ］項目に、設定値であるドライバ識別情報を格納する（［利用ドライバ］項目を更新録する）。一方、情報管理部６１は、一致するデバイスＤＶの登録情報が存在しない場合、［デバイス識別］項目に、指定されたデバイスＤＶのデバイス識別情報を格納し、これに対応付けて、［利用ドライバ］項目に、設定値であるドライバ識別情報を格納する（［デバイス識別］項目と［利用ドライバ］項目との情報セットを新規登録する）。
【０３１８】
なお、情報管理部６１は、設定画面の表示時に、次のような排他処理を行ってもよい。情報管理部６１は、取得したドライバ情報に含まれる対応デバイスに関する情報に基づき、指定デバイスＤＶに対応しないドライバＤＤが設定画面上で指定できないように、デバイスＤＶが指定された際に、対応しないドライバＤＤの指定ＧＵＩを非表示又は半輝度表示とする。また、指定デバイスＤＶに対応しないドライバＤＤが設定画面上で指定された場合には、指定できない旨を表示（通知）するようにしてもよい。これにより、管理者による誤ったドライバ設定を未然に防ぐことができる。
【０３１９】
また、上記ドライバ対応情報５０Ｄ２の設定処理では、情報処理装置１００にデバイスＤＶを接続し、デバイス検知部７１により接続検知されたデバイスＤＶからデバイス情報を取得する処理が記載されているが、この限りでない。例えば、情報処理装置１００は、自機と異なる装置（非図示）に保持されるデバイスＤＶごとのデバイス情報を、所定のデータ伝送路（ネットワーク）を介して取得する処理であってもよい。また、例えば、情報処理装置１００は、自機と異なる装置に接続されるデバイスＤＶから、所定のデータ伝送路を介して、デバイス情報を取得する処理であってもよい。
【０３２０】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、利用ドライバ特定部４２により、利用者に機能提供を行うアプリケーションＡＰ、機能提供時の利用デバイスＤＶ、及び機能提供時の利用ドライバＤＤが対応付けられた制御情報（デバイス対応情報及びドライバ対応情報）に基づき、利用者からの要求処理を行うアプリケーションＡＰの利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）を特定する。情報処理装置１００は、起動・終了制御部４３により、利用ドライバ特定部４２で特定された利用ドライバＤＤの起動・終了を制御する。また、情報処理装置１００は、供給制御部１３により、起動・終了された利用ドライバＤＤが対応するデバイスＤＶ（利用デバイス）に対する電力供給の開始・停止を制御する。
【０３２１】
これによって、本実施形態に係る情報処理装置１００では、第１の実施形態と同様の効果を奏するとともに、利用者の処理要求を実行する上で不要なドライバＤＤを起動しない環境が提供でき、電子機器ＥＤにおいて、ドライバ起動によるハードウェア資源（リソース）への負荷を軽減できる。
【０３２２】
［第４の実施形態］
本実施形態では、アプリケーション（要求処理）によるデバイス利用時の利用ドライバの利用状態に応じた起動・終了制御（起動・終了の許可判定結果に基づく制御）と連携し、利用デバイスに対する電力供給を制御する技術を提案する。
【０３２３】
なお、以降では、上記実施形態と異なる事項について説明し、同じ事項については、同一参照符号を付し、その説明を省略する。
【０３２４】
＜電源管理機能＞
図３１は、本実施形態に係る電源管理の機能構成例を示す図である。
図３１に示すように、本実施形態に係る電源管理機能では、利用ドライバ特定部４２が、利用ドライバＤＤの起動・終了を許可するか否かを判定する起動・終了許可判定部４２０を有している。
【０３２５】
起動・終了許可判定部４２０は、予め設定しておいたドライバＤＤごとの最大利用許可数とドライバＤＤの利用状態とに基づき、上記起動・終了の許可判定を行う。なお、上記最大利用許可数に関する情報（以下便宜上「最大利用許可情報」という）及び上記利用状態に関する情報（以下便宜上「ドライバ状態情報」という）は、制御情報として制御情報保持部５０に保持され、情報管理部６１により管理されている。
【０３２６】
ここで、最大利用許可情報及びドライバ状態情報について説明する。
図３２は、本実施形態に係る最大利用許可情報５０Ｄ３のデータ例を示す図である。
図３２に示すように、最大利用許可情報５０Ｄ３は、［ドライバ識別］及び［最大利用許可数］などの情報項目が、ドライバ単位で対応付けられている。この情報により、ドライバＤＤごとの最大利用許可数が管理される。
【０３２７】
［ドライバ識別］項目は、ドライバ識別情報が設定される項目である。［最大利用許可数］項目は、複数のアプリケーションＡＰからの利用を許可する最大数を示す情報（以下「最大利用許可数情報」という）が設定される項目である。項目値には、例えば、ドライバＤＤの仕様に応じて決定された利用許可数を示す数値（１以上の数値）などがある。
【０３２８】
これらの項目値は、例えば、管理者が、搭載ドライバＤＤに基づき、予め設定しておく。よって、情報管理部６１は、管理者に対し、これらの項目値を設定可能な設定機能（所定のツール）を提供し、設定機能を介して入力値を受け付けると、制御情報保持部５０にアクセスし、入力値を最大利用許可情報５０Ｄ３の項目値として設定する。これにより、ドライバ単位で最大利用許可情報５０Ｄ３が登録される。なお、情報管理部６１は、ドライバＤＤのインストールに連動して、最大利用許可情報５０Ｄ３を登録するようにしてもよい。この場合、インストールされたドライバＤＤに関する情報（インストール情報）などに基づき、利用許可数を特定し、最大利用許可情報５０Ｄ３を登録する。
【０３２９】
図３３は、本実施形態に係るドライバ状態情報５０Ｄ４のデータ例を示す図である。
図３３に示すように、ドライバ状態情報５０Ｄ４は、［搭載ドライバ］及び［利用数］などの情報項目が、ドライバ単位で対応付けられている。この情報により、ドライバＤＤごとの利用状態が管理される。
【０３３０】
［搭載ドライバ］項目は、デバイス識別情報が設定される項目である。［利用数］項目は、機能提供時のアプリケーションＡＰによるドライバＤＤの利用数（利用状態）を示す情報（以下便宜上「利用状態情報」という）が設定される項目である。項目値には、例えば、ドライバＤＤの利用数を示す数値（０以上の数値）などがある。
【０３３１】
［搭載ドライバ］項目の値は、例えば、管理者が、起動・終了制御対象とするドライバＤＤに基づき、予め設定しておく。なお、この項目値の設定方法は、ドライバ対応情報５０Ｄ２と同様である。また、［利用数］項目の値は、［搭載ドライバ］項目の設定と連動して、予め決めておいた利用されていない状態を示す利用数'０'（デフォルト値）が設定される。これにより、ドライバ単位でドライバ状態情報５０Ｄ４が登録される。
【０３３２】
以後、ドライバ状態情報５０Ｄ４は、アプリケーションＡＰからのドライバ利用に応じて、次のように更新される。情報管理部６１は、制御情報保持部５０にアクセスし、ドライバ状態情報５０Ｄ４の利用状態情報に利用ドライバＤＤの利用数（'１'以上の数値）を設定する。これにより、ドライバ単位でドライバ状態情報５０Ｄ４が更新される。
【０３３３】
図３１の説明に戻る。起動・終了許可判定部４２０は、上記最大利用許可情報５０Ｄ３及び上記ドライバ状態情報５０Ｄ４に基づき、起動・終了の許可判定を次のように行う。
【０３３４】
起動・終了許可判定部４２０は、処理要求受付部４１が処理要求通知を受け付け、利用ドライバ特定部４２が利用デバイスＤＶと利用ドライバＤＤとを特定すると、情報管理部６１を介して、制御情報保持部５０にアクセスする。
【０３３５】
起動・終了許可判定部４２０は、処理要求通知受付時に特定された利用ドライバＤＶのドライバ識別情報に基づき、制御情報である最大利用許可情報５０Ｄ３を参照し、ドライバ識別情報に対応付けられた利用ドライバＤＤの最大利用許可数情報（最大利用許可数）を取得する。起動・終了許可判定部４２０は、制御情報であるドライバ状態情報５０Ｄ４を参照し、ドライバ識別情報に対応付けられた利用ドライバＤＤの利用状態情報（アプリケーションからの現在の利用数）を取得する。
【０３３６】
起動・終了許可判定部４２０は、現在の利用数をインクリメント（１加算）した場合に、算出値（インクリメントした利用数）が最大利用許可数を超えるか否かを判定する。起動・終了許可判定部４２０は、算出値が最大利用許可数を超えない場合に、特定された利用ドライバＤＤの起動を許可する。つまり、起動・終了許可判定部４２０は、処理要求したアプリケーションＡＰが利用ドライバＤＤを利用した場合、利用ドライバＤＤの利用数が、仕様で決められた最大利用許可数以内であれば、アプリケーションＡＰに対して、ドライバＤＤの利用を許可する。
【０３３７】
また、起動・終了許可判定部４２０は、処理終了通知受付時に特定された利用ドライバＤＶのドライバ識別情報に基づき、制御情報であるドライバ状態情報５０Ｄ４を参照し、アプリケーションＡＰからの現在の利用数を取得する。
【０３３８】
起動・終了許可判定部４２０は、現在の利用数をデクリメント（１減算）した場合に、算出値（デクリメントした利用数）が'０'か否かを判定する。起動・終了許可判定部４２０は、算出値が'０'の場合に、特定された利用ドライバＤＤの終了を許可する。つまり、起動・終了許可判定部４２０は、処理要求したアプリケーションＡＰによるドライバ利用が終了した場合、算出値が'０'であれば、他のアプリケーションＡＰにより、ドライバＤＤが利用されていないと判定し、利用ドライバＤＤの終了を許可する。一方、起動・終了許可判定部４２０は、算出値が１以上であれば、他のアプリケーションＡＰにより、ドライバＤＤが利用されていると判定し、利用ドライバＤＤの終了を許可しない。
【０３３９】
利用ドライバ特定部４２は、上記起動・終了の許可判定結果に基づき、特定した利用ドライバＤＤの起動・終了制御を行うとともに、特定した利用デバイスＤＶに対する電力供給制御を行う。つまり、利用ドライバ特定部４２は、電源管理システム１０（供給制御部）に対して、起動許可された利用ドライバＤＤが対応するデバイスＤＶ（利用デバイス）の電力供給の開始を要求する。一方、利用ドライバ特定部４２は、電源管理システム１０（供給制御部）に対して、終了許可された利用ドライバＤＤが対応するデバイスＤＶ（利用デバイス）の電力供給の停止を要求する。
【０３４０】
これにより、複数のアプリケーションＡＰの間では、ドライバＤＤの利用状態（及び仕様上の最大利用許可数）に応じて、同一デバイスＤＶの利用が排他制御され、利用ドライバＤＤを介して、利用デバイスＤＶを利用し、要求処理が実行される。
【０３４１】
以上のように、本実施形態に係る電源管理機能は、上記各機能部が連携動作することにより実現される。
【０３４２】
本実施形態に係る電源管理機能の詳細な動作（機能部群の連携動作）について、処理手順を示すフローチャート及びシーケンス図を用いて説明する。
【０３４３】
《利用ドライバ特定と起動・終了許可判定の処理》
まず、上記利用ドライバ特定部４２（起動・終了許可判定部）により実行される利用ドライバ特定と起動・終了許可判定との処理手順について説明する。なお、以下には、起動許可判定処理と終了許可判定処理との処理手順例について順に説明する。
【０３４４】
図３４は、本実施形態に係る利用ドライバ特定・起動許可判定の処理手順例（電力供給開始時）を示すフローチャートである。なお、図３４の処理手順について説明するが、図２８と同じ処理については、その説明を省略し、ステップＳ１３１０からの処理について説明する。
【０３４５】
図３４に示すように、利用ドライバ特定部４２は、電源管理対象とするデバイスＤＶと起動制御対象とするドライバＤＤとが特定された場合（ステップＳ１３０９：ＹＥＳ）、起動・終了許可判定部４２０により、制御情報保持部５０にアクセスし、最大利用許可情報５０Ｄ３及びドライバ状態情報５０Ｄ４を参照する（ステップＳ１３１０）。このとき、起動・終了許可判定部４２０は、特定された利用ドライバＤＶのドライバ識別情報に基づき、最大利用許可情報５０Ｄ３を参照し、利用ドライバＤＤの最大利用許可数を取得し、ドライバ状態情報５０Ｄ４を参照し、アプリケーションＡＰからの現在の利用数を取得する。
【０３４６】
起動・終了許可判定部４２０は、特定された利用ドライバＤＤの起動により、利用数が最大利用許可数を超えるか否かを判定する（ステップＳ１３１１：起動許可判定処理）。このとき、起動・終了許可判定部４２０は、取得した現在の利用数をインクリメント（１加算）し、その算出値（起動時の利用数）が、取得した最大利用許可数を超えるか否かを判定する。
【０３４７】
起動・終了許可判定部４２０は、利用ドライバＤＤの起動により、利用数が最大利用許可数を超える場合（ステップ１３１１：ＹＥＳ）、所定のエラー処理を行う（ステップＳ１３１４）。このとき行うエラー処理は、機能提供時にドライバＤＤが利用できない旨（最大利用許可数超過による利用不許可の結果）をアプリケーションＡＰに通知するなどである。
【０３４８】
一方、起動・終了許可判定部４２０は、利用ドライバＤＤの起動により、利用数が最大利用許可数以内の場合（ステップ１３１１：ＮＯ）、特定された利用ドライバＤＤの起動を許可し、その旨を利用ドライバ特定部４２に通知する。このとき、起動・終了許可判定部４２０は、利用ドライバ特定部４２に対して、許可されたドライバＤＤの利用状態情報に基づく起動済み情報（起動済みか否かを示す情報）を渡す。
【０３４９】
これを受けて利用ドライバ特定部４２は、起動済み情報に基づき、許可されたドライバＤＤが、他のアプリケーションＡＰからの利用により起動済みか否かを判定する（ステップＳ１３１２：起動要否判定処理）。つまり、利用ドライバ特定部４２は、許可されたドライバＤＤを起動する必要があるか否かを判定する。
【０３５０】
利用ドライバ特定部４２は、許可されたドライバＤＤが起動済みであった場合（ステップＳ１３１２：ＹＥＳ）、利用ドライバＤＤの起動及び利用デバイスＤＶに対する電力供給開始を行う必要がないと判定し、処理を終了する。
【０３５１】
一方、利用ドライバ特定部４２は、許可されたドライバＤＤが起動されていない場合（ステップＳ１３１２：ＮＯ）、起動・終了制御部４３に対し、許可されたドライバＤＤの起動を要求する（ステップＳ１３１３）。
【０３５２】
利用ドライバ特定部４２は、起動結果を受けて、電源管理システム１０（供給制御部）に対し、起動されたドライバＤＤが対応するデバイスＤＶに対する電力供給の開始を要求する（ステップＳ１３１４）。
【０３５３】
このように、利用ドライバ特定部４２は、処理要求受付部４１から処理要求通知を受け付けると、利用ドライバＤＤの複数のアプリケーションＡＰからの利用数が、最大利用許可数以内の場合に、利用ドライバＤＤの起動を要求し、利用デバイスＤＶに対する電力供給の開始を要求する。
【０３５４】
図３５は、本実施形態に係る利用ドライバ特定・終了許可判定の処理手順例（電力供給停止時）を示すフローチャートである。なお、図３５の処理手順について説明するが、図２８と同じ処理については、その説明を省略し、ステップＳ１４１０からの処理について説明する。
【０３５５】
図３５に示すように、利用ドライバ特定部４２は、電源管理対象とするデバイスＤＶと起動制御対象とするドライバＤＤとが特定された場合（ステップＳ１４０９：ＹＥＳ）、起動・終了許可判定部４２０により、制御情報保持部５０にアクセスし、ドライバ状態情報５０Ｄ４を参照する（ステップＳ１４１０）。このとき、起動・終了許可判定部４２０は、特定された利用ドライバＤＶのドライバ識別情報に基づき、ドライバ状態情報５０Ｄ４を参照し、アプリケーションＡＰからの現在の利用数を取得する。
【０３５６】
起動・終了許可判定部４２０は、特定された利用ドライバＤＤが、他のアプリケーションＡＰから利用されているか否かを判定する（ステップＳ１４１１：終了許可判定処理）。このとき、起動・終了許可判定部４２０は、取得した現在の利用数をデクリメント（１減算）し、その算出値（終了時の利用数）が'０'か否かを判定する。
【０３５７】
起動・終了許可判定部４２０は、デクリメントした利用数が１以上で、他のアプリケーションＡＰから利用されている場合（ステップＳ１４１１：ＹＥＳ）、利用ドライバＤＤの終了及び利用デバイスＤＶに対する電力供給停止を行う必要がないと判定し、処理を終了する。
【０３５８】
一方、起動・終了許可判定部４２０は、デクリメントした利用数が'０'で、他のアプリケーションＡＰから利用されていない場合（ステップＳ１４１１：ＮＯ）、特定された利用ドライバＤＤの終了を許可し、その旨を利用ドライバ特定部４２に通知する。
【０３５９】
これを受けて利用ドライバ特定部４２は、起動・終了制御部４３に対し、許可されたドライバＤＤの終了を要求する（ステップＳ１４１２）。
【０３６０】
利用ドライバ特定部４２は、終了結果を受けて、電源管理システム１０（供給制御部）に対し、終了されたドライバＤＤが対応するデバイスＤＶに対する電力供給の停止を要求する（ステップＳ１４１３）。
【０３６１】
このように、利用ドライバ特定部４２は、処理要求受付部４１から処理終了通知を受け付けると、接続中の利用デバイスＤＶに対応する動作中の利用ドライバＤＤが、他のアプリケーションＡＰから利用されていない場合に、利用ドライバＤＤの終了を要求し、利用デバイスＤＶに対する電力供給の停止を要求する。
【０３６２】
ここからは、上記起動・終了の許可判定（利用状態に応じた利用ドライバの起動・終了制御）と連携した電力供給の制御例（動作とデータ遷移）について、具体的な場面を想定し、説明する。
【０３６３】
《利用状態に応じた利用ドライバの起動・終了と連携した電源管理の処理》
［場面１］：アプリ（１）からの処理要求を受け付けた場合
図３６は、本実施形態に係る電源管理の処理手順例（アプリ（１）のデバイス利用時）を示すシーケンス図である。また、図３７は、本実施形態に係るドライバ状態情報５０Ｄ３のデータ遷移例を示す図である。
【０３６４】
図３７には、図３６に示す処理によるドライバ状態情報５０Ｄ４のデータ遷移例が示されている。図３６に示す例は、情報処理装置１００における処理手順例であり、アプリケーション（１）ＡＰ１が、機能提供時に３つのデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用し、利用デバイスＤＶのうち、デバイス（Ａ）ＤＶａが接続済みとなっている場合を想定したものである。よって、図３７（Ａ）に示すドライバ状態情報５０Ｄ４には、デバイス（Ａ）ＤＶａに対応するドライバ（Ａ）ＤＤａの利用状態が反映されている例（利用状態更新後のデータ例）が示されている。なお、制御情報には、図３２に示す最大利用許可情報５０Ｄ３が含まれている。
【０３６５】
以下に、図３６の処理手順について説明するが、図２６と同じ処理については、その説明を簡略化する。
【０３６６】
図３６に示すように、まず、情報処理装置１００は、デバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃの接続をデバイス検知部７１により検知する（ステップＳ１５０１）。その結果、デバイス検知部７１からは、ドライバ管理システム４０（利用ドライバ特定部）に対して、検知結果が渡される（ステップＳ１５０２）。
【０３６７】
ドライバ管理システム４０は、処理要求受付部４１が、アプリケーション（１）ＡＰ１からの処理要求通知を受け付ける（ステップＳ１６０１）。
【０３６８】
ドライバ管理システム４０は、処理要求受付部４１が利用ドライバ特定部４２に対し、要求処理の実行に伴う利用ドライバＤＤの特定（処理要求通知受付時の利用ドライバ特定）を要求する（ステップＳ１６０２）。
【０３６９】
ドライバ管理システム４０は、利用ドライバ特定部４２が、処理要求通知受付時の利用ドライバ特定（起動制御対象特定）を行う（ステップＳ１６０３）。このとき、利用ドライバ特定部４２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（１）ＡＰ１を特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したアプリケーション（１）ＡＰ１が利用するデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対応するドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する。
【０３７０】
ドライバ管理システム４０は、利用ドライバ特定部４２が有する起動・終了許可判定部４２０が、特定されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの起動許可を判定する（ステップＳ１６０４）。このとき、起動・終了許可判定部４２０は、制御情報（最大利用許可情報）に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報に対応付けられた最大利用許可数情報を取得する。起動・終了許可判定部４２０は、制御情報（ドライバ状態情報）に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報に対応付けられた利用状態情報を取得する。
【０３７１】
起動・終了許可判定部４２０は、特定された利用ドライバＤＤの起動により、利用数が最大利用許可数を超えるか否かを判定することで、起動許可を判定する。このとき、起動・終了許可判定部４２０は、利用状態情報の利用数をインクリメント［＋１］し、その算出値（起動時の利用数）が、最大利用許可情報の最大利用許可数を超えるか否かを判定する。
【０３７２】
その結果、起動・終了許可判定部４２０は、例えば、ドライバ（Ａ）ＤＤａの場合、算出値'２'（起動時の利用数）が最大利用許可数'２'以内であることから、ドライバ（Ａ）ＤＤａの起動を許可する。また、起動・終了許可判定部４２０は、例えば、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの場合、算出値'１'（起動時の利用数）が最大利用許可数'１'以内であることから、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの起動を許可する。
【０３７３】
ドライバ管理システム４０は、特定した利用ドライバＤＤの起動が許可されると、利用ドライバ特定部４２が、許可された利用ドライバＤＤの起動要否を判定する（ステップＳ１６０５）。利用ドライバ特定部４２は、例えば、ドライバ（Ａ）ＤＤａの場合、利用状態情報の利用数が'１'であることから、ドライバ（Ａ）ＤＤａが起動済みであると判定する。その結果、利用ドライバ特定部４２は、ドライバ（Ａ）ＤＤａを起動する必要がないと判定する。一方、利用ドライバ特定部４２は、例えば、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの場合、利用状態情報の利用数が'０'であることから、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃが起動されていないと判定する。その結果、利用ドライバ特定部４２は、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを起動する必要があると判定する。
【０３７４】
ドライバ管理システム４０は、上記判定結果（起動許可判定及び起動要否判定）に基づき、利用ドライバ特定部４２が起動・終了制御部４３に対し、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの起動を要求する（ステップＳ１６０６）。このとき、起動・終了制御部４３は、利用ドライバ特定部４２からドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報を受け取る。
【０３７５】
ドライバ管理システム４０は、起動・終了制御部４３が、起動要求に従って該当ドライバＤＤを起動する（ステップＳ１６０７）。このとき、起動・終了制御部４３は、ドライバ識別情報に基づき、起動要求されたドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する。起動・終了制御部４３は、特定したデバイス（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを起動する。
【０３７６】
ドライバ管理システム４０は、利用ドライバ特定部４２が情報管理部６１に対し、制御情報に含まれるドライバ状態情報５０Ｄ４の利用状態情報の更新を要求する（ステップＳ１６０８）。このとき、情報管理部６１は、利用ドライバ特定部４２からドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのデバイス識別情報及び最新の利用状態情報（インクリメントした利用数）を受け取る。
【０３７７】
ドライバ管理システム４０は、情報管理部６１が、制御情報保持部５０にアクセスし、ドライバ状態情報５０Ｄ４の利用状態情報を更新する（ステップＳ１６０９）。このとき、情報管理部６１は、ドライバ識別情報に基づき、ドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃに対応する利用状態情報を参照する。情報管理部６１は、参照した利用状態情報に最新の利用状態情報'２'，'１'，'１'を設定し、利用数（設定値）を更新する。その結果、図３７（Ｂ）に示すようなドライバ状態情報５０Ｄ４に更新される。具体的には、ドライバ（Ａ）ＤＤａの利用数'１'が'２'に更新され、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの利用数'０'が'１'に更新される。
【０３７８】
ドライバ管理システム４０は、起動・終了制御部４３からの起動結果（正常起動の旨）を受けて、利用ドライバ特定部４２が電源管理システム１０（供給制御部）に対し、デバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃ（起動した利用ドライバが対応するデバイス）に対する電力供給の開始を要求する（ステップＳ１６１０）。このとき、電源管理システム１０（供給制御部）は、利用ドライバ特定部４２からデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報を受け取る。
【０３７９】
電源管理システム１０は、供給制御部１３が、供給開始要求に従って電力供給を開始する（ステップＳ１６１１）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給開始するデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を開始する。
【０３８０】
電源管理システム１０は、正常に電力供給が開始されると、供給制御部１３がドライバ管理システム４０（利用ドライバ特定部）に対し、電力供給の開始結果（正常に開始された旨）を返す（ステップＳ１６１２）。
【０３８１】
これを受けてドライバ管理システム４０は、利用ドライバ特定部４２が、処理要求受付部４１を介して、アプリケーション（１）ＡＰ１に対し、ドライバ起動・電力供給結果（利用ドライバの起動と利用デバイスの電力供給開始ＯＫの旨）を返す（ステップＳ１６１３，Ｓ１６１４）。
【０３８２】
これにより、アプリケーション（１）ＡＰ１では、起動中のドライバ（Ａ）ＤＤａ又は起動されたドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを介して、デバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用し、要求処理が実行される（ステップＳ１６１５）。
【０３８３】
［場面２］：アプリ（１）のデバイス利用時にアプリ（２）から処理要求を受け付けた場合
図３８は、本実施形態に係る電源管理の処理手順例（アプリ（１），（２）間の排他制御時）を示すシーケンス図である。図３８に示す例は、図３６に示した処理後の情報処理装置１００における処理手順例であり、アプリケーション（２）ＡＰ２が、機能提供時に２つのデバイス（Ａ）ＤＶａ，（Ｄ）ＤＶｄを利用する場合を想定したものである。なお、制御情報には、図３２に示す最大利用許可情報５０Ｄ３が含まれている。
【０３８４】
以下に、図３８の処理手順について説明するが、図３６と同じ処理については、その説明を簡略化する。
【０３８５】
図３８に示すように、まず、情報処理装置１００は、デバイス（Ｄ）ＤＶｄの接続をデバイス検知部７１により検知する（ステップＳ１７０１）。その結果、デバイス検知部７１からは、ドライバ管理システム４０（利用ドライバ特定部）に対して、検知結果が渡される（ステップＳ１７０２）。
【０３８６】
ドライバ管理システム４０は、処理要求受付部４１が、アプリケーション（２）ＡＰ２からの処理要求通知を受け付ける（ステップＳ１８０１）。
【０３８７】
ドライバ管理システム４０は、処理要求受付部４１が利用ドライバ特定部４２に対し、要求処理の実行に伴う利用ドライバＤＤの特定（処理要求通知受付時の利用ドライバ特定）を要求する（ステップＳ１８０２）。
【０３８８】
ドライバ管理システム４０は、利用ドライバ特定部４２が、処理要求通知受付時の利用ドライバ特定（起動制御対象特定）を行う（ステップＳ１８０３）。このとき、利用ドライバ特定部４２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（２）ＡＰ２を特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したアプリケーション（２）ＡＰ２が利用するデバイス（Ａ）ＤＶａ，（Ｄ）ＤＶｄを特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したデバイス（Ａ）ＤＶａ，（Ｄ）ＤＶｄに対応するドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄを特定する。
【０３８９】
ドライバ管理システム４０は、利用ドライバ特定部４２が有する起動・終了許可判定部４２０が、特定されたドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄの起動許可を判定する（ステップＳ１８０４）。このとき、起動・終了許可判定部４２０は、制御情報（最大利用許可情報）に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄのドライバ識別情報に対応付けられた最大利用許可数情報を取得する。起動・終了許可判定部４２０は、制御情報（ドライバ状態情報）に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄのドライバ識別情報に対応付けられた利用状態情報を取得する。
【０３９０】
起動・終了許可判定部４２０は、特定された利用ドライバＤＤの起動により、利用数が最大利用許可数を超えるか否かを判定することで、起動許可を判定する。このとき、起動・終了許可判定部４２０は、利用状態情報の利用数をインクリメント［＋１］し、その算出値（起動時の利用数）が、最大利用許可情報の最大利用許可数を超えるか否かを判定する。
【０３９１】
その結果、起動・終了許可判定部４２０は、例えば、ドライバ（Ａ）ＤＤａの場合、算出値'３'（起動時の利用数）が、最大利用許可数'２'を超えていることから、ドライバ（Ａ）ＤＤａの起動を許可しない。これにより、起動・終了許可判定部４２０では、利用ドライバＤＤの中で、起動が許可されない利用ドライバＤＤが１つでも存在するため、ドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄの両方の起動を許可しない。
【０３９２】
ドライバ管理システム４０は、特定した利用ドライバＤＤの起動が許可されなければ、利用ドライバ特定部４２が、処理要求受付部４１を介して、アプリケーション（２）ＡＰ２に対し、起動許可判定結果（利用ドライバの起動が許可されなかった旨）を返す（ステップＳ１８０５，Ｓ１８０６）。
【０３９３】
その結果、利用者には、アプリケーション（２）ＡＰ２による要求処理の実行ができない旨が通知される。
【０３９４】
［場面３］：アプリ（１）からの処理終了通知を受け付けた場合
図３９は、本実施形態に係る電源管理の処理手順例（アプリ（１）のデバイス利用終了時）を示すシーケンス図である。また、図４０は、本実施形態に係るドライバ状態情報５０Ｄ４のデータ遷移例を示す図である。
【０３９５】
図４０には、図３９に示す処理によるドライバ状態情報５０Ｄ４のデータ遷移例が示されている。図３９に示す例は、図３８に示した処理後の情報処理装置１００における処理手順例であり、アプリケーション（１）ＡＰ１が、３つのデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを利用して要求処理を実行した場合を想定したものである。なお、図４０（Ａ）に示すドライバ状態情報５０Ｄ４には、機能提供時のアプリケーション（１）ＡＰ１によるドライバ（Ａ）ＤＤａ（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃの利用状態が反映されている例（利用状態更新後のデータ例）が示されている。また、制御情報には、図３２に示す最大利用許可情報５０Ｄ３が含まれている。
【０３９６】
以下に、図３９の処理手順について説明するが、図２７と同じ処理については、その説明を簡略化する。
【０３９７】
ドライバ管理システム４０は、処理要求受付部４１が、アプリケーション（１）ＡＰ１からの処理終了通知を受け付ける（ステップＳ１９０１）。
【０３９８】
ドライバ管理システム４０は、処理要求受付部４１が利用ドライバ特定部４２に対し、終了した要求処理の利用ドライバＤＤの特定（処理終了通知受付時の利用ドライバ特定）を要求する（ステップＳ１９０２）。
【０３９９】
ドライバ管理システム４０は、利用ドライバ特定部４２が、処理終了通知受付時の利用ドライバ特定（終了制御対象特定）を行う（ステップＳ１９０３）。このとき、利用ドライバ特定部４２は、アプリ識別情報に基づき、機能提供を行ったアプリケーション（１）ＡＰ１を特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したアプリケーション（１）ＡＰ１が利用したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したデバイス（Ａ）ＤＶａ，（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対応するドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する。
【０４００】
ドライバ管理システム４０は、利用ドライバ特定部４２が有する起動・終了許可判定部４２０が、特定されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの終了許可を判定する（ステップＳ１９０４）。このとき、起動・終了許可判定部４２０は、制御情報（最大利用許可情報）に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報に対応付けられた最大利用許可数情報を取得する。起動・終了許可判定部４２０は、制御情報（ドライバ状態情報）に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報に対応付けられた利用状態情報を取得する。
【０４０１】
起動・終了許可判定部４２０は、特定された利用ドライバＤＤが、他のアプリケーションＡＰから利用されているか否かを判定することで、終了許可を判定する。このとき、起動・終了許可判定部４２０は、利用状態情報の利用数をデクリメント［−１］し、その算出値（終了時の利用数）が'０'か否かを判定する。
【０４０２】
その結果、起動・終了許可判定部４２０は、例えば、ドライバ（Ａ）ＤＤａの場合、算出値'１'（終了時の利用数）が１以上で（'０'でなく）、他のアプリケーションＡＰから利用されていることから、ドライバ（Ａ）ＤＤａの終了を許可しない。また、起動・終了許可判定部４２０は、例えば、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの場合、算出値'０'（終了時の利用数）が'０'で、他のアプリケーションＡＰから利用されていないことから、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの終了を許可する。
【０４０３】
ドライバ管理システム４０は、上記判定結果（終了許可判定）に基づき、利用ドライバ特定部４２が起動・終了制御部４３に対し、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの終了を要求する（ステップＳ１９０５）。このとき、起動・終了制御部４３は、利用ドライバ特定部４２からドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのドライバ識別情報を受け取る。
【０４０４】
ドライバ管理システム４０は、起動・終了制御部４３が、終了要求に従って該当ドライバＤＤを起動する（ステップＳ１９０６）。このとき、起動・終了制御部４３は、ドライバ識別情報に基づき、終了要求されたドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを特定する。起動・終了制御部４３は、特定したデバイス（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃを終了する。
【０４０５】
ドライバ管理システム４０は、利用ドライバ特定部４２が情報管理部６１に対し、制御情報に含まれるドライバ状態情報５０Ｄ４の利用状態情報の更新を要求する（ステップＳ１９０７）。このとき、情報管理部６１は、利用ドライバ特定部４２からドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃのデバイス識別情報及び最新の利用状態情報（デクリメントした利用数）を受け取る。
【０４０６】
ドライバ管理システム４０は、情報管理部６１が、制御情報保持部５０にアクセスし、ドライバ状態情報５０Ｄ４の利用状態情報を更新する（ステップＳ１９０８）。このとき、情報管理部６１は、ドライバ識別情報に基づき、ドライバ（Ａ）ＤＤａ，（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃに対応する利用状態情報を参照する。情報管理部６１は、参照した利用状態情報に最新の利用状態情報'１'，'０'，'０'を設定し、利用数（設定値）を更新する。その結果、図４０（Ｂ）に示すようなドライバ状態情報５０Ｄ４に更新される。具体的には、ドライバ（Ａ）ＤＤａの利用数'２'が'１'に更新され、ドライバ（Ｂ）ＤＤｂ，（Ｃ）ＤＤｃの利用数'１'が'０'に更新される。
【０４０７】
ドライバ管理システム４０は、起動・終了制御部４３からの終了結果（正常終了の旨）を受けて、利用ドライバ特定部４２が電源管理システム１０（供給制御部）に対し、デバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃ（終了した利用ドライバが対応するデバイス）に対する電力供給の停止を要求する（ステップＳ１９０９）。このとき、電源管理システム１０（供給制御部）は、利用ドライバ特定部４２からデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃのデバイス識別情報を受け取る。
【０４０８】
電源管理システム１０は、供給制御部１３が、供給停止要求に従って電力供給を停止する（ステップＳ１９１０）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給停止するデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を停止する。
【０４０９】
電源管理システム１０は、正常に電力供給が停止されると、供給制御部１３がドライバ管理システム４０（利用ドライバ特定部）に対し、電力供給の停止結果（正常に停止された旨）を返す（ステップＳ１９１１）。
【０４１０】
［場面４］：アプリ（１）からのデバイス利用終了後にアプリ（２）から処理要求を受け付けた場合
図４１は、本実施形態に係る電源管理の処理手順例（アプリ（２）のデバイス利用時）を示すシーケンス図である。また、図４２は、本実施形態に係るドライバ状態情報５０Ｄ４のデータ遷移例を示す図である。
【０４１１】
図４２には、図４１に示す処理によるドライバ状態情報５０Ｄ４のデータ遷移例が示されている。図４１に示す例は、図３９に示した処理後の情報処理装置１００における処理手順例であり、再び、アプリケーション（２）ＡＰ２が、２つのデバイス（Ａ）ＤＶａ，（Ｄ）ＤＶｄを利用して要求処理を実行する場合を想定したものである。なお、デバイス（Ｄ）ＤＶｄは、上述した場面２において、情報処理装置１００に接続されており、デバイス検知部７１により検知されているものとする。また、図４２（Ａ）に示すドライバ状態情報５０Ｄ４には、アプリケーション（１）ＡＰ１による要求処理終了時のドライバ（Ａ）ＤＤａ（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃの利用状態が反映されている例（利用状態更新後のデータ例）が示されている。また、制御情報には、図３２に示す最大利用許可情報５０Ｄ３が含まれている。
【０４１２】
以下に、図４１の処理手順について説明するが、図３８と同じ処理については、その説明を簡略化する。
【０４１３】
図４１に示すように、情報処理装置１００は、ドライバ管理システム４０が、処理要求受付部４１により、アプリケーション（２）ＡＰ２からの処理要求通知を受け付ける（ステップＳ２００１）。
【０４１４】
ドライバ管理システム４０は、処理要求受付部４１が利用ドライバ特定部４２に対し、要求処理の実行に伴う利用ドライバＤＤの特定（処理要求通知受付時の利用ドライバ特定）を要求する（ステップＳ２００２）。
【０４１５】
ドライバ管理システム４０は、利用ドライバ特定部４２が、処理要求通知受付時の利用ドライバ特定（起動制御対象特定）を行う（ステップＳ２００３）。このとき、利用ドライバ特定部４２は、アプリ識別情報に基づき、機能提供を行うアプリケーション（２）ＡＰ２を特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したアプリケーション（２）ＡＰ２が利用するデバイス（Ａ）ＤＶａ，（Ｄ）ＤＶｄを特定する。利用ドライバ特定部４２は、制御情報に基づき、特定したデバイス（Ａ）ＤＶａ，（Ｄ）ＤＶｄに対応するドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄを特定する。
【０４１６】
ドライバ管理システム４０は、利用ドライバ特定部４２が有する起動・終了許可判定部４２０が、特定されたドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄの起動許可を判定する（ステップＳ２００４）。このとき、起動・終了許可判定部４２０は、制御情報に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄのドライバ識別情報に対応付けられた最大利用許可数情報を取得する。起動・終了許可判定部４２０は、制御情報に基づき、特定されたドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄのドライバ識別情報に対応付けられた利用状態情報を取得する。
【０４１７】
起動・終了許可判定部４２０は、特定された利用ドライバＤＤの起動により、利用数が最大利用許可数を超えるか否かを判定することで、起動許可を判定する。
【０４１８】
その結果、起動・終了許可判定部４２０は、例えば、ドライバ（Ａ）ＤＤａの場合、利用状態情報の利用数をインクリメント［＋１］した算出値'２'（起動時の利用数）が、最大利用許可情報の最大利用許可数'２'以内であることから、ドライバ（Ａ）ＤＤａの起動を許可する。また、起動・終了許可判定部４２０は、例えば、ドライバ（Ｄ）ＤＤｄの場合、利用状態情報の利用数をインクリメント［＋１］した算出値'１'（起動時の利用数）が、最大利用許可情報の最大利用許可数'１'以内であることから、ドライバ（Ｄ）ＤＤｄの起動を許可する。
【０４１９】
ドライバ管理システム４０は、特定した利用ドライバＤＤの起動が許可されると、利用ドライバ特定部４２が、許可された利用ドライバＤＤの起動要否を判定する（ステップＳ２００５）。利用ドライバ特定部４２は、例えば、ドライバ（Ａ）ＤＤａの場合、利用状態情報の利用数が'１'であることから、ドライバ（Ａ）ＤＤａが起動済みであると判定する。その結果、利用ドライバ特定部４２は、ドライバ（Ａ）ＤＤａを起動する必要がないと判定する。一方、利用ドライバ特定部４２は、例えば、ドライバ（Ｄ）ＤＤｄの場合、利用状態情報の利用数が'０'であることから、ドライバ（Ｄ）ＤＤｄが起動されていないと判定する。その結果、利用ドライバ特定部４２は、ドライバ（Ｄ）ＤＤｄを起動する必要があると判定する。
【０４２０】
ドライバ管理システム４０は、上記判定結果（起動許可判定及び起動要否判定）に基づき、利用ドライバ特定部４２が起動・終了制御部４３に対し、ドライバ（Ｄ）ＤＤｄの起動を要求する（ステップＳ２００６）。このとき、起動・終了制御部４３は、利用ドライバ特定部４２からドライバ（Ｄ）ＤＤｄのドライバ識別情報を受け取る。
【０４２１】
ドライバ管理システム４０は、起動・終了制御部４３が、起動要求に従って該当ドライバＤＤを起動する（ステップＳ２００７）。このとき、起動・終了制御部４３は、ドライバ識別情報に基づき、起動要求されたドライバ（Ｄ）ＤＤｄを特定する。起動・終了制御部４３は、特定したデバイス（Ｄ）ＤＤｄを起動する。
【０４２２】
ドライバ管理システム４０は、利用ドライバ特定部４２が情報管理部６１に対し、制御情報に含まれるドライバ状態情報５０Ｄ４の利用状態情報の更新を要求する（ステップＳ２００８）。このとき、情報管理部６１は、利用ドライバ特定部４２からドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄのデバイス識別情報及び最新の利用状態情報（インクリメントした利用数）を受け取る。
【０４２３】
ドライバ管理システム４０は、情報管理部６１が、制御情報保持部５０にアクセスし、ドライバ状態情報５０Ｄ４の利用状態情報を更新する（ステップＳ２００９）。このとき、情報管理部６１は、ドライバ識別情報に基づき、ドライバ（Ａ）ＤＤａ，（Ｄ）ＤＤｄに対応する利用状態情報を参照する。情報管理部６１は、参照した利用状態情報に最新の利用状態情報'２'，'１'を設定し、利用数（設定値）を更新する。その結果、図４２（Ｂ）に示すようなドライバ状態情報５０Ｄ４に更新される。具体的には、ドライバ（Ａ）ＤＤａの利用数'１'が'２'に更新され、ドライバ（Ｄ）ＤＤｄの利用数'０'が'１'に更新される。
【０４２４】
ドライバ管理システム４０は、起動・終了制御部４３からの起動結果（正常起動の旨）を受けて、利用ドライバ特定部４２が電源管理システム１０（供給制御部）に対し、デバイス（Ｄ）ＤＶｄ（起動した利用ドライバが対応するデバイス）に対する電力供給の開始を要求する（ステップＳ２０１０）。このとき、電源管理システム１０（供給制御部）は、利用ドライバ特定部４２からデバイス（Ｄ）ＤＶｄのデバイス識別情報を受け取る。
【０４２５】
電源管理システム１０は、供給制御部１３が、供給開始要求に従って電力供給を開始する（ステップＳ１６１１）。このとき、供給制御部１３は、デバイス識別情報に基づき、供給開始するデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃを特定する。供給制御部１３は、特定したデバイス（Ｂ）ＤＶｂ，（Ｃ）ＤＶｃに対して、電力供給を開始する。
【０４２６】
電源管理システム１０は、正常に電力供給が開始されると、供給制御部１３がドライバ管理システム４０（利用ドライバ特定部）に対し、電力供給の開始結果（正常に開始された旨）を返す（ステップＳ２０１２）。
【０４２７】
これを受けてドライバ管理システム４０は、利用ドライバ特定部４２が、処理要求受付部４１を介して、アプリケーション（２）ＡＰ２に対し、ドライバ起動・電力供給結果（利用ドライバの起動と利用デバイスの電力供給開始ＯＫの旨）を返す（ステップＳ２０１３，Ｓ２０１４）。
【０４２８】
これにより、アプリケーション（２）ＡＰ２では、起動中のドライバ（Ａ）ＤＤａ又は起動されたドライバ（Ｄ）ＤＤｄを介して、デバイス（Ａ）ＤＶａ，（Ｄ）ＤＶｄを利用し、要求処理が実行される（ステップＳ２０１５）。
【０４２９】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、利用ドライバ特定部４２により、利用者に機能提供を行うアプリケーションＡＰ、機能提供時の利用デバイスＤＶ、及び機能提供時の利用ドライバＤＤが対応付けられた制御情報（デバイス対応情報及びドライバ対応情報）に基づき、利用者からの要求処理を行うアプリケーションＡＰの利用デバイスＤＶに対応するドライバＤＤ（利用ドライバ）を特定する。このとき、利用ドライバ特定部４２は、起動・終了許可判定部４２０により、アプリケーションＡＰからの利用を許可するか否かを判定し、利用許可の判定結果に基づき、起動・終了制御部４３に対して、特定した利用ドライバＤＤの起動・終了を要求する。情報処理装置１００は、起動・終了制御部４３により、利用ドライバ特定部４２で特定された利用ドライバＤＤの起動・終了を制御する。また、情報処理装置１００は、供給制御部１３により、起動・終了された利用ドライバＤＤが対応するデバイスＤＶ（利用デバイス）に対する電力供給の開始・停止を制御する。
【０４３０】
これによって、本実施形態に係る情報処理装置１００では、第３の実施形態と同様の効果を奏するとともに、電子機器ＥＤにおいて、省電力化を実現するためのドライバＤＤの利用制御設定が可能な環境が提供できる。
【０４３１】
＜変形例＞
図４３は、本発明の変形例に係るドライバ対応情報５０Ｄ２のデータ例を示す図である。
上記実施形態では、ドライバ対応情報５０Ｄ２を、１つのデバイス識別情報と１つのドライバ識別情報とがデバイスＤＶごとに対応付けられた１対１の情報セットのデータ例を説明したが、この限りでない。例えば、図４３に示すように、１つのデバイス識別情報と複数のドライバ識別情報とがデバイスＤＶごとに対応付けられた１対複数の情報セットであってもよい。
【０４３２】
図４３に示すように、１対複数の情報セットによるドライバ対応情報５０Ｄ２では、［デバイス識別］及び［利用ドライバ］に加えて、［標準ドライバ］などの情報項目が含まれる。
【０４３３】
［標準ドライバ識別］項目は、機能提供時に利用されるデバイスＤＶに対応する複数のドライバＤＤのうち、標準利用（優先利用）するドライバＤＤを識別する情報（以下便宜上「標準ドライバ情報」という）が設定される項目である。図中には、例えば、デバイス（Ｄ）ＤＶｄに対して、［利用ドライバ］項目に設定された２つのドライバ（Ｄ１），（Ｄ２）のドライバ識別情報のうち、ドライバ（Ｄ２）のドライバ識別情報が、［標準ドライバ識別］項目の値に設定されている例が示されている。
【０４３４】
［標準ドライバ］項目の値は、例えば、管理者が、搭載ドライバＤＤに基づき、予め設定しておく。よって、情報管理部６１は、管理者に対し、これらの項目値を設定可能な設定機能（所定のツール）を提供し、設定機能を介して入力値を受け付けると、制御情報保持部５０にアクセスし、入力値をドライバ対応情報５０Ｄ２の項目値として設定する。なお、情報管理部６１は、ドライバＤＤのインストールに連動して、［標準ドライバ］項目の値を設定するようにしてもよい。この場合、インストールされたドライバＤＤに関する情報（インストール情報）などに基づき、最新バージョンのドライバＤＤのドライバ識別情報を、［標準ドライバ］項目の値に設定する。
【０４３５】
本変形例では、［標準ドライバ］項目を含む上記ドライバ対応情報５０Ｄ２により、次のような利用ドライバ特定・起動許可判定処理が行える。
【０４３６】
図４４は、本変形例に係る利用ドライバ特定・起動許可判定の処理手順例（電力供給開始時）を示すフローチャートである。なお、図４４の処理手順について説明するが、図３８と同じ処理については、その説明を省略し、ステップＳ２１０７からの処理について説明する。
【０４３７】
図４４に示すように、利用ドライバ特定部４２は、特定した利用ドライバＤＤのドライバ識別情報に基づき、特定した利用ドライバＤＤがインストール済みか否かを判定する（ステップＳ２１０７）。
【０４３８】
利用ドライバ特定部４２は、利用ドライバＤＤがインストール済みの場合（ステップ２１０７：ＹＥＳ）、電源管理対象とするデバイスＤＶと、該デバイスＤＶに対応するドライバＤＤ（起動制御対象とするドライバ）とを特定する（ステップＳ２１０８）。このとき、利用ドライバ特定部４２は、接続中の利用デバイスＤＶを電力供給の開始対象として特定し、該利用デバイスＤＶに対応するインストール済みの利用ドライバＤＤを起動制御対象として特定する。またこのとき、利用ドライバ特定部４２は、電源管理対象として特定した同一デバイスＤＶに対して、複数のドライバＤＤを起動制御対象として特定した場合、ドライバ対応情報５０Ｄ２の標準ドライバ情報に基づき、標準利用するドライバＤＤとして設定されたドライバＤＤを起動制御対象とする。
【０４３９】
利用ドライバ特定部４２は、電源管理対象のデバイスＤＶと起動制御対象のドライバＤＤとが特定されたか否かを判定する（ステップＳ２１０９）。
【０４４０】
利用ドライバ特定部４２は、電源管理対象のデバイスＤＶと起動制御対象のドライバＤＤとが特定された場合（ステップＳ２１０９：ＹＥＳ）、起動・終了許可判定部４２０により、制御情報保持部５０にアクセスし、最大利用許可情報５０Ｄ３及びドライバ状態情報５０Ｄ４を参照する（ステップＳ２１１０）。このとき、起動・終了許可判定部４２０は、特定された利用ドライバＤＶのドライバ識別情報に基づき、最大利用許可情報５０Ｄ３を参照し、利用ドライバＤＤの最大利用許可数を取得し、ドライバ状態情報５０Ｄ４を参照し、アプリケーションＡＰからの現在の利用数を取得する。
【０４４１】
起動・終了許可判定部４２０は、特定された利用ドライバＤＤの起動により、利用数が最大利用許可数を超えるか否かを判定する（ステップＳ２１１１：起動許可判定処理）。このとき、起動・終了許可判定部４２０は、取得した現在の利用数をインクリメント（１加算）し、その算出値（起動時の利用数）が、取得した最大利用許可数を超えるか否かを判定する。
【０４４２】
起動・終了許可判定部４２０は、利用ドライバＤＤの起動により、利用数が最大利用許可数以内の場合（ステップ２１１１：ＮＯ）、特定された利用ドライバＤＤの起動を許可し、その旨を利用ドライバ特定部４２に通知する。このとき、起動・終了許可判定部４２０は、利用ドライバ特定部４２に対して、許可されたドライバＤＤの利用状態情報に基づく起動済み情報（起動済みか否かを示す情報）を渡す。
【０４４３】
これを受けて利用ドライバ特定部４２は、起動済み情報に基づき、許可されたドライバＤＤが、他のアプリケーションＡＰからの利用により起動済みか否かを判定する（ステップＳ２１１２：起動要否判定処理）。
【０４４４】
利用ドライバ特定部４２は、許可されたドライバＤＤが起動されていない場合（ステップＳ２１１２：ＮＯ）、起動・終了制御部４３に対し、許可されたドライバＤＤの起動を要求する（ステップＳ２１１３）。
【０４４５】
利用ドライバ特定部４２は、起動結果を受けて、電源管理システム１０（供給制御部）に対し、起動されたドライバＤＤが対応するデバイスＤＶに対する電力供給の開始を要求する（ステップＳ２１１４）。
【０４４６】
また、起動・終了許可判定部４２０は、利用ドライバＤＤの起動により、利用数が最大利用許可数を超える場合（ステップ２１１１：ＹＥＳ）、起動制御対象とする他の利用ドライバＤＤが存在するか否か判定する（ステップＳ２１１６）。このとき、起動・終了許可判定部４２０は、ドライバ対応情報５０Ｄ３内に、上記ステップＳ２１０８の処理で特定したドライバＤＤの他に、起動制御対象とするドライバＤＤが設定されているか否かを判定する。
【０４４７】
起動・終了許可判定部４２０は、起動制御対象とする他の利用ドライバＤＤが存在しない場合（ステップＳ２１１６：ＮＯ）、所定のエラー処理を行う（ステップＳ２１１５）。このとき行うエラー処理は、機能提供時にドライバＤＤが利用できない旨（最大利用許可数超過による利用不許可の結果）をアプリケーションＡＰに通知するなどである。
【０４４８】
一方、起動・終了許可判定部４２０は、起動制御対象とする他の利用ドライバＤＤが存在する場合（ステップＳ２１１６：ＹＥＳ）、利用数が最大利用許可数を超える利用ドライバＤＤを、存在が確認された他の利用ドライバＤＤと入れ替える（ステップＳ２１１７）。つまり、起動・終了許可判定部４２０は、起動制御対象とするドライバＤＤを入れ替える。
【０４４９】
その後、起動・終了許可判定部４２０は、上記ステップＳ２１１０の処理に移行し、入れ替えられたドライバＤＤに対する起動許可判定処理（ステップＳ２１１１）及び起動要否判定処理（ステップＳ２１１２）を行う。
【０４５０】
このように、本変形例に係る利用ドライバ特定部４２は、処理要求受付部４１から処理要求通知を受け付けると、利用ドライバＤＤの複数のアプリケーションＡＰからの利用数が、最大利用許可数を超えた場合に、起動制御対象とする利用ドライバＤＤを、最大利用許可数を超えない他の利用ドライバＤＤに切り替える。その結果、利用ドライバ特定部４２は、切り替えた利用ドライバＤＤの起動を要求し、切り替えた利用ドライバＤＤが対応するデバイスＤＶ（利用デバイス）に対する電力供給の開始を要求する。
【０４５１】
これにより、本変形例では、アプリケーションＡＰから、ドライバＤＤの最大利用許可数を超える利用があった場合でも、代替ドライバＤＤを利用し、要求処理の実行を継続して行える環境を提供できる。
【０４５２】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「電源管理機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、情報処理装置１００の演算装置（ＣＰＵ）により実行されることで実現される。
【０４５３】
上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。これにより、例えば、上記プログラムは、ドライブ装置１０３を介して、情報処理装置１００にインストールすることができる。また、情報処理装置１００は、インタフェース装置１０７を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０４５４】
また、上記実施形態では、情報処理装置１００が、制御情報としてデバイス対応情報５０Ｄ１やドライバ対応情報５０Ｄ２を保持する構成について説明を行ったが、この限りでない。例えば、情報処理装置１００は、自機と異なる装置に保持されるデバイス対応情報５０Ｄ１やドライバ対応情報５０Ｄ２を、所定のデータ伝送路（ネットワーク）を介して参照する構成であってもよい。
【０４５５】
また、上記実施形態においても、例えば、図２０に示すような、サーバＳＶと電子機器ＥＤとが接続され、データ通信可能な機器構成に適用可能である。ただし、ドライバ管理システム４０は、サーバＳＶが有し、電子機器ＥＤが電源管理システム１０を有する構成の場合には、サーバＳＶのドライバ管理システム４０と、電子機器ＥＤの電源管理システム１０とが、所定のデータ伝送路を介して連携動作する。
【０４５６】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０４５７】
１０    電源管理システム
１１    処理要求受付部
１２    供給判定部
１２０  利用許可判定部
１２１  排他制御判定部
１２２  利用権限判定部
１２３  利用開始時間判定部
１２４  累積利用時間判定部
１３    供給制御部
２０    制御情報保持部（Ｄ１：デバイス対応情報，Ｄ２：デバイス状態情報，Ｄ３：利用時間情報，Ｄ４：累積利用時間情報）
３１    情報管理部
４０    ドライバ管理システム
４１    処理要求受付部
４２    利用ドライバ特定部
４２０  起動・終了許可判定部
４３    起動・終了制御部
５０    制御情報保持部（Ｄ１：デバイス対応情報，Ｄ２：ドライバ対応情報，Ｄ３：最大利用許可情報，Ｄ４：ドライバ状態情報）
６１    情報管理部
７１    デバイス検知部
１００  情報処理装置
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置（ａ：記録媒体）
１０４  ＲＡＭ（揮発性の半導体メモリ）
１０５  ＲＯＭ（不揮発性の半導体メモリ）
１０６  ＣＰＵ（中央処理装置）
１０７  インタフェース装置（ＮＩＣ：Network I/F Card）
１０８  ＨＤＤ（不揮発性の記憶装置）
Ｂ      バス
【先行技術文献】
【特許文献】
【０４５８】
【特許文献１】特開２００７−３０１８４１号公報
【図１】
0005870519.tif 000002
【図２】
0005870519.tif 000003
【図３】
0005870519.tif 000004
【図４】
0005870519.tif 000005
【図５】
0005870519.tif 000006
【図６】
0005870519.tif 000007
【図７】
0005870519.tif 000008
【図８】
0005870519.tif 000009
【図９】
0005870519.tif 000010
【図１０】
0005870519.tif 000011
【図１１】
0005870519.tif 000012
【図１２】
0005870519.tif 000013
【図１３】
0005870519.tif 000014
【図１４】
0005870519.tif 000015
【図１５】
0005870519.tif 000016
【図１６】
0005870519.tif 000017
【図１７】
0005870519.tif 000018
【図１８】
0005870519.tif 000019
【図１９】
0005870519.tif 000020
【図２０】
0005870519.tif 000021
【図２１】
0005870519.tif 000022
【図２２】
0005870519.tif 000023
【図２３】
0005870519.tif 000024
【図２４】
0005870519.tif 000025
【図２５】
0005870519.tif 000026
【図２６】
0005870519.tif 000027
【図２７】
0005870519.tif 000028
【図２８】
0005870519.tif 000029
【図２９】
0005870519.tif 000030
【図３０】
0005870519.tif 000031
【図３１】
0005870519.tif 000032
【図３２】
0005870519.tif 000033
【図３３】
0005870519.tif 000034
【図３４】
0005870519.tif 000035
【図３５】
0005870519.tif 000036
【図３６】
0005870519.tif 000037
【図３７】
0005870519.tif 000038
【図３８】
0005870519.tif 000039
【図３９】
0005870519.tif 000040
【図４０】
0005870519.tif 000041
【図４１】
0005870519.tif 000042
【図４２】
0005870519.tif 000043
【図４３】
0005870519.tif 000044
【図４４】
0005870519.tif 000045