• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 5項独立特許用件 特許、登録しない。 G06F
審判 査定不服 特17条の2、3項新規事項追加の補正 特許、登録しない。 G06F
審判 査定不服 2項進歩性 特許、登録しない。 G06F
管理番号 1198219
審判番号 不服2006-15237  
総通号数 115 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2009-07-31 
種別 拒絶査定不服の審決 
審判請求日 2006-07-14 
確定日 2009-06-01 
事件の表示 特願2000-236740「マルチプロセッサ・システム及びマルチプロセッシングでのタスクの割り当て方法」拒絶査定不服審判事件〔平成14年 2月20日出願公開、特開2002- 55966〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 1.手続の経緯
出願日 平成12年8月4日
拒絶理由 平成17年3月29日
意見書及び手続補正書 平成17年9月8日
拒絶査定 平成18年3月23日
審判請求 平成18年7月14日
手続補正書 平成18年7月31日
なお、平成18年7月31日付け手続補正書は、同年8月3日付け手続補正指令書(方式)を受けて、同年8月30日付け手続補正書(方式)により補正されたものである。

2.平成18年7月31日付の手続補正についての補正却下の決定
[補正却下の決定の結論]
平成18年7月31日付の手続補正書による補正を却下する。

[理由]
(1)本件補正
平成18年7月31日付の手続補正(以下、「本件補正」という。)により特許請求の範囲の請求項1乃至請求項11は次のとおり補正された。(補正部分には下線が付されている。)

(本件補正後の特許請求の範囲)
「【請求項1】
1つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てるステップと
を含むタスクの割り当て方法。
【請求項2】
前記アクセス状況を監視するステップが、
他のプロセッサ・モジュールのキャッシュ・メモリにも記憶されている共通データを書き換えたことによる、前記他のプロセッサ・モジュールのキャッシュ・メモリ内の共通データの無効化の発生を検出するステップと、
前記無効化を発生させたタスクの識別情報と、書き換えられたデータのアドレスと、同一タスクによる同一データでの無効化発生回数とを記憶するステップとを含み、
前記プロセッサに割り当てるステップが、
同一データでの無効化発生回数の多さに基づいて、タスクをグループ分けするステップと、
同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップと
を含む請求項1のタスクの割り当て方法。
【請求項3】
前記アクセス状況を監視するステップが、
複数のキャッシュ・メモリに記憶されている共通データのいずれかが書き換えられたことによる、前記共通データのうちの前記書き換えられたデータが記憶されたキャッシュ・メモリ以外のキャッシュ・メモリに記憶されている該共通データの無効化を検出及び記憶するステップと、
前記無効化されたデータへの各タスクのアクセス状況を監視するステップとを含み、
前記プロセッサに割り当てるステップが、
同一の前記無効化されたのデータへの各タスクのアクセス回数の多さに基づいて、該各タスクをグループ分けするステップと、
同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップと
を含む請求項1のタスクの割り当て方法。
【請求項4】
前記無効化されたデータへの各タスクのアクセス状況を監視するステップが、
無効化されたデータへのアクセスを検出するステップと、
アクセスが検出された無効化されたデータのアドレスと、この無効化されたデータへアクセスしたタスクの識別情報と、同一タスクによる同一アドレスへのアクセス回数とを記憶するステップと
を含む請求項3のタスクの割り当て方法。
【請求項5】
前記無効化されたデータへのアクセスを検出するステップが、
データの無効化を検出するステップと、
無効化されたデータのアドレスを記憶するステップと、
キャッシュ・ミスを検出するステップと、
キャッシュ・ミスが発生したデータ・アドレスと前記記憶された無効化されたデータのアドレスとを比較するステップと
を含む請求項4のタスクの割り当て方法。
【請求項6】
前記記憶された各無効化発生回数又は各アクセス回数の合計値が所定値を超えると、前記各プロセッサへのタスクの割り当てを、マルチプロセッシングを行っているオペレーティング・システムに要求するステップを含む請求項2、請求項4又は請求項5のタスクの割り当て方法。
【請求項7】
1つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッサ・システムであって、
(a) 複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセスを検出する手段と、
アクセスが検出された共通データのアドレスと、この共通データへアクセスしたタスクの識別情報と、同一タスクによる同一データへのアクセス回数とを記憶する記憶手段とを含むプロセッサ・モジュールと、
(b) 前記アクセス回数に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てる手段と
を含むマルチプロセッサ・システム。
【請求項8】
前記プロセッサ・モジュールのアクセスを検出する手段が、
他のプロセッサ・モジュールのキャッシュ・メモリにも記憶されている共通データを書き換えたことによる、前記他のプロセッサ・モジュールのキャッシュ・メモリ内の共通データの無効化の発生を検出する手段と、
前記無効化を発生させたタスクの識別情報と、書き換えられたデータのアドレスと、同一タスクによる同一データでの無効化発生回数とを記憶する手段と
を含む請求項7のマルチプロセッサ・システム。
【請求項9】
前記プロセッサ・モジュールのアクセスを検出する手段が、
複数のキャッシュ・メモリに記憶されている共通データのいずれかが書き換えられたことによる、前記共通データのうちの書き換えられたデータが記憶されたキャッシュ・メモリ以外のキャッシュ・メモリに記憶されている該共通データの無効化を検出及び記憶する手段と、
前記無効化されたデータへの各タスクのアクセスを検出する手段と
を含む請求項7のマルチプロセッサ・システム。
【請求項10】
前記データの無効化を検出及び記憶する手段が、
データの無効化を検出する手段と、無効化されたデータのアドレスを記憶する手段とを含み、
前記無効化されたデータへの各タスクのアクセスを検出する手段が、
キャッシュ・ミスを検出する手段と、キャッシュ・ミスが発生したデータ・アドレスと前記記憶された無効化されたデータのアドレスとを比較する手段とを含む請求項9のマルチプロセッサ・システム。
【請求項11】
前記記憶された各アクセス回数又は各無効化発生回数の合計値が所定値を超えると、前記各プロセッサへのタスクの割り当てを、前記割り当て手段に要求する手段をさらに含む請求項7又は請求項8のマルチプロセッサ・システム。」

