(57)【特許請求の範囲】
【請求項１】
資源を管理する第１の処理手段と、前記資源にアクセスする第２の処理手段とを含む情報処理装置であって、
前記第２の処理手段が、
前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存し、
前記第１の処理手段が電源断状態であり前記第２の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第２の処理手段が前記資源にアクセスする際に、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第１の処理手段に要求する
ことを特徴とする情報処理装置。
【請求項２】
前記第１の処理手段が、前記第２の処理手段から要求されると、当該割り当てを要求された前記資源に対して前記識別子を割り当てることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記資源はファイルであり、
前記第２の処理手段が、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを、当該資源をオープンする要求と共に、前記第１の処理手段に要求することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２の処理手段が、スリープ状態となる前に、前記識別子と前記資源とが関連付けられたテーブルを保存することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２の処理手段が前記第１の処理手段を電源断状態とすることによって、省電力モードとなることを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
資源を管理する第１の処理手段と、前記資源にアクセスする第２の処理手段とを含む情報処理装置において実行される情報処理方法であって、
前記第２の処理手段が、前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存する保存工程と、
前記第２の処理手段が、前記第１の処理手段が電源断状態であり前記第２の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第２の処理手段が前記資源にアクセスする際に、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第１の処理手段に要求する要求工程と
を備えることを特徴とする情報処理方法。
【請求項７】
資源を管理する第１の処理手段と、前記資源にアクセスする第２の処理手段とを含むコンピュータにおいて、
前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存する保存手段と、
前記第１の処理手段が電源断状態であり前記第２の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第２の処理手段が前記資源にアクセスする際に前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第１の処理手段に要求する要求手段と
して前記コンピュータの第２の処理手段を機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵを含む情報処理装置に関する。
【背景技術】
【０００２】
エネルギー資源の高価格化や枯渇、また、地球平均気温の上昇などに対する環境保全意識の高まりの中、情報処理装置においても使用電力の削減が強く求められている。例えば複写機においては、待機状態における電力使用量を削減するために、低電力モードやスリープモードと呼ばれる省電力モードが搭載されている。そのような省電力モードを達成するために、ＣＰＵも電力使用量を抑えた「スリープ」という状態を有している。
【０００３】
ところで、情報処理装置の処理能力を向上させる手法として、一般的にＣＰＵの高クロック化が図られているが、プロセスの微細化などが進む中で、高クロック化を容易に実現することは難しくなっている。そのため、ＣＰＵにおいて十分に高クロック化が図られていることに着目するのではなく、複数のＣＰＵを用いることで処理を分散させることに着目して情報処理装置の処理能力を向上させる手法が広く用いられている。そのような複数のＣＰＵを含む情報処理装置が省電力モードに移行する際には、全てのＣＰＵをスリープ状態に移行させるだけでなく、一部のＣＰＵを更に電源断状態にまで移行させることが行われている。そのように行うことによって、より消費電力化を図ることができる。
【０００４】
複数のＣＰＵを含む情報処理装置において、一般的に、所定のＣＰＵが、他のＣＰＵが管理するファイル等の資源にアクセスし利用する場合が多くあり、そのために様々な技術が開発されている。特許文献１においては、複数のＣＰＵ及び記憶部を有する情報処理装置において互いに異なるＣＰＵに制御される複数の記憶部にプログラムを連続して容易に書き込むことができる情報処理装置が記載されている。
【０００５】
しかしながら、情報処理装置が省電力モードに移行するように外部から指示され、資源を管理するＣＰＵが電源断状態となり、その資源にアクセスする他のＣＰＵがスリープ状態となる場合が考えられる。スリープ状態のＣＰＵと電源断状態のＣＰＵとが混在した省電力モードから通常状態に復帰する場合に、スリープ状態であったＣＰＵ側のソフトウェアは、スリープ状態に移行する直前の状態から再開する。一方、電源断状態であったＣＰＵ側のソフトウェアは、初期状態から開始する。そのために、資源を直接管理するＣＰＵ側と、その資源にアクセスし利用するＣＰＵ側とでは、再開状態が異なる場合が生じてしまう。以下、具体的に説明する。
【０００６】
図１１の（ａ）は、従来、資源を直接管理するＣＰＵが、資源管理において、資源に識別子を割当てる処理の手順を示すフローチャートである。図１１のステップＳ１１０１〜Ｓ１１０３に示すように、ある範囲において（図１１に示す最大識別子までの範囲）、識別子を順に検索しながら、未使用の識別子を抽出する。その際に、既に使用されている識別子（図１１に示す予約識別子）についてはスキップする。次に、抽出された未使用の識別子を資源に割当てる。そのようにして資源に割当てられた識別子が、資源にアクセスしようとしたコール元（例えば、他のＣＰＵ側のソフトウェア）に返される。もし、未使用の識別子がなかった場合には、「ｎｕｌｌ」（通常、「０」）がコール元に返される。図１１の（ｂ）は、図１１の（ａ）を実現するようなプログラムコードの一例である。
【０００７】
従って、電源断状態を介したＣＰＵが資源に対して識別子を割当てる場合には、図１１のように動作するので、電源断状態の前後において、同一資源に対して同一の識別子を割当てるとは限らない。一方、スリープ状態であったＣＰＵ側のソフトウェアは、一般的に、情報処理装置が省電力モード（スリープ状態）となったか否かを管理していない。そのため、省電力モードから復帰すると、スリープ状態前の状態で再開する。従って、スリープ状態前の識別子で、電源断状態であったＣＰＵが制御する資源（例えば、ＨＤＤ内のファイル）にアクセスしようとする。しかしながら、上記の理由により、スリープ状態であったＣＰＵは、電源断状態であったＣＰＵが制御する資源（ＨＤＤ内のファイル）にアクセスする際に、同じ資源（ファイル）にアクセスできないおそれがある。即ち、複数のＣＰＵ（スリープ状態となるＣＰＵと電源断状態となるＣＰＵ）を含む情報処理装置が省電力モードを介した場合において、それぞれのＣＰＵが制御する資源を一意の識別子で管理できない場合が生じてしまう。
【０００８】
複数のＣＰＵを含む情報処理装置が省電力モードに移行する場合には、以上のような問題が考えられる。しかしながら、特許文献１には、スリープ状態や電源断状態のＣＰＵが混在する省電力モードから復帰する際における資源管理の方法について特に言及されていない。
【０００９】
更に、以上のような問題を解決するために、例えば、資源と識別子との対応を示すテーブルを作成し、そのテーブルを用いて資源にアクセスする方法が考えられる。例えば、情報処理装置が省電力モードに移行するように外部から指示され、ＣＰＵがスリープ状態に移行する前に、現在使用中の資源と識別子とを対応させたテーブルを作成し保存しておく。省電力モードから復帰した後に、スリープ状態であったＣＰＵ側のソフトウェアが、電源断状態であったＣＰＵが制御する資源にアクセスしようとする度に、新たに識別子を取得し、テーブルを更新するようにする。スリープ状態であったＣＰＵ側のソフトウェアは、そのテーブルを参照し、所望の資源に対する正しい識別子を取得することができる。そのような方法であれば、複数のＣＰＵを含む情報処理装置が省電力モードを介した場合においても、上記のような一意の識別子により資源を管理できない場合に生じる問題を解決することができる。
【００１０】
しかしながら、スリープ状態であったＣＰＵ側のソフトウェアが資源にアクセスする度にそのテーブルを参照する必要があり、特に頻繁に資源にアクセスする場合には、処理時間の浪費を引き起こしてしまう。また、そのような頻繁なテーブルへのアクセスにより、一般的にメモリへのアクセスによってＣＰＵの実行のストールを防ぐために備えられたキャッシュシステムが機能する頻度が高まってしまい、キャッシュシステムの本来の有効性が低下してしまう。
【特許文献１】特開２００４−３０５３９号公報（段落０００７）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
そこで、上記の点に鑑み、本発明は、スリープ状態となるＣＰＵと電源断状態となるＣＰＵとが制御する資源を、処理負荷を増大することなく、一意的に管理することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る情報処理装置は、資源を管理する第１の処理手段と、前記資源にアクセスする第２の処理手段とを含む情報処理装置であって、
前記第２の処理手段が、
前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存し、
前記第１の処理手段が電源断状態であり前記第２の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第２の処理手段が前記資源にアクセスする際に、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第１の処理手段に要求することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、スリープ状態となるＣＰＵと電源断状態となるＣＰＵとが制御する資源を、処理負荷を増大することなく、一意的に管理することができる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構造要素には同一の参照番号を付して、説明を省略する。
本発明の実施の形態について説明する。
【００１５】
図１は、本発明に係る実施形態における情報処理装置を含むシステムの一例を示す図である。図１に示すように、このシステムは、オフィス１０とオフィス２０とがインターネット等のネットワーク１０４で接続されて構成されている。オフィス１０内に構築されたネットワーク１０７には、ＭＦＰ１００、マネージメントＰＣ１０１、クライアントＰＣ１０２、プロキシサーバ１０３、データベース１０５、文書管理サーバ１０６が接続されている。本実施形態においては、情報処理装置として、多機能周辺装置であるＭＦＰ１００を用いている。また、マネージメントＰＣ１０１は、ＭＦＰ１００を制御する。ネットワーク１０７及びオフィス２０内のネットワーク１０８は、プロキシサーバ１０３を介してネットワーク１０４に接続されている。ここで、ネットワーク１０７及び１０８には、例えば、ＬＡＮが用いられる。
【００１６】
本実施形態において、ＭＦＰ１００は、紙文書の画像読み取り処理と、読み取られた画像信号に対する画像処理の一部を担当し、画像信号は、信号線１０９を介してマネージメントＰＣ１０１に送信される。マネージメントＰＣは、一般的なＰＣであり、内部に記憶部、ＣＰＵ等の処理部、ディスプレイ等の表示部、キーボード等の入力部等を有している。また、それらの一部をＭＦＰ１００に一体化して構成するようにしても良い。
【００１７】
図２は、情報処理装置であるＭＦＰ１００の内部構成を示す図である。図２において、オートドキュメントフィーダ（以下、ＡＤＦともいう）を含む画像読み取り部１１０は、束状又は１枚の原稿画像を不図示の光源で照射して原稿からの反射像をレンズで固体撮像素子上に結像する。その結果、固体撮像素子からラスタ状の画像読み取り信号を６００ＤＰＩの密度のイメージ情報として取得することができる。通常の複写機能が実行されると、この画像信号は、データ処理部１１５で記録信号に画像処理される。また、複数枚複写の場合には、記憶部１１１に一旦１ページ分の記録データを記憶して保持し、記録部１１２に順次出力して紙上に画像を形成する。一方、クライアントＰＣ１０２から出力されるプリントデータは、ネットワーク１０７からネットワークインタフェース１１４を介してデータ処理部１１５で記録可能なラスタデータに変換された後、記録部１１２において、紙上に記録画像として形成される。
【００１８】
操作者の指示は、ＭＦＰ１００に装備された不図示のキー操作部から成る入力部１１３から行われる。ここで、操作者の指示は、マネージメントＰＣに装備された不図示のキーボード及びマウス等から成る入力部から行われるようにしても良い。これら一連の動作は、データ処理部１１５により制御される。また、操作入力の状態表示及び処理中の画像データは、表示部１１６において表示される。なお、記憶部１１１は、マネージメントＰＣからもアクセスすることができる。図１及び図２に示す構成において、マネージメントＰＣ１０１がＭＦＰ１００を制御する場合には、ネットワークインタフェース１１７と接続された専用の信号線１０９を介して行われる。
【００１９】
図３は、複数のＣＰＵを含むデータ処理部１１５の構成を示すブロック図である。図３に示すように、ＭＦＰ１００は、データ処理部１１５に第１のＣＰＵ３０１と第２のＣＰＵ３０２とを含んでいる。第１のＣＰＵ３０１は、メモリ３０４、ＨＤＤ３０６、スキャナ部３１０、プリンタ部３１１を制御する。第２のＣＰＵ３０２は、メモリ３０５、ネットワーク３０７、ファックス部３０８、ディスプレイ３０９を制御する。それら２つのＣＰＵは、ＰＣＩバス３０３で接続されており、相互に通信することができる。
【００２０】
図３に示すメモリ３０４及び３０５、ＨＤＤ３０６は、図２に示す記憶部１１１に含まれる。また、図３に示すスキャナ部３１０は、図２に示す画像読み取り部１１０に含まれる。また、図３に示すプリンタ部３１１、ファックス部３０８は、図２に示す記録部１１２に含まれる。また、図３に示すディスプレイ３０９は、図２に示す表示部１１６に含まれる。以下、第１のＣＰＵとは、本実施形態における「第１の処理手段」の一例であり、第２のＣＰＵとは、本実施形態における「第２の処理手段」の一例である。
【００２１】
以上のように構成されるＭＦＰ１００が外部からの指示やタイマ等で省電力モードになるとすると、ユーザインタフェース、ファックス回線、ネットワーク通信を制御する第２のＣＰＵ３０２が、スリープ状態に移行する。更に、スキャナ、プリンタ、ＨＤＤを制御する第１のＣＰＵ３０１が電源断状態に移行することで、第１のＣＰＵ３０１及び第２のＣＰＵ３０２を含むＭＦＰ１００が省電力モードとなる。以下、情報処理装置としてＭＦＰ１００を挙げて説明する。しかし、例えば、図２における画像読取り部１１０及び記録部１１２及びネットワークインタフェース１１７がなく、スリープ状態に移行するＣＰＵと電源断状態に移行するＣＰＵとを含んだ汎用的な情報処理装置が、ＭＦＰ１００の代わりに用いられても良い。
【００２２】
図４は、複数のＣＰＵを含む情報処理装置が省電力モードに移行する処理の手順を示すフローチャートである。本実施形態においては、第２のＣＰＵ３０２が省電力モードへの移行を制御する。まず、ステップＳ４０１において、外部からの指示又はタイマ等により省電力モードへの移行が促された場合に、第２のＣＰＵ３０２は、第１のＣＰＵ３０１を電源断するように処理する。ステップＳ４０２において、第２のＣＰＵ３０２は、第１のＣＰＵ３０１に電源断への移行を通知し、第１のＣＰＵ３０１に電源断前処理の実行を促すことによって第１のＣＰＵの電源断処理を開始する。ステップＳ４０３において、第１のＣＰＵ３０１は、電源断への移行の通知に応じて、電源断前処理を実行する。ステップＳ４０４において、第２のＣＰＵ３０２は、第１のＣＰＵ３０１を電源断するように処理し、ステップＳ４０５において、第１のＣＰＵ３０１が電源断状態となる。ステップＳ４０６において、第２のＣＰＵ３０２は、第１のＣＰＵ３０１を電源断状態とする処理を終了すると、第２のＣＰＵ３０２自身をスリープ状態に移行させる処理を行う。まず、第２のＣＰＵ３０２は、省電力モードから復帰する際に、現在の状態を復元できるように現在のソフトウェア環境を記憶領域等に退避（バックアップ）する。次に、ステップＳ４０７において、第２のＣＰＵ３０２をスリープ状態に移行させる命令を実行し、スリープ状態に移行させる。その結果、ステップＳ４０８において、第１のＣＰＵ３０１と第２のＣＰＵ３０２を含む情報処理装置が省電力モードに移行する。なお、本実施形態において、スリープ状態とは、ＣＰＵがクロック供給や命令等の実行を停止しているが、電源が断されていない状態をいう。
【００２３】
図５は、複数のＣＰＵを含む情報処理装置が、省電力モードから復帰する処理の手順を示すフローチャートである。図５においても、省電力モードに移行する場合と同様、第２のＣＰＵ３０２が省電力モードからの復帰を制御する。まず、ステップＳ５０１において、外部から割り込み等により省電力モードからの復帰が促されると、ステップＳ５０２において、第２のＣＰＵ３０２は、第２のＣＰＵ３０２自身を省電力モードから通常モードに移行させる。一般的に、そのような処理は、ソフトウェアではなくハードウェアの電力制御等によって実行される場合が多い。次に、ステップＳ５０３において、第２のＣＰＵ３０２は、図４に示すステップＳ４０６において省電力モードに移行する際に退避（バックアップ）したソフトウェア環境を復帰する。次に、ステップＳ５０４において、第２のＣＰＵ３０２は、電源断状態となっている第１のＣＰＵ３０１の電源を投入するように処理する。一般的に、そのような処理は、ハードウェアによって実行される。ステップＳ５０５において、第１のＣＰＵ３０１に電源が投入され、ステップＳ５０６において、第２のＣＰＵ３０２は、第１のＣＰＵ３０１に対して復帰処理を促す。ステップＳ５０７において、第１のＣＰＵ３０１は、通常モードへの復帰処理を実行する。その結果、ステップＳ５０８において、第１のＣＰＵ３０１と第２のＣＰＵ３０２を含む情報処理装置が、省電力モードから通常モードに復帰する。図４及び図５において説明した第１のＣＰＵ及び第２のＣＰＵは、それぞれが情報処理装置内において少なくとも１つ構成されていれば良い。
【００２４】
次に、複数のＣＰＵを含む装置において、ＣＰＵのソフトウェアから、他のＣＰＵが管理するファイル等の資源にアクセスする場合の処理について説明する。一般的に、ＣＰＵが管理するファイル等の資源をソフトウェアからアクセスする場合には、ｆｄやｓｏｃｋｅｔ等のＩＤ（識別子）が用いられる。その場合に、それらの識別子は、各資源と関連付けられる。従って、ソフトウェアは、識別子を指定することによって資源を特定しアクセスすることができる。
【００２５】
図６は、複数のＣＰＵを含む構成において、資源にアクセスする処理の手順を示すフローチャートである。図６は、第２のＣＰＵ３０２側のソフトウェアが、第１のＣＰＵ３０１が制御するＨＤＤ内にあるファイルにアクセスする場合の処理を示している。図６に示す処理は、３つの部分に大別されている。処理６００１は、第２のＣＰＵ３０２側のソフトウェアが第１のＣＰＵ３０１により制御されているＨＤＤ内にあるファイルを特定してアクセスを開始するまでの処理をまとめた部分である。ステップＳ６０１において、第２のＣＰＵ３０２側のソフトウェアは、第１のＣＰＵ３０１に対して、ＨＤＤ内にあるファイルのリストを取得するよう要求する。次に、ステップＳ６０２において、第１のＣＰＵ３０１は、ＨＤＤからファイルリストを取得し、第２のＣＰＵ３０２側のソフトウェアに返信する。次に、ステップＳ６０３において、第２のＣＰＵ３０２側のソフトウェアは、取得したファイルリストからアクセスするファイルを特定し、第１のＣＰＵ３０１に対して、そのファイルをオープンするように要求する。ステップＳ６０４において、第１のＣＰＵ３０１は、要求されたファイルをオープンし、対応する識別子を生成し、第２のＣＰＵ３０２側のソフトウェアに返信する。ステップＳ６０５において、第２のＣＰＵ３０２側のソフトウェアは、ファイル識別子を取得する。以降、第２のＣＰＵ３０２側のソフトウェアは、この識別子を用いて、ステップＳ６０４で特定されたファイルにアクセスすることができる。
【００２６】
処理６００２は、第２のＣＰＵ３０２側のソフトウェアが、第１のＣＰＵ３０１が制御するＨＤＤ内のファイルの識別子を取得した後、そのファイルにアクセスする際の処理をまとめた部分である。ステップＳ６０６において、第２のＣＰＵ３０２側のソフトウェアは、処理６００１の処理で取得した識別子を指定し、第１のＣＰＵ３０１に対して、対応するファイルへのアクセスを要求する。次に、ステップＳ６０７において、第１のＣＰＵ３０１は、指定された識別子でファイルにアクセスし、その内容を第２のＣＰＵ３０２側のソフトウェアに返信する。ステップＳ６０８において、第２のＣＰＵ３０２側のソフトウェアは、第１のＣＰＵ３０１からアクセス結果を取得する。以上のように、処理６００２において、第２のＣＰＵ３０２側のソフトウェアが取得した識別子を用いて必要なファイルアクセスを実現している。
【００２７】
処理６００３は、第２のＣＰＵ３０２側のソフトウェアが、第１のＣＰＵ３０１が制御するＨＤＤ内のファイルへのアクセスを終了する際の処理をまとめた部分である。ステップＳ６０９において、第２のＣＰＵ３０２側のソフトウェアは、アクセスを終了するファイルに対応した識別子を指定し、第１のＣＰＵ３０１に対して、ファイルをクローズするように要求する。ステップＳ６１０において、第１のＣＰＵ３０１は、指定された識別子を用いてファイルをクローズする処理を実行する。ステップＳ６１１において、第２のＣＰＵ３０２側のソフトウェアは、第１のＣＰＵ３０２のファイルクローズの結果を取得する。
【００２８】
以上のように、本処理においては、まず、アクセスするファイルの識別子を取得し（処理６００１）、次に、取得した識別子を用いてファイルにアクセスする（処理６００２）。最後に、取得した識別子を用いてファイルへのアクセスを終了する（処理６００３）。このようにして、第２のＣＰＵ３０２側のソフトウェアは、第１のＣＰＵ３０１が制御するＨＤＤ内のファイルにアクセスすることができる。
【００２９】
次に、省電力モードの前後において、資源にアクセスする処理の手順について説明する。図７は、省電力モードの前後において、資源にアクセスする処理の手順を示すフローチャートである。ステップＳ７０１、Ｓ７０２において、第２のＣＰＵ３０２側のソフトウェアは第１のＣＰＵ３０１に対してファイル（１）とファイル（２）への識別子を要求し、その結果、それぞれ識別子（Ａ）と識別子（Ｂ）を取得する。この処理は、図６に示す処理６００１において説明した手順により行われる。
【００３０】
次に、ステップＳ７０３、Ｓ７０４において、第２のＣＰＵ３０２側のソフトウェアは識別子（Ａ）を用いてファイル（１）にアクセスし、識別子（Ｂ）を用いてファイル（２）にアクセスする。第２のＣＰＵ３０２側のソフトウェアがファイル（１）にアクセスする必要がなくなると、ステップＳ７０５において、識別子（Ａ）を用いてファイル（１）をクローズする。この処理は、図６に示す処理６００２又は６００３において説明した手順により行われる。
【００３１】
ここで、図４に示すように、ＭＦＰ１００が省電力モードに移行（ステップＳ７０６）し、その後、図５に示すように、省電力モードから復帰（ステップＳ７０７）したとする。本実施形態においては、図４において説明したように、第２のＣＰＵ３０２がスリープ状態に移行し、第１のＣＰＵ３０１が電源断状態に移行することによって、ＭＦＰ１００が省電力モードとなる。本実施形態において、第２のＣＰＵ３０２は、スリープ状態に移行する前に、現在使用中の資源（例えば、ファイル（２））と識別子（Ｂ）とを関連付けた資源テーブル（以下、テーブルともいう）を作成し、メモリ３０５等に保存する。その場合に、処理６００１において、取得されたファイル（資源）と識別子との対応より、資源テーブルを作成する。資源テーブルについては図８において説明する。また、資源テーブルの作成は、例えば、図４に示すステップＳ４０６において行われる。
【００３２】
ステップＳ７０７において省電力モードから復帰するとステップＳ７０８に進む。ステップＳ７０８において、第２のＣＰＵ３０２側のソフトウェアは、保存された資源テーブルを参照し、資源（ファイル（２））をオープンする要求と共に、識別子（Ｂ）をその資源に割り当てるように第１のＣＰＵ３０１に要求する。即ち、本実施形態においては、図６に示すステップＳ６０３において説明したファイルオープン要求と共に、指定された識別子で資源に対して割り当てる要求を第１のＣＰＵ３０１に対して行う。
【００３３】
ステップＳ７０９において、要求を受けた第１のＣＰＵ３０１は、ファイル（２）に識別子（Ｂ）を割り当ててオープンする。このように、本実施形態においては、第１のＣＰＵ３０１が、第２のＣＰＵ３０２から識別子の指定を受けて資源を検索し、その資源に対して指定された識別子を割り当てる。その場合の第１のＣＰＵ３０１の動作については、図９において説明する。
【００３４】
ステップＳ７０９が実行されると、第２のＣＰＵ３０２側のソフトウェアは、省電力モードからの復帰後において、省電力モードへの移行前と同様に、識別子（Ｂ）を用いてファイル（２）にアクセスすることができる（ステップＳ７１０）。更に、第２のＣＰＵ３０２側のソフトウェアは、識別子（Ｂ）を用いてファイル（２）をクローズすることができる（ステップＳ７１１）。それらの処理については、図６に示す処理６００２又は６００３と同じである。
【００３５】
以上のようにして、本実施形態において、第２のＣＰＵ３０２側のソフトウェアは、省電力モードの前後において、一意の識別子によって第１のＣＰＵ３０１の制御する資源にアクセスすることができる。また、ステップＳ７０９以降は、第２のＣＰＵ３０２側のソフトウェアは、保存された資源テーブルを参照する必要はない。その結果、資源テーブルにアクセスすることによる処理時間及びキャッシュシステムへの影響を低減することができる。
【００３６】
図８は、本実施形態における資源テーブルの一例を示す図である。図８に示す資源テーブルは、既に説明したように、第２のＣＰＵ３０２がスリープ状態に移行する前に生成される。本実施形態において、省電力モードからの復帰後に、省電力モードへの移行前の状態を再現する必要がある。そのために、スリープ状態に移行する第２のＣＰＵ３０２側において、第１のＣＰＵ３０１との通信で使用する、資源と識別子との関係が、図８に示すような資源テーブルにより保存される。なお、本テーブルは、第２のＣＰＵ３０２側のオペレーティングシステム（ＯＳ）によって作成されるようにしても良い。
【００３７】
図８に示すファイル（Ｂ）、（Ｌ）は、省電力モード前にクローズしていないファイルを示しており、例えば、図７に示すファイル（２）である。また、ＦＤ（２）、（４）は、クローズしていないファイルにそれぞれ対応する識別子であり、例えば、図７に示すファイル（２）に対応した識別子（Ｂ）である。また、図８に示すシリアル（Ａ）、（Ｂ）は、第１のＣＰＵ３０１が制御するスキャナとプリンタと通信するためのシリアルポートを示している。また、ＳＩＤ（１）、（２）は、シリアルポート（Ａ）、（Ｂ）にそれぞれ対応する識別子である。
【００３８】
このように、第１のＣＰＵ３０１が動的に管理する各資源（ファイル、シリアルポート等）について第２のＣＰＵ３０２側からのアクセスが発生しているものは、省電力モードへの移行前において、それらをテーブルとして関連付け、一旦、保存する。また、省電力モードからの復帰時においては、その保存されたテーブルを参照し、第１のＣＰＵ３０１に、アクセス要求とともに、指定した識別子を資源に対して割り振るように要求する。
【００３９】
本実施形態においては、第１のＣＰＵ３０１が、第２のＣＰＵ３０２からの要求に応じて、資源を検索し、第２のＣＰＵ３０２から指定された識別子を割り当てる。以下、図９及び図１０を参照しながら、本実施形態における第１のＣＰＵ３０１が検索した資源に対して、第２のＣＰＵ３０２から指定された識別子を割り当てる処理の手順について説明する。
【００４０】
図９は、本実施形態において、第１のＣＰＵ３０１が、検索した資源に対して指定された識別子を割り当てる処理の手順を示すフローチャートである。まず、ステップＳ９０１において、第２のＣＰＵ３０２から資源獲得が要求される。これは、図７に示すステップＳ７０８における説明と同じである。次に、ステップＳ９０２において、第１のＣＰＵ３０１は、要求を受けた資源について検索を行う。ステップＳ９０３において、検索の結果、要求を受けた資源の有無が判定される。ここで、要求を受けた資源があると判定された場合には、ステップＳ９０４に進み、要求を受けた資源がないと判定された場合には、本処理を終了する。例えば、ＵＳＢメモリ内部のファイル等にアクセスする要求を受けた際にＵＳＢメモリが取り外されている場合が、そのような判定に該当する。
【００４１】
ステップＳ９０４において、第１のＣＰＵ３０１は、要求を受けた資源に対して、第２のＣＰＵ３０２により指定された識別子を割り当てる。
【００４２】
ここで、図１０を参照して、ステップＳ９０４の処理について説明する。図１０の（ａ）は、第１のＣＰＵ３０１が、資源に識別子を割り当てる際の処理の手順を示すフローチャートである。まず、ステップＳ１００１において、第１のＣＰＵ３０１は、指定された識別子が未使用であるか否かを判定する。一般的に、第１のＣＰＵ３０１は、第１のＣＰＵ３０１自身が制御する資源に対して、ある一定の範囲を有する識別子から任意に抽出された識別子を自動的に割り振り、資源を管理している。従って、ステップＳ１００１において、第２のＣＰＵ３０２から指定された識別子が、未使用であるか否かを判定する必要がある。ここで、未使用であると判定された場合には、ステップＳ１００２に進み、一方、未使用でないと判定された場合には、ステップＳ１００３において、第２のＣＰＵ３０２に「ｎｕｌｌ」（例えば、「０」）を返信し、本処理を終了する。ステップＳ１００２において、第１のＣＰＵ３０１は、第２のＣＰＵ３０２より指定された識別子を、要求された資源に対して割り当て、ステップＳ９０５において、呼び出し元（即ち、第２のＣＰＵ３０２側のソフトウェア）に指定された識別子を返す。図１０の（ｂ）は、図１０の（ａ）に示すフローチャートの動作をコード化した一例を示す図である。図１０の（ｂ）には、ステップＳ１００１における判定処理の部分と、指定された識別子「ｉｄ」又は「ｎｕｌｌ」を返すかという部分が示されている。ここで、「ｉｄ」とは、コール元（即ち、第２のＣＰＵ３０２側のソフトウェア）が指定した識別子を示す仮引数である。
【００４３】
以上のように、本実施形態においては、ＭＦＰ１００が省電力モードに移行する際に、現在使用している識別子と資源とが関連付けられた図８に示すようなテーブルが作成され一旦保存される。省電力モードから復帰した後に、第２のＣＰＵ３０２側のソフトウェアは、図８に示すテーブルを参照し、アクセス要求とともに、指定した識別子を資源に対して割り振るように第１のＣＰＵ３０１に要求する。要求された第２のＣＰＵ３０１は、図９及び図１０に示すような処理を行う。以上のような動作によって、スリープ状態のＣＰＵと電源断状態のＣＰＵとが混在する情報処理装置において、省電力モードの前後においても、一意の識別子によってＣＰＵの制御する資源を管理することができる。また、省電力モードからの復帰後に初めて、第２のＣＰＵ３０２側のソフトウェアが第１のＣＰＵが管理する資源にアクセスした後、保存された資源テーブルを繰り返して参照する必要はない。従って、資源テーブルにアクセスすることによる処理時間及びキャッシュシステムへの影響を低減することができる。
【００４４】
また、本発明は、プログラム（情報処理プログラム）コードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全てを行い、その処理により前述の実施形態の機能が実現される場合も含む。更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づいて、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全てを行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００４５】
【図１】本発明に係る実施形態における情報処理装置を含むシステムの一例を示す図である。
【図２】情報処理装置であるＭＦＰの内部構成を示す図である。
【図３】複数のＣＰＵを含むデータ処理部の構成を示すブロック図である。
【図４】複数のＣＰＵを含む情報処理装置が省電力モードに移行する処理の手順を示すフローチャートである。
【図５】複数のＣＰＵを含む情報処理装置が、省電力モードから復帰する処理の手順を示すフローチャートである。
【図６】複数のＣＰＵを含む構成において、資源にアクセスする処理の手順を示すフローチャートである。
【図７】省電力モードの前後において、資源にアクセスする処理の手順を示すフローチャートである。
【図８】本実施形態における資源テーブルの一例を示す図である。
【図９】本実施形態において、第１のＣＰＵが、検索した資源に対して指定された識別子を割り当てる処理の手順を示すフローチャートである。
【図１０】資源に識別子を割り当てる際の処理について説明する図である。
【図１１】従来、資源を直接管理するＣＰＵが、資源管理において、資源に識別子を割当てる処理を説明する図である。
【符号の説明】
【００４６】
１０、２０  オフィス
３０８  ファックス部
３０９  ディスプレイ
３１０  スキャナ部
３１１  プリンタ部
【図１】
0005166955.tif 000002
【図２】
0005166955.tif 000003
【図３】
0005166955.tif 000004
【図４】
0005166955.tif 000005
【図５】
0005166955.tif 000006
【図６】
0005166955.tif 000007
【図７】
0005166955.tif 000008
【図８】
0005166955.tif 000009
【図９】
0005166955.tif 000010
【図１０】
0005166955.tif 000011
【図１１】
0005166955.tif 000012