(57)【特許請求の範囲】
【請求項１】
複数のプロセッサモジュールから構成されて、送信側空間が、送信宛先情報を指定して、要求メッセージを送信して待ち状態に入り、一方、該送信宛先情報の指す受信側空間が、該送信側空間を指す返信宛先情報を指定して、この待ち状態の解除契機となる返信メッセージを送信する構成を採るメッセージ同期型データ処理システムにおいて、
送信側空間を展開するプロセッサモジュールのカーネルが、
他プロセッサモジュールに展開される受信側空間に対して要求メッセージが送信されるときに、送信先のプロセッサモジュールを単位として、該プロセッサモジュールに展開される受信側空間の指定することになる返信宛先情報を管理する管理手段に対して、該当の返信宛先情報を登録するとともに、プロセッサモジュールを越えて返信メッセージが自モジュールの送信側空間に送信されてくるときに、該返信メッセージの持つ返信宛先情報を該管理手段から削除する手段と、
他プロセッサモジュールのクラッシュ発生時に、上記管理手段の管理する返信宛先情報の中から該クラッシュモジュールに対応付けられるものを検索することで、該クラッシュモジュールに展開される受信側空間の指定することになる返信宛先情報を検索して、該受信側空間に代わって、その検索した返信宛先情報を指定して、プロセッサモジュールクラッシュを表す代行返信メッセージを送信する手段とを備えることを、
特徴とするメッセージ同期型データ処理システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複数のプロセッサモジュールから構成されて、メッセージに従って他空間をアクセスしながら同期を取りつつデータ処理を実行していく構成を採るメッセージ同期型データ処理システムに関し、特に、プロセッサモジュールクラッシュが発生するときに、待ち状態にあるメッセージ送信元の空間に対して、このクラッシュ発生を迅速に通知できるようにするメッセージ同期型データ処理システムに関する。
【０００２】
【従来の技術】
図１０に、本発明の適用されるメッセージ同期型データ処理システムのシステム構成を図示する。
【０００３】
この図に示すように、本発明の適用されるメッセージ同期型データ処理システムは、ハードウェア的には、ＣＰＵ、メモリ等からなるプロセッサモジュール（図中のＰＭ）が、バスや回線等で複数結合されることで構成され、一方、ソフトウェア的には、各プロセッサモジュールは、カーネル（核）を展開するとともに、機能単位や資源の種類等による複数の空間を展開する。
【０００４】
そして、それぞれの空間は、互いに独立していて空間の壁により相互干渉から守られており、他空間をアクセスするときには、送信の宛先となる宛先ＣＡＰ（Capability）を指定してメッセージを通信していくことで行う。ここで、このＣＡＰは、空間に対応付けて管理されるものであって、ＣＡＰ発行の権限を持つサーバが、空間の発行要求に応答して発行していくことになる。
【０００５】
このようなシステム構成を採るメッセージ同期型データ処理システムでは、図１１に示すように、送信側となる空間は、処理要求の要求メッセージを送信すると待ち状態に入る。一方、受信側となる空間は、この要求メッセージを受信すると、要求の処理の実行に入って、その処理を終了すると、要求メッセージの受信時に通知される返信ＣＡＰ（返信宛先を表示する）を指定して、送信側空間に対して返信メッセージを送信する。そして、この返信メッセージを受けて、送信側空間は、待ち状態を解除し自処理の実行を再開していく。なお、受信側空間の返信ＣＡＰは、返信メッセージの送信時に削除されることになる。
【０００６】
このようにして、メッセージ同期型データ処理システムでは、メッセージ・パシングに従って、データ処理を実行していく構成を採っている。
このメッセージ同期型データ処理システムでは、図１２に示すように、受信側空間にクラッシュが発生したり、図１３に示すように、受信側空間を展開するプロセッサモジュールにクラッシュが発生すると、送信側空間が待ち状態のままになってしまうことになる。
【０００７】
このような不都合を解決するために、従来では、送信側空間は、要求メッセージの送信後にタイマを動作させて、規定の時間が経過しても返信メッセージが返信されてこないときには、空間クラッシュかプロセッサモジュールクラッシュが発生したものとして、待ち状態を解除していくという方法を採っていた。
【０００８】
【発明が解決しようとする課題】
しかしながら、このような従来技術に従っていると、送信側空間は、要求メッセージの送信先に空間クラッシュやプロセッサモジュールクラッシュが発生しても、タイムアウトするまでは、それを検出することができないという問題点があった。これから、クラッシュ発生時に、要求メッセージ送信後の待ち状態を迅速に解除していくことができないという問題点があった。
【０００９】
本発明は、かかる事情に鑑みてなされたものであって、プロセッサモジュールクラッシュが発生するときに、メッセージ送信元の空間に対して、このクラッシュ発生を迅速に通知できるようにする新たなメッセージ同期型データ処理システムの提供を目的とする。
【００１０】
【課題を解決するための手段】
図１に本発明の原理構成を図示する。
図中、１は複数設けられるプロセッサモジュール、２はプロセッサモジュール１を接続する通信路、３は各プロセッサモジュール１に展開されるカーネル、４はプロセッサモジュール１に展開されて、要求メッセージの送信元となる送信側空間、５は送信側空間４に対応付けて展開されて、要求メッセージの送信先を表示する送信宛先情報を管理する送信宛先情報管理部、６はプロセッサモジュール１に展開されて、要求メッセージに対しての処理を実行して返信メッセージを返す受信側空間、７は受信側空間６に対応付けて展開されて、返信メッセージの返信先を表示する返信宛先情報を管理する返信宛先情報管理部である。
【００１２】
図１において、１０は要求メッセージ送信先のプロセッサモジュール１対応に備えられて、返信宛先情報を管理する管理テーブル、１１はカーネル３に展開されて、管理テーブル１０の管理処理を実行するテーブル管理部、１２はカーネル３に展開されて、他プロセッサモジュール１のクラッシュを検出するＰＭクラッシュ検出部、１３はカーネル３に展開されて、送信側空間４に対してプロセッサモジュールクラッシュを表示する代行返信メッセージを送信する代行メッセージ送信部である。
【００１６】
【作用】
このように構成される本発明では、送信側空間４の展開されるカーネル３のテーブル管理部１１は、送信側空間４が他プロセッサモジュール１に展開される受信側空間６に対して要求メッセージを送信すると、そのプロセッサモジュール１に対応付けられる管理テーブル１０に、戻されることになる返信メッセージの持つべき返信宛先情報を登録するとともに、他プロセッサモジュール１の受信側空間６が自モジュールの送信側空間４に返信メッセージを返信してくると、そのプロセッサモジュール１に対応付けられる管理テーブル１０から、返信メッセージの持つ返信宛先情報を削除していく。この処理に従って、管理テーブル１０は、他モジュールから送信されてくる返信メッセージの持つ返信宛先情報の内の未返信のものを管理していくよう処理する。
【００１７】
このように管理テーブル１０が未返信の返信宛先情報を管理していくときにあって、送信側空間４の展開されるカーネル３のＰＭクラッシュ検出部１２が、他プロセッサモジュール１のクラッシュを検出すると、そのカーネル３の代行メッセージ送信部１３は、受信側空間６に代わって、そのクラッシュモジュールに対応付けられる管理テーブル１０の返信宛先情報を指定して、プロセッサモジュールクラッシュを表示する代行返信メッセージを送信側空間４に送信する。そして、この代行返信メッセージの送信を受けて、送信側空間４は、受信側空間６の展開されるプロセッサモジュール１のクラッシュを検出して、要求メッセージの送信後に入る待ち状態を解除する。
【００１８】
このように、本発明では、受信側空間６の展開されるプロセッサモジュール１にクラッシュが発生すると、カーネル３が代行返信メッセージを送信側空間４に送信することで、送信側空間４に対してプロセッサモジュール１のクラッシュを通知していく構成を採ることから、送信側空間４は、受信側空間６の展開されるプロセッサモジュール１のクラッシュを迅速に認識できるようになって、要求メッセージ送信後の待ち状態を迅速に解除できるようになる。
【００１９】
【実施例】
以下、実施例に従って本発明を詳細に説明する。
図２に、図１で説明した管理テーブル１０の詳細なテーブル構成の一実施例を図示する。図中、１００は送信先のプロセッサモジュール１対応に備えられて（送信先のプロセッサモジュール１を単位として備えられて）、返信宛先情報となる返信ＣＡＰや、ＩＰＬ回数を表示するバージョンコード等を管理する送信先ＰＭ管理テーブル（以下、図中ではＩＰＣＬと略記する）、１０１はこの送信先ＰＭ管理テーブル１００をハッシュ管理するハッシュテーブルである。
【００２０】
プロセッサモジュール１のカーネル３は、この送信先ＰＭ管理テーブル１００の返信ＣＡＰの管理処理を実行する。図３に、カーネル３の実行するこの管理処理の処理フローを図示する。
【００２１】
各プロセッサモジュール１のカーネル３は、自モジュールの送信側空間４が他モジュールの受信側空間６に対して要求メッセージを送信するときには、図３（ａ）の処理フローに示すように、先ず最初に、ステップ１で、その要求メッセージに対しての応答となる返信メッセージで指定されることになる返信ＣＡＰを対応の送信先ＰＭ管理テーブル１００に登録する。次に、ステップ２で、送信先のプロセッサモジュール１のカーネル３に対して、送信先ＰＭ管理テーブル１００のどのエントリに返信ＣＡＰを登録したのかを表示するエントリ識別子を通知して処理を終了する。
【００２２】
このようにして、送信元のプロセッサモジュール１のカーネル３から送信先ＰＭ管理テーブル１００のエントリ識別子を受け取ると、受信側のカーネル３は、そのエントリ識別子を自モジュールの返信宛先情報管理部７に登録していくことになる。そして、受信側空間６は、返信メッセージを送信するときには、このエントリ識別子の付加された返信ＣＡＰを用いていくことになる。
【００２３】
図４に、この図３（ａ）の処理フローにより実行される送信先ＰＭ管理テーブル１００への返信ＣＡＰの登録処理を図示する。
一方、各プロセッサモジュール１のカーネル３は、自モジュールの送信側空間４に対して返信メッセージが送信されてくると、図３（ｂ）の処理フローに示すように、先ず最初に、ステップ１で、その返信メッセージがプログラムモジュール１間に渡る返信メッセージであるのか否かを判断する。この判断で、他モジュールから送信されてきた返信メッセージであると判断するときには、ステップ２に進んで、その送信されてきた返信メッセージの持つ返信ＣＡＰから送信先ＰＭ管理テーブル１００のエントリ識別子を取り出す。
【００２４】
続いて、ステップ３で、返信メッセージの送信元のプロセッサモジュール１に対応付けられる送信先ＰＭ管理テーブル１００を検索して、ステップ２で取り出したエントリ識別子の指す返信ＣＡＰを検索する。続いて、ステップ４で、送信されてきた返信メッセージの持つ返信ＣＡＰと、ステップ３で検索した返信ＣＡＰとが一致するのか否かを判断して、一致すると判断するときには、ステップ５に進んで、送信先ＰＭ管理テーブル１００からその返信ＣＡＰを削除する。このときには、返信メッセージは、返信ＣＡＰの指すメイルボックスに振り分けられることで、送信側空間４に通知されることになる。
【００２５】
一方、ステップ４の判断で、一致しないと判断するときには、既にその返信メッセージを受け取っていることを示しているので、ステップ５の削除処理を実行することなく、そのまま処理を終了する。このときには、返信メッセージは捨てられることになる。そして、ステップ１の判断で、返信メッセージが同一モジュール内のものであると判断するときには、送信先ＰＭ管理テーブル１００の管理対象外であるので、ステップ２ないしステップ５の処理を実行することなく、そのまま処理を終了する。
【００２６】
図５に、この図３（ｂ）の処理フローにより実行される送信先ＰＭ管理テーブル１００からの返信ＣＡＰの削除処理を図示する。
このようにして、各プロセッサモジュール１のカーネル３は、図３の処理フローを実行していくことで、自モジュールに展開する送信先ＰＭ管理テーブル１００が、他モジュールから送信されてくる返信メッセージの持つ返信ＣＡＰの内の未返信のものを管理していくよう処理するのである。
【００２７】
次に、受信側空間６の空間クラッシュ発生時と、プロセッサモジュール１のクラッシュ発生時に実行するカーネル３のリカバリ処理について説明する。図６に、カーネル３の実行するこのリカバリ処理の処理フローを図示する。
【００２８】
受信側空間６を展開する各プロセッサモジュール１のカーネル３は、自モジュールに展開される受信側空間６の空間クラッシュを検出すると、図６（ａ）の処理フローに示すように、先ず最初に、ステップ１で、そのクラッシュした受信側空間６に対応付けられる返信宛先情報管理部７の管理する返信ＣＡＰを検索する。次に、ステップ２で、その検索した返信ＣＡＰを宛先に指定して、空間クラッシュを表示する代行返信メッセージを送信側空間４に送信して処理を終了する。
【００２９】
この代行返信メッセージを受信すると、待ち状態にある送信側空間４は、受信側空間６の空間クラッシュを認識して待ち状態を解除していく。
図７に、空間クラッシュの受信側空間６が自モジュールに展開されるときにおける代行返信メッセージ送信処理の説明図を図示するとともに、図８に、空間クラッシュの受信側空間６が他モジュールに展開されるときにおける代行返信メッセージ送信処理の説明図を図示する。
【００３０】
このように、カーネル３は、受信側空間６に空間クラッシュが発生すると、送信側空間４に代行返信メッセージを送信していくことで、その空間クラッシュの発生を送信側空間４に通知していくよう処理するのである。
【００３１】
なお、送信側空間４を展開するプロセッサモジュール１のカーネル３は、空間クラッシュの発生した受信側空間６が他モジュールに展開されるときには、そのプロセッサモジュール１から送信されてくる代行返信メッセージを受け取ると、通常の返信メッセージを受信するときと同様に、図３（ｂ）の処理フローに従って送信先ＰＭ管理テーブル１００から対応の返信ＣＡＰを削除していく処理を実行することになる。
【００３２】
一方、送信側空間４を展開する各プロセッサモジュール１のカーネル３は、他プロセッサモジュール１のクラッシュを検出すると、図６（ｂ）の処理フローに示すように、先ず最初に、ステップ１で、クラッシュの発生したプロセッサモジュール１に対応付けられる送信先ＰＭ管理テーブル１００を検索して返信ＣＡＰを取得する。次に、ステップ２で、その取得した返信ＣＡＰを宛先に指定して、プロセッサモジュールクラッシュを表示する代行返信メッセージを送信側空間４に送信して処理を終了する。
【００３３】
この代行返信メッセージを受信すると、待ち状態にある送信側空間４は、受信側空間６を展開するプロセッサモジュール１のクラッシュを認識して待ち状態を解除していく。
【００３４】
図９に、このプロセッサモジュールクラッシュ時における代行返信メッセージの送信処理の説明図を図示する。
このように、カーネル３は、受信側空間６を展開するプロセッサモジュール１にクラッシュが発生すると、送信側空間４に代行返信メッセージを送信していくことで、そのクラッシュの発生を送信側空間４に通知していくよう処理するのである。
【００３５】
なお、送信側空間４を展開するプロセッサモジュール１のカーネル３は、他プロセッサモジュール１のクラッシュに従って代行返信メッセージを送信するときには、送信先ＰＭ管理テーブル１００から対応の返信ＣＡＰを削除していく処理を実行することになる。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、メッセージに従って他空間をアクセスしながら同期を取りつつデータ処理を実行していく構成を採るメッセージ同期型データ処理システムにあって、受信側空間のプロセッサモジュールにクラッシュが発生するときに、カーネルがクラッシュを表示する代行返信メッセージを送信側空間に送信することで、送信側空間に対してクラッシュを通知していく構成を採ることから、送信側空間は、このクラッシュを迅速に認識できるようになって、要求メッセージ送信後の待ち状態を迅速に解除できるようになる。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】管理テーブルのテーブル構成の一実施例である。
【図３】  カーネルの実行する処理フローの一例である。
【図４】送信先ＰＭ管理テーブルへの返信ＣＡＰの登録処理説明図である。
【図５】送信先ＰＭ管理テーブルからの返信ＣＡＰの削除処理説明図である。
【図６】  カーネルの実行する処理フローの一例である。
【図７】空間クラッシュ時の処理の説明図である。
【図８】空間クラッシュ時の処理の説明図である。
【図９】プロセッサモジュールクラッシュ時の処理の説明図である。
【図１０】メッセージ同期型データ処理システムの説明図である。
【図１１】メッセージ同期型データ処理システムの説明図である。
【図１２】クラッシュ発生時の説明図である。
【図１３】クラッシュ発生時の説明図である。
【符号の説明】
１    プロセッサモジュール
２    通信路
３    カーネル
４    送信側空間
５    送信宛先情報管理部
６    受信側空間
７    返信宛先情報管理部
１０  管理テーブル
１１  テーブル管理部
１２  ＰＭクラッシュ検出部
１３  代行メッセージ送信部
【図１】
0003841229.tif 000002
【図２】
0003841229.tif 000003
【図３】
0003841229.tif 000004
【図４】
0003841229.tif 000005
【図５】
0003841229.tif 000006
【図６】
0003841229.tif 000007
【図７】
0003841229.tif 000008
【図８】
0003841229.tif 000009
【図９】
0003841229.tif 000010
【図１０】
0003841229.tif 000011
【図１１】
0003841229.tif 000012
【図１２】
0003841229.tif 000013
【図１３】
0003841229.tif 000014