JPH09319600A - リモート・プロシージャ・コールを実行する方法及びトランザクション・マネージャ - Google Patents
リモート・プロシージャ・コールを実行する方法及びトランザクション・マネージャInfo
- Publication number
- JPH09319600A JPH09319600A JP9049396A JP4939697A JPH09319600A JP H09319600 A JPH09319600 A JP H09319600A JP 9049396 A JP9049396 A JP 9049396A JP 4939697 A JP4939697 A JP 4939697A JP H09319600 A JPH09319600 A JP H09319600A
- Authority
- JP
- Japan
- Prior art keywords
- server
- request
- client
- requests
- connection
- 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; CALCULATING OR 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/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
ント・サーバの開発をサポートするシステム・アーキテ
クチャを提供する。 【解決手段】トランザクション・マネージャは、複数の
クライアントのいずれからのサービス・リクエストもす
べて代行受信し、タスク・リクエストに関係なく接続を
設定し、そして多数のクライアント/サーバ接続におけ
るサービス資源の公平な分配を行うためにそれらリクエ
ストを受信順序で利用可能サーバに割り当てる。望まし
くは、トランザクション・マネージャはいずれのリクエ
ストにも関係なく少なくとも1つのサーバを起動させ、
いずれのサーバにも関係なくサーバ接続のためのすべて
のクライアント・リクエストをトランザクション・マネ
ージャへ送らせ、タスク・リクエストを待ち行列に配置
させ、待ち行列長に基づいて更なるサーバを起動及び停
止させる。
Description
散型データ処理システムに関するものであり、更に詳し
く云えば、分散型データ処理システムのようなプロセッ
サ相互間のサーバ/クライアント接続の改良に関するも
のである。
データ・プロセッサ相互間のコミュニケーションを可能
にするデータ処理システムが、長年の間、知られてき
た。そのようなネットワーク・システムの初期の例は、
一般に、複数の端末のうちの任意のものと、中央データ
記憶機構を維持しそしてそこからの情報の検索を処理す
るホスト・プロセッサとの間のコミュニケーションに関
連していた。しかし、小型のデータ・プロセッサの記憶
能力及び処理能力が増加するにつれて、データ記憶及び
処理は、ネットワークに接続された少なくとも幾つかの
データ・プロセッサ相互間で共用され、大型の中央デー
タ記憶機構を必要としなくするようにネットワークを構
成することが一般的になってきた。データに関する照会
又はリクエスト及び関連のデータ処理を種々のデータ・
プロセッサに指示することが可能になり、それは、ネッ
トワークに接続された或データ・プロセッサが、サーバ
として知られた他のプロセッサのクライアントになるこ
とを可能にするプロトコルの開発を導いた。そのような
リクエストは、データに対するリクエストに限定される
必要はなく、サーバが提供することのできる任意のタイ
プのデータ処理又はサービスを含むものと理解されるべ
きである。そのようなプロトコルによって遂行される基
本的な操作はクライアントとサーバとの間に接続を設定
し、リクエストを処理し、そしてその接続を終了させる
ことである。サーバが処理し得るリクエストは、一般に
は、サービスと呼ばれるソフトウエア・アプリケーショ
ンとしてそのサーバ上に与えられる。
(RPC)と呼ばれるリクエストの処理は大量の時間を
要することがあり、接続を設定する及びその接続を終了
させるという処理時間オーバヘッドを含んでいる。その
両方とも、クライアント/サーバ関係を設定するために
必要なプロトコルによって煩雑なものにされる。サーバ
の実施次第で、接続及び終了を処理するための時間を含
む必要な処理時間の量は、リクエストを行うクライアン
トが待ち状態に置かれて(例えば、そのリクエストがサ
ーバ又は或システム管理装置によって待ち行列に配置さ
れて)そのリクエストの処理を遅らせる可能性を高くす
る。リクエストの処理における如何なるそのような遅延
も、そのネットワークから理論的に得られる経済性に関
係なく、そのシステムの有用性を危うくする。
/サーバ関係の有用性は、潜在的に利用可能なサーバの
数を増加させるために同じプロセッサ上で同時に動作す
る複数の同様のサーバを開発することによって、かなり
の程度改良されている。このプロセスは、同じサービス
を提供する同時実行のアプリケーションがすべて同じで
ある場合を除いて、複数のアプリケーションの同時実行
と同等である。それにもかかわらず、コミュニケーショ
ン・プロトコルは相変わらず複雑であり、恐らくシステ
ムの全体的な機能性にとって制限的なものである。
って開発された広く知られている既知のRPC機構(以
下、サンRPCと呼ぶ)は、長年の間、多くのオペレー
ティング・システム及び及びハードウエア・プラットフ
ォーム上で使用されてきた。サンRPCはプログラミン
グ・ライブラリ及びツールのセットであり、クライアン
ト/サーバ・アプリケーションの開発に関してプログラ
マを援助するものである。しかし、たとえ単一プロセッ
サ上で複数の同時実行のサーバを開発することができて
も、サンRPCは任意のクライアントのリクエストに関
してコンカレント・サーバをサポートしない。例えば、
クライアントが複数の処理すべきリクエストを有すると
いう状況を考察してみよう。サンRPCのような既知の
RPC機構の下では、クライアント及びサーバは、その
サーバへの接続が設定される時に相互に結び付けられ
る。コミュニケーション・リンクを終了及び再設定する
ことなく複数のリクエストがそのサーバによって処理さ
れるけれども、それらのリクエストは同じサーバによっ
て逐次に反復的に処理されなければならない。逆に、単
一のクライアントが複数の利用可能なサーバによる同時
処理という恩恵を得るためには、各サーバが起動時に別
々に登録されそして別々のコミュニケーション・リンク
がそのような各サーバに関して設定されなければならな
いので、各リクエストは特定のサーバに対して別々のコ
ミュニケーション・リンクを設定するというオーバヘッ
ドを持つであろう。新しい各サーバ・プロセスを開始す
るには更なる時間も必要である。従って、クライアント
は、逐次処理を必要とするため、或いは大きな処理オー
バヘッドを被るため、その利用可能なシステムの全能力
を活用することができない。
アントからのリクエストの処理中に(逐次に又は同時
に)リクエストを行うという可能性を加えて、同じ例を
更に考察すると、その更なるリクエストが同時に利用可
能なサーバによって同時に処理されるためには、リクエ
ストされたサービスの登録及びそのサーバから得られる
サービスの登録が別々にそのクライアントに対して行わ
れなければならない。これは、サンRPC機構では、そ
のサーバに存在する、いわゆるポートマッパ( "Por
tmapper" はサン・マイクロシステム社の商標で
ある)によって行われる。少なくとも利用可能なサーバ
のアドレス(例えば、ポート番号)は、コミュニケーシ
ョン・リンクを設定するための操作が開始される前にク
ライアントに供給されなければならないので、別々の登
録は、利用可能なサーバに対するコミュニケーション・
リンクの設定及び終了に関連するオーバヘッドの一因と
なる。
0以上の潜在的クライアントを有する現在のサイズのネ
ットワークにはありそうなように)、リクエストは、1
つのリクエストの完了時に他のコミュニケーション・リ
ンクを終了させる(その終了させられたリンクを前に使
用していたクライアントからの残りのリクエストを待ち
行列に配置させる)か、或いは新しいクライアントから
のリクエストが待ち行列に配置されて利用可能なサーバ
を待っている時、或延長した期間の間待ち状態を生じさ
せる。いずれの場合も、複数のクライアントからのRP
Cが複数のサーバによって公平に或いは適時にサービス
されること及び、任意のクライアントからの接続及び終
了リクエストを含むRPCの任意のシーケンスの処理の
間、そのクライアント及び1つ又複数のサーバが堅く結
ばれたままでいることを保証するための手段は如何なる
既知のRPC機構にも存在しない。例えば、サンRPC
の場合、ポートマッパはそのポートマッパを登録された
如何なるサーバに対するステータス情報又は利用可能度
情報も持たず、潜在的なクライアントに与えられたアド
レス又はポート番号は実質的に無作為なものであり、他
のサーバが利用可能である時の他のクライアントからの
サーバ処理リクエストのアドレス又はポート番号である
こともある。同じ理由で、サンRPCは、処理されるべ
き如何なる特定のサーバのリクエストも順番に与えな
い。リクエスト処理の適時性を改良するための唯一の既
知の可能性ある方法は各リクエストに対して新しいサー
バを作り出すことである。それは、勿論、かなりの処理
オーバヘッドを意味し、サーバ・プロセッサのハードウ
エア容量を簡単に越えさせるかもしれない。
するための既存のプロトコルはかなりの処理オーバヘッ
ドを必要とし、クライアントへのサーバの割当の融通性
を制限し、クライアントに割当て可能なサーバ容量を制
限し、しかも、複数のクライアントからのリクエストの
公平な及び適時の処理を提供することができない。要す
るに、サーバは容易に増大され得るけれども、既知のR
PC機構はそのような増大した数のサーバの処理容量を
十分に活用することができず、それをクライアントに提
供することもできない。稼働サーバのうちの種々なサー
バにコミュニケーションを指示するためのコミュニケー
ション・マネージャの追加のような他の可能性ある方法
も、接続と関連したオーバヘッドを増大させ、接続時に
クライアントとサーバとを堅く結び付け、しかも、更な
るクライアントからのリクエストをコミュニケートする
ためにそれ以上の接続を阻止している間稼働サーバをア
イドルさせておくこともある。
は、1つ又は複数のクライアントのためのコンカレント
・サーバの開発をサポートするシステム・アーキテクチ
ャを提供することにある。
ーバの数を越える複数のクライアントからのリクエスト
の適時且つ公平な処理を提供することにある。
プロトコルとの互換性を維持したネットワーク接続され
たプロセッサ相互間で簡易化したコミュニケーションを
行う装置を提供することにある。
ントとリクエストされたサービスを提供するプロセッサ
との間の接続を設定するプロセスから1つ又は複数のサ
ーバを切り離し、それによって、多数のクライアント/
サーバ接続の維持を可能にすることにある。
び他の目的を達成するために、データ・プロセッサ上で
リモート・プロシージャ・コールを遂行する方法が提供
される。その方法は、リモート・プロシージャ・コール
に関係なくデータ・プロセッサ上でサービスを提供する
サーバを起動するステップ、そのデータ・プロセッサと
更なるデータ・プロセッサとの間の接続を設定するステ
ップ、そのサービスに含まれたタスクに対する少なくと
も1つのリクエストをその接続を介して受け取るステッ
プ、及び受け取った順序で且つ接続の設定に無関係に、
利用可能なサーバをリクエストに割り当てるステップを
含む。
処理ネットワークのためのトランザクション・マネージ
ャが提供される。それは、第1データ・プロセッサにお
いてサービスを提供するサーバを起動するための装置、
サーバに関係なく第1データ・プロセッサと第2データ
・プロセッサとの間の接続を設定するための装置、その
サービスに含まれたタスクに対するリクエストを受領す
るためのインターフェース、及び前記接続を設定するた
めの装置に関係なく受領の順序で利用可能なサーバを前
記タスクに割り当てるための装置を含む。
ャは、稼働サーバを登録するのではなくてポートマッパ
又はクライアントによってトランザクション・マネージ
ャを登録することによって、クライアント・リクエスト
の並行処理をサポートしながら既存のRPC機構との互
換性を得るように動作し、従って、接続を設定するプロ
セスからサーバを切り離し、クライアント接続に関係な
くサーバへのリクエストの割当を可能にする。本発明が
実施されるシステムの融通性及び効率は、管理リクエス
トを処理するための手段及びソケット・ハンドルによる
クライアント・リクエストの表示を通して拡張可能であ
る。
既知のRPC機構を代表すると考えられるサンRPC機
構に従ってシステム・アーキテクチャ10を表現したも
のが示される。サンRPC機構は知られており、しかも
広く使用されているけれども、サンRPC機構及び他の
同様の機構の詳細は本発明の実施にとって重要ではない
ので、図1は本発明の理解を容易にする程度の詳細に限
定された高レベルの概略的表示であると理解して欲し
い。同じ理由で、図1のどの部分も本発明に関する従来
技術であるとは認められない。
イアントとして機能する複数のプロセッサ20をプロセ
ッサ12と相互接続する。プロセッサ12上には、サン
RPC機構及びサービス・アプリケーションが常駐し且
つ稼働している。これに関連して、プロセッサ20のう
ちのどれかが或いはすべてが同じ或いは異なるサービス
のためのサーバとして機能する能力を持つ必要がないこ
と、及び他のサーバが存在する時、プロセッサ12がク
ライアントとして機能し得ることは理解されるべきであ
る。如何なるプロセッサにおいてもサーバの機能を提供
するために必要なことは、常駐のRPC機構及びサービ
ス・アプリケーション、並びにそれらを実行する処理パ
ワーである。
Cサーバ14及びポートマッパ16を設定する。即ち、
そのRPCサーバ及びポートマッパはサンRPC機構の
ようなRPCプロトコルを使用して設定される。これら
の機能的要素は他のRPC機構の同様の機能的要素を表
し、そのRPC機構によって指定された構成に従ってロ
ジック、抵抗器、特定のメモリ・アドレス・ブロック等
によって具体化されるであろう。それらの詳細は本発明
の実施にとって重要ではない。そのような機能的要素
を、特別目的のデータ処理回路及び専用のハードウエア
によって全体的に或いは部分的に与えることが可能であ
る。
れる時、サーバ・リクエストに応答して各サーバのため
の登録サービスを与え且つそのサービスにおいてリクエ
ストされるタスクのデスクリプション及びそれらのタス
クを含むサービスを提供するサーバのアドレス18を維
持するプログラムであることが望ましい。従って、ポー
トマッパ16は、クライアントにルックアップ・サービ
スを、望ましくは、ルックアップ・テーブルの形で提供
することもできる。ポートマッパ16は、ネットワーク
接続を設定するためにクライアントによって使用される
RPCプログラム番号及びバージョンも維持する。
びバージョン番号を使用して一意的に識別される特定の
サービス(例えば、タスクのセット)を遂行するように
ソフトウエア開発者によって作成される。RPCサーバ
が起動される時(従って、クライアントにとって利用可
能になる時)、サーバはポートマッパ14を登録し、し
かる後、クライアント・プロセッサからの接続リクエス
ト及びその後のタスク・リクエストを待つ。
ト1、クライアント2、クライアント3、・・・、クラ
イアントN)は、特定のタスクに対するRPCリクエス
トを、それらを遂行することのできるサーバに送る機能
を持つように、ソフトウエア開発者によって作成され
る。クライアント・アプリケーションはポートマッパ1
6からの接続情報をリクエストし、その情報を使用して
RPCサーバ14に接続をリクエストする。その後、サ
ーバ14によって維持された接続を通してそのサーバに
1つ又は複数のリクエストを行うことが可能である。
はその接続の時に堅く結合され、そしてその接続は1つ
又は複数のリクエストの完了時に解放されるまでそのま
まである。そのサーバが使用中である場合、それ以上の
接続を行うことはできない。(各サーバはポートマッパ
を別々に登録され、しかも接続リクエストは特定のサー
バに対して行われるので、1つのサーバしか考慮される
必要がない。既知のRPC機構の下では、実質的に無作
為な順序で生じるクライアントからのリクエストはその
サーバにおける待機を阻止する。なお、種々のクライア
ントからのリクエストはその順序で処理される)。或待
ち行列化装置又はコミュニケーション割込装置はポート
マッパ・レベルで(例えば、サーバ情報がその受信され
た順序でリクエスティング・クライアントに与えられる
ように接続リクエストを待ち行列化することによって)
コミュニケーション・マネージャの形で与えられるが、
そのような管理がポートマッパの機能ではないことは本
発明の理解にとって重要である。又、前に指摘したよう
に、任意の特定のクライアントからのリクエストはすべ
て、接続が行われたサーバによって反復的に処理されな
ければならない。
バの各々への接続は種々のリクエストをサービスするた
めに行われるけれども、同時に処理されるべき各リクエ
スト又は一連のリクエストに対しては、特定のサーバへ
の個別の接続が必要であろう。しかし、これは、前述の
ように、それらの接続を設定するという更なる処理オー
バヘッド、並びに単一の機械における個別の同じプロセ
スとして十分な数のサーバを呼び出すための大量のプロ
セッサ容量を必要とする。更に、クライアントが複数の
サーバへの複数の接続を設定することを許された場合、
その結果として、それらの各設定はそのクライアントか
らの特定のリクエストのセットと特定のサーバとの堅い
結合を生じさせる。更に、戻された情報と特定のリクエ
スト又はリクエストのセットとを関連付けるための準備
が行われなければならない。更に、クライアントが、い
つでも利用可能であるだけの或いは一連のリクエストの
処理時に利用可能になるだけの多くのサーバ及びプロセ
ッサ容量を確保して他のクライアントに対するサービス
を妨げ或いは不当に待たせるという結果を回避すること
は困難であろう。
を検討することにする。図1におけるように、ネットワ
ーク30及び複数のクライアント20が存在する。ポー
トマッパ16'が前述のように設けられるが、接続を設
定するためにクライアントに与えられるサーバ・アドレ
ス(例えば、ポート番号)はトランザクション・マネー
ジャ(以下では、時々XMANと記される)110のア
ドレスであるという相異がある。
のサービスしか提供されない場合、更に十分に後述する
ように、これは、各クライアントにおいて都合よく記憶
される単なる単一のアドレス(例えば、サービスを提供
するアプリケーションのプログラム番号)であろう。こ
の意味では、ポートマッパ16'の保持は、本質的に
は、既存のサンRPC機構及び他のRPC機構との互換
性を維持するという付随事項である。しかし、そのポー
トマッパはサーバが起動される時にサービスの登録を受
け且つそれを維持するという機能を維持し、しかも、種
々のサービスがネットワークを通して利用可能である時
或いはサービスが中断される時、多少の融通性及び便宜
を与える。これに関して、そのシステムが更なるアドレ
ス18'(例えば、XMAN Bのアドレス)を与える
ことを必要とする2つ以上の異なるサービスを提供し、
本発明のアーキテクチャ(例えば、132、134にお
いて示されるような)を使用することが考えられる。勿
論、サーバ・プロセッサのハードウエア容量次第で、2
つ以上の異なるサービス(潜在的にはそれぞれが複数の
サーバを使用する)がXMAN110を有する同じプロ
セッサにおいて提供されることがある。いずれの場合
も、ポートマッパは、そのリクエストされたタスクに適
した固有のプログラム番号のような種々のアドレスを与
えることができるということが必要なだけである。
ネージャの基本的な要素が示される。再び、これらの要
素はソフトウエアによって開発されることが望ましい
が、ハードウエアで或いはハードウエア及びソフトウエ
アの両方の組合せでも実現可能である。トランザクショ
ン・マネージャ110に対する基本的な構成値を記憶す
るために4つのレジスタ302、304、306及び3
08が設けられる。レジスタ302は、リクエストがな
い場合でも動作しているサーバの最小数を設定し、便宜
上、1にセットされる。レジスタ304は、更なるサー
バを起動する前に許容されている待機リクエストの数を
設定し、便宜上、2にセットされる。レジスタ306
は、プロセッサ12の容量と整合していつも動作するこ
とを許されるサーバの最大数を記憶する。各サーバは、
本質的には、ロードのために一定量の処理オーバヘッド
を要するソフトウエア・アプリケーションであると考え
ると、レジスタ又はカウンタ308はサーバが停止され
る頻度を制御するためのパラメータを含み、例えば、コ
ンピュータ・オーバヘッドの寄与、ユーザの便宜、平均
的リクエスト実行時間等を考慮することに基づいて30
秒にセットされる(現在のネットワーク・アクセス・タ
イムから見て、30秒はユーザにとってわかり易いこと
が多い)。これらのパラメータはすべて自由に構成可能
である。サーバの起動は待ち行列の長さの関数であるこ
とが望ましいけれども、後述のように、複数のサーバを
起動する時にサーバの起動頻度を制御するために、或環
境では、同様のパラメータを有益に使用することも可能
である。
ョンはネットワーク・インターフェース300を通して
トランザクション・マネージャ110に入り及びそこか
ら出る。この説明のために、このネットワーク・インタ
ーフェースは接続リクエストとタスク・リクエストとを
区別できるものと仮定する。一般に、これは、ポートマ
ッパによってクライアントに与えられるポート数に基づ
いて得られ、特に、ポート番号はそのサービスのプログ
ラム番号であるので、本発明に従って特に助長される。
この区別を行う方法に関係なく、接続リクエストが受信
される時、トランザクション・マネージャ110のアド
レス(例えば、サーバ・プロセッサ上で実行されるサー
ビスのプログラム番号)がクライアントに送られるよう
に又は他のオペレーションが遂行されてコミュニケーシ
ョン・リンクを設定するように、ポートマッパ16'に
信号が送られる。図1のアーキテクチャとは違って、サ
ーバ130はこのプロセスには関係ない。
る時、サーバ1がレジスタ302の制御の下で起動され
る。そこで、リクエストが受領される時、それは一時的
にリクエスト待ち行列310に送られる。サーバ1は起
動されており、恐らく利用可能であるので、スイッチ3
12は直ちにそのリクエストをサーバ1に送る。そこで
そのリクエストは処理され、その結果はネットワーク・
インターフェース300を通してクライアントに戻され
る。パフォーマンスの問題としては、ソケット・ハンド
ルとして知られたそのリクエストを表す別名が待ち行列
に入れられ、そしてそのリクエスト自体の蓄積交換を行
うのではなく、処理されるべきリクエストを識別するた
めにサーバに送られることが望ましいことも理解してほ
しい。(タスクを処理することができるサービスのプロ
グラム番号は既に与えられており、トランザクション・
マネージャへの接続はそれによって既に設定されている
ので、トランザクション・マネージャはそのリクエスト
に含まれる情報或いはそのリクエストに関する他の如何
なる詳細も必要としない。本発明の好適な実施例のこの
特徴は、後述するように、いわゆる伝送制御プロトコル
/インターネット・プロトコル(TCPIP)及びオー
プン・ソフトウエア・ファウンデーション/分散コンピ
ューティング環境(OSF/DCE)プロトコルのよう
な他のRPC機構及びシステムへの本発明の適用にとっ
て重要である。)
に、第2のリクエストが同じクライアントから或いは他
のクライアントから受領されるものと仮定する。その第
2のリクエストは、利用可能な他のサーバがないので、
待ち状態にあるリクエスト待ち行列310に入れられ
る。しかし、サーバ1が第1のリクエストを処理し続け
ている間に第3のリクエストが同じクライアントから或
いは他のクライアントから受信される場合、待ち行列の
長さはレジスタ304におけるサーバ起動値に等しくな
り、サーバ2をその後起動する信号がサービス開始/停
止要素316に送られる。従って、サーバ2が利用可能
になる時、第2のリクエストがスイッチ312を通して
それに送られる。スイッチ312は各サーバのステータ
スに応答する。各サーバは、既に起動しているものとす
ると、スイッチ312及びサーバ・マックス・レジスタ
306にレポートする。第1サーバの起動以外はサンR
PC機構におけるように個々のサーバのステータスをポ
ートマッパ16'にレポートする必要はないので、ポー
トマッパは特定のサービスが利用可能であることを知る
ことになる。
トマッパは接続がリクエストされた時にXMANアドレ
スを供給する必要があるだけであり、リクエストに対す
るサーバ割当はXMANによって処理されるであろう。
そこで、第3のリクエストは、先入れ先出しバッファの
形式であることが望ましいリクエスト待ち行列310に
おいて進められるが、サーバ起動値が待ち行列長を越え
ているので、それ以上のサーバはまだ起動されないであ
ろう。第1及び第2のリクエストが完了する前に第4の
リクエストが受領される場合、サーバ3は前述のものと
同じように起動されるであろう。すべてのリクエストの
処理が完了し、その結果がネットワーク・インターフェ
ース300を通して戻される時、そのサーバはリクエス
ト待ち行列から次のリクエスト(例えば、第3のリクエ
スト)を受けるように利用可能になる。
リクエストの付随事項として及び他のリクエストを処理
するためのそのサーバの利用可能度を表すため以外にX
MAN110の如何なる関連もなしに、クライアントに
直接にコミュニケートする。これは、クライアントに直
接に戻された「結果」が一般には接続に対する肯定応答
及び承認、並びに終了に対する肯定応答及び戻りコード
である接続及び終了リクエストに対しても云えることで
ある。リクエスト待ち行列にリクエストがない場合、サ
ーバはアイドルとなるが、レジスタ又はカウンタ308
における値によって設定されたような所定の時間(例え
ば、30秒)が経過してしまうまで停止されない。
ヘッドから見て、サーバの起動においてほぼ同じ時間的
量の遅延、又はレジスタ302において指定された値よ
りも大きいリクエスト待ち行列の長さに依存した遅延を
与えることも適切である。同じ理由で、たとえ、コンカ
レント・サーバ使用のための全容量よりも小さい容量が
得られることをこれが意味しても、レジスタ304にお
ける値を1よりも大きい値にセットすることは適切であ
る。例えば、サーバを起動するために30秒が必要であ
る場合、サービス停止値に関係なくサービス開始値を1
にセットすることによるスループットにおける利得はな
いであろう。サービス開始値を2(又はそれ以上)の値
にセットすること及びサービス停止値を、サーバを起動
するために必要な時間と同じにセットすることによっ
て、リクエスト待ち行列310に残っているリクエスト
は如何なる前のリクエストの完了時にも任意の利用可能
なサーバに直ちに送られるので、処理スループットにお
ける利得が実際に得られる。
ので、クライアントとサーバとの結び付きはないことに
留意すべきである。従って、サーバはクライアント・ア
イデンティティ(結果の宛先を除く)を知らず、そして
XMANは、サンRPC機構の下でクライアント・オペ
レーションと完全に整合した態様でサーバにリクエスト
を送られたRPCクライアントにとっては完全に透明で
ある。
ト又はクライアントのグループからのリクエストも同じ
速度で同時に処理することができ、反復したリクエスト
処理の制約はRPC機構から取り除かれる。同様に、サ
ーバの数が処理されるリクエストの数を越えている場
合、サーバと接続との関連ではなくサーバとリクエスト
との関連がリクエストを待つサーバの数を減少させる。
従って、サーバ・オペレーションに割り当てられるプロ
セッサ12の処理力の部分も最小に保持される。
ストを送ろうとしている接続よりもずっと多くの接続が
設定及び維持可能である。しかし、更に重要なことに、
任意の単一のクライアントからの一連のリクエストの同
時処理は、更なる接続を設定するというオーバヘッドな
しで行われ、同時に、各クライアントに対するサービス
が最適化される。一方、登録の複雑さを少なくしてすべ
てのクライアントにリクエスト処理を適時に公平に与え
るための機構が設けられる。(それは、リクエストされ
たタスクを含むサーバと関連したトランザクション・マ
ネージャの利用可能度だけがポートマッパによって必ず
監視されるためである)。従って、本発明によって得ら
れる価値ある機能は、入力リクエストを種々の稼働サー
バに指示し且つ依然として接続時にクライアント及びサ
ーバの堅い結合により制限される接続マネージャの付加
によって得られるものとは大いに異なり、遥かに包括的
且つ有益である。
ども、本発明の望ましい動作は次の表に示された擬似コ
ードにおいて具体化される。
ための好適なプロシージャが次の表に示された擬似コー
ドにおいて具体化される。
のフローチャートに示されたプロセスを具体化したもの
である。しかし、図4、図5及び図6に示された方法は
望ましい方法を表しているけれども、それは、本発明の
望ましい機能を得る方法の理解を導くことを意図してお
り、以下の説明から、これに関する数多くの変形がある
ことは当業者には明らかである。更に、図示の方法が本
発明及びその機能の理解を導くことに関連して単純化さ
れていること、及びこの図では、その方法をプログラム
する時の相対的な効率或いはその方法を具体化するプロ
グラムの実行に対して、或いは任意の特定のプログラミ
ング言語で書かれたプログラムで具体化される如何なる
変形に対しても考慮が払われていないことに留意すべき
である。例えば、リクエストそのものに代わりにソケッ
ト・ハンドルをリクエスト待ち行列に与えることは処理
効率の関係では望ましいけれども、このようにソケット
・ハンドルを使用することは本発明の改良フィーチャで
あり、本発明の動作容易性にとって不可欠なものではな
く或いは動作原理にとっても重要ではない。この図で
は、図示のすべてのプロセス相互間に多少の遅延が存在
すること、及びリクエストの状態が図示のステップの実
行相互間で変化し得ることも理解されるべきである。図
4乃至図6に関する以下の説明は、上記の擬似コードに
関する付加的な注釈を与えるためのものと考えて欲し
い。
ロセスはXMAN110の初期設定でもって始まる。そ
れは、エラー回復にとって有用であるログ・オペレーシ
ョンの開始を含む必要は全くない。初期の最小数のサー
バの起動は「サーバ最小値」302(図3)に従って始
められるであろう。これらのオペレーションは初期設定
ステップ405に含まれるものと考えられる。この処理
は大量の時間を費やすので、利用可能なサーバの数 "A
VAIL" はゼロにセットされ、そしてこの値は各サー
バ起動オペレーションが終了する時にインクレメントさ
れるであろう。又、待ち行列サイズ "Q SIZE" 又
は長さ変数はゼロにセットされ、ポートマッパ16'、
18'によるXMAN110の登録の実行、及び図5に
関連して後述するサンRPC機構のような既存のRPC
機構との互換性にとって都合のよい他の変数"INIT"
もステップ410においてゼロにセットされる。
15において、潜在的なクライアント又はサーバからの
リクエストを待つ(XMANへの接続は行われてしまっ
たので)。短い期間内に受領されるリクエストの数に基
づくブランチ機能420は、接続の受付に優先順位を与
える順序でリクエストをサービスするために複数の異な
るループを介する処理を制御すること、同様のタイプの
リクエストに対してクライアントとサーバとの間の優先
順位を設定すること、及びリクエストの受付に優先順位
を与え且つリクエストをサーバに割り当てる前にリクエ
スト相互間の順序を設定することに都合がよいと考えら
れる。従って、そのプロセスは、すべての入力リクエス
トがリクエスト待ち行列に入れられてしまった時(リク
エスト=0)だけC2にブランチする。
数がゼロを越えるようにリクエスト変数がインクレメン
トされ、そのリクエストはそれがクライアント・リクエ
スト(例えば、接続、タスク、又は終了のための)であ
るか或いはサーバ・リクエスト(例えば、登録のため
の)であるかを決定するためのテストが行われる。その
リクエストが潜在的クライアントからのものである場
合、第1のリクエストは、ステップ425において検出
されそしてステップ430において実行されるクライア
ント接続のためのものであろう。その場合、ステップ4
35において、リクエストの数がデクレメントされ、そ
してプロセスはステップ420に戻される。そのステッ
プ420は、サーバにリクエストを割り当てるためにC
2にブランチし、或いはサーバの起動又は停止(リクエ
スト=0の場合)或いはリクエストの更なる受付(リク
エスト>0の場合)のような他の処理を行う。
のではない場合、本発明のプロセスは、ステップ440
において、そのリクエストがサーバ起動オペレーション
の部分として発生されるサーバ接続リクエストかどうか
をテストする。それが肯定される場合、ステップ430
において、クライアント接続リクエストと同様にその接
続が受け付けられる。ブランチ・オペレーション425
及び430の順序は実質的に任意である。しかし、サー
バ接続は内部処理容量に影響し、しかも、クライアント
接続リクエストに対する応答は一般には遥かに多くそし
てユーザの便宜に影響するけれども追加のサーバ接続が
サーバへのリクエストの割当て前に受け付けられること
がむしろ重要であるので、クライアント接続の優先順位
の方がわずかに高い。
登録のためのサーバ・リクエストが発生されるであろ
う。そのようなリクエストはステップ445において検
出され、C1へのブランチ及び後述する図5の登録プロ
セスを生じさせる。そうでない場合、ステップ450に
おいて、クライアント・リクエスト(例えば、タスク又
は終了のための)が検出されるであろう。そして、ステ
ップ460において、そのリクエストはリクエスト待ち
行列に入れられ、待ち行列サイズ又は長さ変数がインク
レメントされる。プロセスは、更なる処理のために、A
1及びステップ435によって形成されたループを通し
てステップ420に戻る。
可能であるけれども、そのような能力は、本発明が実施
されるシステムの融通性及び能力を大いに拡張する。管
理リクエストはクライアントからも或いはサーバ・プロ
セッサ内からも受領可能である(例えば、割込又はサー
バ・プロセッサ・ハウスキーピングのために)。他の管
理コマンドが管理インターフェースから与えられてもよ
い。そのインターフェースは、サーバ・プロセッサが使
用しているオペレーティング・システムではないオペレ
ーティング・システムと互換性のあるサービスの開始又
は停止、ネットワークに接続された他のプロセッサにお
けるサーバにサーバ・ステータス又はアカウント/ログ
照会を与えるためのミラーリングのようなクライアント
からの更なるタイプのコマンドの処理を提供する。ブラ
ンチ・オペレーション425、440、445、及び4
50は、それぞれ、クライアント/サーバ関係に対して
何らかの関連のあるタイプのリクエストをすべて検出
し、ステップ450におけるクライアント・リクエスト
の検出の不成功はステップ470において管理リクエス
トを処理するためのブランチを生じさせ、従って、クラ
イアント・リクエストの実際の処理を介するが受付を介
さずに優先順位を与え、そしてその後の処理のために順
序付けを行う。
と、サーバ・リクエストはサーバの起動の最後のステー
ジで、或いはサーバの起動の終了時に発生されることを
上述した。又、XMAN110(個々のサーバではな
い)は、サーバがクライアントにサービスを提供するた
めに動作している時、ポートマッパ16'、18'によっ
て登録されなければならないことも上述した。変数"I
NIT"がゼロにセットされることもXMAN初期設定
プロシージャと関連して上述した。次ぎに、XMANの
登録を図5と関連して説明する。
小値によって指定された数のサーバの1つ)が起動され
そしてクライアント・リクエストをサービスすることが
できる場合、XMAN(サンRPCにおけるような個々
のサーバではない)がポートマッパ16'、18'によっ
て登録される。一旦、XMANがポートマッパによって
登録されると、それ以上の登録は不必要であり、そして
それが行われる場合、それは不明瞭な或いは非効率的な
処理を生じさせることがある。それにも関わらず、特定
のサービスを提供するすべてのサーバが同じアプリケー
ションであることを想起すると、終了時のサーバ起動プ
ロセスは登録のためのリクエストを発生するであろう。
図5の処理は、サーバによる登録を求める初期のリクエ
スト時にXMANの登録を1回だけ行って、その後は、
それ以上のそのようなリクエスト(例えば、リクエスト
待ち行列長に応答して更なるサーバが起動される時に発
生される)を阻止するように働く。これは、次のような
個別のわずかに異なるサーバ・アプリケーション、即
ち、特定の順序で起動されなければならず、個々に記憶
及びアクセスされなければならず、しかも或る期間にわ
たって維持及び更新される時、提供されるサービスの差
を潜在的に含み得るようなアプリケーション、を提供す
るよりもずっと望ましいことである。
はブランチ・オペレーション445において検出され、
図5のC1へのブランチを生じさせる。利用可能なサー
バの数を表す変数(例えば、図3のレジスタ306に維
持される)は、他のサーバが起動され且つ利用可能であ
ることを表すためにインクレメントされる。ステップ5
10において検出されるように、そのサーバ・リクエス
トが登録のためのものである場合、ステップ515にお
いて、"INIT"変数が値を調べられる。INIT=0
である場合、それは1にセットされ、XMANはポート
マッパによって登録される。INITが既に1に等しい
場合、XMANは前に登録されており、図5のプロセス
はA1で終了して図4のステップ435及び420に進
む。サーバ・リクエストがタスクの入力又はエラー回復
割込を制御するためのもののような、起動される時の登
録のためのものではない場合、ステップ510において
A1への同様の終了が与えられる。
も、或いはそれの実施にも必要ないけれども、ステップ
525では、同じブランチ・オペレーション510に応
答して、A1への戻りの前に他のサーバ・リクエストが
任意選択的に処理可能である。例えば、各サーバに対し
てログ及びアカウント機能(前述の管理インターフェー
スによって照会可能であるような)を遂行するために、
或いはサーバ停止パラメータとアイドル時間とを比較す
るためのサーバの最後の使用の時間を捕捉するために、
このブランチ・オペレーションを使用することが非常に
有用であることがわかった。
タスはオペレーション505において利用可能度の表示
によって行われる。いずれにしても、このブランチ・オ
ペレーション510は他の処理(しかし、接続処理では
ない)より上の十分な処理優先順位を与え、クライアン
ト・リクエストを処理する時サーバが満足に動作するこ
と及びクライアント・リクエストをサーバに割り当てる
前にサーバ・ステータスが適時に更新されることを確実
にする。
20に戻ると、本発明によるプロセスは、リクエスト変
数がステップ435においてデクレメントされてゼロに
等しい時、図6のC2にブランチする。ステップ605
において、利用可能なサーバの数 "AVAIL" がゼロ
よりも大きく且つ如何なるリクエストも待ち行列に残っ
ていない場合、ステップ610において、その待ち行列
における次のリクエストは、処理のために及びクライア
ントへのその結果の直接レポートのために、利用可能な
サーバへ送られ、そして利用可能なサーバの数及び待ち
行列長がデクレメントされる。そこで、プロセスはステ
ップ605にループ・バックし、そして、その待ち行列
が空になるまで或いはすべてのサーバがタスクをそれら
に送られてしまうまで反復する。これらの代替方法はス
テップ615及び625において間接的に明らかにされ
る。
N)よりも大きく、従って、利用可能なサーバの数がゼ
ロであるか又は現在XMANを構成するサーバ起動変数
よりも小さい(従って、待ち行列サイズは非ゼロであ
る)ことをブランチ・オペレーション615が決定する
場合、その時XMANを構成するサーバ最大値よりも稼
働しているサーバの数が小さい時、ステップ620にお
いて、他のサーバの起動が開始される。ステップ615
において、時間遅れが望ましい場合、それがこのプロセ
スに課される。(又、サーバ最大変数に対するサーバの
数のテストは、望ましければ、図示のようにステップ6
20においてではなくステップ615において行われて
もよい)。サーバが起動されるか、或いはサーバの数が
サーバ最大値に等しい場合、勿論、ブランチ・オペレー
ション625が、処理を継続するために図4のA0への
ブランチを生じさせる。それ以上のサーバの起動が開始
された場合、この処理は、前述のように、サーバを首尾
よく起動した時に図5にブランチすること、利用可能な
サーバの数をインクレメントすること、そして、新たに
起動したサーバにリクエストを送るために図6のC2に
再びブランチすることを含むであろう。
動変数よりも大きくない場合、サーバはアイドルするか
或いは更なるクライアント・リクエストが受領されない
場合には間もなくそうなるであろう。更なるクライアン
ト・リクエストが実際に受領される場合、それらは、接
続を受け付けること、サーバ・リクエストを処理するこ
と又はクライアント・リクエストを待ち行列に配置する
こと、前述のように1つ又は複数のサーバの起動を生じ
させることによって順当に処理される。さもなければ、
待ち行列が空になり、タスクが終了してサーバをアイド
ルする時、各サーバはアイドル時間の間ポールされるで
あろう。その値がサーバ停止変数を超える場合、ステッ
プ630において、サーバ・プロセッサ12' における
利用可能な処理容量を最大にするためにサーバは停止
し、そして図6のプロセスは更なるリクエストを待つた
めに図4のA0に進む。
係を設定するサンRPC機構のようなRPC機構の詳細
とは全く無関係であることは、前述の説明からも明らか
である。更に詳しく云えば、その方法は接続を設定する
方法とは全く無関係であり、RPC機構において与えら
れる接続を設定するための如何なる機構も前述の方法と
ほとんど同じ方法で適応可能である。必要とされること
は、潜在的なクライアントからのサービスを求めるリク
エストに応答して特定のサーバ・アドレスではなくXM
ANアドレスをポートマッパから戻すと云うような、X
MANに対応するサービスが提供し得るリクエストされ
たタスクと関連してXMANアドレス(図5に示され且
つ上記の擬似コードに含まれたプロセス・サーバ・リク
エスト・ルーチンによってポートマッパ16'、18'に
与えられる)を提供することである。更に、接続プロセ
スを特定のサーバから切り離すことは、リクエストが待
ち行列化されること及びサーバがリクエストされたタス
クに、リクエストが受領された順序で割り当てられるこ
とを可能にする。その結果、適時のサービス及びクライ
アント相互間の非常に公平なサービスの割当が生じ、一
方、更に多くのクライアント接続を維持することが更に
可能になる。
サーバから切り離され(例えば、ステップ425、44
0、445、及び450(ステップ450乃至A1)に
おけるループによって)、そして、すべてのコミュニケ
ーション・プロトコル、異なるオペレーティング・シス
テムの適応、ログ・サービス、承認ファイル、管理イン
ターフェース、及びクライアントとサーバとの間の他の
互換性の問題は設定された接続を介したネットワーク・
コミュニケーションの発生事象として既知の方法で適応
可能である。従って、サーバはこれらの問題のいずれに
も適応する必要がなく、従って、本発明は如何なるオペ
レーティング・システム及びコミュニケーション装置に
も適用可能にされる。前述の説明から見て、本発明は、
すべてのリクエスティング・クライアントに対する適時
のサービス及び公平な資源の割当を提供しながら、コミ
ュニケーション・オーバヘッドを増大させることなくコ
ンカレント・サーバに対するサポートを単一のクライア
ントに提供することがわかる。更に、いつでも維持可能
なクライアント/サーバ接続の数はずっと増加し、設置
可能なサーバの数によって制限されない。クライアント
からの現在リクエストされたタスクすべての終了時に接
続を破棄し、他のリクエストの依頼で接続を再設定する
必要性及び処理オーバヘッドは減少する。
したけれども、本発明がその精神及び技術範囲内で修正
することによっても実施し得るものであることは当業者
が認めるところであろう。
の事項を開示する。
プロシージャ・コールを実行する方法にして、リモート
・プロシージャ・コールに関係なく前記データ・プロセ
ッサ上でサービスを提供するサーバを起動するステップ
と、前記データ・プロセッサと更なるデータ・プロセッ
サとの間に接続を設定するステップと、前記サービスに
含まれるタスクに対する少なくとも1つのリクエストを
前記接続を介して受領するステップと、前記接続を設定
するステップに関係なく、利用可能なサーバを前記少な
くとも1つのリクエストに受領の順序で割り当てるステ
ップと、を含む方法。 (2)サーバの割当を待っているリクエストの数が構成
値を越える時、前記データ・プロセッサにおけるもう1
つのサーバを起動するステップを含むことを特徴とする
上記(1)に記載の方法。 (3)前記データ・プロセッサにおけるアイドル・サー
バを一定量の時間遅れ後に停止するステップを含むこと
を特徴とする上記(2)に記載の方法。 (4)前記時間遅れはサーバを起動するために必要な時
間の量に従ってセットされることを特徴とする上記
(3)に記載の方法。 (5)リクエストの表示を待ち行列に配置するステップ
を含むことを特徴とする上記(2)に記載の方法。 (6)前記リクエストの表示はソケット・ハンドルであ
ることを特徴とする上記(5)に記載の方法。 (7)リクエストを待ち行列に配置するステップを含む
ことを特徴とする上記(2)に記載の方法。 (8)サーバ・トランザクションをログするステップを
含むことを特徴とする上記(1)に記載の方法。 (9)サーバによるクライアント・リクエストの処理の
完了をタイム・スタンプするステップを含むことを特徴
とする上記(1)に記載の方法。 (10)管理コマンドを処理するステップを含むことを
特徴とする上記(1)に記載の方法。 (11)第1プロセッサ上でサービスを提供するサーバ
を起動するための手段と、前記サーバに無関係に第2デ
ータ・プロセッサと前記第1データ・プロセッサとの間
に接続を設定するための手段と、前記サービスに含まれ
たタスクに対する少なくとも1つのリクエストを受領す
るための手段と、前記接続を設定するための手段に関係
なく、利用可能なサーバを前記タスクに受領の順序で割
り当てるための手段と、を含むデータ処理ネットワーク
のためのトランザクション・マネージャ。 (12)サーバの割当を待っているリクエストの数が構
成値を越える時、前記データ・プロセッサにおける更な
るサーバを起動するための手段を含むことを特徴とする
上記(11)に記載のトランザクション・マネージャ。 (13)前記データ・プロセッサにおけるアイドル・サ
ーバを一定量の時間遅れ後に停止するための手段を含む
ことを特徴とする上記(12)に記載のトランザクショ
ン・マネージャ。 (14)前記時間遅れは構成可能パラメータを記憶する
ための手段を含むことを特徴とする上記(13)に記載
のトランザクション・マネージャ。 (15)前記構成可能なパラメータはサーバを起動する
ために必要な時間の量に従ってセットされることを特徴
とする上記(14)に記載のトランザクション・マネー
ジャ。
略図である。
表す高レベルの概略図である。
しい形式の概略的ブロック図である。
ートである。
ートである。
ートである。
Claims (15)
- 【請求項1】データ・プロセッサ上でリモート・プロシ
ージャ・コールを実行する方法にして、 リモート・プロシージャ・コールに関係なく前記データ
・プロセッサ上でサービスを提供するサーバを起動する
ステップと、 前記データ・プロセッサと更なるデータ・プロセッサと
の間に接続を設定するステップと、 前記サービスに含まれるタスクに対する少なくとも1つ
のリクエストを前記接続を介して受領するステップと、 前記接続を設定するステップに関係なく、利用可能なサ
ーバを前記少なくとも1つのリクエストに受領の順序で
割り当てるステップと、 を含む方法。 - 【請求項2】サーバの割当を待っているリクエストの数
が構成値を越える時、前記データ・プロセッサにおける
もう1つのサーバを起動するステップを含むことを特徴
とする請求項1に記載の方法。 - 【請求項3】前記データ・プロセッサにおけるアイドル
・サーバを一定量の時間遅れ後に停止するステップを含
むことを特徴とする請求項2に記載の方法。 - 【請求項4】前記時間遅れはサーバを起動するために必
要な時間の量に従ってセットされることを特徴とする請
求項3に記載の方法。 - 【請求項5】リクエストの表示を待ち行列に配置するス
テップを含むことを特徴とする請求項2に記載の方法。 - 【請求項6】前記リクエストの表示はソケット・ハンド
ルであることを特徴とする請求項5に記載の方法。 - 【請求項7】リクエストを待ち行列に配置するステップ
を含むことを特徴とする請求項2に記載の方法。 - 【請求項8】サーバ・トランザクションをログするステ
ップを含むことを特徴とする請求項1に記載の方法。 - 【請求項9】サーバによるクライアント・リクエストの
処理の完了をタイム・スタンプするステップを含むこと
を特徴とする請求項1に記載の方法。 - 【請求項10】管理コマンドを処理するステップを含む
ことを特徴とする請求項1に記載の方法。 - 【請求項11】第1プロセッサ上でサービスを提供する
サーバを起動するための手段と、 前記サーバに無関係に第2データ・プロセッサと前記第
1データ・プロセッサとの間に接続を設定するための手
段と、 前記サービスに含まれたタスクに対する少なくとも1つ
のリクエストを受領するための手段と、 前記接続を設定するための手段に関係なく、利用可能な
サーバを前記タスクに受領の順序で割り当てるための手
段と、 を含むデータ処理ネットワークのためのトランザクショ
ン・マネージャ。 - 【請求項12】サーバの割当を待っているリクエストの
数が構成値を越える時、前記データ・プロセッサにおけ
る更なるサーバを起動するための手段を含むことを特徴
とする請求項11に記載のトランザクション・マネージ
ャ。 - 【請求項13】前記データ・プロセッサにおけるアイド
ル・サーバを一定量の時間遅れ後に停止するための手段
を含むことを特徴とする請求項12に記載のトランザク
ション・マネージャ。 - 【請求項14】前記時間遅れは構成可能パラメータを記
憶するための手段を含むことを特徴とする請求項13に
記載のトランザクション・マネージャ。 - 【請求項15】前記構成可能なパラメータはサーバを起
動するために必要な時間の量に従ってセットされること
を特徴とする請求項14に記載のトランザクション・マ
ネージャ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/610,943 US5761507A (en) | 1996-03-05 | 1996-03-05 | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US08/610943 | 1996-03-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09319600A true JPH09319600A (ja) | 1997-12-12 |
JP3364575B2 JP3364575B2 (ja) | 2003-01-08 |
Family
ID=24447022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04939697A Expired - Lifetime JP3364575B2 (ja) | 1996-03-05 | 1997-03-04 | リモート・プロシージャ・コールを実行する方法及びトランザクション・マネージャ |
Country Status (5)
Country | Link |
---|---|
US (1) | US5761507A (ja) |
EP (1) | EP0794491B1 (ja) |
JP (1) | JP3364575B2 (ja) |
KR (1) | KR100237984B1 (ja) |
DE (1) | DE69728601T2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10334064A (ja) * | 1997-05-27 | 1998-12-18 | Shikoku Nippon Denki Software Kk | 負荷分散方式 |
JP2002091937A (ja) * | 2000-07-27 | 2002-03-29 | Hewlett Packard Co <Hp> | スペアサーバを自動でアクティブにするサーバ |
KR100403659B1 (ko) * | 1998-01-16 | 2003-10-30 | 인터내셔널 비지네스 머신즈 코포레이션 | 서버 프로세스 장치 및 서버 프로세스 방법 및 컴퓨터 판독가능한 기록 매체 |
JP2004505372A (ja) * | 2000-07-27 | 2004-02-19 | ビーイーエイ システムズ, インコーポレイテッド | リクエストの集中及びロードバランシングのためのシステム及び方法 |
JP2008090578A (ja) * | 2006-10-02 | 2008-04-17 | Seiko Epson Corp | アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム |
Families Citing this family (241)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088515A (en) | 1995-11-13 | 2000-07-11 | Citrix Systems Inc | Method and apparatus for making a hypermedium interactive |
US6437803B1 (en) | 1998-05-29 | 2002-08-20 | Citrix Systems, Inc. | System and method for combining local and remote windows into a single desktop environment |
US6370552B1 (en) | 1997-05-14 | 2002-04-09 | Citrix Systems, Inc. | Apparatus and method for displaying application output in an HTML document |
US6950991B2 (en) * | 1995-11-13 | 2005-09-27 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
US7555529B2 (en) | 1995-11-13 | 2009-06-30 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
US6128657A (en) * | 1996-02-14 | 2000-10-03 | Fujitsu Limited | Load sharing system |
US6185611B1 (en) * | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6466947B2 (en) * | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6138238A (en) | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
US6006266A (en) * | 1996-06-03 | 1999-12-21 | International Business Machines Corporation | Multiplexing of clients and applications among multiple servers |
US5864669A (en) * | 1996-07-11 | 1999-01-26 | Microsoft Corporation | Method and system for accessing a particular instantiation of a server process |
US6073177A (en) * | 1997-08-05 | 2000-06-06 | Sterling Software, Inc. | Dynamic method for connecting a client to a server application |
US7181525B1 (en) | 1996-08-05 | 2007-02-20 | Computer Associates Think, Inc. | Dynamic method for connecting a client to a server application |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US5946498A (en) * | 1996-11-12 | 1999-08-31 | International Business Machines Corporation | Delivery of client remote procedure calls to a server via a request queue utilizing priority and time-out |
US8225003B2 (en) | 1996-11-29 | 2012-07-17 | Ellis Iii Frampton E | Computers and microchips with a portion protected by an internal hardware firewall |
US6725250B1 (en) * | 1996-11-29 | 2004-04-20 | Ellis, Iii Frampton E. | Global network computers |
US7926097B2 (en) * | 1996-11-29 | 2011-04-12 | Ellis Iii Frampton E | Computer or microchip protected from the internet by internal hardware |
US7805756B2 (en) | 1996-11-29 | 2010-09-28 | Frampton E Ellis | Microchips with inner firewalls, faraday cages, and/or photovoltaic cells |
US7024449B1 (en) * | 1996-11-29 | 2006-04-04 | Ellis Iii Frampton E | Global network computers |
US7634529B2 (en) * | 1996-11-29 | 2009-12-15 | Ellis Iii Frampton E | Personal and server computers having microchips with multiple processing units and internal firewalls |
US7506020B2 (en) | 1996-11-29 | 2009-03-17 | Frampton E Ellis | Global network computers |
US6167428A (en) * | 1996-11-29 | 2000-12-26 | Ellis; Frampton E. | Personal computer microprocessor firewalls for internet distributed processing |
US20050180095A1 (en) | 1996-11-29 | 2005-08-18 | Ellis Frampton E. | Global network computers |
US8312529B2 (en) | 1996-11-29 | 2012-11-13 | Ellis Frampton E | Global network computers |
US7035906B1 (en) | 1996-11-29 | 2006-04-25 | Ellis Iii Frampton E | Global network computers |
US6732141B2 (en) | 1996-11-29 | 2004-05-04 | Frampton Erroll Ellis | Commercial distributed processing by personal computers over the internet |
GB2320112B (en) * | 1996-12-07 | 2001-07-25 | Ibm | High-availability computer server system |
US6710786B1 (en) | 1997-02-03 | 2004-03-23 | Oracle International Corporation | Method and apparatus for incorporating state information into a URL |
US6845505B1 (en) * | 1997-02-03 | 2005-01-18 | Oracle International Corporation | Web request broker controlling multiple processes |
US6026404A (en) * | 1997-02-03 | 2000-02-15 | Oracle Corporation | Method and system for executing and operation in a distributed environment |
US6067580A (en) * | 1997-03-11 | 2000-05-23 | International Business Machines Corporation | Integrating distributed computing environment remote procedure calls with an advisory work load manager |
CA2202572C (en) * | 1997-04-14 | 2004-02-10 | Ka Lun Eddie Law | A scaleable web server and method of efficiently managing multiple servers |
US5964832A (en) * | 1997-04-18 | 1999-10-12 | Intel Corporation | Using networked remote computers to execute computer processing tasks at a predetermined time |
US6098067A (en) * | 1997-05-02 | 2000-08-01 | Kabushiki Kaisha Toshiba | Remote computer management system |
US5961586A (en) * | 1997-05-14 | 1999-10-05 | Citrix Systems, Inc. | System and method for remotely executing an interpretive language application |
US6157944A (en) * | 1997-05-14 | 2000-12-05 | Citrix Systems, Inc. | System and method for replicating a client/server data exchange to additional client notes connecting to the server |
US5941949A (en) * | 1997-05-14 | 1999-08-24 | Citrix Systems, Inc. | System and method for transmitting data from a server application to more than one client node |
US6411805B1 (en) | 1997-06-05 | 2002-06-25 | Mci Communications Corporation | System and method for a network-based call continuation service |
US6243751B1 (en) * | 1997-06-11 | 2001-06-05 | Oracle Corporation | Method and apparatus for coupling clients to servers |
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 |
US6088728A (en) * | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
JPH1157215A (ja) * | 1997-08-20 | 1999-03-02 | Fuji Xerox Co Ltd | ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲームクライアント装置、対局者選定プログラムを記録した媒体及び対局者情報取得プログラムを記録した媒体 |
US6253253B1 (en) * | 1997-08-25 | 2001-06-26 | International Business Machines Corporation | Method and apparatus for optimizing references to objects in a data processing system |
US6360279B1 (en) * | 1997-10-14 | 2002-03-19 | Bea Systems, Inc. | True parallel client server system and method |
GB2330923A (en) * | 1997-10-28 | 1999-05-05 | Ibm | Transaction manager |
US6334114B1 (en) | 1997-10-31 | 2001-12-25 | Oracle Corporation | Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm |
US6493447B1 (en) * | 1997-11-21 | 2002-12-10 | Mci Communications Corporation | Contact server for call center for syncronizing simultaneous telephone calls and TCP/IP communications |
US6360262B1 (en) * | 1997-11-24 | 2002-03-19 | International Business Machines Corporation | Mapping web server objects to TCP/IP ports |
US6324584B1 (en) * | 1997-11-26 | 2001-11-27 | International Business Machines Corp. | Method for intelligent internet router and system |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US8060613B2 (en) | 1998-02-10 | 2011-11-15 | Level 3 Communications, Llc | Resource invalidation in a content delivery network |
US7054935B2 (en) * | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
GB2334353B (en) * | 1998-02-12 | 2002-08-07 | Ibm | An apparatus,method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction stat |
WO1999044296A2 (en) | 1998-02-26 | 1999-09-02 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
CN1298503A (zh) * | 1998-02-26 | 2001-06-06 | 太阳微系统公司 | 分布式系统中的动态查找服务 |
US6272546B1 (en) | 1998-03-12 | 2001-08-07 | Sony Corporation | Method of and apparatus for managing resource allocation and bandwidth overflow in a cooperative, distributed computing environment |
US20020046228A1 (en) * | 1998-03-20 | 2002-04-18 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6205498B1 (en) | 1998-04-01 | 2001-03-20 | Microsoft Corporation | Method and system for message transfer session management |
US6446206B1 (en) | 1998-04-01 | 2002-09-03 | Microsoft Corporation | Method and system for access control of a message queue |
US6529932B1 (en) | 1998-04-01 | 2003-03-04 | Microsoft Corporation | Method and system for distributed transaction processing with asynchronous message delivery |
GB2336449A (en) * | 1998-04-14 | 1999-10-20 | Ibm | A server selection method in an asynchronous client-server computer system |
DE19822543A1 (de) * | 1998-05-20 | 1999-11-25 | Alcatel Sa | Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium |
US6813777B1 (en) * | 1998-05-26 | 2004-11-02 | Rockwell Collins | Transaction dispatcher for a passenger entertainment system, method and article of manufacture |
US6279001B1 (en) | 1998-05-29 | 2001-08-21 | Webspective Software, Inc. | Web service |
US7581006B1 (en) | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
US7143193B1 (en) | 1998-05-29 | 2006-11-28 | Yahoo! Inc. | Content collection |
US6976093B2 (en) | 1998-05-29 | 2005-12-13 | Yahoo! Inc. | Web server content replication |
US6317786B1 (en) | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
US6314463B1 (en) * | 1998-05-29 | 2001-11-06 | Webspective Software, Inc. | Method and system for measuring queue length and delay |
US7035943B2 (en) | 1998-05-29 | 2006-04-25 | Yahoo! Inc. | Web server content replication |
US6636900B2 (en) * | 1998-06-29 | 2003-10-21 | Sun Microsystems, Inc. | Method and apparatus for executing distributed objects over a network |
US6275912B1 (en) | 1998-06-30 | 2001-08-14 | Microsoft Corporation | Method and system for storing data items to a storage device |
US6202089B1 (en) * | 1998-06-30 | 2001-03-13 | Microsoft Corporation | Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process |
US6848108B1 (en) * | 1998-06-30 | 2005-01-25 | Microsoft Corporation | Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network |
US6256634B1 (en) | 1998-06-30 | 2001-07-03 | Microsoft Corporation | Method and system for purging tombstones for deleted data items in a replicated database |
US6108703A (en) | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6370583B1 (en) * | 1998-08-17 | 2002-04-09 | Compaq Information Technologies Group, L.P. | Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image |
US6119160A (en) * | 1998-10-13 | 2000-09-12 | Cisco Technology, Inc. | Multiple-level internet protocol accounting |
US6311205B1 (en) * | 1998-10-19 | 2001-10-30 | International Business Machines Corporation | Persistent user groups on servers managed by central servers |
US6195682B1 (en) | 1998-10-27 | 2001-02-27 | International Business Machines Corporation | Concurrent server and method of operation having client-server affinity using exchanged client and server keys |
US7107591B1 (en) * | 1998-11-05 | 2006-09-12 | Hewlett-Packard Development Company, L.P. | Task-specific flexible binding in a software system |
JP3223355B2 (ja) * | 1998-11-12 | 2001-10-29 | 株式会社エヌ・ティ・ティ・ドコモ | 通信制御方法、通信制御装置、記録媒体およびデータ端末 |
US9239763B2 (en) | 2012-09-28 | 2016-01-19 | Oracle International Corporation | Container database |
US7075895B1 (en) * | 1998-12-04 | 2006-07-11 | Sun Microsystems, Inc. | System and method for facilitating discovery of network addresses and selected charateristics of computer systems and the like which are connected in digital data networks |
US6928469B1 (en) * | 1998-12-29 | 2005-08-09 | Citrix Systems, Inc. | Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques |
DE60040846D1 (de) * | 1999-02-26 | 2009-01-02 | Henry Haugland | Massenerzeugung individualer virtueller servern, vertueller webseiten sowie virtueller webobjekten |
US6920475B1 (en) * | 1999-04-23 | 2005-07-19 | Oracle International Corporation | Communication architecture for distributed computing environment |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6427196B1 (en) * | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US7191309B1 (en) | 1999-09-01 | 2007-03-13 | Intel Corporation | Double shift instruction for micro engine used in multithreaded parallel processor architecture |
WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
US6754714B1 (en) | 1999-10-05 | 2004-06-22 | Cisco Technology, Inc. | Multilink point-to-point protocol network access server channel allocation method and apparatus |
US6874028B1 (en) * | 1999-10-25 | 2005-03-29 | Microsoft Corporation | System and method for unified registration information collection |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
US6928477B1 (en) * | 1999-11-18 | 2005-08-09 | International Business Machines Corporation | Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer |
US6718330B1 (en) | 1999-12-16 | 2004-04-06 | Ncr Corporation | Predictive internet automatic work distributor (Pre-IAWD) and proactive internet automatic work distributor (Pro-IAWD) |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6631430B1 (en) * | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US6307789B1 (en) * | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US7620702B1 (en) | 1999-12-28 | 2009-11-17 | Intel Corporation | Providing real-time control data for a network processor |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6584522B1 (en) * | 1999-12-30 | 2003-06-24 | Intel Corporation | Communication between processors |
US6952824B1 (en) | 1999-12-30 | 2005-10-04 | Intel Corporation | Multi-threaded sequenced receive for fast network port stream of packets |
US6976095B1 (en) * | 1999-12-30 | 2005-12-13 | Intel Corporation | Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch |
US7480706B1 (en) | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
US6631462B1 (en) * | 2000-01-05 | 2003-10-07 | Intel Corporation | Memory shared between processing threads |
US20040259774A1 (en) * | 2000-03-08 | 2004-12-23 | Enrique Alvarez | Therapeutic polypeptides, nucleic acids encoding same, and methods of use |
USRE42153E1 (en) * | 2000-03-30 | 2011-02-15 | Hubbard Edward A | Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures |
US7254607B2 (en) * | 2000-03-30 | 2007-08-07 | United Devices, Inc. | Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures |
US8010703B2 (en) * | 2000-03-30 | 2011-08-30 | Prashtama Wireless Llc | Data conversion services and associated distributed processing system |
US8065399B2 (en) | 2000-04-17 | 2011-11-22 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US8195823B2 (en) | 2000-04-17 | 2012-06-05 | Circadence Corporation | Dynamic network link acceleration |
US7127518B2 (en) | 2000-04-17 | 2006-10-24 | Circadence Corporation | System and method for implementing application functionality within a network infrastructure |
US8024481B2 (en) | 2000-04-17 | 2011-09-20 | Circadence Corporation | System and method for reducing traffic and congestion on distributed interactive simulation networks |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US20110128972A1 (en) | 2000-04-17 | 2011-06-02 | Randy Thornton | Peer to peer dynamic network link acceleration |
US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
US7062527B1 (en) * | 2000-04-19 | 2006-06-13 | Silicon Graphics, Inc. | Management and scheduling of a distributed rendering method and system |
US7783695B1 (en) * | 2000-04-19 | 2010-08-24 | Graphics Properties Holdings, Inc. | Method and system for distributed rendering |
US7092983B1 (en) * | 2000-04-19 | 2006-08-15 | Silicon Graphics, Inc. | Method and system for secure remote distributed rendering |
US6912576B1 (en) | 2000-05-04 | 2005-06-28 | Broadcom Corporation | System and method of processing data flow in multi-channel, multi-service environment by dynamically allocating a socket |
US6922724B1 (en) | 2000-05-08 | 2005-07-26 | Citrix Systems, Inc. | Method and apparatus for managing server load |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6785713B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6941379B1 (en) * | 2000-05-23 | 2005-09-06 | International Business Machines Corporation | Congestion avoidance for threads in servers |
US7565651B1 (en) * | 2000-05-25 | 2009-07-21 | Oracle International Corporation | Parallel task scheduling system for computers |
JP2001345992A (ja) * | 2000-06-05 | 2001-12-14 | Murata Mach Ltd | ファクシミリ装置 |
US7200666B1 (en) * | 2000-07-07 | 2007-04-03 | International Business Machines Corporation | Live connection enhancement for data source interface |
US6910074B1 (en) * | 2000-07-24 | 2005-06-21 | Nortel Networks Limited | System and method for service session management in an IP centric distributed network |
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US7386610B1 (en) | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US6804819B1 (en) | 2000-09-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, system, and computer program product for a data propagation platform and applications of same |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US7020871B2 (en) | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
US7296275B2 (en) * | 2001-01-04 | 2007-11-13 | Sun Microsystems, Inc. | Method and system for passing objects in a distributed system using serialization contexts |
JP4307747B2 (ja) | 2001-01-25 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US20020169680A1 (en) * | 2001-05-10 | 2002-11-14 | International Business Machines Corporation | Method and apparatus for building commercial distributed computing networks via computer cost subsidization |
US6918013B2 (en) * | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
US7571215B2 (en) * | 2001-07-16 | 2009-08-04 | Bea Systems, Inc. | Data replication protocol |
US20030023898A1 (en) * | 2001-07-16 | 2003-01-30 | Jacobs Dean Bernard | Layered architecture for data replication |
US7337441B2 (en) * | 2001-07-17 | 2008-02-26 | Bea Systems, Inc. | System and method for prepreparing a transaction process involving a chain of servers in a circular flow |
US7315903B1 (en) * | 2001-07-20 | 2008-01-01 | Palladia Systems, Inc. | Self-configuring server and server network |
US7290059B2 (en) * | 2001-08-13 | 2007-10-30 | Intel Corporation | Apparatus and method for scalable server load balancing |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US20030046398A1 (en) * | 2001-08-29 | 2003-03-06 | Charles Buckley | Method and system for managing a plurality of console devices in a network |
US20030046230A1 (en) * | 2001-08-30 | 2003-03-06 | Jacobs Dean Bernard | Method for maintaining account consistency |
US7028030B2 (en) * | 2001-08-30 | 2006-04-11 | Bea Systems, Inc. | Cluster caching with concurrency checking |
WO2003021464A2 (en) * | 2001-09-05 | 2003-03-13 | Rubenstein, Allen, I. | Secure remote access between peers |
US7113980B2 (en) * | 2001-09-06 | 2006-09-26 | Bea Systems, Inc. | Exactly once JMS communication |
US6826601B2 (en) * | 2001-09-06 | 2004-11-30 | Bea Systems, Inc. | Exactly one cache framework |
US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US20030051029A1 (en) * | 2001-09-07 | 2003-03-13 | Reedy Dennis G. | Dynamic provisioning of sevice components in a distributed system |
US7228337B1 (en) * | 2001-09-11 | 2007-06-05 | Cisco Technology, Inc. | Methods and apparatus for providing a network service to a virtual machine |
EP2403219B1 (en) | 2001-09-28 | 2014-10-22 | Level 3 CDN International, Inc. | Method for name to address resolution |
US7126952B2 (en) | 2001-09-28 | 2006-10-24 | Intel Corporation | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
JP2003143153A (ja) * | 2001-11-01 | 2003-05-16 | Nec Corp | サーバコンピュータ、そのコネクションクローズ方法及びプログラム |
US7158964B2 (en) * | 2001-12-12 | 2007-01-02 | Intel Corporation | Queue management |
US7107413B2 (en) | 2001-12-17 | 2006-09-12 | Intel Corporation | Write queue descriptor count instruction for high speed queuing |
US7269179B2 (en) * | 2001-12-18 | 2007-09-11 | Intel Corporation | Control mechanisms for enqueue and dequeue operations in a pipelined network processor |
US7895239B2 (en) | 2002-01-04 | 2011-02-22 | Intel Corporation | Queue arrays in network devices |
US7181573B2 (en) | 2002-01-07 | 2007-02-20 | Intel Corporation | Queue array caching in network devices |
US7181489B2 (en) * | 2002-01-10 | 2007-02-20 | International Business Machines Corporation | Method, apparatus, and program for distributing a document object model in a web server cluster |
US6934951B2 (en) | 2002-01-17 | 2005-08-23 | Intel Corporation | Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section |
US7181594B2 (en) * | 2002-01-25 | 2007-02-20 | Intel Corporation | Context pipelines |
US7149226B2 (en) * | 2002-02-01 | 2006-12-12 | Intel Corporation | Processing data packets |
US7930704B2 (en) * | 2002-02-06 | 2011-04-19 | Oracle International Corporation | J2EE component extension architecture |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
CA2372092C (en) * | 2002-02-15 | 2010-04-06 | Cognos Incorporated | A queuing model for a plurality of servers |
US8135843B2 (en) * | 2002-03-22 | 2012-03-13 | Citrix Systems, Inc. | Methods and systems for providing access to an application |
US7350149B1 (en) * | 2002-03-28 | 2008-03-25 | Emc Corporation | Backup reporting framework graphical user interface |
US7404145B1 (en) | 2002-03-28 | 2008-07-22 | Emc Corporation | Generic mechanism for reporting on backups |
US7228353B1 (en) * | 2002-03-28 | 2007-06-05 | Emc Corporation | Generating and launching remote method invocation servers for individual client applications |
US7571221B2 (en) * | 2002-04-03 | 2009-08-04 | Hewlett-Packard Development Company, L.P. | Installation of network services in an embedded network server |
US8819252B1 (en) | 2002-05-03 | 2014-08-26 | Foundry Networks, Llc | Transaction rate limiting |
US7707295B1 (en) * | 2002-05-03 | 2010-04-27 | Foundry Networks, Inc. | Connection rate limiting |
US8554929B1 (en) | 2002-05-03 | 2013-10-08 | Foundry Networks, Llc | Connection rate limiting for server load balancing and transparent cache switching |
US7269752B2 (en) * | 2002-06-04 | 2007-09-11 | Lucent Technologies Inc. | Dynamically controlling power consumption within a network node |
TW561740B (en) * | 2002-06-06 | 2003-11-11 | Via Tech Inc | Network connecting device and data packet transferring method |
US7471688B2 (en) | 2002-06-18 | 2008-12-30 | Intel Corporation | Scheduling system for transmission of cells to ATM virtual circuits and DSL ports |
US7165103B2 (en) * | 2002-06-26 | 2007-01-16 | Microsoft Corporation | Method and system for matching network clients and servers under matching constraints |
US7747730B1 (en) | 2002-06-28 | 2010-06-29 | Netfuel, Inc. | Managing computer network resources |
US8020162B2 (en) * | 2002-07-19 | 2011-09-13 | International Business Machines Corporation | Employing a resource broker in managing workloads of a peer-to-peer computing environment |
US7506342B2 (en) * | 2002-07-23 | 2009-03-17 | Bea Systems, Inc. | System and method for implementing J2EE connector architecture |
WO2004012412A2 (en) * | 2002-07-25 | 2004-02-05 | Yee James D | System and method for providing computer services |
US7698434B2 (en) * | 2002-08-29 | 2010-04-13 | Bea Systems, Inc. | J2EE connector architecture |
US7352769B2 (en) | 2002-09-12 | 2008-04-01 | Intel Corporation | Multiple calendar schedule reservation structure and method |
US7433307B2 (en) | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
US6941438B2 (en) * | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
US7443836B2 (en) | 2003-06-16 | 2008-10-28 | Intel Corporation | Processing a data packet |
DE10345535B4 (de) * | 2003-09-30 | 2005-10-06 | Siemens Ag | Überprüfung der Verfügbarkeit eines Servers |
US7363369B2 (en) * | 2003-10-16 | 2008-04-22 | International Business Machines Corporation | Monitoring thread usage to dynamically control a thread pool |
US8726278B1 (en) | 2004-07-21 | 2014-05-13 | The Mathworks, Inc. | Methods and system for registering callbacks and distributing tasks to technical computing works |
US7213099B2 (en) * | 2003-12-30 | 2007-05-01 | Intel Corporation | Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches |
CA2491274A1 (en) * | 2004-01-08 | 2005-07-08 | Lpi Level Platforms, Inc. | A method and system for secure remote access to computer systems and networks |
JP4297792B2 (ja) * | 2004-01-08 | 2009-07-15 | 株式会社リコー | Webサーバ組み込みビジネス機器 |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
US7739418B2 (en) * | 2004-04-12 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Resource management system |
US7689998B1 (en) * | 2004-07-13 | 2010-03-30 | Microsoft Corporation | Systems and methods that manage processing resources |
US7908313B2 (en) * | 2004-07-21 | 2011-03-15 | The Mathworks, Inc. | Instrument-based distributed computing systems |
US7415470B2 (en) * | 2004-08-12 | 2008-08-19 | Oracle International Corporation | Capturing and re-creating the state of a queue when migrating a session |
US7502824B2 (en) * | 2004-08-12 | 2009-03-10 | Oracle International Corporation | Database shutdown with session migration |
DE102004062116B3 (de) * | 2004-12-23 | 2006-05-11 | Ab Skf | Lageranordnung für einen Computertomographen |
US9176772B2 (en) * | 2005-02-11 | 2015-11-03 | Oracle International Corporation | Suspending and resuming of sessions |
US9183347B1 (en) * | 2005-02-17 | 2015-11-10 | The Mathworks, Inc. | Methods and system for simulation of chemical and biological processes in a distributed technical computing environment |
JP2006293885A (ja) * | 2005-04-14 | 2006-10-26 | I Broadcast:Kk | 情報配信システムと方法およびプログラム |
US8738703B2 (en) | 2006-10-17 | 2014-05-27 | Citrix Systems, Inc. | Systems and methods for providing online collaborative support |
US7934027B2 (en) * | 2007-01-19 | 2011-04-26 | Hewlett-Packard Development Company, L.P. | Critical resource management |
US8125796B2 (en) | 2007-11-21 | 2012-02-28 | Frampton E. Ellis | Devices with faraday cages and internal flexibility sipes |
US7441135B1 (en) | 2008-01-14 | 2008-10-21 | International Business Machines Corporation | Adaptive dynamic buffering system for power management in server clusters |
US8031713B2 (en) * | 2008-01-29 | 2011-10-04 | International Business Machines Corporation | General multi-link interface for networking environments |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
CA2720353C (en) | 2008-04-04 | 2016-01-19 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (cdn) |
WO2010065796A1 (en) * | 2008-12-03 | 2010-06-10 | Mobophiles, Inc. | System and method for providing virtual web access |
US8949842B2 (en) * | 2008-12-31 | 2015-02-03 | AT&T Intellectual I, L.P. | Method and apparatus for locating load-balanced facilities |
US8886787B2 (en) * | 2009-02-26 | 2014-11-11 | Microsoft Corporation | Notification for a set of sessions using a single call issued from a connection pool |
US8549038B2 (en) * | 2009-06-15 | 2013-10-01 | Oracle International Corporation | Pluggable session context |
US9021510B2 (en) | 2009-12-04 | 2015-04-28 | International Business Machines Corporation | Remote procedure call (RPC) bind service with physical interface query and selection |
US8266639B2 (en) * | 2009-12-04 | 2012-09-11 | International Business Machines Corporation | Remote procedure call (RPC) bind service with physical interface query and selection |
US8429735B2 (en) | 2010-01-26 | 2013-04-23 | Frampton E. Ellis | Method of using one or more secure private networks to actively configure the hardware of a computer or microchip |
US8516284B2 (en) | 2010-11-04 | 2013-08-20 | International Business Machines Corporation | Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint |
US10067547B2 (en) * | 2012-06-28 | 2018-09-04 | Intel Corporation | Power management control of remote servers |
US10666574B2 (en) * | 2015-09-28 | 2020-05-26 | Amazon Technologies, Inc. | Distributed stream-based database triggers |
US10387387B2 (en) | 2015-12-17 | 2019-08-20 | Oracle International Corporation | Enabling multi-tenant access to respective isolated data sets organized using different application schemas |
US10289617B2 (en) | 2015-12-17 | 2019-05-14 | Oracle International Corporation | Accessing on-premise and off-premise datastores that are organized using different application schemas |
US10303894B2 (en) | 2016-08-31 | 2019-05-28 | Oracle International Corporation | Fine-grained access control for data manipulation language (DML) operations on relational data |
CN110134698A (zh) * | 2019-04-15 | 2019-08-16 | 平安普惠企业管理有限公司 | 数据管理方法及相关产品 |
CN113946430B (zh) * | 2021-12-20 | 2022-05-06 | 北京并行科技股份有限公司 | 一种作业调度方法、计算设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0340034A (ja) * | 1989-07-06 | 1991-02-20 | Fujitsu Ltd | プロセスの実行多重度制御処理装置 |
JPH06332834A (ja) * | 1993-05-25 | 1994-12-02 | Hitachi Ltd | リモートプロシジャコール方法 |
JPH06332833A (ja) * | 1993-05-25 | 1994-12-02 | Nec Corp | サーバ運用方式 |
JPH076043A (ja) * | 1993-03-05 | 1995-01-10 | Mitsubishi Electric Corp | マルチスレッド・サーバ |
JPH0844576A (ja) * | 1994-07-25 | 1996-02-16 | Internatl Business Mach Corp <Ibm> | 動的作業負荷平衡化 |
Family Cites Families (9)
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 |
US5062037A (en) * | 1988-10-24 | 1991-10-29 | Ibm Corp. | Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network |
US5339392A (en) * | 1989-07-27 | 1994-08-16 | Risberg Jeffrey S | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
EP0473913A3 (en) * | 1990-09-04 | 1992-12-16 | International Business Machines Corporation | Method and apparatus for providing a service pool of virtual machines for a plurality of vm users |
US5249290A (en) * | 1991-02-22 | 1993-09-28 | At&T Bell Laboratories | Method of and apparatus for operating a client/server computer network |
US5329619A (en) * | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
US5553242A (en) * | 1993-11-03 | 1996-09-03 | Wang Laboratories, Inc. | Client/server connection sharing |
US5581552A (en) * | 1995-05-23 | 1996-12-03 | At&T | Multimedia server |
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 |
-
1996
- 1996-03-05 US US08/610,943 patent/US5761507A/en not_active Expired - Lifetime
- 1996-12-14 KR KR1019960065707A patent/KR100237984B1/ko not_active IP Right Cessation
-
1997
- 1997-02-24 EP EP97301180A patent/EP0794491B1/en not_active Expired - Lifetime
- 1997-02-24 DE DE69728601T patent/DE69728601T2/de not_active Expired - Lifetime
- 1997-03-04 JP JP04939697A patent/JP3364575B2/ja not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0340034A (ja) * | 1989-07-06 | 1991-02-20 | Fujitsu Ltd | プロセスの実行多重度制御処理装置 |
JPH076043A (ja) * | 1993-03-05 | 1995-01-10 | Mitsubishi Electric Corp | マルチスレッド・サーバ |
JPH06332834A (ja) * | 1993-05-25 | 1994-12-02 | Hitachi Ltd | リモートプロシジャコール方法 |
JPH06332833A (ja) * | 1993-05-25 | 1994-12-02 | Nec Corp | サーバ運用方式 |
JPH0844576A (ja) * | 1994-07-25 | 1996-02-16 | Internatl Business Mach Corp <Ibm> | 動的作業負荷平衡化 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10334064A (ja) * | 1997-05-27 | 1998-12-18 | Shikoku Nippon Denki Software Kk | 負荷分散方式 |
KR100403659B1 (ko) * | 1998-01-16 | 2003-10-30 | 인터내셔널 비지네스 머신즈 코포레이션 | 서버 프로세스 장치 및 서버 프로세스 방법 및 컴퓨터 판독가능한 기록 매체 |
JP2002091937A (ja) * | 2000-07-27 | 2002-03-29 | Hewlett Packard Co <Hp> | スペアサーバを自動でアクティブにするサーバ |
JP2004505372A (ja) * | 2000-07-27 | 2004-02-19 | ビーイーエイ システムズ, インコーポレイテッド | リクエストの集中及びロードバランシングのためのシステム及び方法 |
US8166095B2 (en) | 2000-07-27 | 2012-04-24 | Oracle International Corporation | System and method for achieving scalability in domain computing |
JP2008090578A (ja) * | 2006-10-02 | 2008-04-17 | Seiko Epson Corp | アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0794491B1 (en) | 2004-04-14 |
KR970068309A (ko) | 1997-10-13 |
EP0794491A3 (en) | 1999-01-13 |
JP3364575B2 (ja) | 2003-01-08 |
DE69728601T2 (de) | 2005-03-17 |
EP0794491A2 (en) | 1997-09-10 |
KR100237984B1 (ko) | 2000-01-15 |
US5761507A (en) | 1998-06-02 |
DE69728601D1 (de) | 2004-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09319600A (ja) | リモート・プロシージャ・コールを実行する方法及びトランザクション・マネージャ | |
EP0362107B1 (en) | Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network | |
EP0723236B1 (en) | System for communicating messages among agent processes | |
EP2506147B1 (en) | Epoll optimisations | |
US5925098A (en) | Apparatus and method for dispatching client method calls within a server computer system | |
EP0366581A2 (en) | Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network | |
US6941554B2 (en) | True parallel client server system and method | |
EP0588046A1 (en) | IEEE standard 802.2 virtual device driver | |
JPH11259443A (ja) | クライアント要求をスケジュ―ルしディスパッチする装置及び方法 | |
WO1999023784A2 (en) | Distributed web application server | |
US6470346B2 (en) | Remote computation framework | |
US7640549B2 (en) | System and method for efficiently exchanging data among processes | |
JP2004536382A (ja) | 置換可能なサービス品質機能のあるネットワーク通信チャネルコンポーネントを選択するために、置換可能なコンポーネントを用いるシステム、方法及び製造物 | |
KR20010041297A (ko) | 원격 프로세스의 중단과 연속 방법 및 장치 | |
US5592673A (en) | Loosely coupled compound computer system using lock and semaphore mechanism for performing exclusive control of shared resource which is accessed through a distinct bus | |
CN115878301A (zh) | 一种数据库网络负载性能的加速框架、加速方法及设备 | |
US7703103B2 (en) | Serving concurrent TCP/IP connections of multiple virtual internet users with a single thread | |
EP2015190A1 (en) | Technique of controlling communication of installed apparatus with outside by means of proxy server | |
JP2002024195A (ja) | 並列処理装置、及び、並列処理方法 | |
US20030084164A1 (en) | Multi-threaded server accept system and method | |
KR19980086588A (ko) | Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴 | |
IM | management, device management, virtual file system management and other functions. Configurable components are components that provide specific functional requirements for different airborne software, mainly including C | |
Ren | Communication Architecture Design and Case Study of Embedded Partition Real-Time Operating System | |
KR100521636B1 (ko) | 코바 구조의 네트워크 관리 시스템 및 방법 | |
KR19980086586A (ko) | Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071025 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081025 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081025 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091025 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091025 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101025 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101025 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111025 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121025 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121025 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131025 Year of fee payment: 11 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |