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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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つのコンピューテ
ィング装置(「クライアント」)が別のコンピューティ
ング装置(「サーバ」)に対してクライアントの作業の
一部を実行するように要求する、クライアント/サーバ
(「分散」とも呼ぶ)コンピューティング・システムに
関する。
テムの分野に関し、より詳細には、1つのコンピューテ
ィング装置(「クライアント」)が別のコンピューティ
ング装置(「サーバ」)に対してクライアントの作業の
一部を実行するように要求する、クライアント/サーバ
(「分散」とも呼ぶ)コンピューティング・システムに
関する。
【0002】
【従来の技術】情報技術の世界ではここ数年、クライア
ント/サーバ・コンピューティングがますます重要にな
っている。このタイプの分散コンピューティングでは、
1つの計算機がその作業の一部を、たとえばその作業を
実行するのにより適していると考えられる別の計算機に
代行させることができる。たとえば、サーバは、膨大な
量のデータの記憶を管理するデータベース・プログラム
を実行する高性能コンピュータであり、クライアントは
そのローカル・プログラムの1つで使用するためのその
データベースに対して情報を要求する単なるデスクトッ
プ・パーソナル・コンピュータ(PC)である。
ント/サーバ・コンピューティングがますます重要にな
っている。このタイプの分散コンピューティングでは、
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号に記載されている。
ジ待ち行列化製品については、「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つのサーバがビジーの場合、
要求を別のサーバに転送することができるため、クライ
アントの要求に対してより迅速に対処することができ
る。一般には、どのサーバに特定の要求の処理を割り当
てるべきかに関する決定は、クライアント側の作業負荷
管理ユニットが、各サーバからの可用性データを決定の
根拠として使用して行う。このような可用性データのす
べてがまだ入手可能でない場合、作業負荷管理ユニット
はそのようなデータを受け取るまで待ってから、完全な
データ・セットを使用してサーバを決定する。その後、
クライアント要求は、作業負荷管理ユニットによって選
択されたサーバの識別標識が付加されて、送信待ち行列
に入れられ、選択されたサーバへの送信を待つ。また、
クライアントは、選択されたサーバの識別標識を含む、
待ち行列化された要求に関する何らかの情報をローカル
記憶域に書き込み、それによって、送信されたクライア
ント要求をサーバが受け取らなかったというような送信
上の問題が発生した場合にクライアントからサーバへそ
の要求を再送信することができるようにする。
・アーキテクチャを使用するネットワークなどの非同期
クライアント/サーバ・ネットワークでは、グループの
各サーバがクライアントの要求を満たすことができる、
サーバのグループを設けることが一般的になりつつあ
る。このようにすると、1つのサーバがビジーの場合、
要求を別のサーバに転送することができるため、クライ
アントの要求に対してより迅速に対処することができ
る。一般には、どのサーバに特定の要求の処理を割り当
てるべきかに関する決定は、クライアント側の作業負荷
管理ユニットが、各サーバからの可用性データを決定の
根拠として使用して行う。このような可用性データのす
べてがまだ入手可能でない場合、作業負荷管理ユニット
はそのようなデータを受け取るまで待ってから、完全な
データ・セットを使用してサーバを決定する。その後、
クライアント要求は、作業負荷管理ユニットによって選
択されたサーバの識別標識が付加されて、送信待ち行列
に入れられ、選択されたサーバへの送信を待つ。また、
クライアントは、選択されたサーバの識別標識を含む、
待ち行列化された要求に関する何らかの情報をローカル
記憶域に書き込み、それによって、送信されたクライア
ント要求をサーバが受け取らなかったというような送信
上の問題が発生した場合にクライアントからサーバへそ
の要求を再送信することができるようにする。
【0006】
【発明が解決しようとする課題】当技術分野の現況技術
は、作業負荷管理ユニットが、各サーバのサーバ可用性
データの状態を絶えず調べて、そのようなデータをすべ
てサーバから完全に受信した時点を判断しなければなら
ない複雑なソフトウェア部分を含む必要があるために不
利である。この複雑なソフトウェア・プログラミングに
よって、システム全体に多大な余分のコストが増える。
は、作業負荷管理ユニットが、各サーバのサーバ可用性
データの状態を絶えず調べて、そのようなデータをすべ
てサーバから完全に受信した時点を判断しなければなら
ない複雑なソフトウェア部分を含む必要があるために不
利である。この複雑なソフトウェア・プログラミングに
よって、システム全体に多大な余分のコストが増える。
【0007】さらに、サーバ可用性データをまだ全部受
け取っていない場合、サーバ・グループに要求を送信す
ることができず、したがって、データ送信プロセスがク
ライアント側で停止する。これは、高速の送信速度がき
わめて重要な環境では特に不利である。
け取っていない場合、サーバ・グループに要求を送信す
ることができず、したがって、データ送信プロセスがク
ライアント側で停止する。これは、高速の送信速度がき
わめて重要な環境では特に不利である。
【0008】
【課題を解決するための手段】本発明は、第1の態様に
よると、非同期クライアント/サーバ・コンピューティ
ング・システムにおけるサーバのグループに関する作業
負荷管理を行うデータ処理装置であって、クライアント
・アプリケーションから作業要求を受け取る手段と、サ
ーバのグループに関する可用性データを調べ、調べた可
用性データに基づいて受け取った作業負荷要求を満たす
ために使用するグループ内の特定のサーバを選択する手
段であって、グループからサーバを選択するために、グ
ループ内の各サーバに関して可用性データを受け取った
か否かに関係なく作業要求を受け取ったときに調べた可
用性データが常にその現行状態で使用される手段と、受
け取った作業負荷要求を、グループ内のその特定のサー
バへの送信を待つ送信待ち行列に入れる手段とを有する
データ処理装置を提供する。
よると、非同期クライアント/サーバ・コンピューティ
ング・システムにおけるサーバのグループに関する作業
負荷管理を行うデータ処理装置であって、クライアント
・アプリケーションから作業要求を受け取る手段と、サ
ーバのグループに関する可用性データを調べ、調べた可
用性データに基づいて受け取った作業負荷要求を満たす
ために使用するグループ内の特定のサーバを選択する手
段であって、グループからサーバを選択するために、グ
ループ内の各サーバに関して可用性データを受け取った
か否かに関係なく作業要求を受け取ったときに調べた可
用性データが常にその現行状態で使用される手段と、受
け取った作業負荷要求を、グループ内のその特定のサー
バへの送信を待つ送信待ち行列に入れる手段とを有する
データ処理装置を提供する。
【0009】好ましくは、この装置は、作業要求を受け
取ってから可用性データが変更されたか否かを判断する
手段と、可用性データが変更された場合、変更された可
用性データを調べる手段と、変更された可用性データに
基づいて受け取った作業要求を満たすグループ内のサー
バを選択する手段と、送信待ち行列内の作業要求を更新
し、それによって、変更された可用性データに基づいて
選択されたサーバが特定のサーバとは異なる場合に作業
要求がグループ内の前記特定のサーバとは異なるサーバ
に送られるようにする手段とを有する。
取ってから可用性データが変更されたか否かを判断する
手段と、可用性データが変更された場合、変更された可
用性データを調べる手段と、変更された可用性データに
基づいて受け取った作業要求を満たすグループ内のサー
バを選択する手段と、送信待ち行列内の作業要求を更新
し、それによって、変更された可用性データに基づいて
選択されたサーバが特定のサーバとは異なる場合に作業
要求がグループ内の前記特定のサーバとは異なるサーバ
に送られるようにする手段とを有する。
【0010】さらに好ましくは、変更された可用性デー
タは、作業要求を最初に受け取ったときに入手可能な可
用性データを有していなかったグループ内のサーバの可
用性データの追加を含む。あるいは、変更された可用性
データは、作業要求を最初に受け取ったときに入手可能
な可用性データを有していたグループ内のサーバの可用
性データの変更を含む。
タは、作業要求を最初に受け取ったときに入手可能な可
用性データを有していなかったグループ内のサーバの可
用性データの追加を含む。あるいは、変更された可用性
データは、作業要求を最初に受け取ったときに入手可能
な可用性データを有していたグループ内のサーバの可用
性データの変更を含む。
【0011】第2の態様によると、本発明は、第1の態
様で前述した作業負荷管理装置の機能を実行する方法を
提供する。
様で前述した作業負荷管理装置の機能を実行する方法を
提供する。
【0012】第3の態様によると、本発明は、コンピュ
ータ可読記憶媒体に記憶され、コンピュータ上で実行さ
れると第1の態様の機能を実行するコンピュータ・プロ
グラム製品を提供する。
ータ可読記憶媒体に記憶され、コンピュータ上で実行さ
れると第1の態様の機能を実行するコンピュータ・プロ
グラム製品を提供する。
【0013】したがって、本発明によると、サーバ可用
性データをすべて受け取ったかどうかを絶えず調べる必
要がないため、作業負荷管理ユニット・ソフトウェアが
大幅に単純化される。その代わりにすべてのクライアン
ト要求が同様に取り扱われる、すなわち、クライアント
によって要求が出されるとただちに、サーバ可用性デー
タの現行状態を使用して決定が行われ、要求が送信待ち
行列に送られる、単純なソフトウェア・アーキテクチャ
を使用することができる。また、クライアント要求自体
を記録するのと同じ操作の一部として、宛先が永続記憶
域に記録される。
性データをすべて受け取ったかどうかを絶えず調べる必
要がないため、作業負荷管理ユニット・ソフトウェアが
大幅に単純化される。その代わりにすべてのクライアン
ト要求が同様に取り扱われる、すなわち、クライアント
によって要求が出されるとただちに、サーバ可用性デー
タの現行状態を使用して決定が行われ、要求が送信待ち
行列に送られる、単純なソフトウェア・アーキテクチャ
を使用することができる。また、クライアント要求自体
を記録するのと同じ操作の一部として、宛先が永続記憶
域に記録される。
【0014】送信待ち行列から選択されたサーバへ要求
が送信される前に新しい可用性データが入手可能になっ
た場合、新たなサーバの選択を行うことができ、待ち行
列化された要求を異なるサーバに送られるように更新す
ることができる。しかし、要求が送信待ち行列から送信
される前に新しい可用性データが入手可能でない場合、
要求はグループ内の各サーバの可用性データが入手可能
であるかどうかに関係なく選択されたサーバに送られ
る。したがって、作業管理ユニットが各サーバからの可
用性データが入手可能になるまで待たなければならない
ことによる送信遅延がないという追加の利点がある。本
発明は、作業要求を受け取ったその時点で現在使用可能
な可用性データを使用して、グループ内のどのサーバを
選択すべきかに関する最初の決定を行う。まれな状況で
のみ新しい可用性データが現れ、その宛先の新たな記録
を行う必要がある。
が送信される前に新しい可用性データが入手可能になっ
た場合、新たなサーバの選択を行うことができ、待ち行
列化された要求を異なるサーバに送られるように更新す
ることができる。しかし、要求が送信待ち行列から送信
される前に新しい可用性データが入手可能でない場合、
要求はグループ内の各サーバの可用性データが入手可能
であるかどうかに関係なく選択されたサーバに送られ
る。したがって、作業管理ユニットが各サーバからの可
用性データが入手可能になるまで待たなければならない
ことによる送信遅延がないという追加の利点がある。本
発明は、作業要求を受け取ったその時点で現在使用可能
な可用性データを使用して、グループ内のどのサーバを
選択すべきかに関する最初の決定を行う。まれな状況で
のみ新しい可用性データが現れ、その宛先の新たな記録
を行う必要がある。
【0015】
【発明の実施の形態】図1では、クライアント・データ
処理装置11が通信ネットワーク13を介してサーバ・
データ処理装置(121、122、123)のグループ
12と通信を行う。クライアント11とサーバのグルー
プ12は、IBMのMQSeriesなどのメッセージ
ングおよび待ち行列化ソフトウェア製品を実行してお
り、それによってクライアントとサーバの間で非同期通
信が行われる。すなわち、クライアントがサーバに作業
要求を送るとき、サーバは動作可能状態でなくてもよ
い。要求は待ち行列に入れられ、サーバは後でサーバが
動作可能になったときにその待ち行列化された要求を取
り出すことができる。メッセージングおよび待ち行列化
製品は、クライアント11がネットワーク13を介して
サーバのグループ12と対話することができるようにす
るために必要な通信プロトコル変換も行う。
処理装置11が通信ネットワーク13を介してサーバ・
データ処理装置(121、122、123)のグループ
12と通信を行う。クライアント11とサーバのグルー
プ12は、IBMのMQSeriesなどのメッセージ
ングおよび待ち行列化ソフトウェア製品を実行してお
り、それによってクライアントとサーバの間で非同期通
信が行われる。すなわち、クライアントがサーバに作業
要求を送るとき、サーバは動作可能状態でなくてもよ
い。要求は待ち行列に入れられ、サーバは後でサーバが
動作可能になったときにその待ち行列化された要求を取
り出すことができる。メッセージングおよび待ち行列化
製品は、クライアント11がネットワーク13を介して
サーバのグループ12と対話することができるようにす
るために必要な通信プロトコル変換も行う。
【0016】好ましい実施形態では、クライアントとサ
ーバはネットワーク13によって接続された別々の処理
ユニット内にあるが、本発明は決してこのアーキテクチ
ャには限定されない。クライアントとサーバ・グループ
が同じデータ処理ユニット内にあってもよい。
ーバはネットワーク13によって接続された別々の処理
ユニット内にあるが、本発明は決してこのアーキテクチ
ャには限定されない。クライアントとサーバ・グループ
が同じデータ処理ユニット内にあってもよい。
【0017】クライアント11は、クライアント・アプ
リケーション111とメッセージングおよび待ち行列化
ソフトウェア・システム112とを含み、メッセージン
グおよび待ち行列化ソフトウェア・システム112は作
業負荷管理ユニット112aと送信待ち行列112bを
含む。クライアント・アプリケーション111は、サー
バに作業要求を出す消費側ソフトウェア部分である。サ
ーバが要求された作業を行うと、クライアント・アプリ
ケーション111に結果が返される場合がある。送信待
ち行列112bはメッセージングおよび待ち行列化ソフ
トウェア構造の一部であり、クライアント・アプリケー
ション111から受け取った作業要求を、ネットワーク
13を介してサーバのグループ12に伝える前に待ち行
列化するために使用される。作業負荷管理ユニット11
2aもメッセージングおよび待ち行列化ソフトウェアの
一部であり、クライアント・アプリケーション112か
ら受け取った各作業要求のためにサーバ・グループ12
から1つのサーバ121、122、123を選択する役
割を果たすソフトウェア要素である。
リケーション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を選択すべきかを決
定するために、この可用性データを使用する。
ワーク13を介してグループ内の各サーバ121、12
2、123に関するデータ(以下「可用性データ」と呼
ぶ)を受け取る。このデータは、各サーバがクライアン
トからの新しい作業要求を受け入れる用意がどの程度あ
るかに関する各サーバの現在の可用性を示す。作業負荷
管理ユニットは、特定の作業要求を満たすためにどのサ
ーバ121、122、または123を選択すべきかを決
定するために、この可用性データを使用する。
【0019】メッセージングおよび待ち行列化システム
112の動作について、図2のフローチャートを参照し
ながら以下に説明する。
112の動作について、図2のフローチャートを参照し
ながら以下に説明する。
【0020】ステップ21で、メッセージングおよび待
ち行列化システム112はクライアント・アプリケーシ
ョン111から作業要求を受け取る。ステップ22で、
作業負荷管理ユニット112aは、受け取った作業要求
を処理するグループ12内のサーバの可用性を判断する
ために、データ可用性テーブル(図3を参照)を調べ
る。
ち行列化システム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にまだ供給していないこ
とを示していることに留意されたい。
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で動作
可能でない)。
場合、サーバ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が可用性データ
を供給している。
ント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の結果、待ち行列化された作業要求は
更新されないことになる。
理ユニット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が次の順番になる)。
はまだ待ち行列112に入っており、新しいサーバ可用
性データを受け取っており、ステップ25でそのような
データの受信がメッセージングおよび待ち行列化ソフト
ウェア112によって通知される。したがって、制御は
ループしてステップ22に戻り、図3の可用性テーブル
を再び調べて、その新しい可用性データに基づいて選択
されたサーバを変更する必要があるかどうかが判断され
る。図3に示すように、今度はサーバ1が使用不可であ
り、サーバ2は依然として使用可能で、サーバ3が使用
可能になっている。したがって、ステップ23で、作業
負荷管理ユニット112aはサーバ2またはサーバ3を
選択する。この場合も、この2つのサーバのどちらを使
用するかを選択するために任意の一般的な作業負荷分散
アルゴリズムを使用することができる。「ラウンド・ロ
ビン」方式によると、サーバ1の後の次の順番がサーバ
2であるため、サーバ2が選択される(さらにその後の
回ではサーバ3が次の順番になる)。
【0026】次に、ステップ24で、送信待ち行列11
2b内の作業要求が更新され、それによってその要求
に、その宛先がサーバ1ではなくサーバ2であることを
示す標識が入れられる。これは、必要な場合、データ回
復のための記録を提供するためにローカル記憶域への書
込みも行う必要がある。
2b内の作業要求が更新され、それによってその要求
に、その宛先がサーバ1ではなくサーバ2であることを
示す標識が入れられる。これは、必要な場合、データ回
復のための記録を提供するためにローカル記憶域への書
込みも行う必要がある。
【0027】この操作中のある時点で、選択されたサー
バは待ち行列112bから作業要求をフェッチし、その
要求がネットワーク13を介してサーバ2に送信され、
したがって特定の作業要求についての図2の循環的な流
れが終わる。
バは待ち行列112bから作業要求をフェッチし、その
要求がネットワーク13を介してサーバ2に送信され、
したがって特定の作業要求についての図2の循環的な流
れが終わる。
【0028】本発明の基本的前提条件は、サーバ可用性
データがあまり頻繁に変化せず、ステップ25で肯定の
分岐をとってステップ22に再びループし、図3のテー
ブルを再度調べる必要があるのはきわめてまれであると
いうことである。したがって、サーバの最初の選択は、
クライアント・アプリケーションによって要求が出され
た後のきわめて早い時点で行われる。これによって作業
要求が可能な限り迅速に送信待ち行列112bに入れら
れると同時に、現在入手可能なサーバ可用性データが使
用され、それによってサーバ・グループへの送信のため
に要求を迅速かつ効率的に処理することができる。この
初期サーバ選択を変更する必要があるのは、サーバ可用
性データが変化した場合のみである。
データがあまり頻繁に変化せず、ステップ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)に記載の製品。
ピューティング・システムにおいてサーバのグループに
関する作業負荷管理を行うデータ処理装置であって、ク
ライアント・アプリケーションから作業要求を受け取る
手段と、サーバのグループに関する可用性データを調
べ、調べた前記可用性データに基づいて前記受け取った
作業要求を満たすために使用する前記グループ内の特定
のサーバを選択する手段であって、前記グループからサ
ーバを選択するために、前記グループ内の各サーバにつ
いて可用性データを受け取っているか否かに関係なく前
記作業要求を受け取ったときに前記調べた可用性データ
が常にその現行状態で使用される手段と、受け取った前
記作業要求を、前記グループ内の前記特定のサーバへの
送信を待つ送信待ち行列に入れる手段とを含むデータ処
理装置。 (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】非同期クライアント/サーバ・コンピュー
ティング・システムにおいてサーバのグループに関する
作業負荷管理を行うデータ処理装置であって、 クライアント・アプリケーションから作業要求を受け取
る手段と、 サーバのグループに関する可用性データを調べ、調べた
前記可用性データに基づいて前記受け取った作業要求を
満たすために使用する前記グループ内の特定のサーバを
選択する手段であって、前記グループからサーバを選択
するために、前記グループ内の各サーバについて可用性
データを受け取っているか否かに関係なく前記作業要求
を受け取ったときに前記調べた可用性データが常にその
現行状態で使用される手段と、 受け取った前記作業要求を、前記グループ内の前記特定
のサーバへの送信を待つ送信待ち行列に入れる手段とを
含むデータ処理装置。 - 【請求項2】前記作業要求が受け取られてから前記可用
性データが変更されているか否かを判断する手段と、 前記可用性データが変更されている場合、前記変更され
た可用性データを調べ、前記変更された可用性データに
基づいて前記受け取った作業要求を満たす前記グループ
内のサーバを選択する手段と、 前記変更された可用性データに基づいて選択された前記
サーバが前記特定のサーバと異なる場合、前記送信待ち
行列内の前記作業要求を更新し、それによって前記作業
要求が前記特定のサーバとは異なる前記グループ内のサ
ーバに送信されるようにする手段とをさらに含む、請求
項1に記載の装置。 - 【請求項3】前記変更された可用性データが、前記作業
要求が最初に受け取られたときに入手可能な可用性デー
タを有していなかった前記グループ内のサーバの可用性
データの追加を含む、請求項2に記載の装置。 - 【請求項4】前記変更された可用性データが、前記作業
要求が最初に受け取られたときに入手可能な可用性デー
タを有していた前記グループ内のサーバの可用性データ
の変更を含む、請求項2に記載の装置。 - 【請求項5】非同期クライアント/サーバ・コンピュー
ティング・システムにおいてサーバのグループに関する
作業負荷管理を行うデータ処理方法であって、 クライアント・アプリケーションから作業要求を受け取
るステップと、 サーバのグループに関する可用性データを調べ、調べた
前記可用性データに基づいて前記受け取った作業要求を
満たすために使用する前記グループ内の特定のサーバを
選択するステップであって、前記グループからサーバを
選択するために、前記グループ内の各サーバについて可
用性データを受け取っているか否かに関係なく前記作業
要求を受け取ったときに前記調べた可用性データが常に
その現行状態で使用されるステップと、 受け取った前記作業要求を、前記グループ内の前記特定
のサーバへの送信を待つ送信待ち行列に入れるステップ
とを含むデータ処理方法。 - 【請求項6】前記作業要求が受け取られてから前記可用
性データが変更されているか否かを判断するステップ
と、 前記可用性データが変更されている場合、前記変更され
た可用性データを調べ、前記変更された可用性データに
基づいて前記受け取った作業要求を満たす前記グループ
内のサーバを選択するステップと、 前記変更された可用性データに基づいて選択された前記
サーバが前記特定のサーバと異なる場合、前記送信待ち
行列内の前記作業要求を更新し、それによって前記作業
要求が前記特定のサーバとは異なる前記グループ内のサ
ーバに送信されるようにするステップとをさらに含む、
請求項5に記載の方法。 - 【請求項7】前記変更された可用性データが、前記作業
要求が最初に受け取られたときに入手可能な可用性デー
タを有していなかった前記グループ内のサーバの可用性
データの追加を含む、請求項6に記載の方法。 - 【請求項8】前記変更された可用性データが、前記作業
要求が最初に受け取られたときに入手可能な可用性デー
タを有していた前記グループ内のサーバの可用性データ
の変更を含む、請求項6に記載の方法。 - 【請求項9】コンピュータ可読記憶媒体に記憶され、コ
ンピュータ上で実行されると、非同期クライアント/サ
ーバ・コンピューティング・システムにおけるサーバの
グループに関する作業負荷管理を行うデータ処理方法を
実行するコンピュータ・プログラム製品であって、前記
方法が、 クライアント・アプリケーションから作業要求を受け取
るステップと、 サーバのグループに関する可用性データを調べ、調べた
前記可用性データに基づいて前記受け取った作業要求を
満たすために使用する前記グループ内の特定のサーバを
選択するステップであって、前記グループからサーバを
選択するために、前記グループ内の各サーバについて可
用性データを受け取っているか否かに関係なく、前記作
業要求を受け取ったときに前記調べた可用性データが常
にその現行状態で使用されるステップと、 受け取った前記作業要求を、前記グループ内の前記特定
のサーバへの送信を待つ送信待ち行列に入れるステップ
とを含む、コンピュータ・プログラム製品。 - 【請求項10】前記作業要求が受け取られてから前記可
用性データが変更されているか否かを判断するステップ
と、 前記可用性データが変更されている場合、前記変更され
た可用性データを調べ、前記変更された可用性データに
基づいて前記受け取った作業要求を満たす前記グループ
内のサーバを選択するステップと、 前記変更された可用性データに基づいて選択された前記
サーバが前記特定のサーバと異なる場合、前記送信待ち
行列内の前記作業要求を更新し、それによって前記作業
要求が前記特定のサーバとは異なる前記グループ内のサ
ーバに送信されるようにするステップとをさらに含む、
請求項9に記載の製品。 - 【請求項11】前記変更された可用性データが、前記作
業要求が最初に受け取られたときに入手可能な可用性デ
ータを有していなかった前記グループ内のサーバの可用
性データの追加を含む、請求項10に記載の製品。 - 【請求項12】前記変更された可用性データが、前記作
業要求が最初に受け取られたときに入手可能な可用性デ
ータを有していた前記グループ内のサーバの可用性デー
タの変更を含む、請求項10に記載の製品。
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)
| 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)
| 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)
| 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)
| 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 |
-
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 Expired - Fee Related
- 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
Patent Citations (2)
| 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)
| 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 |