• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 特36条6項1、2号及び3号 請求の範囲の記載不備 取り消して特許、登録 G06F
審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1334052
審判番号 不服2016-7353  
総通号数 216 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2017-12-28 
種別 拒絶査定不服の審決 
審判請求日 2016-05-19 
確定日 2017-11-21 
事件の表示 特願2014-505374「論理コアの動的マッピング」拒絶査定不服審判事件〔平成24年10月18日国際公開,WO2012/142512,平成26年 6月19日国内公表,特表2014-514660,請求項の数(14)〕について,次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は,特許すべきものとする。 
理由 第1 手続の経緯
本願は,2012年4月13日(パリ条約による優先権主張外国庁受理2011年4月14日,米国)を国際出願日とする出願であって,平成27年6月12日付けで拒絶理由通知がされ,同年10月21日付けで意見書が提出され,平成28年1月15日付けで拒絶査定(原査定)がされ,これに対し,同年5月19日に拒絶査定不服審判の請求がされると同時に手続補正がされ,同年7月5日付けで審査官により特許法164条3項の規定に基づく報告がされ,平成29年6月20日付けで拒絶理由(以下,「当審拒絶理由」という。)が通知され,同年9月27日付けで意見書が提出されるとともに,手続補正がされたものである。

第2 原査定の概要
原査定(平成28年1月15日付け拒絶査定)の概要は次のとおりである。

本願請求項1-15に係る発明は,以下の引用文献A-Cに基づいて,その発明の属する技術の分野における通常の知識を有する者(以下,「当業者」という。)が容易に発明できたものであるから,特許法29条2項の規定により特許を受けることができない。

引用文献等一覧
A.特表2008-513912号公報
B.特開2008-234191号公報
C.特開2006-127462号公報

第3 当審拒絶理由の概要
当審拒絶理由の概要は次のとおりである。

(理由1)
本願請求項1-14に係る発明は,以下の引用文献1-2に基づいて,当業者が容易に発明できたものであるから,特許法29条2項の規定により特許を受けることができない。

引用文献等一覧
1.特開2006-133995号公報(当審において新たに引用した文献)
2.特表2009-503728号公報(当審において新たに引用した文献:周知技術を示す文献)

(理由2)
本件出願は,明細書,特許請求の範囲及び図面の記載が下記の点で不備のため,特許法36条6項2号に規定する要件を満たしていない。


(1)「再マッピング」が,具体的にどのようなことを行うものか,不明確である。
すなわち,特許請求の範囲には,当該「再マッピング」につき,「物理的コアに再マッピング」したり,「論理コアを再マッピング」したり,「再マッピングに基づい」たり,「再マッピングを決定」したりすることは特定されているものの,当該「再マッピング」が,具体的にどのようなことを行うのか明確でなく,また,「マッピング」と「再マッピング」の違いも,当該特許請求の範囲の記載のみからは把握できない。
なお,明細書の発明の詳細な説明においては,明細書段落34に,「動的再マッピング」の同明細書内での定義は見受けられるものの,当該記載は,「BIOS130がプロセッサ110のためのブート処理を行った後に行われる再マッピングを指す」ものであることのみを説示するに留まり,「再マッピング」自体が具体的に何を行うものであるかは,上記記載に続く,「換言すれば,一実施形態において,割当ユニット114は,オペレーティングシステム122がロードされて実行状態となった後,論理コアを物理的コア112へ再マッピングするように構成されている。」との説示によっても不明である。

よって,当該「再マッピング」との特定事項が存在する,請求項1乃至14に係る発明は不明確である。

(2)物理的コアに論理コアをマッピングする時に,タスクの割当てを具体的にどのように行っているのか不明である。
また,「タスク」と「論理コア」との関係も,特許請求の範囲には,「プロセッサ」が「前記複数の物理的コアに対する論理コアのマッピングを保存するように構成」されていて,「前記マッピング」が,単に「前記複数の物理的コアにタスクを割り当てるために、オペレーティングシステムによって使用可能である」ことのみが特定されているに過ぎず,両者が具体的にどのような関連を有するものであるかを明確に特定することができない。

よって,請求項1乃至14に係る発明は不明確である。

第4 本願発明
本願請求項1-14に係る発明(以下,それぞれ「本願発明1」-「本願発明14」という。)は,平成29年9月27日付けの手続補正で補正された特許請求の範囲の請求項1-14に記載された事項により特定される発明であり,本願発明1-14は以下のとおりの発明である。

「【請求項1】
プロセッサであって,
複数の物理的コアであって,前記プロセッサは,前記複数の物理的コアに対する論理コアのマッピングを保存するように構成されており,
前記マッピングは,前記複数の物理的コアにタスクを割り当てるために,オペレーティングシステムによって使用可能である,複数の物理的コアと,
前記プロセッサのブート処理の後,前記複数の物理的コアに対する前記論理コアのマッピングを変更し,
前記論理コアの前回のマッピングの変更が行われてから経過した時間の長さを決定し,
前記時間の長さが閾値を超えるのに応じて,前記論理コアのマッピングを変更するように構成された割当ユニットと,
を備える,プロセッサ。

