(57)【要約】【課題】一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置のクラスタ化にあたり、クラスタシステム全体の処理速度を向上させる。【解決手段】プロセスの実行状態を実行制御情報とプロセス状態情報とに分け、実行制御情報は各プロセス実行装置０１０１，０１１１毎に保持し、プロセス状態情報はプロセス実行装置０１０１，０１１１間で共有し、メッセージ受信をプロセス状態情報の操作で行うことで、プロセスの連続実行を特定の処理ノード上で高速に行いながら、同時に任意の処理ノードでの特定プロセス向けのメッセージ受信を可能にする。【選択図】  図１
2004334723.tif 000002
【特許請求の範囲】
【請求項１】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、他のプロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とするプロセス実行装置。
【請求項２】
プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする請求項１記載のプロセス実行装置。
【請求項３】
複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を１つ決定し前記プロセスの実行状態を保存することを特徴とする請求項２記載のプロセス実行装置。
【請求項４】
他のプロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする請求項１記載のプロセス実行装置。
【請求項５】
他のプロセス実行装置から出されたプロセスの実行制御情報変更要求に応じて、前記プロセスの実行制御情報を変更することを特徴とする請求項１記載のプロセス実行装置。
【請求項６】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とするプロセス実行装置。
【請求項７】
通信メッセージを受信し該通信メッセージに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする請求項６記載のプロセス実行装置。
【請求項８】
前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする請求項６記載のプロセス実行装置。
【請求項９】
前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする請求項６記載のプロセス実行装置。
【請求項１０】
前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする請求項６記載のプロセス実行装置。
【請求項１１】
前記共有情報アクセス手段が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする請求項６記載のプロセス実行装置。
【請求項１２】
前記共有情報アクセス手段が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする請求項１０記載のプロセス実行装置。
【請求項１３】
前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする請求項９記載のプロセス実行装置。
【請求項１４】
前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段が持つ操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段が管理するプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする請求項８記載のプロセス実行装置。
【請求項１５】
前記ノード固有情報管理手段が、情報を２次記憶装置上に保存することを特徴とする請求項６記載のプロセス実行装置。
【請求項１６】
前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置の前記プロセス操作手段に通信機構を介して操作要求を転送することを特徴とする請求項６記載のプロセス実行装置。
【請求項１７】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置のプロセス実行管理方法であって、プロセスの実行制御情報はプロセス実行装置内で管理し、プロセス状態情報はプロセス実行装置外の情報共有装置で管理し、前記情報共有装置上のプロセス状態情報を使用する時はプロセスの排他制御を行い、プロセスの連続的な実行はプロセスの実行制御情報およびプロセス状態情報を用いて行い、プロセスの操作はプロセス状態情報のみを用いて行うことを特徴とするプロセス実行管理方法。
【請求項１８】
プロセス宛の通信メッセージの受信時に受信プロセスの操作を行うことを特徴とする請求項１７記載のプロセス実行管理方法。
【請求項１９】
複数の情報共有装置を利用し、各々のプロセスに対して一意に使用する情報共有装置を決定して該情報共有装置でプロセス状態情報を管理することを特徴とする請求項１７記載のプロセス実行管理方法。
【請求項２０】
前記情報共有装置上のプロセス状態情報を前記プロセス実行装置内にキャッシュし、プロセス状態情報を更新したならば更新したプロセス実行装置に関する情報を前記情報共有装置上に記録し、プロセスの操作前に排他制御権を獲得したならば前記情報共有装置上の更新したプロセス実行装置に関する情報を調べて自プロセス実行装置でなければプロセスのキャッシュを破棄し、情報の参照を行う時に必要なキャッシュに存在したならば該情報を利用することを特徴とする請求項１７記載のプロセス実行管理方法。
【請求項２１】
プロセスの実行制御情報変更要求を受けて該実行制御情報変更要求を前記情報共有装置上に記録することを特徴とする請求項１７記載のプロセス実行管理方法。
【請求項２２】
情報共有装置上の実行制御情報変更要求を監視して、自プロセス実行装置がプロセスの実行制御情報を保持するプロセスの実行制御情報変更要求があれば該実行制御情報変更要求を取り出して、該実行制御情報変更要求に応じてプロセスの実行制御情報を変更することを特徴とする請求項１７記載のプロセス実行管理方法。
【請求項２３】
プロセスの実行制御情報を２次記憶装置上に保存することを特徴とする請求項１７記載のプロセス実行管理方法。
【請求項２４】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された１つ以上の計算機によって構成されるプロセス実行システムのプロセス実行管理方法であって、受信した通信メッセージを１つ以上の計算機に分配し、特定の条件を満たす通信メッセージの受信によって新規にプロセスを生成し、生成したプロセスの一部または全部の、プロセスの一部または全部のプロセス状態情報を１つ以上の計算機間で共有し、１つの計算機でプロセスを連続的に実行し、特定の条件を満たす通信メッセージの受信によって共有されたプロセス状態情報を操作することを特徴とするプロセス実行管理方法。
【請求項２５】
情報の共有を１つ以上の情報共有装置を用いて行い、各々の情報共有装置を同じあるいは異なる計算機上で動作させ、情報を共有する全ての計算機が、各々の計算機でプロセスの共有情報を操作する時に、全ての計算機で同じ結果になるように、各々のプロセスに対して一意に使用する情報共有装置を決定し、該情報共有装置でプロセスの共有情報を管理することを特徴とする請求項２４記載のプロセス実行管理方法。
【請求項２６】
プロセスの実行制御情報変更要求に関する情報を１つ以上の計算機間で共有し、プロセスを生成し実行する各々の計算機が実行制御情報変更要求に関する情報を監視して、自計算機が実行中のプロセスの実行制御情報変更要求に関する情報があればこれを取り出してプロセスの実行制御に反映させることを特徴とする請求項２４記載のプロセス実行管理方法。
【請求項２７】
プロセスの情報を共有する１つ以上の計算機がプロセスの共有情報を最後に更新した計算機に関する情報を共有し、各々の計算機が利用したプロセスの共有情報を各々の計算機内にキャッシュし、ある計算機がプロセスの共有情報を更新したならば最後に更新した計算機に関する情報を自計算機に設定し、ある計算機がプロセスの共有情報の利用前に排他制御権を獲得したならば操作対象プロセスの最後に更新した計算機に関する情報を調べ自計算機でなければキャッシュを破棄し、ある計算機がプロセスの共有情報を参照する時に対象プロセスの情報がキャッシュに存在したならばこれを使用することを特徴とする請求項２４記載のプロセス実行管理方法。
【請求項２８】
一部または全部のプロセスの共有情報および非共有情報の双方を、それぞれ２次記憶装置上に保存することを特徴とする請求項２４記載のプロセス実行管理方法。
【請求項２９】
プロセスの実行を行う計算機が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行管理方法であって、１つの計算機が、他の計算機上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする請求項２４記載のプロセス実行管理方法。
【請求項３０】
プロセスの実行を行う計算機が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする請求項２９記載のプロセス実行管理方法。
【請求項３１】
プロセスの実行を行う計算機が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を１つ決定し前記プロセスの実行状態を保存することを特徴とする請求項３０記載のプロセス実行管理方法。
【請求項３２】
１つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする請求項２９記載のプロセス実行管理方法。
【請求項３３】
１つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする請求項２９記載のプロセス実行管理方法。
【請求項３４】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する計算機のプロセス実行管理方法であって、前記計算機が、計算機に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とするプロセス実行管理方法。
【請求項３５】
プロセスの実行を行う計算機が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする請求項３４記載のプロセス実行管理方法。
【請求項３６】
前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする請求項３４記載のプロセス実行管理方法。
【請求項３７】
前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする請求項３４記載のプロセス実行管理方法。
【請求項３８】
前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする請求項３４記載のプロセス実行管理方法。
【請求項３９】
前記共有情報アクセス手段が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする請求項３４記載のプロセス実行管理方法。
【請求項４０】
前記共有情報アクセス手段が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする請求項３８記載のプロセス実行管理方法。
【請求項４１】
前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新した計算機に関する情報を管理することを特徴とする請求項３７記載のプロセス実行管理方法。
【請求項４２】
前記ノード固有情報管理手段が計算機の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、計算機が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報を監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする請求項３６記載のプロセス実行管理方法。
【請求項４３】
前記ノード固有情報管理手段が、前記計算機に固有の情報を２次記憶装置上に保存することを特徴とする請求項３４記載のプロセス実行管理方法。
【請求項４４】
前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、計算機が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行する計算機に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他の計算機で連続実行されている場合に、その計算機のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする請求項３４記載のプロセス実行管理方法。
【請求項４５】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された１つ以上の計算機によって構成されるプロセス実行システムで、前記プロセス実行システムが、前記計算機上に配置され前記プロセスの実行を行う１つ以上のプロセス実行装置と、前記計算機上に配置され前記プロセス実行装置に接続される１つ以上の情報共有装置とによって構成され、各々の前記プロセス実行装置が、実行している０以上の前記プロセスのうちの一部または全部の、前記プロセスの一部または全部のプロセス状態情報を、前記情報共有装置に格納し、前記プロセス実行装置が、前記情報共有装置に格納された一部または全部の前記プロセス状態情報を操作することを特徴とするプロセス実行システム。
【請求項４６】
前記計算機上に配置され前記通信メッセージを受信し前記プロセス実行装置に振り分ける１つ以上の負荷分散装置を持つことを特徴とする請求項４５記載のプロセス実行システム。
【請求項４７】
前記プロセス実行装置が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、１つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする請求項４５記載のプロセス実行システム。
【請求項４８】
前記プロセス実行装置が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする請求項４７記載のプロセス実行システム。
【請求項４９】
前記プロセス実行装置が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を１つ決定し前記プロセスの実行状態を保存することを特徴とする請求項４８記載のプロセス実行システム。
【請求項５０】
１つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする請求項４７記載のプロセス実行システム。
【請求項５１】
１つの前記プロセス実行装置が、他の前記プロセス実行装置から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする請求項４７記載のプロセス実行システム。
【請求項５２】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、前記プロセス実行装置が、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とするプロセス実行システム。
【請求項５３】
前記プロセス実行装置が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする請求項５２記載のプロセス実行システム。
【請求項５４】
前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする請求項５２記載のプロセス実行システム。
【請求項５５】
前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする請求項５２記載のプロセス実行システム。
【請求項５６】
前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする請求項５２記載のプロセス実行システム。
【請求項５７】
前記共有情報アクセス手段が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする請求項５２記載のプロセス実行システム。
【請求項５８】
前記共有情報アクセス手段が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする請求項５６記載のプロセス実行システム。
【請求項５９】
前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする請求項５５記載のプロセス実行システム。
【請求項６０】
前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする請求項５４記載のプロセス実行システム。
【請求項６１】
前記ノード固有情報管理手段が、前記プロセス実行装置に固有の情報を２次記憶装置上に保存することを特徴とする請求項５２記載のプロセス実行システム。
【請求項６２】
前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする請求項５２記載のプロセス実行システム。
【請求項６３】
一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行プログラムであって、プロセス実行プログラムに固有の情報を管理するノード固有情報管理処理と、情報共有のための装置またはサービスと排他制御のための装置またはサービスを操作する共有情報アクセス処理と、前記ノード固有情報管理処理に管理される情報と前記共有情報アクセス処理によって操作される情報を用いてプロセスを実行するプロセス連続実行処理と、前記共有情報アクセス処理によって操作される情報を用いてプロセスを操作するプロセス操作処理とをコンピュータに実行させるためのプロセス実行プログラム。
【請求項６４】
通信メッセージを受信しこれに応じて前記プロセス操作処理を用いてプロセスを操作するメッセージ受信処理をコンピュータにさらに実行させることを特徴とする請求項６３記載のプロセス実行プログラム。
【請求項６５】
前記ノード固有情報管理処理が、プロセスの実行制御情報を管理することをコンピュータにさらに実行させることを特徴とする請求項６３記載のプロセス実行プログラム。
【請求項６６】
前記共有情報アクセス処理が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することをコンピュータにさらに実行させることを特徴とする請求項６３記載のプロセス実行プログラム。
【請求項６７】
前記共有情報アクセス処理が、情報共有および排他制御のための装置またはサービスを操作することをコンピュータにさらに実行させることを特徴とする請求項６３記載のプロセス実行プログラム。
【請求項６８】
前記共有情報アクセス処理が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御プログラム決定処理と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有プログラム決定処理とを持つことをコンピュータにさらに実行させることを特徴とする請求項６３記載のプロセス実行プログラム。
【請求項６９】
前記共有情報アクセス処理が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御プログラム決定処理を持つことをコンピュータにさらに実行させることを特徴とする請求項６７記載のプロセス実行プログラム。
【請求項７０】
前記共有情報アクセス処理が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行プログラムに関する情報を管理することをコンピュータにさらに実行させることを特徴とする請求項６６記載のプロセス実行プログラム。
【請求項７１】
前記ノード固有情報管理処理がプロセス実行プログラムの操作対象プロセスのリストを持ち、前記共有情報アクセス処理が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、前記ノード固有情報管理処理の操作対象プロセスのリストと前記共有情報アクセス処理が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理処理のプロセスの実行制御情報を変更する実行制御情報変更要求監視処理をコンピュータにさらに実行させることを特徴とする請求項６５記載のプロセス実行プログラム。
【請求項７２】
前記ノード固有情報管理処理が、情報を２次記憶装置上に保存することをコンピュータにさらに実行させることを特徴とする請求項６３記載のプロセス実行プログラム。
【請求項７３】
前記ノード固有情報管理処理がプロセス状態情報を管理し、前記プロセス操作処理が他のプロセス操作処理と通信する通信処理を持ち、プロセス実行プログラムが、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行プログラムに関する情報を得るプロセス実行プログラム決定処理を持ち、一部のプロセス状態情報は前記共有情報アクセス処理を用いず前記ノード固有情報管理処理で管理し、前記プロセス操作処理が、操作要求を受けたプロセスが前記ノード固有情報管理処理で管理されかつ他のプロセス実行プログラムで連続実行されている場合に、そのプロセス実行プログラムのプロセス操作処理に通信処理を介して操作要求を転送することをコンピュータにさらに実行させることを特徴とする請求項６３記載のプロセス実行プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプロセス実行装置，プロセス実行管理方法，プロセス実行システム，およびプロセス実行プログラムに関し、特に一連の処理手続き（プロセス定義によって記述される処理）を連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、クラスタ化可能なプロセス実行装置，プロセス実行管理方法，プロセス実行システム，およびプロセス実行プログラムに関する。
【０００２】
【従来の技術】
（Ｗｅｂサービス）
ネットワークで接続された計算機が互いに通信を行いながら処理を行う分散システムで、特に、ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）などの通信プロトコルを使用して、その上で事前に定められたＥｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）などの構造化文章形式を利用して通信メッセージをやりとりすることで、インターネットを介した疎結合分散システムを構築する、Ｗｅｂサービスという技術がある。Ｗｅｂサービスでは、個々の計算機が他の計算機に公開するサービスのインタフェースをＷｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ（ＷＳＤＬ）という記述言語で記述し、サービスにアクセスしたい他の計算機はこのＷＳＤＬを参照して必要なプロトコルの情報を獲得して、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）というＨＴＴＰおよびＸＭＬを使用したプロトコルを用いて通信を行う。
【０００３】
Ｗｅｂサービスの他の分散システムとの大きな違いは、用いられる通信プロトコルが、送受信計算機における通信処理の実行効率よりも、様々な異なるシステム間の相互接続性を重視して設計されていることである。特に、通信メッセージは、人間による可読性，データ要素の汎用性，サービス提供装置の実装への非依存性などを重視しているため、通信メッセージの作成や解析などの処理負荷が、処理効率を考慮して設計されている他の分散システムと比べて非常に高くなる。
【０００４】
（永続プロセス）
一方、Ｗｅｂサービスや他の分散システムなどで、１つの目的を達するために、複数の通信メッセージの送受信や関連する処理が必要となる場合が有る。例えば、商品購入要求メッセージの受信に応じて在庫データベースをチェックして商品在庫を確認し、物流業者の計算機に商品の配送予約を要求して、成功したならば購入要求元に購入受理メッセージを返す、といったものである。従来、このような処理は、電子メールやワークフロー管理システムなどを用いて人手を介して行われてきたが、処理の高速化のため、関連する通信と処理とを１つの処理手順として予め定義しておき、この処理手順を計算機で自動処理させることが求められる。
【０００５】
このような自動処理を行うシステムを構築するには、必要な処理をプログラムや類似の処理定義として記述し、実行する必要がある。しかしながら、特に、商取引を中心とした領域では、このような処理の実行は高い信頼性が求められる。例えば、商品の購入要求を受け取った処理が実行中にシステム障害などで停止してしまった場合、購入要求の内容が失われてしまい、重大なトラブルに陥る可能性がある。
【０００６】
そこで、処理の実行状態であるプロセス自身を外部記憶に随時保存し、障害発生時にはこの情報を用いてプロセス自身を再構築して処理を継続させる永続プロセス技術が提案されている。例えば、プロセスが外部に及ぼす影響も考慮した永続プロセス実行装置が提案されている（例えば、特許文献１参照）。
【０００７】
（クラスタ）
他方、プログラムの実行状態ではないが、人間の作業の進捗や作業間の関連を管理する通常のワークフロー管理装置では、業務に含まれる作業がどこまで行われたか、といったワークフローの実行状態を外部記憶などに保存している。一般的に、ワークフロー管理システムでは、人手を介さない自動処理も可能であり、一種の永続プロセスと見なすこともできる。
【０００８】
大量の永続プロセスを同時に実行するシステムを構築する必要がある場合、単一の計算機では処理能力に限界があり、必要とする処理を行えない場合がある。
【０００９】
永続プロセスに限らず、一般に、このような場合、システムを複数台の計算機で構成し、処理をこれらの計算機に分配して処理させることで、１台の計算機で構成するよりも多くの処理を実行可能にする、クラスタ技術が広く使われている。
【００１０】
クラスタ技術の用途で代表的なものは、大量の通信要求を受け付ける大規模ＨＴＴＰサーバがある。
【００１１】
大規模ＨＴＴＰサーバは、Ｗｅｂブラウザなどのクライアントからの大量のＨＴＴＰ要求を処理するために、多数の処理ノードと呼ぶＨＴＴＰ要求を処理する計算機と、受信したＨＴＴＰ要求を個々の処理ノードに分配する負荷分散装置と、処理ノード間で提供するＷｅｂページなどの情報を共有するためのファイルシステムやデータベースなどの情報共有装置とから構成される。クライアントからのＨＴＴＰ要求は負荷分散装置によって適当な処理ノードに転送され、要求を受信した処理ノードは必要に応じて情報共有装置から共有情報を取り出して提供するＷｅｂページのデータを作成し、負荷分散装置に返す。データを受け取った負荷分散装置は、そのデータを要求元クライアントに返す。
【００１２】
ＨＴＴＰ要求の処理に必要な情報が全て情報共有装置に蓄えられている場合、全ての処理ノードで同一の処理が可能であるため、負荷分散装置は、任意の処理ノードに任意のＨＴＴＰ要求を転送することができる。
【００１３】
一方、ＨＴＴＰサーバでは、セッション情報と呼ばれる、同じクライアントからのそれ以前のＨＴＴＰ要求に依存した情報を保持する場合がある。例えば、前回のＨＴＴＰ要求でユーザの認証を行い、次のＨＴＴＰ要求でユーザによって異なる情報を提供するような場合、このセッション情報を利用してユーザ情報を保持するセッション情報管理手段が提案されている（例えば、特許文献２参照）。
【００１４】
このようなセッション情報は、多くのシステムでは以前にＨＴＴＰ要求を処理した特定の処理ノード上にのみ保持され、情報共有装置では共有されない。処理にこのようなセッション情報を必要とするＨＴＴＰ要求は、セッション情報を保持する特定の処理ノード上でしか処理できないため、ＨＴＴＰ要求内に処理ノードを特定するための情報が埋め込まれ、負荷分散装置がこの情報を見て適切な処理ノードにＨＴＴＰ要求を転送する必要がある。このようなセッション情報も共有することで、複数の処理ノードでセッション情報を使用した処理を実現する方式が提案されている（例えば、特許文献３参照）。
【００１５】
また、ＨＴＴＰサーバ以外にも、システムのクラスタ化の例として、多数のクライアントからの要求を受け付けるワークフロー実行装置のクラスタもある。ワークフロー実行装置は、基本的にクライアントからの通信を受けて処理を行うため、基本的にはＨＴＴＰサーバと同様の構成になる。例えば、ワークフロー実行装置のクラスタ化における問題点の解消として、ワークフロー実行装置における処理毎のワークフロー実行履歴のデータベースへの保存の負荷分散方法が提案されている（例えば、特許文献４参照）。
【００１６】
一方、上記のようなクライアントからの大量の要求を処理するのとは異なり、大規模な計算処理を並列実行可能な小さな沢山の計算処理に分割し、これらの小さな計算処理を複数の計算機に同時並行的に実行させることで、大規模計算を短時間で行うクラスタシステムもある。例としては、Ｂｅｏｗｕｌｆ型クラスタなどがある。このようなクラスタシステムでは、個々の処理ノード上で異なるプロセスを起動し、起動したプロセス間でメッセージパッシングなどで通信を行いながら計算処理を進める。
【００１７】
前記従来のクラスタ化のための方式は、２つのアプローチに大別できる。
【００１８】
１つ目は、個々の処理ノードには処理に関する情報を持たせず、必要な情報はデータベースなどの外部の情報共有装置に保持させて、処理ノードは必要に応じてこの情報共有装置から情報を取り出して処理を行うことで、全ての処理ノードで同じ処理を実行可能とする方式である。特許文献３や特許文献４が、これにあたる。以下、本明細書中では、この方式を「ノード状態非保持型」と記す。
【００１９】
２つ目は、特定の処理に必要な情報は特定の処理ノードに持たせてしまい、ある情報が必要な処理はその情報を持つ処理ノードに行わせる方式である。特許文献２のような、元々クラスタ環境での利用を想定していない装置をクラスタ環境で利用する場合に用いられる。また、Ｂｅｏｗｕｌｆ型クラスタも、起動した後のプロセスは特定の処理ノード上のみに存在し、そのプロセスの操作はその特定の処理ノード上でしか行えないという点で、この方式に該当する。以下、本明細書中では、この方式を「ノード状態保持型」と記す。
【００２０】
なお、ここでいう状態とは、１つの処理の実行過程でのメモリ状態のような瞬間的なものではなく、複数の通信要求の処理間や、データベース操作の複数のトランザクションの間などの、何らかの処理単位の間で共有されるものである。永続プロセス技術においては、外部記憶装置に保存される情報を意図する。
【００２１】
（プロセス実行装置のクラスタ化）
図３２は、ノード状態非保持型の方式をプロセス実行装置のクラスタ化に適用した場合の構成を示すブロック図である。プロセスの実行に必要なプロセス状態情報は全て情報共有装置２３０４に蓄えられ、個々の要求処理装置２３０２，２３０３は、外部からの要求を受けて情報共有装置２３０４から随時必要なプロセス状態情報を取り出して処理する。外部から通信メッセージを受信する場合、通信メッセージはまず要求分配装置２３０５に受信され、要求分配装置２３０５が各要求処理装置２３０２，２３０３の負荷状況などを見て通信メッセージの受信処理を各要求処理装置２３０２，２３０３に要求する。プロセスが複数処理単位からなり、これを連続して連続実行したい場合、要求処理装置２３０２，２３０３は、それ自身では外部からの処理要求を実行することしかできないため、単純には実現できない。上記の枠組でこれを実現するには、ある処理の最後に自分自身が次に行いたい処理の通信メッセージを自分自身に送るようにする必要がある。この通信メッセージは、外部からの通信メッセージと同様に要求分配装置２３０５に受信され、再び任意の要求処理装置２３０２，２３０３に処理が要求される。
【００２２】
図３３は、ノード状態保持型の方式をプロセス実行装置２４０２，２４０３のクラスタ化に適用した場合の構成を示すブロック図である。個々のプロセス実行装置２４０２，２０４３は、特にクラスタ化を意識しない通常のプロセス実行装置と同様であり、それぞれ個別のプロセス情報をもって、これを実行する。一方、プロセス宛の通信メッセージがクラスタ化されたプロセス実行システム２４０１宛に届いた場合、メッセージ配送装置２４０４は、通信メッセージのヘッダや内容を解析し、宛先のプロセスとその存在するプロセス実行装置を決定した後、そのプロセスの存在するプロセス実行装置宛に通信メッセージを配送する。
【００２３】
【特許文献１】
特願２００２−０９３０１０（段落００６０―７０、図１）
【特許文献２】
特開平１１−１４９４４９（第５頁、図１）
【特許文献３】
特開２００３−６０３６（第６―７頁、図２）
【特許文献４】
米国特許６，４１５，１９７（第９カラム、図１）
【００２４】
【発明が解決しようとする課題】
従来の方式では、通信処理のみを行う装置か、あるいは通信処理をほとんど行わない装置のいずれかのクラスタ化しか考慮しておらず、本発明が目的とする、あるプロセスが何らかの処理を自動実行しながら、その過程で他装置と通信メッセージの送受信を行うプロセス実行装置のクラスタ化については考慮されていなかった。さらに、Ｗｅｂサービスのような、従来の通信プロトコルとは異なる性質を持つ処理への対応も考慮されていなかった。このため、このようなプロセス実行装置に、従来のクラスタ化方式を適用すると、システム全体の処理効率が悪化するという問題がある。
【００２５】
ノード状態非保持型によるクラスタ化方式では、プロセスを連続して動作するような場合、外部に実行要求を管理する要求分配装置を用意し、この要求分配装置に毎回処理要求を送ってもらうような構成をとる必要がある。この方式では、プロセスの実行処理単位毎に要求分配装置と各処理ノードとの間の通信オーバーヘッドが生じるため、単一の処理ノード内で実行されるプロセスと比較して、実行速度が劣るという欠点がある。
【００２６】
人間の作業の流れを管理することを主目的とするワークフローシステムなど、通信処理が多数を占め、プロセスの連続的な自動実行の比率が低い場合、この方式でも実行性能の劣化は小さい。しかし、通信メッセージの自動処理を主目的とし、通信処理よりもプロセス自身の連続的な自動実行の割合が高い場合、要求分配装置と処理ノードとの間の通信オーバーヘッドや、要求分配装置への負荷集中などにより、実行性能が悪化するという問題がある。
【００２７】
一方、ノード状態保持型によるクラスタ化方式では、特定のプロセスに関する処理は特定の処理ノード上でしか処理できないため、プロセスが外部から通信メッセージを受信する場合、事前に適切な処理ノードに振り分けられ、その処理ノード上で必ず処理される必要がある。
【００２８】
通信メッセージを容易に適切な処理ノードに振り分け可能な場合、振り分けの必要性は大きな問題にはならないが、Ｗｅｂサービスのメッセージなど、メッセージサイズが大きく、かつ振り分けに必要な情報がメッセージ中に埋め込まれており、さらに埋め込み位置が処理内容によって異なるなど、その取り出しのコストが高い場合、この方式では、振り分け部分の実現が困難であったり、負荷が高くなりそこが性能のボトルネックになったりするなどの問題がある。
【００２９】
また、メッセージを処理できる処理ノードが限定されてしまうため、同じ処理ノード上で動作するプロセス宛に大量のメッセージが届いた場合にメッセージ処理の負荷分散が行えないことや、障害などでノードが停止しているとメッセージ受信が行えないなどの問題もある。
【００３０】
本発明の第１の目的は、他のシステムと通信を行うプロセス実行装置、特に永続プロセスの実行装置をクラスタ化するにあたり、高速に動作可能なシステムを構築可能なプロセス実行装置，プロセス実行管理方法，プロセス実行システム，およびプロセス実行プログラムを提供することにある。特に、Ｗｅｂサービスなどのメッセージ処理の負荷が高い通信方式を用いる場合でも高速に動作可能とする。
【００３１】
本発明の第２の目的は、他のシステムと通信を行うプロセス実行装置をクラスタ化するにあたり、メッセージ処理を柔軟に負荷分散可能なプロセス実行装置，プロセス実行管理方法，プロセス実行システム，およびプロセス実行プログラムを提供することにある。
【００３２】
【課題を解決するための手段】
本発明のプロセス実行装置は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、他のプロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする。
【００３３】
また、本発明のプロセス実行装置は、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする。
【００３４】
さらに、本発明のプロセス実行装置は、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を１つ決定し前記プロセスの実行状態を保存することを特徴とする。
【００３５】
さらにまた、本発明のプロセス実行装置は、他のプロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする。
【００３６】
また、本発明のプロセス実行装置は、他のプロセス実行装置から出されたプロセスの実行制御情報変更要求に応じて、前記プロセスの実行制御情報を変更することを特徴とする。
【００３７】
さらに、本発明のプロセス実行装置は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とする。
【００３８】
さらにまた、本発明のプロセス実行装置は、通信メッセージを受信し該通信メッセージに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする。
【００３９】
また、本発明のプロセス実行装置は、前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする。
【００４０】
さらに、本発明のプロセス実行装置は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする。
【００４１】
さらにまた、本発明のプロセス実行装置は、前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする。
【００４２】
また、本発明のプロセス実行装置は、前記共有情報アクセス手段が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする。
【００４３】
さらに、本発明のプロセス実行装置は、前記共有情報アクセス手段が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする。
【００４４】
さらにまた、本発明のプロセス実行装置は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする。
【００４５】
また、本発明のプロセス実行装置は、前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段が持つ操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段が管理するプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする。
【００４６】
さらに、本発明のプロセス実行装置は、前記ノード固有情報管理手段が、情報を２次記憶装置上に保存することを特徴とする。
【００４７】
さらにまた、本発明のプロセス実行装置は、前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置の前記プロセス操作手段に通信機構を介して操作要求を転送することを特徴とする。
【００４８】
一方、本発明のプロセス実行管理方法は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置のプロセス実行管理方法であって、プロセスの実行制御情報はプロセス実行装置内で管理し、プロセス状態情報はプロセス実行装置外の情報共有装置で管理し、前記情報共有装置上のプロセス状態情報を使用する時はプロセスの排他制御を行い、プロセスの連続的な実行はプロセスの実行制御情報およびプロセス状態情報を用いて行い、プロセスの操作はプロセス状態情報のみを用いて行うことを特徴とする。
【００４９】
また、本発明のプロセス実行管理方法は、プロセス宛の通信メッセージの受信時に受信プロセスの操作を行うことを特徴とする。
【００５０】
さらに、本発明のプロセス実行管理方法は、複数の情報共有装置を利用し、各々のプロセスに対して一意に使用する情報共有装置を決定して該情報共有装置でプロセス状態情報を管理することを特徴とする。
【００５１】
さらにまた、本発明のプロセス実行管理方法は、前記情報共有装置上のプロセス状態情報を前記プロセス実行装置内にキャッシュし、プロセス状態情報を更新したならば更新したプロセス実行装置に関する情報を前記情報共有装置上に記録し、プロセスの操作前に排他制御権を獲得したならば前記情報共有装置上の更新したプロセス実行装置に関する情報を調べて自プロセス実行装置でなければプロセスのキャッシュを破棄し、情報の参照を行う時に必要なキャッシュに存在したならば該情報を利用することを特徴とする。
【００５２】
また、本発明のプロセス実行管理方法は、プロセスの実行制御情報変更要求を受けて該実行制御情報変更要求を前記情報共有装置上に記録することを特徴とする。
【００５３】
さらに、本発明のプロセス実行管理方法は、情報共有装置上の実行制御情報変更要求を監視して、自プロセス実行装置がプロセスの実行制御情報を保持するプロセスの実行制御情報変更要求があれば該実行制御情報変更要求を取り出して、該実行制御情報変更要求に応じてプロセスの実行制御情報を変更することを特徴とする。
【００５４】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行制御情報を２次記憶装置上に保存することを特徴とする。
【００５５】
また、本発明のプロセス実行管理方法は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された１つ以上の計算機によって構成されるプロセス実行システムのプロセス実行管理方法であって、受信した通信メッセージを１つ以上の計算機に分配し、特定の条件を満たす通信メッセージの受信によって新規にプロセスを生成し、生成したプロセスの一部または全部の、プロセスの一部または全部のプロセス状態情報を１つ以上の計算機間で共有し、１つの計算機でプロセスを連続的に実行し、特定の条件を満たす通信メッセージの受信によって共有されたプロセス状態情報を操作することを特徴とする。
【００５６】
さらに、本発明のプロセス実行管理方法は、情報の共有を１つ以上の情報共有装置を用いて行い、各々の情報共有装置を同じあるいは異なる計算機上で動作させ、情報を共有する全ての計算機が、各々の計算機でプロセスの共有情報を操作する時に、全ての計算機で同じ結果になるように、各々のプロセスに対して一意に使用する情報共有装置を決定し、該情報共有装置でプロセスの共有情報を管理することを特徴とする。
【００５７】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行制御情報変更要求に関する情報を１つ以上の計算機間で共有し、プロセスを生成し実行する各々の計算機が実行制御情報変更要求に関する情報を監視して、自計算機が実行中のプロセスの実行制御情報変更要求に関する情報があればこれを取り出してプロセスの実行制御に反映させることを特徴とする。
【００５８】
また、本発明のプロセス実行管理方法は、プロセスの情報を共有する１つ以上の計算機がプロセスの共有情報を最後に更新した計算機に関する情報を共有し、各々の計算機が利用したプロセスの共有情報を各々の計算機内にキャッシュし、ある計算機がプロセスの共有情報を更新したならば最後に更新した計算機に関する情報を自計算機に設定し、ある計算機がプロセスの共有情報の利用前に排他制御権を獲得したならば操作対象プロセスの最後に更新した計算機に関する情報を調べ自計算機でなければキャッシュを破棄し、ある計算機がプロセスの共有情報を参照する時に対象プロセスの情報がキャッシュに存在したならばこれを使用することを特徴とする。
【００５９】
さらに、本発明のプロセス実行管理方法は、一部または全部のプロセスの共有情報および非共有情報の双方を、それぞれ２次記憶装置上に保存することを特徴とする。
【００６０】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行管理方法であって、１つの計算機が、他の計算機上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする。
【００６１】
また、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする。
【００６２】
さらに、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を１つ決定し前記プロセスの実行状態を保存することを特徴とする。
【００６３】
さらにまた、本発明のプロセス実行管理方法は、１つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする。
【００６４】
また、本発明のプロセス実行管理方法は、１つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする。
【００６５】
さらに、本発明のプロセス実行管理方法は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する計算機のプロセス実行管理方法であって、前記計算機が、計算機に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とする。
【００６６】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする。
【００６７】
また、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする。
【００６８】
さらに、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする。
【００６９】
さらにまた、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする。
【００７０】
また、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする。
【００７１】
さらに、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする。
【００７２】
さらにまた、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新した計算機に関する情報を管理することを特徴とする。
【００７３】
また、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段が計算機の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、計算機が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報を監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする。
【００７４】
さらに、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段が、前記計算機に固有の情報を２次記憶装置上に保存することを特徴とする。
【００７５】
さらにまた、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、計算機が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行する計算機に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他の計算機で連続実行されている場合に、その計算機のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする。
【００７６】
他方、本発明のプロセス実行システムは、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された１つ以上の計算機によって構成されるプロセス実行システムで、前記プロセス実行システムが、前記計算機上に配置され前記プロセスの実行を行う１つ以上のプロセス実行装置と、前記計算機上に配置され前記プロセス実行装置に接続される１つ以上の情報共有装置とによって構成され、各々の前記プロセス実行装置が、実行している０以上の前記プロセスのうちの一部または全部の、前記プロセスの一部または全部のプロセス状態情報を、前記情報共有装置に格納し、前記プロセス実行装置が、前記情報共有装置に格納された一部または全部の前記プロセス状態情報を操作することを特徴とする。
【００７７】
また、本発明のプロセス実行システムは、前記計算機上に配置され前記通信メッセージを受信し前記プロセス実行装置に振り分ける１つ以上の負荷分散装置を持つことを特徴とする。
【００７８】
さらに、本発明のプロセス実行システムは、前記プロセス実行装置が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、１つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする。
【００７９】
さらにまた、本発明のプロセス実行システムは、前記プロセス実行装置が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする。
【００８０】
また、本発明のプロセス実行システムは、記プロセス実行装置が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を１つ決定し前記プロセスの実行状態を保存することを特徴とする。
【００８１】
さらに、本発明のプロセス実行システムは、１つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする。
【００８２】
さらにまた、本発明のプロセス実行システムは、１つの前記プロセス実行装置が、他の前記プロセス実行装置から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする。
【００８３】
さらにまた、本発明のプロセス実行システムは、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、前記プロセス実行装置が、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とする。
【００８４】
また、本発明のプロセス実行システムは、前記プロセス実行装置が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする。
【００８５】
さらに、本発明のプロセス実行システムは、前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする。
【００８６】
さらにまた、本発明のプロセス実行システムは、前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする。
【００８７】
また、本発明のプロセス実行システムは、前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする。
【００８８】
さらに、本発明のプロセス実行システムは、前記共有情報アクセス手段が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする。
【００８９】
さらにまた、本発明のプロセス実行システムは、前記共有情報アクセス手段が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする。
【００９０】
また、本発明のプロセス実行システムは、前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする。
【００９１】
さらに、本発明のプロセス実行システムは、前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする。
【００９２】
さらにまた、本発明のプロセス実行システムは、前記ノード固有情報管理手段が、前記プロセス実行装置に固有の情報を２次記憶装置上に保存することを特徴とする。
【００９３】
また、本発明のプロセス実行システムは、前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする。
【００９４】
加えて、本発明のプロセス実行プログラムは、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行プログラムであって、プロセス実行プログラムに固有の情報を管理するノード固有情報管理処理と、情報共有のための装置またはサービスと排他制御のための装置またはサービスを操作する共有情報アクセス処理と、前記ノード固有情報管理処理に管理される情報と前記共有情報アクセス処理によって操作される情報を用いてプロセスを実行するプロセス連続実行処理と、前記共有情報アクセス処理によって操作される情報を用いてプロセスを操作するプロセス操作処理とをコンピュータに実行させることを特徴とする。
【００９５】
また、本発明のプロセス実行プログラムは、通信メッセージを受信しこれに応じて前記プロセス操作処理を用いてプロセスを操作するメッセージ受信処理をコンピュータにさらに実行させることを特徴とする。
【００９６】
さらに、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理が、プロセスの実行制御情報を管理することをコンピュータにさらに実行させることを特徴とする。
【００９７】
さらにまた、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することをコンピュータにさらに実行させることを特徴とする。
【００９８】
また、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、情報共有および排他制御のための装置またはサービスを操作することをコンピュータにさらに実行させることを特徴とする。
【００９９】
さらに、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、１つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御プログラム決定処理と、１つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有プログラム決定処理とを持つことをコンピュータにさらに実行させることを特徴とする。
【０１００】
さらにまた、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、１つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御プログラム決定処理を持つことをコンピュータにさらに実行させることを特徴とする。
【０１０１】
また、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行プログラムに関する情報を管理することをコンピュータにさらに実行させることを特徴とする。
【０１０２】
さらに、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理がプロセス実行プログラムの操作対象プロセスのリストを持ち、前記共有情報アクセス処理が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、前記ノード固有情報管理処理の操作対象プロセスのリストと前記共有情報アクセス処理が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理処理のプロセスの実行制御情報を変更する実行制御情報変更要求監視処理をコンピュータにさらに実行させることを特徴とする。
【０１０３】
さらにまた、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理が、情報を２次記憶装置上に保存することをコンピュータにさらに実行させることを特徴とする。
【０１０４】
また、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理がプロセス状態情報を管理し、前記プロセス操作処理が他のプロセス操作処理と通信する通信処理を持ち、プロセス実行プログラムが、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行プログラムに関する情報を得るプロセス実行プログラム決定処理を持ち、一部のプロセス状態情報は前記共有情報アクセス処理を用いず前記ノード固有情報管理処理で管理し、前記プロセス操作処理が、操作要求を受けたプロセスが前記ノード固有情報管理処理で管理されかつ他のプロセス実行プログラムで連続実行されている場合に、そのプロセス実行プログラムのプロセス操作処理に通信処理を介して操作要求を転送することをコンピュータにさらに実行させることを特徴とする。
【０１０５】
本発明のプロセス実行装置は、個々のプロセスの情報のうち１つの処理ノードのみが保持するノード固有情報を保持するノード固有情報管理手段と、個々のプロセスの情報のうちクラスタ内の複数の処理ノード間で共有する共有情報を保持する情報共有装置にアクセスする共有情報アクセス手段と、プロセスの連続的実行を行うプロセス連続実行手段と、プロセス実行装置外部からのプロセスの操作を行うプロセス操作手段とを持ち、通常のプロセス実行はプロセス連続実行手段がノード固有情報と共有情報アクセス手段を用いて取得したプロセスの全情報とを用いて行い、メッセージの受信処理はプロセス操作手段が共有情報アクセス手段を用いて取得したプロセスの一部情報のみを用いて行うことにより、通常のプロセス実行は特定の処理ノード内のみで高速に行いながら、同時に特定の処理ノード以外の処理ノードでもメッセージ受信処理を実行可能にする。
【０１０６】
本構成により、通常のプロセス実行はあたかもノード状態保持型のように単一計算機の中で高速に実行が可能になり、同時にメッセージ受信処理についてはノード状態非保持型のように任意の処理ノードで任意のプロセス宛のメッセージを処理可能として、メッセージの特定の処理ノードへの配送に必要な解析処理を不要にすることができる。
【０１０７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【０１０８】
［第１の実施の形態］
図１を参照すると、本発明の第１の実施の形態に係る１つのクラスタ化されたプロセス実行システム（以下、単にプロセス実行システムという）０１３１は、１つまたは複数（図示は２つ）のプロセス実行装置０１０１，０１１１と、外部の情報共有装置０１２２と、外部の複数（図示は１つ）のプロセス排他制御装置０１２１とによって、その主要部が構成されている。
【０１０９】
プロセス実行装置０１０１，０１１１は、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段０１０４，０１１４と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６とからそれぞれ構成されている。
【０１１０】
共有情報アクセス手段０１０４，０１１４は、外部の情報共有装置０１２２およびプロセス排他制御装置０１２１にそれぞれ接続されている。
【０１１１】
１つのプロセスに関する情報は、特定の処理ノードのみで保持され利用されるノード固有情報と、全ての処理ノードから共有される共有情報とに分割され、ノード固有情報はノード固有情報管理手段０１０３，０１１３に、共有情報は共有情報アクセス手段０１０４，０１１４を介して情報共有装置０１２２にそれぞれ格納される。ノード固有情報はプロセスを連続して実行するための実行制御情報であり、共有情報はプロセスの持つ変数の値などのプロセス状態情報となる。
【０１１２】
プロセス実行システム０１３１中に存在する全てのプロセスのプロセス状態情報は、全て情報共有装置０１２２に格納される。一方、実行制御情報は、いずれか１つのプロセス実行装置０１０１または０１１１のノード固有情報管理手段０１０３または０１１３に格納される。
【０１１３】
これらの手段は、それぞれ概略次のように動作する。
【０１１４】
プロセス連続実行手段０１０２，０１１２は、ノード固有情報管理手段０１０３，０１１３に格納される実行制御情報に基づいて、共有情報アクセス手段０１０４，０１１４を用いて連続的にプロセスを実行する。
【０１１５】
ノード固有情報管理手段０１０３，０１１３は、内部にノード固有情報テーブルを保持し、ノード固有情報であるプロセスの実行制御情報の格納や更新を行う。ノード固有情報テーブルは、システム障害に備えて不揮発性の２次記憶装置（図示せず）上に保存される。
【０１１６】
共有情報アクセス手段０１０４，０１１４は、外部のプロセス排他制御装置０１２１や情報共有装置０１２２を用いて、プロセスの排他制御や共有情報の格納，更新などを行う。
【０１１７】
プロセス操作手段０１０５，０１１５は、プロセスの生成，既存プロセスの操作などの機能をメッセージ受信手段０１０６，０１１６やプロセス利用装置（図示せず）に提供し、要求を受けるとノード固有情報管理手段０１０３，０１１３や共有情報アクセス手段０１０４，０１１４を用いて要求を実行する。
【０１１８】
メッセージ受信手段０１０６，０１１６は、メッセージ配送ルールを持ち、届いた通信メッセージ（以下、単にメッセージという）を受信し、メッセージ配送ルールと受信メッセージの内容とを比較してプロセス操作方法を決定し、プロセス操作手段０１０５，０１１５を用いてプロセスの生成や操作を行う。
【０１１９】
次に、このように構成された第１の実施の形態に係るプロセス実行システム０１３１の全体の動作について、図２ないし図６のフローチャートを参照して詳細に説明する。
【０１２０】
図２は、プロセス操作手段０１０５，０１１５の動作を示すフローチャートである。プロセス操作手段０１０５，０１１５は、ステップＳ０２０１で外部からの要求を待ち、ステップＳ０２１１で要求がプロセス生成要求であった場合、ステップＳ０２１２で新たにプロセスを生成し、ステップＳ０２１４でそのプロセスの実行制御情報をノード固有情報管理手段０１０３，０１１３に格納し、ステップＳ０２１５で共有情報アクセス手段０１０４，０１１４にプロセス状態情報の格納を要求し、ステップＳ０２１６で結果を要求元に返す。また、プロセス操作手段０１０５，０１１５は、ステップＳ０２２１で要求が既存プロセスの参照や変更などのプロセス操作要求であった場合、ステップＳ０２２２で共有情報アクセス手段０１０４，０１１４に操作対象プロセスの排他制御権の獲得要求を行い、ステップＳ０２２３で共有情報アクセス手段０１０４，０１１４にプロセス状態情報の取り出し要求を行い、ステップＳ０２２４で獲得したプロセス状態情報を用いて要求されたプロセスの操作処理を行い、ステップＳ０２２５で共有情報アクセス手段０１０４，０１１４に操作処理の結果更新されたプロセス状態情報の更新要求を行い、ステップＳ０２２６で共有情報アクセス手段０１０４，０１１４に排他制御権の解放要求を行い、ステップＳ０２１６で結果を要求元に返す。
【０１２１】
図３は、プロセス連続実行手段０１０２，０１１２の動作を示すフローチャートである。プロセス連続実行手段０１０２，０１１２は、ステップＳ０３０１でノード固有情報管理手段０１０３，０１１３を監視し実行可能な実行制御情報が含まれるようになるのを待ち、含まれると、ステップＳ０３０２で実行可能な実行制御情報を１つ取り出して実行対象となるプロセスおよびその実行内容を決定し、ステップＳ０３０３で共有情報アクセス手段０１０４，０１１４に操作対象プロセスの排他制御権の獲得要求を行い、ステップＳ０３０４で共有情報アクセス手段０１０４，０１１４にプロセス状態情報の取り出し要求を行い、ステップＳ０３０５で獲得したプロセス状態情報および実行制御情報を用いてプロセスの実行を行い、ステップＳ０３０６でノード固有情報管理手段０１０３，０１１３に実行の結果を更新された実行制御情報として変更要求を行い、ステップＳ０３０７で共有情報アクセス手段０１０４，０１１４に実行の結果を更新されたプロセス状態情報として更新要求を行い、ステップＳ０３０８で共有情報アクセス手段０１０４，０１１４に排他制御権の解放要求を行い、ステップＳ０３０１に戻る。
【０１２２】
図４は、ノード固有情報管理手段０１０３，０１１３の動作を示すフローチャートである。ノード固有情報管理手段０１０３，０１１３は、ステップＳ０４０１で要求を待ち、ステップＳ０４１１で要求が実行制御情報格納要求である場合、ステップＳ０４１２でノード固有情報テーブルに実行制御情報を追加し、ステップＳ０４２１で要求が実行制御情報更新要求である場合、ステップＳ０４２２でノード固有情報テーブル上の実行制御情報を更新し、ステップＳ０４３１で要求が実行制御情報獲得要求である場合、ステップＳ０４３２でノード固有情報テーブル上の実行制御情報を獲得し、ステップＳ０４３３で獲得した実行制御情報を要求元に返し、ステップＳ０４４１で要求が実行制御情報監視要求である場合、ステップＳ０４４２でノード固有情報テーブル上の実行制御情報一覧を獲得し、ステップＳ０４４３で獲得した実行制御情報一覧を要求元に返す。
【０１２３】
図５は、共有情報アクセス手段０１０４，０１１４の動作を示すフローチャートである。共有情報アクセス手段０１０４，０１１４は、ステップＳ０５０１で要求を待ち、ステップＳ０５１１で要求がプロセスの排他制御権獲得要求である場合、ステップＳ０５１２でプロセス排他制御装置０１２１に指定されたプロセスの排他制御権獲得要求を出し、ステップＳ０５１３で結果を要求元に返し、ステップＳ０５２１で要求がプロセスの排他制御権解放要求である場合、ステップＳ０５２２でプロセス排他制御装置０１２１に指定されたプロセスの排他制御権解放要求を出し、ステップＳ０５３１で要求がプロセスの共有情報格納要求である場合、ステップＳ０５３２で情報共有装置０１２２に指定されたプロセスの共有情報格納要求を出し、ステップＳ０５４１で要求がプロセスの共有情報更新要求である場合、ステップＳ０５４２で情報共有装置０１２２に指定されたプロセスの共有情報更新要求を出し、ステップＳ０５５１で要求がプロセスの共有情報獲得要求である場合、ステップＳ０５５２で情報共有装置０１２２に指定されたプロセスの共有情報獲得要求を出し、ステップＳ０５５３で結果を要求元に返す。
【０１２４】
図６は、メッセージ受信手段０１０６，０１１６の動作を示すフローチャートである。メッセージ受信手段０１０６，０１１６は、ステップＳ０６０１でメッセージ受信かメッセージ受信予約のイベントを待ち、ステップＳ０６１１でイベントがメッセージ受信イベントだった場合、ステップＳ０６１２でメッセージの内容とメッセージ配送ルールとの比較からプロセスの新規生成や既存プロセスへの配送などの処理内容を決定し、ステップＳ０６１３で処理内容がプロセスの新規生成の場合、ステップＳ０６１４でプロセス操作手段０１０５，０１１５にプロセス生成要求を出し、ステップＳ０６１６で結果を要求元に返す。ステップＳ０６１３で処理内容が既存プロセスの操作だった場合、ステップＳ０６１５でプロセス操作手段０１０５，０１１５にプロセス操作要求を出し、ステップＳ０６１６で結果を要求元に返す。ステップＳ０６２１でイベントがメッセージ受信予約イベントだった場合、ステップＳ０６２２でメッセージ配送ルールに予約内容を追加し、ステップＳ０６３１でイベントがメッセージ受信予約取消イベントだった場合、ステップＳ０６３２でメッセージ配送ルールから予約内容を削除する。
【０１２５】
なお、プロセス実行装置０１０１，０１１１が起動されると、ノード固有情報管理手段０１０３，０１１３，共有情報アクセス手段０１０４，０１１４，プロセス連続実行手段０１０２，０１１２，プロセス操作手段０１０５，０１１５，メッセージ受信手段０１０６，０１１６が、それぞれフローチャートに従い動作を開始する。
【０１２６】
プロセス実行装置０１０１，０１１１が初めて起動された場合など、ノード固有情報管理手段０１０３，０１１３や情報共有装置０１２２にプロセスの実行状態が１つも保存されていない場合、プロセス実行装置０１０１，０１１１は、メッセージを受信してプロセスが新規に生成されるまで何もしないで待ち、プロセスが生成されると動作を開始する。
【０１２７】
一方、プロセス実行装置０１０１，０１１１が幾つかのプロセスを実行中に障害などで停止した後で再起動された場合、起動された直後には既にノード固有情報管理手段０１０３，０１１３や情報共有装置０１２２に障害発生前のプロセスの実行状態（実行制御情報＋プロセス状態情報）が保存されているため、プロセス実行装置０１０１，０１１１は、起動と同時にこれらの情報を用いてプロセスの連続実行を再開する。
【０１２８】
次に、第１の実施の形態の効果について説明する。
【０１２９】
第１の実施の形態では、プロセス実行装置０１０１，０１１１内にノード固有情報管理手段０１０３，０１１３が用意され、実行制御情報がノード固有情報管理手段０１０３，０１１３に格納されるため、プロセス連続実行手段０１０２，０１１２が高速に実行制御情報を操作することができる。加えて、プロセス状態情報は情報共有装置０１２２に格納され、プロセス操作手段０１０５，０１１５は共有情報アクセス手段０１０４，０１１４を介して情報共有装置０１２２に格納されたプロセス状態情報を使用して動作するため、情報共有装置０１２２を共有する他のプロセス実行装置０１０１，０１１１で生成され、連続実行されている他のプロセスも操作することができる。
【０１３０】
［第２の実施の形態］
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【０１３１】
図１に示した第１の実施の形態に係るプロセス実行システム０１３１では、情報共有装置０１２２とプロセス排他制御装置０１２１とを別装置としていたが、両装置と同等の機能を有する単一の情報共有・排他制御装置を利用するようにしてもよい。このような情報共有・排他制御装置の好適な実施例は、データベースである。
【０１３２】
図７は、本発明の第２の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、１つまたは複数（図示は２つ）のプロセス実行装置０１０１，０１１１と、外部の情報共有・排他制御装置０７２１とによって、その主要部が構成されている。
【０１３３】
プロセス実行装置０１０１，０１１１は、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段０７０１，０７１１と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６とからそれぞれ構成されている。
【０１３４】
共有情報アクセス手段０７０１，０７１１は、情報共有・排他制御装置０７２１にのみ接続される。
【０１３５】
なお、特に言及しないその他の手段等については、第１の実施の形態に係るプロセス実行システム０１３１における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【０１３６】
次に、このように構成された第２の実施の形態に係るプロセス実行システム０１３１の、第１の実施の形態に係るプロセス実行システム０１３１と異なる動作について、図８のフローチャートを参照して説明する。
【０１３７】
図８は、第２の実施の形態に係るプロセス実行システム０１３１における共有情報アクセス手段０７０１，０７１１の動作を表すフローチャートである。共有情報アクセス手段０７０１，０７１１は、ステップＳ０５０１で要求を待ち、ステップＳ０５１１で要求がプロセスの排他制御権獲得要求である場合、ステップＳ０８０１で情報共有・排他制御装置０７２１に指定されたプロセスの排他制御権獲得要求を出し、ステップＳ０５１３で結果を要求元に返し、ステップＳ０５２１で要求がプロセスの排他制御権解放要求である場合、ステップＳ０８０２で情報共有・排他制御装置０７２１に指定されたプロセスの排他制御権解放要求を出し、ステップＳ０５３１で要求がプロセスの共有情報格納要求である場合、ステップＳ０８０３で情報共有・排他制御装置０７２１に指定されたプロセスの共有情報格納要求を出し、ステップＳ０５４１で要求がプロセスの共有情報更新要求である場合、ステップＳ０８０４で情報共有・排他制御装置０７２１に指定されたプロセスの共有情報更新要求を出し、ステップＳ０５５１で要求がプロセスの共有情報獲得要求である場合、ステップＳ０８０５で情報共有・排他制御装置０７２１に指定されたプロセスの共有情報獲得要求を出し、ステップＳ０５５３で結果を要求元に返す。
【０１３８】
第２の実施の形態に係るプロセス実行システム０１３１によれば、第１の実施の形態に係るプロセス実行システム０１３１と同様の効果が得られることはいうまでもない。
【０１３９】
［第３の実施の形態］
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【０１４０】
図１に示した第１の実施の形態に係るプロセス実行システム０１３１では、情報共有装置０１２２およびプロセス排他制御装置０１２１をそれぞれ１つずつとしていたが、複数の情報共有装置および複数のプロセス排他制御装置を利用してもよい。
【０１４１】
図９は、本発明の第３の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、１つまたは複数（図示は２つ）のプロセス実行装置０１０１，０１１１と、複数（図示は２つ）の情報共有装置０９０２ａ，０９０２ｂと、複数（図示は２つ）のプロセス排他制御装置０９０１ａ，０９０１ｂとによって、その主要部が構成されている。
【０１４２】
プロセス実行装置０１０１，０１１１は、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段０９０４，０９１４と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６とからそれぞれ構成されている。
【０１４３】
共有情報アクセス手段０９０４，０９１４は、プロセス排他制御装置０９０１ａ，０９０１ｂと、情報共有装置０９０２ａ，０９０２ｂとに接続される。また、共有情報アクセス手段０９０４，０９１４は、内部に排他制御装置決定機構および情報共有装置決定機構を持つ。排他制御装置決定機構および情報共有装置決定機構は、いずれも、各々のプロセスとそれが利用するプロセス排他制御装置０９０１ａ，０９０１ｂや情報共有装置０９０２ａ，０９０２ｂとの関係を管理し、プロセスが指定された時に利用すべきプロセス排他制御装置０９０１ａ，０９０１ｂや情報共有装置０９０２ａ，０９０２ｂを一意に特定可能にする。
【０１４４】
なお、特に言及しないその他の手段等については、第１の実施の形態に係るプロセス実行システム０１３１における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【０１４５】
次に、このように構成された第３の実施の形態に係るプロセス実行システム０１３１の、第１の実施の形態に係るプロセス実行システム０１３１と異なる動作について、図１０のフローチャートを参照して説明する。
【０１４６】
図１０は、本発明の第３の実施の形態に係るプロセス実行システム０１３１における共有情報アクセス手段０９０４，０９１４の動作を表すフローチャートである。共有情報アクセス手段０９０４，０９１４は、ステップＳ０５０１で要求を待ち、ステップＳ０５１１で要求がプロセスの排他制御権獲得要求である場合、ステップＳ１０１１で排他制御装置決定機構を用いて利用するプロセス排他制御装置を決定し、ステップＳ０５１２で決定したプロセス排他制御装置に指定されたプロセスの排他制御権獲得要求を出し、ステップＳ０５１３で結果を要求元に返し、ステップＳ０５２１で要求がプロセスの排他制御権解放要求である場合、ステップＳ１０２１で排他制御装置決定機構を用いて利用するプロセス排他制御装置を決定し、ステップＳ０５２２で決定したプロセス排他制御装置に指定されたプロセスの排他制御権解放要求を出し、ステップＳ０５３１で要求がプロセスの共有情報格納要求である場合、ステップＳ１０３１で情報共有装置決定機構を用いて使用する情報共有装置を決定し、ステップＳ０５３２で決定した情報共有装置に指定されたプロセスの共有情報格納要求を出し、ステップＳ０５４１で要求がプロセスの共有情報更新要求である場合、ステップＳ１０４１で情報共有装置決定機構を用いて使用する情報共有装置を決定し、ステップＳ０５４２で決定した情報共有装置に指定されたプロセスの共有情報更新要求を出し、ステップＳ０５５１で要求がプロセスの共有情報獲得要求である場合、ステップＳ１０５１で情報共有装置決定機構を用いて使用する情報共有装置を決定し、ステップＳ０５５２で決定した情報共有装置に指定されたプロセスの共有情報獲得要求を出し、ステップＳ０５５３で結果を要求元に返す。
【０１４７】
第３の実施の形態に係るプロセス実行システム０１３１によれば、情報共有装置およびプロセス排他制御装置は、複数のプロセス実行装置０１０１，０１１１から共有されるため、接続されるプロセス実行装置０１０１，０１１１の数が多くなると、処理負荷が情報共有装置およびプロセス排他制御装置に集中し、これが実行性能上のボトルネックとなり、プロセス実行装置０１０１，０１１１の数を増やしてもクラスタ化されたプロセス実行システム０１３１全体の性能が向上しなくなる恐れがあるが、このような場合、情報共有装置０９０２ａ，０９０２ｂおよびプロセス排他制御装置０９０１ａ，０９０１ｂを複数用意し、プロセス毎に使用する装置を分けることで、負荷を分散させることができる。
【０１４８】
［第４の実施の形態］
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。
【０１４９】
図１に示した第１の実施の形態に係るプロセス実行システム０１３１では、共有情報アクセス手段０１０４，０１１４が要求を受けるたびに情報共有装置０１２２を直接操作していたが、共有情報アクセス手段はメモリ上に情報共有装置内のプロセス状態情報をキャッシュしてもよい。ただし、この場合、他のプロセス実行装置によって情報共有装置内のプロセス状態情報が更新される可能性があるため、このような更新を検出し、キャッシュを更新あるいは破棄してキャッシュと情報共有装置内のプロセス状態情報とを無矛盾に保つ必要がある。
【０１５０】
図１１は、本発明の第４の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、複数のプロセス実行装置０１０１，０１１１と、情報共有装置１１２２と、プロセス排他制御装置０１２１とによって、その主要部が構成されている。
【０１５１】
プロセス実行装置０１０１，０１１１は、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段１１０１，１１１１と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６とからそれぞれ構成されている。
【０１５２】
共有情報アクセス手段１１０１，１１１１は、内部にキャッシュテーブルを持ち、プロセス名およびプロセス状態情報の組を保持する。
【０１５３】
情報共有装置１１２２には、プロセス状態情報テーブルおよびプロセス更新テーブルが置かれる。プロセス状態情報テーブルには、プロセス名およびプロセス状態情報の組が保持される。プロセス更新テーブルには、プロセス名および最終更新ノード名の組が保持される。
【０１５４】
なお、特に言及しないその他の手段等については、第１の実施の形態に係るプロセス実行システム０１３１における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【０１５５】
次に、このように構成された第４の実施の形態に係るプロセス実行システム０１３１の、第１の実施の形態に係るプロセス実行システム０１３１と異なる動作について、図１２のフローチャートを参照して説明する。
【０１５６】
図１２は、本発明の第４の実施の形態に係るプロセス実行システム０１３１における共有情報アクセス手段１１０１，１１１１の動作を表すフローチャートである。図５に示した第１の実施の形態における共有情報アクセス手段０１０４，０１１４と異なる動作について説明すると、共有情報アクセス手段１１０１，１１１１は、共有情報を操作した後、ステップＳ１２３２，ステップＳ１２４２，ステップＳ１２５２などでプロセス状態情報のキャッシュへの追加を行う。また、共有情報アクセス手段１１０１，１１１１は、ステップＳ０５１２で排他制御権を獲得した後、ステップＳ１２１１でプロセス更新テーブルの最終更新ノード名に記載されたホスト名が自身のホスト名と同じであるか否かをチェックし、ステップＳ１２１２で違う場合、ステップＳ１２１３で該当プロセスのキャッシュの破棄を行う。さらに、共有情報アクセス手段１１０１，１１１１は、ステップＳ０５３２やステップＳ０５４２でプロセス状態情報の格納や更新をした後、ステップＳ１２３１やステップＳ１２４１でプロセス更新テーブルの最終更新ノード名に自身のホスト名を設定する。さらにまた、共有情報アクセス手段１１０１，１１１１は、ステップＳ０５５１で共有情報獲得要求の場合、ステップＳ１２５１で該当プロセスのプロセス状態情報のキャッシュの有無を調べ、あれば、ステップＳ１２５３で情報共有装置１１２２にアクセスする代わりに、このキャッシュされたプロセス状態情報を使用する。
【０１５７】
第４の実施の形態によれば、キャッシュが利用できる場合、情報共有装置１１２２へのアクセスが不要となり、実行速度向上が図れる他、負荷が集中しやすい情報共有装置１１２２への負荷を軽減することが可能となる。
【０１５８】
［第５の実施の形態］
次に、本発明の第５の実施の形態について図面を参照して詳細に説明する。
【０１５９】
図１に示した第１の実施の形態に係るプロセス実行システム０１３１では、実行制御情報はノード固有情報管理手段０１０３，０１１３のみで管理されており、あるプロセスの実行制御情報を持たないプロセス実行装置０１０１，０１１１ではプロセスの連続実行の状態を変更することができなかったが、情報共有装置内に実行制御情報変更要求を持たせ、プロセスの実行制御情報を持つプロセス実行装置がこれを取り出してノード固有情報管理手段に反映することで、任意のプロセス実行装置でプロセスの連続実行の状態を変更可能にすることもできる。
【０１６０】
図１３は、本発明の第５の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、複数のプロセス実行装置０１０１，０１１１と、情報共有装置１３２２と、プロセス排他制御装置０１２１とによって、その主要部が構成されている。
【０１６１】
プロセス実行装置０１０１，０１１１は、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段１３０１，１３１１と、実行制御情報変更要求監視手段１３０２，１３１２と、共有情報アクセス手段１３０５，１３１５と、プロセス操作手段１３０３，１３１３と、メッセージ受信手段１３０４，１３１４とからそれぞれ構成されている。
【０１６２】
ノード固有情報管理手段１３０１，１３１１は、ノード固有情報テーブルと、対象プロセステーブルとを持つ。ノード固有情報テーブルには、プロセスの実行制御情報が保持される。対象プロセステーブルには、操作対象プロセスのプロセス名が保持される。
【０１６３】
実行制御情報変更要求監視手段１３０２，１３１２は、ノード固有情報管理手段１３０１，１３１１の対象プロセステーブルと共有情報アクセス手段１３０５，１３１５が管理する実行制御情報変更要求に関する情報とを監視し、これに基づいてノード固有情報管理手段１３０１，１３１１のノード固有情報テーブルにおけるプロセスの実行制御情報を変更する。
【０１６４】
情報共有装置１３２２には、プロセス状態情報テーブルおよび実行制御情報変更要求テーブルが置かれる。プロセス状態情報テーブルには、プロセス名およびプロセス状態情報の組が保持される。実行制御情報変更要求テーブルには、プロセス名および変更要求の組が保持される。
【０１６５】
なお、特に言及しないその他の手段等については、第１の実施の形態に係るプロセス実行システム０１３１における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【０１６６】
次に、このように構成された第５の実施の形態に係るプロセス実行システム０１３１の、第１の実施の形態に係るプロセス実行システム０１３１と異なる動作について、図１４ないし図１７のフローチャートを参照して説明する。
【０１６７】
図１４は、本発明の第５の実施の形態に係るプロセス実行システム０１３１におけるノード固有情報管理手段１３０１，１３１１の動作を表すフローチャートである。図４に示した第１の実施の形態におけるノード固有情報管理手段０１０３，０１１３と異なる動作について説明すると、ノード固有情報管理手段１３０１，１３１１は、ステップＳ０４１２で実行制御情報が追加されると、ステップＳ１４０１で対象プロセステーブルにプロセス名を追加し、ステップＳ１４５１で対象プロセス名獲得要求を受けると、ステップＳ１４５２で対象プロセステーブルにあるプロセス名一覧を獲得し、ステップＳ１４５３でプロセス名一覧を要求元に返す。
【０１６８】
図１５は、本発明の第５の実施の形態に係るプロセス実行システム０１３１における実行制御情報変更要求監視手段１３０２，１３１２の動作を表すフローチャートである。実行制御情報変更要求監視手段１３０２，１３１２は、ステップＳ１５０１で一定時間停止し、ステップＳ１５０２でノード固有情報管理手段１３０１，１３１１に対象プロセス獲得要求を出して自プロセス実行装置が連続実行しているプロセスのプロセス名一覧を獲得し、ステップＳ１５０３で共有情報アクセス手段１３０５，１３１５にプロセス名一覧を渡して該当する実行制御情報変更要求を取り出し、ステップＳ１５０４で要求内容に応じてノード固有情報管理手段１３０１，１３１１に実行制御情報変更要求を出す。
【０１６９】
図１６は、本発明の第５の実施の形態に係るプロセス実行システム０１３１におけるプロセス操作手段１３０３，１３１３の動作を示すフローチャートである。図２に示した第１の実施の形態におけるプロセス操作手段０１０５，０１１５と異なる動作について説明すると、プロセス操作手段１３０３，１３１３は、ステップＳ０２２１でプロセス操作要求でなければ、ステップＳ１６０１でプロセスの実行制御情報変更要求であった場合、ステップＳ１６０２で情報共有装置１３２２にプロセスの実行制御情報変更要求の格納要求を出す。
【０１７０】
図１７は、本発明の第５の実施の形態に係るプロセス実行システム０１３１におけるメッセージ受信手段１３０４，１３１４の動作を示すフローチャートである。図６に示した第１の実施の形態におけるメッセージ受信手段０１０６，０１１６と異なる動作について説明すると、メッセージ受信手段１３０４，１３１４は、ステップＳ０６１３で既存プロセス宛メッセージであった場合、ステップＳ０６１５でプロセス操作要求でメッセージをプロセスに渡した後に、ステップＳ１７０１でプロセス操作手段１３０３，１３１３にプロセスの実行再開要求を出し、メッセージ受信待ちで一時停止中のプロセスの実行を再開させる。
【０１７１】
実行制御情報変更要求が情報共有装置１３２２上に置かれるため、これを処理する毎にプロセス実行装置０１０１，０１１１と情報共有装置１３２２との間の通信オーバーヘッドが発生する。これは、従来技術のノード状態非保持型における要求分配装置の利用によるものと似た現象であるが、第５の実施の形態では、通常の連続実行はノード固有情報管理手段１３０１，１３１１のみで行われるため、プロセス操作手段１３０３，１３１３を介した実行制御情報変更要求が連続実行における実行制御情報の操作よりも低い頻度であれば、ノード状態非保持型における要求分配装置の利用よりも通信オーバーヘッドを少なく抑えることができる。これは、プロセスがメッセージ受信待ちで一時停止して、メッセージ受信手段１３０４，１３１４がメッセージの受信に合わせて実行を再開させる必要がある場面で有効である。
【０１７２】
［第６の実施の形態］
次に、本発明の第６の実施の形態について図面を参照して詳細に説明する。
【０１７３】
図１に示した第１の実施の形態に係るプロセス実行システム０１３１では、全てのプロセス状態情報を情報共有装置０１２２に格納していたが、一部のプロセス状態情報を情報共有装置ではなく、ノード固有情報管理手段に格納するようにしてもよい。ノード固有情報管理手段に格納したプロセス状態情報は通信や排他制御が不要なため、情報共有装置に格納するよりも高速に連続実行することが可能となる。ただし、このままでは他のプロセス実行装置から操作できなくなるため、プロセス操作手段が他のプロセス実行装置のプロセス操作手段を操作可能にする必要がある。
【０１７４】
図１８は、本発明の第６の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、複数のプロセス実行装置０１０１，０１１１と、情報共有装置０１２２と、プロセス排他制御装置０１２１とによって、その主要部が構成されている。
【０１７５】
プロセス実行装置０１０１，０１１１は、プロセス実行装置決定手段２５０１，２５１１と、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段２５０３，２５１３と、共有情報アクセス手段０１０４，０１１４と、プロセス操作手段２５０２，２５１２と、メッセージ受信手段０１０６，０１１６とからそれぞれ構成されている。
【０１７６】
プロセス実行装置決定手段２５０１，２５１１は、プロセス名からそのプロセスを連続実行しているプロセス実行装置０１０１，０１１１，およびプロセス状態情報が情報共有装置０１２２に管理されているか否かを調べる。
【０１７７】
プロセス操作手段２５０２，２５１２は、通信機構を持つ。通信機構は、他のプロセス実行装置０１０１，０１１１の通信機構に接続される。
【０１７８】
ノード固有情報管理手段２５０３，２５１３は、ノード固有情報テーブルと、プロセス状態情報テーブルとを持つ。
【０１７９】
なお、特に言及しないその他の手段等については、第１の実施の形態に係るプロセス実行システム０１３１における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【０１８０】
次に、このように構成された第６の実施の形態に係るプロセス実行システム０１３１の、第１の実施の形態に係るプロセス実行システム０１３１と異なる動作について、図１９および図２０のフローチャートを参照して説明する。
【０１８１】
図１９は、本発明の第６の実施の形態に係るプロセス実行システム０１３１におけるプロセス操作手段２５０２，２５１２の動作を示すフローチャートである。図２および図１６に示したプロセス操作手段０１０５，０１１５および１３０３，１３１３と異なる動作について説明すると、プロセス操作手段２５０２，２５１２は、ステップＳ０２２１でプロセス操作要求を受けたときに、ステップＳ２６０１でプロセス実行装置決定手段２５０１，２５１１で操作対象プロセスのプロセス状態情報が情報共有装置０１２２に管理されているか否か（共有プロセスか否か）を調べ、管理されていれば通常通り共有情報アクセス手段０１０４，０１１４を用いて操作を行い、管理されていなければステップＳ２６１１でプロセス実行装置決定手段２５０１，２５１１でプロセスを所持しているプロセス実行装置０１０１，０１１１を調べ、プロセス実行装置０１０１，０１１１が他のプロセス実行装置であれば、ステップＳ２６２１でそのプロセス実行装置のプロセス操作手段２５０２，２５１２に通信機構を介してプロセス操作要求を転送し、ステップＳ２６２２で結果を受け取る。一方、プロセス実行装置０１０１，０１１１がステップＳ２６１１で自プロセス実行装置であれば、ステップＳ２６１２でノード固有情報管理手段２５０３，２５１３からプロセス状態情報を獲得し、ステップＳ２６１３で獲得したプロセス状態情報を用いて要求された操作処理を行い、ステップＳ２６１４でノード固有情報管理手段２５０３，２５１３に操作処理の結果更新されたプロセス状態情報の更新要求を行う。また、プロセス生成要求時にプロセス状態情報を共有するか否かを要求元に指定してもらい、ステップＳ２６３１で要求が非共有だった場合、ステップＳ２６３２でプロセス状態情報をノード固有情報管理手段２５０３，２５１３に格納する。
【０１８２】
図２０は、本発明の第６の実施の形態に係るプロセス実行システム０１３１におけるプロセス連続実行手段０１０２，０１１２の動作を示すフローチャートである。図３に示したプロセス連続実行手段０１０２，０１１２の動作と相違する点を説明すると、プロセス連続実行手段０１０２，０１１２は、ステップＳ２７０１でプロセス実行装置決定手段２５０１，２５１１で実行するプロセスのプロセス状態情報が情報共有装置０１２２に管理されているか否か（共有プロセスか否か）を調べ、管理されていなければ、ステップＳ２７１１でノード固有情報管理手段２５０３，２５１３からプロセス状態情報を獲得し、ステップＳ２７１２でプロセスを実行して、ステップＳ２７１３で実行制御情報を変更した後、ステップＳ２７１４でノード固有情報管理手段２５０３，２５１３のプロセス状態情報を更新する。
【０１８３】
情報を共有しないプロセスは連続実行が高速に行える半面、連続実行していない他のプロセス実行装置０１０１，０１１１からの操作は遅くなる。また、情報を共有しているプロセスは情報共有装置０１２２さえ利用可能であれば常にプロセス操作が行えるが、情報を共有しないプロセスは連続実行しているプロセス実行装置０１０１，０１１１が障害などで利用できないとプロセス操作が行えないなど、本発明で得られる効果は共有しないプロセスでは得ることができない。第６の実施の形態によれば、各々のプロセス毎に必要とされる性能の性質に応じて両方式のいずれかを選択することが可能となる。
【０１８４】
［第７の実施の形態］
図２１は、本発明の第７の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、図１に示した第１の実施の形態に係るプロセス実行システム０１３１のプロセス実行装置０１０１，０１１１に対してプロセス実行プログラム２１００をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１８５】
プロセス実行プログラム２１００は、コンピュータでなるプロセス実行装置０１０１，０１１１に読み込まれ、プロセス実行装置０１０１，０１１１の動作を、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段０１０４，０１１４と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６として制御する。プロセス実行プログラム２１００の制御によるプロセス実行装置０１０１，０１１１の動作は、第１の実施の形態におけるプロセス実行装置０１０１，０１１１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１８６】
［第８の実施の形態］
図２２は、本発明の第８の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、図７に示した第２の実施の形態に係るプロセス実行システム０１３１のプロセス実行装置０１０１，０１１１に対してプロセス実行プログラム２２００をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１８７】
プロセス実行プログラム２２００は、コンピュータでなるプロセス実行装置０１０１，０１１１に読み込まれ、プロセス実行装置０１０１，０１１１の動作を、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段０７０１，０７１１と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６として制御する。プロセス実行プログラム２２００の制御によるプロセス実行装置０１０１，０１１１の動作は、第２の実施の形態におけるプロセス実行装置０１０１，０１１１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１８８】
［第９の実施の形態］
図２３は、本発明の第９の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、図９に示した第３の実施の形態に係るプロセス実行システム０１３１のプロセス実行装置０１０１，０１１１に対してプロセス実行プログラム２３００をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１８９】
プロセス実行プログラム２３００は、コンピュータでなるプロセス実行装置０１０１，０１１１に読み込まれ、プロセス実行装置０１０１，０１１１の動作を、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段０９０１，０９１１と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６として制御する。プロセス実行プログラム２３００の制御によるプロセス実行装置０１０１，０１１１の動作は、第３の実施の形態におけるプロセス実行装置０１０１，０１１１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１９０】
［第１０の実施の形態］
図２４は、本発明の第１０の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、図１１に示した第４の実施の形態に係るプロセス実行システム０１３１のプロセス実行装置０１０１，０１１１に対してプロセス実行プログラム２４００をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１９１】
プロセス実行プログラム２４００は、コンピュータでなるプロセス実行装置０１０１，０１１１に読み込まれ、プロセス実行装置０１０１，０１１１の動作を、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段０１０３，０１１３と、共有情報アクセス手段１１０１，１１１１と、プロセス操作手段０１０５，０１１５と、メッセージ受信手段０１０６，０１１６として制御する。プロセス実行プログラム２４００の制御によるプロセス実行装置０１０１，０１１１の動作は、第４の実施の形態におけるプロセス実行装置０１０１，０１１１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１９２】
［第１１の実施の形態］
図２５は、本発明の第１１の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、図１３に示した第５の実施の形態に係るプロセス実行システム０１３１のプロセス実行装置０１０１，０１１１に対してプロセス実行プログラム２５００をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１９３】
プロセス実行プログラム２５００は、コンピュータでなるプロセス実行装置０１０１，０１１１に読み込まれ、プロセス実行装置０１０１，０１１１の動作を、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段１３０１，１３１１と、実行制御情報変更要求監視手段１３０２，１３１２と、共有情報アクセス手段１３０５，１３１５と、プロセス操作手段１３０３，１３１３と、メッセージ受信手段１３０４，１３１４として制御する。プロセス実行プログラム２５００の制御によるプロセス実行装置０１０１，０１１１の動作は、第５の実施の形態におけるプロセス実行装置０１０１，０１１１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１９４】
［第１２の実施の形態］
図２６は、本発明の第１２の実施の形態に係るプロセス実行システム０１３１の構成を示すブロック図である。本実施の形態に係るプロセス実行システム０１３１は、図１８に示した第６の実施の形態に係るプロセス実行システム０１３１のプロセス実行装置０１０１，０１１１に対してプロセス実行プログラム２６００をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１９５】
プロセス実行プログラム２６００は、コンピュータでなるプロセス実行装置０１０１，０１１１に読み込まれ、プロセス実行装置０１０１，０１１１の動作を、プロセス連続実行手段０１０２，０１１２と、ノード固有情報管理手段２５０３，２５１３と、共有情報アクセス手段０１０４，０１１４と、プロセス操作手段２５０２，２５１２と、メッセージ受信手段０１０６，０１１６と、プロセス実行装置決定手段２５０１，２５１１として制御する。プロセス実行プログラム２６００の制御によるプロセス実行装置０１０１，０１１１の動作は、第６の実施の形態におけるプロセス実行装置０１０１，０１１１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１９６】
【実施例】
次に、本発明の実施の形態に係るプロセス実行システム０１３１について、具体的な実施例を用いて説明する。なお、本実施例は、第１，第２，第３および第５の実施の形態に基づくものである。
【０１９７】
図２７は、本実施例を用いた、クラスタ化されたプロセス実行システム０１３１の構成を示すブロック図である。クラスタ化されたプロセス実行システム０１３１は、ネットワークで相互に接続された５台の計算機、計算機Ａ１８３１，計算機Ｂ１８３２，計算機Ｃ１８３３，計算機Ｄ１８３４，および計算機Ｅ１８３５によって構成される。２台の計算機Ａ１８３１，Ｂ１８３２の上では、本実施例であるプロセス実行装置０１０１，０１１１が動作し、２台の計算機Ｃ１８３３，Ｄ１８３４の上では情報共有・排他制御装置の好適な実施例であるデータベース１８２１，１８２２が動作し、１台の計算機Ｅ１８３５の上で負荷分散装置１８２３が動作する。
【０１９８】
本実施例であるプロセス実行装置０１０１，０１１１には、それぞれプロセス連続実行手段０１０２，０１１２と、プロセス操作手段１３０３，１３１３と、ノード固有情報管理手段１３０１，１３１１と、共有情報アクセス手段１８０１，１８１１と、メッセージ受信手段１３０５，１３１５と、実行制御情報変更要求監視手段１３０２，１３１２と、プロセス定義管理手段１８０２，１８１２と、プロセス名発行手段１８０３，１８１３と、メッセージ送信手段１８０４，１８１４と、メッセージ受信手段１８０５，１８１５とが存在する。
【０１９９】
プロセス定義管理手段１８０２，１８１２は、プロセス実行装置０１０１，０１１１が実行可能なプログラムであるプロセス定義をデータベース１８２１上に保持し、他のプロセス実行装置０１０１，０１１１と共有している。
【０２００】
本実施例では、プロセス定義は、フロー形式で、処理コンポーネントであるアクティビティ，開始アクティビティやアクティビティ間の実行順序を規定する順序制約，およびプロセスの持つ変数リストからなるものとする。
【０２０１】
また、プロセス名発行手段１８０３，１８１３は、クラスタ化されたプロセス実行システム０１３１内で永遠に一意なプロセス名を発行する。プロセス名は、整数値のＩＤ（ＩＤｅｎｔｉｆｉｅｒ）であり、既に発行済みのＩＤは、データベース１８２１で保持されプロセス実行装置０１０１，０１１１間で共有されて、プロセス名の重複が無いように管理される。
【０２０２】
メッセージ送信手段１８０４，１８１４は、外部システムにネットワークを介して接続され、プロセス連続実行手段０１０２，０１１２からメッセージの送信要求を受けると、そのメッセージを指定された外部システム宛に送信する。メッセージは、ＸＭＬで記述されたＷｅｂサービスメッセージである。
【０２０３】
メッセージ受信手段１８０５，１８１５は、ＸＭＬで記述されたＷｅｂサービスメッセージをＨＴＴＰ通信プロトコルを用いて受信する。また、メッセージ受信手段１８０５，１８１５は、データベース１８２１に接続され、データベース１８２１上には、受信待ちプロセステーブルおよびメッセージ種別テーブルが置かれる。受信待ちプロセステーブルは、受信待ちプロセス名，メッセージ配送ルールおよびメッセージ処理ルールを保持している。メッセージ配送ルールは、ＸＭＬ要素指定式およびその値で、メッセージ処理ルールは、メッセージから必要な情報を抜き出しプロセスに設定するためのルールである。また、メッセージ種別テーブルは、メッセージ種別判定ルールおよびメッセージ処理プロセス定義名を保持している。メッセージ種別判定ルールは、ＸＭＬ要素指定式およびその値であり、メッセージ処理ルールは、メッセージから必要な情報を抜き出しプロセスに設定するためのルールである。
【０２０４】
プロセス情報は、プロセス状態情報であるプロセスの変数リストと、実行制御情報であるプロセスが次に実行すべきアクティビティを示す実行イベントとからなる。実行イベントは、プロセス名，アクティビティ名，および実行予定時刻からなる。
【０２０５】
ノード固有情報管理手段１３０１，１３１１は、ノード固有情報テーブルに実行イベントを保持する。ノード固有情報テーブルは、システム障害に備えて外部２次記憶上にも保存される。
【０２０６】
情報共有装置であるデータベース１８２１，１８２２は、プロセス状態情報テーブルとして、プロセス名，変数名，および変数値からなるテーブルを持つ。また、プロセス状態以外の共有情報として、プロセス定義テーブルと、発行済みプロセス名テーブルとを持つ。また、複数のデータベース１８２１，１８２２のうちの１台のみ、ここでは、データベース１８２１は、プロセス状態情報テーブル以外の情報保持用の汎用データベースとしても用いられ、受信待ちプロセステーブルと、メッセージ種別テーブルと、プロセス定義テーブルとを持つ。
【０２０７】
各データベース１８２１，１８２２には、クラスタ化されたプロセス実行システム０１３１内で一意なデータベース名が付けられ、このデータベース名をもってプロセス実行装置０１０１，０１１１からアクセスされる。データベース名は、整数値であり、０から始まり、（データベース数−１）まで連続でふられている。ここでは、データベース１８２１がデータベース０、データベース１８２２がデータベース１となる。
【０２０８】
共有情報アクセス手段１８０１，１８１１は、情報共有・排他制御装置決定機構として、プロセス名のデータベース台数２による剰余結果を返す計算機構を持っている。
【０２０９】
メッセージ受信手段１８０５，１８１５は、負荷分散装置１８２３に接続される。
【０２１０】
負荷分散装置１８２３は、クラスタ化されたプロセス実行システム１０３１外の外部システムにネットワークを介して接続される。負荷分散装置１８２３は、外部システムからの通信を受信し、適当なプロセス実行装置０１０１，０１１１のメッセージ受信手段１８０５，１８１５に通信を転送し、その通信へのメッセージ受信手段１８０５，１８１５からの応答を外部システムに返す。負荷分散装置１８２３の好適な実施例は、ＨＴＴＰ用の負荷分散装置であり、ＨＴＴＰ要求を受け付け、ランダムにＨＴＴＰ要求をメッセージ受信手段１８０５，１８１５に振り分ける。
【０２１１】
次に、本実施例の動作を説明する。
【０２１２】
データベース１８２１のプロセス定義テーブルには、予め“購入要求処理”という名前のプロセス定義が登録されているものとする。
【０２１３】
図２８は、購入要求処理１９０１のプロセス定義の概念図である。符号１９０２，１９０３，１９０４，１９０５，１９０６は、それぞれアクティビティであり、各々に実行プログラムが対応付けられている。特に、符号１９０５は、通信受信待ちで一時停止することを表している。符号１９１１は、プロセスが持つ変数のリストである。符号１９２１および１９２２は、プロセスの実行開始点および終了点を表す制御記号であり、アクティビティ間の矢印は、アクティビティ間の実行の順序制約である。
【０２１４】
データベース１８２１のメッセージ種別テーブルには、ＸＭＬ要素指定式としてタグ、値として“購入要求”、メッセージ処理プロセス定義名として“購入要求処理”が登録されている。
【０２１５】
本実施例を用いたクラスタ化されたプロセス実行システム０１３１に対して外部システムからメッセージが送られると、負荷分散装置１８２３は、これを受信し、適当なプロセス実行装置（以下、プロセス実行装置０１０１とする）を決定してそのメッセージ受信手段１８０５にメッセージを転送する。
【０２１６】
図２９は、受信したＸＭＬメッセージ２００１を示す。なお、図２９は、正しいＷｅｂサービスメッセージではないが、説明のために簡略化する。
【０２１７】
メッセージ受信手段１８０５は、受信メッセージのＸＭＬ文章にメッセージ種別判定ルールを適用し、指定されたＸＭＬ要素指定式を持ち、かつその値がルールで指定された値であるか否かを全てのルールについてチェックする。ここでは、ルールが登録されていないので１つも該当しない。次に、メッセージ受信手段１８０５は、メッセージ種別テーブルを参照し、登録されているルールをチェックする。ここでは、指定された値が“購入要求”なのでルールにマッチし、メッセージ処理プロセス定義名は購入要求処理に決定される。メッセージ処理プロセス定義名が決定すると、メッセージ受信手段１８０５は、メッセージ処理ルールを調べ、メッセージに含まれる情報からプロセスの変数の初期値を決定し、プロセス定義名および変数の初期値を指定してプロセス生成要求をプロセス操作手段１３０３に出す。ここでは、プロセス定義名が“購入要求処理”、変数は“顧客名”および“商品名”がそれぞれ“日電太郎”および“コンピュータ”に指定される。
【０２１８】
プロセス生成要求を受けたプロセス操作手段１３０３は、まず、プロセス名発行手段１８０３にプロセス名の発行を要求し、新たなプロセス名“１０”を受ける。次に、プロセス操作手段１３０３は、プロセス定義管理手段１８０２から購入要求処理のプロセス定義を取り出し、その変数リストを取り出し、変数の初期値を設定する。続いて、プロセス操作手段１３０３は、この変数リストをプロセス状態情報として、プロセス名を添えて共有情報アクセス手段１８０１に格納要求を出す。
【０２１９】
共有情報アクセス手段１８０１は、まず、このプロセスに対して使用するデータベースを情報共有・排他制御装置決定機構を用いて決定する。ここでは、プロセス名が“１０”であるから、２の剰余結果である“０”をデータベース名とするデータベース１８２１を決定する。次に、共有情報アクセス手段１８０１は、データベース１８２１に要求されたプロセス名，変数名および変数値を追加する。
【０２２０】
次に、プロセス操作手段１３０３は、プロセス定義の順序制約から実行開始のためのアクティビティを決定し、プロセス名“１０”，アクティビティ名“受注管理番号発行”，および実行予定時刻“今”の実行イベント格納要求をノード固有情報管理手段１３０１に出す。
【０２２１】
ノード固有情報管理手段１３０１は、実行イベント格納要求を受けて実行制御情報としてプロセス名“１０”，アクティビティ名“受注管理番号発行”，および実行予定時刻“今”の実行イベントをノード固有情報テーブルに格納する。
【０２２２】
実行イベントを格納すると、プロセス操作手段１３０３は、プロセス名“１０”とともにプロセス生成成功をメッセージ受信手段１８０５に返す。
【０２２３】
メッセージ受信手段１８０５は、プロセス生成成功を通知されると、メッセージ受信に成功したとして通信元に結果を返す。
【０２２４】
一方、プロセス連続実行手段０１０２は、ノード固有情報管理手段１３０１を監視し、実行イベントが追加されると、これを取り出して実行を開始する。
【０２２５】
まず、プロセス連続実行手段０１０２は、プロセス名“１０”の排他制御権獲得要求を共有情報アクセス手段１８０１に出す。
【０２２６】
共有情報アクセス手段１８０１は、プロセス名から使用するデータベースをデータベース１８２１に決定し、データベース１８２１のプロセス名“１０”のデータに対してレコードのロック要求を出す。
【０２２７】
排他制御権の獲得に成功すると、プロセス連続実行手段０１０２は、プロセス名“１０”のプロセス状態情報の獲得要求を共有情報アクセス手段１８０１に出す。
【０２２８】
共有情報アクセス手段１８０１は、プロセス名から使用するデータベースをデータベース１８２１に決定し、データベース１８２１からプロセス名“１０”の変数名および変数値を全て取り出し、これをプロセス状態情報としてプロセス連続実行手段０１０２に返す。
【０２２９】
次に、プロセス連続実行手段０１０２は、プロセス定義管理手段１８０２から実行イベントに記された実行対象のアクティビティを取り出し、プロセス状態情報を用いてこのアクティビティのプログラムを実行する。ここでは、プログラムにより受注管理番号“１２３４５”が発行され、変数“受注管理番号”に設定されるとする。
【０２３０】
プログラムの実行が終了すると、プロセス連続実行手段０１０２は、プロセス定義管理手段１８０２から順序制約を取り出し、実行結果およびプロセスの状態を基に次に実行すべきアクティビティおよび実行予定時刻を決定し、これを新たな実行イベントとしてノード固有情報管理手段１３１１のノード固有情報テーブルに追加する。ここでは、アクティビティが“商品在庫確認”、実行予定時刻が現時刻となる。
【０２３１】
次に、プロセス連続実行手段０１０２は、実行の結果更新された変数“受注管理番号”の値について、プロセス状態情報の更新としてプロセス名“１０”、変数名“受注管理番号”、変数値“１２３４５”の更新要求を共有情報アクセス手段１８０１に出す。
【０２３２】
共有情報アクセス手段１８０１は、プロセス名から使用するデータベースをデータベース１８２１に決定し、データベース１８２１にプロセス名“１０”の変数“受注管理番号”の変数値の更新要求を出す。
【０２３３】
次に、プロセス連続実行手段０１０２は、プロセス名“１０”の排他制御権の解放要求を共有情報アクセス手段１８０１に行う。
【０２３４】
共有情報アクセス手段０１０２は、プロセス名から使用するデータベースをデータベース１８２１に決定し、データベース１８２１にプロセス名“１０”のロックの解放を要求する。
【０２３５】
以上で、プロセス連続実行手段０１０２による１つの実行アイテムの実行が完了し、プロセス連続実行手段０１０２は、再びノード固有情報管理手段１３０１の監視に戻り、実行可能な実行アイテムを次々に実行して行くことで、プロセスの連続した実行を実現している。
【０２３６】
アクティビティ“配送予約要求送信”のプログラムでは、メッセージの生成および送信要求、また将来受信する予定の返信メッセージの受信予約を行う。プログラムによってＸＭＬ形式のＷｅｂメッセージが生成され、送信要求が行われると、メッセージ送信手段１８０４は、要求されたメッセージを要求された外部システムに転送する。また、プログラムが返信メッセージの区別方法として、ＸＭＬ要素指定式としてタグ、値として“１２３４５”を指定してメッセージ受信手段１８０５に受信予約を行うと、メッセージ受信手段１８０５は、この区別方法をメッセージ配送ルールとして、予約元のプロセスのプロセス名と合わせてデータベース１８２１の受信待ちプロセステーブルに追加する。
【０２３７】
次に、外部システムからプロセス名“１０”の送信メッセージへの返信メッセージが送られると、負荷分散装置１８２３は、適当にプロセス実行装置０１０１，０１１１のいずれかに通信を転送する。
【０２３８】
図３０は、受信したＸＭＬメッセージ２１０１を示す。なお、図３０は、正しいＷｅｂサービスメッセージではないが、説明のために簡略化する。
【０２３９】
ここで、プロセス名“１０”のプロセスが生成され実行されていたプロセス実行装置０１０１とは異なるプロセス実行装置０１１１に返信メッセージが転送された場合、プロセス実行装置０１１１のメッセージ受信手段１８１５は、データベース１８２１の受信待ちプロセステーブルからメッセージ配送ルールを取り出し、受信メッセージに対して評価する。ここで、受信メッセージにタグが含まれ、かつその値が“１２３４５”であることから、メッセージ受信手段１８１５は、このメッセージをプロセス名“１０”のプロセスに配送すべきメッセージと判断する。そして、メッセージ処理ルールを調べてメッセージに含まれる情報からプロセスの変数“配送日時”の値を“２０００／１／１”に設定することを決定し、変数の設定要求をプロセス操作手段１３１３に出す。
【０２４０】
プロセス操作手段１３１３は、プロセス名“１０”のプロセスの排他制御権獲得要求を共有情報アクセス手段１８１１に出す。
【０２４１】
共有情報アクセス手段１８１１は、プロセス名から使用するデータベースをデータベース１８２１に決定し、データベース１８２１におけるプロセス名“１０”のデータに対してレコードのロック要求を出す。
【０２４２】
排他制御権の獲得に成功すると、プロセス操作手段１３１３は、プロセス状態情報の更新としてプロセス名“１０”、変数名“配送日時”の更新要求を共有情報アクセス手段１８１１に出す。
【０２４３】
共有情報アクセス手段１８１１は、プロセス名“１０”から使用するデータベースをデータベース１８２１に決定し、データベース１８２１にプロセス名“１０”、変数“配送日時”の変数値の更新要求を出す。
【０２４４】
次に、プロセス操作手段１３１３は、プロセス名“１０”の排他制御権の解放要求を共有情報アクセス手段１８１１に行う。
【０２４５】
共有情報アクセス手段１８１１は、プロセス名“１０”から使用するデータベースをデータベース１８２１に決定し、データベース１８２１にプロセス名“１０”のロックの解放を要求する。
【０２４６】
ロックを解放すると、プロセス操作手段１３１３は、受信メッセージ変数の設定成功をメッセージ受信手段１８１５に返す。
【０２４７】
メッセージ受信手段１８１５は、受信メッセージ変数の設定成功を通知されると、続いてプロセスの実行制御情報変更要求としてプロセスの実行再開要求をプロセス操作手段１３１３に出す。
【０２４８】
プロセス操作手段１３１３は、プロセス名“１０”の状態変更要求“実行再開”の格納要求を共有情報アクセス手段１８１１に出す。
【０２４９】
共有情報アクセス手段１８１１は、プロセス名“１０”から使用するデータベースをデータベース１８２１に決定し、データベース１８２１にプロセス名“１０”で要求内容“実行再開”を格納する。
【０２５０】
実行制御情報変更要求が完了すると、メッセージ受信手段１８１５は、メッセージ受信に成功したとして、受信待ちプロセステーブルから該当データを削除し、通信元に受信結果を返す。
【０２５１】
プロセス名“１０”のプロセスは、アクティビティ“配送予約結果受信待ち”で、メッセージ受信待ちになっていて、実行予定時刻無しの実行イベントをノード固有情報管理手段１３０１に入れている。
【０２５２】
プロセス連続実行手段０１０２は、実行予定時刻が無いので、この実行イベントは実行しない。
【０２５３】
プロセス実行装置０１０１の実行制御情報変更要求監視手段１３０２は、操作対象プロセスがプロセス名“１０”であることから、データベースの実行制御情報変更要求テーブルにプロセス名“１０”の要求が追加されるか否かを定期的にチェックする。ここで、データベース１８２１の実行制御情報変更要求テーブルに実行再開要求が格納されると、実行制御情報変更要求監視手段１３０２は、この要求を取り出し、要求が実行再開であることから、プロセス名“１０”の実行イベントの実行予定時刻の現在時刻への変更をノード固有情報管理手段１３０１に要求する。
【０２５４】
実行イベントの実行予定時刻が現在時刻に変更されると、プロセス連続実行手段０１０２は、この実行イベントの実行を開始する。
【０２５５】
データベース１８２１上のプロセス状態情報テーブルには変数名“配送日時”のデータが既に設定されているので、結果、プロセス実行装置０１０１上でプロセス名“１０”のプロセスが、メッセージを受信した状態で実行を再開し、“要求受領書送信”を行い、プロセスの実行を終了する。
【０２５６】
次に、複数のプロセスがプロセス実行装置上で生成され実行されている場合のシステムの状態を、例を用いて説明する。
【０２５７】
図３１は、プロセス実行装置０１０１ではプロセス１００，１０１，１０２，１０３が、プロセス実行装置０１１１ではプロセス１０４，１０５，１０６，１０７が、それぞれ生成された場合のクラスタ化されたプロセス実行システム０１３１の、各プロセス実行装置０１０１，０１１１のノード固有情報管理手段１３０１，１３１１とデータベース１８２１，１８２１のテーブルとの状態を示すイメージ図である。なお、一部の手段は省略している。
【０２５８】
ノード固有情報管理手段１３０１には、プロセス１００，１０１，１０２，１０３の実行イベントが、ノード固有情報管理手段１３１１には、プロセス１０４，１０５，１０６，１０７の実行イベントがそれぞれ格納され、このため、プロセス１００，１０１，１０２，１０３はプロセス実行装置０１０１、プロセス１０４，１０５，１０６，１０７はプロセス実行装置０１１１上でのみ連続実行される。
【０２５９】
一方、データベース１８２１にはプロセス１００，１０２，１０４，１０６のプロセス状態が、データベース１８２２にはプロセス１０１，１０３，１０５，１０７のプロセス状態がそれぞれ保存されており、これらはいずれのプロセス実行装置０１０１，０１１１からも、プロセス操作手段１３０３，１３１３を介して操作可能である。結果、プロセス操作手段１３０３，１３１３を利用するメッセージ受信手段１８０５，１８１５は、共に、全てのプロセス１００，１０１，１０２，１０３，１０４，１０５，１０６，１０７宛のメッセージを処理することができる。
【０２６０】
一方、個々のプロセス実行装置０１０１，０１１１へのプロセスの分配は、外部の負荷分散装置１８２３（図２７参照）によりなされることになる。負荷分散装置１８２３により振り分けられたメッセージのうち、新規にプロセスを生成するメッセージが適当に複数のプロセス実行装置０１０１，０１１１に振り分けられることで、結果的に個々のプロセス実行装置０１０１，０１１１で生成され連続実行されるプロセスの数も適当に分配されることになる。
【０２６１】
なお、本実施例では、プロセス定義の記述方式をフロー形式としたが、本発明は、プロセスの情報が実行制御情報とプロセス状態情報とに分離可能であれば、スクリプト言語や関数型言語などの他の記述方式でも利用可能である。
【０２６２】
また、本実施例では、通信方式をＷｅｂサービスとしていたが、他の通信方式も利用可能である。
【０２６３】
さらに、本実施例では、情報共有・排他制御装置としてデータベース１８２１，１８２２を使用していたが、ネットワークファイルシステム（ＮＦＳ）や、その他の情報共有に利用可能な装置やネットワークサービスも利用可能である。
【０２６４】
また、プロセス排他制御装置と情報共有装置とが異なる場合、それぞれ異なる数だけ用意して、負荷分散と利用する計算機資源の量とを調整することも可能である。
【０２６５】
さらに、本実施例では、共有情報アクセス手段１８０１，１８１１が複数の情報共有・排他制御装置の中から使用する装置を決定するのにプロセス名の数値から計算によって求める方式を利用していたが、汎用データベースにプロセス名および利用装置名のテーブルを持たせてこれを調べて利用する装置を決定したり、データの新規格納時には任意の情報共有装置に格納し、その後の操作時には利用可能な全ての装置で順次成功するまで操作を試みたり、などとすることも可能である。
【０２６６】
さらにまた、本実施例では、プロセス名として数値を利用していたが、プロセス名は数値以外の任意の固有情報でもよい。例えば、プロセス名を文字列とし、プロセス名に数値以外に生成されたプロセス実行装置名や使用するデータベース名，プロセス状態情報を共有しているか否かなどの情報をプロセス名に埋め込むと、情報共有・排他制御装置決定機構やプロセス実行装置決定手段がプロセス名の解析のみで必要な情報を獲得するようにすることが可能である。
【０２６７】
また、本実施例では、プロセス実行装置０１０１，０１１１，データベース１８２１，１８２２，および負荷分散装置１８２３を全て異なる計算機に配置していたが、これらの一部あるいは全てを同じ計算機に配置することも可能である。
【０２６８】
特に、プロセス実行装置０１０１，０１１１，およびデータベース１８２１，１８２２を同数用意し、１つの計算機にプロセス実行装置０１０１，０１１１，およびデータベース１８２１，１８２２を１つずつ配置して、情報共有・排他制御装置決定機構が自プロセス実行装置０１０１，０１１１で連続実行されるプロセスは同計算機内のデータベース１８２１，１８２２を利用するようにすれば、メッセージ受信によるプロセス操作よりも頻度の高いプロセス連続実行において、高速にデータベース１８２１，１８２２をアクセス可能になる。さらに、データベース１８２１，１８２２としてネットワークファイルシステムを利用すれば、同一計算機内のデータベース１８２１，１８２２のアクセスはローカルファイルシステムの操作となり、プロセスの連続実行ではクラスタ化されていない永続プロセス実行装置と変わらない速度で実行することが可能となる。
【０２６９】
また、本実施例では、負荷分散装置１８２３を用いて受信メッセージをプロセス実行装置０１０１，０１１１に振り分けたが、必ずしも負荷分散装置１８２３を利用する必要は無い。例えば、インターネットにおける負荷分散の実現方式として、ドメインネームサービス（ＤＮＳ）が同一のホスト名に対して異なるＩＰアドレスを返すことで負荷分散を実現する手法などがあるが、こうした方式を利用することも可能である。
【０２７０】
さらに、本実施例では、負荷分散装置１８３２は外部装置としてプロセス実行装置０１０１，０１１１と連動せずに適当にメッセージを分配していたが、これを、プロセス実行装置０１０１，０１１１が計算機の現在の負荷状況や実行制御情報から予測される将来の負荷状況の情報を提供し、負荷分散装置１８２３がこれらの情報に基づいてメッセージを振り分けるようにすることも可能である。
【０２７１】
さらにまた、本実施例では、クラスタ化されたプロセス実行システム０１３１の通信対象をネットワーク接続された外部システムとしていたが、外部システムは通常のＷｅｂサービスが想定するようなインターネットを介した接続には限定されない。例えば、外部システムがプロセス実行装置０１０１，０１１１などと同一のＬＡＮ内に存在したり、あるいはいずれかのプロセス実行装置０１０１，０１１１と同一の計算機上に存在したりすることも可能である。また、あるプロセスが自プロセスまたは他のプロセスにメッセージを送ることも可能である。
【０２７２】
また、本実施例では、メッセージ送信手段１８０４やメッセージ受信手段１８０５が使用する通信プロトコルはＨＴＴＰ、メッセージはＸＭＬで記述されたＷｅｂサービスメッセージとしていたが、他の任意の形式のプロトコルやメッセージ形式でも利用可能である。例えば、ＵＮＩＸ（登録商標）のリモートプロシジャコール（ＲＰＣ），ソケットによる通信，任意のプロセス間メッセージ方式，ファイルトランスファープロトコル（ｆｔｐ）やシンプルメールトランスファープロトコル（ｓｍｔｐ）などの通信をメッセージ送信手段１８０４やメッセージ受信手段１８０５で扱ってもよい。
【０２７３】
さらに、本実施例では、生成されたプロセスはそのままそのプロセス実行装置０１０１，０１１１で実行されていたが、実行制御情報を他のプロセス実行装置０１０１，０１１１に移動できるようにしてもよい。これにより、プロセス実行装置０１０１，０１１１の負荷が高くなった時に、そこで連続実行されていたプロセスを他のプロセス実行装置０１０１，０１１１に退避させ、負荷分散を行うことができる。
【０２７４】
【発明の効果】
本発明の第１の効果は、複数の計算機によるクラスタ化されたプロセス実行システムにおいて、プロセスが実行の過程で外部システムと通信を行いながら動作する場合に、プロセスの実行およびメッセージの受信を高速に行うことが可能であることである。その理由は、プロセスの連続実行はプロセス実行装置内のノード固有情報を用いて情報共有装置以外との通信を行わずに処理可能であると同時に、メッセージ受信はメッセージ内容の解析による適切な処理ノードへの配送無しに任意の処理ノードで実行可能であるためである。これは、プロセスの処理についてメッセージ受信と比較してプロセスの連続実行の割合が高く、かつＷｅｂサービスメッセージのような受信メッセージの内容解析が困難な通信の場合に有効である。特に、プロセス実行が永続プロセスである場合、クラスタ化を考慮していなくても、プロセス状態情報は元々２次記憶装置や外部記憶装置に保存されている。この情報の一部を複数のプロセス実行装置間で共有するようにするだけで本発明の形態になるため、クラスタ化を考慮していない永続プロセス実行装置と、本発明による永続プロセス実行装置は、連続実行に関してほぼ同等の実行性能が期待できる。
【０２７５】
本発明の第２の効果は、情報共有装置内のプロセス状態情報をプロセス実行装置内でキャッシュする場合の、キャッシュの利用効率が向上することである。その理由は、ある処理ノード上で操作する対象が特定のプロセスに集中しやすくなるためである。通常、キャッシュは情報共有装置と比較してごく小量のプロセス状態情報しか保持することはできないため、１つの処理ノード上で同時に多数のプロセスを処理すると、キャッシュが溢れ、プロセス処理時にキャッシュ内に該当プロセス状態情報が含まれない確率が高くなる。ノード状態非保持型では、全てのプロセスに関する処理が全ての処理ノードに均等に割り振られるため、個々の処理ノードで見ると同時に操作するプロセス数が多くなり、結果キャッシュが利用できない確率が高い。一方、本発明では、プロセスに関する処理が通常の連続実行とメッセージ受信処理とに分けられ、メッセージ受信処理のみが全ての処理ノードに均等に割り振られ、連続実行は特定の処理ノード上のみで行われるため、個々の処理ノードで見ると連続実行を行っているプロセスを扱う比率が他のプロセスと比較して極めて高くなり、結果キャッシュが利用できる確率も高くなる。ノード状態保持型では、処理ノード内で同時に操作されるプロセスがより限定されるため、本発明よりもキャッシュの利用効率はより高いが、本発明もこれに近い効果が得られる。
【０２７６】
本発明の第３の効果は、情報共有装置にデータベースを使用する場合、トランザクション管理を一プロセス実行装置内のみで行えることである。その理由は、異なるプロセス実行装置上で連続実行される複数のプロセスを、任意の１つのプロセス実行装置のみで行うことができるためである。プロセスの操作では、複数のプロセスを同時に扱う必要がある場合があり、このような場合に複数のプロセスの変更を確実に矛盾無く行うには、一般にトランザクション管理が必要となる。ノード状態保持型で異なるプロセス実行装置で連続実行される複数のプロセスを矛盾無く行おうとした場合、トランザクションは複数の計算機にまたがるため、２相コミットなどの分散トランザクション技術を使用しなければならないが、分散トランザクションは通常のトランザクションに比べて性能のオーバーヘッドが大きい。一方、本発明では、第６および第１２の実施の形態以外では、全てのプロセスの操作を任意の１つのプロセス実行装置のみで行うことができるため、操作するプロセスの連続実行の場所に関わらず、常に単一計算機での通常のトランザクションで処理を行うことができる。なお、ノード状態非保持型でも、本発明と同様に通常のトランザクションで処理を行うことができる。
【０２７７】
本発明の第４の効果は、特定プロセス宛の大量の通信メッセージを複数のプロセス実行装置に負荷分散して処理できることである。その理由は、任意のプロセス実行装置で任意のプロセス宛のメッセージを受信できるためである。ノード状態保持型ではプロセスの連続実行されるプロセス実行装置でしか通信メッセージを受信できないため、一度に特定のプロセス宛に大量のメッセージが届くと、そのプロセス実行装置に負荷が集中してしまう。一方、本発明では、メッセージの受信処理はプロセスの連続実行場所とは無関係に行えるため、このような場合でも受信処理の負荷分散を行うことが可能である。なお、ノード状態非保持型でも、本発明と同様に負荷分散を行うことができる。
【０２７８】
本発明の効果のポイントは、個々の効果に関してはノード状態保持型とノード状態非保持型とのいずれかの方式と同じかあるいは若干劣るものの、プロセスの連続実行に関してはノード状態保持型に近い利点が、通信メッセージの処理に関してはノード状態非保持型に近い利点が、１つの方式で同時に得られることにある。よって、通信処理と連続実行処理との双方が必要なシステムにおいて、本発明は多くの場面で有効に機能する。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るプロセス実行システムの構成を示すブロック図である。
【図２】第１の実施の形態に係るプロセス実行システムにおけるプロセス操作手段の動作を示すフローチャートである。
【図３】第１の実施の形態に係るプロセス実行システムにおけるプロセス連続実行手段の動作を示すフローチャートである。
【図４】第１の実施の形態に係るプロセス実行システムにおけるノード固有情報管理手段の動作を示すフローチャートである。
【図５】第１の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段の動作を示すフローチャートである。
【図６】第１の実施の形態に係るプロセス実行システムにおけるメッセージ受信手段の動作を示すフローチャートである。
【図７】本発明の第２の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図８】第２の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段の動作を示すフローチャートである。
【図９】本発明の第３の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図１０】第３の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段動作を示すフローチャートである。
【図１１】本発明の第４の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図１２】第４の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段の動作を示すフローチャートである。
【図１３】本発明の第５の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図１４】第５の実施の形態に係るプロセス実行システムにおけるノード固有情報管理手段の動作を示すフローチャートである。
【図１５】第５の実施の形態に係るプロセス実行システムにおける実行制御情報変更要求監視手段の動作を示すフローチャートである。
【図１６】第５の実施の形態に係るプロセス実行システムにおけるプロセス操作手段の動作を示すフローチャートである。
【図１７】第５の実施の形態に係るプロセス実行システムにおけるメッセージ受信手段の動作を示すフローチャートである。
【図１８】本発明の第６の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図１９】第６の実施の形態に係るプロセス実行システムにおけるプロセス操作手段の動作を示すフローチャートである。
【図２０】第６の実施の形態に係るプロセス実行システムにおけるプロセス連続実行手段の動作を示すフローチャートである。
【図２１】本発明の第７の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図２２】本発明の第８の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図２３】本発明の第９の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図２４】本発明の第１０の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図２５】本発明の第１１の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図２６】本発明の第１２の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図２７】本発明の実施例の構成を示すブロック図である。
【図２８】本発明の実施例で使用するプロセス定義の概念図である。
【図２９】本発明の実施例で使用するＸＭＬメッセージの一例を示す図である。
【図３０】本発明の実施例で使用するＸＭＬメッセージの他の例を示す図である。
【図３１】本発明の実施例の状態を示すイメージ図である。
【図３２】従来の技術の構成を示すブロック図である。
【図３３】従来の技術の構成を示すブロック図である。
【符号の説明】
０１０１，０１１１  プロセス実行装置
０１０２，０１１２  プロセス連続実行手段
０１０３，０１１３  ノード固有情報管理手段
０１０４，０１１４  共有情報アクセス手段
０１０５，０１１５  プロセス操作手段
０１０６，０１１６  メッセージ受信手段
０１２１  プロセス排他制御装置
０１２２  情報共有装置
０７０１，０７１１  共有情報アクセス手段
０７２１  情報共有・排他制御装置
０９０１ａ，０９０１ｂ  プロセス排他制御装置
０９０２ａ，０９０２ｂ  情報共有装置
０９０４，０９１４  共有情報アクセス手段
０９２１，０９２２  プロセス排他制御装置
０９２３，０９２４  情報共有装置
１１０１，１１１１  共有情報アクセス手段
１１２２  情報共有装置
１３０１，１３１１  ノード固有情報管理手段
１３０２，１３１２  実行制御情報変更要求監視手段
１３０３，１３１３  プロセス操作手段
１３０４，１３１４  メッセージ受信手段
１３０５，１３１５  共有情報アクセス手段
１３２２  情報共有装置
１８０１，１８１１  共有情報アクセス手段
１８０２，１８１２  プロセス定義管理手段
１８０３，１８１３  プロセス名発行手段
１８０４，１８１４  メッセージ送信手段
１８０５，１８１５  メッセージ受信手段
１８２１，１８２２  データベース
１８２３  負荷分散装置
１８３１，１８３２，１８３３，１８３４，１８３５  計算機
１９０１  プロセス定義
１９０２〜１９０６  アクティビティ
１９１１  変数リスト
１９２１，１９２２  制御記号
２００１  受信メッセージ
２１００，２２００，２３００，２４００，２５００，２６００  プロセス実行プログラム
２１０１  受信メッセージ
Ｓ０２０１〜Ｓ０２２６  ステップ
Ｓ０３０１〜Ｓ０３０８  ステップ
Ｓ０４０１〜Ｓ０４４３  ステップ
Ｓ０５０１〜Ｓ０５５３  ステップ
Ｓ０６０１〜Ｓ０６３２  ステップ
Ｓ０８０１〜Ｓ０８０５  ステップ
Ｓ１０１１〜Ｓ１０５１  ステップ
Ｓ１４０１〜Ｓ１４５３  ステップ
Ｓ１５０１〜Ｓ１５０４  ステップ
Ｓ１６０１〜Ｓ１６０２  ステップ
Ｓ１７０１  ステップ
Ｓ１２１１〜Ｓ１２５３  ステップ
Ｓ２６０１〜Ｓ２６３２  ステップ
Ｓ２７０１〜Ｓ２７１４  ステップ
【図１】
2004334723.tif 000003
【図２】
2004334723.tif 000004
【図３】
2004334723.tif 000005
【図４】
2004334723.tif 000006
【図５】
2004334723.tif 000007
【図６】
2004334723.tif 000008
【図７】
2004334723.tif 000009
【図８】
2004334723.tif 000010
【図９】
2004334723.tif 000011
【図１０】
2004334723.tif 000012
【図１１】
2004334723.tif 000013
【図１２】
2004334723.tif 000014
【図１３】
2004334723.tif 000015
【図１４】
2004334723.tif 000016
【図１５】
2004334723.tif 000017
【図１６】
2004334723.tif 000018
【図１７】
2004334723.tif 000019
【図１８】
2004334723.tif 000020
【図１９】
2004334723.tif 000021
【図２０】
2004334723.tif 000022
【図２１】
2004334723.tif 000023
【図２２】
2004334723.tif 000024
【図２３】
2004334723.tif 000025
【図２４】
2004334723.tif 000026
【図２５】
2004334723.tif 000027
【図２６】
2004334723.tif 000028
【図２７】
2004334723.tif 000029
【図２８】
2004334723.tif 000030
【図２９】
2004334723.tif 000031
【図３０】
2004334723.tif 000032
【図３１】
2004334723.tif 000033
【図３２】
2004334723.tif 000034
【図３３】
2004334723.tif 000035