JP2010287172A - 計算機ノード、計算機システム、プロセス生成方法およびプロセス生成プログラム - Google Patents

計算機ノード、計算機システム、プロセス生成方法およびプロセス生成プログラム Download PDF

Info

Publication number
JP2010287172A
JP2010287172A JP2009142499A JP2009142499A JP2010287172A JP 2010287172 A JP2010287172 A JP 2010287172A JP 2009142499 A JP2009142499 A JP 2009142499A JP 2009142499 A JP2009142499 A JP 2009142499A JP 2010287172 A JP2010287172 A JP 2010287172A
Authority
JP
Japan
Prior art keywords
software
computer
computer node
software resource
node
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
JP2009142499A
Other languages
English (en)
Inventor
Akihito Kohiga
亮仁 小比賀
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 JP2009142499A priority Critical patent/JP2010287172A/ja
Publication of JP2010287172A publication Critical patent/JP2010287172A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】シングルシステムイメージを用いた計算機システムにおいて、計算機システム内のネットワークの冗長な通信を低減し、ネットワークを効率よく使用するための技術を提供する。
【解決手段】本発明の計算機ノードは、複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムで用いられる計算機ノードであって、他の計算機ノードからソフトウエア資源を取得するソフトウエア資源移動制御手段と、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、前記ソフトウエア資源移動制御手段が他の計算機ノードから取得したソフトウエア資源を用いてプロセスを生成するプロセス生成手段を有する。
【選択図】図2

Description

