【事件の表示】
　平成　９年特許願第　６３２６４号「非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システム」拒絶査定不服審判事件〔平成１０年　１月１６日出願公開、特開平１０−　１１３０５〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯、本願発明
　本願は、平成９年３月１７日（優先権主張１９９６年３月２７日、米国）の出願であって、その請求項１に係る発明は、平成１６年４月１日付け手続補正書によって補正された明細書及び図面の記載からみて、次のとおりのものである。
  
「 非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システムであって、
　相互接続された複数のマルチプロセッシング・ノードを備え、
　各マルチプロセッシング・ノードが１つ以上のプロセッサと１つのローカル・メイン・メモリとを含み、
　前記複数のマルチプロセッシング・ノードの前記ローカル・メイン・メモリを含むように、前記複数のマルチプロセッシング・ノード間に分散された主記憶域を備え、
　各ローカル・メイン・メモリが前記複数のマルチプロセッシング・ノードの各プロセッサからアクセス可能であり、
　前記主記憶域内の１つ以上のメモリ空間のプールを動的に予約するプール予約機構と、
　前記複数のマルチプロセッシング・ノードのうちの１つ以上のマルチプロセッシング・ノードに対し、前記予約済みメモリ空間のプールを割り振るプール割振り機構と、
　ローカル・メイン・メモリへのアクセス数が増加し且つシステム・パフォーマンスが強化されるように、各プロセスに与えられ且つ各プロセスに関連するメモリ空間のプールを示すプール属性の関数として、前記予約済みメモリ空間のプールが割り振られたマルチプロセッシング・ノードに対し、当該メモリ空間のプールに関連するプロセスを割り当てるプロセス割当て機構とを備え、
　前記プール割振り機構が、前記複数のマルチプロセッシング・ノードのうちの２つ以上のマルチプロセッシング・ノードに対し、当該２つ以上のマルチプロセッシング・ノードのローカル・メイン・メモリ内のメモリ空間を含み且つ前記プール属性によって示される特定の予約済みメモリ空間のプールをそれぞれ割り振っている場合、前記プロセス割当て機構は、前記２つ以上のマルチプロセッシング・ノードのうちの各マルチプロセッシング・ノードごとの当該特定の予約済みメモリ空間のプールの使用状況の関数として、当該２つ以上のマルチプロセッシング・ノードのうちの特定のマルチプロセッシング・ノードに対し、前記プロセスを割り当てることを特徴とする、マルチプロセッサ・システム。」
　
２．引用例
　これに対し、当審において拒絶の理由として通知した特開平４−１２３２３４号公報（以下、引用例１という。）には、以下の事項が図面と共に記載されている。
                      　
（１）「本発明の目的は、分散された主メモリを有する各プロセッサが、実行するプログラム又はデータをできる限り分散された主メモリ内に収まるように、プログラムを配置したマルチプロセッサのプロセススケジューリング方式及びメモリ管理方式を提供することにある。・・・（中略）・・・前記の目的を達成するために、本発明に係るマルチプロセッサのプロセススケジューリング方式は、複数のプロセッサと、それぞれのプロセッサに共有される主メモリとよりなる複数のＣＰＵを備え、それぞれのプロセッサは、内設するプロセッサと他のプロセッサとの間を接続する通信路を経由して互いのメモリをアクセス自在とし、プロセススケジューラがプロセス管理テーブルに従って実行可能のプロセスにいずれかのプロセッサを割り当てるマルチプロセッサのプロセススケジューリング方式において、プロセス管理テーブルは、それぞれのプロセスを動作させるプログラム又はデータを有する主メモリのリストを格納するプロセス割り当て情報格納手段と、そのプロセス割り当て情報を用いて次に実行すべき候補プロセスを算出する決定手段とを有し、決定手段の出力に従ってプロセススケジューラがプロセスにプロセッサを割り当てる構成とする。」（公報３頁左下欄７行−４頁左上欄３行）
                      　
（２）「第１図に示すように、ＣＰＵ（中央処理装置）２０は、複数のプロセッサ２１と、それぞれプロセッサ２１に共有される主メモリ（分散された主メモリ） ２３を有している。・・・（中略）・・・メモリ管理装置（ＭＭＵ）２２は、仮想メモリ空間と物理メモリ空間とをページ単位（本実施例では４ＫＢ）に分割して、これらの対応関係に保持しかつＬＭＳ２３（分散された主メモリ）におかれているアドレス変換テーブルを管理する。・・・（中略）・・・第２図は、物理メモリ空間３０におけるＬＭＳ領域３１とＧＭＳ領域３２のマッピング状態を示している。この実メモリは４ＫＢを１ページに分割し、一連番号３１Ａ,３１Ｂをつけて管理する。」（公報５頁左上欄５行−左下欄１３行）
                      　
（３）「次に最適なＣＰＵにプロセスを割り当てる方式について説明する。
　マルチプロセッサにおいて、プロセスに対してどのプロセッサを割り当てるかと言うことは、オペレーティングシステムの重要なプロセスを管理上の仕事である。通常オペレーティングシステムは、プロセス選択の基準となるプロセスごとの各種データをプロセス管理テーブルと言った形で管理する。・・・（中略）・・・第７図は、プロセス管理テーブル５０の内容を示したものである。プロセス管理テーブルには、プロセスの状態５１の他の優先度等の種々のデータが含まれるが、本実施例では、その全てを記憶していない。５２−５６はプロセス割り当て情報格納手段を構成し、５２は本プロセスで使用中のメモリの内、ＣＰＵのＬＭＳに割り当てられているページ数を保持している。ここでページとは物理メモリを４ＫＢごとに分割したものであり、メモリ管理の最小単位である。５２−５５は、それぞれＣＰＵ２０Ｂ−２０Ｄ内のＬＭＳに関するものであり、５６はＧＭＳに関する同等の情報を保持している。・・・（中略）・・・６０は、本プロセッサに割り当てるプロセッサの指定を行うフィールドであり、本フィールドを使用するか否かは、スケジューリング制御子５７で決まる。・・・（中略）・・・制御コード１−７の意味は、それぞれ第８図に示すとおりである。ここで候補プロセスと言うのは、次に実行すべきプロセスとして、実行待ちプロセスのリストから選択したプロセスのことであり、スケジューリング制御子の条件に合致すれば、正式に次に実行すべきプロセスとしてプロセッサが与えられる。
・・・（中略）・・・第１２図にスケジューリング制御子コードが１又は５の場合を示す。この場合、候補プロセスに割り当てられているメモリの全てが、本ＬＭＳ又はＧＭＳに存在する時か（９０）、あるいは、これらの条件に合わないため、あまりにも長く待たされて見送り回数がしきい値を超えた時に（９２）、ディスパッチ要求フラグがオンされ（９１）、その他の時は、ディスパッチが見られる（９３）。制御コードが２又は６，３又は７の場合も第１３図、１４図に示すように、第１２図とほぼ同じ処理を行う。
　このようなスケジューリングを行うことにより、最も多くデータを持つＣＰＵを、プロセスに割り当てることが可能となり、メモリアクセス時間の短縮、バス負荷の低減を行うことができる。」（公報７頁左上欄１１行−８頁右上欄７行）
                      　
（４）第７図には、プロセス管理テーブルの詳細が示され、そのプロセス割り当て情報格納手段52-55には、プロセス毎にそのプロセスが必要とするメモリの内、各ＣＰＵのローカルメモリに存在するページ数が保持されている。
また、第８図には、制御コードの意味として、プロセスが必要とするメモリが、自ＣＰＵ内のＬＭＳに最も多く存在する場合、そのプロセスを実行するような制御形式が示されている。
                      　
　以上の記載より、引用例１には以下の発明が記載されている。
                      　
  分散された主メモリ（ローカルメモリ）を有するマルチプロセッサ・システムであって、
