JPH0433128A - プログラム実行環境の割付処理方式 - Google Patents

プログラム実行環境の割付処理方式

Info

Publication number
JPH0433128A
JPH0433128A JP14090790A JP14090790A JPH0433128A JP H0433128 A JPH0433128 A JP H0433128A JP 14090790 A JP14090790 A JP 14090790A JP 14090790 A JP14090790 A JP 14090790A JP H0433128 A JPH0433128 A JP H0433128A
Authority
JP
Japan
Prior art keywords
program execution
execution environment
server
layer number
created
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
JP14090790A
Other languages
English (en)
Inventor
Tadashi Kato
匡史 加藤
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 JP14090790A priority Critical patent/JPH0433128A/ja
Priority to EP19910304833 priority patent/EP0459775A3/en
Publication of JPH0433128A publication Critical patent/JPH0433128A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 クライアント・サーバモデルにおいてのプログラム実行
環境の割付処理方式に関し、 プログラム実行環境の利用の競合に起因するデッドロッ
クの発生防止を、システムの性能劣化を最小限に押さえ
つつ少ないメモリ容量でもって実現できるようにするこ
とを目的とし、 各サーバに対して一意のレイヤ番号を割り付けるととも
に、各サーバが、メツセージ通信の際に、自身のレイヤ
番号を送信する送信部と、送られてくるレイヤ番号が自
身のレイヤ番号より大きいか小さいかを判断することで
、新規のプログラム実行環境を作成するか否かを決定す
る判断部とを備え、各サーバは、新規のものを作成する
と判断するときには、動的に作成してそれを用いて処理
を実行するとともに、新規のものを作成しないと判断す
るときには、起動時に作成されるものを用いて処理を実
行し、かつ、新規のものを作成する場合において、他の
サーバへ処理依頼するときには、依頼先のサーバに対し
て新規のものを作成することになるレイヤ番号を送信し
ていくよう構成する。
(産業上の利用分野〕 本発明は、クライアント・サーバモデル構成を採るデー
タ処理システムにおいてのプログラム実行環境の割付処
理方式に関し、特に、プログラム実行環境の利用の競合
に起因するデッドロックの発生防止を、システムの性能
劣化を最小限に押さえつつ少ないメモリ容量でもって実
現するプログラム実行環境の割付処理方式に関する。
データ処理システムでは、資源の利用が競合したときに
互いに待ち状態となることでデータ処理が進行しないデ
ッドロック状態に陥ることがある。
これから、データ処理システムでは、このようなデッド
ロック状態の発生を防止するための手段を備えていく必
要があるが、この防止手段は、システムの性能劣化を最
小限に押さえつつ少ないハードウェア量の増加でもって
実現していく必要があるのである。
〔従来の技術〕
オブジェクトごとにサーバを対応させ、サーバ間のイン
タフェースはメツセージ通信を使うことで、クライアン
トからのサービス提供要求に応答するよう処理するクラ
イアント・サーバモデル構成のデータ処理システムでは
、従来、メツセージによる処理依頼を受けたときに直ち
にサービス処理を実行できるようにするために、システ
ムの起動時に、待ち行列モデルにより決定される必要最
小限の数のプログラム実行環境(プログラムの実行のた
めに必要となるスタックやレジスタや管理表等)を作成
する構成を採っている。そして、メツセージによる処理
依頼を受けたときに、この用意されるプログラム実行環
境を使用して、直ちにクライアントに対してサービスを
提供していくよう処理するのである。
〔発明が解決しようとするI8) しカルながら、従来技術のように、予め用意しであるプ
ログラム実行環境を利用していく方法を採ると、クライ
アント・サーバモデル構成のデータ処理システムではサ
ーバ間の呼び出し関係を意識しないことに起因して、サ
ーバ間の処理依頼がループを形成してしまうことが起こ
り、これがために、プログラム実行環境を互いに奪い合
うことでデッドロックが発生してしまうことが起こる。
すなわち、第7図に例示するように、処理■では、サー
バYがサーバZに処理を依願していくことでサービス処
理を実行し、処理■では、サーバZがサーバXに処理を
依願し、更に、このサーバXがサーバYに処理を依願し
ていくことでサービス処理を実行していくというように
、個々の処理自体で見るならばループを形成しないこと
がらデッドロックは発生しないものであっても、処理■
と処理■とが組み合わされると、 「サーバχ→サーバY→サーバZ→サーバX」というル
ープが形成されることで、プログラム実行環境を奪い合
ってデッドロックが発生することになるのである。
このように、オブジェクトに対するインタフェースが決
定されると、クライアントが内部構造を意識せずにサー
ビス要求できるというクライアント・サーバモデル構成
のデータ処理システムのメリットは、一方で、処理の組
み合わせによるデッドロックの発生をもたらすというデ
メリットとなることになる。この処理の組み合わせに起
因するデッドロックは、単一の処理に対しての発生防止
手段では解決できるものではないことは明らかである。
このようなデッドロックの発生を防止するために、プロ
グラム実行環境を動的に作成していくという方法を採る
ことも考えられるが、この方法を単純に用いると、プロ
グラム実行環境を作成するための処理により、本来のデ
ータ処理機能の性能が劣化させられてしまうことになる
とともに、あるサーバに負荷が集中した場合に、作成さ
れるプログラム実行環境によりそのサーバのメモリ容量
が圧迫されてしまうことになるという新たな問題点がで
てくることになる。
本発明はかかる事情に鑑みてなされたものであって、ク
ライアント・サーバモデル構成のデータ処理システムに
おけるプログラム実行環境の利用の競合に起因するデッ
ドロックの発生防止を、システムの性能劣化を最小限に
押さえつつ少ないメモリ容量でもつて実現するプログラ
ム実行環境の割付処理方式の提供を目的とするものであ
る。
〔課題を解決するための手段〕
第1図は本発明の原理構成図である。
図中、1−i、 1−jはサーバであって、規定のサー
ビス処理を提供するものである。この各サーバ1−h 
(h=1〜n、n=サーバ総個数)に対して、通番等か
らなる一意のレイヤ番号が割り付けられることになる。
以下、説明の便宜上、サーバ1−hに割り付けられるレ
イヤ番号をR1と記述する。
各サーバI−hは、サービス処理部10−hと、送信部
11−hと、判断部12−hと、システム起動時に作成
される1つ又は複数のプログラム実行環境13−hとを
備えるとともに、必要に応じて動的に作成されるプログ
ラム実行環境14〜hを備える。
このサービス処理部10−hは、予め用意されるプログ
ラム実行環境13−hか、動的に作成されるプログラム
実行環境14−hのいずれが一方を用いて規定のサービ
ス処理を実行するよう処理し、送信部11−hは、メツ
セージ通信の際に、自サーバ1−hに割り付けられたレ
イヤ番号R6を送信するよう処理し、判断部12−hは
、送られてくるレイヤ番号RIMが自サーバ1−hに割
り付けられたレイヤ番号R1より大きいか小さいかを判
断することで、プログラム実行環境14−hの作成依願
を発行するか否かを判断するよう処理する。ここで、動
的に作成されるプログラム実行環境14−hは、対応の
処理の終了時点において削除されることが好ましい。
20はプログラム実行環境管理部であって、各サーバ1
−hが必要とするプログラム実行環境13−h、14−
hを作成して管理するものである。このプログラム実行
環境管理部2oは、システムの起動時にプログラム実行
環境13−hを作成するとともに、各サーバ1−hの判
断部12−hがらの作成要求に応じて動的にプログラム
実行環境14−hを作成していくよう処理する。
〔作用〕
本発明では、判断部12−hは、例えば、送られてくる
レイヤ番号RIMが自サーバ1−hに割り付けられるレ
イヤ番号R,より大きいと判断するときニハ、サービス
処理部10−hに対して、システム起動時に作成される
プログラム実行環境13−hを用いてサービス処理の実
行に入ることを指示する。
一方、判断部12−hは、これとは逆に、送られてくる
レイヤ番号、Nが自サーバ1−hに割り付けられたレイ
ヤ番号R2より小さいと判断するときには、プログラム
実行環境管理部2oに対して、プログラム実行環境14
−hの動的な作成依鯨を発行するとともに、サービス処
理部10−hに対して、この作成依鯨に応じて作成され
るプログラム実行環境14−hを用いてサービス処理の
実行に入ることを指示し、更に、この指示内容を送信部
11−hに通知する。
この通知に従って、サービス処理部10−hが動的に作
成されたプログラム実行環境14−hを用いてサービス
処理を実行していることを判断すると、送信部11−h
は、他のサーバ1−k(k−4−h)に対して処理依頼
のメツセージを送信するときには、上述の例に対応して
説明するならば、最も小さなレイヤ番号Rsi、1より
更に小さな値を持つレイヤ番号R゛を本来の送信対象の
レイヤ番号R1に代えて送信していくことで、処理依頼
先のサーバ1−にのサービス処理部10−にもまた、動
的に作成されるプログラム実行環境14−kを用いてサ
ービス処理を実行することになるよう処理する。
この処理に従って、サーバミーh間の処理依頼が、レイ
ヤ番号R1の大小により規定される特定の一方向に従っ
て実行されているときには、システム起動時に作成され
るプログラム実行環境13−hを用いてサービス処理が
実行されることになるとともに、サーバ1−h間の処理
依頼が、−度この方向と逆の方向に向かうと、それから
以降動的に作成するプログラム実行環境14−hを用い
てサービス処理が実行されることになるので、第7図で
説明したようなループが形成されることがな(なり、こ
れによりプログラム実行環境の奪い合いに起因するデッ
ドロックの発生を防止できるようになるのである。
このように、本発明では、クライアント・サーバモデル
構成のデータ処理システムにおいて、ループ形成の可能
がでてくるときにのみプログラム実行環境を動的に作成
してデッドロックの発生を防止するよう構成するもので
あることから、システムの性能劣化を最小限に押さえつ
つ少ないメモリ容量でもってデッドロックの発生防止を
実現できるようになるのである。そして、この本発明の
効果は、サーバ1−hの処理依頼の態様を考慮して、プ
ログラム実行環境14−hの作成頻度が少なくなるよう
にレイヤ番号R6を割り付けていくことで一層大きなも
のにできるのである。
〔実施例〕
以下、実施例に従って本発明の詳細な説明する。
第2図に、本発明の適用されるデータ処理システムのソ
フトウェア構成を図示する。この図に示すように、本発
明は、所定のサービス処理を実行するサーバ1−h (
h=1〜n、n−サーバ総個数)を複数備えて、このサ
ーバ1−h間をメツセージ通信制御部30に従ってイン
タフェース処理するクライアント・サーバモデル構成の
データ処理システムに適用されるものであって、各サー
バI−hの持つサービス処理機能に対して、プログラム
実行環境管理部20により作成されるプログラム実行環
境を適切に割り付けていくことで、プログラム実行環境
の奪い合いに起因するデッドロックの発生を効率的に防
止するよう処理するものである。
第1図でも説明したように、本発明では、各サーバI−
hに対して一意のレイヤ番号R2を割り付けていく構成
を採るとともに、処理依頼のメツセージ通信の際に、こ
の割り付けられたレイヤ番号R1を依頼先のサーバl−
kに通知していく構成を採ることを基本構成としている
。この割り付けられるレイヤ番号Rおは様々な割付方法
に従うことが可能であるが、例えば、サーバ1−iとサ
ーバ1−jとでri<JJの関係があるときには、その
レイヤ番号をrR,<R=Jと割り付けていく方法等を
用いることが可能である。
第3図に、プログラム実行環境の奪い合いに起因するデ
ンドロツクの発生防止のためにサーバ1−hが実行する
処理の一実施例を図示する9次に、この第3図に従って
、本発明の処理内容について詳細に説明する。
本発明では、プログラム実行環境管理部20の処理に従
い、第4図に示すように、サーバ1−hに対して、シス
テムの起動時に、待ち行列モデルによる決定される必要
最小限の数のプログラム実行環境13−hを展開してい
く構成が採られる。これから、各サーバI−hは、第3
図に示すように、す−ビス処理中に、このシステム起動
時に作成される1つ又は複数のプログラム実行環境13
−hを固定的に持つことになる。
各サーバ1−hは、送られてくるレイヤ番号R1,4を
受は取ると、先ず最初に、この受は取ったレイヤ番号R
IMが自サーバ1−hに割り付けられているレイヤ番号
R1より大きいか小さいかを判断する。
この判断処理により、送られてくるレイヤ番号RIMが
自サーバ1−hのレイヤ番号Rhより大きいと判断する
ときには、第3図中の(a)(i)に示すように、シス
テム起動時に作成されたプログラム実行環境13−hを
用いてサービス処理を実行していく、そして、このサー
ビス処理中に他のサーバ1−kに対して処理依頼のメツ
セージを送信するときには、本来通りに、自サーバl−
bのレイヤ番号Rhを送信していくよう処理する。
一方、送られてくるレイヤ番号R0が自サーバ1−hの
レイヤ番号Rhより小さいと判断するときには、サーバ
1−hは、プログラム実行環境部20に対して、用意さ
れているプログラム実行環境13−hとは別のプログラ
ム実行環境14−hの作成依願を発行し、第3図(b)
(i)に示すように、この発行依頼に応答してプログラ
ム実行環境14−hが展開されると、第3図中の(b)
(ii)に示すように、この動的に作成されたプログラ
ム実行環境14−hを用いてサービス処理を実行してい
く。そして、このサービス処理中に他のサーバl−kに
対して処理依頼のメツセージを送信するときには、自サ
ーバ1−hのレイヤ番号R1に代えて、割り付けたレイ
ヤ番号R1の内の最も小さなレイヤ番号RsiJ’ら“
ビを引いたレイヤ番号“R−i−1”を送信していくよ
う処理する。このレイヤ番号“R1,。
−1”の送信処理により、処理依頼先のサーバ1−には
、依頼元のサーバ1−hと同様に、動的に作成されるプ
ログラム実行環境14−kを用いてサービス処理を実行
していくよう処理することになる。そして、サービス処
理が終了すると、プログラム実行環境管理部20に依願
することで、第3図中の(b)(ii)に示すように、
この動的に作成したプログラム実行環境14−hを削除
する。
この処理に従って、サーバ1−h間の処理依頼が、レイ
ヤ番号R1の大きなものから小さなものに行われている
ときには、システム起動時に作成されるプログラム実行
環境13−hを用いてサービス処理が実行されることに
なるとともに、サーバ1−h間の処理依頼が、−度この
方向とは逆の方向に実行されることになると、以降動的
に作成するプログラム実行環境14−hを用いてサービ
ス処理が実行されることになる。これから、第7図で説
明したループは、第5図に示すように形成されることが
なくなるので、プログラム実行環境の奪い合いに起因す
るデッドロックの発生を防止できるようになるのである
。ここで、第5図では、R,>Rア>Rtを想定してい
る。
このようにして、本発明では、第6図に示すように、ク
ライアント・サーバモデル構成のデータ処理システムに
おいて、ループ形成の可能がでてくるときにのみプログ
ラム実行環境14−hを動的に作成してデッドロックの
発生を防止するよう構成するのである。なお、サーバ1
−h間の処理依頼の概要は設計段階で把握できるので、
この把握を基にして、レイヤ番号R6をプログラム実行
環境14−hの作成頻度が少なくなるように割り付けて
いくことで、プログラム実行環境14−hの作成に伴う
システム性能の劣化を極力少なくするようにしていくこ
とが好ましい。
図示実施例について説明したが、本発明はこれに限定さ
れるものではない。例えば、実施例では、サーバ1−h
間の処理依頼がレイヤ番号の大きいものから小さなもの
に行われているときに、システム起動時に作成されるプ
ログラム実行環境13−hを用いていくことで説明した
が、これとは逆であってよいのである。
〔発明の効果〕
このように、本発明では、クライアント・サーバモデル
構成のデータ処理システムにおいて、ループ形成の可能
がでて(るときにのみプログラム実行環境を動的に作成
してデッドロックの発生を防止するよう構成するもので
あることから、システムの性能劣化を最小限に押さえつ
つ少ないメモリ容量でもってデッドロックの発生防止を
実現できるようになるのである。
【図面の簡単な説明】
第1図は本発明の原理構成図、 第2図は本発明の適用されるデータ処理システムのソフ
トウェア構成S、 第3図は本発明のサーバが実行する処理の説明図、 第4図はシステム起動時に作成されるプログラム実行環
境の説明図、 第5図及び第6図は本発明の詳細な説明図、第7図はク
ライアント・サーバモデル構成のデータ処理システムに
おけるデッドロック発生の説明図である。 図中、1はサーバ、10はサービス処理部、11は送信
部、12は判断部、13及び14はプログラム実行環境
、20はプログラム実行環境管理部、30はメツセージ
通信制御部である。 本禿明杓薗相ご小5るテ°−タカU1シ人テムめン7ト
クシア揖へ1刀 第 区 A発明/lガー/l’也・’l(iするか5姪のt九明
図第 3 図 本寄畦め匁pL^比畔図 芋 図 フクイ了ント 1−ハ゛七プ−レ*Ar+f”夕顛J1
システム1てh−+’r与テ゛・・、ドt1−/フAト
Lすを九峠図第  7  図

Claims (3)

    【特許請求の範囲】
  1. (1)オブジェクトに対応して用意されるサーバ(1)
    を備え、該サーバ間のインタフェースをメッセージ通信
    により処理するデータ処理システムにおいて、 各サーバ(1)に対して一意のレイヤ番号を割り付ける
    とともに、 各サーバ(1)が、メッセージ通信の際に、自らに割り
    付けられたレイヤ番号を送信する送信部(11)と、送
    られてくるレイヤ番号が自らに割り付けられたレイヤ番
    号より大きいか小さいかを判断することで、新規のプロ
    グラム実行環境を作成するか否かを決定する判断部(1
    2)とを備え、各サーバ(1)は、該判断部(12)が
    新規のプログラム実行環境を作成すると判断するときに
    は、動的にプログラム実行環境を作成して、該作成した
    プログラム実行環境を用いて処理を実行するとともに、
    新規のプログラム実行環境を作成しないと判断するとき
    には、システム起動時に作成されるプログラム実行環境
    を用いて処理を実行し、かつ、新規のプログラム実行環
    境を作成する場合において、他のサーバ(1)へ処理依
    頼するときには、上記送信部(11)が依頼先のサーバ
    に対して新規のプログラム実行環境を作成することにな
    るレイヤ番号を送信していくよう処理することを、 特徴とするプログラム実行環境の割付処理方式。
  2. (2)請求項(1)記載のプログラム実行環境の割付処
    理方式において、 動的に作成するプログラム実行環境は、該プログラム実
    行環境を用いる処理の終了時点において削除するよう構
    成することを、 特徴とするプログラム実行環境の割付処理方式。
  3. (3)請求項(1)又は(2)記載のプログラム実行環
    境の割付処理方式において、 各サーバ(1)に割り付けられるレイヤ番号は、動的に
    作成するプログラム実行環境の作成頻度が少なくなるよ
    うに割り付けるよう構成することを、特徴とするプログ
    ラム実行環境の割付処理方式。
JP14090790A 1990-05-30 1990-05-30 プログラム実行環境の割付処理方式 Pending JPH0433128A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14090790A JPH0433128A (ja) 1990-05-30 1990-05-30 プログラム実行環境の割付処理方式
EP19910304833 EP0459775A3 (en) 1990-05-30 1991-05-29 A processing system for assigning a program executing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14090790A JPH0433128A (ja) 1990-05-30 1990-05-30 プログラム実行環境の割付処理方式

Publications (1)

Publication Number Publication Date
JPH0433128A true JPH0433128A (ja) 1992-02-04

Family

ID=15279587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14090790A Pending JPH0433128A (ja) 1990-05-30 1990-05-30 プログラム実行環境の割付処理方式

Country Status (2)

Country Link
EP (1) EP0459775A3 (ja)
JP (1) JPH0433128A (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0319796B1 (en) * 1987-11-26 1995-08-16 Hitachi, Ltd. Job control for an on-line system
US5063500A (en) * 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine

Also Published As

Publication number Publication date
EP0459775A3 (en) 1993-01-07
EP0459775A2 (en) 1991-12-04

Similar Documents

Publication Publication Date Title
US6141720A (en) Method and apparatus for coordination of a shared object in a distributed system
US5778185A (en) Method for finding a resource in a scalable distributed computing environment
JP3382953B2 (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
US6212573B1 (en) Mechanism for invoking and servicing multiplexed messages with low context switching overhead
US6904448B2 (en) Dynamic quorum adjustment
US6999997B2 (en) Method and apparatus for communication of message data using shared queues
WO1998003912A1 (en) Method and apparatus for coordination of a shared object in a distributed system
JPH07503568A (ja) 協調作業ネットワークでの呼出し管理ワークステーション及び方法
CN114911602B (zh) 一种服务器集群的负载均衡方法、装置、设备和存储介质
JPH036539B2 (ja)
JPH06243070A (ja) プロセッサ間通信システム
JPH0433128A (ja) プログラム実行環境の割付処理方式
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
JP2006185229A (ja) オンライン同期処理方法及び装置
JPH06266643A (ja) サーバプログラム管理方法
JP3217878B2 (ja) プロトコルマッピング方法
JPH0292043A (ja) データ受信方式
JP2820942B2 (ja) 通信プロトコル処理方法
JPS6148257A (ja) 通信回線制御装置
JPS61136134A (ja) 待ち行列資源管理方式
JP2002171273A (ja) Lan制御システム
In Decentralized Decision Making
CA2237742A1 (en) A system resource reduction tool utilizing tcp/ip socket applications
JPH10334015A (ja) Tcp/ipソケット・アプリケーションを使用したシステム資源削減方法
JPH03240857A (ja) マルチプロセッサシステムにおけるメッセージ通信方式