【事件の表示】
　特願２００３−　　　６８９「コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置」拒絶査定不服審判事件〔平成１５年　８月２２日出願公開、特開２００３−２３３５０８〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本願は、平成１５年１月６日（パリ条約による優先権主張２００２年１月４日、米国）の出願であって、平成１８年１月５日付けで手続補正がなされ、平成２０年５月１３日付けで拒絶理由が通知され、同年９月１６日付けで手続補正がなされ、同年１２月１日付けで最後の拒絶理由が通知され、平成２１年３月５日付けで手続補正がなされ、同年４月２１日付けで最後の拒絶理由が通知され、同年７月２２日付けで手続補正がなされ、同年９月１６日付けで前記平成２１年７月２２日付けの手続補正を却下するとともに、同日付けで拒絶査定がなされ、これに対し、平成２２年１月２５日に審判請求がなされるとともに、同日付けで手続補正がなされたものである。そして、同年６月２８日付けで審査官から前置報告がなされ、平成２３年１月２７日付けで当審より審尋がなされ、同年７月１４日付けで回答書が提出されたものである。
　
第２．平成２２年１月２５日付けの手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成２２年１月２５日付けの手続補正を却下する。
　
［理由］
１．本件補正
　平成２２年１月２５日付けの手続補正（以下、「本件補正」という。）の内容は、
　平成２１年３月５日の手続補正により補正された特許請求の範囲の請求項１の記載
「【請求項１】　ホストプロセッサを有するホストコンピューティングシステム中の少なくとも１つのコプロセッサの計算リソースを制御するための方法であって、
　前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御するステップであって、
　前記コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え、
　前記少なくとも１つのコプロセッサは、少なくとも１つのグラフィックスプロセッサであるステップと、
　前記コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップと、
　前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、
　前記少なくとも１つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする方法。」（以下、この特許請求の範囲に記載された請求項１を「補正前の請求項１」という。）を、
　
「【請求項１】　ホストプロセッサを有するホストコンピューティングシステム中の少なくとも１つのコプロセッサの計算リソースを制御するための方法であって、
　前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御するステップであって、
　前記コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え、
　前記少なくとも１つのコプロセッサは、少なくとも１つのグラフィックスプロセッサであるステップと、
　前記コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップと、
　前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、
　前記少なくとも１つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であり、
　前記管理オブジェクトがコプロセッサコンテキストの複数のタイプを許容し、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付けることを特徴とする方法。」（以下、この特許請求の範囲に記載された請求項１を「補正後の請求項１」という。）
　に補正することを含むものである。
　　
２．補正の適否 
２−１．特許法第１７条の２第３項に規定する要件についての検討
　補正後の請求項１は、その記載からして、次の態様（ａ）を含んでいる。
　 
（ａ）管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様。
　
　（ａ）について検討する。
　願書に最初に添付した明細書又は図面を参照すると、
「【０１０１】
　スタンバイ状態２０５のコマンドバッファをハードウェアにサブミットすることができるとき、システムは、コプロセッサコンテキストを、コマンドバッファの要求するコンテキストに切り換え、次いでコマンドバッファをハードウェアにサブミットする。」、
「【０１０５】
　…所与のコンテキストに対応する状態にハードウェアを設定するコマンドバッファを構築することができる。…あるいは、コマンドバッファの先頭を任意選択のコンテキスト切換え用に予約することもできる。」、
「【０１０６】
　…　システムは、コマンドバッファの実行開始前にハードウェアにより効率的にロードされる、１つまたは複数の軽量コンテキストタイプを定義することができる。…」、
「【０１４４】
　５４０でレディ状態のコマンドバッファをディスパッチするために選択するとき、システムカーネルサポート５３０は、カーネルドライバ５５０に、ハードウェアを適切なコンテキストにコンテキスト切換えをさせ（５５１）、コマンドバッファをハードウェアにディスパッチさせる（５５２）。…」と記載されている。
　しかしながら、（ａ）記載の態様（管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様）については、記載も示唆もない。
　
　また、願書に最初に添付した明細書又は図面の別の箇所を参照しても、
「【０１５２】
　…　しかし、GPUコンテキストがCPUスレッドコンテキストと関連する場合にいくつかの利点があり、それによって、そのスレッドで実行中のCPUコードだけでGPUコンテキストを操作できることを理解されたい。…」、
「【０１５５】
　ここでの基本的な観察は、GPUコンテキストがシステム中の１つのCPUスレッドと関連する場合、そのスレッドをスレッド同期プリミティブを使用して中断することにより、本質的に、CPUスレッドが非ブロック化されるまで、そのGPUコンテキストがアプリケーションから利用不能となることである。GPUコンテキストのそのような要求を行うことができるのは中断されたスレッドだけなので、スレッドが中断される限り、そのGPUコンテキストに描画オペレーションまたは他のオペレーションを実施するよう依頼することはできない。…」、
「【０１５７】
　CPUコンテキスト切換えとGPUコンテキスト切換えとを統合することに関しては、CPUコンテキストが有することができるのが１つの関連するGPUコンテキストだけとなるように上述のGPUコンテキスト/CPUコンテキストの関連が強化される場合、CPUとGPUとの間に密接な関連が存在する、あるハードウェアアーキテクチャ(統合グラフィックスアーキテクチャおよび/またはUMAグラフィックスアーキテクチャ)に関して別の利点が潜在的に得られる。この場合、オペレーティングシステムのスレッドコンテキスト切換えコードは、CPUのコンテキストがロードされるのと同時に、関連するGPUコンテキストを任意選択でロードすることができる。この実装の方策は、CPUコードが図５に示す外部メモリ内に常駐するコマンドバッファにGPUコマンドを書き込むことが必要でない可能性のある、あるシステムに対して特に有利である。スレッドの現GPUコンテキストは、そのコンテキストがCPU内にあるスレッドのコンテキストで実行中のコードによって操作することができる可能性のある唯一のコンテキストであるので、スレッドのGPUコンテキストに対応するハードウェアレジスタを、CPUコンテキストがロードされると同時にそのスレッドから利用可能にすることにより、描画コマンドをGPUによる後の消費のためにバッファに書き込むのとは対照的に、描画コマンドをGPUに即時ディスパッチすることが容易となる。例えば、x８６アーキテクチャでは、ハードウェアレジスタをポートI/Oスペースにマッピングすることができ、それによってIN/OUT命令をGPUと通信するのに使用することができ、あるいは、メモリマップ済みレジスタに公開することができ、それによって特定のメモリ位置への読み書きがGPUと通信することになる。」と記載されている。
　すなわち、ＧＰＵコンテキストとＣＰＵスレッドコンテキストの関連については、コマンドバッファにGPUコマンドを書き込むことが必要でない場合に、描画コマンドをGPUによる後の消費のためにバッファに書き込むのとは対照的に、例えば、x８６アーキテクチャでは、ハードウェアレジスタをポートI/Oスペースにマッピングすることができ、それによってIN/OUT命令をGPUと通信するのに使用することができ、あるいは、メモリマップ済みレジスタに公開することができ、それによって特定のメモリ位置への読み書きがGPUと通信するように、CPU内にあるスレッドのコンテキストで実行中のコードによってGPUコマンドを直接操作することが記載されているに過ぎない。
　しかしながら、（ａ）記載の態様（管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様）については、記載も示唆もない。
　
　してみると、（ａ）記載の態様（管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様）は、出願当初の明細書又は図面に記載されておらず、かつ、その記載から自明なものでもないから、上記事項を追加する本件補正は、出願当初の明細書又は図面に記載した範囲内でしたものではない。
　
　以上のとおり、補正後の請求項１に記載された（ａ）記載の事項は、出願当初の明細書又は図面に記載されておらず、かつ、その記載から自明なものでもないから、上記事項を追加する本件補正は、出願当初の明細書又は図面に記載した範囲内でしたものではないので、平成１４年法律第２４号改正附則第３条第１項によりなお従前の例とされる同法による改正前の特許法第１７条の２第３項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
２−２．補正の目的要件
　仮に、前記補正前の請求項１についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合、特許法第１７条の２第４項に規定する要件を満たすかどうか、検討する。
　
　補正後の請求項１は、その記載からして、少なくとも次の発明特定事項（ｂ）を含んでいる。
　  
（ｂ）管理オブジェクトが、コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付けること。
　
　（ｂ）について検討する。  
　補正後の請求項１の含む前記発明特定事項（ｂ）は、補正前の請求項１の発明特定事項である「ホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御するステップ」、「コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え」ること、「前記少なくとも１つのコプロセッサは、少なくとも１つのグラフィックスプロセッサである」こと、「前記コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップ」、及び「前記少なくとも１つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能」であることの、いずれを限定するものでなく、また概念的に下位にしたものでもない。
　また、補正後の請求項１の含む前記発明特定事項（ｂ）は、補正前の請求項１の発明特定事項である「前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップ」を限定するものでなく、また概念的に下位にしたものでもない。
　
　そして、新たな発明特定事項（ｂ）を追加することで、補正後の請求項１に記載された発明は、「ＣＰＵスレッドで実行中のＣＰＵコードだけでＧＰＵコンテキストを操作できる」という課題を解決するものであって、補正前の請求項１に記載された発明が解決しようとする課題、すなわち「グラフィックスプロセッサの計算リソースが要求側アプリケーションに効率的に配布されることを保証するために、複数のアプリケーションによるグラフィックス処理要求のスケジューリングおよびディスパッチをコマンドバッファを用いて制御するという課題」とは異なる新たな課題を解決しようとするものである。
　
　よって、補正前の請求項１についてする補正は、補正前の請求項１に記載した発明を特定するために必要な事項を限定したものではなく、特許法第１７条の２第４項第２号の特許請求の範囲の減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の産業上の利用分野及び解決しようとする課題が同一であるもの）を目的とするものとは認められない。
　また、補正前の請求項１についてする補正が、特許法第１７条の２第４項第１号の請求項の削除、第３号の誤記の訂正、第４号の明りょうでない記載の釈明（拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る。）に該当するものとも認められない。  
　以上のとおり、仮に、前記補正前の請求項１についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合であっても、補正前の請求項１についてする補正は、特許法第１７条の２第４項の規定に違反するものであり、したがって、前記補正前の請求項１についてする補正を含む本件補正は、特許法第１５９条第１項で読み替えて準用する同法第５３条第１項の規定により却下されるべきものである。 
　
２−３．独立特許要件
　仮に、前記補正前の請求項１についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合であって、さらに、特許法第１７条の２第４項第２号の特許請求の範囲の限定的減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの）を目的とするものであると仮定した場合に、本件補正後の前記請求項１に記載された発明（以下、「補正後の発明」という。）が特許出願の際独立して特許を受けることができるものであるか（特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に適合するか）以下に検討する。
　
２−３−１．特許法第３６条第６項第１号に規定する要件について
（１）補正後の発明の含む、管理オブジェクトによってコマンドバッファの伝送をスケジューリングし、前記管理オブジェクトが、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける態様は、前記「２−１．特許法第１７条の２第３項に規定する要件についての検討」で指摘したように、発明の詳細な説明に記載したものでない。
　よって、この点で、補正後の発明は、発明の詳細な説明に記載したものでない。
　
　以上のように、補正後の特許請求の範囲の請求項１の記載は、特許法第３６条第６項第１号に規定する要件を満たしていないから、補正後の発明は特許出願の際独立して特許を受けることができない。
　
２−３−２．特許法第３６条第６項第２号に規定する要件について
（１）補正後の請求項１記載の「管理オブジェクトが、…前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける」において、「ホストプロセッサスレッドコンテキスト」とは、具体的に何を指すのか、不明であり、発明が明確でない。
　さらに、「管理オブジェクト」は、具体的に、どのような構成で、前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとをどのようにして、関連付けるのか、不明であり、発明が明確でない。
　さらに、補正後の請求項１記載の「管理オブジェクトが、…前記コプロセッサコンテキストとホストプロセッサスレッドコンテキストとを関連付ける」ことと、前記管理オブジェクトが、「コマンドバッファの伝送をスケジューリングする」こと及び「コマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御する」こととの関係も不明であり、発明が明確でない。
　
　以上のように、補正後の発明は、特許法第３６条第６項第２号に規定する要件を満たしていないから、補正後の発明は特許出願の際独立して特許を受けることができない。
　
２−３−３．小括
　以上のとおり、仮に、本件補正が、願書に最初に添付された明細書又は図面に記載した範囲内にしたものであると仮定した場合であって、さらに、仮に、本件補正が、特許法第１７条の２第４項第２号の特許請求の範囲の限定的減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの）を目的とするものであると仮定した場合であっても、さらに、本願補正発明は、特許出願の際独立して特許を受けることができるものではないから、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項の規定により準用する特許法第１２６条第５項の規定に適合していないから、前記補正前の請求項１についてする補正を含む本件補正は、特許法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
３．結語
　以上のとおり、補正前の請求項１についてする補正は、上記「２−１．特許法第１７条の２第３項に規定する要件についての検討」において指摘したとおり、平成１４年法律第２４号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第３項の規定に違反するものであるから、前記補正前の請求項１についてする補正を含む本件補正は、特許法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　また、仮に、前記補正前の請求項１についてする補正が、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてなされたものであると仮定した場合であっても、上記「２−２．補正の目的要件」において指摘したとおり、補正前の請求項１についてする補正は、特許法第１７条の２第４項の規定に違反するものであり、したがって、前記補正前の請求項１についてする補正を含む本件補正は、特許法第１５９条第１項で読み替えて準用する同法第５３条第１項の規定により却下されるべきものである。
　また、仮に、本件補正が、願書に最初に添付された明細書又は図面に記載した範囲内にしたものであると仮定した場合であって、さらに、仮に、本件補正が、特許法第１７条の２第４項第２号の特許請求の範囲の限定的減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの）を目的とするものであると仮定した場合であっても、本願補正発明は、特許出願の際独立して特許を受けることができるものではないから、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項の規定により準用する特許法第１２６条第５項の規定に適合していないから、前記補正前の請求項１についてする補正を含む本件補正は、特許法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
　したがって、いずれにしても、前記補正前の請求項１についてする補正を含む本件補正は、特許法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。 
　
第３．本願発明について
１．本願発明
　平成２２年１月２５日付けの手続補正は上記のとおり却下されたので、本願の請求項１に係る発明（以下、同項記載の発明を「本願発明」という。）は、平成２１年３月５日付け手続補正書の特許請求の範囲の請求項１に記載された事項により特定される、以下のとおりのものである。  
　
　「ホストプロセッサを有するホストコンピューティングシステム中の少なくとも１つのコプロセッサの計算リソースを制御するための方法であって、
　前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御するステップであって、
　前記コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え、
　前記少なくとも１つのコプロセッサは、少なくとも１つのグラフィックスプロセッサであるステップと、
　前記コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップと、
　前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、
　前記少なくとも１つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする方法。」
　
２．引用文献
　原査定の拒絶の理由に引用された特開平１１−１２０１４６号公報（以下、「引用文献」という）には、図面とともに次の事項が記載されている。
　 
（ア）「【０００２】
【従来の技術】近年、ソフトウェア処理の一部をハードウェア化してコプロセッサを開発して高速化を行うという研究が活発に行われている。」
　
（イ）「【０００５】本発明の目的は、並列に実行される複数のプログラムが共有資源としてのコプロセッサを非同期に使用する計算システムのコプロセッサ使用権の排他制御を高速にする方法を提供することにある。
【０００６】
【課題を解決する手段】前記の問題を解決するために、本発明の並列処理プログラムとコプロセッサとの間の排他制御方法は、コプロセッサが処理を実行する際にプログラム群との入出力を行う複数の処理用バッファから成る処理バッファ群を当該コプロセッサに装着し、並列処理プログラムが使用しようとする処理バッファ群内の処理用バッファの占有使用権を管理する排他制御機能をコプロセッサに付与し、プログラム群があるコプロセッサを非同期に使用する場合には、使用されていない処理用バッファを検索し、プログラム群内の並列処理プログラムへ、使用されていない処理用バッファの占有使用権をコプロセッサから発行し、当該並列処理プログラムに、占有使用権を取得した処理用バッファに対してのみ制御を行わせ、当該並列処理プログラムから当該処理用バッファにロードされた処理引数に基づいてコプロセッサにコプロセッサ処理を実行させ、コプロセッサが実行した処理の結果を当該処理用バッファに書き込み、当該並列処理プログラムが該書き込みの終了を認識したときに、当該並列処理プログラムの制御によって当該処理用バッファの占有使用権を解放し、解放された占有使用権に係る処理用バッファを、使用されていない処理用バッファとしてコプロセッサに登録する。
【０００７】本発明の計算システムは、複数の並列処理プログラムから成るプログラム群を実行する中央処理装置と前記プログラム群を高速で実行するために中央処理装置に協動するコプロセッサ処理部を備えたコプロセッサを有する計算システムであって、前記コプロセッサは、プログラム群が処理を実行する際にコプロセッサとの入出力を行う複数の処理用バッファから成る処理バッファ群と、コプロセッサ処理を実行するコプロセッサ処理部と、並列処理プログラムが使用しようとする処理バッファ群内の処理用バッファの占有使用権を管理する排他制御手段を有し、並列処理プログラム群がコプロセッサを非同期に使用する場合には、前記排他制御手段はプログラム群内の、当該コプロセッサを使用しようとする並列処理プログラムに、現在、不使用状態の処理用バッファの占有使用権を発行し、当該並列処理プログラムは、占有使用権を取得した処理用バッファに対してのみ制御を行い、コプロセッサ処理部が実行した処理結果は処理用バッファに書き込まれ、当該並列処理プログラムは、コプロセッサが実行した処理結果の書き込みが終了したとき、前記排他制御手段に対して当該処理用バッファの占有使用権の解放を起動し、前記排他制御手段は、前記起動に応答して、当該占有使用権に係る処理用バッファを不使用状態の処理用バッファとして登録する。」
　
（ウ）「【００１１】プログラム群２１はＣＰＵ１１上で実行される並列処理プログラムの集合で、共通バス３１、処理バッファ群４５を介してコプロセッサ４１を非同期に使用する。コプロセッサ処理部４６は、プログラム群２１内の並列処理プログラムの処理の高速化を行うために、CPU１１に協調して動作する。処理バッファ群４５は、コプロセッサ処理部４６が処理を実行する際にプログラム群２１との入出力を行う。排他制御手段は、並列処理プログラムが使用しようとする処理バッファ群４５内の処理バッファの占有使用権を管理する。
　・・・（中略）・・・
【００１４】図３は処理バッファ群４５中の任意の第ｉ処理用バッファ５ｉの構成を示す。第ｉ処理バッファ５ｉは、処理引数部７１と、処理結果部７２と、実行開始フラグ７３と、使用権解放フラグ７４を備えている。処理引数部７１は、プログラム群２１により書き込み制御され、コプロセッサ処理部４６で処理が行われる際に参照される情報を格納する。処理結果部７２は、コプロセッサ処理部４６の処理結果が出力され、プログラム群２１の処理の際に、プログラム群２１によって参照される。実行開始フラグ７３は、プログラム群２１から、コプロセッサ処理部４６が処理を行う際に参照される情報を処理引数部７１に書き込むための書き込み制御が行われたときにコプロセッサ処理部４６に処理引数部７１を参照して処理の開始を行うよう指示する。使用権解放フラグ７４は、プログラム群２１から読み出し処理が行われたときに空き処理バッファ検索回路４３に第ｉ処理バッファ使用状態フラグ６ｉを不使用状態に設定する指示をする。」
　
（エ）「【００２１】第ｊプログラム８ｊは識別子読み出し処理Ａ１後、読み出した空き処理バッファ識別子４２の値に対応する処理バッファ群４５内のある処理バッファ第ｉ処理バッファ５ｉのアドレスを算出して、処理引数部７１にコプロセッサ処理部４６が処理を行う際に参照する情報を書き込む（Ａ６）。処理引数部７１への書き込み処理（Ａ６）が終了してコプロセッサ処理の準備が完了した後、第ｊプログラム８ｊは実行開始フラグ７３に書き込みアクセスを行いコプロセッサ処理部４６に処理を開始するように指示を行う（Ａ７）。実行開始フラグ７２の書き込み処理Ａ７をトリガとして第ｉ処理バッファ５ｉはコプロセッサ処理部４６へ処理開始指示を行う（Ａ８）。コプロセッサ処理部４６は処理開始指示Ａ８を受けてコプロセッサ処理を行い、その処理結果を処理結果部７２に書き込んでいく（Ａ９）。Ａ８からＡ９までの処理中に割り込みなどの要因により第ｊプログラム８ｊ以外のプログラム群２１内の別のスレッドプログラム第１プログラム８１にスレッド切り替えが行われて、処理結果部７２への書き込み処理Ａ９が未完了のうちに第１プログラム８１により実行開始フラグ７３に書き込み処理Ａ７が行われないように、Ａ８からＡ９完了までの所要時間はスレッド切り替えの最少所要時間以下にする。第ｊプログラム８ｊは実行開始フラグ７３への書き込み処理Ａ７終了後、所要時間分ループ処理で待つか処理結果部７２中に結果書き込み完了を示すフィールドを持たせ書き込み完了までポーリングするなどしてＡ８からＡ９までの処理が完了する時間まで待ち、使用権解放フラグ７４に対して読み出しアクセスを行う（Ａ１１）。第ｊプログラム８ｊより使用権解放フラグ７４の読み出しアクセスＡ１１が行われたことをトリガとして、第ｉ処理バッファ５ｉはフラグ空き処理バッファ検索回路４３に対して更新を指示する（Ａ１２）。フラグ更新指示Ａ１２を受けて空き処理バッファ検索回路４３は第ｉ処理バッファ使用状態フラグ８ｉを不使用状態にする（Ａ１３）。」
　
　（イ）の段落【０００７】における記載「本発明の計算システムは、複数の並列処理プログラムから成るプログラム群を実行する中央処理装置と…中央処理装置に協動するコプロセッサ処理部を備えたコプロセッサを有する計算システムであって、…コプロセッサ処理を実行するコプロセッサ処理部と、並列処理プログラムが使用しようとする処理バッファ群内の処理用バッファの占有使用権を管理する排他制御手段を有し、…当該並列処理プログラムは、占有使用権を取得した処理用バッファに対してのみ制御を行い、コプロセッサ処理部が実行した処理結果は処理用バッファに書き込まれ…」から、引用文献には、中央処理装置を有する計算システム中のコプロセッサのコプロセッサ処理部を制御するための方法が記載され、前記方法は前記計算システムの中央処理装置によって前記コプロセッサへの占有使用権を取得した処理用バッファで、前記計算システムの前記コプロセッサを制御するステップを備えると解される。
　そして、（イ）の段落【０００５】における記載「…並列に実行される複数のプログラムが共有資源としてのコプロセッサを非同期に使用する計算システムのコプロセッサ使用権の排他制御を高速にする方法を提供する…」からすると、前記コプロセッサの前記コプロセッサ処理部は、前記計算システム上で並列に実行される複数のプログラムから同時に利用可能であることは、当業者にとって自明である。
　なお、（ア）における記載「ソフトウェア処理の一部をハードウェア化してコプロセッサを開発して高速化を行う…」から、前記コプロセッサは、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサであることは、当業者にとって自明である。
　
　（イ）の段落【０００６】における記載「…当該並列処理プログラムから当該処理用バッファにロードされた処理引数に基づいてコプロセッサにコプロセッサ処理を実行させ、…」から、前記処理用バッファは、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされると解される。
　そして、（エ）の段落【００２１】における記載「…コプロセッサ処理部４６は処理開始指示Ａ８を受けてコプロセッサ処理を行い、その処理結果を処理結果部７２に書き込んでいく（Ａ９）。…第ｊプログラム８ｊは実行開始フラグ７３への書き込み処理Ａ７終了後、…処理結果部７２中に結果書き込み完了を示すフィールドを持たせ書き込み完了までポーリングするなどしてＡ８からＡ９までの処理が完了する時間まで待ち、…」からすると、前記方法は、中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップであって、前記データは、コプロセッサで前記処理引数を処理した結果を示す前記ステップを備えると解される。
　
　（ウ）の段落【００１１】における記載「…処理バッファ群４５は、コプロセッサ処理部４６が処理を実行する際にプログラム群２１との入出力を行う。排他制御手段は、並列処理プログラムが使用しようとする処理バッファ群４５内の処理バッファの占有使用権を管理する。」、（ウ）の段落【００１４】における記載「第ｉ処理バッファ５ｉは、処理引数部７１と、処理結果部７２と、実行開始フラグ７３と、使用権解放フラグ７４を備えている。処理引数部７１は、プログラム群２１により書き込み制御され、コプロセッサ処理部４６で処理が行われる際に参照される情報を格納する。…　実行開始フラグ７３は、プログラム群２１から、コプロセッサ処理部４６が処理を行う際に参照される情報を処理引数部７１に書き込むための書き込み制御が行われたときにコプロセッサ処理部４６に処理引数部７１を参照して処理の開始を行うよう指示する。」、及び（エ）の段落【００２１】における記載「実行開始フラグ７２の書き込み処理Ａ７をトリガとして第ｉ処理バッファ５ｉはコプロセッサ処理部４６へ処理開始指示を行う（Ａ８）。」からすると、前記方法は、前記計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップを備えると解される。
　
　したがって、引用文献には、次の発明（以下、「引用発明」という。）が記載されていると認められる。
　
　中央処理装置を有する計算システム中のコプロセッサのコプロセッサ処理部を制御するための方法であって、
　前記計算システムの中央処理装置によって前記コプロセッサへの占有使用権を取得した処理用バッファで、前記計算システムの前記コプロセッサを制御するステップであって、
　前記処理用バッファは、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされ、
　前記コプロセッサは、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサであるステップと、
　前記中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップであって、前記データは、コプロセッサで前記処理引数を処理した結果を示すことを特徴とするステップと、
　前記計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップとを備え、
　前記コプロセッサの前記コプロセッサ処理部は、前記計算システム上で並列に実行される複数のプログラムから同時に利用可能であることを特徴とする方法。
　　 
３．対比 
　ここで、本願発明と引用発明とを比較する。 
　引用発明の「中央処理装置」、「計算システム」、及び「コプロセッサ」は、それぞれ本願発明の「ホストプロセッサ」、「ホストコンピューティングシステム」、及び「少なくとも１つのコプロセッサ」に相当する。
　引用発明の「コプロセッサ処理部」、「処理用バッファ」、及び「並列に実行される複数のプログラム」は、それぞれ本願発明の「計算リソース」、「コマンドバッファ」、及び「インスタンス化された複数のアプリケーション」に相当する。
　引用発明の「コプロセッサへの占有使用権を取得した処理用バッファ」は、本願発明の「少なくとも１つのコプロセッサにサブミットされたコマンドバッファ」に相当する。
　引用発明の「計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップ」は、計算システム中に含まれる前記排他制御管理機能手段によってホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理し、前記処理用バッファの実行開始フラグに書き込みさせることで、ホストプロセッサと前記コプロセッサとの間の前記処理用バッファが伝達され、前記コプロセッサにより処理されることからすると、計算システムにおいて、ホストプロセッサから前記コプロセッサへの前記処理用バッファの伝達スケジュールが管理されていると解される。
　よって、引用発明の「計算システム中に含まれる前記処理用バッファ群の排他制御管理機能手段によって、前記ホストプロセッサと前記コプロセッサとの間の前記処理用バッファの入出力を管理するステップであって、前記処理用バッファの占有使用権を前記ホストプロセッサのプログラムに取得させ、前記処理用バッファの実行開始フラグに書き込みさせることで、前記処理用バッファがコプロセッサのコプロセッサ処理部に伝達され、前記コプロセッサにより処理されるステップ」は、本願発明の「ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップ」に相当する。
　
　引用発明の「処理用バッファは、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされ」ることと、本願発明の「コマンドバッファは、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備え」ることとはともに、コマンドバッファは、コプロセッサのハードウェア特有の処理を実行させるための情報を備える点で共通する。
　引用発明の「コプロセッサ」と本願発明の「少なくとも１つのグラフィックスプロセッサ」とはともに、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサである点で共通する。
　引用発明の「中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップであって、前記データは、コプロセッサで前記処理引数を処理した結果を示すことを特徴とするステップ」と本願発明の「コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップであって、前記データは、コプロセッサでコマンドを処理した結果を示すことを特徴とするステップ」とはともに、コマンドバッファにより前記少なくとも１つのコプロセッサに指示した処理のデータを前記ホストプロセッサに伝達するステップであって、前記データは、コプロセッサでコプロセッサのハードウェア特有の処理を実行させるための情報を処理した結果を示すことを特徴とするステップである点で共通する。
　　
　よって、本願発明と引用発明とは、以下の点で一致し、また、相違している。 
　 
（一致点） 
　ホストプロセッサを有するホストコンピューティングシステム中の少なくとも１つのコプロセッサの計算リソースを制御するための方法であって、
　前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御するステップであって、
　前記コマンドバッファは、コプロセッサのハードウェア特有の処理を実行させるための情報を備え、
　前記少なくとも１つのコプロセッサは、少なくとも１つのソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサであるステップと、
　コマンドバッファにより前記少なくとも１つのコプロセッサに指示した処理のデータを前記ホストプロセッサに伝達するステップであって、前記データは、コプロセッサでコプロセッサのハードウェア特有の処理を実行させるための情報を処理した結果を示すことを特徴とするステップと、
　前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの伝送をスケジューリングするステップとを備え、
　前記少なくとも１つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする方法。
　
（相違点１）
　本願発明の「少なくとも１つのコプロセッサ」は、少なくとも１つのグラフィックスプロセッサであるのに対して、引用発明の「コプロセッサ」は、ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサである点。
　
（相違点２）
　本願発明の「コマンドバッファ」は、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームを備えるのに対して、引用発明の「処理用バッファ」は、コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数がロードされる点。
　
（相違点３）
　「ホストプロセッサに伝達する」データについて、本願発明は、コプロセッサでコマンドを処理した結果を示すデータであるのに対して、引用発明は、コプロセッサで前記処理引数を処理した結果を示すデータである点。
　
（相違点４）
　「コマンドバッファにより前記少なくとも１つのコプロセッサに指示した処理のデータを前記ホストプロセッサに伝達するステップ」について、本願発明は「コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストプロセッサにデータを戻すように伝送するステップ」であるのに対して、引用発明は、「中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達するステップ」である点。
　
４．判断 
　相違点１〜相違点３について検討する。
　ソフトウェア処理の一部をハードウェア化して高速化した特定のプロセッサとしてのグラフィックプロセッサ、該グラフィックプロセッサをコプロセッサとすること、及び前記グラフィックプロセッサのハードウェア特有の処理を実行させるための情報としてのグラフィックスハードウェア特有の描画コマンドのストリームは、当業者にとって周知（以下、「周知技術１」という）である。（例えば、特開平５−３５８３５号公報における記載、
「【００２５】
【実施例】…
（ハードウェア構成）図１に、本発明の一実施例に係るデータ処理装置のハードウェア構成の概略を示す。システムはホスト側プロセッサ（ＣＰＵ）１で制御されている部分とグラフィックプロセッサで制御されている部分とからなり、ホスト側とグラフィックデバイス１３とはそれぞれ独立した動作をしている。…
【００２６】ホストすなわちコンピュータ本体にはＯＳが実装され、プロセスをタイムシェアリング的に走行させる。プロセスによって生成された描画命令は、ＡＴバスインタフェース７を介してグラフィックデバイス１３内のグラフィックカード８に転送される。グラフィックカード８は、描画命令に応じて描画内容をビデオＲＡＭ（ＶＲＡＭ）に展開する機能と共にその描画内容によってＦＬＣＤパネル１２に対して固有の部分書き換えの管理機能を有している。…」、
　特開平７−２７１３４４号公報における記載、
「【０００６】
【実施例】本発明を適用したグラフィック表示システムのタスク構成例を図１に示す。ここでアプリケーションタスク１．ａ〜１．ｚは、グラフィック処理を必要とするアプリケーションプログラムとグラフィック処理命令を受けるグラフィックライブラリをリンクした構成である。グラフィックライブラリは、アプリケーションプログラムからの描画指示を受けて、この描画指示を描画プロセッサ５が実行できる描画コマンド列に変換し、共有メモリ２に格納する。共有メモリ２．ａ〜２．ｚは、各アプリケーションタスク１と、グラフィックタスク４及び最優先グラフィックタスク４との間で上記描画コマンド等のデータを転送するために用いる。グラフィックタスク３は、アプリケーションタスク１からの描画命令を受け、コマンド格納メモリ７へ描画コマンドや属性（点線、実線等の線の種類や、色の指定等）を設定するコマンドを転送すると共に、描画プロセッサ５を起動し、描画処理を開始させる。…コマンド格納メモリ７は、各グラフィックタスクより転送された描画及び属性設定コマンドを格納する領域である。描画プロセッサ５は、このコマンド格納メモリ７より各描画及び属性設定コマンドを読みだし、コマンドに従ってフレームメモリ（図５の１７）にラスター展開や複写といった描画処理を実行する。」、
　特開平８−７０８４公報における記載、
「【０００４】…グラフィックスシステムプロセッサはマイクロプロセッサと同一の手法でプログラムできる装置であるから、…システムプロセッサに従属するグラフィックスコプロセッサ( co-processor )…として作動させることができる。…」、
　特開平９−１７９７１７号公報における記載、
「【００１１】…与えられたアプリケーションにしたがって各種の制御信号を入出力する中央演算処理装置（CPU）と、該中央演算処理装置固有のメモリである主記憶メモリと、前記中央演算処理装置の制御信号にしたがって、前記主記憶メモリのアクセス動作を制御するメモリコントローラと、前記中央演算処理装置が与えるコマンドにしたがって、グラフィック処理を行なうグラフィックスプロセッサ（GP）とを具備し、前記主記憶メモリ内に、前記中央演算処理装置が前記グラフィックスプロセッサ与えるコマンドを格納する、任意の容量のコマンドバッファを少なくとも１個設けたグラフィックス装置である。」、及び特開平１０−６３８６６号公報における記載、
「【００５５】…グラフィックスプロセッサ１００は、ＣＰＵ１０がシステムバス２５を制御するコプロセッサモード、…で動作する。」等参照。）
　してみると、引用発明に周知技術１を適用することで、引用発明の「コプロセッサ」をグラフィックスプロセッサとし、引用発明の「コプロセッサ処理部にコプロセッサ特有の処理を実行させるための処理引数」を、グラフィックスハードウェアによる消費のために用意されたハードウェア特有の描画コマンドのストリームとすることは、当業者であれば、容易に想到し得たことである。
　そして、その際、引用発明の「コプロセッサで前記処理引数を処理した結果を示す」データが、「コプロセッサでコマンドを処理した結果を示す」データとなることは、論理的に明らかである。
　よって、相違点１〜相違点３は格別のものではない。
　
　相違点４について検討する。
　周辺ハードウェアから処理完了通知をホストプロセッサに伝達するために、中央処理装置からのポーリングによる伝達処理、または周辺ハードウェアからの割込み処理による伝達処理を利用することは、当業者にとって周知（以下、「周知技術２」という）である。（例えば、特開平１１−３３８７３５号公報における記載、
「【０００４】…システムＬＳＩ内のＣＰＵが全体の制御行う場合でも、周辺専用ハードウェアの処理完了を伝えるための情報の伝達は、従来の割り込み処理やポーリング処理に基づいて実行されている。」参照。）
　なお、コマンドによる処理依頼において、当該処理完了通知の要を前記コマンドともに指定することは、当業者にとって周知（以下、「周知技術３」という）である。（例えば、特開昭６０−１８６９３０号公報における記載、
「…コンピュータ本体２へ処理を依頼し、更には処理完了通知の要否…の指定情報…を入力する…」（２頁左上欄下から５行目〜２行目）、
　特開平８−１８００３０号公報における記載、
「【００５１】…メモリモジュールにＤＭＡ起動をかける際に、他系書き込み完了通知の要／不要をＤＭＡコマンドエントリ内に記述した上でメモリモジュールに同期アクセスあるいは非同期アクセスを指示する。」、
　特開平１０−１１２３１号公報における記載、
「【００１２】…そして、
（１）Ｃｏｍｍａｎｄパケットはコントローラが任意の時点で発行する。また、コマンドと共に、実行完了通知の要不要を指定する。…」等参照。）
　してみると、周知技術１、周知技術２、及び周知技術３を引用発明に適用することで、引用発明の「中央処理装置によるポーリングによって、前記処理用バッファによりコプロセッサに実行させた処理のデータを伝達する」替わりに、処理用バッファ中のコマンドに応答して、コプロセッサによって中央処理装置にコプロセッサでコマンドを処理した結果を示すデータを戻すように伝送する構成を採用することは、当業者であれば、適宜なし得たことである。
　よって、相違点４は格別のものではない。
　
　上記で検討したごとく、相違点１〜相違点４は格別のものではなく、そして、本願発明の構成によってもたらされる効果も、当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。
　
　したがって、本願発明は、引用発明及び周知技術１〜周知技術３に基づいて容易に発明できたものであるから、特許法第２９条第２項の規定により、特許を受けることができないものである。
　
５．むすび 
　以上のとおり、本願の請求項１に係る発明は、その出願前日本国内又は外国において頒布された刊行物又は電気通信回線を通じて公衆に利用可能となった発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。