運営:アスタミューゼ株式会社
  • ポートフォリオ機能


追加

関連審決 不服2014-22371
元本PDF 裁判所収録の全文PDFを見る pdf
事件 平成 28年 (行ケ) 10023号 審決取消請求事件

原告 キングライトホールディングス インコーポレイテッド
訴訟代理人弁理士 杉村憲司 齋藤恭一 鈴木俊樹
被告特許庁長官
指定代理人高瀬勤 山澤宏 相崎裕恒 田中敬規
裁判所 知的財産高等裁判所
判決言渡日 2016/12/26
権利種別 特許権
訴訟類型 行政訴訟
主文 1 特許庁が不服2014−22371号事件について平成27年9月7日にした審決を取り消す。
2 訴訟費用は被告の負担とする。
事実及び理由
原告の求めた裁判
主文同旨
事案の概要
本件は,特許出願に対する拒絶査定不服審判請求を不成立とした審決の取消訴訟である。争点は,@手続違背の有無,A進歩性判断(引用発明の認定,相違点の判断)の誤りの有無である。
1 特許庁における手続の経緯 原告は,名称を「インテリジェント・パワー・マネジメントを提供するための方法および装置」とする発明につき,平成11年11月4日にした国際出願(原出願。
特願2000-580071号,パリ条約に基づく優先権主張,優先日・平成10年11月4日(本願優先日),優先権主張国・米国。甲3)の分割出願として,平成25年1月31日,特許出願をし(本願。特願2013-17748号,特開2013-117981号,請求項の数42。甲3),同日に特許請求の範囲を補正する手続補正をした(請求項の数14。甲4)。しかし,同年10月11日付けで拒絶理由通知を受け(甲5),平成26年1月22日,特許請求の範囲を補正する手続補正をしたが(本件補正。甲6) 同年6月25日付けで拒絶査定を受けたので , (甲7),同年11月4日,拒絶査定不服審判請求をした(不服2014-22371号)。
特許庁は,平成27年9月7日,「本件審判の請求は,成り立たない。」との審決をし,その謄本は,同月29日,原告に送達された。
2 本願発明の要旨 本件補正後の請求項8に係る発明(以下「本願発明」という。)は,本件補正に係る平成26年1月22日付け手続補正書(甲6)に記載された,以下のとおりのものである(なお,本願の願書に最初に添付された明細書及び図面(甲3)を「本願明細書」という。。
)「 プロセッサ・ベース・システムの回路用のパワー・マネジメント方法であって, (a)回路を使用するアプリケーション・プログラムとは別に実行される命令シ ーケンスを当該回路が用い,当該回路の前記アプリケーション・プログラムのタ イプに対応する動作モードを決定し, (b)前記動作モードに応答して,第1の所定の速度で前記回路を動作させ,又 は前記第1の所定の速度より速い第2の所定の速度で前記回路を動作させるパワ ー・マネジメント方法。」 3 審決の理由の要点 (1) 引用発明の認定 特開平5-241677号公報(引用例。甲1)には,次の発明(引用発明)が記載されている。
「 コンピュータシステムの中央演算処理装置12用の電池電力を管理する方法で あって, 当該中央演算処理装置12のアプリケーションプログラムのタイプに対応する 動作モードを決定し, 前記動作モードに応答して,特定の低いクロック周波数で前記中央演算処理装 置12を動作させ,又は前記特定の低いクロック周波数より高い特定の高クロッ ク周波数で前記中央演算処理装置12を動作させる電池電力を管理する方法。」 (2) 一致点の認定 本願発明と引用発明とを対比すると,次の点で一致する。
「 プロセッサ・ベース・システムの回路用のパワー・マネジメント方法であって, 当該回路の前記アプリケーション・プログラムのタイプに対応する動作モード を決定し, 前記動作モードに応答して,第1の所定の速度で前記回路を動作させ,又は前 記第1の所定の速度より速い第2の所定の速度で前記回路を動作させるパワー・ マネジメント方法。」 (3) 相違点の認定 本願発明と引用発明とを対比すると,次の点が相違する。
本願発明の「当該回路のアプリケーション・プログラムのタイプに対応する動作モードを決定し」は, 「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンスを当該回路が用い,当該回路のアプリケーション・プログラムのタイプに対応する動作モードを決定し」とされるのに対し,引用発明の「当該回路(中央演算処理装置12)のアプリケーション・プログラム(アプリケーションプログラム)のタイプに対応する動作モードを決定し」は, 「回路(中央演算処理装置12)を使用するアプリケーション・プログラム(アプリケーションプログラム)とは別に実行される命令シーケンスを当該回路(中央演算処理装置12)が用い,当該回路(中央演算処理装置12)のアプリケーション・プログラム(アプリケーションプログラム)のタイプに対応する動作モードを決定し」とはされていない点。
(4) 相違点の判断 ア 引用例の記載によれば,引用発明の「アプリケーションプログラム」は,「中央演算処理装置12を使用するアプリケーションプログラム」である。
イ 特開平8-234876号公報(甲2)の【従来の技術】等にも示されているように,アプリケーションプログラムとは別に実行される節電プログラムな 「いし節電アプリと呼ばれる命令シーケンスをCPU(中央演算処理装置)が用いることによりCPU(中央演算処理装置)の節電を行うこと」は周知技術である。
ウ 引用発明における「当該中央演算処理装置12のアプリケーションプログラムのタイプに対応する動作モードを決定し」のステップに,前記イの周知技術を採用できない理由はないから,引用発明において,相違点に係る本願発明の構成を採用すること,すなわち,引用発明の「当該回路(中央演算処理装置12)のアプリケーション・プログラム(アプリケーションプログラム)のタイプに対応する動作モードを決定し」を「回路(中央演算処理装置12)を使用するアプリケーシ ョン・プログラム(アプリケーションプログラム)とは別に実行される命令シーケンスを当該回路(中央演算処理装置12)が用い,当該回路(中央演算処理装置12)の前記アプリケーション・プログラム(アプリケーションプログラム)のタイプに対応する動作モードを決定し」とすることは,当業者が容易に想到し得た。
エ 本願発明が奏する効果は,引用発明及び前記イの周知技術から当業者が予測する範囲内のものである。
原告主張の審決取消事由
1 取消事由1(手続違背) 拒絶査定不服審判において,拒絶査定の理由と異なる拒絶の理由で審決をする場合には,特許出願人に対し,拒絶の理由を通知し,相当の期間を指定して意見書を提出する機会を与えなければならないところ(特許法159条2項,50条),審決は,この点において手続違背があり,取り消されるべきである。
すなわち,拒絶理由通知(甲5)及び拒絶査定(甲7)では, 「アプリケーション・プログラムとは別に実行される命令シーケンス」については,何らの言及もなされておらず,この点についての容易想到性の判断も示されていない。
しかし,審決は,前記第2の3のとおり,本願発明の「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンスを当該回路が用い,当該回路の前記アプリケーション プログラムのタイプに対応する動作モードを決定し」 ・との発明特定事項を相違点として認定し,甲2により「アプリケーションプログラムとは別に実行される節電プログラムないし節電アプリと呼ばれる命令シーケンスをCPU(中央演算処理装置)が用いることによりCPU(中央演算処理装置)の節電を行うこと」は周知技術であるとし,引用発明における「当該中央演算処理装置12のアプリケーションプログラムのタイプに対応する動作モードを決定し」のステップにこれを適用して,上記相違点に係る本願発明の構成を採用することは当業者に容易であったとの判断を初めて示した。
このように,審決は,拒絶査定の理由と異なる拒絶の理由で判断しているが,審判合議体は拒絶の理由を通知しておらず,原告には,拒絶理由通知(甲5)でも拒絶査定(甲7)でも引用されていない甲2及び周知技術の認定に対する反論を述べる機会が与えられていないし,拒絶理由通知(甲5)及び拒絶査定(甲7)とは異なる相違点の認定及びこれを容易想到とする判断に対する反論を述べる機会も与えられていない。
審決が新たに認定した相違点,及び,相違点に係る構成が周知技術から容易想到であるとする判断の当否に関し,請求人である原告には,拒絶査定の理由と異なる拒絶の理由について意見書を提出する機会が与えられなかったから,本件審判手続には,特許法159条2項で準用する同法50条の規定に違反した瑕疵があり,審決は取り消されるべきである。
被告は,審決が周知技術の認定に当たり,拒絶査定で乙3を引用したところを単に甲2を引用したにすぎず,新たな理由を示したものではないと主張するが,乙3の引用に基づく拒絶査定での説示と,甲2の引用に基づく審決の認定した周知技術とは,技術内容が全く異なっている。
2 取消事由2(引用発明の認定の誤り) 審決は,引用例に前記第2の3(1)の引用発明が記載されていると認定する。
しかしながら,引用例には「アプリケーション・プログラムのタイプ」や「動作モード」についての開示はないから,審決の引用発明の認定は誤りであり,その結果,審決は,一致点を過大に認定し,相違点を看過したものである。
(1) 「アプリケーション・プログラムのタイプ」の認定の誤り 本願発明は,アプリケーション・プログラムを分類して,例えばワード・プロセッシング及びプレゼンテーションサービスを1つのタイプ,スプレッドシート・サービスを別のタイプとし,回路の動作は,このアプリケーション・プログラムのタイプに応じて(タイプに対応する動作モードに応答して),速度が設定される。
これに対して,引用例では,アプリケーション・プログラムを分類して「タイプ」ごとにクロック周波数を設定するのではなく,マイクロプロセッサの動作状態や,個々のアプリケーション・プログラムが動作する際の計算条件に従って,クロック周波数が選択されており,そもそも「アプリケーション・プログラムのタイプ」という概念が存在しない。
したがって,引用発明が「当該中央演算処理装置12のアプリケーションプログラムのタイプに対応する動作モードを決定」するという審決の認定は誤りであり,この点を一致点とした審決の認定も誤りであって,審決は,この点を相違点とすることを看過した。
(2) 「動作モード」の認定の誤り 本願発明では,回路を動作させる速度は回路の動作モードに対応しており,個々のアプリケーション・プログラムに対応するものではない。例えば,ワード・プロセッシングとプレゼンテーションは,アプリケーションが異なり,回路への負荷(すなわち,計算条件)は当然異なるが,同じ動作モードであるから,同じ速度で回路を動作させる。また,本願発明では,回路の動作モードが決定されれば,回路を動作させる速度は,計算等を必要とすることなく,所定の(すなわち,あらかじめ定められた)速度に直ちに定まる。
これに対し,引用例では,実際に個々のアプリケーションが動作する際の計算条件に従ってクロック周波数を選択しており(【0017】, )「アプリケーション・プログラムのタイプ」という概念はなく,「アプリケーション・プログラムのタイプ」に対応する「動作モード」という考え方も存在しない。また,引用例は,連続的にクロック周波数を変更し,所望のクロック周波数で動作し得るものであり,本願発明のごとく,回路の動作モードに応答して,所定の速度(あらかじめ定められたクロック周波数)の1つを選択するという技術的思想に基づいていない。
したがって,引用発明が「動作モードを決定し」「前記動作モードに応答して」 , ,中央演算処理装置12を動作させるとする審決の認定は誤りであり,動作モードに 「 応答して,第1の所定の速度で前記回路を動作させ,又は前記第1の所定の速度より速い第2の所定の速度で前記回路を動作させる」という点を一致点とした審決の認定も誤りであって,審決は,この点を相違点とすることを看過した。
3 取消事由3(相違点の判断の誤り) (1) 甲2による周知技術の認定の誤り 審決は,甲2を例示して, 「アプリケーション・プログラムとは別に実行される節電プログラムないし節電アプリと呼ばれる命令シーケンスをCPU(中央演算処理装置)が用いることによりCPU(中央演算処理装置)の節電を行うことは周知技術」と認定した。
しかしながら,本願発明において, 「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」は, 「当該回路のアプリケーション・プログラムのタイプに対応する動作モードを決定」するのに用いられるのであるから, 「別に実行される」とは,アプリケーション・プログラムと同時に独立して実行されることを意味する。これに対し,甲2の節電プログラムA21aは,印刷処理が実行されていないとき,すなわち,印刷処理プログラム20が動作していないときに実行されるのであり,印刷処理プログラム20と同時に実行されるものではないから,本願発明の「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」に該当せず,甲2には, 「アプリケーション・プログラムとは別に実行される節電プログラムないし節電アプリと呼ばれる命令シーケンス」が開示されていない。
また,甲2の節電プログラムA21aは,プリンタ装置内の図示されていない各電子回路への電力供給を抑止して,前記各電子回路の節電を行うものであり,CPU(中央演算処理装置)の節電を行うものではないから,甲2には, 「節電プログラムないし節電アプリと呼ばれる命令シーケンスをCPU(中央演算処理装置)が用いることによりCPU(中央演算処理装置)の節電を行うこと」が記載されていな い。被告は,審決が「CPU(中央演算処理装置)の節電を行う」とした点を「CPU(中央演算処理装置)を含む電子装置の節電を行う」に読み替えれば,審決の周知技術の認定に誤りはない旨主張するが,審決の認定事項を後から自由に読み替えるなどということは許されないし,甲2の電子装置(図6)の一部にCPU(中央演算処理装置)が描かれているとしても,甲2の節電対象は,CPU(中央演算処理装置)以外の電子回路であるから,甲2には,被告主張の「各電子回路への電力の供給を抑止することで『CPU(中央演算処理装置)を含む電子装置』の節電を行うこと」が記載されているともいえない。
以上のとおり,甲2には,審決認定の周知技術は記載されていないから,審決の前記認定は誤りであり,これを前提として相違点を容易想到とした審決の判断は誤りである。
なお,乙1及び乙2は,CPUにおける応用プログラムの実行状況の監視やCPUの動作周波数の制御をOS(オペレーティングシステム)が行っており, 「節電プログラムないし節電アプリと呼ばれる命令シーケンス」が節電処理を行うものではない点など,乙3は,マイクロコンピュータとは異なる回路である「クロック発生手段」の消費電力を低減させるものであって,CPU(中央演算処理装置)の消費電力を低減させることは記載されていない点において,いずれも,審決認定の周知技術である「アプリケーション・プログラムとは別に実行される節電プログラムないし節電アプリと呼ばれる命令シーケンスをCPU(中央演算処理装置)の節電を行うこと」を開示するものではないから,乙1ないし乙3の記載を参照しても,本願発明の「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンスを当該回路が用い」るとの構成を容易とすることはできない。審決は,「節電アプリと呼ばれる命令シーケンス」との記載から明らかなように,本願発明の「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」がアプリケーションプログラムであることを認定し,これを前提に判断を行っており,被告が,これにオペレーティングシステム(OS)まで含むように拡大 解釈することは,審決の論旨を変更するものであり,許されない。
「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」は,特許請求の範囲の記載からも,明確に「オペレーティング・システムとは異なるプログラム」あるいは「アプリケーション・プログラム」と解釈されるものである。
(2) 動機付けの欠如又は阻害要因 引用例は,マイクロプロセッサのクロック周波数をこれの上限および下限の間で 「連続的に変化させつつマイクロプロセッサの適正な動作を確実にする。
・・・また計算条件に応じた連続的電力管理制御を提供する。( 」【0013】)との電力管理制御をするのに対し,甲2の節電プログラムは,周波数制御を行うものではなく,電子回路への電力供給を抑止するパワーセーブ処理を行うものであるから【0014】, ( )甲2記載の技術事項を引用例記載の電力管理制御に適用しようとする動機付けはない。引用例の電池電源33に,甲2の電力供給を抑止するパワーセーブ処理が適用されると,中央演算処理装置12自体の動作が停止してしまうし,そうでないとしても,電力供給を急激に抑止すると,引用例のクロック周波数の連続的な制御が損なわれる可能性があるから,甲2の節電プログラムを引用例と組み合わせることはできず,むしろ組合せには阻害要因がある。
(3) 顕著な作用効果の看過 審決は,本願発明の効果が,引用発明から容易に想到し得た構成のものが奏するであろうと当業者が予測する範囲内のものであると判断する。
しかしながら,引用発明のクロック周波数は,実際にアプリケーションが動作する際の計算条件に従って選択されるから(【0017】,引用発明では,アプリケー )ションの計算条件を求め,クロック周波数を選択する必要がある。したがって,アプリケーションの動作状況や処理内容の把握,動作状況や処理内容に基づく計算条件の特定及び周波数決定の演算のために電力が消費されるし,計算条件の特定及び周波数決定の演算に一定の時間を要する。
これに対し,本願発明では,動作モードに応答してあらかじめ定められた動作速 度(第1の所定の速度,第2の所定の速度)が設定されるので,速度設定についての計算は不要であり,システム性能を最適化しながらシステムの省電力を容易にすることが可能である。本願発明では,アプリケーションの動作状況や処理内容の把握,計算状況の特定及び周波数決定の演算等のために電力が消費されることはないし,計算条件の特定及び周波数決定の演算に時間を要することもないから,引用発明と比較して,消費電力を抑えて,周波数決定までに時間を要しないという,当業者が予測し得ない効果を奏する。
このような相違を看過して,本願発明に進歩性を肯定する根拠となり得るような効果はないとする審決の判断は,誤りである。
被告の反論
1 取消事由1に対し 審決が本願発明の進歩性を否定した理由は, 「本願発明と引用発明の間には,審決認定のとおりの相違点があるが,当該相違点に係る構成は周知技術から容易想到である」というものであるが,この理由は,次のとおり,拒絶査定の理由と相違するものではなく,審判請求人(原告)には十分な反論の機会があったといえるから,本件審判手続には特許法159条2項で準用する同法50条の規定に違反する瑕疵はない。
(1) 審決は,本件読替後周知技術(後に定義する。)が周知技術であるというに当たって,拒絶査定において乙3を引用したところを単に甲2を引用したにすぎないのであり,新たな理由を示したものではない。甲2,乙3のみならず,乙1,乙2もこの点の周知例であって,いずれの周知例に照らしても本件読替後周知技術周知技術であることは,後記3(1)エのとおりである。当業者が有する「その発明の属する技術の分野における通常の知識」である周知技術をいずれの周知例(証拠方法)により立証するかは,特許法159条2項の「査定の理由と異なる」か否かの判断とは関係がない。審決が甲2を引用したのは, 【従来技術】の欄に「節電プログ ラムA」が「印刷処理プログラム」とは別のプログラム(別に実行される命令シーケンス)であることが端的に示されており,他の証拠に比して読みやすいからにすぎない。
(2) 審判請求に至る経緯に照らしても,審判請求人(原告)に十分な反論の機会があったから,手続違背はない。
すなわち,本願発明の「アプリケーション・プログラムとは別に実行される命令シーケンス」により節電制御(動作モードの決定)がなされる点について,拒絶理由通知書(甲5)では,当業者が適宜なし得ることであると判断され,特にコメントがされなかった。
これに対し,原告から,意見書(乙4)において,本願発明と引用発明の間に審決認定のとおりの相違点があり,この点を開示する文献が示されていない旨の主張がなされたことから,拒絶査定(甲7)において, 「乙3に示される周知慣用技術を考慮すると,意見書における原告(出願人)の主張は採用できない」として,審査官の判断の根拠が具体的に示された。乙3は, 「ソフトウェアプログラム(サブルーチンプログラム)(本願発明のアプリケーション・プログラムに対応させることが 」できる。)毎に必要とする演算処理速度が異なることに着目し,「ソフトウェアプログラムの種類と選択クロックをテーブル形式で記憶」 「システムプログラム」 し, (これはソフトウェアプログラムとは別の命令シーケンスといえる。)が該「テーブル」を参照し,CPUのクロックの発振周波数を選択することで,消費電力の削減を行ったものを記載した文献であり,周知例として適切なものである。また,拒絶査定の補足説明においては, 「このように,サブルーチンプログラム(アプリケーションプログラム)の『名称や格納アドレス番号』により『種類』(タイプ)を識別して,その『種類』 (タイプ)に対応するクロック周波数(動作モード)を選択させるように構成することは,ごく一般的に行われ得るようなことにすぎない」と説示された。
ここで,『種類』 「 (タイプ)を識別して」の主語が「サブルーチンプログラム(アプリケーションプログラム)」とは別の「システムプログラム」である旨は,自明のこ ととして説示が省略されているが,拒絶査定において乙3が提示された文脈(意見書における原告(出願人)の主張に答える文脈)と乙3の記載内容(とりわけ3頁右上欄20行〜左下欄4行の記載内容)に照らせば,この主語が(「サブルーチンプログラム(アプリケーションプログラム)」とは別の)「システムプログラム」であることは明らかである。現に,原告も,意見書の段階で問題にしていた点(相違点に係る技術(審決の周知技術)が提示された文献が開示されていない点)を,拒絶査定の説示を踏まえてなされた審判請求理由(乙5)においては全く問題としていないのであり,このことから,拒絶査定において乙3を示した趣旨が原告に伝わらなかったとは想定し難い。
以上のとおり,拒絶理由通知書,意見書,拒絶査定及び審判請求の理由からみて,乙3の開示内容とこれを踏まえた拒絶査定における乙3の引用趣旨(本願発明の「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」に対応する構成が周知技術である旨)は,審判請求の前に原告に伝わっており,審判請求段階でこの点の反論の機会が与えられていた。つまり,原告としては,審判請求の理由において,この判断や根拠を争うことは可能であったにもかかわらず,審判請求の理由では,これらを争わなかった(本願発明と乙3の技術との対比に基づく「アプリケーション・プログラムのタイプ」についての開示がない旨の主張に終始した。)のであり,このような経緯に照らせば,原告主張の点につき更なる反論の機会を与えなかったことについて手続違背はない。
2 取消事由2に対し 引用例には,本願発明にいう「アプリケーション・プログラムのタイプ」及び「動作モード」に対応する開示がされており,審決の引用発明の認定に誤りはない。
(1) 「アプリケーション・プログラムのタイプ」の認定の誤りに対し 引用例の【0012】によれば,引用発明は, 「モデムによる通信,新しい命令が入力されない待機状態,およびその他の日常的で単純な計算機能を実行する動作の 間」という状況においては,クロック周波数をより低い動作周波数へ減少させるように作用し, 「回転する3次元オブジェクトの表示を形成する,大量のデータベースの検索を実行する,などのさらに複雑な計算が要求される場合」という状況においては,クロック周波数を最大動作周波数へ増大させるように作用する。つまり,ここでは,マイクロプロセッサのクロック周波数につき「より低い動作周波数へ減少」させるように働く場合と, 「最大動作周波数へ増加させる」ように働く場合の2通りの場合を有することを前提として,この2通りの場合が, 「たとえばモデムによる通信,新しい命令が入力されない待機状態,およびその他の日常的で単純な計算機能を実行する動作の間」と「例えば回転する3次元オブジェクトの表示を形成する,大量のデータベースの検索を実行する,などのさらに複雑な計算が要求される場合」とにそれぞれ対応していることが示されている。
そして,【0017】によれば,ある実施例においては,「低いクロック周波数」と「大電力消費高クロック周波数」の間の選択は,低クロック周波数(低電力消費)を許容可能な「例えば文書処理プログラム24」か,高クロック周波数(大電力消費)を要する「回転する3次元画像の総天然色表示34を形成するなど高度な計算要求」かに従ってなされ,さらに, 【0022】によれば, 「クロック周波数の増加」が「高度な計算または論理的演算が要求される場合(例えば,キーボードから手動で起動する際または高度または高速の計算能力を必要とするアプリケーションプログラムを検出した場合)」になされ得るものである。
これらの記載を踏まえれば,引用例においては,実行されるプログラムである「アプリケーション・プログラム」が,文書プログラムのような低クロック周波数(低電力消費)を許容することができるタイプのものと,例えばデータベースへの大量検索や回転3次元画像の総天然色表示のような高度又は高速の計算能力を必要とする「アプリケーションプログラム」であり高クロック周波数(大電力消費)を要するタイプのものとに区分されていることが理解できる。
このように,引用例には,本願発明の「アプリケーション・プログラムのタイプ」 と同趣旨の「アプリケーション・プログラムのタイプ」が記載されているといえる。
なお,引用例には, 「計算条件」という文言が用いられているが,この文言は,上記した「日常的で単純な計算」 さらに複雑な計算が要求される場合」 , 「 (【0012】, )「例えば文書処理プログラム24」「回転する3次元画像の総天然色表示34を形 ,成するなど高度な計算要求」 (【0017】, )「高度な計算または論理的演算が要求される場合(例えば,キーボードから手動で起動する際または高度または高速の計算能力を必要とするアプリケーションプログラムを検出した場合)( 」【0022】)といった内容を総称的に簡潔に述べる趣旨で用いられているものであり,マイクロプ 「ロセッサの動作状態や,個々のアプリケーション・プログラムが動作する際の計算条件」という趣旨で用いられているものではない。
「マイクロプロセッサの動作状態や,個々のアプリケーション・プログラムが動作する際の計算条件」に従ってクロック周波数を選択するようにするためには,クロック周波数を選択する機能をつかさどる部分が「マイクロプロセッサの動作状態」や「個々のアプリケーション・プログラムが動作する際の計算条件」を知る何らかの手立てが必要となるが,そのような手立ては引用例には何ら記載されていない。
(2) 「動作モード」の認定の誤りに対し 引用例の【0017】のクロック周波数を「低いクロック周波数」と「大電力消費高クロック周波数」の間で選択する旨の記載, 【0013】の「特定の新しいクロック周波数」との記載, 【0018】の「所望の新しい,低い,クロック周波数」との記載は,いずれも,引用例に記載されるコンピュータシステムが, 「低いクロック周波数での動作モード」と, 「大電力消費高クロック周波数での動作モード」を有していることを前提としたものとなっている。
このことから,引用例には,本願発明の「動作モード」と同趣旨の「動作モード」が記載されているといえる。
3 取消事由3に対し (1) 甲2による周知技術の認定の誤りに対し ア 本願発明は, 「回路のアプリケーション・プログラムのタイプに対応する動作モードを決定し,決定した動作モードに応答して第1の所定の速度又はそれよりも速い第2の所定の速度で回路を動作させるようにすることで,システムの消費電力を削減できるようにしたもの」と要約することができるが,引用発明も,その範囲では,本願発明と共通する。
本願発明と引用発明の間の相違点は,その「回路のアプリケーション・プログラムのタイプに対応する動作モード」を何がどのようにして決定するかという点の相違である。具体的には,本願発明は, 「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンスを当該回路が用い」て上記「回路のアプリケーション・プログラムのタイプに対応する動作モード」を決定するものとされているのに対し,引用発明はそのようなものには特定されていない(引用例には, 「回路のアプリケーション・プログラムのタイプに対応する動作モード」を何がどのようにして決定するかに関する記載がない。)点が相違点である。
したがって,審決の相違点についての判断において論証すべき事項は, 「引用発明において,上記『回路のアプリケーション・プログラムのタイプに対応する動作モード』の決定を『回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンスを当該回路が用い』て行うようにすることが当業者にとって容易であった」という事項,換言すれば, 「引用例の図1に示されるシステムの『クロック発生回路15』のクロック周波数を,引用発明でいう『アプリケーションプログラム』とは別に実行される命令シーケンスを中央演算処理装置12が用いることによって制御するようにすることが当業者にとって容易であった」という事項である。
イ 甲2の【従来の技術】の欄には, 「各電子回路への電力の供給を抑止することで『CPU(中央演算処理装置)を含む電子装置』の節電を行うこと」は記載されているが,「CPU(中央演算処理装置)」自体の節電を行うことまでの明記はないことからすると,審決が,甲2を根拠に「CPU(中央演算処理装置)の節電 を行う」としたのはやや不正確であったかもしれないが,それを「CPU(中央演算処理装置)を含む電子装置の節電を行う」に読み替えれば,審決の周知技術の認定に誤りはないといえる。
なぜならば,甲2の【従来の技術】の欄には,「印刷処理プログラム」(これはアプリケーション・プログラムの一種といえる。)とは別に実行される,「節電プログラム」(これは命令シーケンスの一種といえる。)をCPU(中央演算処理装置)が用いることにより,CPU(中央演算処理装置)を含む電子装置の節電制御を行うことが記載されているからである。
ウ そして,その「アプリケーションプログラムとは別に実行される節電プログラムないし節電アプリと呼ばれる命令シーケンスをCPU(中央演算処理装置)が用いることによりCPU(中央演算処理装置)を含む電子装置の節電を行う」という技術が周知の技術(本件読替後周知技術)であったことと,引用例においては,図1に示される「クロック発生回路15」のクロック周波数を中央演算処理装置における処理に適した周波数に制御することが,電子装置(コンピュータシステム)の節電制御であること,引用例には,その図1に示される「クロック発生回路15」のクロック周波数を引用発明でいう「アプリケーションプログラム」とは別に実行される命令シーケンスを中央演算処理装置12が用いることによって制御するようにすることを妨げる事情が何もないこと,を併せ考えると,審決が認定した相違点の克服は,当業者にとって容易であったといえる。
エ 「CPU(中央演算処理装置)自体」の節電を行うことは,引用発明において既に実現されていることであり,本願発明と引用発明の相違点に係る事項ではないし,引用例のほか,特開平10-283057号公報(乙1),特開平8-76874号公報(乙2)等にも示されていて周知の事項ともいえるから,審決の前記不正確であった点は,審決の結論には影響しない。
また,本件読替後周知技術が周知であったことは,甲2,乙1,乙2のほか,拒絶査定で周知慣用技術を示すものとして引用された特開平3-262928号公報 (乙3)によっても裏付けられる。
オ 原告は,本願発明の「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」における「別に実行される」とは,アプリケーション・プログラムと同時に独立して実行されることを意味すると主張するが, 「別に」という文言が「同時に」という趣旨を含まないことは,文言上明らかであり,「別に実行される」という文言は「同時に独立して実行される」趣旨を含まないし,「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」は, 「当該回路の前記アプリケーション・プログラムのタイプに対応する動作モードを決定」するのに用いられるからといって, 「同時に独立して実行される」ものでなければならない理由はない。このことは, 「アプリケーション・プログラム」の起動指示を受けた段階で,当該「アプリケーション・プログラム」の実行前に, 「アプリケーション・プログラムとは別に実行される命令シーケンス」が「アプリケーション・プログラムのタイプに対応する動作モードを決定」し,その後, 「アプリケーション・プログラム」を実行する,といったことが当然に考えられることから明らかである。
カ 原告は,本願発明は,クライアント・アプリケーション44とは別に実行されるIPMアプリケーション42(オペレーティング・システムとは異なるプログラム)を用い,CPU等の処理回路がIPMプロセスを行うことを「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンスを当該回路が用い」ると記載しているとし,乙1及び乙2は,CPUにおける応用プログラムの実行状況の監視やCPUの動作周波数の制御をOS(オペレーティングシステム)が行っており,「節電プログラムないし節電アプリと呼ばれる命令シーケンス」が節電処理を行うものではないなどと主張する。しかしながら,本願発明の「回路を使用するアプリケーション・プログラムとは別に実行される命令シーケンス」は,「オペレーティング・システムとは異なるプログラム」に限定されていないから,原告の主張は,特許請求の範囲の記載に基づかないものであり,失当である。
(2) 動機付けの欠如又は阻害要因に対し ア 原告は,甲2記載の技術事項を引用例記載の電力管理制御に適用しようとする動機付けはない旨主張するが,以下のとおり,失当である。
すなわち,甲2の【従来の技術】の欄に示されるプリンタ装置は,電子装置の一例にすぎないし,電子回路への電力供給を抑止するための技術として周波数制御の技術は,引用例,乙1〜乙3にも示されるように周知であるから,甲2の【従来の技術】の欄の記載から把握される「アプリケーションプログラムとは別に実行される節電プログラムないし節電アプリと呼ばれる命令シーケンスをCPU(中央演算処理装置)が用いることによりCPU(中央演算処理装置)を含む電子装置の節電を行う(電子回路への電力供給を抑止する)」という技術を,上記周知であり引用例でも採用されているような周波数制御により電力供給を抑止するものに適用することも,当業者は容易に想到し得る。
このことと,引用発明の方法,より具体的には引用例の図1に示されるシステムで実行される方法を具現化するには,同図1に示される「クロック発生回路15」の制御を何らかの制御装置で行うようにする必要があること,その「クロック発生回路15」の制御を何に行わせるようにするかは当業者の任意であること,等の事情を総合すれば,甲2に示される本件読替後周知技術を,引用例記載の電力管理制御に適用しようとする動機付けは十分にあったといえる。
イ 原告は,甲2の節電プログラムを引用例と組み合わせることには阻害要因がある旨主張するが,以下のとおり,失当である。
すなわち,審決は,引用例の図1の電池電源33に,甲2の電力供給を抑止する「パワーセーブ処理」を適用することが容易であると判断したものではなく,引用例の図1に示される「クロック発生回路15」の制御(節電制御)に,甲2に示される本件読替後周知技術を採用することが容易であると判断したものであり,そうすることに対しては,何ら阻害要因はない。
(3) 顕著な作用効果の看過に対し 前記のとおり,引用発明のクロック周波数は,実際にアプリケーションが動作する際の計算条件に従って選択されるものではないから,原告の主張は,前提において失当である。
引用発明に周知技術を適用して容易に想到し得た方法が,本願発明と同様の効果を奏することは明らかである。
当裁判所の判断
1 本願発明について (1) 本願明細書(甲3)には,以下の記載がある。
ア 技術分野【0001】(発明の背景)1.発明の分野本発明は,一般にプロセッサ・ベース・システムに関し,より具体的には,プロセッサ・ベース・システムにインテリジェント・パワー・マネジメントを提供するための装置および方法に関する。
イ 背景技術【0002】2.関連技術の説明パワー・マネジメントとは,システムの電力を節約し,消費電力を削減するために,プロセッサ・ベース・システムで実施される。典型的にパワー・マネジメントは,ある期間無使用または無活動状態であることを検出すると,システム内にある1つまたは複数の回路の電源を切断することで実施される。この無使用または無活動期間が典型的には「タイムアウト」期間と呼ばれ,通常は固定されている。ユーザは典型的には,特定アプリケーションのセットアップ・モードに入り,そのアプリケーションのタイムアウト値を選択または入力しなけ ればならない。タイムアウト値の選択は,バッテリの推定寿命に対する,ユーザのシステム性能に関する知覚にも基づいているため,最適化することができない。
【0003】したがって,プロセッサ・ベース・システムでいくつかのアプリケーションにパワー・マネジメントを提供するための装置および方法に関する技術では,システム性能を最適化しながらシステムの省電力を容易にする必要がある。
ウ 発明を実施するための形態【0012】実施実施形態について,プロセッサ・システム10を参照しながら説明する。図2は,本発明のプロセスを実施する例示的プロセッサ・システム10を示す図である。プロセッサ・システム10は,CPU12およびメモリ・モジュール14を含む。メモリ・モジュール14は,ランダム・アクセス・メモリ(RAM)14aおよび読取り専用メモリ(ROM)14bを含む。一実施形態では,メモリ・モジュール14がメイン・メモリまたはダイナミック・ランダム・アクセス・メモリ(DRAM)も含む。CPU12およびメモリ・モジュール14は,システム・バス16に結合される。プロセッサ・システム10は,I/Oバス20に沿って結合された様々なI/Oおよび周辺モジュール(MISC I/O #1,#2,. ..#N)を含むことも可能であり,このI/Oバスがバス・ブリッジ22を介してシステム・バス20〔判決注・「システム・バス16」の誤記と認める。〕に結合される。周辺モジュールの例には,コンソール,プリンタ,およびマウスが含まれる。
【図2】本発明の装置および方法が使用される例示的プロセッサ・システムを示すシステム構成図【0013】本発明について,プロセッシング・システム10にインストールされたオペレーティング・システムも参照しながら説明する。図3は,本発明の装置および方法を利用するプロセッシング・システム10のアーキテクチャを示す,全機能構成図である。プロセッシング・システム10は,ユーザ・アプリケーション40をサポートするオペレーティング・システム30,基本入出力システム(「BIOS」)50,およびシステム・ハードウェア60を備える。
ユーザ・アプリケーション40は,インテリジェント・パワー・マネジメント(IPM)アプリケーション42およびクライアント・アプリケーション44を含む。BIOS 50は,コンソール(キーボードおよびディスプレイ),汎用プリンタ,補助デバイス(シリアル・ポート),コンピュータのクロック,およびブート・ディスク・デバイスなど,ハードウェア・デバイス用のドライバまたはソフトウェア・インターフェースの集合体である。BIOS 50は,一般に,プログラム可能読取り専用メモリ(PROM)に組み込まれる。オペレーティング・システムは,一般に,オペレーティング・システムのブート後,実行中にはBIO S 50を使用しない。オペレーティング・システム30内のカーネル・レベル・ドライバは,システム・ハードウェア60と直接インターフェースすることができる。
【図3】本発明の装置および方法を利用するオペレーティング・システムのアーキテクチャを示す,全機能構成図 【0014】オペレーティング・システム30は,IPMアプリケーション42とインターフェースするアプリケーション・プログラム・インターフェース(API)70と,IPMアプリケーション42からの要求に基づいてオペレーティング・システム30にインストールされる資源を割り振る,コンフィグレーション・マネージャ74〔判決注・「コンフィグレーション・マネージャ72」の誤記と認める。〕とを含む。さらにオペレーティング・システム30は, (クライアント・アプリケーション44の場合のように直接,またはAPI 70およびコンフィグレーション・マネージャ72を介して)ユーザ・アプリケーション40とインターフェースするクラス・ドライバ74,およびI/Oマネージャ76を含む。I/Oマネージャ76は(クラス・ドライバ74を介してなされた)I/O要求を,カーネル78内に配置された様々なドライバ・ルーチンへの適切に並べられた呼出しに変換する。具体的に言えば,I/Oマネージャ42〔判決注・「I/Oマネージャ76」の誤記と認める。〕は,I/O要求を受け取ると,カーネル78内に配置されたドライバ内にあるいくつかのディスパッチ・ルーチンの1つを呼び出すために,その要求の機能コードを使用する。カーネル78は,ソフトウェア割込みによってアクセスされる,システム機能と呼ばれるハードウェア非依存型機能を提供する。カーネル78によって提供される機能には,ファイルおよびディレクトリの管理,メモリ管理,キャラクタ・デバイス入出力,ならびに時間およびデータのサポートなどが含まれる。一実施形態では,オペレーティング・システムはWindows NT(登録商標)オペレーティング・システムである。代替実施形態では,オペレーティング・システム30には,SolarisまたはAIXオペレーティング・システム,あるいは要求時ページングされた仮想メモリ・サブシステム(demand-paged virtual memory subsystems)に基づいた他のオペレーティング・システムが含まれる。
【0015】本発明は,カーネル74〔判決注・「カーネル78」の誤記と認める。〕内に配置された1つまたは複数のフィルタ・デバイス・ドライバ80を使用することによって,MISC I/O #1,.,MISC .. I/O #N(図2)などのI/OデバイスのI/O活動を監視 する,IPMアプリケーション42を提供する。フィルタ・デバイス・ドライバ80によって提供される情報に基づいて,IPMアプリケーション42は,システム10にインストールされたパワー・マネジメントされたデバイスにとって,および/または,本発明の知識ベースの技法を使用するシステム10にとって,最も好適な電力状態を識別する。次いでシステム・ハードウェア60の電力状態を,効率良く制御および管理することができる。一実施形態では,IPMアプリケーション42が,カーネル78内に配置された物理デバイス・ドライバ82への必要なポインタを提供するコンフィグレーション・マネージャ72を使用して,システム・ハードウェアの電力状態を制御する。物理デバイス・ドライバ82は,システム・ハードウェア60を直接制御するか,またはBIOS 50のBIOSインターフェース52ならびに物理メモリおよびI/O回路54を介してシステム・ハードウェア60とインターフェースするかの,どちらでも可能である。
【0016】好ましい一実施形態では,IPMアプリケーション42およびフィルタ・デバイス・ドライバ78〔判決注・「フィルタ・デバイス・ドライバ80」の誤記と認める。〕は,C言語で作成されたソース・コードを含む。IPMアプリケーション42およびフィルタ・デバイス・ドライバ78〔判決注・「フィルタ・デバイス・ドライバ80」の誤記と認める。〕の機能を実施する際に,他のアセンブリ言語が利用できることを理解されよう。BIOSのデータおよびアドレスは,典型的には物理メモリ50〔判決注・「物理メモリ54」の誤記と認める。〕内(典型的にはRAM 14a内,図1を参照)に配置され,物理デバイス・ドライバ82によってアクセスされる。
【0025】図7は,本発明のIPMプロセスの第3の実施形態を示す流れ図である。一実施形態では,IPMプロセス400を,処理ユニットまたはCPUなどの処理回路に使用することができる。プロセス400は開始状態から始まり,プロセス・ブロック402に進んで,マネジメントされたデバイスのプロファイルIDを読み取る。プロファイルIDは,マネジメントされたデバイスの動作モードを提供する。次いでプロセス400は判断ブロック404に進み, デバイスのプロファイルIDが,デバイスがワード・プロセッシングまたはプレゼンテーションサービスを提供していることを示しているかどうかを照会する。提供している場合,プロセスはデバイス・クロックを最小に設定するが,これはマネジメントされたデバイスの最高動作速度の,わずか何分の一である。一例では,「最小」とは,マネジメントされたデバイスの最高動作速度の25%である。次いでプロセス400は,メイン・プロセス100の流れに戻る。
【図7】本発明のIPMプロセスの第3の実施形態を示す流れ図【0026】判断ブロック404で,プロセスが,マネジメントされたデバイスのプロファイルIDが,ワード・プロセッシングでもプレゼンテーションサービスでもないと判定した場合,判断ブロック408に進み,デバイスのプロファイルIDがスプレッドシート・サービスの提供に関連しているかどうかを判定する。関連している場合,プロセス400はプロセス・ブロック41〔判決注・「プロセス・ブロック410」の誤記と認める。〕に示すようにデバイス・クロックを最大に設定するが,これはマネジメントされたデバイスの最高動作速度の所定の割合である。一実施形態では,「最大」とは,マネジメントされたデバイスの最高動作速度の 100%である。次いでプロセス400は,メイン・プロセス100の流れに戻る。
【0027】判断ブロック408でプロセス400が,プロファイルIDが,デバイスがスプレッドシート・サービスを提供していることを示さないと判断した場合,判断ブロック412に進み,所定の期間内にキーボード,マウス,またはディスク・ドライブなどのI/Oデバイスから何らかの活動があるかどうかを判定する。一実施形態では,所定の期間は1分である。活動がない場合,プロセス400はプロセス・ブロック414に進み,デバイス・クロックを最小に設定する。プロセスはメイン・プロセスの流れに戻る。判断ブロック412でプロセス400が,所定の期間内にI/Oデバイスからの活動があると判定した場合,プロセス400はプロセス・ブロック416に進み,デバイス・クロックをdevice_clock=D*device_clockに設定するが,ここでDは所定の数である。次いでプロセス400はメイン・プロセス100の流れに戻る。
(2) 前記(1)の記載によれば,本願発明の特徴について,次のとおり認めることができる。
ア 技術分野 本発明は,一般にプロセッサ・ベース・システムに関し,より具体的には,プロセッサ・ベース・システムにインテリジェント・パワー・マネジメントを提供するための装置及び方法に関する(【0001】 。
) イ 背景技術・課題 典型的なパワー・マネジメントは,ある期間無使用又は無活動状態であることを検出すると,システム内にある1つ又は複数の回路の電源を切断することで実施され,この無使用又は無活動期間は「タイムアウト」期間と呼ばれ,通常は固定されており,ユーザがそのアプリケーションのタイムアウト値を選択又は入力しなければならないところ,タイムアウト値の選択は,バッテリの推定寿命に対する,ユーザのシステム性能に関する知覚にも基づいているため,最適化するこ とができない。
したがって,プロセッサ・ベース・システムでいくつかのアプリケーションにパワー・マネジメントを提供するための装置及び方法に関する技術では,システム性能を最適化しながらシステムの省電力を容易にする必要がある【0002】〜【0003】。
) ウ プロセッサ・システムの実施形態 本発明のプロセスを実施するプロセッサ・システム10は,CPU12及びメモリ・モジュール14を含む。メモリ・モジュール14は,ランダム・アクセス・メモリ(RAM)14a及び読取り専用メモリ(ROM)14bを含む。CPU12及びメモリ・モジュール14は,システム・バス16に結合される。プロセッサ・システム10は,I/Oバス20に沿って結合された様々なI/O及び周辺モジュール(MISC I/O #1,#2,. . .#N)を含むことも可能であり,このI/Oバスがバス・ブリッジ22を介してシステム・バス16に結合される。周辺モジュールの例には,コンソール,プリンタ,及びマウスが含まれる。
プロセッサ・システム10は,ユーザ・アプリケーション40をサポートするオペレーティング・システム30,基本入出力システム(「BIOS」)50,及びシステム・ハードウェア60を備える。ユーザ・アプリケーション40は,インテリジェント・パワー・マネジメント(IPM)アプリケーション42及びクライアント・アプリケーション44を含む。
本発明は,カーネル78内に配置された1つ又は複数のフィルタ・デバイス・ドライバ80を使用することによって,MISC I/O #1, . ,MISC ..I/O #NなどのI/OデバイスのI/O活動を監視する,IPMアプリケーション42を提供する。フィルタ・デバイス・ドライバ80によって提供される情報に基づいて,IPMアプリケーション42は,システム10にインストールされパワー・マネジメントされたデバイス,及び本発明の知識ベースの技法を使用するシステム10の一方又は双方にとって,最も好適な電力状態を識別する。
次いで,システム・ハードウェア60の電力状態を,効率良く制御及び管理することができる(【0012】〜【0016】 。
) エ IPMプロセスのフローの実施形態 IPMプロセス400を,処理ユニット又はCPUなどの処理回路に使用することができる。プロセス400は開始状態から始まり,プロセス・ブロック402に進んで,マネジメントされたデバイスのプロファイルIDを読み取る。プロファイルIDは,マネジメントされたデバイスの動作モードを提供する。
次いで,プロセス400は判断ブロック404に進み,デバイスのプロファイルIDが,デバイスがワード・プロセッシング又はプレゼンテーションサービスを提供していることを示しているかどうかを照会する。提供している場合,プロセスはデバイス・クロックを最小に設定するが,これはマネジメントされたデバイスの最高動作速度の何分の一かであり,一例では, 「最小」とは,最高動作速度の25%である。次いで,プロセス400は,メイン・プロセス100の流れに戻る。
判断ブロック404で,プロセス400が,マネジメントされたデバイスのプロファイルIDがワード・プロセッシングでもプレゼンテーションサービスでもないと判定した場合,判断ブロック408に進み,デバイスのプロファイルIDがスプレッドシート・サービスの提供に関連しているかどうかを判定する。関連している場合,プロセス400はプロセス・ブロック410に示すようにデバイス・クロックを最大に設定するが,これはマネジメントされたデバイスの最高動作速度の所定の割合であり,一実施形態では, 「最大」とは,最高動作速度の100%である。次いで,プロセス400は,メイン・プロセス100の流れに戻る。
判断ブロック408で,プロセス400が,プロファイルIDがデバイスがスプレッドシート・サービスを提供していることを示さないと判断した場合,判断ブロック412に進み,所定の期間内にキーボード,マウス,又はディスク・ドライブなどのI/Oデバイスから何らかの活動があるかどうかを判定する。一実 施形態では,所定の期間は1分である。活動がない場合,プロセス400はプロセス・ブロック414に進み,デバイス・クロックを最小に設定する。プロセス400は,メイン・プロセス100の流れに戻る。
判断ブロック412で,プロセス400が,所定の期間内にI/Oデバイスからの活動があると判定した場合,プロセス・ブロック416に進み,デバイス・クロックをdevice_clock=D*device_clockに設定するが,ここでDは所定の数である。次いで,プロセス400は,メイン・プロセス100の流れに戻る(【0025】〜【0027】 。
) 2 取消事由2(引用発明の認定の誤り)について (1) 引用例(甲1)には,以下の記載がある。
ア 特許請求の範囲【請求項1】 供給されたデータおよび命令に基づいてコンピュータシステムを制御し,また連続するクロックパルス間の間隔の変動について指定された許容限度内で安定する必要がある印加された周期的クロックパルスと同期して供給されたデータおよび命令に基づいて論理演算を実行するマイクロプロセッサを含む方法において,前記マイクロプロセッサへひとつの周波数でクロックパルスを供給して前記供給された前記クロックパルスに応じてこれの論理演算を制御することと,前記マイクロプロセッサへ供給されたクロックパルスの前記周波数を,連続した周期間隔の変動について前記指定された許容限度内の間隔で隔てられた前記供給されたパルスの前記連続した周期の間で前記ひとつの周波数とは異なる周波数へ変更することを含むことを特徴とする方法。
【請求項2】 連続するクロックパルスの間の間隔について前記マイクロプロセッサで変動の許容範囲が指定されている範囲内で前記マイクロプロセッサへ供給されたクロックパルスの周期の間の間隔を連続的に増大させることにより前記コンピュータシステムにおける電力消費を減少させるようになすことを特徴とする請求項1記載の方法。
【請求項3】 前記マイクロプロセッサへ供給される前記クロックパルスの周波数を減少して,計算または論理的能力での要件の減少に応じて電力消費を低減することを特徴とする請求項2記載の方法。
【請求項4】前記マイクロプロセッサへ供給されるクロックパルスの周波数は最後に供給されたデータまたは命令から所定の期間内に前記コンピュータシステムへ供給される新しいデータまたは命令が存在しないことに応答して減少されることを特徴とする請求項3記載の方法。
イ 産業上の利用分野【0001】【産業上の利用分野】本発明はパーソナルコンピュータに関するもので,より特定すればコンピュータの中央演算処理装置の演算のクロック周波数を変更することにより可搬型コンピュータで利用可能な電池電力を管理することに関する。
ウ 従来の技術【0002】【従来の技術】一般に AT 型(Advanced Technology)と呼称される形式の従来のパーソナルコンピュータは,80×86 系集積回路(インテル社から商業的に入手可能)などの一般的なマイクロプロセッサを用いて ISA (Industry Standard Architecture-業界標準アーキテクチャ)または EISA(拡張 ISA)バスで動作する。現在のパーソナルコンピュータは電池電力で動作し可搬性の利便のために寸法ならびに重量が大幅に減少している。
エ 発明が解決しようとする課題【0003】【発明が解決しようとする課題】しかし,パーソナルコンピュータの速度と複雑さが増加し,寸法と重量が減少しているため,利用可能な電池電力の一層有効な管理への要求が実際のパ ーソナルコンピュータでは最優先課題になっている。
【0004】本発明は上記事情に基づいてなされたものであり,コンピュータにおける電力消費を低減することができる方法及びそのシステムを提供することを目的とするものである。
オ 作用【0012】【作用】本発明は低速での計算能力の間,電力消費を減少させるため,マイクロプロセッサの集積回路が作動するクロック周波数を制御する。つまり,たとえばモデムによる通信,新しい命令が入力されない待機状態,およびその他の日常的で単純な計算機能を実行する動作の間,クロック周波数をより低い動作周波数へ減少させ,また,例えば回転する3次元オブジェクトの表示を形成する,大量のデータベースの検索を実行する,などのさらに複雑な計算が要求される場合に最大動作周波数へ増加させる。単位時間当たりにマイクロプロセッサの実行する命令数はクロック周波数の増加に伴って増大するため,電力消費量もクロック周波数にしたがって増加する。さらに,マイクロプロセッサ集積回路内の熱損失もクロック周波数と共に増加し,その結果として動作温度の上昇が起こることで故障の可能性が増加する傾向にあり,これに付随する平均故障時間(MTBF)の定格も減少する。
【0013】クロック周波数発生回路はマイクロプロセッサへクロック信号を供給するためにこれに接続され,計算条件にしたがってマイクロプロセッサのクロック周波数の減少または増加を行なうためにマイクロプロセッサへ供給されるクロック信号での安定性の条件範囲内で連続的にクロック周波数を変更することができる。これでマイクロプロセッサのクロック周波数をこれの上限および下限の間で連続的に変化させつつマイクロプロセッサの適正な動作を確実にする。このモードにおいてマイクロプロセッサへ供給されるクロック信号の周波数を変更することで,特定の新しいクロック周波数での動作のためにマイクロプロセッサをリセットする必要性が排除され,また計算条件に応じた連続的電力管理制御を提供する。
実施例 【0014】【実施例】図1を参照すると,80486 集積回路(インテル社から商業的に入手可能)などの商用マイクロプロセッサ13を含む中央演算処理装置12を有する通常のパーソナルコンピュータまたはワークステーションの概略ブロック図が図示してある。中央演算処理装置12は利用者がキーボードまたはマウスまたはペン型タブレットまたは同様なもの入力装置16経由で制御することができ,さらにグラフィックまたは文字画像34またはこれらの組み合わせを既知の方法で提供するためのディスプレイ装置14を含む。中央演算処理装置12は,またネットワーク32からの入力で作動でき,データ20は各種計算ルーチンにおいて中央演算処理装置12によるアクセスおよび対話のためにメモリー18(および大容量記憶装置30)内へ保存しうる。中央演算処理装置12および付随する周辺機器は全て電池33から電力を供給しうる。
【図1】本発明のひとつの実施例によるマイクロプロセッサを搭載したコンピュータシステムの概略ブロック図【0015】図1のコンピュータシステムの計算動作の速度または1秒当たりの命令実行数はクロック信号発生回路15によってマイクロプロセッサ13へ供給されるクロックパルス の周波数に直接関係する。80486 集積回路など商業的に入手可能なマイクロプロセッサは一般に狭い範囲内で指定されたクロック周波数を必要とする。よって,こうしたマイクロプロセッサは,例えば16ないし33MHzの範囲のクロック周波数を必要とし,例えばクロックパルス間の変動が0.1%以内の短期的安定性が必要とされることがある。
【0016】クロックパルスの短期的安定性は,例えばマイクロプロセッサ回路内で統合される内部的位相固定ループが安定したクロックパルス上に固定されるようになすために概して重要である。単位時間当たりの命令実行数が,高いクロック周波数のマイクロプロセッサ13では増加するため,マイクロプロセッサ13内部の熱損失もまた増大し,これによって動作温度が上昇し,また利用可能な電池33の電力がさらに急速に消耗することになる。
よって電力消費ならびに動作温度を低減し電池寿命を延長するために可能な場合はマイクロプロセッサ13へ供給されるクロックパルスの周波数を減少することが望ましい。しかし,指定範囲内でクロック信号が安定していなければならないことから,クロックパルス供給の短期的条件が完全に満たされるより充分に小さい増加または減少でクロック周波数を変化させることが望ましい。
【0017】これによってマイクロプロセッサ13は仕様範囲内で動作を続行でき,新しい固定されたクロック周波数で完全にリセットされる必要がなくなる。また,クロック周波数は,例えば文書処理プログラム24での低電力消費には低いクロック周波数,回転する3次元画像の総天然色表示34を形成するなど高度な計算要求には大電力消費高クロック周波数というように,計算条件にしたがって選択することができる。
【0018】本発明のひとつの好適実施例において,可変式周波数発生回路は上限と下限の間において連続的に変化させうる周波数でマイクロプロセッサへクロックパルスを供給する。
クロック周波数の変化は,マイクロプロセッサの連続した適正な動作を保障するために必要な連続したクロックパルスの安定性の要件を超過しない。よって,例えば連続したパルス間の変動が30MHzのクロック周波数で0.1%を超過しない必要があるマイクロプロセッサのクロックパルス安定性の仕様は,クロック周波数の減少がクロックパルス間隔において33ピコ秒または約29.97MHzを超える変動(増加)を生成しないことが必要とされ る。このあと,クロック周波数は0.1%を超えない範囲で29.94003MHzへ変更(減少)可能であり,さらにそのように所望の新しい,低い,クロック周波数に到達するまで続けられる。仕様の安定性条件範囲内でこの方法によりマイクロプロセッサへ供給されるクロックパルスの周波数を変更することで,位相固定ループまたはその他の周波数に敏感なマイクロプロセッサチップ内に組み込まれた回路のどれかの動作は変更されないかまたは影響を受けないことになる。
【0021】制御論理回路67は,出力61で直前の周波数の0.1%以内の周波数変更を指示するように印加された制御信号に応じて分周回路を設定するために必須の制御信号を提供する。したがって,出力クロック信号61は入力周波数に比例してまたは丁度よい比を取る多数の分子と分母のための供給源信号に基づいて分周回路47および49を選択的に設定することで,またVCO57から得られた出力について演算を行なう出力分周回路59によって決定される。当然,変動について指定された許容範囲内で安定な率でマイクロプロセッサへクロックパルスを供給可能で,且つ仕様の許容範囲又は変動内でのみそれぞれを連続的に変化させることによってクロックパルスが供給される周波数を連続的に変化し得るような他のクロックパルス供給源も使用することができる。
【0022】したがって,本発明のシステムならびに方法はマイクロプロセッサへ供給するクロックパルスの周波数を変更することにより,低能力の計算または論理的容量の期間中に(例えば,タイムアウト周期について活動していないことを検出することで)計算または論理的演算の速度を減少するように,電力消費を制限するために便利な技術を提供する。高度な計算または論理的演算が要求される場合(例えば,キーボードから手動で起動する際または高度または高速の計算能力を必要とするアプリケーションプログラムを検出した場合),連続したクロック間隔の安定性について指定された許容限界内にある連続的な増加としてクロック周波数が増加され得るものである。
(2) 前記(1)の記載によれば,引用発明は,電池電力で動作し可搬性の利便のために寸法及び重量が大幅に減少している可搬型パーソナルコンピュータにおい て,利用可能な電池電力の一層有効な管理への要求が最優先課題となっているという事情に基づいてなされたものであり,コンピュータの中央演算処理装置の演算のクロック周波数を変更することにより,可搬型コンピュータで利用可能な電池電力の消費を低減することができる方法及びそのシステムを提供することを目的とするものであると認められる(【0001】〜【0004】 。
) そして,引用発明の作用を記載した【0012】によれば,引用発明は, 「たとえばモデムによる通信,新しい命令が入力されない待機状態,およびその他の日常的で単純な計算機能を実行する動作の間」は,クロック周波数を「より低い動作周波数へ減少させ」るものであり,他方, 「たとえば回転する3次元オブジェクトの表示を形成する,大量のデータベースの検索を実行する,などのさらに複雑な計算が要求される場合」は,クロック周波数を「最大動作周波数へ増加させる」ものであることが認められる。
また,実施例について記載された【0017】によれば,引用発明では,クロック周波数は「計算条件にしたがって選択することができる」ところ, 「例えば文書処理プログラム24での低電力消費」には,「低いクロック周波数」を選択し,他方,「回転する3次元画像の総天然色表示34を形成するなど高度な計算要求」には, 「大電力消費高クロック周波数」を選択することが考えられるものと認められる。
同様に,実施例について記載された【0022】によれば,引用発明では,「例えば,タイムアウト周期について活動していないことを検出」した場合など, 「低能力の計算または論理的容量の期間中」には, 「クロックパルスの周波数を変更すること」により「計算または論理的演算の速度を減少」させ,他方,「例えば,キーボードから手動で起動する際または高度または高速の計算能力を必要とするアプリケーションプログラムを検出した場合」など, 「高度な計算または論理的演算が要求される場合」には,クロック周波数が「増加され得る」ことが考えられるものと認められる。
以上によれば,引用発明においては,@「モデムによる通信,新しい命令が入力されない待機状態,およびその他の日常的で単純な計算機能を実行する動作の間」【0012】 ( )には,低いクロック周波数が選択されるほか, 「文書処理プログラム24での低電力消費」 【0017】 ( )や,「タイムアウト周期について活動していないことを検出した場合」【0022】 ( )には,低いクロック周波数を選択することが考えられ,他方,A「たとえば回転する3次元オブジェクトの表示を形成する,大量のデータベースの検索を実行する,などの更に複雑な計算が要求される場合」 【0012】 ( )には,高いクロック周波数が選択されるほか,「回転する3次元画像の総天然色表示34を形成するなど高度な計算要求」 【0017】 ( )や, 「キーボードから手動で起動する際または高度または高速の計算能力を必要とするアプリケーションプログラムを検出した場合」【0022】 ( )には,高いクロック周波数を選択することが考えられるものと認められる。
(3) そこで,更に進んで,このような引用発明における低いクロック周波数と高いクロック周波数の選択が, 「アプリケーションプログラムのタイプに対応する動作モード」に基づくものであるかを検討する。
まず,前記(2)のとおり,引用発明では,「文書処理プログラム24での低電力消費」【0017】 ( )には,低いクロック周波数を選択することが考えられ,他方,「高度または高速の計算能力を必要とするアプリケーションプログラムを検出した場合」【0022】 ( )には,高いクロック周波数を選択することが考えられるものであり,この限度では, 「アプリケーションプログラムのタイプに対応する動作モード」に基づいてクロック周波数を選択するものとみる余地がある。
しかしながら,引用例の【0017】の実施例において,「文書処理プログラム24での低電力消費」と対比して,高いクロック周波数を選択することが考えられるものは「回転する3次元画像の総天然色表示34を形成するなど高度な計算要求」であって, 「回転する3次元画像の総天然色表示34を形成するなど高度な計算要求を必要とするアプリケーションプログラム」などと記載されているもの ではなく, 「回転する3次元画像の総天然色表示34を形成するなど高度な計算要求」が「文書処理プログラム24」とは異なるアプリケーションプログラムでの計算要求であることは記載されていない。そして,本願優先日当時,文書処理プログラムにはグラフィック機能が組み込まれているのが一般的であり,文書処理プログラムに組み込まれたグラフィック機能において回転する3次元画像の総天然色表示の形成が行えないものではないことからすると,高いクロック周波数を選択する「回転する3次元画像の総天然色表示34を形成するなど高度な計算要求」は,アプリケーションプログラムの実際の動作に応じた「計算条件」を示すものであるとみることもでき,引用例の【0017】の記載に接した本願優先日当時の当業者において,そこに記載された実施例が「アプリケーションプログラムのタイプに対応する動作モード」に基づいてクロック周波数を選択するものであると認識するものということはできない。
また,引用例の【0022】の実施例において, 「高度または高速の計算能力を必要とするアプリケーションプログラムを検出した場合」と対比して,低いクロック周波数を選択することが考えられるものは「タイムアウト周期について活動していないことを検出」した場合であり,例えば, 「高度または高速の計算能力を必要としないアプリケーションプログラムを検出した場合」のような類型のアプリケーションプログラムを検出した場合と対比されているものではないし, 「高度または高速の計算能力を必要とするアプリケーションプログラム」を起動中に,「タイムアウト周期について活動していないことを検出」した場合には,高いクロック周波数が選択されるべき「高度または高速の計算能力を必要とするアプリケーションプログラム」の起動中でありながら,低いクロック周波数を選択することになるから,引用例の【0022】の記載に接した本願優先日当時の当業者において,そこに記載された実施例が「アプリケーションプログラムのタイプに対応する動作モード」に基づいて「特定の高クロック周波数で前記中央演算処理装置12を動作させる」ものであると認識するものということはできない。
さらに,引用例の【0012】をみても,低いクロック周波数が選択される「モデムによる通信,新しい命令が入力されない待機状態,およびその他の日常的で単純な計算機能を実行する動作の間」と,高いクロック周波数が選択される「回転する3次元オブジェクトの表示を形成する,大量のデータベースの検索を実行する,などのさらに複雑な計算が要求される場合」とが異なったアプリケーションプログラムに対応したものであることは記載されていないし, 「回転する3次元オブジェクトの表示を形成する」ことができるアプリケーションプログラムにおいて「単純な計算機能を実行する動作」のみを行っている間を想定すれば明らかなように,両者が異なったアプリケーションプログラムでしか奏し得ないことが自明であるともいえないから,引用例の【0012】の記載に接した本願優先日当時の当業者において,引用発明が「アプリケーションプログラムのタイプに対応する動作モード」に基づいてクロック周波数を選択するものであると認識するものということはできない。
そうすると,引用例の【0012】 【0017】 【0022】等の記載を総合 , ,しても,これらに接した本願優先日当時の当業者において,引用発明が「アプリケーションプログラムのタイプに対応する動作モードを決定し,前記動作モードに応答して,・・・中央演算処理装置12を動作させる」ものであると認識することはできないと認められ,このことは,引用発明が,利用可能な電池電力が限られており,その有効な管理への要求が最優先課題となっている可搬型コンピュータにおいて当該課題を解決することを目的とするものであることをも考慮すれば,一層明らかというべきである。
よって,引用発明が「アプリケーションプログラムのタイプに対応する動作モードを決定し,前記動作モードに応答して,・・・中央演算処理装置12を動作させる」構成を有するとした審決の認定には誤りがあり,これに起因して,審決は,「アプリケーション・プログラムのタイプに対応する動作モードを決定し,前記動作モードに応答して, ・ ・ ・回路を動作させる」点を一致点として過大に認定し, 相違点として看過した結果,この点に対する判断をしておらず,結論に影響を及ぼす違法があるものと認められる。
したがって,原告主張の取消事由2は,理由がある。
(4) 被告は,引用例の【0012】 【0017】 【0022】の記載を踏ま , ,えれば,引用例においては,実行されるプログラムである「アプリケーション・プログラム」が,文書プログラムのような低クロック周波数(低電力消費)を許容することができるタイプのものと,例えばデータベースへの大量検索や回転3次元画像の総天然色表示のような高度又は高速の計算能力を必要とする「アプリケーションプログラム」であり高クロック周波数(大電力消費)を要するタイプのものとに区分されていることが理解できるから,引用例には,本願発明と同趣旨の「アプリケーション・プログラムのタイプ」が記載されているといえるし,引用例の【0017】 【0013】 【0018】の記載は,引用例に記載される , ,コンピュータシステムが「低いクロック周波数での動作モード」と「大電力消費高クロック周波数での動作モード」を有していることを前提としているから,引用例には,本願発明と同趣旨の「動作モード」が記載されていると主張する。
しかしながら,被告指摘の引用例の【0012】 【0017】 【0022】等 , ,の記載を総合しても,これらに接した本願優先日当時の当業者において,引用発明が「アプリケーションプログラムのタイプに対応する動作モードを決定し,前記動作モードに応答して,・・・中央演算処理装置12を動作させる」ものであると認識できないことは,前記(3)のとおりである。そして,前記(1)のとおり,引用例の【0013】 【0018】には, , 「アプリケーションプログラムのタイプ」について何らの記載も示唆もないから,前記(3)の結論は,引用例の【0013】,【0018】の記載により左右されるものではない。
したがって,被告の主張は,理由がない。
結論
以上によれば,取消事由1及び3について判断するまでもなく,審決は違法なものとして取り消されるべきであり,原告の請求は理由がある。
よって,原告の請求を認容することとして,主文のとおり判決する。
裁判長裁判官 清水節
裁判官 片岡早苗
裁判官 古庄研