【請求項2】
前記割当ユニットは,前記複数の物理的コアのうち1つ以上がアイドル状態に入った旨を示す指標を受信するように構成されており,前記割当ユニットは,前記指標の受信に応じて,前記論理コアのマッピングを変更するように構成されている,請求項1に記載のプロセッサ。

【請求項3】
前記プロセッサは,前記複数の物理的コアのうち第1の物理的コアが前記アイドル状態に入ったのに応じて,前記第1の物理的コアの実行状態を保存するように構成されており,前記プロセッサは,前記第1の物理的コアが前記アイドル状態を終了したのに応じて,前記複数の物理的コアのうち第2の物理的コアの実行状態を前記第1の物理的コアにロードするように構成されている,請求項2に記載のプロセッサ。

【請求項4】
前記割当ユニットは,前記複数の物理的コアのうち1つ以上の物理的コアそれぞれのワークロードを決定するように構成されており,前記割当ユニットは,前記1つ以上の決定されたワークロードに基づいて,前記論理コアのうち1つ以上の論理コアの前記複数の物理的コアのうち1つ以上の物理的コアに対するマッピングを変更するように構成されている,請求項1に記載のプロセッサ。

【請求項5】
前記割当ユニットは,前記複数の物理的コアのうち1つ以上の物理的コアについての温度情報を受信するように構成されており,前記割当ユニットは,前記受信した温度情報に基づいて,前記論理コアのうち1つ以上の論理コアの前記複数の物理的コアのうち1つ以上の物理的コアに対するマッピングを変更するように構成されている,請求項1に記載のプロセッサ。

【請求項6】
前記プロセッサは,前記複数の物理的コアのうち第1の物理的コアの実行状態と,前記複数の物理的コアのうち第2の物理的コアの実行状態とを保存するように構成されており,前記プロセッサは,前記割当ユニットが前記第1の物理的コア及び第2の物理的コアにマッピングされた論理コアのマッピングを変更するのに応じて,前記第2の物理的コアの保存された実行状態を前記第1の物理的コアにロードし,前記第1の物理的コアの保存された実行状態を前記第2の物理的コアにロードするように構成されている,請求項1に記載のプロセッサ。

【請求項7】
前記プロセッサは,前記複数の物理的コアのうち1つの物理的コアをオーバークロックするように構成されており,前記割当ユニットは,前記物理的コアがオーバークロックされている時間の長さに基づいて,論理コアを前記オーバークロックされた物理的コアにマッピングするように構成されている,請求項1に記載のプロセッサ。

【請求項8】
前記割当ユニットは,前記論理コアの全てのマッピングを変更することなく,前記複数の物理的コアのうちいくつかの物理的コアへの,前記論理コアのうち一部の論理コアのマッピングを変更するように構成されている,請求項1に記載のプロセッサ。

【請求項9】
プロセッサ上の複数の物理的コアが1組のタスクを行うステップであって,前記複数の物理的コアに対する論理コアのマッピングに基づいて,前記1組のタスクが割り当てられるステップと,前記プロセッサ内の割当回路が,前記論理コアの前記マッピングが行われてから経過した時間の長さを決定するステップと,前記時間の長さが閾値を超えるのに応じて,前記割当回路が,オペレーティングシステムの実行中に,前記論理コアの前記複数の物理的コアに対するマッピングを変更するステップであって,前記マッピングの変更に基づいて,追加の組のタスクが割り当てられるステップと,を含む方法。

【請求項10】
論理コアが,前記複数の物理的コアのうち第1の物理的コアから前記複数の物理的コアのうち第2の物理的コアにマッピングが変更されるのに応じて,前記プロセッサが,現在の実行状態を,前記第1の物理的コアから前記第2の物理的コアに転送するステップをさらに含む,請求項9に記載の方法。

【請求項11】
前記転送するステップは,前記実行状態を,前記プロセッサに接続されたメモリに保存し,前記実行状態を,前記第2の物理的コア上に再ロードするステップを含む,請求項10に記載の方法。

【請求項12】
前記転送するステップは,前記第2の物理的コアをアイドル状態から終了させて,前記第1の物理的コアの実行状態を再ロードするステップを含む,請求項11に記載の方法。

【請求項13】
前記プロセッサは,前記複数の物理的コアのうちいくつかの物理的コアの性能状態に基づいて,前記マッピングの変更を決定する,請求項9に記載の方法。

【請求項14】
前記マッピングを変更するステップは,論理コアを,より高い性能状態にある第1の物理的コアからより低い性能状態にある第2の物理的コアにマッピングするステップを含む,請求項13に記載の方法。」

第5 引用文献,引用発明等
1.引用文献1について
平成29年6月20日付けの拒絶の理由に引用された引用文献1には,図面とともに次の事項が記載されている。(下線は当審で付加。以下同様。)

(ア)「【背景技術】
【0002】
従来から,複数のCPU(プロセッサ)を備えた半導体集積回路が知られている(以下マルチコアプロセッサと呼ぶ)。マルチコアプロセッサにおいては複数のプロセッサが各々独自のタスクを実行しており,その動作状況に応じてそれぞれのプロセッサの温度が上昇する。プロセッサは,ある規定の温度に達するまで上昇すると,正常動作が不能となったり,物理的に破壊されたりするおそれがある。」

(イ)「【0011】
図示するように,本実施形態に係るプロセッサシステム1は,マルチコアプロセッサ10,メインメモリ20,システムコントローラ40,周辺温度センサ50-1?50-l(l:1以上の自然数),DMA(Direct Memory Access)コントローラ60,ハードディスクドライブ70,及びLANアダプタ80を備えている。これらは,バスによって互いにデータ通信可能に接続されている。
【0012】
マルチコアプロセッサ10は,m個(m:2以上の自然数)のプロセッサ11-1?11-m,及びプロセッサ11-1?11-m毎に設けられた温度センサ12-1?12-mを備えている。
…(中略)…
温度センサ12-1?12-mは,それぞれ対応するプロセッサ11-1?11-mの温度を測定する。」

(ウ)「【0018】
上記構成のプロセッサシステム1において,各プロセッサ11-1?11-mはメインメモリ20を共有することも出来るし,また各プロセッサ11-1?11-mが単独で動作することも出来る。また,各プロセッサ11-1?11-mの温度情報は,各プロセッサ11-1?11-m経由で読み出すことも出来る。但し,下記ではプロセッサ11-1?11-mのいずれかにおいてオペレーティングシステムが動作し,その他のプロセッサの制御を行うものとし,上記温度情報も該プロセッサによって処理される場合を例に挙げて説明する。」

(エ)「【0020】
図示するようにメインメモリ20は,タスクコントロールブロック21,プロセッサ発熱テーブル26,低下温度テーブル27,タスクプログラム28-1?28-n(nは1以上の自然数),温度情報テーブル29,タスク管理プログラム30,オペレーティングシステム31,及びコンテキストセーブエリア(Context save area)32を有している。
【0021】
タスクコントロールブロック21は,優先順位テーブル22,ディスパッチテーブル(Dispatch table)23,上昇温度テーブル24,及び処理時間テーブル25を有している。優先順位テーブル22は,複数のタスクの処理すべき優先順位情報を保持する。ディスパッチテーブル23は,タスクとプロセッサ11-1?11-mとの対応関係情報を保持する。上昇温度テーブル24は,タスクと,各タスクを実行した際のプロセッサ11-1?11-mの上昇温度との関係情報を保持する。処理時間テーブル25は,タスクと,各タスクを実行するために必要な処理時間との関係情報を保持する。」

(オ)「【0029】
<システム初期化>
最初に(例えば電源投入時),システムの初期化が行われる。初期化にあたってオペレーティングシステム31は,システムにて動作させるタスク情報をメインメモリ20内に作成,またはロードする。タスク情報とは,図2を用いて説明した優先順位テーブル22,ディスパッチテーブル23,上昇温度テーブル24,処理時間テーブル25,プロセッサ発熱テーブル26,低下温度テーブル27,タスクプログラム28-1?28-n,温度情報テーブル29,及びタスク管理プログラム30等である。更にメインメモリ20内に,コンテキストセーブエリア32を確保する。またオペレーティングシステム31は,タスク処理の周期設定(1サイクルの長さなど)の設定も実施する。
【0030】
更に,初期化の段階において,各プロセッサの制御,タスクの割り当て,データ退避,またプロセッサ間の調停等を行うプロセッサが決定される。以下ではプロセッサ11-mが上記の役割を行うものとして説明する。勿論,上記役割をその他のプロセッサ11-1?11-(m-1)のいずれか,またはシステムコントローラ40が行っても良い。」

(カ)「【0036】
<タスクの割り当て>
初期化が終了すると,プロセッサ11-mは,プロセッサ11-1?11-(m-1)に対してタスクの割り当てを開始する。まず,温度センサ12-1?12-(m-1)で得られる各プロセッサ11-1?11-(m-1)の現在温度と,メインメモリ20から読み出した優先順位テーブル22とに基づき,タスクの実行順序と,いずれのプロセッサにどのタスクを割り当てるかを決定する(ステップS16,これを以下スケジューリングと呼ぶ)。」

(キ)「【0041】
次にプロセッサ11-mは,ステップS17で更新したディスパッチテーブル22に基づいて,実際に各プロセッサ11-1?11-(m-1)に対してタスクを割り当てる(ステップS18)。すなわち,図7に示すように,タスクTASK-1?TASK-(m-1)が,それぞれプロセッサ11-1?11-(m-1)に割り当てられる。」

(ク)「図11は,時間に対するプロセッサの状態を示すタイムチャートである。
【0045】
図示するように,例えばプロセッサ11-1があるサイクルタイムでタスクTASK-1を実行したとする。実行開始時刻が時刻t0であり,タスクTASK-1の処理に時間p1がかかった結果,処理終了時刻がt1だったとする。すると,時刻t1から,当該サイクルの終了時刻t4までの期間は,プロセッサ11-1は何も処理をしないことになる。この処理をしない時間が「空き時間」である。なお「サイクル」とは,各プロセッサが処理を行うための単位時間幅であって,このサイクル毎にスケジューリングやタスク割り当てが行われる。」

(ケ)「【0048】
次にプロセッサ11-mは実際に予測温度の算出を行う(ステップS42)。予測温度の計算に際しては,上記低下温度テーブル27及び上昇温度テーブル24と現在温度を用いて行う。上昇温度テーブルの一例について図14を用いて説明する。図14は上昇温度テーブルの概念図である。」

