特許拒絶査定不服審判
2023-018556
動作トレース装置
- 審判番号
- 2023-018556
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2019-146092
- 請求日
- 2023年11月01日
- 審決日
- 2024年09月03日
- 公報発行日
- 2024年11月29日
- 結論
- 請求不成立
- 当事者
- 【請求人】日本信号株式会社
- 【請求人代理人】山川 啓
- 審判長/審判官
- 審判長 吉田 美彦
- 審判官 須田 勝巳
- 審判官 脇岡 剛
- 分類
- P18 .121-Z (G06F)
- 根拠条文(結論部分から自動抽出・参考)
- 特許法29条2項
- 条文(本文から自動抽出・参考)
- 特許法第29条第2項、特許法第17条の2第3項、特許法第17条の2第4項、特許法第17条の2第5項第2号、特許法第17条の2第6項
- データ出所
- 審決公報(XML)
事件の表示
特願2019-146092「動作トレース装置」拒絶査定不服審判事件〔令和 3年 2月22日出願公開、特開2021- 26648〕について、次のとおり審決する。
結論
結 論
本件審判の請求は、成り立たない。
理由
理 由
第1 手続の経緯
本願は、令和1年8月8日の出願であって、その手続の経緯は以下のとおりである。
令和 5年 5月12日付け:拒絶理由通知書
令和 5年 6月15日 :意見書、手続補正書の提出
令和 5年 9月25日付け:拒絶査定
令和 5年11月 1日 :審判請求書、手続補正書の提出
第2 令和5年11月1日にされた手続補正についての補正の却下の決定
[補正の却下の決定の結論]
令和5年11月1日にされた手続補正(以下「本件補正」という。)を却下する。
[理由]
1 本件補正について(補正の内容)
(1)本件補正後の特許請求の範囲の記載
本件補正により、特許請求の範囲の請求項1の記載は、次のとおり補正された。(下線部は、補正箇所である。)
「 【請求項1】
複数のプロセッサのバス情報を、前記複数のプロセッサに接続されたバスからそれぞれ分岐して読み取るとともに、並行して別途共通の計時部に基づく計時情報を読み取って、読み取った計時情報を前記バス情報に付与して計時付与バス情報を命令単位で作成するタイムスタンプ部と、
前記タイムスタンプ部で作成された前記計時付与バス情報を記録する記録部と
を備える動作トレース装置。」
(2)本件補正前の特許請求の範囲の記載
本件補正前の、令和5年6月15日にされた手続補正により補正された特許請求の範囲の請求項1の記載は次のとおりである。
「 【請求項1】
複数のプロセッサのバス情報をそれぞれ分岐して読み取るとともに並行して別途計時部に基づく計時情報を読み取って、読み取った計時情報を前記バス情報に付与して計時付与バス情報を作成するタイムスタンプ部と、
前記タイムスタンプ部で作成された前記計時付与バス情報を記録する記録部と
を備える動作トレース装置。」
2 補正の適否
本件補正における「バス情報を、前記複数のプロセッサに接続されたバスからそれぞれ分岐して読み取る」との事項は、当初明細書の段落0020、0030、及び図2、図3等に記載されたものであり、また、「バス情報の読取と並行して別途読み取る計時情報を、共通の計時部に基づくものとしたこと」は、当初明細書の段落0020、0044、及び図3、図6等に記載されたものであり、さらに、「計時付与バス情報を命令単位で作成するものとしたこと」は、当初明細書の段落0020、及び図4等に記載されたものであるから、本件補正は、特許法第17条の2第3項の規定に適合するものである。
また、本件補正前の「バス情報をそれぞれ分岐して読み取る」ことを本件補正後の「バス情報を、前記複数のプロセッサに接続されたバスからそれぞれ分岐して読み取る」とする補正(以下、「補正事項1」という。)は、バス情報を分岐して読み取る態様を限定するものであり、本件補正前の「別途計時部」を本件補正後の「別途共通の計時部」とする補正(以下、「補正事項2」という。)は、計時部を限定するものであり、さらに、本件補正前の「計時付与バス情報を作成する」ことを本件補正後の「計時付与バス情報を命令単位で作成する」とする補正(以下、「補正事項3」という。)は、計時付与バス情報を作成する態様を限定するものであるから、上記補正事項1~3は、補正前の請求項1の発明特定事項を限定するものであり、本件補正後の特許請求の範囲に記載される事項により特定される発明は、補正前の発明と単一性を満たすものである。(特許法第17条の2第4項)
上記のとおり、補正事項1~3は、補正前の請求項1の発明特定事項を限定するものであり、補正前の請求項1に記載された発明と補正後の請求項1に記載される発明の産業上の利用分野及び解決しようとする課題は同一であるから、特許法第17条の2第5項第2号の特許請求の範囲の減縮を目的とするものである。
そこで、本件補正後の請求項1に記載される発明(以下「本件補正発明」という。)が同条第6項において準用する同法第126条第7項の規定に適合するか(特許出願の際独立して特許を受けることができるものであるか)について、以下、検討する。
(1)本件補正発明
本件補正発明は、上記1(1)に記載したとおりのものである。
(2)引用文献
ア 引用文献1の記載事項
原査定の拒絶の理由で引用された本願の出願前に頒布された又は電気通信回線を通じて公衆に利用可能となった引用文献である、特開2011-181068号公報(平成23年9月15日公開。以下「引用文献1」という。)には、図面とともに、次の記載がある。(下線は当審で付加したものである。以下、同様。)
(ア)「【0034】
図1は、データ処理装置1を概略的に示す。データ処理装置1は、少なくとも1つのプロセッサ4を含む、処理回路を含む。図1の例において、第1のプロセッサ4-1、および第2のプロセッサ4-2の2つのプロセッサが存在する。後続の記載において、プロセッサが概して参照され、どの特定のプロセッサが参照されるかは重要ではなく、参照番号4は、プロセッサを表すために使用される。処理回路は、例えば、ハードウェアアクセラレータ、コプロセッサまたは画像処理装置等の他の処理コンポーネントをさらに含んでもよいと考えられる。
【0035】
データ処理装置1は、さらに、処理中に使用される値を格納するためのレジスタバンク6、およびプロセッサ4によって使用するためにデータおよび命令を格納するためのメモリ8を含む。プロセッサ4、レジスタバンク6およびメモリ8は、バス10を介して接続される。
【0036】
処理装置1は、さらに、処理装置1および装置1によって実行されるデータ処理の特徴を示すトレースデータを生成するための、少なくとも1つのトレースモジュール12も含む。図1において、2つのトレースモジュール12-1、12-2が存在するが、概して、特定のトレースモジュールを参照せずに、トレースモジュールが参照される例が示され、参照番号12が使用される。図1のトレースモジュール12が、データ処理装置1内に示され、トレースモジュールは、さらに、データ処理装置1のハウジングの外に配置される外部トレースモジュールであってもよい。トレースモジュール12は、トレースデータを生成し、トレースデータをトレースバッファ14に出力し、ここで、データはオンチップで格納されてもよく、またはオフチップに出力されてもよい。トレースデータは、装置1についての診断またはデバッグ情報を提供するために分析されてもよく、また、プロセッサ4によって実行された処理についての診断およびデバッグ情報を含んでもよい。
【0037】
1つより多いトレースモジュール12が提供される場合、各トレースモジュールは、異なる機能を有してもよい。例えば、図1に示される構成において、トレースモジュール12-1は、プロセッサ4-1によって実行されるスレッドを監視してもよく、一方で、トレースモジュール12-2は、プロセッサ4-2によって実行されるスレッドを監視する。あるいは、トレースモジュール12-1、12-2の両方は、単一のプロセッサ4を監視することができるが、異なるトレーシング機能を提供することもできる。例えば、トレースモジュール12-1は、プロセッサ4によって処理される命令を監視するプログラムフロートレースを提供できる可能性があり、一方で、トレースモジュール12-2は、実行される命令の可視性を有しないが、代わりに、バス10上で入力および出力されるデータを監視できる計装トレースを提供できる。このため、トレースモジュール12によって、少なくとも1つのトレースストリームを生成できる。トレースストリームは、少なくとも1つのトレースパケットを含み、各トレースパケットは、装置1の1つ以上の特徴を示すか、またはプロセッサ4によって実行されるデータ処理を示す。図6を参照して後で記載されるように、多くの種類の特徴を、トレースモジュール12によって監視してもよい。
【0038】
トレースストリームのパケットから診断またはデバッグ情報を得るために、トレースストリームを分析する際に、トレースパケットの生成の時間および/または順序を推論することが有用である可能性がある。これは、特に、異なるトレースストリームのトレースパケットが生成された時間を相関づけるタスクが自明ではない(not trivial)、2つ以上のトレースストリームが生成される場合に有用である可能性がある。従って、トレースモジュール12は、異なるストリームの相関付けを可能にするための、参照ポイントを提供するために、トレースストリームに挿入されるタイムスタンプを生成する場合がある。本技術では、トレースパケットが生成されたときのポイントで、タイムスタンプの生成が生じるようにされている。これは、各トレースモジュール12に、タイムスタンプリクエストフラグ(または「stickyフラグ」)18を提供することで行われる。所定の重要な事象の発生時において、タイムスタンプリクエストが保留になっていることを示すように、フラグ18が設定される。次いで、トレースモジュールがトレースストリームの後続のトレースパケットを生成する場合、トレースモジュールは、保留のタイムスタンプリクエストを示すかどうかを確認するために、タイムスタンプリクエストフラグ18をチェックする。リクエストが保留になっている場合、トレースモジュール12は、後続のトレースパケットと共にタイムスタンプを生成する。後続のトレースパケットと共に、タイムスタンプを生成させることで、タイムスタンプのみを含み、いかなるトレースデータも含まない、トレースパケットの生成は行われない。さらに、重要な事象の発生後すぐにタイムスタンプが発行される場合に生じる、2つのトレースパケット間のいずれかに配置されるのではなく、装置1によって実行されるデータ処理の特定のポイントを表すトレースデータの特定の部分に固定されるため、生成されたタイムスタンプは、より有用となる可能性がある。これは、より多くのトレースパケットの生成の時間を、正確に判定し得ることを意味する。」
(イ)「【0044】
タイムスタンプが生成されていてもいなくても、ステップ38において、トレースモジュール12により、次のトレースパケットが生成される。生成されたトレースパケットは、トレースバッファ14に出力することができ、これが分析されるように、任意選択的に、データ処理装置1から出力することができる。次いで、ステップ40において、方法は、プロセッサ4によって実行された処理が完了したかどうかをチェックするために進む。処理が完了した場合、方法は終了し、一方で、処理が継続する場合、方法はステップ24に戻り、ここで、別の所定の事象が起こったかどうかが判定される。」
(ウ)「【0048】
図4は、図3Aと同じスレッドが実行される場合に生成されるが、本技術のタイムスタンプが適用される、トレースパケットの例を示す。本技術において、所定の事象の発生時に、タイムスタンプリクエストフラグ18が設定される。これは、次のトレースパケットが生成された場合に、タイムスタンプも生成する必要があることを示す。図4の例において、所定の事象は、コンテクスト同期事象である。
【0049】
図4において、プロセッサ4-1は、処理スレッドT1を開始し、トレースモジュール12-1は、0および300の時間において、2つのトレースパケットを生成する。時間400において、スレッドT1は中断され、プロセッサ4-1は、コンテクスト切り替えを実行する。コンテクスト切り替えの一部として、スレッドT1は、準備完了の状態に設定され、プロセッサ4-1は、コンテクスト同期事象に遭遇する。コンテクスト同期事象は、タイムスタンプリクエストフラグ18-1を設定させる。同様に、時間650において、プロセッサ4-2上で実行されていたスレッドT2が中断され、プロセッサ4-2はコンテクスト切り替えを実行する。このコンテクスト切り替えの一部として、スレッドT1は、準備完了の状態からアクティブの状態に設定され、つまり、プロセッサ4-2上での実行を開始し、プロセッサ4-2は、まず、コンテクスト同期事象を実行する。コンテクスト同期事象によって、タイムスタンプリクエストフラグ18-2が設定される。
【0050】
このため、時間700において、プロセッサ4-2上で実行するスレッドT1が、トレースモジュール12-2によってトレースパケットを生成する場合、トレースパケットは、時間値700を含む付加されたタイムスタンプを有する。タイムスタンプリクエストフラグ、18-2が、引き続き、リセットされる。
【0051】
同様に、プロセッサ4-1またはプロセッサ4-2においてコンテクスト切り替えが発生するたびに、コンテクスト同期事象に遭遇し、対応するタイムスタンプリクエストフラグ18-1または18-2が設定され、次に生成されたトレースパケットが、トレースパケットが生成された時間を示すタイムスタンプと共に生成される。タイムスタンプが生成されるたびに、フラグは、タイムスタンプリクエストをクリアにするためにリセットされる。」
(エ)「【0064】
図6は、生成されたトレースパケットの例示的なフォーマットを示す。トレースパケットは、装置1または実行されるデータ処理の種々の特徴についてのデータを含んでもよい。例えば、トレースパケットは、データ処理の実行中にプロセッサ4によって処理されたデータ、データ処理の結果として生成されたデータ、データ処理中に実行された命令、データ処理の実行中にアクセスされたメモリアドレス、プロセッサ4によってアクセスされたレジスタバンク6のレジスタおよびこれらのレジスタに格納された値、ならびにハードウェア事象の発生、のうちの1つ以上を示す、そのペイロード情報に含むことができる。ハードウェア事象は、例えば、キャッシュミスの発生、ダイレクトメモリアクセス(DMA)エンジンの開始、ハードウェアアクセラレータによる処理の開始、またはシステムハードウェアによって信号を送られた任意の他の事象である可能性がある。ハードウェア事象は、例えば、特定の種類の事象を示す数によって、トレースパケットペイロードにおいて識別することができる。トレースモジュール12によって追跡される特徴は、プロセッサ4によって実行されるデータ処理から結果的に生じる特徴でもよく、または、装置1の特徴、もしくは実行されるデータ処理に関係なく生じる重要な事象でもよい。
【0065】
生成されたトレースパケットに対応して生成されたタイムスタンプは、いくつかの形式を有してもよい。例えば、図6に示されるように、タイムスタンプは、タイムスタンプが生成された時間を示す単純な数値にできる可能性があり、図6に示されるように、トレースパケットのペイロード内またはパケットヘッダの一部として、トレースパケットに挿入できる可能性がある。他の形式のタイムスタンプも、可能である。
【0066】
あるいは、システムが、2つ以上の別個のタイミングスキームを使用して動作する場合、これらのタイミングスキームのうちの2つ以上を相関付けるための情報を提供することが有用である場合がある。例えば、単一のプロセッサクラスタ内の1つ以上のトレースモジュールは、ローカルクロックによって生成されたローカルタイミングスキームを使用してもよいが、外部タイミングスキームも、グローバルカウンタまたはタイマおよび/または他のプロセッサクラスタから使用可能な場合がある。異なる時間値の相関を可能にするために、グローバルタイマモジュールは、グローバル時間値を、各タイマ事象時にトレースモジュール12に渡すことができ、トレースモジュール12は、ローカルタイムスタンプ値によって、グローバル時間値をタイムスタンプすることができる。このため、トレースパケットに対応して生成されたタイムスタンプは、図7に示されるように、例えば、ローカルタイムスタンプは相関トレースパケットのヘッダに適用されるが、グローバル時間値はパケットペイロードの一部である(またはその逆である)、相関パケットにできる可能性がある。ここでも、かかる相関パケットを、次のトレースパケットの生成時、およびタイムスタンプリクエストフラグの設定に結果として、トレースストリームのみに挿入する。相関パケットは、トレースストリーム内のさらなるパケットを示すが、次のトレースパケットが生成されるまでの、相関パケットの発行の遅延は、トレースデータがこれ以上生成されない場合に、1つ以上の不要な相関パケットの挿入が回避されることを意味するため、まだ有用である。これにより、トレースバッファ14のオーバーフローの可能性が低減する。」
(オ)「図1
[図:0001416185000001.jpg]
」
(カ)「図4
[図:0001416185000002.jpg]
」
(キ)「図6
[図:0001416185000003.jpg]
」
イ 引用発明
上記引用文献1の記載について検討する。
(ア)上記ア(ア)の段落0034~0036の記載及び図1の記載から、引用文献1には、“第1のプロセッサ4-1、第2のプロセッサ4-2、レジスタバンク6、メモリ8、トレースモジュール12-1、12-2、及びトレースバッファ14-1、14-2を含むデータ処理装置1におけるトレースモジュール12-1、12-2、及びトレースバッファ14-1、14-2”が記載されていると認められる。
(イ)上記ア(ア)の段落0034の「どの特定のプロセッサが参照されるかは重要ではなく、参照番号4は、プロセッサを表すために使用される」との記載、及び同段落0036の「特定のトレースモジュールを参照せずに、トレースモジュールが参照される例が示され、参照番号12が使用される」との記載から、引用文献1には、“参照番号4は、いずれかのプロセッサを表すために使用され、参照番号12は、いずれかのトレースモジュールが参照される際に使用されるものであ”ることが記載されていると認められる。
(ウ)上記ア(ア)の段落0035の記載及び図1の記載から、“第1のプロセッサ4-1、第2のプロセッサ4-2、レジスタバンク6及びメモリ8は、バス10を介して接続されて”いることが記載されていると認められる。
(エ)図1の記載から、“2つのトレースモジュール12-1及び12-2は、バス10に接続されて”いることが読み取れる。
(オ)上記ア(ア)の段落0036の「トレースモジュール12は、トレースデータを生成し、トレースデータをトレースバッファ14に出力し、ここで、データはオンチップで格納されてもよく、またはオフチップに出力されてもよい。トレースデータは、装置1についての診断またはデバッグ情報を提供するために分析されてもよく」との記載と上記ア(イ)の段落0044の「トレースモジュール12により、次のトレースパケットが生成される。生成されたトレースパケットは、トレースバッファ14に出力することができ、これが分析されるように、任意選択的に、データ処理装置1から出力する」との記載からすると、「トレースパケット」は「トレースモジュール12」で生成されてトレースバッファ14に出力されるデータである点で「トレースデータ」と同様のものであり、「トレースパケット」も「トレースデータ」と同様に、「トレースバッファ14」で「オンチップで格納され」ていると認められる。
そうすると、上記ア(ア)の段落0036の記載、上記ア(イ)の段落0044の記載及び図1の記載から、引用文献1には、“トレースモジュール12-1は、トレースパケットを生成し、トレースパケットをトレースバッファ14-1に出力し、ここで、トレースパケットはオンチップで格納され、また、トレースモジュール12-2は、トレースパケットを生成し、トレースパケットをトレースバッファ14-2に出力し、ここで、トレースパケットはオンチップで格納され”ることが記載されていると認められる。
(カ)上記ア(ア)の段落0037~0038の記載から、引用文献1には、“前記トレースモジュール12-1は、プロセッサ4-1によって実行されるスレッドを監視し、トレースモジュール12-2は、プロセッサ4-2によって実行されるスレッドを監視し、
トレースモジュール12によって、少なくとも1つのトレースストリームを生成でき、トレースストリームは、少なくとも1つのトレースパケットを含み、各トレースパケットは、プロセッサ4によって実行されるデータ処理を示し、
トレースパケットが生成されたときのポイントで、タイムスタンプの生成が生じるようにされており、
所定の重要な事象の発生時において、タイムスタンプリクエストが保留になっていることを示すように、フラグ18が設定され、リクエストが保留になっている場合、トレースモジュール12は、後続のトレースパケットと共にタイムスタンプを生成”することが記載されていると認められる。
(キ)上記ア(ウ)の段落0050の記載及び図4の記載から、引用文献1には、“時間700において、プロセッサ4-2上で実行するスレッドT1が、トレースモジュール12-2によってトレースパケットを生成する場合、トレースパケットは、時間値700を含む付加されたタイムスタンプを有”することが記載されていると認められる。
(ク)上記ア(ウ)の段落0050の「時間700」における記載と図4の「時間2100」における記載とに着目すると、引用文献1には、“時間2100において、プロセッサ4-1上で実行するスレッドT1が、トレースモジュール12-1によってトレースパケットを生成する場合、トレースパケットは、時間値2100を含む付加されたタイムスタンプを有し、また、同じく時間2100において、プロセッサ4-2上で実行するスレッドT2が、トレースモジュール12-2によってトレースパケットを生成する場合、トレースパケットは、時間値2100を含む付加されたタイムスタンプを有”することが記載されていると認められる。
(ケ)上記ア(エ)の段落0064の記載及び図6の記載から、引用文献1には、“トレースパケットは、データ処理の実行中にプロセッサ4によって処理されたデータ、データ処理の結果として生成されたデータ、データ処理中に実行された命令、データ処理の実行中にアクセスされたメモリアドレス、プロセッサ4によってアクセスされたレジスタバンク6のレジスタ及びこれらのレジスタに格納された値、ならびにハードウェア事象の発生、のうちの1つ以上をそのペイロード情報に含”むことが記載されていると認められる。
(コ)上記ア(エ)の段落0065の記載及び図6の記載から、引用文献1には、“生成されたトレースパケットに対応して生成されたタイムスタンプは、タイムスタンプが生成された時間を示す単純な数値にでき、トレースパケットのペイロード内またはパケットヘッダの一部として、トレースパケットに挿入できる”ことが記載されていると認められる。
上記(ア)~(コ)の検討から、引用文献1には、次の発明(以下「引用発明」という。)が記載されていると認められる。
(引用発明)
第1のプロセッサ4-1、第2のプロセッサ4-2、レジスタバンク6、メモリ8、トレースモジュール12-1、12-2、及びトレースバッファ14-1、14-2を含むデータ処理装置1におけるトレースモジュール12-1、12-2、及びトレースバッファ14-1、14-2であって、
参照番号4は、いずれかのプロセッサを表すために使用され、参照番号12は、いずれかのトレースモジュールが参照される際に使用されるものであり、
第1のプロセッサ4-1、第2のプロセッサ4-2、レジスタバンク6及びメモリ8は、バス10を介して接続されており、
2つのトレースモジュール12-1及び12-2は、バス10に接続されており、
トレースモジュール12-1は、トレースパケットを生成し、トレースパケットをトレースバッファ14-1に出力し、ここで、トレースパケットはオンチップで格納され、また、トレースモジュール12-2は、トレースパケットを生成し、トレースパケットをトレースバッファ14-2に出力し、ここで、トレースパケットはオンチップで格納され、
前記トレースモジュール12-1は、プロセッサ4-1によって実行されるスレッドを監視し、トレースモジュール12-2は、プロセッサ4-2によって実行されるスレッドを監視し、
トレースモジュール12によって、少なくとも1つのトレースストリームを生成でき、トレースストリームは、少なくとも1つのトレースパケットを含み、各トレースパケットは、プロセッサ4によって実行されるデータ処理を示し、
トレースパケットが生成されたときのポイントで、タイムスタンプの生成が生じるようにされており、
所定の重要な事象の発生時において、タイムスタンプリクエストが保留になっていることを示すように、フラグ18が設定され、リクエストが保留になっている場合、トレースモジュール12は、後続のトレースパケットと共にタイムスタンプを生成し、
時間700において、プロセッサ4-2上で実行するスレッドT1が、トレースモジュール12-2によってトレースパケットを生成する場合、トレースパケットは、時間値700を含む付加されたタイムスタンプを有し、
時間2100において、プロセッサ4-1上で実行するスレッドT1が、トレースモジュール12-1によってトレースパケットを生成する場合、トレースパケットは、時間値2100を含む付加されたタイムスタンプを有し、また、同じく時間2100において、プロセッサ4-2上で実行するスレッドT2が、トレースモジュール12-2によってトレースパケットを生成する場合、トレースパケットは、時間値2100を含む付加されたタイムスタンプを有し、
トレースパケットは、データ処理の実行中にプロセッサ4によって処理されたデータ、データ処理の結果として生成されたデータ、データ処理中に実行された命令、データ処理の実行中にアクセスされたメモリアドレス、プロセッサ4によってアクセスされたレジスタバンク6のレジスタ及びこれらのレジスタに格納された値、ならびにハードウェア事象の発生、のうちの1つ以上をそのペイロード情報に含み、
生成されたトレースパケットに対応して生成されたタイムスタンプは、タイムスタンプが生成された時間を示す単純な数値にでき、トレースパケットのペイロード内またはパケットヘッダの一部として、トレースパケットに挿入できる、
トレースモジュール12-1、12-2、及びトレースバッファ14-1、14-2。
(3)引用発明との対比
本件補正発明と引用発明を対比する。
ア 「タイムスタンプ部」について
(ア)引用発明の「第1のプロセッサ4-1、第2のプロセッサ4-2」は、本件補正発明の「複数のプロセッサ」に相当する。
引用発明の「第1のプロセッサ4-1」と「第2のプロセッサ4-2」は、「バス10」を介して接続されているから、引用発明の「バス10」は、「第1のプロセッサ4-1」及び「第2のプロセッサ4-2」に“接続されたバス”である。
ここで、本件補正発明の「前記複数のプロセッサに接続されたバス」に関連して、本願明細書の段落0062には、「また、上記では、2つのプロセッサP1,P2に対して個別のバスから分岐する構成としているが、これに限らず、例えば複数のプロセッサが1つのバスを共有する場合等、種々の態様においても、適用可能である。」(下線は、当審で付加した。)との記載があり、この記載を参酌すると、本件補正発明の「前記複数のプロセッサに接続されたバス」との記載は、「前記複数のプロセッサにそれぞれ接続された個別のバス」(以下、「前者」という。)とも、「前記複数のプロセッサに接続された1つのバス」(以下、「後者」という。)とも、いずれとも解される記載であるところ、引用発明の「バス10」は、「第1のプロセッサ4-1」と「第2のプロセッサ4-2」が接続される“1つのバス”であるから、後者の「前記複数のプロセッサに接続された1つのバス」に相当するといえる。
したがって、引用発明の「バス10」は、本件補正発明の「前記複数のプロセッサに接続されたバス」に相当する。
(イ)引用発明において、「第1のプロセッサ4-1」と「第2のプロセッサ4-2」は「バス10」を介して接続されており、また、「2つのトレースモジュール12-1及び12-2」も「バス10」に接続されている。
ここで、引用発明の「トレースモジュール12-1」は、プロセッサ4-1によって実行されるスレッドを監視し、「トレースモジュール12-2」は、プロセッサ4-2によって実行されるスレッドを監視するものであるところ、“スレッドを監視する”ということは、バス10に流れる情報を監視することに他ならず、図1に開示された事項を踏まえると、バス10に流れる情報を“分岐して読み取る”構成を採用していることに他ならない。
そして、トレースモジュール12によって生成されるトレースストリームに含まれるトレースパケットには、「データ処理の実行中にプロセッサ4によって処理されたデータ、データ処理の結果として生成されたデータ、データ処理中に実行された命令、データ処理の実行中にアクセスされたメモリアドレス、プロセッサ4によってアクセスされたレジスタバンク6のレジスタ及びこれらのレジスタに格納された値、ならびにハードウェア事象の発生」などの「ペイロード情報」が含まれるところ、上記の検討を踏まえれば、トレースモジュール12は、これらの「ペイロード情報」を「バス10」から“分岐して読み取る”ものと認められる。
以上の検討を踏まえると、引用発明の「トレースモジュール12-1」は、プロセッサ4-1によって実行されるスレッドに係る「ペイロード情報」を「バス10」から“分岐して読み取”り、また、「トレースモジュール12-2」は、プロセッサ4-2によって実行されるスレッドに係る「ペイロード情報」を「バス10」から“分岐して読み取る”ものといえる。
(ウ)上記(イ)の検討を踏まえると、引用発明の「ペイロード情報」は、本件補正発明の「バス情報」に相当するといえるから、引用発明の“プロセッサ4-1によって実行されるスレッドに係るペイロード情報”及び“プロセッサ4-2によって実行されるスレッドに係るペイロード情報”は、本件補正発明の「複数のプロセッサのバス情報」に相当する。
(エ)上記(ア)~(ウ)の検討から、引用発明の「トレースモジュール12-1」及び「トレースモジュール12-2」と本件補正発明の「タイムスタンプ部」とは、「複数のプロセッサのバス情報を、前記複数のプロセッサに接続されたバスからそれぞれ分岐して読み取る」ものである点で共通する。
(オ)引用発明の「タイムスタンプ」に含まれる「時間値」は、タイムスタンプが生成された時間を示す数値であるから、本件補正発明の「計時情報」に相当する。
また、引用発明では、トレースパケットに対応して生成された「タイムスタンプ」が、トレースパケットのペイロード内またはパケットヘッダの一部としてトレースパケットに挿入されるものであるから、「トレースモジュール12」は、「タイムスタンプ」に含まれる「時間値」をトレースパケットに含まれる「ペイロード情報」に“付与して”「トレースパケット」を“作成”しているといえる。そうすると、引用発明の「トレースパケット」は、「時間値」が“付与”された「ペイロード情報」であるから、本件補正発明の「計時付与バス情報」に相当する。
また、引用発明の「トレースパケット」に含まれるペイロード情報には、「データ処理中に実行された命令」や「データ処理の実行中にアクセスされたメモリアドレス」等が含まれるものであるから、「トレースパケット」は“命令単位”で作成されているものである。
以上の対比を踏まえると、引用発明の「トレースモジュール12-1」及び「トレースモジュール12-2」と本件補正発明の「タイムスタンプ部」とは、「計時情報を前記バス情報に付与して計時付与バス情報を命令単位で作成するタイムスタンプ部」である点で一致する。
(カ)上記(ア)~(オ)の検討から、引用発明の「トレースモジュール12-1」及び「トレースモジュール12-2」と本件補正発明の「タイムスタンプ部」とは、後記する点で相違するものの、「複数のプロセッサのバス情報を、前記複数のプロセッサに接続されたバスからそれぞれ分岐して読み取るとともに、計時情報を前記バス情報に付与して計時付与バス情報を命令単位で作成するタイムスタンプ部」である点で一致する。
イ 「記録部」について
引用発明の「トレースモジュール12-1」は、トレースパケットを生成し、トレースパケットをトレースバッファ14-1に出力し、ここで、トレースパケットはオンチップで格納され、また、「トレースモジュール12-2」は、トレースパケットを生成し、トレースパケットをトレースバッファ14-2に出力し、ここで、トレースパケットはオンチップで格納されるものであるから、上記アの対比を踏まえると、引用発明の「トレースバッファ14-1及びトレースバッファ14-2」は、本件補正発明の「前記タイムスタンプ部で作成された前記計時付与バス情報を記録する記録部」に相当する。
ウ 「動作トレース装置」について
引用発明の「トレースモジュール12-1、12-2、及びトレースバッファ14-1、14-2」は、上記ア、イで検討した構成を有するものであり、“動作をトレースする装置”であるといえるから、本件補正発明の「動作トレース装置」に対応する。
上記ア~ウの検討から、本件補正発明と引用発明との一致点及び相違点は、次のとおりである。
[一致点]
複数のプロセッサのバス情報を、前記複数のプロセッサに接続されたバスからそれぞれ分岐して読み取るとともに、計時情報を前記バス情報に付与して計時付与バス情報を命令単位で作成するタイムスタンプ部と、
前記タイムスタンプ部で作成された前記計時付与バス情報を記録する記録部と
を備える動作トレース装置。
[相違点1]
本件補正発明のタイムスタンプ部は、バス情報の読み取りと「並行して別途共通の計時部に基づく計時情報を読み取って、読み取った」計時情報をバス情報に付与するのに対して、引用発明の「トレースモジュール12-1」及び「トレースモジュール12-2」は、時間値を含むタイムスタンプを生成するものではあるものの、当該時間値が、ペイロード情報の読み取りと並行して別途共通の計時部に基づく計時情報を読み取ったものであることは明示的に特定されていない点。
(4)判断
上記相違点について検討する。
ア 相違点1について
(ア)引用発明は、「時間2100」において、「プロセッサ4-1上で実行するスレッドT1が、トレースモジュール12-1によってトレースパケットを生成する場合」、トレースパケットは、「時間値2100」を含む付加されたタイムスタンプを有するものであり、また、同じく「時間2100」において、プロセッサ4-2上で実行するスレッドT2が、トレースモジュール12-2によってトレースパケットを生成する場合、トレースパケットは、「時間値2100」を含む付加されたタイムスタンプを有するものであるから、トレースモジュール12-1とトレースモジュール12-2とで、「時間2100」におけるタイムスタンプの時間値が同じ「時間値2100」となっているものである。
そして、トレースモジュール12-1とトレースモジュール12-2が、同じ時間に同じ時間値のタイムスタンプを付加するためには、トレースモジュール12-1とトレースモジュール12-2が同じ時間値を提供する共通のタイマ(計時部)を用いていない限り不可能である。
また、引用文献1の段落0066には、「あるいは、システムが、2つ以上の別個のタイミングスキームを使用して動作する場合、これらのタイミングスキームのうちの2つ以上を相関付けるための情報を提供することが有用である場合がある。」と記載されており、この記載は、この記載より前の記載部分、すなわち、引用発明を認定した記載部分では、“システムが、共通のタイミングスキームを使用して動作する場合”を説明していることを示唆するものである。
そうすると、トレースモジュール12-1とトレースモジュール12-2とで、「共通のタイマ(計時部)に基づく時間値(計時情報)を読み取」ることは、引用文献1に実質的に記載されているに等しい事項といえる。
(イ)また、引用発明において、トレースパケット(図6の記載も参照)を生成するにあたり、ヘッダに書き込むタイムスタンプの時間値はタイマから取得するものである一方、ペイロードに書き込む情報は、バスから分岐して取得するものであるから、その取得元は異なるものであり、ヘッダに書き込むタイムスタンプの時間値とペイロードに書き込む情報とは、いずれか一方を先に読み込む必要があるという性質のものではないことからすれば、両者を“並行して別途”読み取るようにすることは、当業者であれば適宜なし得ることである。
(ウ)上記(ア)(イ)のことから、引用発明において、ペイロード情報を読み取ることと“並行して別途共通のタイマに基づく時間値を読み取って、読み取った”時間値をペイロード情報に付与するように構成することは、当業者が容易に想到しえたことである。
(エ)そして、本件補正発明の奏する作用効果は、引用発明の奏する作用効果から予測される範囲内のものに過ぎず、格別顕著なものということはできない。
(オ)したがって、本件補正発明は、引用発明に基づいて、当業者が容易に発明をすることができたものであり、特許法第29条第2項の規定により、特許出願の際独立して特許を受けることができないものである。
(5)請求人の主張について
ア 請求人は、審判請求書において以下のとおり主張をしている。
(ア)上記引用文献1では、例えば所定の事象の発生の際に、直ちにタイムスタンプを生成させず、代わりに、タイムスタンプリクエストフラグを設定し、タイムスタンプリクエストを保留とする構成とするものとなっている。
(イ)本願発明のように、複数のプロセッサに接続されたバスからそれぞれ分岐してバス情報を読み取ることと並行して、共通の計時部に基づいて計時情報を別途読み取り、この上で、計時付与バス情報を命令単位で作成する、という構成とすることにより、複数のプロセッサのバス情報について、共通した時間軸で詳細な情報を確実にトレースする、という技術的思想は、上記引用文献1において、開示も示唆もない。
イ 請求人の主張について検討する。
(ア)上記ア(ア)について
引用発明において、所定の事象(コンテクスト切り替え)にタイムスタンプが付与されていないからといって、この点が本件補正発明との間で相違点とならないことは、上記(3)において検討したとおりである。
したがって、請求人の主張は請求項の記載に基づくものではないから、これを採用することはできない。
(イ)上記ア(イ)について
引用発明において、ペイロード情報を読み取ることと“並行して別途共通のタイマに基づく時間値を読み取って、読み取った”時間値をペイロード情報に付与するように構成することは、当業者が容易に想到しえたことであることは、上記(4)において判断したとおりである。
したがって、請求人の主張は採用することができない。
3 本件補正についてのむすび
以上のとおり、本件補正は、特許法第17条の2第6項において準用する同法第126条第7項の規定に違反するので、同法第159条第1項の規定において読み替えて準用する同法第53条第1項の規定により却下すべきものである。
よって、上記補正の却下の決定の結論のとおり決定する。
第3 本願発明について
1 本願発明
令和5年11月1日にされた手続補正は、上記のとおり却下されたので、本願の請求項に係る発明は、令和5年6月15日にされた手続補正により補正された特許請求の範囲の請求項1ないし7に記載された事項により特定されるものであるところ、その請求項1に係る発明(以下「本願発明」という。)は、その請求項1に記載された事項により特定される、前記第2[理由]1(2)に記載のとおりのものである。
2 原査定の拒絶の理由
原査定の拒絶の理由は、この出願の請求項1に係る発明は、本願の出願前に頒布された下記の引用文献1に記載された発明に記載された技術に基づいて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない、というものである。
引用文献1:特開2011-181068号公報
3 引用文献
原査定の拒絶の理由で引用された引用文献1の記載事項は、前記第2の[理由]2(2)に記載したとおりである。
4 対比・判断
本願発明は、前記第2の[理由]2で検討した本件補正発明から、補正事項1~3に係る限定事項を削除したものである。
そうすると、本願発明の発明特定事項を全て含み、さらに他の事項を付加したものに相当する本件補正発明が、前記第2の[理由]2(3)、(4)に記載したとおり、引用発明に基づいて、当業者が容易に発明をすることができたものであるから、本願発明も、引用発明に基づいて、当業者が容易に発明をすることができたものである。
第4 むすび
以上のとおり、本願発明は、特許法第29条第2項の規定により特許を受けることができないから、他の請求項に係る発明について検討するまでもなく、本願は拒絶されるべきものである。
よって、結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2023-018556