JP3762846B2 - サーバのグループに関する作業負荷管理を行うデータ処理装置および方法 - Google Patents
サーバのグループに関する作業負荷管理を行うデータ処理装置および方法 Download PDFInfo
- Publication number
- JP3762846B2 JP3762846B2 JP09634699A JP9634699A JP3762846B2 JP 3762846 B2 JP3762846 B2 JP 3762846B2 JP 09634699 A JP09634699 A JP 09634699A JP 9634699 A JP9634699 A JP 9634699A JP 3762846 B2 JP3762846 B2 JP 3762846B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- work request
- availability data
- group
- client
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 14
- 238000000034 method Methods 0.000 title description 9
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims 4
- 238000007726 management method Methods 0.000 description 18
- 238000011084 recovery Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、1つのコンピューティング装置(クライアント)が別のコンピューティング装置(サーバ)に対してクライアントの作業の一部を実行するように要求する、分散形式のクライアント/サーバ・コンピューティング・システムに関する。
【0002】
【従来の技術】
情報技術の世界では、ここ数年、クライアント/サーバ・コンピューティングがますます重要になっている。この形式の分散コンピューティングでは、1つの計算機がその作業の一部を、たとえばその作業を実行するのにより適していると考えられる別の計算機に代行させることができる。たとえば、サーバは、膨大な量のデータの記憶機構を管理するデータベース・プログラムを実行する高性能コンピュータであり、クライアントは、そのローカル・プログラムの1つで使用するためのそのデータベースに対して情報を要求する単なるデスクトップ・パーソナル・コンピュータ(PC)である。
【0003】
今日のクライアント/サーバ・コンピュータ・ネットワークでは、メッセージ待ち行列化(メッセージ・ブローカリングとも呼ぶ)データ処理技法が普及している。この技法は、クライアントとサーバの両方がオペレーティング・システム、データ形式、および通信プロトコルに関して互いにきわめて異なっている場合であっても、クライアントがサーバと通信することができるようにする。さらに、この技法の非同期性のために、クライアントはサーバにメッセージを送り、サーバはそのメッセージを待ち行列に記憶し、そのメッセージを後で処理して応答することができる。これは、クライアントとサーバがリアルタイムで対話する必要があった(たとえば、クライアントはサーバが応答するのを待ってから、他のタスクに進む)同期クライアント/サーバ・モデルとはまったく異なる。
【0004】
メッセージ待ち行列化と、その市販の製品については、「Messaging and Queuing Using the MQI」(B.Blakeley, H.Harris & R. Lewis, McGraw-Hill, 1994)およびIBMコーポレイションから入手可能な刊行物「An Introduction to Messaging and Queuing」(IBM資料番号 GC33-0805-00)および「MQSeries - Message Queue Interface Technical Reference」(IBM資料番号 SC33-0850-01)に記載されている。「IBM」および「MQSeries」は、IBMコーポレイションの商標である。MQSeriesメッセージング・ソフトウェア製品は、トランザクション・メッセージング・サポート機能を備え、システム障害または通信障害が発生した場合でも、確実な1回のみのメッセージ配信を行うメッセージング・プロトコルに従って、作業論理単位内でメッセージを同期させる。MQSeries製品は、受信側システムによって無事に記憶されたことが確認されるまで、メッセージを送信側システム上の記憶域から最終的に削除しないことおよび高度な回復システムの使用によって確実な配信を実現する。正常な記憶を確認すると、メッセージの転送をコミットする前に、送信側システムの記憶域からのメッセージの削除と受信側システムにおける記憶域への挿入の両方が「不確か」な状態に維持され、万一障害が起こった場合には自動的にバックアウトすることができる。このメッセージ送信プロトコルとそれに付随するトランザクション概念および回復機能については、国際特許出願WO95/10805号および米国特許第5465328号に記載されている。
【0005】
メッセージおよび待ち行列化ソフトウェア・アーキテクチャを使用するネットワークなどの非同期クライアント/サーバ・ネットワークでは、サーバのグループを設けて、そのグループの各サーバが或るクライアントの要求(以下「クライアント要求」、「作業要求」または「要求」とも称する)を満たすことができるようにすることが一般的になりつつある。このようにすると、1つのサーバがビジーの場合、要求を別のサーバに転送することができるため、或るクライアントの要求に対してより迅速に対処することができる。一般には、どのサーバに特定の要求の処理を割り当てるべきかに関する決定は、クライアント側の作業負荷管理ユニットが、各サーバからの使用可能性データを決定の根拠として使用して行う。このような使用可能性データのすべてがまだ入手可能でない場合、作業負荷管理ユニットは、そのようなデータを受け取るまで待ってから、完全なデータ・セットを使用してサーバを決定する。その後、クライアント要求は、作業負荷管理ユニットによって選択されたサーバの識別標識が付加されて、送信待ち行列に入れられ、選択されたサーバへの送信を待つ。また、クライアントは、選択されたサーバの識別標識を含む、待ち行列化された要求に関する何らかの情報をローカル記憶域に書き込み、それによって、送信されたクライアント要求をサーバが受け取らなかったというような送信上の問題が発生した場合には、クライアントからサーバへその要求を再送することができるようにする。
【0006】
【発明が解決しようとする課題】
前述の公知技術が不利であるのは、作業負荷管理ユニットが、各サーバの使用可能性データの状態を絶えず調べて、そのようなデータをすべてのサーバから完全に受信した時点を決定しなければならない複雑なソフトウェア部分を含む必要があるためである。この複雑なソフトウェア・プログラミングによって、システム全体に多大な余分のコストが増える。
【0007】
さらに、使用可能性データをまだ全部受け取っていない場合、サーバ・グループに要求を送信することができず、したがって、データ送信プロセスがクライアント側で停止する。これは、高速の送信速度がきわめて重要な環境では特に不利である。
【0008】
【課題を解決するための手段】
第1の側面に従って、本発明は、非同期クライアント/サーバ・コンピューティング・システムにおけるクライアント内でサーバのグループに関する作業負荷管理を行うデータ処理装置を提供する。このデータ処理装置は、クライアント上で実行中のクライアント・アプリケーションから作業要求を受け取る手段と、この作業要求を最初に受け取ったときにグループ内のすべてのサーバに関する使用可能性データが入手可能でない場合であっても、そのときに現に入手可能なグループ内の各サーバに関する使用可能性データを調べ、当該使用可能性データに基づいて受け取った作業負荷要求を満たすために使用すべきグループ内の特定のサーバを選択する手段と、受け取った作業要求にその送信宛先が特定のサーバであることを示す識別標識を付加してクライアントの側の送信待ち行列に入れ、この作業要求が特定のサーバへ送信されるまで、この作業要求を送信待ち行列内で待機させる手段とを有する。
【0009】
好ましくは、このデータ処理装置は、作業要求が最初に受け取られたときから特定のサーバへ送信されるまでの期間に、使用可能性データが変更されたか否かを決定する手段と、使用可能性データが変更された場合、当該変更された使用可能性データを調べ、当該変更された使用可能性データに基づいて受け取った作業要求を満たすために使用すべきグループ内の新しいサーバを選択する手段と、新しいサーバが特定のサーバと異なる場合、作業要求がグループ内の特定のサーバとは異なる新しいサーバに送られるように、送信待ち行列に入れられている作業要求の送信宛先を示す識別標識を更新する手段とを有する。
【0010】
さらに好ましくは、変更された使用可能性データは、作業要求が最初に受け取られたときに入手可能でなかったグループ内のサーバに関する使用可能性データを含む。あるいは、変更された使用可能性データは、作業要求が最初に受け取られたときに入手可能であったグループ内のサーバに関する使用可能性データとは異なる変更済みの使用可能性データを含む。
【0011】
第2の側面に従って、本発明は、前述したデータ処理装置の機能を実行する方法を提供する。
【0012】
したがって、本発明によると、使用可能性データをすべて受け取ったか否かを絶えず調べる必要がないため、作業負荷管理ユニット・ソフトウェアが大幅に単純化される。その代わりに、単純なソフトウェア・アーキテクチャを使用して、すべてのクライアント要求を同様に取り扱うことができる。すなわち、或るクライアントによって要求が発行されるとただちに、使用可能性データの現状態を使用して決定が行われ、その要求が送信待ち行列に送られる。また、そのクライアント要求自体を記録するのと同じ動作の一部として、その要求の宛先が永続記憶域に記録される。
【0013】
要求が送信待ち行列から選択されたサーバへ送信される前に新しい使用可能性データが入手可能になった場合、新たなサーバの選択を行うことができ、その要求を異なるサーバに送られるように更新することができる。しかし、要求が送信待ち行列から送信される前に新しい使用可能性データが入手可能でない場合、その要求は、グループ内の各サーバの使用可能性データが入手可能であるか否かに関係なく、選択されたサーバに送られる。したがって、本発明の追加の利点は、作業負荷管理ユニットが各サーバからの使用可能性データが入手可能になるまで待たなければならないことに起因する送信遅延がないということである。本発明は、作業要求を受け取った時点で入手可能な使用可能性データを使用して、グループ内のどのサーバを選択すべきかに関する最初の決定を行う。まれな状況でのみ新しい使用可能性データが現れ、その宛先の新たな記録を行う必要がある。
【0014】
【発明の実施の形態】
図1では、クライアント11が通信ネットワーク13を介してサーバ(121、122、123)のグループ12と通信を行う。クライアント11とサーバ・グループ12は、前述のMQSeriesなどのメッセージングおよび待ち行列化ソフトウェア製品を実行しており、それによってクライアントとサーバの間で非同期通信が行われる。すなわち、クライアントがサーバに作業要求を送るとき、サーバは動作可能状態でなくてもよい。要求は待ち行列に入れられ、サーバは後で動作可能になったときに、その待ち行列化された要求を取り出すことができる。メッセージングおよび待ち行列化製品は、クライアント11がネットワーク13を介してサーバ・グループ12と対話することができるようにするために必要な通信プロトコル変換も行う。
【0015】
好ましい実施形態では、クライアントとサーバは、ネットワーク13によって接続された別々の処理ユニット内にあるが、本発明は、このアーキテクチャには限定されない。クライアントとサーバ・グループが同じデータ処理ユニット内にあってもよいからである。
【0016】
クライアント11は、クライアント・アプリケーション111とメッセージングおよび待ち行列化ソフトウェア・システム(以下「メッセージングおよび待ち行列化ソフトウェア」と称する)112とを含み、当該ソフトウェア112は、作業負荷管理ユニット112aと送信待ち行列112bを含む。クライアント・アプリケーション111は、サーバに作業要求を発行する消費側ソフトウェア部分である。サーバが要求された作業を行うと、その結果がクライアント・アプリケーション111に返される場合がある。送信待ち行列112bは、メッセージングおよび待ち行列化ソフトウェアの一部であり、クライアント・アプリケーション111から受け取った作業要求を、ネットワーク13を介してサーバ・グループ12に伝える前に待ち行列化するために使用される。作業負荷管理ユニット112aも、メッセージングおよび待ち行列化ソフトウェアの一部であり、クライアント・アプリケーション111から受け取った各作業要求ごとに、サーバ・グループ12から1つのサーバ121、122、または123を選択する役割を果たすソフトウェア要素である。
【0017】
作業負荷管理ユニット112aは、ネットワーク13を介してグループ内の各サーバ121、122、123に関するデータ(以下「使用可能性データ」と称する)を受け取る。この使用可能性データは、各サーバがクライアントからの新しい作業要求を受け入れる用意があるか否かに関する各サーバの現在の使用可能性を示す。作業負荷管理ユニットは、この使用可能性データを使用して、特定の作業要求を満たすためにどのサーバ121、122、または123を選択すべきかを決定する。
【0018】
以下、図2のフローチャートを参照しながら、メッセージングおよび待ち行列化ソフトウェア112の動作を説明する。
【0019】
ステップ21で、メッセージングおよび待ち行列化ソフトウェア112は、クライアント・アプリケーション111から作業要求を受け取る。ステップ22で、作業負荷管理ユニット112aは、データ使用可能性テーブル(図3を参照)を調べて、受け取った作業要求を処理するグループ12内のサーバの使用可能性を決定する。
【0020】
図3で、作業要求を受け取った時点を時点1と称する。時点1で、使用可能性テーブルは、(時点1とサーバ1とが交点を成すボックス内で「使用可能」を表す文字Aによって示されているように)作業要求を受け取るためにサーバ1(121)が使用可能であることを示すとともに、(時点1とサーバ2とが交点を成すボックス内の「使用不能」を表す文字NAによって示されているように)サーバ2(122)が作業要求を受け取るために使用不能であることを示している。また、時点1で、図3の使用可能性テーブルにはサーバ3(123)の項目がなく、したがってサーバ3がその使用可能性データをクライアント11のメッセージングおよび待ち行列化ソフトウェア112にまだ供給していないことを示していることに留意されたい。
【0021】
時点1において使用可能性データがこの状態の場合、サーバ1は使用可能で、サーバ2は使用不能であり、サーバ3が使用可能であるか否かが不明である。このため、作業負荷管理ユニット112aは、この作業要求に割り当てるためにサーバ1(121)を選択する(ステップ23)。次に、この作業要求は、送信待ち行列112bに入れられ(ステップ24)、そこで、この作業要求がサーバ1(121)に送られるべきであることを示す識別標識がこの作業要求に付加される。次に、この作業要求は、サーバ1(121)が要求を受け取る準備が整ったことを示すまで、送信待ち行列112bに入っている(場合によっては、サーバ1はクライアント11とは異なる時間帯にあり、時点1で動作可能でない)。
【0022】
時点1より少し後の時点2では、クライアント11は更新された使用可能性データを受け取っており、ステップ25で、その受信がメッセージングおよび待ち行列化ソフトウェア112によって決定される。したがって、制御はステップ22にループして戻り、そこで、作業負荷管理ユニット112aが再び使用可能性データを調べ、今度は、(時点2とサーバ1とが交点を成すボックスで「使用可能」を表す文字Aによって示されているように)サーバ1がまだ使用可能であり、(時点2とサーバ2とが交点を成すボックスで「使用可能」を表す文字Aによって示されているように)サーバ2が使用可能になっており、(時点2とサーバ2とが交点を成すボックスで「使用不能」を表す文字NAによって示されているように)サーバ3は使用不能であることを決定する。したがって、時点1と時点2の間の期間に、サーバ・グループ12からクライアント11に新しい使用可能性データが送られており、サーバ2がその使用可能性を変え、前には使用可能性データを供給していなかったサーバ3が使用可能性データを供給している。
【0023】
したがって、ステップ23で、作業負荷管理ユニット112aは、この更新された使用可能性データを使用して、3つのサーバのうちの1つを選択する。どのようなプログラム式作業負荷分散方式でも使用できるが、最も効率的なのは、2つのサーバが現に使用可能であり且つフローチャートの以前のパスでそのうちの一方のサーバがすでに選択されている場合、そのサーバがそのまま使用され、それによって送信待ち行列112bに入っている作業要求を変更する処理能力を費やさなくても済むようにする方式であろう。これによって、送信障害があった場合の回復のために、各作業要求ごとに選択されたサーバをローカル記憶域に記録しなければならないため、ローカル記憶域へのデータ書き込み動作も省かれる。したがって、この場合、ステップ24の結果、待ち行列化された作業要求は更新されないことになる。
【0024】
次に、時点2より後の時点3で、作業要求はまだ待ち行列112に入っており、新しい使用可能性データが受け取られている。ステップ25で、そのようなデータの受信がメッセージングおよび待ち行列化ソフトウェア112によって通知される。したがって、制御はループしてステップ22に戻り、そこで、図3の使用可能性テーブルを再び調べて、その新しい使用可能性データに基づいて選択されたサーバを変更する必要があるか否かが決定される。図3に示すように、今度はサーバ1が使用不能であり、サーバ2は依然として使用可能であり、サーバ3が使用可能になっている。したがって、ステップ23で、作業負荷管理ユニット112aは、サーバ2またはサーバ3の何れかを選択する。この場合も、この2つのサーバのどちらを使用するかを選択するために、任意の一般的な作業負荷分散アルゴリズムを使用することができる。「ラウンド・ロビン」方式によると、サーバ1の後の次の順番がサーバ2であるため、サーバ2が選択される(さらにその後の回ではサーバ3が次の順番になる)。
【0025】
次に、ステップ24で、送信待ち行列112b内の作業要求が更新され、それによってその要求に、その宛先がサーバ1ではなくサーバ2であることを示す識別標識が付加される。このステップは、必要な場合、データ回復のための記録を提供するためにローカル記憶域への書き込みも行う必要がある。
【0026】
この動作中のある時点で、選択されたサーバは送信待ち行列112bから作業要求を取り出し、その要求がネットワーク13を介してサーバ2に送信され、したがって特定の作業要求についての図2の循環的な流れが終わる。
【0027】
本発明の基本的前提条件は、使用可能性データがあまり頻繁に変化せず、ステップ25で肯定の分岐をとってステップ22に再びループし、図3のテーブルを再度調べる必要があるのはきわめてまれであるということである。したがって、サーバの最初の選択は、クライアント・アプリケーションによって要求が発行された後のきわめて早い時点で行われる。これによって作業要求が可能な限り迅速に送信待ち行列112bに入れられると同時に、現在入手可能な使用可能性データが使用され、それによってサーバ・グループへの送信のために要求を迅速かつ効率的に処理することができる。この初期サーバ選択を変更する必要があるのは、使用可能性データが変化した場合のみである。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態が機能する基本的なクライアント/サーバ環境を示すブロック図である。
【図2】本発明の好ましい実施形態による、メッセージングおよび待ち行列化ソフトウェアによって行われるステップを示すフローチャートである。
【図3】本発明の好ましい実施形態による、メッセージングおよび待ち行列化ソフトウェアの作業負荷管理ユニットによって調べられる使用可能性データを示すテーブルである。
【符号の説明】
11 クライアント
111 クライアント・アプリケーション
112 メッセージングおよび待ち行列化ソフトウェア
112a 作業負荷管理ユニット
112b 送信待ち行列
12 サーバ・グループ
121〜123 サーバ
13 通信ネットワーク
【発明の属する技術分野】
本発明は、1つのコンピューティング装置(クライアント)が別のコンピューティング装置(サーバ)に対してクライアントの作業の一部を実行するように要求する、分散形式のクライアント/サーバ・コンピューティング・システムに関する。
【0002】
【従来の技術】
情報技術の世界では、ここ数年、クライアント/サーバ・コンピューティングがますます重要になっている。この形式の分散コンピューティングでは、1つの計算機がその作業の一部を、たとえばその作業を実行するのにより適していると考えられる別の計算機に代行させることができる。たとえば、サーバは、膨大な量のデータの記憶機構を管理するデータベース・プログラムを実行する高性能コンピュータであり、クライアントは、そのローカル・プログラムの1つで使用するためのそのデータベースに対して情報を要求する単なるデスクトップ・パーソナル・コンピュータ(PC)である。
【0003】
今日のクライアント/サーバ・コンピュータ・ネットワークでは、メッセージ待ち行列化(メッセージ・ブローカリングとも呼ぶ)データ処理技法が普及している。この技法は、クライアントとサーバの両方がオペレーティング・システム、データ形式、および通信プロトコルに関して互いにきわめて異なっている場合であっても、クライアントがサーバと通信することができるようにする。さらに、この技法の非同期性のために、クライアントはサーバにメッセージを送り、サーバはそのメッセージを待ち行列に記憶し、そのメッセージを後で処理して応答することができる。これは、クライアントとサーバがリアルタイムで対話する必要があった(たとえば、クライアントはサーバが応答するのを待ってから、他のタスクに進む)同期クライアント/サーバ・モデルとはまったく異なる。
【0004】
メッセージ待ち行列化と、その市販の製品については、「Messaging and Queuing Using the MQI」(B.Blakeley, H.Harris & R. Lewis, McGraw-Hill, 1994)およびIBMコーポレイションから入手可能な刊行物「An Introduction to Messaging and Queuing」(IBM資料番号 GC33-0805-00)および「MQSeries - Message Queue Interface Technical Reference」(IBM資料番号 SC33-0850-01)に記載されている。「IBM」および「MQSeries」は、IBMコーポレイションの商標である。MQSeriesメッセージング・ソフトウェア製品は、トランザクション・メッセージング・サポート機能を備え、システム障害または通信障害が発生した場合でも、確実な1回のみのメッセージ配信を行うメッセージング・プロトコルに従って、作業論理単位内でメッセージを同期させる。MQSeries製品は、受信側システムによって無事に記憶されたことが確認されるまで、メッセージを送信側システム上の記憶域から最終的に削除しないことおよび高度な回復システムの使用によって確実な配信を実現する。正常な記憶を確認すると、メッセージの転送をコミットする前に、送信側システムの記憶域からのメッセージの削除と受信側システムにおける記憶域への挿入の両方が「不確か」な状態に維持され、万一障害が起こった場合には自動的にバックアウトすることができる。このメッセージ送信プロトコルとそれに付随するトランザクション概念および回復機能については、国際特許出願WO95/10805号および米国特許第5465328号に記載されている。
【0005】
メッセージおよび待ち行列化ソフトウェア・アーキテクチャを使用するネットワークなどの非同期クライアント/サーバ・ネットワークでは、サーバのグループを設けて、そのグループの各サーバが或るクライアントの要求(以下「クライアント要求」、「作業要求」または「要求」とも称する)を満たすことができるようにすることが一般的になりつつある。このようにすると、1つのサーバがビジーの場合、要求を別のサーバに転送することができるため、或るクライアントの要求に対してより迅速に対処することができる。一般には、どのサーバに特定の要求の処理を割り当てるべきかに関する決定は、クライアント側の作業負荷管理ユニットが、各サーバからの使用可能性データを決定の根拠として使用して行う。このような使用可能性データのすべてがまだ入手可能でない場合、作業負荷管理ユニットは、そのようなデータを受け取るまで待ってから、完全なデータ・セットを使用してサーバを決定する。その後、クライアント要求は、作業負荷管理ユニットによって選択されたサーバの識別標識が付加されて、送信待ち行列に入れられ、選択されたサーバへの送信を待つ。また、クライアントは、選択されたサーバの識別標識を含む、待ち行列化された要求に関する何らかの情報をローカル記憶域に書き込み、それによって、送信されたクライアント要求をサーバが受け取らなかったというような送信上の問題が発生した場合には、クライアントからサーバへその要求を再送することができるようにする。
【0006】
【発明が解決しようとする課題】
前述の公知技術が不利であるのは、作業負荷管理ユニットが、各サーバの使用可能性データの状態を絶えず調べて、そのようなデータをすべてのサーバから完全に受信した時点を決定しなければならない複雑なソフトウェア部分を含む必要があるためである。この複雑なソフトウェア・プログラミングによって、システム全体に多大な余分のコストが増える。
【0007】
さらに、使用可能性データをまだ全部受け取っていない場合、サーバ・グループに要求を送信することができず、したがって、データ送信プロセスがクライアント側で停止する。これは、高速の送信速度がきわめて重要な環境では特に不利である。
【0008】
【課題を解決するための手段】
第1の側面に従って、本発明は、非同期クライアント/サーバ・コンピューティング・システムにおけるクライアント内でサーバのグループに関する作業負荷管理を行うデータ処理装置を提供する。このデータ処理装置は、クライアント上で実行中のクライアント・アプリケーションから作業要求を受け取る手段と、この作業要求を最初に受け取ったときにグループ内のすべてのサーバに関する使用可能性データが入手可能でない場合であっても、そのときに現に入手可能なグループ内の各サーバに関する使用可能性データを調べ、当該使用可能性データに基づいて受け取った作業負荷要求を満たすために使用すべきグループ内の特定のサーバを選択する手段と、受け取った作業要求にその送信宛先が特定のサーバであることを示す識別標識を付加してクライアントの側の送信待ち行列に入れ、この作業要求が特定のサーバへ送信されるまで、この作業要求を送信待ち行列内で待機させる手段とを有する。
【0009】
好ましくは、このデータ処理装置は、作業要求が最初に受け取られたときから特定のサーバへ送信されるまでの期間に、使用可能性データが変更されたか否かを決定する手段と、使用可能性データが変更された場合、当該変更された使用可能性データを調べ、当該変更された使用可能性データに基づいて受け取った作業要求を満たすために使用すべきグループ内の新しいサーバを選択する手段と、新しいサーバが特定のサーバと異なる場合、作業要求がグループ内の特定のサーバとは異なる新しいサーバに送られるように、送信待ち行列に入れられている作業要求の送信宛先を示す識別標識を更新する手段とを有する。
【0010】
さらに好ましくは、変更された使用可能性データは、作業要求が最初に受け取られたときに入手可能でなかったグループ内のサーバに関する使用可能性データを含む。あるいは、変更された使用可能性データは、作業要求が最初に受け取られたときに入手可能であったグループ内のサーバに関する使用可能性データとは異なる変更済みの使用可能性データを含む。
【0011】
第2の側面に従って、本発明は、前述したデータ処理装置の機能を実行する方法を提供する。
【0012】
したがって、本発明によると、使用可能性データをすべて受け取ったか否かを絶えず調べる必要がないため、作業負荷管理ユニット・ソフトウェアが大幅に単純化される。その代わりに、単純なソフトウェア・アーキテクチャを使用して、すべてのクライアント要求を同様に取り扱うことができる。すなわち、或るクライアントによって要求が発行されるとただちに、使用可能性データの現状態を使用して決定が行われ、その要求が送信待ち行列に送られる。また、そのクライアント要求自体を記録するのと同じ動作の一部として、その要求の宛先が永続記憶域に記録される。
【0013】
要求が送信待ち行列から選択されたサーバへ送信される前に新しい使用可能性データが入手可能になった場合、新たなサーバの選択を行うことができ、その要求を異なるサーバに送られるように更新することができる。しかし、要求が送信待ち行列から送信される前に新しい使用可能性データが入手可能でない場合、その要求は、グループ内の各サーバの使用可能性データが入手可能であるか否かに関係なく、選択されたサーバに送られる。したがって、本発明の追加の利点は、作業負荷管理ユニットが各サーバからの使用可能性データが入手可能になるまで待たなければならないことに起因する送信遅延がないということである。本発明は、作業要求を受け取った時点で入手可能な使用可能性データを使用して、グループ内のどのサーバを選択すべきかに関する最初の決定を行う。まれな状況でのみ新しい使用可能性データが現れ、その宛先の新たな記録を行う必要がある。
【0014】
【発明の実施の形態】
図1では、クライアント11が通信ネットワーク13を介してサーバ(121、122、123)のグループ12と通信を行う。クライアント11とサーバ・グループ12は、前述のMQSeriesなどのメッセージングおよび待ち行列化ソフトウェア製品を実行しており、それによってクライアントとサーバの間で非同期通信が行われる。すなわち、クライアントがサーバに作業要求を送るとき、サーバは動作可能状態でなくてもよい。要求は待ち行列に入れられ、サーバは後で動作可能になったときに、その待ち行列化された要求を取り出すことができる。メッセージングおよび待ち行列化製品は、クライアント11がネットワーク13を介してサーバ・グループ12と対話することができるようにするために必要な通信プロトコル変換も行う。
【0015】
好ましい実施形態では、クライアントとサーバは、ネットワーク13によって接続された別々の処理ユニット内にあるが、本発明は、このアーキテクチャには限定されない。クライアントとサーバ・グループが同じデータ処理ユニット内にあってもよいからである。
【0016】
クライアント11は、クライアント・アプリケーション111とメッセージングおよび待ち行列化ソフトウェア・システム(以下「メッセージングおよび待ち行列化ソフトウェア」と称する)112とを含み、当該ソフトウェア112は、作業負荷管理ユニット112aと送信待ち行列112bを含む。クライアント・アプリケーション111は、サーバに作業要求を発行する消費側ソフトウェア部分である。サーバが要求された作業を行うと、その結果がクライアント・アプリケーション111に返される場合がある。送信待ち行列112bは、メッセージングおよび待ち行列化ソフトウェアの一部であり、クライアント・アプリケーション111から受け取った作業要求を、ネットワーク13を介してサーバ・グループ12に伝える前に待ち行列化するために使用される。作業負荷管理ユニット112aも、メッセージングおよび待ち行列化ソフトウェアの一部であり、クライアント・アプリケーション111から受け取った各作業要求ごとに、サーバ・グループ12から1つのサーバ121、122、または123を選択する役割を果たすソフトウェア要素である。
【0017】
作業負荷管理ユニット112aは、ネットワーク13を介してグループ内の各サーバ121、122、123に関するデータ(以下「使用可能性データ」と称する)を受け取る。この使用可能性データは、各サーバがクライアントからの新しい作業要求を受け入れる用意があるか否かに関する各サーバの現在の使用可能性を示す。作業負荷管理ユニットは、この使用可能性データを使用して、特定の作業要求を満たすためにどのサーバ121、122、または123を選択すべきかを決定する。
【0018】
以下、図2のフローチャートを参照しながら、メッセージングおよび待ち行列化ソフトウェア112の動作を説明する。
【0019】
ステップ21で、メッセージングおよび待ち行列化ソフトウェア112は、クライアント・アプリケーション111から作業要求を受け取る。ステップ22で、作業負荷管理ユニット112aは、データ使用可能性テーブル(図3を参照)を調べて、受け取った作業要求を処理するグループ12内のサーバの使用可能性を決定する。
【0020】
図3で、作業要求を受け取った時点を時点1と称する。時点1で、使用可能性テーブルは、(時点1とサーバ1とが交点を成すボックス内で「使用可能」を表す文字Aによって示されているように)作業要求を受け取るためにサーバ1(121)が使用可能であることを示すとともに、(時点1とサーバ2とが交点を成すボックス内の「使用不能」を表す文字NAによって示されているように)サーバ2(122)が作業要求を受け取るために使用不能であることを示している。また、時点1で、図3の使用可能性テーブルにはサーバ3(123)の項目がなく、したがってサーバ3がその使用可能性データをクライアント11のメッセージングおよび待ち行列化ソフトウェア112にまだ供給していないことを示していることに留意されたい。
【0021】
時点1において使用可能性データがこの状態の場合、サーバ1は使用可能で、サーバ2は使用不能であり、サーバ3が使用可能であるか否かが不明である。このため、作業負荷管理ユニット112aは、この作業要求に割り当てるためにサーバ1(121)を選択する(ステップ23)。次に、この作業要求は、送信待ち行列112bに入れられ(ステップ24)、そこで、この作業要求がサーバ1(121)に送られるべきであることを示す識別標識がこの作業要求に付加される。次に、この作業要求は、サーバ1(121)が要求を受け取る準備が整ったことを示すまで、送信待ち行列112bに入っている(場合によっては、サーバ1はクライアント11とは異なる時間帯にあり、時点1で動作可能でない)。
【0022】
時点1より少し後の時点2では、クライアント11は更新された使用可能性データを受け取っており、ステップ25で、その受信がメッセージングおよび待ち行列化ソフトウェア112によって決定される。したがって、制御はステップ22にループして戻り、そこで、作業負荷管理ユニット112aが再び使用可能性データを調べ、今度は、(時点2とサーバ1とが交点を成すボックスで「使用可能」を表す文字Aによって示されているように)サーバ1がまだ使用可能であり、(時点2とサーバ2とが交点を成すボックスで「使用可能」を表す文字Aによって示されているように)サーバ2が使用可能になっており、(時点2とサーバ2とが交点を成すボックスで「使用不能」を表す文字NAによって示されているように)サーバ3は使用不能であることを決定する。したがって、時点1と時点2の間の期間に、サーバ・グループ12からクライアント11に新しい使用可能性データが送られており、サーバ2がその使用可能性を変え、前には使用可能性データを供給していなかったサーバ3が使用可能性データを供給している。
【0023】
したがって、ステップ23で、作業負荷管理ユニット112aは、この更新された使用可能性データを使用して、3つのサーバのうちの1つを選択する。どのようなプログラム式作業負荷分散方式でも使用できるが、最も効率的なのは、2つのサーバが現に使用可能であり且つフローチャートの以前のパスでそのうちの一方のサーバがすでに選択されている場合、そのサーバがそのまま使用され、それによって送信待ち行列112bに入っている作業要求を変更する処理能力を費やさなくても済むようにする方式であろう。これによって、送信障害があった場合の回復のために、各作業要求ごとに選択されたサーバをローカル記憶域に記録しなければならないため、ローカル記憶域へのデータ書き込み動作も省かれる。したがって、この場合、ステップ24の結果、待ち行列化された作業要求は更新されないことになる。
【0024】
次に、時点2より後の時点3で、作業要求はまだ待ち行列112に入っており、新しい使用可能性データが受け取られている。ステップ25で、そのようなデータの受信がメッセージングおよび待ち行列化ソフトウェア112によって通知される。したがって、制御はループしてステップ22に戻り、そこで、図3の使用可能性テーブルを再び調べて、その新しい使用可能性データに基づいて選択されたサーバを変更する必要があるか否かが決定される。図3に示すように、今度はサーバ1が使用不能であり、サーバ2は依然として使用可能であり、サーバ3が使用可能になっている。したがって、ステップ23で、作業負荷管理ユニット112aは、サーバ2またはサーバ3の何れかを選択する。この場合も、この2つのサーバのどちらを使用するかを選択するために、任意の一般的な作業負荷分散アルゴリズムを使用することができる。「ラウンド・ロビン」方式によると、サーバ1の後の次の順番がサーバ2であるため、サーバ2が選択される(さらにその後の回ではサーバ3が次の順番になる)。
【0025】
次に、ステップ24で、送信待ち行列112b内の作業要求が更新され、それによってその要求に、その宛先がサーバ1ではなくサーバ2であることを示す識別標識が付加される。このステップは、必要な場合、データ回復のための記録を提供するためにローカル記憶域への書き込みも行う必要がある。
【0026】
この動作中のある時点で、選択されたサーバは送信待ち行列112bから作業要求を取り出し、その要求がネットワーク13を介してサーバ2に送信され、したがって特定の作業要求についての図2の循環的な流れが終わる。
【0027】
本発明の基本的前提条件は、使用可能性データがあまり頻繁に変化せず、ステップ25で肯定の分岐をとってステップ22に再びループし、図3のテーブルを再度調べる必要があるのはきわめてまれであるということである。したがって、サーバの最初の選択は、クライアント・アプリケーションによって要求が発行された後のきわめて早い時点で行われる。これによって作業要求が可能な限り迅速に送信待ち行列112bに入れられると同時に、現在入手可能な使用可能性データが使用され、それによってサーバ・グループへの送信のために要求を迅速かつ効率的に処理することができる。この初期サーバ選択を変更する必要があるのは、使用可能性データが変化した場合のみである。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態が機能する基本的なクライアント/サーバ環境を示すブロック図である。
【図2】本発明の好ましい実施形態による、メッセージングおよび待ち行列化ソフトウェアによって行われるステップを示すフローチャートである。
【図3】本発明の好ましい実施形態による、メッセージングおよび待ち行列化ソフトウェアの作業負荷管理ユニットによって調べられる使用可能性データを示すテーブルである。
【符号の説明】
11 クライアント
111 クライアント・アプリケーション
112 メッセージングおよび待ち行列化ソフトウェア
112a 作業負荷管理ユニット
112b 送信待ち行列
12 サーバ・グループ
121〜123 サーバ
13 通信ネットワーク
Claims (6)
- 分散形式の非同期クライアント/サーバ・コンピューティング・システムにおけるクライアント内でサーバのグループに関する作業負荷管理を行うデータ処理装置であって、
(a)前記クライアント上で実行中のクライアント・アプリケーションから作業要求を受け取る手段と、
(b)前記作業要求を最初に受け取ったときに前記グループ内のすべてのサーバに関する使用可能性データが入手可能でない場合であっても、そのときに現に入手可能な前記グループ内の各サーバに関する使用可能性データを調べ、当該使用可能性データに基づいて前記作業要求を満たすために使用すべき前記グループ内の特定のサーバを選択する手段と、
(c)前記作業要求にその送信宛先が前記特定のサーバであることを示す識別標識を付加して前記クライアントの側の送信待ち行列に入れ、前記作業要求が通信ネットワークを介して前記特定のサーバへ送信されるまで、前記作業要求を前記送信待ち行列内で待機させる手段と、
(d)前記作業要求が最初に受け取られたときから前記特定のサーバへ送信されるまでの期間に、前記使用可能性データが変更されているか否かを決定する手段と、
(e)前記使用可能性データが変更されている場合、当該変更された使用可能性データを調べ、当該変更された使用可能性データに基づいて前記作業要求を満たすために使用すべき前記グループ内の新しいサーバを選択する手段と、
(f)前記新しいサーバが前記特定のサーバと異なる場合、前記作業要求が前記特定のサーバとは異なる前記新しいサーバに送信されるように、前記送信待ち行列に入れられている前記作業要求の送信宛先を示す前記識別標識を更新する手段とを含み、
前記手段(e)は、前記変更された使用可能性データが前記グループ内の2つ以上のサーバが現に使用可能であることを示し且つ当該2つ以上のサーバのうちの1つのサーバが前記特定のサーバとしてすでに選択されている場合、前記特定のサーバをそのまま前記新しいサーバとして選択することを特徴とする、データ処理装置。 - 前記変更された使用可能性データが、前記作業要求が最初に受け取られたときに入手可能でなかった前記グループ内の一のサーバに関する使用可能性データを含む、請求項1記載のデータ処理装置。
- 前記変更された使用可能性データが、前記作業要求が最初に受け取られたときに入手可能であった前記グループ内の一のサーバに関する使用可能性データとは異なる変更済みの使用可能性データを含む、請求項1記載のデータ処理装置。
- 分散形式の非同期クライアント/サーバ・コンピューティング・システムにおけるクライアント内でサーバのグループに関する作業負荷管理を行うデータ処理方法であって、
(a)前記クライアント上で実行中のクライアント・アプリケーションから作業要求を受け取るステップと、
(b)前記作業要求を最初に受け取ったときに前記グループ内のすべてのサーバに関する使用可能性データが入手可能でない場合であっても、そのときに現に入手可能な前記グループ内の各サーバに関する使用可能性データを調べ、当該使用可能性データに基づいて前記作業要求を満たすために使用すべき前記グループ内の特定のサーバを選択するステップと、
(c)前記作業要求にその送信宛先が前記特定のサーバであることを示す識別標識を付加して前記クライアントの側の送信待ち行列に入れ、前記作業要求が通信ネットワークを介して前記特定のサーバへ送信されるまで、前記作業要求を前記送信待ち行列内で待機させるステップと、
(d)前記作業要求が最初に受け取られたときから前記特定のサーバへ送信されるまでの間に、前記使用可能性データが変更されているか否かを決定するステップと、
(e)前記使用可能性データが変更されている場合、当該変更された使用可能性データを調べ、当該変更された使用可能性データに基づいて前記作業要求を満たすために使用すべき前記グループ内の新しいサーバを選択するステップと、
(f)前記新しいサーバが前記特定のサーバと異なる場合、前記作業要求が前記特定のサーバとは異なる前記新しいサーバに送信されるように、前記送信待ち行列に入れられている前記作業要求の送信宛先を示す前記識別標識を更新するステップとを含み、
前記ステップ(e)は、前記変更された使用可能性データが前記グループ内の2つ以上のサーバが現に使用可能であることを示し且つ当該2つ以上のサーバのうちの1つのサーバが前記特定のサーバとしてすでに選択されている場合、前記特定のサーバをそのまま前記新しいサーバとして選択することを特徴とする、データ処理方法。 - 前記変更された使用可能性データが、前記作業要求が最初に受け取られたときに入手可能でなかった前記グループ内の一のサーバに関する使用可能性データを含む、請求項4記載のデータ処理方法。
- 前記変更された使用可能性データが、前記作業要求が最初に受け取られたときに入手可能であった前記グループ内の一のサーバに関する使用可能性データとは異なる変更済みの使用可能性データを含む、請求項4記載のデータ処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9807683A GB2336449A (en) | 1998-04-14 | 1998-04-14 | A server selection method in an asynchronous client-server computer system |
GB9807683.9 | 1998-04-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11328132A JPH11328132A (ja) | 1999-11-30 |
JP3762846B2 true JP3762846B2 (ja) | 2006-04-05 |
Family
ID=10830152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09634699A Expired - Fee Related JP3762846B2 (ja) | 1998-04-14 | 1999-04-02 | サーバのグループに関する作業負荷管理を行うデータ処理装置および方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5987502A (ja) |
EP (1) | EP0950952A3 (ja) |
JP (1) | JP3762846B2 (ja) |
KR (1) | KR100324976B1 (ja) |
CN (1) | CN1143228C (ja) |
GB (1) | GB2336449A (ja) |
TW (1) | TW380223B (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2348985A (en) * | 1999-04-15 | 2000-10-18 | Ibm | Centralized affinity maintenance in a workload managed client/server system |
US6681251B1 (en) * | 1999-11-18 | 2004-01-20 | International Business Machines Corporation | Workload balancing in clustered application servers |
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 |
US6970932B1 (en) | 1999-12-14 | 2005-11-29 | Microsoft Corporation | Non-delegable client requests to servers storing local information only |
US7010611B1 (en) * | 1999-12-21 | 2006-03-07 | Converged Access, Inc. | Bandwidth management system with multiple processing engines |
WO2001082246A2 (en) | 2000-04-24 | 2001-11-01 | Visa International Service Association | Online payer authentication service |
JP4292693B2 (ja) * | 2000-07-07 | 2009-07-08 | 株式会社日立製作所 | 計算機資源分割装置および資源分割方法 |
AU2002232594A1 (en) * | 2000-10-30 | 2002-05-15 | Tririga, Inc. | Item specification object management system |
CA2430125C (en) | 2000-11-28 | 2010-04-13 | Navic Systems, Inc. | Load balancing in set top cable box environment |
US7047273B2 (en) | 2000-11-28 | 2006-05-16 | Navic Systems, Inc. | Load balancing in set top cable box environment |
US7213049B2 (en) * | 2001-07-17 | 2007-05-01 | Bea Systems, Inc. | System and method for transaction processing with transaction property feature |
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 |
US7080119B2 (en) * | 2001-07-17 | 2006-07-18 | Bea Systems, Inc. | System and method for transaction processing with delegated commit feature |
US7305397B2 (en) * | 2002-01-31 | 2007-12-04 | Tririga Llc | Caching data communications to reduce latency |
KR100453052B1 (ko) | 2002-06-07 | 2004-10-15 | 삼성전자주식회사 | 전송 패킷을 이용하여 다기능을 수행하기 위한 통신 방법 및 장치 |
US8275883B2 (en) * | 2002-10-08 | 2012-09-25 | My Telescope.Com | Systems and methods for accessing telescopes |
US8380822B2 (en) * | 2002-12-10 | 2013-02-19 | Sharp Laboratories Of America, Inc. | Systems and methods for object distribution in a communication system |
WO2004077220A2 (en) * | 2003-01-30 | 2004-09-10 | Vaman Technologies (R & D) Limited | System and method of managing and caching data irrespective of server functionality |
KR20040074752A (ko) * | 2003-02-18 | 2004-08-26 | 엘지엔시스(주) | 금융업무 서버시스템의 부하 분산장치 및 분산방법 |
JP2005073236A (ja) * | 2003-08-06 | 2005-03-17 | Matsushita Electric Ind Co Ltd | 中継サーバ、中継サーバのサービス管理方法、サービス提供システム、およびプログラム |
US7580905B2 (en) * | 2003-12-15 | 2009-08-25 | Intel Corporation | Adaptive configuration of platform |
US7475403B2 (en) * | 2004-10-28 | 2009-01-06 | International Business Machines Corporation | Method for optimizing Web services binding |
CN100438501C (zh) * | 2005-03-07 | 2008-11-26 | 明基电通股份有限公司 | 动态信息传送方法及系统 |
JP2006331123A (ja) * | 2005-05-26 | 2006-12-07 | Sony Corp | コンテンツ再生システム |
US20070184903A1 (en) * | 2006-02-08 | 2007-08-09 | Derek Liu | Network-based game system capable of serving massive number of game players |
US7929419B2 (en) * | 2006-08-04 | 2011-04-19 | Tekelec | Methods, systems, and computer program products for inhibiting message traffic to an unavailable terminating SIP server |
CN101090569B (zh) * | 2006-10-18 | 2010-08-04 | 中兴通讯股份有限公司 | Ip多媒体子系统的归属用户服务器的自动选择方法 |
US20080115202A1 (en) * | 2006-11-09 | 2008-05-15 | Mckay Michael S | Method for bidirectional communication in a firewalled environment |
US20110320530A1 (en) | 2010-06-29 | 2011-12-29 | International Business Machines Corporation | Method for processing a unit of work |
US9071512B2 (en) | 2010-08-06 | 2015-06-30 | Tekelec, Inc. | Methods, systems, and computer readable media for distributing diameter network management information |
TWI457652B (zh) * | 2011-05-12 | 2014-10-21 | Wistron Corp | 全平面觸控面板 |
CN103425519B (zh) * | 2012-05-16 | 2016-10-05 | 富士通株式会社 | 分布式计算方法和分布式计算系统 |
US10078533B2 (en) * | 2014-03-14 | 2018-09-18 | Amazon Technologies, Inc. | Coordinated admission control for network-accessible block storage |
US10778527B2 (en) | 2018-10-31 | 2020-09-15 | Oracle International Corporation | Methods, systems, and computer readable media for providing a service proxy function in a telecommunications network core using a service-based architecture |
US11018971B2 (en) | 2019-10-14 | 2021-05-25 | Oracle International Corporation | Methods, systems, and computer readable media for distributing network function (NF) topology information among proxy nodes and for using the NF topology information for inter-proxy node message routing |
US11528334B2 (en) | 2020-07-31 | 2022-12-13 | Oracle International Corporation | Methods, systems, and computer readable media for preferred network function (NF) location routing using service communications proxy (SCP) |
US11570262B2 (en) | 2020-10-28 | 2023-01-31 | Oracle International Corporation | Methods, systems, and computer readable media for rank processing for network function selection |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69030340T2 (de) * | 1989-02-24 | 1997-11-20 | Digital Equipment Corp | Makler für die Auswahl von Rechnernetzwerkservern |
US5185861A (en) * | 1991-08-19 | 1993-02-09 | Sequent Computer Systems, Inc. | Cache affinity scheduler |
US5414845A (en) * | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
US5329619A (en) * | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
GB2276737A (en) * | 1993-03-30 | 1994-10-05 | Ibm | Fault-tolerant transaction-oriented data processing |
JPH07334468A (ja) * | 1994-06-07 | 1995-12-22 | Toshiba Corp | 負荷分散方式 |
EP0694837A1 (en) * | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Dynamic workload balancing |
US5761507A (en) * | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
GB2320112B (en) * | 1996-12-07 | 2001-07-25 | Ibm | High-availability computer server system |
-
1998
- 1998-04-14 GB GB9807683A patent/GB2336449A/en not_active Withdrawn
- 1998-06-22 TW TW087110004A patent/TW380223B/zh not_active IP Right Cessation
- 1998-09-11 US US09/152,157 patent/US5987502A/en not_active Expired - Lifetime
-
1999
- 1999-03-11 EP EP99301863A patent/EP0950952A3/en not_active Withdrawn
- 1999-03-16 KR KR1019990008875A patent/KR100324976B1/ko not_active IP Right Cessation
- 1999-03-25 CN CNB991045211A patent/CN1143228C/zh not_active Expired - Lifetime
- 1999-04-02 JP JP09634699A patent/JP3762846B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2336449A (en) | 1999-10-20 |
TW380223B (en) | 2000-01-21 |
JPH11328132A (ja) | 1999-11-30 |
EP0950952A3 (en) | 2003-11-12 |
EP0950952A2 (en) | 1999-10-20 |
CN1232218A (zh) | 1999-10-20 |
US5987502A (en) | 1999-11-16 |
KR19990082753A (ko) | 1999-11-25 |
CN1143228C (zh) | 2004-03-24 |
GB9807683D0 (en) | 1998-06-10 |
KR100324976B1 (ko) | 2002-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3762846B2 (ja) | サーバのグループに関する作業負荷管理を行うデータ処理装置および方法 | |
US5613155A (en) | Bundling client write requests in a server | |
US10491560B2 (en) | Message delivery in messaging networks | |
JP4144897B2 (ja) | 共通作業キュー環境における最適格サーバ | |
JP3837291B2 (ja) | アプリケーション独立形メッセージングシステム | |
US7783763B2 (en) | Managing stateful data in a partitioned application server environment | |
US6237005B1 (en) | Web server mechanism for processing multiple transactions in an interpreted language execution environment | |
US6839804B2 (en) | Disk array storage device with means for enhancing host application performance using task priorities | |
US20030097488A1 (en) | Efficient method for determining record based I/O on top of streaming protocols | |
US8874638B2 (en) | Interactive analytics processing | |
US9189303B2 (en) | Shadow queues for recovery of messages | |
JP2011501254A (ja) | セッション・アフィニティを使用する分散環境においてフェイルオーバを処理する方法及びシステム | |
US10229010B2 (en) | Methods for preserving state across a failure and devices thereof | |
US20080294748A1 (en) | Proxy between network file system version three and network file system version four protocol | |
AU2020399282B2 (en) | Controlling transaction requests between applications and servers | |
KR100834361B1 (ko) | 단일 시스템에서 효율적으로 지원하는 다중 원시 네트워크 프로토콜 구현 | |
US20020169881A1 (en) | Method and apparatus for distributed access to services in a network data processing system | |
EP1172728A2 (en) | Information management engine and method | |
EP0978035B1 (en) | Methods and apparatus for managing objects in a distributed environment | |
US20030110265A1 (en) | Method and apparatus for providing a virtual shared device | |
JPH0713940A (ja) | 計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060116 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |