• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 特36条6項1、2号及び3号 請求の範囲の記載不備 特許、登録しない(前置又は当審拒絶理由) G06F
審判 査定不服 特36条4項詳細な説明の記載不備 特許、登録しない(前置又は当審拒絶理由) G06F
管理番号 1124967
審判番号 不服2001-10128  
総通号数 72 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2000-06-30 
種別 拒絶査定不服の審決 
審判請求日 2001-06-14 
確定日 2005-10-13 
事件の表示 平成10年特許願第356662号「仮想空間システム上におけるスレッド機能のプロセスマッピング方法」拒絶査定不服審判事件〔平成12年 6月30日出願公開、特開2000-181727〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 1.手続の経緯・本願発明
本願は、平成10年12月15日の出願であって、その請求項1に係る発明(以下、「本願発明」という。)は、特許請求の範囲の請求項1に記載された事項により特定される次のとおりのものと認める。

「スレッド機能が実装されていないオペレーションシステムにおいて、
各プロセスからアクセス可能である共有空間と、プロセス毎にアクセス可能な複数のプロセス個別空間とから構成される仮想空間システム上で、
プロセスの初期値有りデータ、初期値なしデータ及びスタックを前記共有空間に配置し、
前記共有空間に、アプリケーション内のスレッドとして割り当てられたプロセスを管理するスレッド管理テーブルを作成し、
スレッドが起動される毎にスレッドの識別子を前記スレッド管理テーブルに記憶させ、スレッドが消滅する時に前記スレッド管理テーブルから前記識別子を削除し、
アプリケーションの消滅時に、アプリケーション内の在中スレッドに割り当てられたプロセスを前記スレッド管理テーブルから参照し、システムコールによるプロセス間通信によりアプリケーション内の全スレッドの強制終了を行うことで、
オペレーションシステムの実行単位であるプロセスにスレッドをマッピングすることを特徴とする仮想空間システム上におけるスレッド機能のプロセスマッピング方法。」

2.当審における拒絶理由の概要
一方、当審において平成17年5月17日付けで通知した拒絶の理由の概要は、本願は、明細書及び図面の記載に不備があるから、特許法第36条第4項並びに第6項第1号及び第2号に規定する要件を満たしておらず、拒絶すべきものである、というものであり、具体的には、以下のとおりである。

「 理 由

本件出願は、明細書及び図面の記載が下記の点で不備のため、特許法第36条第4項並びに第6項第1号及び第2号に規定する要件を満たしていない。


(1)請求項1には、「スレッド機能が実装されていないオペレーションシステムにおいて、…プロセスマッピング方法」と記載されていることから、本願請求項1-3の発明に係る方法は、スレッド機能が実装されていないオペレーションシステム上で行われるものである。ここで、「スレッド機能」とは、どのような機能であるのか具体的に特定していないが、発明の詳細な説明の記載、図面、及び技術常識からして、スレッドの起動、スレッドの消滅、スレッド間通信、メモリに対するアクセス制御など、プログラム中のスレッドに関する記述を解釈し、実行するための機能であると認められる。
ここで、明細書の段落【0019】に記載の「インタプリタ時にスレッド20-1による記述が存在すると、新たなプロセス実行単位(プロセス)50-1を作成する。それ以降はプロセス1(50-1)がJavaアプリケーションを読み込み、インタプリタ、実行を行う。」及び図2からすると、「プロセス」は、「オペレーションシステム」上に存在し、かつ、「スレッド機能」を有しているから、当該「オペレーションシステム」も実質的に「スレッド機能」を有していることになるので、請求項1の上記記載「スレッド機構が実装されていないオペレーションシステムにおいて」という前提と矛盾している。
同様に、請求項1に記載された「オペレーションシステムの実行単位であるプロセス」からして、請求項1-3に係る発明においても、「プロセス」は、「オペレーションシステム」の一部であり、かつ、請求項1に記載された「スレッドとして割り当てられたプロセス」からして、「プロセス」は「スレッド機能」を有しているから、実質的には「オペレーションシステム」も「スレッド機能」を有していると解釈することが合理的であるので、請求項1に記載の「スレッド機能が実装されていないオペレーションシステムにおいて」という前提部分と矛盾している。
(2)請求項1には、「アプリケーション内のスレッドとして割り当てられたプロセス」としか記載がなく、「プロセス」の機能をどのように用いて、「スレッド機能」を実現しているのか不明である。
発明の詳細な説明及び図面においても、「スレッド機能」を「プロセス」によりどのように実現するのかについて技術的な裏付けがなされていない。例えば、スレッドに特有の制御命令を、従前のプロセス管理に係るAPIにどのようにマッピング(対応付け)するのかについては、周知技術をもってしても自明とはいえない。
…(中略)…
(4)請求項1-3に係る発明において、「アプリケーション」と「プロセス」の定義及び差異が不明である。
明細書の段落【0014】の記載「アプリケーション(プロセス)」は、「アプリケーション」と「プロセス」とを同一視していると考えられるが、図2においては、両者を区別して記載しており、一貫していない。さらに、段落【0022】の記載「同一プロセス(Javaアプリケーションにおけるプロセス)内スレッドの管理を行うために…」からすると、「スレッド」は、同一の「プロセス」内にあることを前提としているが、請求項1及び図2において、「スレッド」は直接「アプリケーション」の中に存在するように記載されており、両者は一貫していない。
(5)請求項1-3に係る各処理の主体つまり実現手段が不明である。例えば、請求項1の記載においては、共有空間の配置、スレッド管理テーブルの作成及び管理、スレッドの起動及び消滅の検知、アプリケーションの消滅の検知、システムコール、並びに、プロセス間通信を、何がどのように実行又は制御しているのか不明である。
よって、請求項1-3に係る発明は、a) 人間がオペレーションシステムを手動で操作する方法、b) オペレーションシステム上におけるプロセス等のソフトウェアによる抽象的なプログラミングモデル、又は、c) コンピュータがハードウェア資源を具体的に用いて自動的にスレッドを実行する方法、のいずれであるのか不明である。(なお、a)又はb)を含むことが明確になれば、特許法第29条第1項柱書違反になることに留意されたい。)
発明の詳細な説明及び図面においても、「仮想空間システム」という抽象的な空間における、「アプリケーション」、「スレッド」、「プロセス」といった抽象概念による処理内容に終始し、コンピュータ上でどのように実装しているのかについては十分かつ明確に記載していない。(6)請求項1-3に係る発明において、「スレッド管理テーブル」の構成が不明確である。例えば、請求項1において、「プロセスを管理するスレッド管理テーブル」と記載されているが、実際に「スレッド管理テーブル」に記憶されているのは、「スレッドの識別子」のみであるから、どのようにして「プロセスを管理する」のか不明である。 発明の詳細な説明及び図面においても、「スレッド管理テーブル」の構成について十分かつ明確に記載していない。
…(中略)…
(8)請求項1-3の末尾は、「プロセスにスレッドをマッピングすることを特徴とする…プロセスマッピング方法」であるが、請求項1には、「アプリケーション内のスレッドとして割り当てられたプロセス」と記載されているように、既に、「プロセス」が「スレッドとして割り当てられた」状態であることを前提としており、前記末尾に係る「プロセス」に「スレッド」を「マッピング」する具体的な処理については不明である。 よって、請求項1-3に係る発明を「プロセスマッピング方法」として明確に把握することができない。
…(中略)…
(15)段落【0019】の記載において、「新たなスレッド20-2による記述」の存在を検出するのは、「Java仮想マシン」であるのか、現にJavaアプリケーションを実行しているプロセス1であるのか不明である。つまり、Javaアプリケーションの読み込み、インタプリタ及び実行の機能は、「Java仮想マシン」と各プロセスの両者が有しているが、この両者をどのように使い分けているのか不明である。」

3.当審の判断
以下、上記拒絶理由で指摘した各項目が解消したか否かについて検討する。なお、上記拒絶理由に対し、請求人は、平成17年7月25日付けで手続補正をしているが、当該手続補正は、請求項2及び3の誤記を訂正するものであり、本願発明(請求項1)、発明の詳細な説明及び図面を補正するものではない。
よって、上記拒絶理由が解消したか否かの検討は、前記手続補正と同時に提出された意見書における請求人の主張を元に行うこととする。

(1)理由(1)について、
請求人は、平成17年7月25日付けの意見書(以下、単に「意見書」という。)の中で、以下のように述べている。
「まず、(1)に関してですが、請求項1に記載されている「スレッド機能」とは、審判官殿が御認定された「スレッドの起動、スレッドの消滅、スレッド間通信、メモリに対するアクセス制御など、プログラム中のスレッドに関する記述を解釈し、実行するための機能」であります。」

この主張によると、請求項1の記載「スレッド機能が実装されていないオペレーションシステム」は、「オペレーションシステム」が、プログラム中のスレッドに関する記述を解釈し、実行するための機能を有していない、と解釈できる。
しかしながら、明細書の段落【0018】及び【0019】並びに図2の記載から明らかなように、発明の詳細な説明の記載では、スレッドの起動、スレッドの消滅、スレッド間通信、メモリに対するアクセス制御など、スレッドに関する記述はJavaアプリケーションに存在し、当該記述をJava仮想マシン(プロセス0)又はプロセス(50-1、50-2)が読み取り解釈して実行しているから、オペレーションシステムに実装されたプロセスにより、「スレッド機能」を実現している。
なお、請求人は、
「一方、明細書の段落[0019]に記載の「スレッド20-1」および図2に記載の「スレッド1,スレッド2」は、上記の「スレッド機能」とは異なるものです。具体的には、Javaプログラムの一種であるJavaアプリケーション内に記載されている単なるJava言語の処理記述としてのスレッド自体を示しています。
すなわち、図2の記載において、「オペレーションシステム」上に存在しているのは「Java仮想マシン(プロセス0)」「プロセス1」「プロセス2」までであり、Javaアプリケーション内の「スレッド1」「スレッド2」は「オペレーションシステム」上に存在している実行単位とは言えません。」
とも主張しているが、この主張は、オペレーションシステム上に存在している実行単位がスレッドではなくプロセスであることを説明しているにすぎず、当該プロセスが、「スレッド機能」を有していないことを裏付けるものではない。請求人の主張及び発明の詳細な説明の記載によれば、本願は、「スレッドの機能」をオペレーションシステム上のプロセスにマッピングして処理するものであるから、当該オペーションシステムは本質的には「スレッド機能」を実装したものである。
したがって、本願発明の「スレッド機能が実装されていないオペレーションシステム」は、発明の詳細な説明に記載したものではなく、かつ、当該「オペレーションシステム」の技術的な範囲も不明確といわざるを得ない。

(2)理由(2)について、
請求人は、理由(2)乃至(4)について、以下のように主張している。
「次に、(2)〜(4)に関してですが、「プロセス」としては、図2のJava仮想マシン(プロセス0)が動作している状態で「Javaアプリケーション内のスレッドに割り当てられた(マッピングされた)プロセス」に限定しており、それが本願発明の前提となっています。これは、図2において、マッピングを示す点線の矢印が「スレッド1からプロセス1」および「スレッド2からプロセス2」のみに限定して(1対1に対応させて)表示されていることからも明らかであり、段落[0019]にも記載されています。
従って、「プロセス」の内容は明らかであり、(2)〜(4)の不明点も解消されていると確信致します。」

しかしながら、この主張は、スレッドとプロセスが1対1に対応していることを説明しているにとどまり、スレッドに関する個々の制御命令を、スレッド機能を有しない従前のシステム上のプロセス制御命令にどのようにマッピングしているのかについて具体的な裏付けをなすものではない。
本願は、スレッド機能を従前のプロセスにマッピングすることを課題解決手段の一つとしており、かつ、本願の出願時において、スレッド機能を従前のプロセスにマッピングできることが技術常識といえないにもかかわらず、その具体的な態様は、発明の詳細な説明及び図面には記載がなく、かつ、意見書においても、請求人は何らの釈明もしていない。
よって、この点において、本願発明並びに発明の詳細な説明及び図面の記載は依然として不明確である。

(3)理由(4)について、
理由(4)で指摘した「アプリケーション」と「プロセス」の関係の不明点について、上記「(2)理由(2)について」で引用した意見書から明らかなように、請求人は、何ら具体的な釈明をしていない。
よって、この点において、本願発明並びに発明の詳細な説明及び図面の記載は依然として不明確である。

(4)理由(5)について、
請求人は、意見書において、以下のように主張している。
「次に、(5)に関してですが、「請求項1-3に係る各処理の主体(実現手段)」は、段落[0018]〜[0019]および図2の記載から明らかなように「Java仮想マシン」です。」

この主張は、発明の詳細な説明の記載にのみ基づいたものであり、請求項1の記載に基づいたものではない。つまり、請求項1の記載においては、依然として各処理の主体が特定されておらず、かつ、その記載から自明ともいえない。
よって、この点において、本願発明は依然として不明確である。

(5)理由(6)について、
請求人は、意見書において、以下のように主張している。
「次に、(6)に関してですが、「スレッド管理テーブル」の構成は段落[0022]記載の動作説明より明らかなように、Javaアプリケーションにおいて起動され実行されるスレッドを識別するための識別子が並んで設定されている構成となっています。そして、上記(2)〜(4)の項目で説明したように、スレッドとプロセスは1対1にマッピングされているので、「スレッドの識別子」のみにより「プロセスを管理する」ことが可能となります。」

この主張によると、「スレッド管理テーブル」には、スレッドを識別する識別子が並んで設定されたものであり、かつ、スレッドとプロセスは1対1にマッピングされていることを前提としている。しかしながら、本願発明、並びに、発明の詳細な説明及び図面の記載においても、スレッドとプロセスの対応付けをどの手段でどのように行っているのか不明であり、かつ、その対応付けは、「スレッド管理テーブル」のみでは実現不可能であることは技術的に見て明らかである。
よって、「スレッド管理テーブル」により、どのように「プロセスを管理する」のかについて、本願発明並びに発明の詳細な説明及び図面の記載は依然として不明確である。

(6)理由(8)について、
請求人は、意見書において、以下のように主張している。
「次に、(8)に関してですが、請求項1-3の末尾に記載された「プロセスにスレッドをマッピングすることを特徴とする…プロセスマッピング方法」および、請求項1に記載された「アプリケーション内のスレッドとして割り当てられたプロセス」における「スレッド」とは、Javaアプリケーション内のスレッドのことであり、図2の「スレッド1」「スレッド2」に相当します。
従って、上記(2)〜(4)の項目で説明したように、前記末尾に係る「プロセス」に「スレッド」を「マッピング」する具体的な処理について、明確であると確信致します。」

この主張は、請求項1に記載した「スレッド」と、発明の詳細な説明及び図面の記載との対応を説明しているにとどまり、「プロセス」に「スレッド」を「マッピング」する処理をどのように実現しているのかについて何ら釈明するものではない。
よって、この点において、本願発明並びに発明の詳細な説明及び図面の記載は依然として不明確である。

(7)理由(15)について、
請求人は、以下のように主張している。
「最後に、(15)に関してですが、「新たなスレッド20-2による記述」の存在を検出するのは、上記(5)の項目で説明したように「Java仮想マシン」です。そして、JavaアプリケーションのスレッドをマッピングするためにJava仮想マシンによって割り当てられたプロセスが、プロセス1となります。ここで、プロセス1は、スレッド管理テーブルに対する動作は行わず、インタプリタ処理のみを行います。
従って、段落[0019]の記載は明確であると確信致します。」

この主張によると、「新たなスレッド20-2による記述」の存在を検出するのは、「Java仮想マシン」となるが、一方、段落【0019】には、「それ以降はプロセス2(50-2)がjavaアプリケーションを読み込み、インタプリタ、実行を行う。」とも記載されているから、「Javaアプリケーション」の読み込み及びインタプリタは、「Java仮想マシン」と、生成された「プロセス」の両者が同時並行的に行うこととなる。つまり、生成された「プロセス」は、読み込み及びインタプリタを行う際に、当然、「新たなスレッドによる記述」を読み込む場合も想定されるが、そのような場合において、「Java仮想マシン」が、生成された「プロセス」が読み込んだ「新たなスレッドによる記述」の存在をどのように検出するのか不明である。つまり、一つの「Javaアプリケーション」に対し、その読み込みとインタプリタの処理を、「Java仮想マシン」と生成された「プロセス」とがどのように分担または協働して行うのか具体的に想定することができない。
よって、この点について、発明の詳細な説明及び図面の記載は依然として不明確である。

4.むすび
したがって、本願は、依然として明細書及び図面の記載に不備があるので、特許法第36条第4項及び第6項第2号の規定により拒絶すべきものである。
よって、結論のとおり審決する。
 
審理終結日 2005-08-10 
結審通知日 2005-08-16 
審決日 2005-08-31 
出願番号 特願平10-356662
審決分類 P 1 8・ 537- WZ (G06F)
P 1 8・ 536- WZ (G06F)
最終処分 不成立  
前審関与審査官 久保 光宏  
特許庁審判長 吉岡 浩
特許庁審判官 橋本 正弘
林 毅
発明の名称 仮想空間システム上におけるスレッド機能のプロセスマッピング方法  
代理人 工藤 雅司  
代理人 机 昌彦  
代理人 谷澤 靖久  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