(57)【要約】【課題】情報処理装置のデバイスのハードウェア構成を変更せずに省電力化を実現できる情報処理装置、デバイス制御方法及びプログラムを提供する。【解決手段】実施形態の情報処理装置は、第１デバイスの動作を制御する第１制御部と、第２デバイスの動作を制御する第２制御部とを備える。第１制御部は、第１リクエスト処理部と、通知部と、第１実行部とを備える。第２制御部は、第２リクエスト処理部と、記憶部と、通知受信部と、第２実行部とを備える。通知部は、第１リクエストを受信したことを第２制御部に通知する。第２実行部は、第１デバイスがアクティブ状態の場合に、第２リクエスト処理部が受信した第２リクエストを記憶せずに実行し、通知受信部が第１リクエストを受信したことを示す通知を受信したときに、記憶部に記憶されていた第２リクエストを実行する。【選択図】図１
2014167781.tif 000002
【特許請求の範囲】
【請求項１】
第１デバイスの動作を制御する第１制御部と、
第２デバイスの動作を制御する第２制御部とを備え、
前記第１制御部は、
前記第１デバイスの処理開始の指示を含む第１リクエストを受信する第１リクエスト処理部と、
前記第１リクエストを受信したことを前記第２制御部に通知する通知部と、
前記第１リクエストにより指示される動作を実行する第１実行部とを備え、
前記第２制御部は、
前記第２デバイスの処理開始の指示を含む第２リクエストを受信する第２リクエスト処理部と、
前記第２リクエスト処理部が前記第２リクエストを受信したときに、前記第１デバイス判定部が前記第１デバイスがアクティブ状態でない場合に、前記第２リクエストを記憶する記憶部と、
前記通知を受信する通知受信部と、
前記第１デバイスがアクティブ状態の場合に、前記第２リクエスト処理部が受信した前記第２リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストを実行する第２実行部と
を備える情報処理装置。
【請求項２】
前記第２制御部は、
前記情報処理装置の電力量を監視する電力量監視部を更に備え、
前記第２実行部は、前記電力量が所定の値以上ある場合は、前記第２リクエスト処理部が受信した前記第２リクエストを実行する
請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、
複数の前記第１制御部を備え、
前記第２実行部は、
いずれか１つの前記第１デバイスがアクティブ状態の場合に、前記第２リクエスト処理部が受信した前記第２リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストを実行する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、
複数の前記第２制御部を備え、
前記通知部は、
前記複数の第２制御部の前記通知受信部に前記通知を通知し、
前記第２実行部は、
前記第１デバイスがアクティブ状態である場合に、前記第２リクエスト処理部が受信した前記第２リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストを実行する
請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２デバイスは、プロセッサであり、
前記第２リクエストは、前記プロセッサで実行するプログラムの実行開始を指示するリクエストである
請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２制御部は、
前記第２リクエストを前記記憶部に記憶するときにタイマを設定するタイマ設定部を更に備え、
前記第２実行部は、
前記タイマが満了したときに、前記記憶部に記憶された前記第２リクエストを実行する
請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
第１デバイスの動作を制御する第１制御部と、第２デバイスの動作を制御する第２制御部とを備える情報処理装置のデバイス制御方法であって、
前記第１制御部の第１リクエスト処理部が、前記第１デバイスの処理開始の指示を含む第１リクエストを受信するステップと、
前記第１制御部の通知部が、前記第１リクエストを受信したことを前記第２制御部に通知するステップと、
前記第１制御部の第１実行部が、前記第１リクエストにより指示される動作を実行するステップと、
前記第２制御部の第２リクエスト処理部が、前記第２デバイスの処理開始の指示を含む第２リクエストを受信するステップと、
前記第２制御部の記憶部が、前記第１デバイスがアクティブ状態でない場合に、前記第２リクエストを記憶するステップと、
前記第２制御部の通知受信部が、前記通知を受信するステップと、
前記第２制御部の第２実行部が、前記第１デバイスがアクティブ状態の場合に、前記第２リクエスト処理部が受信した前記第２リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストを実行するステップと
を含むデバイス制御方法。
【請求項８】
第１デバイスの動作を制御する第１制御部と、
第２デバイスの動作を制御する第２制御部として機能させるためのプログラムであって、
前記第１制御部は、
前記第１デバイスの処理開始の指示を含む第１リクエストを受信する第１リクエスト処理部と、
前記第１リクエストを受信したことを前記第２制御部に通知する通知部と、
前記第１リクエストにより指示される動作を実行する第１実行部と、を備え、
前記第２制御部は、
前記第２デバイスの処理開始の指示を含む第２リクエストを受信する第２リクエスト処理部と、
前記第１デバイスがアクティブ状態でない場合に、前記第２リクエストを記憶する記憶部と、
前記通知を受信する通知受信部と、
前記第１デバイスがアクティブ状態の場合に、前記第２リクエスト処理部が受信した前記第２リクエストを実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストを実行する第２実行部と、を備える、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、デバイス制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年の機器は、様々なデバイスを搭載しているため、省電力化を考慮したデバイスの制御を行えば、機器全体の消費電力を抑えることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７９１３１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、情報処理装置のデバイスのハードウェア構成を変更せずに省電力化を実現できる情報処理装置、デバイス制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の情報処理装置は、第１デバイスと、第２デバイスと、第１デバイスに処理の開始・終了などを行わせる第１デバイスコントローラと、第２デバイスに処理の開始・終了などを行わせる第２デバイスコントローラと、前記第１デバイスの動作を制御する第１制御部と、前記第２デバイスの動作を制御する第２制御部とを備える。前記第１制御部は、第１リクエスト処理部と、通知部と、第１実行部とを備える。前記第２制御部は、第２リクエスト処理部と、記憶部と、通知受信部と、第２実行部とを備える。第１リクエスト処理部は、前記第１デバイスの処理開始の指示を含む第１リクエストを受信する。通知部は、前記第１リクエストを受信したことを前記第２制御部に通知する。第１実行部は、前記第１リクエストにより指示される処理開始の指示を第１デバイスコントローラに行い、第１デバイスコントローラが第１デバイスの処理の実行を開始させる。第２リクエスト処理部は、前記第２デバイスの処理開始の指示を含む第２リクエストを受信する。記憶部は、前記第１デバイスがアクティブ状態でない場合に、前記第２リクエストを記憶する。通知受信部は、前記通知を受信する。第２実行部は、前記第１デバイスがアクティブ状態の場合に、前記第２リクエスト処理部が受信した前記第２リクエストを記憶せずに実行し、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストをを取り出し、処理開始の指示を第２デバイスコントローラに行い、第２デバイスコントローラが第２デバイスの処理の実行を開始させる。
【０００６】
実施形態のデバイス制御方法は、第１デバイスと、第２デバイスと、第１デバイスに処理の開始・終了などを行わせる第１デバイスコントローラと、第２デバイスに処理の開始・終了などを行わせる第２デバイスコントローラと、前記第１デバイスの動作を制御する第１制御部と、前記第２デバイスの動作を制御する第２制御部とを備える情報処理装置のデバイス制御方法である。デバイス制御方法は、前記第１制御部の第１リクエスト処理部が、前記第１デバイスの処理開始の指示を含む第１リクエストを受信するステップと、前記第１制御部の通知部が、前記第１リクエストを受信したことを前記第２制御部に通知するステップと、前記第１制御部の第１実行部が、前記第１リクエストにより指示される処理開始の指示を第１デバイスコントローラに行い、第１デバイスの処理の実行を開始させるステップと、前記第２制御部の第２リクエスト処理部が、前記第２デバイスの処理開始の指示を含む第２リクエストを受信するステップと、前記第２制御部の記憶部が、前記第１デバイスがアクティブ状態でない場合に、前記第２リクエストを記憶するステップと、前記第２制御部の通知受信部が、前記通知を受信するステップと、前記第２制御部の第２実行部が、前記第１デバイスがアクティブ状態の場合に、前記第２リクエスト処理部が受信した前記第２リクエストを記憶せずに処理開始の指示を第２デバイスコントローラに行い第２デバイスコントローラが第２デバイスに処理を開始させ、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストに含まれる処理開始の指示を第２デバイスコントローラに行い第２デバイスコントローラが第２デバイスに処理を開始させるステップとを含む。
【０００７】
実施形態のプログラムは、第１デバイスと第２デバイスと第１デバイスに処理の開始・終了などを行わせる第１デバイスコントローラと、第２デバイスに処理の開始・終了などを行わせる第２デバイスコントローラを含むコンピュータを、前記第１デバイスの動作を制御する第１制御部と、前記第２デバイスの動作を制御する第２制御部として機能させる。前記第１制御部は、第１リクエスト処理部と、通知部と、第１実行部とを備える。前記第２制御部は、第２リクエスト処理部と、記憶部と、通知受信部と、第２実行部とを備える。第１リクエスト処理部は、前記第１デバイスの処理開始の指示を含む第１リクエストを受信する。通知部は、前記第１リクエストを受信したことを前記第２制御部に通知する。第１実行部は、前記第１リクエストにより指示される処理開始の指示を第１デバイスコントローラに行い、第１デバイスの処理の実行を開始させる。第２リクエスト処理部は、前記第２デバイスの処理開始の指示を含む第２リクエストを受信する。記憶部は、前記第１デバイスがアクティブ状態でない場合に、前記第２リクエストを記憶する。通知受信部は、前記通知を受信する。第２実行部は、前記第１デバイスがアクティブ状態の場合に、前記第２リクエスト処理部が受信した前記第２リクエストを記憶せずに第２リクエストにより指示される処理開始の指示を第２デバイスコントローラに行い、第２デバイスコントローラが第２デバイスに処理を開始させ、前記通知受信部が前記通知を受信したときに、前記記憶部に記憶されていた前記第２リクエストにより指示される処理開始の指示を第２デバイスコントローラに行い、第２デバイスコントローラが第２デバイスに処理を開始させる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態の情報処理装置の機能ブロックの構成の一例を示す図。
【図２】第１実施形態の第２リクエスト処理部の機能ブロックの構成の一例を示す図。
【図３】第１実施形態の情報処理装置のハードウェア構成の一例を示す図。
【図４】第１実施形態の第１制御部の動作の一例を示すフローチャート。
【図５】第１実施形態の第２制御部の動作の一例を示すフローチャート。
【図６】第１実施形態の通知受信部が通知を受信したときの動作の一例を示すフローチャート。
【図７】第１実施形態のデバイス制御方法の一例（ＥＰＤ及びＮＡＮＤフラッシュ）を示す図。
【図８】第１実施形態のデバイス制御方法の一例（ＥＰＤ及び無線ＬＡＮデバイス）を示す図。
【図９】第２実施形態の情報処理装置の機能ブロックの一例を示す図。
【図１０】第２実施形態の第２制御部の動作の一例を示すフローチャート。
【図１１】第３実施形態の情報処理装置の機能ブロックの一例を示す図。
【図１２】第３実施形態の情報処理装置のデバイス制御方法の一例を示す図。
【図１３】第４実施形態の情報処理装置の機能ブロックの一例を示す図。
【図１４】従来の情報処理装置のデバイス制御方法の一例を示す図。
【図１５】第４実施形態の情報処理装置のデバイス制御方法の一例を示す図。
【図１６】第１実施形態の変形例の情報処理装置の機能ブロックの構成の一例を示す図。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
図１は、第１実施形態の情報処理装置１００の機能ブロックの構成の一例を示す図である。本実施形態の情報処理装置１００は、第１制御部１０、第１デバイスコントローラ１４、第１デバイス１５、第２制御部２０、第２デバイスコントローラ２６、第２デバイス２７、ＰＭＩＣ３９、クロック制御モジュール３１を備える。第１制御部１０は、第１リクエスト処理部１１、通知部１２、アクティブ状態フラグ管理部１６及び第１実行部１３を備える。第２制御部２０は、第２リクエスト処理部２１、記憶部２２、タイマ設定部２３、通知受信部２４、第２実行部２５、を備える。
【００１０】
第１デバイス１５及び第２デバイス２７は、情報処理装置１００を構成するデバイスの一つである。第１デバイス１５及び第２デバイス２７は、任意のデバイスでよい。
【００１１】
第１リクエスト処理部１１は、第１デバイス１５の処理開始の指示を含むリクエスト（以下「第１リクエスト」という）を第１制御部の外部から受信する。第１リクエストを送信するのは、例えば情報処理装置１００で実行しているアプリケーションやオペレーティング・システム、デバイスドライバなどである。第１リクエスト処理部１１が第１リクエストを受信すると、第１リクエスト処理部１１は通知部１２に通知する。通知部１２は、第１リクエスト処理部１１から通知を受けると、第１リクエストを受信したことを第２制御部２０（通知受信部２４）に通知する。また、第１リクエスト処理部１１が第１リクエストを受信すると第１実行部１３に第１リクエストを送る。第１実行部１３は、第１リクエストを受けとり、第１デバイスコントローラ１４に処理開始の指示を送り、第１デバイスコントローラ１４が第１リクエストで指示された処理を第１デバイス１５に開始させる。アクティブ状態フラグ管理部１６は、第１デバイスがアクティブ状態であるか否かを示すフラグを管理するものであり、第１実行部１３が第１デバイスコントローラ１４に処理開始の指示を送る際に、第１実行部１３からアクティブ状態フラグ管理部１６に実行開始の通知を行い、それを受けてアクティブ状態フラグ管理部１６は、フラグをＯＮにしてアクティブ状態であることを示す。また、第１デバイス１５は処理を終了したらアクティブ状態フラグ管理部１６に処理終了の通知を送り、アクティブ状態フラグ管理部１６は、フラグをＯＦＦにする。
【００１２】
第２リクエスト処理部２１は、第２デバイス２７の処理開始の指示を含むリクエスト（以下「第２リクエスト」という）を第２制御部２０の外部から受信する。第２リクエストを送信するのは、例えば情報処理装置１００で実行しているアプリケーションやオペレーティング・システム、デバイスドライバなどである。
【００１３】
図２は第１実施形態の第２リクエスト処理部２１の機能ブロックの構成の一例を示す図である。第２リクエスト処理部２１は、受信部２８及び判定部２９を備える。受信部２８は、第２リクエストを受信する。
【００１４】
第２リクエスト処理部２１の受信部２８は、第２リクエスト処理部２１の判定部２９に対し、第１デバイス１５がアクティブ状態であるか否かを問い合わせる。第１デバイス１５がアクティブ状態であるとはデバイスが処理を実行中である場合のことであり、例えば、第１デバイス１５にクロックが送られている場合、第１デバイス１５もしくは第１デバイスコントローラ１４のステータスレジスタがＯＮを示している場合、ＰＭＩＣ３９が第１デバイス１５に電力を供給している場合、第１制御部１０のアクティブ状態フラグ管理部１６のフラグがアクティブ状態を示している場合などのことである。判定部２９は受信部２８から第１デバイス１５がアクティブ状態であるか否かの問い合わせを受信すると、第１デバイス１５がアクティブ状態であるかを判定する。判定方法は例えば、第１デバイス１５にクロックが送られているかを調べるために判定部がクロック制御モジュール３１内の第１デバイスにクロックを供給しているかを示すレジスタを参照する、または、第１デバイス１５もしくは第１デバイスコントローラ１４にあるアクティブ状態かを示すステータスレジスタを参照する、または、ＰＭＩＣ３９内にある第１デバイス１５に電力を供給しているかを示すレジスタを参照する、または、第１制御部１０のアクティブ状態フラグ管理部１６で管理しているアクティブ状態かを示すフラグを参照するかのいずれかの方法、もしくは、複数の方法にて第１デバイス１５がアクティブ状態かどうかを判定する。
【００１５】
判定部２９にて第１デバイス１５がアクティブ状態ではないと判定された場合は、第２リクエスト処理部２１は記憶部２２へ第２リクエストを送り、記憶部２２は第２リクエストを第２リクエストを識別するＩＤと対応付けて記憶する。記憶部２２は、複数の第２リクエストを時系列順に記憶できるように内部にキューを持つ。記憶部２２は第２リクエストを記憶する際に、タイマ設定部２３に対し、一定時間以上記憶部に第２リクエストが記憶されて実行されないことを防ぐため、記憶部２２が記憶している第２リクエストを取り出して第２実行部に送る処理を実行するように第２リクエストを識別するＩＤとともにタイマを設定する。タイマを設定した時間が経過すると、タイマ設定部２３は、第２リクエストを識別するＩＤを記憶部２２に送り、記憶部２２は、ＩＤと対応する第２リクエストが記憶部に残っている場合は、その第２リクエストを第２実行部に送る。また、第２リクエスト処理部２１の受信部２８は、判定部２９にて第１デバイス１５がアクティブ状態と判定した場合には、第２リクエストを第２実行部２５に送る。第２実行部２５は、第２リクエストを受けとり、第２デバイスコントローラ２６に処理開始の指示を送り、指示を受け取った第２デバイスコントローラ２６が第２リクエストで指示された処理を第２デバイス２７に開始させる。
【００１６】
通知受信部２４は、第１リクエストを受信したことを示す通知を通知部１２から受信する。受信通知部２４は通知を受信すると、記憶部２２にそれを通知する。記憶部２２は、その通知を受けると、記憶していた第２リクエストを第２実行部に送り、第２実行部２５は、第２リクエストを受けとり、第２デバイスコントローラ２６に処理開始の指示を送り、指示を受け取った第２デバイスコントローラ２６が第２リクエストで指示された処理を第２デバイス２７に開始させる。
【００１７】
第１制御部１０及び第２制御部２０は、プログラムが実行されることによって実現される。第１制御部１０と第２制御部２０のプログラムは、それぞれオペレーティング・システムとデバイスドライバの一部、または、オペレーティング・システムとアプリケーションの一部、デバイスドライバとアプリケーションの一部、オペレーティング・システムとデバイスドライバとアプリケーションの一部のプログラムで実現できる。第１制御部１０及び第２制御部２０により、第１デバイス１５がアクティブ状態である場合に、第２デバイス２７の動作を開始させる制御を行うことができる。
【００１８】
図３は、第１実施形態の情報処理装置１００のハードウェア構成の一例を示す図である。本実施形態の情報処理装置１００は、ＳｏＣ３０（Ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ）、電力量計測装置３８、ＰＭＩＣ３９（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、メインメモリ４０、表示デバイス４１、ストレージデバイス４２、ネットワークデバイス４３、蓄電装置４４及び電源装置４５を備える。なお、図３では図示されていないが、情報処理装置１００は、更にキーボードやタッチパネル等の様々なデバイスを備えていてもよい。
【００１９】
ＳｏＣ３０は、クロック制御モジュール３１、プロセッサコア３２、バス３３、メモリコントローラ３４、表示デバイスコントローラ３５、ストレージコントローラ３６及びネットワークコントローラ３７を備える。なお、メモリコントローラ３４、表示デバイスコントローラ３５、ストレージコントローラ３６及びネットワークコントローラ３７は、ＳｏＣ３０の外部にあってもよい。
【００２０】
ここで、本実施形態の情報処理装置１００の第１デバイス１５及び第２デバイス２７の具体例について説明する。例えば、本実施形態の情報処理装置１００が、ネットワークデバイス４３が無線ＬＡＮデバイス、ストレージデバイス４２がＮＡＮＤフラッシュ、表示デバイス３５が液晶ディスプレイの場合は、第１デバイス１４を無線ＬＡＮとし、第２デバイス２７を、ＮＡＮＤフラッシュ４２とすることができる。デバイスがアクティブ状態になるタイミングを合わせるには、基準となる第１デバイス１５を決めて、基準となるデバイスがアクティブ状態である期間に、他のデバイスを第２デバイス２７とし、アクティブ状態になるタイミングを合わせる方法が望ましい。平均的なアクティブ状態の時間を比較すると、無線ＬＡＮデバイスは、ＮＡＮＤフラッシュと比べてアクティブ状態になる時間が長い。また、ＮＡＮＤフラッシュを用いる処理のうち、ＮＡＮＤフラッシュの書き込み処理は、メインメモリ４０上のページキャッシュの書き込み処理であるため、多少タイミングが遅れても問題になることが無い。また、メインメモリ４０を不揮発性にした場合、電力が失われてもメインメモリ４０上のページキャッシュを失うことが無いため、書き込みが遅れることによる問題発生の可能性は更に小さくなる。
【００２１】
したがって、本実施形態の情報処理装置１００において、ネットワークデバイス４３が無線ＬＡＮ、ストレージデバイス４２がＮＡＮＤフラッシュ、表示デバイス４１が液晶ディスプレイで、液晶ディスプレイの表示を消しており液晶ディスプレイをオフにしている場合は、無線ＬＡＮデバイスを第１デバイス１５、ＮＡＮＤフラッシュを第２デバイス２７とし、無線ＬＡＮのアクティブ状態にＮＡＮＤフラッシュのアクティブ状態を合わせ込むことが望ましい。ただし、基準となるデバイスは無線ＬＡＮデバイスに限定するものではない。
【００２２】
一方、例えば、情報処理装置１００において、表示デバイス４１にＥＰＤを用いるような電子書籍端末の場合、ＥＰＤは無線ＬＡＮやＮＡＮＤフラッシュとくらべてアクティブ状態が長い。そのため、ＥＰＤを基準となる第１デバイス１５とし、第２デバイス２７に無線ＬＡＮまたは、ＮＡＮＤフラッシュにするのが望ましい。または、ＥＰＤを第１デバイス１５にし、無線ＬＡＮとＮＡＮＤフラッシュの両方を第２デバイス２７にしてもよい。このとき、ＮＡＮＤフラッシュに加えて、無線ＬＡＮデバイスの処理がＥＰＤのアクティブ状態に合わせ込まれるため、処理開始が遅延されるが、元々ネットワーク処理は遅延することが前提であるため、問題になりにくい。なお、第２デバイス１５が複数の場合の説明は、第４実施形態の情報処理装置１００として説明する。
【００２３】
また、表示デバイス４１がＥＰＤではないデバイスであり、ネットワークが近接ノードのみで構成されており、ネットワーク処理のレスポンスが非常に早いネットワークでの使用が想定される場合、無線ＬＡＮデバイスとＮＡＮＤフラッシュのアクティブ状態に大きな差が無い場合がある。その場合は、無線ＬＡＮデバイスとＮＡＮＤフラッシュの両方を第１デバイス１５とし、他のデバイスを第２デバイス２７にすることもできる。なお、第１デバイス１５が複数の場合の説明は、第３実施形態の情報処理装置１００として説明する。
【００２４】
次に、本実施形態の情報処理装置１００を構成するデバイスを、第１デバイス１５又は第２デバイス２７として動作させるための方法の一例について説明する。例えば、第１デバイス１５を表示デバイス４１とし、第２デバイス２７を、ストレージデバイス４２とする方法について説明する。表示デバイス４１を基準となるデバイス（第１デバイス１５）にして、表示デバイス４１がアクティブ状態であるときに、ストレージデバイス４２の書き込み処理のタイミングを合わせたい場合は、例えば、表示デバイス４１のデバイスドライバに第１制御部１０を組込む。つまり、従来の表示デバイス４１のドライバは、第１リクエスト処理部１１でリクエストを受信し、第１実行部１３で第１リクエストにより指示される動作の実行を開始していたが、本実施形態の情報処理装置１００では、第１リクエスト処理部１１と第１実行部１３との間に通知部１２を組み込む。一方、ストレージデバイス４２のデバイスドライバには、第２制御部２０を組み込む。つまり、従来のストレージデバイス４２のデバイスドライバの第２リクエスト処理部２１と第２実行部２５に加えて、新たに、記憶部２２、タイマ設定部２３及び通知受信部２４を組み込む。また、第２リクエスト処理部２１には、判定部２９を組み込む。
【００２５】
また、別の例として、メインメモリ４０上のページキャッシュをストレージデバイス４２に書き込む処理の実行を、表示デバイス４１のアクティブ状態に合わせるには、例えば、第２制御部２０をオペレーティングシステムに組み込むことで実現できる。つまり、オペレーティングシステム内でページキャッシュの書き込み要求を受信し、ストレージデバイス４２にページキャッシュの書き込みを行なっている箇所に第２制御部２０を組み込む。
【００２６】
次に、本実施形態の情報処理装置１００のハードウェア構成の各ハードウェアの詳細について説明する。
【００２７】
クロック制御モジュール３１は、プロセッサコア３２、バス３３、メモリコントローラ３４、表示デバイスコントローラ３５、ストレージコントローラ３６及びネットワークコントローラ３７にクロックを供給する。メインメモリ４０、表示デバイス４１、ストレージデバイス４２及びネットワークデバイス４３にもクロックを供給する場合は、各コントローラ（メモリコントローラ３４、表示デバイスコントローラ３５、ストレージコントローラ３６及びネットワークコントローラ３７）から、又はクロック制御モジュール３１から直接、クロックを供給する。
【００２８】
クロック制御モジュール３１は、メインメモリ４０、表示デバイス４１、ストレージデバイス４２及びネットワークデバイス４３等のデバイスがアクティブ状態である場合に、アクティブ状態のデバイス、メインメモリ４０及びバス３３等にクロックを供給する。クロック制御モジュール３１は、情報処理装置１００内に動作中（アクティブ状態）のデバイスが１つでもある場合、クロックの供給を停止しない。本実施形態の情報処理装置１００（又はＳｏＣ３０）は、複数の省電力モードを備えていてもよいが、最も消費電力が抑えられるアイドル状態では、クロック制御モジュール３１を停止できるものとする。したがって、アクティブ状態のデバイスが１つでもあると、情報処理装置１００（又はＳｏＣ３０）は動作状態をアイドル状態にすることができない。
【００２９】
プロセッサコア３２は、オペレーティングシステムやアプリケーションなどのプログラムを実行して情報処理装置１００の動作を制御する。バス３３は、情報処理装置１００のデバイス間でデータを送受信するための伝送路である。
【００３０】
ＰＭＩＣ３９は、情報処理装置１００を構成している各デバイスに電力を供給するパワーレール（電源ライン）を複数備える。ＰＭＩＣ３９は、パワーレール（電源ライン）毎に異なる電圧を供給することができる。ＰＭＩＣ３９は、蓄電装置４４から供給される電力を、各デバイスが必要とする電圧に変換してから、それぞれのデバイスに供給する。ＰＭＩＣ３９は、電力供給のパワーレール（電源ライン）毎に電圧を変更したり、電力供給を停止したりすることができる。デバイスの数だけのパワーレール（電源ライン）を提供できない等の場合は、１つのパワーレール（電源ライン）を複数のデバイスで共有してもよい。例えば、本実施形態の情報処理装置１００では、ストレージコントローラ４２及びネットワークデバイス４３に電力を供給するためのパワーレール（電源ライン）が共有されている。しかしながら、パワーレール（電源ライン）を複数のデバイスで共有する場合は、アクティブ状態のデバイスのみに電力を供給すれば十分であるにも関わらず、アクティブ状態のデバイス以外のデバイスにも同時に電力を供給せざるを得ず、余計に電力消費を発生してしまうことがある。
【００３１】
メインメモリ４０は、揮発性のメモリでも不揮発性のメモリでもよい。例えば、メインメモリ４０が揮発性である場合は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。また、メインメモリ４０が不揮発性である場合は、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＣＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＮＯＲ型フラッシュメモリ等である。
【００３２】
メインメモリ４０は、メモリコントローラ３４により制御されている。メインメモリ４０の動作に必要なクロックは、メモリコントローラ３４から供給する。メインメモリ４０は、プロセッサコア３２や、他のデバイスのコントローラがアクセスしていない間は、電力消費の少ないセルフリフレッシュモードなどの省電力モードに遷移することで消費電力を抑えることができる。メインメモリ４０が不揮発性のメモリである場合は、電力が無くてもデータを保持できる。そのため、この場合は、ＰＭＩＣ３９がメインメモリ４０への電力供給を遮断することで、更に電力消費を抑えることができる。
【００３３】
また、表示デバイス４１、ストレージデバイス４２及びネットワークデバイス４３は、アクティブ状態のときに、メインメモリ４０にアクセスすることが多い。そのため、本実施形態の情報処理装置１００は、表示デバイス４１、ストレージデバイス４２及びネットワークデバイス４３のうち、いずれか１つのデバイスがアクティブ状態であるときは、メインメモリ４０にもアクセスできるようにしておく。メインメモリ４０は、セルフリフレッシュモードなどの省電力モードを提供していたり、不揮発性メモリの場合は電力を落としたりすることで消費電力を抑えることができる。しかしながら、セルフリフレッシュモード中や、電力を落としている間は、外部からのメモリアクセスができない。そのため、メインメモリ４０にアクセスが発生するアクティブ状態のデバイスがあると、メモリコントローラ３４は、メインメモリ４０をセルフリフレッシュモードにしたり、電力供給を停止したりするなどしてメインメモリの電力消費を抑えることができない。
【００３４】
表示デバイス４１は、例えば、液晶ディスプレイ、メモリ液晶ディスプレイ、ＥＰＤ（Ｅｌｅｃｔｒｏｐｈｏｒｅｔｉｃ  Ｄｉｓｐｌａｙ）などで実現できる。液晶ディスプレイは、表示中はデバイスとコントローラに電力とクロックを供給しなければならない。メモリ液晶ディスプレイは表示中はデバイスに電力を供給しなければならないが、表示内容を書き換えなければコントローラのクロックを止めることができる。ＥＰＤは、書き換え時にクロックや電力が必要だが、書き換え時以外は、電力を落としても描画内容を保持できる。一般に、ＥＰＤは、液晶ディスプレイなどと比べて書き換えに必要な時間が長いため、描画速度よりも消費電力削減が優先される電子リーダなどで用いられることが多い。ＥＰＤは、表示デバイスコントローラ３５により制御される。ＥＰＤが描画処理を行うアクティブ状態である場合は、表示デバイスコントローラ３５は、ＥＰＤにクロックを供給する。また、ＥＰＤのアクティブ状態では、メインメモリ４０もアクティブ状態になる。これは、表示デバイスコントローラ３５が、メインメモリ４０上に展開された描画内容のデータをＥＰＤに転送したり、描画内容のデータを元にＥＰＤの電圧制御のためのパラメータを、メインメモリ４０を使用して計算したりするためである。
【００３５】
ストレージデバイス４２は、２次ストレージとして使用する。ストレージデバイス４２は、例えば、ＮＡＮＤフラッシュ、ＮＯＲフラッシュ、ＳＤカードなどの各種メモリカード、ハードディスクなどで実現できる。本実施形態の情報処理装置１００では、ストレージデバイス４２がＮＡＮＤフラッシュであることを前提として説明する。なお、ストレージデバイス４２は、ＮＡＮＤフラッシュに限られず、任意のストレージデバイスでよい。ＮＡＮＤフラッシュは、ファイルやプログラムなどのデータを記憶する。ＮＡＮＤフラッシュは、ストレージコントローラ３６により制御される。ストレージコントローラ３６は、ＮＡＮＤフラッシュが読み書き処理を行うアクティブ状態のときにクロックを供給する。ＮＡＮＤフラッシュ上のデータを読み込む場合は、ストレージコントローラ３６が、当該データをメインメモリ４０上にページキャッシュとして展開する。アプリケーションやＯＳなどがデータを書き換える場合は、メインメモリ４０上のページキャッシュを変更する。当該ページキャッシュは、定期的にストレージコントローラ３６によってＮＡＮＤフラッシュに書き込まれる。そのため、ＮＡＮＤフラッシュへのデータの読み書きが発生する場合は、メインメモリ４０もアクティブ状態になる。
【００３６】
ネットワークデバイス４３は、例えば、有線ＬＡＮデバイス、802.11a/802.11b/802.11gなどの伝送規格の無線ＬＡＮデバイス、Ｂｌｕｅｔｏｏｔｈ（登録商標）などで実現できる。本実施形態の情報処理装置１００では、ネットワークデバイス４３が無線ＬＡＮデバイスであることを前提として説明する。なお、ネットワークデバイス４３は、無線ＬＡＮデバイスに限られず、任意のネットワークデバイスでよい。無線ＬＡＮデバイスは、ネットワークコントローラ３７によって制御される。ネットワークコントローラ３７は、無線ＬＡＮデバイスがネットワーク処理を行うアクティブ状態のときにクロックを供給する。無線ＬＡＮデバイスがアクティブ状態のときは、メインメモリ４０を使用して送受信用のデータを読み書きするため、メインメモリ４０もアクティブ状態になる。
【００３７】
電源装置４５は、例えば、ＡＣアダプタなどのＡＣ電源や、エナジーハーベスト装置などの各種発電装置で実現できる。エナジーハーベスト装置は、光エネルギーを利用した太陽電池や、熱エネルギーの利用などの環境発電技術を利用した装置である。本実施形態の情報処理装置１００では、電源装置４５をエナジーハーベスト装置として説明するが、電源装置４５は、エナジーハーベスト装置に限られない。電源装置４５としてエナジーハーベスト装置を使用する場合、電源装置４５の発電する電力のみでは、情報処理装置１００の動作のピーク時の消費電力を得ることができないので、消費電力が少ない間に余剰電力を蓄電装置４４に蓄電しておき、ピーク時の電力をまかなう。蓄電装置４４は、電気２重層キャパシタやリチウムイオンキャパシタなどの大容量キャパシタ、又はリチウムイオン電池などのバッテリなどである。なお、蓄電装置４４は、大容量キャパシタ及びバッテリの両方を組み合わせた装置でもよい。
【００３８】
電力量計測装置３８は、蓄電装置４４が蓄積している電力量を計測する装置である。例えば、蓄電装置４４が電気二重層キャパシタやリチウムイオンキャパシタなどのキャパシタである場合は、その出力電圧を計測することで蓄積している電力量を知ることができる。そのため、ＡＤコンバータを電力量計測装置３８として用いることができる。また、蓄電装置４４がリチウムイオン電池などのバッテリである場合は、クーロンカウンタを電力量計測装置３８として用いることができる。つまり、バッテリの充放電量をクーロンカウンタで計測することで蓄積している電力量を知ることができる。
【００３９】
次に、本実施形態の情報処理装置１００の第１制御部１０及び第２制御部２０によるデバイス制御方法について説明する。
【００４０】
図４は、第１実施形態の情報処理装置１００の第１制御部１０の動作の一例を説明するためのフローチャートである。第１リクエスト処理部１１は、第１デバイス１５の処理開始の指示を含む第１リクエストを受信する（ステップＳ１）。通知部１２は、第１リクエストを受信したことを第２制御部２０に通知する（ステップＳ２）。第１実行部１３は、第１リクエスト（第１リクエストにより指示される動作）の実行を第１デバイスが開始できるように第１デバイスコントローラに指示し、第１デバイスコントローラは第１デバイスに処理の実行を開始させる（ステップＳ３）。
【００４１】
図５は、第１実施形態の情報処理装置１００の第２制御部２０の動作の一例を説明するためのフローチャートである。第２リクエスト処理部２１は、第２デバイス２７の処理開始の指示を含む第２リクエストを受信する（ステップＳ１１）。第２リクエスト処理部２１（判定部２９）は、第１デバイス１５が動作中（アクティブ状態）であるか否かを調べる（ステップＳ１２）。第２リクエスト処理部２１（判定部２９）は、第１デバイス１５が動作中（アクティブ状態）であるか否かを判定する（ステップＳ１３）。第１デバイス１５がアクティブ状態でない場合（ステップＳ１３、Ｎｏ）は、記憶部２２が、第２リクエストを記憶する（ステップＳ１４）。第１デバイス１５がアクティブ状態である場合（ステップＳ１３、Ｙｅｓ）は、第２実行部２５が、第２リクエスト（第２リクエストにより指示される動作）の実行を第２デバイスが開始できるように第２デバイスコントローラに指示し、第２デバイスコントローラは第２デバイスに処理の実行を開始させる（ステップＳ１５）。
【００４２】
図６は、第１実施形態の情報処理装置１００の通知受信部２４が通知を受信したときの動作の一例を説明するためのフローチャートである。通知受信部２４は、第１制御部１０の通知部１２から第１リクエストを受信したことを示す通知を受信する（ステップＳ２１）。第２実行部２５は、記憶部２２に第２リクエストが記憶されているか否かを確認する（ステップＳ２２）。第２リクエストが記憶されている場合（ステップＳ２２、Ｙｅｓ）は、記憶部２２に記憶されていた第２リクエストの実行を開始する（ステップＳ２３）。第２リクエストが記憶されていない場合（ステップＳ２２、Ｎｏ）は、処理を終了する。
【００４３】
なお、図６のフローチャートの処理は、第１デバイス１５に第１リクエストが来なかった場合は実行されない。このため、タイマ設定部２３が設定したタイマの満了を契機としても、図６のフローチャートの処理（ステップＳ２２及びステップＳ２３）を行うようにする。一般に、オペレーティングシステムには、一定時間経過した後に、又は周期的に、指定された処理を実行させるタイマ機能が提供されている。そのため、オペレーティングシステムのタイマ機能を用いてもタイマ割込み処理を実現できる。例えば、タイマ設定部２３が、第２リクエストを記憶する際にタイマをセットしたり、オペレーティングシステムの起動時に、一定の間隔で周期的に図６のフローチャートの処理（ステップＳ２２及びステップＳ２３）を起動するようにしたりすることでタイマ割込み処理を実現できる。
【００４４】
次に、本実施形態の情報処理装置１００のデバイス制御方法による効果について説明する。
【００４５】
図７は、第１実施形態の情報処理装置１００のデバイス制御方法の一例（ＥＰＤ及びＮＡＮＤフラッシュ）を示す図である。本実施形態の情報処理装置１００（図７の具体例の場合）は、第１デバイス１５（ＥＰＤ）がアクティブ状態である場合に、第２デバイス２７（ＮＡＮＤフラッシュ）の動作を開始させる。図８は、第１実施形態の情報処理装置１００のデバイス制御方法の一例（ＥＰＤ及び無線ＬＡＮデバイス）を示す図である。本実施形態の情報処理装置１００（図８の具体例の場合）は、第１デバイス１５（ＥＰＤ）がアクティブ状態である場合に、第２デバイス２７（無線ＬＡＮデバイス）の動作を開始させる。これにより、従来の情報処理装置１００よりもアイドル状態を長くすることができ、情報処理装置１００を省電力化することができる。すなわち、ＳｏＣ３０を消費電力の少ないアイドル状態にしたり、メインメモリ４０を省電力モードや電源オフ状態にしたりすることができる時間を長くすることができる。また、ＰＭＩＣ３９がデバイスに電力を供給する時間を短くすることができる。
【００４６】
（第２実施形態）
次に、第２実施形態の情報処理装置１００について説明する。第１実施形態の情報処理装置１００は、第２デバイス２７が第２リクエストを受信してから、第２リクエストで指定された処理の実行開始のタイミングをずらすことで省電力化を行っている。しかしながら、リクエストの受信と実行開始のタイミングに時間差が発生するため、電力に余裕がある場合は、時間差が無いほうが望ましい。本実施形態の情報処理装置１００は、第２制御部２０に電力量監視部１７を備えることで、蓄積している電力量が閾値以下の場合にのみ、デバイスのアクティブ状態のタイミングを合わせる。
【００４７】
図９は、第２実施形態の情報処理装置１００の機能ブロックの一例を示す図である。本実施形態の情報処理装置１００は、第１制御部１０、第１デバイスコントローラ１４、第１デバイス１５、第２制御部２０、第２デバイスコントローラ２６第２デバイス２７、ＰＭＩＣ３９、クロック制御モジュール３１、電力量計測装置３８を備える。第１制御部１０は、第１リクエスト処理部１１、通知部１２及び第１実行部１３を備える。第２制御部２０は、第２リクエスト処理部２１、記憶部２２、タイマ設定部２３、第１デバイス判定部２４、通知受信部２４、第２実行部２５及び電力量監視部１７を備える。電力量監視部１７以外の機能ブロックについては、第１実施形態の情報処理装置１００と同じであるため説明を省略する。
【００４８】
電力量監視部１７は、情報処置装置１００の電力量を監視する。電力量監視部１７は，電力量を調べるには、電力量監視部１７に電力量を問い合わせる。電力量監視部１７は、電力量計測装置３８から電力量を取得する。図１０は、第２実施形態の情報処理装置１００の第２制御部２０の動作の一例を説明するためのフローチャートである。第２リクエスト処理部２１は、第２デバイス２７の処理開始の指示を含む第２リクエストを受信する（ステップＳ３１）。電力量監視部１７は、情報処置装置１００の電力量が閾値（所定の値）以上であるか否かを判定する（ステップＳ３２）。電力量が閾値以上である場合（ステップＳ３２、Ｙｅｓ）は、ステップＳ３６に進む。電力量が閾値より小さい場合（ステップＳ３２、Ｎｏ）は、第２リクエスト処理部２１（判定部２９）が、第１デバイス１５が動作中（アクティブ状態）であるか否かを調べる（ステップＳ３３）。第２リクエスト処理部２１（判定部２９）は、第１デバイス１５が動作中（アクティブ状態）であるか否かを判定する（ステップＳ３４）。第１デバイス１５がアクティブ状態でない場合（ステップＳ３４、Ｎｏ）は、記憶部２２が、第２リクエストを記憶する（ステップＳ３５）。第１デバイス１５がアクティブ状態である場合（ステップＳ３４、Ｙｅｓ）は、第２実行部２５が、第２リクエスト（第２リクエストにより指示される動作）の実行を第２デバイスが開始できるように第２デバイスコントローラに指示し、第２デバイスコントローラは第２デバイスに処理の実行を開始させる（ステップＳ３６）。
【００４９】
本実施形態の情報処理装置１００によれば、情報処置装置１００に蓄積している電力量が閾値以下の場合にのみ、第２デバイス２７のアクティブ状態のタイミングを、第１デバイス１５のアクティブ状態に合わせる。これにより、情報処理装置１００の省電力化を図りつつ、電力量に余裕がある場合は、リクエストの受信と実行開始のタイミングの差を小さくすることができる。
【００５０】
（第３実施形態）
次に、第３実施形態の情報処理装置１００について説明する。第１実施形態の情報処理装置１００は、第１デバイス１５および第１デバイスコントローラが１つだった。しかしながら、情報処理装置１００は、第１デバイス１５を複数（任意の個数）備えていてもよい。本実施形態の情報処理装置１００は、第１デバイス１５を複数備えている場合である。
【００５１】
図１１は、第３実施形態の情報処理装置１００の機能ブロックの一例を示す図である。本実施形態の情報処理装置１００は、第１制御部１０、第１デバイスコントローラ１４、第１デバイス１５、第２制御部２０、第２デバイスコントローラ２６、第２デバイス２７、ＰＭＩＣ３９、クロック制御モジュール３１を備える。本実施形態の情報処理装置１００は、第１制御部１０、第１デバイスコントローラ１４、及び第１デバイス１５を、それぞれ３つ備えている場合の例である。第１制御部１０は、第１リクエスト処理部１１、通知部１２及び第１実行部１３を備える。第２制御部２０は、第２リクエスト処理部２１、記憶部２２、タイマ設定部２３、第１デバイス判定部２４、通知受信部２４及び第２実行部２５を備える。本実施形態の情報処理装置１００は、第１デバイス判定部２４を３つ備え、それぞれが、３つの第１デバイス１５のうちの１つのアクティブ状態を判定している。
【００５２】
本実施形態の情報処理装置１００の具体例について説明する。例えば、ＥＰＤと無線ＬＡＮデバイスを第１デバイス１５（基準となるデバイス）にする場合について説明する。この場合、たとえば、第１制御部１０を、基準のデバイス（ＥＰＤ及び無線ＬＡＮデバイス）のデバイスドライバに組み込む。また、第２制御部２０を、基準となるデバイスのアクティブ状態に、動作の開始を合わせたい第２デバイス２７のデバイスドライバに組み込む。これにより、第２デバイス２７は、複数の第１デバイス１５のうちアクティブ状態の第１デバイス１５が１つでもあれば、第２リクエストにより指示される動作の実行を開始することができる。
【００５３】
次に、本実施形態の情報処理装置１００のデバイス制御方法による効果について説明する。第１デバイス１５が２つであり、第２デバイス２７が１つである場合について、具体例に基づいて説明する。図１２は、第３実施形態の情報処理装置１００のデバイス制御方法の一例を示す図である。本実施形態の情報処理装置１００（図１２の具体例の場合）は、第１デバイス１５（ＮＡＮＤフラッシュ及び無線ＬＡＮデバイス）のいずれか１つがアクティブ状態である場合に、第２デバイス２７（処理の短いデバイス）の動作を開始させる。これにより、従来の情報処理装置１００よりもアイドル状態を長くすることができ、情報処理装置１００を省電力化することができる。すなわち、ＳｏＣ３０を消費電力の少ないアイドル状態にしたり、メインメモリ４０を省電力モードや電源オフ状態にしたりすることができる時間を長くすることができる。また、ＰＭＩＣ３９がデバイスに電力を供給する時間を短くすることができる。
【００５４】
（第４実施形態）
次に、第４実施形態の情報処理装置１００について説明する。情報処理装置１００は、第２デバイス２７を複数（任意の個数）備えていてもよい。本実施形態の情報処理装置１００は、第２デバイス２７を複数備えている場合である。
【００５５】
本実施形態の情報処理装置１００では、第１デバイス１５をＥＰＤとし、第２デバイス２７を、ＮＡＮＤフラッシュ及び無線ＬＡＮデバイスとする。この理由について説明する。デバイスがアクティブ状態になるタイミングを合わせるには、基準となるデバイスを決めて、基準となるデバイスがアクティブ状態である時間に、他のデバイスがアクティブ状態になるタイミングを合わせる方法が望ましい。デバイスの平均的なアクティブ状態の時間を比較すると、ＥＰＤは、ＮＡＮＤフラッシュや無線ＬＡＮデバイスと比べてアクティブ状態になる時間が長い。また、ＮＡＮＤフラッシュを用いる処理のうち、ＮＡＮＤフラッシュの書き込み処理は、メインメモリ４０上のページキャッシュの書き込み処理であるため、多少タイミングが遅れても問題になることが無い。また、メインメモリ４０を不揮発性にした場合、電力が失われてもメインメモリ４０上のページキャッシュを失うことが無いため、書き込みが遅れることによる問題発生の可能性は更に小さくなる。また、無線ＬＡＮデバイスについても、元々ネットワーク処理は遅延することが前提であるため、無線ＬＡＮデバイスの処理を遅延させても問題にはなりにくい。
【００５６】
したがって、本実施形態の情報処理装置１００では、ＥＰＤをアクティブ状態のタイミングを合わせる基準とすることが望ましい。ただし、基準となるデバイスはＥＰＤに限定されない。例えば、表示デバイス４１としてＥＰＤではなく、液晶ディスプレイを用いるパーソナルコンピュータのような情報処理装置１００では、無線ＬＡＮデバイスやＮＡＮＤフラッシュのアクティブ状態が、他のデバイスと比べて相対的に大きくなることが多い。このような場合は、基準となるデバイスを無線ＬＡＮデバイスやＮＡＮＤフラッシュにしてもよい。
【００５７】
図１３は、第４実施形態の情報処理装置１００の機能ブロックの一例を示す図である。本実施形態の情報処理装置１００は、第１制御部１０、第１デバイス１５、第２制御部２０及び第２デバイス２７を備える。本実施形態の情報処理装置１００は、第２制御部２０及び第２デバイス２７を、それぞれ３つ備えている場合の例である。第１制御部１０は、第１リクエスト処理部１１、通知部１２及び第１実行部１３を備える。本実施形態の通知部１２は、３つの第２制御部２０（通知受信部２４）に、第１リクエストを受信したことを通知する。図１３には、通知部１２が第２制御部と一対一に対応するように図示されているが、一つの通知部１２が複数の第２制御部に受信を通知するような形態でもよい。第２制御部２０は、第２リクエスト処理部２１、記憶部２２、タイマ設定部２３、第１デバイス判定部２４、通知受信部２４及び第２実行部２５を備える。
【００５８】
次に、本実施形態の情報処理装置１００のデバイス制御方法による効果について、第１デバイス１５が１つであり、第２デバイス２７が２つである場合について、具体例に基づいて説明する。図１４は、従来の情報処理装置のデバイス制御方法の一例を示す図である。図１４では、それぞれのデバイスが、独立にアクティブ状態になっているため、アクティブ状態である時間の重なりがあまり無い。そのため、すべてのデバイスがアクティブ状態でない期間が短いため、情報処理装置１００がアイドル状態になる期間が短い。
【００５９】
図１５は、第４実施形態の情報処理装置１００のデバイス制御方法の一例を示す図である。本実施形態の情報処理装置１００は、第１デバイス１５（ＥＰＤ）がアクティブ状態である場合に、第２デバイス２７（ＮＡＮＤフラッシュ及び無線ＬＡＮデバイス）の動作を開始させる。これにより、従来の情報処理装置１００よりもアイドル状態を長くすることができ、情報処理装置１００を省電力化することができる。すなわち、ＳｏＣ３０を消費電力の少ないアイドル状態にしたり、メインメモリ４０を省電力モードや電源オフ状態にしたりすることができる時間を長くすることができる。また、ＰＭＩＣ３９がデバイスに電力を供給する時間を短くすることができる。
【００６０】
本実施形態の情報処理装置１００は、第１制御部１０の通知部１２が、情報処理装置１００を構成するそれぞれの第２デバイス２７に、第１リクエストを受信したことを通知する。これにより、本実施形態の情報処理装置１００は、第２デバイス２７の数が任意でも、第１実施形態の情報処理装置１００が奏する効果と同様の効果を奏する。
【００６１】
以上のように、第１〜４実施形態の情報処理装置１００によれば、情報処理装置１００のデバイスのハードウェア構成を変更せずに省電力化を実現することができる。
【００６２】
なお、情報処理装置１００を構成するデバイスは、任意のデバイスでよい。上述の実施形態では説明しなかったデバイスの具体例として、デバイスがプロセッサである場合について説明する。
【００６３】
図１６は、第１実施形態の変形例（第２デバイスがプロセッサの例）の情報処理装置１００の機能ブロックの構成の一例を示す図である。図１の第２デバイスコントローラ２６及び第２デバイス２７が、図１６では、第２プロセッサ４７となるところが図１とは異なる。この場合は、第２プロセッサ４７上で実行するプログラムの実行開始を第１デバイスがアクティブ状態であるときに合わせることになる。
【００６４】
具体的なプログラムの処理の例としては、例えば、アプリケーションが実行するＧＣ（Ｇａｒｂａｇｅ  Ｃｏｌｌｅｃｔｉｏｎ）がある。ＧＣは、アプリケーションが確保したメモリ領域のうち、不要となったメモリ領域を解放するための処理である。ＧＣは、処理の負荷が大きいが、開始のタイミングの制約が厳しくなく、開始タイミングが遅れても大きな問題が無いという特徴がある。そのため、アプリケーションの中でＧＣを呼び出す箇所に第２制御部２０を組込むことで、ＧＣの実行のタイミングを第１デバイス（基準となるデバイス）のアクティブ状態に合わせれば、情報処理装置１００の省電力化を実現できる。
【００６５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６６】
１０  第１制御部
１１  第１リクエスト処理部
１２  通知部
１３  第１実行部
１４  第１デバイスコントローラ
１５  第１デバイス
１６  アクティブ状態フラグ管理部
１７  電力量監視部
２０  第２制御部
２１  第２リクエスト処理部
２２  記憶部
２３  タイマ設定部
２４  通知受信部
２５  第２実行部
２６  第２デバイスコントローラ
２７  第２デバイス
２８  受信部
２９  判定部
３０  ＳｏＣ
３１  クロック制御モジュール
３２  プロセッサコア
３３  バス
３４  メモリコントローラ
３５  ＥＰＤコントローラ
３６  ＮＡＮＤコントローラ
３７  無線ＬＡＮコントローラ
３８  電力量計測装置
３９  ＰＭＩＣ
４０  メインメモリ
４１  ＥＰＤ
４２  ＮＡＮＤフラッシュ
４３  無線ＬＡＮデバイス
４４  蓄電装置
４５  電源装置
４６  プロセッサ
１００  情報処置装置
【図１】
2014167781.tif 000003
【図２】
2014167781.tif 000004
【図３】
2014167781.tif 000005
【図４】
2014167781.tif 000006
【図５】
2014167781.tif 000007
【図６】
2014167781.tif 000008
【図７】
2014167781.tif 000009
【図８】
2014167781.tif 000010
【図９】
2014167781.tif 000011
【図１０】
2014167781.tif 000012
【図１１】
2014167781.tif 000013
【図１２】
2014167781.tif 000014
【図１３】
2014167781.tif 000015
【図１４】
2014167781.tif 000016
【図１５】
2014167781.tif 000017
【図１６】
2014167781.tif 000018