また、前記特許請求の範囲の補正にあわせて発明の詳細な説明も次のように補正された。
「【0009】
本発明のマルチプロセッサ・システムは、(a)複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセスを検出する手段と、アクセスが検出された共通データのアドレスと、この共通データへアクセスしたタスクの識別情報と、同一タスクによる同一データへのアクセス回数とを記憶する記憶手段とを含むプロセッサ・モジュールと、(b)前記アクセス回数に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てる手段とを含む。」
「【0011】
本発明のマルチプロセッシングでのタスクの割り当て方法は、複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てるステップとを含む。」

(2)補正の適否の判断
(2.1)本件補正が、願書に最初に添付した明細書又は図面(以下、「当初明細書」という。)に記載した事項の範囲内においてされたものであるかについて検討する。
前記「アクセス回数に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを」同一プロセッサ・モジュール内のプロセッサに割り当てることは、当初明細書に記載した事項の範囲内においてしたものとは認められない。
当初明細書には同一の共通データへのアクセス回数、タスクのグループ分けに関連した次の記載がある。
「【請求項2】…前記プロセッサに割り当てるステップが、
同一データでの無効化発生回数の多さに基づいて、タスクをグループ分けするステップと、
同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップとを含む…」
「【請求項3】…前記プロセッサに割り当てるステップが、
同一の無効化されたデータへのアクセス回数の多さに基づいて、タスクをグループ分けするステップと、
同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップとを含む…」
「【0018】スケジューラは、例えばタスク間の同期をとる等の目的でOSが起動するが、本発明では図2(b)に示すように、スケジューラが起動すると(S100)、ピンポン情報の読み出しを行う(S102)。さらに、MPUに割り当てられているタスクを識別した後、読み出したピンポン情報に基づいて、ピンポンの発生が最小となるように各タスクを各MPUに割り当てる(S104,S106)。具体的には、ピンポンの発生状況を解析してグループ分けし(S104)、ピンポンを頻繁に起こしたタスクどうしを同一モジュール内のMPUに割り当てる(S106)。」
「【0025】OSがスケジューラを起動すると(S100)、スケジューラはピンポン情報を読み出す(S102)。スケジューラは、MPUの識別番号(MPU ID)からそのMPUに割り当てられているタスクの識別番号(Task ID)を求め、アクセス回数(Count)に基づいて、各タスクのMPUへの割り当てを行う(S104,S106)。割り当て方法の概要を図3(a),(b)に示す。図3(a),(b)では、表1及び表2のアドレス(Ping-Pong Address)とタスク(Task ID)との緊密度をアクセス回数(Count)で表したブロック図である。現在のところ、MPU1にタスク1が割り当てられ、MPU2にタスク2が割り当てられているので、図3(b)に示すようにタスク1とタスク2を同一のグループに分けている。同様に、タスク3とタスク4を同一のグループに分けている。
【0026】Address_Aとの緊密度の高さは、タスク1が最も高く、次に高いのがタスク3である。Address_Cとの緊密度の高さは、タスク2が最も高く、次に高いのがタスク4である。スケジューラは、同一アドレスへの緊密度の高いタスクどうしをグループ化する。図3(a)に示すように、Address_Aとの緊密度の高いタスク1とタスク3とをグループ化し、Address_Cとの緊密度の高いタスク2とタスク4とをグループ化する(S104)。
【0027】スケジューラは、同一グループ内の各タスクを同一モジュール内の各MPUに割り当てる(S106)。例えば、プロセッサ・モジュールAのMPU1にタスク2を、MPU2にタスク4を割り当て、プロセッサ・モジュールBのMPU3にタスク1を、MPU4にタスク3を割り当てる。」

これらの記載によれば、タスクのグループ分けについては、ピンポン情報(ピンポンアドレス(Ping-Pong Address))、又は、無効化アドレスと、これらのアドレスに関連したアクセス回数に基づいてグループ分けすることは記載されているが、ピンポン情報や無効化アドレスに関連することに限定されない上位概念の、アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを「グループ分けし、該グループ分けされたタスクを」同一プロセッサ・モジュール内のプロセッサに割り当てることは記載されていない。
また、前記補正事項は、当初明細書の前記例示箇所以外のどこにも記載されておらず、前記補正は当初明細書に記載した事項の範囲内においてしたものとは認められない。
よって、本件補正は、当初明細書に記載した事項の範囲内においてしたものではないので、特許法第17条の2第3項の規定に適合しない。

仮に、本件補正が、当初明細書に記載した事項の範囲内においてしたものであるとしても、特許出願の際独立して特許を受けることができるものであるとは認められないので、更に補正の適否の判断を続ける。

(2.2)本件補正について、特許請求の範囲についてされた補正の目的を検討する。
前記「グループ分けし、該グループ分けされたタスクを」同一プロセッサ・モジュール内のプロセッサに割り当てることは、「タスクを」同一プロセッサ・モジュール内のプロセッサに割り当てることを限定するものであって、特許請求項の範囲の減縮を目的とするものであるから、本件補正は、特許法第17条の2第4項第2号の規定に適合する。

(2.3)そこで、本件補正後の前記請求項1に記載された発明(以下、「本願補正発明」という。)が特許出願の際独立して特許を受けることができるものであるか(特許法第17条の2第5項において準用する同法第126条第5項の規定に適合するか)について以下に検討する。

3.本願補正発明について
(1)本件補正後の請求項1(以下、「本願補正発明」という。)を再掲する。
「1つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てるステップと
を含むタスクの割り当て方法。」

(2)引用刊行物
原審の拒絶の理由に引用された、本願出願前頒布された刊行物である、特開平8-190537号公報には、図面とともに次の事項が記載されている。
A.「【0006】
【発明が解決しようとする課題】このように、従来のマルチプロセッサシステムでは、プロセススケジューリングによって、プロセスがプロセッサ間で自由に移動できるため、プロセッサのキャッシュに格納されたデータが無駄になっていた。
【0007】本発明は前記のような事情を考慮してなされたもので、キャッシュメモリのデータを有効に活用して、システム性能の向上を図ることが可能なマルチプロセッサシステムを提供することを目的とする。
【0008】
【課題を解決するための手段】本発明は、キャッシュメモリが設けられた複数のプロセッサによって構成されたマルチプロセッサシステムにおいて、プロセッサ上で実行されるプロセスが使用するメモリ領域について、所定のメモリ領域毎に、書き込みを行なった各プロセッサの書き込み頻度を監視する監視手段と、前記監視手段によってあるプロセッサによる書き込みの頻度が所定の閾値よりも高くなったことが判別された場合に、書き込みがあったメモリ領域を使用し、かつ前記監視手段によって判別されたプロセッサで実行されていないプロセスを、前記プロセッサに移動するスケジューリング手段とを具備したことを特徴とする。」
B.「【0010】また、各プロセッサで実行されるプロセス数を記録する実行中プロセス記録手段をさらに具備し、前記スケジューリング手段は、前記実行中プロセス記録手段によって記録されたプロセス数に基づいて、特定のプロセッサに対してプロセスが集中していることが判別された場合には、対象とするプロセスの移動を行なわず、最も多くプロセスを実行しているプロセッサから他のプロセッサにプロセスを移動することを特徴とする。
【0011】
【作用】このような構成によれば、あるメモリ領域(ページ)に対する書き込みが、頻繁に行なわれている場合、すなわち予め設定されたある閾値よりも書き込み頻度が高い場合には、その書き込みを行なっているプロセッサに、同じメモリ領域にアクセスするプロセスを移動することにより、複数のプロセッサのキャッシュメモリ中に同じデータが存在することによるデータの一貫性を取るための処理を不要とし、さらにキャッシュメモリ上で複数のプロセスによる処理が実行可能であるので共有メモリに対するアクセス回数が低減される。すなわち、プロセスの移動を適切に制御することにより、キャッシュ上などのデータが有効に活用されるので、システム全体の性能の向上が図れる。」
C.「【0021】次に、第1実施例の動作について、図4及び図5に示すフローチャートを参照しながら説明する。図4は監視装置18の動作を示すフローチャートである。プロセスが生成される際に、共有メモリ12中に領域(領域14中の所定のページ)が割り当てられると、そのページに対応して書き込み回数記録領域16中に、プロセスが実行されるプロセッサを示すプロセッサIDが領域23に格納される。
【0022】このプロセスがあるプロセッサ上で実行されている時に、特定のページに対して書き込みを行なうと、監視装置18は、書き込み回数記録領域16の対象とするページに対応して、書き込みを実行したプロセッサのプロセッサIDを格納すると共に、このプロセッサIDに対応づけて格納された書き込み回数の値を1つ増やす(ステップA1)。(既に該当するプロセッサIDが格納されていれば、そのプロセッサIDに対応して書き込み回数の値を1つ増やす)。
【0023】また、同じページに対して、他のプロセスが書き込みを行なうと、同様にして監視装置18は、このプロセスを実行しているプロセッサのプロセッサIDと対応づけて書き込みの回数を格納する(書き込み回数を1つ増加する)。
…(中略)…
【0025】この時、書き込みを行なったプロセッサによる、このページへの書き込み回数が、領域22に格納されている予め設定された閾値を越えた場合には(ステップA2)、監視装置18は、ページ番号格納領域17に、書き込み回数記録領域16の現在対象としているページの領域23に格納されているプロセッサIDとページ番号を対応づけて格納する(ステップA3)。
【0026】最後に、監視装置18は、領域23に格納されたプロセッサIDが示すプロセッサに対して割り込みを発行する(ステップA4)。すなわち、領域23に格納されたプロセッサIDが示すプロセッサ上で実行中のプロセスを、他のプロセッサに移動させるための処理を実行させる。
【0027】なお、ページ番号格納領域17には、書き込み回数記録領域16において、他のページに対する書き込み回数が、それぞれで設定された閾値を越えた場合に、それぞれのページ番号がプロセッサIDと対応づけられて格納される。
【0028】図5は監視装置18によって割り込みを受けたプロセッサの動作を示すフローチャートである。監視装置18からの割り込みを受けたプロセッサは、共有メモリ12のページ番号格納領域17に格納されたプロセッサIDから自プロセッサのプロセッサIDを検索し、該当するプロセッサIDに対応づけて格納されたページ番号を調べる(ステップB1)。すなわち、どのページに対する書き込みが閾値を越えて割り込みが発生したかを調べる。
【0029】割り込みを受けたプロセッサは、ページ番号格納領域17に格納されたページ番号に応じて、書き込み回数記録領域16に記録された対象とするページに対する書き込み回数を調べて、このページに最も多く書き込みを行なっているプロセッサのプロセッサIDを求める(ステップB2)。
【0030】割り込みを受けたプロセッサは、書き込み回数記録領域16から求めたプロセッサIDと自プロセッサIDとを比較し、一致するか否かを判別する(ステップB3)。すなわち、自プロセッサで動作しているプロセスを、他のプロセッサに移動させるかを判別するもので、プロセッサIDが同じであれば、移動先のプロセッサが自プロセッサであるのでプロセスの移動は行なわない。
【0031】一方、プロセッサIDが異なる場合には、書き込み回数記録領域16に格納されていたプロセッサIDが示す最も書き込み回数の多いプロセッサに、現在実行中のプロセスを移動させるための処理を実行する(ステップB4)。
【0032】そして、書き込み回数記録領域16に格納された、プロセスの移動先となったプロセッサに対応する書き込み回数を「0」クリアする(ステップB5)。なお、プロセスが切り替わるなどして、ページのマッピングが変更になった場合には、そのページに対応する書き込み回数記録領域16を初期化し直す。
【0033】このようにして、任意のプロセッサに移動させるのではなく、共有メモリ12の共通するページに対する書き込みが多いプロセッサにプロセスを移動させるスケジューリングにより、キャッシュメモリに格納されたデータを有効に利用することができる。」
D.「【0057】プロセッサID履歴領域59は、各プロセス毎(領域59a,59b,59c,…)に、実行されたプロセッサを示すプロセッサIDの履歴、すなわちプロセスの移動の履歴を格納するためのものである。プロセッサID履歴領域59には、プロセスがプロセッサに割り当てられることにより、オペレーティングシステムによってプロセス毎に格納される。
【0058】実行中プロセス数領域5Aは、各プロセッサ51a,51b,51cで実行しているプロセスの個数を、各プロセッサ毎(領域5Aa,5Ab,5Ac)に格納するための領域である。実行中プロセス数領域5Aには、プロセッサ間でのプロセスの移動等が発生することにより、オペレーティングシステムによってプロセッサ毎に実行中のプロセス数が更新される。
…(中略)…
【0064】一方、プロセッサIDが異なる場合には、実行中プロセス数領域5Aを参照し、各プロセッサで実行されているプロセス数を比較する(ステップD4)。そして、プロセス数の最大と最小との差が、プロセス数に対する予め設定されている閾値を越えているかを判別する(ステップD5)。
【0065】すなわち、プロセス移動の結果、特定のプロセッサに対して集中してしまい、プロセッサによって実行しているプロセス数に偏りが発生し、プロセスがある閾値以上の数となっている場合には、現在対象としているプロセスの移動を行なわない。また、最も多くのプロセスを実行しているプロセッサから、プライオリティの低いプロセスを、他のプロセスの実行数が少ないプロセッサに移動させるための処理を実行する(ステップD6)。従って、プロセス数の差が閾値以下となるまで、プロセスを最も実行しているプロセッサから他のプロセッサに対してプロセスを移動する処理が、繰り返して実行されることになる。
…(中略)…
【0070】このようにして、前述した第1実施例及び第2実施例における効果に加えて、さらにプロセスの移動により特定のプロセッサにプロセスが集中した場合には、対象としているプロセスの移動を中止し、最も多くプロセスを実行しているプロセッサから他のプロセッサにプロセスを移動させることとにより、各プロセッサに対する負担を平均化して、システム全体の性能低下を防ぐことができる。」

A.?D.によれば、刊行物1には、予め設定されたある閾値よりも書き込み頻度が高い場合には、その書き込みを行なっているプロセッサに、同じメモリ領域にアクセスするプロセスを移動することにより、複数のプロセッサのキャッシュメモリ中に同じデータが存在することによるデータの一貫性を取るための処理を不要とし、さらにキャッシュメモリ上で複数のプロセスによる処理が実行可能であることにより共有メモリに対するアクセス回数が低減される次の発明(以下、「刊行物1の発明」という。)が記載されていると認められる。(図1?図5、図9、特に図5参照)

キャッシュメモリが設けられた複数のプロセッサによって構成されたマルチプロセッサシステムにおけるプロセススケジューリング方法であって、
プロセッサ上で実行されるプロセスが使用するメモリ領域について、所定のメモリ領域毎に、書き込みを行なった各プロセッサIDのプロセッサの書き込み回数を監視し、
書き込み回数が閾値を越えたページ番号を調べ、このページ番号のページに最も多く書き込みを行っているプロセッサIDを調べ、前記プロセッサIDが自分のIDと同じでない場合に前記プロセッサIDに現在実行中のプロセスを移動すること(図6参照)
を含むプロセススケジューリング方法。

(3)対比・判断
本願補正発明と刊行物1の発明とを対比すると
(3.1)刊行物1の発明の、キャッシュメモリが設けられた複数のプロセッサは、図1に□で囲まれたプロセッサ11a、11b、11cで示されており、これらのプロセッサのそれぞれが、ひとまとまりの機能を持った部品(モジュール)として構成でき、周知のモジュール化により構成された、プロセッサ・モジュールであるものがみてとれる。また、マルチプロセッサシステムがマルチプロセッシングを行うことは自明であるとともに、タスクは、(1)プロセスと同じ意味で使われる場合、(2)スレッドのことを指す場合、あるいは(3)プロセスよりも大きな集合として使われる場合があるとしても、タスクとプロセスが同じ意味合いである場合が含まれる。以下、「タスク」とプロセスは同じ意味合いで用いる。
刊行物1の発明のプロセッサ(プロセッサ・モジュール)は、キャッシュ・メモリを共有する複数プロセッサを含む、とまでは言えないまでも、1つのキャッシュメモリとプロセッサを含む。
以上の点をふまえれば、刊行物1の発明の「キャッシュメモリが設けられた複数のプロセッサによって構成されたマルチプロセッサシステムにおけるプロセススケジューリング方法」と、本願補正発明とは「1つのキャッシュ・メモリとプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法」で共通する。
(3.2)刊行物1の発明の、プロセスが使用するメモリ領域(のデータ)は、共有メモリ12(図1参照)領域(のデータ)であるからプロセスが共有するデータであり、この共有データは「共通データ」にあたる。
刊行物1の発明の「プロセッサ上で実行されるプロセスが使用するメモリ領域について、所定のメモリ領域毎に、書き込みを行なった各プロセッサIDのプロセッサの書き込み回数を監視し」(特定事項Aという。)において、当該書き込みは、キャッシュメモリに記憶されているメモリ領域(のデータ)への書き込みとまでは言えないまでも、メモリ領域(のデータ)への書き込みであり、一方、本願補正発明の「複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス」において、各タスクがアクセスするキャッシュ・メモリに記憶されている共通データへのアクセスも、上位概念では、メモリに記憶されている共通データへのアクセスである。したがって、刊行物1の発明の前記特定事項Aと、本願補正発明の「複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視する」とは「メモリに記憶されている共通データへの各タスクのアクセス状況を監視する」点で共通する。
(3.3)刊行物1の発明の「書き込み回数が閾値を越えたページ番号を調べ、このページ番号のページに最も多く書き込みを行っているプロセッサIDを調べ、前記プロセッサIDが自分のIDと同じでない場合に前記プロセッサIDに現在実行中のプロセスを移動する」において、該「ページ」は当該1つのページに対して複数のプロセッサが書き込みを行い、かつ前記「ページ」は共有メモリ12の領域にあって(図1参照)複数のプロセッサからアクセスできるから、前記書き込み回数は「同一の共通データへのアクセス回数」に相当する。また、前記「プロセス」は、タスク(プロセス)をグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てる、とまでは言えないまでも、プロセッサIDに対応するプロセッサに現在実行中のプロセスを移動しており、この点は、タスク(プロセス)をプロセッサに割り当てることに相当する。
これらをふまえると、刊行物1の発明の前記事項と、本願補正発明の「前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てるステップ」とは、「アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てる」で共通する。

