JP5166955B2 - 情報処理装置、情報処理方法、及び、情報処理プログラム - Google Patents

情報処理装置、情報処理方法、及び、情報処理プログラム Download PDF

Info

Publication number
JP5166955B2
JP5166955B2 JP2008114418A JP2008114418A JP5166955B2 JP 5166955 B2 JP5166955 B2 JP 5166955B2 JP 2008114418 A JP2008114418 A JP 2008114418A JP 2008114418 A JP2008114418 A JP 2008114418A JP 5166955 B2 JP5166955 B2 JP 5166955B2
Authority
JP
Japan
Prior art keywords
cpu
resource
identifier
information processing
processing means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008114418A
Other languages
English (en)
Other versions
JP2009265926A (ja
JP2009265926A5 (ja
Inventor
英一 西川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008114418A priority Critical patent/JP5166955B2/ja
Priority to US12/420,868 priority patent/US20090271797A1/en
Publication of JP2009265926A publication Critical patent/JP2009265926A/ja
Publication of JP2009265926A5 publication Critical patent/JP2009265926A5/ja
Application granted granted Critical
Publication of JP5166955B2 publication Critical patent/JP5166955B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3284Power saving in printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、複数のCPUを含む情報処理装置に関する。
エネルギー資源の高価格化や枯渇、また、地球平均気温の上昇などに対する環境保全意識の高まりの中、情報処理装置においても使用電力の削減が強く求められている。例えば複写機においては、待機状態における電力使用量を削減するために、低電力モードやスリープモードと呼ばれる省電力モードが搭載されている。そのような省電力モードを達成するために、CPUも電力使用量を抑えた「スリープ」という状態を有している。
ところで、情報処理装置の処理能力を向上させる手法として、一般的にCPUの高クロック化が図られているが、プロセスの微細化などが進む中で、高クロック化を容易に実現することは難しくなっている。そのため、CPUにおいて十分に高クロック化が図られていることに着目するのではなく、複数のCPUを用いることで処理を分散させることに着目して情報処理装置の処理能力を向上させる手法が広く用いられている。そのような複数のCPUを含む情報処理装置が省電力モードに移行する際には、全てのCPUをスリープ状態に移行させるだけでなく、一部のCPUを更に電源断状態にまで移行させることが行われている。そのように行うことによって、より消費電力化を図ることができる。
複数のCPUを含む情報処理装置において、一般的に、所定のCPUが、他のCPUが管理するファイル等の資源にアクセスし利用する場合が多くあり、そのために様々な技術が開発されている。特許文献1においては、複数のCPU及び記憶部を有する情報処理装置において互いに異なるCPUに制御される複数の記憶部にプログラムを連続して容易に書き込むことができる情報処理装置が記載されている。
しかしながら、情報処理装置が省電力モードに移行するように外部から指示され、資源を管理するCPUが電源断状態となり、その資源にアクセスする他のCPUがスリープ状態となる場合が考えられる。スリープ状態のCPUと電源断状態のCPUとが混在した省電力モードから通常状態に復帰する場合に、スリープ状態であったCPU側のソフトウェアは、スリープ状態に移行する直前の状態から再開する。一方、電源断状態であったCPU側のソフトウェアは、初期状態から開始する。そのために、資源を直接管理するCPU側と、その資源にアクセスし利用するCPU側とでは、再開状態が異なる場合が生じてしまう。以下、具体的に説明する。
図11の(a)は、従来、資源を直接管理するCPUが、資源管理において、資源に識別子を割当てる処理の手順を示すフローチャートである。図11のステップS1101〜S1103に示すように、ある範囲において(図11に示す最大識別子までの範囲)、識別子を順に検索しながら、未使用の識別子を抽出する。その際に、既に使用されている識別子(図11に示す予約識別子)についてはスキップする。次に、抽出された未使用の識別子を資源に割当てる。そのようにして資源に割当てられた識別子が、資源にアクセスしようとしたコール元(例えば、他のCPU側のソフトウェア)に返される。もし、未使用の識別子がなかった場合には、「null」(通常、「0」)がコール元に返される。図11の(b)は、図11の(a)を実現するようなプログラムコードの一例である。
従って、電源断状態を介したCPUが資源に対して識別子を割当てる場合には、図11のように動作するので、電源断状態の前後において、同一資源に対して同一の識別子を割当てるとは限らない。一方、スリープ状態であったCPU側のソフトウェアは、一般的に、情報処理装置が省電力モード(スリープ状態)となったか否かを管理していない。そのため、省電力モードから復帰すると、スリープ状態前の状態で再開する。従って、スリープ状態前の識別子で、電源断状態であったCPUが制御する資源(例えば、HDD内のファイル)にアクセスしようとする。しかしながら、上記の理由により、スリープ状態であったCPUは、電源断状態であったCPUが制御する資源(HDD内のファイル)にアクセスする際に、同じ資源(ファイル)にアクセスできないおそれがある。即ち、複数のCPU(スリープ状態となるCPUと電源断状態となるCPU)を含む情報処理装置が省電力モードを介した場合において、それぞれのCPUが制御する資源を一意の識別子で管理できない場合が生じてしまう。
複数のCPUを含む情報処理装置が省電力モードに移行する場合には、以上のような問題が考えられる。しかしながら、特許文献1には、スリープ状態や電源断状態のCPUが混在する省電力モードから復帰する際における資源管理の方法について特に言及されていない。
更に、以上のような問題を解決するために、例えば、資源と識別子との対応を示すテーブルを作成し、そのテーブルを用いて資源にアクセスする方法が考えられる。例えば、情報処理装置が省電力モードに移行するように外部から指示され、CPUがスリープ状態に移行する前に、現在使用中の資源と識別子とを対応させたテーブルを作成し保存しておく。省電力モードから復帰した後に、スリープ状態であったCPU側のソフトウェアが、電源断状態であったCPUが制御する資源にアクセスしようとする度に、新たに識別子を取得し、テーブルを更新するようにする。スリープ状態であったCPU側のソフトウェアは、そのテーブルを参照し、所望の資源に対する正しい識別子を取得することができる。そのような方法であれば、複数のCPUを含む情報処理装置が省電力モードを介した場合においても、上記のような一意の識別子により資源を管理できない場合に生じる問題を解決することができる。
しかしながら、スリープ状態であったCPU側のソフトウェアが資源にアクセスする度にそのテーブルを参照する必要があり、特に頻繁に資源にアクセスする場合には、処理時間の浪費を引き起こしてしまう。また、そのような頻繁なテーブルへのアクセスにより、一般的にメモリへのアクセスによってCPUの実行のストールを防ぐために備えられたキャッシュシステムが機能する頻度が高まってしまい、キャッシュシステムの本来の有効性が低下してしまう。
特開2004−30539号公報(段落0007)
そこで、上記の点に鑑み、本発明は、スリープ状態となるCPUと電源断状態となるCPUとが制御する資源を、処理負荷を増大することなく、一意的に管理することができる情報処理装置を提供することを目的とする。
本発明に係る情報処理装置は、資源を管理する第1の処理手段と、前記資源にアクセスする第2の処理手段とを含む情報処理装置であって、
前記第2の処理手段が、
前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存し、
前記第1の処理手段が電源断状態であり前記第2の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第2の処理手段が前記資源にアクセスする際に、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第1の処理手段に要求することを特徴とする。
本発明によれば、スリープ状態となるCPUと電源断状態となるCPUとが制御する資源を、処理負荷を増大することなく、一意的に管理することができる。
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構造要素には同一の参照番号を付して、説明を省略する。
本発明の実施の形態について説明する。
図1は、本発明に係る実施形態における情報処理装置を含むシステムの一例を示す図である。図1に示すように、このシステムは、オフィス10とオフィス20とがインターネット等のネットワーク104で接続されて構成されている。オフィス10内に構築されたネットワーク107には、MFP100、マネージメントPC101、クライアントPC102、プロキシサーバ103、データベース105、文書管理サーバ106が接続されている。本実施形態においては、情報処理装置として、多機能周辺装置であるMFP100を用いている。また、マネージメントPC101は、MFP100を制御する。ネットワーク107及びオフィス20内のネットワーク108は、プロキシサーバ103を介してネットワーク104に接続されている。ここで、ネットワーク107及び108には、例えば、LANが用いられる。
本実施形態において、MFP100は、紙文書の画像読み取り処理と、読み取られた画像信号に対する画像処理の一部を担当し、画像信号は、信号線109を介してマネージメントPC101に送信される。マネージメントPCは、一般的なPCであり、内部に記憶部、CPU等の処理部、ディスプレイ等の表示部、キーボード等の入力部等を有している。また、それらの一部をMFP100に一体化して構成するようにしても良い。
図2は、情報処理装置であるMFP100の内部構成を示す図である。図2において、オートドキュメントフィーダ(以下、ADFともいう)を含む画像読み取り部110は、束状又は1枚の原稿画像を不図示の光源で照射して原稿からの反射像をレンズで固体撮像素子上に結像する。その結果、固体撮像素子からラスタ状の画像読み取り信号を600DPIの密度のイメージ情報として取得することができる。通常の複写機能が実行されると、この画像信号は、データ処理部115で記録信号に画像処理される。また、複数枚複写の場合には、記憶部111に一旦1ページ分の記録データを記憶して保持し、記録部112に順次出力して紙上に画像を形成する。一方、クライアントPC102から出力されるプリントデータは、ネットワーク107からネットワークインタフェース114を介してデータ処理部115で記録可能なラスタデータに変換された後、記録部112において、紙上に記録画像として形成される。
操作者の指示は、MFP100に装備された不図示のキー操作部から成る入力部113から行われる。ここで、操作者の指示は、マネージメントPCに装備された不図示のキーボード及びマウス等から成る入力部から行われるようにしても良い。これら一連の動作は、データ処理部115により制御される。また、操作入力の状態表示及び処理中の画像データは、表示部116において表示される。なお、記憶部111は、マネージメントPCからもアクセスすることができる。図1及び図2に示す構成において、マネージメントPC101がMFP100を制御する場合には、ネットワークインタフェース117と接続された専用の信号線109を介して行われる。
図3は、複数のCPUを含むデータ処理部115の構成を示すブロック図である。図3に示すように、MFP100は、データ処理部115に第1のCPU301と第2のCPU302とを含んでいる。第1のCPU301は、メモリ304、HDD306、スキャナ部310、プリンタ部311を制御する。第2のCPU302は、メモリ305、ネットワーク307、ファックス部308、ディスプレイ309を制御する。それら2つのCPUは、PCIバス303で接続されており、相互に通信することができる。
図3に示すメモリ304及び305、HDD306は、図2に示す記憶部111に含まれる。また、図3に示すスキャナ部310は、図2に示す画像読み取り部110に含まれる。また、図3に示すプリンタ部311、ファックス部308は、図2に示す記録部112に含まれる。また、図3に示すディスプレイ309は、図2に示す表示部116に含まれる。以下、第1のCPUとは、本実施形態における「第1の処理手段」の一例であり、第2のCPUとは、本実施形態における「第2の処理手段」の一例である。
以上のように構成されるMFP100が外部からの指示やタイマ等で省電力モードになるとすると、ユーザインタフェース、ファックス回線、ネットワーク通信を制御する第2のCPU302が、スリープ状態に移行する。更に、スキャナ、プリンタ、HDDを制御する第1のCPU301が電源断状態に移行することで、第1のCPU301及び第2のCPU302を含むMFP100が省電力モードとなる。以下、情報処理装置としてMFP100を挙げて説明する。しかし、例えば、図2における画像読取り部110及び記録部112及びネットワークインタフェース117がなく、スリープ状態に移行するCPUと電源断状態に移行するCPUとを含んだ汎用的な情報処理装置が、MFP100の代わりに用いられても良い。
図4は、複数のCPUを含む情報処理装置が省電力モードに移行する処理の手順を示すフローチャートである。本実施形態においては、第2のCPU302が省電力モードへの移行を制御する。まず、ステップS401において、外部からの指示又はタイマ等により省電力モードへの移行が促された場合に、第2のCPU302は、第1のCPU301を電源断するように処理する。ステップS402において、第2のCPU302は、第1のCPU301に電源断への移行を通知し、第1のCPU301に電源断前処理の実行を促すことによって第1のCPUの電源断処理を開始する。ステップS403において、第1のCPU301は、電源断への移行の通知に応じて、電源断前処理を実行する。ステップS404において、第2のCPU302は、第1のCPU301を電源断するように処理し、ステップS405において、第1のCPU301が電源断状態となる。ステップS406において、第2のCPU302は、第1のCPU301を電源断状態とする処理を終了すると、第2のCPU302自身をスリープ状態に移行させる処理を行う。まず、第2のCPU302は、省電力モードから復帰する際に、現在の状態を復元できるように現在のソフトウェア環境を記憶領域等に退避(バックアップ)する。次に、ステップS407において、第2のCPU302をスリープ状態に移行させる命令を実行し、スリープ状態に移行させる。その結果、ステップS408において、第1のCPU301と第2のCPU302を含む情報処理装置が省電力モードに移行する。なお、本実施形態において、スリープ状態とは、CPUがクロック供給や命令等の実行を停止しているが、電源が断されていない状態をいう。
図5は、複数のCPUを含む情報処理装置が、省電力モードから復帰する処理の手順を示すフローチャートである。図5においても、省電力モードに移行する場合と同様、第2のCPU302が省電力モードからの復帰を制御する。まず、ステップS501において、外部から割り込み等により省電力モードからの復帰が促されると、ステップS502において、第2のCPU302は、第2のCPU302自身を省電力モードから通常モードに移行させる。一般的に、そのような処理は、ソフトウェアではなくハードウェアの電力制御等によって実行される場合が多い。次に、ステップS503において、第2のCPU302は、図4に示すステップS406において省電力モードに移行する際に退避(バックアップ)したソフトウェア環境を復帰する。次に、ステップS504において、第2のCPU302は、電源断状態となっている第1のCPU301の電源を投入するように処理する。一般的に、そのような処理は、ハードウェアによって実行される。ステップS505において、第1のCPU301に電源が投入され、ステップS506において、第2のCPU302は、第1のCPU301に対して復帰処理を促す。ステップS507において、第1のCPU301は、通常モードへの復帰処理を実行する。その結果、ステップS508において、第1のCPU301と第2のCPU302を含む情報処理装置が、省電力モードから通常モードに復帰する。図4及び図5において説明した第1のCPU及び第2のCPUは、それぞれが情報処理装置内において少なくとも1つ構成されていれば良い。
次に、複数のCPUを含む装置において、CPUのソフトウェアから、他のCPUが管理するファイル等の資源にアクセスする場合の処理について説明する。一般的に、CPUが管理するファイル等の資源をソフトウェアからアクセスする場合には、fdやsocket等のID(識別子)が用いられる。その場合に、それらの識別子は、各資源と関連付けられる。従って、ソフトウェアは、識別子を指定することによって資源を特定しアクセスすることができる。
図6は、複数のCPUを含む構成において、資源にアクセスする処理の手順を示すフローチャートである。図6は、第2のCPU302側のソフトウェアが、第1のCPU301が制御するHDD内にあるファイルにアクセスする場合の処理を示している。図6に示す処理は、3つの部分に大別されている。処理6001は、第2のCPU302側のソフトウェアが第1のCPU301により制御されているHDD内にあるファイルを特定してアクセスを開始するまでの処理をまとめた部分である。ステップS601において、第2のCPU302側のソフトウェアは、第1のCPU301に対して、HDD内にあるファイルのリストを取得するよう要求する。次に、ステップS602において、第1のCPU301は、HDDからファイルリストを取得し、第2のCPU302側のソフトウェアに返信する。次に、ステップS603において、第2のCPU302側のソフトウェアは、取得したファイルリストからアクセスするファイルを特定し、第1のCPU301に対して、そのファイルをオープンするように要求する。ステップS604において、第1のCPU301は、要求されたファイルをオープンし、対応する識別子を生成し、第2のCPU302側のソフトウェアに返信する。ステップS605において、第2のCPU302側のソフトウェアは、ファイル識別子を取得する。以降、第2のCPU302側のソフトウェアは、この識別子を用いて、ステップS604で特定されたファイルにアクセスすることができる。
処理6002は、第2のCPU302側のソフトウェアが、第1のCPU301が制御するHDD内のファイルの識別子を取得した後、そのファイルにアクセスする際の処理をまとめた部分である。ステップS606において、第2のCPU302側のソフトウェアは、処理6001の処理で取得した識別子を指定し、第1のCPU301に対して、対応するファイルへのアクセスを要求する。次に、ステップS607において、第1のCPU301は、指定された識別子でファイルにアクセスし、その内容を第2のCPU302側のソフトウェアに返信する。ステップS608において、第2のCPU302側のソフトウェアは、第1のCPU301からアクセス結果を取得する。以上のように、処理6002において、第2のCPU302側のソフトウェアが取得した識別子を用いて必要なファイルアクセスを実現している。
処理6003は、第2のCPU302側のソフトウェアが、第1のCPU301が制御するHDD内のファイルへのアクセスを終了する際の処理をまとめた部分である。ステップS609において、第2のCPU302側のソフトウェアは、アクセスを終了するファイルに対応した識別子を指定し、第1のCPU301に対して、ファイルをクローズするように要求する。ステップS610において、第1のCPU301は、指定された識別子を用いてファイルをクローズする処理を実行する。ステップS611において、第2のCPU302側のソフトウェアは、第1のCPU302のファイルクローズの結果を取得する。
以上のように、本処理においては、まず、アクセスするファイルの識別子を取得し(処理6001)、次に、取得した識別子を用いてファイルにアクセスする(処理6002)。最後に、取得した識別子を用いてファイルへのアクセスを終了する(処理6003)。このようにして、第2のCPU302側のソフトウェアは、第1のCPU301が制御するHDD内のファイルにアクセスすることができる。
次に、省電力モードの前後において、資源にアクセスする処理の手順について説明する。図7は、省電力モードの前後において、資源にアクセスする処理の手順を示すフローチャートである。ステップS701、S702において、第2のCPU302側のソフトウェアは第1のCPU301に対してファイル(1)とファイル(2)への識別子を要求し、その結果、それぞれ識別子(A)と識別子(B)を取得する。この処理は、図6に示す処理6001において説明した手順により行われる。
次に、ステップS703、S704において、第2のCPU302側のソフトウェアは識別子(A)を用いてファイル(1)にアクセスし、識別子(B)を用いてファイル(2)にアクセスする。第2のCPU302側のソフトウェアがファイル(1)にアクセスする必要がなくなると、ステップS705において、識別子(A)を用いてファイル(1)をクローズする。この処理は、図6に示す処理6002又は6003において説明した手順により行われる。
ここで、図4に示すように、MFP100が省電力モードに移行(ステップS706)し、その後、図5に示すように、省電力モードから復帰(ステップS707)したとする。本実施形態においては、図4において説明したように、第2のCPU302がスリープ状態に移行し、第1のCPU301が電源断状態に移行することによって、MFP100が省電力モードとなる。本実施形態において、第2のCPU302は、スリープ状態に移行する前に、現在使用中の資源(例えば、ファイル(2))と識別子(B)とを関連付けた資源テーブル(以下、テーブルともいう)を作成し、メモリ305等に保存する。その場合に、処理6001において、取得されたファイル(資源)と識別子との対応より、資源テーブルを作成する。資源テーブルについては図8において説明する。また、資源テーブルの作成は、例えば、図4に示すステップS406において行われる。
ステップS707において省電力モードから復帰するとステップS708に進む。ステップS708において、第2のCPU302側のソフトウェアは、保存された資源テーブルを参照し、資源(ファイル(2))をオープンする要求と共に、識別子(B)をその資源に割り当てるように第1のCPU301に要求する。即ち、本実施形態においては、図6に示すステップS603において説明したファイルオープン要求と共に、指定された識別子で資源に対して割り当てる要求を第1のCPU301に対して行う。
ステップS709において、要求を受けた第1のCPU301は、ファイル(2)に識別子(B)を割り当ててオープンする。このように、本実施形態においては、第1のCPU301が、第2のCPU302から識別子の指定を受けて資源を検索し、その資源に対して指定された識別子を割り当てる。その場合の第1のCPU301の動作については、図9において説明する。
ステップS709が実行されると、第2のCPU302側のソフトウェアは、省電力モードからの復帰後において、省電力モードへの移行前と同様に、識別子(B)を用いてファイル(2)にアクセスすることができる(ステップS710)。更に、第2のCPU302側のソフトウェアは、識別子(B)を用いてファイル(2)をクローズすることができる(ステップS711)。それらの処理については、図6に示す処理6002又は6003と同じである。
以上のようにして、本実施形態において、第2のCPU302側のソフトウェアは、省電力モードの前後において、一意の識別子によって第1のCPU301の制御する資源にアクセスすることができる。また、ステップS709以降は、第2のCPU302側のソフトウェアは、保存された資源テーブルを参照する必要はない。その結果、資源テーブルにアクセスすることによる処理時間及びキャッシュシステムへの影響を低減することができる。
図8は、本実施形態における資源テーブルの一例を示す図である。図8に示す資源テーブルは、既に説明したように、第2のCPU302がスリープ状態に移行する前に生成される。本実施形態において、省電力モードからの復帰後に、省電力モードへの移行前の状態を再現する必要がある。そのために、スリープ状態に移行する第2のCPU302側において、第1のCPU301との通信で使用する、資源と識別子との関係が、図8に示すような資源テーブルにより保存される。なお、本テーブルは、第2のCPU302側のオペレーティングシステム(OS)によって作成されるようにしても良い。
図8に示すファイル(B)、(L)は、省電力モード前にクローズしていないファイルを示しており、例えば、図7に示すファイル(2)である。また、FD(2)、(4)は、クローズしていないファイルにそれぞれ対応する識別子であり、例えば、図7に示すファイル(2)に対応した識別子(B)である。また、図8に示すシリアル(A)、(B)は、第1のCPU301が制御するスキャナとプリンタと通信するためのシリアルポートを示している。また、SID(1)、(2)は、シリアルポート(A)、(B)にそれぞれ対応する識別子である。
このように、第1のCPU301が動的に管理する各資源(ファイル、シリアルポート等)について第2のCPU302側からのアクセスが発生しているものは、省電力モードへの移行前において、それらをテーブルとして関連付け、一旦、保存する。また、省電力モードからの復帰時においては、その保存されたテーブルを参照し、第1のCPU301に、アクセス要求とともに、指定した識別子を資源に対して割り振るように要求する。
本実施形態においては、第1のCPU301が、第2のCPU302からの要求に応じて、資源を検索し、第2のCPU302から指定された識別子を割り当てる。以下、図9及び図10を参照しながら、本実施形態における第1のCPU301が検索した資源に対して、第2のCPU302から指定された識別子を割り当てる処理の手順について説明する。
図9は、本実施形態において、第1のCPU301が、検索した資源に対して指定された識別子を割り当てる処理の手順を示すフローチャートである。まず、ステップS901において、第2のCPU302から資源獲得が要求される。これは、図7に示すステップS708における説明と同じである。次に、ステップS902において、第1のCPU301は、要求を受けた資源について検索を行う。ステップS903において、検索の結果、要求を受けた資源の有無が判定される。ここで、要求を受けた資源があると判定された場合には、ステップS904に進み、要求を受けた資源がないと判定された場合には、本処理を終了する。例えば、USBメモリ内部のファイル等にアクセスする要求を受けた際にUSBメモリが取り外されている場合が、そのような判定に該当する。
ステップS904において、第1のCPU301は、要求を受けた資源に対して、第2のCPU302により指定された識別子を割り当てる。
ここで、図10を参照して、ステップS904の処理について説明する。図10の(a)は、第1のCPU301が、資源に識別子を割り当てる際の処理の手順を示すフローチャートである。まず、ステップS1001において、第1のCPU301は、指定された識別子が未使用であるか否かを判定する。一般的に、第1のCPU301は、第1のCPU301自身が制御する資源に対して、ある一定の範囲を有する識別子から任意に抽出された識別子を自動的に割り振り、資源を管理している。従って、ステップS1001において、第2のCPU302から指定された識別子が、未使用であるか否かを判定する必要がある。ここで、未使用であると判定された場合には、ステップS1002に進み、一方、未使用でないと判定された場合には、ステップS1003において、第2のCPU302に「null」(例えば、「0」)を返信し、本処理を終了する。ステップS1002において、第1のCPU301は、第2のCPU302より指定された識別子を、要求された資源に対して割り当て、ステップS905において、呼び出し元(即ち、第2のCPU302側のソフトウェア)に指定された識別子を返す。図10の(b)は、図10の(a)に示すフローチャートの動作をコード化した一例を示す図である。図10の(b)には、ステップS1001における判定処理の部分と、指定された識別子「id」又は「null」を返すかという部分が示されている。ここで、「id」とは、コール元(即ち、第2のCPU302側のソフトウェア)が指定した識別子を示す仮引数である。
以上のように、本実施形態においては、MFP100が省電力モードに移行する際に、現在使用している識別子と資源とが関連付けられた図8に示すようなテーブルが作成され一旦保存される。省電力モードから復帰した後に、第2のCPU302側のソフトウェアは、図8に示すテーブルを参照し、アクセス要求とともに、指定した識別子を資源に対して割り振るように第1のCPU301に要求する。要求された第2のCPU301は、図9及び図10に示すような処理を行う。以上のような動作によって、スリープ状態のCPUと電源断状態のCPUとが混在する情報処理装置において、省電力モードの前後においても、一意の識別子によってCPUの制御する資源を管理することができる。また、省電力モードからの復帰後に初めて、第2のCPU302側のソフトウェアが第1のCPUが管理する資源にアクセスした後、保存された資源テーブルを繰り返して参照する必要はない。従って、資源テーブルにアクセスすることによる処理時間及びキャッシュシステムへの影響を低減することができる。
また、本発明は、プログラム(情報処理プログラム)コードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全てを行い、その処理により前述の実施形態の機能が実現される場合も含む。更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づいて、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全てを行い、その処理によって前述した実施形態の機能が実現される。
本発明に係る実施形態における情報処理装置を含むシステムの一例を示す図である。 情報処理装置であるMFPの内部構成を示す図である。 複数のCPUを含むデータ処理部の構成を示すブロック図である。 複数のCPUを含む情報処理装置が省電力モードに移行する処理の手順を示すフローチャートである。 複数のCPUを含む情報処理装置が、省電力モードから復帰する処理の手順を示すフローチャートである。 複数のCPUを含む構成において、資源にアクセスする処理の手順を示すフローチャートである。 省電力モードの前後において、資源にアクセスする処理の手順を示すフローチャートである。 本実施形態における資源テーブルの一例を示す図である。 本実施形態において、第1のCPUが、検索した資源に対して指定された識別子を割り当てる処理の手順を示すフローチャートである。 資源に識別子を割り当てる際の処理について説明する図である。 従来、資源を直接管理するCPUが、資源管理において、資源に識別子を割当てる処理を説明する図である。
符号の説明
10、20 オフィス
308 ファックス部
309 ディスプレイ
310 スキャナ部
311 プリンタ部

Claims (7)

  1. 資源を管理する第1の処理手段と、前記資源にアクセスする第2の処理手段とを含む情報処理装置であって、
    前記第2の処理手段が、
    前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存し、
    前記第1の処理手段が電源断状態であり前記第2の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第2の処理手段が前記資源にアクセスする際に、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第1の処理手段に要求する
    ことを特徴とする情報処理装置。
  2. 前記第1の処理手段が、前記第2の処理手段から要求されると、当該割り当てを要求された前記資源に対して前記識別子を割り当てることを特徴とする請求項1に記載の情報処理装置。
  3. 前記資源はファイルであり、
    前記第2の処理手段が、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを、当該資源をオープンする要求と共に、前記第1の処理手段に要求することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記第2の処理手段が、スリープ状態となる前に、前記識別子と前記資源とが関連付けられたテーブルを保存することを特徴とする請求項3に記載の情報処理装置。
  5. 前記第2の処理手段が前記第1の処理手段を電源断状態とすることによって、省電力モードとなることを特徴とする請求項3又は4に記載の情報処理装置。
  6. 資源を管理する第1の処理手段と、前記資源にアクセスする第2の処理手段とを含む情報処理装置において実行される情報処理方法であって、
    前記第2の処理手段が、前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存する保存工程と、
    前記第2の処理手段が、前記第1の処理手段が電源断状態であり前記第2の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第2の処理手段が前記資源にアクセスする際に、前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第1の処理手段に要求する要求工程と
    を備えることを特徴とする情報処理方法。
  7. 資源を管理する第1の処理手段と、前記資源にアクセスする第2の処理手段とを含むコンピュータにおいて、
    前記資源を識別する識別子と前記資源とが関連付けられたテーブルを保存する保存手段と、
    前記第1の処理手段が電源断状態であり前記第2の処理手段がスリープ状態である省電力モードから復帰した後に初めて前記第2の処理手段が前記資源にアクセスする際に前記テーブルを参照し、当該アクセスする前記資源に関連付けられた前記識別子を当該資源に対して割り当てることを前記第1の処理手段に要求する要求手段と
    して前記コンピュータの第2の処理手段を機能させることを特徴とする情報処理プログラム。
JP2008114418A 2008-04-24 2008-04-24 情報処理装置、情報処理方法、及び、情報処理プログラム Expired - Fee Related JP5166955B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008114418A JP5166955B2 (ja) 2008-04-24 2008-04-24 情報処理装置、情報処理方法、及び、情報処理プログラム
US12/420,868 US20090271797A1 (en) 2008-04-24 2009-04-09 Information processing apparatus, information processing method, and medium storing information processing program stored thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008114418A JP5166955B2 (ja) 2008-04-24 2008-04-24 情報処理装置、情報処理方法、及び、情報処理プログラム

Publications (3)

Publication Number Publication Date
JP2009265926A JP2009265926A (ja) 2009-11-12
JP2009265926A5 JP2009265926A5 (ja) 2011-06-16
JP5166955B2 true JP5166955B2 (ja) 2013-03-21

Family

ID=41216262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008114418A Expired - Fee Related JP5166955B2 (ja) 2008-04-24 2008-04-24 情報処理装置、情報処理方法、及び、情報処理プログラム

Country Status (2)

Country Link
US (1) US20090271797A1 (ja)
JP (1) JP5166955B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120249461A1 (en) * 2011-04-01 2012-10-04 Analog Devices, Inc. Dedicated user interface controller for feedback responses
US9035956B1 (en) * 2012-05-08 2015-05-19 Apple Inc. Graphics power control with efficient power usage during stop
JP2015215684A (ja) 2014-05-08 2015-12-03 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3109048B2 (ja) * 1991-05-21 2000-11-13 株式会社リコー コンピュ−タ制御方法
JP3343949B2 (ja) * 1992-08-31 2002-11-11 株式会社日立製作所 分散情報処理システム
US5649136A (en) * 1995-02-14 1997-07-15 Hal Computer Systems, Inc. Processor structure and method for maintaining and restoring precise state at any instruction boundary
US5671383A (en) * 1995-10-04 1997-09-23 Intel Corporation Register renaming in a superscalar microprocessor utilizing local and global renamer devices
US6128728A (en) * 1997-08-01 2000-10-03 Micron Technology, Inc. Virtual shadow registers and virtual register windows
US6438668B1 (en) * 1999-09-30 2002-08-20 Apple Computer, Inc. Method and apparatus for reducing power consumption in a digital processing system
US6357016B1 (en) * 1999-12-09 2002-03-12 Intel Corporation Method and apparatus for disabling a clock signal within a multithreaded processor
GB2359641B (en) * 2000-02-25 2002-02-13 Siroyan Ltd Mapping circuitry and method
US6742103B2 (en) * 2000-08-21 2004-05-25 Texas Instruments Incorporated Processing system with shared translation lookaside buffer
US6742104B2 (en) * 2000-08-21 2004-05-25 Texas Instruments Incorporated Master/slave processing system with shared translation lookaside buffer
JP2003044184A (ja) * 2001-08-01 2003-02-14 Canon Inc データ処理装置及び電力制御方法
JP2004030539A (ja) * 2002-06-28 2004-01-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US7100013B1 (en) * 2002-08-30 2006-08-29 Nvidia Corporation Method and apparatus for partial memory power shutoff
US7404067B2 (en) * 2003-09-08 2008-07-22 Intel Corporation Method and apparatus for efficient utilization for prescient instruction prefetch
US7519839B2 (en) * 2005-09-30 2009-04-14 Intel Corporation Method for optimizing platform power delivery
US8035650B2 (en) * 2006-07-25 2011-10-11 Qualcomm Incorporated Tiled cache for multiple software programs

Also Published As

Publication number Publication date
US20090271797A1 (en) 2009-10-29
JP2009265926A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
US8854388B2 (en) Image processing apparatus and memory management method for image processing apparatus
JP2006330940A (ja) 印刷制御方法および印刷設定管理システムおよびソフトウエア配布サーバ
JP2015121989A (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP5166955B2 (ja) 情報処理装置、情報処理方法、及び、情報処理プログラム
US8373876B2 (en) Document management system and method for controlling a document print operation
JP4101004B2 (ja) 画像形成装置
US7355739B2 (en) Image forming device having a memory assignment unit
JP2013178710A (ja) 画像形成装置、画像形成システムおよび情報処理装置用プログラム
JP2008242668A (ja) 画像処理装置、記憶領域の管理方法、およびコンピュータプログラム
US8582153B2 (en) Image forming apparatus and method
JP6525769B2 (ja) 管理装置、制御方法およびプログラム、並びに、システム
JP2007047941A (ja) 電子機器及びネットワークシステムとその制御方法
JP4498045B2 (ja) 画像処理装置及びその制御方法及びプログラム
JP2011077619A (ja) ファクシミリ受信装置、ファクシミリ受信装置の制御方法、及び、プログラム
JP2017049660A (ja) サーバ装置、制御システム、制御方法、及び、プログラム
JP5414305B2 (ja) 情報処理装置、仮想記憶管理方法及びプログラム
US9692917B2 (en) Operating information storing system, operating information storing method, and non-transitory computer readable recording medium storing an operating information storing method for storing information from volatile memory to non-volatile memory
JP2009060523A (ja) 画像形成装置、アプリケーション制御方法、及びアプリケーション制御プログラム
JP4958723B2 (ja) 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体
JP2015231218A (ja) 画像形成装置及びその制御方法
JP2015111768A (ja) 画像処理装置およびその制御方法、並びにプログラム
JP2005078419A (ja) 情報処理装置及びファイル管理方法
JP6605077B2 (ja) 情報処理装置、情報処理装置の制御方法およびそのプログラム
CN110572527B (zh) 图像处理装置、其控制方法及计算机可读存储介质
JP5005566B2 (ja) 画像形成装置、データ管理方法、及びデータ管理プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121030

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees