• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない。 G06F
審判 査定不服 特17条の2、3項新規事項追加の補正 特許、登録しない。 G06F
審判 査定不服 5項独立特許用件 特許、登録しない。 G06F
管理番号 1359140
審判番号 不服2018-15047  
総通号数 243 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2020-03-27 
種別 拒絶査定不服の審決 
審判請求日 2018-11-12 
確定日 2020-01-20 
事件の表示 特願2016-206507「PLC命令語コンパイルの最適化方法」拒絶査定不服審判事件〔平成29年 4月27日出願公開、特開2017- 79069〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 第1 手続の経緯

本件審判請求に係る出願(以下,「本願」という。)は,平成28年10月21日(パリ条約による優先権主張外国庁受理2015年10月21日(以下,「優先日」という。),大韓民国)を出願日とする出願であって,同日付けで審査請求がなされ,平成29年11月8日付けで拒絶理由通知(同年11月21日発送)がなされ,平成30年2月20日付けで意見書が提出されるとともに,同日付けで手続補正がなされ,同年7月4日付けで拒絶査定(同年7月10日謄本送達)がなされたものである。
これに対して,「原査定を取り消す、本願の発明は特許すべきものとする、との審決を求める。」ことを請求の趣旨として,平成30年11月12日付けで本件審判請求がなされるとともに,同日付けで手続補正がなされ,平成31年1月24日付けで審査官により特許法第164条第3項に定める報告(前置報告)がなされたものである。


第2 平成30年11月12日付けの手続補正についての補正却下の決定

[補正却下の決定の結論]

平成30年11月12日付けの手続補正を却下する。

[理由]

1 補正の内容

平成30年11月12日付けの手続補正(以下,「本件補正」という。)の内容は,平成30年2月20日付けの手続補正により補正された特許請求の範囲の請求項1ないし請求項7の記載

「 【請求項1】
PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、を含み、
前記一つのコンパイル処理方式を判断するステップは、
前記速度に相応する第1の選択ボックス、及び前記サイズに相応する第2の選択ボックスを提供するステップと、
前記第1の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第2の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第1の選択ボックス及び前記第2の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
前記第1の選択ボックスと前記第2の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能である、PLC命令語コンパイルの最適化方法。
【請求項2】
前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記速度である場合、所定基準の簡単な命令語処理であるかを判断するステップと、
前記簡単な命令語処理であるかを判断するステップで判断した結果、
簡単な命令語処理である場合には、直接コンパイル処理方式によりアセンブラ言語で命令語コンパイルを行うステップと、
簡単な命令語処理ではない場合には、前記速度に最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項1に記載のPLC命令語コンパイルの最適化方法。
【請求項3】
前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記サイズである場合、前記サイズに最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップを含む、請求項1に記載のPLC命令語コンパイルの最適化方法。
【請求項4】
前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式がデフォルトである場合、所定基準の簡単な命令語処理であるかを判断するステップと、
前記簡単な命令語処理であるかを判断するステップで判断した結果、
簡単な命令語処理である場合には、直接コンパイル処理方式により命令語コンパイルを行うステップと、
簡単な命令語処理ではない場合には、前記デフォルトと設定された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項1に記載のPLC命令語コンパイルの最適化方法。
【請求項5】
プログラムサイズまたは前記PLC内の残余データ格納容量に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップをさらに含む、請求項1に記載のPLC命令語コンパイルの最適化方法。
【請求項6】
前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定する、請求項5に記載のPLC命令語コンパイルの最適化方法。
【請求項7】
前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
正常状況では前記速度をコンパイル処理方式として選択し、前記PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定する、請求項5に記載のPLC命令語コンパイルの最適化方法。」(以下,この特許請求の範囲に記載された請求項各項を「補正前の請求項」という。)

を,

「 【請求項1】
PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、
プログラムサイズ及び前記PLC内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップを含み、
前記一つのコンパイル処理方式を判断するステップは、
前記速度に相応する第1の選択ボックス、及び前記サイズに相応する第2の選択ボックスを提供するステップと、
前記第1の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第2の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第1の選択ボックス及び前記第2の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
前記第1の選択ボックスと前記第2の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能であり、
前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定する、PLC命令語コンパイルの最適化方法。
【請求項2】
前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記速度である場合、所定基準の簡単な命令語処理であるかを判断するステップと、
前記簡単な命令語処理であるかを判断するステップで判断した結果、
簡単な命令語処理である場合には、直接コンパイル処理方式によりアセンブラ言語で命令語コンパイルを行うステップと、
簡単な命令語処理ではない場合には、前記速度に最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項1に記載のPLC命令語コンパイルの最適化方法。
【請求項3】
前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記サイズである場合、前記サイズに最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップを含む、請求項1に記載のPLC命令語コンパイルの最適化方法。
【請求項4】
前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式がデフォルトである場合、所定基準の簡単な命令語処理であるかを判断するステップと、
前記簡単な命令語処理であるかを判断するステップで判断した結果、
簡単な命令語処理である場合には、直接コンパイル処理方式により命令語コンパイルを行うステップと、
簡単な命令語処理ではない場合には、前記デフォルトと設定された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項1に記載のPLC命令語コンパイルの最適化方法。」(以下,この特許請求の範囲に記載された請求項各項を「補正後の請求項」という。)
(なお,下線は,補正箇所を示すものとして,請求人が付与したものである。)

に補正するものである。

2 補正の適否(特許法第17条の2第3項に規定する要件についての検討)

ア 本件補正のうち,補正前の請求項1を補正後の請求項1に変更する補正は,下記の補正事項よりなるものである。

<補正事項1>
補正前の請求項1に,「プログラムサイズ及び前記PLC内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」という新たなステップを追加する補正。

<補正事項2>
上記補正事項1で指摘した新たなステップの実施例として,補正前の請求項1に,「前記一つのコンパイル処理方式を自動で選択して設定するステップでは、」「正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定す」るという記載を追加する補正。

イ そこで,上記各補正事項について,以下に検討する。

<補正事項1について>

補正後の請求項1は,その記載からして,次の事項(a)及び(b)を含んでいる。

(a)「PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップ」
(b)「プログラムサイズ及び前記PLC内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」

しかしながら,出願当初の明細書を参照すると,(当審注:下線は,参考のために当審で付与したものである。)

「【0025】
図1は、本発明の一実施形態によるPLC命令語コンパイルの最適化方法において、ユーザコードを説明するための図である。
…(中略)…
【0034】
図4は、本発明の一実施形態によるPLC命令語コンパイルの最適化方法を説明するための図である。図5は、本発明の一実施形態によるPLC命令語コンパイルを最適化するためにコンパイル処理方式を設定することを説明するための図である。
【0035】
図4を参照すると、PADTのラダープログラムを用いて、PLCで実行されるべきプログラムコードを作成する(S100)。
【0036】
その後、PLCで実行されるべきプログラム7内に含まれた命令語に対する複数のコンパイル処理方式のうち、一つのコンパイル処理方式を設定する(S200)。
【0037】
例えば、ユーザが、速度オプション及びサイズオプションをチェックまたは解除できるようにして、コンパイル最適化方式を設定することができる。この際、別のオプションが選択されない場合(デフォルトオプション)には、基本オブジェクトコードを用いたコンパイルを行うように設定することができる。サイズオプションが選択された場合は、サイズに最適化された命令語コンパイルを行うように設定することができる。」,

「【0065】
図10は、本発明の他の一実施形態によるPLC命令語コンパイルの最適化方法を説明するための図である。
【0066】
図10を参照すると、PADTのラダープログラムを用いて、PLCで実行されるべきプログラムコードを作成する(S510)。
【0067】
プログラムサイズまたはPLC内の残余データ格納容量に基づいて、PLCで実行されるべきプログラム7内に含まれた命令語に対する複数のコンパイル処理方式のうち、一つのコンパイル処理方式を自動で選択するように設定する(S520)。」,

と記載されているように,前記(a)のステップ(ユーザが手動でコンパイル処理方式を選択するステップ),前記(b)のステップ(コンパイラが自動でコンパイル処理方式を選択するステップ)それぞれは,出願当初の明細書には,別の実施形態として記載されており,これら排他的ともいえる別の実施形態における(a)のステップ及び(b)のステップを,一連の時系列的な手順として,どのように実現するのか,当初明細書等には記載も示唆もなく,また自明な事項でもない。

<補正事項2について>

補正後の請求項1は,その記載からして,次の事項(c)及び(d)を含んでいる。

(c)「プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定」する態様
(d)「PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定」する態様

しかしながら,出願当初の明細書を参照すると,(当審注:下線は,参考のために当審で付与したものである。)

「【0068】
例えば、一つのコンパイル処理方式を自動で選択して設定するために、正常状況では速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えるとサイズをコンパイル処理方式として選択して設定することができる。
【0069】
さらに他の例として、一つのコンパイル処理方式を自動で選択して設定するために、正常状況では速度をコンパイル処理方式として選択し、PLC内の残余データ格納容量が基準容量以下になるとサイズをコンパイル処理方式として選択して設定することができる。」

と記載されているように,前記(c)の態様,前記(d)の態様それぞれは,出願当初の明細書には,別の実施例として記載されており,これら2つの実施例を,一連の時系列的な手順として,どのように実現するのか,当初明細書等の範囲内には記載も示唆もなく,また自明な事項でもない。

ウ 以上のように,発明特定事項(a)及び発明特定事項(b)の両方を含み,発明特定事項(c)及び発明特定事項(d)の両方を含む補正後の請求項1は,当初明細書等の範囲内のものとはいえず,かつ,その記載から自明なものでもない。

したがって,本件補正は,当初明細書等の範囲内でしたものでなく,特許法第17条の2第3項の規定に違反するので,同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。

3 独立特許要件

以上のように,補正前の請求項1についてする補正は,「2 補正の適否(特許法第17条の2第3項に規定する要件についての検討)」で指摘したとおり,当初明細書等の範囲内でしたものではないので,特許法第17条の2第3項の規定に違反するものであるが,仮に,本件補正が,当初明細書等の範囲内でしたものであり,かつ,特許法第17条の2第5項第2号の特許請求の範囲の減縮を目的とするものに該当すると仮定した場合に,補正後の請求項1に記載された発明(以下,「本件補正発明」という。)が特許出願の際独立して特許を受けることができるものであるか(特許法第17条の2第6項において準用する同法第126条第7項の規定に適合するか)検討する。

(1)本件補正発明

本件補正発明は,前記「1 補正の内容」において,補正後の請求項1として引用した,次の記載のとおりのものである。

「PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、
プログラムサイズ及び前記PLC内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップを含み、
前記一つのコンパイル処理方式を判断するステップは、
前記速度に相応する第1の選択ボックス、及び前記サイズに相応する第2の選択ボックスを提供するステップと、
前記第1の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第2の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第1の選択ボックス及び前記第2の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
前記第1の選択ボックスと前記第2の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能であり、
前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定する、PLC命令語コンパイルの最適化方法。」

(2)引用文献に記載されている技術的事項及び引用発明の認定

(2-1)引用文献1

ア 本願の優先日前に頒布(又は電気通信回線を通じて公衆に利用可能となった文献である)され,原審の拒絶の査定の理由である平成29年11月8日付けの拒絶理由通知において引用された刊行物である,特開2009-223590号公報(平成21年10月1日出願公開。以下,「引用文献1」という。)には,図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

A 「【0001】
この発明は、プログラム開発支援装置の動作仕様管理方法に係り、特に、プログラマブル・コントローラ(以下、PLCと言う)のプログラム開発支援装置における動作仕様(例えば、コンパイラ又は逆コンパイラのオブジェクト生成方式)を処理対象となるソースプログラム又はオブジェクトコードに合わせて常に最適化できるようにしたプログラム開発支援装置の動作仕様管理方法に関する。」

B 「【0027】
ここで、「識別情報」としては、コンパイラのバージョン情報、オブジェクト生成方式を示す情報(例えば、速度最適で生成するか、容量最適で生成するか等々の情報)を挙げることができる。」

C 「【0054】
本発明に係るプログラム開発支援装置1の機能構成図が図2に示されている。同図に示されるように、プログラム開発支援装置1は、所定のプログラム言語(例えば、ラダー図等)を使用してソースプログラムを作成又は編集するためのプログラム編集部11と、こうして作成又は編集されたソースプログラム或いはオブジェクトコードを逆コンパイラにかけて変換して得られたソースプログラムを格納するためのプログラム格納領域12と、任意のソースプログラムを予め設定されたオブジェクト生成方式の下にオブジェクトコードに変換するためのコンパイラ13と、任意のオブジェクトコードを予め設定された動作方式の下にソースプログラムに変換復元する逆コンパイラ14と、コンパイラ又は逆コンパイラの動作方式を決定するためのオブジェクト生成情報を作成又は編集するためのオブジェクト生成情報編集部15と、こうして作成又は編集されたオブジェクト生成情報を格納するためのオブジェクト生成情報格納領域16と、任意のオブジェクトコード同士を照合して両者の一致を判定する照合機能17と、ソースプログラムをコンパイラにかけて変換して得られたオブジェクトコード或いはPLCから読み出されたオブジェクトコードを格納するためのオブジェクトコード格納領域18と、PLCとの間におけるデータ転送を司る通信部19とを具備して構成される。」

D 「【0058】
図示例にあっては、コンパイラ(図2の符号13参照)は複数種のオブジェクト生成方式(例えば、実行速度の速いオブジェクトコードを生成するオブジェクト生成方式、容量ができるだけ小さくなるようなオブジェクトコードを生成するオブジェクト生成方式等々)をサポートするように構成されており、どのオブジェクト生成方式でコンパイラがコンパイル動作を行うかの選択は、予め設定されるオブジェクト生成情報303aの内容により決定される。オブジェクト生成情報303aの種別は、識別情報303により識別可能とされている。
【0059】
上述の「プログラム書き込み動作」を実現するためのプログラム開発支援装置の処理(アプリケーションプログラム)を示すフローチャートが図5に示されている。
【0060】
同図において、ステップ501においては、ユーザが「プログラム書き込み」開始の指示を出す。この指示を出すための操作は、パソコンに備え付けられたGUI機能を使用することで、マウスやキーボードを操作により行なうことができる。続くステップ502では、格納されているオブジェクト生成情報303aに従ってコンパイラ(図2の符号13参照)を作動させることにより、ソースプログラム301からオブジェクトコード302を生成する。続くステップ503においては、コンパイラ(図2の符号13参照)により生成されたオブジェクトコード302とオブジェクト生成情報303aを識別するための識別情報303とをPLC2に送出する。」

イ ここで,上記引用文献1に記載されている事項を検討する。

(ア)上記Aの「この発明は、プログラム開発支援装置の動作仕様管理方法に係り、特に、プログラマブル・コントローラ(以下、PLCと言う)のプログラム開発支援装置における動作仕様(例えば、コンパイラ又は逆コンパイラのオブジェクト生成方式)を処理対象となるソースプログラム又はオブジェクトコードに合わせて常に最適化できるようにしたプログラム開発支援装置の動作仕様管理方法に関する」との記載からすると,引用文献1には,“PLCのコンパイラをソースプログラムに合わせて最適化できるようにした方法”が記載されているものと認められる。

(イ)上記Bの「「識別情報」としては、コンパイラのバージョン情報、オブジェクト生成方式を示す情報(例えば、速度最適で生成するか、容量最適で生成するか等々の情報)を挙げることができる」との記載,上記Cの「コンパイラ又は逆コンパイラの動作方式を決定するためのオブジェクト生成情報を作成又は編集するためのオブジェクト生成情報編集部15と、こうして作成又は編集されたオブジェクト生成情報を格納するためのオブジェクト生成情報格納領域16」との記載,上記Dの「格納されているオブジェクト生成情報303aに従ってコンパイラ(図2の符号13参照)を作動させることにより、ソースプログラム301からオブジェクトコード302を生成する」との記載からすると,引用文献1には,“ソースプログラムからオブジェクトコードを生成するコンパイラの動作方式を決定するためのオブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)を作成して格納するステップ”が記載されているものと認められる。

(ウ)上記Bの「「識別情報」としては、コンパイラのバージョン情報、オブジェクト生成方式を示す情報(例えば、速度最適で生成するか、容量最適で生成するか等々の情報)を挙げることができる」との記載,上記Dの「コンパイラ(図2の符号13参照)は複数種のオブジェクト生成方式(例えば、実行速度の速いオブジェクトコードを生成するオブジェクト生成方式、容量ができるだけ小さくなるようなオブジェクトコードを生成するオブジェクト生成方式等々)をサポートするように構成されており、どのオブジェクト生成方式でコンパイラがコンパイル動作を行うかの選択は、予め設定されるオブジェクト生成情報303aの内容により決定される」との記載,同じく上記Dの「続くステップ502では、格納されているオブジェクト生成情報303aに従ってコンパイラ(図2の符号13参照)を作動させることにより、ソースプログラム301からオブジェクトコード302を生成する」との記載からすると,引用文献1には,“格納されているオブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)に従ってコンパイラを作動させることにより,ソースプログラムからオブジェクトコードを生成するステップ”が記載されているものと認められる。

ウ 以上,(ア)ないし(ウ)で指摘した事項を踏まえると,引用文献1には,次の発明(以下,「引用発明」という。)が記載されているものと認められる。

PLCのコンパイラをソースプログラムに合わせて最適化できるようにした方法において,
ソースプログラムからオブジェクトコードを生成するコンパイラの動作方式を決定するためのオブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)を作成して格納するステップと,
格納されている前記オブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)に従ってコンパイラを作動させることにより,ソースプログラムからオブジェクトコードを生成するステップとを含む,
方法。

(2-2)引用文献2

本願の優先日前に頒布(又は電気通信回線を通じて公衆に利用可能となった文献である)され,原審の拒絶の査定の理由である平成29年11月8日付けの拒絶理由通知において引用された文献である,「矢沢久雄,Visual Basicの向こうに見えるWindows:第12回(最終回)VBプログラムはなぜ遅いのか?,日経ソフトウェア,日本,日経BP社,1999年 5月24日,第2巻,第6号(通巻12号),p.129」(以下,「引用文献2」という。)には,図面(特に図4)とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

E 「ネイティブ・コードは3種類ある
コンパイルにより生成されるコードには,大きく 「Pコード」と「ネイティブ・コード」の2種類があります。Pコードは,実行時にVBのインタプリタによって解釈されて実行される中間コードです。図4からわかるように,VBがコンパイルして生成するPコードは1種類だけです。
ところが,ネイティブ・コードには三つの選択肢があります。「コードの実行速度を最適化」「コードのサイズを最適化」そして「最適化なし」です。ソースコードが同じでも,これらのうちどれを指定するかによって,コンパイラが生成するネイティブ・コードは若干異なります。
「最適化なし」は,ソースコードに記述されたとおりのネイティブ・コードを生成するものです。旧式のコンパイラはこれしかできませんでした。
「コードの実行速度を最適化」を選ぶと,変数の値をCPUのレジスタ^(*13)にキャッシュするコードが追加されます。これによって生成されるEXEファイルのサイズは若干大きくなりますが,プログラムの実行速度は速くなります。
もう一つの「コードのサイズを最適化」を選ぶと,キャッシュは行わず,またソースコード上でムダと思われる部分のネイティブ・コードを生成しません。こうすることで,生成されるEXEファイルのサイズを小さくします。」(129頁右欄8行目?31行目)

F 129頁の図4には,「ネイティブ・コード・コンパイルを設定する画面」が記載されているが,当該画面において,「コードの実行速度を最適化」,「コードのサイズを最適化」,「最適化なし」等の選択ボックスが提供され,いずれか1つの選択ボックスが選択される態様が見て取れる。


(2-3)引用文献3

本願の優先日前に頒布(又は電気通信回線を通じて公衆に利用可能となった文献である)され,原審の拒絶の査定の理由である平成29年11月8日付けの拒絶理由通知において引用された刊行物である,特開2003-131889号公報(平成15年5月9日出願公開。以下,「引用文献3」という。)には,図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