(コ)「【0058】
<再スケジューリング>
上記ステップS21において予測温度が注意温度を超えたプロセッサに割り当てられていたタスクが高優先順位であった場合(ステップS24),既に割り当てたタスクの処理を開始する前に,再スケジューリングを行う(ステップS25)。再スケジューリングは,プロセッサ11-mがオペレーティングシステムからコンテキストセーブ完了の通知を受けた後に行う。
【0059】
例えば図17で説明したプロセッサ11-1は,最も優先順位の高いタスクTASK-1が割り当てられていた。そこでプロセッサ11-mは,プロセッサ11-1以外で,タスクTASK-1が割り当て可能なプロセッサを探し,割り当て可能なプロセッサがあった場合には,新たにタスクTASK-1をそのプロセッサに割り当てるよう決定する。再スケジューリングは,基本的にはタスクTASK-1を危険温度以下の空きプロセッサに割り当てるようにすれば良いが,空きプロセッサが複数ある場合には,最も温度の低いプロセッサに割り当てればよい。また,最も温度の低いプロセッサに既にタスクが割り当てられている場合には,そのタスクを退避させて,新たにタスクTASK-1を割り当てても良い。このようにしてスケジューリングをやり直す。そして再スケジューリングを行った後,ディスパッチテーブルを更新する(ステップS17)。」

(サ)「【0087】
次に,この発明の第3の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は,上記第1,第2の実施形態において,マルチコアプロセッサ温度上昇を更に抑制するための方法に関する。プロセッサシステムの構成は第1の実施形態と同様であるので説明は省略する。以下,本実施形態に係るプロセッサシステムの動作について図25を用いて説明する。図25は,本実施形態に係るプロセッサシステムの一部動作のフローチャートである。
【0088】
まず,上記第1の実施形態で説明したステップS21,S24,または第2の実施形態で説明したステップS18の後,プロセッサ11-1?11-(m-1)がタスクの実行を開始する(ステップS26)。そしてプロセッサ11-mは,プロセッサ11-1?11-(m-1)がタスクの温度を定期的に監視する(ステップS27)。そして,上記第1,第2の実施形態では,ステップS28において現在温度と危険温度とを比較していたが,本実施形態ではステップS70において,現在温度と注意温度とを比較する。現在温度が注意温度より低ければ当該プロセッサにタスクの実行を継続させ(ステップS29),注意温度以上であればデータを退避させて(ステップS31),当該プロセッサの動作を停止させる(ステップS32)。」

以上,(ア)?(サ)に記載された事項から,引用例1には次の発明(以下「引用発明」という。)が記載されているといえる。

「マルチコアプロセッサ,メインメモリ,システムコントローラ,DMAコントローラを備えるプロセッサシステムであって,
前記マルチコアプロセッサは,m個のプロセッサ11-1?11-m,及びプロセッサ11-1?11-m毎に設けられた温度センサ12-1?12-mを備え,
前記温度センサ12-1?12-mは,それぞれ対応するプロセッサ11-1?11-mの温度を測定し,
プロセッサ11-mにおいてオペレーティングシステムが動作し,その他のプロセッサの制御を行うものであって,
前記メインメモリは,タスクコントロールブロック,オペレーティングシステムを有し,
前記タスクコントロールブロックは,優先順位テーブル及びディスパッチテーブルを有し,
前記優先順位テーブルは,複数のタスクの処理すべき優先順位情報を保持するものであり,
前記ディスパッチテーブルは,タスクとプロセッサ11-1?11-mとの対応関係情報を保持するものであり,
最初に(例えば電源投入時),システムの初期化が行われ,
前記オペレーティングシステムは,タスク処理の周期設定(1サイクルの長さなど)の設定も実施し,
初期化が終了すると,前記プロセッサ11-mは,プロセッサ11-1?11-(m-1)に対してタスクの割り当てを開始し,前記温度センサ12-1?12-(m-1)で得られる各プロセッサ11-1?11-(m-1)の現在温度と,メインメモリから読み出した優先順位テーブルとに基づき,タスクの実行順序と,いずれのプロセッサにどのタスクを割り当てるかを決定し,
前記プロセッサ11-mは,前記ディスパッチテーブルに基づいて,実際に各プロセッサ11-1?11-(m-1)に対してタスクを割り当て,
前記プロセッサ11-mは予測温度の算出を行い,
前記予測温度が注意温度を超えたプロセッサに割り当てられていたタスクが高優先順位であった場合,既に割り当てたタスクの処理を開始する前に,再スケジューリングを行い,
前記プロセッサ11-mは,プロセッサ11-1以外で,タスクTASK-1が割り当て可能なプロセッサを探し,割り当て可能なプロセッサがあった場合には,新たにタスクTASK-1をそのプロセッサに割り当てるよう決定し,
前記プロセッサ11-mは,タスクを処理するプロセッサ11-1?11-(m-1)の温度を定期的に監視し,前記各プロセッサ11-1?11-(m-1)の現在温度が注意温度以上であればデータを退避させて,当該プロセッサの動作を停止させるプロセッサシステム。」

