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

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

Info

Publication number
JP2006146605A
JP2006146605A JP2004336388A JP2004336388A JP2006146605A JP 2006146605 A JP2006146605 A JP 2006146605A JP 2004336388 A JP2004336388 A JP 2004336388A JP 2004336388 A JP2004336388 A JP 2004336388A JP 2006146605 A JP2006146605 A JP 2006146605A
Authority
JP
Japan
Prior art keywords
central processing
processing unit
unit
temperature
pause
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.)
Granted
Application number
JP2004336388A
Other languages
English (en)
Other versions
JP4553307B2 (ja
Inventor
Sanehiro Furuichi
実裕 古市
Susumu Shimotoono
下遠野 享
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004336388A priority Critical patent/JP4553307B2/ja
Priority to US11/284,286 priority patent/US7373269B2/en
Publication of JP2006146605A publication Critical patent/JP2006146605A/ja
Application granted granted Critical
Publication of JP4553307B2 publication Critical patent/JP4553307B2/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • 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/3246Power saving characterised by the action undertaken by software initiated power-off
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

【課題】 中央処理装置の電力消費量をこれまでより柔軟に調節する。
【解決手段】 複数の中央処理装置を備えた情報処理装置であって、複数の中央処理装置の各々の温度を測定する温度測定部と、各々の中央処理装置について測定された温度に基づいて、当該中央処理装置の演算処理を休止させる時間の割合である休止割合を算出する休止割合算出部と、複数の中央処理装置の各々において実行されるスレッドにより実現され、予め定められた待機期間当該中央処理装置に他のスレッドを実行させる待機状態、又は、当該中央処理装置の演算処理を休止させる内部休止命令を実行する稼動状態の何れかに遷移することにより、当該中央処理装置の演算処理を休止割合に応じて休止させる休止状態制御部と、複数の中央処理装置の各々に対して割込みを行い、演算処理を休止している中央処理装置の演算処理を再開させる割込処理部とを備える情報処理装置を提供する。
【選択図】図2

Description

本発明は、情報処理装置、制御方法、及びプログラムに関する。特に、本発明は、複数の中央処理装置を備え、これら複数の中央処理装置の電力消費を制御する情報処理装置、制御方法、及びプログラムに関する。
近年、プロセッサの高集積化・高速化に伴い、プロセッサの消費電力は著しく増加し、発熱による様々な問題が生じている。特に、複数のプロセッサを同一筐体内に密集して搭載する高性能サーバでは、発生する熱をいかに効率的に排出するかが、システム設計の大きな決定要因になっている。例えば、大型のヒートシンクを搭載したり、複数の冷却ファンを連動させるなどして、排熱を行っているが、近年では、発熱量の増大を抑えきれず、性能向上を妨げる要因にもなりつつある。
また、高性能サーバでは、高い可用性が求められ、システムを停止することは許されない。このため、システムを稼動したままでも、故障した冷却ファンを交換できる排熱機構が備えられている場合がある。また、他の例として、一部の冷却ファンが故障しても、他の冷却ファンの回転数を上昇させてその排熱能力を補う機構を搭載している場合もある。更に、特定のプロセッサが過熱した場合に、全プロセッサの動作周波数を均一に低下させて、サーバ全体としての過熱を防止する機構が用いられている場合もある。
このように、特に熱問題が重要な課題である高性能サーバにおいては、冗長な排熱機構により、システムの可用性を高めているが、その結果、コストの大幅な増大を招いている。また、冗長な排熱機構にも限界があり、同時に複数個のファンが故障した場合などには、排熱能力が追いつかず、数分とたたないうちに、プロセッサの温度が危険領域にまで上昇し、やむを得ずシステムを緊急停止する場合も多い。
このような不完全性ゆえ、企業の基幹系システムなど、システムダウンの許されない環境では、即座に部品交換できるようにサービスマンを常駐させる体制をとるなどして、一段のコスト増を招いている。また、これらの機構は、あくまでもハードウェアの破壊やシステムの停止を防止することを目的としている。このため、ハードウェアが過熱した場合であっても、サービスの処理性能をできるだけ高く維持することは想定されていない。
これに対して、従来、より高い精度で電力消費量を制御する各種の技術が提案されている。具体的には、プロセッサユニット内部に専用のハードウェア回路を設け、温度上昇時に動作周波数を低下させることで、温度が既定範囲内に収まるように電力制御する技術が提案されている(特許文献1参照。)。また、冷却ファンの故障が検出された場合に、その冷却ファンにより冷却されていたプロセッサの動作を停止させる技術が提案されている(特許文献2参照。)。
また、非対称型マルチプロセッサシステムにおいて、タスクをプロセッサに割当てるタスクスケジューリングを工夫することで、システム全体としての電力消費量を一定以下に抑える技術が提案されている(特許文献3参照。)。また、プロセッサがタスクを実行していないアイドル状態を検出した場合に、そのプロセッサの動作周波数等を低下させる技術が提案されている(特許文献4参照。)。
特開平9−305268号公報 特開平11−191016号公報 特開2002−202893号公報 特開平8−6681号公報
しかしながら、特許文献1によれば、電力制御用の専用回路をプロセッサに搭載させなければならない。このため、コスト要求の厳しいサーバやパソコンなどの汎用部品を利用して構成されるコンピュータにおいては、実現性が低い。また、特許文献2によれば、冷却ファンの故障が検出された場合には、その冷却ファンの回転数が少々低下した程度の故障であっても、その冷却ファンにより冷却されていたプロセッサを停止させてしまう。このため、冷却可能な最大限度の処理能力を維持することができず、コンピュータ全体の性能を必要以上に低下させてしまう。
また、特許文献3のシステムは、消費電力量を低減させることを目的としたタスクスケジューリングを行う。このため、通常のタスクスケジューリングの目的である処理の高速化・処理待ち時間の低減等に反し、パフォーマンスを低下させるおそれがある。また、特許文献4の技術では、プロセッサが過熱した場合であっても、アイドル状態を検出しない限りは、プロセッサの動作周波数を低下させることはできない。
本発明は、上記の点に鑑みてなされたものであり、ファンの故障などにより、特定のプロセッサの温度が著しく上昇しても、特殊なハードウェア機構を追加することなく、ソフトウェアのみにより電力制御することを目的とする。更に、システムを停止せずにサービスを継続したまま、特定のプロセッサのみに限定して電力制御する機構を提供し、システムの可用性を大幅に高めることを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、複数の中央処理装置を備えた情報処理装置であって、複数の中央処理装置の各々の温度を測定する温度測定部と、各々の中央処理装置について、当該中央処理装置について測定された温度に基づいて、当該中央処理装置の少なくとも一部に電源が供給されている時間のうち当該中央処理装置の演算処理を休止させる時間の割合である休止割合を算出する休止割合算出部と、複数の中央処理装置の各々に対応して当該中央処理装置において実行されるスレッドにより実現され、予め定められた待機期間当該中央処理装置に他のスレッドを実行させる待機状態、又は、当該中央処理装置の演算処理を休止させる内部休止命令を実行する稼動状態の何れかに遷移することにより、当該中央処理装置の演算処理を前記休止割合に応じて休止させる休止状態制御部と、複数の中央処理装置の各々に対して割込みを行い、演算処理を休止している中央処理装置の演算処理を再開させる割込処理部とを備える情報処理装置、当該情報処理装置の制御方法、及び、当該情報処理装置を制御するプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、中央処理装置の電力消費量をこれまでより柔軟に調節することができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、情報処理装置10の内部構成を示す。情報処理装置10は、ホストコントローラ1082により相互に接続される中央処理装置ユニット1000、RAM1020、及びグラフィックコントローラ1075を有する中央処理装置周辺部を備える。また、情報処理装置10は、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部を備える。また、情報処理装置10は、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部を備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスする中央処理装置1005−1及びグラフィックコントローラ1075とを接続する。中央処理装置ユニット1000は、複数の中央処理装置、例えば、中央処理装置1005−1〜Nを有する。中央処理装置1005−1は、は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。
また、中央処理装置1005−1は、中央処理装置1005−2〜Nの各々と略同一であり、各中央処理装置からRAM1020に対するアクセス速度は略同一である。即ち例えば、情報処理装置10は、対象型マルチプロセッサ(SMP:Symmetric Multiprocessor)を搭載した構成を採る。中央処理装置1005−2〜Nの各々は、中央処理装置1005−1と略同一であるので、以降相違点を除き説明を省略する。
グラフィックコントローラ1075は、中央処理装置1005−1等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、中央処理装置1005−1等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置10が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020を介して入出力チップ1070に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、情報処理装置10の起動時に中央処理装置1005−1が実行するブートプログラムや、情報処理装置10のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、RAM1020を介して入出力チップ1070に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置10に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され情報処理装置10にインストールされて実行される。プログラムが情報処理装置10等に働きかけて行わせる動作は、図2から図8において後述する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置10に提供してもよい。
図2は、中央処理装置ユニット1000により実行されるプログラムの機能を機能ブロックに分類して示す。上述のように、中央処理装置ユニット1000は、中央処理装置1005−1〜Nを有する。そして、中央処理装置1005−1〜Nの何れかは、温度監視スレッド20を実行する。温度監視スレッド20は、温度測定部200と、休止割合算出部210として機能する。温度測定部200は、中央処理装置1005−1〜Nの各々の温度を測定する。
ここで、温度測定部200は、例えば、中央処理装置1005−1〜Nの各々に予め設けられた温度センサーを用いて温度を測定する。これに代えて、温度測定部200は、中央処理装置1005−1〜Nの各々が消費している電力を測定し、その電力量に基づいて推定される温度を算出することにより温度を測定してもよい。休止割合算出部210は、中央処理装置1005−1〜Nの各々について、当該中央処理装置について測定された温度に基づいて、当該中央処理装置の少なくとも一部に電源が供給される時間のうち当該中央処理装置の演算処理を休止させる時間の割合である休止割合を算出する。
中央処理装置1005−1は、電力制御スレッド22−1と、起動スレッド24−1とを実行する。電力制御スレッド22−1は、中央処理装置1005−1に対応して中央処理装置1005−1において実行される特定のスレッドである。具体的には、電力制御スレッド22−1は、中央処理装置1005−1で実行される設定であるプロセッサアフィニティが、オペレーティングシステムのスレッドスケジューラに対して設定されたスレッドである。
更に、電力制御スレッド22−1は、アプリケーションプログラムを実行する他のスレッドよりも高い優先度で中央処理装置1005−1により実行される。例えば、電力制御スレッド22−1を他のスレッドより優先してスケジューリングする設定を、オペレーティングシステムに対して行ってもよい。これに代えて、オペレーティングシステムが、電力制御スレッド22−1を他のスレッドより優先してスケジューリングする機能を予め備えていてもよい。
休止状態制御部220−1は、電力制御スレッド22−1により実現される。そして、休止状態制御部220−1は、予め定められた期間中央処理装置1005−1に他のスレッドを実行させる待機状態、又は、中央処理装置1005−1の演算処理を休止させる内部休止命令を実行する稼動状態の何れかに遷移する。
休止状態制御部220−1は、待機状態にある時間及び稼動状態にある時間の比率を調節することにより、中央処理装置1005−1の演算処理を、休止割合算出部210により算出された休止割合に応じて休止させる。起動スレッド24−1は、割込処理部230−1として機能する。割込処理部230−1は、中央処理装置1005−2に対応して設けられ、中央処理装置1005−2以外の中央処理装置で実行されるスレッド、即ち起動スレッド24−1により実現される。そして、割込処理部230−1は、中央処理装置1005−2に対して定期的に割込みを行うことにより、演算処理を休止している中央処理装置1005−2を再開させる。
同様に、中央処理装置1005−2は、割込処理部230−2として機能し、割込処理部230−2は、中央処理装置1005−3に対して割込みを行う。また、中央処理装置1005−Nは、割込処理部230−Nとして機能し、割込処理部230−Nは、中央処理装置1005−1に対して割込みを行う。
図3は、休止割合算出部210が休止割合を算出する処理の一例を示すフローチャートである。温度測定部200及び休止割合算出部210は、以下の処理を各々の中央処理装置について行う。本図ではその一例として、温度測定部200及び休止割合算出部210が中央処理装置1005−1について行う処理を示す。まず、温度測定部200は、中央処理装置1005−1の温度を測定する(S300)。休止割合算出部210は、測定された温度が、予め定められた基準温度以上か否かを判断する(S310)。測定された温度が、基準温度以上でない場合には(S310:NO)、休止割合算出部210は、休止割合として0を算出し(S315)、S300に処理を戻す。
一方、測定された温度が基準温度以上の場合に(S310:YES)、休止割合算出部210は、温度の上昇率を測定する(S320)。例えば、休止割合算出部210は、前回測定した温度と今回測定した温度との差分値を算出し、算出したその差分値を測定の時間間隔で除算してもよい。そして、休止割合算出部210は、中央処理装置1005−1の温度の上昇率が、中央処理装置1005−1の温度に応じた基準上昇率より高いか否かを判断する(S330)。中央処理装置1005−1の温度の上昇率が基準上昇率以下の場合には(S330:NO)、S300に処理を戻す。ここで、基準上昇率は、温度に対応付けて予め定められており、例えば、温度が高くなるのに応じて低い値を採り、温度が低くなるのに応じて高い値を採る。
一方、中央処理装置1005−1の温度の上昇率が基準上昇率より高い場合に(S330:YES)、休止割合算出部210は、中央処理装置1005−1のCPU使用率が基準以上か否かを判断する(S340)。CPU使用率が基準以上の場合には(S340:YES)、休止割合算出部210は、中央処理装置1005−1の上昇を防ぐ休止割合を算出すべく、既に前回算出した休止割合と比較してより高い休止割合を算出する(S350)。例えば、休止割合算出部210は、休止割合を1%ずつ増加させてもよい。
一方、CPU使用率が基準未満の場合には(S340:NO)、休止割合算出部210は、温度の上昇率に応じて、休止割合を増加させる増分値を算出する(S360)。例えば、温度の上昇率がより高い場合には、温度の上昇率がより低い場合と比較してより大きい増分値を算出してもよい。そして、休止割合算出部210は、算出した増分値を既に算出した休止割合に加える。その後、温度測定部200及び休止割合算出部210は、再度S300に処理を戻す。
このように、休止割合算出部210は、中央処理装置1005−1の温度が基準温度以上に上昇した場合に、中央処理装置1005−1の休止割合を0より大きい値に設定する。そして、休止割合算出部210は、既に算出した休止割合により中央処理装置を休止させた場合において、その中央処理装置の温度が上昇している場合には、既に算出した当該休止割合と比較してより高い休止割合を算出する。これにより、中央処理装置1005−1における演算処理を適度に休止させ、中央処理装置1005−1の温度を低下させることができる。
更に、休止割合算出部210は、中央処理装置1005−1により実行中のタスクが要する計算処理能力が、予め定められた基準の計算能力を超えるか否かを、CPU使用率の値に基づいて判断する。そして、休止割合算出部210は、その計算能力が基準の計算能力を超える場合には、中央処理装置1005−1の温度を低下させることに優先してそのタスクの実行を完了させるべく、中央処理装置1005−1の温度を上昇させない程度の休止割合を算出する。このように、中央処理装置1005−1の温度のみならず実行中のタスクの状態に基づいて柔軟に休止割合を定めることができる。
図4は、中央処理装置1005−1の状態変化を示すタイムチャートである。本図上段から順に、中央処理装置1005−1の状態変化、電力制御スレッド22−1の状態変化、中央処理装置1005−1上で動作する他のスレッドの状態変化、及び、中央処理装置1005−Nの状態変化を示す。本図においては、休止割合算出部210が、中央処理装置1005−1の休止割合として75%を算出した場合の状態変化を説明する。
電力制御スレッド22−1は、中央処理装置1005−1の休止割合が0より大きい値に設定されると稼動状態に遷移する。休止状態制御部220−1は、電力制御スレッド22−1が稼動状態に遷移すると直ちに内部休止命令を実行する。これにより、中央処理装置1005−1は、演算処理を休止した休止状態(OFF)に遷移する。ここで、内部休止命令とは、中央処理装置1005−1の動作クロックを有効としたまま演算器の動作を休止させるHALT命令である。また、内部休止命令は、HALT命令に先立って実行される、中央処理装置1005−1の動作電圧を低下させる電圧低下命令を含む。
そして、割込処理部230−Nは、中央処理装置1005−1に対して定期的に割り込むことにより、休止していた演算処理を再開させる(ON)。中央処理装置1005−1が演算処理を再開させると、休止状態制御部220−1は、動作を再開し、動作を再開させると直ちに内部休止命令を実行する。これにより、中央処理装置1005−1は、再度、休止状態に遷移する。続いて、休止状態制御部220−1は、2度目の割込みを受けて動作を再開させ、内部休止命令を実行し、中央処理装置1005−1は、休止状態に遷移する。
割込処理部230−Nによる3度目の割込みにより、中央処理装置1005−1が動作を再開すると、休止状態制御部220−1は、待機遷移処理により待機状態に遷移し、中央処理装置1005−1により他のスレッドを実行させる。この結果、他のスレッドは待機状態から稼動状態に状態遷移する。ここで、待機遷移処理とは、例えば、予め指定した待機期間、スレッドを待機状態に遷移させた後に動作を再開させるスリープシステムコールである。この結果、中央処理装置1005−1において他のスレッドが動作する。
待機期間経過後に、電力制御スレッド22−1は稼動状態に状態遷移する。これにより、中央処理装置1005−1上で動作する他のスレッドは待機状態に遷移する。これらの状態遷移の後に直ちに、休止状態制御部220−1は、内部休止命令を実行し、中央処理装置1005−1が再度休止状態に遷移する。以降同様に、休止状態制御部220−1は、4回起動される毎に1回待機遷移処理を行う。この結果、中央処理装置1005−1は、中央処理装置1005−1が動作している時間の約3/4の時間を、演算処理を休止した休止状態(OFF)とすることができる。
以上、本図に示すように、休止状態制御部220−1は、休止状態制御部220−1を実行する中央処理装置1005−1が割込みを受ける毎に、待機状態に遷移して他のスレッドを実行させた後に内部休止命令を実行する稼動状態に遷移するか、又は、待機状態に遷移することなく内部休止命令を実行する稼動状態に遷移するかを、休止割合に応じて判断することができる。
本図の制御に代えて、休止状態制御部220−1は、中央処理装置1005−1が割込みを受ける毎に、休止割合算出部210により算出された休止割合に基づいて定めた待機期間待機状態に毎回遷移してもよい。そしてこの場合、休止状態制御部220−1は、待機期間の経過後に内部休止命令を実行する稼動状態に遷移する。一例として、中央処理装置1005−1が100ms毎に割込みを受ける場合においては、休止状態制御部220−1は、割込みを受ける毎に25msの間待機状態に遷移してもよい。このような制御によっても、中央処理装置1005−1を適度に休止させて、破損・誤動作を防止できる。
以上、図1から図4に示すように、本実施例における情報処理装置10によれば、中央処理装置の休止割合をソフトウェアにより柔軟に制御することができる。具体的には、オペレーティングシステム上で動作する電力制御スレッド、温度監視スレッド、及び起動スレッドの協業により休止割合が制御される。これにより、冷却ファン・ヒートシンク等の大規模な冷却機構を追加することなく、中央処理装置の性能を最大限有効に維持しつつ、中央処理装置の過熱を防止できる。
更に、休止状態の制御は、オペレーティングシステムの管理下で動作するユーザレベルスレッドにより行わる。また、各々のスレッドは、既存のオペレーティングシステムの機能であるプロセッサアフィニティにより各中央処理装置に対応付けられる。このように、本実施例によれば、既存のオペレーティングシステムを改造・修正することなく休止状態を制御できる。これにより、既存の情報処理装置に電力制御の機能を補完・補強し、情報処理装置を一層効率的かつ安定的に運用させることができる。
図5は、本実施例の変形例における情報処理装置10の内部構成を示す。本例における入出力コントローラ1084は、図1における入出力コントローラ1084と異なり、割込処理部400を更に備える。割込処理部400は、中央処理装置1005−1〜Nの各々に対してインターバルタイマ割り込みを行うことにより、演算処理を休止している中央処理装置の演算処理を再開させる。一例として、割込処理部400は、入出力コントローラ1084内に実装されたプログラマブル割込コントローラにより実現される。
図6は、本実施例の変形例において、中央処理装置ユニット1000により実行されるプログラムの機能を機能ブロックに分類して示す。本例における中央処理装置1005−1は、図2に示す中央処理装置1005−1とは異なり、起動スレッド24−1を実行させなくともよい。即ち、中央処理装置1005−1は、割込処理部230−1として機能しなくてもよい。
そして本例において、休止割合算出部210は、何れかの中央処理装置について0より大きい休止割合を算出した場合に、当該中央処理装置に対して定期的に割り込む設定を割込処理部400に対して行う。中央処理装置1005−1〜Nの各々は、割込処理部400から割り込みを受けることにより、演算処理を停止していた場合には演算処理を再開する。
以上、本変形例においては、起動スレッドでなく割込コントローラが、中央処理装置1005−1〜Nの各々に割込みを行う。これにより、中央処理装置において実行させるスレッドを減らすことができるので、ユーザアプリケーション等を実行する他のスレッドを効率的に実行させることができる。また、本変形例のような構成を採った場合であっても、上記実施例と同様に、休止割合の制御をユーザレベルスレッドにより柔軟に行わせることができる。即ち、中央処理装置の休止割合の制御は起動スレッドのみによって行われるので、プログラマブル割込コントローラに対して複雑な設定をする必要がない。
図7は、休止状態が未設定の場合と休止状態が設定済みの場合とにおける、中央処理装置の負荷の違いを示す。本図においては、情報処理装置10が、4つの中央処理装置(CPU0からCPU4)を有する場合について説明する。また、例えば冷却ファンの故障により、CPU1及びCPU3の冷却能力が低下した場合を想定する。
(a)は、冷却ファンが故障する前の状態であって、休止割合が未設定の場合における、各中央処理装置の負荷の実測値を示す。各々の中央処理装置において、電力制御スレッド等とは異なる他の複数のスレッドが実行されている。
(b)は、冷却ファンが故障した結果、CPU1及びCPU3に対して休止割合が設定された場合における、各中央処理装置の負荷の実測値を示す。CPU1及びCPU3の各々において、電力制御スレッドの負荷が約75%に達している。ここで、電力制御スレッドが中央処理装置の実行権を有している間は、中央処理装置が演算処理を休止した休止状態となっている。このため、CPU1及びCPU3の実質的な負荷は大幅に軽減され、冷却ファンの故障にも関わらずCPU1及びCPU3の過熱を防止することが確かめられた。
図8は、中央処理装置の温度及び負荷の変化、並びに、冷却ファンの回転数の変化を示す。本図においては、図7と同様、情報処理装置10が、4つの中央処理装置(CPU0からCPU4)を有する場合について説明する。また、例えば冷却ファンの故障により、実験開始から8分後にCPU1及びCPU3の冷却能力が低下した場合を想定する(図8(c))。この結果、CPU1及びCPU3の温度は徐々に上昇し、実験から28分後にCPU1及びCPU3の温度が、基準温度である72度以上に上昇している(図8(a))。
これを受けて、休止割合算出部210は、CPU1及びCPU3の休止割合として75%を算出する。そして、電力制御スレッド22−1は、その休止割合に基づいて待機状態又は稼動状態への状態遷移を繰り返す。この結果、図8(b)に示すように、電力制御スレッドのCPU負荷が高まり、他のスレッドのCPU負荷が低下している。この結果、CPU1及びCPU3の温度は徐々に低下し、実験開始から50分で、安全な温度で安定することが確かめられた(図8(a))。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、情報処理装置10の内部構成を示す。 図2は、中央処理装置ユニット1000により実行されるプログラムの機能を機能ブロックに分類して示す。 図3は、休止割合算出部210が休止割合を算出する処理の一例を示すフローチャートである。 図4は、中央処理装置1005−1の状態変化を示すタイムチャートである。 図5は、本実施例の変形例における情報処理装置10の内部構成を示す。 図6は、本実施例の変形例において、中央処理装置ユニット1000により実行されるプログラムの機能を機能ブロックに分類して示す。 図7は、休止状態が未設定の場合と休止状態が設定済みの場合とにおける、中央処理装置の負荷の違いを示す。 図8は、中央処理装置の温度及び負荷の変化、並びに、冷却ファンの回転数の変化を示す。
符号の説明
10 情報処理装置
20 温度監視スレッド
22 電力制御スレッド
24 起動スレッド
200 温度測定部
210 休止割合算出部
220 休止状態制御部
230 割込処理部
400 割込処理部
1000 中央処理装置ユニット
1005 中央処理装置
1010 ROM
1020 RAM
1084 入出力コントローラ

Claims (12)

  1. 複数の中央処理装置を備えた情報処理装置であって、
    前記複数の中央処理装置の各々の温度を測定する温度測定部と、
    各々の前記中央処理装置について、当該中央処理装置について測定された温度に基づいて、当該中央処理装置の少なくとも一部に電源が供給されている時間のうち当該中央処理装置の演算処理を休止させる時間の割合である休止割合を算出する休止割合算出部と、
    前記複数の中央処理装置の各々に対応して当該中央処理装置において実行される特定のスレッドにより実現され、予め定められた待機期間当該中央処理装置に他のスレッドを実行させる待機状態、又は、当該中央処理装置の演算処理を休止させる内部休止命令を実行する稼動状態の何れかに遷移することにより、当該中央処理装置の演算処理を前記休止割合に応じて休止させる休止状態制御部と、
    前記複数の中央処理装置の各々に対して割込みを行い、演算処理を休止している中央処理装置の演算処理を再開させる割込処理部と
    を備える情報処理装置。
  2. 前記休止状態制御部は、当該休止状態制御部を実行する中央処理装置が前記割込みを受ける毎に、前記待機状態に遷移して他のスレッドを実行させた後に前記内部休止命令を実行する稼動状態に遷移するか、又は、前記待機状態に遷移することなく前記内部休止命令を実行する稼動状態に遷移するかを、前記休止割合に応じて判断する
    請求項1記載の情報処理装置。
  3. 前記休止状態制御部は、アプリケーションプログラムを実行する他のスレッドよりも高い優先度で中央処理装置により実行されるスレッドにより実現される
    請求項2記載の情報処理装置。
  4. 前記休止状態制御部は、前記複数の中央処理装置の各々に対応して設けられ、当該中央処理装置で実行される設定であるプロセッサアフィニティが、オペレーティングシステムのスレッドスケジューラに対して設定されたスレッドにより実現される
    請求項2記載の情報処理装置。
  5. 前記割込処理部は、前記複数の中央処理装置の各々に対してインターバルタイマ割込みを行うことにより、演算処理を休止している中央処理装置の演算処理を再開させる
    請求項1記載の情報処理装置。
  6. 前記割込処理部は、前記複数の中央処理装置の各々に対応して設けられ、当該中央処理装置以外の前記中央処理装置で実行されるスレッドにより実現され、当該中央処理装置に対して割込みを行うことにより、演算処理を休止している中央処理装置の演算処理を再開させる
    請求項1記載の情報処理装置。
  7. 前記温度測定部は、更に、各々の前記中央処理装置の温度の上昇率を測定し、
    前記休止割合算出部は、各々の前記中央処理装置について、当該中央処理装置の温度が予め定められた基準温度以上であり、かつ当該中央処理装置の温度が上昇している場合に、当該温度の上昇率に基づいて、当該中央処理装置の温度を低下させる前記休止割合を算出する
    請求項1記載の情報処理装置。
  8. 前記休止割合算出部は、既に算出した前記休止割合により中央処理装置を休止させた場合において、当該中央処理装置の温度が上昇している場合に、既に算出した当該休止割合と比較してより高い休止割合を算出する
    請求項7記載の情報処理装置。
  9. 前記休止割合算出部は、各々の前記中央処理装置について、当該中央処理装置により実行中のタスクが要する計算処理能力が、予め定められた基準の計算処理能力を超える場合に、当該中央処理装置の温度を上昇させない前記休止割合を算出する
    請求項7記載の情報処理装置。
  10. 前記休止状態制御部は、当該休止状態制御部を実行する中央処理装置が前記割込みを受ける毎に、前記休止割合に基づいて定めた待機期間前記待機状態に遷移し、前記待機期間の経過後に前記内部休止命令を実行する稼動状態に遷移する
    請求項1記載の情報処理装置。
  11. 複数の中央処理装置を備えた情報処理装置において、前記複数の中央処理装置の電力消費を制御する制御方法であって、
    前記複数の中央処理装置の各々の温度を測定する温度測定段階と、
    各々の前記中央処理装置について、当該中央処理装置について測定された温度に基づいて、当該中央処理装置の少なくとも一部に電源が供給されている時間のうち当該中央処理装置の演算処理を休止させる時間の割合である休止割合を算出する休止割合算出段階と、
    前記複数の中央処理装置の各々に対応して当該中央処理装置において実行される特定のスレッドにより実現され、予め定められた待機期間当該中央処理装置に他のスレッドを実行させる待機状態、又は、当該中央処理装置の演算処理を休止させる内部休止命令を実行する稼動状態の何れかに遷移することにより、当該中央処理装置の演算処理を前記休止割合に応じて休止させる休止状態制段階と、
    前記複数の中央処理装置の各々に対して割込みを行い、演算処理を休止している中央処理装置の演算処理を再開させる割込処理段階と
    を備える制御方法。
  12. 複数の中央処理装置を備えた情報処理装置を制御するプログラムであって、
    前記情報処理装置を、
    前記複数の中央処理装置の各々の温度を測定する温度測定部と、
    各々の前記中央処理装置について、当該中央処理装置について測定された温度に基づいて、当該中央処理装置の少なくとも一部に電源が供給されている時間のうち当該中央処理装置の演算処理を休止させる時間の割合である休止割合を算出する休止割合算出部と、
    前記複数の中央処理装置の各々に対応して当該中央処理装置において実行される特定のスレッドにより実現され、予め定められた待機期間当該中央処理装置に他のスレッドを実行させる待機状態、又は、当該中央処理装置の演算処理を休止させる内部休止命令を実行する稼動状態の何れかに遷移することにより、当該中央処理装置の演算処理を前記休止割合に応じて休止させる休止状態制御部と、
    前記複数の中央処理装置の各々に対して割込みを行い、演算処理を休止している中央処理装置の演算処理を再開させる割込処理部と
    して機能させるプログラム。
JP2004336388A 2004-11-19 2004-11-19 情報処理装置、制御方法、及びプログラム Expired - Fee Related JP4553307B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004336388A JP4553307B2 (ja) 2004-11-19 2004-11-19 情報処理装置、制御方法、及びプログラム
US11/284,286 US7373269B2 (en) 2004-11-19 2005-11-21 Processor power consumption control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004336388A JP4553307B2 (ja) 2004-11-19 2004-11-19 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2006146605A true JP2006146605A (ja) 2006-06-08
JP4553307B2 JP4553307B2 (ja) 2010-09-29

Family

ID=36585474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004336388A Expired - Fee Related JP4553307B2 (ja) 2004-11-19 2004-11-19 情報処理装置、制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US7373269B2 (ja)
JP (1) JP4553307B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223637A (ja) * 2008-03-17 2009-10-01 Fujitsu Ltd ジョブ割当装置、ジョブ割当方法、及び、ジョブ割当プログラム
JP2010527491A (ja) * 2007-05-15 2010-08-12 アメリカン パワー コンバージョン コーポレイション 設備の電力及び冷却を管理するための方法及びシステム
US7899643B2 (en) 2006-11-09 2011-03-01 Renesas Electronics Corporation Semiconductor integrated circuit device
JP2011204128A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 運用管理装置および運用管理方法
JP2011210225A (ja) * 2010-07-14 2011-10-20 Nomura Research Institute Ltd 情報処理システムおよび情報処理方法
JP2012053899A (ja) * 2011-10-26 2012-03-15 Nomura Research Institute Ltd 運用管理装置および情報処理システム
JP2013225332A (ja) * 2009-09-26 2013-10-31 Intel Corp マルチコアプロセッサの低電力動作の方法及び装置
US9459680B2 (en) 2012-07-26 2016-10-04 Samsung Electronics Co., Ltd. System on chip and temperature control method thereof
US9529407B2 (en) 2013-02-21 2016-12-27 Fujitsu Limited Method for controlling information processing apparatus and information processing apparatus

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169022A1 (en) * 2003-06-18 2007-07-19 Jones Anthony M Processor having multiple instruction sources and execution modes
WO2009110884A1 (en) 2008-03-03 2009-09-11 Hewlett-Packard Development Company, L.P. Software-based power-capping
JP5189921B2 (ja) * 2008-08-02 2013-04-24 レノボ・シンガポール・プライベート・リミテッド コンピュータの放熱システム
US8311683B2 (en) * 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
US20110145612A1 (en) 2009-12-16 2011-06-16 International Business Machines Corporation Method and System to Determine and Optimize Energy Consumption of Computer Systems
KR101310968B1 (ko) * 2009-12-18 2013-09-23 한국전자통신연구원 대기 전력 제어 장치 및 제어 방법
US8364999B1 (en) * 2010-06-23 2013-01-29 Nvdia Corporation System and method for processor workload metering
US8887169B2 (en) * 2010-09-15 2014-11-11 Empire Technology Development Llc Task assignment in cloud computing environment
US8930724B2 (en) * 2011-08-17 2015-01-06 Broadcom Corporation Semiconductor device predictive dynamic thermal management
US9442773B2 (en) 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US9557797B2 (en) 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
US10353357B2 (en) * 2015-06-23 2019-07-16 Dell Products L.P. Systems and methods for combined active and passive cooling of an information handling resource
US10365698B2 (en) * 2017-07-27 2019-07-30 Oracle International Corporation Temperature based frequency throttling

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04278612A (ja) * 1991-02-25 1992-10-05 Internatl Business Mach Corp <Ibm> プロセッサ用クロック信号の制御方法及び情報処理システム
JPH07295694A (ja) * 1994-04-25 1995-11-10 Matsushita Electric Ind Co Ltd 演算処理装置の省電力方法
JPH07326714A (ja) * 1994-05-31 1995-12-12 Toshiba Corp 1チップコントローラ及び同コントローラを用いた電子機器
JPH0816531A (ja) * 1994-06-28 1996-01-19 Hitachi Ltd プロセススケジュール方式
JPH10312225A (ja) * 1997-05-12 1998-11-24 Hitachi Ltd マルチプロセッサシステム
JPH11161378A (ja) * 1997-12-01 1999-06-18 Nec Niigata Ltd Cpu温度制御回路
WO2003083693A1 (fr) * 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
JP2004240669A (ja) * 2003-02-05 2004-08-26 Sharp Corp ジョブスケジューラおよびマルチプロセッサシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (ja) 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JP3075957B2 (ja) * 1995-05-30 2000-08-14 株式会社東芝 コンピュータシステム
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
JPH09305268A (ja) 1996-05-16 1997-11-28 Hitachi Ltd 消費電力及び冷却系を制御する情報処理システム
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
JPH11191016A (ja) 1997-12-26 1999-07-13 Hitachi Ltd マルチプロセッサの縮退切り替え方法
US7174194B2 (en) 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
JP3851289B2 (ja) * 2003-04-22 2006-11-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、記録媒体、及び制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04278612A (ja) * 1991-02-25 1992-10-05 Internatl Business Mach Corp <Ibm> プロセッサ用クロック信号の制御方法及び情報処理システム
JPH07295694A (ja) * 1994-04-25 1995-11-10 Matsushita Electric Ind Co Ltd 演算処理装置の省電力方法
JPH07326714A (ja) * 1994-05-31 1995-12-12 Toshiba Corp 1チップコントローラ及び同コントローラを用いた電子機器
JPH0816531A (ja) * 1994-06-28 1996-01-19 Hitachi Ltd プロセススケジュール方式
JPH10312225A (ja) * 1997-05-12 1998-11-24 Hitachi Ltd マルチプロセッサシステム
JPH11161378A (ja) * 1997-12-01 1999-06-18 Nec Niigata Ltd Cpu温度制御回路
WO2003083693A1 (fr) * 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
JP2004240669A (ja) * 2003-02-05 2004-08-26 Sharp Corp ジョブスケジューラおよびマルチプロセッサシステム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899643B2 (en) 2006-11-09 2011-03-01 Renesas Electronics Corporation Semiconductor integrated circuit device
JP2010527491A (ja) * 2007-05-15 2010-08-12 アメリカン パワー コンバージョン コーポレイション 設備の電力及び冷却を管理するための方法及びシステム
JP2009223637A (ja) * 2008-03-17 2009-10-01 Fujitsu Ltd ジョブ割当装置、ジョブ割当方法、及び、ジョブ割当プログラム
US9075658B2 (en) 2008-03-17 2015-07-07 Fujitsu Limited Apparatus and method of assigning jobs to computation nodes based on a computation node's power saving mode transition rate
JP2013225332A (ja) * 2009-09-26 2013-10-31 Intel Corp マルチコアプロセッサの低電力動作の方法及び装置
JP2011204128A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 運用管理装置および運用管理方法
JP2011210225A (ja) * 2010-07-14 2011-10-20 Nomura Research Institute Ltd 情報処理システムおよび情報処理方法
JP2012053899A (ja) * 2011-10-26 2012-03-15 Nomura Research Institute Ltd 運用管理装置および情報処理システム
US9459680B2 (en) 2012-07-26 2016-10-04 Samsung Electronics Co., Ltd. System on chip and temperature control method thereof
US9529407B2 (en) 2013-02-21 2016-12-27 Fujitsu Limited Method for controlling information processing apparatus and information processing apparatus

Also Published As

Publication number Publication date
JP4553307B2 (ja) 2010-09-29
US7373269B2 (en) 2008-05-13
US20060129881A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
JP4553307B2 (ja) 情報処理装置、制御方法、及びプログラム
USRE47658E1 (en) Heat dissipation system for computers
EP2766788B1 (en) System and method for determining thermal management policy from leakage current measurement
EP2867742B1 (en) System and method for adaptive thermal management in a portable computing device
US8942857B2 (en) Method and system for thermal load management in a portable computing device
US10130007B2 (en) Fan control system for a computer system based on a time variable rate of current
US20140181562A1 (en) Method for preventing over-heating of a device within a data processing system
KR101509330B1 (ko) 처리 장치, 정보 처리 장치, 및 소비 전력 관리 방법
KR20130049201A (ko) 저장 드라이브 관리
JP2001085586A (ja) 電子機器用温度制御回路および電子機器の温度制御方法
TWI486763B (zh) 電腦系統之過熱保護方法及相關裝置
JP2019016252A (ja) 温度管理システム、情報処理装置および制御方法
JP4620768B2 (ja) 複数のコアを含むプロセッサを有するコンピュータ・システムの制御
JP2012027655A (ja) 情報処理装置および省電力メモリ管理方法
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JP5483465B2 (ja) コンピュータシステム、及び省電力制御方法
US9690351B2 (en) Power control system and method thereof
JP5768586B2 (ja) 計算装置、計算装置の制御方法、及びプログラム
JP4691180B2 (ja) 情報処理装置
JP5355604B2 (ja) 情報処理装置およびデータ転送速度設定方法
JP2005346420A (ja) 端末装置
JP2004246399A (ja) 制御方法、情報処理装置及びプログラム
JP2009025950A (ja) Cpu搭載電子装置のcpu冷却方法および該cpu搭載電子装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100611

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: 20100706

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100709

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees