• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 4号2号請求項の限定的減縮 特許、登録しない。 G06F
審判 査定不服 5項独立特許用件 特許、登録しない。 G06F
審判 査定不服 2項進歩性 特許、登録しない。 G06F
管理番号 1298600
審判番号 不服2014-6137  
総通号数 185 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2015-05-29 
種別 拒絶査定不服の審決 
審判請求日 2014-04-03 
確定日 2015-03-11 
事件の表示 特願2008-314581「マルチコア・プロセッサ上での自律型ワークロード分配のための方法、装置、およびシステム」拒絶査定不服審判事件〔平成21年 7月 9日出願公開、特開2009-151774〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由
第1 手続の経緯

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


第2 平成26年4月3日付けの手続補正についての補正却下の決定

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

平成26年4月3日付けの手続補正を却下する。

[理由]

1.補正の内容

平成26年4月3日付けの手続補正(以下,「本件補正」という。)の内容は,平成25年10月8日付けの手続補正により補正された特許請求の範囲の請求項1乃至12の記載

「 【請求項1】
マルチプロセッサ・システム内での自動ワークロード分配のための方法であって,
前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するステップと,
前記マルチプロセッサ・システムの前記プロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するステップと,
前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるステップと,
を含む,方法。
【請求項2】
前記格納が,対応するアプリケーションの制御ブロック内である,請求項1に記載の方法。
【請求項3】
前記アプリケーションが前記マルチプロセッサ・システムにかけるリソース・ロードを取得するステップをさらに含み,
前記リソース・ロードに基づいて前記アプリケーションの実行を割り当てる,請求項1に記載の方法。
【請求項4】
前記リソース・ロードが,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される,請求項3に記載の方法。
【請求項5】
前記マルチプロセッサ・システムが性能モニタを備え,
前記測定するステップが,前記マルチプロセッサ・システムの前記性能モニタによって実行される,
請求項1に記載の方法。
【請求項6】
前記マルチプロセッサ・システムの前記プロセッサのうちの少なくとも1つのプロセッサが,複数のコアを備え,
前記測定するステップが,前記少なくとも1つのプロセッサの前記複数のコア上で実行する間に,アプリケーションによるシステム使用の特徴を測定するステップを含み,
前記測定に基づいて前記複数のコアの性能を特徴付けるステップと,
前記少なくとも1つのプロセッサの前記複数のコアの性能に関する特徴付け情報を格納するステップと,
をさらに含む,請求項1に記載の方法。
【請求項7】
マルチプロセッサ・システム内での自動ワークロード分配のための装置であって,
前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するための手段と,
前記マルチプロセッサ・システムの前記プロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するための手段と,
前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるための手段と,
を備える,装置。
【請求項8】
前記格納が,対応するアプリケーションの制御ブロック内である,請求項7に記載の装置。
【請求項9】
前記アプリケーションが前記マルチプロセッサ・システムにかけるリソース・ロードを習得するための手段をさらに備え,
前記リソース・ロードに基づいて前記アプリケーションの実行を割り当てる,請求項7に記載の装置。
【請求項10】
前記リソース・ロードが,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される,請求項9に記載の装置。
【請求項11】
前記マルチプロセッサ・システムが性能モニタを備え,
前記測定することが,前記マルチプロセッサ・システムの前記性能モニタによって実行される,
請求項7に記載の装置。
【請求項12】
複数のプロセッサ・コアと,
自動ワークロード分配システムを格納するメモリであって,前記自動ワークロード分配システムが,前記マルチコア・プロセッサによって実行可能な,
マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するための命令と,
前記マルチプロセッサ・システムのプロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するための命令と,
前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるための命令と
を備える,メモリと,
を備える,マルチコア・プロセッサ・システム。」(以下,この特許請求の範囲に記載された請求項を「補正前の請求項」という。)

を,

「 【請求項1】
複数のコアを備えたプロセッサを含むマルチプロセッサ・システム内での自動ワークロード分配のための方法であって,
前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するステップと,
前記ハードウェア利用統計を格納するステップと,
前記ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるステップと,
を含む,方法。
【請求項2】
前記ハードウェア利用統計が,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される,請求項1に記載の方法。
【請求項3】
複数のコアを備えたプロセッサを含むマルチプロセッサ・システム内での自動ワークロード分配のための装置であって,
前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するための手段と,
前記ハードウェア利用統計を格納するための手段と,
前記ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるための手段と,
を備える,装置。
【請求項4】
前記ハードウェア利用統計が,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される,請求項3に記載の装置。
【請求項5】
複数のプロセッサ・コアを備えたマルチコア・プロセッサと,
自動ワークロード分配システムを格納するメモリであって,前記自動ワークロード分配システムが,前記マルチコア・プロセッサによって実行可能な,
前記マルチコア・プロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するための命令と,
前記ハードウェア利用統計を格納するための命令と,
前記ハードウェア利用統計を前記マルチコア・プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるための命令と
を備える,メモリと,
を備える,マルチコア・プロセッサ・システム。」(当審注:下線は,出願人が付与したものである。以下,この特許請求の範囲に記載された請求項を「補正後の請求項」という。)

に補正するものである。


2.補正内容の分析

本件補正後の請求項1乃至5と,本件補正前の請求項1乃至12とを比較すると,平成26年4月3日付け審判請求書において出願人が説明するとおり,本件補正後の請求項1,2,3,4,5はそれぞれ,本件補正前の請求項1,4,7,10,12に対応するものであり,本件補正前の請求項2,3,5,6,8,9,11は削除されたと認める。

(1)本件補正後の請求項1に係る補正は,下記の補正事項1乃至5よりなるものである。

<補正事項1>
本件補正前の請求項1の
「マルチプロセッサ・システム内での自動ワークロード分配のための方法」との記載を,
「複数のコアを備えたプロセッサを含むマルチプロセッサ・システム内での自動ワークロード分配のための方法」に変更する補正。

<補正事項2>
本件補正前の請求項1の
「前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するステップ」との記載を,
「前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するステップ」に変更する補正。

<補正事項3>
本件補正前の請求項1の
「前記マルチプロセッサ・システムの前記プロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するステップ」との記載を,
「前記ハードウェア利用統計を格納するステップ」に変更する補正。

<補正事項4>
本件補正前の請求項1の
「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較する」との記載を,
「前記ハードウェア利用統計を前記プロセッサのコア性能データと比較する」に変更する補正。

<補正事項5>
本件補正前の請求項1の
「前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるステップ」との記載を,
「前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるステップ」に変更する補正。

(2)本件補正後の請求項2に係る補正は,下記の補正事項6よりなるものである。

<補正事項6>
本件補正前の請求項4の
「前記リソース・ロードが,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される」との記載を,
「前記ハードウェア利用統計が,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される」に変更する補正。

(3)本件補正後の請求項3に係る補正は,下記の補正事項7乃至11よりなるものである。

<補正事項7>
本件補正前の請求項7の
「マルチプロセッサ・システム内での自動ワークロード分配のための装置」との記載を,
「複数のコアを備えたプロセッサを含むマルチプロセッサ・システム内での自動ワークロード分配のための装置」に変更する補正。

<補正事項8>
本件補正前の請求項7の
「前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するための手段」との記載を,
「前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するための手段」に変更する補正。

<補正事項9>
本件補正前の請求項7の
「前記マルチプロセッサ・システムの前記プロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するための手段」との記載を,
「前記ハードウェア利用統計を格納するための手段」に変更する補正。

<補正事項10>
本件補正前の請求項7の
「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較する」との記載を,
「前記ハードウェア利用統計を前記プロセッサのコア性能データと比較する」に変更する補正。

<補正事項11>
本件補正前の請求項7の
「前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるための手段」との記載を,
「前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるための手段」に変更する補正。

(4)本件補正後の請求項4に係る補正は,下記の補正事項12よりなるものである。

<補正事項12>
本件補正前の請求項10の
「前記リソース・ロードが,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される」との記載を,
「前記ハードウェア利用統計が,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される」に変更する補正。

(5)本件補正後の請求項5に係る補正は,下記の補正事項13乃至17よりなるものである。

<補正事項13>
本件補正前の請求項12の
「複数のプロセッサ・コア」との記載を,
「複数のプロセッサ・コアを備えたマルチコア・プロセッサ」に変更する補正。

<補正事項14>
本件補正前の請求項12の
「マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するための命令」との記載を,
「前記マルチコア・プロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するための命令」に変更する補正。

<補正事項15>
本件補正前の請求項12の
「前記マルチプロセッサ・システムのプロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するための命令」との記載を,
「前記ハードウェア利用統計を格納するための命令」に変更する補正。

<補正事項16>
本件補正前の請求項12の
「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較する」との記載を,
「前記ハードウェア利用統計を前記マルチコア・プロセッサのコア性能データと比較する」に変更する補正。

<補正事項17>
本件補正前の請求項12の
「前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるための命令」との記載を,
「前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるための命令」に変更する補正。

(6)その他の補正は,補正事項18よりなるものである。

<補正事項18>
本件補正前の請求項2,3,5,6,8,9,11を削除する補正。

そして,上記補正事項1乃至18を含む本件補正は,願書に最初に添付した明細書,特許請求の範囲又は図面に記載した事項の範囲内においてなされており,特許法第17条の2第3項の規定に適合している。


3.目的要件

本件補正は,上記「第2 1.」のとおり本件審判の請求と同時にする補正であり,特許請求の範囲についてする補正をしようとするものであるから,本件補正が,特許法17条の2第5項の規定を満たすものであるか否か,すなわち,本件補正が,特許法第17条の2第5項に規定する請求項の削除,特許請求の範囲の減縮(特許法第36条第5項の規定により請求項に記載した発明を特定するために必要な事項を限定するものであって,その補正前の当該請求項に記載された発明とその補正後の当該請求項に記載される発明の産業上の利用分野及び解決しようとする課題が同一であるものに限る),誤記の訂正,或いは,明りょうでない記載の釈明(拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る)の何れかを目的としたものであるかについて,補正事項ごとに以下に検討する。

(1)補正事項1,7について
本件補正前の発明特定事項である「マルチプロセッサ・システム内」を「複数のコアを備えたプロセッサを含むマルチプロセッサ・システム内」に限定することを目的とするものであり,本件補正によっても,補正前の請求項に記載された発明とその補正後の請求項に記載される発明の産業上の利用分野及び解決しようとする課題は同一であることは明らかである。

(2)補正事項2,8について
本件補正前の発明特定事項である「前記マルチプロセッサ・システムのプロセッサ上」を「前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上」に限定することを目的とするものであり,本件補正によっても,補正前の請求項に記載された発明とその補正後の請求項に記載される発明の産業上の利用分野及び解決しようとする課題は同一であることは明らかである。
また,本件補正前の発明特定事項である「実行中のアプリケーションによるシステム使用の特徴を測定する」を「実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得する」に変更する補正は,平成25年11月25日付け拒絶査定に係る拒絶の理由に示す事項(「アプリケーションによるシステム使用の特徴」が明りょうでないこと)についてするものであり,明りょうでない記載の釈明に該当する。

(3)補正事項3,9,15について
本件補正前の発明特定事項である「前記マルチプロセッサ・システムの前記プロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納する」を「前記ハードウェア利用統計を格納する」に変更する補正は,平成25年11月25日付け拒絶査定に係る拒絶の理由に示す事項(「アプリケーションによるシステム使用の特徴」が明りょうでないこと)についてするものであり,明りょうでない記載の釈明に該当する。

(4)補正事項4,10,16について
本件補正前の発明特定事項である「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較する」を「前記ハードウェア利用統計を前記プロセッサのコア性能データと比較する」に限定することを目的とするものであり,本件補正によっても,補正前の請求項に記載された発明とその補正後の請求項に記載される発明の産業上の利用分野及び解決しようとする課題は同一であることは明らかである。

(5)補正事項5,11,17について
本件補正前の発明特定事項である「前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てる」を「前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てる」に変更することは,アプリケーションの実行ユニットを「プロセッサ」から「コア」に変更するものであり,限定を目的とするものとは認められない。
また,請求項の削除,誤記の訂正,或いは,明りょうでない記載の釈明(拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る)のいずれにも該当しない。

(6)補正事項6,12について
本件補正前の発明特定事項である「前記リソース・ロードが,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される」を「前記ハードウェア利用統計が,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される」に変更する補正は,平成25年11月25日付け拒絶査定に係る拒絶の理由に示す事項(「前記リソース・ロードが,単精度または倍精度の浮動小数点演算,メモリ使用量,および,単一または複数のサイクルを使用する命令のうちの,少なくとも1つを分析することによって取得される」が明りょうでないこと)についてするものであり,明りょうでない記載の釈明に該当する。

(7)補正事項13について
本件補正前の発明特定事項である「複数のプロセッサ・コア」を「複数のプロセッサ・コアを備えたマルチコア・プロセッサ」に限定することを目的とするものであり,本件補正によっても,補正前の請求項に記載された発明とその補正後の請求項に記載される発明の産業上の利用分野及び解決しようとする課題は同一であることは明らかである。

(8)補正事項14について
本件補正前の発明特定事項である「マルチプロセッサ・システムのプロセッサ上」を「前記マルチコア・プロセッサ上」に限定することを目的とするものであり,本件補正によっても,補正前の請求項に記載された発明とその補正後の請求項に記載される発明の産業上の利用分野及び解決しようとする課題は同一であることは明らかである。
また,本件補正前の発明特定事項である「実行中のアプリケーションによるシステム使用の特徴を測定する」を「実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得する」に変更する補正は,平成25年11月25日付け拒絶査定に係る拒絶の理由に示す事項(「アプリケーションによるシステム使用の特徴」が明りょうでないこと)についてするものであり,明りょうでない記載の釈明に該当する。

(9)補正事項18について
本件補正前の請求項2,3,5,6,8,9,11を削除する補正は,請求項の削除を目的とするものであることは明らかである。

(10)小結

以上のとおり,上記補正事項1,2,4,7,8,10,13,14,16の目的は限定的減縮,上記補正事項2,3,6,8,9,12,14,15の目的は不明瞭な記載の釈明,上記補正事項18の目的は請求項の削除であるものの,上記補正事項5,11,17の目的は請求項の削除,限定的減縮,誤記の訂正,不明瞭な記載の釈明の何れにも該当しないものである。

してみると,本件補正は,特許法第17条の2第5項第1号の請求項の削除,同条同項第2号の特許請求の範囲の減縮(第36条第5項の規定により請求項に記載した発明を特定するために必要な事項を限定するものであって,その補正前の当該請求項に記載された発明とその補正後の当該請求項に記載される発明の産業上の利用分野及び解決しようとする課題が同一であるものに限る。),同条同項第3項の誤記の訂正,同条同項第4項の明りょうでない記載の釈明(拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る。)を目的とするものに限られるものではない。

したがって,本件補正は,特許法第17条の2第5項の規定に違反する。


4.独立特許要件

以上のように,本件補正は,限定的減縮を目的とする上記補正事項1,2,4,7,8,10,13,14,16を含むものである。そこで,限定的減縮を目的として補正された本件補正後の請求項1,3,5に記載された発明が特許出願の際独立して特許を受けることができるものであるか(特許法第17条の2第6項において準用する同法第126条第7項の規定に適合するか)以下に検討する。

4-1.特許法第36条(記載要件)について

(1)本件補正後の請求項1,3,5の発明特定事項である「前記ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てる」は,ハードウェア利用統計とプロセッサのコア性能データとのいかなる比較処理を意味しているのか,両者の単なる大小関係を判定するための比較処理を意味しているのか,両者の差異を所定の数式で評価することを意味しているのか特定することができず,また,当該比較処理の結果をどのようにしてコアへのアプリケーションの実行割り当て処理に利用しているのか,当該比較処理の結果とアプリケーションの実行割り当て処理との関係も不明確である。
この点に関し,本願明細書の発明の詳細な説明の段落【0016】?【0017】には,
「【0016】
システム内でアプリケーションが最初に実行された際に,コア上の性能モニタがシステム使用の特徴を測定する。モニタは,たとえば,単精度または倍精度の浮動小数点演算,メモリ使用量(L1,L2,または主メモリのアクセス),単一または複数のサイクルを使用する命令,および他のアイテムを分析する。性能モニタは,ステップ230で,アプリケーションがシステムにかけるリソース・ロードを取得する。ステップ240で,アプリケーションあるいはサブルーチンまたはスレッドにタグが付けられ,性能データは格納される。性能モニタ・データは性能モニタ180から抽出される。ハードウェア性能データは,オペレーティング・システム/ハイパーバイザ/クラスタ・スケジューラによって使用するために,スレッドのコア・データ構造内に格納される。(ハードウェア性能データは,プロセッサのコアの性能を特徴付けるためにも使用可能であり,特徴付け情報はプロセッサ上に格納することができる。)スケジューラは,ステップ250で,スレッドの制御データ構造内に格納されたハードウェア利用統計と,システム上のプロセッサに関する特徴とを比較する。オペレーティング・システムまたはハイパーバイザは,ステップ260で,ハードウェア機能をソフトウェア測定の処理消費属性のワークロードに最も良く合致させる,適切なコアに,スレッドを割り当てる。
【0017】
データは,プロセッサまたはコア上のワークロードを知的に組み合わせるためにスケジューラによって使用されることもできる。たとえば,自動ワークロード分配は,メモリに頻繁にアクセスするスレッドと共に,同じコアまたはプロセッサ上のキャッシュからのデータにアクセスするスレッドを実行することが,より効率的であるものと決定する場合がある。データは,キャッシュ待ち時間性能を,様々な待ち時間およびサイズを備えたキャッシュに合致させるために使用することもできる。」
との記載があるが,この記載からは「ハードウェア利用統計」と,「プロセッサのコア性能データ」との比較処理がいかなるものか,当該比較処理の結果とコアへのアプリケーションの実行割り当て処理との関係がいかなるものであるか,を具体的に把握することはできないことから,発明特定事項である「前記ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てる」の意味は発明の詳細な説明を参酌しても明確に把握し得ないものである。
してみると,本件補正後の請求項1,3,5に係る発明は,明確でない。
また,このため,本件補正後の発明の詳細な説明は,請求項1,3,5に係る発明について,当業者がその実施をすることができる程度に明確かつ十分に記載したものではない。

(2)小結

よって,本件補正後の発明の詳細な説明及び特許請求の範囲の記載は,特許法第36条第4項第1号,同条第6項第2号に規定する要件を満たしておらず,本件補正後の請求項1,3,5に係る発明は,特許出願の際独立して特許を受けることができないものである。


4-2.特許法第29条第2項(進歩性)について

(1)本件補正発明

本件補正後の請求項1に記載された発明(以下,「本件補正発明」という。)は,上記平成26年4月3日付け手続補正書により補正された明細書及び図面の記載からみて,その特許請求の範囲の請求項1に記載された以下のとおりのものと認める。

「複数のコアを備えたプロセッサを含むマルチプロセッサ・システム内での自動ワークロード分配のための方法であって,
前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するステップと,
前記ハードウェア利用統計を格納するステップと,
前記ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるステップと,
を含む,方法。」

(2)引用文献

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

本願優先日前に頒布され,原審の拒絶査定の理由である上記平成25年7月5日付けの拒絶理由通知において引用された,特開2003-6175号公報(平成15年1月10日出願公開,以下,「引用文献1」という。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

A 「【請求項1】複数のプロセッサを含み,該複数のプロセッサの少なくとも一部にはそれぞれ当該プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段をそれぞれ有する計算機システムにおいて,実行するプロセスを前記複数のプロセッサのいずれかに割り付けるスケジューリング方法であって,
前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,当該プロセスの前記プロセッサ動作特性を採取すること,
前記計算機上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性に基づき,各プロセスを割り付けるプロセッサを優先的に選択すること,
との手順を有するプロセススケジューリング方法。」

B 「【0007】本発明は,従来技術で解決されていない上記課題の解決し,異なる性能特性を持つプロセッサが混在する計算機や,異なる性能特性を持つ計算機が混在するクラスタシステムにおける高度なプロセススケジューリング方式を提供する。
…(中略)…
【0009】計算機システムに含まれる複数のプロセッサの少なくも一部に,当該プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段を設け,前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,当該プロセスの前記プロセッサ動作特性を採取し,前記計算機上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性に基づき,各プロセスを割り付けるプロセッサを優先的に選択する。前記プロセッサ動作特性としては,例えばプログラム実行時間に占めるメモリアクセス待ち時間の比率,プログラム実行中におけるメモリアクセス量が使用可能である。一例では,前記計算機システム上で実行中若しくは実行可能な各プロセスの前記メモリアクセス待ち時間の比率又は前記メモリアクセス量が大きい順に,各プロセスをキャッシュ容量が大きいプロセッサに優先して割り付ける。また別の例では,前記計算機上で実行中若しくは実行可能な各プロセスの前記メモリアクセス待ち時間の比率が大きい順に,各プロセスをメモリアクセスレイテンシが小さいプロセッサに優先して割り付ける。
【0010】また,前記計算機上で実行中若しくは実行可能な各プロセスの前記メモリアクセス量に基づき,各ノードに割り付ける1以上のプロセスのメモリアクセス量合計が,当該ノードのメモリアクセス性能を超えない様に優先して割り付ける。」

C 「【0013】前記性能測定手段を制御して,各プロセスのメモリアクセス量の変化を採取し,計算機システム内の各プロセッサに割り付けられる各プロセスについて,タイムスライスの開始時間を異なる時刻に設定し,タイムスライスを同時に開始した場合と比較し同時に動作中のプロセスのメモリアクセス量合計が計算機のメモリアクセス性能を超過することに伴う性能低下を抑える。この様な,プロセッサ動作特性の変化に基づくプロセススケジューリングを効率良く実現するために,前記プロセッサは,当該プロセッサ内で生じる複数の事象の中から特定の事象の生起回数をカウントする性能測定データレジスタと,前記性能測定レジスタで測定する事象を指示するための,性能測定制御レジスタの組からなる性能測定回路を1以上有し,前記性能測定回路は,前記計算機のメモリ上に設けた性能測定用領域に性能測定データレジスタの値を順次格納していくことにより,特定の事象のタイムスライス内での変化を採取可能とする性能測定方式を実現する。そして,前記性能測定手段を制御して採取した各プロセスのプロセッサ動作特性をファイルシステム上に記録し,次に当該プロセスを実行する際に,前記ファイルシステムに記録した当該プロセスのプロセッサ動作特性に基づき,当該プロセスを割り付けるプロセッサを優先的に選択する方法や,前記プロセッサの一部が性能測定手段を持たない場合でも,性能測定手段を有する前記プロセッサでプロセスを実行した際に採取したメモリアクセス特性に基づき,各プロセスを割り付けるプロセッサを優先的に選択可能とする。」

D 「【0018】各計算機(110-1,…,110-m)は,各々プロセッサ11(120-11)?1N1(120-1N1),プロセッサ21(120-21)?2N2(120-2N2),…,プロセッサm1(120-m1?120-mNm)を有する。各プロセッサ(120-11,…,120-mNm)は,各々性能測定手段(130-11,…,130-mNm)を持ち,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測できる。この様な性能測定手段は,例えばIntel社の「Pentium Proファミリディベロッパーズマニュアル下巻 第10章」に開示されている公知の技術である。」

E 「【0032】図3は,クラスタスケジューラ(250)及びクラスタノードスケジューラ(240-1?240-3)が保持するプロセッサ特性情報である。本実施の形態例において,プロセッサ特性情報はクラスタノード(計算機)番号,計算機内のノード番号,プロセッサ番号で示されるプロセッサのキャッシュ容量,メモリアクセスレイテンシを保持する。本実施の形態例では,説明の便宜上プロセッサ(220-11?220-34)のコア部分の動作周波数,演算器の数等は全て同じとしておりプロセッサ特性情報に記載していないが,プロセッサ特性情報にこれらを含めて記載することも可能である。この場合,プロセッサ(220-11?220-34)のコア部分の差異を考慮したプロセススケジューリングが可能となるが,これについては以後適宜補足する。」

F 「【0052】図9のプロセッサ動作特性推測値を元に,図10のプロセススケジューリング方法に従って,以下の様にメモリアクセス待ち時間比率を最小化する。
(1) クラスタスケジューラ(250)は,メモリアクセス待ち時間比率の低減能力の高いプロセッサから順にプロセスを割り当てる。本実施の形態例では,メモリアクセス待ち時間比率の低減能力の高いプロセッサ順は,キャッシュ2MB,メモリアクセスレイテンシ200nsのプロセッサ(220-21,220-22),キャッシュ1MB,メモリアクセスレイテンシ200nsのプロセッサ(220-11,220-12),キャッシュ1MB,メモリアクセスレイテンシ400nsのプロセッサ(220-31?220-34)である。
(2) キャッシュ2MB,メモリアクセスレイテンシ200nsのプロセッサ(220-21,220-22)の割り当て時,クラスタスケジューラ(250)はこれらのプロセッサにおける各プロセスAP1?AP8のプロセッサ動作特性推測値及び実測値(図9)を比較し,メモリアクセス待ち時間比率の最も高いAP3,AP5を選択する。この時,メモリアクセス待ち時間比率に加えて,当該計算機に割り当てる全プロセスのメモリアクセス量の推測値及び実測値が,図5のクラスタノード特性情報で示される当該計算機のメモリアクセススループットと比較しなるべく超過しない様に選択する。
…(中略)…
(6) 各クラスタノードスケジューラ(240-1?240-3)は,(5)でクラスタスケジューラ(250)から割り当てられた各プロセスを自計算機内の各プロセッサ(220-11?220-34)に割り付ける。複数ノードを持つ計算機3では,各プロセッサ(220-31?220-34)へのプロセス割り付け時に図4に示したノード当たりのメモリアクセス性能を考慮する。すなわち,プロセスAP1,AP2,AP4,AP7を各プロセッサ(220-31?220-34)の割り付けにおいて,ノード当たりのメモリアクセススループットが0.5GB/sであることを考慮し,AP1,AP2を異なるノードに配置する。」

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

(ア)上記Aの「複数のプロセッサを含み,該複数のプロセッサの少なくとも一部にはそれぞれ当該プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段をそれぞれ有する計算機システムにおいて,実行するプロセスを前記複数のプロセッサのいずれかに割り付けるスケジューリング方法であって,…(中略)…との手順を有するプロセススケジューリング方法。」との記載,上記Bの「本発明は,従来技術で解決されていない上記課題の解決し,異なる性能特性を持つプロセッサが混在する計算機や,異なる性能特性を持つ計算機が混在するクラスタシステムにおける高度なプロセススケジューリング方式を提供する。」との記載からすると,異なる性能特性を持つ複数のプロセッサを含み,プロセッサ動作特性を採取する性能測定手段を有する計算機システムにおけるプロセススケジューリング方法が読みとれるから,引用文献1には,
“複数のプロセッサを含み,前記複数のプロセッサの少なくとも一部にはそれぞれ前記プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段をそれぞれ有する計算機システムにおいて,実行するプロセスを前記複数のプロセッサのいずれかに割り付けるスケジューリング方法”
が記載されていると解される。

(イ)上記Aの「前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,当該プロセスの前記プロセッサ動作特性を採取すること」との記載,上記Bの「計算機システムに含まれる複数のプロセッサの少なくも一部に,当該プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段を設け,前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,当該プロセスの前記プロセッサ動作特性を採取し,前記計算機上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性に基づき,各プロセスを割り付けるプロセッサを優先的に選択する。前記プロセッサ動作特性としては,例えばプログラム実行時間に占めるメモリアクセス待ち時間の比率,プログラム実行中におけるメモリアクセス量が使用可能である。」との記載,上記Dの「各計算機(110-1,…,110-m)は,各々プロセッサ11(120-11)?1N1(120-1N1),プロセッサ21(120-21)?2N2(120-2N2),…,プロセッサm1(120-m1?120-mNm)を有する。各プロセッサ(120-11,…,120-mNm)は,各々性能測定手段(130-11,…,130-mNm)を持ち,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測できる。」との記載からすると,性能測定手段はプロセスを実行するプロセッサについて,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測して,プロセッサ動作特性を採取すると解されるから,引用文献1には,
“プロセッサのいずれかでプロセスを実行する際に性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスのプロセッサ動作特性を採取する”手順
が記載されていると解される。

(ウ)上記Cの「そして,前記性能測定手段を制御して採取した各プロセスのプロセッサ動作特性をファイルシステム上に記録し,次に当該プロセスを実行する際に,前記ファイルシステムに記録した当該プロセスのプロセッサ動作特性に基づき,当該プロセスを割り付けるプロセッサを優先的に選択する方法や,前記プロセッサの一部が性能測定手段を持たない場合でも,性能測定手段を有する前記プロセッサでプロセスを実行した際に採取したメモリアクセス特性に基づき,各プロセスを割り付けるプロセッサを優先的に選択可能とする。」との記載からすると,性能測定手段を制御して採取した各プロセスのプロセッサ動作特性をファイルシステム上に記録することが読みとれるから,引用文献1には,
“採取した各プロセスのプロセッサ動作特性をファイルシステム上に記録する”手順
が記載されていると解される。

(エ)上記Aの「前記計算機上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性に基づき,各プロセスを割り付けるプロセッサを優先的に選択すること」との記載からすると,計算機システム上で実行中若しくは実行可能な各プロセスのプロセッサ動作特性に基づき,各プロセスを割り付けるプロセッサを優先的に選択すると解される。
また,上記Bの「一例では,前記計算機システム上で実行中若しくは実行可能な各プロセスの前記メモリアクセス待ち時間の比率又は前記メモリアクセス量が大きい順に,各プロセスをキャッシュ容量が大きいプロセッサに優先して割り付ける。また別の例では,前記計算機上で実行中若しくは実行可能な各プロセスの前記メモリアクセス待ち時間の比率が大きい順に,各プロセスをメモリアクセスレイテンシが小さいプロセッサに優先して割り付ける。」との記載,上記Fの「クラスタスケジューラ(250)は,メモリアクセス待ち時間比率の低減能力の高いプロセッサから順にプロセスを割り当てる。本実施の形態例では,メモリアクセス待ち時間比率の低減能力の高いプロセッサ順は,キャッシュ2MB,メモリアクセスレイテンシ200nsのプロセッサ(220-21,220-22),キャッシュ1MB,メモリアクセスレイテンシ200nsのプロセッサ(220-11,220-12),キャッシュ1MB,メモリアクセスレイテンシ400nsのプロセッサ(220-31?220-34)である。」との記載からすると,各プロセスをプロセッサに割り付ける際には,各プロセスのプロセッサ動作特性のほかに各プロセッサのキャッシュ容量やメモリアクセスレイテンシといった特性も参酌しているといえる。
そうすると,上記Eの「図3は,クラスタスケジューラ(250)及びクラスタノードスケジューラ(240-1?240-3)が保持するプロセッサ特性情報である。本実施の形態例において,プロセッサ特性情報はクラスタノード(計算機)番号,計算機内のノード番号,プロセッサ番号で示されるプロセッサのキャッシュ容量,メモリアクセスレイテンシを保持する。本実施の形態例では,説明の便宜上プロセッサ(220-11?220-34)のコア部分の動作周波数,演算器の数等は全て同じとしておりプロセッサ特性情報に記載していないが,プロセッサ特性情報にこれらを含めて記載することも可能である。」との記載から,プロセッサのキャッシュ容量,メモリアクセスレイテンシ等はプロセッサ特性情報として管理されていることから,各プロセスのプロセッサ動作特性およびプロセッサ特性情報に基づき,各プロセスを割り付けるプロセッサを優先的に選択する態様が読みとれるから,引用文献1には,
“計算機システム上で実行中若しくは実行可能な各プロセスのプロセッサ動作特性およびプロセッサ特性情報に基づき,各プロセスを割り付けるプロセッサを優先的に選択する”手順
が記載されていると解される。

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

「複数のプロセッサを含み,前記複数のプロセッサの少なくとも一部にはそれぞれ前記プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段をそれぞれ有する計算機システムにおいて,実行するプロセスを前記複数のプロセッサのいずれかに割り付けるスケジューリング方法であって,
前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスの前記プロセッサ動作特性を採取すること,
採取した各プロセスの前記プロセッサ動作特性をファイルシステム上に記録すること,
前記計算機システム上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性およびプロセッサ特性情報に基づき,各プロセスを割り付けるプロセッサを優先的に選択すること,
との手順を有するプロセススケジューリング方法。」


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

本願優先日前に頒布され,原審の拒絶査定の理由である上記平成25年7月5日付けの拒絶理由通知において引用された,国際公開2007/38530号(2007年4月5日国際公開,以下,「引用文献2」という。訳には,パテントファミリーである特表2009-510618号公報を参照した。)には,関連する図面とともに,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

G 「Figure 1 illustrates the structure of an example many-core processor 100. Processor 100 comprises an 8-by-8 array of cores (e.g., core 110) sitting on a two- dimensional (2D) interconnect fabric 130. Each core may have its local memory (not shown in the figure). There are also shared memories (e.g., 120) attached to the interconnect fabric 130. Compared to processors that have a single core or only a few cores, the number of cores in a many-core processor is large. As a result, the size of each core in a many-core processor is small compared to those cores in a single-core or few- core processor. Although Figure 1 shows an example processor 100 which has only 64 cores, the number of cores in a many-core processor can vary and may be much larger than 64 (e.g., 256, 512, 1024). Processor 100 also comprises input/output (I/O) interconnects (not shown in the figure) to connect each core with peripheral devices (e.g., graphic devices). In one embodiment, I/O interconnects may surround all of the cores in the processor die. In another embodiment, I/O interconnects may be embedded among the cores.」(第3頁26行-第4頁7行)
訳; 「【0008】
図1は,例示的な多コア・プロセッサ100の構造を示している。プロセッサ100は,二次元(2D)相互接続ファブリック130上に座するコア(たとえばコア110)の8×8のアレイを有する。各コアは,そのローカルなメモリ(図示せず)を有しうる。相互接続ファブリック130に取り付けられた共有メモリ(たとえば120)もある。単一コアまたは少数コアしかもたないプロセッサに比べ,多コア・プロセッサ中のコアの数は多い。結果として,多コア・プロセッサ中の各コアの大きさは,単一コアまたは少数コア・プロセッサ中のコアに比べて小さい。図1が示す例示的なプロセッサ100は,64個のコアしかもたないが,多コア・プロセッサにおけるコアの数は変わることができ,64よりずっと多くてもよい(たとえば256,512,1024)。プロセッサ100はまた,各コアを周辺機器(たとえばグラフィック・デバイス)と接続するための入出力(I/O)相互接続(図示せず)をも有する。ある実施形態では,I/O相互接続は,プロセッサ・ダイにおけるコアすべてを取り囲んでいてもよい。別の実施形態では,I/O相互接続はコアの間に組み込まれてもよい。」

H 「Figure 6 shows another example computing system 600 where a many-core processor may be used. System 600 may comprise multiple processors such as processor 0 620A. One or more processors in system 600 may have many cores. The many-core processor(s) may have a dynamic profiling apparatus to build a dynamic profile for each core. Dynamic profiles may be built through periodic testing initiated by the dynamic profiling apparatus itself or through tests initiated by the OS. Each dynamic profile may include information on a core's maximum operating frequency, power consumption, power leakage, functional correctness, and other parameters. The dynamic profile may also include the trending information of these parameters. Processors in system 600 may be connected to each other using a system interconnect 610. System interconnect 610 may be a Front Side Bus (FSB). Each processor may be connected to Input/Output (IO) devices as well as memory 630 through the system interconnect.
…(中略)…
Figure 8 shows a block diagram of one example system 800 that uses a dynamic profile of each core in a many-core processor to improve the effectiveness of executing a task. System 800 may comprise dynamic profiles 810 for all of the cores in the many-core processor, a core binning module 820, a task controller 830, a reconfigurator 840, and a performance and power manager 850. Dynamic profiles 810 may be built and refreshed by a dynamic profiling apparatus as described in Figure 2. The dynamic profiles may be stored in a designated section of a memory shared by the cores in the many-core processor. The dynamic profiles are accessible by the OS.」(第10頁7行-第11頁8行)
訳; 「【0026】
図6は,多コア・プロセッサが使用されうるもう一つの例示的なコンピューティング・システム600を示している。システム600は,プロセッサ0 620Aのような複数プロセッサを含みうる。システム600内の一つまたは複数のプロセッサは多数のコアを有しうる。多コア・プロセッサ(単数または複数)は,各コアについて動的プロファイルを構築するための動的プロファイリング装置を有しうる。動的プロファイルは,動的プロファイリング装置自身によって開始される定期的な試験を通じて,あるいはOSによって開始される試験を通じて構築されうる。各動的プロファイルは,コアの最大動作周波数,電力消費,電力リーク,機能的な正しさおよび他のパラメータについての情報を含みうる。動的プロファイルはまた,これらのパラメータの傾向情報をも含みうる。システム600内の諸プロセッサは,システム相互接続610を使って互いに接続されうる。システム相互接続610は,フロント・サイド・バス(FSB)でありうる。各プロセッサは,システム相互接続を通じて,入出力(IO)デバイスならびにメモリ630に接続されうる。
…(中略)…
【0028】
図8は,タスク実行の効率を改善するために多コア・プロセッサ中の各コアの動的プロファイルを使う例示的なシステム800のブロック図を示している。システム800は,多コア・プロセッサ中のコアすべてについての動的プロファイル810,コア・ビン分けモジュール820,タスク・コントローラ830,再構成器840およびパフォーマンスおよび電力マネージャ850を有しうる。動的プロファイル810は,図2に記載されたような動的プロファイリング装置によって構築およびリフレッシュされうる。動的プロファイルは,多コア・プロセッサ内のコアによって供給されるメモリの指定されたセクション内に保存されうる。動的プロファイルはOSによってアクセス可能である。」

J 「Task allocator 830 as shown in Figure 8 may allocate and/or dynamically reallocate tasks to cores based on the current dynamic profiles of cores. In one embodiment, requirements of each task may be pre-determined based on task categories. For example, if a task is processing a large amount of data in real time, the task may require fast cores; and if a task is to be executed while the processor is operating on battery power, the task may require cores with a low level of power consumption. In another embodiment, the OS may analyze the task to determine its requirements. Based on the requirements of each task, the task allocator may assign the task to core(s) with corresponding characteristics or a combination of different cores so that the task's requirements can be met. If core profiles change during execution of a task, the task allocator may change the allocation dynamically to maintain the performance level devoted to that task.
…(中略)…
Performance and power manager 850 as shown in Figure 8 may re-allocate a task to a different combination of cores or rebalance the same set of cores in response to a changing environment. Moving a system from electrical power to battery power is one example where a re-allocation of tasks to cores that are less leaky and consume less power may be necessary. An increase in system load due to a high number of power hungry applications may also necessitate rebalancing of the workload among the cores. Thus, system and environment factors need to be considered in the dynamic management of the cores, in addition to the core profiles themselves. Techniques that balance voltage, frequency, body bias for a uni-core processor with performance requirements may be applied to a many-core environment with the additional optimization variable of number of available cores. For example, a speed stepping technique may be used to rebalance cores allocated to a task in response to a changing situation, in which case a core's speed may be reduced or increased by reducing or increasing its voltage supply, respectively; and a core's power consumption may be reduced by lower its operating speed and/or its voltage supply.」(第12頁11行-第13頁21行)
訳; 「【0032】
図8に示されるようなタスク割り当て器830は,コアの現在の動的プロファイルに基づいて,タスクをコアに割り当て,および/または動的に再割り当てしうる。ある実施形態では,各タスクの要求はタスク・カテゴリーに基づいてあらかじめ決定されてもよい。たとえば,タスクがリアルタイムで大量のデータを処理することであれば,そのタスクは高速コアを要求しうる;タスクが,プロセッサがバッテリー電力で動作中に実行されるものであれば,そのタスクは低レベルの電力消費をもつコアを要求しうる。もう一つの実施形態では,OSがタスクを解析してその要求を判別してもよい。各タスクの要求に基づいて,タスク割り当て器はタスクを,対応する特性をもつコア(単数または複数)に,あるいはタスクの要求が満たされるような異なるコアの組み合わせに割り当てうる。コア・プロファイルがタスクの実行中に変わる場合,タスク割り当て器は,そのタスクに割かれるパフォーマンス・レベルを維持するために,その割り当てを動的に変えてもよい。
…(中略)…
【0034】
図8に示されるようなパフォーマンスおよび電力マネージャ850は,変化する環境に応じて,タスクをコアの異なる組み合わせに割り当て直し,あるいは同じセットの諸コアを再バランスしうる。電源電力からバッテリー電力にシステムを移行することは,タスクを,よりリークが少なく,より消費電力が少ないコアに割り当て直すことが必要となりうる例である。多数の電力ハングリーなアプリケーションに起因するシステム負荷の増大も,コア間での作業負荷の再バランスを必要とすることがありうる。こうして,コア・プロファイル自身に加えて,システムおよび環境の因子が,コアの動的管理において考慮される必要がある。パフォーマンス要求をもつ単一コア・プロセッサについて電圧,周波数,ボディ・バイアスをバランスさせる技法は,利用可能なコアの数の追加的な最適化変数とともに,多コア環境に適用されうる。たとえば,スピード段階変化(stepping)技法は,変化する状況に応じてタスクに割り当てられるコアを再バランスさせるために使用されうる。この場合,コアのスピードが,その電圧供給を下げるか上げるかすることにより,それぞれ下げるか上げるかされうる。そしてコアの電力消費は,その動作スピードおよび/またはその電圧供給を下げることによって低下させられうる。」

K 「Figure 10 shows a flowchart of one example process 1000 for using a dynamic profile of each core in a many-core processor to improve the effectiveness of executing a task. Process 1000 may be executed after dynamic profiles of cores in the many-core processor have been built. At block 1010, a task may be received by the OS. At block 1020, the OS may analyze the task to determine its requirements (e.g., performance and power requirements). One example approach to determining a task's requirements is to look at data to be processed by the task. For example, if there is a large amount of data is to be processed in real time, the task probably needs fast cores. In some situations, the OS might not need to analyze the task to determine its requirements because these requirements are pre-characterized based on some predetermined task categories (e.g., mobile application to be powered by batteries may be pre-characterized as one that requires low power consumption). At block 1030, cores in the many-core processor may be grouped into different bins based on the cores' dynamic profiles as well as the task's requirements. In one embodiment, the binning process at this block may be partly or entirely performed before a task is even received.
At block 1040, the task may be allocated to cores whose characteristics may enable them to satisfy the requirements of the task. At block 1050, the interconnect fabric in the many-core processor may be reconfigured so that the cores performing the same task may be so connected to increase the available bandwidth and to reduce the latency across them. At block 1060, the task may be executed. During the process of executing the task, a changing environment may trigger re-allocation of a different set of cores to the task and/or rebalancing of the same set of cores.」(第14頁4-25行)
訳; 「【0036】
図10は,タスク実行の効率を改善するために多コア・プロセッサ中の各コアの動的プロファイルを使うための例示的なプロセス1000のフローチャートを示している。プロセス1000は,多コア・プロセッサ中のコアの動的プロファイルが構築されたのちに実行されうる。ブロック1010では,タスクがOSによって受領されうる。ブロック1020では,OSはタスクを解析してその要求(たとえばパフォーマンスおよび電力上の要求)を判別しうる。タスクの要求を判別するある例示的な手法は,タスクによって処理されるべきデータを見ることである。たとえば,リアルタイムで処理されるべき大量のデータがあれば,そのタスクはおそらく高速コアを必要とする。状況によっては,タスクの要求が何らかの所定のタスク・カテゴリーに基づいて事前に特徴付けられているため,OSがタスクの要求を判別するためにタスクを解析する必要はないこともありうる(たとえば,バッテリーを電源とするモバイル・アプリケーションは,低電力消費を要求するものとして事前に特徴付けされうる)。ブロック1030では,多コア・プロセッサ中のコアが,コアの動的プロファイルおよびタスクの要求に基づいて,異なる複数のビンにグループ化されうる。ある実施形態では,このブロックでのビン分けプロセスは,タスクが受け取られさえしないうちに部分的または完全に実行されうる。
【0037】
ブロック1040では,タスクがそのタスクの要求を満たせるような特性をもつコアに割り当てられうる。ブロック1050では,多コア・プロセッサにおける相互接続ファブリックが再構成されて,同じタスクを実行するコアどうしが接続されて,利用可能な帯域幅を増し,それらにわたる遅延を減らすようにされうる。ブロック1060では,タスクが実行されうる。タスクを実行するプロセスの間,変化する環境により,そのタスクへの異なるセットの諸コアの再割り当ておよび/または同じセットの諸コアの再バランスがトリガーされうる。」

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

(オ)上記Gの「図1は,例示的な多コア・プロセッサ100の構造を示している。プロセッサ100は,二次元(2D)相互接続ファブリック130上に座するコア(たとえばコア110)の8×8のアレイを有する。」との記載からすると,「多コア・プロセッサ」は,1つが複数のコアを有する構造となるプロセッサであると解され,また,上記Hの「図6は,多コア・プロセッサが使用されうるもう一つの例示的なコンピューティング・システム600を示している。システム600は,プロセッサ0 620Aのような複数プロセッサを含みうる。システム600内の一つまたは複数のプロセッサは多数のコアを有しうる。」との記載からすると,「コンピューティング・システム」は,多数のコアを有するプロセッサ,すなわち「多コア・プロセッサ」を複数含む態様をとり得ることが読みとれる。
また,上記Jの「図8に示されるようなタスク割り当て器830は,コアの現在の動的プロファイルに基づいて,タスクをコアに割り当て,および/または動的に再割り当てしうる。」との記載からすると,「多コア・プロセッサ」における各コアの動的プロファイルに基づいて,タスクを各コアに割り当てる方法が記載されていると解されるから,引用文献2には,
“複数の多コア・プロセッサを含むコンピューティング・システムにおけるタスク割り当て方法”
が記載されていると解される。

(カ)上記Hの「多コア・プロセッサ(単数または複数)は,各コアについて動的プロファイルを構築するための動的プロファイリング装置を有しうる。動的プロファイルは,動的プロファイリング装置自身によって開始される定期的な試験を通じて,あるいはOSによって開始される試験を通じて構築されうる。各動的プロファイルは,コアの最大動作周波数,電力消費,電力リーク,機能的な正しさおよび他のパラメータについての情報を含みうる。動的プロファイルはまた,これらのパラメータの傾向情報をも含みうる。」との記載からすると,各コアについての「動的プロファイル」は,動的プロファイリング装置,あるいは,OSが試験を通じて構築する性能,特性に関するデータであることが読みとれる。
また,上記Hの「動的プロファイルは,多コア・プロセッサ内のコアによって供給されるメモリの指定されたセクション内に保存されうる。動的プロファイルはOSによってアクセス可能である。」との記載からすると,各コアの「動的プロファイル」は多コア・プロセッサ内のメモリの保存され,当該「動的プロファイル」はOSがアクセス可能であると解されることから,引用文献2には,
“動的プロファイリング装置,あるいはOSが,各コアの動的プロファイルを構築して,OSがアクセス可能となるように保存”する態様
が記載されていると解される。

(キ)上記Jの「図8に示されるようなタスク割り当て器830は,コアの現在の動的プロファイルに基づいて,タスクをコアに割り当て,および/または動的に再割り当てしうる。」,「もう一つの実施形態では,OSがタスクを解析してその要求を判別してもよい。」との記載からすると,コアの現在の動的プロファイルに基づいて,タスクをコアに割り当てるために,OSがタスクを解析してその要求を判別することが読みとれる。
また,上記Kの「図10は,タスク実行の効率を改善するために多コア・プロセッサ中の各コアの動的プロファイルを使うための例示的なプロセス1000のフローチャートを示している。プロセス1000は,多コア・プロセッサ中のコアの動的プロファイルが構築されたのちに実行されうる。ブロック1010では,タスクがOSによって受領されうる。ブロック1020では,OSはタスクを解析してその要求(たとえばパフォーマンスおよび電力上の要求)を判別しうる。タスクの要求を判別するある例示的な手法は,タスクによって処理されるべきデータを見ることである。」との記載からすると,OSは受領したタスクについて解析し,そのパフォーマンスおよび電力上の要求を判別すると解されることから,引用文献2には,
“OSが,受領したタスクを解析して,前記タスクのパフォーマンスおよび電力上の要求を判別”する態様
が記載されていると解される。

(ク)上記Jの「図8に示されるようなタスク割り当て器830は,コアの現在の動的プロファイルに基づいて,タスクをコアに割り当て,および/または動的に再割り当てしうる。」,「各タスクの要求に基づいて,タスク割り当て器はタスクを,対応する特性をもつコア(単数または複数)に,あるいはタスクの要求が満たされるような異なるコアの組み合わせに割り当てうる。」との記載からすると,タスク割り当て器が,各コアの現在の動的プロファイルに基づいて各タスクをコアに割り当てるところ,各タスクの要求も考慮して対応する特性をもつコアに割り当てを行っているといえる。
そうすると,上記Kの「ブロック1030では,多コア・プロセッサ中のコアが,コアの動的プロファイルおよびタスクの要求に基づいて,異なる複数のビンにグループ化されうる。ある実施形態では,このブロックでのビン分けプロセスは,タスクが受け取られさえしないうちに部分的または完全に実行されうる。…(中略)…ブロック1040では,タスクがそのタスクの要求を満たせるような特性をもつコアに割り当てられうる。」との記載からみて,各コアの現在の動的プロファイル,及び各タスクの要求に基づいて,各タスクを対応する特性をもつコアに割り当てることが読みとれるから,引用文献2には,
“タスク割り当て器が,各コアの現在の動的プロファイル,及び各タスクの要求に基づいて,各タスクを対応する特性をもつコアに割り当てる”態様
が記載されていると解される。

以上,(オ)乃至(ク)で指摘した事項から,引用文献2には,次の発明(以下,「引用文献2発明」という。)が記載されているものと認める。

「複数の多コア・プロセッサを含むコンピューティング・システムにおけるタスク割り当て方法であって,
動的プロファイリング装置,あるいはOSが,各コアの動的プロファイルを構築して,OSがアクセス可能となるように保存し,
OSが,受領したタスクを解析して,前記タスクのパフォーマンスおよび電力上の要求を判別し,
タスク割り当て器が,各コアの現在の前記動的プロファイル,及び各タスクの前記要求に基づいて,各タスクを対応する特性をもつコアに割り当てる,タスク割り当て方法。」


(3)対比

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

(3-1)引用発明の「計算機システム」は複数のプロセッサを含み,各プロセッサがプロセスを実行するところ,本件補正発明の「マルチプロセッサ・システム」は複数のコアを備えたプロセッサを含み,各コアがアプリケーションを実行するものであり,引用発明の「プロセッサ」と本件補正発明の「コア」は“実行ユニット”とみることができるから,引用発明の「計算機システム」と本件補正発明の「マルチプロセッサ・システム」とは,“複数の実行ユニットを含むマルチプロセッサ・システム”である点で共通しているといえる。
また,本件補正発明の「自動ワークロード分配」は,プロセッサ内のコアにアプリケーションの実行を割り付けるスケジューリングのことであり,本件補正発明の「アプリケーション」は引用発明の「プロセス」に相当することも明らかである。
そうすると,引用発明の「複数のプロセッサを含み,前記複数のプロセッサの少なくとも一部にはそれぞれ前記プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段をそれぞれ有する計算機システムにおいて,実行するプロセスを前記複数のプロセッサのいずれかに割り付けるスケジューリング方法」と,本件補正発明の「複数のコアを備えたプロセッサを含むマルチプロセッサ・システム内での自動ワークロード分配のための方法」とは,後記する点で相違するものの,“複数の実行ユニットを含むマルチプロセッサ・システム内での自動ワークロード分配のための方法”である点で共通しているといえる。

(3-2)引用発明では,「前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスのプロセッサ動作特性を採取する」ところ,「前記プロセス」が実行される際にプロセッサ動作特性が採取されると解されるから,引用発明の「前記プロセス」と本件補正発明の「前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上で実行中のアプリケーション」とは,“前記マルチプロセッサ・システムの前記複数の実行ユニット上で実行するアプリケーション”である点で共通しているといえる。
また,引用発明では,プロセスが実行される際に「プロセッサ動作特性」が採取されるところ,ここでの「プロセッサ動作特性」とは,メモリアクセス待ち時間,メモリアクセス量等,各プロセッサがプロセスを実行する際のハードウェア利用に係る動作特性データであると解されることから,引用発明のプロセスの「プロセッサ動作特性」と本件補正発明のアプリケーションによる「ハードウェア利用統計」とは上位概念では,アプリケーションによる“ハードウェア利用に係るデータ”で共通するといえる。
そうすると,引用発明の「前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスの前記プロセッサ動作特性を採取する」手順と,本件補正発明の「前記マルチプロセッサ・システムの前記複数のコアを備えたプロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得するステップ」とは,後記する点で相違するものの,“前記マルチプロセッサ・システムの前記複数の実行ユニット上で実行するアプリケーションによるハードウェア利用に係るデータを取得するステップ”である点で共通しているといえる。

(3-3)引用発明では,「採取した各プロセスの前記プロセッサ動作特性をファイルシステム上に記録する」ところ,「各プロセスのプロセッサ動作特性」をファイルシステム上に格納しているとみることができることは明らかである。
また,上記(3-2)の検討のとおり,引用発明のプロセスの「プロセッサ動作特性」と本件補正発明のアプリケーションによる「ハードウェア利用統計」とは上位概念では,アプリケーションによる“ハードウェア利用に係るデータ”で共通するといえるから,引用発明の「採取した各プロセスの前記プロセッサ動作特性をファイルシステム上に記録する」手順と,本件補正発明の「前記ハードウェア利用統計を格納するステップ」とは,後記する点で相違するものの,“前記ハードウェア利用に係るデータを格納するステップ”である点で共通しているといえる。

(3-4)引用発明では,各プロセスを割り付ける計算機システム上の実行ユニットは「プロセッサ」であり,「プロセッサ特性情報」は実行ユニットである各プロセッサのハードウェア性能データとみることができるところ,本件補正発明では,各アプリケーションを割り当てる実行ユニットはプロセッサの「コア」であり,「コア性能データ」は実行ユニットの性能データであると解されることから,引用発明の「プロセッサ特性情報」と本件補正発明の「コア性能データ」とは,“実行ユニット性能データ”である点で共通しているといえる。
また,本件補正発明では,「ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てる」ところ,「アプリケーションの処理消費属性に対応する性能データ」は,アプリケーションの実行負荷に対応するコア性能データとみることができ,上記「4-1.特許法第36条(記載要件)について」で検討したとおり,「ハードウェア利用統計を前記プロセッサのコア性能データと比較する」とはどのような比較処理を特定しているか明確ではないものの,本件補正発明は,上位概念では,ハードウェア利用統計と,プロセッサのコア性能データとに基づきコアにアプリケーションの実行を割り当てているといえる。
一方,引用発明では,各プロセスのプロセッサ動作特性およびプロセッサ特性情報に基づき,プロセッサに各プロセスを割り付けると解されるところ,プロセスの実行負荷に対応したプロセッサ特性情報を有するプロセッサに各プロセスを割り付けていることは明らかである。
そうすると,引用発明の「前記計算機システム上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性およびプロセッサ特性情報に基づき,各プロセスを割り付けるプロセッサを優先的に選択する」手順と,本件補正発明の「前記ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てるステップ」とは,後記する点で相違するものの,“前記ハードウェア利用に係るデータと,実行ユニット性能データとに基づき,前記アプリケーションの実行負荷に対応する性能データを有する実行ユニットにアプリケーションの実行を割り当てるステップ”である点で共通しているといえる。

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

(一致点)

「複数の実行ユニットを含むマルチプロセッサ・システム内での自動ワークロード分配のための方法であって,
前記マルチプロセッサ・システムの前記複数の実行ユニット上で実行するアプリケーションによるハードウェア利用に係るデータを取得するステップと,
前記ハードウェア利用に係るデータを格納するステップと,
前記ハードウェア利用に係るデータと,実行ユニット性能データとに基づき,前記アプリケーションの実行負荷に対応する性能データを有する実行ユニットにアプリケーションの実行を割り当てるステップと,
を含む,方法。」

(相違点1)

自動ワークロード分配を行うシステム構成に関し,本件補正発明は,「複数のコアを備えたプロセッサを含むマルチプロセッサ・システム」であるのに対して,引用発明は,「複数のプロセッサを含」む「計算機システム」である点。

(相違点2)

アプリケーションによるハードウェア利用に係るデータの取得に関し,本件補正発明は,「プロセッサ上で実行中のアプリケーションによるハードウェアの利用度を測定し,ハードウェア利用統計を取得」し,「格納する」のに対して,引用発明は,「プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスの前記プロセッサ動作特性を採取」し,「ファイルシステム上に記録する」点。

(相違点3)

実行ユニットへのアプリケーションの実行の割り当てに関して,本件補正発明は,「ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てる」のに対して,引用発明は,「計算機システム上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性およびプロセッサ特性情報に基づき,各プロセスを割り付けるプロセッサを優先的に選択する」点。


(4)当審の判断

上記相違点1乃至3について検討する。

(4-1)相違点1および相違点3について

本件補正発明では,「ハードウェア利用統計を前記プロセッサのコア性能データと比較することにより,前記アプリケーションの処理消費属性に対応する性能データを有するコアにアプリケーションの実行を割り当てる」ところ,上記「4-1.特許法第36条(記載要件)について」で検討したとおり,「ハードウェア利用統計を前記プロセッサのコア性能データと比較する」とはどのような比較処理を特定しているか明確ではないが,文言どおりの,ハードウェア利用統計のデータとプロセッサのコア性能データを定量的に比較することを意味すると認定して以下検討する。

引用発明は計算機システムが複数のプロセッサを含み,各プロセッサが実行ユニットとしてプロセスを実行するところ,引用文献2発明のような,複数の多コア・プロセッサを含むコンピューティング・システムにおいて,タスク割り当て器が,各コアの現在の動的プロファイル,及び各タスクの要求に基づいて,各タスクを対応する特性をもつコアに割り当てる旨の技術が本願優先日前には公知であった。
また,引用発明では,各プロセスのプロセッサ動作特性およびプロセッサ特性情報に基づき,プロセッサに各プロセスを割り付けるところ,引用文献1の上記Fの記載からみて,メモリアクセス待ち時間,メモリアクセス量等が異なる各プロセスのプロセッサ動作特性を考慮して,複数のプロセッサの中から最適なプロセッサ特性情報を有するプロセッサを選択して各プロセスを割り付けていることから,その過程において各プロセスのプロセッサ動作特性とプロセッサ特性情報とを定量的に比較するなどして,両者の組合せを作成しているといえる。
そして,引用発明と,引用文献2発明とは,プロセス(タスク)の実行負荷と実行ユニットの特性を考慮して,適切な実行ユニットにプロセス(タスク)を割り当てることを課題としている点で共通していることは明らかである。
そうすると,引用発明において,上記引用文献2発明を適用し,プロセスの実行ユニットをプロセッサ内のコアとして,適宜,コアの特性情報をコアの動作特性と比較することにより,プロセスの実行負荷に対応する動作特性を有するコアにプロセスの実行を割り当てること,すなわち,相違点1および相違点3に係る構成とすることは,当業者が容易に想到し得たことである。

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

(4-2)相違点2について

引用発明は,プロセッサでプロセスを実行する際に性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスのプロセッサ動作特性を採取し,ファイルシステム上に記録するところ,メモリアクセス待ち時間,メモリアクセス量等はプロセッサについてのプロセス実行負荷に対応したデータであると解され,実行ユニットについてのハードウェア利用に係るデータにほかならない。
また,複数の多コア・プロセッサを含むコンピューティング・システムにおいて,各コアにタスクを割り当てて実行する旨の技術は,例えば,引用文献2(上記J参照)に記載されるように本願優先日前には当該技術分野の周知技術であった。
そうすると,引用発明において,上記周知技術を適用し,プロセスの実行ユニットをプロセッサ内のコアとして,適宜,各コアについてプロセス実行負荷に対応したハードウェアの利用度を測定し,ハードウェア利用統計を取得し,格納すること,すなわち,相違点2に係る構成とすることは,当業者が容易に想到し得たことである。

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

(4-3)小結

上記で検討したごとく,相違点1乃至3は格別のものではなく,そして,本件補正発明の奏する作用効果は,上記引用発明及び当該技術分野の周知技術の奏する作用効果から予測される範囲内のものにすぎず,格別顕著なものということはできない。
したがって,本件補正発明は,上記引用発明,引用文献2発明及び当該技術分野の周知技術に基づいて,当業者が容易に発明をすることができたものであり,特許法第29条第2項の規定により,特許出願の際独立して特許を受けることができない。


4-3.中結

上記4-1.のとおり,本件補正後の発明の詳細な説明及び特許請求の範囲の記載は,特許法第36条第4項第1号,同条第6項第2号に規定する要件を満たしておらず,本件補正後の請求項1,3,5に係る発明は,この理由によって特許出願の際独立して特許を受けることができないものである。

上記4-2.のとおり,本件補正後の請求項1に係る発明は,その出願前に日本国内又は外国において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基づいて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許出願の際独立して特許を受けることができないものである。

したがって,本件補正は,特許法第17条の2第6項において準用する同法第126条第7項の規定に違反する。


5.結び

上記3.のとおり,本件補正は,特許法第17条の2第5項の規定に違反するので,同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。

上記4.のとおり,本件補正は,仮に特許法第17条の2第5項第2号に掲げる事項を目的としたものであるとしても,特許法第17条の2第6項において準用する同法第126条第7項の規定に違反するので,同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。

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


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

1.本願発明の認定

平成26年4月3日付けの手続補正は上記のとおり却下されたので,本件補正後の請求項1に対応する本件補正前の請求項に係る発明(以下,「本願発明」という。)は,平成25年10月8日付けの手続補正により補正された特許請求の範囲の請求項1に記載された事項により特定される,以下のとおりのものである。

「 マルチプロセッサ・システム内での自動ワークロード分配のための方法であって,
前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するステップと,
前記マルチプロセッサ・システムの前記プロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するステップと,
前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるステップと,
を含む,方法。」

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

原査定の拒絶の理由に引用された,引用発明は,前記「第2 平成26年4月3日付けの手続補正についての補正却下の決定」の「4.独立特許要件」の「4-2.特許法第29条第2項(進歩性)について」の「(2)引用文献」に記載したとおりである。

3.対比

本願発明と引用発明とを対比する。

(1)引用発明の「計算機システム」は複数のプロセッサを含み,各プロセッサがプロセスを実行することから,引用発明の「計算機システム」は本願発明の「マルチプロセッサ・システム」に相当するといえる。
また,本願発明の「自動ワークロード分配」は,プロセッサにアプリケーションの実行を割り付けるスケジューリングのことであり,本願発明の「アプリケーション」は引用発明の「プロセス」に相当することも明らかである。
そうすると,引用発明の「複数のプロセッサを含み,前記複数のプロセッサの少なくとも一部にはそれぞれ前記プロセッサのプログラム実行中におけるプロセッサ動作特性を採取する性能測定手段をそれぞれ有する計算機システムにおいて,実行するプロセスを前記複数のプロセッサのいずれかに割り付けるスケジューリング方法」と,本願発明の「マルチプロセッサ・システム内での自動ワークロード分配のための方法」とは, “マルチプロセッサ・システム内での自動ワークロード分配のための方法”である点で共通しているといえる。

(2)引用発明では,プロセスが実行される際に「プロセッサ動作特性」が採取されるところ,ここでの「プロセッサ動作特性」とは,メモリアクセス待ち時間,メモリアクセス量等,各プロセッサがプロセスを実行する際のハードウェア利用に係る動作特性データであると解されることから,引用発明のプロセスの「プロセッサ動作特性」と本願発明のアプリケーションによる「システム使用の特徴」とは上位概念では,アプリケーションによる“ハードウェア利用に係る特性”で共通するといえる。
そうすると,引用発明の「前記プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスの前記プロセッサ動作特性を採取する」手順と,本願発明の「前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定するステップ」とは,後記する点で相違するものの,“前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるハードウェア利用に係る特性を取得するステップ”である点で共通しているといえる。

(3)引用発明では,「採取した各プロセスの前記プロセッサ動作特性をファイルシステム上に記録する」ところ,「各プロセスのプロセッサ動作特性」をファイルシステム上に格納しているとみることができ,また,上記(2)の検討のとおり,引用発明のプロセスの「プロセッサ動作特性」と本願発明のアプリケーションによる「システム使用の特徴」とは上位概念では,アプリケーションによる“ハードウェア利用に係る特性”で共通するといえるから,引用発明の「採取した各プロセスの前記プロセッサ動作特性をファイルシステム上に記録する」手順と,本願発明の「前記マルチプロセッサ・システムの前記プロセッサ上での前記アプリケーションによるシステム使用の特徴に関するデータを格納するステップ」とは,後記する点で相違するものの,“前記ハードウェア利用に係る特性に関するデータを格納するステップ”である点で共通しているといえる。

(4)引用発明では,各プロセスを割り付ける計算機システム上の実行ユニットは「プロセッサ」であり,「プロセッサ特性情報」は実行ユニットである各プロセッサのハードウェアに関する特徴とみることができるところ,引用発明の「プロセッサ特性情報」は本願発明の「プロセッサに関する特徴」に相当するといえる。
また,本願発明では,「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てる」ところ,「アプリケーションの処理消費属性に対応する特徴」は,アプリケーションの実行負荷に対応するプロセッサに関する特徴とみることができ,本願発明は上位概念では,システム使用の特徴に関するデータと,プロセッサに関する特徴とに基づきプロセッサにアプリケーションの実行を割り当てているといえる。
一方,引用発明では,各プロセスのプロセッサ動作特性およびプロセッサ特性情報に基づき,プロセッサに各プロセスを割り付けると解されるところ,プロセスの実行負荷に対応したプロセッサ特性情報を有するプロセッサに各プロセスを割り付けていることは明らかである。
そうすると,引用発明の「前記計算機システム上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性およびプロセッサ特性情報に基づき,各プロセスを割り付けるプロセッサを優先的に選択する」手順と,本願発明の「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てるステップ」とは,後記する点で相違するものの,“前記ハードウェア利用に係る特性に関するデータと,前記マルチプロセッサ・システムのプロセッサに関する特徴とに基づき,前記アプリケーションの実行負荷に対応する前記プロセッサに関する特徴を有するプロセッサにアプリケーションの実行を割り当てるステップ”である点で共通しているといえる。

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

(一致点)

「マルチプロセッサ・システム内での自動ワークロード分配のための方法であって,
前記マルチプロセッサ・システムのプロセッサ上で実行中のアプリケーションによるハードウェア利用に係る特性を取得するステップと,
前記ハードウェア利用に係る特性に関するデータを格納するステップと,
前記ハードウェア利用に係る特性に関するデータと,前記マルチプロセッサ・システムのプロセッサに関する特徴とに基づき,前記アプリケーションの実行負荷に対応する前記プロセッサに関する特徴を有するプロセッサにアプリケーションの実行を割り当てるステップと,
を含む,方法。」

(相違点1)

アプリケーションによるハードウェア利用に係る特性の取得に関し,本願発明は,「プロセッサ上で実行中のアプリケーションによるシステム使用の特徴を測定」し,「格納する」のに対して,引用発明は,「プロセッサのいずれかでプロセスを実行する際に前記性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスの前記プロセッサ動作特性を採取」し,「ファイルシステム上に記録する」点。

(相違点2)

プロセッサへのアプリケーションの実行の割り当てに関して,本願発明は,「データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てる」のに対して,引用発明は,「計算機システム上で実行中若しくは実行可能な各プロセスの前記プロセッサ動作特性およびプロセッサ特性情報に基づき,各プロセスを割り付けるプロセッサを優先的に選択する」点。

4.当審の判断

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

(1)相違点1について

引用発明は,プロセッサでプロセスを実行する際に性能測定手段を制御して,メモリアクセス待ち時間,メモリアクセス量等プロセッサ内部で発生する種々の事象を計測し,前記プロセスのプロセッサ動作特性を採取し,ファイルシステム上に記録するところ,メモリアクセス待ち時間,メモリアクセス量等はプロセッサについてのプロセス実行負荷に対応したデータであると解され,プロセッサについてのハードウェア利用に係る特性にほかならない。
そして,プロセス実行負荷を評価するために,システム使用の特徴を測定することは,当該技術分野の周知技術であった。
そうすると,引用発明において,上記周知技術を適用し,適宜,各プロセッサについてプロセス実行負荷に対応したシステム使用の特徴を測定し,格納すること,すなわち,相違点1に係る構成とすることは,当業者が容易に想到し得たことである。

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

(2)相違点2について

本願発明では,「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較することにより,前記アプリケーションの処理消費属性に対応する特徴を有するプロセッサにアプリケーションの実行を割り当てる」ところ,「前記データを前記マルチプロセッサ・システムのプロセッサに関する特徴と比較する」が特定する事項は,文言どおりの,システム使用の特徴に関するデータとプロセッサに関する特徴を定量的に比較することを意味すると認定して以下検討する。

引用発明では,各プロセスのプロセッサ動作特性およびプロセッサ特性情報に基づき,プロセッサに各プロセスを割り付けるところ,引用文献1の上記Fの記載からみて,メモリアクセス待ち時間,メモリアクセス量等が異なる各プロセスのプロセッサ動作特性を考慮して,複数のプロセッサの中から最適なプロセッサ特性情報を有するプロセッサを選択して各プロセスを割り付けていることから,その過程において各プロセスのプロセッサ動作特性とプロセッサ特性情報とを定量的に比較するなどして,両者の組合せを作成しているといえる。
そうすると,引用発明において,適宜,プロセッサの特性情報をプロセッサの動作特性と比較することにより,プロセスの実行負荷に対応する動作特性を有するプロセッサにプロセスの実行を割り当てること,すなわち,相違点2に係る構成とすることは,当業者が容易に想到し得たことである。

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

(3)小結

上記で検討したごとく,相違点1および2は格別のものではなく,そして,本願発明の奏する作用効果は,上記引用発明及び当該技術分野の周知技術の奏する作用効果から予測される範囲内のものにすぎず,格別顕著なものということはできない。
したがって,本願発明は,上記引用発明,当該技術分野の周知技術に基づいて,当業者が容易に発明をすることができたものである。

5.むすび

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

よって,結論のとおり審決する。
 
審理終結日 2014-10-10 
結審通知日 2014-10-14 
審決日 2014-10-29 
出願番号 特願2008-314581(P2008-314581)
審決分類 P 1 8・ 121- Z (G06F)
P 1 8・ 575- Z (G06F)
P 1 8・ 572- Z (G06F)
最終処分 不成立  
前審関与審査官 田中 幸雄  
特許庁審判長 山崎 達也
特許庁審判官 辻本 泰隆
小林 大介
発明の名称 マルチコア・プロセッサ上での自律型ワークロード分配のための方法、装置、およびシステム  
代理人 上野 剛史  
代理人 太佐 種一  

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