第6 対比・判断
1.本願発明1について
(1)対比
本願発明1と引用発明とを対比すると,次のことがいえる。

(A)引用発明の「プロセッサシステム」は,本願発明1の「プロセッサ」に対応し,以下,「m個のプロセッサ11-1?11-m」は「複数の物理的コア」に,「タスク」は「タスク」に,「ディスパッチテーブル」は,「マッピング」に,それぞれ相当する。

(B)引用発明の「プロセッサシステム」は,「メインメモリ」を備え,当該「メインメモリ」には「タスクとプロセッサ11-1?11-mとの対応関係情報を保持」する「ディスパッチテーブル」を有する「タスクコントロールブロック」を有しているから,上記(A)の事項とあわせ考慮するならば,引用発明と本願発明1とは,下記の点で相違するものの,“前記プロセッサは,前記複数の物理的コアに対するタスクのマッピングを保存するように構成され”ている点で共通する。

(C)引用発明では「プロセッサ11-mにおいてオペレーティングシステムが動作」しており,当該「プロセッサ11-m」は,「ディスパッチテーブルに基づいて,実際に各プロセッサ11-1?11-(m-1)に対してタスクを割り当て」ていることから,引用発明と本願発明1とは,下記の点で相違するものの,“前記マッピングは,前記複数の物理的コアにタスクを割り当てるために,オペレーティングシステムによって使用可能である”点で一致する。

(D)引用発明は,「最初に(例えば電源投入時),システムの初期化が行われ」た後,「プロセッサ11-mは,プロセッサ11-1?11-(m-1)に対してタスクの割り当てを開始」し,「既に割り当てたタスクの処理を開始する前に,再スケジューリングを行」うものであり,また,「プロセッサ11-mは,プロセッサ11-1以外で,タスクTASK-1が割り当て可能なプロセッサを探し,割り当て可能なプロセッサがあった場合には,新たにタスクTASK-1をそのプロセッサに割り当てるよう決定」していることから,引用発明と本願発明1とは,下記の点で相違するものの,“前記プロセッサのブート処理の後,前記複数の物理的コアに対する前記タスクのマッピングを変更”する点で一致し,また引用発明の「プロセッサ11-m」は,本願発明1の「割当ユニット」に相当する。

(E)上記(A)?(D)の記載事項から判断して,本願発明1と引用発明との一致点及び相違点は以下のとおりである。

(一致点)
「プロセッサであって,
複数の物理的コアであって,前記プロセッサは,前記複数の物理的コアに対するタスクのマッピングを保存するように構成されており,
前記マッピングは,前記複数の物理的コアにタスクを割り当てるために,オペレーティングシステムによって使用可能である,複数の物理的コアと,
前記プロセッサのブート処理の後,前記複数の物理的コアに対する前記タスクのマッピングを変更するよう構成された割当ユニットと,
を備える,プロセッサ。」

(相違点)
(相違点1)
本願発明1では,「マッピング」について,物理的コアに対する「論理コア」をマッピングするのに対し,引用発明では「論理コア」をマッピングすることについては言及されていない点。

(相違点2)
本願発明1が,「論理コアのマッピングを変更する」にあたり,「前記論理コアの前回のマッピングの変更が行われてから経過した時間の長さを決定し,前記時間の長さが閾値を超えるのに応じて」変更するものであるのに対し,引用発明は,そのような構成を有しない点。

(2)相違点についての判断
上記相違点1と相違点2は関連しているので,併せて検討する。
引用文献1には,「論理コア」に関する記述を見いだすことができないばかりか,タスクは,論理コアを介さずに直接物理的コアに割り当てている。
しかしながら,「論理コア」に関しては,原査定の引用文献Aとして引用された,本願優先日前公知の特表2008-513912号公報(平成20年5月1日公表)の特許請求の範囲の請求項22に,「論理コアを物理コアにマッピングするための表」との記載,同公報段落35に,「一実施の形態では,スロットルモジュールは,AコアからBコアへのマイグレーションを,ソフトウェアにトランスペアレントに行うことができる。スロットルモジュールのスレッドマイグレーションメカニズムは,論理コアを物理コアへマッピングするための表と,コアマイグレーションが必要とされていることを信号で伝えるための割り込みと,コアのプロセッサ状態をコピーするためのマイクロコード又は配線ロジックと,プロセッサのコア間の相互接続ネットワークとを含むことができる。論理コアの個数は,Bコアの個数と等しくすることができる。」との記載があり,また同じく原査定の引用文献Bとして引用された特開2008-234191号公報(平成20年10月2日公開)の例えば段落14には「図1では,論理パーティションAには,論理コア10は,論理コアAが(m+1)個(mは2以上の整数)あり,論理パーティションBには,論理コア10は,論理コアBが(n+1)個(nは2以上の整数)ある。各論理コア10が,ハイパーバイザOS6の論理コアスケジューラによって,各物理コア3にディスパッチされることにより,各論理パーティション7内の,ゲストOS8及びアプリケーション9のプログラムあるいはプロセスは動作することができる。」との記載があり,同じく原査定の引用文献Cとして引用された,本願優先日前公知の特開2006-127462号公報(平成18年5月18日公開)の例えば段落55には「なお,論理プロセッサは,論理パーティションに割り当てられる論理的なプロセッサであり,いずれかの物理プロセッサ,すなわち,図2に示すプロセッサグループ内のプロセッサに対応する。ただし,論理プロセッサと物理プロセッサは必ずしも1対1の関係にはなく,1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあり,複数の論理プロセッサに1つの物理プロセッサが対応付けられる場合もある。論理プロセッサと物理プロセッサの対応付けは,制御OS301が決定する。」との記載がみられるように,複数の物理的コアに対して,所定の論理コアをマッピングすること自体は,本願優先日前周知技術であったといえる。
次に引用発明において,相違点2に係る構成を採用するに至る動機付けが存在したかについて検討する。
引用文献1には,上記「第6 引用文献,引用発明等」の「1.引用文献1について」において(ア)乃至(サ)として摘記した以外,次のとおりの記載がある。

