JP3320221B2 - クライアント/サーバシステムおよび同システム用ワークステーション装置 - Google Patents

クライアント/サーバシステムおよび同システム用ワークステーション装置

Info

Publication number
JP3320221B2
JP3320221B2 JP26071994A JP26071994A JP3320221B2 JP 3320221 B2 JP3320221 B2 JP 3320221B2 JP 26071994 A JP26071994 A JP 26071994A JP 26071994 A JP26071994 A JP 26071994A JP 3320221 B2 JP3320221 B2 JP 3320221B2
Authority
JP
Japan
Prior art keywords
tag
request
processing
server
processing request
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.)
Expired - Fee Related
Application number
JP26071994A
Other languages
English (en)
Other versions
JPH08123771A (ja
Inventor
歩 須田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26071994A priority Critical patent/JP3320221B2/ja
Publication of JPH08123771A publication Critical patent/JPH08123771A/ja
Application granted granted Critical
Publication of JP3320221B2 publication Critical patent/JP3320221B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、クライアントからの要
求を多段のサーバにより処理するクライアント/サーバ
システム、および、そのシステムにおいてクライアント
もしくはサーバとして用いられるワークステーション装
置に関する。
【0002】
【従来の技術】近年、複数のワークステーション装置を
LAN等のネットワークにより接続してクライアント/
サーバシステムを構成し、クライアントからの要求を多
段のサーバにより処理することが行なわれている。例え
ば2段のサーバによりクライアントからの要求を処理す
る例を、図5に簡易的に示す。この図5において、40
はクライアントアプリケーションプログラム(以下、ク
ライアントアプリという)、41は第1段のサーバアプ
リケーションプログラム(以下、サーバアプリという;
SV−A)、42は第2段のサーバアプリ(SV−B)
である。なお、図5にはアプリケーションプログラムの
みをブロック化して図示しているが、実際にはこれらの
プログラムは、それぞれワークステーション装置内にソ
フトウエアとしてそなえられるものである。
【0003】
【発明が解決しようとする課題】ところで、クライアン
トからの要求を多段のサーバにより処理するクライアン
ト/サーバシステムでは、複数段のサーバを経由して処
理を行なっているうちに処理を正常に行なって依頼元へ
順次復帰させるよりも前に、依頼元のサーバに対して処
理を要求してしまう場合がある。
【0004】例えば図5に示すように2段のサーバによ
り処理を行なう場合に、クライアントアプリ40から第
1段のサーバアプリ41に対して処理要求が発行さ
れ、この処理要求を受けた第1段のサーバアプリ41
が第2段のサーバアプリ42に対して処理要求を発行
した後に、この処理要求を受けた第2段のサーバアプ
リ42が、今回の処理要求の依頼元であるサーバアプ
リ41へ処理要求を発行したものとする。
【0005】このような場合、デッドロック(deadlock;
資源利用が競合し互いに待ち状態となって動きがとれな
くなる状態)が発生し、この状況を回避することは困難
である。図5では最も簡単な2段のサーバ構成の場合で
あるが、実際により多数段のサーバ構成になった場合に
は、デッドロックは発生しやすくなる。また、このデッ
ドロックの発生は、システムテスト時に初めて分かるケ
ースもあり、その発生原因を突き止めるのに困難を究め
る。
【0006】本発明は、このような課題に鑑み創案され
たもので、クライアントの要求に対してデッドロック発
生の要因を速やかに発見し、その要因に応じた対処を確
実に行なえるようにして、処理依頼元への多重処理要求
発行に起因するデッドロックを確実に回避できる、クラ
イアント/サーバシステムおよび同システム用ワークス
テーション装置を提供することを目的とする。
【0007】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図で、この図1において、1はワークステーション
装置で、各ワークステーション装置1は、ネットワーク
2を介して相互に通信可能に接続され、クライアントか
らの要求を多段のサーバにより処理するクライアント/
サーバシステムを構成するものである。
【0008】そして、各ワークステーション装置1に
は、タグ付加部3,タグ判定部4およびエラー処理部5
がそなえられている。なお、図1では、一つのワークス
テーション装置1の構成のみを詳細に示しているが、他
のワークステーション装置1も同様に構成されている。
ここで、タグ付加部3は、サーバ(依頼先のワークステ
ーション装置1)に対して処理依頼を行なう際に、依頼
元固有のタグを処理依頼に付加するものである。
【0009】また、タグ判定部4は、クライアントから
処理依頼を受けると、当該処理依頼に付加されたタグを
参照して、そのタグに自己の依頼元固有のタグが存在す
るか否かを判定するものである。さらに、エラー処理部
5は、タグ判定部4により処理依頼に付加されたタグに
自己の依頼元固有のタグが存在すると判定された場合
に、処理を中断し、その処理依頼を依頼元(クライアン
ト)へエラー復帰させるものである。
【0010】
【作用】図1にて上述した本発明のクライアント/サー
バシステムおよび同システム用ワークステーション装置
では、クライアント(ワークステーション装置1)がサ
ーバ(依頼先のワークステーション装置1)に対して処
理依頼を行なう際に、タグ付加部3により、その処理依
頼に依頼元固有のタグが付加される。
【0011】クライアントから処理依頼を受けたサーバ
では、その処理依頼に付加されたタグを参照し、タグ判
定部4により、そのタグに自己の依頼元固有のタグが存
在するか否かが判定される。そして、タグ判定部4によ
り処理依頼に付加されたタグに自己の依頼元固有のタグ
が存在すると判定された場合に、エラー処理部5によ
り、処理が中断され、その処理依頼が依頼元(クライア
ント)へエラー復帰させられる。
【0012】つまり、サーバに対して処理依頼を行なう
度に、タグ付加部3により処理依頼に順次付加されるタ
グを参照することにより、自己の依頼元固有タグが存在
すれば、その処理依頼は、自己が以前に発行したもので
あり、その処理は既に依頼されたものであると判断でき
る。そのような処理依頼を実行することは、前述した通
りデッドロック発生要因になるので、タグの参照によっ
てデッドロック発生の要因を速やかに発見することがで
きる。
【0013】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図2は本発明の一実施例としてのクライアント/
サーバシステムおよび同システム用ワークステーション
装置を示すブロック図であり、この図2に示すように、
本実施例でも、3つのワークステーション装置10,2
0,30が、LAN等のネットワーク2を介して相互に
通信可能に接続されている。
【0014】これらのワークステーション装置10,2
0,30のうち、本実施例では、基本的に、ワークステ
ーション装置10がクライアントとして機能し、ワーク
ステーション装置20,30がサーバとして機能し、ク
ライアントからの要求を多段のサーバにより処理するク
ライアント/サーバシステムが構成されている。このた
め、ワークステーション装置10には、サーバを利用し
て処理を行なうクライアントアプリケーションプログラ
ム(以下、クライアントアプリという)11がそなえら
れるとともに、ワークステーション装置20,30に
は、それぞれ、処理要求に対応して処理を行なうサーバ
アプリケーションプログラム(以下、サーバアプリとい
う)21,31がそなえられている。
【0015】また、ワークステーション装置10,2
0,30には、処理依頼を行なうためのコマンドをサー
バへ送信するコマンド送信機構12,22,32がそれ
ぞれそなえられるとともに、サーバとして機能するワー
クステーション装置20,30には、処理依頼としての
コマンドを受信するコマンド受信機構23,33がそれ
ぞれそなえられている。
【0016】そして、本実施例のコマンド送信機構1
2,22,32には、タグ生成部6,タグ付加部3およ
びタグ削除部7がそなえられるとともに、本実施例のコ
マンド受信機構23および33には、タグ判定部4およ
びエラー処理部5がそなえられている。ここで、タグ生
成部6は、各ワークステーション装置10,20,30
毎に、ワークステーションID,依頼元のプロセスID
および依頼元の処理マクロIDに基づいて、自己の依頼
元固有タグを生成するものである。
【0017】タグ付加部3は、コマンド送信機構12,
22,32によりサーバ(依頼先ワークステーション装
置)に対して処理依頼コマンドを送信する際に、タグ生
成部6により生成された依頼元固有タグを、処理依頼コ
マンドのヘッダ部における依頼テーブルに付加(スタッ
ク)するものである。タグ判定部4は、コマンド受信機
構23,33によりクライアントから処理依頼コマンド
を受信すると、その処理依頼コマンドのヘッダ部におけ
る依頼テーブル内のタグを参照して、そのタグに自己の
依頼元固有タグが存在するか否かを判定するものであ
る。
【0018】エラー処理部5は、タグ判定部4により依
頼テーブル内に自己の依頼元固有タグが存在すると判定
された場合に、処理を中断し、その処理依頼を依頼元
(クライアント)へエラー復帰させるものである。タグ
削除部7は、クライアントからの処理依頼コマンドを正
常に実行・終了し、その処理依頼を依頼元に正常に復帰
させる際に、処理依頼コマンドのヘッダ部における依頼
テーブルから自己の依頼元固有タグを削除するものであ
る。
【0019】次に、上述のごとく構成された本実施例の
動作を、図2〜図4により説明する。まず、図3,図4
に示すフローチャート(ステップS1〜S9)により、
本実施例のコマンド送信機構12,22,32およびコ
マンド受信機構の動作について説明する。
【0020】各コマンド送信機構12,22,32で
は、処理要求を受けると、その要求が処理依頼要求(CAL
L)であるか処理正常終了後の復帰要求(RETURN)であるか
を判定し(図3のステップS1)、処理依頼要求(CALL)
である場合には、タグ生成部6により、各ワークステー
ション装置10,20,30毎に、ワークステーション
ID,依頼元のプロセスIDおよび依頼元の処理マクロ
IDに基づいて、自己の依頼元固有タグを生成する(図
3のステップS2)。
【0021】そして、タグ付加部3により、サーバに対
して送信すべき処理依頼コマンドのヘッダ部における依
頼テーブルに、タグ生成部6により生成された依頼元固
有タグをセットした後(図3のステップS3)、サーバ
へ処理依頼コマンドを送信して処理依頼を行なう(図3
のステップS4)。一方、処理依頼コマンドを受信した
各コマンド受信機構23,33では、処理依頼コマンド
のヘッダ部における依頼テーブルを参照し、タグ判定部
4により、自己に該当するタグが既に存在するか否かを
判定する(図4のステップS7)。その判定の結果、該
当するタグが存在しない場合には、自己のサーバアプリ
21もしくは31への処理依頼を行なう(図4のステッ
プS8)。しかし、ステップS7による判定の結果、該
当タグが既に存在する場合には、エラー処理部5によ
り、自己のサーバアプリ21もしくは31への処理依頼
を行なわず処理を中断し、依頼元へエラー復帰する(図
4のステップS9)。
【0022】図4のステップS8へ移行し、サーバアプ
リ21,31において処理を正常に終了した場合には、
依頼元へ正常復帰すべく復帰要求(RETURN)を発行してコ
マンド送信機構22,32へ制御を移す。これにより、
コマンド送信機構22,32では、図3のステップS1
からステップS5の処理へ移行し、タグ削除部7によ
り、ヘッダ部における依頼テーブルから自己(該当サー
バアプリ)の依頼元固有タグを削除し、依頼テーブルを
更新した内容を付加してから、依頼元への復帰を行なう
(図3のステップS6)。
【0023】より具体的な処理依頼例を、図2を参照し
ながら説明すると、まず、ワークステーション装置10
のクライアントアプリ11が、ワークステーション装置
20のサーバアプリ21に対して処理依頼を行なう場
合、コマンド送信機構12にて処理依頼コマンドC1の
ヘッダ部Hに自己のタグ“CL”を付加して、その処理
依頼コマンドC1をワークステーション装置20へ送信
し処理依頼を行なう。
【0024】ワークステーション装置20では、コマン
ド受信機構23にて、依頼元処理のタグを参照して自分
自身への発行でないかをチェックし、妥当であれば、サ
ーバアプリ21へ処理依頼を行なう。さらに、サーバア
プリ21が、ワークステーション装置30のサーバアプ
リ31に対して処理依頼を行なう場合、コマンド送信機
構22にて処理依頼コマンドC2のヘッダ部Hに自己の
タグ“SV−A”を付加して、その処理依頼コマンドC
2をワークステーション装置30へ送信し処理依頼を行
なう。
【0025】ワークステーション装置30では、コマン
ド受信機構33にて、依頼元処理のタグを参照して自分
自身への発行が既に行なわれていないかをチェックし、
自分自身への処理依頼が行なわれていない場合には、サ
ーバアプリ31へ処理依頼を行なう。そして、サーバア
プリ31が処理を終了して、依頼元へ復帰する場合は、
コマンド送信機構32にて、他サーバへの依頼が行なわ
れていないかどうかをチェックしてから、他サーバへの
依頼が行なわれていない場合には、そのまま依頼元へ復
帰する。サーバアプリ21が処理を終了して、依頼元へ
復帰する場合には、コマンド送信機構22のタグ削除部
7によりサーバアプリ21についてのタグを削除して依
頼元へ正常復帰する。
【0026】ところで、上述のようにクライアントアプ
リ11からサーバアプリ21,サーバアプリ31まで処
理依頼が行なわれた後に、さらに、サーバアプリ31
が、図2に示すように、ワークステーション装置20の
サーバアプリ21に対して処理依頼を行なう場合、コマ
ンド送信機構32にて処理依頼コマンドC3のヘッダ部
Hに自己のタグ“SV−B”を付加して、その処理依頼
コマンドC3をワークステーション装置20へ送信し処
理依頼を行なう。
【0027】このとき、ワークステーション装置20の
コマンド受信機構23にて、依頼元処理のタグを参照し
て自分自身への発行が既に行なわれていないかをチェッ
クすると、そのコマンドC3のヘッダ部Hには、既に自
己のタグ“SV−A”がセットされている。従って、こ
のコマンドC3については自分自身への発行が既に行な
われているものと判断され、エラー処理部5により、処
理依頼を行なわず処理を中断し、依頼元へエラー復帰す
る。
【0028】このように、本発明の一実施例によれば、
サーバに対して処理依頼を行なう度に、処理依頼コマン
ドのヘッダ部に順次付加されるタグを参照することによ
り、自己の依頼元固有タグが存在すれば、その処理依頼
は、自己が以前に発行したものであり、その処理は既に
依頼されたものであると判断できる。そのような処理依
頼を実行すると、デッドロックが発生してしまうので、
自己の依頼元固有タグがヘッダ部に存在した場合には、
処理を中断して依頼元へエラー復帰することにより、障
害の原因を素早く見つけることができ、処理依頼元への
多重処理要求発行に起因するデッドロックを確実に回避
できる利点がある。
【0029】なお、上述した実施例では、ワークステー
ション装置10は、基本的にクライアントとして機能
し、サーバのように処理依頼を受けないものとして、コ
マンド受信機構をそなえていないが、このワークステー
ション装置10にも、サーバとして機能するワークステ
ーション装置20,30と同様にコマンド受信機構をそ
なえても構わない。
【0030】また、上述した実施例では、クライアント
アプリとサーバアプリとが別々のワークステーション装
置上に存在しているが、クライアントアプリとサーバア
プリとは同一ワークステーション装置内に存在しても構
わない。さらに、上述した実施例では、サーバが2段そ
なえられている場合について説明したが、本発明は、こ
れに限定されるものではなく、3段以上の場合にも同様
に適用され、より多くのサーバを用いて処理を行なう場
合に、より有効に機能する。
【0031】
【発明の効果】以上詳述したように、本発明のクライア
ント/サーバシステムおよび同システム用ワークステー
ション装置によれば、サーバに対して処理依頼を行なう
度に、処理依頼に順次付加されるタグを参照することに
より、デッドロック発生要因を速やかに発見することが
できる。
【0032】そして、デッドロック発生要因を発見した
場合には、処理を中断して依頼元へエラー復帰すること
により、障害の原因を素早く見つけることができ、処理
依頼元への多重処理要求発行に起因するデッドロックを
確実に回避できる効果がある。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の一実施例としてのクライアント/サー
バシステムおよび同システム用ワークステーション装置
を示すブロック図である。
【図3】本実施例のコマンド送信機構の動作を説明する
ためのフローチャートである。
【図4】本実施例のコマンド受信機構の動作を説明する
ためのフローチャートである。
【図5】一般的なデッドロック発生状態を説明するため
のブロック図である。
【符号の説明】 1 ワークステーション装置 2 ネットワーク 3 タグ付加部 4 タグ判定部 5 エラー処理部 6 タグ生成部 7 タグ削除部 10,20,30 ワークステーション装置 11 クライアントアプリケーションプログラム 12,22,32 コマンド送信機構 21,31 サーバアプリケーションプログラム 23,33 コマンド受信機構

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 クライアントからの要求を多段のサーバ
    により処理するクライアント/サーバシステムにおい
    て、 クライアント側に、サーバに対して処理依頼を行なう際
    に依頼元固有のタグを前記処理依頼に付加するタグ付加
    部がそなえられるとともに、 サーバ側に、 クライアントから処理依頼を受けると、当該処理依頼に
    付加されたタグを参照して、該タグに自己の依頼元固有
    のタグが存在するか否かを判定するタグ判定部と、 該タグ判定部により当該処理依頼に付加されたタグに自
    己の依頼元固有のタグが存在すると判定された場合に、
    処理を中断し、当該処理依頼をその依頼元へエラー復帰
    させるエラー処理部とがそなえられていることを特徴と
    する、クライアント/サーバシステム。
  2. 【請求項2】 クライアントからの要求を多段のサーバ
    により処理するクライアント/サーバシステムにおい
    て、クライアントもしくはサーバとして用いられるワー
    クステーション装置であって、 サーバに対して処理依頼を行なう際に、依頼元固有のタ
    グを前記処理依頼に付加するタグ付加部と、 処理依頼を受けると、当該処理依頼に付加されたタグを
    参照して、該タグに自己の依頼元固有のタグが存在する
    か否かを判定するタグ判定部と、 該タグ判定部により当該処理依頼に付加されたタグに自
    己の依頼元固有のタグが存在すると判定された場合に、
    処理を中断し、当該処理依頼をその依頼元へエラー復帰
    させるエラー処理部とがそなえられていることを特徴と
    する、クライアント/サーバシステム用ワークステーシ
    ョン装置。
JP26071994A 1994-10-25 1994-10-25 クライアント/サーバシステムおよび同システム用ワークステーション装置 Expired - Fee Related JP3320221B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26071994A JP3320221B2 (ja) 1994-10-25 1994-10-25 クライアント/サーバシステムおよび同システム用ワークステーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26071994A JP3320221B2 (ja) 1994-10-25 1994-10-25 クライアント/サーバシステムおよび同システム用ワークステーション装置

Publications (2)

Publication Number Publication Date
JPH08123771A JPH08123771A (ja) 1996-05-17
JP3320221B2 true JP3320221B2 (ja) 2002-09-03

Family

ID=17351813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26071994A Expired - Fee Related JP3320221B2 (ja) 1994-10-25 1994-10-25 クライアント/サーバシステムおよび同システム用ワークステーション装置

Country Status (1)

Country Link
JP (1) JP3320221B2 (ja)

Also Published As

Publication number Publication date
JPH08123771A (ja) 1996-05-17

Similar Documents

Publication Publication Date Title
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
US6845505B1 (en) Web request broker controlling multiple processes
US20030187995A1 (en) Efficient server handling of multiple requests from a web browser
JPH10149296A (ja) サーバ・コンピュータ集約トポロジーを識別するための方法及び装置
JP2000163372A (ja) トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JPH11328132A (ja) サ―バのグル―プに関する作業負荷管理を行うデ―タ処理装置、方法、およびコンピュ―タ・プログラム製品
JPH0793272A (ja) 資源の同期点管理を実行する装置および方法
JPH1153326A (ja) 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
US7934218B2 (en) Interprocess communication management using a socket layer
US7363355B2 (en) Transparent disconnected services discovery and use
JP3809858B2 (ja) 分散トランザクションの効率的同期点処理を実現する方法、システム、及びプログラム・プロダクト
JP3320221B2 (ja) クライアント/サーバシステムおよび同システム用ワークステーション装置
JP2009157786A (ja) メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム
US7574521B2 (en) Method, computer program product, and system for routing messages in a computer network comprising heterogenous databases
JP3776706B2 (ja) データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US7493625B2 (en) Hierarchical event filtering for multiple parent event types
JPH03504176A (ja) データ処理ネツトワーク
JPH09288608A (ja) 分散処理システムにおけるファイル共用制御装置
JP2006059321A (ja) 分散オブジェクト環境におけるセッション維持方法
US7437735B2 (en) Hierarchical event filtering for storage server
JP2003015891A (ja) ネットワークシステム、サーバ、クライアント、オブジェクト間通信方法、プロファイルオブジェクト登録方法、プログラム、および記憶媒体
JP3590357B2 (ja) Httpサーバ性能データ収集方法及びそのシステム
JP2000227860A (ja) 並行アクセス制御方法とその装置及びマルチスレッドプロセス方法
JP2002099510A (ja) 複数トランザクション処理システム
JPH06195317A (ja) データ処理システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020604

LAPS Cancellation because of no payment of annual fees