(57)【要約】【課題】 ネットワーク・プロセッサ（ＮＰ）における種々の処理エレメントの使用率をモニタし且つ過去の使用率及び予測される使用率の関数として各エレメントの電力状態を制御するためにそのＮＰのコアに組み込まれたプログラム可能状態マシンを提供する。【解決手段】  状態マシンは、集中型省電力制御ユニットを制御するために又は各処理エレメントがそれ自身の状態マシンを含む分散型省電力制御ユニットを制御するために使用可能である。省電力状態マシンの機能は、システム設計の要件に従ってソフトウェア及び（又は）ハードウェア・ロジックの任意の結合において実施可能である。省電力状態変化アルゴリズムの使用を通して、モニタリング及び制御が行われる。処理エレメントの電力状態の決定はそれらエレメント間の相互依存性に適応する。更に、それは、ネットワーク・プロセッサの実際のパフォーマンス及び利用率に応答してゲイン係数の調節も行う。【選択図】  図１
2004246894.tif 000002
【特許請求の範囲】
【請求項１】
受容可能なレベルのパフォーマンスを維持しながらネットワーク・プロセッサにおける電力消費量を制御する方法であって、ＮＰコアに組み込まれ且つ該ＮＰコアにおける種々の処理エレメントの使用率をモニタし得るプログラム可能な状態マシンを使用し、各エレメントの電力状態を過去の使用率及び予測される使用率の関数として制御することを含む方法。
【請求項２】
ネットワーク・プロセッサにおける複数の処理エレメントから成るシステムの電力消費量を管理するためのプログラムを格納したコンピュータ可読媒体であって、前記プログラムはコンピュータを
ａ．前記システムにおける各エレメントがいつ稼動されなければならないかをシステム使用率の履歴パターンに基づいて決定し、
ｂ．エレメントの相互依存性を各エレメントの消費電力量に要因として含め、
ｃ．各処理エレメントの使用率レベルを記録する、
ように動作させる、コンピュータ可読媒体。
【請求項３】
ネットワーク・プロセッサにおける複数の処理エレメントの電力状態を制御する方法であって、
ａ．各処理エレメントに使用表示信号を供給するステップと、
ｂ．前記使用表示信号を使用して前記処理エレメントの各々の使用率をモニタするステップと、
ｃ．各処理エレメントの電力状態を、それの過去の使用率及び予測される将来の使用率に基づいて制御するステップと、
を含む、方法。
【請求項４】
前記ステップｃは、処理エレメントがいつ低電力状態に設定されるべきであるかを決定するステップを含む、請求項３に記載の方法。
【請求項５】
前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定するステップは、前記処理エレメントの以前の使用率に基づくものである、請求項４に記載の方法。
【請求項６】
前記処理エレメントはパケット・プロセッサである、請求項５に記載の方法。
【請求項７】
前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定するステップは、処理エレメント間の相互依存性に基づくものである、請求項５に記載の方法。
【請求項８】
前記相互依存性は、ディスパッチ・ユニットと少なくとも１つのパケット・プロセッサとの間の相互依存性である、請求項７に記載の方法。
【請求項９】
前記処理エレメントの少なくとも幾つかが刻時され、
前記刻時された各処理エレメントと関連したパフォーマンス回復時間が前記各処理エレメントの電力状態を制御するステップに要因として含められる、
請求項３に記載の方法。
【請求項１０】
更に、前記刻時された処理エレメントの前記パフォーマンス回復時間を償うためのスムージング・ステップを含む、請求項９に記載の方法。
【請求項１１】
更に、前記ネットワーク・プロセッサの実際のパフォーマンス及び使用率に応答してゲイン係数を調節するステップを含む、請求項３に記載の方法。
【請求項１２】
前記使用率が供給される入力と前記処理エレメントに対する使用率閾値に比較される出力結果とを有するアルゴリズムを使用するステップを含む、請求項９に記載の方法。
【請求項１３】
更に、電力状態の変化が生じたことを１つ又はそれ以上の処理エレメントに表示するインディケータとしてステータス・モード制御信号を使用することを含む、請求項１２に記載の方法。
【請求項１４】
前記電力状態の変化に応答して、前記処置エレメントの少なくとも１つがそれのオペレーションを修正する、請求項１３に記載の方法。
【請求項１５】
ネットワーク・プロセッサの使用の変化に応答して、処理エレメントの電力制御の設定を変更するために電力制御信号を使用することを含む、請求項１２に記載の方法。
【請求項１６】
ネットワーク・プロセッサ・における複数の処理エレメントの電力状態を管理するシステムであって、
ａ．各処理エレメントにそれ自身の使用表示信号及び電力制御信号を供給するための装置と、
ｂ．前記使用表示信号を使用して、前記ネットワーク・プロセッサにおける処理エレメントの使用率をモニタするための装置と、
ｃ．各処理エレメントの電力状態を、それの過去の使用率及び予測される将来の使用率に基づいて制御するための装置と、
を含む、システム。
【請求項１７】
前記電力状態を制御するための装置は、処理エレメントがいつ低電力状態に設定されるべきであるかを決定する機能を含む、請求項１６に記載のシステム。
【請求項１８】
前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定する機能を含む装置は、前記処理エレメントの前の使用率に基づいた情報を利用する、請求項１７に記載のシステム。
【請求項１９】
前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定する機能を含む装置は、処理エレメント間の相互依存性に基づいた情報を使用する、請求項１８に記載のシステム。
【請求項２０】
前記相互依存性は、ディスパッチ・ユニットと少なくとも１つのパケット・プロセッサとの間の相互依存性である、請求項１９に記載のシステム。
【請求項２１】
前記処理エレメントの少なくとも幾つかが刻時され、
前記刻時された各処理エレメントと関連したパフォーマンス回復時間が前記各処理エレメントの電力状態を制御するステップに要因として含められる、
請求項１６に記載のシステム。
【請求項２２】
更に、前記刻時された処理エレメントの前記パフォーマンス回復時間を償うためのスムージング・ステップを実施する機能を有する、請求項２１に記載のシステム。
【請求項２３】
更に、前記ネットワーク・プロセッサの実際のパフォーマンス及び使用率に応答してゲイン係数を調節することができる、請求項１６に記載のシステム。
【請求項２４】
前記使用率が供給される入力と前記処理エレメントに対する使用率閾値に比較される出力結果とを有するアルゴリズムを含む、請求項１９に記載のシステム。
【請求項２５】
ネットワーク・プロセッサの使用の変化に応答して、処理エレメントの電力制御の設定を変更するように働く電力制御信号を含む、請求項２４に記載のシステム。
【請求項２６】
更に、前記電力状態の変化に応答して、処置エレメントのオペレーションを修正する能力を有する、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受容可能なレベルのパフォーマンスを維持しながらネットワーク・プロセッサにおける電力消費量を制御するシステム及び方法に関するものである。
【背景技術】
【０００２】
通信産業における多くの動向が、ネットワーク・システムのコンポーネントを設計する時の最大の懸念である電力の効率的な使用を行うことに寄与している。ブリッジング、スイッチング、及びルーティング・システムのパフォーマンスが増大するにつれて、それらの消費電力量も増大する。電力の増大は、コスト及び信頼性のような製品の特徴に悪影響を与える。コストは、例えば、大型の電源及びファンを必要とすることによって増大する。信頼性は、高温のコンポーネントのポテンシャルによって損なわれる。電力の増大は、建物の冷却、空間の必要性、及びバッテリ・バックアップの必要性のような高い平常時のコスト、並びに高いインストレーション及びメンテナンス・コストを増長させることによって操作環境の特徴にも悪影響を与える。一方、冷却されたネットワーク・システムのコンポーネントは、多くのポートをわずかな空間に詰め込み且つ熱的動作限界内に保つ能力、並びに、主電源が障害を生じた時にバッテリ・バックアップ・モードで、小さくなった容量でもってオンラインを長く保つ機能を含む多くの重要な成果をもたらす。
【０００３】
ネットワーク通信のための従来の有線式の解決方法が、使用及び移動の容易な無線装置に移行しつつある。無線装置は今や数多くあり、アナログ及びディジタル携帯電話器、パーソナル・ディジタル・アシスタント（ＰＤＡ）、ラップトップ、サブノートブック、電子ブック等を通して今後も増加し続けるであろう。これらの装置のほとんどは今や通信を行い、セルラ、ディジタル／ＰＣＳ、８０２.１１、Bluetooth（商標）等のような無線テクノロジを使用して通信を行うであろう。今や又は近い将来、これらの装置のほとんどにおいて、インターネット・アクセスが可能にされるであろう。低電力ハードウェア統合における改良が可能になるような速さで、ウェブ・ブラウジング及びインスタント・メッセージングのような新しいデータ集中型フィーチャが加えられつつある。今や、現在の強力なルーティング装置において使用されているネットワーク・プロセッサ（ＮＰ）のようなネットワーク・システム・コンポーネントは、そのテクノロジが低電力の応用のために適切に設計される場合、将来、小型のモバイル装置において使用されるかもしれない。
【０００４】
装置が使用する電力の量は、受動的使用（待機モードにおけるセルラ電話又はスリープ・モードにおけるラップトップ・コンピュータのような）及び能動的使用（セルラ電話においてコールを行うこと又はラップトップ・コンピュータにおいてアプリケーションを稼動させることのような）の間で大きく変化することが多い。省電力フィーチャは、待機又はスリープのような種々の操作モードを使用して装置が電力を節約することを可能にする。これらのタイプの電力モードでは、ほとんどの装置が状態を保存することによって電力をオフにすることが可能になり、装置の部品がその装置の他の部品によるウェークアップを可能にすることによって電力をオフにすることができ、或いは、その装置の部品が低い使用頻度の期間中低い電力で稼動されることが可能である。これらの省電力動作モードは、装置のバッテリの寿命を大きく増加させ、装置が待機状態にあることが可能な時間量又は装置が積極的に使用されることが可能な時間量を大きく増加させるために使用可能である。
【０００５】
バッテリ給電の無線装置の漸増的にネットワーク化されるという性質（マルチメディアに対する高い帯域幅の要求及びインターネット・サポート及びアプリケーションの追加）のために、アプリケーションを自由に稼動させる汎用プロセッサ（ＧＰＰ）を残すと共にこれらの装置内にネットワーキング補助機構又はネットワーク処理機能を追加する必要性が益々多くなっている。これは、電力効率のよいネットワーク・プロセッサ（ＮＰ）の必要性及びこれらのネットワーク・プロセッサの設計における節電技術の使用の必要性を駆りたてている。
【０００６】
電力の損失がある時の有線装置において、バッテリ・バックアップ・モードのためにこれらの同じ節電フィーチャが使用可能である。１つの例は、ボイス・オーバ・パケット（Voice over Packet）又はボイス・オーバ・ＡＴＭ（Voice over Asynchronous TransferMode）テクノロジを使用して音声回線を住宅に提供するために使用されるスモール・オフィス／ホーム・オフィス（small-office/home-office &#8211;ＳＯＨＯ）ルータであろう。米国では、このような装置は、９１１緊急サポートを確実にするために、電力障害の場合でも８時間の「対話（talk）」時間と２４時間の待機時間の電力をバッテリから供給しなければならない。
【０００７】
操作経費を低減し且つ環境にやさしいこれらのフィーチャは、有線装置においても、電力を節約するために使用可能である。更に、本発明による先進的な省電力技術の使用は、一般的な電力需要を減少させることによってテルコ・ラック（telco rack）における高密度のネットワーク・プロセッサ・アプリケーション対して熱特性も改善するであろう。遠距離通信会社は、急増加する量の音声及びデータ・トラフィックを処理するために、より高いポート密度を要求している。これらの会社は、ネットワーク設備ラックのためのフロア・スペースを必要とすることによる諸経費の増加に非常にセンシティブである。更に多くのネットワーク・トラフィック処理機能を更に小さいスペースに詰め込むことが、ネットワーク設備製造業者にとって益々重要になりつつある。従って、このネットワーク設備において使用されるネットワーク・プロセッサは、更に電力効率のよいものになる必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、ＮＰにおける種々の処理エレメントの使用率をモニタし且つ過去の使用率及び予測される使用率の関数として各エレメントの電力状態を制御するためにそのＮＰのコアに含まれるプログラム可能状態マシンを提供する。
【課題を解決するための手段】
【０００９】
本発明は、装置及び（又は）システム利用の測定履歴に基づいて処理エレメントがいつ低電力状態に設定されるべきかを決定するための、ハードウェア又はソフトウェア状態マシンによって稼動するＰＭ状態制御アルゴリズムを利用する。状態制御ロジックは、電力状態を調節する前にシステム・エレメント間の依存性を償っている。各処理エレメントは使用表示信号を使用し、その信号は、使用率レベルを測定するアルゴリズムとして使用されるカウンタに送られる。本発明は、集中型省電力（ＰＭ）制御ユニット、及び各処理エレメントがそれ自身の状態マシンを含む分散型ＰＭ方式のものに適用可能である。
【００１０】
本発明は、更に、受容可能なレベルのパフォーマンスを維持すると共にネットワーク・プロセッサにおける電力消費量を制御するシステム及び方法に関する。その方法は、ＮＰコアに付加されるプログラム可能状態マシンを使用する。状態マシンは、ＮＰにおける種々の処理エレメントの利用をモニタし、過去の及び予測される将来の使用率の関数として各エレメントの電力状態を制御することができる。更に、そのシステムは、処理エレメントが、例えば、その処理エレメントにおけるそれ以前の使用率に基づいて又は処理エレメント間の相互依存性に基づいて、いつ低電力状態に設定されるべきであるかを決定する機能を含み得る。刻時された処理エレメントに対して、その刻時された処理エレメントの各々と関連したパフォーマンス回復時間は、それぞれの処理エレメントの電力状態を制御するステップに要因として入れられる。そのシステムは、更に、処理エレメント回復時間を償うためのスムージング・ステップも含み得る。ネットワーク・プロセッサの実際のパフォーマンス及び使用率に応答して、ゲイン係数（gain factor）が調節され得る。
【００１１】
本発明は、複数の処理エレメントから成るシステムの電力消費量を管理するためのコンピュータ可読媒体に関する。その媒体は、システムにおける各エレメントがシステム使用率に関する履歴パターンに基づいていつ稼動されるべきであるかを決定する。それは、エレメント相互依存性を各エレメントの電力消費要件の要因に入れ、各処理エレメントの使用率レベルを記録する。
【発明を実施するための最良の形態】
【００１２】
ＮＰ複合システムにおける半導体チップに、ネットワーク・プロセッサが組み込まれる。その複合システムは、ＤＲＡＭ及びＳＲＡＭストレージ装置及びデータ・ストレージを含むＮＰのためのオフ・チップ・ストレージを含む。それは、１０／１００Ｍｂｐｓ及び１Ｇｂｐｓイーサネット（登録商標）、１６Ｍｂｐｓトークン・リング、２００Ｍｂｐｓファイバ・チャネル、ＳＯＮＥＴ（同期オプティカル・ネットワーク）等のような複数の物理層装置もサポートする。
【００１３】
そのようなネットワーク・プロセッサの機能的ブロックが、「ＩＢＭ  ＰｏｗｅｒＮＰ（商標）ＮＰ４ＧＳ３ネットワーク・プロセッサ（IBM PowerNP NP4GS3 Network Processor）」と題した刊行物のページ２７−３９において更に詳しく示され、記述されている。なお、そのプロセッサの関連部分が本発明に組み込まれ、本発明の一部分を形成する。ＮＰは、いくつもの異なる処理エレメントから成る。それら処理エレメントの各々は、それ自身の特徴ある電力及びパフォーマンス曲線を有する。例えば、ＮＰは、一般に、組込み式４０５ＰｏｗｅｒＰＣのような図１及び図２に示される１つの組込み式コントロール・ポイント・プロセッサ（ＣＰＰ）を含む。ＣＰＰは、初期化、テーブル更新、及び特別なパケット処理タスクを扱う。これがＣＭＯＳ（相補型金属酸化膜半導体）装置であると仮定すると、それの電力は、モバイル・コンピューティング産業においてすでに使用されている幾つかの方法、即ち、クロック・スロットリング（clockthrottling）、クロック停止（clock stop）、及び入力電圧の減少（input voltage reduction）のような方法を使って制御可能である。これらの電力制御方法はすべてＰＭ状態マシンによって使用可能である。しかし、制御アルゴリズムは、各方法と関連したパフォーマンス回復時間、及び制御プロセッサ・パフォーマンスの減少がＮＰにおけるすべての他の処理エレメントに及ぼし得る影響を考慮しなければならない。
【００１４】
もう１つのＮＰ処理エレメントは、汎用パケット・プロセッサである。一般に、ＮＰは、マルチプロセシング方式においてそれらパケット・プロセッサにパケットを分散することによってＮＰのパフォーマンスを上昇させる手段として数ダース又は数百のプロセッサを含むであろう。これらのプロセッサの各々は、それと関連した入力キューを有し、それによって、そのキューへのパケットの到達率を調べることにより、パケット・プロセッサの使用率が決定され得る。ＮＰにおけるパケット・ディスパッチ・ユニットは、すべてのパケット・プロセッサにまたがってパケット・ワークロードを均等に分散する。従って、１つ又は数個のプロセッサの利用を測定することによって、すべてのパケット・プロセッサの集合的な使用率が近似され得る。更に、それらのパケット・プロセッサが同じ機能、即ち、同種のものであると仮定すると、それらは、単一のエンティティとして扱われ、それらの電力消費量の合計が、個々のプロセッサを始動及び停止させることによって調整される。計算された使用率閾値は、更なるパケット・プロセッサがいつ始動されなければならないか、又はパケット・プロセッサがいつ必要とされなくなり、停止可能となるときかを決定するためにＰＭ状態マシン・アルゴリズムによって使用され得る。すべてのパケット・プロセッサが同種のものであるＮＰ設計の場合に対して、同じタイプのパケット・プロセッサのグループを単一の処理エンティティとして同じ方法で扱うことが可能である。
【００１５】
パケット・メモリ・コントロール・ユニット、スケジューリング・キュー、ＦＩＦＯ装置、及びイングレス／エグレス（Ingress/Egress）ポート・インターフェースのようなＮＰ内の他の連続的に刻時された同種のエレメントが同じ方法で制御され得る。
【００１６】
自由に稼動するクロックを有するＭＡＣ（media accesscontrol）ポート・インターフェースのようなＮＰに対する或る外部インターフェースは、一般に、使用中でないときにシャットダウンされる。ＰＭ状態マシンは、クロックをシャットダウンすることができるし、未使用のポートに対するドライバを使用不可にすることができる。それは、ポートが使用可能にされなければならないこと及びインターフェース・クロックが始動されなければならないことを表す所定のインターフェース信号をモニタすることもできる。
【００１７】
ＮＰ内のすべての刻時された処理エレメントは、低電力状態から高電力状態又は全電力状態に切り替えるために必要な時間を指定するそれらに関連した回復時間を有する。各タイプの処理エレメントに対する回復時間は、負のパフォーマンス・インパクトを最小にするよう使用率の変化（制御機能の第１派生）に対する反応時間を調節するためにＰＭ状態マシンによって使用されたアルゴリズムに要素として入れられなければならない。処理エレメント回復時間を償うために制御アルゴリズムにおいてスムージング機能が使用されなければならない。ＰＭ状態マシンは、ＮＰ処理エレメントがいつアクセスされるかを検出し、この情報を使用して現在のアクセス頻度を計算する。現在のアクセス頻度又は使用率値が、以前に計算され且つ連続的に更新された閾値頻度に比較される。その閾値頻度は、アクセス・パターン、例えば、一様な又は散発的なアクセスを表し、調節可能なゲイン係数を含む方程式から計算される。処理エレメントのオペレーション中、現在のアクセス頻度が閾値頻度以下になったとき、それは適正な節電モードに入る。ＰＭ状態マシンのアルゴリズムは、ワークロード状況の変化に対し動的に適応し、それによって、パフォーマンスを低下させることなく更にエネルギを節約すことができる。これは、ＮＰの実際のパフォーマンス／使用率の追跡に応答してゲイン係数を調節し、それによって処理エレメントの閾値頻度を変更することにより達成される。同じＰＭ状態マシンが、更に、節電モード出るべき時、即ち、処理エレメントを再始動するべき時も決定する。このアルゴリズムの詳細は、「適応性デマンド駆動の省電力機能を備えた携帯用コンピュータ（Portable Computer with Adaptive Demand-Driven Power Management）」と題した米国特許第５,９５４,８２０号において記述されている。なお、それの教示事項は本願に組み込まれる。
【００１８】
本発明は、次のようなＰＭ状態マシンを開示する。即ち、その状態マシンは、
（ａ）ネットワーク・プロセッサにおけるすべてのエレメントの電力状態を制御することができる。
（ｂ）単一のエレメントに対する任意の数の中間電力状態から選択することができる。
（ｃ）各エレメントに対する独特のエネルギ節約及び回復時間特性に基づいて各処理エレメントを個々に制御することができる。
（ｄ）ＰＭ状態を変更するとき、処理エレメント間の依存性を償うことができる。
【００１９】
Ａ．ＰＭ状態マシン
図１に示された統合省電力ユニット、即ち、ＩＰＭＵ１００は、ネットワーク・プロセッサ内のすべての処理エレメントに対して一定の時間間隔で省電力（ＰＭ）状態情報を更新するプログラム可能な状態マシンである。処理エレメントは、組込み制御プロセッサ、汎用パケット・プロセッサ、コプロセッサ、ＣＡＭＳ及び他の機能アクセラレータ、メモリ制御ユニット、キュー及びＦＩＦＯエレメント、イングレス及びエグレス・ポート・インターフェース、スイッチ・インターフェース、並びにＰＣＩのようなホスト制御バス・インターフェースを含む。各処理エレメントは、使用表示信号、１つ又はそれ以上の電力制御信号、即ち、オン、オフ、待機制御信号、並びに、他の処理エレメントへのＰＭ状態変化に基づいてそれの動作特性を変化させる制御信号をそれと関連付けている。ＩＰＭＵによって制御され得る処理エレメントのリストが、許容可能なＰＭ状態、現在のＰＭ状態、及び使用率統計のための閾値情報と共にテーブルに保持される。このテーブルは、ＰＭアクティビティ・モニタ１０６に接続されたＮＰエレメントＰＭテーブル１０４として示される。ＰＭアクティビティ・モニタ１０６は、各処理エレメントから使用率情報１１４を収集し、その情報をＰＭ状態変化アルゴリズムに送り、その結果を所定の閾値と比較して、アクティブである必要のあるパケット・プロセッサの数及びプログラム可能クロック状態を有するエレメント、即ち、制御ポイント・プロセッサに対する最適な速度／電力状態を決定する。ＰＭアクティビティ・モニタ１０６によって稼動させられるアルゴリズムを調整するために使用される調節可能なパラメータが機能パラメータ・ストア装置にストアされる。
【００２０】
ＮＰ使用率の変化のためにＰＭ状態変化が保証される場合、ＮＰエレメントＰＭ状態コントローラ１１０が作動され、そのロジックが適切な電力制御信号１１６を正しい処理エレメントにセットする。ＰＭ状態コントローラ１１０は、ＰＭアクティビティ・モニタ１０６によって指定されるアクションに従って、１つ又はそれ以上のＮＰ処理エレメントに対してどの制御信号を活性化すべきであるかに関する情報を含むＮＰエレメント状態制御テーブル１１２を使用する。或る処理エレメントに対するＰＭ状態変化が、他の処理エレメントのオペレーションに影響を与えることがある。例えば、ＮＰディスパッチャ・ユニット１１８は、どのパケット・プロセッサが活性化されるかによって影響され、パケット・プロセッサは、３つのサーチ・エンジンの電力状態によって影響される。ＰＭ状態コントローラ１１０におけるロジックは、各ＰＭアクションに対してＮＰの動作上の整合性を維持する。
【００２１】
Ｂ．オペレーション
図２は、ＮＰ処理エレメントからの使用率データを使用してＮＰ省電力状態情報を生成するためのプロセスを示す。これらの処理エレメントは、「IBM PowerNP NP4GS3 Network Processor」と題した前述のドキュメントにおける説明に従って１つの典型的なＮＰにおいて配列される。ＮＰ省電力に関する直接的な例は、ユニット単位のパケット・アクティビティに基づいて、ＮＰにおけるアクティブ・パケット・プロセッサの制御によって示すことが可能である。
【００２２】
ＰＭアクティビティ・モニタ１０６（図１）が、ＮＰエレメントＰＭテーブル１０４（図１）においてリストされた各処理エレメントに関する現在の使用率値をステップ２０２において定期的に取得する。パケット・プロセッサに関するその使用率値は、タイム・ウィンドウを選択すること及びそのタイム・ウィンドウ内で生じた入力キュー・アクセスの数をカウントすることによって決定される。次に、ＰＭアクティビティ・モニタが、過去及び新たなワークロード統計を使用してＰＭアルゴリズムを稼動させることにより（ステップ２０８）次のＰＭアクションを決定する（ステップ２０４）。次に、ＮＰエレメントＰＭ状態テーブルが現在の値でもって更新される（ステップ２０６）。次に、ステップ２１０において、新たなインデックス・ポインタがＮＰエレメント省電力状態コントローラに送られる。ステップ２１２において、そのインデックス・ポインタを使用して、新たなエントリがＮＰエレメント状態制御テーブルにロードされる。次に、その更新されたテーブルが更新されたステータス・モード制御信号を設定し（ステップ２１４）、それに続いて、更新された電力モード制御信号を設定する（ステップ２１６）。そこで、ＰＭテーブルにおける次の処理エレメントが選択され（ステップ２１８）、それの使用率値が得られ（ステップ２０２）、このように、ＮＰ省電力状態の情報を更新するためにそのサイクル全体が繰り返される。
【００２３】
図３は、図２におけるポーリング・プロセスのフロー・チャートを示す。使用率データを収集するための方法は割り込み駆動されることもあり得る。そのポーリング・プロセスは、各パケット・プロセッサに対して、又はＮＰにおいて監視されつつある他の処理エレメントに対して繰り返され、或いは複製される。ステップ３０２において、インターバル・カウンタがロードされ、そして始動される。処理エレメントがアクティブである限り、それのステータスは絶えずチェックされる。それがチェックされるときにはいつも、それはデクリメント・タイマ３０４から１のカウントが減じられるようにする。タイマがゼロに達してない場合、ステップ３１６において、プロセッサ・エレメントのステータスがチェックされる。ステップ３１８において、そのエレメントがアクティブであると決定される場合、ステップ３２４において、アクティビティ・カウンタが１だけインクリメントされる。そのインクリメントされた値が再びステップ３０４におけるデクリメント・タイマに経路指定され、そこで、そのサイクルが繰り返される。しかし、ステップ３１８においてプロセッサ・エレメントがアクティブでない場合、ステップ３０４においてデクリメント・タイマにおける値が再び減じられる。デクリメント・タイマがゼロに達するとき、ステップ３１０において、新たなアクティビティ・カウンタ値がリング・バッファにおける次のロケーションにストアされる。次に、ステップ３１２において、アクティビティ・カウンタがリセットされ、次の処理エレメントに備えてインターバル・タイマが再ロードされ、そして再始動される。
【００２４】
図４は、図３のプロセスを実施する場合に使用するための構成を示す。カウンタ４０２、タイマ４０４、及びリング・バッファ・エレメント４０６がハードウェア又はソフトウェアとして実装され得る。入力キューから単一のパケット・プロセッサ・アクセスが存在するときにはいつも、アクセス信号４０８がカウンタ４０２に送られる。それらのアクセスは絶えずカウントされ、カウンタにおける使用率値が、リング・バッファ４０６におけるストレージ・ロケーションに接続されたアクセス密度信号４１０として出力される。タイマからの「ウィンドウ終わり（end-of-window）」信号４１２は、いつ使用率値がリング・バッファにおける次のストレージ・ロケーションに書き込まれるか及びいつカウンタがリセットされるかを決定する。リング・バッファ４０６は、そのバッファにおけるストレージ・ロケーションの数に等しいパケット・プロセッサ使用率値の稼動履歴をストアする。その値の最小数は２である。しかし、大きい数の使用率値は、使用率閾値に対する高い統計精度を保証する。タイマ及びカウンタからの入力に加えて、リング・バッファ４０６は、エントリをクリアするための入力４１４及び「読み取り」入力４１６を有する。それは出力４１８も有する。この出力に関しては、図５に関連して更に十分に説明される。図３及び図４によって示されたアクティビティ測定アルゴリズムは、そのエレメントが、それがアクティブである時及びそれがアクティブでない時を表す少なくとも１つのステータス信号を有する限り、すべての処理エレメントに対する使用率値をストアするために使用可能である。図５に示される閾値計算アルゴリズムは、個々の処理エレメントに対する図３におけるアルゴリズムによって収集されたアクティビティ値を操作する。
【００２５】
ＰＭアクティビティ・モニタ１０６（図１）は、ＰＭテーブルにおいてリストされた各処理エレメントに対する使用率値、及び各電力モードに対するリング・バッファ４０６（図４）へのリンクを維持する。そのリング・バッファは、過去の使用率値を含んでおり、それは、特定の電力モードに対する使用率閾値を更新するために使用される。アクティビティ・モニタ１０６は、使用率値を取得し（図２のステップ２０２）、現在の使用率値 ut と使用率閾値 tf とを比較して次のＰＭアクションを決定する（図２のステップ２０４）。ＰＭアクションは、いまサンプルされたＰＭテーブルにおける処理エレメントに対応し得るし、或いは、対応しないこともあり得る。パケット・プロセッサに対する省電力の場合、使用率閾値がクロスする条件は、他のパケット・プロセッサが高いクロス又は低いクロスに従ってオンライン又はオフラインでもたらされなければならないということを表す。使用率閾値よりも下でのクロスは、１つ又はそれ以上のパケット・プロセッサがアイドルするよりもむしろオフラインにされなければならないということを表す。使用率よりも上でのクロスは、１つ又はそれ以上のパケット・プロセッサがオンラインにされなければならないということを表す。特定の電力モードに対する使用率閾値のクロスに基づいてどのパケット・プロセッサが始動又は停止されるかに関する定義は、ＮＰエレメントＰＭ状態コントローラ１１０（図１）のロジックに含まれる。
【００２６】
使用率値からパケット・プロセッサへの定期的アクセスを検出することは可能である。従って、節電モードに入ること及び出ることは、定期的アクセスの開始及び終了を予測して選択可能である。定期的アクセスの一例は、ネットワーク・トラフィックの長いバーストがネットワーク・ポートを介してＮＰに入ることである。パケットが到着し、そのポートの最大帯域幅に対応した正規のインターバルで処理され、パケット・プロセッサ全体にわたるパケットの分配がＮＰパケット・ディスパッチャ・ユニットによって処理される。節電モードを抜け出し、定期的アクセスの開始直前に別のパケット・プロセッサを始動する能力は、トラフィック・バーストの開始時におけるパケット処理待ち時間を少なくすることによってＮＰパフォーマンスを改善する。１つ又はそれ以上のパケット・プロセッサを定期的アクセスの終了後に停止させることによって節電モードに入らせるという能力は、可能な最短の遅延で節電モードに入るので、エネルギの節約を増大させる。
【００２７】
１つの実施例では、コンポーネント・アクセス・パターンが２つのカテゴリ、即ち、一律的アクセス・パターン及び散発的アクセス・パターンに属するものと仮定する。一律的アクセス・パターンは、アクセス頻度の設定が統計的に十分に定義されるものとして定義される。例えば、アクセス頻度の平均及び標準偏差が計算され得る。標準偏差が平均の数分の１である場合、アクセス頻度は、十分に定義されたと考えられる。そうでない場合、アクセス頻度は散発的なものであると考えられ、即ち、平均及び標準偏差によって十分には定義されないと考えられる。一律的アクセス・パターンでは、そのアクセス・パターンは、観察されたアクセス頻度が平均・マイナス・標準偏差の倍数よりも下である場合、終了したものとみなされる。これは、観察されたアクセス頻度がその観察されたアクセス・パターンに属する確率を選択することに等価である。また、アクセス・パターンの終了を推定するものとして、観察された最小アクセス頻度の数分の１を使用することも可能である。基礎となる原理は、アクセス・パターンを特徴付けるために最近のアクセス頻度を使用すること、そしてこのパターンから閾値頻度を決定することである。アクセス頻度がこの閾値頻度にクロスするとき、そのアクセス・パターンが終わった可能性が高いものと仮定される。
【００２８】
図５は、節電モードに対する使用率閾値 tf を計算しそして調節するためのプロセスを示すフロー・チャートである。現在の使用率閾値tf がステップ５０２において得られる。ごく最近の使用率値 ut が、図４におけるリング・バッファ４０６の出力４１８として得られる。ステップ５０４において、リング・バッファにおける数値が最小の閾値と比較される。その数値が最小の閾値を越えない場合、しかも現在の使用率値がサンプルのタイム・ウィンドウtw の半分よりも大きいことがステップ５０８においてわかった場合、そのプロセスのストア／修正ブランチがステップ５１０においてリング・バッファにおける現在の使用率値をストアするように継続する。使用率値が閾値の半分tf/2 を越えない場合、ステップ５２０において、リング・バッファにおける最後にストアされた使用率値が修正される。ステップ５２２において、アルゴリズムは図１におけるアクティビティ・モニタ１０６に戻り、そのシーケンスにおける次の処理エレメント・モード対するもう１つの閾値tf をフェッチする。このアルゴリズムは、図１におけるＮＰエレメントＰＭテーブル１０４にリストされたすべての処理エレメントに対するすべての閾値をチェック及び更新するために使用される。
【００２９】
ステップ５０４において、リング・バッファにおける使用率値の数が最小の閾値を越えることが決定された場合、ステップ５０６において、現在の使用率値 ut が使用率閾値 tf に比較される。ut>tf である場合、使用率のピークは未だ到達されてない。新しい使用率閾値を計算する必要はなく、ステップ５１２において、スロープ・フラッグが、それをクリアするためにゼロにセットされる。リング・バッファが十分な数の使用率値を有し、新しい使用率のピークがut>tf から ut<=tf へのスロープの変化によって表されることがわかった場合、ステップ５１６において、新しい閾値頻度 tf が計算される。
【００３０】
ブロック５１８ａにおいて、アルゴリズムがパケット・プロセッサ・アクティビティの増大又はアクティビティの低下をサーチしようとしているかどうかを表すために、ダウン・スロープ・フラッグが１にセットされる。以前にサンプルされた使用率値が使用率閾値よりも大きかった後の使用率閾値よりも低い使用率値の最初の発生時にのみ、新たな使用率閾値が計算される。この状態は、パケット・プロセッサ使用率に対する新たなローカル最大値が見つかったことを表す。新たな使用率閾値が計算された直後に、ＮＰアクティビティが新たなピークからの下向きスロープ上にあることを表すフラッグがセットされる（ステップ５１８）。フラッグは、その後の使用率値が使用率閾値よりも小さいか又はそれに等しい限り、１にセットされたままである。フラッグがセットされている限り使用率閾値は一定のままであり、パケット・プロセッサ使用率における下向きスロープを表す。サンプルされた使用率値が比較されそして使用率閾値よりも大きいことがわかると直ちに、アルゴリズムは、アクティビティが上向きスロープ上にあって新たな最大値をサーチし始めるものと仮定する。この方法では、アルゴリズムは、いつもプロセッサ・エレメントに対する新たなピークの使用率閾値をサーチしようとする。
【００３１】
利用効率閾値は、リング・バッファに含まれた使用率値の平均及び標準偏差に対する簡単な計算を使用して計算される。リング・バッファに含まれた最大値及び最小値だけがそれらの計算において使用される。２つの異なる使用率閾値 t1 及び t2 を計算するために２つの公式が使用される。１つの公式は、リング・バッファにおける最大使用率値及び最小使用率値の間の差が小さく、パケット・プロセッサ・アクティビティが一様であることを表すとき、大きな値を生成するのに有用である。別の公式は、最大使用率値及び最小使用率値の間に大きな差があり、散発的なパケット・プロセッサ・アクティビティを表すとき、大きい値を計算するのに有用である。２つの計算された値のうちの大きい方が新たな使用率閾値tf になる。アルゴリズムの感度を制御するための２つのゲイン定数 g1 及び g2 がそれらの公式において使用される。いずれのゲイン定数の値における増加の結果、対応する公式に対する計算された低い使用率閾値が生じる。この方法では、閾値アルゴリズムは、省電力作用を調整するように調節可能である。なお、t1、t2、及びtf は次のように定義される。
t1＝(最大ut＋最小ut)/2−g1*(最大ut−最小ut)
t2＝最小ut/g2
tf＝最大(t1,t2)
【００３２】
要するに、モニタは、各ＮＰエレメントのためにそれが時間をかけて収集してきたアクティブ状態／アイドル状態の統計を採用し、使用率アルゴリズムを通してそれらを稼動することによって、ＮＰシステム全体に対する電力及びパフォーマンス特性を最適化する最良のＰＭ状態を各エレメントに対して決定する。使用率閾値は、パケット処理アクティビティが散発的であるときに低い値になる傾向がある。なお、この低い値は、ＮＰを高パフォーマンスのオペレーション・モードにする傾向がある。使用率閾値は、パケット処理アクティビティが一律的であるとき、増加するか又は一定のままである傾向がある。ＮＰのパフォーマンス／電力モードは、パケット処理アクティビティが一律的である間、それの最も適した設定において安定する傾向がある。モニタによって稼動されるアルゴリズムは、機能パラメータ・ストアに保管されたプログラム可能なゲイン定数を通して調整可能である。この方法では、ＮＰシステムは、最大パフォーマンスから最大節電までの範囲の省電力オペレーションに対してプログラム可能である。モニタによって稼動される使用率閾値アルゴリズムは、すべての処理エレメント及びすべての電力モードに対して種々の閾値を維持している。
【００３３】
図６は、単一の処理エレメントに対する最も低い可能な電力モードを見つけるためにＰＭアクティビティ・モニタによって使用される論理フロー６０２を示す。そのプロセスは、処理エレメントに対して１つ又はそれ以上の節電モードで働くことができ、各モードに対して計算された個別の閾値があるものと仮定する。ステップ６０４において、すべての電力モード（最後のモードは lastm である）に対する閾値頻度が１にセットされる。次に、プロセスは、ステップ６０６において、最短のウィンドウ・タイマがタイム・アウトするのを待つ。各節電モードは独特のウィンドウ・タイムを有するものと仮定する。最低電力モード（最高節電）maxmでもって開始すると（ステップ６０８）、ロジックは、現在のアクティビティ ut を得て（ステップ６１０）、それをその特定の節電モードに対するアクティビティ閾値tf(m) に比較する（ステップ６１２）。現在のアクティビティが閾値に等しいか又は閾値よりも大きい場合、ステップ６１４において、現在のアクティビティ値がストアされ、その電力モードに対する新たな閾値が計算され、そして次の最良の電力モードがチェックされる（ステップ６１６）。その処理エレメントにとって使用可能なそれ以上の電力モードが存在しない場合、プロセスはパス６１７に沿って始めに戻り、再び最低電力モードに関してチェックする。更なる電力モードが存在する場合、ステップ６１８において、次に低いモードが選択され、現在のアクティビティが閾値に比較される。
【００３４】
現在のアクティビティが閾値よりも小さい（ut<tf(m)）場合、アクション・コードがパス６１３に沿ってＮＰエレメントＰＭ状態コントローラに送られ、ステップ６２０において、新たな且つ最高のエネルギ節電状態をプログラムさせる。ＮＰエレメントＰＭ状態コントローラは、個々のＮＰ処理エレメント、例えば、パケット・プロセッサに対する新たなＰＭ状態をプログラムするように命令するＰＭアクションをモニタから受け取る。種々なタイプのＮＰエレメントが、オン及びオフ以外の種々のＰＭ状態遷移要件、即ち、オン&#10141;待機&#10141;オフ、又はオンＨ&#10141;オンＬ&#10141;オフを持ち得る。これらの要件は、各ＰＭ状態変化に対する動的な使用率閾値及び各処理エレメントの現在の電力モードと共に、ＮＰエレメントＰＭテーブルにおいて指定される。現在のモードが最大モードである場合、ステップ６２２は、プロセスが終了する（ステップ６２６）ことを示す。テストのために使用可能な節電モードが依然として存在する場合、その入れられたモードよりも小さい又はそれに等しいすべての節電モードが最早考察されないことを示すために、最後のモードがモード＋１に更新される。しかる後、プロセスは再びステップ６０６に入れられる。
【００３５】
図７は、パケット・プロセッサへの電力制御信号を活性化又は非活性化するためにＰＭ状態コントローラによって使用されるプロセスを示す。ＰＭモニタから受け取った各アクション・インデックスＩＤＸ７０４は、ＮＰエレメント状態制御テーブル７０２におけるエントリに対応する。各テーブル・エントリは、どの電力モード信号ＰＭｘ７０６及びステータス・モード信号ＳＭｘ７０８が特定のＰＭアクションに対して活性化されるかを識別する。ステップ７１６において、ＰＭ状態コントローラは、テーブル７０２から得られた電力モード値及びステータス・モード値をロードする。電力モード信号が１つ又はそれ以上のパケット・プロセッサを新たな電力状態に設定し、ステータス・モード信号が、その新たな電力モードによって影響される、ステップ７１８におけるディスパッチ・ユニットのような他のワーキング処理エレメントの動作特性を変更する（ステップ７２４）。ＰＭ制御プロセスは、パケット・プロセッサの電力状態を設定する前に処理エレメントのアイドル状態をチェックする（ステップ７２０）ために待機ループ７２２を含む。ＰＭ状態コントローラは、どのパケット・プロセッサがオンライン又はオフラインであるかを表すために、ステータス・モード信号を使用してＮＰディスパッチ・ユニットに信号する（ステップ７１８）。ディスパッチ・ユニットは、ＰＭ状態コントローラが新たな電力モードを設定している間、新たなパケットがパケット・プロセッサにディスパッチされないようにパケット・プロセッサがプログラムされる前に更新される。
【００３６】
図８は、本発明に従ってネットワーク・プロセッサの電力消費量を管理する種々なステップを実行するためのソフトウェア実装体を含むフロッピ・ディスク８００の形態をしたコンピュータ可読媒体を示す。
【００３７】
本発明をその特定の実施例と関連して説明したけれども、本発明の範囲内にあると思われる多くの改良、修正、及び変更が存在する。従って、本発明は、特許請求の範囲における精神及びその範囲内にあるこのような改良、修正、及び変更すべてを包含することを意図するものである。
【００３８】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３９】
（１）受容可能なレベルのパフォーマンスを維持しながらネットワーク・プロセッサにおける電力消費量を制御する方法であって、ＮＰコアに組み込まれ且つ該ＮＰコアにおける種々の処理エレメントの使用率をモニタし得るプログラム可能な状態マシンを使用し、各エレメントの電力状態を過去の使用率及び予測される使用率の関数として制御することを含む方法。
（２）ネットワーク・プロセッサにおける複数の処理エレメントから成るシステムの電力消費量を管理するためのプログラムを格納したコンピュータ可読媒体であって、前記プログラムはコンピュータを
ａ．前記システムにおける各エレメントがいつ稼動されなければならないかをシステム使用率の履歴パターンに基づいて決定し、
ｂ．エレメントの相互依存性を各エレメントの消費電力量に要因として含め、
ｃ．各処理エレメントの使用率レベルを記録する、
ように動作させる、コンピュータ可読媒体。
（３）ネットワーク・プロセッサにおける複数の処理エレメントの電力状態を制御する方法であって、
ａ．各処理エレメントに使用表示信号を供給するステップと、
ｂ．前記使用表示信号を使用して前記処理エレメントの各々の使用率をモニタするステップと、
ｃ．各処理エレメントの電力状態を、それの過去の使用率及び予測される将来の使用率に基づいて制御するステップと、
を含む、方法。
（４）前記ステップｃは、処理エレメントがいつ低電力状態に設定されるべきであるかを決定するステップを含む、上記（３）に記載の方法。
（５）前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定するステップは、前記処理エレメントの以前の使用率に基づくものである、上記（４）に記載の方法。
（６）前記処理エレメントはパケット・プロセッサである、上記（５）に記載の方法。
（７）前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定するステップは、処理エレメント間の相互依存性に基づくものである、上記（５）に記載の方法。
（８）前記相互依存性は、ディスパッチ・ユニットと少なくとも１つのパケット・プロセッサとの間の相互依存性である、上記（７）に記載の方法。
（９）前記処理エレメントの少なくとも幾つかが刻時され、
前記刻時された各処理エレメントと関連したパフォーマンス回復時間が前記各処理エレメントの電力状態を制御するステップに要因として含められる、
上記（３）に記載の方法。
（１０）更に、前記刻時された処理エレメントの前記パフォーマンス回復時間を償うためのスムージング・ステップを含む、上記（９）に記載の方法。
（１１）更に、前記ネットワーク・プロセッサの実際のパフォーマンス及び使用率に応答してゲイン係数を調節するステップを含む、上記（３）に記載の方法。
（１２）前記使用率が供給される入力と前記処理エレメントに対する使用率閾値に比較される出力結果とを有するアルゴリズムを使用するステップを含む、上記（９）に記載の方法。
（１３）更に、電力状態の変化が生じたことを１つ又はそれ以上の処理エレメントに表示するインディケータとしてステータス・モード制御信号を使用することを含む、上記（１２）に記載の方法。
（１４）前記電力状態の変化に応答して、前記処置エレメントの少なくとも１つがそれのオペレーションを修正する、上記（１３）に記載の方法。
（１５）ネットワーク・プロセッサの使用の変化に応答して、処理エレメントの電力制御の設定を変更するために電力制御信号を使用することを含む、上記（１２）に記載の方法。
（１６）ネットワーク・プロセッサ・における複数の処理エレメントの電力状態を管理するシステムであって、
ａ．各処理エレメントにそれ自身の使用表示信号及び電力制御信号を供給するための装置と、
ｂ．前記使用表示信号を使用して、前記ネットワーク・プロセッサにおける処理エレメントの使用率をモニタするための装置と、
ｃ．各処理エレメントの電力状態を、それの過去の使用率及び予測される将来の使用率に基づいて制御するための装置と、
を含む、システム。
（１７）前記電力状態を制御するための装置は、処理エレメントがいつ低電力状態に設定されるべきであるかを決定する機能を含む、上記（１６）に記載のシステム。
（１８）前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定する機能を含む装置は、前記処理エレメントの前の使用率に基づいた情報を利用する、上記（１７）に記載のシステム。
（１９）前記処理エレメントがいつ低電力状態に設定されるべきであるかを決定する機能を含む装置は、処理エレメント間の相互依存性に基づいた情報を使用する、上記（１８）に記載のシステム。
（２０）前記相互依存性は、ディスパッチ・ユニットと少なくとも１つのパケット・プロセッサとの間の相互依存性である、上記（１９）に記載のシステム。
（２１）前記処理エレメントの少なくとも幾つかが刻時され、
前記刻時された各処理エレメントと関連したパフォーマンス回復時間が前記各処理エレメントの電力状態を制御するステップに要因として含められる、
上記（１６）に記載のシステム。
（２２）更に、前記刻時された処理エレメントの前記パフォーマンス回復時間を償うためのスムージング・ステップを実施する機能を有する、上記（２１）に記載のシステム。
（２３）更に、前記ネットワーク・プロセッサの実際のパフォーマンス及び使用率に応答してゲイン係数を調節することができる、上記（１６）に記載のシステム。
（２４）前記使用率が供給される入力と前記処理エレメントに対する使用率閾値に比較される出力結果とを有するアルゴリズムを含む、上記（１９）に記載のシステム。
（２５）ネットワーク・プロセッサの使用の変化に応答して、処理エレメントの電力制御の設定を変更するように働く電力制御信号を含む、上記（２４）に記載のシステム。
（２６）更に、前記電力状態の変化に応答して、処置エレメントのオペレーションを修正する能力を有する、上記（１７）に記載のシステム。
【図面の簡単な説明】
【００４０】
【図１】統合省電力ユニットのブロック図である。
【図２】ＮＰ省電力状態情報の生成を示すフロー・チャートである。
【図３】ネットワーク・プロセッサにおける処理エレメントの使用率をサンプルするためのプロセスを示すフロー・チャートである。
【図４】アクセスの頻度に基づいてコンポーネントの電力モードを設定するためのシステム構成を示すブロック図である。
【図５】リング・バッファにストアされた前のアクセス頻度を使用する閾値頻度の計算を示すフロー・チャートである。
【図６】いつ節電モードに入るべきかを決定するための、アクセス頻度の計算及び閾値頻度との比較を示すフロー・チャートである。
【図７】パケット・プロセッサへの電力制御信号を活性化及び非活性化するための、ＰＭ状態コントローラの使用を示すフロー・チャートである。
【図８】本発明の電力消費管理媒体を示す磁気ディスクである。
【図１】
2004246894.tif 000003
【図２】
2004246894.tif 000004
【図３】
2004246894.tif 000005
【図４】
2004246894.tif 000006
【図５】
2004246894.tif 000007
【図６】
2004246894.tif 000008
【図７】
2004246894.tif 000009
【図８】
2004246894.tif 000010