(57)【要約】  入出力装置４０Ａが、メッセージ５を、クロスバ３を介して、予め定められた親ノード２Ａのノードコントローラ２１Ａに送信する。この時、クロスバ３が、入力装置４０Ａのノード情報に基づいて情報を生成してメッセージ５に付加する。ノードコントローラ２１Ａが、クロスバ３を介して、メッセージ５を、受信すべき入出力装置４０Ｇに対応する親ノード２Ｇのノードコントローラ２１Ｇに送信する。ノードコントローラ２１Ｇが、クロスバ３を介して、メッセージ５を、受信すべき入出力装置４０Ｇに送信する。この時、クロスバ３が、メッセージ５から情報を削除することにより、復元したメッセージ５を、宛先とされた入出力装置４０Ｇに送信する。
2010021018.tif 000002
【特許請求の範囲】
【請求項１】
複数の入出力装置と、各々が複数のＣＰＵを有する複数のプロセッサ群と、前記複数のプロセッサ群に接続された複数のノードコントローラと、前記複数の入出力装置と複数のノードコントローラとの間に設けられたクロスバとを備え、前記クロスバを介して前記複数の入出力装置と複数のＣＰＵとの間でメッセージを送受信するサーバ装置におけるノード間通信方法において、
メッセージを送信する前記入出力装置が、当該メッセージを受信すべき入出力装置又はノードコントローラに予め割り当てられた識別情報である固定長の宛先ＩＤと前記ターゲットを特定する内部情報とを含むメッセージを、前記入出力装置に予め対応付けられたノードコントローラである第１のノードコントローラを固定された宛先として、前記クロスバに送信するステップと、
前記クロスバが、前記メッセージを、前記第１のノードコントローラに送信するステップと、
前記第１のノードコントローラが、受信した前記メッセージの内部情報に基づいて前記ターゲットを表す情報を生成し、前記情報を前記メッセージに付加するステップと、
前記第１のノードコントローラが、前記情報の付加されたメッセージを、前記ターゲットである入出力装置に予め対応付けられたノードコントローラ又は前記ターゲットであるＣＰＵを有するプロセッサ群に接続されたノードコントローラである第２のノードコントローラを宛先として、前記クロスバに送信するステップと、
前記クロスバが、前記情報の付加されたメッセージから前記情報を削除することにより前記メッセージを復元し、復元した前記メッセージを前記第２のノードコントローラに送信するステップと、
を有することを特徴とするノード間通信方法。
【請求項２】
前記第１のノードコントローラが、受信した前記メッセージの内部情報に基づいて前記ターゲットを表す情報を生成するステップは、受信した前記メッセージの内部情報の一部であって、当該メッセージを受信すべき入出力装置又はＣＰＵのアドレスを表すターゲットアドレスをデコードすることにより、前記ターゲットを表す情報を生成するステップであることを特徴とする請求項１記載のノード間通信方法。
【請求項３】
前記第１のノードコントローラが、受信した前記メッセージの内部情報に基づいて前記ターゲットを表す情報を生成するステップは、受信した前記メッセージの内部情報の一部であって、当該メッセージの種類を表すメッセージ種類をデコードすることにより、前記ターゲットを表す情報を生成するステップであることを特徴とする請求項１記載のノード間通信方法。
【請求項４】
複数の入出力装置と、各々が複数のＣＰＵを有する複数のプロセッサ群と、前記複数のプロセッサ群に接続された複数のノードコントローラと、前記複数の入出力装置と複数のノードコントローラとの間に設けられたクロスバとを備え、前記クロスバを介して前記複数の入出力装置と複数のＣＰＵとの間でメッセージを送受信するサーバ装置であって、
メッセージを送信する入出力装置であって、当該メッセージを受信すべき入出力装置又はノードコントローラに予め割り当てられた識別情報である固定長の宛先ＩＤと前記ターゲットを特定する内部情報とを含むメッセージを、前記入出力装置に予め対応付けられたノードコントローラである第１のノードコントローラを固定された宛先として、前記クロスバに送信する入出力装置と、
受信した前記メッセージの内部情報に基づいて前記ターゲットを表す情報を生成し、前記情報を前記メッセージに付加し、前記情報の付加されたメッセージを、前記ターゲットである入出力装置に予め対応付けられたノードコントローラ又は前記ターゲットであるＣＰＵを有するプロセッサ群に接続されたノードコントローラである第２のノードコントローラを宛先として、前記クロスバに送信する第１のノードコントローラと、
前記入出力装置又はＣＰＵから受信した前記メッセージを前記第１のノードコントローラに送信すると共に、前記第１のノードコントローラから受信した前記情報の付加されたメッセージから前記情報を削除することにより前記メッセージを復元し、復元した前記メッセージを前記第２のノードコントローラに送信するクロスバとを備える
ことを特徴とするサーバ装置。
【請求項５】
複数の入出力装置と、各々が複数のＣＰＵを有する複数のプロセッサ群と、前記複数のプロセッサ群に接続された複数のノードコントローラと、前記複数の入出力装置と複数のノードコントローラとの間に設けられたクロスバとを備え、前記クロスバを介して前記複数の入出力装置と複数のＣＰＵとの間でメッセージを送受信するサーバ装置におけるノード間通信方法を実行するノード間通信プログラムであって、
前記プログラムは、前記サーバ装置に、
メッセージを送信する前記入出力装置において、当該メッセージを受信すべき入出力装置又はノードコントローラに予め割り当てられた識別情報である固定長の宛先ＩＤと前記ターゲットを特定する内部情報とを含むメッセージを、前記入出力装置に予め対応付けられたノードコントローラである第１のノードコントローラを固定された宛先として、前記クロスバに送信する処理と、
前記クロスバにおいて、前記メッセージを、前記第１のノードコントローラに送信する処理と、
前記第１のノードコントローラにおいて、受信した前記メッセージの内部情報に基づいて前記ターゲットを表す情報を生成し、前記情報を前記メッセージに付加する処理と、
前記第１のノードコントローラにおいて、前記情報の付加されたメッセージを、前記ターゲットである入出力装置に予め対応付けられたノードコントローラ又は前記ターゲットであるＣＰＵを有するプロセッサ群に接続されたノードコントローラである第２のノードコントローラを宛先として、前記クロスバに送信する処理と、
前記クロスバにおいて、前記情報の付加されたメッセージから前記情報を削除することにより前記メッセージを復元し、復元した前記メッセージを前記第２のノードコントローラに送信する処理とを、実行させる
ことを特徴とするノード間通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード間通信方法に関し、特に、プロセッサを搭載したシステムボードや入出力装置等からなるサーバシステムにおいてノードの拡張を容易に行うことができるノード間通信方法に関する。
【背景技術】
【０００２】
サーバシステムは、例えば、プロセッサを搭載したシステムボード、クロスバ、ＩＯＣ（Input/Output  Component：入出力装置）、ノードコントローラを備える。このようなサーバシステムにおいて、ＩＯＣ等が使用する宛先ＩＤのビット長は固定されており、従って、宛先ＩＤの数には制限がある。この原因は、サーバシステムの設置時において、必ずしも大規模システムを想定した宛先ＩＤのビット数を確保していないことにある。【０００３】
宛先ＩＤのビット数が３である場合、ＩＯＣ等は、８通りの宛先にしかメッセージを発行することができない。接続先が８個以下である場合、ＩＯＣ等は、他の全てのＩＯＣ等にメッセージを送信することができる。【０００４】
しかし、サーバシステムの設置時には、接続先が８個以下であったものが、設置後にノードの拡張等の必要が生じて、接続先が９個以上となる場合がある。この場合、サーバシステム内で宛先ＩＤが割当てられないＩＯＣ等に対して、他のＩＯＣ等からメッセージを発行できなくなる。従って、ユーザは、サーバシステムの全体の構成を変更する必要がある。【０００５】
なお、既定のポート数以内において、収容されるプロセッサや入出力装置の収容位置の変更、増加を容易に行うことができるプロセッサ間通信制御装置が知られている。
【特許文献１】特開２０００−１３２５２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図１６及び図１７は、本発明者が検討した本発明の背景となる課題を示す図である。図１６はサーバシステムの構成を示し、図１７は図１６のサーバシステムにおいてＩＯＣを増設する場合を示す。【０００７】
サーバ装置１００は、複数のプロセッサ群１２０、複数のノードコントローラ（以下、ＮＣ）１３０、クロスバ１４０、複数のＩＯＣ１５０を備える。プロセッサ群１２０は、複数のＣＰＵ１２１を含むプロセッサのグループである。なお、複数のプロセッサ群１２０の各々を区別する場合、「Ａ」等の添え字を付して、例えば「プロセッサ群１２０Ａ」等のように表すものとする。ＣＰＵ１２１、ＮＣ１３０、ＩＯＣ１５０についても同様である。【０００８】
ＮＣ１３０には、各々、管理対象とするプロセッサ群１２０がサーバ装置１００により割当てられている。ＮＣ１３０は、当該ＮＣ１３０自体が管理対象とするプロセッサ群１２０の伝送制御を行う。ＮＣ１３０は、内部にプロセッサ群１２０からのメッセージの宛先ＩＤを決定する機能（アドレスデコーダ等）を有する。【０００９】
クロスバ１４０は、ＮＣ１３０（ＣＰＵ１２１）及びＩＯＣ１５０の間における伝送を媒介するスイッチング装置である。ＩＯＣ１５０等からの応答メッセージを受信した場合、クロスバ１４０は、宛先ＩＤの示すＩＯＣ１５０、又は、宛先ＩＤの示すＣＰＵ１２１に接続されているＮＣ１３０へ、当該メッセージを送信する。【００１０】
例えば、宛先ＩＤが３ビットである場合、ＩＯＣ１５０によるメッセージの宛先は８通りとなる。ＩＯＣ１５０Ａに着目すると、図１６に示すように、その接続先が、ＩＯＣ１５０Ｂ〜１５０Ｆ及びＮＣ１３０Ａ〜１３０Ｃの８箇所である。従って、ＩＯＣ１５０Ａは、他の全てのＩＯＣ１５０等にメッセージを送信することができる。【００１１】
図１７は、当初のサーバシステム設置が図１６に示す構成であった場合に、図１６のノード構成にＩＯＣ等を増設した例を示す。【００１２】
例えば、ユーザが、図１６に示す既存のサーバ装置１００において、プロセッサ群１２０Ｄ、ＮＣ１３０Ｄ、ＩＯＣ１５０Ｇ及び１５０Ｈ、ＣＰＵ１２１Ｇ及び１２１Ｈを増設するとする。この場合、既存のＩＯＣ１５０等に割当られた宛先ＩＤとして８個（０〜７）全てが使用されているため、新たなＩＯＣ１５０Ｇ及び１５０ＨとＮＣ１３０Ｄとに宛先ＩＤを割当てることができない。【００１３】
従って、ＩＯＣ１５０等を増設する（ノードを拡張する）ためには、既存のサーバ装置１００において、その構成を変更する以外なかった。即ち、宛先ＩＤのビット数を増やすために、サーバ装置１００における通信のプロトコルを変更し、メッセージを送受信するクロスバ１４０を設計変更し（設計し直し）、メッセージを送受信するＩＯＣ１５０及びＮＣ１３０を設計変更する必要があった。【００１４】
本発明は、プロセッサを搭載したシステムボードや入出力装置等からなるサーバシステムにおけるノードの拡張を容易に行うことを可能としたノード間通信方法を提供することを目的とする。【００１５】
また、本発明は、プロセッサを搭載したシステムボードや入出力装置等からなるサーバシステムにおけるノードの拡張を容易に行うことを可能としたサーバ装置を提供することを目的とする。【００１６】
また、本発明は、プロセッサを搭載したシステムボードや入出力装置等からなるサーバシステムにおけるノードの拡張を容易に行うことを可能としたノード間通信方法を実表するノード間通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、複数の入出力装置と、各々が複数のＣＰＵを有する複数のプロセッサ群と、前記複数のプロセッサ群に接続された複数のノードコントローラと、前記複数の入出力装置と複数のノードコントローラとの間に設けられたクロスバとを備え、前記クロスバを介して前記複数の入出力装置と複数のＣＰＵとの間でメッセージを送受信するサーバ装置におけるノード間通信方法において、メッセージを送信する前記入出力装置が、当該メッセージを受信すべき入出力装置又はノードコントローラに予め割り当てられた識別情報である固定長の宛先ＩＤと前記ターゲットを特定する内部情報とを含むメッセージを、前記入出力装置に予め対応付けられたノードコントローラである第１のノードコントローラを固定された宛先として、前記クロスバに送信するステップと、前記クロスバが、前記メッセージを、前記第１のノードコントローラに送信するステップと、前記第１のノードコントローラが、受信した前記メッセージの内部情報に基づいて前記ターゲットを表す情報を生成し、前記情報を前記メッセージに付加するステップと、前記第１のノードコントローラが、前記情報の付加されたメッセージを、前記ターゲットである入出力装置に予め対応付けられたノードコントローラ又は前記ターゲットであるＣＰＵを有するプロセッサ群に接続されたノードコントローラである第２のノードコントローラを宛先として、前記クロスバに送信するステップと、前記クロスバが、前記情報の付加されたメッセージから前記情報を削除することにより前記メッセージを復元し、復元した前記メッセージを前記第２のノードコントローラに送信するステップと、を有することを特徴とする。
【発明の効果】
【００１８】
このノード間通信方法及びサーバ装置によれば、入出力装置又はＣＰＵが、メッセージを、固定された宛先である第１のノードコントローラに送信する。この送信処理においては、宛先ＩＤは第１のノードコントローラのユニットＩＤとなる。一方、第１のノードコントローラは、メッセージに基づいて生成した一時情報を用いて、一時情報の付加されたメッセージをクロスバに送信する。クロスバは、復元したメッセージを第２のノードコントローラに送信する。【００１９】
これにより、本来は、ビット数の少ない元々の宛先ＩＤのみに従ってターゲットへ送信されるべきメッセージが、第１及び第２のノードコントローラを経由することにより、宛先ＩＤが拡張されてターゲットに送信される。この結果、既存のサーバ装置において、入出力装置の増設等によりノードを拡張する場合であっても、サーバ装置の構成を大きく変更する必要が無い。即ち、ノードコントローラ及びクロスバに一時情報を処理する機能を追加するのみで、クロスバ、入出力装置及びノードコントローラの大きな設計変更の必要を無くすことができる。これにより、サーバ装置におけるノードを容易に増設することができる。
【図面の簡単な説明】
【００２０】
【図１】サーバシステムの構成の一例を示す図である。
【図２】図１のサーバシステムの構成の詳細な一例を示す図である。
【図３】宛先決定手段の詳細な構成を示す図である。
【図４】メッセージの詳細と第１の宛先判定方法を示す図である。
【図５】メッセージの詳細と第２の宛先判定方法を示す図である。
【図６】メッセージ処理手段の詳細な構成を示す図である。
【図７】メッセージ処理手段内の第１の処理について説明する図である。
【図８】メッセージ処理手段内の第２の処理について説明する図である。
【図９】メッセージ処理手段内の第３の処理について説明する図である。
【図１０】ノード拡張処理フローである。
【図１１】ノード拡張処理フローである。
【図１２】ノード拡張処理フローである。
【図１３】ノード拡張処理の第１の例を説明する図である。
【図１４】ノード拡張処理の第２の例を説明する図である。
【図１５】ノード拡張処理の第３の例を説明する図である。
【図１６】本発明の背景となるサーバシステムの構成を示す図である。
【図１７】本発明の背景となるサーバシステムにおける処理を示す図である。
【符号の説明】
【００２１】
１    サーバ装置
２    親ノード
３    クロスバ
４    子ノード
５    メッセージ
２０    プロセッサ群
２１    ノードコントローラ（ＮＣ）
２２    宛先決定手段
３０    メッセージ処理手段
４０    ＩＯＣ
５０    ターゲットアドレス
５１、５２    関係テーブル
２００    ＣＰＵ
２２０    メッセージ受信部
２２１    メッセージ振分け部
２２２    宛先判定部
２２３    送信先ＩＤ割付け部
２２４    メッセージ送信部
２２５    メッセージ応答受信部
２２６    送信情報管理部
２２７    応答送信部
３００    第１メッセージ受信部
３０１    宛先判定部
３０２    拡張宛先ＩＤ削除部
３０３    第１メッセージ送信部
３０４    第２メッセージ受信部
３０５    拡張宛先ＩＤ付加部
３０６    第２メッセージ送信部
【発明を実施するための最良の形態】
【００２２】
図１は、本発明の一実施態様であるサーバシステムの構成図である。図２は、図１のサーバシステムにおけるノード間通信方法の一例を示す。【００２３】
図１において、サーバ装置１は、複数のプロセッサ群２０、複数のＮＣ（ノードコントローラ）２１、クロスバ３、複数のＩＯＣ（入出力装置）４０を備える。プロセッサ群２０は、各々、複数のＣＰＵ２００を備える。クロスバ３は、複数のＩＯＣ４０と複数のＮＣ２１との間に設けられる。サーバ装置１は、クロスバ３を介して、複数のＩＯＣ４０と複数のＣＰＵ２００との間で、図４及び図５を参照して後述するメッセージ５を送受信する。【００２４】
メッセージ５は、複数のＩＯＣ４０と複数のＣＰＵ２００との間でクロスバ３を介して送受信される情報であり、例えば、リクエスト（処理要求）、リクエストに対する応答等である。メッセージ５はデータを含んでいても良い。【００２５】
この例では、ＮＣ２１は、プロセッサ群２０と１対１に予め対応付けられ、これに接続される。従って、メッセージは、実際には、クロスバ３により、複数のＩＯＣ４０と複数のＮＣ２１との間で送受信される。このために、後述する宛先ＩＤは、複数のＩＯＣ４０の各々と複数のＮＣ２１の各々に、予め割当てられる。対応するプロセッサ群２０とＮＣ２１とを親ノード２という。この例では、親ノード２（又は、プロセッサ群２０）と複数のＩＯＣ４０とは、予め対応付けられる。親ノード２に対応する複数のＩＯＣ４０を当該親ノード２の子ノード４という。【００２６】
なお、複数のプロセッサ群２０の各々を区別する場合、「Ａ」等の添え字を付して例えば「プロセッサ群２０Ａ」等のように表すものとする。ＮＣ２１、ＩＯＣ４０、親ノード２、子ノード４についても、同様である。【００２７】
親ノード２の範囲は予め定められる。親ノード２は、図２に示すように、複数のＣＰＵ２００を有する１個のプロセッサ群２０と、１個のＮＣ２１を、その範囲とする。子ノード４の範囲は予め定められる。例えば、子ノード４Ａは、ＩＯＣ４０Ａ及び４０Ｂを、その範囲とする。【００２８】
ＩＯＣ４０は、例えば、ＰＣＩデバイス等の様々なＩ／Ｏデバイスやシステムバスを接続するチップコンポーネント等である。ＩＯＣ４０は、メッセージ５の送信における宛先を、対応する親ノード２のＮＣ（第１のＮＣ）２１とする。この宛先は、ユーザにより、当該ＩＯＣ４０の宛先決定手段に予め設定される。【００２９】
ＩＯＣ４０は、メッセージ５を送信する。メッセージ５は、後述するように、固定長の宛先ＩＤと、内部情報とを含む。宛先ＩＤは、ターゲットに予め割り当てられた識別情報である。内部情報は、ターゲットを特定する情報である。ターゲットは、当該メッセージ５を受信すべき装置、即ち、ＩＯＣ４０又はＣＰＵ２００である。ＩＯＣ４０は、メッセージ５を、予め定められたＮＣ２１のユニットＩＤを固定された宛先ＩＤとして、クロスバ３に送信する。この場合、予め定められたＮＣ（以下、第１のＮＣ）２１は、当該ＩＯＣ４０に予め対応付けられたノードコントローラ、即ち、当該ＩＯＣ４０の親ノード２のＮＣ２１である。メッセージ５を受信するＮＣ２１が、第１のＮＣ２１である。【００３０】
クロスバ３は、ＮＣ２１及びＩＯＣ４０の間におけるメッセージ５の送受信を行うためのスイッチング装置である。この送受信において、クロスバ３は、メッセージ５について、所定の情報（後述する拡張宛先ＩＤ）を付加し又は削除する。【００３１】
クロスバ３は、ＩＯＣ４０が送信したメッセージ５を受信し、これを第１のＮＣ２１に送信する。即ち、クロスバ３は、ＩＯＣ４０からのメッセージ５を受信した場合、当該ＩＯＣ４０が属する子ノード４（以下、所属子ノード４）に対応する親ノード２（以下、対応親ノード２）に属するＮＣ２１に、メッセージ５を送信する。【００３２】
一方、ＣＰＵ２００は、ＩＯＣ４０と同様に、メッセージ５を送信する。メッセージ５は、前述のように、宛先ＩＤと内部情報とを含む。ＣＰＵ２００は、ＩＯＣ４０と同様に、メッセージ５を、当該ＣＰＵ２００の属する親ノード２のＮＣ（第１のＮＣ）２１に送信する。この場合、第１のＮＣ２１は、当該ＣＰＵ２００を有するプロセッサ群２０に接続されたノードコントローラ、即ち、当該親ノード２のＮＣ２１である。【００３３】
ＮＣ２１は、当該ＮＣ２１が属する親ノード２のプロセッサ群２０からのメッセージ５、及び、当該親ノード２に対応する子ノード４のＩＯＣ４０からのメッセージの伝送制御を行う。具体的には、ＮＣ２１は、当該親ノード２のＣＰＵ２００又は当該子ノード４のＩＯＣ４０から送出されたメッセージ５を、クロスバ３を介して、他のＮＣ２１又はＩＯＣ４０へ送信する。【００３４】
このために、ＮＣ２１は、図２に示すように、プロセッサ群２０又はＩＯＣ４０から送信されたメッセージ５の宛先を決定する宛先決定手段２２を有する。宛先決定手段２２は、割当てられた管理対象のプロセッサ群２０のＣＰＵ２００に対するメッセージ５を、該当するＣＰＵ２００へ送信する。また、宛先決定手段２２は、ＣＰＵ２００からのメッセージ５、又は、ＣＰＵ２００へのメッセージ５を受信する。受信されたメッセージ５は、クロスバ３により対応するＩＯＣ４０等へ送信される。【００３５】
第１のＮＣ２１は、ターゲットが対応親ノード２に属するＣＰＵ２００である場合、当該ＣＰＵ２００へメッセージ５を送信する。ターゲットが対応親ノード２以外の親ノード（以下、非対応親ノード）２に属するＣＰＵ２００である場合、第１のＮＣ２１は、メッセージ５をクロスバ３に送信する。ターゲットが所属子ノード４に属するＩＯＣ４０、又は、所属子ノード４以外の子ノード（以下、非所属子ノード）４に属するＩＯＣ４０である場合、ＮＣ２１は、メッセージ５をクロスバ３に送信する。【００３６】
この時、第１のＮＣ２１は、ＩＯＣ４０又はＮＣ２１から受信したメッセージ５の内部情報に基づいて、ターゲットを表す一時情報（後述する拡張宛先ＩＤ）を生成する。その上で、第１のＮＣ２１は、生成した一時情報を、メッセージ５に付加する。この後、第１のＮＣ２１は、一時情報の付加されたメッセージ５を、第２のＮＣ２１を宛先として、クロスバ３に送信する。ここで、第２のＮＣ２１は、ターゲットであるＩＯＣ４０に予め対応付けられたノードコントローラ（即ち、ターゲットの親ノード２のＮＣ２１）、又は、ターゲットであるＣＰＵ２００を有するプロセッサ群２０に接続されたノードコントローラ（即ち、ターゲットの属する親ノード２のＮＣ２１）である。【００３７】
クロスバ３は、第１のＮＣ２１から一時情報の付加されたメッセージ５を受信し、受信した一時情報の付加されたメッセージ５から一時情報を削除することにより、メッセージ５を復元する。この後、クロスバ３は、復元したメッセージ５を、第２のＮＣ２１に送信する。第２のＮＣ２１は、一時情報の削除により復元されたメッセージ５を受信する。【００３８】
第２のＮＣ２１は、受信したメッセージ５に基づいて、ターゲットが第２のＮＣ２１の属する親ノード２に属するＣＰＵ２００である場合、当該ＣＰＵ２００へメッセージ５を送信する。ターゲットが第２のＮＣ２１の属する親ノード２に対応する子ノード４に属するＩＯＣ４０である場合、ＮＣ２１は、クロスバ３へメッセージ５を送信する。クロスバ３は、受信したメッセージ５を、当該子ノード４に属するＩＯＣ４０に送信する。【００３９】
図３は、図２に示すＮＣ２１内の宛先決定手段２２の詳細な構成を示す図である。【００４０】
宛先決定手段２２は、メッセージ受信部２２０、メッセージ振分け部２２１、複数の宛先判定部２２２、送信先ＩＤ割付け部２２３、複数のメッセージ送信部２２４、メッセージ応答受信部２２５、送信情報管理部２２６、複数の応答送信部２２７を備える。なお、複数の宛先判定部２２２の各々を区別する場合、「Ａ」等の添え字を付して例えば「宛先判定部２２２Ａ」等のように表すものとする。メッセージ送信部２２４、応答送信部２２７についても同様とする。【００４１】
メッセージ受信部２２０は、対応親ノード２のプロセッサ群２０に属するＣＰＵ２００からのメッセージ５を受信し（Ｔ１）、メッセージ振分け部２２１に送られる。メッセージ振分け部２２１は、受信したメッセージ５に含まれる所定の情報（以下、内部情報）に応じて、対応する宛先判定部２２２に送られる。【００４２】
次に、宛先判定部２２２は、受信したメッセージ５の内部情報に基づいて、宛先を判定する。送信先ＩＤ割付け部２２３は、宛先判定部２２２により判定された宛先のユニットＩＤに宛先ＩＤを書き換え、宛先ノードのＩＤを拡張宛先ＩＤ（図４（Ａ）及び図５（Ａ））としてメッセージ５に付加した後、対応するメッセージ送信部２２４にメッセージ５を送出する。【００４３】
送信情報管理部２２６は、メッセージ送信部２２４からメッセージ５が送信された際、受信したメッセージ５の送信元や、送信メッセージ５の送信先等の情報を記録し、管理する。【００４４】
メッセージ送信部２２４のメッセージ５の送信後（Ｔ２、Ｔ３、Ｔ４）、メッセージ応答受信部２２５は、送信したメッセージ５に対するメッセージ（以下、応答メッセージ）を受信する（Ｔ５）。その応答メッセージ５がメッセージ応答受信部２２５により送信情報管理部２２６に送られ、送信情報管理部２２６により応答メッセージ５がどの送信メッセージ５に対するものか検査される。送信情報管理部２２６は、応答メッセージ５の宛先を特定した後、その応答メッセージ５を対応する応答送信部２２７に送出する。その応答メッセージ５を受けた応答送信部２２７は、対応する応答先へ応答メッセージ５を送信する（Ｔ６、Ｔ７、Ｔ８）。【００４５】
図４は、メッセージの詳細と第１の宛先判定方法を示し、図５は、メッセージの詳細と第２の宛先判定方法を示す図である。図４及び図５は、一時情報の付加されたメッセージ５の構造の一例を示す。【００４６】
一時情報の付加されたメッセージ５は、例えばパケットデータである。一時情報の付加されたメッセージ５は、図４（Ａ）及び図５（Ａ）に示すように、メッセージ５と、拡張宛先ＩＤとを含む。メッセージ５は、メッセージ番号、メッセージ種類、送信元ＩＤ、宛先ＩＤ、ターゲットアドレス（５０）、データを含む。これらの中で、メッセージ種類又はターゲットアドレスが、内部情報として用いられる。メッセージ番号は、サーバシステムにおいてメッセージ毎に付与される。メッセージ種類は、当該メッセージ５の種類毎に一意に定まる。送信元ＩＤは、送信元のＩＯＣ４０等のユニットＩＤである。ターゲットアドレスは、宛先のデバイスのアドレスである。【００４７】
宛先ＩＤは、当該メッセージ５のターゲットのユニットＩＤであり、具体的には、当該メッセージ５を受信すべきＩＯＣ４０又はＮＣ２１のユニットＩＤである。宛先ＩＤは、メッセージ５の送受信を制御するクロスバ３において一意に定まる識別情報である。従って、宛先ＩＤは、クロスバ３に接続されたＩＯＣ４０又はＮＣ２１に、予め割当てられる。クロスバ３は、この宛先ＩＤのみを用いて、当該クロスバ３におけるメッセージ５の送受信を制御する。従って、クロスバ３は、この宛先ＩＤ以外の情報を意識することは無い。【００４８】
このように、本来のメッセージ５は、一時情報である拡張宛先ＩＤ以外の部分である。メッセージ５において、各々の項目の配置の順序及びビット数は、予め定められる。即ち、これらは所定のプロトコル（以下、固定フォーマットと記す）に従って予め定められている。これに対して、拡張宛先ＩＤは、メッセージにおいて、ユーザが自由に使用可能な領域（可変領域）において、所定の位置（例えば、可変領域の先頭）に記述される。【００４９】
図４（Ａ）に示す一時情報の付加されたメッセージ５のターゲットアドレス５０は、図４（Ｂ）に示すノード（ノード番号又はＩＤ）、ユニット（ユニット番号又はＩＤ）、チャネル（チャネル番号又はＩＤ）、デバイス（デバイス種別番号又はＩＤ）等の情報を含む。ここで、ユニットはターゲットを表す。【００５０】
宛先判定部２２２（図３に示す）は、図４（Ｂ）に示すノード及びユニット値をデコードし、そのデコード値と宛先ユニットの図４（Ｃ）に示す関係テーブル５１から宛先ユニットを特定する。【００５１】
例えば、関係テーブル５１は、メッセージ５の対応する情報に基づく、デコード値が０００〜２００ｈ（１６進数）であった場合、宛先ユニットＩＯＣ−Ａであることを示し、デコード値が２０１〜４００ｈであった場合、宛先ユニットＩＯＣ−Ｂであることを示す。宛先決定手段２２が、このユニットのノード毎に割当てられる拡張宛先ＩＤ（例えば、２ビット）を付加し、又は、既に付加された拡張先ＩＤを書換える。【００５２】
このノード間通信方法は、拡張宛先ＩＤを用いることにより、既存のサーバ装置１におけるノードの拡張（増設）を容易にし、増設されたノードへのメッセージ５の送受信を可能とする。【００５３】
図５は、宛先ユニット（ターゲット）の特定方法の他の例である。【００５４】
宛先決定手段２２は、図５（Ａ）に示すメッセージ５のメッセージ種類の情報をデコードする。このデコード結果に基づき、宛先決定手段２２は、図５（Ｂ）に示すメッセージ種類値と宛先ユニットの関係テーブル５２から、宛先ユニットを特定する。【００５５】
例えば、図５（Ｂ）は、メッセージ種類ＸＡであった場合、宛先ユニットがＩＯＣ−Ａ（図２のＩＯＣ４０Ａを指す）であることを示し、メッセージ種類ＸＢであった場合、宛先ユニットが全ＣＰＵ（図２のＣＰＵ２００Ａ〜２００Ｈを指す）であることを示す。【００５６】
メッセージ振分け部２２１（図３に示す）は、図５（Ｂ）に示す情報のメッセージ種類ごとにメッセージ５を振分ける。宛先判定部２２２は、振分けられたメッセージ５の宛先判定を行い、宛先ユニットの図５（Ｂ）に示す関係テーブル５２に基づき、宛先ユニットを特定する。【００５７】
宛先決定手段２２は、以上に示すような図４、もしくは図５の宛先判定方法により、特定されたユニットを宛先として、メッセージ５に拡張宛先ＩＤ（例えば、２ビット情報）を付加し、又は、既に付加された拡張宛先ＩＤの書換え等を行う。これにより、固定フォーマットに拡張宛先ＩＤを付加した上で、メッセージ５をＮＣ２１とクロスバ３との間で送受信することができる。【００５８】
次に、クロスバ３内のメッセージ処理手段３０におけるメッセージ５の処理内容を以下に説明する。【００５９】
図６は、クロスバに備えられたメッセージ処理手段の詳細な構成を示す図である。【００６０】
クロスバ３内のメッセージ処理手段３０は、第１メッセージ受信部３００、宛先判定部３０１、拡張宛先ＩＤ削除部３０２、第１メッセージ送信部３０３、第２メッセージ受信部３０４、拡張宛先ＩＤ付加部３０５、第２メッセージ送信部３０６を備える。なお、図２に示したメッセージ処理手段３０は、複数のメッセージ処理手段３０を備える構成であっても良い。【００６１】
以下は、親ノード２Ａに属するＮＣ２１Ａからクロスバ３を介して、子ノード４Ａに送られるメッセージ５の送受信関係の例についての説明である。【００６２】
以下の説明において、親ノード（親ノード２Ａ）に属するＮＣを自ＮＣ（ＮＣ２１Ａ）と定義し、その対応する子ノードを所属子ノード４（子ノード４Ａ）と定義する。また、自ＮＣ（ＮＣ２１Ａ）以外のＮＣを他ＮＣ（ＮＣ２１Ｂ〜２１Ｄ）と定義する。【００６３】
図６において、第１メッセージ受信部３００は、自ＮＣから図４（Ａ）に示すメッセージ５（図４（Ａ）に示す）を受信する。次に、メッセージ５は宛先判定部３０１へ送られ、宛先判定部３０１が拡張宛先ＩＤに基づいて所属子ノード４内のＩＯＣ宛のメッセージ５か、他ＮＣ宛（他ＮＣ経由）のメッセージ５かを判定する。【００６４】
宛先判定部３０１は、所属子ノード４内のＩＯＣ宛のメッセージ５であったと判定した場合、拡張宛先ＩＤ削除部３０２にメッセージ５を送る。送られたメッセージ５は、拡張宛先ＩＤ削除部３０２において、拡張宛先ＩＤを削除され、固定フォーマット形式となる。【００６５】
拡張宛先ＩＤを削除されたメッセージ５は、宛先判定部３０１により、第１メッセージ送信部３０３から判定されたＩＯＣ４０へ送信される。また、宛先判定部３０１が他ＮＣ宛のメッセージ５と判定した場合、メッセージ５はそのままの形式で第１メッセージ送信部３０３に送られ、第１メッセージ送信部３０３から他ＮＣへ送信される。【００６６】
一方、メッセージ処理手段３０は、ＩＯＣ４０から第２メッセージ受信部３０４において、固定フォーマット形式のメッセージ５を受信する。更に、このメッセージ５は、第２メッセージ受信部３０４から拡張宛先ＩＤ付加部３０５に送られ、以下のように処理される。【００６７】
即ち、拡張宛先ＩＤ付加部３０５は、例えば２ビットの拡張宛先ＩＤを作成する。拡張宛先ＩＤは、例えば、メッセージ送信元のＩＯＣ４０の子ノードのノードＩＤ（例えば、２ビット）である。この後、拡張宛先ＩＤ付加部３０５は、可変領域に、拡張宛先ＩＤを付加する。【００６８】
第２メッセージ送信部３０６は、拡張宛先ＩＤ付加部３０５からメッセージ５のフォーマット形式のメッセージ５を受取り、メッセージ送信元のＩＯＣ４０が属する所属子ノード４に対応する自ＮＣへメッセージ５を送信する。【００６９】
図７〜図９は、クロスバ３のメッセージ処理手段３０内の第１の処理、第２の処理及び第３の処理を示す図である。なお、図７〜図９において、メッセージ処理手段３０は図示省略され、動作説明に必要な機能部のみを図示する。【００７０】
ここで、ＮＣ２１についての送信及び受信したメッセージ５において、その拡張宛先ＩＤは２ビットであるものとする。拡張宛先ＩＤの２ビットはノードＩＤを表し、宛先ＩＤの３ビットはＮＣ２１又はＩＯＣ４０のユニットＩＤを表すものとする。【００７１】
第１メッセージ受信部３００は、ＮＣ２１から送信されたメッセージ５を受信する。宛先判定部３０１は、その受信したメッセージ５の宛先ＩＤと拡張宛先ＩＤとに基づき、宛先を判定する。宛先判定部３０１は、具体的には、受信したメッセージ５に基づき、以下に示す処理を行う。【００７２】
宛先判定部３０１は、例えば、宛先ＩＤ＝０１０の場合にはＮＣ２１が宛先であり、宛先ＩＤ＝０００又は００１の場合にはＩＯＣ４０が宛先であると判定する。【００７３】
図７は、クロスバ３内における自ＮＣから所属子ノード４に属するＩＯＣへのメッセージ転送処理（以下、第１の処理と言う）を示す。【００７４】
第１の処理の一例として、ＮＣ２１ＡからＩＯＣ４０Ｂに対してのメッセージ転送処理が発生した場合において、クロスバ３内のメッセージ処理手段３０が実行する場合の処理について説明する。なお、以下の例において、メッセージ５に付加された拡張宛先ＩＤは、“００”であるものとする。【００７５】
宛先情報を含むメッセージ５が、ＮＣ２１Ａから送信され、クロスバ３のメッセージ処理手段３０内の第１メッセージ受信部３００で受信される（Ｔ１１）。宛先判定部３０１は、受信したメッセージ５を受取り（Ｔ１２）、これに含まれる拡張宛先ＩＤの２ビットからどのノード宛かを判定し、宛先ＩＤの３ビットからどの宛先ユニットかを判定する。【００７６】
宛先判定部３０１は、自ＮＣ（ＮＣ２１Ａ）の“ノードＩＤ＝００”と拡張宛先ＩＤの２ビットが同じ“００”であるため、所属子ノード４宛であり、また、宛先ＩＤの３ビットが“００１”であるため、ＩＯＣユニット（所属子ノード４に属するＩＯＣ４０Ｂ）であると判定する。【００７７】
次に、宛先判定部３０１は、受信したメッセージ５を拡張宛先ＩＤ削除部３０２に送る（Ｔ１３）。拡張宛先ＩＤ削除部３０２は、受信したメッセージ５から拡張宛先ＩＤの情報を削除したメッセージ５を第１メッセージ送信部３０３に送る（Ｔ１４）。第１メッセージ送信部３０３は、メッセージ５の宛先のＩＯＣ４０Ｂにそのメッセージ５を送信する（Ｔ１５）。以上により、自ＮＣから所属子ノード４内ＩＯＣ間へのメッセージ転送処理が実現できる。【００７８】
図８は、クロスバ３内における自ＮＣから他ＮＣへのメッセージ転送処理（以下、第２の処理と言う）を示す。【００７９】
第２の処理の一例として、ＮＣ２１ＢからＮＣ２１Ｃに対してのメッセージ転送処理が発生した場合の処理について説明する。なお、以下の例において、メッセージに付加された拡張宛先ＩＤ＝１０であるものとする。【００８０】
その宛先情報を含むメッセージ５が、ＮＣ２１Ｂから送信され、第１メッセージ受信部３００で受信される（Ｔ２１）。【００８１】
宛先判定部３０１は、受信したメッセージ５を受取り（Ｔ２２）、その情報から拡張宛先ＩＤの２ビットからどのノード宛かを判定し、宛先ＩＤの３ビットからどの宛先ユニットかを判定する。この場合、宛先判定部３０１は、自ＮＣ（ＮＣ２１Ｂ）の“ノードＩＤ＝０１”と、拡張宛先ＩＤの２ビットが“１０”であることより、宛先は他ＮＣ宛（ＮＣ２１Ｃ）であると判定する。【００８２】
宛先判定部３０１は、自ＮＣから他ＮＣ宛のメッセージ送信の場合、メッセージに付加された拡張宛先ＩＤを削除せず、そのメッセージ５を第１メッセージ送信部３０３に送る（Ｔ２３）。そして、そのメッセージ５を受取った第１メッセージ送信部３０３は、他ＮＣ宛（ＮＣ２１Ｃ）にそのメッセージ５を送信する（Ｔ２４）。以上により、自ＮＣから他ＮＣへのメッセージ転送処理が実現できる。【００８３】
図９は、クロスバ３内における所属子ノード４に属するＩＯＣから自ＮＣへのメッセージ転送処理（以下、第３の処理と言う）を示す。【００８４】
第３の処理の一例として、ＩＯＣ４０ＧからＮＣ２１Ｄに対してのメッセージ処理が発生した場合の処理について説明する。なお、以下の例において、メッセージに付加された“拡張宛先ＩＤ＝１１”とする。【００８５】
ＩＯＣ４０Ｇは、固定フォーマット形式のメッセージ５をクロスバ３に送信する。クロスバ３内の第２メッセージ受信部３０４は、ＩＯＣ４０Ｇからのメッセージ５を受信する（Ｔ３１）。【００８６】
このメッセージ５は、更に、第２メッセージ受信部３０４から拡張宛先ＩＤ付加部３０５に送られ（Ｔ３２）、拡張宛先ＩＤ付加部３０５により以下のように処理される。【００８７】
即ち、拡張宛先ＩＤ付加部３０５は、メッセージ送信元のＩＯＣ４０Ｇの子ノードの“ノードＩＤ＝１１”を“拡張宛先ＩＤ＝１１”として、固定フォーマット形式に付加する。【００８８】
次に、拡張宛先ＩＤ付加部３０５は、拡張宛先ＩＤを付加したメッセージ５を、第２メッセージ送信部３０６に送る（Ｔ３３）。第２メッセージ送信部３０６は、拡張宛先ＩＤ付加部３０５からメッセージ５を受取り、ＩＯＣ４０Ｇに属する子ノードに対応する自ＮＣ（ＮＣ２１Ｄ）へメッセージ５を送信する（Ｔ３４）。以上により、所属子ノード４内ＩＯＣから自ＮＣへのメッセージ５の転送処理を実行することができる。【００８９】
例えば、対応親ノード２に属するＣＰＵ２００からのメッセージ５が、非対応親ノード２に属するＣＰＵ２００へ送信される場合、第２の処理により自ＮＣ２１から他ＮＣ２１を介する処理が行われる。【００９０】
また、対応親ノード２に属するＣＰＵ２００からのメッセージ５が、非対応親ノード２に属するＩＯＣ４０へ送信される場合、第２の処理の実行の後、第１の処理が実行される。【００９１】
以上のように、このノード間通信方法により、既存のサーバ装置１のメッセージの形式に拡張宛先ＩＤの情報を付加されたメッセージ５が、ＮＣ２１とクロスバ３で送受信される。更に、ＩＯＣ４０側の送受信されるメッセージ５は、クロスバ３で既存のサーバ装置１のメッセージ形式で処理される。【００９２】
このノード間通信方法により、ＩＯＣ側の変更、又は取替え等を行うことなく、ユニットからのメッセージ５が、増設したＮＣの属する親ノード２のＣＰＵ２００へ送信され、又は、増設したＩＯＣ４０へ送信される。【００９３】
図１０〜図１２は、図１のサーバシステムにおけるノード拡張処理フローを示す。図１０〜図１２は、一体となって１つのノード拡張処理を示す。【００９４】
本サーバシステムにおいて、親ＮＣ２１がメッセージ５の宛先を決定し、ターゲット先へメッセージ５が送信されるまでの処理は、メッセージ５の送信元がＣＰＵ２００かＩＯＣ４０かに応じて、以下に説明するように実行される。【００９５】
ステップＳ１において、メッセージ５の送信元がＣＰＵ２００である場合、送信元のＣＰＵ２００が、メッセージ５の中の宛先ＩＤ（図４（Ａ）又は、図５（Ａ）に示す）を親ＮＣ２１のＩＤ（ユニットＩＤ）に設定する（ステップＳ２）。この設定の後、送信元のＣＰＵ２００がメッセージ５を親ＮＣ２１へ送信する（ステップＳ３）。この処理の後、図１１のステップＳ９が実行される。【００９６】
一方、ステップＳ１において、メッセージ５の送信元がＩＯＣ４０である場合、送信元のＩＯＣ４０が、メッセージ５の中の宛先ＩＤを親ＮＣ２１のＩＤに設定し（ステップＳ４）、この後、クロスバ３へメッセージ５を送信する（ステップＳ５）。【００９７】
クロスバ３は、このメッセージ５を受信し（ステップＳ６）、受信したメッセージ５に、送信元のＩＯＣ４０の親ノードＩＤを含む情報を拡張宛先ＩＤとして付加する（ステップＳ７）。クロスバ３が、拡張宛先ＩＤの付加されたメッセージ５を、送信元のＩＯＣ４０の親ＮＣ２１へ送信する（ステップＳ８）。【００９８】
この後、親ＮＣ２１は、ＣＰＵ２００、又はクロスバ３経由で送られてくるＩＯＣ４０からのメッセージ５を受信し、メッセージ５からターゲット先（メッセージ５の宛先を言う）を判定する（ステップＳ９）。この判定の結果に基づいて、親ＮＣ２１は、ターゲット先のＮＣ（ターゲットＮＣ）２１が自ＮＣであるか否かを調べる（ステップＳ１０）。ターゲット先が自ＮＣである場合、図１２のステップＳ１７が実行される。【００９９】
ターゲット先が自ＮＣでない（他ＮＣである）場合、親ＮＣ２１が、ターゲットＮＣ２１へメッセージ５を送信する（ステップＳ１１）。クロスバ３は、この親ＮＣ２１からのメッセージ５を受信し（ステップＳ１２）、受信したメッセージ５の拡張宛先ＩＤに基づいてターゲットＮＣ２１を判定する（ステップＳ１３）。クロスバ３が、ターゲットＮＣ２１へ拡張宛先ＩＤの付加されたメッセージ５を送信する（ステップＳ１４）。【０１００】
ターゲットＮＣ２１は、そのメッセージ５を受信し（ステップＳ１５）、メッセージ５からターゲット先を判定する（ステップＳ１６）。【０１０１】
この後、ターゲットＮＣ２１又は親ＮＣ２１（以下、単にターゲットＮＣ２１という）は、ターゲットがＣＰＵ２００か否かを調べる（ステップＳ１７）。ターゲットがＣＰＵ２００である場合、ターゲットＮＣ２１がターゲットＣＰＵ２００へメッセージ５を送信する（ステップＳ１８）。ターゲットＣＰＵ２００がこのメッセージ５を受信し（ステップＳ１９）、メッセージ５の送信処理は終了する。【０１０２】
一方、ターゲットがＣＰＵ２００でない場合、ターゲットＮＣ２１が、クロスバ３へメッセージ５を送信する（ステップＳ２０）。クロスバ３は、このメッセージ５を受信し（ステップＳ２１）、受信したメッセージ５からターゲット先を判定する（ステップＳ２２）。クロスバ３において、メッセージ処理手段３０がメッセージ５から拡張宛先ＩＤを削除する（ステップＳ２３）。【０１０３】
この後、クロスバ３は、拡張宛先ＩＤが削除されたメッセージ５をターゲットＩＯＣ４０へ送信する（ステップＳ２４）。ターゲットＩＯＣ４０が、このメッセージ５を受信し（ステップＳ２５）、メッセージ５の送信処理は終了となる。【０１０４】
図１３、図１４及び図１５は、各々、ノード間通信方法の動作の第１の例、第２の例及び第３の例を示す図である。なお、図１３〜図１５のサーバシステムの構成は、図２と同様の構成である。【０１０５】
図１３は、具体的には、子ノード４Ａに属するＩＯＣ４０Ａから、ターゲットを子ノード４Ｄに属するＩＯＣ４０Ｈに対してメッセージ５が発行された場合の動作（動作の第１の例）を示す。【０１０６】
子ノード４Ａに属するＩＯＣ４０Ａは、メッセージ５のターゲットアドレス等（図４及び図５に示す）をＩＯＣ４０Ｈに設定し、親ＮＣ２１ＡのＩＤを“宛先ＩＤ＝０１０”とする情報を含むメッセージ５をクロスバ３に送信する（Ｔ４１）。【０１０７】
クロスバ３は、子ノードＡに属するＩＯＣ４０Ａから固定フォーマット形式のメッセージ５を受信する。クロスバ３内のメッセージ処理手段３０（図示省略）は、受信したメッセージ５に拡張宛先ＩＤを付加する。この場合、拡張宛先ＩＤは、ＩＯＣ４０Ａの親ノード２Ａの“ノードＩＤ＝００”（２ビット）からなる“拡張宛先ＩＤ＝００”（２ビット）である。【０１０８】
そして、クロスバ３は、ＩＯＣ４０Ａから受信したメッセージ５に拡張宛先ＩＤを付加したメッセージ５を、ＩＯＣ４０Ａの親ＮＣ２１Ａへ送信する（Ｔ４２）。【０１０９】
ＮＣ２１Ａは、クロスバ３から拡張宛先ＩＤが付加されたメッセージ５を受信する。次に、ＮＣ２１Ａ内の宛先決定手段２２Ａ（図示省略）が、受信したメッセージ５からターゲット先を判定する。ターゲット先は、前述の図４又は図５に示すメッセージ５のターゲットアドレスやメッセージ種類に基づいて判定され、“宛先ＩＤ”に基づいては判定されない。【０１１０】
この場合、宛先決定手段２２Ａは、判定処理によりターゲット先としてＩＯＣ４０Ｈと判定する。宛先決定手段２２Ａは、ＩＯＣ４０Ｈの親ノード２Ｄの“ノードＩＤ＝１１” からなる“拡張宛先ＩＤ＝１１”、及び、ＮＣ２１Ｄの“ユニットＩＤ＝０１０”からなる“宛先ＩＤ＝０１０”を設定する。宛先決定手段２２Ａがメッセージ５の拡張宛先ＩＤと宛先ＩＤを書換え後、ＮＣ２１Ａはそのメッセージ５をクロスバ３へ送信する（Ｔ４３）。【０１１１】
クロスバ３は、ＮＣ２１Ａからメッセージ５を受信し、メッセージ処理手段３０で宛先判定を行う。メッセージ処理手段３０は、“拡張宛先ＩＤ＝１１”に対応するノード２ＤのＮＣ２１Ｄを宛先と判定する。更に、クロスバ３は、ＮＣ２１Ａからの受信したメッセージ５により他ＮＣのノードＩＤと判定するため、そのメッセージ５のまま、ＮＣ２１Ｄに送信する（Ｔ４４）。【０１１２】
ＮＣ２１Ｄは、クロスバ３から拡張宛先ＩＤが付加されたメッセージ５を受信し、宛先決定手段２２Ｄによりターゲット先を判定する。この場合、宛先決定手段２２Ｄは、ターゲット先として所属子ノード４Ｄに属するＩＯＣ４０Ｈと判定する。この判定後、宛先決定手段２２Ｄは、ターゲット先が所属子ノード４Ｄに属するＩＯＣ４０Ｈであることより、拡張宛先ＩＤをそのままの値としたメッセージ５をクロスバ３へ送信する（Ｔ４５）。【０１１３】
クロスバ３は、ＮＣ２１Ｄから拡張宛先ＩＤの付加されたメッセージ５を受信し、メッセージ処理手段３０で宛先判定を行う。メッセージ処理手段３０は、親ノードＮＣ２１Ｄから子ノード４Ｄに属するＩＯＣ４０Ｈへのメッセージ５であると判定する。メッセージ処理手段３０により、メッセージ５に付加された拡張宛先ＩＤがメッセージ５から削除され、クロスバ３から子ノード４Ｄ内のＩＯＣ４０Ｈへ拡張宛先ＩＤ削除後の固定フォーマットに従ったメッセージ５が送信される（Ｔ４６）。【０１１４】
ターゲット先であるＩＯＣ４０Ｈが、この固定フォーマット形式のメッセージ５をクロスバ３から受信した後、そのメッセージに対する応答メッセージ５をクロスバ３へ送信する（Ｔ４７）。なお、以降のＴ４８〜Ｔ５２において、応答メッセージ５の送信処理は、その実行の順序を逆にして、前述のメッセージ５の処理と同様に実行される。【０１１５】
図１４は、具体的には、親ノード２Ａに属するプロセッサ群２０ＡのＣＰＵ２００Ａから、ターゲットを子ノード４Ｄに属するＩＯＣ４０Ｈとするメッセージ５が発行された場合の動作（動作の第２の例）を示す。【０１１６】
親ノード２Ａに属するＣＰＵ２００Ａは、メッセージ５のターゲットアドレス等をＩＯＣ４０Ｈと設定し、親ＮＣ２１ＡのＩＤを“宛先ＩＤ＝０１０”とする情報を含むメッセージ５をＮＣ２１Ａに送信する（Ｔ６０）。【０１１７】
ＮＣ２１Ａは、ＣＰＵ２００Ａからメッセージ５を受信する。次に、ＮＣ２１Ａ内の宛先決定手段２２Ａが、受信したメッセージ５からターゲット先を判定する。【０１１８】
この場合、宛先決定手段２２Ａは、判定処理によりターゲット先としてＩＯＣ４０Ｈと判定する。宛先決定手段２２Ａは、ＩＯＣ４０Ｈの親ノード２Ｄの“ノードＩＤ＝１１” からなる“拡張宛先ＩＤ＝１１”、及び、ＮＣ２１Ｄの“ユニットＩＤ＝０１０”からなる“宛先ＩＤ＝０１０”を設定する。宛先決定手段２２Ａがメッセージ５に拡張宛先ＩＤを付加した後、ＮＣ２１Ａはそのメッセージ５をクロスバ３へ送信する（Ｔ６１）。【０１１９】
クロスバ３は、ＮＣ２１Ａからメッセージ５を受信し、メッセージ処理手段３０で宛先判定を行う。メッセージ処理手段３０は、メッセージ５に付加された“拡張宛先ＩＤ＝１１”の２ビットから、対応するノード２Ｄに属するＮＣ２１Ｄを宛先と判定する。更に、クロスバ３は、ＮＣ２１Ａからの受信したメッセージ５により他ＮＣのノードＩＤと判定するため、そのメッセージ５のまま、ＮＣ２１Ｄに送信する（Ｔ６２）。【０１２０】
ＮＣ２１Ｄは、クロスバ３から拡張宛先ＩＤが付加されたメッセージ５を受信し、宛先決定手段２２Ｄによりターゲット先を判定する。この場合、宛先決定手段２２Ｄは、ターゲット先として所属子ノード４Ｄに属するＩＯＣ４０Ｈと判定する。この判定後、宛先決定手段２２Ｄは、ターゲット先が所属子ノード４Ｄに属するＩＯＣ４０Ｈであることにより、拡張宛先ＩＤをそのままとしてメッセージ５をクロスバ３へメッセージ５を送信する（Ｔ６３）。【０１２１】
クロスバ３は、ＮＣ２１Ｄから拡張宛先ＩＤの付加されたメッセージ５を受信し、メッセージ処理手段３０で宛先判定を行う。メッセージ処理手段３０は、親ノードＮＣ２１Ｄから子ノード４Ｄに属するＩＯＣ４０Ｈへのメッセージ５であると判定する。メッセージ処理手段３０により、メッセージ５に付加された拡張宛先ＩＤがメッセージ５から削除され、クロスバ３から子ノード４Ｄ内のＩＯＣ４０Ｈへ拡張宛先ＩＤ削除後の固定フォーマット形式のメッセージ５が送信される（Ｔ６４）。【０１２２】
ターゲット先であるＩＯＣ４０Ｈが、このメッセージ５をクロスバ３から受信し、その応答メッセージ５を送信元へ向けて送信する（Ｔ６５）。なお、以降のＴ６６〜Ｔ６９において、応答メッセージ５の送信処理は、その実行の順序を逆にして、前述のメッセージ５の処理と同様に実行される。【０１２３】
図１５は、具体的には、子ノード４Ａ内のＩＯＣ４０Ａから、ターゲットを親ノード２Ｄに属するプロセッサ群２０ＤのＣＰＵ２００Ｈとするメッセージ５が発行された場合の動作（動作の第３の例）を示す。【０１２４】
子ノード４Ａに属するＩＯＣ４０Ａは、メッセージ発行先のターゲットアドレス等をＣＰＵ２００Ｈに設定し、親ＮＣ２１ＡのＩＤを“宛先ＩＤ＝０１０” とする情報を含むメッセージ５をクロスバ３に送信する（Ｔ７０）。【０１２５】
クロスバ３は、子ノード４Ａに属するＩＯＣ４０Ａからメッセージ５を受信する。クロスバ３内のメッセージ処理手段３０は、受信したメッセージ５に拡張宛先ＩＤを付加する。この場合、拡張宛先ＩＤは、ＩＯＣ４０Ａの親ノード２Ａの“ノードＩＤ＝００”（２ビット）からなる“拡張宛先ＩＤ＝００”（２ビット）である。【０１２６】
そして、クロスバ３は、ＩＯＣ４０Ａから受信したメッセージ５に拡張宛先ＩＤを付加したメッセージ５を、親ＮＣ２１Ａへ送信する（Ｔ７１）。【０１２７】
ＮＣ２１Ａは、クロスバ３から拡張宛先ＩＤが付加されたメッセージ５を受信する。次に、ＮＣ２１Ａ内の宛先決定手段２２Ａが、その受信したメッセージ５を処理する。宛先決定手段２２Ａは、受信したメッセージ５からターゲット先を判定する。なお、ターゲット先は、前述の図４又は図５に示すメッセージ５を基に判定されるものであり、宛先ＩＤ情報（３ビット）を示すものではなく、ターゲットアドレス、又はメッセージ種類から判定される。【０１２８】
この場合、宛先決定手段２２Ａは、判定処理によりターゲット先としてＩＯＣ４０Ｈと判定する。宛先決定手段２２Ａは、ＩＯＣ４０Ｈの親ノード２Ｄの“ノードＩＤ＝１１” からなる“拡張宛先ＩＤ＝１１”、及び、ＮＣ２１Ｄの“ユニットＩＤ＝０１０”からなる“宛先ＩＤ＝０１０”を設定する。宛先決定手段２２Ａがメッセージ５に付加された拡張宛先ＩＤ書換え後、ＮＣ２１Ａはそのメッセージ５をクロスバ３へ送信する（Ｔ７２）。【０１２９】
クロスバ３は、ＮＣ２１Ａからメッセージ５を受信し、メッセージ処理手段３０で宛先判定を行う。メッセージ処理手段３０は、“拡張宛先ＩＤ＝１１”の２ビットに対応するノード２ＤのＮＣ２１Ｄを宛先と判定する。クロスバ３は、メッセージ処理手段３０により、ＮＣ２１Ａの受信したメッセージ５から他ＮＣのノードＩＤの宛先と判定するため、そのメッセージ５のまま、ＮＣ２１Ｄに送信する（Ｔ７３）。【０１３０】
ＮＣ２１Ｄは、クロスバ３から拡張宛先ＩＤが付加されたメッセージ５を受信し、宛先決定手段２２Ｄによりターゲット先を判定する。この場合、宛先決定手段２２Ｄは、ターゲット先としてプロセッサ群２０Ｄ内のＣＰＵ２００Ｈと判定する。この判定後、ＮＣ２１Ｄは、自ノード２Ｄに属するＣＰＵ２００Ｈにメッセージ５を送信する（Ｔ７４）。なお、Ｔ７５〜Ｔ７９において、応答メッセージ５の送信処理は、その実行の順序を逆にして、前述のメッセージ５の処理と同様に実行される。【０１３１】
ここで、宛先決定手段２２は、プロセッサ群２０へメッセージ５を送信する場合、拡張宛先ＩＤを削除したメッセージ５を送信するものとしても良い。この場合、ＣＰＵ２００側も固定フォーマット形式のメッセージ５に対応するようにすることができる。
【図１】
2010021018.tif 000003
【図２】
2010021018.tif 000004
【図３】
2010021018.tif 000005
【図４】
2010021018.tif 000006
【図５】
2010021018.tif 000007
【図６】
2010021018.tif 000008
【図７】
2010021018.tif 000009
【図８】
2010021018.tif 000010
【図９】
2010021018.tif 000011
【図１０】
2010021018.tif 000012
【図１１】
2010021018.tif 000013
【図１２】
2010021018.tif 000014
【図１３】
2010021018.tif 000015
【図１４】
2010021018.tif 000016
【図１５】
2010021018.tif 000017
【図１６】
2010021018.tif 000018
【図１７】
2010021018.tif 000019
【国際調査報告】
2010021018.tif 000020
2010021018.tif 000021