• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない(前置又は当審拒絶理由) G06F
管理番号 1135401
審判番号 不服2003-25  
総通号数 78 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2002-01-22 
種別 拒絶査定不服の審決 
審判請求日 2003-01-06 
確定日 2006-04-26 
事件の表示 平成10年特許願第530259号「変換後命令を使用する選択的エミュレーションインタープリテーション」拒絶査定不服審判事件〔平成10年 7月 9日国際公開、WO98/29802、平成14年 1月22日国内公表、特表2002-502516〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 1.手続の経緯・本願発明
本願は、平成9年12月24日(パリ条約による優先権主張1996年12月31日、米国)の国際出願であって、平成14年9月26日付けで拒絶査定がなされ、これに対し、平成15年1月6日に審判請求がなされたが、前置審査により同年3月10日付けで拒絶理由通知がなされ、これに対し、同年9月18日に手続補正がなされたものである。そして、その請求項1に係る発明は、特許請求の範囲の請求項1に記載されたとおりの次のものと認める。(以下、「本願発明」という。)

「エミュレーションホスト計算システムにおいてターゲットコンピュータシステムをエミュレートするための方法であって、前記ターゲットコンピュータシステムは、一つまたは二つ以上の命令バンクにストアされる複数のターゲット命令を実行することができ、前記方法は、
(a)ターゲット命令(18、20)を命令バンク(16)からそれらの実行の順番で連続的に受取るステップと、
(b)各ターゲット命令ごとにそのターゲット命令により行われるそれぞれの機能を特定するために命令バンクからのターゲット命令各々をそれらの実行の順番で解釈するステップと、
(c)エミュレーションホスト計算システム(10)のネイティブモード機械語およびハードウェアを使用して、前記解釈するステップにおいて特定された前記それぞれの機能の各々を実行するステップと、
(d)ターゲット命令のうち選択されたターゲット命令を変換後命令(50)に変換するステップとを含み、前記変換後命令は、各々、ターゲット命令とそれぞれの変換タイプコード(62)とを含み、前記それぞれの変換タイプコードは、前記変換後命令の各々の後の実行を達成するためエミュレーションホスト計算システムによって行われるアクションを示し、前記方法はさらに、
(e)前記変換後命令に前もって変換されたターゲット命令の各々に対する前記それぞれの変換タイプコードを分析し、エミュレーションホスト計算システムのネイティブモード機械語およびハードウェアを使用して前記それぞれの変換タイプコードに応答した態様で、変換後命令の対応する機能を実行するステップを含み、前記解釈するステップと前記変換するステップとは、前記変換後命令の後の発生の際にはバイパスされる、エミュレーションホスト計算システムにおいてターゲットコンピュータシステムをエミュレートするための方法。」

2.引用発明
これに対して、原査定の拒絶の理由に引用された、本願の優先権主張の日前である平成元年6月27日に頒布された刊行物である特開平1-162933号公報(以下「引用文献」という。)には、次の事項が記載されている。

(ア)「インタプリタによってテキストを解釈実行する処理実行方式において、
テキスト(4-1)中のいずれの命令テキストに対してオウンコード化するか否か、および既にオウンコード化されているか否かを表すオウンコード生成・制御フラグ(4-2)と、
テキスト(4-1)から読み込んだ命令テキストが上記オウンコード生成・制御フラグ(4-2)を参照してオウンコード化すべきものであって、かつ未だオウンコード化されていないと判明したときに、オウンコード(4-3)を生成してメモリに格納するオウンコード生成部(2)と、
テキスト(4-1)から読み込んだ命令テキストが上記オウンコード生成・制御フラグ(4-2)を参照して既にオウンコード化されている場合に該当するオウンコード(4-3)を取り出して処理を実行し、一方、オウンコード化されていないがオウンコード化する必要がある場合に上記オウンコード生成部(2)に対してオウンコード(4-3)を生成させた後、このオウンコード(4-3)によって処理を実行し、他方、オウンコード生成・制御フラグ(4-2)を参照してオウンコード化する必要がないと判明した場合にその都度、解釈・インタプリット処理を行う処理実行部(3)とを備え、
テキスト(4-1)から読み込んだ命令テキストを順次実行するように構成したことを特徴とするインタプリタによる処理実行方式。」
(特許請求の範囲)

