JP5050854B2 - 資源量計算システム、方法およびプログラム - Google Patents

資源量計算システム、方法およびプログラム Download PDF

Info

Publication number
JP5050854B2
JP5050854B2 JP2007536528A JP2007536528A JP5050854B2 JP 5050854 B2 JP5050854 B2 JP 5050854B2 JP 2007536528 A JP2007536528 A JP 2007536528A JP 2007536528 A JP2007536528 A JP 2007536528A JP 5050854 B2 JP5050854 B2 JP 5050854B2
Authority
JP
Japan
Prior art keywords
server
response time
per unit
load
amount
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.)
Active
Application number
JP2007536528A
Other languages
English (en)
Other versions
JPWO2007034826A1 (ja
Inventor
慎二 中台
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007536528A priority Critical patent/JP5050854B2/ja
Publication of JPWO2007034826A1 publication Critical patent/JPWO2007034826A1/ja
Application granted granted Critical
Publication of JP5050854B2 publication Critical patent/JP5050854B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Description

本発明は、資源量計算システム、方法およびプログラムに関し、特にサービス品質を目標とするレベルに近づけるため、あるいはアクセス数増加によるサービス品質の劣化を抑制するための資源量計算システム、方法およびプログラムに関する。
ネットワーク上で、コンテンツやアプリケーション等のサービスを提供するサーバには、時にサービス消費者から大きな負荷が与えられる。こういったサーバに対するサービスリクエスト負荷を軽減する方法として、サーバ負荷分散装置を利用する方法が知られている。サーバ負荷分散装置に、サービスが配備されたサーバの宛先アドレスを登録することで、サーバ負荷分散装置が受信した各種サービスのリクエストは、登録されたサーバに転送、またはリダイレクトされ、リクエストによる負荷が分散される。
リクエストの転送、あるいはリダイレクトの際に、サーバ負荷分散装置に到来したリクエストをサーバに割り振る方式として、どのサーバにも均一にリクエストが割り振られるラウンドロビン方式と、各サーバの負荷計測結果に応じて、リクエストを割り振る重みを変更する重み付きラウンドロビン方式などがある。ここで、「重み」とは、リクエストを分配する割合を意味する。重み付きラウンドロビン方式を利用することで、サーバ性能が不均一な場合であってもリクエスト負荷を均等に割り当てることが可能となる。また、この負荷分散装置に登録する宛先アドレスのリストを変化させることでサーバ一台あたりの負荷を変化させることが可能である。すなわち、宛先アドレスをリストに追加したり削除したりすることによって、1サーバあたりの負荷が増減する。
サーバ資源管理システムの一例が、米国特許出願公開公報第2004/0181794号、及び、E.Lassettre 他,“Dynamic Surge Protection:An Approach to Handling Unexpected Workload Surges with Resource Actions that Have Lead Times”,「DSOM2003,LNCS 2867」,Springer出版,2003年10月,p.82−92に記載されている。図18は、従来のサーバ資源管理システムの構成例を示すブロック図である。
図18に示すように、従来のサーバ資源管理システムは、管理対象システム110とそれを管理する管理システム100とを備える。管理対象システム110は、特定のサービスを提供するアプリケーションサーバ111と、複数のサービスに利用され得るプールサーバ112とを含む。管理システム100は、サービスのレスポンスタイムやスループットといったアプリケーションサーバの負荷を監視する監視手段101と、過去の負荷のデータから将来の負荷を予測する負荷予測手段102と、この予測される負荷に対し、サービス管理者により指定されるサービスレベル目標値104を満たすために必要な資源量を計算する資源容量計画手段103と、サーバを決定するサーバ決定手段105と、そのサーバや関連するネットワークの構成を変更するプロビジョニング手段106とを含む。
このような構成を有する従来のサーバ資源管理システムは次のように動作する。すなわち、アプリケーションサーバ111に対して要求を行うクライアントが増加すると、定常的にアプリケーションサーバの負荷を監視している監視手段101は、その負荷情報を負荷予測手段102に送信する。負荷予測手段102は、プロビジョニング手段106がサーバをプールサーバ112からアプリケーションサーバ111に変更するのにかかる時間分だけ将来の時間における負荷を予測し、資源容量計画手段103に送信する。資源容量計画手段103は、将来予測される負荷をアプリケーションサーバ501が受け付けた際に、サービス管理者が設定するサービスレベル目標値104を満たすことができるか否かを判断する。サービスレベル目標値104を満たすことができる場合には、サーバ決定手段105に対して何もデータを送信せず、満たすことができないと判断された場合には、これを満たすために必要なサーバ台数を算出し、サーバ決定手段105に対して送信する。サーバ決定手段105は、その台数分だけプールサーバ112の中からサーバを選択し、プロビジョニング手段106にそのサーバ情報を送信する。プロビジョニング手段106は、指定されたプールサーバ112内のサーバをアプリケーションサーバ111に設定変更する。このような動作により、従来システムは突発的なリクエスト数の増加が発生しても、アプリケーションサーバ111のサービスレベルをサービスレベル目標値104にあわせることが可能となる。なお、以下の説明では、サービスが単位時間あたりに受け付けるリクエスト数と処理するリクエスト数とをスループットと表現する。
従来のサーバ資源管理システムでは、管理対象のアプリケーションサーバやプールサーバの性能が均一でない環境下では、突発的なアクセス数増加が発生した場合にサービスレベルが低下してしまう、もしくは稼働率が低下してしまうという問題がある。
その理由は、サービスレベル維持に必要な資源としてサーバ台数のみが算出され、サーバ毎の計算能力の違いが考慮されていないことにある。サーバ台数のみが算出される必要資源量の計算過程において考慮されるサーバ性能が、サーバ資源管理システムに存在しているサーバ環境のサーバ性能と異なると、必要以上に高性能なサーバが割り当てられる、もしくは性能不十分なサーバが割り当てられてしまうという問題がある。
従来のサーバ資源管理システムでは、突発的なアクセス数増加が発生した場合に、サービスリクエストの負荷を予測する精度が悪くなり、適切な資源量を有するサーバ資源を割り当てられず、サービスレベルの劣化や稼働率の低下が起こってしまうという問題もある。
その理由は、以下の通りである。従来方式ではサーバの台数で資源量の調整を行うため、サーバの構成変更をする際に複数台のサーバを制御することが多くなる。複数のサーバの制御を平行に実行することは可能であるが、負荷分散装置等の共有資源を制御する際には逐次的に処理が行われる必要があるため、サーバ制御に費やされる時間は、制御するサーバの台数に依存して決まる。従来方式では、予測の段階でこの制御時間に相当する時間分だけ将来のリクエスト数を予測するが、その予測結果によって予測すべき時刻が変化してしまうため、予測の精度が悪くなる。
そこで、本発明は、突発的なアクセス数増加が発生した場合、あるいはサービスレベルの監視結果と目標値が乖離している場合に、必要十分なサーバ性能仕様と台数との組み合わせを計算することのできる資源量計算システム、資源量計算方法および資源量計算プログラムを提供することを目的とする。
本発明は、第1の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段と、前記監視手段によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出手段と、サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段と、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更手段とを備えたことを特徴とする資源量計算システムを提供する。
本発明は、第2の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段と、前記監視手段によって取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測手段と、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段と、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更手段とを備えたことを特徴とする資源量計算システムを提供する。
第2の視点の資源量計算システムでは、差分量算出手段は、前記監視手段によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する機能を更に有してもよい。
本発明の第1及び第2の視点の計算機システムでは、単位時間当たりの負荷は、例えば、単位時間あたりのリクエスト数である。
差分量算出手段は、あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出してもよい。
サーバ選択手段は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、設定変更手段は、差分量が正の値である場合に、サーバ選択手段によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、サーバ選択手段によって選択された実行サーバが特定のサービスの実行を停止するように設定してもよい。
本発明は、第3の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、サーバの性能を示す性能情報をサーバごとに記憶するステップと、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップと、サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有することを特徴とする資源量計算方法を提供する。
本発明は、第4の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、サーバの性能を示す性能情報をサーバごとに記憶するステップと、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、前記取得ステップで取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出するステップと、前記算出ステップで、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、設定変更手段が、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有することを特徴とする資源量計算方法を提供する。
第4の視点の資源量計算方法は、前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップを更に有していてもよい。
第3及び第4の視点の資源量計算方法では、数量モデル記憶手段が、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶するように構成されていてもよい。
本発明は、第5の視点において、クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理と、サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理とを実行させるための資源量計算プログラムを提供する。
本発明は、第6の視点において、クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量算出する差分量予測処理と、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理とを実行させるための資源量計算プログラムを提供する。
本発明の第6の視点のプログラムでは、前記コンピュータに、取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理を更に実行させてもよい。
本発明の第5及び第6の視点のプログラムでは、数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させるようにしてもよい。
あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出してもよい。
差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、差分量が正の値である場合に、選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、選択された実行サーバが特定のサービスの実行を停止するように設定してもよい。
本発明によるサーバ必要資源量計算システムは、管理対象のサービスが配備されたサーバを監視する監視手段や、共有のプールサーバを当該サービス向けに構成変更するプロビジョニング手段と共に利用される。そして、サーバ選択手段と、サービス特性記憶部と、資源性能仕様記憶部とを備え、サービスレベル目標値を維持する目的に利用する際には、レスポンスタイム差分演算手段も備える。
そして、サーバ選択手段は、与えられたスループット変化分から、そのスループット分を処理可能なサーバの組み合わせを選択する。入力として受け付けるスループット変化分は、レスポンスタイム差分演算手段が、レスポンスタイムの監視結果と目標値との差分から、サービス特性記憶部に格納されたレスポンスタイムとスループットとの関係を用いてスループット変化分に換算したものであったり、あるいはスループットの監視結果から予測されるスループット変化分であったりする。
サーバ選択手段がスループット変化分を相殺するようなサーバの組み合わせを選ぶには、資源性能仕様記憶部に格納されたプールサーバ内のサーバ性能をもとに、スループット変化分に相当するサーバを決定する。このような構成を採用することにより本発明の目的を達成することができる。
本発明によれば、管理対象のサーバが同一のサーバ性能仕様を有していない場合でも、突発的なサービス負荷の上昇があった際に、レスポンスタイムの低下や、サーバの稼働率の低下を防止することができるという効果がある。その理由は、本発明によりリクエスト数の増加を抑圧するために、もしくはサービスレベルの目標値と現状値との乖離を低減するために必要十分な性能・数のサーバを選択することができるためである。
また、突発的なサービス負荷の上昇があった際に、より適切な時刻におけるサービスリクエスト数を予測することになるため、レスポンスタイムの劣化や、サーバの稼働率の低下をより抑えることができる。その理由は、以下による。本発明では、必要なサーバの台数を算出するだけではなく、サーバの性能仕様も踏まえてサーバを選択するため、平行して制御するサーバ台数を確率的に減らすことができる。すなわち、構成変更に要する時間の分散を低くすることになるため、事前にサービスリクエスト数を予測すべき時刻をより適切に求めることができる。そのため、サービス負荷の上昇があった際に、より適切にサービスリクエスト数を予測することができる。
は、本発明によるサーバ資源管理システムの第1の実施の形態を示すブロック図である。 は、性能仕様情報の例を示すテーブルである。 は、サービス情報の例を示すテーブルである。 は、モデル情報の例を示す説明図である。 は、サーバ選択手段が性能仕様とスループットとの関係を示す数量モデルを取得するための情報を示す図である。 は、負荷予測手段がスループット変化分を算出する場合の本実施の形態の動作を示すフローチャートである。 レスポンスタイム差分演算/リクエスト数換算手段がスループット変化分を算出する場合の本実施の形態の動作を示すフローチャートである。 は、第1の実施の形態における信号伝達の流れを表すブロック線図である。 は、サーバ選択手段の動作を示すフローチャートである。 は、サーバ選択手段の動作を示すフローチャートである。 は、管理対象システムの構成例を示すブロック図である。 は、クラスタおよびプールサーバ用ドメインの性能仕様情報を例示するグラフである。 は、サーバ状態の特性を示すグラフである。 は、サービス情報の例を示すグラフである。 は、本発明によるサーバ資源管理システムの第2の実施の形態を示すブロック図である。 は、レスポンスタイムの目標値を時系列情報として入力した際の設定状況を示す線図である。 は、第2の実施の形態における信号伝達の流れを表すブロック線図である。 は、従来のサーバ資源管理システムの構成例を示すブロック図である。
[実施の形態1]
以下、本発明の第1の実施の形態を図面を参照して説明する。図1は、本発明によるサーバ資源管理システムの第1の実施の形態を示すブロック図である。図1に示すサーバ資源管理システムは、管理対象システム500と、管理対象システム500を管理する管理システム510と、管理システム510に対して管理対象サービスのサービスレベルを入力するサービスレベル入力手段530とを備える。
管理対象システム500は、インターネット等の通信ネットワーク551を介してクライアント540と通信可能である。管理システム510は、インターネット等の通信ネットワーク552および通信ネットワーク553を介して、それぞれ管理対象システム500およびサービスレベル入力手段530と通信可能に接続される。
管理対象システム500は、サービスアプリケーションが配備され、負荷分散装置によって割り当てられたサービスを実行するアプリケーションサーバ501と、特定のサービスアプリケーションには使われず、他のサービスと共有されるプールサーバ502と、アプリケーションに対するリクエストを各アプリケーションサーバに分散させる負荷分散装置503とを備える。
管理システム510は、アプリケーションサーバ501、プールサーバ502および負荷分散装置503を監視する監視手段511と、サービスの品質維持に必要なサーバを計算する資源容量計画手段520と、複数のサービスで共有されるプールサーバ502に特定のサービスアプリケーションプログラムの配備や、負荷分散装置503に対するサーバアドレスの登録などの構成制御を行うプロビジョニング手段513とを備える。管理システム510がサーバ装置で実現される場合には、監視手段511と資源容量計画手段520とプロビジョニング手段513とは、サーバ装置に搭載されるCPUが、ROM等の記憶手段に格納されている、それらの機能を実現するためのプログラムを実行することによって実現される。
さらに、資源容量計画手段520は、過去の負荷特性などを元に将来のリクエスト数等の負荷を予測する負荷予測手段525と、レスポンスタイム差分演算/リクエスト数換算手段(差分量算出/処理量算出手段)523と、サービス特性記憶部(数量モデル記憶手段)522と、資源性能仕様記憶部(性能情報記憶手段)521と、サーバ選択手段524とを備える。
資源性能仕様記憶部521は、あらかじめ図2に例示する性能仕様情報を格納する。性能仕様情報は、アプリケーションサーバおよびプールサーバ等のサーバ資源を一意に識別する資源IDと、サーバ資源に割り当てられているサービスを示すサービス割当(サービスID)と、サーバ資源の性能仕様1〜nとを含む情報である。サービス割当および性能仕様は、資源IDに対応付けられて格納される情報である。性能仕様1〜nは、例えば、CPUクロック数やメインメモリ容量などを示す1つまたは複数の情報である。
サービス特性記憶部522は、あらかじめサービス特性を示すサービス情報およびモデル情報を格納する。図3に例示するサービス情報は、サービスIDと、数量モデル(モデルID)と、係数と、定数とを含む情報である。図4に示すモデル情報は、各サーバ資源の性能仕様、各サーバ資源に到来する単位時間あたりのアクセス数を示すスループットおよびアクセス数に応じた平均的なレスポンスタイムの3つの状態の関係を示す数量モデルを含む情報である。
レスポンスタイムは、性能仕様およびスループットの関数として表される。これらの関係は、サービスに応じて、数量モデルのテンプレートと、そのモデルの係数ベクトルとで管理される。すなわち、図3に示すサービス情報と図4に示すモデル情報とから、各サービスに応じた数量モデルを得ることができる。なお、モデル情報には、レスポンス差分演算/リクエスト数換算手段523の処理に応じて、数量モデル802に加えて、数量モデル802をサーバ性能仕様を一定としてスループットで偏微分した数量モデル803が含まれていても良い。
監視手段511は、アプリケーションサーバ501を監視し、各アプリケーションサーバに割り当てられた管理対象のサービスごとに、1処理あたりの応答時間を示すレスポンスタイムを取得して、監視したアプリケーションサーバ501の識別子とレスポンスタイム監視結果とをレスポンスタイム差分演算/リクエスト数換算手段523に出力する。同様に、監視手段511は、単位時間あたりのリクエスト数であるスループットを取得して、スループット監視結果として負荷予測手段525に出力する。
レスポンスタイム差分演算/リクエスト数換算手段523は、管理対象となるサービスに関する値であってサービスレベル入力手段530によって出力されたレスポンスタイム目標値と、監視手段511が管理対象となるサービスが配備されたある一つのアプリケーションサーバ501を監視することによって得られるレスポンスタイム監視結果と、監視したアプリケーションサーバ501の識別子とを入力として受け付ける。
レスポンスタイム差分演算/リクエスト数換算手段523は、監視手段511によって出力された識別子に基づいて、資源性能仕様記憶部521を検索し、対応する性能仕様情報を取得する。そして、レスポンスタイム目標値、レスポンスタイム監視結果、性能仕様情報およびサービス特性記憶部522から得られるサービス特性からスループット変化分を算出する。
スループット変化分は、レスポンスタイム目標値を実現するために、プールサーバに振り分けるべきスループットを示す値である。スループット変化分の算出方法には、差分演算を行った後にレスポンスタイムとリクエスト数のメトリック変換を行う第1の方法と、レスポンスタイムとリクエスト数のメトリック変換を行った後に差分演算を行う第2の方法が存在する。
レスポンスタイム差分演算/リクエスト数換算手段523によるスループット変化分の第1の算出方法について以下に説明する。レスポンスタイム差分演算/リクエスト数換算手段523は、まず、レスポンスタイムの目標値と監視結果との差分を演算し、レスポンスタイム変化分を算出する。次に、サービス特性記憶部522から、当該サービスに関する数量モデル803を取得する。数量モデル803は、スループットの変化分に対するレスポンスタイムの変化分を示す数式であるため、取得した数量モデル803に、前述のレスポンスタイム変化分と、図3に示す係数の値と、当該サーバのサーバ性能仕様とを代入することにより、スループットの変化分を取得する。
次に、スループット変化分の第2の算出方法について以下に説明する。レスポンスタイム差分演算/リクエスト数換算手段523は、まず、サービス特性記憶部522から、当該サービスに関する数量モデル802を取り出す。取得した数量モデル802に、図3に示す係数および定数の値と、当該サーバのサーバ性能仕様とともに、レスポンスタイムの目標値と監視結果とをそれぞれ入力し、それぞれのスループットを算出する。レスポンスタイムの目標値および監視結果に対するスループット算出結果の差分を取ることで、スループットの変化分を取得する。
レスポンスタイム差分演算/リクエスト数換算手段523は、このようにして全アプリケーションサーバに渡ってスループット変化分を算出し、算出したスループット変化分を全て加算してサーバ選択手段524に対して出力する。この時、サービスレベル入力手段530から受け取ったレスポンスタイム目標値を同時に出力する。この値は、レスポンスタイム監視結果で代替しても良い。
負荷予測手段525は、監視手段511によって出力されたスループット監視結果に基づいて、所定の時間だけ将来の時点までに予測されるスループットの増加数あるいは減少数を算出し、スループット変化分としてサーバ選択手段524に出力する。なお、所定の時間とは、例えば、プロビジョニング手段513がプロビジョニングに要する時間等である。この計算は、蓄積されたスループットの過去の履歴に基づいて、ARIMAモデルや状態空間モデルなどの良く知られた時系列予測方式を用いて行っても良い。負荷予測手段525は、スループット変化分とともに、監視手段511から受け取ったレスポンスタイム監視結果を同時にサーバ選択手段524に渡す。なお、レスポンスタイム監視結果をレスポンスタイム目標値で代替しても良い。
サーバ選択手段524は、レスポンスタイム差分演算/リクエスト数換算手段523によって出力されるスループット変化分およびレスポンスタイム目標値、または負荷予測手段525によって出力されるスループット変化分およびレスポンスタイム監視結果と、監視したサーバの性能特性を入力として受付ける。そして、サーバ選択手段524は、受け付けたスループット変化分に対応するサーバの性能・台数を算出し、算出されたサーバに対して構成変更制御を実行するようプロビジョニング手段513に対して指示する。
図5は、サーバ選択手段524が性能仕様とスループットとの関係を示す数量モデルを取得する処理を説明するための説明図である。なお、図5には、サーバ選択手段524が、負荷予測手段525によって出力されるスループット変化分およびレスポンスタイム監視結果を受け付けた場合を例示する。式901は、レスポンスタイムとしてレスポンスタイム監視結果が代入されることを示す式であり、式902は、スループットおよびサーバ性能仕様の関数であるレスポンスタイムを示す数式である。式902は、例えば、サービス特性記憶部522から取得される数量モデルであって、図4に示す数量モデル802に対応する。サーバ選択手段524は、式901と式902の連立式903を計算し、性能仕様とスループットとの関係を示す数量モデルを取得する。
なお、サーバ選択手段524が、レスポンスタイム差分演算/リクエスト数換算手段523によって出力されるスループット変化分およびレスポンスタイム目標値を受け付けた場合には、レスポンスタイムとしてレスポンスタイム目標値が代入される。
サーバ選択手段524は、取得した数量モデルに、図2に例示する性能仕様情報に含まれる性能仕様1〜nを順次代入し、資源IDごとにスループットを算出する。ここで、サーバ選択手段524は、サービス割当が”Pool”であるプールサーバ502の性能仕様1〜nを代入するものとする。サーバ選択手段524は、算出したスループットのうち、出力されたスループット変化分よりも大きく、かつ最も近い値を示すスループットに対応する資源IDを出力する。
なお、サーバ選択手段524は、サーバの性能・台数の算出に用いるスループット変化分に対し、事前に次の換算処理を行っても良い。換算処理は、受け付けたスループット変化分に一定の比例係数を掛けた成分と、スループットを時間軸で積分した成分に一定の比例係数を掛けた成分と、スループットを時間軸で微分した成分に一定の比例係数を掛けた成分とを加算する処理である。換算処理を行うことで、制御の発振防止による安定化や制御の収束時間の短縮化という効果を得ることができる。
プロビジョニング手段513は、サーバ選択手段524から出力された資源IDを有するプールサーバ502に対し、アプリケーションサーバとして機能するよう構成を変更する。
次に、図面を参照して第1の実施の形態の動作について説明する。以下、スループット変化分を、負荷予測手段525が算出する場合と、レスポンスタイム差分演算/リクエスト数換算手段523が算出する場合とに分けて説明する。図6および図7は、それぞれ、負荷予測手段525およびレスポンスタイム差分演算/リクエスト数換算手段523がスループット変化分を算出する場合の本実施の形態の動作を示すフローチャートである。
第1の全体の動作として、図6を参照して負荷予測手段525がスループット変化分を算出する場合の本実施の形態の動作について説明する。監視手段511が、管理対象のサービスに関するアプリケーションサーバ501を監視し、そのサービスの単位時間辺りのリクエスト数であるスループットを監視する(ステップS101)。監視手段511は、スループットを、負荷分散装置503を監視することによって得ても良い。
負荷予測手段525は、スループット監視結果をもとに、プロビジョニング手段513がプロビジョニングを終えるために必要な時間の間のスループット数の変化分を予測する(ステップS102)。
サーバ選択手段524は、このスループット変化分に相当する資源の種類や台数を計算する(ステップS103)。サーバ選択手段524は、スループット変化分に相当するサーバ資源がないかを判定し(ステップS104)、ない場合(Yes)には処理を終了し、ある場合(No)には、プロビジョニング手段513が、ステップS103において得られたサーバ資源の構成変更を実行する(ステップS105)。
図8は、第1の実施の形態における信号伝達の流れを表すブロック線図である。スループット1210、レスポンスタイム目標値1204およびレスポンスタイム制御結果1202は、伝達される信号である。スループット監視1209およびレスポンスタイム監視1203は、図1における監視手段511で、スループット増加予測1208は負荷予測手段525で、レスポンスタイムの監視結果とレスポンスタイム目標値1204との差分計算およびメトリック変換1205はレスポンスタイム差分演算/リクエスト数換算手段523で、サーバ選択1206はサーバ選択手段524で、プロビジョニング1207はプロビジョニング手段513で、制御対象1201はアプリケーションサーバ501およびプールサーバ502で、それぞれ実現される機能である。
ステップS101からS105の処理は、図8に示すブロック線図において、スループット監視1209がスループット1210を監視し、この結果を利用してスループット増加予測1208がスループットの増加分を算出し、サーバ選択1206がスループットの増加分を相殺できるサーバ性能仕様を持ったサーバの組み合わせを選択し、プロビジョニング1207がプロビジョニングする流れで表される。
次に、第2の全体の動作として、図7を参照してレスポンスタイム差分演算/リクエスト数換算手段523がスループット変化分を算出する場合の本実施の形態の動作について説明する。監視手段511が、管理対象のサービスに関するアプリケーションサーバ501を監視し、そのサービスのレスポンスタイムを監視する(ステップS201)。監視手段511は、レスポンスタイムを、負荷分散装置503を監視することによって得ても良い。
資源容量計画手段520のレスポンスタイム差分演算/リクエスト数換算手段523は、レスポンスタイムの監視結果、サービスレベル入力手段530から入力されたレスポンスタイム目標値、サービス特性記憶部522に予め格納された当該サービスに関するサービス特性およびアプリケーションサーバ501の性能仕様情報に基づいてスループット変化分を算出する(ステップS202)。なお、前述したとおり、スループット変化分の算出方法には、差分演算を行った後にレスポンスタイムとリクエスト数のメトリック変換を行う第1の方法と、レスポンスタイムとリクエスト数のメトリック変換を行った後に差分演算を行う第2の方法が存在する。
サーバ選択手段524は、スループット変化分に相当する資源の種類および台数を算出する(ステップS203)。サーバ選択手段524は、スループット変化分に相当するサーバ資源がないかを判定し(ステップS204)、ない場合(Yes)には処理を終了し、ある場合(No)には、プロビジョニング手段513が、ステップS203において得られたサーバ資源の構成変更を実行する(ステップS205)。
ステップS201からS205の処理は、図8に示すブロック線図において、レスポンスタイム監視1203が制御対象1201のレスポンスタイムを監視し、メトリック変換1205がレスポンスタイムの監視結果とレスポンスタイム目標値1204との差分を算出して、これをスループット変化分に換算し、サーバ選択1206がスループット変化分を相殺できるサーバ性能仕様を持ったサーバの組み合わせを選択し、プロビジョニング1207がプロビジョニングする流れで表される。
なお、負荷予測手段525がスループット変化分を算出する場合の動作は、フィードフォワード制御に該当する。フィードフォワード制御は、制御対象となるシステム等の制御を乱す外的な作用(外乱)を予測して、外乱を相殺するよう制御することにより、制御対象を安定に保つ制御方式である。本実施の形態では、スループットの増加等が外乱にあたり、予測したスループット変化分を振り分けるのに最適なプールサーバを選択する。フィードフォワード制御方式による場合は、突発的な外乱が生じた場合であっても、大きな影響が現れる前に対応できるという効果がある。
また、レスポンスタイム差分演算/リクエスト数換算手段523がスループット変化分を算出する場合の動作は、フィードバック制御に該当する。フィードバック制御は、制御対象の状態を目標の状態に近づけるよう制御する制御方式である。本実施の形態では、目標と現状との差分であるスループット変化分を振り分けるのに最適なプールサーバを選択する。フィードバック制御方式による場合は、制御対象が目標の状態に近い状態になるという効果がある。負荷予測手段525とレスポンスタイム差分演算/リクエスト数換算手段523とは、併用されてもよく、どちらか一方のみが実装されてもよい。
次に、資源容量計画手段520の動作について説明する。資源容量計画手段520の動作は、本処理と前処理とに分かれる。本処理は、サーバ選択手段524による処理であり、スループット変化分とレスポンスタイムとを入力として受ける処理である。前処理は、第1の全体の動作では負荷予測手段525による処理、第2の全体の動作ではレスポンスタイム差分演算/リクエスト数換算手段523による処理である。第2の全体の動作では、監視結果と目標値との差分演算とともに、レスポンスタイムからリクエスト数へのメトリック変換が行われる。
図9は、サーバ選択手段524の動作を示すフローチャートである。以下、前処理として、負荷予測手段525による処理が行われた場合を例示して説明する。サーバ選択手段524は、負荷予測手段525からスループット変化分とレスポンスタイム監視結果とを受け付けると(ステップS301)、サービス特性記憶部522から管理対象の当該サービスに関する数量モデル902(図5参照。)を取得し、レスポンスタイム監視結果901(図5参照。)との連立式903(図5参照)を立てる。数量モデル902は、例えば、図4に示す数量モデル802である。連立式903は、管理対象の負荷分散装置503を重み付けラウンドロビンで動作させているために、立てることのできる連立式である。連立式903を解くことにより、サーバ性能仕様とスループットとの関係を導くことができる(ステップS302)。
なお、前処理として、レスポンスタイム差分演算/リクエスト数換算手段523による処理が行われた場合には、ステップS301において、サーバ選択手段524は、レスポンスタイム差分演算/リクエスト数換算手段523からスループット変化分とレスポンスタイム目標値とを受け付け、数量モデル902とレスポンスタイム目標値との連立式を立てる。
次に、サーバ選択手段524は、ステップS301において受け付けたスループット変化分の値が正であるか否かを判定する(ステップS303)。スループット変化分が正であるときは(YES)、資源性能仕様記憶部521に格納される性能仕様情報のサービス割当がPoolであるものを検索し(ステップS304)、スループット変化分が負であるときは(NO)、サービス割当が当該サービスの名前であるものを検索して(ステップS305)、資源IDと性能仕様との組み合わせを取得する(ステップS306)。
サーバ選択手段524は、ステップS306において、資源IDと性能仕様との組み合わせの取得に成功した場合はステップS307に移行し、失敗した場合には一連の処理を終了する。ステップS307において、取得したサーバの資源IDと性能仕様の組み合わせに対して、前述の連立式903より得られたサーバ性能仕様とスループットとの関係式を適用し、サーバの資源ID毎に対応するスループットを算出する(ステップS307)。
サーバ選択手段524は、この資源IDとスループットの組み合わせを利用し、入力として受け付けたスループット変化分と値が近くなるような、サーバ資源IDの組み合わせを算出する(ステップS308)。例えば、スループット変化分が正である場合には、スループット変化分よりも大きくかつ最も近い値を有するスループットの組み合わせを算出し、スループット変化分が負である場合には、スループット変化分の絶対値よりも小さくかつ最も近い値を有するスループットの組み合わせを算出してもよい。
最後に、スループット変化分が正であるか否かを判定する(ステップS309)。ステップS309において、スループット変化分が正であるときは(YES)、プロビジョニング手段に対して、これらのサーバ資源IDの組み合わせの追加を指示し(ステップS310)、負である場合には(NO)、これらのサーバ資源IDの組み合わせの削除を指示して(ステップS311)、一連の処理を終了する。ここで、追加とはプールサーバをアプリケーションサーバに変更する構成変更を指し、削除とはアプリケーションサーバからプールサーバに変更する構成変更を指す。
図9のステップS308における組み合わせを求める方式は、例えば図10に示すフローチャートに示すステップであっても良い。まず、サーバ選択手段524は、受け付けたスループット変化分を残存スループット変化分を表す局所変数として格納し(ステップS401)、この残存スループット変化分より大きく最も近いスループットを持つサーバ資源IDを選ぶ(ステップS402)。
サーバ選択手段524は、結果が存在するか否かを判定し(ステップS403)、結果が存在する時(YES)、このサーバ資源IDをサーバIDリストを表す局所変数に保持する(ステップS404)。さらに、結果のサーバ資源IDと対応するスループットを残存スループット変化分から差し引く(ステップS405)。そして、再度ステップS402の処理を行う。ステップS403のサーバ資源IDの検索結果評価で、検索結果が存在しなかった場合には、サーバ資源IDリストに存在するサーバ資源IDを求める組み合わせとする(ステップS406)。
次に、具体的な実施例を用いて第1の実施の形態の動作を説明する。図11は、管理対象システムの構成例を示すブロック図である。図11に例示する管理対象システムは、負荷分散装置2003と、特定のサービスとして「サービス1」を提供する複数のサーバを有するクラスタ2010と、特定のサービスの提供は行わないプールサーバ用ドメイン2020とを備える。負荷分散装置2003は、ネットワーク2002を介して、クライアント2001と通信可能に接続される。
プールサーバ用ドメイン2020は、高性能サーバ2023,2024と、低性能サーバ2021,2022とを有するものとする。一方、サービス1を提供するクラスタ2010は、2台の高性能サーバ2012,2013と、1台の低性能サーバ2011とを有するものとする。また、サーバ2011〜2013のある時点におけるスループットやレスポンスタイムなどの値を示す情報を、サーバ状態2031〜2033と表記する。サーバ状態2031〜2033は、監視手段511によって取得される情報である。
図12は、資源性能仕様記憶部521に格納されるクラスタ2010およびプールサーバ用ドメイン2020の性能仕様情報を例示する説明図である。図12に例示する性能仕
様情報は、資源IDと、サービス割当と、性能仕様としてCPUクロック数とを含む。
監視手段511によって、サーバ2011〜2013のサーバ状態2031〜2033が収集される。また、サーバ状態の履歴情報から回帰分析処理を用いて数量モデルの係数や定数が計算された結果が、サービス特性記憶部522に格納されるものとする。例えば、サーバ2011〜2013から収集された過去のサーバ状態2031〜2033が、サーバ資源の性能仕様であるCPUクロック数毎に分類した場合に、図13に例示するグラフに表される特性を持っているとすると、サービス特性記憶部522には、図14に例示するサービス情報が格納される。図14に例示するサービス情報に含まれる数量モデル2302は、図4に示すモデル情報に含まれる数量モデル802に対応するものとする。
また、サービスレベル入力手段530から資源容量計画520のレスポンスタイム差分演算/リクエスト数換算手段523に対して、レスポンスタイム目標値が1.0秒であると与えられたとする。なお、本実施例の説明では、レスポンスタイム差分演算/リクエスト数換算手段523がスループット変化分を算出する場合を例示して説明する。
図11に示す管理対象サーバ2011〜2013が、それぞれサーバ状態2031〜2033で示される状態である時点において、監視手段511が管理対象サーバ2011〜2013を監視したとする。
レスポンス差分演算/リクエスト数換算手段523は、レスポンスタイムの差分計算の後にスループットに換算する手段をとる場合、図4の数量モデル803の偏微分式を取り出す。まず、差分演算では、管理対象サーバ2011〜2013に対して、レスポンスタイム目標値と監視結果との差分、すなわちレスポンスタイムの変化が、管理対象サーバ2011〜2013に対して、それぞれ0.5秒、0.2秒、0.1秒と算出される。
次に、スループット変化に対するレスポンスタイムの変化は、数量モデル803に、図12に例示する性能仕様情報に含まれる性能仕様と、図14に例示するサービス情報に含まれる係数とを代入することによって、管理対象サーバ2011〜2013に対して、それぞれ0.018,0.0096,0.0096と算出される。
例えば、管理対象サーバ2011の場合は以下のように計算される。管理対象サーバ2011にはサービス1が割り当てられていて、その数量モデルはモデル1であることから、数量モデル803は、d(レスポンスタイム)/d(スループット)=係数1+係数2×CPUクロック数となる。数量モデル803に、図12に例示する性能仕様情報に含まれる性能仕様と、図14に例示するサービス情報に含まれる係数とを代入する。管理対象サーバ2011の性能仕様(CPUクロック数)は、1.8であり、係数1は0.030、係数2は−0.0068である。したがって、d(レスポンスタイム)/d(スループット)=0.030−0.0068×1.8=0.018と算出される。
d(レスポンスタイム)/d(スループット)を算出した式に、レスポンスタイムの変化「d(レスポンスタイム)」を代入することによって、スループット変化分「d(スループット)」が求められ、管理対象サーバ2011〜2013に対してそれぞれ28,21,10となる。例えば、管理対象サーバ2011の場合は以下のように計算される。d(レスポンスタイム)/d(スループット)=0.018より、d(スループット)=d(レスポンスタイム)/0.018となる。d(レスポンスタイム)はレスポンスタイム変化分であるから、0.5を代入すると、d(スループット)=0.5/0.018=28と算出される。
各アプリケーションサーバについて計算されたスループット変化分の値を足し合わせると、28+21+10=59となる。これがスループット変化分として、サーバ選択手段524に渡される。
次に、サーバ選択手段524は、算出されたスループット変化分「59」を低減可能な性能仕様を持ったサーバの組み合わせを選択する。ここでは、レスポンスタイム目標値1.0も同時に渡されるものとする。
まず、図4の数量モデル802に対して、レスポンスタイムの目標値1.0と、図14に例示するサービス情報に含まれる係数および定数とを代入すると、スループットとサーバ性能仕様との関係式が得られる。スループット変化分「59」は正の数であるため、図12に示す性能仕様情報からサービス割当がプールであるものを選択する。この場合は、サーバ2021、サーバ2022、サーバ2023、サーバ2024が選択される。
選択されたそれぞれの資源IDに関して、それぞれの性能仕様を数量モデル802に入力する。これによって各サーバに対応するスループットは、それぞれ22,22,82,82となる。
例えば、サーバ2021の場合は以下のように計算される。新たにサービス1を割り当てるサーバを求めることから、数量モデル802は、レスポンスタイム=係数1×スループット+係数2×スループット×CPUクロック数+係数3×CPUクロック数+定数となる。レスポンスタイムの目標値は1.0であって、係数1は0.030、係数2は−0.0068、係数3は−0.33、定数は1.20である(図14参照。)ことから、数量モデル802に代入すると、スループットとサーバ性能仕様との関係式として、1.0=0.030×スループット−0.0068×スループット×CPUクロック数−0.33×CPUクロック数+1.20が得られる。
ここで、サーバ2021の性能仕様(CPUクロック数)は、1.8である(図12参照。)ことから、1.0=0.030×スループット−0.0068×スループット×1.8−0.33×1.8+1.20となる。これより、スループット=22と求められる。
求められたスループットの値の組み合わせとしては、サーバ2021とサーバ2022の組み合わせで44、サーバ2023あるいはサーバ2024単体で82となるが、スループット変化分59より大きく最小であるのは、サーバ2023、あるいはサーバ2024のどちらかを単体で選択した場合であるため、これを制御対象のサーバとして選択する。またスループット変化分は正の数であるため、制御内容は、プールサーバをアプリケーションサーバに変更する追加制御となる。
以上は、第1の全体の動作を示す実施例であるが、第2の全体の動作では、負荷予測手段525を用いた制御ループが構成される。例えば、プロビジョニング手段513が、プールサーバ502をアプリケーションサーバ501に構成変更するのに要する時間が1分であるとすると、負荷予測手段525は、サービス1を提供するアプリケーションサーバに到来するスループットの1分後の増加数を過去の履歴などから予測する。
現在、図11に示す状態であるとすると、クラスタ2010には、管理対象サーバ2011〜2013のスループットの合計である50+100+80=230のスループットが到来し処理されている。ここで、負荷予測手段525によって、過去の履歴から1分後のスループットが300になると予測されたとすると、スループット変化分として300−230=70が予測されたこととなる。この時、サーバ選択手順524には、図11に示す各サーバのレスポンスタイムの平均値1.3も同時に入力されるものとする。
図4に示す数量モデル802に、レスポンスタイムの平均値1.3とを代入するとともに、図14に示す係数及び定数のパラメータ値を代入すると、スループットとサーバ性能仕様との関係式が得られる。
次に、スループット変化数が正であることから、図12に示す性能仕様情報からサーバ割当がプールであるものが検索され、サーバ2021、サーバ2022、サーバ2023、サーバ2024が選択される。それぞれのサーバ性能仕様を、前述のスループットとサーバ性能仕様との関係式に代入することにより、各サーバについてのスループットがそれぞれ39,39,110,110と求められる。
例えば、サーバ2021の場合は以下のように計算される。新たにサービス1を割り当てるサーバを求めることから、数量モデル802は、レスポンスタイム=係数1×スループット+係数2×スループット×CPUクロック数+係数3×CPUクロック数+定数となる。レスポンスタイムの目標値は1.3であって、係数1は0.030、係数2は−0.0068、係数3は−0.33、定数は1.20である(図14参照。)ことから、数量モデル802に代入すると、スループットとサーバ性能仕様との関係式として、1.3=0.030×スループット−0.0068×スループット×CPUクロック数−0.33×CPUクロック数+1.20が得られる。
ここで、サーバ2021の性能仕様(CPUクロック数)は、1.8である(図12参照。)ことから、1.3=0.030×スループット−0.0068×スループット×1.8−0.33×1.8+1.20となる。これより、スループット=39と求められる。
求められたスループットの値の組み合わせのうち、予測されたスループット変化分70を超えて、最も小さいものはサーバ2021とサーバ2022の組み合わせで78である。そのため、これら2つのサーバが選択され、スループット変化分が正であることから、選択されたサーバに関する追加制御が実行される。
以上に説明したように、第1の実施の形態によれば、管理対象の負荷分散装置を重み付きラウンドロビンアルゴリズムでユーザからのリクエストを割り振るように動作させるとともに、管理システムが、スループットとサーバ性能仕様に対するレスポンスタイムの関係式、各サーバの性能仕様、サーバのレスポンスタイム監視結果と目標値とから算出されるスループット変化分または予測されるスループット変化分とから、サーバのスループット変化分を相殺するような性能仕様を持ったサーバの組み合わせを算出することができる。したがって、スループットが時間的に変動したり、サーバの性能が均一でない環境下において、突発的なアクセス数増加が発生した場合であっても、サービスレベルの劣化が少なく、必要十分なサーバをサービスに割り当てることができるという効果がある。
[実施の形態2]
次に、本発明の第2の実施の形態を図面を参照して説明する。図15は、本発明によるサーバ資源管理システムの第2の実施の形態を示すブロック図である。図15に示すサーバ資源管理システムは、管理対象システム3300と、管理対象システム3300を管理する管理システム3310と、管理システム3310に対して管理対象サービスのサービスレベルを入力するサービスレベル入力手段3330とを備える。
管理対象システム3300は、インターネット等の通信ネットワーク3351を介してクライアント3340と通信可能である。管理システム3310は、インターネット等の通信ネットワーク3352および通信ネットワーク3353を介して、それぞれ管理対象システム3300およびサービスレベル入力手段3330と通信可能に接続される。
管理対象システム3300は、サービスアプリケーションが配備され、負荷分散装置によって割り当てられたサービスを実行するアプリケーションサーバ3301と、特定のサービスアプリケーションには使われず、他のサービスと共有されるプールサーバ3302と、アプリケーションに対するリクエストを各アプリケーションサーバに分散させる負荷分散装置3303とを備える。
管理システム3310は、アプリケーションサーバ3301、プールサーバ3302および負荷分散装置3303を監視する監視手段3311と、サービスの品質維持に必要なサーバを計算する資源容量計画手段3320と、複数のサービスで共有されるプールサーバ3302に特定のサービスアプリケーションプログラムの配備や、負荷分散装置3303に対するサーバアドレスの登録などの構成制御を行うプロビジョニング手段(設定変更手段)3313とを備える。
さらに、資源容量計画手段3320は、レスポンス先読み/スループット換算手段(差分量予測/処理量算出手段)3323と、サービス特性記憶部3322と、資源性能仕様記憶部3321と、サーバ選択手段3324とを備える。
図16は、サービスの管理者がレスポンスタイムの目標値を時系列情報として入力した際の設定状況を示す説明図である。レスポンスタイムの目標値は、サービス管理者等によって、サービスレベル入力手段3330からレスポンス先読み/スループット換算手段3323に入力される。図16には、レスポンスタイムの目標値が、8時までは1.2秒、8時以降は0.8秒と設定された場合が例示されている。
レスポンス先読み/スループット換算手段3323は、サービスレベル入力手段3330から入力されたレスポンスタイムの目標値のうち、現在時刻におけるレスポンスタイムの目標値と、プロビジョニング手段3313がプロビジョニングに要する時間分だけ現在より先のレスポンスタイムの目標値とを取得する。レスポンス先読み/スループット換算手段3323は、将来のレスポンスタイムの目標値と現在のレスポンスタイムの目標値との比較およびスループット変換処理を行う。
上記のレスポンス先読み/スループット換算手段3323の処理は、第1の実施の形態におけるレスポンス差分演算/リクエスト数換算手段523の処理において、現在のレスポンスタイムの目標値をレスポンスタイムの監視結果に、将来のレスポンスタイムをレスポンスタイムの目標値に置き換えた処理と同じである。すなわち、レスポンスタイムの目標値の差分を演算し、それを各サーバの性能仕様情報とサービス特性とともに数量モデルに代入して、スループットの変化分を出力する方式と、各サーバの性能仕様情報とサービス特性とレスポンスタイムの差分とを数量モデルにそれぞれ入力し、得られたそれぞれのスループットの差分を取る方式である。
上記のいずれかの方式によって得られたスループット変化分は、サーバ選択手段3324に入力され、第1の実施の形態におけるサーバ選択手段524と同一の処理が行われる。
図17は、第2の実施の形態における信号伝達の流れを表すブロック線図である。スループット3210、レスポンスタイム目標値スケジュール3204およびレスポンスタイム制御結果3202は、伝達される信号である。スループット監視3209およびレスポンスタイム監視3203は、図15における監視手段3311で、スループット増加予測3208およびメトリック変換1205はレスポンス先読み/スループット換算手段3323で、サーバ選択3206はサーバ選択手段3324で、プロビジョニング3207はプロビジョニング手段3313で、制御対象3201はアプリケーションサーバ3301およびプールサーバ3302で、それぞれ実現される機能である。
図17に示すブロック線図における流れは、レスポンスタイム目標値スケジュール3204が入力され、レスポンスタイム先読み機構3211によって取得された将来の時点でのレスポンスタイム目標値と現在のレスポンスタイム目標値との差分が、スループットにメトリック変換され、これに対応する性能・台数のサーバのプロビジョニングが制御対象に施されるという流れと対応している。
次に、具体的な実施例を用いて第2の実施の形態の動作を説明する。以下の説明では、管理対象のアプリケーションサーバは、図11に示す3台の管理対象サーバ2011,2012,2013であるものとする。ただし、そのサーバ上のサービスレベルの値は、2031,2032,2033とは異なるものであるとする。
また、図16に示すように、サービスレベル入力手段3330から、レスポンスタイム目標値が8時に1.2秒から0.8秒に変更される設定がされているものとする。サービス特性記憶部が、サーバ2011〜2013のサービス情報およびモデル情報として、図14に示すサービス情報と図4に示すモデル情報とを格納するものとし、資源性能仕様記憶部3321が、図12に示す性能仕様情報を格納するものとして以下の説明を行う。
まず、レスポンス先読み/スループット換算手段3323が、現在のレスポンスタイムとプロビジョニングに要する時間だけ将来のレスポンスタイムの値を監視する。現在の時刻が図16に示す時刻3101に相当するときのレスポンスタイム目標値は1.2であり、プロビジョニング手段が処理に要する時間3102だけ将来の時刻3103におけるレスポンスタイム目標値は0.8であることから、レスポンスタイムの差分は、0.4となる。
数量モデル803、図12に示す性能仕様、算出したレスポンスタイムの変化分およびレスポンスタイムの将来の目標値から、当該スループット変化分を相殺しうるサーバの組み合わせを第1の実施の形態と同様に算出する。
まず、レスポンス先読み/スループット換算手段3323が、スループット変化分を算出する。すなわち、数量モデル803と図12に示す性能仕様とから、スループット変化に対するレスポンスタイムの変化は、それぞれ、0.018,0.0096,0.0096と算出される。
例えば、管理対象サーバ2011の場合は以下のように計算される。管理対象サーバ2011にはサービス1が割り当てられていて、その数量モデルはモデル1であることから、数量モデル803は、d(レスポンスタイム)/d(スループット)=係数1+係数2×CPUクロック数となる。数量モデル803に、図12に例示する性能仕様情報に含まれる性能仕様と、図14に例示するサービス情報に含まれる係数とを代入する。管理対象サーバ2011の性能仕様(CPUクロック数)は、1.8であり、係数1は0.030、係数2は−0.0068である。したがって、d(レスポンスタイム)/d(スループット)=0.030−0.0068×1.8=0.018と算出される。
d(レスポンスタイム)/d(スループット)を算出した式に、レスポンスタイムの変化分「d(レスポンスタイム)」を代入することによって、スループット変化分「d(スループット)」が求められ、管理対象サーバ2011〜2013に対してそれぞれ22,42,42となる。
例えば、管理対象サーバ2011の場合は以下のように計算される。d(レスポンスタイム)/d(スループット)=0.018より、d(スループット)=d(レスポンスタイム)/0.018となる。d(レスポンスタイム)はレスポンスタイム変化分であるから、0.4を代入すると、d(スループット)=0.4/0.018=22と算出される。
各アプリケーションサーバについて計算されたスループット変化分の値を足し合わせると、22+42+42=106となる。これがスループット変化分として、サーバ選択手段524に出力される。
次に、サーバ選択手段524は、出力されたスループット変化分に対応するサーバを選択する。まず、将来のレスポンスタイム目標値0.8を数量モデル802に入力し、さらにサービス割当がプールであるサーバの性能仕様情報を代入して、各サーバに関するスループットを算出すると、それぞれ11,11,61,61となる。
例えば、サーバ2021の場合は以下のように計算される。新たにサービス1を割り当てるサーバを求めることから、数量モデル802は、レスポンスタイム=係数1×スループット+係数2×スループット×CPUクロック数+係数3×CPUクロック数+定数となる。将来のレスポンスタイム目標値は0.8であって、係数1は0.030、係数2は−0.0068、係数3は−0.33、定数は1.20である(図14参照。)ことから、数量モデル802に代入すると、スループットとサーバ性能仕様との関係式として、0.8=0.030×スループット−0.0068×スループット×CPUクロック数−0.33×CPUクロック数+1.20が得られる。
ここで、サーバ2021の性能仕様(CPUクロック数)は、1.8である(図12参照。)ことから、0.8=0.030×スループット−0.0068×スループット×1.8−0.33×1.8+1.20となる。これより、スループット=11と求められる。
スループット変化分は106であるため、これを超え最小の数となる組み合わせは、サーバ2023とサーバ2024の両方を割り当てることとなる。この割当は、スループット変化が正であるために、追加処理となる。
以上に説明したように、第2の実施の形態によれば、第1の実施の形態による効果に加えて、将来のレスポンスタイムの目標値と現在のレスポンスタイムの目標値との差分からスループット変化分を算出することから、予測されるスループット変化分を振り分けるフィードフォワード制御によって、必要十分なサーバ資源を割り当てることができるという効果がある。
第1の実施形態と第2の実施形態とを組み合わせることが可能である。例えば、第2の実施形態を示す図15において、レスポンス先読み/スループット換算手段3323が、図1に示したレスポンス差分演算手段/リクエスト数換算手段523の機能を更に備えていてもよい。この場合、監視手段3311によって取得された現在の単位時間当たりの負荷および応答時間と、あらかじめ指定された目標応答時間と、実行サーバの性能情報とをもとに、数量モデル記憶手段3322に記憶された特定のサービスに対応した数量モデルを用いて、実行サーバにおける現在の単位時間当たりの負荷と目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する機能と、監視手段3322によって取得された現在の単位時間当たりの負荷および応答時間と、蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する機能とを有し、双方の機能を、予め設定された設定に応じて、或いは、自動的に切り替える。
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明の資源量計算システム、方法、及び、プログラムは、上記実施形態例の構成にのみ限定されるものではなく、上記実施形態例の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
本発明は、ネットワークを介してサーバがサービス消費者にサービスを提供する際に、サービスのレスポンスタイムを維持するために効果的に適用できる。

Claims (22)

  1. クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、
    サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段(521)と、
    前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段(522)と、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段(511)と、
    前記監視手段(511)によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段(522)に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出手段(523)と、
    サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段(523)と、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段(524)と、
    前記サーバ選択手段(524)によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置(3303)に対してサーバの設定変更に関する情報を出力する設定変更手段(513)と
    を備えたことを特徴とする資源量計算システム。
  2. 単位時間当たりの負荷は、単位時間あたりのリクエスト数である、請求項1に記載の資源量計算システム。
  3. 差分量算出手段は、あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出する、請求項1に記載の資源量計算システム。
  4. サーバ選択手段(524)は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、
    設定変更手段(513)は、差分量が正の値である場合に、前記サーバ選択手段(524)によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、前記サーバ選択手段(524)によって選択された実行サーバが特定のサービスの実行を停止するように設定する、請求項1に記載の資源量計算システム。
  5. クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、
    サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段(3321)と、
    前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段(3322)と、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段(3311)と、
    前記監視手段(3311)によって取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測手段(3323)と、
    サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段(3322)に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段(3323)と、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段(3324)と、
    前記サーバ選択手段(3324)によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置(3303)に対してサーバの設定変更に関する情報を出力する設定変更手段と
    を備えたことを特徴とする資源量計算システム。
  6. 差分量算出手段(3323)は、監視手段(3311)によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段(3322)に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する機能を更に有する、請求項5に記載の資源量計算システム。
  7. 単位時間当たりの負荷は、単位時間あたりのリクエスト数である、請求項6に記載の資源量計算システム。
  8. 差分量算出手段(3323)は、
    あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出する、請求項7に記載の資源量計算システム。
  9. サーバ選択手段(3324)は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、
    設定変更手段(3313)は、差分量が正の値である場合に、前記サーバ選択手段(3324)によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、前記サーバ選択手段(3324)によって選択された実行サーバが特定のサービスの実行を停止するように設定する、請求項5項に記載の資源量計算システム。
  10. クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、
    サーバの性能を示す性能情報をサーバごとに記憶するステップと、
    前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、
    前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップと、
    サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
    前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有することを特徴とする資源量計算方法。
  11. 数量モデル記憶ステップで、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する
    請求項10に記載の資源量計算方法。
  12. クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、
    サーバの性能を示す性能情報をサーバごとに記憶するステップと、
    前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、
    前記取得ステップで取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出するステップと、
    前記算出ステップで、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
    設定変更手段が、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有する
    ことを特徴とする資源量計算方法。
  13. 前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップを更に有する、請求項12に記載の資源量計算方法
  14. 数量モデル記憶ステップで、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する、請求項12に記載の資源量計算方法。
  15. クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、
    前記コンピュータに、
    サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、
    前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、
    取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理と、
    サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、
    選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理と
    を実行させるための資源量計算プログラム。
  16. 数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させる、請求項15に記載の資源量計算プログラム。
  17. クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、
    前記コンピュータに、
    サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、
    前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、
    取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測処理と、
    サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、
    選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理と
    を実行させるための資源量計算プログラム。
  18. 前記コンピュータに、取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理を更に実行させる、請求項17に記載の資源量計算プログラム。
  19. 数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させる、請求項17に記載の資源量計算プログラム。
  20. 負荷分散装置がクライアントからのリクエストを割り振り可能なサーバ資源量を計算する資源量計算システムであって、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位負荷量および前記特定のサービスの現在の応答時間を取得する監視手段と、
    前記監視手段によって取得された前記現在の単位負荷量および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記実行サーバにおける前記現在の単位負荷量と前記目標応答時間を実現するための単位負荷量との差を示す差分量を算出する差分量算出手段と、
    サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記予備サーバが前記目標応答時間において処理可能な単位負荷量を示す処理量を算出する処理量算出手段と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段と、
    前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させ、または停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更手段と
    を備えたことを特徴とする資源量計算システム。
  21. 負荷分散装置がクライアントからのリクエストを割り振り可能なサーバ資源量を計算する資源量計算方法であって、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位負荷量および前記特定のサービスの現在の応答時間を取得するステップと、
    前記取得された前記現在の単位負荷量および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記実行サーバにおける前記現在の単位負荷量と前記目標応答時間を実現するための単位負荷量との差を示す差分量を算出するステップと、
    サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記予備サーバが前記目標応答時間において処理可能な単位負荷量を示す処理量を算出するステップと、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
    前記選択されたサーバに対して前記特定のサービスを実行させ、または停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップと
    を有することを特徴とする資源量計算方法。
  22. 負荷分散装置がクライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載されるプログラムであって、
    特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位負荷量および前記特定のサービスの現在の応答時間を取得する処理と、
    前記取得された前記現在の単位負荷量および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記実行サーバにおける前記現在の単位負荷量と前記目標応答時間を実現するための単位負荷量との差を示す差分量を算出する処理と、
    サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記予備サーバが前記目標応答時間において処理可能な単位負荷量を示す処理量を算出する処理と、
    前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択する処理と、
    前記選択されたサーバに対して前記特定のサービスを実行させ、または停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する処理と
    を有することを特徴とするプログラム。
JP2007536528A 2005-09-20 2006-09-20 資源量計算システム、方法およびプログラム Active JP5050854B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007536528A JP5050854B2 (ja) 2005-09-20 2006-09-20 資源量計算システム、方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005272091 2005-09-20
JP2005272091 2005-09-20
PCT/JP2006/318615 WO2007034826A1 (ja) 2005-09-20 2006-09-20 資源量計算システム、方法およびプログラム
JP2007536528A JP5050854B2 (ja) 2005-09-20 2006-09-20 資源量計算システム、方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2007034826A1 JPWO2007034826A1 (ja) 2009-03-26
JP5050854B2 true JP5050854B2 (ja) 2012-10-17

Family

ID=37888869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007536528A Active JP5050854B2 (ja) 2005-09-20 2006-09-20 資源量計算システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US7937473B2 (ja)
JP (1) JP5050854B2 (ja)
WO (1) WO2007034826A1 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007034826A1 (ja) * 2005-09-20 2007-03-29 Nec Corporation 資源量計算システム、方法およびプログラム
US8819215B2 (en) * 2007-01-29 2014-08-26 Nokia Corporation System, methods, apparatuses and computer program products for providing step-ahead computing
US8831009B2 (en) * 2007-03-16 2014-09-09 Oracle International Corporation System and method for selfish child clustering
AU2008253650B2 (en) * 2007-05-15 2013-01-17 Wms Gaming Inc. Validation scheduling in a wagering game machine
US20080307426A1 (en) * 2007-06-05 2008-12-11 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic load management in high availability systems
JP5057961B2 (ja) * 2007-12-25 2012-10-24 三菱電機株式会社 情報処理装置及びプログラム
US20110066641A1 (en) * 2008-05-19 2011-03-17 Jipan Yang Handling enum queries in a communication network
JP5173614B2 (ja) * 2008-06-06 2013-04-03 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP4772854B2 (ja) * 2008-12-02 2011-09-14 株式会社日立製作所 計算機システムの構成管理方法、計算機システム及び構成管理プログラム
US8108503B2 (en) * 2009-01-14 2012-01-31 International Business Machines Corporation Dynamic load balancing between chassis in a blade center
US8930953B2 (en) * 2009-01-16 2015-01-06 International Business Machines Corporation Dynamic checking of hardware resources for virtual environments
JP5428416B2 (ja) * 2009-03-13 2014-02-26 日本電気株式会社 マルチタスク処理装置及び方法、並びにプログラム
US20120317069A1 (en) * 2010-02-23 2012-12-13 Nec Corporation Throughput sustaining support system, device, method, and program
JP2011186546A (ja) * 2010-03-04 2011-09-22 Nec System Technologies Ltd 負荷分散システム
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US8712950B2 (en) * 2010-04-29 2014-04-29 Microsoft Corporation Resource capacity monitoring and reporting
US10013662B2 (en) 2010-09-30 2018-07-03 Amazon Technologies, Inc. Virtual resource cost tracking with dedicated implementation resources
US11106479B2 (en) 2010-09-30 2021-08-31 Amazon Technologies, Inc. Virtual provisioning with implementation resource boundary awareness
US8606905B1 (en) * 2010-10-07 2013-12-10 Sprint Communications Company L.P. Automated determination of system scalability and scalability constraint factors
US8825858B1 (en) 2010-11-04 2014-09-02 Sprint Communications Company L.P. Virtual server resource monitoring and management
US8782211B1 (en) * 2010-12-21 2014-07-15 Juniper Networks, Inc. Dynamically scheduling tasks to manage system load
JP5414663B2 (ja) * 2010-12-24 2014-02-12 株式会社東芝 サービス提供システム、装置及びプログラム
US8639595B1 (en) 2011-03-10 2014-01-28 Amazon Technologies, Inc. Statistically cost-following accounting model for dedicated resources
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
US9722866B1 (en) 2011-09-23 2017-08-01 Amazon Technologies, Inc. Resource allocation to reduce correlated failures
JP5646442B2 (ja) * 2011-12-02 2014-12-24 株式会社野村総合研究所 分析装置および分析方法
US9154366B1 (en) 2011-12-14 2015-10-06 Sprint Communications Company L.P. Server maintenance modeling in cloud computing
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US10555145B1 (en) * 2012-06-05 2020-02-04 Amazon Technologies, Inc. Learned configuration of modification policies for program execution capacity
US9152458B1 (en) * 2012-08-30 2015-10-06 Google Inc. Mirrored stateful workers
US11521139B2 (en) 2012-09-24 2022-12-06 Amazon Technologies, Inc. Providing system resources with secure containment units
US9069482B1 (en) * 2012-12-14 2015-06-30 Emc Corporation Method and system for dynamic snapshot based backup and recovery operations
US9384227B1 (en) * 2013-06-04 2016-07-05 Amazon Technologies, Inc. Database system providing skew metrics across a key space
US10009284B2 (en) * 2013-06-28 2018-06-26 Verizon Patent And Licensing Inc. Policy-based session establishment and transfer in a virtualized/cloud environment
US9661023B1 (en) * 2013-07-12 2017-05-23 Symantec Corporation Systems and methods for automatic endpoint protection and policy management
US20150244795A1 (en) * 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US10896432B1 (en) * 2014-09-22 2021-01-19 Amazon Technologies, Inc. Bandwidth cost assignment for multi-tenant networks
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
CN105791073B (zh) * 2014-12-23 2019-07-19 华为技术有限公司 一种虚拟化网络中业务部署的方法和装置
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
WO2016137496A1 (en) * 2015-02-27 2016-09-01 Hewlett Packard Enterprise Development Lp Responsive server identification among multiple data servers linked to a shared memory
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US20170109055A1 (en) * 2015-10-15 2017-04-20 Pure Storage, Inc. Capacity planning in a multi-array storage system
US10904358B2 (en) 2016-02-29 2021-01-26 Red Hat, Inc. Quality of service in a distributed system
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10715407B2 (en) * 2016-05-19 2020-07-14 Quest Software Inc. Dispatcher for adaptive data collection
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
JP6597823B2 (ja) * 2018-03-23 2019-10-30 日本電気株式会社 ロードバランシング装置、通信システム、制御方法及びプログラム
CN110710158B (zh) * 2018-05-07 2022-08-09 谷歌有限责任公司 验证与数字助理应用交接的代理的操作状态
US20200143293A1 (en) * 2018-11-01 2020-05-07 Microsoft Technology Licensing, Llc Machine Learning Based Capacity Management Automated System
US11233847B1 (en) * 2018-11-21 2022-01-25 Amazon Technologies, Inc. Management of allocated computing resources in networked environment
US11366697B2 (en) * 2019-05-01 2022-06-21 EMC IP Holding Company LLC Adaptive controller for online adaptation of resource allocation policies for iterative workloads using reinforcement learning
US11818056B2 (en) * 2021-06-24 2023-11-14 Charter Communications Operating, Llc Dynamic computing resource management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2005182641A (ja) * 2003-12-22 2005-07-07 Hitachi Information Systems Ltd 動的負荷分散システム及び動的負荷分散方法
JP2005196601A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 自律管理システム向けポリシシミュレータ
JP3716753B2 (ja) * 2001-03-21 2005-11-16 日本電気株式会社 マルチプロセッサ構成の計算機間におけるトランザクション負荷分散方法及び方式並びにプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4739472B2 (ja) * 1998-12-04 2011-08-03 新日鉄ソリューションズ株式会社 性能予測装置および方法、記録媒体
JP4292693B2 (ja) * 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
US6973622B1 (en) * 2000-09-25 2005-12-06 Wireless Valley Communications, Inc. System and method for design, tracking, measurement, prediction and optimization of data communication networks
US20020152301A1 (en) * 2000-12-19 2002-10-17 Reactive Networking, Inc. System and method for determining the state of a service within a computer network
US6807522B1 (en) * 2001-02-16 2004-10-19 Unisys Corporation Methods for predicting instruction execution efficiency in a proposed computer system
US20030154236A1 (en) * 2002-01-22 2003-08-14 Shaul Dar Database Switch enabling a database area network
US7184933B2 (en) * 2003-02-28 2007-02-27 Hewlett-Packard Development Company, L.P. Performance estimation tool for data storage systems
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
US20050138168A1 (en) * 2003-12-23 2005-06-23 Hoffman Philip M. System and method for metering the performance of a data processing system
US8219702B2 (en) * 2004-04-30 2012-07-10 Canon Kabushiki Kaisha Video delivery apparatus and method
WO2007034826A1 (ja) * 2005-09-20 2007-03-29 Nec Corporation 資源量計算システム、方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP3716753B2 (ja) * 2001-03-21 2005-11-16 日本電気株式会社 マルチプロセッサ構成の計算機間におけるトランザクション負荷分散方法及び方式並びにプログラム
JP2005182641A (ja) * 2003-12-22 2005-07-07 Hitachi Information Systems Ltd 動的負荷分散システム及び動的負荷分散方法
JP2005196601A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 自律管理システム向けポリシシミュレータ

Also Published As

Publication number Publication date
US20090157870A1 (en) 2009-06-18
JPWO2007034826A1 (ja) 2009-03-26
US7937473B2 (en) 2011-05-03
WO2007034826A1 (ja) 2007-03-29

Similar Documents

Publication Publication Date Title
JP5050854B2 (ja) 資源量計算システム、方法およびプログラム
Cicconetti et al. A decentralized framework for serverless edge computing in the internet of things
CN110858161B (zh) 资源分配方法、装置、系统、设备和介质
EP3161632B1 (en) Integrated global resource allocation and load balancing
US8555287B2 (en) Automated capacity provisioning method using historical performance data
JP6380110B2 (ja) リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム
US20120173734A1 (en) Dynamic Application Placement Under Service and Memory Constraints
CN107911399B (zh) 一种基于负载预测的弹性伸缩方法及系统
US10069757B1 (en) Reserved network device capacity
US20060224731A1 (en) Method for measuring server performance, system for measuring server performance and computer programs therefor
JP5609730B2 (ja) 情報処理プログラム及び方法、転送処理装置
CN111506413B (zh) 一种基于业务效率优化的智能任务调度方法及系统
Mirobi et al. Dynamic load balancing approach for minimizing the response time using an enhanced throttled load balancer in cloud computing
Rajan Service request scheduling based on quantification principle using conjoint analysis and Z-score in cloud
JP5388134B2 (ja) 計算機システム、及び、移動データ決定方法
CN115168017B (zh) 一种任务调度云平台及其任务调度方法
Yu et al. Optimize the server provisioning and request dispatching in distributed memory cache services
JP2011150472A (ja) ウェブサービスシステム、サーバ選択基準決定装置、サーバ選択基準決定方法およびプログラム
Ethilu et al. An Efficient Switch Migration Scheme for Load Balancing in Software Defined Networking
Bo et al. Adaptive scheme based on status feedback for virtual network mapping
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
Kumar et al. Conceptual service level agreement mechanism to minimize the SLA violation with SLA negotiation process in cloud computing environment
JP2001099925A (ja) 並列多目標追尾装置
JP5469128B2 (ja) プログラム実行制御方法及びプログラム実行制御装置
JP4961994B2 (ja) 帯域利用制御システム、帯域利用制御方法、装置及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

R150 Certificate of patent or registration of utility model

Ref document number: 5050854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3