JP4028674B2 - 多重システム・クラスタ内のサーバの数を制御する方法及び装置 - Google Patents
多重システム・クラスタ内のサーバの数を制御する方法及び装置 Download PDFInfo
- Publication number
- JP4028674B2 JP4028674B2 JP2000126482A JP2000126482A JP4028674B2 JP 4028674 B2 JP4028674 B2 JP 4028674B2 JP 2000126482 A JP2000126482 A JP 2000126482A JP 2000126482 A JP2000126482 A JP 2000126482A JP 4028674 B2 JP4028674 B2 JP 4028674B2
- Authority
- JP
- Japan
- Prior art keywords
- queue
- server
- work
- performance
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
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
-
- 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/5061—Partitioning or combining of resources
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
本発明は、第1のサービス・クラスに属する入来作業要求が、1つ以上のサーバによる処理のために、キューに配置される情報処理システムにおいて、サーバの数を制御する方法及び装置に関する。
【0002】
【従来の技術】
使用可能なサーバへの割当てのために、入来作業要求がキューに配置されるシステムは周知である。入来作業要求が到来する頻度は、容易に制御され得ないので、こうしたキュー待機型システムにおいて、システム性能(キュー遅延などにより測定される)を制御する基本手段は、サーバの数を制御することである。従って、サービスされるキューの長さが特定の高いしきい値に達するとき、追加のサーバを始動したり、サービスされるキューの長さが特定の低いしきい値に達するとき、サーバを停止することが知られている。こうした手段は、その設計目的を達成するが、キューに待機された作業要求に加え、他の作業単位がシステム資源を競合するシステムでは不十分である。従って、たとえキューに対して追加のサーバを提供することで、そのキュー内における作業要求の性能を向上しても、こうしたサーバの提供は、システムにより処理される他の作業単位の性能を低下し得、システムの性能を全体として悪化し得る。
【0003】
ほとんどの今日のオペレーティング・システム・ソフトウェアは、作業要求に対して指定されるエンドユーザ指向の目的に従い、サーバの数を管理し、同一のコンピュータ・システム内で実行される、独立の目標を有する他の作業を考慮する責任を負うことができない。
【0004】
本願の出願人に権利譲渡された1997年3月28日付けのJ. D. Amanらによる継続中の米国特許出願第828440号は、特定のシステムにおいて、サーバの数を制御する方法及び装置を開示し、そこでは第1のサービス・クラスに属する入来作業要求が、1つ以上のサーバによる処理のためにキューに配置される。本システムは更に、システム資源のドナー(donor)として作用する、少なくとも1つの他のサービス・クラスに割当てられる作業単位を有する。本発明によれば、性能測定が第1のサービス・クラスの他に、少なくとも1つの他のサービス・クラスに対して定義される。サーバを第1のサービス・クラスに追加する以前に、第1のサービス・クラスの性能測定に及ぼすプラスの効果だけでなく、他のサービス・クラスの性能測定に及ぼすマイナスの効果も決定される。第1のサービス・クラスの性能測定に及ぼすプラスの効果が、他のサービス・クラスの性能測定に及ぼすマイナスの効果に勝る場合に限り、サーバが第1のサービス・クラスに追加される。
【0005】
【発明が解決しようとする課題】
この継続中の特許出願で開示される発明は、サーバを追加するか否かを決定するとき、他の作業に対する影響を考慮するが、これは単一システムの状況においてそのようにする。しかしながら、多重システム・コンプレックス("シスプレックス(sysplex)")では、作業要求の1つのキューが、コンプレックスに渡り複数のサーバによりサービスされる。従って、所与のキューに対して、サーバを追加するか否かだけでなく、シスプレックス全体の性能を最適化するために、サーバをどこに追加すべきかが決定され得る。
【0006】
【課題を解決するための手段】
本発明は、情報処理システムのクラスタ内のサーバの数を制御する方法及び装置に関して、そこでは第1のサービス・クラスに属する入来作業要求が、1つ以上のサーバによる処理のためにキューに配置される。入来作業要求のあるものは、クラスタ内のサーバのサブセット上でのみ実行されるための要求を有し得る。こうした要求を有する作業要求は、それらが実行されなければならないクラスタ内のシステムのサブセットに対して、"親和性(affinity)"を有すると言われる。本発明によれば、サーバがクラスタ内の1つ以上のシステム上で始動され、キュー内の作業要求を処理する。これらのサーバを始動するシステムは、システムのクラスタの全容量を利用するように、及び作業要求の親和性要求に応じるように、更にクラスタ内のシステム上で実行されているかも知れない他の作業への影響を最小化するように選択される。新たなサーバが始動されるシステムはまた、システム資源のドナーとして作用する第2のサービス・クラスに割当てられる作業単位を有する。本発明によれば、性能測定が第1のサービス・クラス同様、第2のサービス・クラスに対しても定義される。サーバを第1のサービス・クラスに追加する以前に、第1のサービス・クラスの性能測定に及ぼすプラスの効果だけでなく、第2のサービス・クラスの性能測定に及ぼすマイナスの効果も決定される。第1のサービス・クラスの性能測定に及ぼすプラスの効果が、第2のサービス・クラスの性能測定に及ぼすマイナスの効果に勝る場合に限り、サーバが第1のサービス・クラスに追加される。
【0007】
本発明は、複数のユーザ性能目標クラスの各々に対して、各目標クラスの性能目標にもとづき、システムのクラスタに渡るサーバの数のシステム管理を可能にする。競合する目標クラスに対して、サーバの追加または除去の影響を考慮するトレードオフが提供される。
【0008】
【発明の実施の形態】
本発明を組み込むシステムについて述べる前準備として、作業負荷管理(本発明がそれ上で構成される)の概念に関して前置きすることが適切であろう。
【0009】
作業負荷管理は、オペレーティング・システムにより管理される作業単位(プロセス、スレッドなど)が、クラス(サービス・クラスまたは目標クラスと呼ばれる)に編成される概念であり、クラスは予め定義された目標にどれ程よく合致するかに従い、システム資源を提供される。ドナー・クラスからレシーバ(receiver)・クラスへの資源の再割当ては、こうした再割当てから得られるレシーバ・クラスの性能の改善が、ドナー・クラスの性能の劣化に勝る場合、すなわち、予め定義された性能基準により決定される性能における、正味のプラス効果が存在する場合に実行される。このタイプの作業負荷管理は、資源の割当てが資源が再割当てされる作業単位への効果だけにより決定されるのではなく、資源が奪われる作業単位への効果によっても決定されるという点で、大部分のオペレーティング・システムにより実行される"普通の(run-of-the-mill)"資源管理とは異なる。
【0010】
この一般的なタイプの作業負荷マネージャは、以下に挙げる特許、特許出願、及び特許以外の刊行物において開示されている。
【0011】
D. F. Fergusonらによる米国特許出願第5504894号"Workload Manager for Achieving Transaction Class Response Time Goals in a Multiprocessing System"。
J. D. Amanらによる米国特許第5473773号"Apparatus and Method for Managing a Data Processing System Workload According to Two or More Distinct Processing Goals"。
C. K. Eilertらによる米国特許第5537542号"Apparatus and Method for Managing a Server Workload According to Client Performance Goals in a Client/Server Data Processing System"。
J. D. Amanらによる米国特許第5603029号"System of Assigning Work Requests Based on Classifying into an Eligible Class Where the Criteria Is Goal Oriented and Capacity Information is Available"。
C. K. Eilertらによる米国特許第5675739号"Apparatus and Method for Managing a Distributed Data Processing System Workload According to a Plurality of Distinct Processing Goal Types"。
1995年2月3日付けのC. K. Eilertらによる米国特許出願第383042号"Multi-System Resource Capping"。
1995年6月7日付けのJ. D. Amanらによる米国特許出願第488374号"Apparatus and Accompanying Method for Assigning Session Requests in a Multi-Server Sysplex Environment"。
1997年3月28日付けのJ. D. Amanらによる米国特許出願第828440号"Method and Apparatus for Controlling the Number of Servers in a Client/Server System"。
MVS Planning:Workload Management、IBM刊行物GC28-1761-00、1996年。
MVS Programming:Workload Management Services、IBM刊行物GC28-1773-00、1996年。
【0012】
前記特許及び刊行物の中で、米国特許第5504894号及び同第5473773号は、基本的な作業負荷管理システムを開示し、米国特許第5537542号は、米国特許第5473773号の作業負荷管理システムの、クライアント/サーバ・システムへの特定のアプリケーションを開示し、米国特許第5675739号及び米国特許出願第383042号は、米国特許第5473773号の作業負荷管理システムの、複数の相互接続システムへの特定のアプリケーションを開示し、米国特許第5603029号は、多重システム・コンプレックス("シスプレックス")における作業要求の割当てに関して、米国特許出願第488374号は、こうしたコンプレックスにおけるセッション要求の割当てに関して、前述のように、米国特許出願第828440号は、多重システム・コンプレックスの1つのシステム上でのサーバの数の制御に関する。特許以外の2つの刊行物は、IBM(登録商標)OS/390(商標)(以前はMVS(登録商標))オペレーティング・システムにおける作業負荷管理の実現について述べている。
【0013】
図1は、本発明の一般的な実施例における主要な環境及びフィーチャを示し、相互接続され、協働するコンピュータ・システム100のクラスタ90を含み、それらの一般的な2つが示されている。本発明の環境は、作業要求162のキュー161と、クラスタ90に渡り分散され、作業要求をサービスするサーバ163のプールとを含む。本発明は、キューに待機された作業の性能目標クラスと、コンピュータ・システム100内で競合する作業の性能目標クラスとにもとづき、サーバ163の数の管理を可能にする。コンピュータ・システム100のクラスタ90に対して1つのポリシを有することは、分散された作業負荷の単一イメージ・ビューを提供するのに役立つ。当業者であれば、任意の数のコンピュータ・システム100、及び1つのコンピュータ・システム100内の任意の数のこうしたキュー161及びサーバ163のグループが、本発明の趣旨及び範囲から逸れることなく使用され得ることが理解されよう。
【0014】
コンピュータ・システム100は分散された作業負荷を実行し、各コンピュータ・システムが、例えばIBM OS/390オペレーティング・システムなどの、オペレーティング・システム101の自身のコピーにより制御される。
【0015】
それぞれのコンピュータ・システム100上のオペレーティング・システム101の各コピーは、本願で述べられるステップを実行する。説明の中で"ローカル"・システム100を指し示すとき、それは述べられているステップを実行しているシステム100を意味する。一方、"リモート"・システム100は、管理される他の全てのシステム100を意味する。各システム100がそれ自身を局所的(ローカル)と見なし、他の全てのシステム100を遠隔的と見なす点に留意されたい。
【0016】
本発明に関する改良以外は、システム100は、継続中の米国特許出願第828440号及び米国特許第5675739号で開示されるシステムと類似である。図1に示されるように、システム100は複数の相互接続されるシステム100の1つであり、これらは同様に管理され、クラスタ90(システム・コンプレックスまたはシスプレックスとも呼ばれる)を構成する。米国特許第5675739号で教示されるように、作業単位が分類される様々なサービス・クラスの性能が、特定のシステム100に対してだけでなく、クラスタ90全体に対しても追跡され得る。この目的のために、また後述の説明から明らかになるように、システム100とクラスタ90内の他のシステム100との間で、性能結果を伝達し合う手段が提供される。
【0017】
ディスパッチャ102は、オペレーティング・システム101の構成要素であり、次にコンピュータにより実行される作業単位を選択する。作業単位は、コンピュータ・システム100の目的に相当する有用な作業を実行するアプリケーション・プログラムである。実行準備が整った作業単位は、アドレス空間制御ブロック(ASCB)・キューと呼ばれる、オペレーティング・システム・メモリ内の制御ブロックの連鎖により表される。
【0018】
作業マネージャ160は、オペレーティング・システム101の外部の構成要素であり、これはオペレーティング・システム・サービスを用いて、1つ以上のキュー161を作業負荷マネージャ(WLM)105に定義し、作業要求162をこれらのキュー上に挿入する。作業マネージャ160は、挿入された作業要求162を、クラスタ90内の任意のシステム100上の作業マネージャ160のサーバ163による選択のために、先入れ先出し(FIFO)順に保持する。作業マネージャ160は、サーバが、それが実行されているシステム100と親和性を有する要求だけを選択することを保証する。
【0019】
サーバ163は作業マネージャ160の構成要素であり、キューに待機された作業要求162をサービスすることができる。作業負荷マネージャ105がサーバ163を始動し、作業マネージャ160のキュー161上の作業要求162をサービスするとき、作業負荷マネージャ105は、共用データ機構140上に記憶されたサーバ定義を用いて、アドレス空間(すなわちプロセス)164を始動する。作業負荷マネージャ105により始動されるアドレス空間164は、作業負荷マネージャ105の指示に従い、そのアドレス空間がサービスすべき特定のキュー161上の要求162をサービスする、1つ以上のサーバ(すなわちディスパッチ可能単位またはタスク)163を含む。
【0020】
図2は、コンピュータ・システム100が接続されるネットワーク(図示せず)から、作業負荷マネージャ105により管理されるサーバ・アドレス空間164への、クライアント作業要求162の流れを示す。作業要求162はクラスタ90内の特定のコンピュータ・システム100に経路指定され、作業マネージャ160により受信される。作業要求162の受信に際して、作業マネージャ160はそれを作業負荷マネージャ(WLM)・サービス・クラスに分類し、作業要求を作業キュー161に挿入する。作業キュー161は、クラスタ90内の全てのコンピュータ・システム100により共用される。すなわち、作業キュー161はクラスタ全体に渡るキューである。作業要求162は、それを実行する準備が整ったサーバが現れるまで、作業キュー161内で待機する。
【0021】
新たな作業要求162を実行する準備が整った(アドレス空間が丁度始動されたか、タスクが前の要求の実行を終了したとき)、クラスタ90内のあるシステム100上のサーバ・アドレス空間164内のタスク163が、新たな作業要求のために作業マネージャ160を呼び出す。アドレス空間164がサービスしている作業キュー161上に作業要求162が存在し、その作業要求がサーバが実行されているシステム100と親和性を有する場合、作業マネージャ160はその作業要求をサーバ163に受け渡す。それ以外では、作業マネージャ160は作業要求162が有効になるまで、サーバ163を延期する。
【0022】
作業要求162が作業マネージャ160により受信されるとき、それは作業キュー161上に配置され、サーバ163が作業要求を実行するために使用可能になるのを待機する。作業要求162の作業マネージャ160、アプリケーション環境名、及びWLMサービス・クラスのそれぞれの固有の組み合わせに対して、1つの作業キュー161が存在する。(アプリケーション環境は、類似のクライアント作業要求162のセットが実行されるべき環境である。OS/390条件では、これは作業要求を実行するために、サーバ・アドレス空間を始動するために使用されるジョブ制御言語(JCL)プロシージャにマップされる。)特定の作業キュー161に対して、第1の作業要求162が到来するとき、キューイング構造が動的に生成される。作業キュー161に対して、所定時間(例えば1時間)何も活動が発生しなかった場合、構造は消去される。新たなWLMポリシを活動化するなどのように、キューに待機された作業要求162のWLMサービス・クラスを変更し得るアクションが発生する場合、作業負荷マネージャ105は作業マネージャ160にその変更を知らせ、作業マネージャ160は、各作業要求162の新たなWLMサービス・クラスを反映するように、作業キュー161を再生する。
【0023】
サーバ163を有さないシステム100と親和性を有する作業要求162は、他のシステム100上に、その作業要求のサービス・クラスの目標を満たす上で十分なサーバが存在する場合、決して実行されないといった危険性が存在する。この危険性を回避するために、作業負荷マネージャ105は、クラスタ90内のどこかに、キュー161上の各作業要求を実行可能な少なくとも1つのサーバ163が存在するように保証する。図8はこの論理を示す。この論理は、クラスタ90内の各コンピュータ・システム100上の作業マネージャ160により実行される。
【0024】
ステップ701で、作業マネージャ160が自身が所有する第1のキュー161を調査する。ステップ702で、作業マネージャ160が、ローカル・システム100上にこのキュー161に対するサーバ163が存在するか否かをチェックする。サーバ163が存在する場合、作業マネージャ160は次のキュー161に移行する(ステップ708乃至709)。作業マネージャ160が、局所的にサーバ163を有さないキュー161を見い出す場合、作業マネージャ160は次にキュー上の各作業要求を調査し、第1の作業要求を開始する(ステップ703乃至706)。各作業要求162に対して、作業マネージャ160は、クラスタ90内のどこかに、現作業要求を実行可能なサーバ163が存在するか否かをチェックする(ステップ704)。現作業要求を実行可能なサーバ163が存在する場合、作業マネージャ160はキュー161上の次の作業要求162に移行する(ステップ706)。現作業要求を実行可能なサーバ163が存在しない場合、作業マネージャ160は作業負荷マネージャ105を呼び出し、サーバ163を始動し(ステップ707)、次のキュー161に移行する(ステップ708乃至709)。作業マネージャ160は、作業マネージャにより所有される全てのキュー161が処理されるまで(ステップ710)、同様に継続する。
【0025】
作業マネージャ160が作業負荷マネージャ105を呼び出すとき(ステップ707)、作業要求に対してサーバを始動すべき最善のシステム100を決定するために、作業負荷マネージャ105は、クラスタ90内の各システム100に対して、各重要度にて有効なサービス、及びそのシステムに対して未使用のサービスを示す、サービス有効配列(Service Available Array)を保持する。この配列は下記のように、各重要度に対するエントリ、及び未使用のサービスに対するエントリを含む。
【0026】
配列要素 配列要素内容
配列要素1 重要度0にて有効なサービス
配列要素2 重要度1にて有効なサービス
配列要素3 重要度2にて有効なサービス
配列要素4 重要度3にて有効なサービス
配列要素5 重要度4にて有効なサービス
配列要素6 重要度5にて有効なサービス
配列要素7 重要度6にて有効なサービス
配列要素8 未使用サービス
【0027】
サービス有効配列は、本願の出願人に権利譲渡された、1997年3月28日付けのC. K. Eilertらによる米国特許出願第827529号"Managing Processor Resources in a Multisystem Environment"でも述べられている。
【0028】
作業負荷マネージャ105は、要求のサービス・クラスの重要度にて有効な最大限のサービスにより、システム100上で新たなサーバを始動する。続くアドレス空間164は、作業負荷をサポートすることが要求されるときに始動される(後述のポリシ調整を参照)。好適には、アドレス空間164を始動する機構は、自動的にアドレス空間を始動する他の実施例における共通の問題を回避するための、幾つかのフィーチャを有する。従って、アドレス空間164の始動は好適には、1度に1つの始動だけが進行するように歩調を合わされる。この歩調合わせは、システム100にアドレス空間164の始動が殺到することを回避する。
【0029】
また、所定の連続的な始動失敗(例えば3度の失敗)に遭遇するとき、所与のアプリケーション環境においては、追加のアドレス空間164の生成を回避するための特殊論理が、好適には提供される。こうした失敗が起こり得る原因として、アプリケーション環境における、JCLプロシージャのJCLエラーが考えられる。前述の特殊論理の提供は、JCLエラーが訂正されるまで、成功裡に始動しないアドレス空間を始動しようとするループに入り込むことを回避する。
【0030】
更に、作業要求162を実行する間に、サーバ・アドレス空間164が失敗する場合、作業負荷マネージャ105は好適には、それを置換するための新たなアドレス空間を始動する。失敗が繰り返されると、作業負荷マネージャ105は、オペレータ・コマンドにより問題が解決されたことを知らされるまで、そのアプリケーション環境において、作業要求の受諾を停止する。
【0031】
所与のサーバ・アドレス空間164は、たとえそれが通常、1つの作業キュー161だけをサービスするとしても、そのアプリケーション環境において、物理的にあらゆる作業要求162をサービスすることができる。好適には、サーバ・アドレス空間164は、もはやその作業キュー161をサポートする必要がないときでも、即時終了されない。代わりに、サーバ・アドレス空間164は、ある期間"フリー・エージェント"として待機し、同一のアプリケーション環境において、別の作業キュー161をサポートするために使用され得るか否かを調査する。サーバ・アドレス空間164が新たな作業キュー161にシフトされ得る場合、その作業キューに対して新たなサーバ・アドレス空間を始動するオーバヘッドが回避される。所定時間(例えば5分)内に、サーバ・アドレス空間164が別の作業キュー161により必要とされない場合、それは終了される。
【0032】
本発明は入力としてシステム管理者により確立され、データ記憶機構140に記憶された性能目標141及びサーバ定義を受け取る。データ記憶機構140は、管理される各システム100によりアクセス可能である。ここで示される性能目標には2つのタイプ、すなわち応答時間(秒)と、実行速度(%)とがある。当業者であれば、本発明の趣旨及び範囲から逸れることなく、他の目標または追加の目標が選択され得ることが理解できよう。性能目標には、各目標の相対重要度の指定が含まれる。性能目標141が、管理される各システム100のオペレーティング・システム101の作業負荷マネージャ要素105により、システム内に読出される。システム管理者により確立され、指定された性能目標の各々は、各システム100上の作業負荷マネージャ105に、個々の作業単位が割当てられる性能クラスを確立させる。各性能クラスがクラス・テーブル・エントリ106により、オペレーティング・システム101のメモリ内に表される。(内部表現にて)指定された目標、及び性能クラスに関する他の情報が、クラス・テーブル・エントリに記録される。クラス・テーブル・エントリに記憶される他の情報には、サーバ163の数107(制御変数)、目標クラスの相対重要度108(入力値)、多重システム性能指標(PI)151、ローカル性能指標152(性能測定を表す計算値)、応答時間目標110(入力値)、実行速度目標111(入力値)、サンプル・データ113(測定データ)、リモート応答時間履歴(157)(測定データ)、リモート速度履歴158(測定データ)、サンプル・データ履歴125(測定データ)、及び応答時間履歴126(測定データ)が含まれる。
【0033】
オペレーティング・システム101はシステム資源マネージャ(SRM)112を含み、これは多重システム目標駆動型制御装置(MGDPC)114を含む。これらの構成要素は一般に、米国特許第5473773号及び同第5675739号で述べられるように動作する。しかしながら、MGDPC114は本発明に従い、サーバ163の数を管理するように変更される。MGDPC114は後述のように、目標の達成度を測定する機能、改善された性能を必要とするユーザ性能目標クラスを選択する機能、及び、関連作業単位の制御変数を変更することにより、選択されたユーザ性能目標クラスの性能を改善する機能を実行する。好適な実施例では、MGDPC機能はおよそ毎10秒ごとの周期的なタイマ満了にもとづき、周期的に実行される。MGDPC機能が実行されるインタバルは、MGDPCインタバルまたはポリシ調整インタバルと呼ばれる。
【0034】
MGDPC114の動作の一般的な態様は、米国特許第5675739号で述べられるように、次のようである。ブロック115で、各ユーザ性能目標クラス106に対して、指定目標110または111を用いて、多重システム性能指標151及びローカル性能指標152が計算される。多重システム性能指標151は、管理される全てのシステム100に渡る目標クラスに関連付けられる作業単位の性能を表す。ローカル性能指標152は、ローカル・システム100上の目標クラスに関連付けられる作業単位の性能を表す。結果の性能指標151、152は、対応するクラス・テーブル・エントリ106に記録される。ユーザ性能目標の達成度を測定する方法としての性能指標の概念は周知である。例えば、前記のFergusonらによる米国特許第5504894号では、性能指標として、実際の応答時間が目標応答時間により除算されるように述べられている。
【0035】
ブロック116で、ユーザ性能目標クラスが選択され、相対目標重要度108及び性能指標151、152の現在値の順で、性能改善度を受信する。選択されたユーザ性能目標クラスは、レシーバ(receiver)と呼ばれる。MGDPC114はレシーバを選択するとき、最初に多重システム性能指標151を用いることにより、管理される全てのシステム100に渡り作業単位が目標を満足するために、最も大きな影響を有するアクションを実行する。多重システム性能指標151にもとづき実行すべきアクションが存在しない場合、ローカル性能指標152が用いられ、ローカル・システム100がその目標を満足するために最も有用なレシーバが選択される。
【0036】
候補のレシーバ・クラスが決定された後、周知のように、状態サンプル125を用いて性能ボトルネックを構成する、そのクラスの制御変数がブロック117で決定される。米国特許第5675739号で述べられるように、制御変数には、保護プロセッサ記憶ターゲット(ページング遅延に影響)、スワップ保護時間(SPT)ターゲット(スワップ遅延に影響)、多重プログラミング・レベル(MPL)・ターゲット(MPL遅延に影響)、及びディスパッチ優先順位(CPU遅延に影響)などの変数が含まれる。本発明によれば、制御変数として、キュー遅延に影響を及ぼすサーバ163の数が含まれる。
【0037】
図1では、サーバ163の数107が、クラス・テーブル・エントリ106に記憶されて示され、これは1クラス当たり、1つのキュー161が限度であることを意味する。しかしながら、これは単に説明の簡略化のためであり、当業者であれば、単にデータの位置を変更することにより、1クラス当たり複数のキュー161が独立に管理され得ることが理解できよう。基本的な必要条件は、1つのキュー161に対する作業要求162が1つの目標だけを有すること、各サーバ163が要求をサービスするための等しい能力を有すること、及び作業負荷マネージャ105からの(への)通知無しでは、サーバが2つ以上のキュー161上の作業をサービスすることができないことである。
【0038】
候補の性能ボトルネックが識別された後、制御変数の潜在的な変化がブロック118で考慮される。ブロック123で、相対目標重要度108及び性能指標151、152の現在値にもとづき、性能低下が起こり得るユーザ性能目標クラスが選択される。従って、選択されたユーザ性能目標クラスはドナーと呼ばれる。
【0039】
候補ドナー・クラスが選択された後、提案された変化がブロック124で評価される。具体的には、サーバ163の数107、及び前述され、また米国特許第5675739号でも述べられる変数を含む制御変数の各々に対して、レシーバ及びドナーの両者において、多重システム性能指標151及びローカル性能指標152の期待変化に対するネット値が評価される。提案された変化は、結果が目標に対して、ドナーに与える損害よりも多くの改善をレシーバにもたらす場合、ネット値を有する。提案された変化がネット値を有する場合、それぞれの制御変数がドナー及びレシーバの両者に対して調整される。
【0040】
管理される各システム100はデータ伝送機構155に接続され、これは各システム100がデータ・レコードをあらゆる他のシステム100に送信することを可能にする。ブロック153で、各目標クラスの最近の性能を記述するデータ・レコードが、あらゆる他のシステム100に送信される。
【0041】
多重システム目標駆動型性能制御装置(MGDPC)機能は、周期的に実行され(好適な実施例では毎10秒ごとに1度)、タイマ満了を介して呼び出される。MGDPCの機能は、性能問題の増分検出及び訂正のためのフィードバック・ループを提供し、オペレーティング・システム101を適応され、自己同調させる。
【0042】
米国特許第5675739号で述べられるように、MGDPCインタバルの終わりに、インタバルの間の各目標クラスの性能を記述するデータ・レコードが、管理される各リモート・システム100に送信される。応答時間目標を有する性能目標クラスに対して、このデータ・レコードは目標クラス名と、リモート応答時間履歴の行(row)に等価なエントリを有する配列とを含む。ここでリモート応答時間履歴は、最後のMGDPCインタバルに渡る目標クラスの完了を記述する。速度目標を有する目標クラスに対して、このデータ・レコードは目標クラス名と、目標クラス内の作業が最後のMGDPCインタバル内で実行中にサンプリングされた回数と、目標クラス内の作業が最後のMGDPCインタバル内で、実行中または遅延中にサンプリングされた回数とを含む。本発明によれば、各システム100が追加のデータとして、データを送信するシステム100のサービス有効配列、各キュー161に対するサーバ163の数、及び各キュー161に対する遊休サーバ163の数を送信する。
【0043】
ブロック154で、リモート・データ・レシーバがMGDPC114とは非同期に、リモート・システム100から性能データを受信する。受信データはMGDPC114による後の処理のために、リモート性能データ履歴(157、158)に配置される。
【0044】
図3は、解決する資源ボトルネックを選択するために、ボトルネック発見手段117により使用される状態データを示す。各遅延タイプに対して、性能目標クラス・テーブル・エントリ106が、その遅延タイプに遭遇するサンプルの数、及びMGDPC114の現呼び出しの間に、その遅延タイプが既にボトルネックとして選択されたか否かを示すフラグを含む。クロス・メモリ・ページング・タイプ遅延の場合、クラス・テーブル・エントリ106が、遅延に遭遇したアドレス空間の識別子を含む。
【0045】
ボトルネック発見手段117の論理フローが図4に示される。解決するボトルネックの選択は、MGDPC114の現呼び出しの間にまだ選択されておらず、最も多くのサンプルを有する遅延タイプを選択することにより実行される。遅延タイプが選択されると、フラグがセットされ、それによりボトルネック発見手段117が、MGDPC114のこの呼び出しの間に再度呼び出される場合、その遅延タイプがスキップされる。
【0046】
図4のステップ501では、CPU遅延タイプが、まだ選択されていない全ての遅延タイプの中で、最も多くの遅延サンプルを有するか否かが判断される。肯定の場合、ステップ502で、CPU遅延選択フラグがセットされ、CPU遅延が次に解決されるべきボトルネックとして返却される。
【0047】
ステップ503では、MPL遅延タイプが、まだ選択されていない全ての遅延タイプの中で、最も多くの遅延サンプルを有するか否かが判断される。肯定の場合、ステップ504で、MPL遅延選択フラグがセットされ、MPL遅延が次に解決されるべきボトルネックとして返却される。
【0048】
ステップ505では、スワップ遅延タイプが、まだ選択されていない全ての遅延タイプの中で、最も多くの遅延サンプルを有するか否かが判断される。肯定の場合、ステップ506で、スワップ遅延選択フラグがセットされ、スワップ遅延が次に解決されるべきボトルネックとして返却される。
【0049】
ステップ507では、ページング遅延タイプが、まだ選択されていない全ての遅延タイプの中で、最も多くの遅延サンプルを有するか否かが判断される。肯定の場合、ステップ508で、ページング遅延選択フラグがセットされ、ページング遅延が次に解決されるべきボトルネックとして返却される。5つのタイプのページング遅延が存在する。ステップ507では、最も多くの遅延サンプルを有するタイプが突き止められ、ステップ508で、特定のタイプに対してフラグがセットされ、その特定のタイプが返却されれる。好適な実施例の環境(OS/390)において周知のように、ページング遅延のタイプには、専用領域、共通領域、クロス・メモリ、仮想入出力(VIO)、及びハイパ空間が存在し、各々がページング遅延状況に対応する。
【0050】
最後にステップ509で、キュー遅延タイプが、まだ選択されていない全ての遅延タイプの中で、最も多くの遅延サンプルを有するか否かが判断される。クラスはキュー161上の各作業要求に対して、ローカル・システム100上で実行される資格のある1つのキュー遅延タイプ・サンプルを獲得する。肯定の場合、ステップ510で、キュー遅延選択フラグがセットされ、キュー遅延が次に解決されるべきボトルネックとして返却される。キュー遅延は、クラスタ90内の別のシステム100が最後のポリシ調整インタバルの間に、キュー161に対してサーバ163を始動した場合、ローカル・システム100上では解決されない。キュー遅延はまた、候補レシーバ・クラスが準備完了の作業をスワップ・アウトした場合にも、解決されない。
【0051】
次のセクションでは、ボトルネック発見手段117により選択された遅延を低減するように、制御変数を変更することにより、如何にレシーバ性能目標クラス性能が改善されるか、そして特に、レシーバにより遭遇されるキュー遅延を低減することにより、如何に性能が改善されるかについて述べる。共用キュー161の場合、これは2ステップ・プロセスである。第1に、ローカル・システム100上にサーバ163を追加することにより、評価が行われる。この評価には、ドナー作業に対する影響が含まれる。サーバ163の追加において、ネット値が存在する場合、次のステップでサーバがローカル・システム100上で始動されるべきか、或いはそれらがクラスタ90内の別のシステム100上で始動されるべきかが決定される。リモート・システム100がサーバ163を始動するために、より好適であると思われる場合、ローカル・システム100はそのリモート・システムにサーバを始動する機会を与えるために待機する。しかしながら、そのリモート・システム100がサーバ163を始動しない場合、ローカル・システム100が図9に関連して後述されるように、それらを始動する。
【0052】
図5は、追加のサーバ163を始動することによる、性能の改善を評価する論理フローを示す。図5乃至図7は、固定手段118によりネット値手段124に提供される性能指標デルタ予測を生成するステップを示す。ステップ1401で、サーバ163の新たな数が評価のために選択される。この数は変化を価値あるものにするために、十分なレシーバ値(ステップ1405でチェックされる)を生成するように十分大きくなければならない。一方、この数は、追加のサーバ163の値が限られるように、例えばキューに待機されて実行される作業要求の総数より大きくならないように、余り大きくてはならない。次のステップは、追加のサーバ163が使用する追加のCPUを計算する。これは作業要求により使用される平均CPUに、追加されるサーバ163を乗算することにより実行される。
【0053】
ステップ1402で、新たな数のサーバ163における作業要求162の予測数が、図6に示されるサーバ準備完了ユーザ平均グラフから読出される。ステップ1403で、現予測キュー遅延が、図7に示されるキュー遅延グラフから読出される。ステップ1404で、ローカル性能指標デルタ及び多重システム性能指標デルタの予測値が計算される。これらの計算は以下で示される。
【0054】
図6は、キュー準備完了ユーザ平均グラフを示す。キュー準備完了ユーザ平均グラフは、キュー161に対するサーバ163の数の変化を評価するときに、サーバ163に対する需要を予測するために使用される。このグラフは、作業要求162がバックアップを開始するポイントを示す。横座標(x)値は、キュー161が使用可能なサーバ163の数である。縦座標(y)値は、実行準備完了の作業要求162の最大数である。
【0055】
図7は、キュー遅延グラフを表す。キュー遅延グラフは、キュー161に対するサーバ163の数を増減する値を評価するために使用される。このグラフは、キュー・サーバ163の数を増加することにより、如何に応答時間が改善されるか、或いはキュー・サーバ163の数を減少することにより、如何に応答時間が低下されるかを示す。グラフはまた、例えばデータベース・ロック競合などの、追加のサーバ163を追加することにより生じ得る、作業負荷マネージャ105により管理されない資源に対する競合を暗黙的に考慮する。こうした場合では、追加のサーバ163が追加されても、グラフ上のキュー遅延が減少しない。横座標値は、使用可能なサーバ163を有し、システム100のクラスタ90に渡りスワップ・インされる準備完了の作業要求162の割合である。縦座標値は1完了当たりのキュー遅延である。
【0056】
サーバ163の数の増加に対する、シスプレックス(すなわち多重システム)性能指標(PI)デルタは、次のように計算される。ここでシスプレックス性能指標デルタが計算される理由は、キュー161がシスプレックス全体に渡る資源であるからである。
【0057】
応答時間目標に対して、
(予測シスプレックスPIデルタ)=(予測キュー遅延−現キュー遅延)/応答時間目標
【0058】
速度目標に対して、
(新シスプレックス速度)={cpuu+((cpuu/oldserver)*newserver)}/{non-idle+((qd/qreq)*(oldserver−newserver))}
(シスプレックスPIデルタ)=(現シスプレックスPI−目標)/新シスプレックス速度
【0059】
ここで
cpuuは、シスプレックスCPU使用サンプル;
oldserverは、評価される変化が実行される前のサーバ163の数;
newserverは、評価される変化が実行された後のサーバ163の数;
non-idleは、シスプレックス非遊休サンプルの総数;
qdは、シスプレックス・キュー遅延サンプル;
qreqは、キュー161上の作業要求162の数
である。
【0060】
同様の計算が、サーバ163の数の減少に対する性能指標デルタを計算するために使用される。
【0061】
ステップ1405で、追加のサーバ163の数により提供される十分なレシーバ値に対してチェックが行われる。好適には、このステップは、新たなサーバ163が、それらの追加を価値あるものにするために十分なCPU時間を獲得するか否かを判断するステップを含む。十分なレシーバ値が存在しない場合、制御はステップ1401に戻り、より多くのサーバ163が評価のために選択される。
【0062】
十分なレシーバ値が存在する場合、ステップ1406でドナー選択手段123が呼び出され、レシーバ性能目標クラスのために、追加のサーバ163を始動するために必要な記憶装置のドナーを見い出す。
【0063】
ドナー・クラスのために調整される制御変数は、必ずしもそのクラスに対するサーバ163の数107である必要はない。ドナー・クラスの幾つかの異なる制御変数の任意の1つ、例えばMPLスロットまたは保護プロセッサ記憶装置などが、代わりにまたは追加として調整され、追加のサーバ163のために必要な記憶装置を提供してもよい。本発明の一部を成すものではないが、こうした制御変数の調整がドナー・クラスに与える効果を評価する方法が、米国特許第5537542号及び同第5675739号で述べられている。
【0064】
ステップ1407では、ドナーから記憶装置を受け取り、レシーバ・クラスのためにサーバ163の数を増加するに際して、ネット値が存在することを保証するためにチェックが行われる。米国特許第5675739号で述べられるように、これは1つ以上の幾つかの異なる基準、例えば資源再割当ての後に、ドナーがその目標に合致するように予測されるか否か、レシーバが現在その目標を逸しつつあるか否か、レシーバがドナーよりも重要なクラスか否か、またはドナー及びレシーバの結合性能指標において、ネット利得が存在するか否か、すなわち、サーバをレシーバ・クラスに追加することが、レシーバ・クラスの性能指標に及ぼすプラスの効果が、ドナー・クラスの性能指標に及ぼすマイナスの効果を上回るか否かなどの基準を用いて決定される。ネット値が存在する場合、次のステップで、ローカル・システム100が新たなサーバ163を始動するための(ステップ1408)、クラスタ90内の最善のシステムか否かが決定される。ネット値が存在しない場合、レシーバ目標クラス・キュー遅延問題は解決され得ない(ステップ1409)。
【0065】
図9は、新たなサーバ163を始動するクラスタ90内の最善のシステム100を表す、ターゲット・システムを決定するプロシージャを示す。このプロシージャは、一旦サーバの追加に対してネット値が存在し、1つ以上のサーバ163がレシーバ・クラスに追加されるべきことが決定されると、図5のステップ1408の一部として、クラスタ90内の各システム100により実行される。ローカル・システム100が最初に、クラスタ90内の任意のシステム100が他の作業に影響すること無く、新たなサーバ163をサポートするための十分な遊休容量を有するか否かをチェックする(ステップ801)。これはクラスタ90内の各システム100のサービス有効配列を調査し、配列要素8において、新たなサーバ163をサポートするために使用可能な十分なCPUサービス(未使用CPUサービス)を有するシステム100を選択することにより実行される。複数のシステム100が十分な未使用CPUサービスを有する場合、最も多くの未使用サービスを有するシステム100が選択される。しかしながら、キューに待機された作業要求が存在するときに、システム100が遊休状態のサーバを有する場合、これは多くの作業要求がそのシステム100に対して親和性を持たないことを意味するので、この遊休状態のサーバ163を有するシステム100は選択されない。
【0066】
ローカル・システム100は次に、サーバ163を始動するための、十分な遊休状態のCPU容量を有するターゲット・システム100が見い出されたか否かをチェックする(ステップ802)。ターゲット・システム100が見い出され、それがローカル・システム100の場合(ステップ803)、ローカル・システム100がサーバ163を局所的に始動する(ステップ804乃至805)。
【0067】
ステップ803で、別のシステム100が新たなサーバ163を始動するための最も多くの遊休容量を有することが見い出されると、制御はステップ806に移行し、ローカル・システム100がポリシ調整インタバル(10秒)を待機し、別のシステム100がサーバ163を始動したか否かをチェックする(ステップ807)。別のシステム100がサーバ163を始動した場合、局所的に何もアクションは実行されない(ステップ811)。他のシステム100がサーバ163を始動しなかった場合、ローカル・システム100は、自身が新たなサーバ163をサポートする十分な遊休CPU容量を有するか否かをチェックする(ステップ812)。有する場合、ローカル・システム100は局所的にサーバ163を始動する(ステップ813乃至814)。
【0068】
新たなサーバ163をサポートするための十分な遊休CPU容量を有するシステム100が存在しなかった場合、或いは、十分な遊休CPU容量を有するシステム100が存在したが、そのシステム100がサーバを始動しなかった場合、制御はステップ808に移行する。こうしたシステム100がサーバ163を始動しない1つの理由は、メモリが欠乏するためである。この時点で、ドナー作業に影響を及ぼすこと無しに、新たなサーバ163が始動され得ないことが判明する。従って、ローカル・システム100は、局所的なサーバ163の始動により、ドナー作業がその目標を逸するか否かをチェックする。ドナー作業がその目標を逸しない場合、ローカル・システム100はサーバ163を局所的に始動する(ステップ817乃至818)。サーバ163の局所的な始動により、ドナー・クラスがその目標を逸する場合には、ローカル・システム100はドナー作業への影響が最も小さいシステム100を見い出す(ステップ809)。
【0069】
図10は、図9のステップ809で、ドナー作業への影響が最も小さいシステム100を決定するルーチンを示す。ルーチンは最初に、ドナー・クラスの名前及びドナーの性能指標(PI)デルタを、クラスタ90内の他のシステムに送信する(ステップ901)。このドナー情報を交換することにより、レシーバ・クラスに対するサーバ163の追加を評価している各システム100は、他の全てのシステム100へのサーバ追加の影響を調査する。ルーチンは次に、他のシステム100がそれらのドナー情報を送信することを可能にするために、1ポリシ・インタバル(示される実施例では10秒)を待機する(ステップ902)。ルーチンは次に、ドナー・クラスが最も低い重要度を有するシステム100を選択し(ステップ903)、選択されたシステム100を呼び出しルーチンに返却して、図9のステップ809を完了する(ステップ905)。ドナー重要度に対等なものが存在する場合(ステップ904)、ルーチンはドナーの性能指標(PI)デルタが最小のシステム100を選択し(ステップ906)、このシステム100を呼び出しルーチンに返却する(ステップ907)。
【0070】
再度図9を参照して、ステップ809を完了後、ローカル・システム100は、ドナーに対して最も小さな影響を有するとして選択されたシステム100が、ローカル・システムであるか否かをチェックする(ステップ810)。そうである場合、ローカル・システム100がサーバ163を局所的に始動する(ステップ817乃至818)。それ以外では、ローカル・システム100は、別のシステム100がサーバ163を始動することを可能にするために、1ポリシ・インタバル待機し(ステップ815)、このインタバルの終りに別のシステム100がサーバ163を始動したか否かをチェックする(ステップ816)。別のシステム100がサーバ163を始動した場合、ローカル・システム100は何もアクションを起こさない(ステップ818)。他のシステム100がサーバ163を始動しなかった場合、ローカル・システム100はそれらを局所的に始動する(ステップ817乃至818)。
【0071】
図5のステップ1408では、特定の環境下のキュー161に対して、新たなサーバ163を始動する要求を一時的に延期する論理が含まれる。既存の作業への不要な影響を回避するために、新たなサーバ163を始動する並列要求が制限される。この歩調合わせは、オペレーティング・システム101に、追加のサーバ163を始動するための多くの並列要求が殺到し、混乱することを回避する。システム管理者により提供される、データ・レポジトリ141内の誤った情報の検出も実行され、新たなサーバ163が成功裡に始動され得ない程、サーバ定義情報が不正確な場合に、無限の再試行ループを阻止する。一旦サーバ163が始動されると、サーバが予期せず故障した場合に、それを自動的に置換する論理も含まれる。同一のサーバ定義情報を有するが、同一の作業マネージャ160に対して異なるキュー161をサービスする遊休サーバ163が、キュー間で移動され得ることにより、特定のキューに対してサーバ163の数を増加する要求が満足され、完全に新たなサーバを始動するオーバヘッドを回避する。
【0072】
本発明は好適には、1つ以上のハードウェア・マシン上で実行されるソフトウェア(すなわち、プログラム記憶装置上で実現される命令のマシン読出し可能プログラム)として実現される。これまで特定の実施例について述べてきたが、当業者であれば、ここで特定的に述べられた以外の他の実施例も、本発明の趣旨から逸れることなく実現され得ることが明らかであろう。また、当業者であれば、様々な等価な要素が、ここで特定的に開示された要素の代わりに代用され得ることが理解されよう。同様に、ここで開示された実施例の変更及び組み合わせも明らかであろう。例えば、各サービス・クラスに対して、ここで開示された1つのキューではなく、複数のキューが提供され得る。開示された実施例及びそれらの詳細は、本発明の実施例を教示することを意図したのものであって、本発明を制限するものではない。従って、こうした明白ではあるが、ここで開示されなかった変更及び組み合わせも、本発明の趣旨及び範囲に含まれるものと見なされる。
【0073】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0074】
(1)情報処理システムのクラスタ内において、キュー内の各作業要求を処理可能なサーバの可用性を保証する方法であって、入来作業要求が前記キューに配置され、前記システム上の1つ以上のサーバにより処理されるものにおいて、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在するか否かを決定するステップと、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在すると決定された場合、前記作業要求が親和性を有する前記サブセット内のシステム上で、前記キューに対してサーバを始動するステップと
を含む、方法。
(2)前記決定するステップが周期的インタバルで実行される、前記(1)記載の方法。
(3)異なるサービス・クラスに割当てられる作業要求が、異なるキューに配置され、前記決定するステップが前記キューの各々に対して実行される、前記(1)記載の方法。
(4)前記決定するステップが、前記クラスタ内の各システムにより実行される、前記(1)記載の方法。
(5)前記決定するステップが、
前記キューが前記システム上にサーバを有するか否かを決定するステップと、
前記キューが前記システム上にサーバを有さない場合、前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在するか否かを決定するステップと
を含む、前記(4)記載の方法。
(6)マシンにより読出され、前記マシンにより実行されて、前記(1)記載の方法を実行する命令のプログラムを実現する、プログラム記憶装置。
(7)情報処理システムのクラスタ内において、キュー内の各作業要求を処理可能なサーバの可用性を保証する装置であって、入来作業要求が前記キューに配置され、前記システム上の1つ以上のサーバにより処理されるものにおいて、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在するか否かを決定する手段と、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在すると決定された場合、前記作業要求が親和性を有する前記サブセット内のシステム上で、前記キューに対してサーバを始動する手段と
を含む、装置。
【図面の簡単な説明】
【図1】本発明のために適応化された制御オペレーティング・システム及びシステム資源マネージャ要素を有する、コンピュータ・システムを示すシステム構造図である。
【図2】ネットワークから、本発明の作業負荷マネージャにより管理されるサーバ・アドレス空間へのクライアント作業要求の流れを示す図である。
【図3】資源ボトルネックを選択するために使用される状態データを示す図である。
【図4】ボトルネック発見機能の論理フローを示すフローチャートである。
【図5】サーバの数を増加することにより、改善された性能をアクセスするステップのフローチャートである。
【図6】キュー準備完了ユーザ平均のサンプル・グラフである。
【図7】キュー遅延のサンプル・グラフである。
【図8】クラスタ内のどこかに、キュー上の各要求を実行可能な少なくとも1つのサーバが存在することを保証するプロシージャを示す図である。
【図9】サーバを始動すべきクラスタ内の最善のシステムを決定するプロシージャを示す図である。
【図10】ドナーへの影響が最も小さいシステムを見い出すプロシージャを示す図である。
【符号の説明】
90 クラスタ
100 コンピュータ・システム
101 オペレーティング・システム
102 ディスパッチャ
105 作業負荷マネージャ(WLM)
106 クラス・テーブル・エントリ
107 サーバの数
110 応答時間目標
111 実行速度目標
112 システム資源マネージャ(SRM)
113 サンプル・データ
114 多重システム目標駆動型制御装置(MGDPC)
117 ボトルネック発見手段
118 固定手段
123 ドナー選択手段
124 ネット値手段
125 サンプル・データ履歴
126 応答時間履歴
141 性能目標
151 多重システム性能指標
152 ローカル性能指標
155 データ伝送機構
157 リモート応答時間履歴
158 リモート速度履歴
160 作業マネージャ
161 キュー
162 作業要求
163 サーバ
164 アドレス空間
Claims (7)
- 情報処理システムのクラスタ内で、入来作業要求がキューに配置され、前記システム上の1つ以上のサーバにより処理されるものにおいて、前記キュー内の各作業要求が親和性を持たない前記クラスタのサブセット上に、前記作業要求のサービス・クラスの目標を満たす上で十分なサーバが存在する場合においてもそれぞれの前記作業要求に対するサーバの可用性を保証する方法であって、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在するか否かを決定するステップと、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在すると決定された場合、前記作業要求が親和性を有する前記サブセット内のシステム上で、前記キューに対してサーバを始動するステップと
を含む、方法。 - 前記決定するステップが周期的インタバルで実行される、請求項1記載の方法。
- 異なるサービス・クラスに割当てられる作業要求が、異なるキューに配置され、前記決定するステップが前記キューの各々に対して実行される、請求項1記載の方法。
- 前記決定するステップが、前記クラスタ内の各システムにより実行される、請求項1記載の方法。
- 前記決定するステップが、
前記キューが前記システム上にサーバを有するか否かを決定するステップと、
前記キューが前記システム上にサーバを有さない場合、前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在するか否かを決定するステップと
を含む、請求項4記載の方法。 - マシンにより読出され、前記マシンにより実行されて、請求項1記載の方法を実行する命令のプログラムを実現する、プログラム記憶装置。
- 情報処理システムのクラスタ内で、入来作業要求がキューに配置され、前記システム上の1つ以上のサーバにより処理されるものにおいて、前記キュー内の各作業要求が親和性を持たない前記クラスタのサブセット上に、前記作業要求のサービス・クラスの目標を満たす上で十分なサーバが存在する場合においてもそれぞれの前記作業要求に対するサーバの可用性を保証する装置であって、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在するか否かを決定する手段と、
前記キューに対してサーバを有さない前記クラスタのサブセットだけに親和性を有する作業要求が、前記キュー内に存在すると決定された場合、前記作業要求が親和性を有する前記サブセット内のシステム上で、前記キューに対してサーバを始動する手段と
を含む、装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/038,573 US6230183B1 (en) | 1998-03-11 | 1998-03-11 | Method and apparatus for controlling the number of servers in a multisystem cluster |
US09/038573 | 1998-03-18 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11035205A Division JP3121584B2 (ja) | 1998-03-11 | 1999-02-15 | 多重システム・クラスタ内のサーバの数を制御する方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000353103A JP2000353103A (ja) | 2000-12-19 |
JP4028674B2 true JP4028674B2 (ja) | 2007-12-26 |
Family
ID=21900697
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11035205A Expired - Fee Related JP3121584B2 (ja) | 1998-03-11 | 1999-02-15 | 多重システム・クラスタ内のサーバの数を制御する方法及び装置 |
JP2000126482A Expired - Lifetime JP4028674B2 (ja) | 1998-03-11 | 2000-04-26 | 多重システム・クラスタ内のサーバの数を制御する方法及び装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11035205A Expired - Fee Related JP3121584B2 (ja) | 1998-03-11 | 1999-02-15 | 多重システム・クラスタ内のサーバの数を制御する方法及び装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6230183B1 (ja) |
EP (1) | EP0942363B1 (ja) |
JP (2) | JP3121584B2 (ja) |
KR (1) | KR100327651B1 (ja) |
Families Citing this family (178)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9603582D0 (en) | 1996-02-20 | 1996-04-17 | Hewlett Packard Co | Method of accessing service resource items that are for use in a telecommunications system |
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 |
US6560649B1 (en) * | 1999-02-10 | 2003-05-06 | Avaya Technology Corp. | Hierarchical service level remediation for competing classes based upon achievement of service level goals |
US6587860B1 (en) * | 1999-03-31 | 2003-07-01 | International Business Machines Corporation | Apparatus and method for tracking access to data resources in a cluster environment |
US7756830B1 (en) | 1999-03-31 | 2010-07-13 | International Business Machines Corporation | Error detection protocol |
US6470406B1 (en) * | 1999-06-25 | 2002-10-22 | International Business Machines Corporation | Managing isochronous processes in a heterogenous work environment |
US6732139B1 (en) * | 1999-08-16 | 2004-05-04 | International Business Machines Corporation | Method to distribute programs using remote java objects |
US6938256B2 (en) * | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
CA2328335A1 (en) * | 2000-01-24 | 2001-07-24 | Avaya Technology Corp. | Automated transaction distribution system and method allowing selection of agents by transaction initiators |
US8195823B2 (en) | 2000-04-17 | 2012-06-05 | Circadence Corporation | Dynamic network link acceleration |
US20110128972A1 (en) | 2000-04-17 | 2011-06-02 | Randy Thornton | Peer to peer dynamic network link acceleration |
US7043563B2 (en) | 2000-04-17 | 2006-05-09 | Circadence Corporation | Method and system for redirection to arbitrary front-ends in a communication system |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US8024481B2 (en) | 2000-04-17 | 2011-09-20 | Circadence Corporation | System and method for reducing traffic and congestion on distributed interactive simulation networks |
US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
US8065399B2 (en) | 2000-04-17 | 2011-11-22 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US7844504B1 (en) | 2000-04-27 | 2010-11-30 | Avaya Inc. | Routing based on the contents of a shopping cart |
US7565651B1 (en) * | 2000-05-25 | 2009-07-21 | Oracle International Corporation | Parallel task scheduling system for computers |
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 |
JP2004519749A (ja) * | 2000-07-17 | 2004-07-02 | ギャラクティック・コンピューティング・コーポレイション | 離隔するアカウント/サイトを越えて動的にホストサービス管理を提供する方法及びシステム |
US7698710B1 (en) * | 2000-10-19 | 2010-04-13 | International Business Machines Corporation | System and method to improve service in a group of servers |
US20020078117A1 (en) * | 2000-12-19 | 2002-06-20 | Wang Baldonado Michelle Q. | System for creating efficient multi-step document conversion services |
US7197749B2 (en) * | 2000-12-19 | 2007-03-27 | Xerox Corporation | Method and system for executing batch jobs by delegating work to independent service providers |
JP4230673B2 (ja) * | 2001-02-22 | 2009-02-25 | 富士通株式会社 | サービス管理装置 |
EP1239369A1 (de) | 2001-03-07 | 2002-09-11 | Siemens Aktiengesellschaft | Fehlertolerante Rechneranordnung und Verfahren zum Betrieb einer derartigen Anordnung |
US7336779B2 (en) * | 2002-03-15 | 2008-02-26 | Avaya Technology Corp. | Topical dynamic chat |
AU2002302464A1 (en) | 2002-03-25 | 2003-10-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and devices for dynamic management of a server application on a server platform |
US20030217131A1 (en) * | 2002-05-17 | 2003-11-20 | Storage Technology Corporation | Processing distribution using instant copy |
US7080378B1 (en) * | 2002-05-17 | 2006-07-18 | Storage Technology Corporation | Workload balancing using dynamically allocated virtual servers |
GB0220846D0 (en) * | 2002-09-07 | 2002-10-16 | Ibm | Remote dynamic configuration of a web server to facilitate capacity on demand |
US7107272B1 (en) | 2002-12-02 | 2006-09-12 | Storage Technology Corporation | Independent distributed metadata system and method |
US20040128269A1 (en) * | 2002-12-27 | 2004-07-01 | Milligan Charles A. | System and method for managing data through families of inter-related metadata tables |
JP4087271B2 (ja) * | 2003-03-19 | 2008-05-21 | 株式会社日立製作所 | 代理応答装置およびネットワークシステム |
WO2004092971A1 (ja) * | 2003-04-14 | 2004-10-28 | Fujitsu Limited | サーバ割当制御方法 |
US20050193113A1 (en) * | 2003-04-14 | 2005-09-01 | Fujitsu Limited | Server allocation control method |
US7472246B2 (en) * | 2003-04-30 | 2008-12-30 | International Business Machines Corporation | Method and system for automated memory reallocating and optimization between logical partitions |
US7478393B2 (en) * | 2003-04-30 | 2009-01-13 | International Business Machines Corporation | Method for marketing to instant messaging service users |
US7441033B2 (en) | 2003-08-14 | 2008-10-21 | Oracle International Corporation | On demand node and server instance allocation and de-allocation |
CN100547583C (zh) | 2003-08-14 | 2009-10-07 | 甲骨文国际公司 | 数据库的自动和动态提供的方法 |
US7664847B2 (en) | 2003-08-14 | 2010-02-16 | Oracle International Corporation | Managing workload by service |
US20060064400A1 (en) | 2004-09-21 | 2006-03-23 | Oracle International Corporation, A California Corporation | Methods, systems and software for identifying and managing database work |
US8365193B2 (en) | 2003-08-14 | 2013-01-29 | Oracle International Corporation | Recoverable asynchronous message driven processing in a multi-node system |
US7552171B2 (en) | 2003-08-14 | 2009-06-23 | Oracle International Corporation | Incremental run-time session balancing in a multi-node system |
US7937493B2 (en) | 2003-08-14 | 2011-05-03 | Oracle International Corporation | Connection pool use of runtime load balancing service performance advisories |
US7953860B2 (en) | 2003-08-14 | 2011-05-31 | Oracle International Corporation | Fast reorganization of connections in response to an event in a clustered computing system |
US7873684B2 (en) | 2003-08-14 | 2011-01-18 | Oracle International Corporation | Automatic and dynamic provisioning of databases |
US7516221B2 (en) | 2003-08-14 | 2009-04-07 | Oracle International Corporation | Hierarchical management of the dynamic allocation of resources in a multi-node system |
US7437460B2 (en) | 2003-08-14 | 2008-10-14 | Oracle International Corporation | Service placement for enforcing performance and availability levels in a multi-node system |
US7437459B2 (en) | 2003-08-14 | 2008-10-14 | Oracle International Corporation | Calculation of service performance grades in a multi-node environment that hosts the services |
CA2533744C (en) * | 2003-08-14 | 2010-01-12 | Oracle International Corporation | Hierarchical management of the dynamic allocation of resources in a multi-node system |
US8094804B2 (en) | 2003-09-26 | 2012-01-10 | Avaya Inc. | Method and apparatus for assessing the status of work waiting for service |
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 |
WO2005041038A1 (ja) | 2003-10-29 | 2005-05-06 | Ibm Japan, Ltd. | 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体 |
US7886055B1 (en) | 2005-04-28 | 2011-02-08 | Hewlett-Packard Development Company, L.P. | Allocating resources in a system having multiple tiers |
US7581008B2 (en) * | 2003-11-12 | 2009-08-25 | Hewlett-Packard Development Company, L.P. | System and method for allocating server resources |
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 |
US8311974B2 (en) | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
US7885401B1 (en) | 2004-03-29 | 2011-02-08 | Avaya Inc. | Method and apparatus to forecast the availability of a resource |
US8000989B1 (en) | 2004-03-31 | 2011-08-16 | Avaya Inc. | Using true value in routing work items to resources |
US7328265B2 (en) * | 2004-03-31 | 2008-02-05 | International Business Machines Corporation | Method and system to aggregate evaluation of at least one metric across a plurality of resources |
US7953859B1 (en) | 2004-03-31 | 2011-05-31 | Avaya Inc. | Data model of participation in multi-channel and multi-party contacts |
US7734032B1 (en) | 2004-03-31 | 2010-06-08 | Avaya Inc. | Contact center and method for tracking and acting on one and done customer contacts |
US8554806B2 (en) | 2004-05-14 | 2013-10-08 | Oracle International Corporation | Cross platform transportable tablespaces |
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 |
US7861246B2 (en) * | 2004-06-17 | 2010-12-28 | Platform Computing Corporation | Job-centric scheduling in a grid environment |
US7299231B2 (en) | 2004-07-29 | 2007-11-20 | International Business Machines Corporation | Method and system of subsetting a cluster of servers |
JP4485428B2 (ja) * | 2004-08-02 | 2010-06-23 | 株式会社ソニー・コンピュータエンタテインメント | ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム |
US8122201B1 (en) * | 2004-09-21 | 2012-02-21 | Emc Corporation | Backup work request processing by accessing a work request of a data record stored in global memory |
US7529724B1 (en) * | 2004-09-21 | 2009-05-05 | Emc Corporation | Servicing work requests between units of a storage device |
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 |
JP4180638B2 (ja) * | 2004-10-28 | 2008-11-12 | 富士通株式会社 | 分析方法及び装置 |
US7818386B2 (en) | 2004-12-30 | 2010-10-19 | Oracle International Corporation | Repeatable message streams for message queues in distributed systems |
US7779418B2 (en) | 2004-12-30 | 2010-08-17 | Oracle International Corporation | Publisher flow control and bounded guaranteed delivery for message queues |
US9176772B2 (en) | 2005-02-11 | 2015-11-03 | Oracle International Corporation | Suspending and resuming of sessions |
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 |
JP2006338322A (ja) * | 2005-06-02 | 2006-12-14 | Hitachi Ltd | オンラインのリソース割当て方法 |
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 |
US8116446B1 (en) | 2005-10-03 | 2012-02-14 | Avaya Inc. | Agent driven work item awareness for tuning routing engine work-assignment algorithms |
US7822587B1 (en) | 2005-10-03 | 2010-10-26 | Avaya Inc. | Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior |
US8073129B1 (en) | 2005-10-03 | 2011-12-06 | Avaya Inc. | Work item relation awareness for agents during routing engine driven sub-optimal work assignments |
US10572879B1 (en) | 2005-10-03 | 2020-02-25 | Avaya Inc. | Agent driven media-agnostic work item grouping and sharing over a consult medium |
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 |
US8196150B2 (en) | 2005-10-07 | 2012-06-05 | Oracle International Corporation | Event locality using queue services |
US7526409B2 (en) | 2005-10-07 | 2009-04-28 | Oracle International Corporation | Automatic performance statistical comparison between two periods |
US8238541B1 (en) | 2006-01-31 | 2012-08-07 | Avaya Inc. | Intent based skill-set classification for accurate, automatic determination of agent skills |
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 |
US9785477B2 (en) * | 2006-06-05 | 2017-10-10 | International Business Machines Corporation | Providing a policy hierarchy in an enterprise data processing system |
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 |
US8811597B1 (en) | 2006-09-07 | 2014-08-19 | Avaya Inc. | Contact center performance prediction |
US8938063B1 (en) | 2006-09-07 | 2015-01-20 | Avaya Inc. | Contact center service monitoring and correcting |
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 |
US20080077932A1 (en) * | 2006-09-25 | 2008-03-27 | International Business Machines Corporation | Mechanism for Automatically Managing the Resource Consumption of Transactional Workloads |
US8909599B2 (en) | 2006-11-16 | 2014-12-09 | Oracle International Corporation | Efficient migration of binary XML across databases |
US20080120164A1 (en) * | 2006-11-17 | 2008-05-22 | Avaya Technology Llc | Contact center agent work awareness algorithm |
US20080162246A1 (en) * | 2007-01-03 | 2008-07-03 | International Business Machines Corporation | Method and system for contract based call center and/or contact center management |
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 |
US8504534B1 (en) | 2007-09-26 | 2013-08-06 | Avaya Inc. | Database structures and administration techniques for generalized localization of database items |
US8296418B2 (en) * | 2008-01-21 | 2012-10-23 | International Business Machines Corporation | Optimized modification of a clustered computer system |
US8856182B2 (en) | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8831206B1 (en) | 2008-05-12 | 2014-09-09 | Avaya Inc. | Automated, data-based mechanism to detect evolution of employee skills |
US8385532B1 (en) | 2008-05-12 | 2013-02-26 | Avaya Inc. | Real-time detective |
US8131872B2 (en) * | 2008-05-30 | 2012-03-06 | International Business Machines Corporation | Affinity-based transaction processing |
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 |
KR20100035394A (ko) * | 2008-09-26 | 2010-04-05 | 삼성전자주식회사 | 멀티 프로세싱에서의 메모리 관리장치 및 그 방법 |
US9965333B2 (en) | 2009-04-13 | 2018-05-08 | International Business Machines Corporation | Automated workload selection |
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 |
US8238538B2 (en) | 2009-05-28 | 2012-08-07 | Comcast Cable Communications, Llc | Stateful home phone service |
US8644491B2 (en) * | 2009-08-21 | 2014-02-04 | Avaya Inc. | Mechanism for multisite service state description |
US8881729B2 (en) | 2009-09-18 | 2014-11-11 | 3M Innovative Properties Company | Horizontal flat-fold filtering face-piece respirator having indicia of symmetry |
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 |
US9516069B2 (en) | 2009-11-17 | 2016-12-06 | Avaya Inc. | Packet headers as a trigger for automatic activation of special-purpose softphone applications |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9128705B2 (en) | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
US8775830B2 (en) | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US8909962B2 (en) | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8689037B2 (en) | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US9563250B2 (en) | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US8869160B2 (en) * | 2009-12-24 | 2014-10-21 | International Business Machines Corporation | Goal oriented performance management of workload utilizing accelerators |
US9165086B2 (en) | 2010-01-20 | 2015-10-20 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
US8306212B2 (en) | 2010-02-19 | 2012-11-06 | Avaya Inc. | Time-based work assignments in automated contact distribution |
GB201008819D0 (en) * | 2010-05-26 | 2010-07-14 | Zeus Technology Ltd | Apparatus for routing requests |
JP5939740B2 (ja) | 2011-04-11 | 2016-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 動的にリソースを割り当てる方法、システム及びプログラム |
US8675860B2 (en) | 2012-02-16 | 2014-03-18 | Avaya Inc. | Training optimizer for contact center agents |
US8650538B2 (en) | 2012-05-01 | 2014-02-11 | Concurix Corporation | Meta garbage collection for functional code |
US8726255B2 (en) | 2012-05-01 | 2014-05-13 | Concurix Corporation | Recompiling with generic to specific replacement |
US9417935B2 (en) | 2012-05-01 | 2016-08-16 | Microsoft Technology Licensing, Llc | Many-core process scheduling to maximize cache usage |
US8595743B2 (en) | 2012-05-01 | 2013-11-26 | Concurix Corporation | Network aware process scheduling |
US8495598B2 (en) | 2012-05-01 | 2013-07-23 | Concurix Corporation | Control flow graph operating system configuration |
US8700838B2 (en) | 2012-06-19 | 2014-04-15 | Concurix Corporation | Allocating heaps in NUMA systems |
US9047196B2 (en) | 2012-06-19 | 2015-06-02 | Concurix Corporation | Usage aware NUMA process scheduling |
US8707326B2 (en) | 2012-07-17 | 2014-04-22 | Concurix Corporation | Pattern matching process scheduler in message passing environment |
US8793669B2 (en) | 2012-07-17 | 2014-07-29 | Concurix Corporation | Pattern extraction from executable code in message passing environments |
US9575813B2 (en) | 2012-07-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Pattern matching process scheduler with upstream optimization |
US9043788B2 (en) | 2012-08-10 | 2015-05-26 | Concurix Corporation | Experiment manager for manycore systems |
US8656135B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed prior to execution |
US8656134B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed on executing code |
US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
US9665474B2 (en) | 2013-03-15 | 2017-05-30 | Microsoft Technology Licensing, Llc | Relationships derived from trace data |
US9537742B2 (en) * | 2013-06-25 | 2017-01-03 | Microsoft Technology Licensing Llc | Automatic adjustment of application launch endpoints |
CN106897140B (zh) * | 2015-12-21 | 2021-07-13 | 中国移动通信集团辽宁有限公司 | 一种输出调节方法、装置和系统 |
US10540217B2 (en) | 2016-09-16 | 2020-01-21 | Oracle International Corporation | Message cache sizing |
US10474653B2 (en) | 2016-09-30 | 2019-11-12 | Oracle International Corporation | Flexible in-memory column store placement |
US12007941B2 (en) | 2017-09-29 | 2024-06-11 | Oracle International Corporation | Session state tracking |
US10277524B1 (en) * | 2018-02-23 | 2019-04-30 | Capital One Services, Llc | Monitoring data streams and scaling computing resources based on the data streams |
US10754720B2 (en) * | 2018-09-26 | 2020-08-25 | International Business Machines Corporation | Health check diagnostics of resources by instantiating workloads in disaggregated data centers |
US10838803B2 (en) | 2018-09-26 | 2020-11-17 | International Business Machines Corporation | Resource provisioning and replacement according to a resource failure analysis in disaggregated data centers |
US11188408B2 (en) | 2018-09-26 | 2021-11-30 | International Business Machines Corporation | Preemptive resource replacement according to failure pattern analysis in disaggregated data centers |
US10831580B2 (en) | 2018-09-26 | 2020-11-10 | International Business Machines Corporation | Diagnostic health checking and replacement of resources in disaggregated data centers |
US10761915B2 (en) | 2018-09-26 | 2020-09-01 | International Business Machines Corporation | Preemptive deep diagnostics and health checking of resources in disaggregated data centers |
US11050637B2 (en) | 2018-09-26 | 2021-06-29 | International Business Machines Corporation | Resource lifecycle optimization in disaggregated data centers |
US11936739B2 (en) | 2019-09-12 | 2024-03-19 | Oracle International Corporation | Automated reset of session state |
US11556446B2 (en) * | 2020-09-25 | 2023-01-17 | International Business Machines Corporation | Programmatic performance anomaly detection |
CN113746887B (zh) * | 2020-11-05 | 2024-06-18 | 北京沃东天骏信息技术有限公司 | 一种跨集群数据请求处理方法、设备及存储介质 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4468736A (en) | 1982-06-08 | 1984-08-28 | Burroughs Corporation | Mechanism for creating dependency free code for multiple processing elements |
US5253342A (en) * | 1989-01-18 | 1993-10-12 | International Business Machines Corporation | Intermachine communication services |
JP2967999B2 (ja) | 1989-07-06 | 1999-10-25 | 富士通株式会社 | プロセスの実行多重度制御処理装置 |
US5170466A (en) * | 1989-10-10 | 1992-12-08 | Unisys Corporation | Storage/retrieval system for document |
EP0422310A1 (en) | 1989-10-10 | 1991-04-17 | International Business Machines Corporation | Distributed mechanism for the fast scheduling of shared objects |
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 |
US5504894A (en) | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
US5414845A (en) | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
JPH0628323A (ja) * | 1992-07-06 | 1994-02-04 | Nippon Telegr & Teleph Corp <Ntt> | プロセス実行制御方法 |
US5675733A (en) | 1992-11-30 | 1997-10-07 | International Business Machines Corporation | Statistical analysis and display of reception status of electronic messages |
JPH06332834A (ja) * | 1993-05-25 | 1994-12-02 | Hitachi Ltd | リモートプロシジャコール方法 |
US5537542A (en) | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
US5473773A (en) | 1994-04-04 | 1995-12-05 | International Business Machines Corporation | Apparatus and method for managing a data processing system workload according to two or more distinct processing goals |
EP0694837A1 (en) | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Dynamic workload balancing |
JPH0863441A (ja) * | 1994-08-26 | 1996-03-08 | Hitachi Ltd | 並列システムの運用方法 |
US5675739A (en) * | 1995-02-03 | 1997-10-07 | International Business Machines Corporation | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
EP0725340A3 (en) * | 1995-02-03 | 1996-10-02 | Ibm | Apparatus and method for managing the workload of a distributed data processing system by limiting the consumption of processing capacity |
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 |
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 |
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 |
US5666486A (en) | 1995-06-23 | 1997-09-09 | Data General Corporation | Multiprocessor cluster membership manager framework |
JP2776338B2 (ja) | 1995-10-03 | 1998-07-16 | 日本電気株式会社 | ジョブスケジューリング方式 |
JP3754481B2 (ja) | 1996-02-02 | 2006-03-15 | 富士通株式会社 | 複合計算機システム |
US5784697A (en) | 1996-03-27 | 1998-07-21 | International Business Machines Corporation | Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture |
US5925102A (en) * | 1997-03-28 | 1999-07-20 | International Business Machines Corporation | Managing processor resources in a multisystem environment in order to provide smooth real-time data streams, while enabling other types of applications to be processed concurrently |
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 |
-
1998
- 1998-03-11 US US09/038,573 patent/US6230183B1/en not_active Expired - Lifetime
-
1999
- 1999-02-15 JP JP11035205A patent/JP3121584B2/ja not_active Expired - Fee Related
- 1999-02-22 EP EP99301244A patent/EP0942363B1/en not_active Expired - Lifetime
- 1999-03-05 KR KR1019990007317A patent/KR100327651B1/ko not_active IP Right Cessation
-
2000
- 2000-04-26 JP JP2000126482A patent/JP4028674B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR19990077640A (ko) | 1999-10-25 |
JP2000353103A (ja) | 2000-12-19 |
EP0942363A2 (en) | 1999-09-15 |
KR100327651B1 (ko) | 2002-03-08 |
JPH11282695A (ja) | 1999-10-15 |
EP0942363A3 (en) | 2000-03-29 |
US6230183B1 (en) | 2001-05-08 |
EP0942363B1 (en) | 2011-08-31 |
JP3121584B2 (ja) | 2001-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4028674B2 (ja) | 多重システム・クラスタ内のサーバの数を制御する方法及び装置 | |
US5974462A (en) | Method and apparatus for controlling the number of servers in a client/server system | |
US11068301B1 (en) | Application hosting in a distributed application execution system | |
USRE44686E1 (en) | Dynamically modifying the resources of a virtual server | |
US20180246771A1 (en) | Automated workflow selection | |
US8959515B2 (en) | Task scheduling policy for limited memory systems | |
US7899966B2 (en) | Methods and system for interrupt distribution in a multiprocessor system | |
US7734676B2 (en) | Method for controlling the number of servers in a hierarchical resource environment | |
US7877482B1 (en) | Efficient application hosting in a distributed application execution system | |
US8078674B2 (en) | Server device operating in response to received request | |
EP1672495B1 (en) | Grid parallel execution | |
JP2007207219A (ja) | 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム | |
US8914582B1 (en) | Systems and methods for pinning content in cache | |
JP2012094030A (ja) | 計算機システム及び処理制御方法 | |
US11809218B2 (en) | Optimal dispatching of function-as-a-service in heterogeneous accelerator environments | |
JP2007328413A (ja) | 負荷分散方法 | |
Nicodemus et al. | Managing vertical memory elasticity in containers | |
US5511220A (en) | Multi-user computer system with a clock driven batch dispatching mechanism | |
CA2316643C (en) | Fair assignment of processing resources to queued requests | |
US11520638B1 (en) | Combined active and preinitialized resource management for rapid autoscaling | |
JP2003186686A (ja) | リソース制御装置、方法及び記憶媒体 | |
Hui et al. | A delay scheduling strategy for dynamic load balancing schedulers | |
Deese | Evaluating and Improving CICS Performance in MVS (Goal Mode) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20040304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040305 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050203 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050218 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050603 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20070306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131019 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |