JP6958413B2 - 情報処理装置、情報処理システム、及びプログラム - Google Patents

情報処理装置、情報処理システム、及びプログラム Download PDF

Info

Publication number
JP6958413B2
JP6958413B2 JP2018026691A JP2018026691A JP6958413B2 JP 6958413 B2 JP6958413 B2 JP 6958413B2 JP 2018026691 A JP2018026691 A JP 2018026691A JP 2018026691 A JP2018026691 A JP 2018026691A JP 6958413 B2 JP6958413 B2 JP 6958413B2
Authority
JP
Japan
Prior art keywords
load
server
request
information processing
inspection signal
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
JP2018026691A
Other languages
English (en)
Other versions
JP2019144715A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018026691A priority Critical patent/JP6958413B2/ja
Priority to US16/271,311 priority patent/US10868860B2/en
Publication of JP2019144715A publication Critical patent/JP2019144715A/ja
Application granted granted Critical
Publication of JP6958413B2 publication Critical patent/JP6958413B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、情報処理システム、及びプログラムに関する。
複数のクライアント端末からのリクエストを処理する情報処理システムにおいて、可用性を向上させる技術として、ロードバランサによりサーバのフェイルオーバを実施する方法が存在する。
ロードバランサを用いて複数のサーバを1台の仮想的なサーバに見立てる技術、及びサーバ等のヘルスチェックを行う技術も知られている(例えば、特許文献1〜特許文献3を参照)。
特開2009−265778号公報 特表2014−534491号公報 特開2009−117915号公報
ロードバランサがヘルスチェック通信を行うことでサーバのフェイルオーバを実施する場合、必ずしも適切なタイミングでフェイルオーバが実施されるとは限らない。
なお、かかる問題は、ロードバランサがサーバのフェイルオーバを実施する場合に限らず、他の情報処理装置がリクエストを処理する装置の切り替えを決定する場合においても生ずるものである。
1つの側面において、本発明は、リクエストを処理する装置の切り替えを適切に実施することを目的とする。
1つの案では、情報処理装置は、通信部、計算部、制御部、及び決定部を含む。通信部は、検査信号を第1装置へ送信し、検査信号に対する応答と第1装置の負荷を示す負荷情報とを、第1装置から受信する。計算部は、所定期間内における応答と負荷情報とに基づいて、第1装置の負荷毎に、検査信号に対する第1装置の応答時間の閾値を計算する。
制御部は、所定期間の経過後に、第1装置の応答時間が第1装置の負荷に対応する閾値を超えた場合、第1装置に対するリクエストを第1装置と第2装置とに振り分ける。決定部は、リクエストが第1装置と第2装置とに振り分けられた後、第1装置から受信する負荷情報が示す第1負荷と、第2装置から受信する負荷情報が示す第2負荷とを比較した結果に基づいて、第1装置から第2装置への切り替えを決定する。
1つの実施形態によれば、リクエストを処理する装置の切り替えを適切に実施することができる。
情報処理システムの構成図である。 情報処理装置の機能的構成図である。 制御処理のフローチャートである。 可変の閾値を用いる情報処理システムの構成図である。 ロードバランサの機能的構成図である。 サーバの第1の機能的構成図である。 応答時間情報を示す図である。 閾値情報を示す図である。 フェイルオーバを示す図である。 負荷情報通知処理のフローチャートである。 第1の制御処理のフローチャートである。 予備サーバのスケールアップを示す図である。 予備サーバの交換を示す図である。 第2の制御処理のフローチャート(その1)である。 第2の制御処理のフローチャート(その2)である。 サーバの第2の機能的構成図である。 情報処理装置のハードウェア構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
図1は、ロードバランサを含む情報処理システムの構成例を示している。図1の情報処理システムは、ロードバランサ101、サーバ102−1、及びサーバ102−2を含む。クライアント端末103−1〜クライアント端末103−3は、通信ネットワーク104を介してロードバランサ101と通信し、リクエストをロードバランサ101へ送信する。
サーバ102−1は現用サーバであり、サーバ102−2は予備サーバである。ロードバランサ101は、クライアント端末103−1〜クライアント端末103−3から受信したリクエストをサーバ102−1へ送信し、サーバ102−1から受信した応答をクライアント端末103−1〜クライアント端末103−3へ送信する。
ロードバランサ101は、ヘルスチェック通信によりサーバ102−1の健全性を監視し、サーバ102−1で異常が発生していると判定した場合、サーバ102−1からサーバ102−2へのフェイルオーバを実施する。これにより、現用サーバがサーバ102−1からサーバ102−2へ切り替えられ、サーバ102−1が行っていた処理がサーバ102−2に引き継がれるため、高可用性が実現される。
ヘルスチェック通信を行う場合、許容遅延時間及び連続失敗許容回数が設定ファイルに設定される。許容遅延時間は、ロードバランサ101がヘルスチェック通信における検査信号をサーバ102−1へ送信してから、その検査信号に対する応答をサーバ102−1から受信するまでの応答時間の許容値を表す。応答時間が許容遅延時間を超えた場合、ヘルスチェック通信が失敗したものと判定される。
連続失敗許容回数は、ヘルスチェック通信が連続して失敗する回数の許容値を表す。ヘルスチェック通信の連続失敗回数が連続失敗許容回数を超えた場合、サーバ102−1で異常が発生していると判定される。この場合、ロードバランサ101は、フェイルオーバを実施して、サーバ102−2へのリクエストの送信を開始する。
設定ファイルに設定される許容遅延時間及び連続失敗許容回数は、固定値であることが多いため、以下のような場合に、適切なフェイルオーバが行われない。
(1)許容遅延時間を短く設定した場合、サーバ102−1に小さな負荷がかかっただけでも、誤ってフェイルオーバが実施される。
(2)許容遅延時間を長く設定した場合、サーバ102−1に異常が発生したときに、サービスダウンタイムが長くなる。
(3)フェイルオーバの効果がない場合でも、フェイルオーバが実施される。
例えば、許容遅延時間が1msに設定された場合、サーバ102−1の異常発生時に、フェイルオーバが迅速に実施されるため、サービスダウンタイムは短くて済む。しかし、サーバ102−1のCPU(Central Processing Unit)使用率が10%程度であっても、応答時間が1msを超えてしまい、ヘルスチェック通信の一時的な遅延によってフェイルオーバが実施されることがある。
一方、許容遅延時間が5分に設定された場合、ヘルスチェック通信の一時的な遅延によってフェイルオーバが実施されることはないが、サーバ102−1の異常発生時のサービスダウンタイムは長くなる。
図2は、実施形態の情報処理装置の機能的構成例を示している。図2の情報処理装置201は、通信部211、計算部212、制御部213、及び決定部214を含む。
図3は、図2の情報処理装置201が行う制御処理の例を示すフローチャートである。まず、通信部211は、所定期間内において、検査信号を第1装置へ送信し(ステップ301)、検査信号に対する応答と第1装置の負荷を示す負荷情報とを、第1装置から受信する(ステップ302)。そして、計算部212は、所定期間内における応答と負荷情報とに基づいて、第1装置の負荷毎に、検査信号に対する第1装置の応答時間の閾値を計算する(ステップ303)。
次に、通信部211は、所定期間の経過後に、検査信号を第1装置へ送信し(ステップ304)、検査信号に対する応答と第1装置の負荷を示す負荷情報とを、第1装置から受信する(ステップ305)。
次に、制御部213は、第1装置の応答時間が第1装置の負荷に対応する閾値を超えた場合、第1装置に対するリクエストを第1装置と第2装置とに振り分ける(ステップ306)。そして、決定部214は、第1装置から受信する負荷情報が示す第1負荷と、第2装置から受信する負荷情報が示す第2負荷とを比較した結果に基づいて、第1装置から第2装置への切り替えを決定する(ステップ307)。
図2の情報処理装置201によれば、リクエストを処理する装置の切り替えを適切に実施することができる。
図4は、可変の閾値を用いる情報処理システムの構成例を示している。図4の情報処理システムは、ロードバランサ401、サーバ402−1、及びサーバ402−2を含み、ロードバランサ401は、図2の情報処理装置201に対応する。
クライアント端末403−1〜クライアント端末403−3は、通信ネットワーク404を介してロードバランサ401と通信し、リクエストをロードバランサ401へ送信する。クライアント端末の台数は3台には限られず、2台以下であってもよく、4台以上であってもよい。
サーバ402−1及びサーバ402−2は、第1装置及び第2装置にそれぞれ対応する。サーバ402−1は現用サーバであり、サーバ402−1内では、現用仮想マシン(Virtual Machine,VM)が動作している。サーバ402−2は予備サーバであり、サーバ402−2内には、フェイルオーバが実施される前に予備VMが生成される。
ロードバランサ401は、クライアント端末403−1〜クライアント端末403−3から受信したリクエストをサーバ402−1のVMへ送信し、そのVMから受信した応答をクライアント端末403−1〜クライアント端末403−3へ送信する。
図5は、図4のロードバランサ401の機能的構成例を示している。図5のロードバランサ401は、通信部511、記憶部512、選択部513、計算部514、制御部515、及び決定部516を含む。通信部511、計算部514、制御部515、及び決定部516は、図2の通信部211、計算部212、制御部213、及び決定部214にそれぞれ対応する。
ユーザにより設定された所定の評価期間において、通信部511は、ヘルスチェック通信における検査信号をサーバ402−1へ送信し、その検査信号に対する応答とサーバ402−1の負荷を示す負荷情報とを、サーバ402−1から受信する。評価期間は、情報処理システムの構成又は条件に応じて決定され、例えば、数日〜数週間であってもよい。負荷情報としては、CPU使用率、ディスクI/O(Input/Output)量、ロードアベレージ、通信ネットワークのトラフィック量、メモリ又はスワップの使用量等を用いることができる。
選択部513は、予備VMを配備するサーバ402−2を選択し、選択したサーバ402−2に対してVMの生成を指示する。
計算部514は、評価期間内におけるサーバ402−1の応答時間と、サーバ402−1から受信する負荷情報とに基づいて、サーバ402−1の負荷の変化に対する応答時間の変化を示す応答時間情報521を生成し、記憶部512に格納する。そして、計算部514は、応答時間情報521を用いて、負荷毎に応答時間の閾値を計算し、計算した閾値を示す閾値情報522を生成して、記憶部512に格納する。
評価期間が経過した後も、通信部511は、検査信号をサーバ402−1へ送信し、その検査信号に対する応答とサーバ402−1の負荷を示す負荷情報とを、サーバ402−1から受信する。制御部515は、閾値情報522に基づいて、サーバ402−1の応答時間及び負荷を監視し、応答時間が負荷に対応する閾値を超えた場合、サーバ402−1に対するリクエストを、一時的にサーバ402−1及びサーバ402−2に振り分ける。
その後、通信部511は、サーバ402−2の負荷を示す負荷情報を、サーバ402−2から受信する。そして、決定部516は、VMサーバ402−1の応答時間及び負荷と、サーバ402−2の負荷とに基づいて、サーバ402−1からサーバ402−2へのフェイルオーバを実施するか否かを決定する。
図6は、図4のサーバ402−i(i=1,2)の第1の機能的構成例を示している。図6のサーバ402−iは、VM611、通知部612、及び生成部613を含む。VM611は、ロードバランサ401から受信したリクエストを処理して、そのリクエストに対する応答をロードバランサ401へ送信する。通知部612は、サーバ402−iの負荷を示す負荷情報をロードバランサ401へ送信する。生成部613は、ロードバランサ401からの指示に基づいて、VM611を生成する。
図7は、応答時間情報521の例を示している。図7の横軸はCPU使用率を表し、縦軸は応答時間を表す。曲線701は、応答時間情報521を表し、CPU使用率の変化に対する応答時間の変化を示している。点711〜点714は、評価期間においてサーバ402−1から受信した応答の応答時間と、応答とともに受信した負荷情報が示すCPU使用率とをマッピングした結果を表す。計算部514は、2つの点の間のデータを補間することで、点711〜点714を繋ぐ曲線701を生成する。
一方、直線702は、CPU使用率に依存しない最大許容遅延時間を表し、例えば、ユーザによって設定される。
図8は、閾値情報522の例を示している。曲線801は、図7の曲線701から計算される応答時間の閾値T1を表し、曲線701が示す応答時間よりも所定の割合R1だけ大きな値に設定されている。割合R1は、情報処理システムの構成又は条件に応じて決定され、例えば、0%〜30%の範囲であってもよい。
一方、直線802は、図7の直線702から計算される応答時間の閾値T2を表し、直線702が示す応答時間よりも所定の割合R2だけ小さな値に設定されている。所定の割合R2は、情報処理システムの構成又は条件に応じて決定され、例えば、0%〜30%の範囲であってもよい。
制御部515は、サーバ402−1の応答時間が、閾値T1又は閾値T2のいずれかを超えた場合、リクエストを一時的にサーバ402−1及びサーバ402−2に振り分けて、負荷の変化を検証する。そして、決定部516は、例えば、以下の条件が満たされた場合に、サーバ402−1からサーバ402−2へのフェイルオーバを実施すると決定する。
(C1)サーバ402−2のCPU使用率がサーバ402−1のCPU使用率よりも小さい。
(C2)サーバ402−1の応答時間が、閾値T1又は閾値T2のいずれかを超えている。
条件(C1)は、サーバ402−1及びサーバ402−2の負荷が不均衡になっていることを表し、条件(C2)は、リクエストの振り分けを行っても、サーバ402−1のCPU使用率が低下しないことを表す。
図9は、図4の情報処理システムにおけるフェイルオーバの例を示している。例えば、サーバ402−1のCPU使用率が90%であり、サーバ402−2のCPU使用率が20%である場合、条件(C1)が満たされる。さらに、条件(C2)も満たされた場合、決定部516は、フェイルオーバの実施を決定し、制御部515は、サーバ402−1のVMに対するリクエストの送信を停止する。
そして、選択部513は、サーバ402−2を現用サーバに設定し、サーバ402−2のVMを現用VMに設定し、サーバ402−1に対してVMの削除を指示する。また、選択部513は、新たなサーバ402−3を予備サーバに設定し、サーバ402−3に対してVMの生成を指示する。これにより、サーバ402−2のVMを新たな現用VMとし、サーバ402−3のVMを新たな予備VMとして、サーバ402−2の応答時間及び負荷の監視が開始される。
このような情報処理システムによれば、現用サーバの負荷に応じた可変の許容遅延時間を用いてヘルスチェックを行うことができ、負荷に応じた適切なタイミングでフェイルオーバを実施することが可能になる。
また、現用サーバの応答時間が許容遅延時間を超えた場合であっても、直ちにフェイルオーバを実施するのではなく、事前に負荷の変化を検証することで、負荷が低下することを確認した上でフェイルオーバを実施することが可能になる。これにより、フェイルオーバの効果が期待できる場合にフェイルオーバが実施され、情報処理システムが確実に復旧する。
図10は、図6の通知部612が行う負荷情報通知処理の例を示すフローチャートである。まず、通知部612は、サーバ402−1の負荷を測定し(ステップ1001)、測定した負荷を示す負荷情報をロードバランサ401へ送信する(ステップ1002)。そして、通知部612は、ロードバランサ401から負荷情報の送信停止を指示されたか否かをチェックする(ステップ1003)。
負荷情報の送信停止を指示されていない場合(ステップ1003,NO)、通知部612は、ステップ1001以降の処理を繰り返し、負荷情報の送信停止を指示された場合(ステップ1003,YES)、通知部612は、処理を終了する。
図11は、図5のロードバランサ401が行う第1の制御処理の例を示すフローチャートである。第1の制御処理では、負荷情報としてCPU使用率が用いられ、閾値情報522として、図8の曲線801が示す閾値T1及び直線802が示す閾値T2が用いられる。
まず、制御部515は、現用サーバであるサーバ402−1のVMの応答時間を、サーバ402−1のCPU使用率に対応する閾値T1と比較する(ステップ1101)。応答時間が閾値T1よりも長い場合(ステップ1101,YES)、制御部515は、サーバ402−1に対するリクエストを、サーバ402−1のVMと、予備サーバであるサーバ402−2のVMとに振り分ける制御を開始する(ステップ1103)。
一方、応答時間が閾値T1以下である場合(ステップ1101,NO)、制御部515は、応答時間を閾値T2と比較する(ステップ1102)。応答時間が閾値T2よりも長い場合(ステップ1102,YES)、ロードバランサ401は、ステップ1103以降の処理を行う。一方、応答時間が閾値T2以下である場合(ステップ1102,NO)、ロードバランサ401は、処理を終了する。
リクエストがサーバ402−1及びサーバ402−2に振り分けられた後、決定部516は、サーバ402−1のCPU使用率とサーバ402−2のCPU使用率とを比較する(ステップ1104)。サーバ402−2のCPU使用率がサーバ402−1のCPU使用率以上である場合(ステップ1104,NO)、ロードバランサ401は、処理を終了する。
一方、サーバ402−2のCPU使用率がサーバ402−1のCPU使用率よりも小さい場合(ステップ1104,YES)、決定部516は、サーバ402−1のVMの応答時間を、サーバ402−1のCPU使用率に対応する閾値T1と比較する(ステップ1105)。応答時間が閾値T1よりも長い場合(ステップ1101,YES)、決定部516は、フェイルオーバの実施を決定し、制御部515は、サーバ402−1のVMに対するリクエストの送信を停止する(ステップ1107)。
次に、選択部513は、サーバ402−2を現用サーバに設定し、サーバ402−2のVMを現用VMに設定する(ステップ1108)。次に、選択部513は、新たなサーバ402−3を予備サーバに設定し、サーバ402−3に対してVMの生成を指示する(ステップ1109)。そして、選択部513は、旧現用サーバであるサーバ402−1に対してVMの削除を指示する(ステップ1110)。
一方、応答時間が閾値T1以下である場合(ステップ1105,NO)、決定部516は、応答時間を最大許容遅延時間と比較する(ステップ1106)。応答時間が最大許容遅延時間よりも長い場合(ステップ1106,YES)、ロードバランサ401は、ステップ1107以降の処理を行う。一方、応答時間が最大許容遅延時間以下である場合(ステップ1106,NO)、ロードバランサ401は、ステップ1105以降の処理を行う。
第1の制御処理によれば、リクエストの振り分け開始後に、予備サーバの負荷が現用サーバの負荷よりも小さく、かつ、現用サーバの応答時間が閾値T1又は最大許容遅延時間を超えている場合に、フェイルオーバを実施することが可能になる。
ところで、リクエストをサーバ402−1及びサーバ402−2に振り分けても、VMの性能が限界に到達しているために、サーバ402−1及びサーバ402−2のCPU使用率に顕著な差異がないと判定される場合が考えられる。この場合、予備サーバの健全化のために、スケールアップを行うことが望ましい。
図12は、予備サーバのスケールアップの例を示している。この例では、サーバ402−1及びサーバ402−2の各VMは、1個の仮想CPU(Virtual CPU,VCPU)と1Gバイトのメモリを有する。これらのVMに対するリクエストの振り分け開始後に、サーバ402−1のCPU使用率が79%になり、サーバ402−2のCPU使用率が80%になった場合、CPU使用率の差分が小さいため、VMの性能が限界に到達していると判定される。
そこで、ロードバランサ401は、新たなサーバ1201に対して、サーバ402−2のVMよりも高性能なVMの生成を指示し、サーバ1201は、2個のVCPUと2Gバイトのメモリを有するVMを生成する。
その後、ロードバランサ401は、サーバ1201を新たな予備サーバとして用いて、リクエストをサーバ402−1のVMとサーバ1201のVMとに振り分ける制御を開始する。そして、ロードバランサ401は、サーバ1201のCPU使用率をチェックし、サーバ1201のCPU使用率がサーバ402−2のCPU使用率よりも小さくなった場合、サーバ402−1からサーバ1201へのフェイルオーバを実施するか否かを決定する。
また、リクエストをサーバ402−1及びサーバ402−2に振り分けても、サーバ402−2に異常が発生しているために、サーバ402−2のCPU使用率がサーバ402−1のCPU使用率よりもかなり大きいと判定される場合も考えられる。この場合、予備サーバの健全化のために、サーバ402−2を別の予備サーバに交換することが望ましい。
図13は、予備サーバの交換の例を示している。この例では、サーバ402−1及びサーバ402−2に対するリクエストの振り分け開始後に、サーバ402−1のCPU使用率が70%になり、サーバ402−2のCPU使用率が99%になっている。この場合、サーバ402−2のCPU使用率がサーバ402−1のCPU使用率よりもかなり大きいため、サーバ402−2に異常が発生していると判定される。
そこで、ロードバランサ401は、新たなサーバ1201に対してVMの生成を指示し、サーバ1201は、VMを生成する。その後、ロードバランサ401は、サーバ1201を新たな予備サーバとして用いて、リクエストをサーバ402−1のVMとサーバ1201のVMとに振り分ける制御を開始し、サーバ402−1及びサーバ1201のCPU使用率をチェックする。そして、サーバ1201のCPU使用率がサーバ402−1のCPU使用率よりも小さくなった場合、ロードバランサ401は、サーバ402−1からサーバ1201へのフェイルオーバを実施するか否かを決定する。
図14A及び図14Bは、図5のロードバランサ401が行う第2の制御処理の例を示すフローチャートである。第2の制御処理では、図11に示した第1の制御処理に対して、予備サーバのスケールアップ及び交換の処理が付加されている。ステップ1401〜ステップ1410の処理は、図11のステップ1101〜ステップ1110の処理と同様である。
ステップ1404において、サーバ402−2のCPU使用率がサーバ402−1のCPU使用率以上である場合(ステップ1404,NO)、制御部515は、それらのCPU使用率の差分を所定値と比較する(ステップ1411)。例えば、所定値としては、1%〜10%の範囲の値を用いることができる。
CPU使用率の差分が所定値以下である場合(ステップ1411,YES)、選択部513は、新たなサーバ1201を新予備サーバに設定し、サーバ1201に対して、サーバ402−2のVMよりも高性能なVMの生成を指示する(ステップ1412)。
次に、制御部515は、リクエストをサーバ402−1のVMとサーバ1201のVMとに振り分ける制御を開始し(ステップ1413)、旧予備サーバであるサーバ402−2のVMに対するリクエストの送信を停止する(ステップ1414)。
次に、選択部513は、サーバ402−2に対してVMの削除を指示し(ステップ1415)、制御部515は、サーバ1201のCPU使用率と、ステップ1411におけるサーバ402−2のCPU使用率とを比較する(ステップ1416)。
サーバ1201のCPU使用率がサーバ402−2のCPU使用率よりも小さい場合(ステップ1416,YES)、ロードバランサ401は、ステップ1404以降の処理を行う。一方、サーバ1201のCPU使用率がサーバ402−2のCPU使用率以上である場合(ステップ1416,NO)、ロードバランサ401は、処理を終了する。
CPU使用率の差分が所定値よりも大きい場合(ステップ1411,NO)、選択部513は、新たなサーバ1201を新予備サーバに設定し、サーバ1201に対してVMの生成を指示する(ステップ1417)。
次に、制御部515は、リクエストをサーバ402−1のVMとサーバ1201のVMとに振り分ける制御を開始し(ステップ1418)、旧予備サーバであるサーバ402−2のVMに対するリクエストの送信を停止する(ステップ1419)。
次に、選択部513は、サーバ402−2に対してVMの削除を指示し(ステップ1420)、制御部515は、サーバ1201のCPU使用率と、現用サーバであるサーバ402−1のCPU使用率とを比較する(ステップ1421)。
サーバ1201のCPU使用率がサーバ402−1のCPU使用率よりも小さい場合(ステップ1421,YES)、ロードバランサ401は、ステップ1404以降の処理を行う。一方、サーバ1201のCPU使用率がサーバ402−1のCPU使用率以上である場合(ステップ1421,NO)、ロードバランサ401は、処理を終了する。
第2の制御処理によれば、リクエストの振り分け開始後に、予備サーバの負荷が現用サーバの負荷以上である場合に、予備サーバのスケールアップ又は交換を行うことで、予備サーバの負荷を低下させることができる。これにより、フェイルオーバを円滑に実施することが可能になる。
なお、ステップ1412及びステップ1417において、選択部513は、新たなサーバ1201の代わりに、サーバ402−2に対してVMの生成を指示することも可能である。この場合、以降の処理において、サーバ1201の代わりに、サーバ402−2が予備サーバとして用いられる。
図15は、図4のサーバ402−iの第2の機能的構成例を示している。図15のサーバ402−iは、図6のサーバ402−iとは異なり、VM1511及び生成部1512を含む。VM1511は、通知部1513を含み、ロードバランサ401から受信したリクエストを処理して、そのリクエストに対する応答をロードバランサ401へ送信する。通知部1513は、サーバ402−iの負荷を示す負荷情報をロードバランサ401へ送信する。生成部1512は、ロードバランサ401からの指示に基づいて、VM1511を生成する。
このようなサーバ402−iの構成によれば、VM1511が負荷情報をロードバランサ401へ送信することが可能になる。
図2の情報処理装置201の構成は一例に過ぎず、情報処理装置201の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。
図1、図4、図9、図12、及び図13の情報処理システムの構成は一例に過ぎず、情報処理システムの用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、現用サーバ及び予備サーバは、2台以上であってもよい。
図5のロードバランサ401の構成は一例に過ぎず、情報処理システムの用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。図6及び図15のサーバ402−iの構成は一例に過ぎず、情報処理システムの用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。
図3、図10、図11、図14A、及び図14Bのフローチャートは一例に過ぎず、情報処理システムの構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、最大許容遅延時間及び閾値T2が設定されていない場合は、図11のステップ1102、ステップ1106、図14Aのステップ1402、及びステップ1406の処理を省略することができる。
図11、図14A、及び図14Bの制御処理において、CPU使用率の代わりに、ディスクI/O量、ロードアベレージ、通信ネットワークのトラフィック量、メモリ又はスワップの使用量等を負荷情報として用いてもよい。
図7の応答時間情報及び図8の閾値情報は一例に過ぎず、応答時間情報及び閾値情報は、情報処理システムの構成又は条件と負荷情報の種類に応じて変化する。
図16は、図2の情報処理装置201又は図5のロードバランサ401として用いられる情報処理装置(コンピュータ)のハードウェア構成例を示している。図16の情報処理装置は、CPU1601、メモリ1602、入力装置1603、出力装置1604、補助記憶装置1605、媒体駆動装置1606、及びネットワーク接続装置1607を含む。これらの構成要素はバス1608により互いに接続されている。
メモリ1602は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ1602は、図5の記憶部512として用いることができる。
CPU1601(プロセッサ)は、例えば、メモリ1602を利用してプログラムを実行することにより、図2の計算部212、制御部213、及び決定部214として動作する。CPU1601は、メモリ1602を利用してプログラムを実行することにより、図5の選択部513、計算部514、制御部515、及び決定部516としても動作する。
入力装置1603は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置1604は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。
補助記憶装置1605は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1605は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置1605にプログラム及びデータを格納しておき、それらをメモリ1602にロードして使用することができる。補助記憶装置1605は、図5の記憶部512として用いることができる。
媒体駆動装置1606は、可搬型記録媒体1609を駆動し、その記録内容にアクセスする。可搬型記録媒体1609は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1609は、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体1609にプログラム及びデータを格納しておき、それらをメモリ1602にロードして使用することができる。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1602、補助記憶装置1605、又は可搬型記録媒体1609のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置1607は、LAN(Local Area Network)、WAN(Wide Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1607を介して受信し、それらをメモリ1602にロードして使用することができる。ネットワーク接続装置1607は、図2の通信部211又は図5の通信部511として用いることができる。
なお、情報処理装置が図16のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置1603及び出力装置1604を省略してもよい。また、可搬型記録媒体1609を使用しない場合は、媒体駆動装置1606を省略してもよい。
図16の情報処理装置は、図6のサーバ402−iとしても用いることができる。この場合、CPU1601は、メモリ1602を利用してプログラムを実行することにより、通知部612及び生成部613として動作するとともに、VM611を動作させる。
図16の情報処理装置は、図15のサーバ402−iとしても用いることができる。この場合、CPU1601は、メモリ1602を利用してプログラムを実行することにより、生成部1512として動作するとともに、VM1511及び通知部1513を動作させる。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図16を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
検査信号を第1装置へ送信し、前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信する通信部と、
所定期間内における前記応答と前記負荷情報とに基づいて、前記第1装置の負荷毎に、前記検査信号に対する前記第1装置の応答時間の閾値を計算する計算部と、
前記所定期間の経過後に、前記第1装置の応答時間が前記第1装置の負荷に対応する閾値を超えた場合、前記第1装置に対するリクエストを前記第1装置と第2装置とに振り分ける制御部と、
前記リクエストが前記第1装置と前記第2装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す第1負荷と、前記第2装置から受信する負荷情報が示す第2負荷とを比較した結果に基づいて、前記第1装置から前記第2装置への切り替えを決定する決定部と、
を備えることを特徴とする情報処理装置。
(付記2)
前記決定部は、前記第2負荷が前記第1負荷よりも小さく、かつ、前記第1装置の応答時間が前記第1負荷に対応する閾値を超えている場合、前記第1装置から前記第2装置への切り替えを決定することを特徴とする付記1記載の情報処理装置。
(付記3)
前記制御部は、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が所定値よりも大きい場合、前記第1装置に対するリクエストを前記第1装置と第3装置とに振り分け、
前記決定部は、前記リクエストが前記第1装置と前記第3装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする付記1又は2記載の情報処理装置。
(付記4)
前記制御部は、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が前記所定値以下である場合、前記第1装置に対するリクエストを、前記第1装置内で動作する第1仮想マシンと、前記第3装置内で動作する第2仮想マシンとに振り分け、
前記第2仮想マシンは、前記第1仮想マシンよりも性能が高い仮想マシンであり、
前記決定部は、前記リクエストが前記第1仮想マシンと前記第2仮想マシンとに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする付記3記載の情報処理装置。
(付記5)
第1装置と、
第2装置と、
前記第1装置に対するリクエストを受信し、受信したリクエストを前記第1装置へ送信する情報処理装置とを備え、
前記情報処理装置は、
検査信号を第1装置へ送信し、前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信する通信部と、
所定期間内における前記応答と前記負荷情報とに基づいて、前記第1装置の負荷毎に、前記検査信号に対する前記第1装置の応答時間の閾値を計算する計算部と、
前記所定期間の経過後に、前記第1装置の応答時間が前記第1装置の負荷に対応する閾値を超えた場合、前記リクエストを前記第1装置と前記第2装置とに振り分ける制御部と、
前記リクエストが前記第1装置と前記第2装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第2装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第2装置への切り替えを決定する決定部と、
を含むことを特徴とする情報処理システム。
(付記6)
前記決定部は、前記第2負荷が前記第1負荷よりも小さく、かつ、前記第1装置の応答時間が前記第1負荷に対応する閾値を超えている場合、前記第1装置から前記第2装置への切り替えを決定することを特徴とする付記5記載の情報処理システム。
(付記7)
前記情報処理システムは、第3装置をさらに備え、
前記制御部は、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が所定値よりも大きい場合、前記第1装置に対するリクエストを前記第1装置と前記第3装置とに振り分け、
前記決定部は、前記リクエストが前記第1装置と前記第3装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする付記5又は6記載の情報処理システム。
(付記8)
前記制御部は、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が前記所定値以下である場合、前記第1装置に対するリクエストを、前記第1装置内で動作する第1仮想マシンと、前記第3装置内で動作する第2仮想マシンとに振り分け、
前記第2仮想マシンは、前記第1仮想マシンよりも性能が高い仮想マシンであり、
前記決定部は、前記リクエストが前記第1仮想マシンと前記第2仮想マシンとに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする付記7記載の情報処理システム。
(付記9)
所定期間内において、検査信号を第1装置へ送信し、
前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信し、
前記応答と前記負荷情報とに基づいて、前記第1装置の負荷毎に、前記検査信号に対する前記第1装置の応答時間の閾値を計算し、
前記所定期間の経過後に、前記検査信号を前記第1装置へ送信し、
前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信し、
前記第1装置の応答時間が前記第1装置の負荷に対応する閾値を超えた場合、前記第1装置に対するリクエストを前記第1装置と第2装置とに振り分け、
前記リクエストが前記第1装置と前記第2装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す第1負荷と、前記第2装置から受信する負荷情報が示す第2負荷とを比較した結果に基づいて、前記第1装置から前記第2装置への切り替えを決定する、
処理をコンピュータに実行させるためのプログラム。
(付記10)
前記コンピュータは、前記第2負荷が前記第1負荷よりも小さく、かつ、前記第1装置の応答時間が前記第1負荷に対応する閾値を超えている場合、前記第1装置から前記第2装置への切り替えを決定することを特徴とする付記9記載のプログラム。
(付記11)
前記コンピュータは、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が所定値よりも大きい場合、前記第1装置に対するリクエストを前記第1装置と第3装置とに振り分け、前記リクエストが前記第1装置と前記第3装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする付記9又は10記載のプログラム。
(付記12)
前記コンピュータは、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が前記所定値以下である場合、前記第1装置に対するリクエストを、前記第1装置内で動作する第1仮想マシンと、前記第3装置内で動作する第2仮想マシンとに振り分け、
前記第2仮想マシンは、前記第1仮想マシンよりも性能が高い仮想マシンであり、
前記コンピュータは、前記リクエストが前記第1仮想マシンと前記第2仮想マシンとに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする付記11記載のプログラム。
101、401 ロードバランサ
102−1、102−2、402−1〜402−3、1201 サーバ
103−1〜103−3、403−1〜403−3 クライアント端末
104、404 通信ネットワーク
201 情報処理装置
211、511 通信部
212、514 計算部
213、515 制御部
214、516 決定部
512 記憶部
513 選択部
521 応答時間情報
522 閾値情報
611、1511 VM
612、1513 通知部
613、1512 生成部
701、801 曲線
702、802 直線
711〜714 点
1601 CPU
1602 メモリ
1603 入力装置
1604 出力装置
1605 補助記憶装置
1606 媒体駆動装置
1607 ネットワーク接続装置
1608 バス
1609 可搬型記録媒体

Claims (6)

  1. 検査信号を第1装置へ送信し、前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信する通信部と、
    所定期間内における前記応答と前記負荷情報とに基づいて、前記第1装置の負荷毎に、前記検査信号に対する前記第1装置の応答時間の閾値を計算する計算部と、
    前記所定期間の経過後に、前記第1装置の応答時間が前記第1装置の負荷に対応する閾値を超えた場合、前記第1装置に対するリクエストを前記第1装置と第2装置とに振り分ける制御部と、
    前記リクエストが前記第1装置と前記第2装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す第1負荷と、前記第2装置から受信する負荷情報が示す第2負荷とを比較した結果に基づいて、前記第1装置から前記第2装置への切り替えを決定する決定部と、
    を備えることを特徴とする情報処理装置。
  2. 前記決定部は、前記第2負荷が前記第1負荷よりも小さく、かつ、前記第1装置の応答時間が前記第1負荷に対応する閾値を超えている場合、前記第1装置から前記第2装置への切り替えを決定することを特徴とする請求項1記載の情報処理装置。
  3. 前記制御部は、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が所定値よりも大きい場合、前記第1装置に対するリクエストを前記第1装置と第3装置とに振り分け、
    前記決定部は、前記リクエストが前記第1装置と前記第3装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記制御部は、前記第2負荷が前記第1負荷よりも大きく、かつ、前記第2負荷と前記第1負荷との差分が前記所定値以下である場合、前記第1装置に対するリクエストを、前記第1装置内で動作する第1仮想マシンと、前記第3装置内で動作する第2仮想マシンとに振り分け、
    前記第2仮想マシンは、前記第1仮想マシンよりも性能が高い仮想マシンであり、
    前記決定部は、前記リクエストが前記第1仮想マシンと前記第2仮想マシンとに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第3装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第3装置への切り替えを決定することを特徴とする請求項3記載の情報処理装置。
  5. 第1装置と、
    第2装置と、
    前記第1装置に対するリクエストを受信し、受信したリクエストを前記第1装置へ送信する情報処理装置とを備え、
    前記情報処理装置は、
    検査信号を第1装置へ送信し、前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信する通信部と、
    所定期間内における前記応答と前記負荷情報とに基づいて、前記第1装置の負荷毎に、前記検査信号に対する前記第1装置の応答時間の閾値を計算する計算部と、
    前記所定期間の経過後に、前記第1装置の応答時間が前記第1装置の負荷に対応する閾値を超えた場合、前記リクエストを前記第1装置と前記第2装置とに振り分ける制御部と、
    前記リクエストが前記第1装置と前記第2装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す負荷と、前記第2装置から受信する負荷情報が示す負荷とを比較した結果に基づいて、前記第1装置から前記第2装置への切り替えを決定する決定部と、
    を含むことを特徴とする情報処理システム。
  6. 所定期間内において、検査信号を第1装置へ送信し、
    前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信し、
    前記応答と前記負荷情報とに基づいて、前記第1装置の負荷毎に、前記検査信号に対する前記第1装置の応答時間の閾値を計算し、
    前記所定期間の経過後に、前記検査信号を前記第1装置へ送信し、
    前記検査信号に対する応答と前記第1装置の負荷を示す負荷情報とを、前記第1装置から受信し、
    前記第1装置の応答時間が前記第1装置の負荷に対応する閾値を超えた場合、前記第1装置に対するリクエストを前記第1装置と第2装置とに振り分け、
    前記リクエストが前記第1装置と前記第2装置とに振り分けられた後、前記第1装置から受信する負荷情報が示す第1負荷と、前記第2装置から受信する負荷情報が示す第2負荷とを比較した結果に基づいて、前記第1装置から前記第2装置への切り替えを決定する、
    処理をコンピュータに実行させるためのプログラム。
JP2018026691A 2018-02-19 2018-02-19 情報処理装置、情報処理システム、及びプログラム Active JP6958413B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018026691A JP6958413B2 (ja) 2018-02-19 2018-02-19 情報処理装置、情報処理システム、及びプログラム
US16/271,311 US10868860B2 (en) 2018-02-19 2019-02-08 Information processing device and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018026691A JP6958413B2 (ja) 2018-02-19 2018-02-19 情報処理装置、情報処理システム、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019144715A JP2019144715A (ja) 2019-08-29
JP6958413B2 true JP6958413B2 (ja) 2021-11-02

Family

ID=67618254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018026691A Active JP6958413B2 (ja) 2018-02-19 2018-02-19 情報処理装置、情報処理システム、及びプログラム

Country Status (2)

Country Link
US (1) US10868860B2 (ja)
JP (1) JP6958413B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000479B (zh) * 2020-08-24 2022-11-25 辽宁省中科知产高新产业技术研究有限公司 一种基于大数据的处理方法、系统及服务器平台
US12095671B2 (en) * 2022-08-25 2024-09-17 Charter Communications Operating, Llc Apparatus and method for network function signaling latency reduction

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312365A (ja) * 1997-05-13 1998-11-24 Nec Corp 負荷分散システム
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US7574499B1 (en) * 2000-07-19 2009-08-11 Akamai Technologies, Inc. Global traffic management system using IP anycast routing and dynamic load-balancing
JP2005182641A (ja) * 2003-12-22 2005-07-07 Hitachi Information Systems Ltd 動的負荷分散システム及び動的負荷分散方法
JP2006285317A (ja) * 2005-03-31 2006-10-19 Tokyo Electric Power Co Inc:The 負荷判定システム、負荷分散システムおよび異常検出システム
JP4952514B2 (ja) 2007-11-01 2012-06-13 日本電気株式会社 通信装置、ヘルスチェック間隔調整方法およびヘルスチェック間隔調整プログラム
JP2009265778A (ja) 2008-04-22 2009-11-12 Dino Co Ltd 仮想化サーバ
US8578076B2 (en) * 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US9733983B2 (en) 2011-09-27 2017-08-15 Oracle International Corporation System and method for surge protection and rate acceleration in a traffic director environment
US20150234720A1 (en) * 2012-09-27 2015-08-20 Nec Corporation Standby system device, active system device, and load dispersion method
US9563463B2 (en) * 2013-12-13 2017-02-07 Hitachi, Ltd. Computer system and control method therefor

Also Published As

Publication number Publication date
US20190260828A1 (en) 2019-08-22
JP2019144715A (ja) 2019-08-29
US10868860B2 (en) 2020-12-15

Similar Documents

Publication Publication Date Title
US11487618B2 (en) Data storage method, apparatus, and system
US10942828B2 (en) Method for storing data shards, apparatus, and system
JP5526784B2 (ja) 縮退構成設計システムおよび方法
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
JP5353712B2 (ja) 冗長構成管理システムおよび方法
EP3564816A1 (en) Call chain-based concurrency control method, device, and control node
CN103942097B (zh) 一种数据处理方法、装置及具备相应装置的计算机
JP6958413B2 (ja) 情報処理装置、情報処理システム、及びプログラム
US20180285169A1 (en) Information processing system and computer-implemented method
EP3618350B1 (en) Protection switching method, device and system
CN110391880A (zh) 基于终端-服务器架构的访问请求处理方法和设备
KR20220044447A (ko) 로드 밸런싱 시스템, 방법, 장치, 전자 기기 및 저장 매체
US9826029B2 (en) Intelligent quality of service for replication
JP6186287B2 (ja) システムの管理サーバ及び制御方法
CN107153570B (zh) 一种虚拟机的数量控制方法及装置
JP2017068309A (ja) 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム
JP7334785B2 (ja) 運用管理装置、システム、方法及びプログラム
EP3355480B1 (en) Communication device, communication processing method, communication processing apparatus and communication system
JP4220430B2 (ja) 二重化ネットワーク制御システム
US20180323859A1 (en) Wireless data transfer between servers
JP2019159912A (ja) 画像転送システム、サーバ装置、クライアント端末、画像転送方法、及びプログラム
JP7065686B2 (ja) 情報処理システム、情報処理装置及びプログラム
CN111181744B (zh) 网关设备及其管理方法和管理平台
JP5170794B2 (ja) 記憶システム及びフェイルオーバ制御方法
CN112367388B (zh) 服务器与客户端并发通信的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

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: 20210907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210920

R150 Certificate of patent or registration of utility model

Ref document number: 6958413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150