【事件の表示】
　特願２０００−１０２７８５「データ処理システムにおける動的トレーシングによる集中トレース機能」拒絶査定不服審判事件〔平成１２年１１月３０日出願公開、特開２０００−３３０８２２〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯
　本願は、平成１２年４月４日（パリ条約による優先権主張１９９９年４月７日、英国）の出願であって、平成１５年１月１５日付けで拒絶理由通知がなされ、同年３月３１日付けで手続補正がなされたが、同年９月３日付けで拒絶査定がなされ、これに対し、同年１２月８日に拒絶査定に対する審判請求がなされるとともに、同日付けで手続補正がなされたものである。
　
２．平成１５年１２月８日付けの手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成１５年１２月８日付けの手続補正を却下する。
　
［理由］
（１）補正後の請求項１に係る発明
　本件手続補正により、特許請求の範囲の請求項１は、
「複数のデータ処理アプリケーションが相互に通信するデータ処理システムにおいて、第１のデータ処理アプリケーションを実行する第１のデータ処理装置であって、
　第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信を中央トレース・ロギング機能手段にロギングすべきかどうかを、前回の通信におけるロギングの要否にかかわらず動的に判定する手段と、
　前記判定する手段が、前記メッセージを前記中央トレース・ロギング機能手段にロギングすべきであると判定した場合に、前記メッセージ中で所定の指示を与える手段と、
　前記第２のデータ処理アプリケーションを実行する第２のデータ処理装置に前記メッセージを送信する手段と
　を含む装置。」
と補正された。
　
　上記補正は、「第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信を中央トレース・ロギング機能手段にロギングすべきかどうかを判定する手段」を「第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信を中央トレース・ロギング機能手段にロギングすべきかどうかを
、前回の通信におけるロギングの要否にかかわらず動的に
　そこで、本件手続補正後の上記請求項１に係る発明（以下、「本願補正発明」という。）が特許出願の際独立して特許を受けることができるものであるか（特許法第１７条の２第５項において準用する同法第１２６条第４項の規定に適合するか）について、以下に検討する。
　
（２）引用例
　原査定の拒絶の理由に引用された特開平７−９３１８２号公報（以下、「引用例１」という。）、及び特開平１０−２９３７０４号公報（以下、「引用例２」という。）には、それぞれ、図面とともに次の事項が記載されている。
　
（引用例１）
Ａ．「【特許請求の範囲】
【請求項１】　プロセッサとメモリおよび周辺装置を有するノードが１つ以上存在するシステムにおいて、それぞれのノードに多重処理単位となるタスクが複数配置され、該複数のタスクが互いにメッセージをやり取りすることで複数の処理を進める場合に、前記複数の処理中のある特定の処理(トレース対象処理)に着目して、該処理に関するプログラムの実行をトレースする際に、前記トレース対象処理を実行するために送受されるメッセージ中にトレースを制御するデータ(トレース制御データ)を付加し、当該トレース対象処理を実行するタスクにおいて、前記トレース制御データによりトレースを行うことを指定したメッセージを処理するときにのみトレースを行い、また、前記タスクに、前記トレース制御データの引き継ぎを制御する情報を設定可能とすることにより、該タスク内において、ある受信メッセージに起因して当該タスクから送られる送信メッセージに受信メッセージのトレース制御データを引き継ぎ、複数のノードにまたがって並行に行われる複数の処理の中で、前記トレース対象処理に関するプログラムだけをトレースすることを特徴とするプログラムトレース方法。」
　
Ｂ．「【０００１】
【産業上の利用分野】本発明はプログラムトレース方法に関し、特に分散処理システムを含む多重処理システムのソフトウェアの機能確認，試験に好適に用い得るプログラムトレース方法に関する。
【０００２】
【従来の技術】システムを構成するノードは、１つ以上のプロセッサとそれらのプロセッサが共有するメモリ、および、プロセッサが制御する周辺装置から構成される。プロセッサ上では、アプリケーションプログラムを制御するオペレーティングシステム(ＯＳ)が走行する。本発明の適用対象となるシステムは、図１に示す如く、１つ以上のノード１２１〜１２３が通信ネットワーク１１０で結合されたシステムである。複数のノードが存在する場合は、各ノードは共有メモリを持たず、通信ネットワークで結合される。各ノードでは、複数のアプリケーションプログラムが並行して(多重に)実行される。このプログラムの多重処理単位を「タスク」１３１〜１３５と呼ぶ。タスクは、その実行を制御するためのデータを格納したタスク制御ブロック９１０と、タスク実行時の作業領域となるスタック９２０から構成される。（図１１参照）
タスク間の情報のやり取りは、メッセージ通信１４１〜１４２によって行われる。各タスクは、それぞれ一意に定まる識別子(これを「タスク識別子」という)を持ち、このタスク識別子を指定することにより分散処理システム上の任意のノードにあるタスクにメッセージを送ることができる。なお、メッセージを送るタスクを「送信タスク」、メッセージを受信するタスクを「受信タスク」と呼ぶ。
　・・・（中略）・・・
試験担当者により予め指定されたプログラム(命令のアドレス)をタスクが実行
した際に、その時点で予め指定されたデータを収集することを、本発明において
は、「トレース」と呼ぶ。トレースの方法とこれを実行するために必要となる項目
を、図３に示す。
【０００５】また、トレースを行う時点をトレース契機(３３０)、トレースにより収集されるデータをトレースデータ(３１０)、トレース契機でどのようなデータを収集するかを指定する情報をトレースデータ種別(３２０)と呼ぶことにする。トレース契機(３３０)は、プログラム中の任意の時点を指定することが可能である。以下、トレース契機(３３０)とそれに対応するトレースデータ種別の集合を、「トレース制御情報」と呼ぶ。このトレース制御情報は、試験担当者等によりＯＳに通知され(図３中の３５０)、ＯＳはこれに基づいて、トレース契機時にトレースデータを収集する制御を行う(同３６０)。・・・（後略）・・・」
　
Ｃ．「【００１０】
【課題を解決するための手段】本発明の目的は、プロセッサとメモリおよび周辺装置を有するノードが１つ以上存在するシステムにおいて、それぞれのノードに多重処理単位となるタスクが複数配置され、該複数のタスクが互いにメッセージをやり取りすることで複数の処理を進める場合に、前記複数の処理中のある特定の処理(トレース対象処理)に着目して、該処理に関するプログラムの実行をトレースする際に、前記トレース対象処理を実行するために送受されるメッセージ中にトレースを制御するデータ(トレース制御データ)を付加し、当該トレース対象処理を実行するタスクにおいて、前記トレース制御データによりトレースを行うことを指定したメッセージを処理するときにのみトレースを行い、また、前記タスクに、前記トレース制御データの引き継ぎを制御する情報を設定可能とすることにより、該タスク内において、ある受信メッセージに起因して当該タスクから送られる送信メッセージに受信メッセージのトレース制御データを引き継ぎ、複数のノードにまたがって並行に行われる複数の処理の中で、前記トレース対象処理に関するプログラムだけをトレースすることを特徴とするプログラムトレース方法により達成される。
【００１１】
【作用】本発明に係わるプログラムトレース方法においては、アプリケーションプログラムがメッセージ通信に関してＯＳを呼び出す時点と、ＯＳからアプリケーションプログラムに制御が戻る時点とを、トレース契機とする。また、トレース対象処理に関するトレースのみを行うために、メッセージに着目して、メッセージに含まれる制御情報(上述のトレース制御データ)により、トレース実行を制御する。具体的には、トレース対象処理を行うために送受されるメッセージをトレース状態とし、トレース状態にあるメッセージを処理する場合にのみトレースを行うようにする。この処理の流れを、図７に示す。この方法を、「メッセージトレース」と呼ぶ。なお、トレース状態にないメッセージは、非トレース状態にあるといい、非トレース状態にあるメッセージを処理する場合には、トレースを行わないようにする。
【００１２】トレース状態は、先に示した図１０中のメッセージ中の制御情報８１０に含まれる「トレース状態表示」８３０により指定する。なお、このトレース状態表示８３０は、トレース制御データであり、”トレース中”あるいは”非トレース中”の２つの値を持ち、それぞれメッセージがトレース状態あるいは非トレース状態にあることを示す。そして、ＯＳは、メッセージ受信時に上述のトレース状態表示を調べ(図７中の５１０)、トレース状態の場合にはトレースデータを出力する(同５７０)。また、トレース対象処理の関連タスク集合を事前に求めなくても、関連タスク集合に属するタスク内で自動的にトレースを行うようにするため、以下に述べる如きトレース状態伝播機構を用いる。トレース状態伝播機構の概要を、図８に示す。まず、トレース処理の開始時に送られるメッセージをトレース状態とすることで、特定処理のトレースを行うことを指定する。
【００１３】次に、タスクがトレース状態のメッセージを受け取ったとき、タスクを一時的にトレース状態(これを「トレース活性状態」という)にし(図７中の５２０)、図８(ｂ)に示す如く、この間に送信されるメッセージは自動的にトレース状態とする(同５５０)。すなわち、あるタスクの受信メッセージとそれに対応する送信メッセージの間で、トレース状態が伝播される。トレース活性状態は、タスクが新たにメッセージを受信した状態で解除される(トレース非活性状態、同５３０)。このため、トレース対象処理以外の処理に対して、メッセージがトレース活性状態となることはない。トレース非活性状態のタスクから送信されるメッセージは、非トレース状態となる(同５６０)。また、タスクのトレース状態は、図１１に示す如く、タスクの実行を制御するデータを格納したタスク制御ブロック９１０に含まれるトレース状態表示９３０により指定する。
【００１４】タスクのトレース状態表示は、”トレース活性”あるいは”トレース非活性”の２つの値を持ち、それぞれタスクがトレース活性状態あるいはトレース非活性状態にあることを示す。ＯＳはメッセージ送信時に、上述のタスクのトレース状態表示を調べ(図７中の５４０)、トレース状態の場合には、トレースデータを出力する(同５８０)。なお、タスクのトレース状態表示は、メッセージのトレース制御データであるトレース状態表示をタスク間で引き継ぐ処理を制御する情報である。メッセージがトレース状態にあるか否かは、ＯＳがメッセージ中のトレース状態表示を調べて判断して、トレース実行を制御する。また、タスクがトレース状態にあるか否かは、ＯＳがタスク制御ブロック中のトレース状態表示を調べて判断して、トレース実行を制御する。従って、本発明に係わるプログラムトレース方法においては、アプリケーションプログラムを変更して、トレースを実行するための処理を付加する必要はない。」
　
　上記Ｂの段落【０００２】の記載において、「本発明の適用対象となるシステムは、図１に示す如く、１つ以上のノード１２１〜１２３が通信ネットワーク１１０で結合されたシステムである。複数のノードが存在する場合は、各ノードは共有メモリを持たず、通信ネットワークで結合される。各ノードでは、複数のアプリケーションプログラムが並行して(多重に)実行される。このプログラムの多重処理単位を「タスク」１３１〜１３５と呼ぶ。」とあり、引用例１のシステムを構成する複数のノードのそれぞれは、複数のアプリケーションプログラムに含まれる複数のタスクを実行するものであるということができる。
　そして、上記Ｃの段落【００１０】の記載において、「それぞれのノードに多重処理単位となるタスクが複数配置され、該複数のタスクが互いにメッセージをやり取りすることで複数の処理を進める」とあり、複数のアプリケーションプログラムに含まれる複数のタスクを実行する複数のノードは、互いにメッセージをやり取りして処理を進めるものであると解される。
　また、上記Ｃの段落【００１２】の記載において、「トレース状態は、先に示した図１０中のメッセージ中の制御情報８１０に含まれる「トレース状態表示」８３０により指定する。なお、このトレース状態表示８３０は、トレース制御データであり、”トレース中”あるいは”非トレース中”の２つの値を持ち、それぞれメッセージがトレース状態あるいは非トレース状態にあることを示す。・・・（中略）・・・まず、トレース処理の開始時に送られるメッセージをトレース状態とすることで、特定処理のトレースを行うことを指定する。」とあり、複数のノードのうちのあるノードにおいて、メッセージ中の制御情報に含まれる「トレース状態表示」を”トレース中”と指定することにより、「メッセージをトレース状態とする」ことが指定されると解されるので、その「メッセージをトレース状態とする」ことが行われるノードを「第１のノード」とし、該「第１のノード」から送信されてくるメーセージを受信するノードを「第２のノード」とする。
　
　よって、上記Ａ〜Ｃの記載及び関連する図面を参照すると、引用例１には、次の発明が記載されているものと認められる。（以下、「引用例１記載の発明」という。）
「複数のアプリケーションプログラムに含まれる複数のタスクが互いにメッセージをやり取りして複数の処理を進めるシステムにおいて、複数のアプリケーションプログラムに含まれる複数のタスクを実行する第１のノードであって、
　複数のアプリケーションプログラムに含まれる複数のタスクを実行する第２のノードに送信すべきメッセージの受信をトレースすべきであることをメッセージ中の制御情報で指定する手段と、
　前記複数のアプリケーションプログラムに含まれる複数のタスクを実行する第２のノードに前記メッセージを送信する手段と
　を含むノード。」
　
（引用例２）
Ｄ．「【０００９】図１は、本発明を適用する通信ネットワークの一例を示すシステム構成図である。ネットワークは複数のＬＡＮ１，３，４及びＷＡＮ（ワイド・エリア・ネットワーク）２に結合されるものである。マネージャ１０は、計算機の主記憶装置に格納され、ＯＳの下で走行するアプリケーションプログラム（ＡＰ）である。エージェント２０は、サーバ等の計算機の主記憶装置に格納され、ＯＳの下で走行するＡＰである。マネージャ１０は、ＬＡＮ１，３，４又はＷＡＮ２を介してエージェント２０−１，２０−２，２０−３，２０−４と通信することが可能である。図に示すように、エージェント２０を実行する計算機はエージェント２０と並行して他のＡＰを実行することが可能である。マネージャ１０を実行する計算機もマネージャ１０と並行して他のＡＰを実行することが可能であるが、充分なＣＰＵ性能と資源を確保するためには、専用の計算機を割り当てるのが望ましい。６０はこのネットワークシステムを管理するネットワーク管理システムであり、ネットワーク管理プログラム及び図示しないネットワーク監視端末から構成される。ネットワーク管理システム６０は、ネットワーク資源についての情報をマネージャ１０に提供する。
【００１０】図２は、マネージャとエージェントが行う処理動作の概略を示す図である。マネージャ１０は、定義された各種ルールをエージェント２０へ配布する((1)（審決注：丸囲み数字を表記することがきないので、括弧書き数字を代用した。以下同様。）)。エージェント２０は、受信したルールを登録し、そのルールに従い監視対象ログファイル群３０からログデータを入力し((2))、ログデータを正規化した後、正規化ログファイル４０に格納する((3))。このとき正規化ログデータ中のログ出力時刻をマネージャ１０の時刻を基準とする補正時刻によつて補正する。エージェント２０は、マネージャ１０からログ収集要求があったとき正規化ログファイル４０から正規化されたログデータを取り出し((4))、マネージャ１０へ転送する((5))。マネージャ１０は、収集した正規化ログデータを補正時刻の順に正規化ログデータベース５０に格納する(6))。またマネージャ１０は、必要に応じて正規化ログデータベース５０から任意の正規化ログデータを抽出し、その解析を行う。」
　
　上記Ｄの記載及び関連する図面を参照すると、引用例２には、次の発明が記載されているものと認められる。（以下、「引用例２記載の発明」という。）
「エージェントあるいは該エージェントと並行して実行される他のアプリケーションプログラムが走行する複数の計算機からのログデータを、ネットワークを介してマネージャ・アプリケーションプログラムが走行する計算機が収集すること。」
　
（３）対比
　本願補正発明と引用例１記載の発明とを対比すると、まず、引用例１記載の発明において「複数のアプリケーションプログラムに含まれる複数のタスクが互いにメッセージをやり取り」することは、本願補正発明において「複数のデータ処理アプリケーションが相互に通信する」ことに相当する事項であり、引用例１記載の発明における「複数の処理を進めるシステム」は、本願補正発明における「データ処理システム」に相当する。
　次に、引用例１記載の発明における「第１のノード」、「第２のノード」は、それぞれ、本願補正発明における「第１のデータ処理装置」、「第２のデータ処理装置」に相当し、引用例１記載の発明において「第１のノード」で実行される「複数のアプリケーションプログラムに含まれる複数のタスク」、「第２のノード」で実行される「複数のアプリケーションプログラムに含まれる複数のタスク」は、それぞれ、本願補正発明における「第１のデータ処理アプリケーション」、「第２のデータ処理アプリケーション」に相当する。
　また、引用例１記載の発明における「トレース」は、本願補正発明における「ロギング」に相当する。
　そして、引用例１記載の発明において「トレースすべきであることをメッセージ中の制御情報で指定する」ことは、本願補正発明において「ロギングすべきである」ときに「メッセージ中で所定の指示を与える」ことに対応する事項である。
　
　よって、本願補正発明と引用例１記載の発明とは、ともに、
「複数のデータ処理アプリケーションが相互に通信するデータ処理システムにおいて、第１のデータ処理アプリケーションを実行する第１のデータ処理装置であって、
　第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信をロギングすべきであるときに、前記メッセージ中で所定の指示を与える手段と、
　前記第２のデータ処理アプリケーションを実行する第２のデータ処理装置に前記メッセージを送信する手段と
　を含む装置。」
である点で一致し、次の点で相違する。
　
　相違点１：「ロギング」をする場所が、本願補正発明においては「中央トレース・ロギング機能手段」となっているのに対し、引用例１記載の発明においては、どの場所にトレース出力するか明らかでない点。
　
　相違点２：本願補正発明は、「第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信をロギングすべきかどうかを、前回の通信におけるロギングの要否にかかわらず動的に判定する手段」を含むものであり、該「判定する手段」が「メッセージをロギングすべきであると判定した場合」に、メッセージ中で所定の指示を与えるようになっているのに対し、引用例１においては、「判定する手段」についての明示の記載がない点。
　
（４）判断
　そこで、上記相違点１，２について検討する。
　
（相違点１について）
　引用例２記載の発明によれば、ネットワークを介して接続された複数の計算機よりなるシステムにおいて、ある特定の計算機がログデータを収集するようにすることは、周知技術にすぎない。
　してみれば、引用例１記載の発明において、上記引用例２記載の発明に見られる周知技術を適用して、「ロギング」をする場所（トレース出力する場所）を「中央トレース・ロギング機能手段」とすることは、当業者が適宜に設計できる事項にすぎないものと認められる。
　
（相違点２について）
　引用例１記載の発明において、「複数のアプリケーションプログラムに含まれる複数のタスクを実行する第２のノードに送信すべきメッセージの受信をトレースすべきであることをメッセージ中の制御情報で指定する」にあたり、ある特定の処理をトレース対象としてメッセージ中の制御情報を”トレース中”に設定するか否かは、その処理を前回トレース対象としたか否かにかかわらず、処理の都度適宜に選択、すなわち動的に設定できるものであり、その処理をトレース対象とするか否かを動的に設定するにあたり、何らかの判定手段を設けて動的に判定するようにすることも、当業者が適宜に設計できる事項にすぎないものと認められる。
　したがって、引用例１記載の発明において、「第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信をロギングすべきかどうかを、前回の通信におけるロギングの要否にかかわらず動的に判定する手段」を設け、該「判定する手段」が「メッセージをロギングすべきであると判定した場合」に、メッセージ中で所定の指示を与えるようにすることは、当業者が適宜に設計できる事項にすぎないものと認められる。
　
　そして、本願補正発明の構成によってもたらされる効果も、引用例１，２に記載の発明から当業者ならば容易に予測することができる程度のものであって、格別のものとはいえない。
　したがって、本願補正発明は、引用例１，２に記載の発明に基いて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により、特許出願の際独立して特許を受けることができないものである。
　
（５）むすび
　よって、本件手続補正は、特許法第１７条の２第５項で準用する同法第１２６条第４項の規定に違反するものであり、特許法第１５９条第１項で準用する同法第５３条第１項の規定により却下されるべきものである。
　
３．補正却下の決定を踏まえた検討
（１）本願発明
　平成１５年１２月８日付けの手続補正は、上記のとおり却下されたので、本願の請求項１に係る発明（以下、「本願発明」という。）は、平成１５年３月３１日付け手続補正書の特許請求の範囲の請求項１に記載されたとおりの次のものと認める。（以下、「本願発明」という。）
「複数のデータ処理アプリケーションが相互に通信するデータ処理システムにおいて、第１のデータ処理アプリケーションを実行する第１のデータ処理装置であって、
　第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信を中央トレース・ロギング機能手段にロギングすべきかどうかを判定する手段と、
　前記判定する手段が、前記メッセージを前記中央トレース・ロギング機能手段にロギングすべきであると判定した場合に、前記メッセージ中で所定の指示を与える手段と、
　前記第２のデータ処理アプリケーションを実行する第２のデータ処理装置に前記メッセージを送信する手段と
　を含む装置。」
　
（２）引用例
　これに対して、原査定の拒絶の理由に引用された引用例１，２とその記載事項は、上記２．（２）に記載したとおりである。
　
（３）対比・判断
　本願発明は、上記２．で検討した本願補正発明における「第２のデータ処理アプリケーションを実行する第２のデータ処理装置に送信すべきメッセージの受信を中央トレース・ロギング機能手段にロギングすべきかどうかを
、前回の通信におけるロギングの要否にかかわらず動的に
　そうすると、本願発明の構成要件を全て含み、さらに特定の限定を施したものに相当する本願補正発明が、上記２．（４）に記載したとおり、引用例１，２に記載の発明に基いて、当業者が容易に発明をすることができたものであるから、本願発明も、同様の理由により、引用例１，２に記載の発明に基いて、当業者が容易に発明をすることができたものである。
　
（４）むすび
　したがって、本願発明は、引用例１，２に記載の発明に基いて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。