【事件の表示】
　平成１１年特許願第３６３７０２号「マルチプロセッサ」拒絶査定不服審判事件〔平成１３年　６月２９日出願公開、特開２００１−１７５６１９、請求項の数（５）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
その１．手続の経緯
　本願は、平成１１年１２月２２日の出願であって、平成１８年４月２５日付けで審査請求がなされ、平成１９年５月３１日付けで手続補正がなされ、平成２０年１月２４日付けで審査官により拒絶理由が通知され、同年３月３１日付けで意見書が提出されるとともに手続補正がなされ、同年９月８日付けで審査官により拒絶理由が通知され、同年１１月１７日付けで意見書が提出されるとともに手続補正がなされたが、平成２１年３月３１日付けで審査官により拒絶査定がなされ、同年７月６日付けで審判請求がなされるとともに手続補正がなされ、同年８月３１日付けで審査官により前置報告がなされ、平成２２年１１月３０日付けで当審により審尋がなされ、平成２３年２月７日付けで回答書の提出があったものである。
　
その２．本願発明
　本願に係る発明は、平成２１年７月６日付けの手続補正により補正された、特許請求の範囲、請求項１乃至５に記載された次のとおりのものであると認める。
　
「　【請求項１】
　ＣＰＵと、前記ＣＰＵに接続されているネットワークインタフェースと、コンパイラによりスタティックスケジューリングされたプログラムの実行時に転送されるデータを格納し、他のプロセッシングエレメントからアクセス可能な分散共有メモリと、当該プロセッシングエレメントだけからアクセス可能なローカルデータメモリと、を備える複数のプロセッシングエレメントと、
　前記各プロセッシングエレメントに接続され、前記各プロセッシングエレメントによって共有され、コンパイラによりダイナミックスケジューリングされたプログラムの実行時に使用されるデータを格納する集中共有メモリと、を備えるマルチプロセッサであって、　前記集中共有メモリは、前記各プロセッシングエレメントと同じチップに設けられたオンチップの第１集中共有メモリと、前記いずれのプロセッシングエレメントとも異なるチップに設けられたオフチップの第２集中共有メモリとを含み、
　前記分散共有メモリは、スタティックスケジューリングされたプログラムの実行時に、プロセシングエレメント間のデータ転送に使用され、
　前記ローカルデータメモリは、当該プロセッシングエレメントに割り当てられたタスクにおいて使用されるローカルデータを保持するために使用され、
　前記各プロセッシングエレメントに割り当てられたタスク間で共通に使用されるデータが、前記各タスクで必要とされるとき以前に、データの消費先の前記プロセッシングエレメントの前記分散共有メモリへ転送され、
　前記集中共有メモリは、粗粒度並列処理において条件分岐に対応するために使用されるダイナミックスケジューリングにおいて、プログラムの実行時までどのＣＰＵにより使用されるかが決まっていないデータを格納することを特徴とするマルチプロセッサ。
　　【請求項２】
　前記マルチプロセッサは、前記分散共有メモリに接続されるデータ転送コントローラを備え、
　前記データ転送コントローラは、前記ローカルデータメモリから転送指示を読み出し、前記分散共有メモリからデータを読み出して、前記データの消費先のプロセッシングエレメントの分散共有メモリへ転送することを特徴とする請求項１に記載のマルチプロセッサ。
　　【請求項３】
　前記分散共有メモリは、デュアルポートメモリで構成され、
　前記データ転送コントローラは、前記分散共有メモリの一つのポートに接続されることを特徴とする請求項２に記載のマルチプロセッサ。
　　【請求項４】
　前記第１集中共有メモリは、粗粒度並列処理において条件分岐に対応するために使用され、ダイナミックスケジューリングされたプログラムの実行時にタスク間の共有データを格納する集中共有メモリであり、
　前記第２集中共有メモリは、大容量の集中共有メモリであることを特徴とする請求項１から３のいずれか一つに記載のマルチプロセッサ。
　　【請求項５】
　前記分散共有メモリには、送信側の前記ＣＰＵの指示によって転送されるデータ及び同期フラグが書き込まれることを特徴とする請求項１から４のいずれか一つに記載のマルチプロセッサ。」
　
その３．引用刊行物に記載の発明
　一方、原審が拒絶の理由に引用した、特開平０２−２４４２５３号公報（平成２年９月２８日公開、以下、「引用刊行物１」という）、特開平０６−２６６６８３号公報（平成６年９月２２日公開、以下、「引用刊行物２」という）、特開平０４−２３２５４９号公報（平成４年８月２０日公開、以下、「引用刊行物３」という）、特開平１０−２４３００４号公報（平成１０年９月１１日公開、以下、「引用刊行物４」という）、特開平０４−３３３９５５号公報（平成４年１１月２０日公開、以下、「引用刊行物５」という）、特開平１０−１８７５３３号公報（平成１０年７月２１日公開、以下、「引用刊行物６」という）、及び、特開平１０−０９１５９１号公報（平成１０年４月１０日公開、以下、「引用刊行物７」という）には、それぞれ、次の発明が記載されているものと認める。
　
その３の１．引用刊行物１に記載の発明
　少なくともプロセッサとメモリ装置と該メモリ装置へのアクセスを管理するためのメモリ管理装置とを有する命令処理手段の複数個を通信バスで接続して構成されるマルチプロセッサシステムであって、各命令処理手段内のメモリ装置のそれぞれは、マルチプロセッサシステム全体の物理アドレス空間の相異なる部分を割当てることで、マルチプロセッサシステムにおける分散共有メモリを構成し、前記各命令処理手段は、更に、他の命令処理手段内のメモリ装置のデータの一部をコピーとして有する第１のキャッシュ記憶装置と、自メモリ装置のデータの一部をコピーとして有する第２のキャッシュ記憶装置とを有し、前記各命令処理手段内のメモリ装置は、更に、前記メモリ装置が含まれる命令処理手段からのみ参照可能な局所領域と、他の命令処理手段から通信バスを介して参照可能な共通領域と、マルチプロセッサシステム内の全ての命令処理手段内のメモリ装置において、同一の値を有するように制御される同一領域との３つの領域もしくは該３つの領域の内の２つの領域に分割されることを特徴とする、マルチプロセッサシステム
（引用刊行物１の請求項１、２、６参照、以下、これを「引用発明１」という）
　
その３の２．引用刊行物２に記載の発明
（１）複数台の処理装置と分散共有メモリとそれらの間の情報転送路を持つ並列処理装置であって、第１の処理装置は第２の処理装置からの要求を受けることなく第２の処理装置がどの自保有データを必要としているかを認識するためにデータ依存関係を解析する解析手段を有し、第２の処理装置は他の処理装置からデータを転送してもらうための領域として分散共有メモリ上にデータ領域を有し、かつ同じシンボルデータに対して多重化されたデータ領域を用意し、第１の処理装置は他の処理装置のデータ領域に順番に巡回的にデータを書き込む書き込み手段を有することを特徴とする並列処理装置（【請求項１】より引用、以下、これを「引用発明２の１」という）
（２）複数の処理装置からなる並列計算機であって、プログラムをコンパイルするときに、実際に実行する処理装置に関しない部分については他のモジュールと結合可能なオブジェクトまでコンパイルし、依存する部分については中間コードを生成すると共に、該プログラムを実行する処理装置に当該中間コードをロードし、それぞれの処理装置において、実際に用いる処理装置に関する情報を用いて、中間コードを最適コードにコンパイルすることを特徴とするコンパイル方式（【請求項３】より引用、以下、これを「引用発明２の２」という）
　
その３の３．引用刊行物３に記載の発明
　中央処理ユニット又はマルチプロセッサ処理素子とメモリ間をインターフェースするキャッシュメモリであって、前記キャッシュメモリは、先取りバッファと、ユースバッファと、ヘッドバッファとを含み、前記先取りバッファは、参照すべき予定の命令を先取りすることを特徴とする、キャッシュメモリ（段落【０００３】、【００１６】参照、以下、これを「引用発明３」という）
　
その３の４．引用刊行物４に記載の発明
　複数の車載装置間を伝送線路に接続して構成される車両用ネットワークシステムであって、各車載装置はＣＰＵとＲＡＭとデュアルポートＲＡＭ（以下、ＤＰＲＡＭ）と各種プログラムを格納したＲＯＭとを備え、前記ＤＰＲＡＭは、各々ノード間通信データ領域と、分散共有メモリ用データ領域とを有し、前記分散共有メモリ用データ領域は、車両の共有データを記憶する分散共有メモリを構成しており、該分散共有メモリの記憶領域を各車載装置のＣＰＵからアクセス可能としている、車両用ネットワークシステム（【請求項１】、段落【００３２】、【００３４】参照、以下、これを「引用発明４」という）
　
その３の５．引用刊行物５に記載の発明
　マルチプロセッサ１１であって、前記マルチプロセッサは、複数のクラスタ１４ａ−１４ｊを有し、前記複数のクラスタは各々、１個または複数個のプロセッサ１２ａａ−１２ｉｊ、第１レベルのキャッシュ・メモリ１６ａａ−１６ｉｊ、ローカル・ホストバス１５ａ−１５ｊ、及び、ＲＡＭモジュール２０ａ−２０ｉとコントローラ２１ａ−２１ｉからなる第２レベルのキャッシュ・メモリ１９ａ−１９ｉ、並びに、裁定手段３５ａ−３５ｉとを有し、前記プロセッサの各々が、前記第１レベルのキャッシュ・メモリによって、ローカル・ホストバスに結合され、各ローカル・ホストバスは、第２レベルのキャッシュ・メモリを介して、グローバル・バス２６に接続されることで、各クラスタが、前記グローバル・バスを介して接続されるよう構成された、マルチプロセッサにおいて、更に、前記マルチプロセッサは、前記各クラスタのグローバス・バスへの接続を裁定する裁定手段２６、コントローラ２５を介して、前記グローバル・バスに接続された、グローバルなメイン・メモリ１３を有しており、前記各プロセッサの前記ローカル・ホストバスへのアクセスを、前記裁定手段３５ａ−３５ｉが裁定し、前記各クラスタのグローバス・バスへのアクセスを、前記裁定手段２６が裁定するように構成されたマルチプロセッサ（【要約】、段落【００１３】、【００１７】、【００２５】、【図１】参照、以下、これを「引用発明５」という）
　
その３の６．引用刊行物６に記載の発明
　メモリと、該メモリに対するアクセスを制御する制御回路とを含み、前記制御回路は前記メモリの第１部分はキャッシュメモリとしてアクセスされメモリの第２部分はスクラッチパッドとしてアクセスされることを特徴とするキャッシュメモリ（【請求項１】より引用、以下、これを「引用発明６」という）
　
その３の７．引用刊行物７に記載の発明
　内側ループと外側ループとから構成される手続内ループの処理を複数のタスクに分割し、個々のタスクを、それぞれが複数のプロセッサから構成されるクラスタを相互結合網によって複数台接続した階層型マルチプロセッサを構成する個々のプロセッサで実行する並列処理方法であって、全クラスタから参照更新可能なクラスタ間通信レジスタに外側ループのループ変数の始点を設定し、各クラスタ内の複数のプロセッサのうちの特定の一つのプロセッサが前記クラスタ間通信レジスタを排他的に参照更新して自クラスタで実行すべき外側ループのループ変数を取得して、自クラスタ内の全プロセッサから参照可能なクラスタ内共有領域を設定すると共に、自クラスタ内の全プロセッサから参照更新可能なクラスタ内通信レジスタに内側ループのループ変数の始点を設定し、各クラスタ内の各プロセッサが自クラスタ内の前記クラスタ内通信レジスタを排他的に参照更新して自クラスタで実行すべき内側ループのループ変数を取得し、この取得した内側ループのループ変数と前記クラスタ内共有領域に設定された外側ループのループ変数とで定まる手続内ループの処理部分を１つのタスクとして実行することを特徴とする階層型マルチプロセッサにおける並列処理方法（【請求項１】より引用、以下、これを「引用発明７」という）
　
その４．対比及び当審の判断
（１）本願明細書の特許請求の範囲の請求項１にかかる発明（以下、「本願発明１」という）と、各引用発明との対比及び判断
　引用発明１における「プロセッサ」、「分散共有メモリ」及び「命令処理手段」が、それぞれ、本願発明１における「ＣＰＵ」、「分散共有メモリ」及び「プロセッシングエレメント」に相当し、
　引用発明１における「第２のキャッシュ装置」も、本願発明１における「ローカルデータメモリ」も、当該「第２のキャッシュ装置」を含む「命令処理手段」或いは、当該「ローカルデータメモリ」を含む「プロセッシングエレメント」のみから“アクセスが可能”である点で共通するものの、
　引用刊行物１に記載の内容を全て加味しても、引用発明１は、本願発明１における、前記「分散共有メモリ」に、「コンパイラによりスタティックスケジューリングされたプログラムの実行時に転送されるデータを格納する」処理に相当する処理は行っておらず（以下、「相違点１」という）、
　引用発明１においては、本願発明１における「オンチップの第１集中共有メモリ」および「オフチップの第２集中共有メモリ」に相当する構成はなく（以下、「相違点２」という）、そのため、前記「集中共有メモリ」に“コンパイラによりダイナミックスケジューリングされたプログラム実行時に使用されるデータであって、粗粒度並列処理において条件分岐に対応するために使用されるダイナミックスケジューリングにおいて、プログラムの実行時までどのＣＰＵにより使用されるかが決まっていないデータを格納する”処理に相当する処理は行っていない（以下、「相違点３」という）。
　
　引用発明２の１、引用発明３乃至引用発明５、及び、引用発明７は、共に、マルチプロセッサ、或いは、並列処理装置に関する発明であって、
　引用発明２の１の「複数台の処理装置」、「分散共有メモリ」、引用発明４の「複数の車載装置」、「分散共有メモリ」が、それぞれ、本願発明１における「プロセッシングエレメント」、「分散共有メモリ」に、一応、相当すると解されるものの、
　引用刊行物２乃至５、及び、引用刊行物７に記載の内容を全て加味しても、引用発明２の１、引用発明３乃至５、及び、引用発明７のいずれにおいても、
「分散共有メモリ」に、「コンパイラによりスタティックスケジューリングされたプログラムの実行時に転送されるデータを格納する」こと、
　２種類の「集中共有メモリ」、即ち、「オンチップの第１集中共有メモリ」、「オフチップの第２集中共有メモリ」を設けること、
　該「集中共有メモリ」に、“コンパイラによりダイナミックスケジューリングされたプログラム実行時に使用されるデータであって、粗粒度並列処理において条件分岐に対応するために使用されるダイナミックスケジューリングにおいて、プログラムの実行時までどのＣＰＵにより使用されるかが決まっていないデータを格納する”こと、
　は行っていない。
　また、引用発明２の２にあるように、“プログラムをコンパイルするときに、実際に実行する処理装置に依存する部分については中間コードを生成し、該プログラムを実行する処理装置に当該中間コードをロードし、ロード先の処理装置において、実際に用いる処理装置に関する情報を用いて、中間コードを最適コードにコンパイルすること”、
　引用発明３にあるように、“参照すべき予定の命令を先取りしてキャッシュに格納すること、”
　引用発明６にあるように、“メモリを、メモリとキャッシュとに分割して用いること”、
　が、本願出願時点において周知であるとしても、
　引用発明１乃至引用発明７を、どのように組み合わせても、上記指摘の各相違点にかかる構成とはならず、
　また、上記指摘の各相違点にかかる構成が、当業者にとって自明のものとも認められない。
　以上のとおりであるから、本願発明１は、原審の拒絶の理由に引用した、引用刊行物１乃至７に記載の発明から、当業者が容易に導き出せるものではなく、また、当業者にとって自明のものでもない。
　
（２）本願明細書の特許請求の範囲の請求項２乃至５に記載の発明と、引用発明との対比及び判断
　本願明細書の特許請求の範囲の請求項２乃至５（以下、「本願の請求項２乃至５」という）は、同請求項１を直接・間接に引用するものであるから、本願の請求項２乃至５に記載の発明は、同請求項１に記載の発明の構成を全て内包している。
　よって、上記その４．（１）で検討したように、引用発明１乃至引用発明７より、当業者が容易に構築し得るものではなく、また、当業者にとって自明の事項でもない。
　
その５．むすび
　以上のとおりであるから、本願明細書の特許請求の範囲の請求項１乃至請求項５にかかる発明は、原審が拒絶の理由に引用した、引用刊行物１乃至引用刊行物７に記載の発明から、当業者が容易に構築し得るものではなく、更に、本願明細書の特許請求の範囲の請求項１乃至請求項５にかかる発明は、当業者にとって自明のものでもないから、
　本願発明は、特許法第２９条第２項に該当し、特許を受けることができないとした原審の判断は妥当でない。
　また、他に本願を拒絶すべき理由を発見しない。
　
　よって、結論のとおり審決する。