【事件の表示】
　特願２００５−５０２６９６「コンピュータウィルス判断方法」拒絶査定不服審判事件〔平成１６年　９月　２日国際公開、ＷＯ２００４／０７５０６０〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
　第１．手続の経緯
　本願は、平成１６年２月１６日を国際出願日とする出願であって、千九百七十年六月十九日にワシントンで作成された特許協力条約第８条（２）（ｂ）の規定及び特許法第１８４条の３第１項の規定により、特願２００３−９２７０２号（出願日は平成１５年２月２１日）を特許法第４１条第１項にいうところの「先の出願」とみなして行う優先権主張を伴う出願であり、平成１７年１０月２７日付けで拒絶理由通知がなされ、同年１２月２０日付けで手続補正がなされたが、平成１８年２月７日付けで拒絶査定がなされ、これに対し、同年３月１０日に審判請求がなされたものである。
　
　第２．本願発明について
　平成１７年１２月２０日付け手続補正書の特許請求の範囲に【請求項１１】として記載されている発明は、
　
　「【請求項１１】　前記コンピュータが携帯電話である請求項１に記載のコンピュータウイルス判断方法。」
　
というものである。ここで、前記【請求項１１】が引用する請求項１は、
　
　「【請求項１】　コンピュータで実行されるプログラムによって他のプログラムがコンピュータウィルスであるかどうかを判断するコンピュータウィルス判断方法であって、
　他のプログラムが呼ぶ可能性のあるＡＰＩ関数にブレークポイントを設定するブレークポイント設定ステップと、
　前記ブレークポイントにヒットしたとき他のプログラムが使用しているスタックの内容を取得するスタック取得ステップと、
　スタック取得ステップで取得されたスタックの内容が、コンピュータウィルスの特徴と合致するか判断をする判断ステップと、を含むコンピュータウィルス判断方法。」
　
というものであるから、前記【請求項１１】の中の「請求項１に記載の」という部分に前記【請求項１】の記載を当てはめて得られる次の発明（以下「本願発明」という。）が、前記【請求項１１】に係る発明であると認められる。
　
「コンピュータで実行されるプログラムによって他のプログラムがコンピュータウィルスであるかどうかを判断するコンピュータウィルス判断方法であって、
　他のプログラムが呼ぶ可能性のあるＡＰＩ関数にブレークポイントを設定するブレークポイント設定ステップと、
　前記ブレークポイントにヒットしたとき他のプログラムが使用しているスタックの内容を取得するスタック取得ステップと、
　スタック取得ステップで取得されたスタックの内容が、コンピュータウィルスの特徴と合致するか判断をする判断ステップと、
を含むコンピュータウィルス判断方法であって、
前記コンピュータが携帯電話であるコンピュータウィルス判断方法。」
　
　第３．優先権主張の可否について
　上記「第１．手続の経緯」で言及したように、本願は特許法第４１条第１項の優先権を、特願２００３−９２７０２号（以下「先の出願」という。）に基づいて主張しているので、平成１７年１２月２０日付け手続補正書の特許請求の範囲に【請求項１１】として記載されている本願発明が、当該先の出願の願書に最初に添付した明細書、特許請求の範囲又は図面（以下「先の出願の当初明細書等」という。）に記載された発明であるか否かを検討する。
　平成１７年１２月２０日付け手続補正書の特許請求の範囲に請求項１１として記載されている本願発明には、「前記コンピュータが携帯電話である」ことが、必須の構成として記載されている。
　一方、先の出願の当初明細書等には、「前記コンピュータが携帯電話である」ことは記載されていないし、また、そのようなことは、先の出願の当初明細書等の記載から自明であるとは言えない。
　したがって、平成１７年１２月２０日付け手続補正書の特許請求の範囲に請求項１１として記載されている本願発明は、先の出願の当初明細書等に記載されていた発明ではないので、前記優先権主張の効果を認めない。よって、本願発明は前記国際出願日に出願されたものとして以下の検討を行う。
　
　第４．引用発明
　原審の拒絶理由通知書において第１引用例として挙げられていた刊行物（以下「刊行物１」という。）であるところの“[技術文章]プログラム実行時の振る舞い監視によるコンピュータウィルス検出技術”, [online], 2003.05.01, 株式会社シンセキュア, [検索日：2005.10.27], インターネット＜URL：http://www.securevm.com/japan/whitepaper/svm_wp.html＞には、図面とともに以下の（ア）〜（オ）の事項が記載されている。
　
　（ア）「プログラム実行時の振る舞い監視によるコンピュータウイルス検出技術」（刊行物１の冒頭の表題）
　
　（イ）「コンピュータ上で、新規にプロセスを生成するか、または実行中のプロセスにアタッチして、コンピュータに重要な変更を加えることができるシステムコール約40種類(Windows版)を監視します。」（刊行物１の「SecureVMのデザイン」という項の第１文）
　
　（ウ）「監視対象のプロセスの振る舞いと、過去のコンピュータウイルスの特徴的な振る舞いを比較します。」（刊行物１の「SecureVMのデザイン」という項の第２文）
　
　（エ）「Windowsを含めたOSで、他のプロセスの振る舞いをコントロールするには、カーネルドライバを書き、システムコールをフックする方法(米コンピュータ・アソシエイツ社のeTrust Access Control等)がありますが、SecureVMの振る舞い監視は、Debuggerというソフトウエア開発で使われる特別な機能を使用して実装されています。」（刊行物１の「SecureVMのデザイン」という項の第５文）
　
　（オ）「監視アプリケーションからのAPI呼び出しは、SecureVMによりキャッチされスタックフレームから、API呼び出しのネストと、パラメータ等が厳密にチェックされます。」（刊行物１の「SecureVMのデザイン」という項の第８文）
　
　上記（ウ）には「監視対象のプロセス」という記載が存在し、上記（オ）には「監視アプリケーション」という記載が存在しているが、複数のアプリケーションをそれぞれプロセスとして動作させることが技術常識であることに鑑みれば、前記「監視アプリケーション」とは前記「監視対象のプロセス」の一種であると解される。
　上記（エ）には「振る舞い監視」が「Debuggerというソフトウエア開発で使われる特別な機能」を用いて行われるという趣旨の記載が存在するが、上記（オ）の「監視アプリケーションからのAPI呼び出し」の「キャッチ」とは、ＡＰＩを呼び出すという振る舞いが発生するか否かを監視して検出することに他ならないから、前記「キャッチ」とは前記「Debuggerというソフトウエア開発で使われる特別な機能」を用いて行われているものと解される。
　また、上記（オ）には、ＡＰＩ呼び出しがキャッチされスタックフレーム「から」パラメータ等がチェックされるという趣旨の記載があるが、このようなことが行われていると記載されている以上、刊行物１においてスタックフレームからパラメータを読み出すことによって該パラメータを取得する処理が行われていることは、当業者の技術常識に鑑みれば自明である。このことを上位概念化して表現すると、刊行物１にはＡＰＩ呼び出しがキャッチされるとスタックフレームの内容が取得されてチェックされることが記載されていると言える。
　したがって、刊行物１には、次の発明（以下、「引用発明」という。）が記載されていると認められる。  
　
　「SecureVMによって、監視アプリケーションの振る舞いと、過去のコンピュータウイルスの特徴的な振る舞いとを比較する比較方法であって、監視アプリケーションからのＡＰＩ呼び出しをDebuggerという機能を使用してキャッチしたとき監視アプリケーションがＡＰＩ呼び出しに使用したスタックフレームの内容を取得するスタックフレーム取得ステップと、スタックフレーム取得ステップで取得されたスタックフレームの内容が、過去のコンピュータウイルスの特徴的な振る舞いと合致するか判断をする判断ステップと、を含む判断方法。」
　
　第５．対比
　そこで、本願発明と引用発明とを対比する。 
　引用発明の「SecureVM」というのは「ＶＭ」の一種と解されるが、「ＶＭ」というものが「Virtual　Machine」の略語であって、該「Virtual　Machine」というものがコンピュータで実行されるプログラムの一種であることは当業者にとっての技術常識であるから、引用発明の「SecureVM」を上位概念化して表現すると、本願発明の「コンピュータで実行されるプログラム」に相当する。
　引用発明の「監視アプリケーション」がプログラムの一種であることは当業者の技術常識であるから、該「監視アプリケーション」が本願発明の「他のプログラム」に相当する。また、或るプログラムの振る舞いと、過去のコンピュータウイルスの特徴的な振る舞いとを比較し、両者が一致した場合に、該プログラムがコンピュータウイルスであると判断されるのは当然であるから、引用発明の「監視アプリケーションの振る舞いと、過去のコンピュータウイルスの特徴的な振る舞いとを比較する比較方法」が、本願発明の「他のプログラムがコンピュータウイルスであるかどうかを判断するコンピュータウイルス判断方法」に相当する。
　また、引用発明は、監視アプリケーションからのＡＰＩ呼び出しをキャッチするものであり、一方、本願発明では他のプログラムが呼ぶ可能性のあるＡＰＩ関数に設定したブレークポイントにヒットするものであり、上述の如く引用発明の「監視アプリケーション」が本願発明の「他のプログラム」に相当するから、引用発明と本願発明は、他のプログラムからのＡＰＩ呼び出しを検出する点において共通している。
　次に、「スタックフレーム」というのは、スタックの中に確保される記憶領域であって、スタックの一部を構成するものであるから、引用発明の「スタックフレーム」を上位概念化して表現したものが、本願発明の「スタック」に相当する。そして、上述の如く引用発明の「監視アプリケーション」が本願発明の「他のプログラム」に相当するから、引用発明の「監視アプリケーションがＡＰＩ呼び出しに使用したスタックフレームの内容を取得するスタックフレーム取得ステップ」が、本願発明の「他のプログラムが使用しているスタックの内容を取得するスタック取得ステップ」に相当し、引用発明の「スタックフレーム取得ステップで取得されたスタックフレームの内容」が本願発明の「スタック取得ステップで取得されたスタックの内容」に相当する。
　そして、引用発明の「過去のコンピュータウイルスの特徴的な振る舞いと合致するか判断」を上位概念化して表現すれば、本願発明の「コンピュータウイルスの特徴と合致するか判断」に相当する。
　
　よって、本願発明と引用発明とは、以下の点で一致し、また、相違している。
　
　（一致点）
　コンピュータで実行されるプログラムによって他のプログラムがコンピュータウィルスであるかどうかを判断するコンピュータウィルス判断方法であって、
　他のプログラムからのＡＰＩ呼び出しを検出したときに他のプログラムが使用しているスタックの内容を取得するスタック取得ステップと、
　スタック取得ステップで取得されたスタックの内容が、コンピュータウィルスの特徴と合致するか判断をする判断ステップと、
を含むコンピュータウィルス判断方法。
　
　（相違点１）
　他のプログラムからのＡＰＩ呼び出しを検出する手法として、本願発明では他のプログラムが呼ぶ可能性のあるＡＰＩ関数にブレークポイントを設定するブレークポイント設定ステップを有し、前記ブレークポイントにヒットすることによって前記検出を行っているのに対し、引用発明では、Debuggerという機能を使用してキャッチしている点。
　
　（相違点２）
　本願発明ではコンピュータが携帯電話であるのに対し、引用発明ではコンピュータが携帯電話ではない点。
　
　第６．判断
　以下、上記各々の相違点について検討する。
　まず、上記相違点１について検討する。
　原審の拒絶理由通知書において第７引用例として挙げられていた刊行物（以下「刊行物２」という。）であるところの特開平７−９３１８４号公報には、図面とともに以下の（Ａ）〜（Ｃ）の事項が記載されている。
　
　（Ａ）「図１および図２を参照すると、デバッグ対象プログラム１３のデバッグを開始する場合には、プログラム制御装置２１が、デバッグ対象プログラム中のファイル操作に関する関数もしくはシステムコールに対してブレークポイントをあらかじめ設定する（ステップＡ１）。」（段落【００１４】）
　
　（Ｂ）「ＵＮＩＸオペレーティングシステムには、ファイルを操作するシステムコールとして、ｏｐｅｎ，ｃｌｏｓｅ，ｒｅａｄ，ｗｒｉｔｅ，およびｌｓｅｅｋ等が存在する。プログラム制御装置２１は、デバッグ開始時にこれらのシステムコールに対してブレークポイントを設定する。」（段落【００２６】）
　
　（Ｃ）「デバッグ対象プログラム１３が“ｆｉｌｅ−Ａ”をオープンした場合、ｏｐｅｎシステムコールに設定したブレークポイントで停止される。」（段落【００２８】）
　
　以上のことを総合すると、刊行物２には、関数もしくはシステムコールの呼び出しをデバッグ時に検出する手法として、ブレークポイントを設定し、設定されたブレークポイントを検出する手法（以下「刊行物２記載の手法」という。）が開示されている。
　引用発明ではDebuggerという機能を用いてＡＰＩ呼び出しをキャッチしているが、このようなＡＰＩ呼び出しをキャッチする手法として、前記刊行物２記載の手法の如くブレークポイントの設定と検出を採用することは、当業者が容易に想到し得たものである。したがって、上記相違点１は格別のものではない。
　
　次に、前記相違点２について検討する。
　原審の拒絶理由通知書において第５引用例として挙げられていた刊行物（以下「刊行物３」という。）であるところの特表２００３−５３５４１４号公報には、以下の（１）〜（４）の事項が記載されている。
　
　（１）「【請求項１９】該コンピュータは、例えばセルラー電話機、パーム・パイロット（ｐａｌｍ  ｐｉｌｏｔ）、車のコンピュータ、等のようなコンピュータ化された小機器である、請求項９のシステム。」（第５頁第２５〜２７行）
　
　（２）「このシステム及び方法は、（データの改竄、データの削除、関数への介入等を含み、情報を盗み及び／又は損害をひきおこすかもしれない、全ての種類の邪悪なプログラムウイルス、バンダル、トロージャンホース、ワーム、マクロウイルス及び邪悪なＥメールのような）に対して、コンピュータ（後の定義に説明するように、パーソナルコンピュータ、サーバー及び、プログラムを実行することができる一つ又はそれ以上のプロセッサを備えた他のデバイス又は小機器を含む）を保護する。」（第２１頁第１２〜１８行）
　
　（３）「2．本システムが疑がわしい及び／又は有害な及び／又は潜在的に危険な活動を実行又は実行しようと試みているかもしれない又は通常のようには振舞っていないかもしれないプログラムを即時に識別（identify）し及び途中停止（intercept）することができるように、ソフトウェアの妥当な活動のルールの包括的でしかし慎重なセットを定める。」（第２２頁第１〜５行）
　
　（４）「コンピュータ”は、パーソナルコンピュータ又はワークステーション又はサーバー、又は1つ又は複数のプロセッサ又は中央処理装置（CPU）を備えた単純計算機能より以上の能力がある如何なる自動化されたデバイス又は小機器をも参照する（refer to）ことができる。これは、例えばまたセルラー電話機及びパーム・パイロットのようなポータブル・コンピューティング・デバイスも含む。」（第２９頁第４〜８行）
　
　ここで、上記（１）、（４）の「セルラー電話機」とは、携帯電話のことである。
　
　したがって、以上を総合すると、刊行物３には、ウイルスからコンピュータを保護するために疑わしいプログラムを識別するものにおいて、前記コンピュータが携帯電話であるものが開示されている。そして、上記引用発明も、ウイルスからコンピュータを保護するために疑わしいプログラムを識別するものであるから、刊行物３の上述の開示内容に接した当業者が、引用発明のコンピュータとして携帯電話であるものを採用する点に想到することは、容易であったと言わざるを得ない。したがって、上記相違点２も格別のものではない。
　
　そして、本願発明の構成によってもたらされる効果も、当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。 
　
 第７．結び
 　以上のとおり、平成１７年１２月２０日付け手続補正書に【請求項１１】として記載されている本願発明は、上記引用発明、及び刊行物２記載の手法、並びに刊行物３の上述の開示内容に基づいて当業者が容易に発明できたものであるから、その他の請求項に係る発明について検討をするまでもなく、本願発明は特許法第２９条第２項の規定により特許を受けることができない。
　よって、冒頭の結論のとおり審決する。