G 「【0011】図2は、本発明によるコンパイル処理の流れを示したフローチャートである。コンパイラの処理は、まずステップ201で、キーボード103から入力されたコンパイルオプションに従ってソースプログラムに含まれる各関数をコンパイルし、関数ごとにオブジェクトコードを作成する。ステップ201は従来技術に属するのでここでは詳しく説明しない。このときコンパイルオプションの中に、実行速度優先でコンパイルするかコードサイズ優先でコンパイルするかの指示が含まれている場合、それに従ってコンパイルする。次にステップ202で、生成された各関数のサイズを、関数情報表110に設定する。
…(中略)…
【0015】再び図2の説明に戻り、ステップ205で、全体プログラムサイズを求める。これは関数情報表301中のコードサイズ302のフィールドを関数ごとに合計することで得られる。次にステップ206で、ステップ205で計算したプログラムサイズ合計値と、ステップ203でユーザから与えられたプログラムサイズ上限値とを比較する。比較の結果、プログラムサイズ合計値が上限値以下か調べ、そうでなければステップ207へ進む。ステップ207では、関数情報表110を走査し、実行速度優先でコンパイルされていて、かつ実行頻度が最小な関数を取り出す。次にステップ208で取り出した関数をサイズ優先でコンパイルするとともに、その情報を関数情報表に設定する。そしてステップ205に戻る。ステップ205でプログラムサイズ合計値が上限値以下であれば、ステップ209に進み、各関数数のオブジェクトコードをオブジェクトファイル107に出力して終了する。」

(3)本件補正発明と引用発明との対比

ア 本件補正発明と引用発明とを対比する。

(ア)引用発明の「ソースプログラム」,「コンパイラの動作方式」は,それぞれ,本件補正発明の「プログラム」,「コンパイル処理方式」に対応付けられるものであるところ,引用発明は,オブジェクト生成情報編集部において,複数のコンパイラの動作方式(速度最適で生成するか,容量最適で生成するか)のうちどれを採用するか判断して選択するものであるといえ,また,PLCで実行されるべきソースプログラムをコンパイルする際に,ソースプログラム内に含まれる命令語がコンパイルされることは自明な事項であるから,引用発明の「ソースプログラムからオブジェクトコードを生成するコンパイラの動作方式を決定するためのオブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)を作成して格納するステップ」は,本件補正発明の「PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップ」に相当するといえる。

(イ)(ア)で検討した内容を踏まえると,引用発明の「格納されている前記オブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)」は,複数のコンパイラの動作方式(速度最適で生成するか,容量最適で生成するか)から選択されたコンパイラの動作方式により,コンパイルを行うものであることから,引用発明の「格納されている前記オブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)に従ってコンパイラを作動させることにより,ソースプログラムからオブジェクトコードを生成するステップ」は,本件補正発明の「選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップ」に相当するといえる。

(ウ)(ア)で検討したとおり,PLCのコンパイラは,ソースプログラム内に含まれる命令語をコンパイルするものであるから,引用発明の「PLCのコンパイラをソースプログラムに合わせて最適化できるようにした方法」は,「PLC命令語コンパイルの最適化方法」である点で,本件補正発明と一致するといえる。

イ 以上から,本件補正発明と引用発明とは,以下の点で一致し,また,以下の点で相違する。

(一致点)

PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと,
選択された前記コンパイル処理方式により,速度またはサイズに最適化された命令語コンパイルを行うステップと,を含む,PLC命令語コンパイルの最適化方法。

(相違点1)

本件補正発明の「コンパイル処理方式を判断するステップ」が,「前記速度に相応する第1の選択ボックス、及び前記サイズに相応する第2の選択ボックスを提供するステップと、」「前記第1の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第2の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第1の選択ボックス及び前記第2の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、」「前記第1の選択ボックスと前記第2の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能」であるのに対し,引用発明の「コンパイラの動作方式を決定するためのオブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)を作成して格納するステップ」が,どのように作成されるのか明記されていない点。

(相違点2)

本件補正発明が,「プログラムサイズ及び前記PLC内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」を含み,当該ステップは「正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定」するものであるのに対し,引用発明は,そのようなステップを備えていない点。

(4)当審の判断

上記相違点1及び相違点2について検討する。

ア 相違点1について

引用文献2の上記E及び上記Fには,ネイティブ・コード・コンパイルを設定する画面において,「コードの実行速度を最適化」,「コードのサイズを最適化」及び「最適化なし」という三つの選択肢の中から所望の選択肢をチェックして選択する技術思想が記載されている。そして,前記「コードの実行速度を最適化」に対応するラジオボタン(本件補正発明の「第1の選択ボックス」に対応)がチェックされた場合には,コードの実行速度を最適化するコンパイル処理が選択され,また,前記「コードのサイズを最適化」に対応するラジオボタン(本件補正発明の「第2の選択ボックス」に対応)がチェックされた場合には,コードのサイズを最適化するコンパイル処理が選択され,そして,前記「最適化なし」に対応するラジオボタンがチェックされた場合には,この操作によって,前記「コードの実行速度を最適化」に対応するラジオボタン及び前記「コードのサイズを最適化」に対応するラジオボタンはいずれも前記チェックが解除された表示状態に変化させられるものと解される。

そして,どの選択肢をデフォルトとするかは,当業者の必要に応じて適宜決定しうる設計的事項にすぎないところ,前記「コードの実行速度を最適化」に対応するラジオボタン及び前記「コードのサイズを最適化」に対応するラジオボタンの両者が解除されるような上述の操作に係る選択を「デフォルト」にした構成を採用することも,当業者にとって必要に応じて適宜決定しうる設計変更程度の事項にすぎないといえる。

引用発明と引用文献2記載の技術は,いずれもコンパイル時にどのような最適化を実施させるかを設定可能である点で,技術分野の関連性,及び,作用,機能の共通性を有しているといえるから,引用発明の「コンパイラの動作方式を決定するためのオブジェクト生成情報(速度最適で生成するか,容量最適で生成するか)を作成して格納するステップ」において,上述した技術思想を適用することによって,開発支援装置のオブジェクト生成情報編集部でコンパイラの動作方式を選択する際に,少なくとも第1の選択ボックス及び第2の選択ボックスを提供し,それらの選択ボックスのチェック又は解除によって,速度やサイズやデフォルトから最適化方法を選択できるように構成することは,当業者の通常の創作能力の発揮によって容易になし得たことである。

よって,相違点1は格別なものではない。

イ 相違点2について

引用文献3の上記Gには,実行速度優先かコードサイズ優先でプログラムをコンパイル可能なコンパイル処理において,実行速度優先でコンパイルされたプログラムのサイズが上限値を超過している場合は,コードサイズ優先でコンパイルを行わせるように制御する技術思想が記載されている。そして,プログラムサイズの前記上限値(本件補正発明の「基準サイズ」に対応)を,「PLC内の残余データ」と変更することも,当業者にとって必要に応じて適宜なし得る設計変更程度の事項にすぎないものである。

引用発明と引用文献3記載の技術は,いずれもコンパイル時にどのような最適化を実施させるかを設定可能である点で,技術分野の関連性,及び,作用,機能の共通性を有しているといえるから,引用発明においても,引用文献3に記載されている技術思想を適用し,相違点2に記載されたステップを含むように構成することは,当業者の通常の創作能力の発揮によって容易になし得たことである。

よって,相違点2は格別なものではない。

(5)小括

上記で検討したごとく,相違点1及び相違点2は,いずれも格別のものではなく,そして,これらの相違点を総合的に勘案しても,本件補正発明の奏する作用効果は,上記引用発明及び周知技術の奏する作用効果から予測される範囲内のものにすぎず,格別顕著なものということはできない。

したがって,本件補正発明は,上記引用発明,引用文献2及び引用文献3に記載の技術思想に基づいて,当業者が容易に発明をすることができたものであり,特許法第29条第2項の規定により,特許出願の際独立して特許を受けることができない。

4 むすび

