JPH10232848A - クライアント/サーバシステム - Google Patents

クライアント/サーバシステム

Info

Publication number
JPH10232848A
JPH10232848A JP8300010A JP30001096A JPH10232848A JP H10232848 A JPH10232848 A JP H10232848A JP 8300010 A JP8300010 A JP 8300010A JP 30001096 A JP30001096 A JP 30001096A JP H10232848 A JPH10232848 A JP H10232848A
Authority
JP
Japan
Prior art keywords
application server
server
remote procedure
client
information
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.)
Withdrawn
Application number
JP8300010A
Other languages
English (en)
Inventor
Kenji Soma
健志 相馬
Sachiko Ota
幸子 太田
Masaaki Yoshikawa
雅昭 吉川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP8300010A priority Critical patent/JPH10232848A/ja
Publication of JPH10232848A publication Critical patent/JPH10232848A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 処理要求を行なうクライアントと処理要求を
受けるサーバとが通信経路を介して接続されるクライア
ント/サーバシステムにおいて、サーバの物理的リソー
スの消費を抑えること、およびサーバの障害発生時にも
復旧できる機構を備えることを目的とする。 【解決手段】 管理サーバ111のリモートプロシージ
ャ制御部1112は、クライアント12からの要求を受
けると、要求アプリケーションサーバ名のパラメータを
使用して起動プロシージャ1111を実行させる。起動
プロシージャ1111は、起動要求された要求アプリケ
ーションサーバ名に対応する起動アプリケーションサー
バ名をアプリケーションサーバ起動情報管理部113よ
り参照し、該当するアプリケーションサーバ112の起
動パラメータを読み取り、アプリケーションサーバ11
2を起動する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、処理要求を行なう
クライアントと処理要求を受けるサーバとが通信経路を
介して接続されるクライアント/サーバシステムに関す
るものである。
【0002】
【従来技術】従来、クライアント/サーバシステムとし
ては、図6に示すような構成となる。図6において、6
1はサーバで、サーバ61において、611、612は
クライアントからのリモートプロシージャコールを受け
付けるアプリケーションサーバで、多種のリモートプロ
シージャを設けたアプリケーションサーバで複数のアプ
リケーションサーバがサーバ上に起動されている。61
11、6121は、リモートプロシージャで、クライア
ントから実行可能なプロシージャを登録している。61
12、6122はリモートプロシージャ制御部で、クラ
イアントのリモートプロシージャ制御部622からリモ
ートプロシージャ6111あるいはリモートプロシージ
ャ6121の実行要求を受けてその要求内容を実行し、
またその実行結果をクライアントのリモートプロシージ
ャ制御部622へ返信する。
【0003】62はクライアントで、クライアント62
において、621はアプリケーションで、アプリケーシ
ョンサーバ612に登録されている起動プロシージャ、
リモートプロシージャの実行を要求する。622はリモ
ートプロシージャ制御部で、アプリケーション621か
ら渡されるバインディング情報を使用してアプリケーシ
ョンサーバにアクセスし、アプリケーションサーバ61
1のリモートプロシージャ制御部6112へリモートプ
ロシージャ6111の実行要求を送信したり、リモート
プロシージャ6111の実行結果をリモートプロシージ
ャ制御部6111から受信する。63は通信経路であ
る。
【0004】以上のように構成されたクライアント/サ
ーバシステムについて、以下にその動作を説明する。な
お、クライアント62は、予めサーバ上の複数のアプリ
ケーションサーバへアクセスするためのバインディング
情報を知っているものとする。
【0005】まず、クライアント62アプリケーション
サーバ611上のリモートプロシージャ6111を使用
したい場合には、アプリケーション621からアプリケ
ーションサーバ611のバインディング情報をパラメー
タとしてリモートプロシージャ6111を実行する。リ
モートプロシージャ制御部622は、アプリケーション
621から渡されるバインディング情報を使用してアプ
リケーションサーバ611にアクセスし、アプリケーシ
ョンサーバ611のリモートプロシージャ制御部611
2へリモートプロシージャ6112の実行要求を送信す
る。リモートプロシージャ制御部6112は、クライア
ントのリモートプロシージャ制御部622からの実行要
求を受けてその要求されるリモートプロシージャ611
1を実行し、その実行結果をクライアントのリモートプ
ロシージャ制御部622へ返信する。リモートプロシー
ジャ制御部622は、リモートプロシージャ6111の
実行結果を受信し、その内容をアプリケーション621
へ返す。他のアプリケーションサーバ612のリモート
プロシージャを使用したい場合には、アプリケーション
サーバ612のバインディング情報を使用してアプリケ
ーション621からリモートプロシージャ612を実行
する。
【0006】
【発明が解決しようとする課題】上記従来技術で説明し
た方法では、アプリケーションサーバを使用する/使用
しないに関わらず、複数のアプリケーションサーバを起
動することになり、サーバの物理的リソースの無駄な消
費をしていた。また、サーバの負荷状況によらず、リモ
ートプロシージャの要求を受け付けていた。また、アプ
リケーションサーバに障害が発生した際に、再起動する
機構がなかった。また、クライアントの障害により、実
行したリモートプロシージャコールを正常終了として結
果を得ることができなかった場合、リモートプロシージ
ャを再実行する必要があるのかないのか、わからなかっ
た。
【0007】よって本発明では、第1に、サーバの物理
的リソースの消費を抑えることを目的とする。第2に、
サーバの負荷状況によって、クライアントからの要求を
受け付けたり、拒否することを目的とする。第3に、管
理サーバまたはアプリケーションサーバ障害時にも復旧
できる機構を備え、クライアントはこれまで通り、リモ
ートプロシージャを実行できるようにすることを目的と
する。そして、第4に、クライアントの障害発生時にリ
モートプロシージャを再実行する必要があるのかないの
かをわかるようにすることを目的とする。
【0008】
【課題を解決するための手段】上記課題を解決するため
に本発明は、第1に、アプリケーションサーバの起動状
況を管理する管理サーバを設け、前記管理サーバがアプ
リケーションサーバの情報を利用し、複数のクライアン
トを一つのアプリケーションサーバに対応させることに
より、サーバの物理的リソースの消費を抑えることがで
きる。
【0009】第2に、管理サーバにCPUの負荷を監視
するCPU監視部を設けることにより、アプリケーショ
ンサーバ起動時に、また、アプリケーションサーバにC
PUの負荷を監視するCPU監視部を設けることによ
り、リモートプロシージャ実行時に、それぞれクライア
ントからの要求の受け付け/拒否を制御し、サーバの負
荷を安定させることができる。
【0010】第3に、管理サーバ内にアプリケーション
サーバ障害時に別のアプリケーションサーバを起動する
リモートプロシージャを更に設けることにより、アプリ
ケーションサーバに障害が発生しても管理サーバは代替
アプリケーションサーバを起動し、クライアントは代替
アプリケーションサーバのリモートプロシージャを実行
できる。
【0011】第4に、サーバ内にアプリケーションサー
バのリモートプロシージャの実行した情報を記憶する記
憶装置と、記憶装置に記憶されたリモートプロシージャ
の実行した情報を取得することができるリモートプロシ
ージャを管理サーバに登録することにより、クライアン
トの障害により正常終了として得られなかったリモート
プロシージャの結果を得ることができる。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1から図5を用いて説明する。
【0013】(実施の形態1)図1は、本発明によるク
ライアント/サーバシステムの一例を示したもので、図
1において、11はサーバ、111はアプリケーション
サーバの起動状況を管理する管理サーバ、1111は起
動プロシージャで、クライアント12からこの起動プロ
シージャ1111の実行を要求されると、指定された要
求アプリケーションサーバ名に対応した起動アプリケー
ション名をアプリケーションサーバ起動情報管理部11
3より獲得し、獲得した起動アプリケーションサーバ名
のアプリケーションサーバを起動し、起動したアプリケ
ーションサーバのバインディング情報をバインディング
情報受信部11111より受信し、アプリケーションサ
ーバ情報部114に起動したアプリケーションサーバの
情報を登録する。
【0014】11111はバインディング情報受信部
で、起動プロシージャ1111から起動されたアプリケ
ーションサーバのバインディング情報送信部よりアプリ
ケーションサーバのバインディング情報、つまり、クラ
イアント(ローカルマシン)とサーバ(リモートマシ
ン)との間で通信を可能とするためのプロトコルシーケ
ンスとネットワーク情報を受信する。
【0015】1112はリモートプロシージャ制御部
で、クライアントのリモートプロシージャ制御部から起
動プロシージャ1111の実行要求を受けてその要求内
容を実行し、またその実行結果をクライアントのリモー
トプロシージャ制御部へ返信する。
【0016】112はクライアントからのリモートプロ
シージャコールを受け付けるアプリケーションサーバ、
1121は、バインディング情報送信部で、アプリケー
ションサーバ112のバインディング情報を管理サーバ
111のバインディング情報受信部11111へ送信す
る。
【0017】1122はリモートプロシージャで、クラ
イアントから実行可能なプロシージャを登録している。
1123はリモートプロシージャ制御部で、クライアン
トのリモートプロシージャ制御部からリモートプロシー
ジャ1122の実行要求を受けてその要求内容を実行
し、またその実行結果をクライアントのリモートプロシ
ージャ制御部へ返信する。
【0018】113はクライアントから起動要求される
アプリケーションサーバ名に対応した起動アプリケーシ
ョンサーバ名を管理するアプリケーションサーバ起動情
報管理部で、格納されている情報はクライアントから起
動要求される要求アプリケーションサーバ名、要求アプ
リケーションサーバ名に対応する起動アプリケーション
サーバ名、アプリケーションサーバを起動する際のスレ
ッド数と最大アクセス数である。
【0019】114は起動プロシージャ1111によっ
てアプリケーションサーバを起動した際にアプリケーシ
ョンサーバの情報およびアクセス中のクライアント情報
を格納するアプリケーションサーバ情報部で、起動した
アプリケーションサーバ名、バインディング情報、アク
セスしているクライアント情報、最大アクセス数が書き
込まれる。
【0020】12はクライアント、121はアプリケー
ションで、管理サーバ111およびアプリケーションサ
ーバ112に登録されている起動プロシージャ、リモー
トプロシージャの実行を要求する。
【0021】122はリモートプロシージャ制御部で、
アプリケーション121から渡されるバインディング情
報を使用して管理サーバ111あるいはアプリケーショ
ンサーバ112にアクセスし、管理サーバ111のリモ
ートプロシージャ制御部1112へ起動プロシージャ1
111の実行要求、アプリケーションサーバ112のリ
モートプロシージャ制御部1123へリモートプロシー
ジャ1122の実行要求を送信したり、起動プロシージ
ャ1111、リモートプロシージャ1122の実行結果
をそれぞれリモートプロシージャ制御部1112、リモ
ートプロシージャ制御部1123から受信する。13は
通信経路である。
【0022】以上のように構成されたクライアント/サ
ーバシステムについて、図1を参照しながらその動作を
説明する。
【0023】サーバ11上では、管理サーバ111のみ
が起動されており、クライアント12からの起動プロシ
ージャ1111の実行要求の待ち状態になっている。ま
た、クライアント12はサーバ11の管理サーバ111
のバインディング情報を知っており、管理サーバ111
の起動プロシージャ1111を実行することが可能にな
っているものとする。
【0024】処理1−1:まず、クライアント12は、
アプリケーション121から管理サーバ111のバイン
ディング情報、および起動要求する要求アプリケーショ
ンサーバ名をパラメータとしてアプリケーションサーバ
112を起動するための起動プロシージャ1111を実
行する。
【0025】処理1−2:リモートプロシージャ制御部
122はその要求を管理サーバ111のバインディング
情報を使って管理サーバ111へアクセスし、管理サー
バ111のリモートプロシージャ制御部1112へパラ
メータと共に起動プロシージャ1111の実行を要求す
る。
【0026】処理1−3:管理サーバ111のリモート
プロシージャ制御部1112は、クライアント12から
の要求を受けると、要求アプリケーションサーバ名をパ
ラメータとして起動プロシージャ1111を実行させ
る。
【0027】処理1−4:起動プロシージャ1111
は、起動要求された要求アプリケーションサーバ名に対
応する起動アプリケーションサーバ名をアプリケーショ
ンサーバ起動情報管理部113より獲得し、指定された
起動アプリケーションサーバ名が既に起動されていない
かどうかをアプリケーションサーバ情報部114のアプ
リケーションサーバ情報を参照する。アプリケーション
サーバ情報のアプリケーションサーバ名に既に起動アプ
リケーションサーバ名が登録されていたら起動中である
ことを意味する。
【0028】処理1−5:まず、未起動であった場合を
説明する(一方、既に起動している場合は後述の処理1
−6へ進む)。
【0029】処理1−51:指定されたアプリケーショ
ンサーバ112は、アプリケーションサーバ情報部11
4に登録されていないので、指定されたアプリケーショ
ンサーバ112を起動するためにアプリケーションサー
バ起動情報管理部113を参照し、該当するアプリケー
ションサーバ112の起動パラメータを読み取る。起動
パラメータは、起動アプリケーションサーバ名、スレッ
ド数、アプリケーションサーバと通信可能な最大アクセ
ス数である。これらの情報を読み取り、アプリケーショ
ンサーバ112を起動する。
【0030】処理1−52:アプリケーションサーバ1
12が起動されると、バインディング情報送信部112
1は、アプリケーションサーバ112のバインディング
情報をバインディング情報受信部11111へ送信す
る。
【0031】処理1−53:起動プロシージャ1111
のバインディング情報受信部11111は、バインディ
ング情報を受信すると、起動プロシージャ1111によ
ってアプリケーションサーバ名、アプリケーションサー
バのバインディング情報、起動およびアクセスしている
クライアントのクライアント情報、アプリケーションサ
ーバと通信可能な最大アクセス数をアプリケーションサ
ーバ情報としてアプリケーションサーバ情報部114へ
登録し、起動したアプリケーションサーバ112のバイ
ンディング情報を起動プロシージャ1111の実行結果
としてリモートプロシージャ制御部1112へ返す。
【0032】処理1−54:リモートプロシージャ制御
部1112は、起動プロシージャ1111実行結果とし
てリモートプロシージャ制御部122へアプリケーショ
ンサーバ112のバインディング情報を返信する。
【0033】処理1−55:リモートプロシージャ制御
部122は、返信された結果であるバインディング情報
をアプリケーション121へ渡す。アプリケーション1
21は、このバインディング情報を使ってアプリケーシ
ョンサーバ112と通信することができる。
【0034】処理1−6:次に、他のクライアントによ
って既にアプリケーションサーバ112を起動してお
り、その状態でクライアント12からアプリケーション
サーバ112を起動する起動プロシージャ1111を実
行したとする。
【0035】処理1−61:処理1−4において、参照
した結果、既に起動中であることがわかるので、次に最
大アクセス数とクライアント情報の数とを比較する。
【0036】処理1−62:比較した結果、このクライ
アント12をアクセスさせても最大アクセス未満であれ
ば、起動中のアプリケーションサーバ112のバインデ
ィング情報をアプリケーションサーバ情報部114から
起動アプリケーションサーバ名のバインディング情報を
取得し、このバインディング情報を起動プロシージャ1
111の実行結果としてクライアントのリモートプロシ
ージャ制御部122へ返信する。
【0037】処理1−63:リモートプロシージャ制御
部122は、返信された結果であるバインディング情報
をアプリケーション121へ渡す。アプリケーション1
21は、このバインディング情報を使ってアプリケーシ
ョンサーバ112と通信することができる。
【0038】処理1−64:一方、処理1−61におい
て、最大アクセス数を越える場合には、別の新しいアプ
リケーションサーバを起動し、上記クライアントからの
アプリケーションサーバの起動手順でクライアントに新
規に起動したアプリケーションサーバのバインディング
情報を返信することで、クライアントは新規に起動した
アプリケーションサーバへアクセスすることができる。
【0039】以上のように、本実施の形態では、アプリ
ケーションサーバの起動状況を管理する管理サーバを設
けることにより、従来のように多くのアプリケーション
サーバを起動させることなく、必要最小限のアプリケー
ションサーバを起動し、複数のクライアントと通信する
ことが可能になり、マシンの物理的リソースの消費を抑
えることができる。
【0040】例えば、管理サーバがアプリケーションサ
ーバを起動した後、何らかの原因によりクライアントか
ら管理サーバにアクセスすることが不可能になった場
合、手動等により新たに管理サーバを起動し、クライア
ントから管理サーバに対してアプリケーションサーバの
起動要求を行なっても、管理サーバは、アプリケーショ
ンサーバ起動情報管理部、アプリケーションサーバ管理
部を参照することによって、起動中のアプリケーション
サーバの情報を把握することができるので、無駄なアプ
リケーションサーバの起動を防ぐこともできる。
【0041】また、管理サーバに対しアプリケーション
サーバが1つの場合でも、スレッドを複数にすることで
マシンのリソースを抑えることができ、その実用的効果
は大きい。
【0042】(実施の形態2)図2は、本発明によるク
ライアント/サーバシステムの一例を示したもので、図
2において、21はサーバ、211はアプリケーション
サーバの起動状況を管理する管理サーバ、2111は起
動プロシージャで、クライアントからこの起動プロシー
ジャ2111の実行を要求されると、指定された要求ア
プリケーションサーバ名に対応した起動アプリケーショ
ン名をアプリケーションサーバ起動情報管理部213よ
り獲得し、CPU監視部21112へ起動できるかどう
か問い合わせ、起動可能であれば、獲得した起動アプリ
ケーションサーバ名のアプリケーションサーバを起動
し、起動したアプリケーションサーバのバインディング
情報をバインディング情報受信部21111より受信
し、アプリケーションサーバ情報部214に起動したア
プリケーションサーバの情報を登録する。CPU監視部
21112へ問い合わせた結果、起動不可能であれば、
起動できない旨の情報をリモートプロシージャ制御部2
112へ返す。
【0043】21111はバインディング情報受信部
で、起動プロシージャ2111から起動されたアプリケ
ーションサーバのバインディング情報送信部よりアプリ
ケーションサーバのバインディング情報を受信する。
【0044】21112はCPU監視部で、アプリケー
ションサーバを起動する際にアプリケーションサーバ起
動情報管理部213の起動対象のアプリケーションサー
バに対応したアイドルしきい値を参照し、サーバの実際
のアイドル値と比較する。サーバの実際の負荷がアプリ
ケーションサーバ起動情報管理部213のアイドルしき
い値より低い時には起動可能という情報を起動プロシー
ジャ2111に返し、実際の負荷がアプリケーションサ
ーバ起動情報管理部213のアイドルしきい値より高い
時には起動不可能という情報を起動プロシージャ211
1に返す。
【0045】2112はリモートプロシージャ制御部
で、クライアントのリモートプロシージャ制御部から起
動プロシージャ2111の実行要求を受けてその要求内
容を実行し、またその実行結果をクライアントのリモー
トプロシージャ制御部へ返信する。
【0046】212はクライアントからのリモートプロ
シージャコールを受け付けるアプリケーションサーバ、
2121は、バインディング情報送信部で、アプリケー
ションサーバのバインディング情報を管理サーバ211
のバインディング情報受信部21111へ送信する。
【0047】2122はリモートプロシージャで、クラ
イアントから実行可能なプロシージャを登録している。
2123はリモートプロシージャ制御部で、クライアン
トのリモートプロシージャ制御部からリモートプロシー
ジャ2122の実行要求を受けてその要求内容を実行
し、またその実行結果をクライアントのリモートプロシ
ージャ制御部へ返信する。
【0048】213はクライアントから起動要求される
アプリケーションサーバ名に対応した起動アプリケーシ
ョンサーバ名を管理するアプリケーションサーバ起動情
報管理部で、格納されている情報はクライアントから起
動要求される要求アプリケーションサーバ名、要求アプ
リケーションサーバ名に対応する起動アプリケーション
サーバ名、アプリケーションサーバを起動する際のスレ
ッド数と最大アクセス数である。
【0049】214は起動プロシージャ2111によっ
てアプリケーションサーバを起動した際にアプリケーシ
ョンサーバの情報およびアクセス中のクライアント情報
を格納するアプリケーションサーバ情報部で、起動した
アプリケーションサーバ名、バインディング情報、アク
セスしているクライアント情報、最大アクセス数が書き
込まれる。
【0050】22はクライアント、221はアプリケー
ションで、管理サーバ211およびアプリケーションサ
ーバ212に登録されている起動プロシージャ211
1、リモートプロシージャ2122の実行を要求する。
【0051】222はリモートプロシージャ制御部で、
アプリケーション221から渡されるバインディング情
報を使用して管理サーバ211あるいはアプリケーショ
ンサーバ212にアクセスし、管理サーバ211のリモ
ートプロシージャ制御部2112へ起動プロシージャ2
111の実行要求、アプリケーションサーバ212のリ
モートプロシージャ制御部2123へリモートプロシー
ジャ2122の実行要求を送信したり、起動プロシージ
ャ2111、リモートプロシージャ2122の実行結果
をそれぞれリモートプロシージャ制御部2112、リモ
ートプロシージャ制御部2123から受信する。23は
通信経路である。
【0052】以上のように構成されたクライアント/サ
ーバシステムについて、図2を参照しながらその動作を
説明する。
【0053】サーバ21上では、管理サーバ211のみ
が起動されており、クライアント22からの起動プロシ
ージャ2111の実行要求の待ち状態になっている。ま
た、クライアント22はサーバ21の管理サーバ211
のバインディング情報を知っており、管理サーバ211
の起動プロシージャ2111を実行することが可能にな
っているものとする。
【0054】処理2−1:まず、クライアント22は、
アプリケーション221から管理サーバ211のバイン
ディング情報、および起動要求する要求アプリケーショ
ンサーバ名をパラメータとしてアプリケーションサーバ
212を起動するための起動プロシージャ2111を実
行する。
【0055】処理2−2:リモートプロシージャ制御部
222はその要求を管理サーバ211のバインディング
情報を使って管理サーバ211へアクセスし、管理サー
バ211のリモートプロシージャ制御部2111へパラ
メータと共に起動プロシージャ2111の実行を要求す
る。
【0056】処理2−3:管理サーバ211のリモート
プロシージャ制御部2112は、クライアント22から
の要求を受けると、要求アプリケーションサーバ名をパ
ラメータとして起動プロシージャ2111を実行させ
る。
【0057】処理2−4:起動プロシージャ2111
は、起動要求された要求アプリケーションサーバ名に対
応する起動アプリケーションサーバ名をアプリケーショ
ンサーバ起動情報管理部213より獲得し、指定された
起動アプリケーションサーバ名が既に起動されていない
かどうかをアプリケーションサーバ情報部214のアプ
リケーションサーバ情報を参照する。アプリケーション
サーバ情報のアプリケーションサーバ名に既に起動アプ
リケーションサーバ名が登録されていたら起動中である
ことを意味する。
【0058】処理2−5:以下の例では、未起動であっ
た場合を説明する. 処理2−51:指定されたアプリケーションサーバ21
2は、アプリケーションサーバ情報部214に登録され
ていないので、指定されたアプリケーションサーバ21
2を起動するため、起動可能な負荷の状態であるかをC
PU監視部21112へ問い合わせる。
【0059】処理2−52:CPU監視部21112
は、アプリケーションサーバ起動情報管理部213の起
動対象のアプリケーションサーバに対応したアイドルし
きい値を参照し、サーバ21の実際のアイドル値と比較
する。
【0060】処理2−53:まず、サーバ21の実際の
負荷がアイドルしきい値より低い場合を説明する(一
方、高い場合は後述の処理2−54へ進む)。
【0061】処理2−531:CPU監視部21112
は、サーバ21の実際のアイドル値がアイドルしきい値
より低いので、起動可能であることを起動プロシージャ
2111に返す。起動プロシージャ2111は、CPU
監視部211112から起動可能であるという結果を得
たので、アプリケーションサーバ起動情報管理部213
を参照し、該当するアプリケーションサーバ212の起
動パラメータを読み取る。起動パラメータは、起動アプ
リケーションサーバ名、スレッド数、アプリケーション
サーバと通信可能な最大アクセス数である。これらの情
報を読み取り、アプリケーションサーバ212を起動す
る。
【0062】処理2−532:アプリケーションサーバ
212が起動されると、バインディング情報送信部21
21は、アプリケーションサーバ212のバインディン
グ情報をバインディング情報受信部21111へ送信す
る。
【0063】処理2−533:起動プロシージャ211
1のバインディング情報受信部21111は、バインデ
ィング情報を受信すると、起動プロシージャ2111に
よってアプリケーションサーバ名、アプリケーションサ
ーバのバインディング情報、起動およびアクセスしてい
るクライアントのクライアント情報、アプリケーション
サーバ212と通信可能な最大アクセス数、アプリケー
ションサーバ起動情報管理部213に記録されている起
動したアプリケーションサーバに対応したアプリケーシ
ョンサーバの起動許容範囲を示すアイドルしきい値をア
プリケーションサーバ情報としてアプリケーションサー
バ情報部214へ登録し、起動したアプリケーションサ
ーバ212のバインディング情報を起動プロシージャ2
111の実行結果としてリモートプロシージャ制御部2
112へ返す。
【0064】処理2−534:リモートプロシージャ制
御部2112は、起動プロシージャ2111実行結果と
してリモートプロシージャ制御部222へアプリケーシ
ョンサーバ212のバインディング情報を返信する。
【0065】処理2−535:リモートプロシージャ制
御部222は、返信された結果であるバインディング情
報をアプリケーション221へ渡す。アプリケーション
221は、このバインディング情報を使ってアプリケー
ションサーバ212と通信することができる。
【0066】処理2−54:次に、前記処理2−52に
おいて、CPU監視部21112での比較時、サーバ2
1の実際の負荷がアイドルしきい値より高い場合につい
て説明する。
【0067】処理2−541:CPU監視部21112
は、サーバ21の実際のアイドル値がアイドルしきい値
より高いので、起動不可能であることを起動プロシージ
ャ2111に返す。
【0068】処理2−542:起動プロシージャ211
1は、CPU監視部21112から起動不可能であると
いう結果を得たので、サーバ21は高負荷のため起動で
きないという旨の結果を起動プロシージャ2111の実
行結果としてリモートプロシージャ制御部2112へ返
す。
【0069】処理2−543:リモートプロシージャ制
御部2112は、起動プロシージャ2111実行結果と
してリモートプロシージャ制御部222へ高負荷のため
起動不可という旨のメッセージを返信する。
【0070】処理2−544:リモートプロシージャ制
御部222は、返信された結果をアプリケーション22
1へ渡す。
【0071】処理2−545:アプリケーション221
は、この結果から現在はサーバ21が高負荷のためアプ
リケーションサーバ212を起動できないということが
わかる。
【0072】また、処理2−4において、他のクライア
ントによって既にアプリケーションサーバ212を起動
しており、その状態でクライアント22からアプリケー
ションサーバ212を起動する起動プロシージャ211
1を実行した場合は、実施の形態1の処理1−6以下と
同様の処理を行う。
【0073】以上のように、本実施の形態では、管理サ
ーバ211内の起動プロシージャ2111にCPU監視
部21112を設けることによって、実施の形態1によ
る効果に加え、更に、アプリケーションサーバ212の
起動の際に、サーバが高負荷の時にはクライアントから
のアプリケーションサーバの起動を拒否することがで
き、その実用的効果は大きい。
【0074】(実施の形態3)図3は、本発明によるク
ライアント/サーバシステムの一例を示したもので、図
3において、31はサーバ、311はアプリケーション
サーバの起動状況を管理する管理サーバ、3111は起
動プロシージャで、クライアント32からこの起動プロ
シージャの実行を要求されると、指定された要求アプリ
ケーションサーバ名に対応した起動アプリケーション名
をアプリケーションサーバ起動情報管理部313より獲
得し、獲得した起動アプリケーションサーバ名のアプリ
ケーションサーバを起動し、起動したアプリケーション
サーバのバインディング情報をバインディング情報受信
部31111より受信し、アプリケーションサーバ情報
部314に起動したアプリケーションサーバの情報を登
録する。
【0075】31111はバインディング情報受信部
で、起動プロシージャ3111から起動されたアプリケ
ーションサーバのバインディング情報送信部3121よ
りアプリケーションサーバ312のバインディング情報
を受信する。
【0076】3112はリモートプロシージャ制御部
で、クライアントのリモートプロシージャ制御部から起
動プロシージャ3111の実行要求を受けてその要求内
容を実行し、またその実行結果をクライアントのリモー
トプロシージャ制御部へ返信する。
【0077】312はクライアントからのリモートプロ
シージャコールを受け付けるアプリケーションサーバ、
3121は、バインディング情報送信部で、アプリケー
ションサーバのバインディング情報を管理サーバ311
のバインディング情報受信部31111へ送信する。
【0078】3122はリモートプロシージャで、クラ
イアントから実行可能なプロシージャを登録しており、
CPU監視部31221へ問い合わせた結果によって、
リモートプロシージャを実行したり、拒否したりする。
【0079】31221はCPU監視部で、リモートプ
ロシージャ実行時にアプリケーションサーバ起動情報管
理部313の起動対象のアプリケーションサーバに対応
したアイドルしきい値を参照し、サーバの実際のアイド
ル値と比較する。サーバの実際の負荷がアプリケーショ
ンサーバ情報部314のアイドルしきい値より低い時に
は実行可能という情報をリモートプロシージャに返し、
実際の負荷がアプリケーションサーバ情報部314のア
イドルしきい値より高い時には実行不可能という情報を
リモートプロシージャに返す。
【0080】3123はリモートプロシージャ制御部
で、クライアントのリモートプロシージャ制御部からリ
モートプロシージャ3122の実行要求を受けてその要
求内容を実行し、またその実行結果をクライアントのリ
モートプロシージャ制御部へ返信する。
【0081】313はクライアントから起動要求される
アプリケーションサーバ名に対応した起動アプリケーシ
ョンサーバ名を管理するアプリケーションサーバ起動情
報管理部で、格納されている情報はクライアントから起
動要求される要求アプリケーションサーバ名、要求アプ
リケーションサーバ名に対応する起動アプリケーション
サーバ名、アプリケーションサーバを起動する際のスレ
ッド数と最大アクセス数、リモートプロシージャの実行
を制限するためのアイドルしきい値である。
【0082】314は起動プロシージャによってアプリ
ケーションサーバを起動した際にアプリケーションサー
バの情報およびアクセス中のクライアント情報を格納す
るアプリケーションサーバ情報部で、起動したアプリケ
ーションサーバ名、バインディング情報、アクセスして
いるクライアント情報、最大アクセス数、リモートプロ
シージャの実行を制限するためのアイドルしきい値が書
き込まれる。
【0083】32はクライアント、321はアプリケー
ションで、管理サーバおよびアプリケーションサーバに
登録されている起動プロシージャ、リモートプロシージ
ャの実行を要求する。
【0084】322はリモートプロシージャ制御部で、
アプリケーション321から渡されるバインディング情
報を使用して管理サーバ311あるいはアプリケーショ
ンサーバ312にアクセスし、管理サーバ311のリモ
ートプロシージャ制御部3112へ起動プロシージャ3
111の実行要求、アプリケーションサーバ312のリ
モートプロシージャ制御部3123へリモートプロシー
ジャ3122の実行要求を送信したり、起動プロシージ
ャ3111、リモートプロシージャ3122の実行結果
をそれぞれリモートプロシージャ制御部3112、リモ
ートプロシージャ制御部3123から受信する。33は
通信経路である。
【0085】以上のように構成されたクライアント/サ
ーバシステムについて、図3を参照しながらその動作を
説明する。
【0086】サーバ31上では、管理サーバ311のみ
が起動されていた状態で、管理サーバ311はクライア
ント32からアプリケーションサーバ312の起動要求
を受け、(実施の形態1)と同様の手順でアプリケーシ
ョンサーバ312の起動を実行する段階、つまり、処理
1−55まで行い、アプリケーションサーバ312と通
信・起動できる段階であるものとする。
【0087】処理3−1:まず、クライアント32は、
アプリケーション321からアプリケーションサーバ3
12のバインディング情報をパラメータとして、アプリ
ケーションサーバ312のリモートプロシージャ312
2を実行する。
【0088】処理3−2:リモートプロシージャ制御部
322はその要求をアプリケーションサーバ312のバ
インディング情報を使ってアプリケーションサーバ31
2へアクセスし、アプリケーションサーバ312のリモ
ートプロシージャ制御部3123へパラメータと共にリ
モートプロシージャ3122の実行を要求する。
【0089】処理3−3:アプリケーションサーバ31
2のリモートプロシージャ制御部3123は、クライア
ント32からの要求を受けると、要求されたリモートプ
ロシージャ3122を実行させる。
【0090】処理3−4:リモートプロシージャ312
2は、サーバ31の負荷がリモートプロシージャ312
2を実行可能な状態であるかを確認するためにCPU監
視部31221へ問い合わせる。
【0091】処理3−5:CPU監視部31221は、
アプリケーションサーバ起動情報管理部313のリモー
トプロシージャ3122を実行するアプリケーションサ
ーバ312に対応したアイドルしきい値を参照し、サー
バ31の実際のアイドル値と比較する。
【0092】処理3−6:まず、サーバ31の実際の負
荷がアイドルしきい値より低い場合を説明する(一方、
高い場合は後述の処理3−7へ進む)。
【0093】処理3−61:CPU監視部31221
は、サーバ31の実際のアイドル値がアイドルしきい値
より低いので、実行可能であることをリモートプロシー
ジャ3122に返す。
【0094】処理3−62:リモートプロシージャ31
22は、CPU監視部31221から実行可能であると
いう結果を得たので、リモートプロシージャ31221
を実行し、実行結果をモートプロシージャ制御部312
3へ返す。
【0095】処理3−63:リモートプロシージャ制御
部3123は、リモートプロシージャ3122実行結果
をリモートプロシージャ制御部322へ返信する。
【0096】処理3−64:リモートプロシージャ制御
部322は、返信された結果をアプリケーションへ32
1渡す。
【0097】処理3−7:次に、前記処理3−5におい
て、CPU監視部31221での比較時、サーバ31の
実際の負荷がアイドルしきい値より高い場合について説
明する。
【0098】処理3−71:CPU監視部31221
は、サーバ31の実際のアイドル値がアイドルしきい値
より高いので、実行不可能であることをリモートプロシ
ージャ3122に返す。
【0099】処理3−72:リモートプロシージャ31
22は、CPU監視部31221から実行不可能である
という結果を得たので、サーバ31は高負荷のためリモ
ートプロシージャ3122を実行できないという旨の結
果をリモートプロシージャ制御部3123へ返す。
【0100】処理3−73:リモートプロシージャ制御
部3123は、リモートプロシージャ3122実行結果
としてリモートプロシージャ制御部322へ高負荷のた
め実行不可という旨のメッセージを返信する。
【0101】処理3−74:リモートプロシージャ制御
部322は、返信された結果をアプリケーション321
へ渡す。アプリケーション321は、この結果から現在
はサーバ31が高負荷のためリモートプロシージャ31
22を実行できないということがわかる。
【0102】以上のように、本実施の形態では、アプリ
ケーションサーバのリモートプロシージャにCPU監視
部を設けることにより、実施の形態1による効果に加
え、更に、リモートプロシージャ3122の実行の際
に、サーバが高負荷の時にはクライアントからのリモー
トプロシージャの実行を拒否すること、すなわち他のプ
ロセスのパフォーマンスを重視することができ、その実
用的効果は大きい。
【0103】(実施の形態4)図4は、本発明によるク
ライアント/サーバシステムの一例を示したもので、図
4において、41はサーバ、411はアプリケーション
サーバの起動状況を管理する管理サーバ、4111は起
動プロシージャで、クライアント42からこの起動プロ
シージャの実行を要求されると、指定された要求アプリ
ケーションサーバ名に対応した起動アプリケーション名
をアプリケーションサーバ起動情報管理部413より獲
得し、獲得した起動アプリケーションサーバ名のアプリ
ケーションサーバを起動し、起動したアプリケーション
サーバのバインディング情報をバインディング情報受信
部41111より受信し、アプリケーションサーバ情報
部414に起動したアプリケーションサーバの情報を登
録する。
【0104】41111はバインディング情報受信部
で、起動プロシージャ4111から起動されたアプリケ
ーションサーバのバインディング情報送信部4121よ
りアプリケーションサーバ412のバインディング情報
を受信する。
【0105】4112は代替アプリケーションサーバ起
動プロシージャで、クライアント42からこの起動プロ
シージャの実行を要求されると、指定された要求アプリ
ケーションサーバ名に対応した起動アプリケーション名
をアプリケーションサーバ起動情報管理部413より獲
得し、獲得した起動アプリケーションサーバ名のアプリ
ケーションサーバを起動し、起動したアプリケーション
サーバのバインディング情報をバインディング情報受信
部4121より受信し、アプリケーションサーバ情報部
414に起動したアプリケーションサーバの情報を登録
する。
【0106】41121はバインディング情報受信部
で、代替アプリケーション起動プロシージャ4112か
ら起動された代替アプリケーションサーバ415のバイ
ンディング情報送信部4151より代替アプリケーショ
ンサーバ415のバインディング情報を受信する。
【0107】4113はリモートプロシージャ制御部
で、クライアントのリモートプロシージャ制御部422
から起動プロシージャ4111または代替アプリケーシ
ョンサーバ起動プロシージャ4112の実行要求を受け
てその要求内容を実行し、またその実行結果をクライア
ントのリモートプロシージャ制御部422へ返信する。
【0108】412はクライアントからのリモートプロ
シージャコールを受け付けるアプリケーションサーバ
で、実施の形態1すなわち図1のアプリケーションサー
バ112と同じ構成のものである。
【0109】415はクライアント42からのリモート
プロシージャコールを受け付ける代替アプリケーション
サーバ、4151は、バインディング情報送信部で、代
替アプリケーションサーバ415のバインディング情報
を管理サーバ411の代替アプリケーションサーバ起動
プロシージャ4112のバインディング情報受信部41
121へ送信する。
【0110】4152はリモートプロシージャで、クラ
イアントから実行可能なプロシージャを登録している。
【0111】4153はリモートプロシージャ制御部
で、クライアント42のリモートプロシージャ制御部4
22からリモートプロシージャ4152の実行要求を受
けてその要求内容を実行し、またその実行結果をクライ
アント42のリモートプロシージャ制御部422へ返信
する。
【0112】413はクライアント42から起動要求さ
れるアプリケーションサーバ名に対応した起動アプリケ
ーションサーバ名を管理するアプリケーションサーバ起
動情報管理部で、格納されている情報はクライアントか
ら起動要求される要求アプリケーションサーバ名、要求
アプリケーションサーバ名に対応する起動アプリケーシ
ョンサーバ名、アプリケーションサーバを起動する際の
スレッド数と最大アクセス数である。
【0113】414は起動プロシージャ4111によっ
てアプリケーションサーバ412または代替アプリケー
ションサーバ415を起動した際にアプリケーションサ
ーバ412または代替アプリケーションサーバ415の
情報およびアクセス中のクライアント情報を格納するア
プリケーションサーバ情報部で、起動したアプリケーシ
ョンサーバ名、バインディング情報、アクセスしている
クライアント情報、最大アクセス数が書き込まれる。
【0114】42はクライアント、421はアプリケー
ションで、管理サーバ411およびアプリケーションサ
ーバ412に登録されている起動プロシージャ411
1、リモートプロシージャ4122の実行を要求する。
【0115】422はリモートプロシージャ制御部で、
アプリケーション421から渡されるバインディング情
報を使用して管理サーバ411あるいはアプリケーショ
ンサーバ412あるいは代替アプリケーションサーバ4
15にアクセスし、管理サーバ411のリモートプロシ
ージャ制御部4113へ起動プロシージャ4111の実
行要求、管理サーバ411のリモートプロシージャ制御
部4113へ代替アプリケーションサーバ起動プロシー
ジャ4112の実行要求、アプリケーションサーバ41
2のリモートプロシージャ制御部4123へリモートプ
ロシージャ4122の実行要求を送信したり、起動プロ
シージャ4111、代替アプリケーションサーバ起動プ
ロシージャ4112、リモートプロシージャ4152の
実行結果をそれぞれリモートプロシージャ制御部411
3、リモートプロシージャ制御部4153から受信す
る。43は通信経路である。
【0116】以上のように構成されたクライアント/サ
ーバシステムについて、図5を参照しながらその動作を
説明する。
【0117】サーバ41上では、管理サーバ411のみ
が起動されていた状態で、管理サーバ411はクライア
ント42からアプリケーションサーバ412の起動要求
を受け、(実施の形態1)同様の手順でアプリケーショ
ンサーバ412の起動を実行する段階、つまり、処理1
−55まで行い、アプリケーションサーバ412と通信
・起動できる段階であるものとする。
【0118】しかし、アプリケーションサーバ412に
障害が発生しており、クライアント42の保持するバイ
ンディング情報を使用してアプリケーションサーバ41
2へのアクセスが不可能になっている状態とする。
【0119】処理4−1:まず、クライアント42は、
アプリケーション421からアプリケーションサーバ4
12のバインディング情報をパラメータとして、アプリ
ケーションサーバ412のリモートプロシージャ412
2の実行要求をする。
【0120】処理4−2:リモートプロシージャ制御部
422は、その要求をアプリケーションサーバ412の
バインディング情報を使って、アプリケーションサーバ
412へアクセスを試みる。
【0121】処理4−3:しかし、アプリケーションサ
ーバ412の障害によりクライアント42からの通信が
不可能になっているため、リモートプロシージャ制御部
422は、通信エラーをアプリケーション421へ返
す。
【0122】処理4−4:アプリケーション421は、
代替アプリケーションサーバ415を起動するために、
管理サーバ411のバインディング情報、代替アプリケ
ーションサーバ名をパラメータとして代替アプリケーシ
ョンサーバ起動プロシージャ4112を実行する。
【0123】処理4−5:リモートプロシージャ制御部
422はその要求を管理サーバ411のバインディング
情報を使って管理サーバ411へアクセスし、管理サー
バ411のリモートプロシージャ制御部4113へパラ
メータと共に代替アプリケーションサーバ起動プロシー
ジャ4112の実行を要求する。
【0124】処理4−6:管理サーバ411のリモート
プロシージャ制御部4113は、クライアント42から
の要求を受けると、起動要求のあった代替アプリケーシ
ョンサーバ名をパラメータとして代替アプリケーション
サーバ起動プロシージャを4112実行させる。
【0125】処理4−7:代替アプリケーションサーバ
起動プロシージャ4112は、起動要求された要求アプ
リケーションサーバ名に対応する起動アプリケーション
サーバ名をアプリケーションサーバ起動情報管理部41
3より獲得し、指定された起動アプリケーションサーバ
名が既に起動されていないかどうかをアプリケーション
サーバ情報部414のアプリケーションサーバ情報を参
照する。アプリケーションサーバ情報のアプリケーショ
ンサーバ名に既に起動アプリケーションサーバ名が登録
されていたら起動中であることを意味する。
【0126】処理4−8:まず、未起動であった場合を
説明する(一方、既に起動している場合は後述の処理4
−9へ進む)。
【0127】処理4−81:指定された代替アプリケー
ションサーバ415は、アプリケーションサーバ情報部
414に登録されていないので、指定された代替アプリ
ケーションサーバ415を起動するためにアプリケーシ
ョンサーバ起動情報管理部413を参照し、該当するア
プリケーションサーバ415の起動パラメータを読み取
る。起動パラメータは、起動アプリケーションサーバ
名、スレッド数、アプリケーションサーバと通信可能な
最大アクセス数である。これらの情報を読み取り、代替
アプリケーションサーバを起動する。
【0128】処理4−82:代替アプリケーションサー
バ415が起動されると、バインディング情報送信部4
151は、代替アプリケーションサーバ415のバイン
ディング情報をバインディング情報受信部41121へ
送信する。
【0129】処理4−83:代替アプリケーションサー
バ起動プロシージャ4112のバインディング情報受信
部41121は、そのバインディング情報を受信する
と、代替アプリケーションサーバ起動プロシージャ41
12によってアプリケーションサーバ名、アプリケーシ
ョンサーバ415のバインディング情報、起動およびア
クセスしているクライアントのクライアント情報、アプ
リケーションサーバ415と通信可能な最大アクセス数
をアプリケーションサーバ情報としてアプリケーション
サーバ情報部414へ登録し、クライアント42がこれ
まで使用していたアプリケーションサーバ412に関す
るアプリケーションサーバ情報部414のクライアント
情報からクライアント42の情報を削除し、起動した代
替アプリケーションサーバ415のバインディング情報
を代替アプリケーションサーバ起動プロシージャ411
2の実行結果としてリモートプロシージャ制御部411
3へ返す。
【0130】処理4−84:リモートプロシージャ制御
部4113は、代替アプリケーションサーバ起動プロシ
ージャ4112実行結果としてリモートプロシージャ制
御部422へ代替アプリケーションサーバ415のバイ
ンディング情報を返信する。
【0131】処理4−85:リモートプロシージャ制御
部422は、返信された結果であるバインディング情報
をアプリケーション421へ渡す。アプリケーション4
21は、このバインディング情報を使って代替アプリケ
ーションサーバ415と通信することができる。
【0132】処理4−9:次に他のクライアントによっ
て既に代替アプリケーションサーバ415を起動してお
り、その状態でクライアント42から代替アプリケーシ
ョンサーバ415を起動する代替アプリケーションサー
バ起動プロシージャ4112を実行したとする。
【0133】処理4−91:まず、クライアントは、ア
プリケーション42から管理サーバ411のバインディ
ング情報、および起動要求する代替アプリケーションサ
ーバ名をパラメータとして代替アプリケーションサーバ
起動プロシージャ4112を実行する。
【0134】処理4−92:リモートプロシージャ制御
部422はその要求を管理サーバ411のバインディン
グ情報を使って管理サーバ411へアクセスし、管理サ
ーバ411のリモートプロシージャ制御部4113へパ
ラメータと共に代替アプリケーションサーバ起動プロシ
ージャ4112の実行を要求する。
【0135】処理4−93:管理サーバ411のリモー
トプロシージャ制御部4113は、クライアント42か
らの要求を受けると、要求代替アプリケーションサーバ
名のパラメータを使用して代替アプリケーション起動プ
ロシージャ4112を実行させる。
【0136】処理4−94:代替アプリケーション起動
プロシージャ4112は、起動要求された要求代替アプ
リケーションサーバ名に対応する起動アプリケーション
サーバ名をアプリケーションサーバ起動情報管理部41
3より参照し、指定された起動アプリケーションサーバ
名が既に起動されていないかどうかをアプリケーション
サーバ情報部414のアプリケーションサーバ情報を参
照する。
【0137】処理4−95:参照した結果、既に起動中
であることがわかるので、次に最大アクセス数とクライ
アント情報の数とを比較する。
【0138】処理4−96:比較した結果、このクライ
アント42をアクセスさせても最大アクセス未満であれ
ば、起動中の代替アプリケーションサーバ415のバイ
ンディング情報をアプリケーションサーバ情報部414
から起動した代替アプリケーションサーバ名のバインデ
ィング情報を取得し、アプリケーションサーバ412に
関するアプリケーションサーバ情報部414のクライア
ント情報からクライアント42の情報を削除し、取得し
たバインディング情報を代替アプリケーションサーバ起
動プロシージャ4112の実行結果としてリモートプロ
シージャ制御部4113へ返す。
【0139】処理4−97:リモートプロシージャ制御
部4113は、代替アプリケーションサーバ起動プロシ
ージャ4112実行結果としてリモートプロシージャ制
御部422へ代替アプリケーションサーバ415のバイ
ンディング情報を返信する。
【0140】処理4−98:リモートプロシージャ制御
部422は、返信された結果であるバインディング情報
をアプリケーション421へ渡す。アプリケーション4
21は、このバインディング情報を使って代替アプリケ
ーションサーバ415と通信することができる。
【0141】処理4−99:一方、処理4−95におい
て、アプリケーションサーバ情報部414のクライアン
ト情報と最大アクセス数の比較時、アクセスするクライ
アントの数が最大アクセス数を越える場合には新しいア
プリケーションサーバを起動し、上記クライアントから
の代替アプリケーションサーバの起動手順でクライアン
トに新規に起動した代替アプリケーションサーバのバイ
ンディング情報を返信することで、クライアントは新規
に起動した代替アプリケーションサーバへアクセスする
ことができる。
【0142】なお、本実施の形態では、アプリケーショ
ンサーバ412に対する代替アプリケーションサーバ4
15の関係を、マスタ(通常使用サーバ)に対してスレ
ーブ(臨時用の待機サーバ)のような位置づけになって
いるが、説明上の紛らわしさを解消するものであり、ア
プリケーションサーバと代替アプリケーションサーバと
の関係は、マスタとマスタといった対等な位置づけでも
一向に構わない。
【0143】以上のように、本実施の形態では、管理サ
ーバ411内に代替アプリケーションサーバ起動プロシ
ージャ4112を更に設けることにより、実施の形態1
による効果に加え、更に、アプリケーションサーバ障害
時にも、そのアプリケーションサーバとは別のサーバ
(代替アプリケーションサーバ)の指定を改めてクライ
アントから受けることによって、代替アプリケーション
サーバを使用することができ、クライアントはこれまで
通り、リモートプロシージャを実行することができ、そ
の実用的効果は大きい。
【0144】(実施の形態5)図5は、本発明によるク
ライアント/サーバシステムの一例を示したもので、図
5において、51はサーバ、511はヒストリ情報取得
プロシージャを実行する管理サーバである。
【0145】5111はヒストリ情報取得プロシージャ
で、クライアント52からこのプロシージャの実行を要
求されると、ヒストリ情報部513に書き込まれたアプ
リケーションサーバ名、リモートプロシージャ名、リモ
ートプロシージャの引数を元に実行結果を取得し、ヒス
トリ情報取得プロシージャの実行結果としてクライアン
ト52へ返す。
【0146】5112はリモートプロシージャ制御部
で、クライアント52のリモートプロシージャ制御部5
22からヒストリ情報取得プロシージャ5111の実行
要求を受けてその要求内容を実行し、またその実行結果
をクライアント52のリモートプロシージャ制御部52
2へ返信する。
【0147】512はクライアント52からのリモート
プロシージャコールを受け付けるアプリケーションサー
バ、5121はリモートプロシージャで、クライアント
から実行可能なプロシージャを登録している。
【0148】51211はヒストリ情報書き込み部で、
リモートプロシージャ5121を実行要求するクライア
ント52のクライアント情報、リモートプロシージャを
設けているアプリケーションサーバ名、リモートプロシ
ージャ名、リモートプロシージャの引数、リモートプロ
シージャのエラー情報をリモートプロシージャ実行時に
ヒストリ情報部513に書き込む。
【0149】5112はリモートプロシージャ制御部
で、クライアント52のリモートプロシージャ制御部5
22からリモートプロシージャ5121の実行要求を受
けてその要求内容を実行し、またその実行結果をクライ
アント52のリモートプロシージャ制御部522へ返信
する。
【0150】513はヒストリ情報部で、クライアント
52から実行要求されるリモートプロシージャの実行結
果を格納するもので、リモートプロシージャを実行要求
したクライアント情報、リモートプロシージャを設けた
アプリケーションサーバ名、実行したリモートプロシー
ジャ名、リモートプロシージャの引数、リモートプロシ
ージャのエラー情報が格納される。
【0151】52はクライアント、521はアプリケー
ションで、管理サーバおよびアプリケーションサーバに
登録されているヒストリ情報取得プロシージャ、リモー
トプロシージャの実行を要求する。
【0152】522はリモートプロシージャ制御部で、
アプリケーション521から渡されるバインディング情
報を使用して管理サーバ511あるいはアプリケーショ
ンサーバ512にアクセスし、管理サーバ511のリモ
ートプロシージャ制御部5112へヒストリ情報取得プ
ロシージャ5111の実行要求、アプリケーションサー
バ512のリモートプロシージャ制御部5122へリモ
ートプロシージャ5121の実行要求を送信したり、起
動プロシージャ5111、リモートプロシージャ512
1の実行結果をそれぞれリモートプロシージャ制御部5
112、リモートプロシージャ制御部5122から受信
する。53は通信経路である。
【0153】以上のように構成されたクライアント/サ
ーバシステムについて、図5を参照しながらその動作を
説明する。
【0154】サーバ51上では、管理サーバ511およ
びアプリケーションサーバ512が起動されており、ク
ライアント52からのヒストリ情報取得プロシージャ5
111およびリモートプロシージャ5121の実行要求
の待ち状態になっている。また、クライアント52はサ
ーバ51の管理サーバ511およびアプリケーションサ
ーバ512のバインディング情報を知っており、管理サ
ーバ511のヒストリ情報取得プロシージャ5111お
よびリモートプロシージャ5121を実行することが可
能になっているものとする。
【0155】処理5−1:まず、クライアント52は、
アプリケーション521からアプリケーションサーバ5
12のバインディング情報を使ってアプリケーションサ
ーバ512上のリモートプロシージャ5121の実行要
求をする。
【0156】処理5−2:リモートプロシージャ制御部
522はその要求をアプリケーションサーバ512のバ
インディング情報を使ってアプリケーションサーバ51
2へアクセスし、アプリケーションサーバ512のリモ
ートプロシージャ制御部5122へリモートプロシージ
ャ5121の実行を要求する。
【0157】処理5−3:アプリケーションサーバ51
2のリモートプロシージャ制御部5122は、クライア
ント52からの要求を受けると、要求されたリモートプ
ロシージャ5121を実行させる。
【0158】処理5−4:リモートプロシージャ512
1は、実行結果としてエラー情報およびリモートプロシ
ージャ5121を実行要求したクライアント情報、リモ
ートプロシージャを設けているアプリケーションサーバ
名、リモートプロシージャ名、リモートプロシージャの
引数をヒストリ情報書き込み部51211へ渡す。
【0159】処理5−5:ヒストリ情報書き込み部51
211は、パラメータとして受けたクライアント情報、
アプリケーションサーバ名、リモートプロシージャ名、
リモートプロシージャの引数、およびエラー情報をヒス
トリ情報部513へ書き込む。書き込みが終了したら、
リモートプロシージャ5121は、リモートプロシージ
ャ5121の実行結果をリモートプロシージャ制御部5
122へ返す。
【0160】処理5−6:リモートプロシージャ制御部
5122は、リモートプロシージャ5121実行結果を
リモートプロシージャ制御部522へ返信する。
【0161】処理5−7:リモートプロシージャ制御部
522は、返信された結果をアプリケーション521へ
渡す。
【0162】ここで、更にクライアント52が上記手順
によりアプリケーションサーバ512のリモートプロシ
ージャ5121を実行し、アプリケーションサーバ51
2上のリモートプロシージャ制御部5122からクライ
アントのリモートプロシージャ制御部522へリモート
プロシージャ5121の実行結果を得る前に、クライア
ント側の停電等の障害により、実行結果を得ることがで
きなかったとする。
【0163】処理5−8:障害復旧後、まず、クライア
ント52は、アプリケーション521から管理サーバ5
11のバインディング情報、直前に実行したリモートプ
ロシージャを備えたアプリケーションサーバ名、リモー
トプロシージャ名、リモートプロシージャの引数をパラ
メータとして管理サーバ511上のヒストリ情報取得プ
ロシージャ5111の実行要求をする。
【0164】処理5−9:リモートプロシージャ制御部
522はその要求を管理サーバ511のバインディング
情報を使って管理サーバ511へアクセスし、管理サー
バ511のリモートプロシージャ制御部5112へヒス
トリ情報取得プロシージャ5111の実行を要求する。
【0165】処理5−10:アプリケーションサーバ5
12のリモートプロシージャ制御部5112は、要求さ
れたヒストリ情報取得プロシージャ5111を実行させ
る。
【0166】処理5−11:ヒストリ情報取得プロシー
ジャ5111は、ヒストリ情報取得プロシージャ511
1を実行要求したクライアント情報、およびパラメータ
として取得したリモートプロシージャを設けているアプ
リケーションサーバ名、リモートプロシージャ名、リモ
ートプロシージャの引数からヒストリ情報書き込み部5
1211に書き込まれた情報を参照し、該当プロシージ
ャのエラー情報を取得し、リモートプロシージャ制御部
5112へその結果を返す。
【0167】処理5−12:リモートプロシージャ制御
部5112は、ヒストリ情報取得プロシージャ5111
実行結果をリモートプロシージャ制御部522へ返信す
る。
【0168】処理5−13:リモートプロシージャ制御
部522は、返信された結果をアプリケーション521
へ渡す。
【0169】以上のように、本実施の形態では、クライ
アント側の停電等の障害原因により、リモートプロシー
ジャの実行結果を得ることができなくても、管理サーバ
にヒストリ情報プロシージャを設け、サーバ内にヒスト
リ情報部を設けることにより、障害復旧後、ヒストリ情
報取得プロシージャを実行することにより、障害前のリ
モートプロシージャの実行結果を得ることができ、リモ
ートプロシージャを再実行する必要があるのかどうか判
断することができ、その実用的効果は大きい。
【0170】
【発明の効果】従って、第1の発明によれば、管理サー
バがアプリケーションサーバの情報を利用し、複数のク
ライアントを一つのアプリケーションサーバに対応さ
せ、サーバの物理的リソースの消費を抑えることができ
るという有利な効果が得られる。
【0171】第2の発明によれば、管理サーバにCPU
の負荷を監視するCPU監視部を設けることにより、ア
プリケーションサーバ起動時に、また、アプリケーショ
ンサーバにCPUの負荷を監視するCPU監視部を設け
ることにより、リモートプロシージャ実行時に、それぞ
れクライアントからの要求の受け付け/拒否を制御し、
サーバの負荷を安定させることができるという有利な効
果が得られる。
【0172】第3に発明によれば、管理サーバ内にアプ
リケーションサーバ障害時に別のアプリケーションサー
バを起動するリモートプロシージャを更に設けることに
より、アプリケーションサーバに障害が発生しても管理
サーバは代替アプリケーションサーバを生成し、クライ
アントは代替アプリケーションサーバのリモートプロシ
ージャを実行できるという有利な効果が得られる。
【0173】第4の発明によれば、サーバ内にアプリケ
ーションサーバのリモートプロシージャの実行した情報
を記憶する記憶装置と、記憶装置に記憶されたリモート
プロシージャの実行した情報を取得することができるリ
モートプロシージャを管理サーバに登録することによ
り、クライアントの障害により正常終了として得られな
かったリモートプロシージャの結果を得ることができる
という有利な効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるクライアント/サ
ーバシステムの構成例を示す図
【図2】本発明の実施の形態2によるクライアント/サ
ーバシステムの構成例を示す図
【図3】本発明の実施の形態3によるクライアント/サ
ーバシステムの構成例を示す図
【図4】本発明の実施の形態4によるクライアント/サ
ーバシステムの構成例を示す図
【図5】本発明の実施の形態5によるクライアント/サ
ーバシステムの構成例を示す図
【図6】従来のクライアント/サーバシステムの構成例
を示す図
【符号の説明】
11 サーバ 111 管理サーバ 1111 起動プロシージャ 11111 バインディング情報受信部 1112 リモートプロシージャ制御部 112 アプリケーションサーバ 1121 バインディング情報送信部 1122 リモートプロシージャ 1123 リモートプロシージャ制御部 113 アプリケーションサーバ起動情報管理部 114 アプリケーションサーバ情報部 12 クライアント 121 アプリケーション 122 リモートプロシージャ制御部 13 通信経路 21 サーバ 211 管理サーバ 2111 起動プロシージャ 21111 バインディング情報受信部 21112 CPU監視部 2112 リモートプロシージャ制御部 212 アプリケーションサーバ 2121 バインディング情報送信部 2122 リモートプロシージャ 2123 リモートプロシージャ制御部 213 アプリケーションサーバ起動情報管理部 214 アプリケーションサーバ情報部 22 クライアント 221 アプリケーション 222 リモートプロシージャ制御部 23 通信経路 31 サーバ 311 管理サーバ 3111 起動プロシージャ 31111 バインディング情報受信部 3112 リモートプロシージャ正著部 312 アプリケーションサーバ 3121 バインディング情報送信部 3122 リモートプロシージャ 31221 CPU監視部 3123 リモートプロシージャ制御部 313 アプリケーションサーバ起動情報管理部 314 アプリケーションサーバ情報部 32 クライアント 321 アプリケーション 322 リモートプロシージャ制御部 33 通信経路 41 サーバ 411 管理サーバ 4111 起動プロシージャ 41111 バインディング情報受信部 4112 代替アプリケーションサーバ起動プロシージ
ャ 41121 バインディング情報受信部 4113 リモートプロシージャ制御部 412 アプリケーションサーバ 4121 バインディング情報送信部 4122 リモートプロシージャ 4123 リモートプロシージャ制御部 413 アプリケーションサーバ起動情報管理部 414 アプリケーションサーバ情報部 415 代替アプリケーションサーバ 4151 バインディング情報送信部 4152 リモートプロシージャ 4153 リモートプロシージャ制御部 42 クライアント 421 アプリケーション 422 リモートプロシージャ制御部 43 通信経路 51 サーバ 511 管理サーバ 5111 ヒストリ情報取得プロシージャ 5112 リモートプロシージャ制御部 512 アプリケーションサーバ 5121 リモートプロシージャ 51211 ヒストリ情報書き込み部 5122 リモートプロシージャ制御部 513 ヒストリ情報部 52 クライアント 521 アプリケーション 522 リモートプロシージャ制御部 53 通信経路 61 サーバ 611 アプリケーションサーバ 6111 リモートプロシージャ 6112 リモートプロシージャ制御部 612 アプリケーションサーバ 6121 リモートプロシージャ 6122 リモートプロシージャ制御部 62 クライアント 621 アプリケーション 622 リモートプロシージャ制御部 63 通信経路

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 処理要求を行なうクライアントと処理要
    求を受けるサーバとが通信経路を介して接続されるクラ
    イアント/サーバシステムにおいて、 前記サーバとして、前記クライアントから実行要求され
    るリモートプロシージャを有するアプリケーションサー
    バと、前記アプリケーションサーバを起動状況を管理す
    る管理サーバと、アプリケーションサーバ起動時のパラ
    メータを管理するアプリケーションサーバ起動情報管理
    部と、起動したアプリケーションサーバに関する情報を
    記憶するアプリケーションサーバ情報部とを設け、 前記管理サーバ内に、前記クライアントからリモートプ
    ロシージャの実行要求を受け、リモートプロシージャの
    結果を前記クライアントへ返す第1のリモートプロシー
    ジャ制御部と、前記アプリケーションサーバを起動し、
    そのアプリケーションサーバのバインディング情報を受
    信するためのバインディング情報受信部を有する起動プ
    ロジージャとを設け、 前記アプリケーションサーバ内に、前記管理サーバへア
    プリケーションサーバのバインディング情報を送信する
    バインディング情報送信部と、クライアントから実行可
    能なリモートプロシージャと、前記クライアントからリ
    モートプロシージャの実行要求を受け、リモートプロシ
    ージャの結果を前記クライアントへ返す第2のリモート
    プロシージャ制御部とを設けたクライアント/サーバシ
    ステム。
  2. 【請求項2】 管理サーバの起動プロシージャ内にサー
    バのCPUの負荷を監視するCPU監視部を更に設けた
    請求項1記載のクライアント/サーバシステム。
  3. 【請求項3】 アプリケーションサーバのリモートプロ
    シージャ内にサーバのCPUの負荷を監視するCPU監
    視部を更に設けた請求項1記載または請求項2記載のク
    ライアント/サーバシステム。
  4. 【請求項4】 サーバの管理サーバ内に、アプリケーシ
    ョンサーバの障害通知を受け付ける障害受付リモートプ
    ロシージャを更に設け、 クライアントより指定されたアプリケーションサーバに
    障害が発生し、前記クライアントと前記アプリケーショ
    ンサーバとの間で通信できなくなってしまった場合、前
    記障害受付リモートプロシージャが、前記クライアント
    により新たに指定された代替用のアプリケーションサー
    バを起動することを特徴とする請求項1乃至3のいずれ
    かに記載のクライアント/サーバシステム。
  5. 【請求項5】 サーバにアプリケーションサーバのリモ
    ートプロシージャの結果を記憶する記憶装置と、管理サ
    ーバにリモートプロシージャとして前記記憶装置からア
    プリケーションサーバによるリモートプロシージャの結
    果を取り出す情報取得リモートプロシージャと、アプリ
    ケーションサーバのリモートプロシージャ内にリモート
    プロシージャの結果をヒストリ情報へ書き込むヒストリ
    情報書き込み部とを設け、 クライアントに障害が発生し、前記アプリケーションサ
    ーバからリモートプロシージャの結果を得られなかった
    時、クライアントが前記管理サーバの有するヒストリ情
    報取得プロシージャを実行要求することにより、クライ
    アントの障害前に要求したリモートプロシージャの結果
    を前記記憶装置から取得することを特徴とする請求項1
    乃至4のいずれかに記載のクライアント/サーバシステ
    ム。
