【事件の表示】
　特願２００６−　２１０８６「情報処理装置及び情報処理方法」拒絶査定不服審判事件〔平成１９年　８月　９日出願公開、特開２００７−２００２４０〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯
　
　本件審判請求に係る出願（以下、「本願」という。）は、平成１８年１月３０日の出願であって、平成２０年９月２日付けで審査請求がなされ、平成２３年５月３１日付けで拒絶理由通知（同年６月７日発送）がなされ、同年８月８日付けで意見書が提出されるとともに、同日付けで手続補正がなされたが、平成２４年３月１５日付けで拒絶査定（同年３月２１日謄本送達）がなされたものである。
　これに対して、「原査定を取り消す。本願は特許をすべきものである、との審決を求める。」ことを請求の趣旨として、平成２４年６月２１日付けで審判請求がなされたものである。
　
２．本願発明
　
　本願の特許請求の範囲の請求項１に係る発明（以下、「本願発明」という。）は、上記平成２３年８月８日付け手続補正書により補正された明細書及び図面の記載からみて、その特許請求の範囲の請求項１に記載された以下のとおりのものと認める。
　
「ソースプログラムコードの実行条件と繰り返し実行回数に基づいて、前記ソースプログラム中に含まれるシンボルの実行頻度を求めるシンボル解析手段と、
　前記ソースプログラムコードの実行条件と繰り返し実行回数に基づく実行頻度が高いと予測される各シンボルを分散してメモリへ配置するシンボル配置手段と、
を備えたことを特徴とする情報処理装置。」
　
３．引用文献に記載されている技術的事項及び引用発明の認定
　
（１）引用文献１
　
　原審の拒絶の査定の理由である上記平成２３年５月３１日付けの拒絶理由通知において引用され、本願の出願前に頒布された刊行物である、特開２００２−９９４２２号公報（平成１４年４月５日出願公開。以下、「引用文献１」という。）には、図面とともに、以下の技術的事項が記載されている。
（当審注：下線は、参考のために当審で付与したものである。）
　
Ａ　「【００８２】〔第２実施形態〕
本発明の
コンパイル装置
は
オブジェクトプログラムを実行したときにそれぞれの変数への予測アクセス頻度が高い変数を、その特定のメモリ領域に自動的に配置することにより、処理速度の高速化を図らんとしたもの
　
Ｂ　「【００８３】図９は本発明の第２の実施形態に係るコンパイル装置（コンパイラ）を表すブロック図である。図９に示されるように
本実施形態に係るコンパイル装置は
予測アクセス頻度算出部９０４および優先順位決定部９０６
変数配置決定部９１０
から構成される
・・・（中略）・・・
【００８５】
予測アクセス頻度算出部９０４は
アセンブラプログラムを解析することによって、オブジェクトプログラムが実行されたときのそれぞれの変数へのアクセスの頻度の予測を表す予測アクセス頻度を算出する
【００８６】
優先順位決定部９０６は
算出された予測アクセス頻度に基づき、特定のメモリー領域に配置する変数の優先順位を決定し、特定のメモリー領域に配置する変数の優先順位を表した変数情報テーブルを生成する
・・・（中略）・・・
【００８８】
変数配置決定部９１０は、変数情報テーブルに基づき特定のメモリー領域内に配置する変数を決定する
　
Ｃ　「【０１１１】
具体的には、予測アクセス頻度係数は、抽出された変数に対して、以下の条件で重み付けを行なうことにより算出される
【０１１２】まず、予測アクセス頻度係数の初期値を１とする。そして、アセンブラプログラム中メモリーアクセス（ダイレクトアドレッシング機械命令）のある箇所（以下「変数アクセス箇所」という）が
ｗｈｉｌｅ文等の繰り返し実行される箇所であるか、あるいはｉｆ文、ｃａｓｅ文等の条件分岐の結果として実行される箇所であるかに応じて予測アクセス頻度係数を変化させる
　
Ｄ　「【０１１４】（Ｂ）
変数アクセス箇所が、ｉｆ文のみ、または、ｉｆ文とｅｌｓｅ文で構成される選択文のブロック内に存在する場合、予測アクセス頻度係数を２で割る
・・・（中略）・・・
【０１１６】（Ａ）〜（Ｃ）より分かるように、
変数アクセス箇所が条件分岐の結果として実行されるときはそれぞれの分岐が等しい確立で生じると仮定して、予測アクセス頻度係数を分岐の数で割っている
・・・（中略）・・・
【０１１９】（Ｄ）、（Ｅ）から分かるように、変数アクセス箇所が、ｗｈｉｌｅ文等のブロック内に位置して、
繰り返し実行される場合には、１回のみ実行される場合に比して予測アクセス頻度係数が２倍になる
　
Ｅ　「【０１２０】
変数アクセス箇所が、複数のブロックがネストしている箇所である場合には、変数アクセス箇所に関係するすべてのブロックについて計算する
例えば、繰り返し文の中に、さらに繰り返し文が存在する場合、予測アクセス頻度係数は、２倍×２倍の４倍になる
　
　ここで、上記引用文献１に記載されている事項を検討する。
　
（ア）上記Ｂの「本実施形態に係るコンパイル装置は・・・予測アクセス頻度算出部９０４・・・から構成される」、「予測アクセス頻度算出部９０４は・・・アセンブラプログラムを解析することによって、オブジェクトプログラムが実行されたときのそれぞれの変数へのアクセスの頻度の予測を表す予測アクセス頻度を算出する」との記載、上記Ｃの「具体的には、予測アクセス頻度係数は、抽出された変数に対して、以下の条件で重み付けを行なうことにより算出される・・・ｗｈｉｌｅ文等の繰り返し実行される箇所であるか、あるいはｉｆ文、ｃａｓｅ文等の条件分岐の結果として実行される箇所であるかに応じて予測アクセス頻度係数を変化させる」との記載からすると、引用文献１には、「コンパイル装置」が、
“アセンブラプログラムを解析することによって、繰り返し実行される箇所であるか、あるいは条件分岐の結果として実行される箇所であるかに応じて、当該プログラムが実行されたときのそれぞれの変数へのアクセスの頻度の予測を表す予測アクセス頻度を算出する予測アクセス頻度算出部”
を備える態様が記載されている。
　
（イ）上記Ｄの「変数アクセス箇所が、ｉｆ文のみ、または、ｉｆ文とｅｌｓｅ文で構成される選択文のブロック内に存在する場合、予測アクセス頻度係数を２で割る・・・変数アクセス箇所が条件分岐の結果として実行されるときはそれぞれの分岐が等しい確立で生じると仮定して、予測アクセス頻度係数を分岐の数で割っている」、「繰り返し実行される場合には、１回のみ実行される場合に比して予測アクセス頻度係数が２倍になる」との記載、上記Ｅの「変数アクセス箇所が、複数のブロックがネストしている箇所である場合には、変数アクセス箇所に関係するすべてのブロックについて計算する・・・例えば、繰り返し文の中に、さらに繰り返し文が存在する場合、予測アクセス頻度係数は、２倍×２倍の４倍になる」との記載からすると、上記（ア）で検討した“繰り返し実行される箇所”及び“条件分岐の結果として実行される箇所”に関して、当該箇所の回数に応じて予測アクセス頻度を算出している態様が読み取れる。
　してみると、上記（ア）で検討した「予測アクセス頻度算出部」は、
“アセンブラプログラムの繰り返し実行される回数と条件分岐の回数に応じて、当該プログラムが実行されたときのそれぞれの変数へのアクセスの頻度の予測を表す予測アクセス頻度を算出する予測アクセス頻度算出部”
であると解される。
　
（ウ）上記Ａの「本発明の・・・コンパイル装置・・・は・・・オブジェクトプログラムを実行したときにそれぞれの変数への予測アクセス頻度が高い変数を、その特定のメモリ領域に自動的に配置することにより、処理速度の高速化を図らんとしたもの」との記載、上記Ｂの「本実施形態に係るコンパイル装置は・・・優先順位決定部９０６・・・変数配置決定部９１０・・・から構成される」、「優先順位決定部９０６は・・・算出された予測アクセス頻度に基づき、特定のメモリー領域に配置する変数の優先順位を決定し、特定のメモリー領域に配置する変数の優先順位を表した変数情報テーブルを生成する」、「変数配置決定部９１０は、変数情報テーブルに基づき特定のメモリー領域内に配置する変数を決定する。」との記載からすると、引用文献１には、「コンパイル装置」が、
“予測アクセス頻度に基づき、プログラムを実行したときにそれぞれの変数への予測アクセス頻度が高い変数を、特定のメモリ領域に優先的に配置する変数配置決定部”
を備える態様が記載されている。
　
　以上、（ア）ないし（ウ）で指摘した事項から、引用文献１には、次の発明（以下、「引用発明」という。）が記載されているものと認める。
　
「アセンブラプログラムの繰り返し実行される回数と条件分岐の回数に応じて、当該プログラムが実行されたときのそれぞれの変数へのアクセスの頻度の予測を表す予測アクセス頻度を算出する予測アクセス頻度算出部と、
　前記予測アクセス頻度に基づき、前記プログラムを実行したときにそれぞれの変数への予測アクセス頻度が高い変数を、特定のメモリ領域に優先的に配置する変数配置決定部と、
を備えたことを特徴とするコンパイル装置。」
　
（２）引用文献２
　
　原審の拒絶の査定の理由である上記平成２３年５月３１日付けの拒絶理由通知において引用され、本願の出願前に頒布された刊行物である、特開２０００−５６９８３号公報（平成１２年２月２５日出願公開。以下、「引用文献２」という。）には、図面とともに、以下の技術的事項が記載されている。
（当審注：下線は、参考のために当審で付与したものである。）
　
Ｆ　「【要約】
【課題】  
ロードモジュール実行した時のキャッシュミスの発生頻度を少なくし、ロードモジュール中のファンクションの配置決めを高速に行う
【解決手段】  
プログラム構造抽出手段１０１は、ロードモジュールの作成対象となるソースプログラムを読み込み、ソースプログラム中のファンクションをフロー解析
　
Ｇ　「【００２０】すなわち、
キャッシュメモリのマッピング方法としてダイレクト方式またはセットアソシエイティブ方式を採用している計算機では、メインメモリのブロック単位でキャッシュメモリのどのブロックが割り当てられるか決まる
このため、作成されるロードモジュールにおいて実行頻度の高い部分同士が命令キャッシュメモリの同一のブロックを取り合わないようにすることで、キャッシュミスの頻度の小さくすることが可能となる
　
４．本願発明と引用発明との対比
　
　本願発明と引用発明とを対比する。
　
（１）引用発明の「繰り返し実行される回数と条件分岐の回数」及び「変数」は、それぞれ、本願発明の「実行条件と繰り返し実行回数」及び「シンボル」に対応する。そして、引用発明の「アセンブラプログラムの繰り返し実行される回数と条件分岐の回数に応じ」て「アクセス頻度を算出する」こととは、アセンブラプログラムコードの実行条件と繰り返し実行回数に基づいて、アクセス頻度を求めることに他ならない。また、本願発明の「シンボルの実行」とは、メモリに配置されたシンボルにアクセスすることに他ならない。
　してみると、本願発明と引用発明とは、“プログラムコードの実行条件と繰り返し実行回数に基づいて、前記プログラム中に含まれるシンボルのアクセス頻度を求める手段”を備える点で共通するといえる。
　
（２）引用発明の「予測アクセス頻度が高い変数を、特定のメモリ領域に優先的に配置する」とは、アクセス頻度が高いと予測される変数を、メモリ領域内に効率的に配置することに他ならない。そして、本願発明の「実行頻度が高いと予測される各シンボルを分散してメモリへ配置する」とは、実行頻度が高いと予測されるシンボルを、メモリ領域内に効率的に配置することに他ならない。
　してみると、本願発明と引用発明とは、“プログラムコードの実行条件と繰り返し実行回数に基づくアクセス頻度が高いと予測されるシンボルを、メモリ領域内に効率的に配置する手段”である点で共通するといえる。
　
（３）引用発明の「コンパイル装置」は、プログラムを解析して、当該プログラム中に含まれる変数を、アクセス頻度に応じてメモリ内に配置するものであることから、本願発明の「情報処理装置」に対応している。
　
　以上から、本願発明と引用発明とは、以下の点で一致し、また、以下の点で相違する。
　
（一致点）
　
　プログラムコードの実行条件と繰り返し実行回数に基づいて、前記プログラム中に含まれるシンボルのアクセス頻度を求める手段と、
　前記プログラムコードの実行条件と繰り返し実行回数に基づくアクセス頻度が高いと予測されるシンボルを、メモリ領域内に効率的に配置する手段と、
を備えたことを特徴とする情報処理装置。
　
（相違点１）
　
　解析対象プログラムに関して、本願発明が「ソースプログラム」であるのに対して、引用発明は「アセンブラプログラム」である点。
　
（相違点２）
　
　メモリ領域内に効率的に配置する手段に関して、本願発明が、「分散してメモリへ配置する」ものであるのに対して、引用発明は、特定のメモリ領域内に分散して配置するものであるか不明である点。
　
５．当審の判断
　
　上記相違点１及び相違点２について検討する。
　
（１）相違点１について
　
　ロードモジュールを実行した時のキャッシュミスの発生頻度を少なくするために、ロードモジュールの作成対象となるソースプログラムを解析することは、上記引用文献２の上記Ｆにも記載されるように、当該技術分野における公知の技術思想（以下、「公知技術１」という。）に他ならず、本願特有の技術思想ではない。
　してみると、引用発明のプログラムの解析に際しても、当該公知技術１のように、アセンブラプログラムを解析対象とする構成に替えて、ソースプログラム自体を解析対象とするように構成すること、すなわち、上記相違点１に係る構成とすることは、当業者が容易に想到し得たことである。
　
　よって、相違点１は、格別なものではない。
　
（２）相違点２について
　
　キャッシュメモリのマッピング方法としてダイレクト方式またはセットアソシエイティブ方式を採用している計算機において、実行頻度の高い部分同士が命令キャッシュメモリの同一のブロックを取り合わないようにすることで、キャッシュミスの頻度を小さくする効率的なメモリ配置を可能とする技術は、上記引用文献２の上記Ｇにも記載されるように、当該技術分野における公知の技術思想（以下、「公知技術２」という。）に他ならず、本願特有の技術思想ではない。
　そして、引用文献１の上記Ａに「オブジェクトプログラムを実行したときにそれぞれの変数への予測アクセス頻度が高い変数を、その特定のメモリ領域に自動的に配置することにより、処理速度の高速化を図らんとしたもの」と記載されるように、引用発明においても、効率的なメモリ配置を行うことを目的としているものに他ならない。
　してみると、引用発明においても、効率的なメモリ配置を行うために、特定のメモリ領域内に優先度の高い変数を配置する際に、当該公知技術２を適用し、特定のメモリ領域内の同一ブロックを取り合わないように分散して配置するように構成すること、すなわち、上記相違点２に係る構成とすることは、当業者が容易に想到し得たことである。
　
　よって、相違点２は、格別なものではない。
　
（３）小括
　
　上記で検討したごとく、相違点１及び相違点２は格別のものではなく、そして、これらの相違点を総合的に勘案しても、本願発明の奏する作用効果は、上記引用発明及び引用文献２に記載されている公知技術の奏する作用効果から予測される範囲内のものにすぎず、格別顕著なものということはできない。
　
　したがって、本願発明は、上記引用発明及び引用文献２に記載されている公知技術に基づいて、当業者が容易に発明をすることができたものである。
　
６．むすび 
　
　以上のとおり、本願の請求項１に係る発明は、本願の特許出願前に日本国内又は外国において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基づいて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　
　よって、結論のとおり審決する。