【事件の表示】
　特願２０１３−５３３２１５「計算タスクを処理するためのコンピュータクラスタ構成、およびそれを動作させるための方法」拒絶査定不服審判事件〔平成２４年　４月１９日国際公開、ＷＯ２０１２／０４９２４７、平成２５年１０月２８日国内公表、特表２０１３−５３９８８１、請求項の数（１１）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
第１　手続の経緯
　本願は，２０１１年１０月１３日（パリ条約による優先権主張外国庁受理２０１０年１０月１３日，欧州特許庁）を国際出願日とする出願であって，平成２７年１１月１８日付けで拒絶理由通知がされ，平成２８年２月２４日付けで意見書が提出されるとともに手続補正がされ，平成２８年７月５日付けで拒絶理由通知がされ，平成２８年１２月１２日付けで意見書が提出され，平成２９年３月２４日付けで拒絶査定（原査定）がされ，これに対し，平成２９年８月４日に拒絶査定不服審判の請求がされると同時に手続補正がされ，平成３０年３月２０日付けで上申書が提出され，平成３０年３月３０日付けで当審より拒絶理由通知がされ，平成３０年１０月３日付けで意見書が提出されるとともに手続補正がされたものである。
第２　本願発明
　本願請求項１−１１に係る発明（以下，それぞれ「本願発明１」−「本願発明１１」という。）は，平成３０年１０月３日付けの手続補正で補正された特許請求の範囲の請求項１−１１に記載された事項により特定される発明であり，本願発明１−１１は以下のとおりの発明である。
「　【請求項１】
　計算タスクを処理するためのコンピュータクラスタであって，
　複数の計算ノード（ＣＮ）を含み，それらの各々は通信インフラストラクチャ（ＩＮ）とインターフェイス接続し，それらの少なくとも２つは，前記計算タスクの少なくとも第１の部分を共同で計算するよう構成されており，前記コンピュータクラスタはさらに，
　前記計算タスクの少なくとも第２の部分を計算するよう構成された少なくとも１つのブースタ（Ｂ）を含み，各ブースタ（Ｂ）は前記通信インフラストラクチャ（ＩＮ）とインターフェイス接続しており，前記コンピュータクラスタはさらに，
　前記計算タスクの前記第２の部分の計算のために，割当パラメータの群のうちの少なくとも１つの割当パラメータの関数として特定される割当メトリックに従い，少なくとも１つのブースタ（Ｂ）を前記複数の計算ノード（ＣＮ）のうちの少なくとも１つに割当てるよう構成されたリソースマネージャ（ＲＭ）を含み，
　前記リソースマネージャ（ＲＭ）は，
　（ｉ）前記計算タスクの実行開始時に，予め定められた割当メトリックを用いて前記割当てを行い，（ii）前記計算タスクの実行中に，(ii-1)当該割当てを初期化し，(ii-2)前記割当メトリックを変更し，(ii-3)変更後の前記割当メトリックを用いて前記割当てを行うように構成される，コンピュータクラスタ。」
　本願発明２−１１は，本願発明１を減縮した発明である。
第３　引用文献，引用発明等
１．引用文献１について
（１）原査定の拒絶の理由に引用された引用文献１（特開２００７−３２８４１５号公報）には，図面とともに次の事項が記載されている。（下線は当審で付与した。以下，同様。）
Ａ　「【００１６】
　＜実施形態の全体構成＞
　図１は，本発明の一実施形態であるマルチプロセッサシステムの構成を示す。図１において，
ヘテロジニアス・マルチプロセッサシステム１は，命令セット及び構成の異なるプロセッサエレメント（以下，ＰＥとする）１０〜１７と，これらＰＥ１０〜１７で共有する集中共有メモリ（以下，ＣＳＭ：Centralized Shared Memory）１８及び各ＰＥ１０〜１７とＣＳＭ１８を接続する内部ネットワーク１９主体にして構成されたヘテロジニアス・マルチプロセッサシステムである
【００１７】
　
各ＰＥ１０〜１７，ＣＳＭ１８は，それぞれのインタフェース（図示省略）を介して，内部ネットワーク１９に接続され
【００１８】
　本実施形態では
ＰＥの種類と個数を，４個の汎用処理プロセッサ（以下，ＣＰＵ）１０，１１，１２，１３と，２個の動的再構成可能プロセッサ（以下，ＤＲＰ：Dynamically Reconfigurable Processor）１４，１５と，２個の信号処理プロセッサ（以下，ＤＳＰ：Digital Signal Processor）１６，１７で構成し
【００１９】
　また，本実施形態では，
ＤＲＰ（０，１）１４，１５と，ＤＳＰ（０，１）１６，１７を特定用途プロセッサエレメント（特定用途ＰＥ）とし，ＣＰＵ（０，１，２，３）１０，１１，１２，１３を汎用プロセッサエレメント（汎用ＰＥ）とする
【００２０】
　本実施形態では，特定用途ＰＥのＤＲＰ１４，１５とＤＳＰ１６，１７は汎用ＰＥのＣＰＵ１０〜１３とは異なる命令セットを使用する。
特定用途ＰＥは予め設定されたタスク（処理の単位ブロック）の処理のみを実行可能に構成され，アクセラレータとして機能する。一方，汎用ＰＥのＣＰＵ１０〜１３は，各特定用途ＰＥへの指令や汎用的な演算処理に加え，ＤＲＰ１４，１５やＤＳＰ１６，１７の特定用途ＰＥの処理を実行することが可能である
Ｂ　「【００３２】
　＜マルチグレイン並列処理の概念＞
　次に，上記図１のヘテロジニアス・マルチプロセッサシステム１で実行するタスクの並列処理について説明する。
各ＰＥで実行するタスク（プログラム）は，
コンパイラによって入力プログラムを解析したマクロタスクグラフから生成され
入力プログラムは，まず
コンパイラにより，当該プログラムの構造を解析することで，代入文のみからなるベーシックブロック（ＢＢ），繰り返しブロック（ＲＢ），サブルーチン（ＳＢ）といった粒度が大きなステートメント・ブロックをマクロタスク（ＭＴ）として分割する
マクロタスク内の処理がタスクとなる
Ｃ　「【００４１】
　ここで，本願発明の特徴として，
タスクを各ＰＥへ割り当てるとき，
プロセッサグループ毎にタスクを割り当て
各タスクが最も早く終了するようにスケジューリングを行う
このとき，ＤＲＰ１４，１５やＤＳＰ１６，１７の特定用途ＰＥが実行可能な特定のタスクでは，基本的に特定用途ＰＥのグループ毎にタスクを割り当て
特定用途ＰＥのリソースが不足する場合では，特定用途ＰＥに割り当てるタスクを汎用ＰＥグループに割り当てて，ヘテロジニアス・マルチプロセッサシステム全体の処理速度が速くなるようにスケジューリングを行う
このスケジューリングについては
コンパイラで設定するスタティックスケジューリングで行う場合と，タスク間に埋め込まれたダイナミックスケジューリングで行う場合の２通りがある
Ｄ　「【００４４】
　汎用プロセッサグループＰＧは，プログラム（マクロタスクＭＴ）の並列性や階層構造に応じて，ＣＰＵを仮想的にグルーピングしたものである。例えば，図３において，プログラム全体としては汎用プロセッサを４つ利用できる（図中４ＰＥｓ）。第１階層は，例えば，図２に示したマクロタスクグラフの最上位であるマクロタスクグラフＭＴＧ１に相当する。このＭＴＧ１内部の並列性等を考慮して，ここでは
４つのＣＰＵのうち２つを１つのグループにしたものが汎用プロセッサグループＰＧ１＿０として，残り２つを１つのグループにしたものが汎用プロセッサグループＰＧ１＿１として表現され
【００４５】
　ここでは，
汎用プロセッサグループＰＧ１＿０には，
マクロタスクＭＴ１＿１およびマクロタスクＭＴ１＿２（マクロタスクグラフＭＴＧ１＿２を内包）が割り当てられ，汎用プロセッサグループＰＧ１＿１にはマクロタスクＭＴ１＿３（マクロタスクグラフＭＴＧ１＿３を内包）が割り当てられたとする
【００４６】
　　図３の
第２階層では，汎用プロセッサグループＰＧ１＿０上でマクロタスクＭＴ１＿１を実行後，ＭＴ１＿２およびＭＴ１＿３を並列実行している間
マクロタスクグラフＭＴＧ１＿２内部の情報から汎用プロセッサグループＰＧ１＿０に含まれるＣＰＵのうち１つが汎用プロセッサグループＰＧ１＿２＿０として，他方のＣＰＵが汎用プロセッサグループＰＧ１＿２＿１としてグルーピングされ
マクロタスクグラフＭＴＧ１＿２内部の各マクロタスクグラフをＰＧ１＿２＿０あるいはＰＧ１＿２＿１，またはマクロタスクの種別に応じてアクセラレータグループに割り当て
マクロタスクグラフＭＴＧ１＿３内部の情報から，汎用プロセッサグループＰＧ１＿１に含まれる２つのＣＰＵは汎用プロセッサグループＰＧ１＿３＿０としてグルーピングされ，マクロタスクグラフＭＴＧ１＿３に含まれる各マクロタスクがこの汎用プロセッサグループまたはアクセラレータグループに対して割り当てられ
第２階層において，
内部にマクロタスクグラフを持つマクロタスクが割り当てられた場合，そのマクロタスクを実行している間は，その内部構造に応じて第３階層以下のグルーピングが用いられる
【００４７】
　このように汎用プロセッサグループＰＧでは，
プログラムの階層構造または並列性に応じて階層的にネストされたグルーピングが行われる。
【００４８】
　
これに対してアクセラレータグループでは，プログラムの階層構造や並列性に依存せず，特定用途ＰＥの種類または機能単位でグルーピングを行う
ＤＲＰ０，１をＤＲＰのアクセラレータグループに割り当て，ＤＳＰ０，１をＤＳＰのアクセラレータグループに割り当てる
アクセラレータグループでは，ＤＲＰ，ＤＳＰともに各特定用途ＰＥ毎にタスクを割り当てる
【００４９】
　このように，本発明のヘテロジニアス・マルチプロセッサシステム１では，ＰＥのグルーピングを汎用プロセッサグループＰＧではプログラム（タスク）の階層構造や並列性に依存して階層的にグルーピングを行う一方，アクセラレータグループではプログラムの階層構造や並列性に依存することなく，特定用途ＰＥの種類や機能単位でグルーピングを行う。
【００５０】
　
これにより，汎用プロセッサグループＰＧからアクセラレータグループへのタスクの投入は，何れの階層からも実行することが可能となり，特定用途ＰＥの利用率を向上させることができるのである。つまり，汎用プロセッサグループＰＧに特定用途ＰＥを割り当てることも可能ではあるが，汎用プロセッサグループＰＧに割り当てられるタスクには常に特定用途ＰＥで処理可能なタスクが含まれているとは限らない。
【００５１】
　
そこで，特定用途ＰＥを汎用プロセッサグループＰＧに含めずに，汎用プロセッサグループＰＧの何れの階層からもタスクを受け入れられるように，特定用途ＰＥの種類や機能単位でグルーピングを行うことで，汎用ＰＥと特定用途ＰＥの利用率を向上させて，ヘテロジニアス・マルチプロセッサシステム１全体の処理速度を向上させるのである。
Ｅ　「【００６１】
　　＜処理コスト解析＞
　次に，
コンパイラ４０は，
生成されたマクロタスクＭＴを各ＰＥ１０〜１７で実行した際に必要となる処理サイクルを見積もる，処理コスト解析を行う
処理コスト（演算コスト＝処理時間）の見積もり方法としては，
汎用プロセッサグループＰＧなどに関しては，乗算や加算など命令レベルで必要とするサイクル数をタスク処理コストテーブル４２０にプロファイリング情報として保持しておき，当該テーブル４２０を参照することで，マクロタスクＭＴを当該プロセッサグループで実行する際の逐次処理サイクル数を見積もることができ
Ｆ　「【０１４６】
　
コンパイラ４０は，
ダイナミックスケジューリングコード９０を生成する
Ｇ　「【０１６０】
　なお，
ダイナミックスケジューリングコード９０は，その階層の並列性や利用可能なプロセッサ数などから，分散スケジューリング方式あるいは集中スケジューリング方式のどちらかの形式を選択して実行され
分散スケジューリング方式が選択された階層では，その階層内の汎用プロセッサグループそれぞれの上でスケジューラが動作し，スケジューリングとタスク実行が交互に行われ
集中スケジューリング方式では，その階層の処理に参加する汎用プロセッサのうち，ある１つのがスケジューラの動作するプロセッサグループとして定義され，他の汎用プロセッサで構成された汎用プロセッサグループ，あるいは自らに対するタスク割り当てを担当する
このとき，スケジューリングを担当するプロセッサグループ以外はスケジューリング処理を行わず，タスク実行に専念する
Ｈ　「図１
」
Ｉ　「図２
」
Ｊ　「図３
」
（２）したがって，上記引用文献１には次の発明（以下，「引用発明」という。）が記載されていると認められる。
「命令セット及び構成の異なるプロセッサエレメント（以下，ＰＥとする）１０〜１７と，これらＰＥ１０〜１７で共有する集中共有メモリ（以下，ＣＳＭ）１８及び各ＰＥ１０〜１７とＣＳＭ１８を接続する内部ネットワーク１９とから構成されたヘテロジニアス・マルチプロセッサシステム１であって，
　各ＰＥ１０〜１７，ＣＳＭ１８は，それぞれのインタフェースを介して，内部ネットワーク１９に接続されており，
　ヘテロジニアス・マルチプロセッサシステム１は，４個の汎用処理プロセッサ（以下，ＣＰＵ）１０，１１，１２，１３と，２個の動的再構成可能プロセッサ（以下，ＤＲＰ）１４，１５と，２個の信号処理プロセッサ（以下，ＤＳＰ）１６，１７で構成され，
　ＤＲＰ（０，１）１４，１５と，ＤＳＰ（０，１）１６，１７を特定用途プロセッサエレメント（特定用途ＰＥ）とし，ＣＰＵ（０，１，２，３）１０，１１，１２，１３を汎用プロセッサエレメント（汎用ＰＥ）とし，
　特定用途ＰＥは予め設定されたタスク（処理の単位ブロック）の処理のみを実行可能に構成され，アクセラレータとして機能する一方，汎用ＰＥのＣＰＵ１０〜１３は，各特定用途ＰＥへの指令や汎用的な演算処理に加え，ＤＲＰ１４，１５やＤＳＰ１６，１７の特定用途ＰＥの処理を実行することが可能であり，
　各ＰＥで実行するタスク（プログラム）は，コンパイラによって入力プログラムを解析したマクロタスクグラフから生成され，
　入力プログラムは，まずコンパイラにより，当該プログラムの構造を解析することで，代入文のみからなるベーシックブロック（ＢＢ），繰り返しブロック（ＲＢ），サブルーチン（ＳＢ）といった粒度が大きなステートメント・ブロックをマクロタスク（ＭＴ）として分割し，マクロタスク内の処理がタスクとなるものであり，
　タスクを各ＰＥへ割り当てるときは，プロセッサグループ毎にタスクを割り当て，各タスクが最も早く終了するようにスケジューリングを行い，このとき，ＤＲＰ１４，１５やＤＳＰ１６，１７の特定用途ＰＥが実行可能な特定のタスクでは，基本的に特定用途ＰＥのグループ毎にタスクを割り当てるが，特定用途ＰＥのリソースが不足する場合では，特定用途ＰＥに割り当てるタスクを汎用ＰＥグループに割り当てて，ヘテロジニアス・マルチプロセッサシステム全体の処理速度が速くなるようにスケジューリングを行い，
　このスケジューリングについては，コンパイラで設定するスタティックスケジューリングで行う場合と，タスク間に埋め込まれたダイナミックスケジューリングで行う場合の２通りがあり，
　例えば，４つのＣＰＵのうち２つを１つのグループにしたものが汎用プロセッサグループＰＧ１＿０として，残り２つを１つのグループにしたものが汎用プロセッサグループＰＧ１＿１として表現され，汎用プロセッサグループＰＧ１＿０には，マクロタスクＭＴ１＿１およびマクロタスクＭＴ１＿２（マクロタスクグラフＭＴＧ１＿２を内包）が割り当てられ，汎用プロセッサグループＰＧ１＿１にはマクロタスクＭＴ１＿３（マクロタスクグラフＭＴＧ１＿３を内包）が割り当てられたとすると，
　第２階層では，汎用プロセッサグループＰＧ１＿０上でマクロタスクＭＴ１＿１を実行後，ＭＴ１＿２およびＭＴ１＿３を並列実行している間，マクロタスクグラフＭＴＧ１＿２内部の情報から汎用プロセッサグループＰＧ１＿０に含まれるＣＰＵのうち１つが汎用プロセッサグループＰＧ１＿２＿０として，他方のＣＰＵが汎用プロセッサグループＰＧ１＿２＿１としてグルーピングされ，マクロタスクグラフＭＴＧ１＿２内部の各マクロタスクグラフをＰＧ１＿２＿０あるいはＰＧ１＿２＿１，またはマクロタスクの種別に応じてアクセラレータグループに割り当て，
　また，マクロタスクグラフＭＴＧ１＿３内部の情報から，汎用プロセッサグループＰＧ１＿１に含まれる２つのＣＰＵは汎用プロセッサグループＰＧ１＿３＿０としてグルーピングされ，マクロタスクグラフＭＴＧ１＿３に含まれる各マクロタスクがこの汎用プロセッサグループまたはアクセラレータグループに対して割り当てられ，
　この第２階層において，内部にマクロタスクグラフを持つマクロタスクが割り当てられた場合，そのマクロタスクを実行している間は，その内部構造に応じて第３階層以下のグルーピングが用いられるように，プログラムの階層構造または並列性に応じて階層的にネストされたグルーピングが行われるものであり，
　これに対してアクセラレータグループでは，プログラムの階層構造や並列性に依存せず，特定用途ＰＥの種類または機能単位でグルーピングを行い，ＤＲＰ０，１をＤＲＰのアクセラレータグループに割り当て，ＤＳＰ０，１をＤＳＰのアクセラレータグループに割り当て，アクセラレータグループでは，ＤＲＰ，ＤＳＰともに各特定用途ＰＥ毎にタスクを割り当てるものであり，
　コンパイラ４０は，生成されたマクロタスクＭＴを各ＰＥ１０〜１７で実行した際に必要となる処理サイクルを見積もる，処理コスト解析を行い，
　ここで，処理コスト（演算コスト＝処理時間）の見積もり方法としては，汎用プロセッサグループＰＧなどに関しては，乗算や加算など命令レベルで必要とするサイクル数をタスク処理コストテーブル４２０にプロファイリング情報として保持しておき，当該テーブル４２０を参照することで，マクロタスクＭＴを当該プロセッサグループで実行する際の逐次処理サイクル数を見積もることができ，
　コンパイラ４０は，ダイナミックスケジューリングコード９０を生成し，
　ダイナミックスケジューリングコード９０は，その階層の並列性や利用可能なプロセッサ数などから，分散スケジューリング方式あるいは集中スケジューリング方式のどちらかの形式を選択して実行され，
　分散スケジューリング方式が選択された階層では，その階層内の汎用プロセッサグループそれぞれの上でスケジューラが動作し，スケジューリングとタスク実行が交互に行われ，
　集中スケジューリング方式では，その階層の処理に参加する汎用プロセッサのうち，ある１つがスケジューラの動作するプロセッサグループとして定義され，他の汎用プロセッサで構成された汎用プロセッサグループ，あるいは自らに対するタスク割り当てを担当し，このとき，スケジューリングを担当するプロセッサグループ以外はスケジューリング処理を行わず，タスク実行に専念する，
　システム。」
２．引用文献２について
（１）また，原査定の拒絶の理由に引用された引用文献２（特開２００６−２７７４５８号公報）には，図面とともに次の事項が記載されている。
Ｋ　「【００１４】
　図示するように，本実施形態の
リソース割当管理システムは，リソース割当管理装置１と
複数のサーバ計算機３
１
〜３
ｍ
を有する
Ｌ　「【００１９】
　図示するように，
サーバ計算機３は，
メトリック情報計測部３２
を有する
【００２０】
　
メトリック情報計測部３２は，自サーバ計算機３のメトリック情報を計測し，管理用ネットワーク６を介してリソース割当管理装置１に送信する。本実施形態では，メトリック情報として，単位時間当たりに業務用ネットワーク５から受信するリクエストの数（リクエスト受信数）を計測する。そして，計測したメトリック情報を，自サーバ計算機３の識別情報（例えばローカルアドレス）である計算機ＩＤと共に，管理用ネットワーク６を介してリソース割当管理装置１に送信する
Ｍ　「【００２６】
　図示するように，
リソース割当管理装置１は
記憶部１３
を有する
【００２７】
　
記憶部１３は
余裕率管理ＴＬ１３４
を有する
Ｎ　「【００４４】
　図８は
リソース割当管理装置１の
メトリック情報収集部１２１は，管理用ネットワーク６を介して各サーバ計算機３からメトリック情報を受信して，メトリック情報管理ＴＬ１３３をこのメトリック情報で更新する処理を常に行っている
【００４５】
　さて，図８において，演算部１２は，図示していない内蔵タイマを用いて，
所定時間の経過や所定時刻の到来などのリソース割当判定タイミングを検出すると
【００４６】
　これを受けて，
余裕率算出部１２２は，
モジュールＰＧ毎に，現状台数，適正台数，サービスレベル余裕率および提供可能台数を計算する
余裕率管理ＴＬ１３４の各レコード１３４０を
計算した現状台数，適正台数，サービスレベル余裕率および提供可能台数で更新する
Ｏ　「【００７７】
　本実施形態において，
リソース割当管理装置１は，業務アプリケーション毎に，当該業務アプリケーションに引当てられたサーバ計算機３のうち他の業務アプリケーションに引当て変更することのできるサーバ計算機３の数つまり提供可能台数を計算する。そして，提供可能台数が正の値（リソースが余っている）業務アプリケーションに割当てられている少なくとも１つのサーバ計算機３の引当てを，当該業務アプリケーションから，提供可能台数が負の値（リソースが不足している）業務アプリケーションに変更する
（２）したがって，上記引用文献２には次の技術的事項（以下，「引用文献２記載事項」という。）が記載されていると認められる。
「リソース割当管理装置１と複数のサーバ計算機３１〜３ｍとを有するリソース割当管理システムにおいて，
　サーバ計算機３は，メトリック情報計測部３２を有し，
　リソース割当管理装置１は，余裕率管理ＴＬ１３４を有し，
　メトリック情報計測部３２は，自サーバ計算機３のメトリック情報として，単位時間当たりに業務用ネットワーク５から受信するリクエストの数（リクエスト受信数）を計測し，計測したメトリック情報を，自サーバ計算機３の識別情報と共に，管理用ネットワーク６を介してリソース割当管理装置１に送信し，
　リソース割当管理装置１のメトリック情報収集部１２１は，管理用ネットワーク６を介して各サーバ計算機３からメトリック情報を受信して，メトリック情報管理ＴＬ１３３をこのメトリック情報で更新する処理を常に行っており，
　所定時間の経過や所定時刻の到来などのリソース割当判定タイミングを検出すると，余裕率算出部１２２は，モジュールＰＧ毎に，現状台数，適正台数，サービスレベル余裕率および提供可能台数を計算し，計算した現状台数，適正台数，サービスレベル余裕率および提供可能台数で余裕率管理ＴＬ１３４の各レコード１３４０を更新し，
　リソース割当管理装置１は，業務アプリケーション毎に，当該業務アプリケーションに引当てられたサーバ計算機３のうち他の業務アプリケーションに引当て変更することのできるサーバ計算機３の数つまり提供可能台数を計算し，提供可能台数が正の値の（リソースが余っている）業務アプリケーションに割当てられている少なくとも１つのサーバ計算機３の引当てを，当該業務アプリケーションから，提供可能台数が負の値の（リソースが不足している）業務アプリケーションに変更する。」
第４　対比・判断
１．本願発明１について
（１）対比
　本願発明１と引用発明とを対比すると，次のことがいえる。
（ア）引用発明の「タスク（処理の単位ブロック）」は本願発明１の「計算タスク」に相当し，引用発明の「ヘテロジニアス・マルチプロセッサシステム１」は，「命令セット及び構成の異なるプロセッサエレメント（以下，ＰＥとする）１０〜１７と，これらＰＥ１０〜１７で共有する集中共有メモリ（以下，ＣＳＭ）１８及び各ＰＥ１０〜１７とＣＳＭ１８を接続する内部ネットワーク１９とから構成された」システムであって，複数のコンピュータを結合したひとまとまりのシステムとみることができるから，本願発明１の「コンピュータクラスタ」に相当するといえるので，引用発明と本願発明１とは，後記する相違点はあるものの，“計算タスクを処理するためのコンピュータクラスタ”である点で共通する。
（イ）上記（ア）のとおり，引用発明の「ヘテロジニアス・マルチプロセッサシステム１」は，「計算タスクを処理するためのコンピュータクラスタ」とみることができるものであるから，当該ヘテロジニアス・マルチプロセッサシステム１を構成する「４個の汎用処理プロセッサ（以下，ＣＰＵ）１０，１１，１２，１３」が本願発明１の「複数の計算ノード（ＣＮ）」に相当し，当該「４個の汎用処理プロセッサ（以下，ＣＰＵ）１０，１１，１２，１３」を含む「各ＰＥ１０〜１７」は，「それぞれのインタフェースを介して，内部ネットワーク１９に接続されて」いて，ここでの「内部ネットワーク１９」は，本願発明１の「通信インフラストラクチャ（ＩＮ）」に相当するといえ，また，「各ＰＥ１０〜１７」は，「内部ネットワーク１９」と“インターフェイス接続”しているといえるから，引用発明の「ヘテロジニアス・マルチプロセッサシステム１」と本願発明１の「コンピュータクラスタ」とは，“複数の計算ノード（ＣＮ）を含み，それらの各々は通信インフラストラクチャ（ＩＮ）とインターフェイス接続し”ている点で共通する。
（ウ）引用発明では，「タスクを各ＰＥへ割り当てるときは，プロセッサグループ毎にタスクを割り当て」，「例えば，４つのＣＰＵのうち２つを１つのグループにしたものが汎用プロセッサグループＰＧ１＿０として，残り２つを１つのグループにしたものが汎用プロセッサグループＰＧ１＿１として表現され，汎用プロセッサグループＰＧ１＿０には，マクロタスクＭＴ１＿１およびマクロタスクＭＴ１＿２（マクロタスクグラフＭＴＧ１＿２を内包）が割り当てられ，汎用プロセッサグループＰＧ１＿１にはマクロタスクＭＴ１＿３（マクロタスクグラフＭＴＧ１＿３を内包）が割り当てられたとすると，
　第２階層では，汎用プロセッサグループＰＧ１＿０上でマクロタスクＭＴ１＿１を実行」するものであり，「４つのＣＰＵのうち２つを１つのグループにしたもの」を「汎用プロセッサグループＰＧ１＿０」とし，この「汎用プロセッサグループＰＧ１＿０」に，「マクロタスクＭＴ１＿１およびマクロタスクＭＴ１＿２（マクロタスクグラフＭＴＧ１＿２を内包）が割り当てられ」て「汎用プロセッサグループＰＧ１＿０上でマクロタスクＭＴ１＿１を実行」するものであることからすると，引用発明では，「４つのＣＰＵのうち２つ」（本願発明１の「それらの少なくとも２つ」に相当する。）によって，「汎用プロセッサグループＰＧ１＿０」が形成され，当該「汎用プロセッサグループＰＧ１＿０」内の“２つのＣＰＵ”は，同じグループに属するＣＰＵとして，何らかの相互作用をしつつ，“共同で”，「マクロタスクＭＴ１＿１およびマクロタスクＭＴ１＿２」（本願発明１の「前記計算タスクの少なくとも第１の部分」に相当する。）を「実行」（本願発明１の「計算」に相当する。）しているとみることができるから，引用発明の「４個の汎用処理プロセッサ（以下，ＣＰＵ）１０，１１，１２，１３」と本願発明１の「複数の計算ノード（ＣＮ）」とは，“それらの少なくとも２つは，前記計算タスクの少なくとも第１の部分を共同で計算するように構成されて”いる点で共通する。
（エ）引用発明の「ヘテロジニアス・マルチプロセッサシステム１」は，「２個の動的再構成可能プロセッサ（以下，ＤＲＰ）１４，１５と，２個の信号処理プロセッサ（以下，ＤＳＰ）１６，１７」を含むものであり，ここでの「ＤＲＰ（０，１）１４，１５」と，「ＤＳＰ（０，１）１６，１７」は，「特定用途プロセッサエレメント（特定用途ＰＥ）」であり，当該「特定用途ＰＥ」は「予め設定されたタスク（処理の単位ブロック）」（本願発明１の「前記計算タスクの少なくとも第２の部分」に相当する。）の「処理を実行可能に構成され」（本願発明１の「計算するように構成され」に相当する。），「アクセラレータとして機能する」ものであるところ，本願明細書の段落【０００９】の「このコンピュータクラスタ構成では，個々のブースタによって加速機能性が提供されている。上述のコンピュータクラスタ構成は，算出ノードとも呼ばれ得る計算ノードへのそれらのブースタの緩い結合を可能にする。このため，計算ノードによる，ここではブースタの形をしたアクセラレータの共有が実現可能である。」との記載からすると，本願発明１の「ブースタ」は，「アクセラレータ」として機能するものであるから，引用発明の「特定用途プロセッサエレメント（特定用途ＰＥ）」が本願発明１の「少なくとも１つのブースタ（Ｂ）」に相当する。
　してみれば，引用発明と本願発明１とは，“前記コンピュータクラスタはさらに，前記計算タスクの少なくとも第２の部分を計算するよう構成された少なくとも１つのブースタ（Ｂ）を含”む点で共通する。
　
（オ）引用発明の「ＤＲＰ（０，１）１４，１５と，ＤＳＰ（０，１）１６，１７（からなる）特定用途プロセッサエレメント（特定用途ＰＥ）」（本願発明１の「各ブースタ（Ｂ）」に相当する。）を含む「各ＰＥ１０〜１７」は，「それぞれのインタフェースを介して，内部ネットワーク１９に接続されて」（本願発明１の「前記通信インフラストラクチャ（ＩＮ）とインターフェイス接続して」に相当する。）いるから，引用発明と本願発明１とは，“各ブースタ（Ｂ）は前記通信インフラストラクチャ（ＩＮ）とインターフェイス接続して”いる点で共通する。
　したがって，本願発明１と引用発明との間には，次の一致点，相違点があるといえる。
（一致点）
「計算タスクを処理するためのコンピュータクラスタであって，
　複数の計算ノード（ＣＮ）を含み，それらの各々は通信インフラストラクチャ（ＩＮ）とインターフェイス接続し，それらの少なくとも２つは，前記計算タスクの少なくとも第１の部分を共同で計算するよう構成されており，前記コンピュータクラスタはさらに，
　前記計算タスクの少なくとも第２の部分を計算するよう構成された少なくとも１つのブースタ（Ｂ）を含み，各ブースタ（Ｂ）は前記通信インフラストラクチャ（ＩＮ）とインターフェイス接続している，
　コンピュータクラスタ。」
（相違点）
（相違点１）本願発明１は，「前記コンピュータクラスタはさらに，
　前記計算タスクの前記第２の部分の計算のために，割当パラメータの群のうちの少なくとも１つの割当パラメータの関数として特定される割当メトリックに従い，少なくとも１つのブースタ（Ｂ）を前記複数の計算ノード（ＣＮ）のうちの少なくとも１つに割当てるよう構成されたリソースマネージャ（ＲＭ）を含」んでいるのに対して，
　引用発明の「ヘテロジニアス・マルチプロセッサシステム１」は，そのような構成を含んでいない点。
（相違点２）本願発明１は，「前記リソースマネージャ（ＲＭ）は，
　（ｉ）前記計算タスクの実行開始時に，予め定められた割当メトリックを用いて前記割当てを行い，（ii）前記計算タスクの実行中に，(ii-1)当該割当てを初期化し，(ii-2)前記割当メトリックを変更し，(ii-3)変更後の前記割当メトリックを用いて前記割当てを行うように構成される」のに対して，
　引用発明は，そのような構成は特定されていない点。
（２）相違点についての判断
（相違点１）について
　上記相違点１について検討すると，本願発明１の「コンピュータクラスタ」は，「リソースマネージャ（ＲＭ）」を含んでいて，当該「リソースマネージャ（ＲＭ）」は，「前記計算タスクの前記第２の部分の計算のために」，「少なくとも１つのブースタ（Ｂ）を前記複数の計算ノード（ＣＮ）のうちの少なくとも１つに割当てるよう構成された」ものであるから，本願発明１の「リソースマネージャ（ＲＭ）」は，「ブースタ（Ｂ）」を「複数の計算ノード（ＣＮ）のうちの１つ」に「割当てる」ためのものであるのに対して，引用発明の「ヘテロジニアス・マルチプロセッサシステム１」は，スケジューリングを実行するための「スケジューラ」を含んでいるものの，当該「スケジューラ」が実行する「スケジューリング」は，「タスクを各ＰＥへ割り当てるときは，プロセッサグループ毎にタスクを割り当て，各タスクが最も早く終了するようにスケジューリングを行い，このとき，ＤＲＰ１４，１５やＤＳＰ１６，１７の特定用途ＰＥが実行可能な特定のタスクでは，基本的に特定用途ＰＥのグループ毎にタスクを割り当てるが，特定用途ＰＥのリソースが不足する場合では，特定用途ＰＥに割り当てるタスクを汎用ＰＥグループに割り当てて，ヘテロジニアス・マルチプロセッサシステム全体の処理速度が速くなるようにスケジューリングを行」うというものであって，引用発明の「スケジューラ」は，「各タスクが最も早く終了するように」，「タスク」を「汎用ＰＥグループ」または「特定用途ＰＥのグループ」に「割り当てる」というものであって，本願発明１の「リソースマネージャ（ＲＭ）」のように，「ブースタ（Ｂ）」（引用発明の「特定用途プロセッサエレメント（特定用途ＰＥ）」）を「複数の計算ノード（ＣＮ）のうちの１つ」（引用発明の「汎用処理プロセッサ（ＣＰＵ）」）に「割当てる」というものではない。
　加えて，上記Ｄで引用した引用文献１の「これにより，汎用プロセッサグループＰＧからアクセラレータグループへのタスクの投入は，何れの階層からも実行することが可能となり，特定用途ＰＥの利用率を向上させることができるのである。つまり，汎用プロセッサグループＰＧに特定用途ＰＥを割り当てることも可能ではあるが，汎用プロセッサグループＰＧに割り当てられるタスクには常に特定用途ＰＥで処理可能なタスクが含まれているとは限らない。」（段落【００５０】），「そこで，特定用途ＰＥを汎用プロセッサグループＰＧに含めずに，汎用プロセッサグループＰＧの何れの階層からもタスクを受け入れられるように，特定用途ＰＥの種類や機能単位でグルーピングを行うことで，汎用ＰＥと特定用途ＰＥの利用率を向上させて，ヘテロジニアス・マルチプロセッサシステム１全体の処理速度を向上させるのである。」（段落【００５１】）との記載によれば，引用発明は，「汎用プロセッサグループＰＧに特定用途ＰＥを割り当てることも可能ではあるが」，“そのようにしないこと”で，すなわち，「特定用途ＰＥを汎用プロセッサグループＰＧに含めずに，汎用プロセッサグループＰＧの何れの階層からもタスクを受け入れられるように，特定用途ＰＥの種類や機能単位でグルーピングを行うこと」で，「汎用ＰＥと特定用途ＰＥの利用率を向上させ」ていると認められ，このことからすると，引用文献１は，「特定用途ＰＥ」を「汎用プロセッサグループＰＧ」に「割当てる」ことをむしろ否定している文献といえるので，引用文献１には，引用発明の「特定用途ＰＥ」を「汎用ＰＥ」に「割当てる」ように構成するという動機付けは存在しない。
　また，引用文献２には，
「リソース割当管理装置１と複数のサーバ計算機３１〜３ｍとを有するリソース割当管理システムにおいて，
　サーバ計算機３は，メトリック情報計測部３２を有し，
　リソース割当管理装置１は，余裕率管理ＴＬ１３４を有し，
　メトリック情報計測部３２は，自サーバ計算機３のメトリック情報として，単位時間当たりに業務用ネットワーク５から受信するリクエストの数（リクエスト受信数）を計測し，計測したメトリック情報を，自サーバ計算機３の識別情報と共に，管理用ネットワーク６を介してリソース割当管理装置１に送信し，
　リソース割当管理装置１のメトリック情報収集部１２１は，管理用ネットワーク６を介して各サーバ計算機３からメトリック情報を受信して，メトリック情報管理ＴＬ１３３をこのメトリック情報で更新する処理を常に行っており，
　所定時間の経過や所定時刻の到来などのリソース割当判定タイミングを検出すると，余裕率算出部１２２は，モジュールＰＧ毎に，現状台数，適正台数，サービスレベル余裕率および提供可能台数を計算し，計算した現状台数，適正台数，サービスレベル余裕率および提供可能台数で余裕率管理ＴＬ１３４の各レコード１３４０を更新し，
　リソース割当管理装置１は，業務アプリケーション毎に，当該業務アプリケーションに引当てられたサーバ計算機３のうち他の業務アプリケーションに引当て変更することのできるサーバ計算機３の数つまり提供可能台数を計算し，提供可能台数が正の値の（リソースが余っている）業務アプリケーションに割当てられている少なくとも１つのサーバ計算機３の引当てを，当該業務アプリケーションから，提供可能台数が負の値の（リソースが不足している）業務アプリケーションに変更する。」
という引用文献２記載事項が記載されているが，当該技術的事項は，「サーバ計算機」を「業務アプリケーション」に割当てていて，業務アプリケーション毎のリソースの過不足に応じて，「サーバ計算機」の引当てを変更しているものであって，「ブースタ（Ｂ）」を「計算ノード（ＣＮ）」に「割当てる」ことは記載されていない。
　そうすると，当業者であっても，引用発明に引用発明２記載事項を適用して，上記相違点１に係る「前記コンピュータクラスタはさらに，
　前記計算タスクの前記第２の部分の計算のために，割当パラメータの群のうちの少なくとも１つの割当パラメータの関数として特定される割当メトリックに従い，少なくとも１つのブースタ（Ｂ）を前記複数の計算ノード（ＣＮ）のうちの少なくとも１つに割当てるよう構成されたリソースマネージャ（ＲＭ）を含」むという構成を容易に想到することができたとはいえない。
　したがって，上記相違点２について判断するまでもなく，本願発明１は，当業者であっても引用発明及び引用文献２記載事項に基づいて容易に発明できたものであるとはいえない。
２．本願発明２−１１について
　本願発明２−１１は，本願発明１を減縮した発明であり，上記相違点１に係る構成と同一の構成を備えるものであるから，本願発明１と同様の理由により，当業者であっても，引用発明及び引用文献２記載事項に基づいて容易に発明できたものとはいえない。
第５　原査定の概要及び原査定についての判断
　原査定は，請求項１−１２について上記引用文献１−２に基づいて，当業者が容易に発明できたものであるから，特許法第２９条第２項の規定により特許を受けることができないというものである。しかしながら，平成２９年８月４日付け手続補正により補正された請求項１は，上記相違点１に係る構成を有するものとなっており，上記のとおり，本願発明１−１１は，引用発明及び引用文献２記載事項に基づいて，当業者が容易に発明できたものではない。したがって，原査定を維持することはできない。
第６　当審拒絶理由について
１．特許法第３６条第６項第２号について
（１）当審では，請求項１の「割当パラメータの群のうちの少なくとも１つのパラメータの関数として特定される割当メトリックに従い」との記載では，「割当パラメータ」と「パラメータ」とが混在して用いられていて不明確であるとの拒絶の理由を通知しているが，平成３０年１０月３日付けの手続補正において，「パラメータ」が「割当パラメータ」と補正された結果，この拒絶の理由は解消した。
（２）当審では，請求項１の「割当パラメータの群のうちの少なくとも１つのパラメータの関数として特定される割当メトリック」との記載における「割当パラメータの関数」として特定される「割当メトリック」とは，具体的にどのようなものであるのかが不明確であるとの拒絶の理由を通知しているが，平成３０年１０月３日付けの意見書における，
「ご指摘に対しては，
　（ａ）まず，割当てパラメータの関数として特定される割当メトリックは，具体的には，どのブースタをどの計算ノードに結合するかを決めるための基準として機能するものです。これは，出願当初明細書の段落００１４の“割当メトリックが提供され，それはどのブースタをどの計算ノードと結合するかを決めるための基準として機能する”等の記載に基づきます。
　（ｂ）また，請求項２（元の請求項３に対応）の各パラメータがどのような内容のパラメータであるかは，以下の通りです。
　「リソース情報」は，計算タスクの実行時に必要なメモリの大きさを示します（段落００３８をご参照）。
　「費用情報」は，計算タスクの実行時に必要なハードウェアリソース能力を示します（段落００１５，段落００１１等をご参照）。
　「複雑性情報」は，クラスタで実行される計算タスクのアプリケーションコードの複雑さを示します（段落００１７，段落００３７等をご参照）。
　「拡張性情報」は，クラスタで実行されるアプリケーションコードの拡張可能性の程度を示します（段落００３７をご参照）。
　「計算ログ記録」は，計算履歴を示し，具体的には，ブースタが計算タスクを処理する場合の応答時間の記録を示します（段落００１６等をご参照）。
　「優先度情報」は，計算タスクを，他の計算タスクに比べてどのくらい至急に計算しなければならないかを示します（段落００１６をご参照）。
　（ｃ）また，請求項２（元の請求項３に対応）のパラメータ毎に想定される関数の例示としては，以下の通りです。
　「リソース情報」については，例えば，計算タスクの実行時に必要なメモリの大きさ（段落００３８をご参照）をパラメータとして，計算ノードに割当てる１つ以上のブースタを決定する関数があります（段落００２１および段落００１１等をご参照）。
　「費用情報」については，例えば，計算タスクの実行時に必要なハードウェアリソース能力（段落００１５，段落００１１等をご参照）をパラメータとして，計算ノードに割当てる１つ以上のブースタを決定する関数があります（段落００２１，段落００１１等をご参照）。
　「複雑性情報」については，例えば，クラスタで実行されるアプリケーションコードの複雑さ（段落００１７，段落００３７等をご参照），または，例えばマトリックスの次元数を関数のパラメータとして，計算ノードに割当てる１つ以上のブースタを決定する関数があります（段落００２１，段落００１７等をご参照）。
　「拡張性情報」については，例えば，クラスタで実行されるアプリケーションコードの拡張可能性の程度（段落００３７）をパラメータとして，計算ノードに割当てる１つ以上のブースタを決定する関数があります。
　「計算ログ記録」については，例えばブースタが計算タスクを処理する場合の応答時間の記録（段落００１６をご参照）をパラメータとして，計算ノードに割当てる１つ以上のブースタを決定する関数があります。
　「優先度情報」については，計算タスクを，他の計算タスクに比べてどのくらい至急に計算しなければならないかを示す（段落００１６をご参照）をパラメータとして，計算ノードに割当てる１つ以上のブースタを決定する関数があります。例えば，優先度が高いアプリケーションコードの部分であれば，計算ノードに１つ以上のブースタを割当てると決定する。」
との釈明により，この拒絶の理由は解消した。
（３）当審では，請求項１に「割当パラメータの群のうちの少なくとも１つのパラメータの関数として特定される割当メトリック」と記載されている一方で，請求項１を引用する請求項２には，「前記予め定められた割当メトリックは，メトリック特定技術の群のうちの少なくとも１つに従って形成され，前記群は，時相論理，割当マトリックス，割当テーブル，確率関数，および費用関数を含む」と記載されていて，「割当メトリック」が，「割当パラメータの関数」として特定されるものであるのか，「メトリック特定技術の群のうちの少なくとも１つに従って形成され」るものであるのかが不明確であるとの拒絶の理由を通知しているが，平成３０年１０月３日付けの手続補正において，補正前の請求項２が削除された結果，この拒絶の理由は解消した。
（４）当審では，請求項１の「(ii-2)前記割当メトリック変更し」との記載は，「(ii-2)前記割当メトリックを変更し」の誤記と思われるとの拒絶の理由を通知しているが，平成３０年１０月３日付けの手続補正において，「(ii-2)前記割当メトリックを変更し」と補正された結果，この拒絶の理由は解消した。
（５）当審では，請求項１の「割当メトリック」を「変更」するとは，具体的に，何をどのように「変更」することを想定しているのかが明確ではないとの拒絶の理由を通知しているが，平成３０年１０月３日付けの意見書における，
「このご指摘については，まず「割当てメトリック」を「変更」するとは，「割当てメトリック」を特定する「割当てパラメータの関数」において，当該「割当てパラメータの関数」に適用される割当てパラメータを，計算タスクの実行時に例えば実行時パラメータまたは計算タスク特性に基づき変更することを示します（段落００２１，段落００１１をご参照）。
　なお，元の請求項２は削除しましたので，“「メトリック特定技術の群のうちの少なくとも１つに従って形成され」る「割当メトリック」の「何」を「どのように」変更する”かに関して，補正後の特許請求の範囲は不明確性を有しないと思料します。」
との釈明により，この拒絶の理由は解消した。
第７　むすび
　以上のとおり，本願発明１−１１は，当業者が引用発明及び引用文献２記載事項に基づいて容易に発明をすることができたものではない。
　したがって，原査定の理由によっては，本願を拒絶することはできない。
　また，他に本願を拒絶すべき理由を発見しない。
　よって，結論のとおり審決する。