(イ)「テキスト4-1は、利用者プログラムをコードに返還した命令テキストの集まりである。
オウンコード生成・制御フラグ4-2は、テキスト4-1中のいずれの命令テキストに対してオウンコード化すべきか否か、および既にオウンコード化されているか否かなどの情報を格納するものである。
オウンコード4-3は、命令テキストを解釈してプロセッサが実行し得る状態に変換したコード(例えば機械語)である。」
(第2頁右下欄第12行-第3頁左上欄第1行)

(ウ)「第3図において、利用者プログラム5中の各命令(コード化された命令テキスト)に対応づけてオウンコード生成・制御フラグ4-2を構成するオウンコード化必要フラグFLG2およびオウンコード変換済フラグFLG2が夫々設けられている。オウンコード化必要フラグFLG2は、第2図を用いて説明した方法(1)ないし(2)によってオウンコード化が必要と判断された場合に、セット例えば”1”にセットされるものである。オウンコード変換済フラグFLG1は、命令を解釈し、オウンコード化してオウンコード4-3として作業域に記憶させた場合にセット例えば”1”にセットされるものである。これら両者のフラグは、利用者プログラム5中あるいはインタプリタ中のいずれか、あるいは両者などに持たせるようにすればよい。」
(第3頁右下欄第12行-第4頁左上欄第6行)

(エ)「第5図において、コンピュータ11は、CPU(中央演算処理装置)12、メモリ13などから構成され、処理を実行するものである。
メモリ13中には、図示のように、本発明に関わるインタプリタ13-1、命令テキスト群からなる定義体(テキスト)13-2、オウンコード生成・制御フラグ4-2を格納するFLAG領域13-3、生成したオウンコードを格納する作業域13-4が格納あるいは設けられている。」
(第4頁右上欄第7-15行)

(オ)「第5図において、図中【11】は、命令の取り出しを行うことを示す。これは、後述する第6図手順によってメモリ13中に格納された定義体13-2中から、点線を用いて示すように、命令テキスト(命令)例えば命令テキストiを1つ取り出すことを表す。
図中【12】は、命令に対応するFLAG領域13-3の参照を行うことを表す。これは、点線を用いて示すように、FLAG領域13-3中から図中【11】で取り出した例えば命令テキスト1に対応するオウンコード生成・制御フラグを構成するFLG1、FLG2を読み込んで参照することを表す。
図中【13】は、FLG1=ONか否かを判別することを示す。YESの場合(図中【12】の参照によって、FLG1(オウンコード変換済フラグ)がONの場合、即ちオウンコード化されている場合)には、図中【12】で点線を用いて示すようにFLAG領域13-3中のアドレス(ポインタ)を参照し、図中【18】の点線を用いて示すように作業域13-4中から該当するオウンコードを取り出して実行した後、後尾の”RTN”によって図中【11】に復帰する。これにより、命令テキストをその都度、解釈することを省略して高速に処理を行うことが可能となる。NOの場合(オウンコード化されていない場合)には、図中【14】を実行する。
図中【14】は、FLG2=ONか否かを判別することを示す。YESの場合(図中【12】の参照によって、FLG2(オウンコード化必要フラグ)がONの場合、即ちオウンコード化が必要な命令テキストの場合)には、図中【15】ないし【18】を実行する。NOの場合(オウンコード化が不要の命令テキストの場合)には、図中【19】で従来と同様に、命令の解釈とインタプリット処理を行い、図中【11】以下を繰り返し実行する。
図中【15】は、命令の解析と、オウンコードの生成を行うことを示す。これは、点線を用いて示すように、オウンコード生成用ライブラリ14-1を参照して命令(命令テキスト)を解釈してオウンコードの生成を行い、作業域13-4に格納することを示す。
図中【16】は、FLAG領域にオウンコードノアドレスを設定することを示す。これは、FLAG領域13-3中の該当するFLG1、FLG2に対応づけてオウンコードを格納した作業域13-4をポイントするアドレスを格納することを表す。
図中【17】および【18】は、既述したように、FLAG領域中のアドレスによってポイントされる作業域13-4から該当するオウンコードを取り出して実行することを示す。」
(注:【】付きの数字は、いずれも丸囲みの数字。以降の記載においても同じ。)
(第4頁左下欄第11行-第5頁左上欄第19行)

上記(ア)乃至(オ)の記載及び技術常識からして、命令テキストの命令がメモリから連続的に受け取られて解釈・実行されること、インタプリット処理が、命令の機能を特定するために行われていること、命令の実行がコンピュータのハードウェアを用いて実行されること、及び、オウンコード変換済フラグFLG1がONの場合は、対応するオウンコードを実行することにより、命令の対応する機能を実行していることは自明である。
また、図3の【13】において、命令に対応するFLAG領域のオウンコード変換済フラグFLG1がONの場合は、【19】に係るインタプリット処理と、【15】及び【16】に係るオウンコードの生成及びオウンコードのアドレスの設定がバイパスされている。

よって、上記(ア)乃至(オ)からして、引用文献には次の発明(以下「引用発明」という。)が記載されている。

コンピュータにおいて命令を実行する方法であって、前記方法は、
(a)命令をメモリからそれらの実行の順番で連続的に受取るステップと、
(b)各命令ごとにその命令により行われるそれぞれの機能を特定するためにメモリからの命令各々をそれらの実行の順番でインタプリット処理するステップと、
(c)コンピュータのオウンコード及びハードウェアを使用して、前記インタプリット処理するステップにおいて特定された前記それぞれの機能の各々を実行するステップと、
(d)命令のうちオウンコード化必要フラグFLG2により選択された命令に対応するFLAG領域において、オウンコード変換済フラグFLG1をONに設定するステップであって、ONに設定されたオウンコード変換済フラグFLG1は、計算機によって行われるオウンコードの実行を示し、前記方法はさらに、
(e)命令のオウンコード変換済フラグFLG1が前もってONに設定された命令の各々に対するオウンコード変換済フラグを分析し、コンピュータのオウンコード及びハードウェアを使用して、オウンコード変換済フラグのONに応答した態様で、すなわち、前記インタプリット処理するステップと設定するステップとがバイパスされる態様で、命令の対応する機能を実行するステップとを含み、前記インタプリット処理するステップと設定するステップは、命令のオウンコード変換済をONに設定した後にはバイパスされる、計算機において命令を実行するための方法。

3.本願発明と引用発明との対比
本願発明と引用発明とを対比すると、引用発明の「インタプリット処理」は、本願発明の「解釈」と対応している。
引用発明の「命令」と本願発明の「ターゲット命令」とは、実行対象となる命令(実行対象命令)である点で一致している。
引用発明の「コンピュータ」と本願発明の「エミュレーションホスト計算システム」とは、実行対象命令を変換又は解釈して実行する計算機である点で一致している。
引用発明の「メモリ」と本願発明の「命令バンク」とは、実行対象となる命令をストアする記憶手段である点で一致している。
引用発明の「オウンコード」と本願発明の「ネイティブモード機械語」とは、命令を変換し、計算機が命令に対応する機能を実行できるようにしたコード(実行コード)である点で一致している。