　相互接続された複数のＣＰＵ（２０Ａ，２０Ｂ）を備え、
　各ＣＰＵ（２０Ａ，２０Ｂ）が１つ以上のプロセッサ（２１）と１つのローカルメモリ（２３）とを含み、
　前記複数のＣＰＵ（２０Ａ，２０Ｂ）の前記ローカルメモリ（２３）を含むように、前記複数のＣＰＵ（２０Ａ，２０Ｂ）間に分散された主記憶域を備え、
　各ローカルメモリ（２３）が前記複数のＣＰＵ（２０Ａ，２０Ｂ）の各プロセッサ（２１）からアクセス可能であり、
　ローカルメモリへのアクセス数が増加し且つシステム・パフォーマンスが強化されるように、ＣＰＵ（２０Ａ，２０Ｂ）のプロセッサ（２１）に対し、プロセス管理テーブルに基づいてプロセスを割り当てるプロセススケジューラを備え、
　前記プロセス管理テーブルのプロセス割当て情報格納手段（52-55）には、プロセス毎にそのプロセスが必要とするメモリの内、各ＣＰＵ（２０Ａ、２０Ｂ）のローカルメモリ（２３）に存在するページ数が保持されており、前記プロセススケジューラは、プロセスが必要とするメモリが自ＣＰＵ（２０Ａ，２０Ｂ）内のローカルメモリ（２３）に最も多く存在する場合にそのプロセスを実行することを特徴とする、マルチプロセッサ・システム
                      　
　また、当審において拒絶の理由として通知したＡＣＯＳソフトウェア　ＡＣＯＳ−４／ＭＶＰ　ＸＥ　動的資源管理解説書＜ＤＲＭ＞　ＤＤＥ７４−３」、日本電気株式会社・発行（１９９０年３月、第３版）、ｐｐ．２２−２４，２８ −３２，４７−４９（以下、引用例２という。）には、以下の事項が図面と共に記載されている。
                      　
（５）「（２）主記憶の動的配分機能
　スワッピング管理においては、主記憶の各ドメインへの割当てを管理する。
　即ち、サービス配分管理によりドメイン毎に指定された最小値、最大値の範囲で、各ドメインに与えられるメモリ量が動的に制御される。ドメインがＡとＢの２個の場合を例にとって、ドメインへのメモリ割当ての様子を説明する（図２−１２　(1)−(7)参照）
 (1)ドメインＡに対しては最小値ＭＩＮＡ，最大値ＭＡＸＡが、ドメインＢに対しては、最小値ＭＩＮＢ，最大値ＭＡＸＢが指定されている。最小値の合計は全メモリ量を超えるような指定はできる。
 (2)各ドメインの負荷が低い場合で、実際の使用量ａ１、ｂ１が最小値に満たない場合でも、最小値で指定されたメモリ量ＭＩＮＡ、ＭＩＮＢはドメインＡ，Ｂに論理的に保証するために、未使用分ａ２，ｂ２を各ドメインにリザーブし、他のドメインには割り当てられないようにする。
 (3)ドメインＡ、Ｂともにある程度の負荷があるとき、各ドメインは、ＭＩＮを越えて主記憶を割り当てられる。残分Ｅは、空きエリアとして、各ドメインの負荷の増大に備えて確保されている。この空きエリアについては、各ドメインのプロセスグループ間での直接の競合により主記憶の割当てが行われる。」（２２頁左欄１９行−４２行）
                      　　                      　
 ３．対比
  本願発明（以下、前者という）と引用例１に記載された発明（以下、後者という）とを比較すると、
  前者の「非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システム」「マルチプロセッシングノード」「ローカル・メイン・メモリ」「プロセッサ」は、それぞれ、後者の「分散された主メモリ（ローカルメモリ）を有するマルチプロセッサ・システム」「ＣＰＵ（２０Ａ，２０Ｂ）」「ローカルメモリ（２３）」「プロセッサ（２１）」相当する。
                      　
  してみると、両者は次の点で一致している。
                      　
  非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システムであって、
  相互接続された複数のマルチプロセッシング・ノードを備え、
  各マルチプロセッシング・ノードが１つ以上のプロセッサと１つのローカル・メイン・メモリとを含み、
  前記複数のマルチプロセッシング・ノードの前記ローカル・メイン・メモリを含むように、前記複数のマルチプロセッシング・ノード間に分散された主記憶域を備え、
  各ローカル・メイン・メモリが前記複数のマルチプロセッシング・ノードの各プロセッサからアクセス可能であり、
  ローカル・メイン・メモリへのアクセス数が増加し且つシステム・パフォーマンスが強化されるように、マルチプロセッシング・ノードに対し、プロセスを割り当てることを特徴とする、前記マルチプロセッサ・システム
                      　
  一方、両者は以下の点で相違している。
                      　
  相違点１
  前者では、メモリ空間のプール予約機構と、予約済みメモリ空間のプールをマルチプロセッシング・ノードに割り振るプール割振り機構を有するものであるのに対し、後者のものではメモリ空間の割り振りに関しては記載されていない点
　
 相違点２
 ローカル・メイン・メモリへのアクセス数が増加し且つシステム・パフォーマンスが強化されるために、前者では、各プロセスに与えられ且つ各プロセスに関連するメモリ空間のプールを示すプール属性の関数としてプロセスをマルチプロセッシング・ノードに割り当てるが、特定の予約済みメモリ空間のプールが２つ以上のマルチプロセッシング・ノードに割り振られている場合は予約済みメモリ空間のプールの使用状況の関数として、マルチプロセッシングノードにプロセスを割り当てるものであるのに対し、後者では、プロセス管理テーブルに基づいて、より具体的にはプロセスの実行に必要なメモリが最も多くなるように、マルチプロセッシングノードにプロセスを割り当てるものである点
　
４．相違点についての検討
 （１）相違点１について
　処理主体にメモリを割り付けるときには、予めメモリ空間の所定量を予約（リザーブ）しておき（予約したものがプールと呼ばれる。）、その後プロセス実行のために、このプールの中からメモリを割り振りすることは、引用例２に示されるように周知のことである。
　次に、引用例１のプロセス管理テーブルはプロセス対応に作成されるものであり、プロセス管理テーブルのプロセス割当て情報格納手段（52-55）には、該プロセスで必要とされるメモリの内、ＣＰＵ（20Ａ-20Ｄ）のローカルメモリに存在するページ数が格納されている。このことは、各プロセスで必要とするメモリのページが分散されたローカルメモリに割り振りされていることを示しており、しかも、１つのプロセスに関係するページが複数のＣＰＵ（本願においてはマルチプロセッサ・ノードに相当）に跨って割り振られていることを示している。このように、引用例１には、メモリプールの割り振りについては直接的には記載されていないが、マルチプロセッシング・ノードに対し、メモリ・プールの割り振りが行われているものと容易に解釈される。
　従って、相違点１を格別のものということはできない。
                      　
（２） 相違点２について
　前者における「プール属性」という用語は、当初明細書１６段落の「各プロセス１−３は、システム・ユーザによって設定され、そのプロセスに関連するメモリ・プールを示す属性を備えている。」という記載から、プロセスを実行するときに必要となるメモリプールとプロセスの関係を示すようなものと考えられる。
 上記１．（４）のように、後者のプロセス管理テーブルのプロセス割り当て情報格納手段52-55には、このプロセスを実行するときに必要となるメモリの内、各プロセッサ（本願ではマルチプロセッシング・ノード）のローカルメモリにどれだけのページが割り当てられているかの情報が格納されている。このことは、プロセス管理テーブルのプロセス割当て情報格納手段に格納されている情報は、各プロセスを実行するときに必要となるページに関するものであるから、前者におけるプール属性と同等のものということができる。
　また、前者では、特定の予約済みメモリ空間のプールが２つ以上のマルチプロセッシング・ノードに割り振られている場合は、プロセスの割当てを「予約済みメモリ空間のプールの使用状況」に基づいている。
　プールの使用状況に関する記載としては、
明細書【0016】段落に
「そのプールに複数のノードが割り振られている場合には、プロセス割当て機構１３４は、使用状況統計（すなわち、ページング率及びプール用のメモリ可用性）を使用して、複数のノードのうちのどのノードにそのプロセスが割り当てられるかを判定する。ページング率が低いノードは、通常、そのプール内で最も可用性の高いページを備えたノードであり、結果的にこの基準でプロセス割当て機構１３４によって選ばれることになる。」
と記載されている。
　一方、引用例１の第８図には、２．（４）で抽出したように、制御コードの意味として、プロセスの必要とするメモリが、自ＣＰＵ内のＬＭＳに最も多く存在する場合、そのプロセスを実行するような制御形式が示されている。そして、後者が前述のような制御形式をとることによりメモリアクセス時間の短縮、バス負荷が低減されることになるが、これはメモリの可用性が高められた結果として起こることであるから、前者におけるメモリの可用性を高めるという意味での「プールの使用状況」に基づいてプロセスを割り当てることも引用例１に開示されている事項から想到し得ることである。
　従って、この相違点を格別のものということはできない。
　
５．むすび
　したがって、本願発明は引用例１、２に記載された発明に基いて当業者が容易に発明をすることができたものであるので、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。