本発明は、複数の計算機ノードを有する計算機システムにおいて各計算機ノードでのプロセスの生成方法に関する。
計算機システムを利用する利用者数および計算機システムが取り扱うデータ量は、日々増加し続けている。複数の計算機ノードで処理を実行する計算機システムにおいては、各計算機ノードの処理を効率良く負荷分散するための技術が重要になっている。
例えば、特許文献1には、計算機システムにおいて、各計算機ノードの処理を負荷分散する技術が提案されている。特許文献1では、各計算機ノードが、各計算機ノードで実行されるサービスの負荷を計測するサービス負荷モニタおよび各計算機ノード自身の負荷を計測するノード負荷モニタを有する。そして、計算機システム内の負荷を平準化するために、各計算機ノードは、サービス負荷モニタおよびノード負荷モニタの計測結果をもとにサービス実行に最適な計算機ノードを決定し、決定した計算機ノードにサービスを再配置する。
このような計算機システムでは、サービスを再配置するためにプロセスマイグレーションという技術が用いられる。プロセスマイグレーションとは、ある計算機ノードで実行されているプロセスの実行状態を示す実行コンテキストを他の計算機ノードに転送し、転送された計算機ノード上で、転送された実行コンテキストを用いてプロセスの実行を継続する技術である。尚、プロセスの実行コンテキストには、そのプロセスが使用しているメモリ空間上のデータ(プログラムのコードを含む)、CPU(Central Processing Unit;中央処理装置)の状態を示すレジスタの値、そのプロセスがオープンしているファイルの情報等が含まれる。
プロセスマイグレーション技術を用いれば、複数の計算機ノードを有する計算機システムにおいて、特定の計算機ノードに負荷が集中している場合に、その計算機ノード上で実行されているプロセスを他の計算機ノードに移動させることができる。これにより、計算機ノードの負荷が平準化される。
例えば、特許文献2に、プロセスマイグレーションを用いた技術が提案されている。特許文献2では、転送元の計算機ノードは、あるプロセスのコピーを転送先の計算機ノードに転送するとき、転送を開始しても、そのプロセスの実行を継続しておく。そして、転送元の計算機ノードは、プロセスのコピーの転送を完了したときに、自身が転送中に実行したプロセスの実行記録を転送する。転送先の計算機ノードは、転送されてきたプロセスのコピーを格納し、転送が完了した後に、実行記録によってコピーを更新することにより、転送元の計算機ノードとの間でプロセスの同期をとる。これにより、計算機ノード間でプロセスを移動させる際にプロセスの実行を停止する時間を短縮することができる。
このようなプロセスマイグレーションにおいては、計算機ノード間でソフトウエア資源の競合が課題となる。ソフトウエア資源とは、プロセスID(Identification)やポート番号等のプロセスが有する識別子の集合のような論理的な資源のことである。プロセスIDとは、計算機ノードにより実行されるプロセスを一意に特定するための識別情報である。ポート番号とは、計算機ノードが、計算機ノード間の通信に用いるポートを特定するための識別番号である。
これらソフトウエア資源は各計算機ノードのOSにより管理される。OSは、プロセスを制御するときプロセスIDによってプロセスを特定する。また、OSは、計算機ノード間の通信を行うとき、通信に用いるポートをポート番号によって特定する。
しかし、複数の計算機ノードによってプロセスを実行する計算機システムでは、ソフトウエア資源である識別情報が計算機ノード間で重複していると、プロセスマイグレーションが困難となる。例えば、ある計算機ノードがあるプロセスに使っているプロセスIDが、他の計算機ノードでは他のプロセスに使われていれば、計算機ノード間でプロセスを移動させるときプロセスIDの重複が起こるおそれがある。また、例えば、ある計算機ノードがあるプロセスの通信に使っているポート番号が、他の計算機ノードでは他のプロセスの通信に使われていれば、計算機ノード間でプロセスを移動させるときポート番号の重複が起こるおそれがある。
この課題を解決する方法として、複数の計算機ノードを有する計算機システムにおいて、利用者に計算機ノードが複数あることを隠蔽するシングルシステムイメージという技術が非特許文献1に示される。シングルシステムイメージを用いた計算機システムでは、各計算機ノードに対して、その計算機ノードがプロセスに付与することができるソフトウエア資源を割り当てておくことにより、ソフトウエア資源が計算機システム内で重複することを防止している。
シングルシステムイメージを用いた計算機システムでは、計算機システム全体として、すべての計算機ノードにおけるソフトウエア資源が一意に管理される。あるプロセスIDやあるポート番号は、計算機システム内に1つずつしか存在しないため、各計算機ノードが管理するプロセスIDやポート番号が、計算機システム内で重複することはない。
特開2005−100381公報 特開2004−78465公報
Rajkumar Buyya, Single System Image(SSI), The Internal Journal of High Performance Computing Applications, Volume 15, No.2, Summer 2001, pp.124-135, 2001
シングルシステムイメージを用いた計算機システムでは、計算機ノードは、あるプロセスを生成するときに、そのプロセスの生成に必要なソフトウエア資源がなければ、それ以上プロセスを生成することができないので、そのプロセスの生成を他の計算機ノードに要求する。このため、そのプロセスは、他の計算機ノード上で生成されることになる。
例えば、ある計算機ノードが、実行中のプロセスの子プロセスを生成するときに、そのプロセスの生成に必要なソフトウエア資源がなければ、その子プロセスは、その計算機ノード以外の計算機ノードで生成されることになる。子プロセスは、親プロセスからの属性を引き継ぐために、親プロセスの実行コンテキストをコピーして生成される。このため、親プロセスが生成された計算機ノード以外の計算機ノードで子プロセスが生成される場合、親プロセスの実行コンテキストのコピーがネットワーク上で送受信され、ネットワークの通信帯域を圧迫する。また、子プロセスが生成された後、親プロセスと子プロセスの間の通信は、全てネットワークを介して行われることになり、さらに通信帯域を圧迫することになる。
本発明の目的は、シングルシステムイメージを用いた計算機システムにおいて、計算機システム内のネットワークの冗長な通信を低減し、ネットワークを効率よく使用するための技術を提供することである。
上記目的を達成するために、本発明の計算機ノードは、複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムで用いられる計算機ノードであって、他の計算機ノードからソフトウエア資源を取得するソフトウエア資源移動制御手段と、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、前記ソフトウエア資源移動制御手段が他の計算機ノードから取得したソフトウエア資源を用いてプロセスを生成するプロセス生成手段を有する。
また、上記目的を達成するために、本発明のプロセス生成方法は、複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムで用いられる計算機ノードにおけるプロセス生成方法であって、プロセス生成手段が、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、ソフトウエア資源移動制御手段が、前記プロセス生成手段がプロセスを生成するとき自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、他の計算機ノードからソフトウエア資源を取得し、前記プロセス生成手段が、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、前記ソフトウエア資源移動制御手段が他の計算機ノードから取得したソフトウエア資源を用いてプロセスを生成する。
また、上記目的を達成するために、本発明のプログラムは、複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムで用いられる計算機ノードで用いられるプログラムであって、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、他の計算機ノードからソフトウエア資源を取得し、該ソフトウエア資源を用いてプロセスを生成する処理をコンピュータに実行させる。
また、上記目的を達成するために、本発明の計算機システムは、複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムであって、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、他の計算機ノードからソフトウエア資源を取得し、該ソフトウエア資源を用いてプロセスを生成する複数の計算機ノードを有する。
本発明によれば、シングルシステムイメージを用いた計算機システムにおいて、計算機ノードは、計算機システム内のネットワークの冗長な通信を低減し、ネットワークを効率よく使用することができる。
第1の実施の形態の計算機システムの構成を示すブロック図である。 第1の実施の形態の計算機ノードの構成を示すブロック図である。 各計算機ノードで管理されるソフトウエア資源テーブルの例を示す図である。 ソフトウエア資源拡張テーブルの例を示す図である。 図2に示したプロセス生成部が子プロセスを生成するときの処理を示すフローチャートである。 図2に示したソフトウエア資源制御部が資源要求先計算機ノードにソフトウエア資源を要求するときの処理を示すフローチャートである。 負荷監視部14を備えた計算機ノードの構成を示すブロック図である。 第2の実施の形態の計算機ノードの構成を示すブロック図である。 ソフトウエア資源使用履歴テーブルの例を示す図である。 図8に示したソフトウエア資源監視部31がソフトウエア資源の返却を決定するときの処理を示すフローチャートである。 第3の実施の形態の計算機ノードの構成を示すブロック図である。 プロセス詳細情報の例を示す図である。 図11に示したプロセス生成部11が自装置以外の計算機ノードにプロセスの生成を要求するときの処理を示すフローチャートである。 図11に示した関連プロセス決定部41が自装置以外の計算機ノードでの被生成プロセスの生成を依頼されたときの処理を示すフローチャートである。
次に本発明について図面を参照して詳細に説明する。
(第1の実施の形態)
本実施の形態の計算機ノードは、実行中のプロセスの子プロセスを生成するときに、子プロセスを生成するために必要なソフトウエア資源がない場合、他の計算機ノードからソフトウエア資源を取得する。計算機ノードは、他の計算機ノードから取得したソフトウエア資源を用いて子プロセスを生成することにより、親プロセスと子プロセスが異なる計算機ノードに生成されることを抑止する。
図1は第1の実施の形態の計算機システムの構成を示すブロック図である。
図1に示すように、第1の実施の形態の計算機システムは、複数の計算機ノード1〜4を有する。
計算機ノード1〜4は、それぞれ利用者に所定のサービスを提供する装置であり、ネットワークを介して相互に接続する。
シングルシステムイメージを用いた計算機システムでは、各計算機ノードがソフトウエア資源を管理する。各計算機ノードが管理するソフトウエア資源は、各計算機ノードにソフトウエア資源テーブルとして記憶される。各計算機ノードで管理されるソフトウエア資源テーブルの例を図3に示す。図3に示すように、各計算機ノードには、それぞれ異なるソフトウエア資源が割り当てられる。図3に示す例では、計算機ノード1には、プロセスIDとして0〜29999が割り当てられ、ポート番号として0〜29999が割り当てられている。また、計算機ノード2には、プロセスIDとして30000〜59999が割り当てられ、ポート番号として30000〜59999が割り当てられている。
尚、例えば、Well−knownポートのようにシステム内で特定のアプリケーションのために使用することが予約されているソフトウエア資源がある場合は、予約されているソフトウエア資源以外のソフトウエア資源が各計算機ノードに割り当てられる。
また、各計算機ノードは、ソフトウエア資源テーブルを用いて、ソフトウエア資源毎にその使用状況を管理する。各計算機ノードは、ソフトウエア資源を使用しているとき、そのソフトウエア資源の使用状況を使用中とし、ソフトウエア資源を使用していないとき、そのソフトウエア資源の使用状況を未使用とする。
各計算機ノードは、他の計算機ノードから提供されたソフトウエア資源を管理する。他の計算機ノードから提供されたソフトウエア資源は、各計算機ノードにソフトウエア資源拡張テーブルとして記憶される。ソフトウエア資源拡張テーブルの例を図4に示す。図4に示すように、ソフトウエア資源拡張テーブルには、プロセスIDやポート番号のようなソフトウエア資源およびその使用状況に加えて、そのソフトウエア資源を提供した計算機ノードを示す計算機ノード番号が管理される。
図2は第1の実施の形態の計算機ノードの構成を示すブロック図である。
図2に示すように、第1の実施の形態の計算機ノードは、プロセス生成部11と、ソフトウエア資源制御部12と、プロセス生成要求部13と、記憶装置21とを有する。
プロセス生成部11は、計算機ノード1上に生成されているプロセスの子プロセスを生成する機能を有する。
プロセス生成部11は、まず、子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルにあるか否かを判別する。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルにある場合、プロセス生成部11は、ソフトウエア資源をソフトウエア資源テーブルから取得し、ソフトウエア資源テーブルのうち、取得したソフトウエア資源の使用状況を使用中に更新する。次に、プロセス生成部11は、図示しない主記憶装置上に新たに生成する子プロセスを展開するためのアドレス空間を確保し、そのアドレス空間に親プロセスの実行コンテキストをコピーする。そして、プロセス生成部11は、コピーした親プロセスの実行コンテキストのうち、必要な箇所を子プロセスの実行コンテキストに書き換える。最後に、プロセス生成部11は、コピーした親プロセスの実行コンテキストのうち、ソフトウエア資源をソフトウエア資源テーブルから取得した新たなソフトウエア資源に書き換える。これにより、プロセス生成部11は、計算機ノード1上に子プロセスを生成することができる。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルにない場合、プロセス生成部11は、子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源拡張テーブルにあるか否かを判別する。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源拡張テーブルにある場合、プロセス生成部11は、ソフトウエア資源をソフトウエア資源拡張テーブルから取得し、ソフトウエア資源拡張テーブルのうち、取得したソフトウエア資源の使用状況を使用中に更新する。そして、プロセス生成部11は、ソフトウエア資源テーブルからソフトウエア資源を取得したときと同様に、子プロセスを生成する。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルあるいはソフトウエア資源拡張テーブルのいずれにもない場合、プロセス生成部11は、ソフトウエア資源制御部12に他の計算機ノードからソフトウエア資源を取得するように依頼する。
他の計算機ノードから取得したソフトウエア資源は、ソフトウエア資源拡張テーブルによって管理される。このため、ソフトウエア資源制御部12が他の計算機ノードからソフトウエア資源を取得した場合、プロセス生成部11は、ソフトウエア資源をソフトウエア資源拡張テーブルから取得し、ソフトウエア資源拡張テーブルのうち、使用するソフトウエア資源の使用状況を使用中に更新する。そして、プロセス生成部11は、ソフトウエア資源テーブルからソフトウエア資源を取得したときと同様に、子プロセスを生成する。
尚、生成したプロセスが終了すると、プロセス生成部11は、ソフトウエア資源テーブルあるいはソフトウエア資源拡張テーブルのうち、そのプロセスが使用していたソフトウエア資源の使用状況を未使用に更新する。
一方、ソフトウエア資源制御部12が他の計算機ノードからソフトウエア資源を取得できなかった場合、プロセス生成部11は、他の計算機ノードでのプロセスの生成をプロセス生成要求部13に依頼する。
プロセス生成要求部13は、プロセス生成部11から他の計算機ノードでのプロセスの生成を依頼されると、プロセスの生成を要求する計算機ノード(以降、生成要求先計算機ノードと称する)を決定する。尚、各計算機ノードには生成要求先計算機ノードが予め設定されており、プロセス生成要求部13は、設定された生成要求先計算機ノード対してプロセスの生成を要求する。
生成要求先計算機ノードでは、要求されたプロセスを生成するために、そのプロセスの親プロセスの実行コンテキストのコピーが必要となる。このため、プロセス生成要求部13は、生成すべきプロセスの親プロセスの実行コンテキストのコピーを生成要求先計算機ノードに送信する。生成すべきプロセスの親プロセスの実行コンテキストのコピーを要求先計算機ノードに送信すると、プロセス生成要求部13は、生成要求先計算機ノードにプロセスの生成を要求する。
ソフトウエア資源制御部12は、プロセス生成部11から他の計算機ノードからのソフトウエア資源の取得を依頼されると、ソフトウエア資源の取得を要求する計算機ノード(以降、資源要求先計算機ノードと称する)を決定する。尚、各計算機ノードには資源要求先計算機ノードが予め設定されており、ソフトウエア資源制御部12は、設定された資源要求先計算機ノードに対してソフトウエア資源の取得を要求する。
また、資源要求先計算機ノードとして複数の計算機ノードを設定しておき、ソフトウエア資源制御部12は、複数の計算機ノードに対してソフトウエア資源の取得を要求してもよい。また、資源要求先計算機ノードとして計算機システム内の全ての計算機ノードを設定しておき、ソフトウエア資源制御部12は、計算機システム内の全ての計算機ノードに対してソフトウエア資源の取得を要求してもよい。
ソフトウエア資源制御部12は、資源要求先計算機ノードにソフトウエア資源を要求し、資源要求先計算機ノードが管理するソフトウエア資源を取得する。
ソフトウエア資源制御部12は、資源要求先計算機ノードにソフトウエア資源を要求するとき、ソフトウエア資源要求メッセージを送信する。尚、ソフトウエア資源要求メッセージには、取得を要求するソフトウエア資源の種類およびその数が含まれる。
資源要求先計算機ノードのソフトウエア資源制御部12は、ソフトウエア資源要求メッセージを受信すると、自ノードのソフトウエア資源テーブルに基づいて、要求されたソフトウエア資源が提供可能か否かを判別する。資源要求先計算機ノードのソフトウエア資源制御部12は、要求されたソフトウエア資源が提供可能な場合、その装置のソフトウエア資源テーブルのうち、提供するソフトウエア資源の使用状況を未使用から使用中に書き換える。そして、資源要求先計算機ノードのソフトウエア資源制御部12は、ソフトウエア資源要求メッセージの応答として、ソフトウエア資源応答メッセージを要求元の計算機ノードのソフトウエア資源制御部12に送信する。
尚、ソフトウエア資源応答メッセージには、提供するソフトウエア資源が記載される。例えば、要求元の計算機ノードがプロセスIDを10個要求した場合、ソフトウエア資源応答メッセージには、10個のプロセスIDが記載される。
要求元の計算機ノードのソフトウエア資源制御部12は、資源要求先計算機ノードからソフトウエア資源応答メッセージを受信すると、受信したソフトウエア資源応答メッセージからソフトウエア資源を抽出し、ソフトウエア資源拡張テーブルに格納する。尚、ソフトウエア資源制御部12は、ソフトウエア資源を受信した直後は、ソフトウエア資源拡張テーブルのそのソフトウエア資源の使用状況を未使用としておく。
複数の計算機ノードに対してソフトウエア資源の取得を要求していた場合、ソフトウエア資源制御部12は、各計算機ノードから取得したソフトウエア資源をソフトウエア資源拡張テーブルに格納しておく。ソフトウエア資源を要求する計算機ノードは、自ノードが管理するソフトウエア資源が不足しているため、以後の子プロセスの生成のときにも他の計算機ノードからソフトウエア資源を取得しなければならない可能性が高い。複数の計算機ノードから取得したソフトウエア資源のうち、使用しなかったソフトウエア資源を確保しておくことにより、計算機ノードは、以後の子プロセスの生成のときに他の計算機ノードからソフトウエア資源を取得する処理を省略できる。
尚、資源要求先計算機ノードでは、その計算機ノードに十分なソフトウエア資源が残っていないような場合や、自ノードが大量にソフトウエア資源を使用する予定があるため確保しておく必要があるような場合には、ソフトウエア資源の提供を拒否する。
また、各計算機ノードは、設定により、悪意のある利用者あるいはソフトウエアによって自ノードが管理するソフトウエア資源が枯渇されることを防止するために、ソフトウエア資源の提供を常に拒否することもできる。
記憶装置21は、ソフトウエア資源テーブルおよびソフトウエア資源拡張テーブルを記憶する記憶装置である。
次に図2に示したプロセス生成部が子プロセスを生成するときの処理について説明する。
図5は図2に示したプロセス生成部が子プロセスを生成するときの処理を示すフローチャートである。
プロセス生成部11は、まず、子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルにあるか否かを判別する(ステップS1)。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルにある場合、プロセス生成部11は、ソフトウエア資源をソフトウエア資源テーブルから取得し(ステップS2)、ソフトウエア資源テーブルのうち、取得したソフトウエア資源の使用状況を使用中に更新する。
次に、プロセス生成部11は、計算機ノードの主記憶装置上に新たに生成する子プロセスを展開するためのアドレス空間を確保し、まず、そこに親プロセスの実行コンテキストをコピーする(ステップS3)。そして、プロセス生成部11は、コピーした親プロセスの実行コンテキストのうち、必要な箇所を子プロセスの実行コンテキストに書き換える(ステップS4)。最後に、プロセス生成部11は、コピーした親プロセスの実行コンテキストのうち、ソフトウエア資源をソフトウエア資源テーブルから取得した新たなソフトウエア資源に書き換える(ステップS5)。これにより、プロセス生成部11は、計算機ノード1上に子プロセスを生成することができる。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルにない場合、プロセス生成部11は、子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源拡張テーブルにあるか否かを判別する(ステップS6)。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源拡張テーブルにある場合、プロセス生成部11は、ソフトウエア資源をソフトウエア資源拡張テーブルから取得し(ステップS7)、ソフトウエア資源拡張テーブルのうち、取得したソフトウエア資源の使用状況を使用中に更新する。そして、プロセス生成部11は、ソフトウエア資源テーブルからソフトウエア資源を取得したときと同様に、ステップS3、S4、S5を実行し、プロセスを生成する。
子プロセスを生成するために必要なソフトウエア資源がソフトウエア資源テーブルあるいはソフトウエア資源拡張テーブルのいずれにもない場合、プロセス生成部11は、ソフトウエア資源制御部12に他の計算機ノードからソフトウエア資源を取得するように依頼する(ステップS8)。
プロセス生成部11は、ソフトウエア資源制御部12が他の計算機ノードからソフトウエア資源を取得したか否かを判別する(ステップS9)。ソフトウエア資源制御部12が他の計算機ノードからソフトウエア資源を取得した場合、プロセス生成部11は、ソフトウエア資源をソフトウエア資源拡張テーブルから取得し(ステップS10)、ソフトウエア資源拡張テーブルのうち、使用するソフトウエア資源の使用状況を使用中に更新する。そして、プロセス生成部11は、ソフトウエア資源テーブルからソフトウエア資源を取得したときと同様に、ステップS3、S4、S5を実行し、プロセスを生成する。
一方、ソフトウエア資源制御部12が他の計算機ノードからソフトウエア資源を取得できなかった場合、プロセス生成部11は、他の計算機ノードでのプロセスの生成をプロセス生成要求部13に依頼する(ステップS11)。
尚、プロセス生成部11から他の計算機ノードでのプロセスの生成を依頼されると、プロセス生成要求部13は、生成要求先計算機ノードを決定する。そして、プロセス生成要求部13は、生成要求先計算機ノードに、生成すべきプロセスの親プロセスの実行コンテキストのコピーを送信し、プロセスの生成を要求する。
次に図2に示したソフトウエア資源制御部が資源要求先計算機ノードにソフトウエア資源を要求するときの処理について説明する。
図6は図2に示したソフトウエア資源制御部が資源要求先計算機ノードにソフトウエア資源を要求するときの処理を示すフローチャートである。
図5のステップS8において、プロセス生成部11から他の計算機ノードからのソフトウエア資源の取得の依頼を受けると、ソフトウエア資源制御部12は、ソフトウエア資源の取得を要求する資源要求先計算機ノードを決定する。そして、ソフトウエア資源制御部12は、資源要求先計算機ノードにソフトウエア資源要求メッセージを送信し、ソフトウエア資源を要求する(ステップS21)。
ソフトウエア資源要求メッセージを送信すると、ソフトウエア資源制御部12は、資源要求先計算機ノードから応答を受信するまで所定時間待機する(ステップS22)。
所定時間が経過すると、ソフトウエア資源制御部12は、資源要求先計算機ノードからソフトウエア資源を取得できたか否かを判別する(ステップS23)。
資源要求先計算機ノードからソフトウエア資源を取得した場合、ソフトウエア資源制御部12は、取得したソフトウエア資源をソフトウエア資源拡張テーブルに格納する(ステップS24)。尚、ソフトウエア資源制御部12は、ソフトウエア資源を受信した直後は、ソフトウエア資源拡張テーブルのそのソフトウエア資源の使用状況を未使用としておく。
最後に、ソフトウエア資源制御部12は、プロセス生成部11にソフトウエア資源を取得できたか否かの結果を通知する(ステップS25)。
尚、本実施形態では、プロセス生成部11が、プロセスを生成する前にそのプロセスを生成するために必要なソフトウエア資源が自ノードにあるか否かを判別する例を示した。しかしながら、本発明は、これに限定されるものではない。例えば、プロセスを生成する過程において必要なソフトウエア資源がないことが判明すると、そのときに、プロセス生成部11は、ソフトウエア資源制御部12に他の計算機ノードからソフトウエア資源を取得するように依頼してもよい。
以上説明したように、本実施形態によれば、計算機ノードは、実行中のプロセスの子プロセスを生成するときに、自ノードにその子プロセスの生成に必要なソフトウエア資源がなければ、他の計算機ノードからソフトウエア資源を取得し、そのソフトウエア資源を用いて子プロセスを生成する。これにより、計算機システムのネットワーク上で、親プロセスの実行コンテキストのコピーや、新たに生成される子プロセスと既存のプロセスとの間の通信データが送受信されることはない。したがって、計算機システムは、ネットワークを効率よく使用できる。
また、本実施形態によれば、計算機ノードは、実行中のプロセスの子プロセスを生成するときに、自ノードにその子プロセスの生成に必要なソフトウエア資源がない場合、過去に他の計算機ノードから取得し、現在使用されていないソフトウエア資源があれば、そのソフトウエア資源を用いて子プロセスを生成する。これにより、ソフトウエア資源の取得処理の効率化を図ることができる。
また、本実施形態によれば、計算機ノードは、実行中のプロセスの子プロセスを生成するときに、自ノードにその子プロセスの生成に必要なソフトウエア資源がない場合、複数の計算機ノードに対してソフトウエア資源を要求する。これにより、ソフトウエア資源を要求する計算機ノードは、ソフトウエア資源の提供を拒否する計算機ノードがあっても、別の計算機ノードにソフトウエア資源を要求しなおす必要がなく、短時間で子プロセスを生成できる可能性が高くなる。
また、計算機ノードは、複数の計算機ノードから取得したソフトウエア資源のうち、使用しなかったソフトウエア資源を確保しておくことにより、計算機ノードは、以後の子プロセスの生成のときに他の計算機ノードからソフトウエア資源を取得する処理を省略できる。
また、本実施形態によれば、計算機ノードは、プロセスを生成するために必要なソフトウエア資源が得られなかった場合、他の計算機ノードに、そのプロセスを生成するように要求する。これにより、計算機システムは、ソフトウエア資源の受け渡しができないような場合であっても、継続してサービスを提供することができる。
尚、本実施形態では、プロセス生成部11が、プロセスを生成するときに、自ノードにその子プロセスの生成に必要なソフトウエア資源がない場合、プロセス生成要求部13が、予め設定された計算機ノードにプロセスの生成を要求する例を示した。しかしながら、本発明は、これに限定されるものではない。
例えば、図7に示すように、計算機ノード1が、さらに負荷監視部14を備え、負荷監視部14が、プロセス生成要求部13に生成要求先計算機ノードを指示するようにしてもよい。
負荷監視部14は、CPU使用率、メモリ使用率あるいはネットワーク使用率等のような計算機ノード1の負荷を監視し、負荷の量を示す負荷情報を取得する。負荷監視部14は、取得した自ノードの負荷情報を計算機システム内の全ての計算機ノードに送信する。また、負荷監視部14は、計算機システム内の全ての計算機ノードから各計算機ノードの負荷情報を取得する。そして、負荷監視部14は、計算機システム内で最も負荷の少ない計算機ノードをプロセス生成要求部13に通知する。
プロセス生成要求部13が、通知された計算機ノードを生成要求先計算機ノードとすることにより、計算機システム内の各計算機ノードの負荷を適切に分散することができる。
尚、本実施形態の計算機ノードは、シングルシステムイメージを用いたウエブサーバあるいはプロキシサーバ等に利用できる。本実施形態の技術を用いることにより、特定のサーバに利用者から大量の要求があり、そのサーバのソフトウエア資源が枯渇するような場合でも、そのサーバに子プロセスを生成することができる。これにより、親プロセスと子プロセスの間で通信されるユーザプロファイル情報等がネットワーク上で送受信されることを防止できる。
(第2の実施の形態)
第1の実施の形態では、計算機ノードが、プロセスを生成するとき、そのプロセスの生成に必要なソフトウエア資源が自ノードにない場合、他の計算機ノードからソフトウエア資源を取得する例を示した。第2の実施の形態では、他の計算機ノードからソフトウエア資源を取得した計算機ノードが、そのソフトウエア資源が不要となった場合に返却する例を説明する。
図8は第2の実施の形態の計算機ノードの構成を示すブロック図である。
図8に示すように、第2の実施の形態の計算機ノードは、第1の実施の形態の計算機ノードの構成に加えて、ソフトウエア資源監視部31を有する。
第2の実施の形態の計算機ノードは、他の計算機ノードから提供されたソフトウエア資源が最後に使用された最終使用時刻を管理する。他の計算機ノードから提供されたソフトウエア資源の最終使用時刻は、ソフトウエア資源最終使用時刻テーブルで管理される。ソフトウエア資源使用履歴テーブルの例を図9に示す。図9に示すように、ソフトウエア資源最終使用時刻テーブルには、プロセスIDやポート番号のようなソフトウエア資源およびそのソフトウエア資源を提供した計算機ノードの計算機ノード番号に加えて、そのソフトウエア資源が最後に使用された時刻を示す最終使用時刻が管理される。
プロセス生成部11は、ソフトウエア資源をソフトウエア資源テーブルから取得すると、ソフトウエア資源最終使用時刻テーブルのうち、取得したソフトウエア資源の最終使用時刻にそのソフトウエア資源を取得した時刻を書き込む。
また、生成したプロセスが終了すると、プロセス生成部11は、ソフトウエア資源最終使用時刻テーブルのうち、そのプロセスが使用していたソフトウエア資源の最終使用時刻にそのプロセスが終了した時刻を書き込む。
ソフトウエア資源監視部31は、タイマーにより定期的に起動される。ソフトウエア資源監視部31は、起動すると、ソフトウエア資源拡張テーブルから未使用のソフトウエア資源を抽出する。そして、ソフトウエア資源監視部31は、未使用のソフトウエア資源について、ソフトウエア資源最終使用時刻テーブルから、そのソフトウエア資源の最終使用時刻を読み出す。ソフトウエア資源監視部31は、未使用であり、かつ、最終使用時刻から所定時間経過したソフトウエア資源、ならびに、そのソフトウエア資源を提供した計算機ノードの計算機ノード番号を記載したソフトウエア資源返却リストを作成する。
ソフトウエア資源監視部31は、ソフトウエア資源返却リストに記載されたソフトウエア資源について、そのソフトウエア資源を返却する要求を示す、ソフトウエア資源返却要求をソフトウエア資源制御部12に送信する。尚、ソフトウエア資源制御部12に送信するソフトウエア資源返却要求には、ソフトウエア資源返却リストが含まれる。
ソフトウエア資源制御部12は、ソフトウエア資源監視部31からソフトウエア資源返却要求を受信すると、受信したソフトウエア資源返却要求に含まれるソフトウエア資源返却リストから返却すべきソフトウエア資源およびそのソフトウエア資源を提供した計算機ノードの計算機ノード番号を抽出する。そして、ソフトウエア資源制御部12は、ソフトウエア資源を返却する旨を示すソフトウエア資源返却メッセージをそのソフトウエア資源を提供した計算機ノードに送信する。尚、ソフトウエア資源返却メッセージには、ソフトウエア資源を返却する旨および返却するソフトウエア資源のリストが含まれる。
ソフトウエア資源制御部12は、ソフトウエア資源返却メッセージをそのソフトウエア資源を提供した計算機ノードに送信すると、ソフトウエア資源拡張テーブルおよびソフトウエア資源最終使用時刻テーブルから返却したソフトウエア資源を削除する。
ソフトウエア資源返却メッセージを受信した計算機ノード側のソフトウエア資源制御部12は、受信したソフトウエア資源返却メッセージから返却されたソフトウエア資源を抽出する。そして、ソフトウエア資源制御部12は、返却されたソフトウエア資源について、自ノードのソフトウエア資源テーブルの使用状況を使用中から未使用に書き換える。
記憶装置21は、ソフトウエア資源テーブルおよびソフトウエア資源拡張テーブルに加えて、ソフトウエア資源最終使用時刻テーブルを記憶する。
次に図8に示したソフトウエア資源監視部31がソフトウエア資源の返却を決定するときの処理について説明する。
図10は図8に示したソフトウエア資源監視部31がソフトウエア資源の返却を決定するときの処理を示すフローチャートである。
ソフトウエア資源監視部31は、タイマーにより起動されると、まず、ソフトウエア資源返却リストを初期化する(ステップS41)。次に、ソフトウエア資源監視部31は、ソフトウエア資源拡張テーブルから未使用のソフトウエア資源を抽出する。そして、ソフトウエア資源監視部31は、未使用のソフトウエア資源について、ソフトウエア資源使用履歴テーブルから、そのソフトウエア資源の最終使用時刻を読み出す。ソフトウエア資源監視部31は、未使用であり、かつ、最終使用時刻から所定時間経過したソフトウエア資源、ならびに、そのソフトウエア資源を提供した計算機ノードの計算機ノード番号をソフトウエア資源返却リストに記載する(ステップS42)。
ソフトウエア資源拡張テーブルに記載されている全てのソフトウエア資源について、ソフトウエア資源返却リストに記載すべきか否かを判別すると、ソフトウエア資源監視部31は、作成したソフトウエア資源返却リストに基づいて、返却すべきソフトウエア資源があるか否かを判別する(ステップS43)。
返却すべきソフトウエア資源がない場合、ソフトウエア資源監視部31は、処理を終了する。一方、返却すべきソフトウエア資源がある場合、ソフトウエア資源監視部31は、ソフトウエア資源制御部12にソフトウエア資源返却要求を送信し、ソフトウエア資源の返却を要求する(ステップS44)。
以上説明したように、本実施形態によれば、計算機ノードは、他の計算機ノードから提供されたソフトウエア資源について、所定時間使用されていなければ返却する。これにより、ソフトウエア資源を提供した計算機ノードにおいてソフトウエア資源が枯渇することを抑止することができる。
(第3の実施の形態)
第1の実施の形態および第2の実施の形態では、計算機ノードが新たにプロセスを生成するときに、そのプロセスの生成に必要なソフトウエア資源を取得できない場合、新たに生成すべきプロセスの生成を他の計算機ノードに要求する例を示した。第3の実施の形態では、計算機ノードは、新たにプロセスを生成するときに、そのプロセスの生成に必要なソフトウエア資源を取得できない場合、新たに生成すべきプロセスとそのプロセスに関連するプロセスの生成を同一の計算機ノードに要求し、関連するプロセスが異なる計算機ノードに生成されることを抑止する。
図11は第3の実施の形態の計算機ノードの構成を示すブロック図である。
図11に示すように、第3の実施の形態の計算機ノードは、第2の実施の形態の計算機ノードの構成に加えて、関連プロセス決定部41を有する。
第3の実施の形態の計算機ノードは、自ノードで現在実行されているプロセスの詳細情報をプロセス詳細情報として管理する。プロセス詳細情報の例を図12に示す。図12に示すように、プロセス詳細情報には、そのプロセスが使用するプロセスID、そのプロセスのプログラム名、そのプロセスが使用するメモリ量、そのプロセスの子プロセス、そのプロセスが使用するポート番号およびそのプロセスが接続する接続プロセスの情報が含まれ、これらの情報がプロセス毎に管理される。
第1の実施の形態と同様に、プロセス生成部11は、生成すべき所定のプロセス(以降、被生成プロセスと称する)のために必要なソフトウエア資源を、ソフトウエア資源テーブル、ソフトウエア資源拡張テーブル、あるいは、他の計算機ノードのいずれかから取得できるか否かを判別する。
被生成プロセスを生成するために必要なソフトウエア資源を、ソフトウエア資源テーブル、ソフトウエア資源拡張テーブル、あるいは、他の計算機ノードのいずれからも取得できない場合、プロセス生成部11は、他の計算機ノードでの被生成プロセスの生成を関連プロセス決定部41に依頼する。
第3の実施の形態の計算機システムでは、計算機システム内のネットワークの通信量を軽減するために、同一の計算機ノードに被生成プロセスとその被生成プロセスに関連するプロセスを生成するようにする。被生成プロセスに関連するプロセスとしては、被生成プロセスの親プロセスや被生成プロセスと接続する接続プロセス等があげられる。
関連プロセス決定部41は、プロセス生成部11から他の計算機ノードでの被生成プロセスの生成を依頼されると、被生成プロセスの生成を要求する計算機ノードである生成要求先計算機ノードを決定する。尚、生成要求先計算機ノードは、計算機ノードに予め設定されるようにしてもよいし、負荷監視部14から計算機システム内で最も負荷の少ない計算機ノードを取得し、その計算機ノードを生成要求先計算機ノードとしてもよい。
関連プロセス決定部41は、被生成プロセスと同じ計算機ノードで生成すべき、被生成プロセスと関連する関連プロセスを被生成プロセスのプロセス詳細情報に基づいて決定する。そして、関連プロセス決定部41は、関連プロセスのプロセス詳細情報を取得する。
関連プロセス決定部41は、まず、関連プロセスの生成要求先計算機ノードでの生成をプロセス生成要求部13に依頼する。次に、関連プロセス決定部41は、被生成プロセスの生成要求先計算機ノードでの生成をプロセス生成要求部13に依頼する。
プロセス生成要求部13は、関連プロセス決定部41から生成要求先計算機ノードでのプロセスの生成を依頼されると、依頼されたプロセスの親プロセスの実行コンテキストのコピーを生成要求先計算機ノードに送信する。そして、プロセス生成要求部13は、生成要求先計算機ノードに依頼されたプロセスの生成を要求する。
次に図11に示したプロセス生成部11が他の計算機ノードにプロセスの生成を要求するときの処理について説明する。
図13は図11に示したプロセス生成部11が他の計算機ノードにプロセスの生成を要求するときの処理を示すフローチャートである。
ステップS61〜S70の処理は、図5に示したフローチャートのステップS1〜S10の処理と同様であるため、説明を省略する。
ステップS69で、ソフトウエア資源制御部12が他の計算機ノードからソフトウエア資源を取得できなかった場合、プロセス生成部11は、他の計算機ノードでの被生成プロセスの生成を関連プロセス決定部41に依頼する(ステップS71)。
次に図11に示した関連プロセス決定部41が他の計算機ノードでの被生成プロセスの生成を依頼されたときの処理について説明する。
図14は図11に示した関連プロセス決定部41が他の計算機ノードでの被生成プロセスの生成を依頼されたときの処理を示すフローチャートである。
プロセス生成部11から他の計算機ノードでの被生成プロセスの生成を依頼されると、関連プロセス決定部41は、まず、被生成プロセスの生成を要求する計算機ノードである生成要求先計算機ノードを決定する(ステップS81)。
生成要求先計算機ノードを決定すると、関連プロセス決定部41は、被生成プロセスと同じ計算機ノードで生成すべき、被生成プロセスと関連する関連プロセスを被生成プロセスのプロセス詳細情報に基づいて決定する(ステップS82)。
関連プロセスを決定すると、関連プロセス決定部41は、関連プロセスのプロセス詳細情報を取得する(ステップS83)。
関連プロセスのプロセス詳細情報を取得すると、関連プロセス決定部41は、関連プロセスの生成要求先計算機ノードでの生成をプロセス生成要求部13に依頼する(ステップS84)。
関連プロセスの生成要求先計算機ノードでの生成をプロセス生成要求部13に依頼すると、関連プロセス決定部41は、被生成プロセスの生成要求先計算機ノードでの生成をプロセス生成要求部13に依頼する(ステップS85)。
以上説明したように、本実施形態によれば、計算機ノードは、新たにプロセスを生成するときに、そのプロセスの生成に必要なソフトウエア資源を取得できない場合、新たに生成すべきプロセスとあわせて、そのプロセスに関連するプロセスの生成を、同一の計算機ノードに要求する。これにより、関連するプロセスが異なる計算機ノードに生成されることを抑止することができ、関連するプロセス間の通信により計算機システムのネットワークの通信帯域が圧迫されることを低減することができる。
また、新たに生成すべきプロセスに関連するプロセスとして、そのプロセスの親プロセスやそのプロセスが接続するプロセスを選択することにより、プロセス間の通信量が多いプロセスを同一の計算機ノードで生成することができる。
尚、本実施形態では、新たに生成すべきプロセスに関連するプロセスとして、そのプロセスの親プロセスやそのプロセスが接続するプロセスを選択する例を示したが、本発明は、これに限定されるものではない。
例えば、関連プロセス決定部41は、UNIX(登録商標)で用いられるプロセスグループに基づいて、関連プロセスを決定してもよい。新たに生成すべきプロセスと同一のプロセスグループに属するプロセスを関連プロセスとすることにより、同じジョブを実行する全てのプロセスを同一の計算機ノードに生成することができる。
また、関連プロセス決定部41は、UNIXで用いられるログインセッションに基づいて、関連プロセスを決定してもよい。新たに生成すべきプロセスと同一のログインセッションに属するプロセスを関連プロセスとすることにより、ある計算機ノードでセッションを開始したプロセスの全ての子孫プロセスを同一の計算機ノードに生成することができる。
1〜4 計算機ノード
11 プロセス生成部
12 ソフトウエア資源制御部
13 プロセス生成要求部
14 負荷監視部
21 記憶装置
31 ソフトウエア資源監視部
41 関連プロセス決定部

Claims (19)

  1. 複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムで用いられる計算機ノードであって、
    他の計算機ノードからソフトウエア資源を取得するソフトウエア資源移動制御手段と、
    プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、前記ソフトウエア資源移動制御手段が他の計算機ノードから取得したソフトウエア資源を用いてプロセスを生成するプロセス生成手段と、
    を有する計算機ノード。
  2. 前記プロセス生成手段は、プロセスを生成しようとするとき、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、前記ソフトウエア資源移動制御手段が過去に取得し、使用可能なソフトウエア資源があるか否かを判別し、使用可能なソフトウエア資源があれば、該ソフトウエア資源を用いてプロセスを生成し、使用可能なソフトウエア資源がなければ、前記ソフトウエア資源移動制御手段に他の計算機ノードから新たにソフトウエア資源を取得するように依頼する、
    請求項1に記載の計算機ノード。
  3. 前記ソフトウエア資源移動制御手段は、前記プロセス生成手段からソフトウエア資源の取得を依頼されると、計算機システム内の複数の計算機ノードにソフトウエア資源を要求し、要求に応じた計算機ノードからソフトウエア資源を取得し、取得したソフトウエア資源の少なくとも一部を前記プロセス生成手段に提供する、
    請求項1または2に記載の計算機ノード。
  4. 前記ソフトウエア資源移動制御手段は、他の計算機ノードから取得したソフトウエア資源のうち、前記プロセス生成手段が使用しなかったソフトウエア資源を以後のプロセスの生成のために確保しておく、
    請求項3に記載の計算機ノード。
  5. 前記ソフトウエア資源移動制御手段が取得したソフトウエア資源の使用状況を定期的に監視し、所定時間使用されていないソフトウエア資源を提供元の計算機ノードに返却するように前記ソフトウエア資源移動制御手段に要求するソフトウエア資源監視手段をさらに有し、
    前記ソフトウエア資源移動制御手段は、前記ソフトウエア資源監視手段からの要求に従って、所定時間使用されていないソフトウエア資源を提供元の計算機ノードに返却する、
    請求項1から4のいずれか1項に記載の計算機ノード。
  6. 他の計算機ノードにプロセスの生成を要求するプロセス生成要求手段をさらに有し、
    前記プロセス生成手段は、プロセスを生成するために必要なソフトウエア資源が取得できないと、前記プロセス生成要求手段に他の計算機ノードにプロセスの生成を要求するように依頼する、
    請求項1から5のいずれか1項に記載の計算機ノード。
  7. 前記プロセス生成要求手段は、計算機システム内の計算機ノードの負荷状況に応じてプロセスの生成を要求する計算機ノードを決定する、
    請求項6に記載の計算機ノード。
  8. 他の計算機ノードにプロセスの生成を要求するプロセス生成要求手段と、
    前記プロセス生成手段からの依頼に応じて、生成すべきプロセスに関連するプロセスを決定し、該生成すべきプロセスと該生成すべきプロセスに関連するプロセスとの生成を同じ計算機ノードに要求するように前記プロセス生成要求手段に依頼する関連プロセス決定手段と、をさらに有し、
    前記プロセス生成手段は、プロセスを生成するために必要なソフトウエア資源が取得できないと、前記プロセス再配置手段に他の計算機ノードにプロセスの生成を要求するように依頼する、
    請求項1から5のいずれか1項に記載の計算機ノード。
  9. 前記関連プロセス決定手段は、計算機システム内の計算機ノードの負荷状況に応じてプロセスの生成を要求する計算機ノードを決定する、
    請求項8に記載の計算機ノード。
  10. 前記関連プロセス決定手段は、前記生成すべきプロセスに関連するプロセスとして、該生成すべきプロセスの親プロセスを選択する、
    請求項8または9に記載の計算機ノード。
  11. 前記関連プロセス決定手段は、前記生成すべきプロセスに関連するプロセスとして、該生成すべきプロセスと接続するプロセスをさらに選択する、
    請求項10に記載の計算機ノード。
  12. 前記関連プロセス決定手段は、前記生成すべきプロセスに関連するプロセスとして、該生成すべきプロセスと同一のプロセスグループに属するプロセスを選択する、
    請求項8または9に記載の計算機ノード。
  13. 前記関連プロセス決定手段は、前記生成すべきプロセスに関連するプロセスとして、該生成すべきプロセスと同一のログインセッションに属するプロセスを選択する、
    請求項8または9に記載の計算機ノード。
  14. 複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムで用いられる計算機ノードにおけるプロセス生成方法であって、
    プロセス生成手段が、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、
    ソフトウエア資源移動制御手段が、前記プロセス生成手段がプロセスを生成するとき自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、他の計算機ノードからソフトウエア資源を取得し、
    前記プロセス生成手段が、プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、前記ソフトウエア資源移動制御手段が他の計算機ノードから取得したソフトウエア資源を用いてプロセスを生成する、プロセス生成方法。
  15. 前記プロセス生成手段が、プロセスを生成するために必要なソフトウエア資源が取得できないと、プロセス再配置手段に他の計算機ノードにプロセスの生成を要求するように依頼し、
    関連プロセス決定手段が、前記プロセス生成手段からの依頼に応じて、生成すべきプロセスに関連するプロセスを決定し、前記生成すべきプロセスと該生成すべきプロセスに関連するプロセスとの生成を同じ計算機ノードに要求するようにプロセス生成要求手段に依頼し、
    プロセス生成要求手段が、前記プロセス再配置手段からの依頼に応じて、他の計算機ノードにプロセスの生成を要求する、
    請求項14に記載のプロセス生成方法。
  16. 複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムで用いられる計算機ノードで用いられるプログラムであって、
    プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、他の計算機ノードからソフトウエア資源を取得し、該ソフトウエア資源を用いてプロセスを生成する処理をコンピュータに実行させるためのプログラム。
  17. プロセスを生成するために必要なソフトウエア資源が取得できないと、生成すべきプロセスに関連するプロセスを決定し、前記生成すべきプロセスと該生成すべきプロセスに関連するプロセスとの生成を同じ計算機ノードに要求する処理をさらに実行させるための請求項16に記載のプログラム。
  18. 複数の計算機ノードを有し、各計算機ノードが管理するソフトウエア資源をシステム内で一意に管理する計算機システムであって、
    プロセスを生成するとき、自ノードに該プロセスの生成に必要なソフトウエア資源があるときは、該ソフトウエア資源を用いてプロセスを生成し、自ノードに該プロセスの生成に必要なソフトウエア資源がないときは、他の計算機ノードからソフトウエア資源を取得し、該ソフトウエア資源を用いてプロセスを生成する複数の計算機ノードを有する計算機システム。
  19. 前記計算機ノードが、プロセスを生成するために必要なソフトウエア資源が取得できないと、生成すべきプロセスに関連するプロセスを決定し、前記生成すべきプロセスと該生成すべきプロセスに関連するプロセスとの生成を同じ計算機ノードに要求する、
    請求項18に記載の計算機システム。
JP2009142499A 2009-06-15 2009-06-15 計算機ノード、計算機システム、プロセス生成方法およびプロセス生成プログラム Pending JP2010287172A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009142499A JP2010287172A (ja) 2009-06-15 2009-06-15 計算機ノード、計算機システム、プロセス生成方法およびプロセス生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009142499A JP2010287172A (ja) 2009-06-15 2009-06-15 計算機ノード、計算機システム、プロセス生成方法およびプロセス生成プログラム

Publications (1)

Publication Number Publication Date
JP2010287172A true JP2010287172A (ja) 2010-12-24

Family

ID=43542802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009142499A Pending JP2010287172A (ja) 2009-06-15 2009-06-15 計算機ノード、計算機システム、プロセス生成方法およびプロセス生成プログラム

Country Status (1)

Country Link
JP (1) JP2010287172A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206887A (ja) * 2015-04-21 2016-12-08 株式会社 ディー・エヌ・エー 情報処理装置、情報処理システム及び情報処理プログラム
KR20170047930A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 리소스 노드를 재배치하기 위한 장치 및 방법
JP2022118736A (ja) * 2021-02-03 2022-08-16 日本電気株式会社 スケジューラ、スケジューリング方法、及び、プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206887A (ja) * 2015-04-21 2016-12-08 株式会社 ディー・エヌ・エー 情報処理装置、情報処理システム及び情報処理プログラム
KR20170047930A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 리소스 노드를 재배치하기 위한 장치 및 방법
KR102103523B1 (ko) 2015-10-26 2020-04-22 에스케이텔레콤 주식회사 리소스 노드를 재배치하기 위한 장치 및 방법
JP2022118736A (ja) * 2021-02-03 2022-08-16 日本電気株式会社 スケジューラ、スケジューリング方法、及び、プログラム
JP7188472B2 (ja) 2021-02-03 2022-12-13 日本電気株式会社 コンピュータ、スケジューリング方法、及び、プログラム

Similar Documents

Publication Publication Date Title
JP6615796B2 (ja) マルチテナントアプリケーションサーバ環境におけるパーティションマイグレーションのためのシステムおよび方法
CN107209710B (zh) 节点系统、服务器设备、缩放控制方法和程序
TWI344090B (en) Management of a scalable computer system
RU2613040C2 (ru) Smb2-масштабирование
US20120102199A1 (en) Placing objects on hosts using hard and soft constraints
WO2012068867A1 (zh) 虚拟机管理系统及其使用方法
US20160019125A1 (en) Dynamically changing members of a consensus group in a distributed self-healing coordination service
CN109379448B (zh) 一种文件分布式部署方法、装置、电子设备及存储介质
WO2015176636A1 (zh) 分布式数据库服务管理系统
CN107544783B (zh) 一种数据更新方法、装置及系统
US20120197959A1 (en) Processing pattern framework for dispatching and executing tasks in a distributed computing grid
US20190075084A1 (en) Distributed Lock Management Method, Apparatus, and System
Quesnel et al. Cooperative and reactive scheduling in large‐scale virtualized platforms with DVMS
JP2010044552A (ja) リクエスト処理方法及び計算機システム
CN106790092B (zh) 远程过程调用服务端控制系统及方法
US9104501B2 (en) Preparing parallel tasks to use a synchronization register
JP6243528B2 (ja) リースエージェントシステム間での制作者システムの分配
JP5352367B2 (ja) 仮想マシン起動端末および仮想マシン起動プログラム
WO2019154202A1 (zh) 一种安全防护方法及装置
CN109992373B (zh) 资源调度方法、信息管理方法和装置及任务部署系统
JP2000207370A (ja) 分散ファイル管理装置及び分散ファイル管理システム
WO2017041650A1 (zh) 用于扩展分布式一致性服务的方法和设备
JP2010287172A (ja) 計算機ノード、計算機システム、プロセス生成方法およびプロセス生成プログラム
JP2016177324A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP4874807B2 (ja) サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置