【事件の表示】
　昭和６１年特許願第５０５５８４号「メモリをリンクしたウエ−ブフロント・アレイ・プロセッサ」拒絶査定に対する審判事件［昭和６２年　３月２６日国際公開、ＷＯ８７／０１８４１、昭和６３年　６月　９日国内公表、特表昭６３−５０１５３０］について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯・本願発明
　本願（優先権主張米国、１９８５年９月１７日）の特許請求の範囲第１〜２３項に係る発明の要旨は、平成１３年２月９日付けの手続補正書により補正された明細書及び図面の記載からみて、その特許請求の範囲第１、１６、１９、２３項に記載されたとおりのものであるところ、その特許請求の範囲第１項に係る発明は次のとおりである。
「メモリをリンクしたウエーブフロント・アレイ・プロセッサであって、
（１）右側独立ポート及び左側独立ポートを有する処理エレメントの直線アレイと、
（２）隣接する前記処理エレメントの各対の間の情報記憶を専用データフロー経路に提供して、隣接する前記処理エレメント全部の間での同時データ転送を許容する手段であって、前記処理エレメント間で前記アレイに散在する複数の二重ポート・メモリ・リンキング手段を備えてなり、それぞれの特定のメモリ・リンキング手段がその左側の隣接する処理エレメントの右側独立ポートと右側の隣接する処理エレメントの左側独立ポートとに接続されて、隣接する処理エレメント間の情報記憶を専用データフロー経路に提供する手段と、
（３）前記直線アレイにおけるそれぞれの前記処理エレメントの独立非同期ローカル制御を提供する手段であって、
（３−１）それぞれの前記二重ポート・メモリ・リンキング手段に対応して設けられ、前記二重ポート・メモリ・リンキング手段におけるデータフローの重なりの制御を許容する少なくとも一つのコントロール・フラッグと、
（３−２）それぞれの特定の処理エレメント内に設けられたローカル制御手段であって、（ａ）前記特定の処理エレメントに隣接する二重ポート・メモリ・リンキング手段に対応するコントロール・フラッグをセットし、リセットし、試験し、（ｂ）命令に記述されたコントロール・フラッグが偽のときに該命令の実行を中断し、（ｃ）前記コントロール・フラッグが真になったときに前記命令を完了し、もって、前記アレイを通過する計算のウエーブフロントを処理するよう前記アレイ・プロセッサを局所的に駆動するローカル制御手段と、
を備える手段と、
具備するウエーブフロント・アレイ・プロセッサ。」
（以下、本願発明」という。）
２．引用例　
　当審における平成１２年７月２５日付け拒絶理由通知書において引用された、
ＰＡＸ　コンピュータ　−高並列処理と科学計算−　（昭６０−３−１５）　オーム社、ｐ５１〜８２、２０１
　上記刊行物には、ＰＡＸコンピュータのシステム構成が図４．１に記載されており、その５２，５３頁には、
「（１）ＰＵ（プロセッシングユニット）：並列に処理される個々のタスクを実行するマイクロコンピュータ．
（２）ホスト計算機：プログラム開発，ＰＵへのデータ入出力，プログラムのロードを行う汎用ミニコンピュータ．
（３）ＣＵ（コントロールユニット）：ＰＵ群の制御，ホスト計算機〜ＰＵ間のデータの受け渡しを行うマイクロコンピュータ．
（４）データ転送路：ホスト計算機〜ＣＵ間のデータ転送を行う８ビット並列シェイクハンド方式のデータ転送路（３０ＫＢ／秒）．
（５）ＣＰ１（ＣＵバス〜ＰＵアレイ間インタフェース）：ＣＵアドレス空間６４ＫＢの前半３２ＫＢと全ＰＵのアドレス空間（４ＭＢ）を重ね合せ，まだＰＵとＣＵのクロック信号を発生するインタフェース．
（６）拡張ＣＵバス：全ＰＵに接続されているＣＵ〜全ＰＵ間のデータ転送路（１００ＫＢ／秒）．アドレスバス，ＰＵ選択線，データバス，ＭＰＵとＡＰＵのクロック信号，コントロール信号からなる．
〔１〕ＰＵ（プロセッシングユニット）　
ＰＵは並列処理を実行するマイクロコンピュータである．ＰＡＸ‐１２８の１台のＰＵの構成を図４・２に示す．
（ａ）ＭＰＵ（マイクロプロセッシングユニット）　ＰＵのマイクロプロセッサでＭＣ６８Ｂ００を用いた．ＭＰＵは，８ビットの演算，ＰＵ内のデバイスの制御やデータ転送を行う．
（ｂ）ＬＭ（ローカルメモリ）　各ＰＵ固有のメモリで，各ＰＵのデータおよびプログラムを格納する．このため各ＰＵは各々独立に自分のプログラムを実行できる．記憶容量は２８ＫＢ／ＰＵで，次に述べるＣＭと同じくスタティックＲＡＭ（ＴＭＭ２０１６，ＨＭ６１１６‐３）を用いている．
（ｃ）ＣＭ（通信用メモリ）　各ＰＵは前後左右の隣接するＰＵとの間に通信用メモリ（ＣＭ）をもっており，互いにデータを交換することができる．・・・
（ｄ）ＡＰＵ（算術演算ユニット)　浮動小数点演算を高速に行うために，付加プロセッサAm 9511A‐4を用いた.　これは16 ビット，32 ビットの整数および32ビットの浮動小数点数の算術演算，ならびに三角関数などの初等関数の演算を行う．ＡＰＵとＬＭやＣＭとの間のデータ転送を高速に行うため，アドレスの最上位ビットが１であればＡＰＵとメモリとの間で直接データのやりとりをしている．たとえば，＄1234番地（＄は16進表示を意味する)のデータをＡＰＵにロードするときには，普通はＭＰＵが＄1234番地のデータをＭＰＵのレジスタにロードし次にそのデータをＡＰＵにストアする．ここでは，その代わりに＄9234番地のデータをロードするという命令を実行することによっても＄1234番地のデータが直接ＡＰＵのデータスタックにロードできる．」と記載されている。また、図４・２にはＰＵの構造、図４・３にはＣＭ（通信用メモリ）の構造が記載されている。
　ＣＵによるＰＵアレイの制御に関して、５７頁には、
「ＣＵが行わなければならないＰＵアレイの制御には、次のものがあげられる.
(1)特定のＰＵにプログラムをロードし,データの読み書きをする.
(2)ＰＵに処理を開始させる.
(3)並列処理の同期をとる.
(4)ＰＵ間のデータ交換を行う.
(5)並列処理の終了を検出し，ホスト計算機にしらせる.
(6)並列処理の異常を検出し，ホスト計算機にしらせる.」と記載されており、(4)のＰＵ間のデータ交換について、５８頁には、
「(d)ＰＵ間のデータ交換　ＰＵ間のデータ交換は主にＣＭを通した隣接ＰＵ間の通信によって行われ，ＣＵは直接ＰＵで交換されるデータを扱わないが，とくに一つのＰＵから全ＰＵにデータの放送を行うときは，ＣＵによる方が隣接ＰＵ間通信を繰り返すよりも高速である．」と記載されている。
　データの転送について、７７〜７８頁には、
「ＰＡＸのＰＵ間をどのようにデータが動くかに注目して、並列処理の形態（モード）を分類してみよう。・・・まず，大別して，ＰＵ間にデータ通信が行われる通信ありモードと、行われない通信なしモードがある。いずれの場合も，ＣＵとＰＵの間にはデータ通信は行われる。データが更新されたことを何らかの方法で受け取り側のＰＵに合図（セマホ）で知らせる合図ありモードと，データの新旧にかかわらず通信メモリ（ＣＭ）中のデータを読み取る合図なしのモードがある。データが更新されたことを知らせるための合図としては、全ＰＵの同期をとる方法（同期モード），隣接ＰＵ間のフラグによる方法，通信用メモリ上にＦＩＦＯ（Ｆｉｒｓｔ-Ｉｎ-Ｆｉｒｓｔ-Ｏｕｔ）メモリをエミュレートする方法がある。・・・処理の内容との関係では，・・・という分類ができる。アレイモードは全ＰＵでデータ転送と，原則として同内容の処理が行われる。一方，パイプラインモードでは，ＰＵに何らかの順序づけを行い，これを１〜２次元に配置されたパイプとみなす。このパイプの一端からデータが順次流れ，各ＰＵでは原則として別内容の処理を受ける。」
　データ転送の具体的方法として、フラグによる非同期転送プログラムが図５・８図、フラグによる非同期転送方法が図５・９に記載されており、隣接ＰＵ間のデータ転送を非同期で、しかもフラグを用いることにより行う点については、８１，８２頁に、
「ＣＭ中のデータ（または一連のデータ）はフラグをもっている．フラグが１ならばデータは読みとり可能，０ならば書込み可能であることを意味する．左ＰＵは右側ＣＭ中のフラグ（ＦＬＡＧｏｆＲ）が０になるのを待って書き込み，フラグを１にする．右ＰＵは左側ＣＭ中のフラグ（ＦＬＡＧｏｆＬ，実は上のＦＬＡＧｏｆＲと同一のメモリ）が１になるのを待って読み込み，フラグを０にする．」と記載されている。
　以上の記載によれば、上記刊行物には、次のような発明が記載されているものと認められる。
　ＣＰＩ（ＣＵバス〜ＰＵアレイ間インタフェース）と、各ＰＵは前後左右の隣接するＰＵとの間にＣＭ（通信用メモリ）を介してリンクされているパイプラインモードのＰＵアレイと、このＰＵアレイによりデータ転送を行うものであり、それぞれのＰＵはプログラムを格納するＬＭ（ローカルメモリ）、各種の演算を行うためのＡＰＵ（算術演算ユニット）、及びＰＵ内のデバイスの制御やデータ転送を行うＭＰＵ（マイクロプロセッシングユニット）を有しており、各ＰＵは更に互いにデータ交換するためにその前後左右の隣接するＰＵとの間にＣＭ（通信用メモリ）を有しており、該ＣＭ中に０と１とで切り替わるフラグを有し、フラグが１ならばデータは読みとり可能、０ならば書込み可能であり、左ＰＵは右側ＣＭ中のフラグ（ＦＬＡＧｏｆＲ）が０になるのを待って書き込み、フラグを１にし、右ＰＵは左側ＣＭ中のフラグ（ＦＬＡＧｏｆＬ，実は上のＦＬＡＧｏｆＲと同一のメモリ）が１になるのを待って読み込み、フラグを０にすることにより、隣接ＰＵ間でデータを転送する際、非同期で隣のＰＵにデータを転送し、ＣＵ（コントロールユニット）はホスト計算機〜ＰＵ間のデータ転送やＰＵ群の制御を行うが、ＰＵ間のデータ交換は主にＣＭを通した隣接ＰＵ間の通信によって行われ，ＣＵは直接ＰＵで交換されるデータを扱わないようにしたＰＡＸコンピュータ。
３．対比・判断
　本願発明と上記刊行物記載の発明（以下、「引用発明」という。）を対比すると、
引用発明の「ＰＵ」、「パイプラインモードのＰＵアレイ」、「ＣＭ（通信用メモリ）」は、本願発明の「処理エレメント」、「直線アレイ」、「二重ポート・メモリ・リンキング手段」に各々相当し、
引用発明の「各ＰＵは更に互いにデータ交換するためにその前後左右の隣接するＰＵとの間にＣＭ（通信用メモリ）を有しており」は、パイプラインモードのＰＵアレイであれば、通常専用のデータフロー経路を備えているものであるから、本願発明の「それぞれの特定のメモリ・リンキング手段がその左側の隣接する処理エレメントの右側独立ポートと右側の隣接する処理エレメントの左側独立ポートとに接続されて、隣接する処理エレメント間の情報記憶を専用データフロー経路に提供する」に相当する。
　引用発明の「ＰＵ内のデバイスの制御やデータ転送を行うＭＰＵ（マイクロプロセッシングユニット）」は、本願発明の「特定の処理エレメント内に設けられたローカル制御手段」に相当する。
　引用発明の「０と１とで切り替わるフラグ」は、ＣＭにおけるデータの流れのコントロールをしているものであるから、本願発明の「二重ポート・メモリ・リンキング手段に対応して設けられ、前記二重ポート・メモリ・リンキング手段におけるデータフローの重なりの制御を許容する少なくとも一つのコントロール・フラッグ」に相当する。
　引用発明の「ＣＭ中に０と１とで切り替わるフラグを有し、フラグが１ならばデータは読みとり可能、０ならば書込み可能であり、左ＰＵは右側ＣＭ中のフラグ（ＦＬＡＧｏｆＲ）が０になるのを待って書き込み、フラグを１にし、右ＰＵは左側ＣＭ中のフラグ（ＦＬＡＧｏｆＬ，実は上のＦＬＡＧｏｆＲと同一のメモリ）が１になるのを待って読み込み、フラグを０にすることにより、隣接ＰＵ間でデータを転送する際、非同期で隣のＰＵにデータを転送」は、各ＰＵがＣＭのフラグのセット、リセット、及びその状態の検知（試験）を行い、フラグの状態によりデータの書き込みや読み込みを非同期で局所的に実行することであると認められる。 　 
　また、引用発明のＰＡＸコンピュータは，ＰＵ間にＣＭを備えているものであるので、メモリをリンクしたアレイプロセッサと認められる。
　以上のことから、本願発明と引用発明とは、
　メモリをリンクしたアレイ・プロセッサであって、
（１）右側独立ポート及び左側独立ポートを有する処理エレメントの直線アレイと、
（２）隣接する前記処理エレメントの各対の間の情報記憶を専用データフロー経路に提供して、隣接する前記処理エレメント全部の間での同時データ転送を許容する手段であって、前記処理エレメント間で前記アレイに散在する複数の二重ポート・メモリ・リンキング手段を備えてなり、それぞれの特定のメモリ・リンキング手段がその左側の隣接する処理エレメントの右側独立ポートと右側の隣接する処理エレメントの左側独立ポートとに接続されて、隣接する処理エレメント間の情報記憶を専用データフロー経路に提供する手段と、
（３）前記直線アレイにおけるそれぞれの前記処理エレメントの独立非同期ローカル制御を提供する手段であって、
（３−１）それぞれの前記二重ポート・メモリ・リンキング手段に対応して設けられ、前記二重ポート・メモリ・リンキング手段におけるデータフローの重なりの制御を許容する少なくとも一つのコントロール・フラッグと、
（３−２）それぞれの特定の処理エレメント内に設けられたローカル制御手段であって、
（ａ）前記特定の処理エレメントに隣接する二重ポート・メモリ・リンキング手段に対応するコントロール・フラッグをセットし、リセットし、試験し、
（ｂ）（ｃ）フラグの状態によりデータの書き込みや読み込みを非同期で局所的に実行し、前記アレイを通過する計算を処理するよう前記アレイ・プロセッサを局所的に駆動するローカル制御手段と、
を備える手段と、
具備するアレイ・プロセッサ。
　である点で一致し、下記の点で相違している。
１）本願発明のものが、アレイを通過する計算のウエーブフロントを処理するようアレイ・プロセッサを局所的に駆動するローカル制御手段を備えるウエーブフロント・アレイ・プロセッサであるのに対し、引用発明のものが上記のようなウエーブフロント・アレイ・プロセッサではなく、各処理エレメント（ＰＵ）群の制御を行うＣＵを備えている点で相違する。
２）特定の処理エレメントに隣接する二重ポート・メモリ・リンキング手段に対応するコントロール・フラッグをセットし、リセットし、試験するコントロール・フラッグ手段が、本願発明のものは、命令に記述されたコントロール・フラッグが偽のときに該命令の実行を中断し、前記コントロール・フラッグが真になったときに前記命令を完了するのに対し、引用発明のものは、フラグが１ならばデータは読みとり可能、０ならば書込み可能であり、左ＰＵは右側ＣＭ中のフラグ（ＦＬＡＧｏｆＲ）が０になるのを待って書き込み、フラグを１にし、右ＰＵは左側ＣＭ中のフラグ（ＦＬＡＧｏｆＬ，実は上のＦＬＡＧｏｆＲと同一のメモリ）が１になるのを待って読み込み、フラグを０にすることにより、隣接ＰＵ間でデータを転送する点で相違する。
　上記相違点１）について検討する。
　本件発明の「ウエーブフロント・アレイ・プロセッサ」について本願明細書の詳細な説明を参照すると、
「ウエーブフロント・アレイ・プロセッサは・・・データおよびパラメータと共にコントロールがアレイを介して流れるという点でシストリックアレイと相違する。このようにローカル・データ・フローにローカル・コントロール・フローを追加することによりデータ駆動の自己調時処理を可能とする。」（３頁２〜１３行）、
「ウエーブフロント・プロセッサはウエーブ状にプロセッサ間でコントロールとデータとを伝えるようにして演算を行うので、各プロセッサがアルゴリズムにおける再帰（ステップ）を完成させると、一方のプロセッサから次のプロセッサに計算が流れる。」（３頁下から２行〜４頁３行）、
　と記載されており、中央の制御無しにプロセッサ間をローカルな制御でデータを受け渡して演算処理を順次行っていく自律的なプロセッサアレイということができる。
　これに対して、引用発明はＣＵを備えており、このＣＵはＰＵ間のデータの受け渡しには関与しないものの、各ＰＵへのプログラムロード、各ＰＵへのデータの読み書き、各ＰＵへの動作のモニタ等に対して関与をしているものである。
　この点に関して、出願人は平成１３年２月９日付の意見書において、「拒絶理由通知にも述べられているように，ＰＡＸが非同期で動作しているとき、ＣＵの役割はデータのロードと読み出しである。しかし、本願の発明においては、ＭＷＡＰが非同期で動作しているとき、ＣＵは不要であり、データのロード及び読み出しは、ＭＷＡＰからのデータの読み出し又はＭＷＡＰへのデータの書込みの準備ができた否かを試験することができるディスク・ドライブやＰＣのような任意の標準の手段によって行われる。」と述べているように、本願発明においてもＣＵに代わるものとして、上記のような標準の手段が必要である点からみて実質的にＣＵに相当するものが請求項１に記載はないものの存在している。しかも、中央の制御無しにプロセッサ間をローカルな制御でデータを受け渡して演算処理を順次行っていく自己調時的（自律的）なプロセッサアレイは周知（特開昭５８−１８１１６８号公報、特開昭５９−１９５７４８号公報参照）であるので、ＣＵの関与無しに上記相違点に係る構成とすることは当業者が容易に想到し得る程度のことというべきである。
　つぎに上記相違点２）について検討する。
　本願発明の「命令に記述されたコントロール・フラッグが偽のときに該命令の実行を中断し、前記コントロール・フラッグが真になったときに前記命令を完了する」について明細書の発明の詳細な説明を参照すると、
「各処理エレメントは非同期性データ駆動のローカル・コントロールを有する。コントロール・フラッグがデータの利用できないことを示す期間、処理エレメントが演算を中断するので、同じメモリ位置へ同時に読み取りと書き込みとをしようとする２個の処理エレメントによりデータが乱れることはない。」（１５頁３〜７行）、
「制御ユニット７４は、隣接する左側あるいは右側の二重ポート・メモリ・リンキング・エレメントに位置するハードウェア・コントロール・フラッグを検出し、セットあるいはリセットすることができる。前述のように、プログラム命令が隣接する二重ポート・メモリ・エレメントにおけるメモリ位置をアクセスするようにアドレスレジスタ７６に要求し、前記の隣接の二重ポート・メモリ・エレメントにおける関連のコントロール・フラッグがまだセットされていないとき、制御ユニット７４は特定の処理エレメントの処理演算を中断させる。」（１９頁２〜１１行）、
「ＭＷＡＰにおけるデータ・フローは前記のフラッグにより制御される。これらのフラッグは隣接の処理エレメントに対するデータの利用可能性を示すために用いられる。メモリ・アクセス用のアドレスとして処理エレメントのＬＡＣ０またはＲＡＣ（第６図参照）を用いる任意の命令は、関連の二重ポート・メモリ・リンキング・エレメントにおけるコントロール・フラッグ１がセットされていなければ実行されない。フラッグ１がセットされていないときにこのタイプの命令が実行を試みようとすればコントロール・フラッグによるセッティングによりアクセスが許容されるまで、命令実行は停止する。フラッグ１がセットされているとき、命令実行が開始する。」（２１頁１１〜２３行）、
　と記載されており、上記記載によれば、本願発明におけるフラグの真偽とはセット、リセット即ち、処理エレメント（ＰＥ）側からみた二重ポート・メモリ・リンキング・エレメントのデータの利用可能性のことと認められ、データの利用ができないときは処理エレメント（ＰＥ）が演算しても意味がないことになる。そうすると、引用発明のものもフラグのセット、リセットによりＰＵがデータの読み書きの可能性をみて、演算を行っているのであるから、フラグの役割についての上記相違点２）は、実質的な相違点ではないというべきである。
　また、本願発明の効果も引用発明から当業者が予測し得る程度のものであって、格別なものということはできない。
４．むすび
　したがって、本願発明は、上記引用発明に基づいて当業者が容易に発明することができたものであるから、特許法第２９条第２項の規定により特許をうけることができない。
  よって、結論のとおり審決する。