本願発明は、「命令バンク」から受け取られる「ターゲット命令」と「変換後命令」とがどのような構成を有しているのか具体的に特定していないが、明細書の第11頁第25-27行の記載「オリジナル命令については、フィールド62はその命令は未だ変換されていないことを示す予め定められていた値に設定されている。たとえば、フィールド62は本発明の一実施例においてはクリアされていて、それがゼロビットのみを含むようにされる。すなわち、フィールド62は「ゼロで埋められる」。」、及び、図3のステップ102の記載「命令は変換されているか?(TYPEは”ORIGINAL”ではないか?)」からすると、「命令バンク」から受け取られる変換前のターゲット命令にも、「変換タイプコード」のフィールド62が予め含まれている。つまり、本願発明の「変換後命令」は、変換前の「ターゲット命令」の「変換タイプコード」を、「変換するステップ」において書き換えられたものであり、「ターゲット命令」は、該「変換タイプコード」が書き換えられていないものと解釈できる。
ここで、引用発明の「オウンコード変換済フラグ」は、命令ごとに設けられ、初期値はOFFであり、一回目の解釈・実行とオウンコードの生成によりONに設定されるものであり、かつ、計算機は、該「オウンコード変換済フラグ」を分析し、これがON又はOFFであるかに応答した態様で、オウンコードを実行するか、若しくは、オウンコードの生成又は命令のインタプリット処理のいずれを実行するかアクションを決定している。
よって、引用発明の「オウンコード変換済フラグ」は、本願発明の「変換タイプコード」に対応し、引用発明の、初期状態(OFF)における「オウンコード変換済フラグ」と「命令」とを合わせたものが、本願発明の「ターゲット命令」に相当し、引用発明において、ONに設定された「オウンコード変換済フラグ」と「命令」とを合わせたものが、本願発明の「変換後命令」に相当し、引用発明の設定するステップは、該「変換タイプコード」の書き換えを行うステップである点で本願発明の「変換するステップ」と一致している。
また、本願明細書の第14頁第14-23行の記載によると、変換後命令の「変換タイプコード」には、「実行済(EXECUTED)」が含まれ、明細書の第16頁下から2行目-第17頁第2行の記載「TYPEが「EXECUTED」である場合、変換が行われることはなく、これは、解釈がやはり必要であることを意味する。処理はその後サブルーチン238に進み、変換されていない命令を解釈する解釈ルーチンが行われる。」からすると、「変換後命令」の実行の際には、命令を解釈して実行する場合もあると把握できる。よって、本願発明の「前記解釈するステップと前記変換するステップとは、前記変換後命令の後の発生の際にはバイパスされる」は、「変換タイプコードに対応した態様」のうちの一つであり、変換後命令の実行の際に、解釈するステップと変換するステップとが必ずしもバイパスされないと解釈することが合理的である。そして、引用発明においても、2回目以降の実行であっても、オウンコード変換済フラグがOFFのままである場合は従来どおり解釈するステップを実行しているから、この点において本願発明と差異はない。
よって、両者は、

計算機において実行対象命令を変換又は解釈して実行する方法であって、前記計算機は、記憶手段にストアされる複数の実行対象命令を実行することができ、前記方法は、
(a)実行対象命令と変換前の変換タイプコードとを記憶手段からそれらの実行の順番で連続的に受取るステップと、
(b)各実行対象命令ごとにその実行対象命令により行われるそれぞれの機能を特定するために記憶手段からの実行対象命令各々をそれらの実行の順番で解釈するステップと、
(c)計算機の実行コードおよびハードウェアを使用して、前記解釈するステップにおいて特定された前記それぞれの機能の各々を実行するステップと、
(d)実行対象命令のうち選択された実行対象命令の変換タイプコードを書き換えるステップとを含み、前記それぞれの変換タイプコードは、変換タイプコードが書き換えた後の命令の各々の実行を達成するため計算機によって行われるアクションを示し、前記方法はさらに、
(e)実行対象命令の前記変換タイプコードが前もって書き換えられた実行対象命令の各々に対する前記それぞれの変換タイプコードを分析し、計算機の実行コードおよびハードウェアを使用して前記それぞれの変換タイプコードに応答した態様で、変換タイプコードが書き換えられた実行対象命令の対応する機能を実行するステップを含み、前記態様の一つは、前記解釈するステップと前記書き換えるステップとは、前記実行対象命令の変換タイプコードが書き換えられた後はバイパスされる、計算機において実行対象命令を変換又は解釈して実行する方法。

の点で一致し、以下の点で相違している。

[相違点1]
本願発明は、ターゲットコンピュータシステムをエミュレートすることを目的とし、実行対象命令が、該ターゲットコンピュータシステムが実行することができるターゲット命令であり、その機能を実現する実行コードがネイティブモード機械語であるのに対し、引用発明は、エミュレートを目的としたものではなく、実行対象命令の機能を実現する実行コードがオウンコードである点。

[相違点2]
変換タイプコードが、本願発明では、実行対象命令に含まれるのに対し、引用発明では、実行対象命令に対応した別の領域に格納されている点。

[相違点3]
実行対象命令がストアされる記憶手段が、本願発明では「一つまたは二つ以上の命令バンク」であるのに対し、引用発明では、そのようなバンク構成を有していない点。

4.当審の判断
上記相違点について、以下検討する。

[相違点1について]
ターゲットマシン上で実行される命令を疑似実行(エミュレート、シミュレート)するために、当該命令を他のマシンが解釈し、該他のマシンが自身のマシンコードを用いて当該命令の機能を実現する手法は、例えば、上記拒絶理由通知において提示した特開平5-189269号公報及び特開平7-210397号公報に記載されているように周知技術であり、かつ、これらは、命令を解釈して自らの機械語を用いて命令の機能を実現している点で引用発明の手法と共通しているから、引用発明において、ターゲットコンピュータシステムをエミュレートすることを目的とすると共に、実行対象命令を、該ターゲットコンピュータシステムが実行することができるターゲット命令とし、その機能を実現する実行コードとしてエミュレートを行うマシンの機械語、すなわち、ネイティブモード機械語を用いるように構成することに格別な困難性はない。

[相違点2について]
命令コードにその命令コードに関連する制御ビットを付加することは計算機の分野における常套手段である。
よって、引用発明において、実行対象命令に対応するオウンコード変換済フラグを、実行対象命令に含めるようコード化することは当業者が容易に想到し得たものである。

[相違点3について]
複数のバンクを有した記憶手段は周知であり、かつ、このような記憶手段に命令(プログラム)をストアすることも本願の優先日において通常実施されていたことである。
よって、引用発明において、実行対象命令を、一つ又は二つ以上の命令バンクにストアするよう構成することに格別な困難性はない。

そして、本願発明の作用効果も、引用発明及び周知技術から当業者が容易に予測できる範囲内のものである。

なお、請求人は、平成15年9月18日付けの意見書において、「本発明のタイプコードは、審査官殿が述べているように、命令が変換されるべきか翻訳されて実行されるべきかを制御するものでも、指示するものでもありません。」と主張しているが、本願発明には、「変換タイプコードは、前記変換後の各々の後の実行を達成するため…行われるアクションを示し」、「変換タイプコードに応答した態様で、変換後命令の対応する機能を実行する」としか記載がなく、「アクション」及び「応答した態様」とは如何なるものであるのか具体的に特定していないから、実施例に記載された「JUMP」や「POINTER」に限定されず、あらゆる「アクション」及び「応答した態様」を含むこととなる。(なお、発明の詳細な説明の記載を参酌すると、本願発明の「変換タイプコード」には、命令が解釈・実行されるべきであることを示す「実行済(EXECUTED)」が含まれるから、上記主張「命令が変換されるべきか翻訳されて実行されるべきかを制御するものでも、指示するものでもありません。」はそもそも矛盾したものである。)
つまり、請求人の主張は、特許請求の範囲に記載された本願発明の構成に基づいたものではない。また、発明の詳細な説明の記載を参酌しても、請求人が主張する「変換タイプコード」の定義は、「JUMP」や「POINTER」など一部についてのみ正しいものであって、全部に当てはまるものではない。
よって、請求人の主張は採用しない。

5.むすび
したがって、本願発明は、引用発明及び周知技術に基いて当業者が容易に発明をすることができたものであるので、特許法第29条第2項の規定により特許を受けることができない。
よって、結論のとおり審決する。
 
審理終結日 2005-11-24 
結審通知日 2005-11-29 
審決日 2005-12-12 
出願番号 特願平10-530259
審決分類 P 1 8・ 121- WZ (G06F)
最終処分 不成立  
前審関与審査官 久保 光宏  
特許庁審判長 吉岡 浩
特許庁審判官 林 毅
成瀬 博之
発明の名称 変換後命令を使用する選択的エミュレーションインタープリテーション  
代理人 深見 久郎  
代理人 森田 俊雄  
代理人 堀井 豊  

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