(シ)「【0001】
この発明は,プロセッサシステム及びその制御方法に関するもので,例えば複数のプロセッサを備えたLSIにおいて,プロセッサ温度が上昇した場合におけるLSIの管理方法に関する。」

(ス)「【背景技術】
【0002】
従来から,複数のCPU(プロセッサ)を備えた半導体集積回路が知られている(以下マルチコアプロセッサと呼ぶ)。マルチコアプロセッサにおいては複数のプロセッサが各々独自のタスクを実行しており,その動作状況に応じてそれぞれのプロセッサの温度が上昇する。プロセッサは,ある規定の温度に達するまで上昇すると,正常動作が不能となったり,物理的に破壊されたりするおそれがある。
【0003】
そこで,プロセッサがある一定温度に達した場合,プロセッサの動作を停止させる,または処理を軽減させることによって,それ以上の温度上昇を抑制する提案がなされている(例えば特許文献1乃至3参照)。
【0004】
しかしながら,上記従来の提案であると,プロセッサを利用したシステム側では,アプリケーションの処理が滞ることになる。特に,動作停止されたプロセッサがアプリケーションにおいて重要な処理を実行していた場合には,システム側において重大な障害が発生するおそれがあった。」

(セ)「【発明が解決しようとする課題】
【0005】
この発明の目的は,処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供することにある。」

(ソ)「【0008】
この発明によれば,処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供できる。」

上記(シ)乃至(セ)の記載から,引用文献1は,例えば複数のプロセッサを備えたLSIにおいて,プロセッサ温度が上昇した場合におけるLSIの管理方法に関するものであり,従来から,複数のCPU(プロセッサ)を備えた半導体集積回路(マルチコアプロセッサ)が知られており,マルチコアプロセッサにおいては複数のプロセッサが各々独自のタスクを実行しており,その動作状況に応じてそれぞれのプロセッサの温度が上昇することがあり,プロセッサは,ある規定の温度に達するまで上昇すると,正常動作が不能となったり,物理的に破壊されたりするおそれがあることを背景とし,プロセッサがある一定温度に達した場合,プロセッサの動作を停止させる,または処理を軽減させることによって,それ以上の温度上昇を抑制するという,従来からの提案がなされていたが,上記従来の提案であると,プロセッサを利用したシステム側では,アプリケーションの処理が滞ることになり,特に,動作停止されたプロセッサがアプリケーションにおいて重要な処理を実行していた場合には,システム側において重大な障害が発生するおそれがあったという解決すべき課題をもってなされたものであることを読取ることができる。
そして,当該課題に対し,上記引用発明の各構成をとることにより,上記(ソ)に示された,処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステムを提供することができる効果を奏するものである。
上記解決しようとする課題に対して,引用発明の各構成のうち,とりわけ,「前記プロセッサ11-mは,前記ディスパッチテーブルに基づいて,実際に各プロセッサ11-1?11-(m-1)に対してタスクを割り当て,前記プロセッサ11-mは予測温度の算出を行い,前記予測温度が注意温度を超えたプロセッサに割り当てられていたタスクが高優先順位であった場合,既に割り当てたタスクの処理を開始する前に,再スケジューリングを行い,前記プロセッサ11-mは,プロセッサ11-1以外で,タスクTASK-1が割り当て可能なプロセッサを探し,割り当て可能なプロセッサがあった場合には,新たにタスクTASK-1をそのプロセッサに割り当てるよう決定」するという解決手段を採用していて,このうち,「前記プロセッサ11-mは予測温度の算出を行い,前記予測温度が注意温度を超えたプロセッサに割り当てられていたタスクが高優先順位であった場合」とは,「複数のタスクの処理すべき優先順位情報」が保持された「優先順位テーブル」において「高優先順位」であった場合をいい,タスク割当てを変更することによって上記課題の解決を図るものである。
一方,引用発明は,「オペレーティングシステム」で「タスク処理の周期設定(1サイクルの長さなど)の設定も実施」されると共に,「プロセッサ11-mは,タスクを処理するプロセッサ11-1?11-(m-1)の温度を定期的に監視」するものでもあることから,当該定期的な監視に基づいてタスク割当てが変更されること,すなわちタスクの前回のマッピングの変更が行われてから経過した時間の長さに応じてタスク割当てが変更されることも,結果的にあり得るといえるものの,すでに,各物理的コアの予測温度の上昇及び優先順位テーブルに基づいたタスク割当ての変更によって,上記課題を解決しているのであって,あえてタスクの前回のマッピングの変更が行われてから経過した時間の経過のみをもって,タスク割当てを変更することを想起することは,その動機付けを欠くものといわざるを得ず,また当該構成,すなわち,「前記論理コアの前回のマッピングの変更が行われてから経過した時間の長さを決定し,前記時間の長さが閾値を超えるのに応じて」「論理コアのマッピングを変更する」ことは,当業者と雖も容易であったとまではいうことができない。
したがって,本願発明1は,引用文献1に記載された発明,及び周知技術に基づいて容易に発明できたものとはいえない。