JP8300010A 1996-11-12 1996-11-12 クライアント/サーバシステム Withdrawn JPH10232848A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8300010A JPH10232848A (ja) 1996-11-12 1996-11-12 クライアント/サーバシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8300010A JPH10232848A (ja) 1996-11-12 1996-11-12 クライアント/サーバシステム

Publications (1)

Publication Number Publication Date
JPH10232848A true JPH10232848A (ja) 1998-09-02

Family

ID=17879640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8300010A Withdrawn JPH10232848A (ja) 1996-11-12 1996-11-12 クライアント/サーバシステム

Country Status (1)

Country Link
JP (1) JPH10232848A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002525896A (ja) * 1998-09-15 2002-08-13 インテル コーポレイション ビデオストリームへのアクセス方法
RU2477661C2 (ru) * 2008-10-30 2013-03-20 Сименс Акциенгезелльшафт Способ регулирования толщины при выходе раската, который проходит через многоклетьевую линию прокатного стана, разомкнутое и/или замкнутое управляющее устройство и прокатный стан

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002525896A (ja) * 1998-09-15 2002-08-13 インテル コーポレイション ビデオストリームへのアクセス方法
US7308699B1 (en) 1998-09-15 2007-12-11 Intel Corporation Maintaining access to a video stack after an application crash
RU2477661C2 (ru) * 2008-10-30 2013-03-20 Сименс Акциенгезелльшафт Способ регулирования толщины при выходе раската, который проходит через многоклетьевую линию прокатного стана, разомкнутое и/или замкнутое управляющее устройство и прокатный стан
US9314828B2 (en) 2008-10-30 2016-04-19 Siemens Aktiengesellschaft Method for adjusting a discharge thickness of rolling stock that passes through a multi-stand mill train, control and/or regulation device and rolling mill

Similar Documents

Publication Publication Date Title
US6510478B1 (en) Method and apparatus for coordination of a shared object in a distributed system
US5659682A (en) Scheme to determine completion of directory operations for server recovery
US7917629B2 (en) Interface for external system management
US8327375B2 (en) System and method for supporting resource enlistment synchronization
JP2000163372A (ja) トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US20240036909A1 (en) Method, system, and device for modifying internal configuration of virtual machine
CN111225007B (zh) 数据库连接方法、装置和系统
JPH1021083A (ja) ネットワーク接続された計算機システムにおけるデータ処理方法
US20030221021A1 (en) Software architecture for providing a connection handle association
JP3730545B2 (ja) サービス制御アプリケーション実行方法及びシステム
JP3950752B2 (ja) 装置
Avolio et al. The process manager in the ATLAS DAQ system
JPH09251414A (ja) ネットワーク通信システム及び方法
JP2004054562A (ja) ネットワークファイルシステム用入出力制御方法
CN112732530B (zh) 一种lvs运维控制系统、方法和装置
JP3760749B2 (ja) コネクション管理方法および計算機システム並びに前記方法を実現するプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002082847A (ja) 計算機システムおよびネームサーバおよびサーバアドレスの応答方法
CN121166341A (zh) 一种计算资源释放方法、装置、设备及存储介质
JP2879769B2 (ja) サーバプログラム実行方法
JP2513261B2 (ja) 端末属性決定制御方式
CN119583471A (zh) 一种通信处理方法、装置、通信传输系统、设备及介质
JPH05298223A (ja) 情報処理システム
CN121412031A (zh) 一种嵌入式数据库复制备份方法
KR20010057731A (ko) 분산객체 시스템에서의 자원객체 복구방법
CN117176800A (zh) 一种反向代理请求处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050623

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060424