【事件の表示】
　平成　３年特許願第　　　４５７号「プログラム更新システム」拒絶査定に対する審判事件〔平成　４年　８月３１日出願公開、特開平　４−２４２８２９、請求項の数（１）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
１．手続の経緯および本願発明
　
　本願は平成３年１月８日の出願であって、請求項１に係る発明（以下、本願発明１という。）は、平成１１年１０月１８日付けの手続補正書にによって補正された明細書、図面の記載からみて、特許請求の範囲の請求項１に記載された以下のものであると認める。
　
「旧プログラムから第一プログラムへの第一の更新内容を、旧プログラムから第二の更新を行った第二のプログラムに更新反映させるプログラム更新システムにおいて、
　旧プログラムならびに第一および第二の更新されたプログラムの命令文の出現順番号を記憶する記憶手段と、
　上記各プログラムの文字列の値順にソートされた命令文の比較に基づき、旧プログラムから第一および第二のプログラムへの更新内容を、旧プログラムと更新されたプログラムの命令文の対応関係および更新された命令文毎の更新の種類を上記記憶された各プログラム上の出現順番号とともに更新情報として抽出して記憶する更新情報抽出手段と、
　上記抽出された第一のプログラムの更新情報の各命令文毎の更新内容を旧プログラム上の出現順番号と上記命令文の対応関係に基づいて第二のプログラムに更新反映する更新反映情報を生成する更新反映情報生成手段と、
を有することを特徴とするプログラム更新システム。」
　
２．引用刊行物記載の発明
　
　これに対して、原査定の拒絶の理由に引用された本願の出願前の昭和５９年４月２３乃至２５日の日程で開催された「the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments」の内容に基づいて、同年５月に刊行された「SIGPLAN Notices Volume19, Number5」（以下、引用刊行物１という）には次の事項が記載されている。
　
ａ）「履歴管理部（ＨＭ）はＤＳＥＥ環境の範囲内で、ソースコードの制御を提供する。ＨＭは予約／置換そして加算変更（デルタ）指向のシステムである。　関係するソースエレメントはＤＳＥＥライブラリーにまとめられている。　ソースエレメントは特別な圧縮率のフォーマットで保存されている（下記のテクニカルノートを参照のこと）。　利用者は、あるエレメントを変更のために予約し、ローカルコピーを編集する。　エレメントのコピーの変更と試験が終了したとき、利用者は、そのエレメントを　作り出した新しい版に置き換える。　ＨＭは変更の背後にある理由について質問し、そして、ライブラリーの関連した、履歴データベースの中に、日時、ノードＩＤ、利用者名にそって、情報を記録する。　後の時点において、エレメントの履歴の再検討、特定の変更の、ライン毎の参照、および、エレメントの任意の過去の版の検索が夫々可能である。　利用者が、あるエレメントを“予約”しようとしたとき、それが既に予約されていると、ＤＳＥＥは、エレメントが予約されている理由と、誰によって予約されているかを通知することによって、衝突している利用者に警告する。　並列の開発は認められているが、異なる分岐上においてのみである（下記の“種々の分岐”参照のこと）。」（第１０５頁左欄第４２乃至６４行より訳出）、
　
ｂ）「あるエレメントは、通常、一つの系統に沿って、更新する。　しかしながら、ＤＳＥＥは、３つの異なるタイプの更新を維持している。　異なるタイプの更新の最初のものは、ある要素の前回のリリースの際に、バグが発見された時にどのようにするかの問題に答えたものである。　保守管理者は、影響なしに、あるいは、正しい開発行動の影響によって、古い版のエレメントを変更することを要求する。　ＤＳＥＥ　ＨＭは、現存する版から分岐する、そのエレメントのための、新しい、独立の、系統を作り出すための機構を用意している（ＲＣＳ、とＳＣＣＳを行うような）。大きな計画においては、何人かのメンバーが、他の者が継続的に、主系列を開発している間、分岐上で作業し得る。新たなリリースの直前、分岐は主系統に統合される。それ故、組み込まれたバグは主の開発業務の中で修正される。　ＤＳＥＥは、マージ（合併）過程のほとんどを自動的に行う、マルチウインドゥの双方向マージコマンドを備えている。　利用者は、自動マージの決定を無視するか、あるいは、そのマージ処理を継続ものとして、結果であるファイルを編集することが可能である。」（第１０５頁右欄第２２乃至４３行より訳出）
　
　また、原査定の拒絶の理由に引用された特開平０１−２４０９２９号公報（以下、引用刊行物２という）には次の事項が記載されている。
　
ｃ）「ソースコードの世代管理を行う世代管理方式において、
　ソースコードに対する機能追加などのバージョンアップの際に、直前のソースコードの相対番号に対するデルタ（差分情報）および絶対番号を管理し、
　あるバージョンのソースコードに対する障害修正などした際に、このソースコードの相対番号に対するブランチ（差分情報）および絶対番号を管理し、
　上記デルタに対して上記ブランチを反映させた新たなバージョンアップしたソースコードを作成する際に、絶対番号に基づいてマージ（統合）するように構成したことを特徴とするソースコード世代管理方式。」（第１頁左下欄５行乃至右下欄１行より引用）、
　
ｄ）「本発明は、第１図に示すように、マージ指示に対応してマージ処理部２が世代管理テーブル１から該当するデルタ１、２などおよびブランチ１などを読み出し、絶対番号に基づいて両者をマージ（統合）し、必要に応じてユーザが選択し得るようにマーク付けするようにしている。そして、後処理部３が、このマーク付けされた部分をディスプレイに表示し、ユーザからの選択、削除などに対応して所望のソースコードを作成するようにしている。
　従って、デルタおよびブランチを絶対番号に対応づけることにより、両者のマージを行い、あるバージョンのソースコードの障害修正内容を新たに機能追加したバージョンのソースコードに反映させることが可能となる。」（第２頁左下欄第４乃至１８行より引用）
　
　また、原査定の拒絶の理由に引用された特開昭６３−３０５４３９号公報（以下、引用刊行物３という）には次の事項が記載されている。
　
ｅ）「（１）類似ファイル間の特有部抽出：
　以上、の処理を２つのファイルにした場合、残ったレコードがなくなるまでくり返す。但し、どちらか一方のファイルをすべて処理した場合、残ったファイル中のレコードはすべて特有のレコードとみなす」（第２頁左下欄第１２行乃至右下欄第１０行より引用）、
　
ｆ）「以上の様にして得られた２つのファイルを読み込み、
　a)共通レコードとみなしたレコード同士が本当に同一のものであるかをチェックを行い違うものであれば特有レコードとする。
　b)各ファイルの特有レコード番号をもつものの実際のレコードをそれぞれの属していたファイルでのレコード番号を付加して、特有のレコードとして格納する。」（第４頁左上欄第１１乃至２０行より引用）、
　
ｇ）「元ファイル，追加，削除ファイルの形で持つことは、３つ以上類似ファイルがある場合の格納効率を考慮してのことである。つまり、３つ以上類似ファイルがある場合、１つの元ファイルと、複数の追加，削除ファイルの形での保存が可能であり、効率的な保存方法である。」（第４頁左下欄第２乃至９行より引用）
　
　また、原査定の拒絶の理由に引用された特開平０１−１９４０３７号公報（以下、引用刊行物４という）には次の事項が記載されている。
　
ｈ）「行番号を持たない原始プログラムの内容を更新したとき、その更新された履歴情報を抽出する原始プログラムの更新履歴情報抽出方式において、
　(A)更新前原始プログラムと更新後原始プログラムをそれらの記述言語の昇順にサーチし、両原始プログラムのデータを昇順に１行ずつ比較してデータの不一致により更新の内容を抽出し（処理１）、
　(B)更新前原始プログラムと更新後原始プログラムの両データをそれらのレコード順にサーチし、両原始プログラムのデータをレコード順にかつ前記処理１で更新内容が抽出された行を除いて１行ずつ比較してデータの不一致により更新内容を抽出し（処理２）、
　(C)前記処理１及び処理２で抽出された更新内容から両原始プログラムの、更新箇所と内容の同じレコードを除いたものを、本来の更新履歴情報として抽出する（処理３）、ことを特徴とする原始プログラムの更新履歴情報抽出方式。」（第１頁左下欄第５行乃至右下欄第６行より引用）、
　
　上記記載ａ）から、引用刊行物１における「エレメント」は「プログラム」とみなせ、「古い版のエレメント」または「古い版」が「元プログラム」とみなせるから、引用刊行物１には、プログラム開発において、プログラムを更新する毎に履歴をデータベースに登録し、更新を行った後に元プログラムと置き換える点が読み取れ、また、上記記載ｂ）から、開発中のプログラムにバグが発見された場合、このバグの修正は、分岐して行って、これを最終的にプログラム開発のメインの系統に統合するようにした点が読み取れる。
　
　ここで、引用刊行物１において、更新の順序に即して検討すると、分岐が発生する直前の開発中プログラムを元プログラム、分岐で変更されるプログラムをブランチプログラム、また、分岐後、元プログラムに変更が加えられたとした場合に、メイン更新プログラムとすると、引用刊行物において、分岐で処理されていたプログラムを、メインの系統に統合するとは、元プログラムから、ブランチプログラムの更新内容を、メイン更新プログラムに反映させることであると見なせ、また、これら、ブランチ及び、メインの更新において、それぞれ、更新履歴を「デルタ」、「ブランチ」として取得しており、統合の際、この履歴情報が用いられていることは、引用刊行物１の記載内容から明らかである。
　
　また、引用刊行物１における「プログラム開発環境」は一種のシステムであることから、これは、本願発明おける「プログラム更新システム」に対応すると見なせることから、
　
　　したがって、引用刊行物１には次の構成を有する発明（以下、「引用発明１」という）が記載されているものと認める。
　
「プログラム更新システムであって、元プログラムを更新する毎に更新履歴を取得するものであって、元プログラムを分岐して更新した、ブランチプログラムの更新内容を、元プログラムの主系統の開発ラインに沿って更新されたメイン更新プログラムへ、履歴情報の「ブランチ」および「デルタ」を用いて、統合するようにしたプログラム更新システム」
　
　なお、上記記載ｃ）および上記記載ｄ）の内容から引用刊行物２に記載の発明（以下、「引用発明２」という）は引用発明１とほぼ同等の構成を有する発明であると認める。
　
　
３．本願発明と引用刊行物に記載の発明との対比
　
　引用発明１おける「元プログラム」、「ブランチプログラム」および「メイン更新プログラム」が、それぞれ、本願発明の「旧プログラム」、「第一プログラム」および「第二プログラム」に対応しており、
　また、引用発明１における「ブランチ」情報および「デルタ」情報が、それぞれ、本願発明における「第一プログラムの更新情報」および「第二プログラムの更新情報」にそれぞれ対応しており、
　
　また、引用発明１における「元プログラムを分岐して更新」とは、「メイン更新プログラム」とは別に「元プログラム」を更新していることを指すことは明らかであるから、
　
　したがって、本願発明と引用発明１とは、
　
　旧プログラムから第一のプログラムへの第一の更新内容を、旧プログラムから第二の更新を行った第二のプログラムに更新反映させるプログラム更新システムにおいて、
　旧プログラムから第一および第二のプログラムへの更新内容を、更新情報として抽出して記憶し、
　上記抽出された第一のプログラムの更新内容を、第二のプログラムに更新反映させるプログラム更新システムである点で一致し、
　
　本願発明においては、「更新情報」の抽出に際して、
　「　旧プログラムならびに第一および第二の更新されたプログラムの命令文の出現順番号を記憶し、上記各プログラムの文字列の値順にソートされた命令文の比較に基づき、旧プログラムから第一および第二のプログラムへの更新内容を、旧プログラムと更新されたプログラムの命令文の対応関係および更新された命令文毎の更新の種類を上記記憶された各プログラム上の出現順番号とともに更新情報として抽出している」のに対して、
　引用発明１においては、プログラムを更新する毎に「更新情報」を取得している点で相違している。
　
４．相違点についての判断
　
　上記記載ｅ）および上記記載ｆ）の内容から、引用刊行物３には、２つのファイルのファイルが有するレコードをビット列の長さ順でソートし、対応する２つのレコード比較し、一致すれば同一とみなし、どちらかが短い場合は、短い方を、そのレコードの属するファイルに特有のものとして、識別する手法が示されており、この処理は、本願発明における「プログラムの値順にソートされた命令文を比較する」手法と類似している。
　また、引用刊行物３には、３以上のファイルから、それぞれのファイルの特有のレコードを抽出する点が示されている。
　
　また、上記記載ｈ）の内容から、引用刊行物４には、更新前のプログラムと更新後のプログラムとを、そのプログラムの行を上から順番に比較していき更新履歴情報を取得する点が示されている。
　
　しかしながら、引用刊行物３において、各ファイルに特有なレコードを抽出しているのは、２つのファイルの場合、どちらか一方を元ファイルとし、この元ファイルと、各ファイル特有のレコードから、他方のファイルを復元するためであり、
　「旧プログラム」と、「旧プログラム」から更新された「第一プログラム」及び「第二プログラム」用いて、「第一プログラム」、「旧プログラム」間、および「第二プログラム」、「旧プロクラム」間の「更新情報」を取得するものではない。
　
　また、引用刊行物４においては、２つの「更新情報」を作成する点は示されていない。
　
　したがって、引用刊行物３及び４の何れにも、
「　旧プログラムならびに第一および第二の更新されたプログラムの命令文の出現順番号を記憶し、上記各プログラムの文字列の値順にソートされた命令文の比較に基づき、旧プログラムから第一および第二のプログラムへの更新内容を、旧プログラムと更新されたプログラムの命令文の対応関係および更新された命令文毎の更新の種類を上記記憶された各プログラム上の出現順番号とともに更新情報として抽出」するという一連の「更新情報」の取得過程に対応する技術は開示されておらず、
　また、引用刊行部３及び４に記載された技術を組み合わせたとしても、上記相違点に相当する構成が、当業者によって容易になし得えるものとも認められない。
　そして、引用発明１と同等の構成を有する引用発明２が、上記相違点に相当する構成を有していないことも明らかである。
　
　よって、引用発明１または引用発明２並びに引用刊行物３及び４に記載の発明から、本願発明を構築することが、当業者にとって容易であるとは認められない。
　
５．むすび
　
　以上のとおりであるから、本願については、原査定の拒絶の理由を検討してもその理由によって拒絶すべきものとすることはできない。
　また、他に本願を拒絶すべき理由を発見しない。
　
　よって結論のとおり審決する。