JPH11328132A - サ―バのグル―プに関する作業負荷管理を行うデ―タ処理装置、方法、およびコンピュ―タ・プログラム製品 - Google Patents

サ―バのグル―プに関する作業負荷管理を行うデ―タ処理装置、方法、およびコンピュ―タ・プログラム製品

Info

Publication number
JPH11328132A
JPH11328132A JP11096346A JP9634699A JPH11328132A JP H11328132 A JPH11328132 A JP H11328132A JP 11096346 A JP11096346 A JP 11096346A JP 9634699 A JP9634699 A JP 9634699A JP H11328132 A JPH11328132 A JP H11328132A
Authority
JP
Japan
Prior art keywords
server
availability data
group
work request
received
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
JP11096346A
Other languages
English (en)
Other versions
JP3762846B2 (ja
Inventor
Andrew David James Banks
アンドリュー・デービッド・ジェームズ・バンクス
Richard Scott Maxwell
リチャード・スコット・マックスウェル
Daniel Noel Millwood
ダニエル・ノエル・ミルウッド
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 JPH11328132A publication Critical patent/JPH11328132A/ja
Application granted granted Critical
Publication of JP3762846B2 publication Critical patent/JP3762846B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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

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)

Abstract

(57)【要約】 【課題】 非同期クライアント/サーバ・コンピューテ
ィング・システムにおけるサーバのグループに関する作
業負荷管理を行うデータ処理装置を提供する。 【解決手段】 このデータ処理装置は、クライアント・
アプリケーションから作業要求を受け取る手段と、サー
バのグループに関する可用性データを調べ、調べた可用
性データに基づいて受け取った作業要求を満たすために
使用するグループ内の特定のサーバを選択する手段であ
って、グループからサーバを選択するために、グループ
内の各サーバについて可用性データを受け取ったか否か
に関係なく作業要求を受け取ったときに調べた可用性デ
ータが常にその現在状態で使用される手段と、受け取っ
た作業要求をグループ内のその特定のサーバへの送信を
待つ送信待ち行列に入れる手段とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータ・シス
テムの分野に関し、より詳細には、1つのコンピューテ
ィング装置(「クライアント」)が別のコンピューティ
ング装置(「サーバ」)に対してクライアントの作業の
一部を実行するように要求する、クライアント/サーバ
(「分散」とも呼ぶ)コンピューティング・システムに
関する。
【0002】
【従来の技術】情報技術の世界ではここ数年、クライア
ント/サーバ・コンピューティングがますます重要にな
っている。このタイプの分散コンピューティングでは、
1つの計算機がその作業の一部を、たとえばその作業を
実行するのにより適していると考えられる別の計算機に
代行させることができる。たとえば、サーバは、膨大な
量のデータの記憶を管理するデータベース・プログラム
を実行する高性能コンピュータであり、クライアントは
そのローカル・プログラムの1つで使用するためのその
データベースに対して情報を要求する単なるデスクトッ
プ・パーソナル・コンピュータ(PC)である。
【0003】今日のクライアント/サーバ・コンピュー
タ・ネットワークでは、メッセージ待ち行列化(メッセ
ージ・ブローカリングとも呼ぶ)データ処理技法が普及
している。この技法は、クライアントとサーバの両方の
システムがオペレーティング・システム、データ形式、
および通信プロトコルに関して互いにきわめて異なって
いる場合であっても、クライアント・コンピュータ・シ
ステムがサーバ・コンピュータ・システムと通信するこ
とができるようにする。さらに、この技法の非同期性の
ために、クライアントはサーバにメッセージを送り、サ
ーバはそのメッセージを待ち行列に記憶し、そのメッセ
ージを後で処理して応答することができる。これは、ク
ライアントとサーバがリアルタイムで対話する必要があ
った(たとえば、クライアントはサーバが応答するのを
待ってから、他のタスクに進む)同期クライアント/サ
ーバ・モデルとはまったく異なる。
【0004】メッセージ待ち行列化と、市販のメッセー
ジ待ち行列化製品については、「Messaging and Queuin
g Using the MQI」(B.Blakeley, H.Harris & R. Lewi
s, McGraw-Hill, 1994)およびIBMコーポレイション
から入手可能な刊行物「An Introduction to Messaging
and Queuing」(IBM資料番号GC33−0805−
00)および「MQSeries - Message Queue Interface T
echnical Reference」(IBM資料番号SC33−08
50−01)に記載されている。IBMおよびMQSe
riesはIBMコーポレイションの商標である。IB
MのMQSeriesメッセージング・ソフトウェア製
品は、トランザクション・メッセージング・サポート機
能を備え、システム障害または通信障害が発生した場合
でも、確実な1回のみのメッセージ配信を行うメッセー
ジング・プロトコルに従って、作業論理単位内でメッセ
ージを同期させる。MQSeries製品は、受信側シ
ステムによって無事に記憶されたことが確認されるま
で、メッセージを送信側システム上の記憶域から最終的
に削除しないことおよび高度な回復システムの使用によ
って確実な配信を実現する。正常な記憶を確認すると、
メッセージの転送を確定する前に、送信側システムの記
憶域からのメッセージの削除と受信側システムにおける
記憶域への挿入の両方が「不確か」な状態に維持され、
万一障害が起こった場合には自動的に取り消すことがで
きる。このメッセージ送信プロトコルとそれに付随する
トランザクション概念および回復機能については、国際
特許出願WO95/10805号および米国特許第54
65328号に記載されている。
【0005】メッセージおよび待ち行列化ソフトウェア
・アーキテクチャを使用するネットワークなどの非同期
クライアント/サーバ・ネットワークでは、グループの
各サーバがクライアントの要求を満たすことができる、
サーバのグループを設けることが一般的になりつつあ
る。このようにすると、1つのサーバがビジーの場合、
要求を別のサーバに転送することができるため、クライ
アントの要求に対してより迅速に対処することができ
る。一般には、どのサーバに特定の要求の処理を割り当
てるべきかに関する決定は、クライアント側の作業負荷
管理ユニットが、各サーバからの可用性データを決定の
根拠として使用して行う。このような可用性データのす
べてがまだ入手可能でない場合、作業負荷管理ユニット
はそのようなデータを受け取るまで待ってから、完全な
データ・セットを使用してサーバを決定する。その後、
クライアント要求は、作業負荷管理ユニットによって選
択されたサーバの識別標識が付加されて、送信待ち行列
に入れられ、選択されたサーバへの送信を待つ。また、
クライアントは、選択されたサーバの識別標識を含む、
待ち行列化された要求に関する何らかの情報をローカル
記憶域に書き込み、それによって、送信されたクライア
ント要求をサーバが受け取らなかったというような送信
上の問題が発生した場合にクライアントからサーバへそ
の要求を再送信することができるようにする。
【0006】
【発明が解決しようとする課題】当技術分野の現況技術
は、作業負荷管理ユニットが、各サーバのサーバ可用性
データの状態を絶えず調べて、そのようなデータをすべ
てサーバから完全に受信した時点を判断しなければなら
ない複雑なソフトウェア部分を含む必要があるために不
利である。この複雑なソフトウェア・プログラミングに
よって、システム全体に多大な余分のコストが増える。
【0007】さらに、サーバ可用性データをまだ全部受
け取っていない場合、サーバ・グループに要求を送信す
ることができず、したがって、データ送信プロセスがク
ライアント側で停止する。これは、高速の送信速度がき
わめて重要な環境では特に不利である。
【0008】
【課題を解決するための手段】本発明は、第1の態様に
よると、非同期クライアント/サーバ・コンピューティ
ング・システムにおけるサーバのグループに関する作業
負荷管理を行うデータ処理装置であって、クライアント
・アプリケーションから作業要求を受け取る手段と、サ
ーバのグループに関する可用性データを調べ、調べた可
用性データに基づいて受け取った作業負荷要求を満たす
ために使用するグループ内の特定のサーバを選択する手
段であって、グループからサーバを選択するために、グ
ループ内の各サーバに関して可用性データを受け取った
か否かに関係なく作業要求を受け取ったときに調べた可
用性データが常にその現行状態で使用される手段と、受
け取った作業負荷要求を、グループ内のその特定のサー
バへの送信を待つ送信待ち行列に入れる手段とを有する
データ処理装置を提供する。
【0009】好ましくは、この装置は、作業要求を受け
取ってから可用性データが変更されたか否かを判断する
手段と、可用性データが変更された場合、変更された可
用性データを調べる手段と、変更された可用性データに
基づいて受け取った作業要求を満たすグループ内のサー
バを選択する手段と、送信待ち行列内の作業要求を更新
し、それによって、変更された可用性データに基づいて
選択されたサーバが特定のサーバとは異なる場合に作業
要求がグループ内の前記特定のサーバとは異なるサーバ
に送られるようにする手段とを有する。
【0010】さらに好ましくは、変更された可用性デー
タは、作業要求を最初に受け取ったときに入手可能な可
用性データを有していなかったグループ内のサーバの可
用性データの追加を含む。あるいは、変更された可用性
データは、作業要求を最初に受け取ったときに入手可能
な可用性データを有していたグループ内のサーバの可用
性データの変更を含む。
【0011】第2の態様によると、本発明は、第1の態
様で前述した作業負荷管理装置の機能を実行する方法を
提供する。
【0012】第3の態様によると、本発明は、コンピュ
ータ可読記憶媒体に記憶され、コンピュータ上で実行さ
れると第1の態様の機能を実行するコンピュータ・プロ
グラム製品を提供する。
【0013】したがって、本発明によると、サーバ可用
性データをすべて受け取ったかどうかを絶えず調べる必
要がないため、作業負荷管理ユニット・ソフトウェアが
大幅に単純化される。その代わりにすべてのクライアン
ト要求が同様に取り扱われる、すなわち、クライアント
によって要求が出されるとただちに、サーバ可用性デー
タの現行状態を使用して決定が行われ、要求が送信待ち
行列に送られる、単純なソフトウェア・アーキテクチャ
を使用することができる。また、クライアント要求自体
を記録するのと同じ操作の一部として、宛先が永続記憶
域に記録される。
【0014】送信待ち行列から選択されたサーバへ要求
が送信される前に新しい可用性データが入手可能になっ
た場合、新たなサーバの選択を行うことができ、待ち行
列化された要求を異なるサーバに送られるように更新す
ることができる。しかし、要求が送信待ち行列から送信
される前に新しい可用性データが入手可能でない場合、
要求はグループ内の各サーバの可用性データが入手可能
であるかどうかに関係なく選択されたサーバに送られ
る。したがって、作業管理ユニットが各サーバからの可
用性データが入手可能になるまで待たなければならない
ことによる送信遅延がないという追加の利点がある。本
発明は、作業要求を受け取ったその時点で現在使用可能
な可用性データを使用して、グループ内のどのサーバを
選択すべきかに関する最初の決定を行う。まれな状況で
のみ新しい可用性データが現れ、その宛先の新たな記録
を行う必要がある。
【0015】
【発明の実施の形態】図1では、クライアント・データ
処理装置11が通信ネットワーク13を介してサーバ・
データ処理装置(121、122、123)のグループ
12と通信を行う。クライアント11とサーバのグルー
プ12は、IBMのMQSeriesなどのメッセージ
ングおよび待ち行列化ソフトウェア製品を実行してお
り、それによってクライアントとサーバの間で非同期通
信が行われる。すなわち、クライアントがサーバに作業
要求を送るとき、サーバは動作可能状態でなくてもよ
い。要求は待ち行列に入れられ、サーバは後でサーバが
動作可能になったときにその待ち行列化された要求を取
り出すことができる。メッセージングおよび待ち行列化
製品は、クライアント11がネットワーク13を介して
サーバのグループ12と対話することができるようにす
るために必要な通信プロトコル変換も行う。
【0016】好ましい実施形態では、クライアントとサ
ーバはネットワーク13によって接続された別々の処理
ユニット内にあるが、本発明は決してこのアーキテクチ
ャには限定されない。クライアントとサーバ・グループ
が同じデータ処理ユニット内にあってもよい。
【0017】クライアント11は、クライアント・アプ
リケーション111とメッセージングおよび待ち行列化
ソフトウェア・システム112とを含み、メッセージン
グおよび待ち行列化ソフトウェア・システム112は作
業負荷管理ユニット112aと送信待ち行列112bを
含む。クライアント・アプリケーション111は、サー
バに作業要求を出す消費側ソフトウェア部分である。サ
ーバが要求された作業を行うと、クライアント・アプリ
ケーション111に結果が返される場合がある。送信待
ち行列112bはメッセージングおよび待ち行列化ソフ
トウェア構造の一部であり、クライアント・アプリケー
ション111から受け取った作業要求を、ネットワーク
13を介してサーバのグループ12に伝える前に待ち行
列化するために使用される。作業負荷管理ユニット11
2aもメッセージングおよび待ち行列化ソフトウェアの
一部であり、クライアント・アプリケーション112か
ら受け取った各作業要求のためにサーバ・グループ12
から1つのサーバ121、122、123を選択する役
割を果たすソフトウェア要素である。
【0018】作業負荷管理ユニット112aは、ネット
ワーク13を介してグループ内の各サーバ121、12
2、123に関するデータ(以下「可用性データ」と呼
ぶ)を受け取る。このデータは、各サーバがクライアン
トからの新しい作業要求を受け入れる用意がどの程度あ
るかに関する各サーバの現在の可用性を示す。作業負荷
管理ユニットは、特定の作業要求を満たすためにどのサ
ーバ121、122、または123を選択すべきかを決
定するために、この可用性データを使用する。
【0019】メッセージングおよび待ち行列化システム
112の動作について、図2のフローチャートを参照し
ながら以下に説明する。
【0020】ステップ21で、メッセージングおよび待
ち行列化システム112はクライアント・アプリケーシ
ョン111から作業要求を受け取る。ステップ22で、
作業負荷管理ユニット112aは、受け取った作業要求
を処理するグループ12内のサーバの可用性を判断する
ために、データ可用性テーブル(図3を参照)を調べ
る。
【0021】図3で、作業要求を受け取った時点を時点
1と呼ぶ。時点1で、可用性テーブルは、(時点1とサ
ーバ1とが交点を成すボックス内で「使用可能」を表す
文字Aによって示されているように)作業要求を受け取
るためにサーバ1(121)が使用可能であることを示
している。時点1で、可用性テーブルは、(時点1とサ
ーバ2とが交点を成すボックス内の「使用不可」を表す
文字NAによって示されているように)サーバ2(12
2)が作業要求を受け取るために使用可能でないことを
示している。時点1で、図3のテーブルにはサーバ3
(123)の項目がなく、したがってサーバ3がその可
用性データをクライアント11のメッセージングおよび
待ち行列化ソフトウェア112にまだ供給していないこ
とを示していることに留意されたい。
【0022】時点1において可用性データがこの状態の
場合、サーバ1は使用可能で、サーバ2も使用可能では
なく、サーバ3が使用可能であるかどうかが不明なた
め、作業負荷管理ユニット112aは、この作業要求に
割り当てるためにサーバ1(121)を選択する(ステ
ップ23)。作業要求は次に送信待ち行列112bに入
れられ(ステップ24)、作業要求がサーバ1(12
1)に送られるべきであることを示す制御標識が作業要
求に付加される。次に、作業要求はサーバ1(121)
が要求を受け取る準備が整ったことを示すまで待ち行列
112bに入っている(場合によっては、サーバ1はク
ライアント11とは異なる時間帯にあり、時点1で動作
可能でない)。
【0023】時点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が可用性データ
を供給している。
【0024】したがって、ステップ23で、作業負荷管
理ユニット112aは、この更新された可用性データを
使用して3つのサーバのうちの1つを選択する。どのよ
うなプログラム式作業負荷分散方式でも使用できるが、
最も効率的なのは、2つのサーバが使用可能で、フロー
チャートを前にたどった時に一方のサーバがすでに選択
されている場合、そのサーバがそのまま使用され、それ
によって待ち行列112bに入っている作業要求を変更
する処理能力を費やさなくても済むようにする方式であ
ろう。これによって、送信障害があった場合の回復のた
めに、各作業要求について選択されたサーバをローカル
記憶域に記録しなければならないため、ローカル記憶域
へのデータ書込み操作も省かれる。したがって、この場
合、ステップ24の結果、待ち行列化された作業要求は
更新されないことになる。
【0025】次に、時点2より後の時点3で、作業要求
はまだ待ち行列112に入っており、新しいサーバ可用
性データを受け取っており、ステップ25でそのような
データの受信がメッセージングおよび待ち行列化ソフト
ウェア112によって通知される。したがって、制御は
ループしてステップ22に戻り、図3の可用性テーブル
を再び調べて、その新しい可用性データに基づいて選択
されたサーバを変更する必要があるかどうかが判断され
る。図3に示すように、今度はサーバ1が使用不可であ
り、サーバ2は依然として使用可能で、サーバ3が使用
可能になっている。したがって、ステップ23で、作業
負荷管理ユニット112aはサーバ2またはサーバ3を
選択する。この場合も、この2つのサーバのどちらを使
用するかを選択するために任意の一般的な作業負荷分散
アルゴリズムを使用することができる。「ラウンド・ロ
ビン」方式によると、サーバ1の後の次の順番がサーバ
2であるため、サーバ2が選択される(さらにその後の
回ではサーバ3が次の順番になる)。
【0026】次に、ステップ24で、送信待ち行列11
2b内の作業要求が更新され、それによってその要求
に、その宛先がサーバ1ではなくサーバ2であることを
示す標識が入れられる。これは、必要な場合、データ回
復のための記録を提供するためにローカル記憶域への書
込みも行う必要がある。
【0027】この操作中のある時点で、選択されたサー
バは待ち行列112bから作業要求をフェッチし、その
要求がネットワーク13を介してサーバ2に送信され、
したがって特定の作業要求についての図2の循環的な流
れが終わる。
【0028】本発明の基本的前提条件は、サーバ可用性
データがあまり頻繁に変化せず、ステップ25で肯定の
分岐をとってステップ22に再びループし、図3のテー
ブルを再度調べる必要があるのはきわめてまれであると
いうことである。したがって、サーバの最初の選択は、
クライアント・アプリケーションによって要求が出され
た後のきわめて早い時点で行われる。これによって作業
要求が可能な限り迅速に送信待ち行列112bに入れら
れると同時に、現在入手可能なサーバ可用性データが使
用され、それによってサーバ・グループへの送信のため
に要求を迅速かつ効率的に処理することができる。この
初期サーバ選択を変更する必要があるのは、サーバ可用
性データが変化した場合のみである。
【0029】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0030】(1)非同期クライアント/サーバ・コン
ピューティング・システムにおいてサーバのグループに
関する作業負荷管理を行うデータ処理装置であって、ク
ライアント・アプリケーションから作業要求を受け取る
手段と、サーバのグループに関する可用性データを調
べ、調べた前記可用性データに基づいて前記受け取った
作業要求を満たすために使用する前記グループ内の特定
のサーバを選択する手段であって、前記グループからサ
ーバを選択するために、前記グループ内の各サーバにつ
いて可用性データを受け取っているか否かに関係なく前
記作業要求を受け取ったときに前記調べた可用性データ
が常にその現行状態で使用される手段と、受け取った前
記作業要求を、前記グループ内の前記特定のサーバへの
送信を待つ送信待ち行列に入れる手段とを含むデータ処
理装置。 (2)前記作業要求が受け取られてから前記可用性デー
タが変更されているか否かを判断する手段と、前記可用
性データが変更されている場合、前記変更された可用性
データを調べ、前記変更された可用性データに基づいて
前記受け取った作業要求を満たす前記グループ内のサー
バを選択する手段と、前記変更された可用性データに基
づいて選択された前記サーバが前記特定のサーバと異な
る場合、前記送信待ち行列内の前記作業要求を更新し、
それによって前記作業要求が前記特定のサーバとは異な
る前記グループ内のサーバに送信されるようにする手段
とをさらに含む、上記(1)に記載の装置。 (3)前記変更された可用性データが、前記作業要求が
最初に受け取られたときに入手可能な可用性データを有
していなかった前記グループ内のサーバの可用性データ
の追加を含む、上記(2)に記載の装置。 (4)前記変更された可用性データが、前記作業要求が
最初に受け取られたときに入手可能な可用性データを有
していた前記グループ内のサーバの可用性データの変更
を含む、上記(2)に記載の装置。 (5)非同期クライアント/サーバ・コンピューティン
グ・システムにおいてサーバのグループに関する作業負
荷管理を行うデータ処理方法であって、クライアント・
アプリケーションから作業要求を受け取るステップと、
サーバのグループに関する可用性データを調べ、調べた
前記可用性データに基づいて前記受け取った作業要求を
満たすために使用する前記グループ内の特定のサーバを
選択するステップであって、前記グループからサーバを
選択するために、前記グループ内の各サーバについて可
用性データを受け取っているか否かに関係なく前記作業
要求を受け取ったときに前記調べた可用性データが常に
その現行状態で使用されるステップと、受け取った前記
作業要求を、前記グループ内の前記特定のサーバへの送
信を待つ送信待ち行列に入れるステップとを含むデータ
処理方法。 (6)前記作業要求が受け取られてから前記可用性デー
タが変更されているか否かを判断するステップと、前記
可用性データが変更されている場合、前記変更された可
用性データを調べ、前記変更された可用性データに基づ
いて前記受け取った作業要求を満たす前記グループ内の
サーバを選択するステップと、前記変更された可用性デ
ータに基づいて選択された前記サーバが前記特定のサー
バと異なる場合、前記送信待ち行列内の前記作業要求を
更新し、それによって前記作業要求が前記特定のサーバ
とは異なる前記グループ内のサーバに送信されるように
するステップとをさらに含む、上記(5)に記載の方
法。 (7)前記変更された可用性データが、前記作業要求が
最初に受け取られたときに入手可能な可用性データを有
していなかった前記グループ内のサーバの可用性データ
の追加を含む、上記(6)に記載の方法。 (8)前記変更された可用性データが、前記作業要求が
最初に受け取られたときに入手可能な可用性データを有
していた前記グループ内のサーバの可用性データの変更
を含む、上記(6)に記載の方法。 (9)コンピュータ可読記憶媒体に記憶され、コンピュ
ータ上で実行されると、非同期クライアント/サーバ・
コンピューティング・システムにおけるサーバのグルー
プに関する作業負荷管理を行うデータ処理方法を実行す
るコンピュータ・プログラム製品であって、前記方法
が、クライアント・アプリケーションから作業要求を受
け取るステップと、サーバのグループに関する可用性デ
ータを調べ、調べた前記可用性データに基づいて前記受
け取った作業要求を満たすために使用する前記グループ
内の特定のサーバを選択するステップであって、前記グ
ループからサーバを選択するために、前記グループ内の
各サーバについて可用性データを受け取っているか否か
に関係なく、前記作業要求を受け取ったときに前記調べ
た可用性データが常にその現行状態で使用されるステッ
プと、受け取った前記作業要求を、前記グループ内の前
記特定のサーバへの送信を待つ送信待ち行列に入れるス
テップとを含む、コンピュータ・プログラム製品。 (10)前記作業要求が受け取られてから前記可用性デ
ータが変更されているか否かを判断するステップと、前
記可用性データが変更されている場合、前記変更された
可用性データを調べ、前記変更された可用性データに基
づいて前記受け取った作業要求を満たす前記グループ内
のサーバを選択するステップと、前記変更された可用性
データに基づいて選択された前記サーバが前記特定のサ
ーバと異なる場合、前記送信待ち行列内の前記作業要求
を更新し、それによって前記作業要求が前記特定のサー
バとは異なる前記グループ内のサーバに送信されるよう
にするステップとをさらに含む、上記(9)に記載の製
品。 (11)前記変更された可用性データが、前記作業要求
が最初に受け取られたときに入手可能な可用性データを
有していなかった前記グループ内のサーバの可用性デー
タの追加を含む、上記(10)に記載の製品。 (12)前記変更された可用性データが、前記作業要求
が最初に受け取られたときに入手可能な可用性データを
有していた前記グループ内のサーバの可用性データの変
更を含む、上記(10)に記載の製品。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態が機能する基本的な
クライアント/サーバ環境を示すブロック図である。
【図2】本発明の好ましい実施形態による、メッセージ
ングおよび待ち行列化ユニットによって行われるステッ
プを示すフローチャートである。
【図3】本発明の好ましい実施形態による、メッセージ
ングおよび待ち行列化ユニットの作業負荷管理ユニット
によって調べられる可用性データを示すテーブルであ
る。
【符号の説明】
11 クライアント・データ処理装置 13 通信ネットワーク 12 サーバのグループ 121 サーバ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンドリュー・デービッド・ジェームズ・ バンクス イギリス エス・オー51 0エヌ・エル ハンプシャー州ロムジー マイケルマーシ ュ ニューロード ブルーベルズ (72)発明者 リチャード・スコット・マックスウェル イギリス エス・オー51 5アール・ティ ー ハンプシャー州ロムジー ホワイトナ ップ・クローズ 8 (72)発明者 ダニエル・ノエル・ミルウッド イギリス エス・オー15 3ジェー・ワイ ハンプシャー州サウサンプトン ファウ ンドリー・レーン 203

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】非同期クライアント/サーバ・コンピュー
    ティング・システムにおいてサーバのグループに関する
    作業負荷管理を行うデータ処理装置であって、 クライアント・アプリケーションから作業要求を受け取
    る手段と、 サーバのグループに関する可用性データを調べ、調べた
    前記可用性データに基づいて前記受け取った作業要求を
    満たすために使用する前記グループ内の特定のサーバを
    選択する手段であって、前記グループからサーバを選択
    するために、前記グループ内の各サーバについて可用性
    データを受け取っているか否かに関係なく前記作業要求
    を受け取ったときに前記調べた可用性データが常にその
    現行状態で使用される手段と、 受け取った前記作業要求を、前記グループ内の前記特定
    のサーバへの送信を待つ送信待ち行列に入れる手段とを
    含むデータ処理装置。
  2. 【請求項2】前記作業要求が受け取られてから前記可用
    性データが変更されているか否かを判断する手段と、 前記可用性データが変更されている場合、前記変更され
    た可用性データを調べ、前記変更された可用性データに
    基づいて前記受け取った作業要求を満たす前記グループ
    内のサーバを選択する手段と、 前記変更された可用性データに基づいて選択された前記
    サーバが前記特定のサーバと異なる場合、前記送信待ち
    行列内の前記作業要求を更新し、それによって前記作業
    要求が前記特定のサーバとは異なる前記グループ内のサ
    ーバに送信されるようにする手段とをさらに含む、請求
    項1に記載の装置。
  3. 【請求項3】前記変更された可用性データが、前記作業
    要求が最初に受け取られたときに入手可能な可用性デー
    タを有していなかった前記グループ内のサーバの可用性
    データの追加を含む、請求項2に記載の装置。
  4. 【請求項4】前記変更された可用性データが、前記作業
    要求が最初に受け取られたときに入手可能な可用性デー
    タを有していた前記グループ内のサーバの可用性データ
    の変更を含む、請求項2に記載の装置。
  5. 【請求項5】非同期クライアント/サーバ・コンピュー
    ティング・システムにおいてサーバのグループに関する
    作業負荷管理を行うデータ処理方法であって、 クライアント・アプリケーションから作業要求を受け取
    るステップと、 サーバのグループに関する可用性データを調べ、調べた
    前記可用性データに基づいて前記受け取った作業要求を
    満たすために使用する前記グループ内の特定のサーバを
    選択するステップであって、前記グループからサーバを
    選択するために、前記グループ内の各サーバについて可
    用性データを受け取っているか否かに関係なく前記作業
    要求を受け取ったときに前記調べた可用性データが常に
    その現行状態で使用されるステップと、 受け取った前記作業要求を、前記グループ内の前記特定
    のサーバへの送信を待つ送信待ち行列に入れるステップ
    とを含むデータ処理方法。
  6. 【請求項6】前記作業要求が受け取られてから前記可用
    性データが変更されているか否かを判断するステップ
    と、 前記可用性データが変更されている場合、前記変更され
    た可用性データを調べ、前記変更された可用性データに
    基づいて前記受け取った作業要求を満たす前記グループ
    内のサーバを選択するステップと、 前記変更された可用性データに基づいて選択された前記
    サーバが前記特定のサーバと異なる場合、前記送信待ち
    行列内の前記作業要求を更新し、それによって前記作業
    要求が前記特定のサーバとは異なる前記グループ内のサ
    ーバに送信されるようにするステップとをさらに含む、
    請求項5に記載の方法。
  7. 【請求項7】前記変更された可用性データが、前記作業
    要求が最初に受け取られたときに入手可能な可用性デー
    タを有していなかった前記グループ内のサーバの可用性
    データの追加を含む、請求項6に記載の方法。
  8. 【請求項8】前記変更された可用性データが、前記作業
    要求が最初に受け取られたときに入手可能な可用性デー
    タを有していた前記グループ内のサーバの可用性データ
    の変更を含む、請求項6に記載の方法。
  9. 【請求項9】コンピュータ可読記憶媒体に記憶され、コ
    ンピュータ上で実行されると、非同期クライアント/サ
    ーバ・コンピューティング・システムにおけるサーバの
    グループに関する作業負荷管理を行うデータ処理方法を
    実行するコンピュータ・プログラム製品であって、前記
    方法が、 クライアント・アプリケーションから作業要求を受け取
    るステップと、 サーバのグループに関する可用性データを調べ、調べた
    前記可用性データに基づいて前記受け取った作業要求を
    満たすために使用する前記グループ内の特定のサーバを
    選択するステップであって、前記グループからサーバを
    選択するために、前記グループ内の各サーバについて可
    用性データを受け取っているか否かに関係なく、前記作
    業要求を受け取ったときに前記調べた可用性データが常
    にその現行状態で使用されるステップと、 受け取った前記作業要求を、前記グループ内の前記特定
    のサーバへの送信を待つ送信待ち行列に入れるステップ
    とを含む、コンピュータ・プログラム製品。
  10. 【請求項10】前記作業要求が受け取られてから前記可
    用性データが変更されているか否かを判断するステップ
    と、 前記可用性データが変更されている場合、前記変更され
    た可用性データを調べ、前記変更された可用性データに
    基づいて前記受け取った作業要求を満たす前記グループ
    内のサーバを選択するステップと、 前記変更された可用性データに基づいて選択された前記
    サーバが前記特定のサーバと異なる場合、前記送信待ち
    行列内の前記作業要求を更新し、それによって前記作業
    要求が前記特定のサーバとは異なる前記グループ内のサ
    ーバに送信されるようにするステップとをさらに含む、
    請求項9に記載の製品。
  11. 【請求項11】前記変更された可用性データが、前記作
    業要求が最初に受け取られたときに入手可能な可用性デ
    ータを有していなかった前記グループ内のサーバの可用
    性データの追加を含む、請求項10に記載の製品。
  12. 【請求項12】前記変更された可用性データが、前記作
    業要求が最初に受け取られたときに入手可能な可用性デ
    ータを有していた前記グループ内のサーバの可用性デー
    タの変更を含む、請求項10に記載の製品。
JP09634699A 1998-04-14 1999-04-02 サーバのグループに関する作業負荷管理を行うデータ処理装置および方法 Expired - Fee Related JP3762846B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9807683.9 1998-04-14
GB9807683A GB2336449A (en) 1998-04-14 1998-04-14 A server selection method in an asynchronous client-server computer system

Publications (2)

Publication Number Publication Date
JPH11328132A true JPH11328132A (ja) 1999-11-30
JP3762846B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331123A (ja) * 2005-05-26 2006-12-07 Sony Corp コンテンツ再生システム
US7660907B2 (en) 2002-06-07 2010-02-09 Samsung Electronics Co., Ltd. Transmission packet for performing multi-functions over network and communication method and apparatus using the transmission packet

Families Citing this family (35)

* Cited by examiner, † Cited by third party
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
KR100933387B1 (ko) * 2000-04-24 2009-12-22 비자 인터내셔날 써비스 어쏘시에이션 온라인 지불인 인증 서비스
JP4292693B2 (ja) * 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
WO2002037395A2 (en) * 2000-10-30 2002-05-10 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
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
US7213049B2 (en) * 2001-07-17 2007-05-01 Bea Systems, Inc. System and method for transaction processing with transaction property feature
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
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 明基电通股份有限公司 动态信息传送方法及系统
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334468A (ja) * 1994-06-07 1995-12-22 Toshiba Corp 負荷分散方式
JPH0844576A (ja) * 1994-07-25 1996-02-16 Internatl Business Mach Corp <Ibm> 動的作業負荷平衡化

Family Cites Families (7)

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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334468A (ja) * 1994-06-07 1995-12-22 Toshiba Corp 負荷分散方式
JPH0844576A (ja) * 1994-07-25 1996-02-16 Internatl Business Mach Corp <Ibm> 動的作業負荷平衡化

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660907B2 (en) 2002-06-07 2010-02-09 Samsung Electronics Co., Ltd. Transmission packet for performing multi-functions over network and communication method and apparatus using the transmission packet
JP2006331123A (ja) * 2005-05-26 2006-12-07 Sony Corp コンテンツ再生システム

Also Published As

Publication number Publication date
US5987502A (en) 1999-11-16
CN1143228C (zh) 2004-03-24
JP3762846B2 (ja) 2006-04-05
GB2336449A (en) 1999-10-20
EP0950952A2 (en) 1999-10-20
CN1232218A (zh) 1999-10-20
GB9807683D0 (en) 1998-06-10
TW380223B (en) 2000-01-21
KR19990082753A (ko) 1999-11-25
EP0950952A3 (en) 2003-11-12
KR100324976B1 (ko) 2002-02-20

Similar Documents

Publication Publication Date Title
JPH11328132A (ja) サ―バのグル―プに関する作業負荷管理を行うデ―タ処理装置、方法、およびコンピュ―タ・プログラム製品
US8190743B2 (en) Most eligible server in a common work queue environment
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
US5341499A (en) Method and apparatus for processing multiple file system server requests in a data processing network
US4930069A (en) Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities
US20030110230A1 (en) Method and system for preserving message order when parallel processing messages
US20040015368A1 (en) High availability for asynchronous requests
US8874638B2 (en) Interactive analytics processing
JPH10187639A (ja) 高可用性コンピュータ・サーバ・システム
US20030149773A1 (en) Network abstraction of input/output devices
EP0317481B1 (en) Remote storage management mechanism and method
US9189303B2 (en) Shadow queues for recovery of messages
US8141103B2 (en) Solution for modifying a queue manager to support smart aliasing which permits extensible software to execute against queued data without application modifications
US7249163B2 (en) Method, apparatus, system and computer program for reducing I/O in a messaging environment
US20020169881A1 (en) Method and apparatus for distributed access to services in a network data processing system
US7266543B2 (en) System and method for accessing resources in a database
US7636821B2 (en) Asynchronous hybrid mirroring system
US5754856A (en) MVS/ESA message transport system using the XCF coupling facility
JP2000112807A (ja) ローカルデータベース遅延更新システム及びローカルデータベース遅延更新方法
JPH0226430A (ja) 同送処理方式
JP2002163181A (ja) ファイル転送システム及びファイル転送方法
JPH1115795A (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