したがって、刊行物1の発明と本願発明とは、次の事項を有する発明である点で一致し、そして、次の点で相違する。
〈一致点〉
1つのキャッシュ・メモリとプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるステップと
を含むタスクの割り当て方法。

〈相違点1〉プロセッサ・モジュールに含まれるプロセッサが、本願補正発明は、キャッシュ・メモリを共有する複数のプロセッサであるのに対し、刊行物1の発明は、そのようなプロセッサ(モジュール)ではない点。
〈相違点2〉各タスクのアクセス状況を監視するメモリに記憶されている共通データが、本願補正発明は、複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されているのに対し、刊行物1の発明は、メモリ(共有メモリ12)に記憶されている点。
〈相違点3〉同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるのに、本願補正発明は、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てるのに対し、刊行物1の発明は、タスク(プロセス)をプロセッサに割り当てる点。

〈当審判断〉
〈相違点1〉について
プロセッサ・モジュールに含まれるプロセッサが、キャッシュ・メモリを共有する複数のプロセッサであることは、本願出願前周知の技術にすぎない。例えば、原審査定時に周知技術の引用例として示された特開平10-78942号公報【0008】段落には、図1に関連して「本実施の形態に係るマルチプロセッサシステムは、共有バッファ(2次キャッシュ)9を共有してプロセッサグループ20としてグルーピングされたプロセッサ1?4と、共有バッファ(2次キャッシュ)10を共有してプロセッサグループ21としてグルーピングされたプロセッサ5?8と、主記憶11」と記載されており、前記プロセッサグループ(図1で□で囲まれている)がひとまとまりの機能を持った部品(モジュール)として構成できることがみてとれる点をふまえれば、前記引用例には、プロセッサ・モジュールに含まれるプロセッサが、キャッシュ・メモリを共有する複数のプロセッサであることが示されている。
刊行物1の発明において、プロセッサを、プロセッサ・モジュールに含まれるプロセッサが、キャッシュ・メモリを共有する複数のプロセッサとすることは、前記周知技術を参酌することにより当業者が容易になし得ることである。
〈相違点2〉について
キャッシュはシステムメモリの高速バッファ機構であり(例えば、前記引用例【0010】段落には、共有バッファ9および10(2次キャッシュ)はプロセッサ1?4またはプロセッサ5?8の各々が共通にアクセス可能な主記憶部(システムメモリに相当)にあるデータ(共通データに相当)を保持するための高速バッファ機構である旨記載されている。)、キャッシュへの共通データの書き込み(アクセス)は、バッファはされるものの、システムメモリの共通データへの書き込み(アクセス)をしていることを意味し、共通データへの書き込み(アクセス)を監視する点では、キャッシュへの書き込みがあることを監視することはシステムメモリへの書き込みがあることを監視することと等価とみれる。したがって、各タスクのアクセス状況を監視するメモリに記憶されている共通データが、キャッシュメモリに記憶されている共通データであるか、システムメモリに記憶されている共通データであるかは単なる表現の相違であって実質的な相違ではない。
刊行物1の発明において、メモリ(共有メモリ12)に記憶されているのを、キャッシュ・メモリ(複数のプロセッサ・モジュール内のキャッシュ・メモリ)に記憶されていると成すことは、前記キャッシュの高速バッファ機構の技術を参酌すれば格別なことではなく当業者が適宜になし得ることである。
〈相違点3〉同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるのに、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てることは本願出願前周知の技術にすぎない。例えば、原審査定時に周知技術の引用例として示された前記特開平10-78942号公報には次の記載がある。
ア.「【0005】本発明の目的は、タスクのプロセッサへの再ディスパッチング時に、同一のプロセッサのみを対象とするのではなく、プロセッサをグループ化することにより、該プロセッサが含まれているプロセッサグループ内であればどのプロセッサでも再ディスパッチングによる効果が得られる構成とし、プロセッサへのタスク割り当ての自由度を高めるとともに、キャッシュのミスヒットによる性能の低下およびメモリアクセス競合やそれに伴う負荷の軽減を図り、高並列プロセッサの処理効率を向上させるマルチプロセッサシステムを提供することにある。
【0006】
【課題を解決するための手段】本発明のマルチプロセッサシステムは、複数個のプロセッサから構成され、タスクを単位として該プロセッサにディスパッチし処理を実行するマルチプロセッサシステムにおいて、前記複数個のプロセッサは該プロセッサの幾つかをまとめたプロセッサグループを単位として該プロセッサグループを1つ以上合わせることにより構成されるものとし、該プロセッサグループ毎に該プロセッサグループの各プロセッサによって主記憶のデータをバッファするために共有される共有バッファ手段を備え、該プロセッサグループに属するプロセッサを管理するプロセッサ管理手段と、該プロセッサグループ毎に設定された待ち状態キュー群からなるキュー手段と、タスク生成によるエンキュー時に前記キュー手段のどの待ち状態キューにタスクを割り当てるかを制御するタスク割り当て手段と、ディスパッチ要求の要求元プロセッサ番号から該プロセッサが属するプロセッサグループを検出する検出手段と、前記タスクが再ディスパッチング時に同一プロセッサグループ内のプロセッサのみにディスパッチされるタスクかそれ以外のプロセッサグループにもディスパッチ可能なタスクかを判断するローカルディスパッチ指示手段と、その結果に基づき選択するタスクを決定するディスパッチング手段とを有する。」
イ.「【0039】
【発明の効果】以上説明したように、本発明の第1の効果は、キャッシュ効果を生かしたプロセッサへのタスクの再ディスパッチングにおいて、前回実行したプロセッサのみが対象となるのではなく、そのプロセッサを含むプロセッサグループ内のプロセッサであれば全て対象にすることが可能であるということである。これにより、処理のターンアラウンドタイムの短縮をはかれ、プロセッサの使用効率を高めて、MP(マルチプロセッサ)係数の向上に大きく寄与することができる。また、これにより、キャッシュ効果を高めメモリアクセス頻度を軽減し、ひいてはメモリ競合やシステムバスビジィの軽減を図れる。その理由は、第1に、システム構成を1つ以上のプロセッサとそのプロセッサの全てでデータ共有が可能な共有バッファとからなるプロセッサグループによってシステムが構成されているために、プロセッサグループ内でのデータ使用効率を高められるからである。第2に、待ち状態キューをプロセッサグループ単位に設定することにより、ディスパッチャの処理負荷を高めることなくグループディスパッチング処理を可能としたことである。
…(中略)…
【0041】さらに、本発明の第3の効果は、ローカルタスクおよびグローバルタスクのタスクタイプを設定したことにより、負荷分散が図られることである。その理由は、自プロセッサグループ内で待ち状態のタスクが無い場合には、別のプロセッサグループのグローバルタスクを処理することが可能であるためである。
【0042】さらにまた、本発明の第4の効果は、特定用途に応じたプロセッサの分散処理が可能なことである。その理由は、ローカルタスクとしてプロセッサグループを指定することにより、プロセッサグループ単位にタスクのディスパッチングを可能とするためである。」

