JPH0619861A - トランザクション処理サーバの経路指定機構 - Google Patents
トランザクション処理サーバの経路指定機構Info
- Publication number
- JPH0619861A JPH0619861A JP5087579A JP8757993A JPH0619861A JP H0619861 A JPH0619861 A JP H0619861A JP 5087579 A JP5087579 A JP 5087579A JP 8757993 A JP8757993 A JP 8757993A JP H0619861 A JPH0619861 A JP H0619861A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- class
- response time
- transactions
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【目的】 マルチプロセッサ・トランザクション処理シ
ステムにおいてトランザクションをその要求処理時間に
もとづいて複数の階級に分類し、前記階級ごとに目標応
答時間を設定し、階級全体について実際の処理時間との
関係で最も応答性能がよくなるように各トランザクショ
ン処理サーバの負荷を調整する。 【構成】 負荷調整機構は現在の階級ごとの平均応答時
間を算出し、その階級の設定目標応答時間との関係を考
慮しつつ階級ごとの性能指標を算出する。新たなトラン
ザクションが到着した時は、負荷調整機構はそのトラン
ザクションが経路指定されることができるいくつかの候
補となるトランザクション・サーバを検討し、各々がサ
ーバとなった時の階級ごとの性能指標を予測する。次に
全ての階級の性能指標を統合した全体目標達成指標を導
出した上で経路指定すべきトランザクション処理サーバ
の適否を評価する。
ステムにおいてトランザクションをその要求処理時間に
もとづいて複数の階級に分類し、前記階級ごとに目標応
答時間を設定し、階級全体について実際の処理時間との
関係で最も応答性能がよくなるように各トランザクショ
ン処理サーバの負荷を調整する。 【構成】 負荷調整機構は現在の階級ごとの平均応答時
間を算出し、その階級の設定目標応答時間との関係を考
慮しつつ階級ごとの性能指標を算出する。新たなトラン
ザクションが到着した時は、負荷調整機構はそのトラン
ザクションが経路指定されることができるいくつかの候
補となるトランザクション・サーバを検討し、各々がサ
ーバとなった時の階級ごとの性能指標を予測する。次に
全ての階級の性能指標を統合した全体目標達成指標を導
出した上で経路指定すべきトランザクション処理サーバ
の適否を評価する。
Description
【0001】
【産業上の利用分野】本発明は、一般にトランザクショ
ンを処理する相互接続されたコンピュータ・システムに
おける作業負荷管理プログラムに関し、特に各々のトラ
ンザクション階級が個々の応答時間目標を持つ、異なる
階級のトランザクションを有するコンピュータ・システ
ムにおける作業負荷管理プログラムに関する。
ンを処理する相互接続されたコンピュータ・システムに
おける作業負荷管理プログラムに関し、特に各々のトラ
ンザクション階級が個々の応答時間目標を持つ、異なる
階級のトランザクションを有するコンピュータ・システ
ムにおける作業負荷管理プログラムに関する。
【0002】
【従来の技術】トランザクション処理システムは、一般
に広範囲の地理的区域に分散させられた複数のターミナ
ルをサポートする多重プロセッサ・データ処理システム
で実行する、オン・ラインのアプリケーション指向のシ
ステムである。典型的なトランザクション処理システム
は、IBMのACP(エアライン制御プログラム)であ
り、航空会社予約システムで従来から使用されている
が、また他のシステムでも使用され、特に銀行によって
オン・ラインのテラー・アプリケーションにおいて使用
されている。
に広範囲の地理的区域に分散させられた複数のターミナ
ルをサポートする多重プロセッサ・データ処理システム
で実行する、オン・ラインのアプリケーション指向のシ
ステムである。典型的なトランザクション処理システム
は、IBMのACP(エアライン制御プログラム)であ
り、航空会社予約システムで従来から使用されている
が、また他のシステムでも使用され、特に銀行によって
オン・ラインのテラー・アプリケーションにおいて使用
されている。
【0003】従来の多量の作業は多重プロセッサ及び分
散処理システムにおいて、作業負荷管理プログラムによ
って実行された。静的及び動的なロード・バランス・ア
ルゴリズムに関しては、著者D.L.Eager、et al.によ
る題名"Adaptive LoadSharing in Homogeneous Distrib
uted Systems"(IEEE Transactions onSoftware Engine
ering、SE-12(5)、May 1986)、著者Y.T.Wang、et
al. による題名"Load Sharing in Distributed System
s"(IEEE Transactions onComputers、C-34(3)、Marc
h 1985)、及び著者A.N.Tantawi、et al.による題
名"Optimal Static Load Balancing in Distributed Co
mputer Systems、(Journal of the ACM、pages 445-46
5、April 1985) で述べられているので参照されたい。
しかしながら、上記のアルゴリズムは着信する全てのト
ランザクションの平均応答時間を最小にするのにとどま
り、各々が異なる応答時間目標を有するトランザクショ
ンの異なる階級を考慮していない。
散処理システムにおいて、作業負荷管理プログラムによ
って実行された。静的及び動的なロード・バランス・ア
ルゴリズムに関しては、著者D.L.Eager、et al.によ
る題名"Adaptive LoadSharing in Homogeneous Distrib
uted Systems"(IEEE Transactions onSoftware Engine
ering、SE-12(5)、May 1986)、著者Y.T.Wang、et
al. による題名"Load Sharing in Distributed System
s"(IEEE Transactions onComputers、C-34(3)、Marc
h 1985)、及び著者A.N.Tantawi、et al.による題
名"Optimal Static Load Balancing in Distributed Co
mputer Systems、(Journal of the ACM、pages 445-46
5、April 1985) で述べられているので参照されたい。
しかしながら、上記のアルゴリズムは着信する全てのト
ランザクションの平均応答時間を最小にするのにとどま
り、各々が異なる応答時間目標を有するトランザクショ
ンの異なる階級を考慮していない。
【0004】著者P.P.Bhattacharya、et al.による
題名"Optimality and Finite TimeBehavior of an Adap
tive Multi-objective Scheduling Algorithm"(Proc.
ofthe 29th Conf.on Decision and Control、Honolul
u、Hawaii、Dec.1990) においては、ジョブ階級は割
当てられた応答時間目標に該当し、スケジューリング・
アルゴリズムはジョブをスケジュールするために提案さ
れているが、これら全ては単一のプロセッサ内で実行さ
れる。上記記載のアルゴリズムは多重プロセッサ・シス
テムへの応用においてどのように拡張されるのか或いは
修正されるのか、及び複数のコンピュータに対して異な
る応答時間階級目標を有するトランザクションの経路指
定の追加された問題をどのように処理するかが示されて
いない。
題名"Optimality and Finite TimeBehavior of an Adap
tive Multi-objective Scheduling Algorithm"(Proc.
ofthe 29th Conf.on Decision and Control、Honolul
u、Hawaii、Dec.1990) においては、ジョブ階級は割
当てられた応答時間目標に該当し、スケジューリング・
アルゴリズムはジョブをスケジュールするために提案さ
れているが、これら全ては単一のプロセッサ内で実行さ
れる。上記記載のアルゴリズムは多重プロセッサ・シス
テムへの応用においてどのように拡張されるのか或いは
修正されるのか、及び複数のコンピュータに対して異な
る応答時間階級目標を有するトランザクションの経路指
定の追加された問題をどのように処理するかが示されて
いない。
【0005】静的及び動的なトランザクションの経路指
定アルゴリズムの研究が行われ、その結果が、著者P.
S.Yu、et al.による題名"Dynamic Transaction Routi
ng inDistributed Database Systems"(IEEE Transacti
ons on SoftwareEngineering、SE-14(9)、September
1988)及び著者D.Cornell、et al.による題名"On Cou
pling Partitioned Database Systems"(Proceedings o
f 6thInternational Conference on Distributed Compu
ting Systems、1986) で報告されているので参照され
たい。しかしながら、上記におけるトランザクション経
路指定の研究は、また全着信トランザクションにおける
平均応答時間を最小にするのにとどまり、階級化された
応答時間を前提としていない。一般に全体的な応答時間
の最小化は、階級の特定の目標を満足させない。
定アルゴリズムの研究が行われ、その結果が、著者P.
S.Yu、et al.による題名"Dynamic Transaction Routi
ng inDistributed Database Systems"(IEEE Transacti
ons on SoftwareEngineering、SE-14(9)、September
1988)及び著者D.Cornell、et al.による題名"On Cou
pling Partitioned Database Systems"(Proceedings o
f 6thInternational Conference on Distributed Compu
ting Systems、1986) で報告されているので参照され
たい。しかしながら、上記におけるトランザクション経
路指定の研究は、また全着信トランザクションにおける
平均応答時間を最小にするのにとどまり、階級化された
応答時間を前提としていない。一般に全体的な応答時間
の最小化は、階級の特定の目標を満足させない。
【0006】トランザクションの異なる階級のために
は、異なる応答時間目標に従って作業負荷のバランスを
とる、トランザクション多重処理システムの作業負荷管
理プログラムを有することが望ましい。
は、異なる応答時間目標に従って作業負荷のバランスを
とる、トランザクション多重処理システムの作業負荷管
理プログラムを有することが望ましい。
【0007】
【発明が解決しようとする課題】本発明の目的は、応答
時間が目標に達成しない程度を最小にするための作業負
荷のバランスをとる相互接続されたトランザクション処
理コンピュータ・システムのための作業負荷管理プログ
ラムを提供することにある。
時間が目標に達成しない程度を最小にするための作業負
荷のバランスをとる相互接続されたトランザクション処
理コンピュータ・システムのための作業負荷管理プログ
ラムを提供することにある。
【0008】本発明の目的は、トランザクションが階級
に分類され、各々の階級が個々の応答時間目標を持つシ
ステムのための作業負荷管理プログラムを提供すること
にある。
に分類され、各々の階級が個々の応答時間目標を持つシ
ステムのための作業負荷管理プログラムを提供すること
にある。
【0009】本発明の目的は、個々の応答時間目標に対
して性能不十分であったトランザクションの階級におけ
る応答時間未達成性能指標を最小にするように、上記シ
ステムのプロセッサ間において、作業負荷のバランスが
とれるような作業負荷管理プログラムを提供することに
ある。
して性能不十分であったトランザクションの階級におけ
る応答時間未達成性能指標を最小にするように、上記シ
ステムのプロセッサ間において、作業負荷のバランスが
とれるような作業負荷管理プログラムを提供することに
ある。
【0010】本発明の目的は、トランザクションの異な
る階級の異なる応答時間目標を考慮しつつ、トランザク
ションの経路指定管理によって作業負荷のバランスをと
ることにある。
る階級の異なる応答時間目標を考慮しつつ、トランザク
ションの経路指定管理によって作業負荷のバランスをと
ることにある。
【0011】本発明の目的は、複数の経路指定をとった
場合の各着信トランザクションの応答時間をそれぞれ予
測することにある。
場合の各着信トランザクションの応答時間をそれぞれ予
測することにある。
【0012】本発明の目的は、トランザクションのスケ
ジューリングについて各階級毎に優先順位という概念を
導入し、応答時間未達成性能指標に従ってこれらのスケ
ジューリング優先順位を動的に調整することによって、
作業負荷のバランスをとることにある。
ジューリングについて各階級毎に優先順位という概念を
導入し、応答時間未達成性能指標に従ってこれらのスケ
ジューリング優先順位を動的に調整することによって、
作業負荷のバランスをとることにある。
【0013】本発明の目的は、スケジューリング優先順
位を動的に調整することに伴う障害を考慮するために、
トランザクションが経路指定された目的のプロセッサに
おけるいかなるマルチプログラミングをも適用可能な経
路指定管理によって作業負荷のバランスをとることにあ
る。
位を動的に調整することに伴う障害を考慮するために、
トランザクションが経路指定された目的のプロセッサに
おけるいかなるマルチプログラミングをも適用可能な経
路指定管理によって作業負荷のバランスをとることにあ
る。
【0014】本発明の目的は、特定の階級のトランザク
ションが必要とする記録に対して、より遅い平均アクセ
ス時間をもつ他のプロセッサよりも、より速い平均アク
セス時間を有するプロセッサによって、特定の階級のト
ランザクションがより能率的に実行できることを事前に
考慮して作業負荷のバランスをとることにある。
ションが必要とする記録に対して、より遅い平均アクセ
ス時間をもつ他のプロセッサよりも、より速い平均アク
セス時間を有するプロセッサによって、特定の階級のト
ランザクションがより能率的に実行できることを事前に
考慮して作業負荷のバランスをとることにある。
【0015】
【課題を解決するための手段】上記目的及び利点は、ト
ランザクションを処理する複数のサーバと着信トランザ
クションをサーバに分散させるための作業負荷管理プロ
グラムを具備する本発明によって得られる。トランザク
ションをその応答時間目標によって、いくつかの階級に
分類する。
ランザクションを処理する複数のサーバと着信トランザ
クションをサーバに分散させるための作業負荷管理プロ
グラムを具備する本発明によって得られる。トランザク
ションをその応答時間目標によって、いくつかの階級に
分類する。
【0016】トランザクション階級はトランザクション
・プログラム名、トランザクション・コード、ユーザ、
トランザクションを提示するターミナル、またはワーク
ステーション、及び多数の他の要素にもとづいて分類さ
れたトランザクションのグループである。階級応答時間
目標はオペレータによって外部から指定する等の方法で
設定される。
・プログラム名、トランザクション・コード、ユーザ、
トランザクションを提示するターミナル、またはワーク
ステーション、及び多数の他の要素にもとづいて分類さ
れたトランザクションのグループである。階級応答時間
目標はオペレータによって外部から指定する等の方法で
設定される。
【0017】作業負荷管理プログラムは各トランザクシ
ョン階級の現在の階級平均応答時間(average class re
sponse time )を計算し、各階級目標応答時間との関連
において、各階級の現在の階級性能指標を導き出す。好
ましい実施例では、ある階級の現階級性能指標は(階級
平均応答時間)(階級応答時間目標)によって表され
る。トランザクション階級の現平均階級応答時間及び各
階級の現階級性能指標は、トランザクションが処理完了
するたびに更新される。
ョン階級の現在の階級平均応答時間(average class re
sponse time )を計算し、各階級目標応答時間との関連
において、各階級の現在の階級性能指標を導き出す。好
ましい実施例では、ある階級の現階級性能指標は(階級
平均応答時間)(階級応答時間目標)によって表され
る。トランザクション階級の現平均階級応答時間及び各
階級の現階級性能指標は、トランザクションが処理完了
するたびに更新される。
【0018】トランザクションが着信する度に作業負荷
管理プログラムは、着信トランザクションがとりうる多
数の経路を熟慮し、可能な経路のそれぞれについて階級
性能指標を予測する。好ましい実施例では、全ての可能
な経路が熟慮される。全資源消費量、全I/O遅延時
間、及び全通信遅延時間がそれぞれ経路指定に対して予
測される。全体目標達成指標が各々の経路に対して求め
られ、最良の全体目標達成指標が得られる経路の選択が
行われる。好ましい実施例では、可能な経路指定選択の
全体的な目標達成指標は該経路指定選択の予測された最
悪(すなわち最高位)の階級性能指標であり、最良の全
体的な目標達成指標は、これらの最悪の階級性能指標の
最良(すなわち、最低位)の1つである。これは最小/
最大機能と呼ばれることがある。
管理プログラムは、着信トランザクションがとりうる多
数の経路を熟慮し、可能な経路のそれぞれについて階級
性能指標を予測する。好ましい実施例では、全ての可能
な経路が熟慮される。全資源消費量、全I/O遅延時
間、及び全通信遅延時間がそれぞれ経路指定に対して予
測される。全体目標達成指標が各々の経路に対して求め
られ、最良の全体目標達成指標が得られる経路の選択が
行われる。好ましい実施例では、可能な経路指定選択の
全体的な目標達成指標は該経路指定選択の予測された最
悪(すなわち最高位)の階級性能指標であり、最良の全
体的な目標達成指標は、これらの最悪の階級性能指標の
最良(すなわち、最低位)の1つである。これは最小/
最大機能と呼ばれることがある。
【0019】好ましい実施例では、作業負荷管理プログ
ラムは、また性能の良くない階級のトランザクション
が、経路指定された宛先のサーバにおいて、性能の良い
階級のトランザクションよりもさらに高位のタスク指名
順位が得られるように、現階級性能指標、現平均階級応
答時間と階級応答時間目標との比率に従って階級を優先
設定する。
ラムは、また性能の良くない階級のトランザクション
が、経路指定された宛先のサーバにおいて、性能の良い
階級のトランザクションよりもさらに高位のタスク指名
順位が得られるように、現階級性能指標、現平均階級応
答時間と階級応答時間目標との比率に従って階級を優先
設定する。
【0020】各々のサーバは互いに機能的に独立してお
り、別々のコンピュータで実行される。所望するなら
ば、物理的に同じコンピュータによって複数のサーバを
実行できる。ルータ機能は、また各サーバから機能的に
独立しており、別々のコンピュータまたは1つ以上のサ
ーバを実行するコンピュータによっても実行できる。
り、別々のコンピュータで実行される。所望するなら
ば、物理的に同じコンピュータによって複数のサーバを
実行できる。ルータ機能は、また各サーバから機能的に
独立しており、別々のコンピュータまたは1つ以上のサ
ーバを実行するコンピュータによっても実行できる。
【0021】
【数1】 は以降ベクトルNと記載する。本発明は、多重プロセッ
サ・トランザクション処理システムにおいて、高性能の
動的な作業負荷管理を実行するために新しい技術を実施
する。各トランザクションは一般にユーザ入力データを
処理し、1つ以上のデータベースに対して読出し及び更
新を実行し、アプリケーション・コードを実行してその
結果をユーザに送信する。ユーザと実行中のトランザク
ションとの間で複数の対話ができる。
サ・トランザクション処理システムにおいて、高性能の
動的な作業負荷管理を実行するために新しい技術を実施
する。各トランザクションは一般にユーザ入力データを
処理し、1つ以上のデータベースに対して読出し及び更
新を実行し、アプリケーション・コードを実行してその
結果をユーザに送信する。ユーザと実行中のトランザク
ションとの間で複数の対話ができる。
【0022】システム・ハードウェア・アーキテクチャ
の好ましい実施例が、図1に示されている。システムで
実行される作業は、データベース要求を実行するユーザ
提示のトランザクションである。著者C.J.Date、によ
る題名"An Introduction toDatabase Systems"(Volume
II、Addison Wesley Company、Reading Mass.、198
3)は、典型的なトランザクション及びデータベース要
求実行を説明しているので参照されたい。各々の提示さ
れたトランザクションは予め定義されたトランザクショ
ン階級に属する。図1は6つの異なるトランザクション
T1、T2、T3、T4、T5、T6を示し、トランザクショ
ン・サーバB1、トランザクション・サーバBm及びトラ
ンザクション・サーバBNによって実行される。C1、C
2、...、CKで表されるK個のトランザクション階級
がある。階級C1の着信または発信のトランザクション
は、例えばT(C1 )として表される。ある階級での着
信トランザクションの識別は、トランザクション・プロ
グラム名、トランザクション・コード、ユーザ及び多数
の他の要素に依存する。各々のトランザクションはユー
ザ入力データを処理し、データベースに対して読出し及
び更新を実行し、アプリケーション・コードを実行して
その結果をユーザに送信する。ユーザと実行中のトラン
ザクションとの間では複数の対話ができる。
の好ましい実施例が、図1に示されている。システムで
実行される作業は、データベース要求を実行するユーザ
提示のトランザクションである。著者C.J.Date、によ
る題名"An Introduction toDatabase Systems"(Volume
II、Addison Wesley Company、Reading Mass.、198
3)は、典型的なトランザクション及びデータベース要
求実行を説明しているので参照されたい。各々の提示さ
れたトランザクションは予め定義されたトランザクショ
ン階級に属する。図1は6つの異なるトランザクション
T1、T2、T3、T4、T5、T6を示し、トランザクショ
ン・サーバB1、トランザクション・サーバBm及びトラ
ンザクション・サーバBNによって実行される。C1、C
2、...、CKで表されるK個のトランザクション階級
がある。階級C1の着信または発信のトランザクション
は、例えばT(C1 )として表される。ある階級での着
信トランザクションの識別は、トランザクション・プロ
グラム名、トランザクション・コード、ユーザ及び多数
の他の要素に依存する。各々のトランザクションはユー
ザ入力データを処理し、データベースに対して読出し及
び更新を実行し、アプリケーション・コードを実行して
その結果をユーザに送信する。ユーザと実行中のトラン
ザクションとの間では複数の対話ができる。
【0023】トランザクション処理システムはフロント
・エンド・プロセッサ(FEP)F及びN個のトランザ
クション・サーバB1、B2、Bm、...、BNを有す
る。各々のサーバは完全に機能的なコンピュータ・シス
テムであり、CPU、メモリ、ディスク、その他を有す
る。これらのコンピュータは結合機構9を介して、例え
ば、高帯域幅相互接続ネットワーク等に相互接続され
る。Fで表されるプロセッサはフロント・エンド・プロ
セッサ(FEP)として指定され、ルータ7を含む作業
負荷管理プログラム6を有する。FEPはユーザとの通
信に必要なネットワーク通信プロトコル4を実行する。
FEPは、またデータベース・システムの機能であるデ
ータ通信層5を実行する。著者C.J.Date、による題
名"AnIntroduction to Database Systems"(Volume I
I、Addison Wesley Company、Reading Mass.、1983)
は、データ通信層がソフトウェアとどのようにインタフ
ェースするかを述べている。このソフトウェアはデータ
ベースのユーザによって使用されるターミナル、または
インテリジェント・ワークステーションとのメッセージ
のやりとりをするために送受信するプロセッサの通信ハ
ードウェアを制御する。ユーザによって発信されたメッ
セージは、データ通信層によって特定の種類のトランザ
クションを開始させる。実行中のトランザクションから
発信されるユーザへの応答がメッセージに組込まれてユ
ーザに送信される。データ通信層5の構成要素の1つは
作業負荷管理プログラム6である。作業負荷管理プログ
ラム6の機能の1つは、例えばT1、...、T6を始め
とするトランザクションを適切なトランザクション・サ
ーバに経路指定することにある。これは、作業負荷管理
プログラムの構成要素であるルータ7によって実行され
る。全ての着信及び処理完了のトランザクションはFE
Pを通る。本明細で述べる技術は、一般に複数のFEP
の場合である。
・エンド・プロセッサ(FEP)F及びN個のトランザ
クション・サーバB1、B2、Bm、...、BNを有す
る。各々のサーバは完全に機能的なコンピュータ・シス
テムであり、CPU、メモリ、ディスク、その他を有す
る。これらのコンピュータは結合機構9を介して、例え
ば、高帯域幅相互接続ネットワーク等に相互接続され
る。Fで表されるプロセッサはフロント・エンド・プロ
セッサ(FEP)として指定され、ルータ7を含む作業
負荷管理プログラム6を有する。FEPはユーザとの通
信に必要なネットワーク通信プロトコル4を実行する。
FEPは、またデータベース・システムの機能であるデ
ータ通信層5を実行する。著者C.J.Date、による題
名"AnIntroduction to Database Systems"(Volume I
I、Addison Wesley Company、Reading Mass.、1983)
は、データ通信層がソフトウェアとどのようにインタフ
ェースするかを述べている。このソフトウェアはデータ
ベースのユーザによって使用されるターミナル、または
インテリジェント・ワークステーションとのメッセージ
のやりとりをするために送受信するプロセッサの通信ハ
ードウェアを制御する。ユーザによって発信されたメッ
セージは、データ通信層によって特定の種類のトランザ
クションを開始させる。実行中のトランザクションから
発信されるユーザへの応答がメッセージに組込まれてユ
ーザに送信される。データ通信層5の構成要素の1つは
作業負荷管理プログラム6である。作業負荷管理プログ
ラム6の機能の1つは、例えばT1、...、T6を始め
とするトランザクションを適切なトランザクション・サ
ーバに経路指定することにある。これは、作業負荷管理
プログラムの構成要素であるルータ7によって実行され
る。全ての着信及び処理完了のトランザクションはFE
Pを通る。本明細で述べる技術は、一般に複数のFEP
の場合である。
【0024】その他のプロセッサは、バック・エンド・
プロセッサ(BEP)としての役目をし、トランザクシ
ョン・サーバと呼ばれる。作業負荷管理プログラム及び
トランザクション・サーバが、同一プロセッサ(コンピ
ュータ)に存在するシステム構成にすることは非常に良
いことである。これらのプロセッサはトランザクション
・プログラムを実行し、プログラムによって行われるD
B要求を処理する。これらの機能は同時実行制御、指標
付け、バッファリング、ディスク入出力、その他を有
し、及びデータベース層13乃至15を有する。本発明
の実施例によって仮定されるモデルにおいて、データベ
ースの記録はBEP全体に区分される。プロセッサB1
で実行しているトランザクションT1が、ファイル(関
連DB)Fk(17)のレコードR(18)に関して何
らかの処理を要求したものと仮定する。そのレコードが
B1 内に存在していれば、その動作は局部的に実行され
る。さもなければ、動作はレコードを有するプロセッサ
Bmに機能移管される。著者D.W.Cornell、et al.に
よる題名"On Multisystem Coupling through FunctionR
equest Shipping"(IEEE Transactions on Software En
gineering、SE-12 (10)、October 1986.)は、上記
方法がIBMトランザクション処理用の製品であるCI
CSによってどのように行われるかを述べる。Bm はそ
の動作を処理し、結果とデータをB1に送信し、B1はそ
の結果をT1 に送る。ここでの実施例では、BEP全体
でデータベースを区分していると仮定しているが、経路
指定アルゴリズム(及び、本実施例の一部であるスケジ
ューリング・アルゴリズム)は、またデータベースがB
EP間で共有される、共有データベース環境にも適用で
きる。
プロセッサ(BEP)としての役目をし、トランザクシ
ョン・サーバと呼ばれる。作業負荷管理プログラム及び
トランザクション・サーバが、同一プロセッサ(コンピ
ュータ)に存在するシステム構成にすることは非常に良
いことである。これらのプロセッサはトランザクション
・プログラムを実行し、プログラムによって行われるD
B要求を処理する。これらの機能は同時実行制御、指標
付け、バッファリング、ディスク入出力、その他を有
し、及びデータベース層13乃至15を有する。本発明
の実施例によって仮定されるモデルにおいて、データベ
ースの記録はBEP全体に区分される。プロセッサB1
で実行しているトランザクションT1が、ファイル(関
連DB)Fk(17)のレコードR(18)に関して何
らかの処理を要求したものと仮定する。そのレコードが
B1 内に存在していれば、その動作は局部的に実行され
る。さもなければ、動作はレコードを有するプロセッサ
Bmに機能移管される。著者D.W.Cornell、et al.に
よる題名"On Multisystem Coupling through FunctionR
equest Shipping"(IEEE Transactions on Software En
gineering、SE-12 (10)、October 1986.)は、上記
方法がIBMトランザクション処理用の製品であるCI
CSによってどのように行われるかを述べる。Bm はそ
の動作を処理し、結果とデータをB1に送信し、B1はそ
の結果をT1 に送る。ここでの実施例では、BEP全体
でデータベースを区分していると仮定しているが、経路
指定アルゴリズム(及び、本実施例の一部であるスケジ
ューリング・アルゴリズム)は、またデータベースがB
EP間で共有される、共有データベース環境にも適用で
きる。
【0025】好ましい実施例によれば、データベース管
理者は各トランザクション階級において平均応答時間目
標を定義する。これらの目標は、g1、g2、...、g
K で表される。問題はこれらの目標を達成するためにト
ランザクション作業負担を管理することである。トラン
ザクション階級の性能目標を定義して実行させる能力
は、多様なユーザ・コミュニティによって提示された様
々な種類のトランザクションを処理するシステムにとっ
て重要である。さらに処理レベル協定が作業の異なる階
級のために必要な応答時間の観点から通常、指定され
る。著者C.Watson、et al.による題名"The Three Pha
ses of Service Levels"(MainframeJournal、July 198
9.)は、この業界で使用される様々な処理レベル協定
の例を与えるので参照されたい。
理者は各トランザクション階級において平均応答時間目
標を定義する。これらの目標は、g1、g2、...、g
K で表される。問題はこれらの目標を達成するためにト
ランザクション作業負担を管理することである。トラン
ザクション階級の性能目標を定義して実行させる能力
は、多様なユーザ・コミュニティによって提示された様
々な種類のトランザクションを処理するシステムにとっ
て重要である。さらに処理レベル協定が作業の異なる階
級のために必要な応答時間の観点から通常、指定され
る。著者C.Watson、et al.による題名"The Three Pha
ses of Service Levels"(MainframeJournal、July 198
9.)は、この業界で使用される様々な処理レベル協定
の例を与えるので参照されたい。
【0026】本発明の実施例では2種類の作業負荷管理
方法を用いる。第1はFEPで実行されるトランザクシ
ョン経路指定アルゴリズムの使用である。各々の着信ト
ランザクションはトランザクションによって、要求され
た推定資源にもとづくBEPの1つに経路指定され、B
EPの現システム状態(ロード)及び応答時間目標への
達成度は、その経路選択の結果として満足させられる。
第2は動的優先順位方式の使用である。この方式はBE
Pのスケジューリング優先順位を動的に調整する。これ
らの優先順位はCPU処理のために待機中のどのトラン
ザクションをタスク指名するか及び割込みできるか、で
きないかを決める。
方法を用いる。第1はFEPで実行されるトランザクシ
ョン経路指定アルゴリズムの使用である。各々の着信ト
ランザクションはトランザクションによって、要求され
た推定資源にもとづくBEPの1つに経路指定され、B
EPの現システム状態(ロード)及び応答時間目標への
達成度は、その経路選択の結果として満足させられる。
第2は動的優先順位方式の使用である。この方式はBE
Pのスケジューリング優先順位を動的に調整する。これ
らの優先順位はCPU処理のために待機中のどのトラン
ザクションをタスク指名するか及び割込みできるか、で
きないかを決める。
【0027】経路指定技術について説明する。トランザ
クション経路指定技術はFEPのデータ通信層で実行さ
れる。この経路指定技術は、経路指定を求めるのに必要
な3つの集合の制御変数を管理する。これらは次の通り
である。
クション経路指定技術はFEPのデータ通信層で実行さ
れる。この経路指定技術は、経路指定を求めるのに必要
な3つの集合の制御変数を管理する。これらは次の通り
である。
【0028】1.ベクトルN={N1、N2、...、N
K}:フィールドNjは現在、システムにある(BEPへ
経路指定された)階級Cj のトランザクション数であ
る。
K}:フィールドNjは現在、システムにある(BEPへ
経路指定された)階級Cj のトランザクション数であ
る。
【0029】2.ベクトルP={P1、P2、...、P
K}:フィールドPjは階級Cj の性能指標と呼ばれ、階
級Cjの現目標達成度を表す。 Pjは現平均階級Cjの応
答時間を目標gjによって除算した値である。Pi≦1な
らば、階級Cj はその目標にかなう。性能指標が小さい
ほど性能が良好で目標が十分に達成されていることを意
味する。ベクトルPを管理する技術は後で説明する。
K}:フィールドPjは階級Cj の性能指標と呼ばれ、階
級Cjの現目標達成度を表す。 Pjは現平均階級Cjの応
答時間を目標gjによって除算した値である。Pi≦1な
らば、階級Cj はその目標にかなう。性能指標が小さい
ほど性能が良好で目標が十分に達成されていることを意
味する。ベクトルPを管理する技術は後で説明する。
【0030】3.Sはシステム状態情報を表す。この情
報は過去の経路指定決定の経歴、BEPの現ロード、ト
ランザクション階級の資源使用統計値、その他を有す
る。この状態情報は経路指定技術の異なる実施によって
変わる。性能予測副構成のために必要である状態情報の
実施例が後で述べられる。
報は過去の経路指定決定の経歴、BEPの現ロード、ト
ランザクション階級の資源使用統計値、その他を有す
る。この状態情報は経路指定技術の異なる実施によって
変わる。性能予測副構成のために必要である状態情報の
実施例が後で述べられる。
【0031】経路指定技術は副機能R(S、i、l、
j)を用いる。Sは現システム状態である。iは最後に
着信したトランザクションの階級ID(識別子)であ
る。lはBEP ID、及びjは任意の階級IDであ
る。この副機能は着信トランザクションT∈CiがBE
P Blに経路指定される場合、既にシステムに存在す
る階級Cj のトランザクションの平均応答時間を予測す
る。Rの実施例は後で述べる。
j)を用いる。Sは現システム状態である。iは最後に
着信したトランザクションの階級ID(識別子)であ
る。lはBEP ID、及びjは任意の階級IDであ
る。この副機能は着信トランザクションT∈CiがBE
P Blに経路指定される場合、既にシステムに存在す
る階級Cj のトランザクションの平均応答時間を予測す
る。Rの実施例は後で述べる。
【0032】経路指定技術は各トランザクションがFE
Pに、着信及び各トランザクションの処理完了毎に呼出
される。
Pに、着信及び各トランザクションの処理完了毎に呼出
される。
【0033】着信アルゴリズムについて説明する。着信
トランザクションT Ci があると仮定する。以下
のステップが実行される。
トランザクションT Ci があると仮定する。以下
のステップが実行される。
【0034】1.フィールドT.arrival_ti
meの着信時間Tを記録する。
meの着信時間Tを記録する。
【0035】2.全ての階級Cj、及び全てのBEP
Blを計算する。
Blを計算する。
【数2】
【0036】この計算は図5に示されている。値P
(j、l)は、TがBEP Bl に経路指定された場合
における、階級Cj の性能指標の予測された新しい値で
ある。TがBlに経路指定される場合、現在Blに対して
アクティブ(経路指定されている)である階級Cj のト
ランザクションの応答時間に影響を及ぼす。Tは,また
他のBEPに対して機能移管を生じさせ、他のBEPに
経路指定されている階級Cj のトランザクションの応答
時間に影響する。パラメータαは0≦α≦1の範囲であ
り、現システム状態と以前に観測された応答時間(過去
の経歴)との比較の重要性に重みをおくのに利用され
る。
(j、l)は、TがBEP Bl に経路指定された場合
における、階級Cj の性能指標の予測された新しい値で
ある。TがBlに経路指定される場合、現在Blに対して
アクティブ(経路指定されている)である階級Cj のト
ランザクションの応答時間に影響を及ぼす。Tは,また
他のBEPに対して機能移管を生じさせ、他のBEPに
経路指定されている階級Cj のトランザクションの応答
時間に影響する。パラメータαは0≦α≦1の範囲であ
り、現システム状態と以前に観測された応答時間(過去
の経歴)との比較の重要性に重みをおくのに利用され
る。
【0037】3.トランザクションTは次式を満足する
BEP Bm に経路指定される。
BEP Bm に経路指定される。
【数3】 (lを固定してP(j,l)をすべてのjについて計算
し、そのときの最大値をQ(l)とすると、Q(l)を
最小にするものをいう。)
し、そのときの最大値をQ(l)とすると、Q(l)を
最小にするものをいう。)
【0038】この手法は全ての性能指標を等しくさせ、
且つ可能な限り小さくさせる。この手法によってある階
級が目標を大きく上回ったために、他の階級が目標を達
成できない、という事態の到来を防止する。
且つ可能な限り小さくさせる。この手法によってある階
級が目標を大きく上回ったために、他の階級が目標を達
成できない、という事態の到来を防止する。
【0039】4.TがBmに送信された後、経路指定を
反映するためにNj及びSは更新させられる。
反映するためにNj及びSは更新させられる。
【0040】発信アルゴリズムについて説明する。トラ
ンザクションT Ci の処理完了(発信)があると
仮定する。図6は発信アルゴリズムの図式である。以下
のステップが実行される。
ンザクションT Ci の処理完了(発信)があると
仮定する。図6は発信アルゴリズムの図式である。以下
のステップが実行される。
【0041】1.R=Current_time−T.
arrival_timeを設定する。
arrival_timeを設定する。
【0042】2.次式によりPi の値を更新する
【数4】
【0043】パラメータβは過去の応答時間と最後に発
信した応答時間との相対的な重み付けを示す。その他の
技術では最後に発信した階級での平均応答時間を計るこ
とにより、Pi を計算することが可能である。
信した応答時間との相対的な重み付けを示す。その他の
技術では最後に発信した階級での平均応答時間を計るこ
とにより、Pi を計算することが可能である。
【0044】3.Ni 及びSを更新する。
【0045】動的優先順位付け技術について説明する。
FEP/DC層装置は正確に目標達成度をモニタでき
る、トランザクション処理システムの唯一の構成要素で
ある。従って、FEP/DC層装置はBEPで使用され
るトランザクション階級の優先順位を設定できる。BE
Pは局所的な情報にもとづく優先順位を設定することは
できない。これは、各々のBEPはトランザクション階
級内の一部分のみの処理完了をモニタするにすぎないか
らである。従って、目標達成度に関するBEP情報は非
常に不正確である。
FEP/DC層装置は正確に目標達成度をモニタでき
る、トランザクション処理システムの唯一の構成要素で
ある。従って、FEP/DC層装置はBEPで使用され
るトランザクション階級の優先順位を設定できる。BE
Pは局所的な情報にもとづく優先順位を設定することは
できない。これは、各々のBEPはトランザクション階
級内の一部分のみの処理完了をモニタするにすぎないか
らである。従って、目標達成度に関するBEP情報は非
常に不正確である。
【0046】動的優先順位付け技術は3つの構成機能か
ら成る。第1の機能は目標達成度にもとづく階級優先順
位を更新し、その更新をBEPに知らせるFEP/DC
機能である。第2の機能はFEP/DCによって送信さ
れた優先順位の更新を受信して処理するBEPの副機能
である。第3の機能はBEP内でスケジューリング手法
を実行する副機能である。この第3の副機能はどのトラ
ンザクションがCPUを占有するかを決める。これらの
3つの機能について次に述べる。
ら成る。第1の機能は目標達成度にもとづく階級優先順
位を更新し、その更新をBEPに知らせるFEP/DC
機能である。第2の機能はFEP/DCによって送信さ
れた優先順位の更新を受信して処理するBEPの副機能
である。第3の機能はBEP内でスケジューリング手法
を実行する副機能である。この第3の副機能はどのトラ
ンザクションがCPUを占有するかを決める。これらの
3つの機能について次に述べる。
【0047】FEP/DC更新アルゴリズムについて説
明する。FEP/DC更新アルゴリズムはトランザクシ
ョンが処理完了する度に呼出される。これは前述の発信
アルゴリズムのステップ2に続く。このアルゴリズムは
内部制御変数o(i)、i=1、2、...、Kを管理
する。集合o(i)は集合{1、2、...、K}の置
換であり、最大性能指標から最小性能指標にソートされ
たトランザクション階級IDを表す。言い換えると、集
合o(i)は次式の特性を有する。
明する。FEP/DC更新アルゴリズムはトランザクシ
ョンが処理完了する度に呼出される。これは前述の発信
アルゴリズムのステップ2に続く。このアルゴリズムは
内部制御変数o(i)、i=1、2、...、Kを管理
する。集合o(i)は集合{1、2、...、K}の置
換であり、最大性能指標から最小性能指標にソートされ
たトランザクション階級IDを表す。言い換えると、集
合o(i)は次式の特性を有する。
【数5】Po(i)≧Po(i+l)
【0048】処理完了のトランザクションT∈Ci があ
ると仮定する。優先順位更新アルゴリズムは性能指標P
i の更新後、以下のステップを実行する。
ると仮定する。優先順位更新アルゴリズムは性能指標P
i の更新後、以下のステップを実行する。
【0049】1.Po(i)≦Po(i+1)またはPo(i)≧P
o(i-1)ならば、 a.性能指標の現在値にもとづいて順序、o(1)、o
(2)、...、o(K)を再計算する。 b.ベクトルP={P1、P2、...、PK }の新しい
値を全てのBEPに送信する。
o(i-1)ならば、 a.性能指標の現在値にもとづいて順序、o(1)、o
(2)、...、o(K)を再計算する。 b.ベクトルP={P1、P2、...、PK }の新しい
値を全てのBEPに送信する。
【0050】順序リストo(i)はオーバヘッドを、よ
り低くするのに使用される。B−treeなど、性能指
標が高い階級を探索するオーバヘッドをより低くする他
のいくつかの実施方法がある。階級の相対的順位を実際
に変える性能指標の変化だけがBEPに送信される。順
位付けを変えない変化は、BEPの優先順位に影響しな
いので送信されない。さらにオーバヘッドをより低くす
るには、FEP/DCによって経路指定されたトランザ
クションの更新された性能指標をピギーバッグ(piggyb
ack=トランザクションのメッセージの特別なフィール
ドに挿入) することで可能である。これによってトラ
ンザクションがBEPに送られたとき、それとともに新
しい性能指標も送ることができるので余分なメッセージ
が不要となる。本明細書の実施例では、FEP/DCが
トランザクションをBEPに経路指定する度に、BEP
は最新のベクトルPが送信されたかをテストする。テス
ト結果が否定ならば、新しいベクトルPが経路指定され
たトランザクションに付加され、BEPがトランザクシ
ョンを受信するときにBEPによって抽出される。この
最適化が優先順位を更新するための余分なメッセージの
送信の必要性を排除する。オーバヘッドは更新された性
能指標ベクトルが送信される間において、処理完了の数
を固定することを要求することによってさらに減らすこ
とができる。
り低くするのに使用される。B−treeなど、性能指
標が高い階級を探索するオーバヘッドをより低くする他
のいくつかの実施方法がある。階級の相対的順位を実際
に変える性能指標の変化だけがBEPに送信される。順
位付けを変えない変化は、BEPの優先順位に影響しな
いので送信されない。さらにオーバヘッドをより低くす
るには、FEP/DCによって経路指定されたトランザ
クションの更新された性能指標をピギーバッグ(piggyb
ack=トランザクションのメッセージの特別なフィール
ドに挿入) することで可能である。これによってトラ
ンザクションがBEPに送られたとき、それとともに新
しい性能指標も送ることができるので余分なメッセージ
が不要となる。本明細書の実施例では、FEP/DCが
トランザクションをBEPに経路指定する度に、BEP
は最新のベクトルPが送信されたかをテストする。テス
ト結果が否定ならば、新しいベクトルPが経路指定され
たトランザクションに付加され、BEPがトランザクシ
ョンを受信するときにBEPによって抽出される。この
最適化が優先順位を更新するための余分なメッセージの
送信の必要性を排除する。オーバヘッドは更新された性
能指標ベクトルが送信される間において、処理完了の数
を固定することを要求することによってさらに減らすこ
とができる。
【0051】性能指標ベクトルをBEPに送信する他の
代替方法は、新しく経路指定されたトランザクションの
階級の優先順位のみ更新することである。例えば、階級
C1のトランザクションT1が着信すると仮定する。FE
PはT1をBEP B3 に経路指定し、BEP B3の階
級C1の優先順位をP1からP^1 に変更することを決め
たと仮定する。次にメッセージ<P^1、T1>はBEP
B3に送られる。
代替方法は、新しく経路指定されたトランザクションの
階級の優先順位のみ更新することである。例えば、階級
C1のトランザクションT1が着信すると仮定する。FE
PはT1をBEP B3 に経路指定し、BEP B3の階
級C1の優先順位をP1からP^1 に変更することを決め
たと仮定する。次にメッセージ<P^1、T1>はBEP
B3に送られる。
【0052】受信更新アルゴリズムについて説明する。
各々のBEPはベクトルPの局所のコピーを管理する。
ベクトルPの新しい値を含むメッセージ(またはトラン
ザクション)を受信後、局所コピーが更新される。
各々のBEPはベクトルPの局所のコピーを管理する。
ベクトルPの新しい値を含むメッセージ(またはトラン
ザクション)を受信後、局所コピーが更新される。
【0053】BEPスケジューリング・アルゴリズムに
ついて説明する。BEPスケジューリング・アルゴリズ
ムは実行中のトランザクションTがCPUを解放して待
ち状態に入る度に呼出される。トランザクションはI/
O待ち、機能移管応答、ユーザ入力、ロック、その他を
含む多くの理由で待ち状態に入る。BEPスケジューラ
が割込み可能で、より高位の優先順位である階級に属す
る他のトランザクションが実行可能になった場合、実行
中のトランザクションは待ち状態におかれる。待ち状態
が完了したのちに、Tは実行準備をさせられ、CPUに
対して待機する。BEPは全てのトランザクションのト
ランザクション階級を知っている。機能移管要求の階級
は、その要求が実行されるトランザクションの階級と同
じである。
ついて説明する。BEPスケジューリング・アルゴリズ
ムは実行中のトランザクションTがCPUを解放して待
ち状態に入る度に呼出される。トランザクションはI/
O待ち、機能移管応答、ユーザ入力、ロック、その他を
含む多くの理由で待ち状態に入る。BEPスケジューラ
が割込み可能で、より高位の優先順位である階級に属す
る他のトランザクションが実行可能になった場合、実行
中のトランザクションは待ち状態におかれる。待ち状態
が完了したのちに、Tは実行準備をさせられ、CPUに
対して待機する。BEPは全てのトランザクションのト
ランザクション階級を知っている。機能移管要求の階級
は、その要求が実行されるトランザクションの階級と同
じである。
【0054】BEPスケジューリング・アルゴリズムは
少くとも1つの待機トランザクションを有している階級
中で最も高位の優先順位を有する階級Ci からトランザ
クションをタスク指名する。これはラウンド・ロビン・
スキャンを使用してトランザクション階級を調べること
によって実行される。ラウンド・ロビン・スキャンは同
一優先順位を有する他の階級と、階級Ci とを区別する
ために使用される。階級の優先順位は性能指標によって
決まる。一般に階級の性能指標が高くなると、その優先
順位が高くなる。しかしながら、性能指標が非常に接近
している階級に、厳密な優先順位を与えることを避ける
ために一定範囲の性能指標を有する階級の一群は同一の
優先順位であると規定される。
少くとも1つの待機トランザクションを有している階級
中で最も高位の優先順位を有する階級Ci からトランザ
クションをタスク指名する。これはラウンド・ロビン・
スキャンを使用してトランザクション階級を調べること
によって実行される。ラウンド・ロビン・スキャンは同
一優先順位を有する他の階級と、階級Ci とを区別する
ために使用される。階級の優先順位は性能指標によって
決まる。一般に階級の性能指標が高くなると、その優先
順位が高くなる。しかしながら、性能指標が非常に接近
している階級に、厳密な優先順位を与えることを避ける
ために一定範囲の性能指標を有する階級の一群は同一の
優先順位であると規定される。
【0055】実行中のトランザクションが待ち状態に入
る度に、図4にも示されているように以下のステップが
実行される。
る度に、図4にも示されているように以下のステップが
実行される。
【0056】a.count=0
【0057】b.i=last_dispatched
{last_dispatchedは、スケジューリン
グ・アルゴリズムによってタスク指名された最後のトラ
ンザクションの階級IDを記録する。初期設定は1であ
る。}
{last_dispatchedは、スケジューリン
グ・アルゴリズムによってタスク指名された最後のトラ
ンザクションの階級IDを記録する。初期設定は1であ
る。}
【0058】c.best_class=−1 {アルゴリズムは、待機トランザクションを有する最高
位の優先順位の階級を探すために全てのトランザクショ
ン階級を調べる。}
位の優先順位の階級を探すために全てのトランザクショ
ン階級を調べる。}
【0059】d.count≦Kの間 1)i=i+1を実行する。{階級はラウンド・ロビン
によってスキャンされる。指標が一回りすると、指標は
1に設定される。} 2)もし i>K ならば a)i=1 {アルゴリズムが実行可能状態にあるトランザクショ
ン、または調べられた階級がより高位の優先順位を有し
ている場合は、これまでに調べた最高位の優先順位の階
級を現階級に設定する。} 3)CPU処理のために待機している階級Ci のトラン
ザクションがある場合、 a)もし best_class=−1 OR P
best_class<Pi−ε ならば{εは群パラメータであ
る。ε=0ならば、優先順位は性能指標によって厳密に
求められる。さもなければ、優先順位は性能指標がεの
範囲内のトランザクションについては一定である。} i.best_class=i 4)count=count +1 {もうひとつの階級が調べられる} EndWhile;{この時点で、タスク指名される次
のトランザクションを有する階級が特定されている。こ
の手法は、単にトランザクションを階級から拾い上げて
タスク指名する。}
によってスキャンされる。指標が一回りすると、指標は
1に設定される。} 2)もし i>K ならば a)i=1 {アルゴリズムが実行可能状態にあるトランザクショ
ン、または調べられた階級がより高位の優先順位を有し
ている場合は、これまでに調べた最高位の優先順位の階
級を現階級に設定する。} 3)CPU処理のために待機している階級Ci のトラン
ザクションがある場合、 a)もし best_class=−1 OR P
best_class<Pi−ε ならば{εは群パラメータであ
る。ε=0ならば、優先順位は性能指標によって厳密に
求められる。さもなければ、優先順位は性能指標がεの
範囲内のトランザクションについては一定である。} i.best_class=i 4)count=count +1 {もうひとつの階級が調べられる} EndWhile;{この時点で、タスク指名される次
のトランザクションを有する階級が特定されている。こ
の手法は、単にトランザクションを階級から拾い上げて
タスク指名する。}
【0060】e.もし best_class≠−1
ならば以下を実行する。 1)待機トランザクションTを階級Cbest_classから拾
い上げる 2)タスク指名(T) 3)last_dispatched=best_cl
ass
ならば以下を実行する。 1)待機トランザクションTを階級Cbest_classから拾
い上げる 2)タスク指名(T) 3)last_dispatched=best_cl
ass
【0061】このアルゴリズムは非割込みのスケジュー
リング手法を実行する。BEPスケジューリング・アル
ゴリズムに対する1つの可能な強化は、強制排除を実行
することである。トランザクションT∈Ci が実行準備
されたと仮定する。全ての実行中のトランザクションは
最下位の優先順位のトランザクション T^∈ Cjを
見つけるために調べられる。Pi-ε>PjならばT^ は
待機に戻され、Tがタスク指名される。
リング手法を実行する。BEPスケジューリング・アル
ゴリズムに対する1つの可能な強化は、強制排除を実行
することである。トランザクションT∈Ci が実行準備
されたと仮定する。全ての実行中のトランザクションは
最下位の優先順位のトランザクション T^∈ Cjを
見つけるために調べられる。Pi-ε>PjならばT^ は
待機に戻され、Tがタスク指名される。
【0062】トランザクション処理システムのある実施
形態において、BEPは内部マルチプログラミング・レ
ベル制約を実施する。この実施形態において、最大でM
ik個のトランザクションがどの時点でもBEP Bk で
アクティブである。トランザクションはトランザクショ
ンがプロセスに連結され、CPUに対しての待機、DB
要求等が許される限りアクティブであると定義する。非
アクティブ・トランザクションはプロセスに連結されア
クティブになる前に、アクティブなトランザクションが
処理完了するのを単に待つ。マルチプログラミング制約
は、通常、メモリ制限及びロック・コンテンションを避
けるために考慮される。上記のスケジューリング・アル
ゴリズムは、またアクティブなトランザクションが処理
完了した時に、待機している非アクティブなトランザク
ションのうちのどれが、アクティブにされるかを決める
ために使用される。階級iのトランザクションまたは機
能移管要求がBkに着信するときに、BkにすでにMikの
アクティブなトランザクションがあれば待機させられ
る。
形態において、BEPは内部マルチプログラミング・レ
ベル制約を実施する。この実施形態において、最大でM
ik個のトランザクションがどの時点でもBEP Bk で
アクティブである。トランザクションはトランザクショ
ンがプロセスに連結され、CPUに対しての待機、DB
要求等が許される限りアクティブであると定義する。非
アクティブ・トランザクションはプロセスに連結されア
クティブになる前に、アクティブなトランザクションが
処理完了するのを単に待つ。マルチプログラミング制約
は、通常、メモリ制限及びロック・コンテンションを避
けるために考慮される。上記のスケジューリング・アル
ゴリズムは、またアクティブなトランザクションが処理
完了した時に、待機している非アクティブなトランザク
ションのうちのどれが、アクティブにされるかを決める
ために使用される。階級iのトランザクションまたは機
能移管要求がBkに着信するときに、BkにすでにMikの
アクティブなトランザクションがあれば待機させられ
る。
【0063】図2は任意のトランザクション・サーバB
EP Bm 内の待ち行列の構造を示す。トランザクショ
ン・サーバは複数のCPU(2つのCPU20、21が
示されている)を有することができる。各トランザクシ
ョン階級は2つの待ち行列を有する。第1の待ち行列は
CPU処理のために待機しているアクティブなトランザ
クションを含む。第2の待ち行列は処理完了を待つ非ア
クティブなトランザクションを含む。例えば、階級C1
はCPU処理を待つ階級C1の全てのアクティブなトラ
ンザクションを含む待ち行列22と、処理完了を待つ階
級C1 からの非アクティブなトランザクションを有する
待ち行列25とを有する。
EP Bm 内の待ち行列の構造を示す。トランザクショ
ン・サーバは複数のCPU(2つのCPU20、21が
示されている)を有することができる。各トランザクシ
ョン階級は2つの待ち行列を有する。第1の待ち行列は
CPU処理のために待機しているアクティブなトランザ
クションを含む。第2の待ち行列は処理完了を待つ非ア
クティブなトランザクションを含む。例えば、階級C1
はCPU処理を待つ階級C1の全てのアクティブなトラ
ンザクションを含む待ち行列22と、処理完了を待つ階
級C1 からの非アクティブなトランザクションを有する
待ち行列25とを有する。
【0064】応答時間予測装置について説明する。応答
時間予測装置は着信が生ずる毎に、経路指定技術によっ
て呼出される副構成要素である。この構成要素はシステ
ムに現在ある全トランザクションが一定の経路指定をさ
れたときにその応答時間の変化を予測する。本明細で
は、この構成要素の1実施例がBEP間にて区分された
データベースを仮定して提案される。共用データ・ベー
スの場合でも、応答時間予測装置を有することが可能で
ある。他の多数の実施例が可能であり、関連方法が著者
C.T.Hsieh、et al.による題名"A Noniterative Appr
oximate SolutionMethod for closed Multichain Queue
ing Networks"、(PerformanceEvaluation、9:119-13
3、1989.)及び著者P.S.Yu、et al.による題名"Dyn
amic Transaction Routing in Distributed Database S
ystems"(IEEETransactions on Software Engineerin
g、SE-14(9)、September 1988.)に記載されている
ので参照されたい。本実施例は従来技術に対して、2つ
の主な新考案がある。第1に、従来技術はBEPにおけ
るトランザクション階級の優先順位を動的に変更処理し
ない。第2に、本実施例はほとんどの従来技術よりも低
いオーバヘッドを提供する。
時間予測装置は着信が生ずる毎に、経路指定技術によっ
て呼出される副構成要素である。この構成要素はシステ
ムに現在ある全トランザクションが一定の経路指定をさ
れたときにその応答時間の変化を予測する。本明細で
は、この構成要素の1実施例がBEP間にて区分された
データベースを仮定して提案される。共用データ・ベー
スの場合でも、応答時間予測装置を有することが可能で
ある。他の多数の実施例が可能であり、関連方法が著者
C.T.Hsieh、et al.による題名"A Noniterative Appr
oximate SolutionMethod for closed Multichain Queue
ing Networks"、(PerformanceEvaluation、9:119-13
3、1989.)及び著者P.S.Yu、et al.による題名"Dyn
amic Transaction Routing in Distributed Database S
ystems"(IEEETransactions on Software Engineerin
g、SE-14(9)、September 1988.)に記載されている
ので参照されたい。本実施例は従来技術に対して、2つ
の主な新考案がある。第1に、従来技術はBEPにおけ
るトランザクション階級の優先順位を動的に変更処理し
ない。第2に、本実施例はほとんどの従来技術よりも低
いオーバヘッドを提供する。
【0065】以下は予測装置への入力である。 a.Sは現システム状態を示す。 以下は本実施例によ
って用いられる状態情報を表す。 b.iはトランザクション階級IDである。 c.lはBEPのIDである。 d.jはトランザクション階級のIDである。 予測装置は階級Ciからの着信トランザクションがBE
P Blに経路指定される場合、システムに現在ある階
級Cj のトランザクションの平均応答時間を予測し、出
力する。
って用いられる状態情報を表す。 b.iはトランザクション階級IDである。 c.lはBEPのIDである。 d.jはトランザクション階級のIDである。 予測装置は階級Ciからの着信トランザクションがBE
P Blに経路指定される場合、システムに現在ある階
級Cj のトランザクションの平均応答時間を予測し、出
力する。
【0066】状態情報について説明する。本実施例の予
測装置によって用いられる状態情報Sは、システムに既
に存在するトランザクションについての情報を有し、階
級及びBEPごとのトランザクション資源消費を予測す
る。Sの第1の構成要素は、システムに既にあるトラン
ザクション数を表す。これは、M(i、l)で表され、
システム中に存在するBEP Bl に経路指定されたト
ランザクションのうち階級Ci のものの数を記録する。
この行列は着信トランザクションがBEPに経路指定さ
れるか、またはシステムのトランザクションが処理完了
する毎にFEP/DCによって更新される。
測装置によって用いられる状態情報Sは、システムに既
に存在するトランザクションについての情報を有し、階
級及びBEPごとのトランザクション資源消費を予測す
る。Sの第1の構成要素は、システムに既にあるトラン
ザクション数を表す。これは、M(i、l)で表され、
システム中に存在するBEP Bl に経路指定されたト
ランザクションのうち階級Ci のものの数を記録する。
この行列は着信トランザクションがBEPに経路指定さ
れるか、またはシステムのトランザクションが処理完了
する毎にFEP/DCによって更新される。
【0067】他の状態情報はトランザクション階級の資
源消費についての統計情報である。この情報はBEPの
ルーチンをモニタすることによって集められる。各々の
BEPは最後に観測された統計値を、複数のBEPによ
って報告された統計値をマージするFEP/DCへ定期
的に転送できる。通常、トランザクション処理システム
のDBプロセッサは、トランザクション資源消費に関す
る統計値を集める。この情報はオフ・ライン性能調整、
容量計画、及び原価計算に用いられる。
源消費についての統計情報である。この情報はBEPの
ルーチンをモニタすることによって集められる。各々の
BEPは最後に観測された統計値を、複数のBEPによ
って報告された統計値をマージするFEP/DCへ定期
的に転送できる。通常、トランザクション処理システム
のDBプロセッサは、トランザクション資源消費に関す
る統計値を集める。この情報はオフ・ライン性能調整、
容量計画、及び原価計算に用いられる。
【0068】FEP/DCはSの一部として以下の資源
消費統計値を管理する。
消費統計値を管理する。
【0069】a.W(i、l、k):これはBEP B
lに経路指定された階級Ciのトランザクションによって
BEP Bkで行われたCPU作業の平均値である。Bl
で実行されたCPU時間はDB要求の処理時間だけでな
く、適用業務処理のCPU時間をも含む。CPU作業
は、また機能移管及び遠隔のDB要求の処理によるk≠
lの場合の他のBEP Bkでも発生する。この行列の
要素は、階級Ciのトランザクションに起因する全ての
CPU作業を含む。
lに経路指定された階級Ciのトランザクションによって
BEP Bkで行われたCPU作業の平均値である。Bl
で実行されたCPU時間はDB要求の処理時間だけでな
く、適用業務処理のCPU時間をも含む。CPU作業
は、また機能移管及び遠隔のDB要求の処理によるk≠
lの場合の他のBEP Bkでも発生する。この行列の
要素は、階級Ciのトランザクションに起因する全ての
CPU作業を含む。
【0070】b.V(i、l、k):この要素は階級C
iのトランザクションがBEP Blに経路指定された、
すなわち、BEP Bkを"訪問"した平均回数を記録す
る。k≠lならば、その訪問はBk に対する機能移管の
DB要求(準備/実行処理を含む)である。l=kの場
合、訪問はトランザクションによって生成されたDB要
求の数に限定される。この合計は局所及び遠隔での実行
と、局所及び遠隔のDBの読出し及び書込みを含む。
iのトランザクションがBEP Blに経路指定された、
すなわち、BEP Bkを"訪問"した平均回数を記録す
る。k≠lならば、その訪問はBk に対する機能移管の
DB要求(準備/実行処理を含む)である。l=kの場
合、訪問はトランザクションによって生成されたDB要
求の数に限定される。この合計は局所及び遠隔での実行
と、局所及び遠隔のDBの読出し及び書込みを含む。
【0071】c.I(i):これは階級Ci のトランザ
クションの予測全I/O遅延時間である。これはI/O
サブシステムの遅延時間だけを含む。データが区分化さ
れているために、I(i)はトランザクションに対する
経路指定の決定に依存しない。
クションの予測全I/O遅延時間である。これはI/O
サブシステムの遅延時間だけを含む。データが区分化さ
れているために、I(i)はトランザクションに対する
経路指定の決定に依存しない。
【0072】d.D(i、l):これはBEP Blに
経路指定された階級Ciのトランザクションの予測全通
信遅延時間である。この遅延はBEPを接続しているネ
ットワークを介しての機能移管DB要求、及び実行/準
備メッセージをも含む。
経路指定された階級Ciのトランザクションの予測全通
信遅延時間である。この遅延はBEPを接続しているネ
ットワークを介しての機能移管DB要求、及び実行/準
備メッセージをも含む。
【0073】e.C(i、l):これはBlに経路指定
された階級Ciのトランザクションに対する全ての位置
におけるログ(実行/準備)記録の書込みの予測全I/
O遅延時間である。この遅延時間は標準の2段階の実行
プロトコルにおける、様々な最適化のための経路指定の
決定に依存する。
された階級Ciのトランザクションに対する全ての位置
におけるログ(実行/準備)記録の書込みの予測全I/
O遅延時間である。この遅延時間は標準の2段階の実行
プロトコルにおける、様々な最適化のための経路指定の
決定に依存する。
【0074】推定アルゴリズムについて説明する。推定
アルゴリズムは予測をするために状態情報を用いる。ア
ルゴリズムはSの資源消費統計値が更新される毎に、以
下の内部行列を予め計算する。
アルゴリズムは予測をするために状態情報を用いる。ア
ルゴリズムはSの資源消費統計値が更新される毎に、以
下の内部行列を予め計算する。
【0075】a.T(i、l):これはBlに経路指定
された階級Ciのトランザクションによって消費された
資源の和である。これは次式によって与えられる。
された階級Ciのトランザクションによって消費された
資源の和である。これは次式によって与えられる。
【数6】
【0076】これは待ち合わせ遅延時間がない(すなわ
ち、システムは空である)場合の、Blに経路指定され
た階級Ciのトランザクションの応答時間に近似する。 b.B(i、l、k):これはBlに経路指定された階
級Ciのトランザクションに係わるBk での平均CPU"
バースト長さ"である。これは、次式によって近似す
る。
ち、システムは空である)場合の、Blに経路指定され
た階級Ciのトランザクションの応答時間に近似する。 b.B(i、l、k):これはBlに経路指定された階
級Ciのトランザクションに係わるBk での平均CPU"
バースト長さ"である。これは、次式によって近似す
る。
【数7】
【0077】これらの2つの行列は半静的でシステムの
異なる階級のトランザクション数に依存しない。
異なる階級のトランザクション数に依存しない。
【0078】応答時間予測装置は図3で概略的に示され
ているが、これについて説明する。階級IDはP1≧P2
≧・・・≧PK の順序であると仮定する。これによって
説明は簡単になるが、このことはアルゴリズムにとって
の本質ではない。アルゴリズムは次に述べる通りであ
る。
ているが、これについて説明する。階級IDはP1≧P2
≧・・・≧PK の順序であると仮定する。これによって
説明は簡単になるが、このことはアルゴリズムにとって
の本質ではない。アルゴリズムは次に述べる通りであ
る。
【0079】a.内部変数を初期化する。 1)Q(m)=0;m=1、2、...、N {Q(m)はトランザクションがBm を訪問する場合、
CPUを得るまでトランザクションが待機する時間の量
を表す。この量は正確に計算するのは難しく厄介である
ので概算値を用いる。アルゴリズムは最高位の優先順位
の階級から始まり、Q(m)をゼロに初期化する。アル
ゴリズムは階級Ci のトランザクションが階級Cj (j
=1、...、i)のシステムに現存する全てのトラン
ザクションが処理されるまで待機しなければならないと
いう事実を考慮して、Q(m)を連続して更新する。}
2)RT(j、k)=0;j=1、2、...、K;k
=1、2、...、N {RT(j、k)はプロセッサBk に経路指定された階
級jのトランザクションの平均応答時間である。} 3)RP(j、k、m)=0;j=1、2、...、
K;k=1、2、...、N;m=1、2、...、N {RP(j、k、m)は、Bk に経路指定された階級j
のトランザクションがBEP mに存在する可能性の推
定値である。}
CPUを得るまでトランザクションが待機する時間の量
を表す。この量は正確に計算するのは難しく厄介である
ので概算値を用いる。アルゴリズムは最高位の優先順位
の階級から始まり、Q(m)をゼロに初期化する。アル
ゴリズムは階級Ci のトランザクションが階級Cj (j
=1、...、i)のシステムに現存する全てのトラン
ザクションが処理されるまで待機しなければならないと
いう事実を考慮して、Q(m)を連続して更新する。}
2)RT(j、k)=0;j=1、2、...、K;k
=1、2、...、N {RT(j、k)はプロセッサBk に経路指定された階
級jのトランザクションの平均応答時間である。} 3)RP(j、k、m)=0;j=1、2、...、
K;k=1、2、...、N;m=1、2、...、N {RP(j、k、m)は、Bk に経路指定された階級j
のトランザクションがBEP mに存在する可能性の推
定値である。}
【0080】b.提示された経路指定を反映するため
に、M(i、l)の局所のコピーを一時的に増加させ
る。{様々なトランザクションに対する予測待ち合わせ
遅延時間をここで計算する。優先順位の関係から階級C
j のトランザクションは、階級1、2、...、j−1
からのトランザクションの後にのみ待機する。トランザ
クションの応答時間は、その処理要求と経験した待ち合
わせ遅延時間とで求められる。}
に、M(i、l)の局所のコピーを一時的に増加させ
る。{様々なトランザクションに対する予測待ち合わせ
遅延時間をここで計算する。優先順位の関係から階級C
j のトランザクションは、階級1、2、...、j−1
からのトランザクションの後にのみ待機する。トランザ
クションの応答時間は、その処理要求と経験した待ち合
わせ遅延時間とで求められる。}
【0081】c.FOR j=1 TO K DO 1)FOR k=1 TO N DO {BEPへの訪問に起因する階級/経路指定ごとの待ち
合わせ遅延時間分ごとにシステムの期待時間を増加す
る。}
合わせ遅延時間分ごとにシステムの期待時間を増加す
る。}
【数8】
【0082】{階級CjのトランザクションがBEP
BmでCPU処理を待っている予測された確率を更新す
る。これはBm における処理要求と待ち合わせ遅延時間
に比例し、全システム時間に反比例すると考えられ
る。} 2)FOR k=1 TO N DO a)FOR m=1 TO N DO
BmでCPU処理を待っている予測された確率を更新す
る。これはBm における処理要求と待ち合わせ遅延時間
に比例し、全システム時間に反比例すると考えられ
る。} 2)FOR k=1 TO N DO a)FOR m=1 TO N DO
【数9】
【0083】{この階級によって生じた追加の待ち合わ
せ時間の量だけ、予測待ち合わせ遅延時間を増加させ
る。これは平均処理バースト長さに対してCPU処理の
ために待ち合わせする確率を乗算して近似を得る。} 3)FOR m=1 TO N DO
せ時間の量だけ、予測待ち合わせ遅延時間を増加させ
る。これは平均処理バースト長さに対してCPU処理の
ために待ち合わせする確率を乗算して近似を得る。} 3)FOR m=1 TO N DO
【数10】
【0084】4)処理要求及び待ち合わせにもとづく、
Bkに経路指定されたCjのトランザクションの応答時間
を計算する。 FOR k=1 TO N DO
Bkに経路指定されたCjのトランザクションの応答時間
を計算する。 FOR k=1 TO N DO
【数11】
【0085】d.この時点で、現在システムにある全ト
ランザクションの応答時間が予測された。 予測装置に
よって復帰された平均値は、加重平均として与えられ
る。 FOR j=1 TO N DO
ランザクションの応答時間が予測された。 予測装置に
よって復帰された平均値は、加重平均として与えられ
る。 FOR j=1 TO N DO
【数12】
【0086】応答時間予測装置の計算コストをより低く
できる複数の潜在的な最適化がある。第1はBlへのCi
の任意の経路指定において、アルゴリズムによって全て
のjに対して、1回の通過でR(S、i、l、j)を計
算することが可能である。第2は階級Ciに対しての経
路指定の決定は、Pj>Piでの何れの階級Cjにおける
結果に対して影響を及ぼさない。この基本的な方式に対
する多数の他の最適化が可能である。上記で提案された
のとは2つの点において異なる、計算の少ないオーバヘ
ッドであるアルゴリズムを次に述べる。第1はアルゴリ
ズムはBEBBkでCPUを待っている階級Cjのトラン
ザクションの確率を計算しない。その代わりに、アルゴ
リズムは階級CjのQ(j、k)によるBEB Bkの作
業量を計算し、トランザクションがCPUに連結される
前のトランザクションがBEPBk で待たなければなら
ない時間量が、Q(1、k)+...+Q(i、k)で
あると仮定する。第2はアルゴリズムは全ての階級の経
路指定の効果を予測しない。その代わりに、トランザク
ションの推定応答時間が最小であるBEPに対してトラ
ンザクションを経路指定する。
できる複数の潜在的な最適化がある。第1はBlへのCi
の任意の経路指定において、アルゴリズムによって全て
のjに対して、1回の通過でR(S、i、l、j)を計
算することが可能である。第2は階級Ciに対しての経
路指定の決定は、Pj>Piでの何れの階級Cjにおける
結果に対して影響を及ぼさない。この基本的な方式に対
する多数の他の最適化が可能である。上記で提案された
のとは2つの点において異なる、計算の少ないオーバヘ
ッドであるアルゴリズムを次に述べる。第1はアルゴリ
ズムはBEBBkでCPUを待っている階級Cjのトラン
ザクションの確率を計算しない。その代わりに、アルゴ
リズムは階級CjのQ(j、k)によるBEB Bkの作
業量を計算し、トランザクションがCPUに連結される
前のトランザクションがBEPBk で待たなければなら
ない時間量が、Q(1、k)+...+Q(i、k)で
あると仮定する。第2はアルゴリズムは全ての階級の経
路指定の効果を予測しない。その代わりに、トランザク
ションの推定応答時間が最小であるBEPに対してトラ
ンザクションを経路指定する。
【0087】簡素化アルゴリズムについて説明する。前
述のように、階級Ci のトランザクションはFEPに着
信し、トランザクションがBl に経路指定された場合に
トランザクションの応答時間に対する推定が所望される
と仮定した。ここでもトランザクション指標はj>iの
場合にトランザクションjがトランザクションiより高
位の優先順位を持つように、順序付けされると仮定す
る。
述のように、階級Ci のトランザクションはFEPに着
信し、トランザクションがBl に経路指定された場合に
トランザクションの応答時間に対する推定が所望される
と仮定した。ここでもトランザクション指標はj>iの
場合にトランザクションjがトランザクションiより高
位の優先順位を持つように、順序付けされると仮定す
る。
【0088】推定アルゴリズムについて説明する。 a.内部変数を初期化する。 1)Q(j、k)=0: j=1、...、K、 k=
1、...、N b. FOR j=1 TO i DO 1)FOR k=1 TO N DO{階級Cjによる
Bkの作業量を予測する。}
1、...、N b. FOR j=1 TO i DO 1)FOR k=1 TO N DO{階級Cjによる
Bkの作業量を予測する。}
【数13】
【0089】c.{着信トランザクションがBl に経路
指定される場合、着信トランザクションの応答時間を計
算する。}
指定される場合、着信トランザクションの応答時間を計
算する。}
【数14】
【0090】経路指定アルゴリズムを説明する。 a.トランザクションは、RT(i、k)が最小となる
ように、Bl に経路指定される。 b.M(i、l)=M(i、l)+1{BlにおけるCi
のトランザクション数を1つ増加させる。}
ように、Bl に経路指定される。 b.M(i、l)=M(i、l)+1{BlにおけるCi
のトランザクション数を1つ増加させる。}
【0091】本発明は、何れの多重プロセッサ・トラン
ザクション処理システムで実行できる。本明細に記述さ
れた本発明は、区分されたデータ(共有なし)のデータ
ベース・システムに最も直接に適用できる。本発明は応
答時間予測装置を修正することによって、データ共有ア
ーキテクチャにも適用できる。トランザクション経路指
定技術及び動的優先順位付け技術は、データ共有アーキ
テクチャに対して変わることはない。本発明は又、周期
的に性能情報を共有するDCを有することによって、複
数のFEP/DCのトランザクション処理システムにも
応用できる。
ザクション処理システムで実行できる。本明細に記述さ
れた本発明は、区分されたデータ(共有なし)のデータ
ベース・システムに最も直接に適用できる。本発明は応
答時間予測装置を修正することによって、データ共有ア
ーキテクチャにも適用できる。トランザクション経路指
定技術及び動的優先順位付け技術は、データ共有アーキ
テクチャに対して変わることはない。本発明は又、周期
的に性能情報を共有するDCを有することによって、複
数のFEP/DCのトランザクション処理システムにも
応用できる。
【0092】本発明は、好ましい実施例に関して特に図
示して説明を行ったが、当業者は本発明の趣旨、及び範
囲内で形式、及び詳細を様々に変更できることが理解で
きよう。
示して説明を行ったが、当業者は本発明の趣旨、及び範
囲内で形式、及び詳細を様々に変更できることが理解で
きよう。
【0093】
【発明の効果】BEPにおけるトランザクション階級の
優先順位を動的に変更処理し、ほとんどの従来技術より
も低いオーバヘッドを提供する。
優先順位を動的に変更処理し、ほとんどの従来技術より
も低いオーバヘッドを提供する。
【図1】本発明の好ましい実施例であるシステムのブロ
ック図である。
ック図である。
【図2】トランザクション・サーバにおいて、マルチプ
ログラミング・レベルに入るために、またはCPU処理
をするために待機するトランザクションの様々な待ち行
列を示すブロック図である。
ログラミング・レベルに入るために、またはCPU処理
をするために待機するトランザクションの様々な待ち行
列を示すブロック図である。
【図3】好ましい実施例に従って現平均階級応答時間の
計算を例示する図である。
計算を例示する図である。
【図4】好ましい実施例のトランザクション・サーバに
よって使用されるスケジューリング・アルゴリズムの流
れ図である。
よって使用されるスケジューリング・アルゴリズムの流
れ図である。
【図5】着信トランザクションに対する新しい階級性能
指標の好ましい実施例による予測を例示する図である。
指標の好ましい実施例による予測を例示する図である。
【図6】トランザクションの処理完了時における、現平
均階級応答時間の好ましい実施例の更新を例示する図で
ある。
均階級応答時間の好ましい実施例の更新を例示する図で
ある。
【符号の説明】 3 フロント・エンド・プロセッサ(FEP)F 4 ネットワーク通信プロトコル 5 データ通信層 6 作業負荷管理プログラム 7 ルータ 9 結合機構 10 トランザクション・サーバB1 11 トランザクション・サーバBm 12 トランザクション・サーバBN 17 ファイルFk 18 レコードR 22 階級C1
───────────────────────────────────────────────────── フロントページの続き (72)発明者 レオニダス・ジョージアディス アメリカ合衆国10514、ニューヨーク州チ ャパクア、オールド・ミル・ロード 38 (72)発明者 クリストス・ニコラス・ニコロー アメリカ合衆国10023、ニューヨーク州ニ ューヨーク、アパートメント 12イー、リ バーサイド・ドライブ 5
Claims (4)
- 【請求項1】複数の階級に区別されたトランザクション
を単位として処理を行う複数のトランザクション処理サ
ーバを有しているコンピュータ・システムにおいて、最
適な応答時間を確保するために前記トランザクションを
前記トランザクション処理サーバに経路指定する機構で
あって、 前記各々の階級ごとに現在の平均応答時間を計算する手
段と、 前記各々の階級ごとに目標応答時間を記憶する手段と、 前記現在の平均応答時間と前記目標応答時間とにもとづ
いて、前記各々の階級ごとの現在の性能指標を求める手
段と、 1の着信トランザクションに応答し、前記着信トランザ
クションを処理するために経路指定されうる全ての前記
トランザクション処理サーバごとに、前記着信トランザ
クションが前記指定されうる前記トランザクション処理
サーバのうちの1つにおいて処理される場合の、前記各
々の階級ごとの前記性能指標を予測して予測性能指標を
求める手段と、 前記予測性能指標に対応して、それらを全階級について
統合した全体目標達成指標を前記経路指定されうる全て
のトランザクション処理サーバごとに予測する手段と、 前記全体目標達成指標のうち最良のものを決定する手段
と、 前記決定に対応する前記トランザクション処理サーバに
前記着信トランザクションを経路指定する手段と、 を含む経路指定機構。 - 【請求項2】1の階級に係わる前記階級ごとの現在の平
均応答時間は、前記1の階級において処理が完了したト
ランザクションの到着時間と処理終了時間の差分値の時
間重み付けされた平均値であることを特徴とした請求項
1の経路指定機構。 - 【請求項3】前記予測性能指標を求める手段は、前記着
信トランザクションの応答時間を予測する応答時間予測
手段を有することを特徴とした請求項1の経路指定機
構。 - 【請求項4】前記階級について前記現在の性能指標にも
とづいて優先順位を付与し、その順に並べる手段と、 前記各々のトランザクション処理サーバに経路指定され
た前記トランザクションを前記優先順位の順に処理する
手段と、 をさらに含む請求項1の経路指定機構。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US876670 | 1992-04-30 | ||
US07/876,670 US5504894A (en) | 1992-04-30 | 1992-04-30 | Workload manager for achieving transaction class response time goals in a multiprocessing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0619861A true JPH0619861A (ja) | 1994-01-28 |
JP2524465B2 JP2524465B2 (ja) | 1996-08-14 |
Family
ID=25368331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5087579A Expired - Lifetime JP2524465B2 (ja) | 1992-04-30 | 1993-04-14 | トランザクション処理サ―バの経路指定機構 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5504894A (ja) |
JP (1) | JP2524465B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282287A (ja) * | 1996-04-18 | 1997-10-31 | Shikoku Nippon Denki Software Kk | 通信処理システム |
US6442583B1 (en) | 1995-02-03 | 2002-08-27 | International Business Machines Corporation | Multi-system resource capping |
JP2008083808A (ja) * | 2006-09-26 | 2008-04-10 | Nippon Telegr & Teleph Corp <Ntt> | フィルタ処理装置、データ蓄積装置、共有情報管理装置、フィルタ処理方法およびフィルタ処理プログラム |
JP2008542871A (ja) * | 2005-05-27 | 2008-11-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のデータ・センタ中で選択的に作業負荷をオフロードするための方法および装置 |
WO2011052102A1 (ja) * | 2009-11-02 | 2011-05-05 | 株式会社日立製作所 | サービス設定支援方法 |
JP2014038657A (ja) * | 2000-10-13 | 2014-02-27 | Miosoft Corp | 持続的データ記憶技術 |
US8935225B2 (en) | 2000-10-13 | 2015-01-13 | Miosoft Corporation | Persistent data storage techniques |
US9189536B2 (en) | 2000-10-13 | 2015-11-17 | Miosoft Corporation | Maintaining a relationship between two different items of data |
Families Citing this family (213)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864679A (en) * | 1993-09-06 | 1999-01-26 | Kabushiki Kaisha Toshiba | Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data |
GB2281793A (en) * | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
EP0645702B1 (de) * | 1993-09-24 | 2000-08-02 | Siemens Aktiengesellschaft | Verfahren zum Lastausgleich in einem Multiprozessorsystem |
US7599910B1 (en) | 1993-11-16 | 2009-10-06 | Hitachi, Ltd. | Method and system of database divisional management for parallel database system |
US6101495A (en) * | 1994-11-16 | 2000-08-08 | Hitachi, Ltd. | Method of executing partition operations in a parallel database system |
JP3023441B2 (ja) * | 1993-11-16 | 2000-03-21 | 株式会社日立製作所 | データベース分割管理方法および並列データベースシステム |
JP2960297B2 (ja) * | 1994-03-16 | 1999-10-06 | 株式会社東芝 | データベースシステム及び負荷分散制御方法 |
US5619656A (en) | 1994-05-05 | 1997-04-08 | Openservice, Inc. | System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed |
EP0694837A1 (en) * | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Dynamic workload balancing |
US5682507A (en) * | 1995-06-07 | 1997-10-28 | Tandem Computers, Incorporated | Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records |
US5790868A (en) * | 1995-06-07 | 1998-08-04 | Tandem Computers, Inc. | Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment |
US6249800B1 (en) * | 1995-06-07 | 2001-06-19 | International Business Machines Corporartion | Apparatus and accompanying method for assigning session requests in a multi-server sysplex environment |
US5603029A (en) * | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
US5630133A (en) * | 1995-06-07 | 1997-05-13 | Tandem Computers, Incorporated | Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment |
US5687372A (en) * | 1995-06-07 | 1997-11-11 | Tandem Computers, Inc. | Customer information control system and method in a loosely coupled parallel processing environment |
US6173306B1 (en) * | 1995-07-21 | 2001-01-09 | Emc Corporation | Dynamic load balancing |
US6067412A (en) * | 1995-08-17 | 2000-05-23 | Microsoft Corporation | Automatic bottleneck detection by means of workload reconstruction from performance measurements |
US6067542A (en) * | 1995-10-20 | 2000-05-23 | Ncr Corporation | Pragma facility and SQL3 extension for optimal parallel UDF execution |
US6317775B1 (en) | 1995-11-03 | 2001-11-13 | Cisco Technology, Inc. | System for distributing load over multiple servers at an internet site |
US5937205A (en) * | 1995-12-06 | 1999-08-10 | International Business Machines Corporation | Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue |
US6886167B1 (en) | 1995-12-27 | 2005-04-26 | International Business Machines Corporation | Method and system for migrating an object between a split status and a merged status |
US6182109B1 (en) * | 1996-03-08 | 2001-01-30 | International Business Machines Corporation | Dynamic execution unit management for high performance user level network server system |
US6185601B1 (en) | 1996-08-02 | 2001-02-06 | Hewlett-Packard Company | Dynamic load balancing of a network of client and server computers |
US6044367A (en) * | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US5852820A (en) * | 1996-08-09 | 1998-12-22 | Digital Equipment Corporation | Method for optimizing entries for searching an index |
US5948061A (en) | 1996-10-29 | 1999-09-07 | Double Click, Inc. | Method of delivery, targeting, and measuring advertising over networks |
US6064660A (en) * | 1996-12-12 | 2000-05-16 | Optimay Corporation | GSM transceiver with portable protocol stack |
JPH10240551A (ja) * | 1996-12-26 | 1998-09-11 | Canon Inc | 情報処理システム及びその方法 |
US20050021477A1 (en) * | 1997-01-29 | 2005-01-27 | Ganapathy Krishnan | Method and system for securely incorporating electronic information into an online purchasing application |
US6067580A (en) * | 1997-03-11 | 2000-05-23 | International Business Machines Corporation | Integrating distributed computing environment remote procedure calls with an advisory work load manager |
US6085217A (en) * | 1997-03-28 | 2000-07-04 | International Business Machines Corporation | Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system |
US6393455B1 (en) * | 1997-03-28 | 2002-05-21 | International Business Machines Corp. | Workload management method to enhance shared resource access in a multisystem environment |
US5974462A (en) * | 1997-03-28 | 1999-10-26 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a client/server system |
US6192389B1 (en) | 1997-03-28 | 2001-02-20 | International Business Machines Corporation | Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system |
US6014700A (en) * | 1997-05-08 | 2000-01-11 | International Business Machines Corporation | Workload management in a client-server network with distributed objects |
US6263359B1 (en) | 1997-05-22 | 2001-07-17 | International Business Machines Corporation | Computer resource proportional utilization and response time scheduling |
US7039599B2 (en) * | 1997-06-16 | 2006-05-02 | Doubleclick Inc. | Method and apparatus for automatic placement of advertising |
US6101508A (en) * | 1997-08-01 | 2000-08-08 | Hewlett-Packard Company | Clustered file management for network resources |
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US6108700A (en) * | 1997-08-01 | 2000-08-22 | International Business Machines Corporation | Application end-to-end response time measurement and decomposition |
GB2330923A (en) * | 1997-10-28 | 1999-05-05 | Ibm | Transaction manager |
US6230247B1 (en) | 1997-10-29 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for adaptive storage space allocation |
US6026391A (en) * | 1997-10-31 | 2000-02-15 | Oracle Corporation | Systems and methods for estimating query response times in a computer system |
JP3665460B2 (ja) | 1997-12-05 | 2005-06-29 | 富士通株式会社 | 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体 |
US6397252B1 (en) * | 1997-12-19 | 2002-05-28 | Electronic Data Systems Corporation | Method and system for load balancing in a distributed object system |
US6226377B1 (en) * | 1998-03-06 | 2001-05-01 | Avaya Technology Corp. | Prioritized transaction server allocation |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
WO2000008802A2 (en) * | 1998-08-03 | 2000-02-17 | Doubleclick Inc. | Network for distribution of re-targeted advertising |
US6304909B1 (en) * | 1998-12-18 | 2001-10-16 | International Business Machines Corporation | Client-controlled link processing in computer network |
EP1014316A1 (en) * | 1998-12-24 | 2000-06-28 | Koninklijke KPN N.V. | Transaction server framework |
US7295669B1 (en) | 1999-01-21 | 2007-11-13 | Avaya Technology Corp. | Call center telephone and data flow connection system |
US7200219B1 (en) | 1999-02-10 | 2007-04-03 | Avaya Technology Corp. | Dynamically allocating server resources to competing classes of work based upon achievement of service goals |
US6442631B1 (en) * | 1999-05-07 | 2002-08-27 | Compaq Information Technologies Group, L.P. | Allocating system resources based upon priority |
JP3353745B2 (ja) | 1999-06-25 | 2002-12-03 | 日本電気株式会社 | 処理能力測定装置および処理能力測定方法 |
US6732139B1 (en) | 1999-08-16 | 2004-05-04 | International Business Machines Corporation | Method to distribute programs using remote java objects |
US7568052B1 (en) * | 1999-09-28 | 2009-07-28 | International Business Machines Corporation | Method, system and program products for managing I/O configurations of a computing environment |
US6986137B1 (en) * | 1999-09-28 | 2006-01-10 | International Business Machines Corporation | Method, system and program products for managing logical processors of a computing environment |
US6832376B1 (en) * | 1999-09-29 | 2004-12-14 | Unisys Corporation | Method and apparatus for resuse of a thread for different programmed operations |
WO2001050331A2 (en) * | 2000-01-06 | 2001-07-12 | L90, Inc. | Method and apparatus for selecting and delivering internet based advertising |
US6938256B2 (en) * | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US20020198996A1 (en) | 2000-03-16 | 2002-12-26 | Padmanabhan Sreenivasan | Flexible failover policies in high availability computing systems |
US7844504B1 (en) | 2000-04-27 | 2010-11-30 | Avaya Inc. | Routing based on the contents of a shopping cart |
US7844513B2 (en) | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US6622177B1 (en) | 2000-07-27 | 2003-09-16 | International Business Machines Corporation | Dynamic management of addresses to an input/output (I/O) device |
US6591262B1 (en) * | 2000-08-01 | 2003-07-08 | International Business Machines Corporation | Collaborative workload management incorporating work unit attributes in resource allocation |
US6763520B1 (en) | 2000-08-24 | 2004-07-13 | Cognos Incorporated | Fair assignment of processing resources to queued requests |
GB2366401B (en) * | 2000-08-25 | 2005-06-01 | Mitel Corp | Resource sharing with sliding constraints |
US20020087614A1 (en) * | 2000-08-31 | 2002-07-04 | Andrej Kocev | Programmable tuning for flow control and support for CPU hot plug |
US6859926B1 (en) * | 2000-09-14 | 2005-02-22 | International Business Machines Corporation | Apparatus and method for workload management using class shares and tiers |
US6976079B1 (en) | 2000-09-29 | 2005-12-13 | International Business Machines Corporation | System and method for upgrading software in a distributed computer system |
US8458754B2 (en) * | 2001-01-22 | 2013-06-04 | Sony Computer Entertainment Inc. | Method and system for providing instant start multimedia content |
US6834315B2 (en) | 2001-03-26 | 2004-12-21 | International Business Machines Corporation | Method, system, and program for prioritizing input/output (I/O) requests submitted to a device driver |
US6907461B2 (en) * | 2001-03-29 | 2005-06-14 | International Business Machines Corporation | Interactive data processor controlled display interface for tracking allocated messages in a dynamic workload balancing communication system |
US7734676B2 (en) * | 2001-06-27 | 2010-06-08 | International Business Machines Corporation | Method for controlling the number of servers in a hierarchical resource environment |
US6823382B2 (en) * | 2001-08-20 | 2004-11-23 | Altaworks Corporation | Monitoring and control engine for multi-tiered service-level management of distributed web-application servers |
JP2003067201A (ja) * | 2001-08-30 | 2003-03-07 | Hitachi Ltd | コントローラとオペレーティングシステム |
ATE551649T1 (de) * | 2001-12-10 | 2012-04-15 | Sap Portals Israel Ltd | Vorrichtung und verfahren für optimierte und gesicherte reflexion von netzwerkdiensten zu abgesetzten standorten |
US6874071B2 (en) * | 2001-12-13 | 2005-03-29 | International Business Machines Corporation | Database commit control mechanism that provides more efficient memory utilization through consideration of task priority |
US7127716B2 (en) * | 2002-02-13 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Method of load balancing a distributed workflow management system |
MXPA04007821A (es) * | 2002-02-14 | 2005-04-19 | Pessin Zachary | Aparato y metodo para un sistema de capital distribuido. |
JP2003271572A (ja) * | 2002-03-14 | 2003-09-26 | Fuji Photo Film Co Ltd | 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法 |
US7415417B2 (en) * | 2002-03-15 | 2008-08-19 | Avaya Technology Corp. | Presence awareness agent |
US7336779B2 (en) * | 2002-03-15 | 2008-02-26 | Avaya Technology Corp. | Topical dynamic chat |
US7269752B2 (en) * | 2002-06-04 | 2007-09-11 | Lucent Technologies Inc. | Dynamically controlling power consumption within a network node |
US7620169B2 (en) | 2002-06-17 | 2009-11-17 | Avaya Inc. | Waiting but not ready |
US7398525B2 (en) * | 2002-10-21 | 2008-07-08 | International Business Machines Corporation | Resource scheduling in workflow management systems |
JP3925857B2 (ja) * | 2002-11-07 | 2007-06-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スケジュール作成方法、プログラム及びタスクスケジュール作成装置 |
JP4306269B2 (ja) * | 2003-02-12 | 2009-07-29 | 住友化学株式会社 | 偏光板、その製造方法、光学部材及び液晶表示装置 |
US7810097B2 (en) * | 2003-07-28 | 2010-10-05 | Hewlett-Packard Development Company, L.P. | Priority analysis of access transactions in an information system |
US7117184B1 (en) * | 2003-09-25 | 2006-10-03 | Unisys Corporation | System and method for maintaining target response times in business methods |
US7770175B2 (en) * | 2003-09-26 | 2010-08-03 | Avaya Inc. | Method and apparatus for load balancing work on a network of servers based on the probability of being serviced within a service time goal |
US20050071241A1 (en) * | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Contact center resource allocation based on work bidding/auction |
US8094804B2 (en) | 2003-09-26 | 2012-01-10 | Avaya Inc. | Method and apparatus for assessing the status of work waiting for service |
DE10346303B3 (de) * | 2003-10-06 | 2005-03-24 | Sap Ag | Verfahren zur Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer, sowie Computerprogramm und Computersystem |
US7216021B2 (en) * | 2003-10-30 | 2007-05-08 | Hitachi, Ltd. | Method, system and computer program for managing energy consumption |
US8151269B1 (en) * | 2003-12-08 | 2012-04-03 | Teradata Us, Inc. | Database system having a service level goal responsive regulator |
US9098340B2 (en) * | 2003-12-08 | 2015-08-04 | Teradata Us, Inc. | Virtual regulator for a database system |
US8346909B2 (en) * | 2004-01-22 | 2013-01-01 | International Business Machines Corporation | Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements |
US20050188075A1 (en) * | 2004-01-22 | 2005-08-25 | International Business Machines Corporation | System and method for supporting transaction and parallel services in a clustered system based on a service level agreement |
US8472612B1 (en) | 2004-01-29 | 2013-06-25 | Avaya Inc. | Call center customer queue shortcut access code |
US8457300B2 (en) * | 2004-02-12 | 2013-06-04 | Avaya Inc. | Instant message contact management in a contact center |
US7729490B2 (en) * | 2004-02-12 | 2010-06-01 | Avaya Inc. | Post-termination contact management |
US7703101B2 (en) * | 2004-02-13 | 2010-04-20 | International Business Machines Corporation | Autonomic workload classification using predictive assertion for wait queue and thread pool selection |
US8413155B2 (en) | 2004-03-13 | 2013-04-02 | Adaptive Computing Enterprises, Inc. | System and method for a self-optimizing reservation in time of compute resources |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US7890629B2 (en) * | 2004-03-13 | 2011-02-15 | Adaptive Computing Enterprises, Inc. | System and method of providing reservation masks within a compute environment |
US7620706B2 (en) * | 2004-03-13 | 2009-11-17 | Adaptive Computing Enterprises Inc. | System and method for providing advanced reservations in a compute environment |
WO2005089245A2 (en) * | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method of co-allocating a reservation spanning different compute resources types |
US7885401B1 (en) | 2004-03-29 | 2011-02-08 | Avaya Inc. | Method and apparatus to forecast the availability of a resource |
US7953859B1 (en) | 2004-03-31 | 2011-05-31 | Avaya Inc. | Data model of participation in multi-channel and multi-party contacts |
US8000989B1 (en) | 2004-03-31 | 2011-08-16 | Avaya Inc. | Using true value in routing work items to resources |
US7734032B1 (en) | 2004-03-31 | 2010-06-08 | Avaya Inc. | Contact center and method for tracking and acting on one and done customer contacts |
US7861246B2 (en) * | 2004-06-17 | 2010-12-28 | Platform Computing Corporation | Job-centric scheduling in a grid environment |
US7844969B2 (en) * | 2004-06-17 | 2010-11-30 | Platform Computing Corporation | Goal-oriented predictive scheduling in a grid environment |
US7340654B2 (en) * | 2004-06-17 | 2008-03-04 | Platform Computing Corporation | Autonomic monitoring in a grid environment |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US7949121B1 (en) | 2004-09-27 | 2011-05-24 | Avaya Inc. | Method and apparatus for the simultaneous delivery of multiple contacts to an agent |
US8234141B1 (en) | 2004-09-27 | 2012-07-31 | Avaya Inc. | Dynamic work assignment strategies based on multiple aspects of agent proficiency |
US7949123B1 (en) | 2004-09-28 | 2011-05-24 | Avaya Inc. | Wait time predictor for long shelf-life work |
US7657021B2 (en) * | 2004-09-29 | 2010-02-02 | Avaya Inc. | Method and apparatus for global call queue in a global call center |
WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
EP1846835A1 (en) * | 2004-12-28 | 2007-10-24 | Unisys Corporation | A method for the early indication of serialisation bottlenecks |
US7996455B2 (en) | 2005-06-17 | 2011-08-09 | Adaptive Computing Enterprises, Inc. | System and method for providing dynamic roll-back reservations in time |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
WO2006098725A2 (en) | 2005-03-11 | 2006-09-21 | Cluster Resources, Inc. | System and method for enforcing future policies in a compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
WO2006107531A2 (en) | 2005-03-16 | 2006-10-12 | Cluster Resources, Inc. | Simple integration of an on-demand compute environment |
US7567653B1 (en) | 2005-03-22 | 2009-07-28 | Avaya Inc. | Method by which call centers can vector inbound TTY calls automatically to TTY-enabled resources |
GB2424495A (en) * | 2005-03-23 | 2006-09-27 | Hewlett Packard Development Co | Method for determining opimum allocation of transactions among a plurality of computing systems |
CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
US7725901B2 (en) * | 2005-04-14 | 2010-05-25 | International Business Machines Corporation | Method and system for performance balancing in a distributed computer system |
US7401012B1 (en) * | 2005-04-20 | 2008-07-15 | Sun Microsystems, Inc. | Method and apparatus for characterizing computer system workloads |
US7817796B1 (en) | 2005-04-27 | 2010-10-19 | Avaya Inc. | Coordinating work assignments for contact center agents |
US7809127B2 (en) * | 2005-05-26 | 2010-10-05 | Avaya Inc. | Method for discovering problem agent behaviors |
US7721061B1 (en) * | 2005-06-22 | 2010-05-18 | Hewlett-Packard Development Company, L.P. | Method of predicting response time for storage request |
US7779042B1 (en) | 2005-08-08 | 2010-08-17 | Avaya Inc. | Deferred control of surrogate key generation in a distributed processing architecture |
US7881450B1 (en) | 2005-09-15 | 2011-02-01 | Avaya Inc. | Answer on hold notification |
US8577015B2 (en) * | 2005-09-16 | 2013-11-05 | Avaya Inc. | Method and apparatus for the automated delivery of notifications to contacts based on predicted work prioritization |
US20070067369A1 (en) * | 2005-09-22 | 2007-03-22 | Minshall Robbie J | Method and system for quantifying and comparing workload on an application server |
US7822587B1 (en) | 2005-10-03 | 2010-10-26 | Avaya Inc. | Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior |
US8116446B1 (en) | 2005-10-03 | 2012-02-14 | Avaya Inc. | Agent driven work item awareness for tuning routing engine work-assignment algorithms |
US10572879B1 (en) | 2005-10-03 | 2020-02-25 | Avaya Inc. | Agent driven media-agnostic work item grouping and sharing over a consult medium |
US8073129B1 (en) | 2005-10-03 | 2011-12-06 | Avaya Inc. | Work item relation awareness for agents during routing engine driven sub-optimal work assignments |
US8411843B1 (en) | 2005-10-04 | 2013-04-02 | Avaya Inc. | Next agent available notification |
US7752230B2 (en) * | 2005-10-06 | 2010-07-06 | Avaya Inc. | Data extensibility using external database tables |
US7787609B1 (en) | 2005-10-06 | 2010-08-31 | Avaya Inc. | Prioritized service delivery based on presence and availability of interruptible enterprise resources with skills |
US8238541B1 (en) | 2006-01-31 | 2012-08-07 | Avaya Inc. | Intent based skill-set classification for accurate, automatic determination of agent skills |
US7716238B2 (en) * | 2006-02-15 | 2010-05-11 | Sony Computer Entertainment America Inc. | Systems and methods for server management |
US7979460B2 (en) | 2006-02-15 | 2011-07-12 | Sony Computer Entainment America Inc. | Systems and methods for server management |
US8737173B2 (en) * | 2006-02-24 | 2014-05-27 | Avaya Inc. | Date and time dimensions for contact center reporting in arbitrary international time zones |
US8442197B1 (en) | 2006-03-30 | 2013-05-14 | Avaya Inc. | Telephone-based user interface for participating simultaneously in more than one teleconference |
US7657782B2 (en) * | 2006-06-08 | 2010-02-02 | International Business Machines Corporation | Creating and managing multiple virtualized remote mirroring session consistency groups |
US7877373B2 (en) * | 2006-06-30 | 2011-01-25 | Oracle International Corporation | Executing alternative plans for a SQL statement |
US7936867B1 (en) | 2006-08-15 | 2011-05-03 | Avaya Inc. | Multi-service request within a contact center |
US8391463B1 (en) | 2006-09-01 | 2013-03-05 | Avaya Inc. | Method and apparatus for identifying related contacts |
US8938063B1 (en) | 2006-09-07 | 2015-01-20 | Avaya Inc. | Contact center service monitoring and correcting |
US8811597B1 (en) | 2006-09-07 | 2014-08-19 | Avaya Inc. | Contact center performance prediction |
US8855292B1 (en) | 2006-09-08 | 2014-10-07 | Avaya Inc. | Agent-enabled queue bypass to agent |
US7835514B1 (en) | 2006-09-18 | 2010-11-16 | Avaya Inc. | Provide a graceful transfer out of active wait treatment |
US7747726B2 (en) * | 2006-09-20 | 2010-06-29 | International Business Machines Corporation | Method and apparatus for estimating a local performance index to measure the performance contribution of a single server in a multi-tiered environment |
US20080120164A1 (en) * | 2006-11-17 | 2008-05-22 | Avaya Technology Llc | Contact center agent work awareness algorithm |
US8767944B1 (en) | 2007-01-03 | 2014-07-01 | Avaya Inc. | Mechanism for status and control communication over SIP using CODEC tunneling |
US7958188B2 (en) * | 2007-05-04 | 2011-06-07 | International Business Machines Corporation | Transaction-initiated batch processing |
US7747705B1 (en) | 2007-05-08 | 2010-06-29 | Avaya Inc. | Method to make a discussion forum or RSS feed a source for customer contact into a multimedia contact center that is capable of handling emails |
US8752055B2 (en) * | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Method of managing resources within a set of processes |
US8296772B2 (en) | 2007-07-02 | 2012-10-23 | International Business Machines Corporation | Customer information control system workload management based upon target processors requesting work from routers |
US8903801B2 (en) | 2007-09-14 | 2014-12-02 | Oracle International Corporation | Fully automated SQL tuning |
US8341178B2 (en) * | 2007-09-18 | 2012-12-25 | Oracle International Corporation | SQL performance analyzer |
US9483405B2 (en) | 2007-09-20 | 2016-11-01 | Sony Interactive Entertainment Inc. | Simplified run-time program translation for emulating complex processor pipelines |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8504534B1 (en) | 2007-09-26 | 2013-08-06 | Avaya Inc. | Database structures and administration techniques for generalized localization of database items |
US20090094313A1 (en) * | 2007-10-03 | 2009-04-09 | Jay Feng | System, method, and computer program product for sending interactive requests for information |
US8335767B2 (en) | 2007-10-17 | 2012-12-18 | Oracle International Corporation | Maintaining and utilizing SQL execution plan histories |
US8856182B2 (en) | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8385532B1 (en) | 2008-05-12 | 2013-02-26 | Avaya Inc. | Real-time detective |
US8831206B1 (en) | 2008-05-12 | 2014-09-09 | Avaya Inc. | Automated, data-based mechanism to detect evolution of employee skills |
US8813087B2 (en) * | 2008-06-13 | 2014-08-19 | International Business Machines Corporation | Managing a workload in a cluster of computing systems with multi-type operational resources |
US10375244B2 (en) * | 2008-08-06 | 2019-08-06 | Avaya Inc. | Premises enabled mobile kiosk, using customers' mobile communication device |
US8116237B2 (en) | 2008-09-26 | 2012-02-14 | Avaya Inc. | Clearing house for publish/subscribe of status data from distributed telecommunications systems |
US8332857B1 (en) * | 2008-12-30 | 2012-12-11 | Teradota Us, Inc. | Database system having a regulator that performs workload regulation based on optimizer estimates |
US8161017B2 (en) * | 2009-04-03 | 2012-04-17 | International Business Machines Corporation | Enhanced identification of relevant database indices |
US8621011B2 (en) * | 2009-05-12 | 2013-12-31 | Avaya Inc. | Treatment of web feeds as work assignment in a contact center |
US8964958B2 (en) * | 2009-05-20 | 2015-02-24 | Avaya Inc. | Grid-based contact center |
US8200673B2 (en) * | 2009-06-29 | 2012-06-12 | Sap Ag | System and method for on-demand indexing |
US8644491B2 (en) * | 2009-08-21 | 2014-02-04 | Avaya Inc. | Mechanism for multisite service state description |
US8385533B2 (en) | 2009-09-21 | 2013-02-26 | Avaya Inc. | Bidding work assignment on conference/subscribe RTP clearing house |
US8565386B2 (en) | 2009-09-29 | 2013-10-22 | Avaya Inc. | Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints |
US9468755B2 (en) * | 2009-09-30 | 2016-10-18 | Respicardia, Inc. | Medical lead with preformed bias |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9516069B2 (en) | 2009-11-17 | 2016-12-06 | Avaya Inc. | Packet headers as a trigger for automatic activation of special-purpose softphone applications |
US8306212B2 (en) * | 2010-02-19 | 2012-11-06 | Avaya Inc. | Time-based work assignments in automated contact distribution |
US8433759B2 (en) | 2010-05-24 | 2013-04-30 | Sony Computer Entertainment America Llc | Direction-conscious information sharing |
US20110321052A1 (en) * | 2010-06-23 | 2011-12-29 | International Business Machines Corporation | Mutli-priority command processing among microcontrollers |
US8516488B1 (en) | 2010-11-09 | 2013-08-20 | Teradata Us, Inc. | Adjusting a resource estimate in response to progress of execution of a request |
US8924981B1 (en) | 2010-11-12 | 2014-12-30 | Teradat US, Inc. | Calculating priority indicators for requests in a queue |
US8745032B1 (en) | 2010-11-23 | 2014-06-03 | Teradata Us, Inc. | Rejecting a request in a database system |
US8850022B2 (en) * | 2011-10-26 | 2014-09-30 | Sag Ag | Adjustment of end user response times according to user expectations for server applications under load |
US9459930B1 (en) * | 2011-10-27 | 2016-10-04 | Amazon Technologies, Inc. | Distributed complementary workload scheduling |
US8930530B2 (en) | 2011-10-28 | 2015-01-06 | Sap Se | Mobile and browser application performance management |
US8675860B2 (en) | 2012-02-16 | 2014-03-18 | Avaya Inc. | Training optimizer for contact center agents |
US9411641B2 (en) | 2012-10-04 | 2016-08-09 | Lawrence J. Dickson | Method and apparatus implemented in processors for real-time scheduling and task organization based on response time order of magnitude |
US9264486B2 (en) | 2012-12-07 | 2016-02-16 | Bank Of America Corporation | Work load management platform |
US8978037B1 (en) * | 2013-09-05 | 2015-03-10 | zIT Consulting GmbH | System and method for managing workload performance on billed computer systems |
US10621064B2 (en) | 2014-07-07 | 2020-04-14 | Oracle International Corporation | Proactive impact measurement of database changes on production systems |
US9442760B2 (en) * | 2014-10-03 | 2016-09-13 | Microsoft Technology Licensing, Llc | Job scheduling using expected server performance information |
US11386058B2 (en) | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
US11327932B2 (en) | 2017-09-30 | 2022-05-10 | Oracle International Corporation | Autonomous multitenant database cloud service framework |
US11321252B2 (en) | 2018-05-18 | 2022-05-03 | International Business Machines Corporation | Selecting a priority queue from which to process an input/output (I/O) request using a machine learning module |
US11138019B1 (en) * | 2019-05-23 | 2021-10-05 | Xilinx, Inc. | Routing in a compilation flow for a heterogeneous multi-core architecture |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4048452A (en) * | 1976-05-28 | 1977-09-13 | Bell Telephone Laboratories, Incorporated | Automatic call distribution system |
US4495570A (en) * | 1981-01-14 | 1985-01-22 | Hitachi, Ltd. | Processing request allocator for assignment of loads in a distributed processing system |
JPS58203558A (ja) * | 1982-05-21 | 1983-11-28 | Hitachi Ltd | 計算機・記憶装置へのフアイル割り当て方式 |
JPS61253572A (ja) * | 1985-05-02 | 1986-11-11 | Hitachi Ltd | 疎結合マルチプロセツサ・システムの負荷配分方式 |
US4757529A (en) * | 1986-02-28 | 1988-07-12 | American Telephone And Telegraph Company, At&T Bell Laboratories | Call distribution arrangement |
DE3789215T2 (de) * | 1986-12-22 | 1994-06-01 | American Telephone & Telegraph | Gesteuerter dynamischer Belastungsausgleich für ein Multiprozessorsystem. |
US4858120A (en) * | 1987-03-18 | 1989-08-15 | International Telesystems Corp. | System for regulating arrivals of customers to servers |
US5381546A (en) * | 1987-04-13 | 1995-01-10 | Gte Laboratories Incorporated | Control process for allocating services in communications systems |
US5031089A (en) * | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
US5155851A (en) * | 1989-05-15 | 1992-10-13 | Bell Communications Research, Inc. | Routing an incoming data stream to parallel processing stations |
US5283897A (en) * | 1990-04-30 | 1994-02-01 | International Business Machines Corporation | Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof |
US5212793A (en) * | 1991-09-04 | 1993-05-18 | International Business Machines Corp. | Generic initiators |
-
1992
- 1992-04-30 US US07/876,670 patent/US5504894A/en not_active Expired - Lifetime
-
1993
- 1993-04-14 JP JP5087579A patent/JP2524465B2/ja not_active Expired - Lifetime
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442583B1 (en) | 1995-02-03 | 2002-08-27 | International Business Machines Corporation | Multi-system resource capping |
JPH09282287A (ja) * | 1996-04-18 | 1997-10-31 | Shikoku Nippon Denki Software Kk | 通信処理システム |
JP2014038657A (ja) * | 2000-10-13 | 2014-02-27 | Miosoft Corp | 持続的データ記憶技術 |
US8935225B2 (en) | 2000-10-13 | 2015-01-13 | Miosoft Corporation | Persistent data storage techniques |
US9189536B2 (en) | 2000-10-13 | 2015-11-17 | Miosoft Corporation | Maintaining a relationship between two different items of data |
US9830348B2 (en) | 2000-10-13 | 2017-11-28 | Miosoft Corporation | Persistent data storage techniques |
JP2008542871A (ja) * | 2005-05-27 | 2008-11-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のデータ・センタ中で選択的に作業負荷をオフロードするための方法および装置 |
JP4931913B2 (ja) * | 2005-05-27 | 2012-05-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のデータ・センタ中で選択的に作業負荷をオフロードするための方法および装置 |
JP2008083808A (ja) * | 2006-09-26 | 2008-04-10 | Nippon Telegr & Teleph Corp <Ntt> | フィルタ処理装置、データ蓄積装置、共有情報管理装置、フィルタ処理方法およびフィルタ処理プログラム |
WO2011052102A1 (ja) * | 2009-11-02 | 2011-05-05 | 株式会社日立製作所 | サービス設定支援方法 |
JP5328929B2 (ja) * | 2009-11-02 | 2013-10-30 | 株式会社日立製作所 | サービス設定支援方法 |
Also Published As
Publication number | Publication date |
---|---|
US5504894A (en) | 1996-04-02 |
JP2524465B2 (ja) | 1996-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2524465B2 (ja) | トランザクション処理サ―バの経路指定機構 | |
CA2471594C (en) | Method and apparatus for web farm traffic control | |
KR100420420B1 (ko) | Cpu 자원 관리 방법 및 시스템과 기록 매체 | |
KR100420421B1 (ko) | 계산환경의 논리 프로세서들을 관리하는 방법, 시스템 및 기록매체 | |
KR100419680B1 (ko) | 계산 환경의 코프로세서 내에서의 비동기 i/o 요청들의 관리 방법 및 시스템과 기록 매체 | |
US6434637B1 (en) | Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations | |
US7127716B2 (en) | Method of load balancing a distributed workflow management system | |
KR100420419B1 (ko) | 계산 환경의 분할들의 그룹들을 관리하는 방법, 시스템 및 기록 매체 | |
US6230183B1 (en) | Method and apparatus for controlling the number of servers in a multisystem cluster | |
US5974462A (en) | Method and apparatus for controlling the number of servers in a client/server system | |
US6519660B1 (en) | Method, system and program products for determining I/O configuration entropy | |
Krueger et al. | Adaptive location policies for global scheduling | |
US20050055694A1 (en) | Dynamic load balancing resource allocation | |
JPH04229356A (ja) | ロードバランスシステム | |
JP2004199678A (ja) | タスク・スケジューリングの方法、システム、およびプログラム製品 | |
EP1564638A1 (en) | A method of reassigning objects to processing units | |
US7600229B1 (en) | Methods and apparatus for load balancing processing of management information | |
US7568052B1 (en) | Method, system and program products for managing I/O configurations of a computing environment | |
Lu et al. | On the performance-driven load distribution for heterogeneous computational grids | |
JP2005148911A (ja) | 負荷分散方法及び装置とシステム並びにプログラム | |
Shenbaga Moorthy et al. | Optimal provisioning and scheduling of analytics as a service in cloud computing | |
US8443372B2 (en) | Methods and systems for partitioning data in parallel processing systems | |
WO2005055059A1 (en) | A method of assigning objects to processing units | |
Lu et al. | Towards decentralized load balancing in a computational grid environment | |
Swagatika et al. | Markov chain model and PSO technique for dynamic heuristic resource scheduling for system level optimization of cloud resources |