【事件の表示】
　平成　３年特許願第２３６６９４号「複数トレースバックアップ出力装置」拒絶査定に対する審判事件［平成　５年　３月２６日出願公開、特開平　５−　７３３６７］について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１　手続の経緯・本願発明
　本願は平成3年9月18日の出願であって、その請求項１にかかる発明（以下、本件発明という。）は、特許請求の範囲の請求項１に記載された事項により特定される次のとおりのものである。
　
　並列処理単位の実行状態を採取する複数トレースバックマップ出力装置において、
　前記並列処理単位を実行するメインタスク内に該並列処理単位毎の実行状態および呼び出し関係をそれぞれに設定する並列処理単位制御表と、
　他の並列処理単位を呼び出す並列処理単位は、自身の並列処理単位の状態および該他の並列処理単位との呼び出し関係を対応する並列処理単位制御表に設定する手段と、
　前記他の並列処理単位は、自身の並列処理単位の状態を対応する並列処理単位制御表に設定した後に自身の処理を実行する手段と、
　いずれかの並列処理単位に異常が発生したことに対応して、全ての並列処理単位の処理を中断させた後、前記並列処理単位制御表を参照して並列処理単位毎に実行状態および呼び出し関係をトレースバックマップとして出力する手段と、
を構えたことを特徴とする複数トレースバックマップ出力装置。
　
　
第２　当審の拒絶理由
　当審において、平成13年8月9日付けで通知した拒絶の理由の概要は、
　本願発明は、本願出願日前の平成2年9月26日に出願され、本願出願後に公開された特許出願である特願平2-256601号（特開平4-134535号公報参照）（以下、刊行物という。）の願書に最初に添附した明細書又は図面に記載された発明（以下、先願発明という。）と同一であって、かつ、それらの発明の発明者は同一でないから、特許法第29条の2の規定により、特許を受けることができない、
というものである。
　
　
第３　先願発明
　前記刊行物には、
　
（ア）「［産業上の利用分野］
　本発明はマルチタスクプログラムを実行可能な計算機に関し、特にマルチタスクプログラムの実行中に発生した例外がどのような原因で生じたかを解析するのに役立つ情報を採取して出力するマルチタスクプログラムの例外採取機構に関する。」（明細書第2頁（公報第1頁右下段）第20行目ないし明細書第3頁（第2頁左上段）第5行目）
　
（イ）「［課題を解決するための手段］
　本発明のマルチタスクプログラムの例外情報採取機構は、上記の目的を達成するために、
　マルチタスクプログラムを実行可能な計算機において、
　各タスク毎にエリアが確保され、各エリアに、そのタスクを特定し得る情報たとえばタスク名やタスク番号等と、そのタスクが行った同期排他制御に関する情報たとえば同期排他制御事象の種別やその事象を制御するための番号の格納領域名やその番号等と、そのタスクの実行状況たとえば同期待ち等と、そのタスクを起動したタスクに関する情報たとえばタスク名やタスク番号等とが格納される、タスク間で共通に参照可能なタスク情報テーブルと、
　タスクが起動されることにより、前記タスク情報テーブルにそのタスク用のエリアを確保し、そのエリアに、起動されたタスクを特定し得る情報とそのタスクを起動したタスクに関するタスク情報とを登録するタスク起動処理手段と、
　実行中のタスクから同期排他制御指示が行われることにより、その同期排他制御指示を行ったタスク用に確保された前記タスク情報テーブルのエリアにおける同期排他制御に関する情報とそのタスクの実行状況とを更新する同期排他制御処理手段と、
　タスクの実行が終了することにより、終了したタスク用に確保された前記タスク情報テーブルの実行状況にタスク終了の情報を登録するタスク消去処理手段と、
　マルチタスクプログラムの実行中に例外が発生することにより、前記タスク情報テーブルの登録内容を出力する例外情報出力手段とを備えている。
　また、前記同期排他制御処理手段は、実行中のタスクから同期排他制御指示が行われることにより、その同期排他制御指示の影響を受けるタスク用に確保された前記タスク情報テーブルのエリアにおけるタスクの実行状況を更新する構成を有している。」（明細書第5頁（公報第2頁左下段）第18行目ないし明細書第7頁（公報第3頁左上段）第16行目）
　
（ウ）「第１図のタスク情報テーブル４はタスク制御機構２で採取された情報を格納するテーブルであり、その構成例を第３図に示す。同図を参照すると、タスク情報テーブル４には、任意のタスクに割り当てられるエリア40-1，40-2，40-3，・・・があり、後述するようにして各エリアに以下のような情報が登録される。
○１ タスクの情報41
（数字を○で囲んだ記号が使用できないため、「○１」で代用。以下、「○数字」で代用する。）
　起動されたタスクに関する情報であり、本実施例では以下の情報を含む。」　
　(1)タスク特定情報411
　　当該タスクの入り口サブルーチン名（タスク名）4112およびタスクの識別のために割り当てられた番号（タスク番号）4111から成る。
　(2)同期排他制御に関する情報412
　・・・（省略）・・・
　(3)実行状況413
　　当該タスクがどのような実行状況にあるかを示す。
○２　親タスクの情報42
　タスクの情報41に登録されたタスクを起動したタスク（親タスク）に関する情報であり、本実施例では以下のような情報を含む。
　(1)親タスクの特定情報421
　・・・（省略）・・・
　(2)タスク起動文のあるプログラム名422
　・・・（省略）・・・
　(3)行番号423
　・・・（省略）・・・
　また、第１図のタスク起動処理手段21，同期排他制御処理手段22，タスク消去処理手段２３および例外情報表示手段31は、以下のような機能を有している。
・タスク起動処理手段21
　タスクが起動されることにより、タスク情報テーブル4にそのタスク用のエリア40-1等を確保し、そのエリアに、タスク特定情報411と親タスクの情報４２とを登録する。
・同期排他制御処理手段22
　実行中のタスクから同期排他制御指示が行われることにより、その同期排他制御指示を行ったタスク用に確保されているタスク情報テーブル4のエリアにおける同期排他制御に関する情報412と実行状況413とを更新する。また、その同期排他制御指示の影響を受けるタスク用に確保されたタスク情報テーブル4のエリアにおける実行状況413を更新する。また、その同期排他制御指示の影響を受けるタスク用に確保されたタスク情報テーブル4のエリアにおける実行状況413を更新する。
・タスク消去処理手段23
　タスクの実行が終了することにより、終了したタスク用に確保されているタスク情報テーブル4の実行状況413にタスク情報テーブル4の実行状況413にタスク終了の情報を登録する。
・例外情報表示手段31
　実行可能プログラム１の実行中に例外が発生することにより、例外種別等の情報およびタスク情報テーブル4の登録内容を含む例外情報５を図示しない表示装置やプリンタ装置から出力する。」（明細書第10頁（公報第3頁右下段）第14行目ないし明細書第14頁（公報第4頁右下段）第7行目より抜粋）
　
（エ）「第１図において、実行可能プログラム１の実行が開始されると、タスク制御機構２のタスク起動処理手段21が呼び出される。タスク起動処理手段21は、タスク情報テーブル4中に１つエリア例えば40-1を確保し、第４図（ａ）に示すように、そのエリア40-1のタスク特定情報411に実行可能プログラム１の主入り口名ＭＡＩＮと割り当てられたタスク番号「１」を登録する。
　その後、タスク番号１のタスクにおいて、プログラム単位100のタスク起動文110が実行されると、タスク制御機構２のタスク起動処理手段21が呼び出される。タスク起動処理手段21は、タスク情報テーブル4中に１つのエリア例えば40-2を確保し、タスク起動文110から起動されるタスク名ＳＵＢ１を採取し割り当てられたタスク番号「２」と共に第４図（ａ）に示すようにエリア40-2のタスク特定情報411に登録する。また、タスク番号「２」のタスクを起動した親タスクのタスク番号「１」とタスク名ＭＡＩＮ、タスク起動文のあるプログラム単位名ＭＡＩＮとその行番号１０を、第４図（ａ）に示すようにエリア40-2の親タスクの情報４２に登録する。その後、タスク番号「２」、タスク名ＳＵＢ１のタスクがタスク制御機構によって起動される。
　タスク番号「１」のタスクにおいて、プログラム単位100のタスク起動文１２０が実行された場合も、タスク起動文110と同様に処理され、第４図（ａ）に示すような情報がエリア40-3に登録される。」（明細書第14頁（公報第4頁右下段）第12行目ないし明細書第16頁（公報第5頁右上段）第1行目）
　
（オ）「タスク番号「１」のタスクのプログラム単位100の同期排他制御文130が実行されると、タスク制御機構２の同期排他制御処理手段22が呼び出される。同期排他制御処理手段22は、同期排他制御文130から、同期排他制御事象の種別ＥＶＥＮＴＰＯＳＴ、ＥＶＥＮＴを制御するための番号の格納領域名（ＥＶＥＮＴ識別変数名）ＩＤ１とその番号「１」を採取し、これらと同期排他制御文130があるプログラム単位名ＭＡＩＮおよびその行番号90とを第４図（ａ）に示すようにタスク情報テーブル4のエリア40-1の同期排他制御に関する情報412に登録し、更にタスク番号「１」のタスクが実行中であるという情報を同エリア40-1の実行状況413に第４図（ａ）に示すように登録する。更に、このときＩＤ１で同期待ちしているタスクがあれば、すなわちタスク番号「２」のプログラム単位200の同期排他制御文210が実行され同期待ちをしているとすると、タスク情報テーブル4のタスク番号「２」に対応するエリア40-2の実行状況413に、同期待ち解除（ＥＶＥＮＴＷＡＩＴ後のＲＵＮ）の情報が登録される。このように、同期排他制御制御処理手段22は、同期排他制御指示の影響を受けるタスクの実行状況をも必要に応じて更新する。」（明細書第16頁（公報第5頁右上段）第2行目ないし明細書第17頁（公報第5頁左下段）第5行目）
　
（カ）「タスク番号「１」のタスクのプログラム単位100の同期排他制御文１４０が実行されたときも、同期排他制御文130と同様な処理が行われ、その結果、タスク情報テーブル4のエリア40-1の同期排他制御に関する情報412および実行状況413が第４図（ｂ）に示すように更新される。即ち、エリア40-1の同期排他制御に関する情報412に、同期排他制御事象の種別ＥＶＥＮＴＰＯＳＴ、ＥＶＥＮＴ識別変数名ＩＤ２、変数の値「２」、同期排他制御文のあるプログラム単位名ＭＡＩＮとその行番号180が上書きされ、実行状況413に実行中が上書きされる。
　他方、タスク番号「１」のタスクから起動されたタスク番号「２」の同期排他制御文210、220が実行された場合も、上述の同期排他制御文130、140と同様の処理が行われる。この結果、同期排他制御文２２０の実行時点で、タスク情報テーブル4のエリア40-2における同期排他制御に関する情報412に、第４図（ｂ）に示すように、同期排他制御事象の種別ＥＶＥＮＴＷＡＩＴ、ＥＶＥＮＴ識別変数名ＩＤ３、変数の値「３」、プログラム単位ＳＵＢ１、行番号２６０が登録され、その実行状況413に同期待ちの旨が登録される。そして、タスク番号「２」のタスクは同期待ちのために実行が中断される。
　また、タスク番号「１」のタスクから起動されたタスク番号「３」のタスクの同期排他制御に関する情報412に、同期排他制御事象の種別ＥＶＥＮＴＷＡＩＴ，ＥＶＥＮＴ識別変数名ＩＤ１、変数の値「１」、プログラム単位ＳＵＢ２および行番号40が登録され、実行状況413に同期待ちの旨が登録される（図示せず）。
　そして、その後にタスク番号「３」のタスクの実行が終了すると、タスク制御機構２のタスク消去処理手段23が呼び出され、このタスク消去処理手段23により、タスク情報テーブル4のエリア40-3における実行状況413にタスク番号「３」が正常終了した旨が登録される。第４図（ｂ）はこの時点のタスク情報テーブル4の状態を示している。」（明細書第17頁（公報第5頁左下段）第6行目ないし明細書第19頁（公報第6頁左上段）第7行目）
　
（キ）「実行可能プログラム１は、タスク番号「３」のタスクが正常終了し、タスク番号「１」とタスク番号「２」のタスクが同期待ちとなった時点で、デッドロック状態になり、例外が発生してプログラムが異常終了する。
　例外の発生によりプログラムが異常終了すると、例外処理機構３が呼び出され、その内部の例外情報表示手段31は、第４図（ｃ）に示すタスク情報テーブル4の登録内容を含む情報を例外情報5として出力する。
　このようにして出力された例外情報5中には、例外発生時点のタスクの起動関係および各タスクの状況が含まれているので、例外を生じた原因の究明を容易に行うことができる。特に、今の例では、第４図（ｃ）に示すようなタスク情報テーブル4の内容が例外情報5の一部として出力されることにより、
○1タスク番号「３」のタスクは正常終了している。
○2タスク番号「１」のタスクはタスク番号「２」のタスクの終了を待ち合わせている。
○3タスク番号「２」のタスクは、ＩＤ３でＥＶＥＮＴＰＯＳＴされるのを待ち合わせている。
等の事実がわかり、○2、○3により例外種別がデッドロックであることが判明する。そして、更に内容を精査すれば、タスク番号「２」のタスクがＥＶＥＮＴＷＡＩＴ（ＩＤ３、…）はこの場合実行してはいけなかった、或いはタスク番号「３」のタスクがＥＶＥＮＴＰＯＳＴ（ＩＤ３、…）を実行せずに終了した等が、デッドロックの原因であることがわかる。」（明細書第19頁（公報第6頁左上段）第19行目ないし明細書第21頁（公報第6頁左下段）第9行目）
　
　と記載されている。
　
　上記記載を整理する。
　
(1)　引用記載（ア）ないし（キ）に記載のものは、マルチタスクでマルチタスクプログラムを実行するものであり、引用記載（ウ）、（カ）に記載のように排他制御もされているから、これらの記載には並列処理単位が示されている。
　
(2)　引用記載（エ）ないし（カ）の記載および第４図（ａ）ないし（ｃ）を参照すると、これらに記載のものは、並列処理単位の起動が指示された場合には、並列処理単位情報テーブルに当該並列処理単位に対応して、並列処理単位特定情報、実行状況、親並列処理単位特定情報等のエリアを確保し、当該確保したエリアに並列処理単位特定情報と、前記指示が親となる並列処理単位からのものである場合は、さらに、並列処理単位の親並列処理単位特定情報を設定してから並列処理単位を起動している。
　したがって、並列処理単位情報テーブルの並列処理単位に対応するエリアに並列処理単位特定情報のみ、または、並列処理単位特定情報と親並列処理単位特定情報のみ、が設定されていると、それは当該並列処理単位が実行中であるという実行状況も示していることとなる。
　
(3)　引用記載（キ）には、
「例外の発生によりプログラムが異常終了すると、例外処理機構３が呼び出され、その内部の例外情報表示手段31は、第４図（ｃ）に示すタスク情報テーブル4の登録内容を含む情報を例外情報5として出力する。
　このようにして出力された例外情報5中には、例外発生時点のタスクの起動関係および各タスクの状況が含まれているので、例外を生じた原因の究明を容易に行うことができる。」
と記載されているから、全ての並列処理単位の処理が中断された後に並列処理単位情報テーブルの登録内容が出力されていることは明らかである。
　
(4)　引用記載（ウ）ないし（キ）によると、並列処理単位の実行状態を取得して出力していることが見て取れるから、これらに記載のものは、並列処理単位の実行状態を採取する出力装置である。
　
(5)　前記(3)で引用した引用記載（キ）の記載も示すように、例外は、一種の異常である。
　
　以上のことから見て、刊行物１には、先願発明として、次のものが記載されている。
　
　並列処理単位の実行状態を採取する出力装置であって、
　各並列処理単位毎にエリアが確保され、各エリアに、採取されたその並列処理単位を特定し得る情報と、その並列処理単位が行った同期排他制御に関する情報と、その並列処理単位の実行状況に関する情報およびその並列処理単位を起動した並列処理単位との起動関係とが設定される、並列処理単位情報テーブルと、
　並列処理単位の起動が指示されると、前記並列処理単位情報テーブルに起動される並列処理単位用のエリアを確保し、そのエリアに、並列処理単位特定情報として、起動された並列処理単位を特定し得る情報と、前記指示が親となる並列処理単位からのものである場合は、さらに、親並列処理単位情報を設定し、この設定によって並列処理単位の実行状態も設定する並列処理単位制御機構と、
　並列処理単位の実行中に異常が発生することに対応して、全ての並列処理単位の処理を中断させた後、前記並列処理単位情報テーブルの登録内容を出力する異常情報出力手段とを備える、
　ことを特徴とする出力装置。
　
　
第４　対比
　本件発明と先願発明とを対比する。
　
(1)　先願発明の並列処理単位を起動した並列処理単位との起動関係は、本件発明の他の並列処理単位との呼び出し関係に相当する情報である。
　
(2)　先願発明の並列処理単位情報テーブルの「並列処理単位の実行状況に関する情報」、「並列処理単位を起動した並列処理単位との起動関係」は、それぞれ、本件発明の「並列処理単位毎の実行状態」、「（並列処理単位毎の）呼び出し関係」に相当し、また、先願発明の並列処理単位情報テーブルは、本件発明の並列処理単位制御表に相当する。
　
(3)　本件発明のトレースバックマップは、「主プログラムからエラー発生・異常終了事象の発生および現在のプログラム単位（トレースプログラム単位）までの呼び出し関係を表わすもの」（【０００３】）である。
　一方、先願発明の異常情報出力手段から出力される、並列処理単位を特定し得る情報、並列処理単位の実行状況に関する情報、並列処理単位を起動した並列処理単位との起動関係等も、異常終了事象の発生および現在のプログラム単位までの呼び出し関係を表わすものであるから、先願発明の異常情報出力手段から出力されるものは、本件発明のトレースバックマップに相当するものである。
　
　したがって、本件発明と先願発明とは、
　
（一致点）
　並列処理単位の実行状態を採取する複数トレースバックマップ出力装置において、
　該並列処理単位毎の実行状態および呼び出し関係をそれぞれに設定する並列処理単位制御表と、
　並列処理単位が呼び出された場合、前記並列処理単位制御表の設定後に、呼び出された並列処理単位が実行され、
　いずれかの並列処理単位に異常が発生したことに対応して、全ての並列処理単位の処理を中断させた後、前記並列処理単位制御表を参照して並列処理単位毎に実行状態および呼び出し関係をトレースバックマップとして出力する手段と、
を構えたことを特徴とする複数トレースバックマップ出力装置
　
　である点で一致し、
　
（相違点ａ）
　並列処理単位制御表について、本件発明の並列処理単位制御表はメインタスク内にあるのに対して、先願発明の並列処理単位制御表は並列処理単位制御機構から参照可能な位置にある点、
　
（相違点ｂ−１）
　並列処理単位制御表へ情報の設定を行うのが、本件発明では、他の並列処理単位を呼び出す並列処理単位であるのに対して、先願発明では、他の並列処理単位を呼び出す並列処理単位の呼び出しに応じて、並列処理単位制御機構が行う点、
　
（相違点ｂ−２）
　並列処理単位を呼び出す際の並列処理単位制御表への設定内容に関し、
本件発明においては、
　　他の並列処理単位を呼び出す側の並列処理単位に対応する位置に、自身の並列処理単位の状態および他の並列処理単位との呼び出し関係が設定され、呼び出される並列処理単位の位置に、呼び出される並列処理単位の状態が設定される、
が、先願発明においては、
　　並列処理単位制御表に、呼び出される側の並列処理単位のエリアが確保され、並列処理単位特定情報、並列処理単位の呼び出し関係等が設定される点、
　
で相違している。
　
　
第５　相違点の検討
（相違点ａ）について
　並列処理単位制御表を、本件発明の如くメインタスク内に設けるものと、先願発明の如く並列処理単位制御機構から参照可能な位置に設けるものとの、並列処理単位制御表の使用方法について比較すると、両者とも、並列処理単位の呼び出し等に応じて、並列処理単位の状態および並列処理単位の呼び出し関係が設定されるものであること、いずれかの並列処理単位に異常が発生したことに対応して、設定した並列処理単位毎の実行状態および呼び出し関係がトレースバックマップとして出力されるものであることには変わりがない。したがって、両者は単に並列処理単位制御表の位置が異なるのみで、この相違は技術的には重要なものではないから、問題解決のための具体化手段における微差に過ぎない。
　
　したがって、相違点ａは設計事項であり、実質的な相違点ではない。
　
（相違点ｂ−１）について　
　並列処理単位制御表の設定を、本件発明の如く、他の並列処理単位を呼び出した並列処理単位が行なう場合も、先願発明の如く、他の並列処理単位を呼び出す並列処理単位の呼び出しに応じて並列処理単位制御機構が行なう場合も、その設定動作は、並列処理単位の呼び出しに応じて、並列処理単位毎の実行状態および呼び出し関係を並列処理単位制御表に設定するものであることに変わりはない。したがって、両者は、単に、設定を行う主体が異なるのみで、この相違は技術的には重要なものではないから、問題解決のための具体化手段における微差に過ぎない。
　
　したがって、相違点ｂ−１は設計事項であり、実質的な相違点ではない。
　
（相違点ｂ−２）について
　呼び出し関係を設定するのが、本件発明の如く、呼び出し側の並列処理単位に対応する並列処理単位制御表のエリアであっても、先願発明の如く、呼び出される側の当該エリアであっても、呼び出し関係がトレース可能に設定されていることに変わりはない。したがって、両者は単に、情報を格納する位置が異なるのみで、この相違は技術的には重要なものではないから、問題解決のための具体化手段における微差に過ぎない。
　
　さらに、先願発明でも、並列処理単位に実行状況が設定されていると解されることは第３(3)で述べたとおりであるから、先願発明においても、並列処理単位の状態が設定されているもので、この点でも相違するものではない。
　
　よって、相違点ｂ−２も設計事項であり、実質的な相違点ではない。
　
　以上のとおり、いずれの相違点も実質的な相違点ではなく、本件発明と先願発明とは同一である。
　
　
第６　むすび
　以上のとおり、本件発明は、本件発明の出願の日前の他の特許出願であつて本件特許出願後に出願公開がされたものの願書に最初に添附した明細書又は図面に記載された先願発明と同一であり、かつ、先願発明をした者が本件発明の発明者と同一の者でもないから、特許法第29条の2の規定により、特許を受けることができない。
　
　よって、結論のとおり審決する。