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
Application number
JP9049396A
Other languages
English (en)
Other versions
JP3364575B2 (ja
Inventor
Ian Robert Govett
イアン・ロバート・ゴーヴェット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH09319600A publication Critical patent/JPH09319600A/ja
Application granted granted Critical
Publication of JP3364575B2 publication Critical patent/JP3364575B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload 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

(57)【要約】 【課題】1つ又は複数のクライアントのためのコンカレ
ント・サーバの開発をサポートするシステム・アーキテ
クチャを提供する。 【解決手段】トランザクション・マネージャは、複数の
クライアントのいずれからのサービス・リクエストもす
べて代行受信し、タスク・リクエストに関係なく接続を
設定し、そして多数のクライアント/サーバ接続におけ
るサービス資源の公平な分配を行うためにそれらリクエ
ストを受信順序で利用可能サーバに割り当てる。望まし
くは、トランザクション・マネージャはいずれのリクエ
ストにも関係なく少なくとも1つのサーバを起動させ、
いずれのサーバにも関係なくサーバ接続のためのすべて
のクライアント・リクエストをトランザクション・マネ
ージャへ送らせ、タスク・リクエストを待ち行列に配置
させ、待ち行列長に基づいて更なるサーバを起動及び停
止させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して云えば、分
散型データ処理システムに関するものであり、更に詳し
く云えば、分散型データ処理システムのようなプロセッ
サ相互間のサーバ/クライアント接続の改良に関するも
のである。
【0002】
【従来の技術】ネットワークにおいて接続された複数の
データ・プロセッサ相互間のコミュニケーションを可能
にするデータ処理システムが、長年の間、知られてき
た。そのようなネットワーク・システムの初期の例は、
一般に、複数の端末のうちの任意のものと、中央データ
記憶機構を維持しそしてそこからの情報の検索を処理す
るホスト・プロセッサとの間のコミュニケーションに関
連していた。しかし、小型のデータ・プロセッサの記憶
能力及び処理能力が増加するにつれて、データ記憶及び
処理は、ネットワークに接続された少なくとも幾つかの
データ・プロセッサ相互間で共用され、大型の中央デー
タ記憶機構を必要としなくするようにネットワークを構
成することが一般的になってきた。データに関する照会
又はリクエスト及び関連のデータ処理を種々のデータ・
プロセッサに指示することが可能になり、それは、ネッ
トワークに接続された或データ・プロセッサが、サーバ
として知られた他のプロセッサのクライアントになるこ
とを可能にするプロトコルの開発を導いた。そのような
リクエストは、データに対するリクエストに限定される
必要はなく、サーバが提供することのできる任意のタイ
プのデータ処理又はサービスを含むものと理解されるべ
きである。そのようなプロトコルによって遂行される基
本的な操作はクライアントとサーバとの間に接続を設定
し、リクエストを処理し、そしてその接続を終了させる
ことである。サーバが処理し得るリクエストは、一般に
は、サービスと呼ばれるソフトウエア・アプリケーショ
ンとしてそのサーバ上に与えられる。
【0003】一般にリモート・プロシージャ・コール
(RPC)と呼ばれるリクエストの処理は大量の時間を
要することがあり、接続を設定する及びその接続を終了
させるという処理時間オーバヘッドを含んでいる。その
両方とも、クライアント/サーバ関係を設定するために
必要なプロトコルによって煩雑なものにされる。サーバ
の実施次第で、接続及び終了を処理するための時間を含
む必要な処理時間の量は、リクエストを行うクライアン
トが待ち状態に置かれて(例えば、そのリクエストがサ
ーバ又は或システム管理装置によって待ち行列に配置さ
れて)そのリクエストの処理を遅らせる可能性を高くす
る。リクエストの処理における如何なるそのような遅延
も、そのネットワークから理論的に得られる経済性に関
係なく、そのシステムの有用性を危うくする。
【0004】データ処理システムにおけるクライアント
/サーバ関係の有用性は、潜在的に利用可能なサーバの
数を増加させるために同じプロセッサ上で同時に動作す
る複数の同様のサーバを開発することによって、かなり
の程度改良されている。このプロセスは、同じサービス
を提供する同時実行のアプリケーションがすべて同じで
ある場合を除いて、複数のアプリケーションの同時実行
と同等である。それにもかかわらず、コミュニケーショ
ン・プロトコルは相変わらず複雑であり、恐らくシステ
ムの全体的な機能性にとって制限的なものである。
【0005】例えば、サン・マイクロシステムズ社によ
って開発された広く知られている既知のRPC機構(以
下、サンRPCと呼ぶ)は、長年の間、多くのオペレー
ティング・システム及び及びハードウエア・プラットフ
ォーム上で使用されてきた。サンRPCはプログラミン
グ・ライブラリ及びツールのセットであり、クライアン
ト/サーバ・アプリケーションの開発に関してプログラ
マを援助するものである。しかし、たとえ単一プロセッ
サ上で複数の同時実行のサーバを開発することができて
も、サンRPCは任意のクライアントのリクエストに関
してコンカレント・サーバをサポートしない。例えば、
クライアントが複数の処理すべきリクエストを有すると
いう状況を考察してみよう。サンRPCのような既知の
RPC機構の下では、クライアント及びサーバは、その
サーバへの接続が設定される時に相互に結び付けられ
る。コミュニケーション・リンクを終了及び再設定する
ことなく複数のリクエストがそのサーバによって処理さ
れるけれども、それらのリクエストは同じサーバによっ
て逐次に反復的に処理されなければならない。逆に、単
一のクライアントが複数の利用可能なサーバによる同時
処理という恩恵を得るためには、各サーバが起動時に別
々に登録されそして別々のコミュニケーション・リンク
がそのような各サーバに関して設定されなければならな
いので、各リクエストは特定のサーバに対して別々のコ
ミュニケーション・リンクを設定するというオーバヘッ
ドを持つであろう。新しい各サーバ・プロセスを開始す
るには更なる時間も必要である。従って、クライアント
は、逐次処理を必要とするため、或いは大きな処理オー
バヘッドを被るため、その利用可能なシステムの全能力
を活用することができない。
【0006】他の潜在的なクライアントが既存のクライ
アントからのリクエストの処理中に(逐次に又は同時
に)リクエストを行うという可能性を加えて、同じ例を
更に考察すると、その更なるリクエストが同時に利用可
能なサーバによって同時に処理されるためには、リクエ
ストされたサービスの登録及びそのサーバから得られる
サービスの登録が別々にそのクライアントに対して行わ
れなければならない。これは、サンRPC機構では、そ
のサーバに存在する、いわゆるポートマッパ( "Por
tmapper" はサン・マイクロシステム社の商標で
ある)によって行われる。少なくとも利用可能なサーバ
のアドレス(例えば、ポート番号)は、コミュニケーシ
ョン・リンクを設定するための操作が開始される前にク
ライアントに供給されなければならないので、別々の登
録は、利用可能なサーバに対するコミュニケーション・
リンクの設定及び終了に関連するオーバヘッドの一因と
なる。
【0007】直ちに利用可能なサーバがない場合(50
0以上の潜在的クライアントを有する現在のサイズのネ
ットワークにはありそうなように)、リクエストは、1
つのリクエストの完了時に他のコミュニケーション・リ
ンクを終了させる(その終了させられたリンクを前に使
用していたクライアントからの残りのリクエストを待ち
行列に配置させる)か、或いは新しいクライアントから
のリクエストが待ち行列に配置されて利用可能なサーバ
を待っている時、或延長した期間の間待ち状態を生じさ
せる。いずれの場合も、複数のクライアントからのRP
Cが複数のサーバによって公平に或いは適時にサービス
されること及び、任意のクライアントからの接続及び終
了リクエストを含むRPCの任意のシーケンスの処理の
間、そのクライアント及び1つ又複数のサーバが堅く結
ばれたままでいることを保証するための手段は如何なる
既知のRPC機構にも存在しない。例えば、サンRPC
の場合、ポートマッパはそのポートマッパを登録された
如何なるサーバに対するステータス情報又は利用可能度
情報も持たず、潜在的なクライアントに与えられたアド
レス又はポート番号は実質的に無作為なものであり、他
のサーバが利用可能である時の他のクライアントからの
サーバ処理リクエストのアドレス又はポート番号である
こともある。同じ理由で、サンRPCは、処理されるべ
き如何なる特定のサーバのリクエストも順番に与えな
い。リクエスト処理の適時性を改良するための唯一の既
知の可能性ある方法は各リクエストに対して新しいサー
バを作り出すことである。それは、勿論、かなりの処理
オーバヘッドを意味し、サーバ・プロセッサのハードウ
エア容量を簡単に越えさせるかもしれない。
【0008】従って、クライアント/サーバ関係を設定
するための既存のプロトコルはかなりの処理オーバヘッ
ドを必要とし、クライアントへのサーバの割当の融通性
を制限し、クライアントに割当て可能なサーバ容量を制
限し、しかも、複数のクライアントからのリクエストの
公平な及び適時の処理を提供することができない。要す
るに、サーバは容易に増大され得るけれども、既知のR
PC機構はそのような増大した数のサーバの処理容量を
十分に活用することができず、それをクライアントに提
供することもできない。稼働サーバのうちの種々なサー
バにコミュニケーションを指示するためのコミュニケー
ション・マネージャの追加のような他の可能性ある方法
も、接続と関連したオーバヘッドを増大させ、接続時に
クライアントとサーバとを堅く結び付け、しかも、更な
るクライアントからのリクエストをコミュニケートする
ためにそれ以上の接続を阻止している間稼働サーバをア
イドルさせておくこともある。
【0009】
【発明が解決しようとする課題】従って、本発明の目的
は、1つ又は複数のクライアントのためのコンカレント
・サーバの開発をサポートするシステム・アーキテクチ
ャを提供することにある。
【0010】本発明のもう1つの目的は、利用可能なサ
ーバの数を越える複数のクライアントからのリクエスト
の適時且つ公平な処理を提供することにある。
【0011】本発明のもう1つの目的は、既知のRPC
プロトコルとの互換性を維持したネットワーク接続され
たプロセッサ相互間で簡易化したコミュニケーションを
行う装置を提供することにある。
【0012】本発明の更にもう1つの目的は、クライア
ントとリクエストされたサービスを提供するプロセッサ
との間の接続を設定するプロセスから1つ又は複数のサ
ーバを切り離し、それによって、多数のクライアント/
サーバ接続の維持を可能にすることにある。
【0013】
【課題を解決するための手段】本発明のこれらの目的及
び他の目的を達成するために、データ・プロセッサ上で
リモート・プロシージャ・コールを遂行する方法が提供
される。その方法は、リモート・プロシージャ・コール
に関係なくデータ・プロセッサ上でサービスを提供する
サーバを起動するステップ、そのデータ・プロセッサと
更なるデータ・プロセッサとの間の接続を設定するステ
ップ、そのサービスに含まれたタスクに対する少なくと
も1つのリクエストをその接続を介して受け取るステッ
プ、及び受け取った順序で且つ接続の設定に無関係に、
利用可能なサーバをリクエストに割り当てるステップを
含む。
【0014】本発明のもう1つの局面によれば、データ
処理ネットワークのためのトランザクション・マネージ
ャが提供される。それは、第1データ・プロセッサにお
いてサービスを提供するサーバを起動するための装置、
サーバに関係なく第1データ・プロセッサと第2データ
・プロセッサとの間の接続を設定するための装置、その
サービスに含まれたタスクに対するリクエストを受領す
るためのインターフェース、及び前記接続を設定するた
めの装置に関係なく受領の順序で利用可能なサーバを前
記タスクに割り当てるための装置を含む。
【0015】本発明によるトランザクション・マネージ
ャは、稼働サーバを登録するのではなくてポートマッパ
又はクライアントによってトランザクション・マネージ
ャを登録することによって、クライアント・リクエスト
の並行処理をサポートしながら既存のRPC機構との互
換性を得るように動作し、従って、接続を設定するプロ
セスからサーバを切り離し、クライアント接続に関係な
くサーバへのリクエストの割当を可能にする。本発明が
実施されるシステムの融通性及び効率は、管理リクエス
トを処理するための手段及びソケット・ハンドルによる
クライアント・リクエストの表示を通して拡張可能であ
る。
【0016】
【発明の実施の形態】図面、特に、図1を参照すると、
既知のRPC機構を代表すると考えられるサンRPC機
構に従ってシステム・アーキテクチャ10を表現したも
のが示される。サンRPC機構は知られており、しかも
広く使用されているけれども、サンRPC機構及び他の
同様の機構の詳細は本発明の実施にとって重要ではない
ので、図1は本発明の理解を容易にする程度の詳細に限
定された高レベルの概略的表示であると理解して欲し
い。同じ理由で、図1のどの部分も本発明に関する従来
技術であるとは認められない。
【0017】図1において、ネットワーク30は、クラ
イアントとして機能する複数のプロセッサ20をプロセ
ッサ12と相互接続する。プロセッサ12上には、サン
RPC機構及びサービス・アプリケーションが常駐し且
つ稼働している。これに関連して、プロセッサ20のう
ちのどれかが或いはすべてが同じ或いは異なるサービス
のためのサーバとして機能する能力を持つ必要がないこ
と、及び他のサーバが存在する時、プロセッサ12がク
ライアントとして機能し得ることは理解されるべきであ
る。如何なるプロセッサにおいてもサーバの機能を提供
するために必要なことは、常駐のRPC機構及びサービ
ス・アプリケーション、並びにそれらを実行する処理パ
ワーである。
【0018】サンRPC機構はプロセッサ12上にRP
Cサーバ14及びポートマッパ16を設定する。即ち、
そのRPCサーバ及びポートマッパはサンRPC機構の
ようなRPCプロトコルを使用して設定される。これら
の機能的要素は他のRPC機構の同様の機能的要素を表
し、そのRPC機構によって指定された構成に従ってロ
ジック、抵抗器、特定のメモリ・アドレス・ブロック等
によって具体化されるであろう。それらの詳細は本発明
の実施にとって重要ではない。そのような機能的要素
を、特別目的のデータ処理回路及び専用のハードウエア
によって全体的に或いは部分的に与えることが可能であ
る。
【0019】ポートマッパ16は、そのサーバが起動さ
れる時、サーバ・リクエストに応答して各サーバのため
の登録サービスを与え且つそのサービスにおいてリクエ
ストされるタスクのデスクリプション及びそれらのタス
クを含むサービスを提供するサーバのアドレス18を維
持するプログラムであることが望ましい。従って、ポー
トマッパ16は、クライアントにルックアップ・サービ
スを、望ましくは、ルックアップ・テーブルの形で提供
することもできる。ポートマッパ16は、ネットワーク
接続を設定するためにクライアントによって使用される
RPCプログラム番号及びバージョンも維持する。
【0020】RPCサーバは、RPCプログラム番号及
びバージョン番号を使用して一意的に識別される特定の
サービス(例えば、タスクのセット)を遂行するように
ソフトウエア開発者によって作成される。RPCサーバ
が起動される時(従って、クライアントにとって利用可
能になる時)、サーバはポートマッパ14を登録し、し
かる後、クライアント・プロセッサからの接続リクエス
ト及びその後のタスク・リクエストを待つ。
【0021】RPCクライアント(例えば、クライアン
ト1、クライアント2、クライアント3、・・・、クラ
イアントN)は、特定のタスクに対するRPCリクエス
トを、それらを遂行することのできるサーバに送る機能
を持つように、ソフトウエア開発者によって作成され
る。クライアント・アプリケーションはポートマッパ1
6からの接続情報をリクエストし、その情報を使用して
RPCサーバ14に接続をリクエストする。その後、サ
ーバ14によって維持された接続を通してそのサーバに
1つ又は複数のリクエストを行うことが可能である。
【0022】動作においては、サーバ及びクライアント
はその接続の時に堅く結合され、そしてその接続は1つ
又は複数のリクエストの完了時に解放されるまでそのま
まである。そのサーバが使用中である場合、それ以上の
接続を行うことはできない。(各サーバはポートマッパ
を別々に登録され、しかも接続リクエストは特定のサー
バに対して行われるので、1つのサーバしか考慮される
必要がない。既知のRPC機構の下では、実質的に無作
為な順序で生じるクライアントからのリクエストはその
サーバにおける待機を阻止する。なお、種々のクライア
ントからのリクエストはその順序で処理される)。或待
ち行列化装置又はコミュニケーション割込装置はポート
マッパ・レベルで(例えば、サーバ情報がその受信され
た順序でリクエスティング・クライアントに与えられる
ように接続リクエストを待ち行列化することによって)
コミュニケーション・マネージャの形で与えられるが、
そのような管理がポートマッパの機能ではないことは本
発明の理解にとって重要である。又、前に指摘したよう
に、任意の特定のクライアントからのリクエストはすべ
て、接続が行われたサーバによって反復的に処理されな
ければならない。
【0023】理論的には、クライアントから複数のサー
バの各々への接続は種々のリクエストをサービスするた
めに行われるけれども、同時に処理されるべき各リクエ
スト又は一連のリクエストに対しては、特定のサーバへ
の個別の接続が必要であろう。しかし、これは、前述の
ように、それらの接続を設定するという更なる処理オー
バヘッド、並びに単一の機械における個別の同じプロセ
スとして十分な数のサーバを呼び出すための大量のプロ
セッサ容量を必要とする。更に、クライアントが複数の
サーバへの複数の接続を設定することを許された場合、
その結果として、それらの各設定はそのクライアントか
らの特定のリクエストのセットと特定のサーバとの堅い
結合を生じさせる。更に、戻された情報と特定のリクエ
スト又はリクエストのセットとを関連付けるための準備
が行われなければならない。更に、クライアントが、い
つでも利用可能であるだけの或いは一連のリクエストの
処理時に利用可能になるだけの多くのサーバ及びプロセ
ッサ容量を確保して他のクライアントに対するサービス
を妨げ或いは不当に待たせるという結果を回避すること
は困難であろう。
【0024】図2を参照して、本発明のアーキテクチャ
を検討することにする。図1におけるように、ネットワ
ーク30及び複数のクライアント20が存在する。ポー
トマッパ16'が前述のように設けられるが、接続を設
定するためにクライアントに与えられるサーバ・アドレ
ス(例えば、ポート番号)はトランザクション・マネー
ジャ(以下では、時々XMANと記される)110のア
ドレスであるという相異がある。
【0025】複数のサーバとしてではあるけれども単一
のサービスしか提供されない場合、更に十分に後述する
ように、これは、各クライアントにおいて都合よく記憶
される単なる単一のアドレス(例えば、サービスを提供
するアプリケーションのプログラム番号)であろう。こ
の意味では、ポートマッパ16'の保持は、本質的に
は、既存のサンRPC機構及び他のRPC機構との互換
性を維持するという付随事項である。しかし、そのポー
トマッパはサーバが起動される時にサービスの登録を受
け且つそれを維持するという機能を維持し、しかも、種
々のサービスがネットワークを通して利用可能である時
或いはサービスが中断される時、多少の融通性及び便宜
を与える。これに関して、そのシステムが更なるアドレ
ス18'(例えば、XMAN Bのアドレス)を与える
ことを必要とする2つ以上の異なるサービスを提供し、
本発明のアーキテクチャ(例えば、132、134にお
いて示されるような)を使用することが考えられる。勿
論、サーバ・プロセッサのハードウエア容量次第で、2
つ以上の異なるサービス(潜在的にはそれぞれが複数の
サーバを使用する)がXMAN110を有する同じプロ
セッサにおいて提供されることがある。いずれの場合
も、ポートマッパは、そのリクエストされたタスクに適
した固有のプログラム番号のような種々のアドレスを与
えることができるということが必要なだけである。
【0026】図3を参照すると、トランザクション・マ
ネージャの基本的な要素が示される。再び、これらの要
素はソフトウエアによって開発されることが望ましい
が、ハードウエアで或いはハードウエア及びソフトウエ
アの両方の組合せでも実現可能である。トランザクショ
ン・マネージャ110に対する基本的な構成値を記憶す
るために4つのレジスタ302、304、306及び3
08が設けられる。レジスタ302は、リクエストがな
い場合でも動作しているサーバの最小数を設定し、便宜
上、1にセットされる。レジスタ304は、更なるサー
バを起動する前に許容されている待機リクエストの数を
設定し、便宜上、2にセットされる。レジスタ306
は、プロセッサ12の容量と整合していつも動作するこ
とを許されるサーバの最大数を記憶する。各サーバは、
本質的には、ロードのために一定量の処理オーバヘッド
を要するソフトウエア・アプリケーションであると考え
ると、レジスタ又はカウンタ308はサーバが停止され
る頻度を制御するためのパラメータを含み、例えば、コ
ンピュータ・オーバヘッドの寄与、ユーザの便宜、平均
的リクエスト実行時間等を考慮することに基づいて30
秒にセットされる(現在のネットワーク・アクセス・タ
イムから見て、30秒はユーザにとってわかり易いこと
が多い)。これらのパラメータはすべて自由に構成可能
である。サーバの起動は待ち行列の長さの関数であるこ
とが望ましいけれども、後述のように、複数のサーバを
起動する時にサーバの起動頻度を制御するために、或環
境では、同様のパラメータを有益に使用することも可能
である。
【0027】双方向性のネットワーク・コミュニケーシ
ョンはネットワーク・インターフェース300を通して
トランザクション・マネージャ110に入り及びそこか
ら出る。この説明のために、このネットワーク・インタ
ーフェースは接続リクエストとタスク・リクエストとを
区別できるものと仮定する。一般に、これは、ポートマ
ッパによってクライアントに与えられるポート数に基づ
いて得られ、特に、ポート番号はそのサービスのプログ
ラム番号であるので、本発明に従って特に助長される。
この区別を行う方法に関係なく、接続リクエストが受信
される時、トランザクション・マネージャ110のアド
レス(例えば、サーバ・プロセッサ上で実行されるサー
ビスのプログラム番号)がクライアントに送られるよう
に又は他のオペレーションが遂行されてコミュニケーシ
ョン・リンクを設定するように、ポートマッパ16'に
信号が送られる。図1のアーキテクチャとは違って、サ
ーバ130はこのプロセスには関係ない。
【0028】トランザクション・マネージャが起動され
る時、サーバ1がレジスタ302の制御の下で起動され
る。そこで、リクエストが受領される時、それは一時的
にリクエスト待ち行列310に送られる。サーバ1は起
動されており、恐らく利用可能であるので、スイッチ3
12は直ちにそのリクエストをサーバ1に送る。そこで
そのリクエストは処理され、その結果はネットワーク・
インターフェース300を通してクライアントに戻され
る。パフォーマンスの問題としては、ソケット・ハンド
ルとして知られたそのリクエストを表す別名が待ち行列
に入れられ、そしてそのリクエスト自体の蓄積交換を行
うのではなく、処理されるべきリクエストを識別するた
めにサーバに送られることが望ましいことも理解してほ
しい。(タスクを処理することができるサービスのプロ
グラム番号は既に与えられており、トランザクション・
マネージャへの接続はそれによって既に設定されている
ので、トランザクション・マネージャはそのリクエスト
に含まれる情報或いはそのリクエストに関する他の如何
なる詳細も必要としない。本発明の好適な実施例のこの
特徴は、後述するように、いわゆる伝送制御プロトコル
/インターネット・プロトコル(TCPIP)及びオー
プン・ソフトウエア・ファウンデーション/分散コンピ
ューティング環境(OSF/DCE)プロトコルのよう
な他のRPC機構及びシステムへの本発明の適用にとっ
て重要である。)
【0029】今、サーバ1におけるリクエストの処理中
に、第2のリクエストが同じクライアントから或いは他
のクライアントから受領されるものと仮定する。その第
2のリクエストは、利用可能な他のサーバがないので、
待ち状態にあるリクエスト待ち行列310に入れられ
る。しかし、サーバ1が第1のリクエストを処理し続け
ている間に第3のリクエストが同じクライアントから或
いは他のクライアントから受信される場合、待ち行列の
長さはレジスタ304におけるサーバ起動値に等しくな
り、サーバ2をその後起動する信号がサービス開始/停
止要素316に送られる。従って、サーバ2が利用可能
になる時、第2のリクエストがスイッチ312を通して
それに送られる。スイッチ312は各サーバのステータ
スに応答する。各サーバは、既に起動しているものとす
ると、スイッチ312及びサーバ・マックス・レジスタ
306にレポートする。第1サーバの起動以外はサンR
PC機構におけるように個々のサーバのステータスをポ
ートマッパ16'にレポートする必要はないので、ポー
トマッパは特定のサービスが利用可能であることを知る
ことになる。
【0030】一旦、サービスが利用可能になると、ポー
トマッパは接続がリクエストされた時にXMANアドレ
スを供給する必要があるだけであり、リクエストに対す
るサーバ割当はXMANによって処理されるであろう。
そこで、第3のリクエストは、先入れ先出しバッファの
形式であることが望ましいリクエスト待ち行列310に
おいて進められるが、サーバ起動値が待ち行列長を越え
ているので、それ以上のサーバはまだ起動されないであ
ろう。第1及び第2のリクエストが完了する前に第4の
リクエストが受領される場合、サーバ3は前述のものと
同じように起動されるであろう。すべてのリクエストの
処理が完了し、その結果がネットワーク・インターフェ
ース300を通して戻される時、そのサーバはリクエス
ト待ち行列から次のリクエスト(例えば、第3のリクエ
スト)を受けるように利用可能になる。
【0031】サーバは、リクエスト処理の結果を、その
リクエストの付随事項として及び他のリクエストを処理
するためのそのサーバの利用可能度を表すため以外にX
MAN110の如何なる関連もなしに、クライアントに
直接にコミュニケートする。これは、クライアントに直
接に戻された「結果」が一般には接続に対する肯定応答
及び承認、並びに終了に対する肯定応答及び戻りコード
である接続及び終了リクエストに対しても云えることで
ある。リクエスト待ち行列にリクエストがない場合、サ
ーバはアイドルとなるが、レジスタ又はカウンタ308
における値によって設定されたような所定の時間(例え
ば、30秒)が経過してしまうまで停止されない。
【0032】サーバを起動するために必要な処理オーバ
ヘッドから見て、サーバの起動においてほぼ同じ時間的
量の遅延、又はレジスタ302において指定された値よ
りも大きいリクエスト待ち行列の長さに依存した遅延を
与えることも適切である。同じ理由で、たとえ、コンカ
レント・サーバ使用のための全容量よりも小さい容量が
得られることをこれが意味しても、レジスタ304にお
ける値を1よりも大きい値にセットすることは適切であ
る。例えば、サーバを起動するために30秒が必要であ
る場合、サービス停止値に関係なくサービス開始値を1
にセットすることによるスループットにおける利得はな
いであろう。サービス開始値を2(又はそれ以上)の値
にセットすること及びサービス停止値を、サーバを起動
するために必要な時間と同じにセットすることによっ
て、リクエスト待ち行列310に残っているリクエスト
は如何なる前のリクエストの完了時にも任意の利用可能
なサーバに直ちに送られるので、処理スループットにお
ける利得が実際に得られる。
【0033】リクエストは受信される順序で処理される
ので、クライアントとサーバとの結び付きはないことに
留意すべきである。従って、サーバはクライアント・ア
イデンティティ(結果の宛先を除く)を知らず、そして
XMANは、サンRPC機構の下でクライアント・オペ
レーションと完全に整合した態様でサーバにリクエスト
を送られたRPCクライアントにとっては完全に透明で
ある。
【0034】同じ理由で、サーバは如何なるクライアン
ト又はクライアントのグループからのリクエストも同じ
速度で同時に処理することができ、反復したリクエスト
処理の制約はRPC機構から取り除かれる。同様に、サ
ーバの数が処理されるリクエストの数を越えている場
合、サーバと接続との関連ではなくサーバとリクエスト
との関連がリクエストを待つサーバの数を減少させる。
従って、サーバ・オペレーションに割り当てられるプロ
セッサ12の処理力の部分も最小に保持される。
【0035】更に、任意の所与の時間にサーバにリクエ
ストを送ろうとしている接続よりもずっと多くの接続が
設定及び維持可能である。しかし、更に重要なことに、
任意の単一のクライアントからの一連のリクエストの同
時処理は、更なる接続を設定するというオーバヘッドな
しで行われ、同時に、各クライアントに対するサービス
が最適化される。一方、登録の複雑さを少なくしてすべ
てのクライアントにリクエスト処理を適時に公平に与え
るための機構が設けられる。(それは、リクエストされ
たタスクを含むサーバと関連したトランザクション・マ
ネージャの利用可能度だけがポートマッパによって必ず
監視されるためである)。従って、本発明によって得ら
れる価値ある機能は、入力リクエストを種々の稼働サー
バに指示し且つ依然として接続時にクライアント及びサ
ーバの堅い結合により制限される接続マネージャの付加
によって得られるものとは大いに異なり、遥かに包括的
且つ有益である。
【0036】本発明の動作の特定の説明を上述したけれ
ども、本発明の望ましい動作は次の表に示された擬似コ
ードにおいて具体化される。
【表1】 BEGIN Initialize XMAN Start logging process Begin start of minimum number of servers for the service server_available = 0 service_queue = 0 init = 0 DO FOREVER wait for requests from clients or servers, timeout after <t> seconds for each request DO SWITCH(request_type) CASE CLIENT_CONNECT accept client connection CASE SERVER_CONNECT accept server connection CASE SERVER_REQUEST call process_server_request CASE CLIENT_REQUEST add client request to the server_queue service_queue =service_queue + 1 END-SWITCH END-for /* * 待ち行列からのクライアント・リクエストを処理する。 */ WHILE server_available > 0 AND service_queue > 0 DO give client request to the server server_available=server_available-1 service_queue=service_queue-1 END IF /* * 更なるサーバを起動する必要性をチェックする。 */ IF service_queue_length>server_start AND < server_max start another server for this service END IF /* * アイドル・サーバを停止する必要性をチェックする。 */ FOR each server running DO If server_idle_time>server_stop AND #_of_servers>server_min stop server server_avail=server_avail-1 END END-for END-DO END
【0037】サーバが起動される時にサーバを登録する
ための好適なプロシージャが次の表に示された擬似コー
ドにおいて具体化される。
【表2】 PROCEDURE process_server_request() BEGIN SWITCH(server_request_type) CASE SERVER_REGISTER /* * 各サーバが起動時に REGISTER を送る。第1登録がポート * マッパに送られる。 */ IF (service is not registered) then register RPC service with portmapper END IF CASE SERVER_IDLE /* * リクエストが終了した時、サーバが IDLE を送る。 */ server_avail = server_avail + 1 END-SWITCH END
【0038】上記の擬似コードは、図4、図5及び図6
のフローチャートに示されたプロセスを具体化したもの
である。しかし、図4、図5及び図6に示された方法は
望ましい方法を表しているけれども、それは、本発明の
望ましい機能を得る方法の理解を導くことを意図してお
り、以下の説明から、これに関する数多くの変形がある
ことは当業者には明らかである。更に、図示の方法が本
発明及びその機能の理解を導くことに関連して単純化さ
れていること、及びこの図では、その方法をプログラム
する時の相対的な効率或いはその方法を具体化するプロ
グラムの実行に対して、或いは任意の特定のプログラミ
ング言語で書かれたプログラムで具体化される如何なる
変形に対しても考慮が払われていないことに留意すべき
である。例えば、リクエストそのものに代わりにソケッ
ト・ハンドルをリクエスト待ち行列に与えることは処理
効率の関係では望ましいけれども、このようにソケット
・ハンドルを使用することは本発明の改良フィーチャで
あり、本発明の動作容易性にとって不可欠なものではな
く或いは動作原理にとっても重要ではない。この図で
は、図示のすべてのプロセス相互間に多少の遅延が存在
すること、及びリクエストの状態が図示のステップの実
行相互間で変化し得ることも理解されるべきである。図
4乃至図6に関する以下の説明は、上記の擬似コードに
関する付加的な注釈を与えるためのものと考えて欲し
い。
【0039】さて、図4を参照すると、本発明によるプ
ロセスはXMAN110の初期設定でもって始まる。そ
れは、エラー回復にとって有用であるログ・オペレーシ
ョンの開始を含む必要は全くない。初期の最小数のサー
バの起動は「サーバ最小値」302(図3)に従って始
められるであろう。これらのオペレーションは初期設定
ステップ405に含まれるものと考えられる。この処理
は大量の時間を費やすので、利用可能なサーバの数 "A
VAIL" はゼロにセットされ、そしてこの値は各サー
バ起動オペレーションが終了する時にインクレメントさ
れるであろう。又、待ち行列サイズ "Q SIZE" 又
は長さ変数はゼロにセットされ、ポートマッパ16'、
18'によるXMAN110の登録の実行、及び図5に
関連して後述するサンRPC機構のような既存のRPC
機構との互換性にとって都合のよい他の変数"INIT"
もステップ410においてゼロにセットされる。
【0040】しかる後、XMAN110は、ステップ4
15において、潜在的なクライアント又はサーバからの
リクエストを待つ(XMANへの接続は行われてしまっ
たので)。短い期間内に受領されるリクエストの数に基
づくブランチ機能420は、接続の受付に優先順位を与
える順序でリクエストをサービスするために複数の異な
るループを介する処理を制御すること、同様のタイプの
リクエストに対してクライアントとサーバとの間の優先
順位を設定すること、及びリクエストの受付に優先順位
を与え且つリクエストをサーバに割り当てる前にリクエ
スト相互間の順序を設定することに都合がよいと考えら
れる。従って、そのプロセスは、すべての入力リクエス
トがリクエスト待ち行列に入れられてしまった時(リク
エスト=0)だけC2にブランチする。
【0041】リクエストが受領される時、リクエストの
数がゼロを越えるようにリクエスト変数がインクレメン
トされ、そのリクエストはそれがクライアント・リクエ
スト(例えば、接続、タスク、又は終了のための)であ
るか或いはサーバ・リクエスト(例えば、登録のため
の)であるかを決定するためのテストが行われる。その
リクエストが潜在的クライアントからのものである場
合、第1のリクエストは、ステップ425において検出
されそしてステップ430において実行されるクライア
ント接続のためのものであろう。その場合、ステップ4
35において、リクエストの数がデクレメントされ、そ
してプロセスはステップ420に戻される。そのステッ
プ420は、サーバにリクエストを割り当てるためにC
2にブランチし、或いはサーバの起動又は停止(リクエ
スト=0の場合)或いはリクエストの更なる受付(リク
エスト>0の場合)のような他の処理を行う。
【0042】リクエストがクライアント接続のためのも
のではない場合、本発明のプロセスは、ステップ440
において、そのリクエストがサーバ起動オペレーション
の部分として発生されるサーバ接続リクエストかどうか
をテストする。それが肯定される場合、ステップ430
において、クライアント接続リクエストと同様にその接
続が受け付けられる。ブランチ・オペレーション425
及び430の順序は実質的に任意である。しかし、サー
バ接続は内部処理容量に影響し、しかも、クライアント
接続リクエストに対する応答は一般には遥かに多くそし
てユーザの便宜に影響するけれども追加のサーバ接続が
サーバへのリクエストの割当て前に受け付けられること
がむしろ重要であるので、クライアント接続の優先順位
の方がわずかに高い。
【0043】サーバ起動プロセスの最後の部分として、
登録のためのサーバ・リクエストが発生されるであろ
う。そのようなリクエストはステップ445において検
出され、C1へのブランチ及び後述する図5の登録プロ
セスを生じさせる。そうでない場合、ステップ450に
おいて、クライアント・リクエスト(例えば、タスク又
は終了のための)が検出されるであろう。そして、ステ
ップ460において、そのリクエストはリクエスト待ち
行列に入れられ、待ち行列サイズ又は長さ変数がインク
レメントされる。プロセスは、更なる処理のために、A
1及びステップ435によって形成されたループを通し
てステップ420に戻る。
【0044】本発明は管理リクエストの処理なしに実施
可能であるけれども、そのような能力は、本発明が実施
されるシステムの融通性及び能力を大いに拡張する。管
理リクエストはクライアントからも或いはサーバ・プロ
セッサ内からも受領可能である(例えば、割込又はサー
バ・プロセッサ・ハウスキーピングのために)。他の管
理コマンドが管理インターフェースから与えられてもよ
い。そのインターフェースは、サーバ・プロセッサが使
用しているオペレーティング・システムではないオペレ
ーティング・システムと互換性のあるサービスの開始又
は停止、ネットワークに接続された他のプロセッサにお
けるサーバにサーバ・ステータス又はアカウント/ログ
照会を与えるためのミラーリングのようなクライアント
からの更なるタイプのコマンドの処理を提供する。ブラ
ンチ・オペレーション425、440、445、及び4
50は、それぞれ、クライアント/サーバ関係に対して
何らかの関連のあるタイプのリクエストをすべて検出
し、ステップ450におけるクライアント・リクエスト
の検出の不成功はステップ470において管理リクエス
トを処理するためのブランチを生じさせ、従って、クラ
イアント・リクエストの実際の処理を介するが受付を介
さずに優先順位を与え、そしてその後の処理のために順
序付けを行う。
【0045】ブランチ・オペレーション445に戻る
と、サーバ・リクエストはサーバの起動の最後のステー
ジで、或いはサーバの起動の終了時に発生されることを
上述した。又、XMAN110(個々のサーバではな
い)は、サーバがクライアントにサービスを提供するた
めに動作している時、ポートマッパ16'、18'によっ
て登録されなければならないことも上述した。変数"I
NIT"がゼロにセットされることもXMAN初期設定
プロシージャと関連して上述した。次ぎに、XMANの
登録を図5と関連して説明する。
【0046】詳しく云えば、サーバ(例えば、サーバ最
小値によって指定された数のサーバの1つ)が起動され
そしてクライアント・リクエストをサービスすることが
できる場合、XMAN(サンRPCにおけるような個々
のサーバではない)がポートマッパ16'、18'によっ
て登録される。一旦、XMANがポートマッパによって
登録されると、それ以上の登録は不必要であり、そして
それが行われる場合、それは不明瞭な或いは非効率的な
処理を生じさせることがある。それにも関わらず、特定
のサービスを提供するすべてのサーバが同じアプリケー
ションであることを想起すると、終了時のサーバ起動プ
ロセスは登録のためのリクエストを発生するであろう。
図5の処理は、サーバによる登録を求める初期のリクエ
スト時にXMANの登録を1回だけ行って、その後は、
それ以上のそのようなリクエスト(例えば、リクエスト
待ち行列長に応答して更なるサーバが起動される時に発
生される)を阻止するように働く。これは、次のような
個別のわずかに異なるサーバ・アプリケーション、即
ち、特定の順序で起動されなければならず、個々に記憶
及びアクセスされなければならず、しかも或る期間にわ
たって維持及び更新される時、提供されるサービスの差
を潜在的に含み得るようなアプリケーション、を提供す
るよりもずっと望ましいことである。
【0047】登録するためのサーバ・リクエストの検出
はブランチ・オペレーション445において検出され、
図5のC1へのブランチを生じさせる。利用可能なサー
バの数を表す変数(例えば、図3のレジスタ306に維
持される)は、他のサーバが起動され且つ利用可能であ
ることを表すためにインクレメントされる。ステップ5
10において検出されるように、そのサーバ・リクエス
トが登録のためのものである場合、ステップ515にお
いて、"INIT"変数が値を調べられる。INIT=0
である場合、それは1にセットされ、XMANはポート
マッパによって登録される。INITが既に1に等しい
場合、XMANは前に登録されており、図5のプロセス
はA1で終了して図4のステップ435及び420に進
む。サーバ・リクエストがタスクの入力又はエラー回復
割込を制御するためのもののような、起動される時の登
録のためのものではない場合、ステップ510において
A1への同様の終了が与えられる。
【0048】本発明の原理の理解には関係ないけれど
も、或いはそれの実施にも必要ないけれども、ステップ
525では、同じブランチ・オペレーション510に応
答して、A1への戻りの前に他のサーバ・リクエストが
任意選択的に処理可能である。例えば、各サーバに対し
てログ及びアカウント機能(前述の管理インターフェー
スによって照会可能であるような)を遂行するために、
或いはサーバ停止パラメータとアイドル時間とを比較す
るためのサーバの最後の使用の時間を捕捉するために、
このブランチ・オペレーションを使用することが非常に
有用であることがわかった。
【0049】これに関して、サーバのアイドル・ステー
タスはオペレーション505において利用可能度の表示
によって行われる。いずれにしても、このブランチ・オ
ペレーション510は他の処理(しかし、接続処理では
ない)より上の十分な処理優先順位を与え、クライアン
ト・リクエストを処理する時サーバが満足に動作するこ
と及びクライアント・リクエストをサーバに割り当てる
前にサーバ・ステータスが適時に更新されることを確実
にする。
【0050】次に、図4のブランチ・オペレーション4
20に戻ると、本発明によるプロセスは、リクエスト変
数がステップ435においてデクレメントされてゼロに
等しい時、図6のC2にブランチする。ステップ605
において、利用可能なサーバの数 "AVAIL" がゼロ
よりも大きく且つ如何なるリクエストも待ち行列に残っ
ていない場合、ステップ610において、その待ち行列
における次のリクエストは、処理のために及びクライア
ントへのその結果の直接レポートのために、利用可能な
サーバへ送られ、そして利用可能なサーバの数及び待ち
行列長がデクレメントされる。そこで、プロセスはステ
ップ605にループ・バックし、そして、その待ち行列
が空になるまで或いはすべてのサーバがタスクをそれら
に送られてしまうまで反復する。これらの代替方法はス
テップ615及び625において間接的に明らかにされ
る。
【0051】待ち行列長がサーバ起動変数(図6では、
N)よりも大きく、従って、利用可能なサーバの数がゼ
ロであるか又は現在XMANを構成するサーバ起動変数
よりも小さい(従って、待ち行列サイズは非ゼロであ
る)ことをブランチ・オペレーション615が決定する
場合、その時XMANを構成するサーバ最大値よりも稼
働しているサーバの数が小さい時、ステップ620にお
いて、他のサーバの起動が開始される。ステップ615
において、時間遅れが望ましい場合、それがこのプロセ
スに課される。(又、サーバ最大変数に対するサーバの
数のテストは、望ましければ、図示のようにステップ6
20においてではなくステップ615において行われて
もよい)。サーバが起動されるか、或いはサーバの数が
サーバ最大値に等しい場合、勿論、ブランチ・オペレー
ション625が、処理を継続するために図4のA0への
ブランチを生じさせる。それ以上のサーバの起動が開始
された場合、この処理は、前述のように、サーバを首尾
よく起動した時に図5にブランチすること、利用可能な
サーバの数をインクレメントすること、そして、新たに
起動したサーバにリクエストを送るために図6のC2に
再びブランチすることを含むであろう。
【0052】一方、待ち行列サイズ又は長さがサーバ起
動変数よりも大きくない場合、サーバはアイドルするか
或いは更なるクライアント・リクエストが受領されない
場合には間もなくそうなるであろう。更なるクライアン
ト・リクエストが実際に受領される場合、それらは、接
続を受け付けること、サーバ・リクエストを処理するこ
と又はクライアント・リクエストを待ち行列に配置する
こと、前述のように1つ又は複数のサーバの起動を生じ
させることによって順当に処理される。さもなければ、
待ち行列が空になり、タスクが終了してサーバをアイド
ルする時、各サーバはアイドル時間の間ポールされるで
あろう。その値がサーバ停止変数を超える場合、ステッ
プ630において、サーバ・プロセッサ12' における
利用可能な処理容量を最大にするためにサーバは停止
し、そして図6のプロセスは更なるリクエストを待つた
めに図4のA0に進む。
【0053】本発明の方法が、クライアント/サーバ関
係を設定するサンRPC機構のようなRPC機構の詳細
とは全く無関係であることは、前述の説明からも明らか
である。更に詳しく云えば、その方法は接続を設定する
方法とは全く無関係であり、RPC機構において与えら
れる接続を設定するための如何なる機構も前述の方法と
ほとんど同じ方法で適応可能である。必要とされること
は、潜在的なクライアントからのサービスを求めるリク
エストに応答して特定のサーバ・アドレスではなくXM
ANアドレスをポートマッパから戻すと云うような、X
MANに対応するサービスが提供し得るリクエストされ
たタスクと関連してXMANアドレス(図5に示され且
つ上記の擬似コードに含まれたプロセス・サーバ・リク
エスト・ルーチンによってポートマッパ16'、18'に
与えられる)を提供することである。更に、接続プロセ
スを特定のサーバから切り離すことは、リクエストが待
ち行列化されること及びサーバがリクエストされたタス
クに、リクエストが受領された順序で割り当てられるこ
とを可能にする。その結果、適時のサービス及びクライ
アント相互間の非常に公平なサービスの割当が生じ、一
方、更に多くのクライアント接続を維持することが更に
可能になる。
【0054】更に、前述のように、接続の設定は完全に
サーバから切り離され(例えば、ステップ425、44
0、445、及び450(ステップ450乃至A1)に
おけるループによって)、そして、すべてのコミュニケ
ーション・プロトコル、異なるオペレーティング・シス
テムの適応、ログ・サービス、承認ファイル、管理イン
ターフェース、及びクライアントとサーバとの間の他の
互換性の問題は設定された接続を介したネットワーク・
コミュニケーションの発生事象として既知の方法で適応
可能である。従って、サーバはこれらの問題のいずれに
も適応する必要がなく、従って、本発明は如何なるオペ
レーティング・システム及びコミュニケーション装置に
も適用可能にされる。前述の説明から見て、本発明は、
すべてのリクエスティング・クライアントに対する適時
のサービス及び公平な資源の割当を提供しながら、コミ
ュニケーション・オーバヘッドを増大させることなくコ
ンカレント・サーバに対するサポートを単一のクライア
ントに提供することがわかる。更に、いつでも維持可能
なクライアント/サーバ接続の数はずっと増加し、設置
可能なサーバの数によって制限されない。クライアント
からの現在リクエストされたタスクすべての終了時に接
続を破棄し、他のリクエストの依頼で接続を再設定する
必要性及び処理オーバヘッドは減少する。
【0055】本発明を1つの好適な実施例によって説明
したけれども、本発明がその精神及び技術範囲内で修正
することによっても実施し得るものであることは当業者
が認めるところであろう。
【0056】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0057】(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)に記載のトランザクション・マネー
ジャ。
【図面の簡単な説明】
【図1】代表的なRPCアーキテクチャの高レベルの概
略図である。
【図2】本発明を含むネットワーク・アーキテクチャを
表す高レベルの概略図である。
【図3】本発明のトランザクション・マネージャの望ま
しい形式の概略的ブロック図である。
【図4】本発明の望ましい形式の動作を示すフローチャ
ートである。
【図5】本発明の望ましい形式の動作を示すフローチャ
ートである。
【図6】本発明の望ましい形式の動作を示すフローチャ
ートである。
【符号の説明】
12'・・・プロセッサ 20 ・・・クライアント 30 ・・・ネットワーク

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】データ・プロセッサ上でリモート・プロシ
    ージャ・コールを実行する方法にして、 リモート・プロシージャ・コールに関係なく前記データ
    ・プロセッサ上でサービスを提供するサーバを起動する
    ステップと、 前記データ・プロセッサと更なるデータ・プロセッサと
    の間に接続を設定するステップと、 前記サービスに含まれるタスクに対する少なくとも1つ
    のリクエストを前記接続を介して受領するステップと、 前記接続を設定するステップに関係なく、利用可能なサ
    ーバを前記少なくとも1つのリクエストに受領の順序で
    割り当てるステップと、 を含む方法。
  2. 【請求項2】サーバの割当を待っているリクエストの数
    が構成値を越える時、前記データ・プロセッサにおける
    もう1つのサーバを起動するステップを含むことを特徴
    とする請求項1に記載の方法。
  3. 【請求項3】前記データ・プロセッサにおけるアイドル
    ・サーバを一定量の時間遅れ後に停止するステップを含
    むことを特徴とする請求項2に記載の方法。
  4. 【請求項4】前記時間遅れはサーバを起動するために必
    要な時間の量に従ってセットされることを特徴とする請
    求項3に記載の方法。
  5. 【請求項5】リクエストの表示を待ち行列に配置するス
    テップを含むことを特徴とする請求項2に記載の方法。
  6. 【請求項6】前記リクエストの表示はソケット・ハンド
    ルであることを特徴とする請求項5に記載の方法。
  7. 【請求項7】リクエストを待ち行列に配置するステップ
    を含むことを特徴とする請求項2に記載の方法。
  8. 【請求項8】サーバ・トランザクションをログするステ
    ップを含むことを特徴とする請求項1に記載の方法。
  9. 【請求項9】サーバによるクライアント・リクエストの
    処理の完了をタイム・スタンプするステップを含むこと
    を特徴とする請求項1に記載の方法。
  10. 【請求項10】管理コマンドを処理するステップを含む
    ことを特徴とする請求項1に記載の方法。
  11. 【請求項11】第1プロセッサ上でサービスを提供する
    サーバを起動するための手段と、 前記サーバに無関係に第2データ・プロセッサと前記第
    1データ・プロセッサとの間に接続を設定するための手
    段と、 前記サービスに含まれたタスクに対する少なくとも1つ
    のリクエストを受領するための手段と、 前記接続を設定するための手段に関係なく、利用可能な
    サーバを前記タスクに受領の順序で割り当てるための手
    段と、 を含むデータ処理ネットワークのためのトランザクショ
    ン・マネージャ。
  12. 【請求項12】サーバの割当を待っているリクエストの
    数が構成値を越える時、前記データ・プロセッサにおけ
    る更なるサーバを起動するための手段を含むことを特徴
    とする請求項11に記載のトランザクション・マネージ
    ャ。
  13. 【請求項13】前記データ・プロセッサにおけるアイド
    ル・サーバを一定量の時間遅れ後に停止するための手段
    を含むことを特徴とする請求項12に記載のトランザク
    ション・マネージャ。
  14. 【請求項14】前記時間遅れは構成可能パラメータを記
    憶するための手段を含むことを特徴とする請求項13に
    記載のトランザクション・マネージャ。
  15. 【請求項15】前記構成可能なパラメータはサーバを起
    動するために必要な時間の量に従ってセットされること
    を特徴とする請求項14に記載のトランザクション・マ
    ネージャ。
JP04939697A 1996-03-05 1997-03-04 リモート・プロシージャ・コールを実行する方法及びトランザクション・マネージャ Expired - Lifetime JP3364575B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0319796B1 (en) * 1987-11-26 1995-08-16 Hitachi, Ltd. Job control for an on-line system
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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