JP2015503781A - エネルギー効率の良い分散型でエラスティックなロードバランシングのための方法および装置 - Google Patents

エネルギー効率の良い分散型でエラスティックなロードバランシングのための方法および装置 Download PDF

Info

Publication number
JP2015503781A
JP2015503781A JP2014549058A JP2014549058A JP2015503781A JP 2015503781 A JP2015503781 A JP 2015503781A JP 2014549058 A JP2014549058 A JP 2014549058A JP 2014549058 A JP2014549058 A JP 2014549058A JP 2015503781 A JP2015503781 A JP 2015503781A
Authority
JP
Japan
Prior art keywords
server
parent
service
load
service request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014549058A
Other languages
English (en)
Other versions
JP5978313B2 (ja
Inventor
ソン,ハオユイ
ハオ,ファン
ラクシュマン,ティルネル・ブイ
Original Assignee
アルカテル−ルーセント
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 アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2015503781A publication Critical patent/JP2015503781A/ja
Application granted granted Critical
Publication of JP5978313B2 publication Critical patent/JP5978313B2/ja
Expired - Fee Related 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

様々な実施形態は、エネルギー効率およびスケーラビリティを向上させるために負荷全体に適応し、負荷に伴う電力消費量をスケーリングするロードバランシング構成を提供する方法および装置を提供する。エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャは、ツリー構成として構造化された多層サーバの集合を含む。着信するサービス要求の取扱いは、複数のサーバの間で分散される。仮想負荷分散ツリー内の各サーバは、それ自体の負荷に基づいて着信するサービス要求を受け入れ、取り扱う。一旦、受信側サーバ上で所定のローディングに達すると、受信側サーバは、それ自体の子サーバのうちの1つまたは複数に着信する要求を渡す。

Description

本発明は、全体としてサーバロードバランシングを提供するための方法および装置に関する。
この項では、本発明をより良く理解することを手助けする際に役立つことがある態様を紹介する。したがって、この項の記述は、この観点から読まれるべきであり、何が従来技術にあるかまたは何が従来技術にないかに関する承認された事実として理解されるべきではない。
いくつかの知られたロードバランシングシステムでは、サービスは、高スループットおよび短い応答時間などの高い品質のサービスを提供するために複数のサーバをホストとすることがある。典型的なアーキテクチャは、フロントエンドロードバランサおよび一定数のバックエンドサーバを含むことができる。フロントエンドロードバランサは:ランダム、ラウンドロビン、または負荷に基づく分配、などの従来型の分配ポリシを使用して異なるサーバへ着信する要求を分散させる専用のハードウェアボックスであり得る。このモデルにおいては、全サーバノードはアクティブであり、サービス要求に対してサービスを返す準備ができている。
他の知られたロードバランシングシステムでは、フロントエンドロードバランサは、サーバが低エネルギー状態にとどまるようなより多くの機会を作り出すために、負荷が最も高いサーバがパフォーマンス制約を満足することができる限りその負荷が最も高いサーバに新しい要求を送る。しかしながら、多数の異種のサーバの負荷を追跡するには、高度で高価なフロントエンドロードバランサが必要となるので、この解決策はスケーラブルではない。
様々な実施形態は、エネルギー効率およびスケーラビリティを向上させるために負荷全体に適応し、負荷に伴う電力消費量をスケーリングするロードバランシング構成を提供する方法および装置を提供する。エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャは、ツリー構成として構造化された多層サーバの集合を含む。着信するサービス要求の取扱いは、多数のサーバの間で分散される。仮想負荷分散ツリー内の各サーバは、それ自体の負荷に基づいて着信するサービス要求を受け入れる。一旦、受信側サーバ上で所定のローディングに達すると、受信側サーバは、それ自体の子サーバのうちの1つまたは複数に着信する要求を渡す。
一実施形態では、親サーバにおいてエネルギー効率が良くかつエラスティックなロードバランシングを提供するための方法が提供される。本方法は:1つまたは複数のクライアントによってインスタンス化された複数のサービス要求を受信するステップと、サービス要求に基づいて複数のサービス要求の少なくとも一部に対応する複数のサービス取扱い判断を決定するステップと、サービス取扱い判断のうち第1の判断に基づいて子サーバを選択し、第1のサービス取扱い判断に対応する第1のサービス要求に基づいて第1の伝達されたサービス要求を送信するステップと、サービス取扱い判断のうち第2の判断に基づいて親サーバを選択し、第2のサービス取扱い判断に対応する第2のサービス要求を取り扱うステップとを含む。
いくつかの実施形態では、第2のサービス要求を取り扱うステップの行為は、第2のサービス要求のインスタンス化側クライアントに直接応答するステップを含む。
いくつかの実施形態では、本方法は:複数のサービス要求のうちの少なくとも1つに基づいて親サーバのローディングを示す親負荷を決定するステップと、親負荷およびサーバ負荷しきい値に基づいて親サーバの少なくとも1つの子サーバを起動させるステップとをも含む。
いくつかの実施形態では、本方法は:複数のサービス要求のうちの少なくとも1つに基づいて親サーバのローディングを示す親負荷を決定するステップと、親サーバの親である親−親サーバのローディングを示す親−親負荷を受信するステップと、親負荷、親−親負荷および親−親負荷しきい値に基づいて親サーバの動作をスリープモードに切り換えるステップとをさらに含む。
いくつかの実施形態では、本方法は:子サーバおよび第1のサービス要求に基づく少なくとも1つの関係する選択パラメータを登録するステップと、複数のサービス要求のうちの第3のサービス要求および少なくとも1つの登録した関係する選択パラメータに基づいて子サーバを選択するステップと、第3のサービス要求に基づいて第3の伝達されたサービス要求を送信するステップとをさらに含む。
第2の実施形態では、親サーバにおいてエネルギー効率が良くかつエラスティックなロードバランシングを提供するための装置が提供される。本装置は、データストレージと、データストレージに通信可能につなげられたプロセッサとを含む。プロセッサは:1つまたは複数のクライアントによってインスタンス化された複数のサービス要求を受信し、サービス要求に基づいて複数のサービス要求の少なくとも一部に対応する複数のサービス取扱い判断を決定し、サービス取扱い判断のうち第1の判断に基づいて子サーバを選択し、かつ第1のサービス取扱い判断に対応する第1のサービス要求に基づいて第1の伝達されたサービス要求を送信し、サービス取扱い判断のうち第2の判断に基づいて親サーバを選択し、かつ第2のサービス取扱い判断に対応する第2のサービス要求を取り扱うように構成される。
いくつかの実施形態では、第2のサービス要求を取り扱うことは、プロセッサに:第2のサービス要求のインスタンス化側クライアントに直接応答させるようにさらに構成されることを含む。
いくつかの実施形態では、プロセッサは:複数のサービス要求のうちの少なくとも1つに基づいて親サーバのローディングを示す親負荷を決定し、かつ親負荷およびサーバ負荷しきい値に基づいて親サーバの少なくとも1つの子サーバを起動させるようにさらに構成される。
いくつかの実施形態では、プロセッサは:複数のサービス要求のうちの少なくとも1つに基づいて親サーバのローディングを示す親負荷を決定し、親サーバの親である親−親サーバのローディングを示す親−親負荷を受信し、親負荷、親−親負荷および親−親負荷しきい値に基づいて親サーバの動作をスリープモードに切り換えるようにさらに構成される。
いくつかの実施形態では、10プロセッサは:子サーバおよび第1のサービス要求に基づく少なくとも1つの関係する選択パラメータを登録し、複数のサービス要求のうちの第3のサービス要求および少なくとも1つの登録した関係する選択パラメータに基づいて子サーバを選択し、第3のサービス要求に基づいて第3の伝達されたサービス要求を送信するようにさらに構成される。
いくつかの実施形態では、子サーバの選択は、子サーバの子サーバ負荷の割合および親サーバの少なくとも1つの他の子サーバに対応する少なくとも1つの他の子サーバ負荷に基づく。
第3の実施形態では、エネルギー効率が良くかつエラスティックなロードバランシングを提供するためのシステムが提供される。本システムは、ネットワークを介して通信可能につなげられ、仮想負荷分散ツリー内に論理的に配置された複数のサーバと、複数のサーバに通信可能につなげられたサービス要求ハンドラとを含む。サービス要求ハンドラは:1つまたは複数のクライアントによってインスタンス化された複数のサービス要求を受信し、サービス要求に基づいて複数のサービス要求の少なくとも一部に対応する複数のサービス取扱い判断を決定し、サービス取扱い判断の第1のものに基づいて子サーバを選択しかつ第1のサービス取扱い判断に対応する第1のサービス要求に基づいて第1の伝達されたサービス要求を送信し、サービス取扱い判断の第2のものに基づいて親サーバを選択しかつ第2のサービス取扱い判断に対応する第2のサービス要求を取り扱う、ように構成される。
いくつかの実施形態では、仮想負荷分散ツリーは、ルートサーバおよび少なくとも2つのレベルのサーバを含む。
いくつかの実施形態では、仮想負荷分散ツリーは、初期遅延の値および複数のサーバの少なくとも一部に関する省エネルギーポテンシャルに基づく。
いくつかの実施形態では、仮想負荷分散ツリーは、予測したシステム負荷に基づく。
いくつかの実施形態では、1つまたは複数のサーバは、仮想マシーンである。
いくつかの実施形態では、本システムは:複数のサーバに通信可能につなげられたサービス要求マネージャも含む。サービス要求マネージャは、仮想負荷分散ツリーを動的にスケーリングするように構成される。
いくつかの実施形態では、18サービス要求マネージャは:故障したサーバを回復させるようにさらに構成され、複数のサーバが、故障したサーバを含み、故障したサーバの回復が:故障したサーバの役割を引き受けるために選択されるサーバを選択し、複数のサーバが選択されるサーバを含み、故障したサーバの役割を引き受けるために新しいサーバをインスタンス化し、複数のサーバが新しいサーバを含み、1つまたは複数の回復サーバに故障したサーバの負荷を分散させ、複数のサーバが回復サーバを含む、ことのうちの少なくとも1つを含む。
いくつかの実施形態では、本システムは、サービス要求マネージャに通信可能につなげられた共有リソースプールも含む。
いくつかの実施形態では、サービス要求マネージャは、負荷に基づいて共有リソースプールと仮想負荷分散ツリーとの間でサーバを動的に割り当てる。
様々な実施形態が、添付した図面に図示される。
エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャ110の実施形態を含むロードバランシングシステム100の図である。 図1のエネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャ110の実施形態の図である。 図1の中間バックアップ(backup−in−the−middle)フォワーダ120を使用して主バックアップサービスを提供するための方法の実施形態を図示する流れ図である。 図1のサーバ120のうちの1つを使用してサービス要求を取り扱うための方法の実施形態を図示する流れ図である。 図1のサーバ120のうちの1つの一実施形態のブロックを模式的に図示した図である。
理解を容易にするために、同一の参照番号が、実質的に同じもしくは類似の構造および/または実質的に同じもしくは類似の機能を有する要素を明示するために使用されてきている。
様々な実施形態は、エネルギー効率およびスケーラビリティを向上させるために負荷全体に適応し、負荷に伴う電力消費量をスケーリングするロードバランシング構成を提供する方法および装置を提供する。エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャは、ツリー構成として構造化された多層サーバの集合を含む。着信するサービス要求の取扱いは、多数のサーバの間で分散される。仮想負荷分散ツリー内の各サーバは、それ自体の負荷に基づいて着信するサービス要求を受け入れる。一旦、受信側サーバ上で所定のローディングに達すると、受信側サーバは、1つまたは複数のそれ自体の子サーバに着信する要求を渡す。
都合の良いことに、このエラスティックなロードバランシングアーキテクチャは、システムが変動するシステム負荷を補正することを可能にする。第1に、サーバが所定の負荷に達するまで、サーバはそれ自体の子サーバに着信する要求を渡さないので、子サーバは、エネルギー使用量を削減するために低アクティビティの期間の間スリープ状態にされることがある、または共有リソースプールに再割り当てされることがある。第2に、このエラスティックなロードバランシングアーキテクチャは、不十分なサーバ能力に起因するサービスの拒絶インスタンスを減少させるために、高負荷期間の間には共有リソースプールからサーバへとシステムが子サーバを割り当てることを可能にする。第3に、サーバの間で着信するサービス要求の取扱いを分散させることは、高度化され高価なフロントエンドロードバランサの必要性をなくす。
図1は、エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャ110の実施形態を含むロードバランシングシステム100を図示する。エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャ110は、多層サーバ120−a−120−g(包括的に、サーバ120)の集合を含む。サーバ120は、1つまたは複数のクライアント150−a−150−c(包括的に、クライアント150)からサービス要求を受信し、応答する。クライアント150からのサービス要求は、ネットワーク接続130を介してネットワーク140をわたってサーバ120に配信される。
サーバ120は、要求を取り扱うであろうサーバ120へクライアントサービス要求をルーティングするためのインテリジェンスならびにクライアントサーバ要求に応答するためのリソースおよびロジックを含む。サーバ120は、少なくとも1つの親サーバ(例えば、サーバ120−a)および少なくとも1つの子サーバ(例えば、サーバ120−bと120−cはサーバ120−aの子サーバである)を有する仮想負荷分散ツリーに構築される。アーキテクチャは、任意の数のツリーレベルを有することができ、各ツリーレベルにおいてツリーの次数(すなわち、サーバのファンアウト)を変えることができる。ツリーは、アンバランスであってもよい。例えば、いくつかの親サーバは、2つの子サーバを有することができるが、他のものは、2つより多いことも少ないこともある子サーバを有することができ、および/またはツリーのいくつかのブランチは、より多くのまたは少ないツリーレベルを有することができる。
本明細書において規定するように、ルートサーバは、仮想負荷分散ツリーの最上位レベルのところのサーバ(例えば、サーバ120−a)であり、親サーバは、少なくとも1つの子サーバにサービス要求を分配するサーバ(例えば、サーバ120−a、120−bおよび120−c)であり、子サーバは、親サーバからサービス要求を受信するサーバ(例えば、サーバ120−b−120−g)であり、リーフサーバは、いかなる子サーバをも持たないサーバ(例えば、サーバ120−d−120−g)である。
サーバが、親サーバおよび子サーバの両方であり得ることが認識されるはずである。例えば、サーバ120−bは、サーバ120−aに対して子サーバであり、サーバ12−dおよび120−eに対して親サーバである。その上、サーバがリーフサーバおよび子サーバの両方であり得ることが認識されるはずである。
ネットワーク接続130は:ワイアレス通信(例えば、LTE、GSM(登録商標)、CDMA、ブルートゥース)、フェムトセル通信(例えば、WiFi)、パケットネットワーク通信(例えば、IP)、ブロードバンド通信(例えば、DOCSISおよびDSL)、等、などの1つまたは複数の通信チャネルをわたってサービス要求を検索することまたは応答することをサポートすることができる。1つの接続として描かれているが、ネットワーク接続130は、サーバ120とネットワーク140との間の通信をサポートする任意の数の通信チャネルまたは通信チャネルの組合せであってもよいことが認識されるはずである。
ネットワーク140は、サーバ120からクライアント150への通信を容易にするための任意の適切なネットワークであり得る。例えば、ネットワーク140は:(1つまたは複数の)ローカルエリアネットワーク(LAN)、(1つまたは複数の)ワイアレスローカルエリアネットワーク(WLAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、等のいずれかの組合せであってもよい。
クライアント150は、エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャ110に宛てられた(1つまたは複数の)サービス要求を開始する(1つまたは複数の)クライアントマシーンの類型または多数のクライアントマシーンであり得る。例えば、クライアントは:サーバ、携帯電話機、タブレット、コンピュータ、携帯情報端末(PDA)、e−リーダ、ネットワークデバイス(例えば、スイッチまたはルータ)、等、であってもよい。
いくつかの実施形態では、サーバ120は、初期遅延および省エネルギーポテンシャルなどのパラメータにしたがって仮想負荷分散ツリーに配置される。サーバ120の特定の仮想負荷分散ツリー配置の初期遅延および省エネルギーポテンシャルは、仮想負荷分散ツリーの配置および個々のサーバ能力などの多数の要因に基づいて制御されることがある。一般に、多数のサーバ「n」の仮想負荷分散ツリー設計に関して、レベルの数が増加するにつれて、サービス要求をルーティングすることは、複雑でなくなり、エネルギー効率が向上し、初期遅延が大きくなる。例えば、多数のサーバ「n」に関して、1つのルートノードおよび(n−1)個のリーフノードを有する平坦なツリーは、要求中継に起因する最小の遅延を有するが、最も大きな複雑さおよび最悪のエネルギー効率を有する。正反対に、サーバがチェーン(すなわち、各ツリーレベルが1の次数を有する状態の仮想負荷分散ツリー)として構築される場合には、ツリーは、単純でありかつエネルギー効率がよいが、最大の遅延を有する。サーバ120が異なるリソース能力を有する場合には、個々のサーバ能力は、ツリー設計に影響を及ぼすことがある。特に、サーバが取り扱うことができるサービス要求の能力に基づいて、サーバは、仮想負荷分散ツリー内に配置されることがある。
いくつかの実施形態では、仮想負荷分散ツリーは、ルートサーバの下に少なくとも2つのレベルを含む。さらなる実施形態では、仮想負荷分散ツリーのあるレベル内のサーバの次数は、予測した負荷に基づいて設計されることがある。図2を参照すると、予測した負荷の日中の推移の例示的なプロットが示される。分かるように、9:00AMと8:00PMとの間の負荷は、120個までであると予測される一方で、9:00PMと8:00AMとの間の負荷は、30個よりも少ないと予測される。この例では、仮想負荷分散ツリーは、ツリーがルートサーバの下に2つのレベルを有するように配置されてもよい。第1のレベルは、30個よりも少ない負荷を取り扱うように設計されてもよい一方で、第2のレベルは、120個までの負荷を取り扱うように設計されてもよい。これは、仮想負荷分散ツリーの第2のレベル用により高い能力を有する個々のサーバを選択することによっておよび/または仮想負荷分散ツリーの第2のレベル用により高い次数(より多くのサーバ)を使用することによって行われてもよい。
いくつかの実施形態では、サーバ120は、同種であってもよく、別の実施形態では、サーバ120は、異種であってもよい。サーバの複雑さを低く保つことによって、特別なハードウェアが必ずしも必要とされなくてもよいことが認識されるはずである。
いくつかの実施形態では、サーバ120は、コスト効率の良いシステムを作り出すために完全に低コスト商品サーバから構成されることがある。サーバ120へクライアントサービス要求をルーティングするためのインテリジェンスが複数のサーバ120に分散されるので、中央負荷ディストリビュータとして作用する特別のハードウェアボックスについての必要性がないことが認識されるはずである。
いくつかの実施形態では、2つ以上のサーバ120が、LANを介して相互接続されることがある。いくつかの実施形態では、2つ以上のサーバ120が、インターネットなどのWANをわたって接続されることがある。サーバ120の各々が同じ方法でまたは同じタイプの通信チャネルおよび/もしくはプロトコルを介してさえ接続されなければならないことはないことが認識されるはずである。
いくつかの実施形態では、2つ以上のサーバ120は、仮想マシーンであってもよい。さらなる実施形態では、仮想マシーンサーバの一部は、同じ物理ハードウェア上に存在することができる。いくつかの実施形態では、1つまたは複数の仮想マシーンサーバは、異なるハードウェアリソースにわたって分散されたリソースを含むことができる。さらなる実施形態では、これらのハードウェアリソースの少なくとも第1の部分は、これらのハードウェアリソースの少なくとも第2の部分とは異なる地理的な場所に設置されることがある。
いくつかの実施形態では、仮想負荷分散ツリーは、負荷に基づいて仮想負荷分散ツリーの配置を動的に大きくするもしくは縮小する(すなわち、サーバを追加するおよび削除する)ためにならびに/または修正するためにスケーリング可能であってもよい。負荷決定は、仮想負荷分散ツリーのシステムローディングおよび/または負荷分散ツリー内の1つまたは複数のサーバのローディングに基づくことがある。例えば、負荷決定は、親サーバで始まる仮想負荷分散ツリーのブランチに基づく、または仮想負荷分散ツリー内の1つのサーバのローディングに基づくことがある。
さらなる実施形態では、仮想負荷分散ツリーに動的に追加されたおよびこれから削除されたサーバの少なくとも一部は、共有リソースプールに追加されるおよびこれから削除されることがある。共有リソースプールは、多数のアプリケーション/サービスの間で共有されるリソースおよび/またはサーバの集合であってもよい。別々の共有リソースプールマネージャは、従来型のリソース管理方法を使用してリソース/サーバの割り当てを管理することができる。さらなる実施形態では、リソースプールマネージャは、クラウドリソースに関するハイパーバイザ管理要求である。ハイパーバイザは、サーバ120のうちの1つからの要求に応じてリソースの集合(例えば、仮想マシーン)へのアクセスを提供することができる。
いくつかの実施形態では、サーバ120は、エネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャ110サービス要求マネージャ(図示せず)を使用して仮想負荷分散ツリー内に配置される。サービス要求マネージャは、1つもしくは複数のサーバ120(例えば、ルートサーバ120−a)上におよび/またはサーバ120の外部の1つもしくは複数の別々のサーバ上に存在することができる。サービス要求マネージャは、サーバ間の関係を作り出すためにサーバ120へと仮想負荷分散ツリーパラメータを伝達することができる。仮想負荷分散ツリーパラメータは:サーバがいつ要求を取り扱うべきであるかを特定するために役立つパラメータ、サーバがそれ自体の子サーバの1つに要求をいつ送信すべきかを特定するために役立つパラメータ、(例えば、スケーリング可能な仮想負荷分散ツリー内で)新しい子サーバをいつ増やすかを特定するために役立つパラメータ、低エネルギーモードにある子サーバがいつ起動させられるべきかを特定するために役立つパラメータ、等、などの任意の適切なパラメータを含むことができる。
いくつかの実施形態では、サービス要求マネージャは、仮想ダイナミック負荷ツリーを動的に管理する。特に、サービス要求マネージャは、本明細書において説明したように仮想負荷分散ツリーのスケーリングを管理するまたはサーバの故障回復を管理することができる。例えば、サーバ120の1つが故障した場合には、その故障したサーバは、ネットワークから除外されてもよい。さらにその上、もう1つのサーバが、故障したサーバの役割を引き受けるように選ばれる/インスタンス化されることがある、または故障したサーバの負荷が、生き残っているサーバに分配されることがある。このようなアーキテクチャは、リンクおよびノードボトルネックを回避することが可能であり、ネットワーク欠陥からの回復が早いことがあることが認識されるはずである。サービス要求マネージャが従来型のネットワーク(例えば、ネットワーク360)をわたってサーバ120と通信することができることも認識されるはずである。
図4は、サーバ120の1つを使用してサービス要求を取り扱うための方法の実施形態を図示する流れ図を描く。図1を参照すると、サーバは、親サーバからまたは直接クライアント150の1つからのいずれかでサービス要求を受信する(例えば、方法400のステップ410)。子が要求を取り扱うべきであると受信側サーバが決定する場合には(例えば、方法400のステップ420)、受信側サーバは、要求を取り扱う子を選択し(例えば、方法400のステップ430)、選択した子へ要求を送信し(例えば、方法400のステップ440)、そして任意選択で、将来の要求を容易にするために要求を登録する(例えば、方法400のステップ450)。受信側サーバがそれ自身で要求を取り扱うべきであると決定する場合には(例えば、方法400のステップ420)、受信側サーバは、要求を取り扱い(例えば、方法400のステップ460)、任意選択で、将来の要求を容易にするために要求を登録し(例えば、方法400のステップ470)、そして次に、任意選択で、将来のサービス要求を子サーバが取り扱うように準備するために子サーバを起動させるかどうかを決定する(方法400のステップ480および490)。
方法400において、ステップ410は、親サーバからまたは直接クライアント150の1つからのいずれかでサービス要求を受信する受信側サーバを含む。図1を参照すると、クライアント150の1つからのサービス要求は、最初にルートサーバによって受信される。ルートサーバは、次に伝達決定に基づいて仮想負荷分散ツリーを介してサービス要求を伝達する。ルートサーバおよび伝達されたサービス要求を受信する仮想負荷分散ツリー内の各親サーバは、同じく振る舞うことが認識されるはずである。
方法400において、ステップ420は、受信側サーバが子サーバにサービス要求を伝達すべきかまたはそれ自体でサービス要求を取り扱うべきかどうかを決定するステップを含む。
方法400において、ステップ430は、サービス要求を取り扱う子サーバを選択するステップを含む。子サーバは、従来型の分配ポリシを使用して選択される、前もって登録した選択に基づいて選択される、および/または子サーバの能力にサービス要求の必要条件をマッピングすることに基づいて選択されることがある。
方法400において、ステップ440は、選択した子サーバに要求を送信するステップを含む。選択した子サーバに伝達される要求は、受信した要求と同一であってもよいしまたは受信側サーバによって修正されてもよいことが認識されるはずである。
方法400は、任意選択で、ステップ450を含む。ステップ450は、将来の要求を容易にするために要求を登録するステップを含む。特に、複数の連続するパケットを含有するサービス要求に関して、選択したサーバのパケットの流れが、登録されてもよい。いくつかのタイプのサービス要求に関して、特定のサーバが、同じサービス要求に属するパケットのすべてを取り扱うことが好まれるまたは要求されることがあることが認識されるはずである。
方法400において、ステップ460は、サービス要求を取り扱うステップを含む。例えば、従来型のネットワークロードバランシングは、ウェブなどのTCP/IPに基づくサービス要求、端末サービス、仮想プライベートネットワーキング、およびストリーミングメディアサーバを分散させることができる。
方法400は、任意選択で、ステップ470を含む。ステップ470は、ステップ450において上に説明したように将来の要求を容易にするために要求を登録するステップを含む。
方法400は、任意選択で、ステップ480および490を含む。ステップ480および490は、将来のサービス要求を子サーバが取り扱うように準備するために子サーバを起動させるかどうかを決定するステップを含む。サーバは、エネルギー消費をゼロにするために電源オフ状態またはある別の深いスリープモードにとどまる必要があることが認識されるはずである。「ウェイクオンLAN(wake−on−LAN)」などの従来型の技術は、サービス要求が選択したサーバに送信されるときに(例えば、ステップ440)子サーバを起動させるために使用されることがある:しかしながら、サーバを起動させることは、多くの場合にある程度の延長期間がかかり、この移行期間中に、サービス要求が配信可能でないことがある。それはそうとして、親サーバは、1つまたは複数の子サーバを先行して起動させるためにステップ480を含むことができる。特に、サーバは、親サーバの負荷および/または将来の負荷の過去の事実に基づく予測(例えば、図2および付帯する説明)に基づいて子サーバを先行して起動させることを決定することができる。都合の良いことに、1つまたは複数の子サーバを先行して起動させることは、親サーバがオーバーフロー状態を回避することを助けることができる。
方法400のいくつかの実施形態では、ステップ420は、受信側サーバが、それ自体の能力に達することおよびさらなる要求を今後取り扱うことができないことを決定するステップを含む。別の実施形態では、ステップ420は、受信側サーバがある所定の負荷または負荷の割合に達したことを決定するステップを含む。
方法400のいくつかの実施形態では、ステップ430は:ランダム、ラウンドロビン、または負荷に基づく分配、などの分配ポリシを使用するステップを含む。方法400のいくつかの実施形態では、ステップ430は、サーバが低エネルギー状態にとどまるようなより多くの機会を作り出すために、パフォーマンス制約を満足させることができる負荷が最も高い子を選択するステップを含む。方法400のいくつかの実施形態では、ステップ430は、各子の負荷能力に比例して子サーバを選択するステップを含む。
方法400のいくつかの実施形態では、ステップ430は、子サーバの能力のマッピングおよびサービス要求の必要条件に基づいて子サーバを選択するステップを含む。例えば、親サーバの第1の子サーバは、第2の子サーバよりももっと効率的にストリーミングメディア要求を取り扱うように構成されることがある。
方法400のいくつかの実施形態では、ステップ430は、サービス要求をインスタンス化するクライアント(例えば、図1のクライアント150)に基づいて子サーバを選択するステップを含む。例えば、いくつかの構成では、1つまたは複数のサーバ(例えば、図1のサーバ120)は、1つまたは複数のクライアントに専用であってもよい。
方法400のいくつかの実施形態では、ステップ450および/または470は、引き続くパケットが選択したサーバに直接配信されてもよいようにルートサーバとともにパケットの流れを登録するステップを含む。都合の良いことに、パケットの流れを登録することによって、遅延および選択エラーが低くされることがある。
方法400のいくつかの応答実施形態では、ステップ460は、要求側クライアント(例えば、図1のクライアント150−a)に直接返信するステップを含む。
これらの応答実施形態の第1の実施形態では、宛先アドレスは、応答では修正される。都合の良いことに、宛先アドレスを応答側サーバのアドレスに修正することによって、要求側クライアントは、仮想負荷分散ツリーパスにしたがわずに応答側サーバに直接将来のパケットを宛てることが可能である。
これらの応答実施形態の第2の実施形態では、サービス要求の宛先アドレスは、要求側クライアントへの応答では修正されない。都合の良いことに、未修正の宛先アドレスを用いて応答することによって、将来のサービス要求は、依然としてルートサーバに宛てられるであろう。さらなる実施形態では、サーバ120は各々、固有のプライマリアドレスおよび仮想負荷分散ツリー内のサーバ120の間で共有されるセカンダリ仮想アドレスを保有する。
方法400のいくつかの実施形態では、本方法は、親サーバをスリープモードに変えるように決定するステップをさらに含むことができる。さらなる実施形態では、親サーバは、それ自体のローディングおよびそのサーバの親のローディングに基づいてスリープモードに入るように決定することができる。特に、サーバがスケジュールされたジョブ(例えば、サービス要求タスク)を持たず、そのサーバの親サーバがしきい値レベルよりも低い負荷を有するときには、サーバは、エネルギー効率の良いスリープモードに入る。親サーバおよび子サーバは、従来型のネットワーク(例えば、図3のネットワーク360)をわたって従来型の通信プロトコルおよび接続を介してローディングパラメータを通信することができることが認識されるはずである。
ステップ450および490の後で、方法400は、ステップ410に戻って、サービス要求を受信するステップおよび処理するステップのプロセスを繰り返す。
特定のシーケンスで主に描き、説明したが、方法400に示したステップは、任意の適切なシーケンスで実行されてもよいことが認識されるはずである。その上、1つのボックスによって特定したステップは、シーケンス内の1つよりも多くの場所でも実行されてもよい。
例えば、任意選択のステップ480および490は、プロセス内の任意の場所で実行されてもよい。その上、これらは、サービス要求が受信される前にプロセスの外部で実行されることさえある。
図1のエネルギー効率の良い分散型でエラスティックなロードバランシングアーキテクチャ110のいくつかの実施形態では、サーバ120のうちの1つまたは複数は、方法400のステップを実行するサービス要求ハンドラを含む。さらなる実施形態では、サーバ120の各々は、サービス要求ハンドラを含む。サービス要求ハンドラは、サーバ120のうちの1つもしくは複数(例えば、サーバ120の各々)におよび/またはサーバ120の外部の1つもしくは複数の別々のサーバに存在することができることが認識されるはずである。
様々な上記の方法のステップがプログラムされたコンピュータによって実行され得ることが認識されるはずである。ここでは、いくつかの実施形態はまた、機械またはコンピュータ可読であり、命令の機械実行可能なプログラムまたはコンピュータ実行可能なプログラムをエンコードするプログラムストレージデバイス、例えば、データストレージ媒体をカバーするものとし、ここでは、前記命令は、前記上記の方法の一部またはすべてのステップを実行する。プログラムストレージデバイスは、例えば、ディジタルメモリ、磁気ディスクおよび磁気テープなどの磁気ストレージ媒体、ハードドライブ、または光学式可読データストレージ媒体であってもよい。実施形態はまた、上記の方法の前記ステップを実行するようにプログラムされたコンピュータをカバーするものとする。
図5は、図1のサーバ120のうちの1つの一実施形態を模式的に図示する。サーバ120は、例えば、方法400使用して本明細書において説明した機能を実行することができる。サーバ120は、プロセッサ510、データストレージ511、およびI/Oインターフェース530を含む。
プロセッサ510は、サーバ120の動作を制御する。プロセッサ510は、データストレージ511と協働する。
データストレージ511は、ローディングパラメータを格納することができ(例えば、図4のステップ420、430、450、470および480)、受信したサービス要求および送信したサービス要求ならびにサーバ間通信をバッファすることができる(例えば、図4のステップ410、440、450、460および470)。データストレージ511は、プロセッサ510によって実行可能プログラム520も格納する。
プロセッサ実行可能プログラム510は、I/Oインターフェースプログラム521、サービス要求ハンドラプログラム523および/またはサービス要求マネージャプログラム525を含むことができる。プロセッサ510は、プロセッサ実行可能プログラム520と協働して、図1−図4に記述した機能を実装するおよび/または方法400のステップを実行する。
I/Oインターフェース530は、任意の適切な数の(1つまたは複数の)セッション(例えば、任意の適切な数のIPフロー)をサポートする任意の適切な数のチャネルをサポートするために構成され、セッションは、特定のサーバ120と、1つまたは複数のクライアント(例えば、図1のクライアント150−a−150−c)およびサーバのうちの1つまたは複数(例えば、図1のサーバ120)との間に向けられることがある。I/Oインターフェース530は、任意の適切な(1つまたは複数の)タイプの通信パスおよび通信プロトコルをサポートすることができる。例えば、通信パスは、ワイアレス通信(例えば、GSMおよびCDMA)、有線通信、パケットネットワーク通信(例えば、IP)、ブロードバンド通信(例えば、DSL)、等、ならびにこれらの様々な組合せを含むことができる。
いくつかの実施形態では、サーバ120は、特別に設計されたネットワークインターフェースカード(NIC)である。さらなる実施形態では、NICは、サービス要求取扱いを提供する。都合の良いことに、NICが着信するサービス要求を取り扱うので、サーバホストは、それ自体のコア機能に集中することが可能であり、サービスを提供するためにそれ自体のリソースを専用にすることが可能である。サーバホストがNICへ負荷の指示および他の適切なパラメータを提供することができることが認識されるはずである。
いくつかの実施形態では、ホストサーバは、ホストがビジーであり、これ以上新しい要求を受け入れられないことを指示するためにNIC上にビジービット(busy bit)を設定することができる。この実施形態では、NICは、仮想負荷分散ツリーに基づいて、新しいサービス要求を適切なサーバに自動的に転送することができる。都合の良いことに、このNICハードウェア加速は、サービス遅延をさらに減少させることができる。
プロセッサ実行可能プログラム520がプロセッサ510上に実装されると、プログラムコードセグメントは、特定の論理回路と類似したように動作する固有のデバイスを提供するためにプロセッサと組み合わさる。
プログラムおよび論理がデータストレージ内に格納され、メモリがプロセッサに通信可能に接続される実施形態に関して本明細書において描き、説明したが、このような情報が、任意の適切な配置のデバイスに通信可能につなげられた任意の適切な配置のメモリ、ストレージもしくはデータベースを使用して、(1つもしくは複数の)メモリ、(1つもしくは複数の)ストレージおよび/もしくは(1つもしくは複数の)内部もしくは外部データベースの任意の適切な組合せ内に情報を格納して、または任意の適切な数のアクセス可能な外部メモリ、ストレージもしくはデータベースを使用して、任意の他の適切な方式で(例えば、任意の適切な数のメモリ、ストレージもしくはデータベースを使用して)格納されてもよいことが認識されるはずである。それはそうとして、本明細書において呼ばれるデータストレージという用語は、(1つまたは複数の)メモリ、(1つまたは複数の)ストレージ、および(1つまたは複数の)データベースのすべての適切な組合せを含むことを意味する。
説明および図面は、単に本発明の原理を図示する。本明細書において明示的に記述されていないまたは示されていないが、本発明の原理を具体化し、かつ本発明の精神および範囲内に含まれる様々な配置を、当業者なら考案できるであろうことが、したがって認識されるであろう。さらにその上、本明細書において引用したすべての例は、本技術を推し進めるために(1人または複数の)発明者によって提案された本発明の原理および概念を理解する際に読者を助けるために、明確に教育的な目的のためだけであるように原理的に意図され、このような具体的に引用した例および条件に限定されないとして解釈されるべきである。その上、本発明の原理、態様および実施形態ならびにこれらの具体的な例を説明する本明細書中のすべての記述は、これらの等価物を含むものとする。
「プロセッサ」として名付けた任意の機能ブロックを含む図に示した様々な要素の機能は、専用のハードウェアならびに適切なソフトウェアと協働してソフトウェアを実行することが可能なハードウェアの使用を通して提供されてもよい。プロセッサによって与えられるときには、機能は、1つの専用プロセッサによって、1つの共有プロセッサによって、またはプロセッサのいくつかが共有されてもよい複数の個別のプロセッサによって与えられてもよい。その上、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することが可能なハードウェアを限定的に呼ぶように解釈されるべきではなく、限定ではなく、ディジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するための読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性ストレージを暗に含むことができる。他のハードウェア、従来型および/またはカスタムも、含まれてもよい。同様に、図に示したいずれかのスイッチは、単に概念的なものである。これらの機能は、プログラムロジックの動作を介して、専用ロジックを介して、プログラム制御および専用ロジックの相互作用を介して、または手作業さえで実行されることがあり、特定の技術が、コンテキストからより具体的に理解されるように実施者によって選択可能である。
本明細書内のいずれかのブロック図は、本発明の原理を具体化する例示的な回路の概念的な図を表すことが認識されるはずである。同様に、いずれかのフローチャート、フローダイアグラム、状態遷移図、疑似コード、等が、コンピュータ可読媒体内に実質的に表現されることがあり、コンピュータまたはプロセッサが明示的に示されているか否かに拘わらず、コンピュータまたはプロセッサによってそのように実行されることがあり得る様々なプロセッサを表すことが認識されるはずである。

Claims (15)

  1. 親サーバにおいてエネルギー効率が良くかつエラスティックなロードバランシングを提供するための方法であって、
    データストレージに通信可能につなげられたプロセッサにおいて、1つまたは複数のクライアントによってインスタンス化された複数のサービス要求を受信するステップと、
    データストレージと協働するプロセッサによって、サービス要求に基づいて、複数のサービス要求の少なくとも一部に対応する複数のサービス取扱い判断を決定するステップと、
    データストレージと協働するプロセッサによって、サービス取扱い判断のうち第1の判断に基づいて子サーバを選択し、第1のサービス取扱い判断に対応する第1のサービス要求に基づいて第1の伝達されたサービス要求を送信するステップと、
    データストレージと協働するプロセッサによって、サービス取扱い判断のうち第2の判断に基づいて親サーバを選択し、第2のサービス取扱い判断に対応する第2のサービス要求を取り扱うステップと
    を含む、方法。
  2. 第2のサービス要求を取り扱うステップの行為が、第2のサービス要求のインスタンス化側クライアントに直接応答するステップを含む、請求項1に記載の方法。
  3. データストレージと協働するプロセッサによって、複数のサービス要求のうちの少なくとも1つに基づいて、親サーバのローディングを示す親負荷を決定するステップと、
    データストレージと協働するプロセッサによって、親負荷およびサーバ負荷しきい値に基づいて親サーバの少なくとも1つの子サーバを起動させるステップと
    をさらに含む、請求項1に記載の方法。
  4. データストレージと協働するプロセッサによって、複数のサービス要求のうちの少なくとも1つに基づいて、親サーバのローディングを示す親負荷を決定するステップと、
    データストレージと協働するプロセッサによって、親サーバの親である親−親サーバのローディングを示す親−親負荷を受信するステップと、
    データストレージと協働するプロセッサによって、親負荷、親−親負荷および親−親負荷しきい値に基づいて親サーバの動作をスリープモードに切り換えるステップと
    をさらに含む、請求項1に記載の方法。
  5. データストレージと協働するプロセッサによって、子サーバおよび第1のサービス要求に基づく少なくとも1つの関係する選択パラメータを登録するステップと、
    データストレージと協働するプロセッサによって、複数のサービス要求のうちの第3のサービス要求および少なくとも1つの登録した関係する選択パラメータに基づいて子サーバを選択するステップと、
    第3のサービス要求に基づいて第3の伝達されたサービス要求を送信するステップと
    をさらに含む、請求項1に記載の方法。
  6. データストレージと、
    データストレージに通信可能につなげられたプロセッサであって、
    1つまたは複数のクライアントによってインスタンス化された複数のサービス要求を受信し、
    サービス要求に基づいて、複数のサービス要求の少なくとも一部に対応する複数のサービス取扱い判断を決定し、
    サービス取扱い判断のうち第1の判断に基づいて子サーバを選択し、第1のサービス取扱い判断に対応する第1のサービス要求に基づいて第1の伝達されたサービス要求を送信し、
    サービス取扱い判断のうち第2の判断に基づいて親サーバを選択し、第2のサービス取扱い判断に対応する第2のサービス要求を取り扱う、
    ように構成された、プロセッサと
    を備えた、エネルギー効率が良くかつエラスティックなロードバランシング装置。
  7. プロセッサが、
    複数のサービス要求のうちの少なくとも1つに基づいて親サーバのローディングを示す親負荷を決定し、
    親サーバの親である親−親サーバのローディングを示す親−親負荷を受信し、
    親負荷、親−親負荷および親−親負荷しきい値に基づいて親サーバの動作をスリープモードに切り換える、
    ようにさらに構成される、請求項6に記載の装置。
  8. プロセッサが、
    子サーバおよび第1のサービス要求に基づく少なくとも1つの関係する選択パラメータを登録し、
    複数のサービス要求のうちの第3のサービス要求および少なくとも1つの登録した関係する選択パラメータに基づいて子サーバを選択し、
    第3のサービス要求に基づいて第3の伝達されたサービス要求を送信する、
    ようにさらに構成される、請求項6に記載の装置。
  9. 子サーバの選択が、子サーバの子サーバ負荷の割合および親サーバの少なくとも1つの他の子サーバに対応する少なくとも1つの他の子サーバ負荷に基づく、請求項6に記載の装置。
  10. エネルギー効率が良くかつエラスティックなロードバランシングを提供するためのシステムであって、
    ネットワークを介して通信可能につなげられ、仮想負荷分散ツリー内に論理的に配置された複数のサーバと、
    複数のサーバに通信可能につなげられたサービス要求ハンドラであり、
    1つまたは複数のクライアントによってインスタンス化された複数のサービス要求を受信し、
    サービス要求に基づいて、複数のサービス要求の少なくとも一部に対応する複数のサービス取扱い判断を決定し、
    サービス取扱い判断のうち第1の判断に基づいて子サーバを選択し、第1のサービス取扱い判断に対応する第1のサービス要求に基づいて第1の伝達されたサービス要求を送信し、
    サービス取扱い判断のうち第2の判断に基づいて親サーバを選択し、第2のサービス取扱い判断に対応する第2のサービス要求を取り扱う、
    ように構成された、サービス要求ハンドラと
    を備えた、システム。
  11. 仮想負荷分散ツリーが、ルートサーバおよび少なくとも2つのレベルのサーバを含む、請求項10に記載のシステム。
  12. 仮想負荷分散ツリーが、初期遅延の値および複数のサーバの少なくとも一部に関する省エネルギーポテンシャルに基づく、請求項11に記載のシステム。
  13. 仮想負荷分散ツリーが、予測したシステム負荷に基づく、請求項11に記載のシステム。
  14. 複数のサーバに通信可能につなげられたサービス要求マネージャであって、
    仮想負荷分散ツリーを動的にスケーリングする、
    ように構成される、サービス要求マネージャ
    をさらに備える、請求項11に記載のシステム。
  15. サービス要求マネージャが、
    故障したサーバを回復させるようにさらに構成され、
    複数のサーバが、故障したサーバを含み、
    故障したサーバの回復が、
    故障したサーバの役割を引き受けるために選択されるサーバを選択し、複数のサーバが選択されるサーバを含み、
    故障したサーバの役割を引き受けるために新しいサーバをインスタンス化し、複数のサーバが新しいサーバを含み、
    より多くの回復サーバのうちの一つに故障したサーバの負荷を分散させ、複数のサーバが回復サーバを含む、
    ことのうちの少なくとも1つを含む、請求項14に記載のシステム。
JP2014549058A 2011-12-22 2012-11-19 エネルギー効率の良い分散型でエラスティックなロードバランシングのための方法および装置 Expired - Fee Related JP5978313B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/334,141 2011-12-22
US13/334,141 US9223630B2 (en) 2011-12-22 2011-12-22 Method and apparatus for energy efficient distributed and elastic load balancing
PCT/US2012/065753 WO2013095833A1 (en) 2011-12-22 2012-11-19 Method and apparatus for energy efficient distributed and elastic load balancing

Publications (2)

Publication Number Publication Date
JP2015503781A true JP2015503781A (ja) 2015-02-02
JP5978313B2 JP5978313B2 (ja) 2016-08-24

Family

ID=47291256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014549058A Expired - Fee Related JP5978313B2 (ja) 2011-12-22 2012-11-19 エネルギー効率の良い分散型でエラスティックなロードバランシングのための方法および装置

Country Status (6)

Country Link
US (1) US9223630B2 (ja)
EP (1) EP2795468A1 (ja)
JP (1) JP5978313B2 (ja)
KR (1) KR20140093733A (ja)
CN (1) CN104011686A (ja)
WO (1) WO2013095833A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223630B2 (en) 2011-12-22 2015-12-29 Alcatel Lucent Method and apparatus for energy efficient distributed and elastic load balancing
US9319274B1 (en) * 2012-03-29 2016-04-19 Emc Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
US20140040479A1 (en) * 2012-07-20 2014-02-06 Paul Steven Dunn Method for a self organizing load balance in a cloud file server network
WO2014024620A1 (ja) * 2012-08-06 2014-02-13 日本電気株式会社 負荷制御システム、負荷制御サーバ、情報処理システム、負荷制御方法および記録媒体
US20140331078A1 (en) * 2013-01-24 2014-11-06 Uri Cohen Elastic Space-Based Architecture application system for a cloud computing environment
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9971397B2 (en) 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
KR101595948B1 (ko) 2014-12-11 2016-02-29 충북대학교 산학협력단 부하 임계치 조정을 통한 p2p 네트워크의 부하 분산 처리 방법 및 이를 구현하는 디바이스
CN104714759B (zh) * 2015-02-15 2018-05-01 四川长虹电器股份有限公司 一种信息存储的方法和负载均衡服务器组
CN105262990A (zh) * 2015-10-10 2016-01-20 浪潮电子信息产业股份有限公司 一种基于云计算的幼儿园视频实时监控系统
US10085214B2 (en) * 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US20170230457A1 (en) * 2016-02-05 2017-08-10 Microsoft Technology Licensing, Llc Idempotent Server Cluster
US20170318121A1 (en) * 2016-04-29 2017-11-02 Hewlett Packard Enterprise Server request handlers
US11436058B2 (en) * 2016-11-17 2022-09-06 International Business Machines Corporation Workload balancing to achieve a global workload balance
US11054887B2 (en) * 2017-12-28 2021-07-06 Advanced Micro Devices, Inc. System-wide low power management
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
CN108848479A (zh) * 2018-07-19 2018-11-20 北京车联天下信息技术有限公司 车联网服务负载均衡方法、装置及设备
US10599464B1 (en) * 2019-01-22 2020-03-24 Capital One Services, Llc Methods, mediums, and systems for provisioning application services
CN114546095B (zh) * 2022-04-25 2022-07-01 沐曦科技(北京)有限公司 基于多运算设备的master选择方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168790A (ja) * 1993-12-15 1995-07-04 Oki Electric Ind Co Ltd 情報処理装置
JP2003030078A (ja) * 2001-07-12 2003-01-31 Mega Chips Corp 情報配信システム、情報配信方法およびプログラム
JP2011118525A (ja) * 2009-12-01 2011-06-16 Hitachi Ltd サーバ管理装置とサーバ管理方法およびサーバ管理プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249179B1 (en) 2000-11-09 2007-07-24 Hewlett-Packard Development Company, L.P. System for automatically activating reserve hardware component based on hierarchical resource deployment scheme or rate of resource consumption
US20050022202A1 (en) 2003-07-09 2005-01-27 Sun Microsystems, Inc. Request failover mechanism for a load balancing system
US7779415B2 (en) * 2003-11-21 2010-08-17 International Business Machines Corporation Adaptive load distribution in managing dynamic and transient data for distributed applications
US20080140989A1 (en) 2006-08-13 2008-06-12 Dragos Dudau Multiprocessor Architecture With Hierarchical Processor Organization
US8429431B2 (en) * 2008-03-07 2013-04-23 Raritan Americas, Inc. Methods of achieving cognizant power management
JP4768082B2 (ja) * 2008-10-30 2011-09-07 株式会社日立製作所 情報処理システムの運用管理装置
US9965333B2 (en) * 2009-04-13 2018-05-08 International Business Machines Corporation Automated workload selection
US8479215B2 (en) * 2009-08-18 2013-07-02 International Business Machines Corporation Decentralized load distribution to reduce power and/or cooling costs in an event-driven system
US8479216B2 (en) * 2009-08-18 2013-07-02 International Business Machines Corporation Method for decentralized load distribution in an event-driven system using localized migration between physically connected nodes and load exchange protocol preventing simultaneous migration of plurality of tasks to or from a same node
WO2011107163A1 (en) 2010-03-05 2011-09-09 Telefonaktiebolaget L M Ericsson (Publ) A processing system with processing load control
US8239863B2 (en) * 2010-06-29 2012-08-07 Hewlett-Packard Development Company, L.P. Method and system for migrating a virtual machine
US8966457B2 (en) * 2011-11-15 2015-02-24 Global Supercomputing Corporation Method and system for converting a single-threaded software program into an application-specific supercomputer
US9223630B2 (en) 2011-12-22 2015-12-29 Alcatel Lucent Method and apparatus for energy efficient distributed and elastic load balancing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168790A (ja) * 1993-12-15 1995-07-04 Oki Electric Ind Co Ltd 情報処理装置
JP2003030078A (ja) * 2001-07-12 2003-01-31 Mega Chips Corp 情報配信システム、情報配信方法およびプログラム
JP2011118525A (ja) * 2009-12-01 2011-06-16 Hitachi Ltd サーバ管理装置とサーバ管理方法およびサーバ管理プログラム

Also Published As

Publication number Publication date
WO2013095833A1 (en) 2013-06-27
CN104011686A (zh) 2014-08-27
EP2795468A1 (en) 2014-10-29
US9223630B2 (en) 2015-12-29
US20130166943A1 (en) 2013-06-27
KR20140093733A (ko) 2014-07-28
JP5978313B2 (ja) 2016-08-24

Similar Documents

Publication Publication Date Title
JP5978313B2 (ja) エネルギー効率の良い分散型でエラスティックなロードバランシングのための方法および装置
US20200366562A1 (en) Method and system of connecting to a multipath hub in a cluster
US10917351B2 (en) Reliable load-balancer using segment routing and real-time application monitoring
US11553037B2 (en) Systems and methods for providing load balancing as a service
US8873375B2 (en) Method and system for fault tolerance and resilience for virtualized machines in a network
US20180349196A1 (en) Implementing a Service Using Plural Acceleration Components
Semmoud et al. Load balancing in cloud computing environments based on adaptive starvation threshold
JP4916881B2 (ja) オートノミック・フェイルオーバのための方法、装置、およびプログラム
Gilly et al. An up-to-date survey in web load balancing
US20170070425A1 (en) Systems and methods for dynamic routing on a shared ip address
EP3283953B1 (en) Providing services in a system having a hardware acceleration plane and a software plane
US20150006630A1 (en) Decentralized request routing
US9942153B2 (en) Multiple persistant load balancer system
US20170085622A1 (en) Ftp load balancing support for cluster
WO2007073429A2 (en) Distributed and replicated sessions on computing grids
JP2015504224A (ja) ネットワークおよびストレージアウェア仮想マシン配置のための方法および装置
US20190020559A1 (en) Distributed health check in virtualized computing environments
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
US10862805B1 (en) Intelligent offloading of services for a network device
WO2021120633A1 (zh) 一种负载均衡方法及相关设备
EP3544228B1 (en) Selective modification of power states based on conditions
CN112839081A (zh) 一种云集群的负载均衡方法
Breitgand et al. On cost-aware monitoring for self-adaptive load sharing
Ivanisenko Methods and Algorithms of load balancing
Toosi et al. Acinonyx: Dynamic flow scheduling for virtual machine migration in SDN-enabled clouds

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5978313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees