JPH09212441A - クライアント/サーバシステムにおけるクライアントとサーバの接続制御方法 - Google Patents

クライアント/サーバシステムにおけるクライアントとサーバの接続制御方法

Info

Publication number
JPH09212441A
JPH09212441A JP8019832A JP1983296A JPH09212441A JP H09212441 A JPH09212441 A JP H09212441A JP 8019832 A JP8019832 A JP 8019832A JP 1983296 A JP1983296 A JP 1983296A JP H09212441 A JPH09212441 A JP H09212441A
Authority
JP
Japan
Prior art keywords
client
server
processing
connection
application program
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
JP8019832A
Other languages
English (en)
Inventor
Toshiaki Murakami
利明 村上
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP8019832A priority Critical patent/JPH09212441A/ja
Publication of JPH09212441A publication Critical patent/JPH09212441A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 サーバのメモリ、CPU等の資源を効率よく
活用することと、クライアントの切断、異常による制御
を簡易化すること。 【解決手段】 複数台のクライアントと少なくても1台
のサーバとからなるクライアント/サーバシステムにお
けるクライアントとサーバの接続制御方法であって、前
記サーバに対するクライアントからの接続要求により、
サーバは前記クライアント毎に接続番地を割り当ててク
ライアント対応プロセスを生成し、前記クライアントか
らの全ての処理要求を前記クライアント対応プロセスで
受け付けて実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ワークステーショ
ン環境下のクライアント/サーバ型システムにおけるク
ライアントとサーバの接続制御方法に適用して有効な技
術に関するものである。
【0002】
【従来の技術】従来、クライアント/サーバにおける接
続制御は、1クライアント側のプロセスが、サーバに対
して接続要求を送信すると、サーバはクライアントとの
接続プロセスを生成し、その後クライアントからの処理
要求に対し、その都度処理要求に対応するプロセスを生
成し、生成したプロセスにより処理を実行し、結果をク
ライアントに送信するといったことであった。
【0003】
【発明が解決しようとする課題】上記従来技術では、1
クライアントの各アプリケーションプログラムからの複
数の処理要求に対して、サーバは、要求された処理を実
行するプロセスをクライアントの各アプリケーションプ
ログラムからの処理要求の数に比例して生成していたた
め、メモリ,CPU等の資源を効率良く活用できず、ま
た、システムを構築する際には、クライアントの各アプ
リケーションプログラムからの処理要求に対応したサー
バ側のプロセスの数だけ、メモリ容量や、CPUにかか
る負荷を計算しなければならなかったという問題点があ
った。
【0004】また、サーバ側のプロセスは、クライアン
ト側のアプリケーションプログラムからの処理要求と1
対1で生成されていたため、クライアント単位の起動処
理、終了処理等の制御が困難であり、従来の方法では、
クライアントの切断や、異常を検知した場合、サーバ側
は、そのクライアントの各アプリケーションプログラム
からの処理要求に割り当てられているサーバプロセス全
てに対し、制御を行う必要があるという問題点があっ
た。
【0005】本発明の目的は、サーバのメモリ、CPU
等の資源を効率よく活用することが可能な技術を提供す
ることにある。
【0006】本発明の他の目的は、クライアントの切
断、異常による制御を簡易化することが可能な技術を提
供することにある。
【0007】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述及び添付図面によって明らか
になるであろう。
【0008】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0009】複数台のクライアントと少なくとも1台の
サーバとからなるクライアント/サーバシステムにおけ
るクライアントとサーバの接続制御方法であって、前記
サーバに対するクライアントからの接続要求により、サ
ーバは前記クライアント毎に接続番地を割り当ててクラ
イアント対応プロセスを生成し、前記クライアントから
の全ての処理要求を前記クライアント対応プロセスで受
け付けて実行する。
【0010】
【発明の実施の形態】図1は、本発明の実施形態である
クライアント/サーバの接続制御方法を説明するための
ブロック図である。
【0011】図1において、100は複数のクライアン
トから要求された処理をするサーバ、101aはサーバ
100に接続されたクライアントAを示す。
【0012】また、102はクライアントの接続番地等
を記憶する共有メモリ、103は接続された全てのクラ
イアントからの接続要求を受け付ける受付デーモンプロ
セス、104aはクライアントA101aの各アプリケ
ーションプログラムの処理に対応するプロセスSP0
1、105はクライアントA対応プロセスSP01(1
04a)によって生成される処理プロセスSP01a、
106はクライアントA101aのアプリケーションプ
ログラムからの処理要求毎にどのプロセスで対応するか
を登録したプロセス対応表をそれぞれ示す。
【0013】プロセス対応表106は、各クライアント
側のアプリケーションプログラム名107と、そのアプ
リケーションプログラムに対応したサーバ側のアプリケ
ーション処理プロセス名108とから構成される。
【0014】このアプリケーション処理プロセスは、ユ
ーザがあらかじめアプリケーションプログラム毎に設定
し、特に、負荷の大きくなるアプリケーションプログラ
ムの処理には新たにそのアプリケーションプログラムの
処理専用に行う処理プロセスを割り当てる。
【0015】クライアントA101aは、サーバ100
に対して接続要求を行う接続プロセス110と、サーバ
100に対して処理要求を行うアプリケーションプログ
ラムA1(111)と、サーバ100に対して処理要求
を行うアプリケーションプログラムA2(112)とか
らなる。
【0016】サーバ100のクライアントA対応プロセ
スSP01(104a)には、クライアントA101a
とサーバ100の接続確立時に、受け付けデーモンプロ
セス103により、クライアントA101aとの接続ポ
ートA(115)が生成され、アプリケーションプログ
ラムA1(111)の起動によりアプリケーションプロ
グラムA1(111)の処理要求を受け付けるアプリケ
ーションポートA1(116)と、アプリケーションプ
ログラムA2(112)の起動によりアプリケーション
プログラムA2(112)の処理要求を受け付けるアプ
リケーションポートA2(117)とが生成される。
【0017】次に、図1に示したサーバ100とクライ
アントA101aの動作について説明する。
【0018】まず、クライアントA101aが、サーバ
100との通信接続のため、接続プロセス110を使用
し、受け付けデーモンプロセス103に接続要求を送信
する。
【0019】受け付けデーモンプロセス103は接続要
求を受け付けると、共有メモリ102にアクセスし、共
有メモリ102の空いているクライアント用接続番地
(接続ポート用の番地)からクライアントA対応プロセ
スSP01(104a)の接続ポートの番地を割り当
て、その割り当てられた接続ポートの番地を接続プロセ
ス110に返信する。
【0020】その後、クライアントA101aのアプリ
ケーションプログラムA1(111)は、その割り当て
られた番地を接続プロセス110から取得し、その番地
によりクライアントA対応プロセスSP01(104
a)に接続要求を送信する。
【0021】接続が確立されると、クライアントA対応
プロセスSP01(104a)に対し、アプリケーショ
ンプログラムA1(111)の処理要求を送信する。
【0022】クライアントA対応プロセスSP01(1
04a)は、プロセス対応表106よりそのアプリケー
ションプログラムA1(111)の処理要求に対応する
プロセスを検索する。ここでは、アプリケーションプロ
グラムA1(111)の処理要求に対応するプロセス
は、”SP01”であることが判り、新たなプロセスを
生成せずに、クライアントA対応プロセスSP01(1
04a)によりアプリケーションプログラムA1(11
1)の処理を実行し、その結果をクライアント側の処理
プロセスA1(111)に送信する。
【0023】次に、クライアントA101aのアプリケ
ーションプログラムA2(112)がアプリケーション
の処理要求をクライアントA対応プロセスSP01(1
04a)にすると、クライアントA対応プロセスSP0
1(104a)は、プロセス対応表106より、アプリ
ケーションプログラムA2(112)の処理要求に対応
する処理プロセスを参照する。
【0024】アプリケーションプログラムA2(11
2)に対応する処理プロセスは、”SP01a”である
ので、新たに処理プロセスSP01a(105)を生成
し、その処理プロセスSP01a(105)により、そ
の処理を実行し、結果をクライアント側のアプリケーシ
ョンプログラムA2(112)に送信する。
【0025】そして、クライアントA101aが接続終
了する場合、接続プロセス110がクライアントA対応
プロセスSP01(104a)に対し、切断要求を送信
する。
【0026】この時、接続プロセス110は、アプリケ
ーションプログラムA1(111)、アプリケーション
プログラムA2(112)が終了していることを確認
し、サーバ側クライアントA対応プロセスSP01(1
04a)に対し、切断要求を送信する。
【0027】サーバ側において、クライアントA対応プ
ロセスSP01(104a)は、終了時に共有メモリ1
02にアクセスし、割り当てた番地を解放する。
【0028】これにより、あらかじめサーバに登録され
た負荷のかかるアプリケーションプログラムに対応した
プロセス以外の場合は、クライアント毎に生成した1つ
のプロセスで処理させ、クライアントのアプリケーショ
ンプログラムから負荷のかかる処理要求がきた時には、
サーバは、新たな処理プロセスを生成して処理すること
により、負荷のかかるアプリケーションプログラムの処
理を実行している場合においても、他のアプリケーショ
ンプログラムの処理要求に対応するプロセスと並行して
処理を行うことができ、かつ、クライアントからの処理
要求毎にプロセスを生成せずに、必要最小限のプロセス
を生成するので、サーバ側のメモリ、CPUといった資
源にかかる負荷を最小限に抑えることが可能になる。
【0029】次に、上述したサーバ100がクライアン
ト対応プロセス104を生成する処理と、クライアント
101がサーバ100に対して処理要求を行うときの処
理と、クライアント101側から接続を切断する処理に
ついて詳細に説明する。
【0030】図2は、クライアントA101a側からの
接続要求によりサーバ100がクライアント対応プロセ
スSP01(104a)を生成する処理の流れを示した
フローチャートである。
【0031】クライアント101a側の接続プロセス1
10は、図2に示すように、まず、サーバ100側の受
付デーモンプロセス103へ接続要求を送信する(ステ
ップ201)。
【0032】サーバ100側の受付デーモンプロセス1
03は、接続待機状態(ステップ202)で、クライア
ントA101aの接続プロセス110からの接続要求を
受け取った後、共有メモリ102より、他のクライアン
トで使用されていない接続ポートに使用する空き番地を
取得し(ステップ203)、その番地をクライアントA
101aに送信し(ステップ204)、クライアント対
応プロセスSP01(104a)を生成する(ステップ
205)。
【0033】そして、クライアントA101a側の接続
プロセス110は、ステップ204で送信された番地を
受信し(ステップ206)、アプリケーションプログラ
ムからの受け付け待機状態となる(ステップ207)。
【0034】図3は、クライアントA101aのアプリ
ケーションプログラムがサーバ100側のクライアント
対応プロセス104aに対して処理要求を行う場合の処
理の流れを示したフローチャートである。
【0035】クライアントA101a側のアプリケーシ
ョンプログラムは、図3に示すように、起動されると、
共有メモリ102上に、自クライアントA101aの接
続プロセス110に対して割り当てられた接続ポート1
15に使用する空き番地の取得要求を接続プロセス11
0に対して行う(ステップ301)。
【0036】その空き番地を取得すると(ステップ30
2)、その番地を基に接続ポートA(115)に対し接
続要求を送信する(ステップ303)。
【0037】そして、サーバ100側の受け付けデーモ
ンプロセス103により生成されたサーバ100側のク
ライアント対応プロセスSP01(104a)は、接続
ポートA(115)で接続要求を受け付ける(ステップ
304)。
【0038】接続要求を受け付けると、そのクライアン
トA101aの各アプリケーションプログラム用ポート
A1(116),A2(117)を生成し(ステップ3
05)、クライアントA101a側のアプリケーション
プログラムに、生成したポートA1(116),A2
(117)の共有メモリ102上の番地を送信し(ステ
ップ306)、接続ポートA(115)とアプリケーシ
ョンプログラム用ポートA1(116),A2(11
7)でクライアント101a側のアプリケーションプロ
グラムからの送信を待機する(ステップ307)。
【0039】クライアント101a側のアプリケーショ
ンプログラムでは、ステップ306で送信されたアプリ
ケーションプログラム用ポートA1(116),A2
(117)の番地を受信し(ステップ308)、ユーザ
からのコマンド等による入力がアプリケーションプログ
ラムからの処理要求であるか切断要求であるかを判別す
る(ステップ309)。
【0040】アプリケーションプログラムからの処理要
求である場合、サーバ100側のアプリケーション用ポ
ートA1(116),A2(117)にその処理要求を
送信し(ステップ310)、切断要求である場合には、
サーバ100側の接続ポートA(115)に切断要求を
送信する(ステップ311)。
【0041】サーバ100側のクライアント対応プロセ
スSP01(104a)では、どのポート115〜11
7に送信があったかどうかを判別する(ステップ31
2)。
【0042】アプリケーション用ポートA1(11
6),A2(117)に要求の送信があった場合には、
プロセス対応表106を参照し、アプリケーションプロ
グラムに対応するアプリケーション処理プロセス名10
8が既に生成されているクライアント対応プロセスSP
01(104a)かどうかを判定する(ステップ31
3)。
【0043】クライアント対応プロセスSP01(10
4a)であれば、クライアント対応プロセスSP01
(104a)でその処理を実行し(ステップ314)、
その実行結果をクライアントA101a側のアプリケー
ションプログラムに送信する(ステップ315)。
【0044】クライアント対応プロセスSP01(10
4a)でなければ、新たにアプリケーション処理プロセ
スSP01a(105)を生成する(ステップ31
6)。
【0045】そして、そのアプリケーション処理プロセ
スSP01a(105)において処理を実行し(ステッ
プ319)、その処理結果をクライアントA101a側
のアプリケーションプログラムに送信する(ステップ3
20)。
【0046】また、接続ポートA(115)に切断処理
要求の送信があった場合は、切断処理を実行する(ステ
ップ317)。
【0047】クライアントA101a側のアプリケーシ
ョンプログラムではステップ315、もしくはステップ
320で送信された結果を受信する(ステップ32
1)。
【0048】このように処理を行うことにより、サーバ
側のメモリは、クライアントからの要求受付時のみ使用
され、かつ、処理要求に対応するプロセスを生成するた
め、最小時間でかつ、最小サイズで使用可能となる。
【0049】図4は、クライアントA101a側から接
続を切断する処理の流れを示したフローチャートであ
る。
【0050】クライアントA101a側切断時における
クライアントA101a側の接続プロセス110は、図
4に示すように、クライアントA101a側のアプリケ
ーションプログラムへ終了要求を送信し(ステップ40
1)、その後、サーバ100側のクライアント対応プロ
セスSP01(104a)に対し切断要求を送信する
(ステップ402)。
【0051】サーバ100側のクライアント対応プロセ
スSP01(104a)では、割り当てられた接続ポー
トA(115)と各アプリケーションプログラム用ポー
トA1(116),A2(117)で待機し(ステップ
403)、その受信データを解析し(ステップ40
4)、切断要求の場合、クライアントA101a単位で
割り当てた共有メモリ102の自番地をクリアし(ステ
ップ405)、結果をクライアントA101a側の接続
プロセス110に送信する(ステップ407)。
【0052】クライアントA101a側の接続プロセス
110は、結果を受信し、終了する(ステップ40
8)。
【0053】ステップ404で、クライアントA101
a側の接続プロセス110からの要求が、他の要求の場
合は、ステップ403に戻る(ステップ406)。
【0054】以上、説明してきたように、本実施形態に
よれば、負荷のかかるアプリケーションプログラムによ
る処理要求以外は、クライアント毎の対応プロセスが処
理を行うので、サーバ側ではアプリケーションプログラ
ムからの処理要求毎にプロセスを生成する必要がなくな
り、サーバのメモリ、CPU等の資源を効率よく活用す
ることができる。
【0055】また、クライアントが接続を終了したい場
合、クライアント対応プロセスが終了するだけで、クラ
イアントの制御を行うことができ、1サーバプロセスで
制御可能となるので、クライアントの切断、異常による
制御における複雑な処理手順が不要になり、簡易化でき
る。
【0056】さらに、負荷のかかる処理プロセスの場合
には、新たにアプリケーション処理プロセス生成し、そ
のプロセスにより実行されるので、クライアント対応プ
ロセスが実行する他の処理プロセスとの並行実行をも可
能となる。
【0057】以上、本発明者によってなされた発明を、
前記実施例に基づき具体的に説明したが、本発明は、前
記実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能であることは勿論であ
る。
【0058】
【発明の効果】負荷のかかるアプリケーションプログラ
ムによる処理要求以外は、クライアント毎の対応プロセ
スが処理を行うので、サーバ側ではアプリケーションプ
ログラムからの処理要求毎にプロセスを生成する必要が
なくなり、サーバのメモリ、CPU等の資源を効率よく
活用することができる。
【0059】また、クライアントが接続を終了したい場
合、クライアント対応プロセスが終了するだけで、クラ
イアントの制御を行うことができ、1サーバプロセスで
制御可能となるので、クライアントの切断、異常による
制御における複雑な処理手順が不要になり、簡易化でき
る。
【図面の簡単な説明】
【図1】本発明の実施形態にかかるクライアント/サー
バの接続制御方法を説明するためのブロック図である。
【図2】クライアント側からの接続要求によりサーバが
クライアント対応プロセスを生成する処理の流れを示し
たフローチャートである。
【図3】クライアントがサーバに対して処理要求を行う
場合の処理の流れを示したフローチャートである。
【図4】クライアント側から接続を切断する処理の流れ
を示したフローチャートである。
【符号の説明】
100…サーバ、101…クライアント、102…共有
メモリ、103…受付デーモンプロセス、104…クラ
イアント101に対応するプロセス、105…アプリケ
ーション処理プロセスSP02、106…プロセス対応
表。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数台のクライアントと少なくとも1台
    のサーバとからなるクライアント/サーバシステムにお
    けるクライアントとサーバの接続制御方法であって、 前記サーバに対するクライアントからの接続要求によ
    り、サーバは前記クライアント毎に接続番地を割り当て
    てクライアント対応プロセスを生成し、前記クライアン
    トからの全ての処理要求を前記クライアント対応プロセ
    スで受け付けて実行することを特徴とするクライアント
    とサーバの接続制御方法。
  2. 【請求項2】 複数台のクライアントと少なくとも1台
    のサーバとからなるクライアント/サーバシステムにお
    けるクライアントとサーバの接続制御方法であって、 前記サーバに対するクライアントからの接続要求によ
    り、サーバは前記クライアント毎に接続番地を割り当て
    てクライアント対応プロセスを生成し、前記クライアン
    トからの全ての処理要求を前記クライアント対応プロセ
    スで受け付け、前記処理要求が負荷のかからない処理で
    あれば、そのクライアント対応プロセスで実行し、前記
    処理要求が負荷のかかる処理であれば、新しくアプリケ
    ーション処理プロセスを生成し、前記アプリケーション
    処理プロセスで実行することを特徴とするクライアント
    とサーバの接続制御方法。
JP8019832A 1996-02-06 1996-02-06 クライアント/サーバシステムにおけるクライアントとサーバの接続制御方法 Pending JPH09212441A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8019832A JPH09212441A (ja) 1996-02-06 1996-02-06 クライアント/サーバシステムにおけるクライアントとサーバの接続制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8019832A JPH09212441A (ja) 1996-02-06 1996-02-06 クライアント/サーバシステムにおけるクライアントとサーバの接続制御方法

Publications (1)

Publication Number Publication Date
JPH09212441A true JPH09212441A (ja) 1997-08-15

Family

ID=12010269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8019832A Pending JPH09212441A (ja) 1996-02-06 1996-02-06 クライアント/サーバシステムにおけるクライアントとサーバの接続制御方法

Country Status (1)

Country Link
JP (1) JPH09212441A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517951A (ja) * 2011-04-13 2014-07-24 コンパーニュ・アンデュストリエル・エ・フィナンシエール・ダンジェニエリ・“インジェニコ” メッセージを多重送信する方法、ディバイス及び対応するプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517951A (ja) * 2011-04-13 2014-07-24 コンパーニュ・アンデュストリエル・エ・フィナンシエール・ダンジェニエリ・“インジェニコ” メッセージを多重送信する方法、ディバイス及び対応するプログラム

Similar Documents

Publication Publication Date Title
US11061917B1 (en) Method and system for transparent database query caching
US6845505B1 (en) Web request broker controlling multiple processes
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US9081601B2 (en) Virtual mobile infrastructure and its base platform
US5867650A (en) Out-of-band data transmission
JP2001523864A (ja) 多数のクライアント−サーバ・セッションおよび以前のセッションへのユーザのダイナミック再接続をサポートするサーバ・オペレーティング・システム
JPH07325790A (ja) 分散形コンピュータシステム及びそのシステムで曖昧な識別子を処理する方法
US6038664A (en) Method for selecting communication access method for local area networks
CN108933829A (zh) 一种负载均衡方法及装置
US20140067771A2 (en) Management of a Scalable Computer System
JPH09212441A (ja) クライアント/サーバシステムにおけるクライアントとサーバの接続制御方法
US20100070552A1 (en) Providing a Socket Connection between a Java Server and a Host Environment
JP3317342B2 (ja) クライアント・サーバ試験システム
JP2001282737A (ja) 業務負荷分散システム
KR101468983B1 (ko) 동적 계산 환경을 설정하기 위한 장치, 동적 계산 환경을 설정하기 위한 방법, 및 동적 계산 환경을 설정하기 위한 프로그램을 저장하는 저장매체
CN108874453A (zh) 一种基板管理控制器的刷新方法及装置
CN117076409B (zh) 文件共享方法、装置、系统、电子设备及存储介质
JPH0468415A (ja) 計算機のシャットダウン装置
JPH11110365A (ja) ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法
JPH1063524A (ja) ネットワーク資源共用方式
US7206829B1 (en) Method for operating a network computer
JPH03288255A (ja) マルチ・プロセッサのネットワーク制御方式
JP2520419B2 (ja) 資源アクセス方式
KR19990070729A (ko) 서버/클라이언트 구조를 이용한 홈위치등록기의 인터페이싱 방법
JPH0342765A (ja) 分散処理装置