• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1304850
審判番号 不服2014-18293  
総通号数 190 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2015-10-30 
種別 拒絶査定不服の審決 
審判請求日 2014-09-12 
確定日 2015-09-15 
事件の表示 特願2012-549670「例外の制御方法、システムおよびプログラム」拒絶査定不服審判事件〔平成24年 6月28日国際公開、WO2012/086288、請求項の数(12)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯
本願は、平成23年10月4日を国際出願日(国内優先権主張日;平成22年12月20日(以下、「優先日」という。))とする出願であって、出願後の手続きの経緯の概要は次のとおりである。

拒絶理由通知 (起案日)平成25年11月13日
意見、手続補正 (提出日)平成26年2月18日
拒絶査定 (起案日)平成26年5月9日
同 謄本送達 (送達日)平成26年5月13日
審判請求 (提出日)平成26年9月12日

第2 本願発明
本願の請求項1?請求項12に係る発明は、平成26年2月18日付け手続補正書により補正された特許請求の範囲の請求項1?12に記載された事項により特定されるものと認められるところ、本願の請求項1に係る発明(以下、「本願発明」という。)は、以下のとおりのものである。

「【請求項1】
例外をプログラム制御する方法であって、プロセッサが、
例外を有効にするか否かの例外制御指定のための制御指定命令を実行して、レジスタに前記例外の制御指定値を設定するステップと、
例外を発生させるか否かの例外制御実行のための制御実行命令を実行して、前記レジスタに設定された前記制御指定値が前記例外を有効にする値か否かを判定し、当該制御指定値が前記例外を有効にする値のときは前記例外を発生させるステップと、
を実行することを含み、
前記制御指定命令はビットマップインデックス部および制御指定部を有し、前記レジスタはビットマップレジスタを備え、前記制御指定値を設定するステップは、当該ビットマップインデックス部の値で特定される当該ビットマップレジスタのビットに当該制御指定部の値を設定するステップを実行することを含み、
前記制御実行命令はビットマップインデックス部を有し、前記例外を発生させるステップは、当該ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行することを含む、
例外プログラム制御方法。」

第3 原審拒絶の理由の概要
1.拒絶理由
『この出願の下記の請求項に係る発明は、その出願前に日本国内又は外国において、頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。


≪引用文献等一覧≫
1.特開2001-166950号公報
2.特開2002-323983号公報
3.特開2002-196938号公報
4.特開平4-96167号公報
5.特開2004-272939号公報

[請求項]1-2,10-12
[引用文献]1-2
引用文献1には、
ソフトウェア割り込み要求を管理する方法であって、
複数の割り込み要因を持ち、各々の割り込み要因に対して割り込みの禁止/許可を制御する割り込みマスクレジスタ(レジスタに対応)を変更するステップと、
当該割り込みマスクレジスタに基づいて、割り込み要求を許可または禁止するステップと、
を有する方法発明が記載されている。

請求項1に係る発明と引用文献1に記載の発明を対比すると、以下の点で相違する。

(1)請求項1に係る発明は、例外を有効にするか否かの例外制御指定のための制御指定命令を実行してレジスタに例外の制御指定値を設定するものであるのに対し、引用文献1に記載の発明は、割り込みマスクレジスタを変更する方法が不明な点。

次に、上記相違点について検討する。

(1)引用文献2には、割り込みマスクを無効にする旨の指示を行う命令を実行してレジスタの値を変更する発明(【0029】-【0033】,図1-3等参照)が記載されている。
引用文献1に記載の発明と引用文献2に記載の発明は、いずれも割り込み要求の制御方法という同一の技術分野に属するものであるから、引用文献1に記載の発明に、引用文献2に記載の発明を適用し、割り込み要求を無効にする旨の指示を行う命令を実行して割り込みマスクレジスタを変更するようにすることは、当業者が容易になし得たことである。

よって、請求項1に係る発明は、引用文献1-2に記載の発明に基づいて、当業者が容易に想到し得たものである。
また、請求項2,10-12についても同様である。

