【事件の表示】
　特願２０００−２３６７４０「マルチプロセッサ・システム及びマルチプロセッシングでのタスクの割り当て方法」拒絶査定不服審判事件〔平成１４年　２月２０日出願公開、特開２００２−　５５９６６〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯
　出願日　　　　　　　　　　　　　　平成１２年８月４日
　拒絶理由　　　　　　　　　　　　　平成１７年３月２９日　
　意見書及び手続補正書　　　　　　　平成１７年９月８日　
　拒絶査定　　　　　　　　　　　　　平成１８年３月２３日　
　審判請求　　　　　　　　　　　　　平成１８年７月１４日　
　手続補正書　　　　　　　　　　　　平成１８年７月３１日　
　なお、平成１８年７月３１日付け手続補正書は、同年８月３日付け手続補正指令書（方式）を受けて、同年８月３０日付け手続補正書（方式）により補正されたものである。
　
２．平成１８年７月３１日付の手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成１８年７月３１日付の手続補正書による補正を却下する。
　
［理由］
（１）本件補正
　平成１８年７月３１日付の手続補正（以下、「本件補正」という。）により特許請求の範囲の請求項１乃至請求項１１は次のとおり補正された。（補正部分には下線が付されている。）
　
（本件補正後の特許請求の範囲）
「【請求項１】
　１つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
　複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
　前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを
グループ分けし、該グループ分けされたタスクを
を含むタスクの割り当て方法。
【請求項２】
　前記アクセス状況を監視するステップが、
　他のプロセッサ・モジュールのキャッシュ・メモリにも記憶されている共通データを書き換えたことによる、前記他のプロセッサ・モジュールのキャッシュ・メモリ内の共通データの無効化の発生を検出するステップと、
　前記無効化を発生させたタスクの識別情報と、書き換えられたデータのアドレスと、同一タスクによる同一データでの無効化発生回数とを記憶するステップとを含み、
　前記プロセッサに割り当てるステップが、
　同一データでの無効化発生回数の多さに基づいて、タスクをグループ分けするステップと、
　同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップと
を含む請求項１のタスクの割り当て方法。
【請求項３】
　前記アクセス状況を監視するステップが、
　複数のキャッシュ・メモリに記憶されている共通データのいずれかが書き換えられたことによる、前記共通データのうちの前記書き換えられたデータが記憶されたキャッシュ・メモリ以外のキャッシュ・メモリに記憶されている該共通データの無効化を検出及び記憶するステップと、
　前記無効化されたデータへの各タスクのアクセス状況を監視するステップとを含み、
　前記プロセッサに割り当てるステップが、
　同一の前記無効化されたのデータへの各タスクのアクセス回数の多さに基づいて、該各タスクをグループ分けするステップと、
　同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップと
を含む請求項１のタスクの割り当て方法。
【請求項４】
　前記無効化されたデータへの各タスクのアクセス状況を監視するステップが、
　無効化されたデータへのアクセスを検出するステップと、
　アクセスが検出された無効化されたデータのアドレスと、この無効化されたデータへアクセスしたタスクの識別情報と、同一タスクによる同一アドレスへのアクセス回数とを記憶するステップと
を含む請求項３のタスクの割り当て方法。
【請求項５】
　前記無効化されたデータへのアクセスを検出するステップが、
　データの無効化を検出するステップと、
　無効化されたデータのアドレスを記憶するステップと、
　キャッシュ・ミスを検出するステップと、
　キャッシュ・ミスが発生したデータ・アドレスと前記記憶された無効化されたデータのアドレスとを比較するステップと
を含む請求項４のタスクの割り当て方法。
【請求項６】
　前記記憶された各無効化発生回数又は各アクセス回数の合計値が所定値を超えると、前記各プロセッサへのタスクの割り当てを、マルチプロセッシングを行っているオペレーティング・システムに要求するステップを含む請求項２、請求項４又は請求項５のタスクの割り当て方法。
【請求項７】
　１つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッサ・システムであって、
(ａ)　複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセスを検出する手段と、
　アクセスが検出された共通データのアドレスと、この共通データへアクセスしたタスクの識別情報と、同一タスクによる同一データへのアクセス回数とを記憶する記憶手段とを含むプロセッサ・モジュールと、
(ｂ)　前記アクセス回数に基づいて、同一の共通データへのアクセス回数が多いタスクを
グループ分けし、該グループ分けされたタスクを
を含むマルチプロセッサ・システム。
【請求項８】
　前記プロセッサ・モジュールのアクセスを検出する手段が、
　他のプロセッサ・モジュールのキャッシュ・メモリにも記憶されている共通データを書き換えたことによる、前記他のプロセッサ・モジュールのキャッシュ・メモリ内の共通データの無効化の発生を検出する手段と、
　前記無効化を発生させたタスクの識別情報と、書き換えられたデータのアドレスと、同一タスクによる同一データでの無効化発生回数とを記憶する手段と
を含む請求項７のマルチプロセッサ・システム。
【請求項９】
　前記プロセッサ・モジュールのアクセスを検出する手段が、
　複数のキャッシュ・メモリに記憶されている共通データのいずれかが書き換えられたことによる、前記共通データのうちの書き換えられたデータが記憶されたキャッシュ・メモリ以外のキャッシュ・メモリに記憶されている該共通データの無効化を検出及び記憶する手段と、
　前記無効化されたデータへの各タスクのアクセスを検出する手段と
を含む請求項７のマルチプロセッサ・システム。
【請求項１０】
　前記データの無効化を検出及び記憶する手段が、
　データの無効化を検出する手段と、無効化されたデータのアドレスを記憶する手段とを含み、
　前記無効化されたデータへの各タスクのアクセスを検出する手段が、
　キャッシュ・ミスを検出する手段と、キャッシュ・ミスが発生したデータ・アドレスと前記記憶された無効化されたデータのアドレスとを比較する手段とを含む請求項９のマルチプロセッサ・システム。
【請求項１１】
　前記記憶された各アクセス回数又は各無効化発生回数の合計値が所定値を超えると、前記各プロセッサへのタスクの割り当てを、前記割り当て手段に要求する手段をさらに含む請求項７又は請求項８のマルチプロセッサ・システム。」
　
　また、前記特許請求の範囲の補正にあわせて発明の詳細な説明も次のように補正された。
「【０００９】
本発明のマルチプロセッサ・システムは、(ａ)複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセスを検出する手段と、アクセスが検出された共通データのアドレスと、この共通データへアクセスしたタスクの識別情報と、同一タスクによる同一データへのアクセス回数とを記憶する記憶手段とを含むプロセッサ・モジュールと、(ｂ)前記アクセス回数に基づいて、同一の共通データへのアクセス回数が多いタスクを
グループ分けし、該グループ分けされたタスクを
「【００１１】
本発明のマルチプロセッシングでのタスクの割り当て方法は、複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを
グループ分けし、該グループ分けされたタスクを
　
（２）補正の適否の判断
（２．１）本件補正が、願書に最初に添付した明細書又は図面（以下、「当初明細書」という。）に記載した事項の範囲内においてされたものであるかについて検討する。
　前記「アクセス回数に基づいて、同一の共通データへのアクセス回数が多いタスクを
グループ分けし、該グループ分けされたタスクを
　当初明細書には同一の共通データへのアクセス回数、タスクのグループ分けに関連した次の記載がある。
「【請求項２】…前記プロセッサに割り当てるステップが、
　同一データでの無効化発生回数の多さに基づいて、タスクをグループ分けするステップと、
　同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップとを含む…」
「【請求項３】…前記プロセッサに割り当てるステップが、
　同一の無効化されたデータへのアクセス回数の多さに基づいて、タスクをグループ分けするステップと、
　同一グループに分けられた各タスクを同一プロセッサ・モジュール内の各プロセッサに割り当てるステップとを含む…」
「【００１８】スケジューラは、例えばタスク間の同期をとる等の目的でＯＳが起動するが、本発明では図２(ｂ)に示すように、スケジューラが起動すると(Ｓ１００)、ピンポン情報の読み出しを行う(Ｓ１０２)。さらに、ＭＰＵに割り当てられているタスクを識別した後、読み出したピンポン情報に基づいて、ピンポンの発生が最小となるように各タスクを各ＭＰＵに割り当てる(Ｓ１０４,Ｓ１０６)。具体的には、ピンポンの発生状況を解析してグループ分けし(Ｓ１０４)、ピンポンを頻繁に起こしたタスクどうしを同一モジュール内のＭＰＵに割り当てる(Ｓ１０６)。」
「【００２５】ＯＳがスケジューラを起動すると(Ｓ１００)、スケジューラはピンポン情報を読み出す(Ｓ１０２)。スケジューラは、ＭＰＵの識別番号(MPU ID)からそのＭＰＵに割り当てられているタスクの識別番号(Task ID)を求め、アクセス回数(Count)に基づいて、各タスクのＭＰＵへの割り当てを行う(Ｓ１０４,Ｓ１０６)。割り当て方法の概要を図３(ａ),(ｂ)に示す。図３(ａ),(ｂ)では、表１及び表２のアドレス(Ping-Pong Address)とタスク(Task ID)との緊密度をアクセス回数(Count)で表したブロック図である。現在のところ、ＭＰＵ１にタスク１が割り当てられ、ＭＰＵ２にタスク２が割り当てられているので、図３(ｂ)に示すようにタスク１とタスク２を同一のグループに分けている。同様に、タスク３とタスク４を同一のグループに分けている。
【００２６】Address_Aとの緊密度の高さは、タスク１が最も高く、次に高いのがタスク３である。Address_Cとの緊密度の高さは、タスク２が最も高く、次に高いのがタスク４である。スケジューラは、同一アドレスへの緊密度の高いタスクどうしをグループ化する。図３(ａ)に示すように、Address_Aとの緊密度の高いタスク１とタスク３とをグループ化し、Address_Cとの緊密度の高いタスク２とタスク４とをグループ化する(Ｓ１０４)。
【００２７】スケジューラは、同一グループ内の各タスクを同一モジュール内の各ＭＰＵに割り当てる(Ｓ１０６)。例えば、プロセッサ・モジュールＡのＭＰＵ１にタスク２を、ＭＰＵ２にタスク４を割り当て、プロセッサ・モジュールＢのＭＰＵ３にタスク１を、ＭＰＵ４にタスク３を割り当てる。」
　
　これらの記載によれば、タスクのグループ分けについては、ピンポン情報（ピンポンアドレス(Ping-Pong Address)）、又は、無効化アドレスと、これらのアドレスに関連したアクセス回数に基づいてグループ分けすることは記載されているが、ピンポン情報や無効化アドレスに関連することに限定されない上位概念の、アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを「
グループ分けし、該グループ分けされたタスクを
　また、前記補正事項は、当初明細書の前記例示箇所以外のどこにも記載されておらず、前記補正は当初明細書に記載した事項の範囲内においてしたものとは認められない。
　よって、本件補正は、当初明細書に記載した事項の範囲内においてしたものではないので、特許法第１７条の２第３項の規定に適合しない。
　
　仮に、本件補正が、当初明細書に記載した事項の範囲内においてしたものであるとしても、特許出願の際独立して特許を受けることができるものであるとは認められないので、更に補正の適否の判断を続ける。
　
（２．２）本件補正について、特許請求の範囲についてされた補正の目的を検討する。
　前記「
グループ分けし、該グループ分けされたタスクを
　
（２．３）そこで、本件補正後の前記請求項１に記載された発明（以下、「本願補正発明」という。）が特許出願の際独立して特許を受けることができるものであるか（特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に適合するか）について以下に検討する。　
　
３．本願補正発明について
（１）本件補正後の請求項１（以下、「本願補正発明」という。）を再掲する。
「１つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
　複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
　前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを
グループ分けし、該グループ分けされたタスクを
を含むタスクの割り当て方法。」
　
 （２）引用刊行物
　原審の拒絶の理由に引用された、本願出願前頒布された刊行物である、特開平８−１９０５３７号公報には、図面とともに次の事項が記載されている。
Ａ．「【０００６】
【発明が解決しようとする課題】このように、従来のマルチプロセッサシステムでは、プロセススケジューリングによって、プロセスがプロセッサ間で自由に移動できるため、プロセッサのキャッシュに格納されたデータが無駄になっていた。
【０００７】本発明は前記のような事情を考慮してなされたもので、キャッシュメモリのデータを有効に活用して、システム性能の向上を図ることが可能なマルチプロセッサシステムを提供することを目的とする。
【０００８】
【課題を解決するための手段】本発明は、キャッシュメモリが設けられた複数のプロセッサによって構成されたマルチプロセッサシステムにおいて、プロセッサ上で実行されるプロセスが使用するメモリ領域について、所定のメモリ領域毎に、書き込みを行なった各プロセッサの書き込み頻度を監視する監視手段と、前記監視手段によってあるプロセッサによる書き込みの頻度が所定の閾値よりも高くなったことが判別された場合に、書き込みがあったメモリ領域を使用し、かつ前記監視手段によって判別されたプロセッサで実行されていないプロセスを、前記プロセッサに移動するスケジューリング手段とを具備したことを特徴とする。」
Ｂ．「【００１０】また、各プロセッサで実行されるプロセス数を記録する実行中プロセス記録手段をさらに具備し、前記スケジューリング手段は、前記実行中プロセス記録手段によって記録されたプロセス数に基づいて、特定のプロセッサに対してプロセスが集中していることが判別された場合には、対象とするプロセスの移動を行なわず、最も多くプロセスを実行しているプロセッサから他のプロセッサにプロセスを移動することを特徴とする。
【００１１】
【作用】このような構成によれば、あるメモリ領域（ページ）に対する書き込みが、頻繁に行なわれている場合、すなわち予め設定されたある閾値よりも書き込み頻度が高い場合には、その書き込みを行なっているプロセッサに、同じメモリ領域にアクセスするプロセスを移動することにより、複数のプロセッサのキャッシュメモリ中に同じデータが存在することによるデータの一貫性を取るための処理を不要とし、さらにキャッシュメモリ上で複数のプロセスによる処理が実行可能であるので共有メモリに対するアクセス回数が低減される。すなわち、プロセスの移動を適切に制御することにより、キャッシュ上などのデータが有効に活用されるので、システム全体の性能の向上が図れる。」
Ｃ．「【００２１】次に、第１実施例の動作について、図４及び図５に示すフローチャートを参照しながら説明する。図４は監視装置１８の動作を示すフローチャートである。プロセスが生成される際に、共有メモリ１２中に領域（領域１４中の所定のページ）が割り当てられると、そのページに対応して書き込み回数記録領域１６中に、プロセスが実行されるプロセッサを示すプロセッサＩＤが領域２３に格納される。
【００２２】このプロセスがあるプロセッサ上で実行されている時に、特定のページに対して書き込みを行なうと、監視装置１８は、書き込み回数記録領域１６の対象とするページに対応して、書き込みを実行したプロセッサのプロセッサＩＤを格納すると共に、このプロセッサＩＤに対応づけて格納された書き込み回数の値を１つ増やす（ステップＡ１）。（既に該当するプロセッサＩＤが格納されていれば、そのプロセッサＩＤに対応して書き込み回数の値を１つ増やす）。
【００２３】また、同じページに対して、他のプロセスが書き込みを行なうと、同様にして監視装置１８は、このプロセスを実行しているプロセッサのプロセッサＩＤと対応づけて書き込みの回数を格納する（書き込み回数を１つ増加する）。
…（中略）…
【００２５】この時、書き込みを行なったプロセッサによる、このページへの書き込み回数が、領域２２に格納されている予め設定された閾値を越えた場合には（ステップＡ２）、監視装置１８は、ページ番号格納領域１７に、書き込み回数記録領域１６の現在対象としているページの領域２３に格納されているプロセッサＩＤとページ番号を対応づけて格納する（ステップＡ３）。
【００２６】最後に、監視装置１８は、領域２３に格納されたプロセッサＩＤが示すプロセッサに対して割り込みを発行する（ステップＡ４）。すなわち、領域２３に格納されたプロセッサＩＤが示すプロセッサ上で実行中のプロセスを、他のプロセッサに移動させるための処理を実行させる。
【００２７】なお、ページ番号格納領域１７には、書き込み回数記録領域１６において、他のページに対する書き込み回数が、それぞれで設定された閾値を越えた場合に、それぞれのページ番号がプロセッサＩＤと対応づけられて格納される。
【００２８】図５は監視装置１８によって割り込みを受けたプロセッサの動作を示すフローチャートである。監視装置１８からの割り込みを受けたプロセッサは、共有メモリ１２のページ番号格納領域１７に格納されたプロセッサＩＤから自プロセッサのプロセッサＩＤを検索し、該当するプロセッサＩＤに対応づけて格納されたページ番号を調べる（ステップＢ１）。すなわち、どのページに対する書き込みが閾値を越えて割り込みが発生したかを調べる。
【００２９】割り込みを受けたプロセッサは、ページ番号格納領域１７に格納されたページ番号に応じて、書き込み回数記録領域１６に記録された対象とするページに対する書き込み回数を調べて、このページに最も多く書き込みを行なっているプロセッサのプロセッサＩＤを求める（ステップＢ２）。
【００３０】割り込みを受けたプロセッサは、書き込み回数記録領域１６から求めたプロセッサＩＤと自プロセッサＩＤとを比較し、一致するか否かを判別する（ステップＢ３）。すなわち、自プロセッサで動作しているプロセスを、他のプロセッサに移動させるかを判別するもので、プロセッサＩＤが同じであれば、移動先のプロセッサが自プロセッサであるのでプロセスの移動は行なわない。
【００３１】一方、プロセッサＩＤが異なる場合には、書き込み回数記録領域１６に格納されていたプロセッサＩＤが示す最も書き込み回数の多いプロセッサに、現在実行中のプロセスを移動させるための処理を実行する（ステップＢ４）。
【００３２】そして、書き込み回数記録領域１６に格納された、プロセスの移動先となったプロセッサに対応する書き込み回数を「０」クリアする（ステップＢ５）。なお、プロセスが切り替わるなどして、ページのマッピングが変更になった場合には、そのページに対応する書き込み回数記録領域１６を初期化し直す。
【００３３】このようにして、任意のプロセッサに移動させるのではなく、共有メモリ１２の共通するページに対する書き込みが多いプロセッサにプロセスを移動させるスケジューリングにより、キャッシュメモリに格納されたデータを有効に利用することができる。」
Ｄ．「【００５７】プロセッサＩＤ履歴領域５９は、各プロセス毎（領域５９ａ，５９ｂ，５９ｃ，…）に、実行されたプロセッサを示すプロセッサＩＤの履歴、すなわちプロセスの移動の履歴を格納するためのものである。プロセッサＩＤ履歴領域５９には、プロセスがプロセッサに割り当てられることにより、オペレーティングシステムによってプロセス毎に格納される。
【００５８】実行中プロセス数領域５Ａは、各プロセッサ５１ａ，５１ｂ，５１ｃで実行しているプロセスの個数を、各プロセッサ毎（領域５Ａａ，５Ａｂ，５Ａｃ）に格納するための領域である。実行中プロセス数領域５Ａには、プロセッサ間でのプロセスの移動等が発生することにより、オペレーティングシステムによってプロセッサ毎に実行中のプロセス数が更新される。
…（中略）…
【００６４】一方、プロセッサＩＤが異なる場合には、実行中プロセス数領域５Ａを参照し、各プロセッサで実行されているプロセス数を比較する（ステップＤ４）。そして、プロセス数の最大と最小との差が、プロセス数に対する予め設定されている閾値を越えているかを判別する（ステップＤ５）。
【００６５】すなわち、プロセス移動の結果、特定のプロセッサに対して集中してしまい、プロセッサによって実行しているプロセス数に偏りが発生し、プロセスがある閾値以上の数となっている場合には、現在対象としているプロセスの移動を行なわない。また、最も多くのプロセスを実行しているプロセッサから、プライオリティの低いプロセスを、他のプロセスの実行数が少ないプロセッサに移動させるための処理を実行する（ステップＤ６）。従って、プロセス数の差が閾値以下となるまで、プロセスを最も実行しているプロセッサから他のプロセッサに対してプロセスを移動する処理が、繰り返して実行されることになる。
…（中略）…
【００７０】このようにして、前述した第１実施例及び第２実施例における効果に加えて、さらにプロセスの移動により特定のプロセッサにプロセスが集中した場合には、対象としているプロセスの移動を中止し、最も多くプロセスを実行しているプロセッサから他のプロセッサにプロセスを移動させることとにより、各プロセッサに対する負担を平均化して、システム全体の性能低下を防ぐことができる。」
　
　Ａ．〜Ｄ．によれば、刊行物１には、予め設定されたある閾値よりも書き込み頻度が高い場合には、その書き込みを行なっているプロセッサに、同じメモリ領域にアクセスするプロセスを移動することにより、複数のプロセッサのキャッシュメモリ中に同じデータが存在することによるデータの一貫性を取るための処理を不要とし、さらにキャッシュメモリ上で複数のプロセスによる処理が実行可能であることにより共有メモリに対するアクセス回数が低減される次の発明（以下、「刊行物１の発明」という。）が記載されていると認められる。（図１〜図５、図９、特に図５参照）
　
　キャッシュメモリが設けられた複数のプロセッサによって構成されたマルチプロセッサシステムにおけるプロセススケジューリング方法であって、
　プロセッサ上で実行されるプロセスが使用するメモリ領域について、所定のメモリ領域毎に、書き込みを行なった各プロセッサＩＤのプロセッサの書き込み回数を監視し、
　書き込み回数が閾値を越えたページ番号を調べ、このページ番号のページに最も多く書き込みを行っているプロセッサＩＤを調べ、前記プロセッサＩＤが自分のＩＤと同じでない場合に前記プロセッサＩＤに現在実行中のプロセスを移動すること（図６参照）
を含むプロセススケジューリング方法。
　
（３）対比・判断
　本願補正発明と刊行物１の発明とを対比すると
（３．１）刊行物１の発明の、キャッシュメモリが設けられた複数のプロセッサは、図１に□で囲まれたプロセッサ１１ａ、１１ｂ、１１ｃで示されており、これらのプロセッサのそれぞれが、ひとまとまりの機能を持った部品（モジュール）として構成でき、周知のモジュール化により構成された、プロセッサ・モジュールであるものがみてとれる。また、マルチプロセッサシステムがマルチプロセッシングを行うことは自明であるとともに、タスクは、（１）プロセスと同じ意味で使われる場合、（２）スレッドのことを指す場合、あるいは（３）プロセスよりも大きな集合として使われる場合があるとしても、タスクとプロセスが同じ意味合いである場合が含まれる。以下、「タスク」とプロセスは同じ意味合いで用いる。
　刊行物１の発明のプロセッサ（プロセッサ・モジュール）は、キャッシュ・メモリを共有する複数プロセッサを含む、とまでは言えないまでも、１つのキャッシュメモリとプロセッサを含む。
　以上の点をふまえれば、刊行物１の発明の「キャッシュメモリが設けられた複数のプロセッサによって構成されたマルチプロセッサシステムにおけるプロセススケジューリング方法」と、本願補正発明とは「１つのキャッシュ・メモリとプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法」で共通する。
（３．２）刊行物１の発明の、プロセスが使用するメモリ領域（のデータ）は、共有メモリ１２（図１参照）領域（のデータ）であるからプロセスが共有するデータであり、この共有データは「共通データ」にあたる。
　刊行物１の発明の「プロセッサ上で実行されるプロセスが使用するメモリ領域について、所定のメモリ領域毎に、書き込みを行なった各プロセッサＩＤのプロセッサの書き込み回数を監視し」（特定事項Ａという。）において、当該書き込みは、キャッシュメモリに記憶されているメモリ領域（のデータ）への書き込みとまでは言えないまでも、メモリ領域（のデータ）への書き込みであり、一方、本願補正発明の「複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス」において、各タスクがアクセスするキャッシュ・メモリに記憶されている共通データへのアクセスも、上位概念では、メモリに記憶されている共通データへのアクセスである。したがって、刊行物１の発明の前記特定事項Ａと、本願補正発明の「複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視する」とは「メモリに記憶されている共通データへの各タスクのアクセス状況を監視する」点で共通する。
（３．３）刊行物１の発明の「書き込み回数が閾値を越えたページ番号を調べ、このページ番号のページに最も多く書き込みを行っているプロセッサＩＤを調べ、前記プロセッサＩＤが自分のＩＤと同じでない場合に前記プロセッサＩＤに現在実行中のプロセスを移動する」において、該「ページ」は当該１つのページに対して複数のプロセッサが書き込みを行い、かつ前記「ページ」は共有メモリ１２の領域にあって（図１参照）複数のプロセッサからアクセスできるから、前記書き込み回数は「同一の共通データへのアクセス回数」に相当する。また、前記「プロセス」は、タスク（プロセス）をグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てる、とまでは言えないまでも、プロセッサＩＤに対応するプロセッサに現在実行中のプロセスを移動しており、この点は、タスク（プロセス）をプロセッサに割り当てることに相当する。
　これらをふまえると、刊行物１の発明の前記事項と、本願補正発明の「前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てるステップ」とは、「アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てる」で共通する。
　
　したがって、刊行物１の発明と本願発明とは、次の事項を有する発明である点で一致し、そして、次の点で相違する。
〈一致点〉
　１つのキャッシュ・メモリとプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
　メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
　前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるステップと
を含むタスクの割り当て方法。
　　
〈相違点１〉プロセッサ・モジュールに含まれるプロセッサが、本願補正発明は、キャッシュ・メモリを共有する複数のプロセッサであるのに対し、刊行物１の発明は、そのようなプロセッサ（モジュール）ではない点。
〈相違点２〉各タスクのアクセス状況を監視するメモリに記憶されている共通データが、本願補正発明は、複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されているのに対し、刊行物１の発明は、メモリ（共有メモリ１２）に記憶されている点。
〈相違点３〉同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるのに、本願補正発明は、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てるのに対し、刊行物１の発明は、タスク（プロセス）をプロセッサに割り当てる点。
　
〈当審判断〉
〈相違点１〉について
　プロセッサ・モジュールに含まれるプロセッサが、キャッシュ・メモリを共有する複数のプロセッサであることは、本願出願前周知の技術にすぎない。例えば、原審査定時に周知技術の引用例として示された特開平１０−７８９４２号公報【０００８】段落には、図１に関連して「本実施の形態に係るマルチプロセッサシステムは、共有バッファ（２次キャッシュ）９を共有してプロセッサグループ２０としてグルーピングされたプロセッサ１〜４と、共有バッファ（２次キャッシュ）１０を共有してプロセッサグループ２１としてグルーピングされたプロセッサ５〜８と、主記憶１１」と記載されており、前記プロセッサグループ（図１で□で囲まれている）がひとまとまりの機能を持った部品（モジュール）として構成できることがみてとれる点をふまえれば、前記引用例には、プロセッサ・モジュールに含まれるプロセッサが、キャッシュ・メモリを共有する複数のプロセッサであることが示されている。
　刊行物１の発明において、プロセッサを、プロセッサ・モジュールに含まれるプロセッサが、キャッシュ・メモリを共有する複数のプロセッサとすることは、前記周知技術を参酌することにより当業者が容易になし得ることである。
〈相違点２〉について
　キャッシュはシステムメモリの高速バッファ機構であり（例えば、前記引用例【００１０】段落には、共有バッファ９および１０（２次キャッシュ）はプロセッサ１〜４またはプロセッサ５〜８の各々が共通にアクセス可能な主記憶部（システムメモリに相当）にあるデータ（共通データに相当）を保持するための高速バッファ機構である旨記載されている。）、キャッシュへの共通データの書き込み（アクセス）は、バッファはされるものの、システムメモリの共通データへの書き込み（アクセス）をしていることを意味し、共通データへの書き込み（アクセス）を監視する点では、キャッシュへの書き込みがあることを監視することはシステムメモリへの書き込みがあることを監視することと等価とみれる。したがって、各タスクのアクセス状況を監視するメモリに記憶されている共通データが、キャッシュメモリに記憶されている共通データであるか、システムメモリに記憶されている共通データであるかは単なる表現の相違であって実質的な相違ではない。
　刊行物１の発明において、メモリ（共有メモリ１２）に記憶されているのを、キャッシュ・メモリ（複数のプロセッサ・モジュール内のキャッシュ・メモリ）に記憶されていると成すことは、前記キャッシュの高速バッファ機構の技術を参酌すれば格別なことではなく当業者が適宜になし得ることである。
〈相違点３〉同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるのに、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てることは本願出願前周知の技術にすぎない。例えば、原審査定時に周知技術の引用例として示された前記特開平１０−７８９４２号公報には次の記載がある。
ア．「【０００５】本発明の目的は、タスクのプロセッサへの再ディスパッチング時に、同一のプロセッサのみを対象とするのではなく、プロセッサをグループ化することにより、該プロセッサが含まれているプロセッサグループ内であればどのプロセッサでも再ディスパッチングによる効果が得られる構成とし、プロセッサへのタスク割り当ての自由度を高めるとともに、キャッシュのミスヒットによる性能の低下およびメモリアクセス競合やそれに伴う負荷の軽減を図り、高並列プロセッサの処理効率を向上させるマルチプロセッサシステムを提供することにある。
【０００６】
【課題を解決するための手段】本発明のマルチプロセッサシステムは、複数個のプロセッサから構成され、タスクを単位として該プロセッサにディスパッチし処理を実行するマルチプロセッサシステムにおいて、前記複数個のプロセッサは該プロセッサの幾つかをまとめたプロセッサグループを単位として該プロセッサグループを１つ以上合わせることにより構成されるものとし、該プロセッサグループ毎に該プロセッサグループの各プロセッサによって主記憶のデータをバッファするために共有される共有バッファ手段を備え、該プロセッサグループに属するプロセッサを管理するプロセッサ管理手段と、該プロセッサグループ毎に設定された待ち状態キュー群からなるキュー手段と、タスク生成によるエンキュー時に前記キュー手段のどの待ち状態キューにタスクを割り当てるかを制御するタスク割り当て手段と、ディスパッチ要求の要求元プロセッサ番号から該プロセッサが属するプロセッサグループを検出する検出手段と、前記タスクが再ディスパッチング時に同一プロセッサグループ内のプロセッサのみにディスパッチされるタスクかそれ以外のプロセッサグループにもディスパッチ可能なタスクかを判断するローカルディスパッチ指示手段と、その結果に基づき選択するタスクを決定するディスパッチング手段とを有する。」
イ．「【００３９】
【発明の効果】以上説明したように、本発明の第１の効果は、キャッシュ効果を生かしたプロセッサへのタスクの再ディスパッチングにおいて、前回実行したプロセッサのみが対象となるのではなく、そのプロセッサを含むプロセッサグループ内のプロセッサであれば全て対象にすることが可能であるということである。これにより、処理のターンアラウンドタイムの短縮をはかれ、プロセッサの使用効率を高めて、ＭＰ（マルチプロセッサ）係数の向上に大きく寄与することができる。また、これにより、キャッシュ効果を高めメモリアクセス頻度を軽減し、ひいてはメモリ競合やシステムバスビジィの軽減を図れる。その理由は、第１に、システム構成を１つ以上のプロセッサとそのプロセッサの全てでデータ共有が可能な共有バッファとからなるプロセッサグループによってシステムが構成されているために、プロセッサグループ内でのデータ使用効率を高められるからである。第２に、待ち状態キューをプロセッサグループ単位に設定することにより、ディスパッチャの処理負荷を高めることなくグループディスパッチング処理を可能としたことである。
…（中略）…
【００４１】さらに、本発明の第３の効果は、ローカルタスクおよびグローバルタスクのタスクタイプを設定したことにより、負荷分散が図られることである。その理由は、自プロセッサグループ内で待ち状態のタスクが無い場合には、別のプロセッサグループのグローバルタスクを処理することが可能であるためである。
【００４２】さらにまた、本発明の第４の効果は、特定用途に応じたプロセッサの分散処理が可能なことである。その理由は、ローカルタスクとしてプロセッサグループを指定することにより、プロセッサグループ単位にタスクのディスパッチングを可能とするためである。」
　
　ア．イ．によれば、タスクをグローバルタスクとローカルタスクのグループにグループ分けし、該グループ分けされたタスクを同一プロセッサモジュールにあたるプロセッサグループ２０又はプロセッサグループ２１内のプロセッサにグループディスパッチングすることにより、キャッシュ効果を高めメモリアクセス頻度を軽減でき、ひいてはメモリ競合やシステムバスビジィの軽減を図り、プロセッサグループ内でのデータ使用効率を高めることができる技術が示されている。この技術は、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てる技術に相当する。
　刊行物１の発明において、同一の共通データへのアクセス回数が多いタスクをプロセッサに割り当てるのに、タスクをグループ分けし、該グループ分けされたタスクを同一プロセッサ・モジュール内のプロセッサに割り当てることは、前記周知の技術を参酌することにより当業者が容易になし得ることである。
　
　そして、本願補正発明により奏する効果も、刊行物１及び周知技術から当業者が予測できる範囲内のものにすぎない。
　
　したがって、本願補正発明は、刊行物１に記載された発明、及び、前記周知技術に基いて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許出願の際独立して特許を受けることができないものである。
　
（４）小結
　以上のとおり、本件補正は、平成１４年法律第２４号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第３項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　また、仮に、本件補正が、特許法第１７条の２第３項及び第４項の規定に適合するものであるとしても、本件補正は、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
４．本願発明について
（１）平成１８年７月３１日付の手続補正は前記のとおり却下されたので、本願の請求項１に係る発明（以下、同項記載の発明を「本願発明」という。）は、平成１７年９月８日付けの手続補正書における特許請求の範囲の請求項１に記載されたとおりの次の事項により特定されるものである。
　
「１つのキャッシュ・メモリとこのキャッシュ・メモリを共有する複数のプロセッサとを含むプロセッサ・モジュールを複数用いたマルチプロセッシングでの各プロセッサへのタスクの割り当て方法であって、
　複数のプロセッサ・モジュール内のキャッシュ・メモリに記憶されている共通データへの各タスクのアクセス状況を監視するステップと、
　前記アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを、同一プロセッサ・モジュール内のプロセッサに割り当てるステップと
を含むタスクの割り当て方法。」
　
（２）引用刊行物
　引用刊行物とその記載事項、及び周知技術は、前記３．（２）、〈当審判断〉に記載したとおりである。
　
（３）対比・判断
　本願発明は、前記２．乃至３．で検討した本願補正発明から、本願発明の特定事項である「アクセス状況に基づいて、同一の共通データへのアクセス回数が多いタスクを、同一プロセッサ・モジュール内のプロセッサに割り当てるステップ」の限定事項である、「
グループ分けし、該グループ分けされたタスクを
　そうすると、本願発明の構成要件をすべて含み、さらに他の構成要件を付加したものに相当する本願補正発明が、前記３．（２）乃至〈当審判断〉に記載したとおり、刊行物１に記載された発明、及び、前記周知技術に基いて、当業者が容易に発明をすることができたものであるから、本願発明も、同様の理由により、刊行物１に記載された発明、及び、前記周知技術に基いて当業者が容易に発明をすることができたものである。
　
（４）むすび
　以上のとおり、本願発明は、刊行物１に記載された発明、及び、前記周知技術に基いて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。