特許拒絶査定不服審判
2016-005283
装置、方法、及び、プロセッサ
- 審判番号
- 2016-005283
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2014-076695外部サイト(J-PlatPat)へ移動します
- 請求日
- 2016年04月08日
- 審決日
- 2017年11月22日
- 公報発行日
- 2018年01月26日
- 結論
- 原査定取消(特許/登録すべき)
- 当事者
- 【請求人】インテル・コーポレーション
- 【請求人代理人】龍華国際特許業務法人
- 分類
- P18 .121-WY (G06F) / P18 .537-WY (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第29条第2項、特許法第36条第6項第2号
- データ出所
- 審決公報(SGML)
事件の表示
特願2014- 76695「装置、方法、及び、プロセッサ」拒絶査定不服審判事件〔平成26年 9月 4日出願公開、特開2014-160483、請求項の数(18)〕について、次のとおり審決する。
結論
【結 論】
原査定を取り消す。
本願の発明は、特許すべきものとする。
理由
【理 由】
第1 手続の経緯
本件審判請求に係る出願(以下,「本願」という。)は,2009年12月23日(パリ条約による優先権主張外国庁受理2008年12月31日(以下,「優先日」という。),米国)を国際出願日として出願した特願2011-543673号の一部を平成26年4月3日に新たな特許出願としたものであって,その手続の経緯は以下のとおりである。
平成26年 4月 3日 :出願審査請求書,手続補正書,上申書
の提出
平成27年 1月22日付け :拒絶理由の通知
平成27年 4月21日 :意見書,手続補正書の提出
平成27年11月30日付け :拒絶査定
平成28年 4月 8日 :審判請求書,手続補正書の提出
平成28年 6月 6日 :前置報告
平成28年 8月 4日 :上申書の提出
平成29年 5月25日付け :拒絶理由の通知(当審)
平成29年 8月24日 :意見書,手続補正書の提出
第2 本願発明
本願請求項1-18に係る発明(以下,それぞれ「本願発明1」-「本願発明18」という。)は,平成29年8月24日付けの手続補正で補正された特許請求の範囲の請求項1-18に記載された事項により特定される発明であり,本願発明1は以下のとおりの発明である。
「 【請求項1】
複数の命令を実行する第1プロセッサと,
第1プロセッサのステートの履歴を格納する第1ストレージであって,前記複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含む前記第1ストレージと,
前記複数の命令を実行する第2プロセッサと,
第2プロセッサのステートの履歴を格納する第2ストレージであって,前記複数の命令のうち前記第2プロセッサによってリタイアまたはコミットされた命令に対する前記第2プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含む前記第2ストレージと,
前記第1ストレージ内の1つのエントリと,前記第2ストレージ内の各エントリとを,最新の一致を見つけるまで,前記1つのエントリとして異なるエントリを用いつつ,並行して比較する比較部と,
前記第1ストレージからの少なくとも1つのエントリ及び前記第2ストレージからの少なくとも1つのエントリに基づいて,前記第1プロセッサと前記第2プロセッサとを同期する制御部と
を備え,
前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含む装置。」
なお,本願発明2-18の概要は以下のとおりである。
本願発明2-10は,本願発明1を減縮した発明である。
本願発明11は,本願発明1に対応する方法の発明であり,本願発明1とカテゴリ表現が異なるだけの発明である。
本願発明12-16は,本願発明11を減縮した発明である。
本願発明17は,本願発明1に対応する「プロセッサ」の発明である。
本願発明18は,本願発明17を減縮した発明である。
第3 引用文献,引用発明等
1 引用文献1について
原査定の拒絶の理由に引用された引用文献1(特開2002-312190号公報)には,図面とともに次のA-Dの事項が記載されている。
A 「【0001】
【発明の属する技術分野】本発明は,ハードウェア冗長性による高信頼性処理に関する。更に具体的には,本発明は,計算の誤りを検出するために高信頼性モードで動作し,高パフォーマンス・モードで独立的に動作するペア状のプロセッサを有する処理システムに関する。
…(中略)…
【0006】
【発明が解決しようとする課題】本発明は,計算の誤りを検出するために高信頼性モードで動作し,高パフォーマンス・モードで独立的に動作するペアのプロセッサを有するマルチプロセッシング・システムを提供することを目的とする。」
B 「【0012】ここで図4を参照すると,本発明の実施形態に従ったマルチプロセッシング・システム400が示される。システム400は,第1のプロセッサ410A,第2のプロセッサ410B(これは,プロセッサ410Aと同じであっても,同じでなくてもよい),及び比較ユニット420を含む。プロセッサ410Aは,図示されるように,相互に接続された次の要素を有する。即ち,フェッチ・ロジック432A,命令キャッシュ434A,デコード・ロジック436A,発行キュー438A,実行及びロード/記憶ユニット440A,コミット・ロジック442A,シグネチャ生成器444A,記憶ラッチ446A,データ・キャッシュ448A,及び現在の結果を保持する設計レジスタ454Aである。設計レジスタ454Aは,後で詳細に説明するように,前の結果を保持するシャドウ・レジスタ454A.1,及びコミットされた結果を保持するシャドウ・レジスタ454A.2を有する。プロセッサ410Bは,次の要素の少なくともそれ自身の要素を含む(図示されていない)。即ち,シグネチャ生成器444B,記憶ラッチ446B,及び現在の結果を保持する設計レジスタ454Bである。設計レジスタ454Bは,前の結果を保持するためのシャドウ・レジスタ454B.1,及びコミットされた結果を保持するためのシャドウ・レジスタ454B.2を有する。
…(中略)…
【0014】ここで図5を参照すると,本発明の様相を示すため,実施形態に従ったプロセッサ410A及び410Bが,命令のシーケンス510及びそれぞれの結果と一緒に示される。第1のプロセッサ410Aは,命令510に応答して第1の結果520Aを計算するように動作可能であり,第2のプロセッサ410Bは,命令510に応答して第2の結果520Bを計算するように動作可能である。更に具体的には,命令510は,命令510.1,それに続く命令510.2,それに続く命令510.3(以下同様)を含むプログラム・シーケンスの中に存在するプログラムのための命令を表す。命令510.1のために,プロセッサ410Aは結果520A.1を計算し,プロセッサ410Bは結果520B.1を計算する。また,命令510.2のために,プロセッサ410Aは結果520A.2を計算し,プロセッサ410Bは結果520B.2を計算する。以下同様である。結果の各々のために,シグネチャ生成器444A(図4)は,更新されたシグネチャを計算し,それを記憶ラッチ446Aへ出力する。
【0015】比較ユニット420は,チェックポイントで結果のマッチングをチェックするように動作可能である。例えば,例示された実施形態に従えば,命令510.6及び510.12の各々は,チェックポイントをトリガする記憶タイプの命令のインスタンスである。即ち,例えば命令510.6のために結果520A.6を計算することに応答して,プロセッサ410Aのためのシグネチャ生成器444Aは,ラッチ446Aに記憶されたシグネチャを更新する。それは,結果520A.1,520A.2などの各々について更新する場合と同じである。同様に,命令510.6のために結果520B.6を計算することに応答して,プロセッサ410Bのためのシグネチャ生成器444Bは,ラッチ446Bに記憶されたシグネチャを更新する。それは,結果520B.1,520B.2などの各々について更新する場合と同じである。更に,命令510.6はチェックポイントをトリガするので,結果520A.6の計算に応答して,プロセッサ410Aは,結果520A.6のシグネチャが準備されていることを比較ユニット420へ表示する。同様に,結果520B.6の計算に応答して,プロセッサ410Bは,対応する結果520B.6のシグネチャが準備されていることを比較ユニット420へ表示する。一度,対応するシグネチャが準備されると,比較ユニット420は,それらがマッチするかどうか調べるため,それらを比較する。注意すべきは,シグネチャは記憶値それ自身を反映するか,記憶値がシグネチャと一緒に相互に比較されることである。
【0016】本発明のシグネチャを生成するため,使用されてよい様々な周知の圧縮計画が存在する。例えば,リニア・フィードバック・シフト・レジスタが使用されてよい。リニア・フィードバック・シフト・レジスタに従って,新しい入力は,シフト・アウトされるビットとXORされる。これは利点を有する。なぜなら,結果のシグネチャは非常にランダムな様式で空間を横切り,従って,シグネチャが所有して後援すると考えられる状態からの小さな逸脱を作り出すことはあり得ないからである。関連特許出願で説明されるシグネチャ生成も,本発明に関連を有する。」
C 「【0021】再び図5を参照すると,前述したように,結果520A.1,520A.2などの各々のために,シグネチャ生成器444A(図4)は,更新されたシグネチャを計算し,それを記憶ラッチ446Aへ出力する。同様に,結果520B.1,520B.2などの各々のために,シグネチャ生成器444B(図4)は,更新されたシグネチャを計算し,それを記憶ラッチ446Bへ出力する。他の様相に従えば,第1のプロセッサ410Aのためのシグネチャ生成器444A,及び第2のプロセッサ410Bのためのシグネチャ生成器444Bの各々は,プロセッサの結果520A及び520Bのシーケンスのために,それぞれの累積的シグネチャを計算するように動作可能である。即ち,命令の例示されたシーケンス510(及び,結果の対応するシーケンス520A及び520B)において,チェックポイント(図示されない)が命令のシーケンス510の直前に先行し,シーケンス510はチェックポイントの後で開始することが暗黙に示されている。更に,シーケンス510は,命令510.1で始まり前記の記憶命令510.6に応答するチェックポイントで終わる命令シーケンスを含む。記憶命令510.6の後で,次のシーケンスが命令510.7で始まる。命令510.1から510.6のシーケンス,及び例えば,対応する結果520A.1から520A.6のために,プロセッサ410Aは,第1の結果520A.1のために新しいシグネチャをイニシャライズし,次にシグネチャを更新するように動作可能である。更新されたシグネチャは,命令510.1から510.6及び対応する結果のシーケンスの累積的効果を反映するように,シグネチャ記憶ユニット,即ち記憶ラッチ446Aに記憶される。同様に,プロセッサ410B,及びその結果及びシグネチャについても同じことが行われる。
【0022】1つの実施形態に従えば,プロセッサは,次のようにしてシグネチャを更新する。レジスタ内の値を変更する各々の命令について,例えばプロセッサ410Aは,そのシグネチャ生成器444Aへ新しい情報を送る。この新しい情報は,変更された値及びそれらの値を保持するレジスタのアイデンティティを含む。シグネチャ生成器444Aは,新しい情報を,記憶ラッチ446A内に既に存在するシグネチャとマージして,更新されたシグネチャを形成する。次に,チェックポイント,例えば記憶命令510.6に応答して,記憶ラッチ446Aは,キャッシュ及び,又はメイン・ストアに記憶するための記憶値を送る。記憶ラッチ446Aは,記憶値と一緒に累積的シグネチャを含む。その間に,プロセッサ410Bは,同じことを行っており,比較ユニット420は,それぞれの記憶ラッチ446A及び446Bからの累積的シグネチャを比較する。もしシグネチャがマッチすれば,これは,結果520A.1から520B.6,及び結果520B.1から520B.6が同じであったことを示す傾向がある。もしシグネチャがマッチしなければ,記憶結果は記憶バッファ450へ転送されない。その代わりに,比較ユニット420は,プロセッサが最後のマッチング・チェックポイントで有していた状態へプロセッサをリセットし,命令の再フェッチ及びローカル・キャッシュ448A及び448Bのフラッシュを開始し,プロセッサがそのポイントで実行を再開できるようにする。
…(中略)…
【0024】命令510は或るプログラム・シーケンスを有し,結果520A.1は命令510.1に対応し,結果520A.2は命令510.2に対応し,以下同様であることを指摘した。図5に示される実施形態において,結果520A及び520Bの対応するシーケンスによって暗示されるように,第2のプロセッサ410Bは,第1のプロセッサが命令510を実行するシーケンスと同じシーケンスで命令510を実行する。更に,実施形態に従えば,チェックポイントは記憶タイプの命令に応答することを指摘した。プロセッサが同じシーケンスで命令を実行する実施形態では,チェックポイントは代替的又は追加的に実行サイクルの累積数に応答してよいことを理解すべきである。1つの実施形態に従えば,チェックポイントは,記憶タイプの命令の結果ごとに,及び,もし或る記憶命令の後の10個の命令結果が他の記憶命令のための結果を含まないならば,10番目の命令結果ごとに,トリガされる。」
D 「【0030】プロセッサが715でチェックポイントに遭遇すると,プロセッサは,シグネチャが他のプロセッサからの対応するシグネチャとマッチするかどうかを調べるため,チェックポイントをトリガする命令で終了している命令シーケンスのために,745でシグネチャをチェックする必要がある。更に,プロセッサは,もしリソースが許せば,720で実行を継続する必要がある。従って,プロセッサは,725で,そのシャドウ・レジスタのスタックが満杯であるかどうかをチェックする。もしスタックが満杯であれば,プロセッサは,シャドウ・レジスタがクリアされるまで740で失速する。
…(中略)…
【0032】その間に,シャドウ・レジスタの1つ,例えばレジスタ454A.1又は454A.2(図4)は,次のようにして,745におけるプロセッサ410Aのシグネチャとプロセッサ410Bのシグネチャとの比較に続いてクリアされるであろう。もしシグネチャがマッチすれば,これは,現在比較されているシグネチャに対応する結果がコミットされてよいことを示し,従って,主題のシグネチャに関連づけられた結果のために余地を作るため,「コミット」レジスタ454A.2が750でクリア,即ち「削除」され,755で「前」レジスタ454A.1の中の結果が「コミット」レジスタへ移動され,720で実行が継続する。(代替の実施形態では,結果は「前」レジスタから「コミット」レジスタへ実際に移動されなくてもよく,レジスタの機能が再割り当てされるだけでよいことを理解すべきである。即ち,「コミット」レジスタは無効のマークを付けられ,「前」レジスタが今や「コミット」レジスタと看做されてよい。)
【0033】もしシグネチャがマッチしなければ,760で「現在」レジスタ及び「前」レジスタがクリア又は無効のマークを付けられる。即ち,「削除」される。なぜなら,現在比較されているシグネチャに対応する命令シーケンスの直前のチェックポイントに関連づけられたコミット状態へプロセッサがリセットされる必要があるからである。次に,765で,「コミット」シャドウ・レジスタ454A.2の中の結果が,その設計レジスタ454Aへコピーされ,キャッシュ448Aがフラッシュされて,命令が770で再フェッチされ,720で実行が継続する。」
したがって,上記引用文献1には次の発明(以下,「引用発明」という。)が記載されていると認められる。
「命令シーケンスを実行するプロセッサ410Aと,
前記命令シーケンスを実行するプロセッサ410Bと,
比較ユニット420と,
各プロセッサの命令実行結果のシグネチャをチェックポイント区間(前のチェックポイントから次のチェックポイントまで)において累積的に保持する記憶ラッチ446Aと記憶ラッチ446Bとを備え,
チェックポイントの度に前記両記憶ラッチの内容を前記比較ユニットで比較し,一致しなかった場合,コミットされた実行結果を保持するレジスタ442A.2とレジスタ442B.2に基づいて,プロセッサをリセットし(ロールバックし),そのポイントから再開することで同期化すること,
を特徴とするマルチプロセッシングシステム。」
2 引用文献2について
原査定の拒絶の理由に引用された引用文献2(特開平6-52004号公報)には,図面とともに次のEの事項が記載されている。
E 「【0015】IDは割り込み要因とCPU監視手段1からの監視結果とを受け,2つのCPUへの割り込みを制御する割り込みコントローラである。この割り込みコントローラID内には,CPU状態監視手段1から2つのCPUが非同期で動作していることを示す信号(ASYNC信号が「1」)を受けた場合,新規の割り込みを保留し,2つのCPUが同期して動作するようになってから,保留している割り込みを,2つのCPUに対して同時に入力する割り込み保留手段2が設けてある。IR1,IR2は,割り込み保留手段2が各CPUに対して出力する割り込み信号であり,この割り込み信号が「1」になった場合,各CPUは,それぞれ割り込み処理を行う。」
したがって,上記引用文献2には,
「2つのCPUの動作状態を監視し,両者が非同期状態で動作していることを検出するCPU状態監視手段と,割り込み要因とCPU監視手段からの監視結果とを受け2つのCPUへの割り込みを制御する割り込みコントローラとを備え,割り込みコントローラに,CPU状態監視手段から2つのCPUが非同期で動作していることを示す信号を受けた場合,新規の割り込みを保留し,2つのCPUが同期して動作するようになってから,保留している割り込みを2つのCPUに対して同時に入力する割り込み保留手段を設ける」
旨の発明(以下,「引用文献2発明」という。)が記載されていると認められる。
第4 対比・判断
1 本願発明1について
(1)対比
本願発明1と引用発明とを対比すると,次のことがいえる。
ア 引用発明の「プロセッサ410A」は複数の命令列からなる「命令シーケンスを実行」し,「プロセッサ410B」は同じ複数の命令列からなる「前記命令シーケンスを実行」することから,引用発明の「プロセッサ410A」,「プロセッサ410B」,「命令シーケンス」は,本願発明1の「第1プロセッサ」,「第2プロセッサ」,「複数の命令」に相当する。
イ 引用発明では,「各プロセッサの命令実行結果のシグネチャをチェックポイント区間(前のチェックポイントから次のチェックポイントまで)において累積的に保持する記憶ラッチ446Aと記憶ラッチ446Bとを備え」るところ,「記憶ラッチ446Aと記憶ラッチ446B」はそれぞれ,「各プロセッサの命令実行結果のシグネチャ」を保持することから,各“プロセッサのステートの履歴”であって,各“プロセッサによってリタイアまたはコミットされた命令に対する”各“プロセッサに係るステートを示す情報を格納するためのエントリを含む”とみることができる。
一方,本願発明1では,「第1ストレージ」は「第1プロセッサのステートの履歴」であって,「前記複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報」を格納するところ,「前記複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報」は第1“プロセッサによってリタイアまたはコミットされた命令に対する”第1“プロセッサに係るステートを示す情報”であるといえる。
そうすると,引用発明の「記憶ラッチ446A」,「記憶ラッチ446B」は本願発明1の「第1ストレージ」,「第2ストレージ」に相当するといえ,引用発明と本願発明1とは,
“第1プロセッサのステートの履歴を格納する第1ストレージであって,前記複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサに係るステートを示す情報を格納するためのエントリを含む前記第1ストレージと,”
“第2プロセッサのステートの履歴を格納する第2ストレージであって,前記複数の命令のうち前記第2プロセッサによってリタイアまたはコミットされた命令に対する前記第2プロセッサに係るステートを示す情報を格納するためのエントリを含む前記第2ストレージと,”
を備える点で共通するといえる。
ウ 引用発明では,「記憶ラッチ446Aと記憶ラッチ446B」に「各プロセッサの命令実行結果のシグネチャをチェックポイント区間(前のチェックポイントから次のチェックポイントまで)において累積的に保持する」ところ,上記イでの検討より,各“プロセッサによってリタイアまたはコミットされた命令に対する”各“プロセッサに係るステートを示す情報を格納するためのエントリを含む”とみることができ,各“プロセッサに係るステートを示す情報”は累積的に保持することから,“エントリは,前にリタイアされた命令のステートからの変化のみを含む”といえ,その点で本願発明1と共通する。
エ 引用発明では,「チェックポイントの度に前記両記憶ラッチの内容を前記比較ユニットで比較」するところ,上記イでの検討より,引用発明の「記憶ラッチ446A」,「記憶ラッチ446B」は本願発明1の「第1ストレージ」,「第2ストレージ」に相当するといえるから,本願発明1の「前記第1ストレージ内の1つのエントリと,前記第2ストレージ内の各エントリとを,最新の一致を見つけるまで,前記1つのエントリとして異なるエントリを用いつつ,並行して比較する比較部」を備えることとは,後記する点で相違するものの,
“前記第1ストレージ内の1つのエントリと,前記第2ストレージ内の1つのエントリとを比較する比較部”を備える点で共通するといえる。
したがって,本願発明1と引用発明との間には,次の一致点,相違点があるといえる。
(一致点)
「 複数の命令を実行する第1プロセッサと,
第1プロセッサのステートの履歴を格納する第1ストレージであって,前記複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサに係るステートを示す情報を格納するためのエントリを含む前記第1ストレージと,
前記複数の命令を実行する第2プロセッサと,
第2プロセッサのステートの履歴を格納する第2ストレージであって,前記複数の命令のうち前記第2プロセッサによってリタイアまたはコミットされた命令に対する前記第2プロセッサに係るステートを示す情報を格納するためのエントリを含む前記第2ストレージと,
前記第1ストレージ内の1つのエントリと,前記第2ストレージ内の1つのエントリとを比較する比較部と,
を備え,
前記エントリは,前にリタイアされた命令のステートからの変化のみを含む,
装置。」
(相違点)
(相違点1)
第1ストレージに関し,本願発明1では,「複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含」み,「前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含む」のに対して,引用発明では,「各プロセッサの命令実行結果のシグネチャをチェックポイント区間(前のチェックポイントから次のチェックポイントまで)において累積的に保持する記憶ラッチ446A」である点。
(相違点2)
第2ストレージに関し,本願発明1では,「複数の命令のうち前記第2プロセッサによってリタイアまたはコミットされた命令に対する前記第2プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含」み,「前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含む」のに対して,引用発明では,「各プロセッサの命令実行結果のシグネチャをチェックポイント区間(前のチェックポイントから次のチェックポイントまで)において累積的に保持する」「記憶ラッチ446B」である点。
(相違点3)
比較部に関し,本願発明1では,「第1ストレージ内の1つのエントリと,前記第2ストレージ内の各エントリとを,最新の一致を見つけるまで,前記1つのエントリとして異なるエントリを用いつつ,並行して比較する」のに対して,引用発明では,「チェックポイントの度に前記両記憶ラッチの内容を前記比較ユニットで比較」するものの,両記憶ラッチのエントリの比較を並行して行うものではない点。
(相違点4)
本願発明1では,「制御部」が「第1ストレージからの少なくとも1つのエントリ及び前記第2ストレージからの少なくとも1つのエントリに基づいて,前記第1プロセッサと前記第2プロセッサとを同期する」のに対して,引用発明は,「プロセッサ410A」と「プロセッサ410B」の同期については言及されていない点。
(2)相違点についての判断
ア 相違点1,2について
上記相違点1と相違点2とは関連しているので,併せて検討する。
引用発明では,「記憶ラッチ446A」と「記憶ラッチ446B」は「各プロセッサの命令実行結果のシグネチャをチェックポイント区間(前のチェックポイントから次のチェックポイントまで)において累積的に保持する」ところ,「各プロセッサの命令実行結果のシグネチャ」はチェックポイント区間毎の各“プロセッサのステートの履歴”であって,各“プロセッサによってリタイアまたはコミットされた命令に対する”各“プロセッサに係るステートを示す情報を格納するためのエントリを含む”とみることができる。
しかしながら,引用発明において,「記憶ラッチ446A」と「記憶ラッチ446B」とは同じチェックポイント区間の最後の命令の実行結果のシグネチャまでの累積のみを保持していると認められることから,本願発明1のような「第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリ」を備えることの動機付けがあるとはいえない。
また,冗長プロセッサが同期して処理を実行するシステムにおいて,各プロセッサによってリタイアまたはコミットされた命令に対する各プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを備えることは,引用文献2発明においても言及されておらず,当該技術分野の周知技術であったともいえない。
そうすると,引用発明において,記憶ラッチが,各プロセッサの命令実行結果のシグネチャをチェックポイント区間において累積的に保持することに代えて,複数の命令のうち各プロセッサによってリタイアまたはコミットされた命令に対する各プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含み,前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含むようにすること,すなわち,上記相違点1,2に係る構成とすることは,当業者が適宜なし得たものであるとすることはできない。
イ まとめ
上記相違点3-4について判断するまでもなく,本願発明1は,当業者であっても,引用発明及び引用文献2発明に基づいて容易に発明できたものとはいえない。
2 本願発明2-10について
本願発明2-10は,本願発明1を減縮した発明であり,本願発明1の「複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含」み,「前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含む」こと,と同一の構成を備えるものであるから,本願発明1と同じ理由により,当業者であっても,引用発明及び引用文献2発明に基づいて容易に発明できたものとはいえない。
3 本願発明11-16について
本願発明11は,本願発明1に対応する方法の発明であり,本願発明12-16は,本願発明11を減縮した発明であり,本願発明1の「複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含」み,「前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含む」こと,と対応する「エントリのそれぞれは,前にリタイアされた命令の状態からの変化のみを含み,第1ステートストレージのエントリの前記複数の命令それぞれのリタイア状態における前記第1プロセッサの全体のレジスタのステートを表す情報を,前記第1プロセッサによって格納する段階」を備えるものであるから,本願発明1と同じ理由により,当業者であっても,引用発明及び引用文献2発明に基づいて容易に発明できたものとはいえない。
4 本願発明17-18について
本願発明17は,本願発明1に対応する「プロセッサ」の発明であり,本願発明18は,本願発明17を減縮した発明であり,本願発明1の「複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含」み,「前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含む」こと,と対応する「前記実行コアによってリタイアされた命令に対するレジスタのステート情報をそれぞれ格納するための複数のエントリを含むストレージと,前記ストレージに前記ステート情報を格納するロジックと」を備え,「前記ロジックは,前にリタイアされた命令のステートからの変化のみを含む各エントリに対する前記ステート情報を圧縮して格納する」ものであるから,本願発明1と同じ理由により,当業者であっても,引用発明及び引用文献2発明に基づいて容易に発明できたものとはいえない。
第5 原査定の概要及び原査定についての判断
原査定は,請求項1-18について上記引用文献1及び引用文献2に基づいて,当業者が容易に発明できたものであるから,特許法第29条第2項の規定により特許を受けることができないというものである。
しかしながら,平成29年8月24日付け手続補正により補正された請求項1,請求項11,17は,それぞれ「複数の命令のうち前記第1プロセッサによってリタイアまたはコミットされた命令に対する前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリを含」み,「前記エントリのそれぞれは,前にリタイアされた命令のステートからの変化のみを含む」という事項,前記事項に対応する構成を有するものとなっており,上記のとおり,本願発明1-18は,上記引用文献1及び引用文献2に記載された発明に基づいて,当業者が容易に発明できたものではない。
したがって,原査定を維持することはできない。
第6 当審拒絶理由について
<特許法第36条第6項第2号について>
1 当審では,請求項1-10の「前記第1プロセッサ全体のステートを示す情報の格納毎の複数のエントリ」,「前記第2プロセッサ全体のステートを示す情報の格納毎の複数のエントリ」が特定する事項が不明確であるとの拒絶の理由を通知しているが,平成29年8月24日付けの手続補正により,「前記第1プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリ」,「前記第2プロセッサ全体のレジスタのステートを示す情報をそれぞれ格納するための複数のエントリ」と補正された結果,この拒絶の理由は解消した。
2 当審では,請求項11-16の「前記第1プロセッサの全体のステートを表す情報」,「前記第2プロセッサの全体のステートを表す情報」が特定する事項が不明確であるとの拒絶の理由を通知しているが,平成29年8月24日付けの手続補正により,「前記第1プロセッサの全体のレジスタのステートを表す情報」,「前記第2プロセッサの全体のレジスタのステートを表す情報」と補正された結果,この拒絶の理由は解消した。
3 当審では,請求項17-18の「前記実行コアによってリタイアされた命令に対するステート情報の格納毎の複数のエントリ」が特定する事項が不明確であるとの拒絶の理由を通知しているが,平成29年8月24日付けの手続補正により,「前記実行コアによってリタイアされた命令に対するレジスタのステート情報をそれぞれ格納するための複数のエントリ」と補正された結果,この拒絶の理由は解消した。
4 当審では,請求項1-10の「前記第1ストレージ内の各エントリと,前記第2ストレージ内の各エントリとを並行して比較する」が特定する事項が不明確であるとの拒絶の理由を通知しているが,平成29年8月24日付けの手続補正により,「前記第1ストレージ内の1つのエントリと,前記第2ストレージ内の各エントリとを,最新の一致を見つけるまで,前記1つのエントリとして異なるエントリを用いつつ,並行して比較する」と補正された結果,この拒絶の理由は解消した。
5 当審では,請求項11-16の「前記第1ステートストレージ内の各エントリと,前記第2ステートストレージ内の各エントリとを並行して比較する」が特定する事項が不明確であるとの拒絶の理由を通知しているが,平成29年8月24日付けの手続補正により,「前記第1ステートストレージ内の1つのエントリと,前記第2ステートストレージ内の各エントリとを,最新の一致を見つけるまで,前記1つのエントリとして異なるエントリを用いつつ,並行して比較する」と補正された結果,この拒絶の理由は解消した。
6 当審では,請求項17-18の「前記ストレージ内の各エントリと,前記冗長プロセッサに関連付けられたストレージからの各エントリとを並行して比較し,」が特定する事項が不明確であるとの拒絶の理由を通知しているが,平成29年8月24日付けの手続補正により,「前記ストレージ内の1つのエントリと,前記冗長プロセッサに関連付けられたストレージからの各エントリとを,最新の一致を見つけるまで,前記1つのエントリとして異なるエントリを用いつつ,並行して比較し,」と補正された結果,この拒絶の理由は解消した。
第7 むすび
以上のとおり,本願発明1-18は,当業者が引用発明及び引用文献2発明に基づいて容易に発明をすることができたものではない。したがって,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2016-005283