2.本願発明9について
本願発明9は,本願発明1に対してカテゴリーの異なる発明であるが,本願発明1の「前記論理コアの前回のマッピングの変更が行われてから経過した時間の長さを決定し,前記時間の長さが閾値を超えるのに応じて」と同様の,「前記論理コアの前記マッピングが行われてから経過した時間の長さを決定するステップと,前記時間の長さが閾値を超えるのに応じて,前記割当回路が,オペレーティングシステムの実行中に,前記論理コアの前記複数の物理的コアに対するマッピングを変更するステップ」という構成を備えるものであるから,本願発明1と同じ理由により,当業者であっても,引用発明,及び周知技術に基づいて容易に発明できたものとはいえない。

3.本願発明2-8,10-14について
本願発明2乃至本願発明8は,本願発明1を直接若しくは間接的に引用する発明であって,本願発明1と同じ理由により,当業者であっても,引用発明,及び周知技術に基づいて容易に発明できたものとはいえない。
また,本願発明10乃至本願発明14は,本願発明9を直接若しくは間接的に引用する発明であって,本願発明9と同じ理由により,当業者であっても,引用発明,及び周知技術に基づいて容易に発明できたものとはいえない。

第7 原査定についての判断
平成29年9月27日付けの補正により,補正後の請求項1-8は,「前記論理コアの前回のマッピングの変更が行われてから経過した時間の長さを決定し,前記時間の長さが閾値を超えるのに応じて,前記論理コアのマッピングを変更するように構成された割当ユニット」という技術的事項を有し,また,請求項9-14は「前記プロセッサ内の割当回路が,前記論理コアの前記マッピングが行われてから経過した時間の長さを決定するステップと,前記時間の長さが閾値を超えるのに応じて,前記割当回路が,オペレーティングシステムの実行中に,前記論理コアの前記複数の物理的コアに対するマッピングを変更するステップ」という技術的事項を有するものとなった。当該「前記論理コアの前回のマッピングの変更が行われてから経過した時間の長さを決定し,前記時間の長さが閾値を超えるのに応じて,前記論理コアのマッピングを変更するように構成された割当ユニット」又は「前記プロセッサ内の割当回路が,前記論理コアの前記マッピングが行われてから経過した時間の長さを決定するステップと,前記時間の長さが閾値を超えるのに応じて,前記割当回路が,オペレーティングシステムの実行中に,前記論理コアの前記複数の物理的コアに対するマッピングを変更するステップ」は,原査定における引用文献A-Cには記載されておらず,本願優先日前における周知技術でもないので,本願発明1-14は,当業者であっても,原査定における引用文献A-Cに基づいて容易に発明できたものではない。したがって,原査定を維持することはできない。

第8 当審拒絶理由(明確性要件違反)について
当審では,
「本件出願は,明細書,特許請求の範囲及び図面の記載が下記の点で不備のため,特許法36条6項2号に規定する要件を満たしていない。


(1)「再マッピング」が,具体的にどのようなことを行うものか,不明確である。
すなわち,特許請求の範囲には,当該「再マッピング」につき,「物理的コアに再マッピング」したり,「論理コアを再マッピング」したり,「再マッピングに基づい」たり,「再マッピングを決定」したりすることは特定されているものの,当該「再マッピング」が,具体的にどのようなことを行うのか明確でなく,また,「マッピング」と「再マッピング」の違いも,当該特許請求の範囲の記載のみからは把握できない。
なお,明細書の発明の詳細な説明においては,明細書段落34に,「動的再マッピング」の同明細書内での定義は見受けられるものの,当該記載は,「BIOS130がプロセッサ110のためのブート処理を行った後に行われる再マッピングを指す」ものであることのみを説示するに留まり,「再マッピング」自体が具体的に何を行うものであるかは,上記記載に続く,「換言すれば,一実施形態において,割当ユニット114は,オペレーティングシステム122がロードされて実行状態となった後,論理コアを物理的コア112へ再マッピングするように構成されている。」との説示によっても不明である。

よって,当該「再マッピング」との特定事項が存在する,請求項1乃至14に係る発明は不明確である。

(2)物理的コアに論理コアをマッピングする時に,タスクの割当てを具体的にどのように行っているのか不明である。
また,「タスク」と「論理コア」との関係も,特許請求の範囲には,「プロセッサ」が「前記複数の物理的コアに対する論理コアのマッピングを保存するように構成」されていて,「前記マッピング」が,単に「前記複数の物理的コアにタスクを割り当てるために、オペレーティングシステムによって使用可能である」ことのみが特定されているに過ぎず,両者が具体的にどのような関連を有するものであるかを明確に特定することができない。

よって,請求項1乃至14に係る発明は不明確である。」
との通知を行っているが,平成29年9月27日付け手続補正により,上記(1)の点について,「再マッピング」に関し,当該補正前に,「前記プロセッサのブート処理の後、前記論理コアを前記複数の物理的コアに再マッピングし、前記論理コアの前回の再マッピングが行われてから経過した時間の長さを決定し、前記時間の長さが閾値を超えるのに応じて、前記論理コアを再マッピングするように構成された割当ユニット」とあったものが,「前記プロセッサのブート処理の後,前記複数の物理的コアに対する前記論理コアのマッピングを変更し,前記論理コアの前回のマッピングの変更が行われてから経過した時間の長さを決定し,前記時間の長さが閾値を超えるのに応じて,前記論理コアのマッピングを変更するように構成された割当ユニット」と補正され,同日付けの意見書において,「本願明細書の段落【0024】には、「いくつかのシステムは、論理コアを物理的コアにマッピングし、BIOSパワーオン自己試験フェーズの間にマッピングを変更することにより、この問題の軽減を試みている。例えば、2つの物理的コアP0及びP1を有するプロセッサは、第1の起動の間にこれらのコアをそれぞれ論理コアL0及びL1にマッピングしてもよい。その後、論理コアL0を指定するタスクを物理的コアP0上で実行することができ、その後論理コアL1を指定するタスクを物理的コアP1上で実行することができる。リセット後、プロセッサは、論理コアL0及びL1を物理的コアP1及びP0へそれぞれ再マッピングしてもよい。」と開示されております。なお、下線は、説明のために付したものであります。
この開示内容に鑑みれば、「再マッピング」とは、物理的コアに対する論理コアのマッピングの内容を変更することを意味しております。
そこで、補正前の本願請求項1?2、4?6、8?10、13?14に係る発明の「再マッピング」との記載について、マッピングを変更するという意味が明確になるように補正を行いました。」と釈明されたことによって,「再マッピング」とは,「物理的コアに対する論理コアのマッピングの内容を変更することを意味」し,具体的には,物理的コアP0と物理的コアP1がそれぞれ論理コアL0及び論理コアL1にマッピングされ,論理コアL1を指定するタスクが物理的コアP1上で実行され,その後リセットされた後に,論理コアL0及び論理コアL1を物理コアP1及び物理コアP0へマッピングを変更することを意味するものであることが明確化され,この拒絶理由は解消した。
上記(2)の点について,上記意見書では,「本願明細書の段落【0031】には、「例えば、オペレーティングシステム122は、特定のタスクを、一実施形態においてブートストラッププロセッサに対応し得る第1の論理コアL0に割り当ててよい。論理コアL0が現在プロセッサ112Aにマッピングされている場合、プロセッサ112Aは上記特定のタスクを行うことができる。しかし、論理コアL0がプロセッサ112Bにマッピングされた場合、プロセッサ112Bが上記特定のタスクを行うことができる。」と開示されております。
すなわち、本願発明では、オペレーティングシステムによって論理コアが指定されると、当該論理コアにマッピングされている物理的コアに対して当該タスクが割り当てられるようになっております。例えば、特定の論理コア(例えば、論理コアL0)が特定の物理的プロセッサ(例えば、プロセッサ112A)にマッピングされている状態で当該論理コア(論理コアL0)が指定されると、当該特定の物理的コア(プロセッサ112A)に対して当該タスクが割り当てられ、当該論理コア(論理コアL0)が他の物理的コア(例えば、プロセッサ112B)にマッピングされている状態で当該論理コア(論理コアL0)が指定されると、当該他の物理的コア(プロセッサ112B)に対して当該タスクが割り当てられるようになっております。
したがって、オペレーティングシステムが同じ論理コアを指定し続けた場合であっても、物理的コアに対する論理コアのマッピングが変更されることによって、タスクが割り当てられる物理的コアを切り替えることが可能になることから、タスク処理のワークロードを物理的コア間で分配することができます。
これにより、タスクの割り当てをどのように行っているか、及び、「タスク」と「論理コア」との関係が明確であると思料致します。」
と釈明されたことにより,タスクを物理的コアに割当てを行うに際しては,オペレーティングシステムによって,論理コアを通じて当該論理コアにマッピングされている物理的コアに該タスクが割り当てられることのみを表すものであることが明確化され,物理的コアに論理コアをマッピングする時に,タスクの割当てが具体的にどのように行われるかは明確となり,この拒絶理由は解消した。

第9 むすび
以上のとおり,原査定の理由によって,本願を拒絶することはできない。
他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
 
審決日 2017-11-08 
出願番号 特願2014-505374(P2014-505374)
審決分類 P 1 8・ 537- WY (G06F)
P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 清木 泰  
特許庁審判長 辻本 泰隆
特許庁審判官 須田 勝巳
山崎 慎一
発明の名称 論理コアの動的マッピング  
代理人 佐野 良太  
代理人 村雨 圭介  
代理人 早川 裕司  
  • この表をプリントする

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