ポートフォリオを新規に作成して保存 |
|
|
既存のポートフォリオに追加保存 |
|
PDFをダウンロード![]() |
審決分類 |
審判 査定不服 5項独立特許用件 特許、登録しない。 G06F 審判 査定不服 4号2号請求項の限定的減縮 特許、登録しない。 G06F 審判 査定不服 2項進歩性 特許、登録しない。 G06F 審判 査定不服 特17条の2、3項新規事項追加の補正 特許、登録しない。 G06F |
---|---|
管理番号 | 1252098 |
審判番号 | 不服2010-1537 |
総通号数 | 148 |
発行国 | 日本国特許庁(JP) |
公報種別 | 特許審決公報 |
発行日 | 2012-04-27 |
種別 | 拒絶査定不服の審決 |
審判請求日 | 2010-01-25 |
確定日 | 2012-02-06 |
事件の表示 | 特願2003- 689「コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置」拒絶査定不服審判事件〔平成15年 8月22日出願公開、特開2003-233508〕について、次のとおり審決する。 |
結論 | 本件審判の請求は、成り立たない。 |
理由 |
第1.手続の経緯 本願は、平成15年1月6日(パリ条約による優先権主張2002年1月4日、米国)の出願であって、平成18年1月5日付けで手続補正がなされ、平成20年5月13日付けで拒絶理由が通知され、同年9月16日付けで手続補正がなされ、同年12月1日付けで最後の拒絶理由が通知され、平成21年3月5日付けで手続補正がなされ、同年4月21日付けで最後の拒絶理由が通知され、同年7月22日付けで手続補正がなされ、同年9月16日付けで前記平成21年7月22日付けの手続補正を却下するとともに、同日付けで拒絶査定がなされ、これに対し、平成22年1月25日に審判請求がなされるとともに、同日付けで手続補正がなされたものである。そして、同年6月28日付けで審査官から前置報告がなされ、平成23年1月27日付けで当審より審尋がなされ、同年7月14日付けで回答書が提出されたものである。 第2.平成22年1月25日付けの手続補正についての補正却下の決定 [補正却下の決定の結論] 平成22年1月25日付けの手続補正を却下する。 [理由] 1.本件補正 平成22年1月25日付けの手続補正(以下、「本件補正」という。)の内容は、 平成21年3月5日の手続補正により補正された特許請求の範囲の請求項1の記載 「【請求項1】 ホストプロセッサを有するホストコンピューティングシステム中の少なくとも1つのコプロセッサの計算リソースを制御するための方法であって、 前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも1つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも1つのコプロセッサを制御するステップであって、 前記コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え、 前記少なくとも1つのコプロセッサは、少なくとも1つのグラフィックスプロセッサであるステップと、 前記コマンドバッファの少なくとも1つのコマンドバッファ中のコマンドに応答して、前記少なくとも1つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップと、 前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、 前記少なくとも1つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする方法。」(以下、この特許請求の範囲に記載された請求項1を「補正前の請求項1」という。)を、 「【請求項1】 ホストプロセッサを有するホストコンピューティングシステム中の少なくとも1つのコプロセッサの計算リソースを制御するための方法であって、 前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも1つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも1つのコプロセッサを制御するステップであって、 前記コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え、 前記少なくとも1つのコプロセッサは、少なくとも1つのグラフィックスプロセッサであるステップと、 前記コマンドバッファの少なくとも1つのコマンドバッファ中のコマンドに応答して、前記少なくとも1つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップと、 前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、 前記少なくとも1つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であり、 前記管理オブジェクトがコプロセッサコンテキストの複数のタイプを許容し、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付けることを特徴とする方法。」(以下、この特許請求の範囲に記載された請求項1を「補正後の請求項1」という。) に補正することを含むものである。 2.補正の適否 2-1.特許法第17条の2第3項に規定する要件についての検討 補正後の請求項1は、その記載からして、次の態様(a)を含んでいる。 (a)管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様。 (a)について検討する。 願書に最初に添付した明細書又は図面を参照すると、 「【0101】 スタンバイ状態205のコマンドバッファをハードウェアにサブミットすることができるとき、システムは、コプロセッサコンテキストを、コマンドバッファの要求するコンテキストに切り換え、次いでコマンドバッファをハードウェアにサブミットする。」、 「【0105】 …所与のコンテキストに対応する状態にハードウェアを設定するコマンドバッファを構築することができる。…あるいは、コマンドバッファの先頭を任意選択のコンテキスト切換え用に予約することもできる。」、 「【0106】 … システムは、コマンドバッファの実行開始前にハードウェアにより効率的にロードされる、1つまたは複数の軽量コンテキストタイプを定義することができる。…」、 「【0144】 540でレディ状態のコマンドバッファをディスパッチするために選択するとき、システムカーネルサポート530は、カーネルドライバ550に、ハードウェアを適切なコンテキストにコンテキスト切換えをさせ(551)、コマンドバッファをハードウェアにディスパッチさせる(552)。…」と記載されている。 しかしながら、(a)記載の態様(管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様)については、記載も示唆もない。 また、願書に最初に添付した明細書又は図面の別の箇所を参照しても、 「【0152】 … しかし、GPUコンテキストがCPUスレッドコンテキストと関連する場合にいくつかの利点があり、それによって、そのスレッドで実行中のCPUコードだけでGPUコンテキストを操作できることを理解されたい。…」、 「【0155】 ここでの基本的な観察は、GPUコンテキストがシステム中の1つのCPUスレッドと関連する場合、そのスレッドをスレッド同期プリミティブを使用して中断することにより、本質的に、CPUスレッドが非ブロック化されるまで、そのGPUコンテキストがアプリケーションから利用不能となることである。GPUコンテキストのそのような要求を行うことができるのは中断されたスレッドだけなので、スレッドが中断される限り、そのGPUコンテキストに描画オペレーションまたは他のオペレーションを実施するよう依頼することはできない。…」、 「【0157】 CPUコンテキスト切換えとGPUコンテキスト切換えとを統合することに関しては、CPUコンテキストが有することができるのが1つの関連するGPUコンテキストだけとなるように上述のGPUコンテキスト/CPUコンテキストの関連が強化される場合、CPUとGPUとの間に密接な関連が存在する、あるハードウェアアーキテクチャ(統合グラフィックスアーキテクチャおよび/またはUMAグラフィックスアーキテクチャ)に関して別の利点が潜在的に得られる。この場合、オペレーティングシステムのスレッドコンテキスト切換えコードは、CPUのコンテキストがロードされるのと同時に、関連するGPUコンテキストを任意選択でロードすることができる。この実装の方策は、CPUコードが図5に示す外部メモリ内に常駐するコマンドバッファにGPUコマンドを書き込むことが必要でない可能性のある、あるシステムに対して特に有利である。スレッドの現GPUコンテキストは、そのコンテキストがCPU内にあるスレッドのコンテキストで実行中のコードによって操作することができる可能性のある唯一のコンテキストであるので、スレッドのGPUコンテキストに対応するハードウェアレジスタを、CPUコンテキストがロードされると同時にそのスレッドから利用可能にすることにより、描画コマンドをGPUによる後の消費のためにバッファに書き込むのとは対照的に、描画コマンドをGPUに即時ディスパッチすることが容易となる。例えば、x86アーキテクチャでは、ハードウェアレジスタをポートI/Oスペースにマッピングすることができ、それによってIN/OUT命令をGPUと通信するのに使用することができ、あるいは、メモリマップ済みレジスタに公開することができ、それによって特定のメモリ位置への読み書きがGPUと通信することになる。」と記載されている。 すなわち、GPUコンテキストとCPUスレッドコンテキストの関連については、コマンドバッファにGPUコマンドを書き込むことが必要でない場合に、描画コマンドをGPUによる後の消費のためにバッファに書き込むのとは対照的に、例えば、x86アーキテクチャでは、ハードウェアレジスタをポートI/Oスペースにマッピングすることができ、それによってIN/OUT命令をGPUと通信するのに使用することができ、あるいは、メモリマップ済みレジスタに公開することができ、それによって特定のメモリ位置への読み書きがGPUと通信するように、CPU内にあるスレッドのコンテキストで実行中のコードによってGPUコマンドを直接操作することが記載されているに過ぎない。 しかしながら、(a)記載の態様(管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様)については、記載も示唆もない。 してみると、(a)記載の態様(管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様)は、出願当初の明細書又は図面に記載されておらず、かつ、その記載から自明なものでもないから、上記事項を追加する本件補正は、出願当初の明細書又は図面に記載した範囲内でしたものではない。 以上のとおり、補正後の請求項1に記載された(a)記載の事項は、出願当初の明細書又は図面に記載されておらず、かつ、その記載から自明なものでもないから、上記事項を追加する本件補正は、出願当初の明細書又は図面に記載した範囲内でしたものではないので、平成14年法律第24号改正附則第3条第1項によりなお従前の例とされる同法による改正前の特許法第17条の2第3項の規定に違反するので、同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。 2-2.補正の目的要件 仮に、前記補正前の請求項1についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合、特許法第17条の2第4項に規定する要件を満たすかどうか、検討する。 補正後の請求項1は、その記載からして、少なくとも次の発明特定事項(b)を含んでいる。 (b)管理オブジェクトが、コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付けること。 (b)について検討する。 補正後の請求項1の含む前記発明特定事項(b)は、補正前の請求項1の発明特定事項である「ホストプロセッサによって前記少なくとも1つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも1つのコプロセッサを制御するステップ」、「コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え」ること、「前記少なくとも1つのコプロセッサは、少なくとも1つのグラフィックスプロセッサである」こと、「前記コマンドバッファの少なくとも1つのコマンドバッファ中のコマンドに応答して、前記少なくとも1つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップ」、及び「前記少なくとも1つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能」であることの、いずれを限定するものでなく、また概念的に下位にしたものでもない。 また、補正後の請求項1の含む前記発明特定事項(b)は、補正前の請求項1の発明特定事項である「前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップ」を限定するものでなく、また概念的に下位にしたものでもない。 そして、新たな発明特定事項(b)を追加することで、補正後の請求項1に記載された発明は、「CPUスレッドで実行中のCPUコードだけでGPUコンテキストを操作できる」という課題を解決するものであって、補正前の請求項1に記載された発明が解決しようとする課題、すなわち「グラフィックスプロセッサの計算リソースが要求側アプリケーションに効率的に配布されることを保証するために、複数のアプリケーションによるグラフィックス処理要求のスケジューリングおよびディスパッチをコマンドバッファを用いて制御するという課題」とは異なる新たな課題を解決しようとするものである。 よって、補正前の請求項1についてする補正は、補正前の請求項1に記載した発明を特定するために必要な事項を限定したものではなく、特許法第17条の2第4項第2号の特許請求の範囲の減縮(請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の産業上の利用分野及び解決しようとする課題が同一であるもの)を目的とするものとは認められない。 また、補正前の請求項1についてする補正が、特許法第17条の2第4項第1号の請求項の削除、第3号の誤記の訂正、第4号の明りょうでない記載の釈明(拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る。)に該当するものとも認められない。 以上のとおり、仮に、前記補正前の請求項1についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合であっても、補正前の請求項1についてする補正は、特許法第17条の2第4項の規定に違反するものであり、したがって、前記補正前の請求項1についてする補正を含む本件補正は、特許法第159条第1項で読み替えて準用する同法第53条第1項の規定により却下されるべきものである。 2-3.独立特許要件 仮に、前記補正前の請求項1についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合であって、さらに、特許法第17条の2第4項第2号の特許請求の範囲の限定的減縮(請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの)を目的とするものであると仮定した場合に、本件補正後の前記請求項1に記載された発明(以下、「補正後の発明」という。)が特許出願の際独立して特許を受けることができるものであるか(特許法第17条の2第5項において準用する同法第126条第5項の規定に適合するか)以下に検討する。 2-3-1.特許法第36条第6項第1号に規定する要件について (1)補正後の発明の含む、管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様は、前記「2-1.特許法第17条の2第3項に規定する要件についての検討」で指摘したように、発明の詳細な説明に記載したものでない。 よって、この点で、補正後の発明は、発明の詳細な説明に記載したものでない。 以上のように、補正後の特許請求の範囲の請求項1の記載は、特許法第36条第6項第1号に規定する要件を満たしていないから、補正後の発明は特許出願の際独立して特許を受けることができない。 2-3-2.特許法第36条第6項第2号に規定する要件について (1)補正後の請求項1記載の「管理オブジェクトが、…前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける」において、「ホストプロセッサスレッドコンテキスト」とは、具体的に何を指すのか、不明であり、発明が明確でない。 さらに、「管理オブジェクト」は、具体的に、どのような構成で、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとをどのようにして、関連付けるのか、不明であり、発明が明確でない。 さらに、補正後の請求項1記載の「管理オブジェクトが、…前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける」ことと、前記管理オブジェクトが、「コマンドバッファの伝送をスケジューリングする」こと及び「コマンドバッファで、前記コンピューティングシステムの前記少なくとも1つのコプロセッサを制御する」こととの関係も不明であり、発明が明確でない。 以上のように、補正後の発明は、特許法第36条第6項第2号に規定する要件を満たしていないから、補正後の発明は特許出願の際独立して特許を受けることができない。 2-3-3.小括 以上のとおり、仮に、本件補正が、願書に最初に添付された明細書又は図面に記載した範囲内にしたものであると仮定した場合であって、さらに、仮に、本件補正が、特許法第17条の2第4項第2号の特許請求の範囲の限定的減縮(請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの)を目的とするものであると仮定した場合であっても、さらに、本願補正発明は、特許出願の際独立して特許を受けることができるものではないから、平成18年法律第55号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第5項の規定により準用する特許法第126条第5項の規定に適合していないから、前記補正前の請求項1についてする補正を含む本件補正は、特許法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。 3.結語 以上のとおり、補正前の請求項1についてする補正は、上記「2-1.特許法第17条の2第3項に規定する要件についての検討」において指摘したとおり、平成14年法律第24号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第3項の規定に違反するものであるから、前記補正前の請求項1についてする補正を含む本件補正は、特許法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。 また、仮に、前記補正前の請求項1についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合であっても、上記「2-2.補正の目的要件」において指摘したとおり、補正前の請求項1についてする補正は、特許法第17条の2第4項の規定に違反するものであり、したがって、前記補正前の請求項1についてする補正を含む本件補正は、特許法第159条第1項で読み替えて準用する同法第53条第1項の規定により却下されるべきものである。 また、仮に、本件補正が、願書に最初に添付された明細書又は図面に記載した範囲内にしたものであると仮定した場合であって、さらに、仮に、本件補正が、特許法第17条の2第4項第2号の特許請求の範囲の限定的減縮(請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの)を目的とするものであると仮定した場合であっても、本願補正発明は、特許出願の際独立して特許を受けることができるものではないから、平成18年法律第55号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第5項の規定により準用する特許法第126条第5項の規定に適合していないから、前記補正前の請求項1についてする補正を含む本件補正は、特許法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。 したがって、いずれにしても、前記補正前の請求項1についてする補正を含む本件補正は、特許法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。 第3.本願発明について 1.本願発明 平成22年1月25日付けの手続補正は上記のとおり却下されたので、本願の請求項1に係る発明(以下、同項記載の発明を「本願発明」という。)は、平成21年3月5日付け手続補正書の特許請求の範囲の請求項1に記載された事項により特定される、以下のとおりのものである。 「ホストプロセッサを有するホストコンピューティングシステム中の少なくとも1つのコプロセッサの計算リソースを制御するための方法であって、 前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも1つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも1つのコプロセッサを制御するステップであって、 前記コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え、 前記少なくとも1つのコプロセッサは、少なくとも1つのグラフィックスプロセッサであるステップと、 前記コマンドバッファの少なくとも1つのコマンドバッファ中のコマンドに応答して、前記少なくとも1つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップと、 前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、 前記少なくとも1つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする方法。」 2.引用文献 原査定の拒絶の理由に引用された特開平11-120146号公報(以下、「引用文献」という)には、図面とともに次の事項が記載されている。 (ア)「【0002】 【従来の技術】近年、ソフトウェア処理の一部をハードウェア化してコプロセッサを開発して高速化を行うという研究が活発に行われている。」 (イ)「【0005】本発明の目的は、並列に実行される複数のプログラムが共有資源としてのコプロセッサを非同期に使用する計算システムのコプロセッサ使用権の排他制御を高速にする方法を提供することにある。 【0006】 【課題を解決する手段】前記の問題を解決するために、本発明の並列処理プログラムとコプロセッサとの間の排他制御方法は、コプロセッサが処理を実行する際にプログラム群との入出力を行う複数の処理用バッファから成る処理バッファ群を当該コプロセッサに装着し、並列処理プログラムが使用しようとする処理バッファ群内の処理用バッファの占有使用権を管理する排他制御機能をコプロセッサに付与し、プログラム群があるコプロセッサを非同期に使用する場合には、使用されていない処理用バッファを検索し、プログラム群内の並列処理プログラムへ、使用されていない処理用バッファの占有使用権をコプロセッサから発行し、当該並列処理プログラムに、占有使用権を取得した処理用バッファに対してのみ制御を行わせ、当該並列処理プログラムから当該処理用バッファにロードされた処理引数に基づいてコプロセッサにコプロセッサ処理を実行させ、コプロセッサが実行した処理の結果を当該処理用バッファに書き込み、当該並列処理プログラムが該書き込みの終了を認識したときに、当該並列処理プログラムの制御によって当該処理用バッファの占有使用権を解放し、解放された占有使用権に係る処理用バッファを、使用されていない処理用バッファとしてコプロセッサに登録する。 【0007】本発明の計算システムは、複数の並列処理プログラムから成るプログラム群を実行する中央処理装置と前記プログラム群を高速で実行するために中央処理装置に協動するコプロセッサ処理部を備えたコプロセッサを有する計算システムであって、前記コプロセッサは、プログラム群が処理を実行する際にコプロセッサとの入出力を行う複数の処理用バッファから成る処理バッファ群と、コプロセッサ処理を実行するコプロセッサ処理部と、並列処理プログラムが使用しようとする処理バッファ群内の処理用バッファの占有使用権を管理する排他制御手段を有し、並列処理プログラム群がコプロセッサを非同期に使用する場合には、前記排他制御手段はプログラム群内の、当該コプロセッサを使用しようとする並列処理プログラムに、現在、不使用状態の処理用バッファの占有使用権を発行し、当該並列処理プログラムは、占有使用権を取得した処理用バッファに対してのみ制御を行い、コプロセッサ処理部が実行した処理結果は処理用バッファに書き込まれ、当該並列処理プログラムは、コプロセッサが実行した処理結果の書き込みが終了したとき、前記排他制御手段に対して当該処理用バッファの占有使用権の解放を起動し、前記排他制御手段は、前記起動に応答して、当該占有使用権に係る処理用バッファを不使用状態の処理用バッファとして登録する。」 (ウ)「【0011】プログラム群21はCPU11上で実行される並列処理プログラムの集合で、共通バス31、処理バッファ群45を介してコプロセッサ41を非同期に使用する。コプロセッサ処理部46は、プログラム群21内の並列処理プログラムの処理の高速化を行うために、CPU11に協調して動作する。処理バッファ群45は、コプロセッサ処理部46が処理を実行する際にプログラム群21との入出力を行う。排他制御手段は、並列処理プログラムが使用しようとする処理バッファ群45内の処理バッファの占有使用権を管理する。 ・・・(中略)・・・ 【0014】図3は処理バッファ群45中の任意の第i処理用バッファ5iの構成を示す。第i処理バッファ5iは、処理引数部71と、処理結果部72と、実行開始フラグ73と、使用権解放フラグ74を備えている。処理引数部71は、プログラム群21により書き込み制御され、コプロセッサ処理部46で処理が行われる際に参照される情報を格納する。処理結果部72は、コプロセッサ処理部46の処理結果が出力され、プログラム群21の処理の際に、プログラム群21によって参照される。実行開始フラグ73は、プログラム群21から、コプロセッサ処理部46が処理を行う際に参照される情報を処理引数部71に書き込むための書き込み制御が行われたときにコプロセッサ処理部46に処理引数部71を参照して処理の開始を行うよう指示する。使用権解放フラグ74は、プログラム群21から読み出し処理が行われたときに空き処理バッファ検索回路43に第i処理バッファ使用状態フラグ6iを不使用状態に設定する指示をする。」 (エ)「【0021】第jプログラム8jは識別子読み出し処理A1後、読み出した空き処理バッファ識別子42の値に対応する処理バッファ群45内のある処理バッファ第i処理バッファ5iのアドレスを算出して、処理引数部71にコプロセッサ処理部46が処理を行う際に参照する情報を書き込む(A6)。処理引数部71への書き込み処理(A6)が終了してコプロセッサ処理の準備が完了した後、第jプログラム8jは実行開始フラグ73に書き込みアクセスを行いコプロセッサ処理部46に処理を開始するように指示を行う(A7)。実行開始フラグ72の書き込み処理A7をトリガとして第i処理バッファ5iはコプロセッサ処理部46へ処理開始指示を行う(A8)。コプロセッサ処理部46は処理開始指示A8を受けてコプロセッサ処理を行い、その処理結果を処理結果部72に書き込んでいく(A9)。A8からA9までの処理中に割り込みなどの要因により第jプログラム8j以外のプログラム群21内の別のスレッドプログラム第1プログラム81にスレッド切り替えが行われて、処理結果部72への書き込み処理A9が未完了のうちに第1プログラム81により実行開始フラグ73に書き込み処理A7が行われないように、A8からA9完了までの所要時間はスレッド切り替えの最少所要時間以下にする。第jプログラム8jは実行開始フラグ73への書き込み処理A7終了後、所要時間分ループ処理で待つか処理結果部72中に結果書き込み完了を示すフィールドを持たせ書き込み完了までポーリングするなどしてA8からA9までの処理が完了する時間まで待ち、使用権解放フラグ74に対して読み出しアクセスを行う(A11)。第jプログラム8jより使用権解放フラグ74の読み出しアクセスA11が行われたことをトリガとして、第i処理バッファ5iはフラグ空き処理バッファ検索回路43に対して更新を指示する(A12)。フラグ更新指示A12を受けて空き処理バッファ検索回路43は第i処理バッファ使用状態フラグ8iを不使用状態にする(A13)。」 (イ)の段落【0007】における記載「本発明の計算システムは、複数の並列処理プログラムから成るプログラム群を実行する中央処理装置と…中央処理装置に協動するコプロセッサ処理部を備えたコプロセッサを有する計算システムであって、…コプロセッサ処理を実行するコプロセッサ処理部と、並列処理プログラムが使用しようとする処理バッファ群内の処理用バッファの占有使用権を管理する排他制御手段を有し、…当該並列処理プログラムは、占有使用権を取得した処理用バッファに対してのみ制御を行い、コプロセッサ処理部が実行した処理結果は処理用バッファに書き込まれ…」から、引用文献には、中央処理装置を有する計算システム中のコプロセッサのコプロセッサ処理部を制御するための方法が記載され、前記方法は前記計算システムの中央処理装置によって前記コプロセッサへの占有使用権を取得した処理用バッファで、前記計算システムの前記コプロセッサを制御するステップを備えると解される。 そして、(イ)の段落【0005】における記載「…並列に実行される複数のプログラムが共有資源としてのコプロセッサを非同期に使用する計算システムのコプロセッサ使用権の排他制御を高速にする方法を提供する…」からすると、前記コプロセッサの前記コプロセッサ処理部は、前記計算システム上で並列に実行される複数のプログラムから同時に利用可能であることは、当業者にとって自明である。 なお、(ア)における記載「ソフトウェア処理の一部をハードウェア化してコプロセッサを開発して高速化を行う…」から、前記コプロセッサは、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサであることは、当業者にとって自明である。 (イ)の段落【0006】における記載「…当該並列処理プログラムから当該処理用バッファにロードされた処理引数に基づいてコプロセッサにコプロセッサ処理を実行させ、…」から、前記処理用バッファは、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされると解される。 そして、(エ)の段落【0021】における記載「…コプロセッサ処理部46は処理開始指示A8を受けてコプロセッサ処理を行い、その処理結果を処理結果部72に書き込んでいく(A9)。…第jプログラム8jは実行開始フラグ73への書き込み処理A7終了後、…処理結果部72中に結果書き込み完了を示すフィールドを持たせ書き込み完了までポーリングするなどしてA8からA9までの処理が完了する時間まで待ち、…」からすると、前記方法は、中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップであって、前記データは、コプロセッサで前記処理引数を処理した結果を示す前記ステップを備えると解される。 (ウ)の段落【0011】における記載「…処理バッファ群45は、コプロセッサ処理部46が処理を実行する際にプログラム群21との入出力を行う。排他制御手段は、並列処理プログラムが使用しようとする処理バッファ群45内の処理バッファの占有使用権を管理する。」、(ウ)の段落【0014】における記載「第i処理バッファ5iは、処理引数部71と、処理結果部72と、実行開始フラグ73と、使用権解放フラグ74を備えている。処理引数部71は、プログラム群21により書き込み制御され、コプロセッサ処理部46で処理が行われる際に参照される情報を格納する。… 実行開始フラグ73は、プログラム群21から、コプロセッサ処理部46が処理を行う際に参照される情報を処理引数部71に書き込むための書き込み制御が行われたときにコプロセッサ処理部46に処理引数部71を参照して処理の開始を行うよう指示する。」、及び(エ)の段落【0021】における記載「実行開始フラグ72の書き込み処理A7をトリガとして第i処理バッファ5iはコプロセッサ処理部46へ処理開始指示を行う(A8)。」からすると、前記方法は、前記計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップを備えると解される。 したがって、引用文献には、次の発明(以下、「引用発明」という。)が記載されていると認められる。 中央処理装置を有する計算システム中のコプロセッサのコプロセッサ処理部を制御するための方法であって、 前記計算システムの中央処理装置によって前記コプロセッサへの占有使用権を取得した処理用バッファで、前記計算システムの前記コプロセッサを制御するステップであって、 前記処理用バッファは、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされ、 前記コプロセッサは、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサであるステップと、 前記中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップであって、前記データは、コプロセッサで前記処理引数を処理した結果を示すことを特徴とするステップと、 前記計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップとを備え、 前記コプロセッサの前記コプロセッサ処理部は、前記計算システム上で並列に実行される複数のプログラムから同時に利用可能であることを特徴とする方法。 3.対比 ここで、本願発明と引用発明とを比較する。 引用発明の「中央処理装置」、「計算システム」、及び「コプロセッサ」は、それぞれ本願発明の「ホストプロセッサ」、「ホストコンピューティングシステム」、及び「少なくとも1つのコプロセッサ」に相当する。 引用発明の「コプロセッサ処理部」、「処理用バッファ」、及び「並列に実行される複数のプログラム」は、それぞれ本願発明の「計算リソース」、「コマンドバッファ」、及び「インスタンス化された複数のアプリケーション」に相当する。 引用発明の「コプロセッサへの占有使用権を取得した処理用バッファ」は、本願発明の「少なくとも1つのコプロセッサにサブミットされたコマンドバッファ」に相当する。 引用発明の「計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップ」は、計算システム中に含まれる前記排他制御管理機能手段によってホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理し、前記処理用バッファの実行開始フラグに書き込みさせることで、ホストプロセッサと前記コプロセッサとの間の前記処理用バッファが伝達され、前記コプロセッサにより処理されることからすると、計算システムにおいて、ホストプロセッサから前記コプロセッサへの前記処理用バッファの伝達スケジュールが管理されていると解される。 よって、引用発明の「計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップ」は、本願発明の「ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップ」に相当する。 引用発明の「処理用バッファは、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされ」ることと、本願発明の「コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え」ることとはともに、コマンドバッファは、コプロセッサのハードウェア特有の処理を実行させるための情報を備える点で共通する。 引用発明の「コプロセッサ」と本願発明の「少なくとも1つのグラフィックスプロセッサ」とはともに、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサである点で共通する。 引用発明の「中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップであって、前記データは、コプロセッサで前記処理引数を処理した結果を示すことを特徴とするステップ」と本願発明の「コマンドバッファの少なくとも1つのコマンドバッファ中のコマンドに応答して、前記少なくとも1つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップ」とはともに、コマンドバッファにより前記少なくとも1つのコプロセッサに指示した処理のデータを前記ホストプロセッサに伝達するステップであって、前記データは、コプロセッサでコプロセッサのハードウェア特有の処理を実行させるための情報を処理した結果を示すことを特徴とするステップである点で共通する。 よって、本願発明と引用発明とは、以下の点で一致し、また、相違している。 (一致点) ホストプロセッサを有するホストコンピューティングシステム中の少なくとも1つのコプロセッサの計算リソースを制御するための方法であって、 前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも1つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも1つのコプロセッサを制御するステップであって、 前記コマンドバッファは、コプロセッサのハードウェア特有の処理を実行させるための情報を備え、 前記少なくとも1つのコプロセッサは、少なくとも1つのソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサであるステップと、 コマンドバッファにより前記少なくとも1つのコプロセッサに指示した処理のデータを前記ホストプロセッサに伝達するステップであって、前記データは、コプロセッサでコプロセッサのハードウェア特有の処理を実行させるための情報を処理した結果を示すことを特徴とするステップと、 前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、 前記少なくとも1つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする方法。 (相違点1) 本願発明の「少なくとも1つのコプロセッサ」は、少なくとも1つのグラフィックスプロセッサであるのに対して、引用発明の「コプロセッサ」は、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサである点。 (相違点2) 本願発明の「コマンドバッファ」は、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備えるのに対して、引用発明の「処理用バッファ」は、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされる点。 (相違点3) 「ホストプロセッサに伝達する」データについて、本願発明は、コプロセッサでコマンドを処理した結果を示すデータであるのに対して、引用発明は、コプロセッサで前記処理引数を処理した結果を示すデータである点。 (相違点4) 「コマンドバッファにより前記少なくとも1つのコプロセッサに指示した処理のデータを前記ホストプロセッサに伝達するステップ」について、本願発明は「コマンドバッファの少なくとも1つのコマンドバッファ中のコマンドに応答して、前記少なくとも1つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップ」であるのに対して、引用発明は、「中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップ」である点。 4.判断 相違点1?相違点3について検討する。 ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサとしてのグラフィックプロセッサ、該グラフィックプロセッサをコプロセッサとすること、及び前記グラフィックプロセッサのハードウェア特有の処理を実行させるための情報としてのグラフィックスハードウェア特有の描画コマンドのストリームは、当業者にとって周知(以下、「周知技術1」という)である。(例えば、特開平5-35835号公報における記載、 「【0025】 【実施例】… (ハードウェア構成)図1に、本発明の一実施例に係るデータ処理装置のハードウェア構成の概略を示す。システムはホスト側プロセッサ(CPU)1で制御されている部分とグラフィックプロセッサで制御されている部分とからなり、ホスト側とグラフィックデバイス13とはそれぞれ独立した動作をしている。… 【0026】ホストすなわちコンピュータ本体にはOSが実装され、プロセスをタイムシェアリング的に走行させる。プロセスによって生成された描画命令は、ATバスインタフェース7を介してグラフィックデバイス13内のグラフィックカード8に転送される。グラフィックカード8は、描画命令に応じて描画内容をビデオRAM(VRAM)に展開する機能と共にその描画内容によってFLCDパネル12に対して固有の部分書き換えの管理機能を有している。…」、 特開平7-271344号公報における記載、 「【0006】 【実施例】本発明を適用したグラフィック表示システムのタスク構成例を図1に示す。ここでアプリケーションタスク1.a?1.zは、グラフィック処理を必要とするアプリケーションプログラムとグラフィック処理命令を受けるグラフィックライブラリをリンクした構成である。グラフィックライブラリは、アプリケーションプログラムからの描画指示を受けて、この描画指示を描画プロセッサ5が実行できる描画コマンド列に変換し、共有メモリ2に格納する。共有メモリ2.a?2.zは、各アプリケーションタスク1と、グラフィックタスク4及び最優先グラフィックタスク4との間で上記描画コマンド等のデータを転送するために用いる。グラフィックタスク3は、アプリケーションタスク1からの描画命令を受け、コマンド格納メモリ7へ描画コマンドや属性(点線、実線等の線の種類や、色の指定等)を設定するコマンドを転送すると共に、描画プロセッサ5を起動し、描画処理を開始させる。…コマンド格納メモリ7は、各グラフィックタスクより転送された描画及び属性設定コマンドを格納する領域である。描画プロセッサ5は、このコマンド格納メモリ7より各描画及び属性設定コマンドを読みだし、コマンドに従ってフレームメモリ(図5の17)にラスター展開や複写といった描画処理を実行する。」、 特開平8-7084公報における記載、 「【0004】…グラフィックスシステムプロセッサはマイクロプロセッサと同一の手法でプログラムできる装置であるから、…システムプロセッサに従属するグラフィックスコプロセッサ( co-processor )…として作動させることができる。…」、 特開平9-179717号公報における記載、 「【0011】…与えられたアプリケーションにしたがって各種の制御信号を入出力する中央演算処理装置(CPU)と、該中央演算処理装置固有のメモリである主記憶メモリと、前記中央演算処理装置の制御信号にしたがって、前記主記憶メモリのアクセス動作を制御するメモリコントローラと、前記中央演算処理装置が与えるコマンドにしたがって、グラフィック処理を行なうグラフィックスプロセッサ(GP)とを具備し、前記主記憶メモリ内に、前記中央演算処理装置が前記グラフィックスプロセッサ与えるコマンドを格納する、任意の容量のコマンドバッファを少なくとも1個設けたグラフィックス装置である。」、及び特開平10-63866号公報における記載、 「【0055】…グラフィックスプロセッサ100は、CPU10がシステムバス25を制御するコプロセッサモード、…で動作する。」等参照。) してみると、引用発明に周知技術1を適用することで、引用発明の「コプロセッサ」をグラフィックスプロセッサとし、引用発明の「コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数」を、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームとすることは、当業者であれば、容易に想到し得たことである。 そして、その際、引用発明の「コプロセッサで前記処理引数を処理した結果を示す」データが、「コプロセッサでコマンドを処理した結果を示す」データとなることは、論理的に明らかである。 よって、相違点1?相違点3は格別のものではない。 相違点4について検討する。 周辺ハードウェアから処理完了通知をホストプロセッサに伝達するために、中央処理装置からのポーリングによる伝達処理、または周辺ハードウェアからの割込み処理による伝達処理を利用することは、当業者にとって周知(以下、「周知技術2」という)である。(例えば、特開平11-338735号公報における記載、 「【0004】…システムLSI内のCPUが全体の制御行う場合でも、周辺専用ハードウェアの処理完了を伝えるための情報の伝達は、従来の割り込み処理やポーリング処理に基づいて実行されている。」参照。) なお、コマンドによる処理依頼において、当該処理完了通知の要を前記コマンドともに指定することは、当業者にとって周知(以下、「周知技術3」という)である。(例えば、特開昭60-186930号公報における記載、 「…コンピュータ本体2へ処理を依頼し、更には処理完了通知の要否…の指定情報…を入力する…」(2頁左上欄下から5行目?2行目)、 特開平8-180030号公報における記載、 「【0051】…メモリモジュールにDMA起動をかける際に、他系書き込み完了通知の要/不要をDMAコマンドエントリ内に記述した上でメモリモジュールに同期アクセスあるいは非同期アクセスを指示する。」、 特開平10-11231号公報における記載、 「【0012】…そして、 (1)Commandパケットはコントローラが任意の時点で発行する。また、コマンドと共に、実行完了通知の要不要を指定する。…」等参照。) してみると、周知技術1、周知技術2、及び周知技術3を引用発明に適用することで、引用発明の「中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達する」替わりに、処理用バッファ中のコマンドに応答して、コプロセッサによって中央処理装置にコプロセッサでコマンドを処理した結果を示すデータを戻すように伝送する構成を採用することは、当業者であれば、適宜なし得たことである。 よって、相違点4は格別のものではない。 上記で検討したごとく、相違点1?相違点4は格別のものではなく、そして、本願発明の構成によってもたらされる効果も、当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。 したがって、本願発明は、引用発明及び周知技術1?周知技術3に基づいて容易に発明できたものであるから、特許法第29条第2項の規定により、特許を受けることができないものである。 5.むすび 以上のとおり、本願の請求項1に係る発明は、その出願前日本国内又は外国において頒布された刊行物又は電気通信回線を通じて公衆に利用可能となった発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。 よって、結論のとおり審決する。 |
審理終結日 | 2011-09-12 |
結審通知日 | 2011-09-16 |
審決日 | 2011-09-27 |
出願番号 | 特願2003-689(P2003-689) |
審決分類 |
P
1
8・
561-
Z
(G06F)
P 1 8・ 121- Z (G06F) P 1 8・ 575- Z (G06F) P 1 8・ 572- Z (G06F) |
最終処分 | 不成立 |
前審関与審査官 | 鈴木 修治、間野 裕一 |
特許庁審判長 |
赤川 誠一 |
特許庁審判官 |
吉岡 浩 石井 茂和 |
発明の名称 | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 |
復代理人 | 濱中 淳宏 |
代理人 | 谷 義一 |
代理人 | 阿部 和夫 |
復代理人 | 柿沼 健一 |