特許拒絶査定不服審判
2018-012139
異種マルチコアシステム用のダイナミックコア選択
- 審判番号
- 2018-012139
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2016-003910外部サイト(J-PlatPat)へ移動します
- 請求日
- 2018年09月10日
- 審決日
- 2019年12月24日
- 公報発行日
- 2020年02月28日
- 結論
- 原査定取消(特許/登録すべき)
- 当事者
- 【請求人】インテル・コーポレーション
- 【請求人代理人】龍華国際特許業務法人
- 分類
- P18 .121-WY (G06F) / P18 .537-WY (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第29条第2項、特許法第36条第6項第2号
- データ出所
- 審決公報(SGML)
事件の表示
特願2016- 3910「異種マルチコアシステム用のダイナミックコア選択」拒絶査定不服審判事件〔平成28年 5月26日出願公開、特開2016- 95871、請求項の数(20)〕について、次のとおり審決する。
結論
【結 論】
原査定を取り消す。
本願の発明は、特許すべきものとする。
理由
【理 由】
第1 手続の経緯
本件審判請求に係る出願(以下,「本願」という。)は,2011年12月28日(パリ条約による優先権主張外国庁受理2011年3月11日(以下,「優先日」という。),米国)に国際出願した特願2013-557709号の一部を平成27年5月18日に新たな特許出願とした,特願2015-101264号の一部を平成28年1月12日に新たな特許出願としたものであって,その手続の経緯は以下のとおりである。
平成28年 1月15日 :手続補正書,上申書の提出
平成28年11月21日付け :拒絶理由の通知
平成29年 5月29日 :意見書,手続補正書の提出
平成29年10月25日付け :拒絶理由の通知
平成30年 3月29日 :意見書の提出
平成30年 4月25日付け :拒絶査定
平成30年 9月10日 :審判請求書,手続補正書の提出
平成30年10月30日 :前置報告
平成31年 3月22日 :上申書の提出
令和 元年 9月25日付け :拒絶理由の通知(当審)
令和 元年10月31日 :意見書,手続補正書の提出
第2 本願発明
本願請求項1-20に係る発明(以下,それぞれ「本願発明1」-「本願発明20」という。)は,令和元年10月31日付けの手続補正で補正された特許請求の範囲の請求項1-20に記載された事項により特定される発明であり,本願発明1は以下のとおりの発明である。
「 【請求項1】
マルチコア処理のための装置であって,
メモリコントローラと,
プログラムコードを実行する第1のタイプの第1のプロセッサコアと,
前記第1のタイプとは異なる第2のタイプの第2のプロセッサコアと,
(i)前記第1のプロセッサコアが前記プログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリック,及び前記第2のプロセッサコアが前記プログラムコードを実行する際の前記第2のプロセッサコアの1又は複数のパフォーマンスメトリックを決定し,(ii)前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好であることの決定に応じて,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチし,(iii)前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好でないことの決定に応じて,前記第1のプロセッサコアで前記プログラムコードの実行を続ける,コード分配モジュールと
を備え,
前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックを決定することは,前記第1のプロセッサコアが前記プログラムコードを実行する際の監視されたパフォーマンスおよび収集された統計データを予測関数に適用することを含む,
装置。」
なお,本願発明2-20の概要は以下のとおりである。
本願発明2-7は,本願発明1を減縮した発明である。
本願発明8は,本願発明1に対応する「マルチコア処理システムによる処理のための方法」の発明であって,本願発明1とカテゴリ表現が異なる発明である。
本願発明9-13は,本願発明8を減縮した発明である。
本願発明14は,本願発明1に対応する「プログラム」の発明であって,本願発明1とカテゴリ表現が異なる発明である。
本願発明15-19は,本願発明14を減縮した発明である。
本願発明20は,本願発明14-19のいずれか一つに対応する「プログラムを記憶したコンピュータ記憶媒体」の発明であって,本願発明14-19とカテゴリ表現が異なる発明である。
第3 引用文献,引用発明等
1 引用文献1について
原査定の拒絶の理由に引用された引用文献1(特表2010-538371号公報)には,図面とともに次の事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。以下,同様。)
A 「【0213】
ここで図2を参照すると,モバイルデバイスは,LPコア12およびHPコア16を備える非対称多重処理(MP)システム10を含むことができる。LPコア12の命令セットアーキテクチャ(ISA)は,HPコア16のISAとは異なっていてもよい。例えば,HPコア16は,浮動小数点命令を実行することができるがLPコア12は実行しない可能性がある。さらに,LPおよびHPコア(以降コアと称する)12および16は,異なる性能および能力(例えば,異なる処理速度,電力消費等)を有する。代替として,両方が同じISAを使用してもよい。
…(中略)…
【0215】
したがって,オペレーティングシステム(OS)およびアプリケーションは,LPコア12およびHPコア16の両方で動作することができる。非対称MPシステム10は,実行されているアプリケーションの処理負荷および種類に依存して,必要に応じてLPコア12およびHPコア16を動的に切り替え,省力化を増加させ性能を向上させることができる。非対称MPシステム10は,多目的処理(GPP)に使用することができる。」
B 「【0247】
ここで図5を参照すると,HPおよびLPコアを備える別の例示的システムが示されている。システムは,レベル1(L1)キャッシュ202を含むLPコア200と,L1キャッシュ206を含むHPコア204とを含む。LPコア200およびHPコア204は,バス205を介して通信することができる。高速メモリ210が提供されてもよい。高速メモリ210は,スタティックランダムアクセスメモリ(SRAM)または他の好適な高速メモリを含み得る。LPコア200およびHPコア204は,別個のICとして実装されてシステムインパッケージ(SIP)として配設されてもよく,またはICもしくはSOCとして統合されてもよい。高速メモリ210はまた,LPコア200およびHPコア204のうちの一方または両方と統合されてもよい。
…(中略)…
【0251】
電力消費を管理し,監視されているシステム負荷に基づきシステム動作の変更を開始または制御するために,電力管理システム(PMS)モジュール242を提供することができる。コアプロファイルモジュール240は,コア負荷,入力/出力負荷,アプリケーション負荷,および/または他のシステム動作パラメータに基づく負荷等のシステム負荷を監視することができる。
…(中略)…
【0253】
LPコア200がその最高動作速度に達して追加的なシステム負荷が生じると,コアプロファイルモジュール240,PMSモジュール242,および/またはカーネルモジュール220は,割り込みを無効化し,ハイパーバイザモジュール213またはコア切り替えモジュール212へのシステムコールを生成して移行をトリガする。コア切り替えモジュール212は,スタンドアロン型であってもよく,またはハイパーバイザモジュール213と統合されてもよい。コア切り替えモジュール212は,システムコールに応答して,LPコア200からHPコア204に動作を移行させ(切り替え),移行(切り替え)が完了した後にカーネルモジュール220に制御を戻すことができる。
…(中略)…
【0258】
PMSモジュール242により割り込みが無効化された後,コア切り替えモジュール212はLPコア200の状態をコピーし,HPコア204を動作状態にし,LPコア200の状態を使用してHPコア204を初期化する。HPコア204が初期化された後,コア切り替えモジュール212はLPコア200を休止状態にする。HPコア204は,アプリケーションの実行を再開し,PMSモジュール242は割り込みを有効化する。」
C 「【0260】
ここで図6を参照すると,図5のLPコア200およびHPコア204を動作させるための方法のステップが示されている。制御はステップ250から開始する。ステップ252において,コアプロファイルモジュール240は,LPコア200のシステム負荷を監視する。ステップ256において,コアプロファイルモジュール240は,HPコア204への切り替えが必要かどうかを判定する。ステップ256が偽である場合,制御はステップ252に戻る。
【0261】
ステップ256が真である場合,制御メッセージがコア切り替えモジュール212に送信される。コア切り替えモジュール212は,ステップ260において,LPコア200の状態(ポインタ,レジスタ,オペコード,オペランド,プログラムカウンタ(PC)等)を読み出し,LPコア200の状態またはその状態を表す情報を,高速メモリ210にコピーする。ステップ264において,コア切り替えモジュール212は,HPコア204を動作状態に移行させる。ステップ268において,コア切り替えモジュール212は,LPコア200の状態を高速メモリ210からHPコア204にロードする。ステップ272において,コア切り替えモジュール212は,LPコア200を休止状態に移行させる。ステップ276において,HPコア204は,HPコア204にロードされた状態で実行を再開する。換言すると,動作は,LPコア200が休止状態に入った際と同じプログラムカウンタ値で再開する。」
したがって,上記引用文献1には次の発明(以下,「引用発明」という。)が記載されていると認められる。
「モバイルデバイスに含まれ,実行されているアプリケーションの処理負荷および種類に依存して,必要に応じてLPコアおよびHPコアを動的に切り替え,省力化を増加させ性能を向上させることができる非対称多重処理(MP)システムであって,
レベル1キャッシュを含むLPコアと,
レベル1キャッシュを含むHPコアと,
前記LPコアおよび前記HPコアが通信することができるバスと,
高速メモリと,
電力管理システム(PMS)モジュールとして,コア負荷,入力/出力負荷,アプリケーション負荷,および/または他のシステム動作パラメータに基づく負荷等のシステム負荷を監視することができるコアプロファイルモジュールと,
システムコールに応答して,前記LPコアから前記HPコアに動作を移行させ,移行が完了した後にカーネルモジュールに制御を戻すことができるコア切り替えモジュールと,
を備え,
前記コアプロファイルモジュールは,前記LPコアのシステム負荷を監視し,前記HPコアへの切り替えが必要かどうかを判定し,真である場合,制御メッセージを前記コア切り替えモジュールに送信すること,
前記コア切り替えモジュールは,前記LPコアの状態(ポインタ,レジスタ,オペコード,オペランド,プログラムカウンタ(PC)等)を読み出し,前記LPコアの状態またはその状態を表す情報を,前記高速メモリにコピーし,前記HPコアを動作状態に移行させ,
さらに,前記LPコアの状態を前記高速メモリから前記HPコアにロードし,前記LPコアを休止状態に移行させること,
前記HPコアは,ロードされた状態で実行を再開すること,
とを含む,非対称多重処理(MP)システム。」
2 引用文献2-3について
原査定の拒絶の理由に引用された引用文献2(特開2004-171234号公報)の段落【0037】-【0084】,引用文献3(特開2006-277364号公報)の段落【0026】-【0040】には,
「プログラムをプロセッサに割当てた後に,割当てられたプロセッサでのプログラムの実行時間等と,割当て変更候補のプロセッサのプログラムの実行時間等とを予測する」という技術的事項が記載されている。
3 その他の引用文献
また,前置報告書において周知技術を示す文献として引用された引用文献4(特開2010-160715号公報)の段落【0021】-【0041】には,
「第1のプロセッサコアで処理を実行した後,第1のプロセッサで当該処理の演算をした際の各基本演算の実行時間や,各基本演算の実行回数を基に,第2のプロセッサの実行時間を予測する」という技術的事項が記載されている。
第4 対比・判断
1 本願発明1について
(1)対比
本願発明1と引用発明とを対比すると,次のことがいえる。
ア 引用発明は,「モバイルデバイスに含まれ,実行されているアプリケーションの処理負荷および種類に依存して,必要に応じてLPコアおよびHPコアを動的に切り替え,省力化を増加させ性能を向上させることができる非対称多重処理(MP)システム」であるところ,「非対称多重処理(MP)システム」は,「LPコア」および「HPコア」を備え,“マルチコア処理のための装置”であるといえる。
そうすると,引用発明の「非対称多重処理(MP)システム」と本願発明1の「マルチコア処理のための装置」とは,“マルチコア処理のための装置”である点で共通するといえる。
イ 引用発明の「高速メモリ」は「非対称多重処理(MP)システム」がシステム内部に備えるメモリであることから,本願発明1の「メモリコントローラ」に対応するといえる。
また,引用発明の「非対称多重処理(MP)システム」は,「LPコア(低速低電力コア)」と「HPコア(高速高出力コア)」とを備え,「LPコア(低速低電力コア)」および「HPコア(高速高出力コア)」は「アプリケーション」を実行すると解され,“タイプ”が異なる“プロセッサコア”であるといえるから,引用発明の「LPコア」,「HPコア」,「アプリケーション」は,それぞれ本願発明1の「第1のタイプの第1のプロセッサコア」,「第2のタイプの第2のプロセッサコア」,「プログラムコード」に相当するといえる。
そうすると,引用発明の「非対称多重処理(MP)システム」と本願発明1の「マルチコア処理システム」とは,後記する点で相違するものの,
“プログラムコードを実行する第1のタイプの第1のプロセッサコアと,
前記第1のタイプとは異なる第2のタイプの第2のプロセッサコアと,”
を備えている点で一致する。
ウ 引用発明の「コアプロファイルモジュール」は,「電力管理システム(PMS)モジュールとして,コア負荷,入力/出力負荷,アプリケーション負荷,および/または他のシステム動作パラメータに基づく負荷等のシステム負荷を監視することができる」とともに,「LPコアのシステム負荷を監視し,前記HPコアへの切り替えが必要かどうかを判定」するところ,上記イでの検討より,引用発明の「LPコア」,「アプリケーション」は,それぞれ本願発明1の「第1のタイプの第1のプロセッサコア」,「プログラムコード」に相当するといえ,「LPコア」が「アプリケーション」を実行中に「LPコア」の「システム負荷」を決定することは明らかであるから,引用発明の「コアプロファイルモジュール」は,“第1のプロセッサコアがプログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数の「システム負荷」を決定”するとみることができる。
また,引用発明の「システム負荷」は「コア負荷,入力/出力負荷,アプリケーション負荷,および/または他のシステム動作パラメータに基づく負荷等」を含み,それに対し本願発明1の「パフォーマンスメトリック」は,本願明細書の発明の詳細な説明の段落【0073】の「上述したように,例であるパフォーマンスメトリックには,命令リタイヤプッシュアウト,実行された命令数,コード領域の実行にかかる時間,コード領域が遭遇された/実行された回数,コード領域の実行中に消費された電力量,コード領域の実行中の様々な電力状態で消費される時間,コードセグメントに実行中の熱密度が含まれてよい。」との記載を参酌すると,引用発明の「システム動作パラメータ」を含むと解されることから,引用発明の「システム負荷」は本願発明1の「パフォーマンスメトリック」に相当するといえる。
一方,本願発明1の「コード分配モジュール」は,「(i)前記第1のプロセッサコアが前記プログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリック,及び前記第2のプロセッサコアが前記プログラムコードを実行する際の前記第2のプロセッサコアの1又は複数のパフォーマンスメトリックを決定」するところ,少なくとも「第1のプロセッサコアの1又は複数のパフォーマンスメトリック」を決定するといえるから,“前記第1のプロセッサコアが前記プログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリックを決定”するといえる。
そうすると,引用発明の「コアプロファイルモジュール」と本願発明1の「コード分配モジュール」とは,その機能からみて,“前記第1のプロセッサコアが前記プログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリックを決定”する点で共通するといえる。
エ 引用発明の「コード分配モジュール」は,「LPコアの状態(ポインタ,レジスタ,オペコード,オペランド,プログラムカウンタ(PC)等)を読み出し,前記LPコアの状態またはその状態を表す情報を,前記高速メモリにコピーし,前記HPコアを動作状態に移行させ,さらに,前記LPコアの状態を前記高速メモリから前記HPコアにロードし,前記LPコアを休止状態に移行させる」ところ,「コアプロファイルモジュールは,前記LPコアのシステム負荷を監視し,前記HPコアへの切り替えが必要かどうかを判定し,真である場合,制御メッセージを前記コア切り替えモジュールに送信する」こと,及び上記イ,ウでの検討より,引用発明の「LPコア」,「HPコア」,「アプリケーション」,「システム負荷」は,それぞれ本願発明1の「第1のタイプの第1のプロセッサコア」,「第2のタイプの第2のプロセッサコア」,「プログラムコード」,「パフォーマンスメトリック」に相当するといえるから,「LPコア」から「HPコアへの切り替え」は“第1のプロセッサコアのパフォーマンスメトリックに基づ”き“スイッチする”といえる。
そうすると,引用発明の「コア切り替えモジュール」は“前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックに基づき,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチする”といえる。
一方,本願発明1の「コード分配モジュール」は,「(ii)前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好であることの決定に応じて,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチする」ところ,“第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックに基づき”,「スイッチする」といえるから,“前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックに基づき,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチする”といえる。
したがって,引用発明の「コア切り替えモジュール」と本願発明1の「コード分配モジュール」とは,その機能からみて,“前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックに基づき,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチする”点で共通するといえる。
オ 上記ウ,エでの検討より,引用発明の「非対称多重処理(MP)システム」が備える「コアプロファイルモジュール」と「コア切り替えモジュール」とを合わせたものは,その機能からみて,本願発明1の「コード分配モジュール」に対応するといえる。
してみると,引用発明の「非対称多重処理(MP)システム」と本願発明1の「マルチコア処理のための装置」とは,後記する点で相違するものの,
“(i)前記第1のプロセッサコアが前記プログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリックを決定し,かつ,
(ii)前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックに基づき,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチするコード分配モジュール”
を備えている点で一致する。
したがって,本願発明1と引用発明との間には,次の一致点,相違点があるといえる。
(一致点)
「マルチコア処理のための装置であって,
プログラムコードを実行する第1のタイプの第1のプロセッサコアと,
前記第1のタイプとは異なる第2のタイプの第2のプロセッサコアと,
(i)前記第1のプロセッサコアが前記プログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリックを決定し,かつ,
(ii)前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックに基づき,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチするコード分配モジュールと
を備えた,マルチコア処理のための装置。」
(相違点)
(相違点1)
コード分配モジュールによるパフォーマンスメトリックの決定に関し,本願発明1は,「第1のプロセッサコアが前記プログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリック,及び前記第2のプロセッサコアが前記プログラムコードを実行する際の前記第2のプロセッサコアの1又は複数のパフォーマンスメトリックを決定」するのに対して,
引用発明は,第1のプロセッサコアがプログラムコードを実行している間に,前記第1のプロセッサコアのパフォーマンスメトリックを決定するものの,第2のプロセッサコアのパフォーマンスメトリックを決定することは特定されていない点。
(相違点2)
第2のプロセッサコアのパフォーマンスメトリックの決定に関し,本願発明1は,「第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックを決定することは,前記第1のプロセッサコアが前記プログラムコードを実行する際の監視されたパフォーマンスおよび収集された統計データを予測関数に適用することを含む」のに対して,
引用発明は,第2のプロセッサコアのパフォーマンスメトリックの決定については言及されていない点。
(相違点3)
コード分配モジュールによる第1のプロセッサコアから第2のプロセッサコアへのスイッチに関し,本願発明1は,「第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好であることの決定に応じて」,両者をスイッチするのに対して,
引用発明は,第1のプロセッサコアのパフォーマンスメトリックに基づくものの,そのように特定されていない点。
(相違点4)
コード分配モジュールによる第1のプロセッサコアのプログラムコード実行制御に関し,本願発明1は,「第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好でないことの決定に応じて,前記第1のプロセッサコアで前記プログラムコードの実行を続ける」のに対して,
引用発明は,第1のプロセッサコアのパフォーマンスメトリックに基づき,第1のプロセッサコアによるプログラムコードの実行を制御するものの,そのように特定されていない点。
(2)相違点についての判断
ア 相違点2について
事案に鑑みて,上記相違点2を先に検討すると,引用発明では,「コアプロファイルモジュール」が,第1のプロセッサコアがプログラムコードを実行している間に,前記第1のプロセッサコアの1又は複数のパフォーマンスメトリックを決定するといえるところ,第1のプロセッサコアが所定のプログラムコードを実行している間に,第2のプロセッサコアが所定のプログラムコードを実行した場合のパフォーマンスメトリックを予測し,決定することについては言及されておらず,そのために第1のプロセッサコアで監視されたパフォーマンスおよび収集された統計データを予測関数に適用することの動機付けもない。
ここで,本願発明1の第1のプロセッサコアで監視されたパフォーマンスおよび収集された統計データを予測関数に適用することについて,本願明細書の発明の詳細な説明を参酌すると,段落【0074】には「ブロック406で,パフォーマンスの統計データを収集してよい。一実施形態では,統計データには,分岐ミス率,キャッシュミス率等が含まれてよい。一実施形態では,パフォーマンスの監視および統計データの収集が,モニタモジュール305により実行されてよい。ブロック408で,第2のコアにおけるプログラムコードの実行のパフォーマンスが,第1のコアにおけるプログラムコードの実行のパフォーマンスおよび統計データに少なくとも一部基づいて,予測されてよい。」と記載され,本願発明1の「統計データ」は分岐ミス率,キャッシュミス率といったプログラムコード実行時のミスに係る統計データであると解される。また,本願明細書の発明の詳細な説明の段落【0077】の「一実施形態では,予測_パフォーマンス関数を定義するためには, …(中略)… そして,最適に適合する関数Fを見つけるための1つのやり方としては,…(中略)… 最適な適合の標準誤差が小さい場合には,Fを,予測_パフォーマンスの関数として利用することができる。しかし標準誤差が大きい場合には,予測精度を高めるために,より多くのパフォーマンスパラメータを見つける必要があるだろう。」との記載からすると,本願発明1の「予測関数」は,予め最適に適合するよう定義される予測_パフォーマンス関数であると認められる。
すなわち,本願発明1において,第2のプロセッサコアが所定のプログラムコードを実行した場合のパフォーマンスメトリックを決定するために,第1のプロセッサコアで監視されたパフォーマンスおよび収集された統計データを予測関数に適用することは,予め最適に適合するよう定義される予測_パフォーマンス関数に,第1のプロセッサコアで監視されたパフォーマンスおよび収集されたプログラムコード実行時のミスに係る統計データを入力することであると解することができる。
そして,引用文献4に記載されるように,「第1のプロセッサコアで処理を実行した後,第1のプロセッサで当該処理の演算をした際の各基本演算の実行時間や,各基本演算の実行回数を基に,第2のプロセッサの実行時間を予測する」旨の技術が,本願の優先日前に当該技術分野において公知であったと認められるものの,第2のプロセッサコアが所定のプログラムコードを実行した場合のパフォーマンスメトリックを,第1のプロセッサコアで監視されたパフォーマンスおよび収集された統計データを予測関数に適用することにより決定する旨の技術は,上記引用文献2-4には記載されておらず,本願の優先日前に当該技術分野において周知技術であったとまではいえず,当業者が適宜に選択し得た設計的事項であるとすることもできない。
そうすると,引用発明において,第1のプロセッサコアが所定のプログラムコードを実行している間に,第2のプロセッサコアが所定のプログラムコードを実行した場合のパフォーマンスメトリックを,第1のプロセッサコアで監視されたパフォーマンスおよび収集された統計データを予測関数に適用することにより決定すること,すなわち,本願発明1の上記相違点2に係る構成とすることは,当業者が適宜なし得たものであるとすることはできない。
イ まとめ
したがって,他の相違点について判断するまでもなく,本願発明1は,当業者であっても,引用発明,引用文献2-4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
2 本願発明2-7について
本願発明2-7は本願発明1を減縮した発明であり,本願発明1の
「第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックを決定することは,前記第1のプロセッサコアが前記プログラムコードを実行する際の監視されたパフォーマンスおよび収集された統計データを予測関数に適用することを含む」(以下,「相違点2に係る構成」という。)
と同一の構成を備えるものであるから,本願発明1と同じ理由により,当業者であっても,引用発明,引用文献2-4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
3 本願発明8-13について
本願発明8は,本願発明1に対応する「マルチコア処理システムによる処理のための方法」の発明であり,本願発明9-13は本願発明8を減縮した発明であり,本願発明1の「相違点2に係る構成」と同一の構成を備えるものであるから,本願発明1と同じ理由により,当業者であっても,引用発明,引用文献2-4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
4 本願発明14-19について
本願発明14は,本願発明1に対応する「プログラム」の発明であり,本願発明15-19は本願発明14を減縮した発明であり,本願発明1の「相違点2に係る構成」と同一の構成を備えるものであるから,本願発明1と同じ理由により,当業者であっても,引用発明,引用文献2-4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
5 本願発明20について
本願発明20は,本願発明14-19のいずれか一つに対応する「プログラムを記憶したコンピュータ記憶媒体」の発明であり,本願発明1の「相違点2に係る構成」と同一の構成を備えるものであるから,本願発明1と同じ理由により,当業者であっても,引用発明,引用文献2-4に記載された技術的事項に基づいて容易に発明できたものとはいえない。
第5 原査定の概要および原査定についての判断
原査定は,請求項1-20について上記引用文献1-3に記載された発明に基づいて,当業者が容易に発明できたものであるから,特許法第29条第2項の規定により特許を受けることができない,というものである。
しかしながら,令和元年10月31日付け手続補正により補正された請求項1-20は,それぞれ「相違点2に係る構成」と同一の構成を有するものとなっており,
上記のとおり,本願発明1-20は,引用文献1-3に記載された発明に基づいて,当業者が容易に発明できたものではない。
したがって,原査定を維持することはできない。
第6 当審拒絶理由について
<特許法第36条第6項第2号について>
1 当審では,請求項1の「(ii)前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好であることの決定に応じて,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチするコード分配モジュール」について,「前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好」でないことの決定がされたときの動作が不明確であるとの拒絶の理由を通知しているが,令和元年10月31日付けの手続補正により,「(iii)前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好でないことの決定に応じて,前記第1のプロセッサコアで前記プログラムコードの実行を続ける,」との事項を追加する補正がなされた結果,この拒絶の理由は解消した。
また,請求項1を引用する請求項2-7についても同様に,補正によりこの拒絶の理由は解消した。
2 当審では,請求項8の「前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好であることを決定したことに応じて,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチする段階」について,「前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好」でないことの決定がされたときの動作が不明確であるとの拒絶の理由を通知しているが,令和元年10月31日付けの手続補正により,「前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好でないことを決定したことに応じて,前記第1のプロセッサコアで前記プログラムコードの実行を続ける段階」を追加する補正がなされた結果,この拒絶の理由は解消した。
また,請求項8を引用する請求項9-13についても同様に,補正によりこの拒絶の理由は解消した。
3 当審では,請求項14の「前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好であることの決定に応じて,前記プログラムコードの実行を,前記第1のプロセッサコアから前記第2のプロセッサコアにスイッチする手順」について,「前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好」でないことの決定がされたときの動作が不明確であるとの拒絶の理由を通知しているが,令和元年10月31日付けの手続補正により,「前記第2のプロセッサコアの前記1又は複数のパフォーマンスメトリックが前記第1のプロセッサコアの前記1又は複数のパフォーマンスメトリックよりも良好でないことの決定に応じて,前記第1のプロセッサコアで前記プログラムコードの実行を続ける手順」を追加する補正がなされた結果,この拒絶の理由は解消した。
また,請求項14を引用する請求項15-20についても同様に,補正によりこの拒絶の理由は解消した。
第7 むすび
以上のとおり,本願発明1-20は,当業者が引用文献1-4に記載された発明に基づいて容易に発明をすることができたものではない。
したがって,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2018-012139