以上のとおり,本件補正は,上記「2 補正の適否(特許法第17条の2第3項に規定する要件についての検討) 」で指摘したとおり,当初明細書等に記載した範囲内でしたものではないから,特許法第17条の2第3項の規定に違反するので,同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。
また,仮に,本件補正が,当初明細書等に記載した範囲内においてなされたものであると仮定した場合であっても,上記「3 独立特許要件」で指摘したとおり,補正後の請求項1に記載された発明は,特許出願の際独立して特許を受けることができるものではないから,特許法第17条の2第6項において準用する同法第126条第7項の規定に違反するので,同法第159条第1項の規定において読み替えて準用する同法第53条第1項の規定により却下すべきものである。

よって,補正却下の決定の結論のとおり決定する。


第3 本件審判請求の成否について

1 本願発明の認定

平成30年11月12日付けの手続補正は上記のとおり却下されたので,本願の請求項1に係る発明(以下,「本願発明」という。)は,平成30年2月20日付け手続補正書の特許請求の範囲の請求項1に記載された事項により特定される,以下のとおりのものである。

「PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、を含み、
前記一つのコンパイル処理方式を判断するステップは、
前記速度に相応する第1の選択ボックス、及び前記サイズに相応する第2の選択ボックスを提供するステップと、
前記第1の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第2の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第1の選択ボックス及び前記第2の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
前記第1の選択ボックスと前記第2の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能である、PLC命令語コンパイルの最適化方法。」

2 原査定の拒絶の理由

原査定の拒絶の理由は,この出願の請求項1に係る発明は,本願の優先権主張の日前に頒布された又は電気通信回線を通じて公衆に利用可能となった下記の引用文献Aに記載された発明及び引用文献Bに記載された事項に基づいて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許を受けることができない,というものである。

引用文献A:特開2009-223590号公報
引用文献B:矢沢久雄,Visual Basicの向こうに見えるWi
ndows:第12回(最終回)VBプログラムはなぜ遅い
のか?,日経ソフトウェア,日本,日経BP社,1999年
5月24日,第2巻,第6号(通巻12号),p.129

3 引用文献に記載されている技術的事項及び引用発明の認定

原査定の拒絶の理由に引用された,引用文献およびその記載事項は,前記「第2 平成30年11月12日付けの手続補正についての補正却下の決定」の「3 独立特許要件」の「(2)引用文献に記載されている技術的事項及び引用発明の認定」に記載したとおりである。

4 対比・判断

本願発明は,前記「第2 平成30年11月12日付けの手続補正についての補正却下の決定」の「3 独立特許要件」で検討した本件補正発明から,
「プログラムサイズ及び前記PLC内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」,及び
「り、
前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定す」
を削除したものである。

そうすると,本願発明の発明特定事項を全て含む本件補正発明が,上記「第2 平成30年11月12日付けの手続補正についての補正却下の決定」の「3 独立特許要件」の「(3)本件補正発明と引用発明との対比」及び「(4)当審の判断」に記載したとおり,引用発明,引用文献2及び引用文献3記載の技術思想に基づいて当業者が容易に発明をすることができたものであるから,本願発明も同様の理由により,引用発明(原査定の引用文献Aに記載された発明)及び引用文献2(原査定の引用文献B)に記載の技術思想に基づいて,当業者が容易に発明をすることができたものである。


第4 むすび

以上のとおり,本願の請求項1に係る発明は,特許法第29条第2項の規定により特許を受けることができないものであるから,その余の請求項に係る発明について検討するまでもなく,本願は拒絶すべきものである。

よって,結論のとおり審決する。
 
別掲
 
審理終結日 2019-08-27 
結審通知日 2019-08-30 
審決日 2019-09-10 
出願番号 特願2016-206507(P2016-206507)
審決分類 P 1 8・ 121- Z (G06F)
P 1 8・ 575- Z (G06F)
P 1 8・ 561- Z (G06F)
最終処分 不成立  
前審関与審査官 坂庭 剛史  
特許庁審判長 辻本 泰隆
特許庁審判官 田中 秀人
松平 英
発明の名称 PLC命令語コンパイルの最適化方法  
代理人 朝倉 悟  
代理人 中村 行孝  
代理人 佐藤 泰和  
代理人 関根 毅  
代理人 永井 浩之  

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