ア.イ.によれば、タスクをグローバルタスクとローカルタスクのグループにグループ分けし、該グループ分けされたタスクを同一プロセッサモジュールにあたるプロセッサグループ20又はプロセッサグループ21内のプロセッサにグループディスパッチングすることにより、キャッシュ効果を高めメモリアクセス頻度を軽減でき、ひいてはメモリ競合やシステムバスビジィの軽減を図り、プロセッサグループ内でのデータ使用効率を高めることができる技術が示されている。この技術は、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てる技術に相当する。
刊行物1の発明において、同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるのに、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てることは、前記周知の技術を参酌することにより当業者が容易になし得ることである。

そして、本願補正発明により奏する効果も、刊行物1及び周知技術から当業者が予測できる範囲内のものにすぎない。

したがって、本願補正発明は、刊行物1に記載された発明、及び、前記周知技術に基いて、当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許出願の際独立して特許を受けることができないものである。

(4)小結
以上のとおり、本件補正は、平成14年法律第24号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第3項の規定に違反するので、同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。
また、仮に、本件補正が、特許法第17条の2第3項及び第4項の規定に適合するものであるとしても、本件補正は、平成18年法律第55号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第5項において準用する同法第126条第5項の規定に違反するので、同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。

4.本願発明について
(1)平成18年7月31日付の手続補正は前記のとおり却下されたので、本願の請求項1に係る発明(以下、同項記載の発明を「本願発明」という。)は、平成17年9月8日付けの手続補正書における特許請求の範囲の請求項1に記載されたとおりの次の事項により特定されるものである。

