JPH11345131A - タスク終了を通知する方法および装置 - Google Patents

タスク終了を通知する方法および装置

Info

Publication number
JPH11345131A
JPH11345131A JP11130831A JP13083199A JPH11345131A JP H11345131 A JPH11345131 A JP H11345131A JP 11130831 A JP11130831 A JP 11130831A JP 13083199 A JP13083199 A JP 13083199A JP H11345131 A JPH11345131 A JP H11345131A
Authority
JP
Japan
Prior art keywords
task
affinity
target
target task
list
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.)
Granted
Application number
JP11130831A
Other languages
English (en)
Other versions
JP3701816B2 (ja
Inventor
Donald F Ault
ドナルド・エフ・オルト
Ernest S Bender
アーネスト・エス・ベンダー
John A Helmbold
ジョン・エイ・ヘルムボルド
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11345131A publication Critical patent/JPH11345131A/ja
Application granted granted Critical
Publication of JP3701816B2 publication Critical patent/JP3701816B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 失敗プロセスと対話しているプロセスに、そ
のプロセスの失敗を確実に通知する方法および装置を提
供する。 【解決手段】 それぞれのプロセスは関連した固有のプ
ロセス識別子を有し、プロセスが失敗したことを通知す
るプロセスの識別子をそれぞれが含む1つ又は複数のエ
ントリを含む類縁性リストを任意選択で有することがで
きる。プロセスは、オペレーティング・システムのカー
ネルの類縁性サービスを呼び出し、オペレーションの追
加又は削除、ターゲット・プロセスの識別子、通知する
プロセスの識別子、及び通知するプロセスに向けて生成
するイベント・タイプを指定することによって、ターゲ
ット・プロセスの類縁性リストを更新する。プロセスが
失敗すると、OSカーネルのプロセス終了サービスが、
失敗プロセスの類縁性リストを調査し、リスト中のそれ
ぞれのエントリについて、通知するよう指定されたプロ
セスに向けて指定されたイベントを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、タスク終了を通知
する方法および装置に関し、より詳細には、クライアン
ト/サーバ・システムにおいてプロセス終了を通知する
方法および装置に関する。
【0002】
【従来の技術】クライアント/サーバ・コンピュータ・
システムは当技術分野でよく知られている。クライアン
ト/サーバ・システムでは、クライアント・プロセス
(または単に「クライアント」)が、同じシステムまた
は別のシステムのサーバ・プロセス(または単に「サー
バ」)に、指定のサービスを実行するよう求める要求を
発行する。サーバ・プロセスは要求を受け取ると、要求
されたサービスを実行し、その結果を応答としてクライ
アント・プロセスに返す。
【0003】単一システムでクライアント/サーバ・ア
プリケーションを実行する際に、クライアントがサーバ
に要求を送り、サーバからの応答を待たなければならな
い場合がよくある。同様に、複数のサーバ・プロセスが
複数のクライアント・プロセスと通信しなければならな
い場合も起こりうる。クライアントがあるサーバからの
応答を待っている間に、そのサーバが終了した場合、ユ
ーザまたはオペレータがクライアント・プロセスを終了
させる要求を行うまで、クライアント・プロセスが待機
状態のままになる可能性がある。同様に、サーバが、ク
ライアントからの応答を待っている間に、クライアント
が終了してしまうこともある。クライアントおよびサー
バの論理にタイマ・コールを追加し、待機状態がタイム
アウトされるようにすることができるが、こうすると経
路長が不必要に長くなり、クライアントまたはサーバ・
アプリケーションが適当な時間枠を拾い上げることが必
要となる。
【0004】UNIX(商標)ベースのシステムには、
複数のプロセス間の接続状況を追跡するのに使用するこ
とができるいくつかのプログラミング構成がある。アプ
リケーションが、子プロセスを作成するためにfork
()またはspawn()サービスを使用する場合、こ
れらの2つプロセスは、UNIXフレームワークによっ
て相互に結合される。すなわち子プロセスが終了した場
合、親プロセスにはSIGCHLD信号が送られる。親
プロセスが終了した場合には子プロセスにSIGHUP
信号が送られる。しかし、対話しているサーバ・プロセ
スとクライアント・プロセスは通常、この親子関係以外
の方法で相互結合されているので、この機構は、UNI
Xベースのシステムでの一般的な通知機構としてはあま
り有効ではない。
【0005】
【発明が解決しようとする課題】本発明の目的は、失敗
プロセスと対話しているプロセスに、そのプロセスの失
敗を確実に通知する方法および装置を提供することにあ
る。
【0006】
【課題を解決するための手段】この問題は、以下で説明
する本発明のpid類縁性サービスによって解決され
る。用語pidはプロセス識別子を表す。サーバ・プロ
セスおよびクライアント・プロセスはともに固有のPI
Dを有する。pid類縁性サービスは、クライアント・
プロセスとサーバ・プロセスの一方が終了となったとき
に、待機中の他方のプロセスに信号を送りそのことを通
知する機構が提供されるような類縁性または結びつきを
クライアント・プロセスとサーバ・プロセスの間に作り
出すのに使用される。
【0007】本発明によれば、オペレーティング・シス
テムのプロセスはそれぞれ、そのプロセスが終了したと
きにそのことを(信号を介して)通知したいプロセスを
識別するpid類縁性リストを任意選択で有することが
できる。pid類縁性サービスは、クライアントがその
pidを、サーバのpid類縁性リストに追加したり、
またはサーバがそのpidを、クライアントのpid類
縁性リストに追加する機構を提供する。どのプロセスが
pid類縁性サービスを使用するかはアプリケーション
が決定する。
【0008】本発明の動作の例として、クライアント
が、メッセージ待ち行列を使用してサーバに要求を送ろ
うとしていると仮定する。(msgsndシステム・コ
ールを発行することによって)サーバの入力待ち行列に
要求を入れる前に、クライアントは、そのpidをサー
バのpid類縁性リストに追加するpid類縁性サービ
スを呼び出す。クライアントは次いで、msgsndシ
ステム・コールを発行し、その要求をサーバの入力待ち
行列に入れる。クライアントは次いで、msgrcvシ
ステム・コールを発行しサーバからの応答を待つ。メッ
セージ待ち行列での待機中に、サーバが終了する可能性
がある。これが起きた場合、カーネルはpid類縁性リ
ストを調べ、pid類縁性リストにある(pidで表さ
れる)それぞれのプロセスに信号を送る。この信号は、
クライアント・プロセスをmsgrcv待機の状態から
目覚めさせ、現在の要求を失敗させ、呼出し側プロセス
に制御を戻すことを可能にする。
【0009】メッセージ待ち行列を使用したクライアン
ト/サーバ通信の以上の説明は、プロセスが通信する方
法の一例に過ぎない。これらのプロセスが、共用メモ
リ、セマフォ、またはその他の通信機構を使用すること
もできる。この例では、クライアントおよびサーバを単
純なシングル・スレッド・プロセスとして説明してい
る。サーバをマルチスレッドとし、複数のクライアント
からの多くの要求を同時に処理させることも可能であ
る。このようなサーバが終了した場合には、そのpid
類縁性リスト中の全てのクライアントにそのことが通知
される。
【0010】
【発明の実施の形態】最初に図2および図3について説
明する。本発明の実施形態は、システムのカーネル・ア
ドレス空間204内にPID類縁性サービス221を含
む。このシステムはさらに、プロセス206(プロセス
A)および216(プロセスB)を含む1つまたは複数
のユーザ・アドレス空間202を有する。カーネル・ア
ドレス空間204は、中央処理装置(CPU)、主記憶
および2次記憶装置、ならびに当技術分野では従来から
知られており、そのためここでは図示しないさまざまな
周辺装置を有する汎用コンピュータ上で、ユーザ・アド
レス空間202内の1つまたは複数のユーザ・プログラ
ムとともに実行されるオペレーティング・システム(O
S)のカーネル(別個には図示していない)の一部であ
る。本発明は、特定のハードウェアまたはソフトウェア
・プラットフォームに限定されるものではないが、S/
390 Parallel Enterprise S
erver(商標)G4またはG5プロセッサなどのI
BM S/390(商標)プロセッサ上で実行されるI
BM(商標)OS/390(商標)オペレーティング・
システムの一部として実装することが好ましい。
【0011】次に図1について説明する。システム内の
それぞれのプロセスは、それに関連したプロセス情報ブ
ロック(PIB)114を有する。それぞれのPIB1
14は、プロセスを一意的に識別するプロセス識別子
(PID)116、PID類縁性リスト(PAL)12
0へのポインタ118、および本発明に関係せず、その
ため図示されていないその他の項目を含む。リスト12
0にPIDを追加するpid類縁性サービス221が呼
び出されるたびに、エントリ122がリスト中に作成さ
れる。それぞれのエントリ122には、イベント通知先
のプロセスのPID124、および信号番号とすること
ができるイベント・タイプ126が含まれる。
【0012】pid類縁性パラメータ・リスト(PL)
100には、アプリケーション・プログラムによって指
定され、pid類縁性サービス221に入力されるパラ
メータ、およびpid類縁性サービス221から出力さ
れるパラメータが含まれる。これらのパラメータには、
機能コード102、ターゲット・プロセス・パラメータ
104、イベント・プロセス・パラメータ106、イベ
ント・パラメータ108、およびリターン・コード11
0が含まれる。パラメータ102〜108は、呼出し側
アプリケーションからPID類縁性サービス221に供
給される入力パラメータであり、リターン・コード11
0は、PID類縁性サービス221から呼出し側アプリ
ケーションに戻される出力パラメータである。
【0013】機能コード102は、アプリケーション・
プログラムが要求しているpid類縁性サービス機能を
指定する。サポートされる機能コード102は、類縁性
リスト120へのエントリ122の追加、および類縁性
リスト120からのエントリ122の削除である。
【0014】ターゲット・プロセス・パラメータ104
は、その類縁性リスト120が、機能コード・パラメー
タ102によって指定されたオペレーションのターゲッ
トであるターゲット・プロセス(PIDによって識別さ
れる)を指定する。
【0015】指定されたイベント・プロセス・パラメー
タ106の使い方は、機能コード・パラメータ102の
指定によって異なる。イベント・プロセス・パラメータ
106は、ターゲット・プロセスが終了したときにイベ
ントを送達するプロセスを識別する。アプリケーション
が、類縁性リスト120にエントリ122を追加する機
能コード102を指定したときには、このパラメータ1
06の内容が、ターゲット・プロセス・パラメータ10
4によって指定されたプロセスの類縁性リスト120の
エントリ124にコピーされる。アプリケーションが、
類縁性リスト120からエントリ122を削除する機能
コード102を指定すると、このパラメータ106の内
容が、ターゲット・プロセス・パラメータ104によっ
て指定されたプロセスの類縁性リスト120に存在する
エントリ124と比較される。一致するプロセス識別子
124を有するエントリ122が見つかった場合、この
エントリはクリアされ再使用が可能となる。
【0016】イベント・パラメータ108は、ターゲッ
ト・プロセス104が終了したときに生成するイベント
126を指定する。機能コード・パラメータ102がエ
ントリ122の削除を要求しているときにはこのパラメ
ータ108は使用されない。機能コード・パラメータ1
02の指定が、類縁性リスト120へのエントリ122
の追加であるときには、このパラメータ108の内容
が、ターゲット・プロセス・パラメータ104によって
指定されたプロセスの類縁性リスト120のエントリ1
26にコピーされる。
【0017】第5のパラメータ110は、pid類縁性
サービスによって生成されたリターン・コードを含む。
このパラメータは、pid類縁性サービスの成功または
失敗をアプリケーション・プログラムに指示するのに使
用される。
【0018】図2に、クライアント・プログラムがその
PIDを、サーバのpid類縁性リスト120に追加す
るときのpid類縁性サービス221の使用法を示す。
図2には、ユーザ・アドレス空間202およびカーネル
・アドレス空間204が示されている。カーネル・アド
レス空間204は、アプリケーションがその他のユーザ
・アドレス空間202と通信するサービスが提供される
場所である。この例では、ユーザ・アドレス空間202
が、サーバ・アドレス空間216(プロセスB)と通信
するクライアント・アドレス空間206(プロセスA)
を含む。
【0019】クライアント206は最初に、サーバ21
6に作業要求を割り当てる(段階208)。先に論じた
ように、これを実施する1つの手段は、メッセージ待ち
行列にメッセージを入れることである。段階208で作
業要求を割り当てた後、クライアント206は、カーネ
ル・アドレス空間204の中の待機機能212を呼び出
してサーバ216からの応答を待つ(段階210)。待
機機能212を、汎用待機機能、またはメッセージまた
は信号を待つmsgrcvのような機能とすることがで
きる。これが、UNIXシステムでの標準的なプログラ
ミング習慣である。例えば、参照によって本明細書に組
み込まれるW.R.スティーブンズ(Stevens)著「UNI
X Network Programming」(1990)の126〜137ペ
ージに記載されているように、UNIXシステムでは、
別のプロセスにメッセージを送りたいプロセスが、ms
gsndシステム・コールを発行して、メッセージ待ち
行列にメッセージを入れることができる。この別のプロ
セスはこれを受けてmsgrcvシステム・コールを発
行し、メッセージ待ち行列からメッセージを取り出すこ
とができる。
【0020】プロセスBとして示されているサーバ・ス
ペース216では、サーバが、クライアント206から
作業要求を受け取る(段階218)。これを、msgr
cvのような機能を使用して実施し、段階208でクラ
イアント206がメッセージ待ち行列に入れたメッセー
ジを受け取ることができる。段階218で作業要求を受
け取った後、サーバ216は、追加を指定した機能コー
ド102、プロセスB(それ自体)がターゲットのター
ゲット・プロセスPID104、プロセスAが指定され
たイベント・プロセス106、および特定の信号とする
ことができるイベント108を有する本発明のpid類
縁性サービス(pid_affinity)221を呼
び出す(段階220)。この段階が完了すると、万一何
かが起きてサーバ・プロセス216が終了した場合、要
求したイベント108を用いてクライアント・プロセス
206にこのことが通知されることが保証される。
【0021】次にサーバ216が、段階208で割り当
てられた作業要求を処理する(段階220)。エラーが
発生しないと仮定すると、サーバ216は、作業要求を
処理し(段階222)、クライアント206にその完了
を通知する(段階226)。この通知を、作業要求の結
果とともにメッセージをクライアント206に送ること
によって実施することができる。サーバ216から送ら
れたmsgsndによって、msgrcv待機212中
のクライアント206は目覚める。段階226でクライ
アント・プロセス206に通知した後、サーバ216
は、プロセスB216(それ自体)にセットされたター
ゲット・プロセス104のPID類縁性リスト120の
中のエントリ122を削除する機能コード102で、p
id類縁性サービス221を呼び出す(段階228)。
イベント・プロセス106は、プロセスA206にセッ
トされる。pid類縁性サービス221がその要求の処
理を完了すると、クライアント・プロセス206のエン
トリ122が、サーバ・プロセス216のPID類縁性
リスト120から除かれる。
【0022】このサーバ処理中に終了イベント224が
発生し、サーバが、段階222の作業要求の処理を完了
することができなくなったと仮定する。この場合は、カ
ーネル204がプロセス終了230を制御する。プロセ
ス終了230の一部として、カーネルは、終了したプロ
セス216のPID類縁性リスト120の全てのエント
リ122を処理する。PID類縁性リスト120のエン
トリ122が埋められている場合(段階232)、カー
ネルはイベント126を生成し、そのイベントのターゲ
ットを、PID類縁性リスト120のエントリ122の
中のPID124とする(段階234)。
【0023】段階234でのイベントの生成によって、
待機状態212にあるターゲット・プロセス206が再
開され(段階236)、プロセスA206のイベント出
口238への異常イベント126の送達が開始される。
イベント出口238のクライアント・コードに、これが
応答を待っていたサーバ216(プロセスB)の終了が
通知される(段階240)。これによってクライアント
・イベント出口238は、要求を終了するか、または再
試行するかを決定することができる。通知があったとき
にクライアントが何をするかは本発明の一部ではなく、
したがってここで説明はしない。
【0024】図3に、pid類縁性サービス221によ
ってサポートされた別のモデルを示す。このケースで
は、クライアント・プロセス302(プロセスC)が、
それがすぐに通信するサーバ・プロセス320(プロセ
スD)のPIDを決定する。これを、共用メモリ、構成
ファイル、または本発明に関係しないその他の手段を用
いて実施することができる。クライアント・プロセス3
02は次いで、追加を指定した機能コード102、プロ
セスD320(サーバ)をターゲットとするターゲット
・プロセスPID104、プロセスC302(クライア
ント自体)にセットされたイベント・プロセス106、
およびその要求を処理している間にサーバ320が終了
した場合にそれが受け取りたいイベント108を有する
pid類縁性サービス221を呼び出す(段階30
4)。
【0025】クライアント302は次いで、メッセージ
待ち行列またはその他の通信機構を介してサーバ・プロ
セス320に作業を割り当てる(段階306)。クライ
アント302は次いで、待機サービス212を呼び出
し、サーバ320からの応答を待つ(段階308)。待
機サービス212は、要求の機能が完了するか、または
異常イベントを受け取るまで、クライアント302をス
リープ状態に置く。
【0026】その間にサーバ320は、作業要求を受け
取り(段階322)、作業を処理する(段階324)。
全てがうまくいった場合、サーバ320はクライアント
302に、作業の完了を通知する(段階328)。段階
328での通知によってクライアント・プロセス302
は、成功を指示するリターン・コードで待機機能212
を終了させる。待機状態から戻って制御を回復すると、
クライアント302は、段階304で実施されたコール
を取り消すpid類縁性サービス221を呼び出す(段
階310)。段階310のコールは、機能コード102
を削除要求にセットし、ターゲット・プロセス・パラメ
ータ104がサーバ・プロセスD320を識別し、イベ
ント・プロセス・パラメータ106がこのクライアント
302を識別する。
【0027】終了イベント326がサーバ320で発生
した場合、プロセス終了サービス(process_t
erm)230が開始される。プロセス終了サービス2
30は、サーバ・プロセスD320のPID類縁性リス
ト120の中のそれぞれのエントリに対して実行され
(段階232)、これが、要求のイベント126を生成
し、ターゲットのPID124に送られる(段階23
4)。この場合、ターゲットPID124はクライアン
ト・プロセスC302の識別子であり、イベント126
は、段階304でイベント・パラメータ108に入れら
れたものである。
【0028】段階234でイベントが生成されると、こ
れによって、クライアント・プロセスC302が中断し
た待機212から抜け出す(段階340)。待機機能2
12は次に、段階308の後の呼出し元へ戻す代わり
に、イベント出口311へ制御を渡す。イベント出口3
11には、サーバ・プロセスDの終了が通知される(段
階312)。この時点でクライアント・コード302
は、要求を終了させるか、再試行するか、または別のサ
ービスを要求するかのいずれかを実行することができ
る。
【0029】図4に、PID類縁性サービス221の処
理を示す。サービス221は最初に、呼出し元のパラメ
ータの妥当性を検査する(段階402)。機能コード1
02、ターゲット・プロセスPID104、イベント・
プロセスPID106、またはイベント108が無効で
ある場合、サービス221は、固有の失敗リターン・コ
ードをセットし(段階404)、呼出し元へ戻す(段階
406)。全てのパラメータが有効であると仮定する
と、サービス221は、ターゲット・プロセス104を
プロセス・ロックする(段階408)。このロックによ
って、複数の呼出し元のターゲット・プロセス104の
PID類縁性リスト(以下PAL)120の更新が逐次
化される。
【0030】ターゲット・プロセス104がPAL12
0をまだ持っていない場合(段階410)、PAL12
0用の記憶域が獲得され、PAL120の位置が、プロ
セス情報ブロック(PIB)114のフィールド116
に記憶される(段階412)。次に、追加処理が要求さ
れているのか、または削除処理が要求されているのかを
判定するために、機能コード102が試験される(段階
416)。追加処理が要求されている場合の処理は、図
5に記載されている(段階418)。
【0031】削除処理の場合、入力されたイベント・プ
ロセスPID106と一致するPID124を有するエ
ントリ122を求めてPAL120が走査される(段階
414)。一致するエントリ122が見つかった場合
(段階420)、このエントリ122がクリアされ、P
AL120の最後のエントリ122が、クリアされたエ
ントリに移動されて、テーブルはすき間のない状態に維
持される(段階422)。次いでプロセス・ロックが解
除され、呼出し元に制御が戻される(段階406)。エ
ントリ122が見つからない場合は、削除段階422が
実行されずにプロセス・ロックが解除され、呼出し元に
制御が戻される(段階406)。
【0032】図5に、PAL120にエントリを追加す
る処理を示す。ターゲット・プロセスPID104が試
験され、呼出し元のPID116と同じであるかどうか
が判定される(段階502)。これらが一致する場合に
は、呼出し側プロセスが終了した場合に、イベント・プ
ロセス106に信号(イベント108)が送られること
を意味する。PAL120にエントリ122を追加する
前に、呼出し側プロセスが、イベント・プロセス106
に信号(イベント108)を送ることができるかどうか
を判定するための試験が実施される(段階504)。呼
出し元が信号(イベント108)を送ることが許されて
いない場合、サービスは、エラー・コードをセットし
(段階508)、プロセス・ロックを解除して、呼出し
元に戻す(段階518)。
【0033】初期の試験の後、コードは、PAL120
の中をループする(段階506)。PAL120の中の
エントリ122を調べ、現在のPID124が、イベン
トPID108と同じ場合には(段階510)、このエ
ントリのPID124の上にイベントpid106を記
憶し、エントリ122のイベント126の上にイベント
108を記憶することによってこのエントリ122が上
書きされる(段階512)。段階510でPIDが一致
しない場合で、PAL120に他のエントリがある場合
には(段階514)、段階506に戻ってループが継続
される。
【0034】PALの中にイベントPID106が見つ
からない場合、新しいエントリ122が選択される。こ
れには普通、PAL120の中の使用されていない次の
エントリ122が使用される。PAL120がいっぱい
の場合には、より大きな新しいPALが用意され、古い
PAL120が新しいPALにコピーされ、新しいPA
LのアドレスがPIB114のフィールド116に記憶
される。プロセスはロックされている(段階408)の
で、これは安全に実施される。古いPALが新しいPA
Lにコピーされると、古いPALは解放される。次いで
段階512で、PALの中の使用されていないエントリ
122を使用して、新しいエントリが記憶される。プロ
セス・ロックが解除され、呼出し元に制御が戻される
(段階518)。
【0035】まとめとして、本発明の構成に関して以下
の次項を開示する。
【0036】(1)複数の対話型タスクを有する情報処
理システムにおいて、タスク終了を通知する方法であっ
て、1つまたは複数の各ターゲット・タスクごとに、前
記ターゲット・タスクが終了したときに通知を送るべき
他のタスクの1つまたは複数のエントリを含む類縁性リ
ストを定義する段階と、ターゲット・タスクおよび別の
タスクを指定する類縁性要求を受け取とったことに応答
して、前記別のタスクのエントリを、前記ターゲット・
タスクについて定義された類縁性リストに追加する段階
と、ターゲット・タスクの終了を検出したことに応答し
て、前記ターゲット・タスクについて定義された前記類
縁性リストに含まれる他のそれぞれのタスクに通知する
段階とを含む方法。 (2)前記類縁性要求が、前記ターゲット・タスクから
出される、上記(1)に記載の方法。 (3)前記類縁性要求が、前記別のタスクから出され
る、上記(1)に記載の方法。 (4)前記類縁性要求が第1のタイプのものであり、タ
ーゲット・タスクおよび別のタスクを指定する第2のタ
イプの類縁性要求を受け取ったことに応答して、前記タ
ーゲット・タスクについて定義された前記類縁性リスト
から前記別のタスクのエントリを削除する段階をさらに
含む上記(1)に記載の方法。 (5)前記追加段階が、前記ターゲット・タスクについ
て前記類縁性リストがすでに定義されているかどうかを
判定する段階と、前記ターゲット・タスクについて前記
類縁性リストがすでに定義されている場合に、前記別の
タスクのエントリを、前記ターゲット・タスクについて
定義された前記類縁性リストに追加する段階と、前記タ
ーゲット・タスクについて前記類縁性リストがまだ定義
されていない場合に、前記ターゲット・タスクについて
前記類縁性リストを定義し、前記別のタスクのエントリ
を、前記ターゲット・タスクについて定義された前記類
縁性リストに追加する段階とを含む、上記(1)に記載
の方法。 (6)前記タスクが、別個のアドレス空間を有するプロ
セスである、上記(1)に記載の方法。 (7)前記タスクがユーザ・タスクであり、前記段階
が、オペレーティング・システムのカーネルによって実
行される、上記(1)に記載の方法。 (8)前記類縁性要求が、前記ターゲット・プロセスに
ついて定義された前記類縁性リスト上で実行されるオペ
レーションのタイプを指定する、上記(1)に記載の方
法。 (9)前記類縁性要求が、前記ターゲット・タスクが終
了したときに前記別のタスクのために生成されるイベン
トを指定する、上記(1)に記載の方法。 (10)複数の対話型タスクを有する情報処理システム
において、タスク終了を通知する装置であって、1つま
たは複数の各ターゲット・タスクごとに、前記ターゲッ
ト・タスクが終了したときに通知を送るべき他のタスク
の1つまたは複数のエントリを含む類縁性リストを定義
する手段と、ターゲット・タスクおよび別のタスクを指
定する類縁性要求を受け取とったことに応答して、前記
別のタスクのエントリを、前記ターゲット・タスクにつ
いて定義された類縁性リストに追加する手段と、ターゲ
ット・タスクの終了を検出したことに応答して、前記タ
ーゲット・タスクについて定義された前記類縁性リスト
に含まれる他のそれぞれのタスクに通知する手段とを備
える装置。 (11)前記類縁性要求が第1のタイプのものであり、
ターゲット・タスクおよび別のタスクを指定する第2の
タイプの類縁性要求を受け取ったことに応答して、前記
ターゲット・タスクについて定義された前記類縁性リス
トから前記別のタスクのエントリを削除する手段をさら
に備える上記(10)に記載の装置。 (12)前記追加手段が、前記ターゲット・タスクにつ
いて前記類縁性リストがすでに定義されているかどうか
を判定する手段と、前記ターゲット・タスクについて前
記類縁性リストがすでに定義されている場合に、前記別
のタスクのエントリを、前記ターゲット・タスクについ
て定義された前記類縁性リストに追加する手段と、前記
ターゲット・タスクについて前記類縁性リストがまだ定
義されていない場合に、前記ターゲット・タスクについ
て前記類縁性リストを定義し、前記別のタスクのエント
リを、前記ターゲット・タスクについて定義された前記
類縁性リストに追加する手段とを含む、上記(10)に
記載の装置。 (13)タスク終了を通知する方法段階を実行するマシ
ン実行可能な命令プログラムを具現化したマシン可読の
プログラム記憶装置において、前記方法段階が、1つま
たは複数の各ターゲット・タスクごとに、前記ターゲッ
ト・タスクが終了したときに通知を送るべき他のタスク
の1つまたは複数のエントリを含む類縁性リストを定義
する段階と、ターゲット・タスクおよび別のタスクを指
定する類縁性要求を受け取とったことに応答して、前記
別のタスクのエントリを、前記ターゲット・タスクにつ
いて定義された前記類縁性リストに追加する段階と、タ
ーゲット・タスクの終了を検出したことに応答して、前
記ターゲット・タスクについて定義された前記類縁性リ
ストに含まれる他のそれぞれのタスクに通知する段階と
を含むプログラム記憶装置。 (14)前記類縁性要求が第1のタイプのものであり、
前記方法段階が、ターゲット・タスクおよび別のタスク
を指定する第2のタイプの類縁性要求を受け取ったこと
に応答して、前記ターゲット・タスクについて定義され
た前記類縁性リストから前記別のタスクのエントリを削
除する段階をさらに含む上記(13)に記載のプログラ
ム記憶装置。 (15)前記追加段階が、前記ターゲット・タスクにつ
いて前記類縁性リストがすでに定義されているかどうか
を判定する段階と、前記ターゲット・タスクについて前
記類縁性リストがすでに定義されている場合に、前記別
のタスクのエントリを、前記ターゲット・タスクについ
て定義された前記類縁性リストに追加する段階と、前記
ターゲット・タスクについて前記類縁性リストがまだ定
義されていない場合に、前記ターゲット・タスクについ
て前記類縁性リストを定義し、前記別のタスクのエント
リを、前記ターゲット・タスクについて定義された前記
類縁性リストに追加する段階とを含む、上記(13)に
記載のプログラム記憶装置。
【図面の簡単な説明】
【図1】pid類縁性サービスに渡されるパラメータの
リスト、プロセス情報ブロック、およびpid類縁性リ
ストを示す図である。
【図2】それ自体のPID類縁性リストに別のプロセス
のPIDを追加するためのフローおよび論理、ならびに
呼出し側プロセスの終了の結果を示す図である。
【図3】ターゲット・プロセスのPID類縁性リスト
に、呼出し元のPIDを追加するためのフローおよび論
理、ならびにそのターゲット・プロセスの終了によって
開始されるアクションを示す図である。
【図4】PID類縁性サービスへの入口およびエントリ
削除処理を示す図である。
【図5】PID類縁性サービスのエントリ追加論理を示
す図である。
【符号の説明】
100 pid類縁性パラメータ・リスト(PL) 102 機能コード 104 ターゲット・プロセス・パラメータ 106 イベント・プロセス・パラメータ 108 イベント・パラメータ 110 リターン・コード 114 プロセス情報ブロック(PIB) 116 プロセス識別子(PID) 118 ポインタ 120 類縁性リスト 124 エントリ 124 プロセス識別子 202 ユーザ・アドレス空間 204 カーネル・アドレス空間 206 プロセスA 212 待機機能 216 プロセスB 221 PID類縁性サービス 230 プロセス終了 236 段階 302 プロセスC 311 イベント出口 320 プロセスD 326 終了イベント 340 段階
フロントページの続き (72)発明者 アーネスト・エス・ベンダー アメリカ合衆国12477 ニューヨーク州ソ ージャーティーズ パイン・グルーブ・ス クール・ロード (72)発明者 ジョン・エイ・ヘルムボルド アメリカ合衆国12401 ニューヨーク州エ クステンション キングストン リンデル マン・アヴェニュー 583

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】複数の対話型タスクを有する情報処理シス
    テムにおいて、タスク終了を通知する方法であって、 1つまたは複数の各ターゲット・タスクごとに、前記タ
    ーゲット・タスクが終了したときに通知を送るべき他の
    タスクの1つまたは複数のエントリを含む類縁性リスト
    を定義する段階と、 ターゲット・タスクおよび別のタスクを指定する類縁性
    要求を受け取とったことに応答して、前記別のタスクの
    エントリを、前記ターゲット・タスクについて定義され
    た類縁性リストに追加する段階と、 ターゲット・タスクの終了を検出したことに応答して、
    前記ターゲット・タスクについて定義された前記類縁性
    リストに含まれる他のそれぞれのタスクに通知する段階
    とを含む方法。
  2. 【請求項2】前記類縁性要求が、前記ターゲット・タス
    クから出される、請求項1に記載の方法。
  3. 【請求項3】前記類縁性要求が、前記別のタスクから出
    される、請求項1に記載の方法。
  4. 【請求項4】前記類縁性要求が第1のタイプのものであ
    り、 ターゲット・タスクおよび別のタスクを指定する第2の
    タイプの類縁性要求を受け取ったことに応答して、前記
    ターゲット・タスクについて定義された前記類縁性リス
    トから前記別のタスクのエントリを削除する段階をさら
    に含む請求項1に記載の方法。
  5. 【請求項5】前記追加段階が、 前記ターゲット・タスクについて前記類縁性リストがす
    でに定義されているかどうかを判定する段階と、 前記ターゲット・タスクについて前記類縁性リストがす
    でに定義されている場合に、前記別のタスクのエントリ
    を、前記ターゲット・タスクについて定義された前記類
    縁性リストに追加する段階と、 前記ターゲット・タスクについて前記類縁性リストがま
    だ定義されていない場合に、前記ターゲット・タスクに
    ついて前記類縁性リストを定義し、前記別のタスクのエ
    ントリを、前記ターゲット・タスクについて定義された
    前記類縁性リストに追加する段階とを含む、請求項1に
    記載の方法。
  6. 【請求項6】前記タスクが、別個のアドレス空間を有す
    るプロセスである、請求項1に記載の方法。
  7. 【請求項7】前記タスクがユーザ・タスクであり、前記
    段階が、オペレーティング・システムのカーネルによっ
    て実行される、請求項1に記載の方法。
  8. 【請求項8】前記類縁性要求が、前記ターゲット・プロ
    セスについて定義された前記類縁性リスト上で実行され
    るオペレーションのタイプを指定する、請求項1に記載
    の方法。
  9. 【請求項9】前記類縁性要求が、前記ターゲット・タス
    クが終了したときに前記別のタスクのために生成される
    イベントを指定する、請求項1に記載の方法。
  10. 【請求項10】複数の対話型タスクを有する情報処理シ
    ステムにおいて、タスク終了を通知する装置であって、 1つまたは複数の各ターゲット・タスクごとに、前記タ
    ーゲット・タスクが終了したときに通知を送るべき他の
    タスクの1つまたは複数のエントリを含む類縁性リスト
    を定義する手段と、 ターゲット・タスクおよび別のタスクを指定する類縁性
    要求を受け取とったことに応答して、前記別のタスクの
    エントリを、前記ターゲット・タスクについて定義され
    た類縁性リストに追加する手段と、 ターゲット・タスクの終了を検出したことに応答して、
    前記ターゲット・タスクについて定義された前記類縁性
    リストに含まれる他のそれぞれのタスクに通知する手段
    とを備える装置。
  11. 【請求項11】前記類縁性要求が第1のタイプのもので
    あり、 ターゲット・タスクおよび別のタスクを指定する第2の
    タイプの類縁性要求を受け取ったことに応答して、前記
    ターゲット・タスクについて定義された前記類縁性リス
    トから前記別のタスクのエントリを削除する手段をさら
    に備える請求項10に記載の装置。
  12. 【請求項12】前記追加手段が、 前記ターゲット・タスクについて前記類縁性リストがす
    でに定義されているかどうかを判定する手段と、 前記ターゲット・タスクについて前記類縁性リストがす
    でに定義されている場合に、前記別のタスクのエントリ
    を、前記ターゲット・タスクについて定義された前記類
    縁性リストに追加する手段と、 前記ターゲット・タスクについて前記類縁性リストがま
    だ定義されていない場合に、前記ターゲット・タスクに
    ついて前記類縁性リストを定義し、前記別のタスクのエ
    ントリを、前記ターゲット・タスクについて定義された
    前記類縁性リストに追加する手段とを含む、請求項10
    に記載の装置。
  13. 【請求項13】タスク終了を通知する方法段階を実行す
    るマシン実行可能な命令プログラムを具現化したマシン
    可読のプログラム記憶装置において、前記方法段階が、 1つまたは複数の各ターゲット・タスクごとに、前記タ
    ーゲット・タスクが終了したときに通知を送るべき他の
    タスクの1つまたは複数のエントリを含む類縁性リスト
    を定義する段階と、 ターゲット・タスクおよび別のタスクを指定する類縁性
    要求を受け取とったことに応答して、前記別のタスクの
    エントリを、前記ターゲット・タスクについて定義され
    た前記類縁性リストに追加する段階と、 ターゲット・タスクの終了を検出したことに応答して、
    前記ターゲット・タスクについて定義された前記類縁性
    リストに含まれる他のそれぞれのタスクに通知する段階
    とを含むプログラム記憶装置。
  14. 【請求項14】前記類縁性要求が第1のタイプのもので
    あり、前記方法段階が、 ターゲット・タスクおよび別のタスクを指定する第2の
    タイプの類縁性要求を受け取ったことに応答して、前記
    ターゲット・タスクについて定義された前記類縁性リス
    トから前記別のタスクのエントリを削除する段階をさら
    に含む請求項13に記載のプログラム記憶装置。
  15. 【請求項15】前記追加段階が、 前記ターゲット・タスクについて前記類縁性リストがす
    でに定義されているかどうかを判定する段階と、 前記ターゲット・タスクについて前記類縁性リストがす
    でに定義されている場合に、前記別のタスクのエントリ
    を、前記ターゲット・タスクについて定義された前記類
    縁性リストに追加する段階と、 前記ターゲット・タスクについて前記類縁性リストがま
    だ定義されていない場合に、前記ターゲット・タスクに
    ついて前記類縁性リストを定義し、前記別のタスクのエ
    ントリを、前記ターゲット・タスクについて定義された
    前記類縁性リストに追加する段階とを含む、請求項13
    に記載のプログラム記憶装置。
JP13083199A 1998-05-18 1999-05-12 タスク終了を通知する方法および装置 Expired - Fee Related JP3701816B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/080,504 US6907605B1 (en) 1998-05-18 1998-05-18 Method and apparatus for providing for notification of task termination
US09/080504 1998-05-18

Publications (2)

Publication Number Publication Date
JPH11345131A true JPH11345131A (ja) 1999-12-14
JP3701816B2 JP3701816B2 (ja) 2005-10-05

Family

ID=22157811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13083199A Expired - Fee Related JP3701816B2 (ja) 1998-05-18 1999-05-12 タスク終了を通知する方法および装置

Country Status (4)

Country Link
US (1) US6907605B1 (ja)
EP (1) EP0959406A3 (ja)
JP (1) JP3701816B2 (ja)
KR (1) KR100346667B1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603448B2 (en) * 2000-12-15 2009-10-13 Wind River Systems, Inc. System and method for managing client processes
US6807606B2 (en) 2000-12-18 2004-10-19 International Business Machines Corp. Distributed execution coordination for web caching with dynamic content
US7702800B2 (en) 2000-12-18 2010-04-20 International Business Machines Corporation Detecting and handling affinity breaks in web applications
US6823360B2 (en) 2000-12-18 2004-11-23 International Business Machines Corp. Cofetching in a command cache
US6877025B2 (en) 2000-12-18 2005-04-05 International Business Machines Corp. Integrated JSP and command cache for web applications with dynamic content
US8423674B2 (en) * 2001-06-02 2013-04-16 Ericsson Ab Method and apparatus for process sync restart
GB2395578A (en) * 2002-11-22 2004-05-26 Ibm Fault tracing in systems with virtualization layers
US7823021B2 (en) * 2005-05-26 2010-10-26 United Parcel Service Of America, Inc. Software process monitor
US8332826B2 (en) * 2005-05-26 2012-12-11 United Parcel Service Of America, Inc. Software process monitor
US7558986B2 (en) * 2005-05-26 2009-07-07 United Parcel Service Of America, Inc. Software process monitor
US20120331469A1 (en) * 2011-06-21 2012-12-27 Motorola Mobility, Inc. Gracefully shutting down a computer process
CN104063288B (zh) * 2013-03-22 2016-05-25 腾讯科技(深圳)有限公司 进程管理方法及装置
CN106020958A (zh) * 2016-05-17 2016-10-12 北京金山安全软件有限公司 一种获取文件占用进程的方法、装置及电子设备
US10616317B2 (en) * 2016-11-10 2020-04-07 Trilliant Networks, Inc. Method and system for affinity load balancing

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980824A (en) * 1986-10-29 1990-12-25 United Technologies Corporation Event driven executive
US5060150A (en) * 1987-01-05 1991-10-22 Motorola, Inc. Process creation and termination monitors for use in a distributed message-based operating system
US5390329A (en) 1990-06-11 1995-02-14 Cray Research, Inc. Responding to service requests using minimal system-side context in a multiprocessor environment
US5230051A (en) * 1990-09-04 1993-07-20 Hewlett-Packard Company Distributed messaging system and method
US5249291A (en) * 1990-11-20 1993-09-28 International Business Machines Corporation Method and apparatus for consensual delegation of software command operations in a data processing system
EP0490595B1 (en) * 1990-12-14 1998-05-20 Sun Microsystems, Inc. Method for operating time critical processes in a window system environment
US5305455A (en) * 1990-12-21 1994-04-19 International Business Machines Corp. Per thread exception management for multitasking multithreaded operating system
JP3128898B2 (ja) 1991-11-05 2001-01-29 富士通株式会社 タスク終了処理装置
US5317738A (en) * 1992-02-18 1994-05-31 Ncr Corporation Process affinity scheduling method and apparatus
US5515538A (en) 1992-05-29 1996-05-07 Sun Microsystems, Inc. Apparatus and method for interrupt handling in a multi-threaded operating system kernel
JP2519390B2 (ja) * 1992-09-11 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ通信方法及び装置
EP0592080A2 (en) * 1992-09-24 1994-04-13 International Business Machines Corporation Method and apparatus for interprocess communication in a multicomputer system
US5452459A (en) * 1993-01-08 1995-09-19 Digital Equipment Corporation Method and apparatus for allocating server access in a distributed computing environment
JP3527765B2 (ja) 1993-11-29 2004-05-17 富士通株式会社 プログラムキャッシュ装置
JP2682811B2 (ja) 1994-03-22 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション データ記憶管理システム及び方法
US5801690A (en) * 1995-03-24 1998-09-01 Motorola, Inc. Method for managing termination of a multi-processing software application
CA2146170C (en) * 1995-04-03 2001-04-03 Matthew A. Huras Server detection of client process termination
US5960178A (en) * 1997-08-08 1999-09-28 Bell Communications Research, Inc. Queue system and method for point-to-point message passing having a separate table for storing message state and identifier of processor assigned to process the message

Also Published As

Publication number Publication date
KR19990087928A (ko) 1999-12-27
US6907605B1 (en) 2005-06-14
EP0959406A2 (en) 1999-11-24
KR100346667B1 (ko) 2002-07-31
EP0959406A3 (en) 2008-02-13
JP3701816B2 (ja) 2005-10-05

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
US6745350B1 (en) Automated failure recovery service
US5564051A (en) Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US7127635B2 (en) Method for correcting a program running on a computer system
EP0436559B1 (en) Data processing network
JPH11345131A (ja) タスク終了を通知する方法および装置
JPH086840A (ja) サーバ回復のためのディレクトリ操作の完了を判定する機構
JP2001522086A (ja) 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置
US6990608B2 (en) Method for handling node failures and reloads in a fault tolerant clustered database supporting transaction registration and fault-in logic
US6735716B1 (en) Computerized diagnostics and failure recovery
US7269845B1 (en) Mobile application security system and method
JPH09330240A (ja) 資源排他制御方式
JP2927348B2 (ja) ジョブ管理装置
JPH0766331B2 (ja) プログラム出口の動的非アクティブ化方法および装置
JP3014098B2 (ja) サービス提供プログラム宛先管理機構
JP3003759B2 (ja) ジョブ制御方式
JP3487440B2 (ja) 共有メモリアクセス方式
JPH0895932A (ja) 分散処理システムの系切り替え制御方法
JPH01316846A (ja) バッファ管理方式
JP2992233B2 (ja) プログラム起動管理システム
JPH07253912A (ja) プロセス監視装置
JPH0675892A (ja) 遠隔手続き管理装置
JP3220001B2 (ja) X端末の台数制限システム
JP2904243B2 (ja) ネットワーク管理システムにおける排他制御方式
JPS63233445A (ja) 内部フアイル名のロ−カル付加方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050714

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080722

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100722

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130722

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees