JP2004334723A - プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム - Google Patents

プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム Download PDF

Info

Publication number
JP2004334723A
JP2004334723A JP2003132424A JP2003132424A JP2004334723A JP 2004334723 A JP2004334723 A JP 2004334723A JP 2003132424 A JP2003132424 A JP 2003132424A JP 2003132424 A JP2003132424 A JP 2003132424A JP 2004334723 A JP2004334723 A JP 2004334723A
Authority
JP
Japan
Prior art keywords
information
execution
process execution
shared
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003132424A
Other languages
English (en)
Inventor
Kazuya Koyama
和也 小山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003132424A priority Critical patent/JP2004334723A/ja
Publication of JP2004334723A publication Critical patent/JP2004334723A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置のクラスタ化にあたり、クラスタシステム全体の処理速度を向上させる。
【解決手段】プロセスの実行状態を実行制御情報とプロセス状態情報とに分け、実行制御情報は各プロセス実行装置0101,0111毎に保持し、プロセス状態情報はプロセス実行装置0101,0111間で共有し、メッセージ受信をプロセス状態情報の操作で行うことで、プロセスの連続実行を特定の処理ノード上で高速に行いながら、同時に任意の処理ノードでの特定プロセス向けのメッセージ受信を可能にする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明はプロセス実行装置,プロセス実行管理方法,プロセス実行システム,およびプロセス実行プログラムに関し、特に一連の処理手続き(プロセス定義によって記述される処理)を連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、クラスタ化可能なプロセス実行装置,プロセス実行管理方法,プロセス実行システム,およびプロセス実行プログラムに関する。
【0002】
【従来の技術】
(Webサービス)
ネットワークで接続された計算機が互いに通信を行いながら処理を行う分散システムで、特に、HyperText Transfer Protocol(HTTP)などの通信プロトコルを使用して、その上で事前に定められたExtensible Markup Language(XML)などの構造化文章形式を利用して通信メッセージをやりとりすることで、インターネットを介した疎結合分散システムを構築する、Webサービスという技術がある。Webサービスでは、個々の計算機が他の計算機に公開するサービスのインタフェースをWeb Service Description Language(WSDL)という記述言語で記述し、サービスにアクセスしたい他の計算機はこのWSDLを参照して必要なプロトコルの情報を獲得して、Simple Object Service Protocol(SOAP)というHTTPおよびXMLを使用したプロトコルを用いて通信を行う。
【0003】
Webサービスの他の分散システムとの大きな違いは、用いられる通信プロトコルが、送受信計算機における通信処理の実行効率よりも、様々な異なるシステム間の相互接続性を重視して設計されていることである。特に、通信メッセージは、人間による可読性,データ要素の汎用性,サービス提供装置の実装への非依存性などを重視しているため、通信メッセージの作成や解析などの処理負荷が、処理効率を考慮して設計されている他の分散システムと比べて非常に高くなる。
【0004】
(永続プロセス)
一方、Webサービスや他の分散システムなどで、1つの目的を達するために、複数の通信メッセージの送受信や関連する処理が必要となる場合が有る。例えば、商品購入要求メッセージの受信に応じて在庫データベースをチェックして商品在庫を確認し、物流業者の計算機に商品の配送予約を要求して、成功したならば購入要求元に購入受理メッセージを返す、といったものである。従来、このような処理は、電子メールやワークフロー管理システムなどを用いて人手を介して行われてきたが、処理の高速化のため、関連する通信と処理とを1つの処理手順として予め定義しておき、この処理手順を計算機で自動処理させることが求められる。
【0005】
このような自動処理を行うシステムを構築するには、必要な処理をプログラムや類似の処理定義として記述し、実行する必要がある。しかしながら、特に、商取引を中心とした領域では、このような処理の実行は高い信頼性が求められる。例えば、商品の購入要求を受け取った処理が実行中にシステム障害などで停止してしまった場合、購入要求の内容が失われてしまい、重大なトラブルに陥る可能性がある。
【0006】
そこで、処理の実行状態であるプロセス自身を外部記憶に随時保存し、障害発生時にはこの情報を用いてプロセス自身を再構築して処理を継続させる永続プロセス技術が提案されている。例えば、プロセスが外部に及ぼす影響も考慮した永続プロセス実行装置が提案されている(例えば、特許文献1参照)。
【0007】
(クラスタ)
他方、プログラムの実行状態ではないが、人間の作業の進捗や作業間の関連を管理する通常のワークフロー管理装置では、業務に含まれる作業がどこまで行われたか、といったワークフローの実行状態を外部記憶などに保存している。一般的に、ワークフロー管理システムでは、人手を介さない自動処理も可能であり、一種の永続プロセスと見なすこともできる。
【0008】
大量の永続プロセスを同時に実行するシステムを構築する必要がある場合、単一の計算機では処理能力に限界があり、必要とする処理を行えない場合がある。
【0009】
永続プロセスに限らず、一般に、このような場合、システムを複数台の計算機で構成し、処理をこれらの計算機に分配して処理させることで、1台の計算機で構成するよりも多くの処理を実行可能にする、クラスタ技術が広く使われている。
【0010】
クラスタ技術の用途で代表的なものは、大量の通信要求を受け付ける大規模HTTPサーバがある。
【0011】
大規模HTTPサーバは、Webブラウザなどのクライアントからの大量のHTTP要求を処理するために、多数の処理ノードと呼ぶHTTP要求を処理する計算機と、受信したHTTP要求を個々の処理ノードに分配する負荷分散装置と、処理ノード間で提供するWebページなどの情報を共有するためのファイルシステムやデータベースなどの情報共有装置とから構成される。クライアントからのHTTP要求は負荷分散装置によって適当な処理ノードに転送され、要求を受信した処理ノードは必要に応じて情報共有装置から共有情報を取り出して提供するWebページのデータを作成し、負荷分散装置に返す。データを受け取った負荷分散装置は、そのデータを要求元クライアントに返す。
【0012】
HTTP要求の処理に必要な情報が全て情報共有装置に蓄えられている場合、全ての処理ノードで同一の処理が可能であるため、負荷分散装置は、任意の処理ノードに任意のHTTP要求を転送することができる。
【0013】
一方、HTTPサーバでは、セッション情報と呼ばれる、同じクライアントからのそれ以前のHTTP要求に依存した情報を保持する場合がある。例えば、前回のHTTP要求でユーザの認証を行い、次のHTTP要求でユーザによって異なる情報を提供するような場合、このセッション情報を利用してユーザ情報を保持するセッション情報管理手段が提案されている(例えば、特許文献2参照)。
【0014】
このようなセッション情報は、多くのシステムでは以前にHTTP要求を処理した特定の処理ノード上にのみ保持され、情報共有装置では共有されない。処理にこのようなセッション情報を必要とするHTTP要求は、セッション情報を保持する特定の処理ノード上でしか処理できないため、HTTP要求内に処理ノードを特定するための情報が埋め込まれ、負荷分散装置がこの情報を見て適切な処理ノードにHTTP要求を転送する必要がある。このようなセッション情報も共有することで、複数の処理ノードでセッション情報を使用した処理を実現する方式が提案されている(例えば、特許文献3参照)。
【0015】
また、HTTPサーバ以外にも、システムのクラスタ化の例として、多数のクライアントからの要求を受け付けるワークフロー実行装置のクラスタもある。ワークフロー実行装置は、基本的にクライアントからの通信を受けて処理を行うため、基本的にはHTTPサーバと同様の構成になる。例えば、ワークフロー実行装置のクラスタ化における問題点の解消として、ワークフロー実行装置における処理毎のワークフロー実行履歴のデータベースへの保存の負荷分散方法が提案されている(例えば、特許文献4参照)。
【0016】
一方、上記のようなクライアントからの大量の要求を処理するのとは異なり、大規模な計算処理を並列実行可能な小さな沢山の計算処理に分割し、これらの小さな計算処理を複数の計算機に同時並行的に実行させることで、大規模計算を短時間で行うクラスタシステムもある。例としては、Beowulf型クラスタなどがある。このようなクラスタシステムでは、個々の処理ノード上で異なるプロセスを起動し、起動したプロセス間でメッセージパッシングなどで通信を行いながら計算処理を進める。
【0017】
前記従来のクラスタ化のための方式は、2つのアプローチに大別できる。
【0018】
1つ目は、個々の処理ノードには処理に関する情報を持たせず、必要な情報はデータベースなどの外部の情報共有装置に保持させて、処理ノードは必要に応じてこの情報共有装置から情報を取り出して処理を行うことで、全ての処理ノードで同じ処理を実行可能とする方式である。特許文献3や特許文献4が、これにあたる。以下、本明細書中では、この方式を「ノード状態非保持型」と記す。
【0019】
2つ目は、特定の処理に必要な情報は特定の処理ノードに持たせてしまい、ある情報が必要な処理はその情報を持つ処理ノードに行わせる方式である。特許文献2のような、元々クラスタ環境での利用を想定していない装置をクラスタ環境で利用する場合に用いられる。また、Beowulf型クラスタも、起動した後のプロセスは特定の処理ノード上のみに存在し、そのプロセスの操作はその特定の処理ノード上でしか行えないという点で、この方式に該当する。以下、本明細書中では、この方式を「ノード状態保持型」と記す。
【0020】
なお、ここでいう状態とは、1つの処理の実行過程でのメモリ状態のような瞬間的なものではなく、複数の通信要求の処理間や、データベース操作の複数のトランザクションの間などの、何らかの処理単位の間で共有されるものである。永続プロセス技術においては、外部記憶装置に保存される情報を意図する。
【0021】
(プロセス実行装置のクラスタ化)
図32は、ノード状態非保持型の方式をプロセス実行装置のクラスタ化に適用した場合の構成を示すブロック図である。プロセスの実行に必要なプロセス状態情報は全て情報共有装置2304に蓄えられ、個々の要求処理装置2302,2303は、外部からの要求を受けて情報共有装置2304から随時必要なプロセス状態情報を取り出して処理する。外部から通信メッセージを受信する場合、通信メッセージはまず要求分配装置2305に受信され、要求分配装置2305が各要求処理装置2302,2303の負荷状況などを見て通信メッセージの受信処理を各要求処理装置2302,2303に要求する。プロセスが複数処理単位からなり、これを連続して連続実行したい場合、要求処理装置2302,2303は、それ自身では外部からの処理要求を実行することしかできないため、単純には実現できない。上記の枠組でこれを実現するには、ある処理の最後に自分自身が次に行いたい処理の通信メッセージを自分自身に送るようにする必要がある。この通信メッセージは、外部からの通信メッセージと同様に要求分配装置2305に受信され、再び任意の要求処理装置2302,2303に処理が要求される。
【0022】
図33は、ノード状態保持型の方式をプロセス実行装置2402,2403のクラスタ化に適用した場合の構成を示すブロック図である。個々のプロセス実行装置2402,2043は、特にクラスタ化を意識しない通常のプロセス実行装置と同様であり、それぞれ個別のプロセス情報をもって、これを実行する。一方、プロセス宛の通信メッセージがクラスタ化されたプロセス実行システム2401宛に届いた場合、メッセージ配送装置2404は、通信メッセージのヘッダや内容を解析し、宛先のプロセスとその存在するプロセス実行装置を決定した後、そのプロセスの存在するプロセス実行装置宛に通信メッセージを配送する。
【0023】
【特許文献1】
特願2002−093010(段落0060―70、図1)
【特許文献2】
特開平11−149449(第5頁、図1)
【特許文献3】
特開2003−6036(第6―7頁、図2)
【特許文献4】
米国特許6,415,197(第9カラム、図1)
【0024】
【発明が解決しようとする課題】
従来の方式では、通信処理のみを行う装置か、あるいは通信処理をほとんど行わない装置のいずれかのクラスタ化しか考慮しておらず、本発明が目的とする、あるプロセスが何らかの処理を自動実行しながら、その過程で他装置と通信メッセージの送受信を行うプロセス実行装置のクラスタ化については考慮されていなかった。さらに、Webサービスのような、従来の通信プロトコルとは異なる性質を持つ処理への対応も考慮されていなかった。このため、このようなプロセス実行装置に、従来のクラスタ化方式を適用すると、システム全体の処理効率が悪化するという問題がある。
【0025】
ノード状態非保持型によるクラスタ化方式では、プロセスを連続して動作するような場合、外部に実行要求を管理する要求分配装置を用意し、この要求分配装置に毎回処理要求を送ってもらうような構成をとる必要がある。この方式では、プロセスの実行処理単位毎に要求分配装置と各処理ノードとの間の通信オーバーヘッドが生じるため、単一の処理ノード内で実行されるプロセスと比較して、実行速度が劣るという欠点がある。
【0026】
人間の作業の流れを管理することを主目的とするワークフローシステムなど、通信処理が多数を占め、プロセスの連続的な自動実行の比率が低い場合、この方式でも実行性能の劣化は小さい。しかし、通信メッセージの自動処理を主目的とし、通信処理よりもプロセス自身の連続的な自動実行の割合が高い場合、要求分配装置と処理ノードとの間の通信オーバーヘッドや、要求分配装置への負荷集中などにより、実行性能が悪化するという問題がある。
【0027】
一方、ノード状態保持型によるクラスタ化方式では、特定のプロセスに関する処理は特定の処理ノード上でしか処理できないため、プロセスが外部から通信メッセージを受信する場合、事前に適切な処理ノードに振り分けられ、その処理ノード上で必ず処理される必要がある。
【0028】
通信メッセージを容易に適切な処理ノードに振り分け可能な場合、振り分けの必要性は大きな問題にはならないが、Webサービスのメッセージなど、メッセージサイズが大きく、かつ振り分けに必要な情報がメッセージ中に埋め込まれており、さらに埋め込み位置が処理内容によって異なるなど、その取り出しのコストが高い場合、この方式では、振り分け部分の実現が困難であったり、負荷が高くなりそこが性能のボトルネックになったりするなどの問題がある。
【0029】
また、メッセージを処理できる処理ノードが限定されてしまうため、同じ処理ノード上で動作するプロセス宛に大量のメッセージが届いた場合にメッセージ処理の負荷分散が行えないことや、障害などでノードが停止しているとメッセージ受信が行えないなどの問題もある。
【0030】
本発明の第1の目的は、他のシステムと通信を行うプロセス実行装置、特に永続プロセスの実行装置をクラスタ化するにあたり、高速に動作可能なシステムを構築可能なプロセス実行装置,プロセス実行管理方法,プロセス実行システム,およびプロセス実行プログラムを提供することにある。特に、Webサービスなどのメッセージ処理の負荷が高い通信方式を用いる場合でも高速に動作可能とする。
【0031】
本発明の第2の目的は、他のシステムと通信を行うプロセス実行装置をクラスタ化するにあたり、メッセージ処理を柔軟に負荷分散可能なプロセス実行装置,プロセス実行管理方法,プロセス実行システム,およびプロセス実行プログラムを提供することにある。
【0032】
【課題を解決するための手段】
本発明のプロセス実行装置は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、他のプロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする。
【0033】
また、本発明のプロセス実行装置は、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする。
【0034】
さらに、本発明のプロセス実行装置は、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を1つ決定し前記プロセスの実行状態を保存することを特徴とする。
【0035】
さらにまた、本発明のプロセス実行装置は、他のプロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする。
【0036】
また、本発明のプロセス実行装置は、他のプロセス実行装置から出されたプロセスの実行制御情報変更要求に応じて、前記プロセスの実行制御情報を変更することを特徴とする。
【0037】
さらに、本発明のプロセス実行装置は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とする。
【0038】
さらにまた、本発明のプロセス実行装置は、通信メッセージを受信し該通信メッセージに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする。
【0039】
また、本発明のプロセス実行装置は、前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする。
【0040】
さらに、本発明のプロセス実行装置は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする。
【0041】
さらにまた、本発明のプロセス実行装置は、前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする。
【0042】
また、本発明のプロセス実行装置は、前記共有情報アクセス手段が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする。
【0043】
さらに、本発明のプロセス実行装置は、前記共有情報アクセス手段が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする。
【0044】
さらにまた、本発明のプロセス実行装置は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする。
【0045】
また、本発明のプロセス実行装置は、前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段が持つ操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段が管理するプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする。
【0046】
さらに、本発明のプロセス実行装置は、前記ノード固有情報管理手段が、情報を2次記憶装置上に保存することを特徴とする。
【0047】
さらにまた、本発明のプロセス実行装置は、前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置の前記プロセス操作手段に通信機構を介して操作要求を転送することを特徴とする。
【0048】
一方、本発明のプロセス実行管理方法は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置のプロセス実行管理方法であって、プロセスの実行制御情報はプロセス実行装置内で管理し、プロセス状態情報はプロセス実行装置外の情報共有装置で管理し、前記情報共有装置上のプロセス状態情報を使用する時はプロセスの排他制御を行い、プロセスの連続的な実行はプロセスの実行制御情報およびプロセス状態情報を用いて行い、プロセスの操作はプロセス状態情報のみを用いて行うことを特徴とする。
【0049】
また、本発明のプロセス実行管理方法は、プロセス宛の通信メッセージの受信時に受信プロセスの操作を行うことを特徴とする。
【0050】
さらに、本発明のプロセス実行管理方法は、複数の情報共有装置を利用し、各々のプロセスに対して一意に使用する情報共有装置を決定して該情報共有装置でプロセス状態情報を管理することを特徴とする。
【0051】
さらにまた、本発明のプロセス実行管理方法は、前記情報共有装置上のプロセス状態情報を前記プロセス実行装置内にキャッシュし、プロセス状態情報を更新したならば更新したプロセス実行装置に関する情報を前記情報共有装置上に記録し、プロセスの操作前に排他制御権を獲得したならば前記情報共有装置上の更新したプロセス実行装置に関する情報を調べて自プロセス実行装置でなければプロセスのキャッシュを破棄し、情報の参照を行う時に必要なキャッシュに存在したならば該情報を利用することを特徴とする。
【0052】
また、本発明のプロセス実行管理方法は、プロセスの実行制御情報変更要求を受けて該実行制御情報変更要求を前記情報共有装置上に記録することを特徴とする。
【0053】
さらに、本発明のプロセス実行管理方法は、情報共有装置上の実行制御情報変更要求を監視して、自プロセス実行装置がプロセスの実行制御情報を保持するプロセスの実行制御情報変更要求があれば該実行制御情報変更要求を取り出して、該実行制御情報変更要求に応じてプロセスの実行制御情報を変更することを特徴とする。
【0054】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行制御情報を2次記憶装置上に保存することを特徴とする。
【0055】
また、本発明のプロセス実行管理方法は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された1つ以上の計算機によって構成されるプロセス実行システムのプロセス実行管理方法であって、受信した通信メッセージを1つ以上の計算機に分配し、特定の条件を満たす通信メッセージの受信によって新規にプロセスを生成し、生成したプロセスの一部または全部の、プロセスの一部または全部のプロセス状態情報を1つ以上の計算機間で共有し、1つの計算機でプロセスを連続的に実行し、特定の条件を満たす通信メッセージの受信によって共有されたプロセス状態情報を操作することを特徴とする。
【0056】
さらに、本発明のプロセス実行管理方法は、情報の共有を1つ以上の情報共有装置を用いて行い、各々の情報共有装置を同じあるいは異なる計算機上で動作させ、情報を共有する全ての計算機が、各々の計算機でプロセスの共有情報を操作する時に、全ての計算機で同じ結果になるように、各々のプロセスに対して一意に使用する情報共有装置を決定し、該情報共有装置でプロセスの共有情報を管理することを特徴とする。
【0057】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行制御情報変更要求に関する情報を1つ以上の計算機間で共有し、プロセスを生成し実行する各々の計算機が実行制御情報変更要求に関する情報を監視して、自計算機が実行中のプロセスの実行制御情報変更要求に関する情報があればこれを取り出してプロセスの実行制御に反映させることを特徴とする。
【0058】
また、本発明のプロセス実行管理方法は、プロセスの情報を共有する1つ以上の計算機がプロセスの共有情報を最後に更新した計算機に関する情報を共有し、各々の計算機が利用したプロセスの共有情報を各々の計算機内にキャッシュし、ある計算機がプロセスの共有情報を更新したならば最後に更新した計算機に関する情報を自計算機に設定し、ある計算機がプロセスの共有情報の利用前に排他制御権を獲得したならば操作対象プロセスの最後に更新した計算機に関する情報を調べ自計算機でなければキャッシュを破棄し、ある計算機がプロセスの共有情報を参照する時に対象プロセスの情報がキャッシュに存在したならばこれを使用することを特徴とする。
【0059】
さらに、本発明のプロセス実行管理方法は、一部または全部のプロセスの共有情報および非共有情報の双方を、それぞれ2次記憶装置上に保存することを特徴とする。
【0060】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行管理方法であって、1つの計算機が、他の計算機上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする。
【0061】
また、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする。
【0062】
さらに、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を1つ決定し前記プロセスの実行状態を保存することを特徴とする。
【0063】
さらにまた、本発明のプロセス実行管理方法は、1つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする。
【0064】
また、本発明のプロセス実行管理方法は、1つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする。
【0065】
さらに、本発明のプロセス実行管理方法は、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する計算機のプロセス実行管理方法であって、前記計算機が、計算機に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とする。
【0066】
さらにまた、本発明のプロセス実行管理方法は、プロセスの実行を行う計算機が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする。
【0067】
また、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする。
【0068】
さらに、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする。
【0069】
さらにまた、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする。
【0070】
また、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする。
【0071】
さらに、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする。
【0072】
さらにまた、本発明のプロセス実行管理方法は、前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新した計算機に関する情報を管理することを特徴とする。
【0073】
また、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段が計算機の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、計算機が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報を監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする。
【0074】
さらに、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段が、前記計算機に固有の情報を2次記憶装置上に保存することを特徴とする。
【0075】
さらにまた、本発明のプロセス実行管理方法は、前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、計算機が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行する計算機に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他の計算機で連続実行されている場合に、その計算機のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする。
【0076】
他方、本発明のプロセス実行システムは、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された1つ以上の計算機によって構成されるプロセス実行システムで、前記プロセス実行システムが、前記計算機上に配置され前記プロセスの実行を行う1つ以上のプロセス実行装置と、前記計算機上に配置され前記プロセス実行装置に接続される1つ以上の情報共有装置とによって構成され、各々の前記プロセス実行装置が、実行している0以上の前記プロセスのうちの一部または全部の、前記プロセスの一部または全部のプロセス状態情報を、前記情報共有装置に格納し、前記プロセス実行装置が、前記情報共有装置に格納された一部または全部の前記プロセス状態情報を操作することを特徴とする。
【0077】
また、本発明のプロセス実行システムは、前記計算機上に配置され前記通信メッセージを受信し前記プロセス実行装置に振り分ける1つ以上の負荷分散装置を持つことを特徴とする。
【0078】
さらに、本発明のプロセス実行システムは、前記プロセス実行装置が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、1つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする。
【0079】
さらにまた、本発明のプロセス実行システムは、前記プロセス実行装置が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする。
【0080】
また、本発明のプロセス実行システムは、記プロセス実行装置が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を1つ決定し前記プロセスの実行状態を保存することを特徴とする。
【0081】
さらに、本発明のプロセス実行システムは、1つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする。
【0082】
さらにまた、本発明のプロセス実行システムは、1つの前記プロセス実行装置が、他の前記プロセス実行装置から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする。
【0083】
さらにまた、本発明のプロセス実行システムは、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、前記プロセス実行装置が、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とする。
【0084】
また、本発明のプロセス実行システムは、前記プロセス実行装置が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする。
【0085】
さらに、本発明のプロセス実行システムは、前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする。
【0086】
さらにまた、本発明のプロセス実行システムは、前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする。
【0087】
また、本発明のプロセス実行システムは、前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする。
【0088】
さらに、本発明のプロセス実行システムは、前記共有情報アクセス手段が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする。
【0089】
さらにまた、本発明のプロセス実行システムは、前記共有情報アクセス手段が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする。
【0090】
また、本発明のプロセス実行システムは、前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする。
【0091】
さらに、本発明のプロセス実行システムは、前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする。
【0092】
さらにまた、本発明のプロセス実行システムは、前記ノード固有情報管理手段が、前記プロセス実行装置に固有の情報を2次記憶装置上に保存することを特徴とする。
【0093】
また、本発明のプロセス実行システムは、前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする。
【0094】
加えて、本発明のプロセス実行プログラムは、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行プログラムであって、プロセス実行プログラムに固有の情報を管理するノード固有情報管理処理と、情報共有のための装置またはサービスと排他制御のための装置またはサービスを操作する共有情報アクセス処理と、前記ノード固有情報管理処理に管理される情報と前記共有情報アクセス処理によって操作される情報を用いてプロセスを実行するプロセス連続実行処理と、前記共有情報アクセス処理によって操作される情報を用いてプロセスを操作するプロセス操作処理とをコンピュータに実行させることを特徴とする。
【0095】
また、本発明のプロセス実行プログラムは、通信メッセージを受信しこれに応じて前記プロセス操作処理を用いてプロセスを操作するメッセージ受信処理をコンピュータにさらに実行させることを特徴とする。
【0096】
さらに、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理が、プロセスの実行制御情報を管理することをコンピュータにさらに実行させることを特徴とする。
【0097】
さらにまた、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することをコンピュータにさらに実行させることを特徴とする。
【0098】
また、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、情報共有および排他制御のための装置またはサービスを操作することをコンピュータにさらに実行させることを特徴とする。
【0099】
さらに、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御プログラム決定処理と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有プログラム決定処理とを持つことをコンピュータにさらに実行させることを特徴とする。
【0100】
さらにまた、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御プログラム決定処理を持つことをコンピュータにさらに実行させることを特徴とする。
【0101】
また、本発明のプロセス実行プログラムは、前記共有情報アクセス処理が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行プログラムに関する情報を管理することをコンピュータにさらに実行させることを特徴とする。
【0102】
さらに、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理がプロセス実行プログラムの操作対象プロセスのリストを持ち、前記共有情報アクセス処理が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、前記ノード固有情報管理処理の操作対象プロセスのリストと前記共有情報アクセス処理が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理処理のプロセスの実行制御情報を変更する実行制御情報変更要求監視処理をコンピュータにさらに実行させることを特徴とする。
【0103】
さらにまた、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理が、情報を2次記憶装置上に保存することをコンピュータにさらに実行させることを特徴とする。
【0104】
また、本発明のプロセス実行プログラムは、前記ノード固有情報管理処理がプロセス状態情報を管理し、前記プロセス操作処理が他のプロセス操作処理と通信する通信処理を持ち、プロセス実行プログラムが、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行プログラムに関する情報を得るプロセス実行プログラム決定処理を持ち、一部のプロセス状態情報は前記共有情報アクセス処理を用いず前記ノード固有情報管理処理で管理し、前記プロセス操作処理が、操作要求を受けたプロセスが前記ノード固有情報管理処理で管理されかつ他のプロセス実行プログラムで連続実行されている場合に、そのプロセス実行プログラムのプロセス操作処理に通信処理を介して操作要求を転送することをコンピュータにさらに実行させることを特徴とする。
【0105】
本発明のプロセス実行装置は、個々のプロセスの情報のうち1つの処理ノードのみが保持するノード固有情報を保持するノード固有情報管理手段と、個々のプロセスの情報のうちクラスタ内の複数の処理ノード間で共有する共有情報を保持する情報共有装置にアクセスする共有情報アクセス手段と、プロセスの連続的実行を行うプロセス連続実行手段と、プロセス実行装置外部からのプロセスの操作を行うプロセス操作手段とを持ち、通常のプロセス実行はプロセス連続実行手段がノード固有情報と共有情報アクセス手段を用いて取得したプロセスの全情報とを用いて行い、メッセージの受信処理はプロセス操作手段が共有情報アクセス手段を用いて取得したプロセスの一部情報のみを用いて行うことにより、通常のプロセス実行は特定の処理ノード内のみで高速に行いながら、同時に特定の処理ノード以外の処理ノードでもメッセージ受信処理を実行可能にする。
【0106】
本構成により、通常のプロセス実行はあたかもノード状態保持型のように単一計算機の中で高速に実行が可能になり、同時にメッセージ受信処理についてはノード状態非保持型のように任意の処理ノードで任意のプロセス宛のメッセージを処理可能として、メッセージの特定の処理ノードへの配送に必要な解析処理を不要にすることができる。
【0107】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0108】
[第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態に係る1つのクラスタ化されたプロセス実行システム(以下、単にプロセス実行システムという)0131は、1つまたは複数(図示は2つ)のプロセス実行装置0101,0111と、外部の情報共有装置0122と、外部の複数(図示は1つ)のプロセス排他制御装置0121とによって、その主要部が構成されている。
【0109】
プロセス実行装置0101,0111は、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段0104,0114と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116とからそれぞれ構成されている。
【0110】
共有情報アクセス手段0104,0114は、外部の情報共有装置0122およびプロセス排他制御装置0121にそれぞれ接続されている。
【0111】
1つのプロセスに関する情報は、特定の処理ノードのみで保持され利用されるノード固有情報と、全ての処理ノードから共有される共有情報とに分割され、ノード固有情報はノード固有情報管理手段0103,0113に、共有情報は共有情報アクセス手段0104,0114を介して情報共有装置0122にそれぞれ格納される。ノード固有情報はプロセスを連続して実行するための実行制御情報であり、共有情報はプロセスの持つ変数の値などのプロセス状態情報となる。
【0112】
プロセス実行システム0131中に存在する全てのプロセスのプロセス状態情報は、全て情報共有装置0122に格納される。一方、実行制御情報は、いずれか1つのプロセス実行装置0101または0111のノード固有情報管理手段0103または0113に格納される。
【0113】
これらの手段は、それぞれ概略次のように動作する。
【0114】
プロセス連続実行手段0102,0112は、ノード固有情報管理手段0103,0113に格納される実行制御情報に基づいて、共有情報アクセス手段0104,0114を用いて連続的にプロセスを実行する。
【0115】
ノード固有情報管理手段0103,0113は、内部にノード固有情報テーブルを保持し、ノード固有情報であるプロセスの実行制御情報の格納や更新を行う。ノード固有情報テーブルは、システム障害に備えて不揮発性の2次記憶装置(図示せず)上に保存される。
【0116】
共有情報アクセス手段0104,0114は、外部のプロセス排他制御装置0121や情報共有装置0122を用いて、プロセスの排他制御や共有情報の格納,更新などを行う。
【0117】
プロセス操作手段0105,0115は、プロセスの生成,既存プロセスの操作などの機能をメッセージ受信手段0106,0116やプロセス利用装置(図示せず)に提供し、要求を受けるとノード固有情報管理手段0103,0113や共有情報アクセス手段0104,0114を用いて要求を実行する。
【0118】
メッセージ受信手段0106,0116は、メッセージ配送ルールを持ち、届いた通信メッセージ(以下、単にメッセージという)を受信し、メッセージ配送ルールと受信メッセージの内容とを比較してプロセス操作方法を決定し、プロセス操作手段0105,0115を用いてプロセスの生成や操作を行う。
【0119】
次に、このように構成された第1の実施の形態に係るプロセス実行システム0131の全体の動作について、図2ないし図6のフローチャートを参照して詳細に説明する。
【0120】
図2は、プロセス操作手段0105,0115の動作を示すフローチャートである。プロセス操作手段0105,0115は、ステップS0201で外部からの要求を待ち、ステップS0211で要求がプロセス生成要求であった場合、ステップS0212で新たにプロセスを生成し、ステップS0214でそのプロセスの実行制御情報をノード固有情報管理手段0103,0113に格納し、ステップS0215で共有情報アクセス手段0104,0114にプロセス状態情報の格納を要求し、ステップS0216で結果を要求元に返す。また、プロセス操作手段0105,0115は、ステップS0221で要求が既存プロセスの参照や変更などのプロセス操作要求であった場合、ステップS0222で共有情報アクセス手段0104,0114に操作対象プロセスの排他制御権の獲得要求を行い、ステップS0223で共有情報アクセス手段0104,0114にプロセス状態情報の取り出し要求を行い、ステップS0224で獲得したプロセス状態情報を用いて要求されたプロセスの操作処理を行い、ステップS0225で共有情報アクセス手段0104,0114に操作処理の結果更新されたプロセス状態情報の更新要求を行い、ステップS0226で共有情報アクセス手段0104,0114に排他制御権の解放要求を行い、ステップS0216で結果を要求元に返す。
【0121】
図3は、プロセス連続実行手段0102,0112の動作を示すフローチャートである。プロセス連続実行手段0102,0112は、ステップS0301でノード固有情報管理手段0103,0113を監視し実行可能な実行制御情報が含まれるようになるのを待ち、含まれると、ステップS0302で実行可能な実行制御情報を1つ取り出して実行対象となるプロセスおよびその実行内容を決定し、ステップS0303で共有情報アクセス手段0104,0114に操作対象プロセスの排他制御権の獲得要求を行い、ステップS0304で共有情報アクセス手段0104,0114にプロセス状態情報の取り出し要求を行い、ステップS0305で獲得したプロセス状態情報および実行制御情報を用いてプロセスの実行を行い、ステップS0306でノード固有情報管理手段0103,0113に実行の結果を更新された実行制御情報として変更要求を行い、ステップS0307で共有情報アクセス手段0104,0114に実行の結果を更新されたプロセス状態情報として更新要求を行い、ステップS0308で共有情報アクセス手段0104,0114に排他制御権の解放要求を行い、ステップS0301に戻る。
【0122】
図4は、ノード固有情報管理手段0103,0113の動作を示すフローチャートである。ノード固有情報管理手段0103,0113は、ステップS0401で要求を待ち、ステップS0411で要求が実行制御情報格納要求である場合、ステップS0412でノード固有情報テーブルに実行制御情報を追加し、ステップS0421で要求が実行制御情報更新要求である場合、ステップS0422でノード固有情報テーブル上の実行制御情報を更新し、ステップS0431で要求が実行制御情報獲得要求である場合、ステップS0432でノード固有情報テーブル上の実行制御情報を獲得し、ステップS0433で獲得した実行制御情報を要求元に返し、ステップS0441で要求が実行制御情報監視要求である場合、ステップS0442でノード固有情報テーブル上の実行制御情報一覧を獲得し、ステップS0443で獲得した実行制御情報一覧を要求元に返す。
【0123】
図5は、共有情報アクセス手段0104,0114の動作を示すフローチャートである。共有情報アクセス手段0104,0114は、ステップS0501で要求を待ち、ステップS0511で要求がプロセスの排他制御権獲得要求である場合、ステップS0512でプロセス排他制御装置0121に指定されたプロセスの排他制御権獲得要求を出し、ステップS0513で結果を要求元に返し、ステップS0521で要求がプロセスの排他制御権解放要求である場合、ステップS0522でプロセス排他制御装置0121に指定されたプロセスの排他制御権解放要求を出し、ステップS0531で要求がプロセスの共有情報格納要求である場合、ステップS0532で情報共有装置0122に指定されたプロセスの共有情報格納要求を出し、ステップS0541で要求がプロセスの共有情報更新要求である場合、ステップS0542で情報共有装置0122に指定されたプロセスの共有情報更新要求を出し、ステップS0551で要求がプロセスの共有情報獲得要求である場合、ステップS0552で情報共有装置0122に指定されたプロセスの共有情報獲得要求を出し、ステップS0553で結果を要求元に返す。
【0124】
図6は、メッセージ受信手段0106,0116の動作を示すフローチャートである。メッセージ受信手段0106,0116は、ステップS0601でメッセージ受信かメッセージ受信予約のイベントを待ち、ステップS0611でイベントがメッセージ受信イベントだった場合、ステップS0612でメッセージの内容とメッセージ配送ルールとの比較からプロセスの新規生成や既存プロセスへの配送などの処理内容を決定し、ステップS0613で処理内容がプロセスの新規生成の場合、ステップS0614でプロセス操作手段0105,0115にプロセス生成要求を出し、ステップS0616で結果を要求元に返す。ステップS0613で処理内容が既存プロセスの操作だった場合、ステップS0615でプロセス操作手段0105,0115にプロセス操作要求を出し、ステップS0616で結果を要求元に返す。ステップS0621でイベントがメッセージ受信予約イベントだった場合、ステップS0622でメッセージ配送ルールに予約内容を追加し、ステップS0631でイベントがメッセージ受信予約取消イベントだった場合、ステップS0632でメッセージ配送ルールから予約内容を削除する。
【0125】
なお、プロセス実行装置0101,0111が起動されると、ノード固有情報管理手段0103,0113,共有情報アクセス手段0104,0114,プロセス連続実行手段0102,0112,プロセス操作手段0105,0115,メッセージ受信手段0106,0116が、それぞれフローチャートに従い動作を開始する。
【0126】
プロセス実行装置0101,0111が初めて起動された場合など、ノード固有情報管理手段0103,0113や情報共有装置0122にプロセスの実行状態が1つも保存されていない場合、プロセス実行装置0101,0111は、メッセージを受信してプロセスが新規に生成されるまで何もしないで待ち、プロセスが生成されると動作を開始する。
【0127】
一方、プロセス実行装置0101,0111が幾つかのプロセスを実行中に障害などで停止した後で再起動された場合、起動された直後には既にノード固有情報管理手段0103,0113や情報共有装置0122に障害発生前のプロセスの実行状態(実行制御情報+プロセス状態情報)が保存されているため、プロセス実行装置0101,0111は、起動と同時にこれらの情報を用いてプロセスの連続実行を再開する。
【0128】
次に、第1の実施の形態の効果について説明する。
【0129】
第1の実施の形態では、プロセス実行装置0101,0111内にノード固有情報管理手段0103,0113が用意され、実行制御情報がノード固有情報管理手段0103,0113に格納されるため、プロセス連続実行手段0102,0112が高速に実行制御情報を操作することができる。加えて、プロセス状態情報は情報共有装置0122に格納され、プロセス操作手段0105,0115は共有情報アクセス手段0104,0114を介して情報共有装置0122に格納されたプロセス状態情報を使用して動作するため、情報共有装置0122を共有する他のプロセス実行装置0101,0111で生成され、連続実行されている他のプロセスも操作することができる。
【0130】
[第2の実施の形態]
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
【0131】
図1に示した第1の実施の形態に係るプロセス実行システム0131では、情報共有装置0122とプロセス排他制御装置0121とを別装置としていたが、両装置と同等の機能を有する単一の情報共有・排他制御装置を利用するようにしてもよい。このような情報共有・排他制御装置の好適な実施例は、データベースである。
【0132】
図7は、本発明の第2の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、1つまたは複数(図示は2つ)のプロセス実行装置0101,0111と、外部の情報共有・排他制御装置0721とによって、その主要部が構成されている。
【0133】
プロセス実行装置0101,0111は、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段0701,0711と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116とからそれぞれ構成されている。
【0134】
共有情報アクセス手段0701,0711は、情報共有・排他制御装置0721にのみ接続される。
【0135】
なお、特に言及しないその他の手段等については、第1の実施の形態に係るプロセス実行システム0131における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【0136】
次に、このように構成された第2の実施の形態に係るプロセス実行システム0131の、第1の実施の形態に係るプロセス実行システム0131と異なる動作について、図8のフローチャートを参照して説明する。
【0137】
図8は、第2の実施の形態に係るプロセス実行システム0131における共有情報アクセス手段0701,0711の動作を表すフローチャートである。共有情報アクセス手段0701,0711は、ステップS0501で要求を待ち、ステップS0511で要求がプロセスの排他制御権獲得要求である場合、ステップS0801で情報共有・排他制御装置0721に指定されたプロセスの排他制御権獲得要求を出し、ステップS0513で結果を要求元に返し、ステップS0521で要求がプロセスの排他制御権解放要求である場合、ステップS0802で情報共有・排他制御装置0721に指定されたプロセスの排他制御権解放要求を出し、ステップS0531で要求がプロセスの共有情報格納要求である場合、ステップS0803で情報共有・排他制御装置0721に指定されたプロセスの共有情報格納要求を出し、ステップS0541で要求がプロセスの共有情報更新要求である場合、ステップS0804で情報共有・排他制御装置0721に指定されたプロセスの共有情報更新要求を出し、ステップS0551で要求がプロセスの共有情報獲得要求である場合、ステップS0805で情報共有・排他制御装置0721に指定されたプロセスの共有情報獲得要求を出し、ステップS0553で結果を要求元に返す。
【0138】
第2の実施の形態に係るプロセス実行システム0131によれば、第1の実施の形態に係るプロセス実行システム0131と同様の効果が得られることはいうまでもない。
【0139】
[第3の実施の形態]
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
【0140】
図1に示した第1の実施の形態に係るプロセス実行システム0131では、情報共有装置0122およびプロセス排他制御装置0121をそれぞれ1つずつとしていたが、複数の情報共有装置および複数のプロセス排他制御装置を利用してもよい。
【0141】
図9は、本発明の第3の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、1つまたは複数(図示は2つ)のプロセス実行装置0101,0111と、複数(図示は2つ)の情報共有装置0902a,0902bと、複数(図示は2つ)のプロセス排他制御装置0901a,0901bとによって、その主要部が構成されている。
【0142】
プロセス実行装置0101,0111は、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段0904,0914と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116とからそれぞれ構成されている。
【0143】
共有情報アクセス手段0904,0914は、プロセス排他制御装置0901a,0901bと、情報共有装置0902a,0902bとに接続される。また、共有情報アクセス手段0904,0914は、内部に排他制御装置決定機構および情報共有装置決定機構を持つ。排他制御装置決定機構および情報共有装置決定機構は、いずれも、各々のプロセスとそれが利用するプロセス排他制御装置0901a,0901bや情報共有装置0902a,0902bとの関係を管理し、プロセスが指定された時に利用すべきプロセス排他制御装置0901a,0901bや情報共有装置0902a,0902bを一意に特定可能にする。
【0144】
なお、特に言及しないその他の手段等については、第1の実施の形態に係るプロセス実行システム0131における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【0145】
次に、このように構成された第3の実施の形態に係るプロセス実行システム0131の、第1の実施の形態に係るプロセス実行システム0131と異なる動作について、図10のフローチャートを参照して説明する。
【0146】
図10は、本発明の第3の実施の形態に係るプロセス実行システム0131における共有情報アクセス手段0904,0914の動作を表すフローチャートである。共有情報アクセス手段0904,0914は、ステップS0501で要求を待ち、ステップS0511で要求がプロセスの排他制御権獲得要求である場合、ステップS1011で排他制御装置決定機構を用いて利用するプロセス排他制御装置を決定し、ステップS0512で決定したプロセス排他制御装置に指定されたプロセスの排他制御権獲得要求を出し、ステップS0513で結果を要求元に返し、ステップS0521で要求がプロセスの排他制御権解放要求である場合、ステップS1021で排他制御装置決定機構を用いて利用するプロセス排他制御装置を決定し、ステップS0522で決定したプロセス排他制御装置に指定されたプロセスの排他制御権解放要求を出し、ステップS0531で要求がプロセスの共有情報格納要求である場合、ステップS1031で情報共有装置決定機構を用いて使用する情報共有装置を決定し、ステップS0532で決定した情報共有装置に指定されたプロセスの共有情報格納要求を出し、ステップS0541で要求がプロセスの共有情報更新要求である場合、ステップS1041で情報共有装置決定機構を用いて使用する情報共有装置を決定し、ステップS0542で決定した情報共有装置に指定されたプロセスの共有情報更新要求を出し、ステップS0551で要求がプロセスの共有情報獲得要求である場合、ステップS1051で情報共有装置決定機構を用いて使用する情報共有装置を決定し、ステップS0552で決定した情報共有装置に指定されたプロセスの共有情報獲得要求を出し、ステップS0553で結果を要求元に返す。
【0147】
第3の実施の形態に係るプロセス実行システム0131によれば、情報共有装置およびプロセス排他制御装置は、複数のプロセス実行装置0101,0111から共有されるため、接続されるプロセス実行装置0101,0111の数が多くなると、処理負荷が情報共有装置およびプロセス排他制御装置に集中し、これが実行性能上のボトルネックとなり、プロセス実行装置0101,0111の数を増やしてもクラスタ化されたプロセス実行システム0131全体の性能が向上しなくなる恐れがあるが、このような場合、情報共有装置0902a,0902bおよびプロセス排他制御装置0901a,0901bを複数用意し、プロセス毎に使用する装置を分けることで、負荷を分散させることができる。
【0148】
[第4の実施の形態]
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
【0149】
図1に示した第1の実施の形態に係るプロセス実行システム0131では、共有情報アクセス手段0104,0114が要求を受けるたびに情報共有装置0122を直接操作していたが、共有情報アクセス手段はメモリ上に情報共有装置内のプロセス状態情報をキャッシュしてもよい。ただし、この場合、他のプロセス実行装置によって情報共有装置内のプロセス状態情報が更新される可能性があるため、このような更新を検出し、キャッシュを更新あるいは破棄してキャッシュと情報共有装置内のプロセス状態情報とを無矛盾に保つ必要がある。
【0150】
図11は、本発明の第4の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、複数のプロセス実行装置0101,0111と、情報共有装置1122と、プロセス排他制御装置0121とによって、その主要部が構成されている。
【0151】
プロセス実行装置0101,0111は、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段1101,1111と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116とからそれぞれ構成されている。
【0152】
共有情報アクセス手段1101,1111は、内部にキャッシュテーブルを持ち、プロセス名およびプロセス状態情報の組を保持する。
【0153】
情報共有装置1122には、プロセス状態情報テーブルおよびプロセス更新テーブルが置かれる。プロセス状態情報テーブルには、プロセス名およびプロセス状態情報の組が保持される。プロセス更新テーブルには、プロセス名および最終更新ノード名の組が保持される。
【0154】
なお、特に言及しないその他の手段等については、第1の実施の形態に係るプロセス実行システム0131における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【0155】
次に、このように構成された第4の実施の形態に係るプロセス実行システム0131の、第1の実施の形態に係るプロセス実行システム0131と異なる動作について、図12のフローチャートを参照して説明する。
【0156】
図12は、本発明の第4の実施の形態に係るプロセス実行システム0131における共有情報アクセス手段1101,1111の動作を表すフローチャートである。図5に示した第1の実施の形態における共有情報アクセス手段0104,0114と異なる動作について説明すると、共有情報アクセス手段1101,1111は、共有情報を操作した後、ステップS1232,ステップS1242,ステップS1252などでプロセス状態情報のキャッシュへの追加を行う。また、共有情報アクセス手段1101,1111は、ステップS0512で排他制御権を獲得した後、ステップS1211でプロセス更新テーブルの最終更新ノード名に記載されたホスト名が自身のホスト名と同じであるか否かをチェックし、ステップS1212で違う場合、ステップS1213で該当プロセスのキャッシュの破棄を行う。さらに、共有情報アクセス手段1101,1111は、ステップS0532やステップS0542でプロセス状態情報の格納や更新をした後、ステップS1231やステップS1241でプロセス更新テーブルの最終更新ノード名に自身のホスト名を設定する。さらにまた、共有情報アクセス手段1101,1111は、ステップS0551で共有情報獲得要求の場合、ステップS1251で該当プロセスのプロセス状態情報のキャッシュの有無を調べ、あれば、ステップS1253で情報共有装置1122にアクセスする代わりに、このキャッシュされたプロセス状態情報を使用する。
【0157】
第4の実施の形態によれば、キャッシュが利用できる場合、情報共有装置1122へのアクセスが不要となり、実行速度向上が図れる他、負荷が集中しやすい情報共有装置1122への負荷を軽減することが可能となる。
【0158】
[第5の実施の形態]
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。
【0159】
図1に示した第1の実施の形態に係るプロセス実行システム0131では、実行制御情報はノード固有情報管理手段0103,0113のみで管理されており、あるプロセスの実行制御情報を持たないプロセス実行装置0101,0111ではプロセスの連続実行の状態を変更することができなかったが、情報共有装置内に実行制御情報変更要求を持たせ、プロセスの実行制御情報を持つプロセス実行装置がこれを取り出してノード固有情報管理手段に反映することで、任意のプロセス実行装置でプロセスの連続実行の状態を変更可能にすることもできる。
【0160】
図13は、本発明の第5の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、複数のプロセス実行装置0101,0111と、情報共有装置1322と、プロセス排他制御装置0121とによって、その主要部が構成されている。
【0161】
プロセス実行装置0101,0111は、プロセス連続実行手段0102,0112と、ノード固有情報管理手段1301,1311と、実行制御情報変更要求監視手段1302,1312と、共有情報アクセス手段1305,1315と、プロセス操作手段1303,1313と、メッセージ受信手段1304,1314とからそれぞれ構成されている。
【0162】
ノード固有情報管理手段1301,1311は、ノード固有情報テーブルと、対象プロセステーブルとを持つ。ノード固有情報テーブルには、プロセスの実行制御情報が保持される。対象プロセステーブルには、操作対象プロセスのプロセス名が保持される。
【0163】
実行制御情報変更要求監視手段1302,1312は、ノード固有情報管理手段1301,1311の対象プロセステーブルと共有情報アクセス手段1305,1315が管理する実行制御情報変更要求に関する情報とを監視し、これに基づいてノード固有情報管理手段1301,1311のノード固有情報テーブルにおけるプロセスの実行制御情報を変更する。
【0164】
情報共有装置1322には、プロセス状態情報テーブルおよび実行制御情報変更要求テーブルが置かれる。プロセス状態情報テーブルには、プロセス名およびプロセス状態情報の組が保持される。実行制御情報変更要求テーブルには、プロセス名および変更要求の組が保持される。
【0165】
なお、特に言及しないその他の手段等については、第1の実施の形態に係るプロセス実行システム0131における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【0166】
次に、このように構成された第5の実施の形態に係るプロセス実行システム0131の、第1の実施の形態に係るプロセス実行システム0131と異なる動作について、図14ないし図17のフローチャートを参照して説明する。
【0167】
図14は、本発明の第5の実施の形態に係るプロセス実行システム0131におけるノード固有情報管理手段1301,1311の動作を表すフローチャートである。図4に示した第1の実施の形態におけるノード固有情報管理手段0103,0113と異なる動作について説明すると、ノード固有情報管理手段1301,1311は、ステップS0412で実行制御情報が追加されると、ステップS1401で対象プロセステーブルにプロセス名を追加し、ステップS1451で対象プロセス名獲得要求を受けると、ステップS1452で対象プロセステーブルにあるプロセス名一覧を獲得し、ステップS1453でプロセス名一覧を要求元に返す。
【0168】
図15は、本発明の第5の実施の形態に係るプロセス実行システム0131における実行制御情報変更要求監視手段1302,1312の動作を表すフローチャートである。実行制御情報変更要求監視手段1302,1312は、ステップS1501で一定時間停止し、ステップS1502でノード固有情報管理手段1301,1311に対象プロセス獲得要求を出して自プロセス実行装置が連続実行しているプロセスのプロセス名一覧を獲得し、ステップS1503で共有情報アクセス手段1305,1315にプロセス名一覧を渡して該当する実行制御情報変更要求を取り出し、ステップS1504で要求内容に応じてノード固有情報管理手段1301,1311に実行制御情報変更要求を出す。
【0169】
図16は、本発明の第5の実施の形態に係るプロセス実行システム0131におけるプロセス操作手段1303,1313の動作を示すフローチャートである。図2に示した第1の実施の形態におけるプロセス操作手段0105,0115と異なる動作について説明すると、プロセス操作手段1303,1313は、ステップS0221でプロセス操作要求でなければ、ステップS1601でプロセスの実行制御情報変更要求であった場合、ステップS1602で情報共有装置1322にプロセスの実行制御情報変更要求の格納要求を出す。
【0170】
図17は、本発明の第5の実施の形態に係るプロセス実行システム0131におけるメッセージ受信手段1304,1314の動作を示すフローチャートである。図6に示した第1の実施の形態におけるメッセージ受信手段0106,0116と異なる動作について説明すると、メッセージ受信手段1304,1314は、ステップS0613で既存プロセス宛メッセージであった場合、ステップS0615でプロセス操作要求でメッセージをプロセスに渡した後に、ステップS1701でプロセス操作手段1303,1313にプロセスの実行再開要求を出し、メッセージ受信待ちで一時停止中のプロセスの実行を再開させる。
【0171】
実行制御情報変更要求が情報共有装置1322上に置かれるため、これを処理する毎にプロセス実行装置0101,0111と情報共有装置1322との間の通信オーバーヘッドが発生する。これは、従来技術のノード状態非保持型における要求分配装置の利用によるものと似た現象であるが、第5の実施の形態では、通常の連続実行はノード固有情報管理手段1301,1311のみで行われるため、プロセス操作手段1303,1313を介した実行制御情報変更要求が連続実行における実行制御情報の操作よりも低い頻度であれば、ノード状態非保持型における要求分配装置の利用よりも通信オーバーヘッドを少なく抑えることができる。これは、プロセスがメッセージ受信待ちで一時停止して、メッセージ受信手段1304,1314がメッセージの受信に合わせて実行を再開させる必要がある場面で有効である。
【0172】
[第6の実施の形態]
次に、本発明の第6の実施の形態について図面を参照して詳細に説明する。
【0173】
図1に示した第1の実施の形態に係るプロセス実行システム0131では、全てのプロセス状態情報を情報共有装置0122に格納していたが、一部のプロセス状態情報を情報共有装置ではなく、ノード固有情報管理手段に格納するようにしてもよい。ノード固有情報管理手段に格納したプロセス状態情報は通信や排他制御が不要なため、情報共有装置に格納するよりも高速に連続実行することが可能となる。ただし、このままでは他のプロセス実行装置から操作できなくなるため、プロセス操作手段が他のプロセス実行装置のプロセス操作手段を操作可能にする必要がある。
【0174】
図18は、本発明の第6の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、複数のプロセス実行装置0101,0111と、情報共有装置0122と、プロセス排他制御装置0121とによって、その主要部が構成されている。
【0175】
プロセス実行装置0101,0111は、プロセス実行装置決定手段2501,2511と、プロセス連続実行手段0102,0112と、ノード固有情報管理手段2503,2513と、共有情報アクセス手段0104,0114と、プロセス操作手段2502,2512と、メッセージ受信手段0106,0116とからそれぞれ構成されている。
【0176】
プロセス実行装置決定手段2501,2511は、プロセス名からそのプロセスを連続実行しているプロセス実行装置0101,0111,およびプロセス状態情報が情報共有装置0122に管理されているか否かを調べる。
【0177】
プロセス操作手段2502,2512は、通信機構を持つ。通信機構は、他のプロセス実行装置0101,0111の通信機構に接続される。
【0178】
ノード固有情報管理手段2503,2513は、ノード固有情報テーブルと、プロセス状態情報テーブルとを持つ。
【0179】
なお、特に言及しないその他の手段等については、第1の実施の形態に係るプロセス実行システム0131における対応する手段等と同様に構成されているので、対応する手段には同一符号を付して、それらの詳しい説明を省略する。
【0180】
次に、このように構成された第6の実施の形態に係るプロセス実行システム0131の、第1の実施の形態に係るプロセス実行システム0131と異なる動作について、図19および図20のフローチャートを参照して説明する。
【0181】
図19は、本発明の第6の実施の形態に係るプロセス実行システム0131におけるプロセス操作手段2502,2512の動作を示すフローチャートである。図2および図16に示したプロセス操作手段0105,0115および1303,1313と異なる動作について説明すると、プロセス操作手段2502,2512は、ステップS0221でプロセス操作要求を受けたときに、ステップS2601でプロセス実行装置決定手段2501,2511で操作対象プロセスのプロセス状態情報が情報共有装置0122に管理されているか否か(共有プロセスか否か)を調べ、管理されていれば通常通り共有情報アクセス手段0104,0114を用いて操作を行い、管理されていなければステップS2611でプロセス実行装置決定手段2501,2511でプロセスを所持しているプロセス実行装置0101,0111を調べ、プロセス実行装置0101,0111が他のプロセス実行装置であれば、ステップS2621でそのプロセス実行装置のプロセス操作手段2502,2512に通信機構を介してプロセス操作要求を転送し、ステップS2622で結果を受け取る。一方、プロセス実行装置0101,0111がステップS2611で自プロセス実行装置であれば、ステップS2612でノード固有情報管理手段2503,2513からプロセス状態情報を獲得し、ステップS2613で獲得したプロセス状態情報を用いて要求された操作処理を行い、ステップS2614でノード固有情報管理手段2503,2513に操作処理の結果更新されたプロセス状態情報の更新要求を行う。また、プロセス生成要求時にプロセス状態情報を共有するか否かを要求元に指定してもらい、ステップS2631で要求が非共有だった場合、ステップS2632でプロセス状態情報をノード固有情報管理手段2503,2513に格納する。
【0182】
図20は、本発明の第6の実施の形態に係るプロセス実行システム0131におけるプロセス連続実行手段0102,0112の動作を示すフローチャートである。図3に示したプロセス連続実行手段0102,0112の動作と相違する点を説明すると、プロセス連続実行手段0102,0112は、ステップS2701でプロセス実行装置決定手段2501,2511で実行するプロセスのプロセス状態情報が情報共有装置0122に管理されているか否か(共有プロセスか否か)を調べ、管理されていなければ、ステップS2711でノード固有情報管理手段2503,2513からプロセス状態情報を獲得し、ステップS2712でプロセスを実行して、ステップS2713で実行制御情報を変更した後、ステップS2714でノード固有情報管理手段2503,2513のプロセス状態情報を更新する。
【0183】
情報を共有しないプロセスは連続実行が高速に行える半面、連続実行していない他のプロセス実行装置0101,0111からの操作は遅くなる。また、情報を共有しているプロセスは情報共有装置0122さえ利用可能であれば常にプロセス操作が行えるが、情報を共有しないプロセスは連続実行しているプロセス実行装置0101,0111が障害などで利用できないとプロセス操作が行えないなど、本発明で得られる効果は共有しないプロセスでは得ることができない。第6の実施の形態によれば、各々のプロセス毎に必要とされる性能の性質に応じて両方式のいずれかを選択することが可能となる。
【0184】
[第7の実施の形態]
図21は、本発明の第7の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、図1に示した第1の実施の形態に係るプロセス実行システム0131のプロセス実行装置0101,0111に対してプロセス実行プログラム2100をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【0185】
プロセス実行プログラム2100は、コンピュータでなるプロセス実行装置0101,0111に読み込まれ、プロセス実行装置0101,0111の動作を、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段0104,0114と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116として制御する。プロセス実行プログラム2100の制御によるプロセス実行装置0101,0111の動作は、第1の実施の形態におけるプロセス実行装置0101,0111の動作と全く同様になるので、その詳しい説明を割愛する。
【0186】
[第8の実施の形態]
図22は、本発明の第8の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、図7に示した第2の実施の形態に係るプロセス実行システム0131のプロセス実行装置0101,0111に対してプロセス実行プログラム2200をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【0187】
プロセス実行プログラム2200は、コンピュータでなるプロセス実行装置0101,0111に読み込まれ、プロセス実行装置0101,0111の動作を、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段0701,0711と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116として制御する。プロセス実行プログラム2200の制御によるプロセス実行装置0101,0111の動作は、第2の実施の形態におけるプロセス実行装置0101,0111の動作と全く同様になるので、その詳しい説明を割愛する。
【0188】
[第9の実施の形態]
図23は、本発明の第9の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、図9に示した第3の実施の形態に係るプロセス実行システム0131のプロセス実行装置0101,0111に対してプロセス実行プログラム2300をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【0189】
プロセス実行プログラム2300は、コンピュータでなるプロセス実行装置0101,0111に読み込まれ、プロセス実行装置0101,0111の動作を、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段0901,0911と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116として制御する。プロセス実行プログラム2300の制御によるプロセス実行装置0101,0111の動作は、第3の実施の形態におけるプロセス実行装置0101,0111の動作と全く同様になるので、その詳しい説明を割愛する。
【0190】
[第10の実施の形態]
図24は、本発明の第10の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、図11に示した第4の実施の形態に係るプロセス実行システム0131のプロセス実行装置0101,0111に対してプロセス実行プログラム2400をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【0191】
プロセス実行プログラム2400は、コンピュータでなるプロセス実行装置0101,0111に読み込まれ、プロセス実行装置0101,0111の動作を、プロセス連続実行手段0102,0112と、ノード固有情報管理手段0103,0113と、共有情報アクセス手段1101,1111と、プロセス操作手段0105,0115と、メッセージ受信手段0106,0116として制御する。プロセス実行プログラム2400の制御によるプロセス実行装置0101,0111の動作は、第4の実施の形態におけるプロセス実行装置0101,0111の動作と全く同様になるので、その詳しい説明を割愛する。
【0192】
[第11の実施の形態]
図25は、本発明の第11の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、図13に示した第5の実施の形態に係るプロセス実行システム0131のプロセス実行装置0101,0111に対してプロセス実行プログラム2500をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【0193】
プロセス実行プログラム2500は、コンピュータでなるプロセス実行装置0101,0111に読み込まれ、プロセス実行装置0101,0111の動作を、プロセス連続実行手段0102,0112と、ノード固有情報管理手段1301,1311と、実行制御情報変更要求監視手段1302,1312と、共有情報アクセス手段1305,1315と、プロセス操作手段1303,1313と、メッセージ受信手段1304,1314として制御する。プロセス実行プログラム2500の制御によるプロセス実行装置0101,0111の動作は、第5の実施の形態におけるプロセス実行装置0101,0111の動作と全く同様になるので、その詳しい説明を割愛する。
【0194】
[第12の実施の形態]
図26は、本発明の第12の実施の形態に係るプロセス実行システム0131の構成を示すブロック図である。本実施の形態に係るプロセス実行システム0131は、図18に示した第6の実施の形態に係るプロセス実行システム0131のプロセス実行装置0101,0111に対してプロセス実行プログラム2600をそれぞれ付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【0195】
プロセス実行プログラム2600は、コンピュータでなるプロセス実行装置0101,0111に読み込まれ、プロセス実行装置0101,0111の動作を、プロセス連続実行手段0102,0112と、ノード固有情報管理手段2503,2513と、共有情報アクセス手段0104,0114と、プロセス操作手段2502,2512と、メッセージ受信手段0106,0116と、プロセス実行装置決定手段2501,2511として制御する。プロセス実行プログラム2600の制御によるプロセス実行装置0101,0111の動作は、第6の実施の形態におけるプロセス実行装置0101,0111の動作と全く同様になるので、その詳しい説明を割愛する。
【0196】
【実施例】
次に、本発明の実施の形態に係るプロセス実行システム0131について、具体的な実施例を用いて説明する。なお、本実施例は、第1,第2,第3および第5の実施の形態に基づくものである。
【0197】
図27は、本実施例を用いた、クラスタ化されたプロセス実行システム0131の構成を示すブロック図である。クラスタ化されたプロセス実行システム0131は、ネットワークで相互に接続された5台の計算機、計算機A1831,計算機B1832,計算機C1833,計算機D1834,および計算機E1835によって構成される。2台の計算機A1831,B1832の上では、本実施例であるプロセス実行装置0101,0111が動作し、2台の計算機C1833,D1834の上では情報共有・排他制御装置の好適な実施例であるデータベース1821,1822が動作し、1台の計算機E1835の上で負荷分散装置1823が動作する。
【0198】
本実施例であるプロセス実行装置0101,0111には、それぞれプロセス連続実行手段0102,0112と、プロセス操作手段1303,1313と、ノード固有情報管理手段1301,1311と、共有情報アクセス手段1801,1811と、メッセージ受信手段1305,1315と、実行制御情報変更要求監視手段1302,1312と、プロセス定義管理手段1802,1812と、プロセス名発行手段1803,1813と、メッセージ送信手段1804,1814と、メッセージ受信手段1805,1815とが存在する。
【0199】
プロセス定義管理手段1802,1812は、プロセス実行装置0101,0111が実行可能なプログラムであるプロセス定義をデータベース1821上に保持し、他のプロセス実行装置0101,0111と共有している。
【0200】
本実施例では、プロセス定義は、フロー形式で、処理コンポーネントであるアクティビティ,開始アクティビティやアクティビティ間の実行順序を規定する順序制約,およびプロセスの持つ変数リストからなるものとする。
【0201】
また、プロセス名発行手段1803,1813は、クラスタ化されたプロセス実行システム0131内で永遠に一意なプロセス名を発行する。プロセス名は、整数値のID(IDentifier)であり、既に発行済みのIDは、データベース1821で保持されプロセス実行装置0101,0111間で共有されて、プロセス名の重複が無いように管理される。
【0202】
メッセージ送信手段1804,1814は、外部システムにネットワークを介して接続され、プロセス連続実行手段0102,0112からメッセージの送信要求を受けると、そのメッセージを指定された外部システム宛に送信する。メッセージは、XMLで記述されたWebサービスメッセージである。
【0203】
メッセージ受信手段1805,1815は、XMLで記述されたWebサービスメッセージをHTTP通信プロトコルを用いて受信する。また、メッセージ受信手段1805,1815は、データベース1821に接続され、データベース1821上には、受信待ちプロセステーブルおよびメッセージ種別テーブルが置かれる。受信待ちプロセステーブルは、受信待ちプロセス名,メッセージ配送ルールおよびメッセージ処理ルールを保持している。メッセージ配送ルールは、XML要素指定式およびその値で、メッセージ処理ルールは、メッセージから必要な情報を抜き出しプロセスに設定するためのルールである。また、メッセージ種別テーブルは、メッセージ種別判定ルールおよびメッセージ処理プロセス定義名を保持している。メッセージ種別判定ルールは、XML要素指定式およびその値であり、メッセージ処理ルールは、メッセージから必要な情報を抜き出しプロセスに設定するためのルールである。
【0204】
プロセス情報は、プロセス状態情報であるプロセスの変数リストと、実行制御情報であるプロセスが次に実行すべきアクティビティを示す実行イベントとからなる。実行イベントは、プロセス名,アクティビティ名,および実行予定時刻からなる。
【0205】
ノード固有情報管理手段1301,1311は、ノード固有情報テーブルに実行イベントを保持する。ノード固有情報テーブルは、システム障害に備えて外部2次記憶上にも保存される。
【0206】
情報共有装置であるデータベース1821,1822は、プロセス状態情報テーブルとして、プロセス名,変数名,および変数値からなるテーブルを持つ。また、プロセス状態以外の共有情報として、プロセス定義テーブルと、発行済みプロセス名テーブルとを持つ。また、複数のデータベース1821,1822のうちの1台のみ、ここでは、データベース1821は、プロセス状態情報テーブル以外の情報保持用の汎用データベースとしても用いられ、受信待ちプロセステーブルと、メッセージ種別テーブルと、プロセス定義テーブルとを持つ。
【0207】
各データベース1821,1822には、クラスタ化されたプロセス実行システム0131内で一意なデータベース名が付けられ、このデータベース名をもってプロセス実行装置0101,0111からアクセスされる。データベース名は、整数値であり、0から始まり、(データベース数−1)まで連続でふられている。ここでは、データベース1821がデータベース0、データベース1822がデータベース1となる。
【0208】
共有情報アクセス手段1801,1811は、情報共有・排他制御装置決定機構として、プロセス名のデータベース台数2による剰余結果を返す計算機構を持っている。
【0209】
メッセージ受信手段1805,1815は、負荷分散装置1823に接続される。
【0210】
負荷分散装置1823は、クラスタ化されたプロセス実行システム1031外の外部システムにネットワークを介して接続される。負荷分散装置1823は、外部システムからの通信を受信し、適当なプロセス実行装置0101,0111のメッセージ受信手段1805,1815に通信を転送し、その通信へのメッセージ受信手段1805,1815からの応答を外部システムに返す。負荷分散装置1823の好適な実施例は、HTTP用の負荷分散装置であり、HTTP要求を受け付け、ランダムにHTTP要求をメッセージ受信手段1805,1815に振り分ける。
【0211】
次に、本実施例の動作を説明する。
【0212】
データベース1821のプロセス定義テーブルには、予め“購入要求処理”という名前のプロセス定義が登録されているものとする。
【0213】
図28は、購入要求処理1901のプロセス定義の概念図である。符号1902,1903,1904,1905,1906は、それぞれアクティビティであり、各々に実行プログラムが対応付けられている。特に、符号1905は、通信受信待ちで一時停止することを表している。符号1911は、プロセスが持つ変数のリストである。符号1921および1922は、プロセスの実行開始点および終了点を表す制御記号であり、アクティビティ間の矢印は、アクティビティ間の実行の順序制約である。
【0214】
データベース1821のメッセージ種別テーブルには、XML要素指定式としてタグ、値として“購入要求”、メッセージ処理プロセス定義名として“購入要求処理”が登録されている。
【0215】
本実施例を用いたクラスタ化されたプロセス実行システム0131に対して外部システムからメッセージが送られると、負荷分散装置1823は、これを受信し、適当なプロセス実行装置(以下、プロセス実行装置0101とする)を決定してそのメッセージ受信手段1805にメッセージを転送する。
【0216】
図29は、受信したXMLメッセージ2001を示す。なお、図29は、正しいWebサービスメッセージではないが、説明のために簡略化する。
【0217】
メッセージ受信手段1805は、受信メッセージのXML文章にメッセージ種別判定ルールを適用し、指定されたXML要素指定式を持ち、かつその値がルールで指定された値であるか否かを全てのルールについてチェックする。ここでは、ルールが登録されていないので1つも該当しない。次に、メッセージ受信手段1805は、メッセージ種別テーブルを参照し、登録されているルールをチェックする。ここでは、指定された値が“購入要求”なのでルールにマッチし、メッセージ処理プロセス定義名は購入要求処理に決定される。メッセージ処理プロセス定義名が決定すると、メッセージ受信手段1805は、メッセージ処理ルールを調べ、メッセージに含まれる情報からプロセスの変数の初期値を決定し、プロセス定義名および変数の初期値を指定してプロセス生成要求をプロセス操作手段1303に出す。ここでは、プロセス定義名が“購入要求処理”、変数は“顧客名”および“商品名”がそれぞれ“日電太郎”および“コンピュータ”に指定される。
【0218】
プロセス生成要求を受けたプロセス操作手段1303は、まず、プロセス名発行手段1803にプロセス名の発行を要求し、新たなプロセス名“10”を受ける。次に、プロセス操作手段1303は、プロセス定義管理手段1802から購入要求処理のプロセス定義を取り出し、その変数リストを取り出し、変数の初期値を設定する。続いて、プロセス操作手段1303は、この変数リストをプロセス状態情報として、プロセス名を添えて共有情報アクセス手段1801に格納要求を出す。
【0219】
共有情報アクセス手段1801は、まず、このプロセスに対して使用するデータベースを情報共有・排他制御装置決定機構を用いて決定する。ここでは、プロセス名が“10”であるから、2の剰余結果である“0”をデータベース名とするデータベース1821を決定する。次に、共有情報アクセス手段1801は、データベース1821に要求されたプロセス名,変数名および変数値を追加する。
【0220】
次に、プロセス操作手段1303は、プロセス定義の順序制約から実行開始のためのアクティビティを決定し、プロセス名“10”,アクティビティ名“受注管理番号発行”,および実行予定時刻“今”の実行イベント格納要求をノード固有情報管理手段1301に出す。
【0221】
ノード固有情報管理手段1301は、実行イベント格納要求を受けて実行制御情報としてプロセス名“10”,アクティビティ名“受注管理番号発行”,および実行予定時刻“今”の実行イベントをノード固有情報テーブルに格納する。
【0222】
実行イベントを格納すると、プロセス操作手段1303は、プロセス名“10”とともにプロセス生成成功をメッセージ受信手段1805に返す。
【0223】
メッセージ受信手段1805は、プロセス生成成功を通知されると、メッセージ受信に成功したとして通信元に結果を返す。
【0224】
一方、プロセス連続実行手段0102は、ノード固有情報管理手段1301を監視し、実行イベントが追加されると、これを取り出して実行を開始する。
【0225】
まず、プロセス連続実行手段0102は、プロセス名“10”の排他制御権獲得要求を共有情報アクセス手段1801に出す。
【0226】
共有情報アクセス手段1801は、プロセス名から使用するデータベースをデータベース1821に決定し、データベース1821のプロセス名“10”のデータに対してレコードのロック要求を出す。
【0227】
排他制御権の獲得に成功すると、プロセス連続実行手段0102は、プロセス名“10”のプロセス状態情報の獲得要求を共有情報アクセス手段1801に出す。
【0228】
共有情報アクセス手段1801は、プロセス名から使用するデータベースをデータベース1821に決定し、データベース1821からプロセス名“10”の変数名および変数値を全て取り出し、これをプロセス状態情報としてプロセス連続実行手段0102に返す。
【0229】
次に、プロセス連続実行手段0102は、プロセス定義管理手段1802から実行イベントに記された実行対象のアクティビティを取り出し、プロセス状態情報を用いてこのアクティビティのプログラムを実行する。ここでは、プログラムにより受注管理番号“12345”が発行され、変数“受注管理番号”に設定されるとする。
【0230】
プログラムの実行が終了すると、プロセス連続実行手段0102は、プロセス定義管理手段1802から順序制約を取り出し、実行結果およびプロセスの状態を基に次に実行すべきアクティビティおよび実行予定時刻を決定し、これを新たな実行イベントとしてノード固有情報管理手段1311のノード固有情報テーブルに追加する。ここでは、アクティビティが“商品在庫確認”、実行予定時刻が現時刻となる。
【0231】
次に、プロセス連続実行手段0102は、実行の結果更新された変数“受注管理番号”の値について、プロセス状態情報の更新としてプロセス名“10”、変数名“受注管理番号”、変数値“12345”の更新要求を共有情報アクセス手段1801に出す。
【0232】
共有情報アクセス手段1801は、プロセス名から使用するデータベースをデータベース1821に決定し、データベース1821にプロセス名“10”の変数“受注管理番号”の変数値の更新要求を出す。
【0233】
次に、プロセス連続実行手段0102は、プロセス名“10”の排他制御権の解放要求を共有情報アクセス手段1801に行う。
【0234】
共有情報アクセス手段0102は、プロセス名から使用するデータベースをデータベース1821に決定し、データベース1821にプロセス名“10”のロックの解放を要求する。
【0235】
以上で、プロセス連続実行手段0102による1つの実行アイテムの実行が完了し、プロセス連続実行手段0102は、再びノード固有情報管理手段1301の監視に戻り、実行可能な実行アイテムを次々に実行して行くことで、プロセスの連続した実行を実現している。
【0236】
アクティビティ“配送予約要求送信”のプログラムでは、メッセージの生成および送信要求、また将来受信する予定の返信メッセージの受信予約を行う。プログラムによってXML形式のWebメッセージが生成され、送信要求が行われると、メッセージ送信手段1804は、要求されたメッセージを要求された外部システムに転送する。また、プログラムが返信メッセージの区別方法として、XML要素指定式としてタグ、値として“12345”を指定してメッセージ受信手段1805に受信予約を行うと、メッセージ受信手段1805は、この区別方法をメッセージ配送ルールとして、予約元のプロセスのプロセス名と合わせてデータベース1821の受信待ちプロセステーブルに追加する。
【0237】
次に、外部システムからプロセス名“10”の送信メッセージへの返信メッセージが送られると、負荷分散装置1823は、適当にプロセス実行装置0101,0111のいずれかに通信を転送する。
【0238】
図30は、受信したXMLメッセージ2101を示す。なお、図30は、正しいWebサービスメッセージではないが、説明のために簡略化する。
【0239】
ここで、プロセス名“10”のプロセスが生成され実行されていたプロセス実行装置0101とは異なるプロセス実行装置0111に返信メッセージが転送された場合、プロセス実行装置0111のメッセージ受信手段1815は、データベース1821の受信待ちプロセステーブルからメッセージ配送ルールを取り出し、受信メッセージに対して評価する。ここで、受信メッセージにタグが含まれ、かつその値が“12345”であることから、メッセージ受信手段1815は、このメッセージをプロセス名“10”のプロセスに配送すべきメッセージと判断する。そして、メッセージ処理ルールを調べてメッセージに含まれる情報からプロセスの変数“配送日時”の値を“2000/1/1”に設定することを決定し、変数の設定要求をプロセス操作手段1313に出す。
【0240】
プロセス操作手段1313は、プロセス名“10”のプロセスの排他制御権獲得要求を共有情報アクセス手段1811に出す。
【0241】
共有情報アクセス手段1811は、プロセス名から使用するデータベースをデータベース1821に決定し、データベース1821におけるプロセス名“10”のデータに対してレコードのロック要求を出す。
【0242】
排他制御権の獲得に成功すると、プロセス操作手段1313は、プロセス状態情報の更新としてプロセス名“10”、変数名“配送日時”の更新要求を共有情報アクセス手段1811に出す。
【0243】
共有情報アクセス手段1811は、プロセス名“10”から使用するデータベースをデータベース1821に決定し、データベース1821にプロセス名“10”、変数“配送日時”の変数値の更新要求を出す。
【0244】
次に、プロセス操作手段1313は、プロセス名“10”の排他制御権の解放要求を共有情報アクセス手段1811に行う。
【0245】
共有情報アクセス手段1811は、プロセス名“10”から使用するデータベースをデータベース1821に決定し、データベース1821にプロセス名“10”のロックの解放を要求する。
【0246】
ロックを解放すると、プロセス操作手段1313は、受信メッセージ変数の設定成功をメッセージ受信手段1815に返す。
【0247】
メッセージ受信手段1815は、受信メッセージ変数の設定成功を通知されると、続いてプロセスの実行制御情報変更要求としてプロセスの実行再開要求をプロセス操作手段1313に出す。
【0248】
プロセス操作手段1313は、プロセス名“10”の状態変更要求“実行再開”の格納要求を共有情報アクセス手段1811に出す。
【0249】
共有情報アクセス手段1811は、プロセス名“10”から使用するデータベースをデータベース1821に決定し、データベース1821にプロセス名“10”で要求内容“実行再開”を格納する。
【0250】
実行制御情報変更要求が完了すると、メッセージ受信手段1815は、メッセージ受信に成功したとして、受信待ちプロセステーブルから該当データを削除し、通信元に受信結果を返す。
【0251】
プロセス名“10”のプロセスは、アクティビティ“配送予約結果受信待ち”で、メッセージ受信待ちになっていて、実行予定時刻無しの実行イベントをノード固有情報管理手段1301に入れている。
【0252】
プロセス連続実行手段0102は、実行予定時刻が無いので、この実行イベントは実行しない。
【0253】
プロセス実行装置0101の実行制御情報変更要求監視手段1302は、操作対象プロセスがプロセス名“10”であることから、データベースの実行制御情報変更要求テーブルにプロセス名“10”の要求が追加されるか否かを定期的にチェックする。ここで、データベース1821の実行制御情報変更要求テーブルに実行再開要求が格納されると、実行制御情報変更要求監視手段1302は、この要求を取り出し、要求が実行再開であることから、プロセス名“10”の実行イベントの実行予定時刻の現在時刻への変更をノード固有情報管理手段1301に要求する。
【0254】
実行イベントの実行予定時刻が現在時刻に変更されると、プロセス連続実行手段0102は、この実行イベントの実行を開始する。
【0255】
データベース1821上のプロセス状態情報テーブルには変数名“配送日時”のデータが既に設定されているので、結果、プロセス実行装置0101上でプロセス名“10”のプロセスが、メッセージを受信した状態で実行を再開し、“要求受領書送信”を行い、プロセスの実行を終了する。
【0256】
次に、複数のプロセスがプロセス実行装置上で生成され実行されている場合のシステムの状態を、例を用いて説明する。
【0257】
図31は、プロセス実行装置0101ではプロセス100,101,102,103が、プロセス実行装置0111ではプロセス104,105,106,107が、それぞれ生成された場合のクラスタ化されたプロセス実行システム0131の、各プロセス実行装置0101,0111のノード固有情報管理手段1301,1311とデータベース1821,1821のテーブルとの状態を示すイメージ図である。なお、一部の手段は省略している。
【0258】
ノード固有情報管理手段1301には、プロセス100,101,102,103の実行イベントが、ノード固有情報管理手段1311には、プロセス104,105,106,107の実行イベントがそれぞれ格納され、このため、プロセス100,101,102,103はプロセス実行装置0101、プロセス104,105,106,107はプロセス実行装置0111上でのみ連続実行される。
【0259】
一方、データベース1821にはプロセス100,102,104,106のプロセス状態が、データベース1822にはプロセス101,103,105,107のプロセス状態がそれぞれ保存されており、これらはいずれのプロセス実行装置0101,0111からも、プロセス操作手段1303,1313を介して操作可能である。結果、プロセス操作手段1303,1313を利用するメッセージ受信手段1805,1815は、共に、全てのプロセス100,101,102,103,104,105,106,107宛のメッセージを処理することができる。
【0260】
一方、個々のプロセス実行装置0101,0111へのプロセスの分配は、外部の負荷分散装置1823(図27参照)によりなされることになる。負荷分散装置1823により振り分けられたメッセージのうち、新規にプロセスを生成するメッセージが適当に複数のプロセス実行装置0101,0111に振り分けられることで、結果的に個々のプロセス実行装置0101,0111で生成され連続実行されるプロセスの数も適当に分配されることになる。
【0261】
なお、本実施例では、プロセス定義の記述方式をフロー形式としたが、本発明は、プロセスの情報が実行制御情報とプロセス状態情報とに分離可能であれば、スクリプト言語や関数型言語などの他の記述方式でも利用可能である。
【0262】
また、本実施例では、通信方式をWebサービスとしていたが、他の通信方式も利用可能である。
【0263】
さらに、本実施例では、情報共有・排他制御装置としてデータベース1821,1822を使用していたが、ネットワークファイルシステム(NFS)や、その他の情報共有に利用可能な装置やネットワークサービスも利用可能である。
【0264】
また、プロセス排他制御装置と情報共有装置とが異なる場合、それぞれ異なる数だけ用意して、負荷分散と利用する計算機資源の量とを調整することも可能である。
【0265】
さらに、本実施例では、共有情報アクセス手段1801,1811が複数の情報共有・排他制御装置の中から使用する装置を決定するのにプロセス名の数値から計算によって求める方式を利用していたが、汎用データベースにプロセス名および利用装置名のテーブルを持たせてこれを調べて利用する装置を決定したり、データの新規格納時には任意の情報共有装置に格納し、その後の操作時には利用可能な全ての装置で順次成功するまで操作を試みたり、などとすることも可能である。
【0266】
さらにまた、本実施例では、プロセス名として数値を利用していたが、プロセス名は数値以外の任意の固有情報でもよい。例えば、プロセス名を文字列とし、プロセス名に数値以外に生成されたプロセス実行装置名や使用するデータベース名,プロセス状態情報を共有しているか否かなどの情報をプロセス名に埋め込むと、情報共有・排他制御装置決定機構やプロセス実行装置決定手段がプロセス名の解析のみで必要な情報を獲得するようにすることが可能である。
【0267】
また、本実施例では、プロセス実行装置0101,0111,データベース1821,1822,および負荷分散装置1823を全て異なる計算機に配置していたが、これらの一部あるいは全てを同じ計算機に配置することも可能である。
【0268】
特に、プロセス実行装置0101,0111,およびデータベース1821,1822を同数用意し、1つの計算機にプロセス実行装置0101,0111,およびデータベース1821,1822を1つずつ配置して、情報共有・排他制御装置決定機構が自プロセス実行装置0101,0111で連続実行されるプロセスは同計算機内のデータベース1821,1822を利用するようにすれば、メッセージ受信によるプロセス操作よりも頻度の高いプロセス連続実行において、高速にデータベース1821,1822をアクセス可能になる。さらに、データベース1821,1822としてネットワークファイルシステムを利用すれば、同一計算機内のデータベース1821,1822のアクセスはローカルファイルシステムの操作となり、プロセスの連続実行ではクラスタ化されていない永続プロセス実行装置と変わらない速度で実行することが可能となる。
【0269】
また、本実施例では、負荷分散装置1823を用いて受信メッセージをプロセス実行装置0101,0111に振り分けたが、必ずしも負荷分散装置1823を利用する必要は無い。例えば、インターネットにおける負荷分散の実現方式として、ドメインネームサービス(DNS)が同一のホスト名に対して異なるIPアドレスを返すことで負荷分散を実現する手法などがあるが、こうした方式を利用することも可能である。
【0270】
さらに、本実施例では、負荷分散装置1832は外部装置としてプロセス実行装置0101,0111と連動せずに適当にメッセージを分配していたが、これを、プロセス実行装置0101,0111が計算機の現在の負荷状況や実行制御情報から予測される将来の負荷状況の情報を提供し、負荷分散装置1823がこれらの情報に基づいてメッセージを振り分けるようにすることも可能である。
【0271】
さらにまた、本実施例では、クラスタ化されたプロセス実行システム0131の通信対象をネットワーク接続された外部システムとしていたが、外部システムは通常のWebサービスが想定するようなインターネットを介した接続には限定されない。例えば、外部システムがプロセス実行装置0101,0111などと同一のLAN内に存在したり、あるいはいずれかのプロセス実行装置0101,0111と同一の計算機上に存在したりすることも可能である。また、あるプロセスが自プロセスまたは他のプロセスにメッセージを送ることも可能である。
【0272】
また、本実施例では、メッセージ送信手段1804やメッセージ受信手段1805が使用する通信プロトコルはHTTP、メッセージはXMLで記述されたWebサービスメッセージとしていたが、他の任意の形式のプロトコルやメッセージ形式でも利用可能である。例えば、UNIX(登録商標)のリモートプロシジャコール(RPC),ソケットによる通信,任意のプロセス間メッセージ方式,ファイルトランスファープロトコル(ftp)やシンプルメールトランスファープロトコル(smtp)などの通信をメッセージ送信手段1804やメッセージ受信手段1805で扱ってもよい。
【0273】
さらに、本実施例では、生成されたプロセスはそのままそのプロセス実行装置0101,0111で実行されていたが、実行制御情報を他のプロセス実行装置0101,0111に移動できるようにしてもよい。これにより、プロセス実行装置0101,0111の負荷が高くなった時に、そこで連続実行されていたプロセスを他のプロセス実行装置0101,0111に退避させ、負荷分散を行うことができる。
【0274】
【発明の効果】
本発明の第1の効果は、複数の計算機によるクラスタ化されたプロセス実行システムにおいて、プロセスが実行の過程で外部システムと通信を行いながら動作する場合に、プロセスの実行およびメッセージの受信を高速に行うことが可能であることである。その理由は、プロセスの連続実行はプロセス実行装置内のノード固有情報を用いて情報共有装置以外との通信を行わずに処理可能であると同時に、メッセージ受信はメッセージ内容の解析による適切な処理ノードへの配送無しに任意の処理ノードで実行可能であるためである。これは、プロセスの処理についてメッセージ受信と比較してプロセスの連続実行の割合が高く、かつWebサービスメッセージのような受信メッセージの内容解析が困難な通信の場合に有効である。特に、プロセス実行が永続プロセスである場合、クラスタ化を考慮していなくても、プロセス状態情報は元々2次記憶装置や外部記憶装置に保存されている。この情報の一部を複数のプロセス実行装置間で共有するようにするだけで本発明の形態になるため、クラスタ化を考慮していない永続プロセス実行装置と、本発明による永続プロセス実行装置は、連続実行に関してほぼ同等の実行性能が期待できる。
【0275】
本発明の第2の効果は、情報共有装置内のプロセス状態情報をプロセス実行装置内でキャッシュする場合の、キャッシュの利用効率が向上することである。その理由は、ある処理ノード上で操作する対象が特定のプロセスに集中しやすくなるためである。通常、キャッシュは情報共有装置と比較してごく小量のプロセス状態情報しか保持することはできないため、1つの処理ノード上で同時に多数のプロセスを処理すると、キャッシュが溢れ、プロセス処理時にキャッシュ内に該当プロセス状態情報が含まれない確率が高くなる。ノード状態非保持型では、全てのプロセスに関する処理が全ての処理ノードに均等に割り振られるため、個々の処理ノードで見ると同時に操作するプロセス数が多くなり、結果キャッシュが利用できない確率が高い。一方、本発明では、プロセスに関する処理が通常の連続実行とメッセージ受信処理とに分けられ、メッセージ受信処理のみが全ての処理ノードに均等に割り振られ、連続実行は特定の処理ノード上のみで行われるため、個々の処理ノードで見ると連続実行を行っているプロセスを扱う比率が他のプロセスと比較して極めて高くなり、結果キャッシュが利用できる確率も高くなる。ノード状態保持型では、処理ノード内で同時に操作されるプロセスがより限定されるため、本発明よりもキャッシュの利用効率はより高いが、本発明もこれに近い効果が得られる。
【0276】
本発明の第3の効果は、情報共有装置にデータベースを使用する場合、トランザクション管理を一プロセス実行装置内のみで行えることである。その理由は、異なるプロセス実行装置上で連続実行される複数のプロセスを、任意の1つのプロセス実行装置のみで行うことができるためである。プロセスの操作では、複数のプロセスを同時に扱う必要がある場合があり、このような場合に複数のプロセスの変更を確実に矛盾無く行うには、一般にトランザクション管理が必要となる。ノード状態保持型で異なるプロセス実行装置で連続実行される複数のプロセスを矛盾無く行おうとした場合、トランザクションは複数の計算機にまたがるため、2相コミットなどの分散トランザクション技術を使用しなければならないが、分散トランザクションは通常のトランザクションに比べて性能のオーバーヘッドが大きい。一方、本発明では、第6および第12の実施の形態以外では、全てのプロセスの操作を任意の1つのプロセス実行装置のみで行うことができるため、操作するプロセスの連続実行の場所に関わらず、常に単一計算機での通常のトランザクションで処理を行うことができる。なお、ノード状態非保持型でも、本発明と同様に通常のトランザクションで処理を行うことができる。
【0277】
本発明の第4の効果は、特定プロセス宛の大量の通信メッセージを複数のプロセス実行装置に負荷分散して処理できることである。その理由は、任意のプロセス実行装置で任意のプロセス宛のメッセージを受信できるためである。ノード状態保持型ではプロセスの連続実行されるプロセス実行装置でしか通信メッセージを受信できないため、一度に特定のプロセス宛に大量のメッセージが届くと、そのプロセス実行装置に負荷が集中してしまう。一方、本発明では、メッセージの受信処理はプロセスの連続実行場所とは無関係に行えるため、このような場合でも受信処理の負荷分散を行うことが可能である。なお、ノード状態非保持型でも、本発明と同様に負荷分散を行うことができる。
【0278】
本発明の効果のポイントは、個々の効果に関してはノード状態保持型とノード状態非保持型とのいずれかの方式と同じかあるいは若干劣るものの、プロセスの連続実行に関してはノード状態保持型に近い利点が、通信メッセージの処理に関してはノード状態非保持型に近い利点が、1つの方式で同時に得られることにある。よって、通信処理と連続実行処理との双方が必要なシステムにおいて、本発明は多くの場面で有効に機能する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るプロセス実行システムの構成を示すブロック図である。
【図2】第1の実施の形態に係るプロセス実行システムにおけるプロセス操作手段の動作を示すフローチャートである。
【図3】第1の実施の形態に係るプロセス実行システムにおけるプロセス連続実行手段の動作を示すフローチャートである。
【図4】第1の実施の形態に係るプロセス実行システムにおけるノード固有情報管理手段の動作を示すフローチャートである。
【図5】第1の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段の動作を示すフローチャートである。
【図6】第1の実施の形態に係るプロセス実行システムにおけるメッセージ受信手段の動作を示すフローチャートである。
【図7】本発明の第2の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図8】第2の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段の動作を示すフローチャートである。
【図9】本発明の第3の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図10】第3の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段動作を示すフローチャートである。
【図11】本発明の第4の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図12】第4の実施の形態に係るプロセス実行システムにおける共有情報アクセス手段の動作を示すフローチャートである。
【図13】本発明の第5の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図14】第5の実施の形態に係るプロセス実行システムにおけるノード固有情報管理手段の動作を示すフローチャートである。
【図15】第5の実施の形態に係るプロセス実行システムにおける実行制御情報変更要求監視手段の動作を示すフローチャートである。
【図16】第5の実施の形態に係るプロセス実行システムにおけるプロセス操作手段の動作を示すフローチャートである。
【図17】第5の実施の形態に係るプロセス実行システムにおけるメッセージ受信手段の動作を示すフローチャートである。
【図18】本発明の第6の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図19】第6の実施の形態に係るプロセス実行システムにおけるプロセス操作手段の動作を示すフローチャートである。
【図20】第6の実施の形態に係るプロセス実行システムにおけるプロセス連続実行手段の動作を示すフローチャートである。
【図21】本発明の第7の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図22】本発明の第8の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図23】本発明の第9の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図24】本発明の第10の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図25】本発明の第11の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図26】本発明の第12の実施の形態に係るプロセス実行システムの構成を示すプロック図である。
【図27】本発明の実施例の構成を示すブロック図である。
【図28】本発明の実施例で使用するプロセス定義の概念図である。
【図29】本発明の実施例で使用するXMLメッセージの一例を示す図である。
【図30】本発明の実施例で使用するXMLメッセージの他の例を示す図である。
【図31】本発明の実施例の状態を示すイメージ図である。
【図32】従来の技術の構成を示すブロック図である。
【図33】従来の技術の構成を示すブロック図である。
【符号の説明】
0101,0111 プロセス実行装置
0102,0112 プロセス連続実行手段
0103,0113 ノード固有情報管理手段
0104,0114 共有情報アクセス手段
0105,0115 プロセス操作手段
0106,0116 メッセージ受信手段
0121 プロセス排他制御装置
0122 情報共有装置
0701,0711 共有情報アクセス手段
0721 情報共有・排他制御装置
0901a,0901b プロセス排他制御装置
0902a,0902b 情報共有装置
0904,0914 共有情報アクセス手段
0921,0922 プロセス排他制御装置
0923,0924 情報共有装置
1101,1111 共有情報アクセス手段
1122 情報共有装置
1301,1311 ノード固有情報管理手段
1302,1312 実行制御情報変更要求監視手段
1303,1313 プロセス操作手段
1304,1314 メッセージ受信手段
1305,1315 共有情報アクセス手段
1322 情報共有装置
1801,1811 共有情報アクセス手段
1802,1812 プロセス定義管理手段
1803,1813 プロセス名発行手段
1804,1814 メッセージ送信手段
1805,1815 メッセージ受信手段
1821,1822 データベース
1823 負荷分散装置
1831,1832,1833,1834,1835 計算機
1901 プロセス定義
1902〜1906 アクティビティ
1911 変数リスト
1921,1922 制御記号
2001 受信メッセージ
2100,2200,2300,2400,2500,2600 プロセス実行プログラム
2101 受信メッセージ
S0201〜S0226 ステップ
S0301〜S0308 ステップ
S0401〜S0443 ステップ
S0501〜S0553 ステップ
S0601〜S0632 ステップ
S0801〜S0805 ステップ
S1011〜S1051 ステップ
S1401〜S1453 ステップ
S1501〜S1504 ステップ
S1601〜S1602 ステップ
S1701 ステップ
S1211〜S1253 ステップ
S2601〜S2632 ステップ
S2701〜S2714 ステップ

Claims (73)

  1. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、他のプロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とするプロセス実行装置。
  2. プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする請求項1記載のプロセス実行装置。
  3. 複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を1つ決定し前記プロセスの実行状態を保存することを特徴とする請求項2記載のプロセス実行装置。
  4. 他のプロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする請求項1記載のプロセス実行装置。
  5. 他のプロセス実行装置から出されたプロセスの実行制御情報変更要求に応じて、前記プロセスの実行制御情報を変更することを特徴とする請求項1記載のプロセス実行装置。
  6. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置であって、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とするプロセス実行装置。
  7. 通信メッセージを受信し該通信メッセージに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする請求項6記載のプロセス実行装置。
  8. 前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする請求項6記載のプロセス実行装置。
  9. 前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする請求項6記載のプロセス実行装置。
  10. 前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする請求項6記載のプロセス実行装置。
  11. 前記共有情報アクセス手段が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする請求項6記載のプロセス実行装置。
  12. 前記共有情報アクセス手段が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする請求項10記載のプロセス実行装置。
  13. 前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする請求項9記載のプロセス実行装置。
  14. 前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段が持つ操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段が管理するプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする請求項8記載のプロセス実行装置。
  15. 前記ノード固有情報管理手段が、情報を2次記憶装置上に保存することを特徴とする請求項6記載のプロセス実行装置。
  16. 前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置の前記プロセス操作手段に通信機構を介して操作要求を転送することを特徴とする請求項6記載のプロセス実行装置。
  17. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置のプロセス実行管理方法であって、プロセスの実行制御情報はプロセス実行装置内で管理し、プロセス状態情報はプロセス実行装置外の情報共有装置で管理し、前記情報共有装置上のプロセス状態情報を使用する時はプロセスの排他制御を行い、プロセスの連続的な実行はプロセスの実行制御情報およびプロセス状態情報を用いて行い、プロセスの操作はプロセス状態情報のみを用いて行うことを特徴とするプロセス実行管理方法。
  18. プロセス宛の通信メッセージの受信時に受信プロセスの操作を行うことを特徴とする請求項17記載のプロセス実行管理方法。
  19. 複数の情報共有装置を利用し、各々のプロセスに対して一意に使用する情報共有装置を決定して該情報共有装置でプロセス状態情報を管理することを特徴とする請求項17記載のプロセス実行管理方法。
  20. 前記情報共有装置上のプロセス状態情報を前記プロセス実行装置内にキャッシュし、プロセス状態情報を更新したならば更新したプロセス実行装置に関する情報を前記情報共有装置上に記録し、プロセスの操作前に排他制御権を獲得したならば前記情報共有装置上の更新したプロセス実行装置に関する情報を調べて自プロセス実行装置でなければプロセスのキャッシュを破棄し、情報の参照を行う時に必要なキャッシュに存在したならば該情報を利用することを特徴とする請求項17記載のプロセス実行管理方法。
  21. プロセスの実行制御情報変更要求を受けて該実行制御情報変更要求を前記情報共有装置上に記録することを特徴とする請求項17記載のプロセス実行管理方法。
  22. 情報共有装置上の実行制御情報変更要求を監視して、自プロセス実行装置がプロセスの実行制御情報を保持するプロセスの実行制御情報変更要求があれば該実行制御情報変更要求を取り出して、該実行制御情報変更要求に応じてプロセスの実行制御情報を変更することを特徴とする請求項17記載のプロセス実行管理方法。
  23. プロセスの実行制御情報を2次記憶装置上に保存することを特徴とする請求項17記載のプロセス実行管理方法。
  24. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された1つ以上の計算機によって構成されるプロセス実行システムのプロセス実行管理方法であって、受信した通信メッセージを1つ以上の計算機に分配し、特定の条件を満たす通信メッセージの受信によって新規にプロセスを生成し、生成したプロセスの一部または全部の、プロセスの一部または全部のプロセス状態情報を1つ以上の計算機間で共有し、1つの計算機でプロセスを連続的に実行し、特定の条件を満たす通信メッセージの受信によって共有されたプロセス状態情報を操作することを特徴とするプロセス実行管理方法。
  25. 情報の共有を1つ以上の情報共有装置を用いて行い、各々の情報共有装置を同じあるいは異なる計算機上で動作させ、情報を共有する全ての計算機が、各々の計算機でプロセスの共有情報を操作する時に、全ての計算機で同じ結果になるように、各々のプロセスに対して一意に使用する情報共有装置を決定し、該情報共有装置でプロセスの共有情報を管理することを特徴とする請求項24記載のプロセス実行管理方法。
  26. プロセスの実行制御情報変更要求に関する情報を1つ以上の計算機間で共有し、プロセスを生成し実行する各々の計算機が実行制御情報変更要求に関する情報を監視して、自計算機が実行中のプロセスの実行制御情報変更要求に関する情報があればこれを取り出してプロセスの実行制御に反映させることを特徴とする請求項24記載のプロセス実行管理方法。
  27. プロセスの情報を共有する1つ以上の計算機がプロセスの共有情報を最後に更新した計算機に関する情報を共有し、各々の計算機が利用したプロセスの共有情報を各々の計算機内にキャッシュし、ある計算機がプロセスの共有情報を更新したならば最後に更新した計算機に関する情報を自計算機に設定し、ある計算機がプロセスの共有情報の利用前に排他制御権を獲得したならば操作対象プロセスの最後に更新した計算機に関する情報を調べ自計算機でなければキャッシュを破棄し、ある計算機がプロセスの共有情報を参照する時に対象プロセスの情報がキャッシュに存在したならばこれを使用することを特徴とする請求項24記載のプロセス実行管理方法。
  28. 一部または全部のプロセスの共有情報および非共有情報の双方を、それぞれ2次記憶装置上に保存することを特徴とする請求項24記載のプロセス実行管理方法。
  29. プロセスの実行を行う計算機が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行管理方法であって、1つの計算機が、他の計算機上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする請求項24記載のプロセス実行管理方法。
  30. プロセスの実行を行う計算機が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする請求項29記載のプロセス実行管理方法。
  31. プロセスの実行を行う計算機が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を1つ決定し前記プロセスの実行状態を保存することを特徴とする請求項30記載のプロセス実行管理方法。
  32. 1つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする請求項29記載のプロセス実行管理方法。
  33. 1つのプロセスの実行を行う計算機が、他のプロセスの実行を行う計算機から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする請求項29記載のプロセス実行管理方法。
  34. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する計算機のプロセス実行管理方法であって、前記計算機が、計算機に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とするプロセス実行管理方法。
  35. プロセスの実行を行う計算機が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする請求項34記載のプロセス実行管理方法。
  36. 前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする請求項34記載のプロセス実行管理方法。
  37. 前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする請求項34記載のプロセス実行管理方法。
  38. 前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする請求項34記載のプロセス実行管理方法。
  39. 前記共有情報アクセス手段が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする請求項34記載のプロセス実行管理方法。
  40. 前記共有情報アクセス手段が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする請求項38記載のプロセス実行管理方法。
  41. 前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新した計算機に関する情報を管理することを特徴とする請求項37記載のプロセス実行管理方法。
  42. 前記ノード固有情報管理手段が計算機の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、計算機が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報を監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする請求項36記載のプロセス実行管理方法。
  43. 前記ノード固有情報管理手段が、前記計算機に固有の情報を2次記憶装置上に保存することを特徴とする請求項34記載のプロセス実行管理方法。
  44. 前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、計算機が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行する計算機に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は前記共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他の計算機で連続実行されている場合に、その計算機のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする請求項34記載のプロセス実行管理方法。
  45. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行する、ネットワークで接続された1つ以上の計算機によって構成されるプロセス実行システムで、前記プロセス実行システムが、前記計算機上に配置され前記プロセスの実行を行う1つ以上のプロセス実行装置と、前記計算機上に配置され前記プロセス実行装置に接続される1つ以上の情報共有装置とによって構成され、各々の前記プロセス実行装置が、実行している0以上の前記プロセスのうちの一部または全部の、前記プロセスの一部または全部のプロセス状態情報を、前記情報共有装置に格納し、前記プロセス実行装置が、前記情報共有装置に格納された一部または全部の前記プロセス状態情報を操作することを特徴とするプロセス実行システム。
  46. 前記計算機上に配置され前記通信メッセージを受信し前記プロセス実行装置に振り分ける1つ以上の負荷分散装置を持つことを特徴とする請求項45記載のプロセス実行システム。
  47. 前記プロセス実行装置が、一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、1つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセス宛の通信メッセージを受信し、該当プロセス宛に前記通信メッセージを配送できることを特徴とする請求項45記載のプロセス実行システム。
  48. 前記プロセス実行装置が、プロセスの実行状態を外部記憶装置に保存しながら実行し、障害発生により停止した後に再起動された時、前記外部記憶装置に保存されたプロセスの実行状態を取り出して障害前の実行状態を復旧し、障害時点からのプロセスの実行継続を可能にすることを特徴とする請求項47記載のプロセス実行システム。
  49. 前記プロセス実行装置が、複数の前記外部記憶装置を利用し、各々の前記プロセス毎に使用する前記外部記憶装置を1つ決定し前記プロセスの実行状態を保存することを特徴とする請求項48記載のプロセス実行システム。
  50. 1つの前記プロセス実行装置が、他の前記プロセス実行装置上で実行されているプロセスの実行制御情報変更要求を出すことを特徴とする請求項47記載のプロセス実行システム。
  51. 1つの前記プロセス実行装置が、他の前記プロセス実行装置から出された前記プロセスの実行制御情報変更要求に応じて前記プロセスの実行制御情報を変更することを特徴とする請求項47記載のプロセス実行システム。
  52. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行装置で、前記プロセス実行装置が、プロセス実行装置に固有の情報を管理するノード固有情報管理手段と、情報共有のための装置またはサービスと排他制御のための装置またはサービスとを操作する共有情報アクセス手段と、前記ノード固有情報管理手段に管理される情報と前記共有情報アクセス手段によって操作される情報とを用いてプロセスを実行するプロセス連続実行手段と、前記共有情報アクセス手段によって操作される情報を用いてプロセスを操作するプロセス操作手段とを備えることを特徴とするプロセス実行システム。
  53. 前記プロセス実行装置が、通信メッセージを受信しこれに応じて前記プロセス操作手段を用いてプロセスを操作するメッセージ受信手段を備えることを特徴とする請求項52記載のプロセス実行システム。
  54. 前記ノード固有情報管理手段が、プロセスの実行制御情報を管理することを特徴とする請求項52記載のプロセス実行システム。
  55. 前記共有情報アクセス手段が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することを特徴とする請求項52記載のプロセス実行システム。
  56. 前記共有情報アクセス手段が、情報共有および排他制御のための装置またはサービスを操作することを特徴とする請求項52記載のプロセス実行システム。
  57. 前記共有情報アクセス手段が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御装置決定機構と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有装置決定機構とを持つことを特徴とする請求項52記載のプロセス実行システム。
  58. 前記共有情報アクセス手段が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御装置決定機構を持つことを特徴とする請求項56記載のプロセス実行システム。
  59. 前記共有情報アクセス手段が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行装置に関する情報を管理することを特徴とする請求項55記載のプロセス実行システム。
  60. 前記ノード固有情報管理手段がプロセス実行装置の操作対象プロセスのリストを持ち、前記共有情報アクセス手段が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、プロセス実行装置が、前記ノード固有情報管理手段の操作対象プロセスのリストと前記共有情報アクセス手段が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理手段のプロセスの実行制御情報を変更する実行制御情報変更要求監視手段を持つことを特徴とする請求項54記載のプロセス実行システム。
  61. 前記ノード固有情報管理手段が、前記プロセス実行装置に固有の情報を2次記憶装置上に保存することを特徴とする請求項52記載のプロセス実行システム。
  62. 前記ノード固有情報管理手段がプロセス状態情報を管理し、前記プロセス操作手段が他のプロセス操作手段と通信する通信機構を持ち、プロセス実行装置が、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行装置に関する情報を得るプロセス実行装置決定手段を持ち、一部のプロセス状態情報は共有情報アクセス手段を用いずに前記ノード固有情報管理手段で管理し、前記プロセス操作手段が、操作要求を受けたプロセスが前記ノード固有情報管理手段で管理されかつ他のプロセス実行装置で連続実行されている場合に、そのプロセス実行装置のプロセス操作手段に通信機構を介して操作要求を転送することを特徴とする請求項52記載のプロセス実行システム。
  63. 一連の処理手続きを連続的に実行しながら、処理手続き実行中に通信メッセージを受信するプロセスを実行するプロセス実行プログラムであって、プロセス実行プログラムに固有の情報を管理するノード固有情報管理処理と、情報共有のための装置またはサービスと排他制御のための装置またはサービスを操作する共有情報アクセス処理と、前記ノード固有情報管理処理に管理される情報と前記共有情報アクセス処理によって操作される情報を用いてプロセスを実行するプロセス連続実行処理と、前記共有情報アクセス処理によって操作される情報を用いてプロセスを操作するプロセス操作処理とをコンピュータに実行させるためのプロセス実行プログラム。
  64. 通信メッセージを受信しこれに応じて前記プロセス操作処理を用いてプロセスを操作するメッセージ受信処理をコンピュータにさらに実行させることを特徴とする請求項63記載のプロセス実行プログラム。
  65. 前記ノード固有情報管理処理が、プロセスの実行制御情報を管理することをコンピュータにさらに実行させることを特徴とする請求項63記載のプロセス実行プログラム。
  66. 前記共有情報アクセス処理が、前記情報共有のための装置またはサービスでプロセス状態情報を管理することをコンピュータにさらに実行させることを特徴とする請求項63記載のプロセス実行プログラム。
  67. 前記共有情報アクセス処理が、情報共有および排他制御のための装置またはサービスを操作することをコンピュータにさらに実行させることを特徴とする請求項63記載のプロセス実行プログラム。
  68. 前記共有情報アクセス処理が、1つ以上の前記排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記排他制御のための装置またはサービスを決定する排他制御プログラム決定処理と、1つ以上の前記情報共有のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有のための装置またはサービスを決定する情報共有プログラム決定処理とを持つことをコンピュータにさらに実行させることを特徴とする請求項63記載のプロセス実行プログラム。
  69. 前記共有情報アクセス処理が、1つ以上の前記情報共有および排他制御のための装置またはサービスの中から各々のプロセスに対して使用する前記情報共有および排他制御のための装置またはサービスを決定する情報共有・排他制御プログラム決定処理を持つことをコンピュータにさらに実行させることを特徴とする請求項67記載のプロセス実行プログラム。
  70. 前記共有情報アクセス処理が、前記情報共有のための装置またはサービス上で管理される情報のキャッシュを持つとともに、前記情報共有のための装置またはサービスで、前記プロセス状態情報を最後に更新したプロセス実行プログラムに関する情報を管理することをコンピュータにさらに実行させることを特徴とする請求項66記載のプロセス実行プログラム。
  71. 前記ノード固有情報管理処理がプロセス実行プログラムの操作対象プロセスのリストを持ち、前記共有情報アクセス処理が前記情報共有のための装置またはサービスでプロセスの実行制御情報変更要求に関する情報を管理し、前記ノード固有情報管理処理の操作対象プロセスのリストと前記共有情報アクセス処理が管理する実行制御情報変更要求に関する情報とを監視しこれに基づいて前記ノード固有情報管理処理のプロセスの実行制御情報を変更する実行制御情報変更要求監視処理をコンピュータにさらに実行させることを特徴とする請求項65記載のプロセス実行プログラム。
  72. 前記ノード固有情報管理処理が、情報を2次記憶装置上に保存することをコンピュータにさらに実行させることを特徴とする請求項63記載のプロセス実行プログラム。
  73. 前記ノード固有情報管理処理がプロセス状態情報を管理し、前記プロセス操作処理が他のプロセス操作処理と通信する通信処理を持ち、プロセス実行プログラムが、プロセスがプロセス状態情報を共有しているか否かを判別しプロセスを連続実行するプロセス実行プログラムに関する情報を得るプロセス実行プログラム決定処理を持ち、一部のプロセス状態情報は前記共有情報アクセス処理を用いず前記ノード固有情報管理処理で管理し、前記プロセス操作処理が、操作要求を受けたプロセスが前記ノード固有情報管理処理で管理されかつ他のプロセス実行プログラムで連続実行されている場合に、そのプロセス実行プログラムのプロセス操作処理に通信処理を介して操作要求を転送することをコンピュータにさらに実行させることを特徴とする請求項63記載のプロセス実行プログラム。
JP2003132424A 2003-05-12 2003-05-12 プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム Pending JP2004334723A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003132424A JP2004334723A (ja) 2003-05-12 2003-05-12 プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003132424A JP2004334723A (ja) 2003-05-12 2003-05-12 プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007101267A Division JP2007213603A (ja) 2007-04-09 2007-04-09 プロセス実行管理方法およびプロセス実行プログラム

Publications (1)

Publication Number Publication Date
JP2004334723A true JP2004334723A (ja) 2004-11-25

Family

ID=33507275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003132424A Pending JP2004334723A (ja) 2003-05-12 2003-05-12 プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム

Country Status (1)

Country Link
JP (1) JP2004334723A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671919A (zh) * 2020-12-29 2021-04-16 武汉达梦数据技术有限公司 一种集群状态同步方法、装置、存储介质及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671919A (zh) * 2020-12-29 2021-04-16 武汉达梦数据技术有限公司 一种集群状态同步方法、装置、存储介质及系统
CN112671919B (zh) * 2020-12-29 2023-04-07 武汉达梦数据技术有限公司 一种集群状态同步方法、装置、存储介质及系统

Similar Documents

Publication Publication Date Title
US10481948B2 (en) Data transfer in a collaborative file sharing system
US7840611B2 (en) High availability for event forwarding
US5987502A (en) Workload management in an asynchronous client/server computer system
KR101150146B1 (ko) 클라이언트가 서버와 상호작용하는 컴퓨터 구현 방법, 서버가 클라이언트와 상호작용하는 컴퓨터 구현 방법, 오브젝트를 공유하는 분산 파일 시스템 및 컴퓨터 판독가능 기록 매체
US9137172B2 (en) Managing multiple proxy servers in a multi-tenant application system environment
US7822779B2 (en) Method and apparatus for scalable transport processing fulfillment system
CN108173774B (zh) 一种客户端的升级方法及系统
US7970856B2 (en) System and method for managing and distributing assets over a network
US20170064027A1 (en) Data caching in a collaborative file sharing system
US20040078440A1 (en) High availability event topic
JP2005539298A (ja) サーバを遠隔かつ動的に構成する方法およびシステム
WO2007032549A1 (ja) コンテンツ配信方法及びシステム
US20060123121A1 (en) System and method for service session management
CN109783151B (zh) 规则变更的方法和装置
US20090271611A1 (en) System and method of managed content distribution
US20050210152A1 (en) Providing availability information using a distributed cache arrangement and updating the caches using peer-to-peer synchronization strategies
CN110798495B (zh) 用于在集群架构模式下端到端的消息推送的方法和服务器
US8205199B2 (en) Method and system for associating new queues with deployed programs in distributed processing systems
CN111193789A (zh) 订阅信息推送方法、装置、计算机设备和可读存储介质
US20030115243A1 (en) Distributed process execution system and method
JP2993434B2 (ja) 分散ハイパーメディアシステム
JP2009515474A (ja) 独立したメッセージストアおよびメッセージトランスポートエージェント
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
JP4689867B2 (ja) サーバシステム,クライアントシステムおよび差分更新システムならびに差分更新プログラム
JP2004334723A (ja) プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041216

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080909