「1つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを、同一プロセッサ・モジュール内のプロセッサに割り当てるステップと
を含むタスクの割り当て方法。」

(2)引用刊行物
引用刊行物とその記載事項、及び周知技術は、前記3.(2)、〈当審判断〉に記載したとおりである。

(3)対比・判断
本願発明は、前記2.乃至3.で検討した本願補正発明から、本願発明の特定事項である「アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを、同一プロセッサ・モジュール内のプロセッサに割り当てるステップ」の限定事項である、「グループ分けし、該グループ分けされたタスクを」との構成を省いたものである。
そうすると、本願発明の構成要件をすべて含み、さらに他の構成要件を付加したものに相当する本願補正発明が、前記3.(2)乃至〈当審判断〉に記載したとおり、刊行物1に記載された発明、及び、前記周知技術に基いて、当業者が容易に発明をすることができたものであるから、本願発明も、同様の理由により、刊行物1に記載された発明、及び、前記周知技術に基いて当業者が容易に発明をすることができたものである。

(4)むすび
以上のとおり、本願発明は、刊行物1に記載された発明、及び、前記周知技術に基いて、当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。
よって、結論のとおり審決する。
 
審理終結日 2009-01-08 
結審通知日 2009-01-09 
審決日 2009-01-20 
出願番号 特願2000-236740(P2000-236740)
審決分類 P 1 8・ 121- Z (G06F)
P 1 8・ 575- Z (G06F)
P 1 8・ 561- Z (G06F)
最終処分 不成立  
前審関与審査官 滝谷 亮一須原 宏光  
特許庁審判長 山崎 達也
特許庁審判官 鈴木 匡明
▲吉▼田 美彦
発明の名称 マルチプロセッサ・システム及びマルチプロセッシングでのタスクの割り当て方法  
復代理人 楠本 高義  
代理人 坂口 博  

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