"他の複数の計算機と同じネットワークに接続され、前記他の計算機と共に計算機クラスタを構成する計算機において、トピックを識別するトピック識別データと、前記ネットワークにおける通信で使用されるマルチキャストアドレスとポート番号との組と、前記トピックを送信するトピック送信処理の起動した時刻を示すトピック送信処理起動時刻と、前記トピック識別データの示す前記トピックが起動した計算機であって前記ネットワークに接続する計算機のIPアドレスとを含むレコードであって、前記トピック識別データごとの前記レコードが登録されたクラスタ内トピック管理情報を有するクラスタ内管理部と、前記クラスタ内トピック管理情報に登録された前記トピック識別データと同一のトピックの前記トピック送信処理が自身の計算機で起動すると、起動した前記トピック送信処理の起動時刻を検出し、検出した起動時刻と、前記クラスタ内トピック管理情報に登録された前記トピック識別データのトピック送信処理起動時刻とを比較し、検出した起動時刻の方が過去である場合には、起動したトピックと同一の前記トピック識別データのレコードにおける前記マルチキャストアドレスと前記ポート番号とを所定の生成規則に基づき新たに生成して変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記トピック送信処理起動時刻を検出した前記起動時刻に変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記ネットワークに接続する計算機のIPアドレスに自身の計算機の前記ネットワークにおけるIPアドレスを追加する変更を実行すると共に、起動したトピックと同一の前記トピック識別データのレコードにおける変更内容を、変更情報として、前記ネットワークに接続する他の計算機に通知するクラスタ内通知部とを備えたことを特徴とする計算機。前記クラスタ内通知部は、検出した前記起動時刻と、前記クラスタ内トピック管理情報に登録された前記トピック識別データのトピック送信処理起動時刻との比較の結果、検出した前記起動時刻の方が新しい場合には、起動したトピックと同一の前記トピック識別データのレコードにおける前記ネットワークに接続する計算機のIPアドレスに自身の計算機の前記ネットワークにおけるIPアドレスを追加する変更を実施すると共に、起動したトピックと前記トピック識別データと自身の前記IPアドレスとを前記変更情報として、前記ネットワークに接続する他の計算機に通知することを特徴とする請求項1記載の計算機。前記クラスタ内通知部は、前記計算機クラスタを構成する前記他の計算機から、前記クラスタ内管理部の有する前記クラスタ内トピック管理情報の変更を示す前記変更情報を受信すると、前記変更情報の内容を前記前記クラスタ内トピック管理情報に反映することを特徴とする請求項1または2のいずれかに記載の計算機。前記計算機は、前記計算機クラスタを代表する代表計算機であって、前記計算機は、さらに、前記ネットワークと異なる代表計算機ネットワークに接続することにより、前記代表計算機ネットワークに接続され、他の計算機ネットワークを代表する他の代表計算機と通信可能な代表計算機間通知部と、前記トピック識別データと、前記代表計算機ネットワークにおける通信で使用されるマルチキャストアドレスとポート番号との組と、前記トピック送信処理起動時刻と、前記代表計算機間の通信における前記トピック識別データの示すトピックのデータの送信元となる前記代表計算機のIPアドレスとを含むレコードであって、前記トピック識別データごとの前記レコードが登録された代表計算機間トピック管理情報を有する代表計算機間管理部とを備え、前記クラスタ内通知部は、起動したトピックの前記起動時刻を検出すると、検出した前記起動時刻に係るトピックの前記トピック識別データと検出した起動時刻とを前記代表計算機間通知部に渡し、前記代表計算機間通知部は、前記クラスタ内通知部から前記トピック識別データと前記起動時刻とを渡されると、前記代表計算機間管理部の有する前記代表計算機間トピック管理情報を参照することにより、渡された前記トピック識別データと同一の前記トピック識別データの前記トピック送信処理起動時刻が登録されている場合には、渡された前記起動時刻と前記トピック送信処理起動時刻とを比較し、渡された前記起動時刻のほうが過去である場合には、渡されたトピック識別データと同一の前記トピック識別データのレコードにおける前記マルチキャストアドレスと前記ポート番号とを所定の生成規則に基づき新たに生成して変更し、渡されたトピック識別データと同一の前記トピック識別データのレコードにおける前記トピック送信処理起動時刻を渡された前記起動時刻に変更すると共に、渡されたトピック識別データと同一の前記トピック識別データのレコードにおける変更内容を、前記代表計算機間ネットワークに接続する他の代表計算機に通知することを特徴とする請求項1~3のいずれかに記載の計算機。複数の計算機がネットワークに接続されることにより構成された計算機クラスタを複数備え、前記複数の計算機クラスタは、各計算機クラスタを代表する各代表計算機が前記ネットワークと異なる代表計算機ネットワークに接続することにより、ネットワーク接続される分散計算機システムにおいて、1前記計算機クラスタに属する計算機は、自身の計算機でトピックデータの送信を希望する送信プロセスが起動すると、前記送信プロセスの起動を示す送信プロセス起動通知を、自身の計算機が所属する計算機クラスタの他のすべての計算機に送信し、2前記送信プロセス起動通知を送信した前記計算機と同じ計算機クラスタに所属する前記代表計算機は、前記送信プロセス起動通知を受信すると、前記代表計算機ネットワークを介して他のすべての前記代表計算機に前記送信プロセス起動通知を送信し、3前記送信プロセス起動通知を受信した他の全ての前記代表計算機は、同じ計算機クラスタに所属するすべての計算機に前記送信プロセス起動通知を送信し、4前記計算機クラスタに属する計算機は、自身の計算機で前記トピックデータの受信を希望する受信プロセスが起動すると、前記受信プロセスの起動を示す受信プロセス起動通知を、自身の計算機が所属する計算機クラスタの他のすべての計算機に送信し、5前記受信プロセス起動通知を送信した前記計算機と同じ計算機クラスタに所属する前記代表計算機は、前記受信プロセス起動通知を受信すると、他の前記代表計算機から前記送信プロセス起動通知を受信している場合には、前記送信プロセス起動通知を送信した前記他の前記代表計算機に前記代表計算機ネットワークを介して受信希望通知を送信し、6前記受信希望通知を受信した前記代表計算機は、自身の所属するクラスタにおいて前記送信プロセスが起動した前記計算機から前記トピックデータを受信し、受信した前記トピックデータを前記代表計算機ネットワークを介して前記受信希望通知を送信した前記代表計算機に送信し、7前記受信希望通知を受信した前記代表計算機は、前記受信プロセス起動通知を送信した同一クラスタ内の前記計算機に、前記トピックデータを送信することを特徴とする分散計算機システム。従来の出版-購読型データ通信方式では、IPマルチキャスト通信にてトピックの送受信を行っているため、計算機クラスタが複数結合して構成された分散システムにでは、ネットワークが異なるため、異なる計算機クラスタ上プロセスの間でのトピック送受信を行うことはできない。また、従来の出版-購読型データ通信に特許文献1を組み合わせることにより、本発明で対象とするような分散計算機システムでトピックの送受信を実現することは可能であるが、この場合、複数ネットワークに属する計算機が必ず一度データを受信してから転送すべきデータかどうかを判別しているため、受信不要なデータも受信することになり、複数ネットワークに属する計算機の負荷が高い、いう問題点があった。この発明は、複数ネットワークに接続された計算機が、自ネットワーク上で交換されているトピックを他のネットワーク上でも必要とするときにのみ、その計算機がトピックを受信して他のネットワークに転送することにより、複数ネットワークに属する計算機は転送不要なデータの受信をなくし、負荷を軽減することを目的とする。この発明の計算機は、他の複数の計算機と同じネットワークに接続され、前記他の計算機と共に計算機クラスタを構成する計算機において、トピックを識別するトピック識別データと、前記ネットワークにおける通信で使用されるマルチキャストアドレスとポート番号との組と、前記トピックを送信するトピック送信処理の起動した時刻を示すトピック送信処理起動時刻と、前記トピック識別データの示す前記トピックが起動した計算機であって前記ネットワークに接続する計算機のIPアドレスとを含むレコードであって、前記トピック識別データごとの前記レコードが登録されたクラスタ内トピック管理情報を有するクラスタ内管理部と、前記クラスタ内トピック管理情報に登録された前記トピック識別データと同一のトピックの前記トピック送信処理が自身の計算機で起動すると、起動した前記トピック送信処理の起動時刻を検出し、検出した起動時刻と、前記クラスタ内トピック管理情報に登録された前記トピック識別データのトピック送信処理起動時刻とを比較し、検出した起動時刻の方が過去である場合には、起動したトピックと同一の前記トピック識別データのレコードにおける前記マルチキャストアドレスと前記ポート番号とを所定の生成規則に基づき新たに生成して変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記トピック送信処理起動時刻を検出した前記起動時刻に変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記ネットワークに接続する計算機のIPアドレスに自身の計算機の前記ネットワークにおけるIPアドレスを追加する変更を実行すると共に、起動したトピックと同一の前記トピック識別データのレコードにおける変更内容を、変更情報として、前記ネットワークに接続する他の計算機に通知するクラスタ内通知部とを備えたことを特徴とする。この発明により、計算機クラスタが複数結合して構成された分散システムにおいて、自ネットワーク上で交換されているトピックを他のネットワーク上でも必要とするときにのみ、所定の計算機がトピックを受信して他のネットワークに転送する分散システムを提供することができる。実施の形態1.図1は、この発明が対象とする分散計算機システムの構成の一例を示したものである。図1のように、本発明が対象とする分散計算機システムでは、複数の計算機クラスタ3をネットワーク接続することにより構成されている。例えば、図1において、計算機1-1-1~1-1-6はネットワーク2-1に接続され、計算機クラスタ3-1を構成している。同様に、計算機1-2-1~1-2-6はネットワーク2-2に接続され、計算機クラスタ3-2を構成している。そして、計算機1-3-1~1-3-6はネットワーク2-3に接続され、計算機クラスタ3-3を構成している。そして、ネットワーク2-4が計算機クラスタ3-1~3-3を接続することによって分散計算機システム4が構成される。なお、本構成において、計算機が接続されているネットワークが異なる場合、計算機間で直接通信ができないものとする。また、以下で使用する出版プロセス、送信プロセスは同じ意味である。また購読プロセス、受信プロセスは同じ意味である。前提条件1つまり、図1において、ネットワーク2-4に接続されている計算機1-1-5,1-2-5,1-3-5はネットワークルータの機能を持っていないものとする。例えば、図1において、計算機1-1-1上で動作するプロセスは、異なる計算機クラスタに属する計算機1-2-6上で動作するプロセスに対し、計算機1-2-6のIPアドレスを指定して通信することはできないものとする。2しかし、計算機1-1-5,1-2-5,1-3-5はそれぞれ異なる計算機クラスタに属しているが、ネットワーク2-4にて接続されているため、各計算機のIPアドレスを指定して直接通信することが可能である。3なお、計算機1-1-5,1-2-5,1-3-5を以降、それぞれ計算機クラスタ3-1,3-2,3-3のデータ中継計算機5代表計算機と呼ぶ。なお、システムを構成するすべての計算機の内部時刻はNTPNetworkTimeProtocolなどで整合されているものとする。以下、分散計算機システム4に示すような分散計算機システムにおいて、異なる計算機クラスタ3上の計算機の間で出版-購読型データ通信を実現するための構成および方法について述べる。図2は、本実施の形態1における出版-購読型データ通信方式の構成図である。本実施の形態1における出版-購読型通信方式は、出版購読計算機通知部6、出版購読計算機管理部7、トピック送信部8、トピック受信部9、転送トピック通知部10、転送トピック管理部11、トピック転送部12、転送トピック受信部13で構成される。出版購読計算機通知部6出版購読計算機通知部6クラスタ内通知部は、計算機上でトピックを出版または購読するプロセスが起動すると、1そのトピック名、2計算機のIPアドレス、3トピックを送信する際のマルチキャストIPアドレス、4ポート番号などを同一計算機クラスタ内の全計算機に通知する。また、他の計算機の出版購読計算機通知部6からの通知を受信し、他の出版購読計算機管理部7に登録する役割を持つ。出版購読計算機管理部7出版購読計算機管理部7クラスタ内管理部は、出版購読計算機通知部6が受信した、1各トピック名トピック識別データと、2そのトピックが送信されるマルチキャストIPアドレスと、3ポート番号、4各トピックを出版するプロセス、5購読するプロセスが動作する計算機のIPアドレス、6IPマルチキャストアドレスの設定時刻、などを保持する役割を持つ。例えば、出版購読計算機管理部7は図3のようなテーブル7Tクラスタ内トピック管理情報を持つ。後述ように、出版購読計算機管理部7の他、転送トピック管理部11も図3と類似のテーブルを持つ以下、図3をテーブル7T、後述の図5をテーブル11Tと呼ぶ場合がある。また、出版購読計算機管理部7に登録、あるいは出版購読計算機管理部7を参照等の説明が登場するが、これらはテーブル7Tに登録、テーブル7Tを参照等することを意味する。転送トピック管理部11についても同様である。図3の例では、IPアドレスが、192.168.1.1、192.168.1.3上のプロセスがトピック1のデータを送信し、トピック1を受信する際のIPマルチキャストアドレスが239.192.100.1、ポートが8000番、そのトピックを受信するプロセスが動作する計算機が192.168.1.1,192.168.1.2、192.168.1.4、IPマルチキャストアドレスを設定した時刻が12時34分56秒であることを示している。同様に、計算機192.168.1.5上のプロセスがトピック2を送信し、そのトピックを受信するプロセスが動作する計算機が計算機192.168.1.1、計算機192.168.1.4、計算機192.168.1.5であり、トピック1を受信するためのIPマルチキャストアドレスが239.192.100.2、ポート番号が8000、IPマルチキャストアドレスを設定した時刻が11時12分13秒であることを示している。なお、本表では、時刻を時、分、秒のみ取得しているが、年、月、日、時、分、秒、ミリ秒マイクロ秒、ナノ秒まで取得してもよい。トピック送信部8トピック送信部8は、送信プロセスが送信するトピックのデータを実際に同一計算機クラスタを構成するネットワーク上に送信する役割を持つ。トピック送信部8はライブラリのデータ送信APIであることや、プロセスまたはスレッドであることが考えられる。トピック送信部8がプロセスまたはスレッドである場合のデータ送信方法としては、送信プロセスとの間でデータを相互アクセス可能な領域を作成し、送信プロセスがその領域にデータを配置し、トピック送信部8のプロセスまたはスレッドが転送する、という方法が考えられる。トピック受信部9トピック受信部9は、送信されたトピックのデータを受信する役割を持つ。トピック受信部9はライブラリの送信APIであることや、プロセスまたはスレッドであることが考えられる。トピック受信部9がプロセスまたはスレッドの場合のデータの受信方法としては、受信プロセスとの間でデータを相互アクセス可能な領域を作成し、トピック受信部9がその領域にデータを配置することにより、受信プロセスがデータを受信する、という方法が考えられる。図4は、トピック送信部8がプロセスまたはスレッド、トピック受信部9がプロセスまたはスレッドであった場合の送信プロセスとトピック送信部8との間でのデータの受け渡し方法、受信プロセスとトピック受信部9とのデータ受け渡しの一例を図示したものである。転送トピック通知部10転送トピック通知部10代表計算機間通知部は、自計算機が属する計算機クラスタ内のある計算機でトピック送信プロセスが起動した場合に、計算機クラスタを接続するネットワークに接続された全データ中継計算機5にトピックを送信するためのマルチキャストIPアドレス、ポート番号を決定し、1トピック名、2トピックを送信するマルチキャストIPアドレス、3ポート番号を他の転送トピック通知部10に通知する。また、その通知を他の転送トピック通知部10から受信した場合に、転送トピック管理部11を参照し、自計算機クラスタ内にそのトピックの購読を希望するプロセスが起動していた場合には、通知送信元の転送トピック通知部10に、自計算機クラスタ内にデータ購読プロセスが起動している旨を通知する。転送トピック管理部11転送トピック管理部11代表計算機間管理部は、1計算機クラスタのデータ中継計算機間で交換されるトピック名、2トピックを送受信するデータ中継計算機のIPアドレス、3トピックを送受信する際のIPマルチキャストアドレスおよびポート番号、4IPマルチキャストアドレス設定時刻など、を保持する。転送トピック管理部11は、例えば図5のようなテーブル11Tを有する。図5の例では、トピック1を192.168.1.5の計算機がIPマルチキャストアドレス239.192.1901.101、ポート8000にマルチキャスト送信し、中継計算機192.168.2.5、192.168.3.5が受信すること、そして、IPマルチキャストアドレスが設定された時刻が12時34分56秒と示されている。トピック転送部12トピック転送部12は、自計算機クラスタで送信されているトピックが、他の計算機クラスタが必要とする場合、そのトピックをトピック受信部から受け取り、その計算機クラスタのデータ中継計算機に送信する役割を持つ。転送トピック受信部13転送トピック受信部13は、他の計算機クラスタから送信されたトピックのデータを受信し、トピック送信部8に渡す役割を持つ。なお、転送トピック通知部10、転送トピック管理部11、トピック転送部12、転送トピック受信部13は、データ中継計算機のみが保持すればよい。トピックデータのフォーマット本実施の形態1における、トピックデータを格納するバッファのフォーマットの概要を図6に示す。図6のように、バッファをヘッダ部とボディ部にわけ、ヘッダ部にはトピック名、送信元のIPアドレスなどを含み、ボディ部に送信したいデータを格納する。以降、図6の、ヘッダ部とボディ部をあわせたものをデータと呼ぶ。図7~図14を参照して、本システムの動作の概要を説明する。この動作概要では、テーブル7T、テーブル11Tに、まだレコードが登録されていない、初期状態から、動作を開始するものとして説明する。図7は図1を簡略化した図である。説明の簡略化のため、計算機クラスタ3-1、3-2を対象として説明する。計算機クラスタ3-1において、計算機1-1-1の192.168.11は計算機のIPアドレスを示す。他の計算機についても同じである。送信プロセスの同一クラスタ内各計算機への伝搬図8は、計算機1-1-1においてトピック1の送信プロセスが起動した場合の、同一クラスタ内へ、トピック1の送信プロセス起動の情報が伝搬する様子を説明する図である。トピック1の送信プロセスが起動すると、計算機1-1-1上の出版購読計算機通知部6がトピック1の送信プロセス起動を検出し、プロセス起動検出時刻12時34分56秒とする。以下、12:34:56と表記するトピック送信処理起動時刻を取得する。出版購読計算機通知部6は、自計算機上の出版購読計算機管理部7を参照し、トピック1を送信するテーブル7Tのレコードが登録されているかどうかをチェックする。この例では初期状態であるので登録されていない。そこで、計算機1-1-1の出版購読計算機通知部6は、図8に出版購読計算機通知部6として示すように、IPマルチキャストアドレス、ポート番号を、それぞれ、239.68.1.1、30001と決定する。そして出版購読計算機通知部6は、図8に示すように、計算機1-1-1の出版購読計算機管理部7に、トピック1について、1トピック名;トピック1、2IPマルチキャストアドレス、ポート番号;239.168.1.1、30001、3アドレス登録時刻プロセス起動検出時刻;12:34:56、4送信計算機IPアドレス;計算機1-1-1のIPアドレス;のレコードを登録する。送信プロセスの起動した起動計算機である出版購読計算機通知部6は、情報が登録されたテーブル7Tの内容を、同一クラスタ3-1の他の計算機に通知する。なお、後述のように、出版購読計算機通知部6による同一クラスタ内の他の出版購読計算機通知部6への通知は、例えば、予め設定されたマルチキャストアドレス等を用いて行う。図8は、計算機1-1-3、1-1-5も同じ内容のテーブル7Tを有することを示している。送信プロセスの他のクラスタへの伝搬図9は、中継計算機1-1-5によって、計算機1-1-1から受信した送信プロセス起動の情報の内容が、他のクラスタこの例では計算機クラスタ3-2に伝搬する様子を示す図である。図9に示すように、中継系計算機1-1-5では、中継系計算機1-1-5の出版購読計算機通知部6が計算機1-1-1から送信プロセス起動の情報を受信し、この情報の内容を転送トピック通知部10に通知する。転送トピック管理部11は出版購読計算機通知部6から通知を受けると、テーブル11Tにレコードを登録する。この登録の際、中継系計算機1-1-5の転送トピック通知部10は、クラスタ間通信用のIPマルチキャストアドレス、ポート番号をそれぞれ239.169.1.1、30002と決定する。またテーブル11Tのアドレス登録時刻プロセス起動検出時刻は出版購読計算機通知部6からの通知内容を登録する。また、送信計算機IPアドレスの欄には、中継計算機1-1-5のIPアドレスを登録する。トピック1のデータを他のクラスタへ転送する際、クラスタ間通信において、中継計算機1-1-5が送信計算機になるからである。図9に示すように、中継計算機1-1-5の転送トピック通知部10は、他のクラスタの中継計算機に、登録したテーブル11Tの内容を通知する。なお、後述のように、転送トピック通知部10による他のクラスタの通知は、例えば、予め設定されたマルチキャストアドレス等を用いて行う。中継計算機間では、テーブル11Tの内容は同じである。これにより、図9に示すように、送信プロセスの起動情報が、他のクラスタの中継計算機に伝搬する。図9には、中継計算機1-2-5が中継計算機1-1-1と同じ内容のテーブル11Tを有することを示した。送信プロセスの他のクラスタの内部各計算機への伝搬図10は、そのクラスタの中継計算機が、他のクラスタの中継計算機から送信プロセスの起動情報を受信した場合に、中継計算機から同一クラスタ内の計算機に、送信プロセスの起動情報が伝搬する様子を示す。図10の上部は、中継計算機1-2-5の転送トピック通知部10が、中継計算機1-1-5の転送トピック通知部10から送信プロセスの起動情報を受信した場合に、転送トピック通知部10が受信内容を出版購読計算機通知部6に通知し、出版購読計算機通知部6が、中継計算機1-2-5のテーブル7Tに登録する様子を示している。すなわち中継計算機1-2-5の出版購読計算機通知部6は転送トピック通知部10から通知を受けると、計算機クラスタ3-2内でトピック1のデータを転送する際に使用するIPマルチキャストアドレス、ポート番号をそれぞれ240.169.1.1、30001と決定する。また、テーブル7Tの送信計算機には、自己の計算機IPアドレスを設定する。中継計算機1-2-5が計算機クラスタ3-2内でのトピック1のデータの送信元となるからである。中継計算機1-2-5のテーブル7Tの情報が、中継計算機1-2-5の出版購読計算機通知部6によって、同一クラスタ内の他の計算機の出版購読計算機通知部6に通知される。以上の動作によって、計算機クラスタ3-1の計算機1-1-1で起動した送信プロセスの起動情報が、他の計算機クラスタ3-2の各計算機に伝搬する。計算機クラスタ3-2以外の他の計算機クラスタについても同様である。受信プロセスの同一クラスタ内各計算機への伝搬図11は、計算機クラスタ3-2の計算機1-2-2でトピック1の購読を希望する受信プロセスが起動した場合を示す図である。計算機1-2-2で受信プロセスが起動すると、計算機1-2-2の出版購読計算機通知部6がこれを検知し、図11に示すように、出版購読計算機通知部6は、トピック名トピック1と、受信プロセスが起動した自己の計算機IPアドレスとを、同一クラスタ内にマルチキャストする。このマルチキャストは、予め設定された通知用のマルチキャストアドレスを用いる。同一クラスタ内の中継計算機1-2-5等の他の計算機では、出版購読計算機通知部6が、この通知を受信し、テーブル7Tの受信計算機の欄に、受信計算機である計算機1-2-2のIPアドレスを登録する。受信プロセスの他クラスタへの伝搬図12は、受信プロセスの他クラスタ他の中継計算機への伝搬を示す図である。中継計算機1-2-5の出版購読計算機通知部6は、受信プロセスの起動情報トピック名、受信計算機IPアドレスを受信すると転送トピック通知部10に通知する。転送トピック通知部10は、この通知を受けると、図12に示すように、テーブル11Tにおけるトピック1のレコードの受信計算機の欄に自己中継計算機1-2-5のIPアドレスを登録すると共に、他のクラスタの中継計算機の転送トピック通知部10に、トピック名トピック1と受信計算機のIPアドレス中継計算機1-2-5のIPアドレスを通知する。図12の下側に示すように、中継計算機1-1-5の転送トピック通知部10もトピック名トピック1と受信計算機のIPアドレス中継計算機1-2-5のIPアドレスの通知を受信し、テーブル11Tのトピック1の受信計算機欄に、中継計算機1-2-5のIPアドレスを登録する。受信プロセスの他のクラスタ内部各計算機への伝搬図13は、受信プロセスの他のクラスタ内部各計算機への伝搬を示す図である。中継計算機1-1-5の転送トピック通知部10は、通知された内容をテーブル11Tに登録すると、通知された内容を出版購読計算機通知部6に通知する。出版購読計算機通知部6は、この通知を受けると、テーブル7Tの受信計算機の欄に、中継計算機1-1-5のIPアドレスを登録する。そして中継計算機1-1-5の出版購読計算機通知部6は、トピック名トピック1と受信計算機IPアドレス中継計算機1-1-5のIPアドレスを、同一クラスタ内の計算機にマルチキャストする。図13の下側には、計算機1-1-1の出版購読計算機通知部6が、中継計算機1-1-5の出版購読計算機通知部6からの通知を受けて、テーブル7Tの受信計算機の欄に、中継計算機1-1-5のIPアドレスを登録した様子を示した。1図14は、トピック1のデータが配信される様子を示す。送信計算機である1-1-1のトピック送信部8は、テーブル7Tのトピック1のマルチキャストIPアドレス:ポート番号に向けて、トピック1のデータを送信する。中継計算機1-1-5のトピック受信部9は、トピック1のデータのデータを受信すると、自己のテーブル7Tを参照し、自身がトピック1の受信計算機であると判断し、トピック1のデータをトピック転送部12に渡す。トピック転送部12はトピック1のデータを受けると、テーブル11Tを参照し、トピック1のマルチキャストIPアドレス:ポート番号に向けて、トピック1のデータを送信する。2計算機ラスタ3-2の中継計算機1-2-5の転送トピック受信部13は、テーブル11Tから、自身の中継計算機が受信計算機と判断し、トピック1のデータを受信する。転送トピック受信部13は、受信したトピック1のデータをトピック送信部8に渡す。トピック送信部8は、テーブル7Tのトピック1のレコードに登録されているマルチキャストIPアドレス:ポート番号に向けて、トピック1のデータを送信する。3同一クラスタ内の受信計算機1-2-2のトピック受信部9は、テーブル11Tから自身の計算機が受信計算機であるので、トピック1のデータを受信する。次に、本実施の形態1の出版-購読型データ通信方式における、トピック出版プロセス、トピック購読プロセスが起動した際のシステム全体の動作概要の一例を、図15~図20を用いて説明する。図15を参照して、計算機1-1-1での出版プロセス起動から、出版プロセス起動通知がクラスタ3-1内の他の計算機に伝わるまでの動作を説明する。計算機クラスタ3-1に属する計算機1-1-1でトピック1を送信する送信プロセスが起動するものとする。計算機1-1-1上の出版購読計算機通知部6がトピック1を送信するプロセスが起動したことを検出しS3で出版プロセス、プロセス起動検出時刻を取得する。そして、計算機1-1-1の出版購読計算機通知部6は、自計算機上の出版購読計算機管理部7参照し、トピック1を送信するためのIPマルチキャストアドレス、ポート番号が登録されているかどうかを調べるS4。計算機1-1-1の出版購読計算機通知部6は、登録されていなければS4でNO、IPマルチキャストアドレス、ポート番号を決定し、IPマルチキャストアドレス、ポート番号、プロセス起動検出時刻、自計算機のIPアドレス、トピック名、自計算機のIPアドレス送信計算機アドレスを、自計算機上の出版購読計算機管理部7に登録するS5。登録済であればS4でYES、出版購読計算機通知部6は、プロセス起動検出時刻と、出版購読計算機管理部7に登録してある時刻を比較しS6、登録してある時刻のほうが新しければ、登録済のデータを削除し、IPマルチキャストアドレス、ポート番号を決定し、出版購読計算機管理部7に示されているIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻を変更するS7。そして、出版購読計算機通知部6は、トピック送信部8に、出版購買計算機管理部7に新規登録、あるいは更新登録したIPマルチキャストアドレス、ポート番号でデータを送信できるよう、通信ソケットの設定を行うS8。そして、出版購読計算機通知部6は、トピックを出版購買計算機管理部7に新規登録した場合、あるいは出版購買計算機管理部7に示されているトピックのIPマルチキャストアドレスを変更した場合は、トピックデータを送受信するためのIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻、出版プロセスが起動した計算機のIPアドレスを、同一計算機クラスタ内の全ての計算機の出版購読計算機通知部6に通知するS10。IPマルチキャストアドレスを変更しなかった場合は、出版購買計算機管理部7に、そのトピック名のレコードに自計算機のIPアドレスを登録するS9と共に、トピック名と、出版プロセスが起動した計算機のIPアドレスこの例では自己である計算機1-1-1のIPアドレスとを、同一計算機クラスタ内の全ての計算機の出版購読計算機通知部6に通知するS10。この場合の同一計算機クラスタ内全計算機への通知は、例えばIPマルチキャストまたはブロードキャストにより通知することが考えられる。IPマルチキャストする場合のIPマルチキャストアドレスおよびポート番号は予め与えられているものとする。他の計算機の出版出版プロセスが起動した計算機1-1-1-の出版購読計算機通知部6からの出版プロセス起動通知を受信した出版購読計算機通知部6は、1トピック1を送信する計算機のIPアドレス、2IPマルチキャストアドレス、3ポート番号に関する情報を受信すると、それぞれを出版購読計算機管理部7に登録するS16。出版購読計算機管理部7に登録されているIPマルチキャストアドレスの変更があり、自計算機上でトピック出版プロセスが動作している場合、前記受信した、IPマルチキャストアドレス、ポート番号でトピック1を送信できるよう、トピック送信部8に指示するS19。トピック送信部8は、トピックデータを送信できるよう、IPマルチキャストアドレス、ポート番号の設定変更などを行う。また、データ中継計算機1-1-5上の出版購読計算機通知部6の場合は、さらに、転送トピック通知部10に、計算機クラスタ内で送信されるトピック名、およびプロセス起動検出時刻を渡す。ここまでの動作を示した図が図15である。前提条件その2なお、本実施の形態1では、同一計算機クラスタ内では、同一トピックには同一のマルチキャストIPアドレス、同一ポート番号が割り振られることを特徴としている。同一トピックとは、トピック名が同一のトピック同士をいう。トピック名は、そのトピックの名称の他、広く、トピックを識別できる情報を含む。また、トピックとマルチキャストアドレスは対応させておらず、各トピック出版プロセス起動時に、そのプロセスが起動した計算機の出版購読計算機管理部7によって動的に決定することを特徴としている。そのため、すでに計算機クラスタ内の計算機で同一トピックを出版するプロセスが起動していた場合には、マルチキャストIPアドレスおよびポート番号がすでに決定しており、出版購読計算機管理部7に登録されている。そのため、遅れて新規に起動した送信プロセスのデータは、登録済のIPマルチキャストアドレスで送信することになる。次に、図16を参照して、購読プロセスが起動した場合を説明する。購読プロセス起動の計算機1-1-2計算機クラスタ3-1に属する計算機1-1-2でトピック1の購読を希望する購読プロセスが起動するとする。トピック1の購読プロセスが起動すると、計算機1-1-2上の出版購読計算機通知部6がその起動を検出し、同一計算機クラスタ3-1内の全計算機の出版購読計算機通知部6に、その起動を通知購読プロセス起動通知を通知する。購読プロセス起動通知は、トピック名と受信計算機のIPアドレスとを含む後述のS13クラスタ3-1内の他の計算機クラスタ3-1内の他の計算機の出版購読計算機通知部6は、購読プロセス起動通知を受信すると、1トピック名と、2受信計算機本例では計算機1-1-2のIPアドレスを、自計算機上の出版購読計算機管理部7に登録する。なお、すでに同一クラスタ内の計算機で同一トピックの出版プロセスまたは購読プロセスが起動しており、トピック名が登録されている場合には、出版購読計算機管理部7の、そのトピック名が登録されている行レコードの受信計算機IPアドレス欄に、通知を受けたIPアドレスを登録する。データ中継計算機1-1-5そして、計算機クラスタ3-1の中継計算機1-1-5上の出版購読計算機通知部6は、トピック1の購読プロセスの起動を、転送トピック通知部10に通知するS12。ここまでの動作を示した図が図16である。受信計算機1-1-2のトピック受信部9のソケット設定次に、図17を参照して、購読プロセスが起動した受信計算機1-1-2の動作を説明する。受信計算機1-1-2の出版購読計算機通知部6は、以下の処理を実行する。購読プロセスが起動した計算機1-1-2上の出版購読計算機管理部7に、送信プロセスの計算機識別子送信機IPアドレス、ポート番号、およびIPマルチキャストアドレスが登録された後、A自計算機にて同一トピックの受信プロセスが起動した場合S13、または、B自計算機1-1-2上にトピック1の受信プロセスが起動し、出版購読計算機管理部7に登録された後に他の計算機で同一トピックの送信プロセスが起動した場合、計算機1-1-2の出版購読計算機通知部6は、前述の方法でプロセス起動通知を受信し、指定されたIPマルチキャストアドレス、ポート番号でデータを受信受信プロセス起動できるよう、トピック受信部9に、ソケットの設定を指示する。計算機1-1-2のトピック受信部9はこの指示を受けると、出版購読計算機管理部7を参照してトピック1のデータ受信のためのソケットを作成する。すなわちトピック受信部9は、出版購読計算機管理部7に登録されたIPマルチキャストアドレスでデータを受信できるよう、ソケットの設定を行う。これにより受信プロセスは計算機1-1-2のトピック受信部9を経由して、トピック1に関するトピックデータ図6の受信が可能となる。本動作を示した図が図17である。また、本動作以降、計算機クラスタ3で起動した受信プロセスは、各計算機の出版購読計算機管理部7にマルチキャストIPアドレスが登録されているので、ソケットを作成し,出版購読計算機管理部7に指定されているマルチキャストアドレスをソケットに設定すればデータの受信が可能になる。次に、図18を参照して、データ中継計算機1-1-5の動作を説明する。図15の動作により、計算機クラスタ3-1の中継計算機5-1計算機1-1-5の出版購読計算機通知部6が、計算機クラスタ3-1内でトピック1を出版するプロセス起動通知を計算機1-1-1の出版購読計算機通知部6からプロセス起動通知を受信し、受信したプロセス起動通知を転送トピック通知部10に渡した後S12、転送トピック通知部10は、通知内容のトピック名と、そのトピックを他の計算機クラスタの中継計算機に送信するためのIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻が転送トピック管理部11に登録されているかどうかを調べる。登録されていれば、転送トピック管理部11に登録されている時刻と通知内の時刻を比較し、通知されたプロセス起動検出時刻のほうが古ければ、転送トピック管理部11のトピック1の行のIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻を計算機1-1-1からの通知の情報に変更する。通知されたプロセス起動検出時刻のほうが新しければそのままとする。そして、転送トピック通知部10は、計算機クラスタ間を接続しているネットワークネットワーク2-4に接続された全てのデータ中継計算機計算機1-2-5、計算機1-3-5の転送トピック通知部10に、トピック1を出版するプロセスが起動した旨、およびトピック名、トピックを送信するIPマルチキャストアドレス変更時のみ、ポート番号変更時のみ、プロセス起動検出時刻変更時のみ、および計算機1-1-5のIPアドレスを通知する。この場合も、全データ中継計算機への通知は例えばブロードキャストIPマルチキャストにより通知することが考えられ、IPマルチキャストする場合のIPマルチキャストアドレスおよびポート番号は予め与えられているものとする。データ中継計算機1-1-5からの出版プロセス起動の通知を受信した他のデータ中継計算機の転送トピック通知部10は、通知された情報トピック名、IPアドレス、IPマルチキャストアドレス変更時のみ、ポート番号変更時のみ、プロセス起動検出時刻変更時のみを、転送トピック管理部11に登録する。IPマルチキャストアドレスの変更時は、転送トピック管理部11の、同一トピック名が登録されている行の該当欄を変更する以上は出版プロセスの起動。転送トピック管理部11にトピック1の出版プロセスが登録された後にトピック1の購読プロセスがデータ中継計算機の出版購読計算機管理部7に登録されるか、トピック1の購読プロセスがデータ中継計算機の出版購読計算機管理部7に登録された後に、転送トピック管理部11にトピック1の出版プロセスが登録されると、転送トピック通知部10は、トピック1の出版プロセスが動作する計算機クラスタのデータ中継計算機の転送トピック通知部10に向けて、トピックの購読希望通知を送信する。図15以降、ここまでの動作を示した図が図18である。図19を参照して、転送トピック受信部13におけるソケット設定を説明する。同一計算機クラスタ内でトピック1の購読プロセスが動作する場合、データ中継計算機の転送トピック受信部13は、図16の動作により転送トピック管理部11に示されたIPマルチキャストアドレス、ポート番号でデータが受信できるよう、通信ソケットの設定を行う。この動作を示した図が図19である。他のクラスタからの出版プロセス起動通知の受信次に、図20を参照して中継計算機どうしの通信動作を説明する。中継計算機1-1-5上の転送トピック通知部10から出版プロセス起動通知を受信した中継計算機本例では計算機1-2-5,1-3-5の転送トピック通知部10は、トピック1の出版プロセスが起動した旨を同一クラスタ内の出版購読計算機通知部6に通知するよう出版購読計算機通知部6に指示する。指示を受けた中継計算機の出版購読計算機通知部6は、トピック1をマルチキャスト送信するためのIPマルチキャストアドレス、ポート番号を決定する。そして、指示を受けた中継計算機の出版購読計算機通知部6は、出版購読計算機管理部7を参照し、トピック1のIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻が登録されているかどうかを調べる。登録済であれば、指示を受けた中継計算機の出版購読計算機通知部6は、中継計算機1-1-5から受信したプロセス起動検出時刻と出版購読計算機管理部7に登録されているプロセス起動検出時刻を比較し、中継計算機1-1-5から受信したプロセス起動検出時刻が古ければ、中継計算機が決定したIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻、本通知の送信元IPアドレスを、出版購読計算機管理部7のトピック1の行の該当欄に登録し、これらの情報を同一計算機クラスタ内の全計算機の出版購読計算機通知部6に通知する。指示を受けた中継計算機の出版購読計算機通知部6は、プロセス起動検出時刻のほうが新しければ、トピック名、本通知の送信元IPアドレスのみを同一計算機クラスタ内全計算機の出版購読計算機通知部6に通知する。そして、トピック名、送信元IPアドレス、IPマルチキャストアドレス変更時のみ、ポート番号変更時のみの通知を受けた同一クラスタ内の他計算機の出版購読計算機通知部6は、出版購読計算機管理部7の該当欄の変更を行う。ここまでの動作を示した図が図20である。そして、出版購読計算機管理部7の、トピックを受信するためのIPマルチキャストアドレス、ポート番号を変更、または新規登録した場合、トピック受信部9は、自計算機上でトピック受信プロセスが動作していれば、指定されたポート番号でソケットを作成し新規のトピックの場合、トピック受信できるようIPマルチキャストアドレスを設定する。本動作は図17と同一である。次に、図21を参照してトピックの送信動作を説明する。図15~図20に示す動作により、計算機1-1-1のトピック送信部8がトピック1のデータを送信すると、このトピックデータは、計算機1-1-2のほか、他の計算機でもトピック1の購読を希望しているプロセスが存在するため計算機1-2-2、データ中継計算機である計算機1-1-5にも届く。計算機1-1-2および計算機1-1-5のトピック受信部9は、出版購読計算機管理部7を参照し、自計算機上にデータ受信プロセスが起動しているかどうかを調べ、起動していれば、そのデータ受信プロセスにデータを渡す。計算機1-1-5の出版購読計算機管理部7には転送トピック管理部11に自計算機の送信側計算機として登録されているので、トピック受信部9は、本トピックデータを転送すべきものと認識し、トピック転送部12にトピックを転送するよう指示する。計算機1-1-5上のトピック転送部12は、転送トピック管理部11を参照し、指定されるマルチキャストIPアドレスの指定されたポートにデータをマルチキャスト送信する。他の中継計算機1-2-5そして、トピック1の購読を希望するプロセス計算機1-2-2が動作する計算機クラスタ3-2のデータ中継計算機1-2-5は、トピック1のマルチキャストグループに参入しているため、計算機1-1-5が送信するトピック1のデータを受信することができる。そして、計算機1-1-5からのデータを受信した計算機1-2-5の転送トピック受信部13は、自ホストがそのトピックの受信計算機であることを、転送トピック管理部11を参照することにより確認し、トピック送信部8にデータを渡す。計算機1-2-5のトピック送信部8は、出版購読計算機管理部7に示されているマルチキャストIPアドレス、ポート番号にデータを送信する。計算機1-2-2計算機1-2-2は、データ中継計算機1-2-5上のトピック送信部8が設定したマルチキャストグループに参入しているため、データが届く。その後、計算機1-2-2のトピック受信部9がデータを受信し、アプリケーションに渡す。この動作を示したものが図21である。次に、本実施の形態1における出版購読計算機通知部6、トピック送信部8、トピック受信部9、転送トピック通知部10、トピック転送部12、転送トピック受信部13の個々の処理手順の一例を図22~図26を用いて説明する。図22は、本実施の形態1における出版購読計算機通知部6の動作手順を示したフローチャートである。ステップS1で、他計算機の出版購読計算機通知部6から送信プロセスまたは受信プロセス起動を検出するか、自計算機上の送信プロセスまたは受信プロセスの起動を検出すると、ステップS2に進み、ステップS2で、通知内容および通知の送信元を調査し、他の計算機の出版購読計算機通知部からの通知であれば、ステップS17へ進み、自計算機のプロセス起動検出であれば、ステップS3に進み、終了要求であれば、終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。ステップS3で、起動プロセスがトピック出版プロセスかトピック購読プロセスかを調査し、トピック出版プロセスであれば、ステップS4に、トピック購読プロセスであれば、S13に進む。自計算機で出版プロセスが起動した場合ステップS4で、起動したプロセスが出版するトピックのIPマルチキャストアドレスが出版購読計算機管理部7に登録済かどうかを調べ、登録されていなければステップS5へ、登録されていればステップS6に進み、ステップS5で、トピックを送信するIPマルチキャストアドレスおよびポート番号を決定し、これらの情報と自計算機のIPアドレス、プロセスの起動時刻を出版購読計算機管理部7に登録し、ステップS8に進む。ステップS6で、出版購読計算機管理部7に登録されているトピック出版プロセスのプロセス起動検出時刻と、自計算機上で起動したトピック出版プロセスの起動時刻を比較し、出版購読計算機管理部7に登録されている起動検出時刻T登録のほうが新しければ、ステップS7に進み、起動検出時刻T登録の方が古ければステップS9に進む。ステップS7で、出版購読計算機通知部6は、トピックを送信する際のマルチキャストIPアドレス、ポート番号を決定し、出版購読計算機管理部7の起動プロセスが出版するトピックが登録されている行レコードの、IPマルチキャストアドレスポート番号欄を、前記決定内容に変更し、プロセス起動検出時刻を、自計算機上で起動した出版プロセスの起動検出時刻に変更し、送信元計算機IPアドレス欄に、自計算機のIPアドレスを登録し、ステップS8に進む。このようにステップS7では、IPマルチキャストアドレス、ポート番号及び出版プロセスの起動検出時刻を更新する。ステップS8で、新規登録、あるいは更新登録したIPマルチキャストアドレスポート番号でトピックを送信するよう、自計算機のトピック送信部8に指示し、ステップS10に進む。ステップS9で、起動検出時刻T登録<起動検出時刻T通知であるので、自計算機のIPアドレスのみを出版購読計算機管理部7の起動プロセスが送信するトピック名の行の送信元計算機のIPアドレス欄に登録し、ステップS10に進む。ステップS10で、出版プロセスが起動した計算機この例では計算機1-1-1の出版購読計算機通知部6は、同一計算機クラスタの全計算機の出版購読計算機通知部6に、起動プロセスが出版するトピック名および自計算機の出版購読計算機管理部7で変更した内容、または新規に登録した内容を通知し、ステップS11に進む。ステップS11で、自計算機がデータ中継計算機5かどうかを調べ、データ中継計算機5の場合は、ステップS12に進み、そうでなければステップS1に戻る。ステップS12で、転送トピック通知部10に通知内容を渡し、転送トピック管理部11にトピック名、IPマルチキャストアドレスなどを登録するよう指示する。新規起動したトピック出版プロセスが出版するトピック名および、出版購読計算機管理部7に登録されているトピックの出版プロセスの起動時刻を通知し、ステップS1に戻る。自計算機で購読プロセスが起動した場合ステップS13で、同一計算機クラスタの全計算機の出版購読計算機通知部6に、起動プロセスが購読するトピック名、トピック購読プロセスの起動した計算機のIPアドレスを通知し、ステップS14に進み、ステップS14で、すでに、購読希望するトピックのIPマルチキャストアドレスが出版購読管理部7に登録されており、自計算機のIPアドレスが購読希望するトピックの受信計算機IPアドレス欄に登録されていなければ、ステップS15に進み、ステップS15で、IPマルチキャストアドレスでトピックデータを受信できるよう、トピック受信部9に指示し、ステップS20に進む。他計算機からの通知の場合ステップS17で、出版購読計算機通知部6は、通知内容を調査し、内容が出版プロセスの起動通知かどうかを判定する。起動の場合はS19に進み、起動でない場にはS18に進む。ステップS18で、出版購読計算機通知部6は受信内容を出版購読計算機管理部7に登録し、S11に進む。ステップS19で、通知トピックのIPマルチキャストアドレスが出版購読計算機管理部7に登録済かを判定する。登録済の場合、S20へ進み、登録済でない場合はS21bに進む。S21bでは、IPマルチキャストアドレス、ポート番号を決定し出版購読計算機管理部7に登録し、S22に進む。S20で、登録済のプロセス起動検出時刻と、通知されたプロセス起動検出時刻とを比較する。S20において、登録済時刻の方が大くない場合古いか、同一時刻はS21a進み、登録済時刻の方が大きい新しい場合は、S23に進み起動計算機のIPアドレスを出版購読計算機管理部7に登録する。ステップS21aで、IPマルチキャストアドレス、ポート番号などを変更し、起動計算機のIPアドレスと共に出版購読計算機管理部7に登録する。ステップS22で、自計算機でトピック出版プロセスが動作する場合に備えて、変更したIPマルチキャストアドレスでデータを送信するよう、トピック送信部8に設定変更を指示し、ステップS11に進む。ステップ24で、自計算機上でトピック受信プロセスが動作しているかどうかを調べ、動作していれば、ステップS21に進み、動作していなければ、ステップS11に進む。ステップS25で、トピック受信部9に、指定されたIPマルチキャストアドレスでトピックデータを受信できるよう、トピック受信部9に指示し、ステップS11に進む。ステップS1~S19の動作を、ステップS1で終了要求を受信するまで繰り返す。次に、トピック送信部8の動作手順の一例を、図23のフローチャートを用いて説明する。ステップS31でデータ受信を待ち、データを受信すると、ステップS32に進み、ステップS32で受信データの種別を調査し、終了要求であれば処理を終了し、トピック出版プロセスが送信したトピックデータであれば、ステップS33に進み、ステップS6、ステップS8、ステップS19の出版購読計算機通知部6からの指示であれば、ステップS34に進む。ここで、終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。ステップS33では、データを送信し、ステップS31に戻る。ステップS34では、出版購読計算機管理部7を参照し、IPマルチキャストアドレス、ポート番号を取得し、そのIPマルチキャストアドレス、ポート番号にデータを送信できるよう、ソケットの設定を行い、ステップS31に戻る。ステップS31~S34の処理を、ステップS31で終了要求を受信するまで繰り返す。次に、トピック受信部9の動作手順の一例を、図24のフローチャートを用いて説明する。ステップS41でデータ受信を待ち、データを受信すると、ステップS42に進み、ステップS42で、データの内容がトピックデータか、出版購読計算機通知部6または転送トピック通知部10からのマルチキャストIPアドレスおよびポート番号の設定要求か、終了要求かを調査し、トピック送信部8が送信したトピックのデータであれば、ステップS43に進み、マルチキャストIPアドレスおよびポート番号の設定要求であれば、ステップS46に進み、ステップS43で、出版購読計算機管理部7を参照し、自計算機が受信すべきトピックデータかどうかを調べ、自計算機が受信すべきトピックデータであればステップS44へ進み、自計算機が受信すべきトピックデータでなければ、ステップS45に進み、ステップS44で、受信プロセスにデータを渡し、ステップS45に進み、ステップS45で自計算機がデータ中継計算機であり、かつ、他の計算機クラスタに転送すべきデータかどうかを転送トピック管理部11を参照することにより調べ、転送すべきデータであれば、ステップS46に進み、ステップS46でトピック転送部12にデータを渡す。ステップS41~S46の処理を、ステップS41で終了要求を受信するまで繰り返す。次に、転送トピック通知部10の動作手順の一例を、図25のフローチャートを用いて説明する。ステップS51で、データ受信を待ち、データを受信するとステップS52に進み、ステップS52で、データの種別を調査し、自計算機の出版購読計算機管理部7がステップS12にて送信する通知であれば、ステップS53に進み、他のデータ中継計算機の転送トピック通知部10からのトピック購読希望通知または出版通知であれば、ステップS59に進み、終了要求であれば、処理を終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。ステップS53で、S12で送信した通知内容の、起動したプロセスの種別を調査し、起動したプロセスがトピック購読プロセスであれば、ステップS54に進み、トピック出版プロセスであれば、ステップS59に進み、ステップS54で、転送トピック管理部11の受信トピックの行の受信計算機IPアドレスに自ホストのIPアドレスを登録しトピック名が登録されていなければ、トピック名も登録、ステップS55に進み、ステップS55で、トピック購読プロセスが購読を希望するトピックおよびIPマルチキャストアドレス、ポート番号が転送トピック管理部11に登録されていればステップS56に進み、登録されていなければステップS51に戻る。ステップS56で、そのトピックの出版プロセスが動作する計算機クラスタの中継計算機の転送トピック通知部10に、トピック購読プロセスが起動した旨を通知し、ステップS57に進み、ステップS57で、転送トピック管理部11の該当するトピック行に示されているIPマルチキャストアドレス、ポート番号でトピックデータを受信できるよう、転送トピック受信部13に指示し、ステップS58で、自計算機の出版購読計算機通知部6に、自計算機上で該当トピックを出版する送信プロセスが起動した旨を通知し、ステップS51に戻る。ステップS59で、転送トピック管理部11を参照し、通知されたトピックのIPマルチキャストアドレスが登録されているかどうかを調べ、登録されていなければステップS62に進み、登録されていればステップS60に進む。ステップS60で、トピックのIPマルチキャストアドレスの登録時刻と、出版購読計算機管理部7から通知された時刻を調べ、出版購読計算機管理部7から通知された時刻のほうが古ければステップS、新しければステップS61へ進み、ステップS61で、該当トピックのIPマルチキャストアドレスポート番号欄はそのままとし、送信計算機IPアドレス欄に、自計算機のIPアドレスのみを登録し、ステップS64に進む。ステップS62で、転送トピック通知部10は、他の計算機クラスタへトピックデータを送信するためのIPマルチキャストアドレス、ポート番号を決定して、転送トピック管理部11に登録し、ステップS63に進み、ステップS63で、出版プロセスが配信するトピックを購読するプロセスのIPアドレスが登録済であれば、ステップS64に進み、ステップS64で、転送トピック管理部11に示されたIPマルチキャストアドレス、ポート番号にてトピックを送信するよう、トピック転送部12に指示し、ステップS65に進み、ステップS65で、計算機クラスタを接続するネットワーク上に接続されたデータ中継計算機の転送トピック通知部10に、ステップS61、ステップS62で転送トピック管理部11に登録した内容を通知し、ステップS51に戻る。ステップS66において、出版プロセスの起動通知かどうかを判定する。出版プロセスの起動通知ではない場合、ステップS67に進み通知内容を転送する共に、転送トピック管理部11に登録し、S68に進む。ステップS68で自身の所属するクラスタに出版プロセスが起動済かを判定し、済の場合にはステップS64に進み、起動していない場合にはステップS51に戻る。ステップS66でYESの場合にはステップS69に進む。ステップS69では、IPマルチキャストアドレスが登録済かどうかを判定する。登録済でない場合にはステップS75に進み、IPマルチキャストアドレスなどを転送トピック管理部に登録しステップS71に進む。ステップS69で登録済の場合にはS70に進み、S70においてIPマルチキャストアドレスの登録時刻と、出版プロセスの起動通知の通知された時刻とを比較する。登録時刻の方が小さくない場合登録時刻の方が古い小さいか、同一時刻の場合にはステップS75に進む。ステップS75において、通知されたIPマルチキャストアドレスなどを転送トピック管理部に登録する。登録時刻の方が大きい場合にはステップS71に進む。ステップS70で、通知された時刻の方が小さい場合は、ステップS71に進む。ステップSS71で、転送トピック管理部11を参照し、自計算機が同一トピックの購読プロセスが動作する計算機として登録されていればステップS72に進み、登録されていなければステップS51に戻る。ステップS72で、トピック出版プロセスが動作した計算機に、購読プロセスが起動している旨および自ホストのIPアドレスを通知し、ステップS73に進み、ステップ73で、転送トピック受信部13に、指定されたIPマルチキャストアドレス、ポート番号でデータを受信するよう設定を指示し、ステップS74に進み、ステップS74では、自計算機の出版購読計算機通知部6に、自計算機上で該当トピックを出版する送信プロセスが起動した旨を通知し、ステップS51に戻る。ステップS51~S74の動作を、ステップS51で終了要求を受信するまで繰り返す。次に、トピック転送部12の動作手順の一例を、図26のフローチャートを用いて説明する。ステップS81で、外部からのイベントの受信を待ち、イベントを受信するとステップS73に進み、ステップS82でイベントの種別を調査する。イベントの種別がトピックデータの受信であれば、ステップS83に進み、転送トピック管理部11からの通知であれば、ステップS85に進み、終了要求であれば、処理を終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。ステップ83で、データのトピック名が転送トピック管理部11に登録されていることを確認し、登録されていれば、ステップS84で、転送トピック管理部11のトピックが登録されている行のIPマルチキャストアドレス、ポート番号にデータを送信する。登録されていなければ、エラーとしてステップS81に戻る。ステップS85では、転送トピック通知部10から届くIPマルチキャストアドレス、ポート番号を通信ソケットに設定し、ステップS81に戻る。ステップS81~85の処理を、ステップS81で終了要求を受信するまで繰り返す。次に、転送トピック受信部13の処理手順の一例を、図27のフローチャートを用いて説明する。ステップS91で、イベントの受信を待ち、イベントを受信するとステップS82に進み、ステップS92で、イベントの種別がトピックデータの受信であれば、ステップS93に進み、トピック転送部12からのメッセージ通知であれば、ステップS95へ、終了要求であれば処理を終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。ステップS93で、データのトピック名が転送トピック管理部11に登録されており、自ホストが受信ホストとして登録されていることを確認し、登録されていれば、ステップS94に進み、登録されていなければ、ステップS91に戻る。ステップS94で、データをトピック受信部に渡し、ステップS91に戻る。ステップS95で、指定されたIPマルチキャストアドレスでデータを受信できるよう、ソケットの設定の変更を行い、ステップS91に戻る。以上のように、本実施の形態1では、転送データ管理部が、それぞれの計算機クラスタ上で出版されているトピックを交換し、異なる計算機クラスタの計算機でトピック購読希望があった場合には、トピック転送部12を経由してデータを届けることにより、プロセスは、計算機クラスタの違いを意識することなく、異なる計算機クラスタ間での出版-購読形式でのデータ通信が可能となる。また、本実施の形態1では、データ中継計算機は、データ中継計算機が属する計算機クラスタ内において、トピックの受信希望があった場合にのみIPマルチキャストグループに参入することから、常にデータを受信する場合と比べて、データ中継計算機の負荷が軽減できる。また、本実施の形態1では、同一のトピックを送信する、複数のデータ出版プロセスが異なる計算機で起動した場合において、最も早く起動したプロセスのIPマルチキャストアドレスを採用することから、事前にトピックとIPマルチキャストアドレスの対応を決定しておかなくともトピックとIPマルチキャストアドレスの対応が動的に一意に決定する。実施の形態2.以上の実施の形態1は、ある計算機クラスタで、他の計算機クラスタ上で送信されるトピックデータの購読を希望する場合のデータ送信方法として、データ出版プロセスが動作する計算機クラスタのデータ中継計算機がそのトピックを受信するためのIPマルチキャストグループに参入してトピックデータを受信し、そのデータ中継計算機が、データ購読プロセスが動作する計算機クラスタのデータ中継計算機にデータを送信し、データ購読プロセスが動作する計算機をIPマルチキャストグループに参入させ、データ購読プロセスが動作する計算機クラスタのデータ中継計算機がそのIPマルチキャストグループにデータを送信する方法について述べた。実施の形態1では、それぞれの計算機クラスタのデータ中継計算機が、他の計算機クラスタからのトピックデータを送受信する際にのみIPマルチキャストグループに参入することにより、全てのデータを受信し必要に応じて転送する場合と比べて計算機の負荷を軽減できる点を特徴としている。実施の形態2では、これまでトピックを購読していたプロセスまたはトピックを配信していたプロセスが停止するなどにより、データ中継計算機が、配信または購読していたトピックのIPマルチキャストグループに属する必要がなくなった場合の処理について述べるものである。実施の形態2における出版―購読型データ通信方式の構成は、実施の形態1と同一であり、説明を省略する。本実施の形態2における、出版購読計算機通知部6、送信トピック通知部10について説明する。出版購読計算機管理部7、トピック送信部8、トピック受信部9、転送トピック管理部11、トピック転送部12、転送トピック受信部13の機能については実施の形態1と同一であるため説明を省略する。出版購読計算機通知部6は、計算機でトピックを出版、購読するプロセスが停止するか、または、出版、購読を停止した場合に、そのトピック名などの情報を同一計算機クラスタ内の全計算機に通知するとともに、その通知を受信し、出版購読計算機管理部7の情報を更新する役割を持つ。送信トピック通知部10は、自計算機クラスタ内でトピックを配信するプロセスが停止したか、または、そのプロセスのトピック配信を停止した場合に、計算機クラスタを接続するネットワークに接続された全データ中継計算機に、トピック名を通知するとともに、その通知を受信し、転送トピック管理部11の情報を更新する役割を持つ。次に、本実施の形態2における出版―購読型データ通信方式を適用した場合において、トピック出版プロセス、トピック購読プロセスが起動し、実施の形態1の方法により通信を開始したあと、停止した場合のシステム全体の動作概要の一例を図1のシステム構成を用いて、図28~図31を用いて説明する。図28を参照して説明する。計算機クラスタ3-1に属する計算機1-1-1上でトピック1を送信するプロセスが起動後、停止するか、または、トピック1の配送を停止すると、計算機1-1-1の出版購読計算機通知部6が、トピック1の配送停止を検出し、計算機クラスタ内全ての出版購読計算機通知部6にトピック名およびトピックの出版を停止する旨を通知する。また、トピック送信部8に、ソケットをクローズするよう指示し、トピック送信部8はソケットをクローズする。各計算機上の出版購読計算機通知部6は、トピック1の出版停止通知を受信すると、出版購読計算機管理部7中、出版を停止したトピックの送信計算機IPアドレス欄から、IPマルチキャストアドレス、ポート番号、およびその計算機のIPアドレスを削除する。また、データ中継計算機上の出版購読計算機通知部6は、受信した通知内容を転送トピック通知部10に渡す。ここまでの動作を示した図が図28である。図29を参照して説明する。また、計算機クラスタ3-1に属する計算機1-1-2で、トピック1の購読を希望するプロセスが停止した場合、または、プロセスがトピック1の購読を停止すると、計算機1-1-2の出版購読計算機通知部6はトピック1の購読停止を検出し、計算機クラスタ3-1内全ての出版購読計算機通知部6にトピック名および購読を停止する旨を通知し、トピック受信部9に、ソケットクローズするよう指示する。指示を受けたトピック受信部9は、ソケットをクローズする。各計算機上の出版購読計算機通知部6は、トピック1の購読停止通知を受信すると、出版購読計算機管理部7中、購読を停止したトピックの受信計算機IPアドレス欄から、その計算機のIPアドレスを削除する。そのトピックの購読を希望するプロセスがなくなった場合、データ中継計算機の出版購読計算機通知部6は、通知内容を転送トピック通知部10に渡す。ここまでの動作を示した図が図29である。図30を参照して説明する。図28の動作の後、転送トピック通知部10は、転送トピック管理部11中、配信を停止したトピック名の行の、送信計算機IPアドレスのエントリ中、計算機1-1-5のIPアドレスを削除する。そして、計算機クラスタ間を接続しているネットワークネットワーク2-4に接続された全てのデータ中継計算機計算機1-2-5、計算機1-3-5の転送トピック通知部10に、トピック1の出版を停止した旨を通知する。この場合も、全データ中継計算機への通知は例えばブロードキャストIPマルチキャストアドレスにより通知することが考えられ、IPマルチキャストアドレスを使用する場合のIPマルチキャストアドレスおよびポート番号は予め決められているものとする。データ中継計算機1-1-5からの通知を受信した他のデータ中継計算機の転送トピック通知部10は、転送トピック管理部11中、配信を停止したトピックの行の送信計算機の欄において、計算機1-1-5のIPアドレスを削除する。計算機1-1-5のIPアドレスを削除することによりそのトピックを送信する中継計算機が1台もなくなった場合、転送トピック通知部10は、転送トピック受信部13に、マルチキャストグループから離脱するよう指示し、転送トピック受信部13はそのトピックを受信するために使用していたソケットをクローズする。ここまでの動作を示した図が図30である。図31を参照して説明する。図29の動作により、計算機クラスタ3-1内にトピック1を購読する計算機がなくなった場合、転送トピック通知部10は、転送トピック管理部11の、購読を停止したトピック名の行の、受信計算機のIPアドレス欄から自計算機のIPアドレスを削除する。そして、転送トピック管理部11の送信計算機欄に他の計算機クラスタのデータ中継計算機があれば、その計算機の転送トピック通知部10に、トピック1の購読停止を通知する。この場合も、データ中継計算機への通知は例えばブロードキャストまたはIPマルチキャストアドレスにより通知することが考えられ、IPマルチキャストアドレスを使用する場合のIPマルチキャストアドレスおよびポート番号は予め決められているものとする。データ中継計算機1-1-5からのトピック購読停止通知を受信した他のデータ中継計算機の転送トピック通知部10は、転送トピック管理部11中、購読を停止したトピック欄の、受信計算機IPアドレス欄から、計算機1-1-5のIPアドレスを削除する。ここまでの動作を示した図が図31である。次に、本実施の形態2における出版購読計算機管理部7、トピック送信部8、トピック受信部9、転送トピック管理部11、トピック転送部12、転送トピック受信部13の動作の一例を説明する。図32は、本実施の形態2における出版購読計算機管理部7の動作の一例を示したフローチャートである。ステップS101において、他計算機の出版購読計算機通知部6から送信プロセスまたは受信プロセス停止通知を受信するか、自計算機上の送信プロセスまたは受信プロセスの停止を検出するか、または停止要求を受信すると、ステップS102に進み、ステップS102で、通知内容および通知の送信元を調査し、他の計算機の出版購読計算機通知部6からの通知であればステップS112へ進み、自計算機のプロセス停止通知または出版購読の変更通知であれば、ステップS103に進み、終了要求であれば終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。ステップS103で、トピック出版プロセスの出版停止停止を含むかトピック購読プロセスの購読停止停止を含むかを調査し、出版停止であればステップS104に、購読停止であればステップS109に進み、ステップS104で、自計算機上の出版購読計算機管理部7の、出版停止したトピックの行の送信計算機IPアドレス欄から自計算機のIPアドレスを削除し、ステップS105に進み、ステップS105で、同一計算機クラスタ内の全計算機にトピック名およびIPアドレスを通知し、ステップS106に進み、ステップS106で、自計算機上のトピック送信部8にそのトピックを送信するIPマルチキャストアドレスのソケットをクローズするよう指示し、ステップS107に進み、ステップS107で、自計算機がデータ中継計算機かどうかを調べ、データ中継計算機であればステップS108に進み、そうでなければステップS101に戻り、ステップS108で、転送トピック通知部10に、出版または購読停止したトピック名を通知し、ステップS101に戻る。ステップS109において、自計算機上の出版購読計算機管理部7の、購読停止したトピックの行の受信計算機IPアドレス欄から、自計算機のIPアドレスを削除し、ステップS110にて、同一計算機クラスタ内他の計算機の出版購読計算機通知部6に、トピック1の受信プロセスの購読停止を通知する。ステップS111にて、自計算機上に、同一トピックの購読を希望するプロセスがあるかどうかを調べ、なければ、トピック受信部9に、ソケットをクローズするよう指示する。そして、ステップS107に進む。ステップS101で受信した通知が、他の計算機の出版購読計算機通知部6からの通知であった場合、ステップS112で、出版購読計算機管理部7の、出版購読停止したトピックの行の、送信計算機のIPアドレス欄または、購読計算機のIPアドレスの欄から、出版または購読停止した計算機のIPアドレスを削除し、ステップS113に進み、ステップS113で通知内容が配信停止か購読停止かを調べ、配信停止であった場合、ステップS114に進み、購読停止であった場合、ステップS107に進む。ステップS114で、そのトピックを送信するプロセスが他にあるかどうかを調べ、他になければステップS115に進み、なければステップS107に進み、ステップS115で、トピック受信部9に、そのトピックを受信するためのソケットをクローズするよう指示し、ステップS107に進む。ステップS101~S115の動作を、ステップS101で終了要求を受信するまで繰り返す。次に、本実施の形態2におけるトピック送信部8の動作の一例を図33のフローチャートで示す。ステップS121でデータの受信を待ち、データを受信するとステップS122に進み、データの内容が終了要求であれば処理を終了し、ステップS122で通知内容を調査し、出版購読計算機管理部7からのソケットクローズ指示であれば、ステップS123に進み、ステップS123でソケットをクローズする。ステップS121~S123を、終了要求があるまで繰り返す。次に、トピック受信部9の動作の一例を図34のフローチャートで説明する。ステップS131でデータ受信を待ち、データを受信するとステップS132に進み、ステップS132で、受信したデータの内容を調べ、ソケットクローズ指示であれば、ステップS133に進み、終了要求であれば、終了する。ステップS133でソケットをクローズする。ステップS131~S133を、ステップS131で終了要求を受信するまで繰り返す。次に、転送トピック通知部10の動作の一例を、図35のフローチャートで説明する。ステップS141で、イベント受信を待ち、イベントを受信すると、ステップS142に進み、ステップS142でイベントの送信元を調査し、自計算機からの通知であれば、ステップS143に、他計算機からの通知であれば、ステップS150に進み、終了要求であれば終了する。ステップS143で、通知内容がトピック購読プロセスの購読停止か、トピック配信プロセスの配信停止かを調べ、トピック配信プロセスの配信停止であれば、ステップS144に進み、トピック購読プロセスの購読停止であれば、ステップS146に進む。ステップS144で、そのトピックが転送トピック管理部11に登録されており、通知されたトピックと同一トピックを配信するプロセスが同一計算機クラスタ内にあるかどうかを調べ、あればステップS141に戻り、なければ、ステップS145に進み、ステップS145で、出版購読計算機通知部6にトピック受信部9のソケットをクローズするよう指示し、ステップS146に進み、ステップS146で、トピック転送部12に対してソケットクローズするよう指示し、ステップS141に戻る。ステップS147で、そのトピックが転送トピック管理部11に登録されており、計算機クラスタ内に、同一トピックを受信するプロセスがあるかどうかを調べ、なければ、ステップS148に進み、あればステップS141に戻る。ステップS148で、転送トピック受信部13に、そのトピックを受信するためのソケットをクローズするよう指示し、ステップS149に進み、ステップS149で、出版購読計算機通知部6に、トピック送信部8のそのトピックを転送するためのIPマルチキャスト通信を行うためのソケットをクローズするよう指示し、ステップS141に戻る。ステップS150で、通知内容がトピック配信停止か、トピック購読停止かを調べ、トピック配信停止であれば、ステップS151へ、トピック購読停止であればステップS154へ進み、ステップS151で、転送トピック管理部11を参照し、他の計算機クラスタで、同一トピックを配信する計算機があるかどうかを調べ、同一トピックを配信する計算機が他にあれば、ステップS141に戻り、なければ、ステップS152に進み、ステップS152で、転送トピック受信部13に、そのトピックを受信するためのソケットをクローズするよう指示し、ステップS153に進み、ステップS153で、出版購読計算機通知部6に、トピック送信部8の、そのトピックを計算機クラスタ内に転送するためのソケットをクローズするよう指示し、ステップS141に戻る。ステップS154で、転送トピック管理部11を参照し、他の計算機クラスタで、そのトピックの購読を希望するプロセスがあるかどうかを調べ、あれば、ステップS141に戻り、なければ、ステップS155に進み、ステップS155で、トピック転送部12に、そのトピックを他の計算機クラスタに転送するためのソケットをクローズするよう指示し、ステップS156に進み、ステップS156で、出版購読計算機通知部6に、トピック受信部9の、そのトピックを計算機クラスタ内で受信するためのソケットをクローズするよう指示し、ステップS141に戻る。ステップS141~S156を、ステップS141で停止要求を受信するまで繰り返す。次に、トピック転送部12の動作の一例を、図36のフローチャートで説明する。ステップS161で、イベント通知を待ち、イベントを受信するとステップS162に進み、ステップS162で、イベントの種別を調べ、転送トピック通知部10からの通知であればステップS163に進み、終了要求であれば、終了する。ステップS163で、ソケットをクローズする。ステップS161~S163を、ステップS163で終了要求を受信するまで繰り返す。次に、転送トピック受信部13の動作の一例を、図37のフローチャートで説明する。ステップS171で、イベント通知を待ち、イベントを受信するとステップS162に進み、ステップS172で、イベントの種別を調べ、転送トピック通知部10からの通知であればステップS173に進み、終了要求であれば、終了する。ステップS173で、ソケットをクローズする。ステップS171~S173を、ステップS163で終了要求を受信するまで繰り返す。このように、本実施の形態2では、計算機クラスタ間でトピックデータを交換している状態において、ある計算機クラスタ上でプロセスがトピックの出版、購読を停止した場合に、不要となったソケットをクローズすることにより、OSのリソースを有功活用することが可能となる。実施の形態3.図38、図39を参照して実施の形態3を説明する。実施の形態3は、コンピュータである計算機1-1-1、あるいは中継計算機1-1-5等のハードウェア構成を説明する。図38は、計算機1-1-1等の外観の一例を示す図である。図39、計算機1-1-1等のハードウェア資源の一例を示す図である。外観を示す図38おいて、計算機は、システムユニット830、CRTCathodeRayTubeやLCD液晶の表示画面を有する表示装置813、キーボード814KeyBoard:K/B、マウス815、コンパクトディスク装置818CDD:CompactDiskDriveなどのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワークに接続している。またハードウェア資源を示す図39において、計算機は、プログラムを実行するCPU810CentralProcessingUnitを備えている。CPU810は、バス825を介してROMReadOnlyMemory811、RAMRandomAccessMemory812、表示装置813、キーボード814、マウス815、通信ボード816、CDD818、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。RAM812は、揮発性メモリの一例である。ROM811、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813などは、出力部、出力装置の一例である。通信ボード816は、ネットワークに接続されている。磁気ディスク装置820には、オペレーティングシステム821OS、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。上記プログラム群823には、以上の実施の形態の説明において~部として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。ファイル群824には、以上の実施の形態の説明において、~の判定結果、~の算出結果、~の抽出結果、~の生成結果、~の処理結果として説明した情報や、データや信号値や変数値やパラメータなどが、~ファイルや~データベースの各項目として記憶されている。~ファイルや~データベースは、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出検索参照比較演算計算処理出力印刷表示などのCPUの動作に用いられる。抽出検索参照比較演算計算処理出力印刷表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。また、以上に述べた実施の形態の説明において、データや信号値は、RAM812のメモリ、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVDDigitalVersatileDisk等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。また、以上の実施の形態の説明において、~部として説明したものは、~手段、であってもよく、また、~ステップ、~手順、~処理であってもよい。すなわち、~部として説明したものは、ソフトウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上に述べた~部としてコンピュータを機能させるものである。あるいは、以上に述べた~部の手順や方法を計算機コンピュータに実行させるものである。以上の実施の形態では、以下の分散計算機システムを説明した。計算機をネットワーク接続することにより構成された計算機クラスタが複数存在し、計算機クラスタ内にある、複数のネットワークインタフェースカードを持つ計算機が、他の計算機クラスタの複数のネットワークインタフェースカードを持つ計算機とネットワーク接続することにより、各計算機クラスタ同士を接続することによって構成された分散計算機システムにおいて、以下の構成要素を持ち、計算機クラスタを接続するネットワークに接続された計算機に高い負荷をかけることなく、異なる計算機クラスタ間での出版-購読型データ通信を実現することを特徴とする出版-購読型データ通信方式。以下の機能を持つ出版購読計算機通知部自計算機上でトピックを送信または受信するプロセスが起動した場合に、自計算機クラスタ内の全ての計算機に通知する。他計算機の出版購読計算機通知部からのプロセス起動通知を受信し、自計算機上でデータの送信または受信を希望するプロセスが動作している場合に、トピック送信部またはトピック受信部に対して、自計算機クラスタ内の他の計算機との間でデータを送受信するための処理を行うよう指示する。出版購読計算機通知部の動作する計算機が自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合において、同一クラスタ内計算機の出版購読計算機通知部からの送信またはプロセス起動通知を受信した場合、起動した受信プロセスの受信トピック名または送信プロセスの送信トピック名を、他の計算機クラスタの、計算機クラスタを接続するネットワークに接続された計算機に送信するよう、転送トピック通知部に指示する。出版購読計算機通知部の動作する計算機が計算機クラスタを接続するネットワークに接続された計算機である場合において、自計算機クラスタ内に、他の計算機クラスタで送信されるトピックの受信を希望する送信プロセスが動作している場合に、転送トピック受信部が受信するデータを自計算機クラスタ内に配信するようトピック送信部に指示する。出版購読計算機通知部の動作する計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、他計算機クラスタ内に、自計算機クラスタで送信されるトピックの受信を希望するプロセスが動作している場合に、トピックをトピック転送部から他の計算機クラスタに送信できるよう、トピック受信部に、同一計算機クラスタ内で送信されているトピックを受信するよう指示する。計算機クラスタを接続するネットワークに接続された計算機に存在し、以下の機能を持つ転送トピック通知部自計算機クラスタ内で送信または受信しているトピック名を他の転送トピック通知部に送信し、他の計算機クラスタで送信または受信しているトピック名を他の転送トピック通知部からを受信する。他計算機クラスタ内で送信されているトピックを、自計算機クラスタ内プロセスが受信を希望する場合に、転送トピック受信部に、そのトピックを受信するよう指示する。自計算機クラスタ内で送信されているトピックを、他の計算機クラスタ内プロセスが受信希望する場合に、トピック転送部にトピックを転送するよう指示する。計算機クラスタを接続するネットワークに接続された計算機に存在し、自計算機クラスタ内で送信されているデータを、他の計算機クラスタで動作するプロセスが必要とする場合に、他の計算機クラスタに向けてトピックを転送するトピック転送部計算機クラスタを接続するネットワークに接続された計算機に存在し、他の計算機クラスタで送信されているトピックを自計算機クラスタ内のプロセスが必要とする場合に、トピック転送部から送信されたデータを受信する転送トピック受信部自クラスタ内計算機のトピック送信部より送信されたトピックを受信するトピック受信部自クラスタ内計算機のトピック受信部にデータを送信するトピック送信部上記の構成において、各構成要素に以下の機能を付与することにより、トピック送受信を停止した場合のシステムリソースの浪費を軽減することを特徴とする出版-購読型データ通信方式出版購読計算機通知部は上記の機能に加え、以下の機能を持つ。自計算機クラスタ内にて、プロセスがトピックの送信または受信を停止した場合に、自計算機クラスタ内の全ての計算機の出版購読計算機通知部に通知する。他計算機の出版購読計算機通知部が送信した、トピックの送信停止または受信停止の通知を受信し、自計算機上でトピックの送信または受信を希望するプロセスが動作している場合に、トピック送信部またはトピック受信部に対して、トピック送信または受信のために使用していたリソースを解放するための処理を行うよう指示する。自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、自計算機クラスタで、トピックの送信停止または受信停止の通知を受信した場合、他の計算機クラスタとの間でのトピック送信または受信を停止するための処理を行うよう転送トピック通知部に指示する。自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、自計算機クラスタ内にて、他の計算機クラスタで送信されるトピックの受信を希望するプロセスが動作し、その後、受信停止した場合に、転送トピック受信部が受信するデータの自計算機クラスタ内への配信を停止するよう、トピック送信部に指示する。自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、他計算機クラスタ内に、自計算機クラスタでデータ送信されるデータの受信を希望するプロセスが動作後、自計算機クラスタ上の送信プロセスが送信を停止した場合に、トピック受信部に、データ受信のために使用していたリソースを解放するための処理を行うよう指示する。転送トピック通知部は上記の機能に加え、以下の機能を持つ他の計算機クラスタ内で、プロセスが送受信停止した場合、そのプロセスが送受信していたトピック名などに関する情報を他の転送トピック通知部との間で交換する。他計算機クラスタ内で送信されているデータを自計算機クラスタ内プロセスが受信しており、その後、他クラスタからのプロセスがデータ送信を停止したか、自クラスタのプロセスがデータ受信を停止した場合に、転送トピック受信部に、そのプロセスが送信または受信していたトピックの受信を停止し、OSリソースを解放するよう指示する。自計算機クラスタ内で送信されているデータを、他の計算機クラスタ内プロセスが受信している状態において、その後、自クラスタ内でプロセスの送信が停止した場合、または他計算機クラスタでプロセスの受信が停止した場合に、トピック転送部に対し、データ転送を停止し、OSリソースを解放するよう指示する。トピック転送部は上記の機能に加え、転送トピック通知部からの指示で、データ転送を停止し、OSリソースを解放する。転送トピック受信部は上記の機能に加え、転送トピック通知部からの指示で、データ受信を停止し、OSリソースを解放する。トピック受信部は上記の機能に加え、出版購読計算機通知部からの指示で、データ受信を停止し、OSリソースを解放する。トピック送信部は上記の機能に加え、出版購読計算機通知部からの指示で、データ送信を停止し、OSリソースを解放する。"