[請求項]3-4,8-9,13-14,18
[引用文献]1-2
引用文献1に記載の発明に引用文献2に記載の発明を適用した構成において、
割り込みを禁止/許可する割り込み要因を特定するための情報を命令に含ませることは、当業者にとって格別の困難性をともなうことではない。

[請求項]5,15
[引用文献]1-3
引用文献3(【0009】等参照)には、リターンアドレスレジスタが記載されている。

[請求項]6,16
[引用文献]1-2,4
引用文献4(第4頁右上欄第1行-第19行等参照)には、キー情報を設定するキーレジスタが記載されている。

[請求項]7,17
[引用文献]1-2,5
引用文献5(【0041】等参照)には、ベクタベースレジスタを用いて例外ハンドラにジャンプすることが記載されている。
…(後略)…』

2.拒絶査定
『この出願については、平成25年11月13日付け拒絶理由通知書に記載した理由によって、拒絶をすべきものです。
なお、意見書並びに手続補正書の内容を検討しましたが、拒絶理由を覆すに足りる根拠が見いだせません。

備考
A.補正後の請求項1,8について
出願人は、平成26年2月18日付けの手続補正書において補正を行い、同日付けで提出した意見書において以下の点を主張している。
請求項1の「・・・前記制御指定命令はビットマップインデックス部および制御指定部を有し、前記レジスタはビットマップレジスタを備え、前記制御指定値を設定するステップは、当該ビットマップインデックス部の値で特定される当該ビットマップレジスタのビットに当該制御指定部の値を設定するステップを実行することを含み、前記制御実行命令はビットマップインデックス部を有し、前記例外を発生させるステップは、当該ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行することを含む、」ような構成、・・・は引用文献1-5には、示されていませんし示唆もされていません。
それに、本願発明の上記構成が当分野の技術的常識(設計的事項等)となっているのならともかくも、そのようなことを裏付ける事実乃至証拠は存在しません。
したがって、引用文献1-5に記載された発明から本願発明に想到すべき必然性は存在しませんし、引用文献1-5に記載された発明から本願発明の上記構成に容易に想到し得るとするのには、無理があります。
上記主張について検討する。
平成25年11月13日付け拒絶理由通知書において指摘したように、引用文献1に記載の発明は、複数の割り込み要因を持ち、各々の割り込み要因に対して割り込みの禁止/許可を制御する割り込みマスクレジスタを変更し、当該割り込みマスクレジスタに基づいて、割り込み要求を許可または禁止するものであり、引用文献2に記載の発明は、割り込みマスクを無効にする旨の指示を行う命令を実行してレジスタの値を変更するものである。したがって、引用文献1に記載の発明に引用文献2に記載の発明を適用して、複数の割り込み要因を持ち、ある割り込み要因による割り込み要求を無効にする旨の指示を行う命令を実行すると、当該割り込み要因に対応する割り込みマスクレジスタを変更し、当該割り込み要因が発生した際は、当該割り込みマスクレジスタの値に基づいて、割り込み要求を許可または禁止する構成に想到することは当業者にとって容易であるといえる。そして、上記割り込みマスクレジスタを変更する命令に、割り込みを禁止/許可する割り込み要因を特定するための情報(変更対象の割り込みマスクレジスタの情報や値)を含ませることや、割り込み要求命令に、当該割り込み要求に対応する割り込みマスクレジスタの情報を含ませることは、当業者にとって格別の困難性をともなうことではない。(なお、レジスタの値を書き替える命令のフォーマットにレジスタ名(ビットマップインデックス部に対応)や当該レジスタに代入する値とを含めることは、例えば特開2010-92273号公報(【0011】-【0012】等参照)に記載されているように周知技術であるので、必要に応じて参照されたい。)

したがって、出願人の主張は拒絶の理由を覆すのに十分であるとはいえない。

よって、補正後の請求項1に係る発明は、引用文献1-2に記載された発明に基づいて当業者が容易に発明することができたものであるから、上記拒絶の理由は、依然として解消していない。
補正後の請求項8についても同様である。

B.補正後の請求項2-7,9-12について
先の拒絶理由通知で検討したとおりである。

≪引用文献等一覧≫
1.特開2001-166950号公報
2.特開2002-323983号公報
3.特開2002-196938号公報
4.特開平4-96167号公報
5.特開2004-272939号公報
(後略)…』

第4 当審の判断
1.引用文献
(1)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされ、原審の拒絶査定の理由である上記平成25年11月13日付けの拒絶理由において引用された文献である特開2002-323983号公報(以下、「引用文献1」という。)には、関連図面とともに次の技術的事項が記載されている。(下線部は当審が引用した部分、ないし特に着目した部分を示す。)

A.「【要約】
【課題】 並列実行可能な複数の処理を指定するLIW命令又はVLIW命令に基づいて、複数の演算回路で処理を並列実行する情報処理装置において、命令メモリ等の資源の増加や、処理速度の悪化を伴うことなく、サイクル単位の割り込みマスク制御を行うことができる情報処理装置を提供すること。
【解決手段】 割り込み制御部1と、命令メモリ2と、命令解読部3と、レジスタ部4と、演算回路A5と、演算回路B6とを有し、バイパス用信号線104を介して演算回路A5の演算結果を演算回路B6にバイパスすることが可能な情報処理装置において、命令解読部3が、命令解読の結果割り込みマスクを行うべきと判定した場合に、信号線101を通じて割り込み制御部1に対してマスク信号を出力する。」

B.「【0026】以上のように構成された情報処理装置について、以下その動作を説明する。図8に示すようなLIW命令を実行する場合に、図2に示すようにLIW命令に割り込みマスクを行うか否かを示す1ビットの指示ビットを加えておく。例えば、LIW命令ごとの指示ビットとして、当該命令の実行時に割り込みマスクを行う必要がある場合には、指示ビットを「1」としておき、割り込みを許容する命令であれば、指示ビットを「0」としておいて、命令アセンブラにより指示ビットを含む機械語プログラムに変換する。
【0027】そして、実行時に命令解読部3において命令の解読を行う際、即ち、各々のLIW命令のDECODEフェーズにおいて、前記指示ビットが「1」であれば、信号線101に出力するマスク信号をオンとし、指示ビットが「0」であれば、前記マスク信号をオフとする。ここで、指示ビットの設定についてより具体的に説明すると、例えば、演算回路A5の演算結果を演算回路B6で使用するためにバイパスを行う場合、即ち命令シーケンスにおいてディスティネーションレジスタとして%pが指定されている場合に指示ビットを「1」とし、以後、バイパスされたデータを用いた演算回路B6における演算が終了するまで、制御ビットを「1」としておき、演算回路B6における当該演算が終了すると指示ビットを「0」とするようにプログラミングの段階で考慮してLIW命令を作成する。指示ビットの設定は任意の位置に行うことが可能であり、バイパスによる演算の実行時以外に割り込みマスクを行うこともできる。
【0028】以上のような処理を行うことにより、例えば無制限に割り込みを認める場合において、演算回路の増加に伴いバイパス用パイプラインラッチを増加させることによる情報退避用資源の増大を抑制することができるとともに、割り込み制御命令をLIW命令中に記述することによる命令メモリ2のサイズの膨張を防ぐことができ、かつ、パイプラインサイクルごとの細かい処理単位における割り込み制御が可能となる。
(実施の形態2)図3は、本発明の第2の実施の形態における情報処理装置の構成を示すブロック図である。
【0029】同図の情報処理装置の構成は、実施の形態1で説明したものとほぼ同一であるが、命令解読部3に中に、判定部31が備えられているところが異なっている。以下、異なっている部分を中心にして説明を行う。実施の形態1においては、LIW命令の中に指示ビットを記述したが、本実施の形態では指示ビットは設けない。代わりに判定部31において、例えば、信号線104を用いたバイパス処理を行うか否かを判定し、判定結果に基づいて、割り込みマスクを行うか否かを指示するマスク信号を信号線101に出力する。」

C.「【0031】…(中略)…
(実施の形態3)図4は、本発明の第3の実施の形態における情報処理装置の構成を示すブロック図である。
【0032】同図の情報処理装置の構成は、実施の形態2で説明したものとほぼ同一であるが、制御レジスタ8及びAND回路9が設けられている点と、データバス103から制御レジスタ8に制御信号を出力する信号線106が備えられているところが異なっている。以下、異なっている部分を中心にして説明を行う。実施の形態2において、判定部31による判定の結果に基づいて制御信号を出力する方法を用いたが、処理の内容によっては、同種の処理であっても、割り込みマスクを行うべき場合と、行わなくてもよい場合とが混在するものが有り得る。例えば、バイパスを用いた演算であっても必ずしも割り込みマスクを行う必要がない場合も考えられることから、本実施の形態の情報処理装置では、そのような場合に割り込みマスクを行わない旨の指定を行う命令の使用を可能としている。即ち、制御レジスタ8を設置し、命令解読部3において、判定部31の出力するマスク信号を無効とする旨の指示を行う命令が検出された場合は、前記制御レジスタ8に含まれる制御ビット8aに「0」を設定する。そしてAND回路9の出力をAND回路7への入力とすることにより、判定部31の判定に関係なく割り込みマスクを禁止することが可能となる。以後、マスク信号の無効を解除する命令が検出され、前記制御ビット8aに「1」が設定されると、再び判定部31の判定により割り込みマスクの制御が行われるようになる。
【0033】以上のような処理を行うことにより、例えば、通常の状態であれば割り込みマスクを行うべき命令であるが、処理内容の全体から判断した場合に割り込みマスクを行う必要がないというような場合にも対処することが可能となる。」

(2)引用文献1に記載された事項を検討する。
(A)前記B.の「実施の形態1においては、LIW命令の中に指示ビットを記述したが、本実施の形態では指示ビットは設けない。代わりに判定部31において、例えば、信号線104を用いたバイパス処理を行うか否かを判定し、判定結果に基づいて、割り込みマスクを行うか否かを指示するマスク信号を信号線101に出力する」との記載から、LIW命令の中に指示ビットを記述した命令を用いるものと、当該指示ビットを記述する代替として、判定部31において判定を行うものとは均等的なものであることをよみとることができる。端的には、前記C.の(実施の形態3)における、図4の判定部31を有する命令解読部3に入力される命令として、図2に示されたような割り込みマスクを行うか否かを示す指示ビットが付加されたアセンブラ命令の場合の例も想定でき、命令解読部3の判定部は前記指示ビットが付加されたアセンブラ命令を判定することができると解される。
前記指示ビットが付加された命令の場合をふまえ、前記C.の「判定部31による判定の結果に基づいて制御信号を出力する方法」 、「判定部31の判定により割り込みマスクの制御が行われる」との記載から、「割り込みマスクを行うか否かを示す指示ビットが付加された命令を用いて命令解読部の判定部の判定により割り込みマスクの制御を行う方法」をよみとることができる。

(B)前記B.の「実行時に命令解読部3において命令の解読を行う際、…(中略)…、前記指示ビットが「1」であれば、信号線101に出力するマスク信号をオンとし、指示ビットが「0」であれば、前記マスク信号をオフとする」との記載、前記C.の「制御レジスタ8を設置し、命令解読部3において、判定部31の出力するマスク信号を無効とする旨の指示を行う命令が検出された場合は、前記制御レジスタ8に含まれる制御ビット8aに「0」を設定する」との記載から、「指示ビットが付加された命令(LIW命令を変換した機械語命令)の実行時に命令の解読を行う際、制御レジスタに含まれる制御ビットに「0」または「1」を設定する」ことをよみとることができる。

(C)前記C.の「判定部31の判定に関係なく割り込みマスクを禁止することが可能となる」、「以後、マスク信号の無効を解除する命令が検出され、前記制御ビット8aに「1」が設定されると、再び判定部31の判定により割り込みマスクの制御が行われる」 との記載から、「判定部の判定に関係なく割り込みマスクを禁止することが可能となり、以後、マスク信号の無効を解除する命令が検出され、前記制御ビットに「1」が設定されると、再び判定部の判定により割り込みマスクの制御が行われる」ことをよみとることができる。

前記(A)?(C)によれば、前記Aの「並列実行可能な複数の処理を指定するLIW命令又はVLIW命令に基づいて、複数の演算回路で処理を並列実行する情報処理装置において、命令メモリ等の資源の増加や、処理速度の悪化を伴うことなく、サイクル単位の割り込みマスク制御を行うことができるようにする」ことを目的とした次の発明(以下、「引用文献1発明」という。)が示されている。

「割り込みマスクを行うか否かを示す指示ビットが付加された命令を用いて命令解読部の判定部の判定により割り込みマスクの制御を行う方法であって、
前記指示ビットが付加された命令の実行時に命令の解読を行う際、制御レジスタに含まれる制御ビットに「0」または「1」を設定するステップと、
前記判定部の判定に関係なく割り込みマスクを禁止することが可能となり、以後、マスク信号の無効を解除する命令が検出され、前記制御ビットに「1」が設定されると、再び前記判定部の判定により割り込みマスクの制御が行われるステップと、
を含む割り込みマスクの制御を行う方法。」

(3)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされ、原審の拒絶査定の理由である上記平成25年11月13日付けの拒絶理由において引用された文献である特開2001-166950号公報(以下、「引用文献2」という。)には、関連図面とともに以下の技術的事項が記載されている。
D.請求項5、段落【0019】?【0030】には、「ソフトウェア割り込み要求を管理する方法であって、
複数の割り込み要因を持ち、各々の割り込み要因に対して割り込みの禁止/許可を制御する割り込みマスクレジスタ(レジスタに対応)を変更するステップと、
当該割り込みマスクレジスタに基づいて、割り込み要求を許可または禁止するステップと、
を有する方法」が記載されている。

(4)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされ、原審の拒絶査定の理由である上記平成25年11月13日付けの拒絶理由において引用された文献である特開2002-196938号公報(以下、「引用文献3」という。)には、関連図面とともに以下の技術的事項が記載されている。
E.段落【0009】には、「リターンアドレスレジスタ」が記載されている。

(5)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされ、原審の拒絶査定の理由である上記平成25年11月13日付けの拒絶理由において引用された文献である特開平4-96167号公報(以下、「引用文献4」という。)には、関連図面とともに以下の技術的事項が記載されている。
F.第4頁右上欄第1行-第19行等には、「キー情報を記憶」(設定)する「キーレジスタ」が記載されている。

(6)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされ、原審の拒絶査定の理由である上記平成25年11月13日付けの拒絶理由において引用された文献である特開2004-272939号公報(以下、「引用文献5」という。)には、関連図面とともに以下の技術的事項が記載されている。
G.段落【0041】等には、「ベクタベースレジスタ」を用いて「例外ハンドラに分岐され」ること(ジャンプすること)が記載されている。

(7)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされた文献である「TMS320C3x ディジタル・シグナル・プロセッサ ユーザーズ・マニュアル」(初版)(サブタイトル;SCJ1725D),日本テキサス・インスツルメンツ(株)発行(1998年12月31日),(以下、「周知文献1」という。)には、以下の技術的事項が記載されている。
H.(7-32頁右欄3行?7-33頁左欄下から6行)
「□ ステータス(ST)レジスタ
…(中略)…
□ CPU/DMA割り込みイネーブル(IE)レジスタ
…(中略)…
□ CPU割り込みフラグ(IF)レジスタ
…(中略)…
割り込みフラグ・レジスタの各ビットは、ソフトウェアによるリード/ライトが可能です。
…(中略)…
内部割り込みも、以上と同じように動作します。IFレジスタ中の、内部割り込みに対応するビットをソフトウェアでリード/ライトできます。
…(中略)…
IFレジスタへのライトに際し、ビット値を元のままにしておく必要がある場合は、直接IFに対して論理演算(AND、OR等)を行なうことによって、値を変更しなければなりません。
…(中略)…
CPU割り込みを発生させるためには、少なくとも次の2つの条件を満たす必要があります。
□ ステータス・レジスタのGIEビットを1にセットし、すべての割り込みをグローバルにイネーブルしなければなりません。
□ IFレジスタ中の対応するビットをセットし、必要な割り込みをイネーブルしなければなりません。」

(8)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされた文献である「PentiumTMファミリー ディベロッパーズ マニュアル 下巻 アーキテクチャーとプログラミング 初版 」(サブタイトル;241430J-004),インテルジャパン(株)発行,(2000年11月15日特許庁受入)(以下、「周知文献2」という。)には、以下の技術的事項が記載されている。

I.(14-1頁4行?14-4頁9行)
「割込みは、あるプログラムの実行中に、ハードウェアから送られる信号に対して随時発生する。一方、例外は、原因となる命令が実行された時に起きる。
…(中略)…
-プログラムされた例外。INT0、INT3、INTnおよびBOUNDの各命令が例外を発生させることができる。これらの命令のことを「ソフトウェア割込み」という場合があるが、プロセッサはこれを例外として処理する。
…(中略)…
NMI割込み、および例外には、0-31の範囲のベクタが割当てられている。
…(中略)…
32-255のベクタはすべて使用可能である。
…(中略)…
14.3.2.IFによるINTRのマスク
IFフラグは、プロセッサのINTRピンで受信された割込みのサービスをオフにすることができる。IFフラグがクリアされている場合は、INTR割込みは無視される。一方、IFフラグがセットされていれば、INTR割込みにはサービスが提供される。
…(中略)…
STI命令、およびCLI命令により、IFフラグをそれぞれセット、およびクリアする。
CLI(Clear interrupt Enable Flag)、およびSTI(Set interrupt Enable Flag)は、IFフラグ(EFLAGASレジスタのビット9)を既知のステートに設定する。これらの命令は、CPLがIOPLと同じ、あるいはこれより上の特権レベルにある場合に限って実行される。」

(9)本願の優先日前に既に頒布または電気通信回線を通じて公衆に利用可能とされた文献である「A powerful new vision of programming VisualAge C++ for Windows Cライブラリー・リファレンス バージョン3.5 初版」(サブタイトル;SB88-7177-00) 日本・アイ・ビー・エム(株)発行(1996年07月31日)(以下、「周知文献3」という。)には、以下の技術的事項が記載されている。
J.「void disable(void);…(中略)…disableは、CLI機械命令を実行して割込みを使用不能にします。」(158頁4?7行)

「interruptは、INT機械命令を使用してintnumで指定された割込みプロシージャーを呼び出します。整数intnumは、0から255の範囲内の値をもたなければなりません。
注: interruptは組込み関数であり、インライン命令として実行され、
…(中略)…
この例は、ブレークポイントである割込み3を呼び出します。
・・・(中略)・・・
interrupt(3);」(363頁7?23行)

2.対比
本願発明と引用文献1発明とを対比する。
(1)引用文献1発明の「割り込み」は、図4の命令メモリからの命令の実行等が原因として発生する「割り込み」であるため「例外」と換言できることは周知文献2(前記I.参照)に記載されているように本願の優先日前における当該技術分野における技術常識である。また、引用文献1発明の「指示ビットが付加された命令を用いて」いることは「プログラム制御(ソフトウェア制御)」によるものであるとみることができる。してみれば、引用文献1発明の「割り込みマスクを行うか否かを示す指示ビットが付加された命令を用いて命令解読部の判定部の判定により割り込みマスクの制御を行う方法」と本願発明の「例外をプログラム制御する方法」とに実質的な差異はない。

(2)引用文献1発明の「指示ビット」、「指示ビットが付加された命令」は、それぞれ、本願発明の「制御指定部の値(制御指定値)」、「例外制御指定のための制御指定命令」に相当する。また、引用文献1発明の「指示ビットが付加された命令の実行時に命令の解読を行う際」は、「命令を実行して」とまではいえないものの、当該命令を用いており、一方、本願発明の「制御指定命令を実行して」いることは「制御指定命令」を用いているといえる。してみれば、引用文献1発明の「前記指示ビットが付加された命令の実行時に命令の解読を行う際、制御レジスタに含まれる制御ビットに「0」または「1」を設定するステップ」と本願発明の「例外を有効にするか否かの例外制御指定のための制御指定命令を実行して、レジスタに前記例外の制御指定値を設定するステップ」とは後述する点で相違するものの「例外を有効にするか否かの例外制御指定のための制御指定命令を用いて、レジスタに前記例外の制御指定値を設定するステップ」という点で共通する。

(3)本願発明の「例外を発生させるか否かの例外制御実行のための制御実行命令を実行して、」については前記(2)で言及したことと同様のことがいえる。そして、引用文献1発明の「マスク信号の無効を解除する命令が検出され、前記(制御レジスタの)制御ビットに「1」が設定されると、再び前記判定部の判定により割り込みマスクの制御が行われるステップ」は、本願発明の「前記レジスタに設定された前記制御指定値が前記例外を有効にする値か否かを判定し、当該制御指定値が前記例外を有効にする値のときは前記例外を発生させるステップ」に相当する。これらを合わせると、引用文献1発明と本願発明とは後述する点で相違するものの「例外を発生させるか否かの例外制御実行のための制御実行命令を用いて、前記レジスタに設定された前記制御指定値が前記例外を有効にする値か否かを判定し、当該制御指定値が前記例外を有効にする値のときは前記例外を発生させるステップ」という点で共通する。

(4)引用文献1発明の各「ステップ」がプロセッサにより実行されることは自明である。してみれば、引用文献1発明と本願発明とは「プロセッサが、」各ステップ「を実行することを含」む点で実質的な差異はない。

(5)前記(2)で言及したことを再掲する。引用文献1発明の前記(2)で言及した事項と本願発明の「前記制御指定命令はビットマップインデックス部および制御指定部を有し、前記レジスタはビットマップレジスタを備え、前記制御指定値を設定するステップは、当該ビットマップインデックス部の値で特定される当該ビットマップレジスタのビットに当該制御指定部の値を設定するステップを実行すること」とは後述する点で相違するものの「前記制御指定命令は制御指定部を有し、前記レジスタを備え、前記制御指定値を設定するステップは、当該レジスタのビットに当該制御指定部の値を設定するステップを実行すること」という点で共通する。

(6)前記(3)で言及したことを再掲する。引用文献1発明の前記(3)で言及した事項と本願発明の「前記制御実行命令はビットマップインデックス部を有し、前記例外を発生させるステップは、当該ビットマップインデックス部の値で特定される前記ビットマップレジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行する」とは後述する点で相違するものの「前記例外を発生させるステップは、前記レジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップ」という点で共通する。

(7)前記(1)?(6)の検討によれば、本願発明と引用文献1発明とは、次の点で一致し、そして相違する。

〈一致点〉
例外をプログラム制御する方法であって、プロセッサが、
例外を有効にするか否かの例外制御指定のための制御指定命令を用いて、レジスタに前記例外の制御指定値を設定するステップと、
例外を発生させるか否かの例外制御実行のための制御実行命令を用いて、前記レジスタに設定された前記制御指定値が前記例外を有効にする値か否かを判定し、当該制御指定値が前記例外を有効にする値のときは前記例外を発生させるステップと、
前記例外を発生させるステップは、前記レジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行することを含み、
前記制御指定命令は制御指定部を有し、前記制御指定値を設定するステップは、当該レジスタのビットに当該制御指定部の値を設定するステップを実行することを含み、
前記例外を発生させるステップは、前記レジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行することを含む、
例外プログラム制御方法。

〈相違点〉
(1)制御指定命令を用いて、レジスタに例外の制御指定値を設定することに関し、本願発明は、制御指定命令を「実行して、」レジスタに例外の制御指定値を設定するのに対し、引用文献1発明は、命令実行時の命令の解読を行う際になされる点。

(2)制御指定部の値を設定するステップに関し、本願発明は、制御指定命令は「ビットマップインデックス部」および制御指定部を有し、前記レジスタは「ビットマップレジスタ」を備え、前記制御指定値を設定するステップは、「当該ビットマップインデックス部の値で特定される当該ビットマップレジスタの」ビットに当該制御指定部の値を設定するステップを「実行する」のに対し、引用文献1発明は、そのようなステップを有していない点。

(3)例外を発生させるステップに関し、本願発明は「前記制御実行命令はビットマップインデックス部を有し、」前記例外を発生させるステップは、「当該ビットマップインデックス部の値で特定される前記ビットマップ」レジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行することを含むのに対し、引用文献1発明は、そのようなステップを有していない点。

4.当審判断
相違点(1)について
制御指定命令を「実行して、」レジスタに例外の制御指定値を設定する技術は、周知文献2(前記I.参照)に記載されているように本願の優先日前において当該技術分野における周知の技術であった。
してみれば、引用文献1発明において、制御指定命令を用いて、レジスタに例外の制御指定値を設定することに関し、制御指定命令を「実行して、」レジスタに例外の制御指定値を設定することは、前記周知の技術を参酌することにより当業者が容易になし得ることである。

相違点(2)について
本願発明の「ビットマップインデックス部」を有する「制御指定命令」については引用文献2?5(前記D.?G.参照)に記載も示唆もない。
また、制御指定命令は「ビットマップインデックス部」および制御指定部を有し、前記レジスタは「ビットマップレジスタ」を備え、前記制御指定値を設定するステップは、「当該ビットマップインデックス部の値で特定される当該ビットマップレジスタの」ビットに当該制御指定部の値を設定するステップを「実行する」技術は、本願の優先日前に周知の技術であるともいえない。

相違点(3)について
フラグ又はレジスタに設定された値が有効のときのみに割込みを発生させることは、周知文献1?3(前記H.?J.参照)に記載があるように当該技術分野における周知慣用技術である。
してみれば、本願発明の如く、制御実行命令は「ビットマップインデックス部を有し」、「当該ビットマップインデックス部の値で特定される前記ビットマップ」レジスタのビットに設定された前記制御指定部の値が前記例外を有効にする値のときに、前記例外を発生させるステップを実行することは、引用文献1発明に前記周知文献1?3の周知慣用技術を適用することにより当業者が容易になし得ることである。

以上、相違点(1)?(3)についての検討から、請求項1に係る発明についての前記相違点(2)に係る事項を備えることが当業者が容易になし得ることであるとすることはできない。
そして、請求項1に係る発明の構成を備えることにより、明細書に記載の顕著な効果を奏するものと認められる。

5.請求項2?請求項12に係る発明について
請求項2?請求項7に係る発明は請求項1を直接ないし間接的に引用している「方法」または「コンピュータプログラム」の発明に関する。
引用文献3?5には前記E.の「リターンアドレス」に係る技術、前記F.の「キーレジスタ」に係る技術、前記G.の「ベクタベースレジスタ」を用いて「例外ハンドラに分岐」する技術がそれぞれ記載されているが、これらの技術は、引用する請求項1に係る発明の前記相違点(2)に係る技術を示すものではないので、請求項2?請求項7に係る発明は、引用している請求項1に係る発明と同様に、引用文献1に記載された発明及び引用文献2?5に記載された技術に基いて、当業者が容易に発明をすることができたものであるとすることはできない。
また、請求項8に係る発明は、カテゴリが「例外プログラム制御システム」の発明に係るが、請求項1に係る発明と実質的に同様の事項を有する発明であり、請求項1に係る発明と同様に、引用文献1に記載された発明及び引用文献2に記載された技術に基いて、当業者が容易に発明をすることができたものであるとすることはできない。
また、請求項9?12に係る発明は請求項8を直接ないし間接的に引用している発明であり、前記請求項2?請求項7において言及したことと同様のことがいえる。請求項9?12に係る発明は、引用する請求項8に係る発明と同様に、引用文献1に記載された発明及び引用文献2?5に記載された技術に基いて、当業者が容易に発明をすることができたものであるとすることはできない。

第5 むすび
以上のとおり、本願請求項1ないし請求項12に係る発明は、引用文献1に記載された発明及び引用文献2ないし5に記載された技術及び周知技術に基いて、当業者が容易に発明をすることができたものであるとすることはできない。
また、他に拒絶の理由を発見できない。

よって、結論のとおり審決する。
 
審決日 2015-09-03 
出願番号 特願2012-549670(P2012-549670)
審決分類 P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 大塚 俊範  
特許庁審判長 辻本 泰隆
特許庁審判官 高木 進
戸島 弘詩
発明の名称 例外の制御方法、システムおよびプログラム  
代理人 太佐 種一  
代理人 上野 剛史  

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