JPH10320220A - 記述子を転送する方法および装置 - Google Patents
記述子を転送する方法および装置Info
- Publication number
- JPH10320220A JPH10320220A JP10068531A JP6853198A JPH10320220A JP H10320220 A JPH10320220 A JP H10320220A JP 10068531 A JP10068531 A JP 10068531A JP 6853198 A JP6853198 A JP 6853198A JP H10320220 A JPH10320220 A JP H10320220A
- Authority
- JP
- Japan
- Prior art keywords
- descriptor
- server
- work
- request
- work 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
を実行しているサーバへソケット接続を転送する方法を
提供する。 【解決手段】 聴取デーモンは、クライアントからの要
求を受け取ると直ちに会話を受け入れ、ソケットを作成
する。次に、聴取デーモンは、作業要求をシステムによ
って管理される作業待ち行列上に置くputwork呼
び出しを実行する。しばらくして、手作業またはオペレ
ーティング・システムによって作成されたサーバ・プロ
セスが複数のスレッドを作成する。これらのスレッド
は、聴取デーモンにより作成された作業要求を取り出す
ため、getworkサービスを呼び出す。getwo
rkサービスはソケットを呼び出し側のプロセスへ転送
し、それが引き継いだファイル記述子をスレッドへ通知
する。したがって、スレッドは通信リンクを提供する中
間プロセスを必要とせず、クライアントの要求を処理し
クライアントへ直接応答することができる。
Description
らに具体的には、ソケット記述子)を第一のサーバ・プ
ロセスから第二のサーバ・プロセスへ(さらに具体的に
は、マルチプロセス、マルチスレッドのクライアント/
サーバ・システム内の複数のサーバ・プロセスの1つで
実行されているスレッドへ)転送することに関する。
タ処理の分野でよく知られている。クライアント/サー
バ・システムでは、クライアント・プロセスがサーバ・
プロセスへ要求を出し、クライアント・プロセスのため
にサービスを実行するように要求する。サーバは、それ
に応答して、クライアントへ返答を送り、サービスの結
果をクライアントへ通知する。
存在しており、開発者は種々の能力をもったサーバ・シ
ステム上でそれらのサーバ・アプリケーションを実行で
きることを望んでいる。これらのサーバ・アプリケーシ
ョンは、それらが実行されるコンピュータの大きさへス
ケールを合わせる必要がある。本発明は、1つのサーバ
に対して同時に要求される何千という作業要求をどのよ
うにサポートするかを問題としている。
ントをサポートするモデルに2つがある。第一のモデル
は、各クライアントのために別個のプロセスすなわちア
ドレス空間をサーバに作成させる(典型的には、for
k()またはspawn()のシステム呼び出しを使用
して)。第二のモデルは、各クライアントのために別個
のスレッドすなわちタスクをサーバに作成させる(たと
えば、pthread_create()システム呼び
出しを使用して)。
は、いくつかの欠点がある。各プロセスの作成は大きな
システム・オーバヘッドを生じる傾向がある。各プロセ
スは、一度作成されると、記憶域のようなシステム資源
をかなり消費する。オペレーティング・プロセスは、一
般的にそれがサポートできるプロセスの数に制限を設け
ている。多くのクライアント/サーバ関係では、クライ
アントが長い時間にわたってアイドル状態になる。この
場合、アドレス空間をクライアントのために結合するこ
とは、受け入れ難い資源の浪費である。プロセス・モデ
ルでは、サーバは典型的にはソケット接続を確立するこ
とによってクライアントへの接続を設定する。ソケット
はソケット記述子によって表され、このソケット記述子
はfork()またはspawn()システム呼び出し
上で子プロセスへ引き継がれる。
は、異なった問題が存在する。単一プロセス内でサポー
トできるスレッドの数は、いくつかの要因によって制限
される。主な制限要因は、1つのスレッドによって消費
される記憶域とスレッド間の直列化である。スレッド・
モデルでは、サーバ内の主なスレッドが、ソケット接続
を確立することによってクライアントへの接続を確立す
る。ソケットはソケット記述子によって表され、このソ
ケット記述子はサーバ・プロセス中のすべてのスレッド
によって共用される。
システムが400のプロセスをサポートし、各プロセス
が最大で200のスレッドをサポートできる場合を考え
る。サーバが4000のクライアントをサポートする必
要があるとき、プロセス・モデルもスレッド・モデルも
十分に機能しない。
複数のプロセス間に分配する必要がある。これらのプロ
セスは最初のサーバの拡張として動作する。どのプロセ
スを論じているかを明確にするために、最初のサーバを
「聴取デーモン(listening daemo
n)」と呼ぶことにする。なぜなら、その仕事はクライ
アントからの接続を聴取することだからである。クライ
アントの作業を実行するプロセスは、単に「サーバ・プ
ロセス」または「サーバ」と呼ぶことにする。
のサーバ(その各々は200のスレッドを実行する)が
あればよい。この構成で、最適のパフォーマンスを得る
ために、サーバの数と各サーバ内のスレッドの数を変動
させることができる。
よびspawn()サービス、および新しいスレッドを
作成するpthread_create()サービス
は、ソケットを表す記述子を含めてファイル記述子を渡
すか共用するメカニズムを提供する。しかし、本発明が
使用される環境のようにクライアントへの接続が確立さ
れる前にサーバ空間が作成されているような場合には、
このようなサービスは役に立たない。したがって、聴取
デーモンが、クライアントの要求が実行されるスレッド
への接続を渡すことができる新しいメカニズムが必要で
ある。
が、その解決方法のパフォーマンスは、ある環境では許
容できないものであった。すなわち、1つの方法では、
聴取デーモンが会話を受け入れ、次に、ある種の作業負
荷平衡アルゴリズムを使用して、クライアントが実際に
どこに接続されるべきかを決定する。この場合、各サー
バは別個のポートを所有していてよい。次に、聴取デー
モンはクライアントへ応答を送り、特定のポートへ再接
続するようにクライアントへ命令し、そのポートによっ
てクライアントは利用可能なサーバを獲得する。
の別個の通信経路(パイプ)を維持する必要がある。聴
取デーモンが接続要求を受け取ったとき、それは選択さ
れたサーバへ情報を渡す必要がある。次に、聴取デーモ
ンはクライアントへの接続を破棄し、その間にサーバは
その接続を再確立する。
ントと実際に作業を実行するサーバとの間に接続を確立
するとき二重のオーバヘッドが発生する。ある種のサー
バでは、サーバは接続本位に構成されているから、この
ようなオーバヘッドは許容される。このことは、接続を
確立するのに必要なオーバヘッドと比較して、サーバが
長時間クライアントへの接続を維持することを意味す
る。しかし、他のクライアント/サーバ・システムはト
ランザクション型モデルを使用する。このモデルでは、
クライアントは、単一要求の間のみ接続を確立する要求
を行う。ワールド・ワイド・ウェブはトランザクション
型モデルの例である。トランザクション型モデルでは、
二重接続のオーバヘッドは、そのトランザションを実行
するオーバヘッドよりも容易に大きくなる可能性があ
る。
ンザクション・モデルを実行しているサーバへソケット
接続を転送する場合、その転送をうまく処理する良い方
法が必要である。
ーモンはクライアントの要求を受け取り、その要求を、
作業負荷マネージャによってサービスされる待ち行列に
置く。作業負荷マネージャは必要に応じて追加のサーバ
を開始する。サーバは、クライアントの作業を実行する
ために複数のスレッドを開始する。サーバ内の各スレッ
ドは作業待ち行列から作業要求を引き出す。作業要求を
待ち行列で待機させ、また待ち行列から解除するために
使用されるサービスは、ソケットを、聴取デーモンから
サーバ内で実行されているスレッドへ転送するメカニズ
ムを提供する。
ドレス空間を管理しなければならない必要性を除き、ま
た作業が開始される前にクライアントへ何回も接続しな
ければならない必要性を除く。トランザクション・モデ
ルでは、この方法は現存する方法と比べて優れたパフォ
ーマンスを提供する。
つかを説明しておくが、これらの用語は標準的といって
もよい技術用語である。
出力(I/O)用にオープンされたファイルまたはその
同等オブジェクトを識別するためにプロセスによって使
用される小さな整数である。一般的に、ある種のファイ
ル記述子は予約されている。たとえば、標準入力につい
ては0であり、標準出力については1であり、標準エラ
ーについては2である。したがって、プロセスによって
オープンされた最初のファイルは3の記述子を割り当て
られ、第二のファイルは4の記述子を割り当てられ、以
下同様である。ファイル記述子はファイル記述子テーブ
ルへのインデックスであり、ファイル記述子テーブル
は、特定のプロセスのために維持され、ファイル・アク
セス情報を含む他のデータ構造(たとえば仮想ノード
(vnode))へのポインタを含む。(本明細書で
は、「ファイル記述子(FD)」とは、そのインデック
スが指し示すテーブル・エントリを示すためにも使用さ
れる)。プロセスがファイルをクローズするとき、その
ファイルへ前に割り当てられた記述子は、次にオープン
されるファイルへ割り当てることができる。ファイル記
述子はプロセスに固有のもので、いくつかのプロセスに
よってオープンされた同一のファイルは、各プロセスの
ために異なった記述子を割り当てられてよい。ファイル
記述子は当技術分野でよく知られているが、その詳細は
1990年のUNIX Network Progra
mming(W.R.Stevens著)の28ページ
に説明されている。
ログラミング構造である。このプログラミング構造は、
第一のプロセスが、通信接続の他の端部にある第二のプ
ロセス(通常は遠隔マシン上にある)と通信することが
できるようにする。各プロセスは、通信接続のその端部
に置かれたソケットと直接に対話することによって他の
プロセスと通信する。プロセスは、ファイルのオープン
に類似した方式でソケットをオープンし、ファイル記述
子(具体的にはソケット記述子)を受け取る。プロセス
はソケット記述子によってソケットを識別する。ソケッ
トも当技術分野で周知の技術であり、前記のUNIX
Network Programmingの258〜3
41ページ、および1992年のModern Ope
rating Systems(A.S.Tanenb
aun著)の292〜293ページに説明されている。
んだクライアント/サーバ・システム100は1つまた
は複数のクライアント102を含み、その各々は通信接
続104を介してサーバ・システム106へ接続されて
いる。通信接続104はTCP/IPのような任意適当
な通信プロトコルによって管理されてよい。サーバ・シ
ステム106は1つまたは複数の聴取デーモン108を
含み、その各々は1つまたは複数のサーバ・プロセス1
16(すなわち、サーバ)によってサービスされる。
02を、クライアントとサーバの端部にあるそれぞれの
ソケット104aおよび104b(プロセスはソケット
記述子を使用してこれらを識別する)を介してサーバ・
システム106中の特定のサーバ・プロセス(聴取デー
モン108またはサーバ・プロセス116)へ結合す
る。(通信接続104とそのソケット104a〜104
bとの間には、一対一の対応関係があるので、「通信接
続」および「ソケット」の用語は相互互換的に使用され
る。)
・システム(OS)カーネル112によって提供される
putwork()サービス122およびgetwor
k()サービス124を介して作業をサーバ・プロセス
116へ分配する。オペレーティング・システム(O
S)カーネル112は、IBM System/390
(商標)(S/390(商標))サーバを含むサーバ・
システム106上で実行されるIBM(商標) OS/
390(商標)オペレーティング・システムのカーネル
部分であってよい。しかし、本発明は特定のハードウェ
アまたはソフトウェアのプラットフォームに限定される
ものではない。オペレーティング・システム(OS)カ
ーネル112は、必要性と導入方針に基づいて追加のサ
ーバ・プロセス116を作成する。各クライアントの要
求は、最終的には、これから説明するようにして聴取デ
ーモン108から作業スレッド118へ転送されるソケ
ット104bおよび通信接続104を介して、サーバ・
プロセス116で実行される作業スレッド118によっ
てサービスされる。サーバ・プロセス116の複数のア
ドレス空間で複数の作業スレッド118を作成する場
合、その作成は、任意適当な手段を使用して制御するこ
とができる。使用される特定の手段は本発明を構成する
ものではない。
ーティング・システム(OS)カーネル112に関連し
たプログラミングである作業負荷マネージャ(WLM)
126を含む。作業負荷マネージャ(WLM)126
は、システム資源マネージャ(図示されていない)と結
合して働き、各種のサービス・クラスへのシステム資源
の割り振りを制御する。作業単位は、サービス・クラス
が所定の目的にどのように合致するかに基づいて、各種
のサービス・クラスへ分類される。作業負荷マネージャ
(WLM)126の動作は本発明を構成するものではな
い。それは米国特許第5,473,773号、1995
年2月3日に出願された米国出願第08/383,16
8号、および前記の米国出願第08/828,440号
に詳細に説明されている。
・プロセス116中で実行されている作業スレッド11
8へソケット104b(したがって、対応する通信接続
104)を転送するために使用される手順に関する。サ
ーバ端部でのこのソケット転送はクライアント102に
対して透明であり、クライアント102のソケット10
4aは通常の方式で動作する。
れるプロシージャ200を示す。まず、聴取デーモン1
08はオペレーティング・システム(OS)カーネル1
12にサーバとして登録する(ステップ202)。同様
なステップがサーバ・プロセス116によって取られる
とき、オペレーティング・システム(OS)カーネル1
12は聴取デーモン108から作業を受け取り、適切な
サーバ・プロセス116へその作業をディスパッチする
ことができる。
ループへ入り、通信接続104(通信ポート)上の入力
を待機する(ステップ204)。聴取デーモン108が
会話を受け取ったとき(ステップ206)、それはソケ
ット104bを表すソケット記述子を受け取る。ソケッ
ト104bはクライアント102との間の将来のすべて
の通信に使用される。OS/390のようなUNIX
(商標)準拠システムでは、ステップ204および20
6は、当技術分野で周知のようにオペレーティング・シ
ステム(OS)カーネル112へのlisten()お
よびaccept()システム呼び出しを介して実行さ
れる。
の要求を表すputwork()パラメータ300(図
3を参照)の集合を作成する(ステップ208)。作業
の要求は、聴取デーモン108がサーバ・プロセス11
6へ渡す必要があるデータ、およびサーバへ転送される
必要があるファイル記述子(ソケット記述子を含む)か
ら構成される。サーバ・プロセス116へ転送する必要
があるファイル記述子は、ソケット104bを表すもの
である場合が多い。
ング・システム(OS)カーネル112のputwor
k()サービス122を呼び出し、それに作業要求を表
すputwork()パラメータ300(図3)を渡す
(ステップ212)。putwork()サービス12
2によって実行される処理ステップは、後に説明する図
4および図5に示されている。
パラメータ処理は、いくつかの点でspawn()と呼
ばれる標準のUNIX関数で実行されるものと類似して
いる。以下に、spawn()の変形を説明する。sp
awn()関数によって、第一のプロセス(たとえば聴
取デーモン)は新しいプロセスを作成することができ、
その新しいプロセスへデータおよび新プロセス用の複製
ファイル記述子が渡される。しかし、spawn()関
数は新しいプロセスを作成するので、オペレーティング
・システム(OS)カーネル112に著しいオーバヘッ
ドが発生する。
ーティング・システム(OS)カーネル112のput
work()サービス122へ渡した後でループバック
し(ステップ214)、クライアント102からの他の
要求を待機する。
業要求を表すために組み立てるputwork()パラ
メータ300を示す。オプション310によって、聴取
デーモン108は、ファイル記述子がサーバ・プロセス
116へ転送された後で、putwork()サービス
122がそのファイル記述子をクローズするように要求
することができる。それによって、聴取デーモン108
が別個の呼び出しを行ってソケット104bをクローズ
するオーバヘッドを避けることができる。次のパラメー
タは分類データ312である。このデータは、作業を処
理する正しいサーバ・プロセス116を指定するために
オペレーティング・システム(OS)カーネル112に
よって使用される。アプリケーション・データ314に
よって、聴取デーモン108は、任意のパラメータを、
サーバ・プロセス116中でクライアントの要求を実行
する作業スレッド118へ渡すことができる。
モン108がサーバ・プロセス116へ転送することを
望む1つまたは複数のファイル記述子318(すなわ
ち、ファイル記述子テーブルへのインデックス)を含
む。前述したように、通信接続104をクライアント1
02へ提供するソケット104bを表すファイル記述子
318がただ1つだけ渡される場合が多い。
08およびサーバ・プロセス116を含むサーバ・シス
テム106上の各プロセスは、当技術分野で知られるよ
うに、それぞれのファイル記述子テーブルを有する。こ
のファイル記述子テーブルは、すべてのオープン・ファ
イルまたは通信接続104を表すソケット104bのよ
うな他のオブジェクトを追跡するために使用される。し
たがって、聴取デーモン108はファイル記述子テーブ
ル402を有する。
レーティング・システム(OS)カーネル112はソケ
ットを表す仮想ノード404を作成する。次に、オペレ
ーティング・システム(OS)カーネル112は、それ
がソケット104bを作成しているプロセスのファイル
記述子テーブル(この場合、ファイル記述子テーブル4
02)を走査し、利用可能なスロットがあるかどうかを
調べる。スロットNがファイル記述子テーブル402中
の最初の利用可能なスロットであると仮定すると、オペ
レーティング・システム(OS)カーネル112は仮想
ノード404を指し示すポインタをスロットNに記憶す
る。(サーバ・プロセス116へ転送されるのは、ファ
イル記述子テーブル402へのインデックスNではな
く、ポインタである。)聴取デーモン108の立場から
すれば、Nによってインデックスされたポインタは(こ
こで、Nはプロセスへ戻されるファイル記述子318で
ある)、ソケット104bを表し、したがってクライア
ント102への通信接続104を表す。クライアント1
02との通信を実行するのに必要な実際の情報は、仮想
ノード404へ記憶される。
中のサーバ・プロセス116は、それ自身のファイル記
述子テーブル420を有する。サーバ・プロセス116
内の作業スレッド118は共通のファイル記述子テーブ
ル420を共用する。なぜなら、プロセス中の1つのス
レッドにオープンされているファイルその他のオブジェ
クトは、すべてのスレッドにオープンされているからで
ある。
work()要求(図2のステップ212)を処理して
いるときの、putwork()サービス122によっ
て実行されるプロシージャ450を示す。
は、聴取デーモン108によって与えられた分類データ
312に基づいて作業要求を分類する(ステップ45
2)。putwork()サービス122は、作業要求
を分類した後、作業要求を表す作業負荷マネージャ(W
LM)エンクレーブ128を作成する。1996年のI
BM出版物「MVS Programming: Wo
rkload Management Service
s,GC28−1773−00」の39〜44ページに
説明されているように、作業負荷マネージャ(WLM)
エンクレーブ128は、資源割り振りのために単一の実
体として管理される資源ユーザ(たとえばスレッドまた
はプロセス)の集合を定義する。これは、作業要求と作
業負荷マネージャ(WLM)エンクレーブ128との間
の作業関係のビジネス単位を確立する。
月17日に出願された米国出願第08/768,038
号に説明されている。
ンクレーブと関連づけるのに使用される特定のデータ構
造、および、作業負荷マネージャ(WLM)126およ
び関連するシステム要素が、単一の「ビジネス作業単
位」として特定の作業負荷マネージャ(WLM)エンク
レーブ128へ関連づけられる作業単位へ資源を割り振
る方法は、本発明を構成するものではない。前記の参考
文献で説明されている各種のデータ構造または割り振り
方法を使用することができる。
は、ユーザ提供のパラメータおよびファイル記述子のコ
ピーを作成して、作業スレッド118が作業要求を得る
とき、それらを利用できるようにする。したがって、図
4を参照すると、putwork()サービス122は
一時的ファイル記述子テーブル406を作成する(ステ
ップ456)。呼び出し側のファイル記述子リスト31
6(図3)内の各ファイル記述子318は、この一時的
ファイル記述子テーブル406内に複写されたファイル
記述子テーブル402内の対応するエントリを有し、し
たがって、それは一時的ファイル記述子テーブル中に対
応するエントリ408を有する。
述子テーブル406中に捕捉された後、聴取デーモンの
ファイル記述子テーブル402は、呼び出し側がそのオ
プション310中で指定していればクローズされる(す
なわち、ファイル記述子テーブル402から削除され
る)(ステップ458)。
ファイル記述子テーブル406に複写された後、put
work()サービス122は作業要求410を作成す
る。この作業要求410は、アプリケーション・データ
412(putwork()パラメータ300からのア
プリケーション・データ314)およびその作業要求の
ための一時的ファイル記述子テーブル408へのポイン
タ413を含む(ステップ460)。次に、この作業要
求410は、分類データ312によって指示される適切
な作業待ち行列414上に置かれる(ステップ46
2)。
プロセス116内で実行されている作業スレッド118
から生じるとき、getwork()サービス124は
他のファイル記述子転送を実行する。まず、getwo
rk()サービス124は、サーバ・プロセス116の
ファイル記述子テーブル420を走査する。一時的ファ
イル記述子テーブル406内の各エントリ408につい
て、新しいエントリ422がサーバ・プロセス116の
ファイル記述子テーブル420内に複写される。このス
テップが完了すると、サーバ・プロセス116(したが
って、その作業スレッド118)は、聴取デーモン10
8が有している同じファイルまたは通信リンク(すなわ
ちソケット)へのアクセスを有する。
6およびその作業スレッド118によって実行される処
理を示す。図6を参照すると、サーバ・プロセス116
が開始されたとき、それは聴取デーモン108と同じよ
うな方法でサーバ登録サービスを呼び出す(ステップ5
02)。これは、要素を付け加える聴取デーモン108
および要素を除去するサーバ・プロセス116へ作業待
ち行列414をバインドするのに必要な情報をオペレー
ティング・システム(OS)カーネル112へ提供す
る。次に、サーバ・プロセス116は、複数の作業スレ
ッド118を作成するために、pthread_cre
ate()システム呼び出しをオペレーティング・シス
テム(OS)カーネル112へ出す(ステップ50
4)。
作成された作業スレッド118によって取られるプロシ
ージャ550を示す。図7を参照すると、作業スレッド
118は、それが作成されると、クライアント102か
ら次の作業要求410を要求するためgetwor
k()サービス124を呼び出す。getwork()
サービス124の動作は図8に示され、後で詳細に説明
される。作業スレッド118はgetwork()サー
ビス124から1つまたは複数のファイル記述子422
(すなわち、仮想ノードへのポインタ)を受け取る。ス
レッドはそれを使用して作業要求410を処理しクライ
アント102へ結果を戻す。
は、作業要求410を取り出した後で、その作業要求が
別個のアプリケーション・プログラム120(図1を参
照)の呼び出しを必要とするかどうかを決定する。作業
スレッド118は、アプリケーション・プログラム12
0を呼び出すために、オペレーティング・システム(O
S)カーネル112のspawn()サービス130を
呼び出す(ステップ554)。spawn()サービス
130の動作は次に説明される。
ッド118は処理された作業要求に関連した任意の必要
な資源をクリーンアップする。このクリーンアップは、
作業要求410に関連したファイル記述子422をファ
イル記述子テーブル420から削除することによってそ
れをクローズすることを含む(ステップ556)。次
に、作業スレッド118は、次のgetwork()呼
び出しを実行するために、ステップ552へ戻る(ステ
ップ558)。
ップ552)によって呼び出されたときの、オペレーテ
ィング・システム(OS)カーネル112(図1)のg
etwork()サービス124によって実行されるプ
ロシージャ600を示す。
られた作業要求410の完了時に作業スレッド118に
よって再び呼び出されたとき、まず作業負荷マネージャ
(WLM)エンクレーブ128と呼び出し側の作業スレ
ッド118との間の関連づけをクリーンアップしようと
する(ステップ602)。前の作業要求410は作業ス
レッド118によって完全に処理されているので、作業
負荷マネージャ(WLM)エンクレーブ128はもはや
関連をもたない。したがって、クリーンアップ処理の一
環として、作業負荷マネージャ(WLM)エンクレーブ
128が削除される。それは、前の作業要求410の終
了をサーバ・システム106へ知らせる。
は、作業待ち行列414から次の作業要求410を取り
出そうとする(ステップ604)。作業が得られなけれ
ば、作業スレッド118は、さらに作業が到着するま
で、当技術分野で周知の方式によって一時停止される。
は、呼び出し側の作業スレッドとその作業負荷マネージ
ャ(WLM)エンクレーブ128との間でビジネス作業
単位関係を確立するために、呼び出し側の作業スレッド
118を含むディスパッチ可能作業単位を、作業要求4
10のために作成された作業負荷マネージャ(WLM)
エンクレーブ128に関連づける(ステップ606)。
の作業要求410を取り出すと、図4および図5に関連
して説明したようにしてファイル記述子を一時的ファイ
ル記述子テーブル406からサーバ・プロセス116の
ファイル記述子テーブル420へ転送する(ステップ6
08)。
的ファイル記述子テーブル406内のファイル記述子が
クローズされ、一時的ファイル記述子テーブル406が
解放される(ステップ610)。
4は、どのファイル記述子422が使用できるかを、
(適切な戻りパラメータを設定することによって)呼び
出し側の作業スレッド118へ通知する(ステップ61
2)。
って取られるプロシージャ700を示す。まず、spa
wn()サービス130は、アプリケーション・プログ
ラム120のインスタンスから構成される新しい子プロ
セス704を作成する(ステップ702)。子プロセス
704は、子作成処理の一部として親の処理属性の多く
を引き継いでいる。
セス704を作成した後に、子プロセスを、spawn
()サービスを呼び出した作業スレッド118の作業負
荷マネージャ(WLM)エンクレーブ128に関連づけ
る(ステップ706)。これは、新しい子プロセス70
4と作業要求410との間のビジネス作業単位関係を確
立する。
は、目標のアプリケーション・プログラムへ制御を転送
する(ステップ708)。目標のアプリケーション・プ
ログラムが終了したとき、それが作業負荷マネージャ
(WLM)エンクレーブ128との間で有する関連づけ
は破棄される。
・マシン上で実行されるソフトウェア(すなわち、プロ
グラム記憶装置に記憶されたマシン読み取り可能な命令
プログラム)として実施されるのが望ましい。特定の実
施例が説明されたが、当業者にとって各種の変更が可能
であることは明らかである。したがって、本発明はUN
IX準拠のシステムを参照して説明されたが、本発明は
そのようなシステムに限定されず、同様の構造が使用さ
れる任意のシステムで実施することができる。
の事項を開示する。 (1)第一のサーバ・プロセスがクライアントから到着
する作業要求を受け取り、該作業要求が第二のサーバ・
プロセスによって実行される作業を指定すると共にそれ
に関連づけられた記述子を有しており、前記第一および
第二のサーバ・プロセスはそれぞれに関連づけられた記
述子テーブルを有しているクライアント/サーバ・シス
テムで前記記述子を前記第一のサーバ・プロセスから前
記第二のサーバ・プロセスへ転送する方法であって、前
記第一のサーバ・プロセスからの要求に応答して、前記
作業要求を到着する作業要求の待ち行列へ追加して前記
作業要求を待ち行列で待機させ、待機させた前記作業要
求に関連する記述子を前記第一の記述子テーブルから待
機させた前記作業要求に関連する一時的記述子テーブル
へ複写するステップと、前記第二のサーバ・プロセスか
らの、作業に対する要求に応答して、前記待ち行列から
作業要求を除去して前記作業要求を待ち行列から解除
し、解除された前記作業要求に関連した記述子を解除さ
れた前記作業要求に関連した一時的記述子テーブルから
前記第二の記述子テーブルへ複写するステップとを含
む、記述子の転送方法。 (2)前記第一のサーバ・プロセスが聴取デーモンであ
る、上記(1)に記載の記述子の転送方法。 (3)前記記述子がソケット記述子である、上記(1)
に記載の記述子の転送方法。 (4)前記待ち行列での待機ステップが、前記記述子を
前記一時的記述子テーブルへ複写した後に前記記述子を
前記第一の記述子テーブルから削除するステップを含
む、上記(1)に記載の記述子の転送方法。 (5)前記待ち行列からの解除ステップが、前記記述子
を前記第二の記述子テーブルへ複写した後に前記記述子
を前記一時的記述子テーブルから削除するステップを含
む、上記(1)に記載の記述子の転送方法。 (6)前記クライアント/サーバ・システムが複数の第
二のサーバ・プロセスを有し、これらのサーバ・プロセ
スの各々がそれに関連づけられた記述子を有している、
上記(1)に記載の記述子の転送方法。 (7)前記第二のサーバ・プロセスが複数の同時に実行
されるスレッドを有し、前記作業に対する要求が前記ス
レッドの1つから発生する、上記(1)に記載の記述子
の転送方法。 (8)前記待ち行列への待機ステップが、前記第一のサ
ーバ・プロセスからのシステム呼び出しに応答してオペ
レーティング・システム・カーネルによって実行され
る、上記(1)に記載の記述子の転送方法。 (9)前記待ち行列からの解除ステップが、前記第二の
サーバ・プロセスからのシステム呼び出しに応答してオ
ペレーティング・システム・カーネルによって実行され
る、上記(1)に記載の記述子の転送方法。 (10)上記(1)に記載の記述子の転送方法を実行す
るためにマシンによって実行可能な命令のプログラムを
記憶した、マシンで読み取り可能なプログラム記憶装
置。 (11)第一のサーバ・プロセスがクライアントから到
着する作業要求を受け取り、前記作業要求が第二のサー
バ・プロセスによって実行される作業を指定すると共に
記述子を関連づけられており、前記第一および第二のサ
ーバ・プロセスがそれぞれに関連づけられた第一および
第二の記述子テーブルを有しているクライアント/サー
バ・システムで前記記述子を前記第一のサーバ・プロセ
スから前記第二のサーバ・プロセスへ転送する装置であ
って、前記第一のサーバ・プロセスからの要求に応答し
て、前記作業要求を到着する作業要求の待ち行列へ追加
して前記作業要求を待ち行列で待機させ、待機させられ
た前記作業要求に関連した記述子を前記第一の記述子テ
ーブルから待機させられた前記作業要求に関連した一時
的記述子テーブルへ複写する待ち行列待機手段と、前記
第二のサーバ・プロセスからの、作業に対する要求に応
答して、前記待ち行列から作業要求を除去して前記作業
要求を待ち行列から解除し、解除された前記作業要求に
関連する記述子を解除された前記作業要求に関連した一
時的記述子テーブルから前記第二の記述子テーブルへ複
写する待ち行列解除手段とを含む、記述子の転送装置。 (12)前記待ち行列待機手段が、前記記述子を前記一
時的記述子テーブルへ複写した後に前記記述子を前記第
一の記述子テーブルから削除する手段を含む、上記(1
1)に記載の記述子の転送装置。 (13)前記待ち行列解除手段が、前記記述子を前記第
二の記述子テーブルへ複写した後に前記記述子を前記一
時的記述子テーブルから削除する手段を含む、上記(1
1)に記載の記述子の転送装置。
ステムのブロック図である。
る。
ーネル呼び出し上へ渡される情報を示す図である。
ブルおよび作業待ち行列を示す図である。
実行されるステップを示す図である。
理ステップを示す図である。
レッドによって実行される処理ステップを示す図であ
る。
実行されるステップを示す図である。
されるステップを示す図である。
ネル 116 サーバ・プロセス 118 作業スレッド 120 アプリケーション・プログラム 122 putwork()サービス 124 getwork()サービス 126 作業負荷マネージャ(WLM) 128 作業負荷マネージャ(WLM)エンクレー
ブ 130 spawn()サービス 200 プロシージャ 300 putwork()パラメータ 310 オプション 312 分類データ 314 アプリケーション・データ 316 ファイル記述子リスト 318 ファイル記述子(FD) 402 ファイル記述子テーブル 403 ポインタ 404 仮想ノード 406 一時的ファイル記述子テーブル 408 エントリ 410 作業要求 412 アプリケーション・データ 413 ポインタ 414 作業待ち行列 420 ファイル記述子テーブル 422 ファイル記述子 450 プロシージャ 550 プロシージャ 600 プロシージャ 700 プロシージャ 704 子プロセス
Claims (13)
- 【請求項1】第一のサーバ・プロセスがクライアントか
ら到着する作業要求を受け取り、該作業要求が第二のサ
ーバ・プロセスによって実行される作業を指定すると共
にそれに関連づけられた記述子を有しており、前記第一
および第二のサーバ・プロセスはそれぞれに関連づけら
れた記述子テーブルを有しているクライアント/サーバ
・システムで前記記述子を前記第一のサーバ・プロセス
から前記第二のサーバ・プロセスへ転送する方法であっ
て、 前記第一のサーバ・プロセスからの要求に応答して、前
記作業要求を到着する作業要求の待ち行列へ追加して前
記作業要求を待ち行列で待機させ、待機させた前記作業
要求に関連する記述子を前記第一の記述子テーブルから
待機させた前記作業要求に関連する一時的記述子テーブ
ルへ複写するステップと、 前記第二のサーバ・プロセスからの、作業に対する要求
に応答して、前記待ち行列から作業要求を除去して前記
作業要求を待ち行列から解除し、解除された前記作業要
求に関連した記述子を解除された前記作業要求に関連し
た一時的記述子テーブルから前記第二の記述子テーブル
へ複写するステップとを含む、 記述子の転送方法。 - 【請求項2】前記第一のサーバ・プロセスが聴取デーモ
ンである、請求項1に記載の記述子の転送方法。 - 【請求項3】前記記述子がソケット記述子である、請求
項1に記載の記述子の転送方法。 - 【請求項4】前記待ち行列での待機ステップが、前記記
述子を前記一時的記述子テーブルへ複写した後に前記記
述子を前記第一の記述子テーブルから削除するステップ
を含む、請求項1に記載の記述子の転送方法。 - 【請求項5】前記待ち行列からの解除ステップが、前記
記述子を前記第二の記述子テーブルへ複写した後に前記
記述子を前記一時的記述子テーブルから削除するステッ
プを含む、請求項1に記載の記述子の転送方法。 - 【請求項6】前記クライアント/サーバ・システムが複
数の第二のサーバ・プロセスを有し、これらのサーバ・
プロセスの各々がそれに関連づけられた記述子を有して
いる、請求項1に記載の記述子の転送方法。 - 【請求項7】前記第二のサーバ・プロセスが複数の同時
に実行されるスレッドを有し、前記作業に対する要求が
前記スレッドの1つから発生する、請求項1に記載の記
述子の転送方法。 - 【請求項8】前記待ち行列への待機ステップが、前記第
一のサーバ・プロセスからのシステム呼び出しに応答し
てオペレーティング・システム・カーネルによって実行
される、請求項1に記載の記述子の転送方法。 - 【請求項9】前記待ち行列からの解除ステップが、前記
第二のサーバ・プロセスからのシステム呼び出しに応答
してオペレーティング・システム・カーネルによって実
行される、請求項1に記載の記述子の転送方法。 - 【請求項10】請求項1に記載の記述子の転送方法を実
行するためにマシンによって実行可能な命令のプログラ
ムを記憶した、マシンで読み取り可能なプログラム記憶
装置。 - 【請求項11】第一のサーバ・プロセスがクライアント
から到着する作業要求を受け取り、前記作業要求が第二
のサーバ・プロセスによって実行される作業を指定する
と共に記述子を関連づけられており、前記第一および第
二のサーバ・プロセスがそれぞれに関連づけられた第一
および第二の記述子テーブルを有しているクライアント
/サーバ・システムで前記記述子を前記第一のサーバ・
プロセスから前記第二のサーバ・プロセスへ転送する装
置であって、 前記第一のサーバ・プロセスからの要求に応答して、前
記作業要求を到着する作業要求の待ち行列へ追加して前
記作業要求を待ち行列で待機させ、待機させられた前記
作業要求に関連した記述子を前記第一の記述子テーブル
から待機させられた前記作業要求に関連した一時的記述
子テーブルへ複写する待ち行列待機手段と、 前記第二のサーバ・プロセスからの、作業に対する要求
に応答して、前記待ち行列から作業要求を除去して前記
作業要求を待ち行列から解除し、解除された前記作業要
求に関連する記述子を解除された前記作業要求に関連し
た一時的記述子テーブルから前記第二の記述子テーブル
へ複写する待ち行列解除手段とを含む、 記述子の転送装置。 - 【請求項12】前記待ち行列待機手段が、前記記述子を
前記一時的記述子テーブルへ複写した後に前記記述子を
前記第一の記述子テーブルから削除する手段を含む、請
求項11に記載の記述子の転送装置。 - 【請求項13】前記待ち行列解除手段が、前記記述子を
前記第二の記述子テーブルへ複写した後に前記記述子を
前記一時的記述子テーブルから削除する手段を含む、請
求項11に記載の記述子の転送装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/825302 | 1997-03-28 | ||
| US08/825,302 US6192389B1 (en) | 1997-03-28 | 1997-03-28 | Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10320220A true JPH10320220A (ja) | 1998-12-04 |
| JP3251902B2 JP3251902B2 (ja) | 2002-01-28 |
Family
ID=25243655
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP06853198A Expired - Lifetime JP3251902B2 (ja) | 1997-03-28 | 1998-03-18 | 記述子を転送する方法および装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6192389B1 (ja) |
| JP (1) | JP3251902B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003530639A (ja) * | 2000-04-08 | 2003-10-14 | サン・マイクロシステムズ・インコーポレイテッド | サーバ・ソケットで受け取ったイベントを扱うための方法および装置 |
| JP2007011650A (ja) * | 2005-06-30 | 2007-01-18 | Ricoh Co Ltd | 情報処理装置、メッセージ管理方法、プログラムおよび記憶媒体 |
| JP2009252107A (ja) * | 2008-04-09 | 2009-10-29 | Sony Corp | 記録装置、ファイルディスクリプタ生成方法、プログラム |
| JP2010154518A (ja) * | 2008-11-25 | 2010-07-08 | Polycom Inc | 同一IPポートを使用するアethanetプリケーションの複数のインスタンス間で、受信したセッションを送信するための方法およびシステム |
| CN111143302A (zh) * | 2019-12-24 | 2020-05-12 | 北京明朝万达科技股份有限公司 | 一种追踪Office文档内容变更的方法及装置 |
Families Citing this family (48)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6675195B1 (en) * | 1997-06-11 | 2004-01-06 | Oracle International Corporation | Method and apparatus for reducing inefficiencies caused by sending multiple commands to a server |
| US6317844B1 (en) * | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
| US6920475B1 (en) * | 1999-04-23 | 2005-07-19 | Oracle International Corporation | Communication architecture for distributed computing environment |
| US6516339B1 (en) | 1999-08-18 | 2003-02-04 | International Business Machines Corporation | High performance client/server editor |
| US6681251B1 (en) * | 1999-11-18 | 2004-01-20 | International Business Machines Corporation | Workload balancing in clustered application servers |
| US6976258B1 (en) * | 1999-11-30 | 2005-12-13 | Ensim Corporation | Providing quality of service guarantees to virtual hosts |
| US6529985B1 (en) | 2000-02-04 | 2003-03-04 | Ensim Corporation | Selective interception of system calls |
| US6711607B1 (en) | 2000-02-04 | 2004-03-23 | Ensim Corporation | Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service |
| US6560613B1 (en) * | 2000-02-08 | 2003-05-06 | Ensim Corporation | Disambiguating file descriptors |
| US6754716B1 (en) | 2000-02-11 | 2004-06-22 | Ensim Corporation | Restricting communication between network devices on a common network |
| US7343421B1 (en) * | 2000-02-14 | 2008-03-11 | Digital Asset Enterprises Llc | Restricting communication of selected processes to a set of specific network addresses |
| US6948003B1 (en) | 2000-03-15 | 2005-09-20 | Ensim Corporation | Enabling a service provider to provide intranet services |
| US6985937B1 (en) | 2000-05-11 | 2006-01-10 | Ensim Corporation | Dynamically modifying the resources of a virtual server |
| US6907421B1 (en) | 2000-05-16 | 2005-06-14 | Ensim Corporation | Regulating file access rates according to file type |
| US7143024B1 (en) * | 2000-07-07 | 2006-11-28 | Ensim Corporation | Associating identifiers with virtual processes |
| US6909691B1 (en) | 2000-08-07 | 2005-06-21 | Ensim Corporation | Fairly partitioning resources while limiting the maximum fair share |
| US6732211B1 (en) | 2000-09-18 | 2004-05-04 | Ensim Corporation | Intercepting I/O multiplexing operations involving cross-domain file descriptor sets |
| US7219354B1 (en) | 2000-12-22 | 2007-05-15 | Ensim Corporation | Virtualizing super-user privileges for multiple virtual processes |
| US6832310B1 (en) | 2001-01-04 | 2004-12-14 | Advanced Micro Devices, Inc. | Manipulating work queue elements via a hardware adapter and software driver |
| JP4087072B2 (ja) * | 2001-01-25 | 2008-05-14 | 株式会社日立製作所 | ストレージシステム及び仮想プライベートボリューム制御方法 |
| US6618736B1 (en) | 2001-03-09 | 2003-09-09 | Ensim Corporation | Template-based creation and archival of file systems |
| US6922727B2 (en) * | 2001-06-26 | 2005-07-26 | International Business Machines Corporation | Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network |
| US6886041B2 (en) * | 2001-10-05 | 2005-04-26 | Bea Systems, Inc. | System for application server messaging with multiple dispatch pools |
| US7003570B2 (en) * | 2001-10-05 | 2006-02-21 | Bea Systems, Inc. | System for integrating java servlets with asynchronous messages |
| US7073181B2 (en) * | 2001-11-13 | 2006-07-04 | International Business Machines Corporation | System and method for sharing secure sockets layer sessions across multiple processes |
| KR100450419B1 (ko) * | 2002-02-18 | 2004-09-30 | 한국전자통신연구원 | 데이터베이스 시스템에서 다중 쓰레드로 동작하는클라이언트 라이브러리 동작방법 |
| US7373647B2 (en) * | 2003-04-30 | 2008-05-13 | International Business Machines Corporation | Method and system for optimizing file table usage |
| US7703101B2 (en) * | 2004-02-13 | 2010-04-20 | International Business Machines Corporation | Autonomic workload classification using predictive assertion for wait queue and thread pool selection |
| US7308083B2 (en) * | 2004-06-30 | 2007-12-11 | Glenayre Electronics, Inc. | Message durability and retrieval in a geographically distributed voice messaging system |
| US7627578B2 (en) * | 2004-09-01 | 2009-12-01 | International Business Machines Corporation | Apparatus, system, and method for file system serialization reinitialization |
| US7490088B2 (en) * | 2004-09-01 | 2009-02-10 | International Business Machines Corporation | Apparatus, system, and method for preserving connection/position data integrity during file server serialization reinitialization |
| US7711721B2 (en) * | 2004-09-01 | 2010-05-04 | International Business Machines Corporation | Apparatus, system, and method for suspending a request during file server serialization reinitialization |
| US20060075109A1 (en) * | 2004-09-28 | 2006-04-06 | Matthew Hartley | Methodology, system and computer readable medium for masking network connection data |
| US8001255B2 (en) * | 2006-01-05 | 2011-08-16 | International Business Machines Corporation | System, method and program to synchronize file transmission in a distributed computer system |
| TWI298129B (en) * | 2006-01-20 | 2008-06-21 | Hon Hai Prec Ind Co Ltd | System and method for processing files distributively |
| US7661115B2 (en) * | 2006-01-30 | 2010-02-09 | International Business Machines Corporation | Method, apparatus and program storage device for preserving locked pages in memory when in user mode |
| US8910165B2 (en) * | 2009-10-14 | 2014-12-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Providing thread specific protection levels |
| US8869160B2 (en) * | 2009-12-24 | 2014-10-21 | International Business Machines Corporation | Goal oriented performance management of workload utilizing accelerators |
| US8856460B2 (en) | 2010-09-15 | 2014-10-07 | Oracle International Corporation | System and method for zero buffer copying in a middleware environment |
| US9086909B2 (en) * | 2011-05-17 | 2015-07-21 | Oracle International Corporation | System and method for supporting work sharing muxing in a cluster |
| US9110917B2 (en) * | 2013-01-11 | 2015-08-18 | Red Hat, Inc. | Creating a file descriptor independent of an open operation |
| US10230675B2 (en) * | 2014-01-23 | 2019-03-12 | Microsoft Technology Licensing, Llc | Deriving atomic communication threads from independently addressable messages |
| US10547580B2 (en) | 2016-10-05 | 2020-01-28 | Microsoft Technology Licensing, Llc | Dynamically re-parenting email messages based on updated conversations |
| CN110532121B (zh) * | 2019-08-20 | 2022-08-26 | 新华三大数据技术有限公司 | 业务模块定位方法及装置 |
| CN112631788B (zh) | 2021-01-06 | 2023-11-28 | 上海哔哩哔哩科技有限公司 | 数据传输方法及数据传输服务器 |
| CN115190149B (zh) * | 2022-07-07 | 2023-04-25 | 中铁第五勘察设计院集团有限公司 | 用于铁路勘察的数据采集方法及系统 |
| CN115562872A (zh) * | 2022-10-28 | 2023-01-03 | 上海赫千电子科技有限公司 | 一种高并发的some/ip协议栈服务器实现方法 |
| JP2024143213A (ja) * | 2023-03-30 | 2024-10-11 | 株式会社デンソー | サーバ装置、マルチスレッド処理方法、マルチスレッド処理プログラム |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5249290A (en) | 1991-02-22 | 1993-09-28 | At&T Bell Laboratories | Method of and apparatus for operating a client/server computer network |
| US5212793A (en) | 1991-09-04 | 1993-05-18 | International Business Machines Corp. | Generic initiators |
| US5504894A (en) | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
| US5619650A (en) * | 1992-12-31 | 1997-04-08 | International Business Machines Corporation | Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message |
| US5437032A (en) | 1993-11-04 | 1995-07-25 | International Business Machines Corporation | Task scheduler for a miltiprocessor system |
| US5473773A (en) | 1994-04-04 | 1995-12-05 | International Business Machines Corporation | Apparatus and method for managing a data processing system workload according to two or more distinct processing goals |
| US5537542A (en) | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
| EP0694837A1 (en) | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Dynamic workload balancing |
| US5721876A (en) * | 1995-03-30 | 1998-02-24 | Bull Hn Information Systems Inc. | Sockets application program mechanism for proprietary based application programs running in an emulation environment |
| US5603029A (en) | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
| US6049820A (en) * | 1996-06-03 | 2000-04-11 | International Business Machines Corporation | Multiplexing of clients and applications among multiple servers |
| US6006266A (en) * | 1996-06-03 | 1999-12-21 | International Business Machines Corporation | Multiplexing of clients and applications among multiple servers |
| US5764889A (en) * | 1996-09-26 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for creating a security environment for a user task in a client/server system |
| KR19980034552A (ko) * | 1996-11-07 | 1998-08-05 | 김광호 | 소켓기능을 이용한 통신시스템의 소켓바인딩 방법 |
-
1997
- 1997-03-28 US US08/825,302 patent/US6192389B1/en not_active Expired - Lifetime
-
1998
- 1998-03-18 JP JP06853198A patent/JP3251902B2/ja not_active Expired - Lifetime
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003530639A (ja) * | 2000-04-08 | 2003-10-14 | サン・マイクロシステムズ・インコーポレイテッド | サーバ・ソケットで受け取ったイベントを扱うための方法および装置 |
| JP2007011650A (ja) * | 2005-06-30 | 2007-01-18 | Ricoh Co Ltd | 情報処理装置、メッセージ管理方法、プログラムおよび記憶媒体 |
| JP2009252107A (ja) * | 2008-04-09 | 2009-10-29 | Sony Corp | 記録装置、ファイルディスクリプタ生成方法、プログラム |
| US8073885B2 (en) | 2008-04-09 | 2011-12-06 | Sony Corporation | Recording apparatus, file descriptor generation method, and program |
| JP2010154518A (ja) * | 2008-11-25 | 2010-07-08 | Polycom Inc | 同一IPポートを使用するアethanetプリケーションの複数のインスタンス間で、受信したセッションを送信するための方法およびシステム |
| US8849972B2 (en) | 2008-11-25 | 2014-09-30 | Polycom, Inc. | Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port |
| US9379984B2 (en) | 2008-11-25 | 2016-06-28 | Polycom, Inc. | Method and system for dispatching received sessions between a pluratlity of instances of an application using the same IP port |
| US9992247B2 (en) | 2008-11-25 | 2018-06-05 | Polycom, Inc. | Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port |
| US10609096B2 (en) | 2008-11-25 | 2020-03-31 | Polycom, Inc. | Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port |
| CN111143302A (zh) * | 2019-12-24 | 2020-05-12 | 北京明朝万达科技股份有限公司 | 一种追踪Office文档内容变更的方法及装置 |
| CN111143302B (zh) * | 2019-12-24 | 2023-06-16 | 北京明朝万达科技股份有限公司 | 一种追踪Office文档内容变更的方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6192389B1 (en) | 2001-02-20 |
| JP3251902B2 (ja) | 2002-01-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3251902B2 (ja) | 記述子を転送する方法および装置 | |
| US6085217A (en) | Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system | |
| US11500670B2 (en) | Computing service with configurable virtualization control levels and accelerated launches | |
| KR102775419B1 (ko) | 크로스-클라우드 동작들을 위한 클라우드 서비스 | |
| CN112416737B (zh) | 一种容器的测试方法、装置、设备和存储介质 | |
| US8589920B2 (en) | Resource allocation | |
| US6915338B1 (en) | System and method providing automatic policy enforcement in a multi-computer service application | |
| CN114363170B (zh) | 容器服务网络配置方法及相关产品 | |
| US7107329B1 (en) | In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption | |
| KR20230125180A (ko) | 클라우드 네이티브 애플리케이션을 위한 동적으로 확장 가능한 애플리케이션 방화벽 배포 | |
| CN109075986B (zh) | 一种网络功能实例的管理方法及相关设备 | |
| US6636900B2 (en) | Method and apparatus for executing distributed objects over a network | |
| JPH087690B2 (ja) | コミット手順におけるエラー・コードおよびエラー記述情報の処理装置および方法 | |
| JPH0793272A (ja) | 資源の同期点管理を実行する装置および方法 | |
| JPH11312153A (ja) | オブジェクト・サ―バ間の作業負荷管理方法および装置 | |
| JPH087691B2 (ja) | コンピュータ・システム及びアプリケーションプログラム実行方法 | |
| JPS63201860A (ja) | ネツトワーク管理システム | |
| JP2004530196A (ja) | 区分処理環境におけるリソース平衡化 | |
| JP2001522113A (ja) | 分散ウェブアプリケーションサーバ | |
| JP2016524760A (ja) | クラウドコンピューティング環境における分散ロック管理 | |
| JP2006519441A (ja) | サーバロードバランシング及びサーバアフィニティのためのシステム及び方法 | |
| JP2003188877A (ja) | 分散ネットワークインフラストラクチャサービスを管理するシステム | |
| JPH0563821B2 (ja) | ||
| JP2002505471A (ja) | 遠隔処理の中断および継続の方法と装置 | |
| EP4319084A1 (en) | Method and apparatus for deploying container service |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071116 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091116 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091116 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111116 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111116 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121116 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121116 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131116 Year of fee payment: 12 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| EXPY | Cancellation because of completion of term |