【事件の表示】
　特許第２５７１４９２号「複数プログラムにおける修正必要個所の検出方法」の特許に対する特許異議の申立てについて、次のとおり決定する。
【結論】
　特許第２５７１４９２号の特許を取り消す。
【理由】
Ｉ　手続きの経緯
　本件特許第２５７１４９２号は、その発明について、平成４年５月１８日に特許出願され、平成８年１０月２４日に特許権の設定の登録がされたものであって、その後、その特許について、平成９年７月１５日に株式会社日立製作所より、及び翌１６日に三浦俊郎より、それぞれ、特許異議の申立てがされ、これにより、当審における合議の結果、平成１０年１月６日付けで取消理由が通知され、その明細書及び図面について、その指定期間内である平成１０年３月３０日に訂正の請求がされ、これに対して、更に、当審における合議の結果、平成１０年８月２８日付けで訂正拒絶理由が通知され、その指定期間内である平成１０年１１月２４日に手続補正書（訂正請求書）が提出されたものである。
ＩＩ　訂正の適否
１　訂正発明
　訂正明細書の請求項１に係る発明（以下、「訂正発明」という。）は、前記手続補正書により補正された訂正明細書及び図面の記載からみて、その特許請求の範囲の請求項１に記載された次の事項により構成されるものである。
「ソースプログラム、ジョブ制御文（ＪＣＬ）、データベース定義文、データベースアクセス定義文、画面定義文、オンライン定義文、ＣＯＰＹ定義文、システム定義文及びソートユーティリティ制御文から選ばれるデータ項目名が統一されていない複数プログラムにおける修正必要箇所の検出方法であって、
　プログラムの移送命令文における移送元のデータ項目名と移送先のデータ項目名とをグルーピングするとともに、グルーピングした各グループに代表名を設定し、グルーピング索引を作成してまとめる第１のグルーピング手段と、
　同一のデータセットを複数のプログラムで定義している場合の該複数のプログラムのデータ項目の構造単位における同じ位置かつ同じ桁数のデータ項目名をグルーピングするとともに、グルーピングした各グループに代表名を設定し、グルーピング索引を作成してまとめるグルーピング手段であって、ＪＣＬ（ＪｏｂＣｏｎｔｒｏｌＬａｎｇｕａｇｅ）のデータセット名を仲介として複数のプログラム上のデータ項目名を結び付ける第２のグルーピング手段とを備え、
　前記第１及び第２のグルーピング手段によって複数プログラム間における異名同義の複数のデータ項目名をグルーピングするとともに、
　あるデータ項目名で問い合わせを行ったときに、該データ項目名及び該データ項目名と共にグルーピングされた他の異名同義のデータ項目名を表示及び／又は出力するようにしたことを特徴とする複数プログラムにおける修正必要箇所の検出方法」
２　刊行物記載の発明
（１）刊行物１
　当審における合議の結果通知した訂正拒絶理由に引用した刊行物１である特開平３−２９４９２５号公報（平成３年１２月２６日，特許庁発行）には、既開発ソフトウェアの保守、機能拡張、移行等の作業の効率化を図る方法が記載されており、これについて、次の各事項が図面と共に記載されている。
▲１▼「本発明はソフトウェア標準化方法に関し、特に既開発ソフトウェア内のデータ項目の名称や属性を統一化，標準化することにより、既開発ソフトウェアの保守作業を効率化するのに好適なソフトウェア標準化方法に関する。」（前記刊行物２頁左下欄１７行〜同頁右下欄１行）
▲２▼「第３図は、上述のジョブ制御プログラムの役割りを説明する図で、例えば、ジョブ制御プログラム０３０１は、ジョブ制御仕様図０３０２をプログラム化したもので、プログラムの実行順序とファイル情報とを記述している。ソースプログラムＡＡ０３０３およびソースプログラムＢＢ０３０５および実行プログラムＢＢ０３０６の、ＣＯＢＯＬ言語で記述したソースプログラムを示している。
　ここで、プログラム名「ＡＡ」０３０７は、ソースプログラムＡＡ０３０３およびプログラム名「ＡＡ」０３０８に対応し、ソースプログラムＡＡ０３０３が該当するプログラムであることを示す。また、名称「ＦＩＬＥＡ」０３０９は、ソースプログラムＡＡ内に記述する内部ファイル名「ＦＩＬＥＡ」０３１０に対応し、該当する内部ファイル名「ＦＩＬＥ−１」０３１１を得る。この内部ファイル名「ＦＩＬＥ−１」０３１１の詳細定義部０３１２から、該当するレコード名「ＡＡ−ＲＥＣ」を得ることができる。また、ファイル実体名「ＦＩＬＥ１．ＤＡＴＡ」０３１３は、プログラム実行時に使用する外部記憶装置内に蓄積するファイル実体に付された名称を示す。これにより、プログラム実行時にファイル実体とプログラム内の内部ファイルおよび該当するレコード定義を特定することができる。」（同刊行物７頁左上欄１０行〜同頁右上欄１４行）
▲３▼「第４図は、ジョブ制御プログラム解析情報の例を示す図であり、第３図に例示したジョブ制御プログラム０３１０の解析の結果、プログラム名「ＡＡ」０３０７は、ファイル割当名「ＦＩＬＥ１．ＤＡＴＡ」０３１３を利用していることを得、第４図で示すメモリ内にプログラム名「ＡＡ」０４０１，割当名「ＦＩＬＥＡ」０４０２，ファイル実体名「ＦＩＬＥ１，ＤＡＴＡ」０４０３として記憶することを示している。
　次に、ジョブ制御プログラム解析結果を基に、第１図で示すステップ０１０２で、使用するファイルの同値データ検出を行なう。
　第５図は、ファイルの同値データ検出情報の例を示す図であり、第４図のジョブ制御プログラム解析結果で示すファイル実体名が同じであることは、外部記憶装置内に蓄積しているファイル実体の同一値を利用することであり、同一ファイル実体名を持つ複数の割当名は同値データを参照することを示している。例えば、第４図で示す割当名「ＦＩＬＥＢ」０４０５は、割り当てるファイル実体名「ＦＩＬＥ２．ＤＡＴＡ」０４０６と同一のファイル実体名「ＦＩＬＥ２．ＤＡＴＡ」０４０９を持つ、割当名「ＦＩＬＥＣ」０４０８と同値データを持つことから、プログラム名、割当名を、それぞれ、第５図で示すプログラム名「ＡＡ」０５０２，「ＢＢ」０５０３および割当名「ＦＩＬＥＢ」０５０３，「ＦＩＬＥＣ」０５０５として、同一の番号を持つ同値番号０５０１を付してメモリ内に記憶する。」（同刊行物７頁右上欄１５行〜同頁右下欄２行）
▲４▼「第９図は、同値データ項目情報の例を示す図である。まず、解析された手続き部の文情報により、「出力命令文」を検出し、「出力レコード名」を抽出する。続いて、上記「出力レコード名」に従属する項目ごとに、当該従属項目を受取側項目名とする移動命令文を検出し、上記従属項目名と送り出し側項目名とを、同値データとしてメモリ内に記憶する。もし、上記送り出し側項目名のファイル割当名が空白の場合には、当該送り出し側項目名を受取側項目名とする移動命令文を検出し、検出した移動命令文の送り出し側項目名を当該受取側項目名を同値データとしてメモリ内に記憶する動作を、検出した移動命令文の該受取側項目名のファイル割当名が空白以外になるか、該当する移動命令文の検出をすることができなくなるまで繰り返す。」（同刊行物８頁右上欄１３行〜同頁左下欄８行）
▲５▼「第１図の例で示す既存ソースプログラムの解析（ステップ０１０４）は、例えば、第５図で示す。既にプログラム解析を行なったプログラム名「ＡＡ」０５０２に関係するファイル割当名「ＦＩＬＥＢ」０５０３を持つデータ定義部解析情報（第１１図の１１０１）について、メモリ内の記憶を残しながら、解析を行う。第１０図で示すソースプログラムの解析によって、データ定義部解析情報は、第１１図の１０１２に示すとおりとなる。
　次に、第１図の例で示すデータ定義部の同値データ検出（ステップ０１０５）において、ファイルの同値データ情報の該当するファイル割当名から、それぞれのファイル割当名を持つデータ定義部解析情報中の一致する開始位置、長さによる同値データの検出を行なう。例えば、第５図の例で示す同値番号「１」０５０１を持つファイルの同値データ情報は、プログラム名「ＡＡ」０５０２のファイル割当名「ＦＩＬＥＢ」およびプログラム名「ＢＢ」０５０４の「ＦＩＬＥＣ」０５０５であり、第１１図で示すデータ定義部解析情報の該当するプログラム名，ファイル割当名を持つレコード情報は、それぞれ、１１０１，１１０２であり、各レコード情報間で、同一の開始位置，長さを持つ項目を検出し、同値データ情報としてメモリ内に記憶するが、検出した同値データ情報のいずれかがすでに同値データ情報としてメモリ内に記憶済みの場合、未記憶の同値データ情報のみ、該記憶の同値データ情報の同値番号を付加してメモリ内に記憶する。例えば、第１１図の例で示す項目名「ＤＥＮ−ＮＯ」の情報１１０３と項目名「ＤＥＮ−ＮＵＭ」の情報１１０４は、同一の開始位置「１」と長さ「３」を持つ同値データであり、同値データ情報としてメモリ内に記憶するが、既に項目名「ＤＥＮ−ＮＯ」の項目は、第９図の例で示す同値データ情報としてメモリ内に記憶済み０９０１であるため、同一の同値番号「１」を付加してメモリ内に記憶する（０９０８）。」（同刊行物１０頁右上欄１行〜同頁左下欄１６行。なお、この記載において、「項目名「ＤＥＮ−ＮＯ」の項目は、第９図の例で示す同値データ情報としてメモリ内に記憶済み０９０１であるため、同一の同値番号「１」を付加してメモリ内に記憶する」の部分は、前後の関係から見て、“項目名「ＤＥＮ−ＮＯ」の項目は、第９図の例で示す同値データ情報としてメモリ内に記憶済み０９０１であるため、
未記憶の項目名「ＤＥＮ−ＮＵＭ」のみ
▲６▼「標準データの決定は、同値データ項目情報の中でファイル実体名が空白以外となっている同一の同値番号を持つ複数の項目を表示装置に表示し、使用者が入力装僧により、標準とする項目名の番号あるいは使用者決定した標準データ名を入力することによって行なう。」（同刊行物１０頁右下欄６行〜同頁同欄１１行）
　そして、一般的に、プログラムによって働かされるコンピュータのハードウェアが果たす種々の役割りを複数の機能として捉えれば、各機能に対応した別々の機能実現手段が存在していると見ることができるから、これを加味しつゝ、前記▲１▼〜▲６▼の事項を、訂正発明の構成に準じて整理すれば、刊行物１には、次の事項により構成される発明（以下、「刊行物１記載の発明」という。）が記載されているということができる。
　データ項目名が統一されていない複数プログラムにおける修正必要箇所の検出方法であって、
　プログラムの移動命令文における送り出し側データ項目名と受取側データ項目名とを同値データとし、これらに同一の同値番号を付してメモリ内に記憶する第１の手段と、
　同一のファイルを複数のプログラムで定義している場合の該複数のプログラムのレコード情報における同一の開始位置と同一の長さを持つデータ項目名を同値データとし、これらに同一の同値番号を付してメモリ内に記憶する第２の手段であって、ジョブ制御プログラムのファイル情報を仲介として複数のプログラム上のデータ項目名を結び付ける第２の手段とを備え、
　前記第１及び第２の手段によって複数プログラム間における異名同値の複数のデータ項目名を同値データとするとともに、
　同一の同値番号が付された異名同値の複数のデータ項目名を表示するようにした複数プログラムにおける修正必要箇所の検出方法
（２）刊行物２
　同じく引用した刊行物２である「ソフトウェア保守技術開発計画テクニカル・レポートＮｏ．３」（共同システム開発株式会社，昭和５８年１２月発行）の１１頁〜１６頁（「データフロー解析支援ツール」の項）から、次の事項を読み取ることができる。
　データ項目名の指定により、そのデータ項目の変更が、値の移動（ＭＯＶＥ）又は流れの変化（ＩＦ＆ＭＯＶＥ）により余波・影響を与えるデータ項目を追跡し、それらを識別可能に画面に表示すること
３　訂正発明と刊行物１記載の発明との対比
　訂正発明でいう「移送命令文」、「移送元」、「移送先」、「データセット（名）」、「データ項目の構造単位」、「位置」、「桁数」、「ＪＣＬ（ＪｏｂＣｏｎｔｒｏｌＬａｎｇｕａｇｅ）」及び「異名同義」は、それぞれ、刊行物１記載の発明でいう「移動命令文」、「送り出し側」、「受取側」、「ファイル（情報）」、「レコード情報」、「開始位置」、「長さ」、「ジョブ制御プログラム」及び「異名同値」に相当する。
　また、訂正発明でいう「グルーピング」することは、同義・同類のものを組にする或いは組として扱うという意味である点で、刊行物１記載の発明でいう「同値データと」することと同義であり、訂正発明でいう「代表名」は、索引のためのキーワード・識別子である点で、刊行物１記載の発明でいう「（同一の）同値番号」と同義であるから、訂正発明の「第１のグルーピング手段」及び「第２のグルーピング手段」は、それぞれ、刊行物１記載の発明の「第１の手段」及び「第２の手段」に相当する。
　したがって、訂正発明と刊行物１記載の発明とは、
　データ項目名が統一されていない複数プログラムにおける修正必要箇所の検出方法であって、
　プログラムの移送命令文における移送元のデータ項目名と移送先のデータ項目名とをグルーピングするとともに、グルーピングした各グループに代表名を設定し、グルーピング索引を作成してまとめる第１のグルーピング手段と、
　同一のデータセットを複数のプログラムで定義している場合の該複数のプログラムのデータ項目の構造単位における同じ位置かつ同じ桁数のデータ項目名をグルーピングするとともに、グルーピングした各グループに代表名を設定し、グルーピング索引を作成してまとめるグルーピング手段であって、ＪＣＬ（ＪｏｂＣｏｎｔｒｏｌＬａｎｇｕａｇｅ）のデータセット名を仲介として複数のプログラム上のデータ項目名を結び付ける第２のグルーピング手段とを備え、
　前記第１及び第２のグルーピング手段によって複数プログラム間における異名同義の複数のデータ項目名をグルーピングするとともに、
　グルーピングされた異名同義のデータ項目名を表示するようにした複数プログラムにおける修正必要箇所の検出方法
である点で一致し、次の２点で相違する。
（１）相違点▲１▼
　データ項目名が統一されていない複数プログラムが、訂正発明では、ソースプログラム、ジョブ制御文（ＪＣＬ）、データベース定義文、データベースアクセス定義文、画面定義文、オンライン定義文、ＣＯＰＹ定義文、システム定義文及びソートユーティリティ制御文から選ばれるのに対して、刊行物１記載の発明では、そのようなものに限定されない点
（２）相違点▲２▼
　グルーピングされた異名同義のデータ項目名の表示が、訂正発明では、あるデータ項目名で問い合わせを行ったときに行われるのに対して、刊行物１記載の発明では、そのようなものではない点
４　相違点についての検討
（１）相違点▲１▼について
　ソースプログラム、ジョブ制御文（ＪＣＬ）、データベース定義文、データベースアクセス定義文、画面定義文オンライン定義文、ＣＯＰＹ定義文、システム定義文及びソートユーティリティ制御文は、プログラムとして、本件出願前に当業者に周知のものであって、該周知のプログラムのいずれを、データ項目名が統一されていない複数プログラムとして選ぶかは、当業者が適宜に為し得た設計事項の範囲に属する事柄に過ぎないから、刊行物１記載の発明において、前記複数プログラムを前記周知のプログラムから選ぶようにすることは、当業者が容易に想到実施し得たことである。
（２）相違点▲２▼について
　前記ＩＩ２（２）に認定したとおり、刊行物２には、あるデータ項目名で指定したときに、そのデータ項目と余波・影響の関係にあるデータ項目名を表示することが示唆されているから、刊行物１記載の発明において、グルーピングされた異名同義のデータ項目名の表示を、あるデータ項目名で問い合わせがあったときとすることは、当業者が容易に為し得た構成変更に相当することである。
５　独立特許要件
　したがって、訂正発明は、当業者が刊行物１記載の発明に基づいて容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許出願の際独立して特許を受けることができないものである。
６　訂正の認否
　よって、本件訂正は、特許法第１２０条の４第３項において準用する同法第１２６条第４項の規定に適合しないものであるから、当該訂正は認めない。
ＩＩＩ　特許異議の申立てについての判断
１　本件発明
　本件の請求項１に係る発明（以下、「本件発明」という。）は、特許明細書及び図面の記載からみて、その特許請求の範囲の請求項１に記載された次の事項により構成されるものである。
「プログラムの移送命令文における移送元のデータ項目名と移送先のデータ項目名とをグルーピングする第１のグルーピング手段と、
　同一のデータセットを複数のプログラムで定義している場合の該複数のプログラムのデータ項目の構造単位における同じ位置かつ同じ桁数のデータ項目名をグルーピングする第２のグルーピング手段とを備え、
　前記第１及び第２のグルーピング手段によって複数プログラム間における異名同義の複数のデータ項目名をグルーピングするとともに、
　あるデータ項目名で問い合わせを行ったときに、該データ項目名及び該データ項目名と共にグルーピングされた他の異名同義のデータ項目名を表示及び／又は出力するようにしたことを特徴とする複数プログラムにおける修正必要箇所の検出方法」
２　刊行物記載の発明
　当審における合議の結果通知した取消理由に引用した刊行物１及び２については、それぞれ、前記ＩＩ２（１）及び（２）に認定のとおりである。
３　本件発明の特許性
（１）本件発明と刊行物１記載の発明とを対比すると、両者は、
　プログラムの移送命令文における移送元のデータ項目名と移送先のデータ項目名とをグルーピングする第１のグルーピング手段と、
　同一のデータセットを複数のプログラムで定義している場合の該複数のプログラムのデータ項目の構造単位における同じ位置かつ同じ桁数のデータ項目名をグルーピングする第２のグルーピング手段とを備え、
　前記第１及び第２のグルーピング手段によって複数プログラム間における異名同義の複数のデータ項目名をグルーピングするとともに、
　グルーピングされた異名同義のデータ項目名を表示するようにした複数プログラムにおける修正必要箇所の検出方法
である点で一致し、次の点で相違する。
　グルーピングされた異名同義のデータ項目名の表示が、訂正発明では、あるデータ項目名で問い合わせを行ったときに行われるのに対して、刊行物１記載の発明では、そのようなものではない点
（２）よって、前記相違点について検討すると、これについては、前記ＩＩ４（２）に認定したのと同様である。
（３）したがって、本件発明は、当業者が刊行物１記載の発明に基づいて容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができないものである。
ＩＶ　結び
　以上のとおりであって、本件の請求項１に係る特許は、拒絶の査定をしなければならない特許出願に対してされたものであるから、取り消されるべきものである。
　よって、結論のとおり決定する。
【異議決定日】
平成１１年６月３０日（１９９９．６．３０）